summaryrefslogtreecommitdiffstats
path: root/src/frontend/mame/ui/selsoft.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/frontend/mame/ui/selsoft.cpp')
0 files changed, 0 insertions, 0 deletions
value='reload'/>
author andreasnaive <andreasnaive@gmail.com>2019-03-25 23:13:40 +0100
committer andreasnaive <andreasnaive@gmail.com>2019-03-25 23:13:40 +0100
commitb380514764cf857469bae61c11143a19f79a74c5 (patch)
tree63c8012e262618f08a332da31dd714281aa2c5ed
parentc24473ddff715ecec2e258a6eb38960cf8c8e98e (diff)
Revert "conflict resolution (nw)"
This reverts commit c24473ddff715ecec2e258a6eb38960cf8c8e98e, reversing changes made to 009cba4fb8102102168ef32870892438327f3705.
Diffstat
-rw-r--r--3rdparty/asio/include/asio/detail/config.hpp7
-rw-r--r--3rdparty/genie/src/_manifest.lua1
-rw-r--r--3rdparty/genie/src/actions/vstudio/_vstudio.lua1
-rw-r--r--3rdparty/genie/src/actions/vstudio/vsllvm.lua64
-rw-r--r--3rdparty/genie/src/actions/vstudio/vstudio_solution.lua2
-rw-r--r--3rdparty/genie/src/actions/vstudio/vstudio_vcxproj.lua24
-rw-r--r--3rdparty/genie/src/host/scripts.c97
-rw-r--r--3rdparty/linenoise/linenoise.c2
-rw-r--r--3rdparty/lua-linenoise/linenoise.c14
-rw-r--r--3rdparty/lua/src/lundump.c2
-rw-r--r--3rdparty/lzma/C/AesOpt.c2
-rw-r--r--3rdparty/portaudio/src/hostapi/dsound/pa_win_ds.c2
-rw-r--r--3rdparty/portaudio/src/hostapi/wdmks/pa_win_wdmks.c4
-rw-r--r--3rdparty/portaudio/src/hostapi/wmme/pa_win_wmme.c2
-rw-r--r--3rdparty/softfloat3/build/MAME/platform.h2
-rw-r--r--LICENSE.md2
-rw-r--r--README.md2
-rw-r--r--android-project/LICENSE2
-rw-r--r--android-project/app/src/main/AndroidManifest.xml4
-rw-r--r--benchmarks/LICENSE2
-rw-r--r--bgfx/shaders/essl/chains/hlsl/fs_chroma.binbin1697 -> 1693 bytes
-rw-r--r--bgfx/shaders/essl/chains/hlsl/fs_color.binbin953 -> 949 bytes
-rw-r--r--bgfx/shaders/essl/chains/hlsl/fs_deconverge.binbin489 -> 485 bytes
-rw-r--r--bgfx/shaders/essl/chains/hlsl/fs_defocus.binbin1139 -> 1135 bytes
-rw-r--r--bgfx/shaders/essl/chains/hlsl/fs_distortion.binbin5943 -> 5939 bytes
-rw-r--r--bgfx/shaders/essl/chains/hlsl/fs_ntsc_decode.binbin6488 -> 6484 bytes
-rw-r--r--bgfx/shaders/essl/chains/hlsl/fs_ntsc_encode.binbin2829 -> 2825 bytes
-rw-r--r--bgfx/shaders/essl/chains/hlsl/fs_phosphor.binbin655 -> 651 bytes
-rw-r--r--bgfx/shaders/essl/chains/hlsl/fs_post.binbin3991 -> 3987 bytes
-rw-r--r--bgfx/shaders/essl/chains/hlsl/fs_prescale.binbin242 -> 238 bytes
-rw-r--r--bgfx/shaders/essl/chains/hlsl/fs_scanline.binbin3098 -> 3094 bytes
-rw-r--r--bgfx/shaders/essl/chains/hlsl/vs_chroma.binbin423 -> 419 bytes
-rw-r--r--bgfx/shaders/essl/chains/hlsl/vs_color.binbin423 -> 419 bytes
-rw-r--r--bgfx/shaders/essl/chains/hlsl/vs_deconverge.binbin1474 -> 1470 bytes
-rw-r--r--bgfx/shaders/essl/chains/hlsl/vs_defocus.binbin423 -> 419 bytes
-rw-r--r--bgfx/shaders/essl/chains/hlsl/vs_distortion.binbin423 -> 419 bytes
-rw-r--r--bgfx/shaders/essl/chains/hlsl/vs_ntsc_decode.binbin423 -> 419 bytes
-rw-r--r--bgfx/shaders/essl/chains/hlsl/vs_ntsc_encode.binbin423 -> 419 bytes
-rw-r--r--bgfx/shaders/essl/chains/hlsl/vs_phosphor.binbin423 -> 419 bytes
-rw-r--r--bgfx/shaders/essl/chains/hlsl/vs_post.binbin423 -> 419 bytes
-rw-r--r--bgfx/shaders/essl/chains/hlsl/vs_prescale.binbin423 -> 419 bytes
-rw-r--r--bgfx/shaders/essl/chains/hlsl/vs_scanline.binbin423 -> 419 bytes
-rw-r--r--bgfx/shaders/glsl/chains/hlsl/fs_chroma.binbin1616 -> 1612 bytes
-rw-r--r--bgfx/shaders/glsl/chains/hlsl/fs_color.binbin886 -> 882 bytes
-rw-r--r--bgfx/shaders/glsl/chains/hlsl/fs_deconverge.binbin454 -> 450 bytes
-rw-r--r--bgfx/shaders/glsl/chains/hlsl/fs_defocus.binbin1100 -> 1096 bytes
-rw-r--r--bgfx/shaders/glsl/chains/hlsl/fs_distortion.binbin5651 -> 5647 bytes
-rw-r--r--bgfx/shaders/glsl/chains/hlsl/fs_ntsc_decode.binbin6100 -> 6096 bytes
-rw-r--r--bgfx/shaders/glsl/chains/hlsl/fs_ntsc_encode.binbin2680 -> 2676 bytes
-rw-r--r--bgfx/shaders/glsl/chains/hlsl/fs_phosphor.binbin617 -> 613 bytes
-rw-r--r--bgfx/shaders/glsl/chains/hlsl/fs_post.binbin3796 -> 3792 bytes
-rw-r--r--bgfx/shaders/glsl/chains/hlsl/fs_prescale.binbin185 -> 181 bytes
-rw-r--r--bgfx/shaders/glsl/chains/hlsl/fs_scanline.binbin2940 -> 2936 bytes
-rw-r--r--bgfx/shaders/glsl/chains/hlsl/vs_chroma.binbin381 -> 377 bytes
-rw-r--r--bgfx/shaders/glsl/chains/hlsl/vs_color.binbin381 -> 377 bytes
-rw-r--r--bgfx/shaders/glsl/chains/hlsl/vs_deconverge.binbin1360 -> 1356 bytes
-rw-r--r--bgfx/shaders/glsl/chains/hlsl/vs_defocus.binbin381 -> 377 bytes
-rw-r--r--bgfx/shaders/glsl/chains/hlsl/vs_distortion.binbin381 -> 377 bytes
-rw-r--r--bgfx/shaders/glsl/chains/hlsl/vs_ntsc_decode.binbin381 -> 377 bytes
-rw-r--r--bgfx/shaders/glsl/chains/hlsl/vs_ntsc_encode.binbin381 -> 377 bytes
-rw-r--r--bgfx/shaders/glsl/chains/hlsl/vs_phosphor.binbin381 -> 377 bytes
-rw-r--r--bgfx/shaders/glsl/chains/hlsl/vs_post.binbin381 -> 377 bytes
-rw-r--r--bgfx/shaders/glsl/chains/hlsl/vs_prescale.binbin381 -> 377 bytes
-rw-r--r--bgfx/shaders/glsl/chains/hlsl/vs_scanline.binbin381 -> 377 bytes
-rw-r--r--bgfx/shaders/metal/chains/hlsl/fs_chroma.binbin2183 -> 2245 bytes
-rw-r--r--bgfx/shaders/metal/chains/hlsl/fs_color.binbin1215 -> 1316 bytes
-rw-r--r--bgfx/shaders/metal/chains/hlsl/fs_deconverge.binbin918 -> 914 bytes
-rw-r--r--bgfx/shaders/metal/chains/hlsl/fs_defocus.binbin1734 -> 1746 bytes
-rw-r--r--bgfx/shaders/metal/chains/hlsl/fs_distortion.binbin6171 -> 6411 bytes
-rw-r--r--bgfx/shaders/metal/chains/hlsl/fs_ntsc_decode.binbin6781 -> 7016 bytes
-rw-r--r--bgfx/shaders/metal/chains/hlsl/fs_ntsc_encode.binbin3177 -> 3320 bytes
-rw-r--r--bgfx/shaders/metal/chains/hlsl/fs_phosphor.binbin1069 -> 1102 bytes
-rw-r--r--bgfx/shaders/metal/chains/hlsl/fs_post.binbin4141 -> 4499 bytes
-rw-r--r--bgfx/shaders/metal/chains/hlsl/fs_prescale.binbin574 -> 570 bytes
-rw-r--r--bgfx/shaders/metal/chains/hlsl/fs_scanline.binbin3206 -> 3503 bytes
-rw-r--r--bgfx/shaders/metal/chains/hlsl/vs_chroma.binbin765 -> 778 bytes
-rw-r--r--bgfx/shaders/metal/chains/hlsl/vs_color.binbin765 -> 778 bytes
-rw-r--r--bgfx/shaders/metal/chains/hlsl/vs_deconverge.binbin1628 -> 1814 bytes
-rw-r--r--bgfx/shaders/metal/chains/hlsl/vs_defocus.binbin765 -> 778 bytes
-rw-r--r--bgfx/shaders/metal/chains/hlsl/vs_distortion.binbin765 -> 778 bytes
-rw-r--r--bgfx/shaders/metal/chains/hlsl/vs_ntsc_decode.binbin765 -> 778 bytes
-rw-r--r--bgfx/shaders/metal/chains/hlsl/vs_ntsc_encode.binbin765 -> 778 bytes
-rw-r--r--bgfx/shaders/metal/chains/hlsl/vs_phosphor.binbin765 -> 778 bytes
-rw-r--r--bgfx/shaders/metal/chains/hlsl/vs_post.binbin765 -> 778 bytes
-rw-r--r--bgfx/shaders/metal/chains/hlsl/vs_prescale.binbin765 -> 778 bytes
-rw-r--r--bgfx/shaders/metal/chains/hlsl/vs_scanline.binbin765 -> 778 bytes
-rw-r--r--docs/source/advanced/multiconfig.rst127
-rw-r--r--docs/source/commandline/commandline-all.rst1778
-rw-r--r--docs/source/conf.py7
-rw-r--r--docs/source/images/MAMElogo.svg68
-rw-r--r--docs/source/index.rst10
-rw-r--r--docs/source/initialsetup/compilingmame.rst127
-rw-r--r--docs/source/license.rst2
-rw-r--r--docs/source/techspecs/device_memory_interface.rst2
-rw-r--r--docs/source/techspecs/layout_files.rst24
-rw-r--r--docs/source/techspecs/luaengine.rst4
-rw-r--r--docs/source/whatis.rst2
-rw-r--r--hash/32x.xml70
-rwxr-xr-x[-rw-r--r--]hash/a800.xml0
-rwxr-xr-x[-rw-r--r--]hash/a800_flop.xml0
-rw-r--r--hash/acrnsys_rom.xml12
-rw-r--r--hash/alphatro_cart.xml18
-rw-r--r--hash/apple2.xml (renamed from hash/apple2_flop_misc.xml)2653
-rw-r--r--hash/apple2_flop_clcracked.xml3003
-rw-r--r--hash/apple2_flop_orig.xml4047
-rw-r--r--hash/apricot_flop.xml488
-rw-r--r--hash/arb.xml22
-rw-r--r--hash/astrocde.xml3
-rw-r--r--hash/bbc_flop_32016.xml101
-rw-r--r--hash/bbc_rom.xml633
-rw-r--r--hash/bbcmc_flop.xml210
-rw-r--r--hash/c2color_cart.xml42
-rw-r--r--hash/cd32.xml23
-rw-r--r--hash/cdi.xml2
-rw-r--r--hash/clickstart_cart.xml218
-rw-r--r--hash/coco_cart.xml3
-rw-r--r--hash/ekara_japan.xml483
-rw-r--r--hash/ekara_japan_a.xml72
-rw-r--r--hash/ekara_japan_bh.xml70
-rw-r--r--hash/ekara_japan_d.xml40
-rw-r--r--hash/ekara_japan_en.xml12
-rw-r--r--hash/ekara_japan_g.xml109
-rw-r--r--hash/ekara_japan_gk.xml32
-rw-r--r--hash/ekara_japan_m.xml85
-rw-r--r--hash/ekara_japan_p.xml34
-rw-r--r--hash/ekara_japan_s.xml65
-rw-r--r--hash/ekara_japan_sp.xml46
-rw-r--r--hash/ekara_japan_web.xml13
-rw-r--r--hash/ekara_us.xml2
-rw-r--r--hash/electron_cart.xml58
-rw-r--r--hash/electron_rom.xml85
-rw-r--r--hash/fidel_sc6.xml19
-rw-r--r--hash/fmtowns_cd.xml196
-rw-r--r--hash/fmtowns_flop.xml73
-rw-r--r--hash/g7400.xml38
-rw-r--r--hash/gamate.xml115
-rw-r--r--hash/gameboy.xml27
-rw-r--r--hash/gba.xml176
-rw-r--r--hash/gbcolor.xml4
-rw-r--r--hash/hp85_rom.xml144
-rw-r--r--hash/hx20_rom.xml13
-rwxr-xr-x[-rw-r--r--]hash/ibm5150.xml426
-rw-r--r--hash/ibm5170.xml176
-rw-r--r--hash/icanguit.xml101
-rw-r--r--hash/icanpian.xml129
-rw-r--r--hash/intellect02.xml19
-rw-r--r--hash/jakks_gamekey_dp.xml18
-rw-r--r--hash/jakks_gamekey_dy.xml55
-rw-r--r--hash/jakks_gamekey_mv.xml19
-rw-r--r--hash/jakks_gamekey_nk.xml45
-rw-r--r--hash/jakks_gamekey_nm.xml31
-rw-r--r--hash/jakks_gamekey_sw.xml25
-rw-r--r--hash/jpopira_jp.xml45
-rw-r--r--hash/k28m2.xml2
-rw-r--r--hash/leapfrog_leappad_cart.xml674
-rw-r--r--hash/leapfrog_mfleappad_cart.xml152
-rw-r--r--hash/leapster.xml75
-rw-r--r--hash/m5_cass.xml32
-rw-r--r--hash/megadriv.xml2
-rw-r--r--hash/monon_color.xml386
-rw-r--r--hash/msx1_cart.xml4
-rwxr-xr-x[-rw-r--r--]hash/msx1_cass.xml0
-rw-r--r--hash/mtx_cart.xml2
-rw-r--r--hash/mtx_flop.xml116
-rw-r--r--hash/mtx_rom.xml2
-rw-r--r--hash/neogeo.xml36
-rw-r--r--hash/pc98.xml1186
-rw-r--r--hash/pc98_cd.xml37
-rw-r--r--hash/pce.xml14
-rw-r--r--hash/pce_tourvision.xml1371
-rw-r--r--hash/pcx_flop.xml198
-rw-r--r--hash/psx.xml234
-rw-r--r--hash/saturn.xml27
-rw-r--r--hash/sc3000_cart.xml44
-rw-r--r--hash/sc3000_cass.xml205
-rw-r--r--hash/sega_beena_cart.xml29
-rw-r--r--hash/sms.xml21
-rw-r--r--hash/snes.xml18
-rw-r--r--hash/sorcerer_cass.xml99
-rw-r--r--hash/specpls3_flop.xml18406
-rw-r--r--hash/spectrum_flop_opus.xml809
-rwxr-xr-x[-rw-r--r--]hash/timex_dock.xml0
-rw-r--r--hash/tutor.xml2
-rw-r--r--hash/vgmplay.xml3289
-rw-r--r--hash/vreader.xml50
-rw-r--r--hash/vsmile_cart.xml2144
-rw-r--r--hash/vsmile_cd.xml673
-rw-r--r--hash/vsmileb_cart.xml75
-rw-r--r--hash/vsmilem_cart.xml813
-rw-r--r--hash/vtech_storio_cart.xml113
-rw-r--r--hash/z80ne_cass.xml30
-rw-r--r--keymaps/km_be_LINUX.map61
-rw-r--r--keymaps/km_br_LINUX.map47
-rw-r--r--keymaps/km_ch_LINUX.map31
-rw-r--r--keymaps/km_de_LINUX.map28
-rw-r--r--keymaps/km_es_LINUX.map27
-rw-r--r--keymaps/km_fr_LINUX.map59
-rw-r--r--keymaps/km_fr_OSX.map29
-rw-r--r--keymaps/km_gb_LINUX.map13
-rw-r--r--keymaps/km_it_LINUX.map27
-rw-r--r--keymaps/km_pt_LINUX.map27
-rw-r--r--keymaps/km_se_LINUX.map25
-rw-r--r--keymaps/km_se_OSX.map25
-rw-r--r--language/Afrikaans/strings.po2840
-rw-r--r--language/Albanian/strings.po2840
-rw-r--r--language/Arabic/strings.po2840
-rw-r--r--language/Basque/strings.po2840
-rw-r--r--language/Belarusian/strings.po2840
-rw-r--r--language/Bosnian/strings.po2840
-rw-r--r--language/Bulgarian/strings.po2840
-rw-r--r--language/Burmese/strings.po2840
-rw-r--r--language/Catalan/strings.po3358
-rw-r--r--language/Chinese_Simplified/strings.po3624
-rw-r--r--language/Chinese_Traditional/strings.po3622
-rw-r--r--language/Croatian/strings.po2840
-rw-r--r--language/Czech/strings.po3402
-rw-r--r--language/Danish/strings.po2840
-rw-r--r--language/Dutch/strings.po3648
-rw-r--r--language/English/strings.po2840
-rw-r--r--language/Estonian/strings.po2840
-rw-r--r--language/Finnish/strings.po2840
-rw-r--r--language/French/strings.po3553
-rw-r--r--language/French_Belgium/strings.po3400
-rw-r--r--language/French_Canada/strings.po2840
-rw-r--r--language/Georgian/strings.po2840
-rw-r--r--language/German/strings.po3659
-rw-r--r--language/Greek/strings.po3657
-rw-r--r--language/Hebrew/strings.po2840
-rw-r--r--language/Hindi/strings.po2840
-rw-r--r--language/Hungarian/strings.po3418
-rw-r--r--language/Indonesian/strings.po2840
-rw-r--r--language/Italian/strings.po3551
-rw-r--r--language/Japanese/strings.po3632
-rw-r--r--language/Korean/strings.po3648
-rw-r--r--language/Latvian/strings.po2840
-rw-r--r--language/Lithuanian/strings.po2840
-rw-r--r--language/Macedonian/strings.po2840
-rw-r--r--language/Norwegian/strings.po3658
-rw-r--r--language/Persian/strings.po2840
-rw-r--r--language/Polish/strings.po2840
-rw-r--r--language/Portuguese/strings.po3616
-rw-r--r--language/Portuguese_Brazil/strings.po3686
-rw-r--r--language/Romanian/strings.po2840
-rw-r--r--language/Russian/strings.po3590
-rw-r--r--language/Serbian/strings.po3456
-rw-r--r--language/Serbian_Cyrillic/strings.po3454
-rw-r--r--language/Slovak/strings.po2840
-rw-r--r--language/Slovenian/strings.po2840
-rw-r--r--language/Spanish/strings.po3646
-rw-r--r--language/Spanish_Mexico/strings.po2840
-rw-r--r--language/Swedish/strings.po3524
-rw-r--r--language/Thai/strings.po2840
-rw-r--r--language/Turkish/strings.po3136
-rw-r--r--language/Ukrainian/strings.po2840
-rw-r--r--language/Vietnamese/strings.po2840
-rw-r--r--makefile21
-rw-r--r--nl_examples/2N6027.cpp101
-rw-r--r--nl_examples/cmos_inverter.cpp42
-rw-r--r--nl_examples/nmos_fet.cpp52
-rw-r--r--plugins/cheatfind/init.lua333
-rw-r--r--plugins/console/init.lua12
-rw-r--r--plugins/hiscore/hiscore.dat391
-rw-r--r--plugins/hiscore/init.lua50
-rw-r--r--regtests/LICENSE2
-rw-r--r--scripts/build/complay.py10
-rw-r--r--scripts/genie.lua65
-rw-r--r--scripts/src/3rdparty.lua28
-rw-r--r--scripts/src/bus.lua184
-rw-r--r--scripts/src/cpu.lua78
-rw-r--r--scripts/src/formats.lua24
-rw-r--r--scripts/src/machine.lua57
-rw-r--r--scripts/src/main.lua8
-rw-r--r--scripts/src/mame/frontend.lua1
-rw-r--r--scripts/src/netlist.lua12
-rw-r--r--scripts/src/osd/sdl.lua20
-rw-r--r--scripts/src/osd/windows.lua1
-rw-r--r--scripts/src/tools.lua98
-rw-r--r--scripts/src/video.lua36
-rw-r--r--scripts/target/mame/arcade.lua18
-rw-r--r--scripts/target/mame/mess.lua160
-rw-r--r--scripts/target/mame/nl.lua9
-rw-r--r--src/devices/bus/a1bus/a1bus.cpp6
-rw-r--r--src/devices/bus/a1bus/a1bus.h21
-rw-r--r--src/devices/bus/a1bus/a1cassette.cpp11
-rw-r--r--src/devices/bus/a2bus/a2alfam2.cpp44
-rw-r--r--src/devices/bus/a2bus/a2arcadebd.cpp6
-rw-r--r--src/devices/bus/a2bus/a2bus.cpp28
-rw-r--r--src/devices/bus/a2bus/a2bus.h49
-rw-r--r--src/devices/bus/a2bus/a2cffa.cpp2
-rw-r--r--src/devices/bus/a2bus/a2corvus.cpp19
-rw-r--r--src/devices/bus/a2bus/a2diskii.cpp22
-rw-r--r--src/devices/bus/a2bus/a2diskiing.cpp29
-rw-r--r--src/devices/bus/a2bus/a2diskiing.h5
-rw-r--r--src/devices/bus/a2bus/a2dx1.cpp14
-rw-r--r--src/devices/bus/a2bus/a2eauxslot.cpp37
-rw-r--r--src/devices/bus/a2bus/a2eauxslot.h59
-rw-r--r--src/devices/bus/a2bus/a2eext80col.cpp1
-rw-r--r--src/devices/bus/a2bus/a2eramworks3.cpp3
-rw-r--r--src/devices/bus/a2bus/a2eramworks3.h2
-rw-r--r--src/devices/bus/a2bus/a2estd80col.cpp1
-rw-r--r--src/devices/bus/a2bus/a2hsscsi.cpp39
-rw-r--r--src/devices/bus/a2bus/a2hsscsi.h2
-rw-r--r--src/devices/bus/a2bus/a2mcms.cpp18
-rw-r--r--src/devices/bus/a2bus/a2mcms.h2
-rw-r--r--src/devices/bus/a2bus/a2memexp.cpp5
-rw-r--r--src/devices/bus/a2bus/a2midi.cpp22
-rw-r--r--src/devices/bus/a2bus/a2mockingboard.cpp50
-rw-r--r--src/devices/bus/a2bus/a2pic.cpp8
-rw-r--r--src/devices/bus/a2bus/a2sam.cpp12
-rw-r--r--src/devices/bus/a2bus/a2scsi.cpp39
-rw-r--r--src/devices/bus/a2bus/a2scsi.h2
-rw-r--r--src/devices/bus/a2bus/a2softcard.cpp28
-rw-r--r--src/devices/bus/a2bus/a2ssc.cpp4
-rw-r--r--src/devices/bus/a2bus/a2themill.cpp28
-rw-r--r--src/devices/bus/a2bus/a2ultraterm.cpp17
-rw-r--r--src/devices/bus/a2bus/a2videoterm.cpp17
-rw-r--r--src/devices/bus/a2bus/a2zipdrive.cpp107
-rw-r--r--src/devices/bus/a2bus/a2zipdrive.h18
-rw-r--r--src/devices/bus/a2bus/agat7ports.cpp12
-rw-r--r--src/devices/bus/a2bus/agat840k_hle.cpp15
-rw-r--r--src/devices/bus/a2bus/corvfdc02.cpp6
-rw-r--r--src/devices/bus/a2bus/ezcgi.cpp34
-rw-r--r--src/devices/bus/a2bus/laser128.cpp5
-rw-r--r--src/devices/bus/a2bus/mouse.cpp4
-rw-r--r--src/devices/bus/a2bus/pc_xporter.cpp45
-rw-r--r--src/devices/bus/a2bus/pc_xporter.h1
-rw-r--r--src/devices/bus/a2bus/ssbapple.cpp9
-rw-r--r--src/devices/bus/a2bus/ssprite.cpp6
-rw-r--r--src/devices/bus/a2bus/timemasterho.cpp4
-rw-r--r--src/devices/bus/a2bus/transwarp.cpp37
-rw-r--r--src/devices/bus/a2bus/transwarp.h1
-rw-r--r--src/devices/bus/a7800/cpuwiz.cpp8
-rw-r--r--src/devices/bus/a7800/cpuwiz.h4
-rw-r--r--src/devices/bus/a7800/rom.cpp59
-rw-r--r--src/devices/bus/a7800/rom.h16
-rw-r--r--src/devices/bus/a7800/xboard.cpp12
-rw-r--r--src/devices/bus/a800/cassette.cpp13
-rw-r--r--src/devices/bus/abcbus/abc890.cpp112
-rw-r--r--src/devices/bus/abcbus/abcbus.h72
-rw-r--r--src/devices/bus/abcbus/cadmouse.cpp11
-rw-r--r--src/devices/bus/abcbus/db411223.cpp11
-rw-r--r--src/devices/bus/abcbus/unidisk.cpp5
-rw-r--r--src/devices/bus/abckb/abc77.cpp8
-rw-r--r--src/devices/bus/abckb/abc99.cpp2
-rw-r--r--src/devices/bus/abckb/abckb.h41
-rw-r--r--src/devices/bus/acorn/atom/discpack.cpp2
-rw-r--r--src/devices/bus/acorn/atom/econet.cpp2
-rw-r--r--src/devices/bus/acorn/atom/sid.cpp2
-rw-r--r--src/devices/bus/acorn/bus.cpp2
-rw-r--r--src/devices/bus/acorn/bus.h6
-rw-r--r--src/devices/bus/acorn/cms/4080term.cpp22
-rw-r--r--src/devices/bus/acorn/cms/hires.cpp15
-rw-r--r--src/devices/bus/acorn/system/cass.cpp9
-rw-r--r--src/devices/bus/acorn/system/econet.cpp2
-rw-r--r--src/devices/bus/acorn/system/fdc.cpp2
-rw-r--r--src/devices/bus/acorn/system/vdu40.cpp15
-rw-r--r--src/devices/bus/acorn/system/vdu80.cpp19
-rw-r--r--src/devices/bus/acorn/system/vib.cpp10
-rw-r--r--src/devices/bus/adam/adamlink.cpp4
-rw-r--r--src/devices/bus/adam/adamlink.h4
-rw-r--r--src/devices/bus/adam/exp.cpp8
-rw-r--r--src/devices/bus/adam/exp.h8
-rw-r--r--src/devices/bus/adam/ide.cpp4
-rw-r--r--src/devices/bus/adam/ide.h4
-rw-r--r--src/devices/bus/adam/ram.cpp4
-rw-r--r--src/devices/bus/adam/ram.h4
-rw-r--r--src/devices/bus/adamnet/adamnet.h11
-rw-r--r--src/devices/bus/adamnet/ddp.cpp27
-rw-r--r--src/devices/bus/adamnet/spi.cpp8
-rw-r--r--src/devices/bus/amiga/zorro/a2052.cpp6
-rw-r--r--src/devices/bus/amiga/zorro/a2058.cpp6
-rw-r--r--src/devices/bus/amiga/zorro/a2065.cpp10
-rw-r--r--src/devices/bus/amiga/zorro/a2232.cpp22
-rw-r--r--src/devices/bus/amiga/zorro/a590.cpp52
-rw-r--r--src/devices/bus/amiga/zorro/a590.h8
-rw-r--r--src/devices/bus/amiga/zorro/buddha.cpp18
-rw-r--r--src/devices/bus/amiga/zorro/zorro.cpp46
-rw-r--r--src/devices/bus/amiga/zorro/zorro.h112
-rw-r--r--src/devices/bus/apf/slot.h16
-rw-r--r--src/devices/bus/apricot/expansion/cards.cpp2
-rw-r--r--src/devices/bus/apricot/expansion/expansion.cpp25
-rw-r--r--src/devices/bus/apricot/expansion/expansion.h33
-rw-r--r--src/devices/bus/apricot/expansion/winchester.cpp254
-rw-r--r--src/devices/bus/apricot/expansion/winchester.h66
-rw-r--r--src/devices/bus/apricot/keyboard/hle.cpp85
-rw-r--r--src/devices/bus/apricot/keyboard/hle.h12
-rw-r--r--src/devices/bus/astrocde/accessory.cpp112
-rw-r--r--src/devices/bus/astrocde/accessory.h99
-rw-r--r--src/devices/bus/astrocde/cassette.cpp130
-rw-r--r--src/devices/bus/astrocde/cassette.h61
-rw-r--r--src/devices/bus/astrocde/ctrl.cpp120
-rw-r--r--src/devices/bus/astrocde/ctrl.h98
-rw-r--r--src/devices/bus/astrocde/exp.cpp14
-rw-r--r--src/devices/bus/astrocde/exp.h4
-rw-r--r--src/devices/bus/astrocde/joy.cpp56
-rw-r--r--src/devices/bus/astrocde/joy.h45
-rw-r--r--src/devices/bus/astrocde/lightpen.cpp87
-rw-r--r--src/devices/bus/astrocde/lightpen.h51
-rw-r--r--src/devices/bus/astrocde/ram.cpp61
-rw-r--r--src/devices/bus/astrocde/ram.h12
-rw-r--r--src/devices/bus/astrocde/rom.cpp41
-rw-r--r--src/devices/bus/astrocde/rom.h21
-rw-r--r--src/devices/bus/astrocde/slot.cpp3
-rw-r--r--src/devices/bus/astrocde/slot.h3
-rw-r--r--src/devices/bus/bbc/1mhzbus/1mhzbus.cpp19
-rw-r--r--src/devices/bus/bbc/1mhzbus/1mhzbus.h16
-rw-r--r--src/devices/bus/bbc/1mhzbus/beebsid.cpp20
-rw-r--r--src/devices/bus/bbc/1mhzbus/beebsid.h8
-rw-r--r--src/devices/bus/bbc/1mhzbus/cfa3000opt.cpp2
-rw-r--r--src/devices/bus/bbc/1mhzbus/cfa3000opt.h2
-rw-r--r--src/devices/bus/bbc/1mhzbus/emrmidi.cpp8
-rw-r--r--src/devices/bus/bbc/1mhzbus/emrmidi.h4
-rw-r--r--src/devices/bus/bbc/1mhzbus/ieee488.cpp113
-rw-r--r--src/devices/bus/bbc/1mhzbus/ieee488.h16
-rw-r--r--src/devices/bus/bbc/1mhzbus/m2000.cpp28
-rw-r--r--src/devices/bus/bbc/1mhzbus/m2000.h8
-rw-r--r--src/devices/bus/bbc/1mhzbus/opus3.cpp8
-rw-r--r--src/devices/bus/bbc/1mhzbus/opus3.h8
-rw-r--r--src/devices/bus/bbc/1mhzbus/sprite.cpp99
-rw-r--r--src/devices/bus/bbc/1mhzbus/sprite.h49
-rw-r--r--src/devices/bus/bbc/exp/exp.cpp32
-rw-r--r--src/devices/bus/bbc/exp/exp.h34
-rw-r--r--src/devices/bus/bbc/exp/mertec.cpp34
-rw-r--r--src/devices/bus/bbc/exp/mertec.h18
-rw-r--r--src/devices/bus/bbc/fdc/acorn.cpp16
-rw-r--r--src/devices/bus/bbc/fdc/acorn.h8
-rw-r--r--src/devices/bus/bbc/fdc/ams.cpp12
-rw-r--r--src/devices/bus/bbc/fdc/ams.h4
-rw-r--r--src/devices/bus/bbc/fdc/cumana.cpp4
-rw-r--r--src/devices/bus/bbc/fdc/cumana.h4
-rw-r--r--src/devices/bus/bbc/fdc/cv1797.cpp4
-rw-r--r--src/devices/bus/bbc/fdc/cv1797.h4
-rw-r--r--src/devices/bus/bbc/fdc/fdc.cpp8
-rw-r--r--src/devices/bus/bbc/fdc/fdc.h8
-rw-r--r--src/devices/bus/bbc/fdc/microware.cpp4
-rw-r--r--src/devices/bus/bbc/fdc/microware.h4
-rw-r--r--src/devices/bus/bbc/fdc/opus.cpp14
-rw-r--r--src/devices/bus/bbc/fdc/opus.h8
-rw-r--r--src/devices/bus/bbc/fdc/watford.cpp8
-rw-r--r--src/devices/bus/bbc/fdc/watford.h8
-rw-r--r--src/devices/bus/bbc/joyport/joyport.cpp8
-rw-r--r--src/devices/bus/bbc/joyport/joyport.h8
-rw-r--r--src/devices/bus/bbc/joyport/joystick.cpp2
-rw-r--r--src/devices/bus/bbc/joyport/joystick.h2
-rw-r--r--src/devices/bus/bbc/rom/dfs.cpp63
-rw-r--r--src/devices/bus/bbc/rom/dfs.h42
-rw-r--r--src/devices/bus/bbc/rom/pal.cpp312
-rw-r--r--src/devices/bus/bbc/rom/pal.h167
-rw-r--r--src/devices/bus/bbc/rom/ram.cpp57
-rw-r--r--src/devices/bus/bbc/rom/ram.h42
-rw-r--r--src/devices/bus/bbc/rom/rom.cpp50
-rw-r--r--src/devices/bus/bbc/rom/rom.h41
-rw-r--r--src/devices/bus/bbc/rom/rtc.cpp124
-rw-r--r--src/devices/bus/bbc/rom/rtc.h72
-rw-r--r--src/devices/bus/bbc/rom/slot.cpp234
-rw-r--r--src/devices/bus/bbc/rom/slot.h155
-rw-r--r--src/devices/bus/bbc/tube/tube.cpp20
-rw-r--r--src/devices/bus/bbc/tube/tube.h8
-rw-r--r--src/devices/bus/bbc/tube/tube_32016.cpp210
-rw-r--r--src/devices/bus/bbc/tube/tube_32016.h71
-rw-r--r--src/devices/bus/bbc/tube/tube_6502.cpp16
-rw-r--r--src/devices/bus/bbc/tube/tube_6502.h8
-rw-r--r--src/devices/bus/bbc/tube/tube_80186.cpp8
-rw-r--r--src/devices/bus/bbc/tube/tube_80186.h4
-rw-r--r--src/devices/bus/bbc/tube/tube_80286.cpp15
-rw-r--r--src/devices/bus/bbc/tube/tube_80286.h8
-rw-r--r--src/devices/bus/bbc/tube/tube_arm.cpp12
-rw-r--r--src/devices/bus/bbc/tube/tube_arm.h8
-rw-r--r--src/devices/bus/bbc/tube/tube_casper.cpp4
-rw-r--r--src/devices/bus/bbc/tube/tube_casper.h4
-rw-r--r--src/devices/bus/bbc/tube/tube_rc6502.cpp12
-rw-r--r--src/devices/bus/bbc/tube/tube_rc6502.h8
-rw-r--r--src/devices/bus/bbc/tube/tube_z80.cpp14
-rw-r--r--src/devices/bus/bbc/tube/tube_z80.h10
-rw-r--r--src/devices/bus/bbc/tube/tube_zep100.cpp18
-rw-r--r--src/devices/bus/bbc/tube/tube_zep100.h18
-rw-r--r--src/devices/bus/bbc/userport/beebspch.cpp2
-rw-r--r--src/devices/bus/bbc/userport/beebspch.h2
-rw-r--r--src/devices/bus/bbc/userport/cfa3000kbd.cpp2
-rw-r--r--src/devices/bus/bbc/userport/cfa3000kbd.h2
-rw-r--r--src/devices/bus/bbc/userport/pointer.cpp6
-rw-r--r--src/devices/bus/bbc/userport/pointer.h6
-rw-r--r--src/devices/bus/bbc/userport/userport.cpp8
-rw-r--r--src/devices/bus/bbc/userport/userport.h8
-rw-r--r--src/devices/bus/bml3/bml3bus.cpp6
-rw-r--r--src/devices/bus/bml3/bml3bus.h53
-rw-r--r--src/devices/bus/bw2/exp.cpp24
-rw-r--r--src/devices/bus/bw2/exp.h45
-rw-r--r--src/devices/bus/bw2/ramcard.cpp6
-rw-r--r--src/devices/bus/bw2/ramcard.h6
-rw-r--r--src/devices/bus/c64/16kb.cpp17
-rw-r--r--src/devices/bus/c64/16kb.h2
-rw-r--r--src/devices/bus/c64/c128_comal80.cpp4
-rw-r--r--src/devices/bus/c64/c128_comal80.h4
-rw-r--r--src/devices/bus/c64/c128_partner.cpp4
-rw-r--r--src/devices/bus/c64/c128_partner.h4
-rw-r--r--src/devices/bus/c64/comal80.cpp4
-rw-r--r--src/devices/bus/c64/comal80.h4
-rw-r--r--src/devices/bus/c64/cpm.cpp6
-rw-r--r--src/devices/bus/c64/cpm.h2
-rw-r--r--src/devices/bus/c64/currah_speech.cpp4
-rw-r--r--src/devices/bus/c64/currah_speech.h4
-rw-r--r--src/devices/bus/c64/dela_ep256.cpp35
-rw-r--r--src/devices/bus/c64/dela_ep256.h4
-rw-r--r--src/devices/bus/c64/dela_ep64.cpp19
-rw-r--r--src/devices/bus/c64/dela_ep64.h4
-rw-r--r--src/devices/bus/c64/dela_ep7x8.cpp52
-rw-r--r--src/devices/bus/c64/dela_ep7x8.h12
-rw-r--r--src/devices/bus/c64/dinamic.cpp2
-rw-r--r--src/devices/bus/c64/dinamic.h2
-rw-r--r--src/devices/bus/c64/dqbb.cpp4
-rw-r--r--src/devices/bus/c64/dqbb.h4
-rw-r--r--src/devices/bus/c64/easy_calc_result.cpp4
-rw-r--r--src/devices/bus/c64/easy_calc_result.h4
-rw-r--r--src/devices/bus/c64/easyflash.cpp12
-rw-r--r--src/devices/bus/c64/easyflash.h4
-rw-r--r--src/devices/bus/c64/epyx_fast_load.cpp4
-rw-r--r--src/devices/bus/c64/epyx_fast_load.h4
-rw-r--r--src/devices/bus/c64/exos.cpp2
-rw-r--r--src/devices/bus/c64/exos.h2
-rw-r--r--src/devices/bus/c64/exp.cpp8
-rw-r--r--src/devices/bus/c64/exp.h12
-rw-r--r--src/devices/bus/c64/fcc.cpp13
-rw-r--r--src/devices/bus/c64/fcc.h4
-rw-r--r--src/devices/bus/c64/final.cpp4
-rw-r--r--src/devices/bus/c64/final.h4
-rw-r--r--src/devices/bus/c64/final3.cpp4
-rw-r--r--src/devices/bus/c64/final3.h4
-rw-r--r--src/devices/bus/c64/fun_play.cpp4
-rw-r--r--src/devices/bus/c64/fun_play.h4
-rw-r--r--src/devices/bus/c64/geocable.cpp9
-rw-r--r--src/devices/bus/c64/georam.cpp4
-rw-r--r--src/devices/bus/c64/georam.h4
-rw-r--r--src/devices/bus/c64/ide64.cpp8
-rw-r--r--src/devices/bus/c64/ide64.h4
-rw-r--r--src/devices/bus/c64/ieee488.cpp12
-rw-r--r--src/devices/bus/c64/ieee488.h4
-rw-r--r--src/devices/bus/c64/kingsoft.cpp4
-rw-r--r--src/devices/bus/c64/kingsoft.h4
-rw-r--r--src/devices/bus/c64/mach5.cpp4
-rw-r--r--src/devices/bus/c64/mach5.h4
-rw-r--r--src/devices/bus/c64/magic_desk.cpp4
-rw-r--r--src/devices/bus/c64/magic_desk.h4
-rw-r--r--src/devices/bus/c64/magic_formel.cpp6
-rw-r--r--src/devices/bus/c64/magic_formel.h4
-rw-r--r--src/devices/bus/c64/magic_voice.cpp14
-rw-r--r--src/devices/bus/c64/magic_voice.h4
-rw-r--r--src/devices/bus/c64/midi_maplin.cpp22
-rw-r--r--src/devices/bus/c64/midi_maplin.h4
-rw-r--r--src/devices/bus/c64/midi_namesoft.cpp22
-rw-r--r--src/devices/bus/c64/midi_namesoft.h4
-rw-r--r--src/devices/bus/c64/midi_passport.cpp26
-rw-r--r--src/devices/bus/c64/midi_passport.h4
-rw-r--r--src/devices/bus/c64/midi_sci.cpp22
-rw-r--r--src/devices/bus/c64/midi_sci.h4
-rw-r--r--src/devices/bus/c64/midi_siel.cpp22
-rw-r--r--src/devices/bus/c64/midi_siel.h4
-rw-r--r--src/devices/bus/c64/mikro_assembler.cpp2
-rw-r--r--src/devices/bus/c64/mikro_assembler.h2
-rw-r--r--src/devices/bus/c64/multiscreen.cpp17
-rw-r--r--src/devices/bus/c64/multiscreen.h4
-rw-r--r--src/devices/bus/c64/music64.cpp8
-rw-r--r--src/devices/bus/c64/music64.h4
-rw-r--r--src/devices/bus/c64/neoram.cpp4
-rw-r--r--src/devices/bus/c64/neoram.h4
-rw-r--r--src/devices/bus/c64/ocean.cpp4
-rw-r--r--src/devices/bus/c64/ocean.h4
-rw-r--r--src/devices/bus/c64/pagefox.cpp4
-rw-r--r--src/devices/bus/c64/pagefox.h4
-rw-r--r--src/devices/bus/c64/partner.cpp4
-rw-r--r--src/devices/bus/c64/partner.h4
-rw-r--r--src/devices/bus/c64/prophet64.cpp4
-rw-r--r--src/devices/bus/c64/prophet64.h4
-rw-r--r--src/devices/bus/c64/ps64.cpp25
-rw-r--r--src/devices/bus/c64/ps64.h4
-rw-r--r--src/devices/bus/c64/reu.cpp20
-rw-r--r--src/devices/bus/c64/reu.h4
-rw-r--r--src/devices/bus/c64/rex.cpp2
-rw-r--r--src/devices/bus/c64/rex.h2
-rw-r--r--src/devices/bus/c64/rex_ep256.cpp35
-rw-r--r--src/devices/bus/c64/rex_ep256.h4
-rw-r--r--src/devices/bus/c64/ross.cpp4
-rw-r--r--src/devices/bus/c64/ross.h4
-rw-r--r--src/devices/bus/c64/sfx_sound_expander.cpp12
-rw-r--r--src/devices/bus/c64/sfx_sound_expander.h4
-rw-r--r--src/devices/bus/c64/silverrock.cpp4
-rw-r--r--src/devices/bus/c64/silverrock.h4
-rw-r--r--src/devices/bus/c64/simons_basic.cpp4
-rw-r--r--src/devices/bus/c64/simons_basic.h4
-rw-r--r--src/devices/bus/c64/speakeasy.cpp16
-rw-r--r--src/devices/bus/c64/speakeasy.h4
-rw-r--r--src/devices/bus/c64/stardos.cpp4
-rw-r--r--src/devices/bus/c64/stardos.h4
-rw-r--r--src/devices/bus/c64/std.cpp2
-rw-r--r--src/devices/bus/c64/std.h2
-rw-r--r--src/devices/bus/c64/structured_basic.cpp4
-rw-r--r--src/devices/bus/c64/structured_basic.h4
-rw-r--r--src/devices/bus/c64/super_explode.cpp4
-rw-r--r--src/devices/bus/c64/super_explode.h4
-rw-r--r--src/devices/bus/c64/super_games.cpp4
-rw-r--r--src/devices/bus/c64/super_games.h4
-rw-r--r--src/devices/bus/c64/supercpu.cpp8
-rw-r--r--src/devices/bus/c64/supercpu.h4
-rw-r--r--src/devices/bus/c64/sw8k.cpp2
-rw-r--r--src/devices/bus/c64/sw8k.h2
-rw-r--r--src/devices/bus/c64/swiftlink.cpp8
-rw-r--r--src/devices/bus/c64/swiftlink.h4
-rw-r--r--src/devices/bus/c64/system3.cpp4
-rw-r--r--src/devices/bus/c64/system3.h4
-rw-r--r--src/devices/bus/c64/tdos.cpp12
-rw-r--r--src/devices/bus/c64/tdos.h4
-rw-r--r--src/devices/bus/c64/turbo232.cpp10
-rw-r--r--src/devices/bus/c64/turbo232.h4
-rw-r--r--src/devices/bus/c64/vizastar.cpp2
-rw-r--r--src/devices/bus/c64/vizastar.h2
-rw-r--r--src/devices/bus/c64/vw64.cpp2
-rw-r--r--src/devices/bus/c64/vw64.h2
-rw-r--r--src/devices/bus/c64/warp_speed.cpp4
-rw-r--r--src/devices/bus/c64/warp_speed.h4
-rw-r--r--src/devices/bus/c64/westermann.cpp2
-rw-r--r--src/devices/bus/c64/westermann.h2
-rw-r--r--src/devices/bus/c64/xl80.cpp29
-rw-r--r--src/devices/bus/c64/xl80.h4
-rw-r--r--src/devices/bus/c64/zaxxon.cpp2
-rw-r--r--src/devices/bus/c64/zaxxon.h2
-rw-r--r--src/devices/bus/cbm2/24k.cpp4
-rw-r--r--src/devices/bus/cbm2/24k.h4
-rw-r--r--src/devices/bus/cbm2/exp.cpp8
-rw-r--r--src/devices/bus/cbm2/exp.h19
-rw-r--r--src/devices/bus/cbm2/hrg.cpp64
-rw-r--r--src/devices/bus/cbm2/hrg.h7
-rw-r--r--src/devices/bus/cbm2/std.cpp2
-rw-r--r--src/devices/bus/cbm2/std.h2
-rw-r--r--src/devices/bus/cbm2/user.h26
-rw-r--r--src/devices/bus/cbmiec/c1526.cpp22
-rw-r--r--src/devices/bus/cbmiec/c1541.cpp18
-rw-r--r--src/devices/bus/cbmiec/c1571.cpp11
-rw-r--r--src/devices/bus/cbmiec/c1581.cpp31
-rw-r--r--src/devices/bus/cbmiec/cbmiec.h45
-rw-r--r--src/devices/bus/cbmiec/interpod.cpp17
-rw-r--r--src/devices/bus/cbmiec/interpod.h10
-rw-r--r--src/devices/bus/cbmiec/serialbox.cpp9
-rw-r--r--src/devices/bus/cbmiec/vic1515.cpp11
-rw-r--r--src/devices/bus/cbmiec/vic1520.cpp9
-rw-r--r--src/devices/bus/cbus/pc9801_118.cpp4
-rw-r--r--src/devices/bus/cbus/pc9801_26.cpp4
-rw-r--r--src/devices/bus/cbus/pc9801_86.cpp30
-rw-r--r--src/devices/bus/cbus/pc9801_amd98.cpp16
-rw-r--r--src/devices/bus/cbus/pc9801_cbus.cpp11
-rw-r--r--src/devices/bus/cbus/pc9801_cbus.h106
-rw-r--r--src/devices/bus/centronics/comxpl80.cpp11
-rw-r--r--src/devices/bus/centronics/covox.cpp29
-rw-r--r--src/devices/bus/centronics/ctronics.h80
-rw-r--r--src/devices/bus/centronics/digiblst.cpp12
-rw-r--r--src/devices/bus/centronics/epson_lx810l.cpp1
-rw-r--r--src/devices/bus/centronics/nec_p72.cpp10
-rw-r--r--src/devices/bus/centronics/printer.cpp9
-rw-r--r--src/devices/bus/cgenie/expansion/expansion.cpp22
-rw-r--r--src/devices/bus/cgenie/expansion/expansion.h45
-rw-r--r--src/devices/bus/cgenie/expansion/floppy.cpp16
-rw-r--r--src/devices/bus/cgenie/parallel/parallel.h23
-rw-r--r--src/devices/bus/cgenie/parallel/printer.cpp19
-rw-r--r--src/devices/bus/chanf/slot.h16
-rw-r--r--src/devices/bus/coco/coco_dcmodem.cpp9
-rw-r--r--src/devices/bus/coco/coco_fdc.cpp15
-rw-r--r--src/devices/bus/coco/coco_fdc.h1
-rw-r--r--src/devices/bus/coco/coco_gmc.cpp8
-rw-r--r--src/devices/bus/coco/coco_multi.cpp82
-rw-r--r--src/devices/bus/coco/coco_orch90.cpp20
-rw-r--r--src/devices/bus/coco/coco_rs232.cpp9
-rw-r--r--src/devices/bus/coco/coco_ssc.cpp15
-rw-r--r--src/devices/bus/coco/coco_t4426.cpp14
-rw-r--r--src/devices/bus/coco/cococart.cpp40
-rw-r--r--src/devices/bus/coco/cococart.h46
-rw-r--r--src/devices/bus/coco/dragon_jcbsnd.cpp15
-rw-r--r--src/devices/bus/coco/dragon_jcbsnd.h1
-rw-r--r--src/devices/bus/coleco/ctrl.cpp (renamed from src/devices/bus/coleco/controller/ctrl.cpp)0
-rw-r--r--src/devices/bus/coleco/ctrl.h (renamed from src/devices/bus/coleco/controller/ctrl.h)0
-rw-r--r--src/devices/bus/coleco/exp.cpp (renamed from src/devices/bus/coleco/cartridge/exp.cpp)4
-rw-r--r--src/devices/bus/coleco/exp.h (renamed from src/devices/bus/coleco/cartridge/exp.h)4
-rw-r--r--src/devices/bus/coleco/hand.cpp (renamed from src/devices/bus/coleco/controller/hand.cpp)0
-rw-r--r--src/devices/bus/coleco/hand.h (renamed from src/devices/bus/coleco/controller/hand.h)0
-rw-r--r--src/devices/bus/coleco/sac.cpp (renamed from src/devices/bus/coleco/controller/sac.cpp)0
-rw-r--r--src/devices/bus/coleco/sac.h (renamed from src/devices/bus/coleco/controller/sac.h)0
-rw-r--r--src/devices/bus/coleco/std.cpp (renamed from src/devices/bus/coleco/cartridge/std.cpp)2
-rw-r--r--src/devices/bus/coleco/std.h (renamed from src/devices/bus/coleco/cartridge/std.h)2
-rw-r--r--src/devices/bus/coleco/xin1.cpp (renamed from src/devices/bus/coleco/cartridge/xin1.cpp)2
-rw-r--r--src/devices/bus/coleco/xin1.h (renamed from src/devices/bus/coleco/cartridge/xin1.h)2
-rw-r--r--src/devices/bus/compis/graphics.h40
-rw-r--r--src/devices/bus/compis/hrg.cpp50
-rw-r--r--src/devices/bus/compis/hrg.h4
-rw-r--r--src/devices/bus/compucolor/floppy.cpp33
-rw-r--r--src/devices/bus/compucolor/floppy.h2
-rw-r--r--src/devices/bus/comx35/clm.cpp31
-rw-r--r--src/devices/bus/comx35/clm.h4
-rw-r--r--src/devices/bus/comx35/eprom.cpp4
-rw-r--r--src/devices/bus/comx35/eprom.h4
-rw-r--r--src/devices/bus/comx35/exp.cpp16
-rw-r--r--src/devices/bus/comx35/exp.h16
-rw-r--r--src/devices/bus/comx35/expbox.cpp16
-rw-r--r--src/devices/bus/comx35/expbox.h8
-rw-r--r--src/devices/bus/comx35/fdc.cpp6
-rw-r--r--src/devices/bus/comx35/fdc.h6
-rw-r--r--src/devices/bus/comx35/joycard.cpp2
-rw-r--r--src/devices/bus/comx35/joycard.h2
-rw-r--r--src/devices/bus/comx35/printer.cpp27
-rw-r--r--src/devices/bus/comx35/printer.h6
-rw-r--r--src/devices/bus/comx35/ram.cpp6
-rw-r--r--src/devices/bus/comx35/ram.h6
-rw-r--r--src/devices/bus/comx35/thermal.cpp6
-rw-r--r--src/devices/bus/comx35/thermal.h6
-rw-r--r--src/devices/bus/cpc/amdrum.cpp12
-rw-r--r--src/devices/bus/cpc/cpc_rom.cpp21
-rw-r--r--src/devices/bus/cpc/cpc_rom.h3
-rw-r--r--src/devices/bus/cpc/cpcexp.cpp2
-rw-r--r--src/devices/bus/cpc/ddi1.cpp6
-rw-r--r--src/devices/bus/cpc/doubler.cpp13
-rw-r--r--src/devices/bus/cpc/hd20.cpp11
-rw-r--r--src/devices/bus/cpc/magicsound.cpp16
-rw-r--r--src/devices/bus/cpc/playcity.cpp12
-rw-r--r--src/devices/bus/cpc/smartwatch.cpp13
-rw-r--r--src/devices/bus/cpc/symbfac2.cpp19
-rw-r--r--src/devices/bus/dmv/dmvbus.cpp13
-rw-r--r--src/devices/bus/dmv/dmvbus.h51
-rw-r--r--src/devices/bus/dmv/k210.cpp13
-rw-r--r--src/devices/bus/dmv/k210.h4
-rw-r--r--src/devices/bus/dmv/k220.cpp3
-rw-r--r--src/devices/bus/dmv/k220.h1
-rw-r--r--src/devices/bus/dmv/k230.cpp13
-rw-r--r--src/devices/bus/dmv/k230.h3
-rw-r--r--src/devices/bus/dmv/k233.cpp2
-rw-r--r--src/devices/bus/dmv/k233.h2
-rw-r--r--src/devices/bus/dmv/k801.cpp8
-rw-r--r--src/devices/bus/dmv/k801.h8
-rw-r--r--src/devices/bus/dmv/k803.cpp17
-rw-r--r--src/devices/bus/dmv/k803.h4
-rw-r--r--src/devices/bus/dmv/k806.cpp8
-rw-r--r--src/devices/bus/dmv/k806.h4
-rw-r--r--src/devices/bus/ecbbus/ecbbus.h38
-rw-r--r--src/devices/bus/econet/e01.cpp8
-rw-r--r--src/devices/bus/econet/econet.h24
-rw-r--r--src/devices/bus/einstein/pipe/pipe.cpp44
-rw-r--r--src/devices/bus/einstein/pipe/pipe.h9
-rw-r--r--src/devices/bus/einstein/pipe/speculator.cpp13
-rw-r--r--src/devices/bus/einstein/pipe/tk02.cpp3
-rw-r--r--src/devices/bus/einstein/userport/userport.h29
-rw-r--r--src/devices/bus/ekara/rom.cpp121
-rw-r--r--src/devices/bus/ekara/rom.h46
-rw-r--r--src/devices/bus/ekara/slot.cpp38
-rw-r--r--src/devices/bus/ekara/slot.h21
-rw-r--r--src/devices/bus/electron/cart/abr.cpp16
-rw-r--r--src/devices/bus/electron/cart/abr.h4
-rw-r--r--src/devices/bus/electron/cart/ap34.cpp28
-rw-r--r--src/devices/bus/electron/cart/ap34.h6
-rw-r--r--src/devices/bus/electron/cart/ap5.cpp171
-rw-r--r--src/devices/bus/electron/cart/ap5.h60
-rw-r--r--src/devices/bus/electron/cart/aqr.cpp19
-rw-r--r--src/devices/bus/electron/cart/aqr.h4
-rw-r--r--src/devices/bus/electron/cart/click.cpp21
-rw-r--r--src/devices/bus/electron/cart/click.h6
-rw-r--r--src/devices/bus/electron/cart/cumana.cpp22
-rw-r--r--src/devices/bus/electron/cart/cumana.h6
-rw-r--r--src/devices/bus/electron/cart/mgc.cpp23
-rw-r--r--src/devices/bus/electron/cart/mgc.h4
-rw-r--r--src/devices/bus/electron/cart/peg400.cpp20
-rw-r--r--src/devices/bus/electron/cart/peg400.h6
-rw-r--r--src/devices/bus/electron/cart/romp144.cpp162
-rw-r--r--src/devices/bus/electron/cart/romp144.h60
-rw-r--r--src/devices/bus/electron/cart/slot.cpp26
-rw-r--r--src/devices/bus/electron/cart/slot.h33
-rw-r--r--src/devices/bus/electron/cart/sndexp.cpp19
-rw-r--r--src/devices/bus/electron/cart/sndexp.h4
-rw-r--r--src/devices/bus/electron/cart/sndexp3.cpp18
-rw-r--r--src/devices/bus/electron/cart/sndexp3.h4
-rw-r--r--src/devices/bus/electron/cart/sp64.cpp14
-rw-r--r--src/devices/bus/electron/cart/sp64.h4
-rw-r--r--src/devices/bus/electron/cart/std.cpp6
-rw-r--r--src/devices/bus/electron/cart/std.h2
-rw-r--r--src/devices/bus/electron/cart/stlefs.cpp32
-rw-r--r--src/devices/bus/electron/cart/stlefs.h8
-rw-r--r--src/devices/bus/electron/cart/tube.cpp91
-rw-r--r--src/devices/bus/electron/cart/tube.h47
-rw-r--r--src/devices/bus/electron/exp.cpp30
-rw-r--r--src/devices/bus/electron/exp.h52
-rw-r--r--src/devices/bus/electron/fbjoy.cpp4
-rw-r--r--src/devices/bus/electron/fbjoy.h2
-rw-r--r--src/devices/bus/electron/m2105.cpp154
-rw-r--r--src/devices/bus/electron/m2105.h9
-rw-r--r--src/devices/bus/electron/plus1.cpp79
-rw-r--r--src/devices/bus/electron/plus1.h8
-rw-r--r--src/devices/bus/electron/plus2.cpp236
-rw-r--r--src/devices/bus/electron/plus2.h62
-rw-r--r--src/devices/bus/electron/plus3.cpp31
-rw-r--r--src/devices/bus/electron/plus3.h6
-rw-r--r--src/devices/bus/electron/pwrjoy.cpp6
-rw-r--r--src/devices/bus/electron/pwrjoy.h4
-rw-r--r--src/devices/bus/electron/rombox.cpp65
-rw-r--r--src/devices/bus/electron/rombox.h4
-rw-r--r--src/devices/bus/electron/romboxp.cpp95
-rw-r--r--src/devices/bus/electron/romboxp.h8
-rw-r--r--src/devices/bus/ep64/exp.cpp3
-rw-r--r--src/devices/bus/ep64/exp.h40
-rw-r--r--src/devices/bus/epson_sio/epson_sio.h38
-rw-r--r--src/devices/bus/epson_sio/pf10.cpp22
-rw-r--r--src/devices/bus/epson_sio/pf10.h3
-rw-r--r--src/devices/bus/epson_sio/tf20.cpp36
-rw-r--r--src/devices/bus/epson_sio/tf20.h5
-rw-r--r--src/devices/bus/gamate/rom.cpp7
-rw-r--r--src/devices/bus/gamate/slot.h16
-rw-r--r--src/devices/bus/gameboy/gb_slot.cpp16
-rw-r--r--src/devices/bus/gameboy/gb_slot.h16
-rw-r--r--src/devices/bus/gameboy/mbc.cpp132
-rw-r--r--src/devices/bus/gameboy/mbc.h132
-rw-r--r--src/devices/bus/gameboy/rom.cpp34
-rw-r--r--src/devices/bus/gameboy/rom.h34
-rw-r--r--src/devices/bus/gamegear/ggext.h38
-rw-r--r--src/devices/bus/gamegear/smsctrladp.cpp11
-rw-r--r--src/devices/bus/gba/gba_slot.h17
-rw-r--r--src/devices/bus/gba/rom.cpp32
-rw-r--r--src/devices/bus/generic/ram.cpp8
-rw-r--r--src/devices/bus/generic/ram.h8
-rw-r--r--src/devices/bus/generic/rom.cpp16
-rw-r--r--src/devices/bus/generic/rom.h16
-rw-r--r--src/devices/bus/generic/slot.cpp20
-rw-r--r--src/devices/bus/generic/slot.h20
-rw-r--r--src/devices/bus/hexbus/hx5102.cpp11
-rw-r--r--src/devices/bus/hp80_io/hp80_io.h27
-rw-r--r--src/devices/bus/hp80_optroms/hp80_optrom.h13
-rw-r--r--src/devices/bus/hp9845_io/98032.cpp7
-rw-r--r--src/devices/bus/hp9845_io/98034.cpp19
-rw-r--r--src/devices/bus/hp9845_io/hp9885.cpp974
-rw-r--r--src/devices/bus/hp9845_io/hp9885.h136
-rw-r--r--src/devices/bus/hp_dio/hp98265a.cpp4
-rw-r--r--src/devices/bus/hp_dio/hp98603a.cpp5
-rw-r--r--src/devices/bus/hp_dio/hp98603b.cpp5
-rw-r--r--src/devices/bus/hp_dio/hp98620.cpp6
-rw-r--r--src/devices/bus/hp_dio/hp98643.cpp2
-rw-r--r--src/devices/bus/hp_dio/hp_dio.cpp6
-rw-r--r--src/devices/bus/hp_dio/hp_dio.h9
-rw-r--r--src/devices/bus/hp_dio/human_interface.cpp12
-rw-r--r--src/devices/bus/ieee488/c2040fdc.h19
-rw-r--r--src/devices/bus/ieee488/c8280.cpp31
-rw-r--r--src/devices/bus/ieee488/hardbox.cpp25
-rw-r--r--src/devices/bus/ieee488/hp9122c.cpp19
-rw-r--r--src/devices/bus/ieee488/ieee488.h116
-rw-r--r--src/devices/bus/ieee488/remote488.cpp7
-rw-r--r--src/devices/bus/ieee488/softbox.cpp31
-rw-r--r--src/devices/bus/imi7000/imi7000.h51
-rw-r--r--src/devices/bus/intellec4/intellec4.cpp29
-rw-r--r--src/devices/bus/intellec4/intellec4.h27
-rw-r--r--src/devices/bus/interpro/keyboard/hle.cpp8
-rw-r--r--src/devices/bus/interpro/sr/edge.cpp4
-rw-r--r--src/devices/bus/interpro/sr/sr.cpp3
-rw-r--r--src/devices/bus/interpro/sr/sr.h26
-rw-r--r--src/devices/bus/intv/ecs.cpp55
-rw-r--r--src/devices/bus/intv/ecs.h54
-rw-r--r--src/devices/bus/intv/rom.h38
-rw-r--r--src/devices/bus/intv/slot.cpp16
-rw-r--r--src/devices/bus/intv/slot.h128
-rw-r--r--src/devices/bus/intv/voice.cpp31
-rw-r--r--src/devices/bus/intv/voice.h42
-rw-r--r--src/devices/bus/intv_ctrl/ctrl.h23
-rw-r--r--src/devices/bus/intv_ctrl/ecs_ctrl.cpp9
-rw-r--r--src/devices/bus/intv_ctrl/ecs_ctrl.h22
-rw-r--r--src/devices/bus/iq151/disc2.cpp11
-rw-r--r--src/devices/bus/iq151/iq151.h52
-rw-r--r--src/devices/bus/isa/3c503.cpp13
-rw-r--r--src/devices/bus/isa/3c505.cpp4
-rw-r--r--src/devices/bus/isa/adlib.cpp14
-rw-r--r--src/devices/bus/isa/aga.cpp25
-rw-r--r--src/devices/bus/isa/aha1542.cpp200
-rw-r--r--src/devices/bus/isa/aha1542.h54
-rw-r--r--src/devices/bus/isa/aha1542b.cpp126
-rw-r--r--src/devices/bus/isa/aha1542b.h57
-rw-r--r--src/devices/bus/isa/aha1542c.cpp323
-rw-r--r--src/devices/bus/isa/aha1542c.h95
-rw-r--r--src/devices/bus/isa/aha174x.cpp160
-rw-r--r--src/devices/bus/isa/aha174x.h61
-rw-r--r--src/devices/bus/isa/bt54x.cpp201
-rw-r--r--src/devices/bus/isa/bt54x.h74
-rw-r--r--src/devices/bus/isa/cga.cpp43
-rw-r--r--src/devices/bus/isa/cl_sh260.cpp93
-rw-r--r--src/devices/bus/isa/cl_sh260.h64
-rw-r--r--src/devices/bus/isa/dcb.cpp70
-rw-r--r--src/devices/bus/isa/dcb.h43
-rw-r--r--src/devices/bus/isa/dectalk.cpp1
-rw-r--r--src/devices/bus/isa/ega.cpp45
-rw-r--r--src/devices/bus/isa/ega.h2
-rw-r--r--src/devices/bus/isa/eis_sad8852.cpp11
-rw-r--r--src/devices/bus/isa/fdc.cpp5
-rw-r--r--src/devices/bus/isa/fdc.h1
-rw-r--r--src/devices/bus/isa/finalchs.cpp9
-rw-r--r--src/devices/bus/isa/gus.cpp22
-rw-r--r--src/devices/bus/isa/gus.h43
-rw-r--r--src/devices/bus/isa/hdc.cpp32
-rw-r--r--src/devices/bus/isa/hdc.h9
-rw-r--r--src/devices/bus/isa/ibm_mfc.cpp17
-rw-r--r--src/devices/bus/isa/isa.cpp92
-rw-r--r--src/devices/bus/isa/isa.h26
-rw-r--r--src/devices/bus/isa/isa_cards.cpp23
-rw-r--r--src/devices/bus/isa/lbaenhancer.cpp7
-rw-r--r--src/devices/bus/isa/mc1502_fdc.cpp12
-rw-r--r--src/devices/bus/isa/mda.cpp57
-rw-r--r--src/devices/bus/isa/mufdc.cpp5
-rw-r--r--src/devices/bus/isa/mufdc.h1
-rw-r--r--src/devices/bus/isa/ne1000.cpp13
-rw-r--r--src/devices/bus/isa/ne2000.cpp13
-rw-r--r--src/devices/bus/isa/np600.cpp76
-rw-r--r--src/devices/bus/isa/np600.h39
-rw-r--r--src/devices/bus/isa/num9rev.cpp21
-rw-r--r--src/devices/bus/isa/omti8621.cpp5
-rw-r--r--src/devices/bus/isa/omti8621.h1
-rw-r--r--src/devices/bus/isa/p1_fdc.cpp15
-rw-r--r--src/devices/bus/isa/p1_hdc.cpp26
-rw-r--r--src/devices/bus/isa/p1_sound.cpp20
-rw-r--r--src/devices/bus/isa/pc1640_iga.cpp4
-rw-r--r--src/devices/bus/isa/pds.cpp7
-rw-r--r--src/devices/bus/isa/pgc.cpp33
-rw-r--r--src/devices/bus/isa/sb16.cpp6
-rw-r--r--src/devices/bus/isa/sblaster.cpp37
-rw-r--r--src/devices/bus/isa/sc499.cpp7
-rw-r--r--src/devices/bus/isa/ssi2001.cpp2
-rw-r--r--src/devices/bus/isa/stereo_fx.cpp5
-rw-r--r--src/devices/bus/isa/svga_cirrus.cpp28
-rw-r--r--src/devices/bus/isa/svga_s3.cpp56
-rw-r--r--src/devices/bus/isa/svga_trident.cpp16
-rw-r--r--src/devices/bus/isa/svga_tseng.cpp16
-rw-r--r--src/devices/bus/isa/vga.cpp16
-rw-r--r--src/devices/bus/isa/vga_ati.cpp53
-rw-r--r--src/devices/bus/isa/wd1007a.cpp7
-rw-r--r--src/devices/bus/isa/wdxt_gen.cpp10
-rw-r--r--src/devices/bus/isa/wdxt_gen.h1
-rw-r--r--src/devices/bus/isbx/compis_fdc.cpp14
-rw-r--r--src/devices/bus/isbx/compis_fdc.h8
-rw-r--r--src/devices/bus/isbx/isbc_218a.cpp18
-rw-r--r--src/devices/bus/isbx/isbc_218a.h12
-rw-r--r--src/devices/bus/isbx/isbx.h24
-rw-r--r--src/devices/bus/jakks_gamekey/rom.cpp111
-rw-r--r--src/devices/bus/jakks_gamekey/rom.h77
-rw-r--r--src/devices/bus/jakks_gamekey/slot.cpp237
-rw-r--r--src/devices/bus/jakks_gamekey/slot.h119
-rw-r--r--src/devices/bus/kc/d002.cpp60
-rw-r--r--src/devices/bus/kc/d004.cpp4
-rw-r--r--src/devices/bus/kc/kc.h62
-rw-r--r--src/devices/bus/lpci/mpc105.cpp4
-rw-r--r--src/devices/bus/lpci/mpc105.h10
-rw-r--r--src/devices/bus/lpci/pci.h16
-rw-r--r--src/devices/bus/lpci/southbridge.cpp55
-rw-r--r--src/devices/bus/lpci/southbridge.h1
-rw-r--r--src/devices/bus/m5/slot.h17
-rw-r--r--src/devices/bus/macpds/macpds.h16
-rw-r--r--src/devices/bus/macpds/pds_tpdfpd.cpp13
-rw-r--r--src/devices/bus/megadrive/eeprom.cpp49
-rw-r--r--src/devices/bus/megadrive/ggenie.cpp9
-rw-r--r--src/devices/bus/megadrive/jcart.cpp14
-rw-r--r--src/devices/bus/megadrive/md_slot.h18
-rw-r--r--src/devices/bus/megadrive/sk.cpp9
-rw-r--r--src/devices/bus/megadrive/svp.cpp11
-rw-r--r--src/devices/bus/midi/midi.h8
-rw-r--r--src/devices/bus/midi/midiinport.cpp9
-rw-r--r--src/devices/bus/midi/midioutport.cpp7
-rw-r--r--src/devices/bus/msx_cart/arc.cpp11
-rw-r--r--src/devices/bus/msx_cart/arc.h8
-rw-r--r--src/devices/bus/msx_cart/ascii.cpp50
-rw-r--r--src/devices/bus/msx_cart/ascii.h25
-rw-r--r--src/devices/bus/msx_cart/bm_012.cpp17
-rw-r--r--src/devices/bus/msx_cart/cartridge.cpp19
-rw-r--r--src/devices/bus/msx_cart/cartridge.h21
-rw-r--r--src/devices/bus/msx_cart/crossblaim.cpp10
-rw-r--r--src/devices/bus/msx_cart/crossblaim.h5
-rw-r--r--src/devices/bus/msx_cart/disk.cpp74
-rw-r--r--src/devices/bus/msx_cart/disk.h18
-rw-r--r--src/devices/bus/msx_cart/dooly.cpp4
-rw-r--r--src/devices/bus/msx_cart/dooly.h4
-rw-r--r--src/devices/bus/msx_cart/fmpac.cpp29
-rw-r--r--src/devices/bus/msx_cart/fmpac.h9
-rw-r--r--src/devices/bus/msx_cart/fs_sr022.cpp4
-rw-r--r--src/devices/bus/msx_cart/fs_sr022.h4
-rw-r--r--src/devices/bus/msx_cart/halnote.cpp10
-rw-r--r--src/devices/bus/msx_cart/halnote.h5
-rw-r--r--src/devices/bus/msx_cart/hfox.cpp10
-rw-r--r--src/devices/bus/msx_cart/hfox.h5
-rw-r--r--src/devices/bus/msx_cart/holy_quran.cpp10
-rw-r--r--src/devices/bus/msx_cart/holy_quran.h5
-rw-r--r--src/devices/bus/msx_cart/konami.cpp142
-rw-r--r--src/devices/bus/msx_cart/konami.h32
-rw-r--r--src/devices/bus/msx_cart/korean.cpp35
-rw-r--r--src/devices/bus/msx_cart/korean.h17
-rw-r--r--src/devices/bus/msx_cart/majutsushi.cpp22
-rw-r--r--src/devices/bus/msx_cart/majutsushi.h5
-rw-r--r--src/devices/bus/msx_cart/moonsound.cpp29
-rw-r--r--src/devices/bus/msx_cart/moonsound.h10
-rw-r--r--src/devices/bus/msx_cart/msx_audio.cpp43
-rw-r--r--src/devices/bus/msx_cart/msx_audio.h18
-rw-r--r--src/devices/bus/msx_cart/msx_audio_kb.cpp16
-rw-r--r--src/devices/bus/msx_cart/msx_audio_kb.h9
-rw-r--r--src/devices/bus/msx_cart/msxdos2.cpp10
-rw-r--r--src/devices/bus/msx_cart/msxdos2.h5
-rw-r--r--src/devices/bus/msx_cart/nomapper.cpp2
-rw-r--r--src/devices/bus/msx_cart/nomapper.h2
-rw-r--r--src/devices/bus/msx_cart/rtype.cpp10
-rw-r--r--src/devices/bus/msx_cart/rtype.h5
-rw-r--r--src/devices/bus/msx_cart/super_swangi.cpp10
-rw-r--r--src/devices/bus/msx_cart/super_swangi.h5
-rw-r--r--src/devices/bus/msx_cart/superloderunner.cpp15
-rw-r--r--src/devices/bus/msx_cart/superloderunner.h7
-rw-r--r--src/devices/bus/msx_cart/yamaha.cpp18
-rw-r--r--src/devices/bus/msx_cart/yamaha.h5
-rw-r--r--src/devices/bus/msx_slot/bunsetsu.cpp6
-rw-r--r--src/devices/bus/msx_slot/bunsetsu.h9
-rw-r--r--src/devices/bus/msx_slot/cartridge.cpp25
-rw-r--r--src/devices/bus/msx_slot/cartridge.h21
-rw-r--r--src/devices/bus/msx_slot/disk.cpp75
-rw-r--r--src/devices/bus/msx_slot/disk.h98
-rw-r--r--src/devices/bus/msx_slot/fs4600.cpp12
-rw-r--r--src/devices/bus/msx_slot/fs4600.h9
-rw-r--r--src/devices/bus/msx_slot/music.cpp11
-rw-r--r--src/devices/bus/msx_slot/music.h11
-rw-r--r--src/devices/bus/msx_slot/panasonic08.cpp12
-rw-r--r--src/devices/bus/msx_slot/panasonic08.h9
-rw-r--r--src/devices/bus/msx_slot/ram.cpp6
-rw-r--r--src/devices/bus/msx_slot/ram.h12
-rw-r--r--src/devices/bus/msx_slot/ram_mm.cpp22
-rw-r--r--src/devices/bus/msx_slot/ram_mm.h22
-rw-r--r--src/devices/bus/msx_slot/rom.cpp4
-rw-r--r--src/devices/bus/msx_slot/rom.h6
-rw-r--r--src/devices/bus/msx_slot/slot.cpp7
-rw-r--r--src/devices/bus/msx_slot/slot.h20
-rw-r--r--src/devices/bus/msx_slot/sony08.cpp12
-rw-r--r--src/devices/bus/msx_slot/sony08.h9
-rw-r--r--src/devices/bus/mtx/exp.cpp109
-rw-r--r--src/devices/bus/mtx/exp.h93
-rw-r--r--src/devices/bus/mtx/sdx.cpp425
-rw-r--r--src/devices/bus/mtx/sdx.h105
-rw-r--r--src/devices/bus/nasbus/avc.cpp15
-rw-r--r--src/devices/bus/nasbus/nasbus.cpp35
-rw-r--r--src/devices/bus/nasbus/nasbus.h42
-rw-r--r--src/devices/bus/neogeo/boot_cthd.cpp18
-rw-r--r--src/devices/bus/neogeo/boot_kof10th.cpp7
-rw-r--r--src/devices/bus/neogeo/boot_kof2k2.cpp39
-rw-r--r--src/devices/bus/neogeo/boot_kof2k3.cpp43
-rw-r--r--src/devices/bus/neogeo/boot_misc.cpp27
-rw-r--r--src/devices/bus/neogeo/boot_svc.cpp18
-rw-r--r--src/devices/bus/neogeo/cmc.cpp19
-rw-r--r--src/devices/bus/neogeo/cmc.h8
-rw-r--r--src/devices/bus/neogeo/fatfury2.cpp7
-rw-r--r--src/devices/bus/neogeo/kof2k2.cpp13
-rw-r--r--src/devices/bus/neogeo/kof98.cpp7
-rw-r--r--src/devices/bus/neogeo/mslugx.cpp7
-rw-r--r--src/devices/bus/neogeo/pcm2.cpp9
-rw-r--r--src/devices/bus/neogeo/prot_cmc.h5
-rw-r--r--src/devices/bus/neogeo/prot_cthd.h6
-rw-r--r--src/devices/bus/neogeo/prot_fatfury2.h5
-rw-r--r--src/devices/bus/neogeo/prot_kof2k2.h5
-rw-r--r--src/devices/bus/neogeo/prot_kof2k3bl.h5
-rw-r--r--src/devices/bus/neogeo/prot_kof98.h5
-rw-r--r--src/devices/bus/neogeo/prot_misc.h5
-rw-r--r--src/devices/bus/neogeo/prot_mslugx.h5
-rw-r--r--src/devices/bus/neogeo/prot_pcm2.h5
-rw-r--r--src/devices/bus/neogeo/prot_pvc.h5
-rw-r--r--src/devices/bus/neogeo/prot_sma.h5
-rw-r--r--src/devices/bus/neogeo/pvc.cpp11
-rw-r--r--src/devices/bus/neogeo/rom.cpp12
-rw-r--r--src/devices/bus/neogeo/rom.h8
-rw-r--r--src/devices/bus/neogeo/slot.h20
-rw-r--r--src/devices/bus/neogeo/sma.cpp9
-rw-r--r--src/devices/bus/neogeo_ctrl/ctrl.h32
-rw-r--r--src/devices/bus/nes/2a03pur.cpp4
-rw-r--r--src/devices/bus/nes/2a03pur.h4
-rw-r--r--src/devices/bus/nes/act53.cpp4
-rw-r--r--src/devices/bus/nes/act53.h4
-rw-r--r--src/devices/bus/nes/aladdin.cpp21
-rw-r--r--src/devices/bus/nes/aladdin.h23
-rw-r--r--src/devices/bus/nes/ave.cpp6
-rw-r--r--src/devices/bus/nes/ave.h6
-rw-r--r--src/devices/bus/nes/bandai.cpp40
-rw-r--r--src/devices/bus/nes/bandai.h22
-rw-r--r--src/devices/bus/nes/benshieng.cpp2
-rw-r--r--src/devices/bus/nes/benshieng.h2
-rw-r--r--src/devices/bus/nes/bootleg.cpp98
-rw-r--r--src/devices/bus/nes/bootleg.h98
-rw-r--r--src/devices/bus/nes/camerica.cpp6
-rw-r--r--src/devices/bus/nes/camerica.h8
-rw-r--r--src/devices/bus/nes/cne.cpp8
-rw-r--r--src/devices/bus/nes/cne.h8
-rw-r--r--src/devices/bus/nes/cony.cpp12
-rw-r--r--src/devices/bus/nes/cony.h12
-rw-r--r--src/devices/bus/nes/datach.cpp36
-rw-r--r--src/devices/bus/nes/datach.h24
-rw-r--r--src/devices/bus/nes/discrete.cpp8
-rw-r--r--src/devices/bus/nes/discrete.h8
-rw-r--r--src/devices/bus/nes/disksys.cpp19
-rw-r--r--src/devices/bus/nes/disksys.h12
-rw-r--r--src/devices/bus/nes/ggenie.cpp38
-rw-r--r--src/devices/bus/nes/ggenie.h22
-rw-r--r--src/devices/bus/nes/henggedianzi.cpp8
-rw-r--r--src/devices/bus/nes/henggedianzi.h8
-rw-r--r--src/devices/bus/nes/hes.cpp2
-rw-r--r--src/devices/bus/nes/hes.h2
-rw-r--r--src/devices/bus/nes/hosenkan.cpp2
-rw-r--r--src/devices/bus/nes/hosenkan.h2
-rw-r--r--src/devices/bus/nes/irem.cpp10
-rw-r--r--src/devices/bus/nes/irem.h10
-rw-r--r--src/devices/bus/nes/jaleco.cpp22
-rw-r--r--src/devices/bus/nes/jaleco.h28
-rw-r--r--src/devices/bus/nes/jy.cpp20
-rw-r--r--src/devices/bus/nes/jy.h14
-rw-r--r--src/devices/bus/nes/kaiser.cpp48
-rw-r--r--src/devices/bus/nes/kaiser.h46
-rw-r--r--src/devices/bus/nes/karastudio.cpp23
-rw-r--r--src/devices/bus/nes/karastudio.h25
-rw-r--r--src/devices/bus/nes/konami.cpp50
-rw-r--r--src/devices/bus/nes/konami.h18
-rw-r--r--src/devices/bus/nes/legacy.cpp12
-rw-r--r--src/devices/bus/nes/legacy.h14
-rw-r--r--src/devices/bus/nes/mmc1.cpp24
-rw-r--r--src/devices/bus/nes/mmc1.h18
-rw-r--r--src/devices/bus/nes/mmc2.cpp6
-rw-r--r--src/devices/bus/nes/mmc2.h6
-rw-r--r--src/devices/bus/nes/mmc3.cpp28
-rw-r--r--src/devices/bus/nes/mmc3.h20
-rw-r--r--src/devices/bus/nes/mmc3_clones.cpp202
-rw-r--r--src/devices/bus/nes/mmc3_clones.h112
-rw-r--r--src/devices/bus/nes/mmc5.cpp24
-rw-r--r--src/devices/bus/nes/mmc5.h20
-rw-r--r--src/devices/bus/nes/multigame.cpp128
-rw-r--r--src/devices/bus/nes/multigame.h122
-rw-r--r--src/devices/bus/nes/namcot.cpp44
-rw-r--r--src/devices/bus/nes/namcot.h40
-rw-r--r--src/devices/bus/nes/nanjing.cpp4
-rw-r--r--src/devices/bus/nes/nanjing.h4
-rw-r--r--src/devices/bus/nes/nes_slot.cpp63
-rw-r--r--src/devices/bus/nes/nes_slot.h51
-rw-r--r--src/devices/bus/nes/ntdec.cpp4
-rw-r--r--src/devices/bus/nes/ntdec.h4
-rw-r--r--src/devices/bus/nes/nxrom.cpp35
-rw-r--r--src/devices/bus/nes/nxrom.h28
-rw-r--r--src/devices/bus/nes/pirate.cpp48
-rw-r--r--src/devices/bus/nes/pirate.h46
-rw-r--r--src/devices/bus/nes/pt554.cpp2
-rw-r--r--src/devices/bus/nes/pt554.h2
-rw-r--r--src/devices/bus/nes/racermate.cpp2
-rw-r--r--src/devices/bus/nes/racermate.h2
-rw-r--r--src/devices/bus/nes/rcm.cpp12
-rw-r--r--src/devices/bus/nes/rcm.h14
-rw-r--r--src/devices/bus/nes/rexsoft.cpp8
-rw-r--r--src/devices/bus/nes/rexsoft.h10
-rw-r--r--src/devices/bus/nes/sachen.cpp26
-rw-r--r--src/devices/bus/nes/sachen.h34
-rw-r--r--src/devices/bus/nes/somari.cpp16
-rw-r--r--src/devices/bus/nes/somari.h12
-rw-r--r--src/devices/bus/nes/subor.cpp12
-rw-r--r--src/devices/bus/nes/subor.h10
-rw-r--r--src/devices/bus/nes/sunsoft.cpp30
-rw-r--r--src/devices/bus/nes/sunsoft.h24
-rw-r--r--src/devices/bus/nes/sunsoft_dcs.cpp27
-rw-r--r--src/devices/bus/nes/sunsoft_dcs.h27
-rw-r--r--src/devices/bus/nes/taito.cpp18
-rw-r--r--src/devices/bus/nes/taito.h14
-rw-r--r--src/devices/bus/nes/tengen.cpp8
-rw-r--r--src/devices/bus/nes/tengen.h8
-rw-r--r--src/devices/bus/nes/txc.cpp16
-rw-r--r--src/devices/bus/nes/txc.h16
-rw-r--r--src/devices/bus/nes/waixing.cpp46
-rw-r--r--src/devices/bus/nes/waixing.h36
-rw-r--r--src/devices/bus/nes/zemina.cpp2
-rw-r--r--src/devices/bus/nes/zemina.h2
-rw-r--r--src/devices/bus/nes_ctrl/fckeybrd.cpp11
-rw-r--r--src/devices/bus/nes_ctrl/miracle.cpp10
-rw-r--r--src/devices/bus/newbrain/eim.cpp25
-rw-r--r--src/devices/bus/newbrain/eim.h8
-rw-r--r--src/devices/bus/newbrain/exp.cpp16
-rw-r--r--src/devices/bus/newbrain/exp.h37
-rw-r--r--src/devices/bus/newbrain/fdc.cpp45
-rw-r--r--src/devices/bus/newbrain/fdc.h14
-rw-r--r--src/devices/bus/nubus/nubus.cpp56
-rw-r--r--src/devices/bus/nubus/nubus.h51
-rw-r--r--src/devices/bus/nubus/nubus_48gc.cpp19
-rw-r--r--src/devices/bus/nubus/nubus_asntmc3b.cpp13
-rw-r--r--src/devices/bus/nubus/nubus_cb264.cpp15
-rw-r--r--src/devices/bus/nubus/nubus_image.cpp7
-rw-r--r--src/devices/bus/nubus/nubus_m2hires.cpp15
-rw-r--r--src/devices/bus/nubus/nubus_m2video.cpp15
-rw-r--r--src/devices/bus/nubus/nubus_radiustpd.cpp13
-rw-r--r--src/devices/bus/nubus/nubus_spec8.cpp15
-rw-r--r--src/devices/bus/nubus/nubus_specpdq.cpp99
-rw-r--r--src/devices/bus/nubus/nubus_vikbw.cpp15
-rw-r--r--src/devices/bus/nubus/nubus_wsportrait.cpp15
-rw-r--r--src/devices/bus/nubus/pds30_30hr.cpp15
-rw-r--r--src/devices/bus/nubus/pds30_cb264.cpp15
-rw-r--r--src/devices/bus/nubus/pds30_mc30.cpp15
-rw-r--r--src/devices/bus/nubus/pds30_procolor816.cpp15
-rw-r--r--src/devices/bus/nubus/pds30_sigmalview.cpp15
-rw-r--r--src/devices/bus/odyssey2/chess.cpp11
-rw-r--r--src/devices/bus/odyssey2/slot.h16
-rw-r--r--src/devices/bus/odyssey2/voice.cpp7
-rw-r--r--src/devices/bus/pc1512/mouse.h37
-rw-r--r--src/devices/bus/pc_kbd/ec1841.cpp33
-rw-r--r--src/devices/bus/pc_kbd/iskr1030.cpp39
-rw-r--r--src/devices/bus/pc_kbd/pc_kbdc.cpp24
-rw-r--r--src/devices/bus/pc_kbd/pc_kbdc.h17
-rw-r--r--src/devices/bus/pce/pce_slot.h22
-rw-r--r--src/devices/bus/pet/2joysnd.cpp11
-rw-r--r--src/devices/bus/pet/64k.cpp6
-rw-r--r--src/devices/bus/pet/64k.h6
-rw-r--r--src/devices/bus/pet/c2n.cpp13
-rw-r--r--src/devices/bus/pet/cass.h13
-rw-r--r--src/devices/bus/pet/cb2snd.cpp11
-rw-r--r--src/devices/bus/pet/exp.cpp12
-rw-r--r--src/devices/bus/pet/exp.h32
-rw-r--r--src/devices/bus/pet/hsg.cpp66
-rw-r--r--src/devices/bus/pet/hsg.h9
-rw-r--r--src/devices/bus/pet/superpet.cpp16
-rw-r--r--src/devices/bus/pet/superpet.h6
-rw-r--r--src/devices/bus/plus4/c1551.cpp38
-rw-r--r--src/devices/bus/plus4/c1551.h26
-rw-r--r--src/devices/bus/plus4/exp.cpp8
-rw-r--r--src/devices/bus/plus4/exp.h43
-rw-r--r--src/devices/bus/plus4/sid.cpp20
-rw-r--r--src/devices/bus/plus4/sid.h4
-rw-r--r--src/devices/bus/plus4/std.cpp2
-rw-r--r--src/devices/bus/plus4/std.h2
-rw-r--r--src/devices/bus/pofo/ccm.h31
-rw-r--r--src/devices/bus/pofo/exp.h44
-rw-r--r--src/devices/bus/pofo/hpc101.cpp37
-rw-r--r--src/devices/bus/pofo/hpc101.h4
-rw-r--r--src/devices/bus/pofo/hpc102.cpp8
-rw-r--r--src/devices/bus/pofo/hpc102.h4
-rw-r--r--src/devices/bus/pofo/hpc104.cpp27
-rw-r--r--src/devices/bus/pofo/hpc104.h4
-rw-r--r--src/devices/bus/pofo/ram.cpp4
-rw-r--r--src/devices/bus/pofo/ram.h4
-rw-r--r--src/devices/bus/pofo/rom.cpp2
-rw-r--r--src/devices/bus/pofo/rom.h2
-rw-r--r--src/devices/bus/psi_kbd/ergoline.cpp11
-rw-r--r--src/devices/bus/psi_kbd/psi_kbd.h34
-rw-r--r--src/devices/bus/psx/ctlrport.cpp7
-rw-r--r--src/devices/bus/psx/ctlrport.h5
-rw-r--r--src/devices/bus/psx/gamebooster.cpp8
-rw-r--r--src/devices/bus/psx/memcard.h2
-rw-r--r--src/devices/bus/ql/cst_q_plus4.cpp43
-rw-r--r--src/devices/bus/ql/cst_q_plus4.h4
-rw-r--r--src/devices/bus/ql/cst_qdisc.cpp4
-rw-r--r--src/devices/bus/ql/cst_qdisc.h4
-rw-r--r--src/devices/bus/ql/cumana_fdi.cpp4
-rw-r--r--src/devices/bus/ql/cumana_fdi.h4
-rw-r--r--src/devices/bus/ql/exp.h34
-rw-r--r--src/devices/bus/ql/kempston_di.cpp4
-rw-r--r--src/devices/bus/ql/kempston_di.h4
-rw-r--r--src/devices/bus/ql/miracle_gold_card.cpp4
-rw-r--r--src/devices/bus/ql/miracle_gold_card.h4
-rw-r--r--src/devices/bus/ql/miracle_hd.cpp4
-rw-r--r--src/devices/bus/ql/miracle_hd.h4
-rw-r--r--src/devices/bus/ql/mp_fdi.cpp4
-rw-r--r--src/devices/bus/ql/mp_fdi.h4
-rw-r--r--src/devices/bus/ql/opd_basic_master.cpp4
-rw-r--r--src/devices/bus/ql/opd_basic_master.h4
-rw-r--r--src/devices/bus/ql/pcml_qdisk.cpp4
-rw-r--r--src/devices/bus/ql/pcml_qdisk.h4
-rw-r--r--src/devices/bus/ql/qubide.cpp4
-rw-r--r--src/devices/bus/ql/qubide.h4
-rw-r--r--src/devices/bus/ql/rom.h8
-rw-r--r--src/devices/bus/ql/sandy_superdisk.cpp4
-rw-r--r--src/devices/bus/ql/sandy_superdisk.h4
-rw-r--r--src/devices/bus/ql/sandy_superqboard.cpp4
-rw-r--r--src/devices/bus/ql/sandy_superqboard.h4
-rw-r--r--src/devices/bus/ql/std.cpp2
-rw-r--r--src/devices/bus/ql/std.h2
-rw-r--r--src/devices/bus/ql/trumpcard.cpp4
-rw-r--r--src/devices/bus/ql/trumpcard.h4
-rw-r--r--src/devices/bus/rs232/null_modem.cpp7
-rw-r--r--src/devices/bus/rs232/printer.cpp9
-rw-r--r--src/devices/bus/rs232/xvd701.cpp5
-rw-r--r--src/devices/bus/s100/dj2db.cpp8
-rw-r--r--src/devices/bus/s100/dj2db.h8
-rw-r--r--src/devices/bus/s100/djdma.cpp2
-rw-r--r--src/devices/bus/s100/djdma.h2
-rw-r--r--src/devices/bus/s100/mm65k16s.cpp4
-rw-r--r--src/devices/bus/s100/mm65k16s.h4
-rw-r--r--src/devices/bus/s100/nsmdsa.cpp14
-rw-r--r--src/devices/bus/s100/nsmdsa.h5
-rw-r--r--src/devices/bus/s100/nsmdsad.cpp14
-rw-r--r--src/devices/bus/s100/nsmdsad.h5
-rw-r--r--src/devices/bus/s100/s100.cpp16
-rw-r--r--src/devices/bus/s100/s100.h121
-rw-r--r--src/devices/bus/s100/seals8k.cpp8
-rw-r--r--src/devices/bus/s100/wunderbus.cpp16
-rw-r--r--src/devices/bus/s100/wunderbus.h4
-rw-r--r--src/devices/bus/saturn/sat_slot.h16
-rw-r--r--src/devices/bus/sbus/cgthree.cpp4
-rw-r--r--src/devices/bus/scsi/omti5100.cpp9
-rw-r--r--src/devices/bus/scsi/s1410.cpp17
-rw-r--r--src/devices/bus/scsi/sa1403d.cpp7
-rw-r--r--src/devices/bus/scsi/scsi.h88
-rw-r--r--src/devices/bus/scsi/scsicd.cpp10
-rw-r--r--src/devices/bus/scsi/scsihd.cpp8
-rw-r--r--src/devices/bus/scsi/scsihle.h6
-rw-r--r--src/devices/bus/scv/slot.h16
-rw-r--r--src/devices/bus/sega8/ccatch.cpp7
-rw-r--r--src/devices/bus/sega8/mgear.cpp9
-rw-r--r--src/devices/bus/sega8/rom.cpp112
-rw-r--r--src/devices/bus/sega8/rom.h56
-rw-r--r--src/devices/bus/sega8/sega8_slot.cpp91
-rw-r--r--src/devices/bus/sega8/sega8_slot.h262
-rw-r--r--src/devices/bus/sg1000_exp/fm_unit.cpp13
-rw-r--r--src/devices/bus/sg1000_exp/kblink.cpp179
-rw-r--r--src/devices/bus/sg1000_exp/kblink.h82
-rw-r--r--src/devices/bus/sg1000_exp/sg1000exp.h26
-rw-r--r--src/devices/bus/sg1000_exp/sk1100.cpp45
-rw-r--r--src/devices/bus/sg1000_exp/sk1100.h3
-rw-r--r--src/devices/bus/sg1000_exp/sk1100prn.cpp125
-rw-r--r--src/devices/bus/sg1000_exp/sk1100prn.h88
-rw-r--r--src/devices/bus/sms_ctrl/multitap.cpp21
-rw-r--r--src/devices/bus/sms_ctrl/rfu.cpp11
-rw-r--r--src/devices/bus/sms_ctrl/smsctrl.h34
-rw-r--r--src/devices/bus/sms_exp/gender.cpp7
-rw-r--r--src/devices/bus/sms_exp/smsexp.h23
-rw-r--r--src/devices/bus/snes/bsx.cpp38
-rw-r--r--src/devices/bus/snes/bsx.h32
-rw-r--r--src/devices/bus/snes/event.cpp23
-rw-r--r--src/devices/bus/snes/event.h12
-rw-r--r--src/devices/bus/snes/rom.cpp54
-rw-r--r--src/devices/bus/snes/rom.h54
-rw-r--r--src/devices/bus/snes/rom21.cpp8
-rw-r--r--src/devices/bus/snes/rom21.h8
-rw-r--r--src/devices/bus/snes/sa1.cpp87
-rw-r--r--src/devices/bus/snes/sa1.h32
-rw-r--r--src/devices/bus/snes/sdd1.cpp14
-rw-r--r--src/devices/bus/snes/sdd1.h12
-rw-r--r--src/devices/bus/snes/sfx.cpp26
-rw-r--r--src/devices/bus/snes/sfx.h26
-rw-r--r--src/devices/bus/snes/sgb.cpp44
-rw-r--r--src/devices/bus/snes/sgb.h33
-rw-r--r--src/devices/bus/snes/snes_slot.cpp51
-rw-r--r--src/devices/bus/snes/snes_slot.h36
-rw-r--r--src/devices/bus/snes/spc7110.cpp12
-rw-r--r--src/devices/bus/snes/spc7110.h20
-rw-r--r--src/devices/bus/snes/sufami.cpp26
-rw-r--r--src/devices/bus/snes/sufami.h10
-rw-r--r--src/devices/bus/snes/upd.cpp170
-rw-r--r--src/devices/bus/snes/upd.h30
-rw-r--r--src/devices/bus/snes_ctrl/ctrl.h22
-rw-r--r--src/devices/bus/snes_ctrl/miracle.cpp10
-rw-r--r--src/devices/bus/snes_ctrl/multitap.cpp13
-rw-r--r--src/devices/bus/spc1000/exp.h9
-rw-r--r--src/devices/bus/spectrum/beta.cpp256
-rw-r--r--src/devices/bus/spectrum/beta.h64
-rw-r--r--src/devices/bus/spectrum/exp.cpp63
-rw-r--r--src/devices/bus/spectrum/exp.h22
-rw-r--r--src/devices/bus/spectrum/fuller.cpp65
-rw-r--r--src/devices/bus/spectrum/fuller.h11
-rw-r--r--src/devices/bus/spectrum/intf1.cpp47
-rw-r--r--src/devices/bus/spectrum/intf1.h8
-rw-r--r--src/devices/bus/spectrum/intf2.cpp19
-rw-r--r--src/devices/bus/spectrum/intf2.h4
-rw-r--r--src/devices/bus/spectrum/kempjoy.cpp20
-rw-r--r--src/devices/bus/spectrum/kempjoy.h5
-rw-r--r--src/devices/bus/spectrum/melodik.cpp55
-rw-r--r--src/devices/bus/spectrum/melodik.h9
-rw-r--r--src/devices/bus/spectrum/mface.cpp321
-rw-r--r--src/devices/bus/spectrum/mface.h100
-rw-r--r--src/devices/bus/spectrum/mikroplus.cpp22
-rw-r--r--src/devices/bus/spectrum/mikroplus.h6
-rw-r--r--src/devices/bus/spectrum/opus.cpp289
-rw-r--r--src/devices/bus/spectrum/opus.h75
-rw-r--r--src/devices/bus/spectrum/plus2test.cpp2
-rw-r--r--src/devices/bus/spectrum/plus2test.h2
-rw-r--r--src/devices/bus/spectrum/protek.cpp17
-rw-r--r--src/devices/bus/spectrum/protek.h2
-rw-r--r--src/devices/bus/spectrum/specdrum.cpp73
-rw-r--r--src/devices/bus/spectrum/specdrum.h51
-rw-r--r--src/devices/bus/spectrum/uslot.cpp38
-rw-r--r--src/devices/bus/spectrum/uslot.h8
-rw-r--r--src/devices/bus/spectrum/usource.cpp13
-rw-r--r--src/devices/bus/spectrum/usource.h3
-rw-r--r--src/devices/bus/spectrum/uspeech.cpp40
-rw-r--r--src/devices/bus/spectrum/uspeech.h6
-rw-r--r--src/devices/bus/ss50/interface.cpp10
-rw-r--r--src/devices/bus/ss50/interface.h37
-rw-r--r--src/devices/bus/ss50/mpc.cpp23
-rw-r--r--src/devices/bus/ss50/mps.cpp12
-rw-r--r--src/devices/bus/sunkbd/hlekbd.cpp8
-rw-r--r--src/devices/bus/svi3x8/expander/expander.cpp16
-rw-r--r--src/devices/bus/svi3x8/expander/expander.h74
-rw-r--r--src/devices/bus/svi3x8/expander/sv601.cpp35
-rw-r--r--src/devices/bus/svi3x8/expander/sv601.h8
-rw-r--r--src/devices/bus/svi3x8/expander/sv602.cpp23
-rw-r--r--src/devices/bus/svi3x8/expander/sv602.h8
-rw-r--r--src/devices/bus/svi3x8/expander/sv603.cpp119
-rw-r--r--src/devices/bus/svi3x8/expander/sv603.h17
-rw-r--r--src/devices/bus/svi3x8/slot/slot.cpp35
-rw-r--r--src/devices/bus/svi3x8/slot/slot.h55
-rw-r--r--src/devices/bus/svi3x8/slot/sv801.cpp8
-rw-r--r--src/devices/bus/svi3x8/slot/sv801.h6
-rw-r--r--src/devices/bus/svi3x8/slot/sv802.cpp16
-rw-r--r--src/devices/bus/svi3x8/slot/sv802.h4
-rw-r--r--src/devices/bus/svi3x8/slot/sv803.cpp4
-rw-r--r--src/devices/bus/svi3x8/slot/sv803.h4
-rw-r--r--src/devices/bus/svi3x8/slot/sv805.cpp8
-rw-r--r--src/devices/bus/svi3x8/slot/sv805.h4
-rw-r--r--src/devices/bus/svi3x8/slot/sv806.cpp14
-rw-r--r--src/devices/bus/svi3x8/slot/sv806.h8
-rw-r--r--src/devices/bus/svi3x8/slot/sv807.cpp4
-rw-r--r--src/devices/bus/svi3x8/slot/sv807.h4
-rw-r--r--src/devices/bus/ti8x/bitsocket.cpp7
-rw-r--r--src/devices/bus/ti8x/teeconn.cpp19
-rw-r--r--src/devices/bus/ti8x/ti8x.h11
-rw-r--r--src/devices/bus/ti8x/tispeaker.cpp19
-rw-r--r--src/devices/bus/ti99/gromport/cartridges.cpp56
-rw-r--r--src/devices/bus/ti99/gromport/cartridges.h36
-rw-r--r--src/devices/bus/ti99/gromport/gkracker.cpp12
-rw-r--r--src/devices/bus/ti99/gromport/gkracker.h4
-rw-r--r--src/devices/bus/ti99/gromport/gromport.cpp12
-rw-r--r--src/devices/bus/ti99/gromport/gromport.h9
-rw-r--r--src/devices/bus/ti99/gromport/multiconn.cpp16
-rw-r--r--src/devices/bus/ti99/gromport/multiconn.h4
-rw-r--r--src/devices/bus/ti99/gromport/singleconn.cpp12
-rw-r--r--src/devices/bus/ti99/gromport/singleconn.h4
-rw-r--r--src/devices/bus/ti99/internal/992board.cpp10
-rw-r--r--src/devices/bus/ti99/internal/992board.h4
-rw-r--r--src/devices/bus/ti99/internal/998board.cpp78
-rw-r--r--src/devices/bus/ti99/internal/998board.h29
-rw-r--r--src/devices/bus/ti99/internal/datamux.cpp75
-rw-r--r--src/devices/bus/ti99/internal/datamux.h19
-rw-r--r--src/devices/bus/ti99/internal/genboard.cpp48
-rw-r--r--src/devices/bus/ti99/internal/genboard.h14
-rw-r--r--src/devices/bus/ti99/internal/ioport.cpp14
-rw-r--r--src/devices/bus/ti99/internal/ioport.h20
-rw-r--r--src/devices/bus/ti99/joyport/handset.cpp1
-rw-r--r--src/devices/bus/ti99/peb/bwg.cpp12
-rw-r--r--src/devices/bus/ti99/peb/bwg.h4
-rw-r--r--src/devices/bus/ti99/peb/evpc.cpp11
-rw-r--r--src/devices/bus/ti99/peb/evpc.h4
-rw-r--r--src/devices/bus/ti99/peb/hfdc.cpp22
-rw-r--r--src/devices/bus/ti99/peb/hfdc.h10
-rw-r--r--src/devices/bus/ti99/peb/horizon.cpp4
-rw-r--r--src/devices/bus/ti99/peb/horizon.h4
-rw-r--r--src/devices/bus/ti99/peb/hsgpl.cpp44
-rw-r--r--src/devices/bus/ti99/peb/hsgpl.h14
-rw-r--r--src/devices/bus/ti99/peb/memex.cpp7
-rw-r--r--src/devices/bus/ti99/peb/memex.h4
-rw-r--r--src/devices/bus/ti99/peb/myarcmem.cpp4
-rw-r--r--src/devices/bus/ti99/peb/myarcmem.h4
-rw-r--r--src/devices/bus/ti99/peb/pcode.cpp8
-rw-r--r--src/devices/bus/ti99/peb/pcode.h6
-rw-r--r--src/devices/bus/ti99/peb/peribox.cpp28
-rw-r--r--src/devices/bus/ti99/peb/peribox.h12
-rw-r--r--src/devices/bus/ti99/peb/samsmem.cpp4
-rw-r--r--src/devices/bus/ti99/peb/samsmem.h4
-rw-r--r--src/devices/bus/ti99/peb/spchsyn.cpp13
-rw-r--r--src/devices/bus/ti99/peb/spchsyn.h5
-rw-r--r--src/devices/bus/ti99/peb/ti_32kmem.cpp7
-rw-r--r--src/devices/bus/ti99/peb/ti_32kmem.h4
-rw-r--r--src/devices/bus/ti99/peb/ti_fdc.cpp8
-rw-r--r--src/devices/bus/ti99/peb/ti_fdc.h4
-rw-r--r--src/devices/bus/ti99/peb/ti_rs232.cpp27
-rw-r--r--src/devices/bus/ti99/peb/ti_rs232.h12
-rw-r--r--src/devices/bus/ti99/peb/tn_ide.cpp26
-rw-r--r--src/devices/bus/ti99/peb/tn_ide.h4
-rw-r--r--src/devices/bus/ti99/peb/tn_usbsm.cpp18
-rw-r--r--src/devices/bus/ti99/peb/tn_usbsm.h4
-rw-r--r--src/devices/bus/ti99/ti99defs.h8
-rw-r--r--src/devices/bus/ti99x/990_dk.cpp17
-rw-r--r--src/devices/bus/ti99x/990_hd.cpp12
-rw-r--r--src/devices/bus/ti99x/990_hd.h3
-rw-r--r--src/devices/bus/ti99x/990_tap.cpp22
-rw-r--r--src/devices/bus/ti99x/990_tap.h3
-rw-r--r--src/devices/bus/tiki100/8088.cpp17
-rw-r--r--src/devices/bus/tiki100/8088.h4
-rw-r--r--src/devices/bus/tiki100/exp.cpp16
-rw-r--r--src/devices/bus/tiki100/exp.h72
-rw-r--r--src/devices/bus/tiki100/hdc.cpp8
-rw-r--r--src/devices/bus/tiki100/hdc.h4
-rw-r--r--src/devices/bus/tmc600/euro.h23
-rw-r--r--src/devices/bus/tvc/tvc.h26
-rw-r--r--src/devices/bus/uts_kbd/400kbd.cpp275
-rw-r--r--src/devices/bus/uts_kbd/400kbd.h44
-rw-r--r--src/devices/bus/uts_kbd/extw.cpp290
-rw-r--r--src/devices/bus/uts_kbd/extw.h47
-rw-r--r--src/devices/bus/uts_kbd/uts_kbd.cpp89
-rw-r--r--src/devices/bus/uts_kbd/uts_kbd.h101
-rw-r--r--src/devices/bus/vboy/slot.h15
-rw-r--r--src/devices/bus/vc4000/rom.cpp12
-rw-r--r--src/devices/bus/vc4000/rom.h12
-rw-r--r--src/devices/bus/vc4000/slot.cpp16
-rw-r--r--src/devices/bus/vc4000/slot.h16
-rw-r--r--src/devices/bus/vcs/dpc.cpp7
-rw-r--r--src/devices/bus/vcs/harmony_melody.cpp9
-rw-r--r--src/devices/bus/vcs/scharger.cpp18
-rw-r--r--src/devices/bus/vcs_ctrl/ctrl.h17
-rw-r--r--src/devices/bus/vectrex/slot.h4
-rw-r--r--src/devices/bus/vic10/exp.cpp8
-rw-r--r--src/devices/bus/vic10/exp.h8
-rw-r--r--src/devices/bus/vic10/multimax.cpp4
-rw-r--r--src/devices/bus/vic10/multimax.h4
-rw-r--r--src/devices/bus/vic10/std.cpp4
-rw-r--r--src/devices/bus/vic10/std.h4
-rw-r--r--src/devices/bus/vic20/exp.cpp8
-rw-r--r--src/devices/bus/vic20/exp.h8
-rw-r--r--src/devices/bus/vic20/fe3.cpp38
-rw-r--r--src/devices/bus/vic20/fe3.h4
-rw-r--r--src/devices/bus/vic20/megacart.cpp11
-rw-r--r--src/devices/bus/vic20/megacart.h4
-rw-r--r--src/devices/bus/vic20/speakeasy.cpp16
-rw-r--r--src/devices/bus/vic20/speakeasy.h4
-rw-r--r--src/devices/bus/vic20/std.cpp2
-rw-r--r--src/devices/bus/vic20/std.h2
-rw-r--r--src/devices/bus/vic20/vic1010.cpp8
-rw-r--r--src/devices/bus/vic20/vic1010.h4
-rw-r--r--src/devices/bus/vic20/vic1110.cpp4
-rw-r--r--src/devices/bus/vic20/vic1110.h4
-rw-r--r--src/devices/bus/vic20/vic1111.cpp4
-rw-r--r--src/devices/bus/vic20/vic1111.h4
-rw-r--r--src/devices/bus/vic20/vic1112.cpp4
-rw-r--r--src/devices/bus/vic20/vic1112.h4
-rw-r--r--src/devices/bus/vic20/vic1210.cpp4
-rw-r--r--src/devices/bus/vic20/vic1210.h4
-rw-r--r--src/devices/bus/vic20/videopak.cpp29
-rw-r--r--src/devices/bus/vic20/videopak.h4
-rw-r--r--src/devices/bus/vidbrain/exp.cpp8
-rw-r--r--src/devices/bus/vidbrain/exp.h52
-rw-r--r--src/devices/bus/vidbrain/money_minder.cpp4
-rw-r--r--src/devices/bus/vidbrain/money_minder.h4
-rw-r--r--src/devices/bus/vidbrain/std.cpp2
-rw-r--r--src/devices/bus/vidbrain/std.h2
-rw-r--r--src/devices/bus/vidbrain/timeshare.cpp4
-rw-r--r--src/devices/bus/vidbrain/timeshare.h4
-rw-r--r--src/devices/bus/vip/byteio.h28
-rw-r--r--src/devices/bus/vip/exp.cpp26
-rw-r--r--src/devices/bus/vip/exp.h62
-rw-r--r--src/devices/bus/vip/vp550.cpp20
-rw-r--r--src/devices/bus/vip/vp550.h10
-rw-r--r--src/devices/bus/vip/vp570.cpp4
-rw-r--r--src/devices/bus/vip/vp570.h4
-rw-r--r--src/devices/bus/vip/vp575.cpp82
-rw-r--r--src/devices/bus/vip/vp575.h12
-rw-r--r--src/devices/bus/vip/vp585.cpp2
-rw-r--r--src/devices/bus/vip/vp585.h2
-rw-r--r--src/devices/bus/vip/vp590.cpp15
-rw-r--r--src/devices/bus/vip/vp590.h6
-rw-r--r--src/devices/bus/vip/vp595.cpp4
-rw-r--r--src/devices/bus/vip/vp595.h2
-rw-r--r--src/devices/bus/vip/vp620.cpp2
-rw-r--r--src/devices/bus/vip/vp700.cpp2
-rw-r--r--src/devices/bus/vip/vp700.h2
-rw-r--r--src/devices/bus/vme/vme.cpp30
-rw-r--r--src/devices/bus/vme/vme.h43
-rw-r--r--src/devices/bus/vme/vme_fccpu20.cpp64
-rw-r--r--src/devices/bus/vme/vme_fccpu20.h3
-rw-r--r--src/devices/bus/vme/vme_hcpu30.h2
-rw-r--r--src/devices/bus/vme/vme_mvme350.cpp11
-rw-r--r--src/devices/bus/vme/vme_mzr8105.cpp12
-rw-r--r--src/devices/bus/vme/vme_mzr8300.cpp4
-rw-r--r--src/devices/bus/vsmile/pad.cpp275
-rw-r--r--src/devices/bus/vsmile/pad.h78
-rw-r--r--src/devices/bus/vsmile/rom.cpp86
-rw-r--r--src/devices/bus/vsmile/rom.h59
-rw-r--r--src/devices/bus/vsmile/vsmile_ctrl.cpp315
-rw-r--r--src/devices/bus/vsmile/vsmile_ctrl.h153
-rw-r--r--src/devices/bus/vsmile/vsmile_slot.cpp254
-rw-r--r--src/devices/bus/vsmile/vsmile_slot.h128
-rw-r--r--src/devices/bus/vtech/ioexp/ioexp.cpp11
-rw-r--r--src/devices/bus/vtech/ioexp/ioexp.h4
-rw-r--r--src/devices/bus/vtech/ioexp/printer.cpp13
-rw-r--r--src/devices/bus/vtech/memexp/floppy.cpp3
-rw-r--r--src/devices/bus/vtech/memexp/memexp.cpp44
-rw-r--r--src/devices/bus/vtech/memexp/memexp.h9
-rw-r--r--src/devices/bus/wangpc/emb.cpp8
-rw-r--r--src/devices/bus/wangpc/emb.h8
-rw-r--r--src/devices/bus/wangpc/lic.cpp14
-rw-r--r--src/devices/bus/wangpc/lic.h8
-rw-r--r--src/devices/bus/wangpc/lvc.cpp33
-rw-r--r--src/devices/bus/wangpc/lvc.h8
-rw-r--r--src/devices/bus/wangpc/mcc.cpp14
-rw-r--r--src/devices/bus/wangpc/mcc.h4
-rw-r--r--src/devices/bus/wangpc/mvc.cpp31
-rw-r--r--src/devices/bus/wangpc/mvc.h8
-rw-r--r--src/devices/bus/wangpc/rtc.cpp8
-rw-r--r--src/devices/bus/wangpc/rtc.h8
-rw-r--r--src/devices/bus/wangpc/tig.cpp47
-rw-r--r--src/devices/bus/wangpc/tig.h8
-rw-r--r--src/devices/bus/wangpc/wangpc.cpp24
-rw-r--r--src/devices/bus/wangpc/wangpc.h117
-rw-r--r--src/devices/bus/wangpc/wdc.cpp30
-rw-r--r--src/devices/bus/wangpc/wdc.h12
-rw-r--r--src/devices/bus/wswan/rom.cpp26
-rw-r--r--src/devices/bus/wswan/rom.h20
-rw-r--r--src/devices/bus/wswan/slot.cpp28
-rw-r--r--src/devices/bus/wswan/slot.h28
-rw-r--r--src/devices/bus/x68k/x68k_midi.cpp18
-rw-r--r--src/devices/bus/x68k/x68k_neptunex.cpp17
-rw-r--r--src/devices/bus/x68k/x68k_scsiext.cpp20
-rw-r--r--src/devices/bus/x68k/x68kexp.cpp1
-rw-r--r--src/devices/bus/x68k/x68kexp.h40
-rw-r--r--src/devices/bus/z88/flash.cpp4
-rw-r--r--src/devices/bus/z88/z88.h19
-rw-r--r--src/devices/cpu/8x300/8x300.cpp330
-rw-r--r--src/devices/cpu/8x300/8x300.h47
-rw-r--r--src/devices/cpu/8x300/8x300dasm.cpp8
-rw-r--r--src/devices/cpu/alpha/alpha.cpp995
-rw-r--r--src/devices/cpu/alpha/alpha.h284
-rw-r--r--src/devices/cpu/alpha/alphad.cpp1245
-rw-r--r--src/devices/cpu/alpha/alphad.h40
-rw-r--r--src/devices/cpu/alpha/common.h19
-rw-r--r--src/devices/cpu/alto2/a2ether.cpp10
-rw-r--r--src/devices/cpu/amis2000/amis2000.h3
-rw-r--r--src/devices/cpu/amis2000/amis2000op.cpp11
-rw-r--r--src/devices/cpu/arm7/lpc210x.cpp7
-rw-r--r--src/devices/cpu/cosmac/cosmac.cpp2
-rw-r--r--src/devices/cpu/dspp/dspp.h18
-rw-r--r--src/devices/cpu/dspp/dsppdrc.cpp334
-rw-r--r--src/devices/cpu/e132xs/e132xs.h2
-rw-r--r--src/devices/cpu/f8/f8.cpp692
-rw-r--r--src/devices/cpu/f8/f8.h3
-rw-r--r--src/devices/cpu/g65816/g65816.cpp7
-rw-r--r--src/devices/cpu/g65816/g65816.h7
-rw-r--r--src/devices/cpu/g65816/g65816ds.cpp2
-rw-r--r--src/devices/cpu/g65816/g65816op.h3
-rw-r--r--src/devices/cpu/h8/h83003.cpp3
-rw-r--r--src/devices/cpu/hmcs40/hmcs40.cpp1
-rw-r--r--src/devices/cpu/hpc/hpc.cpp144
-rw-r--r--src/devices/cpu/hpc/hpc.h88
-rw-r--r--src/devices/cpu/hpc/hpcdasm.cpp764
-rw-r--r--src/devices/cpu/hpc/hpcdasm.h58
-rw-r--r--src/devices/cpu/hphybrid/hphybrid.cpp45
-rw-r--r--src/devices/cpu/hphybrid/hphybrid.h28
-rw-r--r--src/devices/cpu/i386/cache.h258
-rw-r--r--src/devices/cpu/i386/cpuidmsrs.hxx94
-rw-r--r--src/devices/cpu/i386/i386.cpp236
-rw-r--r--src/devices/cpu/i386/i386.h52
-rw-r--r--src/devices/cpu/i386/i386priv.h32
-rw-r--r--src/devices/cpu/i386/i486ops.hxx8
-rw-r--r--src/devices/cpu/i386/pentops.hxx13
-rw-r--r--src/devices/cpu/i8089/i8089.cpp2
-rw-r--r--src/devices/cpu/i8089/i8089_channel.cpp7
-rw-r--r--src/devices/cpu/i86/i186.cpp29
-rw-r--r--src/devices/cpu/i86/i186.h12
-rw-r--r--src/devices/cpu/i86/i86.cpp2
-rw-r--r--src/devices/cpu/m6502/dxavix2000.lst2
-rw-r--r--src/devices/cpu/m6502/oxavix.lst8
-rw-r--r--src/devices/cpu/m6502/oxavix2000.lst13
-rw-r--r--src/devices/cpu/m6502/xavix.h4
-rw-r--r--src/devices/cpu/m6502/xavix2000.cpp101
-rw-r--r--src/devices/cpu/m6502/xavix2000.h11
-rw-r--r--src/devices/cpu/m68000/m68000.h19
-rw-r--r--src/devices/cpu/m68000/m68k_in.cpp1
-rw-r--r--src/devices/cpu/m68000/m68kcpu.cpp21
-rw-r--r--src/devices/cpu/m68000/m68kmmu.h2
-rw-r--r--src/devices/cpu/m6809/6x09dasm.cpp22
-rw-r--r--src/devices/cpu/m6809/6x09dasm.h6
-rw-r--r--src/devices/cpu/mcs51/mcs51.cpp12
-rw-r--r--src/devices/cpu/mcs51/mcs51.h4
-rw-r--r--src/devices/cpu/mips/mips1.cpp2118
-rw-r--r--src/devices/cpu/mips/mips1.h208
-rw-r--r--src/devices/cpu/mips/mips3.cpp74
-rw-r--r--src/devices/cpu/mips/mips3.h3
-rw-r--r--src/devices/cpu/mips/mips3com.cpp7
-rw-r--r--src/devices/cpu/mips/mips3drc.cpp59
-rw-r--r--src/devices/cpu/mips/mips3fe.cpp4
-rw-r--r--src/devices/cpu/mips/r4000.cpp3067
-rw-r--r--src/devices/cpu/mips/r4000.h463
-rw-r--r--src/devices/cpu/nec/v5x.cpp8
-rw-r--r--src/devices/cpu/ns32000/ns32000.cpp160
-rw-r--r--src/devices/cpu/ns32000/ns32000.h149
-rw-r--r--src/devices/cpu/ns32000/ns32000dasm.cpp835
-rw-r--r--src/devices/cpu/ns32000/ns32000dasm.h117
-rw-r--r--src/devices/cpu/pic16c5x/pic16c5x.cpp4
-rw-r--r--src/devices/cpu/sh/sh2.cpp2
-rw-r--r--src/devices/cpu/sm510/sm510base.cpp4
-rw-r--r--src/devices/cpu/tms1000/tms0270.cpp7
-rw-r--r--src/devices/cpu/tms1000/tms0270.h9
-rw-r--r--src/devices/cpu/tms1000/tms1000c.cpp18
-rw-r--r--src/devices/cpu/tms1000/tms1000c.h1
-rw-r--r--src/devices/cpu/tms1000/tms1k_base.cpp19
-rw-r--r--src/devices/cpu/tms1000/tms1k_base.h18
-rw-r--r--src/devices/cpu/tms34010/tms34010.cpp91
-rw-r--r--src/devices/cpu/tms34010/tms34010.h26
-rw-r--r--src/devices/cpu/tms9900/tms9900.cpp87
-rw-r--r--src/devices/cpu/tms9900/tms9995.cpp108
-rw-r--r--src/devices/cpu/tms9900/tms9995.h2
-rw-r--r--src/devices/cpu/unsp/unsp.cpp840
-rw-r--r--src/devices/cpu/unsp/unsp.h181
-rw-r--r--src/devices/cpu/unsp/unspdefs.h22
-rw-r--r--src/devices/cpu/unsp/unspdrc.cpp1316
-rw-r--r--src/devices/cpu/unsp/unspfe.cpp357
-rw-r--r--src/devices/cpu/unsp/unspfe.h27
-rw-r--r--src/devices/cpu/z8/z8.cpp542
-rw-r--r--src/devices/cpu/z8/z8.h56
-rw-r--r--src/devices/cpu/z8/z8dasm.cpp5
-rw-r--r--src/devices/cpu/z80/kl5c80a12.cpp5
-rw-r--r--src/devices/imagedev/bitbngr.h4
-rw-r--r--src/devices/imagedev/cassette.h21
-rw-r--r--src/devices/imagedev/chd_cd.h11
-rw-r--r--src/devices/imagedev/diablo.h16
-rw-r--r--src/devices/imagedev/flopdrv.h40
-rw-r--r--src/devices/imagedev/floppy.cpp5
-rw-r--r--src/devices/imagedev/floppy.h13
-rw-r--r--src/devices/imagedev/harddriv.h5
-rw-r--r--src/devices/imagedev/mfmhd.cpp2
-rw-r--r--src/devices/imagedev/midiin.h5
-rw-r--r--src/devices/imagedev/midiout.h8
-rw-r--r--src/devices/imagedev/printer.h4
-rw-r--r--src/devices/imagedev/snapquik.cpp4
-rw-r--r--src/devices/imagedev/snapquik.h22
-rw-r--r--src/devices/machine/6525tpi.cpp22
-rw-r--r--src/devices/machine/6525tpi.h16
-rw-r--r--src/devices/machine/68153bim.cpp13
-rw-r--r--src/devices/machine/6821pia.cpp4
-rw-r--r--src/devices/machine/6821pia.h11
-rw-r--r--src/devices/machine/68307.cpp25
-rw-r--r--src/devices/machine/68307.h2
-rw-r--r--src/devices/machine/68340.cpp9
-rw-r--r--src/devices/machine/68340.h2
-rw-r--r--src/devices/machine/68340dma.cpp5
-rw-r--r--src/devices/machine/68340dma.h1
-rw-r--r--src/devices/machine/68340ser.cpp5
-rw-r--r--src/devices/machine/68340ser.h7
-rw-r--r--src/devices/machine/68340sim.cpp6
-rw-r--r--src/devices/machine/68340sim.h1
-rw-r--r--src/devices/machine/68340tmu.cpp10
-rw-r--r--src/devices/machine/68340tmu.h11
-rw-r--r--src/devices/machine/6840ptm.cpp4
-rw-r--r--src/devices/machine/6840ptm.h4
-rw-r--r--src/devices/machine/6850acia.cpp64
-rw-r--r--src/devices/machine/6850acia.h12
-rw-r--r--src/devices/machine/74157.cpp20
-rw-r--r--src/devices/machine/74157.h17
-rw-r--r--src/devices/machine/74165.cpp7
-rw-r--r--src/devices/machine/74166.cpp7
-rw-r--r--src/devices/machine/7474.h15
-rw-r--r--src/devices/machine/8042kbdc.cpp22
-rw-r--r--src/devices/machine/8042kbdc.h5
-rw-r--r--src/devices/machine/8364_paula.h14
-rw-r--r--src/devices/machine/adc0808.cpp14
-rw-r--r--src/devices/machine/adc0808.h8
-rw-r--r--src/devices/machine/adc0844.cpp6
-rw-r--r--src/devices/machine/adc0844.h6
-rw-r--r--src/devices/machine/aic6250.cpp17
-rw-r--r--src/devices/machine/aic6250.h13
-rw-r--r--src/devices/machine/aicartc.h7
-rw-r--r--src/devices/machine/akiko.cpp5
-rw-r--r--src/devices/machine/am9513.cpp8
-rw-r--r--src/devices/machine/am9513.h8
-rw-r--r--src/devices/machine/am9517a.cpp65
-rw-r--r--src/devices/machine/am9517a.h51
-rw-r--r--src/devices/machine/am9519.cpp8
-rw-r--r--src/devices/machine/am9519.h8
-rw-r--r--src/devices/machine/appldriv.h29
-rw-r--r--src/devices/machine/applefdc.h32
-rw-r--r--src/devices/machine/at29x.cpp4
-rw-r--r--src/devices/machine/at29x.h4
-rw-r--r--src/devices/machine/at_keybc.cpp24
-rw-r--r--src/devices/machine/at_keybc.h16
-rw-r--r--src/devices/machine/atapicdr.cpp10
-rw-r--r--src/devices/machine/ay31015.cpp70
-rw-r--r--src/devices/machine/ay31015.h20
-rw-r--r--src/devices/machine/bankdev.cpp18
-rw-r--r--src/devices/machine/bankdev.h42
-rw-r--r--src/devices/machine/clock.h8
-rw-r--r--src/devices/machine/com8116.cpp29
-rw-r--r--src/devices/machine/com8116.h22
-rw-r--r--src/devices/machine/cr511b.cpp14
-rw-r--r--src/devices/machine/cs4031.cpp80
-rw-r--r--src/devices/machine/cs4031.h72
-rw-r--r--src/devices/machine/diablo_hd.cpp15
-rw-r--r--src/devices/machine/diablo_hd.h3
-rw-r--r--src/devices/machine/dp8390.h33
-rw-r--r--src/devices/machine/dp83932c.cpp153
-rw-r--r--src/devices/machine/dp83932c.h111
-rw-r--r--src/devices/machine/ds1204.h3
-rw-r--r--src/devices/machine/ds1205.h3
-rw-r--r--src/devices/machine/ds128x.cpp58
-rw-r--r--src/devices/machine/ds128x.h25
-rw-r--r--src/devices/machine/ds1315.cpp16
-rw-r--r--src/devices/machine/ds1315.h10
-rw-r--r--src/devices/machine/ds75160a.h12
-rw-r--r--src/devices/machine/f3853.cpp353
-rw-r--r--src/devices/machine/f3853.h168
-rw-r--r--src/devices/machine/fdc37c665gt.cpp9
-rw-r--r--src/devices/machine/fdc37c93x.cpp4
-rw-r--r--src/devices/machine/gen_fifo.h11
-rw-r--r--src/devices/machine/genpc.cpp60
-rw-r--r--src/devices/machine/genpc.h29
-rw-r--r--src/devices/machine/hdc92x4.cpp4
-rw-r--r--src/devices/machine/hdc92x4.h4
-rw-r--r--src/devices/machine/i2cmem.cpp121
-rw-r--r--src/devices/machine/i2cmem.h89
-rw-r--r--src/devices/machine/i7220.cpp65
-rw-r--r--src/devices/machine/i8087.cpp14
-rw-r--r--src/devices/machine/i8087.h13
-rw-r--r--src/devices/machine/i8155.cpp26
-rw-r--r--src/devices/machine/i8155.h14
-rw-r--r--src/devices/machine/i82357.cpp307
-rw-r--r--src/devices/machine/i82357.h91
-rw-r--r--src/devices/machine/i82371sb.cpp25
-rw-r--r--src/devices/machine/i82371sb.h1
-rw-r--r--src/devices/machine/i8251.cpp8
-rw-r--r--src/devices/machine/i8251.h8
-rw-r--r--src/devices/machine/i8271.cpp37
-rw-r--r--src/devices/machine/i8271.h18
-rw-r--r--src/devices/machine/idectrl.cpp13
-rw-r--r--src/devices/machine/idectrl.h6
-rw-r--r--src/devices/machine/idehd.cpp7
-rw-r--r--src/devices/machine/ie15.cpp32
-rw-r--r--src/devices/machine/ie15_kbd.cpp5
-rw-r--r--src/devices/machine/input_merger.h22
-rw-r--r--src/devices/machine/ins8154.cpp71
-rw-r--r--src/devices/machine/ins8154.h13
-rw-r--r--src/devices/machine/ins8250.cpp2
-rw-r--r--src/devices/machine/intelfsh.h8
-rw-r--r--src/devices/machine/k054321.cpp2
-rw-r--r--src/devices/machine/keyboard.cpp6
-rw-r--r--src/devices/machine/ldp1000.h7
-rw-r--r--src/devices/machine/ldp1450.h7
-rw-r--r--src/devices/machine/ldpr8210.h2
-rw-r--r--src/devices/machine/ldstub.cpp8
-rw-r--r--src/devices/machine/ldstub.h21
-rw-r--r--src/devices/machine/ldv1000.cpp5
-rw-r--r--src/devices/machine/ldv1000.h6
-rw-r--r--src/devices/machine/ldvp931.cpp80
-rw-r--r--src/devices/machine/ldvp931.h18
-rw-r--r--src/devices/machine/legscsi.h2
-rw-r--r--src/devices/machine/mb8421.cpp16
-rw-r--r--src/devices/machine/mb8421.h16
-rw-r--r--src/devices/machine/mc146818.cpp12
-rw-r--r--src/devices/machine/mc146818.h8
-rw-r--r--src/devices/machine/mc6843.h2
-rw-r--r--src/devices/machine/mc6852.cpp7
-rw-r--r--src/devices/machine/mc6852.h32
-rw-r--r--src/devices/machine/mc6854.cpp4
-rw-r--r--src/devices/machine/mc6854.h4
-rw-r--r--src/devices/machine/mc68681.cpp35
-rw-r--r--src/devices/machine/mc68681.h37
-rw-r--r--src/devices/machine/mccs1850.h22
-rw-r--r--src/devices/machine/mcf5206e.cpp2
-rw-r--r--src/devices/machine/mcf5206e.h9
-rw-r--r--src/devices/machine/meters.h5
-rw-r--r--src/devices/machine/microtch.h12
-rw-r--r--src/devices/machine/mm5740.h38
-rw-r--r--src/devices/machine/mm58167.cpp4
-rw-r--r--src/devices/machine/mm58167.h13
-rw-r--r--src/devices/machine/mm58274c.cpp4
-rw-r--r--src/devices/machine/mm58274c.h17
-rw-r--r--src/devices/machine/mm74c922.h44
-rw-r--r--src/devices/machine/mos6526.cpp12
-rw-r--r--src/devices/machine/mos6526.h61
-rw-r--r--src/devices/machine/mos6530.h21
-rw-r--r--src/devices/machine/mos6530n.h128
-rw-r--r--src/devices/machine/mos6551.cpp36
-rw-r--r--src/devices/machine/mos6551.h6
-rw-r--r--src/devices/machine/mos6702.cpp4
-rw-r--r--src/devices/machine/mos6702.h14
-rw-r--r--src/devices/machine/mos8706.h11
-rw-r--r--src/devices/machine/mos8722.cpp2
-rw-r--r--src/devices/machine/mos8722.h2
-rw-r--r--src/devices/machine/mos8726.cpp4
-rw-r--r--src/devices/machine/mos8726.h15
-rw-r--r--src/devices/machine/mpu401.cpp10
-rw-r--r--src/devices/machine/msm58321.h31
-rw-r--r--src/devices/machine/msm6242.h5
-rw-r--r--src/devices/machine/myb3k_kbd.h21
-rw-r--r--src/devices/machine/ncr5380.h3
-rw-r--r--src/devices/machine/ncr5380n.cpp116
-rw-r--r--src/devices/machine/ncr5380n.h45
-rw-r--r--src/devices/machine/ncr5385.cpp4
-rw-r--r--src/devices/machine/ncr5385.h13
-rw-r--r--src/devices/machine/ncr5390.cpp337
-rw-r--r--src/devices/machine/ncr5390.h135
-rw-r--r--src/devices/machine/ncr539x.cpp4
-rw-r--r--src/devices/machine/ncr539x.h11
-rw-r--r--src/devices/machine/netlist.cpp375
-rw-r--r--src/devices/machine/netlist.h74
-rw-r--r--src/devices/machine/nmc9306.h11
-rw-r--r--src/devices/machine/nsc810.cpp4
-rw-r--r--src/devices/machine/nsc810.h63
-rw-r--r--src/devices/machine/nscsi_bus.cpp67
-rw-r--r--src/devices/machine/nscsi_bus.h28
-rw-r--r--src/devices/machine/nscsi_cb.h46
-rw-r--r--src/devices/machine/nscsi_cd.cpp296
-rw-r--r--src/devices/machine/nscsi_cd.h12
-rw-r--r--src/devices/machine/nscsi_hd.cpp147
-rw-r--r--src/devices/machine/nscsi_hd.h3
-rw-r--r--src/devices/machine/output_latch.h25
-rw-r--r--src/devices/machine/pc_fdc.cpp2
-rw-r--r--src/devices/machine/pc_lpt.cpp8
-rw-r--r--src/devices/machine/pckeybrd.h25
-rw-r--r--src/devices/machine/pdc.cpp3
-rw-r--r--src/devices/machine/pic8259.h4
-rw-r--r--src/devices/machine/pit8253.cpp11
-rw-r--r--src/devices/machine/pit8253.h6
-rw-r--r--src/devices/machine/pla.h21
-rw-r--r--src/devices/machine/pxa255.cpp26
-rw-r--r--src/devices/machine/rtc65271.cpp8
-rw-r--r--src/devices/machine/rtc65271.h8
-rw-r--r--src/devices/machine/scc2698b.cpp5
-rw-r--r--src/devices/machine/scnxx562.cpp9
-rw-r--r--src/devices/machine/sis85c496.cpp27
-rw-r--r--src/devices/machine/smc91c9x.cpp1141
-rw-r--r--src/devices/machine/smc91c9x.h252
-rw-r--r--src/devices/machine/smpc.cpp2
-rw-r--r--src/devices/machine/sonydriv.h18
-rw-r--r--src/devices/machine/spg110.cpp669
-rw-r--r--src/devices/machine/spg110.h220
-rw-r--r--src/devices/machine/spg2xx.cpp2451
-rw-r--r--src/devices/machine/spg2xx.h434
-rw-r--r--src/devices/machine/spg2xx_audio.cpp1258
-rw-r--r--src/devices/machine/spg2xx_audio.h372
-rw-r--r--src/devices/machine/spg2xx_io.cpp1313
-rw-r--r--src/devices/machine/spg2xx_io.h183
-rw-r--r--src/devices/machine/strata.cpp20
-rw-r--r--src/devices/machine/strata.h12
-rw-r--r--src/devices/machine/stvcd.cpp18
-rw-r--r--src/devices/machine/tc009xlvc.cpp2
-rw-r--r--src/devices/machine/terminal.cpp21
-rw-r--r--src/devices/machine/terminal.h2
-rw-r--r--src/devices/machine/ticket.h16
-rw-r--r--src/devices/machine/timekpr.cpp264
-rw-r--r--src/devices/machine/timekpr.h68
-rw-r--r--src/devices/machine/timer.h58
-rw-r--r--src/devices/machine/tmp68301.cpp62
-rw-r--r--src/devices/machine/tmp68301.h24
-rw-r--r--src/devices/machine/tms5501.cpp3
-rw-r--r--src/devices/machine/tms9901.cpp111
-rw-r--r--src/devices/machine/tms9901.h15
-rw-r--r--src/devices/machine/tms9902.cpp127
-rw-r--r--src/devices/machine/tms9902.h4
-rw-r--r--src/devices/machine/tms9914.cpp4
-rw-r--r--src/devices/machine/tms9914.h5
-rw-r--r--src/devices/machine/tube.cpp8
-rw-r--r--src/devices/machine/tube.h8
-rw-r--r--src/devices/machine/upd7002.cpp6
-rw-r--r--src/devices/machine/upd7002.h6
-rw-r--r--src/devices/machine/upd765.cpp139
-rw-r--r--src/devices/machine/upd765.h43
-rw-r--r--src/devices/machine/wd1010.cpp583
-rw-r--r--src/devices/machine/wd1010.h143
-rw-r--r--src/devices/machine/wd11c00_17.cpp9
-rw-r--r--src/devices/machine/wd11c00_17.h1
-rw-r--r--src/devices/machine/wd2010.cpp10
-rw-r--r--src/devices/machine/wd2010.h4
-rw-r--r--src/devices/machine/wd33c93.cpp984
-rw-r--r--src/devices/machine/wd33c93.h112
-rw-r--r--src/devices/machine/wd33c9x.cpp1064
-rw-r--r--src/devices/machine/wd33c9x.h32
-rw-r--r--src/devices/machine/wd7600.cpp128
-rw-r--r--src/devices/machine/wd7600.h88
-rw-r--r--src/devices/machine/x2201.cpp11
-rw-r--r--src/devices/machine/x2201.h1
-rw-r--r--src/devices/machine/xc1700e.cpp91
-rw-r--r--src/devices/machine/xc1700e.h118
-rw-r--r--src/devices/machine/ym2148.cpp4
-rw-r--r--src/devices/machine/ym2148.h4
-rw-r--r--src/devices/machine/z80scc.cpp14
-rw-r--r--src/devices/machine/z80scc.h1
-rw-r--r--src/devices/machine/z80sio.cpp20
-rw-r--r--src/devices/sound/2203intf.cpp20
-rw-r--r--src/devices/sound/2203intf.h12
-rw-r--r--src/devices/sound/2608intf.cpp4
-rw-r--r--src/devices/sound/2608intf.h4
-rw-r--r--src/devices/sound/2610intf.cpp4
-rw-r--r--src/devices/sound/2610intf.h4
-rw-r--r--src/devices/sound/2612intf.cpp4
-rw-r--r--src/devices/sound/2612intf.h4
-rw-r--r--src/devices/sound/262intf.cpp4
-rw-r--r--src/devices/sound/262intf.h4
-rw-r--r--src/devices/sound/3526intf.cpp12
-rw-r--r--src/devices/sound/3526intf.h12
-rw-r--r--src/devices/sound/3812intf.cpp12
-rw-r--r--src/devices/sound/3812intf.h12
-rw-r--r--src/devices/sound/8950intf.cpp12
-rw-r--r--src/devices/sound/8950intf.h12
-rw-r--r--src/devices/sound/ad1848.cpp1
-rw-r--r--src/devices/sound/astrocde.cpp6
-rw-r--r--src/devices/sound/astrocde.h4
-rw-r--r--src/devices/sound/ay8910.cpp140
-rw-r--r--src/devices/sound/ay8910.h85
-rw-r--r--src/devices/sound/bsmt2000.cpp8
-rw-r--r--src/devices/sound/c140.cpp4
-rw-r--r--src/devices/sound/c140.h4
-rw-r--r--src/devices/sound/cdp1864.cpp12
-rw-r--r--src/devices/sound/cdp1869.cpp5
-rw-r--r--src/devices/sound/dac.h2
-rw-r--r--src/devices/sound/es1373.cpp5
-rw-r--r--src/devices/sound/es5506.cpp15
-rw-r--r--src/devices/sound/es5506.h2
-rw-r--r--src/devices/sound/es8712.cpp2
-rw-r--r--src/devices/sound/es8712.h2
-rw-r--r--src/devices/sound/esqpump.cpp20
-rw-r--r--src/devices/sound/esqpump.h5
-rw-r--r--src/devices/sound/gaelco.cpp4
-rw-r--r--src/devices/sound/ics2115.cpp517
-rw-r--r--src/devices/sound/ics2115.h102
-rw-r--r--src/devices/sound/k051649.cpp23
-rw-r--r--src/devices/sound/k051649.h20
-rw-r--r--src/devices/sound/k054539.cpp4
-rw-r--r--src/devices/sound/k054539.h4
-rw-r--r--src/devices/sound/meg.cpp384
-rw-r--r--src/devices/sound/meg.h122
-rw-r--r--src/devices/sound/megd.cpp118
-rw-r--r--src/devices/sound/megd.h39
-rw-r--r--src/devices/sound/mos6560.cpp10
-rw-r--r--src/devices/sound/mos6581.cpp4
-rw-r--r--src/devices/sound/mos6581.h4
-rw-r--r--src/devices/sound/mos7360.cpp5
-rw-r--r--src/devices/sound/msm5205.h10
-rw-r--r--src/devices/sound/nile.cpp5
-rw-r--r--src/devices/sound/okim6258.cpp6
-rw-r--r--src/devices/sound/okim6258.h6
-rw-r--r--src/devices/sound/okim6295.cpp28
-rw-r--r--src/devices/sound/okim6295.h7
-rw-r--r--src/devices/sound/okim6376.cpp2
-rw-r--r--src/devices/sound/okim6376.h2
-rw-r--r--src/devices/sound/pokey.cpp119
-rw-r--r--src/devices/sound/pokey.h13
-rw-r--r--src/devices/sound/qs1000.h1
-rw-r--r--src/devices/sound/rf5c68.cpp8
-rw-r--r--src/devices/sound/rf5c68.h8
-rw-r--r--src/devices/sound/sn76496.cpp4
-rw-r--r--src/devices/sound/sn76496.h5
-rw-r--r--src/devices/sound/spkrdev.h4
-rw-r--r--src/devices/sound/swp30.cpp61
-rw-r--r--src/devices/sound/swp30.h9
-rw-r--r--src/devices/sound/t6721a.cpp4
-rw-r--r--src/devices/sound/t6721a.h4
-rw-r--r--src/devices/sound/t6w28.cpp2
-rw-r--r--src/devices/sound/t6w28.h4
-rw-r--r--src/devices/sound/upd7752.cpp6
-rw-r--r--src/devices/sound/vlm5030.cpp4
-rw-r--r--src/devices/sound/vlm5030.h2
-rw-r--r--src/devices/sound/volt_reg.cpp2
-rw-r--r--src/devices/sound/volt_reg.h5
-rw-r--r--src/devices/sound/votrax.cpp4
-rw-r--r--src/devices/sound/votrax.h4
-rw-r--r--src/devices/sound/vrc6.cpp4
-rw-r--r--src/devices/sound/vrc6.h2
-rw-r--r--src/devices/sound/ym2151.cpp16
-rw-r--r--src/devices/sound/ym2151.h10
-rw-r--r--src/devices/sound/ym2413.cpp134
-rw-r--r--src/devices/sound/ym2413.h29
-rw-r--r--src/devices/sound/ymf271.cpp4
-rw-r--r--src/devices/sound/ymf271.h4
-rw-r--r--src/devices/sound/ymf278b.cpp4
-rw-r--r--src/devices/sound/ymf278b.h4
-rw-r--r--src/devices/sound/ymz280b.cpp4
-rw-r--r--src/devices/sound/ymz280b.h4
-rw-r--r--src/devices/video/315_5124.cpp196
-rw-r--r--src/devices/video/315_5124.h157
-rw-r--r--src/devices/video/315_5313.cpp10
-rw-r--r--src/devices/video/315_5313.h53
-rw-r--r--src/devices/video/cdp1862.cpp2
-rw-r--r--src/devices/video/cdp1862.h2
-rw-r--r--src/devices/video/cesblit.h24
-rw-r--r--src/devices/video/crt9007.cpp5
-rw-r--r--src/devices/video/crt9021.h6
-rw-r--r--src/devices/video/crt9028.cpp371
-rw-r--r--src/devices/video/crt9028.h142
-rw-r--r--src/devices/video/crtc_ega.cpp6
-rw-r--r--src/devices/video/crtc_ega.h48
-rw-r--r--src/devices/video/decsfb.cpp175
-rw-r--r--src/devices/video/decsfb.h38
-rw-r--r--src/devices/video/dl1416.h12
-rw-r--r--src/devices/video/dm9368.h15
-rw-r--r--src/devices/video/ef9340_1.h12
-rw-r--r--src/devices/video/ef9345.cpp43
-rw-r--r--src/devices/video/ef9345.h6
-rw-r--r--src/devices/video/ef9364.cpp5
-rw-r--r--src/devices/video/ef9364.h8
-rw-r--r--src/devices/video/ef9365.cpp9
-rw-r--r--src/devices/video/ef9365.h17
-rw-r--r--src/devices/video/epic12.h6
-rw-r--r--src/devices/video/fixfreq.cpp408
-rw-r--r--src/devices/video/fixfreq.h278
-rw-r--r--src/devices/video/gba_lcd.cpp13
-rw-r--r--src/devices/video/gba_lcd.h33
-rw-r--r--src/devices/video/hd44102.h21
-rw-r--r--src/devices/video/hd44780.h12
-rw-r--r--src/devices/video/hd61830.cpp5
-rw-r--r--src/devices/video/hd61830.h13
-rw-r--r--src/devices/video/hd63484.h24
-rw-r--r--src/devices/video/hd66421.cpp5
-rw-r--r--src/devices/video/hlcd0515.cpp44
-rw-r--r--src/devices/video/hlcd0515.h8
-rw-r--r--src/devices/video/hlcd0538.cpp29
-rw-r--r--src/devices/video/hlcd0538.h12
-rw-r--r--src/devices/video/huc6202.h61
-rw-r--r--src/devices/video/huc6260.h17
-rw-r--r--src/devices/video/huc6261.h10
-rw-r--r--src/devices/video/huc6270.h7
-rw-r--r--src/devices/video/huc6271.cpp5
-rw-r--r--src/devices/video/huc6272.cpp14
-rw-r--r--src/devices/video/huc6272.h13
-rw-r--r--src/devices/video/i8244.cpp16
-rw-r--r--src/devices/video/i8244.h24
-rw-r--r--src/devices/video/i8275.h24
-rw-r--r--src/devices/video/ims_cvc.cpp297
-rw-r--r--src/devices/video/ims_cvc.h144
-rw-r--r--src/devices/video/jangou_blitter.h8
-rw-r--r--src/devices/video/m50458.cpp23
-rw-r--r--src/devices/video/m50458.h17
-rw-r--r--src/devices/video/mb88303.h21
-rw-r--r--src/devices/video/mb90082.cpp9
-rw-r--r--src/devices/video/mb90082.h8
-rw-r--r--src/devices/video/mb_vcu.cpp30
-rw-r--r--src/devices/video/mb_vcu.h15
-rw-r--r--src/devices/video/mc6845.cpp73
-rw-r--r--src/devices/video/mc6845.h27
-rw-r--r--src/devices/video/mc6847.cpp33
-rw-r--r--src/devices/video/mc6847.h71
-rw-r--r--src/devices/video/mm5445.cpp106
-rw-r--r--src/devices/video/mm5445.h101
-rw-r--r--src/devices/video/mos6566.cpp14
-rw-r--r--src/devices/video/mos6566.h4
-rw-r--r--src/devices/video/msm6222b.h5
-rw-r--r--src/devices/video/msm6255.cpp5
-rw-r--r--src/devices/video/nt7534.h5
-rw-r--r--src/devices/video/pc_vga.cpp14
-rw-r--r--src/devices/video/pc_vga.h15
-rw-r--r--src/devices/video/pcd8544.h8
-rw-r--r--src/devices/video/ppu2c0x.cpp13
-rw-r--r--src/devices/video/ps2gs.cpp7
-rw-r--r--src/devices/video/ramdac.cpp13
-rw-r--r--src/devices/video/saa5050.h16
-rw-r--r--src/devices/video/scn2674.cpp326
-rw-r--r--src/devices/video/scn2674.h18
-rw-r--r--src/devices/video/sda5708.h7
-rw-r--r--src/devices/video/sed1200.h11
-rw-r--r--src/devices/video/sed1330.cpp5
-rw-r--r--src/devices/video/t6a04.h3
-rw-r--r--src/devices/video/tea1002.h9
-rw-r--r--src/devices/video/tlc34076.cpp4
-rw-r--r--src/devices/video/tlc34076.h13
-rw-r--r--src/devices/video/tms34061.cpp32
-rw-r--r--src/devices/video/tms34061.h70
-rw-r--r--src/devices/video/tms3556.cpp5
-rw-r--r--src/devices/video/tms3556.h6
-rw-r--r--src/devices/video/tms9927.cpp2
-rw-r--r--src/devices/video/tms9928a.cpp53
-rw-r--r--src/devices/video/tms9928a.h12
-rw-r--r--src/devices/video/upd3301.h24
-rw-r--r--src/devices/video/upd7220.cpp13
-rw-r--r--src/devices/video/upd7220.h51
-rw-r--r--src/devices/video/v9938.cpp4
-rw-r--r--src/devices/video/v9938.h4
-rw-r--r--src/devices/video/vector.h3
-rw-r--r--src/devices/video/vic4567.h49
-rw-r--r--src/devices/video/voodoo.h29
-rw-r--r--src/devices/video/voodoo_pci.cpp54
-rw-r--r--src/emu/addrmap.cpp6
-rw-r--r--src/emu/debug/debugcmd.cpp27
-rw-r--r--src/emu/debug/dvbpoints.cpp51
-rw-r--r--src/emu/debug/dvbpoints.h2
-rw-r--r--src/emu/debug/dvwpoints.cpp67
-rw-r--r--src/emu/debug/dvwpoints.h2
-rw-r--r--src/emu/devfind.cpp105
-rw-r--r--src/emu/devfind.h140
-rw-r--r--src/emu/device.h44
-rw-r--r--src/emu/didisasm.h3
-rw-r--r--src/emu/digfx.h22
-rw-r--r--src/emu/diimage.cpp4
-rw-r--r--src/emu/dinetwork.cpp11
-rw-r--r--src/emu/diserial.cpp10
-rw-r--r--src/emu/diserial.h4
-rw-r--r--src/emu/dislot.h1
-rw-r--r--src/emu/distate.h6
-rw-r--r--src/emu/divideo.h9
-rw-r--r--src/emu/drivenum.cpp123
-rw-r--r--src/emu/drivenum.h3
-rw-r--r--src/emu/drivers/empty.cpp16
-rw-r--r--src/emu/emucore.h6
-rw-r--r--src/emu/emumem.cpp23
-rw-r--r--src/emu/emumem.h5
-rw-r--r--src/emu/emumem_hedp.cpp28
-rw-r--r--src/emu/emumem_hedr0.cpp17
-rw-r--r--src/emu/emumem_hedr1.cpp17
-rw-r--r--src/emu/emumem_hedr2.cpp17
-rw-r--r--src/emu/emumem_hedr3.cpp17
-rw-r--r--src/emu/emumem_hedw0.cpp17
-rw-r--r--src/emu/emumem_hedw1.cpp17
-rw-r--r--src/emu/emumem_hedw2.cpp17
-rw-r--r--src/emu/emumem_hedw3.cpp17
-rw-r--r--src/emu/emumem_hem.cpp8
-rw-r--r--src/emu/emumem_hep.cpp4
-rw-r--r--src/emu/emumem_het.cpp4
-rw-r--r--src/emu/emumem_heu.cpp4
-rw-r--r--src/emu/emumem_heun.cpp8
-rw-r--r--src/emu/emupal.h15
-rw-r--r--src/emu/fileio.cpp2
-rw-r--r--src/emu/inpttype.h4
-rw-r--r--src/emu/ioport.h2
-rw-r--r--src/emu/machine.cpp2
-rw-r--r--src/emu/mconfig.h8
-rw-r--r--src/emu/render.h2
-rw-r--r--src/emu/rendlay.cpp17
-rw-r--r--src/emu/romload.cpp29
-rw-r--r--src/emu/schedule.h1
-rw-r--r--src/emu/screen.cpp25
-rw-r--r--src/emu/screen.h27
-rw-r--r--src/emu/softlist_dev.cpp35
-rw-r--r--src/emu/softlist_dev.h31
-rw-r--r--src/emu/tilemap.h1
-rw-r--r--src/emu/video.cpp19
-rw-r--r--src/emu/video/resnet.h23
-rw-r--r--src/emu/xtal.cpp17
-rw-r--r--src/frontend/mame/clifront.cpp451
-rw-r--r--src/frontend/mame/clifront.h2
-rw-r--r--src/frontend/mame/info.cpp19
-rw-r--r--src/frontend/mame/language.cpp2
-rw-r--r--src/frontend/mame/mame.cpp34
-rw-r--r--src/frontend/mame/mame.h20
-rw-r--r--src/frontend/mame/mameopts.cpp4
-rw-r--r--src/frontend/mame/ui/auditmenu.cpp11
-rw-r--r--src/frontend/mame/ui/icorender.cpp781
-rw-r--r--src/frontend/mame/ui/icorender.h227
-rw-r--r--src/frontend/mame/ui/info.cpp35
-rw-r--r--src/frontend/mame/ui/inifile.cpp585
-rw-r--r--src/frontend/mame/ui/inifile.h90
-rw-r--r--src/frontend/mame/ui/mainmenu.cpp6
-rw-r--r--src/frontend/mame/ui/menu.cpp16
-rw-r--r--src/frontend/mame/ui/menu.h25
-rw-r--r--src/frontend/mame/ui/miscmenu.cpp99
-rw-r--r--src/frontend/mame/ui/miscmenu.h22
-rw-r--r--src/frontend/mame/ui/optsmenu.cpp365
-rw-r--r--src/frontend/mame/ui/optsmenu.h53
-rw-r--r--src/frontend/mame/ui/selector.cpp14
-rw-r--r--src/frontend/mame/ui/selector.h16
-rw-r--r--src/frontend/mame/ui/selgame.cpp755
-rw-r--r--src/frontend/mame/ui/selgame.h27
-rw-r--r--src/frontend/mame/ui/selmenu.cpp439
-rw-r--r--src/frontend/mame/ui/selmenu.h40
-rw-r--r--src/frontend/mame/ui/selsoft.cpp383
-rw-r--r--src/frontend/mame/ui/selsoft.h59
-rw-r--r--src/frontend/mame/ui/simpleselgame.cpp10
-rw-r--r--src/frontend/mame/ui/utils.cpp287
-rw-r--r--src/frontend/mame/ui/utils.h166
-rw-r--r--src/frontend/mame/ui/videoopt.cpp2
-rw-r--r--src/frontend/mame/ui/widgets.cpp13
-rw-r--r--src/frontend/mame/ui/widgets.h12
-rw-r--r--src/lib/formats/apridisk.h2
-rw-r--r--src/lib/formats/dsk_dsk.cpp6
-rw-r--r--src/lib/formats/hpi_dsk.cpp96
-rw-r--r--src/lib/formats/hpi_dsk.h3
-rw-r--r--src/lib/formats/mtx_dsk.cpp53
-rw-r--r--src/lib/formats/mtx_dsk.h33
-rw-r--r--src/lib/formats/opd_dsk.cpp61
-rw-r--r--src/lib/formats/opd_dsk.h38
-rw-r--r--src/lib/netlist/analog/nld_bjt.cpp632
-rw-r--r--src/lib/netlist/analog/nld_bjt.h2
-rw-r--r--src/lib/netlist/analog/nld_fourterm.h2
-rw-r--r--src/lib/netlist/analog/nld_mosfet.cpp488
-rw-r--r--src/lib/netlist/analog/nld_mosfet.h21
-rw-r--r--src/lib/netlist/analog/nld_opamps.cpp30
-rw-r--r--src/lib/netlist/analog/nld_opamps.h2
-rw-r--r--src/lib/netlist/analog/nld_switches.cpp49
-rw-r--r--src/lib/netlist/analog/nld_switches.h2
-rw-r--r--src/lib/netlist/analog/nld_twoterm.h2
-rw-r--r--src/lib/netlist/analog/nlid_fourterm.cpp52
-rw-r--r--src/lib/netlist/analog/nlid_fourterm.h60
-rw-r--r--src/lib/netlist/analog/nlid_twoterm.cpp233
-rw-r--r--src/lib/netlist/analog/nlid_twoterm.h338
-rw-r--r--src/lib/netlist/build/makefile75
-rw-r--r--src/lib/netlist/devices/net_lib.cpp281
-rw-r--r--src/lib/netlist/devices/net_lib.h46
-rw-r--r--src/lib/netlist/devices/nld_2102A.cpp8
-rw-r--r--src/lib/netlist/devices/nld_2102A.h2
-rw-r--r--src/lib/netlist/devices/nld_2716.cpp6
-rw-r--r--src/lib/netlist/devices/nld_2716.h2
-rw-r--r--src/lib/netlist/devices/nld_4020.cpp7
-rw-r--r--src/lib/netlist/devices/nld_4020.h2
-rw-r--r--src/lib/netlist/devices/nld_4066.cpp37
-rw-r--r--src/lib/netlist/devices/nld_4066.h2
-rw-r--r--src/lib/netlist/devices/nld_4316.cpp18
-rw-r--r--src/lib/netlist/devices/nld_4316.h2
-rw-r--r--src/lib/netlist/devices/nld_74107.cpp20
-rw-r--r--src/lib/netlist/devices/nld_74107.h2
-rw-r--r--src/lib/netlist/devices/nld_74123.cpp26
-rw-r--r--src/lib/netlist/devices/nld_74123.h2
-rw-r--r--src/lib/netlist/devices/nld_74153.cpp12
-rw-r--r--src/lib/netlist/devices/nld_74153.h2
-rw-r--r--src/lib/netlist/devices/nld_74161.cpp8
-rw-r--r--src/lib/netlist/devices/nld_74161.h2
-rw-r--r--src/lib/netlist/devices/nld_74164.cpp6
-rw-r--r--src/lib/netlist/devices/nld_74164.h2
-rw-r--r--src/lib/netlist/devices/nld_74165.cpp7
-rw-r--r--src/lib/netlist/devices/nld_74165.h2
-rw-r--r--src/lib/netlist/devices/nld_74166.cpp6
-rw-r--r--src/lib/netlist/devices/nld_74166.h2
-rw-r--r--src/lib/netlist/devices/nld_74174.cpp6
-rw-r--r--src/lib/netlist/devices/nld_74174.h2
-rw-r--r--src/lib/netlist/devices/nld_74175.cpp6
-rw-r--r--src/lib/netlist/devices/nld_74175.h2
-rw-r--r--src/lib/netlist/devices/nld_74192.cpp8
-rw-r--r--src/lib/netlist/devices/nld_74192.h2
-rw-r--r--src/lib/netlist/devices/nld_74193.cpp8
-rw-r--r--src/lib/netlist/devices/nld_74193.h2
-rw-r--r--src/lib/netlist/devices/nld_74194.cpp6
-rw-r--r--src/lib/netlist/devices/nld_74194.h2
-rw-r--r--src/lib/netlist/devices/nld_74365.cpp14
-rw-r--r--src/lib/netlist/devices/nld_74365.h2
-rw-r--r--src/lib/netlist/devices/nld_7448.cpp24
-rw-r--r--src/lib/netlist/devices/nld_7448.h2
-rw-r--r--src/lib/netlist/devices/nld_7450.cpp18
-rw-r--r--src/lib/netlist/devices/nld_7450.h2
-rw-r--r--src/lib/netlist/devices/nld_7473.cpp10
-rw-r--r--src/lib/netlist/devices/nld_7473.h2
-rw-r--r--src/lib/netlist/devices/nld_7474.cpp132
-rw-r--r--src/lib/netlist/devices/nld_7474.h2
-rw-r--r--src/lib/netlist/devices/nld_7475.cpp12
-rw-r--r--src/lib/netlist/devices/nld_7475.h2
-rw-r--r--src/lib/netlist/devices/nld_7483.cpp47
-rw-r--r--src/lib/netlist/devices/nld_7483.h2
-rw-r--r--src/lib/netlist/devices/nld_7485.cpp6
-rw-r--r--src/lib/netlist/devices/nld_7485.h2
-rw-r--r--src/lib/netlist/devices/nld_7490.cpp35
-rw-r--r--src/lib/netlist/devices/nld_7490.h2
-rw-r--r--src/lib/netlist/devices/nld_7493.cpp87
-rw-r--r--src/lib/netlist/devices/nld_7493.h2
-rw-r--r--src/lib/netlist/devices/nld_7497.cpp174
-rw-r--r--src/lib/netlist/devices/nld_7497.h57
-rw-r--r--src/lib/netlist/devices/nld_74ls629.cpp19
-rw-r--r--src/lib/netlist/devices/nld_74ls629.h2
-rw-r--r--src/lib/netlist/devices/nld_82S115.cpp6
-rw-r--r--src/lib/netlist/devices/nld_82S115.h2
-rw-r--r--src/lib/netlist/devices/nld_82S123.cpp6
-rw-r--r--src/lib/netlist/devices/nld_82S123.h2
-rw-r--r--src/lib/netlist/devices/nld_82S126.cpp6
-rw-r--r--src/lib/netlist/devices/nld_82S126.h2
-rw-r--r--src/lib/netlist/devices/nld_82S16.cpp73
-rw-r--r--src/lib/netlist/devices/nld_82S16.h2
-rw-r--r--src/lib/netlist/devices/nld_9310.cpp42
-rw-r--r--src/lib/netlist/devices/nld_9310.h2
-rw-r--r--src/lib/netlist/devices/nld_9316.cpp138
-rw-r--r--src/lib/netlist/devices/nld_9316.h2
-rw-r--r--src/lib/netlist/devices/nld_9322.cpp14
-rw-r--r--src/lib/netlist/devices/nld_9322.h2
-rw-r--r--src/lib/netlist/devices/nld_am2847.cpp10
-rw-r--r--src/lib/netlist/devices/nld_am2847.h2
-rw-r--r--src/lib/netlist/devices/nld_dm9314.cpp6
-rw-r--r--src/lib/netlist/devices/nld_dm9314.h2
-rw-r--r--src/lib/netlist/devices/nld_dm9334.cpp6
-rw-r--r--src/lib/netlist/devices/nld_dm9334.h2
-rw-r--r--src/lib/netlist/devices/nld_legacy.cpp10
-rw-r--r--src/lib/netlist/devices/nld_legacy.h2
-rw-r--r--src/lib/netlist/devices/nld_log.cpp18
-rw-r--r--src/lib/netlist/devices/nld_log.h4
-rw-r--r--src/lib/netlist/devices/nld_mm5837.cpp16
-rw-r--r--src/lib/netlist/devices/nld_mm5837.h2
-rw-r--r--src/lib/netlist/devices/nld_ne555.cpp101
-rw-r--r--src/lib/netlist/devices/nld_ne555.h8
-rw-r--r--src/lib/netlist/devices/nld_r2r_dac.cpp14
-rw-r--r--src/lib/netlist/devices/nld_r2r_dac.h2
-rw-r--r--src/lib/netlist/devices/nld_schmitt.cpp30
-rw-r--r--src/lib/netlist/devices/nld_schmitt.h2
-rw-r--r--src/lib/netlist/devices/nld_system.cpp95
-rw-r--r--src/lib/netlist/devices/nld_system.h2
-rw-r--r--src/lib/netlist/devices/nld_tms4800.cpp10
-rw-r--r--src/lib/netlist/devices/nld_tms4800.h2
-rw-r--r--src/lib/netlist/devices/nld_tristate.cpp6
-rw-r--r--src/lib/netlist/devices/nld_tristate.h2
-rw-r--r--src/lib/netlist/devices/nlid_cmos.h4
-rw-r--r--src/lib/netlist/devices/nlid_proxy.cpp54
-rw-r--r--src/lib/netlist/devices/nlid_proxy.h24
-rw-r--r--src/lib/netlist/devices/nlid_system.h92
-rw-r--r--src/lib/netlist/devices/nlid_truthtable.cpp141
-rw-r--r--src/lib/netlist/devices/nlid_truthtable.h175
-rw-r--r--src/lib/netlist/macro/nlm_base.cpp39
-rw-r--r--src/lib/netlist/macro/nlm_base.h2
-rw-r--r--src/lib/netlist/macro/nlm_cd4xxx.cpp8
-rw-r--r--src/lib/netlist/macro/nlm_cd4xxx.h2
-rw-r--r--src/lib/netlist/macro/nlm_opamp.cpp2
-rw-r--r--src/lib/netlist/macro/nlm_opamp.h2
-rw-r--r--src/lib/netlist/macro/nlm_other.cpp2
-rw-r--r--src/lib/netlist/macro/nlm_other.h2
-rw-r--r--src/lib/netlist/macro/nlm_ttl74xx.cpp9
-rw-r--r--src/lib/netlist/macro/nlm_ttl74xx.h2
-rw-r--r--src/lib/netlist/netlist_types.h54
-rw-r--r--src/lib/netlist/nl_base.cpp765
-rw-r--r--src/lib/netlist/nl_base.h1307
-rw-r--r--src/lib/netlist/nl_config.h46
-rw-r--r--src/lib/netlist/nl_dice_compat.h17
-rw-r--r--src/lib/netlist/nl_errstr.h3
-rw-r--r--src/lib/netlist/nl_factory.cpp140
-rw-r--r--src/lib/netlist/nl_factory.h87
-rw-r--r--src/lib/netlist/nl_lists.h163
-rw-r--r--src/lib/netlist/nl_parser.cpp43
-rw-r--r--src/lib/netlist/nl_parser.h18
-rw-r--r--src/lib/netlist/nl_setup.cpp838
-rw-r--r--src/lib/netlist/nl_setup.h309
-rw-r--r--src/lib/netlist/nl_time.h145
-rw-r--r--src/lib/netlist/nltypes.h147
-rw-r--r--src/lib/netlist/plib/gmres.h450
-rw-r--r--src/lib/netlist/plib/mat_cr.h530
-rw-r--r--src/lib/netlist/plib/palloc.cpp105
-rw-r--r--src/lib/netlist/plib/palloc.h513
-rw-r--r--src/lib/netlist/plib/parray.h126
-rw-r--r--src/lib/netlist/plib/pchrono.cpp4
-rw-r--r--src/lib/netlist/plib/pchrono.h52
-rw-r--r--src/lib/netlist/plib/pconfig.h51
-rw-r--r--src/lib/netlist/plib/pdynlib.cpp18
-rw-r--r--src/lib/netlist/plib/pdynlib.h15
-rw-r--r--src/lib/netlist/plib/pexception.cpp215
-rw-r--r--src/lib/netlist/plib/pexception.h214
-rw-r--r--src/lib/netlist/plib/pfmtlog.cpp121
-rw-r--r--src/lib/netlist/plib/pfmtlog.h50
-rw-r--r--src/lib/netlist/plib/pfunction.cpp32
-rw-r--r--src/lib/netlist/plib/pfunction.h4
-rw-r--r--src/lib/netlist/plib/plists.h122
-rw-r--r--src/lib/netlist/plib/pmain.cpp13
-rw-r--r--src/lib/netlist/plib/pmain.h20
-rw-r--r--src/lib/netlist/plib/pmatrix2d.h85
-rw-r--r--src/lib/netlist/plib/pmempool.h187
-rw-r--r--src/lib/netlist/plib/pomp.h28
-rw-r--r--src/lib/netlist/plib/poptions.cpp154
-rw-r--r--src/lib/netlist/plib/poptions.h161
-rw-r--r--src/lib/netlist/plib/pparser.cpp278
-rw-r--r--src/lib/netlist/plib/pparser.h107
-rw-r--r--src/lib/netlist/plib/ppmf.h28
-rw-r--r--src/lib/netlist/plib/pstate.cpp35
-rw-r--r--src/lib/netlist/plib/pstate.h67
-rw-r--r--src/lib/netlist/plib/pstream.cpp131
-rw-r--r--src/lib/netlist/plib/pstream.h408
-rw-r--r--src/lib/netlist/plib/pstring.cpp131
-rw-r--r--src/lib/netlist/plib/pstring.h457
-rw-r--r--src/lib/netlist/plib/ptime.h136
-rw-r--r--src/lib/netlist/plib/ptypes.h124
-rw-r--r--src/lib/netlist/plib/putil.cpp75
-rw-r--r--src/lib/netlist/plib/putil.h103
-rw-r--r--src/lib/netlist/plib/vector_ops.h151
-rw-r--r--src/lib/netlist/prg/nltool.cpp374
-rw-r--r--src/lib/netlist/prg/nlwav.cpp591
-rw-r--r--src/lib/netlist/solver/mat_cr.h175
-rw-r--r--src/lib/netlist/solver/nld_matrix_solver.cpp937
-rw-r--r--src/lib/netlist/solver/nld_matrix_solver.h471
-rw-r--r--src/lib/netlist/solver/nld_ms_direct.h386
-rw-r--r--src/lib/netlist/solver/nld_ms_direct1.h50
-rw-r--r--src/lib/netlist/solver/nld_ms_direct2.h59
-rw-r--r--src/lib/netlist/solver/nld_ms_direct_lu.h26
-rw-r--r--src/lib/netlist/solver/nld_ms_gcr.h562
-rw-r--r--src/lib/netlist/solver/nld_ms_gmres.h412
-rw-r--r--src/lib/netlist/solver/nld_ms_sm.h416
-rw-r--r--src/lib/netlist/solver/nld_ms_sor.h112
-rw-r--r--src/lib/netlist/solver/nld_ms_sor_mat.h338
-rw-r--r--src/lib/netlist/solver/nld_ms_w.h165
-rw-r--r--src/lib/netlist/solver/nld_solver.cpp641
-rw-r--r--src/lib/netlist/solver/nld_solver.h178
-rw-r--r--src/lib/netlist/solver/vector_base.h144
-rw-r--r--src/lib/netlist/tools/nl_convert.cpp117
-rw-r--r--src/lib/netlist/tools/nl_convert.h69
-rw-r--r--src/lib/util/corefile.cpp22
-rw-r--r--src/lib/util/corefile.h21
-rw-r--r--src/lib/util/corestr.cpp95
-rw-r--r--src/lib/util/corestr.h7
-rw-r--r--src/lib/util/unicode.cpp170
-rw-r--r--src/lib/util/unicode.h17
-rw-r--r--src/mame/arcade.flt4
-rw-r--r--src/mame/audio/alesis.cpp12
-rw-r--r--src/mame/audio/asteroid.cpp16
-rw-r--r--src/mame/audio/astrof.cpp5
-rw-r--r--src/mame/audio/atarijsa.cpp30
-rw-r--r--src/mame/audio/avalnche.cpp22
-rw-r--r--src/mame/audio/bwidow.cpp2
-rw-r--r--src/mame/audio/cage.cpp41
-rw-r--r--src/mame/audio/cage.h3
-rw-r--r--src/mame/audio/carnival.cpp4
-rw-r--r--src/mame/audio/cmi01a.cpp32
-rw-r--r--src/mame/audio/cmi01a.h12
-rw-r--r--src/mame/audio/csd.cpp20
-rw-r--r--src/mame/audio/csd.h4
-rw-r--r--src/mame/audio/exidy.cpp47
-rw-r--r--src/mame/audio/exidy440.cpp21
-rw-r--r--src/mame/audio/gottlieb.cpp79
-rw-r--r--src/mame/audio/harddriv.cpp15
-rw-r--r--src/mame/audio/irem.cpp12
-rw-r--r--src/mame/audio/leland.cpp30
-rw-r--r--src/mame/audio/llander.cpp8
-rw-r--r--src/mame/audio/midway.cpp44
-rw-r--r--src/mame/audio/n8080.cpp3
-rw-r--r--src/mame/audio/nichisnd.cpp18
-rw-r--r--src/mame/audio/nl_kidniki.cpp31
-rw-r--r--src/mame/audio/nl_zac1b11142.cpp2
-rw-r--r--src/mame/audio/redalert.cpp16
-rw-r--r--src/mame/audio/s11c_bg.cpp25
-rw-r--r--src/mame/audio/segag80r.cpp1
-rw-r--r--src/mame/audio/snk6502.cpp1
-rw-r--r--src/mame/audio/spacefb.cpp1
-rw-r--r--src/mame/audio/spiders.cpp9
-rw-r--r--src/mame/audio/sprint8.cpp37
-rw-r--r--src/mame/audio/t5182.cpp12
-rw-r--r--src/mame/audio/taito_en.cpp15
-rw-r--r--src/mame/audio/taito_en.h1
-rw-r--r--src/mame/audio/targ.cpp2
-rw-r--r--src/mame/audio/timeplt.cpp8
-rw-r--r--src/mame/audio/timeplt.h3
-rw-r--r--src/mame/audio/tx1.cpp38
-rw-r--r--src/mame/audio/williams.cpp132
-rw-r--r--src/mame/audio/williams.h70
-rw-r--r--src/mame/audio/wpcsnd.cpp21
-rw-r--r--src/mame/audio/wswan.cpp2
-rw-r--r--src/mame/audio/wswan.h2
-rw-r--r--src/mame/audio/zaccaria.cpp13
-rw-r--r--src/mame/drivers/1942.cpp37
-rw-r--r--src/mame/drivers/1943.cpp58
-rw-r--r--src/mame/drivers/20pacgal.cpp1
-rw-r--r--src/mame/drivers/24cdjuke.cpp13
-rw-r--r--src/mame/drivers/39in1.cpp5
-rw-r--r--src/mame/drivers/3do.cpp40
-rw-r--r--src/mame/drivers/3x3puzzl.cpp27
-rw-r--r--src/mame/drivers/4004clk.cpp16
-rw-r--r--src/mame/drivers/40love.cpp1
-rw-r--r--src/mame/drivers/4dpi.cpp20
-rw-r--r--src/mame/drivers/4enlinea.cpp30
-rw-r--r--src/mame/drivers/4enraya.cpp45
-rw-r--r--src/mame/drivers/4roses.cpp38
-rw-r--r--src/mame/drivers/5clown.cpp54
-rw-r--r--src/mame/drivers/8080bw.cpp69
-rw-r--r--src/mame/drivers/a1supply.cpp23
-rw-r--r--src/mame/drivers/a5105.cpp31
-rw-r--r--src/mame/drivers/a51xx.cpp40
-rw-r--r--src/mame/drivers/a7150.cpp3
-rw-r--r--src/mame/drivers/aa310.cpp1
-rw-r--r--src/mame/drivers/aaa.cpp262
-rw-r--r--src/mame/drivers/abc1600.cpp63
-rw-r--r--src/mame/drivers/abc80.cpp18
-rw-r--r--src/mame/drivers/abc80x.cpp89
-rw-r--r--src/mame/drivers/ac1.cpp45
-rw-r--r--src/mame/drivers/acd.cpp5
-rw-r--r--src/mame/drivers/ace.cpp28
-rw-r--r--src/mame/drivers/aceex.cpp9
-rw-r--r--src/mame/drivers/acefruit.cpp28
-rw-r--r--src/mame/drivers/acesp.cpp12
-rw-r--r--src/mame/drivers/aci_boris.cpp258
-rw-r--r--src/mame/drivers/aci_borisdpl.cpp236
-rw-r--r--src/mame/drivers/acommand.cpp38
-rw-r--r--src/mame/drivers/acrnsys.cpp12
-rw-r--r--src/mame/drivers/acrnsys1.cpp21
-rw-r--r--src/mame/drivers/actfancr.cpp9
-rw-r--r--src/mame/drivers/acvirus.cpp9
-rw-r--r--src/mame/drivers/adam.cpp28
-rw-r--r--src/mame/drivers/adm23.cpp86
-rw-r--r--src/mame/drivers/adm31.cpp513
-rw-r--r--src/mame/drivers/adm36.cpp202
-rw-r--r--src/mame/drivers/adp.cpp66
-rw-r--r--src/mame/drivers/advision.cpp3
-rw-r--r--src/mame/drivers/aeroboto.cpp32
-rw-r--r--src/mame/drivers/aerofgt.cpp2
-rw-r--r--src/mame/drivers/agat.cpp35
-rw-r--r--src/mame/drivers/age_candy.cpp22
-rw-r--r--src/mame/drivers/aim65.cpp44
-rw-r--r--src/mame/drivers/airbustr.cpp57
-rw-r--r--src/mame/drivers/airraid.cpp30
-rw-r--r--src/mame/drivers/albazc.cpp32
-rw-r--r--src/mame/drivers/albazg.cpp30
-rw-r--r--src/mame/drivers/aleck64.cpp75
-rw-r--r--src/mame/drivers/aleisttl.cpp23
-rw-r--r--src/mame/drivers/alesis.cpp46
-rw-r--r--src/mame/drivers/alesis_qs.cpp9
-rw-r--r--src/mame/drivers/alg.cpp84
-rw-r--r--src/mame/drivers/alien.cpp26
-rw-r--r--src/mame/drivers/alinvade.cpp27
-rw-r--r--src/mame/drivers/allied.cpp35
-rw-r--r--src/mame/drivers/alpha68k.cpp4
-rw-r--r--src/mame/drivers/alphasma.cpp35
-rw-r--r--src/mame/drivers/alphatpx.cpp73
-rw-r--r--src/mame/drivers/alphatro.cpp32
-rw-r--r--src/mame/drivers/altair.cpp2
-rw-r--r--src/mame/drivers/alto1.cpp5
-rw-r--r--src/mame/drivers/alto2.cpp19
-rw-r--r--src/mame/drivers/altos5.cpp10
-rw-r--r--src/mame/drivers/alvg.cpp9
-rw-r--r--src/mame/drivers/amaticmg.cpp54
-rw-r--r--src/mame/drivers/ambush.cpp46
-rw-r--r--src/mame/drivers/amerihok.cpp82
-rw-r--r--src/mame/drivers/amico2k.cpp9
-rw-r--r--src/mame/drivers/amiga.cpp612
-rw-r--r--src/mame/drivers/ampex.cpp4
-rw-r--r--src/mame/drivers/ampoker2.cpp35
-rw-r--r--src/mame/drivers/ampscarp.cpp9
-rw-r--r--src/mame/drivers/amspdwy.cpp36
-rw-r--r--src/mame/drivers/amstr_pc.cpp22
-rw-r--r--src/mame/drivers/amstrad.cpp163
-rw-r--r--src/mame/drivers/amusco.cpp68
-rw-r--r--src/mame/drivers/amust.cpp34
-rw-r--r--src/mame/drivers/anes.cpp32
-rw-r--r--src/mame/drivers/angelkds.cpp118
-rw-r--r--src/mame/drivers/anzterm.cpp33
-rw-r--r--src/mame/drivers/apc.cpp41
-rw-r--r--src/mame/drivers/apf.cpp60
-rw-r--r--src/mame/drivers/apollo.cpp96
-rw-r--r--src/mame/drivers/apple1.cpp21
-rw-r--r--src/mame/drivers/apple2.cpp90
-rw-r--r--src/mame/drivers/apple2e.cpp217
-rw-r--r--src/mame/drivers/apple2gs.cpp49
-rw-r--r--src/mame/drivers/apple3.cpp6
-rw-r--r--src/mame/drivers/applix.cpp60
-rw-r--r--src/mame/drivers/appoooh.cpp6
-rw-r--r--src/mame/drivers/apricot.cpp12
-rw-r--r--src/mame/drivers/apricotf.cpp45
-rw-r--r--src/mame/drivers/apricotp.cpp59
-rw-r--r--src/mame/drivers/aquarium.cpp50
-rw-r--r--src/mame/drivers/aquarius.cpp39
-rw-r--r--src/mame/drivers/arachnid.cpp18
-rw-r--r--src/mame/drivers/arcadecl.cpp27
-rw-r--r--src/mame/drivers/argo.cpp23
-rw-r--r--src/mame/drivers/argox.cpp11
-rw-r--r--src/mame/drivers/argus.cpp4
-rw-r--r--src/mame/drivers/aristmk4.cpp32
-rw-r--r--src/mame/drivers/aristmk5.cpp1334
-rw-r--r--src/mame/drivers/aristmk6.cpp319
-rw-r--r--src/mame/drivers/arkanoid.cpp124
-rw-r--r--src/mame/drivers/armedf.cpp348
-rw-r--r--src/mame/drivers/arsystems.cpp49
-rw-r--r--src/mame/drivers/artmagic.cpp67
-rw-r--r--src/mame/drivers/ashnojoe.cpp8
-rw-r--r--src/mame/drivers/asst128.cpp32
-rw-r--r--src/mame/drivers/asteroid.cpp38
-rw-r--r--src/mame/drivers/astrafr.cpp50
-rw-r--r--src/mame/drivers/astrcorp.cpp319
-rw-r--r--src/mame/drivers/astrocde.cpp8
-rw-r--r--src/mame/drivers/astrof.cpp52
-rw-r--r--src/mame/drivers/astrohome.cpp79
-rw-r--r--src/mame/drivers/astropc.cpp11
-rw-r--r--src/mame/drivers/asuka.cpp2
-rw-r--r--src/mame/drivers/at.cpp3
-rw-r--r--src/mame/drivers/atari400.cpp4
-rw-r--r--src/mame/drivers/atari_s1.cpp36
-rw-r--r--src/mame/drivers/atari_s2.cpp31
-rw-r--r--src/mame/drivers/atarifb.cpp70
-rw-r--r--src/mame/drivers/atarig1.cpp32
-rw-r--r--src/mame/drivers/atarig42.cpp27
-rw-r--r--src/mame/drivers/atarigt.cpp26
-rw-r--r--src/mame/drivers/atarigx2.cpp24
-rw-r--r--src/mame/drivers/atarist.cpp24
-rw-r--r--src/mame/drivers/atarisy1.cpp54
-rw-r--r--src/mame/drivers/atarittl.cpp77
-rw-r--r--src/mame/drivers/atetris.cpp6
-rw-r--r--src/mame/drivers/atlantis.cpp6
-rw-r--r--src/mame/drivers/atm.cpp25
-rw-r--r--src/mame/drivers/atom.cpp141
-rw-r--r--src/mame/drivers/atronic.cpp34
-rw-r--r--src/mame/drivers/att4425.cpp29
-rw-r--r--src/mame/drivers/att630.cpp20
-rw-r--r--src/mame/drivers/attache.cpp48
-rw-r--r--src/mame/drivers/attckufo.cpp33
-rw-r--r--src/mame/drivers/aussiebyte.cpp11
-rw-r--r--src/mame/drivers/avalnche.cpp31
-rw-r--r--src/mame/drivers/ave_arb.cpp255
-rw-r--r--src/mame/drivers/avigo.cpp28
-rw-r--r--src/mame/drivers/avt.cpp37
-rw-r--r--src/mame/drivers/ax20.cpp30
-rw-r--r--src/mame/drivers/aztarac.cpp32
-rw-r--r--src/mame/drivers/b16.cpp34
-rw-r--r--src/mame/drivers/b2m.cpp48
-rw-r--r--src/mame/drivers/backfire.cpp52
-rw-r--r--src/mame/drivers/badlands.cpp32
-rw-r--r--src/mame/drivers/badlandsbl.cpp34
-rw-r--r--src/mame/drivers/bailey.cpp23
-rw-r--r--src/mame/drivers/banctec.cpp25
-rw-r--r--src/mame/drivers/bankp.cpp37
-rw-r--r--src/mame/drivers/barata.cpp5
-rw-r--r--src/mame/drivers/barni.cpp53
-rw-r--r--src/mame/drivers/bartop52.cpp2
-rw-r--r--src/mame/drivers/batman.cpp22
-rw-r--r--src/mame/drivers/battlane.cpp4
-rw-r--r--src/mame/drivers/battlera.cpp6
-rw-r--r--src/mame/drivers/battlex.cpp40
-rw-r--r--src/mame/drivers/battlnts.cpp36
-rw-r--r--src/mame/drivers/bbc.cpp53
-rw-r--r--src/mame/drivers/bbcbc.cpp12
-rw-r--r--src/mame/drivers/bcs3.cpp58
-rw-r--r--src/mame/drivers/beaminv.cpp23
-rw-r--r--src/mame/drivers/beathead.cpp26
-rw-r--r--src/mame/drivers/bebox.cpp11
-rw-r--r--src/mame/drivers/beehive.cpp25
-rw-r--r--src/mame/drivers/beezer.cpp6
-rw-r--r--src/mame/drivers/belatra.cpp9
-rw-r--r--src/mame/drivers/bert.cpp121
-rw-r--r--src/mame/drivers/berzerk.cpp97
-rw-r--r--src/mame/drivers/besta.cpp21
-rw-r--r--src/mame/drivers/bestleag.cpp41
-rw-r--r--src/mame/drivers/beta.cpp19
-rw-r--r--src/mame/drivers/bfcobra.cpp43
-rw-r--r--src/mame/drivers/bfm_ad5.cpp13
-rw-r--r--src/mame/drivers/bfm_sc1.cpp35
-rw-r--r--src/mame/drivers/bfm_sc2.cpp116
-rw-r--r--src/mame/drivers/bfm_sc4.cpp29
-rw-r--r--src/mame/drivers/bfm_sc5.cpp27
-rw-r--r--src/mame/drivers/bfm_swp.cpp21
-rw-r--r--src/mame/drivers/bfmsys85.cpp19
-rw-r--r--src/mame/drivers/bgt.cpp11
-rw-r--r--src/mame/drivers/bigbord2.cpp24
-rw-r--r--src/mame/drivers/bigevglf.cpp3
-rw-r--r--src/mame/drivers/bigstrkb.cpp38
-rw-r--r--src/mame/drivers/binbug.cpp6
-rw-r--r--src/mame/drivers/bingo.cpp27
-rw-r--r--src/mame/drivers/bingoc.cpp60
-rw-r--r--src/mame/drivers/bingoman.cpp26
-rw-r--r--src/mame/drivers/bingowav.cpp6
-rw-r--r--src/mame/drivers/bionicc.cpp81
-rw-r--r--src/mame/drivers/bitgraph.cpp116
-rw-r--r--src/mame/drivers/bk.cpp8
-rw-r--r--src/mame/drivers/bking.cpp55
-rw-r--r--src/mame/drivers/blackt96.cpp51
-rw-r--r--src/mame/drivers/bladestl.cpp41
-rw-r--r--src/mame/drivers/blitz68k.cpp198
-rw-r--r--src/mame/drivers/blktiger.cpp4
-rw-r--r--src/mame/drivers/blmbycar.cpp48
-rw-r--r--src/mame/drivers/blockout.cpp40
-rw-r--r--src/mame/drivers/blocktax.cpp24
-rw-r--r--src/mame/drivers/bloodbro.cpp2
-rw-r--r--src/mame/drivers/blstroid.cpp24
-rw-r--r--src/mame/drivers/blueprnt.cpp49
-rw-r--r--src/mame/drivers/blw700i.cpp27
-rw-r--r--src/mame/drivers/bmjr.cpp29
-rw-r--r--src/mame/drivers/bml3.cpp108
-rw-r--r--src/mame/drivers/bnstars.cpp73
-rw-r--r--src/mame/drivers/bntyhunt.cpp27
-rw-r--r--src/mame/drivers/bogeyman.cpp34
-rw-r--r--src/mame/drivers/bombjack.cpp16
-rw-r--r--src/mame/drivers/boogwing.cpp38
-rw-r--r--src/mame/drivers/bowltry.cpp28
-rw-r--r--src/mame/drivers/boxer.cpp26
-rw-r--r--src/mame/drivers/br8641.cpp8
-rw-r--r--src/mame/drivers/brkthru.cpp14
-rw-r--r--src/mame/drivers/bsktball.cpp30
-rw-r--r--src/mame/drivers/btime.cpp153
-rw-r--r--src/mame/drivers/btoads.cpp29
-rw-r--r--src/mame/drivers/buggychl.cpp2
-rw-r--r--src/mame/drivers/bullet.cpp110
-rw-r--r--src/mame/drivers/busicom.cpp21
-rw-r--r--src/mame/drivers/buster.cpp27
-rw-r--r--src/mame/drivers/bw12.cpp73
-rw-r--r--src/mame/drivers/bw2.cpp51
-rw-r--r--src/mame/drivers/bwidow.cpp64
-rw-r--r--src/mame/drivers/bwing.cpp51
-rw-r--r--src/mame/drivers/by17.cpp19
-rw-r--r--src/mame/drivers/by35.cpp46
-rw-r--r--src/mame/drivers/by6803.cpp12
-rw-r--r--src/mame/drivers/by68701.cpp9
-rw-r--r--src/mame/drivers/byvid.cpp62
-rw-r--r--src/mame/drivers/c10.cpp27
-rw-r--r--src/mame/drivers/c128.cpp88
-rw-r--r--src/mame/drivers/c2color.cpp127
-rw-r--r--src/mame/drivers/c64.cpp58
-rw-r--r--src/mame/drivers/c64dtv.cpp15
-rw-r--r--src/mame/drivers/c65.cpp68
-rw-r--r--src/mame/drivers/c80.cpp11
-rw-r--r--src/mame/drivers/c900.cpp35
-rw-r--r--src/mame/drivers/cabaret.cpp34
-rw-r--r--src/mame/drivers/calchase.cpp36
-rw-r--r--src/mame/drivers/calcune.cpp82
-rw-r--r--src/mame/drivers/calomega.cpp69
-rw-r--r--src/mame/drivers/calorie.cpp36
-rw-r--r--src/mame/drivers/camplynx.cpp53
-rw-r--r--src/mame/drivers/candela.cpp45
-rw-r--r--src/mame/drivers/canon_s80.cpp9
-rw-r--r--src/mame/drivers/canyon.cpp28
-rw-r--r--src/mame/drivers/capbowl.cpp56
-rw-r--r--src/mame/drivers/capcom.cpp9
-rw-r--r--src/mame/drivers/caprcyc.cpp10
-rw-r--r--src/mame/drivers/cardinal.cpp66
-rw-r--r--src/mame/drivers/cardline.cpp29
-rw-r--r--src/mame/drivers/carjmbre.cpp32
-rw-r--r--src/mame/drivers/carpolo.cpp22
-rw-r--r--src/mame/drivers/carrera.cpp25
-rw-r--r--src/mame/drivers/casloopy.cpp33
-rw-r--r--src/mame/drivers/castle.cpp24
-rw-r--r--src/mame/drivers/caswin.cpp29
-rw-r--r--src/mame/drivers/cat.cpp42
-rw-r--r--src/mame/drivers/cavepc.cpp29
-rw-r--r--src/mame/drivers/cball.cpp24
-rw-r--r--src/mame/drivers/cbasebal.cpp40
-rw-r--r--src/mame/drivers/cbm2.cpp130
-rw-r--r--src/mame/drivers/cbuster.cpp37
-rw-r--r--src/mame/drivers/cc40.cpp32
-rw-r--r--src/mame/drivers/cchance.cpp28
-rw-r--r--src/mame/drivers/cchasm.cpp32
-rw-r--r--src/mame/drivers/cclimber.cpp99
-rw-r--r--src/mame/drivers/ccs2810.cpp25
-rw-r--r--src/mame/drivers/cd2650.cpp4
-rw-r--r--src/mame/drivers/cdc721.cpp31
-rw-r--r--src/mame/drivers/cdi.cpp224
-rw-r--r--src/mame/drivers/cedar_magnet.cpp122
-rw-r--r--src/mame/drivers/centiped.cpp10
-rw-r--r--src/mame/drivers/cesclass.cpp29
-rw-r--r--src/mame/drivers/cgc7900.cpp18
-rw-r--r--src/mame/drivers/cgenie.cpp39
-rw-r--r--src/mame/drivers/chaknpop.cpp30
-rw-r--r--src/mame/drivers/champbas.cpp230
-rw-r--r--src/mame/drivers/champbwl.cpp67
-rw-r--r--src/mame/drivers/chanbara.cpp28
-rw-r--r--src/mame/drivers/chance32.cpp33
-rw-r--r--src/mame/drivers/channelf.cpp132
-rw-r--r--src/mame/drivers/chaos.cpp17
-rw-r--r--src/mame/drivers/cheekyms.cpp28
-rw-r--r--src/mame/drivers/chessmst.cpp121
-rw-r--r--src/mame/drivers/chesstrv.cpp376
-rw-r--r--src/mame/drivers/chexx.cpp4
-rw-r--r--src/mame/drivers/chicago.cpp23
-rw-r--r--src/mame/drivers/chihiro.cpp184
-rw-r--r--src/mame/drivers/chinagat.cpp18
-rw-r--r--src/mame/drivers/chsuper.cpp39
-rw-r--r--src/mame/drivers/cidelsa.cpp6
-rw-r--r--src/mame/drivers/circusc.cpp46
-rw-r--r--src/mame/drivers/cischeat.cpp250
-rw-r--r--src/mame/drivers/citycon.cpp28
-rw-r--r--src/mame/drivers/cking_master.cpp239
-rw-r--r--src/mame/drivers/ckz80.cpp473
-rw-r--r--src/mame/drivers/clayshoo.cpp26
-rw-r--r--src/mame/drivers/clcd.cpp24
-rw-r--r--src/mame/drivers/clickstart.cpp441
-rw-r--r--src/mame/drivers/cliffhgr.cpp74
-rw-r--r--src/mame/drivers/clowndwn.cpp20
-rw-r--r--src/mame/drivers/clpoker.cpp33
-rw-r--r--src/mame/drivers/clshroad.cpp72
-rw-r--r--src/mame/drivers/cm1800.cpp7
-rw-r--r--src/mame/drivers/cmi.cpp108
-rw-r--r--src/mame/drivers/cmmb.cpp26
-rw-r--r--src/mame/drivers/cms.cpp2
-rw-r--r--src/mame/drivers/cninja.cpp215
-rw-r--r--src/mame/drivers/cntsteer.cpp71
-rw-r--r--src/mame/drivers/cobra.cpp24
-rw-r--r--src/mame/drivers/coco12.cpp123
-rw-r--r--src/mame/drivers/coco3.cpp75
-rw-r--r--src/mame/drivers/cocoloco.cpp12
-rw-r--r--src/mame/drivers/coinmstr.cpp71
-rw-r--r--src/mame/drivers/coinmvga.cpp46
-rw-r--r--src/mame/drivers/coleco.cpp7
-rw-r--r--src/mame/drivers/comebaby.cpp29
-rw-r--r--src/mame/drivers/commando.cpp20
-rw-r--r--src/mame/drivers/compc.cpp40
-rw-r--r--src/mame/drivers/compgolf.cpp28
-rw-r--r--src/mame/drivers/compis.cpp44
-rw-r--r--src/mame/drivers/compucolor.cpp21
-rw-r--r--src/mame/drivers/comquest.cpp31
-rw-r--r--src/mame/drivers/comx35.cpp14
-rw-r--r--src/mame/drivers/concept.cpp29
-rw-r--r--src/mame/drivers/contra.cpp32
-rw-r--r--src/mame/drivers/controlid.cpp19
-rw-r--r--src/mame/drivers/coolpool.cpp49
-rw-r--r--src/mame/drivers/coolridr.cpp58
-rw-r--r--src/mame/drivers/cop01.cpp79
-rw-r--r--src/mame/drivers/copsnrob.cpp12
-rw-r--r--src/mame/drivers/corona.cpp171
-rw-r--r--src/mame/drivers/cortex.cpp44
-rw-r--r--src/mame/drivers/cosmic.cpp22
-rw-r--r--src/mame/drivers/cosmicos.cpp15
-rw-r--r--src/mame/drivers/cp1.cpp30
-rw-r--r--src/mame/drivers/cps1.cpp212
-rw-r--r--src/mame/drivers/cps2.cpp67
-rw-r--r--src/mame/drivers/cps3.cpp211
-rw-r--r--src/mame/drivers/craft.cpp1
-rw-r--r--src/mame/drivers/crbaloon.cpp31
-rw-r--r--src/mame/drivers/cromptons.cpp150
-rw-r--r--src/mame/drivers/crospang.cpp114
-rw-r--r--src/mame/drivers/crvision.cpp20
-rw-r--r--src/mame/drivers/csplayh5.cpp16
-rw-r--r--src/mame/drivers/cswat.cpp33
-rw-r--r--src/mame/drivers/ct486.cpp53
-rw-r--r--src/mame/drivers/cubeqst.cpp1
-rw-r--r--src/mame/drivers/cubo.cpp41
-rw-r--r--src/mame/drivers/cultures.cpp34
-rw-r--r--src/mame/drivers/cupidon.cpp21
-rw-r--r--src/mame/drivers/cvicny.cpp9
-rw-r--r--src/mame/drivers/cvs.cpp1
-rw-r--r--src/mame/drivers/cxg_ch2001.cpp193
-rw-r--r--src/mame/drivers/cxgz80.cpp437
-rw-r--r--src/mame/drivers/cxhumax.cpp33
-rw-r--r--src/mame/drivers/cyberbal.cpp35
-rw-r--r--src/mame/drivers/cybertnk.cpp61
-rw-r--r--src/mame/drivers/cybiko.cpp8
-rw-r--r--src/mame/drivers/cybstorm.cpp23
-rw-r--r--src/mame/drivers/cyclemb.cpp53
-rw-r--r--src/mame/drivers/cz101.cpp25
-rw-r--r--src/mame/drivers/d6800.cpp64
-rw-r--r--src/mame/drivers/d6809.cpp18
-rw-r--r--src/mame/drivers/d9final.cpp39
-rw-r--r--src/mame/drivers/dacholer.cpp8
-rw-r--r--src/mame/drivers/dai.cpp43
-rw-r--r--src/mame/drivers/dai3wksi.cpp6
-rw-r--r--src/mame/drivers/dambustr.cpp23
-rw-r--r--src/mame/drivers/darkmist.cpp29
-rw-r--r--src/mame/drivers/darkseal.cpp41
-rw-r--r--src/mame/drivers/daruma.cpp16
-rw-r--r--src/mame/drivers/dassault.cpp52
-rw-r--r--src/mame/drivers/datum.cpp11
-rw-r--r--src/mame/drivers/dblcrown.cpp30
-rw-r--r--src/mame/drivers/dblewing.cpp44
-rw-r--r--src/mame/drivers/dbox.cpp12
-rw-r--r--src/mame/drivers/dbz.cpp38
-rw-r--r--src/mame/drivers/dccons.cpp60
-rw-r--r--src/mame/drivers/dcheese.cpp65
-rw-r--r--src/mame/drivers/dday.cpp24
-rw-r--r--src/mame/drivers/ddayjlc.cpp36
-rw-r--r--src/mame/drivers/ddealer.cpp33
-rw-r--r--src/mame/drivers/ddenlovr.cpp227
-rw-r--r--src/mame/drivers/ddragon.cpp29
-rw-r--r--src/mame/drivers/ddragon3.cpp108
-rw-r--r--src/mame/drivers/ddribble.cpp59
-rw-r--r--src/mame/drivers/de_3.cpp15
-rw-r--r--src/mame/drivers/dec0.cpp224
-rw-r--r--src/mame/drivers/deco156.cpp70
-rw-r--r--src/mame/drivers/deco32.cpp2
-rw-r--r--src/mame/drivers/deco_ld.cpp30
-rw-r--r--src/mame/drivers/deco_mlc.cpp99
-rw-r--r--src/mame/drivers/decocass.cpp183
-rw-r--r--src/mame/drivers/decstation.cpp186
-rw-r--r--src/mame/drivers/dectalk.cpp33
-rw-r--r--src/mame/drivers/decwritr.cpp38
-rw-r--r--src/mame/drivers/deniam.cpp6
-rw-r--r--src/mame/drivers/deshoros.cpp26
-rw-r--r--src/mame/drivers/destroyr.cpp28
-rw-r--r--src/mame/drivers/dfruit.cpp34
-rw-r--r--src/mame/drivers/dgn_beta.cpp47
-rw-r--r--src/mame/drivers/dgpix.cpp25
-rw-r--r--src/mame/drivers/diablo1300.cpp11
-rw-r--r--src/mame/drivers/didact.cpp449
-rw-r--r--src/mame/drivers/dietgo.cpp33
-rw-r--r--src/mame/drivers/digel804.cpp44
-rw-r--r--src/mame/drivers/digijet.cpp9
-rw-r--r--src/mame/drivers/dim68k.cpp32
-rw-r--r--src/mame/drivers/discoboy.cpp53
-rw-r--r--src/mame/drivers/divebomb.cpp59
-rw-r--r--src/mame/drivers/diverboy.cpp35
-rw-r--r--src/mame/drivers/djboy.cpp159
-rw-r--r--src/mame/drivers/djmain.cpp58
-rw-r--r--src/mame/drivers/dkmb.cpp24
-rw-r--r--src/mame/drivers/dkong.cpp84
-rw-r--r--src/mame/drivers/dlair.cpp34
-rw-r--r--src/mame/drivers/dlair2.cpp30
-rw-r--r--src/mame/drivers/dm7000.cpp2
-rw-r--r--src/mame/drivers/dmax8000.cpp20
-rw-r--r--src/mame/drivers/dmndrby.cpp39
-rw-r--r--src/mame/drivers/dms5000.cpp27
-rw-r--r--src/mame/drivers/dmv.cpp185
-rw-r--r--src/mame/drivers/docastle.cpp72
-rw-r--r--src/mame/drivers/dogfgt.cpp36
-rw-r--r--src/mame/drivers/dominob.cpp28
-rw-r--r--src/mame/drivers/dooyong.cpp321
-rw-r--r--src/mame/drivers/dorachan.cpp24
-rw-r--r--src/mame/drivers/dotrikun.cpp29
-rw-r--r--src/mame/drivers/dps1.cpp25
-rw-r--r--src/mame/drivers/dragon.cpp141
-rw-r--r--src/mame/drivers/dragrace.cpp36
-rw-r--r--src/mame/drivers/dreambal.cpp32
-rw-r--r--src/mame/drivers/dreamwld.cpp58
-rw-r--r--src/mame/drivers/drgnmst.cpp54
-rw-r--r--src/mame/drivers/dribling.cpp30
-rw-r--r--src/mame/drivers/drmicro.cpp56
-rw-r--r--src/mame/drivers/drtomy.cpp29
-rw-r--r--src/mame/drivers/drw80pkr.cpp27
-rw-r--r--src/mame/drivers/dual68.cpp25
-rw-r--r--src/mame/drivers/duet16.cpp73
-rw-r--r--src/mame/drivers/dunhuang.cpp35
-rw-r--r--src/mame/drivers/dvk_kcgd.cpp24
-rw-r--r--src/mame/drivers/dvk_ksm.cpp60
-rw-r--r--src/mame/drivers/dynadice.cpp40
-rw-r--r--src/mame/drivers/dynax.cpp235
-rw-r--r--src/mame/drivers/e100.cpp35
-rw-r--r--src/mame/drivers/eacc.cpp13
-rw-r--r--src/mame/drivers/ec184x.cpp126
-rw-r--r--src/mame/drivers/ec65.cpp52
-rw-r--r--src/mame/drivers/ecoinf1.cpp11
-rw-r--r--src/mame/drivers/ecoinf2.cpp2
-rw-r--r--src/mame/drivers/ecoinf3.cpp2
-rw-r--r--src/mame/drivers/efdt.cpp33
-rw-r--r--src/mame/drivers/egghunt.cpp37
-rw-r--r--src/mame/drivers/einstein.cpp44
-rw-r--r--src/mame/drivers/electra.cpp23
-rw-r--r--src/mame/drivers/electron.cpp25
-rw-r--r--src/mame/drivers/elekscmp.cpp9
-rw-r--r--src/mame/drivers/elektronmono.cpp9
-rw-r--r--src/mame/drivers/elf.cpp33
-rw-r--r--src/mame/drivers/elwro800.cpp53
-rw-r--r--src/mame/drivers/embargo.cpp25
-rw-r--r--src/mame/drivers/emma2.cpp15
-rw-r--r--src/mame/drivers/enigma2.cpp46
-rw-r--r--src/mame/drivers/eolith.cpp4
-rw-r--r--src/mame/drivers/eolith16.cpp31
-rw-r--r--src/mame/drivers/ep64.cpp10
-rw-r--r--src/mame/drivers/epos.cpp52
-rw-r--r--src/mame/drivers/eprom.cpp104
-rw-r--r--src/mame/drivers/equites.cpp1
-rw-r--r--src/mame/drivers/ertictac.cpp1
-rw-r--r--src/mame/drivers/esd16.cpp371
-rw-r--r--src/mame/drivers/esh.cpp24
-rw-r--r--src/mame/drivers/espial.cpp45
-rw-r--r--src/mame/drivers/esq5505.cpp13
-rw-r--r--src/mame/drivers/esqasr.cpp17
-rw-r--r--src/mame/drivers/esqkt.cpp10
-rw-r--r--src/mame/drivers/esripsys.cpp1
-rw-r--r--src/mame/drivers/et3400.cpp15
-rw-r--r--src/mame/drivers/eti660.cpp10
-rw-r--r--src/mame/drivers/ettrivia.cpp51
-rw-r--r--src/mame/drivers/eurocom2.cpp71
-rw-r--r--src/mame/drivers/europc.cpp99
-rw-r--r--src/mame/drivers/evmbug.cpp25
-rw-r--r--src/mame/drivers/excali64.cpp48
-rw-r--r--src/mame/drivers/exedexes.cpp48
-rw-r--r--src/mame/drivers/exelv.cpp2
-rw-r--r--src/mame/drivers/exerion.cpp22
-rw-r--r--src/mame/drivers/exidy.cpp104
-rw-r--r--src/mame/drivers/exidy440.cpp23
-rw-r--r--src/mame/drivers/exidyttl.cpp46
-rw-r--r--src/mame/drivers/expro02.cpp143
-rw-r--r--src/mame/drivers/exterm.cpp33
-rw-r--r--src/mame/drivers/extrema.cpp11
-rw-r--r--src/mame/drivers/exzisus.cpp48
-rw-r--r--src/mame/drivers/ez2d.cpp22
-rw-r--r--src/mame/drivers/f-32.cpp68
-rw-r--r--src/mame/drivers/fantland.cpp83
-rw-r--r--src/mame/drivers/fanucs15.cpp27
-rw-r--r--src/mame/drivers/fanucspmg.cpp3
-rw-r--r--src/mame/drivers/fastfred.cpp87
-rw-r--r--src/mame/drivers/fb01.cpp42
-rw-r--r--src/mame/drivers/fc100.cpp55
-rw-r--r--src/mame/drivers/fccpu20.cpp75
-rw-r--r--src/mame/drivers/fccpu30.cpp77
-rw-r--r--src/mame/drivers/fcombat.cpp22
-rw-r--r--src/mame/drivers/fcrash.cpp643
-rw-r--r--src/mame/drivers/feversoc.cpp31
-rw-r--r--src/mame/drivers/fgoal.cpp22
-rw-r--r--src/mame/drivers/fidel6502.cpp2902
-rw-r--r--src/mame/drivers/fidel68k.cpp818
-rw-r--r--src/mame/drivers/fidel_as12.cpp192
-rw-r--r--src/mame/drivers/fidel_card.cpp675
-rw-r--r--src/mame/drivers/fidel_cc1.cpp221
-rw-r--r--src/mame/drivers/fidel_cc10.cpp321
-rw-r--r--src/mame/drivers/fidel_cc7.cpp245
-rw-r--r--src/mame/drivers/fidel_chesster.cpp227
-rw-r--r--src/mame/drivers/fidel_csc.cpp712
-rw-r--r--src/mame/drivers/fidel_dames.cpp180
-rw-r--r--src/mame/drivers/fidel_desdis.cpp358
-rw-r--r--src/mame/drivers/fidel_eag68k.cpp737
-rw-r--r--src/mame/drivers/fidel_elite.cpp647
-rw-r--r--src/mame/drivers/fidel_excel.cpp523
-rw-r--r--src/mame/drivers/fidel_phantom.cpp143
-rw-r--r--src/mame/drivers/fidel_sc12.cpp244
-rw-r--r--src/mame/drivers/fidel_sc8.cpp157
-rw-r--r--src/mame/drivers/fidel_sc9.cpp295
-rw-r--r--src/mame/drivers/fidel_vcc.cpp386
-rw-r--r--src/mame/drivers/fidel_vsc.cpp430
-rw-r--r--src/mame/drivers/fidelmcs48.cpp (renamed from src/mame/drivers/fidel_sc6.cpp)149
-rw-r--r--src/mame/drivers/fidelz80.cpp2045
-rw-r--r--src/mame/drivers/finalizr.cpp70
-rw-r--r--src/mame/drivers/fireball.cpp11
-rw-r--r--src/mame/drivers/firebeat.cpp4
-rw-r--r--src/mame/drivers/firefox.cpp68
-rw-r--r--src/mame/drivers/firetrap.cpp105
-rw-r--r--src/mame/drivers/firetrk.cpp60
-rw-r--r--src/mame/drivers/fitfight.cpp44
-rw-r--r--src/mame/drivers/fk1.cpp31
-rw-r--r--src/mame/drivers/flipjack.cpp6
-rw-r--r--src/mame/drivers/flower.cpp38
-rw-r--r--src/mame/drivers/flstory.cpp1
-rw-r--r--src/mame/drivers/flyball.cpp28
-rw-r--r--src/mame/drivers/fm7.cpp288
-rw-r--r--src/mame/drivers/fontwriter.cpp60
-rw-r--r--src/mame/drivers/foodf.cpp2
-rw-r--r--src/mame/drivers/force68k.cpp76
-rw-r--r--src/mame/drivers/forte2.cpp3
-rw-r--r--src/mame/drivers/fortecar.cpp31
-rw-r--r--src/mame/drivers/fp1100.cpp43
-rw-r--r--src/mame/drivers/fp6000.cpp34
-rw-r--r--src/mame/drivers/freekick.cpp323
-rw-r--r--src/mame/drivers/freeway.cpp191
-rw-r--r--src/mame/drivers/fresh.cpp29
-rw-r--r--src/mame/drivers/fromance.cpp130
-rw-r--r--src/mame/drivers/fruitpc.cpp22
-rw-r--r--src/mame/drivers/fs3216.cpp357
-rw-r--r--src/mame/drivers/fungames.cpp23
-rw-r--r--src/mame/drivers/funkball.cpp32
-rw-r--r--src/mame/drivers/funkybee.cpp28
-rw-r--r--src/mame/drivers/funkyjet.cpp34
-rw-r--r--src/mame/drivers/funtech.cpp34
-rw-r--r--src/mame/drivers/funworld.cpp164
-rw-r--r--src/mame/drivers/funybubl.cpp40
-rw-r--r--src/mame/drivers/fuukifg2.cpp4
-rw-r--r--src/mame/drivers/g627.cpp14
-rw-r--r--src/mame/drivers/gaelco.cpp138
-rw-r--r--src/mame/drivers/gaelco2.cpp384
-rw-r--r--src/mame/drivers/gaelcopc.cpp27
-rw-r--r--src/mame/drivers/gaiden.cpp2
-rw-r--r--src/mame/drivers/gal3.cpp69
-rw-r--r--src/mame/drivers/galaga.cpp8
-rw-r--r--src/mame/drivers/galastrm.cpp40
-rw-r--r--src/mame/drivers/galaxi.cpp47
-rw-r--r--src/mame/drivers/galaxian.cpp835
-rw-r--r--src/mame/drivers/galaxold.cpp316
-rw-r--r--src/mame/drivers/galaxy.cpp74
-rw-r--r--src/mame/drivers/galeb.cpp32
-rw-r--r--src/mame/drivers/galgames.cpp155
-rw-r--r--src/mame/drivers/galivan.cpp123
-rw-r--r--src/mame/drivers/galpani2.cpp38
-rw-r--r--src/mame/drivers/galpani3.cpp46
-rw-r--r--src/mame/drivers/galpanic.cpp42
-rw-r--r--src/mame/drivers/galspnbl.cpp6
-rw-r--r--src/mame/drivers/gamate.cpp21
-rw-r--r--src/mame/drivers/gambl186.cpp25
-rw-r--r--src/mame/drivers/gamecom.cpp34
-rw-r--r--src/mame/drivers/gamecstl.cpp30
-rw-r--r--src/mame/drivers/gamecube.cpp9
-rw-r--r--src/mame/drivers/gameking.cpp34
-rw-r--r--src/mame/drivers/gamemachine.cpp419
-rw-r--r--src/mame/drivers/gamepock.cpp9
-rw-r--r--src/mame/drivers/gammagic.cpp13
-rw-r--r--src/mame/drivers/gamtor.cpp22
-rw-r--r--src/mame/drivers/gatron.cpp39
-rw-r--r--src/mame/drivers/gauntlet.cpp94
-rw-r--r--src/mame/drivers/gb.cpp20
-rw-r--r--src/mame/drivers/gba.cpp54
-rw-r--r--src/mame/drivers/gberet.cpp70
-rw-r--r--src/mame/drivers/gcpinbal.cpp31
-rw-r--r--src/mame/drivers/gei.cpp109
-rw-r--r--src/mame/drivers/geneve.cpp51
-rw-r--r--src/mame/drivers/geniusiq.cpp22
-rw-r--r--src/mame/drivers/genpc.cpp69
-rw-r--r--src/mame/drivers/ggconnie.cpp104
-rw-r--r--src/mame/drivers/ghosteo.cpp22
-rw-r--r--src/mame/drivers/giclassic.cpp51
-rw-r--r--src/mame/drivers/gimix.cpp21
-rw-r--r--src/mame/drivers/ginganin.cpp37
-rw-r--r--src/mame/drivers/gizmondo.cpp23
-rw-r--r--src/mame/drivers/gkigt.cpp51
-rw-r--r--src/mame/drivers/gladiatr.cpp112
-rw-r--r--src/mame/drivers/glasgow.cpp35
-rw-r--r--src/mame/drivers/glass.cpp45
-rw-r--r--src/mame/drivers/globalvr.cpp9
-rw-r--r--src/mame/drivers/gluck2.cpp30
-rw-r--r--src/mame/drivers/gmaster.cpp13
-rw-r--r--src/mame/drivers/gng.cpp70
-rw-r--r--src/mame/drivers/go2000.cpp39
-rw-r--r--src/mame/drivers/goal92.cpp2
-rw-r--r--src/mame/drivers/goindol.cpp44
-rw-r--r--src/mame/drivers/gokidetor.cpp16
-rw-r--r--src/mame/drivers/goldnpkr.cpp39
-rw-r--r--src/mame/drivers/goldstar.cpp882
-rw-r--r--src/mame/drivers/gomoku.cpp28
-rw-r--r--src/mame/drivers/good.cpp32
-rw-r--r--src/mame/drivers/gotcha.cpp60
-rw-r--r--src/mame/drivers/gottlieb.cpp24
-rw-r--r--src/mame/drivers/gp2x.cpp23
-rw-r--r--src/mame/drivers/gp32.cpp42
-rw-r--r--src/mame/drivers/gp_2.cpp7
-rw-r--r--src/mame/drivers/gpworld.cpp24
-rw-r--r--src/mame/drivers/grchamp.cpp41
-rw-r--r--src/mame/drivers/grfd2301.cpp25
-rw-r--r--src/mame/drivers/gridcomp.cpp108
-rw-r--r--src/mame/drivers/groundfx.cpp26
-rw-r--r--src/mame/drivers/gstream.cpp61
-rw-r--r--src/mame/drivers/gsword.cpp95
-rw-r--r--src/mame/drivers/gts80a.cpp28
-rw-r--r--src/mame/drivers/guab.cpp8
-rw-r--r--src/mame/drivers/gumbo.cpp48
-rw-r--r--src/mame/drivers/gunbustr.cpp26
-rw-r--r--src/mame/drivers/gundealr.cpp52
-rw-r--r--src/mame/drivers/gunpey.cpp34
-rw-r--r--src/mame/drivers/gunsmoke.cpp56
-rw-r--r--src/mame/drivers/gyruss.cpp38
-rw-r--r--src/mame/drivers/h19.cpp56
-rw-r--r--src/mame/drivers/halleys.cpp51
-rw-r--r--src/mame/drivers/hanaawas.cpp28
-rw-r--r--src/mame/drivers/hankin.cpp24
-rw-r--r--src/mame/drivers/hapyfish.cpp34
-rw-r--r--src/mame/drivers/harddriv.cpp10
-rw-r--r--src/mame/drivers/hazeltin.cpp21
-rw-r--r--src/mame/drivers/headonb.cpp32
-rw-r--r--src/mame/drivers/hec2hrp.cpp277
-rw-r--r--src/mame/drivers/hh_amis2k.cpp478
-rw-r--r--src/mame/drivers/hh_cop400.cpp325
-rw-r--r--src/mame/drivers/hh_hmcs40.cpp1382
-rw-r--r--src/mame/drivers/hh_melps4.cpp95
-rw-r--r--src/mame/drivers/hh_pic16.cpp295
-rw-r--r--src/mame/drivers/hh_sm510.cpp3542
-rw-r--r--src/mame/drivers/hh_tms1k.cpp2764
-rw-r--r--src/mame/drivers/hh_ucom4.cpp638
-rw-r--r--src/mame/drivers/hideseek.cpp28
-rw-r--r--src/mame/drivers/higemaru.cpp28
-rw-r--r--src/mame/drivers/highvdeo.cpp204
-rw-r--r--src/mame/drivers/hitme.cpp45
-rw-r--r--src/mame/drivers/hitpoker.cpp3
-rw-r--r--src/mame/drivers/hk68v10.cpp13
-rw-r--r--src/mame/drivers/hnayayoi.cpp47
-rw-r--r--src/mame/drivers/hng64.cpp11
-rw-r--r--src/mame/drivers/holeland.cpp64
-rw-r--r--src/mame/drivers/homedata.cpp430
-rw-r--r--src/mame/drivers/homelab.cpp108
-rw-r--r--src/mame/drivers/homerun.cpp88
-rw-r--r--src/mame/drivers/homez80.cpp29
-rw-r--r--src/mame/drivers/horizon.cpp58
-rw-r--r--src/mame/drivers/hornet.cpp21
-rw-r--r--src/mame/drivers/hotblock.cpp22
-rw-r--r--src/mame/drivers/hotstuff.cpp32
-rw-r--r--src/mame/drivers/hp16500.cpp49
-rw-r--r--src/mame/drivers/hp2100.cpp5
-rw-r--r--src/mame/drivers/hp2640.cpp43
-rw-r--r--src/mame/drivers/hp48.cpp1
-rw-r--r--src/mame/drivers/hp49gp.cpp23
-rw-r--r--src/mame/drivers/hp64k.cpp76
-rw-r--r--src/mame/drivers/hp80.cpp90
-rw-r--r--src/mame/drivers/hp95lx.cpp34
-rw-r--r--src/mame/drivers/hp9825.cpp317
-rw-r--r--src/mame/drivers/hp9845.cpp147
-rw-r--r--src/mame/drivers/hp9k.cpp31
-rw-r--r--src/mame/drivers/hp9k_3xx.cpp97
-rw-r--r--src/mame/drivers/hp_ipc.cpp98
-rw-r--r--src/mame/drivers/hprot1.cpp53
-rw-r--r--src/mame/drivers/hpz80unk.cpp16
-rw-r--r--src/mame/drivers/hshavoc.cpp2
-rw-r--r--src/mame/drivers/ht68k.cpp31
-rw-r--r--src/mame/drivers/huebler.cpp21
-rw-r--r--src/mame/drivers/hunter2.cpp54
-rw-r--r--src/mame/drivers/hvyunit.cpp51
-rw-r--r--src/mame/drivers/hx20.cpp46
-rw-r--r--src/mame/drivers/hyhoo.cpp33
-rw-r--r--src/mame/drivers/hyperscan.cpp25
-rw-r--r--src/mame/drivers/hyperspt.cpp77
-rw-r--r--src/mame/drivers/hyprduel.cpp68
-rw-r--r--src/mame/drivers/i7000.cpp23
-rw-r--r--src/mame/drivers/ibm3153.cpp25
-rw-r--r--src/mame/drivers/ibm6580.cpp107
-rw-r--r--src/mame/drivers/ibmpc.cpp84
-rw-r--r--src/mame/drivers/ibmpcjr.cpp51
-rw-r--r--src/mame/drivers/icatel.cpp25
-rw-r--r--src/mame/drivers/ice_bozopail.cpp10
-rw-r--r--src/mame/drivers/ice_tbd.cpp12
-rw-r--r--src/mame/drivers/icebox.cpp21
-rw-r--r--src/mame/drivers/icecold.cpp8
-rw-r--r--src/mame/drivers/ichiban.cpp60
-rw-r--r--src/mame/drivers/idsa.cpp17
-rw-r--r--src/mame/drivers/ie15.cpp7
-rw-r--r--src/mame/drivers/if800.cpp28
-rw-r--r--src/mame/drivers/igs009.cpp47
-rw-r--r--src/mame/drivers/igs011.cpp37
-rw-r--r--src/mame/drivers/igs017.cpp297
-rw-r--r--src/mame/drivers/igs_m027.cpp64
-rw-r--r--src/mame/drivers/igs_m036.cpp62
-rw-r--r--src/mame/drivers/igspc.cpp11
-rw-r--r--src/mame/drivers/igspoker.cpp87
-rw-r--r--src/mame/drivers/ikki.cpp38
-rw-r--r--src/mame/drivers/imds2.cpp2
-rw-r--r--src/mame/drivers/imolagp.cpp40
-rw-r--r--src/mame/drivers/inder.cpp65
-rw-r--r--src/mame/drivers/inderp.cpp15
-rw-r--r--src/mame/drivers/indiana.cpp18
-rw-r--r--src/mame/drivers/indigo.cpp385
-rw-r--r--src/mame/drivers/indy_indigo2.cpp119
-rw-r--r--src/mame/drivers/instantm.cpp26
-rw-r--r--src/mame/drivers/instruct.cpp4
-rw-r--r--src/mame/drivers/inteladv.cpp23
-rw-r--r--src/mame/drivers/intellect02.cpp321
-rw-r--r--src/mame/drivers/interact.cpp80
-rw-r--r--src/mame/drivers/interpro.cpp32
-rw-r--r--src/mame/drivers/intrscti.cpp40
-rw-r--r--src/mame/drivers/intv.cpp107
-rw-r--r--src/mame/drivers/invqix.cpp33
-rw-r--r--src/mame/drivers/ipds.cpp31
-rw-r--r--src/mame/drivers/iphone2g.cpp16
-rw-r--r--src/mame/drivers/iq151.cpp109
-rw-r--r--src/mame/drivers/iqblock.cpp32
-rw-r--r--src/mame/drivers/iqunlim.cpp21
-rw-r--r--src/mame/drivers/iris3130.cpp8
-rw-r--r--src/mame/drivers/irisha.cpp32
-rw-r--r--src/mame/drivers/irobot.cpp4
-rw-r--r--src/mame/drivers/ironhors.cpp61
-rw-r--r--src/mame/drivers/isbc8010.cpp60
-rw-r--r--src/mame/drivers/iskr103x.cpp46
-rw-r--r--src/mame/drivers/istellar.cpp32
-rw-r--r--src/mame/drivers/istrebiteli.cpp38
-rw-r--r--src/mame/drivers/iteagle.cpp65
-rw-r--r--src/mame/drivers/itech32.cpp43
-rw-r--r--src/mame/drivers/itech8.cpp4
-rw-r--r--src/mame/drivers/itgambl2.cpp22
-rw-r--r--src/mame/drivers/itgambl3.cpp25
-rw-r--r--src/mame/drivers/itt3030.cpp32
-rw-r--r--src/mame/drivers/jack.cpp86
-rw-r--r--src/mame/drivers/jackal.cpp32
-rw-r--r--src/mame/drivers/jackpool.cpp28
-rw-r--r--src/mame/drivers/jaguar.cpp6
-rw-r--r--src/mame/drivers/jailbrek.cpp33
-rw-r--r--src/mame/drivers/jalmah.cpp52
-rw-r--r--src/mame/drivers/jangou.cpp102
-rw-r--r--src/mame/drivers/jankenmn.cpp12
-rw-r--r--src/mame/drivers/jantotsu.cpp45
-rw-r--r--src/mame/drivers/jazz.cpp276
-rw-r--r--src/mame/drivers/jchan.cpp38
-rw-r--r--src/mame/drivers/jclub2.cpp98
-rw-r--r--src/mame/drivers/jedi.cpp12
-rw-r--r--src/mame/drivers/jensen.cpp246
-rw-r--r--src/mame/drivers/jeutel.cpp31
-rw-r--r--src/mame/drivers/joctronic.cpp60
-rw-r--r--src/mame/drivers/jokrwild.cpp25
-rw-r--r--src/mame/drivers/jollyjgr.cpp34
-rw-r--r--src/mame/drivers/jongkyo.cpp20
-rw-r--r--src/mame/drivers/jonos.cpp27
-rw-r--r--src/mame/drivers/joystand.cpp52
-rw-r--r--src/mame/drivers/jp.cpp31
-rw-r--r--src/mame/drivers/jpmimpct.cpp50
-rw-r--r--src/mame/drivers/jpmmps.cpp33
-rw-r--r--src/mame/drivers/jpms80.cpp28
-rw-r--r--src/mame/drivers/jpmsru.cpp10
-rw-r--r--src/mame/drivers/jpmsys5.cpp39
-rw-r--r--src/mame/drivers/jpmsys7.cpp11
-rw-r--r--src/mame/drivers/jr100.cpp4
-rw-r--r--src/mame/drivers/jr200.cpp32
-rw-r--r--src/mame/drivers/jtc.cpp80
-rw-r--r--src/mame/drivers/jubilee.cpp36
-rw-r--r--src/mame/drivers/juicebox.cpp33
-rw-r--r--src/mame/drivers/jungleyo.cpp32
-rw-r--r--src/mame/drivers/junior.cpp27
-rw-r--r--src/mame/drivers/junofrst.cpp24
-rw-r--r--src/mame/drivers/jupace.cpp44
-rw-r--r--src/mame/drivers/jupiter.cpp33
-rw-r--r--src/mame/drivers/jvh.cpp44
-rw-r--r--src/mame/drivers/k1003.cpp11
-rw-r--r--src/mame/drivers/k28.cpp301
-rw-r--r--src/mame/drivers/k8915.cpp25
-rw-r--r--src/mame/drivers/kaneko16.cpp199
-rw-r--r--src/mame/drivers/kangaroo.cpp36
-rw-r--r--src/mame/drivers/karnov.cpp4
-rw-r--r--src/mame/drivers/kas89.cpp22
-rw-r--r--src/mame/drivers/kaypro.cpp116
-rw-r--r--src/mame/drivers/kc.cpp141
-rw-r--r--src/mame/drivers/kchamp.cpp196
-rw-r--r--src/mame/drivers/kdt6.cpp31
-rw-r--r--src/mame/drivers/kickgoal.cpp100
-rw-r--r--src/mame/drivers/kim1.cpp38
-rw-r--r--src/mame/drivers/kingdrby.cpp69
-rw-r--r--src/mame/drivers/kingobox.cpp84
-rw-r--r--src/mame/drivers/kingpin.cpp3
-rw-r--r--src/mame/drivers/klax.cpp55
-rw-r--r--src/mame/drivers/kncljoe.cpp42
-rw-r--r--src/mame/drivers/koftball.cpp45
-rw-r--r--src/mame/drivers/koikoi.cpp28
-rw-r--r--src/mame/drivers/konamigv.cpp40
-rw-r--r--src/mame/drivers/konamigx.cpp2
-rw-r--r--src/mame/drivers/konamim2.cpp11
-rw-r--r--src/mame/drivers/konblands.cpp33
-rw-r--r--src/mame/drivers/konendev.cpp31
-rw-r--r--src/mame/drivers/konmedal68k.cpp31
-rw-r--r--src/mame/drivers/kontest.cpp36
-rw-r--r--src/mame/drivers/kopunch.cpp28
-rw-r--r--src/mame/drivers/kramermc.cpp28
-rw-r--r--src/mame/drivers/kron.cpp27
-rw-r--r--src/mame/drivers/krz2000.cpp7
-rw-r--r--src/mame/drivers/ksayakyu.cpp41
-rw-r--r--src/mame/drivers/kungfur.cpp30
-rw-r--r--src/mame/drivers/kurukuru.cpp48
-rw-r--r--src/mame/drivers/kyocera.cpp40
-rw-r--r--src/mame/drivers/kyugo.cpp90
-rw-r--r--src/mame/drivers/labyrunr.cpp28
-rw-r--r--src/mame/drivers/ladybug.cpp82
-rw-r--r--src/mame/drivers/ladyfrog.cpp1
-rw-r--r--src/mame/drivers/laser3k.cpp29
-rw-r--r--src/mame/drivers/laserbas.cpp47
-rw-r--r--src/mame/drivers/lasso.cpp106
-rw-r--r--src/mame/drivers/lastbank.cpp45
-rw-r--r--src/mame/drivers/lastfght.cpp26
-rw-r--r--src/mame/drivers/laz_aftrshok.cpp118
-rw-r--r--src/mame/drivers/laz_awetoss.cpp17
-rw-r--r--src/mame/drivers/laz_ribrac.cpp15
-rw-r--r--src/mame/drivers/lazercmd.cpp122
-rw-r--r--src/mame/drivers/lb186.cpp56
-rw-r--r--src/mame/drivers/lbeach.cpp26
-rw-r--r--src/mame/drivers/lc80.cpp44
-rw-r--r--src/mame/drivers/lckydraw.cpp11
-rw-r--r--src/mame/drivers/lcmate2.cpp29
-rw-r--r--src/mame/drivers/ldplayer.cpp5
-rw-r--r--src/mame/drivers/leapfrog_leappad.cpp145
-rw-r--r--src/mame/drivers/leapster.cpp26
-rw-r--r--src/mame/drivers/learnwin.cpp14
-rw-r--r--src/mame/drivers/legionna.cpp26
-rw-r--r--src/mame/drivers/leland.cpp82
-rw-r--r--src/mame/drivers/lemmings.cpp46
-rw-r--r--src/mame/drivers/lethal.cpp26
-rw-r--r--src/mame/drivers/lethalj.cpp36
-rw-r--r--src/mame/drivers/lg-dvd.cpp9
-rw-r--r--src/mame/drivers/lgp.cpp29
-rw-r--r--src/mame/drivers/liberate.cpp131
-rw-r--r--src/mame/drivers/lilith.cpp5
-rw-r--r--src/mame/drivers/limenko.cpp24
-rw-r--r--src/mame/drivers/lindbergh.cpp7
-rw-r--r--src/mame/drivers/lisa.cpp44
-rw-r--r--src/mame/drivers/littlerb.cpp23
-rw-r--r--src/mame/drivers/lkage.cpp2
-rw-r--r--src/mame/drivers/llc.cpp51
-rw-r--r--src/mame/drivers/lockon.cpp38
-rw-r--r--src/mame/drivers/looping.cpp13
-rw-r--r--src/mame/drivers/lsasquad.cpp92
-rw-r--r--src/mame/drivers/ltcasino.cpp25
-rw-r--r--src/mame/drivers/ltd.cpp16
-rw-r--r--src/mame/drivers/luckgrln.cpp46
-rw-r--r--src/mame/drivers/lucky74.cpp54
-rw-r--r--src/mame/drivers/luckybal.cpp26
-rw-r--r--src/mame/drivers/lvcards.cpp43
-rw-r--r--src/mame/drivers/lviv.cpp49
-rw-r--r--src/mame/drivers/lwings.cpp170
-rw-r--r--src/mame/drivers/lynx.cpp24
-rw-r--r--src/mame/drivers/m20.cpp35
-rw-r--r--src/mame/drivers/m24.cpp484
-rw-r--r--src/mame/drivers/m3.cpp25
-rw-r--r--src/mame/drivers/m5.cpp75
-rw-r--r--src/mame/drivers/m52.cpp35
-rw-r--r--src/mame/drivers/m57.cpp31
-rw-r--r--src/mame/drivers/m58.cpp24
-rw-r--r--src/mame/drivers/m62.cpp199
-rw-r--r--src/mame/drivers/m63.cpp12
-rw-r--r--src/mame/drivers/m6805evs.cpp9
-rw-r--r--src/mame/drivers/m72.cpp244
-rw-r--r--src/mame/drivers/m79152pc.cpp7
-rw-r--r--src/mame/drivers/m79amb.cpp27
-rw-r--r--src/mame/drivers/m90.cpp30
-rw-r--r--src/mame/drivers/mac.cpp13
-rw-r--r--src/mame/drivers/mac128.cpp7
-rw-r--r--src/mame/drivers/macp.cpp26
-rw-r--r--src/mame/drivers/macs.cpp3
-rw-r--r--src/mame/drivers/madalien.cpp17
-rw-r--r--src/mame/drivers/madmotor.cpp41
-rw-r--r--src/mame/drivers/magic10.cpp71
-rw-r--r--src/mame/drivers/magicard.cpp42
-rw-r--r--src/mame/drivers/magicfly.cpp36
-rw-r--r--src/mame/drivers/magictg.cpp37
-rw-r--r--src/mame/drivers/magmax.cpp32
-rw-r--r--src/mame/drivers/magnum.cpp52
-rw-r--r--src/mame/drivers/magreel.cpp31
-rw-r--r--src/mame/drivers/magtouch.cpp26
-rw-r--r--src/mame/drivers/mainsnk.cpp32
-rw-r--r--src/mame/drivers/majorpkr.cpp24
-rw-r--r--src/mame/drivers/manohman.cpp22
-rw-r--r--src/mame/drivers/mappy.cpp9
-rw-r--r--src/mame/drivers/marineb.cpp79
-rw-r--r--src/mame/drivers/marinedt.cpp22
-rw-r--r--src/mame/drivers/mario.cpp33
-rw-r--r--src/mame/drivers/markham.cpp77
-rw-r--r--src/mame/drivers/marywu.cpp11
-rw-r--r--src/mame/drivers/mastboyo.cpp31
-rw-r--r--src/mame/drivers/matmania.cpp6
-rw-r--r--src/mame/drivers/maxaflex.cpp2
-rw-r--r--src/mame/drivers/maygay1b.cpp58
-rw-r--r--src/mame/drivers/maygayep.cpp12
-rw-r--r--src/mame/drivers/maygaysw.cpp10
-rw-r--r--src/mame/drivers/maygayv1.cpp39
-rw-r--r--src/mame/drivers/mazerbla.cpp106
-rw-r--r--src/mame/drivers/mbc200.cpp45
-rw-r--r--src/mame/drivers/mbc55x.cpp324
-rw-r--r--src/mame/drivers/mbee.cpp161
-rw-r--r--src/mame/drivers/mc10.cpp86
-rw-r--r--src/mame/drivers/mc1000.cpp52
-rw-r--r--src/mame/drivers/mc1502.cpp43
-rw-r--r--src/mame/drivers/mc8020.cpp19
-rw-r--r--src/mame/drivers/mc8030.cpp19
-rw-r--r--src/mame/drivers/mcb216.cpp30
-rw-r--r--src/mame/drivers/mcr3.cpp97
-rw-r--r--src/mame/drivers/mcr68.cpp73
-rw-r--r--src/mame/drivers/meadows.cpp4
-rw-r--r--src/mame/drivers/meadwttl.cpp23
-rw-r--r--src/mame/drivers/mediagx.cpp30
-rw-r--r--src/mame/drivers/megadriv.cpp220
-rw-r--r--src/mame/drivers/megadriv_acbl.cpp177
-rw-r--r--src/mame/drivers/megadriv_rad.cpp24
-rw-r--r--src/mame/drivers/megaplay.cpp42
-rw-r--r--src/mame/drivers/megasys1.cpp195
-rw-r--r--src/mame/drivers/megatech.cpp95
-rw-r--r--src/mame/drivers/megazone.cpp52
-rw-r--r--src/mame/drivers/meijinsn.cpp40
-rw-r--r--src/mame/drivers/mekd2.cpp25
-rw-r--r--src/mame/drivers/mephisto.cpp78
-rw-r--r--src/mame/drivers/mephisto_montec.cpp72
-rw-r--r--src/mame/drivers/mephistp.cpp40
-rw-r--r--src/mame/drivers/merit.cpp113
-rw-r--r--src/mame/drivers/meritm.cpp23
-rw-r--r--src/mame/drivers/meritum.cpp22
-rw-r--r--src/mame/drivers/mermaid.cpp49
-rw-r--r--src/mame/drivers/mes.cpp25
-rw-r--r--src/mame/drivers/metalmx.cpp39
-rw-r--r--src/mame/drivers/metlclsh.cpp4
-rw-r--r--src/mame/drivers/metlfrzr.cpp30
-rw-r--r--src/mame/drivers/metro.cpp75
-rw-r--r--src/mame/drivers/mexico86.cpp2
-rw-r--r--src/mame/drivers/meyc8080.cpp30
-rw-r--r--src/mame/drivers/meyc8088.cpp28
-rw-r--r--src/mame/drivers/mgames.cpp96
-rw-r--r--src/mame/drivers/mgavegas.cpp36
-rw-r--r--src/mame/drivers/mgolf.cpp26
-rw-r--r--src/mame/drivers/mhavoc.cpp8
-rw-r--r--src/mame/drivers/micral.cpp44
-rw-r--r--src/mame/drivers/micro20.cpp31
-rw-r--r--src/mame/drivers/micro3d.cpp49
-rw-r--r--src/mame/drivers/microkit.cpp2
-rw-r--r--src/mame/drivers/micromon.cpp96
-rw-r--r--src/mame/drivers/micronic.cpp31
-rw-r--r--src/mame/drivers/micropin.cpp33
-rw-r--r--src/mame/drivers/microtan.cpp30
-rw-r--r--src/mame/drivers/microvsn.cpp27
-rw-r--r--src/mame/drivers/midas.cpp196
-rw-r--r--src/mame/drivers/midqslvr.cpp8
-rw-r--r--src/mame/drivers/midtunit.cpp1
-rw-r--r--src/mame/drivers/midvunit.cpp41
-rw-r--r--src/mame/drivers/midwunit.cpp1
-rw-r--r--src/mame/drivers/midxunit.cpp1
-rw-r--r--src/mame/drivers/midyunit.cpp127
-rw-r--r--src/mame/drivers/midzeus.cpp36
-rw-r--r--src/mame/drivers/mightyframe.cpp9
-rw-r--r--src/mame/drivers/mikie.cpp40
-rw-r--r--src/mame/drivers/mikro80.cpp63
-rw-r--r--src/mame/drivers/mikromik.cpp24
-rw-r--r--src/mame/drivers/mikrosha.cpp46
-rw-r--r--src/mame/drivers/mil4000.cpp38
-rw-r--r--src/mame/drivers/milton6805.cpp13
-rw-r--r--src/mame/drivers/mini2440.cpp34
-rw-r--r--src/mame/drivers/miniboy7.cpp39
-rw-r--r--src/mame/drivers/miniforce.cpp27
-rw-r--r--src/mame/drivers/minitel_2_rpic.cpp4
-rw-r--r--src/mame/drivers/minivadr.cpp24
-rw-r--r--src/mame/drivers/mips.cpp145
-rw-r--r--src/mame/drivers/mirage.cpp36
-rw-r--r--src/mame/drivers/mirax.cpp39
-rw-r--r--src/mame/drivers/missb2.cpp4
-rw-r--r--src/mame/drivers/missbamby.cpp134
-rw-r--r--src/mame/drivers/missile.cpp4
-rw-r--r--src/mame/drivers/mitchell.cpp269
-rw-r--r--src/mame/drivers/mjkjidai.cpp55
-rw-r--r--src/mame/drivers/mjsenpu.cpp35
-rw-r--r--src/mame/drivers/mjsister.cpp35
-rw-r--r--src/mame/drivers/mk1.cpp349
-rw-r--r--src/mame/drivers/mk14.cpp5
-rw-r--r--src/mame/drivers/mk2.cpp26
-rw-r--r--src/mame/drivers/mkit09.cpp22
-rw-r--r--src/mame/drivers/mmodular.cpp62
-rw-r--r--src/mame/drivers/mod8.cpp15
-rw-r--r--src/mame/drivers/model1.cpp86
-rw-r--r--src/mame/drivers/model2.cpp95
-rw-r--r--src/mame/drivers/model3.cpp11
-rw-r--r--src/mame/drivers/modellot.cpp29
-rw-r--r--src/mame/drivers/modena.cpp19
-rw-r--r--src/mame/drivers/mogura.cpp38
-rw-r--r--src/mame/drivers/mole.cpp30
-rw-r--r--src/mame/drivers/molecular.cpp44
-rw-r--r--src/mame/drivers/momoko.cpp30
-rw-r--r--src/mame/drivers/monacogp.cpp23
-rw-r--r--src/mame/drivers/monon_color.cpp23
-rw-r--r--src/mame/drivers/monzagp.cpp13
-rw-r--r--src/mame/drivers/moo.cpp76
-rw-r--r--src/mame/drivers/mosaic.cpp44
-rw-r--r--src/mame/drivers/mouser.cpp36
-rw-r--r--src/mame/drivers/mpc3000.cpp13
-rw-r--r--src/mame/drivers/mpf1.cpp46
-rw-r--r--src/mame/drivers/mps1230.cpp20
-rw-r--r--src/mame/drivers/mpu12wbk.cpp25
-rw-r--r--src/mame/drivers/mpu2.cpp9
-rw-r--r--src/mame/drivers/mpu3.cpp20
-rw-r--r--src/mame/drivers/mpu4dealem.cpp31
-rw-r--r--src/mame/drivers/mpu4plasma.cpp31
-rw-r--r--src/mame/drivers/mpu4sw.cpp34
-rw-r--r--src/mame/drivers/mpz80.cpp59
-rw-r--r--src/mame/drivers/mrdo.cpp37
-rw-r--r--src/mame/drivers/mrflea.cpp38
-rw-r--r--src/mame/drivers/mrgame.cpp7
-rw-r--r--src/mame/drivers/mrjong.cpp32
-rw-r--r--src/mame/drivers/ms0515.cpp29
-rw-r--r--src/mame/drivers/ms32.cpp57
-rw-r--r--src/mame/drivers/msbc1.cpp9
-rw-r--r--src/mame/drivers/mstation.cpp29
-rw-r--r--src/mame/drivers/msx.cpp4250
-rw-r--r--src/mame/drivers/mt735.cpp9
-rw-r--r--src/mame/drivers/mtx.cpp136
-rw-r--r--src/mame/drivers/mugsmash.cpp38
-rw-r--r--src/mame/drivers/multfish.cpp241
-rw-r--r--src/mame/drivers/multfish_boot.cpp24
-rw-r--r--src/mame/drivers/multi16.cpp25
-rw-r--r--src/mame/drivers/multi8.cpp36
-rw-r--r--src/mame/drivers/munchmo.cpp38
-rw-r--r--src/mame/drivers/murogem.cpp31
-rw-r--r--src/mame/drivers/murogmbl.cpp60
-rw-r--r--src/mame/drivers/mustache.cpp34
-rw-r--r--src/mame/drivers/mvme147.cpp14
-rw-r--r--src/mame/drivers/mw18w.cpp14
-rw-r--r--src/mame/drivers/mw8080bw.cpp1
-rw-r--r--src/mame/drivers/mwarr.cpp38
-rw-r--r--src/mame/drivers/mwsub.cpp14
-rw-r--r--src/mame/drivers/mx2178.cpp25
-rw-r--r--src/mame/drivers/myb3k.cpp67
-rw-r--r--src/mame/drivers/mycom.cpp44
-rw-r--r--src/mame/drivers/mystston.cpp14
-rw-r--r--src/mame/drivers/mystwarr.cpp36
-rw-r--r--src/mame/drivers/myvision.cpp14
-rw-r--r--src/mame/drivers/mz2000.cpp59
-rw-r--r--src/mame/drivers/mz2500.cpp36
-rw-r--r--src/mame/drivers/mz3500.cpp46
-rw-r--r--src/mame/drivers/mz6500.cpp31
-rw-r--r--src/mame/drivers/mz700.cpp68
-rw-r--r--src/mame/drivers/mz80.cpp55
-rw-r--r--src/mame/drivers/mzr8105.cpp14
-rw-r--r--src/mame/drivers/nakajies.cpp53
-rw-r--r--src/mame/drivers/namcofl.cpp45
-rw-r--r--src/mame/drivers/namcona1.cpp26
-rw-r--r--src/mame/drivers/namconb1.cpp54
-rw-r--r--src/mame/drivers/namcond1.cpp61
-rw-r--r--src/mame/drivers/namcos1.cpp13
-rw-r--r--src/mame/drivers/namcos2.cpp497
-rw-r--r--src/mame/drivers/namcos21.cpp43
-rw-r--r--src/mame/drivers/namcos21_c67.cpp58
-rw-r--r--src/mame/drivers/namcos21_de.cpp37
-rw-r--r--src/mame/drivers/namcos22.cpp164
-rw-r--r--src/mame/drivers/nanos.cpp27
-rw-r--r--src/mame/drivers/naomi.cpp513
-rw-r--r--src/mame/drivers/nascom1.cpp112
-rw-r--r--src/mame/drivers/nbmj8688.cpp227
-rw-r--r--src/mame/drivers/nbmj8891.cpp224
-rw-r--r--src/mame/drivers/nbmj8900.cpp48
-rw-r--r--src/mame/drivers/nbmj8991.cpp177
-rw-r--r--src/mame/drivers/nbmj9195.cpp180
-rw-r--r--src/mame/drivers/nc.cpp77
-rw-r--r--src/mame/drivers/neogeo.cpp691
-rw-r--r--src/mame/drivers/neogeocd.cpp21
-rw-r--r--src/mame/drivers/neopcb.cpp21
-rw-r--r--src/mame/drivers/neoprint.cpp238
-rw-r--r--src/mame/drivers/neptunp2.cpp33
-rw-r--r--src/mame/drivers/nes.cpp20
-rw-r--r--src/mame/drivers/nes_vt.cpp18
-rw-r--r--src/mame/drivers/newbrain.cpp23
-rw-r--r--src/mame/drivers/news.cpp29
-rw-r--r--src/mame/drivers/next.cpp138
-rw-r--r--src/mame/drivers/nexus3d.cpp25
-rw-r--r--src/mame/drivers/nforcepc.cpp230
-rw-r--r--src/mame/drivers/ngen.cpp22
-rw-r--r--src/mame/drivers/ngp.cpp400
-rw-r--r--src/mame/drivers/nibble.cpp20
-rw-r--r--src/mame/drivers/nichild.cpp6
-rw-r--r--src/mame/drivers/nightgal.cpp104
-rw-r--r--src/mame/drivers/nightmare.cpp10
-rw-r--r--src/mame/drivers/ninjaw.cpp2
-rw-r--r--src/mame/drivers/nitedrvr.cpp27
-rw-r--r--src/mame/drivers/niyanpai.cpp68
-rw-r--r--src/mame/drivers/nmg5.cpp8
-rw-r--r--src/mame/drivers/nmk16.cpp53
-rw-r--r--src/mame/drivers/nmkmedal.cpp12
-rw-r--r--src/mame/drivers/nokia_3310.cpp64
-rw-r--r--src/mame/drivers/notechan.cpp16
-rw-r--r--src/mame/drivers/notetaker.cpp41
-rw-r--r--src/mame/drivers/nova2001.cpp196
-rw-r--r--src/mame/drivers/novag6502.cpp1078
-rw-r--r--src/mame/drivers/novag68k.cpp (renamed from src/mame/drivers/novag_diablo.cpp)187
-rw-r--r--src/mame/drivers/novag_cforte.cpp259
-rw-r--r--src/mame/drivers/novag_scon.cpp195
-rw-r--r--src/mame/drivers/novag_sexpert.cpp450
-rw-r--r--src/mame/drivers/novagf8.cpp (renamed from src/mame/drivers/novag_delta1.cpp)136
-rw-r--r--src/mame/drivers/novagmcs48.cpp (renamed from src/mame/drivers/novag_presto.cpp)138
-rw-r--r--src/mame/drivers/nsm.cpp24
-rw-r--r--src/mame/drivers/nsmpoker.cpp27
-rw-r--r--src/mame/drivers/nss.cpp50
-rw-r--r--src/mame/drivers/nycaptor.cpp3
-rw-r--r--src/mame/drivers/nyny.cpp41
-rw-r--r--src/mame/drivers/ob68k1a.cpp14
-rw-r--r--src/mame/drivers/octopus.cpp51
-rw-r--r--src/mame/drivers/odyssey.cpp22
-rw-r--r--src/mame/drivers/odyssey2.cpp115
-rw-r--r--src/mame/drivers/offtwall.cpp22
-rw-r--r--src/mame/drivers/ohmygod.cpp34
-rw-r--r--src/mame/drivers/ojankohs.cpp148
-rw-r--r--src/mame/drivers/okean240.cpp49
-rw-r--r--src/mame/drivers/olibochu.cpp38
-rw-r--r--src/mame/drivers/olytext.cpp31
-rw-r--r--src/mame/drivers/omegrace.cpp34
-rw-r--r--src/mame/drivers/ondra.cpp37
-rw-r--r--src/mame/drivers/oneshot.cpp224
-rw-r--r--src/mame/drivers/opwolf.cpp124
-rw-r--r--src/mame/drivers/orao.cpp33
-rw-r--r--src/mame/drivers/orbit.cpp30
-rw-r--r--src/mame/drivers/oric.cpp13
-rw-r--r--src/mame/drivers/orion.cpp19
-rw-r--r--src/mame/drivers/osbexec.cpp16
-rw-r--r--src/mame/drivers/othello.cpp9
-rw-r--r--src/mame/drivers/otomedius.cpp22
-rw-r--r--src/mame/drivers/p112.cpp27
-rw-r--r--src/mame/drivers/p2000t.cpp63
-rw-r--r--src/mame/drivers/p8k.cpp32
-rw-r--r--src/mame/drivers/pachifev.cpp30
-rw-r--r--src/mame/drivers/pacman.cpp279
-rw-r--r--src/mame/drivers/palestra.cpp95
-rw-r--r--src/mame/drivers/palm.cpp35
-rw-r--r--src/mame/drivers/palmz22.cpp24
-rw-r--r--src/mame/drivers/pandoras.cpp31
-rw-r--r--src/mame/drivers/pangofun.cpp18
-rw-r--r--src/mame/drivers/panicr.cpp30
-rw-r--r--src/mame/drivers/paradise.cpp86
-rw-r--r--src/mame/drivers/paranoia.cpp46
-rw-r--r--src/mame/drivers/pasha2.cpp36
-rw-r--r--src/mame/drivers/paso1600.cpp42
-rw-r--r--src/mame/drivers/pasogo.cpp76
-rw-r--r--src/mame/drivers/pasopia.cpp21
-rw-r--r--src/mame/drivers/pasopia7.cpp69
-rw-r--r--src/mame/drivers/pass.cpp40
-rw-r--r--src/mame/drivers/pastelg.cpp70
-rw-r--r--src/mame/drivers/patapata.cpp35
-rw-r--r--src/mame/drivers/patinho_feio.cpp4
-rw-r--r--src/mame/drivers/pbaction.cpp22
-rw-r--r--src/mame/drivers/pc.cpp238
-rw-r--r--src/mame/drivers/pc100.cpp35
-rw-r--r--src/mame/drivers/pc1512.cpp176
-rw-r--r--src/mame/drivers/pc2000.cpp2
-rw-r--r--src/mame/drivers/pc4.cpp23
-rw-r--r--src/mame/drivers/pc6001.cpp113
-rw-r--r--src/mame/drivers/pc8001.cpp102
-rw-r--r--src/mame/drivers/pc8401a.cpp40
-rw-r--r--src/mame/drivers/pc8801.cpp79
-rw-r--r--src/mame/drivers/pc88va.cpp52
-rw-r--r--src/mame/drivers/pc9801.cpp22
-rw-r--r--src/mame/drivers/pcat_dyn.cpp3
-rw-r--r--src/mame/drivers/pcat_nit.cpp30
-rw-r--r--src/mame/drivers/pcd.cpp32
-rw-r--r--src/mame/drivers/pce.cpp127
-rw-r--r--src/mame/drivers/pce220.cpp81
-rw-r--r--src/mame/drivers/pcfx.cpp47
-rw-r--r--src/mame/drivers/pcktgal.cpp70
-rw-r--r--src/mame/drivers/pcm.cpp25
-rw-r--r--src/mame/drivers/pcw.cpp2
-rw-r--r--src/mame/drivers/pcw16.cpp48
-rw-r--r--src/mame/drivers/pcxt.cpp37
-rw-r--r--src/mame/drivers/pdp11.cpp12
-rw-r--r--src/mame/drivers/pegasus.cpp48
-rw-r--r--src/mame/drivers/pencil2.cpp40
-rw-r--r--src/mame/drivers/pengadvb.cpp49
-rw-r--r--src/mame/drivers/pengo.cpp128
-rw-r--r--src/mame/drivers/pentagon.cpp27
-rw-r--r--src/mame/drivers/peoplepc.cpp21
-rw-r--r--src/mame/drivers/peplus.cpp15
-rw-r--r--src/mame/drivers/perq.cpp5
-rw-r--r--src/mame/drivers/pes.cpp2
-rw-r--r--src/mame/drivers/pet.cpp52
-rw-r--r--src/mame/drivers/peyper.cpp13
-rw-r--r--src/mame/drivers/pg685.cpp71
-rw-r--r--src/mame/drivers/pgm.cpp2
-rw-r--r--src/mame/drivers/pgm3.cpp32
-rw-r--r--src/mame/drivers/phc25.cpp70
-rw-r--r--src/mame/drivers/photon.cpp30
-rw-r--r--src/mame/drivers/photon2.cpp29
-rw-r--r--src/mame/drivers/photoply.cpp19
-rw-r--r--src/mame/drivers/phunsy.cpp4
-rw-r--r--src/mame/drivers/picno.cpp15
-rw-r--r--src/mame/drivers/piggypas.cpp56
-rw-r--r--src/mame/drivers/pinball2k.cpp24
-rw-r--r--src/mame/drivers/pingpong.cpp44
-rw-r--r--src/mame/drivers/pinkiri8.cpp37
-rw-r--r--src/mame/drivers/pipbug.cpp4
-rw-r--r--src/mame/drivers/pirates.cpp54
-rw-r--r--src/mame/drivers/piratesh.cpp2
-rw-r--r--src/mame/drivers/pitagjr.cpp23
-rw-r--r--src/mame/drivers/pk8000.cpp37
-rw-r--r--src/mame/drivers/pk8020.cpp46
-rw-r--r--src/mame/drivers/pktgaldx.cpp84
-rw-r--r--src/mame/drivers/plan80.cpp29
-rw-r--r--src/mame/drivers/play_1.cpp24
-rw-r--r--src/mame/drivers/play_2.cpp6
-rw-r--r--src/mame/drivers/play_3.cpp32
-rw-r--r--src/mame/drivers/playmark.cpp238
-rw-r--r--src/mame/drivers/plus4.cpp24
-rw-r--r--src/mame/drivers/pmi80.cpp11
-rw-r--r--src/mame/drivers/pntnpuzl.cpp18
-rw-r--r--src/mame/drivers/pockchal.cpp26
-rw-r--r--src/mame/drivers/pockstat.cpp29
-rw-r--r--src/mame/drivers/pofo.cpp68
-rw-r--r--src/mame/drivers/poisk1.cpp105
-rw-r--r--src/mame/drivers/pokechmp.cpp22
-rw-r--r--src/mame/drivers/pokemini.cpp2
-rw-r--r--src/mame/drivers/poker72.cpp25
-rw-r--r--src/mame/drivers/polepos.cpp1
-rw-r--r--src/mame/drivers/poly.cpp61
-rw-r--r--src/mame/drivers/poly88.cpp48
-rw-r--r--src/mame/drivers/poly880.cpp15
-rw-r--r--src/mame/drivers/polyplay.cpp17
-rw-r--r--src/mame/drivers/pong.cpp257
-rw-r--r--src/mame/drivers/poolshrk.cpp31
-rw-r--r--src/mame/drivers/pooyan.cpp24
-rw-r--r--src/mame/drivers/popobear.cpp40
-rw-r--r--src/mame/drivers/popper.cpp25
-rw-r--r--src/mame/drivers/portrait.cpp29
-rw-r--r--src/mame/drivers/potgoldu.cpp12
-rw-r--r--src/mame/drivers/powerbal.cpp80
-rw-r--r--src/mame/drivers/powerstack.cpp9
-rw-r--r--src/mame/drivers/pp01.cpp27
-rw-r--r--src/mame/drivers/ppmast93.cpp47
-rw-r--r--src/mame/drivers/prestige.cpp122
-rw-r--r--src/mame/drivers/primo.cpp92
-rw-r--r--src/mame/drivers/pro80.cpp15
-rw-r--r--src/mame/drivers/proconn.cpp8
-rw-r--r--src/mame/drivers/prof180x.cpp43
-rw-r--r--src/mame/drivers/prof80.cpp35
-rw-r--r--src/mame/drivers/progolf.cpp44
-rw-r--r--src/mame/drivers/prophet600.cpp21
-rw-r--r--src/mame/drivers/proteus.cpp35
-rw-r--r--src/mame/drivers/proteus3.cpp35
-rw-r--r--src/mame/drivers/pse.cpp23
-rw-r--r--src/mame/drivers/psikyo.cpp193
-rw-r--r--src/mame/drivers/psion.cpp108
-rw-r--r--src/mame/drivers/psx.cpp16
-rw-r--r--src/mame/drivers/pt68k4.cpp96
-rw-r--r--src/mame/drivers/ptcsol.cpp23
-rw-r--r--src/mame/drivers/pturn.cpp33
-rw-r--r--src/mame/drivers/puckpkmn.cpp34
-rw-r--r--src/mame/drivers/punchout.cpp64
-rw-r--r--src/mame/drivers/pv1000.cpp18
-rw-r--r--src/mame/drivers/pv2000.cpp25
-rw-r--r--src/mame/drivers/pv9234.cpp24
-rw-r--r--src/mame/drivers/pwrview.cpp23
-rw-r--r--src/mame/drivers/px4.cpp68
-rw-r--r--src/mame/drivers/px8.cpp55
-rw-r--r--src/mame/drivers/pyl601.cpp47
-rw-r--r--src/mame/drivers/pzletime.cpp26
-rw-r--r--src/mame/drivers/ql.cpp75
-rw-r--r--src/mame/drivers/quakeat.cpp32
-rw-r--r--src/mame/drivers/quasar.cpp1
-rw-r--r--src/mame/drivers/queen.cpp8
-rw-r--r--src/mame/drivers/quickpick5.cpp14
-rw-r--r--src/mame/drivers/quizdna.cpp55
-rw-r--r--src/mame/drivers/quizo.cpp28
-rw-r--r--src/mame/drivers/quizpani.cpp31
-rw-r--r--src/mame/drivers/quizshow.cpp1
-rw-r--r--src/mame/drivers/qvt201.cpp19
-rw-r--r--src/mame/drivers/qvt70.cpp9
-rw-r--r--src/mame/drivers/qx10.cpp22
-rw-r--r--src/mame/drivers/r2dtank.cpp39
-rw-r--r--src/mame/drivers/r9751.cpp51
-rw-r--r--src/mame/drivers/rad_eu3a05.cpp30
-rw-r--r--src/mame/drivers/rad_eu3a14.cpp835
-rw-r--r--src/mame/drivers/radio86.cpp82
-rw-r--r--src/mame/drivers/raiden.cpp37
-rw-r--r--src/mame/drivers/rainbow.cpp139
-rw-r--r--src/mame/drivers/rampart.cpp30
-rw-r--r--src/mame/drivers/ramtek.cpp23
-rw-r--r--src/mame/drivers/rastan.cpp44
-rw-r--r--src/mame/drivers/rastersp.cpp24
-rw-r--r--src/mame/drivers/ravens.cpp10
-rw-r--r--src/mame/drivers/rbisland.cpp81
-rw-r--r--src/mame/drivers/rbmk.cpp46
-rw-r--r--src/mame/drivers/rc702.cpp22
-rw-r--r--src/mame/drivers/rc759.cpp2
-rw-r--r--src/mame/drivers/rcorsair.cpp42
-rw-r--r--src/mame/drivers/rd100.cpp27
-rw-r--r--src/mame/drivers/rd110.cpp25
-rw-r--r--src/mame/drivers/re900.cpp3
-rw-r--r--src/mame/drivers/realbrk.cpp86
-rw-r--r--src/mame/drivers/redalert.cpp48
-rw-r--r--src/mame/drivers/redclash.cpp132
-rw-r--r--src/mame/drivers/relief.cpp31
-rw-r--r--src/mame/drivers/replicator.cpp1
-rw-r--r--src/mame/drivers/retofinv.cpp79
-rw-r--r--src/mame/drivers/rex6000.cpp62
-rw-r--r--src/mame/drivers/rgum.cpp27
-rw-r--r--src/mame/drivers/risc2500.cpp1
-rw-r--r--src/mame/drivers/riscpc.cpp131
-rw-r--r--src/mame/drivers/rltennis.cpp36
-rw-r--r--src/mame/drivers/rm380z.cpp62
-rw-r--r--src/mame/drivers/rmhaihai.cpp70
-rw-r--r--src/mame/drivers/rmnimbus.cpp2
-rw-r--r--src/mame/drivers/rmt32.cpp29
-rw-r--r--src/mame/drivers/rockrage.cpp38
-rw-r--r--src/mame/drivers/rocnrope.cpp26
-rw-r--r--src/mame/drivers/rohga.cpp184
-rw-r--r--src/mame/drivers/rollext.cpp39
-rw-r--r--src/mame/drivers/rollrace.cpp40
-rw-r--r--src/mame/drivers/ron.cpp26
-rw-r--r--src/mame/drivers/roul.cpp33
-rw-r--r--src/mame/drivers/route16.cpp1
-rw-r--r--src/mame/drivers/rowamet.cpp26
-rw-r--r--src/mame/drivers/royalmah.cpp282
-rw-r--r--src/mame/drivers/rpunch.cpp69
-rw-r--r--src/mame/drivers/rt1715.cpp371
-rw-r--r--src/mame/drivers/rulechan.cpp11
-rw-r--r--src/mame/drivers/rungun.cpp10
-rw-r--r--src/mame/drivers/rx78.cpp40
-rw-r--r--src/mame/drivers/rzone.cpp67
-rw-r--r--src/mame/drivers/s11.cpp42
-rw-r--r--src/mame/drivers/s11a.cpp38
-rw-r--r--src/mame/drivers/s11b.cpp36
-rw-r--r--src/mame/drivers/s3.cpp27
-rw-r--r--src/mame/drivers/s4.cpp27
-rw-r--r--src/mame/drivers/s6.cpp23
-rw-r--r--src/mame/drivers/s6a.cpp23
-rw-r--r--src/mame/drivers/s7.cpp23
-rw-r--r--src/mame/drivers/s8.cpp20
-rw-r--r--src/mame/drivers/s8a.cpp20
-rw-r--r--src/mame/drivers/s9.cpp23
-rw-r--r--src/mame/drivers/sage2.cpp35
-rw-r--r--src/mame/drivers/sam.cpp9
-rw-r--r--src/mame/drivers/sandscrp.cpp38
-rw-r--r--src/mame/drivers/sangho.cpp32
-rw-r--r--src/mame/drivers/sanremmg.cpp24
-rw-r--r--src/mame/drivers/sanremo.cpp52
-rw-r--r--src/mame/drivers/sansa_fuze.cpp11
-rw-r--r--src/mame/drivers/sapi1.cpp79
-rw-r--r--src/mame/drivers/sartorius.cpp5
-rw-r--r--src/mame/drivers/saturn.cpp52
-rw-r--r--src/mame/drivers/sauro.cpp75
-rw-r--r--src/mame/drivers/savquest.cpp28
-rw-r--r--src/mame/drivers/sbasketb.cpp54
-rw-r--r--src/mame/drivers/sbc6510.cpp2
-rw-r--r--src/mame/drivers/sbowling.cpp25
-rw-r--r--src/mame/drivers/sbrain.cpp55
-rw-r--r--src/mame/drivers/sbrkout.cpp10
-rw-r--r--src/mame/drivers/sbugger.cpp38
-rw-r--r--src/mame/drivers/sc1.cpp190
-rw-r--r--src/mame/drivers/sc2.cpp329
-rw-r--r--src/mame/drivers/scm_500.cpp7
-rw-r--r--src/mame/drivers/scobra.cpp153
-rw-r--r--src/mame/drivers/scopus.cpp54
-rw-r--r--src/mame/drivers/scorpion.cpp33
-rw-r--r--src/mame/drivers/scotrsht.cpp35
-rw-r--r--src/mame/drivers/scramble.cpp205
-rw-r--r--src/mame/drivers/scregg.cpp40
-rw-r--r--src/mame/drivers/scv.cpp12
-rw-r--r--src/mame/drivers/scyclone.cpp2
-rw-r--r--src/mame/drivers/sderby.cpp174
-rw-r--r--src/mame/drivers/sderby2.cpp37
-rw-r--r--src/mame/drivers/sdk51.cpp18
-rw-r--r--src/mame/drivers/sdk85.cpp11
-rw-r--r--src/mame/drivers/seabattl.cpp4
-rw-r--r--src/mame/drivers/sealy.cpp25
-rw-r--r--src/mame/drivers/seattlecmp.cpp13
-rw-r--r--src/mame/drivers/sega_beena.cpp137
-rw-r--r--src/mame/drivers/sega_sawatte.cpp7
-rw-r--r--src/mame/drivers/segae.cpp73
-rw-r--r--src/mame/drivers/segag80r.cpp116
-rw-r--r--src/mame/drivers/segag80v.cpp2
-rw-r--r--src/mame/drivers/segald.cpp26
-rw-r--r--src/mame/drivers/segapm.cpp24
-rw-r--r--src/mame/drivers/segas16a.cpp54
-rw-r--r--src/mame/drivers/segas16b.cpp131
-rw-r--r--src/mame/drivers/segas18.cpp3
-rw-r--r--src/mame/drivers/segas24.cpp1
-rw-r--r--src/mame/drivers/segas32.cpp25
-rw-r--r--src/mame/drivers/segasp.cpp39
-rw-r--r--src/mame/drivers/segattl.cpp23
-rw-r--r--src/mame/drivers/segaxbd.cpp12
-rw-r--r--src/mame/drivers/segaybd.cpp1
-rw-r--r--src/mame/drivers/seibucats.cpp38
-rw-r--r--src/mame/drivers/seibuspi.cpp38
-rw-r--r--src/mame/drivers/seicross.cpp57
-rw-r--r--src/mame/drivers/seicupbl.cpp97
-rw-r--r--src/mame/drivers/selz80.cpp19
-rw-r--r--src/mame/drivers/sengokmj.cpp4
-rw-r--r--src/mame/drivers/senjyo.cpp63
-rw-r--r--src/mame/drivers/seta.cpp93
-rw-r--r--src/mame/drivers/seta2.cpp407
-rw-r--r--src/mame/drivers/sf.cpp92
-rw-r--r--src/mame/drivers/sfbonus.cpp36
-rw-r--r--src/mame/drivers/sfcbox.cpp52
-rw-r--r--src/mame/drivers/sg1000.cpp117
-rw-r--r--src/mame/drivers/sg1000a.cpp34
-rw-r--r--src/mame/drivers/shadfrce.cpp32
-rw-r--r--src/mame/drivers/shanghai.cpp99
-rw-r--r--src/mame/drivers/shangkid.cpp66
-rw-r--r--src/mame/drivers/shaolins.cpp47
-rw-r--r--src/mame/drivers/shine.cpp10
-rw-r--r--src/mame/drivers/shisen.cpp53
-rw-r--r--src/mame/drivers/shootaway2.cpp28
-rw-r--r--src/mame/drivers/shootout.cpp62
-rw-r--r--src/mame/drivers/shougi.cpp46
-rw-r--r--src/mame/drivers/shtzone.cpp29
-rw-r--r--src/mame/drivers/shuuz.cpp25
-rw-r--r--src/mame/drivers/si5500.cpp51
-rw-r--r--src/mame/drivers/sigmab52.cpp36
-rw-r--r--src/mame/drivers/sigmab98.cpp220
-rw-r--r--src/mame/drivers/silkroad.cpp40
-rw-r--r--src/mame/drivers/silvmil.cpp286
-rw-r--r--src/mame/drivers/simpl156.cpp76
-rw-r--r--src/mame/drivers/simple_st0016.cpp56
-rw-r--r--src/mame/drivers/sk1.cpp5
-rw-r--r--src/mame/drivers/skeetsht.cpp13
-rw-r--r--src/mame/drivers/skimaxx.cpp46
-rw-r--r--src/mame/drivers/skullxbo.cpp30
-rw-r--r--src/mame/drivers/skyarmy.cpp49
-rw-r--r--src/mame/drivers/skydiver.cpp22
-rw-r--r--src/mame/drivers/skyfox.cpp36
-rw-r--r--src/mame/drivers/skylncr.cpp70
-rw-r--r--src/mame/drivers/skyraid.cpp28
-rw-r--r--src/mame/drivers/slapfght.cpp124
-rw-r--r--src/mame/drivers/slc1.cpp24
-rw-r--r--src/mame/drivers/slc1a.cpp212
-rw-r--r--src/mame/drivers/sleic.cpp9
-rw-r--r--src/mame/drivers/slicer.cpp52
-rw-r--r--src/mame/drivers/sliver.cpp36
-rw-r--r--src/mame/drivers/slotcarn.cpp22
-rw-r--r--src/mame/drivers/sm1800.cpp37
-rw-r--r--src/mame/drivers/sm7238.cpp25
-rw-r--r--src/mame/drivers/smc777.cpp270
-rw-r--r--src/mame/drivers/sms.cpp399
-rw-r--r--src/mame/drivers/sms_bootleg.cpp42
-rw-r--r--src/mame/drivers/smsmcorp.cpp37
-rw-r--r--src/mame/drivers/snes.cpp356
-rw-r--r--src/mame/drivers/snesb.cpp147
-rw-r--r--src/mame/drivers/snk6502.cpp98
-rw-r--r--src/mame/drivers/snookr10.cpp59
-rw-r--r--src/mame/drivers/snowbros.cpp26
-rw-r--r--src/mame/drivers/socrates.cpp95
-rw-r--r--src/mame/drivers/softbox.cpp35
-rw-r--r--src/mame/drivers/solbourne.cpp5
-rw-r--r--src/mame/drivers/solomon.cpp36
-rw-r--r--src/mame/drivers/sonson.cpp32
-rw-r--r--src/mame/drivers/sorcerer.cpp88
-rw-r--r--src/mame/drivers/sothello.cpp32
-rw-r--r--src/mame/drivers/spacefb.cpp15
-rw-r--r--src/mame/drivers/spaceg.cpp4
-rw-r--r--src/mame/drivers/spartanxtec.cpp39
-rw-r--r--src/mame/drivers/spbactn.cpp2
-rw-r--r--src/mame/drivers/spc1000.cpp52
-rw-r--r--src/mame/drivers/spc1500.cpp64
-rw-r--r--src/mame/drivers/spec128.cpp63
-rw-r--r--src/mame/drivers/special.cpp118
-rw-r--r--src/mame/drivers/specpls3.cpp124
-rw-r--r--src/mame/drivers/spectra.cpp2
-rw-r--r--src/mame/drivers/spectrum.cpp56
-rw-r--r--src/mame/drivers/speedatk.cpp28
-rw-r--r--src/mame/drivers/speedbal.cpp39
-rw-r--r--src/mame/drivers/speedspn.cpp38
-rw-r--r--src/mame/drivers/speglsht.cpp32
-rw-r--r--src/mame/drivers/spg110.cpp399
-rw-r--r--src/mame/drivers/spiders.cpp26
-rw-r--r--src/mame/drivers/spinb.cpp8
-rw-r--r--src/mame/drivers/spirit76.cpp14
-rw-r--r--src/mame/drivers/splash.cpp10
-rw-r--r--src/mame/drivers/splus.cpp4
-rw-r--r--src/mame/drivers/spool99.cpp48
-rw-r--r--src/mame/drivers/sprcros2.cpp41
-rw-r--r--src/mame/drivers/sprint2.cpp58
-rw-r--r--src/mame/drivers/sprint4.cpp29
-rw-r--r--src/mame/drivers/sprint8.cpp31
-rw-r--r--src/mame/drivers/spyhuntertec.cpp52
-rw-r--r--src/mame/drivers/squale.cpp36
-rw-r--r--src/mame/drivers/srmp2.cpp121
-rw-r--r--src/mame/drivers/srmp5.cpp26
-rw-r--r--src/mame/drivers/srmp6.cpp304
-rw-r--r--src/mame/drivers/srumbler.cpp60
-rw-r--r--src/mame/drivers/ssem.cpp18
-rw-r--r--src/mame/drivers/ssfindo.cpp51
-rw-r--r--src/mame/drivers/sshot.cpp28
-rw-r--r--src/mame/drivers/ssingles.cpp77
-rw-r--r--src/mame/drivers/sslam.cpp32
-rw-r--r--src/mame/drivers/ssozumo.cpp41
-rw-r--r--src/mame/drivers/sspeedr.cpp30
-rw-r--r--src/mame/drivers/ssrj.cpp28
-rw-r--r--src/mame/drivers/sstrangr.cpp35
-rw-r--r--src/mame/drivers/ssv.cpp4
-rw-r--r--src/mame/drivers/st17xx.cpp25
-rw-r--r--src/mame/drivers/st_mp100.cpp13
-rw-r--r--src/mame/drivers/st_mp200.cpp21
-rw-r--r--src/mame/drivers/stactics.cpp12
-rw-r--r--src/mame/drivers/stargame.cpp16
-rw-r--r--src/mame/drivers/starshp1.cpp27
-rw-r--r--src/mame/drivers/starwars.cpp38
-rw-r--r--src/mame/drivers/statriv2.cpp174
-rw-r--r--src/mame/drivers/stellafr.cpp17
-rw-r--r--src/mame/drivers/stlforce.cpp49
-rw-r--r--src/mame/drivers/storio.cpp171
-rw-r--r--src/mame/drivers/stratos.cpp25
-rw-r--r--src/mame/drivers/strkzn.cpp19
-rw-r--r--src/mame/drivers/studio2.cpp30
-rw-r--r--src/mame/drivers/stuntair.cpp34
-rw-r--r--src/mame/drivers/su2000.cpp29
-rw-r--r--src/mame/drivers/sub.cpp36
-rw-r--r--src/mame/drivers/subs.cpp42
-rw-r--r--src/mame/drivers/subsino.cpp180
-rw-r--r--src/mame/drivers/subsino2.cpp344
-rw-r--r--src/mame/drivers/summit.cpp25
-rw-r--r--src/mame/drivers/sumt8035.cpp12
-rw-r--r--src/mame/drivers/sun2.cpp60
-rw-r--r--src/mame/drivers/sun3.cpp149
-rw-r--r--src/mame/drivers/sun3x.cpp36
-rw-r--r--src/mame/drivers/sun4.cpp84
-rw-r--r--src/mame/drivers/suna16.cpp4
-rw-r--r--src/mame/drivers/suna8.cpp1
-rw-r--r--src/mame/drivers/supbtime.cpp46
-rw-r--r--src/mame/drivers/supdrapo.cpp26
-rw-r--r--src/mame/drivers/supduck.cpp41
-rw-r--r--src/mame/drivers/super6.cpp2
-rw-r--r--src/mame/drivers/super80.cpp8
-rw-r--r--src/mame/drivers/superchs.cpp44
-rw-r--r--src/mame/drivers/supercrd.cpp35
-rw-r--r--src/mame/drivers/superdq.cpp28
-rw-r--r--src/mame/drivers/superqix.cpp2
-rw-r--r--src/mame/drivers/superslave.cpp2
-rw-r--r--src/mame/drivers/supertnk.cpp4
-rw-r--r--src/mame/drivers/superwng.cpp33
-rw-r--r--src/mame/drivers/supracan.cpp30
-rw-r--r--src/mame/drivers/suprgolf.cpp40
-rw-r--r--src/mame/drivers/suprloco.cpp36
-rw-r--r--src/mame/drivers/suprnova.cpp153
-rw-r--r--src/mame/drivers/suprridr.cpp34
-rw-r--r--src/mame/drivers/supstarf.cpp8
-rw-r--r--src/mame/drivers/sv8000.cpp19
-rw-r--r--src/mame/drivers/svi318.cpp95
-rw-r--r--src/mame/drivers/svision.cpp47
-rw-r--r--src/mame/drivers/svmu.cpp12
-rw-r--r--src/mame/drivers/swtpc.cpp79
-rw-r--r--src/mame/drivers/symbolics.cpp10
-rw-r--r--src/mame/drivers/sys2900.cpp25
-rw-r--r--src/mame/drivers/sys9002.cpp25
-rw-r--r--src/mame/drivers/system1.cpp6
-rw-r--r--src/mame/drivers/system16.cpp490
-rw-r--r--src/mame/drivers/tagteam.cpp39
-rw-r--r--src/mame/drivers/tail2nos.cpp32
-rw-r--r--src/mame/drivers/taito.cpp25
-rw-r--r--src/mame/drivers/taito_b.cpp2
-rw-r--r--src/mame/drivers/taito_f2.cpp4
-rw-r--r--src/mame/drivers/taito_f3.cpp5
-rw-r--r--src/mame/drivers/taito_l.cpp122
-rw-r--r--src/mame/drivers/taito_o.cpp26
-rw-r--r--src/mame/drivers/taito_z.cpp93
-rw-r--r--src/mame/drivers/taitoair.cpp4
-rw-r--r--src/mame/drivers/taitogn.cpp10
-rw-r--r--src/mame/drivers/taitosj.cpp70
-rw-r--r--src/mame/drivers/taitottl.cpp23
-rw-r--r--src/mame/drivers/taitotx.cpp27
-rw-r--r--src/mame/drivers/taitowlf.cpp20
-rw-r--r--src/mame/drivers/tamag1.cpp6
-rw-r--r--src/mame/drivers/tandy1t.cpp143
-rw-r--r--src/mame/drivers/tandy2k.cpp288
-rw-r--r--src/mame/drivers/tank8.cpp36
-rw-r--r--src/mame/drivers/tankbust.cpp38
-rw-r--r--src/mame/drivers/tapatune.cpp39
-rw-r--r--src/mame/drivers/targeth.cpp36
-rw-r--r--src/mame/drivers/tasman.cpp27
-rw-r--r--src/mame/drivers/tatsumi.cpp123
-rw-r--r--src/mame/drivers/tavernie.cpp39
-rw-r--r--src/mame/drivers/taxidriv.cpp42
-rw-r--r--src/mame/drivers/tb303.cpp20
-rw-r--r--src/mame/drivers/tbowl.cpp4
-rw-r--r--src/mame/drivers/tceptor.cpp1
-rw-r--r--src/mame/drivers/tdv2324.cpp39
-rw-r--r--src/mame/drivers/tec1.cpp29
-rw-r--r--src/mame/drivers/techno.cpp14
-rw-r--r--src/mame/drivers/tecmo.cpp38
-rw-r--r--src/mame/drivers/tecmo16.cpp51
-rw-r--r--src/mame/drivers/tecnbras.cpp2
-rw-r--r--src/mame/drivers/tehkanwc.cpp51
-rw-r--r--src/mame/drivers/tek405x.cpp162
-rw-r--r--src/mame/drivers/tek410x.cpp48
-rw-r--r--src/mame/drivers/tek440x.cpp35
-rw-r--r--src/mame/drivers/tekxp33x.cpp25
-rw-r--r--src/mame/drivers/tempest.cpp2
-rw-r--r--src/mame/drivers/terco.cpp15
-rw-r--r--src/mame/drivers/terminal.cpp9
-rw-r--r--src/mame/drivers/terracre.cpp92
-rw-r--r--src/mame/drivers/testconsole.cpp29
-rw-r--r--src/mame/drivers/testpat.cpp150
-rw-r--r--src/mame/drivers/tetrisp2.cpp321
-rw-r--r--src/mame/drivers/tg100.cpp20
-rw-r--r--src/mame/drivers/tgtpanic.cpp26
-rw-r--r--src/mame/drivers/thedealr.cpp21
-rw-r--r--src/mame/drivers/thepit.cpp60
-rw-r--r--src/mame/drivers/thomson.cpp302
-rw-r--r--src/mame/drivers/thoop2.cpp40
-rw-r--r--src/mame/drivers/thunderj.cpp28
-rw-r--r--src/mame/drivers/ti74.cpp50
-rw-r--r--src/mame/drivers/ti85.cpp334
-rw-r--r--src/mame/drivers/ti89.cpp67
-rw-r--r--src/mame/drivers/ti990_10.cpp13
-rw-r--r--src/mame/drivers/ti990_4.cpp66
-rw-r--r--src/mame/drivers/ti99_2.cpp10
-rw-r--r--src/mame/drivers/ti99_4p.cpp91
-rw-r--r--src/mame/drivers/ti99_4x.cpp58
-rw-r--r--src/mame/drivers/ti99_8.cpp47
-rw-r--r--src/mame/drivers/tiamc1.cpp42
-rw-r--r--src/mame/drivers/ticalc1x.cpp560
-rw-r--r--src/mame/drivers/tickee.cpp68
-rw-r--r--src/mame/drivers/tiki100.cpp65
-rw-r--r--src/mame/drivers/tim011.cpp37
-rw-r--r--src/mame/drivers/tim100.cpp39
-rw-r--r--src/mame/drivers/timelimt.cpp38
-rw-r--r--src/mame/drivers/timetrv.cpp28
-rw-r--r--src/mame/drivers/timex.cpp67
-rw-r--r--src/mame/drivers/tispeak.cpp257
-rw-r--r--src/mame/drivers/tispellb.cpp63
-rw-r--r--src/mame/drivers/titan_soc.cpp121
-rw-r--r--src/mame/drivers/tk2000.cpp35
-rw-r--r--src/mame/drivers/tk80bs.cpp25
-rw-r--r--src/mame/drivers/tm990189.cpp30
-rw-r--r--src/mame/drivers/tmaster.cpp50
-rw-r--r--src/mame/drivers/tmc1800.cpp24
-rw-r--r--src/mame/drivers/tmc600.cpp11
-rw-r--r--src/mame/drivers/tmnt.cpp15
-rw-r--r--src/mame/drivers/tmspoker.cpp23
-rw-r--r--src/mame/drivers/tnzs.cpp3
-rw-r--r--src/mame/drivers/toaplan1.cpp607
-rw-r--r--src/mame/drivers/toaplan2.cpp167
-rw-r--r--src/mame/drivers/tomcat.cpp53
-rw-r--r--src/mame/drivers/toobin.cpp26
-rw-r--r--src/mame/drivers/topspeed.cpp54
-rw-r--r--src/mame/drivers/tosh1000.cpp61
-rw-r--r--src/mame/drivers/tourvis.cpp37
-rw-r--r--src/mame/drivers/tp84.cpp59
-rw-r--r--src/mame/drivers/tr606.cpp21
-rw-r--r--src/mame/drivers/trackfld.cpp165
-rw-r--r--src/mame/drivers/travrusa.cpp47
-rw-r--r--src/mame/drivers/triforce.cpp374
-rw-r--r--src/mame/drivers/trkfldch.cpp196
-rw-r--r--src/mame/drivers/trs80.cpp164
-rw-r--r--src/mame/drivers/trs80m2.cpp98
-rw-r--r--src/mame/drivers/trs80m3.cpp77
-rw-r--r--src/mame/drivers/truco.cpp34
-rw-r--r--src/mame/drivers/trucocl.cpp34
-rw-r--r--src/mame/drivers/trvmadns.cpp35
-rw-r--r--src/mame/drivers/tryout.cpp36
-rw-r--r--src/mame/drivers/ts3000.cpp11
-rw-r--r--src/mame/drivers/ts803.cpp21
-rw-r--r--src/mame/drivers/tsamurai.cpp133
-rw-r--r--src/mame/drivers/tsispch.cpp12
-rw-r--r--src/mame/drivers/ttchamp.cpp34
-rw-r--r--src/mame/drivers/tti.cpp96
-rw-r--r--src/mame/drivers/tubep.cpp106
-rw-r--r--src/mame/drivers/tugboat.cpp23
-rw-r--r--src/mame/drivers/tumbleb.cpp195
-rw-r--r--src/mame/drivers/turbo.cpp86
-rw-r--r--src/mame/drivers/turrett.cpp24
-rw-r--r--src/mame/drivers/tutankhm.cpp24
-rw-r--r--src/mame/drivers/tutor.cpp44
-rw-r--r--src/mame/drivers/tv910.cpp48
-rw-r--r--src/mame/drivers/tv955.cpp10
-rw-r--r--src/mame/drivers/tvc.cpp72
-rw-r--r--src/mame/drivers/tvcapcom.cpp27
-rw-r--r--src/mame/drivers/tvgame.cpp28
-rw-r--r--src/mame/drivers/twincobr.cpp20
-rw-r--r--src/mame/drivers/twins.cpp75
-rw-r--r--src/mame/drivers/tx0.cpp30
-rw-r--r--src/mame/drivers/tx1.cpp125
-rw-r--r--src/mame/drivers/uapce.cpp59
-rw-r--r--src/mame/drivers/ultraman.cpp43
-rw-r--r--src/mame/drivers/ultratnk.cpp30
-rw-r--r--src/mame/drivers/undrfire.cpp60
-rw-r--r--src/mame/drivers/unianapc.cpp22
-rw-r--r--src/mame/drivers/unichamp.cpp2
-rw-r--r--src/mame/drivers/unico.cpp118
-rw-r--r--src/mame/drivers/unior.cpp33
-rw-r--r--src/mame/drivers/univac.cpp416
-rw-r--r--src/mame/drivers/unixpc.cpp76
-rw-r--r--src/mame/drivers/unkhorse.cpp31
-rw-r--r--src/mame/drivers/unkpoker.cpp173
-rw-r--r--src/mame/drivers/upscope.cpp29
-rw-r--r--src/mame/drivers/usbilliards.cpp23
-rw-r--r--src/mame/drivers/usgames.cpp34
-rw-r--r--src/mame/drivers/ut88.cpp67
-rw-r--r--src/mame/drivers/uzebox.cpp2
-rw-r--r--src/mame/drivers/v100.cpp84
-rw-r--r--src/mame/drivers/v102.cpp82
-rw-r--r--src/mame/drivers/v1050.cpp87
-rw-r--r--src/mame/drivers/v550.cpp4
-rw-r--r--src/mame/drivers/v6809.cpp39
-rw-r--r--src/mame/drivers/vaportra.cpp41
-rw-r--r--src/mame/drivers/vax11.cpp2
-rw-r--r--src/mame/drivers/vball.cpp37
-rw-r--r--src/mame/drivers/vboy.cpp46
-rw-r--r--src/mame/drivers/vc4000.cpp20
-rw-r--r--src/mame/drivers/vcombat.cpp88
-rw-r--r--src/mame/drivers/vcs80.cpp7
-rw-r--r--src/mame/drivers/vd.cpp13
-rw-r--r--src/mame/drivers/vectrex.cpp1
-rw-r--r--src/mame/drivers/vectrix.cpp13
-rw-r--r--src/mame/drivers/vega.cpp13
-rw-r--r--src/mame/drivers/vegaeo.cpp2
-rw-r--r--src/mame/drivers/vegas.cpp113
-rw-r--r--src/mame/drivers/vertigo.cpp30
-rw-r--r--src/mame/drivers/vg5k.cpp58
-rw-r--r--src/mame/drivers/vgmplay.cpp20
-rw-r--r--src/mame/drivers/vic10.cpp72
-rw-r--r--src/mame/drivers/vic20.cpp10
-rw-r--r--src/mame/drivers/vicdual.cpp291
-rw-r--r--src/mame/drivers/victor9k.cpp2
-rw-r--r--src/mame/drivers/victory.cpp27
-rw-r--r--src/mame/drivers/vidbrain.cpp34
-rw-r--r--src/mame/drivers/video21.cpp2
-rw-r--r--src/mame/drivers/videopin.cpp26
-rw-r--r--src/mame/drivers/videopkr.cpp86
-rw-r--r--src/mame/drivers/vigilant.cpp5
-rw-r--r--src/mame/drivers/vii.cpp1704
-rw-r--r--src/mame/drivers/vindictr.cpp28
-rw-r--r--src/mame/drivers/vip.cpp37
-rw-r--r--src/mame/drivers/viper.cpp2
-rw-r--r--src/mame/drivers/vis.cpp3
-rw-r--r--src/mame/drivers/vixen.cpp115
-rw-r--r--src/mame/drivers/vk100.cpp17
-rw-r--r--src/mame/drivers/vlc.cpp54
-rw-r--r--src/mame/drivers/volfied.cpp34
-rw-r--r--src/mame/drivers/votrpss.cpp20
-rw-r--r--src/mame/drivers/voyager.cpp8
-rw-r--r--src/mame/drivers/vpoker.cpp30
-rw-r--r--src/mame/drivers/vroulet.cpp32
-rw-r--r--src/mame/drivers/vsmile.cpp421
-rw-r--r--src/mame/drivers/vsmileb.cpp164
-rw-r--r--src/mame/drivers/vsmilepro.cpp14
-rw-r--r--src/mame/drivers/vsnes.cpp6
-rw-r--r--src/mame/drivers/vt100.cpp95
-rw-r--r--src/mame/drivers/vt220.cpp10
-rw-r--r--src/mame/drivers/vt240.cpp25
-rw-r--r--src/mame/drivers/vt320.cpp26
-rw-r--r--src/mame/drivers/vt520.cpp50
-rw-r--r--src/mame/drivers/vta2000.cpp29
-rw-r--r--src/mame/drivers/vtech1.cpp40
-rw-r--r--src/mame/drivers/vtech2.cpp43
-rw-r--r--src/mame/drivers/vtech_eu3a12.cpp20
-rw-r--r--src/mame/drivers/vtech_unk1.cpp19
-rw-r--r--src/mame/drivers/vtech_unk2.cpp19
-rw-r--r--src/mame/drivers/vulgus.cpp34
-rw-r--r--src/mame/drivers/wacky_gator.cpp28
-rw-r--r--src/mame/drivers/wallc.cpp58
-rw-r--r--src/mame/drivers/wangpc.cpp65
-rw-r--r--src/mame/drivers/wardner.cpp46
-rw-r--r--src/mame/drivers/warpsped.cpp28
-rw-r--r--src/mame/drivers/warpwarp.cpp70
-rw-r--r--src/mame/drivers/warriorb.cpp12
-rw-r--r--src/mame/drivers/wc90b.cpp51
-rw-r--r--src/mame/drivers/welltris.cpp4
-rw-r--r--src/mame/drivers/wgp.cpp6
-rw-r--r--src/mame/drivers/wheelfir.cpp44
-rw-r--r--src/mame/drivers/white_mod.cpp9
-rw-r--r--src/mame/drivers/wicat.cpp8
-rw-r--r--src/mame/drivers/wico.cpp26
-rw-r--r--src/mame/drivers/wildpkr.cpp80
-rw-r--r--src/mame/drivers/williams.cpp211
-rw-r--r--src/mame/drivers/wink.cpp35
-rw-r--r--src/mame/drivers/wiping.cpp32
-rw-r--r--src/mame/drivers/witch.cpp131
-rw-r--r--src/mame/drivers/wiz.cpp79
-rw-r--r--src/mame/drivers/wmg.cpp41
-rw-r--r--src/mame/drivers/wms.cpp43
-rw-r--r--src/mame/drivers/wolfpack.cpp32
-rw-r--r--src/mame/drivers/wpc_95.cpp24
-rw-r--r--src/mame/drivers/wpc_dcs.cpp33
-rw-r--r--src/mame/drivers/wpc_s.cpp24
-rw-r--r--src/mame/drivers/wrally.cpp39
-rw-r--r--src/mame/drivers/wrlshunt.cpp179
-rw-r--r--src/mame/drivers/wswan.cpp62
-rw-r--r--src/mame/drivers/wwfsstar.cpp31
-rw-r--r--src/mame/drivers/wy150.cpp122
-rw-r--r--src/mame/drivers/wy30p.cpp128
-rw-r--r--src/mame/drivers/wy50.cpp145
-rw-r--r--src/mame/drivers/wy55.cpp111
-rw-r--r--src/mame/drivers/wy60.cpp168
-rw-r--r--src/mame/drivers/wyse.cpp103
-rw-r--r--src/mame/drivers/wyvernf0.cpp5
-rw-r--r--src/mame/drivers/x07.cpp44
-rw-r--r--src/mame/drivers/x1.cpp68
-rw-r--r--src/mame/drivers/x1twin.cpp62
-rw-r--r--src/mame/drivers/x68k.cpp33
-rw-r--r--src/mame/drivers/xain.cpp41
-rw-r--r--src/mame/drivers/xavix.cpp918
-rw-r--r--src/mame/drivers/xavix2.cpp161
-rw-r--r--src/mame/drivers/xbox.cpp22
-rw-r--r--src/mame/drivers/xerox820.cpp66
-rw-r--r--src/mame/drivers/xmen.cpp121
-rw-r--r--src/mame/drivers/xor100.cpp54
-rw-r--r--src/mame/drivers/xtheball.cpp24
-rw-r--r--src/mame/drivers/xtom3d.cpp8
-rw-r--r--src/mame/drivers/xxmissio.cpp34
-rw-r--r--src/mame/drivers/xybots.cpp26
-rw-r--r--src/mame/drivers/xyonix.cpp34
-rw-r--r--src/mame/drivers/y2.cpp21
-rw-r--r--src/mame/drivers/yiear.cpp39
-rw-r--r--src/mame/drivers/ymmu100.cpp574
-rw-r--r--src/mame/drivers/yunsung8.cpp47
-rw-r--r--src/mame/drivers/z100.cpp97
-rw-r--r--src/mame/drivers/z1013.cpp35
-rw-r--r--src/mame/drivers/z80dev.cpp11
-rw-r--r--src/mame/drivers/z80ne.cpp136
-rw-r--r--src/mame/drivers/z88.cpp22
-rw-r--r--src/mame/drivers/z9001.cpp27
-rw-r--r--src/mame/drivers/zac_proto.cpp10
-rw-r--r--src/mame/drivers/zaccaria.cpp28
-rw-r--r--src/mame/drivers/zapcomputer.cpp11
-rw-r--r--src/mame/drivers/zaurus.cpp26
-rw-r--r--src/mame/drivers/zaxxon.cpp84
-rw-r--r--src/mame/drivers/zexall.cpp2
-rw-r--r--src/mame/drivers/zms8085.cpp9
-rw-r--r--src/mame/drivers/zn.cpp8
-rw-r--r--src/mame/drivers/zorba.cpp49
-rw-r--r--src/mame/drivers/zr107.cpp10
-rw-r--r--src/mame/drivers/zwackery.cpp4
-rw-r--r--src/mame/etc/korgm1.cpp30
-rw-r--r--src/mame/etc/template_device.cpp7
-rw-r--r--src/mame/etc/unkfr.cpp5
-rw-r--r--src/mame/includes/8080bw.h4
-rw-r--r--src/mame/includes/adam.h4
-rw-r--r--src/mame/includes/apollo.h18
-rw-r--r--src/mame/includes/apple3.h16
-rw-r--r--src/mame/includes/ashnojoe.h1
-rw-r--r--src/mame/includes/astrocde.h1
-rw-r--r--src/mame/includes/battlera.h1
-rw-r--r--src/mame/includes/bbc.h33
-rw-r--r--src/mame/includes/btoads.h86
-rw-r--r--src/mame/includes/canyon.h2
-rw-r--r--src/mame/includes/champbas.h1
-rw-r--r--src/mame/includes/chessbase.h70
-rw-r--r--src/mame/includes/ckingbase.h73
-rw-r--r--src/mame/includes/coco12.h1
-rw-r--r--src/mame/includes/coleco.h2
-rw-r--r--src/mame/includes/concept.h10
-rw-r--r--src/mame/includes/cosmic.h1
-rw-r--r--src/mame/includes/cps1.h1
-rw-r--r--src/mame/includes/cps3.h60
-rw-r--r--src/mame/includes/crospang.h64
-rw-r--r--src/mame/includes/cxgbase.h76
-rw-r--r--src/mame/includes/dccons.h1
-rw-r--r--src/mame/includes/dcheese.h30
-rw-r--r--src/mame/includes/dec0.h4
-rw-r--r--src/mame/includes/dragrace.h2
-rw-r--r--src/mame/includes/esd16.h78
-rw-r--r--src/mame/includes/fidelbase.h80
-rw-r--r--src/mame/includes/funworld.h4
-rw-r--r--src/mame/includes/gaelco2.h73
-rw-r--r--src/mame/includes/galastrm.h18
-rw-r--r--src/mame/includes/galaxian.h6
-rw-r--r--src/mame/includes/galaxold.h8
-rw-r--r--src/mame/includes/galivan.h6
-rw-r--r--src/mame/includes/gyruss.h2
-rw-r--r--src/mame/includes/harddriv.h2
-rw-r--r--src/mame/includes/hec2hrp.h18
-rw-r--r--src/mame/includes/hh_sm510.h7
-rw-r--r--src/mame/includes/hh_tms1k.h23
-rw-r--r--src/mame/includes/hh_ucom4.h4
-rw-r--r--src/mame/includes/homedata.h49
-rw-r--r--src/mame/includes/homerun.h55
-rw-r--r--src/mame/includes/itech8.h2
-rw-r--r--src/mame/includes/jazz.h42
-rw-r--r--src/mame/includes/jensen.h72
-rw-r--r--src/mame/includes/jpmsys5.h2
-rw-r--r--src/mame/includes/kchamp.h2
-rw-r--r--src/mame/includes/kingobox.h18
-rw-r--r--src/mame/includes/kyocera.h32
-rw-r--r--src/mame/includes/ladybug.h3
-rw-r--r--src/mame/includes/lisa.h6
-rw-r--r--src/mame/includes/lvcards.h5
-rw-r--r--src/mame/includes/lwings.h4
-rw-r--r--src/mame/includes/m52.h12
-rw-r--r--src/mame/includes/madalien.h4
-rw-r--r--src/mame/includes/mbc55x.h52
-rw-r--r--src/mame/includes/mcr3.h2
-rw-r--r--src/mame/includes/megadriv.h24
-rw-r--r--src/mame/includes/megadriv_acbl.h5
-rw-r--r--src/mame/includes/megasys1.h65
-rw-r--r--src/mame/includes/midyunit.h44
-rw-r--r--src/mame/includes/mips.h2
-rw-r--r--src/mame/includes/model1.h1
-rw-r--r--src/mame/includes/ms32.h17
-rw-r--r--src/mame/includes/msx.h123
-rw-r--r--src/mame/includes/mtx.h31
-rw-r--r--src/mame/includes/multfish.h4
-rw-r--r--src/mame/includes/mw8080bw.h4
-rw-r--r--src/mame/includes/mystston.h6
-rw-r--r--src/mame/includes/mystwarr.h1
-rw-r--r--src/mame/includes/namcona1.h2
-rw-r--r--src/mame/includes/namcos1.h85
-rw-r--r--src/mame/includes/nforcepc.h90
-rw-r--r--src/mame/includes/niyanpai.h4
-rw-r--r--src/mame/includes/nmk16.h1
-rw-r--r--src/mame/includes/nova2001.h30
-rw-r--r--src/mame/includes/novagbase.h72
-rw-r--r--src/mame/includes/oneshot.h57
-rw-r--r--src/mame/includes/orbit.h2
-rw-r--r--src/mame/includes/psikyo.h82
-rw-r--r--src/mame/includes/realbrk.h4
-rw-r--r--src/mame/includes/redclash.h20
-rw-r--r--src/mame/includes/rungun.h1
-rw-r--r--src/mame/includes/segag80r.h7
-rw-r--r--src/mame/includes/segaybd.h2
-rw-r--r--src/mame/includes/seta.h6
-rw-r--r--src/mame/includes/seta2.h2
-rw-r--r--src/mame/includes/sms.h53
-rw-r--r--src/mame/includes/snes.h1
-rw-r--r--src/mame/includes/sorcerer.h3
-rw-r--r--src/mame/includes/spectrum.h6
-rw-r--r--src/mame/includes/sprint2.h2
-rw-r--r--src/mame/includes/sprint4.h2
-rw-r--r--src/mame/includes/sprint8.h2
-rw-r--r--src/mame/includes/taitosj.h2
-rw-r--r--src/mame/includes/tandy2k.h46
-rw-r--r--src/mame/includes/terracre.h3
-rw-r--r--src/mame/includes/thomson.h21
-rw-r--r--src/mame/includes/ti85.h14
-rw-r--r--src/mame/includes/timelimt.h1
-rw-r--r--src/mame/includes/tmnt.h2
-rw-r--r--src/mame/includes/toaplan1.h292
-rw-r--r--src/mame/includes/trs80.h7
-rw-r--r--src/mame/includes/twincobr.h116
-rw-r--r--src/mame/includes/unico.h14
-rw-r--r--src/mame/includes/vcs80.h8
-rw-r--r--src/mame/includes/videopin.h14
-rw-r--r--src/mame/includes/vsmile.h175
-rw-r--r--src/mame/includes/witch.h9
-rw-r--r--src/mame/includes/wswan.h6
-rw-r--r--src/mame/includes/xavix.h262
-rw-r--r--src/mame/includes/xbox.h21
-rw-r--r--src/mame/includes/xbox_pci.h50
-rw-r--r--src/mame/includes/z80ne.h4
-rw-r--r--src/mame/layout/aci_boris.lay172
-rw-r--r--src/mame/layout/aci_borisdpl.lay318
-rw-r--r--src/mame/layout/alphie.lay38
-rw-r--r--src/mame/layout/arrball.lay296
-rw-r--r--src/mame/layout/ave_arb.lay437
-rw-r--r--src/mame/layout/baddog.lay14
-rw-r--r--src/mame/layout/bambball.lay67
-rw-r--r--src/mame/layout/borisdpl.lay35
-rw-r--r--src/mame/layout/cc40.lay12
-rw-r--r--src/mame/layout/chessmst.lay76
-rw-r--r--src/mame/layout/chessmstdm.lay52
-rw-r--r--src/mame/layout/chesstrv.lay126
-rw-r--r--src/mame/layout/ck_master.lay24
-rw-r--r--src/mame/layout/cmpchess.lay265
-rw-r--r--src/mame/layout/ctstein.lay49
-rw-r--r--src/mame/layout/cxg_ch2001.lay30
-rw-r--r--src/mame/layout/f2pbball.lay120
-rw-r--r--src/mame/layout/fidel_acr.lay173
-rw-r--r--src/mame/layout/fidel_as12.lay24
-rw-r--r--src/mame/layout/fidel_bkc.lay178
-rw-r--r--src/mame/layout/fidel_brc.lay495
-rw-r--r--src/mame/layout/fidel_bv3.lay461
-rw-r--r--src/mame/layout/fidel_cc.lay (renamed from src/mame/layout/fidel_cc10.lay)4
-rw-r--r--src/mame/layout/fidel_cc1.lay145
-rw-r--r--src/mame/layout/fidel_chesster.lay28
-rw-r--r--src/mame/layout/fidel_csc.lay194
-rw-r--r--src/mame/layout/fidel_des.lay24
-rw-r--r--src/mame/layout/fidel_desdis.lay28
-rw-r--r--src/mame/layout/fidel_desdis_68kg.lay28
-rw-r--r--src/mame/layout/fidel_desdis_68kr.lay28
-rw-r--r--src/mame/layout/fidel_dsc.lay32
-rw-r--r--src/mame/layout/fidel_eag.lay46
-rw-r--r--src/mame/layout/fidel_eag_68k.lay46
-rw-r--r--src/mame/layout/fidel_eas.lay24
-rw-r--r--src/mame/layout/fidel_eas_priv.lay438
-rw-r--r--src/mame/layout/fidel_ex.lay24
-rw-r--r--src/mame/layout/fidel_ex_68k.lay24
-rw-r--r--src/mame/layout/fidel_exd.lay24
-rw-r--r--src/mame/layout/fidel_gin.lay465
-rw-r--r--src/mame/layout/fidel_pc.lay54
-rw-r--r--src/mame/layout/fidel_playmatic.lay24
-rw-r--r--src/mame/layout/fidel_sc12.lay24
-rw-r--r--src/mame/layout/fidel_sc6.lay24
-rw-r--r--src/mame/layout/fidel_sc8.lay24
-rw-r--r--src/mame/layout/fidel_sc9.lay24
-rw-r--r--src/mame/layout/fidel_su9.lay24
-rw-r--r--src/mame/layout/fidel_vbrc.lay114
-rw-r--r--src/mame/layout/fidel_vsc.lay24
-rw-r--r--src/mame/layout/gckong.lay43
-rw-r--r--src/mame/layout/h2hbaskb.lay163
-rw-r--r--src/mame/layout/h2hbaskbc.lay56
-rw-r--r--src/mame/layout/h2hhockey.lay56
-rw-r--r--src/mame/layout/h2hhockeyc.lay56
-rw-r--r--src/mame/layout/h2hsoccerc.lay56
-rw-r--r--src/mame/layout/hh_amis2k_test.lay34
-rw-r--r--src/mame/layout/hh_cop400_test.lay537
-rw-r--r--src/mame/layout/hh_hmcs40_test.lay665
-rw-r--r--src/mame/layout/hh_melps4_test.lay537
-rw-r--r--src/mame/layout/hh_pic16_test.lay537
-rw-r--r--src/mame/layout/hh_sm500_test.lay104
-rw-r--r--src/mame/layout/hh_sm510_test.lay314
-rw-r--r--src/mame/layout/hh_tms1k_test.lay537
-rw-r--r--src/mame/layout/hh_ucom4_test.lay537
-rw-r--r--src/mame/layout/intellect02.lay106
-rw-r--r--src/mame/layout/k28.lay48
-rw-r--r--src/mame/layout/matchme.lay111
-rwxr-xr-x[-rw-r--r--]src/mame/layout/md6802.lay473
-rw-r--r--src/mame/layout/mdndclab.lay13
-rw-r--r--src/mame/layout/mephisto_academy.lay24
-rw-r--r--src/mame/layout/mephisto_lcd.lay24
-rw-r--r--src/mame/layout/mephisto_megaiv.lay16
-rw-r--r--src/mame/layout/mephisto_milano.lay24
-rw-r--r--src/mame/layout/mephisto_modena.lay24
-rw-r--r--src/mame/layout/mephisto_mondial2.lay12
-rw-r--r--src/mame/layout/mephisto_montec.lay16
-rw-r--r--src/mame/layout/mephisto_smondial2.lay16
-rw-r--r--src/mame/layout/mk1.lay288
-rw-r--r--src/mame/layout/modulab.lay429
-rw-r--r--src/mame/layout/msthawk.lay22
-rw-r--r--src/mame/layout/mwcbaseb.lay41
-rw-r--r--src/mame/layout/novag_cforte.lay32
-rw-r--r--src/mame/layout/novag_delta1.lay283
-rw-r--r--src/mame/layout/novag_diablo68k.lay26
-rw-r--r--src/mame/layout/novag_presto.lay24
-rw-r--r--src/mame/layout/novag_scorpio68k.lay60
-rw-r--r--src/mame/layout/novag_sexpert.lay26
-rw-r--r--src/mame/layout/novag_sforte.lay34
-rw-r--r--src/mame/layout/novag_supercon.lay48
-rw-r--r--src/mame/layout/packmon.lay81
-rw-r--r--src/mame/layout/phpball.lay72
-rw-r--r--src/mame/layout/raisedvl.lay91
-rw-r--r--src/mame/layout/rebound.lay23
-rw-r--r--src/mame/layout/risc2500.lay100
-rw-r--r--src/mame/layout/sc1.lay62
-rw-r--r--src/mame/layout/sc2.lay243
-rw-r--r--src/mame/layout/simon.lay94
-rw-r--r--src/mame/layout/slc1a.lay20
-rw-r--r--src/mame/layout/ssimon.lay184
-rw-r--r--src/mame/layout/tgm.lay28
-rw-r--r--src/mame/layout/ti74.lay12
-rw-r--r--src/mame/layout/ti95.lay6
-rw-r--r--src/mame/layout/tmtennis.lay56
-rw-r--r--src/mame/layout/tntell.lay6
-rw-r--r--src/mame/layout/touchme.lay115
-rw-r--r--src/mame/layout/wildfire.lay135
-rw-r--r--src/mame/layout/zodiac.lay204
-rw-r--r--src/mame/machine/abc80kb.cpp11
-rw-r--r--src/mame/machine/acs8600_ics.cpp8
-rw-r--r--src/mame/machine/acs8600_ics.h6
-rw-r--r--src/mame/machine/aim65.cpp14
-rw-r--r--src/mame/machine/amiga.cpp8
-rw-r--r--src/mame/machine/amstrad.cpp49
-rw-r--r--src/mame/machine/apollo.cpp48
-rw-r--r--src/mame/machine/apollo_kbd.cpp35
-rw-r--r--src/mame/machine/apollo_kbd.h2
-rw-r--r--src/mame/machine/apple2common.cpp806
-rw-r--r--src/mame/machine/apple2common.h54
-rw-r--r--src/mame/machine/apple3.cpp32
-rw-r--r--src/mame/machine/apricotkb.cpp9
-rw-r--r--src/mame/machine/at.cpp45
-rw-r--r--src/mame/machine/at.h1
-rw-r--r--src/mame/machine/atarifdc.cpp7
-rw-r--r--src/mame/machine/balsente.cpp2
-rw-r--r--src/mame/machine/bbc.cpp151
-rw-r--r--src/mame/machine/bebox.cpp4
-rw-r--r--src/mame/machine/cbm_snqk.h2
-rw-r--r--src/mame/machine/cedar_magnet_plane.cpp11
-rw-r--r--src/mame/machine/cedar_magnet_sprite.cpp13
-rw-r--r--src/mame/machine/chessbase.cpp318
-rw-r--r--src/mame/machine/cit101_kbd.cpp8
-rw-r--r--src/mame/machine/coco.cpp12
-rw-r--r--src/mame/machine/coco_vhd.cpp2
-rw-r--r--src/mame/machine/coco_vhd.h16
-rw-r--r--src/mame/machine/concept.cpp35
-rw-r--r--src/mame/machine/cuda.cpp17
-rw-r--r--src/mame/machine/dec_lk201.cpp13
-rw-r--r--src/mame/machine/decioga.cpp37
-rw-r--r--src/mame/machine/decioga.h12
-rw-r--r--src/mame/machine/dgnalpha.cpp10
-rw-r--r--src/mame/machine/dragon.cpp10
-rw-r--r--src/mame/machine/egret.cpp9
-rw-r--r--src/mame/machine/electron.cpp16
-rw-r--r--src/mame/machine/esqlcd.cpp5
-rw-r--r--src/mame/machine/esqvfd.cpp15
-rw-r--r--src/mame/machine/fd1089.cpp2
-rw-r--r--src/mame/machine/fidelbase.cpp151
-rw-r--r--src/mame/machine/gaelco2.cpp68
-rw-r--r--src/mame/machine/gaelco_ds5002fp.cpp13
-rw-r--r--src/mame/machine/gaelco_ds5002fp.h13
-rw-r--r--src/mame/machine/gamepock.cpp2
-rw-r--r--src/mame/machine/gdrom.cpp48
-rw-r--r--src/mame/machine/harddriv.cpp20
-rw-r--r--src/mame/machine/hng64_net.cpp11
-rw-r--r--src/mame/machine/hp9825_tape.cpp5
-rw-r--r--src/mame/machine/hp9845_printer.cpp9
-rw-r--r--src/mame/machine/hpc1.cpp227
-rw-r--r--src/mame/machine/hpc1.h19
-rw-r--r--src/mame/machine/hpc3.cpp73
-rw-r--r--src/mame/machine/hpc3.h15
-rw-r--r--src/mame/machine/ibm6580_fdc.cpp32
-rw-r--r--src/mame/machine/ibm6580_kbd.cpp38
-rw-r--r--src/mame/machine/imds2ioc.cpp10
-rw-r--r--src/mame/machine/inder_sb.cpp31
-rw-r--r--src/mame/machine/inder_vid.cpp15
-rw-r--r--src/mame/machine/interpro_ioga.cpp9
-rw-r--r--src/mame/machine/interpro_ioga.h9
-rw-r--r--src/mame/machine/intv.cpp32
-rw-r--r--src/mame/machine/ioc2.cpp80
-rw-r--r--src/mame/machine/ioc2.h4
-rw-r--r--src/mame/machine/isbc_208.cpp4
-rw-r--r--src/mame/machine/iteagle_fpga.cpp7
-rw-r--r--src/mame/machine/jazz_mct_adr.cpp265
-rw-r--r--src/mame/machine/jazz_mct_adr.h123
-rw-r--r--src/mame/machine/k7659kb.cpp6
-rw-r--r--src/mame/machine/kc_keyb.cpp2
-rw-r--r--src/mame/machine/km035.cpp28
-rw-r--r--src/mame/machine/leland.cpp8
-rw-r--r--src/mame/machine/lisa.cpp6
-rw-r--r--src/mame/machine/lynx.cpp2
-rw-r--r--src/mame/machine/m20_8086.cpp13
-rw-r--r--src/mame/machine/m24_z8000.cpp2
-rw-r--r--src/mame/machine/m2comm.cpp5
-rw-r--r--src/mame/machine/m3comm.cpp9
-rw-r--r--src/mame/machine/macpci.cpp8
-rw-r--r--src/mame/machine/mbc55x.cpp383
-rw-r--r--src/mame/machine/mbc55x_kbd.cpp295
-rw-r--r--src/mame/machine/mbc55x_kbd.h64
-rw-r--r--src/mame/machine/mbee.cpp6
-rw-r--r--src/mame/machine/mega32x.cpp1
-rw-r--r--src/mame/machine/megacd.cpp81
-rw-r--r--src/mame/machine/megacd.h11
-rw-r--r--src/mame/machine/megacdcd.cpp13
-rw-r--r--src/mame/machine/megadriv.cpp106
-rw-r--r--src/mame/machine/microtan.cpp8
-rw-r--r--src/mame/machine/midtunit.cpp2
-rw-r--r--src/mame/machine/midwayic.cpp56
-rw-r--r--src/mame/machine/midwayic.h17
-rw-r--r--src/mame/machine/midwunit.cpp6
-rw-r--r--src/mame/machine/midxunit.cpp6
-rw-r--r--src/mame/machine/midyunit.cpp12
-rw-r--r--src/mame/machine/mips_rambo.cpp219
-rw-r--r--src/mame/machine/mips_rambo.h26
-rw-r--r--src/mame/machine/mmboard.cpp24
-rw-r--r--src/mame/machine/mpu4.cpp108
-rw-r--r--src/mame/machine/ms7004.cpp27
-rw-r--r--src/mame/machine/msx.cpp14
-rw-r--r--src/mame/machine/mtx.cpp153
-rw-r--r--src/mame/machine/mw8080bw.cpp28
-rw-r--r--src/mame/machine/namcos1.cpp273
-rw-r--r--src/mame/machine/nb1412m2.cpp2
-rw-r--r--src/mame/machine/nes.cpp22
-rw-r--r--src/mame/machine/nl_breakout.cpp53
-rw-r--r--src/mame/machine/nl_palestra.cpp710
-rw-r--r--src/mame/machine/nl_palestra.h4
-rw-r--r--src/mame/machine/nl_rebound.cpp1272
-rw-r--r--src/mame/machine/nl_rebound.h4
-rw-r--r--src/mame/machine/nl_tp1983.cpp123
-rw-r--r--src/mame/machine/nl_tp1983.h4
-rw-r--r--src/mame/machine/nl_tp1985.cpp246
-rw-r--r--src/mame/machine/nl_tp1985.h4
-rw-r--r--src/mame/machine/novagbase.cpp60
-rw-r--r--src/mame/machine/orion.cpp18
-rw-r--r--src/mame/machine/osborne1.cpp12
-rw-r--r--src/mame/machine/pce_cd.cpp27
-rw-r--r--src/mame/machine/pcshare.cpp90
-rw-r--r--src/mame/machine/pgmprot_igs025_igs012.cpp8
-rw-r--r--src/mame/machine/pgmprot_igs025_igs022.cpp18
-rw-r--r--src/mame/machine/pgmprot_igs025_igs028.cpp8
-rw-r--r--src/mame/machine/pgmprot_igs027a_type1.cpp37
-rw-r--r--src/mame/machine/pgmprot_igs027a_type2.cpp12
-rw-r--r--src/mame/machine/pgmprot_igs027a_type3.cpp12
-rw-r--r--src/mame/machine/pgmprot_orlegend.cpp5
-rw-r--r--src/mame/machine/poly.cpp4
-rw-r--r--src/mame/machine/qimi.cpp6
-rw-r--r--src/mame/machine/qimi.h4
-rw-r--r--src/mame/machine/qix.cpp2
-rw-r--r--src/mame/machine/rad_eu3a05gpio.h6
-rw-r--r--src/mame/machine/radio86.cpp2
-rw-r--r--src/mame/machine/rx01.cpp7
-rw-r--r--src/mame/machine/s32comm.cpp5
-rw-r--r--src/mame/machine/saturn_cdb.cpp11
-rw-r--r--src/mame/machine/segaic16.cpp6
-rw-r--r--src/mame/machine/seicopbl.cpp2
-rw-r--r--src/mame/machine/sgi.cpp310
-rw-r--r--src/mame/machine/sgi.h30
-rw-r--r--src/mame/machine/sms.cpp86
-rw-r--r--src/mame/machine/snes.cpp5
-rw-r--r--src/mame/machine/sorcerer.cpp7
-rw-r--r--src/mame/machine/spec_snqk.cpp6
-rw-r--r--src/mame/machine/taitocchip.cpp32
-rw-r--r--src/mame/machine/taitocchip.h20
-rw-r--r--src/mame/machine/tatsumi.cpp4
-rw-r--r--src/mame/machine/teleprinter.cpp20
-rw-r--r--src/mame/machine/thomflop.cpp4
-rw-r--r--src/mame/machine/thomson.cpp30
-rw-r--r--src/mame/machine/ti85.cpp36
-rw-r--r--src/mame/machine/toaplan1.cpp134
-rw-r--r--src/mame/machine/trs80.cpp3
-rw-r--r--src/mame/machine/tv950kb.cpp2
-rw-r--r--src/mame/machine/tv955kb.cpp47
-rw-r--r--src/mame/machine/tv955kb.h14
-rw-r--r--src/mame/machine/twincobr.cpp39
-rw-r--r--src/mame/machine/v102_kbd.cpp225
-rw-r--r--src/mame/machine/v102_kbd.h45
-rw-r--r--src/mame/machine/v1050kb.cpp8
-rw-r--r--src/mame/machine/vector06.cpp6
-rw-r--r--src/mame/machine/vectrex.cpp2
-rw-r--r--src/mame/machine/vertigo.cpp2
-rw-r--r--src/mame/machine/vt100_kbd.cpp8
-rw-r--r--src/mame/machine/vtech2.cpp5
-rw-r--r--src/mame/machine/wangpckb.cpp2
-rw-r--r--src/mame/machine/williams.cpp4
-rw-r--r--src/mame/machine/wswan.cpp34
-rw-r--r--src/mame/machine/wy50kb.cpp187
-rw-r--r--src/mame/machine/wy50kb.h29
-rw-r--r--src/mame/machine/xavix.cpp392
-rw-r--r--src/mame/machine/xavix2002_io.cpp127
-rw-r--r--src/mame/machine/xavix2002_io.h49
-rw-r--r--src/mame/machine/xavix_adc.cpp100
-rw-r--r--src/mame/machine/xavix_adc.h50
-rw-r--r--src/mame/machine/xavix_anport.cpp81
-rw-r--r--src/mame/machine/xavix_anport.h41
-rw-r--r--src/mame/machine/xavix_io.cpp103
-rw-r--r--src/mame/machine/xavix_io.h42
-rw-r--r--src/mame/machine/xavix_math.cpp171
-rw-r--r--src/mame/machine/xavix_math.h34
-rw-r--r--src/mame/machine/xbox.cpp179
-rw-r--r--src/mame/machine/xbox_pci.cpp277
-rw-r--r--src/mame/machine/z80ne.cpp16
-rw-r--r--src/mame/mame.lst585
-rw-r--r--src/mame/mess.flt67
-rw-r--r--src/mame/nl.lst7
-rw-r--r--src/mame/video/20pacgal.cpp19
-rw-r--r--src/mame/video/3dom2_te.cpp6
-rw-r--r--src/mame/video/733_asr.cpp24
-rw-r--r--src/mame/video/911_vdt.cpp24
-rw-r--r--src/mame/video/abc1600.cpp11
-rw-r--r--src/mame/video/abc80.cpp16
-rw-r--r--src/mame/video/abc800.cpp38
-rw-r--r--src/mame/video/abc802.cpp13
-rw-r--r--src/mame/video/abc806.cpp13
-rw-r--r--src/mame/video/agat7.cpp13
-rw-r--r--src/mame/video/airraid_dev.cpp25
-rw-r--r--src/mame/video/amiga.cpp32
-rw-r--r--src/mame/video/ampoker2.cpp6
-rw-r--r--src/mame/video/apollo.cpp26
-rw-r--r--src/mame/video/arabian.cpp8
-rw-r--r--src/mame/video/astrocde.cpp14
-rw-r--r--src/mame/video/aussiebyte.cpp4
-rw-r--r--src/mame/video/bagman.cpp6
-rw-r--r--src/mame/video/bfm_adr2.cpp29
-rw-r--r--src/mame/video/bfm_dm01.cpp32
-rw-r--r--src/mame/video/bking.cpp6
-rw-r--r--src/mame/video/btoads.cpp4
-rw-r--r--src/mame/video/capbowl.cpp4
-rw-r--r--src/mame/video/ccastles.cpp6
-rw-r--r--src/mame/video/cclimber.cpp6
-rw-r--r--src/mame/video/cgc7900.cpp25
-rw-r--r--src/mame/video/champbas.cpp6
-rw-r--r--src/mame/video/circusc.cpp6
-rw-r--r--src/mame/video/cloak.cpp6
-rw-r--r--src/mame/video/cloud9.cpp6
-rw-r--r--src/mame/video/cninja.cpp8
-rw-r--r--src/mame/video/cps1.cpp2
-rw-r--r--src/mame/video/crospang.cpp38
-rw-r--r--src/mame/video/dcheese.cpp75
-rw-r--r--src/mame/video/dec0.cpp27
-rw-r--r--src/mame/video/decbac06.cpp155
-rw-r--r--src/mame/video/decmxc06.cpp9
-rw-r--r--src/mame/video/decodmd1.cpp25
-rw-r--r--src/mame/video/decodmd2.cpp6
-rw-r--r--src/mame/video/decodmd3.cpp6
-rw-r--r--src/mame/video/divebomb.cpp6
-rw-r--r--src/mame/video/esd16.cpp106
-rw-r--r--src/mame/video/exerion.cpp6
-rw-r--r--src/mame/video/exidy440.cpp39
-rw-r--r--src/mame/video/fastfred.cpp6
-rw-r--r--src/mame/video/finalizr.cpp6
-rw-r--r--src/mame/video/foodf.cpp6
-rw-r--r--src/mame/video/funworld.cpp12
-rw-r--r--src/mame/video/gaelco2.cpp255
-rw-r--r--src/mame/video/galastrm.cpp14
-rw-r--r--src/mame/video/galaxian.cpp18
-rw-r--r--src/mame/video/gamate.cpp21
-rw-r--r--src/mame/video/gottlieb.cpp6
-rw-r--r--src/mame/video/gotya.cpp6
-rw-r--r--src/mame/video/grchamp.cpp6
-rw-r--r--src/mame/video/gyruss.cpp6
-rw-r--r--src/mame/video/homedata.cpp30
-rw-r--r--src/mame/video/homerun.cpp112
-rw-r--r--src/mame/video/hyperspt.cpp6
-rw-r--r--src/mame/video/ironhors.cpp6
-rw-r--r--src/mame/video/itech8.cpp12
-rw-r--r--src/mame/video/jedi.cpp15
-rw-r--r--src/mame/video/k057714.cpp169
-rw-r--r--src/mame/video/k057714.h6
-rw-r--r--src/mame/video/kaypro.cpp6
-rw-r--r--src/mame/video/kingobox.cpp16
-rw-r--r--src/mame/video/kyocera.cpp72
-rw-r--r--src/mame/video/ladybug.cpp6
-rw-r--r--src/mame/video/leland.cpp28
-rw-r--r--src/mame/video/light.cpp381
-rw-r--r--src/mame/video/light.h75
-rw-r--r--src/mame/video/lucky74.cpp12
-rw-r--r--src/mame/video/m52.cpp25
-rw-r--r--src/mame/video/m58.cpp18
-rw-r--r--src/mame/video/madalien.cpp22
-rw-r--r--src/mame/video/mappy.cpp18
-rw-r--r--src/mame/video/mbc55x.cpp34
-rw-r--r--src/mame/video/mbee.cpp4
-rw-r--r--src/mame/video/megasys1.cpp113
-rw-r--r--src/mame/video/megazone.cpp6
-rw-r--r--src/mame/video/mikie.cpp6
-rw-r--r--src/mame/video/mikromik.cpp33
-rw-r--r--src/mame/video/mystston.cpp30
-rw-r--r--src/mame/video/namcos1.cpp53
-rw-r--r--src/mame/video/naughtyb.cpp6
-rw-r--r--src/mame/video/neogeo.cpp8
-rw-r--r--src/mame/video/neogeo_spr.cpp84
-rw-r--r--src/mame/video/neogeo_spr.h9
-rw-r--r--src/mame/video/newbrain.cpp17
-rw-r--r--src/mame/video/newport.cpp2807
-rw-r--r--src/mame/video/newport.h113
-rw-r--r--src/mame/video/nick.cpp6
-rw-r--r--src/mame/video/nova2001.cpp132
-rw-r--r--src/mame/video/oneshot.cpp96
-rw-r--r--src/mame/video/osi.cpp51
-rw-r--r--src/mame/video/pacman.cpp6
-rw-r--r--src/mame/video/pandoras.cpp6
-rw-r--r--src/mame/video/pc1512.cpp8
-rw-r--r--src/mame/video/pc8401a.cpp50
-rw-r--r--src/mame/video/pc9801.cpp4
-rw-r--r--src/mame/video/pc_t1t.cpp10
-rw-r--r--src/mame/video/pcd.cpp17
-rw-r--r--src/mame/video/pooyan.cpp6
-rw-r--r--src/mame/video/psikyo.cpp323
-rw-r--r--src/mame/video/psikyosh.cpp2
-rw-r--r--src/mame/video/rallyx.cpp18
-rw-r--r--src/mame/video/redalert.cpp64
-rw-r--r--src/mame/video/redclash.cpp59
-rw-r--r--src/mame/video/rocnrope.cpp6
-rw-r--r--src/mame/video/sbasketb.cpp6
-rw-r--r--src/mame/video/segag80r.cpp12
-rw-r--r--src/mame/video/segaybd.cpp2
-rw-r--r--src/mame/video/seibu_crtc.cpp2
-rw-r--r--src/mame/video/seta2.cpp5
-rw-r--r--src/mame/video/shaolins.cpp6
-rw-r--r--src/mame/video/snookr10.cpp18
-rw-r--r--src/mame/video/spacefb.cpp12
-rw-r--r--src/mame/video/speedatk.cpp4
-rw-r--r--src/mame/video/stactics.cpp21
-rw-r--r--src/mame/video/stadhero.cpp2
-rw-r--r--src/mame/video/stfight_dev.cpp23
-rw-r--r--src/mame/video/super80.cpp4
-rw-r--r--src/mame/video/system16.cpp18
-rw-r--r--src/mame/video/taitosj.cpp6
-rw-r--r--src/mame/video/thomson.cpp73
-rw-r--r--src/mame/video/tia.cpp192
-rw-r--r--src/mame/video/timelimt.cpp6
-rw-r--r--src/mame/video/tmc1800.cpp15
-rw-r--r--src/mame/video/toaplan1.cpp687
-rw-r--r--src/mame/video/toaplan2.cpp4
-rw-r--r--src/mame/video/toaplan_scu.cpp58
-rw-r--r--src/mame/video/toaplan_scu.h4
-rw-r--r--src/mame/video/tp84.cpp6
-rw-r--r--src/mame/video/trackfld.cpp6
-rw-r--r--src/mame/video/tubep.cpp12
-rw-r--r--src/mame/video/turbo.cpp18
-rw-r--r--src/mame/video/twincobr.cpp144
-rw-r--r--src/mame/video/v1050.cpp17
-rw-r--r--src/mame/video/vectrex.cpp4
-rw-r--r--src/mame/video/videopin.cpp4
-rw-r--r--src/mame/video/vtvideo.cpp7
-rw-r--r--src/mame/video/warpwarp.cpp6
-rw-r--r--src/mame/video/williams.cpp6
-rw-r--r--src/mame/video/wiping.cpp6
-rw-r--r--src/mame/video/wiz.cpp6
-rw-r--r--src/mame/video/wpc_dmd.cpp21
-rw-r--r--src/mame/video/wswan.cpp8
-rw-r--r--src/mame/video/wswan.h8
-rw-r--r--src/mame/video/xavix.cpp192
-rw-r--r--src/mame/video/zaccaria.cpp6
-rw-r--r--src/mame/video/zaxxon.cpp6
-rw-r--r--src/mame/video/zx8301.cpp5
-rw-r--r--src/osd/eigccx86.h34
-rw-r--r--src/osd/eivcx86.h20
-rw-r--r--src/osd/eminline.h58
-rw-r--r--src/osd/modules/debugger/qt/debuggerview.cpp2
-rw-r--r--src/osd/modules/debugger/qt/memorywindow.cpp2
-rw-r--r--src/osd/modules/input/input_common.cpp6
-rw-r--r--src/osd/modules/input/input_common.h1
-rw-r--r--src/osd/modules/input/input_sdl.cpp312
-rw-r--r--src/osd/modules/input/input_x11.cpp18
-rw-r--r--src/osd/modules/lib/osdobj_common.cpp32
-rw-r--r--src/osd/modules/lib/osdobj_common.h3
-rw-r--r--src/osd/modules/osdhelper.h61
-rw-r--r--src/osd/modules/render/bgfx/shaders/chains/hlsl/fs_chroma.sc6
-rw-r--r--src/osd/modules/render/bgfx/shaders/chains/xbr/fs_xbr-lv3-noblend.sc6
-rw-r--r--src/osd/modules/render/bgfx/shaders/shader.mk2
-rw-r--r--src/osd/modules/render/drawogl.cpp32
-rw-r--r--src/osd/modules/sound/sdl_sound.cpp9
-rw-r--r--src/osd/osdepend.h5
-rw-r--r--src/osd/sdl/sdlmain.cpp1
-rw-r--r--src/osd/windows/video.h22
-rw-r--r--src/osd/windows/window.cpp29
-rw-r--r--src/osd/windows/winmain.cpp33
-rw-r--r--src/osd/windows/winmain.h2
-rw-r--r--src/osd/windows/winutf8.cpp10
-rw-r--r--src/osd/windows/winutf8.h23
-rw-r--r--src/tools/chdman.cpp2
-rw-r--r--src/tools/imgtool/filtbas.cpp2
-rw-r--r--src/tools/imgtool/main.cpp2
-rw-r--r--src/tools/imgtool/modules.cpp1
-rw-r--r--src/tools/imgtool/modules/rt11.cpp695
-rw-r--r--src/tools/testkeys.cpp346
-rw-r--r--src/tools/unidasm.cpp39
-rw-r--r--src/zexall/zexall.cpp9
-rw-r--r--tests/LICENSE2
-rw-r--r--uismall.bdf2
-rw-r--r--web/LICENSE2
4970 files changed, 193153 insertions, 302758 deletions
diff --git a/3rdparty/asio/include/asio/detail/config.hpp b/3rdparty/asio/include/asio/detail/config.hpp
index 017e6545f28..7bd6a94cf2c 100644
--- a/3rdparty/asio/include/asio/detail/config.hpp
+++ b/3rdparty/asio/include/asio/detail/config.hpp
@@ -708,12 +708,7 @@
# if !defined(ASIO_DISABLE_STD_STRING_VIEW)
# if defined(__clang__)
# if (__cplusplus >= 201103)
-# ifdef _LIBCPP_VERSION
-# if _LIBCPP_VERSION >= 9000
-# define ASIO_HAS_STD_STRING_VIEW 1
-# endif
-# endif
-# if !defined(ASIO_HAS_STD_STRING_VIEW) && __has_include(<experimental/string_view>)
+# if __has_include(<experimental/string_view>)
# define ASIO_HAS_STD_STRING_VIEW 1
# define ASIO_HAS_STD_EXPERIMENTAL_STRING_VIEW 1
# endif // __has_include(<experimental/string_view>)
diff --git a/3rdparty/genie/src/_manifest.lua b/3rdparty/genie/src/_manifest.lua
index d2be5f1dcb5..d44e7565bf1 100644
--- a/3rdparty/genie/src/_manifest.lua
+++ b/3rdparty/genie/src/_manifest.lua
@@ -64,7 +64,6 @@
"actions/vstudio/vs2013.lua",
"actions/vstudio/vs2015.lua",
"actions/vstudio/vs2017.lua",
- "actions/vstudio/vsllvm.lua",
-- Xcode action
"actions/xcode/_xcode.lua",
diff --git a/3rdparty/genie/src/actions/vstudio/_vstudio.lua b/3rdparty/genie/src/actions/vstudio/_vstudio.lua
index d9b8538c4ea..9d7e8dc3886 100644
--- a/3rdparty/genie/src/actions/vstudio/_vstudio.lua
+++ b/3rdparty/genie/src/actions/vstudio/_vstudio.lua
@@ -16,7 +16,6 @@
vs2013 = "v120",
vs2015 = "v140",
vs2017 = "v141",
- vsllvm = "llvm",
}
premake.vstudio.toolset = toolsets[_ACTION] or "unknown?"
premake.vstudio.splashpath = ''
diff --git a/3rdparty/genie/src/actions/vstudio/vsllvm.lua b/3rdparty/genie/src/actions/vstudio/vsllvm.lua
deleted file mode 100644
index d6c6d1ddb53..00000000000
--- a/3rdparty/genie/src/actions/vstudio/vsllvm.lua
+++ /dev/null
@@ -1,64 +0,0 @@
---
--- vsllvm.lua
--- Baseline support for Visual Studio LLVM.
---
-
- premake.vstudio.vcllvm = {}
- local vcllvm = premake.vstudio.vcllvm
- local vstudio = premake.vstudio
-
-
----
--- Register a command-line action for Visual Studio llvm.
----
-
- newaction
- {
- trigger = "vsllvm",
- shortname = "Visual Studio LLVM",
- description = "Generate Microsoft Visual Studio LLVM project files",
- os = "windows",
-
- valid_kinds = { "ConsoleApp", "WindowedApp", "StaticLib", "SharedLib", "Bundle" },
-
- valid_languages = { "C", "C++", "C#" },
-
- valid_tools = {
- cc = { "msc" },
- dotnet = { "msnet" },
- },
-
- onsolution = function(sln)
- premake.generate(sln, "%%.sln", vstudio.sln2005.generate)
- end,
-
- onproject = function(prj)
- if premake.isdotnetproject(prj) then
- premake.generate(prj, "%%.csproj", vstudio.cs2005.generate)
- premake.generate(prj, "%%.csproj.user", vstudio.cs2005.generate_user)
- else
- premake.vstudio.needAppxManifest = false
- premake.generate(prj, "%%.vcxproj", premake.vs2010_vcxproj)
- premake.generate(prj, "%%.vcxproj.user", premake.vs2010_vcxproj_user)
- premake.generate(prj, "%%.vcxproj.filters", vstudio.vc2010.generate_filters)
-
- if premake.vstudio.needAppxManifest then
- premake.generate(prj, "%%/Package.appxmanifest", premake.vs2010_appxmanifest)
- end
- end
- end,
-
-
- oncleansolution = premake.vstudio.cleansolution,
- oncleanproject = premake.vstudio.cleanproject,
- oncleantarget = premake.vstudio.cleantarget,
-
- vstudio = {
- solutionVersion = "12",
- targetFramework = "4.5.2",
- toolsVersion = "15.0",
- windowsTargetPlatformVersion = "8.1",
- supports64bitEditContinue = true,
- intDirAbsolute = true,
- }
- }
diff --git a/3rdparty/genie/src/actions/vstudio/vstudio_solution.lua b/3rdparty/genie/src/actions/vstudio/vstudio_solution.lua
index e6d7e06c684..92426f1009c 100644
--- a/3rdparty/genie/src/actions/vstudio/vstudio_solution.lua
+++ b/3rdparty/genie/src/actions/vstudio/vstudio_solution.lua
@@ -85,7 +85,7 @@
function sln2005.header(sln)
local action = premake.action.current()
_p('Microsoft Visual Studio Solution File, Format Version %d.00', action.vstudio.solutionVersion)
- if(_ACTION:sub(3) == "2015" or _ACTION:sub(3) == "2017" or _ACTION:sub(3) == "llvm") then
+ if(_ACTION:sub(3) == "2015" or _ACTION:sub(3) == "2017") then
_p('# Visual Studio %s', action.vstudio.toolsVersion:sub(1,2))
else
_p('# Visual Studio %s', _ACTION:sub(3))
diff --git a/3rdparty/genie/src/actions/vstudio/vstudio_vcxproj.lua b/3rdparty/genie/src/actions/vstudio/vstudio_vcxproj.lua
index 0c2c6e08f0f..3aebac7208e 100644
--- a/3rdparty/genie/src/actions/vstudio/vstudio_vcxproj.lua
+++ b/3rdparty/genie/src/actions/vstudio/vstudio_vcxproj.lua
@@ -61,11 +61,10 @@
else
_p(2, '<Keyword>Win32Proj</Keyword>')
end
- if _ACTION:sub(3) == "2015" or _ACTION:sub(3) == "2017" or _ACTION:sub(3) == "llvm" then
+ if _ACTION:sub(3) == "2015" or _ACTION:sub(3) == "2017" then
_p(2,'<PreferredToolArchitecture>x64</PreferredToolArchitecture>')
end
- if (_ACTION:sub(3) == "2017" or _ACTION:sub(3) == "llvm")
- and os.isdir(path.join(os.getenv("VSINSTALLDIR"), "VC/Tools/MSVC/14.14.26428")) then
+ if _ACTION:sub(3) == "2017" and os.isdir(path.join(os.getenv("VSINSTALLDIR"), "VC/Tools/MSVC/14.14.26428")) then
_p(2,'<VCToolsVersion>14.14.26428</VCToolsVersion>')
end
@@ -462,12 +461,8 @@
floating_point(cfg)
debug_info(cfg)
- if _ACTION:sub(3) == "llvm" then
- _p(3,'<SupportJustMyCode>false</SupportJustMyCode>')
- end
-
if cfg.flags.Symbols
- and _ACTION:sub(3) ~= "2017" and _ACTION:sub(3) ~= "llvm"
+ and _ACTION:sub(3) ~= "2017"
then
_p(3, '<ProgramDataBaseFileName>$(OutDir)%s.pdb</ProgramDataBaseFileName>'
, path.getbasename(cfg.buildtarget.name)
@@ -523,16 +518,13 @@
end
end
- local function item_def_lib(prj, cfg)
+ local function item_def_lib(cfg)
-- The Xbox360 project files are stored in another place in the project file.
if cfg.kind == 'StaticLib' and cfg.platform ~= "Xbox360" then
_p(1,'<Lib>')
_p(2,'<OutputFile>$(OutDir)%s</OutputFile>',cfg.buildtarget.name)
additional_options(2,cfg)
link_target_machine(2,cfg)
- if _ACTION:sub(3) == "llvm" and prj.name == "portaudio" then -- MSVC-LLVM needs special help
- _p(2,'<AdditionalDependencies>ksuser.lib;%%(AdditionalDependencies)</AdditionalDependencies>')
- end
_p(1,'</Lib>')
end
end
@@ -604,12 +596,10 @@
function vc2010.link(cfg)
_p(2,'<Link>')
_p(3,'<SubSystem>%s</SubSystem>', iif(cfg.kind == "ConsoleApp", "Console", "Windows"))
- _p(3,'<GenerateDebugInformation>%s</GenerateDebugInformation>',
- iif(cfg.flags.Symbols ~= nil, iif(_ACTION:sub(3) ~= "llvm", "true", "DebugFull"), "false")
- )
+ _p(3,'<GenerateDebugInformation>%s</GenerateDebugInformation>', tostring(cfg.flags.Symbols ~= nil))
if cfg.flags.Symbols
- and (_ACTION:sub(3) == "2017" or _ACTION:sub(3) == "llvm")
+ and _ACTION:sub(3) == "2017"
then
_p(3, '<ProgramDataBaseFileName>$(OutDir)%s.pdb</ProgramDataBaseFileName>'
, path.getbasename(cfg.buildtarget.name)
@@ -696,7 +686,7 @@
,premake.esc(cfginfo.name))
vs10_clcompile(cfg)
resource_compile(cfg)
- item_def_lib(prj, cfg)
+ item_def_lib(cfg)
vc2010.link(cfg)
event_hooks(cfg)
vs10_masm(prj, cfg)
diff --git a/3rdparty/genie/src/host/scripts.c b/3rdparty/genie/src/host/scripts.c
index 536bbc734d3..c51a1584774 100644
--- a/3rdparty/genie/src/host/scripts.c
+++ b/3rdparty/genie/src/host/scripts.c
@@ -1,4 +1,4 @@
-/* Premake's Lua scripts, as static data buffers for release mode builds */
+/* Premake's Lua scripts, as static data buffers for release mode builds */
/* DO NOT EDIT - this file is autogenerated - see BUILD.txt */
/* To regenerate this file, run: premake4 embed */
@@ -259,59 +259,58 @@ const char* builtin_scripts[] = {
"GS = %s\", make.list(tool.getswiftlinkflags(cfg)))\n_p(1, \"AR_FLAGS = %s\", make.list(tool.getarchiveflags(cfg, cfg, false)))\n_p(1, \"LD_FLAGS = %s\", make.list(tool.getldflags(cfg)))\n_p(1, \"LDDEPS = %s\", make.list(premake.getlinks(cfg, \"siblings\", \"fullpath\")))\nif cfg.flags.Symbols then\n_p(1, \"SYMBOLS = $(TARGET).dSYM\")\nend\nlocal sdk = tool.get_sdk_path(cfg)\nif sdk then\n_p(1, \"TOOLCHAIN_PATH = %s\", tool.get_toolchain_path(cfg))\n_p(1, \"SDK_PATH = %s\", sdk)\n_p(1, \"PLATFORM_PATH = %s\", tool.get_sdk_platform_path(cfg))\n_p(1, \"SDK = -sdk $(SDK_PATH)\")\nelse\n_p(1, \"SDK_PATH =\")\n_p(1, \"SDK =\")\nend\n_p(1,'WORK_DIRS = $(OUT_DIR) $(OBJDIR)')\n_p('endif')\n_p('')\nend",
/* actions/vstudio/_vstudio.lua */
- "premake.vstudio = { }\nlocal toolsets = {\nvs2010 = \"v100\",\nvs2012 = \"v110\",\nvs2013 = \"v120\",\nvs2015 = \"v140\",\nvs2017 = \"v141\",\nvsllvm = \"llvm\",\n}\npremake.vstudio.toolset = toolsets[_ACTION] or \"unknown?\"\npremake.vstudio.splashpath = ''\nlocal vstudio = premake.vstudio\nvstudio.platforms = {\nany = \"Any CPU\",\nmixed = \"Mixed Platforms\",\nNative = \"Win32\",\nx86 = \"x86\",\nx32 = \"Win32\",\nx64 = \"x64\",\nPS3 = \"PS3\",\nXbox360 = \"Xbox 360\",\nARM = \"ARM\",\nOrbis = \"ORBIS\",\nDurango = \"Durango\",\n}\nfunction vstudio.arch(prj)\nif (prj.language == \"C#\") then\nreturn \"Any CPU\"\nelse\nreturn \"Win32\"\nend\nend\nfunction vstudio.iswinrt()\nreturn vstudio.storeapp ~= nil and vstudio.storeapp ~= ''\nend\nfunction vstudio.buildconfigs(sln)\nlocal cfgs = { }\nlocal platforms = premake.filterplatforms(sln, vstudio.platforms, \"Native\")\nlocal hascpp = premake.hascppproject(sln)\nlocal hasdotnet = premake.hasdotnetproject(sln)\nif hasdotnet and (_"
- "ACTION > \"vs2008\" or hascpp) then\ntable.insert(platforms, 1, \"mixed\")\nend\nif hasdotnet and (_ACTION < \"vs2010\" or not hascpp) then\ntable.insert(platforms, 1, \"any\")\nend\nif _ACTION > \"vs2008\" then\nlocal platforms2010 = { }\nfor _, platform in ipairs(platforms) do\nif vstudio.platforms[platform] == \"Win32\" then\nif hascpp then\ntable.insert(platforms2010, platform)\nend\nif hasdotnet then\ntable.insert(platforms2010, \"x86\")\nend\nelse\ntable.insert(platforms2010, platform)\nend\nend\nplatforms = platforms2010\nend\nfor _, buildcfg in ipairs(sln.configurations) do\nfor _, platform in ipairs(platforms) do\nlocal entry = { }\nentry.src_buildcfg = buildcfg\nentry.src_platform = platform\nif platform ~= \"PS3\" or _ACTION > \"vs2008\" then\nentry.buildcfg = buildcfg\nentry.platform = vstudio.platforms[platform]\nelse\nentry.buildcfg = platform .. \" \" .. buildcfg\nentry.platform = \"Win32\"\nend\nentry.name = entry.buildcfg .. \"|\" .. entry.platform\nentry.isreal = (platform ~= \"any\" and plat"
- "form ~= \"mixed\")\ntable.insert(cfgs, entry)\nend\nend\nreturn cfgs\nend\nfunction premake.vstudio.bakeimports(sln)\nfor _,iprj in ipairs(sln.importedprojects) do\nif string.find(iprj.location, \".csproj\") ~= nil then\niprj.language = \"C#\"\nelse\niprj.language = \"C++\"\nend\nlocal f, err = io.open(iprj.location, \"r\")\nif (not f) then\nerror(err, 1)\nend\nlocal projcontents = f:read(\"*all\")\nf:close()\nlocal found, _, uuid = string.find(projcontents, \"<ProjectGuid>{([%w%-]+)}</ProjectGuid>\")\nif not found then\nerror(\"Could not find ProjectGuid element in project \" .. iprj.location, 1)\nend\niprj.uuid = uuid\nif iprj.language == \"C++\" and string.find(projcontents, \"<CLRSupport>true</CLRSupport>\") then\niprj.flags.Managed = true\nend\niprj.relpath = path.getrelative(sln.location, iprj.location)\nend\nend\nfunction premake.vstudio.getimportprj(prjpath, sln)\nfor _,iprj in ipairs(sln.importedprojects) do\nif prjpath == iprj.relpath then\nreturn iprj\nend\nend\nerror(\"Could not find reference impo"
- "rt project \" .. prjpath, 1)\nend\nfunction vstudio.cleansolution(sln)\npremake.clean.file(sln, \"%%.sln\")\npremake.clean.file(sln, \"%%.suo\")\npremake.clean.file(sln, \"%%.ncb\")\npremake.clean.file(sln, \"%%.userprefs\")\npremake.clean.file(sln, \"%%.usertasks\")\nend\nfunction vstudio.cleanproject(prj)\nlocal fname = premake.project.getfilename(prj, \"%%\")\nos.remove(fname .. \".vcproj\")\nos.remove(fname .. \".vcproj.user\")\nos.remove(fname .. \".vcxproj\")\nos.remove(fname .. \".vcxproj.user\")\nos.remove(fname .. \".vcxproj.filters\")\nos.remove(fname .. \".csproj\")\nos.remove(fname .. \".csproj.user\")\nos.remove(fname .. \".pidb\")\nos.remove(fname .. \".sdf\")\nend\nfunction vstudio.cleantarget(name)\nos.remove(name .. \".pdb\")\nos.remove(name .. \".idb\")\nos.remove(name .. \".ilk\")\nos.remove(name .. \".vshost.exe\")\nos.remove(name .. \".exe.manifest\")\nend\nfunction vstudio.projectfile(prj)\nlocal pattern\nif prj.language == \"C#\" then\npattern = \"%%.csproj\"\nelse\npattern = iif(_ACTION"
- " > \"vs2008\", \"%%.vcxproj\", \"%%.vcproj\")\nend\nlocal fname = premake.project.getbasename(prj.name, pattern)\nfname = path.join(prj.location, fname)\nreturn fname\nend\nfunction vstudio.tool(prj)\nif (prj.language == \"C#\") then\nreturn \"FAE04EC0-301F-11D3-BF4B-00C04F79EFBC\"\nelse\nreturn \"8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942\"\nend\nend\n",
+ "premake.vstudio = { }\nlocal toolsets = {\nvs2010 = \"v100\",\nvs2012 = \"v110\",\nvs2013 = \"v120\",\nvs2015 = \"v140\",\nvs2017 = \"v141\",\n}\npremake.vstudio.toolset = toolsets[_ACTION] or \"unknown?\"\npremake.vstudio.splashpath = ''\nlocal vstudio = premake.vstudio\nvstudio.platforms = {\nany = \"Any CPU\",\nmixed = \"Mixed Platforms\",\nNative = \"Win32\",\nx86 = \"x86\",\nx32 = \"Win32\",\nx64 = \"x64\",\nPS3 = \"PS3\",\nXbox360 = \"Xbox 360\",\nARM = \"ARM\",\nOrbis = \"ORBIS\",\nDurango = \"Durango\",\n}\nfunction vstudio.arch(prj)\nif (prj.language == \"C#\") then\nreturn \"Any CPU\"\nelse\nreturn \"Win32\"\nend\nend\nfunction vstudio.iswinrt()\nreturn vstudio.storeapp ~= nil and vstudio.storeapp ~= ''\nend\nfunction vstudio.buildconfigs(sln)\nlocal cfgs = { }\nlocal platforms = premake.filterplatforms(sln, vstudio.platforms, \"Native\")\nlocal hascpp = premake.hascppproject(sln)\nlocal hasdotnet = premake.hasdotnetproject(sln)\nif hasdotnet and (_ACTION > \"vs2008\" "
+ "or hascpp) then\ntable.insert(platforms, 1, \"mixed\")\nend\nif hasdotnet and (_ACTION < \"vs2010\" or not hascpp) then\ntable.insert(platforms, 1, \"any\")\nend\nif _ACTION > \"vs2008\" then\nlocal platforms2010 = { }\nfor _, platform in ipairs(platforms) do\nif vstudio.platforms[platform] == \"Win32\" then\nif hascpp then\ntable.insert(platforms2010, platform)\nend\nif hasdotnet then\ntable.insert(platforms2010, \"x86\")\nend\nelse\ntable.insert(platforms2010, platform)\nend\nend\nplatforms = platforms2010\nend\nfor _, buildcfg in ipairs(sln.configurations) do\nfor _, platform in ipairs(platforms) do\nlocal entry = { }\nentry.src_buildcfg = buildcfg\nentry.src_platform = platform\nif platform ~= \"PS3\" or _ACTION > \"vs2008\" then\nentry.buildcfg = buildcfg\nentry.platform = vstudio.platforms[platform]\nelse\nentry.buildcfg = platform .. \" \" .. buildcfg\nentry.platform = \"Win32\"\nend\nentry.name = entry.buildcfg .. \"|\" .. entry.platform\nentry.isreal = (platform ~= \"any\" and platform ~= \"mixed\")\n"
+ "table.insert(cfgs, entry)\nend\nend\nreturn cfgs\nend\nfunction premake.vstudio.bakeimports(sln)\nfor _,iprj in ipairs(sln.importedprojects) do\nif string.find(iprj.location, \".csproj\") ~= nil then\niprj.language = \"C#\"\nelse\niprj.language = \"C++\"\nend\nlocal f, err = io.open(iprj.location, \"r\")\nif (not f) then\nerror(err, 1)\nend\nlocal projcontents = f:read(\"*all\")\nf:close()\nlocal found, _, uuid = string.find(projcontents, \"<ProjectGuid>{([%w%-]+)}</ProjectGuid>\")\nif not found then\nerror(\"Could not find ProjectGuid element in project \" .. iprj.location, 1)\nend\niprj.uuid = uuid\nif iprj.language == \"C++\" and string.find(projcontents, \"<CLRSupport>true</CLRSupport>\") then\niprj.flags.Managed = true\nend\niprj.relpath = path.getrelative(sln.location, iprj.location)\nend\nend\nfunction premake.vstudio.getimportprj(prjpath, sln)\nfor _,iprj in ipairs(sln.importedprojects) do\nif prjpath == iprj.relpath then\nreturn iprj\nend\nend\nerror(\"Could not find reference import project \" .. prj"
+ "path, 1)\nend\nfunction vstudio.cleansolution(sln)\npremake.clean.file(sln, \"%%.sln\")\npremake.clean.file(sln, \"%%.suo\")\npremake.clean.file(sln, \"%%.ncb\")\npremake.clean.file(sln, \"%%.userprefs\")\npremake.clean.file(sln, \"%%.usertasks\")\nend\nfunction vstudio.cleanproject(prj)\nlocal fname = premake.project.getfilename(prj, \"%%\")\nos.remove(fname .. \".vcproj\")\nos.remove(fname .. \".vcproj.user\")\nos.remove(fname .. \".vcxproj\")\nos.remove(fname .. \".vcxproj.user\")\nos.remove(fname .. \".vcxproj.filters\")\nos.remove(fname .. \".csproj\")\nos.remove(fname .. \".csproj.user\")\nos.remove(fname .. \".pidb\")\nos.remove(fname .. \".sdf\")\nend\nfunction vstudio.cleantarget(name)\nos.remove(name .. \".pdb\")\nos.remove(name .. \".idb\")\nos.remove(name .. \".ilk\")\nos.remove(name .. \".vshost.exe\")\nos.remove(name .. \".exe.manifest\")\nend\nfunction vstudio.projectfile(prj)\nlocal pattern\nif prj.language == \"C#\" then\npattern = \"%%.csproj\"\nelse\npattern = iif(_ACTION > \"vs2008\", \"%%."
+ "vcxproj\", \"%%.vcproj\")\nend\nlocal fname = premake.project.getbasename(prj.name, pattern)\nfname = path.join(prj.location, fname)\nreturn fname\nend\nfunction vstudio.tool(prj)\nif (prj.language == \"C#\") then\nreturn \"FAE04EC0-301F-11D3-BF4B-00C04F79EFBC\"\nelse\nreturn \"8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942\"\nend\nend\n",
/* actions/vstudio/vstudio_solution.lua */
"premake.vstudio.sln2005 = { }\nlocal vstudio = premake.vstudio\nlocal sln2005 = premake.vstudio.sln2005\nfunction sln2005.generate(sln)\nio.eol = '\\r\\n'\nsln.vstudio_configs = premake.vstudio.buildconfigs(sln)\npremake.vstudio.bakeimports(sln)\n_p('\\239\\187\\191')\nsln2005.reorderProjects(sln)\nsln2005.header(sln)\nfor grp in premake.solution.eachgroup(sln) do\nsln2005.group(grp)\nend\nfor prj in premake.solution.eachproject(sln) do\nsln2005.project(prj)\nend\n \nfor _,iprj in ipairs(sln.importedprojects) do\nsln2005.importproject(iprj)\nend\n_p('Global')\nsln2005.platforms(sln)\nsln2005.project_platforms(sln)\nsln2005.properties(sln)\nsln2005.project_groups(sln)\n_p('EndGlobal')\nend\nfunction sln2005.reorderProjects(sln)\nif sln.startproject then\nfor i, prj in ipairs(sln.projects) do\nif sln.startproject == prj.name then\nlocal cur = prj.group\nwhile cur ~= nil do\nfor j, group in ipairs(sln.groups) do\nif group == cur then\ntable.remove(sln.groups, j)\nbreak\nend\nend\ntable.insert(sln.groups, 1"
- ", cur)\ncur = cur.parent\nend\ntable.remove(sln.projects, i)\ntable.insert(sln.projects, 1, prj)\nbreak\nend\nend\nend\nend\nfunction sln2005.header(sln)\nlocal action = premake.action.current()\n_p('Microsoft Visual Studio Solution File, Format Version %d.00', action.vstudio.solutionVersion)\nif(_ACTION:sub(3) == \"2015\" or _ACTION:sub(3) == \"2017\" or _ACTION:sub(3) == \"llvm\") then\n_p('# Visual Studio %s', action.vstudio.toolsVersion:sub(1,2))\nelse\n_p('# Visual Studio %s', _ACTION:sub(3))\nend\nend\nfunction sln2005.project(prj)\nlocal projpath = path.translate(path.getrelative(prj.solution.location, vstudio.projectfile(prj)), \"\\\\\")\n_p('Project(\"{%s}\") = \"%s\", \"%s\", \"{%s}\"', vstudio.tool(prj), prj.name, projpath, prj.uuid)\nsln2005.projectdependencies(prj)\n_p('EndProject')\nend\nfunction sln2005.group(grp)\n_p('Project(\"{2150E333-8FDC-42A3-9474-1A3956D46DE8}\") = \"%s\", \"%s\", \"{%s}\"', grp.name, grp.name, grp.uuid)\n_p('EndProject')\nend\n \nfunction sln2005.importproject(iprj)"
- "\n_p('Project(\"{%s}\") = \"%s\", \"%s\", \"{%s}\"', vstudio.tool(iprj), path.getbasename(iprj.location), iprj.relpath, iprj.uuid)\n_p('EndProject')\nend\nfunction sln2005.projectdependencies(prj)\nlocal deps = premake.getdependencies(prj)\nif #deps > 0 then\n_p('\\tProjectSection(ProjectDependencies) = postProject')\nfor _, dep in ipairs(deps) do\n_p('\\t\\t{%s} = {%s}', dep.uuid, dep.uuid)\nend\n_p('\\tEndProjectSection')\nend\nend\nfunction sln2005.platforms(sln)\n_p('\\tGlobalSection(SolutionConfigurationPlatforms) = preSolution')\nfor _, cfg in ipairs(sln.vstudio_configs) do\n_p('\\t\\t%s = %s', cfg.name, cfg.name)\nend\n_p('\\tEndGlobalSection')\nend\nfunction sln2005.project_platform(prj, sln)\nfor _, cfg in ipairs(sln.vstudio_configs) do\nlocal mapped\nlocal buildfor\nif premake.isdotnetproject(prj) then\nbuildfor = \"x64\"\nmapped = \"Any CPU\"\nelseif prj.flags and prj.flags.Managed then\nmapped = \"x64\"\nelse\nif cfg.platform == \"Any CPU\" or cfg.platform == \"Mixed Platforms\" then\nmapped = sln."
- "vstudio_configs[3].platform\nelse\nmapped = cfg.platform\nend\nend\nlocal build_project = true\nif prj.solution ~= nil then\n build_project = premake.getconfig(prj, cfg.src_buildcfg, cfg.src_platform).build\nend\n_p('\\t\\t{%s}.%s.ActiveCfg = %s|%s', prj.uuid, cfg.name, cfg.buildcfg, mapped)\nif build_project then\n if mapped == cfg.platform or cfg.platform == \"Mixed Platforms\" or buildfor == cfg.platform then\n _p('\\t\\t{%s}.%s.Build.0 = %s|%s', prj.uuid, cfg.name, cfg.buildcfg, mapped)\n end\n if premake.vstudio.iswinrt() and prj.kind == \"WindowedApp\" then\n _p('\\t\\t{%s}.%s.Deploy.0 = %s|%s', prj.uuid, cfg.name, cfg.buildcfg, mapped)\n end\nend\nend\nend\nfunction sln2005.project_platforms(sln)\n_p('\\tGlobalSection(ProjectConfigurationPlatforms) = postSolution')\nfor prj in premake.solution.eachproject(sln) do\nsln2005.project_platform(prj, sln)\nend\nfor _,iprj in ipairs(sln.importedprojects) do\nsln2005.project_platform(iprj, sln)\nend\n_p('\\tEndGlobalSection')\nend\nfunc"
- "tion sln2005.properties(sln)\n_p('\\tGlobalSection(SolutionProperties) = preSolution')\n_p('\\t\\tHideSolutionNode = FALSE')\n_p('\\tEndGlobalSection')\nend\nfunction sln2005.project_groups(sln)\n_p('\\tGlobalSection(NestedProjects) = preSolution')\nfor grp in premake.solution.eachgroup(sln) do\nif grp.parent ~= nil then\n_p('\\t\\t{%s} = {%s}', grp.uuid, grp.parent.uuid)\nend\nend\nfor prj in premake.solution.eachproject(sln) do\nif prj.group ~= nil then\n_p('\\t\\t{%s} = {%s}', prj.uuid, prj.group.uuid)\nend\nend\nfor _,iprj in ipairs(sln.importedprojects) do\nif iprj.group ~= nil then\n_p('\\t\\t{%s} = {%s}', iprj.uuid, iprj.group.uuid)\nend\nend\n \n_p('\\tEndGlobalSection')\nend",
+ ", cur)\ncur = cur.parent\nend\ntable.remove(sln.projects, i)\ntable.insert(sln.projects, 1, prj)\nbreak\nend\nend\nend\nend\nfunction sln2005.header(sln)\nlocal action = premake.action.current()\n_p('Microsoft Visual Studio Solution File, Format Version %d.00', action.vstudio.solutionVersion)\nif(_ACTION:sub(3) == \"2015\" or _ACTION:sub(3) == \"2017\") then\n_p('# Visual Studio %s', action.vstudio.toolsVersion:sub(1,2))\nelse\n_p('# Visual Studio %s', _ACTION:sub(3))\nend\nend\nfunction sln2005.project(prj)\nlocal projpath = path.translate(path.getrelative(prj.solution.location, vstudio.projectfile(prj)), \"\\\\\")\n_p('Project(\"{%s}\") = \"%s\", \"%s\", \"{%s}\"', vstudio.tool(prj), prj.name, projpath, prj.uuid)\nsln2005.projectdependencies(prj)\n_p('EndProject')\nend\nfunction sln2005.group(grp)\n_p('Project(\"{2150E333-8FDC-42A3-9474-1A3956D46DE8}\") = \"%s\", \"%s\", \"{%s}\"', grp.name, grp.name, grp.uuid)\n_p('EndProject')\nend\n \nfunction sln2005.importproject(iprj)\n_p('Project(\"{%s}\") = \"%s"
+ "\", \"%s\", \"{%s}\"', vstudio.tool(iprj), path.getbasename(iprj.location), iprj.relpath, iprj.uuid)\n_p('EndProject')\nend\nfunction sln2005.projectdependencies(prj)\nlocal deps = premake.getdependencies(prj)\nif #deps > 0 then\n_p('\\tProjectSection(ProjectDependencies) = postProject')\nfor _, dep in ipairs(deps) do\n_p('\\t\\t{%s} = {%s}', dep.uuid, dep.uuid)\nend\n_p('\\tEndProjectSection')\nend\nend\nfunction sln2005.platforms(sln)\n_p('\\tGlobalSection(SolutionConfigurationPlatforms) = preSolution')\nfor _, cfg in ipairs(sln.vstudio_configs) do\n_p('\\t\\t%s = %s', cfg.name, cfg.name)\nend\n_p('\\tEndGlobalSection')\nend\nfunction sln2005.project_platform(prj, sln)\nfor _, cfg in ipairs(sln.vstudio_configs) do\nlocal mapped\nlocal buildfor\nif premake.isdotnetproject(prj) then\nbuildfor = \"x64\"\nmapped = \"Any CPU\"\nelseif prj.flags and prj.flags.Managed then\nmapped = \"x64\"\nelse\nif cfg.platform == \"Any CPU\" or cfg.platform == \"Mixed Platforms\" then\nmapped = sln.vstudio_configs[3].platform\ne"
+ "lse\nmapped = cfg.platform\nend\nend\nlocal build_project = true\nif prj.solution ~= nil then\n build_project = premake.getconfig(prj, cfg.src_buildcfg, cfg.src_platform).build\nend\n_p('\\t\\t{%s}.%s.ActiveCfg = %s|%s', prj.uuid, cfg.name, cfg.buildcfg, mapped)\nif build_project then\n if mapped == cfg.platform or cfg.platform == \"Mixed Platforms\" or buildfor == cfg.platform then\n _p('\\t\\t{%s}.%s.Build.0 = %s|%s', prj.uuid, cfg.name, cfg.buildcfg, mapped)\n end\n if premake.vstudio.iswinrt() and prj.kind == \"WindowedApp\" then\n _p('\\t\\t{%s}.%s.Deploy.0 = %s|%s', prj.uuid, cfg.name, cfg.buildcfg, mapped)\n end\nend\nend\nend\nfunction sln2005.project_platforms(sln)\n_p('\\tGlobalSection(ProjectConfigurationPlatforms) = postSolution')\nfor prj in premake.solution.eachproject(sln) do\nsln2005.project_platform(prj, sln)\nend\nfor _,iprj in ipairs(sln.importedprojects) do\nsln2005.project_platform(iprj, sln)\nend\n_p('\\tEndGlobalSection')\nend\nfunction sln2005.properties(sln)\n"
+ "_p('\\tGlobalSection(SolutionProperties) = preSolution')\n_p('\\t\\tHideSolutionNode = FALSE')\n_p('\\tEndGlobalSection')\nend\nfunction sln2005.project_groups(sln)\n_p('\\tGlobalSection(NestedProjects) = preSolution')\nfor grp in premake.solution.eachgroup(sln) do\nif grp.parent ~= nil then\n_p('\\t\\t{%s} = {%s}', grp.uuid, grp.parent.uuid)\nend\nend\nfor prj in premake.solution.eachproject(sln) do\nif prj.group ~= nil then\n_p('\\t\\t{%s} = {%s}', prj.uuid, prj.group.uuid)\nend\nend\nfor _,iprj in ipairs(sln.importedprojects) do\nif iprj.group ~= nil then\n_p('\\t\\t{%s} = {%s}', iprj.uuid, iprj.group.uuid)\nend\nend\n \n_p('\\tEndGlobalSection')\nend",
/* actions/vstudio/vstudio_vcxproj.lua */
"premake.vstudio.vc2010 = { }\nlocal vc2010 = premake.vstudio.vc2010\nlocal vstudio = premake.vstudio\nlocal function vs2010_config(prj)\n_p(1,'<ItemGroup Label=\"ProjectConfigurations\">')\nfor _, cfginfo in ipairs(prj.solution.vstudio_configs) do\n_p(2,'<ProjectConfiguration Include=\"%s\">', premake.esc(cfginfo.name))\n_p(3,'<Configuration>%s</Configuration>',cfginfo.buildcfg)\n_p(3,'<Platform>%s</Platform>',cfginfo.platform)\n_p(2,'</ProjectConfiguration>')\nend\n_p(1,'</ItemGroup>')\nend\nlocal function vs2010_globals(prj)\nlocal action = premake.action.current()\n_p(1,'<PropertyGroup Label=\"Globals\">')\n_p(2, '<ProjectGuid>{%s}</ProjectGuid>',prj.uuid)\n_p(2, '<RootNamespace>%s</RootNamespace>',prj.name)\nif vstudio.storeapp ~= \"durango\" then\nlocal windowsTargetPlatformVersion = prj.windowstargetplatformversion or action.vstudio.windowsTargetPlatformVersion\nif windowsTargetPlatformVersion ~= nil then\n_p(2,'<WindowsTargetPlatformVersion>%s</WindowsTargetPlatformVersion>',windowsTargetPlatformVersion"
")\nif windowsTargetPlatformVersion and string.startswith(windowsTargetPlatformVersion, \"10.\") then\n_p(2,'<WindowsTargetPlatformMinVersion>%s</WindowsTargetPlatformMinVersion>', prj.windowstargetplatformminversion or \"10.0.10240.0\")\nend\nend\nend\nif prj.flags and prj.flags.Managed then\nlocal frameworkVersion = prj.framework or \"4.0\"\n_p(2, '<TargetFrameworkVersion>v%s</TargetFrameworkVersion>', frameworkVersion)\n_p(2, '<Keyword>ManagedCProj</Keyword>')\nelseif vstudio.iswinrt() then\n_p(2, '<DefaultLanguage>en-US</DefaultLanguage>')\nif vstudio.storeapp == \"durango\" then\n_p(2, '<Keyword>Win32Proj</Keyword>')\n_p(2, '<ApplicationEnvironment>title</ApplicationEnvironment>')\n_p(2, '<MinimumVisualStudioVersion>14.0</MinimumVisualStudioVersion>')\n_p(2, '<TargetRuntime>Native</TargetRuntime>')\nelse\n_p(2, '<AppContainerApplication>true</AppContainerApplication>')\n_p(2, '<MinimumVisualStudioVersion>12.0</MinimumVisualStudioVersion>')\nif vstudio.toolset == \"v120_wp81\" then\n_p(2, '<ApplicationType>"
- "Windows Phone</ApplicationType>')\nelse\n_p(2, '<ApplicationType>Windows Store</ApplicationType>')\nend\n_p(2, '<ApplicationTypeRevision>%s</ApplicationTypeRevision>', vstudio.storeapp)\nend\nelse\n_p(2, '<Keyword>Win32Proj</Keyword>')\nend\nif _ACTION:sub(3) == \"2015\" or _ACTION:sub(3) == \"2017\" or _ACTION:sub(3) == \"llvm\" then\n_p(2,'<PreferredToolArchitecture>x64</PreferredToolArchitecture>')\nend\nif (_ACTION:sub(3) == \"2017\" or _ACTION:sub(3) == \"llvm\")\nand os.isdir(path.join(os.getenv(\"VSINSTALLDIR\"), \"VC/Tools/MSVC/14.14.26428\")) then\n_p(2,'<VCToolsVersion>14.14.26428</VCToolsVersion>')\nend\n_p(1,'</PropertyGroup>')\nend\nfunction vc2010.config_type(config)\nlocal t =\n{\nSharedLib = \"DynamicLibrary\",\nStaticLib = \"StaticLibrary\",\nConsoleApp = \"Application\",\nWindowedApp = \"Application\"\n}\nreturn t[config.kind]\nend\nlocal function if_config_and_platform()\nreturn 'Condition=\"\\'$(Configuration)|$(Platform)\\'==\\'%s\\'\"'\nend\nlocal function optimisation(cfg)\nlocal result "
- "= \"Disabled\"\nfor _, value in ipairs(cfg.flags) do\nif (value == \"Optimize\") then\nresult = \"Full\"\nelseif (value == \"OptimizeSize\") then\nresult = \"MinSpace\"\nelseif (value == \"OptimizeSpeed\") then\nresult = \"MaxSpeed\"\nend\nend\nreturn result\nend\nfunction vc2010.configurationPropertyGroup(cfg, cfginfo)\n_p(1,'<PropertyGroup '..if_config_and_platform() ..' Label=\"Configuration\">'\n, premake.esc(cfginfo.name))\n_p(2,'<ConfigurationType>%s</ConfigurationType>',vc2010.config_type(cfg))\n_p(2,'<UseDebugLibraries>%s</UseDebugLibraries>', iif(optimisation(cfg) == \"Disabled\",\"true\",\"false\"))\n_p(2,'<PlatformToolset>%s</PlatformToolset>', premake.vstudio.toolset)\nif cfg.flags.MFC then\n_p(2,'<UseOfMfc>%s</UseOfMfc>', iif(cfg.flags.StaticRuntime, \"Static\", \"Dynamic\"))\nend\nif cfg.flags.ATL or cfg.flags.StaticATL then\n_p(2,'<UseOfAtl>%s</UseOfAtl>', iif(cfg.flags.StaticATL, \"Static\", \"Dynamic\"))\nend\nif cfg.flags.Unicode then\n_p(2,'<CharacterSet>Unicode</CharacterSet>')\nend\nif cfg"
- ".flags.Managed then\n_p(2,'<CLRSupport>true</CLRSupport>')\nend\n_p(1,'</PropertyGroup>')\nend\nlocal function import_props(prj)\nfor _, cfginfo in ipairs(prj.solution.vstudio_configs) do\nlocal cfg = premake.getconfig(prj, cfginfo.src_buildcfg, cfginfo.src_platform)\n_p(1,'<ImportGroup '..if_config_and_platform() ..' Label=\"PropertySheets\">'\n,premake.esc(cfginfo.name))\n_p(2,'<Import Project=\"$(UserRootDir)\\\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists(\\'$(UserRootDir)\\\\Microsoft.Cpp.$(Platform).user.props\\')\" Label=\"LocalAppDataPlatform\" />')\nif #cfg.propertysheets > 0 then\nlocal dirs = cfg.propertysheets\nfor _, dir in ipairs(dirs) do\n_p(2,'<Import Project=\"%s\" />', path.translate(dir))\nend\nend\n_p(1,'</ImportGroup>')\nend\nend\nlocal function add_trailing_backslash(dir)\nif dir:len() > 0 and dir:sub(-1) ~= \"\\\\\" then\nreturn dir..\"\\\\\"\nend\nreturn dir\nend\nfunction vc2010.outputProperties(prj)\nfor _, cfginfo in ipairs(prj.solution.vstudio_configs) do\nlocal cfg = p"
- "remake.getconfig(prj, cfginfo.src_buildcfg, cfginfo.src_platform)\nlocal target = cfg.buildtarget\nlocal outdir = add_trailing_backslash(target.directory)\nlocal intdir = add_trailing_backslash(iif(action.vstudio.intDirAbsolute\n, path.translate(\n path.join(prj.solution.location, cfg.objectsdir)\n, '\\\\')\n, cfg.objectsdir\n))\n_p(1,'<PropertyGroup '..if_config_and_platform() ..'>', premake.esc(cfginfo.name))\n_p(2,'<OutDir>%s</OutDir>', iif(outdir:len() > 0, premake.esc(outdir), \".\\\\\"))\nif cfg.platform == \"Xbox360\" then\n_p(2,'<OutputFile>$(OutDir)%s</OutputFile>', premake.esc(target.name))\nend\n_p(2,'<IntDir>%s</IntDir>', premake.esc(intdir))\n_p(2,'<TargetName>%s</TargetName>', premake.esc(path.getbasename(target.name)))\n_p(2,'<TargetExt>%s</TargetExt>', premake.esc(path.getextension(target.name)))\nif cfg.kind == \"SharedLib\" then\nlocal ignore = (cfg.flags.NoImportLib ~= nil)\n_p(2,'<IgnoreImportLibrary>%s</IgnoreImportLibrary>', tostring(ignore))\nend\nif cfg.platform == \"Durango\" then\n_p"
- "(2, '<ReferencePath>$(Console_SdkLibPath);$(Console_SdkWindowsMetadataPath)</ReferencePath>')\n_p(2, '<LibraryPath>$(Console_SdkLibPath)</LibraryPath>')\n_p(2, '<LibraryWPath>$(Console_SdkLibPath);$(Console_SdkWindowsMetadataPath)</LibraryWPath>')\n_p(2, '<IncludePath>$(Console_SdkIncludeRoot)</IncludePath>')\n_p(2, '<ExecutablePath>$(Console_SdkRoot)bin;$(VCInstallDir)bin\\\\x86_amd64;$(VCInstallDir)bin;$(WindowsSDK_ExecutablePath_x86);$(VSInstallDir)Common7\\\\Tools\\\\bin;$(VSInstallDir)Common7\\\\tools;$(VSInstallDir)Common7\\\\ide;$(ProgramFiles)\\\\HTML Help Workshop;$(MSBuildToolsPath32);$(FxCopDir);$(PATH);</ExecutablePath>')\nif cfg.imagepath then\n_p(2, '<LayoutDir>%s</LayoutDir>', cfg.imagepath)\nelse\n_p(2, '<LayoutDir>%s</LayoutDir>', prj.name)\nend\nif cfg.pullmappingfile ~= nil then\n_p(2,'<PullMappingFile>%s</PullMappingFile>', premake.esc(cfg.pullmappingfile))\nend\n_p(2, '<LayoutExtensionFilter>*.pdb;*.ilk;*.exp;*.lib;*.winmd;*.appxrecipe;*.pri;*.idb</LayoutExtensionFilter>')\n_p(2, '<Isolate"
- "ConfigurationsOnDeploy>true</IsolateConfigurationsOnDeploy>')\nend\nif cfg.kind ~= \"StaticLib\" then\n_p(2,'<LinkIncremental>%s</LinkIncremental>', tostring(premake.config.isincrementallink(cfg)))\nend\nif cfg.flags.NoManifest then\n_p(2,'<GenerateManifest>false</GenerateManifest>')\nend\n_p(1,'</PropertyGroup>')\nend\nend\nlocal function runtime(cfg)\nlocal runtime\nlocal flags = cfg.flags\nif premake.config.isdebugbuild(cfg) then\nruntime = iif(flags.StaticRuntime and not flags.Managed, \"MultiThreadedDebug\", \"MultiThreadedDebugDLL\")\nelse\nruntime = iif(flags.StaticRuntime and not flags.Managed, \"MultiThreaded\", \"MultiThreadedDLL\")\nend\nreturn runtime\nend\nlocal function precompiled_header(cfg)\n if not cfg.flags.NoPCH and cfg.pchheader then\n_p(3,'<PrecompiledHeader>Use</PrecompiledHeader>')\n_p(3,'<PrecompiledHeaderFile>%s</PrecompiledHeaderFile>', cfg.pchheader)\nelse\n_p(3,'<PrecompiledHeader></PrecompiledHeader>')\nend\nend\nlocal function preprocessor(indent,cfg)\nif #cfg.defines > 0 th"
- "en\n_p(indent,'<PreprocessorDefinitions>%s;%%(PreprocessorDefinitions)</PreprocessorDefinitions>'\n,premake.esc(table.concat(cfg.defines, \";\")))\nelse\n_p(indent,'<PreprocessorDefinitions></PreprocessorDefinitions>')\nend\nend\nlocal function include_dirs(indent,cfg)\nlocal includedirs = table.join(cfg.userincludedirs, cfg.includedirs)\nif #includedirs> 0 then\n_p(indent,'<AdditionalIncludeDirectories>%s;%%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>'\n,premake.esc(path.translate(table.concat(includedirs, \";\"), '\\\\')))\nend\nend\nlocal function using_dirs(indent,cfg)\nif #cfg.usingdirs > 0 then\n_p(indent,'<AdditionalUsingDirectories>%s;%%(AdditionalUsingDirectories)</AdditionalUsingDirectories>'\n,premake.esc(path.translate(table.concat(cfg.usingdirs, \";\"), '\\\\')))\nend\nend\nlocal function resource_compile(cfg)\n_p(2,'<ResourceCompile>')\npreprocessor(3,cfg)\ninclude_dirs(3,cfg)\n_p(2,'</ResourceCompile>')\nend\nlocal function exceptions(cfg)\nif cfg.flags.NoExceptions then\n_p(3, "
- "'<ExceptionHandling>false</ExceptionHandling>')\nelseif cfg.flags.SEH then\n_p(3, '<ExceptionHandling>Async</ExceptionHandling>')\nend\nend\nlocal function rtti(cfg)\nif cfg.flags.NoRTTI and not cfg.flags.Managed then\n_p(3,'<RuntimeTypeInfo>false</RuntimeTypeInfo>')\nend\nend\nlocal function calling_convention(cfg)\nif cfg.flags.FastCall then\n_p(3,'<CallingConvention>FastCall</CallingConvention>')\nelseif cfg.flags.StdCall then\n_p(3,'<CallingConvention>StdCall</CallingConvention>')\nend\nend\nlocal function wchar_t_builtin(cfg)\nif cfg.flags.NativeWChar then\n_p(3,'<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>')\nelseif cfg.flags.NoNativeWChar then\n_p(3,'<TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>')\nend\nend\nlocal function sse(cfg)\nif cfg.flags.EnableSSE then\n_p(3, '<EnableEnhancedInstructionSet>StreamingSIMDExtensions</EnableEnhancedInstructionSet>')\nelseif cfg.flags.EnableSSE2 then\n_p(3, '<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructio"
- "nSet>')\nelseif cfg.flags.EnableAVX then\n_p(3, '<EnableEnhancedInstructionSet>AdvancedVectorExtensions</EnableEnhancedInstructionSet>')\nelseif cfg.flags.EnableAVX2 then\n_p(3, '<EnableEnhancedInstructionSet>AdvancedVectorExtensions2</EnableEnhancedInstructionSet>')\nend\nend\nlocal function floating_point(cfg)\n if cfg.flags.FloatFast then\n_p(3,'<FloatingPointModel>Fast</FloatingPointModel>')\nelseif cfg.flags.FloatStrict and not cfg.flags.Managed then\n_p(3,'<FloatingPointModel>Strict</FloatingPointModel>')\nend\nend\nlocal function debug_info(cfg)\nlocal debug_info = ''\nif cfg.flags.Symbols then\nif cfg.flags.C7DebugInfo then\ndebug_info = \"OldStyle\"\nelseif (action.vstudio.supports64bitEditContinue == false and cfg.platform == \"x64\")\nor cfg.flags.Managed\nor premake.config.isoptimizedbuild(cfg.flags)\nor cfg.flags.NoEditAndContinue\nthen\ndebug_info = \"ProgramDatabase\"\nelse\ndebug_info = \"EditAndContinue\"\nend\nend\n_p(3,'<DebugInformationFormat>%s</DebugInformationFormat>',debug_info)\nen"
- "d\nlocal function minimal_build(cfg)\nif premake.config.isdebugbuild(cfg) and cfg.flags.EnableMinimalRebuild then\n_p(3,'<MinimalRebuild>true</MinimalRebuild>')\nelse\n_p(3,'<MinimalRebuild>false</MinimalRebuild>')\nend\nend\nlocal function compile_language(cfg)\nif cfg.options.ForceCPP then\n_p(3,'<CompileAs>CompileAsCpp</CompileAs>')\nelse\nif cfg.language == \"C\" then\n_p(3,'<CompileAs>CompileAsC</CompileAs>')\nend\nend\nend\nlocal function forcedinclude_files(indent,cfg)\nif #cfg.forcedincludes > 0 then\n_p(indent,'<ForcedIncludeFiles>%s</ForcedIncludeFiles>'\n,premake.esc(path.translate(table.concat(cfg.forcedincludes, \";\"), '\\\\')))\nend\nend\nlocal function vs10_clcompile(cfg)\n_p(2,'<ClCompile>')\nlocal unsignedChar = \"/J \"\nlocal buildoptions = cfg.buildoptions\nif cfg.platform == \"Orbis\" then\nunsignedChar = \"-funsigned-char \";\n_p(3,'<GenerateDebugInformation>%s</GenerateDebugInformation>', tostring(cfg.flags.Symbols ~= nil))\nend\nif cfg.language == \"C\" and not cfg.options.ForceCPP then"
- "\nbuildoptions = table.join(buildoptions, cfg.buildoptions_c)\nelse\nbuildoptions = table.join(buildoptions, cfg.buildoptions_cpp)\nend\n_p(3,'<AdditionalOptions>%s %s%%(AdditionalOptions)</AdditionalOptions>'\n, table.concat(premake.esc(buildoptions), \" \")\n, iif(cfg.flags.UnsignedChar, unsignedChar, \" \")\n)\n_p(3,'<Optimization>%s</Optimization>',optimisation(cfg))\ninclude_dirs(3, cfg)\nusing_dirs(3, cfg)\npreprocessor(3, cfg)\nminimal_build(cfg)\nif not premake.config.isoptimizedbuild(cfg.flags) then\nif not cfg.flags.Managed then\n_p(3, '<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>')\nend\nif cfg.flags.ExtraWarnings then\nend\nelse\n_p(3, '<StringPooling>true</StringPooling>')\nend\nif cfg.platform == \"Durango\" or cfg.flags.NoWinRT then\n_p(3, '<CompileAsWinRT>false</CompileAsWinRT>')\nend\n_p(3, '<RuntimeLibrary>%s</RuntimeLibrary>', runtime(cfg))\nif cfg.flags.NoBufferSecurityCheck then\n_p(3, '<BufferSecurityCheck>false</BufferSecurityCheck>')\nend\n_p(3,'<FunctionLevelLinking>true<"
- "/FunctionLevelLinking>')\nif not cfg.flags.NoMultiProcessorCompilation and not cfg.flags.EnableMinimalRebuild then\n_p(3, '<MultiProcessorCompilation>true</MultiProcessorCompilation>')\nelse\n_p(3, '<MultiProcessorCompilation>false</MultiProcessorCompilation>')\nend\nprecompiled_header(cfg)\nif cfg.flags.PedanticWarnings then\n_p(3, '<WarningLevel>EnableAllWarnings</WarningLevel>')\nelseif cfg.flags.ExtraWarnings then\n_p(3, '<WarningLevel>Level4</WarningLevel>')\nelseif cfg.flags.MinimumWarnings then\n_p(3, '<WarningLevel>Level1</WarningLevel>')\nelse\n_p(3 ,'<WarningLevel>Level3</WarningLevel>')\nend\nif cfg.flags.FatalWarnings then\n_p(3, '<TreatWarningAsError>true</TreatWarningAsError>')\nend\nexceptions(cfg)\nrtti(cfg)\ncalling_convention(cfg)\nwchar_t_builtin(cfg)\nsse(cfg)\nfloating_point(cfg)\ndebug_info(cfg)\nif _ACTION:sub(3) == \"llvm\" then\n_p(3,'<SupportJustMyCode>false</SupportJustMyCode>')\nend\nif cfg.flags.Symbols\nand _ACTION:sub(3) ~= \"2017\" and _ACTION:sub(3) ~= \"llvm\"\nthen\n_p(3, '<"
- "ProgramDataBaseFileName>$(OutDir)%s.pdb</ProgramDataBaseFileName>'\n, path.getbasename(cfg.buildtarget.name)\n)\nend\nif cfg.flags.NoFramePointer then\n_p(3, '<OmitFramePointers>true</OmitFramePointers>')\nend\nif cfg.flags.UseFullPaths then\n_p(3, '<UseFullPaths>true</UseFullPaths>')\nend\ncompile_language(cfg)\nforcedinclude_files(3,cfg);\n_p(2,'</ClCompile>')\nend\nlocal function event_hooks(cfg)\nif #cfg.postbuildcommands> 0 then\n _p(2,'<PostBuildEvent>')\n_p(3,'<Command>%s</Command>',premake.esc(table.implode(cfg.postbuildcommands, \"\", \"\", \"\\r\\n\")))\n_p(2,'</PostBuildEvent>')\nend\nif #cfg.prebuildcommands> 0 then\n _p(2,'<PreBuildEvent>')\n_p(3,'<Command>%s</Command>',premake.esc(table.implode(cfg.prebuildcommands, \"\", \"\", \"\\r\\n\")))\n_p(2,'</PreBuildEvent>')\nend\nif #cfg.prelinkcommands> 0 then\n _p(2,'<PreLinkEvent>')\n_p(3,'<Command>%s</Command>',premake.esc(table.implode(cfg.prelinkcommands, \"\", \"\", \"\\r\\n\")))\n_p(2,'</PreLinkEvent>')\nend\nend\nlocal function additio"
- "nal_options(indent,cfg)\nif #cfg.linkoptions > 0 then\n_p(indent,'<AdditionalOptions>%s %%(AdditionalOptions)</AdditionalOptions>',\ntable.concat(premake.esc(cfg.linkoptions), \" \"))\nend\nend\nlocal function link_target_machine(index,cfg)\nlocal platforms = {x32 = 'MachineX86', x64 = 'MachineX64'}\nif platforms[cfg.platform] then\n_p(index,'<TargetMachine>%s</TargetMachine>', platforms[cfg.platform])\nend\nend\nlocal function item_def_lib(prj, cfg)\nif cfg.kind == 'StaticLib' and cfg.platform ~= \"Xbox360\" then\n_p(1,'<Lib>')\n_p(2,'<OutputFile>$(OutDir)%s</OutputFile>',cfg.buildtarget.name)\nadditional_options(2,cfg)\nlink_target_machine(2,cfg)\nif _ACTION:sub(3) == \"llvm\" and prj.name == \"portaudio\" then -- MSVC-LLVM needs special help\n_p(3,'<AdditionalDependencies>ksuser.lib;%%(AdditionalDependencies)</AdditionalDependencies>')\nend\n_p(1,'</Lib>')\nend\nend\nlocal function import_lib(cfg)\nif cfg.kind == \"SharedLib\" then\nlocal implibname = cfg.linktarget.fullpath\n_p(3,'<ImportLibrary>%s</Import"
- "Library>',iif(cfg.flags.NoImportLib, cfg.objectsdir .. \"\\\\\" .. path.getname(implibname), implibname))\nend\nend\nlocal function hasmasmfiles(prj)\nlocal files = vc2010.getfilegroup(prj, \"MASM\")\nreturn #files > 0\nend\nlocal function vs10_masm(prj, cfg)\nif hasmasmfiles(prj) then\n_p(2, '<MASM>')\n_p(3,'<AdditionalOptions>%s %%(AdditionalOptions)</AdditionalOptions>'\n, table.concat(premake.esc(table.join(cfg.buildoptions, cfg.buildoptions_asm)), \" \")\n)\nlocal includedirs = table.join(cfg.userincludedirs, cfg.includedirs)\nif #includedirs > 0 then\n_p(3, '<IncludePaths>%s;%%(IncludePaths)</IncludePaths>'\n, premake.esc(path.translate(table.concat(includedirs, \";\"), '\\\\'))\n)\nend\nlocal defines = table.join(cfg.defines)\ntable.insertflat(defines, iif(premake.config.isdebugbuild(cfg), \"_DEBUG\", {}))\ntable.insert(defines, iif(cfg.platform == \"x64\", \"_WIN64\", \"_WIN32\"))\ntable.insert(defines, iif(prj.kind == \"SharedLib\", \"_EXPORT=EXPORT\", \"_EXPORT=\"))\n_p(3, '<PreprocessorDefinitions>%"
- "s;%%(PreprocessorDefinitions)</PreprocessorDefinitions>'\n, premake.esc(table.concat(defines, \";\"))\n)\nif cfg.flags.FatalWarnings then\n_p(3,'<TreatWarningsAsErrors>true</TreatWarningsAsErrors>')\nend\nif cfg.flags.MinimumWarnings then\n_p(3,'<WarningLevel>0</WarningLevel>')\nelse\n_p(3,'<WarningLevel>3</WarningLevel>')\nend\n_p(2, '</MASM>')\nend\nend\nfunction vc2010.link(cfg)\n_p(2,'<Link>')\n_p(3,'<SubSystem>%s</SubSystem>', iif(cfg.kind == \"ConsoleApp\", \"Console\", \"Windows\"))\n_p(3,'<GenerateDebugInformation>%s</GenerateDebugInformation>',\niif(cfg.flags.Symbols ~= nil, iif(_ACTION:sub(3) ~= \"llvm\", \"true\", \"DebugFull\"), \"false\")\n)\nif cfg.flags.Symbols\nand (_ACTION:sub(3) == \"2017\" or _ACTION:sub(3) == \"llvm\")\nthen\n_p(3, '<ProgramDataBaseFileName>$(OutDir)%s.pdb</ProgramDataBaseFileName>'\n, path.getbasename(cfg.buildtarget.name)\n)\nend\nif premake.config.isoptimizedbuild(cfg.flags) then\n_p(3,'<EnableCOMDATFolding>true</EnableCOMDATFolding>')\n_p(3,'<OptimizeReferences>true</O"
- "ptimizeReferences>')\nend\nif cfg.kind ~= 'StaticLib' then\nvc2010.additionalDependencies(3,cfg)\n_p(3,'<OutputFile>$(OutDir)%s</OutputFile>', cfg.buildtarget.name)\nif #cfg.libdirs > 0 then\n_p(3,'<AdditionalLibraryDirectories>%s;%%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>'\n, premake.esc(path.translate(table.concat(cfg.libdirs, ';'), '\\\\'))\n)\nend\nif vc2010.config_type(cfg) == 'Application' and not cfg.flags.WinMain and not cfg.flags.Managed then\nif cfg.flags.Unicode then\n_p(3,'<EntryPointSymbol>wmainCRTStartup</EntryPointSymbol>')\nelse\n_p(3,'<EntryPointSymbol>mainCRTStartup</EntryPointSymbol>')\nend\nend\nimport_lib(cfg)\nlocal deffile = premake.findfile(cfg, \".def\")\nif deffile then\n_p(3,'<ModuleDefinitionFile>%s</ModuleDefinitionFile>', deffile)\nend\nlink_target_machine(3,cfg)\nadditional_options(3,cfg)\nif cfg.flags.NoWinMD and vstudio.iswinrt() and prj.kind == \"WindowedApp\" then\n_p(3,'<GenerateWindowsMetadata>false</GenerateWindowsMetadata>' )\nend\nend\n_p(2,'</Link>'"
- ")\nend\nfunction vc2010.additionalDependencies(tab,cfg)\nlocal links = premake.getlinks(cfg, \"system\", \"fullpath\")\nif #links > 0 then\nlocal deps = \"\"\nif cfg.platform == \"Orbis\" then\nfor _, v in ipairs(links) do\ndeps = deps .. \"-l\" .. v .. \";\"\nend\nelse\ndeps = table.concat(links, \";\")\nend\n_p(tab, '<AdditionalDependencies>%s;%s</AdditionalDependencies>'\n, deps\n, iif(cfg.platform == \"Durango\"\n, '%(XboxExtensionsDependencies)'\n, '%(AdditionalDependencies)'\n)\n)\nelseif cfg.platform == \"Durango\" then\n_p(tab, '<AdditionalDependencies>%%(XboxExtensionsDependencies)</AdditionalDependencies>')\nend\nend\nlocal function item_definitions(prj)\nfor _, cfginfo in ipairs(prj.solution.vstudio_configs) do\nlocal cfg = premake.getconfig(prj, cfginfo.src_buildcfg, cfginfo.src_platform)\n_p(1,'<ItemDefinitionGroup ' ..if_config_and_platform() ..'>'\n,premake.esc(cfginfo.name))\nvs10_clcompile(cfg)\nresource_compile(cfg)\nitem_def_lib(prj, cfg)\nvc2010.link(cfg)\nevent_hooks(cfg)\nvs10_masm(prj, c"
- "fg)\n_p(1,'</ItemDefinitionGroup>')\nend\nend\nfunction vc2010.getfilegroup(prj, group)\nlocal sortedfiles = prj.vc2010sortedfiles\nif not sortedfiles then\nsortedfiles = {\nClCompile = {},\nClInclude = {},\nMASM = {},\nNone = {},\nResourceCompile = {},\nAppxManifest = {},\nNatvis = {},\nImage = {},\nDeploymentContent = {}\n}\nlocal foundAppxManifest = false\nfor file in premake.project.eachfile(prj, true) do\nif path.issourcefilevs(file.name) then\ntable.insert(sortedfiles.ClCompile, file)\nelseif path.iscppheader(file.name) then\nif not table.icontains(prj.removefiles, file) then\ntable.insert(sortedfiles.ClInclude, file)\nend\nelseif path.isresourcefile(file.name) then\ntable.insert(sortedfiles.ResourceCompile, file)\nelseif path.isimagefile(file.name) then\ntable.insert(sortedfiles.Image, file)\nelseif path.isappxmanifest(file.name) then\nfoundAppxManifest = true\ntable.insert(sortedfiles.AppxManifest, file)\nelseif path.isnatvis(file.name) then\ntable.insert(sortedfiles.Natvis, file)\nelseif path.isasmfil"
- "e(file.name) then\ntable.insert(sortedfiles.MASM, file)\nelseif file.flags and table.icontains(file.flags, \"DeploymentContent\") then\ntable.insert(sortedfiles.DeploymentContent, file)\nelse\ntable.insert(sortedfiles.None, file)\nend\nend\nif vstudio.iswinrt() and prj.kind == \"WindowedApp\" and not foundAppxManifest then\nvstudio.needAppxManifest = true\nlocal fcfg = {}\nfcfg.name = prj.name .. \"/Package.appxmanifest\"\nfcfg.vpath = premake.project.getvpath(prj, fcfg.name)\ntable.insert(sortedfiles.AppxManifest, fcfg)\nlocal logo = {}\nlogo.name = prj.name .. \"/Logo.png\"\nlogo.vpath = logo.name\ntable.insert(sortedfiles.Image, logo)\nlocal smallLogo = {}\nsmallLogo.name = prj.name .. \"/SmallLogo.png\"\nsmallLogo.vpath = smallLogo.name\ntable.insert(sortedfiles.Image, smallLogo)\nlocal storeLogo = {}\nstoreLogo.name = prj.name .. \"/StoreLogo.png\"\nstoreLogo.vpath = storeLogo.name\ntable.insert(sortedfiles.Image, storeLogo)\nlocal splashScreen = {}\nsplashScreen.name = prj.name .. \"/SplashScreen.png"
- "\"\nsplashScreen.vpath = splashScreen.name\ntable.insert(sortedfiles.Image, splashScreen)\nend\nprj.vc2010sortedfiles = sortedfiles\nend\nreturn sortedfiles[group]\nend\nfunction vc2010.files(prj)\nvc2010.simplefilesgroup(prj, \"ClInclude\")\nvc2010.compilerfilesgroup(prj)\nvc2010.simplefilesgroup(prj, \"None\")\nvc2010.customtaskgroup(prj)\nvc2010.simplefilesgroup(prj, \"ResourceCompile\")\nvc2010.simplefilesgroup(prj, \"AppxManifest\")\nvc2010.simplefilesgroup(prj, \"Natvis\")\nvc2010.deploymentcontentgroup(prj, \"Image\")\nvc2010.deploymentcontentgroup(prj, \"DeploymentContent\", \"None\")\nend\nfunction vc2010.customtaskgroup(prj)\nlocal files = { }\nfor _, custombuildtask in ipairs(prj.custombuildtask or {}) do\nfor _, buildtask in ipairs(custombuildtask or {}) do\nlocal fcfg = { }\nfcfg.name = path.getrelative(prj.location,buildtask[1])\nfcfg.vpath = path.trimdots(fcfg.name)\ntable.insert(files, fcfg)\nend\nend\nif #files > 0 then\n_p(1,'<ItemGroup>')\nlocal groupedBuildTasks = {}\nfor _, custombuildtas"
- "k in ipairs(prj.custombuildtask or {}) do\nfor _, buildtask in ipairs(custombuildtask or {}) do\nif (groupedBuildTasks[buildtask[1]] == nil) then\ngroupedBuildTasks[buildtask[1]] = {}\nend\ntable.insert(groupedBuildTasks[buildtask[1]], buildtask)\nend\nend\nfor name, custombuildtask in pairs(groupedBuildTasks or {}) do\n_p(2,'<CustomBuild Include=\\\"%s\\\">', path.translate(path.getrelative(prj.location,name), \"\\\\\"))\n_p(3,'<FileType>Text</FileType>')\nlocal cmd = \"\"\nlocal outputs = \"\"\nfor _, buildtask in ipairs(custombuildtask or {}) do\nfor _, cmdline in ipairs(buildtask[4] or {}) do\ncmd = cmd .. cmdline\nlocal num = 1\nfor _, depdata in ipairs(buildtask[3] or {}) do\ncmd = string.gsub(cmd,\"%$%(\" .. num ..\"%)\", string.format(\"%s \",path.getrelative(prj.location,depdata)))\nnum = num + 1\nend\ncmd = string.gsub(cmd, \"%$%(<%)\", string.format(\"%s \",path.getrelative(prj.location,buildtask[1])))\ncmd = string.gsub(cmd, \"%$%(@%)\", string.format(\"%s \",path.getrelative(prj.location,buildtask"
- "[2])))\ncmd = cmd .. \"\\r\\n\"\nend\noutputs = outputs .. path.getrelative(prj.location,buildtask[2]) .. \";\"\nend\n_p(3,'<Command>%s</Command>',cmd)\n_p(3,'<Outputs>%s%%(Outputs)</Outputs>',outputs)\n_p(3,'<SubType>Designer</SubType>')\n_p(3,'<Message></Message>')\n_p(2,'</CustomBuild>')\nend\n_p(1,'</ItemGroup>')\nend\nend\nfunction vc2010.simplefilesgroup(prj, section, subtype)\nlocal files = vc2010.getfilegroup(prj, section)\nif #files > 0 then\n_p(1,'<ItemGroup>')\nfor _, file in ipairs(files) do\nif subtype then\n_p(2,'<%s Include=\\\"%s\\\">', section, path.translate(file.name, \"\\\\\"))\n_p(3,'<SubType>%s</SubType>', subtype)\n_p(2,'</%s>', section)\nelse\n_p(2,'<%s Include=\\\"%s\\\" />', section, path.translate(file.name, \"\\\\\"))\nend\nend\n_p(1,'</ItemGroup>')\nend\nend\nfunction vc2010.deploymentcontentgroup(prj, section, filetype)\nif filetype == nil then\nfiletype = section\nend\nlocal files = vc2010.getfilegroup(prj, section)\nif #files > 0 then\n_p(1,'<ItemGroup>')\nfor _, file in ipair"
- "s(files) do\n_p(2,'<%s Include=\\\"%s\\\">', filetype, path.translate(file.name, \"\\\\\"))\n_p(3,'<DeploymentContent>true</DeploymentContent>')\n_p(3,'<Link>%s</Link>', path.translate(file.vpath, \"\\\\\"))\n_p(2,'</%s>', filetype)\nend\n_p(1,'</ItemGroup>')\nend\nend\nfunction vc2010.compilerfilesgroup(prj)\nlocal configs = prj.solution.vstudio_configs\nlocal files = vc2010.getfilegroup(prj, \"ClCompile\")\nif #files > 0 then\nlocal config_mappings = {}\nfor _, cfginfo in ipairs(configs) do\nlocal cfg = premake.getconfig(prj, cfginfo.src_buildcfg, cfginfo.src_platform)\nif cfg.pchheader and cfg.pchsource and not cfg.flags.NoPCH then\nconfig_mappings[cfginfo] = path.translate(cfg.pchsource, \"\\\\\")\nend\nend\n_p(1,'<ItemGroup>')\nfor _, file in ipairs(files) do\nlocal translatedpath = path.translate(file.name, \"\\\\\")\n_p(2, '<ClCompile Include=\\\"%s\\\">', translatedpath)\n_p(3, '<ObjectFileName>$(IntDir)%s\\\\</ObjectFileName>'\n, premake.esc(path.translate(path.trimdots(path.getdirectory(file.name)))"
- ")\n)\nif path.iscxfile(file.name) then\n_p(3, '<CompileAsWinRT>true</CompileAsWinRT>')\n_p(3, '<RuntimeTypeInfo>true</RuntimeTypeInfo>')\n_p(3, '<PrecompiledHeader>NotUsing</PrecompiledHeader>')\nend\nif vstudio.iswinrt() and string.len(file.name) > 2 and string.sub(file.name, -2) == \".c\" then\n_p(3,'<CompileAsWinRT>FALSE</CompileAsWinRT>')\nend\nfor _, cfginfo in ipairs(configs) do\nif config_mappings[cfginfo] and translatedpath == config_mappings[cfginfo] then\n_p(3,'<PrecompiledHeader '.. if_config_and_platform() .. '>Create</PrecompiledHeader>', premake.esc(cfginfo.name))\nconfig_mappings[cfginfo] = nil --only one source file per pch\nend\nend\nlocal nopch = table.icontains(prj.nopch, file.name)\nfor _, vsconfig in ipairs(configs) do\nlocal cfg = premake.getconfig(prj, vsconfig.src_buildcfg, vsconfig.src_platform)\nif nopch or table.icontains(cfg.nopch, file.name) then\n_p(3,'<PrecompiledHeader '.. if_config_and_platform() .. '>NotUsing</PrecompiledHeader>', premake.esc(vsconfig.name))\nend\nend\nlocal "
- "excluded = table.icontains(prj.excludes, file.name)\nfor _, vsconfig in ipairs(configs) do\nlocal cfg = premake.getconfig(prj, vsconfig.src_buildcfg, vsconfig.src_platform)\nlocal fileincfg = table.icontains(cfg.files, file.name)\nlocal cfgexcluded = table.icontains(cfg.excludes, file.name)\nif excluded or not fileincfg or cfgexcluded then\n_p(3, '<ExcludedFromBuild '\n.. if_config_and_platform()\n.. '>true</ExcludedFromBuild>'\n, premake.esc(vsconfig.name)\n)\nend\nend\nif prj.flags and prj.flags.Managed then\nlocal prjforcenative = table.icontains(prj.forcenative, file.name)\nfor _,vsconfig in ipairs(configs) do\nlocal cfg = premake.getconfig(prj, vsconfig.src_buildcfg, vsconfig.src_platform)\nif prjforcenative or table.icontains(cfg.forcenative, file.name) then\n_p(3, '<CompileAsManaged ' .. if_config_and_platform() .. '>false</CompileAsManaged>', premake.esc(vsconfig.name))\nend\nend\nend\n_p(2,'</ClCompile>')\nend\n_p(1,'</ItemGroup>')\nend\nend\nfunction vc2010.masmfiles(prj)\nlocal configs = prj.solutio"
- "n.vstudio_configs\nlocal files = vc2010.getfilegroup(prj, \"MASM\")\nif #files > 0 then\n_p(1, '<ItemGroup>')\nfor _, file in ipairs(files) do\nlocal translatedpath = path.translate(file.name, \"\\\\\")\n_p(2, '<MASM Include=\"%s\">', translatedpath)\nlocal excluded = table.icontains(prj.excludes, file.name)\nfor _, vsconfig in ipairs(configs) do\nlocal cfg = premake.getconfig(prj, vsconfig.src_buildcfg, vsconfig.src_platform)\nlocal fileincfg = table.icontains(cfg.files, file.name)\nlocal cfgexcluded = table.icontains(cfg.excludes, file.name)\nif excluded or not fileincfg or cfgexcluded then\n_p(3, '<ExcludedFromBuild '\n.. if_config_and_platform()\n.. '>true</ExcludedFromBuild>'\n, premake.esc(vsconfig.name)\n)\nend\nend\n_p(2, '</MASM>')\nend\n_p(1, '</ItemGroup>')\nend\nend\nfunction vc2010.header(targets)\nio.eol = \"\\r\\n\"\n_p('<?xml version=\"1.0\" encoding=\"utf-8\"?>')\nlocal t = \"\"\nif targets then\nt = ' DefaultTargets=\"' .. targets .. '\"'\nend\n_p('<Project%s ToolsVersion=\"%s\" xmlns=\"http:"
- "//schemas.microsoft.com/developer/msbuild/2003\">', t, action.vstudio.toolsVersion)\nend\nfunction premake.vs2010_vcxproj(prj)\nlocal usemasm = hasmasmfiles(prj)\nio.indent = \" \"\nvc2010.header(\"Build\")\nvs2010_config(prj)\nvs2010_globals(prj)\n_p(1,'<Import Project=\"$(VCTargetsPath)\\\\Microsoft.Cpp.Default.props\" />')\nfor _, cfginfo in ipairs(prj.solution.vstudio_configs) do\nlocal cfg = premake.getconfig(prj, cfginfo.src_buildcfg, cfginfo.src_platform)\nvc2010.configurationPropertyGroup(cfg, cfginfo)\nend\n_p(1,'<Import Project=\"$(VCTargetsPath)\\\\Microsoft.Cpp.props\" />')\n_p(1,'<ImportGroup Label=\"ExtensionSettings\">')\nif usemasm then\n_p(2, '<Import Project=\"$(VCTargetsPath)\\\\BuildCustomizations\\\\masm.props\" />')\nend\n_p(1,'</ImportGroup>')\nimport_props(prj)\n_p(1,'<PropertyGroup Label=\"UserMacros\" />')\nvc2010.outputProperties(prj)\nitem_definitions(prj)\nif prj.flags.Managed then\nvc2010.clrReferences(prj)\nend\nvc2010.files(prj)\nvc2010.projectReferences(prj)\nvc2010.sdkReferen"
- "ces(prj)\nvc2010.masmfiles(prj)\n_p(1,'<Import Project=\"$(VCTargetsPath)\\\\Microsoft.Cpp.targets\" />')\n_p(1,'<ImportGroup Label=\"ExtensionTargets\">')\nif usemasm then\n_p(2, '<Import Project=\"$(VCTargetsPath)\\\\BuildCustomizations\\\\masm.targets\" />')\nend\n_p(1,'</ImportGroup>')\n_p('</Project>')\nend\nfunction vc2010.clrReferences(prj)\nif #prj.clrreferences == 0 then\nreturn\nend\n_p(1,'<ItemGroup>')\nfor _, ref in ipairs(prj.clrreferences) do\nif os.isfile(ref) then\nlocal assembly = path.getbasename(ref)\n_p(2,'<Reference Include=\"%s\">', assembly)\n_p(3,'<HintPath>%s</HintPath>', path.getrelative(prj.location, ref))\n_p(2,'</Reference>')\nelse\n_p(2,'<Reference Include=\"%s\" />', ref)\nend\nend\n_p(1,'</ItemGroup>')\nend\nfunction vc2010.projectReferences(prj)\nlocal deps = premake.getdependencies(prj)\nif #deps == 0 and #prj.vsimportreferences == 0 then\nreturn\nend\n_p(1,'<ItemGroup>')\nfor _, dep in ipairs(deps) do\nlocal deppath = path.getrelative(prj.location, vstudio.projectfile(dep))\n"
- "_p(2,'<ProjectReference Include=\\\"%s\\\">', path.translate(deppath, \"\\\\\"))\n_p(3,'<Project>{%s}</Project>', dep.uuid)\nif vstudio.iswinrt() then\n_p(3,'<ReferenceOutputAssembly>false</ReferenceOutputAssembly>')\nend\n_p(2,'</ProjectReference>')\nend\nfor _, ref in ipairs(prj.vsimportreferences) do\nlocal iprj = premake.vstudio.getimportprj(ref, prj.solution)\n_p(2,'<ProjectReference Include=\\\"%s\\\">', iprj.relpath)\n_p(3,'<Project>{%s}</Project>', iprj.uuid)\n_p(2,'</ProjectReference>')\nend\n_p(1,'</ItemGroup>')\nend\nfunction vc2010.sdkReferences(prj)\nlocal refs = prj.sdkreferences\nif #refs > 0 then\n_p(1,'<ItemGroup>')\nfor _, ref in ipairs(refs) do\n_p(2,'<SDKReference Include=\\\"%s\\\" />', ref)\nend\n_p(1,'</ItemGroup>')\nend\nend\nfunction vc2010.debugdir(cfg)\nlocal debuggerFlavor =\n iif(cfg.platform == \"Orbis\", 'ORBISDebugger'\n, iif(cfg.platform == \"Durango\", 'XboxOneVCppDebugger'\n, 'WindowsLocalDebugger'\n))\n_p(2, '<DebuggerFlavor>%s</DebuggerFlav"
- "or>', debuggerFlavor)\nif cfg.debugdir and not vstudio.iswinrt() then\n_p(2, '<LocalDebuggerWorkingDirectory>%s</LocalDebuggerWorkingDirectory>'\n, path.translate(cfg.debugdir, '\\\\')\n)\nend\nif cfg.debugargs then\n_p(2, '<LocalDebuggerCommandArguments>%s</LocalDebuggerCommandArguments>'\n, table.concat(cfg.debugargs, \" \")\n)\nend\nif cfg.debugenvs and #cfg.debugenvs > 0 then\n_p(2, '<LocalDebuggerEnvironment>%s%s</LocalDebuggerEnvironment>'\n, table.concat(cfg.debugenvs, \"\\n\")\n, iif(cfg.flags.DebugEnvsInherit,'\\n$(LocalDebuggerEnvironment)', '')\n)\nif cfg.flags.DebugEnvsDontMerge then\n_p(2, '<LocalDebuggerMergeEnvironment>false</LocalDebuggerMergeEnvironment>')\nend\nend\nif cfg.deploymode then\n_p(' <DeployMode>%s</DeployMode>', cfg.deploymode)\nend\nend\nfunction premake.vs2010_vcxproj_user(prj)\nio.indent = \" \"\nvc2010.header()\nfor _, cfginfo in ipairs(prj.solution.vstudio_configs) do\nlocal cfg = premake.getconfig(prj, cfginfo.src_buildcfg, cfginfo.src_platform)\n_p(' <PropertyGroup '.."
- " if_config_and_platform() ..'>', premake.esc(cfginfo.name))\nvc2010.debugdir(cfg)\n_p(' </PropertyGroup>')\nend\n_p('</Project>')\nend\nlocal png1x1data = {\n0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, -- .PNG........IHDR\n0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x00, 0x00, 0x00, 0x25, 0xdb, 0x56, -- .............%.V\n0xca, 0x00, 0x00, 0x00, 0x03, 0x50, 0x4c, 0x54, 0x45, 0x00, 0x00, 0x00, 0xa7, 0x7a, 0x3d, 0xda, -- .....PLTE....z=.\n0x00, 0x00, 0x00, 0x01, 0x74, 0x52, 0x4e, 0x53, 0x00, 0x40, 0xe6, 0xd8, 0x66, 0x00, 0x00, 0x00, -- ....tRNS.@..f...\n0x0a, 0x49, 0x44, 0x41, 0x54, 0x08, 0xd7, 0x63, 0x60, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0xe2, -- .IDAT..c`.......\n0x21, 0xbc, 0x33, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82, -- !.3....IEND.B`.\n}\nfunction png1x1(obj, filename)\nfilename = premake.project.getfilename(obj, filename)\nlocal f, err = io.open(filename, \"wb\")\nif f then\nfor _, byte in ipairs("
- "png1x1data) do\nf:write(string.char(byte))\nend\nf:close()\nend\nend\nfunction premake.vs2010_appxmanifest(prj)\nio.indent = \" \"\nio.eol = \"\\r\\n\"\n_p('<?xml version=\"1.0\" encoding=\"utf-8\"?>')\nif vstudio.toolset == \"v120_wp81\" then\n_p('<Package xmlns=\"http://schemas.microsoft.com/appx/2010/manifest\" xmlns:m2=\"http://schemas.microsoft.com/appx/2013/manifest\" xmlns:m3=\"http://schemas.microsoft.com/appx/2014/manifest\" xmlns:mp=\"http://schemas.microsoft.com/appx/2014/phone/manifest\">')\nelseif vstudio.storeapp == \"8.1\" then\n_p('<Package xmlns=\"http://schemas.microsoft.com/appx/2010/manifest\" xmlns:m3=\"http://schemas.microsoft.com/appx/2013/manifest\">')\nelseif vstudio.storeapp == \"durango\" then\n_p('<Package xmlns=\"http://schemas.microsoft.com/appx/2010/manifest\" xmlns:mx=\"http://schemas.microsoft.com/appx/2013/xbox/manifest\" IgnorableNamespaces=\"mx\">')\nelse\n_p('<Package xmlns=\"http://schemas.microsoft.com/appx/manifest/foundation/windows10\" xmlns:mp=\"http://schemas.micros"
- "oft.com/appx/2014/phone/manifest\" xmlns:m3=\"http://schemas.microsoft.com/appx/manifest/uap/windows10\">')\nend\n_p(1,'<Identity Name=\"' .. prj.uuid .. '\"')\n_p(2,'Publisher=\"CN=Publisher\"')\n_p(2,'Version=\"1.0.0.0\" />')\nif vstudio.toolset == \"v120_wp81\" or vstudio.storeapp == \"8.2\" then\n_p(1,'<mp:PhoneIdentity PhoneProductId=\"' .. prj.uuid .. '\" PhonePublisherId=\"00000000-0000-0000-0000-000000000000\"/>')\nend\n_p(1, '<Properties>')\n_p(2, '<DisplayName>' .. prj.name .. '</DisplayName>')\n_p(2, '<PublisherDisplayName>PublisherDisplayName</PublisherDisplayName>')\n_p(2, '<Logo>' .. prj.name .. '\\\\StoreLogo.png</Logo>')\npng1x1(prj, \"%%/StoreLogo.png\")\n_p(2, '<Description>' .. prj.name .. '</Description>')\n_p(1,'</Properties>')\nif vstudio.storeapp == \"8.2\" then\n_p(1, '<Dependencies>')\n_p(2, '<TargetDeviceFamily Name=\"Windows.Universal\" MinVersion=\"10.0.10069.0\" MaxVersionTested=\"10.0.10069.0\" />')\n_p(1, '</Dependencies>')\nelseif vstudio.storeapp == \"durango\" then\n_p(1, '<Pr"
- "erequisites>')\n_p(2, '<OSMinVersion>6.2</OSMinVersion>')\n_p(2, '<OSMaxVersionTested>6.2</OSMaxVersionTested>')\n_p(1, '</Prerequisites>')\nelse\n_p(1, '<Prerequisites>')\n_p(2, '<OSMinVersion>6.3.0</OSMinVersion>')\n_p(2, '<OSMaxVersionTested>6.3.0</OSMaxVersionTested>')\n_p(1, '</Prerequisites>')\nend\n_p(1,'<Resources>')\n_p(2,'<Resource Language=\"en-us\"/>')\n_p(1,'</Resources>')\n_p(1,'<Applications>')\n_p(2,'<Application Id=\"App\"')\n_p(3,'Executable=\"$targetnametoken$.exe\"')\n_p(3,'EntryPoint=\"' .. prj.name .. '.App\">')\nif vstudio.storeapp == \"durango\" then\n_p(3, '<VisualElements')\n_p(4, 'DisplayName=\"' .. prj.name .. '\"')\n_p(4, 'Logo=\"' .. prj.name .. '\\\\Logo.png\"')\npng1x1(prj, \"%%/Logo.png\")\n_p(4, 'SmallLogo=\"' .. prj.name .. '\\\\SmallLogo.png\"')\npng1x1(prj, \"%%/SmallLogo.png\")\n_p(4, 'Description=\"' .. prj.name .. '\"')\n_p(4, 'ForegroundText=\"light\"')\n_p(4, 'BackgroundColor=\"transparent\">')\n_p(5, '<SplashScreen Image=\"' .. prj.name .. '\\\\SplashScreen.png\" />')"
- "\npng1x1(prj, \"%%/SplashScreen.png\")\n_p(3, '</VisualElements>')\n_p(3, '<Extensions>')\n_p(4, '<mx:Extension Category=\"xbox.system.resources\">')\n_p(4, '<mx:XboxSystemResources />')\n_p(4, '</mx:Extension>')\n_p(3, '</Extensions>')\nelse\n_p(3, '<m3:VisualElements')\n_p(4, 'DisplayName=\"' .. prj.name .. '\"')\n_p(4, 'Square150x150Logo=\"' .. prj.name .. '\\\\Logo.png\"')\npng1x1(prj, \"%%/Logo.png\")\nif vstudio.toolset == \"v120_wp81\" or vstudio.storeapp == \"8.2\" then\n_p(4, 'Square44x44Logo=\"' .. prj.name .. '\\\\SmallLogo.png\"')\npng1x1(prj, \"%%/SmallLogo.png\")\nelse\n_p(4, 'Square30x30Logo=\"' .. prj.name .. '\\\\SmallLogo.png\"')\npng1x1(prj, \"%%/SmallLogo.png\")\nend\n_p(4, 'Description=\"' .. prj.name .. '\"')\n_p(4, 'ForegroundText=\"light\"')\n_p(4, 'BackgroundColor=\"transparent\">')\n_p(4, '<m3:SplashScreen Image=\"' .. prj.name .. '\\\\SplashScreen.png\" />')\npng1x1(prj, \"%%/SplashScreen.png\")\n_p(3, '</m3:VisualElements>')\nend\n_p(2,'</Application>')\n_p(1,'</Applications>')\n_p("
- "'</Package>')\nend\n",
+ "Windows Phone</ApplicationType>')\nelse\n_p(2, '<ApplicationType>Windows Store</ApplicationType>')\nend\n_p(2, '<ApplicationTypeRevision>%s</ApplicationTypeRevision>', vstudio.storeapp)\nend\nelse\n_p(2, '<Keyword>Win32Proj</Keyword>')\nend\nif _ACTION:sub(3) == \"2015\" or _ACTION:sub(3) == \"2017\" then\n_p(2,'<PreferredToolArchitecture>x64</PreferredToolArchitecture>')\nend\nif _ACTION:sub(3) == \"2017\" and os.isdir(path.join(os.getenv(\"VSINSTALLDIR\"), \"VC/Tools/MSVC/14.14.26428\")) then\n_p(2,'<VCToolsVersion>14.14.26428</VCToolsVersion>')\nend\n_p(1,'</PropertyGroup>')\nend\nfunction vc2010.config_type(config)\nlocal t =\n{\nSharedLib = \"DynamicLibrary\",\nStaticLib = \"StaticLibrary\",\nConsoleApp = \"Application\",\nWindowedApp = \"Application\"\n}\nreturn t[config.kind]\nend\nlocal function if_config_and_platform()\nreturn 'Condition=\"\\'$(Configuration)|$(Platform)\\'==\\'%s\\'\"'\nend\nlocal function optimisation(cfg)\nlocal result = \"Disabled\"\nfor _, value in ipairs(cfg.flags) do\nif (value"
+ " == \"Optimize\") then\nresult = \"Full\"\nelseif (value == \"OptimizeSize\") then\nresult = \"MinSpace\"\nelseif (value == \"OptimizeSpeed\") then\nresult = \"MaxSpeed\"\nend\nend\nreturn result\nend\nfunction vc2010.configurationPropertyGroup(cfg, cfginfo)\n_p(1,'<PropertyGroup '..if_config_and_platform() ..' Label=\"Configuration\">'\n, premake.esc(cfginfo.name))\n_p(2,'<ConfigurationType>%s</ConfigurationType>',vc2010.config_type(cfg))\n_p(2,'<UseDebugLibraries>%s</UseDebugLibraries>', iif(optimisation(cfg) == \"Disabled\",\"true\",\"false\"))\n_p(2,'<PlatformToolset>%s</PlatformToolset>', premake.vstudio.toolset)\nif cfg.flags.MFC then\n_p(2,'<UseOfMfc>%s</UseOfMfc>', iif(cfg.flags.StaticRuntime, \"Static\", \"Dynamic\"))\nend\nif cfg.flags.ATL or cfg.flags.StaticATL then\n_p(2,'<UseOfAtl>%s</UseOfAtl>', iif(cfg.flags.StaticATL, \"Static\", \"Dynamic\"))\nend\nif cfg.flags.Unicode then\n_p(2,'<CharacterSet>Unicode</CharacterSet>')\nend\nif cfg.flags.Managed then\n_p(2,'<CLRSupport>true</CLRSupport>')\nend"
+ "\n_p(1,'</PropertyGroup>')\nend\nlocal function import_props(prj)\nfor _, cfginfo in ipairs(prj.solution.vstudio_configs) do\nlocal cfg = premake.getconfig(prj, cfginfo.src_buildcfg, cfginfo.src_platform)\n_p(1,'<ImportGroup '..if_config_and_platform() ..' Label=\"PropertySheets\">'\n,premake.esc(cfginfo.name))\n_p(2,'<Import Project=\"$(UserRootDir)\\\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists(\\'$(UserRootDir)\\\\Microsoft.Cpp.$(Platform).user.props\\')\" Label=\"LocalAppDataPlatform\" />')\nif #cfg.propertysheets > 0 then\nlocal dirs = cfg.propertysheets\nfor _, dir in ipairs(dirs) do\n_p(2,'<Import Project=\"%s\" />', path.translate(dir))\nend\nend\n_p(1,'</ImportGroup>')\nend\nend\nlocal function add_trailing_backslash(dir)\nif dir:len() > 0 and dir:sub(-1) ~= \"\\\\\" then\nreturn dir..\"\\\\\"\nend\nreturn dir\nend\nfunction vc2010.outputProperties(prj)\nfor _, cfginfo in ipairs(prj.solution.vstudio_configs) do\nlocal cfg = premake.getconfig(prj, cfginfo.src_buildcfg, cfginfo.src_platfor"
+ "m)\nlocal target = cfg.buildtarget\nlocal outdir = add_trailing_backslash(target.directory)\nlocal intdir = add_trailing_backslash(iif(action.vstudio.intDirAbsolute\n, path.translate(\n path.join(prj.solution.location, cfg.objectsdir)\n, '\\\\')\n, cfg.objectsdir\n))\n_p(1,'<PropertyGroup '..if_config_and_platform() ..'>', premake.esc(cfginfo.name))\n_p(2,'<OutDir>%s</OutDir>', iif(outdir:len() > 0, premake.esc(outdir), \".\\\\\"))\nif cfg.platform == \"Xbox360\" then\n_p(2,'<OutputFile>$(OutDir)%s</OutputFile>', premake.esc(target.name))\nend\n_p(2,'<IntDir>%s</IntDir>', premake.esc(intdir))\n_p(2,'<TargetName>%s</TargetName>', premake.esc(path.getbasename(target.name)))\n_p(2,'<TargetExt>%s</TargetExt>', premake.esc(path.getextension(target.name)))\nif cfg.kind == \"SharedLib\" then\nlocal ignore = (cfg.flags.NoImportLib ~= nil)\n_p(2,'<IgnoreImportLibrary>%s</IgnoreImportLibrary>', tostring(ignore))\nend\nif cfg.platform == \"Durango\" then\n_p(2, '<ReferencePath>$(Console_SdkLibPath);$(Console_SdkWindowsM"
+ "etadataPath)</ReferencePath>')\n_p(2, '<LibraryPath>$(Console_SdkLibPath)</LibraryPath>')\n_p(2, '<LibraryWPath>$(Console_SdkLibPath);$(Console_SdkWindowsMetadataPath)</LibraryWPath>')\n_p(2, '<IncludePath>$(Console_SdkIncludeRoot)</IncludePath>')\n_p(2, '<ExecutablePath>$(Console_SdkRoot)bin;$(VCInstallDir)bin\\\\x86_amd64;$(VCInstallDir)bin;$(WindowsSDK_ExecutablePath_x86);$(VSInstallDir)Common7\\\\Tools\\\\bin;$(VSInstallDir)Common7\\\\tools;$(VSInstallDir)Common7\\\\ide;$(ProgramFiles)\\\\HTML Help Workshop;$(MSBuildToolsPath32);$(FxCopDir);$(PATH);</ExecutablePath>')\nif cfg.imagepath then\n_p(2, '<LayoutDir>%s</LayoutDir>', cfg.imagepath)\nelse\n_p(2, '<LayoutDir>%s</LayoutDir>', prj.name)\nend\nif cfg.pullmappingfile ~= nil then\n_p(2,'<PullMappingFile>%s</PullMappingFile>', premake.esc(cfg.pullmappingfile))\nend\n_p(2, '<LayoutExtensionFilter>*.pdb;*.ilk;*.exp;*.lib;*.winmd;*.appxrecipe;*.pri;*.idb</LayoutExtensionFilter>')\n_p(2, '<IsolateConfigurationsOnDeploy>true</IsolateConfigurationsOnDeploy>')\n"
+ "end\nif cfg.kind ~= \"StaticLib\" then\n_p(2,'<LinkIncremental>%s</LinkIncremental>', tostring(premake.config.isincrementallink(cfg)))\nend\nif cfg.flags.NoManifest then\n_p(2,'<GenerateManifest>false</GenerateManifest>')\nend\n_p(1,'</PropertyGroup>')\nend\nend\nlocal function runtime(cfg)\nlocal runtime\nlocal flags = cfg.flags\nif premake.config.isdebugbuild(cfg) then\nruntime = iif(flags.StaticRuntime and not flags.Managed, \"MultiThreadedDebug\", \"MultiThreadedDebugDLL\")\nelse\nruntime = iif(flags.StaticRuntime and not flags.Managed, \"MultiThreaded\", \"MultiThreadedDLL\")\nend\nreturn runtime\nend\nlocal function precompiled_header(cfg)\n if not cfg.flags.NoPCH and cfg.pchheader then\n_p(3,'<PrecompiledHeader>Use</PrecompiledHeader>')\n_p(3,'<PrecompiledHeaderFile>%s</PrecompiledHeaderFile>', cfg.pchheader)\nelse\n_p(3,'<PrecompiledHeader></PrecompiledHeader>')\nend\nend\nlocal function preprocessor(indent,cfg)\nif #cfg.defines > 0 then\n_p(indent,'<PreprocessorDefinitions>%s;%%(PreprocessorDefin"
+ "itions)</PreprocessorDefinitions>'\n,premake.esc(table.concat(cfg.defines, \";\")))\nelse\n_p(indent,'<PreprocessorDefinitions></PreprocessorDefinitions>')\nend\nend\nlocal function include_dirs(indent,cfg)\nlocal includedirs = table.join(cfg.userincludedirs, cfg.includedirs)\nif #includedirs> 0 then\n_p(indent,'<AdditionalIncludeDirectories>%s;%%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>'\n,premake.esc(path.translate(table.concat(includedirs, \";\"), '\\\\')))\nend\nend\nlocal function using_dirs(indent,cfg)\nif #cfg.usingdirs > 0 then\n_p(indent,'<AdditionalUsingDirectories>%s;%%(AdditionalUsingDirectories)</AdditionalUsingDirectories>'\n,premake.esc(path.translate(table.concat(cfg.usingdirs, \";\"), '\\\\')))\nend\nend\nlocal function resource_compile(cfg)\n_p(2,'<ResourceCompile>')\npreprocessor(3,cfg)\ninclude_dirs(3,cfg)\n_p(2,'</ResourceCompile>')\nend\nlocal function exceptions(cfg)\nif cfg.flags.NoExceptions then\n_p(3, '<ExceptionHandling>false</ExceptionHandling>')\nelseif cfg.fla"
+ "gs.SEH then\n_p(3, '<ExceptionHandling>Async</ExceptionHandling>')\nend\nend\nlocal function rtti(cfg)\nif cfg.flags.NoRTTI and not cfg.flags.Managed then\n_p(3,'<RuntimeTypeInfo>false</RuntimeTypeInfo>')\nend\nend\nlocal function calling_convention(cfg)\nif cfg.flags.FastCall then\n_p(3,'<CallingConvention>FastCall</CallingConvention>')\nelseif cfg.flags.StdCall then\n_p(3,'<CallingConvention>StdCall</CallingConvention>')\nend\nend\nlocal function wchar_t_builtin(cfg)\nif cfg.flags.NativeWChar then\n_p(3,'<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>')\nelseif cfg.flags.NoNativeWChar then\n_p(3,'<TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>')\nend\nend\nlocal function sse(cfg)\nif cfg.flags.EnableSSE then\n_p(3, '<EnableEnhancedInstructionSet>StreamingSIMDExtensions</EnableEnhancedInstructionSet>')\nelseif cfg.flags.EnableSSE2 then\n_p(3, '<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>')\nelseif cfg.flags.EnableAVX then\n_p(3, '<EnableEnhance"
+ "dInstructionSet>AdvancedVectorExtensions</EnableEnhancedInstructionSet>')\nelseif cfg.flags.EnableAVX2 then\n_p(3, '<EnableEnhancedInstructionSet>AdvancedVectorExtensions2</EnableEnhancedInstructionSet>')\nend\nend\nlocal function floating_point(cfg)\n if cfg.flags.FloatFast then\n_p(3,'<FloatingPointModel>Fast</FloatingPointModel>')\nelseif cfg.flags.FloatStrict and not cfg.flags.Managed then\n_p(3,'<FloatingPointModel>Strict</FloatingPointModel>')\nend\nend\nlocal function debug_info(cfg)\nlocal debug_info = ''\nif cfg.flags.Symbols then\nif cfg.flags.C7DebugInfo then\ndebug_info = \"OldStyle\"\nelseif (action.vstudio.supports64bitEditContinue == false and cfg.platform == \"x64\")\nor cfg.flags.Managed\nor premake.config.isoptimizedbuild(cfg.flags)\nor cfg.flags.NoEditAndContinue\nthen\ndebug_info = \"ProgramDatabase\"\nelse\ndebug_info = \"EditAndContinue\"\nend\nend\n_p(3,'<DebugInformationFormat>%s</DebugInformationFormat>',debug_info)\nend\nlocal function minimal_build(cfg)\nif premake.config.isdebug"
+ "build(cfg) and cfg.flags.EnableMinimalRebuild then\n_p(3,'<MinimalRebuild>true</MinimalRebuild>')\nelse\n_p(3,'<MinimalRebuild>false</MinimalRebuild>')\nend\nend\nlocal function compile_language(cfg)\nif cfg.options.ForceCPP then\n_p(3,'<CompileAs>CompileAsCpp</CompileAs>')\nelse\nif cfg.language == \"C\" then\n_p(3,'<CompileAs>CompileAsC</CompileAs>')\nend\nend\nend\nlocal function forcedinclude_files(indent,cfg)\nif #cfg.forcedincludes > 0 then\n_p(indent,'<ForcedIncludeFiles>%s</ForcedIncludeFiles>'\n,premake.esc(path.translate(table.concat(cfg.forcedincludes, \";\"), '\\\\')))\nend\nend\nlocal function vs10_clcompile(cfg)\n_p(2,'<ClCompile>')\nlocal unsignedChar = \"/J \"\nlocal buildoptions = cfg.buildoptions\nif cfg.platform == \"Orbis\" then\nunsignedChar = \"-funsigned-char \";\n_p(3,'<GenerateDebugInformation>%s</GenerateDebugInformation>', tostring(cfg.flags.Symbols ~= nil))\nend\nif cfg.language == \"C\" and not cfg.options.ForceCPP then\nbuildoptions = table.join(buildoptions, cfg.buildoptions_c)\n"
+ "else\nbuildoptions = table.join(buildoptions, cfg.buildoptions_cpp)\nend\n_p(3,'<AdditionalOptions>%s %s%%(AdditionalOptions)</AdditionalOptions>'\n, table.concat(premake.esc(buildoptions), \" \")\n, iif(cfg.flags.UnsignedChar, unsignedChar, \" \")\n)\n_p(3,'<Optimization>%s</Optimization>',optimisation(cfg))\ninclude_dirs(3, cfg)\nusing_dirs(3, cfg)\npreprocessor(3, cfg)\nminimal_build(cfg)\nif not premake.config.isoptimizedbuild(cfg.flags) then\nif not cfg.flags.Managed then\n_p(3, '<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>')\nend\nif cfg.flags.ExtraWarnings then\nend\nelse\n_p(3, '<StringPooling>true</StringPooling>')\nend\nif cfg.platform == \"Durango\" or cfg.flags.NoWinRT then\n_p(3, '<CompileAsWinRT>false</CompileAsWinRT>')\nend\n_p(3, '<RuntimeLibrary>%s</RuntimeLibrary>', runtime(cfg))\nif cfg.flags.NoBufferSecurityCheck then\n_p(3, '<BufferSecurityCheck>false</BufferSecurityCheck>')\nend\n_p(3,'<FunctionLevelLinking>true</FunctionLevelLinking>')\nif not cfg.flags.NoMultiProcessorComp"
+ "ilation and not cfg.flags.EnableMinimalRebuild then\n_p(3, '<MultiProcessorCompilation>true</MultiProcessorCompilation>')\nelse\n_p(3, '<MultiProcessorCompilation>false</MultiProcessorCompilation>')\nend\nprecompiled_header(cfg)\nif cfg.flags.PedanticWarnings then\n_p(3, '<WarningLevel>EnableAllWarnings</WarningLevel>')\nelseif cfg.flags.ExtraWarnings then\n_p(3, '<WarningLevel>Level4</WarningLevel>')\nelseif cfg.flags.MinimumWarnings then\n_p(3, '<WarningLevel>Level1</WarningLevel>')\nelse\n_p(3 ,'<WarningLevel>Level3</WarningLevel>')\nend\nif cfg.flags.FatalWarnings then\n_p(3, '<TreatWarningAsError>true</TreatWarningAsError>')\nend\nexceptions(cfg)\nrtti(cfg)\ncalling_convention(cfg)\nwchar_t_builtin(cfg)\nsse(cfg)\nfloating_point(cfg)\ndebug_info(cfg)\nif cfg.flags.Symbols\nand _ACTION:sub(3) ~= \"2017\"\nthen\n_p(3, '<ProgramDataBaseFileName>$(OutDir)%s.pdb</ProgramDataBaseFileName>'\n, path.getbasename(cfg.buildtarget.name)\n)\nend\nif cfg.flags.NoFramePointer then\n_p(3, '<OmitFramePointers>true</OmitF"
+ "ramePointers>')\nend\nif cfg.flags.UseFullPaths then\n_p(3, '<UseFullPaths>true</UseFullPaths>')\nend\ncompile_language(cfg)\nforcedinclude_files(3,cfg);\n_p(2,'</ClCompile>')\nend\nlocal function event_hooks(cfg)\nif #cfg.postbuildcommands> 0 then\n _p(2,'<PostBuildEvent>')\n_p(3,'<Command>%s</Command>',premake.esc(table.implode(cfg.postbuildcommands, \"\", \"\", \"\\r\\n\")))\n_p(2,'</PostBuildEvent>')\nend\nif #cfg.prebuildcommands> 0 then\n _p(2,'<PreBuildEvent>')\n_p(3,'<Command>%s</Command>',premake.esc(table.implode(cfg.prebuildcommands, \"\", \"\", \"\\r\\n\")))\n_p(2,'</PreBuildEvent>')\nend\nif #cfg.prelinkcommands> 0 then\n _p(2,'<PreLinkEvent>')\n_p(3,'<Command>%s</Command>',premake.esc(table.implode(cfg.prelinkcommands, \"\", \"\", \"\\r\\n\")))\n_p(2,'</PreLinkEvent>')\nend\nend\nlocal function additional_options(indent,cfg)\nif #cfg.linkoptions > 0 then\n_p(indent,'<AdditionalOptions>%s %%(AdditionalOptions)</AdditionalOptions>',\ntable.concat(premake.esc(cfg.linkoptions), \" \"))\nend"
+ "\nend\nlocal function link_target_machine(index,cfg)\nlocal platforms = {x32 = 'MachineX86', x64 = 'MachineX64'}\nif platforms[cfg.platform] then\n_p(index,'<TargetMachine>%s</TargetMachine>', platforms[cfg.platform])\nend\nend\nlocal function item_def_lib(cfg)\nif cfg.kind == 'StaticLib' and cfg.platform ~= \"Xbox360\" then\n_p(1,'<Lib>')\n_p(2,'<OutputFile>$(OutDir)%s</OutputFile>',cfg.buildtarget.name)\nadditional_options(2,cfg)\nlink_target_machine(2,cfg)\n_p(1,'</Lib>')\nend\nend\nlocal function import_lib(cfg)\nif cfg.kind == \"SharedLib\" then\nlocal implibname = cfg.linktarget.fullpath\n_p(3,'<ImportLibrary>%s</ImportLibrary>',iif(cfg.flags.NoImportLib, cfg.objectsdir .. \"\\\\\" .. path.getname(implibname), implibname))\nend\nend\nlocal function hasmasmfiles(prj)\nlocal files = vc2010.getfilegroup(prj, \"MASM\")\nreturn #files > 0\nend\nlocal function vs10_masm(prj, cfg)\nif hasmasmfiles(prj) then\n_p(2, '<MASM>')\n_p(3,'<AdditionalOptions>%s %%(AdditionalOptions)</AdditionalOptions>'\n, table.concat("
+ "premake.esc(table.join(cfg.buildoptions, cfg.buildoptions_asm)), \" \")\n)\nlocal includedirs = table.join(cfg.userincludedirs, cfg.includedirs)\nif #includedirs > 0 then\n_p(3, '<IncludePaths>%s;%%(IncludePaths)</IncludePaths>'\n, premake.esc(path.translate(table.concat(includedirs, \";\"), '\\\\'))\n)\nend\nlocal defines = table.join(cfg.defines)\ntable.insertflat(defines, iif(premake.config.isdebugbuild(cfg), \"_DEBUG\", {}))\ntable.insert(defines, iif(cfg.platform == \"x64\", \"_WIN64\", \"_WIN32\"))\ntable.insert(defines, iif(prj.kind == \"SharedLib\", \"_EXPORT=EXPORT\", \"_EXPORT=\"))\n_p(3, '<PreprocessorDefinitions>%s;%%(PreprocessorDefinitions)</PreprocessorDefinitions>'\n, premake.esc(table.concat(defines, \";\"))\n)\nif cfg.flags.FatalWarnings then\n_p(3,'<TreatWarningsAsErrors>true</TreatWarningsAsErrors>')\nend\nif cfg.flags.MinimumWarnings then\n_p(3,'<WarningLevel>0</WarningLevel>')\nelse\n_p(3,'<WarningLevel>3</WarningLevel>')\nend\n_p(2, '</MASM>')\nend\nend\nfunction vc2010.link(cfg)\n_p(2,'"
+ "<Link>')\n_p(3,'<SubSystem>%s</SubSystem>', iif(cfg.kind == \"ConsoleApp\", \"Console\", \"Windows\"))\n_p(3,'<GenerateDebugInformation>%s</GenerateDebugInformation>', tostring(cfg.flags.Symbols ~= nil))\nif cfg.flags.Symbols\nand _ACTION:sub(3) == \"2017\"\nthen\n_p(3, '<ProgramDataBaseFileName>$(OutDir)%s.pdb</ProgramDataBaseFileName>'\n, path.getbasename(cfg.buildtarget.name)\n)\nend\nif premake.config.isoptimizedbuild(cfg.flags) then\n_p(3,'<EnableCOMDATFolding>true</EnableCOMDATFolding>')\n_p(3,'<OptimizeReferences>true</OptimizeReferences>')\nend\nif cfg.kind ~= 'StaticLib' then\nvc2010.additionalDependencies(3,cfg)\n_p(3,'<OutputFile>$(OutDir)%s</OutputFile>', cfg.buildtarget.name)\nif #cfg.libdirs > 0 then\n_p(3,'<AdditionalLibraryDirectories>%s;%%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>'\n, premake.esc(path.translate(table.concat(cfg.libdirs, ';'), '\\\\'))\n)\nend\nif vc2010.config_type(cfg) == 'Application' and not cfg.flags.WinMain and not cfg.flags.Managed then\nif cfg.flags."
+ "Unicode then\n_p(3,'<EntryPointSymbol>wmainCRTStartup</EntryPointSymbol>')\nelse\n_p(3,'<EntryPointSymbol>mainCRTStartup</EntryPointSymbol>')\nend\nend\nimport_lib(cfg)\nlocal deffile = premake.findfile(cfg, \".def\")\nif deffile then\n_p(3,'<ModuleDefinitionFile>%s</ModuleDefinitionFile>', deffile)\nend\nlink_target_machine(3,cfg)\nadditional_options(3,cfg)\nif cfg.flags.NoWinMD and vstudio.iswinrt() and prj.kind == \"WindowedApp\" then\n_p(3,'<GenerateWindowsMetadata>false</GenerateWindowsMetadata>' )\nend\nend\n_p(2,'</Link>')\nend\nfunction vc2010.additionalDependencies(tab,cfg)\nlocal links = premake.getlinks(cfg, \"system\", \"fullpath\")\nif #links > 0 then\nlocal deps = \"\"\nif cfg.platform == \"Orbis\" then\nfor _, v in ipairs(links) do\ndeps = deps .. \"-l\" .. v .. \";\"\nend\nelse\ndeps = table.concat(links, \";\")\nend\n_p(tab, '<AdditionalDependencies>%s;%s</AdditionalDependencies>'\n, deps\n, iif(cfg.platform == \"Durango\"\n, '%(XboxExtensionsDependencies)'\n, '%(AdditionalDependencies)'\n)\n)"
+ "\nelseif cfg.platform == \"Durango\" then\n_p(tab, '<AdditionalDependencies>%%(XboxExtensionsDependencies)</AdditionalDependencies>')\nend\nend\nlocal function item_definitions(prj)\nfor _, cfginfo in ipairs(prj.solution.vstudio_configs) do\nlocal cfg = premake.getconfig(prj, cfginfo.src_buildcfg, cfginfo.src_platform)\n_p(1,'<ItemDefinitionGroup ' ..if_config_and_platform() ..'>'\n,premake.esc(cfginfo.name))\nvs10_clcompile(cfg)\nresource_compile(cfg)\nitem_def_lib(cfg)\nvc2010.link(cfg)\nevent_hooks(cfg)\nvs10_masm(prj, cfg)\n_p(1,'</ItemDefinitionGroup>')\nend\nend\nfunction vc2010.getfilegroup(prj, group)\nlocal sortedfiles = prj.vc2010sortedfiles\nif not sortedfiles then\nsortedfiles = {\nClCompile = {},\nClInclude = {},\nMASM = {},\nNone = {},\nResourceCompile = {},\nAppxManifest = {},\nNatvis = {},\nImage = {},\nDeploymentContent = {}\n}\nlocal foundAppxManifest = false\nfor file in premake.project.eachfile(prj, true) do\nif path.issourcefilevs(file.name) then\ntable.insert(sortedfiles.ClCompile, file)"
+ "\nelseif path.iscppheader(file.name) then\nif not table.icontains(prj.removefiles, file) then\ntable.insert(sortedfiles.ClInclude, file)\nend\nelseif path.isresourcefile(file.name) then\ntable.insert(sortedfiles.ResourceCompile, file)\nelseif path.isimagefile(file.name) then\ntable.insert(sortedfiles.Image, file)\nelseif path.isappxmanifest(file.name) then\nfoundAppxManifest = true\ntable.insert(sortedfiles.AppxManifest, file)\nelseif path.isnatvis(file.name) then\ntable.insert(sortedfiles.Natvis, file)\nelseif path.isasmfile(file.name) then\ntable.insert(sortedfiles.MASM, file)\nelseif file.flags and table.icontains(file.flags, \"DeploymentContent\") then\ntable.insert(sortedfiles.DeploymentContent, file)\nelse\ntable.insert(sortedfiles.None, file)\nend\nend\nif vstudio.iswinrt() and prj.kind == \"WindowedApp\" and not foundAppxManifest then\nvstudio.needAppxManifest = true\nlocal fcfg = {}\nfcfg.name = prj.name .. \"/Package.appxmanifest\"\nfcfg.vpath = premake.project.getvpath(prj, fcfg.name)\ntable.insert("
+ "sortedfiles.AppxManifest, fcfg)\nlocal logo = {}\nlogo.name = prj.name .. \"/Logo.png\"\nlogo.vpath = logo.name\ntable.insert(sortedfiles.Image, logo)\nlocal smallLogo = {}\nsmallLogo.name = prj.name .. \"/SmallLogo.png\"\nsmallLogo.vpath = smallLogo.name\ntable.insert(sortedfiles.Image, smallLogo)\nlocal storeLogo = {}\nstoreLogo.name = prj.name .. \"/StoreLogo.png\"\nstoreLogo.vpath = storeLogo.name\ntable.insert(sortedfiles.Image, storeLogo)\nlocal splashScreen = {}\nsplashScreen.name = prj.name .. \"/SplashScreen.png\"\nsplashScreen.vpath = splashScreen.name\ntable.insert(sortedfiles.Image, splashScreen)\nend\nprj.vc2010sortedfiles = sortedfiles\nend\nreturn sortedfiles[group]\nend\nfunction vc2010.files(prj)\nvc2010.simplefilesgroup(prj, \"ClInclude\")\nvc2010.compilerfilesgroup(prj)\nvc2010.simplefilesgroup(prj, \"None\")\nvc2010.customtaskgroup(prj)\nvc2010.simplefilesgroup(prj, \"ResourceCompile\")\nvc2010.simplefilesgroup(prj, \"AppxManifest\")\nvc2010.simplefilesgroup(prj, \"Natvis\")\nvc2010.dep"
+ "loymentcontentgroup(prj, \"Image\")\nvc2010.deploymentcontentgroup(prj, \"DeploymentContent\", \"None\")\nend\nfunction vc2010.customtaskgroup(prj)\nlocal files = { }\nfor _, custombuildtask in ipairs(prj.custombuildtask or {}) do\nfor _, buildtask in ipairs(custombuildtask or {}) do\nlocal fcfg = { }\nfcfg.name = path.getrelative(prj.location,buildtask[1])\nfcfg.vpath = path.trimdots(fcfg.name)\ntable.insert(files, fcfg)\nend\nend\nif #files > 0 then\n_p(1,'<ItemGroup>')\nlocal groupedBuildTasks = {}\nfor _, custombuildtask in ipairs(prj.custombuildtask or {}) do\nfor _, buildtask in ipairs(custombuildtask or {}) do\nif (groupedBuildTasks[buildtask[1]] == nil) then\ngroupedBuildTasks[buildtask[1]] = {}\nend\ntable.insert(groupedBuildTasks[buildtask[1]], buildtask)\nend\nend\nfor name, custombuildtask in pairs(groupedBuildTasks or {}) do\n_p(2,'<CustomBuild Include=\\\"%s\\\">', path.translate(path.getrelative(prj.location,name), \"\\\\\"))\n_p(3,'<FileType>Text</FileType>')\nlocal cmd = \"\"\nlocal outputs ="
+ " \"\"\nfor _, buildtask in ipairs(custombuildtask or {}) do\nfor _, cmdline in ipairs(buildtask[4] or {}) do\ncmd = cmd .. cmdline\nlocal num = 1\nfor _, depdata in ipairs(buildtask[3] or {}) do\ncmd = string.gsub(cmd,\"%$%(\" .. num ..\"%)\", string.format(\"%s \",path.getrelative(prj.location,depdata)))\nnum = num + 1\nend\ncmd = string.gsub(cmd, \"%$%(<%)\", string.format(\"%s \",path.getrelative(prj.location,buildtask[1])))\ncmd = string.gsub(cmd, \"%$%(@%)\", string.format(\"%s \",path.getrelative(prj.location,buildtask[2])))\ncmd = cmd .. \"\\r\\n\"\nend\noutputs = outputs .. path.getrelative(prj.location,buildtask[2]) .. \";\"\nend\n_p(3,'<Command>%s</Command>',cmd)\n_p(3,'<Outputs>%s%%(Outputs)</Outputs>',outputs)\n_p(3,'<SubType>Designer</SubType>')\n_p(3,'<Message></Message>')\n_p(2,'</CustomBuild>')\nend\n_p(1,'</ItemGroup>')\nend\nend\nfunction vc2010.simplefilesgroup(prj, section, subtype)\nlocal files = vc2010.getfilegroup(prj, section)\nif #files > 0 then\n_p(1,'<ItemGroup>')\nfor _, file in ip"
+ "airs(files) do\nif subtype then\n_p(2,'<%s Include=\\\"%s\\\">', section, path.translate(file.name, \"\\\\\"))\n_p(3,'<SubType>%s</SubType>', subtype)\n_p(2,'</%s>', section)\nelse\n_p(2,'<%s Include=\\\"%s\\\" />', section, path.translate(file.name, \"\\\\\"))\nend\nend\n_p(1,'</ItemGroup>')\nend\nend\nfunction vc2010.deploymentcontentgroup(prj, section, filetype)\nif filetype == nil then\nfiletype = section\nend\nlocal files = vc2010.getfilegroup(prj, section)\nif #files > 0 then\n_p(1,'<ItemGroup>')\nfor _, file in ipairs(files) do\n_p(2,'<%s Include=\\\"%s\\\">', filetype, path.translate(file.name, \"\\\\\"))\n_p(3,'<DeploymentContent>true</DeploymentContent>')\n_p(3,'<Link>%s</Link>', path.translate(file.vpath, \"\\\\\"))\n_p(2,'</%s>', filetype)\nend\n_p(1,'</ItemGroup>')\nend\nend\nfunction vc2010.compilerfilesgroup(prj)\nlocal configs = prj.solution.vstudio_configs\nlocal files = vc2010.getfilegroup(prj, \"ClCompile\")\nif #files > 0 then\nlocal config_mappings = {}\nfor _, cfginfo in ipairs(configs)"
+ " do\nlocal cfg = premake.getconfig(prj, cfginfo.src_buildcfg, cfginfo.src_platform)\nif cfg.pchheader and cfg.pchsource and not cfg.flags.NoPCH then\nconfig_mappings[cfginfo] = path.translate(cfg.pchsource, \"\\\\\")\nend\nend\n_p(1,'<ItemGroup>')\nfor _, file in ipairs(files) do\nlocal translatedpath = path.translate(file.name, \"\\\\\")\n_p(2, '<ClCompile Include=\\\"%s\\\">', translatedpath)\n_p(3, '<ObjectFileName>$(IntDir)%s\\\\</ObjectFileName>'\n, premake.esc(path.translate(path.trimdots(path.getdirectory(file.name))))\n)\nif path.iscxfile(file.name) then\n_p(3, '<CompileAsWinRT>true</CompileAsWinRT>')\n_p(3, '<RuntimeTypeInfo>true</RuntimeTypeInfo>')\n_p(3, '<PrecompiledHeader>NotUsing</PrecompiledHeader>')\nend\nif vstudio.iswinrt() and string.len(file.name) > 2 and string.sub(file.name, -2) == \".c\" then\n_p(3,'<CompileAsWinRT>FALSE</CompileAsWinRT>')\nend\nfor _, cfginfo in ipairs(configs) do\nif config_mappings[cfginfo] and translatedpath == config_mappings[cfginfo] then\n_p(3,'<PrecompiledHeader "
+ "'.. if_config_and_platform() .. '>Create</PrecompiledHeader>', premake.esc(cfginfo.name))\nconfig_mappings[cfginfo] = nil --only one source file per pch\nend\nend\nlocal nopch = table.icontains(prj.nopch, file.name)\nfor _, vsconfig in ipairs(configs) do\nlocal cfg = premake.getconfig(prj, vsconfig.src_buildcfg, vsconfig.src_platform)\nif nopch or table.icontains(cfg.nopch, file.name) then\n_p(3,'<PrecompiledHeader '.. if_config_and_platform() .. '>NotUsing</PrecompiledHeader>', premake.esc(vsconfig.name))\nend\nend\nlocal excluded = table.icontains(prj.excludes, file.name)\nfor _, vsconfig in ipairs(configs) do\nlocal cfg = premake.getconfig(prj, vsconfig.src_buildcfg, vsconfig.src_platform)\nlocal fileincfg = table.icontains(cfg.files, file.name)\nlocal cfgexcluded = table.icontains(cfg.excludes, file.name)\nif excluded or not fileincfg or cfgexcluded then\n_p(3, '<ExcludedFromBuild '\n.. if_config_and_platform()\n.. '>true</ExcludedFromBuild>'\n, premake.esc(vsconfig.name)\n)\nend\nend\nif prj.flags and pr"
+ "j.flags.Managed then\nlocal prjforcenative = table.icontains(prj.forcenative, file.name)\nfor _,vsconfig in ipairs(configs) do\nlocal cfg = premake.getconfig(prj, vsconfig.src_buildcfg, vsconfig.src_platform)\nif prjforcenative or table.icontains(cfg.forcenative, file.name) then\n_p(3, '<CompileAsManaged ' .. if_config_and_platform() .. '>false</CompileAsManaged>', premake.esc(vsconfig.name))\nend\nend\nend\n_p(2,'</ClCompile>')\nend\n_p(1,'</ItemGroup>')\nend\nend\nfunction vc2010.masmfiles(prj)\nlocal configs = prj.solution.vstudio_configs\nlocal files = vc2010.getfilegroup(prj, \"MASM\")\nif #files > 0 then\n_p(1, '<ItemGroup>')\nfor _, file in ipairs(files) do\nlocal translatedpath = path.translate(file.name, \"\\\\\")\n_p(2, '<MASM Include=\"%s\">', translatedpath)\nlocal excluded = table.icontains(prj.excludes, file.name)\nfor _, vsconfig in ipairs(configs) do\nlocal cfg = premake.getconfig(prj, vsconfig.src_buildcfg, vsconfig.src_platform)\nlocal fileincfg = table.icontains(cfg.files, file.name)\nlocal "
+ "cfgexcluded = table.icontains(cfg.excludes, file.name)\nif excluded or not fileincfg or cfgexcluded then\n_p(3, '<ExcludedFromBuild '\n.. if_config_and_platform()\n.. '>true</ExcludedFromBuild>'\n, premake.esc(vsconfig.name)\n)\nend\nend\n_p(2, '</MASM>')\nend\n_p(1, '</ItemGroup>')\nend\nend\nfunction vc2010.header(targets)\nio.eol = \"\\r\\n\"\n_p('<?xml version=\"1.0\" encoding=\"utf-8\"?>')\nlocal t = \"\"\nif targets then\nt = ' DefaultTargets=\"' .. targets .. '\"'\nend\n_p('<Project%s ToolsVersion=\"%s\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">', t, action.vstudio.toolsVersion)\nend\nfunction premake.vs2010_vcxproj(prj)\nlocal usemasm = hasmasmfiles(prj)\nio.indent = \" \"\nvc2010.header(\"Build\")\nvs2010_config(prj)\nvs2010_globals(prj)\n_p(1,'<Import Project=\"$(VCTargetsPath)\\\\Microsoft.Cpp.Default.props\" />')\nfor _, cfginfo in ipairs(prj.solution.vstudio_configs) do\nlocal cfg = premake.getconfig(prj, cfginfo.src_buildcfg, cfginfo.src_platform)\nvc2010.configurationProper"
+ "tyGroup(cfg, cfginfo)\nend\n_p(1,'<Import Project=\"$(VCTargetsPath)\\\\Microsoft.Cpp.props\" />')\n_p(1,'<ImportGroup Label=\"ExtensionSettings\">')\nif usemasm then\n_p(2, '<Import Project=\"$(VCTargetsPath)\\\\BuildCustomizations\\\\masm.props\" />')\nend\n_p(1,'</ImportGroup>')\nimport_props(prj)\n_p(1,'<PropertyGroup Label=\"UserMacros\" />')\nvc2010.outputProperties(prj)\nitem_definitions(prj)\nif prj.flags.Managed then\nvc2010.clrReferences(prj)\nend\nvc2010.files(prj)\nvc2010.projectReferences(prj)\nvc2010.sdkReferences(prj)\nvc2010.masmfiles(prj)\n_p(1,'<Import Project=\"$(VCTargetsPath)\\\\Microsoft.Cpp.targets\" />')\n_p(1,'<ImportGroup Label=\"ExtensionTargets\">')\nif usemasm then\n_p(2, '<Import Project=\"$(VCTargetsPath)\\\\BuildCustomizations\\\\masm.targets\" />')\nend\n_p(1,'</ImportGroup>')\n_p('</Project>')\nend\nfunction vc2010.clrReferences(prj)\nif #prj.clrreferences == 0 then\nreturn\nend\n_p(1,'<ItemGroup>')\nfor _, ref in ipairs(prj.clrreferences) do\nif os.isfile(ref) then\nlocal ass"
+ "embly = path.getbasename(ref)\n_p(2,'<Reference Include=\"%s\">', assembly)\n_p(3,'<HintPath>%s</HintPath>', path.getrelative(prj.location, ref))\n_p(2,'</Reference>')\nelse\n_p(2,'<Reference Include=\"%s\" />', ref)\nend\nend\n_p(1,'</ItemGroup>')\nend\nfunction vc2010.projectReferences(prj)\nlocal deps = premake.getdependencies(prj)\nif #deps == 0 and #prj.vsimportreferences == 0 then\nreturn\nend\n_p(1,'<ItemGroup>')\nfor _, dep in ipairs(deps) do\nlocal deppath = path.getrelative(prj.location, vstudio.projectfile(dep))\n_p(2,'<ProjectReference Include=\\\"%s\\\">', path.translate(deppath, \"\\\\\"))\n_p(3,'<Project>{%s}</Project>', dep.uuid)\nif vstudio.iswinrt() then\n_p(3,'<ReferenceOutputAssembly>false</ReferenceOutputAssembly>')\nend\n_p(2,'</ProjectReference>')\nend\nfor _, ref in ipairs(prj.vsimportreferences) do\nlocal iprj = premake.vstudio.getimportprj(ref, prj.solution)\n_p(2,'<ProjectReference Include=\\\"%s\\\">', iprj.relpath)\n_p(3,'<Project>{%s}</Project>', iprj.uuid)\n_p(2,'</ProjectReferen"
+ "ce>')\nend\n_p(1,'</ItemGroup>')\nend\nfunction vc2010.sdkReferences(prj)\nlocal refs = prj.sdkreferences\nif #refs > 0 then\n_p(1,'<ItemGroup>')\nfor _, ref in ipairs(refs) do\n_p(2,'<SDKReference Include=\\\"%s\\\" />', ref)\nend\n_p(1,'</ItemGroup>')\nend\nend\nfunction vc2010.debugdir(cfg)\nlocal debuggerFlavor =\n iif(cfg.platform == \"Orbis\", 'ORBISDebugger'\n, iif(cfg.platform == \"Durango\", 'XboxOneVCppDebugger'\n, 'WindowsLocalDebugger'\n))\n_p(2, '<DebuggerFlavor>%s</DebuggerFlavor>', debuggerFlavor)\nif cfg.debugdir and not vstudio.iswinrt() then\n_p(2, '<LocalDebuggerWorkingDirectory>%s</LocalDebuggerWorkingDirectory>'\n, path.translate(cfg.debugdir, '\\\\')\n)\nend\nif cfg.debugargs then\n_p(2, '<LocalDebuggerCommandArguments>%s</LocalDebuggerCommandArguments>'\n, table.concat(cfg.debugargs, \" \")\n)\nend\nif cfg.debugenvs and #cfg.debugenvs > 0 then\n_p(2, '<LocalDebuggerEnvironment>%s%s</LocalDebuggerEnvironment>'\n, table.concat(cfg.debugenvs, \"\\n\")\n, ii"
+ "f(cfg.flags.DebugEnvsInherit,'\\n$(LocalDebuggerEnvironment)', '')\n)\nif cfg.flags.DebugEnvsDontMerge then\n_p(2, '<LocalDebuggerMergeEnvironment>false</LocalDebuggerMergeEnvironment>')\nend\nend\nif cfg.deploymode then\n_p(' <DeployMode>%s</DeployMode>', cfg.deploymode)\nend\nend\nfunction premake.vs2010_vcxproj_user(prj)\nio.indent = \" \"\nvc2010.header()\nfor _, cfginfo in ipairs(prj.solution.vstudio_configs) do\nlocal cfg = premake.getconfig(prj, cfginfo.src_buildcfg, cfginfo.src_platform)\n_p(' <PropertyGroup '.. if_config_and_platform() ..'>', premake.esc(cfginfo.name))\nvc2010.debugdir(cfg)\n_p(' </PropertyGroup>')\nend\n_p('</Project>')\nend\nlocal png1x1data = {\n0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, -- .PNG........IHDR\n0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x00, 0x00, 0x00, 0x25, 0xdb, 0x56, -- .............%.V\n0xca, 0x00, 0x00, 0x00, 0x03, 0x50, 0x4c, 0x54, 0x45, 0x00, 0x00, 0x00, 0xa7, 0x7a, 0x3d, 0xda, -- ..."
+ "..PLTE....z=.\n0x00, 0x00, 0x00, 0x01, 0x74, 0x52, 0x4e, 0x53, 0x00, 0x40, 0xe6, 0xd8, 0x66, 0x00, 0x00, 0x00, -- ....tRNS.@..f...\n0x0a, 0x49, 0x44, 0x41, 0x54, 0x08, 0xd7, 0x63, 0x60, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0xe2, -- .IDAT..c`.......\n0x21, 0xbc, 0x33, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82, -- !.3....IEND.B`.\n}\nfunction png1x1(obj, filename)\nfilename = premake.project.getfilename(obj, filename)\nlocal f, err = io.open(filename, \"wb\")\nif f then\nfor _, byte in ipairs(png1x1data) do\nf:write(string.char(byte))\nend\nf:close()\nend\nend\nfunction premake.vs2010_appxmanifest(prj)\nio.indent = \" \"\nio.eol = \"\\r\\n\"\n_p('<?xml version=\"1.0\" encoding=\"utf-8\"?>')\nif vstudio.toolset == \"v120_wp81\" then\n_p('<Package xmlns=\"http://schemas.microsoft.com/appx/2010/manifest\" xmlns:m2=\"http://schemas.microsoft.com/appx/2013/manifest\" xmlns:m3=\"http://schemas.microsoft.com/appx/2014/manifest\" xmlns:mp=\"http://schemas.microsoft.com/appx/2014/phone/"
+ "manifest\">')\nelseif vstudio.storeapp == \"8.1\" then\n_p('<Package xmlns=\"http://schemas.microsoft.com/appx/2010/manifest\" xmlns:m3=\"http://schemas.microsoft.com/appx/2013/manifest\">')\nelseif vstudio.storeapp == \"durango\" then\n_p('<Package xmlns=\"http://schemas.microsoft.com/appx/2010/manifest\" xmlns:mx=\"http://schemas.microsoft.com/appx/2013/xbox/manifest\" IgnorableNamespaces=\"mx\">')\nelse\n_p('<Package xmlns=\"http://schemas.microsoft.com/appx/manifest/foundation/windows10\" xmlns:mp=\"http://schemas.microsoft.com/appx/2014/phone/manifest\" xmlns:m3=\"http://schemas.microsoft.com/appx/manifest/uap/windows10\">')\nend\n_p(1,'<Identity Name=\"' .. prj.uuid .. '\"')\n_p(2,'Publisher=\"CN=Publisher\"')\n_p(2,'Version=\"1.0.0.0\" />')\nif vstudio.toolset == \"v120_wp81\" or vstudio.storeapp == \"8.2\" then\n_p(1,'<mp:PhoneIdentity PhoneProductId=\"' .. prj.uuid .. '\" PhonePublisherId=\"00000000-0000-0000-0000-000000000000\"/>')\nend\n_p(1, '<Properties>')\n_p(2, '<DisplayName>' .. prj.name .. '</"
+ "DisplayName>')\n_p(2, '<PublisherDisplayName>PublisherDisplayName</PublisherDisplayName>')\n_p(2, '<Logo>' .. prj.name .. '\\\\StoreLogo.png</Logo>')\npng1x1(prj, \"%%/StoreLogo.png\")\n_p(2, '<Description>' .. prj.name .. '</Description>')\n_p(1,'</Properties>')\nif vstudio.storeapp == \"8.2\" then\n_p(1, '<Dependencies>')\n_p(2, '<TargetDeviceFamily Name=\"Windows.Universal\" MinVersion=\"10.0.10069.0\" MaxVersionTested=\"10.0.10069.0\" />')\n_p(1, '</Dependencies>')\nelseif vstudio.storeapp == \"durango\" then\n_p(1, '<Prerequisites>')\n_p(2, '<OSMinVersion>6.2</OSMinVersion>')\n_p(2, '<OSMaxVersionTested>6.2</OSMaxVersionTested>')\n_p(1, '</Prerequisites>')\nelse\n_p(1, '<Prerequisites>')\n_p(2, '<OSMinVersion>6.3.0</OSMinVersion>')\n_p(2, '<OSMaxVersionTested>6.3.0</OSMaxVersionTested>')\n_p(1, '</Prerequisites>')\nend\n_p(1,'<Resources>')\n_p(2,'<Resource Language=\"en-us\"/>')\n_p(1,'</Resources>')\n_p(1,'<Applications>')\n_p(2,'<Application Id=\"App\"')\n_p(3,'Executable=\"$targetnametoken$.exe\"')\n_p"
+ "(3,'EntryPoint=\"' .. prj.name .. '.App\">')\nif vstudio.storeapp == \"durango\" then\n_p(3, '<VisualElements')\n_p(4, 'DisplayName=\"' .. prj.name .. '\"')\n_p(4, 'Logo=\"' .. prj.name .. '\\\\Logo.png\"')\npng1x1(prj, \"%%/Logo.png\")\n_p(4, 'SmallLogo=\"' .. prj.name .. '\\\\SmallLogo.png\"')\npng1x1(prj, \"%%/SmallLogo.png\")\n_p(4, 'Description=\"' .. prj.name .. '\"')\n_p(4, 'ForegroundText=\"light\"')\n_p(4, 'BackgroundColor=\"transparent\">')\n_p(5, '<SplashScreen Image=\"' .. prj.name .. '\\\\SplashScreen.png\" />')\npng1x1(prj, \"%%/SplashScreen.png\")\n_p(3, '</VisualElements>')\n_p(3, '<Extensions>')\n_p(4, '<mx:Extension Category=\"xbox.system.resources\">')\n_p(4, '<mx:XboxSystemResources />')\n_p(4, '</mx:Extension>')\n_p(3, '</Extensions>')\nelse\n_p(3, '<m3:VisualElements')\n_p(4, 'DisplayName=\"' .. prj.name .. '\"')\n_p(4, 'Square150x150Logo=\"' .. prj.name .. '\\\\Logo.png\"')\npng1x1(prj, \"%%/Logo.png\")\nif vstudio.toolset == \"v120_wp81\" or vstudio.storeapp == \"8.2\" then\n_p(4, 'Squa"
+ "re44x44Logo=\"' .. prj.name .. '\\\\SmallLogo.png\"')\npng1x1(prj, \"%%/SmallLogo.png\")\nelse\n_p(4, 'Square30x30Logo=\"' .. prj.name .. '\\\\SmallLogo.png\"')\npng1x1(prj, \"%%/SmallLogo.png\")\nend\n_p(4, 'Description=\"' .. prj.name .. '\"')\n_p(4, 'ForegroundText=\"light\"')\n_p(4, 'BackgroundColor=\"transparent\">')\n_p(4, '<m3:SplashScreen Image=\"' .. prj.name .. '\\\\SplashScreen.png\" />')\npng1x1(prj, \"%%/SplashScreen.png\")\n_p(3, '</m3:VisualElements>')\nend\n_p(2,'</Application>')\n_p(1,'</Applications>')\n_p('</Package>')\nend\n",
/* actions/vstudio/vstudio_vcxproj_filters.lua */
"local vc2010 = premake.vstudio.vc2010\nlocal project = premake.project\nfunction vc2010.filteridgroup(prj)\nlocal filters = { }\nlocal filterfound = false\nfor file in premake.project.eachfile(prj, true) do\nlocal folders = string.explode(file.vpath, \"/\", true)\nlocal path = \"\"\nfor i = 1, #folders - 1 do\nif not filterfound then\nfilterfound = true\n_p(1,'<ItemGroup>')\nend\npath = path .. folders[i]\nif not filters[path] then\nfilters[path] = true\n_p(2, '<Filter Include=\"%s\">', path)\n_p(3, '<UniqueIdentifier>{%s}</UniqueIdentifier>', os.uuid(path))\n_p(2, '</Filter>')\nend\npath = path .. \"\\\\\"\nend\nend\nfor _, custombuildtask in ipairs(prj.custombuildtask or {}) do\nfor _, buildtask in ipairs(custombuildtask or {}) do\nlocal folders = string.explode(path.trimdots(path.getrelative(prj.location,buildtask[1])), \"/\", true)\nlocal path = \"\"\nfor i = 1, #folders - 1 do\nif not filterfound then\nfilterfound = true\n_p(1,'<ItemGroup>')\nend\npath = path .. folders[i]\nif not filters[path] then\nfilt"
@@ -338,10 +337,6 @@ const char* builtin_scripts[] = {
"premake.vstudio.vc2017 = {}\nlocal vc2017 = premake.vstudio.vc2017\nlocal vstudio = premake.vstudio\nnewaction\n{\ntrigger = \"vs2017\",\nshortname = \"Visual Studio 2017\",\ndescription = \"Generate Microsoft Visual Studio 2017 project files\",\nos = \"windows\",\nvalid_kinds = { \"ConsoleApp\", \"WindowedApp\", \"StaticLib\", \"SharedLib\", \"Bundle\" },\nvalid_languages = { \"C\", \"C++\", \"C#\" },\nvalid_tools = {\ncc = { \"msc\" },\ndotnet = { \"msnet\" },\n},\nonsolution = function(sln)\npremake.generate(sln, \"%%.sln\", vstudio.sln2005.generate)\nend,\nonproject = function(prj)\nif premake.isdotnetproject(prj) then\npremake.generate(prj, \"%%.csproj\", vstudio.cs2005.generate)\npremake.generate(prj, \"%%.csproj.user\", vstudio.cs2005.generate_user)\nelse\npremake.vstudio.needAppxManifest = false\npremake.generate(prj, \"%%.vcxproj\", premake.vs2010_vcxproj)\npremake.generate(prj, \"%%.vcxproj.user\", premake.vs2010_vcxproj_user)\npremake.generate(prj, \"%%.v"
"cxproj.filters\", vstudio.vc2010.generate_filters)\nif premake.vstudio.needAppxManifest then\npremake.generate(prj, \"%%/Package.appxmanifest\", premake.vs2010_appxmanifest)\nend\nend\nend,\noncleansolution = premake.vstudio.cleansolution,\noncleanproject = premake.vstudio.cleanproject,\noncleantarget = premake.vstudio.cleantarget,\nvstudio = {\nsolutionVersion = \"12\",\ntargetFramework = \"4.5.2\",\ntoolsVersion = \"15.0\",\nwindowsTargetPlatformVersion = \"8.1\",\nsupports64bitEditContinue = true,\nintDirAbsolute = true,\n}\n}\n",
- /* actions/vstudio/vsllvm.lua */
- "premake.vstudio.vcllvm = {}\nlocal vcllvm = premake.vstudio.vcllvm\nlocal vstudio = premake.vstudio\nnewaction\n{\ntrigger = \"vsllvm\",\nshortname = \"Visual Studio LLVM\",\ndescription = \"Generate Microsoft Visual Studio LLVM project files\",\nos = \"windows\",\nvalid_kinds = { \"ConsoleApp\", \"WindowedApp\", \"StaticLib\", \"SharedLib\", \"Bundle\" },\nvalid_languages = { \"C\", \"C++\", \"C#\" },\nvalid_tools = {\ncc = { \"msc\" },\ndotnet = { \"msnet\" },\n},\nonsolution = function(sln)\npremake.generate(sln, \"%%.sln\", vstudio.sln2005.generate)\nend,\nonproject = function(prj)\nif premake.isdotnetproject(prj) then\npremake.generate(prj, \"%%.csproj\", vstudio.cs2005.generate)\npremake.generate(prj, \"%%.csproj.user\", vstudio.cs2005.generate_user)\nelse\npremake.vstudio.needAppxManifest = false\npremake.generate(prj, \"%%.vcxproj\", premake.vs2010_vcxproj)\npremake.generate(prj, \"%%.vcxproj.user\", premake.vs2010_vcxproj_user)\npremake.generate(prj, \"%%.v"
- "cxproj.filters\", vstudio.vc2010.generate_filters)\nif premake.vstudio.needAppxManifest then\npremake.generate(prj, \"%%/Package.appxmanifest\", premake.vs2010_appxmanifest)\nend\nend\nend,\noncleansolution = premake.vstudio.cleansolution,\noncleanproject = premake.vstudio.cleanproject,\noncleantarget = premake.vstudio.cleantarget,\nvstudio = {\nsolutionVersion = \"12\",\ntargetFramework = \"4.5.2\",\ntoolsVersion = \"15.0\",\nwindowsTargetPlatformVersion = \"8.1\",\nsupports64bitEditContinue = true,\nintDirAbsolute = true,\n}\n}\n",
-
/* actions/xcode/_xcode.lua */
"premake.xcode = { }\npremake.xcode.xcode6 = { }\nlocal function checkproject(prj)\nlocal last\nfor cfg in premake.eachconfig(prj) do\nif last and last ~= cfg.kind then\nerror(\"Project '\" .. prj.name .. \"' uses more than one target kind; not supported by Xcode\", 0)\nend\nlast = cfg.kind\nend\nend\npremake.xcode.toolset = \"macosx\"\nnewaction\n{\ntrigger = \"xcode3\",\nshortname = \"Xcode 3\",\ndescription = \"Generate Apple Xcode 3 project files (experimental)\",\nos = \"macosx\",\nvalid_kinds = { \"ConsoleApp\", \"WindowedApp\", \"StaticLib\", \"SharedLib\", \"Bundle\" },\nvalid_languages = { \"C\", \"C++\" },\nvalid_tools = {\ncc = { \"gcc\" },\n},\nvalid_platforms = {\nNative = \"Native\",\nx32 = \"Native 32-bit\",\nx64 = \"Native 64-bit\",\nUniversal32 = \"32-bit Universal\",\nUniversal64 = \"64-bit Universal\",\nUniversal = \"Universal\",\n},\ndefault_platform = \"Universal\",\nonsolution = function(sln)\npremake.xcode.preparesolution(sln)\nend,\nonproject = "
"function(prj)\npremake.generate(prj, \"%%.xcodeproj/project.pbxproj\", premake.xcode.project)\nend,\noncleanproject = function(prj)\npremake.clean.directory(prj, \"%%.xcodeproj\")\nend,\noncheckproject = checkproject,\n}\nnewaction\n{\ntrigger = \"xcode4\",\nshortname = \"Xcode 4\",\ndescription = \"Generate Apple Xcode 4 project files (experimental)\",\nos = \"macosx\",\nvalid_kinds = { \"ConsoleApp\", \"WindowedApp\", \"StaticLib\", \"SharedLib\", \"Bundle\" },\nvalid_languages = { \"C\", \"C++\" },\nvalid_tools = {\ncc = { \"gcc\" },\n},\nvalid_platforms = {\nNative = \"Native\",\nx32 = \"Native 32-bit\",\nx64 = \"Native 64-bit\",\nUniversal32 = \"32-bit Universal\",\nUniversal64 = \"64-bit Universal\",\nUniversal = \"Universal\",\n},\ndefault_platform = \"Universal\",\nonsolution = function(sln)\npremake.generate(sln, \"%%.xcworkspace/contents.xcworkspacedata\", premake.xcode4.workspace_generate)\nend,\nonproject = function(prj)\npremake.generate(prj, \"%%.xcodepr"
diff --git a/3rdparty/linenoise/linenoise.c b/3rdparty/linenoise/linenoise.c
index 2c5aac951b2..3c63ffe4a96 100644
--- a/3rdparty/linenoise/linenoise.c
+++ b/3rdparty/linenoise/linenoise.c
@@ -135,7 +135,7 @@
#include "linenoise.h"
#include "utf8.h"
-#define LINENOISE_DEFAULT_HISTORY_MAX_LEN 200
+#define LINENOISE_DEFAULT_HISTORY_MAX_LEN 100
#define LINENOISE_MAX_LINE 4096
#define ctrl(C) ((C) - '@')
diff --git a/3rdparty/lua-linenoise/linenoise.c b/3rdparty/lua-linenoise/linenoise.c
index aab7c1418ea..768d455729d 100644
--- a/3rdparty/lua-linenoise/linenoise.c
+++ b/3rdparty/lua-linenoise/linenoise.c
@@ -175,26 +175,12 @@ static int l_refresh(lua_State *L)
return handle_ln_ok(L);
}
-static int l_historyget(lua_State *L)
-{
- int len, i;
- char **history = linenoiseHistory(&len);
- lua_newtable(L);
- for(i = 0; i < len; i++)
- {
- lua_pushstring(L, history[i]);
- lua_rawseti(L, -2, i + 1);
- }
- return 1;
-}
-
luaL_Reg linenoise_funcs[] = {
{ "linenoise", l_linenoise },
{ "historyadd", l_historyadd },
{ "historysetmaxlen", l_historysetmaxlen },
{ "historysave", l_historysave },
{ "historyload", l_historyload },
- { "historyget", l_historyget },
{ "clearscreen", l_clearscreen },
{ "setcompletion", l_setcompletion},
{ "addcompletion", l_addcompletion },
diff --git a/3rdparty/lua/src/lundump.c b/3rdparty/lua/src/lundump.c
index 71bb1512142..4080af9c0d9 100644
--- a/3rdparty/lua/src/lundump.c
+++ b/3rdparty/lua/src/lundump.c
@@ -234,7 +234,7 @@ static void fchecksize (LoadState *S, size_t size, const char *tname) {
#define checksize(S,t) fchecksize(S,sizeof(t),#t)
static void checkHeader (LoadState *S) {
- checkliteral(S, (const char *)(LUA_SIGNATURE) + 1, "not a"); /* 1st char already checked */
+ checkliteral(S, LUA_SIGNATURE + 1, "not a"); /* 1st char already checked */
if (LoadByte(S) != LUAC_VERSION)
error(S, "version mismatch in");
if (LoadByte(S) != LUAC_FORMAT)
diff --git a/3rdparty/lzma/C/AesOpt.c b/3rdparty/lzma/C/AesOpt.c
index 8234f0d1465..10a8fb25c51 100644
--- a/3rdparty/lzma/C/AesOpt.c
+++ b/3rdparty/lzma/C/AesOpt.c
@@ -6,7 +6,7 @@
#include "CpuArch.h"
#ifdef MY_CPU_X86_OR_AMD64
-#if _MSC_VER >= 1500 && !defined(__clang__)
+#if _MSC_VER >= 1500
#define USE_INTEL_AES
#endif
#endif
diff --git a/3rdparty/portaudio/src/hostapi/dsound/pa_win_ds.c b/3rdparty/portaudio/src/hostapi/dsound/pa_win_ds.c
index f0e09ce417a..e8f21af1b14 100644
--- a/3rdparty/portaudio/src/hostapi/dsound/pa_win_ds.c
+++ b/3rdparty/portaudio/src/hostapi/dsound/pa_win_ds.c
@@ -2917,7 +2917,7 @@ static PaError StartStream( PaStream *s )
{
PaError result = paNoError;
PaWinDsStream *stream = (PaWinDsStream*)s;
- HRESULT hr = -1;
+ HRESULT hr;
stream->callbackResult = paContinue;
PaUtil_ResetBufferProcessor( &stream->bufferProcessor );
diff --git a/3rdparty/portaudio/src/hostapi/wdmks/pa_win_wdmks.c b/3rdparty/portaudio/src/hostapi/wdmks/pa_win_wdmks.c
index 9ffe97ec035..915ca2a0224 100644
--- a/3rdparty/portaudio/src/hostapi/wdmks/pa_win_wdmks.c
+++ b/3rdparty/portaudio/src/hostapi/wdmks/pa_win_wdmks.c
@@ -122,7 +122,7 @@ Default is to use the pin category.
#define PA_WDMKS_USE_CATEGORY_FOR_PIN_NAMES 1
#endif
-#if defined(__GNUC__) || (defined(_MSC_VER) && defined(__clang__))
+#ifdef __GNUC__
#undef PA_LOGE_
#define PA_LOGE_ PA_DEBUG(("%s {\n",__FUNCTION__))
#undef PA_LOGL_
@@ -158,7 +158,7 @@ Default is to use the pin category.
#define PA_THREAD_FUNC static DWORD WINAPI
#endif
-#if defined(_MSC_VER) && !defined(__clang__)
+#ifdef _MSC_VER
#define NOMMIDS
#define DYNAMIC_GUID(data) {data}
#define _NTRTL_ /* Turn off default definition of DEFINE_GUIDEX */
diff --git a/3rdparty/portaudio/src/hostapi/wmme/pa_win_wmme.c b/3rdparty/portaudio/src/hostapi/wmme/pa_win_wmme.c
index 7ffe9507b89..7c4a369d99d 100644
--- a/3rdparty/portaudio/src/hostapi/wmme/pa_win_wmme.c
+++ b/3rdparty/portaudio/src/hostapi/wmme/pa_win_wmme.c
@@ -2533,7 +2533,7 @@ static PaError OpenStream( struct PaUtilHostApiRepresentation *hostApi,
{
framesPerBufferProcessorCall = framesPerHostInputBuffer;
}
- else //if( outputParameters )
+ else if( outputParameters )
{
framesPerBufferProcessorCall = framesPerHostOutputBuffer;
}
diff --git a/3rdparty/softfloat3/build/MAME/platform.h b/3rdparty/softfloat3/build/MAME/platform.h
index 5dfa704955c..96fc81e348e 100644
--- a/3rdparty/softfloat3/build/MAME/platform.h
+++ b/3rdparty/softfloat3/build/MAME/platform.h
@@ -54,7 +54,7 @@ Softfloat 3 MAME modifications
/*----------------------------------------------------------------------------
*----------------------------------------------------------------------------*/
-#if defined(_MSC_VER) && !defined(__clang__)
+#if defined(_MSC_VER)
#define _INC_MALLOC 0
#include <intrin.h>
diff --git a/LICENSE.md b/LICENSE.md
index b039d9596fd..c1add6e5bca 100644
--- a/LICENSE.md
+++ b/LICENSE.md
@@ -4,7 +4,7 @@ MAME is a registered trademark of Gregory Ember.
The text of version 2 of the GNU General Public License follows.
- Copyright (C) 1997-2019 MAMEDev and contributors
+ Copyright (C) 1997-2017 MAMEDev and contributors
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/README.md b/README.md
index 100fe401a78..22d62f68ace 100644
--- a/README.md
+++ b/README.md
@@ -93,7 +93,7 @@ Please note that MAME is a registered trademark of Gregory Ember, and permission
<img align="right" src="http://opensource.org/trademarks/opensource/OSI-Approved-License-100x137.png">
</a>
- Copyright (C) 1997-2019 MAMEDev and contributors
+ Copyright (C) 1997-2018 MAMEDev and contributors
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/android-project/LICENSE b/android-project/LICENSE
index fb9f046cc43..844daf41951 100644
--- a/android-project/LICENSE
+++ b/android-project/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2019, MAME Development Team
+Copyright (c) 2018, MAME Development Team
All rights reserved.
Redistribution and use in source and binary forms, with or without
diff --git a/android-project/app/src/main/AndroidManifest.xml b/android-project/app/src/main/AndroidManifest.xml
index f450c57b31a..63576631b81 100644
--- a/android-project/app/src/main/AndroidManifest.xml
+++ b/android-project/app/src/main/AndroidManifest.xml
@@ -4,8 +4,8 @@
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.mamedev.mame"
- android:versionCode="207"
- android:versionName="0.207"
+ android:versionCode="205"
+ android:versionName="0.205"
android:installLocation="auto">
<!-- OpenGL ES 2.0 -->
diff --git a/benchmarks/LICENSE b/benchmarks/LICENSE
index fb9f046cc43..844daf41951 100644
--- a/benchmarks/LICENSE
+++ b/benchmarks/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2019, MAME Development Team
+Copyright (c) 2018, MAME Development Team
All rights reserved.
Redistribution and use in source and binary forms, with or without
diff --git a/bgfx/shaders/essl/chains/hlsl/fs_chroma.bin b/bgfx/shaders/essl/chains/hlsl/fs_chroma.bin
index 6a4f6bedc52..1bddda86292 100644
--- a/bgfx/shaders/essl/chains/hlsl/fs_chroma.bin
+++ b/bgfx/shaders/essl/chains/hlsl/fs_chroma.bin
Binary files differ
diff --git a/bgfx/shaders/essl/chains/hlsl/fs_color.bin b/bgfx/shaders/essl/chains/hlsl/fs_color.bin
index 9117e0c8476..5377956c6d9 100644
--- a/bgfx/shaders/essl/chains/hlsl/fs_color.bin
+++ b/bgfx/shaders/essl/chains/hlsl/fs_color.bin
Binary files differ
diff --git a/bgfx/shaders/essl/chains/hlsl/fs_deconverge.bin b/bgfx/shaders/essl/chains/hlsl/fs_deconverge.bin
index 01862669adf..daf1939b0ff 100644
--- a/bgfx/shaders/essl/chains/hlsl/fs_deconverge.bin
+++ b/bgfx/shaders/essl/chains/hlsl/fs_deconverge.bin
Binary files differ
diff --git a/bgfx/shaders/essl/chains/hlsl/fs_defocus.bin b/bgfx/shaders/essl/chains/hlsl/fs_defocus.bin
index 4a33e90f0aa..2d05ded91cf 100644
--- a/bgfx/shaders/essl/chains/hlsl/fs_defocus.bin
+++ b/bgfx/shaders/essl/chains/hlsl/fs_defocus.bin
Binary files differ
diff --git a/bgfx/shaders/essl/chains/hlsl/fs_distortion.bin b/bgfx/shaders/essl/chains/hlsl/fs_distortion.bin
index f0c0cb31db5..55bddc845f7 100644
--- a/bgfx/shaders/essl/chains/hlsl/fs_distortion.bin
+++ b/bgfx/shaders/essl/chains/hlsl/fs_distortion.bin
Binary files differ
diff --git a/bgfx/shaders/essl/chains/hlsl/fs_ntsc_decode.bin b/bgfx/shaders/essl/chains/hlsl/fs_ntsc_decode.bin
index d84d52589ec..6475d1b7981 100644
--- a/bgfx/shaders/essl/chains/hlsl/fs_ntsc_decode.bin
+++ b/bgfx/shaders/essl/chains/hlsl/fs_ntsc_decode.bin
Binary files differ
diff --git a/bgfx/shaders/essl/chains/hlsl/fs_ntsc_encode.bin b/bgfx/shaders/essl/chains/hlsl/fs_ntsc_encode.bin
index 504c16cca2b..1c9e70f1608 100644
--- a/bgfx/shaders/essl/chains/hlsl/fs_ntsc_encode.bin
+++ b/bgfx/shaders/essl/chains/hlsl/fs_ntsc_encode.bin
Binary files differ
diff --git a/bgfx/shaders/essl/chains/hlsl/fs_phosphor.bin b/bgfx/shaders/essl/chains/hlsl/fs_phosphor.bin
index b633d32db30..3caef0bec22 100644
--- a/bgfx/shaders/essl/chains/hlsl/fs_phosphor.bin
+++ b/bgfx/shaders/essl/chains/hlsl/fs_phosphor.bin
Binary files differ
diff --git a/bgfx/shaders/essl/chains/hlsl/fs_post.bin b/bgfx/shaders/essl/chains/hlsl/fs_post.bin
index 941f71dd090..4704bd96769 100644
--- a/bgfx/shaders/essl/chains/hlsl/fs_post.bin
+++ b/bgfx/shaders/essl/chains/hlsl/fs_post.bin
Binary files differ
diff --git a/bgfx/shaders/essl/chains/hlsl/fs_prescale.bin b/bgfx/shaders/essl/chains/hlsl/fs_prescale.bin
index da3153781f1..3096cd5f45d 100644
--- a/bgfx/shaders/essl/chains/hlsl/fs_prescale.bin
+++ b/bgfx/shaders/essl/chains/hlsl/fs_prescale.bin
Binary files differ
diff --git a/bgfx/shaders/essl/chains/hlsl/fs_scanline.bin b/bgfx/shaders/essl/chains/hlsl/fs_scanline.bin
index d57df4d9c56..6d383ca99c5 100644
--- a/bgfx/shaders/essl/chains/hlsl/fs_scanline.bin
+++ b/bgfx/shaders/essl/chains/hlsl/fs_scanline.bin
Binary files differ
diff --git a/bgfx/shaders/essl/chains/hlsl/vs_chroma.bin b/bgfx/shaders/essl/chains/hlsl/vs_chroma.bin
index 5c56e57ab49..02eb754eaa3 100644
--- a/bgfx/shaders/essl/chains/hlsl/vs_chroma.bin
+++ b/bgfx/shaders/essl/chains/hlsl/vs_chroma.bin
Binary files differ
diff --git a/bgfx/shaders/essl/chains/hlsl/vs_color.bin b/bgfx/shaders/essl/chains/hlsl/vs_color.bin
index 5c56e57ab49..02eb754eaa3 100644
--- a/bgfx/shaders/essl/chains/hlsl/vs_color.bin
+++ b/bgfx/shaders/essl/chains/hlsl/vs_color.bin
Binary files differ
diff --git a/bgfx/shaders/essl/chains/hlsl/vs_deconverge.bin b/bgfx/shaders/essl/chains/hlsl/vs_deconverge.bin
index 504401e44fd..3cdde129494 100644
--- a/bgfx/shaders/essl/chains/hlsl/vs_deconverge.bin
+++ b/bgfx/shaders/essl/chains/hlsl/vs_deconverge.bin
Binary files differ
diff --git a/bgfx/shaders/essl/chains/hlsl/vs_defocus.bin b/bgfx/shaders/essl/chains/hlsl/vs_defocus.bin
index 5c56e57ab49..02eb754eaa3 100644
--- a/bgfx/shaders/essl/chains/hlsl/vs_defocus.bin
+++ b/bgfx/shaders/essl/chains/hlsl/vs_defocus.bin
Binary files differ
diff --git a/bgfx/shaders/essl/chains/hlsl/vs_distortion.bin b/bgfx/shaders/essl/chains/hlsl/vs_distortion.bin
index 5c56e57ab49..02eb754eaa3 100644
--- a/bgfx/shaders/essl/chains/hlsl/vs_distortion.bin
+++ b/bgfx/shaders/essl/chains/hlsl/vs_distortion.bin
Binary files differ
diff --git a/bgfx/shaders/essl/chains/hlsl/vs_ntsc_decode.bin b/bgfx/shaders/essl/chains/hlsl/vs_ntsc_decode.bin
index 5c56e57ab49..02eb754eaa3 100644
--- a/bgfx/shaders/essl/chains/hlsl/vs_ntsc_decode.bin
+++ b/bgfx/shaders/essl/chains/hlsl/vs_ntsc_decode.bin
Binary files differ
diff --git a/bgfx/shaders/essl/chains/hlsl/vs_ntsc_encode.bin b/bgfx/shaders/essl/chains/hlsl/vs_ntsc_encode.bin
index 5c56e57ab49..02eb754eaa3 100644
--- a/bgfx/shaders/essl/chains/hlsl/vs_ntsc_encode.bin
+++ b/bgfx/shaders/essl/chains/hlsl/vs_ntsc_encode.bin
Binary files differ
diff --git a/bgfx/shaders/essl/chains/hlsl/vs_phosphor.bin b/bgfx/shaders/essl/chains/hlsl/vs_phosphor.bin
index 5c56e57ab49..02eb754eaa3 100644
--- a/bgfx/shaders/essl/chains/hlsl/vs_phosphor.bin
+++ b/bgfx/shaders/essl/chains/hlsl/vs_phosphor.bin
Binary files differ
diff --git a/bgfx/shaders/essl/chains/hlsl/vs_post.bin b/bgfx/shaders/essl/chains/hlsl/vs_post.bin
index 5c56e57ab49..02eb754eaa3 100644
--- a/bgfx/shaders/essl/chains/hlsl/vs_post.bin
+++ b/bgfx/shaders/essl/chains/hlsl/vs_post.bin
Binary files differ
diff --git a/bgfx/shaders/essl/chains/hlsl/vs_prescale.bin b/bgfx/shaders/essl/chains/hlsl/vs_prescale.bin
index 5c56e57ab49..02eb754eaa3 100644
--- a/bgfx/shaders/essl/chains/hlsl/vs_prescale.bin
+++ b/bgfx/shaders/essl/chains/hlsl/vs_prescale.bin
Binary files differ
diff --git a/bgfx/shaders/essl/chains/hlsl/vs_scanline.bin b/bgfx/shaders/essl/chains/hlsl/vs_scanline.bin
index 5c56e57ab49..02eb754eaa3 100644
--- a/bgfx/shaders/essl/chains/hlsl/vs_scanline.bin
+++ b/bgfx/shaders/essl/chains/hlsl/vs_scanline.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/hlsl/fs_chroma.bin b/bgfx/shaders/glsl/chains/hlsl/fs_chroma.bin
index 72bfcdb481a..6f9655c3c84 100644
--- a/bgfx/shaders/glsl/chains/hlsl/fs_chroma.bin
+++ b/bgfx/shaders/glsl/chains/hlsl/fs_chroma.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/hlsl/fs_color.bin b/bgfx/shaders/glsl/chains/hlsl/fs_color.bin
index 82d073ee4a8..0b0fc9574f6 100644
--- a/bgfx/shaders/glsl/chains/hlsl/fs_color.bin
+++ b/bgfx/shaders/glsl/chains/hlsl/fs_color.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/hlsl/fs_deconverge.bin b/bgfx/shaders/glsl/chains/hlsl/fs_deconverge.bin
index d61a6324f96..6f3aea8b7e7 100644
--- a/bgfx/shaders/glsl/chains/hlsl/fs_deconverge.bin
+++ b/bgfx/shaders/glsl/chains/hlsl/fs_deconverge.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/hlsl/fs_defocus.bin b/bgfx/shaders/glsl/chains/hlsl/fs_defocus.bin
index 98b5074feb3..811be64743d 100644
--- a/bgfx/shaders/glsl/chains/hlsl/fs_defocus.bin
+++ b/bgfx/shaders/glsl/chains/hlsl/fs_defocus.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/hlsl/fs_distortion.bin b/bgfx/shaders/glsl/chains/hlsl/fs_distortion.bin
index 28413200313..a04d209a6ca 100644
--- a/bgfx/shaders/glsl/chains/hlsl/fs_distortion.bin
+++ b/bgfx/shaders/glsl/chains/hlsl/fs_distortion.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/hlsl/fs_ntsc_decode.bin b/bgfx/shaders/glsl/chains/hlsl/fs_ntsc_decode.bin
index a32f0797402..47a4a94850e 100644
--- a/bgfx/shaders/glsl/chains/hlsl/fs_ntsc_decode.bin
+++ b/bgfx/shaders/glsl/chains/hlsl/fs_ntsc_decode.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/hlsl/fs_ntsc_encode.bin b/bgfx/shaders/glsl/chains/hlsl/fs_ntsc_encode.bin
index a5985955b8d..3d69369ba52 100644
--- a/bgfx/shaders/glsl/chains/hlsl/fs_ntsc_encode.bin
+++ b/bgfx/shaders/glsl/chains/hlsl/fs_ntsc_encode.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/hlsl/fs_phosphor.bin b/bgfx/shaders/glsl/chains/hlsl/fs_phosphor.bin
index e92c4fd4a90..30481fbbc2d 100644
--- a/bgfx/shaders/glsl/chains/hlsl/fs_phosphor.bin
+++ b/bgfx/shaders/glsl/chains/hlsl/fs_phosphor.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/hlsl/fs_post.bin b/bgfx/shaders/glsl/chains/hlsl/fs_post.bin
index 837341e3557..cf1638a8d4c 100644
--- a/bgfx/shaders/glsl/chains/hlsl/fs_post.bin
+++ b/bgfx/shaders/glsl/chains/hlsl/fs_post.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/hlsl/fs_prescale.bin b/bgfx/shaders/glsl/chains/hlsl/fs_prescale.bin
index ed53d46066a..fc51a68ad85 100644
--- a/bgfx/shaders/glsl/chains/hlsl/fs_prescale.bin
+++ b/bgfx/shaders/glsl/chains/hlsl/fs_prescale.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/hlsl/fs_scanline.bin b/bgfx/shaders/glsl/chains/hlsl/fs_scanline.bin
index 8783d3ac45c..e9ca861a2a8 100644
--- a/bgfx/shaders/glsl/chains/hlsl/fs_scanline.bin
+++ b/bgfx/shaders/glsl/chains/hlsl/fs_scanline.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/hlsl/vs_chroma.bin b/bgfx/shaders/glsl/chains/hlsl/vs_chroma.bin
index f09fdcd6fd8..391ef1fda40 100644
--- a/bgfx/shaders/glsl/chains/hlsl/vs_chroma.bin
+++ b/bgfx/shaders/glsl/chains/hlsl/vs_chroma.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/hlsl/vs_color.bin b/bgfx/shaders/glsl/chains/hlsl/vs_color.bin
index f09fdcd6fd8..391ef1fda40 100644
--- a/bgfx/shaders/glsl/chains/hlsl/vs_color.bin
+++ b/bgfx/shaders/glsl/chains/hlsl/vs_color.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/hlsl/vs_deconverge.bin b/bgfx/shaders/glsl/chains/hlsl/vs_deconverge.bin
index 2515ee7efb1..e58cf0f8814 100644
--- a/bgfx/shaders/glsl/chains/hlsl/vs_deconverge.bin
+++ b/bgfx/shaders/glsl/chains/hlsl/vs_deconverge.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/hlsl/vs_defocus.bin b/bgfx/shaders/glsl/chains/hlsl/vs_defocus.bin
index f09fdcd6fd8..391ef1fda40 100644
--- a/bgfx/shaders/glsl/chains/hlsl/vs_defocus.bin
+++ b/bgfx/shaders/glsl/chains/hlsl/vs_defocus.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/hlsl/vs_distortion.bin b/bgfx/shaders/glsl/chains/hlsl/vs_distortion.bin
index f09fdcd6fd8..391ef1fda40 100644
--- a/bgfx/shaders/glsl/chains/hlsl/vs_distortion.bin
+++ b/bgfx/shaders/glsl/chains/hlsl/vs_distortion.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/hlsl/vs_ntsc_decode.bin b/bgfx/shaders/glsl/chains/hlsl/vs_ntsc_decode.bin
index f09fdcd6fd8..391ef1fda40 100644
--- a/bgfx/shaders/glsl/chains/hlsl/vs_ntsc_decode.bin
+++ b/bgfx/shaders/glsl/chains/hlsl/vs_ntsc_decode.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/hlsl/vs_ntsc_encode.bin b/bgfx/shaders/glsl/chains/hlsl/vs_ntsc_encode.bin
index f09fdcd6fd8..391ef1fda40 100644
--- a/bgfx/shaders/glsl/chains/hlsl/vs_ntsc_encode.bin
+++ b/bgfx/shaders/glsl/chains/hlsl/vs_ntsc_encode.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/hlsl/vs_phosphor.bin b/bgfx/shaders/glsl/chains/hlsl/vs_phosphor.bin
index f09fdcd6fd8..391ef1fda40 100644
--- a/bgfx/shaders/glsl/chains/hlsl/vs_phosphor.bin
+++ b/bgfx/shaders/glsl/chains/hlsl/vs_phosphor.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/hlsl/vs_post.bin b/bgfx/shaders/glsl/chains/hlsl/vs_post.bin
index f09fdcd6fd8..391ef1fda40 100644
--- a/bgfx/shaders/glsl/chains/hlsl/vs_post.bin
+++ b/bgfx/shaders/glsl/chains/hlsl/vs_post.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/hlsl/vs_prescale.bin b/bgfx/shaders/glsl/chains/hlsl/vs_prescale.bin
index f09fdcd6fd8..391ef1fda40 100644
--- a/bgfx/shaders/glsl/chains/hlsl/vs_prescale.bin
+++ b/bgfx/shaders/glsl/chains/hlsl/vs_prescale.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/hlsl/vs_scanline.bin b/bgfx/shaders/glsl/chains/hlsl/vs_scanline.bin
index f09fdcd6fd8..391ef1fda40 100644
--- a/bgfx/shaders/glsl/chains/hlsl/vs_scanline.bin
+++ b/bgfx/shaders/glsl/chains/hlsl/vs_scanline.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/hlsl/fs_chroma.bin b/bgfx/shaders/metal/chains/hlsl/fs_chroma.bin
index c66a63eca60..5fbf69c557d 100644
--- a/bgfx/shaders/metal/chains/hlsl/fs_chroma.bin
+++ b/bgfx/shaders/metal/chains/hlsl/fs_chroma.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/hlsl/fs_color.bin b/bgfx/shaders/metal/chains/hlsl/fs_color.bin
index 830ca99ee07..7a6d383fb11 100644
--- a/bgfx/shaders/metal/chains/hlsl/fs_color.bin
+++ b/bgfx/shaders/metal/chains/hlsl/fs_color.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/hlsl/fs_deconverge.bin b/bgfx/shaders/metal/chains/hlsl/fs_deconverge.bin
index 3a7522f410c..4e077d73f1d 100644
--- a/bgfx/shaders/metal/chains/hlsl/fs_deconverge.bin
+++ b/bgfx/shaders/metal/chains/hlsl/fs_deconverge.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/hlsl/fs_defocus.bin b/bgfx/shaders/metal/chains/hlsl/fs_defocus.bin
index a871417427c..06ce186d00f 100644
--- a/bgfx/shaders/metal/chains/hlsl/fs_defocus.bin
+++ b/bgfx/shaders/metal/chains/hlsl/fs_defocus.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/hlsl/fs_distortion.bin b/bgfx/shaders/metal/chains/hlsl/fs_distortion.bin
index 7ab3866c883..112560ef520 100644
--- a/bgfx/shaders/metal/chains/hlsl/fs_distortion.bin
+++ b/bgfx/shaders/metal/chains/hlsl/fs_distortion.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/hlsl/fs_ntsc_decode.bin b/bgfx/shaders/metal/chains/hlsl/fs_ntsc_decode.bin
index fe4a7fe65ec..bedfc8fc1fa 100644
--- a/bgfx/shaders/metal/chains/hlsl/fs_ntsc_decode.bin
+++ b/bgfx/shaders/metal/chains/hlsl/fs_ntsc_decode.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/hlsl/fs_ntsc_encode.bin b/bgfx/shaders/metal/chains/hlsl/fs_ntsc_encode.bin
index 0d4c9da04a0..27a7035a763 100644
--- a/bgfx/shaders/metal/chains/hlsl/fs_ntsc_encode.bin
+++ b/bgfx/shaders/metal/chains/hlsl/fs_ntsc_encode.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/hlsl/fs_phosphor.bin b/bgfx/shaders/metal/chains/hlsl/fs_phosphor.bin
index d0f4d1b98d6..a13f498c779 100644
--- a/bgfx/shaders/metal/chains/hlsl/fs_phosphor.bin
+++ b/bgfx/shaders/metal/chains/hlsl/fs_phosphor.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/hlsl/fs_post.bin b/bgfx/shaders/metal/chains/hlsl/fs_post.bin
index f3f5e502e03..f767a135e26 100644
--- a/bgfx/shaders/metal/chains/hlsl/fs_post.bin
+++ b/bgfx/shaders/metal/chains/hlsl/fs_post.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/hlsl/fs_prescale.bin b/bgfx/shaders/metal/chains/hlsl/fs_prescale.bin
index d05a15336cb..54401a846b4 100644
--- a/bgfx/shaders/metal/chains/hlsl/fs_prescale.bin
+++ b/bgfx/shaders/metal/chains/hlsl/fs_prescale.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/hlsl/fs_scanline.bin b/bgfx/shaders/metal/chains/hlsl/fs_scanline.bin
index c43dc275b77..c7e4065d7bf 100644
--- a/bgfx/shaders/metal/chains/hlsl/fs_scanline.bin
+++ b/bgfx/shaders/metal/chains/hlsl/fs_scanline.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/hlsl/vs_chroma.bin b/bgfx/shaders/metal/chains/hlsl/vs_chroma.bin
index 304299d80c2..00695b802d3 100644
--- a/bgfx/shaders/metal/chains/hlsl/vs_chroma.bin
+++ b/bgfx/shaders/metal/chains/hlsl/vs_chroma.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/hlsl/vs_color.bin b/bgfx/shaders/metal/chains/hlsl/vs_color.bin
index 304299d80c2..00695b802d3 100644
--- a/bgfx/shaders/metal/chains/hlsl/vs_color.bin
+++ b/bgfx/shaders/metal/chains/hlsl/vs_color.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/hlsl/vs_deconverge.bin b/bgfx/shaders/metal/chains/hlsl/vs_deconverge.bin
index 79ec1e7ebe1..3b34e5a5578 100644
--- a/bgfx/shaders/metal/chains/hlsl/vs_deconverge.bin
+++ b/bgfx/shaders/metal/chains/hlsl/vs_deconverge.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/hlsl/vs_defocus.bin b/bgfx/shaders/metal/chains/hlsl/vs_defocus.bin
index 304299d80c2..00695b802d3 100644
--- a/bgfx/shaders/metal/chains/hlsl/vs_defocus.bin
+++ b/bgfx/shaders/metal/chains/hlsl/vs_defocus.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/hlsl/vs_distortion.bin b/bgfx/shaders/metal/chains/hlsl/vs_distortion.bin
index 304299d80c2..00695b802d3 100644
--- a/bgfx/shaders/metal/chains/hlsl/vs_distortion.bin
+++ b/bgfx/shaders/metal/chains/hlsl/vs_distortion.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/hlsl/vs_ntsc_decode.bin b/bgfx/shaders/metal/chains/hlsl/vs_ntsc_decode.bin
index 304299d80c2..00695b802d3 100644
--- a/bgfx/shaders/metal/chains/hlsl/vs_ntsc_decode.bin
+++ b/bgfx/shaders/metal/chains/hlsl/vs_ntsc_decode.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/hlsl/vs_ntsc_encode.bin b/bgfx/shaders/metal/chains/hlsl/vs_ntsc_encode.bin
index 304299d80c2..00695b802d3 100644
--- a/bgfx/shaders/metal/chains/hlsl/vs_ntsc_encode.bin
+++ b/bgfx/shaders/metal/chains/hlsl/vs_ntsc_encode.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/hlsl/vs_phosphor.bin b/bgfx/shaders/metal/chains/hlsl/vs_phosphor.bin
index 304299d80c2..00695b802d3 100644
--- a/bgfx/shaders/metal/chains/hlsl/vs_phosphor.bin
+++ b/bgfx/shaders/metal/chains/hlsl/vs_phosphor.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/hlsl/vs_post.bin b/bgfx/shaders/metal/chains/hlsl/vs_post.bin
index 304299d80c2..00695b802d3 100644
--- a/bgfx/shaders/metal/chains/hlsl/vs_post.bin
+++ b/bgfx/shaders/metal/chains/hlsl/vs_post.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/hlsl/vs_prescale.bin b/bgfx/shaders/metal/chains/hlsl/vs_prescale.bin
index 304299d80c2..00695b802d3 100644
--- a/bgfx/shaders/metal/chains/hlsl/vs_prescale.bin
+++ b/bgfx/shaders/metal/chains/hlsl/vs_prescale.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/hlsl/vs_scanline.bin b/bgfx/shaders/metal/chains/hlsl/vs_scanline.bin
index 304299d80c2..00695b802d3 100644
--- a/bgfx/shaders/metal/chains/hlsl/vs_scanline.bin
+++ b/bgfx/shaders/metal/chains/hlsl/vs_scanline.bin
Binary files differ
diff --git a/docs/source/advanced/multiconfig.rst b/docs/source/advanced/multiconfig.rst
index abae10f5a78..48385781392 100644
--- a/docs/source/advanced/multiconfig.rst
+++ b/docs/source/advanced/multiconfig.rst
@@ -8,115 +8,44 @@ MAME has a very powerful configuration file system that can allow you to tweak s
Order of Config Loading
-----------------------
-1. The command line is parsed first, and any settings passed that way *will take
- precedence over anything in an INI file*.
-
-2. ``mame.ini`` (or other platform INI; e.g. ``mess.ini``) is parsed twice. The
- first pass may change various path settings, so the second pass is done to
- see if there is a valid configuration file at that new location (and if so,
- change settings using that file).
-
-3. ``debug.ini`` if the debugger is enabled. This is an advanced config file,
- most people won't need to use it or be concerned by it.
-
-4. Screen orientation INI file (either ``horizont.ini`` or ``vertical.ini``).
- For example Pac-Man has a vertical screen, so it loads ``vertical.ini``,
- while Street Fighter Alpha uses a horizontal screen, so it loads
- ``horizont.ini``.
-
- Systems with no monitors, multiple monitors with different orientations, or
- monitors connected to slot devices will usually load ``horizont.ini``.
-
-5. System type INI file (``arcade.ini``, ``console.ini``, ``computer.ini``, or
- ``othersys.ini``). Both Pac-Man and Street Fighter Alpha are arcade games,
- so ``arcade.ini`` will be loaded here, while Atari 2600 will load
- ``console.ini`` as it is a home game console.
-
-6. Monitor type INI file (``vector.ini`` for vector monitors, ``raster.ini`` for
- CRT raster monitors, or ``lcd.ini`` for LCD/EL/plasma matrix monitors).
- Pac-Man and Street Fighter Alpha use raster CRTs, so ``raster.ini`` is loaded
- here, while Tempest uses a vector monitor, so ``vector.ini`` is loaded here.
-
- For systems that have multiple monitor types, such as House Mannequin with
- its CRT raster monitor and dual LCD matrix monitors, the INI file relevant to
- the first monitor is used (``raster.ini`` in this case). Systems without
- monitors or with other kinds of monitors will not load an INI file for this
- step.
-
-7. Driver source file INI file. MAME will attempt to load
- ``source/``\ *<sourcefile>*\ ``.ini`` where *<sourcefile>* is the base name
- of the source code file where the system driver is defined. A system's
- source file can be found using **mame -listsource <pattern>** at the command
- line.
-
- For instance, Banpresto's Sailor Moon, Atlus's Dodonpachi, and Nihon System's
- Dangun Feveron all run on similar hardware and are defined in the
- ``cave.cpp`` source file, so they will all load ``source/cave.ini`` at this
- step.
-
-8. BIOS set INI file (if applicable). For example The Last Soldier uses the
- Neo-Geo MVS BIOS, so it will load ``neogeo.ini``. Systems that don't use a
- BIOS set won't load an INI file for this step.
-
-9. Parent system INI file. For example The Last Soldier is a clone of The Last
- Blade / Bakumatsu Roman - Gekka no Kenshi, so it will load ``lastblad.ini``.
- Parent systems will not load an INI file for this step.
-
-10. System INI file. Using the previous example, The Last Soldier will load
- ``lastsold.ini``.
+1. The command line is parsed first, and any settings passed that way *will take priority over anything in an INI file*.
+2. ``mame.ini`` (or other platform INI; e.g. ``mess.ini``) is parsed twice.
+ The first pass may change various path settings, so the second pass is done to see if there is a valid config file at that new location (and if so, change settings using that file)
+3. ``debug.ini`` if in debug mode.
+ This is an advanced config file, most people won't need to use it or be concerned by it.
+4. System-specific INI files where appropriate (e.g. ``neogeo_noslot.ini`` or ``cps2.ini``)
+ As an example, Street Fighter Alpha is a CPS2 game, and so ``cps2.ini`` would be loaded here.
+5. Monitor orientation INI file (either ``horizont.ini`` or ``vertical.ini``)
+ Pac-Man, for one example, is a vertical monitor setup, so it would load ``vertical.ini``. Street Fighter Alpha is a horizontal game, so it loads ``horizont.ini``.
+6. System-type INI files (``arcade.ini``, ``console.ini``, ``computer.ini``, or ``othersys.ini``)
+ Both Pac-Man and Street Fighter Alpha are arcade games, so ``arcade.ini`` would be loaded here. Atari 2600 would load ``console.ini``.
+7. Screen-type INI file (``vector.ini`` for vector games, ``raster.ini`` for raster games, ``lcd.ini`` for LCD games)
+ Pac-Man and Street Fighter Alpha are raster, so ``raster.ini`` gets loaded here. Tempest is a vector monitor game, and ``vector.ini`` would be loaded here.
+8. Source INI files.
+ This is an advanced config file, most people won't need to use it and it can be safely ignored.
+ MAME will attempt to load ``source/sourcefile.ini`` and ``sourcefile.ini``, where sourcefile is the actual filename of the source code file.
+ *mame -listsource <game>* will show the source file for a given game.
+
+ For instance, Banpresto's Sailor Moon, Atlus's Dodonpachi, and Nihon System's Dangun Feveron all share a large amount of hardware and are grouped into the ``cave.c`` file, meaning they all parse ``source/cave.ini``
+9. Parent INI file.
+ For example, if running Pac-Man, which is a clone of Puck-Man, it'd be ``puckman.ini``
+10. Driver INI file.
+ Using our previous example of Pac-Man, this would be ``pacman.ini``.
Examples of Config Loading Order
--------------------------------
-* Brix, which is a clone of Zzyzzyxx. (**mame brix**)
-
- 1. Command line
- 2. ``mame.ini`` (global)
- 3. (debugger not enabled, no extra INI file loaded)
- 4. ``vertical.ini`` (screen orientation)
- 5. ``arcade.ini`` (system type)
- 6. ``raster.ini`` (monitor type)
- 7. ``source/jack.ini`` (driver source file)
- 8. (no BIOS set)
- 9. ``zzyzzyxx.ini`` (parent system)
- 10. ``brix.ini`` (system)
-
-* Super Street Fighter 2 Turbo (**mame ssf2t**)
-
- 1. Command line
- 2. ``mame.ini`` (global)
- 3. (debugger not enabled, no extra INI file loaded)
- 4. ``horizont.ini`` (screen orientation)
- 5. ``arcade.ini`` (system type)
- 6. ``raster.ini`` (monitor type)
- 7. ``source/cps2.ini`` (driver source file)
- 8. (no BIOS set)
- 9. (no parent system)
- 10. ``ssf2t.ini`` (system)
-
-* Final Arch (**mame finlarch**)
-
- 1. Command line
- 2. ``mame.ini`` (global)
- 3. (debugger not enabled, no extra INI file loaded)
- 4. ``horizont.ini`` (screen orientation)
- 5. ``arcade.ini`` (system type)
- 6. ``raster.ini`` (monitor type)
- 7. ``source/stv.ini`` (driver source file)
- 8. ``stvbios.ini`` (BIOS set)
- 9. ``smleague.ini`` (parent system)
- 10. ``finlarch.ini`` (system)
+1. Alcon, which is the US clone of Slap Fight. (**mame alcon**)
+ Command line, mame.ini, vertical.ini, arcade.ini, raster.ini, slapfght.ini, and lastly alcon.ini (*remember command line parameters take precedence over all else!*)
-*Remember command line parameters take precedence over all else!*
+2. Super Street Fighter 2 Turbo (**mame ssf2t**)
+ Command line, mame.ini, horizont.ini, arcade.ini, raster.ini, cps2.ini, and lastly ssf2t.ini (*remember command line parameters take precedence over all else!*)
Tricks to Make Life Easier
--------------------------
-Some users may have a wall-mounted or otherwise rotatable monitor, and may wish
-to actually play vertical games with the rotated display. The easiest way to
-accomplish this is to put your rotation modifiers into ``vertical.ini``, where
-they will only affect vertical games.
+Some users may have a wall-mounted or otherwise rotatable monitor, and may wish to actually play vertical games with the rotated display. The easiest way to accomplish this is to put your rotation modifiers into ``vertical.ini``, where they will only affect vertical games.
[todo: more practical examples]
diff --git a/docs/source/commandline/commandline-all.rst b/docs/source/commandline/commandline-all.rst
index acbd9b50099..ef7fb663a33 100644
--- a/docs/source/commandline/commandline-all.rst
+++ b/docs/source/commandline/commandline-all.rst
@@ -3,79 +3,26 @@
Universal Commandline Options
=============================
-This section contains configuration options that are applicable to *all* MAME
-sub-builds (both SDL and Windows native).
+
+This section contains configuration options that are applicable to *all* MAME sub-builds (both SDL and Windows native).
Commands and Verbs
------------------
-Commands include **mame** itself as well as various tools included with the MAME
-distribution such as **romcmp** and **srcclean**.
+Commands include **mame** itself as well as various tools included with the MAME distribution such as **romcmp** and **srcclean**.
+
+Verbs are actions to take upon something with the command (e.g. **mame -validate pacman** has *mame* as a command and *-validate* as a verb)
-Verbs are actions to take upon something with the command (e.g.
-**mame -validate pacman** has *mame* as a command and *-validate* as a verb)
Patterns
--------
-Many verbs support the use of *patterns*, which are either a system or device
-short name (e.g. **a2600**, **zorba_kbd**) or a glob pattern that matches either
-(e.g. **zorba_\***).
-
-Depending on the command you're using the pattern with, pattern matching may
-match systems or systems and devices. It is advised to put quotes around your
-patterns to avoid having your shell try to expand them against filenames (e.g.
-**mame -validate "pac\*"**).
+Many verbs support the use of *patterns*, which are either a system or device short name (e.g. **a2600**, **zorba_kbd**) or a glob pattern that matches either (e.g. **zorba_\***)
+Depending on the command you're using the pattern with, pattern matching may match systems or systems and devices. It is advised to put quotes around your patterns to avoid having your shell try to expand them against filenames. (e.g. **mame -validate "pac\*"**)
-.. _mame-commandline-paths:
-
-File Names and Directory Paths
-------------------------------
-
-A number of options for specifying directories support multiple paths (for
-for example to search for ROMs in multiple locations). MAME expects multiple
-paths to be separated with semicolons (``;``).
-
-MAME expands environment variable expressions in paths. The syntax used depends
-on your operating system. On Windows, ``%`` (percent) syntax is used. For
-example ``%APPDATA%\mame\cfg`` will expand the application data path for the
-current user's roaming profile. On UNIX-like system (including macOS and
-Linux), Bourne shell syntax is used, and a leading ``~`` expands to the current
-user's home directory. For example, ``~/.mame/${HOSTNAME}/cfg`` expands to
-a host-specific path inside the ``.mame`` directory in the current user's home
-directory. Note that only simple variable substitutions are supported; more
-complex expressions supported by Bash, ksh or zsh are not recognised by MAME.
-
-Relative paths are resolved relative to the current working directory. If you
-start MAME by double-clicking it in Windows Explorer, the working directory is
-set to the folder containing the MAME executable. If you start MAME by
-double-clicking it in the macOS Finder, it will open a Terminal window with the
-working directory is set to your home directory (usually ``/Users/<username>``)
-and start MAME.
-
-If you want behaviour similar to what Windows Explorer provides on macOS, create
-a script file containing these lines in the directory containing the MAME
-executable (for example you could call it ``mame-here``)::
-
- #!/bin/sh
- cd "`dirname "$0"`"
- exec ./mame64
-
-You should be able to use any text editor. If you have a choice of file format
-or line ending style, chose UNIX. I've assumed you're using a 64-bit release
-build of MAME, but if you aren't you just need to change ``mame64`` to the name
-of your MAME executable. Once you've created the file, you need to mark is as
-executable. You can do this by opening a Terminal window, typing **chmod a+x**
-followed by a space, dragging the file you created onto the window (this causes
-Terminal to insert the full escaped path to the file), and then ensuring the
-Terminal window is active and hitting **Return** (or **Enter**) on your
-keyboard. You can close the Terminal window after doing this. Now if you
-double-click the script in the Finder, it will open a Terminal window, set the
-working directory to the location of the script (i.e. the folder containing
-MAME), and then start MAME.
Core Verbs
@@ -85,20 +32,18 @@ Core Verbs
**-help** / **-h** / **-?**
- Displays current MAME version and copyright notice.
+ Displays current MAME version and copyright notice.
.. _mame-commandline-validate:
**-validate** / **-valid** [*<pattern>*]
- Performs internal validation on one or more drivers and devices in the
- system. Run this before submitting changes to ensure that you haven't
- violated any of the core system rules.
+ Performs internal validation on one or more drivers and devices in the
+ system. Run this before submitting changes to ensure that you haven't
+ violated any of the core system rules.
- If a pattern is specified, it will validate systems matching the pattern,
- otherwise it will validate all systems and devices. Note that if a pattern
- is specified, it will be matched against systems only (not other devices),
- and no device type validation will be performed.
+ If a pattern is specified, it will validate systems matching
+ the pattern, otherwise it will validate all systems and devices.
@@ -109,153 +54,112 @@ Configuration Verbs
**-createconfig** / **-cc**
- Creates the default ``mame.ini`` file. All the configuration options (not
- verbs) described below can be permanently changed by editing this
- configuration file.
+ Creates the default ``mame.ini`` file. All the configuration options
+ (not verbs) described below can be permanently changed by editing
+ this configuration file.
.. _mame-commandline-showconfig:
**-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:
+ 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**
+ **mame -showconfig >mame.ini**
- is equivalent to **-createconfig**.
+ is equivalent to **-createconfig**.
.. _mame-commandline-showusage:
**-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
- a sufficient description.
+ 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 Verbs
--------------
-Note: By default, all the '**-list**' verbs below write info to the standard
-output (usually the terminal/command window where you typed the command). If
-you wish to write the info to a text file instead, add this to the end of your
-command:
+Note: By default, all the '**-list**' verbs 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*
+ **> filename**
-where *filename* is the name of the file to save the output in (e.g.
-``list.txt``). Note that if this file already exists, it will be completely
-overwritten.
+...where 'filename' is the textfile's path and name (e.g., list.txt).
Example:
| **mame -listcrc puckman > list.txt**
|
-
- This creates (or overwrites the existing file if already there) ``list.txt``
- and fills the file with the results of **-listcrc puckman**. In other
- words, the list of each ROM used in Puckman and the CRC for that ROM are
- written into that file.
-
+| This creates (or overwrites if it's already there) ``list.txt`` and fills the file with the results of **-listcrc puckman**. In other words, the list of each ROM used in Puckman and the CRC for that ROM are written into that file.
+|
.. _mame-commandline-listxml:
-**-listxml** / **-lx** [*<pattern>*...]
+**-listxml** / **-lx** [*<pattern>*]
- List comprehensive details for all of the supported systems and devices in
- XML format. The output is quite long, so it is usually better to redirect
- this into a file. By default all systems are listed; however, you can limit
- this list by specifying one or more *patterns* after the **-listxml** verb.
-
- This XML output is typically imported into other tools (like graphical
- front-ends and ROM managers), or processed with scripts query detailed
- information.
+ List comprehensive details for all of the supported systems and drivers. 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 systems are listed; however, you can limit this list by specifying a *pattern* after the -listxml command.
.. _mame-commandline-listfull:
-**-listfull** / **-ll** [*<pattern>*...]
+**-listfull** / **-ll** [*<pattern>*]
- Displays a list of system driver names and descriptions. By default all
- systems and devices are listed; however, you can limit this list by
- specifying one or more *patterns* after the **-listfull** verb.
+ Displays a list of system driver names and descriptions. By default all systems and devices are listed; however, you can limit this list by specifying a *pattern* after the **-listfull** command.
.. _mame-commandline-listsource:
-**-listsource** / **-ls** [*<pattern>*...]
+**-listsource** / **-ls** [<*pattern>*]
- Displays a list of system drivers/devices and the names of the source files
- where they are defined. Useful for finding which driver a system runs on in
- order to fix bugs. By default all systems and devices are listed; however,
- you can limit this list by specifying one or more *pattern* after the
- **-listsource** verb.
+ Displays a list of drivers and the names of the source files their system drivers are defined in. Useful for finding which driver a system runs on in order to fix bugs. By default all systems are listed; however, you can limit this list by specifying a *pattern* after the **-listsource** command.
.. _mame-commandline-listclones:
-**-listclones** / **-lc** [*<pattern>*]
+**-listclones** / **-lc** [<*pattern*>]
- Displays a list of clones. By default all clones are listed; however, you
- can limit this list by specifying a *pattern* after the **-listsource**
- verb. If a pattern is specified, MAME will list clones of systems that
- match the pattern, as well as clones that match the pattern themselves.
+ 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.
.. _mame-commandline-listbrothers:
-**-listbrothers** / **-lb** [*<pattern>*]
+**-listbrothers** / **-lb** [<*pattern*>]
- Displays a list of *brothers*, i.e. other systems that are defined in the
- same source file as a system that matches the specified *pattern*.
+ Displays a list of '*brothers*', or rather, other sets which are located in the same sourcefile as the system name searched for.
.. _mame-commandline-listcrc:
-**-listcrc** [*<pattern>*...]
+**-listcrc** [<*pattern*>]
- Displays a full list of CRCs and names of all ROM images referenced by
- systems and devices matching the specified pattern(s). If no patterns are
- specified, ROMs referenced by all supported systems and devices will be
- included.
+ Displays a full list of CRCs of all ROM images referenced by the specified pattern of system or device names. If no pattern is specified, the results will be *all* systems and devices.
.. _mame-commandline-listroms:
-**-listroms** / **-lr** [*<pattern>*...]
+**-listroms** / **-lr** [<*pattern*>]
- Displays a list of ROM images referenced by supported systems/devices that
- match the specified pattern(s). If no patterns are specified, the results
- will include *all* supported systems and devices.
+ Displays a list of ROM images referenced by the specified pattern of system or device names. If no pattern is specified, the results will be *all* systems and devices.
.. _mame-commandline-listsamples:
**-listsamples** [<*pattern*>]
- Displays a list of samples referenced by the specified pattern of system or
- device names. If no pattern is specified, the results will be *all* systems
- and devices.
+ Displays a list of samples referenced by the specified pattern of system or device names. If no pattern is specified, the results will be *all* systems and devices.
.. _mame-commandline-verifyroms:
**-verifyroms** [<*pattern*>]
- 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 *pattern* after the **-verifyroms** command.
+ 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 *pattern* after the **-verifyroms** command.
.. _mame-commandline-verifysamples:
**-verifysamples** [<*pattern*>]
- 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 *pattern* after the **-verifyroms**
- command.
+ 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 *pattern* after the **-verifyroms** command.
.. _mame-commandline-romident:
**-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:
+ 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
@@ -266,70 +170,47 @@ Example:
**-listdevices** / **-ld** [<*pattern*>]
- Displays a list of all devices known to be hooked up to a system. The ":" is
- considered the system itself with the devices list being attached to give
- the user a better understanding of what the emulation is using.
-
- If slots are populated with devices, any additional slots those devices
- provide will be visible with **-listdevices** as well. For instance,
- installing a floppy controller into a PC will expose the disk drive slots.
+ Displays a list of all devices known to be hooked up to a system. The ":" is considered the system itself with the devices list being attached to give the user a better understanding of what the emulation is using. If slots are populated with devices, any additional slots those devices provide will be visible with **-listdevices** as well. For instance, installing a floppy controller into a PC will expose the disk drive slots.
.. _mame-commandline-listslots:
**-listslots** / **-lslot** [<*pattern*>]
- Show available slots and options for each slot (if available). Primarily
- used for MAME to allow control over internal plug-in cards, much like PCs
- needing video, sound and other expansion cards.
+ Show available slots and options for each slot (if available). Primarily used for MAME to allow control over internal plug-in cards, much like PCs needing video, sound and other expansion cards.
- If slots are populated with devices, any additional slots those devices
- provide will be visible with **-listslots** as well. For instance,
- installing a floppy controller into a PC will expose the disk drive slots.
+ If slots are populated with devices, any additional slots those devices provide will be visible with **-listslots** as well. For instance, installing a floppy controller into a PC will expose the disk drive slots.
- The slot name (e.g. **ctrl1**) can be used from the command
- line (**-ctrl1** in this case)
+ The slot name (e.g. **ctrl1**) can be used from the command line (**-ctrl1** in this case)
.. _mame-commandline-listmedia:
**-listmedia** / **-lm** [<*pattern*>]
- List available media that the chosen system allows to be used. This
- includes media types (cartridge, cassette, diskette and more) as well as
- common file extensions which are supported.
+ List available media that the chosen system allows to be used. This includes media types (cartridge, cassette, diskette and more) as well as common file extensions which are supported.
.. _mame-commandline-listsoftware:
**-listsoftware** / **-lsoft** [<*pattern*>]
- Posts to screen all software lists which can be used by the entered
- *pattern* or system. Note that this is simply a copy/paste of the .XML file
- which reside in the HASH folder which are allowed to be used.
+ Posts to screen all software lists which can be used by the entered *pattern* or system. Note that this is simply a copy/paste of the .XML file which reside in the HASH folder which are allowed to be used.
.. _mame-commandline-verifysoftware:
**-verifysoftware** / **-vsoft** [<*pattern*>]
- 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 *pattern* after the **-verifysoftware** command.
+ 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 *pattern* after the -verifysoftware command.
.. _mame-commandline-getsoftlist:
**-getsoftlist** / **-glist** [<*pattern*>]
- Posts to screen a specific software list which matches with the system name
- provided.
+ Posts to screen a specific software list which matches with the system name provided.
.. _mame-commandline-verifysoftlist:
**-verifysoftlist** / **-vlist** [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.
+ 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-commandline-options:
@@ -341,86 +222,66 @@ OSD-related Options
**-uimodekey** [*keystring*]
- Key used to enable/disable MAME keyboard controls when the emulated system
- has keyboard inputs. The default setting is **Forward Delete** on macOS or
- **SCRLOCK** on other operating systems (including Windows and Linux). Use
- **FN-Delete** on Macintosh computers with notebook/compact keyboards.
+ Key used to toggle emulated keyboard on and off. Default setting is **SCRLOCK** on Windows, **Forward Delete** on Mac (use **FN-Delete** on laptop/compact keyboards).
.. _mame-commandline-uifontprovider:
-**-uifontprovider**
+**\-uifontprovider**
- Chooses provider for UI font rendering.
+ Chooses provider for UI font.
-| On Windows, you can choose from: ``win``, ``dwrite``, ``none`` or ``auto``.
-| On macOS, you can choose from: ``osx``, ``none`` or ``auto``.
-| On other platforms, you can choose from: ``sdl``, ``none`` or ``auto``.
-|
-| Default setting is ``auto``.
-|
+ On Windows, you can choose from: ``win``, ``dwrite``, ``none`` or ``auto``.
+ On Mac, you can choose from: ``osx`` or ``auto``.
+ On other platforms, you can choose from: ``sdl`` or ``auto``.
+
+ Default setting is *auto*.
.. _mame-commandline-keyboardprovider:
-**-keyboardprovider**
+**\-keyboardprovider**
- Chooses how MAME will get keyboard input.
+ Chooses how MAME will get keyboard input.
-| On Windows, you can choose from: ``auto``, ``rawinput``, ``dinput``, ``win32``, or ``none``
-| On SDL, you can choose from: ``auto``, ``sdl``, ``none``
-|
-| The default is ``auto``.
-|
-| On Windows, ``auto`` will try ``rawinput`` with fallback to ``dinput``.
-| On SDL, ``auto`` will default to ``sdl``.
-|
+ On Windows, you can choose from: ``auto``, ``rawinput``, ``dinput``, ``win32``, or ``none``
+ On SDL, you can choose from: ``auto``, ``sdl``, ``none``
+
+ The default is *auto*. On Windows, auto will try rawinput with fallback to dinput. On SDL, auto will default to sdl.
.. _mame-commandline-mouseprovider:
**\-mouseprovider**
- Chooses how MAME will get mouse input.
+ Chooses how MAME will get mouse input.
-| On Windows, you can choose from: ``auto``, ``rawinput``, ``dinput``, ``win32``, or ``none``
-| On SDL, you can choose from: ``auto``, ``sdl``, ``none``
-|
-| The default is ``auto``.
-|
-| On Windows, ``auto`` will try ``rawinput`` with fallback to ``dinput``.
-| On SDL, ``auto`` will default to ``sdl``.
-|
+ On Windows, you can choose from: ``auto``, ``rawinput``, ``dinput``, ``win32``, or ``none``
+ On SDL, you can choose from: ``auto``, ``sdl``, ``none``
+
+ The default is *auto*. On Windows, auto will try rawinput with fallback to dinput. On SDL, auto will default to sdl.
.. _mame-commandline-lightgunprovider:
**\-lightgunprovider**
- Chooses how MAME will get light gun input.
+ Chooses how MAME will get light gun input.
-| On Windows, you can choose from: ``auto``, ``rawinput``, ``win32``, or ``none``
-| On SDL, you can choose from: ``auto``, ``x11`` or ``none``
-|
-| The default is ``auto``.
-|
-| On Windows, auto will try ``rawinput`` with fallback to ``win32``, or ``none`` if it doesn't find any.
-| On SDL/Linux, ``auto`` will default to ``x11``, or ``none`` if it doesn't find any.
-| On other SDL, ``auto`` will default to ``none``.
-|
+ On Windows, you can choose from: ``auto``, ``rawinput``, ``win32``, or ``none``
+ On SDL, you can choose from: ``auto``, ``x11`` or ``none``
+
+ The default is *auto*. On Windows, auto will try rawinput with fallback to win32, or none if it doesn't find any. On SDL/Linux, auto will default to x11, or none if it doesn't find any. On other SDL, auto will default to none.
.. _mame-commandline-joystickprovider:
**\-joystickprovider**
- Chooses how MAME will get joystick input.
+ Chooses how MAME will get joystick input.
+
+ On Windows, you can choose from: ``auto, ``winhybrid``, ``dinput``, ``xinput``, or ``none``
+ On SDL, you can choose from: ``auto``, ``sdl``, ``none``
+
+ The default is *auto*. On Windows, auto will default to dinput.
+
+ Note that Microsoft XBox 360 and XBox One controllers will be happiest with ``winhybrid`` or ``xinput``. The ``winhybrid`` option supports a mix of DirectInput and XInput controllers at the same time. On SDL, auto will default to sdl.
-| On Windows, you can choose from: ``auto, ``winhybrid``, ``dinput``, ``xinput``, or ``none``
-| On SDL, you can choose from: ``auto``, ``sdl``, ``none``
-|
-| The default is ``auto``.
-|
-| On Windows, auto will default to ``dinput``.
-|
-| Note that Microsoft XBox 360 and XBox One controllers connected to Windows will work best with ``winhybrid`` or ``xinput``. The ``winhybrid`` option supports a mix of DirectInput and XInput controllers at the same time.
-| On SDL, auto will default to ``sdl``.
-|
OSD CLI Options
@@ -436,7 +297,7 @@ OSD CLI Options
**\-listnetwork**
- Create a list of available Network Adapters for use with emulation.
+ Create a list of available Network Adapters for use with emulation.
@@ -447,11 +308,11 @@ OSD Output Options
**\-output**
- Chooses how MAME will handle processing of output notifiers.
+ Chooses how MAME will handle processing of output notifiers.
- You can choose from: ``auto``, ``none``, ``console`` or ``network``
+ you can choose from: ``auto``, ``none``, ``console`` or ``network``
- Note that network port is fixed at 8000.
+ Note that network port is fixed at 8000.
@@ -462,30 +323,25 @@ 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``
- - ``debug.ini`` (if the debugger is enabled)
- - ``source/``\ *<driver>*\ ``.ini`` (based on the source filename of the driver)
- - ``vertical.ini`` (for systems with vertical monitor orientation)
- - ``horizont.ini`` (for systems with horizontal monitor orientation)
- - ``arcade.ini`` (for systems in source added with ``GAME()`` macro)
- - ``console.ini`` (for systems in source added with ``CONS()`` macro)
- - ``computer.ini`` (for systems in source added with ``COMP()`` macro)
- - ``othersys.ini`` (for systems in source added with ``SYST()`` macro)
- - ``vector.ini`` (for vector systems only)
- - *<parent>*\ ``.ini`` (for clones only, may be called recursively)
- - *<systemname>*\ ``.ini``
+ Enables or disables the reading of the config files. When enabled (which is the default), MAME reads the following config files in order:
- (See :ref:`advanced-multi-CFG` for further details)
+ - mame.ini
+ - debug.ini (if the debugger is enabled)
+ - <driver>.ini (based on the source filename of the driver)
+ - vertical.ini (for systems with vertical monitor orientation)
+ - horizont.ini (for systems with horizontal monitor orientation)
+ - arcade.ini (for systems in source added with GAME() macro)
+ - console.ini (for systems in source added with CONS() macro)
+ - computer.ini (for systems in source added with COMP() macro)
+ - othersys.ini (for systems in source added with SYST() macro)
+ - vector.ini (for vector systems only)
+ - <parent>.ini (for clones only, may be called recursively)
+ - <systemname>.ini
- The settings in the later INIs override those in the earlier INIs. So, for
- example, if you wanted to disable overlay effects in the vector systems, you
- can create a ``vector.ini`` with line ``effect none`` in it, and it will
- override whatever ``effect`` value you have in your ``mame.ini``.
+ (See :ref:`advanced-multi-CFG` for further details)
- The default is ON (**-readconfig**).
+ The settings in the later INIs override those in the earlier INIs.
+ So, for example, if you wanted to disable overlay effects in the vector systems, 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**).
@@ -496,141 +352,79 @@ Core Search Path Options
**-homepath** *<path>*
- Specifies a path for Lua plugins to store data.
-
- The default is ``.`` (that is, in the current working directory).
+ Specifies a path where the base 'plugins' folder is to be found. The default is '.' (that is, in the current working directory).
.. _mame-commandline-rompath:
-**-rompath** / **-rp** / **-biospath** / **-bp** *<path>*
-
- Specifies one or more paths within which to find ROM or disk images.
- Multiple paths can be specified by separating them with semicolons.
+**-rompath** / **-rp** *<path>*
- The default is ``roms`` (that is, a directory ``roms`` in the current
- working directory).
+ 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).
.. _mame-commandline-hashpath:
-**-hashpath** / **-hash_directory** / **-hash** *<path>*
+**-hashpath** *<path>*
- Specifies one or more paths within which to find software definition files.
- Multiple paths can be specified by separating them with semicolons.
-
- The default is ``hash`` (that is, a directory ``hash`` in the current
- working directory).
+ 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).
.. _mame-commandline-samplepath:
**-samplepath** / **-sp** *<path>*
- Specifies one or more paths within which to find audio sample files.
- Multiple paths can be specified by separating them with semicolons.
-
- The default is ``samples`` (that is, a directory ``samples`` in the current
- working directory).
+ 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).
.. _mame-commandline-artpath:
-**-artpath** *<path>* *<path>*
-
- Specifies one or more paths within which to find external layout and artwork
- files. Multiple paths can be specified by separating them with semicolons.
+**-artpath** *<path>* / **-artwork_directory** *<path>*
- The default is ``artwork`` (that is, a directory ``artwork`` in the current
- working directory).
+ 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).
.. _mame-commandline-ctrlrpath:
-**-ctrlrpath** *<path>*
+**-ctrlrpath** / **-ctrlr_directory** *<path>*
- Specifies one or more paths within which to find default input configuration
- files. Multiple paths can be specified by separating them with semicolons.
-
- The default is ``ctrlr`` (that is, a directory ``ctrlr`` in the current
- working directory).
+ 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).
.. _mame-commandline-inipath:
**-inipath** *<path>*
- Specifies one or more paths within which to find INI files. Multiple paths
- can be specified by separating them with semicolons.
-
- On Windows, the default is ``.;ini;ini/presets`` (that is, search in the
- current directory first, then in the directory ``ini`` in the current
- working directory, and finally the directory ``presets`` inside that
- directory).
-
- On macOS, the default is
- ``$HOME/Library/Application Support/mame;$HOME/.mame;.;ini`` (that is,
- search the ``mame`` folder inside the current user's Application Support
- folder, followed by the ``.mame`` folder in the current user's home
- directory, then the current working directory, and finally the directory
- ``ini`` in the current working directory).
-
- On other platforms (including Linux), the default is ``$HOME/.mame;.;ini``
- (that is search the ``.mame`` directory in the current user's home
- directory, followed by the current working directory, and finally the
- directory ``ini`` in the current working directory).
+ 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).
.. _mame-commandline-fontpath:
**-fontpath** *<path>*
- Specifies one or more paths within which to find BDF (Adobe Glyph Bitmap
- Distribution Format) font files. Multiple paths can be specified by
- separating them with semicolons.
-
- The default is ``.`` (that is, search in the current working directory).
+ 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 current working directory).
.. _mame-commandline-cheatpath:
**-cheatpath** *<path>*
- Specifies one or more 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
- current working directory).
+ 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).
.. _mame-commandline-crosshairpath:
**-crosshairpath** *<path>*
- Specifies one or more paths within which to find crosshair image files.
- Multiple paths can be specified by separating them with semicolons.
-
- The default is ``crsshair`` (that is, a directory ``crsshair`` in the
- current working directory).
+ 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 ``systemname\\cross#.png`` and then cross#.png in the specified crsshairpath, where # is the player number. Failing that, MAME will use built-in default crosshairs.
.. _mame-commandline-pluginspath:
**-pluginspath** *<path>*
- Specifies one or more paths within which to find Lua plugins for MAME.
-
- The default is ``plugins`` (that is, a directory ``plugins`` in the current
- working directory).
+ Specifies a list of paths within which to find Lua plugins for MAME.
.. _mame-commandline-languagepath:
**-languagepath** *<path>*
- Specifies one or more paths within which to find language files for
- localized UI text.
-
- The default is ``language`` (that is, a directory ``language`` in the
- current working directory).
+ Specifies a list of paths within which to find language files for localized UI text.
.. _mame-commandline-swpath:
**-swpath** *<path>*
- Specifies the default path from which to load loose software image files.
-
- The default is ``sofware`` (that is, a directory ``software`` in the current
- working directory).
+ Specifies a path within which to find loose software to be used by emulation.
Core Output Directory Options
@@ -640,89 +434,43 @@ Core Output Directory Options
**-cfg_directory** *<path>*
- Specifies the directory where configuration files are stored. Configuration
- files are read when starting MAME or when starting an emulated machine, and
- written on exit. Configuration files preserve settings including input
- assignment, DIP switch settings, bookkeeping statistics, and debugger window
- arrangement.
-
- The default is ``cfg`` (that is, a directory ``cfg`` in the current working
- directory). If this directory does not exist, it will be created
- automatically.
+ 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.
.. _mame-commandline-nvramdirectory:
**-nvram_directory** *<path>*
- Specifies the directory where NVRAM files are stored. NVRAM files store the
- contents of EEPROM, non-volatile RAM (NVRAM), and other programmable devices
- for systems that used this type of hardware. This data is read when
- starting an emulated machine and written on exit.
-
- The default is ``nvram`` (that is, a directory ``nvram`` in the current
- working directory)). If this directory does not exist, it will be created
- automatically.
+ Specifies a single directory where NVRAM files are stored. NVRAM files store the contents of EEPROM and non-volatile RAM (NVRAM) for systems 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.
.. _mame-commandline-inputdirectory:
**-input_directory** *<path>*
- Specifies the directory where input recording files are stored. Input
- recordings are created using the **-record** option and played back using
- the **-playback** option.
-
- The default is ``inp`` (that is, a directory ``inp`` in the current working
- directory). If this directory does not exist, it will be created
- automatically.
+ 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.
.. _mame-commandline-statedirectory:
**-state_directory** *<path>*
- Specifies the 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 current working
- directory). If this directory does not exist, it will be created
- automatically.
+ 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.
.. _mame-commandline-snapshotdirectory:
**-snapshot_directory** *<path>*
- Specifies the directory where screen snapshots and video recordings are
- stored when requested by the user.
-
- The default is ``snap`` (that is, a directory ``snap`` in the current
- working directory). If this directory does not exist, it will be created
- automatically.
+ 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.
.. _mame-commandline-diffdirectory:
**-diff_directory** *<path>*
- Specifies the directory where hard drive difference files are stored. Hard
- drive difference files store data that is written back to an emulated hard
- disk, in order to preserve the original image file. The difference files
- are created when starting an emulated system with a compressed hard disk
- image.
-
- The default is ``diff`` (that is, a directory ``diff`` in the current
- working directory). If this directory does not exist, it will be created
- automatically.
+ 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 with a system 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.
.. _mame-commandline-commentdirectory:
**-comment_directory** *<path>*
- Specifies a directory where debugger comment files are stored. Debugger
- comment files are written by the debugger when comments are added to the
- disassembly for a system.
-
- The default is ``comments`` (that is, a directory ``comments`` in the
- current working directory). If this directory does not exist, it will be
- created automatically.
+ 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 system. 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.
@@ -733,248 +481,125 @@ Core State/Playback Options
**-[no]rewind**
- When enabled and emulation is paused, automatically creates a save state in
- memory every time a frame is advanced. Rewind save states can then be
- loaded consecutively by pressing the rewind single step shortcut key
- (**Left Shift + Tilde** by default).
-
- The default rewind value is OFF (**-norewind**).
+ When enabled and emulation is paused, automatically creates a save state in memory every time a frame is advanced. Rewind save states can then be loaded consecutively by pressing the rewind single step shortcut key (**Left Shift + Tilde** by default). The default rewind value is OFF (**-norewind**).
- If debugger is in a 'break' state, a save state is instead created every
- time step in, step over, or step out occurs. In that mode, rewind save
- states can be loaded by executing the debugger **rewind** (or **rw**)
- command.
+ If debugger is in a 'break' state, a save state is instead created every time step in, step over, or step out occurs. In that mode, rewind save states can be loaded by executing the debugger **rewind** (or **rw**) command.
.. _mame-commandline-rewindcapacity:
**-rewind_capacity** *<value>*
- Sets the rewind capacity value, in megabytes. It is the total amount of
- memory rewind savestates can occupy. When capacity is hit, old savestates
- get erased as new ones are captured. Setting capacity lower than the
- current savestate size disables rewind. Values below 0 are automatically
- clamped to 0.
+ Sets the rewind capacity value, in megabytes. It is the total amount of memory rewind savestates can occupy. When capacity is hit, old savestates get erased as new ones are captured. Setting capacity lower than the current savestate size disables rewind. Values below 0 are automatically clamped to 0.
.. _mame-commandline-state:
**-state** *<slot>*
- Immediately after starting the specified system, will cause the save state
- in the specified <slot> to be loaded.
+ Immediately after starting the specified system, will cause the save state in the specified <slot> to be loaded.
.. _mame-commandline-noautosave:
**-[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
- system. This only works for systems that have explicitly enabled save state
- support in their driver.
-
- The default is OFF (**-noautosave**).
+ When enabled, automatically creates a save state file when exiting MAME and automatically attempts to reload it when later starting MAME with the same system. This only works for systems that have explicitly enabled save state support in their driver. The default is OFF (**-noautosave**).
.. _mame-commandline-playback:
**-playback** / **-pb** *<filename>*
- Specifies a file from which to play back a series of inputs. This feature
- does not work reliably for all systems, 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).
+ Specifies a file from which to play back a series of inputs. This feature does not work reliably for all systems, 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).
.. _mame-commandline-exitafterplayback:
-**-[no]exit_after_playback**
+**-exit_after_playback**
- When used in conjunction with the **-playback** option, MAME will exit after
- playing back the input file. By default, MAME continues to run the emulated
- system after playback completes.
-
- The default is OFF (**-noexit_after_playback**).
+ Tells MAME to exit after finishing playback of the input file.
.. _mame-commandline-record:
**-record** / **-rec** *<filename>*
- Specifies a file to record all input from a session. This can be used to
- record a session for later playback. This feature does not work reliably
- for all systems, but can be used to watch a previously recorded 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).
+ Specifies a file to record all input from a session. This can be used to record a session for later playback. This feature does not work reliably for all systems, but can be used to watch a previously recorded 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).
.. _mame-commandline-recordtimecode:
**-record_timecode**
- Tells MAME to create a timecode file. It contains a line with elapsed times
- on each press of timecode shortcut key (default is **F12**). This option
- works only when recording mode is enabled (**-record** option). The
- timecode file is saved in the ``inp`` folder.
-
- By default, no timecode file is saved.
+ Tells MAME to create a timecode file. It contains a line with elapsed times on each press of timecode shortcut key (default is **F12**). This option works only when recording mode is enabled (**-record** option). The file is saved in the ``inp`` folder. By default, no timecode file is saved.
.. _mame-commandline-mngwrite:
**-mngwrite** *<filename>*
- Writes each video frame to the given <filename> in MNG format, producing an
- animation of the session. Note that **-mngwrite** only writes video frames;
- it does not save any audio data. Either use **-wavwrite** to record audio
- and combine the audio and video tracks using video editing software, or use
- **-aviwrite** to record audio and video to a single file.
-
- The default is ``NULL`` (no recording).
+ Writes each video frame to the given <filename> in MNG format, producing an animation of the 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).
.. _mame-commandline-aviwrite:
**-aviwrite** *<filename>*
- Stream video and sound data to the given <filename> in uncompressed AVI
- format, producing an animation of the session complete with sound. Note
- that the AVI format does not changes to resolution or frame rate,
- uncompressed video consumes a lot of disk space, and recording uncompressed
- video in realtime requires a fast disk. It may be more practical to record
- an emulation session using **-record** then make a video of it with
- **-aviwrite** in combination with **-playback** and **-exit_after_playback**
- options.
-
- The default is ``NULL`` (no recording).
+ Stream video and sound data to the given <filename> in AVI format, producing an animation of the session complete with sound. The default is ``NULL`` (no recording).
.. _mame-commandline-wavwrite:
**-wavwrite** *<filename>*
- Writes the final mixer output to the given <filename> in WAV format,
- producing an audio recording of the session.
-
- The default is ``NULL`` (no recording).
+ Writes the final mixer output to the given <filename> in WAV format, producing an audio recording of the session. The default is ``NULL`` (no recording).
.. _mame-commandline-snapname:
**-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 system; 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 system,
- 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.
+ Describes how MAME should name files for snapshots. <name> is a string that provides a template that is used to generate a filename.
- A few examples:
+ 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 system; 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.
- 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.
+ The default is ``%g/%i``, which creates a separate folder for each system, and names the snapshots under it starting with 0000 and increasing from there.
- If you use **mame nes -cart robby -snapname %g/%d_cart** snapshots will be
- saved as ``snaps\\nes\\robby.png``.
+ 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.
- If you use **mame c64 -flop1 robby -snapname %g/%d_flop1/%i** snapshots will
- be saved as ``snaps\\c64\\robby\\0000.png``.
+ 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 **mame nes -cart robby -snapname %g/%d_cart** snapshots will be saved as ``snaps\\nes\\robby.png``; if you use **mame c64 -flop1 robby -snapname %g/%d_flop1/%i** snapshots will be saved as ``snaps\\c64\\robby\\0000.png``.
.. _mame-commandline-snapsize:
**-snapsize** *<width>x<height>*
- Hard-codes the size for snapshots and movie recording. By default, MAME
- will create snapshots at the system's current resolution in raw pixels, and
- will create movies at the system'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 system is vertically oriented.
-
- The default is ``auto``.
+ Hard-codes the size for snapshots and movie recording. By default, MAME will create snapshots at the system's current resolution in raw pixels, and will create movies at the system'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 system is vertically oriented. The default is ``auto``.
.. _mame-commandline-snapview:
**-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>.
+ 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``.
+ 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``.
.. _mame-commandline-nosnapbilinear:
**-[no]snapbilinear**
- Specify if the snapshot or movie should have bilinear filtering applied.
- Shutting this off can improve performance while recording video to a file.
-
- The default is ON (**-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**).
.. _mame-commandline-statename:
**-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.
+ 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 system.
+ 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 system.
- The default is ``%g``, which creates a separate folder for each system.
+ The default is ``%g``, which creates a separate folder for each system.
- 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.
+ 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 **mame nes -cart robby -statename %g/%d_cart** save states will
- be stored inside ``sta\\nes\\robby\\``.
-
- If you use **mame c64 -flop1 robby -statename %g/%d_flop1** save states will
- be stored inside 'sta\\c64\\robby\\'.
+ A few examples: if you use **mame robby -statename foo/%g** save states will be stored inside ``sta\\foo\\robby\\``; if you use **mame nes -cart robby -statename %g/%d_cart** save states will be stored inside ``sta\\nes\\robby\\``; if you use **mame c64 -flop1 robby -statename %g/%d_flop1** save states will be stored inside 'sta\\c64\\robby\\'.
.. _mame-commandline-noburnin:
**-[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
- systems. 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
- ``<systemname>/burnin-<screen.name>.png``.
+ 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 systems. 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 default is OFF (**-noburnin**).
+ 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 ``systemname/burnin-<screen.name>.png``. The default is OFF (**-noburnin**).
@@ -985,107 +610,57 @@ Core Performance Options
**-[no]autoframeskip** / **-[no]afs**
- Dynamically adjust the frameskip level while you're running the system to
- maintain full speed. Turning this on overrides the **-frameskip** setting
- described below.
-
- This is off by default (**-noautoframeskip**).
+ Automatically determines the frameskip level while you're running the system, adjusting it constantly in a frantic attempt to keep the system running at full speed. Turning this on overrides the value you have set for -frameskip below. The default is OFF (**-noautoframeskip**).
.. _mame-commandline-frameskip:
**-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 specify **-frameskip 2**, MAME
- will render and display 10 out of every 12 emulated frames. By skipping
- some frames, you may be able to get full speed emulation for a system that
- would otherwise be too demanding for your computer.
-
- The default value is **-frameskip 0**, which skips no frames.
+ 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 system that requires more horsepower than your computer has. The default value is **-frameskip 0**, which skips no frames.
.. _mame-commandline-secondstorun:
**-seconds_to_run** / **-str** *<seconds>*
- This option tells MAME to automatically stop emulation after a fixed number
- of seconds of emulated time have elapsed. This may be useful for
- benchmarking and automated testing. By combining this with a fixed set of
- other command line options, you can set up a consistent environment for
- benchmarking MAME's emulation performance. In addition, upon exit, the
- **-str** option will write a screenshot called ``final.png`` to the system's
- snapshot directory.
+ 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 system's snapshot directory.
.. _mame-commandline-nothrottle:
**-[no]throttle**
- Enable or disable thottling emulation speed. When throttling is enabled,
- MAME limits emulation speed to so the emulated system will not run faster
- than the original hardware. When throttling is disabled, MAME runs the
- emulation as fast as possible. Depending on your settings and the
- characteristics of the emulated system, performance may be limited by your
- CPU, graphics card, or even memory performance.
-
- The default is to enable throttling (**-throttle**).
+ Configures the default thottling setting. When throttling is on, MAME attempts to keep the system running at the system's intended speed. When throttling is off, MAME runs the system as fast as it can. Note that the fastest speed is more often than not limited by your graphics card, especially for older systems. The default is ON (**-throttle**).
.. _mame-commandline-nosleep:
**-[no]sleep**
- When enabled along with **-throttle**, MAME will yield the CPU when
- limiting emulation speed. This allows other programs to use CPU time,
- assuming the main emulation thread isn't completely utilising a CPU core.
- This option can potentially cause hiccups in performance if other demanding
- programs are running.
-
- The default is on (**-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 system 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**).
.. _mame-commandline-speed:
**-speed** *<factor>*
- Changes the way MAME throttles the emulation so that it runs at some
- multiple of the system's original speed. A *<factor>* of ``1.0`` means to
- run the system at its normal speed, a *<factor>* of ``0.5`` means run at
- half speed, and a *<factor>* of 2.0 means run at double speed. Note that
- changing this value affects sound playback as well, which will scale in
- pitch accordingly. The internal precision of the fraction is two decimal
- places, so a *<factor>* of ``1.002`` is rounded to ``1.00``.
-
- The default is ``1.0`` (normal speed).
+ Changes the way MAME throttles the emulated system such that it runs at some multiplier of the original speed. A <factor> of 1.0 means to run the system 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``.
.. _mame-commandline-norefreshspeed:
**-[no]refreshspeed** / **-[no]rs**
- Allows MAME to adjust the emulation speed so that the refresh rate of the
- first emulated screen does not exceed the slowest refresh rate for any
- targeted monitors in your system. Thus, if you have a 60Hz monitor and run
- a system that is designed to run at 60.6Hz, MAME will reduce the emulation
- speed 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**).
+ Allows MAME to dynamically adjust the system's 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 system 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**).
.. _mame-commandline-numprocessors:
-**-numprocessors** / **-np** **auto**\ \|\ *<value>*
-
- Specify the number of threads to use for work queues. Specifying ``auto``
- will use the value reported by the system or environment variable
- ``OSDPROCESSORS``. This value is internally limited to four times the
- number of processors reported by the system.
+**-numprocessors** *<auto|value>* / **-np** *<auto|value>*
- The default is ``auto``.
+ 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``.
.. _mame-commandline-bench:
-**-bench** *<n>*
+**-bench** *[n]*
- Benchmark for *<n>* emulated seconds. This is equivalent to the following
- options:
+ Benchmark for *[n]* number of emulated seconds; implies the command string:
- **-str** *<n>* **-video none -sound none -nothrottle**
+ **-str [n] -video none -sound none -nothrottle**
@@ -1094,61 +669,49 @@ Core Rotation Options
.. _mame-commandline-norotate:
-**-[no]rotate**
-
- Rotate the system to match its normal state (horizontal/vertical). This
- ensures that both vertically and horizontally oriented systems show up
- correctly without the need to rotate your monitor. If you want to keep the
- system displaying 'raw' on the screen the way it would have in the arcade,
- turn this option OFF.
-
- The default is ON (**-rotate**).
-
+| **-[no]rotate**
+|
+| Rotate the system to match its normal state (horizontal/vertical). This ensures that both vertically and horizontally oriented systems show up correctly without the need to rotate your monitor. If you want to keep the system displaying 'raw' on the screen the way it would have in the arcade, turn this option OFF. The default is ON (**-rotate**).
+|
+|
.. _mame-commandline-noror:
-**-[no]ror**
-
.. _mame-commandline-norol:
-**-[no]rol**
-
- Rotate the system 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]ror**
+| **-[no]rol**
+|
+|
+| Rotate the system 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**).
+|
+|
.. _mame-commandline-noautoror:
-**-[no]autoror**
-
.. _mame-commandline-noautorol:
-**-[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 system 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]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 system 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**.
+|
+|
.. _mame-commandline-noflipx:
-**-[no]flipx**
-
.. _mame-commandline-noflipy:
-**-[no]flipy**
-
- Flip (mirror) the system 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**).
+| **-[no]flipx**
+| **-[no]flipy**
+|
+|
+| Flip (mirror) the system 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 Video Options
@@ -1158,194 +721,95 @@ Core Video Options
**-video** *<bgfx|gdi|d3d|opengl|soft|accel|none>*
- Specifies which video subsystem to use for drawing. Options here depend on
- the operating system and whether this is an SDL-compiled version of MAME.
-
- Generally Available:
-
- | Using ``bgfx`` specifies the new hardware accelerated renderer.
- |
- | Using ``opengl`` tells MAME to render video using OpenGL acceleration.
- |
- | Using ``none`` displays no windows and does no drawing. This is primarily present for doing CPU benchmarks without the overhead of the video system.
- |
-
- On Windows:
-
- | Using ``gdi`` tells MAME to render video using older standard Windows graphics drawing calls. This is the slowest but most compatible option on older versions of Windows.
- |
- | Using ``d3d`` tells MAME to use Direct3D for rendering. This produces the better quality output than ``gdi`` and enables additional rendering options. It is recommended if you have a semi-recent (2002+) video card or onboard Intel video of the HD3000 line or better.
- |
-
- On other platforms (including SDL on Windows):
-
- | Using ``accel`` tells MAME to render video using SDL's 2D acceleration if possible.
- |
- | Using ``soft`` uses software rendering for video output. This isn't as fast or as nice as OpenGL but will work on any platform.
- |
-
- Defaults:
-
- | The default on Windows is ``d3d``.
- |
- | 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``.
- |
+|
+| Specifies which video subsystem to use for drawing. Options here depend on the operating system and whether this is an SDL-compiled version of MAME.
+|
+| Generally Available:
+|
+| Using ``bgfx`` specifies the new hardware accelerated renderer.
+| Using ``opengl`` tells MAME to render video using OpenGL acceleration.
+| Using ``none`` displays no windows and does no drawing. This is primarily present for doing CPU benchmarks without the overhead of the video system.
+|
+| On Windows:
+|
+| Using ``gdi`` here, tells MAME to render video using older standard Windows graphics drawing calls. This is the slowest but most compatible option on older versions of Windows.
+| Using ``d3d`` tells MAME to use Direct3D for rendering. This produces the better quality output than ``gdi`` and enables additional rendering options. It is recommended if you have a semi-recent (2002+) video card or onboard Intel video of the HD3000 line or better.
+|
+| On other platforms (including SDL on Windows):
+|
+| Using ``accel`` tells MAME to render video using SDL's 2D acceleration if possible.
+| Using ``soft`` uses software rendering for video output. This isn't as fast or as nice as OpenGL but will work on any platform.
+|
+| Defaults:
+|
+| The default on Windows is ``d3d``.
+| 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``.
+|
.. _mame-commandline-numscreens:
**-numscreens** *<count>*
- Tells MAME how many output windows to create. For most systems, a single
- output window is all you need, but some systems originally used multipl
- screens (*e.g. Darius and PlayChoice-10 arcade machines*). 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``.
+ Tells MAME how many output windows to create. For most systems, a single output window is all you need, but some systems originally used multiple screens (*e.g. Darius and PlayChoice-10 arcade machines*). 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``.
.. _mame-commandline-window:
**-[no]window** / **-[no]w**
- Run MAME in either a window or full screen.
-
- The default is OFF (**-nowindow**).
+ Run MAME in either a window or full screen. The default is OFF (**-nowindow**).
.. _mame-commandline-maximize:
**-[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 closest possible size to
- the original size of the display; it will scale on only one axis where
- non-square pixels are used. This option only has an effect when the
- **-window** option is used.
-
- The default is ON (**-maximize**).
+ 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**).
.. _mame-commandline-keepaspect:
**-[no]keepaspect** / **-[no]ka**
- When enabled, MAME preserves the correct aspect ratio for the emulated
- system's screen(s). This is most often 4:3 or 3:4 for CRT monitors
- (depending on the orientation), though many other aspect ratios have been
- used, such as 3:2 (Nintendo Game Boy), 5:4 (some workstations), and various
- other ratios. If the emulated screen and/or artwork does not fill MAME's
- screen or Window, the image will be centred and black bars will be added
- as necessary to fill unused space (either above/below or to the left and
- right).
+ Enables aspect ratio enforcement. When this option is on, the system's proper aspect ratio (generally 4:3 or 3:4) is enforced, so you get the system 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 systems will stretch to the full screen size (even vertical systems). In window mode, it means that you can freely resize the window without any constraints. The default is ON (**-keepaspect**).
- When this option is disabled, the emulated screen and/or artwork will be
- stretched to fill MAME's screen or window. The image will be distorted by
- non-proportional scaling if the aspect ratio does not match. This is very
- pronounced when the emulated system uses a vertically-oriented screen and
- MAME stretches the image to fill a horizontally-oriented screen.
-
- On Windows, when this option is enabled and MAME is running in a window (not
- full screen), the aspect ratio will be maintained when you resize the window
- unless you hold the **Control** (or **Ctrl**) key on your keyboard. The
- window size will not be restricted when this option is disabled.
-
- The default is ON (**-keepaspect**).
-
- The MAME team strongly recommends leaving this option enabled. Stretching
- systems beyond their original aspect ratio will mangle the appearance of the
- system in ways that no filtering or shaders can repair.
+ The MAME team heavily suggests you leave this at default. Stretching systems beyond their original aspect ratio will mangle the appearance of the system in ways that no filtering or HLSL can repair.
.. _mame-commandline-waitvsync:
**-[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 as a frame is ready, even if 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.
-
- The effect of turning **-waitvsync** on differs a bit between combinations
- of different operating systems and video drivers.
+ 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 systems, 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**).
- On Windows, **-waitvsync** will block until video blanking before allowing
- MAME to draw the next frame, limiting the emulated machine's framerate to
- that of the host display. Note that this option does not work with
- **-video gdi** mode in Windows.
-
- On macOS, **-waitvsync** does not block; instead the most recent completely
- drawn frame will be displayed at vblank. This means that if an emulated
- system has a higher framerate than your host display, emulated frames will
- be dropped periodically resulting in motion judder.
-
- On Windows, 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 SDL-based MAME 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 with SDL builds of MAME.
-
- The default is OFF (**-nowaitvsync**).
+ Note that SDL-based MAME 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.
.. _mame-commandline-syncrefresh:
**-[no]syncrefresh**
- Enables speed throttling only to the refresh of your monitor. This means
- that the system's actual refresh rate is ignored; however, the sound code
- still attempts to keep up with the system'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**).
+ Enables speed throttling only to the refresh of your monitor. This means that the system's actual refresh rate is ignored; however, the sound code still attempts to keep up with the system'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**).
.. _mame-commandline-prescale:
**-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 in both axes by a factor of *<amount>*
- using nearest-neighbor sampling before applying filters or shaders. With
- **-video d3d**, this produces a less blurry image at the expense of speed.
+ 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 d3d**, this produces a less blurry image at the expense of some speed. The default is ``1``.
- The default is ``1``.
-
- This is supported with all video output types (``bgfx``, ``d3d``, etc) on
- Windows and is **ONLY** supported with OpenGL on other platforms.
+ This is supported with all video output types (``bgfx``, ``d3d``, etc) on Windows and is **ONLY** supported with OpenGL on other platforms.
.. _mame-commandline-filter:
**-[no]filter** / **-[no]d3dfilter** / **-[no]flt**
- Enable bilinear filtering on the system 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**).
+ Enable bilinear filtering on the system 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**).
- This is supported with OpenGL and D3D video on Windows and is **ONLY**
- supported with OpenGL on other platforms.
+ This is supported with OpenGL and D3D video on Windows and is **ONLY** supported with OpenGL on other platforms.
- Use ``bgfx_screen_chains`` in your INI file(s) to adjust filtering with the
- BGFX video system.
+ Use bgfx_screen_chains with BGFX to adjust filtering with that video system.
.. _mame-commandline-unevenstretch:
**-[no]unevenstretch**
- Allow non-integer scaling factors allowing for great window sizing
- flexability.
-
- The default is ON. (**-unevenstretch**)
+ Allow non-integer stretch factors allowing for great window sizing flexability. The default is ON. (**-unevenstretch**)
Core Full Screen Options
@@ -1355,17 +819,7 @@ Core 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
- systems, 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**).
+ 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 systems, 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**).
Core Per-Window Options
@@ -1373,121 +827,65 @@ Core Per-Window Options
.. _mame-commandline-screen:
-NOTE: **Multiple Screens may fail to work correctly on some Mac machines as of
-right now.**
-
-**-screen** *<display>*
-
-**-screen0** *<display>*
-
-**-screen1** *<display>*
-
-**-screen2** *<display>*
-
-**-screen3** *<display>*
-
+NOTE: **Multiple Screens may fail to work correctly on some Mac machines as of right now.**
- 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.
+| **-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.
+|
+|
.. _mame-commandline-aspect:
-**-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.
+| **-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.
+|
+|
.. _mame-commandline-resolution:
-**-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 automatically. 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 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.
+| **-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 automatically. 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 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.
+|
+|
.. _mame-commandline-view:
-**-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.
+| **-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.
+|
+|
Core Artwork Options
@@ -1497,65 +895,49 @@ Core Artwork Options
**-[no]artwork_crop** / **-[no]artcrop**
- Enable cropping of artwork to the system screen area only. This means that
- vertically oriented systems running full screen can display their artwork to
- the left and right sides of the screen. This option can also be controlled
- via the Video Options menu in the user interface.
-
- The default is OFF **-noartwork_crop**.
+ Enable cropping of artwork to the system screen area only. This works best with **-video gdi** or **-video d3d**, and means that vertically oriented systems running full screen can display their artwork to the left and right sides of the screen. This option can also be controlled via the Video Options menu in the user interface. The default is OFF **-noartwork_crop**.
.. _mame-commandline-nousebackdrops:
**-[no]use_backdrops** / **-[no]backdrop**
- Enables/disables the display of backdrops.
-
- The default is ON (**-use_backdrops**).
+ Enables/disables the display of backdrops. The default is ON (**-use_backdrops**).
.. _mame-commandline-nouseoverlays:
**-[no]use_overlays** / **-[no]overlay**
- Enables/disables the display of overlays.
-
- The default is ON (**-use_overlays**).
+ Enables/disables the display of overlays. The default is ON (**-use_overlays**).
.. _mame-commandline-nousebezels:
**-[no]use_bezels** / **-[no]bezels**
- Enables/disables the display of bezels.
-
- The default is ON (**-use_bezels**).
+ Enables/disables the display of bezels. The default is ON (**-use_bezels**).
.. _mame-commandline-nousecpanels:
**-[no]use_cpanels** / **-[no]cpanels**
- Enables/disables the display of control panels.
-
- The default is ON (**-use_cpanels**).
+ Enables/disables the display of control panels. The default is ON (**-use_cpanels**).
.. _mame-commandline-nousemarquees:
**-[no]use_marquees** / **-[no]marquees**
- Enables/disables the display of marquees.
-
- The default is ON (**-use_marquees**).
+ Enables/disables the display of marquees. The default is ON (**-use_marquees**).
.. _mame-commandline-fallbackartwork:
**-fallback_artwork**
- Specifies fallback artwork if no external artwork or internal driver layout
- is defined.
+ Specifies fallback artwork if no external artwork or internal driver layout is defined.
.. _mame-commandline-overrideartwork:
**-override_artwork**
- Specifies override artwork for external artwork and internal driver layout.
+ Specifies override artwork for external artwork and internal driver layout.
@@ -1566,70 +948,31 @@ Core Screen Options
**-brightness** *<value>*
- Controls the default brightness, or black level, of the system 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 system
- screen; this option controls the initial value for all visible system
- 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``.
+ Controls the default brightness, or black level, of the system 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 system screen; this option controls the initial value for all visible system 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``.
.. _mame-commandline-contrast:
**-contrast** *<value>*
- Controls the contrast, or white level, of the system 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 system screen; this
- option controls the initial value for all visible system 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``.
+ Controls the contrast, or white level, of the system 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 system screen; this option controls the initial value for all visible system 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``.
.. _mame-commandline-gamma:
**-gamma** *<value>*
- Controls the gamma, which produces a potentially nonlinear black to white
- ramp, for the system 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 system screen; this option controls the initial value for
- all visible system 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``.
+ Controls the gamma, which produces a potentially nonlinear black to white ramp, for the system 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 system screen; this option controls the initial value for all visible system 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``.
.. _mame-commandline-pausebrightness:
**-pause_brightness** *<value>*
- This controls the brightness level when MAME is paused.
-
- The default value is ``0.65``.
+ This controls the brightness level when MAME is paused. The default value is ``0.65``.
.. _mame-commandline-effect:
**-effect** *<filename>*
- Specifies a single PNG file that is used as an overlay over any system
- 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 system screen areas
- (but not any external artwork), and is rendered at the target resolution of
- the system 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. 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.
+ Specifies a single PNG file that is used as an overlay over any system 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 system screen areas (but not any external artwork), and is rendered at the target resolution of the system 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. 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.
@@ -1640,62 +983,50 @@ Core Vector Options
**-beam_width_min** *<width>*
- Sets the vector beam minimum width.
+ Sets the vector beam minimum width.
.. _mame-commandline-beamwidthmax:
**-beam_width_max** *<width>*
- Sets the vector beam maximum width.
+ Sets the vector beam maximum width.
.. _mame-commandline-beamintensityweight:
**-beam_intensity_weight** *<weight>*
- Sets the vector beam intensity weight.
+ Sets the vector beam intensity weight.
.. _mame-commandline-flicker:
**-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).
+ 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``.
- The default is ``0``.
Core Video OpenGL Debugging Options
-----------------------------------
-These 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.
+These 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.
.. _mame-commandline-glforcepow2texture:
**-[no]gl_forcepow2texture**
- Always use only power-of-2 sized textures.
-
- The default is OFF. (**-nogl_forcepow2texture**)
+ Always use only power-of-2 sized textures (default ``off``)
.. _mame-commandline-glnotexturerect:
**-[no]gl_notexturerect**
- Don't use OpenGL GL_ARB_texture_rectangle.
-
- The default is ON. (**-gl_notexturerect**)
+ Don't use OpenGL GL_ARB_texture_rectangle (default ``on``)
.. _mame-commandline-glvbo:
**-[no]gl_vbo**
- Enable OpenGL VBO (Vertex Buffer Objects), if available.
-
- The default is ON. (**-gl_vbo**)
+ Enable OpenGL VBO (Vertex Buffer Objects), if available (default ``on``)
.. _mame-commandline-glpbo:
@@ -1703,76 +1034,57 @@ possible video performance.
Enable OpenGL PBO (Pixel Buffer Objects), if available (default ``on``)
- The default is ON. (**-gl_pbo**)
-
Core Video OpenGL GLSL Options
------------------------------
+
.. _mame-commandline-glglsl:
**-gl_glsl**
- Enable OpenGL GLSL, if available.
-
- The default is OFF.
+ Enable OpenGL GLSL, if available (default ``off``)
.. _mame-commandline-glglslfilter:
**-gl_glsl_filter**
- Use OpenGL GLSL shader-based filtering instead of fixed function
- pipeline-based filtering.
-
- *0-plain, 1-bilinear, 2-bicubic*
-
- The default is 1. (**-gl_glsl_filter 1**)
+ Enable OpenGL GLSL filtering instead of FF filtering -- *0-plain, 1-bilinear, 2-bicubic* (default is ``1``)
.. _mame-commandline-glslshadermame:
-**-glsl_shader_mame0**
-
-**-glsl_shader_mame1**
-
-...
-
-**-glsl_shader_mame9**
-
+|
+| **-glsl_shader_mame0**
+| **-glsl_shader_mame1**
+| ...
+| **-glsl_shader_mame9**
+|
- Custom OpenGL GLSL shader set MAME bitmap in the provided slot (0-9); one
- can be applied to each slot.
+ Custom OpenGL GLSL shader set MAME bitmap in the provided slot (0-9); one can be applied to each slot.
- [todo: better details on usage at some point.
- See http://forums.bannister.org/ubbthreads.php?ubb=showflat&Number=100988#Post100988 ]
+ [todo: better details on usage at some point. See http://forums.bannister.org/ubbthreads.php?ubb=showflat&Number=100988#Post100988 ]
.. _mame-commandline-glslshaderscreen:
+|
+| **-glsl_shader_screen0**
+| **-glsl_shader_screen1**
+| ...
+| **-glsl_shader_screen9**
+|
-**-glsl_shader_screen0**
-
-**-glsl_shader_screen1**
-
-...
-
-**-glsl_shader_screen9**
-
-
- Custom OpenGL GLSL shader screen bitmap in the provided slot (0-9).
+ Custom OpenGL GLSL shader screen bitmap in the provided slot (0-9).
- [todo: better details on usage at some point.
- See http://forums.bannister.org/ubbthreads.php?ubb=showflat&Number=100988#Post100988 ]
+ [todo: better details on usage at some point. See http://forums.bannister.org/ubbthreads.php?ubb=showflat&Number=100988#Post100988 ]
.. _mame-commandline-glglslvidattr:
**-gl_glsl_vid_attr**
- Enable OpenGL GLSL handling of brightness and contrast.
- Better RGB system performance.
-
- Default is ``on``.
+ Enable OpenGL GLSL handling of brightness and contrast. Better RGB system performance. Default is ``on``.
Core Sound Options
@@ -1782,62 +1094,39 @@ 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``.
+ 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``.
.. _mame-commandline-nosamples:
**-[no]samples**
- Use samples if available.
-
- The default is ON (**-samples**).
+ Use samples if available. The default is ON (**-samples**).
.. _mame-commandline-volume:
**-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``.
+ 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``.
.. _mame-commandline-sound:
**-sound** *<``dsound``|``coreaudio``|``sdl``|``xaudio2``|``portaudio``|``none``>*
- Specifies which sound subsystem to use. Selecting ``none`` disables sound
- output altogether (sound hardware is still emulated).
+ Specifies which sound subsystem to use. Selecting ``none`` disables sound output altogether (sound hardware is still emulated). On Windows, ``dsound``, ``xaudio2``, ``portaudio`` and ``none`` are available. On macOS, ``coreaudio``, ``sdl``, ``portaudio`` and ``none`` are available. On other operating systems, ``sdl``, ``portaudio`` and ``none`` are available. (Special build options allow ``sdl`` to be used on Windows, or ``portaudio`` to be disabled.)
-| On Windows, ``dsound``, ``xaudio2``, ``portaudio`` and ``none`` are available.
-| On macOS, ``coreaudio``, ``sdl``, ``portaudio`` and ``none`` are available.
-| On other operating systems, ``sdl``, ``portaudio`` and ``none`` are available. (Special build options allow ``sdl`` to be used on Windows, or ``portaudio`` to be disabled.)
-|
-| The default is ``dsound`` on Windows. On Mac, ``coreaudio`` is the default. On all other platforms, ``sdl`` is the default.
-|
+ The default is ``dsound`` on Windows. On Mac, ``coreaudio`` is the default. On all other platforms, ``sdl`` is the default.
- On Windows and Linux, *portaudio* is likely to give the lowest possible
- latency, while Mac users will find *coreaudio* provides the best results.
+ On Windows and Linux, *portaudio* is likely to give the lowest possible latency, where on Mac *coreaudio* provides the best results.
- When using the ``sdl`` sound subsystem, the audio API to use may be selected
- by setting the *SDL_AUDIODRIVER* environment variable. Available audio APIs
- depend on the operating system. On Windows, it may be necessary to set
- ``SDL_AUDIODRIVER=directsound`` if no sound output is produced by default.
+ When using the ``sdl`` sound subsystem, the audio API to use may be selected by setting the *SDL_AUDIODRIVER* environment variable. Available audio APIs depend on the operating system. On Windows, it may be necessary to set ``SDL_AUDIODRIVER=directsound`` if no sound output is produced by default.
.. _mame-commandline-audiolatency:
**-audio_latency** *<value>*
- The exact behavior depends on the selected audio output module. Smaller
- values provide less audio delay while requiring better system performance.
- Higher values increase audio delay but may help avoid buffer under-runs and
- audio interruptions.
+ The exact behavior depends on the selected audio output module. Smaller values provide less audio delay while requiring better system performance. Higher values increase audio delay but may help avoid buffer under-runs and audio interruptions. The default is ``1``.
+
- The default is ``1``.
Core Input Options
@@ -1847,135 +1136,69 @@ Core Input Options
**-[no]coin_lockout** / **-[no]coinlock**
- Enables simulation of the "coin lockout" feature that is implemented on a
- number of arcade 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**).
+ Enables simulation of the "coin lockout" feature that is implemented on a number of arcade 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**).
.. _mame-commandline-ctrlr:
**-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).
+ 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).
.. _mame-commandline-nomouse:
**-[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 system.
-
- The default is OFF (**-nomouse**).
+ 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 system. The default is OFF (**-nomouse**).
.. _mame-commandline-nojoystick:
**-[no]joystick** / **-[no]joy**
- Controls whether or not MAME makes use of joystick/gamepad controllers.
-
- When this is enabled, MAME will ask the system about which controllers are
- connected.
-
- The default is OFF (**-nojoystick**).
+ 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**).
.. _mame-commandline-nolightgun:
**-[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**).
+ 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**).
.. _mame-commandline-nomultikeyboard:
**-[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**).
+ 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**).
.. _mame-commandline-nomultimouse:
**-[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**).
+ 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**).
.. _mame-commandline-nosteadykey:
**-[no]steadykey** / **-[no]steady**
- Some systems 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**)
+ Some systems 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**)
.. _mame-commandline-uiactive:
**-[no]ui_active**
- Enable user interface on top of emulated keyboard (if present).
-
- The default is OFF (**-noui_active**)
+ Enable user interface on top of emulated keyboard (if present). The default is OFF (**-noui_active**)
.. _mame-commandline-nooffscreenreload:
**-[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**).
+ 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**).
.. _mame-commandline-joystickmap:
**-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.
+ 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 system.
- 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 system.
-
- 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:
+ 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 | |
@@ -1989,109 +1212,64 @@ Core Input Options
| | 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:
+ 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:
- +-------------------------------------------------------------------------------------------------------+
- | **-joymap 777888999.777888999.777888999.444555666.444555666.444555666.111222333.111222333.111222333** |
- +-------------------------------------------------------------------------------------------------------+
+ +-------------------------------------------------------------------------------------------+
+ | 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 columns 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.
+ 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 columns 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 (which means we then use
- **-joymap 7778...4445**)
+ 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.
+ 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 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.
+ 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.
.. _mame-commandline-joystickdeadzone:
**-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``.
+ 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``.
.. _mame-commandline-joysticksaturation:
**-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``.
+ 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``.
.. _mame-commandline-natural:
**\-natural**
- Allows user to specify whether or not to use a natural keyboard or not.
- This allows you to start your system in a 'native' mode, depending on your
- region, allowing compatability for non-"QWERTY" style keyboards.
-
- The default is OFF (**-nonatural**)
+ Allows user to specify whether or not to use a natural keyboard or not. This allows you to start your system in a 'native' mode, depending on your region, allowing compatability for non-"QWERTY" style keyboards. The default is OFF (**-nonatural**)
- In "emulated keyboard" mode (the default mode), MAME translates
- pressing/releasing host keys/buttons to emulated keystrokes. When you
- press/release a key/button mapped to an emulated key, MAME
- presses/releases the emulated key.
+ In "emulated keyboard" mode (the default mode), MAME translates pressing/releasing host keys/buttons to emulated keystrokes. When you press/release a key/button mapped to an emulated key, MAME presses/releases the emulated key.
- In "natural keyboard" mode, MAME attempts to translate characters to
- keystrokes. The OS translates keystrokes to characters
- (similarly when you type into a text editor), and MAME attempts to translate
- these characters to emulated keystrokes.
+ In "natural keyboard" mode, MAME attempts to translate characters to keystrokes. The OS translates keystrokes to characters (similarly when you type into a text editor), and MAME attempts to translate these characters to emulated keystrokes.
- **There are a number of unavoidable limitations in "natural keyboard" mode:**
+ **There are a number of unavoidable limitations in "natural keyboard" mode:**
- * The emulated system driver and/or keyboard device or has to support it.
- * The selected keyboard *must* match the keyboard layout selected in the emulated OS!
- * Keystrokes that don't produce characters can't be translated. (e.g. pressing a modifier on its own such as **shift**, **ctrl**, or **alt**)
- * Holding a key until the character repeats will cause the emulated key to be pressed repeatedly as opposed to being held down.
- * Dead key sequences are cumbersome to use at best.
- * It won't work at all if IME edit is involved. (e.g. for Chinese/Japanese/Korean)
+ * The emulated system driver and/or keyboard device or has to support it.
+ * The selected keyboard *must* match the keyboard layout selected in the emulated OS!
+ * Keystrokes that don't produce characters can't be translated. (e.g. pressing a modifier on its own such as **shift**, **ctrl**, or **alt**)
+ * Holding a key until the character repeats will cause the emulated key to be pressed repeatedly as opposed to being held down.
+ * Dead key sequences are cumbersome to use at best.
+ * It won't work at all if IME edit is involved. (e.g. for Chinese/Japanese/Korean)
.. _mame-commandline-joystickcontradictory:
**-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**)
+ 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**)
.. _mame-commandline-coinimpulse:
**-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``.
+ Set coin impulse time based on n (n<0 disable impulse, n==0 obey driver, 0<n set time n). Default is ``0``.
@@ -2100,45 +1278,38 @@ Core Input Automatic Enable Options
.. _mame-commandline-paddledevice:
-**-paddle_device** (``none``|``keyboard``|``mouse``|``lightgun``|``joystick``)
+**\-paddle_device** enable (``none``|``keyboard``|``mouse``|``lightgun``|``joystick``) if a paddle control is present
.. _mame-commandline-adstickdevice:
-**-adstick_device** (``none``|``keyboard``|``mouse``|``lightgun``|``joystick``)
+**\-adstick_device** enable (``none``|``keyboard``|``mouse``|``lightgun``|``joystick``) if an analog joystick control is present
.. _mame-commandline-pedaldevice:
-**-pedal_device** (``none``|``keyboard``|``mouse``|```lightgun``|``joystick``)
+**\-pedal_device** enable (``none``|``keyboard``|``mouse``|```lightgun``|``joystick``) if a pedal control is present
.. _mame-commandline-dialdevice:
-**-dial_device** (``none``|``keyboard``|``mouse``|``lightgun``|``joystick``)
+**\-dial_device** enable (``none``|``keyboard``|``mouse``|``lightgun``|``joystick``) if a dial control is present
.. _mame-commandline-trackballdevice:
-**-trackball_device** (``none``|``keyboard``|``mouse``|``lightgun``|``joystick``)
+**\-trackball_device** enable (``none``|``keyboard``|``mouse``|``lightgun``|``joystick``) if a trackball control is present
.. _mame-commandline-lightgundevice:
-**-lightgun_device** (``none``|``keyboard``|``mouse``|``lightgun``|``joystick``)
+**\-lightgun_device** enable (``none``|``keyboard``|``mouse``|``lightgun``|``joystick``) if a lightgun control is present
.. _mame-commandline-positionaldevice:
-**-positional_device** (``none``|``keyboard``|``mouse``|``lightgun``|``joystick``)
+**\-positional_device** enable (``none``|``keyboard``|``mouse``|``lightgun``|``joystick``) if a positional control is present
.. _mame-commandline-mousedevice:
-**-mouse_device** (``none``|``keyboard``|``mouse``|``lightgun``|``joystick``)
+**\-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 system. 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**.
+ 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 system. 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.
- Note that these controls override the values of **-[no]mouse**,
- **-[no]joystick**, etc.
Debugging Options
@@ -2148,98 +1319,63 @@ 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**).
+ 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**).
.. _mame-commandline-oslog:
**-[no]oslog**
- Output ``error.log`` messages to the system diagnostic output, if one is
- present.
-
- By default messages are sent to the standard error output (this is typically
- displayed in the terminal or command prompt window, or saved to a system log
- file). On Windows, if a debugger is attached (e.g. the Visual Studio
- debugger or WinDbg), messages will be sent to the debugger instead.
-
- The default is OFF (**-nooslog**).
+ Output error.log data to the system debugger. The default is OFF (**-nooslog**).
.. _mame-commandline-log:
**-[no]log**
- Creates a file called error.log which contains all of the internal log
- messages generated by the MAME core and system drivers. This can be used at
- the same time as **-log** to output the log data to both targets as well.
-
- The default is OFF (**-nolog**).
+ Creates a file called error.log which contains all of the internal log messages generated by the MAME core and system drivers. This can be used at the same time as **-log** to output the log data to both targets as well. The default is OFF (**-nolog**).
.. _mame-commandline-debug:
**-[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**).
+ 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**).
.. _mame-commandline-debugscript:
**-debugscript** *<filename>*
- Specifies a file that contains a list of debugger commands to execute
- immediately upon startup.
-
- The default is ``NULL`` (*no commands*).
+ Specifies a file that contains a list of debugger commands to execute immediately upon startup. The default is ``NULL`` (*no commands*).
.. _mame-commandline-updateinpause:
**-[no]update_in_pause**
- Enables updating of the main screen bitmap while the system is paused. This
- means that the video update callback will be called repeatedly while the
- emulation is paused, which can be useful for debugging.
-
- The default is OFF (**-noupdate_in_pause**).
+ Enables updating of the main screen bitmap while the system 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**).
.. _mame-commandline-watchdog:
**-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 systems 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.
+ 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 systems 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.
.. _mame-commandline-debuggerfont:
**-debugger_font** *<fontname>* / **-dfont** *<fontname>*
- Specifies the name of the font to use for debugger windows.
+ Specifies the name of the font to use for debugger windows.
- | The Windows default font is ``Lucida Console``.
- | The Mac (Cocoa) default font is system fixed-pitch font default (typically ``Monaco``).
- | The Qt default font is ``Courier New``.
+ The Windows default font is ``Lucida Console``.
+ The Mac (Cocoa) default font is system fixed-pitch font default (typically ``Monaco``).
+ The Qt default font is ``Courier New``.
.. _mame-commandline-debuggerfontsize:
**-debugger_font_size** *<points>* / **-dfontsize** *<points>*
- Specifies the size of the font to use for debugger windows, in points.
+ Specifies the size of the font to use for debugger windows, in points.
- | The Windows default size is ``9`` points.
- | The Qt default size is ``11`` points.
- | The Mac (Cocoa) default size is the system default size.
+ The Windows default size is ``9`` points.
+ The Qt default size is ``11`` points.
+ The Mac (Cocoa) default size is the system default size.
Core Communication Options
@@ -2249,47 +1385,32 @@ 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``" (which binds to all local IPv4
- addresses).
+ 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``"
.. _mame-commandline-commlocalport:
**-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``".
+ 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``".
.. _mame-commandline-commremotehost:
**-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``" (which binds to all local IPv4
- addresses).
+ 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``"
.. _mame-commandline-commremoteport:
**-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``".
+ 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``".
.. _mame-commandline-commframesync:
**-[no]comm_framesync**
- Synchronize frames between the communications network.
+ Synchronize frames between the communications network. The default is OFF (**-nocomm_framesync**).
- The default is OFF (**-nocomm_framesync**).
Core Misc Options
@@ -2298,124 +1419,85 @@ Core Misc Options
.. _mame-commandline-drc:
**-[no]drc**
-
- Enable DRC (dynamic recompiler) CPU core if available for maximum speed.
-
- The default is ON (**-drc**).
+ Enable DRC (dynamic recompiler) CPU core if available for maximum speed. The default is ON (**-drc**).
.. _mame-commandline-drcusec:
**\-drc_use_c**
- Force DRC to use the C code backend.
-
- The default is OFF (**-nodrc_use_c**).
+ Force DRC to use the C code backend. The default is OFF (**-nodrc_use_c**).
.. _mame-commandline-drcloguml:
**\-drc_log_uml**
- Write DRC UML disassembly log.
-
- The default is OFF (**-nodrc_log_uml**).
+ Write DRC UML disassembly log. The default is OFF (**-nodrc_log_uml**).
.. _mame-commandline-drclognative:
**\-drc_log_native**
- Write DRC native disassembly log.
-
- The default is OFF (**-nodrc_log_native**).
+ write DRC native disassembly log. The default is OFF (**-nodrc_log_native**).
.. _mame-commandline-bios:
**-bios** *<biosname>*
- Specifies the specific BIOS to use with the current system, for systems that
- make use of a BIOS. The **-listxml** output will list all of the possible
- BIOS names for a system.
-
- The default is ``default``.
+ Specifies the specific BIOS to use with the current system, for systems that make use of a BIOS. The **-listxml** output will list all of the possible BIOS names for a system. The default is ``default``.
.. _mame-commandline-cheat:
**-[no]cheat** / **-[no]c**
- Activates the cheat menu with autofire options and other tricks from the
- cheat database, if present. This also activates additional options on the
- slider menu for overclocking/underclocking.
-
- *Be advised that savestates created with cheats on may not work correctly
- with this turned off and vice-versa.*
-
- The default is OFF (**-nocheat**).
+ Activates the cheat menu with autofire options and other tricks from the cheat database, if present. The default is OFF (**-nocheat**).
.. _mame-commandline-skipgameinfo:
**-[no]skip_gameinfo**
- Forces MAME to skip displaying the system info screen.
-
- The default is OFF (**-noskip_gameinfo**).
+ Forces MAME to skip displaying the system info screen. The default is OFF (**-noskip_gameinfo**).
.. _mame-commandline-uifont:
**-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
- instead of a BDF font file.
-
- The default is ``default`` (use the OSD-determined default font).
+ 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 instead of a BDF font file. The default is ``default`` (use the OSD-determined default font).
.. _mame-commandline-ui:
**-ui** *<type>*
- Specifies the type of UI to use, either ``simple`` or ``cabinet``.
-
- The default is Cabinet (**-ui cabinet**).
+ Specifies the type of UI to use, either ``simple`` or ``cabinet``. The default is Cabinet (**-ui cabinet**).
.. _mame-commandline-ramsize:
**-ramsize** *[n]*
- Allows you to change the default RAM size (if supported by driver).
+ Allows you to change the default RAM size (if supported by driver).
.. _mame-commandline-confirmquit:
**\-confirm_quit**
- Display a Confirm Quit dialong to screen on exit, requiring one extra step
- to exit MAME.
-
- The default is OFF (**-noconfirm_quit**).
+ Display a Confirm Quit dialong to screen on exit, requiring one extra step to exit MAME. The default is OFF (**-noconfirm_quit**).
.. _mame-commandline-uimouse:
**\-ui_mouse**
- Displays a mouse cursor when using the built-in UI for MAME.
-
- The default is (**-noui_mouse**).
+ Displays a mouse cursor when using the built-in UI for MAME. The default is (**-noui_mouse**).
.. _mame-commandline-language:
**-language** *<language>*
- Specify a localization language found in the ``languagepath`` tree.
+ Specify a localization language found in the ``languagepath`` tree.
.. _mame-commandline-nvramsave:
**-[no]nvram_save**
- Save the NVRAM contents when exiting machine emulation. By turning this off,
- you can retain your previous NVRAM contents as any current changes made will
- not be saved. Turning this option off will also unconditionally suppress the
- saving of .nv files associated with some types of software cartridges.
-
- The default is ON (**-nvram_save**).
+ Save the NVRAM contents when exiting machine emulation. By turning this off, you can retain your previous NVRAM contents as any current changes made will not be saved. The default is ON (**-nvram_save**).
@@ -2426,53 +1508,45 @@ Scripting Options
**-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.
+ 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.
- This works only with systems that support natural keyboard mode.
-
- Example: **-autoboot_command "load """$""",8,1\\n"**
+ Example: **-autoboot_command "load """$""",8,1\\n"**
.. _mame-commandline-autobootdelay:
**-autoboot_delay** *[n]*
- Timer delay (in seconds) to trigger command execution on autoboot.
+ Timer delay (in seconds) to trigger command execution on autoboot.
.. _mame-commandline-autobootscript:
**-autoboot_script** / **-script** *[filename.lua]*
- File containing scripting to execute after machine boot.
+ File containing scripting to execute after machine boot.
.. _mame-commandline-console:
**-[no]console**
- Enables emulator Lua Console window.
-
- The default of OFF (**-noconsole**).
+ Enables emulator Lua Console window. The default of OFF (**-noconsole**).
.. _mame-commandline-plugins:
**-plugins**
- Enable the use of Lua Plugins.
-
- The default is ON (**-plugins**).
+ Enable the use of Lua Plugins. The default is ON (**-plugins**).
.. _mame-commandline-plugin:
**-plugin** *[plugin shortname]*
- A list of Lua Plugins to enable, comma separated.
+ A list of Lua Plugins to enable, comma separated.
.. _mame-commandline-noplugin:
**-noplugin** *[plugin shortname]*
- A list of Lua Plugins to disable, comma separated.
+ A list of Lua Plugins to disable, comma separated.
@@ -2482,22 +1556,16 @@ HTTP Server Options
**-[no]http**
- Enable HTTP server.
-
- The default is OFF (**-nohttp**).
+ Enable HTTP server. The default is OFF (**-nohttp**).
.. _mame-commandline-httpport:
**-http_port** *[port]*
- Choose HTTP server port.
-
- The default is ``8080``.
+ Choose HTTP server port. The default is ``8080``.
.. _mame-commandline-httproot:
**-http_root** *[rootfolder]*
- Choose HTTP server document root.
-
- The default is ``web``.
+ Choose HTTP server document root. The default is ``web``.
diff --git a/docs/source/conf.py b/docs/source/conf.py
index 4130e982e30..acc99a66fbd 100644
--- a/docs/source/conf.py
+++ b/docs/source/conf.py
@@ -32,7 +32,6 @@ extensions = [
'sphinx.ext.mathjax',
'sphinx.ext.viewcode',
'edit_on_github',
- 'sphinxcontrib.rsvgconverter'
]
edit_on_github_project = 'mamedev/mame'
@@ -55,16 +54,16 @@ master_doc = 'index'
# General information about the project.
project = u'MAME Documentation'
-copyright = u'2019, MAMEdev Team'
+copyright = u'2018, MAMEdev Team'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
-version = '0.205'
+version = '0.194'
# The full version, including alpha/beta/rc tags.
-release = '0.205'
+release = '0.194'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
diff --git a/docs/source/images/MAMElogo.svg b/docs/source/images/MAMElogo.svg
deleted file mode 100644
index b45bc7ebdb3..00000000000
--- a/docs/source/images/MAMElogo.svg
+++ /dev/null
@@ -1,68 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- id="svg4563"
- version="1.1"
- viewBox="0 0 321.26581 91.07238"
- height="91.07238mm"
- width="321.26581mm">
- <defs
- id="defs4557">
- <linearGradient
- id="left-dark">
- <stop
- style="stop-color:#00274f;stop-opacity:1"
- offset="0"
- id="stop5213" />
- <stop
- style="stop-color:#68cafb;stop-opacity:1"
- offset="1"
- id="stop5215" />
- </linearGradient>
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="299.328"
- x2="11"
- y1="299.328"
- x1="1213.16"
- id="right-dark">
- <stop
- id="stop4"
- stop-color="#68cafb"
- offset="0" />
- <stop
- id="stop6"
- stop-color="#00274f"
- offset="1" />
- </linearGradient>
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="162.44048"
- x2="237.65611"
- y1="162.44048"
- x1="-80.41803"
- id="linearGradient5175"
- xlink:href="#right-dark" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="162.44048"
- x2="237.65611"
- y1="162.44048"
- x1="-80.41803"
- id="linearGradient5211"
- xlink:href="#left-dark" />
- </defs>
- <g
- transform="translate(82.012688,-116.4355)"
- id="layer1">
- <path
- style="fill:url(#linearGradient5175);fill-rule:evenodd;stroke:url(#linearGradient5211);stroke-width:1.32291663px;stroke-linejoin:miter;stroke-opacity:0.75"
- d="m -80.418029,184.88601 66.4546,-66.5869 v 28.92769 l 29.05998,-28.92769 v 46.56667 l 46.74315,-46.83125 v 52.51979 l 52.519789,-52.51979 v 29.19227 l 29.01579,-28.92769 v 44.6704 l 43.56815,-43.65625 h 50.71269 l -16.36184,16.36025 h -25.83921 l -7.40833,7.40833 h 13.44877 l -17.02064,17.24184 h -13.80332 l -7.67291,7.54062 h 44.93418 l -17.15293,17.02171 h -68.74748 l 4.14496,-4.54211 V 161.91118 L 101.6153,186.07663 V 158.0308 L 74.715911,184.88601 H 44.421121 V 162.17576 L -0.24927857,206.84642 H -26.707609 L -2.1013586,182.1518 V 162.17576 L -26.707609,186.6058 v -29.10417 l -27.25209,27.38438 z"
- class="cls-1" />
- </g>
-</svg>
diff --git a/docs/source/index.rst b/docs/source/index.rst
index bf90036aa92..1cee5d6f714 100644
--- a/docs/source/index.rst
+++ b/docs/source/index.rst
@@ -2,17 +2,12 @@
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
-.. image:: images/MAMElogo.svg
- :width: 100%
- :align: center
- :alt: MAME
-
MAME Documentation
==================
.. note::
This documentation is a work in progress. You can track the status of these topics through MAME's `issue tracker <https://github.com/mamedev/mame/issues>`_. Learn how you can `contribute <https://github.com/mamedev/mame/blob/master/docs/CONTRIBUTING.md>`_ on GitHub.
-
+
.. toctree::
:titlesonly:
@@ -30,8 +25,9 @@ MAME Documentation
security
license
-
+
Contribute
----------
The documentation on this site is the handiwork of our many contributors.
+
diff --git a/docs/source/initialsetup/compilingmame.rst b/docs/source/initialsetup/compilingmame.rst
index b8a854db322..993ffb8e5fb 100644
--- a/docs/source/initialsetup/compilingmame.rst
+++ b/docs/source/initialsetup/compilingmame.rst
@@ -36,79 +36,15 @@ Rebuilding MAME on a dual-core (e.g. i3 or laptop i5) machine:
Microsoft Windows
-----------------
-MAME for Windows is built using the MSYS2 environment. You will need Windows 7
-or later and a reasonably up-to-date MSYS2 installation. We strongly recommend
-building MAME on a 64-bit system. Instructions may need to be adjusted for
-32-bit systems.
-
-* A pre-packaged MSYS2 installation including the prerequisites for building
- MAME can be downloaded from the `MAME Build Tools
- <http://mamedev.org/tools/>`_ page.
-* After initial installation, you can update the MSYS2 environment using the
- **pacman** (Arch package manage) command.
-* By default, MAME will be built using native Windows OS interfaces for
- window management, audio/video output, font rendering, etc. If you want to
- use the portable SDL (Simple DirectMedia Layer) interfaces instead, you can
- add **OSD=sdl** to the make options. The main emulator binary will have an
- ``sdl`` prefix prepended (e.g. ``sdlmame64.exe`` or ``sdlmame.exe``). You
- will need to install the MSYS2 packages for SDL 2 version 2.0.3 or later.
-* By default, MAME will include the native Windows debugger. To also inculde
- the portable Qt debugger, add **USE_QTDEBUG=1** to the make options. You
- will need to install the MSYS2 packages for Qt 5.
-
-Using a standard MSYS2 installation
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-You may also build MAME using a standard MSYS2 installation and adding the tools
-needed for building MAME. These instructions assume you have some familiarity
-with MSYS2 and the **pacman** package manager.
-
-* Install the MSYS2 environment from the `MSYS2 homepage
- <https://www.msys2.org/>`_.
-* Download the latest version of the ``mame-essentials`` package from the
- `MAME package repository <https://repo.mamedev.org/x86_64/>`_ and install it
- using the **pacman** command.
-* Add the ``mame`` repository to ``/etc/pacman.conf`` using
- ``/etc/pacman.d/mirrorlist.mame`` for locations.
-* Install packages necessary to build MAME. At the very least, you'll need
- ``bash``, ``git``, ``make``.
-* For 64-bit builds you'll need ``mingw-w64-x86_64-gcc`` and
- ``mingw-w64-x86_64-python2``.
-* For 32-bit builds you'll need ``mingw-w64-i686-gcc`` and
- ``mingw-w64-i686-python2``.
-* For debugging you may want to install ``gdb``.
-* To build against the portable SDL interfaces, you'll need
- ``mingw-w64-x86_64-SDL2`` and ``mingw-w64-x86_64-SDL2_ttf`` for 64-bit builds,
- or ``mingw-w64-i686-SDL2`` and ``mingw-w64-i686-SDL2_ttf`` for 32-bit builds.
-* To build the Qt debugger, you'll need ``mingw-w64-x86_64-qt5`` for 64-bit
- builds, or ``mingw-w64-i686-qt5`` for 32-bit builds.
-* To generate API documentation from source, you'll need ``doxygen``.
-* For 64-bit builds, open **MSYS2 MinGW 64-bit** from the start menu, and set
- up the environment variables ``MINGW64`` to ``/mingw64`` and ``MINGW32`` to an
- empty string (e.g. using the command **export MINGW64=/mingw64 MINGW32=** in
- the Bash shell).
-* For 32-bit builds, open **MSYS2 MinGW 32-bit** from the start menu, and set
- up the environment variables ``MINGW32`` to ``/mingw32`` and ``MINGW64`` to an
- empty string (e.g. using the command **export MINGW32=/mingw32 MINGW64=** in
- the Bash shell).
-
-Building with Microsoft Visual Studio
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-* You can generate Visual Studio 2017 projects using **make vs2017**. The
- solution and project files will be created in
- ``build/projects/windows/mame/vs2017`` by default (the name of the ``build``
- folder can be changed using the ``BUILDDIR`` option). This will always
- regenerate the settings, so **REGENIE=1** is *not* needed.
-* Adding **MSBUILD=1** to the make options will build build the solution using
- the Microsoft Build Engine after generating the project files. Note that this
- requires paths and environment variables to be configured so the correct
- Visual Studio tools can be located.
-* MAME can only be compiled with the Visual Studio 15.7.6 tools. Bugs in newer
- versions of the Microsoft Visual C/C++ compiler prevent it from compiling
- MAME.
-* The MSYS2 environment is still required to generate the project files, convert
- built-in layouts, compile UI translations, etc.
+Here are specific notes about compiling MAME for Microsoft Windows.
+
+* Refer to `the MAME tools site <http://mamedev.org/tools/>`_ for the latest toolkit for getting MAME compiled on Windows.
+
+* You will need to download the toolset from that link to begin. Periodically, these tools are updated and newer versions of MAME from that point on will **require** updated tools to compile.
+
+* You can do compilation on Visual Studio 2017 (if installed on your PC) by using **make vs2017**. This will always regenerate the settings, so **REGENIE=1** is *not* needed.
+
+* Make sure you get SDL 2 2.0.3 or 2.0.4 as earlier versions are buggy.
.. _compiling-fedora:
@@ -252,27 +188,15 @@ IGNORE_GIT
revision description in the version string.
Tool locations
-~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~
OVERRIDE_CC
- Set the C/Objective-C compiler command. (This sets the target C compiler
- command when cross-compiling.)
+ Set the C/Objective-C compiler command.
OVERRIDE_CXX
- Set the C++/Objective-C++ compiler command. (This sets the target C++
- compiler command when cross-compiling.)
-OVERRIDE_LD
- Set the linker command. This is often not necessary or useful because the C
- or C++ compiler command is used to invoke the linker. (This sets the target
- linker command when cross-compiling.)
+ Set the C++/Objective-C++ compiler command.
PYTHON_EXECUTABLE
Set the Python interpreter command. You need Python 2.7 or Python 3 to build
MAME.
-CROSS_BUILD
- Set to **1** to use separate host and target compilers and linkers, as
- required for cross-compilation. In this case, **OVERRIDE_CC**,
- **OVERRIDE_CXX** and **OVERRIDE_LD** set the target C compiler, C++ compiler
- and linker commands, while **CC**, **CXX** and **LD** set the host C
- compiler, C++ compiler and linker commands.
Optional features
~~~~~~~~~~~~~~~~~
@@ -331,10 +255,10 @@ ARCHOPTS_CXX
source files.
ARCHOPTS_OBJC
Additional command-line options to pass to the compiler when compiling
- Objective-C source files.
+ Objecive-C source files.
ARCHOPTS_OBJCXX
Additional command-line options to pass to the compiler when compiling
- Objective-C++ source files.
+ Objecive-C++ source files.
Library/framework locations
~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -404,8 +328,8 @@ Issues with specific compiler versions
Adding **DEPRECATED=0** to your build options works around this by disabling
deprecation warnings.
* MinGW GCC 7 for Windows i386 produces spurious out-of-bounds access warnings.
- Adding **NOWERROR=1** to your build options works around this by not treating
- warnings as errors.
+ Adding **NOWERROR=1** to your build options works around this by disabling
+ deprecation warnings.
* Initial versions of GNU libstdc++ 6 have a broken ``std::unique_ptr``
implementation. If you encounter errors with ``std::unique_ptr`` you need to
upgrade to a newer version of libstdc++ that fixes the issue.
@@ -438,7 +362,7 @@ a **CFLAGS** or **CXXFLAGS** environment variable). You can check to see
whether the ``_FORTIFY_SOURCE`` macro is a built-in macro with your version of
GCC with a command like this:
-**gcc -dM -E - < /dev/null | grep _FORTIFY_SOURCE**
+**gcc -dM -E - | grep _FORTIFY_SOURCE**
If ``_FORTIFY_SOURCE`` is defined to a non-zero value by default, you can work
around it by adding **-U_FORTIFY_SOURCE** to the compiler flags (e.g. by using
@@ -451,23 +375,6 @@ variables.
Unusual Build Configurations
----------------------------
-Cross-compiling MAME
-~~~~~~~~~~~~~~~~~~~~
-
-MAME's build system has basic support for cross-compilation. Set
-**CROSS_BUILD=1** to enable separate host and target compilers, set
-**OVERRIDE_CC** and **OVERRIDE_CXX** to the target C/C++ compiler commands, and
-if necessary set **CC** and **CXX** to the host C/C++ compiler commands. If the
-target OS is different to the host OS, set it with **TARGETOS**. For example it
-may be possible to build a MinGW32 x64 build on a Linux host using a command
-like this:
-
-**make TARGETOS=windows PTR64=1 OVERRIDE_CC=x86_64-w64-mingw32-gcc OVERRIDE_CXX=x86_64-w64-mingw32-g++ OVERRIDE_LD=x86_64-w64-mingw32-ld MINGW64=/usr**
-
-(The additional packages required for producing a standard MinGW32 x64 build on
-a Fedora Linux host are ``mingw64-gcc-c++``, ``mingw64-winpthreads-static`` and
-their dependencies. Non-standard builds may require additional packages.)
-
Using libc++ on Linux
~~~~~~~~~~~~~~~~~~~~~
diff --git a/docs/source/license.rst b/docs/source/license.rst
index db2eb2f41d0..9e61b9ca349 100644
--- a/docs/source/license.rst
+++ b/docs/source/license.rst
@@ -6,7 +6,7 @@ The MAME project as a whole is distributed under the terms of the `GNU General P
Please note that MAME is a registered trademark of Gregory Ember, and permission is required to use the "MAME" name, logo, or wordmark.
- Copyright (C) 1997-2019 MAMEDev and contributors
+ Copyright (C) 1997-2018 MAMEDev and contributors
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/docs/source/techspecs/device_memory_interface.rst b/docs/source/techspecs/device_memory_interface.rst
index 4efa6a75234..f35a1887cee 100644
--- a/docs/source/techspecs/device_memory_interface.rst
+++ b/docs/source/techspecs/device_memory_interface.rst
@@ -70,7 +70,7 @@ Associating maps to spaces is done at the machine config level, after the device
| **MCFG_DEVICE_PROGRAM_MAP**\ (_map)
| **MCFG_DEVICE_DATA_MAP**\ (_map)
| **MCFG_DEVICE_IO_MAP**\ (_map)
-| **MCFG_DEVICE_OPCODES_MAP**\ (_map)
+| **MCFG_DEVICE_DECRYPTED_OPCODES_MAP**\ (_map)
The generic macro and the four specific ones associate a map to a
given space. Address maps associated to non-existing spaces are
diff --git a/docs/source/techspecs/layout_files.rst b/docs/source/techspecs/layout_files.rst
index 10467a8d0e9..de9bdff916c 100644
--- a/docs/source/techspecs/layout_files.rst
+++ b/docs/source/techspecs/layout_files.rst
@@ -32,7 +32,7 @@ There are two kinds of numbers in MAME layouts: integers and floating-point
numbers.
Integers may be supplied in decimal or hexadecimal notation. A decimal integer
-consists of an optional # (hash) prefix, an optional +/- (plus or minus) sign
+consists of and optional # (hash) prefix, an optional +/- (plus or minus) sign
character, and a sequence of digits 0-9. A hexadecimal number consists of one
of the prefixes $ (dollar sign) or 0x (zero ex) followed by a sequence of
hexadecimal digits 0-9 and A-F. Hexadecimal numbers are case-insensitive for
@@ -768,14 +768,12 @@ how digital displays may be connected to emulated outputs::
If an element instantiating a layout element has ``inputtag`` and ``inputmask``
attributes but lacks a ``name`` attribute, it will take its state from the value
-of the corresponding I/O port, masked with the ``inputmask`` value and XORed
-with the I/O port default field value. The latter is useful for inputs that are
-active-low. If the result is non-zero, the state is 1, otherwise it's 0. This
-is often used to allow clickable buttons and toggle switches to provide visible
-feedback. By using ``inputraw="1"``, it's possible to obtain the raw data from
-the I/O port, masked with the ``inputmask`` value and shifted to the right to
-remove trailing zeroes (for example a mask of 0x05 will result in no shift, while
-a mask of 0xb0 will result in the value being shifted four bits to the right).
+of the corresponding I/O port, masked with the ``inputmask`` value, and shifted
+to the right so that the least significant one bit of the mask aligns with the
+least significant bit of the value (for example a mask of 0x05 will result in no
+shift, while a mask of 0xb0 will result in the value being shifted four bits to
+the right). This is often used to allow clickable buttons and toggle switches
+to provide visible feedback.
When handling mouse input, MAME treats all layout elements as being rectangular,
and only activates the frontmost element whose area includes the location of the
@@ -1092,9 +1090,9 @@ when parameters are used, or recursively nested groups. The ``complay.py``
script is compatible with both Python 2.7 and Python 3 interpreters.
The ``complay.py`` script takes three parameters -- an input file name, an
-output file name, and a base name for variables in the output:
+output file name, and a base name for variables in the output::
- **python scripts/build/complay.py** *<input>* [*<output>* [*<varname>*]]
+ python scripts/build/complay.py input [output [varname]]
The input file name is required. If no output file name is supplied,
``complay.py`` will parse and check the input, reporting any errors found,
@@ -1106,6 +1104,6 @@ in case of an I/O error. If an output file name is specified, the file will be
created/overwritten on success or removed on failure.
To check a layout file for common errors, run the script with the path to the
-file no check and no output file name or base variable name. For example:
+file no check and no output file name or base variable name. For example::
- **python scripts/build/complay.py artwork/dino/default.lay**
+ python scripts/build/complay.py artwork/dino/default.lay
diff --git a/docs/source/techspecs/luaengine.rst b/docs/source/techspecs/luaengine.rst
index 26d6da6a253..fa1c04cdb10 100644
--- a/docs/source/techspecs/luaengine.rst
+++ b/docs/source/techspecs/luaengine.rst
@@ -53,7 +53,7 @@ Let's first run MAME in a terminal to reach the LUA console:
_/ _/ _/ _/_/_/_/ _/ _/ _/ _/_/_/
_/ _/ _/ _/ _/ _/ _/
_/ _/ _/ _/ _/ _/ _/_/_/_/
- mame v0.205
+ mame v0.195
Copyright (C) Nicola Salmoria and the MAME team
Lua 5.3
@@ -77,7 +77,7 @@ You can check at runtime which version of MAME you are running, with:
::
[MAME]> print(emu.app_name() .. " " .. emu.app_version())
- mame 0.205
+ mame 0.195
We now start exploring screen related methods. First, let's enumerate available screens:
diff --git a/docs/source/whatis.rst b/docs/source/whatis.rst
index 51f9d244226..fb5dffe497b 100644
--- a/docs/source/whatis.rst
+++ b/docs/source/whatis.rst
@@ -7,7 +7,7 @@ MAME's purpose is to preserve decades of software history. As electronic technol
|
| **MAME®**
-| **Copyright © 1997-2019 by Nicola Salmoria and the MAME team**
+| **Copyright © 1997-2018 by Nicola Salmoria and the MAME team**
| **MAME is a registered trademark owned by Gregory Ember**
|
diff --git a/hash/32x.xml b/hash/32x.xml
index c08cf37e0de..e9821cfc763 100644
--- a/hash/32x.xml
+++ b/hash/32x.xml
@@ -112,63 +112,8 @@
</part>
</software>
- <!-- Dump by Radar -->
- <software name="pinochio">
- <description>Pinocchio (Euro, Prototype 19951206)</description>
- <year>1995</year>
- <publisher>Virgin</publisher>
- <sharedfeat name="compatibility" value="PAL"/>
- <part name="cart" interface="_32x_cart">
- <feature name="pcb" value="837-11069" />
- <feature name="ic1" value="EPROM [M27C4001]" />
- <feature name="ic2" value="EPROM [M27C4001]" />
- <feature name="ic3" value="EPROM [M27C4001]" />
- <feature name="ic4" value="EPROM [M27C4001]" />
- <feature name="ic5" value="EPROM [M27C4001]" />
- <feature name="ic6" value="EPROM [M27C4001]" />
- <feature name="ic7" value="EPROM [M27C4001]" />
- <feature name="ic8" value="EPROM [M27C4001]" />
- <feature name="u015" value="SRAM [HM62256ALFP-10T]" />
- <feature name="u016" value="315-5709" />
- <feature name="u0114" value="26B" />
- <feature name="u0116" value="HC32" />
- <feature name="u0125" value="ALS245A" />
- <feature name="u0126" value="ALS245A" />
- <feature name="u0127" value="ALS245A" />
- <feature name="u0129" value="ALS245A" />
- <feature name="u0130" value="ALS245A" />
- <feature name="u0131" value="HC139" />
- <feature name="dipswitch" value="SW0135" /> <!-- ('.'.'') -->
- <feature name="battery" value="[empty]" />
- <dataarea name="rom" size="4194304">
- <rom name="u1.ic1" size="524288" crc="1553d1c6" sha1="18f00cbf8278ed709ec02cc2e5808ef4d0c479c1" offset="000000" />
- <rom name="u2.ic2" size="524288" crc="eff61056" sha1="e4693a6ea0b4498a13a1bf00e8064139f02e03ad" offset="0x80000" />
- <rom name="u3.ic2" size="524288" crc="218a0656" sha1="6a0cd97ab525a9d1dd10263bdd022427eddfeefe" offset="0x100000" />
- <rom name="u4.ic2" size="524288" crc="1c39dbd1" sha1="57331a3a680852251a0780559238c2cc3c1d1ad0" offset="0x180000" />
- <rom name="u5.ic2" size="524288" crc="6cbe0e12" sha1="830b81eb6db6487612f13999a671e98b9f782236" offset="0x200000" />
- <rom name="u6.ic2" size="524288" crc="70ee204d" sha1="4b476e494faf041439b4cb1916654eb231f6f49e" offset="0x280000" />
- <rom name="u7.ic2" size="524288" crc="63e613df" sha1="b40b7a72ece079452a1417f526a00473da7d3b7f" offset="0x300000" />
- <rom name="u8.ic2" size="524288" crc="7ecb16f0" sha1="9668cb5addd612fd34f3740155adfe3b64e4fec1" offset="0x380000" />
- </dataarea>
- </part>
- </software>
-
- <!-- Dump by Porchy -->
- <software name="cf2">
- <description>Clay Fighter 2 (Euro, USA, Jpn, Prototype 19950429)</description>
- <year>1995</year>
- <publisher>Sega</publisher>
- <sharedfeat name="compatibility" value="NTSC-J,NTSC-U,PAL"/>
- <part name="cart" interface="_32x_cart">
- <dataarea name="rom" size="1048576">
- <rom name="clayfighter 2 32x odd 4-28-95.u1" size="524288" crc="55cd507f" sha1="82a620ad9d8de5cdda5504401625dc44011c4444" offset="0x000001" loadflag="load16_byte"/>
- <rom name="clayfighter 2 32x even 4-29-95.u2" size="524288" crc="5cc3c228" sha1="7ebad951b63619c65b848018a774082364d57964" offset="0x000000" loadflag="load16_byte"/>
- </dataarea>
- </part>
- </software>
-
<!-- Old interleaved/unconfirmed dump -->
-<!-- PCB info and part numbers are taken from SMS Power and from nepereny's PCB pictures and other sources -->
+<!-- PCB info and part numbers are taken from SMS Power and from nepereny's PCB pictures ando other sources -->
<software name="aburner">
<description>After Burner Complete (Euro)</description>
@@ -1182,6 +1127,19 @@
</part>
</software>
+ <software name="cf2">
+ <description>Clay Fighter 2 (Jpn, USA, Euro Prototype)</description>
+ <year>1995</year>
+ <publisher>Sega</publisher>
+ <sharedfeat name="compatibility" value="NTSC-J,NTSC-U,PAL"/>
+ <part name="cart" interface="_32x_cart">
+ <dataarea name="rom" size="1048576">
+ <rom name="clay_fighter_2_32x_odd_4_28_95.u1" size="524288" crc="55cd507f" sha1="82a620ad9d8de5cdda5504401625dc44011c4444" offset="0x000001" loadflag="load16_byte"/>
+ <rom name="clay_fighter_2_32x_even_4_29_95.u2" size="524288" crc="5cc3c228" sha1="7ebad951b63619c65b848018a774082364d57964" offset="0x000000" loadflag="load16_byte"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="kolibri">
<description>Kolibri (Euro, USA)</description>
<year>1995</year>
diff --git a/hash/a800.xml b/hash/a800.xml
index 24c34811c7c..24c34811c7c 100644..100755
--- a/hash/a800.xml
+++ b/hash/a800.xml
diff --git a/hash/a800_flop.xml b/hash/a800_flop.xml
index 39b1d2846aa..39b1d2846aa 100644..100755
--- a/hash/a800_flop.xml
+++ b/hash/a800_flop.xml
diff --git a/hash/acrnsys_rom.xml b/hash/acrnsys_rom.xml
index 409c7a3396d..4c8829bde06 100644
--- a/hash/acrnsys_rom.xml
+++ b/hash/acrnsys_rom.xml
@@ -5,18 +5,6 @@
<softwarelist name="acrnsys_rom" description="Acorn System ROM images">
- <software name="ade">
- <description>ADE</description>
- <year>198?</year>
- <publisher>Acorn</publisher>
- <info name="usage" value="GO C000" />
- <part name="rom1" interface="acrnsys_rom">
- <dataarea name="rom" size="4096">
- <rom name="ade.rom" size="4096" crc="14c21b46" sha1="6745f62ee27611222ba96b9115666b1f4c49ae67" offset="0" />
- </dataarea>
- </part>
- </software>
-
<software name="econ148" supported="no">
<description>System/3 Econet 1.48</description>
<year>198?</year>
diff --git a/hash/alphatro_cart.xml b/hash/alphatro_cart.xml
index 5d361460a62..861fd934f5a 100644
--- a/hash/alphatro_cart.xml
+++ b/hash/alphatro_cart.xml
@@ -14,13 +14,13 @@
</part>
</software>
<software name="microtxt">
- <description>MicroText</description>
- <year>1983</year>
- <publisher>VictorSoft</publisher>
- <part name="cart" interface="alphatro_cart">
- <dataarea name="rom" size="16384">
- <rom name="microtext.bin" size="8192" crc="7a7eba6b" sha1="e75465ee6b397f806674fa645264fb2633ba7470" offset="8192" />
- </dataarea>
- </part>
- </software>
+ <description>MicroText</description>
+ <year>1983</year>
+ <publisher>VictorSoft</publisher>
+ <part name="cart" interface="alphatro_cart">
+ <dataarea name="rom" size="16384">
+ <rom name="microtext.bin" size="8192" crc="7a7eba6b" sha1="e75465ee6b397f806674fa645264fb2633ba7470" offset="8192" />
+ </dataarea>
+ </part>
+</software>
</softwarelist>
diff --git a/hash/apple2_flop_misc.xml b/hash/apple2.xml
index cb6b3e119a0..93e638cb685 100644
--- a/hash/apple2_flop_misc.xml
+++ b/hash/apple2.xml
@@ -2,7 +2,7 @@
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
<!-- Generated by SLIST 0.2.1 -->
-<softwarelist name="apple2_flop_misc" description="Apple II 5.25 miscellaneous disks">
+<softwarelist name="apple2" description="Apple II 5.25 disks">
<software name="4080trkd">
<description>40 and 80 Track DOS</description>
@@ -621,6 +621,18 @@
</part>
</software>
+ <software name="alcazar">
+ <description>Alcazar the Forgotten Fortress (clean crack)</description>
+ <year>1985</year>
+ <publisher>Activision</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="alcazar the forgotten fortress (1985)(activision)(clean crack).dsk" size="143360" crc="38a4bc9f" sha1="0d58e0821508b06ccbb73cbe6d7b45b07f7bfda8" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="alesia">
<description>Alesia</description>
<year>1984</year>
@@ -638,6 +650,23 @@
</part>
</software>
+ <software name="aliens">
+ <description>Aliens (clean crack)</description>
+ <year>1986</year>
+ <publisher>Activision</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="aliens (1986)(activision)(disk 1 of 2)(clean crack).dsk" size="143360" crc="bf0f7f72" sha1="d77b4d92ce266c75c4d7f08b85e507529e0afc68" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="aliens (1986)(activision)(disk 2 of 2)(clean crack).dsk" size="143360" crc="001325b2" sha1="077d7e3d9fb920b6f7cfc69381eb447f44ce0713" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="alien">
<description>Alien</description>
<year>1982</year>
@@ -976,6 +1005,18 @@
</part>
</software>
+ <software name="aztec">
+ <description>Aztec (clean crack)</description>
+ <year>1982</year>
+ <publisher>Datamost</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="aztec (4am crack).dsk" size="143360" crc="f4c40d91" sha1="71d639bb9b55369abc2ef534bab6b74a731b7e65" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="advbuckb">
<description>Adventures of Buckaroo Banzai</description>
<year>1985</year>
@@ -1058,6 +1099,18 @@
</part>
</software>
+ <software name="amchal">
+ <description>The American Challenge (clean crack)</description>
+ <year>1986</year>
+ <publisher>MIndscape</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="american challenge, the (1986)(mindscape)(trex crack).dsk" size="143360" crc="26af56f8" sha1="89d4c5c1a232a0c6ef1960d9da0e05e626890e55" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="amnesia">
<description>Amnesia</description>
<year>1986</year>
@@ -1086,7 +1139,7 @@
</software>
<software name="archon2">
- <description>Archon II: Adept (cracked)</description>
+ <description>Archon II: Adept</description>
<year>1985</year>
<publisher>Electronic Arts</publisher>
@@ -1098,7 +1151,7 @@
</software>
<software name="archon">
- <description>Archon (cracked)</description>
+ <description>Archon</description>
<year>1984</year>
<publisher>Electronic Arts</publisher>
@@ -1110,7 +1163,7 @@
</software>
<software name="artesian">
- <description>Artesians (cracked)</description>
+ <description>Artesians</description>
<year>19??</year>
<publisher>Reno Soft</publisher>
@@ -1319,7 +1372,7 @@
</software>
<software name="baddudcr">
- <description>Bad Dudes (cracked)</description>
+ <description>Bad Dudes (crack)</description>
<year>1988</year>
<publisher>Data East</publisher>
@@ -1365,7 +1418,7 @@
</software>
<software name="balpower">
- <description>Balance of Power (cracked)</description>
+ <description>Balance of Power (crack)</description>
<year>1987</year>
<publisher>Mindscape</publisher>
@@ -1389,7 +1442,7 @@
</software>
<software name="banditcr">
- <description>Bandits (cracked)</description>
+ <description>Bandits (crack)</description>
<year>1982</year>
<publisher>Sirius Software</publisher>
@@ -1552,7 +1605,7 @@
</software>
<software name="bardstl">
- <description>The Bard's Tale (cracked)</description>
+ <description>The Bard's Tale (crack)</description>
<year>1985</year>
<publisher>Electronic Arts</publisher>
@@ -1579,7 +1632,7 @@
</software>
<software name="baron">
- <description>Baron - The Real Estate Simulation (cracked)</description>
+ <description>Baron - The Real Estate Simulation (crack)</description>
<year>1983</year>
<publisher>Blue Chip</publisher>
@@ -1631,6 +1684,23 @@
</part>
</software>
+ <software name="batlches">
+ <description>Battle Chess (clean crack)</description>
+ <year>1990</year>
+ <publisher>Interplay</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop1" size="143360">
+ <rom name="battle chess side a (1990)(interplay)(trex crack).dsk" size="143360" crc="a81e4ae5" sha1="5b0e79fa0d4257a4855864c9324840cc1a41284e" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <dataarea name="flop1" size="143360">
+ <rom name="battle chess side b (1990)(interplay)(trex crack)[unk filesys].dsk" size="143360" crc="54359fd3" sha1="19b3ed795c9827f580df77f559ad02eca55455b9" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="batlcrs1">
<description>Battlecruiser 1</description>
<year>1987</year>
@@ -1751,7 +1821,7 @@
</software>
<software name="batlsght">
- <description>Battlesight (cracked)</description>
+ <description>Battlesight (crack)</description>
<year>1982</year>
<publisher>Versa Computing</publisher>
@@ -1821,7 +1891,7 @@
</software>
<software name="batlthcr">
- <description>Battletech (cracked)</description>
+ <description>Battletech (crack)</description>
<year>1988</year>
<publisher>Infocom / Westwood</publisher>
@@ -1837,6 +1907,23 @@
</part>
</software>
+ <software name="batman">
+ <description>Batman (clean crack)</description>
+ <year>1988</year>
+ <publisher>Data East</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop1" size="143360">
+ <rom name="batman (1988)(data east)(side a)(4am crack).dsk" size="143360" crc="d8ddda60" sha1="456ced865c6a7f74af89e2bc1fbad0bde44fb55d" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <dataarea name="flop1" size="143360">
+ <rom name="batman (1988)(data east)(side b)(4am crack).dsk" size="143360" crc="0aebbb48" sha1="97888412b36e2f65725a8177c46cb1d5f2a9e083" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="battcmdr">
<description>Battalion Commander</description>
<year>19??</year>
@@ -1849,6 +1936,23 @@
</part>
</software>
+ <software name="bbblocks">
+ <description>BASIC Building Blocks (clean crack)</description>
+ <year>1983</year>
+ <publisher>Micro Education</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop1" size="143360">
+ <rom name="basic building blocks (1983)(micro education)(disk 1)(4am crack).dsk" size="143360" crc="a1752e9a" sha1="cfdd011756427b782935732446c27cb1caa6b8a1" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <dataarea name="flop1" size="143360">
+ <rom name="basic building blocks (1983)(micro education)(disk 2)(4am crack).dsk" size="143360" crc="a51a3503" sha1="98b6d27d0da675c2f5d351340cd56f2d8d807eba" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="bbcstlwf">
<description>Beyond Beyond Castle Wolfenstein</description>
<year>1984</year>
@@ -1891,7 +1995,7 @@
</software>
<software name="bchh2cr">
- <description>Beach-Head II (cracked)</description>
+ <description>Beach-Head II (crack)</description>
<year>1985</year>
<publisher>Access Software</publisher>
@@ -1903,7 +2007,7 @@
</software>
<software name="bchhdcr">
- <description>Beach-Head (cracked)</description>
+ <description>Beach-Head (crack)</description>
<year>1985</year>
<publisher>Access Software</publisher>
@@ -1927,7 +2031,7 @@
</software>
<software name="bchldng">
- <description>Beach Landing (cracked)</description>
+ <description>Beach Landing (crack)</description>
<year>1984</year>
<publisher>Optimum Resource</publisher>
@@ -1939,7 +2043,7 @@
</software>
<software name="bcstlwcr">
- <description>Beyond Castle Wolfenstein (cracked)</description>
+ <description>Beyond Castle Wolfenstein (crack)</description>
<year>1984</year>
<publisher>Muse Software</publisher>
@@ -1951,7 +2055,7 @@
</software>
<software name="beastwar">
- <description>Beast War (cracked)</description>
+ <description>Beast War (crack)</description>
<year>1985</year>
<publisher>Avalon Hill</publisher>
@@ -1962,8 +2066,8 @@
</part>
</software>
- <software name="belwrt">
- <description>Below the Root (cracked)</description>
+ <software name="belwrtcr">
+ <description>Below the Root (crack)</description>
<year>1985</year>
<publisher>Windham Classics</publisher>
@@ -2004,7 +2108,7 @@
</software>
<software name="berzapcr">
- <description>Berzap! (cracked)</description>
+ <description>Berzap! (crack)</description>
<year>1984</year>
<publisher>Infinity Limited</publisher>
@@ -2028,7 +2132,7 @@
</software>
<software name="betedugv">
- <description>La Bete du Gevaudan (cracked)</description>
+ <description>La Bete du Gevaudan (crack)</description>
<year>1985</year>
<publisher>Cil</publisher>
@@ -2086,7 +2190,7 @@
</software>
<software name="bilestod">
- <description>The Bilestoad (cracked)</description>
+ <description>The Bilestoad (crack)</description>
<year>1982</year>
<publisher>Mangrove Earthshoe</publisher>
@@ -2098,7 +2202,7 @@
</software>
<software name="bismarck">
- <description>Bismarck (cracked)</description>
+ <description>Bismarck (crack)</description>
<year>1987</year>
<publisher>Datasoft</publisher>
@@ -2110,7 +2214,7 @@
</software>
<software name="blackblt">
- <description>Black Belt (cracked)</description>
+ <description>Black Belt (crack)</description>
<year>1984</year>
<publisher>Earthware</publisher>
@@ -2122,7 +2226,7 @@
</software>
<software name="bldkitcr">
- <description>Boulder Dash Construction Kit (cracked)</description>
+ <description>Boulder Dash Construction Kit (crack)</description>
<year>1987</year>
<publisher>Epyx</publisher>
@@ -2134,7 +2238,7 @@
</software>
<software name="bldofbkp">
- <description>The Blade of Blackpoole (cracked)</description>
+ <description>The Blade of Blackpoole (crack)</description>
<year>1982</year>
<publisher>Sirius Software</publisher>
@@ -2151,7 +2255,7 @@
</software>
<software name="bldqstcr">
- <description>Blood Quest (cracked)</description>
+ <description>Blood Quest (crack)</description>
<year>19??</year>
<publisher>Questware</publisher>
@@ -2175,7 +2279,7 @@
</software>
<software name="bldrdscr">
- <description>Boulder Dash (cracked)</description>
+ <description>Boulder Dash (crack)</description>
<year>1984</year>
<publisher>Microlab</publisher>
@@ -2199,7 +2303,7 @@
</software>
<software name="blkcldcr">
- <description>The Black Cauldron (cracked)</description>
+ <description>The Black Cauldron (crack)</description>
<year>1985</year>
<publisher>Sierra On-Line / Walt Disney</publisher>
@@ -2243,7 +2347,7 @@
</software>
<software name="blkmgccr">
- <description>Black Magic (cracked)</description>
+ <description>Black Magic (crack)</description>
<year>1987</year>
<publisher>Datasoft</publisher>
@@ -2303,7 +2407,7 @@
</software>
<software name="bnckmgcr">
- <description>The Bouncing Kamungas (cracked)</description>
+ <description>The Bouncing Kamungas (crack)</description>
<year>1983</year>
<publisher>Penguin Software</publisher>
@@ -2327,7 +2431,7 @@
</software>
<software name="bolocr">
- <description>Bolo (cracked)</description>
+ <description>Bolo (crack)</description>
<year>1982</year>
<publisher>Synergistic Software</publisher>
@@ -2392,7 +2496,7 @@
</software>
<software name="borgcr">
- <description>Borg (cracked)</description>
+ <description>Borg (crack)</description>
<year>1981</year>
<publisher>Sirius Software</publisher>
@@ -2428,7 +2532,7 @@
</software>
<software name="bpgscr">
- <description>Blue Powder, Grey Smoke (cracked)</description>
+ <description>Blue Powder, Grey Smoke (crack)</description>
<year>19??</year>
<publisher>Garde</publisher>
@@ -2457,7 +2561,7 @@
</software>
<software name="brclecr">
- <description>Bruce Lee (cracked)</description>
+ <description>Bruce Lee (crack)</description>
<year>1984</year>
<publisher>Datasoft</publisher>
@@ -2481,7 +2585,7 @@
</software>
<software name="brdsdcra">
- <description>Broadsides (cracked)</description>
+ <description>Broadsides (crack)</description>
<year>1983</year>
<publisher>Strategic Simulations, Inc.</publisher>
@@ -2718,7 +2822,7 @@
</software>
<software name="brpozcr">
- <description>Buck Rogers - Planet of Zoom (cracked)</description>
+ <description>Buck Rogers - Planet of Zoom (crack)</description>
<year>1984</year>
<publisher>Sega</publisher>
@@ -2747,7 +2851,7 @@
</software>
<software name="brwdtmcr">
- <description>Borrowed Time (cracked)</description>
+ <description>Borrowed Time (crack)</description>
<year>1985</year>
<publisher>Activision</publisher>
@@ -2787,8 +2891,25 @@
</part>
</software>
+ <software name="bublbobl">
+ <description>Bubble Bobble (clean crack)</description>
+ <year>1988</year>
+ <publisher>Taito America / NovaLogic</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop1" size="143360">
+ <rom name="bubble bobble disk 1 of 2 (1988)(taito america - novalogic)(trex crack).dsk" size="143360" crc="2af0a5d4" sha1="4810c07e9514d6d3a49ee9babee7497103428d43" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <dataarea name="flop1" size="143360">
+ <rom name="bubble bobble disk 2 of 2 (1988)(taito america - novalogic)(trex crack).dsk" size="143360" crc="ac056c8d" sha1="0f30fb98d37e91f166d0c8c6b328e898cdf37ec1" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="bublhdcr">
- <description>Bubble-Head (cracked)</description>
+ <description>Bubble-Head (crack)</description>
<year>1983</year>
<publisher>Tellus Systems</publisher>
@@ -2872,7 +2993,7 @@
</software>
<software name="bypinbll">
- <description>Beyond Pinball (cracked)</description>
+ <description>Beyond Pinball (crack)</description>
<year>1986</year>
<publisher>Dark Logic</publisher>
@@ -3087,7 +3208,7 @@
</software>
<software name="cartels">
- <description>Cartels and Cutthroats (cracked)</description>
+ <description>Cartels and Cutthroats (crack)</description>
<year>1981</year>
<publisher>Strategic Studies Group</publisher>
@@ -3604,6 +3725,18 @@
</part>
</software>
+ <software name="cntdsht">
+ <description>Countdown to Shutdown (clean crack)</description>
+ <year>1985</year>
+ <publisher>Activision</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="countdown to shutdown (1985)(activision)(trex crack).dsk" size="143360" crc="cf4ac129" sha1="ee6843930f3c78c738f3ef4cf1e306ef5897d8af" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="cntralnc">
<description>The Centauri Alliance</description>
<year>198?</year>
@@ -3653,6 +3786,18 @@
</part>
</software>
+ <software name="cogito">
+ <description>Cogito! (clean crack)</description>
+ <year>198??</year>
+ <publisher>Reader's Digest Software</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="cogito! (19xx)(reader's digest software)(4am crack)" size="143360" crc="dab73665" sha1="fac81f70393ce06a08830913560c2e3f6e694ed0" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="coloncqt">
<description>Colonial Conquest</description>
<year>1985</year>
@@ -3695,7 +3840,7 @@
</software>
<software name="conglcld">
- <description>Conglomerates Collide</description>
+ <description>Conglomerates COllide</description>
<year>1981</year>
<publisher>Rockroy</publisher>
@@ -3707,7 +3852,7 @@
</software>
<software name="congobng">
- <description>Congo Bongo (cracked)</description>
+ <description>Congo Bongo</description>
<year>1983</year>
<publisher>Sega</publisher>
@@ -3870,6 +4015,18 @@
</part>
</software>
+ <software name="crismntn">
+ <description>Crisis Mountain (clean crack)</description>
+ <year>1982</year>
+ <publisher>Synergistic Software</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="crisis mountain (1982)(synergistic software)(4am crack).dsk" size="143360" crc="f43e80de" sha1="1bbdbe1a89ea35dce064406b79cee8cb10da81a4" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="critmass">
<description>Critical Mass</description>
<year>198?</year>
@@ -4153,7 +4310,7 @@
</software>
<software name="cvrnsfrt">
- <description>The Caverns of Freitag (cracked)</description>
+ <description>The Caverns of Freitag</description>
<year>1982</year>
<publisher>Muse Software</publisher>
@@ -4433,6 +4590,72 @@
</part>
</software>
+ <software name="carmntime">
+ <description>Where in Time is Carmen Sandiego v1.1 (clean crack)</description>
+ <year>1989</year>
+ <publisher>Broderbund</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="where in time is carmen sandiego v1.1 side a (1989)(broderbund)(trex crack).dsk" size="143360" crc="9d391061" sha1="32f18c02974e0a915e3ac74abe10ec9cf5f67533" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="where in time is carmen sandiego v1.1 side b (1989)(broderbund)(trex crack).dsk" size="143360" crc="33e65f76" sha1="8995ca7786b6a70d68b8305625e65a534c15d435" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop3" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="where in time is carmen sandiego v1.1 side c (1989)(broderbund)(trex crack).dsk" size="143360" crc="15942fc0" sha1="03189fdefa100e64c0ad9ba38804bab7508f9881" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop4" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="where in time is carmen sandiego v1.1 side d (1989)(broderbund)(trex crack).dsk" size="143360" crc="704551a0" sha1="469ef6f3be3919cd904c63d37d6e8d46e895ab31" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="carmntime35">
+ <description>Where in Time is Carmen Sandiego v1.1 800K 3.5 disc (clean crack)</description>
+ <year>1989</year>
+ <publisher>Broderbund</publisher>
+
+ <part name="flop1" interface="floppy_3_5">
+ <dataarea name="flop" size="819264">
+ <rom name="where in time is carmen sandiego v1.1 800k 3.5 disk (1989)(broderbund)(trex crack).2mg" size="819264" crc="36d3ff6d" sha1="21051ecf94f598da648355e75e46641351ed3230" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="carmntime10">
+ <description>Where in Time is Carmen Sandiego v1.0 (clean crack)</description>
+ <year>1989</year>
+ <publisher>Broderbund</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="where in time is carmen sandiego v1.0 (4am crack) side a.dsk" size="143360" crc="cd3da2a7" sha1="21a9fc7220c84ffec91b4e76b28dc8b514ab56a3" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="where in time is carmen sandiego v1.0 (4am crack) side b.dsk" size="143360" crc="3bad4b59" sha1="7e84dc0db9e964db44692fa340b6c6828f83bfe6" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop3" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="where in time is carmen sandiego v1.0 (4am crack) side c.dsk" size="143360" crc="650735af" sha1="aecf8b17bb26e73036100ac648e5eddede12fe91" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop4" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="where in time is carmen sandiego v1.0 (4am crack) side d.dsk" size="143360" crc="3c7643ca" sha1="8a6a168f25b4698465b89db9546d9b35489fe042" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="carmnusa">
<description>Where in the USA is Carmen Sandiego?</description>
<year>1986</year>
@@ -4544,6 +4767,23 @@
</part>
</software>
+ <software name="dmaster">
+ <description>Dungeon Master's Assistant (clean crack)</description>
+ <year>1988</year>
+ <publisher>SSI</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop1" size="143360">
+ <rom name="dungeon master's assistant side a (1988)(ssi)(trex crack)[rdos].dsk" size="143360" crc="14904b40" sha1="9a8953ed45bb36f340b13db1eb6d75a26e498815" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <dataarea name="flop1" size="143360">
+ <rom name="dungeon master's assistant side b (1988)(ssi)(trex crack)[rdos].dsk" size="143360" crc="fafa454c" sha1="169ec625b5d72f6c624534e4c031915a0e36c82d" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="dvmidmgc">
<description>David's Midnight Magic</description>
<year>1981</year>
@@ -4657,6 +4897,31 @@
</part>
</software>
+ <software name="genesis">
+ <description>Genesis (clean crack)</description>
+ <!-- Original disk wouldn't boot on 65C02 or later -->
+ <year>1983</year>
+ <publisher>Datasoft / Design Labs</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="genesis (1983)(datasoft - design labs)(trex single file crack).dsk" size="143360" crc="c55fd79c" sha1="34940df9dc08c88f38000f9d3311bae429a2f735" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="gbust">
+ <description>Ghostbusters (clean crack)</description>
+ <year>1984</year>
+ <publisher>Activision</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="ghostbusters (1984)(activision)(clean crack).dsk" size="143360" crc="7664a255" sha1="708fc0c0903a7c3f61b0b873ce032e81762367ba" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="gijoe">
<description>G.I. Joe</description>
<year>1985</year>
@@ -4686,6 +4951,43 @@
</part>
</software>
+ <software name="hardball">
+ <description>Hardball (clean crack)</description>
+ <year>1985</year>
+ <publisher>Accolade</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="hardball (1985)(accolade)(trex crack).dsk" size="143360" crc="bfc321c3" sha1="08b9d470a0f64c6d8c078058484b85153682cd32" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="hhmack">
+ <description>Hard Hat Mack</description>
+ <year>1983</year>
+ <publisher>Electronic Arts</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="hard hat mack clean crack.dsk" size="143360" crc="eb4733c7" sha1="32e01bbc99ac6c71fbcd424b9259624699dee5bf" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="heist">
+ <description>The Heist (clean crack)</description>
+ <!-- High scores stored on disc, reset to AAA 5000, BBB 4000, CCC 3000, DDD 2000 & EEE 1000 -->
+ <year>1983</year>
+ <publisher>Microlab</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="the heist (1983)(microlab)(trex crack).dsk" size="143360" crc="47965be3" sha1="b050eae4631b6737d7bd8264de1544341a3a2042" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="hhgg">
<description>Hitchhiker's Guide to the Galaxy</description>
<year>1984</year>
@@ -4865,6 +5167,18 @@
</part>
</software>
+ <software name="lawwest">
+ <description>Law of the West (clean crack)</description>
+ <year>1985</year>
+ <publisher>Accolade</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="law of the west (1985)(accolade)(trex crack).dsk" size="143360" crc="db08e8b9" sha1="45b7f1c4dd834891b69d0d62852527e479579150" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="leepers">
<description>Lunar Leepers</description>
<year>1982</year>
@@ -4976,6 +5290,18 @@
</part>
</software>
+ <software name="masterlamp">
+ <description>Master of the Lamps (clean crack)</description>
+ <year>1985</year>
+ <publisher>Activision</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="master of the lamps (1985)(activision)(trex crack).dsk" size="143360" crc="59c4b8d3" sha1="f48b13d0c8d7129983ad4d78e0f50458fe124b91" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="midi8pl1">
<description>MIDI/8 Plus</description>
<year>1984</year>
@@ -5056,6 +5382,19 @@
</part>
</software>
+ <software name="minr2049">
+ <description>Miner 2049er (clean crack)</description>
+ <!-- High scores stored on disc, reset to AAA 5000, AAA 4000, AAA 3000, AAA 2000 & AAA 1000 -->
+ <year>1982</year>
+ <publisher>Micro Fun</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="miner 2049er (1982)(micro fun)(clean crack).dsk" size="143360" crc="c1024360" sha1="a5913a155a4902310de20c5037067655e11ab088" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="moonmist">
<description>Moonmist</description>
<year>1986</year>
@@ -5080,6 +5419,30 @@
</part>
</software>
+ <software name="mrdo">
+ <description>Mr. Do (clean crack)</description>
+ <year>1983</year>
+ <publisher>Datasoft</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="mr. do (4am crack).dsk" size="143360" crc="a3e4f90f" sha1="ca54e92fcf4266061e782ad841867cec5eed347f" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="mspac">
+ <description>Ms. Pac Man (clean crack)</description>
+ <year>1983</year>
+ <publisher>Atari</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="ms. pac-man (atari)(4am crack).dsk" size="143360" crc="7b7196fc" sha1="49b21f8c3a838c12b2d785f4342432212698c0bb" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="mstrtrks">
<description>Master Tracks (v1.8)</description>
<year>1985</year>
@@ -5128,6 +5491,21 @@
</part>
</software>
+ <software name="nightmar">
+ <!-- Left & Right arrows or Paddle0 for controls - Select with "K" for keyboard / "P" for paddle -->
+ <!-- press SLASH "/" to fire with keyboard or use Button0 when using the paddle -->
+ <!-- "C" for continuous fire, SPACE BAR for shields, CRTL-S toggles sound on/off, ESC for pause -->
+ <description>Nightmare Gallery (clean crack)</description>
+ <year>1982</year>
+ <publisher>Synergistic Software</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="nightmare gallery (1982)(synergistic)(clean crack).dsk" size="143360" crc="070c08bf" sha1="803dda9229bd086979f400949b4300d18285c75b" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="nightmsn">
<description>Night Mission Pinball</description>
<year>1981</year>
@@ -5186,6 +5564,78 @@
</part>
</software>
+ <software name="pacman">
+ <description>Pac-Man - Atari (clean crack)</description>
+ <year>1983</year>
+ <publisher>Atari</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="pac-man (atari)(4am crack).dsk" size="143360" crc="988e08f1" sha1="5eb20be8a79227715177b65cd0ea4a34be273629" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="pacmand">
+ <description>Pac-Man - Datasoft (clean crack)</description>
+ <year>1983</year>
+ <publisher>Datasoft / Namco America</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="pac-man (datasoft)(4am crack).dsk" size="143360" crc="9852a378" sha1="dd4cec96fd37aba85f5bd2a5b75d0656904765d1" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="pacmant">
+ <description>Pac-Man - Thunder Mountain (clean crack)</description>
+ <year>1983</year>
+ <publisher>Thunder Mountain / Namco</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="pac-man (thunder mountain)(4am crack).dsk" size="143360" crc="82379bed" sha1="9b3e1b9e78dcfb1f8f55925c9bf2f6161423004d" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="paperboy">
+ <description>Paperboy (clean crack)</description>
+ <year>1986</year>
+ <publisher>Mindscape / Atari</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="paperboy (4am crack).dsk" size="143360" crc="e0914bc0" sha1="37da2f836f9182c53931a8f08827f72826f844ac" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="papermodels">
+ <description>Paper Models - The Christmas Kit (clean crack)</description>
+ <year>1986</year>
+ <publisher>Activision</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="paper models - the christmas kit (1986)(activision)(trex crack).dsk" size="143360" crc="22dd3174" sha1="01653481820b5a14374e21af182c766ee87b7861" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="pigpen">
+ <description>Pigpen (clean crack)</description>
+ <year>1982</year>
+ <publisher>Datamost / TMQ Software</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="pigpen (1982)(datamost - tmq software)(clean crack).dsk" size="143360" crc="69abf73f" sha1="0811f5331a44df93edebbf3908b036c972733b55" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="pinbcset">
<description>Pinball Construction Set</description>
<year>1983</year>
@@ -5198,6 +5648,18 @@
</part>
</software>
+ <software name="pipedream">
+ <description>Pipe Dream (clean crack)</description>
+ <year>1990</year>
+ <publisher>Lucasfilm</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="pipe dream (1990)(lucasfilm)(trex crack).dsk" size="143360" crc="46befc67" sha1="654d9f22147a111a77f59cd775a3e2822579b085" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="pirates">
<description>Pirates!</description>
<year>1987</year>
@@ -5291,6 +5753,99 @@
</part>
</software>
+ <software name="portal">
+ <description>Portal (clean crack)</description>
+ <year>1986</year>
+ <publisher>Activision</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="portal disk 1 of 4 (1986)(activision)(trex crack).dsk" size="143360" crc="5f90a84a" sha1="1fcc3990b5680d47ee5a87fd0dac8266433e7a7d" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="portal disk 2 of 4 (1986)(activision)(trex crack).dsk" size="143360" crc="56038539" sha1="e2f98196e977a60d088948d5689a254c831b78d5" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop3" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="portal disk 3 of 4 (1986)(activision)(trex crack).dsk" size="143360" crc="43fa124b" sha1="96e8eb50e1f7c5608f0e5c21c8510f950f475340" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop4" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="portal disk 4 of 4 (1986)(activision)(trex crack).dsk" size="143360" crc="0cc78e02" sha1="ea7f178de04fe64aa62ed25df5e64aa405ee13b5" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="qix">
+ <description>Qix (clean crack)</description>
+ <year>1989</year>
+ <publisher>Taito</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="qix (1981-89)(taito america)(trex crack).dsk" size="143360" crc="7540d5ea" sha1="ed5b36df6f6940730313cd6d7ea9702003629dcc" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="racter">
+ <description>Racter (clean crack)</description>
+ <year>1985</year>
+ <publisher>Mindscape</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="racter (1985)(mindscape)(trex crack).dsk" size="143360" crc="4e8d06f8" sha1="43baa8c78fe606b526f575e191dd954548c70470" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="rambo">
+ <description>Rambo First Blood Part II (clean crack)</description>
+ <year>1985</year>
+ <publisher>Mindscape / Angelsoft</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="rambo first blood part ii (1985)(mindscape - angelsoft)(trex crack).dsk" size="143360" crc="58606af1" sha1="82208a4baeadd03b00cb28cab503db266db4fbb2" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="rampage">
+ <description>Rampage (clean crack)</description>
+ <year>1988</year>
+ <publisher>Activision</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="rampage (1988)(activision)(trex crack).dsk" size="143360" crc="cd8a8b4c" sha1="e0000ec8544481784f6cab8be2bc91358c0ea37b" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="renegade">
+ <description>Renegade (clean crack)</description>
+ <!-- ProDOS 8 based & hard drive compatable -->
+ <year>1988</year>
+ <publisher>Taito America / NovaLogic</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop1" size="143360">
+ <rom name="renegade disk 1 of 2 (1988)(taito america - novalogic)(trex crack).dsk" size="143360" crc="9d480dec" sha1="bca268ad1859c8cfd214496c3195b88362a31502" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <dataarea name="flop1" size="143360">
+ <rom name="renegade disk 2 of 2 (1988)(taito america - novalogic)(trex crack).dsk" size="143360" crc="c01e6c75" sha1="b4b789285ee0c06315ffb216c413414c09a7756a" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="rescraid">
<description>Rescue Raiders</description>
<year>1984</year>
@@ -5421,6 +5976,18 @@
</part>
</software>
+ <software name="shanghai">
+ <description>Shanghai (clean crack)</description>
+ <year>1986</year>
+ <publisher>Activision</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="shanghai (1986)(activision)(trex crack).dsk" size="143360" crc="19ea813b" sha1="f0cafa24a30b7fdf2ee24d8a39485d71779e7aab" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="shogun">
<description>James Clavell's Shogun</description>
<year>1989</year>
@@ -5501,6 +6068,18 @@
</part>
</software>
+ <software name="sneakers">
+ <description>Sneakers (clean crack)</description>
+ <year>1981</year>
+ <publisher>Sirius Software</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="sneakers (4am crack).dsk" size="143360" crc="76c62637" sha1="00666d350570f9658450cc44722137986b61293c" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="soloflt">
<description>Solo Flight</description>
<year>1984</year>
@@ -5566,6 +6145,18 @@
</part>
</software>
+ <software name="spindizy">
+ <description>Spindizzy (clean crack)</description>
+ <year>1986</year>
+ <publisher>Activision</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="spindizzy (1986)(activision)(trex crack).dsk" size="143360" crc="3ee443b4" sha1="937bc75ed99a1d1134eaa276abac09a10bd9b53d" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="spyhunt">
<description>Spy Hunter</description>
<year>1983</year>
@@ -5734,8 +6325,8 @@
<software name="swshbckl">
<description>Swashbuckler</description>
- <year>1981</year>
- <publisher>Datamost</publisher>
+ <year>19??</year>
+ <publisher>&lt;unknown&gt;</publisher>
<part name="flop1" interface="floppy_5_25">
<dataarea name="flop" size="143360">
@@ -5768,6 +6359,19 @@
</part>
</software>
+ <software name="tapper">
+ <description>Tapper (clean crack)</description>
+ <!-- Corrected rerip 09/19/2016 -->
+ <year>1983</year>
+ <publisher>Bally/Midway</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="tapper (4am crack).dsk" size="143360" crc="66c7cab7" sha1="20ad51af4623623c1204bb7d9c6612aafadaf882" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="testdrv">
<description>Test Drive</description>
<year>1988</year>
@@ -5851,6 +6455,21 @@
</part>
</software>
+ <software name="thief">
+ <description>Thief (clean crack)</description>
+ <!-- Apple II clone of Berzerk arcade game by Bob Flanagan - Thief: "The damn things nearly killed me." -->
+ <!-- All files transfered from a highly protected DOS 3.2 disc to a PronoDOS disc -->
+ <!-- Also includes a single file BRUNable conversion of the game -->
+ <year>1981</year>
+ <publisher>Datamost</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="thief (1981)(datamost)(san inc &amp; trex crack).dsk" size="143360" crc="e2faf16e" sha1="bedfb20b1753acb6d1babdc44143761d07bc8782" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="trinity">
<description>Trinity</description>
<year>1986</year>
@@ -6335,6 +6954,18 @@
</part>
</software>
+ <software name="xevious">
+ <description>Xevious (clean crack)</description>
+ <year>1983</year>
+ <publisher>Mindscape</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="xevious (4am crack).dsk" size="143360" crc="c0965f9a" sha1="11b8f8761b4d5cfb333d95dfe7064a3115febab6" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="zork2">
<description>Zork II: The Wizard of Frobozz</description>
<year>1981</year>
@@ -6410,4 +7041,1936 @@
</part>
</software>
+<!-- end 'canon' attempt 1 -->
+<!-- 4am adds, A-E -->
+
+ <software name="123seqme">
+ <description>1-2-3 Sequence Me (clean crack)</description>
+ <year>1991</year>
+ <publisher>Sunburst</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="1-2-3 sequence me (4am crack).dsk" size="143360" crc="7e2ec77e" sha1="01fa783c5bd63d04e4280308e3eae48ca546c330" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="acedect">
+ <description>Ace Detective (clean crack)</description>
+ <year>1987</year>
+ <publisher>Mindplay</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="ace detective (4am crack) side a.dsk" size="143360" crc="1ed89d6f" sha1="065673511e9c48d24c0e92dfdb5ed617c3f5cf62" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="ace detective (4am crack) side b.dsk" size="143360" crc="e3a16f45" sha1="c5ffe33fac6919982ab1b24dbeed393ece532908" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="addsub1">
+ <description>Mathematics Courseware Series: Addition and Subtraction 1 (clean crack)</description>
+ <year>1985</year>
+ <publisher>Scott, Foresman and Company</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="addition and subtraction 1 (4am crack).dsk" size="143360" crc="1294e866" sha1="0dd1b791aa4fb951167a3e0b99a05ac00e48a79c" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="addsub2">
+ <description>Mathematics Courseware Series: Addition and Subtraction 2 (clean crack)</description>
+ <year>1985</year>
+ <publisher>Scott, Foresman and Company</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="addition and subtraction 2 (4am crack).dsk" size="143360" crc="3c8972a6" sha1="6b7f3571cf5cb52cb0b89520021516932be21e20" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="afrpiano">
+ <description>Alfred's Basic Piano Theory Software (clean crack)</description>
+ <year>1986</year>
+ <publisher>Alfred Publishing Company</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="alfred's basic piano theory software (4am crack).dsk" size="143360" crc="1f485dcb" sha1="1459336aec81f2b8dbd690550c5092f402014c16" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="agentusa">
+ <description>Agent USA (clean crack)</description>
+ <year>1984</year>
+ <publisher>Scholastic</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="agent usa (4am crack).dsk" size="143360" crc="13057c2c" sha1="6cecfadfadf2c7ffbcbdfaba3205d479d978a812" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="alcircus">
+ <description>Alphabet Circus (clean crack)</description>
+ <year>1984</year>
+ <publisher>NeoSoft</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="alphabet circus (4am crack).dsk" size="143360" crc="b3a6de8b" sha1="02e72f3c59196f74389ae2c50cdc1ea3b4fb2e9c" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="alcwndrl">
+ <description>Alice in Wonderland (clean crack)</description>
+ <year>1985</year>
+ <publisher>Windham Classics</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="alice in wonderland (4am crack) side a.dsk" size="143360" crc="46d03565" sha1="bf3ea2cdf0c5fb63aff9686605c2cae84774c62f" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="alice in wonderland (4am crack) side b.dsk" size="143360" crc="f03e007e" sha1="fd960bf392beaa9f081ff36a9f621cd1ce5e3c92" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="algebra2">
+ <description>Algebra 2 (clean crack)</description>
+ <year>1982</year>
+ <publisher>Edu-Ware</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="algebra 2 (4am crack).dsk" size="143360" crc="2b276045" sha1="ac9e9129dd3f6c507553913b53159192051ca67c" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="algeplus">
+ <description>Alge-Blaster Plus! (clean crack)</description>
+ <year>1989</year>
+ <publisher>Davidson &amp; Associates, Inc.</publisher>
+ <info name="usage" value="Works with Apple II Mouse Card in slot 4: -sl4 mouse" />
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="alge-blaster plus (4am crack) program disk side 1.dsk" size="143360" crc="e8d890c7" sha1="e2dbdde612c1da4543d79a6a8bd793a9a3501320" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="alge-blaster plus (4am crack) program disk side 2.dsk" size="143360" crc="90c22d74" sha1="75d3c345e93dfe177ae4e2c5cd85bd770bead924" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop3" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="alge-blaster plus (4am crack) data disk side 1.dsk" size="143360" crc="cbd1a613" sha1="fde73dbad3ede97e2e1758b2f20fcf42e5756c5d" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop4" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="alge-blaster plus (4am crack) data disk side 2.dsk" size="143360" crc="8d94d796" sha1="8716509d1e68ad38f269d411b6c67838d4e9c4e8" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="algernon">
+ <description>Algernon (clean crack)</description>
+ <year>1987</year>
+ <publisher>Sunburst</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="algernon (4am crack).dsk" size="143360" crc="7f4cd588" sha1="7356d7d510690126ee36270a415dac857553387a" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="algevol1">
+ <description>Algebra, Volume 1 (clean crack)</description>
+ <year>1984</year>
+ <publisher>Peachtree Software</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="algebra volume 1 (edu-ware) (4am crack).dsk" size="143360" crc="3c53e46c" sha1="e9266c93e1acd293010aeaf44159812ceee5db47" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="alienadd">
+ <description>Alien Addition (clean crack)</description>
+ <year>1982</year>
+ <publisher>Developmental Learning Materials</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="alien addition (4am crack).dsk" size="143360" crc="1eb420f5" sha1="075668510c8d1423d75d585703ee8ff78fbcbeb2" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="amhisadv">
+ <description>American History Adventure (clean crack)</description>
+ <year>1984</year>
+ <publisher>Queue Inc.</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="american history adventure (4am crack) disk 1.dsk" size="143360" crc="ebed5630" sha1="e022f2c9d398128df5b01b67bdb03e1935307bc0" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="american history adventure (4am crack) disk 2.dsk" size="143360" crc="fdac8698" sha1="efb8b395b6c508d5a5eb2caa0d34a89a2eb2c54f" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="animkngd">
+ <description>Animal Kingdom (clean crack)</description>
+ <year>1985</year>
+ <publisher>Unicorn Software</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="animal kingdom (4am crack) side a.dsk" size="143360" crc="ccd3005b" sha1="9255e54d15b405b360f340c811cd71f70ae33945" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="animal kingdom (4am crack) side b.dsk" size="143360" crc="98b5bc0f" sha1="c50c55c2fffc2e37c3d3319b4e8eb0c04c282beb" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="arkanoid">
+ <description>Arkanoid (clean crack)</description>
+ <year>1988</year>
+ <publisher>Taito America</publisher>
+ <info name="usage" value="Works with Apple II Mouse Card in slot 4: -sl4 mouse" />
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="arkanoid (4am crack).dsk" size="143360" crc="c10ff8bf" sha1="4ac7d069e9b189405c0b345ab71904b357aa8393" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="ballblzr">
+ <description>BallBlazer (clean crack)</description>
+ <year>1985</year>
+ <publisher>Lucasfilm Games</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="ballblazer (4am crack).dsk" size="143360" crc="aa48b3a9" sha1="ecc85c358ccb8373e9872733ed00a40f9b2bcad2" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="bandsaw">
+ <description>Band Saw and Shaper Safety (clean crack)</description>
+ <year>1986</year>
+ <publisher>Abraxas Basic Courseware</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="band saw and shaper safety (4am crack).dsk" size="143360" crc="9e7f9c97" sha1="e8944428122d6417f1efb689ef15321a2b7be4f8" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="basmathf">
+ <description>Basic Math Facts and Games (clean crack)</description>
+ <year>1981</year>
+ <publisher>Random House</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="basic math facts and games (4am crack).dsk" size="143360" crc="8159ef9e" sha1="232d6518fe126cd12e12edeebfdfc98b1cda2578" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="basvocb">
+ <description>Basic Vocabulary Builder Demo (clean crack)</description>
+ <year>1984</year>
+ <publisher>National Textbook Company</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="basic vocabulary builder demo (4am crack).dsk" size="143360" crc="057ad952" sha1="58a878f31d80e506a17f816550fb3f8aaafe2991" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="beerrun">
+ <description>Beer Run (clean crack)</description>
+ <year>1981</year>
+ <publisher>Sirius Software</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="beer run (4am crack).dsk" size="143360" crc="5bb93f11" sha1="8812a3078a4d06368b1d5cb692a79e4b41cf3580" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="bigbkmkr">
+ <description>Big Book Maker (clean crack)</description>
+ <year>1992</year>
+ <publisher>Pelican Software</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="big book maker (4am crack) disk 1 side a.dsk" size="143360" crc="3f18085e" sha1="b69bdab8c4840a0922ac65b765bc3d20a38cfbd1" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="big book maker (4am crack) disk 1 side b.dsk" size="143360" crc="1142180f" sha1="cc8cd090bb644c31ec7229a0d79f135cc9e7f732" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop3" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="big book maker (4am crack) disk 2 side a.dsk" size="143360" crc="b13c5630" sha1="8b6771472e2f977b5dc30d48ba8cbf8680b635a4" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop4" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="big book maker (4am crack) disk 2 side b.dsk" size="143360" crc="b75798e9" sha1="1c25c3a721a731cb9bedc01da8d3440eac2db099" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="bingoha">
+ <description>Bingo Bugglebee Presents: Home Alone (clean crack)</description>
+ <year>1985</year>
+ <publisher>Quest Learning Systems</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="bingo bugglebee presents home alone (4am crack).dsk" size="143360" crc="811c6f26" sha1="d258f9ec32550c30a7892e8f77f94f09200137b7" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="bingoos">
+ <description>Bingo Bugglebee Presents: Outdoor Safety (clean crack)</description>
+ <year>1985</year>
+ <publisher>Quest Learning Systems</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="bingo bugglebee presents outdoor safety (4am crack).dsk" size="143360" crc="13ee71e9" sha1="13b2a09dd29b37d105501dbb1291437bb1e4a863" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="binomult">
+ <description>Binomial Multiplication (clean crack)</description>
+ <year>1984</year>
+ <publisher>Mindscape</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="binomial multiplication (4am crack) (2).dsk" size="143360" crc="362c9ff4" sha1="566aa3c2a2f25dfbaef9df91e0ac4b339e916a41" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="blzpdls">
+ <description>Blazing Paddles (clean crack)</description>
+ <year>1985</year>
+ <publisher>Baudville</publisher>
+ <info name="usage" value="Works with Apple II Mouse Card in slot 4: -sl4 mouse" />
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="blazing paddles (4am crack).dsk" size="143360" crc="db4aa57d" sha1="152cc04080e100822bf919879232d175c64e9610" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="bmblgmes">
+ <description>Bumble Games (clean crack)</description>
+ <year>1982</year>
+ <publisher>The Learning Company</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="bumble games (4am crack).dsk" size="143360" crc="0a7eb17b" sha1="9e8fcc6b51003311510165e2ec80b4a9099cb8e2" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="bopgwdc">
+ <description>Boppie's Great Word Chase (clean crack)</description>
+ <year>1985</year>
+ <publisher>Developmental Learning Materials</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="boppie's great word chase (4am crack).dsk" size="143360" crc="312d613d" sha1="7b0205491b48377aa985451f815f2b66af26b1a2" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="bounce">
+ <description>Bounce (clean crack)</description>
+ <year>1988</year>
+ <publisher>Sunburst</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="bounce (4am crack).dsk" size="143360" crc="c112a513" sha1="a991ab2abbac0ee2490ce6b0f0b29d6e1b04d120" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="bridge40">
+ <description>Bridge 4.0 (clean crack)</description>
+ <year>1983</year>
+ <publisher>Artworx</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="bridge 4.0 (4am crack).dsk" size="143360" crc="26bf2d79" sha1="b33b7bfda4c17b0a51d9e1c16aead1e85c812752" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="btime">
+ <description>BurgerTime (clean crack)</description>
+ <year>1982</year>
+ <publisher>Mattel Electronics</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="burgertime (4am crack).dsk" size="143360" crc="2e6ad4e5" sha1="21506ea262aa0c940312b26bd1097e8c63e34e82" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="bzone">
+ <description>Battlezone (clean crack)</description>
+ <year>1983</year>
+ <publisher>Atarisoft</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="battlezone (4am crack).dsk" size="143360" crc="2678f9d7" sha1="7909815721d8a885e1052e6e4023059101ff27b8" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="calgames">
+ <description>California Games (clean crack)</description>
+ <year>1987</year>
+ <publisher>Epyx</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="california games (4am crack) side a.dsk" size="143360" crc="284f014d" sha1="97a5a792a936e13131ae37c3bdd32369d1eea8c0" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="california games (4am crack) side b.dsk" size="143360" crc="45e24a4e" sha1="4a649cf48658f1150477bc712070acf40994d21e" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="calskils">
+ <description>Calendar Skills (version 08.31.86) (clean crack)</description>
+ <year>1986</year>
+ <publisher>Hartley Courseware, Inc.</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="calendar skills (4am crack).dsk" size="143360" crc="0a607950" sha1="15b8a8a76d0e00003a8ba222add1d80fc0f06d23" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="casegtr">
+ <description>Case of the Great Train Robbery (clean crack)</description>
+ <year>1986</year>
+ <publisher>Troll Associates</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="case of the great train robbery (4am crack).dsk" size="143360" crc="794cb785" sha1="ddfc5c5c859132efd6fd6436cec44d30e26165b5" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="casemisc">
+ <description>Case of the Missing Chick (clean crack)</description>
+ <year>1986</year>
+ <publisher>Troll Associates</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="case of the missing chick (4am crack).dsk" size="143360" crc="c6bfecda" sha1="f434cf814040b36130e54456bcafcdb9b5559c89" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="catmouse">
+ <description>Cat 'n Mouse (clean crack)</description>
+ <year>1986</year>
+ <publisher>Mindplay</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="cat 'n mouse (4am crack).dsk" size="143360" crc="576d3a3a" sha1="d12893ecd81d30616e9ab7f9d953c1792ab6c25b" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="centiped">
+ <description>Centipede (clean crack)</description>
+ <year>1983</year>
+ <publisher>Atarisoft</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="centipede (atari) (4am crack).dsk" size="143360" crc="6ed28f00" sha1="51e06dd3727148b5a2f809f2a46bd9e0281b3869" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="cgotrspc">
+ <description>Curious George In Outer Space (clean crack)</description>
+ <year>1989</year>
+ <publisher>Developmental Learning Materials</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="curious george in outer space (4am crack) side a.dsk" size="143360" crc="4b80d3bf" sha1="1f81407c343b9683fc9d0c6e4c5400b0ef17bc52" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="curious george in outer space (4am crack) side b.dsk" size="143360" crc="4da9d944" sha1="5f222458fc9b9fbc73946dea4d0ae80a14ffafc9" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="cgshopng">
+ <description>Curious George Goes Shopping (clean crack)</description>
+ <year>1989</year>
+ <publisher>Developmental Learning Materials</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="curious george goes shopping (4am crack) side a.dsk" size="143360" crc="5ad866e9" sha1="b4e384105be03c792d30ed32e72459781ce99676" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="curious george goes shopping (4am crack) side b.dsk" size="143360" crc="972d8958" sha1="70a81aa46b819ac438988ed696c78f70f7c1c010" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="chalmath">
+ <description>Challenge Math (clean crack)</description>
+ <year>1982</year>
+ <publisher>Sunburst</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="challenge math (4am crack).dsk" size="143360" crc="13ca32af" sha1="77fd54dfe5bc0b3775c43d38540a3f3366d25c24" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="chbr123">
+ <description>Charlie Brown's 1-2-3s (clean crack)</description>
+ <year>1985</year>
+ <publisher>Random House</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="charlie brown's 1-2-3s (4am crack) side a.dsk" size="143360" crc="22ff5067" sha1="5b09390b3c438284f9ea534ee755fe57899dabc4" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="charlie brown's 1-2-3s (4am crack) side b.dsk" size="143360" crc="7ea28429" sha1="5d5f985d2fc3d899f1a6b6cf16448c387a677c41" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="chbrabc">
+ <description>Charlie Brown's ABCs (clean crack)</description>
+ <year>1984</year>
+ <publisher>Random House</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="charlie brown's abc's (4am crack) side a.dsk" size="143360" crc="d727b6f6" sha1="1af44fa21e611564ab3929aec753cc4e160d8b80" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="charlie brown's abc's (4am crack) side b.dsk" size="143360" crc="5bb8d11e" sha1="d394b12ad488c50e69c07367c7bd55b07d3aed6d" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="chldrnr">
+ <description>Championship Lode Runner (clean crack)</description>
+ <year>1984</year>
+ <publisher>Broderbund</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="championship lode runner (4am crack).dsk" size="143360" crc="c950c3b1" sha1="67035e6a4960ce764d216ab265b0f887ec053f67" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="chwrest">
+ <description>Championship Wrestling (clean crack)</description>
+ <year>1986</year>
+ <publisher>Epyx</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="championship wrestling (4am crack) side a.dsk" size="143360" crc="9b562e29" sha1="8b7ff536b52238ea0ee048d0ef98c72c159b1a54" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="championship wrestling (4am crack) side b.dsk" size="143360" crc="5e513adf" sha1="76946879b72976b6477a0ffa68c8a9a677c3550b" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="clabcalc">
+ <description>Computer Laboratory for Calculus (clean crack)</description>
+ <year>1985</year>
+ <publisher>The Math Lab</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="computer laboratory for calculus (4am crack).dsk" size="143360" crc="b970b484" sha1="6b5cf3b8251c9af7bd9349c9ad04edb201973af2" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="clasanbk">
+ <description>Classifying Animals With Backbones (clean crack)</description>
+ <year>1985</year>
+ <publisher>D.C. Heath and Company</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="classifying animals with backbones (4am crack).dsk" size="143360" crc="72fed860" sha1="b91cfbdb55796dcaf0508e1d25594a0a96a81a68" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="clasmate">
+ <description>ClassMate</description>
+ <year>1987</year>
+ <publisher>Davidson and Associates (clean crack)</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="classmate (4am crack).dsk" size="143360" crc="c52d247a" sha1="73b904b598e2a8282e3ab2eead0858c1fe5a86a5" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="cltrcy">
+ <description>Computer Literacy: Introduction (clean crack)</description>
+ <year>1982</year>
+ <publisher>Control Data Corporation</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="computer literacy (4am crack).dsk" size="143360" crc="e3749f2d" sha1="c3ec1163d6ffdc7aded1d51e3cf6ddffb77ece3f" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="colorme">
+ <description>Color Me (clean crack)</description>
+ <year>1985</year>
+ <publisher>Mindscape</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="colorme (4am crack).dsk" size="143360" crc="668c0c95" sha1="b5056d99267615a564a2d49c76b09c1a6e10a0d8" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="colorme (4am crack) picture disk - hugga bunch - side a.dsk" size="143360" crc="6afeb028" sha1="206788a5ad07b1d7e7d5dabe936d4bb1c1608a2b" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop3" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="colorme (4am crack) picture disk - hugga bunch - side b.dsk" size="143360" crc="227c37ce" sha1="18e1f544389770a6a74d97c585e2a7e6a8a5674c" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop4" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="colorme (4am crack) picture disk - tink tonk - side a.dsk" size="143360" crc="8444dd7f" sha1="14cb015848ec215f928484db6bc5d9abb4693c56" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop5" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="colorme (4am crack) picture disk - tink tonk - side b.dsk" size="143360" crc="6afeb028" sha1="206788a5ad07b1d7e7d5dabe936d4bb1c1608a2b" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="commando">
+ <description>Commando (clean crack)</description>
+ <year>1987</year>
+ <publisher>Data East</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="commando (4am crack).dsk" size="143360" crc="90130f08" sha1="7ac2c4c7ff04093562d6d502fe08b67e735dcd17" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="compread">
+ <description>Compu-Read 3.4 (clean crack)</description>
+ <year>1982</year>
+ <publisher>Edu-Ware Services Inc.</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="compu-read 3.4 (4am crack).dsk" size="143360" crc="c5764cf4" sha1="072b403d8294a75d94e7c0be07219695a88d9a0f" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="conan">
+ <description>Conan (clean crack)</description>
+ <year>1984</year>
+ <publisher>DataSoft</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="conan (4am crack) side a.dsk" size="143360" crc="59ab412d" sha1="7b867eb234ebf0026a810609ab676a80eb6b1792" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="conan (4am crack) side b.dsk" size="143360" crc="8b11dd5a" sha1="62cb3e0c28deab25e35484f9aefa47e07b5f9dec" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="cotntale">
+ <description>Cotton Tales (clean crack)</description>
+ <year>1987</year>
+ <publisher>Mindplay</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="cotton tales (4am crack).dsk" size="143360" crc="aa458c5c" sha1="7061eaaf95e5cb0d80916ad9c1393769ed5b2dc3" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="crcreate">
+ <description>Creature Creator (clean crack)</description>
+ <year>1983</year>
+ <publisher>DesignWare</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="creature creator (4am crack).dsk" size="143360" crc="12ab87ad" sha1="8378ffc773b19efa639ca9886a990c64f28bb4d4" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="creation">
+ <description>Creation</description>
+ <year>1988</year>
+ <publisher>Pelican Software (clean crack)</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="creation (4am crack) side a.dsk" size="143360" crc="24686294" sha1="f103a1bb993cfe484baccc0b2fd51d569c5429b8" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="creation (4am crack) side b.dsk" size="143360" crc="52b81661" sha1="435881b4f3f75fc7317fbccf10690c653c9cade1" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="crumbetr">
+ <description>Crumb Eater (clean crack)</description>
+ <year>1983</year>
+ <publisher>Davka Corporation</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="crumb eater (4am crack).dsk" size="143360" crc="b683712e" sha1="65e97d93f272d31ac80fe24a5b704ed5f296ef60" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="cryptcbe">
+ <description>Crypto Cube (clean crack)</description>
+ <year>1983</year>
+ <publisher>DesignWare</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="crypto cube (4am crack).dsk" size="143360" crc="474160be" sha1="963b4f04b4b102201d09d29a4db943401787912d" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="cseefft">
+ <description>Cause and Effect: What Makes It Happen? (clean crack)</description>
+ <year>1988</year>
+ <publisher>Troll Associates</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="cause and effect - what makes it happen (4am crack).dsk" size="143360" crc="a666635c" sha1="7e494a1cf04ddefce3e705526fb8998206e4b399" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="deathswd">
+ <description>Death Sword (clean crack)</description>
+ <year>1988</year>
+ <publisher>Epyx</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="deathsword (4am crack).dsk" size="143360" crc="a728ed2b" sha1="6b8eb1a4658a38cb95f10f627d34e7d03c843550" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="decdisc">
+ <description>Decimal Discovery (clean crack)</description>
+ <year>1986</year>
+ <publisher>Developmental Learning Materials</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="decimal discovery (4am crack).dsk" size="143360" crc="a9dd258b" sha1="4c39599a738c4f2ec039003e044a87320ca8acd9" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="decimals">
+ <description>Decimals (ver 3.0) (clean crack)</description>
+ <year>1982</year>
+ <publisher>Edu-Ware</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="decimals (4am crack).dsk" size="143360" crc="471d383d" sha1="c13e4a82f0a1888fdf393b0ca8e41275b32267e6" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="defender">
+ <description>Defender (clean crack)</description>
+ <year>1983</year>
+ <publisher>Atarisoft</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="defender (atari) (4am crack).dsk" size="143360" crc="eb9aec1b" sha1="0c5298ab6459bb966c7147157206c660fd8b6a7e" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="deltadrw">
+ <description>Delta Drawing (clean crack)</description>
+ <year>1982</year>
+ <publisher>Spinnaker</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="delta drawing (4am crack).dsk" size="143360" crc="4af3c468" sha1="0f9b32bcade9aaac27c6a2f797e4b6e3b7f8f4c2" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="digduga">
+ <description>Dig Dug (Atarisoft) (clean crack)</description>
+ <year>1983</year>
+ <publisher>Atarisoft</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="dig dug (4am crack).dsk" size="143360" crc="99539f27" sha1="83bf4ae29434cc2da72f8aba34bdff8bdcdfbe92" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="digdug">
+ <description>Dig Dug (Thunder Mountain) (clean crack)</description>
+ <year>1983</year>
+ <publisher>Thunder Mountain</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="dig dug (thunder mountain) (4am crack).dsk" size="143360" crc="c3222178" sha1="959cfb565cff98eebea13de5c8ac6342d9ce04b8" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="dinodig">
+ <description>Dino Dig (clean crack)</description>
+ <year>1992</year>
+ <publisher>Troll Associates</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="dino dig (4am crack).dsk" size="143360" crc="1b1d690f" sha1="6c1b08d4d2ebdde96a2a18706e4bb80980a03222" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="dinoeggs">
+ <description>Dino Eggs (clean crack)</description>
+ <year>1983</year>
+ <publisher>Micro Fun</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="dino eggs (4am crack).dsk" size="143360" crc="f5778567" sha1="a85a4a7997ba99c4fe1abae3b1e9480830ebedf9" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="dinosars">
+ <description>Dinosaurs (clean crack)</description>
+ <year>1984</year>
+ <publisher>Advanced Ideas, Inc.</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="dinosaurs (4am crack).dsk" size="143360" crc="d74a3bfb" sha1="2d0bf2d2f23a055d82dcaf704f5af425c81b43dc" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="divebmbr">
+ <description>Dive Bomber (clean crack)</description>
+ <year>1988</year>
+ <publisher>Acme Animation, Inc.</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="dive bomber (4am crack).dsk" size="143360" crc="fc854511" sha1="a99c822380d41ddfde8d35b290d47aa241528b44" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="dkong">
+ <description>Donkey Kong (clean crack)</description>
+ <year>1983</year>
+ <publisher>Atarisoft</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="donkey kong (4am crack).dsk" size="143360" crc="a6e8f2ce" sha1="7e18fd14bcf2a6f380533c6c7552c10c793c768d" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="dunzhin">
+ <description>Dunzhin (clean crack)</description>
+ <year>1982</year>
+ <publisher>Screenplay</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="dunzhin (4am crack).dsk" size="143360" crc="115d3dfe" sha1="1be7cc13038c90d2aa1c07c99b9aca9a4ef975e5" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="dynoqst">
+ <description>Dyno-Quest (clean crack)</description>
+ <year>1984</year>
+ <publisher>Mindplay</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="dyno-quest (4am crack).dsk" size="143360" crc="f13fc9af" sha1="9e65208e8d1f4c8d4dc920073c17467e6207e4dd" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="dyohachd">
+ <description>Design Your Own Home: Architectural Design (clean crack)</description>
+ <year>1984</year>
+ <publisher>Avant-Garde Publishing Corp.</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="design your own home - architectural design (4am crack) disk 1 - program disk without mouse support.dsk" size="143360" crc="7a636e73" sha1="cc5db5f4babe23b6949e4649dcb4b064db26f8a2" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="design your own home - architectural design (4am crack) disk 2 - program disk with mouse support.dsk" size="143360" crc="a560a7fe" sha1="2cc71bcc086775800cd523e759956604be7f8be2" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop3" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="design your own home - architectural design (4am crack) disk 3 - data disk.dsk" size="143360" crc="6181b68e" sha1="fad415f43ce90278ad8ed5e1e8118316e0542fc2" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="dyoharch">
+ <description>Design Your Own Home: Architectural (clean crack)</description>
+ <year>1983</year>
+ <publisher>Avant-Garde Publishing Corp.</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="design your own home - architectural.dsk" size="143360" crc="7a636e73" sha1="cc5db5f4babe23b6949e4649dcb4b064db26f8a2" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="dyoh">
+ <description>Design Your Own Home: Interior Design (clean crack)</description>
+ <year>1986</year>
+ <publisher>Avant-Garde Publishing Corp.</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="design your own home (4am crack) disk 1 - program disk without mouse support.dsk" size="143360" crc="74ca0ac3" sha1="80e4d88fb2e8042faeefc053b9af25e6a3aec87d" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="design your own home (4am crack) disk 2 - program disk with mouse support.dsk" size="143360" crc="f68d0486" sha1="7ee505ad27631520237691ce07a996ef0eae5976" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop3" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="design your own home (4am crack) disk 3 - data disk.dsk" size="143360" crc="3b6b6514" sha1="c6ceba63f3707fe91d7aacd521961dd815171eb4" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="easyabc">
+ <description>Easy as ABC (clean crack)</description>
+ <year>1984</year>
+ <publisher>Springboard Software</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="easy as abc (4am crack).dsk" size="143360" crc="2372548a" sha1="f7f6536532978613e27974816417d17d3e9c7d82" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="easyrddm">
+ <description>Easy Reader Demo (clean crack)</description>
+ <year>1983</year>
+ <publisher>American Educational Computer, Inc.</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="easy reader demo (4am crack) disk 1.dsk" size="143360" crc="bfecd940" sha1="f08cc5a4e7e6f59ed9c07ae6fa9597ee1db97c2b" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="easy reader demo (4am crack) disk 2.dsk" size="143360" crc="a235a2db" sha1="ca8e12d10437d09bd8f3ffe90e3ffd56d3865233" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop3" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="easy reader demo (4am crack) disk 3.dsk" size="143360" crc="81b665db" sha1="ccd6f29a9a12def13602bde6ddd40cc0d9015cc9" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop4" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="easy reader demo (4am crack) disk 4.dsk" size="143360" crc="ee0f7dfe" sha1="b346068156741b5585aa1b5b1565f0745238bf52" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="easystr">
+ <description>Easy Street (clean crack)</description>
+ <year>1988</year>
+ <publisher>Mindplay</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="easy street (4am crack).dsk" size="143360" crc="1a675876" sha1="d6afddd7b1b481463339541d0b7c40c7029499d2" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="ecryfarm">
+ <description>Electric Crayon Fun On The Farm (clean crack)</description>
+ <year>1986</year>
+ <publisher>Polarware</publisher>
+ <info name="usage" value="Works with Apple II Mouse Card in slot 4: -sl4 mouse" />
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="electric crayon fun on the farm (4am crack).dsk" size="143360" crc="d2befa5f" sha1="3d5643e49d138caa45da80893a167464c7e62a7c" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="educalc">
+ <description>Edu-Calc (clean crack)</description>
+ <year>1985</year>
+ <publisher>Grolier</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="educalc (4am crack) side a.dsk" size="143360" crc="60a6cbb6" sha1="dbc1c97e26cf0387eb454adb340b990637f20d48" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="educalc (4am crack) side b.dsk" size="143360" crc="b01b103a" sha1="62884243c3dc97a53d6e0608cac7323ba7287b1a" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="egyc">
+ <description>Early Games For Young Children (clean crack)</description>
+ <year>1982</year>
+ <publisher>Springboard</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="early games for young children (4am crack).dsk" size="143360" crc="16ede4a6" sha1="e634a2a6fae6b11efcd7f59fa296960d351ed8c0" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="euronat">
+ <description>European Nations And Locations (clean crack)</description>
+ <year>1985</year>
+ <publisher>DesignWare, Inc.</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="european nations and locations (4am crack).dsk" size="143360" crc="2a4216a5" sha1="6312da33b30862614ef7742042f8a59911a768d1" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="expsctmp">
+ <description>Exploring Science: Temperature (clean crack)</description>
+ <year>1988</year>
+ <publisher>Sunburst</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="exploring science - temperature (4am crack).dsk" size="143360" crc="616c17ea" sha1="dc3fd5d610265b88c840c5859f42b15a09720ed3" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+<!-- end 4am adds, A-E -->
+<!-- 4am adds, F-L -->
+ <software name="1stdegle">
+ <description>First Degree Linear Equations (clean crack)</description>
+ <year>1984</year>
+ <publisher>Mindscape</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="first degree linear equations (4am crack).dsk" size="143360" crc="bc9f6657" sha1="8ecb52e40aaa9b2888d7c3c10d6dc80ef265309b" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="facemkr">
+ <description>Facemaker (clean crack)</description>
+ <year>1982</year>
+ <publisher>Spinnaker</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="facemaker (4am crack).dsk" size="143360" crc="b59ab962" sha1="55d8e6906bcbc1ae5c98a5b9a9f4594d0c47ecd8" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="falcons">
+ <description>Falcons (clean crack)</description>
+ <year>1981</year>
+ <publisher>Piccadilly Software</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="falcons (4am crack).dsk" size="143360" crc="b2eb0e24" sha1="b94e95a0f657230684a81637ad3c9b2a3fdfbbfd" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="fantlrd">
+ <description>Professor Davensteev's Fantasy Land (Red Level) (clean crack)</description>
+ <year>1983</year>
+ <publisher>Learning Well / Methods &amp; Solutions</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="fantasy land red level (4am crack).dsk" size="143360" crc="fa39ed58" sha1="87b5d23efee2906b985ebe9a35b14c68d1390eb6" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="fctalgex">
+ <description>Factoring Algebraic Expressions (clean crack)</description>
+ <year>1984</year>
+ <publisher>Mindscape</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="factoring algebraic expressions (4am crack).dsk" size="143360" crc="3b6386ab" sha1="2b691e14b3b72a8b05e09045dc569847685e32d5" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="finfacts">
+ <description>Financial Facts (clean crack)</description>
+ <year>1981</year>
+ <publisher>Advanced Operating Systems</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="financial facts (4am crack).dsk" size="143360" crc="45961b8d" sha1="2960be67af37b5ceb3cc21ea40bc34a16ed8a633" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="flshsphc">
+ <description>Flash Spell Helicopter (clean crack)</description>
+ <year>1983</year>
+ <publisher>Microcomputer Workships Courseware</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="flash spell helicopter (4am crack).dsk" size="143360" crc="503ec206" sha1="89b39a4a31ddffcd4c2c0373906c2eef45e09f0a" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="flycolor">
+ <description>Flying Colors (clean crack)</description>
+ <year>1983</year>
+ <publisher>The Computer Colorworks</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="flying colors (4am crack).dsk" size="143360" crc="0d00a418" sha1="63eee6f10f160848b0a8ef10d2d24657f3023230" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="forcemtn">
+ <description>Force And Motion (clean crack)</description>
+ <year>1990</year>
+ <publisher>Queue, Inc.</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="force and motion (4am crack) disk 1.dsk" size="143360" crc="a338ba73" sha1="4ddb1788cd67f4f85ebbac4995f9817a1334f6cf" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="force and motion (4am crack) disk 2.dsk" size="143360" crc="4a1e54f2" sha1="8a1863172a8e782425b14c3f09995e9dfb444024" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="fornext">
+ <description>FOR Your NEXT Adventure: FOR-NEXT Loops (clean crack)</description>
+ <year>1985</year>
+ <publisher>Sunburst</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="for your next adventure (4am crack).dsk" size="143360" crc="f93a7783" sha1="6179cde57a15ee564be7da68b410d89a4dd26dc8" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="frctnoid">
+ <description>Fraction-oids (clean crack)</description>
+ <year>1989</year>
+ <publisher>Mindplay</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="fraction-oids (4am crack).dsk" size="143360" crc="52856df0" sha1="eddcc4deb9da6b81434dd28717a87d676246f035" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="frctns2">
+ <description>Fractions II (clean crack)</description>
+ <year>1987</year>
+ <publisher>Silver Burdett Company</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="fractions ii (4am crack).dsk" size="143360" crc="8c4a993a" sha1="c1e0224ba9af15d55bbb9e59a7a283da2095097d" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="frctntut">
+ <description>Fraction Tutorial (clean crack)</description>
+ <year>19??</year>
+ <publisher>Opportunities For Learning</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="fraction tutorial (4am crack) side a.dsk" size="143360" crc="e9e24530" sha1="2524d748c108220ac1c4907193d3444fbf457707" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="fraction tutorial (4am crack) side b.dsk" size="143360" crc="fc980274" sha1="58f3349216f3463c49bfa8738d0e7ebbde249fcf" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="fredpzad">
+ <description>Freddy's Puzzling Adventures (clean crack)</description>
+ <year>1984</year>
+ <publisher>Developmental Learning Materials</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="freddy's puzzling adventures (4am crack).dsk" size="143360" crc="396ad123" sha1="db3fc765f6b1e6b016efb6e9b1dab5341e63a1d7" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="frenchvb">
+ <description>French Vocabulary Builder (clean crack)</description>
+ <year>1982</year>
+ <publisher>Control Data Corporation</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="french vocabulary builder (4am crack).dsk" size="143360" crc="ca27b87b" sha1="dee879e8b6635779bd10aa8115fecf80584b50b3" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="frogdog">
+ <description>Frogs, Dogs, Kittens, and Kids 1 (clean crack)</description>
+ <year>1988</year>
+ <publisher>Hartley Courseware</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="frogs, dogs, kittens, and kids 1 (4am crack) disk 1.dsk" size="143360" crc="ab28d4d3" sha1="4d2644e78bb8ef4d6df9ae808861c9c5e5e91a5e" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="frogs, dogs, kittens, and kids 1 (4am crack) disk 2.dsk" size="143360" crc="6e24da32" sha1="4076f55cb2563df30b2c4f75a9bece77e54cffd6" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop3" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="frogs, dogs, kittens, and kids 1 (4am crack) disk 3.dsk" size="143360" crc="c156dc96" sha1="9965dc051410c7c8b907550dd4b65bbdca07b331" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="frogger2">
+ <description>Frogger II: Threedeep (clean crack)</description>
+ <year>1984</year>
+ <publisher>Sega Enterprises Inc.</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="frogger ii three deep (4am crack).dsk" size="143360" crc="4e91d191" sha1="e7df29761097bb2e02ca3749d489991349249c9c" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="frogger">
+ <description>Frogger (clean crack)</description>
+ <year>1981</year>
+ <publisher>Sierra On-Line</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="frogger (4am crack).dsk" size="143360" crc="2f85b867" sha1="8e0c597e4f51657874dd72da47e7ec8686c17abc" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="frogjon">
+ <description>Frog Jump Ordering Numbers (clean crack)</description>
+ <year>1985</year>
+ <publisher>Scott, Foresman and Company</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="frog jump ordering numbers (4am crack).dsk" size="143360" crc="f9e80ecd" sha1="95a27ed3e59baec6161d75d05dbfbdc5e87e8c17" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="galaxat">
+ <description>Galaxian (Atarisoft) (clean crack)</description>
+ <year>1983</year>
+ <publisher>Atarisoft</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="galaxian (atari) (4am crack).dsk" size="143360" crc="b2087527" sha1="06da74bcbe71432bd541ba310a5bde1b72b84dda" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="galaxian">
+ <description>Galaxian (Thunder Mountain) (clean crack)</description>
+ <year>1983</year>
+ <publisher>Thunder Mountain</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="galaxian (thunder mountain) (4am crack).dsk" size="143360" crc="6b23c74a" sha1="3ff5a0d74d193b194ea5b0ddf761034736e18ac6" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="garfleyw">
+ <description>Garfield Eat Your Words (clean crack)</description>
+ <year>1985</year>
+ <publisher>Random House</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="garfield eat your words (4am crack) side a.dsk" size="143360" crc="7509dff7" sha1="56dd7fdee9a9d9092d25cd933c9f029687c85d13" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="garfield eat your words (4am crack) side b.dsk" size="143360" crc="655c5f4c" sha1="9e28deb94582d1789a3a46d793b53af591d977ee" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="genemach">
+ <description>Gene Machine (version 2.0) (clean crack)</description>
+ <year>1983</year>
+ <publisher>HRM Software</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="gene machine (4am crack).dsk" size="143360" crc="8048b6f4" sha1="42072666426c00e89b985f069fcd0c21ff51dbbd" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="gertrude">
+ <description>Gertrude's Secrets (version 1.2) (clean crack)</description>
+ <year>1982</year>
+ <publisher>The Learning Company</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="gertrude's secrets (4am crack).dsk" size="143360" crc="a8602d95" sha1="281f09574ca6be91f52182da51429487de6c770d" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="gramgrem">
+ <description>Grammar Gremlins (clean crack)</description>
+ <year>1986</year>
+ <publisher>Davidson &amp; Associates, Inc.</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="grammar gremlins (4am crack) side a.dsk" size="143360" crc="6c8489fa" sha1="38428a2f090900660fa4ff581e770004b71ad801" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="grammar gremlins (4am crack) side b.dsk" size="143360" crc="b07ee7b3" sha1="0c4171e8a85bd5627a8c3a25da4c29cc68c2038b" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="grammst2">
+ <description>Grammar Mastery II (clean crack)</description>
+ <year>1987</year>
+ <publisher>American Language Academy</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="grammar mastery ii (4am crack) disk a-1.dsk" size="143360" crc="3d53eb4f" sha1="e85c7999c214c488c9bdc2d74f024ccbbda8b1a4" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="grammar mastery ii (4am crack) disk a-2.dsk" size="143360" crc="62861308" sha1="efdf35fb331e1ea76bf3febb74b98f1aa9072a3d" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop3" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="grammar mastery ii (4am crack) disk a-4.dsk" size="143360" crc="0b7db6d7" sha1="64017e68302426b20e2d60c723370fb125bb597f" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop4" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="grammar mastery ii (4am crack) disk a-5.dsk" size="143360" crc="e3e18574" sha1="4c7f7138f3640955ae2f44f0b3c384b1baf5ef87" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop5" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="grammar mastery ii (4am crack) disk a-6.dsk" size="143360" crc="35b2b8c5" sha1="34004d39f76ba327b290db7774848087811686a2" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop6" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="grammar mastery ii (4am crack) disk b-1.dsk" size="143360" crc="8631e8c0" sha1="a0df701d842885ab5efa1f0263ed3adfd8ffab71" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop7" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="grammar mastery ii (4am crack) disk b-2.dsk" size="143360" crc="8393c99d" sha1="c4e685db3617bbc813eed22ca2154a10af8c2c31" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop8" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="grammar mastery ii (4am crack) disk b-3.dsk" size="143360" crc="60906690" sha1="bf46683255c2cabd11faf78d0fc7f1758053fb72" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop9" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="grammar mastery ii (4am crack) disk b-4.dsk" size="143360" crc="119a3936" sha1="dfea07eaf3b869b7c9f3eb04aafcbfe6b688e7fd" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop10" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="grammar mastery ii (4am crack) disk b-5.dsk" size="143360" crc="930a0f64" sha1="438af9967691d15a2ffc7e8698d2cc2bb8d74b52" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop11" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="grammar mastery ii (4am crack) disk b-6.dsk" size="143360" crc="285997e9" sha1="bac4010cbf9a79730358941248eed02198f968e5" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop12" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="grammar mastery ii (4am crack) disk c-1.dsk" size="143360" crc="1f1be2d0" sha1="42950035862d42b3f26ce35bc8c260e4c4785406" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop13" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="grammar mastery ii (4am crack) disk c-2.dsk" size="143360" crc="907f27a0" sha1="b3835d8cc4224d8e32c18b79737b3f4a5a647d4d" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop14" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="grammar mastery ii (4am crack) disk c-3.dsk" size="143360" crc="e86de7e2" sha1="1df2d1d7335415fde97fc2c2078c8fee05ce79cc" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop15" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="grammar mastery ii (4am crack) disk c-4.dsk" size="143360" crc="e13a724f" sha1="57c2814e87fbcfcfc4b83f348b18b8bc52c5d60d" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop16" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="grammar mastery ii (4am crack) disk c-5.dsk" size="143360" crc="84f65fd3" sha1="91831d0762420e4c7e5033bcbc763b2b43370840" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop17" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="grammar mastery ii (4am crack) disk c-6.dsk" size="143360" crc="1cbb4327" sha1="ed9a040d0ee4d20056daf43a1d039b6998c1e5f7" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="greetcrd">
+ <description>Greeting Card Maker (clean crack)</description>
+ <year>1986</year>
+ <publisher>Activision</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="greeting card maker (4am crack).dsk" size="143360" crc="c4715cf3" sha1="1b1cee4a53434702de533e8b80367d0fcae0a4a0" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="gremlins">
+ <description>Gremlins (clean crack)</description>
+ <year>1984</year>
+ <publisher>Atarisoft</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="gremlins (4am crack).dsk" size="143360" crc="72059242" sha1="02f4609e5d795e2cfa1cf4ebb55f32f698169f1b" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="grphlnfc">
+ <description>Graphing Linear Functions (clean crack)</description>
+ <year>1984</year>
+ <publisher>Microcomputer Workshops Courseware</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="graphing linear functions (4am crack).dsk" size="143360" crc="c47060a2" sha1="9f634221a056f569829cf1f1e32423815864a000" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="gulfstrk">
+ <description>Gulf Strike (clean crack)</description>
+ <year>1985</year>
+ <publisher>The Avalon Hill Game Company</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="gulf strike (4am crack).dsk" size="143360" crc="c4858e29" sha1="f3278f07923a9083e13edf5dac384a70e187f600" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="gumball">
+ <description>Gumball (clean crack)</description>
+ <!-- Corrected image 09/24/2016 -->
+ <year>1983</year>
+ <publisher>Broderbund</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="gumball (4am &amp; san inc crack).dsk" size="143360" crc="56e68a48" sha1="6d0e3652cce177637f332a6df34d7fb133cad2c7" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="heredog">
+ <description>Heredity Dog (clean crack)</description>
+ <year>1983</year>
+ <publisher>HRM Software</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="heredity dog (4am crack).dsk" size="143360" crc="1d82124a" sha1="3ab17b26f48e87422bd4d07e00c5a8a1e24650c9" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="heydidle">
+ <description>Hey Diddle Diddle (clean crack)</description>
+ <year>1983</year>
+ <publisher>Spinnaker</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="hey diddle diddle (4am crack).dsk" size="143360" crc="b81de700" sha1="eb31e30106af24c5a5154aff1e7261124e0f19ab" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="homehlpr">
+ <description>Homework Helper: Writing (clean crack)</description>
+ <year>1985</year>
+ <publisher>Spinnaker</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="homework helper writing (4am crack) side a.dsk" size="143360" crc="ba414e13" sha1="969b9b1e9274ff408ed1943386fb404558347d20" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="homework helper writing (4am crack) side b.dsk" size="143360" crc="cadc35d1" sha1="14333181c3377b99119afd8b0b78bc76dec9ef58" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop3" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="homework helper writing (4am crack) side c.dsk" size="143360" crc="ed3408a7" sha1="bcd388c678ec6ed88ee17c44aee8e964e29c8320" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop4" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="homework helper writing (4am crack) side d.dsk" size="143360" crc="480fe9b8" sha1="da63ce365fe39fec470494e0d8a7c2dfa5603e2e" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop5" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="homework helper writing (4am crack) side e.dsk" size="143360" crc="283dcd8b" sha1="42452afe600f86154347eeba2c9fc556519ee9ff" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop6" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="homework helper writing (4am crack) side f.dsk" size="143360" crc="769ebeee" sha1="82f0379fec113421d2bba8ac95e929a20918ffab" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="homewrtr">
+ <description>Homework Writer (clean crack)</description>
+ <year>1988</year>
+ <publisher>Scholastic, Inc.</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="homework writer (4am crack) side a.dsk" size="143360" crc="9f679792" sha1="b4a8db1ec71e52049f5f06f51cc4587b2022c4e3" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="homework writer (4am crack) side b.dsk" size="143360" crc="aeb2abe1" sha1="786f32a81eada81297f0c93c5525bdede2a7ffbe" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="housefir">
+ <description>House-A-Fire! (clean crack)</description>
+ <year>1988</year>
+ <publisher>Decision Development Co</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="house-a-fire (4am crack) side a.dsk" size="143360" crc="86f910e6" sha1="33c07bc9096be166c055e7ab792c2bd66f9f4114" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="house-a-fire (4am crack) side b.dsk" size="143360" crc="41bbc599" sha1="7f1b2789cda668de2f583bead3a8fc03aedcd157" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="howwest">
+ <description>How The West Was One + Three x Four (clean crack)</description>
+ <year>1987</year>
+ <publisher>Sunburst</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="how the west was one + three x four (4am crack).dsk" size="143360" crc="590f6a8b" sha1="2b7972b3700fb4f8aad2578647ec3bab81bc29a5" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="impmiss2">
+ <description>Impossible Mission II (clean crack)</description>
+ <year>1988</year>
+ <publisher>Epyx</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="impossible mission ii (4am crack) side a.dsk" size="143360" crc="a219d468" sha1="98a1aa883ad0a46ee30f043d431138ec4382d205" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="impossible mission ii (4am crack) side b.dsk" size="143360" crc="7968cf85" sha1="b4853d27a3b3aee986f4c4ea5b8f908a9423c782" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="invscmth">
+ <description>Investigating Secondary Mathematics With Computers (clean crack)</description>
+ <year>1985</year>
+ <publisher>University of Massachusetts</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="investigating secondary mathematics with computers (4am crack) side a.dsk" size="143360" crc="8cf2e9bc" sha1="d32d449515fa0ac526135d677ee75b3c19f281dc" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="investigating secondary mathematics with computers (4am crack) side b.dsk" size="143360" crc="217fd3bb" sha1="8bc60eb6bbe8b46921c4942bdcb6df44159b2471" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="jackbnst">
+ <description>Jack And The Beanstalk (clean crack)</description>
+ <year>1985</year>
+ <publisher>HRM Software</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="jack and the beanstalk (4am crack).dsk" size="143360" crc="cb5e3608" sha1="1149edac8268b2da7c903710300ca8dbcb17bf96" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="jmpmthfl">
+ <description>Jumping Math Flash (clean crack)</description>
+ <year>1988</year>
+ <publisher>Mindscape</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="jumping math flash (4am crack).dsk" size="143360" crc="0448adab" sha1="20f73a8ee2fa305d3d9403d3915c319fe60bdbdc" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="jumpman">
+ <description>Jumpman (clean crack)</description>
+ <year>1983</year>
+ <publisher>Epyx</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="jumpman (4am crack) side a.dsk" size="143360" crc="4f291aa3" sha1="1c43eac018c0a04e70177cf413d7b20b4eaa3a89" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="jumpman (4am crack) side b.dsk" size="143360" crc="90312d4c" sha1="0ba7c41afbb31c93e4dc602da12cf577876dbc2c" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="junghunt">
+ <description>Jungle Hunt (clean crack)</description>
+ <year>1984</year>
+ <publisher>Atarisoft</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="jungle hunt (4am crack).dsk" size="143360" crc="81b074fd" sha1="939e07e5aa2a0cd3792fa50f52c868657e35bb6b" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="kenuston">
+ <description>Ken Uston's Professional Blackjack (v1.23) (clean crack)</description>
+ <year>1983</year>
+ <publisher>Intelligent Statements, Inc.</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="ken uston's professional blackjack v1.23 (4am crack).dsk" size="143360" crc="954c5184" sha1="a153bf119331eed48b6cf60b3922b13aea7f5c0e" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="kidskeys">
+ <description>Kids On Keys (clean crack)</description>
+ <year>1983</year>
+ <publisher>Spinnaker</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="kids on keys (4am crack).dsk" size="143360" crc="41fc91fb" sha1="7615227a1d1b2dae5cb58ebaeaf32261237185e2" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="kindrcmp">
+ <description>Kindercomp (clean crack)</description>
+ <year>1983</year>
+ <publisher>Spinnaker</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="kindercomp (4am crack).dsk" size="143360" crc="32a9df32" sha1="99cb35aa9f452d8b7475b5ec3eefd0a3bb302e8f" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="kittenkf">
+ <description>Kittens, Kids, And A Frog (version 01.11.85) (clean crack)</description>
+ <year>1985</year>
+ <publisher>Hartley Courseware, Inc.</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="kittens, kids, and a frog (4am crack) disk 1.dsk" size="143360" crc="8c27a9ce" sha1="487e3ffae06831e594c8f1d6212ef9e3c1421476" offset="0x0000" />
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="kittens, kids, and a frog (4am crack) disk 2.dsk" size="143360" crc="6982459d" sha1="1c0fa745487f156229c494955508a1591d6d376b" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="kmwldhis">
+ <description>Knowledge Master World History 1 (clean crack)</description>
+ <year>1987</year>
+ <publisher>Academic Hallmarks</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="knowledge master world history 1 (4am crack).dsk" size="143360" crc="d49e8c80" sha1="c81f09462cba0462b87b52559682c7a0dcb4194d" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="krelllgo">
+ <description>Krell's Logo (clean crack)</description>
+ <year>1981</year>
+ <publisher>Krell</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="krell's logo (4am crack).dsk" size="143360" crc="fea02c90" sha1="87f37cc79fab1be0d10e627b665c1301d60e72b5" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="viewkill">
+ <description>James Bond 007 In: A View To A Kill (clean crack)</description>
+ <year>1985</year>
+ <publisher>Mindscape</publisher>
+
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="143360">
+ <rom name="james bond 007 in a view to a kill (4am crack).dsk" size="143360" crc="578c98cb" sha1="60fbf677d59b7a61d1f9d14deed1d0a50ccf9a92" offset="0x0000" />
+ </dataarea>
+ </part>
+ </software>
+<!-- end 4am adds, F-L -->
</softwarelist>
diff --git a/hash/apple2_flop_clcracked.xml b/hash/apple2_flop_clcracked.xml
deleted file mode 100644
index faf3e69323d..00000000000
--- a/hash/apple2_flop_clcracked.xml
+++ /dev/null
@@ -1,3003 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
-
-<softwarelist name="apple2_flop_clcracked" description="Apple II cleanly cracked 5.25 disks">
-
- <software name="101mword">
- <description>101 Misused Words (cleanly cracked)</description>
- <year>1983</year>
- <publisher>Learning Seed Company</publisher>
- <info name="release" value="2016-04-12"/>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="101 misused words (4am crack).dsk" size="143360" crc="49662c0d" sha1="b71a873630ef10333695890ab66a7bd80a9ef06e" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="123dmult">
- <description>1-2-3 Digit Multiplication (cleanly cracked)</description>
- <year>1986</year>
- <publisher>Microcomputer Workshops</publisher>
- <info name="release" value="2017-04-30"/>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="1-2-3 digit multiplication (4am crack).dsk" size="143360" crc="78461261" sha1="c8b8e76295be278b0faa2a10c255b3c3f7b7468c" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="2400ad">
- <description>2400 A.D. (cleanly cracked)</description>
- <year>1987</year>
- <publisher>Origin Systems</publisher>
- <info name="release" value="2018-09-23"/>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="143360">
- <rom name="2400 a.d. (4am crack) side a.dsk" size="143360" crc="b213865f" sha1="6f32418850fa522019233743e19ceac5bd961c95" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="143360">
- <rom name="2400 a.d. (4am crack) side b.dsk" size="143360" crc="30248b30" sha1="6154a819e207104af57b262c950fa225a8b0d1a1" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="acmasadv">
- <description>A Christmas Adventure (cleanly cracked)</description>
- <year>1984</year>
- <publisher>Bitcards</publisher>
- <info name="release" value="2019-01-15"/>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="143360">
- <rom name="a christmas adventure (4am crack) side a.dsk" size="143360" crc="460cd873" sha1="da5c2b4efac02f52107cce42cdd37a3d0bb96e0f" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="143360">
- <rom name="a christmas adventure (4am crack) side b.dsk" size="143360" crc="3b2c8ed4" sha1="385ae9a8d92e97395e5448433251c5d7b5e9d9e5" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="alcazar">
- <description>Alcazar the Forgotten Fortress (cleanly cracked)</description>
- <year>1985</year>
- <publisher>Activision</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="alcazar the forgotten fortress (1985)(activision)(clean crack).dsk" size="143360" crc="38a4bc9f" sha1="0d58e0821508b06ccbb73cbe6d7b45b07f7bfda8" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="aliens">
- <description>Aliens (cleanly cracked)</description>
- <year>1986</year>
- <publisher>Activision</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Disk 1"/>
- <dataarea name="flop" size="143360">
- <rom name="aliens (1986)(activision)(disk 1 of 2)(clean crack).dsk" size="143360" crc="bf0f7f72" sha1="d77b4d92ce266c75c4d7f08b85e507529e0afc68" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Disk 2"/>
- <dataarea name="flop" size="143360">
- <rom name="aliens (1986)(activision)(disk 2 of 2)(clean crack).dsk" size="143360" crc="001325b2" sha1="077d7e3d9fb920b6f7cfc69381eb447f44ce0713" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="aztec">
- <description>Aztec (cleanly cracked)</description>
- <year>1982</year>
- <publisher>Datamost</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="aztec (4am crack).dsk" size="143360" crc="f4c40d91" sha1="71d639bb9b55369abc2ef534bab6b74a731b7e65" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="amchal">
- <description>The American Challenge (cleanly cracked)</description>
- <year>1986</year>
- <publisher>MIndscape</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="american challenge, the (1986)(mindscape)(trex crack).dsk" size="143360" crc="26af56f8" sha1="89d4c5c1a232a0c6ef1960d9da0e05e626890e55" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="batlches">
- <description>Battle Chess (cleanly cracked)</description>
- <year>1990</year>
- <publisher>Interplay</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop1" size="143360">
- <rom name="battle chess side a (1990)(interplay)(trex crack).dsk" size="143360" crc="a81e4ae5" sha1="5b0e79fa0d4257a4855864c9324840cc1a41284e" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop1" size="143360">
- <rom name="battle chess side b (1990)(interplay)(trex crack)[unk filesys].dsk" size="143360" crc="54359fd3" sha1="19b3ed795c9827f580df77f559ad02eca55455b9" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="batman">
- <description>Batman (cleanly cracked)</description>
- <year>1988</year>
- <publisher>Data East</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop1" size="143360">
- <rom name="batman (1988)(data east)(side a)(4am crack).dsk" size="143360" crc="d8ddda60" sha1="456ced865c6a7f74af89e2bc1fbad0bde44fb55d" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop1" size="143360">
- <rom name="batman (1988)(data east)(side b)(4am crack).dsk" size="143360" crc="0aebbb48" sha1="97888412b36e2f65725a8177c46cb1d5f2a9e083" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="bbblocks">
- <description>BASIC Building Blocks (cleanly cracked)</description>
- <year>1983</year>
- <publisher>Micro Education</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Disk 1"/>
- <dataarea name="flop1" size="143360">
- <rom name="basic building blocks (1983)(micro education)(disk 1)(4am crack).dsk" size="143360" crc="a1752e9a" sha1="cfdd011756427b782935732446c27cb1caa6b8a1" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Disk 2"/>
- <dataarea name="flop1" size="143360">
- <rom name="basic building blocks (1983)(micro education)(disk 2)(4am crack).dsk" size="143360" crc="a51a3503" sha1="98b6d27d0da675c2f5d351340cd56f2d8d807eba" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="abnewv">
- <description>A Brand New View (cleanly cracked)</description>
- <year>1987</year>
- <publisher>D.C. Heath and Company</publisher>
- <info name="release" value="2016-08-24"/>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="a brand new view (4am crack).dsk" size="143360" crc="dcbee16d" sha1="1f5fba7748da446fb3c31845788e18905691baea" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="bublbobl">
- <description>Bubble Bobble (cleanly cracked)</description>
- <year>1988</year>
- <publisher>Taito America / NovaLogic</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Disk 1"/>
- <dataarea name="flop1" size="143360">
- <rom name="bubble bobble disk 1 of 2 (1988)(taito america - novalogic)(trex crack).dsk" size="143360" crc="2af0a5d4" sha1="4810c07e9514d6d3a49ee9babee7497103428d43" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Disk 2"/>
- <dataarea name="flop1" size="143360">
- <rom name="bubble bobble disk 2 of 2 (1988)(taito america - novalogic)(trex crack).dsk" size="143360" crc="ac056c8d" sha1="0f30fb98d37e91f166d0c8c6b328e898cdf37ec1" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="cntdsht">
- <description>Countdown to Shutdown (cleanly cracked)</description>
- <year>1985</year>
- <publisher>Activision</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="countdown to shutdown (1985)(activision)(trex crack).dsk" size="143360" crc="cf4ac129" sha1="ee6843930f3c78c738f3ef4cf1e306ef5897d8af" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="cogito">
- <description>Cogito! (cleanly cracked)</description>
- <year>198??</year>
- <publisher>Reader's Digest Software</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="cogito! (19xx)(reader's digest software)(4am crack)" size="143360" crc="dab73665" sha1="fac81f70393ce06a08830913560c2e3f6e694ed0" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="crismntn">
- <description>Crisis Mountain (cleanly cracked)</description>
- <year>1982</year>
- <publisher>Synergistic Software</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="crisis mountain (1982)(synergistic software)(4am crack).dsk" size="143360" crc="f43e80de" sha1="1bbdbe1a89ea35dce064406b79cee8cb10da81a4" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="carmntime">
- <description>Where in Time is Carmen Sandiego v1.1 (cleanly cracked)</description>
- <year>1989</year>
- <publisher>Broderbund</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="143360">
- <rom name="where in time is carmen sandiego v1.1 side a (1989)(broderbund)(trex crack).dsk" size="143360" crc="9d391061" sha1="32f18c02974e0a915e3ac74abe10ec9cf5f67533" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="143360">
- <rom name="where in time is carmen sandiego v1.1 side b (1989)(broderbund)(trex crack).dsk" size="143360" crc="33e65f76" sha1="8995ca7786b6a70d68b8305625e65a534c15d435" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_5_25">
- <feature name="part_id" value="Side C"/>
- <dataarea name="flop" size="143360">
- <rom name="where in time is carmen sandiego v1.1 side c (1989)(broderbund)(trex crack).dsk" size="143360" crc="15942fc0" sha1="03189fdefa100e64c0ad9ba38804bab7508f9881" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_5_25">
- <feature name="part_id" value="Side D"/>
- <dataarea name="flop" size="143360">
- <rom name="where in time is carmen sandiego v1.1 side d (1989)(broderbund)(trex crack).dsk" size="143360" crc="704551a0" sha1="469ef6f3be3919cd904c63d37d6e8d46e895ab31" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="carmntime35">
- <description>Where in Time is Carmen Sandiego v1.1 800K 3.5 disc (cleanly cracked)</description>
- <year>1989</year>
- <publisher>Broderbund</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="819264">
- <rom name="where in time is carmen sandiego v1.1 800k 3.5 disk (1989)(broderbund)(trex crack).2mg" size="819264" crc="36d3ff6d" sha1="21051ecf94f598da648355e75e46641351ed3230" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="carmntime10">
- <description>Where in Time is Carmen Sandiego v1.0 (cleanly cracked)</description>
- <year>1989</year>
- <publisher>Broderbund</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="143360">
- <rom name="where in time is carmen sandiego v1.0 (4am crack) side a.dsk" size="143360" crc="cd3da2a7" sha1="21a9fc7220c84ffec91b4e76b28dc8b514ab56a3" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="143360">
- <rom name="where in time is carmen sandiego v1.0 (4am crack) side b.dsk" size="143360" crc="3bad4b59" sha1="7e84dc0db9e964db44692fa340b6c6828f83bfe6" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_5_25">
- <feature name="part_id" value="Side C"/>
- <dataarea name="flop" size="143360">
- <rom name="where in time is carmen sandiego v1.0 (4am crack) side c.dsk" size="143360" crc="650735af" sha1="aecf8b17bb26e73036100ac648e5eddede12fe91" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_5_25">
- <feature name="part_id" value="Side D"/>
- <dataarea name="flop" size="143360">
- <rom name="where in time is carmen sandiego v1.0 (4am crack) side d.dsk" size="143360" crc="3c7643ca" sha1="8a6a168f25b4698465b89db9546d9b35489fe042" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="dmaster">
- <description>Dungeon Master's Assistant (cleanly cracked)</description>
- <year>1988</year>
- <publisher>SSI</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop1" size="143360">
- <rom name="dungeon master's assistant side a (1988)(ssi)(trex crack)[rdos].dsk" size="143360" crc="14904b40" sha1="9a8953ed45bb36f340b13db1eb6d75a26e498815" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop1" size="143360">
- <rom name="dungeon master's assistant side b (1988)(ssi)(trex crack)[rdos].dsk" size="143360" crc="fafa454c" sha1="169ec625b5d72f6c624534e4c031915a0e36c82d" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="genesis">
- <description>Genesis (cleanly cracked)</description>
- <!-- Original disk wouldn't boot on 65C02 or later -->
- <year>1983</year>
- <publisher>Datasoft / Design Labs</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="genesis (1983)(datasoft - design labs)(trex single file crack).dsk" size="143360" crc="c55fd79c" sha1="34940df9dc08c88f38000f9d3311bae429a2f735" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="gbust">
- <description>Ghostbusters (cleanly cracked)</description>
- <year>1984</year>
- <publisher>Activision</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="ghostbusters (1984)(activision)(clean crack).dsk" size="143360" crc="7664a255" sha1="708fc0c0903a7c3f61b0b873ce032e81762367ba" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="hardball">
- <description>Hardball (cleanly cracked)</description>
- <year>1985</year>
- <publisher>Accolade</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="hardball (1985)(accolade)(trex crack).dsk" size="143360" crc="bfc321c3" sha1="08b9d470a0f64c6d8c078058484b85153682cd32" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="hhmack">
- <description>Hard Hat Mack (cleanly cracked)</description>
- <year>1983</year>
- <publisher>Electronic Arts</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="hard hat mack clean crack.dsk" size="143360" crc="eb4733c7" sha1="32e01bbc99ac6c71fbcd424b9259624699dee5bf" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="heist">
- <description>The Heist (cleanly cracked)</description>
- <!-- High scores stored on disc, reset to AAA 5000, BBB 4000, CCC 3000, DDD 2000 & EEE 1000 -->
- <year>1983</year>
- <publisher>Microlab</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="the heist (1983)(microlab)(trex crack).dsk" size="143360" crc="47965be3" sha1="b050eae4631b6737d7bd8264de1544341a3a2042" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="lawwest">
- <description>Law of the West (cleanly cracked)</description>
- <year>1985</year>
- <publisher>Accolade</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="law of the west (1985)(accolade)(trex crack).dsk" size="143360" crc="db08e8b9" sha1="45b7f1c4dd834891b69d0d62852527e479579150" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="masterlamp">
- <description>Master of the Lamps (cleanly cracked)</description>
- <year>1985</year>
- <publisher>Activision</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="master of the lamps (1985)(activision)(trex crack).dsk" size="143360" crc="59c4b8d3" sha1="f48b13d0c8d7129983ad4d78e0f50458fe124b91" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="minr2049">
- <description>Miner 2049er (cleanly cracked)</description>
- <!-- High scores stored on disc, reset to AAA 5000, AAA 4000, AAA 3000, AAA 2000 & AAA 1000 -->
- <year>1982</year>
- <publisher>Micro Fun</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="miner 2049er (1982)(micro fun)(clean crack).dsk" size="143360" crc="c1024360" sha1="a5913a155a4902310de20c5037067655e11ab088" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="mrdo">
- <description>Mr. Do (cleanly cracked)</description>
- <year>1983</year>
- <publisher>Datasoft</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="mr. do (4am crack).dsk" size="143360" crc="a3e4f90f" sha1="ca54e92fcf4266061e782ad841867cec5eed347f" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="mspac">
- <description>Ms. Pac Man (cleanly cracked)</description>
- <year>1983</year>
- <publisher>Atari</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="ms. pac-man (atari)(4am crack).dsk" size="143360" crc="7b7196fc" sha1="49b21f8c3a838c12b2d785f4342432212698c0bb" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="nightmar">
- <!-- Left & Right arrows or Paddle0 for controls - Select with "K" for keyboard / "P" for paddle -->
- <!-- press SLASH "/" to fire with keyboard or use Button0 when using the paddle -->
- <!-- "C" for continuous fire, SPACE BAR for shields, CRTL-S toggles sound on/off, ESC for pause -->
- <description>Nightmare Gallery (cleanly cracked)</description>
- <year>1982</year>
- <publisher>Synergistic Software</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="nightmare gallery (1982)(synergistic)(clean crack).dsk" size="143360" crc="070c08bf" sha1="803dda9229bd086979f400949b4300d18285c75b" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="pacman">
- <description>Pac-Man - Atari (cleanly cracked)</description>
- <year>1983</year>
- <publisher>Atari</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="pac-man (atari)(4am crack).dsk" size="143360" crc="988e08f1" sha1="5eb20be8a79227715177b65cd0ea4a34be273629" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="pacmand">
- <description>Pac-Man - Datasoft (cleanly cracked)</description>
- <year>1983</year>
- <publisher>Datasoft / Namco America</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="pac-man (datasoft)(4am crack).dsk" size="143360" crc="9852a378" sha1="dd4cec96fd37aba85f5bd2a5b75d0656904765d1" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="pacmant">
- <description>Pac-Man - Thunder Mountain (cleanly cracked)</description>
- <year>1983</year>
- <publisher>Thunder Mountain / Namco</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="pac-man (thunder mountain)(4am crack).dsk" size="143360" crc="82379bed" sha1="9b3e1b9e78dcfb1f8f55925c9bf2f6161423004d" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="paperboy">
- <description>Paperboy (cleanly cracked)</description>
- <year>1986</year>
- <publisher>Mindscape / Atari</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="paperboy (4am crack).dsk" size="143360" crc="e0914bc0" sha1="37da2f836f9182c53931a8f08827f72826f844ac" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="papermodels">
- <description>Paper Models - The Christmas Kit (cleanly cracked)</description>
- <year>1986</year>
- <publisher>Activision</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="paper models - the christmas kit (1986)(activision)(trex crack).dsk" size="143360" crc="22dd3174" sha1="01653481820b5a14374e21af182c766ee87b7861" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="pigpen">
- <description>Pigpen (cleanly cracked)</description>
- <year>1982</year>
- <publisher>Datamost / TMQ Software</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="pigpen (1982)(datamost - tmq software)(clean crack).dsk" size="143360" crc="69abf73f" sha1="0811f5331a44df93edebbf3908b036c972733b55" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="pipedream">
- <description>Pipe Dream (cleanly cracked)</description>
- <year>1990</year>
- <publisher>Lucasfilm</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="pipe dream (1990)(lucasfilm)(trex crack).dsk" size="143360" crc="46befc67" sha1="654d9f22147a111a77f59cd775a3e2822579b085" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="portal">
- <description>Portal (cleanly cracked)</description>
- <year>1986</year>
- <publisher>Activision</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Disk 1"/>
- <dataarea name="flop" size="143360">
- <rom name="portal disk 1 of 4 (1986)(activision)(trex crack).dsk" size="143360" crc="5f90a84a" sha1="1fcc3990b5680d47ee5a87fd0dac8266433e7a7d" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Disk 2"/>
- <dataarea name="flop" size="143360">
- <rom name="portal disk 2 of 4 (1986)(activision)(trex crack).dsk" size="143360" crc="56038539" sha1="e2f98196e977a60d088948d5689a254c831b78d5" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_5_25">
- <feature name="part_id" value="Disk 3"/>
- <dataarea name="flop" size="143360">
- <rom name="portal disk 3 of 4 (1986)(activision)(trex crack).dsk" size="143360" crc="43fa124b" sha1="96e8eb50e1f7c5608f0e5c21c8510f950f475340" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_5_25">
- <feature name="part_id" value="Disk 4"/>
- <dataarea name="flop" size="143360">
- <rom name="portal disk 4 of 4 (1986)(activision)(trex crack).dsk" size="143360" crc="0cc78e02" sha1="ea7f178de04fe64aa62ed25df5e64aa405ee13b5" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="qix">
- <description>Qix (cleanly cracked)</description>
- <year>1989</year>
- <publisher>Taito</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="qix (1981-89)(taito america)(trex crack).dsk" size="143360" crc="7540d5ea" sha1="ed5b36df6f6940730313cd6d7ea9702003629dcc" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="racter">
- <description>Racter (cleanly cracked)</description>
- <year>1985</year>
- <publisher>Mindscape</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="racter (1985)(mindscape)(trex crack).dsk" size="143360" crc="4e8d06f8" sha1="43baa8c78fe606b526f575e191dd954548c70470" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="rambo">
- <description>Rambo First Blood Part II (cleanly cracked)</description>
- <year>1985</year>
- <publisher>Mindscape / Angelsoft</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="rambo first blood part ii (1985)(mindscape - angelsoft)(trex crack).dsk" size="143360" crc="58606af1" sha1="82208a4baeadd03b00cb28cab503db266db4fbb2" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="rampage">
- <description>Rampage (cleanly cracked)</description>
- <year>1988</year>
- <publisher>Activision</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="rampage (1988)(activision)(trex crack).dsk" size="143360" crc="cd8a8b4c" sha1="e0000ec8544481784f6cab8be2bc91358c0ea37b" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="renegade">
- <description>Renegade (cleanly cracked)</description>
- <!-- ProDOS 8 based & hard drive compatable -->
- <year>1988</year>
- <publisher>Taito America / NovaLogic</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Disk 1"/>
- <dataarea name="flop1" size="143360">
- <rom name="renegade disk 1 of 2 (1988)(taito america - novalogic)(trex crack).dsk" size="143360" crc="9d480dec" sha1="bca268ad1859c8cfd214496c3195b88362a31502" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Disk 2"/>
- <dataarea name="flop1" size="143360">
- <rom name="renegade disk 2 of 2 (1988)(taito america - novalogic)(trex crack).dsk" size="143360" crc="c01e6c75" sha1="b4b789285ee0c06315ffb216c413414c09a7756a" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="shanghai">
- <description>Shanghai (cleanly cracked)</description>
- <year>1986</year>
- <publisher>Activision</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="shanghai (1986)(activision)(trex crack).dsk" size="143360" crc="19ea813b" sha1="f0cafa24a30b7fdf2ee24d8a39485d71779e7aab" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="sneakers">
- <description>Sneakers (cleanly cracked)</description>
- <year>1981</year>
- <publisher>Sirius Software</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="sneakers (4am crack).dsk" size="143360" crc="76c62637" sha1="00666d350570f9658450cc44722137986b61293c" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="spindizy">
- <description>Spindizzy (cleanly cracked)</description>
- <year>1986</year>
- <publisher>Activision</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="spindizzy (1986)(activision)(trex crack).dsk" size="143360" crc="3ee443b4" sha1="937bc75ed99a1d1134eaa276abac09a10bd9b53d" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="tapper">
- <description>Tapper (cleanly cracked)</description>
- <!-- Corrected rerip 09/19/2016 -->
- <year>1983</year>
- <publisher>Bally/Midway</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="tapper (4am crack).dsk" size="143360" crc="66c7cab7" sha1="20ad51af4623623c1204bb7d9c6612aafadaf882" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="thief">
- <description>Thief (cleanly cracked)</description>
- <!-- Apple II clone of Berzerk arcade game by Bob Flanagan - Thief: "The damn things nearly killed me." -->
- <!-- All files transfered from a highly protected DOS 3.2 disc to a PronoDOS disc -->
- <!-- Also includes a single file BRUNable conversion of the game -->
- <year>1981</year>
- <publisher>Datamost</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="thief (1981)(datamost)(san inc &amp; trex crack).dsk" size="143360" crc="e2faf16e" sha1="bedfb20b1753acb6d1babdc44143761d07bc8782" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="xevious">
- <description>Xevious (cleanly cracked)</description>
- <year>1983</year>
- <publisher>Mindscape</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="xevious (4am crack).dsk" size="143360" crc="c0965f9a" sha1="11b8f8761b4d5cfb333d95dfe7064a3115febab6" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="123seqme">
- <description>1-2-3 Sequence Me (cleanly cracked)</description>
- <year>1991</year>
- <publisher>Sunburst</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="1-2-3 sequence me (4am crack).dsk" size="143360" crc="7e2ec77e" sha1="01fa783c5bd63d04e4280308e3eae48ca546c330" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="acedect">
- <description>Ace Detective (cleanly cracked)</description>
- <year>1987</year>
- <publisher>Mindplay</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="143360">
- <rom name="ace detective (4am crack) side a.dsk" size="143360" crc="1ed89d6f" sha1="065673511e9c48d24c0e92dfdb5ed617c3f5cf62" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="143360">
- <rom name="ace detective (4am crack) side b.dsk" size="143360" crc="e3a16f45" sha1="c5ffe33fac6919982ab1b24dbeed393ece532908" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="acedetv2">
- <description>Ace Detective revision 2 (cleanly cracked)</description>
- <year>1987</year>
- <publisher>Mindplay</publisher>
- <info name="release" value="2015-07-24"/>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="143360">
- <rom name="ace detective revision 2 (4am crack) side a.dsk" size="143360" crc="8ca8d1f0" sha1="4ae31e83c0fdea4e27362c2cb16eb67c1a8757ec" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="143360">
- <rom name="ace detective revision 2 (4am crack) side b.dsk" size="143360" crc="e3a16f45" sha1="c5ffe33fac6919982ab1b24dbeed393ece532908" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="addsub1">
- <description>Mathematics Courseware Series: Addition and Subtraction 1 (cleanly cracked)</description>
- <year>1985</year>
- <publisher>Scott, Foresman and Company</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="addition and subtraction 1 (4am crack).dsk" size="143360" crc="1294e866" sha1="0dd1b791aa4fb951167a3e0b99a05ac00e48a79c" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="addsub2">
- <description>Mathematics Courseware Series: Addition and Subtraction 2 (cleanly cracked)</description>
- <year>1985</year>
- <publisher>Scott, Foresman and Company</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="addition and subtraction 2 (4am crack).dsk" size="143360" crc="3c8972a6" sha1="6b7f3571cf5cb52cb0b89520021516932be21e20" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="afrpiano">
- <description>Alfred's Basic Piano Theory Software (cleanly cracked)</description>
- <year>1986</year>
- <publisher>Alfred Publishing Company</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="alfred's basic piano theory software (4am crack).dsk" size="143360" crc="1f485dcb" sha1="1459336aec81f2b8dbd690550c5092f402014c16" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="agentusa">
- <description>Agent USA (cleanly cracked)</description>
- <year>1984</year>
- <publisher>Scholastic</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="agent usa (4am crack).dsk" size="143360" crc="13057c2c" sha1="6cecfadfadf2c7ffbcbdfaba3205d479d978a812" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="alcircus">
- <description>Alphabet Circus (cleanly cracked)</description>
- <year>1984</year>
- <publisher>NeoSoft</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="alphabet circus (4am crack).dsk" size="143360" crc="b3a6de8b" sha1="02e72f3c59196f74389ae2c50cdc1ea3b4fb2e9c" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="alcwndrl">
- <description>Alice in Wonderland (cleanly cracked)</description>
- <year>1985</year>
- <publisher>Windham Classics</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="143360">
- <rom name="alice in wonderland (4am crack) side a.dsk" size="143360" crc="46d03565" sha1="bf3ea2cdf0c5fb63aff9686605c2cae84774c62f" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="143360">
- <rom name="alice in wonderland (4am crack) side b.dsk" size="143360" crc="f03e007e" sha1="fd960bf392beaa9f081ff36a9f621cd1ce5e3c92" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="algebra2">
- <description>Algebra 2 (cleanly cracked)</description>
- <year>1982</year>
- <publisher>Edu-Ware</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="algebra 2 (4am crack).dsk" size="143360" crc="2b276045" sha1="ac9e9129dd3f6c507553913b53159192051ca67c" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="algeplus">
- <description>Alge-Blaster Plus! (cleanly cracked)</description>
- <year>1989</year>
- <publisher>Davidson &amp; Associates, Inc.</publisher>
- <info name="usage" value="Works with Apple II Mouse Card in slot 4: -sl4 mouse" />
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Program Disk Side 1"/>
- <dataarea name="flop" size="143360">
- <rom name="alge-blaster plus (4am crack) program disk side 1.dsk" size="143360" crc="e8d890c7" sha1="e2dbdde612c1da4543d79a6a8bd793a9a3501320" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Program Disk Side 2"/>
- <dataarea name="flop" size="143360">
- <rom name="alge-blaster plus (4am crack) program disk side 2.dsk" size="143360" crc="90c22d74" sha1="75d3c345e93dfe177ae4e2c5cd85bd770bead924" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_5_25">
- <feature name="part_id" value="Data Disk Side 1"/>
- <dataarea name="flop" size="143360">
- <rom name="alge-blaster plus (4am crack) data disk side 1.dsk" size="143360" crc="cbd1a613" sha1="fde73dbad3ede97e2e1758b2f20fcf42e5756c5d" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_5_25">
- <feature name="part_id" value="Data Disk Side 2"/>
- <dataarea name="flop" size="143360">
- <rom name="alge-blaster plus (4am crack) data disk side 2.dsk" size="143360" crc="8d94d796" sha1="8716509d1e68ad38f269d411b6c67838d4e9c4e8" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="algernon">
- <description>Algernon (cleanly cracked)</description>
- <year>1987</year>
- <publisher>Sunburst</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="algernon (4am crack).dsk" size="143360" crc="7f4cd588" sha1="7356d7d510690126ee36270a415dac857553387a" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="algevol1">
- <description>Algebra, Volume 1 (cleanly cracked)</description>
- <year>1984</year>
- <publisher>Peachtree Software</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="algebra volume 1 (edu-ware) (4am crack).dsk" size="143360" crc="3c53e46c" sha1="e9266c93e1acd293010aeaf44159812ceee5db47" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="alienadd">
- <description>Alien Addition (cleanly cracked)</description>
- <year>1982</year>
- <publisher>Developmental Learning Materials</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="alien addition (4am crack).dsk" size="143360" crc="1eb420f5" sha1="075668510c8d1423d75d585703ee8ff78fbcbeb2" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="amhisadv">
- <description>American History Adventure (cleanly cracked)</description>
- <year>1984</year>
- <publisher>Queue Inc.</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Disk 1"/>
- <dataarea name="flop" size="143360">
- <rom name="american history adventure (4am crack) disk 1.dsk" size="143360" crc="ebed5630" sha1="e022f2c9d398128df5b01b67bdb03e1935307bc0" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Disk 2"/>
- <dataarea name="flop" size="143360">
- <rom name="american history adventure (4am crack) disk 2.dsk" size="143360" crc="fdac8698" sha1="efb8b395b6c508d5a5eb2caa0d34a89a2eb2c54f" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="animkngd">
- <description>Animal Kingdom (cleanly cracked)</description>
- <year>1985</year>
- <publisher>Unicorn Software</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="143360">
- <rom name="animal kingdom (4am crack) side a.dsk" size="143360" crc="ccd3005b" sha1="9255e54d15b405b360f340c811cd71f70ae33945" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="143360">
- <rom name="animal kingdom (4am crack) side b.dsk" size="143360" crc="98b5bc0f" sha1="c50c55c2fffc2e37c3d3319b4e8eb0c04c282beb" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="arkanoid">
- <description>Arkanoid (cleanly cracked)</description>
- <year>1988</year>
- <publisher>Taito America</publisher>
- <info name="usage" value="Works with Apple II Mouse Card in slot 4: -sl4 mouse" />
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="arkanoid (4am crack).dsk" size="143360" crc="c10ff8bf" sha1="4ac7d069e9b189405c0b345ab71904b357aa8393" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="ballblzr">
- <description>BallBlazer (cleanly cracked)</description>
- <year>1985</year>
- <publisher>Lucasfilm Games</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="ballblazer (4am crack).dsk" size="143360" crc="aa48b3a9" sha1="ecc85c358ccb8373e9872733ed00a40f9b2bcad2" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="bandsaw">
- <description>Band Saw and Shaper Safety (cleanly cracked)</description>
- <year>1986</year>
- <publisher>Abraxas Basic Courseware</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="band saw and shaper safety (4am crack).dsk" size="143360" crc="9e7f9c97" sha1="e8944428122d6417f1efb689ef15321a2b7be4f8" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="basmathf">
- <description>Basic Math Facts and Games (cleanly cracked)</description>
- <year>1981</year>
- <publisher>Random House</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="basic math facts and games (4am crack).dsk" size="143360" crc="8159ef9e" sha1="232d6518fe126cd12e12edeebfdfc98b1cda2578" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="basvocb">
- <description>Basic Vocabulary Builder Demo (cleanly cracked)</description>
- <year>1984</year>
- <publisher>National Textbook Company</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="basic vocabulary builder demo (4am crack).dsk" size="143360" crc="057ad952" sha1="58a878f31d80e506a17f816550fb3f8aaafe2991" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="beerrun">
- <description>Beer Run (cleanly cracked)</description>
- <year>1981</year>
- <publisher>Sirius Software</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="beer run (4am crack).dsk" size="143360" crc="5bb93f11" sha1="8812a3078a4d06368b1d5cb692a79e4b41cf3580" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="bigbkmkr">
- <description>Big Book Maker (cleanly cracked)</description>
- <year>1992</year>
- <publisher>Pelican Software</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Disk 1 Side A"/>
- <dataarea name="flop" size="143360">
- <rom name="big book maker (4am crack) disk 1 side a.dsk" size="143360" crc="3f18085e" sha1="b69bdab8c4840a0922ac65b765bc3d20a38cfbd1" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Disk 1 Side B"/>
- <dataarea name="flop" size="143360">
- <rom name="big book maker (4am crack) disk 1 side b.dsk" size="143360" crc="1142180f" sha1="cc8cd090bb644c31ec7229a0d79f135cc9e7f732" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_5_25">
- <feature name="part_id" value="Disk 2 Side A"/>
- <dataarea name="flop" size="143360">
- <rom name="big book maker (4am crack) disk 2 side a.dsk" size="143360" crc="b13c5630" sha1="8b6771472e2f977b5dc30d48ba8cbf8680b635a4" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_5_25">
- <feature name="part_id" value="Disk 2 Side B"/>
- <dataarea name="flop" size="143360">
- <rom name="big book maker (4am crack) disk 2 side b.dsk" size="143360" crc="b75798e9" sha1="1c25c3a721a731cb9bedc01da8d3440eac2db099" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="bingoha">
- <description>Bingo Bugglebee Presents: Home Alone (cleanly cracked)</description>
- <year>1985</year>
- <publisher>Quest Learning Systems</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="bingo bugglebee presents home alone (4am crack).dsk" size="143360" crc="811c6f26" sha1="d258f9ec32550c30a7892e8f77f94f09200137b7" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="bingoos">
- <description>Bingo Bugglebee Presents: Outdoor Safety (cleanly cracked)</description>
- <year>1985</year>
- <publisher>Quest Learning Systems</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="bingo bugglebee presents outdoor safety (4am crack).dsk" size="143360" crc="13ee71e9" sha1="13b2a09dd29b37d105501dbb1291437bb1e4a863" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="binomult">
- <description>Binomial Multiplication (cleanly cracked)</description>
- <year>1984</year>
- <publisher>Mindscape</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="binomial multiplication (4am crack) (2).dsk" size="143360" crc="362c9ff4" sha1="566aa3c2a2f25dfbaef9df91e0ac4b339e916a41" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="blzpdls">
- <description>Blazing Paddles (cleanly cracked)</description>
- <year>1985</year>
- <publisher>Baudville</publisher>
- <info name="usage" value="Works with Apple II Mouse Card in slot 4: -sl4 mouse" />
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="blazing paddles (4am crack).dsk" size="143360" crc="db4aa57d" sha1="152cc04080e100822bf919879232d175c64e9610" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="bmblgmes">
- <description>Bumble Games (cleanly cracked)</description>
- <year>1982</year>
- <publisher>The Learning Company</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="bumble games (4am crack).dsk" size="143360" crc="0a7eb17b" sha1="9e8fcc6b51003311510165e2ec80b4a9099cb8e2" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="bopgwdc">
- <description>Boppie's Great Word Chase (cleanly cracked)</description>
- <year>1985</year>
- <publisher>Developmental Learning Materials</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="boppie's great word chase (4am crack).dsk" size="143360" crc="312d613d" sha1="7b0205491b48377aa985451f815f2b66af26b1a2" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="bounce">
- <description>Bounce (cleanly cracked)</description>
- <year>1988</year>
- <publisher>Sunburst</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="bounce (4am crack).dsk" size="143360" crc="c112a513" sha1="a991ab2abbac0ee2490ce6b0f0b29d6e1b04d120" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="bridge40">
- <description>Bridge 4.0 (cleanly cracked)</description>
- <year>1983</year>
- <publisher>Artworx</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="bridge 4.0 (4am crack).dsk" size="143360" crc="26bf2d79" sha1="b33b7bfda4c17b0a51d9e1c16aead1e85c812752" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="btime">
- <description>BurgerTime (cleanly cracked)</description>
- <year>1982</year>
- <publisher>Mattel Electronics</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="burgertime (4am crack).dsk" size="143360" crc="2e6ad4e5" sha1="21506ea262aa0c940312b26bd1097e8c63e34e82" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="bzone">
- <description>Battlezone (cleanly cracked)</description>
- <year>1983</year>
- <publisher>Atarisoft</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="battlezone (4am crack).dsk" size="143360" crc="2678f9d7" sha1="7909815721d8a885e1052e6e4023059101ff27b8" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="calgames">
- <description>California Games (cleanly cracked)</description>
- <year>1987</year>
- <publisher>Epyx</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="143360">
- <rom name="california games (4am crack) side a.dsk" size="143360" crc="284f014d" sha1="97a5a792a936e13131ae37c3bdd32369d1eea8c0" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="143360">
- <rom name="california games (4am crack) side b.dsk" size="143360" crc="45e24a4e" sha1="4a649cf48658f1150477bc712070acf40994d21e" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="calskils">
- <description>Calendar Skills (version 08.31.86) (cleanly cracked)</description>
- <year>1986</year>
- <publisher>Hartley Courseware, Inc.</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="calendar skills (4am crack).dsk" size="143360" crc="0a607950" sha1="15b8a8a76d0e00003a8ba222add1d80fc0f06d23" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="casegtr">
- <description>Case of the Great Train Robbery (cleanly cracked)</description>
- <year>1986</year>
- <publisher>Troll Associates</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="case of the great train robbery (4am crack).dsk" size="143360" crc="794cb785" sha1="ddfc5c5c859132efd6fd6436cec44d30e26165b5" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="casemisc">
- <description>Case of the Missing Chick (cleanly cracked)</description>
- <year>1986</year>
- <publisher>Troll Associates</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="case of the missing chick (4am crack).dsk" size="143360" crc="c6bfecda" sha1="f434cf814040b36130e54456bcafcdb9b5559c89" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="catmouse">
- <description>Cat 'n Mouse (cleanly cracked)</description>
- <year>1986</year>
- <publisher>Mindplay</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="cat 'n mouse (4am crack).dsk" size="143360" crc="576d3a3a" sha1="d12893ecd81d30616e9ab7f9d953c1792ab6c25b" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="centiped">
- <description>Centipede (cleanly cracked)</description>
- <year>1983</year>
- <publisher>Atarisoft</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="centipede (atari) (4am crack).dsk" size="143360" crc="6ed28f00" sha1="51e06dd3727148b5a2f809f2a46bd9e0281b3869" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="cgotrspc">
- <description>Curious George in Outer Space (cleanly cracked)</description>
- <year>1989</year>
- <publisher>Developmental Learning Materials</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="143360">
- <rom name="curious george in outer space (4am crack) side a.dsk" size="143360" crc="4b80d3bf" sha1="1f81407c343b9683fc9d0c6e4c5400b0ef17bc52" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="143360">
- <rom name="curious george in outer space (4am crack) side b.dsk" size="143360" crc="4da9d944" sha1="5f222458fc9b9fbc73946dea4d0ae80a14ffafc9" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="cgshopng">
- <description>Curious George Goes Shopping (cleanly cracked)</description>
- <year>1989</year>
- <publisher>Developmental Learning Materials</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="143360">
- <rom name="curious george goes shopping (4am crack) side a.dsk" size="143360" crc="5ad866e9" sha1="b4e384105be03c792d30ed32e72459781ce99676" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="143360">
- <rom name="curious george goes shopping (4am crack) side b.dsk" size="143360" crc="972d8958" sha1="70a81aa46b819ac438988ed696c78f70f7c1c010" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="chalmath">
- <description>Challenge Math (cleanly cracked)</description>
- <year>1982</year>
- <publisher>Sunburst</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="challenge math (4am crack).dsk" size="143360" crc="13ca32af" sha1="77fd54dfe5bc0b3775c43d38540a3f3366d25c24" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="chbr123">
- <description>Charlie Brown's 1-2-3s (cleanly cracked)</description>
- <year>1985</year>
- <publisher>Random House</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="143360">
- <rom name="charlie brown's 1-2-3s (4am crack) side a.dsk" size="143360" crc="22ff5067" sha1="5b09390b3c438284f9ea534ee755fe57899dabc4" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="143360">
- <rom name="charlie brown's 1-2-3s (4am crack) side b.dsk" size="143360" crc="7ea28429" sha1="5d5f985d2fc3d899f1a6b6cf16448c387a677c41" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="chbrabc">
- <description>Charlie Brown's ABCs (cleanly cracked)</description>
- <year>1984</year>
- <publisher>Random House</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="143360">
- <rom name="charlie brown's abc's (4am crack) side a.dsk" size="143360" crc="d727b6f6" sha1="1af44fa21e611564ab3929aec753cc4e160d8b80" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="143360">
- <rom name="charlie brown's abc's (4am crack) side b.dsk" size="143360" crc="5bb8d11e" sha1="d394b12ad488c50e69c07367c7bd55b07d3aed6d" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="chldrnr">
- <description>Championship Lode Runner (cleanly cracked)</description>
- <year>1984</year>
- <publisher>Broderbund</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="championship lode runner (4am crack).dsk" size="143360" crc="c950c3b1" sha1="67035e6a4960ce764d216ab265b0f887ec053f67" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="chwrest">
- <description>Championship Wrestling (cleanly cracked)</description>
- <year>1986</year>
- <publisher>Epyx</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="143360">
- <rom name="championship wrestling (4am crack) side a.dsk" size="143360" crc="9b562e29" sha1="8b7ff536b52238ea0ee048d0ef98c72c159b1a54" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="143360">
- <rom name="championship wrestling (4am crack) side b.dsk" size="143360" crc="5e513adf" sha1="76946879b72976b6477a0ffa68c8a9a677c3550b" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="clabcalc">
- <description>Computer Laboratory for Calculus (cleanly cracked)</description>
- <year>1985</year>
- <publisher>The Math Lab</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="computer laboratory for calculus (4am crack).dsk" size="143360" crc="b970b484" sha1="6b5cf3b8251c9af7bd9349c9ad04edb201973af2" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="clasanbk">
- <description>Classifying Animals with Backbones (cleanly cracked)</description>
- <year>1985</year>
- <publisher>D.C. Heath and Company</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="classifying animals with backbones (4am crack).dsk" size="143360" crc="72fed860" sha1="b91cfbdb55796dcaf0508e1d25594a0a96a81a68" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="clasmate">
- <description>ClassMate (cleanly cracked)</description>
- <year>1987</year>
- <publisher>Davidson and Associates</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="classmate (4am crack).dsk" size="143360" crc="c52d247a" sha1="73b904b598e2a8282e3ab2eead0858c1fe5a86a5" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="cltrcy">
- <description>Computer Literacy: Introduction (cleanly cracked)</description>
- <year>1982</year>
- <publisher>Control Data Corporation</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="computer literacy (4am crack).dsk" size="143360" crc="e3749f2d" sha1="c3ec1163d6ffdc7aded1d51e3cf6ddffb77ece3f" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="colorme">
- <description>Color Me (cleanly cracked)</description>
- <year>1985</year>
- <publisher>Mindscape</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="colorme (4am crack).dsk" size="143360" crc="668c0c95" sha1="b5056d99267615a564a2d49c76b09c1a6e10a0d8" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Picture Disk - Hugga Bunch - Side A"/>
- <dataarea name="flop" size="143360">
- <rom name="colorme (4am crack) picture disk - hugga bunch - side a.dsk" size="143360" crc="6afeb028" sha1="206788a5ad07b1d7e7d5dabe936d4bb1c1608a2b" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_5_25">
- <feature name="part_id" value="Picture Disk - Hugga Bunch - Side B"/>
- <dataarea name="flop" size="143360">
- <rom name="colorme (4am crack) picture disk - hugga bunch - side b.dsk" size="143360" crc="227c37ce" sha1="18e1f544389770a6a74d97c585e2a7e6a8a5674c" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_5_25">
- <feature name="part_id" value="Picture Disk - Tink Tonk - Side A"/>
- <dataarea name="flop" size="143360">
- <rom name="colorme (4am crack) picture disk - tink tonk - side a.dsk" size="143360" crc="8444dd7f" sha1="14cb015848ec215f928484db6bc5d9abb4693c56" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop5" interface="floppy_5_25">
- <feature name="part_id" value="Picture Disk - Tink Tonk - Side B"/>
- <dataarea name="flop" size="143360">
- <rom name="colorme (4am crack) picture disk - tink tonk - side b.dsk" size="143360" crc="6afeb028" sha1="206788a5ad07b1d7e7d5dabe936d4bb1c1608a2b" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="commando">
- <description>Commando (cleanly cracked)</description>
- <year>1987</year>
- <publisher>Data East</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="commando (4am crack).dsk" size="143360" crc="90130f08" sha1="7ac2c4c7ff04093562d6d502fe08b67e735dcd17" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="compread">
- <description>Compu-Read 3.4 (cleanly cracked)</description>
- <year>1982</year>
- <publisher>Edu-Ware Services Inc.</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="compu-read 3.4 (4am crack).dsk" size="143360" crc="c5764cf4" sha1="072b403d8294a75d94e7c0be07219695a88d9a0f" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="conan">
- <description>Conan (cleanly cracked)</description>
- <year>1984</year>
- <publisher>DataSoft</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="143360">
- <rom name="conan (4am crack) side a.dsk" size="143360" crc="59ab412d" sha1="7b867eb234ebf0026a810609ab676a80eb6b1792" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="143360">
- <rom name="conan (4am crack) side b.dsk" size="143360" crc="8b11dd5a" sha1="62cb3e0c28deab25e35484f9aefa47e07b5f9dec" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="cotntale">
- <description>Cotton Tales (cleanly cracked)</description>
- <year>1987</year>
- <publisher>Mindplay</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="cotton tales (4am crack).dsk" size="143360" crc="aa458c5c" sha1="7061eaaf95e5cb0d80916ad9c1393769ed5b2dc3" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="crcreate">
- <description>Creature Creator (cleanly cracked)</description>
- <year>1983</year>
- <publisher>DesignWare</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="creature creator (4am crack).dsk" size="143360" crc="12ab87ad" sha1="8378ffc773b19efa639ca9886a990c64f28bb4d4" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="creation">
- <description>Creation (cleanly cracked)</description>
- <year>1988</year>
- <publisher>Pelican Software</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="143360">
- <rom name="creation (4am crack) side a.dsk" size="143360" crc="24686294" sha1="f103a1bb993cfe484baccc0b2fd51d569c5429b8" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="143360">
- <rom name="creation (4am crack) side b.dsk" size="143360" crc="52b81661" sha1="435881b4f3f75fc7317fbccf10690c653c9cade1" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="crumbetr">
- <description>Crumb Eater (cleanly cracked)</description>
- <year>1983</year>
- <publisher>Davka Corporation</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="crumb eater (4am crack).dsk" size="143360" crc="b683712e" sha1="65e97d93f272d31ac80fe24a5b704ed5f296ef60" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="cryptcbe">
- <description>Crypto Cube (cleanly cracked)</description>
- <year>1983</year>
- <publisher>DesignWare</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="crypto cube (4am crack).dsk" size="143360" crc="474160be" sha1="963b4f04b4b102201d09d29a4db943401787912d" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="cseefft">
- <description>Cause and Effect: What Makes It Happen? (cleanly cracked)</description>
- <year>1988</year>
- <publisher>Troll Associates</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="cause and effect - what makes it happen (4am crack).dsk" size="143360" crc="a666635c" sha1="7e494a1cf04ddefce3e705526fb8998206e4b399" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="deathswd">
- <description>Death Sword (cleanly cracked)</description>
- <year>1988</year>
- <publisher>Epyx</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="deathsword (4am crack).dsk" size="143360" crc="a728ed2b" sha1="6b8eb1a4658a38cb95f10f627d34e7d03c843550" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="decdisc">
- <description>Decimal Discovery (cleanly cracked)</description>
- <year>1986</year>
- <publisher>Developmental Learning Materials</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="decimal discovery (4am crack).dsk" size="143360" crc="a9dd258b" sha1="4c39599a738c4f2ec039003e044a87320ca8acd9" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="decimals">
- <description>Decimals (ver 3.0) (cleanly cracked)</description>
- <year>1982</year>
- <publisher>Edu-Ware</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="decimals (4am crack).dsk" size="143360" crc="471d383d" sha1="c13e4a82f0a1888fdf393b0ca8e41275b32267e6" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="defender">
- <description>Defender (cleanly cracked)</description>
- <year>1983</year>
- <publisher>Atarisoft</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="defender (atari) (4am crack).dsk" size="143360" crc="eb9aec1b" sha1="0c5298ab6459bb966c7147157206c660fd8b6a7e" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="deltadrw">
- <description>Delta Drawing (cleanly cracked)</description>
- <year>1982</year>
- <publisher>Spinnaker</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="delta drawing (4am crack).dsk" size="143360" crc="4af3c468" sha1="0f9b32bcade9aaac27c6a2f797e4b6e3b7f8f4c2" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="digduga">
- <description>Dig Dug (Atarisoft) (cleanly cracked)</description>
- <year>1983</year>
- <publisher>Atarisoft</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="dig dug (4am crack).dsk" size="143360" crc="99539f27" sha1="83bf4ae29434cc2da72f8aba34bdff8bdcdfbe92" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="digdug">
- <description>Dig Dug (Thunder Mountain) (cleanly cracked)</description>
- <year>1983</year>
- <publisher>Thunder Mountain</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="dig dug (thunder mountain) (4am crack).dsk" size="143360" crc="c3222178" sha1="959cfb565cff98eebea13de5c8ac6342d9ce04b8" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="dinodig">
- <description>Dino Dig (cleanly cracked)</description>
- <year>1992</year>
- <publisher>Troll Associates</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="dino dig (4am crack).dsk" size="143360" crc="1b1d690f" sha1="6c1b08d4d2ebdde96a2a18706e4bb80980a03222" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="dinoeggs">
- <description>Dino Eggs (cleanly cracked)</description>
- <year>1983</year>
- <publisher>Micro Fun</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="dino eggs (4am crack).dsk" size="143360" crc="f5778567" sha1="a85a4a7997ba99c4fe1abae3b1e9480830ebedf9" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="dinosars">
- <description>Dinosaurs (cleanly cracked)</description>
- <year>1984</year>
- <publisher>Advanced Ideas, Inc.</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="dinosaurs (4am crack).dsk" size="143360" crc="d74a3bfb" sha1="2d0bf2d2f23a055d82dcaf704f5af425c81b43dc" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="divebmbr">
- <description>Dive Bomber (cleanly cracked)</description>
- <year>1988</year>
- <publisher>Acme Animation, Inc.</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="dive bomber (4am crack).dsk" size="143360" crc="fc854511" sha1="a99c822380d41ddfde8d35b290d47aa241528b44" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="dkong">
- <description>Donkey Kong (cleanly cracked)</description>
- <year>1983</year>
- <publisher>Atarisoft</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="donkey kong (4am crack).dsk" size="143360" crc="a6e8f2ce" sha1="7e18fd14bcf2a6f380533c6c7552c10c793c768d" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="dunzhin">
- <description>Dunzhin (cleanly cracked)</description>
- <year>1982</year>
- <publisher>Screenplay</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="dunzhin (4am crack).dsk" size="143360" crc="115d3dfe" sha1="1be7cc13038c90d2aa1c07c99b9aca9a4ef975e5" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="dynoqst">
- <description>Dyno-Quest (cleanly cracked)</description>
- <year>1984</year>
- <publisher>Mindplay</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="dyno-quest (4am crack).dsk" size="143360" crc="f13fc9af" sha1="9e65208e8d1f4c8d4dc920073c17467e6207e4dd" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="dyohachd">
- <description>Design Your Own Home: Architectural Design (cleanly cracked)</description>
- <year>1984</year>
- <publisher>Avant-Garde Publishing Corp.</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Program disk (no mouse)"/>
- <dataarea name="flop" size="143360">
- <rom name="design your own home - architectural design (4am crack) disk 1 - program disk without mouse support.dsk" size="143360" crc="7a636e73" sha1="cc5db5f4babe23b6949e4649dcb4b064db26f8a2" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Program disk (mouse support)"/>
- <dataarea name="flop" size="143360">
- <rom name="design your own home - architectural design (4am crack) disk 2 - program disk with mouse support.dsk" size="143360" crc="a560a7fe" sha1="2cc71bcc086775800cd523e759956604be7f8be2" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_5_25">
- <feature name="part_id" value="Data Disk"/>
- <dataarea name="flop" size="143360">
- <rom name="design your own home - architectural design (4am crack) disk 3 - data disk.dsk" size="143360" crc="6181b68e" sha1="fad415f43ce90278ad8ed5e1e8118316e0542fc2" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="dyoharch">
- <description>Design Your Own Home: Architectural (cleanly cracked)</description>
- <year>1983</year>
- <publisher>Avant-Garde Publishing Corp.</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="design your own home - architectural.dsk" size="143360" crc="7a636e73" sha1="cc5db5f4babe23b6949e4649dcb4b064db26f8a2" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="dyoh">
- <description>Design Your Own Home: Interior Design (cleanly cracked)</description>
- <year>1986</year>
- <publisher>Avant-Garde Publishing Corp.</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Program disk (no mouse)"/>
- <dataarea name="flop" size="143360">
- <rom name="design your own home (4am crack) disk 1 - program disk without mouse support.dsk" size="143360" crc="74ca0ac3" sha1="80e4d88fb2e8042faeefc053b9af25e6a3aec87d" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Program disk (mouse support)"/>
- <dataarea name="flop" size="143360">
- <rom name="design your own home (4am crack) disk 2 - program disk with mouse support.dsk" size="143360" crc="f68d0486" sha1="7ee505ad27631520237691ce07a996ef0eae5976" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_5_25">
- <feature name="part_id" value="Data Disk"/>
- <dataarea name="flop" size="143360">
- <rom name="design your own home (4am crack) disk 3 - data disk.dsk" size="143360" crc="3b6b6514" sha1="c6ceba63f3707fe91d7aacd521961dd815171eb4" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="easyabc">
- <description>Easy as ABC (cleanly cracked)</description>
- <year>1984</year>
- <publisher>Springboard Software</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="easy as abc (4am crack).dsk" size="143360" crc="2372548a" sha1="f7f6536532978613e27974816417d17d3e9c7d82" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="easyrddm">
- <description>Easy Reader Demo (cleanly cracked)</description>
- <year>1983</year>
- <publisher>American Educational Computer, Inc.</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Disk 1"/>
- <dataarea name="flop" size="143360">
- <rom name="easy reader demo (4am crack) disk 1.dsk" size="143360" crc="bfecd940" sha1="f08cc5a4e7e6f59ed9c07ae6fa9597ee1db97c2b" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Disk 2"/>
- <dataarea name="flop" size="143360">
- <rom name="easy reader demo (4am crack) disk 2.dsk" size="143360" crc="a235a2db" sha1="ca8e12d10437d09bd8f3ffe90e3ffd56d3865233" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_5_25">
- <feature name="part_id" value="Disk 3"/>
- <dataarea name="flop" size="143360">
- <rom name="easy reader demo (4am crack) disk 3.dsk" size="143360" crc="81b665db" sha1="ccd6f29a9a12def13602bde6ddd40cc0d9015cc9" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_5_25">
- <feature name="part_id" value="Disk 4"/>
- <dataarea name="flop" size="143360">
- <rom name="easy reader demo (4am crack) disk 4.dsk" size="143360" crc="ee0f7dfe" sha1="b346068156741b5585aa1b5b1565f0745238bf52" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="easystr">
- <description>Easy Street (cleanly cracked)</description>
- <year>1988</year>
- <publisher>Mindplay</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="easy street (4am crack).dsk" size="143360" crc="1a675876" sha1="d6afddd7b1b481463339541d0b7c40c7029499d2" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="ecryfarm">
- <description>Electric Crayon Fun On The Farm (cleanly cracked)</description>
- <year>1986</year>
- <publisher>Polarware</publisher>
- <info name="usage" value="Works with Apple II Mouse Card in slot 4: -sl4 mouse" />
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="electric crayon fun on the farm (4am crack).dsk" size="143360" crc="d2befa5f" sha1="3d5643e49d138caa45da80893a167464c7e62a7c" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="educalc">
- <description>Edu-Calc (cleanly cracked)</description>
- <year>1985</year>
- <publisher>Grolier</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="143360">
- <rom name="educalc (4am crack) side a.dsk" size="143360" crc="60a6cbb6" sha1="dbc1c97e26cf0387eb454adb340b990637f20d48" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="143360">
- <rom name="educalc (4am crack) side b.dsk" size="143360" crc="b01b103a" sha1="62884243c3dc97a53d6e0608cac7323ba7287b1a" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="egyc">
- <description>Early Games for Young Children (cleanly cracked)</description>
- <year>1982</year>
- <publisher>Springboard</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="early games for young children (4am crack).dsk" size="143360" crc="16ede4a6" sha1="e634a2a6fae6b11efcd7f59fa296960d351ed8c0" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="euronat">
- <description>European Nations and Locations (cleanly cracked)</description>
- <year>1985</year>
- <publisher>DesignWare, Inc.</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="european nations and locations (4am crack).dsk" size="143360" crc="2a4216a5" sha1="6312da33b30862614ef7742042f8a59911a768d1" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="expsctmp">
- <description>Exploring Science: Temperature (cleanly cracked)</description>
- <year>1988</year>
- <publisher>Sunburst</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="exploring science - temperature (4am crack).dsk" size="143360" crc="616c17ea" sha1="dc3fd5d610265b88c840c5859f42b15a09720ed3" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="1stdegle">
- <description>First Degree Linear Equations (cleanly cracked)</description>
- <year>1984</year>
- <publisher>Mindscape</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="first degree linear equations (4am crack).dsk" size="143360" crc="bc9f6657" sha1="8ecb52e40aaa9b2888d7c3c10d6dc80ef265309b" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="facemkr">
- <description>Facemaker (cleanly cracked)</description>
- <year>1982</year>
- <publisher>Spinnaker</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="facemaker (4am crack).dsk" size="143360" crc="b59ab962" sha1="55d8e6906bcbc1ae5c98a5b9a9f4594d0c47ecd8" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="falcons">
- <description>Falcons (cleanly cracked)</description>
- <year>1981</year>
- <publisher>Piccadilly Software</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="falcons (4am crack).dsk" size="143360" crc="b2eb0e24" sha1="b94e95a0f657230684a81637ad3c9b2a3fdfbbfd" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="fantlrd">
- <description>Professor Davensteev's Fantasy Land (Red Level) (cleanly cracked)</description>
- <year>1983</year>
- <publisher>Learning Well / Methods &amp; Solutions</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="fantasy land red level (4am crack).dsk" size="143360" crc="fa39ed58" sha1="87b5d23efee2906b985ebe9a35b14c68d1390eb6" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="fctalgex">
- <description>Factoring Algebraic Expressions (cleanly cracked)</description>
- <year>1984</year>
- <publisher>Mindscape</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="factoring algebraic expressions (4am crack).dsk" size="143360" crc="3b6386ab" sha1="2b691e14b3b72a8b05e09045dc569847685e32d5" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="finfacts">
- <description>Financial Facts (cleanly cracked)</description>
- <year>1981</year>
- <publisher>Advanced Operating Systems</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="financial facts (4am crack).dsk" size="143360" crc="45961b8d" sha1="2960be67af37b5ceb3cc21ea40bc34a16ed8a633" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="flshsphc">
- <description>Flash Spell Helicopter (cleanly cracked)</description>
- <year>1983</year>
- <publisher>Microcomputer Workships Courseware</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="flash spell helicopter (4am crack).dsk" size="143360" crc="503ec206" sha1="89b39a4a31ddffcd4c2c0373906c2eef45e09f0a" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="flycolor">
- <description>Flying Colors (cleanly cracked)</description>
- <year>1983</year>
- <publisher>The Computer Colorworks</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="flying colors (4am crack).dsk" size="143360" crc="0d00a418" sha1="63eee6f10f160848b0a8ef10d2d24657f3023230" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="forcemtn">
- <description>Force and Motion (cleanly cracked)</description>
- <year>1990</year>
- <publisher>Queue, Inc.</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Disk 1"/>
- <dataarea name="flop" size="143360">
- <rom name="force and motion (4am crack) disk 1.dsk" size="143360" crc="a338ba73" sha1="4ddb1788cd67f4f85ebbac4995f9817a1334f6cf" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Disk 2"/>
- <dataarea name="flop" size="143360">
- <rom name="force and motion (4am crack) disk 2.dsk" size="143360" crc="4a1e54f2" sha1="8a1863172a8e782425b14c3f09995e9dfb444024" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="fornext">
- <description>FOR Your NEXT Adventure: FOR-NEXT Loops (cleanly cracked)</description>
- <year>1985</year>
- <publisher>Sunburst</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="for your next adventure (4am crack).dsk" size="143360" crc="f93a7783" sha1="6179cde57a15ee564be7da68b410d89a4dd26dc8" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="frctnoid">
- <description>Fraction-oids (cleanly cracked)</description>
- <year>1989</year>
- <publisher>Mindplay</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="fraction-oids (4am crack).dsk" size="143360" crc="52856df0" sha1="eddcc4deb9da6b81434dd28717a87d676246f035" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="frctns2">
- <description>Fractions II (cleanly cracked)</description>
- <year>1987</year>
- <publisher>Silver Burdett Company</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="fractions ii (4am crack).dsk" size="143360" crc="8c4a993a" sha1="c1e0224ba9af15d55bbb9e59a7a283da2095097d" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="frctntut">
- <description>Fraction Tutorial (cleanly cracked)</description>
- <year>19??</year>
- <publisher>Opportunities For Learning</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="143360">
- <rom name="fraction tutorial (4am crack) side a.dsk" size="143360" crc="e9e24530" sha1="2524d748c108220ac1c4907193d3444fbf457707" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="143360">
- <rom name="fraction tutorial (4am crack) side b.dsk" size="143360" crc="fc980274" sha1="58f3349216f3463c49bfa8738d0e7ebbde249fcf" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="fredpzad">
- <description>Freddy's Puzzling Adventures (cleanly cracked)</description>
- <year>1984</year>
- <publisher>Developmental Learning Materials</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="freddy's puzzling adventures (4am crack).dsk" size="143360" crc="396ad123" sha1="db3fc765f6b1e6b016efb6e9b1dab5341e63a1d7" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="frenchvb">
- <description>French Vocabulary Builder (cleanly cracked)</description>
- <year>1982</year>
- <publisher>Control Data Corporation</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="french vocabulary builder (4am crack).dsk" size="143360" crc="ca27b87b" sha1="dee879e8b6635779bd10aa8115fecf80584b50b3" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="frogdog">
- <description>Frogs, Dogs, Kittens, and Kids 1 (cleanly cracked)</description>
- <year>1988</year>
- <publisher>Hartley Courseware</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Disk 1"/>
- <dataarea name="flop" size="143360">
- <rom name="frogs, dogs, kittens, and kids 1 (4am crack) disk 1.dsk" size="143360" crc="ab28d4d3" sha1="4d2644e78bb8ef4d6df9ae808861c9c5e5e91a5e" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Disk 2"/>
- <dataarea name="flop" size="143360">
- <rom name="frogs, dogs, kittens, and kids 1 (4am crack) disk 2.dsk" size="143360" crc="6e24da32" sha1="4076f55cb2563df30b2c4f75a9bece77e54cffd6" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_5_25">
- <feature name="part_id" value="Disk 3"/>
- <dataarea name="flop" size="143360">
- <rom name="frogs, dogs, kittens, and kids 1 (4am crack) disk 3.dsk" size="143360" crc="c156dc96" sha1="9965dc051410c7c8b907550dd4b65bbdca07b331" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="frogger2">
- <description>Frogger II: Threedeep (cleanly cracked)</description>
- <year>1984</year>
- <publisher>Sega Enterprises Inc.</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="frogger ii three deep (4am crack).dsk" size="143360" crc="4e91d191" sha1="e7df29761097bb2e02ca3749d489991349249c9c" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="frogger">
- <description>Frogger (cleanly cracked)</description>
- <year>1981</year>
- <publisher>Sierra On-Line</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="frogger (4am crack).dsk" size="143360" crc="2f85b867" sha1="8e0c597e4f51657874dd72da47e7ec8686c17abc" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="frogjon">
- <description>Frog Jump Ordering Numbers (cleanly cracked)</description>
- <year>1985</year>
- <publisher>Scott, Foresman and Company</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="frog jump ordering numbers (4am crack).dsk" size="143360" crc="f9e80ecd" sha1="95a27ed3e59baec6161d75d05dbfbdc5e87e8c17" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="galaxat">
- <description>Galaxian (Atarisoft) (cleanly cracked)</description>
- <year>1983</year>
- <publisher>Atarisoft</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="galaxian (atari) (4am crack).dsk" size="143360" crc="b2087527" sha1="06da74bcbe71432bd541ba310a5bde1b72b84dda" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="galaxian">
- <description>Galaxian (Thunder Mountain) (cleanly cracked)</description>
- <year>1983</year>
- <publisher>Thunder Mountain</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="galaxian (thunder mountain) (4am crack).dsk" size="143360" crc="6b23c74a" sha1="3ff5a0d74d193b194ea5b0ddf761034736e18ac6" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="garfleyw">
- <description>Garfield Eat Your Words (cleanly cracked)</description>
- <year>1985</year>
- <publisher>Random House</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="143360">
- <rom name="garfield eat your words (4am crack) side a.dsk" size="143360" crc="7509dff7" sha1="56dd7fdee9a9d9092d25cd933c9f029687c85d13" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="143360">
- <rom name="garfield eat your words (4am crack) side b.dsk" size="143360" crc="655c5f4c" sha1="9e28deb94582d1789a3a46d793b53af591d977ee" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="genemach">
- <description>Gene Machine (version 2.0) (cleanly cracked)</description>
- <year>1983</year>
- <publisher>HRM Software</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="gene machine (4am crack).dsk" size="143360" crc="8048b6f4" sha1="42072666426c00e89b985f069fcd0c21ff51dbbd" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="gertrude">
- <description>Gertrude's Secrets (version 1.2) (cleanly cracked)</description>
- <year>1982</year>
- <publisher>The Learning Company</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="gertrude's secrets (4am crack).dsk" size="143360" crc="a8602d95" sha1="281f09574ca6be91f52182da51429487de6c770d" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="gramgrem">
- <description>Grammar Gremlins (cleanly cracked)</description>
- <year>1986</year>
- <publisher>Davidson &amp; Associates, Inc.</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="143360">
- <rom name="grammar gremlins (4am crack) side a.dsk" size="143360" crc="6c8489fa" sha1="38428a2f090900660fa4ff581e770004b71ad801" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="143360">
- <rom name="grammar gremlins (4am crack) side b.dsk" size="143360" crc="b07ee7b3" sha1="0c4171e8a85bd5627a8c3a25da4c29cc68c2038b" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="grammst2">
- <description>Grammar Mastery II (cleanly cracked)</description>
- <year>1987</year>
- <publisher>American Language Academy</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Disk A-1"/>
- <dataarea name="flop" size="143360">
- <rom name="grammar mastery ii (4am crack) disk a-1.dsk" size="143360" crc="3d53eb4f" sha1="e85c7999c214c488c9bdc2d74f024ccbbda8b1a4" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Disk A-2"/>
- <dataarea name="flop" size="143360">
- <rom name="grammar mastery ii (4am crack) disk a-2.dsk" size="143360" crc="62861308" sha1="efdf35fb331e1ea76bf3febb74b98f1aa9072a3d" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_5_25">
- <feature name="part_id" value="Disk A-4"/>
- <dataarea name="flop" size="143360">
- <rom name="grammar mastery ii (4am crack) disk a-4.dsk" size="143360" crc="0b7db6d7" sha1="64017e68302426b20e2d60c723370fb125bb597f" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_5_25">
- <feature name="part_id" value="Disk A-5"/>
- <dataarea name="flop" size="143360">
- <rom name="grammar mastery ii (4am crack) disk a-5.dsk" size="143360" crc="e3e18574" sha1="4c7f7138f3640955ae2f44f0b3c384b1baf5ef87" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop5" interface="floppy_5_25">
- <feature name="part_id" value="Disk A-6"/>
- <dataarea name="flop" size="143360">
- <rom name="grammar mastery ii (4am crack) disk a-6.dsk" size="143360" crc="35b2b8c5" sha1="34004d39f76ba327b290db7774848087811686a2" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop6" interface="floppy_5_25">
- <feature name="part_id" value="Disk B-1"/>
- <dataarea name="flop" size="143360">
- <rom name="grammar mastery ii (4am crack) disk b-1.dsk" size="143360" crc="8631e8c0" sha1="a0df701d842885ab5efa1f0263ed3adfd8ffab71" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop7" interface="floppy_5_25">
- <feature name="part_id" value="Disk B-2"/>
- <dataarea name="flop" size="143360">
- <rom name="grammar mastery ii (4am crack) disk b-2.dsk" size="143360" crc="8393c99d" sha1="c4e685db3617bbc813eed22ca2154a10af8c2c31" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop8" interface="floppy_5_25">
- <feature name="part_id" value="Disk B-3"/>
- <dataarea name="flop" size="143360">
- <rom name="grammar mastery ii (4am crack) disk b-3.dsk" size="143360" crc="60906690" sha1="bf46683255c2cabd11faf78d0fc7f1758053fb72" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop9" interface="floppy_5_25">
- <feature name="part_id" value="Disk B-4"/>
- <dataarea name="flop" size="143360">
- <rom name="grammar mastery ii (4am crack) disk b-4.dsk" size="143360" crc="119a3936" sha1="dfea07eaf3b869b7c9f3eb04aafcbfe6b688e7fd" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop10" interface="floppy_5_25">
- <feature name="part_id" value="Disk B-5"/>
- <dataarea name="flop" size="143360">
- <rom name="grammar mastery ii (4am crack) disk b-5.dsk" size="143360" crc="930a0f64" sha1="438af9967691d15a2ffc7e8698d2cc2bb8d74b52" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop11" interface="floppy_5_25">
- <feature name="part_id" value="Disk B-6"/>
- <dataarea name="flop" size="143360">
- <rom name="grammar mastery ii (4am crack) disk b-6.dsk" size="143360" crc="285997e9" sha1="bac4010cbf9a79730358941248eed02198f968e5" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop12" interface="floppy_5_25">
- <feature name="part_id" value="Disk C-1"/>
- <dataarea name="flop" size="143360">
- <rom name="grammar mastery ii (4am crack) disk c-1.dsk" size="143360" crc="1f1be2d0" sha1="42950035862d42b3f26ce35bc8c260e4c4785406" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop13" interface="floppy_5_25">
- <feature name="part_id" value="Disk C-2"/>
- <dataarea name="flop" size="143360">
- <rom name="grammar mastery ii (4am crack) disk c-2.dsk" size="143360" crc="907f27a0" sha1="b3835d8cc4224d8e32c18b79737b3f4a5a647d4d" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop14" interface="floppy_5_25">
- <feature name="part_id" value="Disk C-3"/>
- <dataarea name="flop" size="143360">
- <rom name="grammar mastery ii (4am crack) disk c-3.dsk" size="143360" crc="e86de7e2" sha1="1df2d1d7335415fde97fc2c2078c8fee05ce79cc" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop15" interface="floppy_5_25">
- <feature name="part_id" value="Disk C-4"/>
- <dataarea name="flop" size="143360">
- <rom name="grammar mastery ii (4am crack) disk c-4.dsk" size="143360" crc="e13a724f" sha1="57c2814e87fbcfcfc4b83f348b18b8bc52c5d60d" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop16" interface="floppy_5_25">
- <feature name="part_id" value="Disk C-5"/>
- <dataarea name="flop" size="143360">
- <rom name="grammar mastery ii (4am crack) disk c-5.dsk" size="143360" crc="84f65fd3" sha1="91831d0762420e4c7e5033bcbc763b2b43370840" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop17" interface="floppy_5_25">
- <feature name="part_id" value="Disk C-6"/>
- <dataarea name="flop" size="143360">
- <rom name="grammar mastery ii (4am crack) disk c-6.dsk" size="143360" crc="1cbb4327" sha1="ed9a040d0ee4d20056daf43a1d039b6998c1e5f7" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="greetcrd">
- <description>Greeting Card Maker (cleanly cracked)</description>
- <year>1986</year>
- <publisher>Activision</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="greeting card maker (4am crack).dsk" size="143360" crc="c4715cf3" sha1="1b1cee4a53434702de533e8b80367d0fcae0a4a0" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="gremlins">
- <description>Gremlins (cleanly cracked)</description>
- <year>1984</year>
- <publisher>Atarisoft</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="gremlins (4am crack).dsk" size="143360" crc="72059242" sha1="02f4609e5d795e2cfa1cf4ebb55f32f698169f1b" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="grphlnfc">
- <description>Graphing Linear Functions (cleanly cracked)</description>
- <year>1984</year>
- <publisher>Microcomputer Workshops Courseware</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="graphing linear functions (4am crack).dsk" size="143360" crc="c47060a2" sha1="9f634221a056f569829cf1f1e32423815864a000" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="gulfstrk">
- <description>Gulf Strike (cleanly cracked)</description>
- <year>1985</year>
- <publisher>The Avalon Hill Game Company</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="gulf strike (4am crack).dsk" size="143360" crc="c4858e29" sha1="f3278f07923a9083e13edf5dac384a70e187f600" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="gumball">
- <description>Gumball (cleanly cracked)</description>
- <!-- Corrected image 09/24/2016 -->
- <year>1983</year>
- <publisher>Broderbund</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="gumball (4am &amp; san inc crack).dsk" size="143360" crc="56e68a48" sha1="6d0e3652cce177637f332a6df34d7fb133cad2c7" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="heredog">
- <description>Heredity Dog (cleanly cracked)</description>
- <year>1983</year>
- <publisher>HRM Software</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="heredity dog (4am crack).dsk" size="143360" crc="1d82124a" sha1="3ab17b26f48e87422bd4d07e00c5a8a1e24650c9" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="heydidle">
- <description>Hey Diddle Diddle (cleanly cracked)</description>
- <year>1983</year>
- <publisher>Spinnaker</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="hey diddle diddle (4am crack).dsk" size="143360" crc="b81de700" sha1="eb31e30106af24c5a5154aff1e7261124e0f19ab" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="homehlpr">
- <description>Homework Helper: Writing (cleanly cracked)</description>
- <year>1985</year>
- <publisher>Spinnaker</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="143360">
- <rom name="homework helper writing (4am crack) side a.dsk" size="143360" crc="ba414e13" sha1="969b9b1e9274ff408ed1943386fb404558347d20" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="143360">
- <rom name="homework helper writing (4am crack) side b.dsk" size="143360" crc="cadc35d1" sha1="14333181c3377b99119afd8b0b78bc76dec9ef58" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_5_25">
- <feature name="part_id" value="Side C"/>
- <dataarea name="flop" size="143360">
- <rom name="homework helper writing (4am crack) side c.dsk" size="143360" crc="ed3408a7" sha1="bcd388c678ec6ed88ee17c44aee8e964e29c8320" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_5_25">
- <feature name="part_id" value="Side D"/>
- <dataarea name="flop" size="143360">
- <rom name="homework helper writing (4am crack) side d.dsk" size="143360" crc="480fe9b8" sha1="da63ce365fe39fec470494e0d8a7c2dfa5603e2e" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop5" interface="floppy_5_25">
- <feature name="part_id" value="Side E"/>
- <dataarea name="flop" size="143360">
- <rom name="homework helper writing (4am crack) side e.dsk" size="143360" crc="283dcd8b" sha1="42452afe600f86154347eeba2c9fc556519ee9ff" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop6" interface="floppy_5_25">
- <feature name="part_id" value="Side F"/>
- <dataarea name="flop" size="143360">
- <rom name="homework helper writing (4am crack) side f.dsk" size="143360" crc="769ebeee" sha1="82f0379fec113421d2bba8ac95e929a20918ffab" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="homewrtr">
- <description>Homework Writer (cleanly cracked)</description>
- <year>1988</year>
- <publisher>Scholastic, Inc.</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="143360">
- <rom name="homework writer (4am crack) side a.dsk" size="143360" crc="9f679792" sha1="b4a8db1ec71e52049f5f06f51cc4587b2022c4e3" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="143360">
- <rom name="homework writer (4am crack) side b.dsk" size="143360" crc="aeb2abe1" sha1="786f32a81eada81297f0c93c5525bdede2a7ffbe" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="housefir">
- <description>House-A-Fire! (cleanly cracked)</description>
- <year>1988</year>
- <publisher>Decision Development Co</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="143360">
- <rom name="house-a-fire (4am crack) side a.dsk" size="143360" crc="86f910e6" sha1="33c07bc9096be166c055e7ab792c2bd66f9f4114" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="143360">
- <rom name="house-a-fire (4am crack) side b.dsk" size="143360" crc="41bbc599" sha1="7f1b2789cda668de2f583bead3a8fc03aedcd157" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="howwest">
- <description>How The West Was One + Three x Four (cleanly cracked)</description>
- <year>1987</year>
- <publisher>Sunburst</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="how the west was one + three x four (4am crack).dsk" size="143360" crc="590f6a8b" sha1="2b7972b3700fb4f8aad2578647ec3bab81bc29a5" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="impmiss2">
- <description>Impossible Mission II (cleanly cracked)</description>
- <year>1988</year>
- <publisher>Epyx</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="143360">
- <rom name="impossible mission ii (4am crack) side a.dsk" size="143360" crc="a219d468" sha1="98a1aa883ad0a46ee30f043d431138ec4382d205" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="143360">
- <rom name="impossible mission ii (4am crack) side b.dsk" size="143360" crc="7968cf85" sha1="b4853d27a3b3aee986f4c4ea5b8f908a9423c782" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="invscmth">
- <description>Investigating Secondary Mathematics with Computers (cleanly cracked)</description>
- <year>1985</year>
- <publisher>University of Massachusetts</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="143360">
- <rom name="investigating secondary mathematics with computers (4am crack) side a.dsk" size="143360" crc="8cf2e9bc" sha1="d32d449515fa0ac526135d677ee75b3c19f281dc" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="143360">
- <rom name="investigating secondary mathematics with computers (4am crack) side b.dsk" size="143360" crc="217fd3bb" sha1="8bc60eb6bbe8b46921c4942bdcb6df44159b2471" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="jackbnst">
- <description>Jack and the Beanstalk (cleanly cracked)</description>
- <year>1985</year>
- <publisher>HRM Software</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="jack and the beanstalk (4am crack).dsk" size="143360" crc="cb5e3608" sha1="1149edac8268b2da7c903710300ca8dbcb17bf96" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="jmpmthfl">
- <description>Jumping Math Flash (cleanly cracked)</description>
- <year>1988</year>
- <publisher>Mindscape</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="jumping math flash (4am crack).dsk" size="143360" crc="0448adab" sha1="20f73a8ee2fa305d3d9403d3915c319fe60bdbdc" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="jumpman">
- <description>Jumpman (cleanly cracked)</description>
- <year>1983</year>
- <publisher>Epyx</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="143360">
- <rom name="jumpman (4am crack) side a.dsk" size="143360" crc="4f291aa3" sha1="1c43eac018c0a04e70177cf413d7b20b4eaa3a89" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="143360">
- <rom name="jumpman (4am crack) side b.dsk" size="143360" crc="90312d4c" sha1="0ba7c41afbb31c93e4dc602da12cf577876dbc2c" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="junghunt">
- <description>Jungle Hunt (cleanly cracked)</description>
- <year>1984</year>
- <publisher>Atarisoft</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="jungle hunt (4am crack).dsk" size="143360" crc="81b074fd" sha1="939e07e5aa2a0cd3792fa50f52c868657e35bb6b" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="kenuston">
- <description>Ken Uston's Professional Blackjack (v1.23) (cleanly cracked)</description>
- <year>1983</year>
- <publisher>Intelligent Statements, Inc.</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="ken uston's professional blackjack v1.23 (4am crack).dsk" size="143360" crc="954c5184" sha1="a153bf119331eed48b6cf60b3922b13aea7f5c0e" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="kidskeys">
- <description>Kids on Keys (cleanly cracked)</description>
- <year>1983</year>
- <publisher>Spinnaker</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="kids on keys (4am crack).dsk" size="143360" crc="41fc91fb" sha1="7615227a1d1b2dae5cb58ebaeaf32261237185e2" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="kindrcmp">
- <description>Kindercomp (cleanly cracked)</description>
- <year>1983</year>
- <publisher>Spinnaker</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="kindercomp (4am crack).dsk" size="143360" crc="32a9df32" sha1="99cb35aa9f452d8b7475b5ec3eefd0a3bb302e8f" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="kittenkf">
- <description>Kittens, Kids, and a Frog (version 01.11.85) (cleanly cracked)</description>
- <year>1985</year>
- <publisher>Hartley Courseware, Inc.</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Disk 1"/>
- <dataarea name="flop" size="143360">
- <rom name="kittens, kids, and a frog (4am crack) disk 1.dsk" size="143360" crc="8c27a9ce" sha1="487e3ffae06831e594c8f1d6212ef9e3c1421476" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Disk 2"/>
- <dataarea name="flop" size="143360">
- <rom name="kittens, kids, and a frog (4am crack) disk 2.dsk" size="143360" crc="6982459d" sha1="1c0fa745487f156229c494955508a1591d6d376b" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="kmwldhis">
- <description>Knowledge Master World History 1 (cleanly cracked)</description>
- <year>1987</year>
- <publisher>Academic Hallmarks</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="knowledge master world history 1 (4am crack).dsk" size="143360" crc="d49e8c80" sha1="c81f09462cba0462b87b52559682c7a0dcb4194d" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="krelllgo">
- <description>Krell's Logo (cleanly cracked)</description>
- <year>1981</year>
- <publisher>Krell</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="krell's logo (4am crack).dsk" size="143360" crc="fea02c90" sha1="87f37cc79fab1be0d10e627b665c1301d60e72b5" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="thaddsub">
- <description>A Treasure Hunt of Facts (clealy cracked) - addition and subtraction</description>
- <year>1984</year>
- <publisher>Josten Learning Systems</publisher>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Disk 1"/>
- <dataarea name="flop" size="143360">
- <rom name="a treasure hunt of facts (4am crack) disk 1 - addition and subtraction.dsk" size="143360" crc="1549243e" sha1="60a8e419d93f1e7fb36ac3d6479a9c565d5fba18" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Disk 2"/>
- <dataarea name="flop" size="143360">
- <rom name="a treasure hunt of facts (4am crack) disk 2 - multiplication and division.dsk" size="143360" crc="74a85cc3" sha1="45ad62fff8e7c4110ab0ec0dbacf147b734ee848" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="viewkill">
- <description>James Bond 007 in: A View to a Kill (cleanly cracked)</description>
- <year>1985</year>
- <publisher>Mindscape</publisher>
- <info name="release" value="2016-03-06"/>
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="james bond 007 in a view to a kill (4am crack).dsk" size="143360" crc="578c98cb" sha1="60fbf677d59b7a61d1f9d14deed1d0a50ccf9a92" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="wrnktime">
- <description>A Newbery Adventure - A Wrinkle in Time (cleanly cracked)</description>
- <year>1986</year>
- <publisher>Sunburst Communications</publisher>
- <info name="release" value="2016-03-06"/>
- <!-- No compatibility data known at this time. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="143360">
- <rom name="a newbery adventure - a wrinkle in time (4am crack).dsk" size="143360" crc="76275127" sha1="8134d7e6c74917c1ab16abe33005b55eb0d53e25" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
-</softwarelist>
diff --git a/hash/apple2_flop_orig.xml b/hash/apple2_flop_orig.xml
deleted file mode 100644
index 05e441a6d72..00000000000
--- a/hash/apple2_flop_orig.xml
+++ /dev/null
@@ -1,4047 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
-
-<softwarelist name="apple2_flop_orig" description="Apple II 5.25 original disks">
-
- <software name="agentusa">
- <description>Agent USA</description>
- <year>1984</year>
- <publisher>Scholastic</publisher>
- <info name="release" value="2018-11-15"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II model with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="80443">
- <rom name="agent usa.woz" size="80443" crc="c998fa8f" sha1="964336e9f3f6e778232ed6174864e12b337ffa67" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="airheart">
- <description>Airheart</description>
- <year>1986</year>
- <publisher>Broderbund Software</publisher>
- <info name="release" value="2018-10-12"/>
- <sharedfeat name="compatibility" value="A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 128K Apple //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="240141">
- <rom name="airheart.woz" size="240141" crc="2685473f" sha1="a20a23a55639154bc2f6bab4cf27895187413b6b" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="aplpanic">
- <description>Apple Panic</description>
- <year>1981</year>
- <publisher>Broderbund</publisher>
- <info name="release" value="2019-02-17"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="94985">
- <rom name="apple panic.woz" size="94985" crc="ff3e6db7" sha1="f6c7468a1e2f4cecbf69cfd2869d19af6d8825e1" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="alambush">
- <description>Alien Ambush</description>
- <year>1981</year>
- <publisher>Micro Distributors</publisher>
- <info name="release" value="2018-09-17"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233482">
- <rom name="alien ambush.woz" size="233482" crc="447173e3" sha1="fcef1a08c2d0d4a25c15fba65ba4713b55c33fc2" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="ankh">
- <description>Ankh</description>
- <year>1983</year>
- <publisher>Datamost</publisher>
- <info name="release" value="2018-08-28"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233471">
- <rom name="ankh.woz" size="233471" crc="f1957348" sha1="5f7aab7aa138de668e0f1bac97e58b1cb1128fc0" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="aplcdspd">
- <description>Apple Cider Spider</description>
- <year>1983</year>
- <publisher>Sierra On-Line</publisher>
- <info name="release" value="2018-09-01"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233532">
- <rom name="apple cider spider.woz" size="233532" crc="ce310438" sha1="e54afce309fb62eeca8cc0dea0efbf10777249dd" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="agalxian">
- <description>Apple Galaxian</description>
- <year>1980</year>
- <publisher>Broderbund Software</publisher>
- <info name="release" value="2018-10-10"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="106991">
- <rom name="apple galaxian.woz" size="106991" crc="298683ba" sha1="47a7e2459803a80d60744c295fa44ac69c815a9c" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="aquatron">
- <description>Aquatron</description>
- <year>1983</year>
- <publisher>Sierra On-Line</publisher>
- <info name="release" value="2018-07-29"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="246792">
- <rom name="aquatron.woz" size="246792" crc="050a69ff" sha1="9bb84494a65b673d3444edd044206f9a1a148a4a" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="archon">
- <description>Archon: The Light and The Dark</description>
- <year>1984</year>
- <publisher>Electronic Arts</publisher>
- <info name="release" value="2018-09-03"/>
- <sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It requires an 64K Apple ][+, //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="226901">
- <rom name="archon.woz" size="226901" crc="259acee7" sha1="96f118b0b49cba85fb79ee1d36c1bfe88f69d9fe" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="archon2">
- <description>Archon II: Adept</description>
- <year>1985</year>
- <publisher>Electronic Arts</publisher>
- <info name="release" value="2019-02-08"/>
- <sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 64K Apple ][+ or later. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233486">
- <rom name="archon ii - adept.woz" size="233486" crc="65a07c33" sha1="d8d959347c7862eef02fe8311a9a453cd9c526fe" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="ardyardv">
- <description>Ardy the Aardvark</description>
- <year>1983</year>
- <publisher>Datamost</publisher>
- <info name="release" value="2018-09-23"/>
- <sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 48K Apple ][+ or later. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233476">
- <rom name="ardy the aardvark.woz" size="233476" crc="5ba2f2a0" sha1="0358ac0d0788ca03c5fed151c44a86676aa554e3" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="autobahn">
- <description>Autobahn</description>
- <year>1981</year>
- <publisher>Sirius Software</publisher>
- <info name="release" value="2018-10-05"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="53760">
- <rom name="autobahn.woz" size="53760" crc="d2636d1e" sha1="f2c280a63bc4bf1d3eb010731d122e960daed3fa" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="axisassn">
- <description>Axis Assassin</description>
- <year>1982</year>
- <publisher>Electronic Arts</publisher>
- <info name="release" value="2018-08-10"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="226823">
- <rom name="axis assassin.woz" size="226823" crc="332a66bc" sha1="c940a0f83dcb27039cfa7bd08e7fa11163cadbed" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="aztec">
- <description>Aztec</description>
- <year>1982</year>
- <publisher>Datamost</publisher>
- <info name="release" value="2019-01-03"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233469">
- <rom name="aztec.woz" size="233469" crc="9a7e5a77" sha1="37ad95a2e87a0a63c76eb8a0da0a0114d9bd6559" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="baddudes">
- <description>Bad Dudes</description>
- <year>1988</year>
- <publisher>Data East USA</publisher>
- <info name="release" value="2019-01-03"/>
- <sharedfeat name="compatibility" value="A2E,A2EE,A2C,A2GS" />
- <!-- It uses double hi-res graphics and thus requires a
- 128K Apple //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="233460">
- <rom name="bad dudes side a.woz" size="233460" crc="e37063ea" sha1="870aeb56c9b7002c54500ce7f6da2bf291ef6b0e" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="233460">
- <rom name="bad dudes side b.woz" size="233460" crc="2febca6b" sha1="84392cbbf7ffeaa8280d7bf354f6b507acd6afca" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="ballblaz">
- <description>Ballblazer</description>
- <year>1985</year>
- <publisher>Epyx</publisher>
- <info name="release" value="2018-08-11"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="240138">
- <rom name="ballblazer.woz" size="240138" crc="ce1f6dbf" sha1="02b24b12a45cd437dd53be25f73c51da99e8be98" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="batman">
- <description>Batman: The Caped Crusader</description>
- <year>1985</year>
- <publisher>Data East USA</publisher>
- <info name="release" value="2018-08-11"/>
- <sharedfeat name="compatibility" value="A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 128K Apple //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="233469">
- <rom name="batman side a.woz" size="233469" crc="5b55225f" sha1="6ff40d0a5347af16b656d8aa490c99dbd0acc225" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="233469">
- <rom name="batman side b.woz" size="233469" crc="2b6a6d08" sha1="1d1603bf50527d15a2a4c76391de2fded2cd859f" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="bcqft">
- <description>BC's Quest for Tires</description>
- <year>1983</year>
- <publisher>Sierra On-Line</publisher>
- <info name="release" value="2018-08-11"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="253454">
- <rom name="bc's quest for tires.woz" size="253454" crc="ce25b417" sha1="2a85e860f86748b14a913c3cb7a94762fa1d5de4" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="bellhop">
- <description>Bellhop</description>
- <year>1982</year>
- <publisher>Hayden Book Company</publisher>
- <info name="release" value="2018-07-31"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="240180">
- <rom name="bellhop.woz" size="240180" crc="14f96de9" sha1="8b864bdfeb11f029295bd1b7e7337cc857510bc7" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="belwrt">
- <description>Below the Root</description>
- <year>1984</year>
- <publisher>Hayden Book Company</publisher>
- <info name="release" value="2018-07-31"/>
- <sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 48K Apple ][+ or later. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="233490">
- <rom name="below the root side a.woz" size="233490" crc="9129bb1c" sha1="a51a653e2886a00f636a7bc3a192745dcb06327b" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="233515">
- <rom name="below the root side b.woz" size="233515" crc="f3f181f8" sha1="2451c2c2f441c9b17ea82619e57e22e865c926d1" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="bilestod">
- <description>The Bilestoad</description>
- <year>1983</year>
- <publisher>Datamost</publisher>
- <info name="release" value="2018-09-24"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233458">
- <rom name="the bilestoad.woz" size="233458" crc="f87abe3c" sha1="68153b3444a2e0cc1090ee20dd3cd34edd1dc53a" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="brucelee">
- <description>Bruce Lee</description>
- <year>1984</year>
- <publisher>DataSoft</publisher>
- <info name="release" value="2019-02-16"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="208112">
- <rom name="bruce lee.woz" size="208112" crc="fbdc4cd0" sha1="7729ee00d0ec840f1506252202236440e7dc7b41" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="boa">
- <description>Boa</description>
- <year>1983</year>
- <publisher>Micro Magic</publisher>
- <info name="release" value="2019-01-27"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="266770">
- <rom name="boa.woz" size="266770" crc="41a6eee6" sha1="1e5fcace6ba2a01d231fcf8443f80a18adb7cbcb" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="bugbattl">
- <description>Bug Battle</description>
- <year>1982</year>
- <publisher>United Software of America</publisher>
- <info name="release" value="2018-09-05"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="67088">
- <rom name="bug battle.woz" size="67088" crc="667e02c5" sha1="b4c859da09fffbb2a1fc5fc35920d6695c0c73cb" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="canbalbz">
- <description>Cannonball Blitz</description>
- <year>1982</year>
- <publisher>On-Line Systems</publisher>
- <info name="release" value="2018-12-26"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233483">
- <rom name="cannonball blitz.woz" size="233483" crc="e2d1793b" sha1="fd216f318ee12ce05f4c47ba3f7555b8ebf83c2f" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="cvrncsto">
- <description>Caverns of Callisto</description>
- <year>1983</year>
- <publisher>Origin Systems</publisher>
- <info name="release" value="2018-10-23"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="220149">
- <rom name="caverns of callisto.woz" size="220149" crc="a2849124" sha1="6c91fb79711d99c7c5415f84de50b11282420d3c" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="ceilzero">
- <description>Ceiling Zero</description>
- <year>1981</year>
- <publisher>Turnkey Software</publisher>
- <info name="release" value="2018-09-18"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="120335">
- <rom name="ceiling zero.woz" size="120335" crc="b070fb17" sha1="9367e7c0345420bc836a1ff92149bca7d70ebf33" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="centiped">
- <description>Centipede</description>
- <year>1983</year>
- <publisher>Atarisoft</publisher>
- <info name="release" value="2019-01-14"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233448">
- <rom name="centipede.woz" size="233448" crc="df23de50" sha1="e38c229a930866842b5581b89ad15cc620333342" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="commando">
- <description>Commando</description>
- <year>1987</year>
- <publisher>Data East USA</publisher>
- <info name="release" value="2018-08-02"/>
- <sharedfeat name="compatibility" value="A2E,A2EE,A2C,A2GS" />
- <!-- It runs on an Apple //e with 128K, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233478">
- <rom name="commando.woz" size="233478" crc="b28e4e2b" sha1="4d41326be376d529d4172d75365bf8e8162a944e" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="conan">
- <description>Conan</description>
- <year>1984</year>
- <publisher>DataSoft</publisher>
- <info name="release" value="2019-02-15"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="251151">
- <rom name="conan side a.woz" size="251151" crc="507ac26c" sha1="2f29e393dd1009e1020766dd3efa6c83d9ccd6a5" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="238759">
- <rom name="conan side b.woz" size="238759" crc="488b2831" sha1="8e4676a1a537fa92a358b9f0b198d0ce7a700ab3" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="congobng">
- <description>Congo Bongo</description>
- <year>1987</year>
- <publisher>SEGA Enterprises</publisher>
- <info name="release" value="2018-08-02"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="220129">
- <rom name="congo bongo.woz" size="220129" crc="f18eb492" sha1="6c28985fa747e578e87f5cecfd521eef678f4c81" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="cnqwrlds">
- <description>Conquering Worlds</description>
- <year>1983</year>
- <publisher>Datamost</publisher>
- <info name="release" value="2019-01-06"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="220176">
- <rom name="conquering worlds.woz" size="220176" crc="df06a833" sha1="fc12c66f0d60f7253f5ebded9f89d92e89ccab59" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="cptsrbrs">
- <description>Copts and Robbers</description>
- <year>1981</year>
- <publisher>Sirius Software</publisher>
- <info name="release" value="2018-09-20"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="107016">
- <rom name="copts and robbers.woz" size="107016" crc="9b473847" sha1="f98ee46f570c66e15f9c34814b202b8bd40b3b6e" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="counfair">
- <description>County Fair</description>
- <year>1981</year>
- <publisher>Datamost</publisher>
- <info name="release" value="2018-12-31"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="126960">
- <rom name="county fair.woz" size="126960" crc="fb43f35a" sha1="9bc1ab7ea98e4b89497c5a1d8d3a719597deffe4" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="crmazey">
- <description>Crazy Mazey</description>
- <year>1982</year>
- <publisher>Datamost</publisher>
- <info name="release" value="2019-01-05"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233475">
- <rom name="crazy mazey.woz" size="233475" crc="c54f399b" sha1="0c0abd2a5c03bc5235d7d28cb3ef60d18d0d3240" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="crismntn">
- <description>Crisis Mountain</description>
- <year>1982</year>
- <publisher>Micro Fun</publisher>
- <info name="release" value="2018-09-06"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233483">
- <rom name="crisis mountain.woz" size="233483" crc="8ba3e03e" sha1="da43ab36ab26a7672df5132ca02fecbf0ae0f1c2" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="crosfire">
- <description>Crossfire</description>
- <year>1981</year>
- <publisher>On-Line Systems</publisher>
- <info name="release" value="2019-01-12"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233477">
- <rom name="crossfire.woz" size="233477" crc="410930b0" sha1="db4ad9256846ac08e432c2dbb36671fb4b55a143" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="cubit">
- <description>Cubit</description>
- <year>1983</year>
- <publisher>Micromax</publisher>
- <info name="release" value="2018-08-22"/>
- <sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 48K Apple ][+, //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233465">
- <rom name="cubit.woz" size="233465" crc="6f91e366" sha1="9fa85d622f6df78da4e6bf47287b32452382c051" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="cybrstrk">
- <description>Cyber Strike</description>
- <year>1980</year>
- <publisher>Sirius Software</publisher>
- <info name="release" value="2018-11-18"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II model with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="140265">
- <rom name="cyber strike.woz" size="140265" crc="33f9d8ab" sha1="70fd4c89436bb839b153498d19b1bc769d8852dd" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="dambstrs">
- <description>The Dam Busters</description>
- <year>1985</year>
- <publisher>Accolade</publisher>
- <info name="release" value="2018-12-29"/>
- <sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 64K Apple ][+, //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233497">
- <rom name="the dam busters.woz" size="233497" crc="d5fdd6ec" sha1="4e00f53dd93605a209691f4ceac9a72b92556db9" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="deathswd">
- <description>Death Sword</description>
- <year>1987</year>
- <publisher>Epyx</publisher>
- <info name="release" value="2018-11-30"/>
- <sharedfeat name="compatibility" value="A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 128K Apple //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233486">
- <rom name="death sword.woz" size="233486" crc="31c95650" sha1="b94418ae85f887f857dc683221e24ab8172eb191" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="stargate">
- <description>Defender II: Stargate</description>
- <year>1983</year>
- <publisher>Atarisoft</publisher>
- <info name="release" value="2019-01-13"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233447">
- <rom name="stargate.woz" size="233447" crc="379d894d" sha1="56d17415d622395bddbe7200adde32f4ad63b208" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="destroyr">
- <description>Destroyer</description>
- <year>1986</year>
- <publisher>Epyx</publisher>
- <info name="release" value="2018-12-07"/>
- <sharedfeat name="compatibility" value="A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 128K Apple //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233484">
- <rom name="destroyer.woz" size="233484" crc="bb402221" sha1="40cba620460fde69dda879230128237ee68c830f" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="dinoeggs">
- <description>Dino Eggs</description>
- <year>1983</year>
- <publisher>Micro Fun</publisher>
- <info name="release" value="2018-08-07"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233477">
- <rom name="dino eggs.woz" size="233477" crc="70d8d65d" sha1="84cbacaa8d639087b9b510839f0b2fe5bb40abd4" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="divebmbr">
- <description>Dive Bomber</description>
- <year>1988</year>
- <publisher>Epyx</publisher>
- <info name="release" value="2018-12-08"/>
- <sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 64K Apple ][+, //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233475">
- <rom name="dive bomber.woz" size="233475" crc="f56ccceb" sha1="481f1cadcae87a599f116ce402a2113c22a654cc" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="dkong">
- <description>Donkey Kong</description>
- <year>1983</year>
- <publisher>Atarisoft</publisher>
- <info name="release" value="2019-01-08"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233450">
- <rom name="donkey kong.woz" size="233450" crc="77ea741f" sha1="8a3195bd8aa21f4890fae30c417295b6bf5662ea" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="drol">
- <description>Drol</description>
- <year>1983</year>
- <publisher>Broderbund Software</publisher>
- <info name="release" value="2018-10-13"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233473">
- <rom name="drol.woz" size="233473" crc="6f8efd51" sha1="d6bc91908869701e952d037540fb79b87686415f" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="dungbeet">
- <description>Dung Beetles</description>
- <year>1982</year>
- <publisher>Datasoft</publisher>
- <info name="release" value="2018-10-14"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233450">
- <rom name="dung beetles.woz" size="233450" crc="be1f0710" sha1="7dd2fc29eb40976f3db5ca54a85d1e094937e3b9" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="teidolon">
- <description>The Eidolon</description>
- <year>1985</year>
- <publisher>Epyx</publisher>
- <info name="release" value="2018-12-05"/>
- <sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 64K Apple ][+, //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233469">
- <rom name="the eidolon.woz" size="233469" crc="d63f1ca5" sha1="c072f163c24455949964b175b6e05354cc9d0f72" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="epoch">
- <description>Epoch</description>
- <year>1981</year>
- <publisher>Sirius Software</publisher>
- <info name="release" value="2018-10-07"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="107009">
- <rom name="epoch.woz" size="107009" crc="41f6900e" sha1="69021434f212c461ce66a98d04be036b8dc60a07" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="factory">
- <description>The Factory</description>
- <year>1985</year>
- <publisher>Sunburst Communications</publisher>
- <info name="release" value="2019-01-28"/>
- <sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 48K Apple ][+ or later. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233543">
- <rom name="the factory.woz" size="233543" crc="f5d82f4e" sha1="d0ec1d511d5a0a217712a77a38c9feabad30ea34" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="falcons">
- <description>Falcons</description>
- <year>1981</year>
- <publisher>Piccadilly Software</publisher>
- <info name="release" value="2018-09-19"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="146916">
- <rom name="falcons.woz" size="146916" crc="cc93f644" sha1="7766debe7d678380aae96def6f14cedd6ff1683a" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="fnight">
- <description>Fight Night</description>
- <year>1985</year>
- <publisher>Accolade</publisher>
- <info name="release" value="2018-09-04"/>
- <sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 64K Apple ][+, //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233490">
- <rom name="fight night.woz" size="233490" crc="a3f76367" sha1="125d508202a60ff6515a7b80dddd4313b123421e" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="fs2v20">
- <description>Flight Simulator II (v2.0)</description>
- <year>1985</year>
- <publisher>Accolade</publisher>
- <info name="release" value="2018-09-04"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233510">
- <rom name="flight simulator ii v2.0.woz" size="233510" crc="e73d8996" sha1="88359b00974e857e14d0a104fae7b191d1f52662" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="flipout">
- <description>Flip Out</description>
- <year>1982</year>
- <publisher>Sirius Software</publisher>
- <info name="release" value="2018-10-08"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="240132">
- <rom name="flip out.woz" size="240132" crc="c8a6d56c" sha1="27e388adc7358390824163a33a31efb8c7449d7a" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="frce7woz">
- <description>Force 7</description>
- <year>1987</year>
- <publisher>Datasoft</publisher>
- <info name="release" value="2018-12-20"/>
- <sharedfeat name="compatibility" value="A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 128K Apple //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="193522">
- <rom name="force 7.woz" size="193522" crc="01d48369" sha1="c248796aa3ef777c00447a4e3049dbd074a16a18" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="f1racer">
- <description>Formula 1 Racer</description>
- <year>1983</year>
- <publisher>Gentry Software</publisher>
- <info name="release" value="2018-12-22"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="87054">
- <rom name="formula 1 racer.woz" size="87054" crc="c245af6f" sha1="05cdd1a23417dd772d59324e24052ed04bfc51db" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="freefall">
- <description>Free Fall</description>
- <year>1982</year>
- <publisher>Sirius Software</publisher>
- <info name="release" value="2018-11-16"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple ][ model with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233488">
- <rom name="free fall.woz" size="233488" crc="ec0b4ba1" sha1="9f8597e2659b7b94eca5c97c8f096fd2a3ac575a" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="frogger">
- <description>Frogger</description>
- <year>1981</year>
- <publisher>Sierra On-Line</publisher>
- <info name="release" value="2018-09-13"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- The first release refused to boot on anything but an original
- Apple II or II Plus (i.e. not //e or later).
- This updated version runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="260154">
- <rom name="frogger.woz" size="260154" crc="a6529172" sha1="583e0cccc428fec0ddfba2f781c1fa42804323f8" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="frogger2">
- <description>Frogger II: Threedeep</description>
- <year>1984</year>
- <publisher>SEGA Enterprises</publisher>
- <info name="release" value="2018-12-21"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233464">
- <rom name="frogger ii.woz" size="233464" crc="3cbf713e" sha1="cc4507249236e2674d3d7ecd1799460d0b7e7fbc" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="frntline">
- <description>Frontline</description>
- <year>1982</year>
- <publisher>subLOGIC</publisher>
- <info name="release" value="2019-01-30"/>
- <sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 48K Apple ][+ or later. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="33800">
- <rom name="frontline.woz" size="33800" crc="8a6d9f9a" sha1="7f201ef242b7bbc42de631693c5c5247fd2d56a5" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="gijoe">
- <description>G.I. Joe</description>
- <year>1985</year>
- <publisher>Epyx</publisher>
- <info name="release" value="2018-09-13"/>
- <sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 64K Apple ][+, //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="233527">
- <rom name="g. i. joe side a.woz" size="233527" crc="a7feb3c1" sha1="74ffc0d32ff1d294b91b7ffb24216b64a3eef6e8" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="233527">
- <rom name="g. i. joe side b.woz" size="233527" crc="7e547fa1" sha1="12f251af41708fa349c1d022c4007fac54dd610a" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="tgsumed">
- <description>The Games - Summer Edition</description>
- <year>1988</year>
- <publisher>Epyx</publisher>
- <info name="release" value="2018-12-05"/>
- <sharedfeat name="compatibility" value="A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 128K Apple //e, //c, or IIgs. -->
-
- <!-- Disk A -->
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Disk 1 Side A"/>
- <dataarea name="flop" size="233937">
- <rom name="the games - summer edition - disk 1, side a.woz" size="233937" crc="0dc7efa5" sha1="954e0259c9cd8f9318cc84a03038070fe5a1a8af" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Disk 1 Side B"/>
- <dataarea name="flop" size="233937">
- <rom name="the games - summer edition - disk 1, side b.woz" size="233937" crc="a972a6ae" sha1="b6db0be1652fb79717cd6103051f3af685edf658" offset="0x0000" />
- </dataarea>
- </part>
- <!-- Disk B -->
- <part name="flop3" interface="floppy_5_25">
- <feature name="part_id" value="Disk 2 Side A"/>
- <dataarea name="flop" size="233937">
- <rom name="the games - summer edition - disk 2, side a.woz" size="233937" crc="8d53f85e" sha1="52c04578fb5bb2c2a65ce9f9fcc344fa46192e6a" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_5_25">
- <feature name="part_id" value="Disk 2 Side B"/>
- <dataarea name="flop" size="233937">
- <rom name="the games - summer edition - disk 2, side b.woz" size="233937" crc="ccc6e8bd" sha1="6bf9d6d245f7de1991ded76e5b0f4cbf212d192d" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="gato">
- <description>GATO</description>
- <year>1985</year>
- <publisher>Spectrum Holobyte</publisher>
- <info name="release" value="2018-08-14"/>
- <sharedfeat name="compatibility" value="A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 128K Apple //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233524">
- <rom name="gato.woz" size="233524" crc="919ce758" sha1="6df688cbcfe4bd5d7c6cbc3a730ed4fb19b047b1" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="gendrift">
- <description>Genetic Drift</description>
- <year>1981</year>
- <publisher>Broderbund Software</publisher>
- <info name="release" value="2018-10-27"/>
- <sharedfeat name="compatibility" value="A2,A2P" />
- <!-- It requires a 48K Apple ][ or ][+.
- Due to compatibility issues caused by the copy protection,
- it will not run on any later models. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="120320">
- <rom name="genetic drift.woz" size="120320" crc="4b3c4403" sha1="c03c14268f780dc10200913958c566c0d0745e4d" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="gobbler">
- <description>Gobbler</description>
- <year>1981</year>
- <publisher>On-Line Systems</publisher>
- <info name="release" value="2018-12-25"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="253442">
- <rom name="gobbler.woz" size="253442" crc="f9a9a3ed" sha1="8cb6dfa9db96d1270ae0ace9a1dd9ac7438c7fbb" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="goonies">
- <description>The Goonies</description>
- <year>1985</year>
- <publisher>Datasoft</publisher>
- <info name="release" value="2018-08-04"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="226840">
- <rom name="the goonies.woz" size="226840" crc="a365005f" sha1="08fab759030728cfa95c4dc8fa017aa3c32f9e9f" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="gremlins">
- <description>Gremlins</description>
- <year>1984</year>
- <publisher>Atarisoft</publisher>
- <info name="release" value="2019-02-10"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="113621">
- <rom name="gremlins.woz" size="113621" crc="c873f47a" sha1="5e71bf3e881e31a47162ef9bfafa9a1759cb5c2f" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="gumball">
- <description>Gumball</description>
- <year>1983</year>
- <publisher>Broderbund Software</publisher>
- <info name="release" value="2018-10-11"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233497">
- <rom name="gumball.woz" size="233497" crc="f49249e5" sha1="a13b691bdba9ce006aabb46e799009d44a9591cc" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="heist">
- <description>The Heist</description>
- <year>1983</year>
- <publisher>Micro Fun</publisher>
- <info name="release" value="2018-12-28"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233483">
- <rom name="the heist.woz" size="233483" crc="c39a1905" sha1="a9895f8ab454bf3dfdf5ac979274681d3ea42056" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="hero">
- <description>HERO - Helicopter Emergency Rescue Operation</description>
- <year>1983</year>
- <publisher>Activision</publisher>
- <info name="release" value="2018-10-11"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233525">
- <rom name="h.e.r.o. - helicopter emergency rescue operation.woz" size="233525" crc="facd3a5b" sha1="ef705f7605cdb94ecab13ded673887592918e52c" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="hadron">
- <description>Hadron</description>
- <year>1981</year>
- <publisher>Sirius Software</publisher>
- <info name="release" value="2018-11-20"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="133638">
- <rom name="hadron.woz" size="133638" crc="9d678164" sha1="69f982b60a91ad66dab671d2ccf44b5d0c44cf72" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="hhmack">
- <description>Hard Hat Mack</description>
- <year>1983</year>
- <publisher>Electronic Arts</publisher>
- <info name="release" value="2018-07-25"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="226887">
- <rom name="hard hat mack.woz" size="226887" crc="82a26a65" sha1="7fe8fa5f6c0a303221f6f6c4fd542feaec2c84e3" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="hardball">
- <description>Hardball</description>
- <year>1985</year>
- <publisher>Accolade</publisher>
- <info name="release" value="2019-01-11"/>
- <sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 64K Apple ][+, //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="226850">
- <rom name="hardball.woz" size="226850" crc="7592a75d" sha1="555a5602e8f7205331499040b74c652ec680b5c1" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="headon">
- <description>Head On</description>
- <year>1980</year>
- <publisher>California Pacific Computers</publisher>
- <info name="release" value="2018-08-09"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 32K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="40463">
- <rom name="head on.woz" size="40463" crc="674e109f" sha1="7a2ec7e63e254591555be0408c5e98e481f7925e" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="highrise">
- <description>High Rise</description>
- <year>1983</year>
- <publisher>Micro Fun</publisher>
- <info name="release" value="2018-09-29"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="133632">
- <rom name="high rise.woz" size="133632" crc="20539152" sha1="5bfec6ed2ce708428dcf47baa693c1985d744a3d" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="ikari">
- <description>Ikari Warriors</description>
- <year>1983</year>
- <publisher>Data East USA</publisher>
- <info name="release" value="2018-09-29"/>
- <sharedfeat name="compatibility" value="A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 128K Apple //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="233486">
- <rom name="ikari warriors side a.woz" size="233486" crc="e8b44cd5" sha1="05836f6f7dca26005f7759a972d1979f965cdde0" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="233486">
- <rom name="ikari warriors side b.woz" size="233486" crc="ff41f744" sha1="0754b5c86d12f3f8d58d58f3c4e89ad1a0f37cf4" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="victroad">
- <description>Ikari Warriors 2: Victory Road</description>
- <year>1981</year>
- <publisher>Sirius Software</publisher>
- <info name="release" value="2018-10-03"/>
- <sharedfeat name="compatibility" value="A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 128K Apple //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="233484">
- <rom name="victory road side a.woz" size="233484" crc="36274d74" sha1="cf4e23edc79b6503dca49df24d3ad65c5f5de99b" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="233484">
- <rom name="victory road side b.woz" size="233484" crc="db97aafa" sha1="4aa7360b3e99822e9021503c08e2b224ea5396c4" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="impmiss2">
- <description>Impossible Mission II</description>
- <year>1988</year>
- <publisher>Epyx</publisher>
- <info name="release" value="2018-12-27"/>
- <sharedfeat name="compatibility" value="A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 128K Apple //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="233525">
- <rom name="impossible mission ii side a.woz" size="233525" crc="fb26d565" sha1="20303f1f17ce5975df6c5c32d98fb5afdfb18f36" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="233525">
- <rom name="impossible mission ii side b.woz" size="233525" crc="0797da53" sha1="f9512f2f6cc7cc54081433bb97a21fceb159942f" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="igprix">
- <description>International Gran Prix</description>
- <year>1982</year>
- <publisher>MUSE Software</publisher>
- <info name="release" value="2018-09-21"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="140311">
- <rom name="international gran prix.woz" size="140311" crc="e0ac088a" sha1="dedf2276a824b4dd454b915a20c1cf3d96518f24" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="jawbrekr">
- <description>Jawbreaker</description>
- <year>1981</year>
- <publisher>On-Line Systems</publisher>
- <info name="release" value="2018-09-25"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="240117">
- <rom name="jawbreaker.woz" size="240117" crc="79cd1db7" sha1="3050b0a351516d63254010ea3ae8137d37f7dbed" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="jawbrkr2">
- <description>Jawbreaker ][</description>
- <year>1982</year>
- <publisher>Sierra On-Line</publisher>
- <info name="release" value="2018-09-21"/>
- <sharedfeat name="compatibility" value="A2,A2P" />
- <!-- It requires a 48K Apple II or ][+.
- Due to compatibility issues caused by the copy protection, it will not run
- on any later models. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="459782">
- <rom name="jawbreaker ][.woz" size="459782" crc="564b9530" sha1="9e8ff4220a0203ace18fafe300b119558d6e3fdc" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="thejet">
- <description>The Jet</description>
- <year>1986</year>
- <publisher>subLOGIC</publisher>
- <info name="release" value="2018-10-24"/>
- <sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 64K Apple II+, //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="140293">
- <rom name="the jet.woz" size="140293" crc="b6b0b193" sha1="df4f4a46039053835cdd449ed91bb524a678d317" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="joust">
- <description>Joust</description>
- <year>1983</year>
- <publisher>Atarisoft</publisher>
- <info name="release" value="2018-10-28"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It run on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233444">
- <rom name="joust.woz" size="233444" crc="4111f092" sha1="04e1493c87efd5a1e13141b46164bde876e90fd0" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="1on1">
- <description>Julius Erving and Larry Bird Go One on One</description>
- <year>1983</year>
- <publisher>Electronic Arts</publisher>
- <info name="release" value="2018-08-24"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="226826">
- <rom name="one on one.woz" size="226826" crc="4b4be4d2" sha1="bf565dafb896dfc1ca7e1a4685656f1fe0241624" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="junghunt">
- <description>Jungle Hunt</description>
- <year>1984</year>
- <publisher>Atarisoft</publisher>
- <info name="release" value="2018-08-12"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It run on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233456">
- <rom name="jungle hunt.woz" size="233456" crc="4138c797" sha1="a920bb6b70a738c7d37fc292efa3c369211385c9" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="krtechm">
- <description>Karate Champ</description>
- <year>1985</year>
- <publisher>Data East</publisher>
- <info name="release" value="2018-08-31"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233486">
- <rom name="karate champ.woz" size="233486" crc="d579695d" sha1="9587fcf42e9aea5ec95c5ece7a28f3fae49d53b0" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="karateka">
- <description>Karateka</description>
- <year>1984</year>
- <publisher>Broderbund Software</publisher>
- <info name="release" value="2018-10-19"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K.
- Side B of the original floppy disk had another copy of the game,
- but all the graphics were upside down. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="233451">
- <rom name="karateka.woz" size="233451" crc="579992fd" sha1="426b10497d927ad8704f252b1f948aa259d1f608" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B (Reverse)"/>
- <dataarea name="flop" size="233451">
- <rom name="karateka side b.woz" size="233451" crc="6be5c7db" sha1="58c3cf8c66c48eac9d0602a3a5437b03577edbe9" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="kidniki">
- <description>Kid Niki</description>
- <year>1987</year>
- <publisher>Data East</publisher>
- <info name="release" value="2018-10-19"/>
- <sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 64K Apple ][+, //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="233499">
- <rom name="kid niki side a.woz" size="233499" crc="c2fcb172" sha1="2001d447a04a03c6c51b698091ef32e1fc149b83" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="233499">
- <rom name="kid niki side b.woz" size="233499" crc="8ca573fb" sha1="892f4e3daf765cc33fb7230f97cabed8f52763a5" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="kingfact">
- <description>The Kingdom of Facts</description>
- <year>1985</year>
- <publisher>Adventure International</publisher>
- <info name="release" value="2019-01-29"/>
- <sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 48K Apple ][+ or later. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="233516">
- <rom name="the kingdom of facts side a.woz" size="233516" crc="01d35bbc" sha1="adb3d728b4be63c0dc0c25cbc58b81f33e2d5c12" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="233516">
- <rom name="the kingdom of facts side b.woz" size="233516" crc="abfce1f6" sha1="bc2141748a97812b04fe29dbd768b81804bb8be0" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="kungfum">
- <description>Kung Fu Master</description>
- <year>1985</year>
- <publisher>Data East</publisher>
- <info name="release" value="2018-08-20"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233482">
- <rom name="kung fu master.woz" size="233482" crc="ac6f78b9" sha1="3d7b1973331a0e51ede04d101bb060ca40c2ab92" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="lacrkdwn">
- <description>L.A. Crackdown</description>
- <year>1988</year>
- <publisher>Epyx</publisher>
- <info name="release" value="2018-08-20"/>
- <sharedfeat name="compatibility" value="A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 128K Apple //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="233484">
- <rom name="l. a. crackdown side a.woz" size="233484" crc="2470ff12" sha1="9e095637f0e4f3bf6f18318f68c3a8946a333394" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="233484">
- <rom name="l. a. crackdown side b.woz" size="233484" crc="f90f1341" sha1="ab3bf18944f6482f574a054c916c84d2fbc4f49b" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="lnc">
- <description>Lock 'n Chase</description>
- <year>1982</year>
- <publisher>Mattel Electronics</publisher>
- <info name="release" value="2019-01-23"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233462">
- <rom name="lock 'n' chase.woz" size="233462" crc="c9355b25" sha1="7165eba681f16958138c659597e6737aa611cc86" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="loderunr">
- <description>Lode Runner</description>
- <year>1983</year>
- <publisher>Broderbund</publisher>
- <info name="release" value="2019-01-21"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="353289">
- <rom name="lode runner.woz" size="353289" crc="62728de0" sha1="8bbad930b34415be05e854e1cad20326d2dc9390" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="losttomb">
- <description>Lost Tomb</description>
- <year>1984</year>
- <publisher>Datasoft</publisher>
- <info name="release" value="2018-09-22"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="206813">
- <rom name="lost tomb.woz" size="206813" crc="3e169830" sha1="5d116f6c8accd7a0f04f4b50ab20781fcdf19285" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="marauder">
- <description>Marauder</description>
- <year>1982</year>
- <publisher>On-Line Systems</publisher>
- <info name="release" value="2018-10-21"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233470">
- <rom name="marauder.woz" size="233470" crc="59a89e2c" sha1="cd279b38ee6a072aa2974a66804e1f75ff34111d" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="marble">
- <description>Marble Madness</description>
- <year>1986</year>
- <publisher>Electronic Arts</publisher>
- <info name="release" value="2018-10-21"/>
- <sharedfeat name="compatibility" value="A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 128K Apple //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226821">
- <rom name="marble madness side a.woz" size="226821" crc="d4c96731" sha1="3e3fd0be2b4de291e0c137a3a2cfac0fdd56fdd0" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="233477">
- <rom name="marble madness side b.woz" size="233477" crc="29a0ea5d" sha1="b3c12458557e931b718f168013cffaec6f16a862" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="marscars">
- <description>Mars Cars</description>
- <year>1982</year>
- <publisher>Datamost</publisher>
- <info name="release" value="2019-01-01"/>
- <sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 48K Apple ][+, //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233471">
- <rom name="mars cars.woz" size="233471" crc="46d2bce9" sha1="277aa084470604e7643ff125f5a499228b356258" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="matezone">
- <description>Mating Zone</description>
- <year>1982</year>
- <publisher>Datamost</publisher>
- <info name="release" value="2018-08-13"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="140285">
- <rom name="mating zone.woz" size="140285" crc="b8de1b81" sha1="dfd93436426b002a0f63a780f03ac8a19b9f750f" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="megabots">
- <description>Megabots</description>
- <year>1986</year>
- <publisher>Neosoft</publisher>
- <info name="release" value="2018-09-08"/>
- <sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 48K Apple ][+, //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="220133">
- <rom name="megabots.woz" size="220133" crc="ba1beb84" sha1="3ef769a242fc82e36da98cbc524507e905485940" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="mightmg1">
- <description>Might and Magic</description>
- <year>1986</year>
- <publisher>New World Computing</publisher>
- <info name="release" value="2018-09-08"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Disk A"/>
- <dataarea name="flop" size="233539">
- <rom name="might and magic - disk a.woz" size="233539" crc="1d32a568" sha1="11c13cee62c44c80d77c0f04905dd6f7e34cb69d" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Disk B"/>
- <dataarea name="flop" size="233539">
- <rom name="might and magic - disk b.woz" size="233539" crc="25174e82" sha1="5da6b88c342dbe8f5716266433958728fea13f72" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_5_25">
- <feature name="part_id" value="Disk C"/>
- <dataarea name="flop" size="233539">
- <rom name="might and magic - disk c.woz" size="233539" crc="ad3dd0e3" sha1="ac89cf4281680194c8984621f00f8642610d6286" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_5_25">
- <feature name="part_id" value="Disk D"/>
- <dataarea name="flop" size="233539">
- <rom name="might and magic - disk d.woz" size="233539" crc="771cb886" sha1="c718cdde8298e38f7a25eb91fdf348b5e2131b51" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="amfvr77">
- <description>A Mind Forever Voyaging R77 / 850814</description>
- <year>1985</year>
- <publisher>Infocom</publisher>
- <sharedfeat name="compatibility" value="A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 128K Apple //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="234780">
- <rom name="a mind forever voyaging r77 side a.woz" size="234780" crc="7e43ff20" sha1="7f4449324384309b961244225ba9a89f3d3f811f" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="234624">
- <rom name="a mind forever voyaging r77 side b.woz" size="234624" crc="fe5964a9" sha1="a267a52c2f576d204ffee229119f794583a274d1" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="minr2049">
- <description>Miner 2049er</description>
- <year>1982</year>
- <publisher>Micro Fun</publisher>
- <info name="release" value="2018-08-19"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233469">
- <rom name="miner 2049er.woz" size="233469" crc="472481cb" sha1="56bf80d1cad8f54503134cf0a1acd207d8f0b01d" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="minitman">
- <description>Minit Man</description>
- <year>1983</year>
- <publisher>Penguin Software</publisher>
- <info name="release" value="2018-12-27"/>
- <sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 48K Apple ][+, //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233479">
- <rom name="minit man.woz" size="233479" crc="1a8738dc" sha1="f67c0c46423d3d1b7cab9cb4487749e4079e5a1b" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="mirv">
- <description>MIRV</description>
- <year>1982</year>
- <publisher>Level-10</publisher>
- <info name="release" value="2019-02-03"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233453">
- <rom name="mirv.woz" size="233453" crc="b53b3052" sha1="af0fdd27a73a85330fce0752b55da4a99244f49d" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="mnymunch">
- <description>Money Muncher</description>
- <year>1982</year>
- <publisher>Datamost</publisher>
- <info name="release" value="2019-01-02"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233478">
- <rom name="money munchers.woz" size="233478" crc="5f157c32" sha1="3dddc118174558495a7bc44591d769c747dc25ba" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="mnstsmsh">
- <description>Monster Smash</description>
- <year>1983</year>
- <publisher>Datamost</publisher>
- <info name="release" value="2019-01-04"/>
- <sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 48K Apple ][+, //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233476">
- <rom name="monster smash.woz" size="233476" crc="a2a01373" sha1="a0aeea2f9b66a1ff725fa5e49a3c5398a3be1273" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="monterev">
- <description>Montezuma's Revenge</description>
- <year>1984</year>
- <publisher>Parker Brothers</publisher>
- <info name="release" value="2019-01-04"/>
- <sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 48K Apple ][+, //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233489">
- <rom name="montezuma's revenge.woz" size="233489" crc="ec080432" sha1="c9c0a71e155f8f9df0d5019f2d4edbc4544bb526" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="mypscrab">
- <description>Monty Plays Scrabble 4.0</description>
- <year>1984</year>
- <publisher>Ritam Corporation</publisher>
- <info name="release" value="2019-02-11"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233478">
- <rom name="monty plays scrabble.woz" size="233478" crc="bc9f3b91" sha1="235ff32a0072411f954088b46fe6de6ea5e40531" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="mpatrol">
- <description>Moon Patrol</description>
- <year>1983</year>
- <publisher>Atarisoft</publisher>
- <info name="release" value="2018-08-26"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="346602">
- <rom name="moon patrol.woz" size="346602" crc="8b46d4fc" sha1="df0d7aee0cd9810cb254f4f28dad3b96792a26a3" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="movimons">
- <description>The Movie Monster Game</description>
- <year>1986</year>
- <publisher>Epyx</publisher>
- <info name="release" value="2018-10-24"/>
- <sharedfeat name="compatibility" value="A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 64K Apple //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="233451">
- <rom name="the movie monster game side a.woz" size="233451" crc="7318e456" sha1="0bf74c85da08fd5c4bebb587c38769eb8aefb953" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="233451">
- <rom name="the movie monster game side b.woz" size="233451" crc="338a8ad1" sha1="b1a996b703cf00c509e15639c53019ce812341c8" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="mrdo">
- <description>Mr. Do</description>
- <year>1985</year>
- <publisher>DataSoft</publisher>
- <info name="release" value="2019-02-14"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="202491">
- <rom name="mr. do.woz" size="202491" crc="2c7de9a0" sha1="4aedb92aece762105c2f27494e96d4be790432d8" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="mrrobot">
- <description>Mr. Robot and his Robot Factory</description>
- <year>1984</year>
- <publisher>Datamost</publisher>
- <info name="release" value="2018-07-30"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 64K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233512">
- <rom name="mr. robot and his robot factory.woz" size="233512" crc="a90e0a85" sha1="abe595d42a5df89441b418c4606786def433a84a" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="mspac">
- <description>Ms. Pac-Man</description>
- <year>1983</year>
- <publisher>Atarisoft</publisher>
- <info name="release" value="2018-07-30"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="53744">
- <rom name="ms. pac-man.woz" size="53744" crc="4abe0f76" sha1="29d49e4ab496d095691cef66936f2fe7b95b2d4e" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="nightmsn">
- <description>Night Mission Pinball</description>
- <year>1982</year>
- <publisher>subLOGIC</publisher>
- <info name="release" value="2018-09-12"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="146969">
- <rom name="night mission pinball.woz" size="146969" crc="e5ce27ec" sha1="5c5cc2f66195ae0c7ac1b0e561b5db7066f6b357" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="nstalker">
- <description>Night Stalker</description>
- <year>1982</year>
- <publisher>Mattel Electronics</publisher>
- <info name="release" value="2018-08-06"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233461">
- <rom name="night stalker.woz" size="233461" crc="f2dabc02" sha1="231094b414105700cfb288425db32d067cdf69b9" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="orbitron">
- <description>Orbitron</description>
- <year>1981</year>
- <publisher>Sirius Software</publisher>
- <info name="release" value="2018-10-29"/>
- <sharedfeat name="compatibility" value="A2,A2P" />
- <!-- It requires a 48K Apple ][ or ][+. Due to compatibility issues
- caused by the copy protection, it will not run on later models. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="106991">
- <rom name="orbitron.woz" size="106991" crc="f05cd1ed" sha1="88d09ad4e388e84ed9ed13c53be9d9fa3536d4bb" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="ormine">
- <description>O'Riley's Mine</description>
- <year>1981</year>
- <publisher>Datasoft</publisher>
- <info name="release" value="2018-10-29"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="87031">
- <rom name="o'riley's mine.woz" size="87031" crc="0e9f6bf0" sha1="2175c413e3c134ded2c2a9771bb09cfa61c71fc7" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="outpost">
- <description>Outpost</description>
- <year>1981</year>
- <publisher>Sirius Software</publisher>
- <info name="release" value="2018-09-16"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="73733">
- <rom name="outpost.woz" size="73733" crc="7785efb0" sha1="0d6753232c65b2f3accc292c0bd86cc334280987" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="paperboy">
- <description>Paperboy</description>
- <year>1988</year>
- <publisher>Mindscape</publisher>
- <info name="release" value="2018-07-26"/>
- <sharedfeat name="compatibility" value="A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 128K Apple //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233449">
- <rom name="paperboy.woz" size="233449" crc="cf0fedf6" sha1="aa3f286df6d929c44175270b389ef043930cf77f" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="pestpatr">
- <description>Pest Patrol</description>
- <year>1982</year>
- <publisher>Sierra On-Line</publisher>
- <info name="release" value="2018-10-25"/>
- <sharedfeat name="compatibility" value="A2,A2P" />
- <!-- It requires a 48K Apple ][ or ][+. Due to compatibility issues caused
- by the copy protection, it will not run on any later models. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="253404">
- <rom name="pest patrol.woz" size="253404" crc="75bf4512" sha1="18e92e52c25e1777daf774e2b7338443a25c07b3" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="phantom5">
- <description>Phantoms Five</description>
- <year>1980</year>
- <publisher>Sirius Software</publisher>
- <info name="release" value="2018-10-20"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="186874">
- <rom name="phantoms five.woz" size="186874" crc="98d7b97f" sha1="c7d2d80bd05298cd6d2722eb513138183f302b67" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="photar">
- <description>Photar</description>
- <year>1981</year>
- <publisher>Softape</publisher>
- <info name="release" value="2019-02-07"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233476">
- <rom name="photar.woz" size="233476" crc="4a7964e2" sha1="280dbce5d9ce0fd18d9697028131b1e52a105838" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="pparanoi">
- <description>Picnic Paranoia</description>
- <year>1982</year>
- <publisher>Synapse Software</publisher>
- <info name="release" value="2019-01-20"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="240120">
- <rom name="picnic paranoia.woz" size="240120" crc="7ae4e3a7" sha1="3a31084b745f5254c1fab72fbd9ba437ef0609e2" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="pitfall2">
- <description>Pitfall II: Lost Caverns</description>
- <year>1984</year>
- <publisher>Activision</publisher>
- <info name="release" value="2018-09-07"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233494">
- <rom name="pitfall ii.woz" size="233494" crc="f60b2074" sha1="0e09156821766ee6bb7648525e8e72c79d4b1717" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="pitstop2">
- <description>Pitstop II</description>
- <year>1984</year>
- <publisher>Epyx</publisher>
- <info name="release" value="2018-10-18"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233488">
- <rom name="pitstop ii.woz" size="233488" crc="618d562d" sha1="646555ea1e06e14cc784330654e4db3c0a53d193" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="plnflr10">
- <description>Planetfall (r10)</description>
- <year>1988</year>
- <publisher>Infocom</publisher>
- <info name="release" value="2019-01-19"/>
- <sharedfeat name="compatibility" value="A2E,A2EE,A2C,A2GS" />
- <!-- This is Release 10 / 880531 / Interpreter 2 Version H, the
- "Solid Gold" edition. It requires a 128K Apple //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="233542">
- <rom name="Planetfall r10 side A.woz" size="233542" crc="e2a761e7" sha1="a349b573c66569b4a16381acdaa9d1d61a3badbe" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="233542">
- <rom name="Planetfall r10 side B.woz" size="233542" crc="6a591dfe" sha1="68d6de1e3ed30d4a129382766a8dee612fc2edb2" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="plasmnia">
- <description>Plasmania</description>
- <year>1983</year>
- <publisher>Sirius Software</publisher>
- <info name="release" value="2018-10-02"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="226819">
- <rom name="plasmania.woz" size="226819" crc="9ee4ad64" sha1="5da3b6216521cc40e802ca43110bd7f1fe9af908" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="platoon">
- <description>Platoon</description>
- <year>1988</year>
- <publisher>Data East USA</publisher>
- <info name="release" value="2018-10-02"/>
- <sharedfeat name="compatibility" value="A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 128K Apple //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="240170">
- <rom name="platoon - disk 1, side a.woz" size="240170" crc="ed6e658b" sha1="9b0e4cf8e69d96f1ff7c20a77f0b77b6b3df61a6" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="240170">
- <rom name="platoon - disk 1, side b.woz" size="240170" crc="1e667010" sha1="f6c20194f757446f45e850f2e985c9d08e9686b8" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="pool15">
- <description>Pool 1.5</description>
- <year>1981</year>
- <publisher>Innovative Design Software, Inc.</publisher>
- <info name="release" value="2018-07-28"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="173574">
- <rom name="Pool v1.5.woz" size="173574" crc="6f6f67f7" sha1="2473b587ab4c30542d9c0304dc53f5438a62f37c" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="pooyan">
- <description>Pooyan</description>
- <year>1984</year>
- <publisher>Datasoft</publisher>
- <info name="release" value="2018-09-14"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="107006">
- <rom name="pooyan.woz" size="107006" crc="4a5506f2" sha1="1490572f80ab0196cb809689d911964ecaca5aaa" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="pop">
- <description>Prince of Persia</description>
- <year>1989</year>
- <publisher>Broderbund</publisher>
- <info name="release" value="2018-09-14"/>
- <sharedfeat name="compatibility" value="A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 128K Apple //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="233481">
- <rom name="prince of persia side a.woz" size="233481" crc="a3820127" sha1="bf7c7c03fcc93b989a8a7e566ec711888553a9de" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="233481">
- <rom name="prince of persia side b.woz" size="233481" crc="6de94d52" sha1="931e264563390d1e76cef9a7db31492643f45b49" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="qix">
- <description>Qix</description>
- <year>1989</year>
- <publisher>Taito America</publisher>
- <info name="release" value="2018-08-05"/>
- <sharedfeat name="compatibility" value="A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 128K Apple //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233475">
- <rom name="qix.woz" size="233475" crc="50acf331" sha1="9cbbe0b29761aa9e19a7e965932e9bf694f97825" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="radwarr">
- <description>Rad Warrior</description>
- <year>1987</year>
- <publisher>Epyx</publisher>
- <info name="release" value="2018-08-27"/>
- <sharedfeat name="compatibility" value="A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 128K Apple //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233497">
- <rom name="rad warrior.woz" size="233497" crc="d60e8944" sha1="6636e38a149e48d7a4ba20321cb0c92abdf0eb0d" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="rampage">
- <description>Rampage</description>
- <year>1988</year>
- <publisher>Activision</publisher>
- <info name="release" value="2018-08-02"/>
- <sharedfeat name="compatibility" value="A2E,A2EE,A2C,A2GS" />
- <!-- It runs on an Apple //e with 128K, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="240127">
- <rom name="rampage.woz" size="240127" crc="5a2455bc" sha1="67a12bf4adc5080e1bc10a691f4e1f0d1aca2fb4" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="reargard">
- <description>Rearguard</description>
- <year>1982</year>
- <publisher>Adventure International</publisher>
- <info name="release" value="2019-02-06"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233498">
- <rom name="rearguard.woz" size="233498" crc="59c443e3" sha1="b9088c2ecb8f7055514e93518cc87deb8b421853" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="rendrama">
- <description>Rendezvous with Rama</description>
- <year>1984</year>
- <publisher>Trillium</publisher>
- <info name="release" value="2019-02-01"/>
- <sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 64K Apple ][+ or later. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Disk 1 Side A"/>
- <dataarea name="flop" size="233443">
- <rom name="rendezvous with rama disk 1a.woz" size="233443" crc="5c18e428" sha1="b5d1f08f8e4e13f29f35aeba38c5fb092b721eb1" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Disk 1 Side B"/>
- <dataarea name="flop" size="233443">
- <rom name="rendezvous with rama disk 1b.woz" size="233443" crc="e2412709" sha1="20dac35157cd6d15e0b3686db101a78b1eb9235d" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_5_25">
- <feature name="part_id" value="Disk 2 Side A"/>
- <dataarea name="flop" size="233443">
- <rom name="rendezvous with rama disk 2a.woz" size="233443" crc="ed346dea" sha1="71d78f54cc738a140f9d593e8a90ef4225a1a613" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_5_25">
- <feature name="part_id" value="Disk 2 Side B"/>
- <dataarea name="flop" size="233443">
- <rom name="rendezvous with rama disk 2b.woz" size="233443" crc="75753923" sha1="c05a3b522851bac6e6fa66c0e40f0f4ca9132bb2" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="rstrblst">
- <description>Raster Blaster</description>
- <year>1981</year>
- <publisher>BudgeCo</publisher>
- <info name="release" value="2018-10-26"/>
- <sharedfeat name="compatibility" value="A2,A2P" />
- <!-- It requires a 48K Apple II or II+.
- Due to compatibility issues caused by the copy protection,
- it does not run on later models. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="93685">
- <rom name="raster blaster.woz" size="93685" crc="edcadeec" sha1="cf7eee7ffbe75cac804ed07237050e0e9ef08032" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="redalert">
- <description>Red Alert</description>
- <year>1981</year>
- <publisher>Broderbund</publisher>
- <info name="release" value="2018-11-19"/>
- <sharedfeat name="compatibility" value="A2,A2P" />
- <!-- It requires a 48K Apple ][ or ][+.
- Due to compatibility problems caused by the copy protection,
- it will not run on later models. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="153595">
- <rom name="red alert.woz" size="153595" crc="cbe193dd" sha1="9e5edaf01ad0ccccf837d5b4952af6ca0dd0a633" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="repton">
- <description>Repton</description>
- <year>1982</year>
- <publisher>Sirius Software</publisher>
- <info name="release" value="2018-10-06"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="240149">
- <rom name="repton.woz" size="240149" crc="0f2eb4c5" sha1="f8f606c751eb1f86cb60cb1e6b538acd30a66ab9" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="rescraid">
- <description>Rescue Raiders</description>
- <year>1984</year>
- <publisher>Sir-Tech</publisher>
- <info name="release" value="2018-08-16"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 64K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233518">
- <rom name="rescue raiders.woz" size="233518" crc="f2f5bf46" sha1="4ab4e39d593e35c2b1eebc2b5bd1c51b024ef1fb" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="robocop">
- <description>RoboCop</description>
- <year>1988</year>
- <publisher>Data East USA</publisher>
- <info name="release" value="2018-08-16"/>
- <sharedfeat name="compatibility" value="A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 128K Apple //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="233512">
- <rom name="robocop side a.woz" size="233512" crc="326415af" sha1="f89422e2570e2d9acf68f0caef30bf896fc57787" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="233512">
- <rom name="robocop side b.woz" size="233512" crc="627ea856" sha1="2076248fbf26883400c3843791f9aeee0489178c" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="roadblock">
- <description>Roadblock</description>
- <year>1982</year>
- <publisher>subLOGIC</publisher>
- <info name="release" value="2019-01-26"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="166945">
- <rom name="roadblock.woz" size="166945" crc="e937ea74" sha1="0429b558b88f1df3d045328ce2c6f057056c8d3f" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="robotron">
- <description>Robotron 2084</description>
- <year>1983</year>
- <publisher>Atarisoft</publisher>
- <info name="release" value="2019-01-15"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233452">
- <rom name="robotron 2084.woz" size="233452" crc="f8931d6d" sha1="313e516da05c345e097a34418726604eb6145dd7" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="rabout">
- <description>Roundabout</description>
- <year>1983</year>
- <publisher>Datamost</publisher>
- <info name="release" value="2018-12-30"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233457">
- <rom name="roundabout.woz" size="233457" crc="884efc20" sha1="bbca5ba455f95ac85bcaf4887f9af978f2f20ef0" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="russduck">
- <description>Russki Duck</description>
- <year>1982</year>
- <publisher>Gebelli Software</publisher>
- <info name="release" value="2019-01-24"/>
- <sharedfeat name="compatibility" value="A2,A2P" />
- <!-- It requires a 48K Apple ][ or ][+.
- Due to compatibility issues caused by the copy protection,
- it will not run on any later models. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="366642">
- <rom name="russki duck.woz" size="366642" crc="966e3da1" sha1="4ab54d8b475d12bc54fa8c58fca4af1c68f059b5" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="sabotage">
- <description>Sabotage</description>
- <year>1981</year>
- <publisher>On-Line Systems</publisher>
- <info name="release" value="2018-08-08"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="240141">
- <rom name="sabotage.woz" size="240141" crc="091eb06f" sha1="72b24f54916e16ae73c495a5a382517bfffe1f6a" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="sammyltf">
- <description>Sammy Lightfoot</description>
- <year>1983</year>
- <publisher>Sierra On-Line</publisher>
- <info name="release" value="2018-11-07"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="240148">
- <rom name="sammy lightfoot.woz" size="240148" crc="c551624a" sha1="e511b9fa31ed9deb0d18fea7001caac96b0e0832" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="sargon3">
- <description>Sargon III</description>
- <year>1983</year>
- <publisher>Hayden Book Company</publisher>
- <info name="release" value="2018-08-17"/>
- <sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any 48K Apple ][+, //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233540">
- <rom name="sargon iii.woz" size="233540" crc="4221ff2a" sha1="1148babdcf183c9bfe40d89cdb5befc5ed53cd6f" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="seadragn">
- <description>Sea Dragon</description>
- <year>1982</year>
- <publisher>Adventure International</publisher>
- <info name="release" value="2018-08-01"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233487">
- <rom name="sea dragon.woz" size="233487" crc="a6cd0fc9" sha1="ab137feff2e486d2232b32582fc28929ba628d1a" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="seafox">
- <description>Sea Fox</description>
- <year>1982</year>
- <publisher>Broderbund Software</publisher>
- <info name="release" value="2019-02-05"/>
- <sharedfeat name="compatibility" value="A2,A2P" />
- <!-- It requires a 48K Apple ][ or ][+.
- Due to compatibility issues caused by the copy protection,
- it will not run on any later models -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="339967">
- <rom name="seafox.woz" size="339967" crc="c8a2ff0b" sha1="df27bc2a43c82e2077f83298a0db80ce052ec23a" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="shdwkeep">
- <description>Shadowkeep</description>
- <year>1983</year>
- <publisher>Trillium</publisher>
- <info name="release" value="2019-01-25"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Disk 1 Side A"/>
- <dataarea name="flop" size="233523">
- <rom name="shadowkeep disk 1a.woz" size="233523" crc="9285c776" sha1="fe18bc648cdab6e69c0268b0302e6b70c7f82d71" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Disk 1 Side B"/>
- <dataarea name="flop" size="233556">
- <rom name="shadowkeep disk 1b.woz" size="233556" crc="d3a643c1" sha1="477d689d740018907d20ddbf73b5dc9eb4be936a" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_5_25">
- <feature name="part_id" value="Disk 2 Side A"/>
- <dataarea name="flop" size="233523">
- <rom name="shadowkeep disk 2a.woz" size="233523" crc="996b5248" sha1="721cc6398773cc9064f46926c783d6771ad16717" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_5_25">
- <feature name="part_id" value="Disk 2 Side B"/>
- <dataarea name="flop" size="233523">
- <rom name="shadowkeep disk 2b.woz" size="233523" crc="c31bbbcf" sha1="bcfe69cd5cb6cb513b36262d56bbf362198d6285" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="shanghai">
- <description>Shanghai</description>
- <year>1986</year>
- <publisher>Activision</publisher>
- <info name="release" value="2019-01-22"/>
- <sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 48K Apple ][+ or later. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233495">
- <rom name="shanghai.woz" size="233495" crc="44e84399" sha1="e1b0cb44d5897df7dfa422b243d7d4a6842d4795" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="shuflbrd">
- <description>Shuffleboard</description>
- <year>1981</year>
- <publisher>IDSI</publisher>
- <info name="release" value="2018-10-16"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="200145">
- <rom name="shuffleboard.woz" size="200145" crc="5ce890e6" sha1="5d99f399f075488305989f8f29ded03d6febcb1c" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="skyfox">
- <description>Skyfox</description>
- <year>1984</year>
- <publisher>Electronic Arts</publisher>
- <info name="release" value="2018-11-11"/>
- <sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 64K Apple ][+ or later. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233473">
- <rom name="skyfox.woz" size="233473" crc="be10a46c" sha1="acef2901b6166e7cef4a899bb113e9b052c7bcd7" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="snackatk">
- <description>Snack Attack</description>
- <year>1981</year>
- <publisher>Datamost</publisher>
- <info name="release" value="2018-07-26"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="126977">
- <rom name="snack attack.woz" size="126977" crc="39fb8fca" sha1="d751aaf008d366383b41b4d59d665bd5933d334a" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="snakebyt">
- <description>Snake Byte</description>
- <year>1981</year>
- <publisher>Sirius Software</publisher>
- <info name="release" value="2018-10-04"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="73739">
- <rom name="snake byte.woz" size="73739" crc="414ee3e7" sha1="c0877515fe5d2182a896344fb8c3fc188a5a9ee9" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="tsnapper">
- <description>The Snapper</description>
- <year>1982</year>
- <publisher>Silicon Valley Systems</publisher>
- <info name="release" value="2019-02-02"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="306708">
- <rom name="the snapper.woz" size="306708" crc="57487610" sha1="a30ab58b66c7c067c8c473d915b45df4514cef6f" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="sneakers">
- <description>Sneakers</description>
- <year>1981</year>
- <publisher>Sirius Software</publisher>
- <info name="release" value="2018-09-11"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="93700">
- <rom name="sneakers.woz" size="93700" crc="8b432189" sha1="d6ec137c662b0b7246d99d5b0cf5068a9131ef81" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
-
- <software name="spaceggs">
- <description>Space Eggs</description>
- <year>1981</year>
- <publisher>Sirius Software</publisher>
- <info name="release" value="2018-10-31"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E" />
- <!-- It requires a 48K Apple ][ or ][+, or an unenhanced Apple //e.
- Due to compatibility issues caused by the copy protection,
- it will not run on any later models. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="87036">
- <rom name="space eggs.woz" size="87036" crc="c9508fb8" sha1="56ff21e067ceae22fd12019e3cbfcaecab4d9bee" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="spquarks">
- <description>Space Quarks</description>
- <year>1981</year>
- <publisher>Broderbund Software</publisher>
- <info name="release" value="2018-10-30"/>
- <sharedfeat name="compatibility" value="A2,A2P" />
- <!-- It requires a 48K Apple ][ or ][+.
- Due to compatibility issues caused by the copy protection,
- it will not run on any later models. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="133617">
- <rom name="space quarks.woz" size="133617" crc="57eaa341" sha1="ba1ff0245ecc9e5d9446224b52e05823d777ebf5" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="spraid20">
- <description>Space Raiders version 2</description>
- <year>1983</year>
- <publisher>U.S.A. Software</publisher>
- <info name="release" value="2019-02-09"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="53792">
- <rom name="space raiders v2.woz" size="53792" crc="6d8b5ae2" sha1="f103a71acefc106b849cbf29dd63a5aed03d5b8e" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="sparechg">
- <description>Spare Change</description>
- <year>1983</year>
- <publisher>Broderbund Software</publisher>
- <info name="release" value="2018-11-08"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="346703">
- <rom name="spare change.woz" size="346703" crc="f70b9057" sha1="c58f7833eb4f8f29ae4bf7820efb4e29c6821531" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="spidrbot">
- <description>Spiderbot</description>
- <year>1988</year>
- <publisher>Epyx</publisher>
- <info name="release" value="2018-12-02"/>
- <sharedfeat name="compatibility" value="A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 128K Apple //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233502">
- <rom name="spiderbot.woz" size="233502" crc="f7b64cd0" sha1="e72e20f91059801312da133dcc8aa99b354e6428" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="spindizy">
- <description>Spindizzy</description>
- <year>1986</year>
- <publisher>Activision</publisher>
- <info name="release" value="2018-09-10"/>
- <sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 64K Apple ][+, //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233475">
- <rom name="spindizzy.woz" size="233475" crc="9e38c7cd" sha1="a2432c3d14734b23c45c47e4087b58a6a27f7686" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="spyhunt">
- <description>Spy Hunter</description>
- <year>1983</year>
- <publisher>Bally Midway</publisher>
- <info name="release" value="2018-08-20"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="240108">
- <rom name="spy hunter.woz" size="240108" crc="58edb0c2" sha1="5e227d8a8cee81e04dcef35a6063dcadd602b8e7" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="spysback">
- <description>The Spy Strikes Back</description>
- <year>1983</year>
- <publisher>Penguin Software</publisher>
- <info name="release" value="2018-12-19"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="120385">
- <rom name="the spy strikes back.woz" size="120385" crc="9adf680e" sha1="4210fa5a9bbe40418baad823519b3f2b77e215cc" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="spyvspy3">
- <description>Spy vs Spy III: Arctic Antics</description>
- <year>1983</year>
- <publisher>Bally Midway</publisher>
- <info name="release" value="2018-08-20"/>
- <sharedfeat name="compatibility" value="A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 128K Apple //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233468">
- <rom name="spy vs. spy iii.woz" size="233468" crc="c19123d1" sha1="2585f7cd612f5f549dacfa2ce9994ede66ab35c6" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="spydemis">
- <description>Spy's Demise</description>
- <year>1982</year>
- <publisher>Penguin</publisher>
- <info name="release" value="2018-08-20"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="120328">
- <rom name="spy's demise.woz" size="120328" crc="0586db9f" sha1="a7520b7c9d7caddb4db74d1931051212df6c996d" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="starcrsr">
- <description>Star Cruiser</description>
- <year>1980</year>
- <publisher>Sirius Software</publisher>
- <info name="release" value="2018-11-03"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="126969">
- <rom name="star cruiser.woz" size="126969" crc="43c1745b" sha1="975002c233af55ee9f11eaaa97faddbfa1be8f48" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="starthf">
- <description>Star Thief</description>
- <year>1981</year>
- <publisher>Cavalier Computer</publisher>
- <info name="release" value="2018-11-12"/>
- <sharedfeat name="compatibility" value="A2,A2P" />
- <!-- It requires a 48K Apple ][ or ][+. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="140293">
- <rom name="star thief.woz" size="140293" crc="dd2ce2e2" sha1="ec8d947ccb05fa14a13859505998bdf6bc42d9c5" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="stellar7">
- <description>Stellar 7</description>
- <year>1984</year>
- <publisher>Penguin Software</publisher>
- <info name="release" value="2018-11-17"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple ][ model with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233471">
- <rom name="stellar 7.woz" size="233471" crc="c93bf1da" sha1="df24d579842e7c11c662a533cc43e6a1a03ddbaa" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="ssbaseb">
- <description>Street Sports Baseball</description>
- <year>1987</year>
- <publisher>Epyx</publisher>
- <info name="release" value="2018-11-26"/>
- <sharedfeat name="compatibility" value="A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 128K Apple //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233452">
- <rom name="street sports baseball.woz" size="233452" crc="91fb8f2d" sha1="475a27e9cef255d33e626123fd7445325fc641b6" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="ssbasket">
- <description>Street Sports Basketball</description>
- <year>1987</year>
- <publisher>Epyx</publisher>
- <info name="release" value="2018-11-26"/>
- <sharedfeat name="compatibility" value="A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 128K Apple //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="233454">
- <rom name="street sports basketball side a.woz" size="233454" crc="545abde9" sha1="3e2c0b7c2d9ef988610e8c6e97a31884f221b5ad" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="233454">
- <rom name="street sports basketball side b.woz" size="233454" crc="76728c7c" sha1="ed7157d4c8f6acf3925098c51afa647347c32453" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="ssfootb">
- <description>Street Sports Football</description>
- <year>1988</year>
- <publisher>Epyx</publisher>
- <info name="release" value="2018-11-26"/>
- <sharedfeat name="compatibility" value="A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 128K Apple //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="233487">
- <rom name="street sports football side a.woz" size="233487" crc="2590c882" sha1="6968accc3ad7f9468b703da0d5ac8ffd2372f334" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="233487">
- <rom name="street sports football side b.woz" size="233487" crc="86ef614b" sha1="7933f5410c3b26106ce59d307905a506105bf15f" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="sssoccer">
- <description>Street Sports Soccer</description>
- <year>1988</year>
- <publisher>Epyx</publisher>
- <info name="release" value="2018-11-28"/>
- <sharedfeat name="compatibility" value="A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 128K Apple //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233473">
- <rom name="street sports soccer.woz" size="233473" crc="3bb31a45" sha1="e56adb5202d5bb24ab1bc86e86dd82b816a30379" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="subatsim">
- <description>Sub Battle Simulator</description>
- <year>1986</year>
- <publisher>Epyx</publisher>
- <info name="release" value="2018-11-28"/>
- <sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 64K Apple ][+, //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="233456">
- <rom name="sub battle simulator side a.woz" size="233456" crc="965de0dd" sha1="365a37e90b7ff8fdd1a00100eadac87b129ec803" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="233456">
- <rom name="sub battle simulator side b.woz" size="233456" crc="fdb27602" sha1="c3a26c99012c8c223d461058d5b1177b477219a3" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="suicide">
- <description>Suicide</description>
- <year>1981</year>
- <publisher>Piccadilly Software</publisher>
- <info name="release" value="2018-10-17"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="80375">
- <rom name="suicide.woz" size="80375" crc="1e0cfa56" sha1="c73383c16a165705bbe2f7c9d4ed08cd46a77ef7" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="sumrgame">
- <description>Summer Games</description>
- <year>1984</year>
- <publisher>Epyx</publisher>
- <info name="release" value="2018-10-17"/>
- <sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 64K Apple ][+, //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="233577">
- <rom name="summer games side a.woz" size="233577" crc="6b4b20cb" sha1="2d57b25187d3eac6099dea3b1456b406a308f4a2" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="233577">
- <rom name="summer games side b.woz" size="233577" crc="95f1a4a3" sha1="e7a4c18a0e59b9ea512c56b727f08c417d654164" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="swshbckl">
- <description>Swashbuckler</description>
- <year>1981</year>
- <publisher>Datamost</publisher>
- <info name="release" value="2019-02-07"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233459">
- <rom name="swashbuckler.woz" size="233459" crc="d083533d" sha1="fddeab888eb57895c983434e2ca26db7275c8ec7" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="swfrobin">
- <description>Swiss Family Robinson</description>
- <year>1984</year>
- <publisher>Windham Classics</publisher>
- <info name="release" value="2018-09-02"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="253471">
- <rom name="swiss family robinson.woz" size="253471" crc="7615c53b" sha1="9c33e686c69522bfe434ac0510bdaed0846b4963" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="ttwrestl">
- <description>Tag Team Wrestling</description>
- <year>1986</year>
- <publisher>Data East USA</publisher>
- <info name="release" value="2018-10-22"/>
- <sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 64K Apple II+, //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233465">
- <rom name="tag team wrestling.woz" size="233465" crc="bf8db12d" sha1="0f58c267a228972851c4d7278b0184f966c8d9c1" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="apshaitr">
- <description>Temple of Apshai Trilogy</description>
- <year>1985</year>
- <publisher>Epyx</publisher>
- <info name="release" value="2018-12-13"/>
- <sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 64K Apple ][+, //e, //c, or IIgs.
- Double hi-res mode requires a 128K Apple //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233494">
- <rom name="temple of apshai trilogy.woz" size="233494" crc="3875d6bc" sha1="cb71555bc29035fa8603849ff0cbc2017aee4604" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="testdrv">
- <description>Test Drive</description>
- <year>1985</year>
- <publisher>Accolade</publisher>
- <info name="release" value="2018-12-13"/>
- <sharedfeat name="compatibility" value="A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 128K Apple //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226947">
- <rom name="test drive side a.woz" size="226947" crc="5ddb18ec" sha1="b56dbaef11497993e0f139ed16a3d8f6d3bba3ba" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="233603">
- <rom name="test drive side b.woz" size="233603" crc="2a565fde" sha1="4938f541bda0ef8fe1b5dc154d01710b087b27df" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="tetr128k">
- <description>Tetris (128K)</description>
- <year>1987</year>
- <publisher>Spectrum HoloByte</publisher>
- <info name="release" value="2018-12-13"/>
- <sharedfeat name="compatibility" value="A2E,A2EE,A2C,A2GS" />
- <!-- This version, using double hi-res graphics,
- requires a 128K Apple //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233512">
- <rom name="tetris - 128k.woz" size="233512" crc="58c37ace" sha1="f4786eb5714a8d9f1a93e6570f2d482bf1794625" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="thartunn">
- <description>Tharolian Tunnels</description>
- <year>1982</year>
- <publisher>Datamost</publisher>
- <info name="release" value="2018-12-23"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233485">
- <rom name="tharolian tunnels.woz" size="233485" crc="e8377788" sha1="c08df0bc5b937cba5d882870d4bab4431893b4f0" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="thunbomb">
- <description>Thunder Bombs</description>
- <year>1982</year>
- <publisher>Penguin Software</publisher>
- <info name="release" value="2018-08-30"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="120334">
- <rom name="thunder bombs.woz" size="120334" crc="ef8f7a1a" sha1="9e902c5a4baa53cc1f7733d8c709d248d132b1d6" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="thunchop">
- <description>Thunderchopper</description>
- <year>1987</year>
- <publisher>ActionSoft</publisher>
- <info name="release" value="2018-11-04"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 64K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="206848">
- <rom name="thunderchopper.woz" size="206848" crc="a24e21fa" sha1="be8214ef71a5e3fece3e54d26231db579cbdd432" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="tomahawk">
- <description>Tomahawk</description>
- <year>1987</year>
- <publisher>Datasoft</publisher>
- <info name="release" value="2018-08-23"/>
- <sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 64K Apple ][+, //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233475">
- <rom name="tomahawk.woz" size="233475" crc="82b33adb" sha1="00ce64718d1153ece12e55795e11305a4090d487" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="tricksht">
- <description>Trick Shot</description>
- <year>1981</year>
- <publisher>IDSI</publisher>
- <info name="release" value="2018-08-23"/>
- <sharedfeat name="compatibility" value="A2,A2P" />
- <!-- It requires a 48K Apple ][ or ][+. It will not run on later models. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Game Disk"/>
- <dataarea name="flop" size="200176">
- <rom name="trick shot disk 1 (game).woz" size="200176" crc="e84e4d9a" sha1="b0f52dd9391aacc189caae5bac460e8b38c90e2b" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Sample Shots Disk"/>
- <dataarea name="flop" size="140273">
- <rom name="trick shot disk 2 (sample shots).woz" size="140273" crc="e053b0ed" sha1="3fa54660d25e39e6797fe038bbadb4a7c3a3d976" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="trkfield">
- <description>Track and Field</description>
- <year>1984</year>
- <publisher>Atarisoft</publisher>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233452">
- <rom name="track and field.woz" size="233452" crc="462adf6e" sha1="220a604b368c61644265678ec820b71ace25f318" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="triviafv">
- <description>Trivia Fever</description>
- <year>1984</year>
- <publisher>Professional Software</publisher>
- <info name="release" value="2019-01-31"/>
- <sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 48K Apple ][+ or later. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="233450">
- <rom name="trivia fever side a.woz" size="233450" crc="e37fd4b3" sha1="4e794c7aec501b857de37be240e94e4e1805f5a9" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="233450">
- <rom name="trivia fever side b.woz" size="233450" crc="38118b15" sha1="b14a0e0e515dac2e68d8037b9348cab31c5d44c3" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="tubeway2">
- <description>Tubeway II</description>
- <year>1982</year>
- <publisher>Datamost</publisher>
- <info name="release" value="2018-12-18"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233485">
- <rom name="tubeway ii.woz" size="233485" crc="76d9830f" sha1="2b6a213668c362144f6180cf96ce12fef8c99b30" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="twerps">
- <description>Twerps</description>
- <year>1981</year>
- <publisher>Sirius Software</publisher>
- <info name="release" value="2018-10-03"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="426493">
- <rom name="twerps.woz" size="426493" crc="6da22395" sha1="9eed0ac2a13e4ae2003778bf45591f52c5b5b722" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="ultima4">
- <description>Ultima IV: Quest of the Avatar</description>
- <year>1985</year>
- <publisher>Origin Systems</publisher>
- <info name="release" value="2019-01-17"/>
- <sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 64K Apple ][+, //e, //c, or IIgs -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Program Disk"/>
- <dataarea name="flop" size="240170">
- <rom name="Ultima IV - Side A - Program.woz" size="240170" crc="9e1d5595" sha1="a2de1815ffe51b4bdaad8b6abe8ec935911ec394" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Towne Disk"/>
- <dataarea name="flop" size="233516">
- <rom name="Ultima IV - Side B - Towne.woz" size="233516" crc="8ba7e933" sha1="f100cec0ae9d04a25f687fc3c1d76b139266826e" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_5_25">
- <feature name="part_id" value="Britannia Disk"/>
- <dataarea name="flop" size="233520">
- <rom name="Ultima IV - Side C - Britannia.woz" size="233520" crc="AC61D6C4" sha1="846BFCEBF3DAFA9642D290EA8D1619E580573E1A" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_5_25">
- <feature name="part_id" value="Underworld Disk"/>
- <dataarea name="flop" size="233521">
- <rom name="Ultima IV - Side D - Underworld.woz" size="233521" crc="7DAAB34F" sha1="D365CB92DD1C737A3C8773F432FE4C880019F324" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="ultima5">
- <description>Ultima V: Warriors of Destiny</description>
- <year>1988</year>
- <publisher>Origin Systems</publisher>
- <info name="release" value="2019-01-16"/>
- <sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 64K Apple ][+, //e, //c, or IIgs -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Program Disk"/>
- <dataarea name="flop" size="233616">
- <rom name="Ultima V - Program.woz" size="233616" crc="77708654" sha1="3623aadefb9b2635cd56635ddb21b6d3f4b6dc63" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Britannia Disk"/>
- <dataarea name="flop" size="233622">
- <rom name="Ultima V - Britannia.woz" size="233622" crc="8141d042" sha1="ddb85c2ee8bbbb4a66f5e87821df82744b3e3b8f" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_5_25">
- <feature name="part_id" value="Towne Disk"/>
- <dataarea name="flop" size="233618">
- <rom name="Ultima V - Towne.woz" size="233618" crc="578b66cf" sha1="d13d98470df0f58e9ef2b8ab68aae979831f8d3e" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_5_25">
- <feature name="part_id" value="Dwelling Disk"/>
- <dataarea name="flop" size="233621">
- <rom name="Ultima V - Dwelling.woz" size="233621" crc="fa6127b1" sha1="40e4c9054cee15edacdd378e6734052bc3237ee5" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop5" interface="floppy_5_25">
- <feature name="part_id" value="Castle Disk"/>
- <dataarea name="flop" size="233619">
- <rom name="Ultima V - Castle.woz" size="233619" crc="48d5bad1" sha1="02c1f89411e86096f88e28eb3f6199553efccc90" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop6" interface="floppy_5_25">
- <feature name="part_id" value="Keep Disk"/>
- <dataarea name="flop" size="233617">
- <rom name="Ultima V - Keep.woz" size="233617" crc="51638f02" sha1="d1bb7658d0056a9a769ecb15e1c69b41780f9e67" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop7" interface="floppy_5_25">
- <feature name="part_id" value="Dungeon Disk"/>
- <dataarea name="flop" size="233620">
- <rom name="Ultima V - Dungeon.woz" size="233620" crc="7f981d04" sha1="d97fbd4d7eba2b65fc28e6d9bb19c9e1c4f18d58" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop8" interface="floppy_5_25">
- <feature name="part_id" value="Underworld Disk"/>
- <dataarea name="flop" size="233623">
- <rom name="Ultima V - Underworld.woz" size="233623" crc="60a5113b" sha1="0f6ee9ea94e917042a074934b41a318486099fff" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="upndown">
- <description>Up 'N Down</description>
- <year>1981</year>
- <publisher>Bally Midway</publisher>
- <info name="release" value="2018-10-03"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233467">
- <rom name="up 'n down.woz" size="233467" crc="d1b298b6" sha1="cf7726d073c7457c9109387712f8c7b7deb83c7b" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="vindicat">
- <description>Vindicator</description>
- <year>1983</year>
- <publisher>H.A.L. Labs</publisher>
- <info name="release" value="2018-10-15"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="67083">
- <rom name="vindicator.woz" size="67083" crc="1b706f3d" sha1="2942a8d990c72b7b1e299ecf6f2fd837acc97ac1" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="wavynavy">
- <description>Wavy Navy</description>
- <year>1982</year>
- <publisher>Sirius Software</publisher>
- <info name="release" value="2018-09-30"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="240135">
- <rom name="wavy navy.woz" size="240135" crc="aea1ad1a" sha1="69c060bc6b090c0cc58d7102b1410ab8acb9fbc4" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="wayout">
- <description>Wayout</description>
- <year>1982</year>
- <publisher>Sirius Software</publisher>
- <info name="release" value="2018-10-01"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233476">
- <rom name="wayout.woz" size="233476" crc="7feac53d" sha1="c229b14f8ff3fe1023fd2be013dd9722455a0173" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="carmnusa">
- <description>Where in the USA is Carmen Sandiego</description>
- <year>1986</year>
- <publisher>Broderbund</publisher>
- <info name="release" value="2018-10-01"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 64K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="240205">
- <rom name="where in the usa is carmen sandiego side a.woz" size="240205" crc="a1cfee60" sha1="fcc406c480127a71e4d186939e9671c0c0bf7c14" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="233549">
- <rom name="where in the usa is carmen sandiego side b.woz" size="233549" crc="1ac6f62d" sha1="7940fad2b4b52615180cf51ce2348efe10e8e780" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="carmntime">
- <description>Where in Time is Carmen Sandiego v1.1</description>
- <year>1990</year>
- <publisher>Broderbund</publisher>
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Disk 1 Side A"/>
- <dataarea name="flop" size="233672">
- <rom name="where in time is carmen sandiego v1.1 - side a.woz" size="233672" crc="ea58dd13" sha1="a872d51b3352b3a1c5a6817ec10ed0ea0d1b3ed7" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Disk 1 Side B"/>
- <dataarea name="flop" size="240328">
- <rom name="where in time is carmen sandiego v1.1 - side b.woz" size="240328" crc="d91930ff" sha1="746cbb0f837fe28651f2bf2f19efc815f7c316d9" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_5_25">
- <feature name="part_id" value="Disk 2 Side C"/>
- <dataarea name="flop" size="240328">
- <rom name="where in time is carmen sandiego v1.1 - side c.woz" size="240328" crc="e720deac" sha1="2951a75612d58f001096f5daa4cb6c768098acea" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_5_25">
- <feature name="part_id" value="Disk 2 Side D"/>
- <dataarea name="flop" size="233672">
- <rom name="where in time is carmen sandiego v1.1 - side d.woz" size="233672" crc="20c6a3f7" sha1="7f9832c7e6ce06a3731ba0ca04c04ddd6cd0b929" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="wof">
- <description>Wings of Fury</description>
- <year>1987</year>
- <publisher>Broderbund</publisher>
- <info name="release" value="2018-10-01"/>
- <sharedfeat name="compatibility" value="A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 128K Apple //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="233481">
- <rom name="wings of fury side a.woz" size="233481" crc="61f6896e" sha1="44c5f01954d367915315e9e36aa8bb23b0038cac" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="233304">
- <rom name="wings of fury side b.woz" size="233304" crc="e88181a9" sha1="0913de8ee03c5295d2015b481809090695c2c0ea" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="wishbr23">
- <description>Wishbringer (r23)</description>
- <year>1988</year>
- <publisher>Infocom</publisher>
- <info name="release" value="2019-01-18"/>
- <sharedfeat name="compatibility" value="A2E,A2EE,A2C,A2GS" />
- <!-- This is Release 23 / 880706 / Interpreter 2 Version H, the
- "Solid Gold" edition. It requires a 128K Apple //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="233579">
- <rom name="Wishbringer r23 side A.woz" size="233579" crc="37df44cd" sha1="e85948bf33fefe7c7f5276d01cab4bc7da1d9615" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="233579">
- <rom name="Wishbringer r23 side B.woz" size="233579" crc="2f87fabd" sha1="aa6d3cbad29ea33b9663305f72a30a513ee9e3d3" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="wkchamp">
- <description>World Karate Championship</description>
- <year>1986</year>
- <publisher>Epyx</publisher>
- <info name="release" value="2018-12-04"/>
- <sharedfeat name="compatibility" value="A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 128K Apple //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233482">
- <rom name="world karate championship.woz" size="233482" crc="e8030bd9" sha1="3d0569e44a9520a3e27eb50e67f67f4362e1edc8" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="wgbbg">
- <description>The World's Greatest Baseball Game</description>
- <year>1984</year>
- <publisher>Epyx</publisher>
- <info name="release" value="2018-12-19"/>
- <sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 64K Apple ][+, //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233488">
- <rom name="the world's greatest baseball game.woz" size="233488" crc="9d415a67" sha1="c7e8f557efd3221ae5a171a92d217b7fb2250b29" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="wgfbg">
- <description>The World's Greatest Football Game</description>
- <year>1985</year>
- <publisher>Epyx</publisher>
- <info name="release" value="2018-12-19"/>
- <sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 64K Apple ][+, //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="233507">
- <rom name="the world's greatest football game side a.woz" size="233507" crc="fdbacf7f" sha1="301bf537734de76711c51431658fccca2a64bdca" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="233507">
- <rom name="the world's greatest football game side b.woz" size="233507" crc="4c9a39de" sha1="d5b145e52cd9d7438a66a976bbc6cb7baef10c11" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="xevious">
- <description>Xevious</description>
- <year>1984</year>
- <publisher>Mindscape</publisher>
- <info name="release" value="2018-08-25"/>
- <sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 64K Apple ][+, //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="233465">
- <rom name="xevious.woz" size="233465" crc="97586f7c" sha1="06e17e91e2490952013d407c2234b27677c16090" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="zendar">
- <description>Zendar</description>
- <year>1982</year>
- <publisher>subLOGIC</publisher>
- <info name="release" value="2018-11-10"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 48K Apple ][+ or later. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="73745">
- <rom name="zendar.woz" size="73745" crc="fe13d67e" sha1="c04796439e6a9f98d36292f00c9e45934210c5ce" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="zorro">
- <description>Zorro</description>
- <year>1985</year>
- <publisher>Datasoft</publisher>
- <info name="release" value="2019-01-10"/>
- <sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 64K Apple ][+, //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="133656">
- <rom name="zorro.woz" size="133656" crc="3cc39ef3" sha1="337f400990cd43a66d8896827ee3ce27940a86bf" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="suprfact">
- <description>The Super Factory</description>
- <year>1986</year>
- <publisher>Sunburst Communications</publisher>
- <info name="release" value="2019-02-18"/>
- <sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 64K Apple ][+, //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="234807">
- <rom name="the super factory.woz" size="234807" crc="4a48c3b1" sha1="8c8cc653cbc6c3f98b074dfc989b18c8cba9dd20" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="lancastr">
- <description>Lancaster</description>
- <year>1983</year>
- <publisher>Silicon Valley Systems</publisher>
- <info name="release" value="2019-02-19"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="234768">
- <rom name="lancaster.woz" size="234768" crc="f5245b69" sha1="660d9aff97a01563d5180c72d71a383454bb0e39" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="captgngt">
- <description>Captain Goodnight and the Islands of Fear</description>
- <year>1985</year>
- <publisher>Broderbund Software</publisher>
- <info name="release" value="2019-02-20"/>
- <sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 64K Apple ][+, //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="323917">
- <rom name="captain goodnight and the islands of fear side a.woz" size="323917" crc="470a2811" sha1="3642d9d5340fdea6542f4d09a7c926d2016373f5" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="234794">
- <rom name="captain goodnight and the islands of fear side b.woz" size="234794" crc="f59c6dc2" sha1="e3c1a9d134eb1b0c8997f6a17a8c42941929749f" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="eggsit">
- <description>Eggs-It</description>
- <year>1982</year>
- <publisher>Gebelli Software</publisher>
- <info name="release" value="2019-02-21"/>
- <sharedfeat name="compatibility" value="A2,A2P" />
- <!-- It requires a 48K Apple II or ][+.
- Due to compatibility issues caused by the copy protection,
- it will not run on any later models. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="354552">
- <rom name="eggs-it.woz" size="354552" crc="2fbad741" sha1="ef30b55234b59dd46f2f29c265b6eaef843e0795" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="choplftr">
- <description>Choplifter</description>
- <year>1982</year>
- <publisher>Broderbund Software</publisher>
- <info name="release" value="2019-02-22"/>
- <sharedfeat name="compatibility" value="A2,A2P" />
- <!-- It requires a 48K Apple II or ][+.
- Due to compatibility issues created by the copy protection,
- it will not run on later models. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="345853">
- <rom name="choplifter.woz" size="345853" crc="00e91e75" sha1="7aa350181b6ebc2040b85fceebf767ad604eca51" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="leepers">
- <description>Lunar Leepers</description>
- <year>1982</year>
- <publisher>Sierra On-Line</publisher>
- <info name="release" value="2019-02-23"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 48K Apple II or ][+.
- Due to conflicts created by the copy protection,
- it will not run on later models. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="507649">
- <rom name="lunar leepers.woz" size="507649" crc="3cd5d255" sha1="0607fb62340c48abc0624fe369dace2e9d5fedfd" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="goldmntn">
- <description>Golden Mountain</description>
- <year>1980</year>
- <publisher>Broderbund Software</publisher>
- <info name="release" value="2019-02-24"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="75006">
- <rom name="golden mountain.woz" size="75006" crc="235d837b" sha1="123830597000b8895d480b872e0fae4fbbd008f0" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="aklabeth">
- <description>Akalabeth</description>
- <year>1980</year>
- <publisher>California Pacific Computer</publisher>
- <info name="release" value="2019-02-25"/>
- <sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 48K Apple ][+ or later. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="173336">
- <rom name="akalabeth.woz" size="173336" crc="8386fbed" sha1="e28722b00c96aba9fe2c2a9888a9810e6e850fda" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="chldrnr">
- <description>Championship Lode Runner</description>
- <year>1984</year>
- <publisher>Broderbund Software</publisher>
- <info name="release" value="2019-02-26"/>
- <sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 48K Apple ][+ or later. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="288009">
- <rom name="championship lode runner.woz" size="288009" crc="c6a1f9ce" sha1="082862613ccad1efe8af0d9330a47d907eaf29bd" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="gamgblin">
- <description>Gamma Goblins</description>
- <year>1981</year>
- <publisher>Sirius Software</publisher>
- <info name="release" value="2019-02-27"/>
- <sharedfeat name="compatibility" value="A2,A2P" />
- <!-- It requires a 48K Apple II or ][+.
- Due to compatibility issues created by the copy protection,
- it will not run on later models. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="160525">
- <rom name="gamma goblins.woz" size="160525" crc="448bd345" sha1="f87ab44522163318dd8297190ca541651ecaf504" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="srpntine">
- <description>Serpentine</description>
- <year>1982</year>
- <publisher>Broderbund Software</publisher>
- <info name="release" value="2019-02-28"/>
- <sharedfeat name="compatibility" value="A2,A2P" />
- <!-- It requires a 48K Apple II or ][+.
- Due to compatibility issues created by the copy protection,
- it will not run on later models. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="354587">
- <rom name="serpentine.woz" size="354587" crc="f3bec3d9" sha1="593b149b7ad986e34b10b15e3e876c87377e245d" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="grdsspac">
- <description>Gruds in Space</description>
- <year>1983</year>
- <publisher>Sirius Software</publisher>
- <info name="release" value="2019-03-01"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="114987">
- <rom name="gruds in space side a.woz" size="114987" crc="b39ee54d" sha1="e2a43cafe8272ae631b6d57593f2b4729e47fb45" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="234795">
- <rom name="gruds in space side b.woz" size="234795" crc="134854d5" sha1="99bd681c77200724ba03cc16b8e499dae90bfadd" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="muppetvl">
- <description>Muppetville</description>
- <year>1986</year>
- <publisher>Sunburst Communications</publisher>
- <info name="release" value="2019-03-02"/>
- <sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 64K Apple ][+, //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="234769">
- <rom name="muppetville.woz" size="234769" crc="d30623fb" sha1="ae45a94b06339df594d68ac5c571e9d0babed035" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="dazldraw">
- <description>Dazzle Draw (version 1.1)</description>
- <year>1984</year>
- <publisher>Broderbund Software</publisher>
- <info name="release" value="2019-03-03"/>
- <sharedfeat name="compatibility" value="A2E,A2EE,A2C,A2GS" />
- <!-- It requires a 128K Apple //e, //c, or IIgs. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="248075">
- <rom name="dazzle draw side a.woz" size="248075" crc="8e93587b" sha1="486e44c49d9b4ac6d4ba1fa6aa9824934fb14cce" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="234766">
- <rom name="dazzle draw side b.woz" size="234766" crc="6648df34" sha1="d693245765c0440807fab4e3a4df6bc676146f9f" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="ultima3">
- <description>Ultima III: Exodus</description>
- <year>1983</year>
- <publisher>Origin Systems</publisher>
- <info name="release" value="2019-03-04"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
- <!-- As with the original, the scenario disk (side B) is write protected.
- You will need to make a copy of the disk before you can create characters. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A - Program"/>
- <dataarea name="flop" size="121621">
- <rom name="ultima iii side a.woz" size="121621" crc="1bba6693" sha1="2ce436033547c06f42032a5e09a0831559244542" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B - Scenario"/>
- <dataarea name="flop" size="234779">
- <rom name="ultima iii side b.woz" size="234779" crc="b02c959f" sha1="dee83d101d7da833d862f55e3ffb642e2e9b4b7e" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="ae">
- <description>A.E.</description>
- <year>1982</year>
- <publisher>Broderbund Software</publisher>
- <info name="release" value="2019-03-05"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="168206">
- <rom name="a.e. side a.woz" size="168206" crc="06E2E82A" sha1="DBD31E80D1077788BE5EEBC016C3201DDCB7C026" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="234766">
- <rom name="a.e. side b.woz" size="234766" crc="D0A7DADF" sha1="5A0700AFE19E7C2163BC41E1CF59F81330CE632C" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="ernieqz">
- <description>Ernie's Quiz</description>
- <year>1981</year>
- <publisher>Apple Computer</publisher>
- <info name="release" value="2019-03-06"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="234766">
- <rom name="ernie's quiz.woz" size="234766" crc="2dba30d3" sha1="c73bdb4122dec2712c996277bff359687a733393" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="mixnmtch">
- <description>Mix and Match</description>
- <year>1981</year>
- <publisher>Apple Computer</publisher>
- <info name="release" value="2019-03-07"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="234767">
- <rom name="mix and match.woz" size="234767" crc="4f2ec047" sha1="ea860d5eed4d708992226241124e107917a4c5c3" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="instzoo">
- <description>Instant Zoo</description>
- <year>1981</year>
- <publisher>Apple Computer</publisher>
- <info name="release" value="2019-03-08"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="241421">
- <rom name="instant zoo.woz" size="241421" crc="501ee2a8" sha1="9fde2664e61b7643c437a3e7dde72c163c800efd" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="spotlght">
- <description>Spotlight</description>
- <year>1981</year>
- <publisher>Apple Computers</publisher>
- <info name="release" value="2019-03-09"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="234763">
- <rom name="spotlight.woz" size="234763" crc="7393336f" sha1="0ecb58aec4b2fc000d6eb8a6a6677b4c4ae56e79" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="beerrun">
- <description>Beer Run</description>
- <year>1981</year>
- <publisher>Sirius Software</publisher>
- <info name="release" value="2019-03-10"/>
- <sharedfeat name="compatibility" value="A2,A2P" />
- <!-- It requires a 48K Apple II or ][+.
- Due to compatibility issues created by the copy protection,
- it will not run on later models. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="94978">
- <rom name="beer run.woz" size="94978" crc="05c8f406" sha1="7f4cd7d6ab95ee1c38f46097101deb77c3a7edb0" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="phaserfr">
- <description>Phaser Fire</description>
- <year>1982</year>
- <publisher>Gebelli Software</publisher>
- <info name="release" value="2019-03-11"/>
- <sharedfeat name="compatibility" value="A2,A2P" />
- <!-- It requires a 48K Apple II or ][+.
- Due to compatibility issues created by the copy protection,
- it will not run on later models. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="354044">
- <rom name="phaser fire.woz" size="354044" crc="7917bb70" sha1="f0d2c0425e6e6f08d7980b582983e94f5141d8b4" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="bugatk">
- <description>Bug Attack</description>
- <year>1981</year>
- <publisher>Cavalier Computer</publisher>
- <info name="release" value="2019-03-12"/>
- <sharedfeat name="compatibility" value="A2,A2P" />
- <!-- It requires a 48K Apple II or ][+.
- Due to compatibility issues created by the copy protection,
- it will not run on later models. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="180998">
- <rom name="bug attack.woz" size="180998" crc="7eafabdd" sha1="b7cebfa1479569ee2f8883d1ab43bde23704ef19" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="alnlandr">
- <description>Alien Lander</description>
- <year>1980</year>
- <publisher>Sierra Software</publisher>
- <info name="release" value="2019-03-13"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="234777">
- <rom name="alien lander.woz" size="234777" crc="5553290e" sha1="535cf50b61187cb06c7e09c4d226581179b6a033" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="highorbt">
- <description>High Orbit</description>
- <year>1982</year>
- <publisher>Gebelli Software</publisher>
- <info name="release" value="2019-03-14"/>
- <sharedfeat name="compatibility" value="A2,A2P" />
- <!-- It requires a 48K Apple II or ][+.
- Due to compatibility issues created by the copy protection,
- it will not run on later models. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="354542">
- <rom name="high orbit.woz" size="354542" crc="deeedb21" sha1="0cb3c8248c82f38624b1fad72a11554c14249785" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="astfield">
- <description>The Asteroid Field</description>
- <year>1980</year>
- <publisher>Cavalier Computer</publisher>
- <info name="release" value="2019-03-15"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="128284">
- <rom name="the asteroid field.woz" size="128284" crc="827e5ad2" sha1="ff8471b80327d3b0d1694ff80d3e1c1e5e6222e6" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="carmnwld">
- <description>Where in the World is Carmen Sandiego</description>
- <year>1985</year>
- <publisher>Broderbund Software</publisher>
- <info name="release" value="2019-03-16"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 64K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="332120">
- <rom name="where in the world is carmen sandiego side a.woz" size="332120" crc="9e9bc183" sha1="bfcf9c5156a3bd57384f14656d7da9adfe546d2e" offset="0x0000" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="234840">
- <rom name="where in the world is carmen sandiego side b.woz" size="234840" crc="771e61bd" sha1="672a843e9d7b927b8f2d14d0ea3679913add4175" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="labyrnth">
- <description>Labyrinth</description>
- <year>1982</year>
- <publisher>Broderbund Software</publisher>
- <info name="release" value="2019-03-17"/>
- <sharedfeat name="compatibility" value="A2,A2P" />
- <!-- It requires a 48K Apple II or ][+.
- Due to compatibility issues created by the copy protection,
- it will not run on later models. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="349959">
- <rom name="labyrinth.woz" size="349959" crc="c2a2ba88" sha1="8604f70d0a7f039a729a3d81957e8b1860bacbaa" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="ribbit">
- <description>Ribbit</description>
- <year>1982</year>
- <publisher>Piccadilly Software</publisher>
- <info name="release" value="2019-03-18"/>
- <sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS" />
- <!-- It runs on any Apple II with 48K. -->
-
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="128291">
- <rom name="ribbit.woz" size="128291" crc="f75dc4c3" sha1="965ee4b1e3af6ef435900309bc797d19b9ea02fd" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
-</softwarelist>
diff --git a/hash/apricot_flop.xml b/hash/apricot_flop.xml
index 7c2cac180bb..41ecc4c81df 100644
--- a/hash/apricot_flop.xml
+++ b/hash/apricot_flop.xml
@@ -3,42 +3,7 @@
<softwarelist name="apricot_flop" description="ACT Apricot PC/Xi floppy disks">
- <!-- MS-DOS 2.11 / Release 2.7 -->
- <software name="burnin">
- <description>Burn-In Test 3.4 (TES404)</description>
- <year>1985</year>
- <publisher>ACT</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="245589">
- <rom name="tes404.dsk" size="245589" crc="0a9f72a3" sha1="d3d24fde6dcc075584bd80c6419e1796323fb187" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="dbase2">
- <description>dBASE II/86 2.43</description>
- <year>1984</year>
- <publisher>Ashton-Tate</publisher>
- <part name="flop1" interface="floppy_3_5">
- <feature name="part_id" value="System" />
- <dataarea name="flop" size="308152">
- <rom name="dbase2_1.dsk" size="308152" crc="dba606be" sha1="2555ec4993fc182e94746215f7d11af9c31ea504" offset="0"/>
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3_5">
- <dataarea name="flop" size="0">
- <rom name="dbase2_2.dsk" size="0" status="nodump" offset="0"/>
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_3_5">
- <feature name="part_id" value="Utilities" />
- <dataarea name="flop" size="221134">
- <rom name="dbase2_3.dsk" size="221134" crc="dd63b419" sha1="4eff40f47d6002dec76d8739805474a1ff5b4980" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <!-- MS-DOS 2.00 / BIOS VR1.4 -->
+ <!-- MS-DOS 2.00 BIOS VR1.4 -->
<software name="demopics">
<description>Demonstration Pictures</description>
<year>1984</year>
@@ -118,359 +83,7 @@
</part>
</software>
- <!-- MS-DOS 2.11 / BIOS VR2.4 -->
- <software name="exptest">
- <description>Expansion RAM Test 1.0 (TES904)</description>
- <year>1984</year>
- <publisher>ACT</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="123910">
- <rom name="tes904.dsk" size="123910" crc="05c47f4a" sha1="2c58ba1da4f375aac0e26126471ad5de10869f19" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="lotus123" supported="no">
- <description>Lotus 123 (Release 1A)</description>
- <year>1985</year>
- <publisher>Lotus Development Corporation</publisher>
- <part name="system" interface="floppy_3_5">
- <feature name="part_id" value="System" />
- <feature name="part_no" value="89115" />
- <dataarea name="flop" size="275604">
- <rom name="lotus123.dsk" size="275604" crc="b2452dff" sha1="30d91f467b574255e7b41ad4cf377d55265ea138" status="baddump" offset="0"/>
- </dataarea>
- </part>
- <part name="tutorial" interface="floppy_3_5">
- <feature name="part_id" value="Electronic Tutorial" />
- <feature name="part_no" value="89117" />
- <dataarea name="flop" size="290876">
- <rom name="lotus123_tut.dsk" size="290876" crc="2bf9a187" sha1="1dc9240bea600601581feac8bc35130f862a0e25" offset="0"/>
- </dataarea>
- </part>
- <part name="utils" interface="floppy_3_5">
- <feature name="part_id" value="Utilities" />
- <feature name="part_no" value="89118" />
- <dataarea name="flop" size="188057">
- <rom name="lotus123_utils.dsk" size="188057" crc="04be60ff" sha1="2550118296ef38da8f5853476a3da98ba8bdaee7" offset="0"/>
- </dataarea>
- </part>
- <part name="printgraph" interface="floppy_3_5">
- <feature name="part_id" value="Printgraph" />
- <feature name="part_no" value="89119" />
- <dataarea name="flop" size="224243">
- <rom name="lotus123_print.dsk" size="224243" crc="27b3f519" sha1="76e003e53165f2906a25975d64875f4571500397" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <!-- MS-DOS 2.11 / Release 2.7 -->
- <software name="mousetest">
- <description>Mouse Test 2.0 (TES903)</description>
- <year>1985</year>
- <publisher>ACT</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="190072">
- <rom name="tes903.dsk" size="190072" crc="beba89b8" sha1="6bdb9b7f9956a32d03cc54ef233e534bf62a57a2" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <!-- MS-DOS 3.10 / Release 3.1.1 -->
- <software name="msd" supported="no">
- <description>MSD 2.7.0 (Winchester Test)</description>
- <year>1986</year>
- <publisher>ACT</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="213847">
- <rom name="msd.dsk" size="213847" crc="fd321be4" sha1="0194728fe30f41564cee7337f9a9751423ab44bf" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <!-- MS-DOS 3.10 / Release 3.1.1 -->
- <software name="netf13" supported="no">
- <description>apricot Networks VR1.3 F-Series</description>
- <year>1985</year>
- <publisher>ACT</publisher>
- <part name="a" interface="floppy_3_5">
- <feature name="part_id" value="Disk A (Server Boot)" />
- <dataarea name="flop" size="299044">
- <rom name="anwkfu02p.dsk" size="299044" crc="ad1a424a" sha1="04c168448dc7ff4480a8f4b0f9236f9b0f73913b" offset="0"/>
- </dataarea>
- </part>
- <part name="b" interface="floppy_3_5">
- <feature name="part_id" value="Disk B (PC/Xi Workstation)" />
- <dataarea name="flop" size="293462">
- <rom name="bnwkfu02p.dsk" size="293462" crc="5bc3d29a" sha1="fa29b217a8ab44b21c98c4ffba47d2bb81886153" offset="0"/>
- </dataarea>
- </part>
- <part name="c" interface="floppy_3_5">
- <feature name="part_id" value="Disk C (XEN/F-Series Workstation)" />
- <dataarea name="flop" size="274633">
- <rom name="cnwkfu02p.dsk" size="274633" crc="17bcd2cd" sha1="4fb8074686460d8a563d64af589d899a7b7cf849" offset="0"/>
- </dataarea>
- </part>
- <part name="d" interface="floppy_3_5">
- <feature name="part_id" value="Disk D (Bank Boot)" />
- <dataarea name="flop" size="275636">
- <rom name="dnwkfu02p.dsk" size="275636" crc="471bfbc5" sha1="f4acde4b143d258110c8f773cfc7947f1da98a59" offset="0"/>
- </dataarea>
- </part>
- <part name="e" interface="floppy_3_5">
- <feature name="part_id" value="Disk E (Server Backup)" />
- <dataarea name="flop" size="640299">
- <rom name="enwkfu02p.dsk" size="640299" crc="f8874d8c" sha1="1c4152717efe7b33983ead98a5f82a34c92102d6" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <!-- MS-DOS 3.10 / Beta 3.1 -->
- <software name="netf13b" supported="no">
- <description>apricot Networks VB1.3 F-Series (Beta Release)</description>
- <year>1985</year>
- <publisher>ACT</publisher>
- <part name="a" interface="floppy_3_5">
- <feature name="part_id" value="Disk A (Server Boot)" />
- <dataarea name="flop" size="190577">
- <rom name="networks_13b_f_a.dsk" size="190577" crc="94cff25c" sha1="4418266eb94020c937bdb5282f4ade6ee2718d69" offset="0"/>
- </dataarea>
- </part>
- <part name="b" interface="floppy_3_5">
- <feature name="part_id" value="Disk B (PC/Xi Workstation)" />
- <dataarea name="flop" size="208915">
- <rom name="networks_13b_f_b.dsk" size="208915" crc="ca5b639b" sha1="61d8137db45c4bbb221dafd0767f93174238b2c4" offset="0"/>
- </dataarea>
- </part>
- <part name="c" interface="floppy_3_5">
- <feature name="part_id" value="Disk C (Portable/F-Series Workstation)" />
- <dataarea name="flop" size="183976">
- <rom name="networks_13b_f_c.dsk" size="183976" crc="049d9464" sha1="d16ecc2d09b558df3278a435cc77b30cf40092d3" offset="0"/>
- </dataarea>
- </part>
- <part name="d" interface="floppy_3_5">
- <feature name="part_id" value="Disk D (Bank Boot)" />
- <dataarea name="flop" size="196662">
- <rom name="networks_13b_f_d.dsk" size="196662" crc="2754ce8b" sha1="ba42a7cb8608ca5cbec5ab07b728cfe11c8cacde" offset="0"/>
- </dataarea>
- </part>
- <part name="e" interface="floppy_3_5">
- <feature name="part_id" value="Disk E (Server Backup)" />
- <dataarea name="flop" size="0">
- <rom name="networks_13b_f_e.dsk" size="0" status="nodump" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <!-- MS-DOS 2.11 / BIOS VR2.4 -->
- <software name="netdiag" supported="no">
- <description>POINT 32 Network Diagnostics</description>
- <year>1985</year>
- <publisher>ACT</publisher>
- <!-- Disk 1 missing? -->
- <!-- Disk 2 of 4 -->
- <part name="master" interface="floppy_3_5">
- <feature name="part_id" value="Network Transporter Card Test 1.0 (Master) (TES802)" />
- <dataarea name="flop" size="296484">
- <rom name="tes802m.dsk" size="296484" crc="05754105" sha1="174d080ed8832a01897242ff8fba0f7a87f14b24" offset="0"/>
- </dataarea>
- </part>
- <!-- Disk 3 of 4 -->
- <part name="slave" interface="floppy_3_5">
- <feature name="part_id" value="Network Transporter Card Test 1.1 (Slave) (TES802)" />
- <dataarea name="flop" size="296483">
- <rom name="tes802s.dsk" size="296483" crc="970339d9" sha1="99027c7e525c810cf741263b7012e673239c84fe" offset="0"/>
- </dataarea>
- </part>
- <!-- Disk 4 of 4 -->
- <part name="utils" interface="floppy_3_5">
- <feature name="part_id" value="Network Utitlies Disk" />
- <dataarea name="flop" size="296477">
- <rom name="netutils.dsk" size="296477" crc="eea4dce5" sha1="1ee7475aa51badc6733532c07ec3067db5eb6347" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <!-- MS-DOS 3.10 / Release 3.1.1 -->
- <software name="netxi13" supported="no">
- <description>apricot Networks VR1.3 PC/Xi</description>
- <year>1985</year>
- <publisher>ACT</publisher>
- <part name="a" interface="floppy_3_5">
- <feature name="part_id" value="Disk A (Server Boot)" />
- <dataarea name="flop" size="303126">
- <rom name="anwkpcxu04p.dsk" size="303126" crc="7110e4e1" sha1="d1a8c3e4db53e3b3a99cc064da8e0ccecf868727" offset="0"/>
- </dataarea>
- </part>
- <part name="b" interface="floppy_3_5">
- <feature name="part_id" value="Disk B (PC/Xi Workstation)" />
- <dataarea name="flop" size="293457">
- <rom name="bnwkpcxu04p.dsk" size="293457" crc="b5c4e0f9" sha1="f412a46be109cbc930cb6b16602fa4df387b2c96" offset="0"/>
- </dataarea>
- </part>
- <part name="c" interface="floppy_3_5">
- <feature name="part_id" value="Disk C (XEN/F-Series Workstation)" />
- <dataarea name="flop" size="274128">
- <rom name="cnwkpcxu04p.dsk" size="274128" crc="4efa8697" sha1="1e5be1f342d0882b3f95cd289b3e73aebadc9cb4" offset="0"/>
- </dataarea>
- </part>
- <part name="d" interface="floppy_3_5">
- <feature name="part_id" value="Disk D (Bank Boot)" />
- <dataarea name="flop" size="276143">
- <rom name="dnwkpcxu04p.dsk" size="276143" crc="f5c05f5d" sha1="842c8f2390bfe9dbe9fcdda38f66cd11794ee6a3" offset="0"/>
- </dataarea>
- </part>
- <part name="e" interface="floppy_3_5">
- <feature name="part_id" value="Disk E (Server Backup)" />
- <dataarea name="flop" size="640296">
- <rom name="enwkpcxu04p.dsk" size="640296" crc="b0297882" sha1="1090b00afaec7f9ef84380a136ebbffc0c2a0fb1" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <!-- MS-DOS 3.10 / Beta 3.1 -->
- <software name="netxi13b" supported="no">
- <description>apricot Networks VB1.3 PC/Xi (Beta Release)</description>
- <year>1985</year>
- <publisher>ACT</publisher>
- <part name="a" interface="floppy_3_5">
- <feature name="part_id" value="Disk A (Server Boot)" />
- <dataarea name="flop" size="0">
- <rom name="networks_13b_xi_a.dsk" size="0" status="nodump" offset="0"/>
- </dataarea>
- </part>
- <part name="b" interface="floppy_3_5">
- <feature name="part_id" value="Disk B (PC/Xi Workstation)" />
- <dataarea name="flop" size="208912">
- <rom name="networks_13b_xi_b.dsk" size="208912" crc="bdd1bb92" sha1="e83d2fe396ce3ab748f69931208e892d8bb0222c" offset="0"/>
- </dataarea>
- </part>
- <part name="c" interface="floppy_3_5">
- <feature name="part_id" value="Disk C (Portable/F-Series Workstation)" />
- <dataarea name="flop" size="183973">
- <rom name="networks_13b_xi_c.dsk" size="183973" crc="08e52f5f" sha1="5a1f65a3891581443946adbadef16f81510605f4" offset="0"/>
- </dataarea>
- </part>
- <part name="d" interface="floppy_3_5">
- <feature name="part_id" value="Disk D (Bank Boot)" />
- <dataarea name="flop" size="222131">
- <rom name="networks_13b_xi_d.dsk" size="222131" crc="827c630c" sha1="a519895fa36e2913ba487d26e901db63c1e33a7a" offset="0"/>
- </dataarea>
- </part>
- <part name="e" interface="floppy_3_5">
- <feature name="part_id" value="Disk E (Server Backup)" />
- <dataarea name="flop" size="0">
- <rom name="networks_13b_xi_e.dsk" size="0" status="nodump" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <!-- MS-DOS 3.06 / Version R2.6 -->
- <software name="point32_11" supported="no">
- <description>POINT 32 VR1.1</description>
- <year>1984</year>
- <publisher>ACT</publisher>
- <part name="a" interface="floppy_3_5">
- <feature name="part_id" value="Disk A (Server Boot)" />
- <dataarea name="flop" size="0">
- <rom name="point32_11_a.dsk" size="0" status="nodump" offset="0"/>
- </dataarea>
- </part>
- <part name="b" interface="floppy_3_5">
- <feature name="part_id" value="Disk B (PC/Xi Workstation)" />
- <dataarea name="flop" size="182478">
- <rom name="point32_11_b.dsk" size="182478" crc="0b4c9387" sha1="b20d2b7542d9f95d0b914138cc01292e69a185eb" offset="0"/>
- </dataarea>
- </part>
- <part name="c" interface="floppy_3_5">
- <feature name="part_id" value="Disk C (Portable/F-Series Workstation)" />
- <dataarea name="flop" size="0">
- <rom name="point32_11_c.dsk" size="0" status="nodump" offset="0"/>
- </dataarea>
- </part>
- <part name="d" interface="floppy_3_5">
- <feature name="part_id" value="Disk D (Bank Boot)" />
- <dataarea name="flop" size="0">
- <rom name="point32_11_d.dsk" size="0" status="nodump" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <!-- MS-DOS 3.10 / Release 2.7 -->
- <software name="point32_12" supported="no">
- <description>POINT 32 VR1.2</description>
- <year>1985</year>
- <publisher>ACT</publisher>
- <part name="a" interface="floppy_3_5">
- <feature name="part_id" value="Disk A (Server Boot)" />
- <dataarea name="flop" size="0">
- <rom name="point32_12_a.dsk" size="0" status="nodump" offset="0"/>
- </dataarea>
- </part>
- <part name="b" interface="floppy_3_5">
- <feature name="part_id" value="Disk B (PC/Xi Workstation)" />
- <dataarea name="flop" size="252721">
- <rom name="point32_12_b.dsk" size="252721" crc="9c937fa4" sha1="7d83b4fd9a93ae6e2db6edc4ac687c547e3861f1" offset="0"/>
- </dataarea>
- </part>
- <part name="c" interface="floppy_3_5">
- <feature name="part_id" value="Disk C (Portable/F-Series Workstation)" />
- <dataarea name="flop" size="0">
- <rom name="point32_12_c.dsk" size="0" status="nodump" offset="0"/>
- </dataarea>
- </part>
- <part name="d" interface="floppy_3_5">
- <feature name="part_id" value="Disk D (Bank Boot)" />
- <dataarea name="flop" size="0">
- <rom name="point32_12_d.dsk" size="0" status="nodump" offset="0"/>
- </dataarea>
- </part>
- <part name="e" interface="floppy_3_5">
- <feature name="part_id" value="Disk E (Server Backup)" />
- <dataarea name="flop" size="0">
- <rom name="point32_12_e.dsk" size="0" status="nodump" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <!-- MS-DOS 3.10 / Release 2.7 -->
- <software name="point32_12b" supported="no">
- <description>POINT 32 VB1.2 (Beta Release)</description>
- <year>1985</year>
- <publisher>ACT</publisher>
- <part name="a" interface="floppy_3_5">
- <feature name="part_id" value="Disk A (Server Boot)" />
- <dataarea name="flop" size="0">
- <rom name="point32_12b_a.dsk" size="0" status="nodump" offset="0"/>
- </dataarea>
- </part>
- <part name="b" interface="floppy_3_5">
- <feature name="part_id" value="Disk B (PC/Xi Workstation)" />
- <dataarea name="flop" size="222157">
- <rom name="point32_12b_b.dsk" size="222157" crc="48974c50" sha1="95443907104c1ed71a5fe506cc4d576911d7ef58" offset="0"/>
- </dataarea>
- </part>
- <part name="c" interface="floppy_3_5">
- <feature name="part_id" value="Disk C (Portable/F-Series Workstation)" />
- <dataarea name="flop" size="208925">
- <rom name="point32_12b_c.dsk" size="208925" crc="ffaa8b5e" sha1="8bc02997cdcdf4682ff16c5fe805b4fcb0990a69" offset="0"/>
- </dataarea>
- </part>
- <part name="d" interface="floppy_3_5">
- <feature name="part_id" value="Disk D (Bank Boot)" />
- <dataarea name="flop" size="226729">
- <rom name="point32_12b_d.dsk" size="226729" crc="5a5cb180" sha1="8903118e7224e73d71b21cfba93613eaa79fe1b9" offset="0"/>
- </dataarea>
- </part>
- <part name="e" interface="floppy_3_5">
- <feature name="part_id" value="Disk E (Server Backup)" />
- <dataarea name="flop" size="0">
- <rom name="point32_12b_e.dsk" size="0" status="nodump" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <!-- MS-DOS 2.11 / BIOS VR2.4 -->
+ <!-- MS-DOS 2.11 BIOS VR2.4 -->
<software name="quest">
<description>QUEST - The Adventure</description>
<year>1984</year>
@@ -482,101 +95,4 @@
</part>
</software>
- <software name="supercalc3">
- <description>SuperCalc 3 1.00</description>
- <year>1983</year>
- <publisher>Sorcim</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="297962">
- <rom name="supercalc3_1.dsk" size="297962" crc="3cdab25c" sha1="2c524518054c4abc9f177891259c9f4384708d6c" offset="0"/>
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3_5">
- <dataarea name="flop" size="0">
- <rom name="supercalc3_2.dsk" size="0" status="nodump" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <!-- Actually for the Apricot XEN, but (at least to some extent) compatible with the PC/Xi -->
- <software name="win103">
- <description>Microsoft Windows 1.03</description>
- <year>1987</year>
- <publisher>ACT</publisher>
- <!-- The following disk images were created from zip files with mkfs.fat 4.1 and libdsk 1.5.10 -->
- <!-- They should be replaced by proper images read from original disks -->
- <part name="windows" interface="floppy_3_5">
- <feature name="part_id" value="Windows" />
- <dataarea name="flop" size="508524">
- <rom name="windows.dsk" size="508524" crc="17867369" sha1="10dab3e9a923023544efc90bbb8a5817b92098bb" offset="0"/>
- </dataarea>
- </part>
- <part name="system" interface="floppy_3_5">
- <feature name="part_id" value="System" />
- <dataarea name="flop" size="103869">
- <rom name="system.dsk" size="103869" crc="1c2210e6" sha1="594fc0188e7f9f66befe94089bc681acd85ed1c0" offset="0"/>
- </dataarea>
- </part>
- <part name="fonts" interface="floppy_3_5">
- <feature name="part_id" value="Fonts" />
- <dataarea name="flop" size="420976">
- <rom name="fonts.dsk" size="420976" crc="c5410ef4" sha1="9f78938ad1a4f6456ee0edd284a7f211b6959869" offset="0"/>
- </dataarea>
- </part>
- <part name="applics" interface="floppy_3_5">
- <feature name="part_id" value="Applications" />
- <dataarea name="flop" size="652571">
- <rom name="applics.dsk" size="652571" crc="5c6c08e2" sha1="b6a38eff3069ae771d24749346d6b1c040df50d3" offset="0"/>
- </dataarea>
- </part>
- <part name="drivers" interface="floppy_3_5">
- <feature name="part_id" value="Drivers" />
- <dataarea name="flop" size="511578">
- <rom name="drivers.dsk" size="511578" crc="0ccec09a" sha1="2e5c73aa334c4a84b28c91663e19b6136c209b80" offset="0"/>
- </dataarea>
- </part>
- <part name="wutils" interface="floppy_3_5">
- <feature name="part_id" value="Utils" />
- <dataarea name="flop" size="532447">
- <rom name="wutils.dsk" size="532447" crc="a546a374" sha1="acc15f5ab457d2c31beec19ccfd9debd2db04b9f" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <!-- MS-DOS 2.11 / Release 2.7 -->
- <software name="winformat" supported="no">
- <description>Winchester Factory Formatter 2.1 (TES004)</description>
- <year>1985</year>
- <publisher>ACT</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="135639">
- <rom name="tes004.dsk" size="135639" crc="107e70c6" sha1="203d42a4476e90943fa683f720138dd201648ac7" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <!-- MS-DOS 2.11 / Release 2.7 -->
- <software name="wintest" supported="no">
- <description>Winchester Data Integrity Test 4.0 (TES002)</description>
- <year>1985</year>
- <publisher>ACT</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="136129">
- <rom name="tes002.dsk" size="136129" crc="283033df" sha1="7cec002bbaceecb82e991718a429db19f50271e6" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <!-- MS-DOS 2.11 / BIOS VE2.0 -->
- <software name="wincheck" supported="no">
- <description>Winchester Data Integrity Check 1.1</description>
- <year>1984</year>
- <publisher>ACT</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="305108">
- <rom name="wincheck.dsk" size="305108" crc="5ebd6524" sha1="198beba1cba8c8d55fc902e60ce27f04625bfd5c" offset="0"/>
- </dataarea>
- </part>
- </software>
-
</softwarelist>
diff --git a/hash/arb.xml b/hash/arb.xml
deleted file mode 100644
index 89111cb26df..00000000000
--- a/hash/arb.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
-
-<softwarelist name="arb" description="ARB Modules">
-
-<!-- AVE Micro Systems Auto Response Board (ARB) chess program modules -->
-
- <software name="sargon25">
- <description>Sargon 2.5</description>
- <year>1980</year>
- <publisher>AVE Micro Systems</publisher>
- <part name="cart" interface="arb">
- <dataarea name="rom" size="0x8000">
- <rom name="4000-4800_ea_8332a161-1" size="0x1000" crc="00460848" sha1="ac4fe2232028bd42506a24457882296e7d3a8f54" offset="0x4000" />
- <rom size="0x1000" offset="0x6000" loadflag="reload" />
- <rom name="5000-5800_ea_8332a160-1" size="0x1000" crc="aac1dff2" sha1="9a7fc6dc98e53120e511d266304ad07f248f415a" offset="0x5000" />
- <rom size="0x1000" offset="0x7000" loadflag="reload" />
- </dataarea>
- </part>
- </software>
-
-</softwarelist>
diff --git a/hash/astrocde.xml b/hash/astrocde.xml
index 1d2cd390505..55549fe2167 100644
--- a/hash/astrocde.xml
+++ b/hash/astrocde.xml
@@ -128,11 +128,10 @@
<software name="astrobas">
<description>Bally BASIC (Astrovision)</description>
-<!-- <note>The updated release of BASIC used an internal 2000 baud interface to load and save programs.</note> -->
+<!-- <note>The updated release of BASIC used an internal 2000 baud interface (not emulated) to load and save programs.</note> -->
<year>1981</year>
<publisher>Astrovision</publisher>
<part name="cart" interface="astrocde_cart">
- <feature name="slot" value="rom_cass" />
<dataarea name="rom" size="4096">
<rom name="astrobas.bin" size="4096" crc="70514687" sha1="a2ac8995a6217b7190aa9b18f49261c0ed3c6b5a" offset="0" />
</dataarea>
diff --git a/hash/bbc_flop_32016.xml b/hash/bbc_flop_32016.xml
index b662d2f529f..44d6b214ebf 100644
--- a/hash/bbc_flop_32016.xml
+++ b/hash/bbc_flop_32016.xml
@@ -3,6 +3,11 @@
<!-- Acorn BBC Micro - 32016 Co-Processor Discs -->
+<!-- Loading Instructions:
+
+ Hold down the SHIFT key and press and release the BREAK key.
+-->
+
<softwarelist name="bbc_flop_32016" description="Acorn 32016 Co-Processor discs">
<software name="panos11" cloneof="panos14" supported="no">
@@ -10,7 +15,7 @@
<year>1985</year>
<publisher>Acorn Computers</publisher>
<info name="format" value="DFS" />
- <info name="usage" value="Requires 32016 co-processor" />
+ <info name="compatibility" value="32016 co-processor" />
<part name="flop1" interface="floppy_5_25">
<feature name="part_id" value="PanOS Startup and Utilities"/>
<dataarea name="flop" size="407552">
@@ -60,7 +65,7 @@
<year>1985</year>
<publisher>Acorn Computers</publisher>
<info name="format" value="DFS" />
- <info name="usage" value="Requires 32016 co-processor" />
+ <info name="compatibility" value="32016 co-processor" />
<part name="flop1" interface="floppy_5_25">
<feature name="part_id" value="PanOS Startup and Utilities"/>
<dataarea name="flop" size="384768">
@@ -105,96 +110,4 @@
</part>
</software>
- <!-- Scientific Software -->
-
- <software name="gcal" supported="no">
- <description>GCAL</description>
- <year>1986</year>
- <publisher>Acorn Computers</publisher>
- <info name="release" value="SSS01" />
- <info name="format" value="DFS" />
- <info name="usage" value="Requires 32016 co-processor" />
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="346112">
- <rom name="gcal.ssd" size="346112" crc="726d0a0f" sha1="918c63ee6f590fb4de5c8ec2f598f8bc7eede49a" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="bcpl" supported="no">
- <description>BCPL</description>
- <year>1986</year>
- <publisher>Acorn Computers</publisher>
- <info name="release" value="SSS02" />
- <info name="format" value="DFS" />
- <info name="usage" value="Requires 32016 co-processor" />
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="32016"/>
- <dataarea name="flop" size="123136">
- <rom name="bcpl_32016.ssd" size="123136" crc="bd2cb7b8" sha1="9531729ff41be02e243fd301594d2003bb5a6a29" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="16032"/>
- <dataarea name="flop" size="166166">
- <rom name="bcpl_16032.ssd" size="166144" crc="6b497945" sha1="8212ef33115da4c5cc2ecbd0a3013666dc0dae54" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <!-- 1986 SSS03 SPICE -->
-
- <software name="reduce" supported="no">
- <description>Reduce</description>
- <year>1986</year>
- <publisher>Acorn Computers</publisher>
- <info name="release" value="SSS04" />
- <info name="format" value="DFS" />
- <info name="usage" value="Requires 32016 co-processor" />
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Disc 1"/>
- <dataarea name="flop" size="373504">
- <rom name="reduce_1_image_files.dsd" size="373504" crc="e35c610e" sha1="aeea0e8387104c55d010d3647d78ee368b81200a" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Disc 2"/>
- <dataarea name="flop" size="380416">
- <rom name="reduce_2_image_files.dsd" size="380416" crc="bb77b6b1" sha1="748a0de19608f3dc3cd48434f99d0a0f3bb93ff0" offset="0" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_5_25">
- <feature name="part_id" value="Disc 3"/>
- <dataarea name="flop" size="381184">
- <rom name="reduce_3_image_files.dsd" size="381184" crc="692d5b61" sha1="2b2ab33c40e04844cccbf59fc896087d55c8884e" offset="0" />
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_5_25">
- <feature name="part_id" value="Disc 4: Documentation"/>
- <dataarea name="flop" size="333824">
- <rom name="reduce_4_documentation.dsd" size="333824" crc="7745de76" sha1="9b77bfe0adbdacdefce6ffae961623d9cd6994b2" offset="0" />
- </dataarea>
- </part>
- <part name="flop5" interface="floppy_5_25">
- <feature name="part_id" value="Disc 5"/>
- <dataarea name="flop" size="400128">
- <rom name="reduce_5_source_files.dsd" size="400128" crc="1e18dfeb" sha1="e663538bbe926152ff347d63cf22d6bcd0e073ce" offset="0" />
- </dataarea>
- </part>
- <part name="flop6" interface="floppy_5_25">
- <feature name="part_id" value="Disc 6"/>
- <dataarea name="flop" size="404736">
- <rom name="reduce_6_source_files.dsd" size="404736" crc="7f1b9386" sha1="2cef49e910be2b5cd007dca7aca0ba71a9f00871" offset="0" />
- </dataarea>
- </part>
- <part name="flop7" interface="floppy_5_25">
- <feature name="part_id" value="Disc 7"/>
- <dataarea name="flop" size="402432">
- <rom name="reduce_7_source_files.dsd" size="402432" crc="8df7cdb4" sha1="bb475e58ce61000d23edac85b91f1954a1e866de" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <!-- 1987 SSS06 Kermit -->
-
</softwarelist>
diff --git a/hash/bbc_rom.xml b/hash/bbc_rom.xml
index 3e376913d1e..a565add635a 100644
--- a/hash/bbc_rom.xml
+++ b/hash/bbc_rom.xml
@@ -63,26 +63,13 @@
</part>
</software>
- <software name="abe">
+ <software name="abe" supported="no">
<description>Advanced BASIC Editor</description>
<year>1988</year>
<publisher>P.R.E.S.</publisher>
<part name="rom1" interface="bbc_rom">
- <feature name="slot" value="palabe" />
<dataarea name="rom" size="32768">
- <rom name="AdvancedBASICEditor-1.00.rom" size="32768" crc="e0b93f43" sha1="8b5a7b4633c567a16fe5e885e4d742d85138e07c" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="abep">
- <description>Advanced BASIC Editor Plus</description>
- <year>1989</year>
- <publisher>P.R.E.S.</publisher>
- <part name="rom1" interface="bbc_rom">
- <feature name="slot" value="palabep" />
- <dataarea name="rom" size="32768">
- <rom name="AdvancedBASICEditorPlus-1.00.rom" size="32768" crc="7e3a119a" sha1="27e299a9f265415f347c028d14d8fb434c636d03" offset="0"/>
+ <rom name="ABE-1.00.rom" size="32768" crc="e0b93f43" sha1="8b5a7b4633c567a16fe5e885e4d742d85138e07c" offset="0"/>
</dataarea>
</part>
</software>
@@ -665,17 +652,6 @@
</part>
</software>
- <software name="aerodrom">
- <description>Aerodrome Training Aid</description>
- <year>1986</year>
- <publisher>Crown</publisher>
- <part name="rom1" interface="bbc_rom">
- <dataarea name="rom" size="16384">
- <rom name="AerodromeTrainingAid-1.4.rom" size="16384" crc="2d4b41f0" sha1="9395b7a817739fc46c5a944e68532b638589988c" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="aid">
<description>AID</description>
<year>1983</year>
@@ -847,7 +823,6 @@
<year>1987</year>
<publisher>Advanced Memory Systems</publisher>
<part name="rom1" interface="bbc_rom">
- <feature name="slot" value="cciword" />
<dataarea name="rom" size="32768">
<rom name="AMXDesign-1.00.rom" size="32768" crc="a72e2e59" sha1="a764545fd50c458c55cfcec8e18a641d5c51fd30" offset="0"/>
</dataarea>
@@ -1240,24 +1215,13 @@
</part>
</software>
- <software name="beebaid101" cloneof="beebaid">
- <description>BeebAid 1.01</description>
- <year>1985</year>
- <publisher>JaySoft</publisher>
- <part name="rom1" interface="bbc_rom">
- <dataarea name="rom" size="16384">
- <rom name="BeebAid-1.01.rom" size="16384" crc="e073abb2" sha1="49fa231d4b3503e9b1d19ab30063ecaf8e184849" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="beebaid">
- <description>BeebAid 1.02</description>
+ <description>BeebAid</description>
<year>1985</year>
<publisher>JaySoft</publisher>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="16384">
- <rom name="BeebAid-1.02.rom" size="16384" crc="2019a403" sha1="170b18df44188d3bfb79fd61ba9df900e6ed2727" offset="0"/>
+ <rom name="BeebAid-1.01.rom" size="16384" crc="e073abb2" sha1="49fa231d4b3503e9b1d19ab30063ecaf8e184849" offset="0"/>
</dataarea>
</part>
</software>
@@ -1459,18 +1423,6 @@
</part>
</software>
- <software name="bet">
- <description>BASIC Editor &amp; Toolkit</description>
- <year>1990</year>
- <publisher>Ian Copestake Software</publisher>
- <part name="rom1" interface="bbc_rom">
- <feature name="slot" value="palabep" />
- <dataarea name="rom" size="32768">
- <rom name="BASICEditorToolkit-1.00.rom" size="32768" crc="9dcf064e" sha1="80fb0c735a294b57e3fcc92614063a4ce319b41b" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="bitstik">
<description>Bitstik Service ROM 1.0</description>
<year>1984</year>
@@ -1677,17 +1629,6 @@
</part>
</software>
- <software name="cncdfs">
- <description>CNCIS DFS 1.2S</description>
- <year>198?</year>
- <publisher>CNC Interfacing Systems</publisher>
- <part name="rom1" interface="bbc_rom">
- <dataarea name="rom" size="16384">
- <rom name="CNCIS-DFS-1.2S.rom" size="16384" crc="056f212e" sha1="f19d1aee7b9d4664cac5a9f0dd9f1a740698d4b4" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="comal">
<description>COMAL</description>
<year>1985</year>
@@ -1980,12 +1921,12 @@
</part>
</software>
- <software name="conquest">
+ <software name="conquest" supported="no">
<description>ConQuest</description>
<year>1987</year>
<publisher>Watford Electronics</publisher>
<part name="rom1" interface="bbc_rom">
- <feature name="slot" value="palqst" />
+ <feature name="slot" value="wepal" />
<dataarea name="rom" size="32768">
<rom name="ConQuest-1.00.rom" size="32768" crc="f9634ece" sha1="d2785df6a617089dc72069baa0e1abb1f6e01b27" offset="0"/>
</dataarea>
@@ -2258,17 +2199,6 @@
</part>
</software>
- <software name="ddt">
- <description>DDT Version 7</description>
- <year>1984</year>
- <publisher>DDT Software</publisher>
- <part name="rom1" interface="bbc_rom">
- <dataarea name="rom" size="8192">
- <rom name="DDTv7.rom" size="8192" crc="948486f0" sha1="3bc59566d2893633fc0aee77aa3d5b1343e21d36" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="debug">
<description>Debug</description>
<year>1983</year>
@@ -2280,25 +2210,8 @@
</part>
</software>
- <software name="demomc">
- <description>Demo (Master Compact)</description>
- <year>1985</year>
- <publisher>Acorn</publisher>
- <sharedfeat name="compatibility" value="M"/>
- <part name="rom1" interface="bbc_rom">
- <dataarea name="rom" size="16384">
- <rom name="Demo-A-v1.rom" size="16384" crc="d22f9e93" sha1="e78dd4b226ded5c120ba573504b4d4fe362c0cc0" offset="0"/>
- </dataarea>
- </part>
- <part name="rom2" interface="bbc_rom">
- <dataarea name="rom" size="16384">
- <rom name="Demo-B-v1.rom" size="16384" crc="793ee194" sha1="f37bbe9741cbe35a50be435f36bc286565c89250" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="demon">
- <description>Demon Zromm 1.01</description>
+ <description>Demon</description>
<year>1984</year>
<publisher>Argonaut Software</publisher>
<part name="rom1" interface="bbc_rom">
@@ -2345,19 +2258,6 @@
</part>
</software>
- <software name="dfs09h" cloneof="dnfs120">
- <description>Acorn DFS 0.9H (Torch)</description>
- <year>1983</year>
- <publisher>Acorn</publisher>
- <info name="usage" value="Requires Acorn 8271 FDC" />
- <sharedfeat name="compatibility" value="B"/>
- <part name="rom1" interface="bbc_rom">
- <dataarea name="rom" size="8192">
- <rom name="Acorn-DFS-0.9H.rom" size="8192" crc="ff2ad94f" sha1="a5548f339e31382898ff4fa74e2a806f18bac5b9" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="dnfs100" cloneof="dnfs120">
<description>Acorn DNFS 1.00</description>
<year>198?</year>
@@ -2540,7 +2440,7 @@
</software>
<software name="disasm">
- <description>Disassembler</description>
+ <description>DIS-ASM</description>
<year>1984</year>
<publisher>Watford Electronics</publisher>
<part name="rom1" interface="bbc_rom">
@@ -2697,7 +2597,6 @@
<description>DoubleView</description>
<year>1988</year>
<publisher>Tubelink</publisher>
- <sharedfeat name="compatibility" value="M"/>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="16384">
<rom name="DoubleView1-1.00.rom" size="16384" crc="b13e6a6d" sha1="650f768333198d89496f68684026643433a4c44e" offset="0"/>
@@ -2710,6 +2609,17 @@
</part>
</software>
+ <software name="dtt">
+ <description>DTT Version 7</description>
+ <year>1984</year>
+ <publisher>DTT Software</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="DTTversion7.rom" size="8192" crc="948486f0" sha1="3bc59566d2893633fc0aee77aa3d5b1343e21d36" offset="0"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="dmpmastr100" cloneof="dmpmastr">
<description>Dumpmaster II 1.00</description>
<year>1985</year>
@@ -3328,36 +3238,6 @@
</part>
</software>
- <software name="genie" supported="no">
- <description>PMS Genie</description>
- <year>1987</year>
- <publisher>Permanent Memory Systems</publisher>
- <part name="rom1" interface="bbc_rom">
- <feature name="slot" value="genie" />
- <!-- Should be single 32K, 8K pages were dumped in-situ so may be corrupt and/or incorrect order. -->
- <dataarea name="rom" size="32768">
- <rom name="PMSGenie1-1.01.rom" size="8192" crc="3ee29106" sha1="8b4c14c0657fbb3b19fb85103cc39c06e026f280" offset="0x6000" status="baddump"/>
- <rom name="PMSGenie2-1.01.rom" size="8192" crc="3d666c36" sha1="810869aeb66fec7599aaec01641c07b1a8968fdc" offset="0x4000" status="baddump"/>
- <rom name="PMSGenie3-1.01.rom" size="8192" crc="297e99a8" sha1="4b225606cf052f72ef755fbc67d131ab6aa16438" offset="0x2000" status="baddump"/>
- <rom name="PMSGenie4-1.01.rom" size="8192" crc="b828717b" sha1="4f8ff82bd05ace8cee99e6c7c8dbc35d6de3e92d" offset="0x0000" status="baddump"/>
- </dataarea>
- <dataarea name="nvram" size="32768" />
- <dataarea name="ram" size="32768" />
- </part>
- </software>
-
- <software name="genieclk">
- <description>PMS Genie Real Time Clock</description>
- <year>1988</year>
- <publisher>Permanent Memory Systems</publisher>
- <part name="rom1" interface="bbc_rom">
- <feature name="slot" value="pmsrtc" />
- <dataarea name="rom" size="8192">
- <rom name="PMSGenieClock-3.02.rom" size="8192" crc="556d8bf9" sha1="a33675c7464e935fd10672d5266d3ee0c82d3a8b" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="geniejr">
<description>PMS Genie Junior</description>
<year>1987</year>
@@ -3610,30 +3490,6 @@
</part>
</software>
- <software name="hibasic3">
- <description>HiBASIC3</description>
- <year>1983</year>
- <publisher>Acorn</publisher>
- <info name="usage" value="Requires 6502 2nd Processor" />
- <part name="rom1" interface="bbc_rom">
- <dataarea name="rom" size="16384">
- <rom name="HiBASIC3.rom" size="16384" crc="6ea7affc" sha1="99234b55fde57680e4217b72ef4ccb8fc56edeff" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="hibasic4">
- <description>HiBASIC4</description>
- <year>1984</year>
- <publisher>Acorn</publisher>
- <info name="usage" value="Requires 65C102 2nd Processor" />
- <part name="rom1" interface="bbc_rom">
- <dataarea name="rom" size="16384">
- <rom name="HiBASIC4.rom" size="16384" crc="e08c3d53" sha1="570a95df09ce6719dbedc8166d328301ac49a926" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="hyperdrv100" cloneof="hyperdrv">
<description>HyperDriver 1.00</description>
<year>1987</year>
@@ -3733,17 +3589,6 @@
</part>
</software>
- <software name="imagep">
- <description>Image Processor 0.9A</description>
- <year>1984</year>
- <publisher>&lt;unknown&gt;</publisher>
- <part name="rom1" interface="bbc_rom">
- <dataarea name="rom" size="8192">
- <rom name="ImageProcessor-0.9A.rom" size="8192" crc="95bc21cc" sha1="834f38484025be4db49cf89bc853ec5bcd4ad16f" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="indxutil205b" cloneof="indxutil">
<description>Index Utility 2.05b</description>
<year>1984</year>
@@ -3777,12 +3622,11 @@
</part>
</software>
- <software name="ibase">
+ <software name="ibase" supported="no">
<description>Inter-Base 2.0A</description>
<year>1987</year>
<publisher>Computer Concepts</publisher>
<part name="rom1" interface="bbc_rom">
- <feature name="slot" value="ccibase" />
<dataarea name="rom" size="65536">
<rom name="InterBase-2.0A.rom" size="65536" crc="4332ed95" sha1="1308d8dfaa95d1e0160acc4af9bbc89cb53f6b14" offset="0"/>
</dataarea>
@@ -3934,38 +3778,24 @@
</part>
</software>
- <software name="iword">
+ <software name="iword" supported="no">
<description>Inter-Word 1.02</description>
<year>1986</year>
<publisher>Computer Concepts</publisher>
<part name="rom1" interface="bbc_rom">
- <feature name="slot" value="cciword" />
- <dataarea name="rom" size="32768">
- <rom name="InterWord-1.02.rom" size="32768" crc="c93e3c33" sha1="ab478e09e57775daac74b25aeabaf11139b05868" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="iworda1" cloneof="iword">
- <description>Inter-Word 1.O2 [alt1]</description>
- <year>1986</year>
- <publisher>Computer Concepts</publisher>
- <part name="rom1" interface="bbc_rom">
- <feature name="slot" value="cciword" />
<dataarea name="rom" size="32768">
- <rom name="InterWord-1.O2[a1].rom" size="32768" crc="9c48e363" sha1="e771ff00d0cda3697f33be1260d7ca9f95acea25" offset="0"/>
+ <rom name="InterWord-1.02.rom" size="32768" crc="9c48e363" sha1="e771ff00d0cda3697f33be1260d7ca9f95acea25" offset="0"/>
</dataarea>
</part>
</software>
- <software name="iworda2" cloneof="iword">
- <description>Inter-Word 1.O2 [alt2]</description>
+ <software name="iword1o2" cloneof="iword" supported="no">
+ <description>Inter-Word 1.O2</description>
<year>1986</year>
<publisher>Computer Concepts</publisher>
<part name="rom1" interface="bbc_rom">
- <feature name="slot" value="cciword" />
<dataarea name="rom" size="32768">
- <rom name="InterWord-1.O2[a2].rom" size="32768" crc="6702bdbb" sha1="447a19aa723acaabdf50aa718c1c7859d9a92299" offset="0"/>
+ <rom name="InterWord-1.O2.rom" size="32768" crc="6702bdbb" sha1="447a19aa723acaabdf50aa718c1c7859d9a92299" offset="0"/>
</dataarea>
</part>
</software>
@@ -4238,7 +4068,7 @@
<software name="mass">
<description>MASS</description>
<year>1984</year>
- <publisher>DDT Software</publisher>
+ <publisher>DTT Software</publisher>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="8192">
<rom name="MASS-1.0.rom" size="8192" crc="5e656ab8" sha1="b48dcfc8fb01c3ecd6cccdaa62a305f81c508409" offset="0"/>
@@ -4273,7 +4103,6 @@
<description>Master Emulation ROM 1.00</description>
<year>1987</year>
<publisher>Dabs Press</publisher>
- <sharedfeat name="compatibility" value="B,B+"/>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="16384">
<rom name="MasterEmulationROM-1.00.rom" size="16384" crc="d5924e24" sha1="d18dfc68ac514421815bd6760ef279b0a1796bc4" offset="0"/>
@@ -4285,7 +4114,6 @@
<description>Master Emulation ROM 2.01</description>
<year>1987</year>
<publisher>Dabs Press</publisher>
- <sharedfeat name="compatibility" value="B,B+"/>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="16384">
<rom name="MasterEmulationROM-2.01.rom" size="16384" crc="a11d80c6" sha1="798e7f4ce7f9dc61cd89d035c571f8dbd86b322c" offset="0"/>
@@ -4297,7 +4125,6 @@
<description>Master Emulation ROM 2.02</description>
<year>1988</year>
<publisher>Dabs Press</publisher>
- <sharedfeat name="compatibility" value="B,B+"/>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="16384">
<rom name="MasterEmulationROM-2.02.rom" size="16384" crc="a6dc835f" sha1="9f342ff0723a25e2f4b72eea8723131c5de4b253" offset="0"/>
@@ -4310,9 +4137,13 @@
<year>1987</year>
<publisher>Beebugsoft</publisher>
<part name="rom1" interface="bbc_rom">
- <feature name="slot" value="cciword" />
- <dataarea name="rom" size="32768">
- <rom name="MasterROM-1.01.rom" size="32768" crc="be70b1f9" sha1="6d03e7ce0cbfe0b6b521a111b88b3c1398d9270e" offset="0"/>
+ <dataarea name="rom" size="16384">
+ <rom name="MasterROM-1.01-1.rom" size="16384" crc="2b932ce9" sha1="672c62db79189136fb66027176f1c0a980f3384f" offset="0"/>
+ </dataarea>
+ </part>
+ <part name="rom2" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="MasterROM-1.01-2.rom" size="16384" crc="fd437c6d" sha1="8f415603773bb46a15f3e230a72071bf0e439042" offset="0"/>
</dataarea>
</part>
</software>
@@ -4322,9 +4153,13 @@
<year>1988</year>
<publisher>Beebugsoft</publisher>
<part name="rom1" interface="bbc_rom">
- <feature name="slot" value="cciword" />
- <dataarea name="rom" size="32768">
- <rom name="MasterROM-1.03.rom" size="32768" crc="b5592ef3" sha1="97b405c6b5490b62335b839b725a640f88f69924" offset="0"/>
+ <dataarea name="rom" size="16384">
+ <rom name="MasterROM-1.03-1.rom" size="16384" crc="5eb04e88" sha1="f9bd09240ecf0503c3d5523c7b1c9d9c4a1be25f" offset="0"/>
+ </dataarea>
+ </part>
+ <part name="rom2" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="MasterROM-1.03-2.rom" size="16384" crc="9b45e88e" sha1="b758a077908164e80672d6047972643c6d4d32c6" offset="0"/>
</dataarea>
</part>
</software>
@@ -4351,12 +4186,11 @@
</part>
</software>
- <software name="mega3">
+ <software name="mega3" supported="no">
<description>Mega3</description>
<year>1987</year>
<publisher>Computer Concepts</publisher>
<part name="rom1" interface="bbc_rom">
- <feature name="slot" value="ccispell" />
<dataarea name="rom" size="131072">
<rom name="Mega3-1.00.rom" size="131072" crc="faac60bb" sha1="560112e40794ca2d0e519ff1985472d37c01a394" offset="0"/>
</dataarea>
@@ -4592,17 +4426,16 @@
</part>
</software>
- <software name="moffice2">
+ <software name="moffice2" supported="no">
<description>Instant Mini Office II</description>
<year>1986</year>
<publisher>Database Software</publisher>
<part name="rom1" interface="bbc_rom">
- <feature name="slot" value="palmo2" />
<dataarea name="rom" size="131072">
- <rom name="MiniOfficeII-1.rom" size="32768" crc="5e0f6853" sha1="3deef1b1680c9a1449009b11899bf5ab360f89ef" offset="0x18000"/>
- <rom name="MiniOfficeII-2.rom" size="32768" crc="afb646cc" sha1="d7ead85e32930b0f35ad87d3a825f48896abc8e1" offset="0x10000"/>
- <rom name="MiniOfficeII-3.rom" size="32768" crc="e8a1cbd8" sha1="9e31542d2099c98605032c175c196f3ea073de5f" offset="0x08000"/>
- <rom name="MiniOfficeII-4.rom" size="32768" crc="d041fe31" sha1="cd0297096009c71ebb00709cfb32a6c56e7eea8b" offset="0x00000"/>
+ <rom name="MiniOfficeII-1.rom" size="32768" crc="5e0f6853" sha1="3deef1b1680c9a1449009b11899bf5ab360f89ef" offset="0x00000"/>
+ <rom name="MiniOfficeII-2.rom" size="32768" crc="afb646cc" sha1="d7ead85e32930b0f35ad87d3a825f48896abc8e1" offset="0x08000"/>
+ <rom name="MiniOfficeII-3.rom" size="32768" crc="e8a1cbd8" sha1="9e31542d2099c98605032c175c196f3ea073de5f" offset="0x10000"/>
+ <rom name="MiniOfficeII-4.rom" size="32768" crc="d041fe31" sha1="cd0297096009c71ebb00709cfb32a6c56e7eea8b" offset="0x18000"/>
</dataarea>
</part>
</software>
@@ -4719,17 +4552,14 @@
</part>
</software>
- <software name="mrme00">
+ <software name="mrme00" supported="no">
<description>MRM E00 DFS 1.20</description>
<year>1985</year>
- <publisher>MRM Software</publisher>
+ <publisher>MRM</publisher>
<part name="rom1" interface="bbc_rom">
- <feature name="slot" value="mrme00" />
<dataarea name="rom" size="8192">
<rom name="MRM-E00-DFS-1.20.rom" size="8192" crc="944958b6" sha1="0db7be4deb303af2400f9af20a9a7211dcbaeae5" offset="0"/>
</dataarea>
- <!-- TODO: Verify amount of RAM -->
- <dataarea name="ram" size="4096" />
</part>
</software>
@@ -5055,17 +4885,6 @@
</part>
</software>
- <software name="paramax">
- <description>Para-Max II</description>
- <year>198?</year>
- <publisher>CNC Interfacing Systems</publisher>
- <part name="rom1" interface="bbc_rom">
- <dataarea name="rom" size="16384">
- <rom name="ParamaxII-1.00.rom" size="16384" crc="773078dc" sha1="3a456a9374e9a16fa913f6b974484561e8ccbc28" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="pascalt">
<description>Pascal-T</description>
<year>1983</year>
@@ -5232,28 +5051,6 @@
</part>
</software>
- <software name="plotmta3">
- <description>Plotmate A3 2.00</description>
- <year>1986</year>
- <publisher>Linear Graphics</publisher>
- <part name="rom1" interface="bbc_rom">
- <dataarea name="rom" size="16384">
- <rom name="PlotmateA3-2.00.rom" size="16384" crc="4cb56269" sha1="0267f9013087851d3d625725ec9d7cd7fb9fa32e" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="plotmta4">
- <description>Plotmate A4 1.90</description>
- <year>1986</year>
- <publisher>Linear Graphics</publisher>
- <part name="rom1" interface="bbc_rom">
- <dataarea name="rom" size="16384">
- <rom name="PlotmateA4-1.90.rom" size="16384" crc="236df01b" sha1="73cf140224bf5fa71365f12640e42e5e79b79a9c" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="plus">
<description>Plus 4.00</description>
<year>1988</year>
@@ -5542,18 +5339,6 @@
</part>
</software>
- <software name="publishr">
- <description>The Publisher 1.10</description>
- <year>1988</year>
- <publisher>Permanent Memory Systems</publisher>
- <part name="rom1" interface="bbc_rom">
- <feature name="slot" value="ccibase" />
- <dataarea name="rom" size="65536">
- <rom name="ThePublisher-1.10.rom" size="65536" crc="8ff2e069" sha1="74c64ce449ff57bf1082509793fa1005ddaab6d7" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="qfs102">
<description>QFS 1.02</description>
<year>1984</year>
@@ -5589,24 +5374,24 @@
</part>
</software>
- <software name="questpnt">
+ <software name="questpnt" supported="no">
<description>Quest Paint 1.10</description>
<year>1986</year>
<publisher>Watford Electronics</publisher>
<part name="rom1" interface="bbc_rom">
- <feature name="slot" value="palqst" />
+ <feature name="slot" value="wepal" />
<dataarea name="rom" size="32768">
<rom name="QuestPaint-1.10.rom" size="32768" crc="839a9b34" sha1="e863067fc2a2b0f0c7129a17f189b31a0ee23594" offset="0"/>
</dataarea>
</part>
</software>
- <software name="questpnt104" cloneof="questpnt">
+ <software name="questpnt104" cloneof="questpnt" supported="no">
<description>Quest Paint 1.04</description>
<year>1986</year>
<publisher>Watford Electronics</publisher>
<part name="rom1" interface="bbc_rom">
- <feature name="slot" value="palqst" />
+ <feature name="slot" value="wepal" />
<dataarea name="rom" size="32768">
<rom name="QuestPaint-1.04.rom" size="32768" crc="7880eb9a" sha1="a9ac2fafe0f97a567005abe5679707fa0dbd7ef3" offset="0"/>
</dataarea>
@@ -5683,31 +5468,6 @@
</part>
</software>
- <software name="replay2" supported="no">
- <description>Replay System Mk2 2.00</description>
- <year>1988</year>
- <publisher>Vine Micros</publisher>
- <sharedfeat name="compatibility" value="B"/>
- <part name="rom1" interface="bbc_rom">
- <dataarea name="rom" size="16384">
- <rom name="ReplayMk2-2.00.rom" size="16384" crc="f42d297c" sha1="5bab729b42906cd9612cb6531c6393b16211daac" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="replaym" supported="no">
- <description>Master Replay</description>
- <year>1987</year>
- <publisher>Vine Micros</publisher>
- <sharedfeat name="compatibility" value="M"/>
- <!-- This is not a normal ROM, it's paged into the MOS region using an Overlay board. -->
- <part name="rom1" interface="bbc_rom">
- <dataarea name="rom" size="16384">
- <rom name="MasterReplay.rom" size="16384" crc="a9619a78" sha1="2c6a18366568b139f2ec8ba6b31315a921b88c29" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="romas300" cloneof="romas">
<description>ROMAS 3.00</description>
<year>1985</year>
@@ -5852,23 +5612,12 @@
</software>
<software name="satpic3" supported="no">
- <description>SatPic 3.0 (Timestep)</description>
+ <description>SatPic 3.0</description>
<year>1986</year>
- <publisher>Timestep</publisher>
- <part name="rom1" interface="bbc_rom">
- <dataarea name="rom" size="8192">
- <rom name="SatPic-3.00-Timestep.rom" size="8192" crc="4af48cc2" sha1="ddbdea821582a205873b11968948a2007d0aad18" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="satpic3c" cloneof="satpic3" supported="no">
- <description>SatPic 3.0 (Cirkit)</description>
- <year>1987</year>
<publisher>Cirkit</publisher>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="8192">
- <rom name="SatPic-3.00-Cirkit.rom" size="8192" crc="1488ef0e" sha1="6c77d3cb41d74f72c4169a73dd886f9520e373ec" offset="0"/>
+ <rom name="SatPic-3.00.rom" size="8192" crc="4af48cc2" sha1="ddbdea821582a205873b11968948a2007d0aad18" offset="0"/>
</dataarea>
</part>
</software>
@@ -5917,17 +5666,6 @@
</part>
</software>
- <software name="scrnprnt102" cloneof="scrnprnt">
- <description>Colour Screenprint 1.02s</description>
- <year>1988</year>
- <publisher>ESM</publisher>
- <part name="rom1" interface="bbc_rom">
- <dataarea name="rom" size="16384">
- <rom name="Screenprint-1.02s.rom" size="16384" crc="dd0511e8" sha1="bc5bcc1063a2ba5358551795ec019124c3a8971a" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="scrnprnt">
<description>Colour Screenprint 1.30s</description>
<year>1988</year>
@@ -6226,12 +5964,11 @@
</part>
</software>
- <software name="spellmst166" cloneof="spellmst">
+ <software name="spellmst166" cloneof="spellmst" supported="no">
<description>SpellMaster 1.66</description>
<year>1987</year>
<publisher>Computer Concepts</publisher>
<part name="rom1" interface="bbc_rom">
- <feature name="slot" value="ccispell" />
<dataarea name="rom" size="131072">
<rom name="SpellMaster-1.66-128K.rom" size="65536" crc="4e096d33" sha1="c1d72d32528888c595a2565220f3f7686028bdbf" offset="0x0000"/>
<rom name="SpellMaster-1.66-Spell.rom" size="65536" crc="42457ecf" sha1="20fc4a01c0d295ee34be57fdcbd687608781cbae" offset="0x10000"/>
@@ -6239,12 +5976,11 @@
</part>
</software>
- <software name="spellmst">
+ <software name="spellmst" supported="no">
<description>SpellMaster 1.69</description>
<year>1987</year>
<publisher>Computer Concepts</publisher>
<part name="rom1" interface="bbc_rom">
- <feature name="slot" value="ccispell" />
<dataarea name="rom" size="131072">
<rom name="SpellMaster-1.69.rom" size="131072" crc="c26533ec" sha1="deb5e62b18caf75b24ab48dd565f77e200371f67" offset="0"/>
</dataarea>
@@ -6431,8 +6167,8 @@
<description>Solidisk ADFS 20/2 Issue 2</description>
<year>1985</year>
<publisher>Solidisk</publisher>
- <info name="usage" value="Requires Solidisk 1770 DDFS Issue 2 FDC" />
- <sharedfeat name="compatibility" value="B"/>
+ <info name="usage" value="Requires Acorn 1770 FDC" />
+ <sharedfeat name="compatibility" value="B,B+"/>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="16384">
<rom name="Solidisk-ADFS-20-2.rom" size="16384" crc="9d010d41" sha1="086dae86b762cace6fdaa754e30235d3d438e443" offset="0"/>
@@ -6440,25 +6176,12 @@
</part>
</software>
- <software name="stladfs21" supported="no">
- <description>Solidisk ADFS 2.1 11/10/85</description>
- <year>1985</year>
- <publisher>Solidisk</publisher>
- <info name="usage" value="Requires Solidisk 1770 DDFS Issue 1 FDC" />
- <sharedfeat name="compatibility" value="B"/>
- <part name="rom1" interface="bbc_rom">
- <dataarea name="rom" size="16384">
- <rom name="Solidisk-ADFS-2.1-110185.rom" size="16384" crc="626b5fb1" sha1="46c0fedba004b8a1696405f9237f6337ae907b43" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="stladfs21d">
<description>Solidisk ADFS 2.1D Issue 2</description>
<year>1985</year>
<publisher>Solidisk</publisher>
- <info name="usage" value="Requires Solidisk 1770 DDFS Issue 2 FDC" />
- <sharedfeat name="compatibility" value="B"/>
+ <info name="usage" value="Requires Acorn 1770 FDC" />
+ <sharedfeat name="compatibility" value="B,B+"/>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="16384">
<rom name="Solidisk-ADFS-2.1D.rom" size="16384" crc="65f974b0" sha1="3a108f9ff4edf879741485e78cffe39e613d7de6" offset="0"/>
@@ -6466,24 +6189,12 @@
</part>
</software>
- <software name="stladfs21j" supported="no">
- <description>Solidisk ADFS 2.1J (10MB)</description>
- <year>1986</year>
- <publisher>Solidisk</publisher>
- <sharedfeat name="compatibility" value="B"/>
- <part name="rom1" interface="bbc_rom">
- <dataarea name="rom" size="16384">
- <rom name="Solidisk-ADFS-2.1J-10MB.rom" size="16384" crc="8a5abd63" sha1="24f9ec81f7864d7c83fcede4a49433687154de0f" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="stladfs21m">
<description>Solidisk ADFS 2.1M</description>
<year>1985</year>
<publisher>Solidisk</publisher>
- <info name="usage" value="Requires Solidisk 1770 DDFS Issue 2 FDC" />
- <sharedfeat name="compatibility" value="B"/>
+ <info name="usage" value="Requires Acorn 1770 FDC" />
+ <sharedfeat name="compatibility" value="B,B+"/>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="16384">
<rom name="Solidisk-ADFS-2.1M.rom" size="16384" crc="516c343a" sha1="5f07b77813f508f79491c44d620244bb58ff870a" offset="0"/>
@@ -6495,8 +6206,8 @@
<description>Solidisk ADFS 2.1M Issue 2</description>
<year>1985</year>
<publisher>Solidisk</publisher>
- <info name="usage" value="Requires Solidisk 1770 DDFS Issue 2 FDC" />
- <sharedfeat name="compatibility" value="B"/>
+ <info name="usage" value="Requires Acorn 1770 FDC" />
+ <sharedfeat name="compatibility" value="B,B+"/>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="16384">
<rom name="Solidisk-ADFS-2.1Miss2.rom" size="16384" crc="947da3c7" sha1="5a47dda61ec46d8f203b3203890546cc837d4e02" offset="0"/>
@@ -6508,7 +6219,6 @@
<description>Solidisk ADFS 2.1S</description>
<year>1985</year>
<publisher>Solidisk</publisher>
- <info name="usage" value="Requires Solidisk 1770 DDFS Issue 1 FDC" />
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="16384">
<rom name="Solidisk-ADFS-2.1S.rom" size="16384" crc="ee5db62c" sha1="4a16ca65097831b2abd9b53a150bc1d7904a86d2" offset="0"/>
@@ -6516,23 +6226,10 @@
</part>
</software>
- <software name="stlddfs14" supported="no">
- <description>Solidisk DDFS 1.4</description>
- <year>1984</year>
- <publisher>Solidisk</publisher>
- <sharedfeat name="compatibility" value="B"/>
- <part name="rom1" interface="bbc_rom">
- <dataarea name="rom" size="8192">
- <rom name="Solidisk-DDFS-1.4.rom" size="8192" crc="e691a633" sha1="a7270c107b430d95b8c707a578889783c7f3e707" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="stlddfs15" supported="no">
<description>Solidisk DDFS 1.5</description>
<year>1985</year>
<publisher>Solidisk</publisher>
- <info name="usage" value="Requires Solidisk 1770 DDFS Issue 1 FDC" />
<sharedfeat name="compatibility" value="B"/>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="8192">
@@ -6545,7 +6242,6 @@
<description>Solidisk DDFS 1.9</description>
<year>1985</year>
<publisher>Solidisk</publisher>
- <info name="usage" value="Requires Solidisk 1770 DDFS Issue 1 FDC" />
<sharedfeat name="compatibility" value="B"/>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="8192">
@@ -6554,37 +6250,10 @@
</part>
</software>
- <software name="stldfs201" supported="no">
- <description>Solidisk DFS 2.0 (Jan 85)</description>
- <year>1985</year>
- <publisher>Solidisk</publisher>
- <info name="usage" value="Requires Solidisk 1770 DDFS Issue 1 FDC" />
- <sharedfeat name="compatibility" value="B"/>
- <part name="rom1" interface="bbc_rom">
- <dataarea name="rom" size="16384">
- <rom name="Solidisk-DFS-2.0-Feb85.rom" size="16384" crc="1f609389" sha1="706f3de07b9f128c0e89d69d80e4e49b1ebf6b29" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="stldfs202" supported="no">
- <description>Solidisk DFS 2.0 (Feb 85)</description>
- <year>1985</year>
- <publisher>Solidisk</publisher>
- <info name="usage" value="Requires Solidisk 1770 DDFS Issue 1 FDC" />
- <sharedfeat name="compatibility" value="B"/>
- <part name="rom1" interface="bbc_rom">
- <dataarea name="rom" size="16384">
- <rom name="Solidisk-DFS-2.0-Feb85.rom" size="16384" crc="6389dac2" sha1="e926e92622dfb508f8830ae619f27f4ccaf0c75b" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="stldfs20" supported="partial">
<description>Solidisk DFS 2.00 (8271/1770)</description>
<year>1985</year>
<publisher>Solidisk</publisher>
- <info name="usage" value="Requires Solidisk 1770 DDFS Issue 1 FDC" />
<sharedfeat name="compatibility" value="B"/>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="16384">
@@ -6593,24 +6262,10 @@
</part>
</software>
- <software name="stldfs20a" supported="no">
- <description>Solidisk DFS 2.0A (8271/1770)</description>
- <year>1985</year>
- <publisher>Solidisk</publisher>
- <info name="usage" value="Requires Solidisk 1770 DDFS Issue 1 FDC" />
- <sharedfeat name="compatibility" value="B"/>
- <part name="rom1" interface="bbc_rom">
- <dataarea name="rom" size="16384">
- <rom name="Solidisk-DFS-8271-1770-2.0A.rom" size="16384" crc="d6c63557" sha1="14aa1c6e93ac8950730aa130b50fd59cbd830f3c" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="stldfs20j" supported="no">
<description>Solidisk DFS 2.0J (8271/1770)</description>
<year>1985</year>
<publisher>Solidisk</publisher>
- <info name="usage" value="Requires Solidisk 1770 DDFS Issue 1 FDC" />
<sharedfeat name="compatibility" value="B"/>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="16384">
@@ -6623,7 +6278,6 @@
<description>Solidisk DFS 2.0L (8271/1770)</description>
<year>1985</year>
<publisher>Solidisk</publisher>
- <info name="usage" value="Requires Solidisk 1770 DDFS Issue 1 FDC" />
<sharedfeat name="compatibility" value="B"/>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="16384">
@@ -6636,7 +6290,6 @@
<description>Solidisk DFS 2.0m (8271/1770)</description>
<year>1985</year>
<publisher>Solidisk</publisher>
- <info name="usage" value="Requires Solidisk 1770 DDFS Issue 1 FDC" />
<sharedfeat name="compatibility" value="B"/>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="16384">
@@ -6646,14 +6299,13 @@
</software>
<software name="stldfs21" supported="no">
- <description>Solidisk DFS 2.1 (Mar 85)</description>
+ <description>Solidisk DFS 2.1 (8271/1770)</description>
<year>1985</year>
<publisher>Solidisk</publisher>
- <info name="usage" value="Requires Solidisk 1770 DDFS Issue 1 FDC" />
<sharedfeat name="compatibility" value="B"/>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="16384">
- <rom name="Solidisk-DFS-8271-1770-2.1.rom" size="16384" crc="cc83d913" sha1="c761102ac11be629676339e9e496fb78734e4399" offset="0"/>
+ <rom name="Solidisk-DFS-8271-1770-2.1.rom" size="16384" crc="cc3e6b4e" sha1="c820c15013070fbc79362dc0c2a1f1c1375c94dd" offset="0"/>
</dataarea>
</part>
</software>
@@ -6662,7 +6314,6 @@
<description>Solidisk DFS 2.1A (1770)</description>
<year>1985</year>
<publisher>Solidisk</publisher>
- <info name="usage" value="Requires Solidisk 1770 DDFS Issue 1 FDC" />
<sharedfeat name="compatibility" value="B"/>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="16384">
@@ -6671,34 +6322,8 @@
</part>
</software>
- <software name="stldfs21f2">
- <description>Solidisk DFS 2.1F (1770) Issue 2</description>
- <year>1985</year>
- <publisher>Solidisk</publisher>
- <info name="usage" value="Requires Solidisk 1770 DDFS Issue 2 FDC" />
- <sharedfeat name="compatibility" value="B"/>
- <part name="rom1" interface="bbc_rom">
- <dataarea name="rom" size="16384">
- <rom name="Solidisk-DFS-2.1F-Iss2.rom" size="16384" crc="bab70e96" sha1="e78d3ba97ea410c54d89ae82d2fc5eeb607a3f76" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="stldfs21j" supported="no">
- <description>Solidisk DFS 2.1J (1770)</description>
- <year>1985</year>
- <publisher>Solidisk</publisher>
- <info name="usage" value="Requires Solidisk 1770 DDFS Issue 1 FDC" />
- <sharedfeat name="compatibility" value="B"/>
- <part name="rom1" interface="bbc_rom">
- <dataarea name="rom" size="16384">
- <rom name="Solidisk-DFS-2.1J.rom" size="16384" crc="b60296f1" sha1="22e60d4dda37335f61c27a92ba76ccc3e2102c4e" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="stldfs21j1" supported="no">
- <description>Solidisk DFS 2.1J (1770) Issue 1</description>
+ <description>Solidisk DFS 2.1J Issue 1</description>
<year>1985</year>
<publisher>Solidisk</publisher>
<sharedfeat name="compatibility" value="B"/>
@@ -6710,10 +6335,10 @@
</software>
<software name="stldfs21j2">
- <description>Solidisk DFS 2.1J (1770) Issue 2</description>
+ <description>Solidisk DFS 2.1J Issue 2</description>
<year>1985</year>
<publisher>Solidisk</publisher>
- <info name="usage" value="Requires Solidisk 1770 DDFS Issue 2 FDC" />
+ <info name="usage" value="Requires Acorn 1770 FDC" />
<sharedfeat name="compatibility" value="B"/>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="16384">
@@ -6723,10 +6348,10 @@
</software>
<software name="stldfs21m2">
- <description>Solidisk DFS 2.1M (1770) Issue 2</description>
+ <description>Solidisk DFS 2.1M Issue 2</description>
<year>1985</year>
<publisher>Solidisk</publisher>
- <info name="usage" value="Requires Solidisk 1770 DDFS Issue 2 FDC" />
+ <info name="usage" value="Requires Acorn 1770 FDC" />
<sharedfeat name="compatibility" value="B"/>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="16384">
@@ -6737,9 +6362,9 @@
<software name="stldfs22d">
<description>Solidisk DFS 2.2D</description>
- <year>1986</year>
+ <year>1985</year>
<publisher>Solidisk</publisher>
- <info name="usage" value="Requires Solidisk 1770 DDFS Issue 2 FDC" />
+ <info name="usage" value="Requires Acorn 1770 FDC" />
<sharedfeat name="compatibility" value="B"/>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="16384">
@@ -6750,9 +6375,9 @@
<software name="stldfs22f2">
<description>Solidisk DFS 2.2F Issue 2</description>
- <year>1986</year>
+ <year>1985</year>
<publisher>Solidisk</publisher>
- <info name="usage" value="Requires Solidisk 1770 DDFS Issue 2 FDC" />
+ <info name="usage" value="Requires Acorn 1770 FDC" />
<sharedfeat name="compatibility" value="B"/>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="16384">
@@ -6763,9 +6388,9 @@
<software name="stldfs22j2">
<description>Solidisk DFS 2.2J Issue 2</description>
- <year>1986</year>
+ <year>1985</year>
<publisher>Solidisk</publisher>
- <info name="usage" value="Requires Solidisk 1770 DDFS Issue 2 FDC" />
+ <info name="usage" value="Requires Acorn 1770 FDC" />
<sharedfeat name="compatibility" value="B"/>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="16384">
@@ -6776,9 +6401,9 @@
<software name="stldfs22m2">
<description>Solidisk DFS 2.2M Issue 2</description>
- <year>1986</year>
+ <year>1985</year>
<publisher>Solidisk</publisher>
- <info name="usage" value="Requires Solidisk 1770 DDFS Issue 2 FDC" />
+ <info name="usage" value="Requires Acorn 1770 FDC" />
<sharedfeat name="compatibility" value="B"/>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="16384">
@@ -6791,7 +6416,6 @@
<description>Solidisk DFS 2.2N Issue 2</description>
<year>1986</year>
<publisher>Solidisk</publisher>
- <info name="usage" value="Requires Solidisk 1770 DDFS Issue 2 FDC" />
<sharedfeat name="compatibility" value="B"/>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="16384">
@@ -6800,26 +6424,11 @@
</part>
</software>
- <software name="stldfs221" supported="no">
- <description>Solidisk DFS 2.21 Issue 1</description>
- <year>1986</year>
- <publisher>Solidisk</publisher>
- <info name="usage" value="Requires Solidisk 1770 DDFS Issue 1 FDC" />
- <sharedfeat name="compatibility" value="B"/>
- <part name="rom1" interface="bbc_rom">
- <dataarea name="rom" size="16384">
- <rom name="Solidisk-DFS-2.21-Iss1.rom" size="16384" crc="f240c5c2" sha1="3c86f290555ed32ed414c3b192fb747de0c23fe0" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="stlrtc">
+ <software name="stlrtc" supported="no">
<description>STL Clock &amp; Desk</description>
<year>1986</year>
<publisher>Solidisk</publisher>
- <sharedfeat name="compatibility" value="B"/>
<part name="rom1" interface="bbc_rom">
- <feature name="slot" value="stlrtc" />
<dataarea name="rom" size="16384">
<rom name="Solidisk-RTC-1.00.rom" size="16384" crc="bc8eb078" sha1="cf812dba6fcec81e55582a6f4bfa21677bc97290" offset="0"/>
</dataarea>
@@ -6892,17 +6501,6 @@
</part>
</software>
- <software name="suprutil">
- <description>Super Utility</description>
- <year>198?</year>
- <publisher>GTM Computers</publisher>
- <part name="rom1" interface="bbc_rom">
- <dataarea name="rom" size="8192">
- <rom name="SuperUtility-GTM.rom" size="8192" crc="ea946786" sha1="8dce6a447cddaafaedefb3fd348dff474312f2d0" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="suprvisr">
<description>Supervisor</description>
<year>1985</year>
@@ -6969,12 +6567,33 @@
</part>
</software>
- <software name="ted">
+ <software name="techcadr1">
+ <description>TechnoCAD R1</description>
+ <year>1987</year>
+ <publisher>Technomatic</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="TechnoCAD-R1-1.00.rom" size="16384" crc="662a4f28" sha1="3a8a9c5c72212aeadf0c1f2ba8b3ff7f4a08ea2a" offset="0"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="techcadr2">
+ <description>TechnoCAD R2</description>
+ <year>1988</year>
+ <publisher>Technomatic</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="TechnoCAD-R2-1.00.rom" size="16384" crc="19fd969a" sha1="845f73dad31635a307db2d16a61b20ca4561f659" offset="0"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="ted" supported="no">
<description>TED 1.11</description>
<year>1987</year>
<publisher>Watford Electronics</publisher>
<part name="rom1" interface="bbc_rom">
- <feature name="slot" value="palted" />
<dataarea name="rom" size="32768">
<rom name="TED-1.11.rom" size="32768" crc="2d4c6458" sha1="62d6ac9044c0e12f6841257a498df26545f5942e" offset="0"/>
</dataarea>
@@ -7093,7 +6712,7 @@
<software name="termultr">
<description>Termulator</description>
- <year>1985</year>
+ <year>198?</year>
<publisher>Acornsoft</publisher>
<info name="release" value="SBL23" />
<part name="rom1" interface="bbc_rom">
@@ -7103,13 +6722,11 @@
</part>
</software>
- <software name="tictoc">
+ <software name="tictoc" supported="no">
<description>Tic-Toc RTC</description>
<year>1988</year>
<publisher>Computer and Technical Services</publisher>
- <sharedfeat name="compatibility" value="B"/>
<part name="rom1" interface="bbc_rom">
- <feature name="slot" value="stlrtc" />
<dataarea name="rom" size="16384">
<rom name="TicTocRTC-2.03.rom" size="16384" crc="9fc6e90f" sha1="a1a803bee553bb1e5da6536ef0a650f26391cd4f" offset="0"/>
</dataarea>
@@ -7448,16 +7065,6 @@
</software>
<software name="userram">
- <description>UserRAM</description>
- <year>1985</year>
- <publisher>Acorn User</publisher>
- <part name="rom1" interface="bbc_rom">
- <feature name="slot" value="ram" />
- <dataarea name="ram" size="16384" />
- </part>
- </software>
-
- <software name="userramd">
<description>UserRAM Demonstration ROM</description>
<year>1985</year>
<publisher>Acorn User</publisher>
@@ -7589,17 +7196,6 @@
</part>
</software>
- <software name="vdigitsr">
- <description>Video Digitiser 1.03</description>
- <year>1984</year>
- <publisher>RH Electronics</publisher>
- <part name="rom1" interface="bbc_rom">
- <dataarea name="rom" size="8192">
- <rom name="VideoDigitiser-1.03.rom" size="8192" crc="f83e0d14" sha1="a19979b72108171612505711d7e97341c83545e1" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="viditel">
<description>Viditel</description>
<year>198?</year>
@@ -7811,17 +7407,6 @@
</part>
</software>
- <software name="vnula" supported="no">
- <description>VideoNuLA 1.02</description>
- <year>2017</year>
- <publisher>Rob Coleman</publisher>
- <part name="rom1" interface="bbc_rom">
- <dataarea name="rom" size="16384">
- <rom name="VideoNuLA-1.02.rom" size="16384" crc="47ced987" sha1="7784a1cc8e840026570eccae21c96d754b90086e" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="vt100">
<description>VT100 1.60</description>
<year>1989</year>
@@ -7833,12 +7418,12 @@
</part>
</software>
- <software name="wapping">
- <description>The Wapping Editor 1.30</description>
+ <software name="wapping" supported="no">
+ <description>The Wapping Editor</description>
<year>1988</year>
<publisher>Watford Electronics</publisher>
<part name="rom1" interface="bbc_rom">
- <feature name="slot" value="palwap" />
+ <feature name="slot" value="wepal" />
<dataarea name="rom" size="65536">
<rom name="WappingEditor-1.30.rom" size="65536" crc="26431b44" sha1="2bb36ec8f22ab1858ffd4da343d131140b29a46d" offset="0"/>
</dataarea>
@@ -8074,7 +7659,7 @@
</software>
<software name="wordpwr">
- <description>WordPower</description>
+ <description>Word Power</description>
<year>1986</year>
<publisher>Ian Copestake</publisher>
<part name="rom1" interface="bbc_rom">
diff --git a/hash/bbcmc_flop.xml b/hash/bbcmc_flop.xml
index 2ab16b9f6d8..fca2734ba47 100644
--- a/hash/bbcmc_flop.xml
+++ b/hash/bbcmc_flop.xml
@@ -45,30 +45,8 @@
</part>
</software>
- <software name="codedro" supported="no">
- <description>Codename: DROID</description>
- <year>1987</year>
- <publisher>Superior Software/Acornsoft</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="3463936">
- <rom name="Codename DROID (Superior) (BMC) (Disc35).fdi" size="3463936" crc="8ee0a2a3" sha1="d6f5595b6738f75b271958d0763d14fc08fafee9" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="colos4ch" supported="no">
- <description>Colossus Chess 4.0</description>
- <year>1986</year>
- <publisher>CDS</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="3468288">
- <rom name="Colossus Chess 4 (CDS) (BMC) (Disc35).fdi" size="3468288" crc="5e009178" sha1="c09038f3803d3e4441042bd8c627ff010b63657e" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="elited" cloneof="elite">
- <description>Elite [deprotected]</description>
+ <software name="elite">
+ <description>Elite</description>
<year>1986</year>
<publisher>Superior Software/Acornsoft</publisher>
<info name="release" value="SUG60" />
@@ -79,161 +57,6 @@
</part>
</software>
- <software name="elite" supported="no">
- <description>Elite</description>
- <year>1986</year>
- <publisher>Superior Software/Acornsoft</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="3205376">
- <rom name="Elite (Superior) (BMC) (Disc35).fdi" size="3205376" crc="a8580b91" sha1="8ec5c512d17432752c86e252f123d973098e3f5f" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="exile" supported="no">
- <description>Exile</description>
- <year>1988</year>
- <publisher>Superior Software/Acornsoft</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="3461632">
- <rom name="Exile (Superior) (BMC) (Disc35).fdi" size="3461632" crc="92c22af9" sha1="a0bc2024d42a1f488e9012ff88451bcf0abdb592" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="holedout" supported="no">
- <description>Holed Out</description>
- <year>1989</year>
- <publisher>4th Dimension</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="3363584">
- <rom name="Holed Out (Fourth Dimension, The) (BMC) (Disc35).fdi" size="3363584" crc="437cccc6" sha1="ab730a66e28c6ff0028b944e2d988ab79c5c492f" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="holedoc2" supported="no">
- <description>Holed Out Extra Courses Vol.2</description>
- <year>1989</year>
- <publisher>4th Dimension</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="3596800">
- <rom name="Holed Out - Extra Courses Vol 2 (Fourth Dimension, The) (BMC) (Disc35).fdi" size="3596800" crc="bab311ef" sha1="df3747e8a3327fd63d3db91be39bcfa4572da095" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="krystalc">
- <description>The Krystal Connection</description>
- <year>2009</year>
- <publisher>Retro Software</publisher>
- <info name="author" value="Stephen Smith" />
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="39680">
- <rom name="The Krystal Connection (2009)(Retro Software).adf" size="39680" crc="3f565fdf" sha1="e6ce604c23e32ad3e42b3fcd9b23ba57376bc621" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="mpmagic" supported="no">
- <description>Micro Power Magic</description>
- <year>1986</year>
- <publisher>Micro Power</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="3448832">
- <rom name="Micro Power Magic (Micro Power) (BMC) (Disc35).fdi" size="3448832" crc="fbf0e03c" sha1="ac6bcc7df5f6dc8a925d074416089d242413a409" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="pias" supported="no">
- <description>Play It Again Sam</description>
- <year>1987</year>
- <publisher>Superior Software/Acornsoft</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="3719168">
- <rom name="Play It Again Sam (Superior) (BMC) (Disc35).fdi" size="3719168" crc="480eacc7" sha1="bb6f58124f1afd20471c73893582aa1ca4e12b38" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="pias2" supported="no">
- <description>Play It Again Sam 2</description>
- <year>198?</year>
- <publisher>Superior Software/Acornsoft</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="3551232">
- <rom name="Play It Again Sam 2 (Superior) (BMC) (Disc35).fdi" size="3551232" crc="127cca5b" sha1="b0c2c78487e1d1d514c221e50b3a6a39df1fb17b" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="qmaster" supported="no">
- <description>Q-Master</description>
- <year>1991</year>
- <publisher>4th Dimension</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="3263488">
- <rom name="Q-Master (Fourth Dimension, The) (BMC) (Disc35).fdi" size="3263488" crc="be8358e4" sha1="4941f2ace2ca1b09f3563e28e767ee4307d98c8f" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="reptonti" supported="no">
- <description>Repton Thru Time</description>
- <year>1988</year>
- <publisher>Superior Software/Acornsoft</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="3601408">
- <rom name="Repton Thru Time (Superior) (BMC) (Disc35).fdi" size="3601408" crc="b31c34a1" sha1="fe38370a119ee9f278569bb5a088d0e4055fc92f" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="reptonwo" supported="no">
- <description>Repton Around the World in 40 Screens</description>
- <year>1987</year>
- <publisher>Superior Software/Acornsoft</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="3400192">
- <rom name="Around the World in 40 Screens (Superior) (BMC) (Disc35).fdi" size="3400192" crc="68ff41a2" sha1="4d4e48bfc7fdb6660e64b676dbe2b630034f0814" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="stdsnook" supported="no">
- <description>Steve Davis Snooker</description>
- <year>1986</year>
- <publisher>CDS</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="3396096">
- <rom name="Steve Davis Snooker (CDS) (BMC) (Disc35).fdi" size="3396096" crc="d2d2f15e" sha1="96e0adf8cb437c796b475d4785c337b7a1011612" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="strykrun" supported="no">
- <description>Stryker's Run</description>
- <year>1986</year>
- <publisher>Superior Software/Acornsoft</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="3726336">
- <rom name="Stryker's Run (Superior) (BMC) (Disc35).fdi" size="3726336" crc="2709ce38" sha1="8343477be489e7eeecf844446f05001423dc01e2" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="uim" supported="no">
- <description>U.I.M.</description>
- <year>1989</year>
- <publisher>4th Dimension</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="3196928">
- <rom name="UIM (Fourth Dimension, The) (BMC) (Disc35).fdi" size="3196928" crc="e86a2077" sha1="96102eeb1afb15fafddda4d92ad347bdbdbfcdc6" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="welcome">
<description>Welcome &amp; Utilities Disc for Master Compact</description>
<year>1986</year>
@@ -245,37 +68,8 @@
</part>
</software>
- <software name="zap">
- <description>Zap!</description>
- <year>2009</year>
- <publisher>Retro Software</publisher>
- <info name="author" value="Jamie Woodhouse" />
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="45312">
- <rom name="Zap! (2009)(Retro Software).adf" size="45312" crc="3554bc34" sha1="e8f206bf93c6b30295fd9926a37fb5743b8a3c93" offset="0" />
- </dataarea>
- </part>
- </software>
-
<!-- Business -->
- <software name="acom">
- <description>Acom</description>
- <year>1987</year>
- <publisher>Acornsoft</publisher>
- <info name="release" value="SNC11" />
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="655360">
- <rom name="Acom.adl" size="655360" crc="8544394e" sha1="1ece4427f2bdbcfc8232f9b40478139d090fdde6" offset="0" />
- </dataarea>
- </part>
- <part name="rom1" interface="bbc_rom">
- <dataarea name="rom" size="16384">
- <rom name="Acom-4.10.rom" size="16384" crc="a0fa1740" sha1="ef8f83707405b95c662c322b9e5a60456970cc9b" offset="0" />
- </dataarea>
- </part>
- </software>
-
<software name="viewplot">
<description>ViewPlot</description>
<year>1986</year>
diff --git a/hash/c2color_cart.xml b/hash/c2color_cart.xml
deleted file mode 100644
index cc448cb7b04..00000000000
--- a/hash/c2color_cart.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
-<softwarelist name="c2color_cart" description="C2 Color cartridges">
-
- <!--
- Chinese name Pinyin English Translation Released? Dumped? Year Released Cartridge # Publisher Notes Note 2:
- 带龙王å°å° Dài Lóngwáng FÄ“ngyìn The Agreement with the Dragon King Y N 2015 1 Baiyi Animation Not a separate game, an extension for the built in game
- 之翼王的试炼 Zhī Yìwáng De Shì Liàn The Trials of King Wing Y N 2015 2 Baiyi Animation Not a separate game, an extension for the built in game
- 之英雄岛之烈焰魔 Zhī Yīngxióng Dǎo Zhī Lièyàn Mó The Fire Devil of Hero Island Y N 2015 3 Baiyi Animation Not a separate game, an extension for the built in game
- 暗黑势力å†ä¸´ ÀnhÄ“i Shìlì Zài Lín The Dark Ones Come Again Y Y 2015 4 Baiyi Animation Not a separate game, an extension for the built in game
- 神秘的龙æ—之王 Shénmì De Lóngzú ZhÄ« Wáng The Mysterious King of the Dragon Land Y Y 2015 5 Baiyi Animation Not a separate game, an extension for the built in game
- æ¤ç‰©å¤§æˆ˜åƒµå°¸ï¼’ Zhíwù Dàzhàn JiÄngshÄ« 2 Plants vs. Zombies 2 N N N/A 6 PopCap Games Supposed to be the only standalone game for the C2 Supposed to be released Q1 2016, but never was
- ? ? Locke Kingdom search N N N/A 7 Baiyi Animation Not a separate game, an extension for the built in game Mentioned as coming soon in a promotional booklet
- -->
-
- <software name="darkones" supported="no">
- <description>Dì 4 dàn: Ànhēi Shìlì Zài Lín</description>
- <year>2015</year>
- <publisher>Baiyi Animation</publisher>
- <info name="alt_title" value="第4弹:暗黑势力å†ä¸´"/>
- <part name="cart" interface="c2color_cart">
- <dataarea name="rom" size="0x800000">
- <rom name="darkones.bin" size="0x800000" crc="d2735c91" sha1="f71c1cd300893a22e52d046bc9c489e0236c6b88" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="kingdlnd" supported="no">
- <description>Dì 5 dàn: Shénmì De Lóngzú Zhī Wáng</description>
- <year>2015</year>
- <publisher>Baiyi Animation</publisher>
- <info name="alt_title" value="第5弹:神秘的龙æ—之王"/>
- <part name="cart" interface="c2color_cart">
- <dataarea name="rom" size="0x800000">
- <rom name="kingdlnd.bin" size="0x800000" crc="1e20d906" sha1="323df1ce05ff4fc1aaefe3e0e2b929aec40cc230" offset="0" />
- </dataarea>
- </part>
- </software>
-
-</softwarelist>
-
-
diff --git a/hash/cd32.xml b/hash/cd32.xml
index 4443cff0886..481592ce7ba 100644
--- a/hash/cd32.xml
+++ b/hash/cd32.xml
@@ -16,13 +16,10 @@
</part>
</software>
- <!-- Freezes at main menu -->
- <!-- http://redump.org/disc/3200/ -->
<software name="abseqwak" supported="no">
<description>Alien Breed - Special Edition + Qwak</description>
<year>1994</year>
<publisher>Team 17</publisher>
- <info name="alt_title" value="Team 17 CD32 Double Pack" /> <!-- In-game title -->
<part name="cdrom" interface="cd32_cdrom">
<diskarea name="cdrom">
<disk name="alien breed special edition and qwak (europe) (en,fr,de,it,da)" sha1="499614c9a89026cbd748af7afd65445c50dd6167"/>
@@ -197,7 +194,6 @@
</software>
<!-- Doesn't boot -->
- <!-- http://redump.org/disc/3219/ -->
<software name="chuckrck" supported="no">
<description>Chuck Rock</description>
<year>1994</year>
@@ -389,8 +385,7 @@
</part>
</software>
- <!-- Glitchy graphics, freezes at title screen -->
- <!-- http://redump.org/disc/3428/ -->
+ <!-- Glitchy graphics, freezes at title screen? -->
<software name="gloom" supported="no">
<description>Gloom</description>
<year>1995</year>
@@ -462,19 +457,6 @@
</part>
</software>
- <!-- Input is not working, graphics partially broken -->
- <!-- http://redump.org/disc/3076/ -->
- <software name="mean" supported="no">
- <description>Mean Arenas</description>
- <year>1994</year>
- <publisher>I.C.E.</publisher>
- <part name="cdrom" interface="cd32_cdrom">
- <diskarea name="cdrom">
- <disk name="mean arenas (europe)" sha1="0a48eceb7d86ab776b91657c3e9a1af1b7a06a13"/>
- </diskarea>
- </part>
- </software>
-
<!-- Doesn't boot -->
<software name="myth" supported="no">
<description>Myth - History in the Making</description>
@@ -619,8 +601,7 @@
</part>
</software>
- <!-- Crashes with "DSKDAT W 0000" -->
- <!-- http://redump.org/disc/3049/ -->
+ <!-- Doesn't work -->
<software name="totcarn" supported="no">
<description>Total Carnage</description>
<year>1994</year>
diff --git a/hash/cdi.xml b/hash/cdi.xml
index 4e1f1bb821a..d796e9e6314 100644
--- a/hash/cdi.xml
+++ b/hash/cdi.xml
@@ -10618,7 +10618,7 @@
-->
<description>Super Mario's Wacky Worlds (Prototype v0.11, 19930303)</description>
<year>1993</year>
- <publisher>Philips</publisher>
+ <publisher>Phillips</publisher>
<part name="cdrom" interface="cdi_cdrom">
<diskarea name="cdrom">
<disk name="super mario wacky worlds (prototype)" sha1="a3178428ed39f7a461e693d9a1a927b4daaa677f"/>
diff --git a/hash/clickstart_cart.xml b/hash/clickstart_cart.xml
deleted file mode 100644
index 0949ac82a83..00000000000
--- a/hash/clickstart_cart.xml
+++ /dev/null
@@ -1,218 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
-
-<!-- It is unclear how to calculate the checksum that's stored as ASCII at the start of some of these, however there is a secondary checksum in a footer area at the end that works out correctly, so the ROMs should be good -->
-
-<softwarelist name="clickstart_cart" description="LeapFrog ClickStart cartridges">
-
- <software name="aniart" supported="no">
- <description>Animal Art Studio (UK)</description>
- <year>2007</year>
- <publisher>LeapFrog</publisher>
- <part name="cart" interface="clickstart_cart">
- <feature name="u1" value="MX23L3210" /> <!-- Behind a epoxy blob, but ROM type silkscreened on the PCB -->
- <feature name="pcbtype" value="LF300-10485-0A" />
- <feature name="pcbdate" value="03262007" />
- <dataarea name="rom" size="0x400000">
- <rom name="500-12780-a - animal art studio (uk).bin" size="0x400000" crc="f1390fea" sha1="3ace0c1b1ffe883e2dda8976c24f47729df53191" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="aniarts" cloneof="aniart" supported="no">
- <description>Estudio de Arte Animal (SP)</description>
- <year>2007</year>
- <publisher>LeapFrog</publisher>
- <part name="cart" interface="clickstart_cart">
- <feature name="u1" value="MX23L3210" /> <!-- Behind a epoxy blob, but ROM type silkscreened on the PCB -->
- <feature name="pcbtype" value="LF300-10485-0A" />
- <feature name="pcbdate" value="03262007" />
- <dataarea name="rom" size="0x400000">
- <rom name="500-12887-a - estudio de arte animal (sp).bin" size="0x400000" crc="11920f3a" sha1="c6c1f153a6e17a31da1a079f2c8e0e57947d2ac9" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="backyardingans" supported="no">
- <description>Nick Jr. The Backyardingans (UK)</description>
- <year>2007</year>
- <publisher>LeapFrog / VIACOM</publisher>
- <part name="cart" interface="clickstart_cart">
- <feature name="u1" value="MX23L3210" /> <!-- Behind a epoxy blob, but ROM type silkscreened on the PCB -->
- <feature name="pcbtype" value="LF300-10485-0A" />
- <feature name="pcbdate" value="03262007" />
- <dataarea name="rom" size="0x400000">
- <rom name="500-12892-a - the backyardingans (uk).bin" size="0x400000" crc="d33777fd" sha1="3245cd4f86cf7d1e59f9484eeb61078981fcf6e8" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="cars" supported="no">
- <description>Disney/Pixar The World of Cars - The Road to Learning! (UK)</description>
- <year>2008</year>
- <publisher>LeapFrog / Disney / Pixar</publisher>
- <part name="cart" interface="clickstart_cart">
- <feature name="u1" value="MX23L3210" /> <!-- Behind a epoxy blob, but ROM type silkscreened on the PCB -->
- <feature name="pcbtype" value="LF300-10485-0A" />
- <feature name="pcbdate" value="03262007" />
- <dataarea name="rom" size="0x400000">
- <rom name="500-13570-a - the world of cars (uk).bin" size="0x400000" crc="b021c6a7" sha1="2553877ff49062dce71beb4c717740c62db243cd" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="disneyprincess" supported="no">
- <description>Disney Princess - The Love of Letters (UK)</description>
- <year>2008</year>
- <publisher>LeapFrog / Disney</publisher>
- <part name="cart" interface="clickstart_cart">
- <feature name="u1" value="MX23L3210" /> <!-- Behind a epoxy blob, but ROM type silkscreened on the PCB -->
- <feature name="pcbtype" value="LF300-10485-0A" />
- <feature name="pcbdate" value="03262007" />
- <dataarea name="rom" size="0x400000">
- <rom name="500-13078-a - disney princess (uk).bin" size="0x400000" crc="fe96e198" sha1="106b24cf48ba393d0541db36a60c790df9d95f2a" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="godiegogo" supported="no">
- <description>Nickelodeon Go Diego Go! - Learning Expeditions (UK)</description>
- <year>2008</year>
- <publisher>LeapFrog / VIACOM</publisher>
- <part name="cart" interface="clickstart_cart">
- <feature name="u1" value="MX23L3210" /> <!-- Behind a epoxy blob, but ROM type silkscreened on the PCB -->
- <feature name="pcbtype" value="LF300-10485-0A" />
- <feature name="pcbdate" value="03262007" />
- <dataarea name="rom" size="0x400000">
- <rom name="500-13089-a - go diego go learning expeditions (uk).bin" size="0x400000" crc="5e5d0617" sha1="83c644d2728125c26bd32af4e07fe278d6f588a0" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="learningcarnival" supported="no">
- <description>Learning Carnival (UK)</description>
- <year>2007</year>
- <publisher>LeapFrog</publisher>
- <part name="cart" interface="clickstart_cart">
- <feature name="u1" value="MX23L3210" /> <!-- Behind a epoxy blob, but ROM type silkscreened on the PCB -->
- <feature name="pcbtype" value="LF300-10485-0A" />
- <feature name="pcbdate" value="03262007" />
- <dataarea name="rom" size="0x400000">
- <rom name="500-12731-a - learning carnival (uk).bin" size="0x400000" crc="31633d96" sha1="9b0252fe0f3cd539ad47132c6adee358a0c1cba8" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="nemo" supported="no">
- <description>Disney/Pixar Finding Nemo - Sea of Keys (UK)</description>
- <year>2007</year>
- <publisher>LeapFrog / Disney / Pixar</publisher>
- <part name="cart" interface="clickstart_cart">
- <feature name="u1" value="MX23L3210" /> <!-- Behind a epoxy blob, but ROM type silkscreened on the PCB -->
- <feature name="pcbtype" value="LF300-10485-0A" />
- <feature name="pcbdate" value="03262007" />
- <dataarea name="rom" size="0x400000">
- <rom name="500-12727-a - finding nemo (uk).bin" size="0x400000" crc="33e02256" sha1="caac98a66b714aa9addef42d31cd139fe138ea58" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="nihaokailan" supported="no">
- <description>Nickelodeon Ni Hao, Kai-Lan (UK)</description>
- <year>2008</year>
- <publisher>LeapFrog / VIACOM</publisher>
- <part name="cart" interface="clickstart_cart">
- <feature name="u1" value="OKI MR27V3202L" /> <!-- Behind a epoxy blob, but ROM type silkscreened on the PCB -->
- <feature name="pcbtype" value="841-30125-A" />
- <feature name="pcbdate" value="06242008" /> <!-- 20080624 -->
- <dataarea name="rom" size="0x400000">
- <rom name="500-13678-a - ni hao kai-lan (uk).bin" size="0x400000" crc="b9d6a774" sha1="9acd15a6b92d10e23e2364a251c71677efaae399" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="puppypals" supported="no">
- <description>Scout's Puppy Pals (UK)</description>
- <year>2008</year>
- <publisher>LeapFrog</publisher>
- <part name="cart" interface="clickstart_cart">
- <feature name="u1" value="MX23L3210" /> <!-- Behind a epoxy blob, but ROM type silkscreened on the PCB -->
- <feature name="pcbtype" value="LF300-10485-0A" />
- <feature name="pcbdate" value="03262007" />
- <dataarea name="rom" size="0x400000">
- <rom name="500-13085-a - scouts puppy pals (uk).bin" size="0x400000" crc="f9cf74c7" sha1="6ba8f0c74a8c6075632db29b9034f72190809305" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="toystor" supported="no">
- <description>Disney/Pixar Toy Story - To 100 and Beyond! (UK)</description>
- <year>2007</year>
- <publisher>LeapFrog / Disney / Pixar</publisher>
- <part name="cart" interface="clickstart_cart">
- <feature name="u1" value="MX23L3210" /> <!-- Behind a epoxy blob, but ROM type silkscreened on the PCB -->
- <feature name="pcbtype" value="LF300-10485-0A" />
- <feature name="pcbdate" value="03262007" />
- <dataarea name="rom" size="0x400000">
- <rom name="500-12728-a - toy story (uk).bin" size="0x400000" crc="9021fa2e" sha1="841be50a7f0eb4f633469b04928d3085874866dc" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="toystors" cloneof="toystor" supported="no">
- <description>Disney/Pixar Toy Story - ¡Al 100 y más allá! (SP)</description>
- <year>2007</year>
- <publisher>LeapFrog</publisher>
- <part name="cart" interface="clickstart_cart">
- <feature name="u1" value="MX23L3210" /> <!-- Behind a epoxy blob, but ROM type silkscreened on the PCB -->
- <feature name="pcbtype" value="LF300-10485-0A" />
- <feature name="pcbdate" value="03262007" />
- <dataarea name="rom" size="0x400000">
- <rom name="500-12894-a - toy story (sp).bin" size="0x400000" crc="91a748f6" sha1="05da46b6ded3fee24bc1167395f8139647368b68" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="bobbuild" supported="no">
- <description>Bob the Builder - Project: Learn It! (UK)</description>
- <year>2008</year>
- <publisher>LeapFrog</publisher>
- <part name="cart" interface="clickstart_cart">
- <feature name="u1" value="MX23L3210" /> <!-- Behind a epoxy blob, but ROM type silkscreened on the PCB -->
- <feature name="pcbtype" value="LF300-10485-0A" />
- <feature name="pcbdate" value="03262007" />
- <dataarea name="rom" size="0x400000">
- <rom name="500-13084-a - bob the builder (uk).bin" size="0x400000" crc="387920df" sha1="ac071987f5389604f368ea0a59962a0c28f73a80" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="thomas" supported="no">
- <description>Thomas &amp; Friends - Learning Destinations (UK)</description>
- <year>2007</year>
- <publisher>LeapFrog</publisher>
- <part name="cart" interface="clickstart_cart">
- <feature name="u1" value="MX23L3210" /> <!-- Behind a epoxy blob, but ROM type silkscreened on the PCB -->
- <feature name="pcbtype" value="LF300-10485-0A" />
- <feature name="pcbdate" value="03262007" />
- <dataarea name="rom" size="0x400000">
- <rom name="500-12781-a - thomas and friends (uk).bin" size="0x400000" crc="8485c99a" sha1="2a4899868f383b8a6e8cdc0e65dfed86222ff697" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="dora" supported="no">
- <description>Nick Jr. Dora the Explorer - Friends! ¡Amigos! (UK)</description>
- <year>2007</year>
- <publisher>LeapFrog</publisher>
- <part name="cart" interface="clickstart_cart">
- <feature name="u1" value="MX23L3210" /> <!-- Behind a epoxy blob, but ROM type silkscreened on the PCB -->
- <feature name="pcbtype" value="LF300-10485-0A" />
- <feature name="pcbdate" value="03262007" />
- <dataarea name="rom" size="0x400000">
- <rom name="500-12729-a - dora the explorer (uk).bin" size="0x400000" crc="e93bd91a" sha1="e4c9649becd6370d555c6475cb491ba78c54ad17" offset="0" />
- </dataarea>
- </part>
- </software>
-</softwarelist>
-
diff --git a/hash/coco_cart.xml b/hash/coco_cart.xml
index b0aa2927bac..dca0227e128 100644
--- a/hash/coco_cart.xml
+++ b/hash/coco_cart.xml
@@ -475,7 +475,6 @@ Compiled by K1W1 and Cowering (from GoodCoCo)
<publisher>Tandy</publisher>
<info name="serial" value="26-2226" />
<part name="cart" interface="coco_cart">
- <feature name="slot" value="rs232" />
<dataarea name="rom" size="4096">
<rom name="deluxe rs-232 program pak (1983)(26-2226)(tandy).rom" size="4096" crc="d990e1f9" sha1="3fad25f3462a0b581b9c182ac11ad90c8fa08cb6" offset="0" />
</dataarea>
@@ -553,7 +552,6 @@ Compiled by K1W1 and Cowering (from GoodCoCo)
<publisher>Tandy</publisher>
<info name="serial" value="26-2228" />
<part name="cart" interface="coco_cart">
- <feature name="slot" value="dcmodem" />
<dataarea name="rom" size="8192">
<rom name="color computer modem pak (1985)(26-2228)(tandy).rom" size="8192" crc="667bc55d" sha1="703fe0aba4a603591078cb675ffd26a67c02df88" offset="0" />
</dataarea>
@@ -978,7 +976,6 @@ Compiled by K1W1 and Cowering (from GoodCoCo)
<info name="author" value="Jon Bokelman" />
<info name="serial" value="26-3143" />
<part name="cart" interface="coco_cart">
- <feature name="slot" value="orch90" />
<dataarea name="rom" size="8192">
<rom name="orchestra 90 (1984)(26-3143)(tandy).rom" size="8192" crc="15fb39af" sha1="6a20fee9c70b36a6435ac8378f31d5b626017df0" offset="0" />
</dataarea>
diff --git a/hash/ekara_japan.xml b/hash/ekara_japan.xml
index c904e1795ed..34691abfb53 100644
--- a/hash/ekara_japan.xml
+++ b/hash/ekara_japan.xml
@@ -7,9 +7,9 @@
Japanese e-kara carts appear to have a number of different genres split across various
cart sub-series (often supporting different hw types) special releases etc.
-
+
This file is for the base set (number on case, ECxxxx-xxx part numbers)
-
+
The genres in the Japanese games are represented by the code after the EC/DC/MC/GC/PC etc. number
JPM = J-Pop Mix
ATS = Artist Selection (all songs by a single artist)
@@ -27,26 +27,21 @@
ATM = unknown (used by the M series 'mini' carts)
TPJ = TV Pop
MIN = unknown
-
+
Some Japanese carts have a number starting with S (S-x on case, SCxxxx-xxx part numbers) (see ekara_japan_s.xml) (for e-kara - custom presentation)
M (M-x on case, MCxxxx-xxx part numbers) (see ekara_japan_m.xml) (for e-kara - custom presentation)
- EN (EN-X on case, no part numbers) (see ekara_japan_en.xml) (for e-kara - custom presentation)
- BH (BG-XX on case, BH-xxxx on PCB) (see ekara_japan_bh.xml) (for e-kara - custom presentation)
- GK (GK-X on case) (see ekara_japan_gk.xml) (for e-kara / e-pitch - custom presentation)
+ EN (EN-X on case, no part numbers) (see ekara_japan_en.xml) (for e-kara - custom presentation) (check other compatibility)
G (G-x on case, GCxxxx-xxx part numbers) (see ekara_japan_g.xml) (for e-kara, Popira / 2)
P (P-x on case, PCxxxx-xxx part numbers) (see ekara_japan_p.xml) (for e-kara, Popira / 2, DDR Family Mat)
- D (D-x on case, DCxxxx-xxx part numbers) (see ekara_japan_d.xml) (for e-kara, Popira / 2, Taiko De Popira)
+ D (D-x on case, DCxxxx-xxx part numbers) (see ekara_japan_d.xml) (for e-kara, Popira / 2, Taiko De Popira)
SP (SP-x on case, no part numbers) (see ekara_japan_sp.xml) (for e-kara, Popira / 2, Taiko de Popira, Jumping Popira)
- A (A-x on case, Pichi Pichi Pitch series)(see ekara_japan_a.xml) (for e-kara / e-pitch)
- JP (JP-x on case) (see ekara_japan_jp.xml) (for Jumping Popira Only)
these exist but haven't got any
- Some Japanese carts have a number starting with
+ Some Japanese carts have a number starting with JP (for Jumping Popira Only?)
+ A (for Pichi Pichi Pitch Only?)
KE (for Kids Lyric book device Only?)
- KD (for e-kara?)
- PR (seen a PR-02 AYY) (what is it?)
- KR (seen a KR-1) (bundled with later units?)
-
+ KD (for e-kara?)
+
(there are others, need to document them)
@@ -55,7 +50,7 @@
Genres can cross multiple cart types, eg. TV Pop 1,3,4,5,6 are in the 'G' series, while TV Pop 2 is in the 'P' series, and TV Pop 9 is in the 'D' series (where are 7,8?)
for non-Japanese carts see ekara_us.xml and ekara_pal.xml, the PAL ones are noteworthy for using a different timing system
-
+
***********************************************************************************
Japanese cart listing (by 'just number' code) (number on cartridge / box, EC in cart identifier code)
@@ -64,7 +59,6 @@
The EC number is printed on the left side of the cart label, as well as in the serial code
early carts don't have a number printed on the box, only the title, after a certain point a number was added (when?)
- Only known undumped carts in main series are 58, 64, 81, 83, 84, 85 (assuming highest number is 85)
.. *EC0001-JPM J-Pop Mix Volume 1
.. *EC0002-JPM J-Pop Mix Volume 2
@@ -82,12 +76,12 @@
.. *EC0013-JPM J-Pop Mix Volume 8
.. *EC0014-ATS Artist Selection Volume 1 - untranslated artist
.. *EC0015-ATS Artist Selection Volume 2 - untranslated artist
- .. *EC0016-ENK ENK Volume 2
- .. *EC0017-G73 1973-75 Volume 1
+ .. EC0016-ENK ENK Volume 2
+ .. EC0017-G73 1973-75 Volume 1
.. *EC0018-G82 1982-84 Volume 1
- .. *EC0019-BSC Graduation Encouragement Volume 1
+ .. EC0019-BSC Graduation Encouragement Volume 1
- .. *EC0020-KID Kid's Mix Volume 2
+ .. EC0020-KID Kid's Mix Volume 2
.. *EC0021-JPM J-Pop Mix Volume 9
.. *EC0022-JPM J-Pop Mix Volume 10
23 *EC0023-JPM J-Pop Mix Volume 11
@@ -95,7 +89,7 @@
25 *EC0025-JPM J-Pop Mix Volume 13
26 *EC0026-JPM J-Pop Mix Volume 14
27 *EC0027-JPM J-Pop Mix Volume 15
- 28 *EC0028-JPM J-Pop Mix Volume 16
+ 28 EC0028-JPM J-Pop Mix Volume 16
29 *EC0029-ATS Artist Selection Volume 3 - Dreams Come True
30 *EC0030-ENK ENK Volume 3
@@ -106,13 +100,13 @@
35 *EC0035-ATS Artist Selection Volume 5 - Matsuda Seiko
36 *EC0036-ATS Artist Selection Volume 6 - KinKi Kids
37 *EC0037-ENK ENK Volume 4
- 38 *EC0038-BSC Graduation Encouragement Volume 2
- 39 *EC0039-ATS Artist Selection Volume 7 - B'z
+ 38 EC0038-BSC Graduation Encouragement Volume 2
+ 39 EC0039-ATS Artist Selection Volume 7 - B'z
- 40 *EC0040-JPM J-Pop Mix Volume 18
+ 40 EC0040-JPM J-Pop Mix Volume 18
41 *EC0041-ATS Artist Selection Volume 8 - untranslated artist
42 *EC0042-JPM J-Pop Mix Volume 19
- 43 *EC0043-ENK ENK Volume 5
+ 43 EC0043-ENK ENK Volume 5
44 *EC0044-ATS Artist Selection Volume 9 - Every Little Thing
45 *EC0045-ATS Artist Selection Volume 10 - Mr. Children
46 *EC0046-JPM J-Pop Mix Volume 20
@@ -120,44 +114,44 @@
48 *EC0048-ENK ENK Volume 6
49 *EC0049-ATS Artist Selection Volume 11 - Judy and Mary
- 50 *EC0050-ATS Artist Selection Volume 12 - The Beatles
+ 50 EC0050-ATS Artist Selection Volume 12 - The Beatles
51 *EC0051-JPM J-Pop Mix Volume 21
52 *EC0052-ENK ENK Volume 7
- 53 *EC0053-JPM J-Pop Mix Volume 22
+ 53 EC0053-JPM J-Pop Mix Volume 22
54 *EC0054-JPM J-Pop Mix Volume 23
- 55 *EC0055-ATS Artist Selection Volume 13 - Tube
- 56 *EC0056-JPM J-Pop Mix Volume 24
- 57 *EC0057-ATS Artist Selection Volume 14 - SMAP (should be Vol 14? sales sheet still lists 13 tho)
+ 55 EC0055-ATS Artist Selection Volume 13 - Tube
+ 56 EC0056-JPM J-Pop Mix Volume 24
+ 57 EC0057-ATS Artist Selection Volume 14 - SMAP (should be Vol 14? sales sheet still lists 13 tho)
58 EC0058-ENK ENK Volume 8
- 59 *EC0059-JPM J-Pop Mix Volume 25
+ 59 EC0059-JPM J-Pop Mix Volume 25
- 60 *EC0060-JPM J-Pop Mix Volume 26
+ 60 EC0060-JPM J-Pop Mix Volume 26
61 *EC0061-JPM J-Pop Mix Volume 27
- 62 *EC0062-JPM J-Pop Mix Volume 28
+ 62 EC0062-JPM J-Pop Mix Volume 28
63 *EC0063-JPM J-Pop Mix Volume 29
64 EC0064-ENK ENK Volume 9
- 65 *EC0065-JPM J-Pop Mix Volume 30
- 66 *EC0066-JPM J-Pop Mix Volume 31
- 67 *EC0067-JPM J-Pop Mix Volume 32
+ 65 EC0065-JPM J-Pop Mix Volume 30
+ 66 EC0066-JPM J-Pop Mix Volume 31
+ 67 EC0067-JPM J-Pop Mix Volume 32
68 *EC0068-JPM J-Pop Mix Volume 33
- 69 *EC0069-ETZ ETZ (custom presentation etc.)
+ 69 EC0069- untranslated
70 *EC0070-JPM J-Pop Mix Volume 34
- 71 *EC0071-JPM J-Pop Mix Volume 35
+ 71 EC0071-JPM J-Pop Mix Volume 35
72 *EC0072-JPM J-Pop Mix Volume 36
- 73 *EC0073-MKC MKC volume 1 (Japan)
- 74 *EC0074-JPM J-Pop Mix Volume 37
- 75 *EC0075-JPM J-Pop Mix Volume 38
+ 73 EC0073- untranslated volume 1
+ 74 EC0074-JPM J-Pop Mix Volume 37
+ 75 EC0075-JPM J-Pop Mix Volume 38
76 *EC0076-JPM J-Pop Mix Volume 39
- 77 *EC0077-ATS Artist Selection Volume 15 - Keisuke Kuwata (should be Vol 15? sales sheet lists 5?)
- 78 *EC0078-JPM J-Pop Mix Volume 40
- 79 *EC0079-ETZ ETZ 2 (custom presentation etc.)
- 80 *EC0080-JPM J-Pop Mix Volume 41
+ 77 EC0077-ATS Artist Selection Volume 15 - unknown artist (should be Vol 15? sales sheet lists 5?)
+ 78 EC0078- (unknown)
+ 79 *EC0079-ETZ ETZ (custom presentation etc.)
+ 80 EC0080- (unknown)
81 EC0081-JPM J-Pop Mix Volume 42
82 *EC0082-MBH Matthew's Best Hit Selection
83 EC0083-JPM J-Pop Mix Volume 43
84 EC0084- (unknown, seen)
- 85 EC0085-ETZ ETZ 3 (custom presentation etc.) (guess)
+ 85 EC0085- (unknown, seen)
(more? what's the highest regular number?)
@@ -187,6 +181,24 @@
***********************************************************************************
+ Japanese cart listing (by A code)
+
+ These are for Pichi Pichi Pitch
+ (not e-kara compatible?)
+
+ https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10109392860
+
+ A-1 (unknown)
+ A-2 (unknown)
+ A-3 (unknown)
+ A-4 (unknown)
+ A-5 (unknown)
+ A-6 (unknown)
+ A-7 (unknown)
+ A-8 (unknown)
+
+ ***********************************************************************************
+
-->
<!-- Japanese e-kara cartridges EC series -->
@@ -246,6 +258,17 @@
</part>
</software>
+ <software name="ec0011">
+ <description>J-Pop Mix Volume 6 (Japan) (EC0011-JPM)</description>
+ <year>2000</year>
+ <publisher>Takara</publisher>
+ <part name="cart" interface="ekara_cart">
+ <dataarea name="rom" size="0x100000">
+ <rom name="ec0011-jpm.u1" size="0x100000" crc="5d0ca1e7" sha1="0c1bf33b3a436da2c19bd7171ab1a234a623987c" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="ec0006">
<description>ENK Volume 1 (Japan) (EC0006-ENK)</description>
<year>2000</year>
@@ -289,7 +312,7 @@
</dataarea>
</part>
</software>
-
+
<software name="ec0010">
<description>Kid's Mix Volume 1 (Japan) (EC0010-KID)</description>
<year>2000</year>
@@ -301,17 +324,6 @@
</part>
</software>
- <software name="ec0011">
- <description>J-Pop Mix Volume 6 (Japan) (EC0011-JPM)</description>
- <year>2000</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <dataarea name="rom" size="0x100000">
- <rom name="ec0011-jpm.u1" size="0x100000" crc="5d0ca1e7" sha1="0c1bf33b3a436da2c19bd7171ab1a234a623987c" offset="0" />
- </dataarea>
- </part>
- </software>
-
<software name="ec0012">
<description>J-Pop Mix Volume 7 (Japan) (EC0012-JPM)</description>
<year>2000</year>
@@ -356,27 +368,9 @@
</part>
</software>
- <software name="ec0016">
- <description>ENK Volume 2 (Japan) (EC0016-ENK)</description>
- <year>2000</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <dataarea name="rom" size="0x100000">
- <rom name="ec0016-enk.u1" size="0x100000" crc="1bac5cc7" sha1="d80e266d079ea2e8a5acb8c1ed97a94c5d31e6ec" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="ec0017">
- <description>1973-75 Volume 1 (Japan) (EC0017-G73)</description>
- <year>2000</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <dataarea name="rom" size="0x100000">
- <rom name="ec0017-g73.u1" size="0x100000" crc="7f4efd49" sha1="32403cf65f4ae372da64cef25e03ddd66cdffa25" offset="0" />
- </dataarea>
- </part>
- </software>
+ <!-- EC0016-ENK ENK Volume 2 -->
+
+ <!-- EC0017-G73 1973-75 Volume 1 -->
<software name="ec0018">
<description>1982-84 Volume 1 (Japan) (EC0018-G82)</description>
@@ -389,28 +383,10 @@
</part>
</software>
- <software name="ec0019">
- <description>Graduation Encouragement Volume 1 (Japan) (EC0019-BSC)</description>
- <year>2000</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <dataarea name="rom" size="0x100000">
- <rom name="ec0019-bsc.u1" size="0x100000" crc="c7de4c19" sha1="2cfc8c8b684f7b5ddac384840665fae97b8d9829" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="ec0020">
- <description>Kid's Mix Volume 2 (Japan) (EC0020-KID)</description>
- <year>2000</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <dataarea name="rom" size="0x100000">
- <rom name="ec0020-kid.u1" size="0x100000" crc="ed3e5c2c" sha1="c9ca415b50a7b87d8bf54beb3c9f794bd928e489" offset="0" />
- </dataarea>
- </part>
- </software>
+ <!-- EC0019-BSC Graduation Encouragement Volume 1 -->
+ <!-- EC0020-KID Kid's Mix Volume 2 -->
+
<software name="ec0021">
<description>J-Pop Mix Volume 9 (Japan) (EC0021-JPM)</description>
<year>2000</year>
@@ -488,16 +464,7 @@
</part>
</software>
- <software name="ec0028">
- <description>J-Pop Mix Volume 16 (Japan) (EC0028-JPM)</description>
- <year>2000</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <dataarea name="rom" size="0x100000">
- <rom name="ec0028-jpm.u1" size="0x100000" crc="f671ce7e" sha1="d901d6196d7864f5e512fbb6d539ec0580417385" offset="0" />
- </dataarea>
- </part>
- </software>
+ <!-- EC0028-JPM J-Pop Mix Volume 16 -->
<software name="ec0029">
<description>Artist Selection Volume 3 (Dreams Come True) (Japan) (EC0029-ATS)</description>
@@ -598,38 +565,11 @@
</part>
</software>
- <software name="ec0038">
- <description>Graduation Encouragement Volume 2 (Japan) (EC0038-BSC)</description>
- <year>2000</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <dataarea name="rom" size="0x100000">
- <rom name="ec0038-bsc.u1" size="0x100000" crc="34817291" sha1="a6069419bf3fd143fb247ba625c41b42000cda27" offset="0" />
- </dataarea>
- </part>
- </software>
+ <!-- EC0038-BSC Graduation Encouragement Volume 2 -->
- <software name="ec0039">
- <description>Artist Selection Volume 7 (B'z) (Japan) (EC0039-ATS)</description>
- <year>2000</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <dataarea name="rom" size="0x100000">
- <rom name="ec0039-ats.u1" size="0x100000" crc="aa50b08a" sha1="91a97c0591e137e50b20f052b402ce52b70a16eb" offset="0" />
- </dataarea>
- </part>
- </software>
+ <!-- EC0039-ATS Artist Selection Volume 7 - B's -->
- <software name="ec0040">
- <description>J-Pop Mix Volume 18 (Japan) (EC0040-JPM)</description>
- <year>2000</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <dataarea name="rom" size="0x100000">
- <rom name="ec0040-jpm.u1" size="0x100000" crc="e2cb7232" sha1="c9c1f7d316f0c239c659632296695081e50b85e5" offset="0" />
- </dataarea>
- </part>
- </software>
+ <!-- EC0040-JPM J-Pop Mix Volume 18 -->
<software name="ec0041">
<description>Artist Selection Volume 8 (unknown) (Japan) (EC0041-ATS)</description>
@@ -653,16 +593,7 @@
</part>
</software>
- <software name="ec0043">
- <description>ENK Volume 5 (Japan) (EC0043-ENK)</description>
- <year>2001</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <dataarea name="rom" size="0x100000">
- <rom name="ec0043-enk.u1" size="0x100000" crc="c730037d" sha1="c283b99fe4ae51adc3e13a6fae4eaffb891ec20d" offset="0" />
- </dataarea>
- </part>
- </software>
+ <!-- EC0043-ENK ENK Volume 5 -->
<software name="ec0044">
<description>Artist Selection Volume 9 (Every Little Thing) (Japan) (EC0044-ATS)</description>
@@ -673,7 +604,7 @@
<rom name="ec0044-ats.u1" size="0x100000" crc="5ed25544" sha1="2cb30b442d97813af32530c6f61d7fcc7653f533" offset="0" />
<!-- this has 0x0b at address 0x00007 in an otherwise list of ascending values, above dump has 0x0f and looks more correct
both dumps have been verified multiple times, so this appears to be a case of bitrot in the cartridge the dump below was taken from -->
- <!--<rom name="ec0044-ats.u1" size="0x100000" crc="06557370" sha1="0ce7a193b214adaf14f3332ddd8ccbcbec830985" offset="0" />-->
+ <!--<rom name="ec0044-ats.u1" size="0x100000" crc="06557370" sha1="0ce7a193b214adaf14f3332ddd8ccbcbec830985" offset="0" />-->
</dataarea>
</part>
</software>
@@ -733,17 +664,7 @@
</part>
</software>
- <software name="ec0050">
- <description>Artist Selection Volume 12 (The Beatles) (Japan) (EC0050-ATS)</description>
- <year>2001</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <dataarea name="rom" size="0x200000">
- <rom name="ec0050-ats.u1" size="0x200000" crc="56ce5d3a" sha1="c499bae5faa00e0987b89185d0e2ec142054773a" offset="0" />
- </dataarea>
- </part>
- </software>
-
+ <!-- EC0050-ATS Artist Selection Volume 12 - The Beatles -->
<software name="ec0051">
<description>J-Pop Mix Volume 21 (Japan) (EC0051-JPM)</description>
@@ -767,16 +688,7 @@
</part>
</software>
- <software name="ec0053">
- <description>J-Pop Mix Volume 22 (Japan) (EC0053-JPM)</description>
- <year>2001</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <dataarea name="rom" size="0x100000">
- <rom name="ec0053-jpm.u1" size="0x100000" crc="6f799665" sha1="bf029d5c10efb8b76bff7dda0806bf943d0fff01" offset="0" />
- </dataarea>
- </part>
- </software>
+ <!-- EC0053-JPM J-Pop Mix Volume 22 -->
<software name="ec0054">
<description>J-Pop Mix Volume 23 (Japan) (EC0054-JPM)</description>
@@ -789,62 +701,17 @@
</part>
</software>
- <software name="ec0055">
- <description>Artist Selection Volume 13 (Tube) (Japan) (EC0055-ATS)</description>
- <year>2001</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <dataarea name="rom" size="0x100000">
- <rom name="ec0055-ats.u1" size="0x100000" crc="af6b0f2a" sha1="719bd1bc88517e4e067e99416547afe9ca1ff93f" offset="0" />
- </dataarea>
- </part>
- </software>
+ <!-- EC0055-ATS Artist Selection Volume 13 - Tube -->
- <software name="ec0056">
- <description>J-Pop Mix Volume 24 (Japan) (EC0056-JPM)</description>
- <year>2001</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <dataarea name="rom" size="0x100000">
- <rom name="ec0056-jpm.u1" size="0x100000" crc="8c0b175b" sha1="697d7eb50a84001ddb66f50a50c682c63c21ed60" offset="0" />
- </dataarea>
- </part>
- </software>
+ <!-- EC0056-JPM J-Pop Mix Volume 24 -->
- <software name="ec0057">
- <description>Artist Selection Volume 14 (SMAP) (Japan) (EC0057-ATS)</description>
- <year>2001</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <dataarea name="rom" size="0x100000">
- <rom name="ec0057-ats.u1" size="0x100000" crc="15345511" sha1="7e5197a8f7a0ec0160d7f5214428b153f35619f6" offset="0" />
- </dataarea>
- </part>
- </software>
+ <!-- EC0057-ATS Artist Selection Volume 14 - SMAP -->
<!-- EC0058-ENK ENK Volume 8 -->
- <software name="ec0059">
- <description>J-Pop Mix Volume 25 (Japan) (EC0059-JPM)</description>
- <year>2001</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <dataarea name="rom" size="0x100000">
- <rom name="ec0059-jpm.u1" size="0x100000" crc="e72ab46f" sha1="ef1fc7fba2beae7549edce697b12dd3b48dd1103" offset="0" />
- </dataarea>
- </part>
- </software>
+ <!-- EC0059-JPM J-Pop Mix Volume 25 -->
- <software name="ec0060">
- <description>J-Pop Mix Volume 26 (Japan) (EC0060-JPM)</description>
- <year>2001</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <dataarea name="rom" size="0x100000">
- <rom name="ec0060-jpm.u1" size="0x100000" crc="04a0b834" sha1="916bac4b58210a0cbd8c9d76c39c802b6d68be32" offset="0" />
- </dataarea>
- </part>
- </software>
+ <!-- EC0060-JPM J-Pop Mix Volume 26 -->
<software name="ec0061">
<description>J-Pop Mix Volume 27 (Japan) (EC0061-JPM)</description>
@@ -857,16 +724,7 @@
</part>
</software>
- <software name="ec0062">
- <description>J-Pop Mix Volume 28 (Japan) (EC0062-JPM)</description>
- <year>2001</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <dataarea name="rom" size="0x100000">
- <rom name="ec0062-jpm.u1" size="0x100000" crc="b3ea4218" sha1="4b186085ca5767f0c5dc3e67b4a316a3023a44bb" offset="0" />
- </dataarea>
- </part>
- </software>
+ <!-- EC0062-JPM J-Pop Mix Volume 28 -->
<software name="ec0063">
<description>J-Pop Mix Volume 29 (Japan) (EC0063-JPM)</description>
@@ -881,39 +739,12 @@
<!-- EC0064-ENK ENK Volume 9 -->
- <software name="ec0065">
- <description>J-Pop Mix Volume 30 (Japan) (EC0065-JPM)</description>
- <year>2001</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <dataarea name="rom" size="0x100000">
- <rom name="ec0065-jpm.u1" size="0x100000" crc="fbf39688" sha1="fdf955de31bdb5bea078c0ae1305b67076093749" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="ec0066">
- <description>J-Pop Mix Volume 31 (Japan) (EC0066-JPM)</description>
- <year>2001</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <dataarea name="rom" size="0x100000">
- <rom name="ec0066-jpm.u1" size="0x100000" crc="aa7b1374" sha1="07b61dc24273c41088c2a15e07f112fd7917d0bb" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="ec0067">
- <description>J-Pop Mix Volume 32 (Japan) (EC0067-JPM)</description>
- <year>2001</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <dataarea name="rom" size="0x100000">
- <rom name="ec0067-jpm.u1" size="0x100000" crc="972cd1f3" sha1="0972800c5b64259e0a5953547c6c825ad68b0d83" offset="0" />
- </dataarea>
- </part>
- </software>
-
+ <!-- EC0065-JPM J-Pop Mix Volume 30 -->
+
+ <!-- EC0066-JPM J-Pop Mix Volume 31 -->
+
+ <!-- EC0067-JPM J-Pop Mix Volume 32 -->
+
<software name="ec0068">
<description>J-Pop Mix Volume 33 (Japan) (EC0068-JPM)</description>
<year>2001</year>
@@ -925,16 +756,7 @@
</part>
</software>
- <software name="ec0069"> <!-- custom presentation -->
- <description>ETZ (Japan) (EC0069-ETZ)</description>
- <year>2001</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <dataarea name="rom" size="0x200000">
- <rom name="ec0069-etz.u1" size="0x200000" crc="849ebd23" sha1="752c500d3ff48f04b985fef04219824d1d746034" offset="0" />
- </dataarea>
- </part>
- </software>
+ <!-- EC0069- untranslated -->
<software name="ec0070">
<description>J-Pop Mix Volume 34 (Japan) (EC0070-JPM)</description>
@@ -947,16 +769,7 @@
</part>
</software>
- <software name="ec0071">
- <description>J-Pop Mix Volume 35 (Japan) (EC0071-JPM)</description>
- <year>2001</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <dataarea name="rom" size="0x100000">
- <rom name="ec0071-jpm.u1" size="0x100000" crc="5d62c9d6" sha1="c50efa872833016612fc69a3ef8ae6068d27a9d8" offset="0" />
- </dataarea>
- </part>
- </software>
+ <!-- EC0071-JPM J-Pop Mix Volume 35 -->
<software name="ec0072">
<description>J-Pop Mix Volume 36 (Japan) (EC0072-JPM)</description>
@@ -969,38 +782,11 @@
</part>
</software>
- <software name="ec0073">
- <description>MKC volume 1 (Japan) (EC0073-MKC)</description>
- <year>2001</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <dataarea name="rom" size="0x100000">
- <rom name="ec0073-mkc.u1" size="0x100000" crc="e1ffa625" sha1="ee1bcd579a10085c4c094037e25345c17c063c7c" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="ec0074">
- <description>J-Pop Mix Volume 37 (Japan) (EC0074-JPM)</description>
- <year>2001</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <dataarea name="rom" size="0x100000">
- <rom name="ec0074-jpm.u1" size="0x100000" crc="12aa9070" sha1="2b645d1cbc5716cd1f58a9d2f820a5b50b0d9448" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="ec0075">
- <description>J-Pop Mix Volume 38 (Japan) (EC0075-JPM)</description>
- <year>2001</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <dataarea name="rom" size="0x100000">
- <rom name="ec0075-jpm.u1" size="0x100000" crc="cbb8e615" sha1="5fbbfbf4278ce7e289d859e389808b155bb16e4a" offset="0" />
- </dataarea>
- </part>
- </software>
+ <!-- EC0073- untranslated volume 1 -->
+
+ <!-- EC0074-JPM J-Pop Mix Volume 37 -->
+
+ <!-- EC0075-JPM J-Pop Mix Volume 38 -->
<software name="ec0076">
<description>J-Pop Mix Volume 39 (Japan) (EC0076-JPM)</description>
@@ -1012,31 +798,13 @@
</dataarea>
</part>
</software>
-
- <software name="ec0077">
- <description>Artist Selection Volume 15 - Keisuke Kuwata (Japan) (EC0077-ATS)</description>
- <year>2001</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <dataarea name="rom" size="0x100000">
- <rom name="ec0077-ats.u1" size="0x100000" crc="368b0daf" sha1="8274a06ca2e3dbcd5176ac1b916be4a5a0df12ef" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="ec0078">
- <description>J-Pop Mix Volume 40 (Japan) (EC0078-JPM)</description>
- <year>2001</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <dataarea name="rom" size="0x100000">
- <rom name="ec0078-jpm.u1" size="0x100000" crc="a76c022f" sha1="983fb1a78f457edcac9c7eb0226bb1b629ec27a7" offset="0" />
- </dataarea>
- </part>
- </software>
-
+
+ <!-- EC0077-ATS Artist Selection Volume 15 - unknown artist -->
+
+ <!-- EC0078- (unknown) -->
+
<software name="ec0079"> <!-- custom presentation -->
- <description>ETZ 2 (Japan) (EC0079-ETZ)</description> <!-- Japanese text in 'Volume' box -->
+ <description>ETZ (Japan) (EC0079-ETZ)</description> <!-- Japanese text in 'Volume' box -->
<year>2002</year>
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
@@ -1044,21 +812,12 @@
<rom name="ec0079-etz.u1" size="0x200000" crc="c03b5411" sha1="a88156aec4e0f024461f129c955a953647f51554" offset="0" />
</dataarea>
</part>
- </software>
-
- <software name="ec0080">
- <description>J-Pop Mix Volume 41 (Japan) (EC0080-JPM)</description>
- <year>2001</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <dataarea name="rom" size="0x100000">
- <rom name="ec0080-jpm.u1" size="0x100000" crc="6fc0b669" sha1="a712b5c25551b99b0c4a3650f71380087b5a54a7" offset="0" />
- </dataarea>
- </part>
- </software>
-
+ </software>
+
+ <!-- EC0080- (unknown) -->
+
<!-- EC0081-JPM J-Pop Mix Volume 42 -->
-
+
<software name="ec0082"> <!-- custom presentation -->
<description>Matthew's Best Hit Selection (Japan) (EC0082-MBH)</description>
<year>2003</year>
@@ -1068,12 +827,12 @@
<rom name="ec0082-mbh.u1" size="0x100000" crc="3998e478" sha1="29dad31dfd79c57b2ccec0caac81b3489946b798" offset="0" />
</dataarea>
</part>
- </software>
-
+ </software>
+
<!-- EC0083-JPM J-Pop Mix Volume 43 -->
-
- <!-- EC0084- Something 40 (unknown, seen) -->
-
- <!-- EC0085- (unknown, seen in the wild, sequel to 69, 79 so probably ETZ) -->
-
+
+ <!-- EC0084- (unknown, seen) -->
+
+ <!-- EC0085- (unknown, seen in the wild) -->
+
</softwarelist>
diff --git a/hash/ekara_japan_a.xml b/hash/ekara_japan_a.xml
deleted file mode 100644
index 762b0c45126..00000000000
--- a/hash/ekara_japan_a.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
-<softwarelist name="ekara_japan_a" description="Takara e-pitch / e-kara (Japan) A-x series cartridges">
- <!-- cartridges contain the ROM only, the XaviX CPU and BIOS are in the base unit
-
- ***********************************************************************************
-
- Japanese cart listing (by A code) (A-x on cartridge)
-
- These are for use with e-pitch / e-kara (e-pitch internal ROM is the same as e-kara Japan, just button layout is changed)
-
- https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10109392860
-
- A-1 Pichi Pichi Pitch vol.1 / ã´ã¡ã´ã¡ãƒ”ッãƒvol.1
- A-2 Pichi Pichi Pitch vol.2 / ã´ã¡ã´ã¡ãƒ”ッãƒvol.2
- A-3 Pichi Pichi Pitch vol.3 / ã´ã¡ã´ã¡ãƒ”ッãƒvol.3
- A-4 Pichi Pichi Pitch Pure Chapter 1 / ã´ã¡ã´ã¡ãƒ”ッãƒãƒ”ュア第1章
- A-5 Pichi Pichi Pitch Karaoke Party / ã´ã¡ã´ã¡ãƒ”ッãƒã‚«ãƒ©ã‚ªã‚±ãƒ‘ーティー
- A-6 Pichi Pichi Pitch Pure Chapter 2 / ã´ã¡ã´ã¡ãƒ”ッãƒãƒ”ュア第2章
- A-7 Pichi Pichi Pitch Pure Chapter 3 / ã´ã¡ã´ã¡ãƒ”ッãƒãƒ”ュア第3章
- A-8 Pichi Pichi Pitch Karaoke Party 2 / ã´ã¡ã´ã¡ãƒ”ッãƒã‚«ãƒ©ã‚ªã‚±ãƒ‘ーティー2
-
- -->
-
- <software name="a1" supported="no">
- <description>A-1 Pichi Pichi Pitch vol.1 (Japan)</description>
- <year>2003</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <feature name="slot" value="rom_24c08_epitch"/>
- <dataarea name="rom" size="0x200000">
- <rom name="ekaraa1.bin" size="0x200000" crc="5f69a977" sha1="33e7b453e1e78ac5e4a20c81c00f5c0c1260c6b0" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="a4" supported="no">
- <description>A-4 Pichi Pichi Pitch Pure Chapter 1 (Japan)</description>
- <year>2004</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <feature name="slot" value="rom_24c08_epitch"/>
- <dataarea name="rom" size="0x200000">
- <rom name="ekaraa4.bin" size="0x200000" crc="03dcc45a" sha1="ae884128c09b4fc7521f0010bbe9624419a3d0b8" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="a5">
- <description>A-5 Pichi Pichi Pitch Karaoke Party (Japan)</description>
- <year>2004</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <dataarea name="rom" size="0x100000">
- <rom name="ekaraa5.bin" size="0x100000" crc="6cec888a" sha1="5cb4abefb4a5aaec8827bf2d6abc2dfda8099136" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="a7" supported="no">
- <description>A-7 Pichi Pichi Pitch Pure Chapter 3 (Japan)</description>
- <year>2004</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <feature name="slot" value="rom_24c08_epitch"/>
- <dataarea name="rom" size="0x200000">
- <rom name="ekaraa7.bin" size="0x200000" crc="5b59900e" sha1="fdb8148211f00d0119b9ad082bf8fd348d509800" offset="0" />
- </dataarea>
- </part>
- </software>
-
-</softwarelist>
diff --git a/hash/ekara_japan_bh.xml b/hash/ekara_japan_bh.xml
deleted file mode 100644
index b033c4713b8..00000000000
--- a/hash/ekara_japan_bh.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
-<softwarelist name="ekara_japan_bh" description="Takara e-kara (Japan) BH-xx series cartridges">
- <!-- cartridges contain the ROM only, the XaviX CPU and BIOS are in the base unit -->
- <!--
- Japanese cart listing (by BH code) * = dumped
- * = dumped
-
- A secondary 4-digit naming scheme BHxxxx (no extension) appears on a sticker on the cartridge PCB only
-
- For e-kara only
-
- These are probably all just titled 'Best Hit Collection'
-
- BH-01 (unknown)
- *BH-02 Best Hit Collection
- *BH-03 Best Hit Collection
- BH-04 (unknown)
- *BH-05 Best Hit Collection)
- *BH-06 Best Hit Collection
-
- (more? what's the BH highest number?)
-
- -->
-
- <software name="bh02">
- <description>BH-02 Best Hit Collection (Japan)</description>
- <year>2005</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <dataarea name="rom" size="0x100000">
- <rom name="bh02.bin" size="0x100000" crc="05ada4d7" sha1="abee397597f04f89b80bca69fa2daa4e2af7056b" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="bh03">
- <description>BH-03 Best Hit Collection (Japan)</description>
- <year>2005</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <dataarea name="rom" size="0x100000">
- <rom name="bh03.bin" size="0x100000" crc="d17cafd4" sha1="b74fd0f77a726547d4001d4177a5ccd2ea35536a" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="bh05">
- <description>BH-05 Best Hit Collection (Japan)</description>
- <year>2005</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <dataarea name="rom" size="0x100000">
- <rom name="bh05.bin" size="0x100000" crc="9713f0c1" sha1="1ccd666771dcaed304e69c7dee06ae11df4ab091" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="bh06">
- <description>BH-06 Best Hit Collection (Japan)</description>
- <year>2005</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <dataarea name="rom" size="0x100000">
- <rom name="bh06.bin" size="0x100000" crc="6e264ecb" sha1="6c3e4253565242c0c6dcdab7698f5b1e28544b2e" offset="0" />
- </dataarea>
- </part>
- </software>
-
-</softwarelist>
diff --git a/hash/ekara_japan_d.xml b/hash/ekara_japan_d.xml
index e80e98b9f00..859ccb93a85 100644
--- a/hash/ekara_japan_d.xml
+++ b/hash/ekara_japan_d.xml
@@ -16,31 +16,19 @@
note BAT and BHT aren't the same series
- *D-1 DC0001-BHT BHT (Best Artists?) Volume 8 (most other BHT carts are in G series, or P series)
+ D-1 DC0001- (unknown)
*D-2 DC0002-BAT BAT Volume 6
- *D-3 DC0003-BHT BHT (Best Artists?) Volume 9
- D-4 DC0004-TPJ TV Pop Volume 8
+ D-3 DC0003-BHT BHT (Best Artists?) Volume 9? (most other BHT carts are in G series, or P series)
+ D-4 DC0004- (unknown)
*D-5 DC0005-TPJ TV Pop Volume 9
- D-6 DC0006-BHT BHT (Best Artists?) Volume 10
- D-7 DC0007- (untranslated) Volume 4
- D-8 DC0008-BAT BAT Volume 7?
-
+ D-6 DC0006- (seen)
+ D-7 DC0007- (seen)
+ D-8 DC0008- (seen)
+
(more? what's the D highest number?)
-
+
-->
- <software name="dc0001">
- <description>BHT Volume 8 (Japan) (DC0001-BHT)</description>
- <year>2003</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <feature name="slot" value="rom_24lc02"/>
- <dataarea name="rom" size="0x100000">
- <rom name="dc0001-bht.u1" size="0x100000" crc="bd0c4044" sha1="496f9270c0285480ad513c2628260a5ed629dfd6" offset="0" />
- </dataarea>
- </part>
- </software>
-
<software name="dc0002">
<description>BAT Volume 6 (Japan) (DC0002-BAT)</description>
<year>2003</year>
@@ -53,18 +41,6 @@
</part>
</software>
- <software name="dc0003">
- <description>BHT Volume 9 (Japan) (DC0003-BHT)</description>
- <year>2003</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <feature name="slot" value="rom_24lc02"/>
- <dataarea name="rom" size="0x100000">
- <rom name="dc0003-bht.u1" size="0x100000" crc="fd15d60f" sha1="c017d3fa1e10ad13cc130b92bd149a347d5c996c" offset="0" />
- </dataarea>
- </part>
- </software>
-
<software name="dc0005">
<description>TV Pop Volume 9 (Japan) (DC0005-TPJ)</description>
<year>2004</year>
diff --git a/hash/ekara_japan_en.xml b/hash/ekara_japan_en.xml
index f23b7117b31..63533f411bb 100644
--- a/hash/ekara_japan_en.xml
+++ b/hash/ekara_japan_en.xml
@@ -5,11 +5,11 @@
<!--
Japanese cart listing (by EN code) * = dumped
* = dumped
-
+
These don't seem to have a secondary numbering scheme (eg ENxxxx-xxx)
-
+
(check what units these are for)
-
+
EN-1 (unknown)
EN-2 (unknown)
*EN-3 (unknown)
@@ -17,7 +17,7 @@
(more? what's the EN highest number?)
-->
-
+
<software name="en3">
<description>EN-3 (Japan)</description>
<year>2004</year>
@@ -27,6 +27,6 @@
<rom name="en-3.u1" size="0x100000" crc="e3686ff4" sha1="e7e9a53a778739c406b2b226300d2f525cd9676b" offset="0" />
</dataarea>
</part>
- </software>
-
+ </software>
+
</softwarelist>
diff --git a/hash/ekara_japan_g.xml b/hash/ekara_japan_g.xml
index aaf8b73851b..1191b84109c 100644
--- a/hash/ekara_japan_g.xml
+++ b/hash/ekara_japan_g.xml
@@ -9,7 +9,7 @@
These are for use with 2 different units
1. e-Kara
- 2. Popira (and Popira 2? - earlier carts will run it as regular Popira, later carts have full Popira 2 support)
+ 2. Popira (and Popira 2?)
G-1 *GC0001-BAT BAT Volume 1 (Artist Selection?)
G-2 *GC0002-BHT BHT Volume 1 (Best Artists?)
@@ -17,23 +17,22 @@
G-4 *GC0004-BHT BHT Volume 2 (Best Artists?)
G-5 GC0005-TPJ TV Pop Volume 1
G-6 *GC0006-BHT BHT Volume 3 (Best Artists?)
- G-7 *GC0007-BAT BAT Volume 3 (Artist Selection?)
- G-8 *GC0008-MIN mini-moni Volume 1
+ G-7 GC0007-BAT BAT Volume 3 (Artist Selection?)
+ G-8 GC0008-MIN? untranslated (no volume)
G-9 GC0009-TPJ TV Pop Volume 3 (Volume 2 is 'P-2' in 'P' series)
G-10 *GC0010-BAT BAT Volume 4 (Artist Selection?)
G-11 GC0011-TPJ TV Pop Volume 4
G-12 GC0012-BHT BHT Volume 5 (Best Artists?) (Volume 4 is 'P-1' in 'P' series)
G-13 GC0013- (unknown) Volume 6
- G-14 *GC0014-MIN mini-moni Volume 2
+ G-14 GC0014- (unknown) Volume 2
G-15 *GC0015-BAT BAT Volume 5 (Artist Selection?)
G-16 *GC0016-TPJ TV Pop Volume 5
- G-17 *GC0017-TPJ TV Pop Volume 6
- G-18 GC0018-TPJ TV Pop Volume 7
+ G-17 GC0017-TPJ TV Pop Volume 6
(more? what's the G highest number?)
-->
-
+
<software name="gc0001">
<description>BAT Volume 1 (Japan) (GC0001-BAT)</description>
<year>2000</year>
@@ -62,11 +61,11 @@
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
<dataarea name="rom" size="0x100000">
- <rom name="gc0003-bat.u1" size="0x100000" crc="49536d5a" sha1="c112b6ac62f586fc1d1615406362fc659e587772" offset="0" />
+ <rom name="gc00003-bat.u1" size="0x100000" crc="49536d5a" sha1="c112b6ac62f586fc1d1615406362fc659e587772" offset="0" />
</dataarea>
</part>
</software>
-
+
<software name="gc0004">
<description>BHT Volume 2 (Japan) (GC0004-BHT)</description>
<year>2000</year>
@@ -77,7 +76,7 @@
</dataarea>
</part>
</software>
-
+
<software name="gc0006">
<description>BHT Volume 3 (Japan) (GC0006-BHT)</description>
<year>2000</year>
@@ -88,77 +87,31 @@
</dataarea>
</part>
</software>
-
- <software name="gc0007">
- <description>BAT Volume 3 (Japan) (GC0007-BAT)</description>
- <year>2000</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <dataarea name="rom" size="0x100000">
- <rom name="gc0007-bat.u1" size="0x100000" crc="27b49bdb" sha1="2b64d978fc5df5869bc3c27d16642727e2d38999" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="gc0008">
- <description>mini-moni Volume 1 (Japan) (GC0008-MIN) (set 1)</description>
- <year>2001</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <dataarea name="rom" size="0x200000">
- <rom name="gc0008-min.u1" size="0x200000" crc="8414c402" sha1="340c432eec8eb2108b8364b5936dd22dc34b51a9" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="gc0008a" cloneof="gc0008">
- <description>mini-moni Volume 1 (Japan) (GC0008-MIN) (set 2)</description>
- <year>2001</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <dataarea name="rom" size="0x200000">
- <rom name="gc0008-min(alt).u1" size="0x200000" crc="b34d1721" sha1="3621f02423f55c43d1b16855c01189719ddbcb6e" offset="0" />
- </dataarea>
- </part>
- </software>
-
+
<!-- Notes from Sean
-
+
G10 has a 24LC02, but no 74HC125, and pin 2 isn't connected.
- G10 is very odd; the SEEPROM's SDA is tied high with a 4.7K resistor and connected to pin 4 through a 220 ohm resistor.
- Pin 4 on the other carts I've looked at is VCC, also connected to pins 21 and 35, but on this one, it isn't.
- Likewise, SCL is tied low with a 47K resistor and connected to pin 32, which on all the other carts is connected to pins 1 and 44, which are ground.
-
- e-Kara units, Popira, Taiko de Popira and DDR all of them have pin 4 of the cart connector going to VCC and pin 32 going to ground. So none of them can communicate with the SEEPROM in G10
-
- Popira 2 however can make use of these pins -->
+ G10 is very odd; the SEEPROM's SDA is tied high with a 4.7K resistor and connected to pin 4 through a 220 ohm resistor.
+ Pin 4 on the other carts I've looked at is VCC, also connected to pins 21 and 35, but on this one, it isn't.
+ Likewise, SCL is tied low with a 47K resistor and connected to pin 32, which on all the other carts is connected to pins 1 and 44, which are ground.
+
+ e-Kara units, Popira, Taiko de Popira and DDR all of them have pin 4 of the cart connector going to VCC and pin 32 going to ground. So none of them can communicate with the SEEPROM in G10
+ Unless Popira 2 is different (unlikely) it doesn't look like the SEEPROM in this cartridge can be used (unfinished design?) -->
<software name="gc0010">
<description>BAT Volume 4 (Japan) (GC0010-BAT)</description>
<year>2002</year>
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
- <feature name="slot" value="rom_24lc02_gc0010"/>
+ <feature name="slot" value="rom_24lc02"/> <!-- no 74HC125, doesn't seem possible that this SEEPROM is actually used, see note above -->
<dataarea name="rom" size="0x100000">
<rom name="gc0010-bat.u1" size="0x100000" crc="c08be376" sha1="28cb6baacf64e0382fd9c8bb7167d7fdd96f57ee" offset="0" />
</dataarea>
</part>
- </software>
-
-
- <software name="gc0014">
- <description>mini-moni Volume 2 (GC0014-MIN)</description>
- <year>2002</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <feature name="slot" value="rom_24lc02"/> <!-- with 74HC125 -->
- <dataarea name="rom" size="0x200000">
- <rom name="gc0014-min.u1" size="0x200000" crc="309e0337" sha1="ac68ad33fd15d7c2cc507efc645a04a2e6d08d49" offset="0" />
- </dataarea>
- </part>
- </software>
-
+ </software>
+
+
<!-- G15 looks like G16- 74HC125 and 24LC02. -->
<software name="gc0015">
<description>BAT Volume 5 (Japan) (GC0015-BAT)</description>
@@ -170,8 +123,8 @@
<rom name="gc0015-bat.u1" size="0x100000" crc="a839b745" sha1="a02bd29383baf1f92b3573aaa6343cc309a6f589" offset="0" />
</dataarea>
</part>
- </software>
-
+ </software>
+
<software name="gc0016">
<description>TV Pop Volume 5 (Japan) (GC0016-TPJ)</description>
<year>2002</year>
@@ -182,18 +135,6 @@
<rom name="gc0016-tpj.u1" size="0x100000" crc="52d81c55" sha1="c2fad86a2507589625cb507c3e1395cb662f9e34" offset="0" />
</dataarea>
</part>
- </software>
-
- <software name="gc0017">
- <description>TV Pop Volume 6 (Japan) (GC0017-TPJ)</description>
- <year>2002</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <feature name="slot" value="rom_24lc02"/> <!-- with 74HC125 -->
- <dataarea name="rom" size="0x100000">
- <rom name="gc0017-tpj.u1" size="0x100000" crc="2c7d00a2" sha1="5976b9f3a95afb3b23f1d1d996de0b7aa41ee25c" offset="0" />
- </dataarea>
- </part>
- </software>
-
+ </software>
+
</softwarelist>
diff --git a/hash/ekara_japan_gk.xml b/hash/ekara_japan_gk.xml
deleted file mode 100644
index bc3bd45d46c..00000000000
--- a/hash/ekara_japan_gk.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
-<softwarelist name="ekara_japan_gk" description="Takara e-kara (Japan) GK-xx series cartridges">
- <!-- cartridges contain the ROM only, the XaviX CPU and BIOS are in the base unit -->
- <!--
- Japanese cart listing (by GK code) * = dumped
- * = dumped
-
- A secondary 4-digit naming scheme GKxxxx (no extension) appears on a sticker on the cartridge PCB only
-
- (check what units these are for)
-
- *GK-1 Detective Conan
- GK-2 (unknown)
- GK-3 (seen)
-
- (more? what's the GK highest number?)
-
- -->
-
- <software name="gk1">
- <description>GK-1 - Detective Conan (Japan)</description>
- <year>2004</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <dataarea name="rom" size="0x200000">
- <rom name="gk1.bin" size="0x200000" crc="775608cd" sha1="8b53fd4e8ced709df2716c839abfd7e41cc719d2" offset="0" />
- </dataarea>
- </part>
- </software>
-
-</softwarelist>
diff --git a/hash/ekara_japan_m.xml b/hash/ekara_japan_m.xml
index 3be3576dbe8..f068d1edd87 100644
--- a/hash/ekara_japan_m.xml
+++ b/hash/ekara_japan_m.xml
@@ -5,36 +5,29 @@
Japanese cart listing (by M code) (M-x on cartridge / box, MC in cart identifier code)
- M-1 *MC0001-ATM Artist Mini Volume 1 (untranslated artist)
- M-2 MC0002-ATM Artist Mini Volume 2 (untranslated artist)
- M-3 MC0003-ATM Artist Mini Volume 3 (untranslated artist)
- M-4 *MC0004-ATM Artist Mini Volume 4 (w-inds)
- M-5 MC0005- KSM? unknown Vol 1
- M-6 *MC0006-KSM KSM Mini Volume 2
- M-7 MC0007-ATM Artist Mini Volume 5 (SMAP, KinKi Kids)
- M-8 MC0008- KSM? TPM? unknown Vol 3 (TV)
- M-9 MC0009-KSM JPop Mix Mini Vol 1
- M-10 MC0010-ATM Artist Mini Volume 6 (untranslated artist)
- M-11 MC0011- KSM? unknown Vol 4
- M-12 *MC0012-ATM Artist Mini Volume 7 (untranslated artist)
- M-13 *MC0013-KSM KSM Mini Volume 5
- M-14 *MC0014-ATM Artist Mini Volume 8 (BoA)
- M-15 MC0015- KSM? TPM? unknown Vol 6 (TV Pop)
- M-16 MC0016-ATM Artist Mini Volume 9 (untranslated artist)
- M-17 MC0017- KSM? TPM? TV Pop Mini Vol 7 (TV Pop)
-
- unsure of KSM / TMP naming, MC0005/0005/0008/0011/0013/0015/0017 all seem to be the same series
- but might have different 3 letter codes
-
+ M-1 *MC0001-ATM ATM Mini Volume 1
+ M-2 MC0002-
+ M-3 MC0003-
+ M-4 MC0004- ? Mini Volume 4 (w-inds)
+ M-5 MC0005-
+ M-6 MC0006-
+ M-7 MC0007-ATM ATM Mini Volume 5
+ M-8
+ M-9
+ M-10
+ M-11
+ M-12
+ M-13 MC0013-KSM KSM Mini Volume 5
+
(more? what's the M highest number?)
-->
-
+
<!-- Japanese e-kara cartridges MC (Mini) series -->
<!-- these have unique presentation -->
<software name="mc0001">
- <description>Artist Mini Volume 1 (untranslated artist) (Japan) (MC0001-ATM)</description>
+ <description>ATM Mini Volume 1 (Japan) (MC0001-ATM)</description>
<year>2003</year>
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
@@ -44,41 +37,8 @@
</part>
</software>
- <software name="mc0004">
- <description>Artist Mini Volume 4 (w-inds) (Japan) (MC0004-ATM)</description>
- <year>2003</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <dataarea name="rom" size="0x080000">
- <rom name="mc0004-atm.u1" size="0x080000" crc="e9ba14c1" sha1="3cad1a6b0d1ba24dfb6c1aec84a6d87816b16d54" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="mc0006">
- <description>KSM Mini Volume 2 (Japan) (MC0006-KSM)</description>
- <year>2003</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <dataarea name="rom" size="0x080000">
- <rom name="mc0006-ksm.u1" size="0x080000" crc="6d3c8c02" sha1="568a0e156a2189156149578277b6d615fe4e157f" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="mc0012">
- <description>Artist Mini Volume 7 (untranslated artist) (Japan) (MC0012-ATM)</description>
- <year>2003</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <dataarea name="rom" size="0x080000">
- <rom name="mc0012-atm.u1" size="0x080000" crc="f31d3de9" sha1="41e4de960b2f348a4bed3b9b6d51229878e8c8f3" offset="0" />
- </dataarea>
- </part>
- </software>
-
<software name="mc0013">
- <description>KSM Mini Volume 5 (Japan) (MC0013-KSM)</description>
+ <description>KSM Mini Volume 5 (Japan) (MC0005-KSM)</description>
<year>2003</year>
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
@@ -88,15 +48,4 @@
</part>
</software>
- <software name="mc0014">
- <description>Artist Mini Volume 8 (BoA) (Japan) (MC0014-ATM)</description>
- <year>2003</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <dataarea name="rom" size="0x080000">
- <rom name="mc0014-atm.u1" size="0x080000" crc="170e02af" sha1="02b38146db7d74727f7dccf6dcc3d004979210a1" offset="0" />
- </dataarea>
- </part>
- </software>
-
</softwarelist>
diff --git a/hash/ekara_japan_p.xml b/hash/ekara_japan_p.xml
index 7b87f3cb076..a6736fff155 100644
--- a/hash/ekara_japan_p.xml
+++ b/hash/ekara_japan_p.xml
@@ -13,9 +13,9 @@
3. Konami DDR Family Mat
*P-1 BHT Volume 4 (Best Artists?) (1,2,3, 5 in G series)
- *P-2 TV Pop Volume 2 (1,3,4 in G series)
+ P-2 TV Pop Volume 2 (1,3,4 in G series)
*P-3 ENB Volume 1
- *P-4 BHT Volume 7
+ P-4 BHT Volume 7
-->
<software name="pc0001">
@@ -29,28 +29,6 @@
</part>
</software>
- <software name="pc0002">
- <description>TV Pop Volume 2 (Japan) (PC0002-TPJ) (set 1)</description>
- <year>2001</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <dataarea name="rom" size="0x100000">
- <rom name="pc0002-tpj.u1" size="0x100000" crc="2ce065ed" sha1="1c0ae8050f7093a53f74637f27063f720f19610c" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="pc0002a" cloneof="pc0002">
- <description>TV Pop Volume 2 (Japan) (PC0002-TPJ) ('World Trade Center' image removed)</description> <!-- The song 'Run Run Run' features an image containing the twin towers in the original release, it is swapped for another here -->
- <year>2001</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <dataarea name="rom" size="0x100000">
- <rom name="pc0002-tpj(alt).u1" size="0x100000" crc="f8c54474" sha1="4ae876d8deed068c710700499cba22b88bea3d17" offset="0" />
- </dataarea>
- </part>
- </software>
-
<software name="pc0003">
<description>ENB Volume 1 (Japan) (PC0003-ENB)</description>
<year>2001</year>
@@ -61,17 +39,17 @@
</dataarea>
</part>
</software>
-
+
<software name="pc0004">
<description>BHT Volume 7 (Japan) (PC0004-BHT)</description>
<year>2002</year>
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
- <feature name="slot" value="rom_24lc02"/>
+ <feature name="slot" value="rom_24lc02"/>
<dataarea name="rom" size="0x100000">
- <rom name="pc0004-bht.u1" size="0x100000" crc="95e35899" sha1="a9bd2694f5ee4b964e8d73afc3e88c0eb18ca1d2" offset="0" />
+ <rom name="pc0004-bht.u1" size="0x100000" crc="95e35899" sha1="a9bd2694f5ee4b964e8d73afc3e88c0eb18ca1d2" offset="0" />
</dataarea>
</part>
- </software>
+ </software>
</softwarelist>
diff --git a/hash/ekara_japan_s.xml b/hash/ekara_japan_s.xml
index 7f5b4ea833d..bf95c5d9826 100644
--- a/hash/ekara_japan_s.xml
+++ b/hash/ekara_japan_s.xml
@@ -11,46 +11,36 @@
SAI seems to be used for multiple different series here, need to look at the subtitles too
S-1 SC0001- Hello Kitty Special
- S-2 SC0002-SAI SAI (series 3) Volume 1
- S-3 *SC0003- Kids' Challenge Volume 1
- S-4 *SC0004-SAI SAI (series 1) Volume 1
+ S-2 SC0002- (unknown)
+ S-3 SC0003- (unknown)
+ S-4 *SC0004-SAI SAI (series 1) Volume 1
S-5 *SC0005-SAI SAI (series 2) Volume 1 (same series as 6,9,19,21,22)
S-6 *SC0006-SAI SAI (series 2) Volume 2 (same series as 5,9,19,21,22)
- S-7 SC0007- unknown(2) Volume 1
- S-8 SC0008-SAI SAI (series 3) Volume 2
+ S-7 SC0007- (unknown)
+ S-8 SC0008- (unknown)
S-9 *SC0009-SAI SAI (series 2) Volume 3 (same series as 5,6,19,21,22)
S-10 *SC0010-HWK HWK (untranslated)
- S-11 SC0011- PostPet
- S-12 *SC0012-SAI SAI (series 3) Volume 3
- S-13 SC0013- SAI (series 2) Volume 4
- S-14 SC0014- SAI (series 3) Volume 4
- S-15 SC0015- unknown(2) Volume 2
- S-16 SC0016-SAI SAI (series 2) Volume 5
- S-17 SC0017- unknown(1) Volume 2
- S-18 *SC0018-SAI Challenge Artist Volume 1
+ S-11 SC0011- (unknown)
+ S-12 *SC0012-SAI SAI (series 3) Volume 3
+ S-13 SC0013- (unknown)
+ S-14 SC0014- (unknown)
+ S-15 SC0015- (unknown)
+ S-16 SC0016- (unknown)
+ S-17 SC0017- (unknown)
+ S-18 SC0018- (unknown) Volume 1
S-19 *SC0019-SAI SAI (series 2) Volume 6 (same series as 5,6,9,21,22)
- S-20 SC0020- SAI (series 3) Volume 5
- S-21 *SC0021-SAI SAI (series 2) Volume 7 (same series as 5,6,9,19,22)
- S-22 *SC0022-SAI SAI (series 2) Volume 8 (same series as 5,6,9,19,21)
-
- (more? what's the S highest number?, had S-23 noted, but can't find evidence of it now)
+ S-20 SC0020- (unknown) Volume 5
+ S-21 *SC0021-SAI SAI (series 2) Volume 7 (same seires as 5,6,9,19,22)
+ S-22 *SC0022-SAI SAI (series 2) Volume 8 (same seires as 5,6,9,19,21)
+ S-23 SC0023- (unknown)
+ (more? what's the S highest number?)
+
-->
<!-- Japanese e-kara cartridges SC (Special?) series -->
<!-- these have unique presentation -->
- <software name="sc0003">
- <description>Kids' Challenge Volume 1 (Japan) (SC0003-xxx)</description>
- <year>2001</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <dataarea name="rom" size="0x100000">
- <rom name="sc0003-.u1" size="0x100000" crc="935e3445" sha1="e86949467e65d515523629ca1e8f8b47cdaaacf0" offset="0" />
- </dataarea>
- </part>
- </software>
-
<software name="sc0004">
<description>SAI (series 1) Volume 1 (Japan) (SC0004-SAI)</description>
<year>2001</year>
@@ -117,20 +107,9 @@
</part>
</software>
- <software name="sc0018">
- <description>Challenge Artist Volume 1 (Japan) (SC0018-SAI)</description>
- <year>2002</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <dataarea name="rom" size="0x100000">
- <rom name="sc0018-sai.u1" size="0x100000" crc="23545417" sha1="64b84de483c6c5d1129826324b30580a189077ea" offset="0" />
- </dataarea>
- </part>
- </software>
-
<software name="sc0019">
<description>SAI (series 2) Volume 6 (Japan) (SC0019-SAI)</description>
- <year>2002</year>
+ <year>2001</year>
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
<dataarea name="rom" size="0x200000">
@@ -141,7 +120,7 @@
<software name="sc0021">
<description>SAI (series 2) Volume 7 (Japan) (SC0021-SAI)</description>
- <year>2002</year>
+ <year>2001</year>
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
<dataarea name="rom" size="0x200000">
@@ -152,7 +131,7 @@
<software name="sc0022">
<description>SAI (series 2) Volume 8 (Japan) (SC0022-SAI)</description>
- <year>2003</year>
+ <year>2001</year>
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
<dataarea name="rom" size="0x200000">
diff --git a/hash/ekara_japan_sp.xml b/hash/ekara_japan_sp.xml
index f0fa50dfb0f..efb6ea08554 100644
--- a/hash/ekara_japan_sp.xml
+++ b/hash/ekara_japan_sp.xml
@@ -7,8 +7,8 @@
***********************************************************************************
Japanese cart listing (by SP code) * = dumped
-
- A secondary 4-digit naming scheme SPxxxx (no extension) appears on a sticker on the cartridge PCB only
+
+ These don't seem to have a secondary numbering scheme (eg SPxxxx-xxx)
These are for use with 5 different units
1. e-Kara
@@ -16,15 +16,18 @@
3. Popira 2 (Blue/Green) ( https://www.youtube.com/watch?v=iY1I-jfXw7U )
4. Taiko de Popira
5. Jumping Popira (Stepping Mat type thing) ( https://www.youtube.com/watch?v=yJruMOBdLFY )
-
+
If you plug this into a DDR Family Mat you get the message (in Japanese)
-
+
"please play this cartridge on e-kara series, popira, popira 2, taiko de popira or jumping popira"
+ gives 'memory error' if plugged into Popira (needs cartridge SEEPROM emulating)
+ gives 'eep-rom error' if plugged into Taiko de Popira (same reason)
+
SP-01 (unknown)
*SP-02 'Super Cartridge' SP-2
- *SP-03 'Super Cartridge' SP-3
- *SP-04 'Super Cartridge' SP-4
+ SP-03 (unknown)
+ SP-04 (unknown)
SP-05
SP-06 (seen)
SP-07 (seen)
@@ -33,9 +36,9 @@
-->
- <software name="sp02">
+ <software name="sp02"> <!-- also has SEEPROM inside -->
<description>SP-02 Super Cartridge (Japan)</description>
- <year>2004</year>
+ <year>2000</year>
<publisher>Takara</publisher>
<part name="cart" interface="ekara_cart">
<feature name="slot" value="rom_24lc04"/>
@@ -43,30 +46,5 @@
<rom name="sp02.u1" size="0x200000" crc="c8a84ded" sha1="02ffa04cdc7732fd3ab75505c5cc68bda130c7ee" offset="0" />
</dataarea>
</part>
- </software>
-
- <software name="sp03">
- <description>SP-03 Super Cartridge (Japan)</description>
- <year>2004</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <feature name="slot" value="rom_24lc04"/>
- <dataarea name="rom" size="0x200000">
- <rom name="sp03.u1" size="0x200000" crc="cd7dbbaf" sha1="cc62c10f8f83015e4c472bc41e9a1fd7ac497655" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="sp04">
- <description>SP-04 Super Cartridge (Japan)</description>
- <year>2004</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <feature name="slot" value="rom_24lc04"/>
- <dataarea name="rom" size="0x200000">
- <rom name="sp04.u1" size="0x200000" crc="77818ddb" sha1="708980b1ae30864bd3395ef663de1c57ecbc113c" offset="0" />
- </dataarea>
- </part>
- </software>
-
+ </software>
</softwarelist>
diff --git a/hash/ekara_japan_web.xml b/hash/ekara_japan_web.xml
index 9ba3f9f10b9..d0c1a75fd51 100644
--- a/hash/ekara_japan_web.xml
+++ b/hash/ekara_japan_web.xml
@@ -28,17 +28,4 @@
</part>
</software>
- <!-- this one has some songs programmed into it (TODO, list them here for reference) -->
-
- <software name="ekaraweb12a">
- <description>e-kara Web cartridge 12M (used, with 7 Songs) (Japan)</description>
- <year>2003</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <dataarea name="rom" size="0x100000">
- <rom name="ekaraweb3.bin" size="0x100000" crc="a6a095b9" sha1="709d7edb5799b97127502408bec698663b902462" offset="0" />
- </dataarea>
- </part>
- </software>
-
</softwarelist>
diff --git a/hash/ekara_us.xml b/hash/ekara_us.xml
index 69af8ccac8d..e16a244b617 100644
--- a/hash/ekara_us.xml
+++ b/hash/ekara_us.xml
@@ -229,5 +229,5 @@
</dataarea>
</part>
</software>
-
+
</softwarelist>
diff --git a/hash/electron_cart.xml b/hash/electron_cart.xml
index 554f0ed0c0d..c0e2536ae81 100644
--- a/hash/electron_cart.xml
+++ b/hash/electron_cart.xml
@@ -100,10 +100,10 @@
<publisher>Acornsoft</publisher>
<info name="release" value="SCL02" />
<part name="cart" interface="electron_cart">
- <dataarea name="lorom" size="16384">
+ <dataarea name="uprom" size="16384">
<rom name="lisp_1.rom" size="16384" crc="fda4c546" sha1="24c7062fc3666cd6814d72e417146e32eb995b04" offset="0" />
</dataarea>
- <dataarea name="uprom" size="16384">
+ <dataarea name="lorom" size="16384">
<rom name="lisp_2.rom" size="16384" crc="2eb56fc0" sha1="bdf09e553578d27a0cc202d409484dd8c2c3c085" offset="0" />
</dataarea>
</part>
@@ -295,7 +295,7 @@
<!-- Expansion Cartridges -->
<software name="abr">
- <description>Advanced Battery-Backed RAM v1.10</description>
+ <description>Advanced Battery-Backed RAM</description>
<year>1987</year>
<publisher>Advanced Computer Products</publisher>
<part name="cart" interface="electron_cart">
@@ -306,18 +306,6 @@
</part>
</software>
- <software name="abr104" cloneof="abr">
- <description>Advanced Battery-Backed RAM v1.04</description>
- <year>1987</year>
- <publisher>Advanced Computer Products</publisher>
- <part name="cart" interface="electron_cart">
- <feature name="slot" value="abr" />
- <dataarea name="nvram" size="32768">
- <rom name="pres-abr-utils-1.04.rom" size="16384" crc="2c009b06" sha1="be245a32bba1f18614963587a61bcb622f404c95" offset="0" />
- </dataarea>
- </part>
- </software>
-
<software name="ap3" cloneof="ap34">
<description>Advanced Plus 3</description>
<year>1987</year>
@@ -359,18 +347,6 @@
</part>
</software>
- <software name="ap5">
- <description>Advanced Plus 5</description>
- <year>1985</year>
- <publisher>Advanced Computer Products</publisher>
- <part name="cart" interface="electron_cart">
- <feature name="slot" value="ap5" />
- <dataarea name="rom" size="8192">
- <rom name="acp-tube-1.21.rom" size="8192" crc="63fb5a90" sha1="56c1f0ed4267ecd61f4e47ce9ac6954fc344bc3f" offset="0" />
- </dataarea>
- </part>
- </software>
-
<software name="aqr">
<description>Advanced Quarter Meg RAM</description>
<year>1987</year>
@@ -420,7 +396,7 @@
</part>
</software>
- <software name="peg4001" cloneof="peg400">
+ <software name="peg4001" cloneof="peg400">
<description>Pegasus 400 v1.01</description>
<year>1987</year>
<publisher>Slogger</publisher>
@@ -446,19 +422,6 @@
</part>
</software>
- <software name="romp144">
- <description>ROMPlus-144</description>
- <year>1988</year>
- <publisher>JAFA Systems</publisher>
- <part name="cart" interface="electron_cart">
- <feature name="slot" value="romp144" />
- <dataarea name="rom" size="8192">
- <rom name="romplus144-v3.00.rom" size="8192" crc="2f738bff" sha1="682603274a5f8b36c4b1a43e44ede5235a92383c" offset="0" />
- </dataarea>
- <dataarea name="ram" size="32768" />
- </part>
- </software>
-
<software name="seds100" cloneof="seds">
<description>Slogger Electron Disk System v1.00</description>
<year>1986</year>
@@ -537,25 +500,12 @@
</part>
</software>
- <software name="tube">
- <description>Acorn Tube Interface (prototype)</description>
- <year>1984</year>
- <publisher>Acorn Computers</publisher>
- <part name="cart" interface="electron_cart">
- <feature name="slot" value="tube" />
- <dataarea name="rom" size="8192">
- <rom name="elk-tube-1.21.rom" size="8192" crc="3f50b365" sha1="33f1ff07ba5feb8f6343de1db0d56f7adb2db856" offset="0" />
- </dataarea>
- </part>
- </software>
-
<!-- Mega Games Cartridge -->
<software name="mgc">
<description>Mega Games Cartridge</description>
<year>2017</year>
<publisher>Retro Hardware</publisher>
- <info name="author" value="Dave Hitchins" />
<part name="cart" interface="electron_cart">
<feature name="slot" value="mgc" />
<dataarea name="nvram" size="4194304">
diff --git a/hash/electron_rom.xml b/hash/electron_rom.xml
index a06fdd1563c..c636d0ef7e2 100644
--- a/hash/electron_rom.xml
+++ b/hash/electron_rom.xml
@@ -58,6 +58,17 @@
</part>
</software>
+ <software name="abet" supported="no">
+ <description>Advanced BASIC Editor &amp; Toolkit v1.00</description>
+ <year>1990</year>
+ <publisher>P.R.E.S.</publisher>
+ <part name="rom" interface="electron_rom">
+ <dataarea name="rom" size="32768">
+ <rom name="AdvancedBASICEditorToolkit-1.00.rom" size="32768" crc="9dcf064e" sha1="80fb0c735a294b57e3fcc92614063a4ce319b41b" offset="0"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="acp100" cloneof="acp">
<description>Advanced Control Panel v1.00</description>
<year>1986</year>
@@ -432,41 +443,6 @@
</part>
</software>
- <software name="bet" supported="no">
- <description>BASIC Editor &amp; Toolkit v1.00</description>
- <year>1990</year>
- <publisher>Ian Copestake Software</publisher>
- <part name="rom" interface="electron_rom">
- <dataarea name="rom" size="32768">
- <rom name="BASICEditorToolkit-1.00.rom" size="32768" crc="9dcf064e" sha1="80fb0c735a294b57e3fcc92614063a4ce319b41b" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="commstar">
- <description>Commstar</description>
- <year>1985</year>
- <publisher>PACE</publisher>
- <part name="rom" interface="electron_rom">
- <dataarea name="rom" size="16384">
- <rom name="Commstar-E1.12.rom" size="16384" crc="61a1d49e" sha1="3776c972789cebacd1f92b6f3aa01c8b2c8bd505" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="e2p" supported="no">
- <description>E2P Operating System (ROM)</description>
- <year>1986</year>
- <publisher>Permanent Memory Systems</publisher>
- <info name="author" value="John Wike" />
- <info name="usage" value="Requires E2P-6502" />
- <part name="rom" interface="electron_rom">
- <dataarea name="rom" size="8192">
- <rom name="PMSE2P-2.4.rom" size="8192" crc="05332a50" sha1="35c7dbf6119ab9770df4765d08382e3af7345aa9" offset="0" />
- </dataarea>
- </part>
- </software>
-
<software name="elkman14" cloneof="elkman">
<description>ElkMan v1.4</description>
<year>1985</year>
@@ -500,17 +476,6 @@
</part>
</software>
- <software name="matrix">
- <description>Matrix</description>
- <year>1986</year>
- <publisher>Vine Micros</publisher>
- <part name="rom" interface="electron_rom">
- <dataarea name="rom" size="8192">
- <rom name="Matrix-1.01.rom" size="8192" crc="79beb2e0" sha1="3759f55e9f39b83eb96cb95ea4466ab72baca57f" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="mode7sim">
<description>Mode 7 Simulator v1.1</description>
<year>1988</year>
@@ -522,18 +487,6 @@
</part>
</software>
- <software name="mforth83">
- <description>Multi-Forth 83</description>
- <year>1984</year>
- <publisher>Skywave</publisher>
- <info name="usage" value="*FORTH-83" />
- <part name="rom" interface="electron_rom">
- <dataarea name="rom" size="16384">
- <rom name="Multi-Forth83.rom" size="16384" crc="c7de445f" sha1="9d26aecf96608504d091628ce1f15fb045e2874a" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="pluscom">
<description>Pluscom Plus v2.00</description>
<year>1987</year>
@@ -876,22 +829,6 @@
</part>
</software>
- <software name="timetndr">
- <description>Time-Tender</description>
- <year>1986</year>
- <publisher>Cheshire Micro Systems</publisher>
- <part name="rom1" interface="electron_rom">
- <dataarea name="rom" size="16384">
- <rom name="Time1.rom" size="16384" crc="95aea1a3" sha1="ff90ce72badc5ffe10326cfb59cd199566f49a73" offset="0"/>
- </dataarea>
- </part>
- <part name="rom2" interface="electron_rom">
- <dataarea name="rom" size="16384">
- <rom name="Time2.rom" size="16384" crc="c07b15c7" sha1="2236ab7a029cb9f399ba4d57e93fcef703e5cb61" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="trek106" cloneof="trek">
<description>StarTrek v1.06</description>
<year>1986</year>
diff --git a/hash/fidel_sc6.xml b/hash/fidel_sc6.xml
deleted file mode 100644
index 720ec1c8c2a..00000000000
--- a/hash/fidel_sc6.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
-
-<softwarelist name="fidel_sc6" description="Fidelity SC6 Modules">
-
-<!-- Sensory Chess Challenger 6 -->
-
- <software name="sc6">
- <description>SC6: original program</description>
- <year>1982</year>
- <publisher>Fidelity Electronics</publisher>
- <part name="cart" interface="fidel_sc6">
- <dataarea name="rom" size="0x1000">
- <rom name="101-1035a01" size="0x1000" crc="0024971f" sha1="76b16364913ada2fb94b9e6a8524b924e6832ddf" offset="0x0000" /> <!-- 2332 -->
- </dataarea>
- </part>
- </software>
-
-</softwarelist>
diff --git a/hash/fmtowns_cd.xml b/hash/fmtowns_cd.xml
index cc142b7a64f..4170891145e 100644
--- a/hash/fmtowns_cd.xml
+++ b/hash/fmtowns_cd.xml
@@ -184,6 +184,7 @@ Emit Vol. 3: Watashi ni Sayonara wo Koei
Engage Errands 2: Kouki wo Niau Mono Ponytail Soft 1995/5 CD
Engage Errands: Miwaku no Shito-tachi Ponytail Soft 1995/4 CD
English in Dream SofMedia 1990/6 CD
+Enkaiou Dennou Shoukai 1989/10 CD
Enkaiou Ver. 3: Chikyuu Saidai no Kessen Dennou Shoukai 1993/12 CD
Euphony 2 / MTR V1.1 Fujitsu 1992/11 CD
Euphony 2 / SCORE V1.1 Fujitsu 1993/4 CD
@@ -340,6 +341,8 @@ JAF Drive Guide - Best Ski 150 (Resort-hen) JAF Shuppansha
JAF Drive Guide (Ver. 2) JAF Shuppansha 1992/2 SET(CD+FD)
Jinmon Yuugi Fairytale (Red Zone) 1995/8 SET(CD+FD)
Jintaizu System Skeleton Medical System 1995/8 CD
+Joker Towns Birdy Soft 1992/7 CD
+Joshikou Seifuku Monogatari Nihon Soft System 1995/4 SET(CD+FD)
Joshikousei Shoujo Densetsu Byakuya Shobou 1994/4 CD
Jouhou Club Fujitsu Social Science Laboratory 1989/11 CD
Jouhou Gijutsu Yougo Shuu CD-ROM Fujitsu 1991/12 CD
@@ -530,6 +533,7 @@ Planet Harmony Datt Japan
Pocky 1-2 & Ponyon Ponytail Soft 1994/6 CD
Populous 2 Expert Imagineer 1993/2 CD
Powers of Ten Datt Japan 1995/10 CD
+Preasure Janis 1994/2 CD
Presence Orange House 1992/12 ?
Presence Sur de Wave 1992/12 CD
Present Orange House 1991/6 ?
@@ -758,6 +762,7 @@ Yes! HG Himeya Soft
Yoshioka Mayumi: Last Nude Janis 1993/12 CD
Youki de Cool na LA Towns Media Art 1990/12 CD
Yubiwa Monogatari Daiikkan: Tabi no Nakama Starcraft 1992/3 CD
+Yubiwa Monogatari Dainikan: Futatsu no Tou Starcraft 1993/4 SET(CD+FD)
Yumeutsutsu Megami 1992/5 CD
Z's Staff Pro Towns Zeit 1991/7 CD
Z's Triphony DigitalCraft Towns Zeit 1990/12 CD
@@ -3636,113 +3641,6 @@ User/save disks that can be created from the game itself are not included.
</part>
</software>
- <software name="enkaio">
- <!--
- Origin: redump.org / r09
- <rom name="Enkaiou (Japan) (Track 01).bin" size="105134400" crc="304cbfed" sha1="8c310e390bd0c4fd2ecc2c3eb842381fff549c1b"/>
- <rom name="Enkaiou (Japan) (Track 02).bin" size="8079120" crc="2eeba401" sha1="6df382c1e3ae30af7e9f409660fe593ea2a84d64"/>
- <rom name="Enkaiou (Japan) (Track 03).bin" size="7879200" crc="913a540c" sha1="0a5f3f815b1abc0b09044186ed1029634bda52e2"/>
- <rom name="Enkaiou (Japan) (Track 04).bin" size="3386880" crc="cb72d1f5" sha1="2f057fd7aad55e972d065febe2aab08961730c4f"/>
- <rom name="Enkaiou (Japan) (Track 05).bin" size="17228400" crc="8efa3549" sha1="7bd00457807138543c08a98c56382a9a8989a389"/>
- <rom name="Enkaiou (Japan) (Track 06).bin" size="7166544" crc="563d4129" sha1="91598ee02fb330fa23e7a0cdef4347a80d4d11f9"/>
- <rom name="Enkaiou (Japan) (Track 07).bin" size="10085376" crc="32158c68" sha1="af1d84c509ec1bf09a439131947ca5538f4f2aa0"/>
- <rom name="Enkaiou (Japan) (Track 08).bin" size="9372720" crc="c5182e50" sha1="4f73ea47c732cef65eea08c266de48f4875bab39"/>
- <rom name="Enkaiou (Japan) (Track 09).bin" size="8342544" crc="b53e3b34" sha1="dde37b48ad38b6b1434fcf5f0183693f4ab2e3ca"/>
- <rom name="Enkaiou (Japan) (Track 10).bin" size="8027376" crc="cb120500" sha1="6aa1128b5b8c11502ed462617d83130ed5f8c85f"/>
- <rom name="Enkaiou (Japan) (Track 11).bin" size="8067360" crc="3c0787ba" sha1="68118f371eba0a9bc8c5e1739dc66e8824001643"/>
- <rom name="Enkaiou (Japan) (Track 12).bin" size="7707504" crc="6ee181ae" sha1="3754f4563fa14dd40a5712d48bb9736397d0f7d8"/>
- <rom name="Enkaiou (Japan) (Track 13).bin" size="7408800" crc="0bd85c6d" sha1="78d8f836ae11076f37b23a6f7b08565382089be2"/>
- <rom name="Enkaiou (Japan) (Track 14).bin" size="7815696" crc="60cd53ea" sha1="0971be6a6334f2e86a488264efe65614d8acc669"/>
- <rom name="Enkaiou (Japan) (Track 15).bin" size="4544064" crc="d1710f30" sha1="4a4a3f717fd5b068981e70c57c3fc33becd59d0d"/>
- <rom name="Enkaiou (Japan) (Track 16).bin" size="7298256" crc="806e4b1d" sha1="30396fe7b209b82e932a37ec789daedb606cdd33"/>
- <rom name="Enkaiou (Japan) (Track 17).bin" size="10184160" crc="c39bd330" sha1="687f55887f7357c6d54b690d0e339a671ad75740"/>
- <rom name="Enkaiou (Japan) (Track 18).bin" size="6825504" crc="8d98bbbf" sha1="203dd5bd7a1a203d344d291b41e90696465faedb"/>
- <rom name="Enkaiou (Japan) (Track 19).bin" size="14664720" crc="e3d90dca" sha1="b56ba9b6d15764812f7f8f9cf1387e3ebbdff551"/>
- <rom name="Enkaiou (Japan) (Track 20).bin" size="2187360" crc="218c5b70" sha1="f399f2704ecca15289ce03139ebfc222712f21e7"/>
- <rom name="Enkaiou (Japan) (Track 21).bin" size="2175600" crc="3f63f478" sha1="abea4a76614a88240e5ada8eb5b0e0167854dfca"/>
- <rom name="Enkaiou (Japan) (Track 22).bin" size="1959216" crc="5f098f2c" sha1="b252688fe8cef86006a20b5659c1ad9d32c8b6c5"/>
- <rom name="Enkaiou (Japan) (Track 23).bin" size="2504880" crc="4f5c8545" sha1="9c90fecf3ccdd80b45fcd0f79a9929240a8f6da1"/>
- <rom name="Enkaiou (Japan) (Track 24).bin" size="2074464" crc="ca462243" sha1="25d5b804def1c2ef2f9f1fee71ec7ca60d9dbee4"/>
- <rom name="Enkaiou (Japan) (Track 25).bin" size="2488416" crc="9c877445" sha1="b46eff619bba918d2e2560998b6a295fcb595854"/>
- <rom name="Enkaiou (Japan) (Track 26).bin" size="3104640" crc="b80021f0" sha1="3bce1e7b020aad555f6bd3ea573c36acbdd22a2b"/>
- <rom name="Enkaiou (Japan) (Track 27).bin" size="2003904" crc="fe64d4e4" sha1="5732bde171d594aa0f64287472dbcd36ab837491"/>
- <rom name="Enkaiou (Japan) (Track 28).bin" size="2504880" crc="df359f88" sha1="63b85b9ab63e3a4357867ebbd6a4c2d9c0bae933"/>
- <rom name="Enkaiou (Japan) (Track 29).bin" size="1853376" crc="883c948a" sha1="134d54f9bf459ddc8427f87cdc7a1c12801397e7"/>
- <rom name="Enkaiou (Japan) (Track 30).bin" size="1780464" crc="4c605035" sha1="23cc1c80d416fffb14ec9cbac8fa57d8d39e5322"/>
- <rom name="Enkaiou (Japan) (Track 31).bin" size="2187360" crc="e428f58d" sha1="33386ed15262b3363d391ca573737b6125a39e30"/>
- <rom name="Enkaiou (Japan) (Track 32).bin" size="2210880" crc="c6360e4d" sha1="46768c88a6050b5464826d625dea4c906a236240"/>
- <rom name="Enkaiou (Japan) (Track 33).bin" size="1811040" crc="68c3894e" sha1="8148e3300a99f271e336c57d08b09194c7929b33"/>
- <rom name="Enkaiou (Japan) (Track 34).bin" size="1735776" crc="5cb9f5ed" sha1="2fd0069ef1848e8a935592eac206edcfa074ee01"/>
- <rom name="Enkaiou (Japan) (Track 35).bin" size="1975680" crc="90406b61" sha1="8e65cdafae27ac09710ea8b7c16808201062a28d"/>
- <rom name="Enkaiou (Japan) (Track 36).bin" size="1815744" crc="d77ad108" sha1="76e51b802aeacf180f4a0620367fdd8d88bbfe4b"/>
- <rom name="Enkaiou (Japan) (Track 37).bin" size="1611120" crc="6d0a1a19" sha1="92eae84a00e65076875174f644f4e4b50125f9d7"/>
- <rom name="Enkaiou (Japan) (Track 38).bin" size="1658160" crc="714f23f8" sha1="d6f179db043c0a15338985a94e06b4b0f3272109"/>
- <rom name="Enkaiou (Japan) (Track 39).bin" size="3386880" crc="327d6325" sha1="ec4e1da99e11b8b9492e4f1d41d21c6c37796ec5"/>
- <rom name="Enkaiou (Japan) (Track 40).bin" size="2947056" crc="0961f05c" sha1="437e751ec0003730ea91f5bb11b2b218a84ee9cb"/>
- <rom name="Enkaiou (Japan) (Track 41).bin" size="1886304" crc="8c226e2f" sha1="c21cc31eb8e596f448d95b48aee0c2fb0fabe1da"/>
- <rom name="Enkaiou (Japan) (Track 42).bin" size="2034480" crc="7d16b544" sha1="69ff22ce51e3ecaf689d0dff0eb39fb23e71d194"/>
- <rom name="Enkaiou (Japan) (Track 43).bin" size="1876896" crc="50633686" sha1="d3aab3d2e5b7e3768b5262ab820ab752fb80c6f9"/>
- <rom name="Enkaiou (Japan) (Track 44).bin" size="2344944" crc="9084ef6d" sha1="17d16f51d229a802537b777b75bd24dfb3099866"/>
- <rom name="Enkaiou (Japan) (Track 45).bin" size="2653056" crc="2c42196a" sha1="262d82bc4af379e966ace92b0a2b134b969467e9"/>
- <rom name="Enkaiou (Japan) (Track 46).bin" size="1709904" crc="5d6a0701" sha1="b18dd11d14ef94846d0891211f9f1de101291f00"/>
- <rom name="Enkaiou (Japan) (Track 47).bin" size="2551920" crc="a4598d64" sha1="f019377d3d9de9965fc399c4ddb7fdf11ea1d857"/>
- <rom name="Enkaiou (Japan) (Track 48).bin" size="2958816" crc="d47a9aed" sha1="e866f8f5d45b93c4e2477514b3fe156dd5434bcd"/>
- <rom name="Enkaiou (Japan) (Track 49).bin" size="2650704" crc="afdc3d25" sha1="0a6b8721ccc3dff92d70d561105bb5f257c82655"/>
- <rom name="Enkaiou (Japan) (Track 50).bin" size="5287296" crc="61509964" sha1="d955e341b2b2c5a650fa0ab74c8e75fd12f1011c"/>
- <rom name="Enkaiou (Japan) (Track 51).bin" size="1775760" crc="fa0429db" sha1="4e1d3d2e300f4a34ac8ccefda99d8522ac9d1ce7"/>
- <rom name="Enkaiou (Japan) (Track 52).bin" size="1528800" crc="0e9198e5" sha1="070c33bf7e2b748196ec7d10787ca35c260af24f"/>
- <rom name="Enkaiou (Japan) (Track 53).bin" size="1709904" crc="bee21452" sha1="60d4fd857f65919c6d27c215181f1d73a1607ea9"/>
- <rom name="Enkaiou (Japan) (Track 54).bin" size="1465296" crc="42813624" sha1="b8470b1ac6e7e7d651868094813641c3ed54f5a3"/>
- <rom name="Enkaiou (Japan) (Track 55).bin" size="1411200" crc="d72c767c" sha1="7f4cf94638ff86674a56a02c69c5fae92eb7fd86"/>
- <rom name="Enkaiou (Japan) (Track 56).bin" size="1411200" crc="f73dc58c" sha1="c75476610a0dfcf74af22fb83954de1fcc02bac4"/>
- <rom name="Enkaiou (Japan) (Track 57).bin" size="1411200" crc="9b2e4e63" sha1="2455e0c642d67d97b79ea1beeba401bdb6c978ed"/>
- <rom name="Enkaiou (Japan) (Track 58).bin" size="10588704" crc="cdc66c89" sha1="a42c2e4818a97264e08f50f10e06ff413f220f40"/>
- <rom name="Enkaiou (Japan) (Track 59).bin" size="11249616" crc="c82e5305" sha1="5c96c3d377efeda034611fd05b82ff397ea96d0e"/>
- <rom name="Enkaiou (Japan) (Track 60).bin" size="11211984" crc="bcbba5db" sha1="1f92b1505a2cf1565693848c4e33bcfd67bc24da"/>
- <rom name="Enkaiou (Japan) (Track 61).bin" size="11672976" crc="46a967c6" sha1="c60f53d061f376d78387ca08e444912f6543fc3e"/>
- <rom name="Enkaiou (Japan) (Track 62).bin" size="10513440" crc="50452319" sha1="aef91feed7c18225578a946671346ec704f94398"/>
- <rom name="Enkaiou (Japan) (Track 63).bin" size="10071264" crc="8fe9b9fb" sha1="974fbc26b1a7c0572caf8886845eae8ce024422f"/>
- <rom name="Enkaiou (Japan) (Track 64).bin" size="7173600" crc="06a12659" sha1="dd4a81a484e39e8cbecfbe996819ea69596901dc"/>
- <rom name="Enkaiou (Japan) (Track 65).bin" size="1430016" crc="3cbe31c8" sha1="e2386c4908eaed7d753c003de1b51f3be9a4b014"/>
- <rom name="Enkaiou (Japan) (Track 66).bin" size="1545264" crc="e019d226" sha1="66c4f7bf603caf6717bc532e80f44da7523b90a1"/>
- <rom name="Enkaiou (Japan) (Track 67).bin" size="1453536" crc="d799ca09" sha1="c2a2ab382c541c1bd33dc4fb792640d86d50bbde"/>
- <rom name="Enkaiou (Japan) (Track 68).bin" size="1411200" crc="68588892" sha1="43d1fc2bc3a261aee7e843d912979876810112c6"/>
- <rom name="Enkaiou (Japan) (Track 69).bin" size="3022320" crc="6dd6ce3a" sha1="00b2115d65092c1662505b6165414bb8d43023d2"/>
- <rom name="Enkaiou (Japan) (Track 70).bin" size="1564080" crc="73c3ac34" sha1="bccae2c3ed1117155c13b7d27715e2a400badebc"/>
- <rom name="Enkaiou (Japan) (Track 71).bin" size="7161840" crc="580cd158" sha1="6d873ec71c060686a8d797407ebd8bb6f2d13654"/>
- <rom name="Enkaiou (Japan) (Track 72).bin" size="12418560" crc="bfb703c4" sha1="5a7342635e17976ada1095e41a2272650f393159"/>
- <rom name="Enkaiou (Japan) (Track 73).bin" size="17722320" crc="5ae78b40" sha1="bc9c91f2f2a881a11fd0deb7dd0efea8bdf339a6"/>
- <rom name="Enkaiou (Japan) (Track 74).bin" size="1505280" crc="9bdd4b39" sha1="4803811573aab67759cd4e845a043372c8a5b2bb"/>
- <rom name="Enkaiou (Japan) (Track 75).bin" size="1411200" crc="12cdb7a9" sha1="9ce765a5a1745a2f5a5e83862657a98a5dbb3fc0"/>
- <rom name="Enkaiou (Japan) (Track 76).bin" size="1446480" crc="e163b1e8" sha1="d9369e7aa4dd7b96959279835ead7a7516ac2ecf"/>
- <rom name="Enkaiou (Japan) (Track 77).bin" size="2210880" crc="da675082" sha1="13f904610ce78e881e4ec9c4f055fcf0c444d817"/>
- <rom name="Enkaiou (Japan) (Track 78).bin" size="9102240" crc="6d794ea4" sha1="96a51b7db77c143d2d4edf613149784aa6f2f773"/>
- <rom name="Enkaiou (Japan) (Track 79).bin" size="2756544" crc="f843aee1" sha1="3c1a9e3b8c66158402338e439af43b7bb3d944d0"/>
- <rom name="Enkaiou (Japan) (Track 80).bin" size="3151680" crc="dee01e61" sha1="e2d6294ce86df6bbd8d5ffd4ce703ec64e861424"/>
- <rom name="Enkaiou (Japan) (Track 81).bin" size="2947056" crc="3d3bb2b5" sha1="d1f6cbc527887e1197d63b21ca2a14516bb66962"/>
- <rom name="Enkaiou (Japan) (Track 82).bin" size="8142624" crc="a784c338" sha1="753403f9ec3b296334f8568f826543cfd8e4ec4a"/>
- <rom name="Enkaiou (Japan) (Track 83).bin" size="10038336" crc="5a3e1747" sha1="12f1a42fe96e61e5b44359e5909c90590d2ade28"/>
- <rom name="Enkaiou (Japan) (Track 84).bin" size="9996000" crc="2ef34f75" sha1="93867564178fb4fba3140a2de0893f8735593f29"/>
- <rom name="Enkaiou (Japan) (Track 85).bin" size="6985440" crc="2ea8424b" sha1="936eeb40f5fb35c85514e9d82995619afef92f42"/>
- <rom name="Enkaiou (Japan) (Track 86).bin" size="4426464" crc="8fb5f7e3" sha1="31d91faebfd8019ac6bd086a9d380463ef1c62d0"/>
- <rom name="Enkaiou (Japan) (Track 87).bin" size="17164896" crc="2837ca5c" sha1="91136b8a7514d42179798db646f1d9e1c14be974"/>
- <rom name="Enkaiou (Japan) (Track 88).bin" size="16962624" crc="4619679e" sha1="5d8df42de9c302abc34c6df219b1723d1750dd38"/>
- <rom name="Enkaiou (Japan) (Track 89).bin" size="11371920" crc="e79c0eb0" sha1="ba23ac2c1871446a7d9cf7ba0063b7f33a54a8ea"/>
- <rom name="Enkaiou (Japan) (Track 90).bin" size="2923536" crc="80d21630" sha1="4a4461335f0edd2b536806c0842c0973734cf254"/>
- <rom name="Enkaiou (Japan).cue" size="9905" crc="134b2982" sha1="d9f8aa27bcaa2c793619c2951dff8c8751aedecb"/>
- -->
- <description>Enkaiou</description>
- <year>1989</year>
- <publisher>電脳商会 (Dennou Shoukai)</publisher>
- <info name="alt_title" value="宴会王" />
- <info name="release" value="198910xx" />
- <part name="cdrom" interface="fmt_cdrom">
- <diskarea name="cdrom">
- <disk name="enkaiou (japan)" sha1="ffc1f51758abeffed4c5639002115fc3c6356ff8" />
- </diskarea>
- </part>
- </software>
-
<software name="enkaio2">
<!--
Origin: P2P
@@ -5319,23 +5217,6 @@ User/save disks that can be created from the game itself are not included.
</part>
</software>
- <software name="joker">
- <!--
- Origin: redump.org / r09
- <rom name="Joker Towns (Japan).bin" size="20815200" crc="2b3c7c6d" sha1="d9c07fdb96b0110020e3544d1fa1d14c22acd0fb"/>
- <rom name="Joker Towns (Japan).cue" size="85" crc="df7897a1" sha1="2e27bb3a4d74326880501d3d7bb621694db9d229"/>
- -->
- <description>Joker Towns</description>
- <year>1992</year>
- <publisher>ãƒãƒ¼ãƒ‡ã‚£ãƒ¼ã‚½ãƒ•ト (Birdy Soft)</publisher>
- <info name="release" value="199207xx" />
- <part name="cdrom" interface="fmt_cdrom">
- <diskarea name="cdrom">
- <disk name="joker towns (Japan)" sha1="bc09ad20f315dcd4804452b5885c06eca281b48d" />
- </diskarea>
- </part>
- </software>
-
<software name="joshikou">
<!--
Origin: Neo Kobe Collection
@@ -5355,28 +5236,6 @@ User/save disks that can be created from the game itself are not included.
</part>
</software>
- <software name="joshisei">
- <!--
- Origin: redump.org / r09
- <rom name="Joshikou Seifuku Monogatari (Japan).bin" size="13778016" crc="afd0bf24" sha1="b37360c8b030467c5b5ef13e67a38d9d00bcfe19"/>
- <rom name="Joshikou Seifuku Monogatari (Japan).cue" size="101" crc="767b1881" sha1="36ebfe1adadce7e5c7ec3f856d601e889382d559"/>
- -->
- <description>Joshikou Seifuku Monogatari</description>
- <year>1995</year>
- <publisher>ケイエスエス (KSS)</publisher>
- <info name="release" value="199504xx" />
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="1261568">
- <rom name="joshikou_seifuku_monogatari.hdm" size="1261568" crc="3fdba734" sha1="8e8aed41e329bd02479e6b55675110ddc29b33f2" offset="000000" />
- </dataarea>
- </part>
- <part name="cdrom" interface="fmt_cdrom">
- <diskarea name="cdrom">
- <disk name="joshikou seifuku monogatari (japan)" sha1="02c2c164c2554ac90faf6db3ee856357bd668110" />
- </diskarea>
- </part>
- </software>
-
<software name="joshua">
<!--
Origin: Neo Kobe Collection
@@ -6046,32 +5905,6 @@ User/save disks that can be created from the game itself are not included.
</part>
</software>
- <software name="lotr2">
- <!--
- Origin: Tokugawa Corporate Forums (DamienD)
- <rom name="The Lord of the Rings - The Two Towers.ccd" size="4543" crc="5ab9a7bb" sha1="36ccfad3da04b328225096502101c352829e60ab"/>
- <rom name="The Lord of the Rings - The Two Towers.cue" size="894" crc="f75eccf5" sha1="a716c2f8cfd6ae9d75848c9c401f79f54dcbe088"/>
- <rom name="The Lord of the Rings - The Two Towers.img" size="172695600" crc="a50adf2d" sha1="78a4470a4534bb2f31a8c441ca9f0c0d1462a01e"/>
- <rom name="The Lord of the Rings - The Two Towers.sub" size="7048800" crc="7d00f289" sha1="23767eab20a0b431d6f2abc0e41330450253910a"/>
- -->
- <description>J. R. R. Tolkien's The Lord of the Rings, Vol. II - The Two Towers</description>
- <year>1993</year>
- <publisher>スタークラフト (Starcraft)</publisher>
- <info name="alt_title" value="指輪物語 第二巻 二ã¤ã®å¡”" />
- <info name="release" value="199304xx" />
- <part name="flop1" interface="floppy_3_5">
- <feature name="part_id" value="User Disk" />
- <dataarea name="flop" size="1261568">
- <rom name="the lord of the rings - the two towers user disk" size="1281968" crc="51c5461f" sha1="31548881ebfd4eb50281b3086709e5ff02a72ddd" offset="000000" />
- </dataarea>
- </part>
- <part name="cdrom" interface="fmt_cdrom">
- <diskarea name="cdrom">
- <disk name="the lord of the rings - the two towers" sha1="a4115a04803cd309628e23a6ec40351612f06a44" />
- </diskarea>
- </part>
- </software>
-
<software name="lupin3">
<!--
Origin: Neo Kobe Collection
@@ -7377,25 +7210,6 @@ User/save disks that can be created from the game itself are not included.
</part>
</software>
- <software name="pleasure">
- <!--
- Origin: redump.org / r09
- <rom name="Yuka Watanabe &amp; Tomo Kawai - Pleasure (Japan) (Track 1).bin" size="105487200" crc="3ac09566" sha1="fbab998bbfe2adc0dbcd607501b7cbd9c2865b04"/>
- <rom name="Yuka Watanabe &amp; Tomo Kawai - Pleasure (Japan) (Track 2).bin" size="39690000" crc="9d6157d5" sha1="88140367f5b917f21a46d1ec5eb6ee24f07ce76c"/>
- <rom name="Yuka Watanabe &amp; Tomo Kawai - Pleasure (Japan) (Track 3).bin" size="37396800" crc="6e2e590f" sha1="20e0a580b02344f91ec9748f6f3a2f3905dc9f22"/>
- <rom name="Yuka Watanabe &amp; Tomo Kawai - Pleasure (Japan).cue" size="422" crc="deb51835" sha1="cabb91b0450e7e329ffd49834e7017ad78245926"/>
- -->
- <description>Yuka Watanabe &amp; Tomo Kawai - Pleasure</description>
- <year>1994</year>
- <publisher>ジャニス (Janis)</publisher>
- <info name="release" value="199402xx" />
- <part name="cdrom" interface="fmt_cdrom">
- <diskarea name="cdrom">
- <disk name="yuka watanabe &amp; tomo kawai - pleasure (japan)" sha1="8e0bc95a85c2189698b2a1bcc181f9fe8a80431c" />
- </diskarea>
- </part>
- </software>
-
<software name="planedge">
<!--
Origin: Neo Kobe Collection
diff --git a/hash/fmtowns_flop.xml b/hash/fmtowns_flop.xml
index 693a6e31426..e101b1e9bc0 100644
--- a/hash/fmtowns_flop.xml
+++ b/hash/fmtowns_flop.xml
@@ -53,6 +53,7 @@ Dennou Sakka DX (Cyber Writer Deluxe) Nikkonren Kikaku
Dennou Seito (Cyber Pupil) Nikkonren Kikaku 1993/? FD
Dor D.O. 1992/5 FD×04
Dor Part 3 D.O. 1992/11 FD×04
+Dragon Slayer: Eiyuu Densetsu 2 Brother Kougyou (Takeru) 1993/2 FD×05
D-Return Nikkonren Kikaku 1990/11 FD×02
Elle Elf 1991/11 FD×05
Euphony V1.1 Fujitsu 1989/7 FD
@@ -243,7 +244,7 @@ Towns Drill Shougaku Sansuu 6-nen Gear V1.1L20 Kyouiku Soft Kenky
Towns Drill Shougaku Sansuu 6-nen Gear V2.1 Kyouiku Soft Kenkyuusho 1990/2 FD
Towns Hair Simulator: Hair Maker Towns Computer System 1991/12 FD×10
Towns Jouhou Kiso Select-F Tokyo Shoseki 1993/3 FD×03
-*Towns Karaoke V1.1 Fujitsu 1989/7 FD
+Towns Karaoke V1.1 Fujitsu 1989/7 FD
TownsGEAR de Obenkyou Dai-1-kan: Seigo Mondai Kyouiku Soft Kenkyuusho 1992/3 FD×02
TownsGEAR de Obenkyou Dai-2-kan: Sentaku Mondai Kyouiku Soft Kenkyuusho 1992/3 FD×02
TownsGEAR de Obenkyou Dai-3-kan: Suuchi Mondai Kyouiku Soft Kenkyuusho 1992/3 FD×02
@@ -740,48 +741,6 @@ Zurukamashi Ver 2.0 Nikkonren Kikaku
</part>
</software>
- <!--
- The Program Disk is modified, as it was intended to be used to save the game, but it's possible to create a new fresh copy with the
- プログラムディスクã®ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ— (Program Disk backup) option. This requires the Master Program Disk, which is not bootable by itself.
- -->
- <software name="dsloh2">
- <description>Dragon Slayer - The Legend of Heroes II</description>
- <year>1993</year>
- <publisher>タケル (Takeru) / 日本ファルコム (Nihon Falcom)</publisher>
- <info name="release" value="199302xx" />
- <info name="alt_title" value="ドラゴンスレイヤー 英雄ä¼èª¬II" />
- <part name="flop1" interface="floppy_3_5">
- <feature name="part_id" value="Program Disk" />
- <dataarea name="flop" size="3590084">
- <rom name="loh2_programdisk.mfm" size="3590084" crc="bf015288" sha1="5dc1bf9bfc99c71996c38dd7b150132eb701d8e3" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3_5">
- <feature name="part_id" value="Scenario Disk 1" />
- <dataarea name="flop" size="3583888">
- <rom name="loh2_scenariodisk1.mfm" size="3583888" crc="47520a2f" sha1="416b671ba5423329620a5c993548888ca7c84f0b" offset="0" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_3_5">
- <feature name="part_id" value="Scenario Disk 2" />
- <dataarea name="flop" size="3583160">
- <rom name="loh2_scenariodisk2.mfm" size="3583160" crc="aa325e10" sha1="21e99860e3ad8473f8af707e08d5a8aa34e31492" offset="0" />
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_3_5">
- <feature name="part_id" value="Scenario Disk 3" />
- <dataarea name="flop" size="3582193">
- <rom name="loh2_scenariodisk3.mfm" size="3582193" crc="588d3a38" sha1="59acc89c9cc4c862637be3bffb16434af101517a" offset="0" />
- </dataarea>
- </part>
- <part name="flop5" interface="floppy_3_5">
- <feature name="part_id" value="Master Program Disk" />
- <dataarea name="flop" size="3582174">
- <rom name="loh2_masterprogramdisk.mfm" size="3582174" crc="e7a1fd4d" sha1="9a12b8f49322f8617753efbf5118a51e95590daf" offset="0" />
- </dataarea>
- </part>
- </software>
-
<software name="drstop">
<description>Dr. Stop!</description>
<year>1990</year>
@@ -1607,20 +1566,6 @@ Zurukamashi Ver 2.0 Nikkonren Kikaku
</part>
</software>
- <!-- The disk this image comes from had 5 bad sectors. The software seems to work correctly, but it should be redumped from a better source -->
- <software name="tkaraoke">
- <description>Towns Karaoke V1.1L10</description>
- <year>1989</year>
- <publisher>富士通 (Fujitsu)</publisher>
- <info name="alt_title" value="Townsカラオケ V1.1L10" />
- <info name="release" value="198907xx" />
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="1261568">
- <rom name="townskaraoke.hdm" size="1261568" crc="ebf71c2f" sha1="523b8f365ba056c1e38574fbc86551b60da8d1c9" offset="0" status="baddump" />
- </dataarea>
- </part>
- </software>
-
<!-- Runs too fast -->
<software name="toshinto" supported="partial">
<description>Toushin Toshi</description>
@@ -1742,20 +1687,6 @@ Zurukamashi Ver 2.0 Nikkonren Kikaku
</part>
</software>
- <software name="viewpoid">
- <!--
- Origin: David Swanson
- -->
- <description>Viewpoint Demonstration No. 1</description>
- <year>1994</year>
- <publisher>ビング (Ving)</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="1261568">
- <rom name="vp_demo.bin" size="1261568" crc="dba229be" sha1="f4c5fe2cad77183e91b676609050dfe9d324dc8a" offset="0" />
- </dataarea>
- </part>
- </software>
-
<software name="vingsoft">
<!--
Origin: Tokugawa Corporate Forums (yukin)
diff --git a/hash/g7400.xml b/hash/g7400.xml
index 03f37cba7c4..123e6111789 100644
--- a/hash/g7400.xml
+++ b/hash/g7400.xml
@@ -35,12 +35,12 @@ Interpol (USA)
<softwarelist name="g7400" description="Philips Videopac Plus G7400 cartridges">
-<!-- Philips Videopac+ G7400 carts -->
+<!-- Phillips Videopac+ G7400 carts -->
<software name="airbattl" supported="no">
<description>Air Battle (Euro)</description>
<year>1983</year>
- <publisher>Philips</publisher>
+ <publisher>Phillips</publisher>
<info name="serial" value="58"/>
<part name="cart" interface="odyssey_cart">
<feature name="slot" value="o2_rom12" />
@@ -81,7 +81,7 @@ Interpol (USA)
<software name="billiard" cloneof="billard" supported="no">
<description>Billiard (Euro, Prototype)</description>
<year>198?</year>
- <publisher>Philips</publisher>
+ <publisher>Phillips</publisher>
<info name="programmer" value="Ed Averett"/>
<part name="cart" interface="odyssey_cart">
<feature name="slot" value="o2_rom" />
@@ -118,7 +118,7 @@ Interpol (USA)
<software name="claypig" supported="no">
<description>Clay Pigeon (Euro, Prototype)</description>
<year>198?</year>
- <publisher>Philips</publisher>
+ <publisher>Phillips</publisher>
<part name="cart" interface="odyssey_cart">
<feature name="slot" value="o2_rom" />
<dataarea name="rom" size="8192">
@@ -130,7 +130,7 @@ Interpol (USA)
<software name="cosmic" supported="no">
<description>Cosmic Conflict (Euro)</description>
<year>1983</year>
- <publisher>Philips</publisher>
+ <publisher>Phillips</publisher>
<part name="cart" interface="odyssey_cart">
<feature name="slot" value="o2_rom" />
<dataarea name="rom" size="8192">
@@ -179,7 +179,7 @@ Interpol (USA)
<software name="flashp" supported="no">
<description>Flashpoint (USA, Prototype, PAL Conversion)</description>
<year>2004</year>
- <publisher>Philips</publisher>
+ <publisher>Phillips</publisher>
<part name="cart" interface="odyssey_cart">
<feature name="slot" value="o2_rom" />
<dataarea name="rom" size="8192">
@@ -191,7 +191,7 @@ Interpol (USA)
<software name="freedom" supported="no">
<description>Freedom Fighters (Euro)</description>
<year>198?</year>
- <publisher>Philips</publisher>
+ <publisher>Phillips</publisher>
<part name="cart" interface="odyssey_cart">
<feature name="slot" value="o2_rom" />
<dataarea name="rom" size="8192">
@@ -215,7 +215,7 @@ Interpol (USA)
<software name="helicopt" supported="no">
<description>Helicopter Rescue (Euro)</description>
<year>1983</year>
- <publisher>Philips</publisher>
+ <publisher>Phillips</publisher>
<info name="serial" value="59"/>
<part name="cart" interface="odyssey_cart">
<feature name="slot" value="o2_rom16" />
@@ -239,7 +239,7 @@ Interpol (USA)
<software name="2bwlbskt" cloneof="2bsktbwl" supported="no">
<description>Tenpin Bowling/Basketball (Euro, Prototype)</description>
<year>198?</year>
- <publisher>Philips</publisher>
+ <publisher>Phillips</publisher>
<part name="cart" interface="odyssey_cart">
<feature name="slot" value="o2_rom" />
<dataarea name="rom" size="8192">
@@ -251,7 +251,7 @@ Interpol (USA)
<software name="bees" supported="no">
<description>Killer Bees (Euro)</description>
<year>198?</year>
- <publisher>Philips</publisher>
+ <publisher>Phillips</publisher>
<part name="cart" interface="odyssey_cart">
<feature name="slot" value="o2_rom" />
<dataarea name="rom" size="8192">
@@ -263,7 +263,7 @@ Interpol (USA)
<software name="loony" supported="no">
<description>Loony Balloon (Euro)</description>
<year>198?</year>
- <publisher>Philips</publisher>
+ <publisher>Phillips</publisher>
<info name="serial" value="54"/>
<part name="cart" interface="odyssey_cart">
<feature name="slot" value="o2_rom" />
@@ -288,7 +288,7 @@ Interpol (USA)
<software name="neutron" supported="no">
<description>Neutron Star (Euro)</description>
<year>198?</year>
- <publisher>Philips</publisher>
+ <publisher>Phillips</publisher>
<info name="serial" value="55"/>
<part name="cart" interface="odyssey_cart">
<feature name="slot" value="o2_rom12" />
@@ -301,7 +301,7 @@ Interpol (USA)
<software name="nightmar" supported="no">
<description>Nightmare (Euro)</description>
<year>198?</year>
- <publisher>Philips</publisher>
+ <publisher>Phillips</publisher>
<info name="serial" value="53"/>
<part name="cart" interface="odyssey_cart">
<feature name="slot" value="o2_rom" />
@@ -328,7 +328,7 @@ Interpol (USA)
<software name="pickaxe" supported="no">
<description>Pickaxe Pete (Euro)</description>
<year>198?</year>
- <publisher>Philips</publisher>
+ <publisher>Phillips</publisher>
<part name="cart" interface="odyssey_cart">
<feature name="slot" value="o2_rom" />
<dataarea name="rom" size="8192">
@@ -340,7 +340,7 @@ Interpol (USA)
<software name="3rcsocpt" supported="no">
<description>Race/Spin-out/Cryptogram (Euro)</description>
<year>1983</year>
- <publisher>Philips</publisher>
+ <publisher>Phillips</publisher>
<part name="cart" interface="odyssey_cart">
<feature name="slot" value="o2_rom" />
<dataarea name="rom" size="8192">
@@ -364,7 +364,7 @@ Interpol (USA)
<software name="satellit" supported="no">
<description>Satellite Attack (Euro)</description>
<year>198?</year>
- <publisher>Philips</publisher>
+ <publisher>Phillips</publisher>
<part name="cart" interface="odyssey_cart">
<feature name="slot" value="o2_rom" />
<dataarea name="rom" size="8192">
@@ -376,7 +376,7 @@ Interpol (USA)
<software name="stone" supported="no">
<description>Stone Sling (Euro)</description>
<year>198?</year>
- <publisher>Philips</publisher>
+ <publisher>Phillips</publisher>
<part name="cart" interface="odyssey_cart">
<feature name="slot" value="o2_rom" />
<dataarea name="rom" size="8192">
@@ -388,7 +388,7 @@ Interpol (USA)
<software name="hawks" supported="no">
<description>Terrahawks (Euro)</description>
<year>198?</year>
- <publisher>Philips</publisher>
+ <publisher>Phillips</publisher>
<part name="cart" interface="odyssey_cart">
<feature name="slot" value="o2_rom" />
<dataarea name="rom" size="8192">
@@ -400,7 +400,7 @@ Interpol (USA)
<software name="rally" supported="no">
<description>Trans American Rally (Euro)</description>
<year>198?</year>
- <publisher>Philips</publisher>
+ <publisher>Phillips</publisher>
<part name="cart" interface="odyssey_cart">
<feature name="slot" value="o2_rom16" />
<dataarea name="rom" size="16384">
diff --git a/hash/gamate.xml b/hash/gamate.xml
index 17f601498c8..b9a3cd641be 100644
--- a/hash/gamate.xml
+++ b/hash/gamate.xml
@@ -11,6 +11,7 @@ C1034 - Superboy (Unreleased?)
C1039 - Column #5 (Unreleased?)
C1040 - ??
C1041 - Mighty Boxer
+C1050 - Fortress of Fierceness
C1051 - Incantational Couple
C1055 - ??
C1059 - ??
@@ -110,7 +111,7 @@ C1066 - ??
<publisher>Bit Corporation</publisher>
<info name="serial" value="C1008" />
<part name="cart" interface="gamate_cart">
- <feature name="slot" value="banked" />
+ <feature name="slot" value="banked" />
<dataarea name="rom" size="65536">
<rom name="c1-008.bin" size="65536" crc="a67ba296" sha1="d01988984e2950fde8096a0156808995a0e5c515" offset="0" />
</dataarea>
@@ -195,8 +196,8 @@ C1066 - ??
<publisher>Bit Corporation</publisher>
<info name="serial" value="C1016" />
<part name="cart" interface="gamate_cart">
- <feature name="slot" value="banked" />
- <dataarea name="rom" size="131072">
+ <feature name="slot" value="banked" />
+ <dataarea name="rom" size="131072">
<rom name="c1-016.bin" size="131072" crc="1c2921df" sha1="958f4936f3aa8db5e76d315ee6acc6aee0e010b4" offset="0" />
</dataarea>
</part>
@@ -377,8 +378,8 @@ C1066 - ??
<publisher>Bit Corporation</publisher>
<info name="serial" value="C1033" />
<part name="cart" interface="gamate_cart">
- <feature name="slot" value="banked" />
- <dataarea name="rom" size="65536">
+ <feature name="slot" value="banked" />
+ <dataarea name="rom" size="65536">
<rom name="c1-033.bin" size="65536" crc="9002269d" sha1="899d1592f0da06f9684cb271ec34541c702f21ab" offset="0" />
</dataarea>
</part>
@@ -426,8 +427,8 @@ C1066 - ??
<publisher>Bit Corporation</publisher>
<info name="serial" value="C1038" />
<part name="cart" interface="gamate_cart">
- <feature name="slot" value="banked" />
- <dataarea name="rom" size="65536">
+ <feature name="slot" value="banked" />
+ <dataarea name="rom" size="65536">
<rom name="c1-038.bin" size="65536" crc="19bba397" sha1="01163f89447c68554cd2fe60b22dea7b578f1605" offset="0" />
</dataarea>
</part>
@@ -439,8 +440,8 @@ C1066 - ??
<publisher>Bit Corporation</publisher>
<info name="serial" value="C1042" />
<part name="cart" interface="gamate_cart">
- <feature name="slot" value="banked" />
- <dataarea name="rom" size="65536">
+ <feature name="slot" value="banked" />
+ <dataarea name="rom" size="65536">
<rom name="c1-042.bin" size="65536" crc="8363c32d" sha1="b07681e28b65af53fed23def3f6305ab929bb8f1" offset="0" />
</dataarea>
</part>
@@ -476,8 +477,8 @@ C1066 - ??
<publisher>&lt;unknown&gt;</publisher>
<info name="serial" value="C1045" />
<part name="cart" interface="gamate_cart">
- <feature name="slot" value="banked" />
- <dataarea name="rom" size="65536">
+ <feature name="slot" value="banked" />
+ <dataarea name="rom" size="65536">
<rom name="c1-045.bin" size="65536" crc="c165094f" sha1="148bd0e461d8f967b483136460a770820d2e7226" offset="0" />
</dataarea>
</part>
@@ -489,8 +490,8 @@ C1066 - ??
<publisher>Bit Corporation</publisher>
<info name="serial" value="C1046" />
<part name="cart" interface="gamate_cart">
- <feature name="slot" value="banked" />
- <dataarea name="rom" size="65536">
+ <feature name="slot" value="banked" />
+ <dataarea name="rom" size="65536">
<rom name="c1-046.bin" size="65536" crc="e492ef8e" sha1="fa2b9666c9c1090573c40cafa273c9ff5c1787be" offset="0" />
</dataarea>
</part>
@@ -502,8 +503,8 @@ C1066 - ??
<publisher>Bit Corporation</publisher>
<info name="serial" value="C1047" />
<part name="cart" interface="gamate_cart">
- <feature name="slot" value="banked" />
- <dataarea name="rom" size="131072">
+ <feature name="slot" value="banked" />
+ <dataarea name="rom" size="131072">
<rom name="c1-047.bin" size="131072" crc="39660803" sha1="8719418a6b30c2cc9d013d35d1baacde86016da3" offset="0" />
</dataarea>
</part>
@@ -515,8 +516,8 @@ C1066 - ??
<publisher>Bit Corporation</publisher>
<info name="serial" value="C1048" />
<part name="cart" interface="gamate_cart">
- <feature name="slot" value="banked" />
- <dataarea name="rom" size="65536">
+ <feature name="slot" value="banked" />
+ <dataarea name="rom" size="65536">
<rom name="c1-048.bin" size="65536" crc="daf715c5" sha1="f10e180c4aac41e9c710ce38ca9a93ca6f331f57" offset="0" />
</dataarea>
</part>
@@ -528,33 +529,21 @@ C1066 - ??
<publisher>Bit Corporation</publisher>
<info name="serial" value="C1049" />
<part name="cart" interface="gamate_cart">
- <feature name="slot" value="banked" />
- <dataarea name="rom" size="65536">
+ <feature name="slot" value="banked" />
+ <dataarea name="rom" size="65536">
<rom name="c1-049.bin" size="65536" crc="aa2e0d32" sha1="1b3082be0698c12c8fc978db6a0c63c8958c33f8" offset="0" />
</dataarea>
</part>
</software>
- <software name="fortress">
- <description>Fortress of Fierceness</description>
- <year>1991</year>
- <publisher>Bit Corporation</publisher>
- <info name="serial" value="C1050" />
- <part name="cart" interface="gamate_cart">
- <dataarea name="rom" size="32768">
- <rom name="fortress.bin" size="32768" crc="c771e16b" sha1="aa971e546da8957de29837e5310452c129771967" offset="0" />
- </dataarea>
- </part>
- </software>
-
<software name="famous7">
<description>Famous 7</description>
<year>1993</year>
<publisher>United Microelectronics Corporation</publisher>
<info name="serial" value="C1052" />
<part name="cart" interface="gamate_cart">
- <feature name="slot" value="banked" />
- <dataarea name="rom" size="65536">
+ <feature name="slot" value="banked" />
+ <dataarea name="rom" size="65536">
<rom name="c1-052.bin" size="65536" crc="0fa48c23" sha1="ea422fe969b260296b99397cdeff6ae053ac4a86" offset="0" />
</dataarea>
</part>
@@ -566,8 +555,8 @@ C1066 - ??
<publisher>United Microelectronics Corporation</publisher>
<info name="serial" value="C1053" />
<part name="cart" interface="gamate_cart">
- <feature name="slot" value="banked" />
- <dataarea name="rom" size="131072">
+ <feature name="slot" value="banked" />
+ <dataarea name="rom" size="131072">
<rom name="c1-053.bin" size="131072" crc="727299c7" sha1="5515f7dc5a00fa38677c4ac5b73af232008f3e51" offset="0" />
</dataarea>
</part>
@@ -591,8 +580,8 @@ C1066 - ??
<publisher>Bit Corporation</publisher>
<info name="serial" value="C1056" />
<part name="cart" interface="gamate_cart">
- <feature name="slot" value="banked" />
- <dataarea name="rom" size="131072">
+ <feature name="slot" value="banked" />
+ <dataarea name="rom" size="131072">
<rom name="c1-056.bin" size="131072" crc="447595e4" sha1="1b471f8ac8ffb107c62ec3b765c43e268d90b73a" offset="0" />
</dataarea>
</part>
@@ -604,8 +593,8 @@ C1066 - ??
<publisher>United Microelectronics Corporation</publisher>
<info name="serial" value="C1057" />
<part name="cart" interface="gamate_cart">
- <feature name="slot" value="banked" />
- <dataarea name="rom" size="131072">
+ <feature name="slot" value="banked" />
+ <dataarea name="rom" size="131072">
<rom name="c1-057.bin" size="131072" crc="a542c61f" sha1="2eccf1fe8d400a54ffb2f026af8b9842442b6d9f" offset="0" />
</dataarea>
</part>
@@ -617,8 +606,8 @@ C1066 - ??
<publisher>United Microelectronics Corporation</publisher>
<info name="serial" value="C1058" />
<part name="cart" interface="gamate_cart">
- <feature name="slot" value="banked" />
- <dataarea name="rom" size="262144">
+ <feature name="slot" value="banked" />
+ <dataarea name="rom" size="262144">
<rom name="c1-058.bin" size="262144" crc="16a79cd8" sha1="7d638bf61286adfa612de974efff2d9b5b4b3331" offset="0" />
</dataarea>
</part>
@@ -630,8 +619,8 @@ C1066 - ??
<publisher>&lt;unknown&gt;</publisher>
<info name="serial" value="C1060" />
<part name="cart" interface="gamate_cart">
- <feature name="slot" value="banked" />
- <dataarea name="rom" size="524288">
+ <feature name="slot" value="banked" />
+ <dataarea name="rom" size="524288">
<rom name="c1-060.bin" size="524288" crc="9aa13551" sha1="a1163f1da52e23bda0502f229488a5b4d04bbe8a" offset="0" />
</dataarea>
</part>
@@ -643,8 +632,8 @@ C1066 - ??
<publisher>Phinnex Co., Ltd.</publisher>
<info name="serial" value="C1061" />
<part name="cart" interface="gamate_cart">
- <feature name="slot" value="banked" />
- <dataarea name="rom" size="524288">
+ <feature name="slot" value="banked" />
+ <dataarea name="rom" size="524288">
<rom name="c1-061.bin" size="524288" crc="00356983" sha1="e93c671ee1eb40bb4d7298671dc213a07afef9e0" offset="0" />
</dataarea>
</part>
@@ -656,8 +645,8 @@ C1066 - ??
<publisher>&lt;unknown&gt;</publisher>
<info name="serial" value="C1063" />
<part name="cart" interface="gamate_cart">
- <feature name="slot" value="banked" />
- <dataarea name="rom" size="262144">
+ <feature name="slot" value="banked" />
+ <dataarea name="rom" size="262144">
<rom name="c1-063.bin" size="262144" crc="93d5f365" sha1="91b9b9060b76d2012d5cbc6523839f67caa37aaf" offset="0" />
</dataarea>
</part>
@@ -669,8 +658,8 @@ C1066 - ??
<publisher>&lt;unknown&gt;</publisher>
<info name="serial" value="C1064" />
<part name="cart" interface="gamate_cart">
- <feature name="slot" value="banked" />
- <dataarea name="rom" size="524288">
+ <feature name="slot" value="banked" />
+ <dataarea name="rom" size="524288">
<rom name="c1-064.bin" size="524288" crc="8574f0eb" sha1="ba42622b9ff4b2fa0cb70f322ee24b1d8c387222" offset="0" />
</dataarea>
</part>
@@ -682,8 +671,8 @@ C1066 - ??
<publisher>&lt;unknown&gt;</publisher>
<info name="serial" value="C1065" />
<part name="cart" interface="gamate_cart">
- <feature name="slot" value="banked" />
- <dataarea name="rom" size="524288">
+ <feature name="slot" value="banked" />
+ <dataarea name="rom" size="524288">
<rom name="c1-065.bin" size="524288" crc="1ed9d0a3" sha1="568f87864c0ed6117fe34e3f79e56c01e911e482" offset="0" />
</dataarea>
</part>
@@ -695,8 +684,8 @@ C1066 - ??
<publisher>Phinnex Co., Ltd.</publisher>
<info name="serial" value="C1067" />
<part name="cart" interface="gamate_cart">
- <feature name="slot" value="banked" />
- <dataarea name="rom" size="524288">
+ <feature name="slot" value="banked" />
+ <dataarea name="rom" size="524288">
<rom name="c1-067.bin" size="524288" crc="76e26b63" sha1="bfb2f4b5b771277333ffc1e27cf3a5608e9ea163" offset="0" />
</dataarea>
</part>
@@ -708,8 +697,8 @@ C1066 - ??
<publisher>&lt;unknown&gt;</publisher>
<info name="serial" value="C1068" />
<part name="cart" interface="gamate_cart">
- <feature name="slot" value="banked" />
- <dataarea name="rom" size="524288">
+ <feature name="slot" value="banked" />
+ <dataarea name="rom" size="524288">
<rom name="c1-068.bin" size="524288" crc="96386b08" sha1="69909b78598184760b3e261da897a9bc90af9dfb" offset="0" />
</dataarea>
</part>
@@ -721,8 +710,8 @@ C1066 - ??
<publisher>&lt;unknown&gt;</publisher>
<info name="serial" value="C1069" />
<part name="cart" interface="gamate_cart">
- <feature name="slot" value="banked" />
- <dataarea name="rom" size="524288">
+ <feature name="slot" value="banked" />
+ <dataarea name="rom" size="524288">
<rom name="c1-069.bin" size="524288" crc="3bceb859" sha1="32187903c10dc80d62e9bf794b912921542d6d38" offset="0" />
</dataarea>
</part>
@@ -734,8 +723,8 @@ C1066 - ??
<publisher>United Microelectronics Corporation</publisher>
<info name="serial" value="C1070" />
<part name="cart" interface="gamate_cart">
- <feature name="slot" value="banked" />
- <dataarea name="rom" size="524288">
+ <feature name="slot" value="banked" />
+ <dataarea name="rom" size="524288">
<rom name="c1-070.bin" size="524288" crc="7ba8af6d" sha1="6aa0364010272c82c7cc8c7afd60254de148fa72" offset="0" />
</dataarea>
</part>
@@ -747,8 +736,8 @@ C1066 - ??
<publisher>Bit Corporation</publisher>
<info name="serial" value="C1401" />
<part name="cart" interface="gamate_cart">
- <feature name="slot" value="4in1" />
- <dataarea name="rom" size="131072">
+ <feature name="slot" value="4in1" />
+ <dataarea name="rom" size="131072">
<rom name="c1-401.bin" size="131072" crc="10e81571" sha1="4dd20632eb31023e18241290eca7d5a5acb1fa84" offset="0" />
</dataarea>
</part>
@@ -760,8 +749,8 @@ C1066 - ??
<publisher>United Microelectronics Corporation</publisher>
<info name="serial" value="K1001" />
<part name="cart" interface="gamate_cart">
- <feature name="slot" value="banked" />
- <dataarea name="rom" size="524288">
+ <feature name="slot" value="banked" />
+ <dataarea name="rom" size="524288">
<rom name="k1-001.bin" size="524288" crc="ebb46efe" sha1="beae4f3365031f4e8ae192a5e6d27a28979ef84b" offset="0" />
</dataarea>
</part>
diff --git a/hash/gameboy.xml b/hash/gameboy.xml
index 423fe06f249..2276307baaa 100644
--- a/hash/gameboy.xml
+++ b/hash/gameboy.xml
@@ -659,7 +659,7 @@
<description>The Amazing Spider-Man (Euro, USA)</description>
<year>1990</year>
<publisher>LJN</publisher> <!-- Nintendo in Europe? -->
- <info name="serial" value="DMG-SM-NOE, DMG-SM-UKV, DMG-SM-ESP-1"/>
+ <info name="serial" value="DMG-SM-(NOE/UKV)"/>
<part name="cart" interface="gameboy_cart">
<feature name="pcb" value="DMG-BEAN-01" /> <!-- NOE cart -->
<feature name="u1" value="U1 PRG" />
@@ -3288,7 +3288,7 @@
<description>The Castlevania Adventure (Euro)</description>
<year>1990</year>
<publisher>Konami</publisher>
- <info name="serial" value="DMG-CV-NOE, DMG-CV-UKV, DMG-CV-ESP)"/>
+ <info name="serial" value="DMG-CV-(NOE/UKV)"/>
<part name="cart" interface="gameboy_cart">
<feature name="slot" value="rom_mbc1" />
<dataarea name="rom" size="65536">
@@ -5041,7 +5041,7 @@
<description>Double Dragon 3 (Euro, USA)</description>
<year>1992</year>
<publisher>Acclaim Entertainment</publisher>
- <info name="serial" value="DMG-DX-USA, DMG-DX-NOE, DMG-DX-ESP"/>
+ <info name="serial" value="DMG-DX-USA, DMG-DX-NOE"/>
<info name="alt_title" value="Double Dragon 3 - The Arcade Game (Box)"/>
<part name="cart" interface="gameboy_cart">
<feature name="pcb" value="DMG-BEAN-02" /> <!-- NOE cart -->
@@ -8711,7 +8711,7 @@
<description>Hook (Euro)</description>
<year>1992</year>
<publisher>Ocean</publisher>
- <info name="serial" value="DMG-HS-UKV, DMG-HS-ESP"/>
+ <info name="serial" value="DMG-HS-UKV"/>
<part name="cart" interface="gameboy_cart">
<feature name="slot" value="rom_mbc1" />
<dataarea name="rom" size="131072">
@@ -11073,7 +11073,7 @@
<description>Kung-Fu Master (Euro, USA)</description>
<year>1991</year>
<publisher>Irem</publisher>
- <info name="serial" value="DMG-SX-USA, DMG-SX-NOE, DMG-SX-ESP-1"/>
+ <info name="serial" value="DMG-SX-USA, DMG-SX-NOE"/>
<part name="cart" interface="gameboy_cart">
<feature name="pcb" value="DMG-BEAN-02" /> <!-- NOE cart -->
<feature name="u1" value="U1 PRG" />
@@ -11486,7 +11486,7 @@
<description>The Lion King (Euro)</description>
<year>1994</year>
<publisher>Virgin Interactive</publisher>
- <info name="serial" value="DMG-ALNP-EUR, DMG-ALNP-NOE, DMG-ALNP-EUR"/>
+ <info name="serial" value="DMG-ALNP-(EUR/NOE)"/>
<info name="alt_title" value="Disney's The Lion King (Box)"/>
<part name="cart" interface="gameboy_cart">
<feature name="pcb" value="DMG-BEAN-02" />
@@ -12488,7 +12488,7 @@
<description>Mega Man II (Euro)</description>
<year>1992</year>
<publisher>Nintendo</publisher>
- <info name="serial" value="DMG-W2-EUR, DMG-W2-ESP-1"/>
+ <info name="serial" value="DMG-W2-EUR"/>
<part name="cart" interface="gameboy_cart">
<feature name="pcb" value="DMG-BEAN-10" />
<feature name="u1" value="U1 PRG" />
@@ -14813,7 +14813,7 @@
<description>Nigel Mansell's World Championship (Euro, Alt)</description>
<year>1992</year>
<publisher>Gremlin Interactive</publisher>
- <info name="serial" value="DMG-WC-FAH, DMG-WC-UKV, DMG-WC-ESP-1"/>
+ <info name="serial" value="DMG-WC-(FAH/UKV)"/>
<info name="alt_title" value="Nigel Mansell's World Championship Racing (Box)"/>
<part name="cart" interface="gameboy_cart">
<feature name="slot" value="rom_mbc1" />
@@ -20885,7 +20885,6 @@
<description>Star Wars (Euro)</description>
<year>1992</year>
<publisher>Nintendo</publisher>
- <info name="serial" value="DMG-WS-ESP"/>
<part name="cart" interface="gameboy_cart">
<feature name="slot" value="rom_mbc1" />
<dataarea name="rom" size="131072">
@@ -22518,7 +22517,7 @@
<description>Tetris (World, Rev. A)</description>
<year>1989</year>
<publisher>Nintendo</publisher>
- <info name="serial" value="DMG-TRA, DMG-TR-USA, DMG-TR-CAN, DMG-TR-NOE, DMG-TR-ESP, DMG-TR-ESP-1, DMG-TR-UKVAUS, DMG-TR-HKG, DMG-104 CHN"/>
+ <info name="serial" value="DMG-TRA, DMG-TR-(USA/CAN), DMG-TR-(NOE/ESP/UKVAUS), DMG-TR-HKG, DMG-104 CHN"/>
<info name="release" value="19890614 (JPN)"/>
<info name="alt_title" value="テトリス"/>
<part name="cart" interface="gameboy_cart">
@@ -24024,7 +24023,7 @@
<description>Wario Land - Super Mario Land 3 (World)</description>
<year>1994</year>
<publisher>Nintendo</publisher>
- <info name="serial" value="DMG-WJA, DMG-WJ-USA, DMG-WJ-NOE, DMG-WJ-EUR, DMG-WJ-ESP-1"/>
+ <info name="serial" value="DMG-WJA, DMG-WJ-USA, DMG-WJ-(NOE/EUR)"/>
<info name="release" value="19940121 (JPN)"/>
<info name="alt_title" value="スーパーマリオランド3 ワリオランド"/>
<part name="cart" interface="gameboy_cart">
@@ -24657,7 +24656,7 @@
<description>WWF Superstars 2 (Euro, USA)</description>
<year>1992</year>
<publisher>LJN</publisher>
- <info name="serial" value="DMG-WX-USA, DMG-WX-NOE, DMG-WX-ESP"/>
+ <info name="serial" value="DMG-WX-USA, DMG-WX-NOE"/>
<part name="cart" interface="gameboy_cart">
<feature name="pcb" value="DMG-BEAN-02" /> <!-- NOE cart -->
<feature name="u1" value="U1 PRG" />
@@ -24738,7 +24737,7 @@
<description>Xenon 2 - Megablast (Euro, USA)</description>
<year>1992</year>
<publisher>Mindscape</publisher>
- <info name="serial" value="DMG-X2-USA, DMG-X2-NOE, DMG-X2-FRG, DMG-X2-ESP"/>
+ <info name="serial" value="DMG-X2-USA, DMG-X2-(NOE/FRG)"/>
<part name="cart" interface="gameboy_cart">
<feature name="pcb" value="DMG-BEAN-02" /> <!-- FRG cart -->
<feature name="u1" value="U1 PRG" />
@@ -25793,7 +25792,7 @@ patch the rom to 0x00 and 0x00....and at 0x0B3D also patch it to
</part>
</software>
- <!-- There is official Game Boy flash cart where players could load official games on stores.
+ <!-- There is official Game Foy flash cart where players could load official games on stores.
pcb="DMG-A20-01"
u1="G-MMC1 (MX15002) [MX15002UCA]"
u2="8M-FLASH [29F008ATC-14]"
diff --git a/hash/gba.xml b/hash/gba.xml
index ce2e79dc650..8176b166e14 100644
--- a/hash/gba.xml
+++ b/hash/gba.xml
@@ -17,14 +17,11 @@
<description>007 - Everything or Nothing (Euro, USA)</description>
<year>2003</year>
<publisher>Electronic Arts</publisher>
- <info name="serial" value="AGB-BJBE-USA, AGB-BJBP-EUR, AGB-BJBP-EUR-1"/>
+ <info name="serial" value="AGB-BJBE-USA, AGB-BJBP-EUR"/>
<part name="cart" interface="gba_cart">
- <feature name="pcb" value="AGB-E03-20" />
- <feature name="u1" value="U1 GPIO MASKROM" />
- <feature name="u2" value="U2 4K/64K EEPROM [9853]" />
<feature name="slot" value="gba_eeprom_4k" />
<dataarea name="rom" size="8388608">
- <rom name="agb-bjbp-0.u1" size="8388608" crc="9d4f1e18" sha1="fc6163f99b71b05c10686a0d29010b31274e1dc4" offset="000000" />
+ <rom name="007 - everything or nothing (usa, europe) (en,fr,de).bin" size="8388608" crc="9d4f1e18" sha1="fc6163f99b71b05c10686a0d29010b31274e1dc4" offset="000000" />
</dataarea>
</part>
</software>
@@ -64,14 +61,11 @@
<description>2006 FIFA World Cup - Germany 2006 (Euro, USA)</description>
<year>2006</year>
<publisher>Electronic Arts</publisher>
- <info name="serial" value="AGB-B6WE-USA, AGB-B6WP-EUR"/>
+ <info name="serial" value="AGB-B6WE-USA, AGB-B6WP"/>
<part name="cart" interface="gba_cart">
- <feature name="pcb" value="AGB-E03-21" />
- <feature name="u1" value="U1 GPIO MASKROM" />
- <feature name="u2" value="U2 4K/64K EEPROM [9853]" />
<feature name="slot" value="gba_eeprom_4k" />
<dataarea name="rom" size="8388608">
- <rom name="agb-b6wp-0.u1" size="8388608" crc="50ab4544" sha1="295580745787ba9593799213564484aaaa7fd463" offset="000000" />
+ <rom name="2006 fifa world cup - germany 2006 (usa, europe) (en,fr,de,es,it).bin" size="8388608" crc="50ab4544" sha1="295580745787ba9593799213564484aaaa7fd463" offset="000000" />
</dataarea>
</part>
</software>
@@ -810,7 +804,7 @@
</part>
</software>
- <software name="akachan1" cloneof="akachan">
+ <software name="akachan">
<description>Aka-chan Doubutsuen (Jpn)</description>
<year>2004</year>
<publisher>TDK Core</publisher>
@@ -825,24 +819,6 @@
</part>
</software>
- <software name="akachan">
- <description>Aka-chan Doubutsuen (Jpn, Rev. 1)</description>
- <year>2004</year>
- <publisher>TDK Core</publisher>
- <info name="serial" value="AGB-BAZJ-JPN"/>
- <info name="release" value="20040326"/>
- <info name="alt_title" value="ã‚ã‹ã¡ã‚ƒã‚“ã©ã†ã¶ã¤åœ’ 動物ã®ã‚ã‹ã¡ã‚ƒã‚“飼育係育æˆã‚²ãƒ¼ãƒ "/>
- <part name="cart" interface="gba_cart">
- <feature name="pcb" value="AGB-E03-20" />
- <feature name="u1" value="U1 GPIO MASKROM" />
- <feature name="u2" value="U2 4K/64K EEPROM [9854]" />
- <feature name="slot" value="gba_eeprom_64k" />
- <dataarea name="rom" size="4194304">
- <rom name="agb-bazj-1.u1" size="4194304" crc="c1072e26" sha1="634624c77c90a8ff40bec9046133c50041efc49b" offset="000000" />
- </dataarea>
- </part>
- </software>
-
<software name="circlmonj" cloneof="circlmon">
<description>Akumajou Dracula - Circle of the Moon (Jpn)</description>
<year>2001</year>
@@ -921,14 +897,11 @@
<description>Alex Rider - Stormbreaker (Euro)</description>
<year>2006</year>
<publisher>THQ</publisher>
- <info name="serial" value="AGB-BAWX-EUR"/>
+ <info name="serial" value="AGB-BAWP"/>
<part name="cart" interface="gba_cart">
- <feature name="pcb" value="AGB-E03-21" />
- <feature name="u1" value="U1 GPIO MASKROM" />
- <feature name="u2" value="U2 4K/64K EEPROM" />
<feature name="slot" value="gba_eeprom_4k" />
<dataarea name="rom" size="4194304">
- <rom name="agb-bawx-0.u1" size="4194304" crc="25e8e2cd" sha1="659dbde917fc74d1cec3e41d1fb4cdd249ae04a0" offset="000000" />
+ <rom name="alex rider - stormbreaker (europe) (en,fr,de,es).bin" size="4194304" crc="25e8e2cd" sha1="659dbde917fc74d1cec3e41d1fb4cdd249ae04a0" offset="000000" />
</dataarea>
</part>
</software>
@@ -4310,14 +4283,11 @@
<description>Cabela's Big Game Hunter - 2005 Adventures (Euro, USA)</description>
<year>2004</year>
<publisher>Activision</publisher>
- <info name="serial" value="AGB-BG5E-USA, AGB-BG5P-UKV, AGB-BG5P-UKV-1"/>
+ <info name="serial" value="AGB-BG5E-USA, AGB-BG5P"/>
<part name="cart" interface="gba_cart">
- <feature name="pcb" value="AGB-E03-21" />
- <feature name="u1" value="U1 GPIO MASKROM" />
- <feature name="u2" value="U2 4K/64K EEPROM [9853]" />
<feature name="slot" value="gba_eeprom_4k" />
<dataarea name="rom" size="4194304">
- <rom name="agb-bg5p-0.u1" size="4194304" crc="bd054567" sha1="aff3c5bc948c2c868be7da8a327aee25beaa027c" offset="000000" />
+ <rom name="cabela's big game hunter - 2005 adventures (usa, europe).bin" size="4194304" crc="bd054567" sha1="aff3c5bc948c2c868be7da8a327aee25beaa027c" offset="000000" />
</dataarea>
</part>
</software>
@@ -4487,14 +4457,11 @@
<description>Care Bears - The Care Quests (Euro)</description>
<year>2005</year>
<publisher>The Game Factory</publisher>
- <info name="serial" value="AGB-BEAP-EUU"/>
+ <info name="serial" value="AGB-BEAP"/>
<part name="cart" interface="gba_cart">
- <feature name="pcb" value="AGB-E03-21" />
- <feature name="u1" value="U1 GPIO MASKROM" />
- <feature name="u2" value="U2 4K/64K EEPROM [9853]" />
<feature name="slot" value="gba_eeprom_4k" />
<dataarea name="rom" size="4194304">
- <rom name="agb-beap-0.u1" size="4194304" crc="6111ed1e" sha1="606ad547286fdf14cc0fe60e5c34f9db83a059dc" offset="000000" />
+ <rom name="care bears - the care quests (europe) (en,fr,de,es,it,nl,pt,da).bin" size="4194304" crc="6111ed1e" sha1="606ad547286fdf14cc0fe60e5c34f9db83a059dc" offset="000000" />
</dataarea>
</part>
</software>
@@ -4529,17 +4496,13 @@
</software>
<software name="carsb" cloneof="cars">
- <description>Disney/Pixar Cars (Euro, Spanish / Portuguese)</description>
+ <description>Cars (Euro, Spanish / Portuguese)</description>
<year>2006</year>
<publisher>THQ</publisher>
- <info name="serial" value="AGB-BCAY-EUR"/>
<part name="cart" interface="gba_cart">
- <feature name="pcb" value="AGB-E03-21" />
- <feature name="u1" value="U1 GPIO MASKROM" />
- <feature name="u2" value="U2 4K/64K EEPROM [9853]" />
<feature name="slot" value="gba_eeprom_4k" />
<dataarea name="rom" size="8388608">
- <rom name="agb-bcay-0.u1" size="8388608" crc="0b058db2" sha1="b7dbdf12678e0f36973ca660178f8978450f4a3e" offset="000000" />
+ <rom name="cars (europe) (es,pt).bin" size="8388608" crc="0b058db2" sha1="b7dbdf12678e0f36973ca660178f8978450f4a3e" offset="000000" />
</dataarea>
</part>
</software>
@@ -4609,15 +4572,12 @@
</software>
<software name="carschmp">
- <description>Disney/Pixar Cars - Mater-National Championship (Euro)</description>
+ <description>Disney Pixar Cars - Mater-National Championship (Euro)</description>
<year>2007</year>
<publisher>THQ</publisher>
- <info name="serial" value="AGB-BCPP-EUR"/>
<part name="cart" interface="gba_cart">
- <feature name="pcb" value="AGB-E01-41" />
- <feature name="u1" value="U1 GPIO MASKROM" />
<dataarea name="rom" size="4194304">
- <rom name="agb-bcpp-0.u1" size="4194304" crc="d3db9787" sha1="16c666082db0e12384d342e5db4336ac66869d28" offset="000000" />
+ <rom name="cars - mater-national championship (europe) (en,fr,de,es,it,nl).bin" size="4194304" crc="d3db9787" sha1="16c666082db0e12384d342e5db4336ac66869d28" offset="000000" />
</dataarea>
</part>
</software>
@@ -6595,14 +6555,11 @@
<description>Dave Mirra Freestyle BMX 2 (Euro)</description>
<year>2001</year>
<publisher>Acclaim</publisher>
- <info name="serial" value="AGB-AX2P-EUR"/>
+ <info name="serial" value="AGB-AX2P"/>
<part name="cart" interface="gba_cart">
- <feature name="pcb" value="AGB-E03-10" />
- <feature name="u1" value="U1 MASK ROM" />
- <feature name="u2" value="U2 4K/64K EEPROM [9854]" />
<feature name="slot" value="gba_eeprom_64k" />
<dataarea name="rom" size="8388608">
- <rom name="agb-ax2p-0.u1" size="8388608" crc="69e89581" sha1="5d98b5179f4e9ae7ae72d6a43bed5f046f881a7b" offset="000000" />
+ <rom name="dave mirra freestyle bmx 2 (europe) (en,fr,de,es,it).bin" size="8388608" crc="69e89581" sha1="5d98b5179f4e9ae7ae72d6a43bed5f046f881a7b" offset="000000" />
</dataarea>
</part>
</software>
@@ -6840,14 +6797,11 @@
<description>Denki Blocks! (Euro)</description>
<year>2001</year>
<publisher>Rage Software</publisher>
- <info name="serial" value="AGB-ADBP-EUR"/>
+ <info name="serial" value="AGB-ADBP"/>
<part name="cart" interface="gba_cart">
- <feature name="pcb" value="AGB-E03-10" />
- <feature name="u1" value="U1 MASK ROM" />
- <feature name="u2" value="U2 4K/64K EEPROM [9853]" />
<feature name="slot" value="gba_eeprom_4k" />
<dataarea name="rom" size="4194304">
- <rom name="agb-adbp-0.u1" size="4194304" crc="6144ec15" sha1="fe9047dd7940e55a9d667824aeeeb7abbd025e59" offset="000000" />
+ <rom name="denki blocks! (europe) (en,fr,de,es,it).bin" size="4194304" crc="6144ec15" sha1="fe9047dd7940e55a9d667824aeeeb7abbd025e59" offset="000000" />
</dataarea>
</part>
</software>
@@ -16411,12 +16365,10 @@
<description>Kao the Kangaroo (Euro)</description>
<year>2001</year>
<publisher>Titus</publisher>
- <info name="serial" value="AGB-AKKP-EUR"/>
+ <info name="serial" value="AGB-AKKP"/>
<part name="cart" interface="gba_cart">
- <feature name="pcb" value="AGB-E01-10" />
- <feature name="u1" value="U1 32M MROM" />
<dataarea name="rom" size="4194304">
- <rom name="agb-akkp-0.u1" size="4194304" crc="51e7522c" sha1="5a337fcc321eaa0c350644c026767824add338f3" offset="000000" />
+ <rom name="kao the kangaroo (europe) (en,fr,de,es,it,nl).bin" size="4194304" crc="51e7522c" sha1="5a337fcc321eaa0c350644c026767824add338f3" offset="000000" />
</dataarea>
</part>
</software>
@@ -16663,14 +16615,11 @@
<description>Kid Paddle (Euro)</description>
<year>2005</year>
<publisher>Atari</publisher>
- <info name="serial" value="AGB-BYLP-FRA"/>
+ <info name="serial" value="AGB-BYLP-EUR"/>
<part name="cart" interface="gba_cart">
- <feature name="pcb" value="AGB-E03-21" />
- <feature name="u1" value="U1 GPIO MASKROM" />
- <feature name="u2" value="U2 4K/64K EEPROM [9853]" />
<feature name="slot" value="gba_eeprom_4k" />
<dataarea name="rom" size="8388608">
- <rom name="agb-bylp-0.u1" size="8388608" crc="69951aa9" sha1="4ce6021d930fe946c512b2e5584f31d0b6435256" offset="000000" />
+ <rom name="kid paddle (europe) (fr,nl).bin" size="8388608" crc="69951aa9" sha1="4ce6021d930fe946c512b2e5584f31d0b6435256" offset="000000" />
</dataarea>
</part>
</software>
@@ -16820,12 +16769,10 @@
<description>Killer 3D Pool (Euro)</description>
<year>2005</year>
<publisher>Zoo Digital Publishing</publisher>
- <info name="serial" value="AGB-B3LP-EUR"/>
+ <info name="serial" value="AGB-B3LP"/>
<part name="cart" interface="gba_cart">
- <feature name="pcb" value="AGB-E01-40" />
- <feature name="u1" value="U1 GPIO MASKROM" />
<dataarea name="rom" size="4194304">
- <rom name="agb-b3lp-0.u1" size="4194304" crc="e6fda065" sha1="a4e3107f0797d42ee8888488cf0f87af140b8652" offset="000000" />
+ <rom name="killer 3d pool (europe) (en,fr,de,es,it).bin" size="4194304" crc="e6fda065" sha1="a4e3107f0797d42ee8888488cf0f87af140b8652" offset="000000" />
</dataarea>
</part>
</software>
@@ -37296,14 +37243,11 @@
<description>Yu Yu Hakusho - Ghostfiles - Spirit Detective (Euro)</description>
<year>2005</year>
<publisher>Atari</publisher>
- <info name="serial" value="AGB-BYYP-EUR"/>
+ <info name="serial" value="AGB-BYYP"/>
<part name="cart" interface="gba_cart">
- <feature name="pcb" value="AGB-E03-20" />
- <feature name="u1" value="U1 GPIO MASKROM" />
- <feature name="u2" value="U2 4K/64K EEPROM [9853]" />
<feature name="slot" value="gba_eeprom_4k" />
<dataarea name="rom" size="8388608">
- <rom name="agb-byyp-0.u1" size="8388608" crc="208d77ec" sha1="66dc426b71195c11761f7ce58ffef231e8e227b1" offset="000000" />
+ <rom name="yu yu hakusho - ghostfiles - spirit detective (europe) (en,fr,de,es,it).bin" size="8388608" crc="208d77ec" sha1="66dc426b71195c11761f7ce58ffef231e8e227b1" offset="000000" />
</dataarea>
</part>
</software>
@@ -37383,7 +37327,7 @@
<part name="cart" interface="gba_cart">
<feature name="pcb" value="AGB-E02-20" />
<feature name="u1" value="U1 GPIO MASKROM" />
- <feature name="u2" value="U2 512K/1M FLASH [39VF512]" />
+ <feature name="u2" value="U2 512K/1M FLASH" />
<feature name="slot" value="gba_flash" />
<dataarea name="rom" size="8388608">
<rom name="agb-aydp-0.u1" size="8388608" crc="ee317f69" sha1="3ded1227698fbdb2ba47f03025cd1934fc184b99" offset="000000" />
@@ -37453,12 +37397,11 @@
<description>Yu-Gi-Oh! - The Sacred Cards (Euro)</description>
<year>2004</year>
<publisher>Konami</publisher>
- <info name="serial" value="AGB-AY7P-FRA, AGB-AY7P-UKV"/>
- <info name="alt_title" value="Yu-Gi-Oh! - Les Cartes Sacrées (Box)"/>
+ <info name="serial" value="AGB-AY7P-FRA"/>
<part name="cart" interface="gba_cart">
<feature name="pcb" value="AGB-E11-10" />
<feature name="u1" value="U1 MASK ROM AGB" />
- <feature name="u2" value="U2 256K FRAM [MB85R256A]" />
+ <feature name="u2" value="U2 256K FRAM" />
<feature name="slot" value="gba_sram" />
<dataarea name="rom" size="16777216">
<rom name="agb-ay7p-0.u1" size="16777216" crc="d19db37c" sha1="9a23ad34f67ac1f1343b7009f11ac95c77b782ef" offset="000000" />
@@ -37472,12 +37415,9 @@
<publisher>Konami</publisher>
<info name="serial" value="AGB-AY7E-USA"/>
<part name="cart" interface="gba_cart">
- <feature name="pcb" value="AGB-E11-01" />
- <feature name="u1" value="U1 MASK ROM AGB" />
- <feature name="u2" value="U2 256K FRAM [MB85R256A]" />
<feature name="slot" value="gba_sram" />
<dataarea name="rom" size="16777216">
- <rom name="agb-ay7e-0.u1" size="16777216" crc="141fb1cc" sha1="a06735f9c3d10be9339657026981aef77af34b27" offset="000000" />
+ <rom name="yu-gi-oh! - the sacred cards (usa).bin" size="16777216" crc="141fb1cc" sha1="a06735f9c3d10be9339657026981aef77af34b27" offset="000000" />
</dataarea>
</part>
</software>
@@ -37488,12 +37428,9 @@
<publisher>Konami</publisher>
<info name="serial" value="AGB-BYWP-EUR"/>
<part name="cart" interface="gba_cart">
- <feature name="pcb" value="AGB-E11-10" />
- <feature name="u1" value="U1 MASK ROM AGB" />
- <feature name="u2" value="U2 256K FRAM [MB85R256A]" />
<feature name="slot" value="gba_sram" />
<dataarea name="rom" size="16777216">
- <rom name="agb-bywp-0.u1" size="16777216" crc="3c42e84c" sha1="b791ee3241caef0566bca56bb70c6d37ad3b8621" offset="000000" />
+ <rom name="yu-gi-oh! - world championship tournament 2004 (europe) (en,ja,fr,de,es,it).bin" size="16777216" crc="31edef1b" sha1="97a2e7cf6613538216dc807ae5ed92eaa4b9d7a8" offset="000000" />
</dataarea>
</part>
</software>
@@ -37579,7 +37516,7 @@
<publisher>Konami</publisher>
<info name="serial" value="AGB-AY5E-USA"/>
<part name="cart" interface="gba_cart">
- <feature name="pcb" value="AGB-E06-10" /> <!-- Also found with AGB-E06-20 -->
+ <feature name="pcb" value="AGB-E06-10" />
<feature name="u1" value="U1 MASK ROM" />
<feature name="u2" value="U2 256K SRAM [B62LV256C-70]" />
<feature name="u3" value="U3 9803F [LV2416]" />
@@ -37596,15 +37533,11 @@
<description>Shonen Jump's Yu-Gi-Oh! - Ultimate Masters Edition - World Championship Tournament 2006 (Euro)</description>
<year>2006</year>
<publisher>Konami</publisher>
- <info name="serial" value="AGB-BY6P-EUR"/>
+ <info name="serial" value="AGB-BY6P"/>
<part name="cart" interface="gba_cart">
- <feature name="pcb" value="AGB-Y11-02" />
- <feature name="u1" value="U1 GPIO MASKROM" />
- <feature name="u2" value="U2 256K SRAM [MB85R256S]" />
- <feature name="u3" value="U3 [empty]" />
<feature name="slot" value="gba_sram" />
<dataarea name="rom" size="33554432">
- <rom name="agb-by6p-0.u1" size="33554432" crc="cede4060" sha1="0734be2fe17d9ef5ede88e0a14cd194656aa23d8" offset="000000" />
+ <rom name="yu-gi-oh! - ultimate masters edition - world championship tournament 2006 (europe) (en,ja,fr,de,es,it).bin" size="33554432" crc="cede4060" sha1="0734be2fe17d9ef5ede88e0a14cd194656aa23d8" offset="000000" />
</dataarea>
</part>
</software>
@@ -37782,7 +37715,6 @@
<publisher>Konami</publisher>
<info name="serial" value="AGB-BYGE-USA"/>
<part name="cart" interface="gba_cart">
- <feature name="pcb" value="AGB-Y11-02" />
<feature name="slot" value="gba_sram" />
<dataarea name="rom" size="33554432">
<rom name="yu-gi-oh! gx - duel academy (usa).bin" size="33554432" crc="3b8a00fe" sha1="57d6bb789833b62b360072902982d5f1011b3640" offset="000000" />
@@ -38118,15 +38050,9 @@
<info name="release" value="20011130"/>
<info name="alt_title" value="ゾイドサーガ"/>
<part name="cart" interface="gba_cart">
- <feature name="pcb" value="AGB-E06-10" />
- <feature name="u1" value="U1 MASK ROM" />
- <feature name="u2" value="U2 256K SRAM [HY62WT081ED70C]" />
- <feature name="u3" value="U3 9803F [LV2416]" />
- <feature name="u4" value="U4 PST3425" />
- <feature name="bt1" value="CR1616" />
<feature name="slot" value="gba_sram" />
<dataarea name="rom" size="8388608">
- <rom name="agb-atzj-0.u1" size="8388608" crc="5975dda8" sha1="75d8c15ac281ea93c8ac7cc7641c490799557081" offset="000000" />
+ <rom name="zoids saga (japan).bin" size="8388608" crc="5975dda8" sha1="75d8c15ac281ea93c8ac7cc7641c490799557081" offset="000000" />
</dataarea>
</part>
</software>
@@ -38194,7 +38120,7 @@
<description>Zone of the Enders - The Fist of Mars (Euro)</description>
<year>2002</year>
<publisher>Konami</publisher>
- <info name="serial" value="AGB-AZEP-EUR"/>
+ <info name="serial" value="AGB-AZEP"/>
<part name="cart" interface="gba_cart">
<feature name="pcb" value="AGB-E02-10" />
<feature name="u1" value="U1 MASKROM AGB" />
@@ -38336,11 +38262,10 @@
</part>
</software>
- <!-- Tech demo compiled from source code. This is a later build from code marked "Copyright (C) 1999-2001 NINTENDO Co.,Ltd." -->
<software name="yoshi">
- <description>Sample Yoshi Game (Prototype, 20010214)</description>
- <year>2001</year>
- <publisher>Nintendo</publisher>
+ <description>Yoshi Demo</description>
+ <year>2001?</year>
+ <publisher>&lt;unknown&gt;</publisher>
<part name="cart" interface="gba_cart">
<dataarea name="rom" size="2273956">
<rom name="yoshi.bin" size="2273956" crc="954d2619" sha1="89fe5c0b5489a14f5f9bb1d4ebde998f07c4f939" offset="000000" />
@@ -38348,11 +38273,10 @@
</part>
</software>
- <!-- Tech demo compiled from source code. This is an earlier build from code marked "Copyright (C) 1999-2000 NINTENDO Co.,Ltd." -->
<software name="yoshia" cloneof="yoshi">
- <description>Sample Yoshi Game (Prototype, 20000601)</description>
- <year>2000</year>
- <publisher>Nintendo</publisher>
+ <description>Yoshi Demo (Alt?)</description>
+ <year>2001?</year>
+ <publisher>&lt;unknown&gt;</publisher>
<part name="cart" interface="gba_cart">
<dataarea name="rom" size="1717944">
<rom name="yoshi sample (japan) (en).bin" size="1717944" crc="34f2ef47" sha1="71b87b9684babfe5751a9fb6642ace5a927f21e0" offset="000000" />
@@ -38666,17 +38590,13 @@
</software>
<software name="2disney">
- <description>2 Disney Games: Disney's Lilo &amp; Stitch 2 + Disney's Peter Pan - Return to Neverland (Euro)</description>
- <year>2004</year>
+ <description>2 Disney Games: Disney's Peter Pan - Return to Neverland + Disney's Lilo &amp; Stitch 2 (Euro)</description>
+ <year>200?</year>
<publisher>Disney Interactive</publisher>
- <info name="serial" value="AGB-BLQP-EUR"/>
<part name="cart" interface="gba_cart">
- <feature name="pcb" value="AGB-E03-21" />
- <feature name="u1" value="U1 GPIO MASKROM" />
- <feature name="u2" value="U2 4K/64K EEPROM [9853]" />
<feature name="slot" value="gba_eeprom_4k" />
<dataarea name="rom" size="16777216">
- <rom name="agb-blqp-0.u1" size="16777216" crc="75703943" sha1="4b0455173b592407db9460b7e38fb209fd549772" offset="000000" />
+ <rom name="2 disney games - lilo &amp; stitch 2 + peter pan - return to neverland (europe) (en,fr,de,es+en,fr,de,es,it,nl).bin" size="16777216" crc="75703943" sha1="4b0455173b592407db9460b7e38fb209fd549772" offset="000000" />
</dataarea>
</part>
</software>
@@ -38860,7 +38780,7 @@
<description>2 Game Pack!: Hot Wheels - Stunt Track Challenge + Hot Wheels - World Race (Euro, USA)</description>
<year>200?</year>
<publisher>DSI Games</publisher>
- <info name="serial" value="AGB-BQJE-USA, AGB-BQJP-UKV"/>
+ <info name="serial" value="AGB-BQJE-USA, AGB-BQJP"/>
<part name="cart" interface="gba_cart">
<feature name="pcb" value="AGB-E01-41" />
<feature name="u1" value="U1 GPIO MASKROM" />
@@ -39998,7 +39918,7 @@
<!-- "Daigasso Band Brothers" (大åˆå¥!ãƒãƒ³ãƒ‰ãƒ–ラザーズ) for Nintendo DS uses a GBA cart (NTR-A-ZBBJ-JPN) called "Daigasso Request Selection" for adding new songs to the game.
Inside there is an standard "AGB-E01-41" GBA cart PCB with "U1=GPIO MASK ROM [R27V810F-064]". -->
- <!-- AM3 did a Nintendo officially licensed video player for GBA in form of a GBA cart with a SmartMedia slot.
+ <!-- AM3 did a Nintendo officially lilcensed video player for GBA in form of a GBA cart with a SmartMedia slot.
There were lot of pre-recorded SmartMedia cards with videos (Pokémon, Detective Conan, etc.), but also kiosk machines to download new videos to an empty card.
Inside this GBA cart the PCB is labeled "YGP2-AM1-01". The ROM and the video processor are behind the SmartMedia slot, but the label "U3 AM3-ASIC" is visible. -->
diff --git a/hash/gbcolor.xml b/hash/gbcolor.xml
index 490adeee414..5261c682185 100644
--- a/hash/gbcolor.xml
+++ b/hash/gbcolor.xml
@@ -18312,7 +18312,7 @@ Unreleased (music source code exists, possibly no prototypes exist)
<description>San Francisco Rush 2049 (Euro, USA)</description>
<year>2000</year>
<publisher>Midway</publisher>
- <info name="serial" value="CGB-ASXE-USA, CGB-ASXP-EUU, CGB-ASXP-EUR"/>
+ <info name="serial" value="CGB-ASXE-USA, CGB-ASXP-EUU"/>
<part name="cart" interface="gameboy_cart">
<feature name="pcb" value="DMG-A07-01" />
<feature name="u1" value="U1 2M/4M/8M MROM" />
@@ -20153,7 +20153,7 @@ Unreleased (music source code exists, possibly no prototypes exist)
<description>Sylvester and Tweety - Breakfast on the Run (Euro)</description>
<year>1998</year>
<publisher>Infogrames</publisher>
- <info name="serial" value="DMG-AYRP-NOE, DMG-AYRP-UKV, DMG-AYRP-EUR)"/>
+ <info name="serial" value="DMG-AYRP-(NOE/UKV)"/>
<part name="cart" interface="gameboy_cart">
<feature name="slot" value="rom_mbc5" />
<dataarea name="rom" size="1048576">
diff --git a/hash/hp85_rom.xml b/hash/hp85_rom.xml
index f68ab68c5e6..370702d02a8 100644
--- a/hash/hp85_rom.xml
+++ b/hash/hp85_rom.xml
@@ -2,82 +2,82 @@
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
<softwarelist name="hp85_rom" description="HP-85 Option ROMs">
- <software name="service">
- <description>Service ROM</description>
- <year>198?</year>
- <publisher>Hewlett-Packard</publisher>
- <info name="serial" value="00085-60952"/>
+ <software name="service">
+ <description>Service ROM</description>
+ <year>198?</year>
+ <publisher>Hewlett-Packard</publisher>
+ <info name="serial" value="00085-60952"/>
- <part name="rom" interface="hp80_rom">
- <feature name="sc" value="0xe0"/>
- <dataarea name="rom" size="0x2000">
- <rom name="rom340.bin" size="0x2000" crc="41441333" sha1="6e166b7b0723da126021e2b2cd572660931e066d" offset="0"/>
- </dataarea>
- </part>
- </software>
- <software name="service_fix">
- <description>Service ROM (fixed)</description>
- <year>198?</year>
- <publisher>Hewlett-Packard</publisher>
- <info name="serial" value="00085-60952"/>
+ <part name="rom" interface="hp80_rom">
+ <feature name="sc" value="0xe0"/>
+ <dataarea name="rom" size="0x2000">
+ <rom name="rom340.bin" size="0x2000" crc="41441333" sha1="6e166b7b0723da126021e2b2cd572660931e066d" offset="0"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="service_fix">
+ <description>Service ROM (fixed)</description>
+ <year>198?</year>
+ <publisher>Hewlett-Packard</publisher>
+ <info name="serial" value="00085-60952"/>
- <part name="rom" interface="hp80_rom">
- <feature name="sc" value="0xe0"/>
- <dataarea name="rom" size="0x2000">
- <rom name="rom340_fixed.bin" size="0x2000" crc="3ebdd60a" sha1="efa3d3cc9e593f6fe74b1189ea4c2dd0660ae698" offset="0"/>
- </dataarea>
- </part>
- </software>
- <software name="assembler">
- <description>Assembler ROM</description>
- <year>1980</year>
- <publisher>Hewlett-Packard</publisher>
- <info name="serial" value="00085-15007"/>
+ <part name="rom" interface="hp80_rom">
+ <feature name="sc" value="0xe0"/>
+ <dataarea name="rom" size="0x2000">
+ <rom name="rom340_fixed.bin" size="0x2000" crc="3ebdd60a" sha1="efa3d3cc9e593f6fe74b1189ea4c2dd0660ae698" offset="0"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="assembler">
+ <description>Assembler ROM</description>
+ <year>1980</year>
+ <publisher>Hewlett-Packard</publisher>
+ <info name="serial" value="00085-15007"/>
- <part name="rom" interface="hp80_rom">
- <feature name="sc" value="0x28"/>
- <dataarea name="rom" size="0x2000">
- <rom name="rom050.bin" size="0x2000" crc="9827cc3c" sha1="018d6a8df68a839b4e192da957f38a5db20f8bfc" offset="0"/>
- </dataarea>
- </part>
- </software>
- <software name="matrix">
- <description>Matrix ROM</description>
- <year>1979</year>
- <publisher>Hewlett-Packard</publisher>
- <info name="serial" value="00085-15004"/>
+ <part name="rom" interface="hp80_rom">
+ <feature name="sc" value="0x28"/>
+ <dataarea name="rom" size="0x2000">
+ <rom name="rom050.bin" size="0x2000" crc="9827cc3c" sha1="018d6a8df68a839b4e192da957f38a5db20f8bfc" offset="0"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="matrix">
+ <description>Matrix ROM</description>
+ <year>1979</year>
+ <publisher>Hewlett-Packard</publisher>
+ <info name="serial" value="00085-15004"/>
- <part name="rom" interface="hp80_rom">
- <feature name="sc" value="0xB0"/>
- <dataarea name="rom" size="0x2000">
- <rom name="rom260.bin" size="0x2000" crc="70f83074" sha1="3ef192ecff71b967ba747bea8df483e0596988b1" offset="0"/>
- </dataarea>
- </part>
- </software>
- <software name="io">
- <description>I/O ROM</description>
- <year>1979</year>
- <publisher>Hewlett-Packard</publisher>
- <info name="serial" value="00085-15003"/>
+ <part name="rom" interface="hp80_rom">
+ <feature name="sc" value="0xB0"/>
+ <dataarea name="rom" size="0x2000">
+ <rom name="rom260.bin" size="0x2000" crc="70f83074" sha1="3ef192ecff71b967ba747bea8df483e0596988b1" offset="0"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="io">
+ <description>I/O ROM</description>
+ <year>1979</year>
+ <publisher>Hewlett-Packard</publisher>
+ <info name="serial" value="00085-15003"/>
- <part name="rom" interface="hp80_rom">
- <feature name="sc" value="0xC0"/>
- <dataarea name="rom" size="0x2000">
- <rom name="rom300.bin" size="0x2000" crc="6f904a4c" sha1="6f90899fa983e2fd63088ce516c35d07e5942f2b" offset="0"/>
- </dataarea>
- </part>
- </software>
- <software name="mass">
- <description>Mass storage ROM</description>
- <year>1979</year>
- <publisher>Hewlett-Packard</publisher>
- <info name="serial" value="00085-15001"/>
+ <part name="rom" interface="hp80_rom">
+ <feature name="sc" value="0xC0"/>
+ <dataarea name="rom" size="0x2000">
+ <rom name="rom300.bin" size="0x2000" crc="6f904a4c" sha1="6f90899fa983e2fd63088ce516c35d07e5942f2b" offset="0"/>
+ </dataarea>
+ </part>
+ </software>
+ <software name="mass">
+ <description>Mass storage ROM</description>
+ <year>1979</year>
+ <publisher>Hewlett-Packard</publisher>
+ <info name="serial" value="00085-15001"/>
- <part name="rom" interface="hp80_rom">
- <feature name="sc" value="0xD0"/>
- <dataarea name="rom" size="0x2000">
- <rom name="rom320.bin" size="0x2000" crc="9c03582c" sha1="1cc9a5013739821cd1d7e2a52e8abbd29045e850" offset="0"/>
- </dataarea>
- </part>
- </software>
+ <part name="rom" interface="hp80_rom">
+ <feature name="sc" value="0xD0"/>
+ <dataarea name="rom" size="0x2000">
+ <rom name="rom320.bin" size="0x2000" crc="9c03582c" sha1="1cc9a5013739821cd1d7e2a52e8abbd29045e850" offset="0"/>
+ </dataarea>
+ </part>
+ </software>
</softwarelist>
diff --git a/hash/hx20_rom.xml b/hash/hx20_rom.xml
index fa03a80889e..a4b8b172d22 100644
--- a/hash/hx20_rom.xml
+++ b/hash/hx20_rom.xml
@@ -3,18 +3,7 @@
<softwarelist name="hx20_rom" description="Epson HX-20 Optional ROMs">
- <software name="forth" supported="no">
- <description>Forth</description>
- <year>1982</year>
- <publisher>HCCS Associates</publisher>
- <part name="rom" interface="opt_rom">
- <dataarea name="rom" size="8192">
- <rom name="forth.bin" size="8192" crc="1319f181" sha1="72af6cf0a30fee45aea31c8ae1031bba5ad9f62d" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
- <software name="skiwritr" supported="no">
+ <software name="skiwritr">
<description>SkiWriter</description>
<year>1983</year>
<publisher>SkiSoft</publisher>
diff --git a/hash/ibm5150.xml b/hash/ibm5150.xml
index f1b4d78114f..173e1149526 100644..100755
--- a/hash/ibm5150.xml
+++ b/hash/ibm5150.xml
@@ -678,48 +678,6 @@ Known PC Booter Games Not Dumped, Or Dumped and Lost when Demonlord's Site went
</part>
</software>
- <software name="dlair">
- <description>Dragon's Lair</description>
- <year>1989</year>
- <publisher>Merit Software</publisher>
- <info name="developer" value="Sullivan Bluth Interactive Media" />
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size = "737280">
- <rom name="Dragon's Lair [Merit Software] [1989] [3.5DD] [Disk 1 of 7].img" size="737280" crc="427a0228" sha1="1dc55efd9e29cf40cf7fb3d8f18c7bd638463767" offset="0"/>
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3_5">
- <dataarea name="flop" size = "737280">
- <rom name="Dragon's Lair [Merit Software] [1989] [3.5DD] [Disk 2 of 7].img" size="737280" crc="edd53e3f" sha1="0e3a92ef40d34625ca7bbf0659f92426a87f7d7d" offset="0"/>
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_3_5">
- <dataarea name="flop" size = "737280">
- <rom name="Dragon's Lair [Merit Software] [1989] [3.5DD] [Disk 3 of 7].img" size="737280" crc="abce5854" sha1="1c5fb429a82c333e80c97dacc643a53f75d697a9" offset="0"/>
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_3_5">
- <dataarea name="flop" size = "737280">
- <rom name="Dragon's Lair [Merit Software] [1989] [3.5DD] [Disk 4 of 7].img" size="737280" crc="4b18e231" sha1="77956cf326c656040623ea18e6e29855198b4a43" offset="0"/>
- </dataarea>
- </part>
- <part name="flop5" interface="floppy_3_5">
- <dataarea name="flop" size = "737280">
- <rom name="Dragon's Lair [Merit Software] [1989] [3.5DD] [Disk 5 of 7].img" size="737280" crc="8472352b" sha1="951ada228f6b503590240a0826638a44767eb15a" offset="0"/>
- </dataarea>
- </part>
- <part name="flop6" interface="floppy_3_5">
- <dataarea name="flop" size = "737280">
- <rom name="Dragon's Lair [Merit Software] [1989] [3.5DD] [Disk 6 of 7].img" size="737280" crc="32eb9f17" sha1="c04ee5b1f011d57382ad91ea39462339795cc2ef" offset="0"/>
- </dataarea>
- </part>
- <part name="flop7" interface="floppy_3_5">
- <dataarea name="flop" size = "737280">
- <rom name="Dragon's Lair [Merit Software] [1989] [3.5DD] [Disk 7 of 7].img" size="737280" crc="3454a916" sha1="88fcfc7b9f653951023ee3b7cd9955eff9083ddc" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="donald">
<description>Donald Duck's Playground</description>
<year>1986</year>
@@ -7132,21 +7090,6 @@ has been replaced with an all-zero block. -->
</part>
</software>
- <software name="babyjo">
- <!-- Dumped via Kryoflux -->
- <description>Baby Jo in "Going Home"</description>
- <year>1991</year>
- <publisher>Loriciel</publisher>
- <info name="developer" value="Loriciel" />
- <info name="version" value="1.03 08/92" />
- <part name="flop1" interface="floppy_3_5">
- <!-- Copy-protected key disk -->
- <dataarea name="flop" size = "2162637">
- <rom name="Baby Jo [Loriciel] [1991] [3.5DD] [Disk 1 of 1].mfm" size="2162637" crc="7bff6ae7" sha1="d3e183367ed9b17487fa6d0938cc0ecc17700c6a" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="bttf2">
<description>Back to the Future Part II</description>
<year>1990</year>
@@ -7281,28 +7224,6 @@ has been replaced with an all-zero block. -->
</part>
</software>
- <!-- glitches on the bottom of the screen -->
- <software name="batmanmv" supported="partial">
- <!-- Dumped via Kryoflux -->
- <description>Batman: The Movie</description>
- <year>1990</year>
- <publisher>Ocean Software / Data East</publisher>
- <info name="developer" value="Ocean Software" />
- <info name="ported by" value="Astros Productions" />
- <part name="flop1" interface="floppy_3_5">
- <!-- Copy-protected key disk -->
- <dataarea name="flop" size = "2169772">
- <rom name="Batman The Movie [Ocean] [1990] [3.5DD] [Disk 1 of 2].mfm" size="2169772" crc="26dffced" sha1="48abc5cd55eeecf98b11d590aeed0bc51af47e42" offset="0"/>
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3_5">
- <!-- Copy-protected key disk -->
- <dataarea name="flop" size = "2171366">
- <rom name="Batman The Movie [Ocean] [1990] [3.5DD] [Disk 2 of 2].mfm" size="2171366" crc="fd010c6f" sha1="bfa5c27e4757c6020f05c760bfc289fe17736fce" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="batlches">
<description>Battle Chess</description>
<year>1988</year>
@@ -7382,20 +7303,6 @@ has been replaced with an all-zero block. -->
</part>
</software>
- <software name="bluesbro">
- <!-- Dumped via Kryoflux -->
- <description>The Blues Brothers</description>
- <year>1991</year>
- <publisher>Titus</publisher>
- <info name="developer" value="Titus" />
- <part name="flop1" interface="floppy_3_5">
- <!-- Copy-protected key disk -->
- <dataarea name="flop" size = "2162514">
- <rom name="Blues Brothers [Titus] [1991] [3.5DD] [Disk 1 of 1].mfm" size="2162514" crc="5657c2ec" sha1="d38d7c67888a5f7d2c9ba122b851104e005e0c63" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="bdashkit" supported="no">
<description>Boulder Dash Construction Kit</description>
<year>1987</year>
@@ -7420,11 +7327,10 @@ has been replaced with an all-zero block. -->
</software>
<software name="bublbobl">
- <description>Bubble Bobble (5.25")</description>
+ <description>Bubble Bobble</description>
<year>1989</year>
- <publisher>Taito Software</publisher>
- <info name="developer" value="Taito Software" />
- <info name="ported by" value="NovaLogic" />
+ <publisher>Taito America</publisher>
+ <info name="developer" value="Nova Logic" />
<part name="flop1" interface="floppy_5_25">
<dataarea name="flop" size = "368640">
<rom name="Bubble Bobble (USA) (Disk 1).img" size="368640" crc="1dad38e6" sha1="6b2f5f9655ed5002dfd72b33b2cfb857c432752a" offset="0"/>
@@ -7437,21 +7343,6 @@ has been replaced with an all-zero block. -->
</part>
</software>
- <software name="bublbobl35" cloneof="bublbobl">
- <!-- Dumped via Kryoflux -->
- <description>Bubble Bobble (3.5")</description>
- <year>1989</year>
- <publisher>Taito Software</publisher>
- <info name="developer" value="Taito Software" />
- <info name="ported by" value="NovaLogic" />
- <part name="flop1" interface="floppy_3_5">
- <!-- Copy-protected key disk -->
- <dataarea name="flop" size = "2166169">
- <rom name="Bubble Bobble [Taito] [1989] [3.5DD] [Disk 1 of 1].mfm" size="2166169" crc="11a8c23d" sha1="5e6a8bb49f98deb370de7b146dc4c22c2324e56a" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="budokan">
<description>Budokan - The Martial Spirit</description>
<year>1989</year>
@@ -7463,18 +7354,6 @@ has been replaced with an all-zero block. -->
</part>
</software>
- <software name="budokana" cloneof="budokan">
- <description>Budokan - The Martial Spirit (Big Games release)</description>
- <year>1989</year>
- <publisher>Electronic Arts</publisher>
- <info name="developer" value="Electronic Arts" />
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size = "737280">
- <rom name="Budokan - The Martial Spirit (Big Games release) [Electronic Arts] [1989] [3.5DD] [Disk 1 of 1].img" size="737280" crc="7c3acc15" sha1="ed1e6883d394b2e1fce1006105cc6a5a05f926f8" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="cadaver">
<description>Cadaver (5.25")</description>
<year>1991</year>
@@ -7691,9 +7570,9 @@ has been replaced with an all-zero block. -->
<software name="crimewav">
<description>Crime Wave</description>
<year>1990</year>
- <publisher>Access Software</publisher>
+ <publisher>Access Software, Inc.</publisher>
<info name="version" value="2.0" />
- <info name="developer" value="Access Software" />
+ <info name="developer" value="Access Software, Inc." />
<part name="flop1" interface="floppy_3_5">
<dataarea name="flop" size = "737280">
<rom name="Crime Wave [Access Software Inc] [1990] [3.5DD] [disk 1 of 4].img" size="737280" crc="2e051a02" sha1="7856ca4b29a0fcd07d164fc7e28a926572384819" offset="0"/>
@@ -7821,7 +7700,7 @@ has been replaced with an all-zero block. -->
</software>
<software name="ddragon2">
- <description>Double Dragon II - The Revenge (5.25")</description>
+ <description>Double Dragon II - The Revenge</description>
<year>1989</year>
<publisher>Virgin Mastertronic</publisher>
<info name="developer" value="Binary Design" />
@@ -7842,23 +7721,6 @@ has been replaced with an all-zero block. -->
</part>
</software>
- <software name="ddragon2_35" cloneof="ddragon2">
- <description>Double Dragon II - The Revenge (3.5")</description>
- <year>1989</year>
- <publisher>Virgin Games</publisher>
- <info name="developer" value="Binary Design" />
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size = "737280">
- <rom name="Double Dragon II [Virgin Games] [1989] [3.5DD] [Disk 1 of 2].img" size="737280" crc="fea2f0d3" sha1="3c1d86afcfcf309d9aea72143883ee031873b2b5" offset="0"/>
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3_5">
- <dataarea name="flop" size = "737280">
- <rom name="Double Dragon II [Virgin Games] [1989] [3.5DD] [Disk 2 of 2].img" size="737280" crc="c3df1da7" sha1="937967944ffb47f3d23a19fda7ec49522edb75a2" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="ddragon3">
<description>Double Dragon 3 - The Rosetta Stone</description>
<year>1992</year>
@@ -8188,18 +8050,6 @@ has been replaced with an all-zero block. -->
</part>
</software>
- <software name="goldnaxe35" cloneof="goldnaxe">
- <description>Golden Axe (3.5")</description>
- <year>1990</year>
- <publisher>Virgin Games</publisher>
- <info name="developer" value="Sega" />
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size = "737280">
- <rom name="Golden Axe [Virgin Games] [1990] [3.5DD] [Disk 1 of 1].img" size="737280" crc="174e89c7" sha1="25464172fedb6e3fa7d3626be5dae591a1aa6fb9" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="gryzor">
<!-- Dumped from a copied disk -->
<description>Gryzor</description>
@@ -8226,18 +8076,6 @@ has been replaced with an all-zero block. -->
</part>
</software>
- <software name="gunboata" cloneof="gunboat">
- <description>Gunboat: River Combat Simulation (Hit Squad release)</description>
- <year>1990</year>
- <publisher>Accolade</publisher>
- <info name="developer" value="Accolade" />
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size = "737280">
- <rom name="Gunboat (Hit Squad release) [Accolade] [1990] [3.5DD] [Disk 1 of 1].img" size="737280" crc="8a5b28c9" sha1="defc3a56657f5318b3eb2ac206050206c315f84f" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="hardbal2">
<description>Hardball II</description>
<year>1989</year>
@@ -8327,20 +8165,6 @@ has been replaced with an all-zero block. -->
</part>
</software>
- <software name="indycrus">
- <!-- Dumped via Kryoflux -->
- <description>Indiana Jones And The Last Crusade - The Action Game (Kixx release)</description>
- <year>1989</year>
- <publisher>U.S. Gold</publisher>
- <info name="developer" value="LucasFilm Games" />
- <part name="flop1" interface="floppy_3_5">
- <!-- Copy-protected key disk -->
- <dataarea name="flop" size = "2157701">
- <rom name="Indiana Jones And The Last Crusade - The Action Game (Kixx release) [US Gold] [1989] [3.5DD] [Disk 1 of 1].mfm" size="2157701" crc="6f298760" sha1="36b0d48fd1a2e881a59971da2734d65feb2497c2" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="indytod">
<description>Indiana Jones and the Temple of Doom</description>
<year>1989</year>
@@ -8397,9 +8221,9 @@ has been replaced with an all-zero block. -->
</software>
<software name="ironmnso">
- <description>Ivan "Ironman" Stewart's Super Off Road (5.25")</description>
+ <description>Ivan "Ironman" Stewart's Super Off Road</description>
<year>1990</year>
- <publisher>Virgin Mastertronic</publisher>
+ <publisher>Virgin Games, Inc.</publisher>
<info name="developer" value="Leland Corporation" />
<part name="flop1" interface="floppy_5_25">
<dataarea name="flop" size = "368640">
@@ -8413,19 +8237,6 @@ has been replaced with an all-zero block. -->
</part>
</software>
- <software name="ironmnso35" cloneof="ironmnso">
- <description>Ivan "Ironman" Stewart's Super Off Road (16 Blitz release) (3.5")</description>
- <year>1992</year>
- <publisher>Virgin Games</publisher>
- <info name="developer" value="Leland Corporation" />
- <info name="ported by" value="Graftgold" />
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size = "737280">
- <rom name="Super Off Road (16 Blitz release) [Virgin Games] [1992] [3.5DD] [Disk 1 of 1].img" size="737280" crc="fce3d276" sha1="16d90ffc29f5422f5003f71f10e304b8454d3a48" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="shogun">
<description>James Clavell's Shogun (set 1)</description>
<year>1987</year>
@@ -8645,20 +8456,6 @@ has been replaced with an all-zero block. -->
</part>
</software>
- <software name="moktar">
- <!-- Dumped via Kryoflux -->
- <description>Lagaf': Les Aventures de Moktar - Vol 1: La Zoubida</description>
- <year>1991</year>
- <publisher>Titus</publisher>
- <info name="developer" value="Titus" />
- <part name="flop1" interface="floppy_3_5">
- <!-- Copy-protected key disk -->
- <dataarea name="flop" size = "2162593">
- <rom name="Les Aventures de Moktar [Titus] [1991] [3.5DD] [Disk 1 of 1].mfm" size="2162593" crc="49c51dbf" sha1="c20705be599f3daac5f98c235bc7a5ddaaead4a6" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="lakecelt">
<description>Lakers vs Celtics and the NBA Playoffs</description>
<year>1989</year>
@@ -8902,7 +8699,7 @@ has been replaced with an all-zero block. -->
<!-- black square glitches behind sprites -->
<software name="lombrall" supported="partial">
- <description>Lombard RAC Rally (5.25")</description>
+ <description>Lombard RAC Rally</description>
<year>1989</year>
<publisher>Mandarin Software</publisher>
<info name="developer" value="Red Rat Software" />
@@ -8920,18 +8717,6 @@ has been replaced with an all-zero block. -->
</part>
</software>
- <software name="lombrall35" cloneof="lombrall" supported="partial">
- <description>Lombard RAC Rally (3.5")</description>
- <year>1989</year>
- <publisher>Mandarin Software</publisher>
- <info name="developer" value="Red Rat Software" />
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size = "737280">
- <rom name="Lombard RAC Rally [Mandarin Software] [1989] [3.5DD] [Disk 1 of 1].img" size="737280" crc="13355638" sha1="309a36298c26fb782d119bb8d94515a8cb166af2" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="loomfr">
<!-- Dumped from copied disks -->
<description>Loom (French)</description>
@@ -9352,7 +9137,7 @@ has been replaced with an all-zero block. -->
</software>
<software name="montypyt">
- <description>Monty Python's Flying Circus (5.25")</description>
+ <description>Monty Python's Flying Circus</description>
<year>1990</year>
<publisher>Virgin Games</publisher>
<part name="flop1" interface="floppy_5_25">
@@ -9367,18 +9152,6 @@ has been replaced with an all-zero block. -->
</part>
</software>
- <software name="montypyt35" cloneof="montypyt">
- <description>Monty Python's Flying Circus (3.5")</description>
- <year>1990</year>
- <publisher>Virgin Games</publisher>
- <info name="developer" value="Core Design" />
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size = "737280">
- <rom name="Monty Python's Flying Circus [Virgin Games] [1991] [3.5DD] [Disk 1 of 1].img" size="737280" crc="2eda6769" sha1="3a9f6b0e02571366ec30c65cdb4add3257d2c0c0" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="monumars">
<description>The Monuments of Mars!</description>
<year>1991</year>
@@ -9504,7 +9277,7 @@ has been replaced with an all-zero block. -->
</software>
<!-- matches dump of 3.5" "International Version" -->
- <software name="nova9a" cloneof="nova9">
+ <software name="nova9a" cloneof ="nova9">
<description>Nova 9: The Return of Gir Draxon (version 1.0)</description>
<year>1991</year>
<publisher>Sierra</publisher>
@@ -9623,26 +9396,6 @@ has been replaced with an all-zero block. -->
</part>
</software>
- <software name="panzakic">
- <!-- Dumped via Kryoflux -->
- <description>Panza Kick Boxing (Kixx budget release)</description>
- <year>1991</year>
- <publisher>Loriciels</publisher>
- <info name="developer" value="Futura" />
- <part name="flop1" interface="floppy_3_5">
- <!-- Copy-protected key disk -->
- <dataarea name="flop" size = "2162128">
- <rom name="Panza Kick Boxing (Kixx release) [Futura] [1991] [3.5DD] [Disk A].mfm" size="2162128" crc="4ff178d8" sha1="d3a71ffba548b815bc94f36df7f99ba81b4ad0f3" offset="0"/>
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3_5">
- <!-- Copy-protected key disk -->
- <dataarea name="flop" size = "2160072">
- <rom name="Panza Kick Boxing (Kixx release) [Futura] [1991] [3.5DD] [Disk B].mfm" size="2160072" crc="a67217d5" sha1="cccb0efae1431796f3c35b57b69b608ee6804e25" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="pcgames3">
<description>PC Games #3</description>
<year>1988</year>
@@ -9695,7 +9448,7 @@ has been replaced with an all-zero block. -->
<description>Platoon</description>
<year>1987</year>
<publisher>Data East Corporation</publisher>
- <info name="developer" value="Ocean Software" />
+ <info name="developer" value="Ocean Software Ltd." />
<part name="flop1" interface="floppy_5_25">
<dataarea name="flop" size = "368640">
<rom name="Platoon [Data East] [1987] [5.25DD] [Disk 1 of 2].img" size="368640" crc="78008871" sha1="51bf517cdc22460565a37100a97b9dbccf630e2e" offset="0"/>
@@ -10025,20 +9778,6 @@ has been replaced with an all-zero block. -->
</part>
</software>
- <software name="rick2">
- <!-- Dumped via Kryoflux -->
- <description>Rick Dangerous 2</description>
- <year>1990</year>
- <publisher>MicroStyle</publisher>
- <info name="developer" value="Core Design" />
- <part name="flop1" interface="floppy_3_5">
- <!-- Copy-protected key disk -->
- <dataarea name="flop" size = "2154613">
- <rom name="Rick Dangerous 2 [Core Design] [1990] [3.5DD] [Disk 1 of 1].mfm" size="2154613" crc="454ae73b" sha1="e550e0c7584bf0f892da99722b6ce18939ad2e2a" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="riskywd">
<description>Risky Woods</description>
<year>1992</year>
@@ -10337,8 +10076,8 @@ has been replaced with an all-zero block. -->
<software name="simearth">
<description>SimEarth: The Living Planet</description>
<year>1990</year>
- <publisher>Maxis Software</publisher>
- <info name="developer" value="Maxis Software" />
+ <publisher>Maxis Software Inc.</publisher>
+ <info name="developer" value="Maxis Software Inc." />
<part name="flop1" interface="floppy_3_5">
<dataarea name="flop" size = "737280">
<rom name="SimEarth [Maxis] [1990] [3.5DD] [Disk 1 of 2].img" size="737280" crc="cdd4e652" sha1="4024b10089787a7c76ca01b773fbb48325cd807e" offset="0"/>
@@ -10351,35 +10090,6 @@ has been replaced with an all-zero block. -->
</part>
</software>
- <software name="bartvssm">
- <description>The Simpsons - Bart vs. the Space Mutants</description>
- <year>1991</year>
- <publisher>Acclaim / Ocean</publisher>
- <info name="developer" value="Imagineering" />
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size = "737280">
- <rom name="The Simpsons - Bart vs. the Space Mutants [Acclaim] [1991] [3.5DD] [Disk A].img" size="737280" crc="d1af2bbc" sha1="a3fc285f27158654497030c71a7e5a28481fc012" offset="0"/>
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3_5">
- <dataarea name="flop" size = "737280">
- <rom name="The Simpsons - Bart vs. the Space Mutants [Acclaim] [1991] [3.5DD] [Disk B].img" size="737280" crc="93b23da0" sha1="a7bba2e280a280240cad7b5bed03cc1a51d734a6" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="bartvssma" cloneof="bartvssm">
- <description>The Simpsons - Bart vs. the Space Mutants (Hit-Squad release)</description>
- <year>1991</year>
- <publisher>Acclaim / Ocean</publisher>
- <info name="developer" value="Imagineering" />
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size = "737280">
- <rom name="The Simpsons - Bart vs. the Space Mutants (Hit-Squad release) [Acclaim] [1991] [3.5DD] [Disk 1 of 1].img" size="737280" crc="06caf370" sha1="a32d288c62f47b574a2e17da5d5173de6f77b15b" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="skatedie">
<description>Skate or Die (5.25")</description>
<year>1988</year>
@@ -10496,18 +10206,6 @@ has been replaced with an all-zero block. -->
</part>
</software>
- <software name="spot">
- <description>Spot</description>
- <year>1991</year>
- <publisher>Virgin Games</publisher>
- <info name="developer" value="Virgin Mastertronic" />
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size = "737280">
- <rom name="Spot [Virgin Games] [1991] [3.5DD] [Disk 1 of 1].img" size="737280" crc="71084708" sha1="cfd29a97c4fa9fb479525b5907a0567c5fa0a366" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="stargoos">
<description>Star Goose!</description>
<year>1989</year>
@@ -10793,19 +10491,6 @@ has been replaced with an all-zero block. -->
</part>
</software>
- <software name="supertet">
- <description>Super Tetris</description>
- <year>1991</year>
- <publisher>Spectrum Holobyte</publisher>
- <info name="developer" value="Sphere" />
- <info name="version" value="1.0" />
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size = "737280">
- <rom name="Super Tetris [Spectrum Holobyte] [1991] [3,5DD] [Disk 1 of 1].img" size="737280" crc="7e506514" sha1="a961229ec82ec8f5eafd57b239b61ece448e437b" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="superman">
<description>Superman - The Man of Steel</description>
<year>1989</year>
@@ -10892,7 +10577,7 @@ has been replaced with an all-zero block. -->
<software name="term2">
<description>Terminator 2: Judgment Day</description>
<year>1991</year>
- <publisher>Ocean Software</publisher>
+ <publisher>Ocean Software Ltd.</publisher>
<info name="developer" value="Dementia" />
<part name="flop1" interface="floppy_3_5">
<dataarea name="flop" size = "737280">
@@ -11037,6 +10722,17 @@ has been replaced with an all-zero block. -->
</part>
</software>
+ <software name="wclead">
+ <description>World Class Leader Board</description>
+ <year>1988</year>
+ <publisher>Access Software</publisher>
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size = "368640">
+ <rom name="World Class Leader Board [1988] [Access Software] [5.25] [1 of 1].img" size="368640" crc="73172ed6" sha1="08fdd895bcaace7ec060fb82a4461871603c9816" offset="0"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="wndrland">
<!-- Dumped via Kryoflux, track 0 shows as modified on all disks -->
<description>Wonderland</description>
@@ -11070,17 +10766,6 @@ has been replaced with an all-zero block. -->
</part>
</software>
- <software name="wclead">
- <description>World Class Leader Board</description>
- <year>1988</year>
- <publisher>Access Software</publisher>
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size = "368640">
- <rom name="World Class Leader Board [1988] [Access Software] [5.25] [1 of 1].img" size="368640" crc="73172ed6" sha1="08fdd895bcaace7ec060fb82a4461871603c9816" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="wrathdem">
<description>Wrath of the Demon</description>
<year>1991</year>
@@ -11115,24 +10800,11 @@ has been replaced with an all-zero block. -->
</part>
</software>
- <software name="wwfmania">
- <description>WWF Wrestlemania</description>
- <year>1991</year>
- <publisher>Ocean Software</publisher>
- <info name="developer" value="Twilight" />
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size = "737280">
- <rom name="WWF Wrestlemania [Ocean] [1991] [3.5DD] [Disk 1 of 1].img" size="737280" crc="50a14bbe" sha1="173a37cffb51cda82a65acdfc7987215037c9be4" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="xenon">
- <description>Xenon (5.25")</description>
+ <description>Xenon</description>
<year>1988</year>
<publisher>Melbourne House</publisher>
<info name="developer" value="The Bitmap Brothers" />
- <info name="ported by" value="M.C. Lothlorien" />
<part name="flop1" interface="floppy_5_25">
<dataarea name="flop" size = "368640">
<rom name="Xenon [Melbourne House] [1988] [5.25DD] [Disk 1 of 2].img" size="368640" crc="4fdbb490" sha1="e2b174953e254c5bd77a7ee816748ca19d417c41" offset="0"/>
@@ -11145,31 +10817,6 @@ has been replaced with an all-zero block. -->
</part>
</software>
- <software name="xenon35" cloneof="xenon">
- <description>Xenon (16 Blitz Plus release) (3.5")</description>
- <year>1990</year>
- <publisher>Virgin Mastertronic</publisher>
- <info name="developer" value="The Bitmap Brothers" />
- <info name="ported by" value="M.C. Lothlorien" />
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size = "737280">
- <rom name="Xenon (16 Blitz Plus release) [Virgin Mastertronic] [1988] [3.5DD] [Disk 1 of 1].img" size="737280" crc="725ed8e2" sha1="f2f9a97f83f9d00493b374b1cac0940c4a5c87e2" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="xenon2">
- <description>Xenon 2: Megablast (Power Pack Compilation)</description>
- <year>1990</year>
- <publisher>Mirrorsoft</publisher>
- <info name="developer" value="The Assembly Line - The Bitmap Brothers" />
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size = "737280">
- <rom name="Xenon 2 (Power Pack Compilation) [Mirrorsoft] [1990] [3.5DD] [Disk 1 of 1].img" size="737280" crc="e11986f8" sha1="b70e62ff6af4270188f85dbd4d7bf24d4acc45b7" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="zanygolf">
<description>Zany Golf</description>
<year>1988</year>
@@ -11201,10 +10848,7 @@ has been replaced with an all-zero block. -->
<software name="zool">
<description>Zool</description>
<year>1993</year>
- <publisher>Gremlin Graphics Software</publisher>
- <info name="developer" value="Gremlin Graphics Software" />
- <info name="ported by" value="Cygnus Software" />
- <info name="version" value="10/03/93" />
+ <publisher>Gremlin Graphics</publisher>
<part name="flop1" interface="floppy_3_5">
<dataarea name="flop" size = "737280">
<rom name="Zool (1993)(Gremlin Graphics).dsk" size="737280" crc="43856c04" sha1="714f5b4d7049b98a1aca94b80a1f32bb1c9da049" offset="0"/>
@@ -11212,20 +10856,6 @@ has been replaced with an all-zero block. -->
</part>
</software>
- <software name="zoola" cloneof="zool">
- <description>Zool (Big Games release)</description>
- <year>1993</year>
- <publisher>Gremlin Graphics Software</publisher>
- <info name="developer" value="Gremlin Graphics Software" />
- <info name="ported by" value="Cygnus Software" />
- <info name="version" value="14/09/93" />
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size = "737280">
- <rom name="Zool (Big Games release) [Gremlin Graphics] [1993] [3.5DD] [Disk 1 of 1].img" size="737280" crc="249c26b1" sha1="5f7f8920efb21370a21bf3929ed6fd294afead21" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<!-- Demoscene -->
<software name="8088mph" supported="partial">
diff --git a/hash/ibm5170.xml b/hash/ibm5170.xml
index bd302853dde..f37b40869bf 100644
--- a/hash/ibm5170.xml
+++ b/hash/ibm5170.xml
@@ -8543,20 +8543,6 @@
</part>
</software>
- <software name="cischeat">
- <!-- Dumped via Kryoflux -->
- <description>Cisco Heat - All American Police Car Race</description>
- <year>1991</year>
- <publisher>Image Works</publisher>
- <info name="developer" value="Jaleco" />
- <part name="flop1" interface="floppy_3_5">
- <!-- Copy-protected key disk -->
- <dataarea name="flop" size = "2153384">
- <rom name="Cisco Heat [Image Works] [1991] [3.5DD] [Disk 1 of 1].mfm" size="2153384" crc="07c98b52" sha1="dc195a57fb7ca8289e803c4f9173d17be72518ef" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="wincr2">
<!-- converted from DDI format -->
<description>Classic Road 2</description>
@@ -9231,24 +9217,6 @@
</part>
</software>
- <software name="dstrike">
- <description>Desert Strike: Return to the Gulf</description>
- <year>1994</year>
- <publisher>Gremlin Interactive</publisher>
- <info name="developer" value="Electronic Arts" />
- <info name="ported by" value="Speedlink Communications" />
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size = "1474560">
- <rom name="Desert Strike - Return To Gulf [Gremlin Interactive] [1994] [3.5HD] [Disk 1 of 2].img" size="1474560" crc="3db7fd98" sha1="8d7f5a2bef303e8e6324ae038035e8e4375f4255" offset="0"/>
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3_5">
- <dataarea name="flop" size = "1474560">
- <rom name="Desert Strike - Return To Gulf [Gremlin Interactive] [1994] [3.5HD] [Disk 2 of 2].img" size="1474560" crc="be380f9d" sha1="c77681b251da7636f24255442ad3cae563dc7f89" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="duke">
<!-- Dumped via Kryoflux from an original disk, all tracks show as modified - most likely not professionally duplicated -->
<!-- from a registered version ordered circa 2004 -->
@@ -10001,7 +9969,7 @@
<software name="hook">
<description>Hook</description>
<year>1992</year>
- <publisher>Ocean Software</publisher>
+ <publisher>Ocean Software Ltd.</publisher>
<part name="flop1" interface="floppy_3_5">
<dataarea name="flop" size="737280">
<rom name="disk1.img" size="737280" crc="95e41749" sha1="4a319888e029ea2ba9bd748b74163865dd560843" offset="0" />
@@ -10281,7 +10249,7 @@
<software name="indycar">
<description>IndyCar Racing</description>
<year>1993</year>
- <publisher>Papyrus Publishing</publisher>
+ <publisher>Papyrus Publishing Inc.</publisher>
<info name="version" value="1.02" />
<part name="flop1" interface="floppy_3_5">
<dataarea name="flop" size="1474560">
@@ -10476,49 +10444,6 @@
</part>
</software>
- <software name="lemmings">
- <!-- Dumped via Kryoflux -->
- <description>Lemmings</description>
- <year>1991</year>
- <publisher>Psygnosis</publisher>
- <info name="developer" value="DMA Design" />
- <part name="flop1" interface="floppy_3_5">
- <!-- Copy-protected key disk -->
- <dataarea name="flop" size = "2181136">
- <rom name="Lemmings [Psygnosis] [1991] [3.5DD] [Disk 1 of 1].mfm" size="2181136" crc="82b47a9b" sha1="7f0912d798c97a56ac8eea1f87caa20cc2044b94" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="lemming3">
- <description>All New World Of Lemmings</description>
- <year>1994</year>
- <publisher>Psygnosis</publisher>
- <info name="developer" value="DMA Design" />
- <info name="version" value="v1.53" />
- <info name="usage" value="Mouse and EMS Memory required" />
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size = "1474560">
- <rom name="All New World Of Lemmings [Psygnosis] [1994] [3.5HD] [Disk 1 of 4].img" size="1474560" crc="23259f9a" sha1="1d1b5e21d0bd9089ba0ac41be7ca1b3ffecf15af" offset="0"/>
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3_5">
- <dataarea name="flop" size = "1474560">
- <rom name="All New World Of Lemmings [Psygnosis] [1994] [3.5HD] [Disk 2 of 4].img" size="1474560" crc="3826e140" sha1="b33476065013e26315bd66c33abaa301d7f6edea" offset="0"/>
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_3_5">
- <dataarea name="flop" size = "1474560">
- <rom name="All New World Of Lemmings [Psygnosis] [1994] [3.5HD] [Disk 3 of 4].img" size="1474560" crc="d9c345b4" sha1="b0645535d12920edb2b3c918d1fe19a0e7458366" offset="0"/>
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_3_5">
- <dataarea name="flop" size = "1474560">
- <rom name="All New World Of Lemmings [Psygnosis] [1994] [3.5HD] [Disk 4 of 4].img" size="1474560" crc="96cf7c5d" sha1="a02d03b959b2c54ae1f1fbaf7e628b30812a56fb" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="lightspd">
<description>Lightspeed</description>
<year>1990</year>
@@ -10782,46 +10707,6 @@
</part>
</software>
- <software name="micromac">
- <description>Micro Machines</description>
- <year>1994</year>
- <publisher>Codemasters</publisher>
- <info name="developer" value="Codemasters" />
- <info name="ported by" value="The Big Red Software" />
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size = "737280">
- <rom name="Micro Machines [Codemasters] [1994] [3.5DD] [Disk 1 of 1].img" size="737280" crc="3bc676f8" sha1="da941c58f12b7e07b19356716bf5f028106488f5" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="micromc2">
- <description>Micro Machines 2: Turbo Tournament</description>
- <year>1995</year>
- <publisher>Codemasters</publisher>
- <info name="developer" value="Supersonic Software" />
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size = "1474560">
- <rom name="Micro Machines 2 [Codemasters] [1995] [3.5HD] [Disk 1 of 4].img" size="1474560" crc="0e75c5ae" sha1="5f0ba1fd58323c129b250225de7b99d5215f88b1" offset="0"/>
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3_5">
- <dataarea name="flop" size = "1474560">
- <rom name="Micro Machines 2 [Codemasters] [1995] [3.5HD] [Disk 2 of 4].img" size="1474560" crc="89887dc2" sha1="2c697a24ccc34766e8d809460494000c73b9cf62" offset="0"/>
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_3_5">
- <dataarea name="flop" size = "1474560">
- <rom name="Micro Machines 2 [Codemasters] [1995] [3.5HD] [Disk 3 of 4].img" size="1474560" crc="38daef7b" sha1="ba5cc6fe2b767740010e9878d5a2f26d66e8ab78" offset="0"/>
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_3_5">
- <dataarea name="flop" size = "1474560">
- <rom name="Micro Machines 2 [Codemasters] [1995] [3.5HD] [Disk 4 of 4].img" size="1474560" crc="242de9de" sha1="64b552300f3cdb5d5ff73f7e6ca71bda34fa5d32" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="msroa">
<description>Microsoft Return of Arcade</description>
<year>1996</year>
@@ -11349,35 +11234,6 @@
</part>
</software>
- <software name="monkeyit" cloneof="monkeyk">
- <description>The Secret of Monkey Island (Italian)</description>
- <year>1991</year>
- <publisher>Lucasfilm Games</publisher>
- <info name="developer" value="Lucasfilm Games" />
- <info name="distributor" value="CTO Software" />
- <info name="version" value="(VGA) Italian 1.0, 24 May 1991" />
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size = "1474560">
- <rom name="The Secret of Monkey Island (Italian) [Lucasfilm Games] [1991] [3.5HD] [Disk 1 of 4].img" size="1474560" crc="855256e3" sha1="045f3698543055e11ce6dd570f39e7233feca51a" offset="0"/>
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3_5">
- <dataarea name="flop" size = "1474560">
- <rom name="The Secret of Monkey Island (Italian) [Lucasfilm Games] [1991] [3.5HD] [Disk 2 of 4].img" size="1474560" crc="56320b7b" sha1="e4c6ac3d5409b4b2d6a397d96a45c0c40b558c5f" offset="0"/>
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_3_5">
- <dataarea name="flop" size = "1474560">
- <rom name="The Secret of Monkey Island (Italian) [Lucasfilm Games] [1991] [3.5HD] [Disk 3 of 4].img" size="1474560" crc="456bfda5" sha1="14f1075199e39f9a033c073ba4dbed85c8937ebf" offset="0"/>
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_3_5">
- <dataarea name="flop" size = "1474560">
- <rom name="The Secret of Monkey Island (Italian) [Lucasfilm Games] [1991] [3.5HD] [Disk 4 of 4].img" size="1474560" crc="2aab0101" sha1="689d2958ec39ab1dbdee508c66b4d8aedde71126" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="sserv2">
<!-- Dumped via Kryoflux, shows as good and unmodified -->
<description>Silent Service II (Version 457.01)</description>
@@ -11900,34 +11756,6 @@
</part>
</software>
- <software name="ubodyblw">
- <description>Ultimate Body Blows</description>
- <year>1994</year>
- <publisher>Team 17</publisher>
- <info name="developer" value="Team 17" />
- <info name="ported by" value="WJS Design" />
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size = "1474560">
- <rom name="Ultimate Body Blows [Team 17] [1994] [3.5HD] [Disk 1 of 4].img" size="1474560" crc="d6e03514" sha1="ce3d33e595eb674fae73f446bf0c352a59f5cf2a" offset="0"/>
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3_5">
- <dataarea name="flop" size = "1474560">
- <rom name="Ultimate Body Blows [Team 17] [1994] [3.5HD] [Disk 2 of 4].img" size="1474560" crc="1a71cc01" sha1="aa8f3c528937cf1277f14bd1cb2ba5ba328703d6" offset="0"/>
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_3_5">
- <dataarea name="flop" size = "1474560">
- <rom name="Ultimate Body Blows [Team 17] [1994] [3.5HD] [Disk 3 of 4].img" size="1474560" crc="d2f52bf8" sha1="6fc50f366bd74b96d4ab599a94e5aec7526ed160" offset="0"/>
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_3_5">
- <dataarea name="flop" size = "1474560">
- <rom name="Ultimate Body Blows [Team 17] [1994] [3.5HD] [Disk 4 of 4].img" size="1474560" crc="69452b37" sha1="656f7012ec9027dfe80b228bda9db003a544619b" offset="0"/>
- </dataarea>
- </part>
- </software>
-
<software name="vanslug">
<!-- Marked as bad, could do with another dump to make sure it's correct-->
<description>Vanslug: X Mission - The Way of Super Warrior</description>
diff --git a/hash/icanguit.xml b/hash/icanguit.xml
deleted file mode 100644
index fef0e969bf3..00000000000
--- a/hash/icanguit.xml
+++ /dev/null
@@ -1,101 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
-
-<!--
- Known cartridges (*=dumped) (#=sourced)
-
- *Guitar Favorites (K7357)
- #Barbie Guitar Party
- #Rock 101
- *Hot Wheels Road Tunes (K9902)
- *Spongebob Squarepants Surf's Up (K9903)
- *Nashville Hits (K9905)
- *American Idol Guitar Greats (K9907)
-
- (were there any more?)
-
- cartridge pinout (not identical to I Can Play Piano)
-
- 1 ground 2 ground
- 3 A0 4 A1
- 5 A2 6 A3
- 7 A4 8 A5
- 9 A6 10 A7
- 11 A17 12 A18
- 13 A21 14 A20
- 15 A19 16 A8
- 17 A9 18 A10
- 19 A11 20 A12
- 21 A13 22 A14
- 23 A15 24 A16
- 25 /CE 26 ground
- 27 ground 28 /OE
- 29 D15 30 D7
- 31 D14 32 D6
- 33 D13 34 D5
- 35 D12 36 D4
- 37 Vcc 38 Vcc
- 39 D11 40 D3
- 41 D10 42 D2
- 43 D9 44 D1
- 45 D8 46 D0
- 47 ground 48 Gnd
-
--->
-
-<softwarelist name="icanguit" description="Fisher-Price / Mattel I Can Play Guitar cartridges">
- <software name="guitfav" supported="no">
- <description>Guitar Favorites (K7357)</description>
- <year>2007</year>
- <publisher>Fisher-Price / Mattel</publisher>
- <part name="cart" interface="icanguit_cart">
- <dataarea name="rom" size="0x800000">
- <rom name="icanplayguitar_guitarfavorites.bin" size="0x800000" crc="c804822e" sha1="81e10a033355f4ba4be23a6741bd9d81c5627544" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="ggreats" supported="no">
- <description>American Idol - Guitar Greats (K9907)</description>
- <year>2007</year>
- <publisher>Fisher-Price / Mattel</publisher>
- <part name="cart" interface="icanguit_cart">
- <dataarea name="rom" size="0x800000">
- <rom name="icpgguitargreats.bin" size="0x800000" crc="5a4daf19" sha1="4f673c39fe95399ebfd02257c7b6b80ec44ed14f" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="surfsup" supported="no">
- <description>SpongeBob SquarePants - Surf's Up (K9903)</description>
- <year>2007</year>
- <publisher>Fisher-Price / Mattel</publisher>
- <part name="cart" interface="icanguit_cart">
- <dataarea name="rom" size="0x800000">
- <rom name="icpgsurfsup.bin" size="0x800000" crc="c6ead0fd" sha1="f49ec1cf28e960dd5a253482e74978b67d92f652" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="roadtune" supported="no">
- <description>Hot Wheels - Road Tunes (K9902)</description>
- <year>2007</year>
- <publisher>Fisher-Price / Mattel</publisher>
- <part name="cart" interface="icanguit_cart">
- <dataarea name="rom" size="0x800000">
- <rom name="icpgroadtunes.bin" size="0x800000" crc="d2c4da6b" sha1="28cb2ea079e4a4885523ef94999342365316ef12" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="nashhits" supported="no">
- <description>Nashville Hits (K9905)</description>
- <year>2007</year>
- <publisher>Fisher-Price / Mattel</publisher>
- <part name="cart" interface="icanguit_cart">
- <dataarea name="rom" size="0x800000">
- <rom name="icpgnashvillehits.bin" size="0x800000" crc="b3615978" sha1="9c8d5c085feb55ed18d118d4dd7b9ff72872f3bc" offset="0" />
- </dataarea>
- </part>
- </software>
-</softwarelist>
diff --git a/hash/icanpian.xml b/hash/icanpian.xml
deleted file mode 100644
index ff143a83a55..00000000000
--- a/hash/icanpian.xml
+++ /dev/null
@@ -1,129 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
-
-<!--
- Known cartridges (*=dumped) (#=sourced)
-
- *Piano Favourites (J7522)
- *Jammin Jungle Safari (Disney The Lion King, Disney The Jungle Book, Disney Tarzan) (K4653)
- *Jungle Boogie (J7524)
- *Scooby-Doo! Monster Mayhem (J7525)
- *Rockin' Dance Party (J8715)
- *Nicktoons Show Tunes (J7527)
- *Disney Princess Magical Melodies (K4656)
- #Barbie Princess Enchanted Sounds
- #Pop Hits
- #Dora the Explorer Musical Adventure
- #American Idol - Take The Stage
- #Holiday Wonderland
- #The Wizard of Oz - We're Off to Play the Piano
-
- (were there any more?)
-
- cartridge pinout (not identical to I Can Play Guitar)
-
- 1 ground 2 ground
- 3 A1 4 A0
- 5 A3 6 A2
- 7 A5 8 A4
- 9 A7 10 A6
- 11 A18 12 A17
- 13 A20 14 A21
- 15 A8 16 A19
- 17 A10 18 A9
- 19 A12 20 A11
- 21 A14 22 A13
- 23 A16 24 A15
- 25 /OE 26 Vcc
- 27 /CS 28 RW
- 29 Res 30 R7
- 31 D7 32 D15
- 33 D6 34 D14
- 35 D5 36 D13
- 37 D4 38 D12
- 39 D3 40 D11
- 41 D2 42 D10
- 43 D1 44 D9
- 45 D0 46 D8
- 47 ground 48 Gnd
--->
-
-<softwarelist name="icanpian" description="Fisher-Price / Mattel I Can Play Piano cartridges">
- <software name="pianfav">
- <description>Piano Favorites (J7522)</description>
- <year>2005</year>
- <publisher>Fisher-Price / Mattel</publisher>
- <part name="cart" interface="icanpian_cart">
- <dataarea name="rom" size="0x800000">
- <rom name="icpppianofavorites.bin" size="0x800000" crc="cca31d78" sha1="4724df29c008e9518345ec4fc77288b7ec138c29" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="dpmagic">
- <description>Disney Princess Magical Melodies (K4656)</description>
- <year>2005</year>
- <publisher>Fisher-Price / Mattel</publisher>
- <part name="cart" interface="icanpian_cart">
- <dataarea name="rom" size="0x800000">
- <rom name="icppmagicalmelodies.bin" size="0x800000" crc="c5f4c7eb" sha1="d47feebba010c498cd11cd6019df6c7680840ee5" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="jungboog">
- <description>Jungle Boogie (J7524)</description>
- <year>2005</year>
- <publisher>Fisher-Price / Mattel</publisher>
- <part name="cart" interface="icanpian_cart">
- <dataarea name="rom" size="0x800000">
- <rom name="icppjungleboogie.bin" size="0x800000" crc="632ab0a3" sha1="ec8b56cc0eaec0ac31f7c224167449e691c07bc6" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="scoobymm">
- <description>Scooby-Doo! Monster Mayhem (J7525)</description>
- <year>2005</year>
- <publisher>Fisher-Price / Mattel</publisher>
- <part name="cart" interface="icanpian_cart">
- <dataarea name="rom" size="0x800000">
- <rom name="icppscoobydoomonstermayhem.bin" size="0x800000" crc="e16c715e" sha1="3f6322ea9404b87620d924f0c0b0ad405f50f674" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="jjs">
- <description>Jammin' Jungle Safari (Disney's The Lion King, Jungle Book, Tarzan) (K4653)</description> <!-- Tarzan is shown on the cart, but none of the songs are from it? -->
- <year>2005</year>
- <publisher>Fisher-Price / Mattel</publisher>
- <part name="cart" interface="icanpian_cart">
- <dataarea name="rom" size="0x800000">
- <rom name="icppjamminjunglesafari.bin" size="0x800000" crc="6408abb6" sha1="9c9c050e919222a80369d2a116a85db6cc4d7acb" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="showtune">
- <description>Nicktoons Show Tunes (J7527)</description>
- <year>2005</year>
- <publisher>Fisher-Price / Mattel</publisher>
- <part name="cart" interface="icanpian_cart">
- <dataarea name="rom" size="0x800000">
- <rom name="icppshowtunes.bin" size="0x800000" crc="c95836fd" sha1="c07b500f241fc6b3a3302b580794bb2eb86977c7" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="rdp">
- <description>Rockin' Dance Party (J8715)</description>
- <year>2005</year>
- <publisher>Fisher-Price / Mattel</publisher>
- <part name="cart" interface="icanpian_cart">
- <dataarea name="rom" size="0x800000">
- <rom name="icpprockindanceparty.bin" size="0x800000" crc="00d597d3" sha1="603c8d9d11f5e1d075a1b524e99b581d859b43ba" offset="0" />
- </dataarea>
- </part>
- </software>
-
-</softwarelist>
diff --git a/hash/intellect02.xml b/hash/intellect02.xml
deleted file mode 100644
index 7868afb4859..00000000000
--- a/hash/intellect02.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
-
-<softwarelist name="intellect02" description="Intellect-02 Cartridges">
-
-<!-- Intellect-02 Cartridges -->
-
- <software name="chess">
- <description>Chess</description>
- <year>1985</year>
- <publisher>BREA Research Institute</publisher>
- <part name="cart" interface="intellect02">
- <dataarea name="rom" size="0x2000">
- <rom name="chess.bin" size="0x2000" crc="81691aac" sha1="2f358fd8f1f1b0d886a728155a01ce61f0d6c39b" offset="0x0000" />
- </dataarea>
- </part>
- </software>
-
-</softwarelist>
diff --git a/hash/jakks_gamekey_dp.xml b/hash/jakks_gamekey_dp.xml
deleted file mode 100644
index 7c7ae5537b6..00000000000
--- a/hash/jakks_gamekey_dp.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
-<softwarelist name="jakks_gamekey_dp" description="JAKKS Pacific 'DP' Game Keys">
-
- <!-- This list is for the 'DP' coded Game Keys, for Disney Princess -->
-
- <software name="snowwhit">
- <description>Snow White and the Seven Dwarfs - Memory Chase &amp; Rescue Race</description>
- <year>2005</year>
- <publisher>JAKKS Pacific / Taniko</publisher>
- <part name="cart" interface="jakks_gamekey">
- <dataarea name="rom" size="0x800000">
- <rom name="jakksdisneyprincessmemorychaserescueracegk.bin" size="0x200000" crc="affca84b" sha1="f3b3a4c2db48c2c93cd616db18094470ec070068" offset="0" />
- </dataarea>
- </part>
- </software>
-
-</softwarelist>
diff --git a/hash/jakks_gamekey_dy.xml b/hash/jakks_gamekey_dy.xml
deleted file mode 100644
index 8c56de36769..00000000000
--- a/hash/jakks_gamekey_dy.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
-<softwarelist name="jakks_gamekey_dy" description="JAKKS Pacific 'DY' Game Keys">
-
- <!-- This list is for the 'DY' coded Game Keys, for Disney base systems (not Disney Princess) -->
-
- <!-- One of them doesn't use the /OE signal from the game, and has 16 10K resistors tying the data lines high.
- Silkscreened onto both PCBs is the text A1 A2 A3 A4 with 2 boxes next to each with H and L. Both PCBs are marked A1 H A3 L. -->
-
- <software name="sbwlgoof" supported="no"> <!-- AT24C04 SEEPROM -->
- <description>Sports Bowling &amp; Goofy's Underwater Adventure (V1.31 - JUN 15 2005)</description>
- <year>2005</year>
- <publisher>JAKKS Pacific / HotGen Ltd</publisher>
- <part name="cart" interface="jakks_gamekey">
- <feature name="slot" value="rom_24lc04"/>
- <dataarea name="rom" size="0x800000">
- <rom name="dy_disneygkbowlinggoofy.bin" size="0x200000" crc="d2147aa4" sha1="0db986aac68868a2ff4936e93178da8c592ac81d" offset="0" />
- <rom size="0x200000" offset="0x200000" loadflag="reload" />
- <rom size="0x200000" offset="0x400000" loadflag="reload" />
- <rom size="0x200000" offset="0x600000" loadflag="reload" />
- </dataarea>
- </part>
- </software>
-
- <software name="stenfchs" supported="no"> <!-- AT24C04 SEEPROM -->
- <description>Sports Tennis &amp; Face Chase (15 JUN 2005 C)</description>
- <year>2005</year>
- <publisher>JAKKS Pacific / HotGen Ltd</publisher>
- <part name="cart" interface="jakks_gamekey">
- <feature name="slot" value="rom_24lc04"/>
- <dataarea name="rom" size="0x800000">
- <rom name="dy_disneygktennisfacechase.bin" size="0x200000" crc="ba37ccf2" sha1="c7204a0499b6949f3f70f0f5c042d353435406fb" offset="0" />
- <rom size="0x200000" offset="0x200000" loadflag="reload" />
- <rom size="0x200000" offset="0x400000" loadflag="reload" />
- <rom size="0x200000" offset="0x600000" loadflag="reload" />
- </dataarea>
- </part>
- </software>
-
- <software name="stenfcha" supported="no"> <!-- AT24C04 SEEPROM -->
- <description>Sports Tennis &amp; Face Chase &amp; Riches of Agrabah (15 JUN 2005 A)</description>
- <year>2005</year>
- <publisher>JAKKS Pacific / HotGen Ltd</publisher>
- <part name="cart" interface="jakks_gamekey">
- <feature name="slot" value="rom_24lc04"/>
- <dataarea name="rom" size="0x800000">
- <rom name="disneygktennisfaceagrabah.bin" size="0x200000" crc="f3fd0759" sha1="1272e7e34acfce5dbe55b39bff888f5dd16c63f9" offset="0" />
- <rom size="0x200000" offset="0x200000" loadflag="reload" />
- <rom size="0x200000" offset="0x400000" loadflag="reload" />
- <rom size="0x200000" offset="0x600000" loadflag="reload" />
- </dataarea>
- </part>
- </software>
-
-</softwarelist>
diff --git a/hash/jakks_gamekey_mv.xml b/hash/jakks_gamekey_mv.xml
deleted file mode 100644
index 7ea23bc8a2e..00000000000
--- a/hash/jakks_gamekey_mv.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
-<softwarelist name="jakks_gamekey_mv" description="JAKKS Pacific 'MV' Game Keys">
-
- <!-- This list is for the 'MV' coded Game Keys, for Marvel (Spider-Man) -->
-
- <software name="bcatdoc">
- <description>Black Cat &amp; Doc Ock</description>
- <year>2005</year>
- <publisher>JAKKS Pacific / Digital Eclipse</publisher>
- <part name="cart" interface="jakks_gamekey">
- <feature name="slot" value="rom_24lc04"/>
- <dataarea name="rom" size="0x800000">
- <rom name="jakksspidermanblackcatdocockgk.bin" size="0x200000" crc="34645c17" sha1="0112a0c16350ac02204486492d8cae7b7df5e011" offset="0" />
- </dataarea>
- </part>
- </software>
-
-</softwarelist>
diff --git a/hash/jakks_gamekey_nk.xml b/hash/jakks_gamekey_nk.xml
deleted file mode 100644
index 1adcb5f43b4..00000000000
--- a/hash/jakks_gamekey_nk.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
-<softwarelist name="jakks_gamekey_nk" description="JAKKS Pacific 'NK' Game Keys">
-
- <!-- This list is for the 'NK' coded Game Keys, for Nicktoons and related systems -->
-
- <software name="dora">
- <description>Soccer Shootout &amp; Juego De Futbol De Dora &amp; Dora's Star Mountain Adventure</description>
- <year>2005</year>
- <publisher>JAKKS Pacific / Handheld Games</publisher>
- <part name="cart" interface="jakks_gamekey">
- <dataarea name="rom" size="0x800000">
- <rom name="nk_dora.bin" size="0x200000" crc="2bcdf9a5" sha1="ac86d967b269cb8c4ecc9c8b99fb5c16424da7be" offset="0" />
- <rom size="0x200000" offset="0x200000" loadflag="reload" />
- <rom size="0x200000" offset="0x400000" loadflag="reload" />
- <rom size="0x200000" offset="0x600000" loadflag="reload" />
- </dataarea>
- </part>
- </software>
-
- <software name="volbird">
- <description>Nicktoons Vollyball &amp; Birdie Putt</description>
- <year>2005</year>
- <publisher>JAKKS Pacific / Handheld Games</publisher>
- <part name="cart" interface="jakks_gamekey">
- <feature name="slot" value="rom_24lc04"/>
- <dataarea name="rom" size="0x800000">
- <rom name="nicktoonsgkvolleyballbirdie.bin" size="0x200000" crc="7eccb308" sha1="bf7f7ff752ea2652ad099d26e53dade4e4f9e9a1" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="popsnow">
- <description>Spongebob Sponge Pop &amp; Snowball Showdown (15 AUGUST 2005 D)</description>
- <year>2005</year>
- <publisher>JAKKS Pacific / HotGen Ltd</publisher>
- <part name="cart" interface="jakks_gamekey">
- <feature name="slot" value="rom_24lc04"/>
- <dataarea name="rom" size="0x800000">
- <rom name="spongebobgkpopsnowball.bin" size="0x200000" crc="8194baeb" sha1="cac7c6989696dc52088013d198314993d72f3c74" offset="0" />
- </dataarea>
- </part>
- </software>
-
-</softwarelist>
diff --git a/hash/jakks_gamekey_nm.xml b/hash/jakks_gamekey_nm.xml
deleted file mode 100644
index a01ca1fbef6..00000000000
--- a/hash/jakks_gamekey_nm.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
-<softwarelist name="jakks_gamekey_nm" description="JAKKS Pacific 'NM' Game Keys">
-
- <!-- This list is for the 'NM' coded Game Keys, for Namco base systems (MS Pacman) -->
- <!-- for test mode, hold UP, press A, press DOWN -->
- <software name="nrxdig"> <!-- has SEEPROM -->
- <description>New Rally X &amp; Dig Dug (01 APR 2005 A SKU E)</description>
- <year>2005</year>
- <publisher>JAKKS Pacific Inc / Namco / HotGen Ltd</publisher>
- <part name="cart" interface="jakks_gamekey">
- <feature name="slot" value="rom_24lc04"/>
- <dataarea name="rom" size="0x800000">
- <rom name="jakksdigdugnewrallyxgk.bin" size="0x100000" crc="2a0e958a" sha1="2e09d87a8fdf115f13aaa8fd2c48f9eaf3c82bac" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="pacbosrx"> <!-- has SEEPROM -->
- <description>Pac-Man &amp; Bosconian &amp; Rally X (11 JUL 2005 A SKU I)</description>
- <year>2005</year>
- <publisher>JAKKS Pacific Inc / Namco / HotGen Ltd</publisher>
- <part name="cart" interface="jakks_gamekey">
- <feature name="slot" value="rom_24lc04"/>
- <dataarea name="rom" size="0x800000">
- <rom name="jakksnamcopacmanbosconianrallyxgk.bin" size="0x100000" crc="751f0268" sha1="2fe374650b74924c439477605373df5a47072f41" offset="0" />
- </dataarea>
- </part>
- </software>
-
-</softwarelist>
diff --git a/hash/jakks_gamekey_sw.xml b/hash/jakks_gamekey_sw.xml
deleted file mode 100644
index 9b1fcc06ba2..00000000000
--- a/hash/jakks_gamekey_sw.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
-<softwarelist name="jakks_gamekey_sw" description="JAKKS Pacific 'SW' Game Keys">
-
- <!-- This list is for the 'SW' coded Game Keys, for Star Wars base systems -->
-
- <!-- There are 4 pads on the PCB labeled A0 A1 A2 and A3. A1 and A2 are connected to VCC.
- The gamekey PCB had the same silkscreened boxes as the Disney Games, with A1 H and A3 H marked. -->
-
- <software name="tdyoda" supported="yes">
- <description>Turret Defense &amp; Yoda's Escape</description>
- <year>2005</year>
- <publisher>JAKKS Pacific / Griptonite Games</publisher>
- <part name="cart" interface="jakks_gamekey">
- <feature name="slot" value="rom_24lc04"/>
- <dataarea name="rom" size="0x800000">
- <rom name="jakksswgkyodaturret.bin" size="0x200000" crc="78f663f6" sha1="375763e6b6ccf290d9a37f0d849f72bea7b25722" offset="0" />
- <rom size="0x200000" offset="0x200000" loadflag="reload" />
- <rom size="0x200000" offset="0x400000" loadflag="reload" />
- <rom size="0x200000" offset="0x600000" loadflag="reload" />
- </dataarea>
- </part>
- </software>
-
-</softwarelist>
diff --git a/hash/jpopira_jp.xml b/hash/jpopira_jp.xml
deleted file mode 100644
index 8e2d26067a8..00000000000
--- a/hash/jpopira_jp.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
-<softwarelist name="jpopira_jp" description="Takara Jumping Popira (Japan) JP-xx series cartridges">
- <!-- cartridges contain the ROM only, the XaviX CPU and BIOS are in the base unit
-
- ***********************************************************************************
-
- Japanese cart listing (by JP code) * = dumped
-
- A secondary 4-digit naming scheme JPxxxx (no extension) appears on a sticker on the cartridge PCB only
-
- These are for use with Jumping Popira ONLY (form factor is the same as e-Kara cartridges)
-
- *JP-01 'Jumping Popira' JP-1
- *JP-02 'Jumping Popira' JP-2
-
- (more? what's the highest JP number?)
-
- -->
-
- <software name="jp01" supported="no">
- <description>JP-01 (Japan)</description>
- <year>2004</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <feature name="slot" value="rom_24lc04"/>
- <dataarea name="rom" size="0x200000">
- <rom name="jp1.bin" size="0x200000" crc="106544c5" sha1="1bff363ce13c0eaf344a8f36ed004c78e0ddd007" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="jp02" supported="no">
- <description>JP-02 (Japan)</description>
- <year>2004</year>
- <publisher>Takara</publisher>
- <part name="cart" interface="ekara_cart">
- <feature name="slot" value="rom_24lc04"/>
- <dataarea name="rom" size="0x200000">
- <rom name="jp2.bin" size="0x200000" crc="f66d8ee8" sha1="3624c89197b1579fc60d5c40ff30bca248428a6c" offset="0" />
- </dataarea>
- </part>
- </software>
-
-</softwarelist>
diff --git a/hash/k28m2.xml b/hash/k28m2.xml
index 39cabe26c5e..1d4a0bce5a8 100644
--- a/hash/k28m2.xml
+++ b/hash/k28m2.xml
@@ -59,7 +59,7 @@
<info name="serial" value="CM62218"/>
<part name="cart" interface="k28m2">
<dataarea name="rom" size="0x4000">
- <rom name="cm62218.vsm" size="0x4000" crc="x" sha1="x" offset="0" />
+ <rom name="cm62217.vsm" size="0x4000" crc="x" sha1="x" offset="0" />
</dataarea>
</part>
</software>
diff --git a/hash/leapfrog_leappad_cart.xml b/hash/leapfrog_leappad_cart.xml
deleted file mode 100644
index 762856be5f5..00000000000
--- a/hash/leapfrog_leappad_cart.xml
+++ /dev/null
@@ -1,674 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
-<softwarelist name="leapfrog_leappad_cart" description="LeapFrog LeapPad cartridges">
-
- <software name="hititmstro" supported="no">
- <description>Music - Hit it, Maestro! (UK)</description>
- <year>2001</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-00090 RVB"/>
- <part name="cart" interface="leapfrog_leappad_cart">
- <feature name="u1" value="MX23L3211B"/> <!-- ROM on epoxy blob, but type silkscreened on the PCB -->
- <dataarea name="rom" size="0x400000">
- <rom name="500-00090 RVB - Music - Hit it, Maestro!.bin" size="0x400000" crc="a2770684" sha1="4f389c6dbcd3ff2a647a6d18df86c472444074e4" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="tadshop" supported="no">
- <description>Pre Math - Tad goes shopping (UK)</description>
- <year>2001</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-00104"/>
- <part name="cart" interface="leapfrog_leappad_cart">
- <feature name="u1" value="MR27V1602E"/> <!-- ROM on epoxy blob, but type silkscreened on the PCB -->
- <dataarea name="rom" size="0x200000">
- <rom name="500-00104 - Pre Math - Tad goes shopping.bin" size="0x200000" crc="3535938c" sha1="77f32751db017c7980eacec48119c877314638d7" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="goosesng" supported="no">
- <description>Music - Mother Goose Songbook (UK)</description>
- <year>2001</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-00250"/>
- <part name="cart" interface="leapfrog_leappad_cart">
- <feature name="u1" value="LeapFrog 2000 16Mb DIE ROM"/> <!-- ROM on epoxy blob, but type silkscreened on the PCB -->
- <dataarea name="rom" size="0x200000">
- <rom name="500-00250 - Music - Mother Goose Songbook.bin" size="0x200000" crc="dcd2170b" sha1="f3d89f764d1b61a0085974ed3ca91dc3d20d36a4" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="mathgdbr" supported="no">
- <description>Leap 2 - Math - The Great Dune Buggy Race (UK)</description>
- <year>2001</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-00254"/>
- <part name="cart" interface="leapfrog_leappad_cart">
- <feature name="pcb" value="57000-003-2612"/>
- <feature name="pcb_rev" value="REV.01"/>
- <feature name="u1" value="Sunplus16m-b"/> <!-- ROM on epoxy blob, but type silkscreened on the PCB -->
- <dataarea name="rom" size="0x200000">
- <rom name="500-00254 - Leap 2 - Math - The Great Dune Buggy Race.bin" size="0x200000" crc="ad5c8d3b" sha1="78b1e206bfe17ec19042b2304d67bd2289b53c1e" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="tiggerbnc" supported="no">
- <description>Reading - Disney's Bounce, Tigger, Bounce (UK)</description>
- <year>2001</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-00258"/>
- <part name="cart" interface="leapfrog_leappad_cart">
- <feature name="u1" value="LeapFrog 2000 16Mb DIE ROM"/> <!-- ROM on epoxy blob, but type silkscreened on the PCB -->
- <dataarea name="rom" size="0x200000">
- <rom name="500-00258 - Reading - Bounce, Tigger, Bounce.bin" size="0x200000" crc="73b7d409" sha1="0ef5d716be974329d5b4dff936599825d2e76570" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="rsblwbe" supported="no">
- <description>Vocabulary - Richard Scarry's Best Little Word Book Ever! (UK)</description>
- <year>2001</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-00260"/>
- <part name="cart" interface="leapfrog_leappad_cart">
- <feature name="u1" value="LeapFrog 2000 8Mb DIE ROM"/> <!-- ROM on epoxy blob, but type silkscreened on the PCB -->
- <dataarea name="rom" size="0x100000">
- <rom name="500-00260 - Vocabulary - Richard Scarry's Best Little Word Book Ever!.bin" size="0x100000" crc="8797ae77" sha1="fa24e718287a0e15f4ae3b371e9ee73c590abaf5" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="compwords" supported="no">
- <description>Phonics Program - Lesson 10 - Compound Words - A Fisherman's Tale (UK)</description>
- <year>2003</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-00527"/>
- <part name="cart" interface="leapfrog_leappad_cart">
- <feature name="pcb" value="57000-003-7011"/>
- <feature name="pcb_rev" value="REV.01"/>
- <feature name="u1" value="Matronix 16M"/> <!-- ROM on epoxy blob, but type silkscreened on the PCB -->
- <dataarea name="rom" size="0x200000">
- <rom name="500-00527 - Phonics Program - Lesson 10 - Compound Words - A Fisherman's Tale.bin" size="0x200000" crc="626a2a85" sha1="97af4f353fd533002269297aaafb7fcd7fab01d4" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="thomasrue" supported="no">
- <description>Pre Reading - Thomas the Really Useful Engine (UK)</description>
- <year>2002</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-00531"/>
- <part name="cart" interface="leapfrog_leappad_cart">
- <feature name="u1" value="MR27V1602E"/> <!-- ROM on epoxy blob, but type silkscreened on the PCB -->
- <dataarea name="rom" size="0x200000">
- <rom name="500-00531 - Pre Reading - Thomas the Really Useful Engine.bin" size="0x200000" crc="8122325d" sha1="f76b2e6c4d56fd8616c90bf86d720f267724723e" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="smartguid3" supported="no">
- <description>FUN-damentals Series - Smart Guide to 3rd Grade (UK)</description>
- <year>2002</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-00533"/>
- <part name="cart" interface="leapfrog_leappad_cart">
- <feature name="pcb_rev" value="REV.A"/>
- <feature name="u1" value="LeapFrog 2002 32M DIE ROM"/> <!-- ROM on epoxy blob, but type silkscreened on the PCB -->
- <dataarea name="rom" size="0x400000">
- <rom name="500-00533 - FUN-damentals Series - Smart Guide to 3rd Grade.bin" size="0x400000" crc="344bbc10" sha1="c04d3f68e9e2e56d1b0ae4785732c60ffc17215a" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="smartguid5" supported="no">
- <description>FUN-damentals Series - Smart Guide to 5th Grade (UK)</description>
- <year>2002</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-00535"/>
- <part name="cart" interface="leapfrog_leappad_cart">
- <feature name="pcb_rev" value="REV.A"/>
- <feature name="u1" value="LeapFrog 2002 32M DIE ROM"/> <!-- ROM on epoxy blob, but type silkscreened on the PCB -->
- <dataarea name="rom" size="0x400000">
- <rom name="500-00535 - FUN-damentals Series - Smart Guide to 5th Grade.bin" size="0x400000" crc="e2c74ace" sha1="f1291e9c845bc5dfc8b1e2a1ab650a69b9f22287" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="dinobdark" supported="no">
- <description>- Great Reader Series - Dinosaurs Before Dark (UK)</description>
- <year>2002</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-00696"/>
- <part name="cart" interface="leapfrog_leappad_cart">
- <feature name="pcb" value="PCBC FR4A"/>
- <feature name="u1" value="MR27V3202E"/> <!-- ROM on epoxy blob, but type silkscreened on the PCB -->
- <dataarea name="rom" size="0x400000">
- <rom name="500-00696 - Great Reader Series - Dinosaurs Before Dark.bin" size="0x400000" crc="c4acf022" sha1="96e2b42f7c092b98fdad6aa36320dadc6c6a6ff8" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <!-- Same ROM as 500-00263 - Phonics - Leap's Friends From A to Z -->
- <software name="prlpfrnds" supported="no">
- <description>Pre Reading - Leap's Friends From A to Z (UK)</description>
- <year>2002</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-00804"/>
- <part name="cart" interface="leapfrog_leappad_cart">
- <feature name="u1" value="LeapFrog 2000 8M DIE ROM"/> <!-- ROM on epoxy blob, but type silkscreened on the PCB -->
- <dataarea name="rom" size="0x100000">
- <rom name="500-00804 - Pre Reading - Leap's Friends From A to Z.bin" size="0x100000" crc="cea3f327" sha1="c49779322dd046ef67bef93d144d2d07251eeadf" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="5gmath" supported="no">
- <description>5th Grade Math (UK)</description>
- <year>2003</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-00896-B"/>
- <part name="cart" interface="leapfrog_leappad_cart">
- <feature name="u1" value="LeapFrog 2002 32M DIE ROM"/> <!-- ROM on epoxy blob, but type silkscreened on the PCB -->
- <dataarea name="rom" size="0x400000">
- <rom name="500-00896-B - 5th Grade Math.bin" size="0x400000" crc="d9b18842" sha1="174461dd57b8446a03c324d3b84d660b18a8c231" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="findnemo" supported="no">
- <description>Reading - Disney/Pixar Finding Nemo (UK)</description>
- <year>2003</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-01148"/>
- <part name="cart" interface="leapfrog_leappad_cart">
- <feature name="pcb" value="335-13845-40"/>
- <feature name="u1" value="MR27V1602E"/> <!-- ROM on epoxy blob, but type silkscreened on the PCB -->
- <dataarea name="rom" size="0x200000">
- <rom name="500-01148 - Reading - Finding Nemo.bin" size="0x200000" crc="b299286b" sha1="3e8c63486f5646f65b5f86efeee4a6ee9d979f32" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="4gmath" supported="no">
- <description>FUN-damentals Series - 4th Grade Math (UK)</description>
- <year>2003</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-01346"/>
- <part name="cart" interface="leapfrog_leappad_cart">
- <feature name="pcb" value="000-835040-101002V2"/>
- <feature name="u1" value="MR27V3202E"/> <!-- ROM on epoxy blob, but type silkscreened on the PCB -->
- <dataarea name="rom" size="0x400000">
- <rom name="500-01346 - 4th Grade Math.bin" size="0x400000" crc="939efe79" sha1="66baa68aa13590ca4bd18d0dc8f329398bb12414" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="leapspond" supported="no">
- <description>Leap's Pond - Activity &amp; Game Book (UK)</description>
- <year>2003</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-01512"/>
- <part name="cart" interface="leapfrog_leappad_cart">
- <feature name="pcb" value="57000-003-7011"/>
- <feature name="pcb_rev" value="REV.01"/>
- <feature name="u1" value="Matronix 16M"/> <!-- ROM on epoxy blob, but type silkscreened on the PCB -->
- <dataarea name="rom" size="0x200000">
- <rom name="500-01512 - Leap's Pond.bin" size="0x200000" crc="124271ad" sha1="32a4ebc71d4e0965b36e379d72ee2534fda47f79" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="dinosaur" supported="no">
- <description>Leap and the lost Dinosaur (UK)</description>
- <year>2004</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-10136"/>
- <part name="cart" interface="leapfrog_leappad_cart">
- <feature name="pcb" value="57000-003-7123"/>
- <feature name="pcb_rev" value="REV.01"/>
- <feature name="u1" value="OKi 32m"/> <!-- ROM on epoxy blob, but type silkscreened on the PCB -->
- <dataarea name="rom" size="0x400000">
- <rom name="500-10136 - Leap and the lost Dinosaur.bin" size="0x400000" crc="eb3b01c7" sha1="bdc3791199e8b04942459c09047202b048ef27dc" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="hoppop" supported="no">
- <description>Hop on Pop - Based on the Book by Dr. Seuss (UK)</description>
- <year>2004</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-10438"/>
- <part name="cart" interface="leapfrog_leappad_cart">
- <feature name="u1" value="MR27V3202J-03-01"/> <!-- ROM on epoxy blob, but type silkscreened on the PCB -->
- <dataarea name="rom" size="0x400000">
- <rom name="500-10438 - Hop on Pop.bin" size="0x400000" crc="49308dc4" sha1="50864fdd604f6b88a0545df45663cae60e30c0e4" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="lpbooks" cloneof="lpbook" supported="no">
- <description>LeapPad - Libro Interactivo (Spain)</description>
- <year>2002</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-10478 UBL"/>
- <part name="cart" interface="leapfrog_leappad_cart">
- <feature name="pcb" value="30004+003+37"/>
- <feature name="u1" value="OKI 32M(L)-XXWE"/> <!-- ROM on epoxy blob, but type silkscreened on the PCB -->
- <dataarea name="rom" size="0x400000">
- <rom name="500-10478 UBL - LeapPad - Libro Interactivo (SP).bin" size="0x400000" crc="6a85ec74" sha1="024927d8eae8c4327079dd7d752f483445b51f3e" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="lionkings" supported="no">
- <description>El Rey León (Spain)</description>
- <year>2003</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-10597 UBL"/>
- <part name="cart" interface="leapfrog_leappad_cart">
- <feature name="pcb" value="57000+003+7211"/>
- <feature name="pcb_rev" value="REV.00"/>
- <feature name="u1" value="OKi 16M(F)"/> <!-- ROM on epoxy blob, but type silkscreened on the PCB -->
- <dataarea name="rom" size="0x200000">
- <rom name="500-10597 UBL - El Rey Leon (SP).bin" size="0x200000" crc="83f0e011" sha1="f543849090eedb8bec9d227e3634c9f5ee7f585c" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="dinosaurg" cloneof="dinosaur" supported="no">
- <description>Leap und die Welt der Dinosaurier (Germany)</description>
- <year>2004</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-10635"/>
- <part name="cart" interface="leapfrog_leappad_cart">
- <feature name="pcb" value="57000-003-7021"/>
- <feature name="pcb_rev" value="REV.01"/>
- <feature name="u1" value="Matronix 32m"/> <!-- ROM on epoxy blob, but type silkscreened on the PCB -->
- <dataarea name="rom" size="0x400000">
- <rom name="500-10635 - Leap und die Welt der Dinosaurier (GER).bin" size="0x400000" crc="5e306c92" sha1="7496f5b994a40ea07228b5ab27ec907fbcf603b4" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="lpbook" supported="no">
- <description>LeapPad Interactive Book (UK)</description>
- <year>2003</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-10649 UBL"/>
- <part name="cart" interface="leapfrog_leappad_cart">
- <feature name="pcb" value="335-13845-31"/>
- <feature name="u1" value="MR27V3202J"/> <!-- ROM on epoxy blob, but type silkscreened on the PCB -->
- <dataarea name="rom" size="0x400000">
- <rom name="500-10649 UBL - LeapPad Interactive Book.bin" size="0x400000" crc="58d14b4e" sha1="6a2234b62c3a63b08329e848bc40a9e5cb42b051" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="abcabent" supported="no">
- <description>ABC-Abenteuer (Germany)</description>
- <year>2003</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-10717 UBL"/>
- <part name="cart" interface="leapfrog_leappad_cart">
- <feature name="pcb" value="57000-003-2911"/>
- <feature name="pcb_rev" value="REV.01"/>
- <feature name="u1" value="Sunplus32m"/> <!-- ROM on epoxy blob, but type silkscreened on the PCB -->
- <dataarea name="rom" size="0x400000">
- <rom name="500-10717 UBL - ABC-Abenteuer (GER).bin" size="0x400000" crc="6c5c0180" sha1="3cfacb759d3cac16e52aad4629f0759bb8817f1a" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="tadsgngt" supported="no">
- <description>Tad's Good Night (UK)</description>
- <year>1999</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-10756 UBL"/>
- <part name="cart" interface="leapfrog_leappad_cart">
- <feature name="pcb" value="57000-003-7210"/>
- <feature name="pcb_rev" value="REV.00"/>
- <feature name="u1" value="OKi 16M"/> <!-- ROM on epoxy blob, but type silkscreened on the PCB -->
- <dataarea name="rom" size="0x200000">
- <rom name="500-10756 UBL - Tad's Good Night.bin" size="0x200000" crc="dc872e63" sha1="ebd259e53849151434091a99455ca74db46528b1" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="mosslakeg" supported="no">
- <description>A Day at Moss Lake (Germany)</description>
- <year>1999</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-10757 UBL"/>
- <part name="cart" interface="leapfrog_leappad_cart">
- <feature name="pcb" value="57000-003-2612"/>
- <feature name="pcb_rev" value="REV.01"/>
- <feature name="u1" value="Sunplus16m-b"/> <!-- ROM on epoxy blob, but type silkscreened on the PCB -->
- <dataarea name="rom" size="0x200000">
- <rom name="500-10757 UBL - A Day at Moss Lake.bin" size="0x200000" crc="22c3c65d" sha1="b3c6f7de54552dd9b164b2f3a97f8565f8cc7879" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="wwyoubbe" supported="no">
- <description>What will you be? (UK)</description>
- <year>2004</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-10760"/>
- <part name="cart" interface="leapfrog_leappad_cart">
- <feature name="pcb" value="30388-003-0032"/>
- <feature name="pcb_rev" value="REV:00"/>
- <feature name="u1" value="MX12L1611B"/> <!-- ROM on epoxy blob, but type silkscreened on the PCB -->
- <dataarea name="rom" size="0x200000">
- <rom name="500-10760 - What will you be.bin" size="0x200000" crc="b6b36f74" sha1="5d017a501b7feabd8c4d90b8672af19c3d321f41" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="princesss" cloneof="princessg" supported="no">
- <description>Disney Princesas - Cuentos de las Princesas (Spain)</description>
- <year>2002</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-10848 UBL"/>
- <part name="cart" interface="leapfrog_leappad_cart">
- <feature name="pcb" value="57000+003+7011"/>
- <feature name="pcb_rev" value="REV:00"/>
- <feature name="u1" value="Matronix 16M"/> <!-- ROM on epoxy blob, but type silkscreened on the PCB -->
- <dataarea name="rom" size="0x200000">
- <rom name="500-10848 UBL - Cuentos de las Princesas (SP).bin" size="0x200000" crc="fc6ed25b" sha1="6bd357dca86a37fe1646d010d8bcf150e8d0a95e" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="fiestahses" supported="no">
- <description>Fiesta in the House! - ¡Party en la Casa! (Spain)</description>
- <year>2003</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-10875 UBL"/>
- <part name="cart" interface="leapfrog_leappad_cart">
- <feature name="pcb" value="30004+003+38"/>
- <feature name="u1" value="OKI 32M(L)-XXWE"/> <!-- ROM on epoxy blob, but type silkscreened on the PCB -->
- <dataarea name="rom" size="0x400000">
- <rom name="500-10875 UBL - Fiesta in the House! - Party en la Casa!.bin" size="0x400000" crc="0b058df5" sha1="06931683c181c04b967da63e9fab160f6596c5e3" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="angelg" supported="no">
- <description>Das Angel-Abenteuer (Germany)</description>
- <year>2002</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-11537-B"/>
- <part name="cart" interface="leapfrog_leappad_cart">
- <feature name="pcb" value="335-13845-40"/>
- <dataarea name="rom" size="0x200000">
- <rom name="500-11537-B - Das Angel-Abenteuer (GER).bin" size="0x200000" crc="c90b3a2d" sha1="48e08bbef6b1f4d4671b808ef5a35b954449d0d2" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="tiggerbncg" cloneof="tiggerbnc" supported="no">
- <description>Disney H&#252;pf, Tigger, h&#252;pf! (Germany)</description>
- <year>1999</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-11538-B"/>
- <part name="cart" interface="leapfrog_leappad_cart">
- <feature name="pcb" value="57000-003-7211"/>
- <feature name="pcb_rev" value="REV.01"/>
- <feature name="u1" value="OKi 16M(F)"/> <!-- ROM on epoxy blob, but type silkscreened on the PCB -->
- <dataarea name="rom" size="0x200000">
- <rom name="500-11538-B - Hupf, Tigger, hupf! (GER).bin" size="0x200000" crc="250db2f8" sha1="192721a38befb7be26f9c3c604cd2e5b87828b46" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="shrekg" supported="no">
- <description>Shrek (Germany)</description>
- <year>2008</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-11539"/>
- <part name="cart" interface="leapfrog_leappad_cart">
- <feature name="pcb" value="57000-003-7234"/>
- <feature name="pcb_rev" value="Rev.00"/>
- <feature name="u1" value="OKI 32M(L)-XXWE"/> <!-- ROM on epoxy blob, but type silkscreened on the PCB -->
- <dataarea name="rom" size="0x400000">
- <rom name="500-11539 - Shrek (GER).bin" size="0x400000" crc="5ec0e776" sha1="fb5461049bee23bac2839f9c3ed951abba07f02d" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="spongebobg" supported="no">
- <description>Spongebob Schwammkopf - Meeres-Geschichten (Germany)</description>
- <year>2003</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-11540"/>
- <part name="cart" interface="leapfrog_leappad_cart">
- <feature name="pcb" value="57000-003-7223"/>
- <feature name="pcb_rev" value="Rev.00"/>
- <feature name="u1" value="OKI 32(J)"/> <!-- ROM on epoxy blob, but type silkscreened on the PCB -->
- <dataarea name="rom" size="0x400000">
- <rom name="500-11540 - Spongebob Schwammkopf - Meeres-Geschichten (GER).bin" size="0x400000" crc="cf81398e" sha1="52c8cd56c49d53a20129b3870527f180e22683b4" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="letsgo1g" supported="no">
- <description>Englisch Kurs - Let's go 1 (Germany)</description>
- <year>2004</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-11546"/>
- <part name="cart" interface="leapfrog_leappad_cart">
- <feature name="pcb" value="30338-003-0033"/>
- <feature name="pcb_rev" value="REV : 01"/>
- <feature name="u1" value="OKI 32M VER : J"/> <!-- ROM on epoxy blob, but type silkscreened on the PCB -->
- <dataarea name="rom" size="0x400000">
- <rom name="500-11546 - Englisch Kurs - Let's go 1 (GER).bin" size="0x400000" crc="70eed726" sha1="fd425df0e9108dbc8e384ec566ed2b284aa7a7fe" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="letsgo2g" supported="no">
- <description>Englisch Kurs - Let's go 2 (Germany)</description>
- <year>2004</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-11547"/>
- <part name="cart" interface="leapfrog_leappad_cart">
- <feature name="pcb" value="30338-003-0033"/>
- <feature name="pcb_rev" value="REV : 01"/>
- <feature name="u1" value="OKI 32M VER : J"/> <!-- ROM on epoxy blob, but type silkscreened on the PCB -->
- <dataarea name="rom" size="0x400000">
- <rom name="500-11547 - Englisch Kurs - Let's go 2 (GER).bin" size="0x400000" crc="5a31e9e6" sha1="4c4020c2cf31f09dc910c7686250ea96a7bb12bf" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="schoolhse3" supported="no">
- <description>LeapFrog Schoolhouse - Level 3 - Helping Others (UK)</description>
- <year>2004</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-11694"/>
- <part name="cart" interface="leapfrog_leappad_cart">
- <feature name="pcb" value="335-13545-32G"/>
- <feature name="u1" value="MR27V3202L(WE)"/> <!-- ROM on epoxy blob, but type silkscreened on the PCB -->
- <dataarea name="rom" size="0x400000">
- <rom name="500-11694 - LeapFrog Schoolhouse - Level 3 - Helping Others.bin" size="0x400000" crc="adae33be" sha1="ead14b0a6cb638d609f35932d3eaaac54ec93582" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="lamadeusg" supported="no">
- <description>Little Amadeus (Germany)</description>
- <year>2004</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-11973"/>
- <part name="cart" interface="leapfrog_leappad_cart">
- <feature name="pcb" value="57000-003-7223"/>
- <feature name="pcb_rev" value="Rev.00"/>
- <feature name="u1" value="OKI 32M(J)"/> <!-- ROM on epoxy blob, but type silkscreened on the PCB -->
- <dataarea name="rom" size="0x400000">
- <rom name="500-11973 - Little Amadeus (GER).bin" size="0x400000" crc="bbb84550" sha1="2513a369cc08c6b9ffd118f095018a152994b14d" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="letsgo4g" supported="no">
- <description>Englisch Kurs - Let's go 4 (Germany)</description>
- <year>2005</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-11974"/>
- <part name="cart" interface="leapfrog_leappad_cart">
- <feature name="pcb" value="30338+003+0033"/>
- <feature name="pcb_rev" value="REV : 01"/>
- <feature name="u1" value="OKI 32M VER : J"/> <!-- ROM on epoxy blob, but type silkscreened on the PCB -->
- <dataarea name="rom" size="0x400000">
- <rom name="500-11974 - Englisch Kurs - Let's Go 4 (GER).bin" size="0x400000" crc="c4fd3c1f" sha1="7f7fc2a5c4d7596d840add14e89d45d64b0b4f2a" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="letsgo3g" supported="no">
- <description>Englisch Kurs - Let's go 3 (Germany)</description>
- <year>2005</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-11547"/>
- <part name="cart" interface="leapfrog_leappad_cart">
- <feature name="pcb" value="30338+003+0033"/>
- <feature name="pcb_rev" value="REV : 01"/>
- <feature name="u1" value="OKI 32M VER : J"/> <!-- ROM on epoxy blob, but type silkscreened on the PCB -->
- <dataarea name="rom" size="0x400000">
- <rom name="500-11976 - Englisch Kurs - Let's Go 3 (GER).bin" size="0x400000" crc="33c6ad28" sha1="023eb4a01a65df809f173f1d442d03c49ac5cd7a" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="ileanrnens" supported="no">
- <description>¡Yo aprendo inglés! - Mis Primeras 500 Palabras en Inglés (Spain)</description>
- <year>2006</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-12153"/>
- <part name="cart" interface="leapfrog_leappad_cart">
- <feature name="u1" value="MR27V3202L (WE)"/> <!-- ROM on epoxy blob, but type silkscreened on the PCB -->
- <dataarea name="rom" size="0x400000">
- <rom name="500-12153 - Yo aprendo ingles! - Mis Primeras 500 Palabras en Ingles (SP).bin" size="0x400000" crc="67602011" sha1="492304abf2670f4388d7e38b8d7a95c98e77f15d" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="princessg" supported="no">
- <description>Disney Prinzessin - Prinzessinnen-Geschichten (Germany)</description>
- <year>2006</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-12559-B"/>
- <part name="cart" interface="leapfrog_leappad_cart">
- <feature name="pcb" value="57000-003-7212"/>
- <feature name="pcb_rev" value="Rev:00"/>
- <feature name="u1" value="OKi 16M(Ver:L)"/> <!-- ROM on epoxy blob, but type silkscreened on the PCB -->
- <dataarea name="rom" size="0x200000">
- <rom name="500-12559-B - Prinzessinnen-Geschichten (GER).bin" size="0x200000" crc="e889e9bd" sha1="d6f6f1629f24db1a120d0c408028e4996c7468cb" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="bobbldrg" supported="no">
- <description>Bob der Baumeister - Bob und Heppo: Alles im Griff! (Germany)</description>
- <year>2006</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-12560"/>
- <part name="cart" interface="leapfrog_leappad_cart">
- <feature name="pcb" value="57000+003+7112"/>
- <feature name="pcb_rev" value="Rev:00"/>
- <feature name="u1" value="OKI 16M(Ver:L)"/> <!-- ROM on epoxy blob, but type silkscreened on the PCB -->
- <dataarea name="rom" size="0x200000">
- <rom name="500-12560 - Bob der Baumeister - Bob und Heppo - Alles im Griff! (GER).bin" size="0x200000" crc="4821cae5" sha1="80e9743ae8870e8ef03eb8c7c882fe42fdd545b2" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="sedsaber1" supported="no">
- <description>Sed de Saber - English as a Second Language Edition - Book 1 - Getting Started (Spain)</description>
- <year>2007</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-13034 UBL"/>
- <part name="cart" interface="leapfrog_leappad_cart">
- <feature name="pcb" value="57000-003-2111"/>
- <feature name="u1" value="JS28F320"/>
- <dataarea name="rom" size="0x400000">
- <rom name="500-13034 UBL - Sed de Saber - English as a Second Language Edition - Book 1 - Getting Started.bin" size="0x400000" crc="6b9a4399" sha1="8559facabf94c6ffaf8a6e1868f0ab00fb28ce09" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="sedsaber2" supported="no">
- <description>Sed de Saber - English as a Second Language Edition - Book 2 - A New Job (Spain)</description>
- <year>2007</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-13035 UBL"/>
- <part name="cart" interface="leapfrog_leappad_cart">
- <feature name="pcb" value="57000-003-2111"/>
- <feature name="u1" value="JS28F320"/>
- <dataarea name="rom" size="0x400000">
- <rom name="500-13035 UBL - Sed de Saber - English as a Second Language Edition - Book 2 - A New Job.bin" size="0x400000" crc="95b1520c" sha1="25701bd15371cd463a801bd6ede7a9591c352680" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="sedsaber3" supported="no">
- <description>Sed de Saber - English as a Second Language Edition - Book 3 - Daily Activities (Spain)</description>
- <year>2007</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-13038 UBL"/>
- <part name="cart" interface="leapfrog_leappad_cart">
- <feature name="pcb" value="57000-003-2111"/>
- <feature name="u1" value="JS28F320"/>
- <dataarea name="rom" size="0x400000">
- <rom name="500-13038 UBL - Sed de Saber - English as a Second Language Edition - Book 3 - Daily Activities.bin" size="0x400000" crc="39f5b54b" sha1="eeb8849733bf856fe4f28503153d989a6a00cb11" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="sedsaber4" supported="no">
- <description>Sed de Saber - English as a Second Language Edition - Book 4 - Health and Safety (Spain)</description>
- <year>2007</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-13040 UBL"/>
- <part name="cart" interface="leapfrog_leappad_cart">
- <feature name="pcb" value="57000-003-2111"/>
- <feature name="u1" value="JS28F320"/>
- <dataarea name="rom" size="0x400000">
- <rom name="500-13040 UBL - Sed de Saber - English as a Second Language Edition - Book 4 - Health and Safety.bin" size="0x400000" crc="efd55310" sha1="bbde3bc75337f8cfac60dd5dfaab2de756cfd6de" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="sedsaber5" supported="no">
- <description>Sed de Saber - English as a Second Language Edition - Book 5 - Community Interactions (Spain)</description>
- <year>2007</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-13041 UBL"/>
- <part name="cart" interface="leapfrog_leappad_cart">
- <feature name="pcb" value="57000-003-2111"/>
- <feature name="u1" value="JS28F320"/>
- <dataarea name="rom" size="0x400000">
- <rom name="500-13041 UBL - Sed de Saber - English as a Second Language Edition - Book 5 - Community Interactions.bin" size="0x400000" crc="a3bb676b" sha1="ddab54976fd54b9ef140ee6b67414597a3a21ec9" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="sedsaber6" supported="no">
- <description>Sed de Saber - English as a Second Language Edition - Book 6 - How do you say... (Spain)</description>
- <year>2007</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-13044 UBL"/>
- <part name="cart" interface="leapfrog_leappad_cart">
- <feature name="pcb" value="57000-003-2111"/>
- <feature name="u1" value="JS28F320"/>
- <dataarea name="rom" size="0x400000">
- <rom name="500-13044 UBL - Sed de Saber - English as a Second Language Edition - Book 6 - How do you say... .bin" size="0x400000" crc="5ed699f6" sha1="902c70e0437525de94a8febab794e46b8a55f5c1" offset="0" />
- </dataarea>
- </part>
- </software>
-
-</softwarelist>
diff --git a/hash/leapfrog_mfleappad_cart.xml b/hash/leapfrog_mfleappad_cart.xml
deleted file mode 100644
index d64d2bcf83e..00000000000
--- a/hash/leapfrog_mfleappad_cart.xml
+++ /dev/null
@@ -1,152 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
-<softwarelist name="leapfrog_mfleappad_cart" description="LeapFrog My First LeapPad cartridges">
-
- <software name="thomasst" supported="no">
- <description>Thomas &amp; Friends - Thomas and the School Trip (UK)</description>
- <year>2002</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-00543"/>
- <part name="cart" interface="leapfrog_mfleappad_cart">
- <feature name="pcb" value="57000-003-7011"/>
- <feature name="pcb_rev" value="REV.01"/>
- <feature name="u1" value="Matronix 16M"/> <!-- ROM on epoxy blob, but type silkscreened on the PCB -->
- <dataarea name="rom" size="0x200000">
- <rom name="500-00543 - Thomas &amp; Friends - Thomas and the School Trip (UK).bin" size="0x200000" crc="a66f7afb" sha1="49ee00ad8ca64fac28c2ab3c8e2b2116e121884e" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="leapbigday" supported="no">
- <description>Leap's Big Day (UK)</description>
- <year>2002</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-00547"/>
- <part name="cart" interface="leapfrog_mfleappad_cart">
- <feature name="pcb" value="57000-003-7011"/>
- <feature name="pcb_rev" value="REV.01"/>
- <feature name="u1" value="Matronix 16M"/> <!-- ROM on epoxy blob, but type silkscreened on the PCB -->
- <dataarea name="rom" size="0x200000">
- <rom name="500-00547 - Leap's Big Day (UK).bin" size="0x200000" crc="ecab224a" sha1="2f5155eb4017c91d3129b722201b3d05cf2454b6" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="iknowmyabc" supported="no">
- <description>I Know My abc's (UK) (Dec 18 2002)</description>
- <year>2002</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-01120"/>
- <part name="cart" interface="leapfrog_mfleappad_cart">
- <feature name="pcb" value="57000-003-7210"/>
- <feature name="pcb_rev" value="REV.00"/>
- <feature name="u1" value="OKi 16M"/> <!-- ROM on epoxy blob, but type silkscreened on the PCB -->
- <dataarea name="rom" size="0x200000">
- <rom name="500-01120 - I Know My abc's (UK) (Dec 18 2002).bin" size="0x200000" crc="017d6820" sha1="6f30e0731b82c931759b07151a03b5a91e412e58" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="iknowmyabco" supported="no">
- <description>I Know My abc's (UK) (Feb 12 2002)</description>
- <year>2002</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-01120"/>
- <part name="cart" interface="leapfrog_mfleappad_cart">
- <dataarea name="rom" size="0x200000">
- <rom name="500-01120 - I Know My abc's (UK) (Feb 12 2002).bin" size="0x200000" crc="1f265010" sha1="a5fa878f5bcf92e80cb606d5f869d166d3805e05" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="joyjetplane" supported="no">
- <description>Joy Joy - The Jet Plane - High-Flying Adventures (UK)</description>
- <year>2003</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-01121"/>
- <part name="cart" interface="leapfrog_mfleappad_cart">
- <feature name="pcb" value="57000-003-2611"/>
- <feature name="pcb_rev" value="REV.02"/>
- <feature name="u1" value="SunPlus 16m"/> <!-- ROM on epoxy blob, but type silkscreened on the PCB -->
- <dataarea name="rom" size="0x200000">
- <rom name="500-01121 - Joy Joy - The Jet Plane - High-Flying Adventures (UK).bin" size="0x200000" crc="239437dc" sha1="874006ea723d4c824fe150be394635df3af5ab47" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="footbook" supported="no">
- <description>The Foot Book - Based on the Book by Dr. Seuss (UK)</description>
- <year>2004</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-10523"/>
- <part name="cart" interface="leapfrog_mfleappad_cart">
- <feature name="pcb" value="57000-003-2612"/>
- <feature name="pcb_rev" value="REV.0"/>
- <feature name="u1" value="Sunplus16m-b"/> <!-- ROM on epoxy blob, but type silkscreened on the PCB -->
- <dataarea name="rom" size="0x200000">
- <rom name="500-10523 - The Foot Book (UK).bin" size="0x200000" crc="3708694c" sha1="359b118bbb795763e65da0434dc6ddb2e8284388" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="crokis" supported="no">
- <description>El gran día de Croki (Spa)</description>
- <year>2004</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-11074"/>
- <part name="cart" interface="leapfrog_mfleappad_cart">
- <feature name="pcb" value="04173+003-7011"/>
- <feature name="pcb_rev" value="REV.00"/>
- <feature name="u1" value="Matronix 16M"/> <!-- ROM on epoxy blob, but type silkscreened on the PCB -->
- <dataarea name="rom" size="0x200000">
- <rom name="500-11074 - El gran dia de Croki (SP).bin" size="0x200000" crc="7939e721" sha1="886e85bdfc56587ef48c94f7bfed055c931b4d3e" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="vroom" supported="no">
- <description>Vroom! Vroom! - On the Go (UK)</description>
- <year>2003</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-11282 UBL"/>
- <part name="cart" interface="leapfrog_mfleappad_cart">
- <feature name="pcb" value="57000-003-7223"/>
- <feature name="pcb_rev" value="REV:00"/>
- <feature name="u1" value="OKI 32(J)"/> <!-- ROM on epoxy blob, but type silkscreened on the PCB -->
- <dataarea name="rom" size="0x400000">
- <rom name="500-11282 UBL - Vroom! Vroom! - On the Go (UK).bin" size="0x400000" crc="88c24bd7" sha1="723a4c6d10d1a5205330c7401594cdc3217a137d" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="princess" supported="no">
- <description>Disney Princesas - Las Princesas Disney (Spa)</description>
- <year>2003</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-11436"/>
- <part name="cart" interface="leapfrog_mfleappad_cart">
- <feature name="pcb" value="57000-003-7011"/>
- <feature name="pcb_rev" value="REV.01"/>
- <feature name="u1" value="Matronix 16M"/> <!-- ROM on epoxy blob, but type silkscreened on the PCB -->
- <dataarea name="rom" size="0x200000">
- <rom name="500-11436 - Las Princesas Disney (SP).bin" size="0x200000" crc="21a50739" sha1="ad39c8e899edc427fec01aaa07cf8aacf7bd246f" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="schools" supported="no">
- <description>Mi Primer Día de Escuela (Spa)</description>
- <year>2005</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-12049"/>
- <part name="cart" interface="leapfrog_mfleappad_cart">
- <feature name="pcb" value="57000+003+7223"/>
- <feature name="pcb_rev" value="Rev:00"/>
- <feature name="u1" value="OKI 32(J)"/> <!-- ROM on epoxy blob, but type silkscreened on the PCB -->
- <dataarea name="rom" size="0x400000">
- <rom name="500-12049 - Mi Primer Dia de Escuela (SP).bin" size="0x400000" crc="878e3d34" sha1="b5893b2c852e472312a3f49320cec765fd1e4045" offset="0" />
- </dataarea>
- </part>
- </software>
-
-</softwarelist>
diff --git a/hash/leapster.xml b/hash/leapster.xml
index 19bde900d8d..ca0d4a573d9 100644
--- a/hash/leapster.xml
+++ b/hash/leapster.xml
@@ -40,7 +40,6 @@ Known games listed by part-no, (*) denotes undumped, (**) denotes acquired but n
| 500-11993-A |ENG| Number Raiders - Arcade-Style Learning | LEAPSTER |
| 500-11994-A |ENG| Cosmic Math - Arcade-Style Learning! | LEAPSTER |
| 500-11995-A |ENG| Letterpillar | LEAPSTER | (*)
-| 500-11996-A |ENG| Word Chasers | LEAPSTER | (*)
| 500-12098-A |ENG| Cars | LEAPSTER |
| 500-12099-A |ENG| NASCAR | LEAPSTER L-MAX |
| 500-12139-A |GER| Buchstabenraupe - Lernen im Arcade-Stil! | LEAPSTER | (*)
@@ -50,13 +49,13 @@ Known games listed by part-no, (*) denotes undumped, (**) denotes acquired but n
| 500-12160-A |ENG| Scooby Doo! - Spooky Snacks! | LEAPSTER |
| 500-12161-A |ENG| Dora the Explorer - Piñata Party - Arcade-Style Learning! | LEAPSTER |
| 500-12171-A |GER| Cars | LEAPSTER |
-| 500-12202-A |SPA| La Conquista De Los Números | LEAPSTER |
-| 500-12206-A |SPA| Don Lápiz - Aprender A Dibujar Y Escribir | LEAPSTER |
-| 500-12210-A |SPA| Spider-Man - El Caso de Las Letras Revueltas | LEAPSTER |
+| 500-12202-A |SPA| La Conquista De Los Números | LEAPSTER | (**)
+| 500-12206-A |SPA| Don Lápiz - Aprender A Dibujar Y Escribir | LEAPSTER | (**)
+| 500-12210-A |SPA| Buscando A Nemo - Leer Bajo El Mar | LEAPSTER | (**)
| 500-12218-A |SPA| Disney Princesa - La Magia De Aprender | LEAPSTER |
| 500-12223-A |SPA| Cars | LEAPSTER |
-| 500-12227-A |SPA| Buscando a Nemo - Leer Bajo el Mar | LEAPSTER |
-| 500-12259-A |SPA| El Laberinto De Las Letras | LEAPSTER |
+| 500-12227-A |SPA| Spider-Man - El Caso De Las Letras Revueltas | LEAPSTER | (**)
+| 500-12259-A |SPA| El Laberinto De Las Letras | LEAPSTER | (**)
| 500-12293-A |ENG| Animal Genius | LEAPSTER |
| 500-12296-A |ENG| SonicX | LEAPSTER |
| 500-12339-A |FRA| Dora L'Exploratrice - Au Secours Des Animaux | LEAPSTER |
@@ -508,18 +507,6 @@ Known games listed by part-no, (*) denotes undumped, (**) denotes acquired but n
</part>
</software>
- <software name="findnemos" cloneof="findnemo" supported="no">
- <description>Buscando a Nemo - Leer Bajo el Mar (Spa)</description>
- <year>2003</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-12227-A" />
- <part name="cart" interface="leapster_cart">
- <dataarea name="rom" size="8388608">
- <rom name="500-12227-A - Buscando a Nemo (Spa).bin" size="8388608" crc="7aa17c75" sha1="798e2bf0d2decc08430ff5d3009b60dffa341aba" offset="0" />
- </dataarea>
- </part>
- </software>
-
<software name="imagfrnd" supported="no">
<description>Foster's Home for Imaginary Friends (USA)</description>
<year>2003</year>
@@ -688,18 +675,6 @@ Known games listed by part-no, (*) denotes undumped, (**) denotes acquired but n
</part>
</software>
- <software name="mrpencils" cloneof="mrpencil" supported="no">
- <description>Don Lápiz - Aprender a Dibujar y Escribir (Spa)</description>
- <year>2003</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-12206-A" />
- <part name="cart" interface="leapster_cart">
- <dataarea name="rom" size="8388608">
- <rom name="500-12206-A - Don Lapiz - Aprender a Dibujar y Escribir (Spa).bin" size="8388608" crc="e6e50c84" sha1="9fb971ac661618bad549f37fbad28ffdd3873a30" offset="0" />
- </dataarea>
- </part>
- </software>
-
<software name="amuspark" supported="no">
<description>My Amusement Park (USA)</description>
<year>2003</year>
@@ -748,18 +723,6 @@ Known games listed by part-no, (*) denotes undumped, (**) denotes acquired but n
</part>
</software>
- <software name="numraids" cloneof="numraid" supported="no">
- <description>La Conquista de los Números (Spa)</description>
- <year>2003</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-12141-A" />
- <part name="cart" interface="leapster_cart">
- <dataarea name="rom" size="4194304">
- <rom name="500-12202-A - La Conquista de los Numeros (Spa).bin" size="4194304" crc="2fb737c6" sha1="6490a57d98f83ef96b0f4f783632a97c0fa460e4" offset="0" />
- </dataarea>
- </part>
- </software>
-
<software name="noddyf" supported="no">
<description>Oui-Oui - Aventures Au Pays Des Jouets (Fra)</description>
<year>2007</year>
@@ -1013,18 +976,6 @@ Known games listed by part-no, (*) denotes undumped, (**) denotes acquired but n
</part>
</software>
- <software name="spidermns" cloneof="spidermn" supported="no">
- <description>Spider-Man - El Caso de Las Letras Revueltas (Spa)</description>
- <year>2003</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-12210-A" />
- <part name="cart" interface="leapster_cart">
- <dataarea name="rom" size="8388608">
- <rom name="500-12210-A - Spider-Man - El Caso de Las Letras Revueltas (Spa).bin" size="8388608" crc="96468ab9" sha1="24fab31e1b0aec1c963867da485d22b97da10660" offset="0" />
- </dataarea>
- </part>
- </software>
-
<software name="jedimath" supported="no">
<description>Star Wars - Jedi Math (USA)</description>
<year>2003</year>
@@ -1193,8 +1144,7 @@ Known games listed by part-no, (*) denotes undumped, (**) denotes acquired but n
</part>
</software>
- <!-- Word Chasers -->
- <software name="wrdchsrsg" supported="no">
+ <software name="worter" supported="no">
<description>Wörterjäger - Lernen im Arcade-Stil! (Ger)</description>
<year>2003</year>
<publisher>LeapFrog</publisher>
@@ -1206,19 +1156,6 @@ Known games listed by part-no, (*) denotes undumped, (**) denotes acquired but n
</part>
</software>
- <software name="wrdchsrss" cloneof="wrdchsrsg" supported="no"> <!-- By now, clone of "wrdchsrsg", until the English set is found -->
- <description>El Laberinto de las Letras (Spa)</description>
- <year>2003</year>
- <publisher>LeapFrog</publisher>
- <info name="serial" value="500-12259-A" />
- <part name="cart" interface="leapster_cart">
- <dataarea name="rom" size="8388608">
- <rom name="500-12259-A - El Laberinto de las Letras (Spa).bin" size="4194304" crc="4a999f60" sha1="91f79a22a8f9f1af6d8ab11f7dc03858b58510d1" offset="0" />
- </dataarea>
- </part>
- </software>
-
-
<!-- L-MAX carts, ordered by title -->
<software name="dorawr">
diff --git a/hash/m5_cass.xml b/hash/m5_cass.xml
index 8c7569197a6..122c0488f35 100644
--- a/hash/m5_cass.xml
+++ b/hash/m5_cass.xml
@@ -14,7 +14,7 @@
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
<info name="usage" value="Mount together with &quot;BASIC-I&quot; and load with CHAIN"/>
- <!--<sharedfeat name="requirement" value="m5_cart:basici"/>-->
+ <!--<sharedfeat name="requirement" value="m5_cart:basici"/>-->
<part name="cass1" interface="m5_cass">
<dataarea name="cass" size="3840">
@@ -28,7 +28,7 @@
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
<info name="usage" value="Mount together with &quot;BASIC-I&quot; and load with CHAIN"/>
- <!--<sharedfeat name="requirement" value="m5_cart:basici"/>-->
+ <!--<sharedfeat name="requirement" value="m5_cart:basici"/>-->
<part name="cass1" interface="m5_cass">
<dataarea name="cass" size="3386">
@@ -54,7 +54,7 @@
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
<info name="usage" value="Mount together with &quot;BASIC-I&quot; and load with CHAIN"/>
- <!--<sharedfeat name="requirement" value="m5_cart:basici"/>-->
+ <!--<sharedfeat name="requirement" value="m5_cart:basici"/>-->
<part name="cass1" interface="m5_cass">
<dataarea name="cass" size="19071">
@@ -68,7 +68,7 @@
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
<info name="usage" value="Mount together with &quot;BASIC-I&quot; and load with CHAIN"/>
- <!--<sharedfeat name="requirement" value="m5_cart:basici"/>-->
+ <!--<sharedfeat name="requirement" value="m5_cart:basici"/>-->
<part name="cass1" interface="m5_cass">
<dataarea name="cass" size="16980">
@@ -82,7 +82,7 @@
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
<info name="usage" value="Mount together with &quot;BASIC-I&quot; and load with CHAIN"/>
- <!--<sharedfeat name="requirement" value="m5_cart:basici"/>-->
+ <!--<sharedfeat name="requirement" value="m5_cart:basici"/>-->
<part name="cass1" interface="m5_cass">
<dataarea name="cass" size="3767">
@@ -108,7 +108,7 @@
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
<info name="usage" value="Mount together with &quot;BASIC-I&quot; and load with CHAIN"/>
- <!--<sharedfeat name="requirement" value="m5_cart:basici"/>-->
+ <!--<sharedfeat name="requirement" value="m5_cart:basici"/>-->
<part name="cass1" interface="m5_cass">
<dataarea name="cass" size="8537">
@@ -122,7 +122,7 @@
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
<info name="usage" value="Mount together with &quot;BASIC-I&quot; and load with CHAIN"/>
- <!--<sharedfeat name="requirement" value="m5_cart:basici"/>-->
+ <!--<sharedfeat name="requirement" value="m5_cart:basici"/>-->
<part name="cass1" interface="m5_cass">
<dataarea name="cass" size="19184">
@@ -136,7 +136,7 @@
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
<info name="usage" value="Mount together with &quot;BASIC-I&quot; and load with CHAIN"/>
- <!--<sharedfeat name="requirement" value="m5_cart:basici"/>-->
+ <!--<sharedfeat name="requirement" value="m5_cart:basici"/>-->
<part name="cass1" interface="m5_cass">
<dataarea name="cass" size="4744">
@@ -150,7 +150,7 @@
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
<info name="usage" value="Mount together with &quot;BASIC-I&quot; and load with CHAIN"/>
- <!--<sharedfeat name="requirement" value="m5_cart:basici"/>-->
+ <!--<sharedfeat name="requirement" value="m5_cart:basici"/>-->
<part name="cass1" interface="m5_cass">
<dataarea name="cass" size="3423">
@@ -164,7 +164,7 @@
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
<info name="usage" value="Mount together with &quot;BASIC-I&quot; and load with CHAIN"/>
- <!--<sharedfeat name="requirement" value="m5_cart:basici"/>-->
+ <!--<sharedfeat name="requirement" value="m5_cart:basici"/>-->
<part name="cass1" interface="m5_cass">
<dataarea name="cass" size="3244">
@@ -178,7 +178,7 @@
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
<info name="usage" value="Mount together with &quot;BASIC-I&quot; and load with CHAIN"/>
- <!--<sharedfeat name="requirement" value="m5_cart:basici"/>-->
+ <!--<sharedfeat name="requirement" value="m5_cart:basici"/>-->
<part name="cass1" interface="m5_cass">
<dataarea name="cass" size="3628">
@@ -192,7 +192,7 @@
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
<info name="usage" value="Mount together with &quot;BASIC-I&quot; and load with CHAIN"/>
- <!--<sharedfeat name="requirement" value="m5_cart:basici"/>-->
+ <!--<sharedfeat name="requirement" value="m5_cart:basici"/>-->
<part name="cass1" interface="m5_cass">
<dataarea name="cass" size="5207">
@@ -206,7 +206,7 @@
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
<info name="usage" value="Mount together with &quot;BASIC-I&quot; and load with CHAIN"/>
- <!--<sharedfeat name="requirement" value="m5_cart:basici"/>-->
+ <!--<sharedfeat name="requirement" value="m5_cart:basici"/>-->
<part name="cass1" interface="m5_cass">
<dataarea name="cass" size="3213">
@@ -272,7 +272,7 @@
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
<info name="usage" value="Mount together with &quot;BASIC-I&quot; and load with CHAIN"/>
- <!--<sharedfeat name="requirement" value="m5_cart:basici"/>-->
+ <!--<sharedfeat name="requirement" value="m5_cart:basici"/>-->
<part name="cass1" interface="m5_cass">
<dataarea name="cass" size="3278">
@@ -286,7 +286,7 @@
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
<info name="usage" value="Mount together with &quot;BASIC-I&quot; and load with CHAIN"/>
- <!--<sharedfeat name="requirement" value="m5_cart:basici"/>-->
+ <!--<sharedfeat name="requirement" value="m5_cart:basici"/>-->
<part name="cass1" interface="m5_cass">
<dataarea name="cass" size="3568">
@@ -300,7 +300,7 @@
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
<info name="usage" value="Mount together with &quot;BASIC-I&quot; and load with CHAIN"/>
- <!--<sharedfeat name="requirement" value="m5_cart:basici"/>-->
+ <!--<sharedfeat name="requirement" value="m5_cart:basici"/>-->
<part name="cass1" interface="m5_cass">
<dataarea name="cass" size="4108">
diff --git a/hash/megadriv.xml b/hash/megadriv.xml
index 855e82d7ac1..2489bab0e70 100644
--- a/hash/megadriv.xml
+++ b/hash/megadriv.xml
@@ -3966,7 +3966,7 @@ Info on Sega chip labels (from Sunbeam / Digital Corruption)
<feature name="pcb" value="PWB SC40x1 REV B"/>
<feature name="u1" value="JAMES POND U1 JAM03"/> <!-- location not really marked on PCB, using u1 for consistency -->
<dataarea name="rom" width="16" endianness="big" size="524288">
- <rom name="james pond u1 jam03.u1" size="524288" crc="d0e7b466" sha1="b4e1c945c3ccea2e76b296d6694c0931a1ec1310" offset="0x000000" />
+ <rom name="james pond u1 jam03.u1" size="524288" crc="d0e7b466" sha1="b4e1c945c3ccea2e76b296d6694c0931a1ec1310" offset="0x000000" loadflag="load16_word_swap"/>
</dataarea>
</part>
<!-- LABEL(S)
diff --git a/hash/monon_color.xml b/hash/monon_color.xml
index ae0f24f906f..e2a28d00d99 100644
--- a/hash/monon_color.xml
+++ b/hash/monon_color.xml
@@ -1,8 +1,6 @@
<?xml version="1.0"?>
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
<softwarelist name="monon_color" description="M&amp;D Monon Color cartridges">
- <!-- Cartridges contain a serial flash ROM, and an epoxy blob, it is not clear what is inside the blob. Cartridges appear to work just fine if reprogrammed
- with a different game. Note, the current dumps might not be 'clean' as the games save data directly to the 0x50000 area of ROM. -->
<!-- Known games list
@@ -24,7 +22,7 @@
Locke Kingdom: The King's Badge Luòkè wángguó-wángzhÄ› huÄ«zhÄng N Y NO. 206 RPG 洛克王国-王者徽章
Laboratory Mathematica Olympiad Àoshù shíyàn shì N Y NO. 207 PUZ/EDU 奥数实验室
Logic Fight Luójí pīn yī pīn Y Y NO. 301 PUZ/EDU 逻辑拼一拼
- Pleasant goat and big big wolf's comet battle XÇyángyáng yÇ” huÄ«tàiláng-juézhàn miÄ“ xÄ«ng Y Y NO. 302 PUZ/EDU 喜羊羊与ç°å¤ªç‹¼-决战咩星
+ Pleasant goat and big big wolf's comet battle XÇyángyáng yÇ” huÄ«tàiláng-juézhàn miÄ“ xÄ«ng N Y NO. 302 PUZ/EDU 喜羊羊与ç°å¤ªç‹¼-决战咩星
Dragon Ball: The Martial Arts Conference LóngzhÅ«-wÇ”dào dàhuì Y Y NO. 303 ACT é¾™ç -æ­¦é“大会
League of Legends: The Ultimate Fight YÄ«ngxióng liánméng-zhÅngjí gédòu Y Y NO. 304 FTG 英雄è”盟-ç»ˆæžæ ¼æ–—
Ben 10: alien force .. N N? ACT BEN 10: ALIEN FORCE
@@ -35,208 +33,184 @@
(1) (Note: One known to exist in the wild, was supposedly bought at a thrift store. Based around Jackie Chan fighting)
-->
- <software name="purcfs" supported="no"> <!-- 101 - Purcell: Ares Fighting Spirit -->
- <description>Sài ěr hào: Zhànshén dòu hún</description>
- <year>2011</year>
- <publisher>M&amp;D</publisher>
- <info name="alt_title" value="赛尔å·ï¼šæˆ˜ç¥žæ–—é­‚"/>
- <part name="cart" interface="monon_color_cart">
- <dataarea name="rom" size="0x1000000">
- <rom name="101.bin" size="0x0800000" crc="7eced0cf" sha1="3e34abbaf1259094099f1587302dfbd84ffb8384" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="lockmagi" supported="no"> <!-- 102 - Locke Kingdom: Magic Array -->
- <description>Luòkè wángguó-mófǎ zhèn</description>
- <year>2011</year>
- <publisher>M&amp;D</publisher>
- <info name="alt_title" value="洛克王国-魔法阵"/>
- <part name="cart" interface="monon_color_cart">
- <dataarea name="rom" size="0x1000000">
- <rom name="102.bin" size="0x0800000" crc="15ed170d" sha1="ce4832f57459acf01deae688c62d444cffaa271a" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="mechcycl" supported="no"> <!-- 103 - Mech Cyclone: Fighting Masters -->
- <description>Jī jiǎ xuànfēng-gédòu dàshī (set 1)</description>
- <year>2011</year>
- <publisher>M&amp;D</publisher>
- <info name="alt_title" value="机甲旋风-格斗大师"/>
- <part name="cart" interface="monon_color_cart">
- <dataarea name="rom" size="0x1000000">
- <rom name="103.bin" size="0x0800000" crc="441d5f9d" sha1="2ec85c5225b7ed0291b13f5d3bc57a9ef0153b5e" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="mechcycla" cloneof="mechcycl" supported="no"> <!-- 103 - Mech Cyclone: Fighting Masters -->
- <description>Jī jiǎ xuànfēng-gédòu dàshī (set 2)</description>
- <year>2011</year>
- <publisher>M&amp;D</publisher>
- <info name="alt_title" value="机甲旋风-格斗大师"/>
- <part name="cart" interface="monon_color_cart">
- <dataarea name="rom" size="0x1000000">
- <rom name="103_alt.bin" size="0x0800000" crc="63bc84fb" sha1="e90e5a60f15d7ebfb83976ccb0183ecc723b5eb4" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="zinba" supported="no"> <!-- 104 - Zinba! : The lost relics -->
- <description>Shén pò-shīluò de yíjī</description>
- <year>2011</year>
- <publisher>M&amp;D</publisher>
- <info name="alt_title" value="神魄-失è½çš„é—迹"/>
- <part name="cart" interface="monon_color_cart">
- <dataarea name="rom" size="0x1000000">
- <rom name="104.bin" size="0x0800000" crc="e7fd791a" sha1="7572d11ce5fae30a01ebe1053d8632329249fba8" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="purceb" supported="no"> <!-- 105 - Purcell: Energy Battle -->
- <description>Sài ěr hào-néngyuán dà zuòzhàn</description>
- <year>2011</year>
- <publisher>M&amp;D</publisher>
- <info name="alt_title" value="赛尔å·-能æºå¤§ä½œæˆ˜"/>
- <part name="cart" interface="monon_color_cart">
- <dataarea name="rom" size="0x1000000">
- <rom name="105.bin" size="0x0400000" crc="47b4a312" sha1="c4600ce39fd2301df3778afe896936d510cbbd5b" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="ironmnhs" supported="no"> <!-- 106 - Iron Man: Hero Strike -->
- <description>GÄngtiÄ› xiá-yÄ«ngxióng fÇŽnjí zhàn</description>
- <year>2011</year>
- <publisher>M&amp;D</publisher>
- <info name="alt_title" value="é’¢é“ä¾ -英雄å击战"/>
- <part name="cart" interface="monon_color_cart">
- <dataarea name="rom" size="0x1000000">
- <rom name="106.bin" size="0x0800000" crc="68517eea" sha1="e262f5ac691d8a3e30232a6b51d9428b73b9e8e2" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="zombhunt" supported="no"> <!-- 107 - Zombie Hunter -->
- <description>JiÄngshÄ« lièrén</description>
- <year>2011</year>
- <publisher>M&amp;D</publisher>
- <info name="alt_title" value="僵尸猎人"/>
- <part name="cart" interface="monon_color_cart">
- <dataarea name="rom" size="0x1000000">
- <rom name="107.bin" size="0x1000000" crc="cd9d372d" sha1="71b09bf181a5565e7cca4281def59364b270767e" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="lockba" supported="no"> <!-- 201 - Locke Kingdom: Big Adventure -->
- <description>Luòkè wángguó-dà màoxiǎn</description>
- <year>2011</year>
- <publisher>M&amp;D</publisher>
- <info name="alt_title" value="洛克王国-大冒险"/>
- <part name="cart" interface="monon_color_cart">
- <dataarea name="rom" size="0x1000000">
- <rom name="201.bin" size="0x1000000" crc="cf52653e" sha1="96aa826821d20af3edfe0f8058e6158841b7bf08" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="lockice" supported="no"> <!-- 202 - Locke Kingdom RPG: Ice Blue -->
- <description>Luòkè wángguó-bīng zhī lán</description>
- <year>2011</year>
- <publisher>M&amp;D</publisher>
- <info name="alt_title" value="冰之è“"/>
- <part name="cart" interface="monon_color_cart">
- <dataarea name="rom" size="0x1000000">
- <rom name="202.bin" size="0x1000000" crc="554af334" sha1="94c54a7ad4828e95074ec341eef9278b552f655e" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="lockfire" supported="no"> <!-- 203 - Locke Kingdom RPG: Black Fire -->
- <description>Luòkè wángguó-hēi zhī yán</description>
- <year>2011</year>
- <publisher>M&amp;D</publisher>
- <info name="alt_title" value="洛克王国-黑之炎"/>
- <part name="cart" interface="monon_color_cart">
- <dataarea name="rom" size="0x1000000">
- <rom name="203.bin" size="0x1000000" crc="8541d04e" sha1="5fa6edc852622f6c2cca07ec9c7f377bea020f9b" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="lockcard" supported="no"> <!-- 204 - Locke Kingdom: Card Wars -->
- <description>Luòkè wángguó-kǎ pái zhàn jì</description>
- <year>2011</year>
- <publisher>M&amp;D</publisher>
- <info name="alt_title" value="å¡ç‰Œæˆ˜çºª"/>
- <part name="cart" interface="monon_color_cart">
- <dataarea name="rom" size="0x1000000">
- <rom name="204.bin" size="0x1000000" crc="0015d25c" sha1="50de7d969bead2df60e8ea4051f8518dd8989633" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="armorwr" supported="no"> <!-- 205 - Armor Warrior -->
- <description>Kǎijiǎ yǒngshì dàluàn dòu</description>
- <year>2011</year>
- <publisher>M&amp;D</publisher>
- <info name="alt_title" value="铠甲勇士大乱斗"/>
- <part name="cart" interface="monon_color_cart">
- <dataarea name="rom" size="0x1000000">
- <rom name="205.bin" size="0x1000000" crc="84d1224c" sha1="9c427031221dc69034275a359e87c0dda82ae295" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="logicft" supported="no"> <!-- 301 - Logic Fight -->
- <description>Luójí pīn yī pīn</description>
- <year>2011</year>
- <publisher>M&amp;D</publisher>
- <info name="alt_title" value="逻辑拼一拼"/>
- <part name="cart" interface="monon_color_cart">
- <dataarea name="rom" size="0x1000000">
- <rom name="301.bin" size="0x0400000" crc="e8f19fdc" sha1="330980c975e3fafea9b3dda1b010fdd469100919" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="bigwolf" supported="no"> <!-- 302 - Pleasant goat and big big wolf's comet battle -->
- <description>XÇyángyáng yÇ” huÄ«tàiláng-juézhàn miÄ“ xÄ«ng</description>
- <year>2011</year>
- <publisher>M&amp;D</publisher>
- <info name="alt_title" value="喜羊羊与ç°å¤ªç‹¼-决战咩星"/>
- <part name="cart" interface="monon_color_cart">
- <dataarea name="rom" size="0x1000000">
- <rom name="302.bin" size="0x0800000" crc="3cd4190c" sha1="3d910389e345f2b6ac38fce3571d74fc8cbcfabb" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="drgnbma" supported="no"> <!-- 303 - Dragon Ball: The Martial Arts Conference -->
- <description>Lóngzhū-wǔdào dàhuì</description>
- <year>2011</year>
- <publisher>M&amp;D</publisher>
- <info name="alt_title" value="é¾™ç -æ­¦é“大会"/>
- <part name="cart" interface="monon_color_cart">
- <dataarea name="rom" size="0x1000000">
- <rom name="303.bin" size="0x1000000" crc="d5bd966e" sha1="792b22444a329d08520591e80599835d77f38b3c" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="lolfight" supported="no"> <!-- 304 - League of Legends: The Ultimate Fight -->
- <description>YÄ«ngxióng liánméng-zhÅngjí gédòu</description>
- <year>2011</year>
- <publisher>M&amp;D</publisher>
- <info name="alt_title" value="英雄è”盟"/>
- <part name="cart" interface="monon_color_cart">
- <dataarea name="rom" size="0x1000000">
- <rom name="304.bin" size="0x1000000" crc="e4833f82" sha1="877c28d188d19b882909b4b0934ce2f900d2ce30" offset="0" />
- </dataarea>
- </part>
- </software>
+ <software name="purcfs"> <!-- 101 - Purcell: Ares Fighting Spirit -->
+ <description>Sài ěr hào: Zhànshén dòu hún</description>
+ <year>2011</year>
+ <publisher>M&amp;D</publisher>
+ <info name="alt_title" value="赛尔å·ï¼šæˆ˜ç¥žæ–—é­‚"/>
+ <part name="cart" interface="monon_color_cart">
+ <dataarea name="rom" size="0x1000000">
+ <rom name="101.bin" size="0x0800000" crc="7eced0cf" sha1="3e34abbaf1259094099f1587302dfbd84ffb8384" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="lockmagi"> <!-- 102 - Locke Kingdom: Magic Array -->
+ <description>Luòkè wángguó-mófǎ zhèn</description>
+ <year>2011</year>
+ <publisher>M&amp;D</publisher>
+ <info name="alt_title" value="洛克王国-魔法阵"/>
+ <part name="cart" interface="monon_color_cart">
+ <dataarea name="rom" size="0x1000000">
+ <rom name="102.bin" size="0x0800000" crc="15ed170d" sha1="ce4832f57459acf01deae688c62d444cffaa271a" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="mechcycl"> <!-- 103 - Mech Cyclone: Fighting Masters -->
+ <description>Jī jiǎ xuànfēng-gédòu dàshī</description>
+ <year>2011</year>
+ <publisher>M&amp;D</publisher>
+ <info name="alt_title" value="机甲旋风-格斗大师"/>
+ <part name="cart" interface="monon_color_cart">
+ <dataarea name="rom" size="0x1000000">
+ <rom name="103.bin" size="0x0800000" crc="441d5f9d" sha1="2ec85c5225b7ed0291b13f5d3bc57a9ef0153b5e" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="zinba"> <!-- 104 - Zinba! : The lost relics -->
+ <description>Shén pò-shīluò de yíjī</description>
+ <year>2011</year>
+ <publisher>M&amp;D</publisher>
+ <info name="alt_title" value="神魄-失è½çš„é—迹"/>
+ <part name="cart" interface="monon_color_cart">
+ <dataarea name="rom" size="0x1000000">
+ <rom name="104.bin" size="0x0800000" crc="e7fd791a" sha1="7572d11ce5fae30a01ebe1053d8632329249fba8" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="purceb"> <!-- 105 - Purcell: Energy Battle -->
+ <description>Sài ěr hào-néngyuán dà zuòzhàn</description>
+ <year>2011</year>
+ <publisher>M&amp;D</publisher>
+ <info name="alt_title" value="赛尔å·-能æºå¤§ä½œæˆ˜"/>
+ <part name="cart" interface="monon_color_cart">
+ <dataarea name="rom" size="0x1000000">
+ <rom name="105.bin" size="0x0400000" crc="47b4a312" sha1="c4600ce39fd2301df3778afe896936d510cbbd5b" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="ironmnhs"> <!-- 106 - Iron Man: Hero Strike -->
+ <description>GÄngtiÄ› xiá-yÄ«ngxióng fÇŽnjí zhàn</description>
+ <year>2011</year>
+ <publisher>M&amp;D</publisher>
+ <info name="alt_title" value="é’¢é“ä¾ -英雄å击战"/>
+ <part name="cart" interface="monon_color_cart">
+ <dataarea name="rom" size="0x1000000">
+ <rom name="106.bin" size="0x0800000" crc="68517eea" sha1="e262f5ac691d8a3e30232a6b51d9428b73b9e8e2" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="zombhunt"> <!-- 107 - Zombie Hunter -->
+ <description>JiÄngshÄ« lièrén</description>
+ <year>2011</year>
+ <publisher>M&amp;D</publisher>
+ <info name="alt_title" value="僵尸猎人"/>
+ <part name="cart" interface="monon_color_cart">
+ <dataarea name="rom" size="0x1000000">
+ <rom name="107.bin" size="0x1000000" crc="cd9d372d" sha1="71b09bf181a5565e7cca4281def59364b270767e" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="lockba"> <!-- 201 - Locke Kingdom: Big Adventure -->
+ <description>Luòkè wángguó-dà màoxiǎn</description>
+ <year>2011</year>
+ <publisher>M&amp;D</publisher>
+ <info name="alt_title" value="洛克王国-大冒险"/>
+ <part name="cart" interface="monon_color_cart">
+ <dataarea name="rom" size="0x1000000">
+ <rom name="201.bin" size="0x1000000" crc="cf52653e" sha1="96aa826821d20af3edfe0f8058e6158841b7bf08" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="lockice"> <!-- 202 - Locke Kingdom RPG: Ice Blue -->
+ <description>Luòkè wángguó-bīng zhī lán</description>
+ <year>2011</year>
+ <publisher>M&amp;D</publisher>
+ <info name="alt_title" value="冰之è“"/>
+ <part name="cart" interface="monon_color_cart">
+ <dataarea name="rom" size="0x1000000">
+ <rom name="202.bin" size="0x1000000" crc="554af334" sha1="94c54a7ad4828e95074ec341eef9278b552f655e" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="lockfire"> <!-- 203 - Locke Kingdom RPG: Black Fire -->
+ <description>Luòkè wángguó-hēi zhī yán</description>
+ <year>2011</year>
+ <publisher>M&amp;D</publisher>
+ <info name="alt_title" value="洛克王国-黑之炎"/>
+ <part name="cart" interface="monon_color_cart">
+ <dataarea name="rom" size="0x1000000">
+ <rom name="203.bin" size="0x1000000" crc="8541d04e" sha1="5fa6edc852622f6c2cca07ec9c7f377bea020f9b" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="lockcard"> <!-- 204 - Locke Kingdom: Card Wars -->
+ <description>Luòkè wángguó-kǎ pái zhàn jì</description>
+ <year>2011</year>
+ <publisher>M&amp;D</publisher>
+ <info name="alt_title" value="å¡ç‰Œæˆ˜çºª"/>
+ <part name="cart" interface="monon_color_cart">
+ <dataarea name="rom" size="0x1000000">
+ <rom name="204.bin" size="0x1000000" crc="0015d25c" sha1="50de7d969bead2df60e8ea4051f8518dd8989633" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="armorwr"> <!-- 205 - Armor Warrior -->
+ <description>Kǎijiǎ yǒngshì dàluàn dòu</description>
+ <year>2011</year>
+ <publisher>M&amp;D</publisher>
+ <info name="alt_title" value="铠甲勇士大乱斗"/>
+ <part name="cart" interface="monon_color_cart">
+ <dataarea name="rom" size="0x1000000">
+ <rom name="205.bin" size="0x1000000" crc="84d1224c" sha1="9c427031221dc69034275a359e87c0dda82ae295" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="logicft"> <!-- 301 - Logic Fight -->
+ <description>Luójí pīn yī pīn</description>
+ <year>2011</year>
+ <publisher>M&amp;D</publisher>
+ <info name="alt_title" value="逻辑拼一拼"/>
+ <part name="cart" interface="monon_color_cart">
+ <dataarea name="rom" size="0x1000000">
+ <rom name="301.bin" size="0x0400000" crc="e8f19fdc" sha1="330980c975e3fafea9b3dda1b010fdd469100919" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="drgnbma"> <!-- 303 - Dragon Ball: The Martial Arts Conference -->
+ <description>Lóngzhū-wǔdào dàhuì</description>
+ <year>2011</year>
+ <publisher>M&amp;D</publisher>
+ <info name="alt_title" value="é¾™ç -æ­¦é“大会"/>
+ <part name="cart" interface="monon_color_cart">
+ <dataarea name="rom" size="0x1000000">
+ <rom name="303.bin" size="0x1000000" crc="d5bd966e" sha1="792b22444a329d08520591e80599835d77f38b3c" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="lolfight"> <!-- 304 - League of Legends: The Ultimate Fight -->
+ <description>YÄ«ngxióng liánméng-zhÅngjí gédòu</description>
+ <year>2011</year>
+ <publisher>M&amp;D</publisher>
+ <info name="alt_title" value="英雄è”盟"/>
+ <part name="cart" interface="monon_color_cart">
+ <dataarea name="rom" size="0x1000000">
+ <rom name="304.bin" size="0x1000000" crc="e4833f82" sha1="877c28d188d19b882909b4b0934ce2f900d2ce30" offset="0" />
+ </dataarea>
+ </part>
+ </software>
</softwarelist>
diff --git a/hash/msx1_cart.xml b/hash/msx1_cart.xml
index 1fdb0f9707f..7d124b4a064 100644
--- a/hash/msx1_cart.xml
+++ b/hash/msx1_cart.xml
@@ -10324,8 +10324,8 @@ kept for now until finding out what those bytes affect...
<feature name="slot" value="konami_scc" />
<feature name="mapper" value="KONAMI-SCC" />
<dataarea name="rom" size="32768">
- <!-- Original Dump from an 39SF010 flashrom - 128kb Image. 32KB Rom file cropped out of image after discarding unused area (FF)
- <rom name="roc'n rope.bin" size="131072" crc="a71c2009" sha1="4429fe7090953dd509feccafd87ea4e8deb6360f" offset="0" /> -->
+<!-- Original Dump from an 39SF010 flashrom - 128kb Image. 32KB Rom file cropped out of image after discarding unused area (FF)
+ <rom name="roc'n rope.bin" size="131072" crc="a71c2009" sha1="4429fe7090953dd509feccafd87ea4e8deb6360f" offset="0" /> -->
<rom name="roc'n rope.rom" size="32768" crc="c0c32c3e" sha1="74b2dbb51437b531ca78c314d666aabe0fd2e177" offset="0" />
</dataarea>
</part>
diff --git a/hash/msx1_cass.xml b/hash/msx1_cass.xml
index b8be81e6fda..b8be81e6fda 100644..100755
--- a/hash/msx1_cass.xml
+++ b/hash/msx1_cass.xml
diff --git a/hash/mtx_cart.xml b/hash/mtx_cart.xml
index f71e1508c1f..a54652fac10 100644
--- a/hash/mtx_cart.xml
+++ b/hash/mtx_cart.xml
@@ -7,7 +7,7 @@
<description>MTX Node Ring</description>
<year>198?</year>
<publisher>Memotech</publisher>
- <part name="cart" interface="mtx_cart">
+ <part name="rom" interface="mtx_cart">
<dataarea name="rom" size="8192">
<rom name="node.rom" size="8192" crc="cb05a1b8" sha1="b040e5f062b460d4465050da31be66075dee2844" offset="0"/>
</dataarea>
diff --git a/hash/mtx_flop.xml b/hash/mtx_flop.xml
deleted file mode 100644
index 6afbd199481..00000000000
--- a/hash/mtx_flop.xml
+++ /dev/null
@@ -1,116 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
-
-<softwarelist name="mtx_flop" description="Memotech MTX diskettes">
-
- <software name="cpmsdx">
- <description>CP/M System Disk (SDX)</description>
- <year>198?</year>
- <publisher>Memotech</publisher>
- <part name="flop" interface="floppy_5_25">
- <dataarea name="flop" size="402293">
- <rom name="sdx07sys.imd" size="402293" crc="c6afe230" sha1="3a4aae01a2cfa79d7ba860fb93c06c511492b628" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="cpmfdx">
- <description>CP/M System Disk (FDX)</description>
- <year>198?</year>
- <publisher>Memotech</publisher>
- <part name="flop" interface="floppy_5_25">
- <dataarea name="flop" size="223283">
- <rom name="fdx07sys.imd" size="223283" crc="1d1d1587" sha1="508740419830d27f7f4cf475adddd0538720e1d3" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="dbase2">
- <description>dBASE II</description>
- <year>1983</year>
- <publisher>Ashton-Tate</publisher>
- <part name="flop" interface="floppy_5_25">
- <dataarea name="flop" size="538973">
- <rom name="dBase24.imd" size="538973" crc="e1994529" sha1="6b70222432f356145b57b89132893ceefb68ec9f" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="mex">
- <description>Modem Executive 1.14</description>
- <year>1985</year>
- <publisher>NightOwl Software</publisher>
- <part name="flop" interface="floppy_5_25">
- <dataarea name="flop" size="278873">
- <rom name="MEX_v1.14.imd" size="278873" crc="55472c63" sha1="42bb6b68baeb740982c0f60f0ab771a64c71e0d1" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="newword">
- <description>FDX NewWord</description>
- <year>1985</year>
- <publisher>Memotech</publisher>
- <part name="flop" interface="floppy_5_25">
- <dataarea name="flop" size="267908">
- <rom name="NewWord.imd" size="267908" crc="a4188525" sha1="f1648ea993b33dc5fcd4b97c14fd4265ff77fc2b" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="suprcalc">
- <description>SuperCalc</description>
- <year>1983</year>
- <publisher>Sorcim</publisher>
- <part name="flop" interface="floppy_5_25">
- <dataarea name="flop" size="2008064">
- <rom name="SuperCalc_v1.12.hfe" size="2008064" crc="a323a807" sha1="5718bfc65570e0f3b21735777c2125d40d853afe" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="tap2dsk">
- <description>Tape to Disc Transfer (FDX and CP/M only)</description>
- <year>198?</year>
- <publisher>Memotech</publisher>
- <part name="flop" interface="floppy_5_25">
- <dataarea name="flop" size="74363">
- <rom name="FDX_Tape2Disk12.imd" size="74363" crc="0020564c" sha1="2d2ad6eb86f98a6c9884066d3d65a884e248f894" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="tpascal2">
- <description>Turbo PASCAL 2.00A</description>
- <year>1984</year>
- <publisher>Borland</publisher>
- <part name="flop" interface="floppy_5_25">
- <dataarea name="flop" size="132248">
- <rom name="TurboPascal_v2_Type07.imd" size="132248" crc="aac6a41f" sha1="6eecd06c92972beec7f6d0ee9c15fc127b8b3a7f" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="tpascal3">
- <description>Turbo PASCAL 3.00A</description>
- <year>1985</year>
- <publisher>Borland</publisher>
- <part name="flop" interface="floppy_5_25">
- <dataarea name="flop" size="169223">
- <rom name="TurboPascal_v3_Type07.imd" size="169223" crc="fcde91fa" sha1="02ff593049011ddb24b4bc17e271f2504f403cf8" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="wordstar">
- <description>WordStar 3.00</description>
- <year>198?</year>
- <publisher>Micropro</publisher>
- <part name="flop" interface="floppy_5_25">
- <dataarea name="flop" size="188858">
- <rom name="WordStar_v3_Type07.imd" size="188858" crc="be177343" sha1="391b08477020607b2c96fddf3fd2d1e2fa7e269d" offset="0"/>
- </dataarea>
- </part>
- </software>
-
-</softwarelist>
diff --git a/hash/mtx_rom.xml b/hash/mtx_rom.xml
index aee33ff218b..5a0ea7ec1ae 100644
--- a/hash/mtx_rom.xml
+++ b/hash/mtx_rom.xml
@@ -4,7 +4,7 @@
<softwarelist name="mtx_rom" description="Memotech MTX ROM extensions">
<software name="newword">
- <description>MTX Colour NewWord</description>
+ <description>MTX NewWord</description>
<year>1984</year>
<publisher>NewStar Software</publisher>
<info name="usage" value="ROM 2" />
diff --git a/hash/neogeo.xml b/hash/neogeo.xml
index 5ccae02c460..43dcf24af70 100644
--- a/hash/neogeo.xml
+++ b/hash/neogeo.xml
@@ -1371,10 +1371,9 @@
</software>
<software name="quizdaisk" cloneof="quizdais">
- <description>Quiz Salibtamjeong - The Last Count Down (Korean localized Quiz Daisousa Sen)</description>
- <year>1995</year>
- <publisher>SNK / Viccom</publisher> <!--Localized by Viccom-->
- <info name="alt_title" value="퀴즈 사립íƒì •"/>
+ <description>Quiz Daisousa Sen - The Last Count Down (Korean release)</description>
+ <year>1991</year>
+ <publisher>SNK</publisher>
<sharedfeat name="release" value="MVS" /> <!-- Unknown if it was also released on AES -->
<sharedfeat name="compatibility" value="MVS,AES" />
<part name="cart" interface="neo_cart">
@@ -3291,13 +3290,12 @@
-->
<software name="fightfev">
- <description>Fight Fever / Wang Jung Wang (set 1)</description>
+ <description>Fight Fever (set 1)</description>
<year>1994</year>
<publisher>Viccom</publisher>
<info name="serial" value="NGM-060"/>
<info name="release" value="19940628"/>
<info name="alt_title" value="ファイトフィーãƒãƒ¼"/>
- <!--<info name="alt_title" value="왕중왕"/> developed and released in korea; korean language is only available in europe / asia bios-->
<sharedfeat name="release" value="MVS" />
<sharedfeat name="compatibility" value="MVS,AES" />
<part name="cart" interface="neo_cart">
@@ -3324,13 +3322,12 @@
</software>
<software name="fightfeva" cloneof="fightfev">
- <description>Fight Fever / Wang Jung Wang (set 2)</description>
+ <description>Fight Fever (set 2)</description>
<year>1994</year>
<publisher>Viccom</publisher>
<info name="serial" value="NGM-060"/>
<info name="release" value="19940628"/>
<info name="alt_title" value="ファイトフィーãƒãƒ¼"/>
- <!--<info name="alt_title" value="왕중왕"/> developed and released in korea; korean language is only available in europe / asia bios-->
<sharedfeat name="release" value="MVS" />
<sharedfeat name="compatibility" value="MVS,AES" />
<part name="cart" interface="neo_cart">
@@ -4150,7 +4147,7 @@
<software name="quizkof">
<description>Quiz King of Fighters (SAM-080 ~ SAH-080)</description>
<year>1995</year>
- <publisher>Saurus (SNK license)</publisher>
+ <publisher>Saurus</publisher>
<info name="serial" value="NGM-080 / SAM-080 (MVS), NGH-080 / SAH-080 (AES)"/>
<info name="release" value="19950201 (MVS), 19950310 (AES)"/>
<info name="alt_title" value="クイズ キングオブファイターズ"/>
@@ -4181,10 +4178,9 @@
</software>
<software name="quizkofk" cloneof="quizkof">
- <description>Quiz King of Fighters (Korea)</description>
- <year>1996</year>
- <publisher>Saurus / Viccom (SNK license)</publisher>
- <info name="alt_title" value="퀴즈 킹 오브 í™”ì´í„°ì¦ˆ"/>
+ <description>Quiz King of Fighters (Korean release)</description>
+ <year>1995</year>
+ <publisher>Saurus</publisher>
<sharedfeat name="release" value="MVS" /> <!-- Unknown if it was also released on AES -->
<sharedfeat name="compatibility" value="MVS,AES" />
<part name="cart" interface="neo_cart">
@@ -5220,7 +5216,7 @@
The following ID's are used by Korean releases:
ID-0122 - Pae Wang Jeon Seol / Legend of a Warrior (Korean censored Samurai Shodown IV)
- ID-0123 - Quiz Salibtamjeong - The Last Count Down (Korean localized Quiz Daisousa Sen)
+ ID-0123 - Quiz Daisousa Sen - The Last Count Down (Korean release)
ID-0124 - Real Bout Fatal Fury Special / Real Bout Garou Densetsu Special (Korean release)
ID-0134 - The Last Soldier (Korean release of The Last Blade)
ID-0140 - Real Bout Fatal Fury 2 - The Newcomers (Korean release)
@@ -5943,11 +5939,11 @@
<!--
ID-0220
- Choutetsu Brikin'ger / Iron clad (prototype) 1996 Saurus
+ Choutetsu Brikin'ger - Iron clad (prototype) 1996 Saurus
-->
<software name="ironclad">
- <description>Choutetsu Brikin'ger / Iron Clad (Prototype)</description>
+ <description>Choutetsu Brikin'ger - Iron Clad (Prototype)</description>
<year>1996</year>
<publisher>Saurus</publisher>
<sharedfeat name="release" value="MVS,AES" />
@@ -5977,7 +5973,7 @@
</software>
<software name="ironclado" cloneof="ironclad">
- <description>Choutetsu Brikin'ger / Iron Clad (Prototype, bootleg)</description>
+ <description>Choutetsu Brikin'ger - Iron Clad (Prototype, bootleg)</description>
<year>1996</year>
<publisher>bootleg</publisher>
<sharedfeat name="release" value="MVS,AES" />
@@ -8210,7 +8206,7 @@
<software name="preisle2">
<description>Prehistoric Isle 2</description>
<year>1999</year>
- <publisher>Yumekobo / Saurus</publisher> <!--co-developed with saurus-->
+ <publisher>Yumekobo</publisher>
<info name="serial" value="NGM-2550"/>
<info name="release" value="19990927"/>
<info name="alt_title" value="原始島2"/>
@@ -8302,7 +8298,7 @@
</part>
</software>
- <software name="mslug3a" cloneof="mslug3"> <!-- see neogeo.cpp for notes on this set -->
+<software name="mslug3a" cloneof="mslug3"> <!-- see neogeo.cpp for notes on this set -->
<description>Metal Slug 3 (NGM-2560, earlier)</description>
<year>2000</year>
<publisher>SNK</publisher>
@@ -9214,7 +9210,7 @@
<software name="svc">
<description>SNK vs. Capcom - SVC Chaos (NGM-2690 ~ NGH-2690)</description>
<year>2003</year>
- <publisher>Playmore / Capcom</publisher>
+ <publisher>SNK Playmore</publisher>
<info name="serial" value="NGM-2690 (MVS), NGH-2690 (AES)"/>
<info name="release" value="20030724 (MVS), 20031113 (AES)"/>
<info name="alt_title" value="エス・エヌ・ケイ ãƒãƒ¼ã‚µã‚¹ カプコン エスブイシー カオス"/>
diff --git a/hash/pc98.xml b/hash/pc98.xml
index 3927bb8fb3d..9642650c18d 100644
--- a/hash/pc98.xml
+++ b/hash/pc98.xml
@@ -855,10 +855,10 @@ only have some part of Windows file and a Video driver(CLGD?).
</part>
</software>
- <software name="cobol">
- <description>Level II COBOL V2.1</description>
- <year>1984</year>
- <publisher>Micro Focus</publisher>
+ <software name="cobol" supported="no">
+ <description>Microfocus Level II COBOL</description>
+ <year>19??</year>
+ <publisher>&lt;unknown&gt;</publisher>
<part name="flop1" interface="floppy_5_25">
<dataarea name="flop" size="1261568">
<rom name="lebel 2 cobol.dsk" size="1261568" crc="09d3f7e7" sha1="71067543b229f996f6cea08b36de3f0ec6f17921" offset="0" />
@@ -921,7 +921,7 @@ only have some part of Windows file and a Video driver(CLGD?).
</software>
<software name="copyaid">
- <description>Copy Aid 98 II v2.20</description>
+ <description>Copy AID98II v2.20</description>
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
<part name="flop1" interface="floppy_5_25">
@@ -8705,8 +8705,7 @@ only have some part of Windows file and a Video driver(CLGD?).
</part>
</software>
- <!-- Black screen on boot -->
- <software name="cal" supported="no">
+ <software name="cal">
<description>Cal</description>
<year>1990</year>
<publisher>ãƒãƒ¼ãƒ‡ã‚£ãƒ¼ã‚½ãƒ•ト (Birdy Soft)</publisher>
@@ -8726,8 +8725,7 @@ only have some part of Windows file and a Video driver(CLGD?).
</part>
</software>
- <!-- Black screen on boot -->
- <software name="cal2" supported="no">
+ <software name="cal2">
<description>Cal II</description>
<year>1991</year>
<publisher>ãƒãƒ¼ãƒ‡ã‚£ãƒ¼ã‚½ãƒ•ト (Birdy Soft)</publisher>
@@ -8759,108 +8757,12 @@ only have some part of Windows file and a Video driver(CLGD?).
</part>
</software>
- <software name="cal3">
- <!-- Origin: Neo Kobe Collection -->
- <description>Cal III - Kanketsuhen</description>
- <year>1993</year>
- <publisher>ãƒãƒ¼ãƒ‡ã‚£ãƒ¼ã‚½ãƒ•ト (Birdy Soft)</publisher>
- <info name="alt_title" value="キャルIII 完çµç·¨" />
- <info name="release" value="19930710" />
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Disk A"/>
- <dataarea name="flop" size="1261568">
- <rom name="cal iii kanketsuhen (disk a).hdm" size="1261568" crc="faf9a4e5" sha1="30a368d5047f31d6c35f9472ca7a6593b1405677" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Disk B"/>
- <dataarea name="flop" size="1261568">
- <rom name="cal iii kanketsuhen (disk b).hdm" size="1261568" crc="40297c12" sha1="b641660b5aff02a1900d06979806ab5f465cf069" offset="0" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_5_25">
- <feature name="part_id" value="Disk C"/>
- <dataarea name="flop" size="1261568">
- <rom name="cal iii kanketsuhen (disk c).hdm" size="1261568" crc="082562bd" sha1="711bfea5d13735ee9f135d3943b7c0160180b75e" offset="0" />
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_5_25">
- <feature name="part_id" value="Disk D"/>
- <dataarea name="flop" size="1261568">
- <rom name="cal iii kanketsuhen (disk d).hdm" size="1261568" crc="d745ed9c" sha1="77d8004110afb2d317673e8a32317aad15dacb7f" offset="0" />
- </dataarea>
- </part>
- <part name="flop5" interface="floppy_5_25">
- <feature name="part_id" value="Disk E"/>
- <dataarea name="flop" size="1261568">
- <rom name="cal iii kanketsuhen (disk e).hdm" size="1261568" crc="7a2d7325" sha1="ac0df6501eeb703c049ef556d86b909db5fc6ff3" offset="0" />
- </dataarea>
- </part>
- <part name="flop6" interface="floppy_5_25">
- <feature name="part_id" value="Disk F"/>
- <dataarea name="flop" size="1261568">
- <rom name="cal iii kanketsuhen (disk f).hdm" size="1261568" crc="d45dbe21" sha1="e6fb08319b53c7a3a2555684b19f4d10eaf284da" offset="0" />
- </dataarea>
- </part>
- <part name="flop7" interface="floppy_5_25">
- <feature name="part_id" value="Disk G"/>
- <dataarea name="flop" size="1261568">
- <rom name="cal iii kanketsuhen (disk g).hdm" size="1261568" crc="9f48372b" sha1="04f57dd72b234cf2c57da33a32cc7293f10906fd" offset="0" />
- </dataarea>
- </part>
- <part name="flop8" interface="floppy_5_25">
- <feature name="part_id" value="Disk H"/>
- <dataarea name="flop" size="1261568">
- <rom name="cal iii kanketsuhen (disk h).hdm" size="1261568" crc="0fcae064" sha1="970f352923b67944b1b9a5a1c9b2c2c264140601" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="caltiny">
- <description>Cal Gaiden - Tiny Steps Behind the Cal</description>
- <year>1993</year>
- <publisher>ãƒãƒ¼ãƒ‡ã‚£ãƒ¼ã‚½ãƒ•ト (Birdy Soft)</publisher>
- <info name="alt_title" value="ã‚­ãƒ£ãƒ«å¤–ä¼ ã‚¿ã‚¤ãƒ‹ã‚£ã‚¹ãƒ†ãƒƒãƒ—" />
- <info name="release" value="19930724" />
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Disk A"/>
- <dataarea name="flop" size="1261568">
- <rom name="cal gaiden - tiny steps behind the cal (disk a).hdm" size="1261568" crc="64876810" sha1="23666652a81acc5a5c31d66f372014fbff528900" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Disk B"/>
- <dataarea name="flop" size="1261568">
- <rom name="cal gaiden - tiny steps behind the cal (disk b).hdm" size="1261568" crc="9c438b25" sha1="bc2427fdabe988ff976f07c16fa1eba8229a7891" offset="0" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_5_25">
- <feature name="part_id" value="Disk C"/>
- <dataarea name="flop" size="1261568">
- <rom name="cal gaiden - tiny steps behind the cal (disk c).hdm" size="1261568" crc="7cb00c34" sha1="b2616a627ed9e5313fa0088b3c3e12ed3faec69a" offset="0" />
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_5_25">
- <feature name="part_id" value="Disk D"/>
- <dataarea name="flop" size="1261568">
- <rom name="cal gaiden - tiny steps behind the cal (disk d).hdm" size="1261568" crc="f3a27716" sha1="239478afe0dc960eadc105f6ae5c6948d029c523" offset="0" />
- </dataarea>
- </part>
- <part name="flop5" interface="floppy_5_25">
- <feature name="part_id" value="Disk E"/>
- <dataarea name="flop" size="1261568">
- <rom name="cal gaiden - tiny steps behind the cal (disk e).hdm" size="1261568" crc="b31f0fe3" sha1="a54045acdb2ccea09a8d5d7371b0e0f0be9e3145" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="camisole" supported="partial">
+ <software name="camisole">
<description>Camisole</description>
<year>1992</year>
<publisher>フラット (Flat)</publisher>
<info name="alt_title" value="キャミソール" />
<info name="release" value="199211xx" />
- <info name="usage" value="Run FDINST.BAT to copy system files (requires DOS 3.3) or HDINST.BAT to install to HDD" />
<part name="flop1" interface="floppy_5_25">
<feature name="part_id" value="System Disk"/>
<dataarea name="flop" size="1265664">
@@ -8881,33 +8783,6 @@ only have some part of Windows file and a Video driver(CLGD?).
</part>
</software>
- <software name="capefude">
- <!-- Origin: Neo Kobe Collection -->
- <description>Capcom Tokoton Efude</description>
- <year>1992</year>
- <publisher>カプコン (Capcom)</publisher>
- <info name="alt_title" value="カプコンã¨ã“ã¨ã‚“絵筆" />
- <info name="usage" value="Requires DOS 3.3, later versions don't work. Run INST.BAT to install to floppy or HDD." />
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="System Disk"/>
- <dataarea name="flop" size="1261568">
- <rom name="capcom tokoton efude (system disk).hdm" size="1261568" crc="5275b066" sha1="ac6e9c9ff4d051cee1258977dcfa37be3c93e98d" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Font Disk"/>
- <dataarea name="flop" size="1261568">
- <rom name="capcom tokoton efude (font disk).hdm" size="1261568" crc="c19b68ad" sha1="5ad912e01b62c02bbbd5bdb923bf95f7af8ced88" offset="0" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_5_25">
- <feature name="part_id" value="Illustration Disk"/>
- <dataarea name="flop" size="1261568">
- <rom name="capcom tokoton efude (illustration disk).hdm" size="1261568" crc="c5435914" sha1="1a774a601412bb85fb5ba1d3eb23741806d6ee37" offset="0" />
- </dataarea>
- </part>
- </software>
-
<software name="cdaisen2">
<description>Campaign Version Daisenryaku II</description>
<year>1989</year>
@@ -9023,7 +8898,7 @@ only have some part of Windows file and a Video driver(CLGD?).
<software name="canvas98">
<description>Canvas 98</description>
- <year>1992</year>
+ <year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
<info name="alt_title" value="キャンãƒã‚™ã‚¹98" />
<part name="flop1" interface="floppy_5_25">
@@ -9040,7 +8915,6 @@ only have some part of Windows file and a Video driver(CLGD?).
<publisher>アグミックス (Agumix)</publisher>
<info name="alt_title" value="キャラメルクエスト ~冥天宮ã®å¥³ç¥žåƒï½ž" />
<info name="release" value="19910514" />
- <info name="usage" value="Requires 5 MHz GDC clock" />
<part name="flop1" interface="floppy_5_25">
<feature name="part_id" value="Disk 1"/>
<dataarea name="flop" size="1281968">
@@ -9081,13 +8955,31 @@ only have some part of Windows file and a Video driver(CLGD?).
</part>
</software>
- <!-- Black screen on boot, but works if installed to HDD -->
- <software name="cardbust" supported="no">
+ <software name="carata" cloneof="carat">
+ <description>Carat - Magical Blocks (Alt)</description>
+ <year>1992</year>
+ <publisher>カスタム (Custom)</publisher>
+ <info name="alt_title" value="キャラット MAGICAL BLOCKS" />
+ <info name="release" value="19920522" />
+ <part name="flop1" interface="floppy_5_25">
+ <feature name="part_id" value="Disk A"/>
+ <dataarea name="flop" size="1265664">
+ <rom name="disk_a.fdi" size="1265664" crc="f37ba8e9" sha1="ca4048cf256f1ce415e72f75da8e006b92875335" offset="0" />
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <feature name="part_id" value="Disk B"/>
+ <dataarea name="flop" size="1265664">
+ <rom name="disk_b.fdi" size="1265664" crc="a6b9c72f" sha1="19518f0e3df9469500ad116c9934c5f72d1c4fe5" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="cardbust">
<description>Card Buster</description>
<year>1993</year>
<publisher>F-88</publisher>
<info name="alt_title" value="カードãƒã‚¹ã‚¿ãƒ¼" />
- <info name="usage" value="Run HDINST.BAT to install to HDD" />
<part name="flop1" interface="floppy_5_25">
<dataarea name="flop" size="1265664">
<rom name="cbuster1.fdi" size="1265664" crc="e0e6e4a5" sha1="baebdace730a63f5d796e5f2397531911721edc9" offset="0" />
@@ -9114,8 +9006,7 @@ only have some part of Windows file and a Video driver(CLGD?).
</part>
</software>
- <!-- Runs only on 286-class and older machines (e.g. PC-9801F, PC-9801UX), otherwise gives a "Packed file is corrupt" error. -->
- <software name="carmnjpn" supported="partial">
+ <software name="carmnjpn">
<description>Carmen Sandiego in Japan - Hannin Sagashite Nihon Zenkoku</description>
<year>1989</year>
<publisher>ブロダーãƒãƒ³ãƒ‰ã‚¸ãƒ£ãƒ‘ン (Brøderbund Japan)</publisher>
@@ -9135,8 +9026,7 @@ only have some part of Windows file and a Video driver(CLGD?).
</part>
</software>
- <!-- Runs too fast on anything except (presumably) a 8086 CPU, but it doesn't boot on the PC-9801F -->
- <software name="carmine" supported="partial">
+ <software name="carmine">
<description>Carmine</description>
<year>1986</year>
<publisher>マイクロキャビン (Microcabin)</publisher>
@@ -9156,7 +9046,6 @@ only have some part of Windows file and a Video driver(CLGD?).
</part>
</software>
- <!-- Some in-game music sounds wrong -->
<software name="caroll">
<description>Caroll</description>
<year>1990</year>
@@ -9182,7 +9071,6 @@ only have some part of Windows file and a Video driver(CLGD?).
</part>
</software>
- <!-- Runs too fast on anything except (presumably) a 8086 CPU, but it doesn't boot on the PC-9801F -->
<software name="castle">
<description>The Castle and Princess.</description>
<year>1985</year>
@@ -9256,8 +9144,7 @@ only have some part of Windows file and a Video driver(CLGD?).
</part>
</software>
- <!-- Seems to work only on 286-based machines (e.g. PC-9801UX) -->
- <software name="catsp1" supported="partial">
+ <software name="catsp1">
<description>Cat's Part-1</description>
<year>1993</year>
<publisher>Cat's Pro.</publisher>
@@ -9302,46 +9189,6 @@ only have some part of Windows file and a Video driver(CLGD?).
</part>
</software>
- <!-- "データ・ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" (data file not found) on PC-9801UX, "Packed file is corrupt" on anything else -->
- <software name="centurio" supported="no">
- <!-- Origin: Neo Kobe Collection -->
- <description>Centurion - Defender of Rome</description>
- <year>1993</year>
- <publisher>エレクトロニック・アーツ・ビクター (Electronic Arts Victor)</publisher>
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Disk 1"/>
- <dataarea name="flop" size="1261568">
- <rom name="centurion - defender of rome (disk 1).hdm" size="1261568" crc="77341e91" sha1="fc43641a58461010cb8c847e6cc12ae06f32627e" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Disk 2"/>
- <dataarea name="flop" size="1261568">
- <rom name="centurion - defender of rome (disk 2).hdm" size="1261568" crc="f72f4d2f" sha1="09ef0eb5dd24662c2e8e01c044ba9ce851a59ebe" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <!-- Crashes MAME on PC-9801UX, "Packed file is corrupt" on anything else -->
- <software name="centurioa" cloneof="centurio" supported="no">
- <!-- Origin: Neo Kobe Collection -->
- <description>Centurion - Defender of Rome (Alt)</description>
- <year>1993</year>
- <publisher>エレクトロニック・アーツ・ビクター (Electronic Arts Victor)</publisher>
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Disk 1"/>
- <dataarea name="flop" size="1261568">
- <rom name="centurion - defender of rome [set 1] (disk 1).hdm" size="1261568" crc="749f444f" sha1="f208014c28bb547e1f0878f8b02bfca289269078" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Disk 2"/>
- <dataarea name="flop" size="1261568">
- <rom name="centurion - defender of rome [set 1] (disk 2).hdm" size="1261568" crc="6ad76831" sha1="890727e49bbf9ad580f07960f602cced34bfa9bf" offset="0" />
- </dataarea>
- </part>
- </software>
-
<software name="chakra">
<description>Chakra</description>
<year>1993</year>
@@ -9368,8 +9215,7 @@ only have some part of Windows file and a Video driver(CLGD?).
</part>
</software>
- <!-- Can't change disks, so it's not possible to save or load characters -->
- <software name="ckrynn" supported="no">
+ <software name="ckrynn">
<description>Champions of Krynn</description>
<year>1992</year>
<publisher>ãƒãƒ‹ãƒ¼ã‚­ãƒ£ãƒ‹ã‚ªãƒ³ (Pony Canyon)</publisher>
@@ -9409,10 +9255,9 @@ only have some part of Windows file and a Video driver(CLGD?).
</software>
<software name="charaedt">
- <description>Character Editor 98</description>
+ <description>Character Editor 98˜</description>
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
- <info name="usage" value="From DOS, use SYS.EXE to copy system files to this disk, then boot from it." />
<part name="flop1" interface="floppy_5_25">
<dataarea name="flop" size="1281968">
<rom name="master.d88" size="1281968" crc="a7c13f87" sha1="40205073275081b966bcc3b395c560add8799488" offset="0" />
@@ -9421,11 +9266,10 @@ only have some part of Windows file and a Video driver(CLGD?).
</software>
<software name="chartsuk">
- <description>Character Tsukuuru</description>
+ <description>Character Tsukuru</description>
<year>19??</year>
<publisher>アスキー (ASCII)</publisher>
<info name="alt_title" value="キャラクターツクール98" />
- <info name="usage" value="Run INSTALL.EXE to make the disk bootable or install to HDD" />
<part name="flop1" interface="floppy_5_25">
<feature name="part_id" value="Main"/>
<dataarea name="flop" size="1265664">
@@ -9554,7 +9398,6 @@ only have some part of Windows file and a Video driver(CLGD?).
<publisher>ペガサスジャパン (Pegasus Japan)</publisher>
<info name="alt_title" value="ãƒã‚§ãƒƒã‚¯ã‚·ãƒƒã‚¯ã‚¹ï¼’ 碧空ã®ç‹¼" />
<info name="release" value="19940311" />
- <info name="usage" value="Run SYSMENU.EXE from DOS to create a bootable disk or install to HDD" />
<part name="flop1" interface="floppy_5_25">
<feature name="part_id" value="Disk 1"/>
<dataarea name="flop" size="1281968">
@@ -9575,7 +9418,7 @@ only have some part of Windows file and a Video driver(CLGD?).
<publisher>ペガサスジャパン (Pegasus Japan)</publisher>
<info name="alt_title" value="ãƒã‚§ãƒƒã‚¯ã‚·ãƒƒã‚¯ã‚¹ï¼’ シナリオ集Vï½ï½Œï¼Žï¼‘" />
<info name="release" value="19940715" />
- <info name="usage" value="Requires &quot;Check Six 2&quot; to work. Either boot the game with Scenario Disk on drive 2, or run HDDINST.EXE to install the expansion to HDD." />
+ <info name="usage" value="Requires &quot;Check Six 2&quot; to work" />
<part name="flop1" interface="floppy_5_25">
<feature name="part_id" value="Scenario Disk"/>
<dataarea name="flop" size="1281968">
@@ -9583,7 +9426,7 @@ only have some part of Windows file and a Video driver(CLGD?).
</dataarea>
</part>
<part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Update Disk"/>
+ <feature name="part_id" value="Visual? Up Disk"/>
<dataarea name="flop" size="1281968">
<rom name="c62_vup.d88" size="1281968" crc="b197931c" sha1="066279dfa1c369f90ea8902118434b752af3babd" offset="0" />
</dataarea>
@@ -9596,7 +9439,6 @@ only have some part of Windows file and a Video driver(CLGD?).
<publisher>ペガサスジャパン (Pegasus Japan)</publisher>
<info name="alt_title" value="ãƒã‚§ãƒƒã‚¯ã‚·ãƒƒã‚¯ã‚¹ï¼’SP" />
<info name="release" value="19940715" />
- <info name="usage" value="This release includes the &quot;Scenario Shuu Vol. 1&quot;. To use it, boot the game with Disk 3 on drive 2." />
<part name="flop1" interface="floppy_5_25">
<feature name="part_id" value="Disk 1"/>
<dataarea name="flop" size="1281968">
@@ -9617,8 +9459,7 @@ only have some part of Windows file and a Video driver(CLGD?).
</part>
</software>
- <!-- Asks for Disk 1 just after boot. None of the disks work. -->
- <software name="cherryb" supported="no">
+ <software name="cherryb">
<description>Cherry Bomb - Chou Ojousama Sayaka-chan Nanpa Daisakusen</description>
<year>1994</year>
<publisher>ペパーミント・Kids (Peppermint Kids)</publisher>
@@ -9740,60 +9581,12 @@ only have some part of Windows file and a Video driver(CLGD?).
</part>
</software>
- <!-- Doesn't recognize disk changes - cannot get past the opening sequence -->
- <software name="ikochan" supported="no">
- <!-- Origin: Neo Kobe Collection -->
- <description>Chikyuu Bouei Shoujo Iko-chan - UFO Daisakusen</description>
- <year>1992</year>
- <publisher>グラムス (Glams)</publisher>
- <info name="alt_title" value="地çƒé˜²è¡›å°‘女イコã¡ã‚ƒã‚“ ~UFO大作戦~" />
- <info name="release" value="19921204" />
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Disk 1"/>
- <dataarea name="flop" size="1261568">
- <rom name="chikyuu bouei shoujo iko-chan - ufo daisakusen (disk 1).hdm" size="1261568" crc="947a6bd5" sha1="e911ce2cd3ad48e23959ff548904ab1ce043a32d" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Opening Disk"/>
- <dataarea name="flop" size="1261568">
- <rom name="chikyuu bouei shoujo iko-chan - ufo daisakusen (opening disk).hdm" size="1261568" crc="b4245989" sha1="13d722557d76e41468a23a73535ce46ec6046959" offset="0" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_5_25">
- <feature name="part_id" value="Disk 2"/>
- <dataarea name="flop" size="1261568">
- <rom name="chikyuu bouei shoujo iko-chan - ufo daisakusen (disk 2).hdm" size="1261568" crc="4c3a8eab" sha1="f9c7ec2edc25dda23aec41eafb0a8a4cd9eaf8b8" offset="0" />
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_5_25">
- <feature name="part_id" value="Disk 3"/>
- <dataarea name="flop" size="1261568">
- <rom name="chikyuu bouei shoujo iko-chan - ufo daisakusen (disk 3).hdm" size="1261568" crc="e37f9622" sha1="d61df75e138d07717e1048eabb935a8d9dcff24a" offset="0" />
- </dataarea>
- </part>
- <part name="flop5" interface="floppy_5_25">
- <feature name="part_id" value="Disk 4"/>
- <dataarea name="flop" size="1261568">
- <rom name="chikyuu bouei shoujo iko-chan - ufo daisakusen (disk 4).hdm" size="1261568" crc="303cb5e4" sha1="87bc49c89ea1893bc295eb5b417a224a1184f06d" offset="0" />
- </dataarea>
- </part>
- <part name="flop6" interface="floppy_5_25">
- <feature name="part_id" value="Disk 5"/>
- <dataarea name="flop" size="1261568">
- <rom name="chikyuu bouei shoujo iko-chan - ufo daisakusen (disk 5).hdm" size="1261568" crc="f7339955" sha1="8e0ad26853bf239ba43c377e4825435dc87b6ca0" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <!-- Seems to be missing a disk labeled Data 3 -->
- <software name="chimesq" supported="no">
+ <software name="chimesq">
<description>Chime's Quest</description>
<year>1992</year>
<publisher>ログインソフト (Login Soft)</publisher>
<info name="alt_title" value="ãƒãƒ£ã‚¤ãƒ ã‚ºã‚¯ã‚¨ã‚¹ãƒˆ" />
<info name="release" value="199202xx" />
- <info name="usage" value="Run INSTALL.EXE from DOS to create a bootable disk or install to HDD" />
<part name="flop1" interface="floppy_5_25">
<feature name="part_id" value="System Disk"/>
<dataarea name="flop" size="1265664">
@@ -9814,8 +9607,7 @@ only have some part of Windows file and a Video driver(CLGD?).
</part>
</software>
- <!-- This probably requires 3.5" floppy emulation -->
- <software name="chittyt" supported="no">
+ <software name="chittyt">
<description>Chitty Chitty Train</description>
<year>1993</year>
<publisher>ビッツー (Bit²)</publisher>
@@ -9853,32 +9645,6 @@ only have some part of Windows file and a Video driver(CLGD?).
</part>
</software>
- <software name="samadhia" cloneof="samadhi">
- <!-- Origin: Neo Kobe Collection -->
- <description>Chou Shinri Samâdhi (Alt)</description>
- <year>1994</year>
- <publisher>M.M.S. ~ Mighty Mycom System</publisher>
- <info name="alt_title" value="超心ç†ã‚µãƒžãƒ¼ãƒ‡ã‚£" />
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Disk 1"/>
- <dataarea name="flop" size="1261568">
- <rom name="choushinri samadhi (disk 1).hdm" size="1261568" crc="49dbc03c" sha1="6bc706cba4b4925e68442cc5a0c8c3824fab8d13" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Disk 2"/>
- <dataarea name="flop" size="1281968">
- <rom name="sam2.d88" size="1281968" crc="f9141450" sha1="abfb5ebdefda35aec7d0d409559ae0aafe54fbc7" offset="0" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_5_25">
- <feature name="part_id" value="Disk 3"/>
- <dataarea name="flop" size="1281968">
- <rom name="sam3.d88" size="1281968" crc="493182fe" sha1="a15cf7e78f284b3431de40f18e5ec7e4ba9da196" offset="0" />
- </dataarea>
- </part>
- </software>
-
<software name="macroscp">
<description>Choujikuu Yousai Macross - Complete Pack HD Senyou</description>
<year>1995</year>
@@ -9999,135 +9765,6 @@ only have some part of Windows file and a Video driver(CLGD?).
</part>
</software>
- <software name="chiemi">
- <!-- Origin: Neo Kobe Collection -->
- <description>Chiemi</description>
- <year>1993</year>
- <publisher>フェアリーテール レッドゾーン (Fairytale Red-Zone)</publisher>
- <info name="alt_title" value="稚æµç¾Ž" />
- <info name="release" value="19931119" />
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Disk A"/>
- <dataarea name="flop" size="1261568">
- <rom name="chiemi (disk a).hdm" size="1261568" crc="2fbd0bc2" sha1="e9945ca48de22912f6ecb7c88349c6343c9253b3" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Disk B"/>
- <dataarea name="flop" size="1261568">
- <rom name="chiemi (disk b).hdm" size="1261568" crc="59ff6a43" sha1="7c0bba83b3fad8ce21060d88dec1fa443ed91d61" offset="0" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_5_25">
- <feature name="part_id" value="Disk C"/>
- <dataarea name="flop" size="1261568">
- <rom name="chiemi (disk c).hdm" size="1261568" crc="06958ffb" sha1="0f8823aac65d01662982db89ff43a81ff7e7ae9f" offset="0" />
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_5_25">
- <feature name="part_id" value="Disk D"/>
- <dataarea name="flop" size="1261568">
- <rom name="chiemi (disk d).hdm" size="1261568" crc="eb822798" sha1="5dc837196f7a0c077bb38758cc9df50ff0ed9cfa" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <!--
- The Cherry Jam sets are completely different. The parent set is self-booting (MEGDOS-based), while the alternate set runs from standard DOS and requires HDD installation.
- The alternate set has files dated in the year 2000, so it's either a late reprint or an unofficial repack.
- -->
- <software name="chrryjam">
- <!-- Origin: Neo Kobe Collection -->
- <description>Cherry Jam - Kanojo ga Hadaka ni Kigaetara</description>
- <year>1996</year>
- <publisher>ジャム (Jam)</publisher>
- <info name="alt_title" value="ãƒã‚§ãƒªãƒ¼ã‚¸ãƒ£ãƒ  ~彼女ãŒè£¸ã«ç€æ›¿ãˆãŸã‚‰ï½ž" />
- <info name="release" value="19960802" />
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Disk A"/>
- <dataarea name="flop" size="1261568">
- <rom name="cherry jam [set 2] (disk a).hdm" size="1261568" crc="6d73c760" sha1="47c58fde54d8b28b816b0416df34d93a9151c70d" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Disk B"/>
- <dataarea name="flop" size="1261568">
- <rom name="cherry jam [set 2] (disk b).hdm" size="1261568" crc="0023fbb2" sha1="bff2987e865e29156cc03bea9d83ea5196f79ffb" offset="0" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_5_25">
- <feature name="part_id" value="Disk C"/>
- <dataarea name="flop" size="1261568">
- <rom name="cherry jam [set 2] (disk c).hdm" size="1261568" crc="9545cf95" sha1="6f80ec1f4ea171adc896ed88f09786d794456a76" offset="0" />
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_5_25">
- <feature name="part_id" value="Disk D"/>
- <dataarea name="flop" size="1261568">
- <rom name="cherry jam [set 2] (disk d).hdm" size="1261568" crc="5bf428bb" sha1="c3973ab94b6125587f61bbffd7b047bf027932e6" offset="0" />
- </dataarea>
- </part>
- <part name="flop5" interface="floppy_5_25">
- <feature name="part_id" value="Disk E"/>
- <dataarea name="flop" size="1261568">
- <rom name="cherry jam [set 2] (disk e).hdm" size="1261568" crc="b8c0af46" sha1="98bef3153e6deab0ef83b272e44941f0bb042af0" offset="0" />
- </dataarea>
- </part>
- <part name="flop6" interface="floppy_5_25">
- <feature name="part_id" value="Disk F"/>
- <dataarea name="flop" size="1261568">
- <rom name="cherry jam [set 2] (disk f).hdm" size="1261568" crc="8f656f71" sha1="96851fa3f7fcafd88a3e2c36a169e79cdfa933fb" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="chrryjama" cloneof="chrryjam">
- <!-- Origin: Neo Kobe Collection -->
- <description>Cherry Jam - Kanojo ga Hadaka ni Kigaetara (Alt)</description>
- <year>1996</year>
- <publisher>ジャム (Jam)</publisher>
- <info name="alt_title" value="ãƒã‚§ãƒªãƒ¼ã‚¸ãƒ£ãƒ  ~彼女ãŒè£¸ã«ç€æ›¿ãˆãŸã‚‰ï½ž" />
- <info name="release" value="19960802" />
- <info name="usage" value="Run INSTALL.BAT from DOS" />
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Disk 1"/>
- <dataarea name="flop" size="1261568">
- <rom name="cherry jam [set 1] (disk 1).hdm" size="1261568" crc="116eff2e" sha1="22f2abf5d242bf5f9cd66ad25e3f0ae14302695e" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Disk 2"/>
- <dataarea name="flop" size="1261568">
- <rom name="cherry jam [set 1] (disk 2).hdm" size="1261568" crc="7cc04b92" sha1="2e320a6eeeff720f85aacfa4bf8286126128e8f2" offset="0" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_5_25">
- <feature name="part_id" value="Disk 3"/>
- <dataarea name="flop" size="1261568">
- <rom name="cherry jam [set 1] (disk 3).hdm" size="1261568" crc="9e18026a" sha1="7c589d3dba5b36724b6837113accb17fbf9f9264" offset="0" />
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_5_25">
- <feature name="part_id" value="Disk 4"/>
- <dataarea name="flop" size="1261568">
- <rom name="cherry jam [set 1] (disk 4).hdm" size="1261568" crc="31a0e0d4" sha1="0923a295fc3d12f3c4b8045c90a593dba5714d73" offset="0" />
- </dataarea>
- </part>
- <part name="flop5" interface="floppy_5_25">
- <feature name="part_id" value="Disk 5"/>
- <dataarea name="flop" size="1261568">
- <rom name="cherry jam [set 1] (disk 5).hdm" size="1261568" crc="f196fccf" sha1="444fe0b738d0e3fe914b1d281b278e07d110fd89" offset="0" />
- </dataarea>
- </part>
- <part name="flop6" interface="floppy_5_25">
- <feature name="part_id" value="Disk 6"/>
- <dataarea name="flop" size="1261568">
- <rom name="cherry jam [set 1] (disk 6).hdm" size="1261568" crc="bc622248" sha1="14da5a59f068e48ff9f40cda4d940098d454d882" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <!-- Seems to work only on 286-based machines (e.g. PC-9801UX) -->
<software name="christin">
<description>Christine</description>
<year>1986</year>
@@ -10147,7 +9784,6 @@ only have some part of Windows file and a Video driver(CLGD?).
<publisher>アシッドプラン (Acid Plan)</publisher>
<info name="alt_title" value="クロムパラダイス éŠ€ç™½è‰²ã®æ¥½åœ’" />
<info name="release" value="19960319" />
- <info name="usage" value="Run INS.BAT from DOS to install to HDD" />
<part name="flop1" interface="floppy_5_25">
<feature name="part_id" value="Disk 1"/>
<dataarea name="flop" size="1265664">
@@ -10204,7 +9840,6 @@ only have some part of Windows file and a Video driver(CLGD?).
<publisher>アシッドプラン (Acid Plan)</publisher>
<info name="alt_title" value="クロムパラダイス éŠ€ç™½è‰²ã®æ¥½åœ’" />
<info name="release" value="19960319" />
- <info name="usage" value="Run INS.BAT from DOS to install to HDD" />
<part name="flop1" interface="floppy_5_25">
<feature name="part_id" value="Disk 1"/>
<dataarea name="flop" size="1265664">
@@ -10260,7 +9895,6 @@ only have some part of Windows file and a Video driver(CLGD?).
<year>1996</year>
<publisher>アシッドプラン (Acid Plan)</publisher>
<info name="alt_title" value="クロムパラダイス éŠ€ç™½è‰²ã®æ¥½åœ’ スペシャル" />
- <info name="usage" value="Expansion disk for Chrome Paradise. Run OMAKE.BAT from DOS to install to HDD" />
<part name="flop1" interface="floppy_5_25">
<feature name="part_id" value="Disk 1"/>
<dataarea name="flop" size="1265664">
@@ -10282,31 +9916,31 @@ only have some part of Windows file and a Video driver(CLGD?).
<info name="alt_title" value="サークルメイト" />
<info name="release" value="19940513" />
<part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Disk A"/>
+ <feature name="part_id" value="Disk 1"/>
<dataarea name="flop" size="1265664">
<rom name="circle_m_01.fdi" size="1265664" crc="6166e1b8" sha1="dee6fb3fe0786f447c4b4c6572209741823c9678" offset="0" />
</dataarea>
</part>
<part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Disk B"/>
+ <feature name="part_id" value="Disk 2"/>
<dataarea name="flop" size="1265664">
<rom name="circle_m_02.fdi" size="1265664" crc="05adcf50" sha1="2ecf1765f5cc13ce994bc6e8bc4ac747c7514002" offset="0" />
</dataarea>
</part>
<part name="flop3" interface="floppy_5_25">
- <feature name="part_id" value="Disk C"/>
+ <feature name="part_id" value="Disk 3"/>
<dataarea name="flop" size="1265664">
<rom name="circle_m_03.fdi" size="1265664" crc="9a6f62e6" sha1="f6592348072c45634fb799d4c2b7394b0edc5e46" offset="0" />
</dataarea>
</part>
<part name="flop4" interface="floppy_5_25">
- <feature name="part_id" value="Disk D"/>
+ <feature name="part_id" value="Disk 4"/>
<dataarea name="flop" size="1265664">
<rom name="circle_m_04.fdi" size="1265664" crc="68bd64ec" sha1="1d27c837a9d74ee19cdbf62c83567c3fe0c72f0a" offset="0" />
</dataarea>
</part>
<part name="flop5" interface="floppy_5_25">
- <feature name="part_id" value="Disk E"/>
+ <feature name="part_id" value="Disk 5"/>
<dataarea name="flop" size="1265664">
<rom name="circle_m_05.fdi" size="1265664" crc="738ddb9a" sha1="325b32741b33f270d1c010b31190767acfb0cf6c" offset="0" />
</dataarea>
@@ -10345,14 +9979,12 @@ only have some part of Windows file and a Video driver(CLGD?).
</part>
</software>
- <!-- Running the game from floppy doesn't work, it doesn't recognize the disks properly. Works from HDD. -->
- <software name="civ" supported="partial">
- <description>Sid Meier's Civilization</description>
+ <software name="civ">
+ <description>Sid Meyer's Civilization</description>
<year>1992</year>
<publisher>マイクロプローズジャパン (MicroProse Japan)</publisher>
<info name="alt_title" value="シヴィライゼーション" />
<info name="release" value="19920925" />
- <info name="usage" value="Run INSTALL.BAT from DOS to install to HDD" />
<part name="flop1" interface="floppy_5_25">
<feature name="part_id" value="Disk 1"/>
<dataarea name="flop" size="1265664">
@@ -10397,8 +10029,7 @@ only have some part of Windows file and a Video driver(CLGD?).
</part>
</software>
- <!-- Asks for a "game disk" after booting - is it missing a disk? -->
- <software name="classrod" supported="no">
+ <software name="classrod">
<description>Classic Road</description>
<year>1992</year>
<publisher>ビクター音楽産業 (Victor Musical Industries)</publisher>
@@ -10411,14 +10042,12 @@ only have some part of Windows file and a Video driver(CLGD?).
</part>
</software>
- <!-- Doesn't recognize the save disk. Works from HDD. -->
- <software name="classro2" supported="partial">
+ <software name="classro2">
<description>Classic Road 2</description>
<year>1992</year>
<publisher>ビクターエンタテインメント (Victor Entertainment)</publisher>
<info name="alt_title" value="クラシック・ロード2" />
<info name="release" value="19930827" />
- <info name="usage" value="Run CR2_INST.EXE from DOS to install to HDD" />
<part name="flop1" interface="floppy_5_25">
<feature name="part_id" value="Start Disk"/>
<dataarea name="flop" size="1265664">
@@ -10439,8 +10068,7 @@ only have some part of Windows file and a Video driver(CLGD?).
</part>
</software>
- <!-- Hangs while booting -->
- <software name="classro3" supported="no">
+ <software name="classro3">
<description>Classic Road 3</description>
<year>1994</year>
<publisher>ビクターエンタテインメント (Victor Entertainment)</publisher>
@@ -10479,42 +10107,7 @@ only have some part of Windows file and a Video driver(CLGD?).
</part>
</software>
- <software name="clavie">
- <!-- Origin: Neo Kobe Collection -->
- <description>Ce'st la vie</description>
- <year>1995</year>
- <publisher>メイビーソフト (May-Be Soft)</publisher>
- <info name="alt_title" value="セラヴィ" />
- <info name="release" value="19950228" />
- <info name="usage" value="Run INSTALL.EXE to copy DOS files to disk A" />
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Disk A"/>
- <dataarea name="flop" size="1261568">
- <rom name="c'est la vie (disk a).hdm" size="1261568" crc="5b5e58f8" sha1="74ff0419d3cc4279dab7b1030244c6330ec04ac6" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Disk B"/>
- <dataarea name="flop" size="1261568">
- <rom name="c'est la vie (disk b).hdm" size="1261568" crc="3d24c95f" sha1="53803e850f7cae9b2f8d7678b92e0f779e3fd0d4" offset="0" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_5_25">
- <feature name="part_id" value="Disk C"/>
- <dataarea name="flop" size="1261568">
- <rom name="c'est la vie (disk c).hdm" size="1261568" crc="5d99259a" sha1="3374f58c30910614989a964ba2ad4897b52a8d58" offset="0" />
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_5_25">
- <feature name="part_id" value="Disk D"/>
- <dataarea name="flop" size="1261568">
- <rom name="c'est la vie (disk d).hdm" size="1261568" crc="bbaed2f7" sha1="20748e177d23df8b654d947a64d1dac749e54a20" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <!-- Runs too fast on anything except the PC-9801F, but the text doesn't display correctly -->
- <software name="cluju" supported="partial">
+ <software name="cluju">
<description>Cluju</description>
<year>1988</year>
<publisher>ザインソフト (Xain Soft)</publisher>
@@ -10586,38 +10179,6 @@ only have some part of Windows file and a Video driver(CLGD?).
</part>
</software>
- <software name="cocktai2">
- <!-- Origin: Neo Kobe Collection -->
- <description>Cocktail Soft - Zoukan-gou 2</description>
- <year>1992</year>
- <publisher>カクテル・ソフト (Cocktail Soft)</publisher>
- <info name="alt_title" value="カクテルソフトï¼å¢—刊å·2ï¼" />
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Disk A"/>
- <dataarea name="flop" size="1261568">
- <rom name="cocktail soft zoukangou 2 (disk a).hdm" size="1261568" crc="3a461314" sha1="5d097ea77f850ed6cc0acf56bf207c85ca717678" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Disk B"/>
- <dataarea name="flop" size="1261568">
- <rom name="cocktail soft zoukangou 2 (disk b).hdm" size="1261568" crc="e1e5f601" sha1="6ee0d45469ec9b07e10f015b80763eb373f54184" offset="0" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_5_25">
- <feature name="part_id" value="Disk C"/>
- <dataarea name="flop" size="1261568">
- <rom name="cocktail soft zoukangou 2 (disk c).hdm" size="1261568" crc="f84abdff" sha1="80835f10e9d86fb237698cabcca7f38ae5a354b0" offset="0" />
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_5_25">
- <feature name="part_id" value="Disk D"/>
- <dataarea name="flop" size="1261568">
- <rom name="cocktail soft zoukangou 2 (disk d).hdm" size="1261568" crc="bfc00e9e" sha1="0abaa22cf8a5cb7fff3126903906d5bd3c7ffecc" offset="0" />
- </dataarea>
- </part>
- </software>
-
<software name="colld">
<description>Collector D</description>
<year>1993</year>
@@ -10701,10 +10262,10 @@ only have some part of Windows file and a Video driver(CLGD?).
</software>
<software name="colconq">
- <description>Sekai Seifuku - Colonial Conquest</description>
+ <description>Colonial Conquest</description>
<year>1989</year>
<publisher>ビクター音楽産業 (Victor Musical Industries)</publisher>
- <info name="alt_title" value="ä¸–ç•Œå¾æœ COLONIAL CONQUEST" />
+ <info name="alt_title" value="ä¸–ç•Œå¾æœ ~ Sekai Seifuku" />
<info name="release" value="19891121" />
<part name="flop1" interface="floppy_5_25">
<dataarea name="flop" size="1265664">
@@ -10717,7 +10278,7 @@ only have some part of Windows file and a Video driver(CLGD?).
<description>Columns - Taisen Mode-tsuki</description>
<year>1991</year>
<publisher>システムソフト (SystemSoft)</publisher>
- <info name="alt_title" value="コラムス 対戦モード付" />
+ <info name="alt_title" value="コラムス 対戦モード付ã" />
<info name="release" value="19910726" />
<part name="flop1" interface="floppy_5_25">
<dataarea name="flop" size="1281968">
@@ -10726,6 +10287,19 @@ only have some part of Windows file and a Video driver(CLGD?).
</part>
</software>
+ <software name="columnsa" cloneof="columns">
+ <description>Columns - Taisen Mode-tsuki (Alt)</description>
+ <year>1991</year>
+ <publisher>システムソフト (SystemSoft)</publisher>
+ <info name="alt_title" value="コラムス 対戦モード付ã" />
+ <info name="release" value="19910726" />
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="1281968">
+ <rom name="columns (1991)(system soft).d88" size="1281968" crc="f9f64013" sha1="5cef58509ef3eb7479f6e9f5badca73d54ed0769" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="commhq">
<description>Command H.Q.</description>
<year>1992</year>
@@ -10739,8 +10313,7 @@ only have some part of Windows file and a Video driver(CLGD?).
</part>
</software>
- <!-- The user disk creation process doesn't work correctly. It's not possible to start the game without it. -->
- <software name="company" supported="no">
+ <software name="company">
<description>Company</description>
<year>1993</year>
<publisher>ジーエーエム (GAM)</publisher>
@@ -10780,45 +10353,6 @@ only have some part of Windows file and a Video driver(CLGD?).
</part>
</software>
- <!-- This is a driver disk for a PC-9801-86-compatible PCMCIA sound card -->
- <software name="fmc98drv" supported="no">
- <!-- Origin: Neo Kobe Collection -->
- <description>Computer Technica FMC-98 Sound Card Driver Utility</description>
- <year>1995?</year>
- <publisher>コンピュータテクニカ (Computer Technica)</publisher>
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="1261568">
- <rom name="computer technica fmc-98 sound card driver utility.hdm" size="1261568" crc="7bc24877" sha1="50e0bd8568c3705c7911c1f66d80dd9c7d9b4bca" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="concert">
- <description>Concert</description>
- <year>1994</year>
- <publisher>アーヴォリオ (Aypio)</publisher>
- <info name="alt_title" value="コンサート" />
- <info name="release" value="19940415" />
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Disk A"/>
- <dataarea name="flop" size="1261568">
- <rom name="concert (disk a).hdm" size="1261568" crc="de0e3da4" sha1="6d028c3e9d6e791ad6097c01abb9be12913d3e90" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Disk B"/>
- <dataarea name="flop" size="1261568">
- <rom name="concert (disk b).hdm" size="1261568" crc="2eb04395" sha1="687c3449c40d5d602498bc5c9313e566adc129c6" offset="0" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_5_25">
- <feature name="part_id" value="Disk C"/>
- <dataarea name="flop" size="1261568">
- <rom name="concert (disk c).hdm" size="1261568" crc="a7618bb5" sha1="1c7caee2cebc96a0ab9591e610a55d07265fa1d4" offset="0" />
- </dataarea>
- </part>
- </software>
-
<software name="constgp">
<description>Constructors Grand Prix</description>
<year>1992</year>
@@ -10826,38 +10360,25 @@ only have some part of Windows file and a Video driver(CLGD?).
<info name="alt_title" value="コンストラクターズグランプリ" />
<info name="release" value="199209xx" />
<part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="System Disk"/>
+ <feature name="part_id" value="Disk 1"/>
<dataarea name="flop" size="1265664">
<rom name="disk_1.fdi" size="1265664" crc="3b45a8bc" sha1="f8e82747f5f74e9d3a52005dea758f6f7c592f7e" offset="0" />
</dataarea>
</part>
<part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Data Disk"/>
+ <feature name="part_id" value="Disk 2"/>
<dataarea name="flop" size="1265664">
<rom name="disk_2.fdi" size="1265664" crc="54df3337" sha1="b6c60da8a745bae7350711f35362c7b00965ab2f" offset="0" />
</dataarea>
</part>
<part name="flop3" interface="floppy_5_25">
- <feature name="part_id" value="Course Data Disk"/>
+ <feature name="part_id" value="Disk 3"/>
<dataarea name="flop" size="1265664">
<rom name="disk_3.fdi" size="1265664" crc="f49df6d7" sha1="e2e54c54c6787d360c4697a270471d75417a31c9" offset="0" />
</dataarea>
</part>
</software>
- <!-- This is a driver disk for a memory expansion board -->
- <software name="superems" supported="no">
- <!-- Origin: Neo Kobe Collection -->
- <description>Contec Super EMS</description>
- <year>1991?</year>
- <publisher>Contec</publisher>
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="1261568">
- <rom name="contec super ems.hdm" size="1261568" crc="7268cb3d" sha1="96268d65624519a16dd0737f6042c6c30e75c671" offset="0" />
- </dataarea>
- </part>
- </software>
-
<software name="continen">
<description>Continental</description>
<year>1992</year>
@@ -10890,7 +10411,6 @@ only have some part of Windows file and a Video driver(CLGD?).
</part>
</software>
- <!-- Seems to work only on 286-based machines (e.g. PC-9801UX) -->
<software name="cospsyco">
<description>Cosmic Psycho</description>
<year>1991</year>
@@ -10949,47 +10469,6 @@ only have some part of Windows file and a Video driver(CLGD?).
</part>
</software>
- <!-- The original version comes in 2DD disks and boots to a black screen. The single-disk 2HD conversion is probably unofficial, but it works in MAME. -->
- <software name="cranston" supported="no">
- <!-- Origin: Neo Kobe Collection -->
- <description>Cranston Manor</description>
- <year>1983</year>
- <publisher>スタークラフト (Starcraft)</publisher>
- <info name="release" value="198310xx" />
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Boot Disk"/>
- <dataarea name="flop" size="348848">
- <rom name="cranston manor (boot disk).d88" size="348848" crc="f914c48b" sha1="446a234f36465708df4ffabc0848b84a45cf6426" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Disk 2"/>
- <dataarea name="flop" size="344496">
- <rom name="cranston manor (disk 1).d88" size="344496" crc="35d74464" sha1="4524d7d9f8f8db4929dc6a435c795c1db5de8e85" offset="0" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_5_25">
- <feature name="part_id" value="Disk 2"/>
- <dataarea name="flop" size="348848">
- <rom name="cranston manor (disk 2).d88" size="348848" crc="e1f04287" sha1="1fb1f14763b97058bc19c6bc18bb075f99baee85" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="cranstonh" cloneof="cranston">
- <!-- Origin: Neo Kobe Collection -->
- <description>Cranston Manor (2HD conversion)</description>
- <year>1983</year>
- <publisher>スタークラフト (Starcraft)</publisher>
- <info name="release" value="198310xx" />
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Boot Disk"/>
- <dataarea name="flop" size="1086448">
- <rom name="cranston manor (2hd conversion).d88" size="1086448" crc="902547c1" sha1="02357b934962e5071a31787634041c8b9b3982dc" offset="0" />
- </dataarea>
- </part>
- </software>
-
<software name="crescent">
<description>Crescent</description>
<year>1993</year>
@@ -11048,8 +10527,7 @@ only have some part of Windows file and a Video driver(CLGD?).
</part>
</software>
- <!-- This set has a non-standard disk layout with 26 sectors per track, probably used as copy protection -->
- <software name="cresmoona" cloneof="cresmoon" supported="no">
+ <software name="cresmoona" cloneof="cresmoon">
<description>Crescent Moon Girl (Alt Format)</description>
<year>1989</year>
<publisher>アリスソフト (AliceSoft)</publisher>
@@ -11075,35 +10553,34 @@ only have some part of Windows file and a Video driver(CLGD?).
</part>
</software>
- <!-- Not sure if the Master Disk is needed. It seems to be the same as the Game Disk with some small differences. -->
<software name="crimson3">
- <description>Crimson III</description>
+ <description>Crimson 3</description>
<year>1990</year>
<publisher>クリスタルソフト (Xtal Soft)</publisher>
- <info name="alt_title" value="クリムゾンIII" />
+ <info name="alt_title" value="クリムゾン3" />
<info name="release" value="19901019" />
<part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Opening Disk"/>
+ <feature name="part_id" value="Main?"/>
<dataarea name="flop" size="1281968">
- <rom name="crmsn3op.d88" size="1281968" crc="d96b595a" sha1="632d4b5805bb80ca463cb5b6914f1889d768e2c9" offset="0" />
+ <rom name="crmsn3ma.d88" size="1281968" crc="1f842921" sha1="05b3dd59f8d43e41431d93fe509b72829fa37628" offset="0" />
</dataarea>
</part>
<part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Game Disk"/>
+ <feature name="part_id" value="Game"/>
<dataarea name="flop" size="1281968">
<rom name="crmsn3ga.d88" size="1281968" crc="4c630dd5" sha1="835190e3aa49fb0ad0ee2703008ab3f569d68127" offset="0" />
</dataarea>
</part>
<part name="flop3" interface="floppy_5_25">
- <feature name="part_id" value="Scenario Disk"/>
+ <feature name="part_id" value="Opening"/>
<dataarea name="flop" size="1281968">
- <rom name="crmsn3sc.d88" size="1281968" crc="5fe3cc91" sha1="ec2314e1c47205cdf93acc9e149220c88d9f920a" offset="0" />
+ <rom name="crmsn3op.d88" size="1281968" crc="d96b595a" sha1="632d4b5805bb80ca463cb5b6914f1889d768e2c9" offset="0" />
</dataarea>
</part>
<part name="flop4" interface="floppy_5_25">
- <feature name="part_id" value="Master Disk"/>
+ <feature name="part_id" value="Scenario"/>
<dataarea name="flop" size="1281968">
- <rom name="crmsn3ma.d88" size="1281968" crc="1f842921" sha1="05b3dd59f8d43e41431d93fe509b72829fa37628" offset="0" />
+ <rom name="crmsn3sc.d88" size="1281968" crc="5fe3cc91" sha1="ec2314e1c47205cdf93acc9e149220c88d9f920a" offset="0" />
</dataarea>
</part>
</software>
@@ -11198,41 +10675,6 @@ only have some part of Windows file and a Video driver(CLGD?).
</part>
</software>
- <!-- Doesn't recognize disk changes. Works when installed to HDD. -->
- <software name="crw" supported="partial">
- <!-- Origin: Neo Kobe Collection -->
- <description>CRW - Metal Jacket</description>
- <year>1994</year>
- <publisher>ウィズ (Wiz)</publisher>
- <info name="alt_title" value="CRW メタルジャケット" />
- <info name="release" value="19941007" />
- <info name="usage" value="Run INSTHD.BAT from DOS" />
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="System Disk"/>
- <dataarea name="flop" size="1261568">
- <rom name="crw metal jacket (system disk).hdm" size="1261568" crc="18596a5f" sha1="7cbe59ee59ea7bb8e20a525500d2484b49a8f339" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Demo Disk"/>
- <dataarea name="flop" size="1261568">
- <rom name="crw metal jacket (demo disk).hdm" size="1261568" crc="301b0bc8" sha1="ee8cdea2177a21f16ec3218690b12219063980b6" offset="0" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_5_25">
- <feature name="part_id" value="Data 1 Disk"/>
- <dataarea name="flop" size="1261568">
- <rom name="crw metal jacket (data disk 1).hdm" size="1261568" crc="c016d0b3" sha1="a915fe83817da7809aaf1729e862fd1211395e8d" offset="0" />
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_5_25">
- <feature name="part_id" value="Data 2 Disk"/>
- <dataarea name="flop" size="1261568">
- <rom name="crw metal jacket (data disk 2).hdm" size="1261568" crc="831e1762" sha1="fa5d09204ca2a9129bf432bfd494022f4224fee7" offset="0" />
- </dataarea>
- </part>
- </software>
-
<software name="cryschas">
<description>Crystal Chaser - Tenkuu no Mashoukyuu</description>
<year>1991</year>
@@ -11274,7 +10716,7 @@ only have some part of Windows file and a Video driver(CLGD?).
</software>
<software name="crystdr2">
- <description>Crystal Dream II - Maou no Gen'ei</description>
+ <description>Crystal Dream II - Maou no Genei</description>
<year>1990</year>
<publisher>ストライカー (Striker)</publisher>
<info name="alt_title" value="クリスタルドリーム2 魔王ã®å¹»å½±" />
@@ -11286,7 +10728,6 @@ only have some part of Windows file and a Video driver(CLGD?).
</part>
</software>
- <!-- Seems to work only on 286-based machines (e.g. PC-9801UX) -->
<software name="crystqst">
<description>Crystal Quest</description>
<year>1992</year>
@@ -11393,60 +10834,12 @@ only have some part of Windows file and a Video driver(CLGD?).
</part>
</software>
- <!-- The installer tends to hang when it asks for a new disk -->
- <software name="crystnia" supported="no">
- <!-- Origin: Neo Kobe Collection -->
- <description>Shin'ou Densetsu Crystania</description>
- <year>1995</year>
- <publisher>システムソフト (SystemSoft)</publisher>
- <info name="alt_title" value="神王ä¼èª¬ã‚¯ãƒªã‚¹ã‚¿ãƒ‹ã‚¢" />
- <info name="release" value="19950707" />
- <info name="usage" value="Requires a serial number printed on the registration card. Run INST.EXE from DOS to install." />
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Disk 1"/>
- <dataarea name="flop" size="1261568">
- <rom name="shinou densetsu crystania (disk 1).hdm" size="1261568" crc="a57693e3" sha1="4037a645a546d1105c59dea060ce07574aad4f6d" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Disk 2"/>
- <dataarea name="flop" size="1261568">
- <rom name="shinou densetsu crystania (disk 2).hdm" size="1261568" crc="c4e4a7aa" sha1="d261072de27ee40c7f390603cfbe14436033b592" offset="0" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_5_25">
- <feature name="part_id" value="Disk 3"/>
- <dataarea name="flop" size="1261568">
- <rom name="shinou densetsu crystania (disk 3).hdm" size="1261568" crc="c6a80d42" sha1="149af04b5af0584d3c740868fc3c8414e63c5dff" offset="0" />
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_5_25">
- <feature name="part_id" value="Disk 4"/>
- <dataarea name="flop" size="1261568">
- <rom name="shinou densetsu crystania (disk 4).hdm" size="1261568" crc="8434172d" sha1="1f72621573586cf91681776969de330affb4f679" offset="0" />
- </dataarea>
- </part>
- <part name="flop5" interface="floppy_5_25">
- <feature name="part_id" value="Disk 5"/>
- <dataarea name="flop" size="1261568">
- <rom name="shinou densetsu crystania (disk 5).hdm" size="1261568" crc="6221e43b" sha1="e48bd66b3417bd426b9ae6a68c26ec0bd0062337" offset="0" />
- </dataarea>
- </part>
- <part name="flop6" interface="floppy_5_25">
- <feature name="part_id" value="Disk 6"/>
- <dataarea name="flop" size="1261568">
- <rom name="shinou densetsu crystania (disk 6).hdm" size="1261568" crc="884f6025" sha1="b3a570887ac3313144aaf89b415a654609e712d7" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="crystapk" supported="no">
- <description>Shin'ou Densetsu Crystania - Powerup Kit</description>
+ <software name="crystan">
+ <description>Crystania Shinou Densetsu</description>
<year>1995</year>
<publisher>システムソフト (SystemSoft)</publisher>
<info name="alt_title" value="神王ä¼èª¬ã‚¯ãƒªã‚¹ã‚¿ãƒ‹ã‚¢" />
<info name="release" value="19950707" />
- <info name="usage" value="Expansion disk for Shin'ou Densetsu Crystania" />
<part name="flop1" interface="floppy_5_25">
<dataarea name="flop" size="1261730">
<rom name="disk_1.dcp" size="1261730" crc="5bb9147e" sha1="6ce67cd222c9643c8c17ae081a6bde95e1c7cfdd" offset="0" />
@@ -11480,7 +10873,6 @@ only have some part of Windows file and a Video driver(CLGD?).
<publisher>クィーンソフト (Queensoft)</publisher>
<info name="alt_title" value="カース" />
<info name="release" value="19941216" />
- <info name="usage" value="Run DOSINS.EXE to copy system files or HDINS.EXE to install to HDD" />
<part name="flop1" interface="floppy_5_25">
<feature name="part_id" value="Disk 1"/>
<dataarea name="flop" size="1265664">
@@ -11640,38 +11032,6 @@ only have some part of Windows file and a Video driver(CLGD?).
</part>
</software>
- <software name="dennogak">
- <description>Cybernetic Hi-School / Dennou Gakuen</description>
- <year>1989</year>
- <publisher>ガイナックス (Gainax)</publisher>
- <info name="alt_title" value="電脳学園" />
- <info name="release" value="19890715" />
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Disk C"/>
- <dataarea name="flop" size="1261568">
- <rom name="cybernetic hi-school (disk c - boot).hdm" size="1261568" crc="329f6806" sha1="9db2322bd24a22ca01449d25a3c5b626261306db" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Disk A"/>
- <dataarea name="flop" size="1261568">
- <rom name="cybernetic hi-school (disk a).hdm" size="1261568" crc="82643986" sha1="57726aabacaeeaef558c57543374e3a85a8e1975" offset="0" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_5_25">
- <feature name="part_id" value="Disk B"/>
- <dataarea name="flop" size="1261568">
- <rom name="cybernetic hi-school (disk b).hdm" size="1261568" crc="c320269e" sha1="6c54266f040027ab3dbb7fe0694c35fe67a0acc5" offset="0" />
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_5_25">
- <feature name="part_id" value="Disk D"/>
- <dataarea name="flop" size="1261568">
- <rom name="cybernetic hi-school (disk d).hdm" size="1261568" crc="85c1752d" sha1="85eecf94799b646ee4fc95cc0b787abfd6cfa6c3" offset="0" />
- </dataarea>
- </part>
- </software>
-
<software name="dennog20">
<description>Cybernetic Hi-School / Dennou Gakuen Ver. 2.0</description>
<year>1990</year>
@@ -25277,8 +24637,7 @@ only have some part of Windows file and a Video driver(CLGD?).
</part>
</software>
- <!-- The intro music starts to play, but nothing shows up on screen and eventually the game hangs -->
- <software name="chilambl" supported="no">
+ <software name="chilambl">
<description>Libros de Chilam Balam</description>
<year>1992</year>
<publisher>ライトスタッフ (Right Stuff)</publisher>
@@ -47431,7 +46790,6 @@ Requires MS-DOS 5.00H plus an unknown procedure (HDD install?)
</part>
</software>
- <!-- Fails to boot after copying DOS files. Doesn't recognize the system disk. -->
<software name="candy3" supported="no">
<description>Candy 3</description>
<year>19??</year>
@@ -47456,32 +46814,30 @@ Requires MS-DOS 5.00H plus an unknown procedure (HDD install?)
</part>
</software>
- <software name="cgtsuku">
- <description>CG Tsukuuru 3D</description>
+ <software name="cgtsuku" supported="no">
+ <description>CG Tsukuruu 3D</description>
<year>19??</year>
<publisher>アスキー (ASCII)</publisher>
<info name="alt_title" value="CGツクール3D" />
- <info name="usage" value="From DOS, run INSTALL.EXE to create a bootable disk or INSTHD.EXE to install to HDD" />
<part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Install Disk"/>
+ <feature name="part_id" value="Disk I"/>
<dataarea name="flop" size="1329680">
<rom name="cg_i.nfd" size="1329680" crc="60d844b4" sha1="1755f9690ede25744aa254b1768a941a469a9131" offset="0" />
</dataarea>
</part>
<part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Sample Disk"/>
+ <feature name="part_id" value="Disk S"/>
<dataarea name="flop" size="1329680">
<rom name="cg_s.nfd" size="1329680" crc="aec8568a" sha1="2dc9097451cc22886fcc1727bfd9580b8684e810" offset="0" />
</dataarea>
</part>
</software>
- <software name="chaltt2">
+ <software name="chaltt2" supported="no">
<description>Challenge the Touch-Type 2</description>
<year>19??</year>
- <publisher>日本マイコン販売 (Nihon Micom Hanbai)</publisher>
- <info name="alt_title" value="ãƒãƒ£ãƒ¬ãƒ³ã‚¸ãƒ»ã‚¶ タッãƒã‚¿ã‚¤ãƒ— 2" />
- <info name="usage" value="Run TOUCH.BAT from DOS" />
+ <publisher>アスキー (ASCII)</publisher>
+ <info name="alt_title" value="ãƒãƒ£ãƒ¬ãƒ³ã‚¸ãƒ»ã‚¶ タッãƒã‚¿ã‚¤ãƒ—" />
<part name="flop1" interface="floppy_5_25">
<dataarea name="flop" size="1261568">
<rom name="challenge_touch-typing_2.hdm" size="1261568" crc="a0889c39" sha1="96bae27716f4b773f62cb2ec332c73c72caf9f06" offset="0" />
@@ -47489,7 +46845,7 @@ Requires MS-DOS 5.00H plus an unknown procedure (HDD install?)
</part>
</software>
- <software name="charadem">
+ <software name="charadem" supported="no">
<description>Charade Magic</description>
<year>1992</year>
<publisher>ãƒãƒ¼ãƒˆã‚½ãƒ•ト (Heart Soft)</publisher>
@@ -47502,20 +46858,20 @@ Requires MS-DOS 5.00H plus an unknown procedure (HDD install?)
</dataarea>
</part>
<part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Data Disk 1"/>
+ <feature name="part_id" value="Disk 1"/>
<dataarea name="flop" size="1329680">
<rom name="charadem_1.nfd" size="1329680" crc="576a5bf3" sha1="769d1f50e20da74c62efcbaaa6f7bcab728fef81" offset="0" />
</dataarea>
</part>
<part name="flop3" interface="floppy_5_25">
- <feature name="part_id" value="Data Disk 2"/>
+ <feature name="part_id" value="Disk 2"/>
<dataarea name="flop" size="1329680">
<rom name="charadem_2.nfd" size="1329680" crc="6354d3a9" sha1="50a55a6ff9f9ea11b8d939becf3821ae67725d62" offset="0" />
</dataarea>
</part>
</software>
- <software name="check6d" cloneof="check6">
+ <software name="check6d" cloneof="check6" supported="no">
<description>Check Six (Demo)</description>
<year>1993?</year>
<publisher>ペガサスジャパン (Pegasus Japan)</publisher>
@@ -47533,7 +46889,6 @@ Requires MS-DOS 5.00H plus an unknown procedure (HDD install?)
</part>
</software>
- <!-- The mouse cursor doesn't work correctly -->
<software name="choubaku" supported="no">
<description>Chou·Baku</description>
<year>1993</year>
@@ -47542,26 +46897,26 @@ Requires MS-DOS 5.00H plus an unknown procedure (HDD install?)
<info name="release" value="19930731" />
<part name="flop1" interface="floppy_5_25">
<feature name="part_id" value="Disk A"/>
- <dataarea name="flop" size="1261568">
- <rom name="chou-baku (disk 1).hdm" size="1261568" crc="90b33778" sha1="85498dc3a4f789d111476b5410833169df8c998f" offset="0" />
+ <dataarea name="flop" size="1329680">
+ <rom name="choubaku_a.nfd" size="1329680" crc="105afd8e" sha1="76d8f3efc46526069eb133e5dfea3c3c8bc2d882" offset="0" />
</dataarea>
</part>
<part name="flop2" interface="floppy_5_25">
<feature name="part_id" value="Disk B"/>
- <dataarea name="flop" size="1261568">
- <rom name="chou-baku (disk 2).hdm" size="1261568" crc="a4d91eae" sha1="744b2cce07f4202553a22b540401efb4a3521bcc" offset="0" />
+ <dataarea name="flop" size="1329680">
+ <rom name="choubaku_b.nfd" size="1329680" crc="8f11b2d1" sha1="b2fdf1a266c0d4f671dbc6af4c39e1b3f7b2c3f1" offset="0" />
</dataarea>
</part>
<part name="flop3" interface="floppy_5_25">
<feature name="part_id" value="Disk C"/>
- <dataarea name="flop" size="1261568">
- <rom name="chou-baku (disk 3).hdm" size="1261568" crc="7dfbbfb5" sha1="95b3fd28b5118d5d442ae9638b2885da7dff501e" offset="0" />
+ <dataarea name="flop" size="1329680">
+ <rom name="choubaku_c.nfd" size="1329680" crc="77580e01" sha1="614c9f3904f143e3189a4859e1537dcdc14c9d77" offset="0" />
</dataarea>
</part>
<part name="flop4" interface="floppy_5_25">
<feature name="part_id" value="Disk D"/>
- <dataarea name="flop" size="1261568">
- <rom name="chou-baku (disk 4).hdm" size="1261568" crc="90a05adb" sha1="5d5f398b0ab289825fcd4ed51bb2e5c4ffb7dcdd" offset="0" />
+ <dataarea name="flop" size="1329680">
+ <rom name="choubaku_d.nfd" size="1329680" crc="4b7d9d36" sha1="0224bceca47fe413122f19cd74e629bca3fa94ee" offset="0" />
</dataarea>
</part>
</software>
@@ -47604,23 +46959,11 @@ Requires MS-DOS 5.00H plus an unknown procedure (HDD install?)
</part>
</software>
- <software name="clipper">
- <description>Clipper - Takepon no Ochimono Puzzle</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="1261568">
- <rom name="clipper - takepon no ochimono puzzle.hdm" size="1261568" crc="4fee4078" sha1="75ddf68afbcfc7942d86969a253618586dbdf10e" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="compecon">
+ <software name="compecon" supported="no">
<description>Computer Aided Economics</description>
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
<info name="alt_title" value="コンピュータエコノミクス" />
- <info name="usage" value="Run CAE.EXE from DOS" />
<part name="flop1" interface="floppy_5_25">
<dataarea name="flop" size="1261568">
<rom name="computer_aided_economics.hdm" size="1261568" crc="4d5c369c" sha1="7d9dc63be2eb97fc5107aeab5cd68466a014963e" offset="0" />
@@ -47628,7 +46971,7 @@ Requires MS-DOS 5.00H plus an unknown procedure (HDD install?)
</part>
</software>
- <software name="crw2">
+ <software name="crw2" supported="no">
<description>CRW 2</description>
<year>1995</year>
<publisher>ウィズ (Wiz)</publisher>
@@ -47640,40 +46983,37 @@ Requires MS-DOS 5.00H plus an unknown procedure (HDD install?)
</dataarea>
</part>
<part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Demo Disk"/>
+ <feature name="part_id" value="Disk 1"/>
<dataarea name="flop" size="1329680">
- <rom name="crw2_demo.nfd" size="1329680" crc="5ecfad42" sha1="e942bd2b18559e0839f29841b17af6e0e1f1e754" offset="0" />
+ <rom name="crw2_1.nfd" size="1329680" crc="54d7916e" sha1="c77acf0fa98ea618404ff8a5038300bbab5ae5f1" offset="0" />
</dataarea>
</part>
<part name="flop3" interface="floppy_5_25">
- <feature name="part_id" value="Data Disk 1"/>
+ <feature name="part_id" value="Disk 2"/>
<dataarea name="flop" size="1329680">
- <rom name="crw2_1.nfd" size="1329680" crc="54d7916e" sha1="c77acf0fa98ea618404ff8a5038300bbab5ae5f1" offset="0" />
+ <rom name="crw2_2.nfd" size="1329680" crc="ba8969af" sha1="903268dc5c3e6735c46ddcac5aa93a3ff4961038" offset="0" />
</dataarea>
</part>
<part name="flop4" interface="floppy_5_25">
- <feature name="part_id" value="Data Disk 2"/>
+ <feature name="part_id" value="Disk 3"/>
<dataarea name="flop" size="1329680">
- <rom name="crw2_2.nfd" size="1329680" crc="ba8969af" sha1="903268dc5c3e6735c46ddcac5aa93a3ff4961038" offset="0" />
+ <rom name="crw2_3.nfd" size="1329680" crc="c358b6f7" sha1="9be92868d254878c656c5db6d17b84c0849ed597" offset="0" />
</dataarea>
</part>
<part name="flop5" interface="floppy_5_25">
- <feature name="part_id" value="Data Disk 3"/>
+ <feature name="part_id" value="Demo Disk"/>
<dataarea name="flop" size="1329680">
- <rom name="crw2_3.nfd" size="1329680" crc="c358b6f7" sha1="9be92868d254878c656c5db6d17b84c0849ed597" offset="0" />
+ <rom name="crw2_demo.nfd" size="1329680" crc="5ecfad42" sha1="e942bd2b18559e0839f29841b17af6e0e1f1e754" offset="0" />
</dataarea>
</part>
-
</software>
- <!-- The installer hangs on disk change most of the time -->
<software name="crystadx" supported="no">
- <description>Shin'ou Densetsu Crystania DX</description>
+ <description>Crystania - Shinou Densetsu DX</description>
<year>1995</year>
<publisher>システムソフト (SystemSoft)</publisher>
<info name="alt_title" value="神王ä¼èª¬ã‚¯ãƒªã‚¹ã‚¿ãƒ‹ã‚¢" />
<info name="release" value="19951215" />
- <info name="usage" value="Requires HDD installation and a serial number. Run INST.EXE from DOS to install." />
<part name="flop1" interface="floppy_5_25">
<feature name="part_id" value="Disk 1"/>
<dataarea name="flop" size="1261568">
@@ -47734,79 +47074,14 @@ Requires MS-DOS 5.00H plus an unknown procedure (HDD install?)
<rom name="crys_10.hdm" size="1261568" crc="418e51f5" sha1="15098e62f4a715478eb3e4bce51532ced2b86574" offset="0" />
</dataarea>
</part>
- </software>
-
- <!-- The installer tends to hang when it asks for a new disk -->
- <software name="crystadxc" cloneof="crystadx" supported="no">
- <description>Shin'ou Densetsu Crystania DX (cracked)</description>
- <year>1995</year>
- <publisher>システムソフト (SystemSoft)</publisher>
- <info name="alt_title" value="神王ä¼èª¬ã‚¯ãƒªã‚¹ã‚¿ãƒ‹ã‚¢" />
- <info name="release" value="19951215" />
- <info name="usage" value="Requires HDD installation. Run INST.EXE from DOS to install." />
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="Disk 1"/>
+ <part name="flop11" interface="floppy_5_25">
+ <feature name="part_id" value="Disk x1"/>
<dataarea name="flop" size="1261568">
<rom name="crys_x1.hdm" size="1261568" crc="1fc8279f" sha1="b7c03b3999ed1409c0399b7dacd11d2469778707" offset="0" />
</dataarea>
</part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="Disk 2"/>
- <dataarea name="flop" size="1261568">
- <rom name="crys_02.hdm" size="1261568" crc="80e0e9a0" sha1="f9b97cc109d8636e08513b50eebf38cbc885afa9" offset="0" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_5_25">
- <feature name="part_id" value="Disk 3"/>
- <dataarea name="flop" size="1261568">
- <rom name="crys_03.hdm" size="1261568" crc="a1a26860" sha1="7fedc856bdbb5aa3e12ed79467b346945c7c5001" offset="0" />
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_5_25">
- <feature name="part_id" value="Disk 4"/>
- <dataarea name="flop" size="1261568">
- <rom name="crys_04.hdm" size="1261568" crc="9a5acf4d" sha1="3282291d347400d8c2a633fc3d5af81b833fcae9" offset="0" />
- </dataarea>
- </part>
- <part name="flop5" interface="floppy_5_25">
- <feature name="part_id" value="Disk 5"/>
- <dataarea name="flop" size="1261568">
- <rom name="crys_05.hdm" size="1261568" crc="f76c252d" sha1="bc83810bb2e1ae1f00321e614ab1a76bc8981ff7" offset="0" />
- </dataarea>
- </part>
- <part name="flop6" interface="floppy_5_25">
- <feature name="part_id" value="Disk 6"/>
- <dataarea name="flop" size="1261568">
- <rom name="crys_06.hdm" size="1261568" crc="a99032d9" sha1="edcca5719cf35cc35d6355565977535be82c3189" offset="0" />
- </dataarea>
- </part>
- <part name="flop7" interface="floppy_5_25">
- <feature name="part_id" value="Disk 7"/>
- <dataarea name="flop" size="1261568">
- <rom name="crys_07.hdm" size="1261568" crc="adf2c753" sha1="9255b9e8349ac40a272bebb5be89d9ea93eeb27b" offset="0" />
- </dataarea>
- </part>
- <part name="flop8" interface="floppy_5_25">
- <feature name="part_id" value="Disk 8"/>
- <dataarea name="flop" size="1261568">
- <rom name="crys_08.hdm" size="1261568" crc="fd134725" sha1="6ec4db9ded61035719c17a2ef5e33366d5640da8" offset="0" />
- </dataarea>
- </part>
- <part name="flop9" interface="floppy_5_25">
- <feature name="part_id" value="Disk 9"/>
- <dataarea name="flop" size="1261568">
- <rom name="crys_09.hdm" size="1261568" crc="cadd3efe" sha1="469bd068a004930816b8489f1644f2592fc61bbd" offset="0" />
- </dataarea>
- </part>
- <part name="flop10" interface="floppy_5_25">
- <feature name="part_id" value="Disk 10"/>
- <dataarea name="flop" size="1261568">
- <rom name="crys_10.hdm" size="1261568" crc="418e51f5" sha1="15098e62f4a715478eb3e4bce51532ced2b86574" offset="0" />
- </dataarea>
- </part>
</software>
- <!-- Seems to be some kind of antivirus software. Fails to boot with ワクãƒãƒ³ãƒ—ログラムã®å®Ÿè¡ŒãŒã§ãã¾ã›ã‚“ (cannot execute the vaccine program) error -->
<software name="cybervac" supported="no">
<description>Cyber Vaccine Itekomashi</description>
<year>19??</year>
@@ -50846,7 +50121,6 @@ Requires MS-DOS 5.00H plus an unknown procedure (HDD install?)
</part>
</software>
- <!-- This probably requires 3.5" floppy emulation -->
<software name="cessna" supported="no">
<description>Nihon Juudan Cessna Flight</description>
<year>1988</year>
@@ -54162,7 +53436,7 @@ SPACE EMPIRE
</part>
</software>
- <software name="cancanb2">
+ <software name="cancanb2" supported="no">
<description>Can Can Bunny 2 - Superior</description>
<year>1990</year>
<publisher>カクテル・ソフト (Cocktail Soft)</publisher>
@@ -54181,8 +53455,7 @@ SPACE EMPIRE
</part>
</software>
- <!-- Seems to work only on 286-based machines (e.g. PC-9801UX) -->
- <software name="cancanb4" supported="partial">
+ <software name="cancanb4" supported="no">
<description>Can Can Bunny 4 - Premiere</description>
<year>1992</year>
<publisher>カクテル・ソフト (Cocktail Soft)</publisher>
@@ -54214,7 +53487,39 @@ SPACE EMPIRE
</part>
</software>
- <software name="cancanb5">
+ <software name="cancanb4a" cloneof="cancanb4" supported="no">
+ <description>Can Can Bunny 4 - Premiere (Alt Disk 1)</description>
+ <year>1992</year>
+ <publisher>カクテル・ソフト (Cocktail Soft)</publisher>
+ <info name="alt_title" value="ãゃんãゃんãƒãƒ‹ãƒ¼ï¼” プルミエール" />
+ <info name="release" value="19920730" />
+ <part name="flop1" interface="floppy_5_25">
+ <feature name="part_id" value="Disk A"/>
+ <dataarea name="flop" size="1172476">
+ <rom name="can can bunny 4 - premiere (1992)(cocktail)(disk 1 of 4)(disk a)[a].fdd" size="1172476" crc="62a77a80" sha1="0c1adf0f8a38d8ff11eddbdf1841f7130d374295" offset="0" />
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <feature name="part_id" value="Disk B"/>
+ <dataarea name="flop" size="1306620">
+ <rom name="can can bunny 4 - premiere (1992)(cocktail)(disk 2 of 4)(disk b).fdd" size="1306620" crc="e7b95d1b" sha1="73511ee88df33b70e91fea62191c849c329232c1" offset="0" />
+ </dataarea>
+ </part>
+ <part name="flop3" interface="floppy_5_25">
+ <feature name="part_id" value="Disk C"/>
+ <dataarea name="flop" size="1307644">
+ <rom name="can can bunny 4 - premiere (1992)(cocktail)(disk 3 of 4)(disk c).fdd" size="1307644" crc="6e1784fd" sha1="fef5d15f25d4a16845429a5e629b465c2d1a6e0b" offset="0" />
+ </dataarea>
+ </part>
+ <part name="flop4" interface="floppy_5_25">
+ <feature name="part_id" value="Disk D"/>
+ <dataarea name="flop" size="1300476">
+ <rom name="can can bunny 4 - premiere (1992)(cocktail)(disk 4 of 4)(disk d).fdd" size="1300476" crc="d5c591bf" sha1="ba10ae553aa9228c4ca6a85036e41781d59fd1ad" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="cancanb5" supported="no">
<description>Can Can Bunny 5 - Extra</description>
<year>1993</year>
<publisher>カクテル・ソフト (Cocktail Soft)</publisher>
@@ -54270,7 +53575,7 @@ SPACE EMPIRE
</part>
</software>
- <software name="cancan55">
+ <software name="cancan55" supported="no">
<description>Can Can Bunny 5½ - Limited</description>
<year>1994</year>
<publisher>カクテル・ソフト (Cocktail Soft)</publisher>
@@ -54290,13 +53595,12 @@ SPACE EMPIRE
</part>
</software>
- <software name="canaan">
+ <software name="canaan" supported="no">
<description>Canaan - Yakusoku no Chi</description>
<year>1997</year>
<publisher>フォア・ナイン (Fournine)</publisher>
<info name="alt_title" value="カナン ~約æŸã®åœ°ï½ž" />
<info name="release" value="19970411" />
- <info name="usage" value="Requires HDD installation. Run HDINST.EXE from DOS." />
<part name="flop1" interface="floppy_5_25">
<feature name="part_id" value="Disk A"/>
<dataarea name="flop" size="1197052">
@@ -54371,8 +53675,7 @@ SPACE EMPIRE
</part>
</software>
- <!-- Mouse doesn't work correctly; it can more or less be played with the keyboard -->
- <software name="charade" supported="partial">
+ <software name="charade" supported="no">
<description>Charade</description>
<year>1995</year>
<publisher>アップルパイï¼ã‚³ãƒ¼ãƒ’ーã¶ã‚Œã„ã (Apple Pie / Coffee Break)</publisher>
@@ -54410,7 +53713,7 @@ SPACE EMPIRE
</part>
</software>
- <software name="cherrymo">
+ <software name="cherrymo" supported="no">
<description>Cherry Moderate</description>
<year>1996</year>
<publisher>ユーコム (Ucom)</publisher>
@@ -54448,8 +53751,8 @@ SPACE EMPIRE
</part>
</software>
- <software name="cherrymod" cloneof="cherrymo">
- <description>Cherry Moderate (Demo)</description>
+ <software name="cherrymod" cloneof="cherrymo" supported="no">
+ <description>Cherry Moderate (Demo?)</description>
<year>1996</year>
<publisher>ユーコム (Ucom)</publisher>
<part name="flop1" interface="floppy_5_25">
@@ -54485,13 +53788,12 @@ SPACE EMPIRE
</part>
</software>
- <software name="chushaki">
+ <software name="chushaki" supported="no">
<description>Chuushaki - Hirasawa Nurse School</description>
<year>1996</year>
<publisher>アーヴォリオ (Aypio)</publisher>
<info name="alt_title" value="注射器" />
<info name="release" value="19960726" />
- <info name="usage" value="Run INSTALL.BAT from DOS" />
<part name="flop1" interface="floppy_5_25">
<feature name="part_id" value="Disk A"/>
<dataarea name="flop" size="1145852">
@@ -54524,13 +53826,12 @@ SPACE EMPIRE
</part>
</software>
- <software name="clonedol">
+ <software name="clonedol" supported="no">
<description>Clone Doll - Kagai Juugyou</description>
<year>1995</year>
<publisher>スペースプロジェクト (Space Project)</publisher>
<info name="alt_title" value="クローンドール 課外授業" />
<info name="release" value="19951221" />
- <info name="usage" value="Run INST.EXE from DOS" />
<part name="flop1" interface="floppy_5_25">
<feature name="part_id" value="Disk 1"/>
<dataarea name="flop" size="684028">
@@ -54569,7 +53870,7 @@ SPACE EMPIRE
</part>
</software>
- <software name="coin">
+ <software name="coin" supported="no">
<description>Coin</description>
<year>1996</year>
<publisher>アンジェ (Ange)</publisher>
@@ -54594,7 +53895,7 @@ SPACE EMPIRE
</part>
</software>
- <software name="cominhrt">
+ <software name="cominhrt" supported="no">
<description>Coming Heart</description>
<year>1995</year>
<publisher>メイビーソフト (May-Be Soft)</publisher>
@@ -54620,7 +53921,7 @@ SPACE EMPIRE
</part>
</software>
- <software name="creastar">
+ <software name="creastar" supported="no">
<description>CrEastar - Planets in Legend</description>
<year>1989</year>
<publisher>ボーステック (Bothtec)</publisher>
@@ -54640,8 +53941,7 @@ SPACE EMPIRE
</part>
</software>
- <!-- Seems to work only on 286-based machines (e.g. PC-9801UX) -->
- <software name="customt2">
+ <software name="customt2" supported="no">
<description>Custom Mate 2</description>
<year>1994</year>
<publisher>カクテル・ソフト (Cocktail Soft)</publisher>
@@ -54697,13 +53997,68 @@ SPACE EMPIRE
</part>
</software>
- <software name="customt3">
+ <software name="customt2a" cloneof="customt2" supported="no">
+ <description>Custom Mate 2 (Alt Disk 1)</description>
+ <year>1994</year>
+ <publisher>カクテル・ソフト (Cocktail Soft)</publisher>
+ <info name="alt_title" value="カスタムメイト2" />
+ <info name="release" value="19941021" />
+ <part name="flop1" interface="floppy_5_25">
+ <feature name="part_id" value="Disk A"/>
+ <dataarea name="flop" size="1002492">
+ <rom name="custom mate 2 (1994)(cocktail)(disk 1 of 8)(disk a)[a].fdd" size="1002492" crc="ba64d876" sha1="22c1bc1aea4ec43d589dc771cc707a9e4f12107e" offset="0" />
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <feature name="part_id" value="Disk B"/>
+ <dataarea name="flop" size="1218556">
+ <rom name="custom mate 2 (1994)(cocktail)(disk 2 of 8)(disk b).fdd" size="1218556" crc="451ecf8b" sha1="36d2dc3691c23bcc7d56d501b43509bb6c85aaff" offset="0" />
+ </dataarea>
+ </part>
+ <part name="flop3" interface="floppy_5_25">
+ <feature name="part_id" value="Disk C"/>
+ <dataarea name="flop" size="1279996">
+ <rom name="custom mate 2 (1994)(cocktail)(disk 3 of 8)(disk c).fdd" size="1279996" crc="e860f306" sha1="4f1c5cec7dc4387317431acce237855bc4263af5" offset="0" />
+ </dataarea>
+ </part>
+ <part name="flop4" interface="floppy_5_25">
+ <feature name="part_id" value="Disk D"/>
+ <dataarea name="flop" size="989180">
+ <rom name="custom mate 2 (1994)(cocktail)(disk 4 of 8)(disk d).fdd" size="989180" crc="e61d9eb0" sha1="3105d2156389f32bfea0dbafd0817b1d69a41b58" offset="0" />
+ </dataarea>
+ </part>
+ <part name="flop5" interface="floppy_5_25">
+ <feature name="part_id" value="Disk E"/>
+ <dataarea name="flop" size="1147900">
+ <rom name="custom mate 2 (1994)(cocktail)(disk 5 of 8)(disk e).fdd" size="1147900" crc="5268e706" sha1="dc12719b8c32d19012996cfe4b312f7d312cf95d" offset="0" />
+ </dataarea>
+ </part>
+ <part name="flop6" interface="floppy_5_25">
+ <feature name="part_id" value="Disk F"/>
+ <dataarea name="flop" size="869372">
+ <rom name="custom mate 2 (1994)(cocktail)(disk 6 of 8)(disk f).fdd" size="869372" crc="af259f5e" sha1="4a64f120e44eaf2aab511b0b0f11c7a67511abf3" offset="0" />
+ </dataarea>
+ </part>
+ <part name="flop7" interface="floppy_5_25">
+ <feature name="part_id" value="Disk G"/>
+ <dataarea name="flop" size="1140732">
+ <rom name="custom mate 2 (1994)(cocktail)(disk 7 of 8)(disk g).fdd" size="1140732" crc="f8c9d4ee" sha1="0c51900f3be3b2a4d2a9772bc95ebc05647aa9ed" offset="0" />
+ </dataarea>
+ </part>
+ <part name="flop8" interface="floppy_5_25">
+ <feature name="part_id" value="Disk H"/>
+ <dataarea name="flop" size="863228">
+ <rom name="custom mate 2 (1994)(cocktail)(disk 8 of 8)(disk h).fdd" size="863228" crc="c9e494ba" sha1="c58c12014640aa142dfa0be4f57ca55e7664de26" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="customt3" supported="no">
<description>Custom Mate 3</description>
<year>1995</year>
<publisher>カクテル・ソフト (Cocktail Soft)</publisher>
<info name="alt_title" value="カスタムメイト3" />
<info name="release" value="19951208" />
- <info name="usage" value="Run INSTALL.EXE from DOS" />
<part name="flop1" interface="floppy_5_25">
<feature name="part_id" value="Disk A"/>
<dataarea name="flop" size="1068028">
@@ -54760,13 +54115,12 @@ SPACE EMPIRE
</part>
</software>
- <software name="cyberill">
+ <software name="cyberill" supported="no">
<description>Cyber Illusion</description>
<year>1995</year>
<publisher>パールソフト (Pearl Soft)</publisher>
<info name="alt_title" value="サイãƒãƒ¼ã‚¤ãƒªãƒ¥ãƒ¼ã‚¸ãƒ§ãƒ³" />
<info name="release" value="19950922" />
- <info name="usage" value="Create a bootable DOS floppy and boot from it with disk B on drive 2, then run FDINST.EXE. To install to HDD, mount disk B and run HDINST.EXE." />
<part name="flop1" interface="floppy_5_25">
<feature name="part_id" value="Disk A"/>
<dataarea name="flop" size="1284092">
@@ -61200,7 +60554,7 @@ SPACE EMPIRE
</part>
</software>
- <software name="cmus20">
+ <software name="cmus20" supported="no">
<description>Computer Music Vol. 20</description>
<year>19??</year>
<publisher>&lt;coverdisk&gt;</publisher>
@@ -61814,7 +61168,7 @@ SPACE EMPIRE
</part>
</software>
- <software name="cmag9111">
+ <software name="cmag9111" supported="no">
<description>SoftBank C Magazine 1991-11</description>
<year>1991</year>
<publisher>&lt;coverdisk&gt;</publisher>
@@ -61825,7 +61179,7 @@ SPACE EMPIRE
</part>
</software>
- <software name="cmag9201">
+ <software name="cmag9201" supported="no">
<description>SoftBank C Magazine 1992-01</description>
<year>1992</year>
<publisher>&lt;coverdisk&gt;</publisher>
@@ -61836,7 +61190,7 @@ SPACE EMPIRE
</part>
</software>
- <software name="cmag9202">
+ <software name="cmag9202" supported="no">
<description>SoftBank C Magazine 1992-02</description>
<year>1992</year>
<publisher>&lt;coverdisk&gt;</publisher>
@@ -61847,7 +61201,7 @@ SPACE EMPIRE
</part>
</software>
- <software name="cmag9203">
+ <software name="cmag9203" supported="no">
<description>SoftBank C Magazine 1992-03</description>
<year>1992</year>
<publisher>&lt;coverdisk&gt;</publisher>
@@ -61858,7 +61212,7 @@ SPACE EMPIRE
</part>
</software>
- <software name="cmag9204">
+ <software name="cmag9204" supported="no">
<description>SoftBank C Magazine 1992-04</description>
<year>1992</year>
<publisher>&lt;coverdisk&gt;</publisher>
@@ -61869,7 +61223,7 @@ SPACE EMPIRE
</part>
</software>
- <software name="cmag9205">
+ <software name="cmag9205" supported="no">
<description>SoftBank C Magazine 1992-05</description>
<year>1992</year>
<publisher>&lt;coverdisk&gt;</publisher>
@@ -61880,7 +61234,7 @@ SPACE EMPIRE
</part>
</software>
- <software name="cmag9206">
+ <software name="cmag9206" supported="no">
<description>SoftBank C Magazine 1992-06</description>
<year>1992</year>
<publisher>&lt;coverdisk&gt;</publisher>
@@ -61891,7 +61245,7 @@ SPACE EMPIRE
</part>
</software>
- <software name="cmag9207">
+ <software name="cmag9207" supported="no">
<description>SoftBank C Magazine 1992-07</description>
<year>1992</year>
<publisher>&lt;coverdisk&gt;</publisher>
@@ -61902,7 +61256,7 @@ SPACE EMPIRE
</part>
</software>
- <software name="cmag9209">
+ <software name="cmag9209" supported="no">
<description>SoftBank C Magazine 1992-09</description>
<year>1992</year>
<publisher>&lt;coverdisk&gt;</publisher>
@@ -61913,7 +61267,7 @@ SPACE EMPIRE
</part>
</software>
- <software name="cmag9210">
+ <software name="cmag9210" supported="no">
<description>SoftBank C Magazine 1992-10</description>
<year>1992</year>
<publisher>&lt;coverdisk&gt;</publisher>
@@ -61931,7 +61285,7 @@ SPACE EMPIRE
</part>
</software>
- <software name="cmag9211">
+ <software name="cmag9211" supported="no">
<description>SoftBank C Magazine 1992-11</description>
<year>1992</year>
<publisher>&lt;coverdisk&gt;</publisher>
@@ -61942,7 +61296,7 @@ SPACE EMPIRE
</part>
</software>
- <software name="cmag9212">
+ <software name="cmag9212" supported="no">
<description>SoftBank C Magazine 1992-12</description>
<year>1992</year>
<publisher>&lt;coverdisk&gt;</publisher>
@@ -61953,7 +61307,7 @@ SPACE EMPIRE
</part>
</software>
- <software name="cmag9301">
+ <software name="cmag9301" supported="no">
<description>SoftBank C Magazine 1993-01</description>
<year>1993</year>
<publisher>&lt;coverdisk&gt;</publisher>
@@ -61964,7 +61318,7 @@ SPACE EMPIRE
</part>
</software>
- <software name="cmag9404">
+ <software name="cmag9404" supported="no">
<description>SoftBank C Magazine 1994-04</description>
<year>1993</year>
<publisher>&lt;coverdisk&gt;</publisher>
@@ -61975,7 +61329,7 @@ SPACE EMPIRE
</part>
</software>
- <software name="cmag9405">
+ <software name="cmag9405" supported="no">
<description>SoftBank C Magazine 1994-05</description>
<year>1993</year>
<publisher>&lt;coverdisk&gt;</publisher>
@@ -61986,7 +61340,7 @@ SPACE EMPIRE
</part>
</software>
- <software name="cmag9406">
+ <software name="cmag9406" supported="no">
<description>SoftBank C Magazine 1994-06</description>
<year>1993</year>
<publisher>&lt;coverdisk&gt;</publisher>
@@ -62758,8 +62112,7 @@ SPACE EMPIRE
</part>
</software>
- <!-- This game is supposed to play sound effects through the beeper, but in MAME it just outputs a constant beep -->
- <software name="car2gp" supported="partial">
+ <software name="car2gp">
<description>Car II Grand Prix</description>
<year>1992</year>
<publisher>ãƒã‚¤ã‚ªã²ã‚ƒãパーセント (Bio 100%)</publisher>
@@ -62770,8 +62123,7 @@ SPACE EMPIRE
</part>
</software>
- <!-- This game is supposed to play sound effects through the beeper, but in MAME it just outputs a constant beep -->
- <software name="carax92" supported="partial">
+ <software name="carax92">
<description>Carax 92</description>
<year>1992</year>
<publisher>ãƒã‚¤ã‚ªã²ã‚ƒãパーセント (Bio 100%)</publisher>
@@ -62782,8 +62134,7 @@ SPACE EMPIRE
</part>
</software>
- <!-- This probably requires 3.5" floppy emulation -->
- <software name="crayshot" supported="no">
+ <software name="crayshot">
<description>Cray Shoot</description>
<year>19??</year>
<publisher>ãƒã‚¤ã‚ªã²ã‚ƒãパーセント (Bio 100%)</publisher>
@@ -63093,8 +62444,7 @@ SPACE EMPIRE
</part>
</software>
- <!-- This game plays music through the beeper, but it doesn't work in MAME - it just outputs a constant beep -->
- <software name="carrothu" supported="partial">
+ <software name="carrothu">
<description>Carrot Hunting</description>
<year>19??</year>
<publisher>&lt;unofficial&gt;</publisher>
@@ -63959,11 +63309,10 @@ doujin?!?
</part>
</software>
- <software name="cpw">
+ <software name="cpw" supported="no">
<description>Cal Piss Water - Ayashii CG Shuu</description>
<year>19??</year>
<publisher>&lt;doujin&gt;</publisher>
- <info name="usage" value="Run CG.BAT from DOS" />
<part name="flop1" interface="floppy_5_25">
<dataarea name="flop" size="1261568">
<rom name="cal_piss_water_half.hdm" size="1261568" crc="f8496f00" sha1="e72d013dfbb01481db99cc8df4b36dccb6d81577" offset="0" />
@@ -63995,8 +63344,7 @@ doujin?!?
</part>
</software>
- <!-- This probably requires 3.5" floppy emulation -->
- <software name="cgesc" supported="no">
+ <software name="cgesc">
<description>C.G. Gallery 7 - Escort</description>
<year>1992</year>
<publisher>&lt;doujin&gt;</publisher>
@@ -64008,12 +63356,11 @@ doujin?!?
</part>
</software>
- <software name="cgmast98">
+ <software name="cgmast98" supported="no">
<description>C.G. Gallery Master_98</description>
<year>1991</year>
<publisher>&lt;doujin&gt;</publisher>
<info name="author" value="MMK" />
- <info name="usage" value="Run MMK.BAT from DOS" />
<part name="flop1" interface="floppy_5_25">
<dataarea name="flop" size="1261568">
<rom name="mmk_cg_gallery_master_98.hdm" size="1261568" crc="e3c082ad" sha1="cf09482ec79819210db52b4bf2ff3cfbe4ac959b" offset="0" />
@@ -64053,7 +63400,6 @@ doujin?!?
<publisher>&lt;doujin&gt;</publisher>
<info name="author" value="ソフトã•ーãる クレージュ ~ Soft Circle Courreges" />
<info name="alt_title" value="地下室ã®ã„ã‘ã«ãˆ" />
- <info name="usage" value="Run RUN.BAT from DOS" />
<part name="flop1" interface="floppy_5_25">
<dataarea name="flop" size="1265664">
<rom name="chikaike.fdi" size="1265664" crc="67f8303d" sha1="7782ac3b8479f12c14b3012c95810e81dbd39c92" offset="0" />
@@ -64061,8 +63407,7 @@ doujin?!?
</part>
</software>
- <!-- This probably requires 3.5" floppy emulation -->
- <software name="chinghai" supported="no">
+ <software name="chinghai">
<description>ChingHai</description>
<year>19??</year>
<publisher>&lt;doujin&gt;</publisher>
@@ -64087,7 +63432,6 @@ doujin?!?
</part>
</software>
- <!-- This probably requires 3.5" floppy emulation -->
<software name="collonc2" supported="no">
<description>Collon Club 2</description>
<year>19??</year>
@@ -64100,8 +63444,7 @@ doujin?!?
</part>
</software>
- <!-- This probably requires 3.5" floppy emulation -->
- <software name="collonc3" supported="no">
+ <software name="collonc3">
<description>Collon Club 3</description>
<year>19??</year>
<publisher>&lt;doujin&gt;</publisher>
@@ -64114,10 +63457,9 @@ doujin?!?
</software>
<software name="crazylab">
- <description>Kyouki no Meikyuu</description>
- <year>1996</year>
+ <description>Crazy Labyrinth</description>
+ <year>19??</year>
<publisher>&lt;doujin&gt;</publisher>
- <info name="alt_title" value="ç‹‚æ°—ã®è¿·å®®" />
<info name="author" value="Cats' Organization" />
<part name="flop1" interface="floppy_5_25">
<dataarea name="flop" size="1265664">
@@ -66262,6 +65604,19 @@ doujin?!?
<!-- INCOMPLETE SETS -->
+ <software name="cal3" supported="no">
+ <description>Cal III (Incomplete)</description>
+ <year>1991</year>
+ <publisher>ãƒãƒ¼ãƒ‡ã‚£ãƒ¼ã‚½ãƒ•ト (Birdy Soft)</publisher>
+ <info name="alt_title" value="キャル3" />
+ <info name="release" value="19930710" />
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="1298608">
+ <rom name="key_disk.d88" size="1298608" crc="1e71eb38" sha1="77950fc1805d6ce3a4767e8fe3d9b1dfa644478c" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
<!-- this should contain 3 disks. it was accompanied by an HDI image -->
<software name="gsekigah" supported="no">
<description>Gassen Sekigahara (Incomplete)</description>
@@ -66423,6 +65778,19 @@ doujin?!?
</part>
</software>
+ <software name="tokio2" supported="no">
+ <description>Tokio 2 - Kaitaku Imin Boshuuchuu (Incomplete)</description>
+ <year>1995</year>
+ <publisher>アートディンク (Artdink)</publisher>
+ <info name="alt_title" value="トキオ2 開拓移民募集中ï¼" />
+ <info name="release" value="19950914" />
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="1265664">
+ <rom name="boot.fdi" size="1265664" crc="011f2cb8" sha1="f86c50b0f1537eca1fe7bd7680b5a14805739f97" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
<!-- this should contain 5 disks. it was accompanied by an HDI image -->
<software name="wangsp" supported="no">
<description>Wrestle Angels Special (Incomplete)</description>
diff --git a/hash/pc98_cd.xml b/hash/pc98_cd.xml
index de88ca06f2d..edc26cc1409 100644
--- a/hash/pc98_cd.xml
+++ b/hash/pc98_cd.xml
@@ -1098,43 +1098,6 @@
</part>
</software>
- <software name="cyberwar">
- <!--
- Origin: Neo Kobe Collection
- <rom name="cyber war (disc 1).ccd" size="771" crc="b00b4fc3" sha1="c0ca2f35f7f2c623a2cffefd00199fad85040ba8"/>
- <rom name="cyber war (disc 1).cue" size="79" crc="4aa9158f" sha1="22e5bcad2ba79f857a7e025ca8d5dc75bbfa8894"/>
- <rom name="cyber war (disc 1).img" size="614424720" crc="5513bd0a" sha1="21d2a3f27fa043cc8a486e47a236181eb15cbabb"/>
- <rom name="cyber war (disc 1).sub" size="25078560" crc="81fb6f2b" sha1="93f38cd1fe5730af8918cc32e51cdc0c40645a0a"/>
- <rom name="cyber war (disc 2).ccd" size="772" crc="209cd755" sha1="f78e9fe3536b4a7c5841636ea1ca0728b4a39222"/>
- <rom name="cyber war (disc 2).cue" size="79" crc="63566323" sha1="1c22a830eb3307507db202142a5227816cd4750f"/>
- <rom name="cyber war (disc 2).img" size="668755920" crc="0c1db581" sha1="88a733ef4014db7e827f13137fda1ac4a5bd6eb6"/>
- <rom name="cyber war (disc 2).sub" size="27296160" crc="65914b39" sha1="eed5a88ae1fb798da6f9486565cad66be0f39f90"/>
- <rom name="cyber war (disc 3).ccd" size="771" crc="ec671429" sha1="a84b25f3956ca6219fd54bda5f3632b758c7529f"/>
- <rom name="cyber war (disc 3).cue" size="79" crc="7bfcb147" sha1="2913f71b0ddd72be5df2e6ce588662fe33f08c7b"/>
- <rom name="cyber war (disc 3).img" size="698953248" crc="4fdbd398" sha1="463d2708b3e4a2581ea21ea90c2921f90d3a60bc"/>
- <rom name="cyber war (disc 3).sub" size="28528704" crc="1ae19b0c" sha1="3dd896aeab94d76dd58c564333bac22d70ec71ee"/>
- -->
- <description>Cyberwar</description>
- <year>1995</year>
- <publisher>塚本å‰å½¦äº‹å‹™æ‰€ (Tsukamoto Yoshihiko Jimusho)</publisher>
- <info name="alt_title" value="サイãƒãƒ¼ã‚¦ã‚©ãƒ¼" />
- <part name="cdrom1" interface="cdrom">
- <diskarea name="cdrom">
- <disk name="cyber war (disc 1)" sha1="4b62409f228d06e30c4099d984863be76039a72b"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="cdrom">
- <diskarea name="cdrom">
- <disk name="cyber war (disc 2)" sha1="4bc9c31c839caf73dc27dc05133656a4db6eac74"/>
- </diskarea>
- </part>
- <part name="cdrom3" interface="cdrom">
- <diskarea name="cdrom">
- <disk name="cyber war (disc 3)" sha1="0547eda244bcb5e11b4d9381cd5f372fb3fb8485"/>
- </diskarea>
- </part>
- </software>
-
<!-- Hybrid disc, also included in fmtowns_cd.xml -->
<software name="dangel">
<!--
diff --git a/hash/pce.xml b/hash/pce.xml
index 55c7846356a..40d7e6227d9 100644
--- a/hash/pce.xml
+++ b/hash/pce.xml
@@ -33,9 +33,9 @@
<description>Adventure Island</description>
<year>1991</year>
<publisher>Hudson</publisher>
- <info name="serial" value="HC91035"/>
+ <info name="serial" value="アドベンãƒãƒ£ãƒ¼ã‚¢ã‚¤ãƒ©ãƒ³ãƒ‰"/>
<info name="release" value="19910419"/>
- <info name="alt_title" value="アドベンãƒãƒ£ãƒ¼ã‚¢ã‚¤ãƒ©ãƒ³ãƒ‰"/>
+ <info name="alt_title" value="HC91035"/>
<part name="cart" interface="pce_cart">
<dataarea name="rom" size="262144">
<rom name="adventure island (japan).pce" size="262144" crc="8e71d4f3" sha1="01ad5bbd7316740409e01917c19494cb26173ff5" offset="000000" />
@@ -324,9 +324,9 @@
<description>Blodia</description>
<year>1990</year>
<publisher>Hudson</publisher>
- <info name="serial" value="HC90027"/>
+ <info name="serial" value="ブロディア"/>
<info name="release" value="19900223"/>
- <info name="alt_title" value="ブロディア"/>
+ <info name="alt_title" value="HC90027"/>
<part name="cart" interface="pce_cart">
<dataarea name="rom" size="131072">
<rom name="blodia (japan).pce" size="131072" crc="958bcd09" sha1="bcb3070f617059c9d0d781ece2aee9ae74951f6a" offset="000000" />
@@ -761,7 +761,7 @@
<software name="deadmoon">
<description>Dead Moon - Tsuki Sekai no Akumu</description>
<year>1990</year>
- <publisher>T.S.S.</publisher>
+ <publisher>B.S.S.</publisher>
<info name="serial" value="TS91001"/>
<info name="release" value="19910222"/>
<info name="alt_title" value="デッドムーン æœˆä¸–ç•Œã®æ‚ªå¤¢"/>
@@ -2221,7 +2221,7 @@
<software name="mizubaku">
<description>Mizubaku Dai Bouken</description>
<year>1992</year>
- <publisher>Taito</publisher>
+ <publisher>Namcot</publisher>
<info name="serial" value="TP03020"/>
<info name="release" value="19920117"/>
<info name="alt_title" value="ミズãƒã‚¯å¤§å†’険"/>
@@ -3466,7 +3466,7 @@
</software>
<software name="sidearms">
- <description>Side Arms - Hyper Dyne</description>
+ <description>Sidearms - Hyper Dyne</description>
<year>1989</year>
<publisher>NEC</publisher>
<info name="serial" value="H54G-1004"/>
diff --git a/hash/pce_tourvision.xml b/hash/pce_tourvision.xml
index 58b3f4ea510..38694319206 100644
--- a/hash/pce_tourvision.xml
+++ b/hash/pce_tourvision.xml
@@ -1,21 +1,15 @@
<?xml version="1.0"?>
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
-<softwarelist name="pce_tourvision" description="TourVision (bootleg Arcade NEC PC-Engine) cartridges">
+<softwarelist name="pce_tourvision" description="Tourvision (bootleg Arcade NEC PC-Engine) cartridges">
<!--
The 4×2 pins section on the edge connector (pins 1 to 8) are connected to a 74LS244 near each cart slot and
are actually just being read as an IO port just like any other input.
-They form an 8 bit number which is the game ID, for example Override is: 00110101b (53d) = 0x35h
-The Game ID is added as a feature on each game of the softwarelist (0xFF is used when the ID is not known).
-
-Unless noted, all games match the corresponding PCE HuCard dump.
-
-All TourVisión carts are dumped as 1MB, the 384KB ROM is constructed concatenating the first 256KB of the first 512KB half with the first 128KB of the second 512KB half.
-For 512, 256 or 128KB ROMs, just a simple split is needed.
+They form an 8 bit number which is the game ID, for example Override is: 00110101 – 53
+The Game ID is added as a feature on each game of the softwarelist (-1 is used when the ID is not known).
Games with unknown ID
-
Armed-F
Dragon Spirit
Power League IV
@@ -24,6 +18,7 @@ Xevious
Undumped games:
+Blodia (will be dumped soon)
Blue Blink
Boken Danshaku Don
Chase HQ
@@ -35,9 +30,11 @@ Deep Blue
Eternal City
F1 Circus
F1 Triple Battle
+Golf Boy (will be dumped soon)
Hatris
Heavy Unit
-Hanii in the Sky
+Hani In The Sky
+Hani on the Road (will be dumped soon)
Kik Ball
King Of Casino
Klax
@@ -67,572 +64,620 @@ Strange Zone
Taito Motor Bike
Tales Of Monster Path
Titan
+Time Cruise (will be dumped soon)
TV Sports Football
World Beach Volley
World Court Tennis
Zipang
Rumored games:
-
-Parasol Stars
-
+Parasol Stars - often been mentioned, but still not confirmed, for Tourvision. For now it's been added from its NEC PC-Engine dump, which it would be likely identical.
-->
+ <!--1943 Kai -->
<software name="1943kai">
- <description>1943 Kai (TourVision PCE bootleg)</description>
+ <description>1943 Kai (Tourvision PCE bootleg)</description>
<year>1991</year>
- <publisher>bootleg (TourVision) / Naxat</publisher>
- <info name="alt_title" value="1943改"/>
+ <publisher>bootleg (Tourvision) / Capcom / Naxat Soft</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x41"/>
+ <feature name="id" value="65"/>
<dataarea name="rom" size="524288">
+ <!-- verified identical -->
<rom name="1943 kai (japan).pce" size="524288" crc="fde08d6d" sha1="3ac86354155ca01859c53e2f2287a715cd3fca13" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Adventure Island -->
<software name="advislnd">
- <description>Adventure Island (TourVision PCE bootleg)</description>
+ <description>Adventure Island (Tourvision PCE bootleg)</description>
<year>1991</year>
- <publisher>bootleg (TourVision) / Hudson</publisher>
- <info name="alt_title" value="アドベンãƒãƒ£ãƒ¼ã‚¢ã‚¤ãƒ©ãƒ³ãƒ‰"/>
+ <publisher>bootleg (Tourvision) / Hudson Soft</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x40"/>
- <dataarea name="rom" size="262144">
- <rom name="adventure island (japan).pce" size="262144" crc="8e71d4f3" sha1="01ad5bbd7316740409e01917c19494cb26173ff5" offset="000000" />
+ <feature name="id" value="64"/>
+ <dataarea name="rom" size="1048576">
+ <!-- 0x40000 matches PCE advislnd -->
+ <rom name="adventure_island.bin" size="1048576" crc="5d57f1c7" sha1="e4becb5175c0ca945f86fa199bb94cbd2399bd2d" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Aero Blasters - Hudson / Kaneko -->
<software name="aeroblst">
- <description>Aero Blasters (TourVision PCE bootleg)</description>
+ <description>Aero Blasters (Tourvision PCE bootleg)</description>
<year>1990</year>
- <publisher>bootleg (TourVision) / Hudson</publisher>
- <info name="alt_title" value="エアロブラスターズ"/>
+ <publisher>bootleg (Tourvision) / Inter State / Kaneko / Hudson Soft</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x20"/>
+ <feature name="id" value="32"/>
<dataarea name="rom" size="524288">
+ <!-- verified identical -->
<rom name="aero blasters (japan).pce" size="524288" crc="25be2b81" sha1="748ec92246140565d95f6fb727de6167227b85d3" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--After Burner -->
<software name="aburner2">
- <description>After Burner (TourVision PCE bootleg)</description>
+ <description>After Burner (Tourvision PCE bootleg)</description>
<year>1990</year>
- <publisher>bootleg (TourVision) / NEC Avenue</publisher>
- <info name="alt_title" value="アフターãƒãƒ¼ãƒŠãƒ¼II"/>
+ <publisher>bootleg (Tourvision) / Sega / Nec Avenue</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x2e"/>
+ <feature name="id" value="46"/>
<dataarea name="rom" size="524288">
+ <!-- verified identical -->
<rom name="after burner ii (japan).pce" size="524288" crc="ca72a828" sha1="50b9d22fe5179aee5cb95022472714ef8483841f" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Alice In Wonderland -->
<software name="alice">
- <description>Alice In Wonderland (TourVision PCE bootleg)</description>
+ <description>Alice In Wonderland (Tourvision PCE bootleg)</description>
<year>1990</year>
- <publisher>bootleg (TourVision) / Face</publisher>
- <info name="alt_title" value="䏿€è­°ã®å¤¢ã®ã‚¢ãƒªã‚¹"/>
+ <publisher>bootleg (Tourvision) / Face</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x3d"/>
- <dataarea name="rom" size="393216">
- <rom name="fushigi no yume no alice (japan).pce" size="393216" crc="12c4e6fd" sha1="c266b05dd367b2973399b8daff7c4dc33bebedd9" offset="000000" />
+ <feature name="id" value="61"/>
+ <dataarea name="rom" size="1048576">
+ <!-- 0x40000 matches PCE alice -->
+ <rom name="alice_in_wonderland.bin" size="1048576" crc="d1e941ef" sha1="7ca02fee191a270df29764e3eca1f93bd996622b" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Ankoku Densetsu -->
<software name="ankoku">
- <description>Ankoku Densetsu (TourVision PCE bootleg)</description>
+ <description>Ankoku Densetsu (Tourvision PCE bootleg)</description>
<year>1990</year>
- <publisher>bootleg (TourVision) / Victor Interactive Software</publisher>
- <info name="alt_title" value="æš—é»’ä¼èª¬"/>
+ <publisher>bootleg (Tourvision) / Victor Interactive Software</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x21"/>
- <dataarea name="rom" size="262144">
- <rom name="ankoku densetsu (japan).pce" size="262144" crc="cacc06fb" sha1="b6ae249f0a4954df6e53c21ba81646ecbc7c2945" offset="000000" />
+ <feature name="id" value="33"/>
+ <dataarea name="rom" size="1048576">
+ <!-- 0x40000 matches PCE ankoku -->
+ <rom name="ankoku_densetsu.tv" size="1048576" crc="274d6a9b" sha1="88c8493883eab3dac530dd70675d58b883a49e2e" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Armed-F -->
<software name="armedf">
- <description>Armed-F (TourVision PCE bootleg)</description>
+ <description>Armed-F (Tourvision PCE bootleg)</description>
<year>1990</year>
- <publisher>bootleg (TourVision) / Pack-In-Video</publisher>
- <info name="alt_title" value="FORMATION アームドF"/>
+ <publisher>bootleg (Tourvision) / Nichibutsu / Big Don</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0xff"/> <!-- Possible IDs: 4,5,15,18,24,31,40,61,75,76,77,78,101,111,114,120,127,136 (medium both delays) -->
+ <feature name="id" value="-1"/> <!-- Possible IDs: 4,5,15,18,24,31,40,61,75,76,77,78,101,111,114,120,127,136 (medium both delays) -->
<dataarea name="rom" size="262144">
+ <!-- verified identical -->
<rom name="armed formation f (japan).pce" size="262144" crc="20ef87fd" sha1="a326c9cece6f14b82629c4c79b34df819b022dce" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Ballistix -->
<software name="ballistx">
- <description>Ballistix (TourVision PCE bootleg)</description>
+ <description>Ballistix (Tourvision PCE bootleg)</description>
<year>1991</year>
- <publisher>bootleg (TourVision) / Coconuts Japan</publisher>
- <info name="alt_title" value="ãƒãƒªã‚¹ãƒ†ã‚£ãƒƒã‚¯ã‚¹"/>
+ <publisher>bootleg (Tourvision) / Psygnosis / Coconuts Japan</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0xba"/>
+ <feature name="id" value="186"/>
<dataarea name="rom" size="262144">
+ <!-- verified identical -->
<rom name="ballistix (japan).pce" size="262144" crc="8acfc8aa" sha1="e687abeb0f94e85fafa52e92b0beb82542f0c368" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Barunba -->
<software name="barunba">
- <description>Barunba (TourVision PCE bootleg)</description>
+ <description>Barunba (Tourvision PCE bootleg)</description>
<year>1989</year>
- <publisher>bootleg (TourVision) / Namcot</publisher>
- <info name="alt_title" value="ãƒãƒ«ãƒ³ãƒ"/>
+ <publisher>bootleg (Tourvision) / Zap / Namcot</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x27"/>
- <dataarea name="rom" size="524288">
- <rom name="barunba (japan).pce" size="524288" crc="4a3df3ca" sha1="5f110864af252462e144aa01a7a6ecb88d2a4eb1" offset="000000" />
+ <feature name="id" value="39"/>
+ <dataarea name="rom" size="1048576">
+ <!-- 0x80000 matches PCE barnuba -->
+ <rom name="barunba.bin" size="1048576" crc="1498678e" sha1="8a8e25617425dce2ad66a545b48652d307c91be0" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Batman -->
<software name="batman">
- <description>Batman (TourVision PCE bootleg)</description>
+ <description>Batman (Tourvision PCE bootleg)</description>
<year>1990</year>
- <publisher>bootleg (TourVision) / Sunsoft</publisher>
- <info name="alt_title" value="ãƒãƒƒãƒˆãƒžãƒ³"/>
+ <publisher>bootleg (Tourvision) / Sunsoft</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x1e"/>
- <dataarea name="rom" size="393216">
- <rom name="batman (japan).pce" size="393216" crc="106bb7b2" sha1="87e93e23c0c3ef960e9a226fc10a5fc9625d43a7" offset="000000" />
+ <feature name="id" value="30"/>
+ <dataarea name="rom" size="1048576">
+ <!-- 0x40000 matches PCE batman -->
+ <rom name="batman.tv" size="1048576" crc="e282f730" sha1="599a7a13cbc2f8d6726407ef3e261cca5d66511f" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Be Ball -->
<software name="beballa">
- <description>Be Ball (alt) (TourVision PCE bootleg)</description>
+ <description>Be Ball (alt) (Tourvision PCE bootleg)</description>
<year>1990</year>
- <publisher>bootleg (TourVision) / Hudson</publisher>
- <info name="alt_title" value="ビーボール"/>
+ <publisher>bootleg (Tourvision) / Hudson Soft</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x5d"/>
+ <feature name="id" value="93"/>
<dataarea name="rom" size="262144">
- <!-- NOT identical to the set in the PCE list, byte at 0xBCD is changed from 0x05 (PCE) to 0x02 (TV)-->
- <rom name="be ball (japan) [a].pce" size="262144" crc="261f1013" sha1="55d8815a4a432e587fc7483b63b73114fe40e710" offset="000000" />
+ <!-- byte at 0xBCD is changed 0x05 -> 0x02 -->
+ <rom name="tourv_be_ball_alt.pce" size="262144" crc="261f1013" sha1="55d8815a4a432e587fc7483b63b73114fe40e710" offset="000000" />
</dataarea>
</part>
</software>
- <software name="blodia">
- <description>Blodia (TourVision PCE bootleg)</description>
- <year>1989</year>
- <publisher>bootleg (TourVision) / Hudson</publisher>
- <info name="alt_title" value="ブロディア"/>
- <part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x07"/>
- <dataarea name="rom" size="131072">
- <rom name="blodia (japan).pce" size="131072" crc="958bcd09" sha1="bcb3070f617059c9d0d781ece2aee9ae74951f6a" offset="000000" />
- </dataarea>
- </part>
- </software>
+ <!--Bomberman -->
<software name="bombman">
- <description>Bomberman (TourVision PCE bootleg)</description>
+ <description>Bomberman (Tourvision PCE bootleg)</description>
<year>1990</year>
- <publisher>bootleg (TourVision) / Hudson</publisher>
- <info name="alt_title" value="ボンãƒãƒ¼ãƒžãƒ³"/>
+ <publisher>bootleg (Tourvision) / Hudson Soft</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x47"/>
+ <feature name="id" value="71"/>
<dataarea name="rom" size="262144">
+ <!-- verified identical -->
<rom name="bomberman (japan).pce" size="262144" crc="9abb4d1f" sha1="738bbced47d87cd438d7972eba58c08f5c031a74" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Bomberman 93 -->
<software name="bombmn93">
- <description>Bomberman '93 (TourVision PCE bootleg)</description>
+ <description>Bomberman 93 (Tourvision PCE bootleg)</description>
<year>1992</year>
- <publisher>bootleg (TourVision) / Hudson</publisher>
- <info name="alt_title" value="ボンãƒãƒ¼ãƒžãƒ³'93"/>
+ <publisher>bootleg (Tourvision) / Hudson Soft</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0xcc"/>
- <dataarea name="rom" size="524288">
- <rom name="bomberman '93 (japan).pce" size="524288" crc="b300c5d0" sha1="64131aeb6753bffde2910d641c73b56108874320" offset="000000" />
+ <feature name="id" value="204"/>
+ <dataarea name="rom" size="1048576">
+ <!-- 0x80000 matches PCE bombmn93 -->
+ <rom name="bomberman_93.tv" size="1048576" crc="6772c687" sha1="2ff79046baa19ea0bf1fd362b81f487c1e1d7382" offset="000000" />
</dataarea>
</part>
</software>
+
<software name="bullfght">
- <description>Bull Fight - Ring no Haja (TourVision PCE bootleg)</description>
+ <description>Bull Fight - Ring no Haja (Tourvision PCE bootleg)</description>
<year>1989</year>
- <publisher>bootleg (TourVision) / Cream</publisher>
- <info name="alt_title" value="ブルファイト リングã®è¦‡è€…"/>
+ <publisher>bootleg (Tourvision) / Cream</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0xb9"/>
+ <feature name="id" value="185"/>
<dataarea name="rom" size="393216">
+ <!-- verified identical -->
<rom name="bull fight - ring no haja (japan).pce" size="393216" crc="5c4d1991" sha1="6cd94e6209da2939752ab6b1c2d46e5b48c8e0cb" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Burning Angels -->
<software name="burnangl">
- <description>Burning Angels (TourVision PCE bootleg)</description>
+ <description>Burning Angels (Tourvision PCE bootleg)</description>
<year>1990</year>
- <publisher>bootleg (TourVision) / Naxat</publisher>
- <info name="alt_title" value="ãƒãƒ¼ãƒ‹ãƒ³ã‚°ã‚¨ãƒ³ã‚¸ã‚§ãƒ«"/>
+ <publisher>bootleg (Tourvision) / Naxat</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x31"/>
- <dataarea name="rom" size="393216">
- <rom name="burning angels (japan).pce" size="393216" crc="d233c05a" sha1="d34f38058ac1d8276e145a47fc4fdc1310f49a60" offset="000000" />
+ <feature name="id" value="49"/>
+ <dataarea name="rom" size="1048576">
+ <!-- 0x40000 matches PCE burnangl -->
+ <rom name="burning_angels.tv" size="1048576" crc="a776ff9d" sha1="ea0dd87090f8e4eceac59df8495fcc10f325afe5" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Cadash -->
<software name="cadash">
- <description>Cadash (TourVision PCE bootleg)</description>
+ <description>Cadash (Tourvision PCE bootleg)</description>
<year>1991</year>
- <publisher>bootleg (TourVision) / Taito</publisher>
- <info name="alt_title" value="カダッシュ"/>
+ <publisher>bootleg (Tourvision) / Taito</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0xcb"/>
- <dataarea name="rom" size="393216">
- <rom name="cadash (japan).pce" size="393216" crc="8dc0d85f" sha1="3755cb2b883bc106e58019e1cd82708a63394f35" offset="000000" />
+ <feature name="id" value="203"/>
+ <dataarea name="rom" size="1048576">
+ <!-- 0x40000 matches PCE cadash -->
+ <rom name="cadash.tv" size="1048576" crc="3611c4cf" sha1="68dab560b0c8123ec334df4e7db4af64dd92ff60" offset="000000" />
</dataarea>
</part>
</software>
- <!--Super Foolist Man -->
+
+ <!--Chozetsurinjin Beraboh Man (Super Foolist Man) -->
<software name="bravoman">
- <description>Chouzetsu Rinjin - Bravoman (TourVision PCE bootleg)</description>
+ <description>Chouzetsu Rinjin - Bravoman (Tourvision PCE bootleg)</description>
<year>1990</year>
- <publisher>bootleg (TourVision) / Namcot</publisher>
- <info name="alt_title" value="超絶倫人ベラボーマン"/>
+ <publisher>bootleg (Tourvision) / Namco / Namcot</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x1b"/>
+ <feature name="id" value="27"/>
<dataarea name="rom" size="524288">
+ <!-- verified identical -->
<rom name="chouzetsu rinjin - bravoman (japan).pce" size="524288" crc="0df57c90" sha1="9abb7d96a4dba96a26f7073ea06cb8b2deb24a43" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Chuka Taisen -->
<software name="chukatai">
- <description>Chuka Taisen (TourVision PCE bootleg)</description>
+ <description>Chuka Taisen (Tourvision PCE bootleg)</description>
<year>1992</year>
- <publisher>bootleg (TourVision) / Taito</publisher>
- <info name="alt_title" value="極楽!中è¯å¤§ä»™"/>
+ <publisher>bootleg (Tourvision) / Taito Corporation</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x25"/>
+ <feature name="id" value="37"/>
<dataarea name="rom" size="393216">
+ <!-- verified identical -->
<rom name="gokuraku! chuuka taisen (japan).pce" size="393216" crc="e749a22c" sha1="b58e94e3e0c778e678c5d08c708ac4e37bedbbe3" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Columns - Telenet Japan -->
<software name="columns">
- <description>Columns (TourVision PCE bootleg)</description>
+ <description>Columns (Tourvision PCE bootleg)</description>
<year>1991</year>
- <publisher>bootleg (TourVision) / Nihon Telenet</publisher>
- <info name="alt_title" value="コラムス"/>
+ <publisher>bootleg (Tourvision) / Telenet Japan</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x5a"/>
+ <feature name="id" value="90"/>
<dataarea name="rom" size="131072">
+ <!-- verified identical -->
<rom name="columns (japan).pce" size="131072" crc="99f7a572" sha1="238f9ee6cc80b31c5c93a4f43281e690200bdea3" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Coryoon -->
<software name="coryoon">
- <description>Coryoon - Child of Dragon (TourVision PCE bootleg)</description>
+ <description>Coryoon - Child of Dragon (Tourvision PCE bootleg)</description>
<year>1991</year>
- <publisher>bootleg (TourVision) / Naxat</publisher>
- <info name="alt_title" value="コリューン"/>
+ <publisher>bootleg (Tourvision) / Naxat Soft</publisher>
<part name="cart" interface="tourvision_cart">
<feature name="id" value="43"/>
<dataarea name="rom" size="524288">
+ <!-- verified identical -->
<rom name="coryoon - child of dragon (japan).pce" size="524288" crc="b4d29e3b" sha1="709595f04defcc55181f7502a0065e4c22d5fb19" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Cyber Core -->
<software name="cybrcore">
- <description>Cyber Core (TourVision PCE bootleg)</description>
+ <description>Cyber Core (Tourvision PCE bootleg)</description>
<year>1990</year>
- <publisher>bootleg (TourVision) / IGS</publisher>
- <info name="alt_title" value="サイãƒãƒ¼ã‚³ã‚¢"/>
+ <publisher>bootleg (Tourvision) / IGS</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x0d"/>
- <dataarea name="rom" size="393216">
- <rom name="cyber core (japan).pce" size="393216" crc="a98d276a" sha1="75bbd695e55a01a423a6c2404335d75f5bb65437" offset="000000" />
+ <feature name="id" value="13"/>
+ <dataarea name="rom" size="1048576">
+ <!-- 0x40000 the same of PCE - cybrcore -->
+ <rom name="cyber_core.bin" size="1048576" crc="e1bfac8f" sha1="8c346edf8251710a3dcddf4bd1f870de0661e5c9" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Daisenpu -->
<software name="daisenpu">
- <description>Daisenpu (TourVision PCE bootleg)</description>
+ <description>Daisenpu (Tourvision PCE bootleg)</description>
<year>1990</year>
- <publisher>bootleg (TourVision) / NEC Avenue</publisher>
- <info name="alt_title" value="大旋風"/>
+ <publisher>bootleg (Tourvision) / Toaplan / Nec Avenue</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x03"/>
+ <feature name="id" value="3"/>
<dataarea name="rom" size="524288">
+ <!-- verified identical -->
<rom name="dai senpu (japan).pce" size="524288" crc="9107bcc8" sha1="81f8c8f01530bb3d22e2dd463202d0e26e7faf24" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Dead Moon -->
<software name="deadmoon">
- <description>Dead Moon (TourVision PCE bootleg)</description>
+ <description>Dead Moon (Tourvision PCE bootleg)</description>
<year>1991</year>
- <publisher>bootleg (TourVision) / T.S.S</publisher>
- <info name="alt_title" value="デッドムーン æœˆä¸–ç•Œã®æ‚ªå¤¢"/>
+ <publisher>bootleg (Tourvision) / T.S.S</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x37"/>
+ <feature name="id" value="55"/>
<dataarea name="rom" size="524288">
+ <!-- verified identical -->
<rom name="dead moon (japan).pce" size="524288" crc="56739bc7" sha1="d86ba171b459c286243306407311d85d013a2833" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Devil Crash -->
<software name="devlcrsh">
- <description>Devil Crash - Naxat Pinball (TourVision PCE bootleg)</description>
+ <description>Devil Crash (Tourvision PCE bootleg)</description>
<year>1990</year>
- <publisher>bootleg (TourVision) / Naxat</publisher>
- <info name="alt_title" value="デビルクラッシュ ナグザットピンボール"/>
+ <publisher>bootleg (Tourvision) / Naxat / Red</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x2f"/>
+ <feature name="id" value="47"/>
<dataarea name="rom" size="393216">
+ <!-- verified identical -->
<rom name="devil crash - naxat pinball (japan).pce" size="393216" crc="4ec81a80" sha1="808638c33e110285d0d9415bc046b94a84b02c6a" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Die Hard -->
<software name="diehard">
- <description>Die Hard (TourVision PCE bootleg)</description>
+ <description>Die Hard (Tourvision PCE bootleg)</description>
<year>1990</year>
- <publisher>bootleg (TourVision) / Pack In Video</publisher>
- <info name="alt_title" value="ダイãƒãƒ¼ãƒ‰"/>
+ <publisher>bootleg (Tourvision) / Pack In Video / Nihon Busson Co.,Ltd</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x49"/>
- <dataarea name="rom" size="524288">
- <rom name="die hard (japan).pce" size="524288" crc="1b5b1cb1" sha1="96aeca126bb6ac0ca0df5ee260a8a1ee25f44d6d" offset="000000" />
+ <feature name="id" value="73"/>
+ <dataarea name="rom" size="1048576">
+ <!-- 0x80000 matches PCE diehard -->
+ <rom name="die_hard.tv" size="1048576" crc="5cd0556e" sha1="605a963d024aca1f51f343349948d15fc3ef9954" offset="000000" />
</dataarea>
</part>
</software>
+
<!--Dodge Ball -->
<software name="nekdodge">
- <description>Nekketsu Koukou Dodgeball Bu - PC Bangai Hen (TourVision PCE bootleg)</description>
+ <description>Dodge Ball (Tourvision PCE bootleg)</description>
<year>1990</year>
- <publisher>bootleg (TourVision) / Naxat</publisher>
- <info name="alt_title" value="熱血高校ドッジボール部 PC番外編"/>
+ <publisher>bootleg (Tourvision) / Technos Japan Corp / Naxat Soft</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0xc2"/>
+ <feature name="id" value="194"/>
<dataarea name="rom" size="262144">
+ <!-- verified identical -->
<rom name="nekketsu koukou dodgeball bu - pc bangai hen (japan).pce" size="262144" crc="65fdb863" sha1="582121ade819254da31fd8867c30e60195589a9a" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Doraemon Meikyuu Daisakusen -->
<software name="dorams">
- <description>Doraemon - Meikyuu Dai Sakusen (TourVision PCE bootleg)</description>
+ <description>Doraemon Meikyuu Dai Sakusen (Tourvision PCE bootleg)</description>
<year>1989</year>
- <publisher>bootleg (TourVision) / Hudson</publisher>
+ <publisher>bootleg (Tourvision) / Fujiko-Shogakukan-TV Asahi / Hudson Soft</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x14"/>
+ <feature name="id" value="20"/>
<dataarea name="rom" size="262144">
+ <!-- verified identical -->
<rom name="doraemon - meikyuu dai sakusen (japan).pce" size="262144" crc="dc760a07" sha1="81769dc4e2e669f6ae98872d22c52ac290530a28" offset="000000" />
</dataarea>
</part>
</software>
+ <!--Doraemon - Nobita no Dorabian Night -->
<software name="dorandn">
- <description>Doraemon - Nobita no Dorabian Night (TourVision PCE bootleg)</description>
+ <description>Doraemon - Nobita no Dorabian Night (Tourvision PCE bootleg)</description>
<year>1991</year>
- <publisher>bootleg (TourVision) / Hudson</publisher>
- <info name="alt_title" value="ドラãˆã‚‚ã‚“ ã®ã³å¤ªã®ãƒ‰ãƒ©ãƒ“アンナイト"/>
+ <publisher>bootleg (Tourvision) / Fujiko-Shogakukan-TV Asahi / Hudson Soft</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x2b"/>
- <dataarea name="rom" size="524288">
- <rom name="doraemon - nobita no dorabian night (japan).pce" size="524288" crc="013a747f" sha1="feea7cb74d4e256eb75ab46fcfc40c21743d5487" offset="000000" />
+ <feature name="id" value="43"/>
+ <dataarea name="rom" size="1048576">
+ <!-- 0x80000 matches PCE dorandn -->
+ <rom name="doreamon-nobitas_dorabian_night.tv" size="1048576" crc="716b1229" sha1="aaaf21cb511d07a0091ed560f3b426a3ba8950c5" offset="000000" />
</dataarea>
</part>
</software>
+ <!--Down Load -->
<software name="download">
- <description>Down Load (TourVision PCE bootleg)</description>
+ <description>Down Load (Tourvision PCE bootleg)</description>
<year>1990</year>
- <publisher>bootleg (TourVision) / NEC Avenue</publisher>
- <info name="alt_title" value="ダウンロード"/>
+ <publisher>bootleg (Tourvision) / NEC Avenue</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x2b"/>
- <dataarea name="rom" size="524288">
- <rom name="download (japan).pce" size="524288" crc="85101c20" sha1="847bd22cccdf929def8fc348b973faee2688e648" offset="000000" />
+ <feature name="id" value="43"/>
+ <dataarea name="rom" size="1048576">
+ <!-- 0x80000 matches PCE download -->
+ <rom name="down_load.bin" size="1048576" crc="cd4e0142" sha1="8324e0699c41c5af524889a9df2f4d45d8683d4e" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Dragon Egg! -->
<software name="dragnegg" supported="no">
- <description>Dragon Egg! (TourVision PCE bootleg)</description>
+ <description>Dragon Egg! (Tourvision PCE bootleg)</description>
<year>1991</year>
- <publisher>bootleg (TourVision) / Masiya</publisher>
- <info name="alt_title" value="ã©ã‚‰ã”ã‚“EGG!"/>
+ <publisher>bootleg (Tourvision) / Masaya</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x62"/>
- <dataarea name="rom" size="524288">
- <rom name="dragon egg! (japan).pce" size="524288" crc="442405d5" sha1="56c69f24b542fea72cc753ddf0e4bb23974adbdf" offset="000000" />
+ <feature name="id" value="98"/>
+ <dataarea name="rom" size="1048576">
+ <!-- 0x80000 matches PCE dragnegg -->
+ <rom name="dragon_egg.tv" size="1048576" crc="fa24bc20" sha1="d6da2f5c95bb25d15918e01de951bbf35de9de7b" offset="000000" />
</dataarea>
</part>
</software>
+
<software name="dsaber">
- <description>Dragon Saber - After Story of Dragon Spirit (TourVision PCE bootleg)</description>
+ <description>Dragon Saber - After Story of Dragon Spirit (Tourvision PCE bootleg)</description>
<year>1991</year>
- <publisher>bootleg (TourVision) / Namcot</publisher>
- <info name="alt_title" value="ドラゴンセイãƒãƒ¼"/>
+ <publisher>bootleg (Tourvision) / Namcot</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x41"/>
+ <feature name="id" value="65"/>
<dataarea name="rom" size="524288">
+ <!-- verified identical -->
<rom name="dragon saber - after story of dragon spirit (japan).pce" size="524288" crc="3219849c" sha1="6d94cd3e27dbe1694229f7f006dc821be4764aa2" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Dragon Spirit -->
<software name="dspirit">
- <description>Dragon Spirit (TourVision PCE bootleg)</description>
+ <description>Dragon Spirit (Tourvision PCE bootleg)</description>
<year>1988</year>
- <publisher>bootleg (TourVision) / Namcot</publisher>
- <info name="alt_title" value="ドラゴンスピリット"/>
+ <publisher>bootleg (Tourvision) / Namcot</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0xff"/> <!-- Possible IDs: 4,5,15,18,24,31,40,61,75,76,77,78,101,111,114,120,127,136 (long final delay short initial one) -->
+ <feature name="id" value="-1"/> <!-- Possible IDs: 4,5,15,18,24,31,40,61,75,76,77,78,101,111,114,120,127,136 (long final delay short initial one) -->
<dataarea name="rom" size="262144">
+ <!-- verified identical -->
<rom name="dragon spirit (japan).pce" size="262144" crc="01a76935" sha1="09b037fde801b71d1ff343c40ff5a58372b9a514" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Drop Rock Hora Hora -->
<software name="droprock">
- <description>Drop Rock Hora Hora (TourVision PCE bootleg)</description>
+ <description>Drop Rock Hora Hora (Tourvision PCE bootleg)</description>
<year>1990</year>
- <publisher>bootleg (TourVision) / Data East</publisher>
- <info name="alt_title" value="ドロップロック ã»ã‚‰ãƒ›ãƒ©"/>
+ <publisher>bootleg (Tourvision) / Data East</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x0c"/>
- <dataarea name="rom" size="262144">
- <rom name="drop rock hora hora (japan).pce" size="262144" crc="67ec5ec4" sha1="b1b28d6dac76c3e3547f0a5a695110fd506643e0" offset="000000" />
+ <feature name="id" value="12"/>
+ <dataarea name="rom" size="1048576">
+ <!-- 0x40000 matches PCE droprock -->
+ <rom name="drop_rock_hora_hora.bin" size="1048576" crc="66cf9db8" sha1="66d1d916a6f13a52ca164fda740fb532386992be" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--
+ Dungeon Explorer TourVision cart - Hudson / Atlus
+ Notes:
+ -Cart's A18 line (pin 32) seems not connected to anything.
+ -->
<software name="dungexpl">
- <description>Dungeon Explorer (TourVision PCE bootleg)</description>
+ <description>Dungeon Explorer (Tourvision PCE bootleg)</description>
<year>1989</year>
- <publisher>bootleg (TourVision) / Hudson</publisher>
- <info name="alt_title" value="ダンジョン エクスプローラー"/>
+ <publisher>bootleg (Tourvision) / Atlus Ltd. / Hudson Soft</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0xd1"/>
+ <feature name="id" value="209"/>
<dataarea name="rom" size="393216">
+ <!-- verified identical -->
<rom name="dungeon explorer (japan).pce" size="393216" crc="1b1a80a2" sha1="77caece9655a0e14330884673ffb41ff2bb625c4" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Fighting Run -->
<software name="fightrun">
- <description>Fighting Run (TourVision PCE bootleg)</description>
+ <description>Fighting Run (Tourvision PCE bootleg)</description>
<year>1991</year>
- <publisher>bootleg (TourVision) / Nihon Bussan</publisher>
- <info name="alt_title" value="ファイティングラン"/>
+ <publisher>bootleg (Tourvision) / Nichibutsu</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0xc3"/>
- <dataarea name="rom" size="524288">
- <rom name="fighting run (japan).pce" size="524288" crc="1828d2e5" sha1="fdd2962412b401cd2d72a85ddb516071468bd9ff" offset="000000" />
+ <feature name="id" value="195"/>
+ <dataarea name="rom" size="1048576">
+ <!-- 0x80000 matches PCE fightrun -->
+ <rom name="fighting_run.bin" size="1048576" crc="004bba0a" sha1="9f3933eeb60fcd95d05db093156bce65dc4a82fd" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Final Blaster -->
<software name="finlblst">
- <description>Final Blaster (TourVision PCE bootleg)</description>
+ <description>Final Blaster (Tourvision PCE bootleg)</description>
<year>1990</year>
- <publisher>bootleg (TourVision) / Namcot</publisher>
- <info name="alt_title" value="ファイナルブラスター"/>
+ <publisher>bootleg (Tourvision) / Namco / Namcot</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x1d"/>
+ <feature name="id" value="29"/>
<dataarea name="rom" size="393216">
+ <!-- verified identical -->
<rom name="final blaster (japan).pce" size="393216" crc="c90971ba" sha1="4a013fde3938ceaacf38fcc4f56828d1292142d0" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Final Lap Twin - Namco -->
<software name="finallap">
- <description>Final Lap Twin (TourVision PCE bootleg)</description>
+ <description>Final Lap Twin (Tourvision PCE bootleg)</description>
<year>1989</year>
- <publisher>bootleg (TourVision) / Namcot</publisher>
- <info name="alt_title" value="ファイナルラップ・ツイン"/>
+ <publisher>bootleg (Tourvision) / Namco Ltd. / Namcot</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x4f"/>
+ <feature name="id" value="79"/>
<dataarea name="rom" size="393216">
+ <!-- verified identical -->
<rom name="final lap twin (japan).pce" size="393216" crc="c8c084e3" sha1="ad695b7d1fb8bac7d9e13045bf229dba98d56a71" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Final Match Tennis -->
<software name="finalmt">
- <description>Final Match Tennis (TourVision PCE bootleg)</description>
+ <description>Final Match Tennis (Tourvision PCE bootleg)</description>
<year>1991</year>
- <publisher>bootleg (TourVision) / Human</publisher>
- <info name="alt_title" value="ファイナルマッãƒãƒ†ãƒ‹ã‚¹"/>
+ <publisher>bootleg (Tourvision) / Human</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x3e"/>
+ <feature name="id" value="62"/>
<dataarea name="rom" size="262144">
+ <!-- verified identical -->
<rom name="final match tennis (japan).pce" size="262144" crc="560d2305" sha1="e3a97b468d0a6c94effde70bf331dc4b3d90b166" offset="000000" />
</dataarea>
</part>
</software>
+ <!--Final Soldier -->
<software name="finalsol">
- <description>Final Soldier (TourVision PCE bootleg)</description>
+ <description>Final Soldier (Tourvision PCE bootleg)</description>
<year>1991</year>
- <publisher>bootleg (TourVision) / Hudson</publisher>
- <info name="alt_title" value="ファイナルソルジャー"/>
+ <publisher>bootleg (Tourvision) / Hudson</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x2d"/>
- <dataarea name="rom" size="524288">
- <rom name="final soldier (japan).pce" size="524288" crc="af2dd2af" sha1="ce89c6ea5d9eb36a642742ecad9c35c16b761c49" offset="000000" />
+ <feature name="id" value="45"/>
+ <dataarea name="rom" size="1048576">
+ <rom name="final_soldier.bin" size="1048576" crc="bf28530b" sha1="fe9b487ab0fb5adc83d23d66c0ccb6dde6b77fbd" offset="000000" />
</dataarea>
</part>
</software>
+ <!--Formation Soccer - Human Cup ' 90 - Human -->
<software name="fsoccr90">
- <description>Formation Soccer - Human Cup '90 (TourVision PCE bootleg)</description>
+ <description>Formation Soccer - Human Cup '90 (Tourvision PCE bootleg)</description>
<year>1990</year>
- <publisher>bootleg (TourVision) / Human</publisher>
- <info name="alt_title" value="フォーメーション・サッカー ヒューマンカップ'90"/>
+ <publisher>bootleg (Tourvision) / Human</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x01"/>
+ <feature name="id" value="1"/>
<dataarea name="rom" size="262144">
+ <!-- verified identical -->
<rom name="formation soccer - human cup '90 (japan).pce" size="262144" crc="85a1e7b6" sha1="d53db608475ca26ff81837dc43b40726bd0440a5" offset="000000" />
</dataarea>
</part>
</software>
- <software name="ganbgolf">
- <description>Ganbare! Golf Boys (TourVision PCE bootleg)</description>
- <year>1989</year>
- <publisher>bootleg (TourVision) / NCS</publisher>
- <info name="alt_title" value="ãŒã‚“ã°ã‚Œ!ゴルフボーイズ"/>
- <part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x43"/>
- <dataarea name="rom" size="262144">
- <rom name="ganbare! golf boys (japan).pce" size="262144" crc="27a4d11a" sha1="69794e5af0d2ec1a5bf6122c64fd5bc43092ae04" offset="000000" />
- </dataarea>
- </part>
- </software>
+ <!--Gomola Speed - Human -->
<software name="gomolaa">
- <description>Gomola Speed (alt) (TourVision PCE bootleg)</description>
+ <description>Gomola Speed (alt) (Tourvision PCE bootleg)</description>
<year>1990</year>
- <publisher>bootleg (TourVision) / UPL</publisher>
- <info name="alt_title" value="ゴモラスピード"/>
+ <publisher>bootleg (Tourvision) / Human</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x1b"/>
+ <feature name="id" value="27"/>
<dataarea name="rom" size="393216">
<!-- NOT identical to the set in the PCE list, alt revison? -->
<rom name="gomolaa.pce" size="393216" crc="4bd38f17" sha1="fe4b08fb0cd9d0a53726c2709db3e31fbeae1213" offset="000000" />
@@ -640,923 +685,1059 @@ Parasol Stars
</part>
</software>
+
+ <!--Gradius -->
<software name="gradius">
- <description>Gradius (TourVision PCE bootleg)</description>
+ <description>Gradius (Tourvision PCE bootleg)</description>
<year>1991</year>
- <publisher>bootleg (TourVision) / Konami</publisher>
- <info name="alt_title" value="グラディウス"/>
+ <publisher>bootleg (Tourvision) / Konami</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0xbb"/>
- <dataarea name="rom" size="262144">
- <rom name="gradius (japan).pce" size="262144" crc="0517da65" sha1="338f62b6d57f30b1850c32f5ae0d8c26c761974b" offset="000000" />
+ <feature name="id" value="187"/>
+ <dataarea name="rom" size="1048576">
+ <!-- 0x40000 matches PCE gradius -->
+ <rom name="gradius.tv" size="1048576" crc="8b39af37" sha1="62dc116918ded85325ff65c470818418e73516ed" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Gunhed -->
<software name="gunhed">
- <description>GunHed (TourVision PCE bootleg)</description>
+ <description>GunHed (Tourvision PCE bootleg)</description>
<year>1989</year>
- <publisher>bootleg (TourVision) / Hudson</publisher>
- <info name="alt_title" value="ガンヘッド"/>
+ <publisher>bootleg (Tourvision) / Hudson / Toho Sunrise</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x94"/>
+ <feature name="id" value="148"/>
<dataarea name="rom" size="393216">
+ <!-- verified identical -->
<rom name="gunhed (japan).pce" size="393216" crc="a17d4d7e" sha1="0107d93ff5d10325092d45e6bfd21e8130efeed7" offset="000000" />
</dataarea>
</part>
</software>
- <!--Super Long Nose Goblin -->
+ <!--Hana Taka Daka (Super Long Nose Goblin) -->
<software name="hanataka">
- <description>Hana Taaka Daka!? (TourVision PCE bootleg)</description>
+ <description>Hana Taaka Daka!? (Tourvision PCE bootleg)</description>
<year>1991</year>
- <publisher>bootleg (TourVision) / Taito</publisher>
- <info name="alt_title" value="ã¯ãªãŸãƒ¼ã‹ã ã‹!?"/>
+ <publisher>bootleg (Tourvision) / Taito Corporation</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x06"/>
+ <feature name="id" value="6"/>
<dataarea name="rom" size="524288">
+ <!-- verified identical -->
<rom name="hana taaka daka! (japan).pce" size="524288" crc="ba4d0dd4" sha1="664ccd11372b04739e388fb921ac507eb71986cd" offset="000000" />
</dataarea>
</part>
</software>
- <software name="haniirod">
- <description>Hanii on the Road (TourVision PCE bootleg)</description> <!-- The cart was hand-labeled as "Money in the Sky II" -->
- <year>1990</year>
- <publisher>bootleg (TourVision) / Face</publisher>
- <info name="alt_title" value="ã¯ã«ã„・ãŠã‚“ã–・ã‚ãŠã©"/>
- <part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x53"/>
- <dataarea name="rom" size="393216">
- <rom name="hanii on the road (japan).pce" size="393216" crc="9897fa86" sha1="67e7fd05e40c08a7e353501e1940ef1ec5ae8b05" offset="000000" />
- </dataarea>
- </part>
- </software>
+ <!--Hit The Ice -->
<software name="hitice">
- <description>Hit the Ice - VHL - The Official Video Hockey League (TourVision PCE bootleg)</description>
+ <description>Hit The Ice (Tourvision PCE bootleg)</description>
<year>1991</year>
- <publisher>bootleg (TourVision) / Taito</publisher>
- <info name="alt_title" value="ヒット ジ アイス"/>
+ <publisher>bootleg (Tourvision) / Williams / Taito Corporation</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x61"/>
- <dataarea name="rom" size="393216">
- <rom name="hit the ice - vhl the official video hockey league (japan).pce" size="393216" crc="7acb60c8" sha1="1452d2161d1da401f05c36a0a50492a6df9dc010" offset="000000" />
+ <feature name="id" value="97"/>
+ <dataarea name="rom" size="1048576">
+ <!-- 0x40000 matches PCE hitice -->
+ <rom name="hit_the_ice.tv" size="1048576" crc="a0929d2b" sha1="26607a76cade818bd0d1daf2d0bfddfecd18f187" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Image Fight -->
<software name="imagefgt">
- <description>Image Fight (TourVision PCE bootleg)</description>
+ <description>Image Fight (Tourvision PCE bootleg)</description>
<year>1990</year>
- <publisher>bootleg (TourVision) / Irem</publisher>
- <info name="alt_title" value="イメージファイト"/>
+ <publisher>bootleg (Tourvision) / Irem</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x63"/>
- <dataarea name="rom" size="524288">
- <rom name="image fight (japan).pce" size="524288" crc="a80c565f" sha1="4f2256e49cc71613a6b35d224be706ee95df17b9" offset="000000" />
+ <feature name="id" value="99"/>
+ <dataarea name="rom" size="1048576">
+ <!-- 0x80000 matches PCE imagefgt -->
+ <rom name="image_fight.bin" size="1048576" crc="ad6a4eb1" sha1="b802f718a3a199f9257e19b7044482cc05c1c7a6" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Jackie Chan - Hudson -->
<software name="jchan">
- <description>Jackie Chan (TourVision PCE bootleg)</description>
+ <description>Jackie Chan (Tourvision PCE bootleg)</description>
<year>1991</year>
- <publisher>bootleg (TourVision) / Hudson</publisher>
- <info name="alt_title" value="ジャッキーãƒã‚§ãƒ³"/>
+ <publisher>bootleg (Tourvision) / Hudson Soft</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x36"/>
+ <feature name="id" value="54"/>
<dataarea name="rom" size="524288">
+ <!-- verified identical -->
<rom name="jackie chan (japan).pce" size="524288" crc="c6fa6373" sha1="44c9ce3b37ca9c5edfe840f78485048e2bd1bf41" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Jinmu Densho -->
<software name="jinmu">
- <description>Jinmu Denshou (TourVision PCE bootleg)</description>
+ <description>Jinmu Denshou (Tourvision PCE bootleg)</description>
<year>1989</year>
- <publisher>bootleg (TourVision) / Big Club</publisher>
- <info name="alt_title" value="ç¥žæ­¦ä¼æ‰¿"/>
+ <publisher>bootleg (Tourvision) / Big Club / Wolf Team</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x13"/>
+ <feature name="id" value="19"/>
<dataarea name="rom" size="524288">
+ <!-- verified identical -->
<rom name="jinmu denshou (japan).pce" size="524288" crc="c150637a" sha1="e38d6d83120301a7befa7f496f1a93768060032d" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Kato Chan &amp; Ken Chan -->
<software name="katochan">
- <description>Kato Chan &amp; Ken Chan (TourVision PCE bootleg)</description>
+ <description>Kato Chan &amp; Ken Chan (Tourvision PCE bootleg)</description>
<year>1990</year>
- <publisher>bootleg (TourVision) / Hudson</publisher>
- <info name="alt_title" value="カトã¡ã‚ƒã‚“ケンã¡ã‚ƒã‚“"/>
+ <publisher>bootleg (Tourvision) / Hudson</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x2a"/>
- <dataarea name="rom" size="262144">
- <rom name="kato chan &amp; ken chan (japan).pce" size="262144" crc="6069c5e7" sha1="1381c15587891083f7cde3b1224fcc6df45bc914" offset="000000" />
+ <feature name="id" value="42"/>
+ <dataarea name="rom" size="1048576">
+ <!-- 0x40000 matches PCE katochan -->
+ <rom name="kato_ken.bin" size="1048576" crc="47993b98" sha1="1febf57b96df7649675b944df01cec48daa4e12c" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Kiki Kaikai -->
<software name="kikikai">
- <description>Kiki Kaikai (TourVision PCE bootleg)</description>
+ <description>Kiki Kaikai (Tourvision PCE bootleg)</description>
<year>1990</year>
- <publisher>bootleg (TourVision) / Taito</publisher>
- <info name="alt_title" value="奇々怪界"/>
+ <publisher>bootleg (Tourvision) / Taito</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x78"/>
+ <feature name="id" value="120"/>
<dataarea name="rom" size="393216">
+ <!-- verified identical -->
<rom name="kiki kaikai (japan).pce" size="393216" crc="c0cb5add" sha1="8dc4fce4beca91f51f123acf8f1cc659ed58d312" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Knight Rider Special -->
<software name="knightrs">
- <description>Knight Rider Special (TourVision PCE bootleg)</description>
+ <description>Knight Rider Special (Tourvision PCE bootleg)</description>
<year>1994</year>
- <publisher>bootleg (TourVision) / Pack In Video</publisher>
- <info name="alt_title" value="ナイトライダースペシャル"/>
+ <publisher>bootleg (Tourvision) / Pack In Video</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0xc1"/>
- <dataarea name="rom" size="262144">
- <rom name="knight rider special (japan).pce" size="262144" crc="c614116c" sha1="d2dbbd8b55b80d41e32a3907fcdafa985b60abe4" offset="000000" />
+ <feature name="id" value="193"/>
+ <dataarea name="rom" size="1048576">
+ <!-- 0x40000 matches PCE knightrs -->
+ <rom name="knight_rider.tv" size="1048576" crc="dc926ef5" sha1="c0d9452e3468c46e6f45c40d634ae448f21531d3" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Legend of Hero Tonma -->
<software name="loht">
- <description>Legend of Hero Tonma (TourVision PCE bootleg)</description>
+ <description>Legend of Hero Tonma (Tourvision PCE bootleg)</description>
<year>1991</year>
- <publisher>bootleg (TourVision) / Irem</publisher>
- <info name="alt_title" value="レジェンド・オブ・ヒーロー・トンマ"/>
+ <publisher>bootleg (Tourvision) / IREM Corp</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x38"/>
+ <feature name="id" value="56"/>
<dataarea name="rom" size="524288">
+ <!-- verified identical -->
<rom name="legend of hero tonma (japan).pce" size="524288" crc="c28b0d8a" sha1="352e91337db64bc7edd788e4ccb9c240c7040898" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Makyo Densetsu - The Legendary Axe - Victor Musical Industries, Inc. -->
<software name="makyoden">
- <description>Makyou Densetsu - The Legendary Axe (TourVision PCE bootleg)</description>
+ <description>Makyou Densetsu - The Legendary Axe (Tourvision PCE bootleg)</description>
<year>1988</year>
- <publisher>bootleg (TourVision) / Victor Interactive Software</publisher>
- <info name="alt_title" value="魔境ä¼èª¬"/>
+ <publisher>bootleg (Tourvision) / Victor Musical Industries, Inc.</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x28"/>
+ <feature name="id" value="40"/>
<dataarea name="rom" size="262144">
+ <!-- verified identical -->
<rom name="makyou densetsu (japan).pce" size="262144" crc="d4c5af46" sha1="7e1b1f52222663e9e98973fdb3cf67879122b617" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Mesopotamia -->
<software name="mesopot">
- <description>Mesopotamia (TourVision PCE bootleg)</description>
+ <description>Mesopotamia (Tourvision PCE bootleg)</description>
<year>1991</year>
- <publisher>bootleg (TourVision) / Atlus</publisher>
- <info name="alt_title" value="メソãƒã‚¿ãƒŸã‚¢"/>
+ <publisher>bootleg (Tourvision) / Atlus</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0xc5"/>
- <dataarea name="rom" size="524288">
- <rom name="mesopotamia (japan).pce" size="524288" crc="e87190f1" sha1="70186b4d823a48aae09ed7e2bc8e16edfcaf4335" offset="000000" />
+ <feature name="id" value="197"/>
+ <dataarea name="rom" size="1048576">
+ <!-- 0x80000 matches PCE mesopot -->
+ <rom name="mesopotamia.bin" size="1048576" crc="ea8af850" sha1="1b50db3fadc0b635527fd047cfede556b1de3547" offset="000000" />
</dataarea>
</part>
</software>
- <!--Liquid Kids -->
+
+ <!--Mizubaku Daibouken Liquid Kids -->
<software name="mizubaku">
- <description>Mizubaku Dai Bouken (TourVision PCE bootleg)</description>
+ <description>Mizubaku Daibouken Liquid Kids (Tourvision PCE bootleg)</description>
<year>1992</year>
- <publisher>bootleg (TourVision) / Taito</publisher>
- <info name="alt_title" value="ミズãƒã‚¯å¤§å†’険"/>
+ <publisher>bootleg (Tourvision) / Taito Corporation</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x0a"/>
+ <feature name="id" value="10"/>
<dataarea name="rom" size="524288">
+ <!-- verified identical -->
<rom name="mizubaku dai bouken (japan).pce" size="524288" crc="b2ef558d" sha1="6e99a1982b6e2b0b9fb82f1d30270620917e1b92" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Mr Heli -->
<software name="mrheli">
- <description>Mr. Heli no Daibouken (TourVision PCE bootleg)</description>
+ <description>Mr. Heli no Daibouken (Tourvision PCE bootleg)</description>
<year>1989</year>
- <publisher>bootleg (TourVision) / Irem</publisher>
- <info name="alt_title" value="ミスターヘリã®å¤§å†’険"/>
+ <publisher>bootleg (Tourvision) / IREM Corp</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x17"/>
+ <feature name="id" value="23"/>
<dataarea name="rom" size="524288">
+ <!-- verified identical -->
<rom name="mr. heli no daibouken (japan).pce" size="524288" crc="2cb92290" sha1="df6346583d7169ffdec03925c9b15d3e4f066079" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Ninja Ryukenden -->
<software name="nryukend">
- <description>Ninja Ryukenden (TourVision PCE bootleg)</description>
+ <description>Ninja Ryukenden (Tourvision PCE bootleg)</description>
<year>1992</year>
- <publisher>bootleg (TourVision) / Hudson</publisher>
- <info name="alt_title" value="å¿è€…é¾å‰£ä¼"/>
+ <publisher>bootleg (Tourvision) / Tecmo / Hudson Soft</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x0a"/>
+ <feature name="id" value="10"/>
<dataarea name="rom" size="524288">
+ <!-- verified identical -->
<rom name="ninja ryuuken den (japan).pce" size="524288" crc="67573bac" sha1="7f6a088424f849fc80f883d19533c031305d9616" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Operation Wolf -->
<software name="opwolf">
- <description>Operation Wolf (TourVision PCE bootleg)</description>
+ <description>Operation Wolf (Tourvision PCE bootleg)</description>
<year>1990</year>
- <publisher>bootleg (TourVision) / NEC Avenue</publisher>
- <info name="alt_title" value="オペレーション ウルフ"/>
+ <publisher>bootleg (Tourvision) / Taito / Nec Avenue</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x1a"/>
+ <feature name="id" value="26"/>
<dataarea name="rom" size="524288">
+ <!-- verified identical -->
<rom name="operation wolf (japan).pce" size="524288" crc="ff898f87" sha1="da2a28e2961fa295c4b8f55bd5a6ce6f1c58beb7" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Ordyne -->
<software name="ordyne">
- <description>Ordyne (TourVision PCE bootleg)</description>
+ <description>Ordyne (Tourvision PCE bootleg)</description>
<year>1991</year>
- <publisher>bootleg (TourVision) / Namcot</publisher>
- <info name="alt_title" value="オーダイン"/>
+ <publisher>bootleg (Tourvision) / Namco</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x5e"/>
- <dataarea name="rom" size="524288">
- <rom name="ordyne (japan).pce" size="524288" crc="8c565cb6" sha1="6b1e419c77f72d3588b52343989727b5a069df3a" offset="000000" />
+ <feature name="id" value="94"/>
+ <dataarea name="rom" size="1048576">
+ <!-- 0x80000 matches PCE ordyne -->
+ <rom name="ordyne.bin" size="1048576" crc="885363ed" sha1="2e66a3ba7575fd68df10e50b6833088d2fe220eb" offset="000000" />
</dataarea>
</part>
</software>
- <software name="outruna">
- <description>Out Run (alt) (TourVision PCE bootleg)</description>
+
+ <!--Outrun -->
+ <software name="outrun">
+ <description>Out Run (Tourvision PCE bootleg)</description>
<year>1990</year>
- <publisher>bootleg (TourVision) / NEC Avenue</publisher>
- <info name="alt_title" value="アウトラン"/>
+ <publisher>bootleg (Tourvision) / Sega / Nec Avenue</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x26"/>
- <dataarea name="rom" size="524288">
- <!-- NOT identical to the set in the PCE list
- 50000-5000F: FF 10 10 00 1C F9 0F F8 0F 87 FF 3F 0F 4F 00 2E - PCE Dump
- 50000-5000F: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - Tourvision
- otherwise 0x80000 identical -->
- <rom name="out run (japan) [a].pce" size="524288" crc="92b654a7" sha1="7d669e78978ebb2a3169f4428a664c81a8888b6e" offset="000000" />
+ <feature name="id" value="38"/>
+ <dataarea name="rom" size="1048576">
+ <!-- 50000-5000F: FF 10 10 00 1C F9 0F F8 0F 87 FF 3F 0F 4F 00 2E - PCE Dump -->
+ <!-- 50000-5000F: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - Tourvision -->
+ <!-- otherwise 0x80000 idential -->
+ <rom name="outrun.bin" size="1048576" crc="ef866d6e" sha1="f414d8fcacb6f055f2b3fd9eb1723921d98d11cc" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Override -->
<software name="override">
- <description>Override (TourVision PCE bootleg)</description>
+ <description>Override (Tourvision PCE bootleg)</description>
<year>1990</year>
- <publisher>bootleg (TourVision) / Data East</publisher>
- <info name="alt_title" value="オーãƒãƒ¼ãƒ©ã‚¤ãƒ‰"/>
+ <publisher>bootleg (Tourvision) / Sting / Data East Corporation</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x35"/>
+ <feature name="id" value="53"/>
<dataarea name="rom" size="262144">
+ <!-- verified identical -->
<rom name="override (japan).pce" size="262144" crc="b74ec562" sha1="9da08c896e02b67257521b948c2fa5bc55724c0d" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Pac-Land -->
<software name="pacland">
- <description>Pac-Land (TourVision PCE bootleg)</description>
+ <description>Pac-Land (Tourvision PCE bootleg)</description>
<year>1989</year>
- <publisher>bootleg (TourVision) / Namcot</publisher>
- <info name="alt_title" value="パックランド"/>
+ <publisher>bootleg (Tourvision) / Namco / Namcot</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x10"/>
+ <feature name="id" value="16"/>
<dataarea name="rom" size="262144">
+ <!-- verified identical -->
<rom name="pac-land (japan).pce" size="262144" crc="14fad3ba" sha1="fc0166da82ed3cf4a4e06fc6c73fd3184ba8bb3b" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--PC Genjin Punkic Cyborg -->
<software name="pcdenj">
- <description>PC Denjin - Punkic Cyborg (TourVision PCE bootleg)</description>
+ <description>PC Denjin Punkic Cyborg (Tourvision PCE bootleg)</description>
<year>1992</year>
- <publisher>bootleg (TourVision) / Hudson</publisher>
- <info name="alt_title" value="PC電人 PUNKIC CYBORGS"/>
+ <publisher>bootleg (Tourvision) / Hudson Soft / Red</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0xc9"/>
+ <feature name="id" value="201"/>
<dataarea name="rom" size="524288">
+ <!-- verified identical -->
<rom name="pc denjin - punkic cyborgs (japan).pce" size="524288" crc="740491c2" sha1="7713236070c2d5252faa651b6a8b7726cadb9bf4" offset="000000" />
</dataarea>
</part>
</software>
- <software name="pcgenja">
- <description>PC Genjin - Pithecanthropus Computerurus (Alt) (TourVision PCE bootleg)</description>
+
+ <!--PC Genjin - Pithecanthropus Computerurus -->
+ <software name="pcgenj">
+ <description>PC Genjin - Pithecanthropus Computerurus (Tourvision PCE bootleg)</description>
<year>1989</year>
- <publisher>bootleg (TourVision) / Hudson</publisher>
- <info name="alt_title" value="PC原人"/>
+ <publisher>bootleg (Tourvision) / Hudson</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x08"/>
- <dataarea name="rom" size="393216">
- <rom name="pc genjin - pithecanthropus computerurus (japan) [a].pce" size="393216" crc="67b35e6e" sha1="2c36256e77e74d5528366d35f0a55c45bc37d5a5" offset="000000" />
+ <feature name="id" value="8"/>
+ <dataarea name="rom" size="1048576">
+ <rom name="pc_genjin.bin" size="1048576" crc="eecd176f" sha1="b24e7501e0aa9e8ba8759f9bb32452f42d7688cd" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--PC Genjin 2 - Hudson -->
<software name="pcgenj2">
- <description>PC Genjin 2 - Pithecanthropus Computerurus (TourVision PCE bootleg)</description>
+ <description>PC Genjin 2 - Pithecanthropus Computerurus (Tourvision PCE bootleg)</description>
<year>1991</year>
- <publisher>bootleg (TourVision) / Hudson</publisher>
- <info name="alt_title" value="PC原人2"/>
+ <publisher>bootleg (Tourvision) / Hudson Soft / Red</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x54"/>
+ <feature name="id" value="84"/>
<dataarea name="rom" size="524288">
+ <!-- verified identical -->
<rom name="pc genjin 2 - pithecanthropus computerurus (japan).pce" size="524288" crc="3028f7ca" sha1="ef2b10e9bd35428bff3d67b9f77dd3ff50d91f2e" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Power Drift -->
<software name="pdrift">
- <description>Power Drift (TourVision PCE bootleg)</description>
+ <description>Power Drift (Tourvision PCE bootleg)</description>
<year>1990</year>
- <publisher>bootleg (TourVision) / Asmik</publisher>
- <info name="alt_title" value="パワードリフト"/>
+ <publisher>bootleg (Tourvision) / Sega / Asmik Corporation</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0xc8"/>
+ <feature name="id" value="200"/>
<dataarea name="rom" size="524288">
+ <!-- verified identical -->
<rom name="power drift (japan).pce" size="524288" crc="25e0f6e9" sha1="1ffe1111a570b0cca256a356965fd6cdf7bcf2e9" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Power 11 - Hudson -->
<software name="power11">
- <description>Power Eleven (TourVision PCE bootleg)</description>
+ <description>Power Eleven (Tourvision PCE bootleg)</description>
<year>1991</year>
- <publisher>bootleg (TourVision) / Hudson</publisher>
- <info name="alt_title" value="パワーイレブン"/>
+ <publisher>bootleg (Tourvision) / Hudson Soft</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x53"/>
+ <feature name="id" value="83"/>
<dataarea name="rom" size="393216">
+ <!-- verified identical -->
<rom name="power eleven (japan).pce" size="393216" crc="3e647d8b" sha1="f132948117d3135ec8d5d74eaac8d965e6676fb4" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--
+ Power League IV - Hudson
+ Notes:
+ -1st and 2nd halfs are identical, left unsplit for reference.
+ -Cart's A19 line seems not connected to anything.
+ -CRC of split ROM ("30cc3563") matches the common PC Engine Hu-Card ROM dump.
+ -->
<software name="pleag4">
- <description>Power League IV (TourVision PCE bootleg)</description>
+ <description>Power League IV (Tourvision PCE bootleg)</description>
<year>1991</year>
- <publisher>bootleg (TourVision) / Hudson</publisher>
- <info name="alt_title" value="パワーリーグ4"/>
+ <publisher>bootleg (Tourvision) / Hudson Soft</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0xff"/>
+ <feature name="id" value="-1"/>
<dataarea name="rom" size="524288">
+ <!-- verified identical -->
<rom name="power league iv (japan).pce" size="524288" crc="30cc3563" sha1="a21825a19bef0a4d7847f72b4a00acd74a53ebb8" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Power Sports -->
<software name="psports">
- <description>Power Sports (TourVision PCE bootleg)</description>
+ <description>Power Sports (Tourvision PCE bootleg)</description>
<year>1992</year>
- <publisher>bootleg (TourVision) / Hudson</publisher>
- <info name="alt_title" value="パワースãƒãƒ¼ãƒ„"/>
+ <publisher>bootleg (Tourvision) / Hudson</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0xc7"/>
- <dataarea name="rom" size="524288">
- <rom name="power sports (japan).pce" size="524288" crc="29eec024" sha1="dfb30bc069e97c72f051fc0ab237607187d4a52e" offset="000000" />
+ <feature name="id" value="199"/>
+ <dataarea name="rom" size="1048576">
+ <!-- 0x80000 matches PCE psports -->
+ <rom name="power_sports.bin" size="1048576" crc="6e38b029" sha1="17d70f2bb0bb1d13dc4b5a9f1605e69707e9335d" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Power Tennis -->
<software name="ptennis" supported="partial">
- <description>Power Tennis (TourVision PCE bootleg)</description>
+ <description>Power Tennis (Tourvision PCE bootleg)</description>
<year>1993</year>
- <publisher>bootleg (TourVision) / Hudson</publisher>
- <info name="alt_title" value="パワーテニス"/>
+ <publisher>bootleg (Tourvision) / Hudson Soft</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0xb7"/>
- <dataarea name="rom" size="524288">
- <rom name="power tennis (japan).pce" size="524288" crc="8def5aa1" sha1="eef562022a9399586dd4278d7877e408c19b47dd" offset="000000" />
+ <feature name="id" value="183"/>
+ <dataarea name="rom" size="1048576">
+ <!-- 0x80000 matches PCE ptennis -->
+ <rom name="power_tennis.bin" size="1048576" crc="dd67515a" sha1="968b7066286ec6f055aa8a21c8e65439ebd9d7ad" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Pro Yakyuu World Stadium '91 -->
<software name="proyak91">
- <description>Pro Yakyuu World Stadium '91 (TourVision PCE bootleg)</description>
+ <description>Pro Yakyuu World Stadium '91 (Tourvision PCE bootleg)</description>
<year>1991</year>
- <publisher>bootleg (TourVision) / Namcot</publisher>
- <info name="alt_title" value="ãƒ—ãƒ­é‡Žçƒ ãƒ¯ãƒ¼ãƒ«ãƒ‰ã‚¹ã‚¿ã‚¸ã‚¢ãƒ '91"/>
+ <publisher>bootleg (Tourvision) / Namco / Namcot</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0xc0"/>
+ <feature name="id" value="192"/>
<dataarea name="rom" size="262144">
+ <!-- verified identical -->
<rom name="pro yakyuu world stadium '91 (japan).pce" size="262144" crc="66b167a9" sha1="6b76e9cc10a812c15631450b617ea3719fdcdc16" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Psycho Chaser -->
<software name="psychas">
- <description>Psycho Chaser (TourVision PCE bootleg)</description>
+ <description>Psycho Chaser (Tourvision PCE bootleg)</description>
<year>1990</year>
- <publisher>bootleg (TourVision) / Naxat</publisher>
- <info name="alt_title" value="サイコãƒã‚§ã‚¤ã‚µãƒ¼"/>
+ <publisher>bootleg (Tourvision) / Naxat Soft</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x0e"/>
+ <feature name="id" value="14"/>
<dataarea name="rom" size="262144">
+ <!-- verified identical -->
<rom name="psycho chaser (japan).pce" size="262144" crc="03883ee8" sha1="753fc6f1aa16770c87cc12967a43e951a7b1ec83" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Puzzle Boy -->
<software name="puzzlboy">
- <description>Puzzle Boy (TourVision PCE bootleg)</description>
+ <description>Puzzle Boy (Tourvision PCE bootleg)</description>
<year>1991</year>
- <publisher>bootleg (TourVision) / Nihon Telenet</publisher>
- <info name="alt_title" value="パズルボーイ"/>
+ <publisher>bootleg (Tourvision) / Atlus / Telenet Japan</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x39"/>
+ <feature name="id" value="57"/>
<dataarea name="rom" size="262144">
+ <!-- verified identical -->
<rom name="puzzle boy (japan).pce" size="262144" crc="faa6e187" sha1="f3d87e780683cd1873287069f4758581bb848935" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Puzznic -->
<software name="puzznic">
- <description>Puzznic (TourVision PCE bootleg)</description>
+ <description>Puzznic (Tourvision PCE bootleg)</description>
<year>1990</year>
- <publisher>bootleg (TourVision) / Taito</publisher>
- <info name="alt_title" value="パズニック"/>
+ <publisher>bootleg (Tourvision) / Taito</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x45"/>
- <dataarea name="rom" size="262144">
- <!-- 0x40000 matches PCE puzznic -->
- <rom name="puzznic (japan).pce" size="262144" crc="965c95b3" sha1="3906d644f5901e6d2e732cbd0a6dd0d38a29486b" offset="000000" />
+ <feature name="id" value="69"/>
+ <dataarea name="rom" size="1048576">
+ <!-- 0x40000 matches PCE puzznic -->
+ <rom name="puzznic.bin" size="1048576" crc="1e73808a" sha1="fa7f56426aad9b05dea0df4ddd78c2cb0fa399aa" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Raiden -->
<software name="raiden">
- <description>Raiden (TourVision PCE bootleg)</description>
+ <description>Raiden (Tourvision PCE bootleg)</description>
<year>1991</year>
- <publisher>bootleg (TourVision) / Hudson</publisher>
- <info name="alt_title" value="é›·é›»"/>
+ <publisher>bootleg (Tourvision) / Seibu Kaihatsu inc / Hudson Soft</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x6f"/>
+ <feature name="id" value="111"/>
<dataarea name="rom" size="786432">
+ <!-- verified identical -->
<rom name="raiden (japan).pce" size="786432" crc="850829f2" sha1="cef25446294884053442a4214434d7d97319ddca" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--
+ Rastan Saga II Tourvision cart - Taito
+ Notes:
+ -Cart's A18 line seems not connected to anything.
+ -->
<software name="rastan2">
- <description>Rastan Saga II (TourVision PCE bootleg)</description>
+ <description>Rastan Saga II (Tourvision PCE bootleg)</description>
<year>1990</year>
- <publisher>bootleg (TourVision) / Taito</publisher>
- <info name="alt_title" value="ラスタン・サーガII"/>
+ <publisher>bootleg (Tourvision) / Taito Corporation</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x21"/>
+ <feature name="id" value="33"/>
<dataarea name="rom" size="393216">
+ <!-- verified identical -->
<rom name="rastan saga ii (japan).pce" size="393216" crc="00c38e69" sha1="cf06ba4d1bd31ebd69f0415ae52848f752ec8f6b" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--R-Type II -->
<software name="rtypep2a">
- <description>R-Type II (hack, no copyright string) (TourVision PCE bootleg)</description>
+ <description>R-Type II (hack, no copyright string) (Tourvision PCE bootleg)</description>
<year>1991</year>
- <publisher>bootleg (TourVision) / IREM Corp</publisher>
+ <publisher>bootleg (Tourvision) / IREM Corp</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x3d"/>
+ <feature name="id" value="61"/>
<dataarea name="rom" size="262144">
- <!-- NOT identical to the set in the PCE list, copyright strings have been erased -->
+ <!-- NOT identical to pce list, copyright strings have been erased -->
<rom name="tourv_r-type_ii_hacked.pce" size="262144" crc="ae65fe80" sha1="1a6c6f5bd017f23ab9d00a9385986ddf498f9a82" offset="000000" />
</dataarea>
</part>
</software>
- <software name="sdragon">
- <description>Tenseiryuu - Saint Dragon (TourVision PCE bootleg)</description>
- <year>1990</year>
- <publisher>bootleg (TourVision) / Irem</publisher>
- <info name="alt_title" value="天è–é¾"/>
- <part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x24"/>
- <dataarea name="rom" size="393216">
- <rom name="tenseiryuu - saint dragon (japan).pce" size="393216" crc="2e278ccb" sha1="a9637a5efeb555426a44ae1cc86ed25a9520759d" offset="000000" />
- </dataarea>
- </part>
- </software>
+ <!--Saiga No Nindou - Ninja Spirit -->
<software name="saigonin">
- <description>Saigo no Nindou - Ninja Spirit (TourVision PCE bootleg)</description>
+ <description>Saigo no Nindou - Ninja Spirit (Tourvision PCE bootleg)</description>
<year>1990</year>
- <publisher>bootleg (TourVision) / Irem</publisher>
- <info name="alt_title" value="最後ã®å¿é“ NINJA SPIRIT"/>
+ <publisher>bootleg (Tourvision) / IREM Corp</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x2c"/>
+ <feature name="id" value="44"/>
<dataarea name="rom" size="524288">
+ <!-- verified identical -->
<rom name="saigo no nindou - ninja spirit (japan).pce" size="524288" crc="0590a156" sha1="14fc48758d658413f952a0b4f9465137164bdacc" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Salamander -->
<software name="salamand">
- <description>Salamander (TourVision PCE bootleg)</description>
+ <description>Salamander (Tourvision PCE bootleg)</description>
<year>1991</year>
- <publisher>bootleg (TourVision) / Konami</publisher>
- <info name="alt_title" value="沙羅曼蛇"/>
+ <publisher>bootleg (Tourvision) / Konami</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0xb8"/>
+ <feature name="id" value="184"/>
<dataarea name="rom" size="262144">
+ <!-- verified identical -->
<rom name="salamander (japan).pce" size="262144" crc="faecce20" sha1="a24e3a4ff36ec9fffd5ea1f4c6b526f61f842584" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Shinobi -->
<software name="shinobi">
- <description>Shinobi (TourVision PCE bootleg)</description>
+ <description>Shinobi (Tourvision PCE bootleg)</description>
<year>1989</year>
- <publisher>bootleg (TourVision) / Asmik</publisher>
- <info name="alt_title" value="å¿"/>
+ <publisher>bootleg (Tourvision) / Sega / Asmik Corporation</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x05"/>
+ <feature name="id" value="5"/>
<dataarea name="rom" size="393216">
+ <!-- verified identical -->
<rom name="shinobi (japan).pce" size="393216" crc="bc655cf3" sha1="c219f8477dc2b34b53c25a419332595835d1f5ec" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Side arms -->
<software name="sidearms">
- <description>Side Arms - Hyper Dyne (TourVision PCE bootleg)</description>
+ <description>Side Arms (Tourvision PCE bootleg)</description>
<year>1989</year>
- <publisher>bootleg (TourVision) / NEC</publisher>
- <info name="alt_title" value="サイドアーム"/>
+ <publisher>bootleg (Tourvision) / Capcom / Nec Avenue</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x02"/>
+ <feature name="id" value="2"/>
<dataarea name="rom" size="262144">
+ <!-- verified identical -->
<rom name="sidearms - hyper dyne (japan).pce" size="262144" crc="e5e7b8b7" sha1="b732b3485bd8841d3571221170b04b7f699e9109" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Skweek -->
<software name="skweek">
- <description>Skweek (TourVision PCE bootleg)</description>
+ <description>Skweek (Tourvision PCE bootleg)</description>
<year>1991</year>
- <publisher>bootleg (TourVision) / Victor Interactive Software</publisher>
- <info name="alt_title" value="スクウィーク"/>
+ <publisher>bootleg (Tourvision) / Victor Musical Industries, Inc.</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x59"/>
+ <feature name="id" value="89"/>
<dataarea name="rom" size="262144">
+ <!-- verified identical -->
<rom name="skweek (japan).pce" size="262144" crc="4d539c9f" sha1="3436b48a9c748269f6ae65e40c9115a27321d440" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Sokoban World -->
<software name="sokoban">
- <description>Sokoban World (TourVision PCE bootleg)</description>
+ <description>Sokoban World (Tourvision PCE bootleg)</description>
<year>1990</year>
- <publisher>bootleg (TourVision) / Media Rings Corporation</publisher>
- <info name="alt_title" value="倉庫番ワールド"/>
+ <publisher>bootleg (Tourvision) / Media Rings Corp.</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x42"/>
- <dataarea name="rom" size="131072">
- <rom name="soukoban world (japan).pce" size="131072" crc="fb37ddc4" sha1="89899202fe2a7607f9e5f2ab1b29280f3d7d5aef" offset="000000" />
+ <feature name="id" value="66"/>
+ <dataarea name="rom" size="1048576">
+ <!-- 0x20000 matches PCE sokoban -->
+ <rom name="sokoban_world.bin" size="1048576" crc="97e966ec" sha1="3002c88d776849ed065d142458048d390140ed96" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Soldier Blade -->
<software name="soldblad">
- <description>Soldier Blade (TourVision PCE bootleg)</description>
+ <description>Soldier Blade (Tourvision PCE bootleg)</description>
<year>1992</year>
- <publisher>bootleg (TourVision) / Hudson</publisher>
- <info name="alt_title" value="ソルジャーブレイド"/>
+ <publisher>bootleg (Tourvision) / Hudson Soft</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x17"/>
- <dataarea name="rom" size="524288">
- <rom name="soldier blade (japan).pce" size="524288" crc="8420b12b" sha1="bb6259ecfee3cc28ddbf1b1c1416f281ecccbe31" offset="000000" />
+ <feature name="id" value="23"/>
+ <dataarea name="rom" size="1048576">
+ <!-- 0x80000 matches PCE soldblad -->
+ <rom name="soldier_blade.bin" size="1048576" crc="99d53041" sha1="51c02df6d9666459a0f7cfdcd84b29e3be856460" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Son Son II -->
<software name="sonson2">
- <description>Son Son II (TourVision PCE bootleg)</description>
+ <description>Son Son II (Tourvision PCE bootleg)</description>
<year>1989</year>
- <publisher>bootleg (TourVision) / NEC</publisher>
- <info name="alt_title" value="ソンソンII"/>
+ <publisher>bootleg (Tourvision) / Capcom / Nec Avenue</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x50"/>
+ <feature name="id" value="80"/>
<dataarea name="rom" size="262144">
+ <!-- verified identical -->
<rom name="son son ii (japan).pce" size="262144" crc="d7921df2" sha1="51aa9b47aa5f68102989885a1b92bb6b563ffe3a" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--
+ Special Criminal Investigation (SCI) - Taito
+ Notes:
+ -1st and 2nd halfs are identical, left unsplit for reference.
+ -Cart's A19 line seems not connected to anything.
+ -CRC of split ROM ("09a0bfcc") matches the common English language PC Engine Hu-Card ROM dump.
+ -->
<software name="sci">
- <description>Special Criminal Investigation (TourVision PCE bootleg)</description>
+ <description>Special Criminal Investigation (Tourvision PCE bootleg)</description>
<year>1991</year>
- <publisher>bootleg (TourVision) / Taito</publisher>
+ <publisher>bootleg (Tourvision) / Taito Corporation</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x3a"/>
+ <feature name="id" value="58"/>
<dataarea name="rom" size="524288">
+ <!-- verified identical -->
<rom name="special criminal investigation (japan).pce" size="524288" crc="09a0bfcc" sha1="8d18aea811d752d24cc00f20d2c6ced67df1efa9" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Spin Pair -->
<software name="spinpair">
- <description>Spin Pair (TourVision PCE bootleg)</description>
+ <description>Spin Pair (Tourvision PCE bootleg)</description>
<year>1990</year>
- <publisher>bootleg (TourVision) / Media Rings Corporation</publisher>
- <info name="alt_title" value="スピンペア"/>
+ <publisher>bootleg (Tourvision) / Hudson Soft</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x32"/>
- <dataarea name="rom" size="262144">
- <rom name="spin pair (japan).pce" size="262144" crc="1c6ff459" sha1="a903a3e3a55b1fd9064efa668bcea53055c12682" offset="000000" />
+ <feature name="id" value="50"/>
+ <dataarea name="rom" size="1048576">
+ <!-- 0x40000 matches PCE spinpair -->
+ <rom name="spin_pair.bin" size="1048576" crc="a2d2d0a1" sha1="4590e9c46c830d051a04efb40088fbb99109402c" offset="000000" />
</dataarea>
</part>
</software>
+ <!--Splatterhouse -->
<software name="splatth">
- <description>Splatterhouse (TourVision PCE bootleg)</description>
+ <description>Splatterhouse (Tourvision PCE bootleg)</description>
<year>1990</year>
- <publisher>bootleg (TourVision) / Namcot</publisher>
- <info name="alt_title" value="スプラッターãƒã‚¦ã‚¹"/>
+ <publisher>bootleg (Tourvision) / Namcot</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x94"/>
- <dataarea name="rom" size="524288">
- <rom name="splatterhouse (japan).pce" size="524288" crc="6b319457" sha1="b0bdbb7729d775496581dc3141c4447614aaac46" offset="000000" />
+ <feature name="id" value="148"/>
+ <dataarea name="rom" size="1048576">
+ <rom name="splatterhouse.bin" size="1048576" crc="be8e8c4c" sha1="f8a65d95a68735e7549838c845befcf07483876c" offset="000000" />
</dataarea>
</part>
</software>
+ <!--Super Star Soldier - Hudson / Kaneko -->
<software name="sssoldr">
- <description>Super Star Soldier (TourVision PCE bootleg)</description>
+ <description>Super Star Soldier (Tourvision PCE bootleg)</description>
<year>1990</year>
- <publisher>bootleg (TourVision) / Hudson</publisher>
- <info name="alt_title" value="スーパースターソルジャー"/>
+ <publisher>bootleg (Tourvision) / Inter State / Kaneko / Hudson Soft</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x2a"/>
+ <feature name="id" value="42"/>
<dataarea name="rom" size="524288">
+ <!-- verified identical -->
<rom name="super star soldier (japan).pce" size="524288" crc="5d0e3105" sha1="4220516a17bc32a3f68ed51ef2af63e496e79f7d" offset="000000" />
</dataarea>
</part>
</software>
+ <!--Super Volley ball - Video System -->
<software name="svolley">
- <description>Super Volley ball (TourVision PCE bootleg)</description>
+ <description>Super Volley ball (Tourvision PCE bootleg)</description>
<year>1990</year>
- <publisher>bootleg (TourVision) / Video System</publisher>
- <info name="alt_title" value="スーパーãƒãƒ¬ãƒ¼ãƒœãƒ¼ãƒ«"/>
+ <publisher>bootleg (Tourvision) / Video System</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x09"/>
+ <feature name="id" value="9"/>
<dataarea name="rom" size="262144">
+ <!-- verified identical -->
+ <!-- 1MB Original Dump - super_volley_ball.bin - 8a32a1ca - 80144fb4035415eb9b2c67d78d55757ed0d641a1 -->
<rom name="super volleyball (japan).pce" size="262144" crc="ce2e4f9f" sha1="46dd4acebe25de38f28e56cf149b24b42f3aef31" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Tatsujin -->
<software name="tatsujin">
- <description>Tatsujin (TourVision PCE bootleg)</description>
+ <description>Tatsujin (Tourvision PCE bootleg)</description>
<year>1992</year>
- <publisher>bootleg (TourVision) / Taito</publisher>
- <info name="alt_title" value="タツジン"/>
+ <publisher>bootleg (Tourvision) / Toaplan Co Ltd / Taito Corporation</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x1f"/>
+ <feature name="id" value="31"/>
<dataarea name="rom" size="524288">
+ <!-- verified identical -->
<rom name="tatsujin (japan).pce" size="524288" crc="a6088275" sha1="dda768075fbf8c0624e2c1f217b1092513b1c942" offset="000000" />
</dataarea>
</part>
</software>
+ <software name="sdragon">
+ <description>Tenseiryuu - Saint Dragon (Tourvision PCE bootleg)</description>
+ <year>1990</year>
+ <publisher>bootleg (Tourvision) / Irem</publisher>
+ <part name="cart" interface="tourvision_cart">
+ <feature name="id" value="36"/>
+ <dataarea name="rom" size="1048576">
+ <rom name="saint_dragon.bin" size="1048576" crc="492231a9" sha1="b8bfd18bde2398b07a693c86d21a14cd9627f0c8" offset="000000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <!--Terra Cresta II -->
<software name="terracr2">
- <description>Terra Cresta II (TourVision PCE bootleg)</description>
+ <description>Terra Cresta II (Tourvision PCE bootleg)</description>
<year>1992</year>
- <publisher>bootleg (TourVision) / Nihon Bussan</publisher>
- <info name="alt_title" value="テラクレスタII マンドラーã®é€†è¥²"/>
+ <publisher>bootleg (Tourvision) / Nichibutsu / Nihon Bussan Co., Ltd</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x1b"/>
+ <feature name="id" value="27"/>
<dataarea name="rom" size="524288">
+ <!-- verified identical -->
<rom name="terra cresta ii - mandoraa no gyakushuu (japan).pce" size="524288" crc="1b2d0077" sha1="c58d3ea8df6cb518349d431d6b3d6fd2c14898ec" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--The NewZealand Story -->
<software name="tnzs">
- <description>The NewZealand Story (TourVision PCE bootleg)</description>
+ <description>The NewZealand Story (Tourvision PCE bootleg)</description>
<year>1990</year>
- <publisher>bootleg (TourVision) / Taito</publisher>
- <info name="alt_title" value="ニュージーランドストーリー"/>
+ <publisher>bootleg (Tourvision) / Taito</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x0b"/>
- <dataarea name="rom" size="393216">
- <rom name="new zealand story, the (japan).pce" size="393216" crc="8e4d75a8" sha1="cda9acea9cae4899af35b6c49b9ed449c240af16" offset="000000" />
+ <feature name="id" value="11"/>
+ <dataarea name="rom" size="1048576">
+ <!-- 0x40000 matches PCE tnzs -->
+ <rom name="the_newzealand_story.bin" size="1048576" crc="53b25bf6" sha1="5f04cdbd37df84d20692d05f72fb4e28f0d3f79d" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--
+ Thunder Blade Tourvision cart - Sega / NEC Avenue
+ Notes:
+ -1st and 2nd halfs are identical, left unsplit for reference.
+ -Cart's A19 line seems not connected to anything.
+ -CRC of split ROM ("DDC3E809") matches the common PC Engine Hu-Card ROM dump.
+ -->
<software name="tblade">
- <description>Thunder Blade (TourVision PCE bootleg)</description>
+ <description>Thunder Blade (Tourvision PCE bootleg)</description>
<year>1990</year>
- <publisher>bootleg (TourVision) / NEC Avenue</publisher>
- <info name="alt_title" value="サンダーブレード"/>
+ <publisher>bootleg (Tourvision) / Sega / NEC Avenue</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x22"/>
+ <feature name="id" value="34"/>
<dataarea name="rom" size="524288">
+ <!-- verified identical -->
<rom name="thunder blade (japan).pce" size="524288" crc="ddc3e809" sha1="553f8026dd68e85cd17855adbf920b3971acfdc4" offset="000000" />
</dataarea>
</part>
</software>
- <software name="timcrus2">
- <description>Time Cruise II (TourVision PCE bootleg)</description>
- <year>1991</year>
- <publisher>bootleg (TourVision) / Face</publisher>
- <info name="alt_title" value="タイムクルーズII"/>
- <part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x2a"/>
- <dataarea name="rom" size="524288">
- <rom name="time cruise ii (japan).pce" size="524288" crc="cfec1d6a" sha1="84bf83124a77ff67aaa0ea3f34ad9edbb755454d" offset="000000" />
- </dataarea>
- </part>
- </software>
+ <!--Toilet Kids -->
<software name="toiletk">
- <description>Toilet Kids (TourVision PCE bootleg)</description>
+ <description>Toilet Kids (Tourvision PCE bootleg)</description>
<year>1992</year>
- <publisher>bootleg (TourVision) / Media Rings Corporation</publisher>
- <info name="alt_title" value="トイレキッズ"/>
+ <publisher>bootleg (Tourvision) / Media Rings Corporation</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0xc4"/>
- <dataarea name="rom" size="524288">
- <rom name="toilet kids (japan).pce" size="524288" crc="53b7784b" sha1="1148ec489899928592212ceac61c83cbc67751cb" offset="000000" />
+ <feature name="id" value="196"/>
+ <dataarea name="rom" size="1048576">
+ <!-- 0x80000 matches PCE toiletk -->
+ <rom name="toilet_kids.tv" size="1048576" crc="662a8960" sha1="4ecba190795ddb94eae2eaea1c18e782a3c45fda" offset="000000" />
</dataarea>
</part>
</software>
- <!--Tiger Road -->
+
+ <!--Tora e no Michi (Tiger Road) -->
<software name="toramich">
- <description>Tora e no Michi (TourVision PCE bootleg)</description>
+ <description>Tora e no Michi (Tourvision PCE bootleg)</description>
<year>1990</year>
- <publisher>bootleg (TourVision) / Victor Entertainment</publisher>
- <info name="alt_title" value="虎ã¸ã®é“"/>
+ <publisher>bootleg (Tourvision) / Victor Entertainment</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x0a"/>
- <dataarea name="rom" size="393216">
- <rom name="tora e no michi (japan).pce" size="393216" crc="82ae3b16" sha1="ea66f8c1be62e853b72f93a3a1e3b597356ae62f" offset="000000" />
+ <feature name="id" value="10"/>
+ <dataarea name="rom" size="1048576">
+ <rom name="tiger_road.bin" size="1048576" crc="5e55f35c" sha1="942c8e9e8923acf7ef2ba8878879251621e48408" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Toy Shop Boys -->
<software name="toyshopb">
- <description>Toy Shop Boys (TourVision PCE bootleg)</description>
+ <description>Toy Shop Boys (Tourvision PCE bootleg)</description>
<year>1990</year>
- <publisher>bootleg (TourVision) / Victor Musical Industries, Inc.</publisher>
- <info name="alt_title" value="トイ・ショップ・ボーイズ"/>
+ <publisher>bootleg (Tourvision) / Victor Musical Industries, Inc.</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x33"/>
+ <feature name="id" value="51"/>
<dataarea name="rom" size="262144">
+ <!-- verified identical -->
<rom name="toy shop boys (japan).pce" size="262144" crc="97c5ee9a" sha1="d552223399ff54c3664a5a06fc620ffb717cea57" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Tricky -->
<software name="tricky">
- <description>Tricky (TourVision PCE bootleg)</description>
+ <description>Tricky (Tourvision PCE bootleg)</description>
<year>1990</year>
- <publisher>bootleg (TourVision) / IGS</publisher>
- <info name="alt_title" value="トリッキー"/>
+ <publisher>bootleg (Tourvision) / Taito</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x2a"/>
- <dataarea name="rom" size="262144">
- <rom name="tricky (japan).pce" size="262144" crc="3aea2f8f" sha1="009e0ea4203bab968cea3cd9428c633ce2c5c26e" offset="000000" />
+ <feature name="id" value="42"/>
+ <dataarea name="rom" size="1048576">
+ <!-- 0x40000 matches PCE tricky -->
+ <rom name="tricky.bin" size="1048576" crc="9fee2fcd" sha1="ed6fb947aa4758b74d584e71d0720dc217c1af41" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--
+ USA Pro Basketball - Aicom
+ Notes:
+ -4 identical 256KB parts, left unsplit for reference.
+ -Cart's A19 and A18 lines seems not connected to anything.
+ -CRC of split ROM ("1CAD4B7F") matches the common PC Engine Hu-Card ROM dump.
+ -->
<software name="usaprobs">
- <description>USA Pro Basketball (TourVision PCE bootleg)</description>
+ <description>USA Pro Basketball (Tourvision PCE bootleg)</description>
<year>1989</year>
- <publisher>bootleg (TourVision) / Aicom</publisher>
- <info name="alt_title" value="USAプロãƒã‚¹ã‚±ãƒƒãƒˆãƒœãƒ¼ãƒ«"/>
+ <publisher>bootleg (Tourvision) / Aicom Corporation</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0xce"/>
+ <feature name="id" value="206"/>
<dataarea name="rom" size="262144">
+ <!-- verified identical -->
<rom name="usa pro basketball (japan).pce" size="262144" crc="1cad4b7f" sha1="62f3e0c56d22c015bea15fe04cd16fae380fefcd" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Veigues -->
<software name="veigues">
- <description>Veigues - Tactical Gladiator (TourVision PCE bootleg)</description>
+ <description>Veigues - Tactical Gladiator (Tourvision PCE bootleg)</description>
<year>1990</year>
- <publisher>bootleg (TourVision) / Victor Entertainment</publisher>
- <info name="alt_title" value="ヴェイグスTACTICAL GLADIATOR"/>
+ <publisher>bootleg (Tourvision) / Victor Musical Industries, Inc.</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x28"/>
+ <feature name="id" value="40"/>
<dataarea name="rom" size="393216">
+ <!-- verified identical -->
<rom name="veigues - tactical gladiator (japan).pce" size="393216" crc="04188c5c" sha1="da66c085ecbb317cb160cb192142a3d2c044f26f" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Vigilante -->
<software name="vigilant">
- <description>Vigilante (TourVision PCE bootleg)</description>
+ <description>Vigilante (Tourvision PCE bootleg)</description>
<year>1988</year>
- <publisher>bootleg (TourVision) / Irem</publisher>
- <info name="alt_title" value="ビジランテ"/>
+ <publisher>bootleg (Tourvision) / Irem</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x08"/>
- <dataarea name="rom" size="393216">
- <rom name="vigilante (japan).pce" size="393216" crc="e4124fe0" sha1="a43ddb6b9d70c7597788abd363b5df719b70bc46" offset="000000" />
+ <feature name="id" value="8"/>
+ <dataarea name="rom" size="1048576">
+ <!-- 0x40000 matches PCE vigilant -->
+ <rom name="vigilante.bin" size="1048576" crc="00eaafcc" sha1="a082ef8ba1ffb9abc8296eadba1e9e70ba7b6812" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Violent Soldier -->
<software name="violents">
- <description>Violent Soldier (TourVision PCE bootleg)</description>
+ <description>Violent Soldier (Tourvision PCE bootleg)</description>
<year>1990</year>
- <publisher>bootleg (TourVision) / IGS</publisher>
- <info name="alt_title" value="ãƒã‚¤ã‚ªãƒ¬ãƒ³ãƒˆãƒ»ã‚½ãƒ«ã‚¸ãƒ£ãƒ¼"/>
+ <publisher>bootleg (Tourvision) / IGS</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0xff"/>
- <dataarea name="rom" size="393216">
- <rom name="violent soldier (japan).pce" size="393216" crc="1bc36b36" sha1="76581fe7acb707b1e5bab2ac27cd27e3ed06078a" offset="000000" />
+ <feature name="id" value="-1"/>
+ <dataarea name="rom" size="1048576">
+ <rom name="violent_soldier.bin" size="1048576" crc="66bbea83" sha1="b60d507eb5d5069f0e8a52308a35459b44ee5b9e" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Volfied - Taito -->
<software name="volfied">
- <description>Volfied (TourVision PCE bootleg)</description>
+ <description>Volfied (Tourvision PCE bootleg)</description>
<year>1989</year>
- <publisher>bootleg (TourVision) / Taito</publisher>
- <info name="alt_title" value="ヴォルフィード"/>
+ <publisher>bootleg (Tourvision) / Taito Corporation</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x44"/>
+ <feature name="id" value="68"/>
<dataarea name="rom" size="393216">
+ <!-- verified identical -->
<rom name="volfied (japan).pce" size="393216" crc="ad226f30" sha1="0ecee557815b93fc37f2f5675c2c01c77ef8569e" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Majin Eiyuu Den Wataru -->
<software name="wataru">
- <description>Majin Eiyuu Den Wataru (TourVision PCE bootleg)</description>
+ <description>Majin Eiyuu Den Wataru (Tourvision PCE bootleg)</description>
<year>1988</year>
- <publisher>bootleg (TourVision) / Hudson</publisher>
- <info name="alt_title" value="魔神英雄ä¼ãƒ¯ã‚¿ãƒ«"/>
+ <publisher>bootleg (Tourvision) / Hudson Soft</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x1b"/>
- <dataarea name="rom" size="262144">
- <rom name="majin eiyuu den wataru (japan).pce" size="262144" crc="2f8935aa" sha1="59db3e9d69cf34f76b6cb599d6c4fe6999162532" offset="000000" />
+ <feature name="id" value="27"/>
+ <dataarea name="rom" size="1048576">
+ <!-- 0x40000 matches PCE wataru -->
+ <rom name="mashin_eiyuden_wataru.tv" size="1048576" crc="13a96308" sha1="03b8bc737c9cc27ec8153ad997515fe211a17b7d" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Winning Shot -->
<software name="winshot">
- <description>Winning Shot (TourVision PCE bootleg)</description>
+ <description>Winning Shot (Tourvision PCE bootleg)</description>
<year>1989</year>
- <publisher>bootleg (TourVision) / Data East</publisher>
- <info name="alt_title" value="ウィニングショット"/>
+ <publisher>bootleg (Tourvision) / Data East Corp.</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x15"/>
+ <feature name="id" value="21"/>
<dataarea name="rom" size="262144">
+ <!-- verified identical -->
<rom name="winning shot (japan).pce" size="262144" crc="9b5ebc58" sha1="039ff38e6221b4b7722144e85dc7c84873d7efe6" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--World Jockey -->
<software name="wjockey">
- <description>World Jockey (TourVision PCE bootleg)</description>
+ <description>World Jockey (Tourvision PCE bootleg)</description>
<year>1991</year>
- <publisher>bootleg (TourVision) / Namcot</publisher>
- <info name="alt_title" value="ワールドジョッキー"/>
+ <publisher>bootleg (Tourvision) / Namcot</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0xca"/>
- <dataarea name="rom" size="262144">
- <rom name="world jockey (japan).pce" size="262144" crc="a9ab2954" sha1="9fdeb0c34ea8b8d2a09aeb476435ef9d92e75573" offset="000000" />
+ <feature name="id" value="202"/>
+ <dataarea name="rom" size="1048576">
+ <!-- 0x40000 matches PCE wjockey -->
+ <rom name="world_jockey.tv" size="1048576" crc="3021c245" sha1="e1301b69effd2c179b59810cd0791f75754b601a" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--W-Ring -->
<software name="wring">
- <description>W-Ring - The Double Rings (TourVision PCE bootleg)</description>
+ <description>W-Ring - The Double Rings (Tourvision PCE bootleg)</description>
<year>1990</year>
- <publisher>bootleg (TourVision) / Naxat</publisher>
- <info name="alt_title" value="ダブルリング"/>
+ <publisher>bootleg (Tourvision) / Naxat Soft</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0x1c"/>
+ <feature name="id" value="28"/>
<dataarea name="rom" size="393216">
+ <!-- verified identical -->
<rom name="w-ring - the double rings (japan).pce" size="393216" crc="be990010" sha1="95d0a95ce9f08da3f096cfdc654ba5dfeb794add" offset="000000" />
</dataarea>
</part>
</software>
+
+ <!--Xevious -->
<software name="xevious">
- <description>Xevious - Fardraut Densetsu (TourVision PCE bootleg)</description>
+ <description>Xevious (Tourvision PCE bootleg)</description>
<year>1990</year>
- <publisher>bootleg (TourVision) / Namcot</publisher>
- <info name="alt_title" value="ゼビウスファードラウトä¼èª¬"/>
+ <publisher>bootleg (Tourvision) / Namco Ltd. / Namcot</publisher>
<part name="cart" interface="tourvision_cart">
- <feature name="id" value="0xff"/>
+ <feature name="id" value="-1"/>
<dataarea name="rom" size="262144">
+ <!-- verified identical -->
<rom name="xevious - fardraut densetsu (japan).pce" size="262144" crc="f8f85eec" sha1="13da0500ace1957d0748b11dfaae68e40e71230e" offset="000000" />
</dataarea>
</part>
</software>
+
+ <software name="parasol">
+ <description>Parasol Stars - The Story of Bubble Bobble III (Tourvision PCE bootleg)</description>
+ <year>1991</year>
+ <publisher>bootleg (Tourvision) / Taito</publisher>
+ <part name="cart" interface="tourvision_cart">
+ <feature name="id" value="-1"/>
+ <dataarea name="rom" size="393216">
+ <!-- NOT dumped from an actual Tourvision cart yet, hence bad_dump, but we know it exists, and it's likely identical. -->
+ <rom name="parasol stars - the story of bubble bobble iii (japan).pce" status="baddump" size="393216" crc="51e86451" sha1="94a4c4b16435b043b0b985af446d8767602f5041" offset="000000" />
+ </dataarea>
+ </part>
+ </software>
+
</softwarelist>
diff --git a/hash/pcx_flop.xml b/hash/pcx_flop.xml
deleted file mode 100644
index f0019e4165a..00000000000
--- a/hash/pcx_flop.xml
+++ /dev/null
@@ -1,198 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
-
-<softwarelist name="pcx_flop" description="Siemens PC-X disk images">
-
- <software name="ces10">
- <description>CES-BD V1.0/PC-X</description>
- <year>1986</year>
- <publisher>Siemens</publisher>
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="CES1"/>
- <dataarea name="flop" size="525775">
- <rom name="Sinix_10-CES1.td0" size="525775" crc="da289811" sha1="093131163138c4e91d50fede595de4bae53969e0" offset="0"/>
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="CES2"/>
- <dataarea name="flop" size="416700">
- <rom name="Sinix_10-CES2.td0" size="416700" crc="4f48fbbf" sha1="1105eef4de1d856e94379c0f77fe1c868f0d044b" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="ces12">
- <description>CES-BD V1.2/PC-X10</description>
- <year>1987</year>
- <publisher>Siemens</publisher>
- <info name="release" value="10653-C34"/>
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="CES1"/>
- <dataarea name="flop" size="525852">
- <rom name="Sinix_12-CES1.td0" size="525852" crc="116d4617" sha1="baf3d30c743219b2224eb4fe4f982aa50b1683f6" offset="0"/>
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="CES2"/>
- <dataarea name="flop" size="414306">
- <rom name="Sinix_12-CES2.td0" size="414306" crc="dbf895ce" sha1="cc887fbf246bbe84b36b5e0778aad2079328722f" offset="0"/>
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_5_25">
- <feature name="part_id" value="CES3"/>
- <dataarea name="flop" size="514022">
- <rom name="Sinix_12-CES3.td0" size="514022" crc="0541033d" sha1="4de08c7022e1c8b2640286798918962485b89140" offset="0"/>
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_5_25">
- <feature name="part_id" value="CES4"/>
- <dataarea name="flop" size="292378">
- <rom name="Sinix_12-CES4.td0" size="292378" crc="3dcc4702" sha1="3f61f6556e993b44b28b1985dca1c7a808c4e5b4" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="hit10">
- <description>HIT-BD-2 V1.0/PC-X</description>
- <year>1985</year>
- <publisher>Siemens</publisher>
- <info name="release" value="10809-C9"/>
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="HIT1"/>
- <dataarea name="flop" size="513241">
- <rom name="Sinix_10_HIT1.td0" size="513241" crc="2aade2cd" sha1="193caac77435368ddb9cfbfc1e327e9fe2aa05b8" offset="0"/>
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="HIT2"/>
- <dataarea name="flop" size="174313">
- <rom name="Sinix_10_HIT2.td0" size="174313" crc="73387727" sha1="b7104459d4b69127a92eaead640dedfa48172df3" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="infrmx10">
- <description>INFORMIX-D-B-2 V1.0/PC-X</description>
- <year>1986</year>
- <publisher>Siemens</publisher>
- <info name="release" value="10654-C13"/>
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="INFDE1"/>
- <dataarea name="flop" size="561242">
- <rom name="Sinix_10_INFDE1.td0" size="561242" crc="065a849b" sha1="f7489c2133a5e14b82aee20bd77a403324bfcd5c" offset="0"/>
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="INFDE2"/>
- <dataarea name="flop" size="135114">
- <rom name="Sinix_10_INFDE2.td0" size="135114" crc="c3a206a6" sha1="6ab6c460a8eb4399528f0ffddb90f0808ded2307" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="mplan10">
- <description>MULTIPLAN-BD-2 V1.0/PC-X</description>
- <year>1985</year>
- <publisher>Siemens</publisher>
- <info name="release" value="10706-C7"/>
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="MP-BD"/>
- <dataarea name="flop" size="189877">
- <rom name="Sinix_10_MP-BD.td0" size="189877" crc="f37a0b88" sha1="0465062b8f6a7eab6df43e6a15bf5cfca51977b1" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sinix10">
- <description>SINIX-B V1.0/PC-X</description>
- <year>1985</year>
- <publisher>Siemens</publisher>
- <info name="release" value="10651-C1"/>
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="SINIX1"/>
- <dataarea name="flop" size="549399">
- <rom name="Sinix_10_SINIX1.td0" size="549399" crc="65e193a6" sha1="a7c90eb9f6418dc65008a5d469abf03befa3f363" offset="0"/>
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="SINIX2"/>
- <dataarea name="flop" size="473847">
- <rom name="Sinix_10_SINIX2.td0" size="473847" crc="8b4b9906" sha1="62b3937f9e6ce3ca0e865680d31fb2a842062c0f" offset="0"/>
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_5_25">
- <feature name="part_id" value="SINIX3"/>
- <dataarea name="flop" size="564646">
- <rom name="Sinix_10_SINIX3.td0" size="564646" crc="4f14dd1a" sha1="96f119a81191ba9db32f0bbc95e4ff77d41ffe85" offset="0"/>
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_5_25">
- <feature name="part_id" value="SINIX4"/>
- <dataarea name="flop" size="229071">
- <rom name="Sinix_10_SINIX4.td0" size="229071" crc="cf6bb2ad" sha1="e95df5a2825824afbb574a14dee3958ab83f14ff" offset="0"/>
- </dataarea>
- </part>
- <part name="flop5" interface="floppy_5_25">
- <feature name="part_id" value="SINIE0"/>
- <dataarea name="flop" size="431605">
- <rom name="Sinix_10_SINIE0.td0" size="431605" crc="0de50dcd" sha1="1a047ed67b2a7c5eb6d8cfe1af5464a60723f111" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sinix12">
- <description>SINIX-UP-BD V1.2/PC-X</description>
- <year>1987</year>
- <publisher>Siemens</publisher>
- <info name="release" value="10651-C4"/>
- <part name="flop1" interface="floppy_5_25">
- <feature name="part_id" value="SINIX1"/>
- <dataarea name="flop" size="541063">
- <rom name="Sinix_12_SINIX1.td0" size="541063" crc="6c7029ff" sha1="4c80d148df29fda371bfafe34fa28db3b9c1d1b2" offset="0"/>
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_5_25">
- <feature name="part_id" value="SINIX2"/>
- <dataarea name="flop" size="513119">
- <rom name="Sinix_12_SINIX2.td0" size="513119" crc="73e8a523" sha1="cd95e21de9baf600a00874244dc234de9b3e3668" offset="0"/>
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_5_25">
- <feature name="part_id" value="SINIX3"/>
- <dataarea name="flop" size="559491">
- <rom name="Sinix_12_SINIX3.td0" size="559491" crc="fe574766" sha1="3f2ccc1483437ac28052099b6a7a2cde2b88e4fd" offset="0"/>
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_5_25">
- <feature name="part_id" value="SINIX4"/>
- <dataarea name="flop" size="555860">
- <rom name="Sinix_12_SINIX4.td0" size="555860" crc="54499d44" sha1="cd237c46ce8c3b1d51def577b15def765fdb63aa" offset="0"/>
- </dataarea>
- </part>
- <part name="flop5" interface="floppy_5_25">
- <feature name="part_id" value="SINIX5"/>
- <dataarea name="flop" size="337424">
- <rom name="Sinix_12_SINIX5.td0" size="337424" crc="bae5075a" sha1="8ff0dcd30e85b3878d1034a5cdf718fc6939557c" offset="0"/>
- </dataarea>
- </part>
- <part name="flop6" interface="floppy_5_25">
- <feature name="part_id" value="SINIX6"/>
- <dataarea name="flop" size="327577">
- <rom name="Sinix_12_SINIX6.td0" size="327577" crc="474439a3" sha1="4a9b78d4777156f420ba821c906574ac655e9d76" offset="0"/>
- </dataarea>
- </part>
- <part name="flop7" interface="floppy_5_25">
- <feature name="part_id" value="SINIX7"/>
- <dataarea name="flop" size="459074">
- <rom name="Sinix_12_SINIX7.td0" size="459074" crc="4087cdad" sha1="2b37ee21bac349ce1137cbed0aa1ce8c697d9ba2" offset="0"/>
- </dataarea>
- </part>
- <part name="flop8" interface="floppy_5_25">
- <feature name="part_id" value="SINIU0"/>
- <dataarea name="flop" size="469261">
- <rom name="Sinix_12_SINIU0.td0" size="469261" crc="4151d9c9" sha1="d0e6e408f4652d9bb7089d1f79c500f8e1943ed0" offset="0"/>
- </dataarea>
- </part>
- </software>
-
-</softwarelist>
diff --git a/hash/psx.xml b/hash/psx.xml
index 88bc9174fc6..babafbb35a2 100644
--- a/hash/psx.xml
+++ b/hash/psx.xml
@@ -2,9 +2,6 @@
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
<softwarelist name="psx" description="Sony Playstation CD-ROMs">
-<!-- TODO:
- - Unknown source should be tested and marked as status=baddump instead of pre-emptive supported=no.
--->
<!-- redump.org US PS1 discs (1795 of 1799), based on 'Sony - PlayStation - Datfile (8777) (2017-10-10 01-37-51)'
These CHDs have been converted from redump.org disc images.
@@ -37315,10 +37312,8 @@ The entries in this section are intended to replace the existing "low-grade" Jap
</part>
</software>
- <!-- boot OK -->
- <software name="1903ueno" supported="yes">
- <!--
- Unknown source
+ <software name="1903ueno" supported="no">
+ <!-- Unknown source
<rom name="19 ji 03 pun Ueno Hatsu Yakou Ressha (Japan) [SLPS-01865].bin" size="482529264" crc="866a1b3a" sha1="29969bb1f841b0a9183699f586924374962cc709"/>
<rom name="19 ji 03 pun Ueno Hatsu Yakou Ressha (Japan) [SLPS-01865].cue" size="121" crc="1693f9fd" sha1="91dcac56152bbc60ae39f54b5d0653ede6bd5d05"/>
-->
@@ -37331,15 +37326,13 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<sharedfeat name="compatibility" value="NTSC-J"/>
<part name="cdrom" interface="psx_cdrom">
<diskarea name="cdrom">
- <disk name="19 ji 03 pun ueno hatsu yakou ressha (japan) [slps-01865]" sha1="7d6446e2dd0338b00692b1f8d173d2afa17a4678" status="baddump"/>
+ <disk name="19 ji 03 pun ueno hatsu yakou ressha (japan) [slps-01865]" sha1="7d6446e2dd0338b00692b1f8d173d2afa17a4678"/>
</diskarea>
</part>
</software>
- <!-- boot OK -->
- <software name="1on1" supported="yes">
- <!--
- Unknown source
+ <software name="1on1" supported="no">
+ <!-- Unknown source
<rom name="1-on-1 - Single Basketball (Japan) [SLPS-01706].bin" size="362012784" crc="dfb6de76" sha1="94f6b76c481536f72923e0f47875d17ac8798302"/>
<rom name="1-on-1 - Single Basketball (Japan) [SLPS-01706].cue" size="113" crc="a6de0065" sha1="5c700e9957a2da7f69659215b5a0d7e584c23626"/>
-->
@@ -37352,15 +37345,13 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<sharedfeat name="compatibility" value="NTSC-J"/>
<part name="cdrom" interface="psx_cdrom">
<diskarea name="cdrom">
- <disk name="1-on-1 - single basketball (japan) [slps-01706]" sha1="e87d2970e8d294de150333ee92e750f0b3f379e8" status="baddump"/>
+ <disk name="1-on-1 - single basketball (japan) [slps-01706]" sha1="e87d2970e8d294de150333ee92e750f0b3f379e8"/>
</diskarea>
</part>
</software>
- <!-- boot OK -->
- <software name="1stkiss" supported="yes">
- <!--
- Unknown source
+ <software name="1stkiss" supported="no">
+ <!-- Unknown source
<rom name="First Kiss Monogatari (Japan) (Disc 1) [SLPS-01708].bin" size="743549520" crc="d62f4805" sha1="1bf2d5d5d78a81cd78f17a0ddea8845add722633"/>
<rom name="First Kiss Monogatari (Japan) (Disc 1) [SLPS-01708].cue" size="115" crc="9e4d4124" sha1="1e9dbc957e5f4eb5dfc47b9c367fb39378f2f009"/>
@@ -37376,20 +37367,18 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<sharedfeat name="compatibility" value="NTSC-J"/>
<part name="cdrom1" interface="psx_cdrom">
<diskarea name="cdrom">
- <disk name="first kiss monogatari (japan) (disc 1) [slps-01708]" sha1="d306bc5a8d636fa54073d66cf84636aea2f183f8" status="baddump"/>
+ <disk name="first kiss monogatari (japan) (disc 1) [slps-01708]" sha1="d306bc5a8d636fa54073d66cf84636aea2f183f8"/>
</diskarea>
</part>
<part name="cdrom2" interface="psx_cdrom">
<diskarea name="cdrom">
- <disk name="first kiss monogatari (japan) (disc 2) [slps-01709]" sha1="338be1bcfbdd1726a0e73218793eb6f72b526d09" status="baddump"/>
+ <disk name="first kiss monogatari (japan) (disc 2) [slps-01709]" sha1="338be1bcfbdd1726a0e73218793eb6f72b526d09"/>
</diskarea>
</part>
</software>
- <!-- boot OK, has sound hiccups with menus etc. -->
<software name="20sretsu" cloneof="vivasocr" supported="no">
- <!--
- Unknown source
+ <!-- Unknown source
<rom name="20 Seiki Striker Retsuden - The 20th Century's Strikers (Japan) [SLPS-02348].bin" size="567690480" crc="eaf04647" sha1="4e2da1c5c25e66d847ffa987206c1880ee3d0fa6"/>
<rom name="20 Seiki Striker Retsuden - The 20th Century's Strikers (Japan) [SLPS-02348].cue" size="140" crc="c4b33269" sha1="c0959c020f02586ccc7fd0d3d4c7330bf29f14eb"/>
-->
@@ -37402,7 +37391,7 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<sharedfeat name="compatibility" value="NTSC-J"/>
<part name="cdrom" interface="psx_cdrom">
<diskarea name="cdrom">
- <disk name="20 seiki striker retsuden - the 20th century's strikers (japan) [slps-02348]" sha1="155f85591fcc513b87f763cf44707f82b1523413" status="baddump"/>
+ <disk name="20 seiki striker retsuden - the 20th century's strikers (japan) [slps-02348]" sha1="155f85591fcc513b87f763cf44707f82b1523413"/>
</diskarea>
</part>
</software>
@@ -37492,10 +37481,9 @@ The entries in this section are intended to replace the existing "low-grade" Jap
</part>
</software>
- <!-- boot OK, loading screens blacks out for a split second -->
- <software name="advanrac" supported="yes">
- <!--
- Unknown source
+ <!-- boot OK -->
+ <software name="advanrac" supported="no">
+ <!-- Unknown source
<rom name="Advan Racing (Japan) (Track 1) [SLPS-01689].bin" size="565898256" crc="2663d852" sha1="651124fa56238f2f9504ccb9924e2ccb3d7c4646"/>
<rom name="Advan Racing (Japan) (Track 2) [SLPS-01689].bin" size="33657120" crc="ba904e85" sha1="11ab3b1eed7f08622bbf0dc33bb676f12da9fbfd"/>
<rom name="Advan Racing (Japan) [SLPS-01689].cue" size="213" crc="1e2ab168" sha1="909b963886b59677316131a49ab9984476f7aab2"/>
@@ -37509,7 +37497,7 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<sharedfeat name="compatibility" value="NTSC-J"/>
<part name="cdrom" interface="psx_cdrom">
<diskarea name="cdrom">
- <disk name="advan racing (japan) [slps-01689]" sha1="ffb12aad0606c6bb52c917ee5f900ffb080379e8" status="baddump"/>
+ <disk name="advan racing (japan) [slps-01689]" sha1="ffb12aad0606c6bb52c917ee5f900ffb080379e8"/>
</diskarea>
</part>
</software>
@@ -39968,10 +39956,9 @@ The entries in this section are intended to replace the existing "low-grade" Jap
</part>
</software>
- <!-- boot OK, first boss GFXs are glitchy (may be the dump) -->
- <software name="captcomm" supported="partial">
- <!--
- Unknown source
+ <!-- boot OK -->
+ <software name="captcomm" supported="no">
+ <!-- Unknown source
<rom name="Captain Commando (Japan) [SLPS-01567].bin" size="658153104" crc="fd296689" sha1="0a593c99a124cfa8ccf01310db0e967bd2aee7ae"/>
<rom name="Captain Commando (Japan) [SLPS-01567].cue" size="101" crc="65eba342" sha1="69390e7822f1ae6c30d57b3b0e00fd8e8ff32fe2"/>
-->
@@ -39984,7 +39971,7 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<sharedfeat name="compatibility" value="NTSC-J"/>
<part name="cdrom" interface="psx_cdrom">
<diskarea name="cdrom">
- <disk name="captain commando (japan) [slps-01567]" sha1="1c3f651509f450b363eb7926bf845fb1b916016d" status="baddump"/>
+ <disk name="captain commando (japan) [slps-01567]" sha1="1c3f651509f450b363eb7926bf845fb1b916016d"/>
</diskarea>
</part>
</software>
@@ -42823,7 +42810,7 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<rom name="Fire Pro Wrestling G (Japan) (v1.1).cue" size="101" crc="235169a5" sha1="8d8e7d6247ba63290b18224639ef7f97e89121d1"/>
<rom name="Fire Pro Wrestling G (Japan) (v1.1).bin" size="303358608" crc="8ddb5a09" sha1="26c1da5e5b64d162e9f85c285ffaf2cf2d82214a"/>
-->
- <description>Fire Pro Wrestling G (Jpn) (v1.1)</description>
+ <description>Fire Pro Wrestling G (Japan) (v1.1)</description>
<year>2000</year>
<publisher>Spike</publisher>
<part name="cdrom" interface="psx_cdrom">
@@ -43430,7 +43417,7 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<rom name="King of Braves Gaogaigar - Blockaded Numbers (Japan) [SLPS-01980].bin" size="708417696" crc="312b7d05" sha1="8ac17340c8ff0dff6479eb5c68752a7853d4ef17"/>
<rom name="King of Braves Gaogaigar - Blockaded Numbers (Japan) [SLPS-01980].cue" size="131" crc="54b7c369" sha1="bdf27465b2e2f0e15c1550bda109ecc6f3559a71"/>
-->
- <description>Yuusha-Ou GaoGaiGar - Blockaded Numbers (Jpn)</description>
+ <description>Yuusha-Ou GaoGaiGar - Blockaded Numbers (Japan)</description>
<year>1999</year>
<publisher>Takara</publisher>
<info name="serial" value="SLPS-01980" />
@@ -44079,7 +44066,7 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<rom name="Gradius Gaiden (Japan) (v1.1).cue" size="95" crc="2a2a5d50" sha1="2e638e4f7e1e11e14cf121a14dc5a6835b808579"/>
<rom name="Gradius Gaiden (Japan) (v1.1).bin" size="589716960" crc="8ddb5a09" sha1="5c4794957782bed1ec79851c3ac40d673495b2be"/>
-->
- <description>Gradius Gaiden (Jpn) (v1.1)</description>
+ <description>Gradius Gaiden (Japan) (v1.1)</description>
<year>1997</year>
<publisher>Konami</publisher>
<part name="cdrom" interface="psx_cdrom">
@@ -44236,7 +44223,7 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<rom name="Gunners Heaven (Japan).cue" size="88" crc="6c5136cc" sha1="44136d13f418a67d8342f07d0d3fac2f165ee039"/>
<rom name="Gunners Heaven (Japan).bin" size="398306496" crc="4ff1d1aa" sha1="82bc08baacad979beea29cea702c2c9d85a7c206"/>
-->
- <description>Gunners Heaven (Jpn)</description>
+ <description>Gunners Heaven (Japan)</description>
<year>1995</year>
<publisher>Media Vision</publisher>
<part name="cdrom" interface="psx_cdrom">
@@ -45035,7 +45022,7 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<rom name="Hokuto no Ken - Seikimatsu Kyuuseishu Densetsu (Japan) (Track 1).bin" size="659056272" crc="79e9fc16" sha1="1f9b064ceafef91641bb3bbcc075a604f478489e"/>
<rom name="Hokuto no Ken - Seikimatsu Kyuuseishu Densetsu (Japan) (Track 2).bin" size="37396800" crc="7976083e" sha1="d9f92af296360772e62caa4cb276de3fa74f5538"/>
-->
- <description>Hokuto no Ken - Seikimatsu Kyuuseishu Densetsu (Jpn)</description>
+ <description>Hokuto no Ken - Seikimatsu Kyuuseishu Densetsu (Japan)</description>
<year>2000</year>
<publisher>Bandai</publisher>
<part name="cdrom" interface="psx_cdrom">
@@ -45601,7 +45588,7 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<rom name="Jikkyou Oshaberi Parodius - Forever with Me (Japan).cue" size="117" crc="5a953380" sha1="c00f3a13075a1fa66c451a7427a12354ee9855b6"/>
<rom name="Jikkyou Oshaberi Parodius - Forever with Me (Japan).bin" size="236070240" crc="6818a16d" sha1="b133e7d7ab6679e742b9c29053fba239d948287e"/>
-->
- <description>Jikkyou Oshaberi Parodius - Forever with Me (Jpn)</description>
+ <description>Jikkyou Oshaberi Parodius - Forever with Me (Japan)</description>
<year>1996</year>
<publisher>Konami</publisher>
<part name="cdrom" interface="psx_cdrom">
@@ -45654,7 +45641,7 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<rom name="Kaette Kita Cyborg Kuro-chan (Japan).cue" size="102" crc="9708bd74" sha1="8312951576c460a9260afe0c6c90a4f394cf08b7"/>
<rom name="Kaette Kita Cyborg Kuro-chan (Japan).bin" size="86581824" crc="12d2c699" sha1="adbb7f5efaf20068ef5f2723fa31e6f5e33acb5a"/>
-->
- <description>Kaette Kita Cyborg Kuro-chan (Jpn)</description>
+ <description>Kaette Kita Cyborg Kuro-chan (Japan)</description>
<year>2002</year>
<publisher>Konami</publisher>
<part name="cdrom" interface="psx_cdrom">
@@ -46267,10 +46254,8 @@ The entries in this section are intended to replace the existing "low-grade" Jap
</part>
</software>
- <!-- hangs at PS logo -->
<software name="kisyadeg" supported="no">
- <!--
- Unknown source
+ <!-- Unknown source
<rom name="Kisya de Go! (Japan) [SLPM-86449].bin" size="104106576" crc="6e58310a" sha1="c3b2d8e8bb79ca37791ea76dc901b65c5dcc6bb5"/>
<rom name="Kisya de Go! (Japan) [SLPM-86449].cue" size="97" crc="9f2f7e77" sha1="60fb83bb15f63a65a38e9ea06838c66176196a36"/>
-->
@@ -46283,7 +46268,7 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<sharedfeat name="compatibility" value="NTSC-J"/>
<part name="cdrom" interface="psx_cdrom">
<diskarea name="cdrom">
- <disk name="kisya de go! (japan) [slpm-86449]" sha1="a41979643640716c6d16bec25cb75c913bf60e3c" status="baddump"/>
+ <disk name="kisya de go! (japan) [slpm-86449]" sha1="a41979643640716c6d16bec25cb75c913bf60e3c"/>
</diskarea>
</part>
</software>
@@ -47403,7 +47388,7 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<rom name="Chou Jikuu Yousai Macross - Ai Oboete Imasu ka (Japan) (Disc 2).cue" size="129" crc="2c2b2088" sha1="a9cd8b80b8f7f239dc945bdcd61472dafc6b775f"/>
<rom name="Chou Jikuu Yousai Macross - Ai Oboete Imasu ka (Japan) (Disc 2).bin" size="567194208" crc="7471d971" sha1="96e0f7a3387621f044b53722e341b7b566529743"/>
-->
- <description>Chou Jikuu Yousai Macross - Ai Oboete Imasu ka (Jpn)</description>
+ <description>Chou Jikuu Yousai Macross - Ai Oboete Imasu ka (Japan)</description>
<year>1999</year>
<publisher>Bandai</publisher>
<part name="cdrom" interface="psx_cdrom">
@@ -47424,7 +47409,7 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<rom name="Macross Digital Mission VF-X (Japan) (v1.1) (Track 1).bin" size="650036352" crc="a8eead5b" sha1="732bb1fb49b6822d960d8b1cfd3e8e44e15d5195"/>
<rom name="Macross Digital Mission VF-X (Japan) (v1.1) (Track 2).bin" size="1712256" crc="c9cc476e" sha1="4f9f15c5f519429eccb33d5ceebf18cdf681849c"/>
-->
- <description>Macross Digital Mission VF-X (Jpn)</description>
+ <description>Macross Digital Mission VF-X (Japan)</description>
<year>1997</year>
<publisher>Bandai</publisher>
<part name="cdrom" interface="psx_cdrom">
@@ -47441,7 +47426,7 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<rom name="Macross VF-X2 (Japan) (Track 2).bin" size="47451600" crc="2e07f6eb" sha1="68f587366f2ad490fe47d9c14056cb087ab47c46"/>
<rom name="Macross VF-X2 (Japan) (Track 3).bin" size="37573200" crc="b65806d8" sha1="4bda128d58304d25207af2ffa564fd2493771db8"/>
-->
- <description>Macross VF-X2 (Jpn)</description>
+ <description>Macross VF-X2 (Japan)</description>
<year>1999</year>
<publisher>Bandai</publisher>
<part name="cdrom" interface="psx_cdrom">
@@ -47924,10 +47909,8 @@ The entries in this section are intended to replace the existing "low-grade" Jap
</part>
</software>
- <!-- boot OK -->
- <software name="meiretsu" supported="yes">
- <!--
- Unknown source
+ <software name="meiretsu" supported="no">
+ <!-- Unknown source
<rom name="Meisha Retsuden - Greatest 70's (Japan) [SLPS-01153].bin" size="628106304" crc="bc432823" sha1="8540affeb65af0b81c80a90b3c0cf05d0fbb64ba"/>
<rom name="Meisha Retsuden - Greatest 70's (Japan) [SLPS-01153].cue" size="116" crc="28addf0a" sha1="07df4b2d72f7c111266301ed98726580fd757294"/>
-->
@@ -47940,7 +47923,7 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<sharedfeat name="compatibility" value="NTSC-J"/>
<part name="cdrom" interface="psx_cdrom">
<diskarea name="cdrom">
- <disk name="meisha retsuden - greatest 70's (japan) [slps-01153]" sha1="3d23b92595ad14f8df6051838cc7d8af3feb0438" status="baddump"/>
+ <disk name="meisha retsuden - greatest 70's (japan) [slps-01153]" sha1="3d23b92595ad14f8df6051838cc7d8af3feb0438"/>
</diskarea>
</part>
</software>
@@ -48617,7 +48600,7 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<rom name="Maestro Music, The (Japan) [SLPM-86585].bin" size="282625728" crc="c5f3edb5" sha1="f723e5a3caa226665c9e423cd9fefac8d4108f6d"/>
<rom name="Maestro Music, The (Japan) [SLPM-86585].cue" size="167" crc="80eb9171" sha1="2fc875db82810ccdf6b17d1b1302f4cc39c73ba5"/>
-->
- <description>The Maestro Music (Jpn, with Baton Stick)</description>
+ <description>The Maestro Music (Japan, with Baton Stick)</description>
<year>2000</year>
<publisher>Global A</publisher>
<info name="serial" value="SLPM-86585" />
@@ -50093,7 +50076,7 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<rom name="Picnic! Excellent (Japan) [SLPS-01345].bin" size="116066496" crc="f8014d99" sha1="d2ce1855716b95777a0f22d011ed81c98626b715"/>
<rom name="Picnic! Excellent (Japan) [SLPS-01345].cue" size="230" crc="b11fbc2e" sha1="b8f155f308e8fbb6185ade3d33f3930a57958793"/>
-->
- <description>Pikinya! Excellent (Jpn)</description>
+ <description>Pikinya! Excellent (Japan)</description>
<year>1998</year>
<publisher>ASCII</publisher>
<info name="serial" value="SLPS-01345" />
@@ -51514,9 +51497,8 @@ The entries in this section are intended to replace the existing "low-grade" Jap
</software>
<!-- boot OK -->
- <software name="runhigh" supported="yes">
- <!--
- Unknown source
+ <software name="runhigh" supported="no">
+ <!-- Unknown source
<rom name="Running High (Japan) [SLPS-00751].bin" size="627598272" crc="989748aa" sha1="40d1ccc44ee2e2f2d6d3506f2ff378911a699354"/>
<rom name="Running High (Japan) [SLPS-00751].cue" size="801" crc="f772cd72" sha1="f3f3c6542a8d991b131494290e63c887f67e39cd"/>
-->
@@ -51529,7 +51511,7 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<sharedfeat name="compatibility" value="NTSC-J"/>
<part name="cdrom" interface="psx_cdrom">
<diskarea name="cdrom">
- <disk name="running high (japan) [slps-00751]" sha1="721424847c4083aae3d105b61cf34f4ee907c623" status="baddump"/>
+ <disk name="running high (japan) [slps-00751]" sha1="721424847c4083aae3d105b61cf34f4ee907c623"/>
</diskarea>
</part>
</software>
@@ -51939,7 +51921,6 @@ The entries in this section are intended to replace the existing "low-grade" Jap
</part>
</software>
- <!-- boot OK -->
<software name="sateltv" supported="no">
<!-- Unknown source
<rom name="Satelli TV (Japan) [SLPS-01203].bin" size="102937632" crc="96445bc6" sha1="23a87b50307d2d450ab03f1cc3d562dcc6b8a0b0"/>
@@ -51954,7 +51935,7 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<sharedfeat name="compatibility" value="NTSC-J"/>
<part name="cdrom" interface="psx_cdrom">
<diskarea name="cdrom">
- <disk name="satelli tv (japan) [slps-01203]" sha1="6ce56f4ae07dbeac9b4d8d36abd6e4dea98773e6" status="baddump"/>
+ <disk name="satelli tv (japan) [slps-01203]" sha1="6ce56f4ae07dbeac9b4d8d36abd6e4dea98773e6"/>
</diskarea>
</part>
</software>
@@ -53374,10 +53355,8 @@ The entries in this section are intended to replace the existing "low-grade" Jap
</part>
</software>
- <!-- boot OK -->
- <software name="slivstad" supported="yes">
- <!--
- Unknown source
+ <software name="slivstad" supported="no">
+ <!-- Unknown source
<rom name="Super Live Stadium (Japan) (Track 1) [SLPM-86019].bin" size="250360992" crc="64f045e6" sha1="3bd20f5194ebb9a5d5641b65a173200ec7712167"/>
<rom name="Super Live Stadium (Japan) (Track 2) [SLPM-86019].bin" size="44128224" crc="ceda8e60" sha1="305946339a3d1dd7f6e84cf00feec7097443ab50"/>
<rom name="Super Live Stadium (Japan) [SLPM-86019].cue" size="223" crc="19beca38" sha1="188188c24706d4eb0a6b7cae99d247755970a559"/>
@@ -53391,7 +53370,7 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<sharedfeat name="compatibility" value="NTSC-J"/>
<part name="cdrom" interface="psx_cdrom">
<diskarea name="cdrom">
- <disk name="super live stadium (japan) [slpm-86019]" sha1="1815099658e9c747223f5324cb4e03b4bb5fb567" status="baddump"/>
+ <disk name="super live stadium (japan) [slpm-86019]" sha1="1815099658e9c747223f5324cb4e03b4bb5fb567"/>
</diskarea>
</part>
</software>
@@ -53434,10 +53413,8 @@ The entries in this section are intended to replace the existing "low-grade" Jap
</part>
</software>
- <!-- boot OK -->
- <software name="sndqube" supported="yes">
- <!--
- Unknown source
+ <software name="sndqube" supported="no">
+ <!-- Unknown source
<rom name="Sound Qube (Japan) [SLPS-01309].bin" size="35390544" crc="2592cf3d" sha1="d763b661a0ebc5fe7d28959cb75df7fa28fc1cbf"/>
<rom name="Sound Qube (Japan) [SLPS-01309].cue" size="95" crc="826e21ee" sha1="c486b9d32452d7bc0eab4bd09ea72a4cb597995e"/>
-->
@@ -53450,7 +53427,7 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<sharedfeat name="compatibility" value="NTSC-J"/>
<part name="cdrom" interface="psx_cdrom">
<diskarea name="cdrom">
- <disk name="sound qube (japan) [slps-01309]" sha1="54139ab64577aec717ca75daa26d87b67887a673" status="baddump"/>
+ <disk name="sound qube (japan) [slps-01309]" sha1="54139ab64577aec717ca75daa26d87b67887a673"/>
</diskarea>
</part>
</software>
@@ -53589,10 +53566,8 @@ The entries in this section are intended to replace the existing "low-grade" Jap
</part>
</software>
- <!-- boot OK -->
- <software name="spaceinvj" cloneof="spaceinv" supported="yes">
- <!--
- Unknown source
+ <software name="spaceinvj" cloneof="spaceinv" supported="no">
+ <!-- Unknown source
<rom name="Space Invaders X (Japan) [SLPM-86419].bin" size="203400960" crc="898b2e6d" sha1="3ffeb95a80dbf0f3b62fc4c46521883432dbb64d"/>
<rom name="Space Invaders X (Japan) [SLPM-86419].cue" size="101" crc="5b52cdc4" sha1="8dace214eb0faa651a86b5ca23961bce6645eae9"/>
-->
@@ -53605,7 +53580,7 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<sharedfeat name="compatibility" value="NTSC-J"/>
<part name="cdrom" interface="psx_cdrom">
<diskarea name="cdrom">
- <disk name="space invaders x (japan) [slpm-86419]" sha1="521ecefa318a2cd5efbe71be5aad4d4a46594224" status="baddump"/>
+ <disk name="space invaders x (japan) [slpm-86419]" sha1="521ecefa318a2cd5efbe71be5aad4d4a46594224"/>
</diskarea>
</part>
</software>
@@ -53691,7 +53666,7 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<rom name="Super Robot Taisen Alpha (Japan) (v1.1).cue" size="105" crc="a64072b6" sha1="e48e50c8dd42eb4ec94eac0b124606d9f19484b5"/>
<rom name="Super Robot Taisen Alpha (Japan) (v1.1).bin" size="646374288" crc="b6550e08" sha1="914a07e58ed4b68ea7a2b732372a565f532fab0d"/>
-->
- <description>Super Robot Taisen Alpha (Jpn) (v1.1)</description>
+ <description>Super Robot Taisen Alpha (Japan) (v1.1)</description>
<year>2000</year>
<publisher>Banpresto</publisher>
<part name="cdrom" interface="psx_cdrom">
@@ -53706,7 +53681,7 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<rom name="Super Robot Taisen Alpha Gaiden (Japan) (Premium Edition).cue" size="123" crc="ee787a65" sha1="5877e52eafb38b0cec2fb888ecba26aaa1e02d28"/>
<rom name="Super Robot Taisen Alpha Gaiden (Japan) (Premium Edition).bin" size="718310208" crc="366c1cf1" sha1="b0d87ae8cf6434e2cb5c47d03812e0c0874a874c"/>
-->
- <description>Super Robot Taisen Alpha Gaiden - Premium Edition (Jpn)</description>
+ <description>Super Robot Taisen Alpha Gaiden - Premium Edition (Japan)</description>
<year>2001</year>
<publisher>Banpresto</publisher>
<part name="cdrom" interface="psx_cdrom">
@@ -53721,7 +53696,7 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<rom name="Super Robot Taisen Alpha Gaiden (Japan) (Shokai Genteiban).cue" size="124" crc="8715a811" sha1="e8e634d9b85372ec0169cbffe47cac88b060eb90"/>
<rom name="Super Robot Taisen Alpha Gaiden (Japan) (Shokai Genteiban).bin" size="718310208" crc="b9bef60c" sha1="546675f35773bdf68a5b24a0fe429443a175cc44"/>
-->
- <description>Super Robot Taisen Alpha Gaiden - Shokai Genteiban (Jpn)</description>
+ <description>Super Robot Taisen Alpha Gaiden - Shokai Genteiban (Japan)</description>
<year>2001</year>
<publisher>Banpresto</publisher>
<part name="cdrom" interface="psx_cdrom">
@@ -53739,7 +53714,7 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<rom name="Super Robot Taisen - Complete Box (Japan) (Disc 2) (History of Super Robot Wars).cue" size="146" crc="50c54b6d" sha1="990fb4f7d6563eacc9b7ee425a4c34105d2404c6"/>
<rom name="Super Robot Taisen - Complete Box (Japan) (Disc 2) (History of Super Robot Wars).bin" size="642105408" crc="bef35311" sha1="65ffad2101381dbc4821ef1d152029e99d9f0996"/>
-->
- <description>Super Robot Taisen Complete Box (Jpn)</description>
+ <description>Super Robot Taisen Complete Box (Japan)</description>
<year>1999</year>
<publisher>Banpresto</publisher>
<part name="cdrom1" interface="psx_cdrom">
@@ -53760,7 +53735,7 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<rom name="Super Robot Taisen F (Japan) (Track 1).bin" size="" crc="c9d941ba" sha1="582019486fa0288100086d3a1866b9b91031c8f7"/>
<rom name="Super Robot Taisen F (Japan) (Track 2).bin" size="" crc="9b94ea54" sha1="bd1fde88c2b79e3cf8821c969373460d51f3155a"/>
-->
- <description>Super Robot Taisen F (Jpn)</description>
+ <description>Super Robot Taisen F (Japan)</description>
<year>1998</year>
<publisher>Banpresto</publisher>
<part name="cdrom" interface="psx_cdrom">
@@ -53776,7 +53751,7 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<rom name="Super Robot Taisen F Kanketsuhen (Japan) (Track 1).bin" size="" crc="a04ec282" sha1="28b3988d5e405f5bd602ed42113c709b4bc4e0d4"/>
<rom name="Super Robot Taisen F Kanketsuhen (Japan) (Track 2).bin" size="" crc="9b94ea54" sha1="bd1fde88c2b79e3cf8821c969373460d51f3155a"/>
-->
- <description>Super Robot Taisen F Kanketsuhen (Jpn)</description>
+ <description>Super Robot Taisen F Kanketsuhen (Japan)</description>
<year>1999</year>
<publisher>Banpresto</publisher>
<part name="cdrom" interface="psx_cdrom">
@@ -53977,10 +53952,8 @@ The entries in this section are intended to replace the existing "low-grade" Jap
</part>
</software>
- <!-- boot OK -->
- <software name="ss088gmj" supported="yes">
- <!--
- Unknown source
+ <software name="ss088gmj" supported="no">
+ <!-- Unknown source
<rom name="Simple 1500 Series Vol.088 - The Gal Mahjong (Japan) [SLPM-87023].bin" size="285187056" crc="49f38cf1" sha1="a387e2524a02e914f6f2078edf457693ffc0785c"/>
<rom name="Simple 1500 Series Vol.088 - The Gal Mahjong (Japan) [SLPM-87023].cue" size="193" crc="9ab18af7" sha1="1a5d6197dc43d6973265ff04d0347b8e37b07646"/>
-->
@@ -53993,7 +53966,7 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<sharedfeat name="compatibility" value="NTSC-J"/>
<part name="cdrom" interface="psx_cdrom">
<diskarea name="cdrom">
- <disk name="simple 1500 series vol.088 - the gal mahjong (japan) [slpm-87023]" sha1="1301d1f4f971513c0606c37062795a7e36f59f80" status="baddump"/>
+ <disk name="simple 1500 series vol.088 - the gal mahjong (japan) [slpm-87023]" sha1="1301d1f4f971513c0606c37062795a7e36f59f80"/>
</diskarea>
</part>
</software>
@@ -54017,10 +53990,8 @@ The entries in this section are intended to replace the existing "low-grade" Jap
</part>
</software>
- <!-- boot OK -->
- <software name="ss090sen" supported="yes">
- <!--
- Unknown source
+ <software name="ss090sen" supported="no">
+ <!-- Unknown source
<rom name="Simple 1500 Series Vol.090 - The Sensha (Japan) [SLPM-87044].bin" size="542733408" crc="44fb999b" sha1="bf17f4ee3e915166b81a40f2ecec24fb80d7727c"/>
<rom name="Simple 1500 Series Vol.090 - The Sensha (Japan) [SLPM-87044].cue" size="828" crc="d73d623e" sha1="4f6b5511c6ec59a51e0fec0a326f98e8407c2e02"/>
-->
@@ -54033,7 +54004,7 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<sharedfeat name="compatibility" value="NTSC-J"/>
<part name="cdrom" interface="psx_cdrom">
<diskarea name="cdrom">
- <disk name="simple 1500 series vol.090 - the sensha (japan) [slpm-87044]" sha1="13a15efb7c927f92d55d3f450b2d8ed33ee434a0" status="baddump"/>
+ <disk name="simple 1500 series vol.090 - the sensha (japan) [slpm-87044]" sha1="13a15efb7c927f92d55d3f450b2d8ed33ee434a0"/>
</diskarea>
</part>
</software>
@@ -54057,10 +54028,8 @@ The entries in this section are intended to replace the existing "low-grade" Jap
</part>
</software>
- <!-- boot OK, input lag needs to be counterchecked -->
- <software name="ss097sqh" supported="partial">
- <!--
- Unknown source
+ <software name="ss097sqh" supported="no">
+ <!-- Unknown source
<rom name="Simple 1500 Series Vol.097 - The Squash (Japan) [SLPM-87088].bin" size="404271168" crc="20a4668f" sha1="0608c5e1356ef81f371bea940929c2707bf8b1a7"/>
<rom name="Simple 1500 Series Vol.097 - The Squash (Japan) [SLPM-87088].cue" size="557" crc="50770bde" sha1="82f1509beff5c440560869a1a249841c4984936f"/>
-->
@@ -54073,7 +54042,7 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<sharedfeat name="compatibility" value="NTSC-J"/>
<part name="cdrom" interface="psx_cdrom">
<diskarea name="cdrom">
- <disk name="simple 1500 series vol.097 - the squash (japan) [slpm-87088]" sha1="c87f29e61eccb1073b205e39ac8eb489e28eb244" status="baddump"/>
+ <disk name="simple 1500 series vol.097 - the squash (japan) [slpm-87088]" sha1="c87f29e61eccb1073b205e39ac8eb489e28eb244"/>
</diskarea>
</part>
</software>
@@ -54154,10 +54123,8 @@ The entries in this section are intended to replace the existing "low-grade" Jap
</part>
</software>
- <!-- boot OK -->
- <software name="ss104pnk" supported="yes">
- <!--
- Unknown source
+ <software name="ss104pnk" supported="no">
+ <!-- Unknown source
<rom name="Simple 1500 Series Vol.104 - The Pink Panther (Japan) (Track 01) [SLPM-87215].bin" size="127076208" crc="3f42f527" sha1="5a8979934b286ca05d41221902a79ba7814b1006"/>
<rom name="Simple 1500 Series Vol.104 - The Pink Panther (Japan) (Track 02) [SLPM-87215].bin" size="16583952" crc="9055e137" sha1="9befde07d4a797ee2d3d7f836efe414425cc6fc8"/>
<rom name="Simple 1500 Series Vol.104 - The Pink Panther (Japan) (Track 03) [SLPM-87215].bin" size="22226400" crc="b5774ef9" sha1="ebb3af281154f94b308526b124efdc72a50ab45c"/>
@@ -54192,7 +54159,7 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<sharedfeat name="compatibility" value="NTSC-J"/>
<part name="cdrom" interface="psx_cdrom">
<diskarea name="cdrom">
- <disk name="simple 1500 series vol.104 - the pink panther (japan) [slpm-87215]" sha1="21ebdd30abd139787a2a91864247d53367471af7" status="baddump"/>
+ <disk name="simple 1500 series vol.104 - the pink panther (japan) [slpm-87215]" sha1="21ebdd30abd139787a2a91864247d53367471af7"/>
</diskarea>
</part>
</software>
@@ -54749,10 +54716,8 @@ The entries in this section are intended to replace the existing "low-grade" Jap
</part>
</software>
- <!-- boot OK -->
- <software name="tfx" supported="yes">
- <!--
- Unknown source
+ <software name="tfx" supported="no">
+ <!-- Unknown source
<rom name="TFX (Japan) [SLPS-00511].bin" size="603476160" crc="75b87d33" sha1="d218103639d0f23c77551b5f3c83fcfcaed9ebd1"/>
<rom name="TFX (Japan) [SLPS-00511].cue" size="984" crc="5877fd51" sha1="bc7d46f45b5d8e6391c5f67cb1e2914df699e589"/>
-->
@@ -54764,7 +54729,7 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<sharedfeat name="compatibility" value="NTSC-J"/>
<part name="cdrom" interface="psx_cdrom">
<diskarea name="cdrom">
- <disk name="tfx (japan) [slps-00511]" sha1="00d81663c232a2e6f767b543208fbc8924d80eb7" status="baddump"/>
+ <disk name="tfx (japan) [slps-00511]" sha1="00d81663c232a2e6f767b543208fbc8924d80eb7"/>
</diskarea>
</part>
</software>
@@ -55959,10 +55924,9 @@ The entries in this section are intended to replace the existing "low-grade" Jap
</part>
</software>
- <!-- boot OK -->
- <software name="ungrawlk" supported="yes">
- <!--
- Unknown source
+ <!-- boot ok -->
+ <software name="ungrawlk" supported="no">
+ <!-- Unknown source
<rom name="Ungra Walker (Japan) [SLPM-87055].bin" size="346256736" crc="7eb8e45f" sha1="4c1c90c346d8cf8ce2faacd00dadc2975f434cad"/>
<rom name="Ungra Walker (Japan) [SLPM-87055].cue" size="97" crc="66cb4152" sha1="9d52bd38134973bf825adfa1bfee08a42aee67a9"/>
-->
@@ -55975,15 +55939,14 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<sharedfeat name="compatibility" value="NTSC-J"/>
<part name="cdrom" interface="psx_cdrom">
<diskarea name="cdrom">
- <disk name="ungra walker (japan) [slpm-87055]" sha1="b9be7e6b3c343920f22975ff4aded3fe64479913" status="baddump"/>
+ <disk name="ungra walker (japan) [slpm-87055]" sha1="b9be7e6b3c343920f22975ff4aded3fe64479913"/>
</diskarea>
</part>
</software>
- <!-- boot OK, hangs at memory card screen after a game -->
+ <!-- boot ok -->
<software name="urawazmj" supported="no">
- <!--
- Unknown source
+ <!-- Unknown source
<rom name="Urawaza Mahjong - Korette Tenhoutte Yatsukai (Japan) [SLPS-02807].bin" size="412641936" crc="b742804b" sha1="9d2d255846abf4e48aecc3dfbead649b7c50271e"/>
<rom name="Urawaza Mahjong - Korette Tenhoutte Yatsukai (Japan) [SLPS-02807].cue" size="129" crc="2edf0717" sha1="dc563e7248000896bd0946238c20a98d13bd4d79"/>
-->
@@ -55996,7 +55959,7 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<sharedfeat name="compatibility" value="NTSC-J"/>
<part name="cdrom" interface="psx_cdrom">
<diskarea name="cdrom">
- <disk name="urawaza mahjong - korette tenhoutte yatsukai (japan) [slps-02807]" sha1="0ec0b1ae7178923708b9bd0dd7b528b04e3e5929" status="baddump"/>
+ <disk name="urawaza mahjong - korette tenhoutte yatsukai (japan) [slps-02807]" sha1="0ec0b1ae7178923708b9bd0dd7b528b04e3e5929"/>
</diskarea>
</part>
</software>
@@ -56239,10 +56202,9 @@ The entries in this section are intended to replace the existing "low-grade" Jap
</part>
</software>
- <!-- boot OK -->
- <software name="vspike" supported="yes">
- <!--
- Unknown source
+ <!-- boot ok -->
+ <software name="vspike" supported="no">
+ <!-- Unknown source
<rom name="Victory Spike (Japan) [SLPS-00372].bin" size="210003024" crc="5a07e472" sha1="563b30d5933e4778b97664c1319bb148da094ad4"/>
<rom name="Victory Spike (Japan) [SLPS-00372].cue" size="613" crc="4b007487" sha1="1258b2a0389b936630c2fb4a6839a4ff442d7337"/>
-->
@@ -56255,7 +56217,7 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<sharedfeat name="compatibility" value="NTSC-J"/>
<part name="cdrom" interface="psx_cdrom">
<diskarea name="cdrom">
- <disk name="victory spike (japan) [slps-00372]" sha1="73ba7739855c0aa622273817195c5b18c2e24e1b" status="baddump"/>
+ <disk name="victory spike (japan) [slps-00372]" sha1="73ba7739855c0aa622273817195c5b18c2e24e1b"/>
</diskarea>
</part>
</software>
@@ -57110,9 +57072,8 @@ The entries in this section are intended to replace the existing "low-grade" Jap
</software>
<!-- boot OK -->
- <software name="zigzagba" supported="yes">
- <!--
- Unknown source
+ <software name="zigzagba" supported="no">
+ <!-- Unknown source
<rom name="Zig Zag Ball (Japan) [SLPS-01483].bin" size="254766288" crc="970d1d20" sha1="55d8170cbe4d805159a5b260419c1d3540af8f8e"/>
<rom name="Zig Zag Ball (Japan) [SLPS-01483].cue" size="99" crc="b6a14b1a" sha1="4b88de8f69852b5e60c8f620e94e9b34970ab744"/>
-->
@@ -57125,15 +57086,14 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<sharedfeat name="compatibility" value="NTSC-J"/>
<part name="cdrom" interface="psx_cdrom">
<diskarea name="cdrom">
- <disk name="zig zag ball (japan) [slps-01483]" sha1="fe8508753bea27862d6bdf1ab3e977563c8c83fc" status="baddump"/>
+ <disk name="zig zag ball (japan) [slps-01483]" sha1="fe8508753bea27862d6bdf1ab3e977563c8c83fc"/>
</diskarea>
</part>
</software>
<!-- boot OK -->
- <software name="zipanguj" supported="yes">
- <!--
- Unknown source
+ <software name="zipanguj" supported="no">
+ <!-- Unknown source
<rom name="Zipangutou - Unmei wa Saikoro ga Kimeru! (Japan) [SLPS-02260].bin" size="94922016" crc="7fd31d42" sha1="ef45ae118c21536d2985f364890297b57349051f"/>
<rom name="Zipangutou - Unmei wa Saikoro ga Kimeru! (Japan) [SLPS-02260].cue" size="125" crc="881ae390" sha1="c3c1b084e486800e513b08ddd77a92edfd0aeebc"/>
-->
@@ -57146,7 +57106,7 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<sharedfeat name="compatibility" value="NTSC-J"/>
<part name="cdrom" interface="psx_cdrom">
<diskarea name="cdrom">
- <disk name="zipangutou - unmei wa saikoro ga kimeru! (japan) [slps-02260]" sha1="f699ad7fc3fef9ce9d7078e7f20cb88b81fc498a" status="baddump"/>
+ <disk name="zipangutou - unmei wa saikoro ga kimeru! (japan) [slps-02260]" sha1="f699ad7fc3fef9ce9d7078e7f20cb88b81fc498a"/>
</diskarea>
</part>
</software>
@@ -57338,10 +57298,10 @@ The entries in this section are intended to replace the existing "low-grade" Jap
</part>
</software>
- <!-- boot OK, but it needs extra controller emulated for the RL 3d models cfr. https://youtu.be/IOT2MwtLWD0 -->
+ <!-- boot OK, but it needs extra controller emulated (the game came with a robot model to assemble and a memory card which shall communicate to the
+ game how you did assemble your robot, to use such a model into the game)! -->
<software name="zxed" supported="no">
- <!--
- Unknown source
+ <!-- Unknown source
<rom name="Zxe-D - Legend of Plasmalite (Japan) [SLPS-00424].bin" size="503168064" crc="003652c9" sha1="a0045a44784204b4cd55196598c2d94ac5e76d65"/>
<rom name="Zxe-D - Legend of Plasmalite (Japan) [SLPS-00424].cue" size="1891" crc="41ddb394" sha1="ba9507c97340a26f9a7971be9116924e0b24292f"/>
-->
@@ -57354,7 +57314,7 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<sharedfeat name="compatibility" value="NTSC-J"/>
<part name="cdrom" interface="psx_cdrom">
<diskarea name="cdrom">
- <disk name="zxe-d - legend of plasmalite (japan) [slps-00424]" sha1="9f7037eb869807b53848d418e94d74c9088d2473" status="baddump"/>
+ <disk name="zxe-d - legend of plasmalite (japan) [slps-00424]" sha1="9f7037eb869807b53848d418e94d74c9088d2473"/>
</diskarea>
</part>
</software>
@@ -57381,10 +57341,8 @@ The entries in this section are intended to replace the existing "low-grade" Jap
</part>
</software>
- <!-- Tested Tobal 2 saves, unknown about the others -->
- <software name="squaremc" supported="yes">
- <!--
- Unknown source
+ <software name="squaremc" supported="no">
+ <!-- Unknown source
<rom name="Squaresoft Memory Card Data CD (Japan) [SLPM-80556].bin" size="56706720" crc="206e6880" sha1="1f00d03675f7f6d1504f0eb72947727c32383c18"/>
<rom name="Squaresoft Memory Card Data CD (Japan) [SLPM-80556].cue" size="117" crc="b951f2d7" sha1="008372b38dcd870012f90e2c603fcc0f15d1e641"/>
-->
@@ -57396,7 +57354,7 @@ The entries in this section are intended to replace the existing "low-grade" Jap
<sharedfeat name="compatibility" value="NTSC-J"/>
<part name="cdrom" interface="psx_cdrom">
<diskarea name="cdrom">
- <disk name="squaresoft memory card data cd (japan) [slpm-80556]" sha1="686d4e4519b92817c7ac16514a8d007305d801b1" status="baddump"/>
+ <disk name="squaresoft memory card data cd (japan) [slpm-80556]" sha1="686d4e4519b92817c7ac16514a8d007305d801b1"/>
</diskarea>
</part>
</software>
@@ -58575,7 +58533,7 @@ use an alternate design found on the demo disk... It might be possible to enable
<rom name="Zanac x Zanac (Japan).cue" size="87" crc="bf9b92c3" sha1="6a6d9eccb0e4c5d7443e616b0591de3df8643709"/>
<rom name="Zanac x Zanac (Japan).bin" size="379659840" crc="cf5625d4" sha1="8d8e7d6247ba63290b18224639ef7f97e89121d1"/>
-->
- <description>Zanac X Zanac (Jpn)</description>
+ <description>Zanac X Zanac (Japan)</description>
<year>2001</year>
<publisher>Compile</publisher>
<part name="cdrom" interface="psx_cdrom">
diff --git a/hash/saturn.xml b/hash/saturn.xml
index b7a15a8ed51..24f11627102 100644
--- a/hash/saturn.xml
+++ b/hash/saturn.xml
@@ -26,9 +26,6 @@
Euro / PAL collection, although it's from 2009, so some images may exist in better forms. These can
be replaced over time.
- 15 Mar 19 - Started testing stuff inline to the actual XML parsing,
- marking stuff as supported where possible via exploiting "Identifying" dummy comments.
- Eventually this list below will be cut off since is worthless and outdated.
*********************************************************************************************************
*********************************************************************************************************
@@ -2522,8 +2519,8 @@ Olympic Soccer (Fra) T-7904H-09
</part>
</software>
- <!-- -->
- <software name="aishogi" supported="yes">
+ <!-- Identifying AI Shougi (Japan)... -->
+ <software name="aishogi" supported="no">
<description>AI Shougi (Jpn)</description>
<year>1995</year>
<publisher>Soft Bank</publisher>
@@ -2682,7 +2679,7 @@ Olympic Soccer (Fra) T-7904H-09
</part>
</software>
- <!-- Black screen in Roosters after game over, other games untested -->
+ <!-- Identifying Arcade Gears Vol.3 - Wonder 3 (Japan)... -->
<software name="wonder3" supported="no">
<description>Arcade Gears Vol. 3 - Wonder 3 (Jpn)</description>
<year>1998</year>
@@ -3068,8 +3065,8 @@ Olympic Soccer (Fra) T-7904H-09
</part>
</software>
- <!-- Works including mouse support -->
- <software name="catrip" supported="yes">
+ <!-- Identifying Cat the Ripper - 13Ninme no Tanteishi (Japan)... -->
+ <software name="catrip" supported="no">
<description>Cat the Ripper - 13-ninme no Tanteishi (Jpn)</description>
<year>1997</year>
<publisher>Tonkin House</publisher>
@@ -3554,8 +3551,8 @@ Olympic Soccer (Fra) T-7904H-09
</part>
</software>
- <!-- Works including loading from Save Game Manager CDs -->
- <software name="dezaemn2" supported="yes">
+ <!-- Identifying Dezaemon 2 (Japan)... -->
+ <software name="dezaemn2" supported="no">
<description>Dezaemon 2 (Jpn)</description>
<year>1997</year>
<publisher>Athena</publisher>
@@ -4060,7 +4057,7 @@ Olympic Soccer (Fra) T-7904H-09
</part>
</software>
- <!-- Dragon Slayer crashes in DRC after being selected, with NODRC sound eventually dies during gameplay. -->
+ <!-- Identifying Falcom Classics (Japan)... -->
<software name="falcom1" supported="no">
<description>Falcom Classics (Jpn)</description>
<year>1997</year>
@@ -7323,7 +7320,7 @@ Olympic Soccer (Fra) T-7904H-09
</part>
</software>
- <!-- Phantasy Star 2 (at least) has not working BGMs (repeats a very short chunk over and over) -->
+ <!-- Identifying Sega Ages - Phantasy Star Collection (Japan)... -->
<software name="pstarcol" supported="no">
<description>Sega Ages - Phantasy Star Collection (Jpn)</description>
<year>1998</year>
@@ -17697,7 +17694,7 @@ Olympic Soccer (Fra) T-7904H-09
</part>
</software>
- <!-- Crashes at KSS logo with DRC -->
+ <!-- Identifying Goiken Muyou - Anarchy in the Nippon (T-28902G)... -->
<software name="anarchy" supported="no">
<description>Goiken Muyou - Anarchy in the Nippon (Jpn)</description>
<year>1997</year>
@@ -29839,7 +29836,7 @@ Olympic Soccer (Fra) T-7904H-09
</part>
</software>
- <!-- Hangs during some scenes -->
+ <!-- Identifying timegal... -->
<software name="timegal" supported="no">
<description>Time Gal (Time Gal &amp; Ninja Hayate Disc 1) (Jpn)</description>
<year>1997</year>
@@ -29855,7 +29852,7 @@ Olympic Soccer (Fra) T-7904H-09
</part>
</software>
- <!-- Hangs during some scenes -->
+ <!-- Identifying hayate... -->
<software name="nhayate" supported="no">
<description>Ninja Hayate (Time Gal &amp; Ninja Hayate Disc 2) (Jpn)</description>
<year>1997</year>
diff --git a/hash/sc3000_cart.xml b/hash/sc3000_cart.xml
index 84485dca12b..ae0a2696727 100644
--- a/hash/sc3000_cart.xml
+++ b/hash/sc3000_cart.xml
@@ -321,48 +321,4 @@
</part>
</software>
- <!-- SC-3000 Survivors carts -->
-
- <software name="multcart228" cloneof="multcart">
- <description>SC-3000 Survivors MkII Multicart v2.28</description>
- <year>2013</year>
- <publisher>SC-3000 Survivors</publisher>
- <part name="cart" interface="sg1000_cart">
- <feature name="slot" value="multicart" />
- <dataarea name="rom" size="2097152">
- <rom name="SC3000SurvivorsMkIIMulticart_v2_28b.bin" size="2097152" crc="f4e7f01b" sha1="4a75f6c24978a01cea70c068a3b0b3f8d60fe590" offset="000000" />
- </dataarea>
- <dataarea name="ram" size="32768">
- </dataarea>
- </part>
- </software>
-
- <software name="multcart">
- <description>SC-3000 Survivors MkII Multicart v2.31</description>
- <year>2018</year>
- <publisher>SC-3000 Survivors</publisher>
- <part name="cart" interface="sg1000_cart">
- <feature name="slot" value="multicart" />
- <dataarea name="rom" size="2097152">
- <rom name="SC3000SurvivorsMkIIMulticart_v2_31.bin" size="2097152" crc="0084b239" sha1="faff64ade6ef21e6673793d2d7b9603447bd5a01" offset="000000" />
- </dataarea>
- <dataarea name="ram" size="32768">
- </dataarea>
- </part>
- </software>
-
- <software name="megacart">
- <description>SC-3000 Survivors Megacart v2.31</description>
- <year>2018</year>
- <publisher>SC-3000 Survivors</publisher>
- <part name="cart" interface="sg1000_cart">
- <feature name="slot" value="megacart" />
- <dataarea name="rom" size="4194304">
- <rom name="SC3000SurvivorsMegacart_v2_31.bin" size="4194304" crc="76a3d2e2" sha1="17c226646d937845caa1af0dac356f0ee1fa9677" offset="000000" />
- </dataarea>
- <dataarea name="ram" size="32768">
- </dataarea>
- </part>
- </software>
-
</softwarelist>
diff --git a/hash/sc3000_cass.xml b/hash/sc3000_cass.xml
index 0671ce0550d..42697ad5784 100644
--- a/hash/sc3000_cass.xml
+++ b/hash/sc3000_cass.xml
@@ -2,211 +2,10 @@
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
<softwarelist name="sc3000_cass" description="SEGA Computer 3000 cassettes">
- <software name="bastow">
- <description>The Secret of Bastow Manor</description>
- <year>1984</year>
- <publisher>Dotsoft</publisher>
- <info name="usage" value="Requires BASIC Level 3 cartridge" />
- <part name="cass1" interface="sc3000_cass">
- <dataarea name="cass" size="1660342">
- <rom name="TheSecretOfBastowManor_Pt1.wav" size="1660342" crc="4e26b753" sha1="e23d728b3959cf5f42b62f1495c33e65aa06580e" offset="0" />
- </dataarea>
- </part>
- <part name="cass2" interface="sc3000_cass">
- <dataarea name="cass" size="3383930">
- <rom name="TheSecretOfBastowManor_Pt2.wav" size="3383930" crc="8a023fe8" sha1="9d00a27a08850ee10f786f8cf0c446a4eb415873" offset="0" />
- </dataarea>
- </part>
- <part name="cass3" interface="sc3000_cass">
- <dataarea name="cass" size="9604160">
- <rom name="TheSecretOfBastowManor_Pt3.wav" size="9604160" crc="bc2db5c6" sha1="2281f015dffb522bda928dd7a04685b96f239a64" offset="0" />
- </dataarea>
- </part>
- <part name="cass4" interface="sc3000_cass">
- <dataarea name="cass" size="9635070">
- <rom name="TheSecretOfBastowManor_Pt4.wav" size="9635070" crc="16adb5ff" sha1="ddae963d717e6bf0e74c07bbaeb947ddda44c48f" offset="0" />
- </dataarea>
- </part>
- <part name="cass5" interface="sc3000_cass">
- <dataarea name="cass" size="8990380">
- <rom name="TheSecretOfBastowManor_Pt5.wav" size="8990380" crc="64febb9b" sha1="047cebfc04bb038f61d938fb4f5c3ecb26f91e64" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="cityland">
- <description>City Lander</description>
- <year>198?</year>
- <publisher>Grandstand</publisher>
- <info name="usage" value="Requires BASIC Level 3 cartridge" />
- <part name="cass" interface="sc3000_cass">
- <dataarea name="cass" size="7141680">
- <rom name="CityLander.wav" size="7141680" crc="4570cb68" sha1="868fa0a002d02805533fdfb027853fcf613c4e13" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="dragonq">
- <description>Dragonquest</description>
- <year>1984</year>
- <publisher>John Sands</publisher>
- <info name="author" value="Hercules Gunter" />
- <info name="usage" value="Requires BASIC Level 3 cartridge" />
- <part name="cass" interface="sc3000_cass">
- <dataarea name="cass" size="10451972">
- <rom name="Dragonquest.wav" size="10451972" crc="39e55170" sha1="01c5ad7697ad980401781ec9eae33e359e30f67d" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="dungeons">
- <description>Dungeons Beneath Cairo</description>
- <year>1984</year>
- <publisher>Sega</publisher>
- <info name="usage" value="Requires BASIC Level 3 cartridge" />
- <part name="cass" interface="sc3000_cass">
- <dataarea name="cass" size="14216966">
- <rom name="DungeonsBeneathCairo.wav" size="14216966" crc="49ec80c2" sha1="36bfc2d0cb992de1aecff1851ed4d7c514bf4f25" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="environd">
- <description>Environoid</description>
- <year>1984</year>
- <publisher>John Sands</publisher>
- <info name="usage" value="Requires BASIC Level 3 cartridge" />
- <part name="cass" interface="sc3000_cass">
- <dataarea name="cass" size="9565890">
- <rom name="Environoid.wav" size="9565890" crc="8f878a44" sha1="5e826099ac4c8af7865df990cdaa96455e9ce6d9" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="help">
- <description>Help</description>
- <year>1984</year>
- <publisher>Grandstand</publisher>
- <info name="author" value="Michael Howard" />
- <info name="usage" value="Requires BASIC Level 3 cartridge" />
- <part name="cass" interface="sc3000_cass">
- <dataarea name="cass" size="18196834">
- <rom name="Help.wav" size="18196834" crc="cd952d6b" sha1="6d32dd33f884677c54300be57a8cdaf283478a82" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="house">
- <description>The House</description>
- <year>1984</year>
- <publisher>Grandstand</publisher>
- <info name="author" value="Michael Howard" />
- <info name="usage" value="Requires BASIC Level 3 cartridge" />
- <part name="cass" interface="sc3000_cass">
- <dataarea name="cass" size="25191280">
- <rom name="TheHouse.wav" size="25191280" crc="85b183d2" sha1="a222e8763a357b4f962b207b6c7d4b73bbc841a9" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="lawn">
- <description>Lawn</description>
- <year>198?</year>
- <publisher>Hi-Tech Programming</publisher>
- <info name="usage" value="Requires BASIC Level 3 cartridge" />
- <part name="cass" interface="sc3000_cass">
- <dataarea name="cass" size="4539370">
- <rom name="Lawn.wav" size="4539370" crc="bcc0d3ae" sha1="fe453dcf1db4f1f2972367a734488c482a6a9cc8" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="madmummy">
- <description>The Case of the Mad Mummy</description>
- <year>1984</year>
- <publisher>Dotsoft</publisher>
- <info name="usage" value="Requires BASIC Level 3 cartridge" />
- <part name="cass1" interface="sc3000_cass">
- <dataarea name="cass" size="1471940">
- <rom name="TheCaseOfTheMadMummy_Pt1.wav" size="1471940" crc="015e9f5a" sha1="f9dad83618df356ec90c4e6b17c79d60548c86b7" offset="0" />
- </dataarea>
- </part>
- <part name="cass2" interface="sc3000_cass">
- <dataarea name="cass" size="7096050">
- <rom name="TheCaseOfTheMadMummy_Pt2.wav" size="7096050" crc="78373569" sha1="2b671bda5e4c2f59cd5e8e19038326229215f567" offset="0" />
- </dataarea>
- </part>
- <part name="cass3" interface="sc3000_cass">
- <dataarea name="cass" size="8716606">
- <rom name="TheCaseOfTheMadMummy_Pt3.wav" size="8716606" crc="46ea34d1" sha1="821b2a7825bf0e2a3586f3eb77ccfe1a6f5d4cda" offset="0" />
- </dataarea>
- </part>
- <part name="cass4" interface="sc3000_cass">
- <dataarea name="cass" size="8759294">
- <rom name="TheCaseOfTheMadMummy_Pt4.wav" size="8759294" crc="e02d43f2" sha1="fa82ea479117106547f5d633fb261aefb9389c59" offset="0" />
- </dataarea>
- </part>
- <part name="cass5" interface="sc3000_cass">
- <dataarea name="cass" size="7711302">
- <rom name="TheCaseOfTheMadMummy_Pt5.wav" size="7711302" crc="393fb342" sha1="475ea7799c735bbb967aac38deba5f435dae9e95" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="quikdraw">
- <description>Quick Draw</description>
- <year>198?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="usage" value="Requires BASIC Level 3 cartridge" />
- <part name="cass" interface="sc3000_cass">
- <dataarea name="cass" size="4331832">
- <rom name="QuickDraw.wav" size="4331832" crc="1e6b2539" sha1="01d74b28d4d156aa5c111bfb31e568c4f2bbfdb9" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="sconqst">
- <description>Solar Conquest</description>
- <year>1984</year>
- <publisher>John Sands</publisher>
- <info name="usage" value="Requires BASIC Level 3 cartridge" />
- <part name="cass" interface="sc3000_cass">
- <dataarea name="cass" size="14320112">
- <rom name="SolarConquest.wav" size="14320112" crc="7c3653f9" sha1="0c74aabf394f4d765df130a93625c1db72189d98" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="vpoker">
- <description>Video Poker</description>
- <year>1984</year>
- <publisher>Gold Record Software</publisher>
- <info name="author" value="Neil Kube" />
- <info name="usage" value="Requires BASIC Level 3 cartridge" />
- <part name="cass" interface="sc3000_cass">
- <dataarea name="cass" size="9770486">
- <rom name="VideoPoker.wav" size="9770486" crc="88a59002" sha1="bfaa050f28b855a856039effcc0498484070f370" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="voltron">
- <description>Voltron</description>
- <year>1987</year>
- <publisher>&lt;homebrew&gt;</publisher>
- <info name="author" value="Keith Zuch" />
- <info name="usage" value="Requires BASIC Level 3 cartridge" />
- <part name="cass" interface="sc3000_cass">
- <dataarea name="cass" size="4364214">
- <rom name="Voltron.wav" size="4364214" crc="39589e11" sha1="951c4166299dfc52518bbec67000aa504ff7563b" offset="0" />
- </dataarea>
- </part>
- </software>
-
<software name="vortexbl">
- <description>Vortex Blaster</description>
+ <description>Vortex Blaster 2</description>
<year>1984</year>
- <publisher>Poseidon Software</publisher>
+ <publisher>Trident Technological System</publisher>
<info name="usage" value="Requires BASIC Level 3 cartridge" />
<part name="cass" interface="sc3000_cass">
<dataarea name="cass" size="31128834">
diff --git a/hash/sega_beena_cart.xml b/hash/sega_beena_cart.xml
deleted file mode 100644
index 5eef1227bf7..00000000000
--- a/hash/sega_beena_cart.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
-<softwarelist name="sega_beena_cart" description="Sega Beena Cartridges">
- <!-- you must byteswap ROMs to see text, due to endian? -->
- <software name="frpc" supported="no">
- <description>Issho ni Henshin Fresh Pretty Cure</description>
- <year>2009</year>
- <publisher>Sega</publisher>
- <part name="cart" interface="sega_beena_cart">
- <dataarea name="rom" size="0x800000" width="32" endianness="big">
- <rom loadflag="load16_word_swap" name="beena.bin" size="0x800000" crc="afa3466c" sha1="b49914f97db95f611489487f558d13d7cceb3299" offset="0" />
- </dataarea>
- <dataarea name="pages" size="0x2000000"> <!-- book pages -->
- <rom name="0 - 0001.png" size="0x1ca26ec" crc="d8e18a54" sha1="887a96931bf622cb673f2550323ad3923eff337e" offset="0" />
- <rom name="0 - 0002.png" size="0x1e37a3d" crc="62ae3535" sha1="d8f6c19c466715df5a568ac7cac8dacb53f2e04a" offset="0" />
- <rom name="0 - 0003.png" size="0x1ce4f16" crc="fe6c72d9" sha1="2c4412eb518fbac2e8519c87e53270d960ecab53" offset="0" />
- <rom name="0 - 0004.png" size="0x19a864d" crc="edede3ea" sha1="81914894358c74064aa5f9e980ac37f7140f80c3" offset="0" />
- <rom name="0 - 0005.png" size="0x18998f4" crc="16837cc0" sha1="eb86b2943cf603a63cd5b94faa0d06ee8a3139d6" offset="0" />
- <rom name="0 - 0006.png" size="0x195b7e5" crc="3e307e6d" sha1="23ed9ab2a4122d7cb33d8d6174ca901b88647b4d" offset="0" />
- <rom name="0 - 0007.png" size="0x195df07" crc="efccbb5b" sha1="83de26d52cb6578d8323551a289223c8a305e37d" offset="0" />
- <rom name="0 - 0008.png" size="0x18a9dd8" crc="7455ebb2" sha1="34576eee067534535cda838a9e94794e2cfee585" offset="0" />
- <rom name="0 - 0009.png" size="0x17a5c57" crc="59ead843" sha1="29c4cd7929cfd68f41d65024ee5ca3cc62fa4a8b" offset="0" />
- <rom name="0 - 0010.png" size="0x186546b" crc="6d3d8c91" sha1="9909322c09277ddd306f10f9a04a897b0fe74961" offset="0" />
- <rom name="0 - 0011.png" size="0x179d3a8" crc="c3911254" sha1="2d2932e97a0b20a9b5e5fd78a3bbad0f1e146813" offset="0" />
- <rom name="0 - 0012.png" size="0x187a9df" crc="f1cdc95d" sha1="aa926c9360edcecdaa3a9ce1b5e17ee61048cee4" offset="0" />
- </dataarea>
- </part>
- </software>
-</softwarelist>
diff --git a/hash/sms.xml b/hash/sms.xml
index 246c8fd3c40..55624940218 100644
--- a/hash/sms.xml
+++ b/hash/sms.xml
@@ -7797,27 +7797,6 @@
</software>
<!-- Notes: optional SK-1100 keyboard support -->
- <!--
- The mode for 2 players requires 2 Mark III consoles, both with
- the SK-1100 keyboard, plus a cable to link the keyboards through
- their printer port. To emulate this setup, it is necessary to run
- two instances of MAME and make a point-to-point connection between
- them using the bitbanger (bitb) stream that is provided by the
- kblink device, that simulates the function of the cable link.
- Example for a localhost (127.0.0.1) connection:
-
- mame64 -window sg1000m3 -card f16falcjc -sgexp sk1100 -sgexp:sk1100:printer kblink -bitb socket.127.0.0.1:2345
- mame64 -window sg1000m3 -card f16falcjc -sgexp sk1100 -sgexp:sk1100:printer kblink -bitb socket.127.0.0.1:2345
-
- After run both instances, press the CR key on the keyboard when
- the title screen is displayed. Next, when asked which player
- (1 or 2), the user needs to press 1 on the keyboard of one
- instance, switch to the other instance and press 2 on the keyboard
- (due to key 1 is mapped by default to the PAUSE function of the
- console, it is recommended first remap PAUSE to avoid conflict).
- Next, when LEVEL 1 appears on the screen, press the SPACE key on
- each instance to start playing the game.
- -->
<software name="f16falcjc" cloneof="f16fight">
<description>F-16 Fighting Falcon (Jpn, MyCard)</description>
<year>1985</year>
diff --git a/hash/snes.xml b/hash/snes.xml
index 0fecdc760f8..5e72c499a72 100644
--- a/hash/snes.xml
+++ b/hash/snes.xml
@@ -2371,24 +2371,6 @@ Beyond that last category are the roms waiting to be classified.
</part>
</software>
- <software name="strikerp1" cloneof="striker">
- <!-- Niiue -->
- <description>Striker (Euro, NTSC Prototype)</description>
- <year>1993</year>
- <publisher>Argonaut Software</publisher>
- <part name="cart" interface="snes_cart">
- <feature name="pcb" value="SHVC-1P0N-01" />
- <feature name="u1" value="U1 EPROM" />
- <feature name="u2" value="U2 CIC" />
- <feature name="lockout" value="D411 C127 05B" />
- <feature name="cart_model" value="no shell" />
- <feature name="slot" value="lorom" />
- <dataarea name="rom" size="524288">
- <rom name="striker snes fd6b.u1" size="524288" crc="fce4da63" sha1="92ad4372b7e3fe648e21031f3be60cb156494802" offset="0x000000" />
- </dataarea>
- </part>
- </software>
-
<software name="stuntfxp" cloneof="stuntfx">
<!-- Retrology -->
<!-- Notes: identical software but significantly different hardware -->
diff --git a/hash/sorcerer_cass.xml b/hash/sorcerer_cass.xml
index ada31c9739c..38ef20a540e 100644
--- a/hash/sorcerer_cass.xml
+++ b/hash/sorcerer_cass.xml
@@ -242,7 +242,7 @@ Compiled by Robbbert
<software name="black">
<description>Blackjack</description>
<year>198?</year>
- <publisher>Dick Smith Electronics</publisher>
+ <publisher>Dick Smith</publisher>
<info name="serial" value="306ES" /><!-- Dick Smith X-3600 -->
<info name="developer" value="Ian Gilles"/>
<info name="usage" value="In Basic, CLOAD then RUN" />
@@ -257,7 +257,6 @@ Compiled by Robbbert
<year>1979</year>
<publisher>&lt;unknown&gt;</publisher>
<info name="serial" value="307ES" />
- <info name="developer" value="Ivan Reid and BTF Tan"/>
<info name="usage" value="In Basic, CLOAD then RUN" />
<part name="cass" interface="sorcerer_cass">
<dataarea name="cass" size="5107532">
@@ -1087,100 +1086,4 @@ Compiled by Robbbert
</dataarea>
</part>
</software>
- <!-- Added 2019-02-22 -->
- <software name="adv2">
- <description>Pirate Adventure</description>
- <year>1979</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="developer" value="Scott Adams"/>
- <info name="usage" value="Boot to Monitor, LOG" />
- <part name="cass" interface="sorcerer_cass">
- <dataarea name="cass" size="13658750">
- <rom name="adv2.wav" size="13658750" crc="fe930666" sha1="7e23e33ec0e33f8447bf7bed7c077b8d91b495f3" offset="0" />
- </dataarea>
- </part>
- </software>
- <software name="adv6">
- <description>Strange Odyssey</description>
- <year>1979</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="developer" value="Scott Adams"/>
- <info name="usage" value="Boot to Monitor, LOG" />
- <part name="cass" interface="sorcerer_cass">
- <dataarea name="cass" size="13450400">
- <rom name="adv6.wav" size="13450400" crc="397bbec2" sha1="91ffae2dd6c1470e5a7b400a5134149a403ad017" offset="0" />
- </dataarea>
- </part>
- </software>
- <software name="adv9">
- <description>Ghost Town</description>
- <year>1979</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="developer" value="Scott Adams"/>
- <info name="usage" value="Boot to Monitor, LOG" />
- <part name="cass" interface="sorcerer_cass">
- <dataarea name="cass" size="13450400">
- <rom name="adv9.wav" size="13450400" crc="02c336c3" sha1="0e1bebddf95ac0f3dd1f0d753cf5ab1c4708f564" offset="0" />
- </dataarea>
- </part>
- </software>
- <software name="arrow2">
- <description>Arrows and Alleys (16k version)</description>
- <year>1980</year>
- <publisher>Quality Software</publisher>
- <info name="developer" value="Vic Tolomei"/>
- <info name="usage" value="Boot to Monitor, LOG" />
- <part name="cass" interface="sorcerer_cass">
- <dataarea name="cass" size="5517892">
- <rom name="arrow2.wav" size="5517892" crc="ca545956" sha1="bdab1b5c1fb76cd112d1e1a6a80f5cd0e88107c4" offset="0" />
- </dataarea>
- </part>
- </software>
- <software name="disas2">
- <description>Z80 Disassembler</description>
- <year>1979</year>
- <publisher>Quality Software</publisher>
- <info name="developer" value="Vic Tolomei"/>
- <info name="usage" value="In Basic, CLOAD then RUN" />
- <part name="cass" interface="sorcerer_cass">
- <dataarea name="cass" size="5488822">
- <rom name="disas2.wav" size="5488822" crc="0620702b" sha1="2df63dfecf9a7b38ef2733f6d306341abc26c844" offset="0" />
- </dataarea>
- </part>
- </software>
- <software name="magicmaze">
- <description>Magic Maze</description>
- <year>1979</year>
- <publisher>Quality Software</publisher>
- <info name="developer" value="Vic Tolomei"/>
- <info name="usage" value="In Basic, CLOAD then CLOAD then RUN" />
- <part name="cass" interface="sorcerer_cass">
- <dataarea name="cass" size="5790486">
- <rom name="magicmaze.wav" size="5790486" crc="57d2b47b" sha1="5f28007e0baac142b66ff5eb8b3d7625ebef8a4c" offset="0" />
- </dataarea>
- </part>
- </software>
- <software name="munch">
- <description>Munch</description>
- <year>1982</year>
- <publisher>System Software</publisher>
- <info name="developer" value="Matthew B. Hickey"/>
- <info name="usage" value="Boot to Monitor, LOG" />
- <part name="cass" interface="sorcerer_cass">
- <dataarea name="cass" size="7181402">
- <rom name="munch.wav" size="7181402" crc="512e0b0a" sha1="693fdbf38463b6b06dafbb407d5ae8470e15e532" offset="0" />
- </dataarea>
- </part>
- </software>
- <software name="wilde">
- <description>Wilderness</description>
- <year>198?</year>
- <publisher>Dick Smith Electronics</publisher>
- <info name="usage" value="In Basic, CLOAD then RUN" />
- <part name="cass" interface="sorcerer_cass">
- <dataarea name="cass" size="16216806">
- <rom name="wilde.wav" size="16216806" crc="0909b034" sha1="f7561886212f1ec69f285f64a86e8999b33dc105" offset="0" />
- </dataarea>
- </part>
- </software>
</softwarelist>
diff --git a/hash/specpls3_flop.xml b/hash/specpls3_flop.xml
index 329aa767788..4023afb5b6e 100644
--- a/hash/specpls3_flop.xml
+++ b/hash/specpls3_flop.xml
@@ -430,7 +430,7 @@
<!-- SPS (CAPS) release 3510 -->
<description>Four Smash Hits From Hewson</description>
<year>198?</year>
- <publisher>Hewson Consultants</publisher>
+ <publisher>Hewson</publisher>
<part name="flop1" interface="floppy_3">
<dataarea name="flop" size="238800">
@@ -1667,18412 +1667,16 @@
</part>
</software>
-<!--
- Below is a selection of (most of) the DSK files featured in the TOSEC DAT files which, according to Lady Eklipse, include all files that were in TOSEC and all files from www.worldofspectrum.org which were never in TOSEC before. Which file and update they come from is commented for each entry, so that they can be consulted.
-
- Files removed:
- - Files marked as "bad dumps" which already have a good parent set.
- - Trained games, except for a "cheat version" of Neighbours which may have come from the original developers.
- - 80-track (3.5'') disk images.
- - Files generated with the ZXZVM interpreter.
- - Games from the Crap Games Competition.
-
- All the DSK files which have a corresponding IPF have been labeled as "alt" clones until they're confirmed to come from the exact same release and can be safely removed (there's an added disclaimer about it in each of these entries, to make them easy to locate).
- Other alt versions not in World of Spectrum have been kept for the same reason, since the exact source of each file doesn't seem to be properly documented anywhere, which means they'd need some research before a safe removal.
-
- Notes about the known DSK dumps:
- Some dumps may come with an empty Side B, which is technically correct for games which were released with an empty side on purpose. These were usually labeled as "Sin grabar para tu uso" ("Unrecorded for your use") in many Spanish releases.
- Some of the "master disks" from Zeppelin Games share the same file (same SHA-1) for their Side B. This has been verified against the downloads available in World of Spectrum.
- A few releases had a version for a different system on the other side. These haven't been removed, as it was possible for the user to insert those sides and do anything they wanted with them.
-
--->
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="plus3uti">
- <description>+3 Utilities</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="+3 utilities (19xx)(-)(side a).dsk" size="226048" crc="cb9b1cf8" sha1="3f6887c23f6096e15c04c8705a9dc7e0a011136f" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="+3 utilities (19xx)(-)(side b).dsk" size="226048" crc="dac28f08" sha1="bcf0365cc1a094e70bc8c4cfecdef66f64299ff6" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="007trans">
- <description>007 Trans-Master</description>
- <year>1988</year>
- <publisher>ZX-Guaranteed</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="251711">
- <rom name="007 trans-master (1988)(zx-guaranteed)(side a)[samdisk].dsk" size="251711" crc="4e2d8460" sha1="408eb22ee2f973920d2265f1adabf9342203a923" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="195635">
- <rom name="007 trans-master (1988)(zx-guaranteed)(side b)[samdisk].dsk" size="195635" crc="1a105700" sha1="1d8242ba18cd0c2596d4172d073aeb8984efb807" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="3dconkit">
- <description>3D Construction Kit</description>
- <year>1991</year>
- <publisher>Domark</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="3d construction kit (1991)(domark)(side a).dsk" size="194816" crc="3487ed0f" sha1="f690e55eb863eda62e66f3d4e1bc2486d08b3db7" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="3d construction kit (1991)(domark)(side b).dsk" size="194816" crc="76ace043" sha1="b5aecf13e6cdbf9b3b75ae75427f3d6baa56b9ef" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="3dgamemk">
- <description>3D Game Maker</description>
- <year>1987</year>
- <publisher>CRL Group</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="3d game maker (1987)(crl group).dsk" size="194816" crc="d398b5bd" sha1="2896af452d00e389315407ca66c628fcb8b15307" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="3dgamemksp" cloneof="3dgamemk">
- <description>3D Game Maker (Spa)</description>
- <year>1987</year>
- <publisher>Dro Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="3d game maker (1987)(dro soft)(es)(en)[re-release].dsk" size="194816" crc="1b06a5bc" sha1="6324e5c0e5f41f37d076d631a3be43e1a70ba472" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="3dgamemkspa" cloneof="3dgamemk">
- <description>3D Game Maker (Spa) (alt)</description>
- <year>1987</year>
- <publisher>Zafiro Software Division</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="3d game maker (1987)(zafiro software division)(es)(en)[re-release].dsk" size="194816" crc="df6b4a8e" sha1="a87af7093fe5a43c63e4af2e4486bfdae47fc4c2" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="3dgamemka" cloneof="3dgamemk">
- <description>3D Game Maker (alt)</description>
- <year>1987</year>
- <publisher>CRL Group</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="3d game maker (1987)(crl group)[a].dsk" size="194816" crc="f61327af" sha1="2e220165c97eb8b3511d9103b051dd2e5eba7792" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="3dgamemkb" cloneof="3dgamemk">
- <description>3D Game Maker (alt 2)</description>
- <year>1987</year>
- <publisher>CRL Group</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="3d game maker (1987)(crl group)[a2].dsk" size="194816" crc="0c34a517" sha1="268bdbf5004cd2d475147a3c4523cc264c8da844" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="alkdevbe">
- <description>Alkatraz Development Disks - Bedturn Project Backup</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="alkatraz development disks - bedturn project backup (19xx)(-)(side a).dsk" size="194816" crc="20c60438" sha1="d3c5a0b7245a76c59813cc60bc1fa418a722fbfc" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="alkatraz development disks - bedturn project backup (19xx)(-)(side b).dsk" size="194816" crc="ea9f0113" sha1="7642f9f5418515358821a1d3da74713a475d449c" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="alkdevde">
- <description>Alkatraz Development Disks - Designer + Assembler Backup</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="alkatraz development disks - designer + assembler backup (19xx)(-)(side a).dsk" size="194816" crc="7ea28851" sha1="f28aeab46476c78a323b821a125a00988826eaf1" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="alkatraz development disks - designer + assembler backup (19xx)(-)(side b).dsk" size="194816" crc="af054290" sha1="0fc31beb8073b3b3a2f51a8e4591024d736bf011" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="alkdevdi">
- <description>Alkatraz Development Disks - Disk Protection Source Code</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="alkatraz development disks - disk protection source code (19xx)(-)(side a).dsk" size="194816" crc="ed298d37" sha1="f3a0de55390b92101af0696c3aae318d6c169e3b" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="alkatraz development disks - disk protection source code (19xx)(-)(side b).dsk" size="194816" crc="7b999303" sha1="3c682b6b0e3093c8e52142a53620f6ebd126144c" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="alkdevlo">
- <description>Alkatraz Development Disks - Locoscript Start of Day 25-10-88</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="195328">
- <rom name="alkatraz development disks - locoscript start of day 25-10-88 (19xx)(-)(side a).dsk" size="195328" crc="8467b466" sha1="28de851c4321d8bcfcd933681da80464c91495da" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="256">
- <rom name="alkatraz development disks - locoscript start of day 25-10-88 (19xx)(-)(side b).dsk" size="256" crc="3241c590" sha1="e1c83cdc6ace15ad9986ed23118b4de3152edd48" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="alkdevma">
- <description>Alkatraz Development Disks - Main Enc + BASIC Run Sample Backup</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="alkatraz development disks - main enc + basic run sample backup (19xx)(-)(side a).dsk" size="194816" crc="d799893c" sha1="41a073df4816cf8136800b800df7fdda798d063a" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="alkatraz development disks - main enc + basic run sample backup (19xx)(-)(side b).dsk" size="194816" crc="a957d8af" sha1="fa30634dc41c54bfa38cc79ccefd1f78dc7307ce" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="alkdevme">
- <description>Alkatraz Development Disks - Main Encryptor + Screen Load Designer</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="alkatraz development disks - main encryptor + screen load designer (19xx)(-)(side a).dsk" size="194816" crc="85b9c090" sha1="a06ce891b7ffde8d5aed9305efcbe78c6d830077" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="alkatraz development disks - main encryptor + screen load designer (19xx)(-)(side b).dsk" size="194816" crc="f0942b49" sha1="aced8a4ee1bcb14af0ea2d00627c992c0aed8051" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="alkdevmp">
- <description>Alkatraz Development Disks - Mastering Program</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="alkatraz development disks - mastering program (19xx)(-)(side a).dsk" size="194816" crc="2c4b33ac" sha1="669e43e1f108e3a5bb0765fd8c26317334b7a6c8" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="195328">
- <rom name="alkatraz development disks - mastering program (19xx)(-)(side b).dsk" size="195328" crc="8267f81d" sha1="ba6c302eb793a0b606b573a8f9ea687050acacb5" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="alkdevnw">
- <description>Alkatraz Development Disks - New Word</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="alkatraz development disks - new word (19xx)(-)(side a).dsk" size="194816" crc="4bfc1cc7" sha1="0f60502c5ac790a54f8fe7bc0a25f0d18359f44c" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="alkatraz development disks - new word (19xx)(-)(side b).dsk" size="194816" crc="fb3a3bb3" sha1="f24a1d06c7ec8608edfe4b38b7b5e3529220c1fe" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="alkdevrp">
- <description>Alkatraz Development Disks - Run Program + BASIC Constructor</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="alkatraz development disks - run program + basic constructor (19xx)(-)(side a).dsk" size="194816" crc="bfaad1c4" sha1="b9c1c83044708178ec27a31045bc1ad4498862d9" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="alkatraz development disks - run program + basic constructor (19xx)(-)(side b).dsk" size="194816" crc="50bd1755" sha1="976406e782419329e7fe4165494a387022f12077" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="alkdevsl">
- <description>Alkatraz Development Disks - Sample Loader + Master Installer Backup</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="alkatraz development disks - sample loader + master installer backup (19xx)(-)(side a).dsk" size="194816" crc="dde17998" sha1="d902feaf17b492f1d8078895989e46cb7db271f1" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="alkatraz development disks - sample loader + master installer backup (19xx)(-)(side b).dsk" size="194816" crc="6d6226d1" sha1="b0dc9c87a3268f75fcc787348b158060720ecd70" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="alkdevsi">
- <description>Alkatraz Development Disks - Simple Loader + Encryptor Constructor</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="alkatraz development disks - simple loader + encryptor constructor (19xx)(-)(side a).dsk" size="194816" crc="ea7c4658" sha1="c7a595b2b4f41242974af5e04dbebe6cf8101408" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="alkatraz development disks - simple loader + encryptor constructor (19xx)(-)(side b).dsk" size="194816" crc="1c8977a5" sha1="11cdce40bd608ef138e68ebb0f3c0b3e04b82b67" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="alkdevta">
- <description>Alkatraz Development Disks - Tape System Text Backup</description>
- <year>19??</year>
- <publisher>&lt;unknown&gt;</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="alkatraz development disks - tape system text backup (19xx)(-)(side a).dsk" size="194816" crc="0bab95ac" sha1="a74dba9e624394543585d115622bdb878a9882b8" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="195840">
- <rom name="alkatraz development disks - tape system text backup (19xx)(-)(side b).dsk" size="195840" crc="bd77584a" sha1="8e50a3c6187b84a1c96b8009e7e14eac821ac613" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="artist2">
- <description>The Artist II</description>
- <year>1986</year>
- <publisher>Softechnics</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="artist ii, the (1986)(softechnics).dsk" size="194816" crc="a752bb2a" sha1="e8ffd0e4e8ae696065bf5c3db2a9337cf2c387ea" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="artist2a" cloneof="artist2">
- <description>The Artist II (alt)</description>
- <year>1986</year>
- <publisher>Softechnics</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="artist ii, the (1986)(softechnics)[a].dsk" size="194816" crc="82e620b7" sha1="bf9adceb3fd8e524edca6ca24c6b87bf39574c54" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="cadmaste">
- <description>CAD-Master - Light Pen &amp; Graphics Software</description>
- <year>1985</year>
- <publisher>Trojan Products</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="cad-master - light pen &amp; graphics software (1985)(trojan products).dsk" size="194816" crc="69b132c2" sha1="d0d336a4e1371ec08847e136874b48c49a8fe4a2" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="cpmplus1">
- <description>CP-M Plus v1.0</description>
- <year>1988</year>
- <publisher>Locomotive</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="cp-m plus v1.0 (1988)(locomotive)(side a).dsk" size="194816" crc="c10ae485" sha1="48cf8d80d5a56786175e18acf2cca819ffb43cde" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="cp-m plus v1.0 (1988)(locomotive)(side b).dsk" size="194816" crc="ddd0943f" sha1="9e34e27167d8f9544d73104390de59bc91cf029d" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="complmcp">
- <description>Complete Machine Code Package</description>
- <year>1987</year>
- <publisher>Roybot</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="complete machine code package (1987)(roybot).dsk" size="194816" crc="07ebb241" sha1="bce17b0972ea3196028f10820cfb7b224fb4ae16" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="coursem3">
- <description>Coursemaster v3.88</description>
- <year>1988</year>
- <publisher>Intraset</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="coursemaster v3.88 (1988)(intraset)(side a).dsk" size="194816" crc="9be595c6" sha1="d60b4f383514939ec24746de639250d3147ceffb" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="coursemaster v3.88 (1988)(intraset)(side b).dsk" size="194816" crc="2a3229bb" sha1="31929b0b6c138da716918c0dc93849e855164101" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="coursem3a" cloneof="coursem3">
- <description>Coursemaster v3.88 (alt)</description>
- <year>1988</year>
- <publisher>Intraset</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="coursemaster v3.88 (1988)(intraset)(side a)[a].dsk" size="194816" crc="a57c526a" sha1="e53c4981d82add2be2c9516e05e7177904747484" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <!-- Side missing from dump, using same as parent set -->
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="coursemaster v3.88 (1988)(intraset)(side b).dsk" size="194816" crc="2a3229bb" sha1="31929b0b6c138da716918c0dc93849e855164101" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="db1plus3">
- <description>DB1 Plus 3 Disc Backup Utility</description>
- <year>1988</year>
- <publisher>Kobrahsoft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194048">
- <rom name="db1 plus 3 disc backup utility (1988)(kobrahsoft).dsk" size="194048" crc="b5034824" sha1="31330c2433400360cba392657a53ac109f5e1ae3" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="dicev21">
- <description>DICE v2.1</description>
- <year>1988</year>
- <publisher>Kobrahsoft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="19712">
- <rom name="dice v2.1 (1988)(kobrahsoft)[aka disc information copier editor].dsk" size="19712" crc="4904a08a" sha1="4060b24dd339c92f0ee71fc33c6b0b0ccee7846c" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="du54v504">
- <description>DU54 v5.04</description>
- <year>1998</year>
- <publisher>John Elliott</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="du54 v5.04 (1998)(elliott, john)[aka disc util].dsk" size="194816" crc="c9148461" sha1="f12f007a80984a56d1e5704c21a443dd98c4d2f1" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="du54v504a" cloneof="du54v504">
- <description>DU54 v5.04 (alt)</description>
- <year>1998</year>
- <publisher>John Elliott</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="du54 v5.04 (1998)(elliott, john)[a][aka disc util].dsk" size="194816" crc="f54c98c5" sha1="92c704ccb2dd34f19910c174534860dd283e9d21" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="discolog">
- <description>Discology +3</description>
- <year>1988</year>
- <publisher>New Frontier</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="183296">
- <rom name="discology +3 (1988)(new frontier)(es).dsk" size="183296" crc="ff15f5b0" sha1="cd33b3b6c9495d3c01f837c58b41d707c3ff9337" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="discopac">
- <description>Discopack +3</description>
- <year>1989</year>
- <publisher>New Frontier</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="204288">
- <rom name="discopack +3 (1989)(new frontier)(es).dsk" size="204288" crc="f3b87c1a" sha1="6dfb92f4e5b45c5e33d0c7f64fa6814f121fc8f7" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="diskdoct">
- <description>Disk Doctor</description>
- <year>1990</year>
- <publisher>Supersoft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="disk doctor (1990)(supersoft).dsk" size="194816" crc="b773bcbd" sha1="8eb18a2bc5a94632bea142a9fe42941e3605c976" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="eddduced">
- <description>Edd the Duck Editor (master disk)</description>
- <year>1990</year>
- <publisher>Zeppelin Games</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="edd the duck editor (1990)(zeppelin games)(side a)[master disk].dsk" size="194816" crc="80f3d962" sha1="f411b24c9798678eeff7adb99e8f1f23700dd34b" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="edd the duck editor (1990)(zeppelin games)(side b)[master disk].dsk" size="194816" crc="d589b8cd" sha1="8fa913c63e1a4e94e92a00c4e86398258acbbedb" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="flexipag">
- <description>Flexipage Viewdata Author</description>
- <year>1986</year>
- <publisher>Flexibase</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="flexipage viewdata author (1986)(flexibase)(side a)[aka flexibase 8][aka flexipage 200][aka flexipage author].dsk" size="194816" crc="e89dc560" sha1="748d0dece2f53f00bd96423138e727b8124b8334" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="flexipage viewdata author (1986)(flexibase)(side b)[aka flexibase 8][aka flexipage 200][aka flexipage author].dsk" size="194816" crc="6b6f2e9a" sha1="7f18802231a7f00dca38f12b6a9715ccb5186a7a" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="footboxf">
- <description>Football Boxform</description>
- <year>1988</year>
- <publisher>Boxoft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="football boxform (1988)(boxoft).dsk" size="194816" crc="72d70f4d" sha1="1fd4833e1e779f43b722ee1bd82102f782a7e036" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="g3ptog80">
- <description>GENS3P to GENS80 Source Files Converter</description>
- <year>1995</year>
- <publisher>Useless Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="gens3p to gens80 source files converter (1995)(useless soft).dsk" size="194816" crc="80291a4a" sha1="0803019d8631552f11f11b5819460eeb2ec28743" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="hisobc12">
- <description>HiSoft BASIC Compiler v1.2 +3</description>
- <year>1986</year>
- <publisher>HiSoft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="hisoft basic compiler v1.2 +3 (1986)(hisoft).dsk" size="194816" crc="1043af7f" sha1="54c2de392c5a21e2a8f9e93e658c8d9ae0491f56" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="hisoc13">
- <description>HiSoft C v1.3 +3</description>
- <year>1984</year>
- <publisher>HiSoft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="hisoft c v1.3 +3 (1984)(hisoft).dsk" size="194816" crc="a9809dc7" sha1="497986e05feebcfa73082d74f48b8c8fde4efac1" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="hisoftdp">
- <description>HiSoft Devpac</description>
- <year>1983</year>
- <publisher>HiSoft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="hisoft devpac (1983)(hisoft).dsk" size="194816" crc="fa4173ea" sha1="f5e05ef551888e21de3de4c6d2de4538d05bfdd9" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="hisoftdpa">
- <description>HiSoft Devpac (alt)</description>
- <year>1983</year>
- <publisher>HiSoft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="hisoft devpac (1983)(hisoft)[a].dsk" size="194816" crc="5a9afe8c" sha1="a00ad4d624bcfcd8b1dc35ff64413c6b52abf34c" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="hispasc4">
- <description>HiSoft Pascal 4</description>
- <year>1983</year>
- <publisher>HiSoft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="hisoft pascal 4 (1983)(hisoft).dsk" size="194816" crc="77fb585e" sha1="5830aee8baff81c2744616a6ff3820ea3f515968" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="instreca">
- <description>Instant Recall</description>
- <year>1988</year>
- <publisher>Supersoft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="instant recall (1988)(supersoft).dsk" size="194816" crc="32094d6a" sha1="a5d7e6bd6810dc2a6e2fd6c4eea0afab0989b62c" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="lastword">
- <description>The Last Word</description>
- <year>1985</year>
- <publisher>Myrmidon</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="last word, the (1985)(myrmidon).dsk" size="194816" crc="c4283b67" sha1="0a709233bde2f19790a4c7b9540714941df0b2b9" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="lifeguar">
- <description>Lifeguard</description>
- <year>1987</year>
- <publisher>Romantic Robot UK</publisher>
- <info name="usage" value="Requires Multiface" />
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="193792">
- <rom name="lifeguard (1987)(romantic robot uk)[aka unlimited lives finder][needs multiface].dsk" size="193792" crc="b749526e" sha1="2eeff796a6b545366daf3226325404ec0d2d3b7d" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="masterfi">
- <description>Masterfile +3</description>
- <year>1987</year>
- <publisher>Campbell Systems</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="masterfile +3 (1987)(campbell systems)[aka masterfile plus 3][aka masterfile plus three].dsk" size="194816" crc="0c19b526" sha1="012ffcaa92fb8edb2b7a6df816d6317dfa041165" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="musicmae">
- <description>Music Maestro</description>
- <year>1989</year>
- <publisher>Torchraven</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="music maestro (1989)(torchraven)(side a).dsk" size="194816" crc="d01bdbbc" sha1="b0bbddc2d83890cde7ce63b507e46b3465e52574" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="music maestro (1989)(torchraven)(side b).dsk" size="194816" crc="f7dd2726" sha1="55ab5a3c12e6fd5afed49fb5365af3a8ec494b76" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="ocpartst">
- <description>The OCP Art Studio</description>
- <year>1985</year>
- <publisher>Rainbird Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="ocp art studio, the (1985)(rainbird)[m useless soft].dsk" size="194816" crc="696c593c" sha1="1b1a0307bd265a55d7f4a701acedbbc4cb34a724" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="ocpartsta" cloneof="ocpartst">
- <description>The OCP Art Studio (alt)</description>
- <year>1985</year>
- <publisher>Rainbird Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="ocp art studio, the (1985)(rainbird)[m useless soft][a].dsk" size="194816" crc="fcc3298f" sha1="1eed3410b0810b3854a07acd1eb0c371571c501d" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="ocpartstb" cloneof="ocpartst">
- <description>The OCP Art Studio (alt 2)</description>
- <year>1985</year>
- <publisher>Rainbird Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="ocp art studio, the (1985)(rainbird)[m useless soft][a2].dsk" size="194816" crc="a9652e70" sha1="4f329c43beaae11bca917fb6928916f4f805baa0" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="plus3dia">
- <description>Plus 3 Diary &amp; Filing System</description>
- <year>1989</year>
- <publisher>Kobrahsoft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="plus 3 diary &amp; filing system (1989)(kobrahsoft)[aka plus 3 diary &amp; database].dsk" size="194816" crc="4ee5ffec" sha1="d8d687a5e7ededbda35804509373282de9e44f48" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="pawsp" cloneof="paw">
- <description>Professional Adventure Writer (Spa)</description>
- <year>1986</year>
- <publisher>Aventuras AD</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="professional adventure writer (1986)(aventuras ad)(es)[re-release].dsk" size="194816" crc="9faccc2f" sha1="30452eb8b15082f9eb3c37538276d2238dfdc8fd" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="paw">
- <description>Professional Adventure Writer</description>
- <year>1986</year>
- <publisher>Gilsoft International</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="professional adventure writer (1986)(gilsoft international)(side a)[aka paw][aka professional adventure writing system, the].dsk" size="194816" crc="fcf1e861" sha1="017a2ac8487ac8999141f6008b9e31b12c9c5197" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="professional adventure writer (1986)(gilsoft international)(side b)[aka paw][aka professional adventure writing system, the].dsk" size="194816" crc="41b52f47" sha1="1502b0027a4a3937744af410d6d773ac7c826c36" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="revelado">
- <description>Revelados</description>
- <year>2006</year>
- <publisher>Compiler</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="revelados (2006)(compiler)(es).dsk" size="194816" crc="94e98ecc" sha1="b9d28a05266642e83470d257b36853a29588b44b" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="seba080a">
- <description>SE Basic v0.80a</description>
- <year>2002</year>
- <publisher>Amstrad</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="se basic v0.80a (2002)(amstrad).dsk" size="194816" crc="44ef415d" sha1="a3539d713e07126c01c68ea983493a13fd137beb" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="sp4ttop3">
- <description>SP4 Tape to +3 Disc Utility</description>
- <year>1988</year>
- <publisher>Kobrahsoft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194048">
- <rom name="sp4 tape to +3 disc utility (1988)(kobrahsoft).dsk" size="194048" crc="6fd72ba4" sha1="8ca4224826f019c2685472e84995b085e6d2f9f2" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="sp5ttop3">
- <description>SP5 Tape to +3 Disc Utility</description>
- <year>1989</year>
- <publisher>Kobrahsoft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194048">
- <rom name="sp5 tape to +3 disc utility (1989)(kobrahsoft).dsk" size="194048" crc="095c8d89" sha1="44af233b40abd8f6dfcddb92c3c9c8bf714ad2a5" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="sp6ttop3">
- <description>SP6 Tape to +3 Disc Utility</description>
- <year>1990</year>
- <publisher>Kobrahsoft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194048">
- <rom name="sp6 tape to +3 disc utility (1990)(kobrahsoft).dsk" size="194048" crc="48897832" sha1="dd4dda5bd1cbef8f84d7bc89b233aa1f798d41de" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="sp7ttop3">
- <description>SP7 Tape to +3 Disc Utility</description>
- <year>1991</year>
- <publisher>Kobrahsoft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194048">
- <rom name="sp7 tape to +3 disc utility (1991)(kobrahsoft).dsk" size="194048" crc="de79afe4" sha1="d84d10e9449944416c5f3ffdee72c47935a53fad" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="sqtracke">
- <description>SQ-Tracker +3</description>
- <year>1998</year>
- <publisher>T.D.M.</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="sq-tracker +3 (1998)(t.d.m.).dsk" size="194816" crc="2f06ec84" sha1="00ad89d4ad50119e3aa685579fbe12fe8d7d7191" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="tapedisc">
- <description>Tapedisc</description>
- <year>1988</year>
- <publisher>MicroHobby</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="tapedisc (1988)(microhobby)(es).dsk" size="194816" crc="01d1a285" sha1="084c862aa10ac956c52b1b5bd63f19cc85f285cd" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="tarotmas">
- <description>Tarot Master</description>
- <year>1991</year>
- <publisher>Lawrence O'Shaughnessy</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="226048">
- <rom name="tarot master (1991)(o'shaughnessy, lawrence).dsk" size="226048" crc="d3633ac6" sha1="aecacbb1acf01f296950559db90784e3fb20d2d3" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="tassign">
- <description>Tas-Sign</description>
- <year>1988</year>
- <publisher>Tasman</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="tas-sign (1988)(tasman).dsk" size="194816" crc="999b7f6f" sha1="75ab549b6de054a2819621551790d0e094f71445" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="tasspell">
- <description>Tas-Spell Plus Three</description>
- <year>1988</year>
- <publisher>Tasman</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="tas-spell plus three (1988)(tasman)(side a)[aka tas-spell +3].dsk" size="194816" crc="aa03a493" sha1="0baf43422e6571a2a77de4e18fec4db0dbeb418d" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="tas-spell plus three (1988)(tasman)(side b)[aka tas-spell +3].dsk" size="194816" crc="497f22c7" sha1="1b0ba5ad7b6b55a5b7b6524b8758bf256feb2f3b" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="tascalc">
- <description>Tascalc</description>
- <year>1988</year>
- <publisher>Tasman</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="tascalc (1988)(tasman).dsk" size="194816" crc="537f5ef7" sha1="43d2c47e6ff706e5f5ea6f687913c98bc35622f4" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="tasprip3">
- <description>Tasprint Plus Three</description>
- <year>1987</year>
- <publisher>Tasman</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="tasprint plus three (1987)(tasman)[aka tasprint +3].dsk" size="194816" crc="26d05a14" sha1="d3ca6acc08e211d6b951b7f9fae487754e7771cd" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="tasprip3a" cloneof="tasprip3">
- <description>Tasprint Plus Three (alt)</description>
- <year>1987</year>
- <publisher>Tasman</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="tasprint plus three (1987)(tasman)[a][aka tasprint +3].dsk" size="194816" crc="eba33d38" sha1="ea9a8615f0ae5a9f33b3df6b1f32d4912fb42cb7" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="taswide">
- <description>Taswide</description>
- <year>1984</year>
- <publisher>Tasman</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="taswide (1984)(tasman).dsk" size="194816" crc="e020669f" sha1="2b69019b159972e5ca363899b2dfc66be769fd1f" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="tw2totwp3">
- <description>Tasword 2 to Tasword +3 Text File Converter</description>
- <year>2000</year>
- <publisher>Useless Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="tasword 2 to tasword +3 text file converter (2000)(useless soft).dsk" size="194816" crc="94019809" sha1="ab9af0c49d8df6b592b6de4d36f8dc72e5ad2056" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="tasworp3">
- <description>Tasword Plus Three</description>
- <year>1987</year>
- <publisher>Tasman</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="tasword plus three (1987)(tasman)(side a)[aka tasword +3].dsk" size="194816" crc="b3a93e81" sha1="e4279f748ec1d23006bd3f8576a6e64972199e64" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="tasword plus three (1987)(tasman)(side b)[aka tasword +3].dsk" size="194816" crc="3891b8ef" sha1="853be0255357a5f114cafb019bb783eabb310d2a" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="tasworp3sp" cloneof="tasworp3">
- <description>Tasword Plus Three (Spa)</description>
- <year>1987</year>
- <publisher>Tasman</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="tasword plus three (1987)(tasman)(es)(side a)[re-release].dsk" size="194816" crc="cf015fc8" sha1="7996be09b72d6c1098674af6b5a13e77c4af0b1d" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="tasword plus three (1987)(tasman)(es)(side b)[re-release].dsk" size="194816" crc="c1ba089e" sha1="319d61fef7b7450c5f5e5cc2410ddc1b5bedbf5f" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="tasword2">
- <description>Tasword Two - The Word Processor</description>
- <year>1983</year>
- <publisher>Tasman</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="tasword two - the word processor (1983)(tasman)[aka tasword 3].dsk" size="194816" crc="0ce8a996" sha1="af4443b2d95eed8d46a75a0822cd9e5affbe6cb7" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="transfp3">
- <description>Transfer +3</description>
- <year>1988</year>
- <publisher>Topo Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="180224">
- <rom name="transfer +3 (1988)(topo soft)(es)(side a).dsk" size="180224" crc="ce9356db" sha1="3c20847d71a2ff8227ba0205b5fecad8bb3597d0" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="transfer +3 (1988)(topo soft)(es)(side b).dsk" size="194816" crc="175013d2" sha1="0b2bb936b33d568d37c2881f6a18d48f03529c06" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="transfp3ba" cloneof="transfp3">
- <description>Transfer +3 (alt)</description>
- <year>1988</year>
- <publisher>Topo Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <!-- Side missing from dump, using same as parent set -->
- <dataarea name="flop" size="180224">
- <rom name="transfer +3 (1988)(topo soft)(es)(side a).dsk" size="180224" crc="ce9356db" sha1="3c20847d71a2ff8227ba0205b5fecad8bb3597d0" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="180224">
- <rom name="transfer +3 (1988)(topo soft)(es)(side b)[a].dsk" size="180224" crc="475be7a1" sha1="f4f38459f6154d2cad84264409a6a353a0393882" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="udggener">
- <description>UDG Generator</description>
- <year>1985</year>
- <publisher>Tom Collier</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="udg generator (1985)(collier, tom).dsk" size="194816" crc="8798715f" sha1="67b2fd4259be79b327ac65d5040976e165550290" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="ukmlotto">
- <description>UK Main Lotto Random Number Generator</description>
- <year>2012</year>
- <publisher>&lt;homebrew&gt;</publisher>
- <info name="author" value="Tom Collier"/>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="uk main lotto random number generator (2012)(collier, tom).dsk" size="194816" crc="9a26bb13" sha1="7b28f6a06f564956aeb1ce99296b82035c0ec0c7" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="videomas">
- <description>Videomaster</description>
- <year>1991</year>
- <publisher>Chris Brown</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="90279">
- <rom name="videomaster (1991)(brown, chris)(side a).dsk" size="90279" crc="98b32241" sha1="0199c4f2ac1664c7fa284ee44bf44dbdac41d285" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="195635">
- <rom name="videomaster (1991)(brown, chris)(side b).dsk" size="195635" crc="6027c9cd" sha1="0d8e456fe26fc9d30b3305504492539c425d7725" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="videomasa" cloneof="videomas">
- <description>Videomaster (alt)</description>
- <year>1991</year>
- <publisher>Chris Brown</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="195635">
- <rom name="videomaster (1991)(brown, chris)(side a)[a].dsk" size="195635" crc="f5307a26" sha1="a77be31228bc017f47cb1985a1f881b47d33fcf6" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="195635">
- <rom name="videomaster (1991)(brown, chris)(side b)[a].dsk" size="195635" crc="7ad77abd" sha1="947dbed2e857c3d81bbac0c49199391575c59102" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="videomasb" cloneof="videomas">
- <description>Videomaster (alt 2)</description>
- <year>1991</year>
- <publisher>Chris Brown</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="195635">
- <rom name="videomaster (1991)(brown, chris)(side a)[a2].dsk" size="195635" crc="9be26c4c" sha1="4eacf40b1b349d3032f496b79f77fec61f2f01c1" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="195635">
- <rom name="videomaster (1991)(brown, chris)(side b)[a2].dsk" size="195635" crc="d8108013" sha1="3895fae3c0674f9e25635d2d5a1ef6992116c621" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="wordmast">
- <description>Word-Master</description>
- <year>1987</year>
- <publisher>Cardex</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="195635">
- <rom name="word-master (1987)(cardex)(side a).dsk" size="195635" crc="70e1c500" sha1="31ff03dbd9716dfd887272ce351d63c24a630515" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="195635">
- <rom name="word-master (1987)(cardex)(side b).dsk" size="195635" crc="388ca5a7" sha1="0ce7c6c799f74c43d4f206610e71d3ab8151ae3c" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="zxcpm22">
- <description>ZX CP-M 2.2</description>
- <year>2009</year>
- <publisher>M. Williams</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="zx cp-m 2.2 (2009)(williams, m.).dsk" size="194816" crc="26fc1fc5" sha1="ea79fec488af3a0189af0f724d27f1ec0afc010b" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="glatools">
- <description>Gary Lancaster Tools Collection</description>
- <year>19??</year>
- <publisher>Gary Lancaster</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="gary lancaster tools collection (19xx)(lancaster, gary).dsk" size="194816" crc="be29a003" sha1="5b58aa747dccb2c9b5e0bcdb5d93aca895b77dad" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="jtetool1">
- <description>Jesus Tejero Tools Collection 01</description>
- <year>19??</year>
- <publisher>&lt;homebrew&gt;</publisher>
- <info name="author" value="Jesus Tejero"/>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="jesus tejero tools collection 01 (19xx)(tejero, jesus)(es)(side a).dsk" size="194816" crc="22714808" sha1="7ba4cf9653d771a5b3b8a0134e0a838bd3797b12" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="jesus tejero tools collection 01 (19xx)(tejero, jesus)(es)(side b).dsk" size="194816" crc="071a42f1" sha1="89fb642e4b84f5bfc2f10d1d19453810d5d71edf" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="jtetool2">
- <description>Jesus Tejero Tools Collection 02</description>
- <year>19??</year>
- <publisher>&lt;homebrew&gt;</publisher>
- <info name="author" value="Jesus Tejero"/>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="jesus tejero tools collection 02 (19xx)(tejero, jesus)(es)(side a).dsk" size="194816" crc="cfc5778a" sha1="e83b1a3e44f20a6be456ba0ef37853d0f29bad87" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="jesus tejero tools collection 02 (19xx)(tejero, jesus)(es)(side b).dsk" size="194816" crc="48a98df6" sha1="9dbf4ad35f9ed5f948f6b9962498a29e6a1b9ba9" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Applications - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="spcpmpma">
- <description>Spectrum CP-M Plus + Mallard BASIC</description>
- <year>1988</year>
- <publisher>Locomotive</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="spectrum cp-m plus + mallard basic (1988)(locomotive)(side a).dsk" size="194816" crc="46020cc4" sha1="4e29c17caf0118e73d028d03cdf689a26ddcf91b" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="spectrum cp-m plus + mallard basic (1988)(locomotive)(side b).dsk" size="194816" crc="5fc4ea79" sha1="642084c6d930bd1eb4ae1906f4ee107c2b3ca6b6" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="2x1chqin">
- <description>2 Por 1: Chase H.Q. + Indiana Jones y la Ultima Cruzada</description>
- <year>1989</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Chase H.Q."/>
- <dataarea name="flop" size="185088">
- <rom name="2 por 1 - chase h.q. + indiana jones y la ultima cruzada (1989)(erbe)(es)(en)(side a).dsk" size="185088" crc="d77030f1" sha1="69277d56c97f34405328b7bd253e414fdf3b06a6" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Indiana Jones y la Ultima Cruzada"/>
- <dataarea name="flop" size="194816">
- <rom name="2 por 1 - chase h.q. + indiana jones y la ultima cruzada - indiana jones and the last crusade (1989)(erbe)(es)(en)(side b).dsk" size="194816" crc="6cef7d55" sha1="105f953307459319b3c09365815046ba00706803" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="2x1motfa">
- <description>2 Por 1: Motor Massacre + Final Assault</description>
- <year>1989</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Motor Massacre"/>
- <dataarea name="flop" size="108032">
- <rom name="2 por 1 - motor massacre + final assault (1989)(erbe)(es)(en-es)(side a).dsk" size="108032" crc="dbbf98de" sha1="872d73f66c8d4ebea239d94bd82263726cfc8a2b" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Final Assault"/>
- <dataarea name="flop" size="105216">
- <rom name="2 por 1 - motor massacre + final assault (1989)(erbe)(es)(en)(side b).dsk" size="105216" crc="2378daa5" sha1="e4dc4d597a494d8fa6d2ac8db7a145c0552799da" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="2x1plar2">
- <description>2 por 1: Platoon + Arkanoid II: Revenge of Doh</description>
- <year>1989</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Platoon"/>
- <dataarea name="flop" size="194816">
- <rom name="2 por 1 - platoon + arkanoid - revenge of doh (19xx)(erbe)(es)(en)(side a).dsk" size="194816" crc="f17652cb" sha1="5143e9a248d2a2b906b94b3ec6cd5b7e0443a3d4" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Arkanoid II: Revenge of Doh"/>
- <dataarea name="flop" size="58624">
- <rom name="2 por 1 - platoon + arkanoid - revenge of doh (19xx)(erbe)(es)(en)(side b).dsk" size="58624" crc="dd6d244f" sha1="e714cb3e224264c86ef27d46f78897f5c147f8ee" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="2x1plar2a" cloneof="2x1plar2">
- <description>2 por 1: Platoon + Arkanoid II: Revenge of Doh (alt)</description>
- <year>1989</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Platoon"/>
- <dataarea name="flop" size="194816">
- <rom name="2 por 1 - platoon (1989)(erbe).dsk" size="194816" crc="0341da38" sha1="ced84b0c722d3b7ca87727003c1d825f0bb723e9" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Arkanoid II: Revenge of Doh"/>
- <dataarea name="flop" size="58624">
- <rom name="2 por 1 - arkanoid ii - revenge of doh (1989)(erbe).dsk" size="58624" crc="671b73b3" sha1="56d72c852be3ab2547d348b92fe96dc6cfa4c095" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="2x1rentr">
- <description>2 Por 1: Renegade + Target Renegade</description>
- <year>1988</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Renegade"/>
- <dataarea name="flop" size="73472">
- <rom name="2 por 1 - renegade + target renegade (1988)(erbe)(es)(en)(side a).dsk" size="73472" crc="e911ad63" sha1="9d161f6ca0ade6533de21cc276fc0937d826adde" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Target Renegade"/>
- <dataarea name="flop" size="194816">
- <rom name="2 por 1 - renegade + target renegade (1988)(erbe)(es)(en)(side b).dsk" size="194816" crc="f27b2afa" sha1="4735a96bb82d57dbcb9a9b82cda7e6c3bcc9f624" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="2x1silmm">
- <description>2 Por 1: Silent Shadow + Mad Mix Game</description>
- <year>1988</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Silent Shadow"/>
- <dataarea name="flop" size="194816">
- <rom name="2 por 1 - silent shadow + mad mix game (1988)(erbe)(es)(side a).dsk" size="194816" crc="2defa16f" sha1="3a47e75174489d3d2214dddf04276bb2afbc62f4" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Mad Mix Game"/>
- <dataarea name="flop" size="194816">
- <rom name="2 por 1 - silent shadow + mad mix game (1988)(erbe)(es)(side b).dsk" size="194816" crc="e0d5655d" sha1="528446ad75a650b1971508a7d1b34195379c1f38" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="2x1silmma" cloneof="2x1silmm">
- <description>2 Por 1: Silent Shadow + Mad Mix Game (alt)</description>
- <year>1988</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Silent Shadow"/>
- <dataarea name="flop" size="194816">
- <rom name="2 por 1 - silent shadow (1988)(erbe)(es).dsk" size="194816" crc="e308222a" sha1="3512aba07e8087b3b3b22952f30133c057f92897" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Mad Mix Game"/>
- <dataarea name="flop" size="194816">
- <rom name="2 por 1 - mad mix game (1988)(erbe)(es).dsk" size="194816" crc="c530fc92" sha1="3ba4cae93aded2a468e8b424dd46f1b05f7b18bd" offset="0" />
- </dataarea>
- </part>
- </software>
-
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="2x1tecmm">
- <description>2 Por 1: Techno Cop + Mickey Mouse</description>
- <year>1988</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Techno Cop"/>
- <dataarea name="flop" size="224512">
- <rom name="2 por 1 - techno cop + mickey mouse (1988)(erbe)(es)(en)(side a).dsk" size="224512" crc="1e2df00d" sha1="db16b55ef02dafa3c518a168dff46fb6a18ffaff" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Mickey Mouse"/>
- <dataarea name="flop" size="194816">
- <rom name="2 por 1 - techno cop + mickey mouse (1988)(erbe)(es)(en)(side b).dsk" size="194816" crc="b12215a5" sha1="2c26d0d99fbf6232fd58c8815357238d39ffd06a" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="2x1tdmun">
- <description>2 Por 1: The Deep + The Muncher</description>
- <year>1989</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: The Deep"/>
- <dataarea name="flop" size="213760">
- <rom name="2 por 1 - the deep + the muncher (1989)(erbe)(es)(en)(side a).dsk" size="213760" crc="7c1129d8" sha1="b60f3ede48e54cb09249513ef172b7da6fd30c72" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: The Muncher"/>
- <dataarea name="flop" size="135680">
- <rom name="2 por 1 - the deep + the muncher (1989)(erbe)(es)(en)(side b).dsk" size="135680" crc="e92043cd" sha1="26e26db4f65ac3cd98e832da4e5074e49bdaba35" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="2x1tblc2">
- <description>2 Por 1: Thunder Blade + Cybernoid II</description>
- <year>1988</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Thunder Blade"/>
- <dataarea name="flop" size="194816">
- <rom name="2 por 1 - thunder blade + cybernoid ii (1988)(erbe)(es)(en)(side a).dsk" size="194816" crc="a21e7aea" sha1="5315b49c3224fbc1125b05167aa8ebae11be1bba" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Cybernoid II"/>
- <dataarea name="flop" size="82944">
- <rom name="2 por 1 - thunder blade + cybernoid ii - cybernoid ii - the revenge (1988)(erbe)(es)(en)(side b).dsk" size="82944" crc="aeab4d68" sha1="eddf11183b011353570d5b76a4c6d0330dee32ea" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="2x1vsbns">
- <description>2 Por 1: MASK III: VENOM Strikes Back + North Star</description>
- <year>1989</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: MASK III: VENOM Strikes Back"/>
- <dataarea name="flop" size="173824">
- <rom name="2 por 1 - venom strikes back + north star - mask iii - venom strikes back (1989)(erbe)(es)(en)(side a).dsk" size="173824" crc="b98b5c24" sha1="3c467d6f40d8106169ff3e7ec6b43f41b729d8be" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: North Star"/>
- <dataarea name="flop" size="170752">
- <rom name="2 por 1 - venom strikes back + north star (1989)(erbe)(es)(en)(side b).dsk" size="170752" crc="79bfe6c7" sha1="fe39524ea205bd302fbdbd36ba6305171ea16da2" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="2x1csmnv">
- <description>2 X 1: Capitan Sevilla + Meganova</description>
- <year>1988</year>
- <publisher>Dinamic Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Capitan Sevilla"/>
- <dataarea name="flop" size="112640">
- <rom name="2 x 1 - capitan sevilla + meganova (1988)(dinamic)(es)(side a).dsk" size="112640" crc="bcdb0833" sha1="0c5d19c9df94c5d8409223945092f2f7ee708906" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Meganova"/>
- <dataarea name="flop" size="91136">
- <rom name="2 x 1 - capitan sevilla + meganova (1988)(dinamic)(es)(en)(side b).dsk" size="91136" crc="1d467a85" sha1="45abfbb911589dc1241fbd04d501e876448dba69" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="2x1cormz">
- <description>2 X 1: Corsarios + Mutan Zone</description>
- <year>1989</year>
- <publisher>Opera Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Corsarios"/>
- <dataarea name="flop" size="218880">
- <rom name="2 x 1 - corsarios + mutan zone (1989)(opera soft)(es)(side a).dsk" size="218880" crc="1273e70c" sha1="7a8ac3eff6df1ca72f111004cb029ecd9da8205a" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Mutan Zone"/>
- <dataarea name="flop" size="218880">
- <rom name="2 x 1 - corsarios + mutan zone (1989)(opera soft)(es)(side b).dsk" size="218880" crc="0ff83d7a" sha1="e87198b2707d9e21cc181022f3bc459ae92efa03" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="2x1quimc">
- <description>2 X 1: Don Quijote + Mega-Corp</description>
- <year>1987</year>
- <publisher>Dinamic Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Don Quijote"/>
- <dataarea name="flop" size="109568">
- <rom name="2 x 1 - don quijote + mega-corp (1987)(dinamic)(es)(en)(side a).dsk" size="109568" crc="b9094639" sha1="31f64289041a660952ad51707c81871c10ed7ad3" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Mega-Corp"/>
- <dataarea name="flop" size="109568">
- <rom name="2 x 1 - don quijote + mega-corp (1987)(dinamic)(es)(side b).dsk" size="109568" crc="8a73c4fa" sha1="942f9f802bac53ed0c25c4bfc41c08513de60762" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="20gamepa">
- <description>20 Game Pack</description>
- <year>19??</year>
- <publisher>Comet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Disk 1, Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="20 game pack (19xx)(comet)(disk 1 of 2 side a).dsk" size="194816" crc="17f824d4" sha1="eeafae9cbc821251c079ebeab05a7698e13a563b" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Disk 1, Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="20 game pack (19xx)(comet)(disk 1 of 2 side b).dsk" size="194816" crc="0c4f057a" sha1="ab36f880f872d18a4315f5bad78bd5961f7787b2" offset="0" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_3">
- <feature name="part_id" value="Disk 2, Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="20 game pack (19xx)(comet)(disk 2 of 2 side a).dsk" size="194816" crc="f374a90f" sha1="c053291bea9fd33ea463e9aa5e5530056cf4a615" offset="0" />
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_3">
- <feature name="part_id" value="Disk 2, Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="20 game pack (19xx)(comet)(disk 2 of 2 side b).dsk" size="194816" crc="e794781e" sha1="6a6c9e4a8083bef5e405db20ed4897668965296a" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="4soccers">
- <description>4 Soccer Simulators</description>
- <year>1988</year>
- <publisher>Code Masters Gold</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: 11-a-Side Soccer + Indoor Soccer"/>
- <dataarea name="flop" size="213760">
- <rom name="4 soccer simulators (1988)(code masters gold)(side a)[aka four soccer simulators][aka pro soccer simulator].dsk" size="213760" crc="db963a7f" sha1="fc3875238c36e5adb7072ae3775a396f282b942e" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Street Soccer + Soccer Skills"/>
- <dataarea name="flop" size="213760">
- <rom name="4 soccer simulators (1988)(code masters gold)(side b)[aka four soccer simulators][aka pro soccer simulator].dsk" size="213760" crc="6591918b" sha1="fc8ac07175243156415f49b22c5e3a7c5fc127c4" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="4topgame">
- <description>4 Top Games - Pulsator + Slaine - The Celtic Barbarian</description>
- <year>1987</year>
- <publisher>Martech Games</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Pulsator"/>
- <dataarea name="flop" size="194560">
- <rom name="4 top games - pulsator + slaine - the celtic barbarian (1987)(martech games)(side a).dsk" size="194560" crc="e0429b01" sha1="a6d7bbef5246cd2911f2fe78fccee6fa98972c61" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Slaine - The Celtic Barbarian"/>
- <dataarea name="flop" size="194560">
- <rom name="4 top games - catch 23 + nemesis the warlock (1987)(martech games)(side b).dsk" size="194560" crc="214d2d60" sha1="31301ca3a0b939d780af5cddaf35b6f69182edc1" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="los40v1">
- <description>Los 40 Principales Vol. 1</description>
- <year>1987</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Batman + Thanatos"/>
- <dataarea name="flop" size="194816">
- <rom name="40 principales vol. 1, los - batman + thanatos (1987)(erbe)(es)(en-es)(side a).dsk" size="194816" crc="d40e42cf" sha1="793164dada3c40ffbaced6cebc00ccfbf69a0d8b" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Spirits + Asterix and the Magic Cauldron"/>
- <dataarea name="flop" size="194816">
- <rom name="40 principales vol. 1, los - spirits + asterix and the magic cauldron (1987)(erbe)(es)(en)(side b).dsk" size="194816" crc="2f948ee8" sha1="7b10ed4d87627f0b2407a3e048ee2ac64c101367" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="los40v1a" cloneof="los40v1">
- <description>Los 40 Principales Vol. 1 (alt)</description>
- <year>1987</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Batman + Thanatos"/>
- <dataarea name="flop" size="194816">
- <rom name="40 principales vol. 1, los - batman + thanatos (1987)(erbe)(es)(en).dsk" size="194816" crc="cc1065eb" sha1="241933d1e5754176fb6f7764ef4fed618a9be77e" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Spirits + Asterix and the Magic Cauldron"/>
- <dataarea name="flop" size="194816">
- <rom name="40 principales vol. 1, los - spirits + asterix and the magic cauldron (1987)(erbe)(es)(en).dsk" size="194816" crc="43fd2cac" sha1="a24ea3e43bf1c14c5d0e67577ee36f8c8a5ae0be" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="los40v10">
- <description>Los 40 Principales Vol. 10</description>
- <year>1987</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Super Soccer + Ramon Rodriguez"/>
- <dataarea name="flop" size="194816">
- <rom name="40 principales vol. 10, los (1987)(erbe)(es)(en-es)(side a).dsk" size="194816" crc="79c0ae58" sha1="ee481fbfa0856a3017ca3b50dd9602f0f8469307" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Pole Position + Abu Simbel Profanation"/>
- <dataarea name="flop" size="194816">
- <rom name="40 principales vol. 10, los (1987)(erbe)(es)(en)(side b).dsk" size="194816" crc="4ef2a38d" sha1="6b1a1c3960b76b0008c271cda3bf9302dfebad77" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="los40v10a" cloneof="los40v10">
- <description>Los 40 Principales Vol. 10 (alt)</description>
- <year>1987</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Super Soccer + Ramon Rodriguez"/>
- <dataarea name="flop" size="194816">
- <rom name="40 principales vol. 10, los - super soccer + ramon rodriguez (1987)(erbe)(es)(en).dsk" size="194816" crc="e3cfb4fd" sha1="d91dffe5f813aa2bb55883568487c6073f158911" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Pole Position + Abu Simbel Profanation"/>
- <dataarea name="flop" size="194816">
- <rom name="40 principales vol. 10, los - pole position + abu simbel profanation (1987)(erbe)(es)(en).dsk" size="194816" crc="624a60d6" sha1="5a669643703075479ab57123bb82aa46d755272a" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="los40v2">
- <description>Los 40 Principales Vol. 2</description>
- <year>1987</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: The Great Escape + Zorro"/>
- <dataarea name="flop" size="194816">
- <rom name="40 principales vol. 2, los (1987)(erbe)(es)(en-es)(side a).dsk" size="194816" crc="c2cf1d53" sha1="c8836f903da024338abe8ef8b33d7fdfd542e6ff" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Inspector Gadget + Antiriad"/>
- <dataarea name="flop" size="194816">
- <rom name="40 principales vol. 2, los (1987)(erbe)(es)(en)(side b).dsk" size="194816" crc="3461ebaa" sha1="9e70d1306add385e524659e6231f302e2d68b568" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="los40v3">
- <description>Los 40 Principales Vol. 3</description>
- <year>1987</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Arkanoid + Nightmare Rally"/>
- <dataarea name="flop" size="194816">
- <rom name="40 principales vol. 3, los (1987)(erbe)(es)(en-es)(side a).dsk" size="194816" crc="74131d2a" sha1="54035f94d4b8cd70e9c1fc9d76f1e3eeb45ef739" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Movie + Phantomas"/>
- <dataarea name="flop" size="194816">
- <rom name="40 principales vol. 3, los (1987)(erbe)(es)(en)(side b).dsk" size="194816" crc="5dda7a2b" sha1="04d3c2c148d70f202c3782ecb163b9a2d35cfee9" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="los40v3a" cloneof="los40v3">
- <description>Los 40 Principales Vol. 3 (alt)</description>
- <year>1987</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Arkanoid + Nightmare Rally"/>
- <dataarea name="flop" size="194816">
- <rom name="40 principales vol. 3, los - arkanoid + nightmare rally (1987)(erbe)(es)(en)[aka 40 principales, los - vol. 03 - arkanoid + nightmare rally].dsk" size="194816" crc="bf661330" sha1="e209b965d3779f63185e45944b065064da40a36c" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Movie + Phantomas"/>
- <dataarea name="flop" size="194816">
- <rom name="40 principales vol. 3, los - movie + phantomas (1987)(erbe)(es)(en).dsk" size="194816" crc="31a090a1" sha1="c218b9248af6a04c81c14979ed2c2b9f7da96cfd" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="los40v5">
- <description>Los 40 Principales Vol. 5</description>
- <year>1987</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Kung-Fu Master + Three Weeks in Paradise"/>
- <dataarea name="flop" size="194816">
- <rom name="40 principales vol. 5, los (1987)(erbe)(es)(en-es)(side a).dsk" size="194816" crc="dced94ad" sha1="9f3837ee55ad3f7cc3e27ef11998a821dc93bdda" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Breakthru + Phantomas II"/>
- <dataarea name="flop" size="194816">
- <rom name="40 principales vol. 5, los (1987)(erbe)(es)(en)(side b).dsk" size="194816" crc="e058bb55" sha1="f283715635bf83f399d6e3ce737d9cbb128f6360" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="los40v6">
- <description>Los 40 Principales Vol. 6</description>
- <year>1987</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Rocky + Survivor"/>
- <dataarea name="flop" size="194816">
- <rom name="40 principales vol. 6, los - rocky + survivor (1987)(erbe)(es)(en-es)(side a).dsk" size="194816" crc="826eb3ee" sha1="9e62f609db8d84c9f8db9b253c6a7c7867f28a64" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: The Way of the Exploding Fist + Nemesis the Warlock"/>
- <dataarea name="flop" size="194816">
- <rom name="40 principales vol. 6, los - the way of the exploding fist + nemesis the warlock (1987)(erbe)(es)(en)(side b).dsk" size="194816" crc="366acc72" sha1="3116c8a66c6be6d185ed1b211d7ce7d3ade3a0e8" offset="0" />
- </dataarea>
- </part>
- </software>
-
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="los40v6a" cloneof="los40v6">
- <description>Los 40 Principales Vol. 6 (alt)</description>
- <year>1987</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Rocky + Survivor"/>
- <dataarea name="flop" size="194816">
- <rom name="40 principales vol. 6, los - rocky + survivor (1987)(erbe)(es).dsk" size="194816" crc="fe1eae07" sha1="705fa61c03a27194cf031f0542d375eacb5d41f0" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: The Way of the Exploding Fist + Nemesis the Warlock"/>
- <dataarea name="flop" size="194816">
- <rom name="40 principales vol. 6, los - the way of the exploding fist + nemesis the warlock (1987)(erbe)(es)(en).dsk" size="194816" crc="1861a94b" sha1="f2bd0cb1ed02e1cba60435c19bd58e0acaf6bf16" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="los40v7">
- <description>Los 40 Principales Vol. 7</description>
- <year>1987</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Saboteur 2 + Las Tres Luces de Glaurung"/>
- <dataarea name="flop" size="194816">
- <rom name="40 principales vol. 7, los (1987)(erbe)(es)(en-es)(side a).dsk" size="194816" crc="4b8b5d59" sha1="6bd353df0e3eb5424e6aea89bcd27ba3349118db" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Camelot Warriors + Dustin"/>
- <dataarea name="flop" size="194816">
- <rom name="40 principales vol. 7, los (1987)(erbe)(es)(en)(side b).dsk" size="194816" crc="d3564e75" sha1="016d5f3a9545320f3f9a6ad265a3f7df0278de7d" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="los40v8">
- <description>Los 40 Principales Vol. 8</description>
- <year>1987</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Barbarian + Cauldron II"/>
- <dataarea name="flop" size="194816">
- <rom name="40 principales vol. 8, los (1987)(erbe)(es)(en-es)(side a).dsk" size="194816" crc="1077758c" sha1="bf24432fd0248340b314ddbcc04b3eb2c9350195" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Saboteur + West Bank"/>
- <dataarea name="flop" size="194816">
- <rom name="40 principales vol. 8, los (1987)(erbe)(es)(en)(side b).dsk" size="194816" crc="8ef48835" sha1="5f9c57c795ca5f9a9a1cae5cd5e7078be0a0b705" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="los40v8a" cloneof="los40v8">
- <description>Los 40 Principales Vol. 8 (alt)</description>
- <year>1987</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Barbarian + Cauldron II"/>
- <dataarea name="flop" size="194816">
- <rom name="40 principales vol. 8, los - barbarian + cauldron ii - the pumpkin strikes back (1987)(erbe)(es)(en).dsk" size="194816" crc="8a786f29" sha1="5fe9b2c722ba835a95ba9690b14497c8d3fca6ec" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Saboteur + West Bank"/>
- <dataarea name="flop" size="194816">
- <rom name="40 principales vol. 8, los - saboteur + west bank (1987)(erbe)(es)(en).dsk" size="194816" crc="19eb9f73" sha1="0616802b7251b5dc3a0766bdefe84e2d52a9ad1a" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="los40v8b" cloneof="los40v8">
- <description>Los 40 Principales Vol. 8 (alt 2)</description>
- <year>1987</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Barbarian + Cauldron II"/>
- <dataarea name="flop" size="194816">
- <rom name="40 principales vol. 8, los - barbarian + cauldron ii - the pumpkin strikes back (1987)(erbe)(es)(en)[a].dsk" size="194816" crc="54acc38e" sha1="eafadcf282e0d922be5b28caed86f2ad65f12a3a" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Saboteur + West Bank"/>
- <dataarea name="flop" size="194816">
- <rom name="40 principales vol. 8, los - saboteur + west bank (1987)(erbe)(es)(en)[a].dsk" size="194816" crc="4ee1ea8a" sha1="c7fe4aff2c7e522304057d454849b350d5d929c7" offset="0" />
- </dataarea>
- </part>
- </software>
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="los40v9">
- <description>Los 40 Principales Vol. 9</description>
- <year>1987</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Uridium + Uchi Mata"/>
- <dataarea name="flop" size="194816">
- <rom name="40 principales vol. 9, los (1987)(erbe)(es)(en-es)(side a).dsk" size="194816" crc="fad70a24" sha1="05b136fbcbc2ff78ee1b9df8a8c8eee84b5b27cd" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: World Series Basketball + Nonamed"/>
- <dataarea name="flop" size="194816">
- <rom name="40 principales vol. 9, los (1987)(erbe)(es)(en)(side b).dsk" size="194816" crc="8c5e18a1" sha1="ede67667b46bb8d785398c58d22263158ed744af" offset="0" />
- </dataarea>
- </part>
- </software>
+ <!-- Other images -->
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="amscompd">
- <description>Amstrad Compilation Disk Spectrum Plus 3</description>
- <year>1987</year>
- <publisher>Amstrad</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Gift from the Gods + Mailstrom + N.O.M.A.D."/>
- <dataarea name="flop" size="194816">
- <rom name="amstrad compilation disk spectrum plus 3 - gift from the gods + mailstrom + n.o.m.a.d. (1987)(amstrad)(side a).dsk" size="194816" crc="a05a58f8" sha1="148e437f0d035f3460733205c546eb9d2022c909" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Daley Thompson's Supertest + Cosmic Wartoad"/>
- <dataarea name="flop" size="194816">
- <rom name="amstrad compilation disk spectrum plus 3 - daley thompson's supertest + cosmic wartoad (1987)(amstrad)(side b).dsk" size="194816" crc="c84b1e03" sha1="4242cda1493d0ded1766ad9de14727a7ec2b53eb" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="amscompda" cloneof="amscompd">
- <description>Amstrad Compilation Disk Spectrum Plus 3 (alt)</description>
- <year>1987</year>
- <publisher>Amstrad</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Gift from the Gods + Mailstrom + N.O.M.A.D."/>
- <dataarea name="flop" size="194816">
- <rom name="amstrad compilation disk spectrum plus 3 - gift from the gods + mailstrom + n.o.m.a.d. (1987)(amstrad).dsk" size="194816" crc="8fc5a575" sha1="37474b491853775d7b0f9983f50a655106bc7800" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Daley Thompson's Supertest + Cosmic Wartoad"/>
- <dataarea name="flop" size="194816">
- <rom name="amstrad compilation disk spectrum plus 3 - daley thompson's supertest + cosmic wartoad (1987)(amstrad).dsk" size="194816" crc="e7f1d954" sha1="9299a87cb3dd915660f16d5cc8b0082db84a2711" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="amscompdb" cloneof="amscompd">
- <description>Amstrad Compilation Disk Spectrum Plus 3 (alt 2)</description>
- <year>1987</year>
- <publisher>Amstrad</publisher>
- <part name="flop1" interface="floppy_3">
- <!-- Side missing from dump, using same as parent set -->
- <feature name="part_id" value="Side A: Gift from the Gods + Mailstrom + N.O.M.A.D."/>
- <dataarea name="flop" size="194816">
- <rom name="amstrad compilation disk spectrum plus 3 - gift from the gods + mailstrom + n.o.m.a.d. (1987)(amstrad)(side a).dsk" size="194816" crc="a05a58f8" sha1="148e437f0d035f3460733205c546eb9d2022c909" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Daley Thompson's Supertest + Cosmic Wartoad"/>
- <dataarea name="flop" size="194816">
- <rom name="amstrad compilation disk spectrum plus 3 - daley thompson's supertest + cosmic wartoad (1987)(amstrad)[a].dsk" size="194816" crc="f273df89" sha1="b19047727440ade850268f129ba2e4ceadb9163f" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="anbigdsk">
- <description>Another Big Disk</description>
- <year>1991</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: The Menagerie + The Miser + Bog of Brit"/>
- <dataarea name="flop" size="194816">
- <rom name="another big disk - the menagerie + the miser + bog of brit (1991)(zenobi)(side a).dsk" size="194816" crc="7a22c6b0" sha1="91279fbb792a02efa15e710b3f2783cb0d8d74bb" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: The Pendant of Logryn"/>
- <dataarea name="flop" size="194816">
- <rom name="another big disk - the pendant of logryn (1991)(zenobi)(side b).dsk" size="194816" crc="9a1aadd3" sha1="4e442d0d7b1607351027d8e8a01622829de7c57f" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="arccolv1">
- <description>Arcade Collection Volume 1</description>
- <year>1990</year>
- <publisher>Players</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="195635">
- <rom name="arcade collection volume 1 (1990)(players)(side a).dsk" size="195635" crc="a49ab925" sha1="2ec5adfd4a91f00e91888856b8dac19629f16408" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="195635">
- <rom name="arcade collection volume 1 (1990)(players)(side b).dsk" size="195635" crc="7dbbfe6e" sha1="7b001d134285c7f370b8ec692d93b909319f8219" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="arccolv2">
- <description>Arcade Collection Volume 2</description>
- <year>1990</year>
- <publisher>Players</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="arcade collection volume 2 (1990)(players)[aka hotshots arcade 2].dsk" size="194816" crc="6329fc50" sha1="009ef6c638821269f2d101500323117ce1839215" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="arccolv2a" cloneof="arccolv2">
- <description>Arcade Collection Volume 2 (alt)</description>
- <year>1990</year>
- <publisher>Players</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="arcade collection volume 2 - moving target + cobra force + task force (1990)(players)[aka hotshots arcade 2].dsk" size="194816" crc="990e7ee8" sha1="925127f9ad26e4ba7946e62c332f5db75abf300c" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="acextra3">
- <description>Arcade Extravaganza Disk 3</description>
- <year>1988</year>
- <publisher>Alternative Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="arcade extravaganza disk 3 (1988)(alternative).dsk" size="194816" crc="e421ac09" sha1="5d8fce028a7793d3ecf84086244a9fb77104cc94" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="arnadv12">
- <description>Arnold the Adventurer 1 + 2</description>
- <year>19??</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="arnold the adventurer 1 + 2 (19xx)(zenobi).dsk" size="194816" crc="2de22fac" sha1="b721610fbf50a964560810e678c55fae31d2a0d4" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="balrogbd">
- <description>Balrog's Big Disk</description>
- <year>1991</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Pawns of War + Crack City + Stalker"/>
- <dataarea name="flop" size="194816">
- <rom name="balrog's big disk - pawns of war + crack city + stalker (1991)(zenobi)(side a).dsk" size="194816" crc="2420fde6" sha1="0ae1560b42f3751e53b949384a903b54b720ad5d" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Pawns of War II - The Infiltrator + Sherlock Holmes - The Case of the Beheaded"/>
- <dataarea name="flop" size="194816">
- <rom name="balrog's big disk - pawns of war ii - the infiltrator + sherlock holmes - the case of the beheaded (1991)(zenobi)(side b).dsk" size="194816" crc="4cd5597d" sha1="e95d285c863ef75a3215b778be879210af03eca5" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="balrtril">
- <description>The Balrogian Trilogy</description>
- <year>1990</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Fuddo &amp; Slam + An Everyday Tale of a Seeker of Gold"/>
- <dataarea name="flop" size="194816">
- <rom name="balrogian trilogy, the - fuddo &amp; slam + an everyday tale of a seeker of gold (1990)(zenobi)(side a).dsk" size="194816" crc="b24c8eb3" sha1="d95392ef03df89350cf3a88198f3272322f942a4" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Bulbo and the Lizard-King + Heroes and Villiains, The Illustrated Guide"/>
- <dataarea name="flop" size="194816">
- <rom name="balrogian trilogy, the (1990)(zenobi)(side b).dsk" size="194816" crc="ca9781f5" sha1="9509fafb718bff4a79d4263fafd32bd652280a60" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="barddraq">
- <description>The Bardic Rites + Dragon-Quest</description>
- <year>1994</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: The Bardic Rites"/>
- <dataarea name="flop" size="194816">
- <rom name="bardic rite, the + dragon-quest (1994)(zenobi)(side a).dsk" size="194816" crc="e9f37369" sha1="762066e0834221fba3f750d4fb6903104da9e749" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Dragon-Quest"/>
- <dataarea name="flop" size="194816">
- <rom name="bardic rite, the + dragon-quest (1994)(zenobi)(side b).dsk" size="194816" crc="a6ba75ed" sha1="be15f27cce94d496664120282610f6e222864105" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="bartbret">
- <description>Bart Bear + The Return of Bart Bear</description>
- <year>19??</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="bart bear - the return of bart bear (19xx)(zenobi).dsk" size="194816" crc="0396887f" sha1="c2f8db9fea7b7fc90fd043d7e509691a32856b2b" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="bstclles">
- <description>The Best of Clive and Les</description>
- <year>1991</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="best of clive and les, the - the little wandering guru + nightwing + demi-god (1991)(zenobi).dsk" size="194816" crc="f577d853" sha1="4fd34aecf2a22be831ebfb498724c1b52b593e92" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="belitev1">
- <description>Best of Elite Vol. 1</description>
- <year>1987</year>
- <publisher>Hit-Pak</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Frank Bruno's Boxing + Bomb Jack"/>
- <dataarea name="flop" size="214784">
- <rom name="best of elite vol 1 - frank bruno's boxing + bomb jack (1987)(hit-pak).dsk" size="214784" crc="d7dcaba9" sha1="4390a79bea5a12930b52d12e8bc3a0eb4bafb5eb" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Airwolf + Commando"/>
- <dataarea name="flop" size="214784">
- <rom name="best of elite vol 1 - airwolf + commando (1987)(hit-pak).dsk" size="214784" crc="36042980" sha1="41b40047372fac5c7001031de46ff4db79b27561" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="bogbmena">
- <description>Bog of Brit + The Menagerie</description>
- <year>1990</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="bog of brit + menagerie, the (1990)(zenobi)[re-release].dsk" size="194816" crc="dc47c945" sha1="1d999f7809037b4207bb5feeba9f52172edb1cc3" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="bootsact">
- <description>Boots Action Pack</description>
- <year>1987</year>
- <publisher>Boots</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194560">
- <rom name="boots action pack (1987)(boots)(side a).dsk" size="194560" crc="64e69648" sha1="1ef510c5de07b93e3703f820ce170a831cead5f8" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="boots action pack (1987)(boots)(side b).dsk" size="194816" crc="199e7278" sha1="146f78330dfddb38f24411abb49eefb7aba83783" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="cezcoll1">
- <description>CEZ Collection Vol.1</description>
- <year>2008</year>
- <publisher>Computer Emuzone</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Cannon Bubble + BeTiled! + Moggy"/>
- <dataarea name="flop" size="194816">
- <rom name="cez collection vol.1 (2008)(computer emuzone)(es)(side a).dsk" size="194816" crc="9a228323" sha1="ed7241701293769e29caa3b931578bd17ed3a3e8" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Phantomasa 2 + Columns + Phantomas Saga: Infinity"/>
- <dataarea name="flop" size="194816">
- <rom name="cez collection vol.1 (2008)(computer emuzone)(es)(side b).dsk" size="194816" crc="5a0ab5e1" sha1="d7cb0ec40d9f05f5531d7f3b687ea46ecd43aa7c" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="cartcap3">
- <description>Cartoon Capers Disk 3</description>
- <year>1988</year>
- <publisher>Alternative Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="cartoon capers disk 3 (1988)(alternative).dsk" size="194816" crc="bd43f24b" sha1="a5a5f52b283f84d7dfa2d904712a1d25ba75dcb8" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="chartbus">
- <description>Chartbusters</description>
- <year>19??</year>
- <publisher>Ocean Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Cobra + Mutants + Green Beret"/>
- <dataarea name="flop" size="194560">
- <rom name="chartbusters - cobra + mutants + green beret (19xx)(ocean)(side a).dsk" size="194560" crc="43019e2e" sha1="82ba8864be71bb8d17c714b7fd0713ad147d79e3" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Short Circuit + The Great Escape + Yie Ar Kung-Fu"/>
- <dataarea name="flop" size="194560">
- <rom name="chartbusters - short circuit + the great escape + yie ar kung-fu (19xx)(ocean)(side b).dsk" size="194560" crc="2c6606cf" sha1="e2224ab3990f61d451fa6741419b6a2653314658" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="clasgam4">
- <description>Classic Games 4</description>
- <year>1989</year>
- <publisher>CP Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="classic games 4 (1989)(cp).dsk" size="194816" crc="c2c629e1" sha1="20a45c48006b88ca85800a1f8a6d8c38381e35d7" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="colexdin">
- <description>Coleccion de Exitos Dinamic</description>
- <year>1988</year>
- <publisher>Dinamic Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Army Moves + Game Over + Camelot Warriors + Nonamed"/>
- <dataarea name="flop" size="214784">
- <rom name="coleccion de exitos dinamic (1988)(dinamic)(es)(side a).dsk" size="214784" crc="ca9527ca" sha1="71d635ed97ba4483d00c7aed0fbe6bd813268629" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Abu Simbel + Dustin + Phantomas 2 + Don Quijote"/>
- <dataarea name="flop" size="214784">
- <rom name="coleccion de exitos dinamic (1988)(dinamic)(es)(side b).dsk" size="214784" crc="4293fe06" sha1="a72a1bfd8a70206d6000a3883c54ee9417f19425" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="commperf">
- <description>Command Performance</description>
- <year>1989</year>
- <publisher>U.S. Gold</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="219648">
- <rom name="command performance (1989)(u.s. gold)(side a).dsk" size="219648" crc="d9efa2c8" sha1="011bb04acbdf1d94b575472be757f2fd67457e1f" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="219648">
- <rom name="command performance (1989)(u.s. gold)(side b).dsk" size="219648" crc="89841c5e" sha1="e4aaac3e4291239b5d2debc89b939b3ff09e4c66" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="compclas">
- <description>Computer Classics</description>
- <year>1987</year>
- <publisher>Beau-Jolly</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Aliens + Cauldron II - The Pumpkin Strikes Back + Dynamite Dan"/>
- <dataarea name="flop" size="204544">
- <rom name="computer classics - aliens + cauldron ii - the pumpkin strikes back + dynamite dan (1987)(beau-jolly).dsk" size="204544" crc="f34e00f7" sha1="293aa4a82b1163cff606a9c8a8ff1e9c4a4d9364" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Into the Eagle's Nest + Exolon"/>
- <dataarea name="flop" size="204544">
- <rom name="computer classics - into the eagle's nest + exolon (1987)(beau-jolly).dsk" size="204544" crc="a1d84366" sha1="c8e1f9ae43d3e44614eb0bf6b51807e1c6ee79df" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="dtppack">
- <description>DTP Pack</description>
- <year>1988</year>
- <publisher>P.C.G. Computer</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Word-Master"/>
- <dataarea name="flop" size="194816">
- <rom name="dtp pack (1988)(p.c.g. computer)(side a).dsk" size="194816" crc="5c1e0941" sha1="ce781bbfa6fa3f68f5705331887fb5adf3a3271b" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Headliner + Typeliner &amp; Font Editor"/>
- <dataarea name="flop" size="194816">
- <rom name="dtp pack (1988)(p.c.g. computer)(side b).dsk" size="194816" crc="b3f9e13d" sha1="af4ebdf3ebcf3c7143fac4740bf4f9b90894e440" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="dearcgal">
- <description>Data East's Arcade Alley</description>
- <year>1988</year>
- <publisher>U.S. Gold</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Express Raider + Last Mission"/>
- <dataarea name="flop" size="194816">
- <rom name="data east's arcade alley - express raider + last mission (1988)(u.s. gold)(side a).dsk" size="194816" crc="4621ccee" sha1="6357e892ac1e242d93f145bd1fc3a925133db1a4" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Kung-Fu Master + Breakthru"/>
- <dataarea name="flop" size="194816">
- <rom name="data east's arcade alley - kung-fu master + breakthru (1988)(u.s. gold)(side b).dsk" size="194816" crc="117f5368" sha1="24c459c63cd1829131c6fc6dd730ffc9f192cf45" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="dearcgala" cloneof="dearcgal">
- <description>Data East's Arcade Alley (alt)</description>
- <year>1988</year>
- <publisher>U.S. Gold</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Express Raider + Last Mission"/>
- <dataarea name="flop" size="194816">
- <rom name="data east's arcade alley - express raider + last mission (1988)(u.s. gold)(side a).dsk" size="194816" crc="4621ccee" sha1="6357e892ac1e242d93f145bd1fc3a925133db1a4" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Kung-Fu Master + Breakthru"/>
- <dataarea name="flop" size="194816">
- <rom name="data east's arcade alley - kung-fu master + breakthru (1988)(u.s. gold).dsk" size="194816" crc="3ec5943f" sha1="1a653fa41d7fcd7aaffe928d2c0185301dd764d7" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="delberts">
- <description>Delbert's Hamster-Wheel of Fortune</description>
- <year>1992</year>
- <publisher>Delbert the Hamster</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="delbert's hamster-wheel of fortune (1992)(delbert the hamster).dsk" size="194816" crc="4926b045" sha1="a1b2b39d92ea14d1daa207624b70c2fadae6ee7c" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="dicksgal">
- <description>Dicks Galore</description>
- <year>1992</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Robin of Sherlock"/>
- <dataarea name="flop" size="197376">
- <rom name="dicks galore (1992)(zenobi)(side a).dsk" size="197376" crc="cf38d6de" sha1="7499d53d6419f645e2acf969d0aa1db883bdbe61" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: The Big Sleaze"/>
- <dataarea name="flop" size="194816">
- <rom name="dicks galore (1992)(zenobi)(side b).dsk" size="194816" crc="621a14ab" sha1="f08c273685367a590261b850f5ec8ec716bd3aaf" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="dinamic5">
- <description>Dinamic 5 Aniversario</description>
- <year>1989</year>
- <publisher>Dinamic Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Disk 1, Side A: Los Pajaros de Bangkok + Mega-Corp"/>
- <dataarea name="flop" size="214784">
- <rom name="dinamic 5 aniversario - los pajaros de bangkok + mega-corp (1989)(dinamic)(es)(disk 1 of 4 side a)[aka pack 5 aniversario].dsk" size="214784" crc="8b6a817e" sha1="2afb682db6296cc2e469155424d82dd6e145ed58" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Disk 1, Side B: Freddy Hardest + Meganova"/>
- <dataarea name="flop" size="214784">
- <rom name="dinamic 5 aniversario - freddy hardest + meganova (1989)(dinamic)(es)(disk 1 of 4 side b)[aka pack 5 aniversario].dsk" size="214784" crc="c1f9665e" sha1="0567c26069742768753c927b0a6a1963211fa441" offset="0" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_3">
- <feature name="part_id" value="Disk 2, Side A: Phantis + Abu Simbel Profanation + Dustin + West Bank"/>
- <dataarea name="flop" size="214784">
- <rom name="dinamic 5 aniversario - phantis + abu simbel profanation + dustin + west bank (1989)(dinamic)(es)(disk 2 of 4 side b)[aka pack 5 aniversario].dsk" size="214784" crc="862604dd" sha1="acfca1a0b55c23581d17cb9aafaa2064634c4715" offset="0" />
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_3">
- <feature name="part_id" value="Disk 2, Side B: Capitan Sevilla + Rocky + Fernando Martin Basket Master + Hundra"/>
- <dataarea name="flop" size="214784">
- <rom name="dinamic 5 aniversario - capitan sevilla + rocky + fernando martin basket master + hundra (1989)(dinamic)(es)(disk 2 of 4 side a)[aka pack 5 aniversario].dsk" size="214784" crc="bd5513f3" sha1="179f00b1381108ec88fcdacb5119de4b9c7041ff" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="dinamic5a" cloneof="dinamic5">
- <description>Dinamic 5 Aniversario (alt)</description>
- <year>1989</year>
- <publisher>Dinamic Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Disk 1, Side A: Los Pajaros de Bangkok + Mega-Corp"/>
- <dataarea name="flop" size="214784">
- <rom name="dinamic 5 aniversario - los pajaros de bangkok + mega-corp (1989)(dinamic)(es)(disk 1 of 4 side a)[aka pack 5 aniversario].dsk" size="214784" crc="8b6a817e" sha1="2afb682db6296cc2e469155424d82dd6e145ed58" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Disk 1, Side B: Freddy Hardest + Meganova"/>
- <dataarea name="flop" size="214784">
- <rom name="dinamic 5 aniversario - freddy hardest + meganova (1989)(dinamic)(es)(disk 1 of 4 side b)[aka pack 5 aniversario].dsk" size="214784" crc="c1f9665e" sha1="0567c26069742768753c927b0a6a1963211fa441" offset="0" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_3">
- <feature name="part_id" value="Disk 2, Side A: Phantis + Abu Simbel Profanation + Dustin + West Bank"/>
- <dataarea name="flop" size="214784">
- <rom name="dinamic 5 aniversario - phantis + abu simbel profanation + dustin + west bank (1989)(dinamic)(es)(disk 2 of 4 side b)[aka pack 5 aniversario].dsk" size="214784" crc="862604dd" sha1="acfca1a0b55c23581d17cb9aafaa2064634c4715" offset="0" />
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_3">
- <feature name="part_id" value="Disk 2, Side B: Capitan Sevilla + Rocky + Fernando Martin Basket Master + Hundra"/>
- <dataarea name="flop" size="214784">
- <rom name="dinamic 5 aniversario - capitan sevilla + rocky + fernando martin basket master + hundra (1989)(dinamic)(es)(disk 2 of 4 side a)[aka pack 5 aniversario].dsk" size="214784" crc="bd5513f3" sha1="179f00b1381108ec88fcdacb5119de4b9c7041ff" offset="0" />
- </dataarea>
- </part>
- </software>
-
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="dixonspr">
- <description>Dixons Premier Collection for Your +3</description>
- <year>1988</year>
- <publisher>Dixons</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Athena + Slap Fight + Wizball"/>
- <dataarea name="flop" size="214784">
- <rom name="dixons premier collection for your +3 - athena + slap fight + wizball (1988)(dixons)(side a).dsk" size="214784" crc="e92b802c" sha1="b72177d547b749b52e46b3f443d85ededfa3a75f" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Game Over + Arkanoid + Tank"/>
- <dataarea name="flop" size="214784">
- <rom name="dixons premier collection for your +3 - game over + arkanoid + tank (1988)(dixons)(side b).dsk" size="214784" crc="a21496c5" sha1="b29de08493f37ad01bfb88e7a06762c5d5f1f906" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="doublecl">
- <description>Double Classic</description>
- <year>1988</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Diablo!"/>
- <dataarea name="flop" size="194816">
- <rom name="double classic (1988)(zenobi)(side a).dsk" size="194816" crc="80ea8e9d" sha1="2bd5961f2b50479d9600cf9545c94237d70f5342" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Dr. Jekyll and Mr. Hyde "/>
- <dataarea name="flop" size="194816">
- <rom name="double classic (1988)(zenobi)(side b).dsk" size="194816" crc="a92e7e19" sha1="4e7aeebbe48f81534ac6e8e6d3d64b8e08500c7a" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="epyx21">
- <description>Epyx 21</description>
- <year>1990</year>
- <publisher>U.S. Gold</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Disk 1, Side A"/>
- <dataarea name="flop" size="254208">
- <rom name="epyx 21 (1990)(u.s. gold)(disk 1 of 2 side a).dsk" size="254208" crc="31775c37" sha1="3e07255bf51a9d44d5adebc7b12b09d2a37735b2" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Disk 1, Side B"/>
- <dataarea name="flop" size="255232">
- <rom name="epyx 21 (1990)(u.s. gold)(disk 1 of 2 side b).dsk" size="255232" crc="84dc286e" sha1="4983fcc6eb2168ee94205bb19032bd68fa5913a3" offset="0" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_3">
- <feature name="part_id" value="Disk 2"/>
- <dataarea name="flop" size="256256">
- <rom name="epyx 21 (1990)(u.s. gold)(disk 2 of 2).dsk" size="256256" crc="251117ed" sha1="89cd3b465cdc35df7399996a4a0ca33a70bbdb46" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="erbe88">
- <description>Erbe 88</description>
- <year>1988</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Disk 1, Side A: Chicago 30's + Coliseum"/>
- <dataarea name="flop" size="194816">
- <rom name="erbe 88 - chicago 30's + coliseum (1988)(erbe)(es).dsk" size="194816" crc="00933d7d" sha1="19d5fcbe03c3148ea7079be5d39b88de3ee9579d" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Disk 1, Side B: Titanic"/>
- <dataarea name="flop" size="194816">
- <rom name="erbe 88 - titanic (1988)(erbe)(es).dsk" size="194816" crc="a4545d81" sha1="c8d824b8af1a93971ea9297f5feef04cd902460d" offset="0" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_3">
- <feature name="part_id" value="Disk 2, Side A: Operation Wolf"/>
- <dataarea name="flop" size="194816">
- <rom name="erbe 88 - operation wolf (1988)(erbe)(es).dsk" size="194816" crc="8684cb85" sha1="17ef91450cc7e81a02846ac92aa2e37c35cbd7c7" offset="0" />
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_3">
- <feature name="part_id" value="Disk 2, Side B: Psycho Pig U.X.B."/>
- <dataarea name="flop" size="63488">
- <rom name="erbe 88 - psycho pig u.x.b. (1988)(erbe)(es).dsk" size="63488" crc="6494096f" sha1="9202225cadeea646288cddb514a098d6333c262d" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="erbe88a" cloneof="erbe88">
- <description>Erbe 88 (alt)</description>
- <year>1988</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Disk 1, Side A: Chicago 30's + Coliseum"/>
- <dataarea name="flop" size="116992">
- <rom name="erbe 88 - chicago 30's + coliseum (1988)(erbe)(es)(disk 1 of 3 side a).dsk" size="116992" crc="68c614a5" sha1="7aacdd3676b6d45023105c64eab30006cc893eac" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Disk 1, Side B: Titanic"/>
- <dataarea name="flop" size="116992">
- <rom name="erbe 88 - titanic (1988)(erbe)(es)(disk 1 of 3 side b).dsk" size="116992" crc="601a2bbc" sha1="2b102f7e62a13821e079797aefd6fc72106ecf9e" offset="0" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_3">
- <feature name="part_id" value="Disk 2, Side A: Operation Wolf"/>
- <dataarea name="flop" size="194816">
- <rom name="erbe 88 (1988)(erbe)(es)(disk 2 of 3 side a).dsk" size="194816" crc="e60e1d0c" sha1="c8243daf73b2936d1142e362f77a5f874acccba4" offset="0" />
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_3">
- <feature name="part_id" value="Disk 2, Side B: Psycho Pig U.X.B."/>
- <dataarea name="flop" size="68352">
- <rom name="erbe 88 (1988)(erbe)(es)(disk 2 of 3 side b).dsk" size="68352" crc="3d8e6ea8" sha1="e3b07c3193ae36005073da72702e0134310d18e2" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="erbe88b" cloneof="erbe88">
- <description>Erbe 88 (alt 2)</description>
- <year>1988</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <!-- Side missing from dump, using same as parent set -->
- <feature name="part_id" value="Disk 1, Side A: Chicago 30's + Coliseum"/>
- <dataarea name="flop" size="194816">
- <rom name="erbe 88 - chicago 30's + coliseum (1988)(erbe)(es).dsk" size="194816" crc="00933d7d" sha1="19d5fcbe03c3148ea7079be5d39b88de3ee9579d" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <!-- Side missing from dump, using same as parent set -->
- <feature name="part_id" value="Disk 1, Side B: Titanic"/>
- <dataarea name="flop" size="194816">
- <rom name="erbe 88 - titanic (1988)(erbe)(es).dsk" size="194816" crc="a4545d81" sha1="c8d824b8af1a93971ea9297f5feef04cd902460d" offset="0" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_3">
- <feature name="part_id" value="Disk 2, Side A: Operation Wolf"/>
- <dataarea name="flop" size="194816">
- <rom name="erbe 88 - operation wolf (1988)(erbe)(es)[a].dsk" size="194816" crc="0975a93a" sha1="010edc4e3470e29eeaccf1fea8ff53910c8ee1dc" offset="0" />
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_3">
- <feature name="part_id" value="Disk 2, Side B: Psycho Pig U.X.B."/>
- <dataarea name="flop" size="68352">
- <rom name="erbe 88 - psycho pig u.x.b. (1988)(erbe)(es)[a].dsk" size="68352" crc="103dba81" sha1="debe0011ae1c8a63fc3858d66ca778c8aaf38c3c" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="escapefr">
- <description>Escape from Prison Planet + Hounds of Hell</description>
- <year>19??</year>
- <publisher>The Adventure Workshop</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Escape from Prison Planet"/>
- <dataarea name="flop" size="194816">
- <rom name="escape from prison planet + hounds of hell (19xx)(adventure workshop, the)(side a).dsk" size="194816" crc="4295ad13" sha1="785bbe2d378fc71c07cb5fdfd74c704a7d693132" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Hounds of Hell"/>
- <dataarea name="flop" size="194816">
- <rom name="escape from prison planet + hounds of hell (19xx)(adventure workshop, the)(side b).dsk" size="194816" crc="fc35c9d4" sha1="7aa8693ebbe0acc1cc866c1b1064e914913094b7" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="evenyeta">
- <description>Even Yet Another Big Disk</description>
- <year>1991</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: The Dogboy + Kobyashi Ag'Kwo - A Return to Naru"/>
- <dataarea name="flop" size="194816">
- <rom name="even yet another big disk - the dogboy + kobyashi ag'kwo - a return to naru (1991)(zenobi)(side a).dsk" size="194816" crc="0e5c3a13" sha1="0f507f72b0b096f37ef307443bb50e7fa88edaae" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Silverwolf + Darkest Road"/>
- <dataarea name="flop" size="194816">
- <rom name="even yet another big disk - silverwolf + darkest road (1991)(zenobi)(side b).dsk" size="194816" crc="d4481c89" sha1="df54fd6d863731938d2067e94fb7ff9bf68cbc67" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="fivestg3">
- <description>Five Star Games 3</description>
- <year>1987</year>
- <publisher>Beau-Jolly</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Aliens + The Sacred Armour of Antiriad + The Way of the Exploding Fist"/>
- <dataarea name="flop" size="194816">
- <rom name="five star games 3 - aliens + the sacred armour of antiriad + the way of the exploding fist (1987)(beau-jolly).dsk" size="194816" crc="a4183f58" sha1="bda5e566d528700d8dc829636a59a55a8755f055" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Spindizzy + Starquake + Tau Ceti + Uridium+"/>
- <dataarea name="flop" size="194816">
- <rom name="five star games 3 - spindizzy + starquake + tau ceti + uridium+ (1987)(beau-jolly).dsk" size="194816" crc="52571952" sha1="23a2ce48d8ea3116578084c398702be0c3adb8d4" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="fyabdisk">
- <description>Found Yet Another Big Disk</description>
- <year>1991</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: The End is Nigh"/>
- <dataarea name="flop" size="194816">
- <rom name="found yet another big disk - the end is nigh (1991)(zenobi)(side a).dsk" size="194816" crc="0fd39d7a" sha1="2291ace6106dc57389039e58c82887f1807eac9d" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Brian - The Novice Barbarian + Civil Service + Man About the House"/>
- <dataarea name="flop" size="194816">
- <rom name="found yet another big disk - brian - the novice barbarian + civil service + man about the house (1991)(zenobi)(side b).dsk" size="194816" crc="f6a2ac35" sha1="71eb7edc2621a1973aa0e5e1b46075cfc0911695" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="fourggv3">
- <description>Four Great Games Volume 3</description>
- <year>1988</year>
- <publisher>Micro Value</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="four great games volume 3 (1988)(micro value)[aka microvalue vol. 3].dsk" size="194816" crc="b439e35b" sha1="aafee1249e8ac3f6ec55631b5c59328b55515b36" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="frankbbb">
- <description>Frank Bruno's Big Box</description>
- <year>1989</year>
- <publisher>Elite Systems</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Disk 1, Side A: Frank Bruno's Boxing + Bomb Jack"/>
- <dataarea name="flop" size="194816">
- <rom name="frank bruno's big box (1989)(elite systems)(disk 1 of 4 side a).dsk" size="194816" crc="2c8a15df" sha1="0ba9000def471f11594b303304844f038c12e5a5" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Disk 1, Side B: Airwolf + Commando + Scooby Doo"/>
- <dataarea name="flop" size="194816">
- <rom name="frank bruno's big box (1989)(elite systems)(disk 1 of 4 side b).dsk" size="194816" crc="33f3b9f4" sha1="9a774e45a3c3b5f736c159345a0c8a2ef728dd86" offset="0" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_3">
- <feature name="part_id" value="Disk 2, Side A: 1942 + Batty + Ghost 'n Goblins"/>
- <dataarea name="flop" size="194816">
- <rom name="frank bruno's big box (1989)(elite systems)(disk 2 of 4 side a).dsk" size="194816" crc="f93cef0c" sha1="3f371f869842621c1445519fdd7e537c3abe9c93" offset="0" />
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_3">
- <feature name="part_id" value="Disk 2, Side B: Battle Ships + Saboteur"/>
- <dataarea name="flop" size="194816">
- <rom name="frank bruno's big box (1989)(elite systems)(disk 2 of 4 side b).dsk" size="194816" crc="1492c7ad" sha1="c5a5de4cfc383533d02bad47567e21a7a08815db" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="gaggeorg">
- <description>Gaggles of George</description>
- <year>1996</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Brian - The Novice Barbarian + A Fistful of Necronomicons"/>
- <dataarea name="flop" size="194816">
- <rom name="gaggles of george - brian - the novice barbarian + a fistful of necronomicons (1996)(zenobi)(side a).dsk" size="194816" crc="1ee71ba8" sha1="c6e692b8a11fac0e125362888d1b49cac8ea4d2e" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Trouble with Trolls + The Emerald Elf"/>
- <dataarea name="flop" size="194816">
- <rom name="gaggles of george - trouble with trolls + the emerald elf (1996)(zenobi)(side b).dsk" size="194816" crc="7f144a30" sha1="4bd81a0bf2f22ca42d901377e8112ffddabcbf98" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="gameover">
- <description>Game Over + Game Over 2</description>
- <year>19??</year>
- <publisher>Imagine Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Game Over"/>
- <dataarea name="flop" size="101888">
- <rom name="game over + game over 2 (19xx)(imagine)(side a).dsk" size="101888" crc="6d00c99e" sha1="c4f455027c568c1d2b2538455d48cc74326e88f4" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Game Over II"/>
- <dataarea name="flop" size="107264">
- <rom name="game over + game over 2 (19xx)(imagine)(side b).dsk" size="107264" crc="26859d00" sha1="b806d734fdc966ad6ab0ce0a522fcfdf731efd5f" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="gsandmat">
- <description>Game, Set and Match</description>
- <year>1987</year>
- <publisher>Ocean Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: GBA Championship Basketball + Super Soccer + World Series Baseball"/>
- <dataarea name="flop" size="194560">
- <rom name="game, set and match - gba championship basketball + super soccer + world series baseball (1987)(ocean).dsk" size="194560" crc="6f8325fc" sha1="0cbe9b1ad58ac17b1e0cdd59e390ed2095f68c43" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side A: Hyper Sports + Konami's Tennis"/>
- <dataarea name="flop" size="194560">
- <rom name="game, set and match - hyper sports + konami's tennis (1987)(ocean).dsk" size="194560" crc="5873c4f6" sha1="4b1031a0ffcb952862aa500b3428fc8b5a7d9a08" offset="0" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_3">
- <feature name="part_id" value="Side A: Konami's Ping Pong + Daley Thompson's Supertest"/>
- <dataarea name="flop" size="194560">
- <rom name="game, set and match - konami's ping pong + daley thompson's supertest (1987)(ocean).dsk" size="194560" crc="51ce1b94" sha1="7022c2172a46d6c705da4343eaa9d1b47547a09e" offset="0" />
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_3">
- <feature name="part_id" value="Side A: Barry McGuigan World Championship Boxing + Jonah Barrington's Squash + Pool"/>
- <dataarea name="flop" size="194560">
- <rom name="game, set and match - barry mcguigan world championship boxing + jonah barrington's squash + pool (1987)(ocean).dsk" size="194560" crc="e2b334e1" sha1="d514e073868c131af165d89920aff1f4c849a36f" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="germmstr">
- <description>The German Master</description>
- <year>1993</year>
- <publisher>Kosmos</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="german master, the (1993)(kosmos).dsk" size="194816" crc="f8eaac2a" sha1="6fe7928e0a35a1aec442eda354853d4b9ff1d593" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="giantsug">
- <description>Giants (U.S. Gold)</description>
- <year>1988</year>
- <publisher>U.S. Gold</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Disk 1, Side A: Out Run"/>
- <dataarea name="flop" size="134144">
- <rom name="giants - out run (1988)(u.s. gold)(disk 1 of 3 side a).dsk" size="134144" crc="2ebaa196" sha1="7a27e07d14b6d095e90a4e5fb1550c72651dad27" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Disk 1, Side B: Out Run"/>
- <dataarea name="flop" size="154624">
- <rom name="giants - out run (1988)(u.s. gold)(disk 1 of 3 side b).dsk" size="154624" crc="e55f2a26" sha1="296cc4091571beb20dbea551adaf7a53e13214a2" offset="0" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_3">
- <feature name="part_id" value="Side A: 720 Degrees + Rolling Thunder"/>
- <dataarea name="flop" size="194816">
- <rom name="giants - 720 degrees + rolling thunder (1988)(u.s. gold)(disk 2 of 3 side a).dsk" size="194816" crc="f2ded21e" sha1="055f552e55fc5d2d698f9a17c6524cf8a21d2614" offset="0" />
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_3">
- <feature name="part_id" value="Side B: Gauntlet II"/>
- <dataarea name="flop" size="174336">
- <rom name="giants - gauntlet ii (1988)(u.s. gold)(disk 2 of 3 side b).dsk" size="174336" crc="34f085e5" sha1="f15d5d0f21192a7d3e8881b20fcf26b63a93173e" offset="0" />
- </dataarea>
- </part>
- <part name="flop5" interface="floppy_3">
- <feature name="part_id" value="Side A: California Games"/>
- <dataarea name="flop" size="182016">
- <rom name="giants - california games (1988)(u.s. gold)(disk 3 of 3 side a).dsk" size="182016" crc="345824a9" sha1="d071db70eca434477322f6b105cc7830f2892f73" offset="0" />
- </dataarea>
- </part>
- <part name="flop6" interface="floppy_3">
- <feature name="part_id" value="Side B: California Games"/>
- <dataarea name="flop" size="182528">
- <rom name="giants - california games (1988)(u.s. gold)(disk 3 of 3 side b).dsk" size="182528" crc="3b596738" sha1="2333a2612b1dbd633dadaba41c5c058bcf52e8ba" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="goldsibr">
- <description>Gold, Silver, Bronze</description>
- <year>1988</year>
- <publisher>U.S. Gold</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Disk 1, Side A: Summer Games"/>
- <dataarea name="flop" size="184576">
- <rom name="gold, silver, bronze (1988)(u.s. gold)(side a).dsk" size="184576" crc="3034504a" sha1="f20baaf234c68f322d527d076aa837075127a935" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Disk 1, Side B: Summer Games"/>
- <dataarea name="flop" size="180480">
- <rom name="gold, silver, bronze (1988)(u.s. gold)(side b).dsk" size="180480" crc="cd24812e" sha1="97dc0397ac86f4b46906c8191ef58e14502c442d" offset="0" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_3">
- <feature name="part_id" value="Disk 2, Side A: Summer Games II"/>
- <dataarea name="flop" size="194816">
- <rom name="gold, silver, bronze (1988)(u.s. gold)(side a)[a].dsk" size="194816" crc="0422099d" sha1="94fe94accdd84bb642a1563b3cac8226c7db39b9" offset="0" />
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_3">
- <feature name="part_id" value="Disk 2, Side B: Summer Games II"/>
- <dataarea name="flop" size="194816">
- <rom name="gold, silver, bronze (1988)(u.s. gold)(side b)[a].dsk" size="194816" crc="f69fca95" sha1="635179013ca325526e23a32623487342ae950fbb" offset="0" />
- </dataarea>
- </part>
- <part name="flop5" interface="floppy_3">
- <feature name="part_id" value="Disk 3: Winter Games"/>
- <dataarea name="flop" size="194816">
- <rom name="gold, silver, bronze (1988)(u.s. gold).dsk" size="194816" crc="046fe4f5" sha1="c19641545d22432e01c29c31c52770cad2d30566" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="grabbedb">
- <description>Grabbed by the Ghoulies + Helvera - Mistress of the Park</description>
- <year>1993</year>
- <publisher>FSF Adventures</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Grabbed by the Ghoulies"/>
- <dataarea name="flop" size="195635">
- <rom name="grabbed by the ghoulies + helvera - mistress of the park (1993)(fsf adventures)(side a).dsk" size="195635" crc="e5e82113" sha1="5f5de7204497820d9bcd9c73b2f1deede108a884" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Helvera - Mistress of the Park"/>
- <dataarea name="flop" size="195121">
- <rom name="grabbed by the ghoulies + helvera - mistress of the park (1993)(fsf adventures)(side b).dsk" size="195121" crc="c90726df" sha1="c08fd3e559823420f2dcc5d3b66f9671e0059da6" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="granypeq">
- <description>Grandes y Pequenos</description>
- <year>19??</year>
- <publisher>DIMensionNEW</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="grandes y pequenos (19xx)(dimensionnew)(es)(side a).dsk" size="194816" crc="8abe3df8" sha1="ed8b86e3d88b262f6aa31164479455322929fe65" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="grandes y pequenos (19xx)(dimensionnew)(es)(side b).dsk" size="194816" crc="5a5169e4" sha1="43cfafaaef72f6a61b1478e1b01ee5994d824290" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="hairytoe">
- <description>Hairy Toes</description>
- <year>1992</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Bored of the Rings"/>
- <dataarea name="flop" size="194816">
- <rom name="hairy toes (1992)(zenobi)(side a).dsk" size="194816" crc="6a0bacb5" sha1="c0321b609e53b5ef1f66fa20e66b2f7d345d09c8" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: The Boggit"/>
- <dataarea name="flop" size="194816">
- <rom name="hairy toes (1992)(zenobi)(side b).dsk" size="194816" crc="c811fad1" sha1="35106e77a739ba31f8010e9184548f43949f24b0" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="handfham">
- <description>A Handful of Hamsters</description>
- <year>1993</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Brian + Aunt Velma + Desmond and Gertrude"/>
- <dataarea name="flop" size="194816">
- <rom name="handful of hamsters, a (1993)(zenobi)(side a).dsk" size="194816" crc="62b16c8a" sha1="5e3c6f208d65a2e444cee8f06f08d58e7ba9168a" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Raymond Pringle + Larry the Lemming + Snow Joke + Star Flaws"/>
- <dataarea name="flop" size="194816">
- <rom name="handful of hamsters, a (1993)(zenobi)(side b).dsk" size="194816" crc="4aa88009" sha1="45261509ddcc4eb4e3ce362f5ef55fa3182fded4" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="heroes00">
- <description>Heroes - </description>
- <year>1990</year>
- <publisher>Domark</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Disk 1, Side A: 007 - Licence to Kill"/>
- <dataarea name="flop" size="194816">
- <rom name="heroes - 007 - licence to kill (1990)(domark)(disk 2 of 2 side a).dsk" size="194816" crc="bbed625c" sha1="dda1f24159aad33de62620f60ef38f818fa0ce2f" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Disk 1, Side B: Star Wars"/>
- <dataarea name="flop" size="194816">
- <rom name="heroes - star wars (1990)(domark)(disk 2 of 2 side b).dsk" size="194816" crc="1da0fe94" sha1="f8ae04e3682c642f49f77325441e33d22bb92e13" offset="0" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_3">
- <feature name="part_id" value="Disk 2, Side A: Barbarian II - The Dungeon of Drax"/>
- <dataarea name="flop" size="254720">
- <rom name="heroes - barbarian ii - the dungeon of drax (1990)(domark)(disk 1 of 2 side a).dsk" size="254720" crc="c5f59915" sha1="be8bb66b0865d1c3933a7bc5286a47e762a06014" offset="0" />
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_3">
- <feature name="part_id" value="Disk 2, Side B: The Running Man"/>
- <dataarea name="flop" size="194816">
- <rom name="heroes - the running man (1990)(domark)(disk 1 of 2 side b).dsk" size="194816" crc="10b9030f" sha1="7fa7a664ef93308584e421fc8604491a06b05a2e" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="javher1">
- <description>Javier Herrera Games Collection 01</description>
- <year>19??</year>
- <publisher>&lt;homebrew&gt;</publisher>
- <info name="author" value="Javier Herrera"/>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="javier herrera games collection 01 (19xx)(herrera, javier)(side a).dsk" size="194816" crc="8e88719c" sha1="c381aa7d50e6514908443e41a05bc3aa5f26c00b" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="javier herrera games collection 01 (19xx)(herrera, javier)(side b).dsk" size="194816" crc="1b13630c" sha1="82b45efa805d60e83d20bbee193817e2163a6121" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="javher2">
- <description>Javier Herrera Games Collection 02</description>
- <year>19??</year>
- <publisher>&lt;homebrew&gt;</publisher>
- <info name="author" value="Javier Herrera"/>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="javier herrera games collection 02 (19xx)(herrera, javier)(side a).dsk" size="194816" crc="585d1e40" sha1="350a69050ffff673a2a3630c0cba133ac9407104" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="javier herrera games collection 02 (19xx)(herrera, javier)(side b).dsk" size="194816" crc="d6618660" sha1="112e207edb35fbe8ed8b2bd5cefdddcd320c1265" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="javher3">
- <description>Javier Herrera Games Collection 03</description>
- <year>19??</year>
- <publisher>&lt;homebrew&gt;</publisher>
- <info name="author" value="Javier Herrera"/>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="javier herrera games collection 03 (19xx)(herrera, javier)(side a).dsk" size="194816" crc="aee0e8fb" sha1="461a59555e7a356bb0f259ea581db875ed8c9b4e" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="javier herrera games collection 03 (19xx)(herrera, javier)(side b).dsk" size="194816" crc="860f1ad5" sha1="41ee5ce0d8fc524a0fefc170787a3cc2c23ebfa6" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="javher4">
- <description>Javier Herrera Games Collection 04</description>
- <year>19??</year>
- <publisher>&lt;homebrew&gt;</publisher>
- <info name="author" value="Javier Herrera"/>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="javier herrera games collection 04 (19xx)(herrera, javier)(side a).dsk" size="194816" crc="945a50e7" sha1="4f4d6a6b79b0663db941fcd00dc4b610227965f9" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="javier herrera games collection 04 (19xx)(herrera, javier)(side b).dsk" size="194816" crc="f144360d" sha1="880e66995adaa86bf7af0e080813adf07dcc54dc" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="javher5">
- <description>Javier Herrera Games Collection 05</description>
- <year>19??</year>
- <publisher>&lt;homebrew&gt;</publisher>
- <info name="author" value="Javier Herrera"/>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="javier herrera games collection 05 (19xx)(herrera, javier)(side a).dsk" size="194816" crc="fd15463f" sha1="8751b52e632326bf6a7d85a6452e1bc2015105b4" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="javier herrera games collection 05 (19xx)(herrera, javier)(side b).dsk" size="194816" crc="9ea0fb52" sha1="dee8356f68826b6ced8a22a6d840b815422071c3" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="javher6">
- <description>Javier Herrera Games Collection 06</description>
- <year>19??</year>
- <publisher>&lt;homebrew&gt;</publisher>
- <info name="author" value="Javier Herrera"/>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="javier herrera games collection 06 (19xx)(herrera, javier)(side a).dsk" size="194816" crc="ff05a19e" sha1="85e7e6c2f39dac4342565649cc1948a697188828" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="193792">
- <rom name="javier herrera games collection 06 (19xx)(herrera, javier)(side b).dsk" size="193792" crc="d129c849" sha1="6485512d6e32cc83e6db22050df1e231dfbbb3af" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="javher9">
- <description>Javier Herrera Games Collection 09</description>
- <year>19??</year>
- <publisher>&lt;homebrew&gt;</publisher>
- <info name="author" value="Javier Herrera"/>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="javier herrera games collection 09 (19xx)(herrera, javier)(side a).dsk" size="194816" crc="ad137e62" sha1="0f375a8287bd2f05efc5825549df01bfbc2024f7" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="javier herrera games collection 09 (19xx)(herrera, javier)(side b).dsk" size="194816" crc="b3fc35d5" sha1="8e24264fe8b7a5a53806798cde7e0d56dd232318" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="javher10">
- <description>Javier Herrera Games Collection 10</description>
- <year>19??</year>
- <publisher>&lt;homebrew&gt;</publisher>
- <info name="author" value="Javier Herrera"/>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="javier herrera games collection 10 (19xx)(herrera, javier)(side a).dsk" size="194816" crc="4a4d462b" sha1="d90d9c48e773e2b71dcc42a3755733e8ee00b876" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="javier herrera games collection 10 (19xx)(herrera, javier)(side b).dsk" size="194816" crc="639ba3f6" sha1="f342fa23801f4fc5c888f02d36eed9cb167a8871" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="jennybd1">
- <description>Jenny's Big Disk Vol 1</description>
- <year>1991</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Behold Atlantis"/>
- <dataarea name="flop" size="194816">
- <rom name="jenny's big disk vol 1 (1991)(zenobi)(side a).dsk" size="194816" crc="04408dce" sha1="83e0bc202f3beaf6361c03cf8f8757f721e8b7d6" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Eclipse"/>
- <dataarea name="flop" size="194816">
- <rom name="jenny's big disk vol 1 (1991)(zenobi)(side b).dsk" size="194816" crc="8aac5b2f" sha1="37e2f6f17b84bfeff83c8345918acec4a8a9e8cb" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="jennybd2">
- <description>Jenny's Big Disk Vol 2</description>
- <year>1990</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: The Lost Temple"/>
- <dataarea name="flop" size="194816">
- <rom name="jenny's big disk vol 2 (1990)(zenobi)(side a).dsk" size="194816" crc="0a4cb350" sha1="4a13aa3b24c9e385f95847f17d5d3321605d025a" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: The Treasure of Santa Maria"/>
- <dataarea name="flop" size="194816">
- <rom name="jenny's big disk vol 2 (1990)(zenobi)(side b).dsk" size="194816" crc="4f3ae846" sha1="860b39e96eeae42c162a22f944466c0d9142ca0f" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="jenynbd1">
- <description>Jenny's Next Big Disk Vol 1</description>
- <year>1991</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: The Curse of Calutha"/>
- <dataarea name="flop" size="194816">
- <rom name="jenny's next big disk vol 1 (1991)(zenobi)(side a).dsk" size="194816" crc="79c7a85c" sha1="3978615fe5311f291d4c32ac43e45ff29fb7b615" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: The Legacy"/>
- <dataarea name="flop" size="194816">
- <rom name="jenny's next big disk vol 1 (1991)(zenobi)(side b).dsk" size="194816" crc="7989e4ce" sha1="2367c4d459fa34a35bb5022c15ce434a95f03baa" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="jenynbd2">
- <description>Jenny's Next Big Disk Vol 2</description>
- <year>1992</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Laskar's Crystals"/>
- <dataarea name="flop" size="209408">
- <rom name="jenny's next big disk vol 2 (1992)(zenobi)(side a).dsk" size="209408" crc="6b291a87" sha1="b9737c023e7e9075d8b1941c893ea2c72b39516b" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Marooned"/>
- <dataarea name="flop" size="194816">
- <rom name="jenny's next big disk vol 2 (1992)(zenobi)(side b).dsk" size="194816" crc="93d0566d" sha1="b9a62b6ab72bb7e82aab610d34eff98f0ab54447" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="jestej1">
- <description>Jesus Tejero Software Collection 01</description>
- <year>19??</year>
- <publisher>&lt;homebrew&gt;</publisher>
- <info name="author" value="Jesus Tejero"/>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="jesus tejero software collection 01 (19xx)(tejero, jesus)(es)(side a).dsk" size="194816" crc="6f866526" sha1="6f7ebd43e7fe846a327a52890ed109c758178f51" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="jesus tejero software collection 01 (19xx)(tejero, jesus)(es)(side b).dsk" size="194816" crc="4a997a96" sha1="31e9604ba90626568bb2dd6f98ce65421adef904" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="jestej2">
- <description>Jesus Tejero Software Collection 02</description>
- <year>19??</year>
- <publisher>&lt;homebrew&gt;</publisher>
- <info name="author" value="Jesus Tejero"/>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="jesus tejero software collection 02 (19xx)(tejero, jesus)(es)(side a).dsk" size="194816" crc="1c6b3879" sha1="d91a08044ac652626916fb8168747353fb872727" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="jesus tejero software collection 02 (19xx)(tejero, jesus)(es)(side b).dsk" size="194816" crc="29908ccc" sha1="6261f8744f9588149043dfa1f163198a8d0a592f" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="jestej3">
- <description>Jesus Tejero Software Collection 03</description>
- <year>19??</year>
- <publisher>&lt;homebrew&gt;</publisher>
- <info name="author" value="Jesus Tejero"/>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="jesus tejero software collection 03 (19xx)(tejero, jesus)(es)(side a).dsk" size="194816" crc="3cd316b8" sha1="312e2cbe04be6d255ffa835ab8aee31281cc3169" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="jesus tejero software collection 03 (19xx)(tejero, jesus)(es)(side b).dsk" size="194816" crc="f4bfd57c" sha1="3ecf16672b0d0232f390263fbb669212c4d1896d" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="jestej4">
- <description>Jesus Tejero Software Collection 04</description>
- <year>19??</year>
- <publisher>&lt;homebrew&gt;</publisher>
- <info name="author" value="Jesus Tejero"/>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="jesus tejero software collection 04 (19xx)(tejero, jesus)(es)(side a).dsk" size="194816" crc="9969a712" sha1="db44821a2215befb5829710822f7fbb8f6bba94d" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="jesus tejero software collection 04 (19xx)(tejero, jesus)(es)(side b).dsk" size="194816" crc="c67c7d7e" sha1="d6cdc08a7a3178c75d63ba9cbbae641189cf7d58" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="jestej5">
- <description>Jesus Tejero Software Collection 05</description>
- <year>19??</year>
- <publisher>&lt;homebrew&gt;</publisher>
- <info name="author" value="Jesus Tejero"/>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="jesus tejero software collection 05 (19xx)(tejero, jesus)(es)(side a).dsk" size="194816" crc="e0df9b47" sha1="1692adc48cc61d3d20c5c31fd5e428da18f36082" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="jesus tejero software collection 05 (19xx)(tejero, jesus)(es)(side b).dsk" size="194816" crc="2f1b581b" sha1="dcee200454cd16508490922d7721bcb65040d6d4" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="jeweldar">
- <description>Jewels of Darkness</description>
- <year>1986</year>
- <publisher>Rainbird Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="jewels of darkness (1986)(rainbird).dsk" size="194816" crc="1b1a7650" sha1="da619ff04356ce9ae0f22cf0eeabe2dc39aa918e" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="kidnafps">
- <description>Kidnapped + For Pete's Sake</description>
- <year>1993</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Kidnapped"/>
- <dataarea name="flop" size="195121">
- <rom name="kidnapped + for pete's sake (1993)(zenobi)(side a).dsk" size="195121" crc="c88fcc08" sha1="5f9505b5ef2380314161b384e11eae243760b02f" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: For Pete's Sake"/>
- <dataarea name="flop" size="195635">
- <rom name="kidnapped + for pete's sake (1993)(zenobi)(side b).dsk" size="195635" crc="9c1af001" sha1="8a587d3745699a2547e6ccdf6007a344b03d21f5" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="konaccol">
- <description>Konami's Arcade Collection</description>
- <year>1988</year>
- <publisher>Imagine Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Disk 1, Side A: Shao-Lin's Road + Jail Break + Nemesis"/>
- <dataarea name="flop" size="214784">
- <rom name="konami's arcade collection - shao-lin's road + jail break + nemesis (1988)(imagine)(disk 1 of 2 side a).dsk" size="214784" crc="e7c46afe" sha1="385c2bf89c20de4180ff3a6f8043838c13f7eebe" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Disk 1, Side B: Hyper Sports + Mikie + Green Beret"/>
- <dataarea name="flop" size="214784">
- <rom name="konami's arcade collection - hyper sports + mikie + green beret (1988)(imagine)(disk 1 of 2 side b).dsk" size="214784" crc="52ffd779" sha1="5d20442ae382b97f186c4c512e29104eb46b7a71" offset="0" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_3">
- <feature name="part_id" value="Disk 2, Side A: Jackal + Yie Ar Kung-Fu"/>
- <dataarea name="flop" size="214784">
- <rom name="konami's arcade collection - jackal + yie ar kung-fu (1988)(imagine)(disk 2 of 2 side a).dsk" size="214784" crc="8a0d2595" sha1="ce4b6b67d4256e66acbdcf2f1a0209d04d8fa239" offset="0" />
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_3">
- <feature name="part_id" value="Disk 2, Side B: Konami's Ping Pong + Yie Ar Kung-Fu II"/>
- <dataarea name="flop" size="214784">
- <rom name="konami's arcade collection - konami's ping pong + yie ar kung-fu ii (1988)(imagine)(disk 2 of 2 side b).dsk" size="214784" crc="e39e4c8c" sha1="2727cc2395a75f8b4c69a31e3dee44950a7d960a" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="krazktgk">
- <description>Krazy Kartoonist Kaper + The Grue-Knapped</description>
- <year>1991</year>
- <publisher>FSF Adventures</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Krazy Kartoonist Kaper"/>
- <dataarea name="flop" size="194816">
- <rom name="krazy kartoonist kaper + grue-knapped, the (1991)(fsf adventures)(side a).dsk" size="194816" crc="1712580c" sha1="7b563696bd077c2a1c8865c91a20d4f243fa5fb7" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: The Grue-Knapped"/>
- <dataarea name="flop" size="194816">
- <rom name="krazy kartoonist kaper + grue-knapped, the (1991)(fsf adventures)(side b).dsk" size="194816" crc="7599ce82" sha1="6eb40c49ce89f42bf7aeb00328cdbacfe7b9ce75" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="lotbdsks">
- <description>Last of the Big Disks</description>
- <year>1993</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Kidnapped + Celtic Carnage + Personal Computer Whirled"/>
- <dataarea name="flop" size="194816">
- <rom name="last of the big disks - kidnapped + celtic carnage + personal computer whirled (1993)(zenobi)(side a).dsk" size="194816" crc="9054eae2" sha1="a40ff8b4710c7d9854183a7bce222138336bcf72" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Microfair Madness + The Search for Smok"/>
- <dataarea name="flop" size="194816">
- <rom name="last of the big disks - microfair madness + the search for smok (1993)(zenobi)(side b).dsk" size="194816" crc="e1f5c23f" sha1="8d9ce5f5105e868a5615d8621f865a4433a2798a" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="leadboa3">
- <description>Leader Board Par 3</description>
- <year>1988</year>
- <publisher>U.S. Gold</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Leaderboard + Leaderboard Tournament"/>
- <dataarea name="flop" size="194816">
- <rom name="leader board par 3 - leaderboard + leaderboard tournament (1988)(u.s. gold)(disk 1 of 2).dsk" size="194816" crc="ce7bb0b9" sha1="146ad94cd850568ce94303f602b3cbb6ccbf16e6" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Disk 2, Side A: World Class Leaderboard"/>
- <dataarea name="flop" size="194816">
- <rom name="leader board par 3 - world class leaderboard (1988)(u.s. gold)(disk 2 of 2 side a).dsk" size="194816" crc="7796b0f6" sha1="428894e7cb23fb9702c0a3db0c7692ce3e7079e0" offset="0" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_3">
- <feature name="part_id" value="Disk 2, Side B: World Class Leaderboard"/>
- <dataarea name="flop" size="194816">
- <rom name="leader board par 3 - world class leaderboard (1988)(u.s. gold)(disk 2 of 2 side b).dsk" size="194816" crc="b9ef96d2" sha1="903b9a18cecfdfe20413ee6c11edc18e14e920fa" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="liveammo">
- <description>Live Ammo</description>
- <year>1987</year>
- <publisher>Ocean Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Green Beret + Top Gun + Rambo"/>
- <dataarea name="flop" size="194560">
- <rom name="live ammo - green beret + top gun + rambo (1987)(ocean)(side a)[aka live action].dsk" size="194560" crc="f20462e2" sha1="246756c5264e80b907edb78333ecde2c3f2b0aca" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: The Great Escape + Army Moves"/>
- <dataarea name="flop" size="194560">
- <rom name="live ammo - the great escape + army moves (1987)(ocean)(side b)[aka live action].dsk" size="194560" crc="09dac59c" sha1="aa79dd1cf0b013806403bd4be1e4879653a77d9f" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="liveammoa" cloneof="liveammo">
- <description>Live Ammo - Green Beret + Top Gun + Rambo (alt)</description>
- <year>1987</year>
- <publisher>Ocean Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Green Beret + Top Gun + Rambo"/>
- <dataarea name="flop" size="194560">
- <rom name="live ammo - green beret + top gun + rambo (1987)(ocean)(side a)[a][aka live action].dsk" size="194560" crc="3d3499d5" sha1="83fd130baf796cfdd318d46dfdf2f80c007166b8" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: The Great Escape + Army Moves"/>
- <dataarea name="flop" size="194560">
- <rom name="live ammo - the great escape + army moves (1987)(ocean)(side b)[a][aka live action].dsk" size="194560" crc="438bc244" sha1="7b42af186c1a92af69d9622bfc136f9bf97ac09e" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="lomejdin">
- <description>Lo Mejor de Dinamic</description>
- <year>1988</year>
- <publisher>Dinamic Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Game Over + Freddy Hardest + Fernando Martin Basket Master"/>
- <dataarea name="flop" size="209408">
- <rom name="lo mejor de dinamic - game over + freddy hardest + fernando martin basket master (1988)(dinamic)(es)(side a).dsk" size="209408" crc="e09dc659" sha1="50a6deae79be0b167f631b3292cdccf335d9a60c" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Army Moves + Phantis + Turbo Girl"/>
- <dataarea name="flop" size="204032">
- <rom name="lo mejor de dinamic - army moves + phantis + turbo girl (1988)(dinamic)(es)(side b).dsk" size="204032" crc="0c247f68" sha1="7ba19c5aae87c90b5f256ac7b43d8bc30bbd19e6" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="loflaur1">
- <description>Loads of Laurence Vol. 1</description>
- <year>1996</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: There's a Bomb Under Parliament + The Mummy's Crypt"/>
- <dataarea name="flop" size="194816">
- <rom name="loads of laurence vol. 1 - there's a bomb under parliament + the mummy's crypt (1996)(zenobi)(side a).dsk" size="194816" crc="7c9ca040" sha1="9d95b6480e0f94519fff6f2d30a5a6ae6eaa7a7a" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Beyond El Dorado + The Bermuda Triangle + Impact"/>
- <dataarea name="flop" size="194816">
- <rom name="loads of laurence vol. 1 - beyond el dorado + the bermuda triangle + impact (1996)(zenobi)(side b).dsk" size="194816" crc="5c8c90d5" sha1="0ad23b937ec441268818f9b5529d1105de599a2d" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="loflaur2">
- <description>Loads of Laurence Vol. 2</description>
- <year>1996</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: The Golden Pyramid + Lost in Time + Meltdown"/>
- <dataarea name="flop" size="194816">
- <rom name="loads of laurence vol. 2 - the golden pyramid + lost in time + meltdown (1996)(zenobi)(side a).dsk" size="194816" crc="95bd5549" sha1="45849d538278b00c634b71c317fb54d6ce6496aa" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Flameout + The Well of Zol"/>
- <dataarea name="flop" size="194816">
- <rom name="loads of laurence vol. 2 - flameout + the well of zol (1996)(zenobi)(side b).dsk" size="194816" crc="5e88127c" sha1="56da25c5b55a4039c3cf48aceea2704cff76b7e7" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="mknitrila" cloneof="mknitril">
- <description>Magic Knight Trilogy (alt)</description>
- <year>1988</year>
- <publisher>Mastertronic</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Finders Keepers + Spellbound"/>
- <dataarea name="flop" size="194816">
- <rom name="magic knight trilogy - finders keepers + spellbound (1988)(mastertronic)(side a).dsk" size="194816" crc="f1964316" sha1="b080d54460e7ca6c9fa7b9445245c3df95fd83cf" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Knight Tyme"/>
- <dataarea name="flop" size="194816">
- <rom name="magic knight trilogy - knight tyme (1988)(mastertronic)(side b).dsk" size="194816" crc="53b5b3ac" sha1="9c639201488a6736ad4c2a1b862acfab67ca0cd9" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="magnsevn">
- <description>The Magnificent Seven</description>
- <year>1987</year>
- <publisher>Ocean Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Wizball + Arkanoid + Yie Ar Kung-Fu + Short Circuit"/>
- <dataarea name="flop" size="215291">
- <rom name="magnificent seven, the (1987)(ocean)(side a)[aka magnificent 7, the].dsk" size="215291" crc="f5ca67aa" sha1="327cc32f56285c0ae863178af05637c081c782b3" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Frankie Goes to Hollywood + Head over Heels + The Great Escape + Cobra"/>
- <dataarea name="flop" size="215291">
- <rom name="magnificent seven, the (1987)(ocean)(side b)[aka magnificent 7, the].dsk" size="215291" crc="db67ff77" sha1="3d2a91462691614a02e09695ab0c4f283cbb31ce" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="mastrcd4">
- <description>Mastertronic +3 Compilation Disk 4</description>
- <year>19??</year>
- <publisher>Mastertronic</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Angleball + Kikstart 2 + Knight Tyme + Stormbringer"/>
- <dataarea name="flop" size="194816">
- <rom name="mastertronic +3 compilation disk 4 - angleball + kikstart 2 + knight tyme + stormbringer (19xx)(mastertronic)(side a).dsk" size="194816" crc="ded9efb7" sha1="7ee82cbfc69d7f86561eba6cc1c0d705340995eb" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Amaurote + The Curse of Sherwood + Milk Race + Speed King 2"/>
- <dataarea name="flop" size="194816">
- <rom name="mastertronic +3 compilation disk 4 - amaurote + the curse of sherwood + milk race + speed king 2 (19xx)(mastertronic)(side b).dsk" size="194816" crc="d5f7d3fb" sha1="862e454932feb9072a8f6dbb1f13761d3135b4d1" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="mega4">
- <description>Mega 4</description>
- <year>1991</year>
- <publisher>Topo Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Disk 1, Side A: Gremlins 2"/>
- <dataarea name="flop" size="194816">
- <rom name="mega 4 (1991)(topo soft)(es)(disk 1 of 2 side a).dsk" size="194816" crc="13c2370e" sha1="8188fee3a09fba1cf6323dc8868990a71679b19a" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Disk 1, Side B: Lorna"/>
- <dataarea name="flop" size="194816">
- <rom name="mega 4 (1991)(topo soft)(es)(disk 1 of 2 side b).dsk" size="194816" crc="621f53be" sha1="857d0f6d468b5a719379d737899e061c4a9773bc" offset="0" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_3">
- <feature name="part_id" value="Disk 2, Side A: Zona 0"/>
- <dataarea name="flop" size="97536">
- <rom name="mega 4 (1991)(topo soft)(es)(disk 2 of 2 side a).dsk" size="97536" crc="3e04c21b" sha1="9b6fab5fbc5c92ecd615061fbde7d29122a98d85" offset="0" />
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_3">
- <feature name="part_id" value="Disk 2, Side B: La Espada Sagrada"/>
- <dataarea name="flop" size="121856">
- <rom name="mega 4 (1991)(topo soft)(es)(disk 2 of 2 side b).dsk" size="121856" crc="586fb225" sha1="063b2857c8330c0fb959871cc6452aaf7c9d13b4" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="megabox">
- <description>Mega Box</description>
- <year>1991</year>
- <publisher>Dinamic Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Disk 1, Side A: Narco Police"/>
- <dataarea name="flop" size="131584">
- <rom name="mega box - narco police (1991)(dinamic)(es)(en)(side a).dsk" size="131584" crc="4fc97365" sha1="cdb281bcfb2e7889bbf618c3c62c87eb297a034c" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Disk 1, Side B: After the War + Navy Moves"/>
- <dataarea name="flop" size="214784">
- <rom name="mega box - after the war + navy moves (1991)(dinamic)(es)(en)(side b).dsk" size="214784" crc="07764790" sha1="1bcb904cb152cb1d20f0aed7e5b7a231d2ba8f56" offset="0" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_3">
- <feature name="part_id" value="Disk 2, Side A: Satan + Astro Marine Corps"/>
- <dataarea name="flop" size="214784">
- <rom name="mega box - satan + astro marine corps (1991)(dinamic)(es)(side a).dsk" size="214784" crc="ee89887d" sha1="6f496382613dbebfd3f039cbe065ce90a806d4ac" offset="0" />
- </dataarea>
- </part>
-<!-- Disk 2 Side B seems to contain an unreadable copy of Disk 2 Side A. Needs investigation. -->
- <part name="flop4" interface="floppy_3">
- <feature name="part_id" value="Disk 2, Side B: Satan + Astro Marine Corps"/>
- <dataarea name="flop" size="212736">
- <rom name="mega box - satan + astro marine corps (1991)(dinamic)(es)(en)(side b).dsk" size="212736" crc="28a2d57c" sha1="96585c649730dc6434bd3c766b9e68212da0c3c1" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="metalact">
- <description>Metal Action</description>
- <year>1990</year>
- <publisher>Dinamic Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: After the War + La Aventura Original + Satan I"/>
- <dataarea name="flop" size="214784">
- <rom name="metal action - after the war + la aventura original + satan i (1990)(dinamic)(es)(side a).dsk" size="214784" crc="a4816646" sha1="0ba180abcc0f621fa68a722d0d188b7419ed8a9f" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Astro Marine Corps + Freddy Hardest in South Manhattan + Satan II"/>
- <dataarea name="flop" size="198656">
- <rom name="metal action - astro marine corps + freddy hardest in south manhattan + satan ii (1990)(dinamic)(es)(side b).dsk" size="198656" crc="746623a9" sha1="6ed5887945c1a642f0aef96d3902210026a8104e" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="micbyte1">
- <description>MicroByte - Serie Clasicos Spectrum 01</description>
- <year>19??</year>
- <publisher>&lt;homebrew&gt;</publisher>
- <info name="author" value="Miguel"/>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="microbyte - serie clasicos spectrum 01 (19xx)(miguel)(es).dsk" size="194816" crc="4ab75f4d" sha1="953eed11249c00d7696e2db3b180096b735dceb1" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="micbyte2">
- <description>MicroByte - Serie Clasicos Spectrum 02</description>
- <year>19??</year>
- <publisher>&lt;homebrew&gt;</publisher>
- <info name="author" value="Miguel"/>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="microbyte - serie clasicos spectrum 02 (19xx)(miguel)(es).dsk" size="194816" crc="c1553807" sha1="8843a77e66ff399ff5900f5bc64dd597af3dab72" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="micfmadp">
- <description>Microfair Madness Plus</description>
- <year>1991</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="microfair madness plus - desmond and gertrude + microfair madness + the search for smok (1991)(zenobi).dsk" size="194816" crc="4b9fd5ad" sha1="dd0ec9b23350e5b32f50d074f0e386bd68b5e765" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="mvalue6p">
- <description>Microvalue 6 Pack</description>
- <year>1987</year>
- <publisher>Tynesoft</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Colin the Cleaner + Mutations + Ian Botham's Test Match"/>
- <dataarea name="flop" size="194816">
- <rom name="microvalue 6 pack - colin the cleaner + mutations + ian botham's test match (1987)(tynesoft)(side a).dsk" size="194816" crc="1273d5d2" sha1="ad7fc5d1ea26131b5cb209b256c53ae9036fbdfb" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Pyjamarama + Big Bad John + Automania"/>
- <dataarea name="flop" size="194816">
- <rom name="microvalue 6 pack - pyjamarama + big bad john + automania (1987)(tynesoft)(side b).dsk" size="194816" crc="4e478bb2" sha1="55b49d95a739889bb20e7fd0f0733a5a0283e559" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="mindstre">
- <description>Mind-Stretchers</description>
- <year>1990</year>
- <publisher>Virgin Mastertronic</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="165376">
- <rom name="mind-stretchers (1990)(virgin mastertronic).dsk" size="165376" crc="9d54d0a4" sha1="45d1239a649777556ca4833cb2c195a5104d4a6a" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="mond2014">
- <description>Monty Designs 2014</description>
- <year>2014</year>
- <publisher>PixelSoftware</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="monty designs 2014 - androide + genehtik + bluber (2014)(pixelsoftware).dsk" size="194816" crc="0f487f70" sha1="ec84a660b9535a91ae5201e11c638c24ad31a53b" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="multispo">
- <description>Multi Sports</description>
- <year>1991</year>
- <publisher>Dinamic Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Basket Master + Aspar GP Master + Simulador Profesional de Tenis"/>
- <dataarea name="flop" size="144896">
- <rom name="multi sports (1991)(dinamic)(es)(en)(side a).dsk" size="144896" crc="882d9c98" sha1="91c6c6976cf7e583b9fb13207cd334bbd383fea5" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Michel Futbol Master + Michel Super Skills + Choy-Lee-Fut Kung-Fu Warrior"/>
- <dataarea name="flop" size="144896">
- <rom name="multi sports (1991)(dinamic)(es)(en)(side b).dsk" size="144896" crc="916b49ac" sha1="d6e71b8e68931c72d85568f36bc64200524996c0" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="nopehiao">
- <description>Nope Here's Another One</description>
- <year>1993</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Diarmid I + For Pete's Sake"/>
- <dataarea name="flop" size="194816">
- <rom name="nope here's another one - diarmid i + for pete's sake (1993)(zenobi)(side a).dsk" size="194816" crc="342d58d2" sha1="b7c2a37498809be13e0d58a9463080d2436ade3b" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Diarmid II + The Krazy Kartoonist Kaper"/>
- <dataarea name="flop" size="194816">
- <rom name="nope here's another one - diarmid ii + the krazy kartoonist kaper (1993)(zenobi)(side b).dsk" size="194816" crc="5804ef65" sha1="b8be1f38c41493df3622d1ef5627f4c9fe7e0cb9" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="notanobd">
- <description>Not Another Big Disk</description>
- <year>1992</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: The Fisher King + Darkest Road II - 'Twas a Time of Dread"/>
- <dataarea name="flop" size="194816">
- <rom name="not another big disk - the fisher king + darkest road ii - 'twas a time of dread (1992)(zenobi)(side a).dsk" size="194816" crc="d51a0966" sha1="06480040fb39f7f48f58ade714017f63d458057a" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Treasure Island + Arnold the Adventurer II"/>
- <dataarea name="flop" size="194816">
- <rom name="not another big disk - treasure island + arnold the adventurer ii (1992)(zenobi)(side b).dsk" size="194816" crc="deb41208" sha1="9a4a2e6e977961bf9514616bf3005d177c8c893d" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="ohshiabd">
- <description>Oh Sh1t Another Big Disk</description>
- <year>1993</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Project Nova + Arnold the Adventurer III"/>
- <dataarea name="flop" size="194816">
- <rom name="oh sh1t another big disk - project nova + arnold the adventurer iii (1993)(zenobi)(side a).dsk" size="194816" crc="5ec6066b" sha1="56f1bceab442a54b1e06dea2830f057de66c0e6e" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: The Beginning of the End + The Escaping Habit"/>
- <dataarea name="flop" size="194816">
- <rom name="oh sh1t another big disk - the beginning of the end + the escaping habit (1993)(zenobi)(side b).dsk" size="194816" crc="df3103e8" sha1="a57f6399d1c0b1b5addf2f701f08158ad1c4679a" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="onemorbd">
- <description>One More Big Disk</description>
- <year>1992</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: The Violator of Voodoo + The Amulet of Darath + The Taxman Cometh"/>
- <dataarea name="flop" size="194816">
- <rom name="one more big disk - the violator of voodoo + the amulet of darath + the taxman cometh (1992)(zenobi)(side a).dsk" size="194816" crc="996dd6e0" sha1="e2e4fd9e90538c44471c96c1ca583d6b7af1333a" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Jester's Jaunt"/>
- <dataarea name="flop" size="194816">
- <rom name="one more big disk - jester's jaunt (1992)(zenobi)(side b).dsk" size="194816" crc="a496001a" sha1="15faf116f3ca52dc97b9328edd6009e7af479d9e" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
-<!-- Both sides contain the same games, dumps are only slightly different by the end -->
- <software name="operast1">
- <description>Opera Storys 1</description>
- <year>1989</year>
- <publisher>Opera Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="216064">
- <rom name="opera storys 1 (1989)(opera soft)(es)(side a).dsk" size="216064" crc="7a89187f" sha1="9e017d666630e69509aa7ab03815eab2e1502d32" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="216064">
- <rom name="opera storys 1 (1989)(opera soft)(es)(side b).dsk" size="216064" crc="b11259cc" sha1="7281fa2272fc5700b895ee29686fd7149e1aba6f" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="operassp">
- <description>Opera Super Sports</description>
- <year>19??</year>
- <publisher>Opera Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Mundial de Futbol + Golden Basket (loader) + Poli Diaz + Jai Alai"/>
- <dataarea name="flop" size="214784">
- <rom name="opera super sports (19xx)(opera soft)(es)(side a).dsk" size="214784" crc="eb287d3f" sha1="aebe8ec2ee88e4aa664d63284e5fa98a66e9d177" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Angel Nieto Pole 5002 + Golden Basket (data)"/>
- <dataarea name="flop" size="214784">
- <rom name="opera super sports (19xx)(opera soft)(es)(side b).dsk" size="214784" crc="eacde44f" sha1="c2e9d1799a793f2de39228175f14aa55fb3f61ac" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="pawsft1">
- <description>PAWS for Thought Vol 1</description>
- <year>1992</year>
- <publisher>The Guild</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Corya + Alstrad"/>
- <dataarea name="flop" size="195635">
- <rom name="paws for thought vol 1 (1992)(guild, the)(side a).dsk" size="195635" crc="361231f8" sha1="d3d61af659680843920ad342288c0408549a19b4" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: The Last Believer + Dungeon of Torgar"/>
- <dataarea name="flop" size="195635">
- <rom name="paws for thought vol 1 (1992)(guild, the)(side b).dsk" size="195635" crc="6c2c4196" sha1="a8efbc00354b08fe8f1ebe44b1ba972f1ea6983d" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="pawsft2">
- <description>PAWS for Thought Vol 2</description>
- <year>1992</year>
- <publisher>The Guild</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Deathbringer + Arlene"/>
- <dataarea name="flop" size="195635">
- <rom name="paws for thought vol 2 (1992)(guild, the)(side a).dsk" size="195635" crc="9d90f497" sha1="16b1425b020746176ef6e08d8e40c60984bc36f2" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Teacher Trouble + The Calling"/>
- <dataarea name="flop" size="195635">
- <rom name="paws for thought vol 2 (1992)(guild, the)(side b).dsk" size="195635" crc="f90a2db5" sha1="fd2dcfc0ab5562f44de5c7345691f5c295760aa9" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="pawsft3">
- <description>PAWS for Thought Vol 3</description>
- <year>1992</year>
- <publisher>The Guild</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Homicide Hotel + Theseus"/>
- <dataarea name="flop" size="195635">
- <rom name="paws for thought vol 3 (1992)(guild, the)(side a).dsk" size="195635" crc="c7dfcdcc" sha1="a433d4e42cc6909e15ac5547e4cdbbae1458d934" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: The Island + Holiday"/>
- <dataarea name="flop" size="195635">
- <rom name="paws for thought vol 3 (1992)(guild, the)(side b).dsk" size="195635" crc="71642671" sha1="43289904235edca1c2684a09a5bebe5ff5d86c39" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="pdtape02">
- <description>PD Tape 02 - +3 Utilities</description>
- <year>1990</year>
- <publisher>B.G. Services</publisher>
- <info name="usage" value="Side B requires Locomotive CP/M+" />
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: PLUS 3 DOS files"/>
- <dataarea name="flop" size="194816">
- <rom name="pd tape 02 - +3 utilities (1990)(b.g. services)(disk 2 of 2 side a).dsk" size="194816" crc="86251c16" sha1="a0b48e8d1928fb1d0899324bf47f9be72fb7bf63" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: CP/M+ Files"/>
- <dataarea name="flop" size="194816">
- <rom name="pd tape 02 - +3 utilities (1990)(b.g. services)(disk 2 of 2 side b).dsk" size="194816" crc="867839c6" sha1="3f037b776102b492bf9c265381c75bbfc70aca35" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="packferp">
- <description>Pack Ferpecto</description>
- <year>2005</year>
- <publisher>Compiler</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="pack ferpecto (2005)(compiler)(es).dsk" size="194816" crc="749e3227" sha1="d884a32faa1d1675add8a130137a51fe34a81705" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="packrsp3">
- <description>Pack Regalo Sinclair +3</description>
- <year>1988</year>
- <publisher>Dinamic Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Game Over + Phantomas 1 + Phantomas 2"/>
- <dataarea name="flop" size="187904">
- <rom name="pack regalo sinclair +3 - game over + phantomas 1 + phantomas 2 (1988)(dinamic)(es)(side a).dsk" size="187904" crc="9c6d116f" sha1="a3d239bbfbb69c8dceb4e243a8a460e726337efc" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Army Moves + Camelot Warriors + Nonamed"/>
- <dataarea name="flop" size="171776">
- <rom name="pack regalo sinclair +3 - army moves + camelot warriors + nonamed (1988)(dinamic)(es)(side b).dsk" size="171776" crc="a675fb82" sha1="a5c2bf0df0f4148e53c134c0a2c85f60fb715f3f" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="packrsp3a" cloneof="packrsp3">
- <description>Pack Regalo Sinclair +3 (alt)</description>
- <year>1988</year>
- <publisher>Dinamic Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Game Over + Phantomas 1 + Phantomas 2"/>
- <dataarea name="flop" size="187904">
- <rom name="pack regalo sinclair +3 - game over + phantomas 1 + phantomas 2 (1988)(dinamic)(es).dsk" size="187904" crc="81631cfc" sha1="f92ba195c4a203d72238345f4e65af0b413a9415" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Army Moves + Camelot Warriors + Nonamed"/>
- <dataarea name="flop" size="171776">
- <rom name="pack regalo sinclair +3 - army moves + camelot warriors + nonamed (1988)(dinamic)(es).dsk" size="171776" crc="ae1ed918" sha1="88f81d0239badb23d3cd4349e7696cbae6005cea" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="pwmer1com">
- <description>Paul Woakes' Mercenary 1 Compendium</description>
- <year>1988</year>
- <publisher>Novagen</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="216315">
- <rom name="paul woakes' mercenary 1 compendium (1988)(novagen).dsk" size="216315" crc="2daacafe" sha1="064076b6a8675b75104c7510f98601f49633feec" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="picknmix">
- <description>Pick'n'Mix</description>
- <year>1991</year>
- <publisher>The Adventure Workshop</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: The Base + Dungeon of Torgar"/>
- <dataarea name="flop" size="195635">
- <rom name="pick'n'mix (1991)(adventure workshop, the)(side a).dsk" size="195635" crc="79b92a8d" sha1="7ac9fe89f40750d7709c474b42daeb5a923b4ca8" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: The Calling + Holiday to Remember"/>
- <dataarea name="flop" size="195635">
- <rom name="pick'n'mix (1991)(adventure workshop, the)(side b).dsk" size="195635" crc="ba2e4d61" sha1="5ee01291528bdcc2e26a1c8defc96a3234533bba" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="pirate33a" cloneof="pirate33">
- <description>Pirate 3 +3 (alt)</description>
- <year>1987</year>
- <publisher>Pirate Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="pirate 3 +3 - smash out + call me psycho + holiday in sumaria (1987)(pirate).dsk" size="194816" crc="c9c2142f" sha1="9ae3faaa820eceb282dde70c7a22117747a1c36b" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="plus3adv">
- <description>Plus 3 Adventures</description>
- <year>1988</year>
- <publisher>Mastertronic</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Kobyashi Naru + Shard of Inovar"/>
- <dataarea name="flop" size="199936">
- <rom name="plus 3 adventures - kobyashi naru + shard of inovar (1988)(mastertronic)(side a).dsk" size="199936" crc="6612191f" sha1="f56779d29f6fbb238f1bd69b685c8ea13a5730e8" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Venom"/>
- <dataarea name="flop" size="199936">
- <rom name="plus 3 adventures - venom (1988)(mastertronic)(side b).dsk" size="199936" crc="49f53b53" sha1="ea5bebbebaf165c58f0d378907a54526d3b6bf39" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="plus3arc">
- <description>Plus 3 Arcade</description>
- <year>1987</year>
- <publisher>Mastertronic</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Motos + Angleball"/>
- <dataarea name="flop" size="194816">
- <rom name="plus 3 arcade - motos + angleball (1987)(mastertronic)(side a).dsk" size="194816" crc="50f0bfdc" sha1="2be49f0b518cd990a13131d17700a875597b01ea" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Bosconian '87"/>
- <dataarea name="flop" size="194816">
- <rom name="plus 3 arcade - bosconian '87 (1987)(mastertronic)(side b).dsk" size="194816" crc="d1152f1f" sha1="9cb5b8dde020cf2a105be79ed24c4c50f143d9f1" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="plus3bik">
- <description>Plus 3 Biker</description>
- <year>1987</year>
- <publisher>Mastertronic</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Action Biker + Milk Race"/>
- <dataarea name="flop" size="194816">
- <rom name="plus 3 biker - action biker + milk race (1987)(mastertronic)(side a).dsk" size="194816" crc="d0a57894" sha1="38ca1b5653aa42dbb31cd38ae8a333fabb35b34f" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Kikstart 2"/>
- <dataarea name="flop" size="194816">
- <rom name="plus 3 biker - kikstart 2 (1987)(mastertronic)(side b).dsk" size="194816" crc="020d9c6a" sha1="6c9ed10a84c94bafc2cf543045deb0d9bba66d6d" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="plus3hit">
- <description>Plus 3 Hits</description>
- <year>1987</year>
- <publisher>Mastertronic</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Amaurote + Hyperbowl"/>
- <dataarea name="flop" size="194816">
- <rom name="plus 3 hits - amaurote + hyperbowl (1987)(mastertronic)(side a).dsk" size="194816" crc="3167db93" sha1="88c9e14e4e25530eae7072fbaa0bcfc550e4ab8d" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Feud"/>
- <dataarea name="flop" size="194816">
- <rom name="plus 3 hits - feud (1987)(mastertronic)(side b).dsk" size="194816" crc="985ff5d6" sha1="d19770ab6ce95e66cb81fcd6010ab009dd61cf69" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="plus3pac">
- <description>Plus 3 Pack</description>
- <year>1987</year>
- <publisher>Gremlin Graphics Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Krakout + Future Knight"/>
- <dataarea name="flop" size="174848">
- <rom name="plus 3 pack - krakout + future knight (1987)(gremlin graphics)(side a).dsk" size="174848" crc="7ef38f33" sha1="cf62819033a9950c6b6a11c3e8c912de09e8045f" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Bounder + Thing Bounces Back"/>
- <dataarea name="flop" size="174848">
- <rom name="plus 3 pack - bounder + thing bounces back (1987)(gremlin graphics)(side b).dsk" size="174848" crc="e94a2db9" sha1="3deeae0c924d2c39ce4b91a9b6d2ab0a85903fad" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="plus3pad">
- <description>Plus 3 Pack (Dinamic)</description>
- <year>1988</year>
- <publisher>Dinamic Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Game Over + Fernando Martin Basket Master"/>
- <dataarea name="flop" size="144384">
- <rom name="plus 3 pack (1988)(dinamic)(es)(side a).dsk" size="144384" crc="895d2e1c" sha1="ce2fcfe0f9cc72a22025fb7a979fec5695fea506" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Army Moves + Don Quijote"/>
- <dataarea name="flop" size="174848">
- <rom name="plus 3 pack (1988)(dinamic)(es)(en)(side b).dsk" size="174848" crc="827bed18" sha1="679fe04d41185da84b586f9a3b9a1a2526b84827" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="plus3spo">
- <description>Plus 3 Sports</description>
- <year>1987</year>
- <publisher>Mastertronic</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Strike + Bump, Set, Spike!"/>
- <dataarea name="flop" size="194816">
- <rom name="plus 3 sports - strike (1987)(mastertronic)(side a).dsk" size="194816" crc="3ca3f142" sha1="dfaf7bb837087a04b993fa83a45471177e91be4f" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Speed King 2"/>
- <dataarea name="flop" size="194816">
- <rom name="plus 3 sports - speed king 2 (1987)(mastertronic)(side b).dsk" size="194816" crc="2519315e" sha1="ae1f1e21969fec88305fc9200eae5b288d711739" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="plus3spoa" cloneof="plus3spo">
- <description>Plus 3 Sports (alt)</description>
- <year>1987</year>
- <publisher>Mastertronic</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Strike + Bump, Set, Spike!"/>
- <dataarea name="flop" size="194816">
- <rom name="plus 3 sports - strike (1987)(mastertronic).dsk" size="194816" crc="00518e1e" sha1="0e4e653ac7408039aeb711ecb08518504c9d6bb9" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Speed King 2"/>
- <dataarea name="flop" size="194816">
- <rom name="plus 3 sports - speed king 2 (1987)(mastertronic).dsk" size="194816" crc="19eb4e02" sha1="8c9b17e2456f262e3b1e8a4a8ac26aaca5d5a6eb" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="powerspo">
- <description>Powersports</description>
- <year>1991</year>
- <publisher>Zigurat Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Carlos Sainz + Paris-Dakar"/>
- <dataarea name="flop" size="194816">
- <rom name="powersports - carlos sainz + paris-dakar (1991)(zigurat)(es)(side a).dsk" size="194816" crc="b8fb3307" sha1="1ac6ff52fdd5d0901d0a7ec191e2c60f82a91bea" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Sito Pons 500cc Grand Prix + Emilio Sanchez Vicario Grand Slam"/>
- <dataarea name="flop" size="121856">
- <rom name="powersports - sito pons 500cc grand prix + emilio sanchez vicario grand slam (1991)(zigurat)(es)(side b).dsk" size="121856" crc="e0771590" sha1="27f0a8abab611c6878487c426a4368ae9afdf9ca" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="probtlbd">
- <description>Probably the Last Big Disk</description>
- <year>1995</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Perseus + The Final Demand"/>
- <dataarea name="flop" size="194816">
- <rom name="probably the last big disk - perseus + the final demand (1995)(zenobi)(side b).dsk" size="194816" crc="262d29dc" sha1="e50a166d1e20c6467043617d04f5dfd02619b11d" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: The Apprentice + Theme Park U.S.A."/>
- <dataarea name="flop" size="194816">
- <rom name="probably the last big disk - the apprentice + theme park u.s.a. (1995)(zenobi)(side a).dsk" size="194816" crc="e680e164" sha1="cd569d82b45a39aaabf19fe23334240f103d4005" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="prjnbote">
- <description>Project Nova + Beginning of the End</description>
- <year>19??</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Project Nova"/>
- <dataarea name="flop" size="194816">
- <rom name="project nova + beginning of the end (19xx)(zenobi)(side a).dsk" size="194816" crc="e0c08b0c" sha1="97a6120b38d307cd7eb36ff1dbb117654aef300e" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Beginning of the End"/>
- <dataarea name="flop" size="194816">
- <rom name="project nova + beginning of the end (19xx)(zenobi)(side b).dsk" size="194816" crc="2b0923c7" sha1="e23ff51da1ad4901af6dcaa5050910dd0d56c4d5" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="readrap2">
- <description>Read-Right-Away: Reading Pack 2</description>
- <year>1987</year>
- <publisher>H.S.</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="read-right-away - reading pack 2 (1987)(h.s.).dsk" size="194816" crc="94d5b7f0" sha1="238845d4cf14b7ffea27831993f05daf6842b42b" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="reptonmn">
- <description>Repton Mania</description>
- <year>1989</year>
- <publisher>Superior Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="254720">
- <rom name="repton mania - repton 1 + 2 (1989)(superior).dsk" size="254720" crc="2ed24adb" sha1="c452b252272ba4ebb7c509c6a7358b867df94c64" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="runbrspc">
- <description>Run, Bronwynn, Run + The Spectre of Castle Coris</description>
- <year>1992</year>
- <publisher>FSF Adventures</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Run, Bronwynn, Run"/>
- <dataarea name="flop" size="195635">
- <rom name="run, bronwynn, run + spectre of castle coris, the (1992)(fsf adventures)(side a).dsk" size="195635" crc="690f1e91" sha1="c7a2ae6d0926f1ccc540ad44f765f7dddee8a62b" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: The Spectre of Castle Coris"/>
- <dataarea name="flop" size="195635">
- <rom name="run, bronwynn, run + spectre of castle coris, the (1992)(fsf adventures)(side b).dsk" size="195635" crc="833809c9" sha1="cf69a93b96cea22bd13076e087a1e92702b2dc8f" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="sp5">
- <description>SP5</description>
- <year>1992</year>
- <publisher>Kobrahsoft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194048">
- <rom name="sp5 (1992)(kobrahsoft).dsk" size="194048" crc="41dad7b5" sha1="04cedbe1d9b8fb966e20db0da87c478d6649f07e" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="srsgames">
- <description>SRS Games Disc</description>
- <year>1988</year>
- <publisher>Steam Railway Simulations</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="srs games disc (1988)(steam railway simulations).dsk" size="194816" crc="0d6897ae" sha1="ed569e9a9685116e057533192b78b457dad8ece5" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="samuahos">
- <description>Sam's Un-Excellent Adventure + The Hospital</description>
- <year>1994</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="sam's un-excellent adventure + the hospital - sam's un-excellent adventure (1994)(zenobi).dsk" size="194816" crc="c4293106" sha1="de58f5aaa5be5a3af953068b179e9b8fb72377bd" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="shootdska" cloneof="shootdsk">
- <description>Shootacular Disk 2 (alt)</description>
- <year>1988</year>
- <publisher>Alternative Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="195328">
- <rom name="shootacular disk 2 (1988)(alternative).dsk" size="195328" crc="ce79b362" sha1="2eef6ecdc55ebb3fb5bd2550470b8435cdab4c07" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="silicond">
- <description>Silicon Dreams</description>
- <year>1986</year>
- <publisher>Rainbird Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="silicon dreams - snowball + return to eden + the worm in paradise (1986)(rainbird).dsk" size="194816" crc="eae38e7d" sha1="f2ffd2fd60696a38c2a2f9fbd4638cf154de8db9" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="sincactp">
- <description>Sinclair Action Pack - Lightgun Games</description>
- <year>1989</year>
- <publisher>Sinclair Research</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Missile Ground Zero + Solar Invasion"/>
- <dataarea name="flop" size="194816">
- <rom name="sinclair action pack - lightgun games - lightgun games - missile ground zero + solar invasion (1989)(virgin mastertronic)(side a)[lightgun].dsk" size="194816" crc="8c3be2fa" sha1="1580bfde74955b629b2c4e3cbe4ccc524fec9f80" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Rookie + Robot Attack + Bullseye"/>
- <dataarea name="flop" size="194816">
- <rom name="sinclair action pack - lightgun games - lightgun games - rookie + robot attack + bullseye (1989)(virgin mastertronic)(side b)[lightgun].dsk" size="194816" crc="e706c6db" sha1="366a7b2b04a44007a3254fc0618ceb0d9df70e72" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="sincactpa" cloneof="sincactp">
- <description>Sinclair Action Pack - Lightgun Games (re-release)</description>
- <year>1989</year>
- <publisher>Virgin Mastertronic</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Missile Ground Zero + Solar Invasion"/>
- <dataarea name="flop" size="194816">
- <rom name="sinclair action pack - lightgun games - lightgun games - missile ground zero + solar invasion (1989)(sinclair research)[lightgun][re-release].dsk" size="194816" crc="5af8ba21" sha1="f5d45c97f2cda96fe8ed5be37d81fbd916e38e17" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Rookie + Robot Attack + Bullseye"/>
- <dataarea name="flop" size="194816">
- <rom name="sinclair action pack - lightgun games - lightgun games - rookie + robot attack + bullseye (1989)(sinclair research)[lightgun][re-release].dsk" size="194816" crc="f050f2ff" sha1="e68a94ee005f2ac47238ab43a1653ab641b25c0f" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="sincgcom">
- <description>Sinclair Game Compilation</description>
- <year>1988</year>
- <publisher>Sinclair Research</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Disk 1, Side A: Finders Keepers + S.O.S. + Type-Rope + Ultimate Combat Mission"/>
- <dataarea name="flop" size="194816">
- <rom name="sinclair game compilation (1988)(sinclair research)(disk 1 of 7 side a).dsk" size="194816" crc="27523b36" sha1="abfb2f751169bbd0ab00092b167bfcfac47067e9" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Disk 1, Side B: Jackle &amp; Wide + Rasterscan + spore + Sport of Kings"/>
- <dataarea name="flop" size="194816">
- <rom name="sinclair game compilation (1988)(sinclair research)(disk 1 of 7 side b).dsk" size="194816" crc="b963f51d" sha1="a0510fe07cd3011d5e5614a2b82b23683539a59c" offset="0" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_3">
- <feature name="part_id" value="Disk 2, Side A: Agent X + Con-Quest + Strike"/>
- <dataarea name="flop" size="194816">
- <rom name="sinclair game compilation (1988)(sinclair research)(disk 2 of 7 side a).dsk" size="194816" crc="34f11c94" sha1="f207b9dc8a52e6f4353e7a4f1117e122e5e99ae7" offset="0" />
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_3">
- <feature name="part_id" value="Disk 2, Side B: Colony + One Man and His Droid + Plexar + Wulfan the Barbarian"/>
- <dataarea name="flop" size="194816">
- <rom name="sinclair game compilation (1988)(sinclair research)(disk 2 of 7 side b).dsk" size="194816" crc="61d265c5" sha1="38272bc5eb6080a538d39ca3c0c4364d7ce58a63" offset="0" />
- </dataarea>
- </part>
- <part name="flop5" interface="floppy_3">
- <feature name="part_id" value="Disk 3, Side A: Molecule Man + Molecule Man Maze Designer + Universal Hero + Xcel"/>
- <dataarea name="flop" size="194816">
- <rom name="sinclair game compilation (1988)(sinclair research)(disk 3 of 7 side a).dsk" size="194816" crc="b2b665ca" sha1="8f699fc81027396ae4ec9fb8c1566fa8ec418775" offset="0" />
- </dataarea>
- </part>
- <part name="flop6" interface="floppy_3">
- <feature name="part_id" value="Disk 3, Side B: Brian Jacks Superstar Challenge + Eddie Kidd Jump Challenge + Level 5"/>
- <dataarea name="flop" size="194816">
- <rom name="sinclair game compilation (1988)(sinclair research)(disk 3 of 7 side b).dsk" size="194816" crc="32dc231f" sha1="b77d9a76668c8e2b1d35e5f4872c76e2ec482dc4" offset="0" />
- </dataarea>
- </part>
- <part name="flop7" interface="floppy_3">
- <feature name="part_id" value="Disk 4, Side A: Angle Ball + Kikstart 2 + Knight Tyme + Stormbringer"/>
- <dataarea name="flop" size="194816">
- <rom name="sinclair game compilation (1988)(sinclair research)(disk 4 of 7 side a).dsk" size="194816" crc="3463efac" sha1="1ec505f714b41df061700520a749652abe76e43a" offset="0" />
- </dataarea>
- </part>
- <part name="flop8" interface="floppy_3">
- <feature name="part_id" value="Disk 4, Side B: Amaurote + Curse of Sherwood + Milk Race + Speed King 2"/>
- <dataarea name="flop" size="194816">
- <rom name="sinclair game compilation (1988)(sinclair research)(disk 4 of 7 side b).dsk" size="194816" crc="82d7bd38" sha1="9739c2e529386ea8a6f9f01605754e0b41db5583" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="smallcol">
- <description>A Small Collection of Hamster Droppings</description>
- <year>1993</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: The Life of a Lone Electron + The Quest for the Holy"/>
- <dataarea name="flop" size="194816">
- <rom name="small collection of hamster droppings, a - the life of a lone electron + the quest for the holy (1993)(zenobi)(side a).dsk" size="194816" crc="a05d75de" sha1="48da53854c071a63579cc9bb4070545bea23708a" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: First Past the Post + Get Me to the Church on Ti"/>
- <dataarea name="flop" size="194816">
- <rom name="small collection of hamster droppings, a - first past the post + get me to the church on time (1993)(zenobi)(side b).dsk" size="194816" crc="8de6f9c6" sha1="e45b8df3e8f009bcfb055db9e392c7cefc050708" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="soccerma">
- <description>Soccer Mania</description>
- <year>1990</year>
- <publisher>Addictive Games</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Disk 1, Side A: Football Manager 2"/>
- <dataarea name="flop" size="194816">
- <rom name="soccer mania (1990)(addictive games)(disk 1 of 2 side a).dsk" size="194816" crc="bfcc36bb" sha1="6d6a74fe478bdfc039f3dc67e851a6951413dbf8" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Disk 1, Side A: Football Manager: World Cup Edition"/>
- <dataarea name="flop" size="194816">
- <rom name="soccer mania - world cup edition (1990)(addictive games)(disk 1 of 2 side b).dsk" size="194816" crc="7f49f5cd" sha1="6d6a3ea81aeffbc9a300ae6252c81183a3df5aa4" offset="0" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_3">
- <feature name="part_id" value="Disk 2, Side A: Gazza's Super Soccer"/>
- <dataarea name="flop" size="194816">
- <rom name="soccer mania (1990)(addictive games)(disk 2 of 2 side a).dsk" size="194816" crc="347bc85e" sha1="f89876979105843a68d1e06aa8dab94dc599597e" offset="0" />
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_3">
- <feature name="part_id" value="Disk 2, Side B: MicroProse Soccer"/>
- <dataarea name="flop" size="194816">
- <rom name="soccer mania (1990)(addictive games)(disk 2 of 2 side b).dsk" size="194816" crc="53a7650a" sha1="5c44e0b45cbb2dccbd2725fa96be07caf9563cc3" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="solidgol">
- <description>Solid Gold</description>
- <year>1988</year>
- <publisher>U.S. Gold</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Disk 1, Side A: Gauntlet"/>
- <dataarea name="flop" size="194816">
- <rom name="solid gold - gauntlet (1988)(u.s. gold)(disk 1 of 2 side a).dsk" size="194816" crc="c484db81" sha1="36d053aa0ca9ee259f71ce173d58dae0f8a26d5f" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Disk 1, Side B: Ace of Aces"/>
- <dataarea name="flop" size="214784">
- <rom name="solid gold - ace of aces (1988)(u.s. gold)(disk 1 of 2 side b).dsk" size="214784" crc="02bd6078" sha1="e0e9a50a28f2260b3b80fe6e987cd75dca815af1" offset="0" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_3">
- <feature name="part_id" value="Disk 2, Side A: Winter Games + Leaderboard"/>
- <dataarea name="flop" size="214784">
- <rom name="solid gold - winter games + leaderboard (1988)(u.s. gold)(disk 2 of 2 side a).dsk" size="214784" crc="28c69d3e" sha1="4ca67601511c3b4a539403e921609dcced093858" offset="0" />
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_3">
- <feature name="part_id" value="Disk 2, Side B: Infiltrator"/>
- <dataarea name="flop" size="214784">
- <rom name="solid gold - infiltrator (1988)(u.s. gold)(disk 2 of 2 side b).dsk" size="214784" crc="42a5d06c" sha1="1abf1fd0473b280b0eb2965e03d49bbfe96b7174" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="sportdska" cloneof="sportdsk">
- <description>Sportacular Disk 1 (alt)</description>
- <year>1988</year>
- <publisher>Alternative Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="sportacular disk 1 - soccer boss + olympic spectacular + indoor soccer (1988)(alternative).dsk" size="194816" crc="d42b8502" sha1="7299f66abbe1f01b02b43274a8ca9e3dabe56a7f" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="stillabd">
- <description>Still Another Big Disk</description>
- <year>1992</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Darkest Road III - The Unborn One + Phoenix"/>
- <dataarea name="flop" size="194816">
- <rom name="still another big disk - darkest road iii - the unborn one + phoenix (1992)(zenobi)(side a).dsk" size="194816" crc="ce9ef1af" sha1="60a6457305484d1915b1bb2c4336319e333782e8" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: A Legacy for Alaric + A Legacy for Alaric II - The Magic Isle"/>
- <dataarea name="flop" size="194816">
- <rom name="still another big disk - a legacy for alaric + a legacy for alaric ii - the magic isle (1992)(zenobi)(side b).dsk" size="194816" crc="f197bb87" sha1="c93391dc04b69a54c3ae393cf954a0cd210741f0" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="stilombd">
- <description>Still One More Big Disk</description>
- <year>19??</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: The Tears of the Moon + The Mines of Lithiad"/>
- <dataarea name="flop" size="194816">
- <rom name="still one more big disk - the tears of the moon + the mines of lithiad (19xx)(zenobi)(side a).dsk" size="194816" crc="3b2b5a44" sha1="6c8b9c7fa1317aa733c926cdab60b1f0b5dc0d03" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Jack the Ripper"/>
- <dataarea name="flop" size="194816">
- <rom name="still one more big disk - jack the ripper (19xx)(zenobi)(side b).dsk" size="194816" crc="ddd95fb1" sha1="262d7ee2a21f7e768e0e8a91b14d673c5e790cfb" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="stufmabd">
- <description>Stuff Me Another Big Disk</description>
- <year>19??</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Aztec Assault + The Lost Twilight"/>
- <dataarea name="flop" size="194816">
- <rom name="stuff me another big disk - aztec assault + the lost twilight (19xx)(zenobi)(side a).dsk" size="194816" crc="08be0ed3" sha1="9caa7f44a42cce7af12c22b296305baa9e82f0db" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: The Dark Tower + The Khangrin Plans"/>
- <dataarea name="flop" size="194816">
- <rom name="stuff me another big disk - the dark tower + the khangrin plans (19xx)(zenobi)(side b).dsk" size="194816" crc="06df0298" sha1="177aaf98eef31956181e308c8325017d9d5fec00" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="sunxworda" cloneof="sunxword">
- <description>The Sun Computer Crosswords Volume 1 (alt)</description>
- <year>1988</year>
- <publisher>Akom</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="sun computer crosswords volume 1, the (1988)(akom).dsk" size="194816" crc="99a83f33" sha1="c701b7e4c5760a16669ca140cc45615a24af7889" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="supremec">
- <description>Supreme Challenge</description>
- <year>1988</year>
- <publisher>Beau-Jolly</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: ACE 2 + The Sentinel + Tetris"/>
- <dataarea name="flop" size="194816">
- <rom name="supreme challenge - ace 2 - the ultimate head to head conflict + the sentinel + tetris (1988)(beau-jolly)(side a).dsk" size="194816" crc="bed32d10" sha1="038b63e4822822f46eb29149237554dc6676cac6" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Elite + Starglider"/>
- <dataarea name="flop" size="194816">
- <rom name="supreme challenge - elite + starglider (1988)(beau-jolly)(side b).dsk" size="194816" crc="7999f89e" sha1="6bd19bd6ddcb7d20b2aa5134f931db56566acbd8" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="suprecss">
- <description>Supreme Challenge: Soccer Spectacular</description>
- <year>1989</year>
- <publisher>Beau-Jolly</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Peter Shilton's Handball Maradona + Soccer Supremo + World Champions"/>
- <dataarea name="flop" size="194816">
- <rom name="supreme challenge - soccer spectacular (1989)(beau-jolly)(side a).dsk" size="194816" crc="156ebf8a" sha1="58076376d1762b166194b29aa3d9a80c2d3706d2" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Football Manager + Peter Beardsley's International Football"/>
- <dataarea name="flop" size="194816">
- <rom name="supreme challenge - soccer spectacular (1989)(beau-jolly)(side b).dsk" size="194816" crc="38f1cff2" sha1="eb577147cefd532c19f6acf20e1b30c8f131bd50" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="tntdomrk">
- <description>TNT</description>
- <year>1990</year>
- <publisher>Domark</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Disk 1, Side A: Hard Drivin'"/>
- <dataarea name="flop" size="194816">
- <rom name="tnt - hard drivin' (1990)(domark)(disk 1 of 3 side a).dsk" size="194816" crc="32a8c50c" sha1="94bfd5b159e23684e4f9ed708e4ccdee113db140" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Disk 1, Side B: Toobin' + Xybots + APB"/>
- <dataarea name="flop" size="344832">
- <rom name="tnt - toobin' + xybots + apb - all points bulletin (1990)(domark)(disk 1 of 3 side b).dsk" size="344832" crc="8a8ea8ab" sha1="627542f6422dea4022cbd86c3fc6a3c73d8d905e" offset="0" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_3">
- <feature name="part_id" value="Disk 2: Dragon Spirit"/>
- <dataarea name="flop" size="194816">
- <rom name="tnt - dragon spirit (1990)(domark)(disk 2 of 3).dsk" size="194816" crc="7286ca1d" sha1="c0d8267bb534a60cd82ab61d8e154502dd284ef3" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="tntdomrksp" cloneof="tntdomrk">
- <description>TNT (Spa)</description>
- <year>1991</year>
- <publisher>Dro Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Disk 1, Side A: Xybots + Toobin'"/>
- <dataarea name="flop" size="182016">
- <rom name="tnt (1991)(dro soft)(es)(en)(disk 1 of 3 side a).dsk" size="182016" crc="856e202a" sha1="9a426e12690b9b6bc92528ed76d3a90d14d68881" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Disk 1, Side B: APB"/>
- <dataarea name="flop" size="131584">
- <rom name="tnt (1991)(dro soft)(es)(en)(disk 1 of 3 side b).dsk" size="131584" crc="00e4a5f2" sha1="077c97ebb631b25679de74e8e693bb34b17b700c" offset="0" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_3">
- <feature name="part_id" value="Disk 2, Side A: Hard Drivin'"/>
- <dataarea name="flop" size="58624">
- <rom name="tnt (1991)(dro soft)(es)(en)(disk 2 of 3 side a).dsk" size="58624" crc="17c26e04" sha1="25c2588c93ccfb585c598448ccc71c60982b072b" offset="0" />
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_3">
- <feature name="part_id" value="Disk 2, Side B: Dragon Spirit"/>
- <dataarea name="flop" size="194816">
- <rom name="tnt (1991)(dro soft)(es)(en)(disk 2 of 3 side b).dsk" size="194816" crc="edde7dc8" sha1="b09e36bfdbae3d430554d9fe4e27956251b31641" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="take3spo">
- <description>Take 3 Sports</description>
- <year>1988</year>
- <publisher>Blue Ribbon</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="take 3 sports (1988)(blue ribbon).dsk" size="194816" crc="ad087045" sha1="e29d7ace547d11d06d7e43674bd19426c929502b" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="takefive">
- <description>Take Five</description>
- <year>1988</year>
- <publisher>Pirate Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Gangplank + Just Imagine"/>
- <dataarea name="flop" size="194816">
- <rom name="take five - gangplank + just imagine (1988)(pirate)(side a).dsk" size="194816" crc="60ef133d" sha1="c1c85b3014eccf68baead4015688528c2eb325dd" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Dusty Droid and the Garbage Gobblers + O.K. Yah + Don't Say It, Spray It"/>
- <dataarea name="flop" size="194816">
- <rom name="take five - dusty droid and the garbage gobblers + o.k. yah + don't say it, spray it (1988)(pirate)(side b).dsk" size="194816" crc="c02bad77" sha1="a28709dbc02fd94161e51516aae7a6dd4f62df20" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="taxbills">
- <description>Tax Bills</description>
- <year>19??</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="tax bills - the taxman cometh + tax returns + the final demand (19xx)(zenobi).dsk" size="194816" crc="cc30a3da" sha1="fa056d97fdf52341229aab72d09d9396fc286a17" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="timenmgk">
- <description>Time and Magik</description>
- <year>1988</year>
- <publisher>Mandarin</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="time and magik (1988)(mandarin)(side a).dsk" size="194816" crc="91a6e149" sha1="8c4a9a528ec1da23544f11e9147488271024c0a7" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="time and magik (1988)(mandarin)(side b).dsk" size="194816" crc="81f95393" sha1="20b81b8fe1ecd332efbf0e4852b87f1f306e211d" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="timenmgka" cloneof="timenmgk">
- <description>Time and Magik (alt)</description>
- <year>1988</year>
- <publisher>Mandarin</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="time and magik (1988)(mandarin)(side a)[a].dsk" size="194816" crc="8ba9c810" sha1="2298a68bdd7cb7b39d239519d463f8242bd611e1" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="time and magik (1988)(mandarin)(side b)[a].dsk" size="194816" crc="52ffb435" sha1="afad039ffd0e8c6f36d1686dc1ad6912c73ebdac" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="atodamaq">
- <description>A Toda Maquina</description>
- <year>1989</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Dragon Ninja + Afterburner"/>
- <dataarea name="flop" size="261120">
- <rom name="toda maquina, a - dragon ninja + afterburner (1989)(erbe)(es)(en).dsk" size="261120" crc="ff7f0d26" sha1="c3a7d5b914105224d707e36a88b73ea74506c215" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Rambo III + Robocop + Batman"/>
- <dataarea name="flop" size="261120">
- <rom name="toda maquina, a - rambo iii + robocop + batman (1989)(erbe)(es)(en).dsk" size="261120" crc="9b5ce0b6" sha1="b229d4a53451ea0138e394334fae50d2d189e79c" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="top10col">
- <description>Top 10 Collection</description>
- <year>1988</year>
- <publisher>Hit-Pak</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Airwolf + Combat Lynx + Critical Mass + Deep Strike + Saboteur"/>
- <dataarea name="flop" size="214784">
- <rom name="top 10 collection (1988)(hit-pak)(side a)[aka top ten collection].dsk" size="214784" crc="ef1edec3" sha1="1dc75bb4a6bc2bf92d85cda33f84dd816cfa4f81" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Bomb Jack II + Saboteur 2 + Sigma 7 + Thanatos + Turbo Esprit"/>
- <dataarea name="flop" size="214784">
- <rom name="top 10 collection (1988)(hit-pak)(side b)[aka top ten collection].dsk" size="214784" crc="46a55552" sha1="3d343ccc80eda55a2824713ac7f88f713cef086d" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="topbytop">
- <description>Top By Topo</description>
- <year>1989</year>
- <publisher>Topo Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Mad Mix Game + Score 3020 + Tuareg + Wells &amp; Fargo"/>
- <dataarea name="flop" size="189952">
- <rom name="top by topo - mad mix game + score 3020 + tuareg + wells &amp; fargo (1989)(topo soft)(es)(side a).dsk" size="189952" crc="37289d2e" sha1="0c2658923b025c77b31de622a2e37f47c9a1467c" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Metropolis + Rock 'n Roller + Blackbeard + Emilio Butragueno Futbol"/>
- <dataarea name="flop" size="185088">
- <rom name="top by topo - metropolis + rock 'n roller + blackbeard + emilio butragueno futbol (1989)(topo soft)(es)(side b).dsk" size="185088" crc="0f2e4848" sha1="3424c891f86e5ed35fc4bfd6c29f8bbdbd96108c" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
-<!-- Labeled as "bad dump" in TOSEC for some reason, but it's the same dump at World of Spectrum. -->
- <software name="totalerb">
- <description>Total</description>
- <year>1989</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Platoon + Arkanoid II: Revenge of Doh + Combat School"/>
- <dataarea name="flop" size="215296">
- <rom name="total - platoon + arkanoid ii - revenge of doh + combat school (1989)(erbe)(es)(en)(side a)[b].dsk" size="215296" crc="90fe6396" sha1="d721e1aac28c159b7463acc0e165316a19091699" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Target Renegade"/>
- <dataarea name="flop" size="204544">
- <rom name="total - renegade ii - target renegade (1989)(erbe)(es)(en)(side b).dsk" size="204544" crc="8ee50a77" sha1="6794e5e61a5a08a69141001e60b6ed5ec5e95a85" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="travtals">
- <description>Traveller's Tales</description>
- <year>1993</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Phoenix + The Violator of Voodoo"/>
- <dataarea name="flop" size="194816">
- <rom name="traveller's tales - phoenix + the violator of voodoo (1993)(zenobi)(side a).dsk" size="194816" crc="30e96557" sha1="72179269718719ea83e2c1994f938c99b015145d" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Aztec Assault + Celtic Carnage"/>
- <dataarea name="flop" size="194816">
- <rom name="traveller's tales - aztec assault + celtic carnage (1993)(zenobi)(side b).dsk" size="194816" crc="6af8f2c7" sha1="636611c8143f00b4b47ba2ac593481d07ae83642" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="vitamina">
- <description>Vitaminas</description>
- <year>1989</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Street Fighter + Bionic Commando (loader) + Road Blasters + 1943"/>
- <dataarea name="flop" size="198656">
- <rom name="vitaminas (1989)(erbe)(es)(en)(side a).dsk" size="198656" crc="00bc7d39" sha1="263f4d343f08a90f813b528e7c575e239d3a9053" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Road Blasters + Bionic Commando (data)"/>
- <dataarea name="flop" size="214784">
- <rom name="vitaminas (1989)(erbe)(es)(en)(side b).dsk" size="214784" crc="aa430b4f" sha1="5f27e3e31eaaf36f4cdf8da175c3d6cabb994368" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="watchamp">
- <description>We Are the Champions</description>
- <year>1988</year>
- <publisher>Ocean Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: International Karate+ + Renegade"/>
- <dataarea name="flop" size="214784">
- <rom name="we are the champions - international karate+ + renegade (1988)(ocean).dsk" size="214784" crc="e94b8d59" sha1="51291b522ca939b17ef22771880fbbe23696a23b" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Barbarian + Super Sprint + Rampage"/>
- <dataarea name="flop" size="214784">
- <rom name="we are the champions - barbarian + super sprint + rampage (1988)(ocean).dsk" size="214784" crc="b25e4d6a" sha1="aa549353dd8a793fb7e56e0873717d6ac85b86fa" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="whlsfire">
- <description>Wheels of Fire</description>
- <year>1990</year>
- <publisher>Domark</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Disk 1, Side A: Chase H.Q. + Power Drift"/>
- <dataarea name="flop" size="229632">
- <rom name="wheels of fire (1990)(domark)(disk 1 of 4 side a).dsk" size="229632" crc="36fca6e2" sha1="2085a0bfd58e75bdfebc82cd99baff8f2a2c09f0" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Disk 1, Side B: Hard Drivin'"/>
- <dataarea name="flop" size="194816">
- <rom name="wheels of fire (1990)(domark)(disk 1 of 4 side b).dsk" size="194816" crc="37233886" sha1="23c12b78303fd8f713ca174745c9df569c645450" offset="0" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_3">
- <feature name="part_id" value="Disk 2, Side A: Turbo Out Run (loader)"/>
- <dataarea name="flop" size="255232">
- <rom name="wheels of fire (1990)(domark)(disk 2 of 4 side a).dsk" size="255232" crc="7d64968f" sha1="d2d1a5777a3baf84d4bdf829e79985cd6a7e9272" offset="0" />
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_3">
- <feature name="part_id" value="Disk 2, Side B: Turbo Out Run (data)"/>
- <dataarea name="flop" size="256256">
- <rom name="wheels of fire (1990)(domark)(disk 2 of 4 side b).dsk" size="256256" crc="01a5deba" sha1="961f1fb2c23b701298d65432e3e44591312be7fa" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="whoopabd">
- <description>Whoops Another Big Disk</description>
- <year>1994</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Leopold the Minstrel"/>
- <dataarea name="flop" size="194816">
- <rom name="whoops another big disk (1994)(zenobi)(side a).dsk" size="194816" crc="10657ec8" sha1="17ef9c2634677e22d4d78d703f64854642a92e3c" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Lycanthropy"/>
- <dataarea name="flop" size="194816">
- <rom name="whoops another big disk (1994)(zenobi)(side b).dsk" size="194816" crc="f1967db9" sha1="b3c0b4d2f88be6d3bac70e76821d5751d6189ee7" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="winnteam">
- <description>The Winning Team</description>
- <year>1991</year>
- <publisher>Domark</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Disk 1, Side A: APB"/>
- <dataarea name="flop" size="204544">
- <rom name="winning team, the - apb - all points bulletin (1991)(domark)(disk 1 of 3 side a).dsk" size="204544" crc="d904319c" sha1="79886092a741edd86bc7baabb5bb03d4bae06fdf" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Disk 1, Side B: Escape from the Planet of the Robot Monsters"/>
- <dataarea name="flop" size="194816">
- <rom name="winning team, the - escape from the planet of the robot monsters (1991)(domark)(disk 1 of 3 side b).dsk" size="194816" crc="0f4962ac" sha1="f378a46c7feef8549bcf79f4546b52985bc20dfe" offset="0" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_3">
- <feature name="part_id" value="Disk 2, Side A: Cyberball"/>
- <dataarea name="flop" size="194816">
- <rom name="winning team, the - cyberball (1991)(domark)(disk 2 of 3 side a).dsk" size="194816" crc="767aa935" sha1="bbd0c198890c8ccfafe9dab988651d46e2ddc0cf" offset="0" />
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_3">
- <feature name="part_id" value="Disk 2, Side B: Klax"/>
- <dataarea name="flop" size="194816">
- <rom name="winning team, the - klax (1991)(domark)(disk 2 of 3 side b).dsk" size="194816" crc="6e64d9a3" sha1="959baad53b114a5b93a5d778fd1e8c00916a2081" offset="0" />
- </dataarea>
- </part>
- <part name="flop5" interface="floppy_3">
- <feature name="part_id" value="Disk 3: Vindicators"/>
- <dataarea name="flop" size="175872">
- <rom name="winning team, the - vindicators (1991)(domark)(disk 3 of 3).dsk" size="175872" crc="287191e2" sha1="a3bea18ac143348a8dea03f86fd142d9576a4e1d" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="worldcup">
- <description>World Cup Year 90 Compilation</description>
- <year>1990</year>
- <publisher>Empire</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Gary Lineker's Hot-Shot"/>
- <dataarea name="flop" size="219136">
- <rom name="world cup year 90 compilation - gary lineker's hot-shot (1990)(empire)(side a).dsk" size="219136" crc="9e086fde" sha1="72a23897af495c77849ac733fac94de62cae90fb" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Track Suit Manager + Kick Off"/>
- <dataarea name="flop" size="267520">
- <rom name="world cup year 90 compilation - track suit manager + kick off (1990)(empire)(side b).dsk" size="267520" crc="fafc45f7" sha1="d94cfdc743895f3f89a60e9e007f3cae60219cf8" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="yetanobd">
- <description>Yet Another Big Disk</description>
- <year>19??</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Agatha's Folly + Arnold the Adventurer"/>
- <dataarea name="flop" size="194816">
- <rom name="yet another big disk - agatha's folly + arnold the adventurer (19xx)(zenobi)(side a).dsk" size="194816" crc="c7b47449" sha1="80c18ca2f29cc3750d292fa7dd5e42eda861cf1b" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: The Jade Stone + The Ellisnore Diamond"/>
- <dataarea name="flop" size="194816">
- <rom name="yet another big disk - the jade stone + the ellisnore diamond (19xx)(zenobi)(side b).dsk" size="194816" crc="3103713f" sha1="96c58c2887113bcf01738779651e9c7463a980ec" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="yippombd">
- <description>Yippee One More Big Disk</description>
- <year>1993</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Stranded + Out of the Limelight"/>
- <dataarea name="flop" size="194816">
- <rom name="yippee one more big disk - stranded + out of the limelight (1993)(zenobi)(side a).dsk" size="194816" crc="40019a81" sha1="f6a85c2a79e9476e38ec5bec08d29d6862a670bb" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Tax Returns + Murder - He Said"/>
- <dataarea name="flop" size="194816">
- <rom name="yippee one more big disk - tax returns + murder - he said (1993)(zenobi)(side b).dsk" size="194816" crc="719624bf" sha1="29eba5c055f09ae49118735139dbbfa66185b92a" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="zappak">
- <description>Zap-Pak</description>
- <year>1988</year>
- <publisher>Players Premier</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Cybernation + Riding the Rapids"/>
- <dataarea name="flop" size="160768">
- <rom name="zap-pak - cybernation + riding the rapids (1988)(players premier).dsk" size="160768" crc="1d6888cb" sha1="69ff8f18e52b3c54e62c72bfcf92267f4360aacc" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Joe Blade + Xanthius"/>
- <dataarea name="flop" size="165632">
- <rom name="zap-pak - joe blade + xanthius (1988)(players premier).dsk" size="165632" crc="27730ac1" sha1="27b06711206766e209e59bee3a7bec2e9f05dc9e" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Demos - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="chipnsfx">
- <description>CHIPNSFX Tracker+player</description>
- <year>2017</year>
- <publisher>&lt;unknown&gt;</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="9984">
- <rom name="chipnsfx tracker+player (2017-05)(-).dsk" size="9984" crc="8ecbecd5" sha1="0c3bf106f0d42ca13ded461c1b06449351e5ec43" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="ansbacfa">
- <description>Answer Back Factfile 500 - Arithmetic - Ages 6-11</description>
- <year>1985</year>
- <publisher>Kosmos</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="answer back factfile 500 - arithmetic - ages 6-11 (1985)(kosmos).dsk" size="194816" crc="02a79ba0" sha1="22a6681d3b1579da9795b39aad01bd396ab4a170" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Educational - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="ansbacjq">
- <description>Answer Back Junior Quiz</description>
- <year>1985</year>
- <publisher>Kosmos</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="answer back junior quiz (1985)(kosmos).dsk" size="194816" crc="a00f2d25" sha1="a5ee4b4f142b0f0e46c6f71368dad1224a8db4c3" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Educational - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="castclow">
- <description>Castles and Clowns</description>
- <year>1985</year>
- <publisher>Macmillan</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="castles and clowns (1985)(macmillan).dsk" size="194816" crc="b79676fd" sha1="8561af217f3b00ef56bfa452bca3b67e2dbe2c04" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Educational - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="castclowa" cloneof="castclow">
- <description>Castles and Clowns (alt)</description>
- <year>1985</year>
- <publisher>Macmillan</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="castles and clowns (1985)(macmillan)[a].dsk" size="194816" crc="0764b8fa" sha1="37a2931cdfd5813ec859126c5e0f445a389660d2" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Educational - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="countadd">
- <description>Count and Add</description>
- <year>1992</year>
- <publisher>Lander</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="count and add (1992)(lander).dsk" size="194816" crc="3aef3126" sha1="45444aba9099091eda6e10d582e797fb9f539038" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Educational - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="funsc268">
- <description>Fun School 2 for 6-8 Year Olds</description>
- <year>1989</year>
- <publisher>Database Educational</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="fun school 2 for 6-8 year olds (1989)(database educational)[aka fun school 2 for 6 to 8 years].dsk" size="194816" crc="54456709" sha1="8ceeb4b62ed72e7f0efabf7f3c10b5347395ffbd" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Educational - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="funsc268a" cloneof="funsc268">
- <description>Fun School 2 for 6-8 Year Olds (alt)</description>
- <year>1989</year>
- <publisher>Database Educational</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="fun school 2 for 6-8 year olds (1989)(database educational)[a][aka fun school 2 for 6 to 8 years].dsk" size="194816" crc="91e7199e" sha1="29531481a5c28030b56669cd21e8a78d7196cb82" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Educational - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="funsc268b" cloneof="funsc268">
- <description>Fun School 2 for 6-8 Year Olds (alt 2)</description>
- <year>1989</year>
- <publisher>Database Educational</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="fun school 2 for 6-8 year olds (1989)(database educational)[a2][aka fun school 2 for 6 to 8 years].dsk" size="194816" crc="857a1482" sha1="85db0fc04d6a8da7e060262da05dd554930d0cba" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Educational - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="funsc268c" cloneof="funsc268">
- <description>Fun School 2 for 6-8 Year Olds (alt 3)</description>
- <year>1989</year>
- <publisher>Database Educational</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="fun school 2 for 6-8 year olds (1989)(database educational)[a3][aka fun school 2 for 6 to 8 years].dsk" size="194816" crc="7bffa05e" sha1="5d844874bc517fe8f05823452c5ceda9125ef661" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Educational - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="funsc28">
- <description>Fun School 2 for the Over-8s</description>
- <year>1989</year>
- <publisher>Database Educational</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="195328">
- <rom name="fun school 2 for the over-8s (1989)(database educational)[aka fun school 2 for ages 8 to 12].dsk" size="195328" crc="f724e19d" sha1="493e38ce4f4f83c2cfda6bc5dbc589167ce3e64f" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Educational - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="funsc357">
- <description>Fun School 3 for 5-7 Year Olds</description>
- <year>1991</year>
- <publisher>Database Educational</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="fun school 3 for 5-7 year olds (1991)(database educational)(side a).dsk" size="194816" crc="e7665457" sha1="3129d1d29d5d9226bb8aa25d79b52a429811a219" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="fun school 3 for 5-7 year olds (1991)(database educational)(side b).dsk" size="194816" crc="326672b9" sha1="0b97a077ced3b478d1a4d98454e14eaa2fc12b01" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Educational - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="funsc37">
- <description>Fun School 3 for the Over-7s</description>
- <year>1991</year>
- <publisher>Database Educational</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="fun school 3 for the over-7s (1991)(database educational)(side a).dsk" size="194816" crc="f0d9aa91" sha1="57b9a9a23b097477de7b7a7254ca134b216cd754" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="fun school 3 for the over-7s (1991)(database educational)(side b).dsk" size="194816" crc="b70a7e32" sha1="c83a137e588bb4710b137a8aa965626353b69e0c" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Educational - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="funsc35">
- <description>Fun School 3 for the Under-5s</description>
- <year>1991</year>
- <publisher>Database Educational</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="fun school 3 for the under-5s (1991)(database educational)(side a).dsk" size="194816" crc="54b0410d" sha1="f4dd65ec44b7ce2059e807f15bfce8caefdca097" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="fun school 3 for the under-5s (1991)(database educational)(side b).dsk" size="194816" crc="1fdaad89" sha1="04eb15bbf5f70e14722cb0e77cf58be30ed1e81b" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Educational - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="funsc457">
- <description>Fun School 4 for 5-7 Year Olds</description>
- <year>1992</year>
- <publisher>Europress</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="fun school 4 for 5-7 year olds (1992)(europress)(side a).dsk" size="194816" crc="4decf77a" sha1="a5cd9e81812918104de18a6b70b48aa539d7efd9" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="fun school 4 for 5-7 year olds (1992)(europress)(side b).dsk" size="194816" crc="76b510f1" sha1="0bb4de05d19bccc41486dd0c80468bd1989f9431" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Educational - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="funsc4711">
- <description>Fun School 4 for 7-11 Year Olds</description>
- <year>1992</year>
- <publisher>Europress</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="141312">
- <rom name="fun school 4 for 7-11 year olds (1992)(europress)(side a).dsk" size="141312" crc="8abd62ed" sha1="447b61201ef1f7753a375ed1377f1ab6222a6fd5" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="116992">
- <rom name="fun school 4 for 7-11 year olds (1992)(europress)(side b).dsk" size="116992" crc="9e3ba186" sha1="65245e006c650fa4a43dba7a9b51221fc6b31775" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Educational - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="henrbook">
- <description>Henrietta's Book of Spells</description>
- <year>1990</year>
- <publisher>Scetlander</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="henrietta's book of spells (1990)(scetlander).dsk" size="194816" crc="201aecb4" sha1="d125585c16c09ea6b84fa687d16d4bda00689d16" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Educational - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="identeur">
- <description>Identify Europe</description>
- <year>1987</year>
- <publisher>Kosmos</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="identify europe (1987)(kosmos).dsk" size="194816" crc="4f9dfb6f" sha1="bc632b6df0104e74af93bb2a2fd4ba338bf9d86a" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Educational - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="junglmth">
- <description>Jungle Maths</description>
- <year>1983</year>
- <publisher>Scisoft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="jungle maths (1983)(scisoft).dsk" size="194816" crc="2cf83377" sha1="50dfd0ac361229be0e96fd65d2a70796f421e289" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Educational - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="spangold">
- <description>Spanish Gold</description>
- <year>1983</year>
- <publisher>Chalksoft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="spanish gold (1983)(chalksoft).dsk" size="194816" crc="b1bcc0ef" sha1="c5436ac0a5d97e64e87361329217a07e55afe14c" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Educational - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="ttefunwo">
- <description>Thomas the Tank Engine's Fun With Words</description>
- <year>1990</year>
- <publisher>Friendly Learning</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="thomas the tank engine's fun with words (1990)(friendly learning)(side a).dsk" size="194816" crc="683a32a9" sha1="76f98308babf1addc111db18a85b3c99dded8f53" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="thomas the tank engine's fun with words (1990)(friendly learning)(side b).dsk" size="194816" crc="e7eec040" sha1="bb86b1107ebfdf69d0938a70547c05f31f57bf91" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Educational - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="wordpowe">
- <description>Word Power</description>
- <year>1983</year>
- <publisher>Sulis</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="word power (1983)(sulis).dsk" size="194816" crc="29f22d7d" sha1="858527f3df5c6bfd3841b1c47f2cf1edfef90280" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Educational - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="wordspic">
- <description>Words and Pictures</description>
- <year>1984</year>
- <publisher>Chalksoft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="words and pictures (1984)(chalksoft).dsk" size="194816" crc="055d76fa" sha1="1f07c6324f8593a2fb22090c3d93def221331cea" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="3dgrandpmd">
- <description>3D Grand Prix (master disk)</description>
- <year>1991</year>
- <publisher>Zeppelin Games</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="3d grand prix (1991)(zeppelin games)(side a)[aka grand prix championship][master disk].dsk" size="194816" crc="54a0ded1" sha1="10a2e3500752544bacbf654cf3744af5d2cbf6b2" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="ace2">
- <description>ACE 2 - The Ultimate Head to Head Conflict</description>
- <year>1987</year>
- <publisher>Cascade Games</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="ace 2 - the ultimate head to head conflict (1987)(cascade games).dsk" size="194816" crc="40b617e6" sha1="e32a487c7367913fdd7ab89da08ce742a830e960" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="apb">
- <description>APB - All Points Bulletin</description>
- <year>1989</year>
- <publisher>Domark</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="190208">
- <rom name="apb (1989)(domark)[aka all points bulletin].dsk" size="190208" crc="595363f9" sha1="58df342adf1e4a67304cfc5c0194b194c17dad5f" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="atf">
- <description>ATF - Advanced Tactical Fighter</description>
- <year>1988</year>
- <publisher>Digital Integration</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="102400">
- <rom name="atf (1988)(digital integration)[aka advanced tactical fighter].dsk" size="102400" crc="ee8aad31" sha1="05f77ee7281f667ec1f92ecb7a1af6552c9431ae" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="atfsp" cloneof="atf">
- <description>ATF - Advanced Tactical Fighter (Spa)</description>
- <year>1988</year>
- <publisher>Zafiro Software Division</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="102400">
- <rom name="atf (1988)(zafiro software division)(es)(en)[re-release].dsk" size="102400" crc="59320d5c" sha1="d6d94e6e54c28bf1393eba6e1a5ac4cd1d173fe9" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="abadcrima" cloneof="abadcrim">
- <description>La Abadia del Crimen (alt)</description>
- <year>1988</year>
- <publisher>MCM Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="191744">
- <rom name="abadia del crimen, la (1988)(mcm)(es)[re-release].dsk" size="191744" crc="1052ece9" sha1="d94b16011f80428d49edb0af7dec4d73e13021f2" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="afighter">
- <description>Action Fighter</description>
- <year>1989</year>
- <publisher>Firebird Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="action fighter (1989)(firebird).dsk" size="194816" crc="2db88300" sha1="f8511df3b99924755ca52ec3f1b0ec175e18b7c4" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="aforcea" cloneof="aforce">
- <description>Action Force - International Heroes (alt)</description>
- <year>1987</year>
- <publisher>Virgin Games</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194560">
- <rom name="action force - international heroes (1987)(virgin games).dsk" size="194560" crc="2c5f41d4" sha1="edb1ae391d64f330cabe4e50b0066c801bc54cc1" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="aforce2a" cloneof="aforce2">
- <description>Action Force II - International Heroes (alt)</description>
- <year>1988</year>
- <publisher>Virgin Games</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="214272">
- <rom name="action force ii - international heroes (1988)(virgin games).dsk" size="214272" crc="ea3f2c0d" sha1="63eb5e445a2029e238b08a63ba17b476a27d4d23" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="tiebreaksp" cloneof="tiebreak">
- <description>Adidas Championship Tie-Break (Spa)</description>
- <year>1990</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="73216">
- <rom name="adidas championship tie-break (1990)(erbe)(es)(en)[re-release].dsk" size="73216" crc="dd6cd54d" sha1="bd915b96fe9fa36c17c3f92f2bbc954720567867" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="tiebreaka" cloneof="tiebreak">
- <description>Adidas Championship Tie-Break (alt)</description>
- <year>1990</year>
- <publisher>Ocean Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="196352">
- <rom name="adidas championship tie-break (1990)(ocean).dsk" size="196352" crc="c5a7238c" sha1="815ca74726a688d0878303bfd7558b5f82c17388" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="afterwar">
- <description>After the War</description>
- <year>1989</year>
- <publisher>Dinamic Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="118016">
- <rom name="after the war (1989)(dinamic)(es)(en).dsk" size="118016" crc="cb90314d" sha1="970d0ef6ec0223be59b46298e91be212bdeceda1" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="afterwarsp" cloneof="afterwar">
- <description>After the War (Spa)</description>
- <year>1989</year>
- <publisher>Dinamic Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="166400">
- <rom name="after the war (1989)(dinamic)(es).dsk" size="166400" crc="3dabca4d" sha1="202216a662531fa8c5fba654aac78d91c6db0f4c" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="aburner">
- <description>Afterburner</description>
- <year>1988</year>
- <publisher>Activision</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="214784">
- <rom name="afterburner (1988)(activision)(side a).dsk" size="214784" crc="ceaebfa1" sha1="fc65a2a8a7c7e77ddcf28554e8f8ae08057bd1e5" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="214784">
- <rom name="afterburner (1988)(activision)(side b).dsk" size="214784" crc="d3330013" sha1="8348adc6e09bc227ab85ae032d6f9d8f968e1310" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="aburnera" cloneof="aburner">
- <description>Afterburner (alt)</description>
- <year>1988</year>
- <publisher>Activision</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="214784">
- <rom name="afterburner (1988)(activision)(side a)[a].dsk" size="214784" crc="e3388dc3" sha1="6a96ed52748275d3b8c8a6ec105b7f97733228a9" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <!-- Side missing from dump, using same as parent set -->
- <dataarea name="flop" size="214784">
- <rom name="afterburner (1988)(activision)(side b).dsk" size="214784" crc="d3330013" sha1="8348adc6e09bc227ab85ae032d6f9d8f968e1310" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="agathafo">
- <description>Agatha's Folly</description>
- <year>1989</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="agatha's folly (1989)(zenobi)(side a).dsk" size="194816" crc="d569dc69" sha1="93518c5dc62b9e60d39c39b55c0d935c03eedb34" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="agatha's folly (1989)(zenobi)(side b).dsk" size="194816" crc="513d78d3" sha1="0c7a88208c15ceb6b33abc8a2e8b193e593a1fb5" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="agathafoa" cloneof="agathafo">
- <description>Agatha's Folly (alt)</description>
- <year>1989</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="agatha's folly (1989)(zenobi).dsk" size="194816" crc="6ac0d7e5" sha1="d8e2f4cc3c49087c14dd9b73996d17a2186f45fd" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="airbrang">
- <description>Airborne Ranger</description>
- <year>1988</year>
- <publisher>MicroProse</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="209152">
- <rom name="airborne ranger (1988)(microprose)(side a).dsk" size="209152" crc="caee7972" sha1="6cc64601dadb692b6c7ee1ae115345f1bca748a9" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="airborne ranger (1988)(microprose)(side b).dsk" size="194816" crc="17331dce" sha1="ece46c1567a8e37bc46bd61f8c772effa00243bb" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="alienres">
- <description>Alien Research Centre</description>
- <year>1990</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="alien research centre (1990)(zenobi).dsk" size="194816" crc="db2bc7a4" sha1="4c9aade94605af27eb7d50a82a00bc1053ce87b8" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="astormsp" cloneof="astorm">
- <description>Alien Storm (Spa)</description>
- <year>1991</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="255232">
- <rom name="alien storm (1991)(erbe)(es)(en)[re-release].dsk" size="255232" crc="deea5c29" sha1="fce55879436faff99fb58de3bdc3b52ee7e15e17" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="astorm">
- <description>Alien Storm</description>
- <year>1991</year>
- <publisher>U.S. Gold</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="389376">
- <rom name="alien storm (1991)(u.s. gold).dsk" size="389376" crc="7bbc42ae" sha1="13c74820255ea1e7797d90208d1e4db8e610c303" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="aliensyn">
- <description>Alien Syndrome</description>
- <year>1988</year>
- <publisher>ACE</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="alien syndrome (1988)(ace).dsk" size="194816" crc="f7cb4c52" sha1="6aa692ebce02b84c803debeb610f4eb0d313707d" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="aliensynsp" cloneof="aliensyn">
- <description>Alien Syndrome (Spa)</description>
- <year>1988</year>
- <publisher>Dro Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="alien syndrome (1988)(dro soft)(es)(en)[re-release].dsk" size="194816" crc="e2c722af" sha1="c76e486de716cabe52a968df6913001df479511a" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="allinada">
- <description>All in a Day's Work</description>
- <year>1996</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="all in a day's work (1996)(zenobi)(side a).dsk" size="194816" crc="fc9fdcc7" sha1="9b616bb325491c4466125b85c328bba856c30481" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="all in a day's work (1996)(zenobi)(side b).dsk" size="194816" crc="de25e5f7" sha1="fd993d7f673d797b0a6fe1b7d0d08f18dc29f6c4" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="amerbsktmd">
- <description>All-American Basketball (master disk)</description>
- <year>1992</year>
- <publisher>Zeppelin Games</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="all-american basketball (1992)(zeppelin games)(side a)[master disk].dsk" size="194816" crc="1b9bd910" sha1="7502f8042d64ca8a045c2bdbb7ddbed976839b9e" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="all-american basketball (1992)(zeppelin games)(side b)[master disk].dsk" size="194816" crc="a5c993ed" sha1="5b2d23073972b992cecd65b0044d954b6e905426" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="spmandoom">
- <description>The Amazing Spider-Man and Captain America in Dr. Doom's Revenge</description>
- <year>1989</year>
- <publisher>Empire</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="amazing spider-man and captain america in dr. doom's revenge, the (1989)(empire).dsk" size="194816" crc="ad142fd9" sha1="a7fa82a92bf1db333065c0a74115c5990033e6d8" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="am3dpoolmd">
- <description>American 3D Pool (master disk)</description>
- <year>1992</year>
- <publisher>Zeppelin Games</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="american 3d pool (1992)(zeppelin games)(side a)[master disk].dsk" size="194816" crc="3133c3a7" sha1="88d7dc1629b19213ad5013cece5d7914da260399" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="american 3d pool (1992)(zeppelin games)(side b)[master disk].dsk" size="194816" crc="9e62a21c" sha1="2d6d741dfcf6c914fa153f49a0febf824d7cabd0" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="amnes102sp" cloneof="amnes102">
- <description>Amnesia v1.02 (Spa)</description>
- <year>2015</year>
- <publisher>Huelvy</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="amnesia v1.02 (2015-12-05)(huelvy)(es).dsk" size="194816" crc="6c797654" sha1="77462f3706073c6a46db1d09c8bbb299e0cda3d8" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="amnes102">
- <description>Amnesia v1.02</description>
- <year>2015</year>
- <publisher>Huelvy</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="amnesia v1.02 (2015-12-05)(huelvy).dsk" size="194816" crc="3207f613" sha1="ca4465100649b6210566ec07dbccc6d5bd45be90" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="amotospu">
- <description>Amoto's Puf</description>
- <year>1988</year>
- <publisher>SPE</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="amoto's puf (1988)(spe)(es).dsk" size="194816" crc="ea11bf11" sha1="3399583f7a9bd712e9aa1a7c6ac83e79112289d4" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="amuldara">
- <description>The Amulet of Darath</description>
- <year>1992</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="amulet of darath, the (1992)(zenobi).dsk" size="194816" crc="6c2d3b50" sha1="6fe5169df72e34a41e0ea557ae1c85540a4b8600" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="apprenti">
- <description>The Apprentice</description>
- <year>1993</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="apprentice, the (1993)(zenobi).dsk" size="194816" crc="86e40adc" sha1="f8b6f9a8fb83c9e004aeb9e84dd7989323adb2cb" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="april7th">
- <description>April 7th</description>
- <year>1992</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="april 7th (1992)(zenobi).dsk" size="194816" crc="f2ee2bd1" sha1="501de56a06afc02e13623eab143664754acd9248" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="aplj1311" cloneof="aplj1312">
- <description>Apulija 13 V1.1</description>
- <year>2013</year>
- <publisher>Alessandro Grussu</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="apulija 13 v1.1 (2013)(grussu, alessandro)(it)(m4).dsk" size="194816" crc="5db02461" sha1="1a7474e0bab3c271318edd6b8e4d0544a3962b35" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="aplj1312">
- <description>Apulija 13 v1.2</description>
- <year>2013</year>
- <publisher>Alessandro Grussu</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="apulija 13 v1.2 (2013-09-24)(grussu, alessandro)(it)(m4).dsk" size="194816" crc="c0eee6bf" sha1="d12e8fe086625a3aab7757fc35ea21b8768c92c6" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="arctcfox">
- <description>Arctic Fox</description>
- <year>1988</year>
- <publisher>Electronic Arts</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="195840">
- <rom name="arctic fox (1988)(electronic arts).dsk" size="195840" crc="b1d9a818" sha1="cdcdacb38e26b94782cba0efb5371062ee5b08d3" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="arkanoi2">
- <description>Arkanoid - Revenge of Doh</description>
- <year>1988</year>
- <publisher>Imagine Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="214784">
- <rom name="arkanoid - revenge of doh (1988)(imagine)[aka arkanoid 2].dsk" size="214784" crc="e5dafb18" sha1="9e3d9552dd438d3a224ea19fc5e19730e1738bef" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="arntadv3">
- <description>Arnold the Adventurer III - This Time It's Personal</description>
- <year>1992</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="arnold the adventurer iii - this time it's personal (1992)(zenobi).dsk" size="194816" crc="c5159e2b" sha1="f1916459527b2f153849d05624cad97c3dd650f4" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="arturaa" cloneof="artura">
- <description>Artura (alt)</description>
- <year>1989</year>
- <publisher>Gremlin Graphics Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="artura (1989)(gremlin graphics)(side a).dsk" size="194816" crc="a60019cb" sha1="3303b24cc705b4b6051223d653288ef115d90b2d" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="artura (1989)(gremlin graphics)(side b).dsk" size="194816" crc="9e8f9c27" sha1="4e2b395bbaf8e08341f515cdfc5744931d72872b" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="asalycas">
- <description>Asalto y Castigo</description>
- <year>2009</year>
- <publisher>&lt;homebrew&gt;</publisher>
- <info name="author" value="Jose Baltasar Garcia Perez-Schofield"/>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="asalto y castigo (2009)(perez-schofield, jose baltasar garcia)(es).dsk" size="194816" crc="2942f741" sha1="09332e67e9d646e39409985443055dd56aa42acc" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="aspargpm">
- <description>Aspar GP Master</description>
- <year>1988</year>
- <publisher>Dinamic Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="58880">
- <rom name="aspar gp master (1988)(dinamic)(es)(side a).dsk" size="58880" crc="c583f871" sha1="1b94e7d003a6b243eaf0ddaa05fb7189025ddce3" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="80384">
- <rom name="aspar gp master (1988)(dinamic)(es)(en)(side b).dsk" size="80384" crc="300e8562" sha1="3db8311950a6db82494c7ccfbc3605d5dc4c92a0" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="aspargpmsp" cloneof="aspargpm">
- <description>Aspar GP Master (alt)</description>
- <year>1988</year>
- <publisher>Dinamic Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="58880">
- <rom name="aspar gp master (1988)(dinamic)(es).dsk" size="58880" crc="8c452eea" sha1="1618afa3986147ee842af394198ea662de76f6a9" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="amc">
- <description>Astro Marine Corps</description>
- <year>1989</year>
- <publisher>Dinamic Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="128768">
- <rom name="astro marine corps (1989)(dinamic)(es)[aka amc].dsk" size="128768" crc="49da31a0" sha1="045a8026457cebe101fa76c856654812e4830c3f" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="aurascop">
- <description>Aura-Scope</description>
- <year>1991</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="aura-scope (1991)(zenobi)[aka horrorscope][re-release].dsk" size="194816" crc="06e2ce3b" sha1="4da4ad217593a8e6301bc2800a2a836bd7417ea1" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="autocras">
- <description>Autocrash</description>
- <year>1991</year>
- <publisher>Zigurat Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="63488">
- <rom name="autocrash (1991)(zigurat)(es).dsk" size="63488" crc="9d26fed0" sha1="1aea386a6243646e3dfce6bce6d013e6e86a6ca3" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="aventesp">
- <description>La Aventura Espacial</description>
- <year>1990</year>
- <publisher>Aventuras AD</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="102400">
- <rom name="aventura espacial, la (1990)(aventuras ad)(es).dsk" size="102400" crc="a0609dc1" sha1="e8f20ca45e3393233578cfd8abc2a038aab608cd" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="aventori">
- <description>La Aventura Original</description>
- <year>1989</year>
- <publisher>Aventuras AD</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="206080">
- <rom name="aventura original, la (1989)(aventuras ad)(es).dsk" size="206080" crc="4c67d329" sha1="b76701e9a6d99195e866e3dd902be37f0aca45b0" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="pepetrue">
- <description>Las Aventuras de Pepe Trueno</description>
- <year>2003</year>
- <publisher>&lt;homebrew&gt;</publisher>
- <info name="author" value="Rockersuke Moroboshi"/>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="aventuras de pepe trueno, las (2003)(rockersuke moroboshi)(es).dsk" size="194816" crc="4d7ef85e" sha1="cd00274300da42b59e076edda185ad15f4cd1725" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="axeofkol">
- <description>The Axe of Kolt</description>
- <year>1990</year>
- <publisher>FSF Adventures</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="axe of kolt, the (1990)(fsf adventures)(side a).dsk" size="194816" crc="cb7846ad" sha1="df43b9c0d8461f3e44c04a716b222e72db2a6d35" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="axe of kolt, the (1990)(fsf adventures)(side b).dsk" size="194816" crc="52a2a8e1" sha1="72ee7458dd51806f3f8737f28f75c1163c6d8963" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="aztcaslt">
- <description>Aztec Assault</description>
- <year>1992</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="aztec assault (1992)(zenobi).dsk" size="194816" crc="9c23191d" sha1="d6ae6a418a37a5467e2c3ff969f5e1aeeb2e6a61" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="bttf2">
- <description>Back to the Future Part II</description>
- <year>1990</year>
- <publisher>Image Works</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="216320">
- <rom name="back to the future part ii (1990)(image works)(side a).dsk" size="216320" crc="30c20cf0" sha1="ae22c8cd1fc94577bd45cf3a5d6075dce517ab03" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="back to the future part ii (1990)(image works)(side b).dsk" size="194816" crc="ae0bffe4" sha1="05b70832fc272183a6ffac24a3bb9307b85a2b5d" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="bttf3">
- <description>Back to the Future Part III</description>
- <year>1991</year>
- <publisher>Image Works</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="196352">
- <rom name="back to the future part iii (1991)(image works)(side a).dsk" size="196352" crc="3913c988" sha1="919d098cf7be3d0513baf53231b39b9d4867eaa2" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="back to the future part iii (1991)(image works)(side b).dsk" size="194816" crc="1dd2ad6a" sha1="8e707432b2a6e7d0b10a7ef73f5bc5fd9da62857" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="bttf3a" cloneof="bttf3">
- <description>Back to the Future Part III (alt)</description>
- <year>1991</year>
- <publisher>Image Works</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="389376">
- <rom name="back to the future part iii (1991)(image works)[aka back to the future iii].dsk" size="389376" crc="9fe3c153" sha1="fed66130a1b7d6a9abf808e2d50610f2006de42d" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="baddudes">
- <description>Bad Dudes vs. Dragon Ninja</description>
- <year>1988</year>
- <publisher>Imagine Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="144896">
- <rom name="bad dudes vs. dragon ninja (1988)(imagine).dsk" size="144896" crc="62c50d95" sha1="bc00cd74d7ef98d43ca9bfafe4edbea825d30c0c" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="badlandsa" cloneof="badlands">
- <description>Badlands (alt)</description>
- <year>1990</year>
- <publisher>Domark</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="badlands (1990)(domark).dsk" size="194816" crc="51be78e0" sha1="64dcfb8260630b878ae0778a29d4008d107e806d" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="balrgcat">
- <description>The Balrog and the Cat</description>
- <year>1988</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="balrog and the cat, the (1988)(zenobi).dsk" size="194816" crc="646814a2" sha1="3548ee10ccc4a77ebc96b5b79c037aac85d475ce" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="barbaria">
- <description>Barbarian</description>
- <year>1988</year>
- <publisher>Dro Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="63488">
- <rom name="barbarian (1988)(dro soft)(es)(en)[re-release].dsk" size="63488" crc="d72642e4" sha1="56f2bc58e03a34b0d3098c06c7e52be64342e3c1" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="barbari2sp" cloneof="barbari2">
- <description>Barbarian II - The Dungeon of Drax (Spa)</description>
- <year>1988</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="144384">
- <rom name="barbarian ii - the dungeon of drax (1988)(erbe)(es)(en)[re-release].dsk" size="144384" crc="8ba96bd6" sha1="aed9c7159d67af12e649f6a4b7f69c767ed38f94" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="barbari2">
- <description>Barbarian II - The Dungeon of Drax</description>
- <year>1988</year>
- <publisher>Palace</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="254720">
- <rom name="barbarian ii - the dungeon of drax (1988)(palace).dsk" size="254720" crc="c34122e2" sha1="85aaa95586f4c72940dcbb4c172344a5cf65347c" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="barbari2a" cloneof="barbari2">
- <description>Barbarian II - The Dungeon of Drax (alt)</description>
- <year>1988</year>
- <publisher>Palace</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="144384">
- <rom name="barbarian ii - the dungeon of drax (1988)(palace)[a].dsk" size="144384" crc="7f0aecdc" sha1="960844cba76d42f6ff1a37ecbb1a2cce8568368f" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="bardsta1">
- <description>The Bard's Tale Vol 1 - Tales of the Unknown</description>
- <year>1988</year>
- <publisher>Electronic Arts</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="bard's tale vol 1, the - tales of the unknown (1988)(electronic arts)(side a).dsk" size="194816" crc="378a5215" sha1="8e3bd21491ca201fdcb71fcadd561ce3aa529a53" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="bard's tale vol 1, the - tales of the unknown (1988)(electronic arts)(side b).dsk" size="194816" crc="c2ae64e9" sha1="b031822fd972de13a72cdea0fe77a327d388ed44" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="bardrite">
- <description>The Bardic Rites</description>
- <year>1994</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="bardic rites, the (1994)(zenobi).dsk" size="194816" crc="99c8df43" sha1="627fd79979146655854164c8b20165ef9f2045aa" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="batmancc">
- <description>Batman - The Caped Crusader</description>
- <year>1988</year>
- <publisher>Ocean Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="123392">
- <rom name="batman - the caped crusader (1988)(ocean).dsk" size="123392" crc="91bfb255" sha1="004538f2c6b9258c301a5c232075d7d762f444a9" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="batmantm">
- <description>Batman - The Movie</description>
- <year>1989</year>
- <publisher>Ocean Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="batman - the movie (1989)(ocean).dsk" size="194816" crc="31da53d6" sha1="50a94f8a0261fc4661af6fc791f684ed1737c9ba" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="batmantma" cloneof="batmantm">
- <description>Batman - The Movie (alt)</description>
- <year>1989</year>
- <publisher>Ocean Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="152576">
- <rom name="batman - the movie (1989)(ocean)[a].dsk" size="152576" crc="a4db4011" sha1="e56a88a1837d8ad02c64ddd786ff8ece1d064087" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="batmantmb" cloneof="batmantm">
- <description>Batman - The Movie (alt 2)</description>
- <year>1989</year>
- <publisher>Ocean Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="batman - the movie (1989)(ocean)[a2].dsk" size="194816" crc="111bd6db" sha1="2920d5ea39b487bd1c8713cf8117752ecc7a12a3" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="batmantmspa" cloneof="batmantm">
- <description>Batman - The Movie (Spa) (alt)</description>
- <year>1989</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="185088">
- <rom name="batman - the movie (1989)(erbe)(es)(en)[a][re-release].dsk" size="185088" crc="d07587bc" sha1="94918c10f53710577cc86c3e3b89b37fec6577f9" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="batmantmsp" cloneof="batmantm">
- <description>Batman - The Movie (Spa)</description>
- <year>1989</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="185088">
- <rom name="batman - the movie (1989)(erbe)(es)(en)[re-release].dsk" size="185088" crc="42936386" sha1="75b4ea3e5659f5d39b115abf795ff8175dc0ae06" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="beachvol">
- <description>Beach Volley</description>
- <year>1989</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="97536">
- <rom name="beach volley (1989)(erbe)(es)(en)[re-release].dsk" size="97536" crc="f8c13542" sha1="93673eaec3f66e8e14461e94d55cbb69b944f171" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="thebeast">
- <description>The Beast</description>
- <year>1988</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="beast, the (1988)(zenobi)[re-release].dsk" size="194816" crc="33cc73f0" sha1="747f285b901f388aed5dd547cf5cc2740833d50b" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="bedlamsp" cloneof="bedlam">
- <description>Bedlam (Spa)</description>
- <year>1988</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="bedlam (1988)(erbe)(es)(en)[re-release].dsk" size="194816" crc="4f8f724b" sha1="c93e9de8363fbd4b48c9aa23095af34b4e42a940" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="bedlam">
- <description>Bedlam</description>
- <year>1988</year>
- <publisher>Go</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="bedlam (1988)(go).dsk" size="194816" crc="a69e1974" sha1="be74fdc1b70756e405bfc53cf54ee7c790e96e36" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="begotend">
- <description>The Beginning of the End</description>
- <year>1992</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="beginning of the end, the (1992)(zenobi).dsk" size="194816" crc="d7513346" sha1="61c9b420a52fa920374b9f2ac7b326ed6bc1c8ed" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="behclod4">
- <description>Behind Closed Doors 4 - Balrog's Day Out</description>
- <year>1989</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="behind closed doors 4 - balrog's day out (1989)(zenobi).dsk" size="194816" crc="dc5066f6" sha1="500d838a4327e72ef829c31b31fedb755cba4a5c" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="bermtria">
- <description>The Bermuda Triangle</description>
- <year>1991</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="bermuda triangle, the (1991)(zenobi).dsk" size="194816" crc="1f56095c" sha1="8515f73018bccab506daaae8274ca394eda9c8b5" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="bestialwgs" cloneof="bestialw">
- <description>Bestial Warrior (Gun Stick)</description>
- <year>1989</year>
- <publisher>Dinamic Software</publisher>
- <info name="usage" value="Requires Gun Stick light gun"/>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="75008">
- <rom name="bestial warrior (1989)(dinamic)(es).dsk" size="75008" crc="64a24dbd" sha1="10eada64f580e6c3e08971bd6cc0bd90aaf54ebe" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- This image came from a dual-system Spectrum/Amstrad release (Side A: Spectrum, Side B: Amstrad) -->
- <software name="bestialw">
- <description>Bestial Warrior</description>
- <year>1989</year>
- <publisher>Dinamic Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Spectrum"/>
- <dataarea name="flop" size="80384">
- <rom name="bestial warrior (1989)(dinamic)(es)[a].dsk" size="80384" crc="208235f6" sha1="50d9a3bb79b82deb6c08253cfbffa460bb8abaa2" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Amstrad"/>
- <dataarea name="flop" size="91136">
- <rom name="bestial warrior (1989)(dinamic)(es)(side b).dsk" size="91136" crc="3fd882c2" sha1="977204c72ef1b1643e33516ffe904b35ad87c826" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="bhcopa" cloneof="bhcop">
- <description>Beverly Hills Cop (alt)</description>
- <year>1990</year>
- <publisher>Tynesoft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="beverly hills cop (1990)(tynesoft).dsk" size="194816" crc="ad7c72d1" sha1="186496c66a7a9e9cabdf7e5bc76b3183d4a06941" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="bticepal">
- <description>Beyond the Ice Palace</description>
- <year>1988</year>
- <publisher>Elite Systems</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="214784">
- <rom name="beyond the ice palace (1988)(elite systems).dsk" size="214784" crc="364b9753" sha1="e8aff84d40510100028fb15de89ab3071036c6f2" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="bticepalsp" cloneof="bticepal">
- <description>Beyond the Ice Palace (Spa)</description>
- <year>1988</year>
- <publisher>MCM Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="beyond the ice palace (1988)(mcm)(es)(en)[re-release].dsk" size="194816" crc="a547670b" sha1="cde06121712e3beeeb1faca842a1731f2dab850b" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="bioninjamd">
- <description>Bionic Ninja (master disk)</description>
- <year>1989</year>
- <publisher>Zeppelin Games</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="bionic ninja (1989)(zeppelin games)(side a)[master disk].dsk" size="194816" crc="99c63497" sha1="b4517e6a2124eb1fc6e5f658c9591ef0b867840f" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="blacklam">
- <description>Black Lamp</description>
- <year>1988</year>
- <publisher>Firebird Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="78080">
- <rom name="black lamp (1988)(firebird).dsk" size="78080" crc="e90869b8" sha1="c98bc347c956d2b0ee2542fc07b171237a324ad5" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="blacktwr">
- <description>The Black Tower</description>
- <year>1984</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="black tower, the (1984)(zenobi).dsk" size="194816" crc="d3b64e66" sha1="80f9a5b6eeafcc185019b818ac40e6786f57bef5" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="blstroid">
- <description>Blasteroids</description>
- <year>1989</year>
- <publisher>Image Works</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="174848">
- <rom name="blasteroids (1989)(image works).dsk" size="174848" crc="47c49e33" sha1="71ed33708c9bd8481da358e5ee5c62d9f4e901d2" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="blinscarmd">
- <description>Blinky's Scary School (master disk)</description>
- <year>1990</year>
- <publisher>Zeppelin Games</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="199680">
- <rom name="blinky's scary school (1990)(zeppelin games)(side a)[master disk].dsk" size="199680" crc="6c13f156" sha1="b58ea972c196119403801ea66b50da8fe2e9be3e" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="bloodwyca" cloneof="bloodwyc">
- <description>Bloodwych (alt)</description>
- <year>1990</year>
- <publisher>Image Works</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="bloodwych (1990)(image works).dsk" size="194816" crc="d650514e" sha1="0132b678fd1a1003b90aa613a1d70ac9f87134ce" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="boggita" cloneof="boggit">
- <description>The Boggit - Bored Too (alt)</description>
- <year>1986</year>
- <publisher>CRL Group</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="boggit, the - bored too (1986)(crl group).dsk" size="194816" crc="0ada70d5" sha1="fb558e0b129a091fbebf0ee76c96ed37eb061ca6" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="bnzabros">
- <description>Bonanza Bros.</description>
- <year>1992</year>
- <publisher>U.S. Gold</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="255232">
- <rom name="bonanza bros. (1992)(u.s. gold)(side a).dsk" size="255232" crc="79c23b90" sha1="b3fc3de4e20bcfea9d341896624d2710da06cea5" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="255232">
- <rom name="bonanza bros. (1992)(u.s. gold)(side b).dsk" size="255232" crc="bc619eef" sha1="8596ee563127f2ef5dd047feb482e5b1a5834e97" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="bookdeada" cloneof="bookdead">
- <description>Book of the Dead (alt)</description>
- <year>1987</year>
- <publisher>CRL Group</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="book of the dead (1987)(crl group)[re-release].dsk" size="194816" crc="bc6b999a" sha1="3a1b2cc0692a7767c0db3d4affaa29025e723898" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="boydfile">
- <description>The Boyd File</description>
- <year>1990</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="boyd file, the (1990)(zenobi).dsk" size="194816" crc="a10f7dcb" sha1="338836359459d8adfb54bd2c9e99bc683dad71db" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="bravesta">
- <description>BraveStarr</description>
- <year>1987</year>
- <publisher>Go</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="bravestarr (1987)(go).dsk" size="194816" crc="ebd6d548" sha1="585a027a2029675df07ea0e7786e9fdfbda60c9b" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="btnovbar">
- <description>Brian - The Novice Barbarian</description>
- <year>1994</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="brian - the novice barbarian (1994)(zenobi).dsk" size="194816" crc="5118b277" sha1="71138e6dd21e30728c1a388b1eaa25efbd93f8ff" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="bcfofort">
- <description>Brian Clough's Football Fortunes</description>
- <year>1987</year>
- <publisher>CDS Microsystems</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="brian clough's football fortunes (1987)(cds microsystems).dsk" size="194816" crc="6cbefb15" sha1="4ea4df092ad0059a9e7e5a0e0e136d675a12ad3e" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="brdgpgal">
- <description>Bridge Player Galactica</description>
- <year>1989</year>
- <publisher>CP Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="bridge player galactica (1989)(cp).dsk" size="194816" crc="be950646" sha1="b921a28c699b1e785b613ac8a7e5fb2ee0fcf6ba" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="bublbobl">
- <description>Bubble Bobble</description>
- <year>1987</year>
- <publisher>Firebird Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="78080">
- <rom name="bubble bobble (1987)(firebird).dsk" size="78080" crc="ad820cf2" sha1="dc43630be33bdf4279d6cf51d2539b8a3e4ac768" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="bublbust">
- <description>Bubble Buster</description>
- <year>1984</year>
- <publisher>Sinclair Research</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="bubble buster (1984)(sinclair research).dsk" size="194816" crc="bd8be2d5" sha1="e0acc64b08cdca0fb17fb1567aee8328f039423a" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="bbrgsp" cloneof="bbrg">
- <description>Buffalo Bill's Wild West Show (Spa)</description>
- <year>1989</year>
- <publisher>System 4</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="buffalo bill's wild west show (1989)(system 4)(es)(en)[re-release].dsk" size="194816" crc="98087bfb" sha1="6bb33ab8dfdc7b7c0081e6eb49abd68df760358a" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="bbrga" cloneof="bbrg">
- <description>Buffalo Bill's Wild West Show (alt)</description>
- <year>1989</year>
- <publisher>Tynesoft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="buffalo bill's wild west show (1989)(tynesoft)[aka buffalo bill's rodeo games].dsk" size="194816" crc="35a8bbb9" sha1="d0c7112c0cb98ce3476383cf46fa9d3b1ef7d4c2" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="buggyboy">
- <description>Buggy Boy</description>
- <year>1988</year>
- <publisher>Elite Systems</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="214784">
- <rom name="buggy boy (1988)(elite systems).dsk" size="214784" crc="c567c3ab" sha1="752f46a60fe96049315e2a9afd3cf0103e254cf1" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="buggyboya" cloneof="buggyboy">
- <description>Buggy Boy (alt)</description>
- <year>1988</year>
- <publisher>Elite Systems</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="214784">
- <rom name="buggy boy (1988)(elite systems)[a].dsk" size="214784" crc="57649b27" sha1="d546ec0b36a4d469f0b1663f39105b088653a272" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="buggyran">
- <description>Buggy Ranger</description>
- <year>1990</year>
- <publisher>Dinamic Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="64256">
- <rom name="buggy ranger (1990)(dinamic)(es).dsk" size="64256" crc="8b7ece82" sha1="fba219989f6d81a249a92deee818762d017c9b37" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="bugsy">
- <description>Bugsy</description>
- <year>1986</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="bugsy (1986)(zenobi)[re-release].dsk" size="194816" crc="60b11040" sha1="6d3744cec7aa20dda6d7edf7ad4420fed318b66e" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="bumpy">
- <description>Bumpy</description>
- <year>1989</year>
- <publisher>Proein Soft Line</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="bumpy (1989)(proein soft line)(es)(en)[re-release].dsk" size="194816" crc="c31c1761" sha1="535ef007a517e9c64f8327e5f402c396d768f178" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="butchilla" cloneof="butchill">
- <description>Butcher Hill (alt)</description>
- <year>1989</year>
- <publisher>Gremlin Graphics Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="butcher hill (1989)(gremlin graphics).dsk" size="194816" crc="43d9764d" sha1="cdc2d744c058bb8f788ecf7c46a127db486dc915" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="byfairme">
- <description>By Fair Means...or Foul</description>
- <year>1989</year>
- <publisher>Superior Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="214784">
- <rom name="by fair means...or foul (1989)(superior).dsk" size="214784" crc="6d191978" sha1="9bc03db30b5825be2b65c8e3b2be112f6b5c5ffb" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="cabalsp" cloneof="cabal">
- <description>Cabal (Spa)</description>
- <year>1989</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="185088">
- <rom name="cabal (1989)(erbe)(es)(en)[re-release].dsk" size="185088" crc="64cd1c52" sha1="eaff4e540200b432387ad8159b9ebfd2fda37deb" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="cabal">
- <description>Cabal</description>
- <year>1989</year>
- <publisher>Ocean Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="164352">
- <rom name="cabal (1989)(ocean).dsk" size="164352" crc="12a62acc" sha1="e021057ade1a87dc0f429f505af97f587295478a" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="caligams">
- <description>California Games</description>
- <year>1987</year>
- <publisher>U.S. Gold</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="182016">
- <rom name="california games (1987)(u.s. gold)(side a).dsk" size="182016" crc="68089b7a" sha1="31f8220eef17c214c050a62370b95246023f0cb6" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="canbubbl">
- <description>Cannon Bubble</description>
- <year>2007</year>
- <publisher>Computer Emuzone</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="cannon bubble (2007)(computer emuzone)(es)(en).dsk" size="194816" crc="79a65c7e" sha1="916aee8d92c4d2657873adf2a5df2d10bc3157ee" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="cpsevill">
- <description>Capitan Sevilla</description>
- <year>1988</year>
- <publisher>Dinamic Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="175360">
- <rom name="capitan sevilla (1988)(dinamic)(es).dsk" size="175360" crc="e7a740da" sha1="5b00d1bea69edd2b9ea7069aae5bd6467528be0d" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="cptrueno">
- <description>El Capitan Trueno</description>
- <year>1990</year>
- <publisher>Dinamic Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="107264">
- <rom name="capitan trueno, el (1990)(dinamic)(es).dsk" size="107264" crc="ae4033aa" sha1="ebfba4e9b058aec5d123d5c5d00d8ed6e325ce72" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="cptblood">
- <description>Captain Blood</description>
- <year>1988</year>
- <publisher>Exxos</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="captain blood (1988)(exxos)(fr)(en).dsk" size="194816" crc="e17df717" sha1="1041bb79b8db774876d2b459e6c425ce1d22f3f8" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="cptblooda" cloneof="cptblood">
- <description>Captain Blood (alt)</description>
- <year>1988</year>
- <publisher>Exxos</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="209408">
- <rom name="captain blood (1988)(exxos)(fr)(en)[a].dsk" size="209408" crc="5b95e764" sha1="542f17338147ec719df11d3e60c2c71588dfbb51" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- This is the dump at World of Spectrum -->
- <software name="cptplnet">
- <description>Captain Planet and the Planeteers</description>
- <year>1991</year>
- <publisher>Mindscape International</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="255232">
- <rom name="captain planet and the planeteers (1991)(mindscape international)(side a).dsk" size="255232" crc="de0baf9a" sha1="0d171f094ef1c197728fb094738a9e3192e1cb47" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="cptplneta" cloneof="cptplnet">
- <description>Captain Planet and the Planeteers (alt)</description>
- <year>1991</year>
- <publisher>Mindscape International</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="255232">
- <rom name="captain planet and the planeteers (1991)(mindscape international).dsk" size="255232" crc="cc688e2f" sha1="9647cad3b005bcb1326e964a44f0bdce15b6e4de" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="csainz">
- <description>Carlos Sainz - Campeonato del Mundo de Rallies</description>
- <year>1990</year>
- <publisher>Zigurat Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="58624">
- <rom name="carlos sainz - campeonato del mundo de rallies (1990)(zigurat)(es).dsk" size="58624" crc="69b938d9" sha1="8c78ff2f741668a9d583598bd0d71ae3c94ec054" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="carrierca" cloneof="carrierc">
- <description>Carrier Command (alt)</description>
- <year>1989</year>
- <publisher>Rainbird Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="carrier command (1989)(rainbird)[passworded].dsk" size="194816" crc="dc5836b6" sha1="834acdb689df5ce1fae378830fd40706176a1759" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="cotbehsm">
- <description>The Case of the Beheaded Smuggler</description>
- <year>1988</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="case of the beheaded smuggler, the (1988)(zenobi)[re-release].dsk" size="194816" crc="b6283daf" sha1="ae1fdb8f733286d58242c872fa43a48d6dd2c2e3" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="castlmassp" cloneof="castlmas">
- <description>Castle Master (Spa)</description>
- <year>1990</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="68352">
- <rom name="castle master (1990)(erbe)(es)[re-release].dsk" size="68352" crc="a6e15f9f" sha1="adb6fa50b973e23868e2ecdbada09894e39835a2" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="castlmas">
- <description>Castle Master</description>
- <year>1990</year>
- <publisher>Incentive</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="castle master (1990)(incentive).dsk" size="194816" crc="4a793e62" sha1="ac429bc3b62f539053e045d025f1332fff32e099" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="castlmasa" cloneof="castlmas">
- <description>Castle Master (alt)</description>
- <year>1990</year>
- <publisher>Incentive</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="98304">
- <rom name="castle master (1990)(incentive)[a].dsk" size="98304" crc="b8ded2a7" sha1="402bf37121588be8ed99008deefad85df191ae42" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- This is an old version, dated 20171114 -->
- <software name="cvaniasia" cloneof="cvaniasi">
- <description>Castlevania - Spectral Interlude (alt)</description>
- <year>2015</year>
- <publisher>Rewind Team</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="castlevania - spectral interlude (2015)(rewind team)(pl)(en).dsk" size="194816" crc="adb5b561" sha1="8514973da6717ffb50a80c674cf11f1fa18317c3" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- This is an old version, dated 20171114 -->
- <software name="cvaniasispa" cloneof="cvaniasi">
- <description>Castlevania - Spectral Interlude (Spa) (alt)</description>
- <year>2015</year>
- <publisher>Rewind Team</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="castlevania - spectral interlude (2015)(rewind team)(pl)(es).dsk" size="194816" crc="76c0c512" sha1="8f7176b315f48fe02bd7a3e041b3029f66ab1b57" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- This is an old version, dated 20171117 -->
- <software name="cvaniasiita" cloneof="cvaniasi">
- <description>Castlevania - Spectral Interlude (Ita) (alt)</description>
- <year>2015</year>
- <publisher>Rewind Team</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="castlevania - spectral interlude (2015)(rewind team)(pl)(it).dsk" size="194816" crc="c199872f" sha1="cfc1e9ea70770d8e7f74736e0cdffc9e6a22fbdd" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- This is an old version, dated 20171114 -->
- <software name="cvaniasirua" cloneof="cvaniasi">
- <description>Castlevania - Spectral Interlude (Rus) (alt)</description>
- <year>2015</year>
- <publisher>Rewind Team</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="castlevania - spectral interlude (2015)(rewind team)(pl)(ru).dsk" size="194816" crc="65e836f5" sha1="5efc5518be07f11402f79a0c3c4e56b4385712d8" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- This is an old version, dated 20171116 -->
- <software name="cvaniasipoa" cloneof="cvaniasi">
- <description>Castlevania - Spectral Interlude (Pol) (alt)</description>
- <year>2015</year>
- <publisher>Rewind Team</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="castlevania - spectral interlude (2015)(rewind team)(pl).dsk" size="194816" crc="fab90486" sha1="f9910c639e7b70d4297cfd4d6c31153fc7460648" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="celtcarn">
- <description>Celtic Carnage</description>
- <year>1993</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="celtic carnage (1993)(zenobi).dsk" size="194816" crc="505f7fca" sha1="f902367330bcfe90564404a3ec640a79aaf1dda3" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="chainrea">
- <description>Chain Reaction</description>
- <year>1987</year>
- <publisher>Durell Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="chain reaction (1987)(durell).dsk" size="194816" crc="37f5a6d9" sha1="237922f83435be87ec93ca2eedcd1ae10c7304a5" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="champrun">
- <description>Championship Run</description>
- <year>1991</year>
- <publisher>Impulze</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="78080">
- <rom name="championship run (1991)(impulze).dsk" size="78080" crc="62dc5d14" sha1="dc80cf88bf6b805b9b98523aaeaf9d84edf4d601" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="champrunamd" cloneof="champrun">
- <description>Championship Run (rerelease) (master disk)</description>
- <year>1991</year>
- <publisher>Zeppelin Games</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="championship run (1991)(zeppelin games)(side a)[master disk][re-release].dsk" size="194816" crc="b19b4051" sha1="923342c2035eb88b111b1b6d4cccf473eca89c1c" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="championship run (1991)(zeppelin games)(side b)[master disk][re-release].dsk" size="194816" crc="e397f7e8" sha1="ebfcfc1073a8cea96f27c791c42e39450c81930c" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="champrunamdb" cloneof="champrun">
- <description>Championship Run (rerelease) (master disk backup)</description>
- <year>1991</year>
- <publisher>Zeppelin Games</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="78080">
- <rom name="championship run (1991)(zeppelin games)(side a)[master disk backup][re-release].dsk" size="78080" crc="ba87b776" sha1="1bb234a9b2bf7305be38ea914db8614b27d3c7cb" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <!-- Side B image shared with other master disks from Zeppelin Games. Verified at World of Spectrum. -->
- <dataarea name="flop" size="256">
- <rom name="zeppelin games master disk side b.dsk" size="256" crc="56947af2" sha1="40428c770d847a0fd1fd005b6cf1d03a34672d98" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="champrunatmd" cloneof="champrun">
- <description>Championship Run (rerelease) (tape master disk)</description>
- <year>1991</year>
- <publisher>Zeppelin Games</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="championship run (1991)(zeppelin games)(side a)[re-release][tape master disk].dsk" size="194816" crc="92d61b0f" sha1="634f4caa0b6fcf8d13d1ebf8ac199b2d3efc1225" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <!-- Side B image shared with other master disks from Zeppelin Games. Verified at World of Spectrum. -->
- <dataarea name="flop" size="256">
- <rom name="zeppelin games master disk side b.dsk" size="256" crc="56947af2" sha1="40428c770d847a0fd1fd005b6cf1d03a34672d98" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="achaninha" cloneof="achaninh">
- <description>A Chance in Hell (Extreme)</description>
- <year>2011</year>
- <publisher>&lt;homebrew&gt;</publisher>
- <info name="author" value="Steven Flanagan"/>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="chance in hell, a (2011)(flanagan, steven).dsk" size="194816" crc="a6eb4266" sha1="7dd15b428e8e8140c328c91d271d0e88a750a003" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="achaninh">
- <description>A Chance in Hell</description>
- <year>2011</year>
- <publisher>&lt;homebrew&gt;</publisher>
- <info name="author" value="Steven Flanagan"/>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="chance in hell, a (2011)(flanagan, steven)[a].dsk" size="194816" crc="b64196d4" sha1="8821c909c89db9e8d71b4b67e138838e94d11337" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="chasehqsp" cloneof="chasehq">
- <description>Chase H.Q. (Spa)</description>
- <year>1989</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="185088">
- <rom name="chase h.q. (1989)(erbe)(es)(en)[re-release].dsk" size="185088" crc="317e46d5" sha1="66de397575284efb76a08ef63dbe5db41be03249" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="chasehq">
- <description>Chase H.Q.</description>
- <year>1989</year>
- <publisher>Ocean Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="168192">
- <rom name="chase h.q. (1989)(ocean).dsk" size="168192" crc="9c56fc47" sha1="1347cb84b7b232da4a587c573ba893cf171c6df3" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="chasehq2sp" cloneof="chasehq2">
- <description>Chase H.Q. II - Special Criminal Investigation (Spa)</description>
- <year>1990</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="146176">
- <rom name="chase h.q. ii - special criminal investigation (1990)(erbe)(es)(en)[re-release].dsk" size="146176" crc="5b451c6e" sha1="58101ac75972e690b13eb7665d0ae245c47cefab" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="chasehq2">
- <description>Chase H.Q. II - Special Criminal Investigations</description>
- <year>1990</year>
- <publisher>Ocean Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="127232">
- <rom name="chase h.q. ii - special criminal investigations (1990)(ocean).dsk" size="127232" crc="3b77b2ad" sha1="82ca5734e13e42347f3c6ca182049d45d5cc6bad" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="chessm2k">
- <description>The Chessmaster 2000</description>
- <year>1990</year>
- <publisher>Dro Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="58880">
- <rom name="chessmaster 2000, the (1990)(dro soft)(es).dsk" size="58880" crc="7a4053fb" sha1="b7520505f5988297c46a05ae1abf27f186873dbd" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="chicag30a" cloneof="chicag30">
- <description>Chicago 30's (alt)</description>
- <year>1988</year>
- <publisher>U.S. Gold</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="219136">
- <rom name="chicago 30's (1988)(u.s. gold)[aka chicago's 30][re-release].dsk" size="219136" crc="1030eeba" sha1="dc5a492d935f464de7b0eef800cfcf87786bd0d8" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="chicag30b" cloneof="chicag30">
- <description>Chicago 30's (alt 2)</description>
- <year>1988</year>
- <publisher>U.S. Gold</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="219136">
- <rom name="chicago 30's (1988)(u.s. gold)[a][aka chicago's 30][re-release].dsk" size="219136" crc="aaaee4bf" sha1="bd36eecd8dcb771329553eb76dbbb769a016d61d" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="choyleef">
- <description>Choy-Lee-Fut Kung-Fu Warrior</description>
- <year>1990</year>
- <publisher>Positive</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="choy-lee-fut kung-fu warrior (1990)(positive)(es).dsk" size="194816" crc="b30c89c7" sha1="7cf7a24137ace679ad7896a6af4f5c88af9c6f85" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="chuckyea">
- <description>Chuck Yeager's Advanced Flight Trainer</description>
- <year>1989</year>
- <publisher>Electronic Arts</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="254720">
- <rom name="chuck yeager's advanced flight trainer (1989)(electronic arts).dsk" size="254720" crc="467cfc4c" sha1="856851011941721a3f3a2fc3bbcd4e5994cdd42d" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="chuckyeaa" cloneof="chuckyea">
- <description>Chuck Yeager's Advanced Flight Trainer (alt)</description>
- <year>1989</year>
- <publisher>Electronic Arts</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="254720">
- <rom name="chuck yeager's advanced flight trainer (1989)(electronic arts)[a].dsk" size="254720" crc="9feb1e56" sha1="6f4215091e7625739a6274c11e6e6cdd89949750" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="circgams">
- <description>Circus Games</description>
- <year>1988</year>
- <publisher>Tynesoft</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="151040">
- <rom name="circus games (1988)(tynesoft)(side a).dsk" size="151040" crc="fd8bf77b" sha1="50528b58dd252d2ad5b6fdd7dc468eda0f815b20" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="92672">
- <rom name="circus games (1988)(tynesoft)(side b).dsk" size="92672" crc="3951ee76" sha1="aaeb8723a415252a8a59a99251094dcc867b8185" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="tcitadel">
- <description>The Citadel</description>
- <year>1995</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="citadel, the (1995)(zenobi).dsk" size="194816" crc="274ae290" sha1="8aed7e6ae7cb69e11e6cd2f44bc1c6bc6d02c5f7" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="civlsrv2">
- <description>Civil Service II</description>
- <year>1994</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="civil service ii (1994)(zenobi).dsk" size="194816" crc="88ecdb07" sha1="0a9aa0bbd6122edde9c9bce9303583b6a98be283" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="clckch89">
- <description>Clock Chess '89</description>
- <year>1989</year>
- <publisher>CP Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="clock chess '89 (1989)(cp).dsk" size="194816" crc="32467893" sha1="a6b698715f6c413dd3f1910d6dff8720e3643aa8" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="clckch89sp" cloneof="clckch89">
- <description>Clock Chess '89 (Spa)</description>
- <year>1989</year>
- <publisher>System 4</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="clock chess '89 (1989)(system 4)(es)(en)[re-release].dsk" size="194816" crc="0ab6eb85" sha1="7776e4c21215798a8c1a264029b5adc14882d6f7" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="cloud99">
- <description>Cloud 99</description>
- <year>1988</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="cloud 99 (1988)(zenobi)[re-release].dsk" size="194816" crc="5842de80" sha1="b454e12a32543825a6c593dc68dd9a2b8654d567" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="clsbrid4">
- <description>Colossus Bridge 4</description>
- <year>1986</year>
- <publisher>CDS Microsystems</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="colossus bridge 4 (1986)(cds microsystems)[aka colossus 4 bridge].dsk" size="194816" crc="73271bc3" sha1="aa725cfffb117d42c81fd059404d5c3f0b14d56f" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="clschss4">
- <description>Colossus Chess 4</description>
- <year>1986</year>
- <publisher>CDS Microsystems</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="colossus chess 4 (1986)(cds microsystems)(side a)[aka colossus 4 chess].dsk" size="194816" crc="75eabff4" sha1="b0c7e68c086c252e30dc98b53d0949f4323a1edc" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="colossus chess 4 (1986)(cds microsystems)(side b)[aka colossus 4 chess].dsk" size="194816" crc="54843a73" sha1="a5de3c29a447dc6837e2da39085dc1c2eaedb237" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
-<!-- This is the dump from World of Spectrum -->
- <software name="clschss4a" cloneof="clschss4">
- <description>Colossus Chess 4 (alt)</description>
- <year>1986</year>
- <publisher>CDS Microsystems</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="colossus chess 4 (1986)(cds microsystems)[aka colossus 4 chess].dsk" size="194816" crc="5a5078a3" sha1="0bab187cce31ef3948e91fa9d4f94b0804571a98" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- TOSEC specifies that it's "Side A", may require a Side B at some point? -->
- <software name="clschss4b" cloneof="clschss4">
- <description>Colossus Chess 4 (alt 2)</description>
- <year>1986</year>
- <publisher>CDS Microsystems</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="colossus chess 4 (1986)(cds microsystems)(side a)[a][aka colossus 4 chess].dsk" size="194816" crc="7665818f" sha1="7e8d5ce4cdc15837bd8d36720d07a17d46545873" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="cmquatro">
- <description>Comando Quatro</description>
- <year>1989</year>
- <publisher>Zigurat Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="68352">
- <rom name="comando quatro (1989)(zigurat)(es).dsk" size="68352" crc="1f253875" sha1="ba4c1ba3e604bb35bb1ef91a855b993833f090e7" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="comtracr">
- <description>Comando Tracer</description>
- <year>1989</year>
- <publisher>Dinamic Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="75008">
- <rom name="comando tracer (1989)(dinamic)(es).dsk" size="75008" crc="985c2136" sha1="be76783bd8429b9f3ec2cd8702e7419b1c632ee6" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
-<!-- May be a clone of combatsc -->
- <software name="combatsg">
- <description>Combat School + Gryzor Preview</description>
- <year>1987</year>
- <publisher>Ocean Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="214784">
- <rom name="combat school + gryzor preview (1987)(ocean).dsk" size="214784" crc="2996f5e8" sha1="0dc0e1340835d35071a5a2873346462faa07233d" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="contcircsp" cloneof="contcirc">
- <description>Continental Circus (Spa)</description>
- <year>1989</year>
- <publisher>Dro Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="continental circus (1989)(dro soft)(es)(en)[re-release].dsk" size="194816" crc="424df271" sha1="36a5c13f30b4b97d6e8944f4767dd9c1eab41c13" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="contcirc">
- <description>Continental Circus</description>
- <year>1989</year>
- <publisher>Virgin Mastertronic</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="224256">
- <rom name="continental circus (1989)(virgin mastertronic).dsk" size="224256" crc="a9d27a04" sha1="ba5e1a91ea1ada4debbe41ae923fd9ab89c1c2e6" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="corpston">
- <description>Corporal Stone</description>
- <year>1992</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="corporal stone (1992)(zenobi).dsk" size="194816" crc="8b578a60" sha1="ef6d6a69d6d953b73ca780e370aec12cd99373f8" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="corruptna" cloneof="corruptn">
- <description>Corruption (alt)</description>
- <year>1988</year>
- <publisher>Rainbird Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="corruption (1988)(rainbird).dsk" size="194816" crc="1dc27c17" sha1="3fd52b22960c0285472a7e87ea6a9fdb5684ee82" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="corruptnb" cloneof="corruptn">
- <description>Corruption (alt 2)</description>
- <year>1988</year>
- <publisher>Rainbird Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="corruption (1988)(rainbird)[a].dsk" size="194816" crc="4e60b833" sha1="cdf95bb26eb4d5e0baec7838cfca832936cc7540" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="corruptnc" cloneof="corruptn">
- <description>Corruption (alt 3)</description>
- <year>1988</year>
- <publisher>Rainbird Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="corruption (1988)(rainbird)[a2].dsk" size="194816" crc="e7e5feaf" sha1="94b0b7203a9478ec7e232677a902cb90ec4abbdd" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="cosmicsh">
- <description>Cosmic Sheriff</description>
- <year>1990</year>
- <publisher>Dinamic Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="101888">
- <rom name="cosmic sheriff (1990)(dinamic)(es).dsk" size="101888" crc="98a9e2ff" sha1="93de281cb9c787633c86448d1e0a0ba0cd3001c8" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="crackcty">
- <description>Crack City</description>
- <year>1989</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="crack city (1989)(zenobi).dsk" size="194816" crc="e4ef29e9" sha1="1b8d94c8adb69ec1f963d6fddd49f43947a46afb" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="cray5">
- <description>Cray-5</description>
- <year>2011</year>
- <publisher>RetroWorks</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="cray-5 (2011)(retroworks)(es)(en).dsk" size="194816" crc="79e634e5" sha1="a65086e80b5d478d703269558f4c853ff53d5fc8" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="crzycars">
- <description>Crazy Cars</description>
- <year>1988</year>
- <publisher>Titus</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="crazy cars (1988)(titus)(fr)(en).dsk" size="194816" crc="27c1e745" sha1="d7d3d2a19b9e0c6a0d1fad3dfc126380bd147f94" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="crzycarsa" cloneof="crzycars">
- <description>Crazy Cars (alt)</description>
- <year>1988</year>
- <publisher>Titus</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="crazy cars (1988)(titus)(fr)(en)[a].dsk" size="194816" crc="4d694436" sha1="23d0afc62538d4a1784c5f938f74cc7e6a881b6b" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="crzcars2">
- <description>Crazy Cars II</description>
- <year>1988</year>
- <publisher>Titus</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="199680">
- <rom name="crazy cars ii (1988)(titus)(fr)(en).dsk" size="199680" crc="0024faa8" sha1="cd6a4b7efa1a3dabc55baa844d2f0c3b98f93878" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="cricketm">
- <description>Cricket Master</description>
- <year>1989</year>
- <publisher>Challenge</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="cricket master (1989)(challenge).dsk" size="194816" crc="636dadcc" sha1="e5a4685b8308834e06be0e329637567b8cf84154" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="crystkin">
- <description>Crystals of Kings</description>
- <year>1993</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="crystals of kings (1993)(zenobi).dsk" size="194816" crc="6fa4745e" sha1="4e0ce417dee743183886bce9ccc4f3c2d3fe72f9" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="currojim">
- <description>Curro Jimenez</description>
- <year>1989</year>
- <publisher>Zigurat Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="73216">
- <rom name="curro jimenez (1989)(zigurat)(es).dsk" size="73216" crc="0e92a03c" sha1="c5de62cfdd369a8a13c685aa54595087c61f9a74" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="cursnimu">
- <description>The Curse of Nimue</description>
- <year>1995</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="curse of nimue, the (1995)(zenobi).dsk" size="194816" crc="77db9af2" sha1="ffc3cc67bf86dc4091bd600443e615dbeaee3aea" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="cybernoda" cloneof="cybernod">
- <description>Cybernoid - The Fighting Machine (alt)</description>
- <year>1988</year>
- <publisher>Hewson Consultants</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="174848">
- <rom name="cybernoid - the fighting machine (1988)(hewson consultants).dsk" size="174848" crc="c6dbf46f" sha1="347e6911d7a410ad89c16033b323d366d12c256b" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="cyberno2a" cloneof="cyberno2">
- <description>Cybernoid II - The Revenge (alt)</description>
- <year>1988</year>
- <publisher>Hewson Consultants</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="cybernoid ii - the revenge (1988)(hewson consultants).dsk" size="194816" crc="0e7d5f2f" sha1="6c960f9d8e26136443985192909717f1fa81211d" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="cybo2900">
- <description>Cyborg 2900</description>
- <year>2011</year>
- <publisher>&lt;homebrew&gt;</publisher>
- <info name="author" value="Steven Flanagan"/>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="cyborg 2900 (2011)(flanagan, steven)(gb)(de).dsk" size="194816" crc="e14dbf81" sha1="85f71b1c71e113b6991477cf771a5b125c4cafb2" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="thecycle">
- <description>The Cycles</description>
- <year>1989</year>
- <publisher>Accolade</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="86784">
- <rom name="cycles, the (1989)(accolade).dsk" size="86784" crc="ab7498ff" sha1="1ff1b55fbfc376b86fac0401d04b31294bef3fe2" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="thecyclesp" cloneof="thecycle">
- <description>The Cycles (Spa)</description>
- <year>1989</year>
- <publisher>Dro Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="cycles, the (1989)(dro soft)(es)(en)[re-release].dsk" size="194816" crc="93969d71" sha1="6466f9cc120ed536ac85f01cc619f7b2d7f40336" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="daleytoc">
- <description>Daley Thompson's Olympic Challenge</description>
- <year>1988</year>
- <publisher>Ocean Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="220160">
- <rom name="daley thompson's olympic challenge (1988)(ocean)[aka daley thompson '88].dsk" size="220160" crc="5d0ed5ac" sha1="ff4726f3e2b4281fb251526f876c74a7a0ac132c" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="dandare2">
- <description>Dan Dare II - Mekon's Revenge</description>
- <year>1988</year>
- <publisher>Virgin Games</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="214784">
- <rom name="dan dare ii - mekon's revenge (1988)(virgin games).dsk" size="214784" crc="ad23d8bd" sha1="f05d36abc09a04831c1fbfea9e512159101ee297" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="dandare3a" cloneof="dandare3">
- <description>Dan Dare III - The Escape (alt)</description>
- <year>1990</year>
- <publisher>Virgin Games</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="62720">
- <rom name="dan dare iii - the escape (1990)(virgin games)[aka crazy jet racer][aka dan dare 3 - la escapada].dsk" size="62720" crc="e0b5ca78" sha1="961945064f12a3cb6ba57be3be82f7be36918443" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="dariuspl">
- <description>Darius+</description>
- <year>1990</year>
- <publisher>The Edge</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="darius+ (1990)(edge, the)(side a).dsk" size="194816" crc="01d1ceed" sha1="5314521cc4d414ae8cbed0e3de39f7b82d8aa306" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="darius+ (1990)(edge, the)(side b).dsk" size="194816" crc="1d258f68" sha1="05e228e532e3ab14e5f4afd4e98a841b8d886251" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="darkfusna" cloneof="darkfusn">
- <description>Dark Fusion (alt)</description>
- <year>1988</year>
- <publisher>Gremlin Graphics Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="219136">
- <rom name="dark fusion (1988)(gremlin graphics).dsk" size="219136" crc="bcc16b2e" sha1="e4802f43c53db059cce6a398056fb0823c8c2a52" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="darkglad">
- <description>The Dark Gladiator</description>
- <year>1993</year>
- <publisher>FSF Adventures</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="dark gladiator, the (1993)(fsf adventures).dsk" size="194816" crc="4d77a737" sha1="9d18b6ec0e2304165f7df34812c4b1a8a54479bc" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="darkside">
- <description>Dark Side</description>
- <year>1988</year>
- <publisher>Incentive</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="dark side (1988)(incentive).dsk" size="194816" crc="0f4880e0" sha1="876868ce588801c8c0272a660d6420ce4bcde0d6" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="darksidesp" cloneof="darkside">
- <description>Dark Side (Spa)</description>
- <year>1988</year>
- <publisher>System 4</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="dark side (1988)(system 4)(es)(en)[re-release].dsk" size="194816" crc="ad260ab9" sha1="8a19363f5f76cf096d630d300ae3183b3c8103ca" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="darktowr">
- <description>The Dark Tower</description>
- <year>1992</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="204544">
- <rom name="dark tower, the (1992)(zenobi)[re-release].dsk" size="204544" crc="57131a03" sha1="58f8bd782f144bd7f15e07b6f9240f3c06a936c1" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="darkstro">
- <description>The Darkest Road</description>
- <year>1991</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="darkest road, the (1991)(zenobi).dsk" size="194816" crc="9226b17e" sha1="dd2517993b61100372798225c63869462dfcb99c" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="deawish3">
- <description>Death Wish 3</description>
- <year>1987</year>
- <publisher>Gremlin Graphics Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="death wish 3 (1987)(gremlin graphics).dsk" size="194816" crc="43f7fd6d" sha1="07fc65dd723143b183280074cdb2f786427b0f5e" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="deawish3a" cloneof="deawish3">
- <description>Death Wish 3 (alt)</description>
- <year>1987</year>
- <publisher>Gremlin Graphics Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="death wish 3 (1987)(gremlin graphics)[a].dsk" size="194816" crc="668d8e22" sha1="500e9e2746f1e914052465b56597b2a77a1389d5" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="deawish3b" cloneof="deawish3">
- <description>Death Wish 3 (alt 2)</description>
- <year>1987</year>
- <publisher>Gremlin Graphics Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="death wish 3 (1987)(gremlin graphics)[a2].dsk" size="194816" crc="c0b36014" sha1="cf4cdcd8cc6bcd090e639679818a66fa73944550" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="decmieye">
- <description>Deception of the Mind's Eye</description>
- <year>1993</year>
- <publisher>Electric Storm Productions</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="deception of the mind's eye (1993)(electric storm productions).dsk" size="194816" crc="6d7b98ff" sha1="c769e5326b96c37a815d2a25ebfea02f9fc2a40e" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="deeksdee">
- <description>Deek's Deeds</description>
- <year>1990</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="deek's deeds (1990)(zenobi)[re-release].dsk" size="194816" crc="b5ba9c79" sha1="c8bc7bcf561c44daab22a75662ddc69e25b08e80" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="deepa" cloneof="deep">
- <description>The Deep (alt)</description>
- <year>1988</year>
- <publisher>U.S. Gold</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="213760">
- <rom name="deep, the (1988)(u.s. gold).dsk" size="213760" crc="642620c1" sha1="003fb8ce69ef6d29dcddcf369edf8a0b088e6769" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="dotearth">
- <description>Defenders of the Earth</description>
- <year>1990</year>
- <publisher>Enigma Variations</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="195840">
- <rom name="defenders of the earth (1990)(enigma variations).dsk" size="195840" crc="ca58887c" sha1="bb58eeaa31252fd85bc985dc0f249aa42544a6c7" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="deflektra" cloneof="deflektr">
- <description>Deflektor (alt)</description>
- <year>1987</year>
- <publisher>Gremlin Graphics Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="174848">
- <rom name="deflektor (1987)(gremlin graphics).dsk" size="174848" crc="63929c07" sha1="adc7f9ba5f9bbded9a60f104b51973ff1808a94f" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="totrecalsp" cloneof="totrecal">
- <description>Desafio Total</description>
- <year>1991</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="151040">
- <rom name="desafio total (1991)(erbe)(es)(en)[aka total recall][re-release].dsk" size="151040" crc="341d1500" sha1="793d902be2b432531b8e901750ca301a16e0675d" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="diarmid">
- <description>Diarmid</description>
- <year>1993</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="diarmid (1993)(zenobi).dsk" size="194816" crc="4b08234a" sha1="173e145e0bbe47764618022be5edcb632dc6cefe" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="diosacoz">
- <description>La Diosa de Cozumel</description>
- <year>1990</year>
- <publisher>Aventuras AD</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="126720">
- <rom name="diosa de cozumel, la (1990)(aventuras ad)(es).dsk" size="126720" crc="47b10a66" sha1="be799ad89d4ad9047158e9e25ecd74e6e65ae3ab" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="dogboy">
- <description>The Dogboy</description>
- <year>1985</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="dogboy, the (1985)(zenobi)[re-release].dsk" size="194816" crc="b7f4582c" sha1="40828308aa82e7208c4d154ace4b79a861c3a0c1" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="dominatrsp" cloneof="dominatr">
- <description>Dominator (Spa)</description>
- <year>1989</year>
- <publisher>MCM Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="121856">
- <rom name="dominator (1989)(mcm)(es)(en)[re-release].dsk" size="121856" crc="0ca1868a" sha1="dc6d54da26a5271340910aa52a76d49dc67216bd" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="dominatra" cloneof="dominatr">
- <description>Dominator (alt)</description>
- <year>1989</year>
- <publisher>System 3 Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="234752">
- <rom name="dominator (1989)(system 3).dsk" size="234752" crc="a8475699" sha1="fc39aa181b7db27aa0a92a0458f54e75fe610ede" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="ddragonsp" cloneof="ddragon">
- <description>Double Dragon (Spa)</description>
- <year>1989</year>
- <publisher>Dro Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="170496">
- <rom name="double dragon (1989)(dro soft)(es)(en)(side a)[re-release].dsk" size="170496" crc="a9a2d5c4" sha1="cf88aaec4f3fef0537638bc225ee92894c2e8d05" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="63488">
- <rom name="double dragon (1989)(dro soft)(es)(en)(side b)[re-release].dsk" size="63488" crc="016a0453" sha1="d5faeb6ce277eb30c394e6438775a01ebb7378d8" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="ddragon">
- <description>Double Dragon</description>
- <year>1989</year>
- <publisher>Melbourne House</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="170496">
- <rom name="double dragon (1989)(melbourne house)(side a).dsk" size="170496" crc="5c97aaf4" sha1="c906ed3124fd6b7c2e247e2a2863755ab10eae00" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="63488">
- <rom name="double dragon (1989)(melbourne house)(side b).dsk" size="63488" crc="1c50d9dd" sha1="ea88d3e0e16f4534862ae8476fdcbe965916bfa1" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="ddragon2">
- <description>Double Dragon II - The Revenge</description>
- <year>1989</year>
- <publisher>Virgin Mastertronic</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="197888">
- <rom name="double dragon ii - the revenge (1989)(virgin mastertronic)(side a).dsk" size="197888" crc="8170bb9b" sha1="5480069cc2719e4a7d604d26efeef08390b5235a" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="double dragon ii - the revenge (1989)(virgin mastertronic)(side b).dsk" size="194816" crc="0625d7e9" sha1="c9b8823d3564d0d2cd853f9586a36c6b49346735" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="drjekyll">
- <description>Dr. Jekyll and Mr. Hyde (master disk)</description>
- <year>1988</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="dr. jekyll and mr. hyde (1988)(zenobi)(side a)[master disk][re-release].dsk" size="194816" crc="3429d25d" sha1="b9725f433771122798ba28ed40441204b14fe95c" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="dr. jekyll and mr. hyde (1988)(zenobi)(side b)[master disk][re-release].dsk" size="194816" crc="d3cbb30d" sha1="e49eca6a9332a89ebeb747df5997a1ab7716ee81" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="baddudessp" cloneof="baddudes">
- <description>Dragon Ninja (Spa)</description>
- <year>1988</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="135680">
- <rom name="dragon ninja (1988)(erbe)(es)(en)[re-release].dsk" size="135680" crc="13338cd1" sha1="8b6703803bf4afe5fd7de30fdabab4ffcccbb0ac" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="dragnque">
- <description>Dragon-Quest</description>
- <year>1994</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="dragon-quest (1994)(zenobi).dsk" size="194816" crc="74097eb9" sha1="7cb723772404ec52399aab549ca2324877a75cad" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="drakkar">
- <description>Drakkar</description>
- <year>1989</year>
- <publisher>Delta Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="102400">
- <rom name="drakkar (1989)(delta software s.l.)(es)[aka drakar].dsk" size="102400" crc="816c2a6d" sha1="4d7eaf60c528cfae76a79de655da4732f151f8b2" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="drazenpb">
- <description>Drazen Petrovic Basket</description>
- <year>1989</year>
- <publisher>Topo Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="73216">
- <rom name="drazen petrovic basket (1989)(topo soft)(es).dsk" size="73216" crc="0ef58280" sha1="744f2e6de5131cdfc6e151bd3701b95da57a2100" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="driller">
- <description>Driller</description>
- <year>1987</year>
- <publisher>Incentive</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="204544">
- <rom name="driller (1987)(incentive)[passworded].dsk" size="204544" crc="e4c9034f" sha1="3bd8abab0fa649862218b6f4a42387c68733402a" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="duckout">
- <description>Duck Out</description>
- <year>1989</year>
- <publisher>Dro Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="duck out (1989)(dro soft)(es)(en).dsk" size="194816" crc="ca48cc1d" sha1="64ec19958898c2d97a79e42f126adbef055d3e94" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="td2tduel">
- <description>The Duel - Test Drive II</description>
- <year>1989</year>
- <publisher>Accolade</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="66048">
- <rom name="duel, the - test drive ii (1989)(accolade).dsk" size="66048" crc="693d20c7" sha1="9b816281dbe1c98d652727078d60b1528def9b55" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="dungromp">
- <description>A Dungeon Romp</description>
- <year>1995</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="dungeon romp, a (1995)(zenobi).dsk" size="194816" crc="3e99350f" sha1="4db3b696c9659c060ed51eb658e97b06a79f92ba" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="dungmald">
- <description>The Dungeons of Maldread</description>
- <year>1995</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="dungeons of maldread, the (1995)(zenobi).dsk" size="194816" crc="f83f9881" sha1="50d3747b5e45bba24e92054525efc41a855f4b6d" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="ddux">
- <description>Dynamite Dux</description>
- <year>1989</year>
- <publisher>Activision</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="153088">
- <rom name="dynamite dux (1989)(activision).dsk" size="153088" crc="6f8c2d14" sha1="f6878b252d887cd6dc24bf934c4a7f35936be50e" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="dynwar">
- <description>Dynasty Wars</description>
- <year>1990</year>
- <publisher>U.S. Gold</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="133632">
- <rom name="dynasty wars (1990)(u.s. gold).dsk" size="133632" crc="efd8e230" sha1="2e834f96544eeb6fd39dad939c3685bc3d932b26" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="emotion">
- <description>E-motion</description>
- <year>1990</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="78080">
- <rom name="e-motion (1990)(erbe)(es)(en)[re-release].dsk" size="78080" crc="216e6ce4" sha1="96f573de05900cd43a3351c031cf8eeb3b16f1f8" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="echelona" cloneof="echelon">
- <description>Echelon (alt)</description>
- <year>1988</year>
- <publisher>U.S. Gold</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="echelon (1988)(u.s. gold).dsk" size="194816" crc="7bce0509" sha1="37a23c2ae41a81645dd719b509333801d58643a6" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="eddthedumd" cloneof="eddthedu">
- <description>Edd the Duck (master disk)</description>
- <year>1990</year>
- <publisher>Zeppelin Games</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="64768">
- <rom name="edd the duck (1990)(zeppelin games)(side a)[master disk][re-release].dsk" size="64768" crc="ef813afc" sha1="31462f540c2b1a8cc75aee1d542bd53f4891a3e9" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="eddthedutmd" cloneof="eddthedu">
- <description>Edd the Duck (tape master disk)</description>
- <year>1990</year>
- <publisher>Zeppelin Games</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="256000">
- <rom name="edd the duck (1990)(zeppelin games)(side a)[re-release][tape master disk].dsk" size="256000" crc="1be41a6d" sha1="b208c586b5428fd31a043a2fc4380c89be4f74cc" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="eddthedu">
- <description>Edd the Duck</description>
- <year>1990</year>
- <publisher>Zeppelin Games</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="64768">
- <rom name="edd the duck (1990)(zeppelin games)[re-release].dsk" size="64768" crc="b023516f" sha1="ba6fe9a835f9ac2c0c35c30d6eedff2b53069068" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="elfinwar">
- <description>The Elfin Wars</description>
- <year>1994</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="elfin wars, the (1994)(zenobi).dsk" size="194816" crc="026b892b" sha1="49b9412ac4e400ae53a1dbcef4f7c6c977880f6b" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="elfindor">
- <description>Elfindor</description>
- <year>1989</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="elfindor (1989)(zenobi)[re-release].dsk" size="194816" crc="3d6b222f" sha1="75a57b2af4042253332808a1298f5e8174e95227" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="eliminat">
- <description>Eliminator</description>
- <year>1988</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="52992">
- <rom name="eliminator (1988)(erbe)(es)(en)[re-release].dsk" size="52992" crc="d14edabd" sha1="d375b03df6b0fcf137a57580f572c6fc2c56cb22" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="ellisndi">
- <description>The Ellisnore Diamond</description>
- <year>1992</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="ellisnore diamond, the (1992)(zenobi)[re-release].dsk" size="194816" crc="ee8934c6" sha1="3947b2c10415643d432e905ffca736aaf1142511" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="emeraelf">
- <description>The Emerald Elf</description>
- <year>1995</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="emerald elf, the (1995)(zenobi).dsk" size="194816" crc="95eaa5a9" sha1="38c565f37d17a6235f3db1d0e1bfcd06377baaca" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="emilbutr">
- <description>Emilio Butragueno Futbol</description>
- <year>1988</year>
- <publisher>Ocean Software - Topo Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="58624">
- <rom name="emilio butragueno futbol (1988)(ocean software - topo soft)(gb)(es).dsk" size="58624" crc="94d830d3" sha1="e1778ad33325399f2c9c3f9a5d788f374ac1098f" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="emilbutra" cloneof="emilbutr">
- <description>Emilio Butragueno Futbol (alt)</description>
- <year>1988</year>
- <publisher>Ocean Software - Topo Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="116992">
- <rom name="emilio butragueno futbol (1988)(ocean software - topo soft)(gb)(es)[a].dsk" size="116992" crc="a6184800" sha1="6bbfc0bc81082d1719b932b96128d362b3c7730f" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="esanchvi">
- <description>Emilio Sanchez Vicario Grand Slam</description>
- <year>1990</year>
- <publisher>Zigurat Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="58624">
- <rom name="emilio sanchez vicario grand slam (1990)(zigurat)(es).dsk" size="58624" crc="c048d1f6" sha1="2bee364efe14224fba67057635970d7ebbf24a94" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="esanchvia" cloneof="esanchvi">
- <description>Emilio Sanchez Vicario Grand Slam (alt)</description>
- <year>1990</year>
- <publisher>Zigurat Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="58624">
- <rom name="emilio sanchez vicario grand slam (1990)(zigurat)(es)[a].dsk" size="58624" crc="09b82d36" sha1="78c5f01c0d0af55813a4eb69495f430a338d39e9" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="emlynhug">
- <description>Emlyn Hughes International Soccer</description>
- <year>1989</year>
- <publisher>Audiogenic Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="emlyn hughes international soccer (1989)(audiogenic).dsk" size="194816" crc="ebc0e76c" sha1="594526e9c2f40bdddd11c7f8a0d9ed4455d66377" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="esb">
- <description>Star Wars - The Empire Strikes Back</description>
- <year>1988</year>
- <publisher>Domark</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="195328">
- <rom name="empire strikes back, the (1988)(domark).dsk" size="195328" crc="d95b5247" sha1="7c78b580409018da83683fe6e4e5ab687f9f6100" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="endisnig">
- <description>The End Is Nigh</description>
- <year>1994</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="196096">
- <rom name="end is nigh, the (1994)(zenobi).dsk" size="196096" crc="48e73904" sha1="23e85f5830bcc3cdfbfd385a80e2f4d7351c50fd" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="erika" cloneof="erik">
- <description>Erik - the Phantom of the Opera (alt)</description>
- <year>1987</year>
- <publisher>Crysys</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="erik - the phantom of the opera (1987)(crysys).dsk" size="194816" crc="08b83623" sha1="53834f2930e893f8961949b3d3a6fcf6d61513fc" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="efhodkma">
- <description>The Escape from Hodgkins' Manor</description>
- <year>1990</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="escape from hodgkins' manor, the (1990)(zenobi).dsk" size="194816" crc="4943ed9f" sha1="d2fa28b6de2422860bba3c76ec24119b2ab791fa" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="eschabit">
- <description>The Escaping Habit</description>
- <year>1992</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="escaping habit, the (1992)(zenobi).dsk" size="194816" crc="8083eba9" sha1="9e74c50b00acc63c9a93a68f275924b21e9fbd50" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="espionaga" cloneof="espionag">
- <description>Espionage (alt)</description>
- <year>1988</year>
- <publisher>Grandslam Entertainments</publisher>
- <info name="usage" value="Requires manual for password protection"/>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="78080">
- <rom name="espionage (1988)(grandslam)[passworded].dsk" size="78080" crc="69318518" sha1="36c295268a4c9ffb1311ed74bcea286a2e0be716" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="euspleag">
- <description>European Superleague</description>
- <year>1991</year>
- <publisher>CDS Microsystems</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="european superleague (1991)(cds microsystems).dsk" size="194816" crc="78795ffd" sha1="03dc2bf5e3973765ae4b86352db8b22c6d8f83bf" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="extreme">
- <description>Extreme</description>
- <year>1991</year>
- <publisher>Digital Integration</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="63232">
- <rom name="extreme (1991)(digital integration).dsk" size="63232" crc="67f4f1ba" sha1="ced54f8de664326392b48ed29072a4d5d5bea3eb" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="eye">
- <description>Eye</description>
- <year>1987</year>
- <publisher>Endurance Games</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="eye (1987)(endurance games).dsk" size="194816" crc="a3f4c053" sha1="f4e24bf0714a533db047243aa2259efd849d874c" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="f1">
- <description>F-1</description>
- <year>1991</year>
- <publisher>Zigurat Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="58624">
- <rom name="f-1 (1991)(zigurat)(es)[aka formula 1 g.p. simulator].dsk" size="58624" crc="0aa6b65d" sha1="671fd441c1efeae1e78f7ecbe78990d590e45179" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="f15strik">
- <description>F-15 Strike Eagle</description>
- <year>1990</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="48896">
- <rom name="f-15 strike eagle (1990)(erbe)(es)(en).dsk" size="48896" crc="23150627" sha1="2f9f70218a77982f01a4dc12436a1cf90cc6da4c" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="f16comba" cloneof="f16comb">
- <description>F-16 Combat Pilot (alt)</description>
- <year>1991</year>
- <publisher>Digital Integration</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="253952">
- <rom name="f-16 combat pilot (1991)(digital integration).dsk" size="253952" crc="01b3104a" sha1="c3ebb2c4643f22e3b2526828d80b6927399f2f7c" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="f1tornadtmd">
- <description>F1 Tornado Simulator (tape master disk)</description>
- <year>1991</year>
- <publisher>Zeppelin Games</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="f1 tornado simulator (1991)(zeppelin games)(side a)[tape master disk].dsk" size="194816" crc="e47114da" sha1="b1bf502cda2506caca76b29ec022acc9d9f28334" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="federatna" cloneof="federatn">
- <description>Federation (alt)</description>
- <year>1988</year>
- <publisher>CRL Group</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="federation (1988)(crl group)[aka quann tulla].dsk" size="194816" crc="0d18bc80" sha1="870ff7bd8239a44491a09d35d00adc60e2be0f4e" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="fernmdie">
- <description>Fernandez Must Die</description>
- <year>1988</year>
- <publisher>Image Works</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="204544">
- <rom name="fernandez must die (1988)(image works).dsk" size="204544" crc="c3e2704a" sha1="8aecdf2e969486e5e5705c508c64a606196285c8" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="fmbasket">
- <description>Fernando Martin Basket Master</description>
- <year>1987</year>
- <publisher>Dinamic Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="61696">
- <rom name="fernando martin basket master (1987)(dinamic)(es).dsk" size="61696" crc="72b4c4a7" sha1="d051b2fa332e4a043be9db87a5fabf865a7280fb" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="fiendish">
- <description>Fiendish Freddy's Big Top o'Fun</description>
- <year>1990</year>
- <publisher>Mindscape International</publisher>
- <info name="usage" value="Requires manual for password protection"/>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Disk 1, Side A"/>
- <dataarea name="flop" size="210688">
- <rom name="fiendish freddy's big top o'fun (1990)(mindscape international)(disk 1 of 2 side a)[aka fiendish freddy's big top of fun].dsk" size="210688" crc="cb007678" sha1="c4fb51a1847efb8d2525280c8897e02d1c0246b1" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Disk 1, Side B"/>
- <dataarea name="flop" size="210688">
- <rom name="fiendish freddy's big top o'fun (1990)(mindscape international)(disk 1 of 2 side b)[aka fiendish freddy's big top of fun].dsk" size="210688" crc="7cc2258e" sha1="2de100a539a094138a275ac640be547205449315" offset="0" />
- </dataarea>
- </part>
- <part name="flop3" interface="floppy_3">
- <feature name="part_id" value="Disk 2, Side A"/>
- <dataarea name="flop" size="210688">
- <rom name="fiendish freddy's big top o'fun (1990)(mindscape international)(disk 2 of 2 side a)[aka fiendish freddy's big top of fun].dsk" size="210688" crc="b67fa7d0" sha1="097e034ac017abf99e95c57ac246fe41c525ce88" offset="0" />
- </dataarea>
- </part>
- <part name="flop4" interface="floppy_3">
- <feature name="part_id" value="Disk 2, Side B"/>
- <dataarea name="flop" size="210688">
- <rom name="fiendish freddy's big top o'fun (1990)(mindscape international)(disk 2 of 2 side b)[aka fiendish freddy's big top of fun].dsk" size="210688" crc="66b997c1" sha1="4c69f04de665f9ce180045955c79d1b52519df5d" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="finalch4">
- <description>The Final Chorus v4</description>
- <year>1995</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="final chorus, the v4 (1995)(zenobi).dsk" size="194816" crc="d08b9197" sha1="1e468dc36387e0bd1e0dd940f1a789a92176fd30" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="findeman">
- <description>The Final Demand</description>
- <year>1993</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="final demand, the (1993)(zenobi).dsk" size="194816" crc="a40709ef" sha1="4c5f3188c56403299a939e0f2f2d851ab45fb0e3" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="ffight">
- <description>Final Fight</description>
- <year>1991</year>
- <publisher>U.S. Gold</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="255232">
- <rom name="final fight (1991)(u.s. gold)(side a).dsk" size="255232" crc="3dfc49e0" sha1="49bb04a9285a332f46370260d8883263f65f7c46" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="255232">
- <rom name="final fight (1991)(u.s. gold)(side b).dsk" size="255232" crc="47ba3e39" sha1="dfc152177861daf9c6b2d8fb1a9b04cac78697ee" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="fireflya" cloneof="firefly">
- <description>Firefly (alt)</description>
- <year>1988</year>
- <publisher>Ocean Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="214784">
- <rom name="firefly (1988)(ocean).dsk" size="214784" crc="ea47b03f" sha1="e0f89ccf21303bee7fa8121b82e92b5827d288c6" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="fwproble">
- <description>First World Problems</description>
- <year>2014</year>
- <publisher>&lt;homebrew&gt;</publisher>
- <info name="author" value="ZX-Studio"/>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="first world problems (2014-09)(zx-studio).dsk" size="194816" crc="0e7c38d5" sha1="dc279a65d532ad052b47a1e197f494b017dc7e93" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="fisha" cloneof="fish">
- <description>Fish! (alt)</description>
- <year>1989</year>
- <publisher>Rainbird Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="195072">
- <rom name="fish (1989)(rainbird).dsk" size="195072" crc="9b110b8c" sha1="fb2313141dda5289a12b40cd91a12ac271f763bc" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="fishv103">
- <description>Fish v1.03</description>
- <year>1989</year>
- <publisher>Rainbird Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="fish v1.03 (1989)(rainbird).dsk" size="194816" crc="367d44c8" sha1="a51b0cdefaffeae1d905be7f43af9a9bd3f60db7" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="fishrkin">
- <description>The Fisher King</description>
- <year>1991</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="fisher king, the (1991)(zenobi).dsk" size="194816" crc="59f46ec1" sha1="e845c6a90def997cf23b21ad2f8778d017a699f2" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="ffonecro">
- <description>A Fistful of Necronomicons</description>
- <year>1995</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="fistful of necronomicons, a (1995)(zenobi).dsk" size="194816" crc="9708f9dc" sha1="017585b35183a3b34251598ba3bd487fa79209ee" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="flameout">
- <description>Flameout</description>
- <year>1994</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="flameout (1994)(zenobi).dsk" size="194816" crc="7fe10b1b" sha1="7b9682942393ab38974f9fa92580685c639f34af" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="footdir2a" cloneof="footdir2">
- <description>Football Director II (alt)</description>
- <year>1987</year>
- <publisher>D&amp;H Games</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="football director ii (1987)(d&amp;h games).dsk" size="194816" crc="72886e79" sha1="7dfb23c32594aaa76891c502bfd27de6031aeaa0" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="fbmanagr">
- <description>Football Manager</description>
- <year>1982</year>
- <publisher>Addictive Games</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="football manager (1982)(addictive games).dsk" size="194816" crc="b705269b" sha1="8b587fccf87e90f402262f1314996d1fca9fe37a" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="fbmanag3">
- <description>Football Manager 3</description>
- <year>1991</year>
- <publisher>Addictive Games</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="football manager 3 (1991)(addictive games)(side a).dsk" size="194816" crc="a1514dc0" sha1="8cbf454e00edc0c92b333554566d9b305c5db587" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="football manager 3 (1991)(addictive games)(side b).dsk" size="194816" crc="960d092a" sha1="5b2f005d623c1eb5406133d92a51d142ef5384aa" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="foty2a" cloneof="foty2">
- <description>Footballer of the Year 2 (alt)</description>
- <year>1989</year>
- <publisher>Gremlin Graphics Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="255232">
- <rom name="footballer of the year 2 (1989)(gremlin graphics).dsk" size="255232" crc="ed6b20ca" sha1="e9e349e01090b6323036cbe476e2197d3999e598" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="forpetes">
- <description>For Pete's Sake</description>
- <year>1993</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="for pete's sake (1993)(zenobi).dsk" size="194816" crc="2013dbe6" sha1="d2cd15437ebda07e9e40708c4847b9e61636583a" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="forgottn">
- <description>Forgotten Worlds</description>
- <year>1989</year>
- <publisher>U.S. Gold</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="213760">
- <rom name="forgotten worlds (1989)(u.s. gold).dsk" size="213760" crc="2e8774e0" sha1="ac689946f98ace1e72edbfa4101f239b39a8d132" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="forgottna" cloneof="forgottn">
- <description>Forgotten Worlds (alt)</description>
- <year>1989</year>
- <publisher>U.S. Gold</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="133120">
- <rom name="forgotten worlds (1989)(u.s. gold)[a].dsk" size="133120" crc="01bd6ff9" sha1="df381f59162d6c5979e598c75e2dec2a0d27494d" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="foursymb">
- <description>The Four Symbols</description>
- <year>1992</year>
- <publisher>FSF Adventures</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="four symbols, the (1992)(fsf adventures).dsk" size="194816" crc="ba5f9395" sha1="c364ab3404004ae9caaeb3cde00a4ad0765345f9" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="foxxfigb">
- <description>Foxx Fights Back</description>
- <year>1988</year>
- <publisher>Image Works</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="73216">
- <rom name="foxx fights back (1988)(image works)[f][aka fox fights back].dsk" size="73216" crc="c8362449" sha1="74abfc7c6f649b2724ca9efc1639ab586c8d5f09" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="fredhams">
- <description>Freddy Hardest en Manhattan Sur</description>
- <year>1989</year>
- <publisher>Dinamic Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="69632">
- <rom name="freddy hardest en manhattan sur (1989)(dinamic)(es)[aka freddy hardest in south manhattan].dsk" size="69632" crc="421fbbe2" sha1="fd35f4b9f7c2525eed5dff0958d74732a1a46a1b" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="frightma">
- <description>Frightmare</description>
- <year>1988</year>
- <publisher>Cascade Games</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="frightmare (1988)(cascade games).dsk" size="194816" crc="8b1fc84a" sha1="f9c574d1e34d937c688524ecea115775b8192759" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="fullthr2tmd">
- <description>Full Throttle 2 (tape master disk)</description>
- <year>1990</year>
- <publisher>Zeppelin Games</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="full throttle 2 (1990)(zeppelin games)(side a)[tape master disk].dsk" size="194816" crc="8cd531b9" sha1="12b96391beb7b97a99eab2191b010b7900a82b17" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="funkyfuna" cloneof="funkyfun">
- <description>Funky Fungus (alt)</description>
- <year>2013</year>
- <publisher>Alessandro Grussu</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="funky fungus (2013-09)(grussu, alessandro)(it)(m5).dsk" size="194816" crc="3300d623" sha1="94b79a2cb8744aa14bc6ebe0ca3d3d238b1751f4" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- This version adds Italian to the language selection screen -->
- <software name="funkyfun">
- <description>Funky Fungus</description>
- <year>2013</year>
- <publisher>Alessandro Grussu</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="funky fungus (2013-09)(grussu, alessandro)(it)(m6).dsk" size="194816" crc="2438e3be" sha1="c8b718e2391504bdd116c7ea61bcd5de311d7f68" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="thefury">
- <description>The Fury</description>
- <year>1988</year>
- <publisher>Martech Games</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="214784">
- <rom name="fury, the (1988)(martech games).dsk" size="214784" crc="63e21004" sha1="9591fe65eb2a0489b68aa623cb4e4711ba61422a" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="glocr360sp" cloneof="glocr360">
- <description>G-LOC (Spa)</description>
- <year>1992</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="127232">
- <rom name="g-loc (1992)(erbe)(es)(en)[re-release].dsk" size="127232" crc="49e92c72" sha1="2b72df02d48e33984ed7e07ea064d6cf76cedbfe" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="glocr360">
- <description>G-LOC - R360</description>
- <year>1992</year>
- <publisher>U.S. Gold</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="255232">
- <rom name="g-loc - r360 (1992)(u.s. gold)(side a).dsk" size="255232" crc="80751c5f" sha1="7fa45f3f94598f53398f8c32f6b5e89fbeb2605a" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="255232">
- <rom name="g-loc - r360 (1992)(u.s. gold)(side b).dsk" size="255232" crc="af608104" sha1="a490a0e6121b1d16039ba5ef542c903b80faddcc" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="gwoaname">
- <description>Game Without a Name</description>
- <year>1987</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="game without a name (1987)(zenobi)[re-release].dsk" size="194816" crc="def2f93d" sha1="5638e013a70b850ba3d99cb96149f40b9db49b7d" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="gamessum">
- <description>The Games - Summer Edition</description>
- <year>1989</year>
- <publisher>U.S. Gold</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="games - summer edition, the (1989)(u.s. gold)(side a).dsk" size="194816" crc="8d1100e4" sha1="eb8cc85279dbd1075dd783ba2807df92345021e5" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="games - summer edition, the (1989)(u.s. gold)(side b).dsk" size="194816" crc="2f767573" sha1="dc8979f7558a486611f420f2cab285d82f00c7d8" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="garfielda" cloneof="garfield">
- <description>Garfield - Big, Fat, Hairy Deal (alt)</description>
- <year>1988</year>
- <publisher>The Edge</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="garfield - big, fat, hairy deal (1988)(edge, the).dsk" size="194816" crc="f49a2bfb" sha1="5b93c42be8793cee1e8a73d4ce4ad5308f829346" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="linekskla" cloneof="linekskl">
- <description>Gary Lineker's Super Skills (alt)</description>
- <year>1988</year>
- <publisher>Gremlin Graphics Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="gary lineker's super skills (1988)(gremlin graphics).dsk" size="194816" crc="0383082c" sha1="3d62fbab0784ee24e2d624d84f4607ba39556879" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="lineksssa" cloneof="lineksss">
- <description>Gary Lineker's Super Star Soccer (alt)</description>
- <year>1987</year>
- <publisher>Gremlin Graphics Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="174848">
- <rom name="gary lineker's super star soccer (1987)(gremlin graphics).dsk" size="174848" crc="5ad471d4" sha1="9dfb8be61451f07184a1570dc0c42a290f884e75" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="lineksssb" cloneof="lineksss">
- <description>Gary Lineker's Super Star Soccer (alt 2)</description>
- <year>1987</year>
- <publisher>Gremlin Graphics Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="174848">
- <rom name="gary lineker's super star soccer (1987)(gremlin graphics)[a].dsk" size="174848" crc="33b7cea7" sha1="5147ecbc3eddb6bcada1f4516ca0139087b96851" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="gauntletb" cloneof="gauntlet">
- <description>Gauntlet (alt 2)</description>
- <year>1987</year>
- <publisher>U.S. Gold</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="174848">
- <rom name="gauntlet (1987)(u.s. gold).dsk" size="174848" crc="30f6477a" sha1="cace3b49f91e1e4b7c87c924e5df05294ab6a635" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="gauntleta" cloneof="gauntlet">
- <description>Gauntlet (alt)</description>
- <year>1987</year>
- <publisher>U.S. Gold</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="gauntlet (1987)(u.s. gold)[a].dsk" size="194816" crc="9073be5a" sha1="e360dab9875526fb0e3a94459d966dc0005efdcc" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="gauntlt2a" cloneof="gauntlt2">
- <description>Gauntlet II (alt)</description>
- <year>1988</year>
- <publisher>U.S. Gold</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="174848">
- <rom name="gauntlet ii (1988)(u.s. gold).dsk" size="174848" crc="9684ed6f" sha1="80a82fd9179e0cb5afd6eb3d0613508ef696da3e" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="gaunt3">
- <description>Gauntlet III - The Final Quest</description>
- <year>1991</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="255232">
- <rom name="gauntlet iii - the final quest (1991)(erbe)(es)(en)(side a)[re-release].dsk" size="255232" crc="4fef2283" sha1="5b3f7b84d489900d62c594ee6430bfc40826ff69" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="256256">
- <rom name="gauntlet iii - the final quest (1991)(erbe)(es)(en)(side b)[re-release].dsk" size="256256" crc="0c9043a0" sha1="7b923998a993f8d2bc48a54d67ce5deb693d14f5" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="gazza2a" cloneof="gazza2">
- <description>Gazza II (alt)</description>
- <year>1990</year>
- <publisher>Empire</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="185088">
- <rom name="gazza ii (1990)(empire).dsk" size="185088" crc="21159d93" sha1="5854e7aff0623135f9347a9a52512dd5e3c6c2c2" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="gazzasp" cloneof="gazza">
- <description>Gazza's Super Soccer (Spa)</description>
- <year>1990</year>
- <publisher>Proein Soft Line</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="gazza's super soccer (1990)(proein soft line)(es)[re-release].dsk" size="194816" crc="d22b0f96" sha1="f25374b0533edda86d5fa9239e475f650df573c0" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="gemiwing">
- <description>Gemini Wing</description>
- <year>1989</year>
- <publisher>Virgin Mastertronic</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="49920">
- <rom name="gemini wing (1989)(virgin mastertronic)(side a).dsk" size="49920" crc="ac37933e" sha1="e45156913ef978f1343313675ec9707506a1db83" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="189952">
- <rom name="gemini wing (1989)(virgin mastertronic)(side b).dsk" size="189952" crc="b6fa2da2" sha1="5250b1bb4bb427f1caa40c95c85892299c86e200" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="genedown">
- <description>Genesis - Dawn of a New Day</description>
- <year>2010</year>
- <publisher>RetroWorks</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="genesis - dawn of a new day (2010)(retroworks)(es)(en).dsk" size="194816" crc="b66be9f1" sha1="3cfbba9fe3fecd88970179782f44e4a8696492a1" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="ghoulssp" cloneof="ghouls">
- <description>Ghouls 'n' Ghosts (Spa)</description>
- <year>1989</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="255232">
- <rom name="ghouls 'n' ghosts (1989)(erbe)(es)(en)[re-release].dsk" size="255232" crc="0e2116f3" sha1="7872f08c3ed59f1a0fe25c47483588ddaacff99e" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="ghoulsa" cloneof="ghouls">
- <description>Ghouls 'n' Ghosts (alt)</description>
- <year>1989</year>
- <publisher>U.S. Gold</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="236032">
- <rom name="ghouls 'n' ghosts (1989)(u.s. gold).dsk" size="236032" crc="684b0a6e" sha1="b222ee7bc8da5ef2ff368393b5b322ca7cceab65" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="giantkil">
- <description>Giant Killer</description>
- <year>1988</year>
- <publisher>Topologika</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="giant killer (1988)(topologika).dsk" size="194816" crc="a14f9071" sha1="2b2817a0335d68b737198f6a63abefcd200eefd9" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="gnomeran">
- <description>Gnome Ranger</description>
- <year>1987</year>
- <publisher>Level 9 Computing</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="gnome ranger (1987)(level 9 computing)(side a).dsk" size="194816" crc="c0a2c1d9" sha1="72dd23ade8f456d89227c117fc2a8deaa9cfed6a" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="gnome ranger (1987)(level 9 computing)(side b).dsk" size="194816" crc="5cf4fde5" sha1="196e6eeba57acf9d3144c57786416510fd25735f" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="gnomerana" cloneof="gnomeran">
- <description>Gnome Ranger (alt)</description>
- <year>1987</year>
- <publisher>Level 9 Computing</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="gnome ranger (1987)(level 9 computing)(side a)[a].dsk" size="194816" crc="ab6f9fc4" sha1="dee58071ffdcad55e876989ae3c6044c7b113c05" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="gnome ranger (1987)(level 9 computing)(side b)[a].dsk" size="194816" crc="78d2948c" sha1="cb60320983e5293c988ad59ff8d855e947662345" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="godsowar">
- <description>The Gods of War</description>
- <year>1987</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="gods of war, the (1987)(zenobi)[re-release].dsk" size="194816" crc="5f17551f" sha1="323f1944464f40f6f3d3c71f3325720f976cee81" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="goldnaxesp" cloneof="goldnaxe">
- <description>Golden Axe (Spa)</description>
- <year>1990</year>
- <publisher>MCM Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="165888">
- <rom name="golden axe (1990)(mcm)(es)(en)(side a)[re-release].dsk" size="165888" crc="6d1f7b39" sha1="ac6adace846dfb0317b10fe0b1c0563e024e2cc5" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="golden axe (1990)(mcm)(es)(en)(side b)[re-release].dsk" size="194816" crc="66d2022a" sha1="ceb5c62acb2a9f9282aeee1f696dd336b9d853a7" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="goldnaxe">
- <description>Golden Axe</description>
- <year>1990</year>
- <publisher>Virgin Games</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="212736">
- <rom name="golden axe (1990)(virgin games)(side a).dsk" size="212736" crc="2a528ede" sha1="091755e551ee628919411c50a0b0eeb387488658" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="golden axe (1990)(virgin games)(side b).dsk" size="194816" crc="fcdd188f" sha1="bc390526d92c77193626f0419f89febd24ba3af9" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="gobasket">
- <description>Golden Basket</description>
- <year>1990</year>
- <publisher>Opera Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="211968">
- <rom name="golden basket (1990)(opera soft)(es).dsk" size="211968" crc="59dee941" sha1="4018f2064473474ff5e8b25f8f4323c0f7611b99" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="goldlock">
- <description>The Golden Locket</description>
- <year>1993</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="golden locket, the (1993)(zenobi)[re-release].dsk" size="194816" crc="53843bdd" sha1="607631dea927f5e00fba2818e0f5b795e954fe9e" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="goldpyra">
- <description>The Golden Pyramid</description>
- <year>1991</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="golden pyramid, the (1991)(zenobi).dsk" size="194816" crc="bedb25dc" sha1="706f7604eac2baeb15ebdfef25c631c1dd82ecdd" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="gswobhak">
- <description>The Golden Sword of Bhakhor</description>
- <year>1991</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="golden sword of bhakhor, the (1991)(zenobi).dsk" size="194816" crc="d02d944a" sha1="6b4eb8e54dcd781f04d7c37e6198bb60fb75ed79" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="grabghou">
- <description>Grabbed by the Ghoulies</description>
- <year>1992</year>
- <publisher>FSF Adventures</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="grabbed by the ghoulies (1992)(fsf adventures)[re-release].dsk" size="194816" crc="dace798a" sha1="d449a4229125d4e858e7da44176d358be22b17cb" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="graesocctmd">
- <description>Graeme Souness Soccer Manager (tape master disk)</description>
- <year>1992</year>
- <publisher>Zeppelin Games</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="graeme souness soccer manager (1992)(zeppelin games)[tape master disk].dsk" size="194816" crc="a28d55c1" sha1="3ea9842497c958a7c4f1c7ce3da5e3c4c24460b1" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- would be clone of "Hudson Hawk" if a dump existed -->
- <software name="hudsonhasp">
- <description>El Gran Halcon</description>
- <year>1991</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="146176">
- <rom name="gran halcon, el (1991)(erbe)(es)(en)[aka hudson hawk][re-release].dsk" size="146176" crc="9bcc8c2b" sha1="df35fafcb381b0d02eb04baf6926b61ac83f0581" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="gryzor">
- <description>Gryzor</description>
- <year>1987</year>
- <publisher>Ocean Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="gryzor (1987)(ocean).dsk" size="194816" crc="c237d67d" sha1="1ffb3dac932ab7b84cd9d06ed4a88312680026e9" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="gwar">
- <description>Guerrilla War - Hail the Heroes</description>
- <year>1988</year>
- <publisher>Imagine Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="134144">
- <rom name="guerrilla war - hail the heroes (1988)(imagine).dsk" size="134144" crc="58d62d43" sha1="e17740a5fe4fd6468f9d107229bf252d94f3ef45" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="guilthie">
- <description>The Guild of Thieves</description>
- <year>1988</year>
- <publisher>Rainbird Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="guild of thieves, the (1988)(rainbird)(side a).dsk" size="194816" crc="3048e6d4" sha1="56143b609159649b8ab836553cdaf84f7d2188e8" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="guild of thieves, the (1988)(rainbird)(side b).dsk" size="194816" crc="869107d0" sha1="555451be82b911d0612445f4560a48303f195916" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="guilthiea" cloneof="guilthie">
- <description>The Guild of Thieves (alt)</description>
- <year>1988</year>
- <publisher>Rainbird Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="guild of thieves, the (1988)(rainbird)(side a)[a].dsk" size="194816" crc="7832e385" sha1="a4c37a58156b5b957be5aefb9aaf0878c39f1123" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <!-- Side missing from dump, using same as parent set -->
- <dataarea name="flop" size="194816">
- <rom name="guild of thieves, the (1988)(rainbird)(side b).dsk" size="194816" crc="869107d0" sha1="555451be82b911d0612445f4560a48303f195916" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="guiltell">
- <description>Guillermo Tell</description>
- <year>1989</year>
- <publisher>Opera Soft</publisher>
- <info name="usage" value="Requires Gun Stick lightgun"/>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="216064">
- <rom name="guillermo tell (1989)(opera soft)(es).dsk" size="216064" crc="6c1dae08" sha1="e4c18ad9bb2f04c1466c4cfd30362d57531ef9e5" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="gunship">
- <description>Gunship</description>
- <year>1987</year>
- <publisher>MicroProse</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="gunship (1987)(microprose)(side a).dsk" size="194816" crc="b8c9e143" sha1="81e9922afff03d074d995c00614b490baaa1a10f" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="gunship (1987)(microprose)(side b).dsk" size="194816" crc="abc054f8" sha1="60dfff8cbe8deb3cbadc770d1a320d3c4d5c247c" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="gunshipa" cloneof="gunship">
- <description>Gunship (alt)</description>
- <year>1987</year>
- <publisher>MicroProse</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="gunship (1987)(microprose)(side a)[a].dsk" size="194816" crc="cb851c5f" sha1="c87ef92255d3b4739f13005995913a1b1ccd61ed" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="gunship (1987)(microprose)(side b)[a].dsk" size="194816" crc="35775533" sha1="641ffdeb1d785040b2fab099d6442f617f2e11ca" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="hatea" cloneof="hate">
- <description>H.A.T.E. - Hostile All Terrain Encounter (alt)</description>
- <year>1989</year>
- <publisher>Gremlin Graphics Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="219136">
- <rom name="h.a.t.e. (1989)(gremlin graphics)[aka hostile all terrain encounter].dsk" size="219136" crc="c77d0383" sha1="60c22e50e0827fa2d8ee63fe496cd2e47046ba5a" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="harddriv">
- <description>Hard Drivin'</description>
- <year>1989</year>
- <publisher>Domark</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="hard drivin' (1989)(domark).dsk" size="194816" crc="c26cc54a" sha1="77b919946cc3bc66a6a62c9a788351fd369fa75f" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="harddrivsp" cloneof="harddriv">
- <description>Hard Drivin' (Spa)</description>
- <year>1989</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="63488">
- <rom name="hard drivin' (1989)(erbe)(es)(en)[re-release].dsk" size="63488" crc="e6f85a75" sha1="4e9a802f657b7fc04a02b0e0877830c582105ccf" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="harddriva" cloneof="harddriv">
- <description>Hard Drivin' (alt)</description>
- <year>1989</year>
- <publisher>Domark</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="hard drivin' (1989)(domark)[a].dsk" size="194816" crc="384b47f2" sha1="08a23a450b6fbb383444b94e29bba02e871fb174" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="hellfiat">
- <description>Hellfire Attack</description>
- <year>1989</year>
- <publisher>Martech Games</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="214784">
- <rom name="hellfire attack (1989)(martech games)(side a).dsk" size="214784" crc="793a0cac" sha1="5fe57928392926af38b69983d5f29dfd7f7632e9" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="hellfire attack (1989)(martech games)(side b).dsk" size="194816" crc="12a71f04" sha1="c47c87075ec8cfe4ed9d4040e0accf1989079d86" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="helvera">
- <description>Helvera - Mistress of the Park</description>
- <year>1993</year>
- <publisher>FSF Adventures</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="helvera - mistress of the park (1993)(fsf adventures).dsk" size="194816" crc="4da1fe77" sha1="069936422b4ff7ba66321efb70edb7eeba64c72a" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="hermitag">
- <description>The Hermitage</description>
- <year>1989</year>
- <publisher>Pegasus</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="hermitage, the (1989)(pegasus)(side a).dsk" size="194816" crc="324ca25e" sha1="c8dfe93e92cd64160890698fac76329e140c6ebb" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="hermitage, the (1989)(pegasus)(side b).dsk" size="194816" crc="c66477bb" sha1="0e1a7102c315843b58e057f45201a7803c356979" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="heroqsta" cloneof="heroqst">
- <description>Hero Quest (alt)</description>
- <year>1991</year>
- <publisher>Gremlin Graphics Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="hero quest (1991)(gremlin graphics).dsk" size="194816" crc="ab30a1d0" sha1="915dde45e84df561fea89b8b4c3cea6892ca85c1" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="heroqstb" cloneof="heroqst">
- <description>Hero Quest (alt 2)</description>
- <year>1991</year>
- <publisher>Gremlin Graphics Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="hero quest (1991)(gremlin graphics)[a].dsk" size="194816" crc="758aca42" sha1="1646d3fc7ad3719351cc9be38f3a7e714d9d866f" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="heroqstc" cloneof="heroqst">
- <description>Hero Quest (alt 3)</description>
- <year>1991</year>
- <publisher>Gremlin Graphics Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="hero quest (1991)(gremlin graphics)[a2].dsk" size="194816" crc="dec047e7" sha1="94dae34b89d72eed5e05f64a85f86aeac4ae8827" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="heroqstd" cloneof="heroqst">
- <description>Hero Quest (alt 4)</description>
- <year>1991</year>
- <publisher>Gremlin Graphics Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="199680">
- <rom name="hero quest (1991)(gremlin graphics)[a3].dsk" size="199680" crc="ceb5f071" sha1="1033f9307c145f34d8bc6d0fb8f8c7e581165588" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="heroque2">
- <description>Hero Quest - Return of the Witch Lord</description>
- <year>1991</year>
- <publisher>Gremlin Graphics Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="hero quest - return of the witch lord (1991)(gremlin graphics).dsk" size="194816" crc="e11de839" sha1="6e72c9ffdfcefc98f26be651d6af9897f42c1826" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="heroque2a" cloneof="heroque2">
- <description>Hero Quest - Return of the Witch Lord (alt)</description>
- <year>1991</year>
- <publisher>Gremlin Graphics Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="hero quest - return of the witch lord (1991)(gremlin graphics)[a].dsk" size="194816" crc="4ed5a340" sha1="71954827b51a39b4a682f94198026adf9f6f9205" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="heroque2b" cloneof="heroque2">
- <description>Hero Quest - Return of the Witch Lord (alt 2)</description>
- <year>1991</year>
- <publisher>Gremlin Graphics Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="hero quest - return of the witch lord (1991)(gremlin graphics)[a2].dsk" size="194816" crc="86da0a2e" sha1="003e63884fb0a6dffcab7de701fad9df3206b4b5" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="heroque2c" cloneof="heroque2">
- <description>Hero Quest - Return of the Witch Lord (alt 3)</description>
- <year>1991</year>
- <publisher>Gremlin Graphics Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="199680">
- <rom name="hero quest - return of the witch lord (1991)(gremlin graphics)[a3].dsk" size="199680" crc="cdac513e" sha1="c20215ef636d6c2f92a5af5a87a8c2e8ce8be774" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="heroesre">
- <description>Heroes Rescue</description>
- <year>2016</year>
- <publisher>Defecto Digital Studios</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="204544">
- <rom name="heroes rescue (2016-12-23)(defecto digital studios).dsk" size="204544" crc="1802d377" sha1="909d426b26179f2521f43ab8074246a504007319" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="herolancsp" cloneof="herolanc">
- <description>Heroes of the Lance (Spa)</description>
- <year>1988</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="heroes of the lance (1988)(erbe)(es)(en)[re-release].dsk" size="194816" crc="99cc6af8" sha1="afd6e3b1ae18888ed999d690a9373a0f7778c7a5" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="herolanca" cloneof="herolanc">
- <description>Heroes of the Lance (alt)</description>
- <year>1988</year>
- <publisher>U.S. Gold</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="heroes of the lance (1988)(u.s. gold).dsk" size="194816" crc="48f81876" sha1="d801954e2eca715f3b0b0057ebccd7021c7cae9a" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="hidnseek">
- <description>Hide and Seek</description>
- <year>1995</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="hide and seek (1995)(zenobi)[re-release].dsk" size="194816" crc="a7b8a803" sha1="ee73f444d4637195c7272ea392dd174e534e0413" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="hobshoar">
- <description>Hob's Hoard</description>
- <year>1991</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="hob's hoard (1991)(zenobi).dsk" size="194816" crc="beca6e53" sha1="9b7f1c131bbab3b588a79667f06930535d0e47e8" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="hoppingm">
- <description>Hopping Mad</description>
- <year>1988</year>
- <publisher>Elite Systems</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="161024">
- <rom name="hopping mad (1988)(elite systems)[aka hoppin' mad].dsk" size="161024" crc="a9a4d047" sha1="7e3fac325b154027565744795e70c2f387668a44" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="hostagessp" cloneof="hostages">
- <description>Hostages (Spa)</description>
- <year>1990</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="174848">
- <rom name="hostages (1990)(erbe)(es)(en)(side a)[re-release].dsk" size="174848" crc="2d074804" sha1="0d75703c852d2941794701ccf668dc8edc68ad56" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="174848">
- <rom name="hostages (1990)(erbe)(es)(en)(side b)[re-release].dsk" size="174848" crc="55da5edb" sha1="77a872dfe8a5b37880e27c101660e62fcb9102bb" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="hostages">
- <description>Hostages</description>
- <year>1990</year>
- <publisher>Infogrames</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="148736">
- <rom name="hostages (1990)(infogrames)(fr)(en)(side a).dsk" size="148736" crc="181e0d1e" sha1="4db8c8ea16e12caa75cf6a5ebe046fe15f901726" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="135680">
- <rom name="hostages (1990)(infogrames)(fr)(en)(side b).dsk" size="135680" crc="c5d910c7" sha1="0ad584237568a82c5c20a0e9b565303b8ac229d0" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="hotshot">
- <description>Hotshot</description>
- <year>1988</year>
- <publisher>Prism Leisure Corporation</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="204544">
- <rom name="hotshot (1988)(prism leisure corporation)[re-release].dsk" size="204544" crc="c0382c46" sha1="34aa79e19795da44846fd0362cfbbf2318a1ea8a" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="houseott">
- <description>The House on the Tor</description>
- <year>1990</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="house on the tor, the (1990)(zenobi).dsk" size="194816" crc="a29246d9" sha1="49b35455d6747345933cefac220fe46fdd6cb76e" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="thehouse">
- <description>The House</description>
- <year>1994</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="house, the (1994)(zenobi).dsk" size="194816" crc="ce8ac110" sha1="56edf0e0151b87a7bf0e559638373a92a9c99496" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="hkma" cloneof="hkm">
- <description>H.K.M. - Human Killing Machine (alt)</description>
- <year>1988</year>
- <publisher>U.S. Gold</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="219136">
- <rom name="human killing machine (1988)(u.s. gold)[aka hkm].dsk" size="219136" crc="6070005d" sha1="aa6993a2e75dee924a8a673358c507922dbe939f" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="hkmb" cloneof="hkm">
- <description>Human Killing Machine (alt 2)</description>
- <year>1988</year>
- <publisher>U.S. Gold</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="213760">
- <rom name="human killing machine (1988)(u.s. gold)[a][aka hkm].dsk" size="213760" crc="23f6daf4" sha1="8a3d32f5da2c9087c1b50d4a205ad6086cd13862" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="ineedspe">
- <description>I Need Speed</description>
- <year>2009</year>
- <publisher>Computer Emuzone</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="i need speed (2009)(computer emuzone)(es)(en).dsk" size="194816" crc="f1f45a4a" sha1="f63895b1d4353454c4ba29fce31bf9d2d4fa126a" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="icebreak">
- <description>Ice-Breaker</description>
- <year>1990</year>
- <publisher>Topo Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="116992">
- <rom name="ice-breaker (1990)(topo soft)(es).dsk" size="116992" crc="b92855fa" sha1="9bb3c9a9465251794cb4f52dba61b41fc31d6d0d" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="ikariwar">
- <description>Ikari Warriors</description>
- <year>1988</year>
- <publisher>Elite Systems</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="214784">
- <rom name="ikari warriors (1988)(elite systems).dsk" size="214784" crc="6a5e6217" sha1="92702073e396e40ef274ed8bb90b0e2562ef6d64" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="ikariwara" cloneof="ikariwar">
- <description>Ikari Warriors (alt)</description>
- <year>1988</year>
- <publisher>Elite Systems</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="204032">
- <rom name="ikari warriors (1988)(elite systems)[a].dsk" size="204032" crc="aa6e26a1" sha1="879c95e0827b5baace546ddf94a5f49a4555ab0c" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="impact">
- <description>Impact</description>
- <year>1992</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="impact (1992)(zenobi).dsk" size="194816" crc="596680d7" sha1="8b834a5283f06b3d14bd70e3ba7d5aa82b5378db" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="impossamsp" cloneof="impossam">
- <description>Impossamole (Spa)</description>
- <year>1990</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="214784">
- <rom name="impossamole (1990)(erbe)(es)(en)[re-release].dsk" size="214784" crc="4e9a963d" sha1="1f0723d701dbaad0c57a47e0bde0ff79d5a58dd1" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="impossam">
- <description>Impossamole</description>
- <year>1990</year>
- <publisher>Gremlin Graphics Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="214784">
- <rom name="impossamole (1990)(gremlin graphics).dsk" size="214784" crc="04ece926" sha1="dd49acee739bf6629420813275271305f8b48db2" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="indy3sp">
- <description>Indiana Jones y la Ultima Cruzada</description>
- <year>1989</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="indiana jones y la ultima cruzada (1989)(erbe)(es)(en)[aka indiana jones and the last crusade][re-release].dsk" size="194816" crc="e2de5128" sha1="e0c5862105818b5d88fe5543f04ddc67f45be587" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="inf2rtre">
- <description>Infiltrado 2 - Return To Reactor</description>
- <year>2004</year>
- <publisher>OCTOCOM</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="infiltrado 2 - return to reactor (2004)(octocom)(es).dsk" size="194816" crc="9196fcf8" sha1="392d82daf3c96bd84918935c9d3835a2127f1109" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="ingrback">
- <description>Ingrid's Back</description>
- <year>1988</year>
- <publisher>Level 9 Computing</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="ingrid's back (1988)(level 9 computing)(side a).dsk" size="194816" crc="7b9efce5" sha1="c15eb32cc8c21ab3dc5919d3699ffbf707a52d6f" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="ingrid's back (1988)(level 9 computing)(side b).dsk" size="194816" crc="02a85f6a" sha1="d401c963d2fd9a7cd80641e5c5ea34ffe54ae8a7" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="ingrbacka" cloneof="ingrback">
- <description>Ingrid's Back (alt)</description>
- <year>1988</year>
- <publisher>Level 9 Computing</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="ingrid's back (1988)(level 9 computing)(side a)[a].dsk" size="194816" crc="7d33b69a" sha1="49230a2de96ad140c97c60cc31a03c6db1a77a06" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="ingrid's back (1988)(level 9 computing)(side b)[a].dsk" size="194816" crc="a8c6adff" sha1="2e5f36a31a6eff7ff68d0105c28a03d7ba08133d" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="ingrbackb" cloneof="ingrback">
- <description>Ingrid's Back (alt 2)</description>
- <year>1988</year>
- <publisher>Level 9 Computing</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="389376">
- <rom name="ingrid's back (1988)(level 9 computing)(side a)[a2].dsk" size="389376" crc="9f4244cf" sha1="67367fd3815e826f95b96a2cd56011cf7857e328" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <!-- Side missing from dump, using same as parent set -->
- <dataarea name="flop" size="194816">
- <rom name="ingrid's back (1988)(level 9 computing)(side b).dsk" size="194816" crc="02a85f6a" sha1="d401c963d2fd9a7cd80641e5c5ea34ffe54ae8a7" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="intercit">
- <description>The Inter City</description>
- <year>1988</year>
- <publisher>Steam Railway Simulations</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="inter city, the (1988)(steam railway simulations).dsk" size="194816" crc="63c6f473" sha1="d76be72e72634a97dc5ebd98fae82b7c4a0c2b8c" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="i5asfoottmd">
- <description>International 5 A Side Football (tape master disk)</description>
- <year>1992</year>
- <publisher>Zeppelin Games</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="international 5 a side football (1992)(zeppelin games)(side a)[tape master disk].dsk" size="194816" crc="9e5b009d" sha1="cc2563d1268d9053070d0d6ffeb0d96170e7756c" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="international 5 a side football (1992)(zeppelin games)(side b)[master disk].dsk" size="194816" crc="77a9b7e9" sha1="1b1ef57247eea772d00bb0bb9c9e264b443b8b93" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="inkarate">
- <description>International Karate</description>
- <year>1985</year>
- <publisher>System 3 Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="international karate (1985)(system 3).dsk" size="194816" crc="7321dcb7" sha1="85b8c729932f58e096a6d7dcbcb0441ea1162c6e" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="inttenn">
- <description>International Tennis (master disk)</description>
- <year>1992</year>
- <publisher>Zeppelin Games</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="international tennis (1992)(zeppelin games)(side a)[master disk].dsk" size="194816" crc="a7fdd3c9" sha1="f696e4e7647a71bf8699fef24b5993ab09f2d398" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="international tennis (1992)(zeppelin games)(side b).dsk" size="194816" crc="99808d9b" sha1="fe9e1a0ad26eedeca49fb5f33855e686b9cf1412" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="eaglnest">
- <description>Into the Eagle's Nest</description>
- <year>1987</year>
- <publisher>Pandora</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="73216">
- <rom name="into the eagle's nest (1987)(pandora).dsk" size="73216" crc="32543165" sha1="6a3712a1938fef366d1ca4e5202f3b3a42711c57" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="untouchasp" cloneof="untoucha">
- <description>Los Intocables</description>
- <year>1989</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="39168">
- <rom name="intocables, los (1989)(erbe)(es)(en)(side a)[aka untouchables, the][re-release].dsk" size="39168" crc="25d0a261" sha1="2fce2e88ee1f03affec4086011966ee90098ca7e" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="intocables, los (1989)(erbe)(es)(en)(side b)[aka untouchables, the][re-release].dsk" size="194816" crc="cf0ff520" sha1="49a6c3aa3c0a45bf7cbb6633a1fe6738430b0a26" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="ironlorda" cloneof="ironlord">
- <description>Iron Lord (alt)</description>
- <year>1989</year>
- <publisher>Ubi Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="215296">
- <rom name="iron lord (1989)(ubi soft)(fr)(en).dsk" size="215296" crc="6b0e52b2" sha1="8965b9086d66cbab42bc69f8a3abef2cbc9d23dd" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="isotcons">
- <description>Isotopia Construction Set</description>
- <year>2007</year>
- <publisher>OCTOCOM</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="isotopia construction set (2007)(octocom)(es)(side a).dsk" size="194816" crc="14cb6ba0" sha1="d9f2a0783fda351a1a8b48551fbc7bb28e4e7c1e" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="isotopia construction set (2007)(octocom)(es)(side b).dsk" size="194816" crc="405e6921" sha1="d6b8908dbc2810b1f55ae2e3aa5cafc68d541ea3" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="italia90a" cloneof="italia90">
- <description>Italia '90 - World Cup Soccer (alt)</description>
- <year>1989</year>
- <publisher>Virgin Games</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="62720">
- <rom name="italia '90 - world cup soccer (1989)(virgin games)[aka world cup soccer '90].dsk" size="62720" crc="f163182d" sha1="ed9cb8943e7275fe04b88174d8b9b5b7373ca9f1" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- This would be a clone of "Italy 1990" if a dump existed. Not to confuse with "Italia '90 - World Cup Soccer" -->
- <software name="italy90sp">
- <description>Italia 1990</description>
- <year>1990</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="80896">
- <rom name="italia 1990 (1990)(erbe)(es)(en)[aka italy 1990][re-release].dsk" size="80896" crc="c682f692" sha1="682b9a4e2c93700635507aaeeaac92ce4a0bfb2f" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="offroada" cloneof="offroad">
- <description>Ivan 'Ironman' Stewart's Super Off Road (alt)</description>
- <year>1990</year>
- <publisher>Virgin Games</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="56320">
- <rom name="ivan 'ironman' stewart's super off road racer (1990)(virgin games).dsk" size="56320" crc="79166768" sha1="e35c4bff06d9ffaba8f84782cc5430d3e9107b48" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="jabato">
- <description>Jabato</description>
- <year>1989</year>
- <publisher>Aventuras AD</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="107264">
- <rom name="jabato vs imperio - libertad (1989)(aventuras ad)(es).dsk" size="107264" crc="56519b9f" sha1="56ae5c77ff9e90aab9332af90cb126befb1585a8" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="jadeston">
- <description>The Jade Stone</description>
- <year>1987</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="jade stone, the (1987)(zenobi)(side a)[re-release].dsk" size="194816" crc="a62c7ffc" sha1="2a8d8b151521de78e8e746991215327ef408be10" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="jade stone, the (1987)(zenobi)(side b)[re-release].dsk" size="194816" crc="b9dac541" sha1="392622dd2211fa9d8cd9502accd2169d276e613a" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="jadestona" cloneof="jadeston">
- <description>The Jade Stone (alt)</description>
- <year>1987</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="jade stone, the (1987)(zenobi)[re-release].dsk" size="194816" crc="49966c26" sha1="9b58a66a9733afc97b9313279e90084436b9ef1d" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="jkhansqu">
- <description>Jahangir Khan's World Championship Squash</description>
- <year>1991</year>
- <publisher>Krisalis</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="jahangir khan's world championship squash (1991)(krisalis)(side a).dsk" size="194816" crc="6cf8742c" sha1="7072549688ce96f3867bbbb647032803d5b72093" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="jahangir khan's world championship squash (1991)(krisalis)(side b).dsk" size="194816" crc="654bbd30" sha1="78494f135b0182d9c1c3028c12dc4f79e5e95b02" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="janosik">
- <description>Janosik</description>
- <year>2013</year>
- <publisher>&lt;homebrew&gt;</publisher>
- <info name="author" value="Alex Heather, Rafal Miazga"/>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="janosik (2013)(heather, alex - miazga, rafal)(en-pl).dsk" size="194816" crc="27f80962" sha1="fafa9dd2ba30d6302b1ffe5ba32d0eac2a1e9832" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="jesterqu">
- <description>Jester Quest</description>
- <year>1988</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="jester quest (1988)(zenobi)[re-release].dsk" size="194816" crc="3503d839" sha1="c01d6ed8687c2ef51470e8ac0993f18be847bd4f" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="jbikesim">
- <description>Jet Bike Simulator</description>
- <year>1989</year>
- <publisher>MCM Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="208384">
- <rom name="jet bike simulator (1989)(mcm)(es)(en)(side a).dsk" size="208384" crc="30433f34" sha1="48a9225faaf25e6b731df976d402a817d8ad8800" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="jet bike simulator (1989)(mcm)(es)(en)(side b).dsk" size="194816" crc="79e4c0cb" sha1="d7b5cfbab542e5e77447d02d42568c7a27bd7a85" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="jsw128k">
- <description>Jet Set Willy 128K</description>
- <year>1996</year>
- <publisher>John Elliott</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="jet set willy 128k (1996)(elliott, john).dsk" size="194816" crc="13ec1459" sha1="3e294edc5a2756230b0ea6f9d44b2b2034d67504" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="jinxter">
- <description>Jinxter</description>
- <year>1988</year>
- <publisher>Rainbird Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="jinxter (1988)(rainbird).dsk" size="194816" crc="845679ed" sha1="81abfa5dc7aaba651416e4cd3e608a35efcb6003" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="jinxtera" cloneof="jinxter">
- <description>Jinxter (alt)</description>
- <year>1988</year>
- <publisher>Rainbird Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="jinxter (1988)(rainbird)[a].dsk" size="194816" crc="7e71fb55" sha1="46d026205cec35b7852096ae05a7b7921d14f947" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="jockywil">
- <description>Jocky Wilson's Compendium of Darts (tape master disk)</description>
- <year>1991</year>
- <publisher>Zeppelin Games</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="jocky wilson's compendium of darts (1991)(zeppelin games)(side a)[tape master disk].dsk" size="194816" crc="68116070" sha1="684f2f5521860e779c2d94d00108417286164671" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="jocky wilson's compendium of darts (1991)(zeppelin games)(side b)[tape master disk].dsk" size="194816" crc="d56ab3bb" sha1="141a6d47460a5f5db1cc3eef7926ce80f6feaca4" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="junglewa">
- <description>Jungle Warrior</description>
- <year>1990</year>
- <publisher>Zigurat Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="63488">
- <rom name="jungle warrior (1990)(zigurat)(es).dsk" size="63488" crc="3ca364a1" sha1="5cbaa05e1994dab8b18a9d9a126296d00a9bda66" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="dalglisha" cloneof="dalglish">
- <description>Kenny Dalglish Soccer Match (alt)</description>
- <year>1990</year>
- <publisher>Impressions</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="kenny dalglish soccer match (1990)(impressions).dsk" size="194816" crc="931767d6" sha1="17f63db7606e3b3b6dfe0803151b7c2cd3a475b8" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="khangpla">
- <description>The Khangrin Plans</description>
- <year>1992</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="khangrin plans, the (1992)(zenobi).dsk" size="194816" crc="775b884f" sha1="669b305e0c2dfde4b27b5141c620dbc7dd3b9a67" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="kickoffa" cloneof="kickoff">
- <description>Kick Off (alt)</description>
- <year>1989</year>
- <publisher>Anco</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="kick off (1989)(anco).dsk" size="194816" crc="6e2d2e18" sha1="d54e7dbc333ed5b99be8507169bffd6c0c2505da" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="kickoff2">
- <description>Kick Off 2</description>
- <year>1990</year>
- <publisher>Anco</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="160256">
- <rom name="kick off 2 (1990)(anco).dsk" size="160256" crc="36135461" sha1="9f6ff7abb598322a77708e335d2bb4d981011d44" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="kickboxv">
- <description>Kick-Box Vigilante (master disk)</description>
- <year>1991</year>
- <publisher>Zeppelin Games</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="kick-box vigilante (1991)(zeppelin games)(side a)[master disk].dsk" size="194816" crc="f2100695" sha1="0962c96fc583b64e18755157a392caf376237441" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="kick-box vigilante (1991)(zeppelin games)(side b)[master disk].dsk" size="194816" crc="b03443f7" sha1="f76e6e9613bf1e13aad1ef07cb535d08fd9e4d14" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="kidnappe">
- <description>Kidnapped</description>
- <year>1993</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="kidnapped (1993)(zenobi).dsk" size="194816" crc="81158672" sha1="cde1ce0687c59de52c7e7ea040d948f8e9fd5ebd" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="klax">
- <description>Klax</description>
- <year>1990</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="146176">
- <rom name="klax (1990)(erbe)(es)(en)[re-release].dsk" size="146176" crc="125e3c32" sha1="5148844e91af58b41f1b0867584d16dc4c52203c" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="kniglife">
- <description>Knight Life</description>
- <year>1995</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="knight life (1995)(zenobi)[re-release].dsk" size="194816" crc="475d8674" sha1="d70a7c9754461ed5f00c53d64c77aea49e8a26dd" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="knigorc2">
- <description>Knight Orc v2</description>
- <year>1987</year>
- <publisher>Rainbird Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="knight orc v2 (1987)(rainbird)(side a).dsk" size="194816" crc="9a647bf9" sha1="7fa2d01743805510ef3f5f9ea0b580c944afe681" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="knight orc v2 (1987)(rainbird)(side b).dsk" size="194816" crc="9f5f16b4" sha1="607aae53b43fa25b7a71622fc9be875b2f92eb2e" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="kobyaak">
- <description>Kobyashi Ag'Kwo - A Return to Naru</description>
- <year>1991</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="kobyashi ag'kwo - a return to naru (1991)(zenobi).dsk" size="194816" crc="c2fe764f" sha1="b7bb825691f738fc86ec3c7fb5439135abb699f0" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="kobyanar">
- <description>Kobyashi Naru</description>
- <year>1992</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="kobyashi naru (1992)(zenobi).dsk" size="194816" crc="36838f89" sha1="f565893ae4bf1f6624ab01684a662cd9e6561d43" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="krazykar">
- <description>The Krazy Kartoonist Kaper</description>
- <year>1991</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="krazy kartoonist kaper, the (1991)(zenobi)[re-release].dsk" size="194816" crc="2b788d74" sha1="09959def47b5983c292933bf5c5cf3cb7e0ffc1a" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="krunel">
- <description>Krunel</description>
- <year>2013</year>
- <publisher>speccy.pl</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="174336">
- <rom name="krunel (2013-10)(speccy.pl)(pl)(en-pl)[retrokomp - load error].dsk" size="174336" crc="7bb2e53b" sha1="456a002a3ceee37a0383a6059c5ea63b629f9918" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="krunela" cloneof="krunel">
- <description>Krunel (alt)</description>
- <year>2013</year>
- <publisher>speccy.pl</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="krunel (2013-10)(speccy.pl)(pl)(en-pl)[a][retrokomp - load error].dsk" size="194816" crc="146999a7" sha1="f5ee214443a1147539158512f5aca939c6ea0f5c" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="ledstorm">
- <description>LED Storm Rally 2011</description>
- <year>1988</year>
- <publisher>Go</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="led storm rally 2011 (1988)(go).dsk" size="194816" crc="1a675e8d" sha1="295acfddcdff4a98ea290d9a9b2cf2da1b97de94" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="labopain">
- <description>Labour Pains</description>
- <year>1995</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="labour pains (1995)(zenobi).dsk" size="194816" crc="738366d9" sha1="898a86b4d51470078c0ef6972da6b4b8c6df1aff" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="laboherc">
- <description>The Labours of Hercules</description>
- <year>1987</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="labours of hercules, the (1987)(zenobi)[re-release].dsk" size="194816" crc="227a46ce" sha1="6df89841500cb7804beb566fd8cd77f0c6370cb4" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="lancelot">
- <description>Lancelot</description>
- <year>1988</year>
- <publisher>Mandarin</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="lancelot (1988)(mandarin)(side a).dsk" size="194816" crc="9f77d0c7" sha1="00fcd843694d17a24b87746de910b7455c59795c" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="lancelot (1988)(mandarin)(side b).dsk" size="194816" crc="73998eb5" sha1="a294d19bba726790c8b13b3f6ded3d5481cfc024" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="laskretu">
- <description>Laskar's Return</description>
- <year>1996</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="laskar's return (1996)(zenobi).dsk" size="194816" crc="fcd56503" sha1="da7c6830dd2e0b8868eab0c6f48b8b70eccec6be" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="lastduel">
- <description>Last Duel</description>
- <year>1989</year>
- <publisher>U.S. Gold</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="last duel (1989)(u.s. gold).dsk" size="194816" crc="937a1143" sha1="92cc8ff23398d0fcd653375789d4772bff06d6e5" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="lmohicana" cloneof="lmohican">
- <description>The Last Mohican (alt)</description>
- <year>1987</year>
- <publisher>CRL Group</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="last mohican, the (1987)(crl group).dsk" size="194816" crc="40884d58" sha1="9e634b17b883ea6a3c4bd170a9290b472518643f" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="lazertag">
- <description>Lazer Tag</description>
- <year>1987</year>
- <publisher>Go</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="lazer tag (1987)(go).dsk" size="194816" crc="a9fbd8fa" sha1="6e58f24e163b1ca99c0d11992bf7c1fdf743a3d2" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="legalami">
- <description>A Legacy for Alaric - The Magic Isle</description>
- <year>1989</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="legacy for alaric, a - the magic isle (1989)(zenobi).dsk" size="194816" crc="eee4511d" sha1="2c9509a694c1522b7654b7666ee340053d5ce275" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="lictokil">
- <description>Licence to Kill</description>
- <year>1989</year>
- <publisher>Domark</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="204544">
- <rom name="licence to kill (1989)(domark).dsk" size="204544" crc="a7c8a74a" sha1="ad18bc2d679b787d22b9f606a0064afb2fdd5fdb" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="lictokila" cloneof="lictokil">
- <description>Licence to Kill (alt)</description>
- <year>1989</year>
- <publisher>Domark</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="62976">
- <rom name="licence to kill (1989)(domark)[a].dsk" size="62976" crc="bffb147d" sha1="ac598ec517cdb0a87c0bffd9573b9bca794a6c24" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="lightcorsp" cloneof="lightcor">
- <description>The Light Corridor (Spa)</description>
- <year>1991</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="light corridor, the (1991)(erbe)(es)(en)[re-release].dsk" size="194816" crc="9b575adf" sha1="5022b6e27edcc1072fda6bc516652b09e11c9277" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="lightcorspa" cloneof="lightcor">
- <description>The Light Corridor (Spa) (alt)</description>
- <year>1991</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="light corridor, the (1991)(erbe)(es)(en)[a][re-release].dsk" size="194816" crc="fb7dbaf8" sha1="681888333e367e1673b6d1afad9d65880bb2125d" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="lightcora" cloneof="lightcor">
- <description>The Light Corridor (alt)</description>
- <year>1991</year>
- <publisher>Infogrames</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="125696">
- <rom name="light corridor, the (1991)(infogrames)(fr)(en)[aka light tunnel, the].dsk" size="125696" crc="92a595c8" sha1="e1b98eda358556ca198122da93588cfcf2529be0" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="lightcorb" cloneof="lightcor">
- <description>The Light Corridor (alt 2)</description>
- <year>1991</year>
- <publisher>Infogrames</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="light corridor, the (1991)(infogrames)(fr)(en)[a][aka light tunnel, the].dsk" size="194816" crc="34e92790" sha1="700e723d46527bf2b2e9ef777424bde9c61f8836" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="lightcorc" cloneof="lightcor">
- <description>The Light Corridor (alt 3)</description>
- <year>1991</year>
- <publisher>Infogrames</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="light corridor, the (1991)(infogrames)(fr)(en)[a2][aka light tunnel, the].dsk" size="194816" crc="68c833eb" sha1="4a44c1a6711a6312132aaab4653326bd3de4ee5c" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="lightmar">
- <description>Lightmare</description>
- <year>1989</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="lightmare (1989)(zenobi)[re-release].dsk" size="194816" crc="7fab0f98" sha1="6f75150a0a570d0b9f3685682f141068837507b0" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="litwangu">
- <description>Little Wandering Guru</description>
- <year>1990</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="little wandering guru (1990)(zenobi).dsk" size="194816" crc="d67fd30b" sha1="be5524083666238d46f6cfc63676e6257c0d3b38" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="liveandl">
- <description>Live and Let Die - The Computer Game</description>
- <year>1988</year>
- <publisher>Domark</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="live and let die - the computer game (1988)(domark)[aka aquablast].dsk" size="194816" crc="9f28c23c" sha1="ca5037c6e004907de9e20e9fee9f6fe1adba8539" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="lmidnghta" cloneof="lmidnght">
- <description>Loads of Midnight (alt)</description>
- <year>1987</year>
- <publisher>CRL Group</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="loads of midnight (1987)(crl group).dsk" size="194816" crc="6c184eee" sha1="16fc80fb50a860331e7688510a18859668d4e9e5" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="lonewolfa" cloneof="lonewolf">
- <description>Lone Wolf - The Mirror of Death (alt)</description>
- <year>1991</year>
- <publisher>Audiogenic Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="lone wolf - the mirror of death (1991)(audiogenic)[aka lone wolf 3].dsk" size="194816" crc="f3f5dfe2" sha1="6545eabf78d4dfda9381864c30680cd49d06fce0" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="looseend">
- <description>Loose Ends</description>
- <year>1995</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="loose ends (1995)(zenobi).dsk" size="194816" crc="ff20dd56" sha1="e700e95fd910e4d3879cad07d85785433da7fe78" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="lordsoch">
- <description>Lords of Chaos</description>
- <year>1990</year>
- <publisher>Blade</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="lords of chaos (1990)(blade).dsk" size="194816" crc="a53890ef" sha1="f62c1ea98f84544533ad9d9e7a887f1b7e1f2f41" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="lordsocha" cloneof="lordsoch">
- <description>Lords of Chaos (alt)</description>
- <year>1990</year>
- <publisher>Blade</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="lords of chaos (1990)(blade)[a].dsk" size="194816" crc="ffe27e16" sha1="522cb63098aad24516dd0e1d0acf8849f2db0a3c" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="losttwil">
- <description>The Lost Twilight</description>
- <year>1992</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="lost twilight, the (1992)(zenobi).dsk" size="194816" crc="30650533" sha1="8027860047eb4930e2fdf038d9afc0e292ab9f6b" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="lostinti">
- <description>Lost in Time</description>
- <year>1993</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="lost in time (1993)(zenobi).dsk" size="194816" crc="880e6526" sha1="024adaa12a5ec729a38a889369115c00197257f4" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="lotussp" cloneof="lotus">
- <description>Lotus Esprit Turbo Challenge (Spa)</description>
- <year>1990</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="199680">
- <rom name="lotus esprit turbo challenge (1990)(erbe)(es)(en)[re-release].dsk" size="199680" crc="f187be6b" sha1="da097b93b3f0b1e86b7842272a45afea4899e878" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="lotusa" cloneof="lotus">
- <description>Lotus Esprit Turbo Challenge (alt)</description>
- <year>1990</year>
- <publisher>Gremlin Graphics Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="199680">
- <rom name="lotus esprit turbo challenge (1990)(gremlin graphics).dsk" size="199680" crc="e923e142" sha1="ee13b432dfc4ed546e18404f6a87390904b05de9" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="mask3a" cloneof="mask3">
- <description>Mask III - Venom Strikes Back (alt)</description>
- <year>1988</year>
- <publisher>Gremlin Graphics Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="174848">
- <rom name="mask iii - venom strikes back (1988)(gremlin graphics).dsk" size="174848" crc="8b33e09b" sha1="91884a8317c4a1db2d06e7683f6e5d7ee93e68c2" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="madmix2">
- <description>Mad Mix 2 - en el Castillo de los Fantasmas</description>
- <year>1990</year>
- <publisher>Topo Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="121856">
- <rom name="mad mix 2 - en el castillo de los fantasmas (1990)(topo soft)(es).dsk" size="121856" crc="034ba62a" sha1="a1ddd069ab31d173f981617e86dfcddcc28d3ae5" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="madmix">
- <description>Mad Mix Game</description>
- <year>1988</year>
- <publisher>Topo Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="mad mix game (1988)(topo soft)(es).dsk" size="194816" crc="b358a0a4" sha1="438a6951c8ab4c02616541d0c977639b96d91fbd" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="magicfie">
- <description>Magic Fields</description>
- <year>1996</year>
- <publisher>Zack</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="magic fields (1996)(zack).dsk" size="194816" crc="d6bc3077" sha1="2446d53a8c23d50e9d904c4d990ec52cde33d805" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="magicjoh">
- <description>Magic Johnson's Basketball</description>
- <year>1990</year>
- <publisher>Dro Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="179968">
- <rom name="magic johnson's basketball (1990)(dro soft)(es).dsk" size="179968" crc="a2141eff" sha1="33acdfe75a0148d8fcc9322f1a922328b6851e7e" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="magnmoon">
- <description>Magnetic Moon</description>
- <year>1989</year>
- <publisher>FSF Adventures</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="magnetic moon (1989)(fsf adventures)(side a).dsk" size="194816" crc="e5549cb9" sha1="97f2db8c8f20e2b55fd6fa23d9ec3e14f3fa5bae" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="magnetic moon (1989)(fsf adventures)(side b).dsk" size="194816" crc="fcf49c0c" sha1="667d915e4bebb36a675b7ace30830d1d374c0c6a" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="manabtho">
- <description>Man About the House</description>
- <year>1994</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="195584">
- <rom name="man about the house (1994)(zenobi).dsk" size="195584" crc="228ce391" sha1="13c4903dcb060c867f5ecf4e47148e100e361891" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="manchunisp" cloneof="manchuni">
- <description>Manchester United (Spa)</description>
- <year>1990</year>
- <publisher>System 4</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="manchester united (1990)(system 4)(es)[re-release].dsk" size="194816" crc="820d22dd" sha1="8d0a38f4faf8367674eeb75fb1067220478877ae" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="manchuni">
- <description>Manchester United - The Official Computer Game</description>
- <year>1990</year>
- <publisher>Krisalis</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="manchester united - the official computer game (1990)(krisalis)(side a).dsk" size="194816" crc="136dfa7f" sha1="62dc94c188a7ffd69b8164eaacf341272c602dde" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="manchester united - the official computer game (1990)(krisalis)(side b).dsk" size="194816" crc="90f83d48" sha1="d61bbbdca571666fe87b70380791e6fba181b1e9" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="themappe">
- <description>The Mapper</description>
- <year>1992</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="mapper, the (1992)(zenobi).dsk" size="194816" crc="5a054203" sha1="1242f4424b6dafa9818a7a95260600a349525161" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="mastersa" cloneof="masters">
- <description>Masters of the Universe - The Movie (alt)</description>
- <year>1987</year>
- <publisher>Gremlin Graphics Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="174848">
- <rom name="masters of the universe - the movie (1987)(gremlin graphics).dsk" size="174848" crc="2f9a0bdb" sha1="e7c580e989076026cded8688e70e264ab36ece19" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="matchda2a" cloneof="matchda2">
- <description>Match Day II (alt)</description>
- <year>1987</year>
- <publisher>Ocean Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="214784">
- <rom name="match day ii (1987)(ocean).dsk" size="214784" crc="bf33c550" sha1="a07e166575814e59f3b4a95ea9617de6bec7525a" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="matchda2">
- <description>Match Day II</description>
- <year>1987</year>
- <publisher>Ocean Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="208384">
- <rom name="match day ii (1987)(ocean)[a].dsk" size="208384" crc="584f511d" sha1="50bf8521cc8b86af9d2307f0af6d2441707cf82e" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="matchotdtmd">
- <description>Match of the Day (tape master disk)</description>
- <year>1992</year>
- <publisher>Zeppelin Premier</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="match of the day (1992)(zeppelin premier)(side a)[tape master disk].dsk" size="194816" crc="3ae454c0" sha1="d760c1b13bcd87158243f24cdbccd323e8f541c5" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="match of the day (1992)(zeppelin premier)(side b)[tape master disk].dsk" size="194816" crc="974d8a03" sha1="a937cdf001322220fd906503fe8a686665a432a7" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="megaphx">
- <description>Mega Phoenix</description>
- <year>1991</year>
- <publisher>Dinamic Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="61952">
- <rom name="mega phoenix (1991)(dinamic)(es)(en).dsk" size="61952" crc="c0b40920" sha1="794b2904af91cb3cc9ab90b755d0585a5575db96" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="megatwin">
- <description>Mega Twins</description>
- <year>19??</year>
- <publisher>U.S. Gold</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="mega twins (19xx)(u.s. gold).dsk" size="194816" crc="bb36aa81" sha1="36dac0d2d5ad150374a2b96da4a1f919014842fe" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="megapocla" cloneof="megapocl">
- <description>MegaApocalypse (alt)</description>
- <year>1988</year>
- <publisher>Martech Games</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194560">
- <rom name="mega-apocalypse (1988)(martech games).dsk" size="194560" crc="09ab5dfb" sha1="55c1d99704a52620b8d3eef3dbb4fc6b64078b32" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="meltdown">
- <description>Meltdown</description>
- <year>1993</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="meltdown (1993)(zenobi).dsk" size="194816" crc="79e96439" sha1="67bfe6fe8124d9ab64c2c2eec27c663b1ba1a0fb" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="merctarg">
- <description>Mercenary - Escape from Targ</description>
- <year>1987</year>
- <publisher>Novagen</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="214784">
- <rom name="mercenary - escape from targ (1987)(novagen)[aka mercenary i].dsk" size="214784" crc="0cb15868" sha1="f26f5c17f52814380093ce9ebc04ebba57c12118" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="metropol">
- <description>Metropolis</description>
- <year>1989</year>
- <publisher>Topo Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="102400">
- <rom name="metropolis (1989)(topo soft)(es).dsk" size="102400" crc="313c2f98" sha1="b181ea90b8721341ff3bf1a02087ba15e5fc5cc3" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="mickeya" cloneof="mickey">
- <description>Mickey Mouse - The Computer Game (alt)</description>
- <year>1988</year>
- <publisher>Gremlin Graphics Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="174848">
- <rom name="mickey mouse - the computer game (1988)(gremlin graphics).dsk" size="174848" crc="7ffc722d" sha1="29a312a7d1c5a9bc90c6e747c05d6a28947a0b11" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
-<!-- Unknown if it comes from the "large case" or "small case" releases, or a different one -->
- <software name="micpsocc">
- <description>MicroProse Soccer</description>
- <year>1989</year>
- <publisher>MicroProse</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="204288">
- <rom name="microprose soccer (1989)(microprose)(side a).dsk" size="204288" crc="b680f0db" sha1="0fb565f33db3414c2ea6ac54465f32d65a445b3e" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="198400">
- <rom name="microprose soccer (1989)(microprose)(side b).dsk" size="198400" crc="282461f8" sha1="74c714f3959583861e54f0d4d173d3189d7b1f23" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="micpsoccl" cloneof="micpsocc">
- <description>MicroProse Soccer (large case release)</description>
- <year>1989</year>
- <publisher>MicroProse</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="198400">
- <rom name="microprose soccer (1989)(microprose)(side a)[large case].dsk" size="198400" crc="cc39b989" sha1="4331bf5eb6f92c7f3df08d90f035397f4cf9f4e5" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="198400">
- <rom name="microprose soccer (1989)(microprose)(side b)[large case].dsk" size="198400" crc="def0ef4c" sha1="8a20e82c15a92b2d4a961039473e750ec183565d" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="micpsoccs" cloneof="micpsocc">
- <description>MicroProse Soccer (small case release)</description>
- <year>1989</year>
- <publisher>MicroProse</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="199680">
- <rom name="microprose soccer (1989)(microprose)(side a)[small case].dsk" size="199680" crc="e8863f3d" sha1="c389a8c63fa1a5dd4fd7eea514b1c4462361b79f" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="microprose soccer (1989)(microprose)(side b)[small case].dsk" size="194816" crc="4270be41" sha1="98a2e1005deb05398fbd51697cf23ef568e3daa9" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="micpsoccsp" cloneof="micpsocc">
- <description>MicroProse Soccer (Spa)</description>
- <year>1990</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="126720">
- <rom name="microprose soccer (1990)(erbe)(es)(en)(side a).dsk" size="126720" crc="1a3db2c7" sha1="ad2406b5a85e4a3486ee349c81bc008a5a5cd880" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="126720">
- <rom name="microprose soccer (1990)(erbe)(es)(en)(side b).dsk" size="126720" crc="010d5914" sha1="52e77e6b35392cb055ba70513f335adaee061724" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="midressp" cloneof="midres">
- <description>Midnight Resistance (Spa)</description>
- <year>1990</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="155904">
- <rom name="midnight resistance (1990)(erbe)(es)(en)[re-release].dsk" size="155904" crc="f76b30d2" sha1="55c8124f6fc372eaae8c83d42a0dbfec8331aa23" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="midresa" cloneof="midres">
- <description>Midnight Resistance (alt)</description>
- <year>1990</year>
- <publisher>Ocean Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="midnight resistance (1990)(ocean).dsk" size="194816" crc="bebed342" sha1="ed5067b98d17085961e4079630f78a8cae1c2e6b" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="midresb" cloneof="midres">
- <description>Midnight Resistance (alt 2)</description>
- <year>1990</year>
- <publisher>Ocean Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="133120">
- <rom name="midnight resistance (1990)(ocean)[a].dsk" size="133120" crc="cd5e36f6" sha1="4264fe3752d41250bb506a4e55d05ee609fbe89b" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="midsumdd">
- <description>A Midsummer Days Dream</description>
- <year>1994</year>
- <publisher>The Adventure Workshop</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="midsummer days dream, a (1994)(adventure workshop, the)(side a).dsk" size="194816" crc="0186997c" sha1="cf81c30648dc1a4dfd9354543f4b4200d7655103" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="midsummer days dream, a (1994)(adventure workshop, the)(side b).dsk" size="194816" crc="258653a4" sha1="14f76b880678600ab0640320637f435c65687be3" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="mikegunn">
- <description>Mike Gunner</description>
- <year>1988</year>
- <publisher>Dinamic Software</publisher>
- <info name="usage" value="Requires Gun Stick lightgun"/>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="48128">
- <rom name="mike gunner (1988)(dinamic)(es).dsk" size="48128" crc="cd42d72c" sha1="1c3deadb5b1c773eb672785a4a3a9ddf0628a3fc" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="mineslit">
- <description>The Mines of Lithiad</description>
- <year>1992</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="mines of lithiad, the (1992)(zenobi).dsk" size="194816" crc="ef26827d" sha1="1d8816a4efb4110804144d6bc8c01e30f40e4a6d" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="themiser">
- <description>The Miser</description>
- <year>1990</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="miser, the (1990)(zenobi)[re-release].dsk" size="194816" crc="e6047e88" sha1="8a0ffb19d6d945069f1c81e2bed5d542d9f3242f" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="montypyta" cloneof="montypyt">
- <description>Monty Python's Flying Circus (alt)</description>
- <year>1990</year>
- <publisher>Virgin Games</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="444160">
- <rom name="monty python's flying circus (1990)(virgin games).dsk" size="444160" crc="65ef4491" sha1="8ca022b6217973f74088ce73e342d985170526f5" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="moonwalk">
- <description>Moonwalker</description>
- <year>1989</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="175360">
- <rom name="moonwalker (1989)(erbe)(es)(en)[re-release].dsk" size="175360" crc="39947fe4" sha1="101558c1c2d1eaa6cceb0e577ea5e592a9b5d77f" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="morta2sc">
- <description>Mortadelo y Filemon II - Safari Callejero</description>
- <year>1990</year>
- <publisher>Dro Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="136448">
- <rom name="mortadelo y filemon ii - safari callejero (1990)(dro soft)(es).dsk" size="136448" crc="d1ce653f" sha1="145f9f353caceb4b9d120825df518aad989c5358" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="mot">
- <description>Mot</description>
- <year>1989</year>
- <publisher>Opera Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="216064">
- <rom name="mot (1989)(opera soft)(es)(side a).dsk" size="216064" crc="38cb620e" sha1="ac1720562402058bec93bb1874f2ffb6a254a31d" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="216064">
- <rom name="mot (1989)(opera soft)(es)(en)(side b).dsk" size="216064" crc="1ce38009" sha1="6be5093a31679a9c9015f85a9e63dd677d78f6a5" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="motorbik">
- <description>Motorbike Madness</description>
- <year>1988</year>
- <publisher>Dro Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="87808">
- <rom name="motorbike madness (1988)(dro soft)(es)(en)[re-release].dsk" size="87808" crc="4046284a" sha1="20f002bcb06f6512bad05e21a968c46a512bfe17" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="mbikeractmdb" cloneof="mbikeractmd">
- <description>Mountain Bike Racer (tape master disk backup)</description>
- <year>1990</year>
- <publisher>Zeppelin Games</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="221696">
- <rom name="mountain bike racer (1990)(zeppelin games)(side a)[tape master disk backup].dsk" size="221696" crc="227c9919" sha1="5d1fcf6073631ccca5c56e971e419bd2d1a8fcd2" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="mbikeractmd">
- <description>Mountain Bike Racer (tape master disk)</description>
- <year>1990</year>
- <publisher>Zeppelin Games</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="221184">
- <rom name="mountain bike racer (1990)(zeppelin games)(side a)[tape master disk].dsk" size="221184" crc="f7d64c70" sha1="0c039a8292e5ce3c60c7f83b15e252ffe6e719aa" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="221184">
- <rom name="mountain bike racer (1990)(zeppelin games)(side b)[tape master disk].dsk" size="221184" crc="1617646c" sha1="d09be5ebcaa4f43650cf251a55ec334a1e319001" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="mrheli">
- <description>Mr. Heli</description>
- <year>1989</year>
- <publisher>Firebird Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="mr. heli (1989)(firebird).dsk" size="194816" crc="90d80eb1" sha1="b8564ca8d32e8148b8383c2d2438d82557f67d2b" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="mumcry21">
- <description>The Mummy's Crypt v2.1</description>
- <year>1992</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="mummy's crypt, the v2.1 (1992)(zenobi)[re-release].dsk" size="194816" crc="608ab573" sha1="9548ee0a3a2d4fb3f838bb8578fa817f1069da2b" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="themunch">
- <description>The Muncher Eats Chewits</description>
- <year>1988</year>
- <publisher>Gremlin Graphics Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="219136">
- <rom name="muncher eats chewits, the (1988)(gremlin graphics)[aka t-wrecks].dsk" size="219136" crc="270a56fa" sha1="783a340ffcc78cee07e51953272467302277e459" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="mufutbol">
- <description>Mundial de Futbol</description>
- <year>1990</year>
- <publisher>Opera Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="213760">
- <rom name="mundial de futbol (1990)(opera soft)(es).dsk" size="213760" crc="8e6822c8" sha1="5aad4dde6097f92818d54ff100a65032cbdba519" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="italia90sp" cloneof="italia90">
- <description>Mundial de Futbol Italia '90</description>
- <year>1989</year>
- <publisher>Dro Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="53760">
- <rom name="mundial de futbol italia '90 (1989)(dro soft)(es)(en)[aka italia '90 - world cup soccer][re-release].dsk" size="53760" crc="2f2383c2" sha1="ba167694d1a341e339d3943b477f5a48bca37a2c" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="italia90spa" cloneof="italia90">
- <description>Mundial de Futbol Italia '90 (alt)</description>
- <year>1989</year>
- <publisher>Dro Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="mundial de futbol italia '90 (1989)(dro soft)(es)(en)[a][aka italia '90 - world cup soccer][re-release].dsk" size="194816" crc="f1195dff" sha1="d5102712dede9536d154996e095d83afa0545c42" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="murdhesa">
- <description>Murder - He Said</description>
- <year>1993</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="murder - he said (1993)(zenobi).dsk" size="194816" crc="80b24b05" sha1="221d3290ca81d52fae54f265f33ba8d346265166" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="murdhunt">
- <description>Murder Hunt</description>
- <year>1989</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="murder hunt (1989)(zenobi)[re-release].dsk" size="194816" crc="ac1eb412" sha1="9ee6625ae921fab337c1b6ab840791ba9be75a66" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="murdhun2">
- <description>Murder Hunt II</description>
- <year>1992</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="murder hunt ii (1992)(zenobi).dsk" size="194816" crc="4e8c8f76" sha1="71d1d2a16d069072589ac7dc2017972495f0c4ff" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="mutiny">
- <description>Mutiny</description>
- <year>1995</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="mutiny (1995)(zenobi)(side a).dsk" size="194816" crc="c32b1aff" sha1="12c7d93106b97fbc49d36cc1bc2ef3b90dbe444f" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="mutiny (1995)(zenobi)(side b).dsk" size="194816" crc="84e125d1" sha1="84d95956eeadd16b9159082e32a611436a0f8ca4" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="mystical">
- <description>Mystical</description>
- <year>1991</year>
- <publisher>Infogrames</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="199680">
- <rom name="mystical (1991)(infogrames)(fr)(en).dsk" size="199680" crc="8484c2f3" sha1="52549d1ede9927f975725cdad0eba5a68585df19" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="narc">
- <description>NARC</description>
- <year>1990</year>
- <publisher>Ocean Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="472832">
- <rom name="narc (1990)(ocean)(side a).dsk" size="472832" crc="ab564c53" sha1="d6246df64708b1a16ce54f8705ae32ea5a1bb4ad" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="472832">
- <rom name="narc (1990)(ocean)(side b).dsk" size="472832" crc="407be166" sha1="7cb436ca6a45201b71a440316a6178589d910e64" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="narcopol">
- <description>Narco Police</description>
- <year>1990</year>
- <publisher>Dinamic Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="131584">
- <rom name="narco police (1990)(dinamic)(es)(en).dsk" size="131584" crc="732da12d" sha1="856417a7c4902b5a88398dadf8528aab4527880d" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
-<!-- Spanish version includes Army Moves as a bonus. -->
- <software name="navymovesp" cloneof="navymove">
- <description>Navy Moves (Spa)</description>
- <year>1988</year>
- <publisher>Dinamic Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="166400">
- <rom name="navy moves + army moves (1988)(dinamic)(es).dsk" size="166400" crc="ac230638" sha1="6eb9dd96efe181d0d9f09698501f5fb3f4d77a10" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="navymove">
- <description>Navy Moves</description>
- <year>1988</year>
- <publisher>The Hit Squad</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="112640">
- <rom name="navy moves (1988)(hit squad, the)[re-release].dsk" size="112640" crc="b7747a37" sha1="54d7af7ed62d747e3231325348d09a37b107806c" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="navyseal">
- <description>Navy SEALs</description>
- <year>1991</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="155904">
- <rom name="navy seals (1991)(erbe)(es)(en)(side a)[re-release].dsk" size="155904" crc="af3ffaf7" sha1="dbfdadcaecddfff4f33e2cc6edda386dc6e8a2d9" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="155904">
- <rom name="navy seals (1991)(erbe)(es)(en)(side b)[re-release].dsk" size="155904" crc="66e8d525" sha1="bb0330e4dddb1904623c6c38ad92f938167fad95" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="neighboumd" cloneof="neighbou">
- <description>Neighbours (master disk)</description>
- <year>1992</year>
- <publisher>Impulze</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="73216">
- <rom name="neighbours (1992)(impulze)(side a)[master disk].dsk" size="73216" crc="136cc7ba" sha1="8282e676c2241cfa273ae660e68b4fabb4b887e6" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <!-- Side B image shared with other master disks from Zeppelin Games. Verified at World of Spectrum. -->
- <dataarea name="flop" size="256">
- <rom name="zeppelin games master disk side b.dsk" size="256" crc="56947af2" sha1="40428c770d847a0fd1fd005b6cf1d03a34672d98" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="neighboutmd" cloneof="neighbou">
- <description>Neighbours (tape master disk)</description>
- <year>1992</year>
- <publisher>Impulze</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="neighbours (1992)(impulze)(side a)[tape master disk].dsk" size="194816" crc="df4c42dc" sha1="d776a6ff0f573df2495bf9c2d1d6f75a46265f96" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="neighbours (1992)(impulze)(side b)[tape master disk].dsk" size="194816" crc="8eeb6d63" sha1="2750a6253294cdfae673c9ca985d7f0afc7631be" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="neighbou">
- <description>Neighbours</description>
- <year>1992</year>
- <publisher>Impulze</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="73216">
- <rom name="neighbours (1992)(impulze).dsk" size="73216" crc="9f7cb361" sha1="e45a12a6c0a2f743cc972a4960cf049bc2ce6372" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
-<!-- Labeled in World of Spectrum as "(CheatVersion)(MasterDisk)", might come from the developers? -->
- <software name="neighbouch" cloneof="neighbou">
- <description>Neighbours (cheat version) (master disk)</description>
- <year>1992</year>
- <publisher>Impulze</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="neighbours (1992)(impulze)[t][master disk].dsk" size="194816" crc="02088631" sha1="8b786d01e28e05a2ce5650bcf66eca9c22c28f32" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="tnzssp" cloneof="tnzs">
- <description>The New Zealand Story (Spa)</description>
- <year>1989</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="68352">
- <rom name="new zealand story, the (1989)(erbe)(es)(en)(side a)[re-release].dsk" size="68352" crc="13a78210" sha1="902bd77d3f62893e625a50161a451a5c912c0d74" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="new zealand story, the (1989)(erbe)(es)(en)(side b)[re-release].dsk" size="194816" crc="979cf378" sha1="7b9930423248682b7153ccaa1d70112c6e0246bc" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="tnzs">
- <description>The New Zealand Story</description>
- <year>1989</year>
- <publisher>Ocean Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="62720">
- <rom name="new zealand story, the (1989)(ocean)(side a).dsk" size="62720" crc="3548a836" sha1="b854381b0fcbd37fa195e0bd9380ffd75465290e" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="new zealand story, the (1989)(ocean)(side b).dsk" size="194816" crc="a3fe1ef8" sha1="b75d300142fb523324ae3d2596ead775c715a52d" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="nigelman">
- <description>Nigel Mansell's Grand Prix</description>
- <year>1988</year>
- <publisher>Martech Games</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194560">
- <rom name="nigel mansell's grand prix (1988)(martech games).dsk" size="194560" crc="fb7f4a21" sha1="0100151048ec2379fbc108dec6cd43babeb3f659" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="nightbre">
- <description>Night Breed - The Action Game</description>
- <year>1990</year>
- <publisher>Ocean Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="389376">
- <rom name="night breed - the action game (1990)(ocean).dsk" size="389376" crc="8e6cd752" sha1="c4a2ff13a02ae7b6bbf3b2ff6a79b391c0198853" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="nighthun">
- <description>Night Hunter</description>
- <year>1990</year>
- <publisher>Ubi Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="night hunter (1990)(ubi soft)(fr)(en)(side a).dsk" size="194816" crc="b90f206d" sha1="36ce59aee1dc31968603e6a5303be13a711130d7" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="night hunter (1990)(ubi soft)(fr)(en)(side b).dsk" size="194816" crc="85b80971" sha1="84ef0e18d3ae67bf44a6886f5651f2ced0788b6d" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="nighraid">
- <description>Night Raider</description>
- <year>1988</year>
- <publisher>Gremlin Graphics Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="174848">
- <rom name="night raider (1988)(gremlin graphics).dsk" size="174848" crc="0d889fc6" sha1="bb06295dae9be9ebf460e170d3672351aaa83438" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="ninjawarsp" cloneof="ninjawar">
- <description>The Ninja Warriors (Spa)</description>
- <year>1990</year>
- <publisher>Dro Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="ninja warriors, the (1989)(dro soft)(es)(en)[re-release].dsk" size="194816" crc="55b8fd20" sha1="3379b6da9807c8077273f332318a41680818ceb9" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="normlame">
- <description>Norman's Lament</description>
- <year>1990</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="norman's lament (1990)(zenobi).dsk" size="194816" crc="5320aa7a" sha1="dd3a9d5b8fe0191ecc0374fc52dbec2cc1ee992a" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="northsou">
- <description>North &amp; South</description>
- <year>1991</year>
- <publisher>Infogrames</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="174848">
- <rom name="north &amp; south (1991)(infogrames)(fr)(m3)(side a)[aka norte y sur].dsk" size="174848" crc="a26c2515" sha1="3a5b97612eff5e949f274911e4a313221fe532f6" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="174336">
- <rom name="north &amp; south (1991)(infogrames)(fr)(m3)(side b)[aka norte y sur].dsk" size="174336" crc="55745fc0" sha1="c21b0d87bdb7214cf4627f75ef717018d35cd5a8" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="northsoua" cloneof="northsou">
- <description>North &amp; South (alt)</description>
- <year>1991</year>
- <publisher>Infogrames</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="174848">
- <rom name="north &amp; south (1991)(infogrames)(fr)(m3)(side a)[a][aka norte y sur].dsk" size="174848" crc="2fa550b1" sha1="bb6302a481d61b938041b2f3823f456ef51991d4" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="165632">
- <rom name="north &amp; south (1991)(infogrames)(fr)(m3)(side b)[a][aka norte y sur].dsk" size="165632" crc="69845996" sha1="2f6cacd8b595b415ceeb4fd928bb50e3d1dc76ec" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="northsoub" cloneof="northsou">
- <description>North &amp; South (alt 2)</description>
- <year>1991</year>
- <publisher>Infogrames</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="174848">
- <rom name="north &amp; south (1991)(infogrames)(fr)(m3)(side a)[a2][aka norte y sur].dsk" size="174848" crc="bdb9cfcd" sha1="04938fd4a3512a05ad7614c6da363ac6d7a8320a" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="174336">
- <rom name="north &amp; south (1991)(infogrames)(fr)(m3)(side b)[a2][aka norte y sur].dsk" size="174336" crc="7c18181c" sha1="ae0acb4abea3fb1bbe64473f72c00ad8bd31755e" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="northsouc" cloneof="northsou">
- <description>North &amp; South (alt 3)</description>
- <year>1991</year>
- <publisher>Infogrames</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="174848">
- <rom name="north &amp; south (1991)(infogrames)(fr)(m3)(side a)[a3][aka norte y sur].dsk" size="174848" crc="46c6efc2" sha1="aae910c6ae93cb000941b7906475a18507be7de4" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="165632">
- <rom name="north &amp; south (1991)(infogrames)(fr)(m3)(side b)[a3][aka norte y sur].dsk" size="165632" crc="7797a1bc" sha1="5637f4eb48731894d33c61f5d8cf79e7eae1ddf3" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="northstra" cloneof="northstr">
- <description>North Star (alt)</description>
- <year>1988</year>
- <publisher>Gremlin Graphics Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="174848">
- <rom name="north star (1988)(gremlin graphics).dsk" size="174848" crc="2472f3ba" sha1="0704862da03f1e09f822412f18fea05e74112239" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="northstrb" cloneof="northstr">
- <description>North Star (alt 2)</description>
- <year>1988</year>
- <publisher>Gremlin Graphics Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="162048">
- <rom name="north star (1988)(gremlin graphics)[a].dsk" size="162048" crc="17fe7830" sha1="0af689b80ddbc79a4c62c97b1dc7ee4918b54172" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="oblitersp" cloneof="obliter">
- <description>Obliterator (Spa)</description>
- <year>1989</year>
- <publisher>Dro Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="obliterator (1989)(dro soft)(es)(en)[re-release].dsk" size="194816" crc="4a40e00b" sha1="e4d2de260f26676a1cea16e1b4ac087b76966431" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="ooowomim">
- <description>One of our Wombats is Missing</description>
- <year>1990</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="one of our wombats is missing (1990)(zenobi)(side a).dsk" size="194816" crc="a8f1eef9" sha1="83aa1f75c73da8a95979d9fd06550e27fdccaff9" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="one of our wombats is missing (1990)(zenobi)(side b).dsk" size="194816" crc="36f2fe65" sha1="2e198f54d3a5cdbfe7cc3b49c727e5c572d14e8b" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="othundersp" cloneof="othunder">
- <description>Operation Thunderbolt (Spa)</description>
- <year>1989</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="48896">
- <rom name="operation thunderbolt (1989)(erbe)(es)(en)(side a)[re-release].dsk" size="48896" crc="92ab8927" sha1="f9761cb713bc47d226c2cfc138fea5e04eb49f19" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="operation thunderbolt (1989)(erbe)(es)(en)(side b)[re-release].dsk" size="194816" crc="e2b3b82c" sha1="d724ed13afcca95f92ca879225262743dd713cd4" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="othunder">
- <description>Operation Thunderbolt</description>
- <year>1989</year>
- <publisher>Ocean Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="128256">
- <rom name="operation thunderbolt (1989)(ocean)(side a).dsk" size="128256" crc="f2690887" sha1="e3773ce1320b978c7f643f2559257b09c44aa25a" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="operation thunderbolt (1989)(ocean)(side b).dsk" size="194816" crc="78bca289" sha1="858b349c190d975bc881116cbefaa11ac7214521" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="opwolfsp" cloneof="opwolf">
- <description>Operation Wolf (Spa)</description>
- <year>1988</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="operation wolf (1988)(erbe)(es)(en)[re-release].dsk" size="194816" crc="937ab39f" sha1="6d9bfdd66290b424300bdf57266a24d5e2b85750" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="opwolf">
- <description>Operation Wolf</description>
- <year>1988</year>
- <publisher>Ocean Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="operation wolf (1988)(ocean).dsk" size="194816" crc="8fb0ea8d" sha1="3fb8835bba7eeb68ff5ce3ab3dd950f7a33f71a6" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="opwolfa" cloneof="opwolf">
- <description>Operation Wolf (alt)</description>
- <year>1988</year>
- <publisher>Ocean Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="150272">
- <rom name="operation wolf (1988)(ocean)[a].dsk" size="150272" crc="79031b22" sha1="6c0cf20992922bf114f7a1a59c967a32c670fea1" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="opwolfb" cloneof="opwolf">
- <description>Operation Wolf (alt 2)</description>
- <year>1988</year>
- <publisher>Ocean Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="operation wolf (1988)(ocean)[a2].dsk" size="194816" crc="7c713a26" sha1="b971311ee8938b3c5bf2937fc4cac8a6dbfd0572" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="opprland">
- <description>The Oppressed Land</description>
- <year>1990</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="oppressed land, the (1990)(zenobi).dsk" size="194816" crc="784f03dc" sha1="fbbdf6f40860d13f6dbb0f3f88d1d04fda9c85dd" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="origamessp" cloneof="origames">
- <description>Oriental Games (Spa)</description>
- <year>1990</year>
- <publisher>MCM Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="73216">
- <rom name="oriental games (1990)(mcm)(es)(en)(side a)[re-release].dsk" size="73216" crc="34a1c47d" sha1="8f18f7df100b47cc238f9669cb841d2acbf8827b" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="121856">
- <rom name="oriental games (1990)(mcm)(es)(en)(side b)[re-release].dsk" size="121856" crc="7d9ae3f4" sha1="4418bcf7959d7c18a6f579c709c9f2f0150bfbc0" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="origames">
- <description>Oriental Games</description>
- <year>1990</year>
- <publisher>Micro Style</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="oriental games (1990)(micro style)(side a).dsk" size="194816" crc="5e5a0a57" sha1="2e138f9bb657ddf57db856502e495eb9ebe31f5e" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="oriental games (1990)(micro style)(side b).dsk" size="194816" crc="b128d8ca" sha1="a5e0d5fec27a6bedf237c94107f1dae4df026fa4" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outrun">
- <description>Out Run</description>
- <year>1987</year>
- <publisher>U.S. Gold</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="134144">
- <rom name="out run (1987)(u.s. gold)(side a).dsk" size="134144" crc="62666641" sha1="1dcfebd59440d4af1c1033d1cc5c7581f23c7239" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="155648">
- <rom name="out run (1987)(u.s. gold)(side b).dsk" size="155648" crc="28055b6c" sha1="68ec47293426f6f7afbc99c5eeddfe97e8870f82" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="ootlimel">
- <description>Out of the Limelight</description>
- <year>1992</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="out of the limelight (1992)(zenobi).dsk" size="194816" crc="af5dd72d" sha1="665105700b8b92575304ac6a0a7affeee3bbe072" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="overland">
- <description>Overlander</description>
- <year>1988</year>
- <publisher>Elite Systems</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="91136">
- <rom name="overlander (1988)(elite systems).dsk" size="91136" crc="d5d287ee" sha1="4839bd9d81f5c269cebd56c54ef7b012f8956591" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="overlandsp" cloneof="overland">
- <description>Overlander (Spa)</description>
- <year>1988</year>
- <publisher>MCM Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="overlander (1988)(mcm)(es)(en)[re-release].dsk" size="194816" crc="fd817c95" sha1="8fe3b288a4451eeea76aa0ec95200e9478e49a4c" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="p47thuna" cloneof="p47thun">
- <description>P-47 Thunderbolt (alt)</description>
- <year>1990</year>
- <publisher>Firebird Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="p-47 thunderbolt (1990)(firebird)[aka p-47 - the freedom fighter].dsk" size="194816" crc="ff20e266" sha1="85b1597808079780bca508d5ecb4cc950c168fe3" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="phmpegasa" cloneof="phmpegas">
- <description>P.H.M. Pegasus (alt)</description>
- <year>1988</year>
- <publisher>Electronic Arts</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="214784">
- <rom name="p.h.m. pegasus (1988)(electronic arts).dsk" size="214784" crc="9d937816" sha1="f800efee965cd349879697d5c2f7fc2980ce25b6" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="paclanda" cloneof="pacland">
- <description>Pac-Land (alt)</description>
- <year>1989</year>
- <publisher>Grandslam Entertainments - Quicksilva</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="92160">
- <rom name="pac-land (1989)(grandslam entertainments - quicksilva).dsk" size="92160" crc="c81f942c" sha1="7a10093852e05f8d34b6e312132efaadb56aab25" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="pacmania">
- <description>Pac-Mania</description>
+ <software name="pacmania" >
+ <description>Pac-Mania (Euro, Aus)</description>
<year>1988</year>
<publisher>Grandslam Entertainments</publisher>
<part name="flop1" interface="floppy_3">
<dataarea name="flop" size="195328">
- <rom name="pac-mania (1988)(grandslam).dsk" size="195328" crc="88f5506b" sha1="827c95935dd3a1dd919989fc6d7a0efa4e5aebc1" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="pangsp" cloneof="pang">
- <description>Pang (Spa)</description>
- <year>1990</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="pang (1990)(erbe)(es)(en)[re-release].dsk" size="194816" crc="8407042b" sha1="8cf020876ba5d66995fa5752dd6c036913135f23" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="panga" cloneof="pang">
- <description>Pang (alt)</description>
- <year>1990</year>
- <publisher>Ocean Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="173312">
- <rom name="pang (1990)(ocean).dsk" size="173312" crc="28b7f247" sha1="3ba6421683859545be99d43c06a1fb887a60f80f" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="paperbo2">
- <description>Paperboy 2</description>
- <year>1992</year>
- <publisher>Mindscape International</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="335301">
- <rom name="paperboy 2 (1992)(mindscape international)(side a).dsk" size="335301" crc="20db73bf" sha1="a37839752b9d449557a0227b4b246461dcb326ae" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="335301">
- <rom name="paperboy 2 (1992)(mindscape international)(side b).dsk" size="335301" crc="d66c3272" sha1="6ba906f203a7be38b9505a1fc45719e4a9124952" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="parisdak">
- <description>Paris-Dakar</description>
- <year>1988</year>
- <publisher>Zigurat Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="87808">
- <rom name="paris-dakar (1988)(zigurat)(es).dsk" size="87808" crc="2a06e40a" sha1="8d210174ddd8f21404943b7509f101edaa37b90b" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="passshta" cloneof="passsht">
- <description>Passing Shot (alt)</description>
- <year>1989</year>
- <publisher>Image Works</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="58624">
- <rom name="passing shot (1989)(image works).dsk" size="58624" crc="576d7ee4" sha1="73361708502067fc803afbfae66138bfbccd2f6c" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="passshtsp" cloneof="passsht">
- <description>Passing Shot (Spa)</description>
- <year>1989</year>
- <publisher>MCM Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="passing shot (1989)(mcm)(es)(en)[re-release].dsk" size="194816" crc="41e3ce91" sha1="ddcbdf011275f3d1dcb456f6208f7aec4a75e2b0" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="pawna" cloneof="pawn">
- <description>The Pawn v2.4 (alt)</description>
- <year>1987</year>
- <publisher>Rainbird Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="pawn, the v2.4 (1987)(rainbird).dsk" size="194816" crc="fdb74ece" sha1="3f96becbf552b207213bdabd950e6ea752b7d8ca" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="pawnb" cloneof="pawn">
- <description>The Pawn v2.4 (alt 2)</description>
- <year>1987</year>
- <publisher>Rainbird Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="pawn, the v2.4 (1987)(rainbird)[a].dsk" size="194816" crc="0790cc76" sha1="17cecc0a0c3c0fa4f081267b45db375e4fb3a3d5" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="powthein">
- <description>Pawns of War - The Infiltrator</description>
- <year>1989</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="pawns of war - the infiltrator (1989)(zenobi)[re-release].dsk" size="194816" crc="71814e63" sha1="7db46cb122021913544d9c483c2d78e3ba309298" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="pendlogr">
- <description>The Pendant of Logryn</description>
- <year>1989</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="pendant of logryn, the (1989)(zenobi)[re-release].dsk" size="194816" crc="1ac9391d" sha1="3b4a421e912e37b3c8f3d8f225e29ea339434c4f" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="lospajbk">
- <description>Pepe Carvalho en los Pajaros de Bangkok</description>
- <year>1988</year>
- <publisher>Dinamic Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="112640">
- <rom name="pepe carvalho en los pajaros de bangkok (1988)(dinamic)(es).dsk" size="112640" crc="eaf66708" sha1="5723b9cca75f13917254ba2efb720be6dc3843ad" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="pericode">
- <description>Perico Delgado Maillot Amarillo</description>
- <year>1989</year>
- <publisher>Topo Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="180224">
- <rom name="perico delgado maillot amarillo (1989)(topo soft)(es).dsk" size="180224" crc="5d389bba" sha1="0417ff3e50a06dbd6aae44067e5794ac96ad6908" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="perseus">
- <description>Perseus</description>
- <year>1993</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="perseus (1993)(zenobi).dsk" size="194816" crc="5f5a500c" sha1="1f58f7f143ff2cf659ed3a2921e153a2c7d8ee0a" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="pecompwi">
- <description>Personal Computer Whirled</description>
- <year>1992</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="personal computer whirled (1992)(zenobi)[re-release].dsk" size="194816" crc="4b45d4c9" sha1="496c79dee580d91b07edf3f5bb5dee5f3735e57a" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="phsagain">
- <description>Phantomas Saga - Infinity</description>
- <year>2006</year>
- <publisher>Computer Emuzone</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="phantomas saga - infinity (2006)(computer emuzone)(es)(en).dsk" size="194816" crc="624fd560" sha1="86258b926dd667690c1874a6b981374507195f03" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="phoenix">
- <description>Phoenix</description>
- <year>1991</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="phoenix (1991)(zenobi).dsk" size="194816" crc="3b1dcbab" sha1="262d3728db62851bbf7a95fc33f0f9993d1567f1" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="picknpil">
- <description>Pick 'n' Pile</description>
- <year>1991</year>
- <publisher>Ubi Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="pick 'n' pile (1991)(ubi soft)(fr)(en).dsk" size="194816" crc="0cec1fb9" sha1="e2e358a3fe590305db1e0a56da8faf92bb2f433e" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="pictionasp" cloneof="pictiona">
- <description>Pictionary - El juego en el que todos pintan</description>
- <year>1989</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="180224">
- <rom name="pictionary (1989)(erbe)(es)[re-release].dsk" size="180224" crc="6ad3cefb" sha1="299e4e31ae07102b2d84e1858d9346b1b38d2099" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="pictiona">
- <description>Pictionary - The Game of Quick Draw</description>
- <year>1989</year>
- <publisher>Domark</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="pictionary - the game of quick draw (1989)(domark).dsk" size="194816" crc="b1361a19" sha1="3c7ee3be8c1a5fab578c45b843c7d2777fd07606" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="pipmaniaa" cloneof="pipmania">
- <description>Pipe Mania (alt)</description>
- <year>1990</year>
- <publisher>Empire</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="pipe mania (1990)(empire).dsk" size="194816" crc="456edf8c" sha1="1b93a1c85477b9e482832d0230743ac23dfe90ce" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="pitfight">
- <description>Pit-Fighter</description>
- <year>1991</year>
- <publisher>Domark</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="pit-fighter (1991)(domark)(side a).dsk" size="194816" crc="0b27c5a6" sha1="41a26bff3de33bc4f8eb0b43d7d4bd831e02132f" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="pit-fighter (1991)(domark)(side b).dsk" size="194816" crc="52116688" sha1="e8846ae680bf112f0f38f4e54f9a984a0f666686" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="platoona" cloneof="platoon">
- <description>Platoon (alt)</description>
- <year>1988</year>
- <publisher>Ocean Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="131072">
- <rom name="platoon (1988)(ocean).dsk" size="131072" crc="45dc4898" sha1="a19824ab2b59ab29d31d6cb56851e0bcc3c4138b" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="predatr2a" cloneof="predatr2">
- <description>Predator 2 (alt)</description>
- <year>1991</year>
- <publisher>Image Works</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="predator 2 (1991)(image works).dsk" size="194816" crc="19a74e60" sha1="94759fbcba4baf9004ebf5ca72d2781437fb68a0" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="prelmont">
- <description>Preliminary Monty</description>
- <year>2009</year>
- <publisher>&lt;homebrew&gt;</publisher>
- <info name="author" value="Andrew Zhiglov"/>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="preliminary monty (2009)(zhiglov, andrew)(ru)(en).dsk" size="194816" crc="faa053d9" sha1="33877c4547f4d661e3facd5c055af1a909374978" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="prisoner">
- <description>The Prisoner</description>
- <year>2014</year>
- <publisher>Commodore Plus</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="prisoner, the (2014)(commodore plus)(es)(en)[aka prisionero, el].dsk" size="194816" crc="7aa50408" sha1="1c8fe7bd7f4baf63db2e68818460979b55602a30" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="protenntsp" cloneof="protennt">
- <description>Pro Tennis Tour (Spa)</description>
- <year>1990</year>
- <publisher>MCM Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="63488">
- <rom name="pro tennis tour (1990)(mcm)(es)(en)[re-release].dsk" size="63488" crc="3cc76873" sha1="ac0fd453b2f00ef63477a25a43bd482a65b8cb84" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="protennta" cloneof="protennt">
- <description>Pro Tennis Tour (alt)</description>
- <year>1990</year>
- <publisher>Ubi Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="pro tennis tour (1990)(ubi soft)(fr)(en).dsk" size="194816" crc="2f11c3bd" sha1="631823abc8cfaa684f855d697998b06c46f1893a" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="prohibit">
- <description>Prohibition</description>
- <year>1987</year>
- <publisher>Zafi Chip</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="prohibition (1987)(zafi chip)(es)(en)[re-release].dsk" size="194816" crc="53a85112" sha1="bb2ed61464d1ccf7eb239988cbe7992b3387e37f" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="projnova">
- <description>Project Nova</description>
- <year>1987</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="project nova (1987)(zenobi)[re-release].dsk" size="194816" crc="430d1985" sha1="c065c33b861fd4882569407ae27b50c22784ab0e" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="pstfight">
- <description>Project Stealth Fighter</description>
- <year>1990</year>
- <publisher>MicroProse</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="project stealth fighter (1990)(microprose)(side a)[aka f-19 stealth fighter].dsk" size="194816" crc="48cda235" sha1="a5b23c6d9654dbf9f090b388788306d3e50b63df" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="project stealth fighter (1990)(microprose)(side b)[aka f-19 stealth fighter].dsk" size="194816" crc="766d3231" sha1="2e98cc257873737dbd0d43d885bd5118725646b0" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="purpsatd">
- <description>Purple Saturn Day</description>
- <year>1989</year>
- <publisher>Exxos</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="purple saturn day (1989)(exxos)(fr)(en).dsk" size="194816" crc="5f9d4dc6" sha1="063c53a541630bf27ab6c9a06bed7c6741490c18" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="q10tankb">
- <description>Q10 Tank Buster (master disk)</description>
- <year>1992</year>
- <publisher>Zeppelin Games</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="q10 tank buster (1992)(zeppelin games)(side a)[master disk].dsk" size="194816" crc="5c99ad82" sha1="9c68045ea57f4576e1676b39db2d3a8e6ff7f841" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="q10 tank buster (1992)(zeppelin games)(side b).dsk" size="194816" crc="0986135e" sha1="4f773cf7d97657c88535c5a445872064752c3bb3" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="qholysmt">
- <description>Quest for the Holy Something</description>
- <year>1992</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="quest for the holy something (1992)(zenobi).dsk" size="194816" crc="966cab79" sha1="c9d0e3a2c98c89251ad0bde5a6a1a60d5401bbf0" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="qoscrupa" cloneof="qoscrup">
- <description>A Question of Scruples - The Computer Edition (alt)</description>
- <year>1987</year>
- <publisher>Leisure Genius</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194560">
- <rom name="question of scruples - the computer edition, a (1987)(leisure genius).dsk" size="194560" crc="32d4e533" sha1="8b36ccbf3a87bca7aee778d4e17a32e519888cea" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="qosa" cloneof="qos">
- <description>A Question of Sport (alt)</description>
- <year>1989</year>
- <publisher>Elite Systems</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="question of sport, a (1989)(elite systems).dsk" size="194816" crc="87726a94" sha1="d9998e11c5a578d9994447ca3251731e69b88966" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="ram">
- <description>R.A.M.</description>
- <year>1990</year>
- <publisher>Topo Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="92672">
- <rom name="r.a.m. (1990)(topo soft)(es).dsk" size="92672" crc="7f9d37fa" sha1="5a14290edb30eb365a3e500926a186cd948755c1" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="rbibb2a" cloneof="rbibb2">
- <description>R.B.I. 2 Baseball (alt)</description>
- <year>1991</year>
- <publisher>Domark</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="r.b.i. 2 baseball (1991)(domark).dsk" size="194816" crc="5c77dc45" sha1="088df7f83b465e851b5cf18fc6deaefaeebc1a14" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="radioman">
- <description>Radiomania</description>
- <year>1991</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="radiomania (1991)(zenobi).dsk" size="194816" crc="74edb005" sha1="7226284e7a66c8ed8290046b0e44a0f3ffb89281" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="railstom">
- <description>Raiders of the Lost Tomb</description>
- <year>1995</year>
- <publisher>The Adventure Workshop</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="raiders of the lost tomb (1995)(adventure workshop, the)(side a).dsk" size="194816" crc="13a48640" sha1="32590e55e3f99add1edb23a4fc24880093ee529e" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="raiders of the lost tomb (1995)(adventure workshop, the)(side b).dsk" size="194816" crc="7718f843" sha1="a89c1aebde5631e933982967d194cd1b08af30df" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="rbislanda" cloneof="rbisland">
- <description>Rainbow Islands (alt)</description>
- <year>1990</year>
- <publisher>Ocean Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="175360">
- <rom name="rainbow islands - the story of bubble bobble 2 (1990)(ocean).dsk" size="175360" crc="8409c9ed" sha1="db9bf5bd455ac679142d5727226e9685aeebb1f5" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="redheatsp" cloneof="redheat">
- <description>Red Heat (Spa)</description>
- <year>1989</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="175360">
- <rom name="red heat (1989)(erbe)(es)(en)[re-release].dsk" size="175360" crc="59b14ef2" sha1="19fccf544fb00c9767c8472684d936effa76fca6" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="redheat">
- <description>Red Heat</description>
- <year>1989</year>
- <publisher>Ocean Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="157184">
- <rom name="red heat (1989)(ocean).dsk" size="157184" crc="2be37cbe" sha1="75c53860247c0af7c81337519f25f84ed8700dd2" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="bttf3sp" cloneof="bttf3">
- <description>Regreso al Futuro - Parte III</description>
- <year>1991</year>
- <publisher>MCM Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="regreso al futuro - parte iii (1991)(mcm)(es)(en)(side a)[aka back to the future part 3][re-release].dsk" size="194816" crc="bc1c6dc0" sha1="d34c63ea589953cb689c5ca47b0433e91e68ec0a" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="regreso al futuro - parte iii (1991)(mcm)(es)(en)(side b)[aka back to the future part 3][re-release].dsk" size="194816" crc="87ddb7cf" sha1="3c6e9e3524baacb4c34666ae89dd9124b0ee055a" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="renegadea" cloneof="renegade">
- <description>Renegade (alt)</description>
- <year>1987</year>
- <publisher>Imagine Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="renegade (1987)(imagine).dsk" size="194816" crc="9414eedd" sha1="ea6ba8c9f8db52cd827cfbe7cb576cf746865de9" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="renegadeb" cloneof="renegade">
- <description>Renegade (alt 2)</description>
- <year>1987</year>
- <publisher>Imagine Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="renegade (1987)(imagine)[a].dsk" size="194816" crc="bddac6b2" sha1="c4311ea7f5ee36a6b112299aaae107e4855adad9" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
-<!-- This is the dump from World of Spectrum -->
- <software name="rescatla">
- <description>Rescate Atlantida</description>
- <year>1989</year>
- <publisher>Dinamic Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="150272">
- <rom name="rescate atlantida (1989)(dinamic)(es)(en)(side a).dsk" size="150272" crc="2bbc9650" sha1="9b7d423d415a9535958da60ec26624f89bc3563c" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="166400">
- <rom name="rescate atlantida (1989)(dinamic)(es)(en)(side b).dsk" size="166400" crc="a7d4f505" sha1="9d2ede9cb0ba5c96e6967a9df42425e55099fc06" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="rescatlaa" cloneof="rescatla">
- <description>Rescate Atlantida (alt)</description>
- <year>1989</year>
- <publisher>Dinamic Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="214784">
- <rom name="rescate atlantida (1989)(dinamic)(es).dsk" size="214784" crc="176a12e4" sha1="4c71b572b282007732fb6a4ff617369c68f8c1ab" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="rescatlab" cloneof="rescatla">
- <description>Rescate Atlantida (alt 2)</description>
- <year>1989</year>
- <publisher>Dinamic Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="214784">
- <rom name="rescate atlantida (1989)(dinamic)(es)[a].dsk" size="214784" crc="b259c19e" sha1="1dda1d59b8fafa91ca3fe15df6f5aada24d85cd5" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="jedia" cloneof="jedi">
- <description>Star Wars - Return of the Jedi (alt)</description>
- <year>1989</year>
- <publisher>Domark</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="return of the jedi (1989)(domark).dsk" size="194816" crc="93e39844" sha1="95118a8cdc853521c39085950838aceaf48d35f2" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="jedisp" cloneof="jedi">
- <description>Star Wars - Return of the Jedi (Spa)</description>
- <year>1989</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="68352">
- <rom name="return of the jedi (1989)(erbe)(es)(en)[re-release].dsk" size="68352" crc="c0f1f626" sha1="f4cb6a5bd15f7e6c3b35678f2da31b9a332d11b1" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="jedispa" cloneof="jedi">
- <description>Star Wars - Return of the Jedi (Spa) (alt)</description>
- <year>1989</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="136448">
- <rom name="return of the jedi (1989)(erbe)(es)(en)[a][re-release].dsk" size="136448" crc="c5cdb566" sha1="6befbc050becec8e084b1dec01d1c59487192cd0" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="rexa" cloneof="rex">
- <description>Rex (alt)</description>
- <year>1988</year>
- <publisher>Martech Games</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="rex (1988)(martech games)[aka zenith].dsk" size="194816" crc="fada783b" sha1="75a4ec59bfe5ea598267d8f6ac38453129169f3b" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="rhymecry">
- <description>Rhyme Cryme</description>
- <year>1995</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="rhyme cryme (1995)(zenobi)(side a).dsk" size="194816" crc="fcf41521" sha1="b5ff68d6bf063514903af931027a783b762ed56e" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="rhyme cryme (1995)(zenobi)(side b).dsk" size="194816" crc="b14e9e7b" sha1="418f1bb000e950bc6c265dbd7133a8f88af27e8d" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="rickdang">
- <description>Rick Dangerous</description>
- <year>1989</year>
- <publisher>Firebird Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="rick dangerous (1989)(firebird).dsk" size="194816" crc="23a903d9" sha1="4d216ea0e695d7cc931dd4cd6f5cc64350d20450" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="rickdan2">
- <description>Rick Dangerous 2</description>
- <year>1990</year>
- <publisher>Micro Style</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="220160">
- <rom name="rick dangerous 2 (1990)(micro style).dsk" size="220160" crc="2d5aa66b" sha1="25a971a7363961787a8a4d1611142fac5a0c1e3e" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="riptoff">
- <description>Riptoff</description>
- <year>1991</year>
- <publisher>Your Sinclair</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="riptoff (1991)(your sinclair).dsk" size="194816" crc="7578aac8" sha1="40c401f368c9cce742139e40d33dfaf45bc50a94" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="roadblstsp" cloneof="roadblst">
- <description>Road Blasters (Spa)</description>
- <year>1988</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="214784">
- <rom name="road blasters (1988)(erbe)(es)(en)[re-release].dsk" size="214784" crc="5966a1bc" sha1="59df737d0dd64fe5c8a6973b1c88efca1892f80a" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="roadblsta" cloneof="roadblst">
- <description>Road Blasters (alt)</description>
- <year>1988</year>
- <publisher>U.S. Gold</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="214784">
- <rom name="road blasters (1988)(u.s. gold).dsk" size="214784" crc="012de59c" sha1="5fe7f856e85b63f4628f741b92f85ac81541ea82" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="robocop">
- <description>Robocop</description>
- <year>1988</year>
- <publisher>Ocean Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="134144">
- <rom name="robocop (1988)(ocean).dsk" size="134144" crc="545558f7" sha1="ad1e7ed55d62d8eec7bae80904f73be7f5ffd59e" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="robocopa" cloneof="robocop">
- <description>Robocop (alt)</description>
- <year>1988</year>
- <publisher>Ocean Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="128768">
- <rom name="robocop (1988)(ocean)[a].dsk" size="128768" crc="c3218b5c" sha1="f56181f60553f4ac00631f8720b713bd42490a85" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="robocop2sp" cloneof="robocop2">
- <description>Robocop 2 (Spa)</description>
- <year>1990</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="160768">
- <rom name="robocop 2 (1990)(erbe)(es)(en)[re-release].dsk" size="160768" crc="93b27353" sha1="78047deee2d869dbe4554617e385aa2c0998ac48" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="robocop2a" cloneof="robocop2">
- <description>Robocop 2 (alt)</description>
- <year>1990</year>
- <publisher>Ocean Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="225536">
- <rom name="robocop 2 (1990)(ocean).dsk" size="225536" crc="afa8626e" sha1="eaf866424fa3d2b0ea006a970d3fd475147040ac" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="robocop2b" cloneof="robocop2">
- <description>Robocop 2 (alt 2)</description>
- <year>1990</year>
- <publisher>Ocean Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="225536">
- <rom name="robocop 2 (1990)(ocean)[a].dsk" size="225536" crc="d3298f36" sha1="e7815e2062f98883759629dd4a0cda36862f1961" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="rocknrol">
- <description>Rock 'n Roll</description>
- <year>1989</year>
- <publisher>Rainbow Arts</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="rock 'n roll (1989)(rainbow arts)(side a).dsk" size="194816" crc="8e00a1a0" sha1="378a77e1e653679e97a16245342c6a0cfd76560e" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="rock 'n roll (1989)(rainbow arts)(side b).dsk" size="194816" crc="9c629673" sha1="d6135a003ada344ad6572f4b4a2f3b7fa6c0fc3f" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="rthundera" cloneof="rthunder">
- <description>Rolling Thunder (alt)</description>
- <year>1988</year>
- <publisher>U.S. Gold</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="rolling thunder (1988)(u.s. gold).dsk" size="194816" crc="075e555b" sha1="712dc41dbcaa62314e8fdbd2718569f1fa96e379" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="roundbnd">
- <description>Round the Bend</description>
- <year>1991</year>
- <publisher>Impulze</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="68352">
- <rom name="round the bend (1991)(impulze)[aka doc croc's outrageous adventures].dsk" size="68352" crc="f5494d4b" sha1="c670a0b723682b6de7ca7f89edcb85680ad5f2a4" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="roundbndmdb" cloneof="roundbnd">
- <description>Round the Bend (master disk backup)</description>
- <year>1991</year>
- <publisher>Impulze</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="round the bend (1991)(impulze)(side a)[aka doc croc's outrageous adventures][master disk backup].dsk" size="194816" crc="d6abbdf3" sha1="f6197df7e325b3390be71980939715d04dbd056f" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <!-- Side B file shared with master disk. Verified at World of Spectrum. -->
- <dataarea name="flop" size="194816">
- <rom name="round the bend (1991)(impulze)(side b)[aka doc croc's outrageous adventures][master disk backup].dsk" size="194816" crc="3f369cfe" sha1="3f2948425c21742c2d88ca658490488f642bad5e" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="roundbndmd" cloneof="roundbnd">
- <description>Round the Bend (master disk)</description>
- <year>1991</year>
- <publisher>Impulze</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="68352">
- <rom name="round the bend (1991)(impulze)(side a)[aka doc croc's outrageous adventures][master disk].dsk" size="68352" crc="ed9c3df8" sha1="f02ea8a83b173233071d7401fab9b44a272cfd8c" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="round the bend (1991)(impulze)(side b)[aka doc croc's outrageous adventures][master disk backup].dsk" size="194816" crc="3f369cfe" sha1="3f2948425c21742c2d88ca658490488f642bad5e" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="rungaunta" cloneof="rungaunt">
- <description>Run the Gauntlet (alt)</description>
- <year>1989</year>
- <publisher>Ocean Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="174848">
- <rom name="run the gauntlet (1989)(ocean).dsk" size="174848" crc="908cd12d" sha1="bc74b1f45b05e3e5a0f93e186aeb9e938d469d0f" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="runbronw">
- <description>Run, Bronwynn, Run</description>
- <year>1992</year>
- <publisher>FSF Adventures</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="run, bronwynn, run (1992)(fsf adventures).dsk" size="194816" crc="d1315cea" sha1="22ad24cd7199bfcde0ec5ba7984c6fa2650b94c8" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="runngman">
- <description>The Running Man</description>
- <year>1989</year>
- <publisher>MCM Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="160768">
- <rom name="running man, the (1989)(mcm)(es)(en)[re-release].dsk" size="160768" crc="502e531a" sha1="ca50672595b1f8da4ba1b614d761039b42b90f3a" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="stunrunn">
- <description>S.T.U.N. Runner</description>
- <year>1990</year>
- <publisher>Domark</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="215296">
- <rom name="s.t.u.n. runner (1990)(domark).dsk" size="215296" crc="0feddfe9" sha1="8d3289f150cecc9d7c4e5c02c1e94be3c11376c6" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="saboteu2">
- <description>Saboteur II - Avenging Angel</description>
- <year>1987</year>
- <publisher>Durell Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="saboteur ii - avenging angel (1987)(durell)[h alex rider, 2015][tr pl][speed-up version].dsk" size="194816" crc="4c9b8d3d" sha1="7ed014dadff63cedd9ea6744793b76af8782611b" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="saintgrva" cloneof="saintgrv">
- <description>Saint &amp; Greavsie (alt)</description>
- <year>1989</year>
- <publisher>Grandslam Entertainments</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="220160">
- <rom name="saint and greavsie (1989)(grandslam).dsk" size="220160" crc="5152c80b" sha1="5175ce4e09020f840dddd7da345b9c0b4eb30af6" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="salamand">
- <description>Salamander</description>
- <year>1987</year>
- <publisher>Imagine Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="70656">
- <rom name="salamander (1987)(imagine)[re-release].dsk" size="70656" crc="62bfd974" sha1="fc4bc578c463f58a023c716f7df679afb8cb253e" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="usagiyoj">
- <description>Samurai Warrior - The Battles of... Usagi Yojimbo</description>
- <year>1988</year>
- <publisher>Firebird Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="73216">
- <rom name="samurai warrior - the battles of... usagi yojimbo (1988)(firebird)[aka battle of... usagi yojimbo, the].dsk" size="73216" crc="fa8df0ac" sha1="ef854f176c30934d1309982322f983194ae60153" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="santxmca">
- <description>Santa's Xmas Caper (tape master disk)</description>
- <year>1991</year>
- <publisher>Zeppelin Games</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="santa's xmas caper (1991)(zeppelin games)(side a)[aka santa's christmas capers][aka you are santa claus][tape master disk].dsk" size="194816" crc="ac72f16b" sha1="1ee2388ecb420b4900006eb0583f9fb3805e5bf1" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <!-- Side B image shared with other master disks from Zeppelin Games. Verified at World of Spectrum. -->
- <dataarea name="flop" size="256">
- <rom name="zeppelin games master disk side b.dsk" size="256" crc="56947af2" sha1="40428c770d847a0fd1fd005b6cf1d03a34672d98" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="satan">
- <description>Satan</description>
- <year>1989</year>
- <publisher>Dinamic Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="107264">
- <rom name="satan (1989)(dinamic)(es).dsk" size="107264" crc="82642bef" sha1="344dd36d44076d079d8a62b678a8f4139a274526" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="scapegho">
- <description>Scapeghost</description>
- <year>1989</year>
- <publisher>Level 9 Computing</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="scapeghost (1989)(level 9 computing)(side a)[aka spook].dsk" size="194816" crc="49303a17" sha1="9d8c1d37dee5df439a8945dc087fbc9082a4269c" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="scapeghost (1989)(level 9 computing)(side b)[aka spook].dsk" size="194816" crc="497b537b" sha1="f75eb772cc5d27177ab4e8a50b0c66a71c8da497" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="scapeghoa" cloneof="scapegho">
- <description>Scapeghost (alt)</description>
- <year>1989</year>
- <publisher>Level 9 Computing</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="scapeghost (1989)(level 9 computing)(side a)[a][aka spook].dsk" size="194816" crc="1d10fcd4" sha1="221bf55fe048ef70dfb6b0a9e3c9bda2b04ab078" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="scapeghost (1989)(level 9 computing)(side b)[a][aka spook].dsk" size="194816" crc="c464a1e9" sha1="baf17b2ebba89cbb29af430be2399c05f03d4ad3" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="scrabdxa" cloneof="scrabdx">
- <description>Scrabble Deluxe (alt)</description>
- <year>1987</year>
- <publisher>Leisure Genius</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194560">
- <rom name="scrabble deluxe (1987)(leisure genius)[aka deluxe computer scrabble].dsk" size="194560" crc="3033f933" sha1="8ec1cf29e28980f7943feee4f64e3a0635d56eb4" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="sspirits">
- <description>Scramble Spirits</description>
- <year>1990</year>
- <publisher>Grandslam Entertainments</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="scramble spirits (1990)(grandslam).dsk" size="194816" crc="28617137" sha1="b1898340c7eadb2bf29417aaf8006792277c09f8" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="seasorce">
- <description>Seaside Sorcery</description>
- <year>1997</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="seaside sorcery (1997)(zenobi).dsk" size="194816" crc="f58ff9dc" sha1="5ad5d43bfb5c7ec4e763a03317c85698e889b905" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="sendasal">
- <description>Senda Salvaje</description>
- <year>1990</year>
- <publisher>Zigurat Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="102400">
- <rom name="senda salvaje (1990)(zigurat)(es).dsk" size="102400" crc="54f0d03f" sha1="a334fc0d768554e29e678017d90cff53adba1ab6" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="sentinel">
- <description>The Sentinel</description>
- <year>1987</year>
- <publisher>Firebird Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="78080">
- <rom name="sentinel, the (1987)(firebird).dsk" size="78080" crc="5665c629" sha1="d03ca9d8dd2fca34aa174edccf17eda12d202409" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="serptale">
- <description>A Serpentine Tale</description>
- <year>1993</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="serpentine tale, a (1993)(zenobi)[re-release].dsk" size="194816" crc="bd0e89f2" sha1="7af072b5755b119ec22141ed4ab10ac0c54cc52e" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="setotaisde" cloneof="setotais">
- <description>Seto Taisho vs Yokai (German, Spanish)</description>
- <year>2016</year>
- <publisher>Alessandro Grussu</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="seto taisho vs yokai (2016-02-29)(grussu, alessandro)(de-es).dsk" size="194816" crc="c1ebd473" sha1="4c32c7b87911b5ba209cc4c48083d2e157a582be" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="setotais">
- <description>Seto Taisho vs Yokai (English, Italian)</description>
- <year>2016</year>
- <publisher>Alessandro Grussu</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="seto taisho vs yokai (2016-02-29)(grussu, alessandro)(en-it).dsk" size="194816" crc="12d6499a" sha1="1ed7e33084dfcdde9870c623de2f30795cedc5f7" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="setotaisfr" cloneof="setotais">
- <description>Seto Taisho vs Yokai (French, Portuguese)</description>
- <year>2016</year>
- <publisher>Alessandro Grussu</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="seto taisho vs yokai (2016-02-29)(grussu, alessandro)(fr-pt).dsk" size="194816" crc="6d28e331" sha1="d5650a8fdd2fee7e54cfce32ad8301561aebdf57" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="shackled">
- <description>Shackled</description>
- <year>1988</year>
- <publisher>U.S. Gold</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="shackled (1988)(u.s. gold).dsk" size="194816" crc="27f51075" sha1="e14b0956f3d4f5981295266b0ed80a8d3fa739f4" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="shdancer">
- <description>Shadow Dancer</description>
- <year>1991</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="165632">
- <rom name="shadow dancer (1991)(erbe)(es)(en)(side a)[re-release].dsk" size="165632" crc="39313626" sha1="3ae6a7e3f074a7d582cdc7df93268b7065fcaa1e" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="shadow dancer (1991)(erbe)(es)(en)(side b)[re-release].dsk" size="194816" crc="ead87fd5" sha1="13c74b2352c19f646b64445b347cfc0b6e88805d" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="shadoww">
- <description>Shadow Warriors</description>
- <year>1990</year>
- <publisher>Ocean Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="208640">
- <rom name="shadow warriors (1990)(ocean).dsk" size="208640" crc="4d0a3727" sha1="ae8c3160465f6b021355fa83997ae2a90c0ef649" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="sotbeastsp" cloneof="sotbeast">
- <description>Shadow of the Beast (Spa)</description>
- <year>1990</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="44288">
- <rom name="shadow of the beast (1990)(erbe)(es)(en)(side a)[re-release].dsk" size="44288" crc="d6617fdb" sha1="fcfc943a3dabcc00e235ab34ca44a688940ddb43" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="153088">
- <rom name="shadow of the beast (1990)(erbe)(es)(en)(side b)[re-release].dsk" size="153088" crc="80f74e58" sha1="96ebf96237d41f8d2efa3c06e4dc26d62281416f" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="sotbeast">
- <description>Shadow of the Beast</description>
- <year>1990</year>
- <publisher>Gremlin Graphics Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="174848">
- <rom name="shadow of the beast (1990)(gremlin graphics)(side a).dsk" size="174848" crc="5078cdbf" sha1="0a9685669cab7d1d41646e945c8db250d5933b4b" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="174848">
- <rom name="shadow of the beast (1990)(gremlin graphics)(side b).dsk" size="174848" crc="c36997da" sha1="a215b923a0150d21a889105a820f20ff356bbab3" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="shardino">
- <description>Shard of Inovar</description>
- <year>1987</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="shard of inovar (1987)(zenobi)[re-release].dsk" size="194816" crc="517d327c" sha1="284702077cee0618f6eae705557a290717b9bd5e" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="sharkmol">
- <description>Sharkey's Moll (tape master disk)</description>
- <year>1991</year>
- <publisher>Zeppelin Games</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="sharkey's moll (1991)(zeppelin games)(side a)[aka operation shark][tape master disk].dsk" size="194816" crc="3d17527f" sha1="dc6973e0318a484b75c424c6221e34504f885cd8" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <!-- Side B image shared with other master disks from Zeppelin Games. Verified at World of Spectrum. -->
- <dataarea name="flop" size="256">
- <rom name="zeppelin games master disk side b.dsk" size="256" crc="56947af2" sha1="40428c770d847a0fd1fd005b6cf1d03a34672d98" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="sherlami">
- <description>Sherlock Holmes - The Lamberley Mystery</description>
- <year>1990</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="sherlock holmes - the lamberley mystery (1990)(zenobi).dsk" size="194816" crc="2a9c732a" sha1="36fae868e3a83cd4f553b070384048cf5959170a" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="shinobisp" cloneof="shinobi">
- <description>Shinobi (Spa)</description>
- <year>1989</year>
- <publisher>Dro Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="shinobi (1989)(dro soft)(es)(en)[re-release].dsk" size="194816" crc="4663ae78" sha1="0ad60c222997942884c7c34e41840ee198722980" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="shinobi">
- <description>Shinobi</description>
- <year>1989</year>
- <publisher>Virgin Games</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="201216">
- <rom name="shinobi (1989)(virgin games).dsk" size="201216" crc="64bbd9df" sha1="5300fe9292a3bc914dfeef10e3ad4d2cbd2a5d02" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="sidearms">
- <description>Side Arms</description>
- <year>1988</year>
- <publisher>Go</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="side arms (1988)(go).dsk" size="194816" crc="9199aa09" sha1="e23fdec7d476cfcef5754262541580ff40e76318" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="silkworm">
- <description>Silkworm</description>
- <year>1989</year>
- <publisher>Virgin Games</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="81408">
- <rom name="silkworm (1989)(virgin games).dsk" size="81408" crc="399e0d4e" sha1="209150254f605ce39c9f51e1aaeb9cb4571f0ace" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="silkwormsp" cloneof="silkworm">
- <description>Silkworm (Spa)</description>
- <year>1989</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="68352">
- <rom name="silkworm (1989)(erbe)(es)(en)[re-release].dsk" size="68352" crc="1f3bb8ca" sha1="aeb2576b0f616e920145f3e4575e188d84f578db" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="silkwormspa" cloneof="silkworm">
- <description>Silkworm (Spa) (alt)</description>
- <year>1989</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="68352">
- <rom name="silkworm (1989)(erbe)(es)(en)[a][re-release].dsk" size="68352" crc="1a5a1dac" sha1="cbe96a6d5448f6d0681599abfd48aaed372917ee" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="silkwormspb" cloneof="silkworm">
- <description>Silkworm (Spa) (alt 2)</description>
- <year>1989</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="67328">
- <rom name="silkworm (1989)(erbe)(es)(en)[a2][re-release].dsk" size="67328" crc="e3321b40" sha1="f54c7d1851a1acaf867e747f801a595934eeb0af" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="silvwolf">
- <description>Silverwolf</description>
- <year>1992</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="silverwolf (1992)(zenobi)[re-release].dsk" size="194816" crc="a1ced916" sha1="f99b5f686b4d2cafe58ee284562d009087319e87" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="simcitya" cloneof="simcity">
- <description>Sim City (alt)</description>
- <year>1990</year>
- <publisher>Infogrames</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="sim city (1990)(infogrames)(fr)(en).dsk" size="194816" crc="472c0a72" sha1="3abc13d4fe3c42cf8245840890f8f8e1b7c4d598" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="bartvssm">
- <description>The Simpsons - Bart vs. the Space Mutants</description>
- <year>1991</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="216320">
- <rom name="simpsons - bart vs. the space mutants, the (1991)(erbe)(es)(en)(side a)[re-release].dsk" size="216320" crc="a00c2816" sha1="f5b1e86051810971d073e015d8b444ef96466bbe" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="216320">
- <rom name="simpsons - bart vs. the space mutants, the (1991)(erbe)(es)(en)(side b)[re-release].dsk" size="216320" crc="f1cdff77" sha1="ef71e50c841a00e6ecdfde047e2c3fcc2b889a78" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="sirfred">
- <description>Sir Fred</description>
- <year>1986</year>
- <publisher>Made in Spain</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="sir fred (1986)(made in spain)(es).dsk" size="194816" crc="adf9a9f0" sha1="c16ccb453b56b3991f6e4a1a603ee74aae66077e" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="sitopons">
- <description>Sito Pons 500cc Grand Prix</description>
- <year>1990</year>
- <publisher>Zigurat Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="58624">
- <rom name="sito pons 500cc grand prix (1990)(zigurat)(es).dsk" size="58624" crc="a4d2515f" sha1="f9cd0be687108f3a7ef68aae4fbafa306722d41d" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="skatballa" cloneof="skatball">
- <description>Skateball (alt)</description>
- <year>1988</year>
- <publisher>Ubi Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="skateball (1988)(ubi soft)(fr)(en).dsk" size="194816" crc="07f0ab2b" sha1="2503637efd9b6d57f1c4c8d1b40dde6462d595ed" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="skullxboa" cloneof="skullxbo">
- <description>Skull &amp; Crossbones (alt)</description>
- <year>1991</year>
- <publisher>Domark</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="227072">
- <rom name="skull &amp; crossbones (1991)(domark).dsk" size="227072" crc="a8327f25" sha1="4373fadbb69cc3d0940ca7ce91f3f6e5672dac05" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="slaugcav">
- <description>The Slaughter Caves</description>
- <year>1989</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="slaughter caves, the (1989)(zenobi).dsk" size="194816" crc="4ec7b7e1" sha1="05cb1351e4226244ba3ac0756419b4ac2a0b2f7d" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="sleepwal">
- <description>Sleepwalker (tape master disk)</description>
- <year>1992</year>
- <publisher>Zeppelin Games</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="204544">
- <rom name="sleepwalker (1992)(zeppelin games)(side a)[tape master disk].dsk" size="204544" crc="b2388672" sha1="52af33ca5ece70fe921871b8dedd158e7a0df7a0" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="204032">
- <rom name="sleepwalker (1992)(zeppelin games)(side b)[tape master disk].dsk" size="204032" crc="841eccbd" sha1="d0ba5a8dc801bd03fd644f5ff6774f4ed5889e91" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="slowglas">
- <description>Slowglass</description>
- <year>1990</year>
- <publisher>Slowglass</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="slowglass (1990)(slowglass)(es).dsk" size="194816" crc="9871570f" sha1="8368e425ce77d0cde6a13b9498b89423365bddb4" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="smashtv">
- <description>Smash TV</description>
- <year>1991</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="63232">
- <rom name="smash tv (1991)(erbe)(es)(en)[re-release].dsk" size="63232" crc="537c4c8b" sha1="7b196f932ee796e8a1b2726dff93ccc99fe39f67" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="snoopya" cloneof="snoopy">
- <description>Snoopy (alt)</description>
- <year>1990</year>
- <publisher>The Edge</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="195072">
- <rom name="snoopy (1990)(edge, the).dsk" size="195072" crc="f0773376" sha1="75ffe0c2f2c3fd99c446bdf1f97a34b1b54e3f47" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="sokoban">
- <description>Sokoban</description>
- <year>2006</year>
- <publisher>Compiler</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="sokoban (2006)(compiler)(es)(en).dsk" size="194816" crc="7c9661ad" sha1="2e76b26808d115e750c7aedd700eac1284f58b48" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="sokobansp" cloneof="sokoban">
- <description>Sokoban (Spa)</description>
- <year>2006</year>
- <publisher>Compiler</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="sokoban (2006)(compiler)(es).dsk" size="194816" crc="2fe0a1d0" sha1="8f53882a9481ab44dd484ae7c17cf448b1c18a85" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="solnegro">
- <description>Sol Negro</description>
- <year>1989</year>
- <publisher>Opera Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="230400">
- <rom name="sol negro (1989)(opera soft)(es).dsk" size="230400" crc="3e1dc4fd" sha1="d76f73af3f00fdec6e38fcc428efc8fda86fdf32" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="soldoffo">
- <description>Soldier of Fortune</description>
- <year>1988</year>
- <publisher>Firebird Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="73216">
- <rom name="soldier of fortune (1988)(firebird).dsk" size="73216" crc="a88165f9" sha1="720363a3afad04d495279db7fd8f43902d67b1f3" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="soldlghta" cloneof="soldlght">
- <description>Soldier of Light (alt)</description>
- <year>1988</year>
- <publisher>ACE</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="soldier of light (1988)(ace).dsk" size="194816" crc="8de198b1" sha1="dde86e28951db167097e08ee6989f17380d3f62a" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="soldlghtsp" cloneof="soldlght">
- <description>Soldier of Light (Spa)</description>
- <year>1988</year>
- <publisher>Dro Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="soldier of light (1988)(dro soft)(es)(en)[re-release].dsk" size="194816" crc="fce2bb56" sha1="ed21b6fffdafa96800976f276c542837f60ac830" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="songofta">
- <description>The Song of Taliesin</description>
- <year>1994</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="song of taliesin, the (1994)(zenobi).dsk" size="194816" crc="b7e4fb2d" sha1="071eaa34379e895102c3007e2eca28f89c0eab93" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="soviet">
- <description>Soviet</description>
- <year>1990</year>
- <publisher>Opera Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="214784">
- <rom name="soviet (1990)(opera soft)(es)(en).dsk" size="214784" crc="416c7bb9" sha1="4a9e5f3e59b00296aeb465bf85dd55345d8fb925" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="spacecrsa" cloneof="spacecrs">
- <description>Space Crusade (alt)</description>
- <year>1992</year>
- <publisher>Gremlin Graphics Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="199680">
- <rom name="space crusade (1992)(gremlin graphics).dsk" size="199680" crc="ac78c209" sha1="8a2ea68d31c5ee026ca0a9b44c0a0c7657e7ed06" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="sharrie2">
- <description>Space Harrier II</description>
- <year>1990</year>
- <publisher>Grandslam Entertainments</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="space harrier ii (1990)(grandslam)(side a).dsk" size="194816" crc="965723a5" sha1="c2af9c86652996c2d573f7cc8e131ffd30bd8bb2" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="space harrier ii (1990)(grandslam)(side b).dsk" size="194816" crc="025d0275" sha1="46100285448c978d8a79d2caa56ed402d5156278" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="spccasc2">
- <description>The Spectre of Castle Coris v2</description>
- <year>1990</year>
- <publisher>FSF Adventures</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="spectre of castle coris, the v2 (1990)(fsf adventures).dsk" size="194816" crc="7c6025ef" sha1="933b3bc8096cd232de18db585dc6e13b3e3d4826" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="spherica">
- <description>Spherical</description>
- <year>1989</year>
- <publisher>Rainbow Arts</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="spherical (1989)(rainbow arts)(side a).dsk" size="194816" crc="36fb8105" sha1="145dcb29fca1f4f3a19c3b2bb15538bd9ce44e9d" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="spherical (1989)(rainbow arts)(side b).dsk" size="194816" crc="8c290b43" sha1="376f94df266481930a93b840aaabffce7ce8da6b" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="spittimasp" cloneof="spittima">
- <description>Spitting Image (Spa)</description>
- <year>1989</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="116992">
- <rom name="spitting image (1989)(erbe)(es)(en).dsk" size="116992" crc="2592e3a9" sha1="9452d23da666547fa05ae4f5e1adc05a46da0999" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="spittima">
- <description>Spitting Image - The Computer Game</description>
- <year>1988</year>
- <publisher>Domark</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="spitting image - the computer game (1988)(domark).dsk" size="194816" crc="4116a854" sha1="6df79a1d0deff4c3b177d1dc6a48d20c50196fcb" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="sportria">
- <description>Sporting Triangles</description>
- <year>1989</year>
- <publisher>CDS Microsystems</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="sporting triangles (1989)(cds microsystems)(side a).dsk" size="194816" crc="8ef1179f" sha1="115533a2c46af100e10b0f2142c2deb3d66c8e9f" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="217600">
- <rom name="sporting triangles (1989)(cds microsystems)(side b).dsk" size="217600" crc="871434ab" sha1="87c1c0d4a3f9b9858177449f08a8dcd6fb3d9144" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="sportriaa" cloneof="sportria">
- <description>Sporting Triangles (alt)</description>
- <year>1989</year>
- <publisher>CDS Microsystems</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="sporting triangles (1989)(cds microsystems)(side a)[a].dsk" size="194816" crc="c8e03477" sha1="8f8d4b1e7d97b65c5f0f71697c2e5c44c11e5cec" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="219136">
- <rom name="sporting triangles (1989)(cds microsystems)(side b)[a].dsk" size="219136" crc="75602549" sha1="405badca4b71dd1844caaa39a8bec7e1ecc3bf60" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="spywholma" cloneof="spywholm">
- <description>The Spy Who Loved Me (alt)</description>
- <year>1990</year>
- <publisher>Domark</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="spy who loved me, the (1990)(domark).dsk" size="194816" crc="2899eeb8" sha1="608d32c04d8a279e8f1fc8a4e6265a1aedfdf596" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
-<!-- Only the Spanish version has been dumped, unknown if it had any other releases. -->
- <software name="stdragon">
- <description>St. Dragon</description>
- <year>1990</year>
- <publisher>Dro Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="st. dragon (1990)(dro soft)(es)(en)(side a)[re-release].dsk" size="194816" crc="73cb914d" sha1="2e425aefc2a342b204b77fcf37fa038a78a8eb9b" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="st. dragon (1990)(dro soft)(es)(en)(side b)[re-release].dsk" size="194816" crc="b0fc6e49" sha1="0b9130bf2c9e81d36d9517ecddb5dd36194c651a" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="stackup">
- <description>Stack Up (tape master disk)</description>
- <year>1991</year>
- <publisher>Zeppelin Games</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="stack up (1991)(zeppelin games)(side a)[tape master disk].dsk" size="194816" crc="6fb5d8b1" sha1="4e7442d6fb9b3335ca37ae48abade64e1558e7a3" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="staffofp">
- <description>The Staff of Power</description>
- <year>1991</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="staff of power, the (1991)(zenobi).dsk" size="194816" crc="58cf287b" sha1="4d6ab194e4ce1b42992a64784dd7f676c6ffdb06" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="stalingra" cloneof="stalingr">
- <description>Stalingrad (alt)</description>
- <year>1988</year>
- <publisher>CCS</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="stalingrad (1988)(ccs).dsk" size="194816" crc="b8e30ec1" sha1="3e59fe248f3bbad97fd4b7b34fe528ade488e8f6" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="stalker">
- <description>Stalker</description>
- <year>1990</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="stalker (1990)(zenobi).dsk" size="194816" crc="b0390b04" sha1="c34fcf6cc5d09d2a3a15632152bfb07ec8c428f2" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="starcont">
- <description>Star Control</description>
- <year>1991</year>
- <publisher>Dro Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="star control (1991)(dro soft)(es)(en)[re-release].dsk" size="194816" crc="6ae46465" sha1="2a497f52a687388e63ffc8500ac3ec88d66d4f20" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="starrai2">
- <description>Star Raiders II</description>
- <year>1987</year>
- <publisher>Electric Dreams</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="204544">
- <rom name="star raiders ii (1987)(electric dreams).dsk" size="204544" crc="83b53901" sha1="6bab4a36af709dab36a9587cdb36a9397e73f253" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="starwarsa" cloneof="starwars">
- <description>Star Wars (alt)</description>
- <year>1987</year>
- <publisher>Domark</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="star wars (1987)(domark).dsk" size="194816" crc="c830d827" sha1="8578572586f25c927bf50463718ce75188bd6f57" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="starbyte">
- <description>Starbyte</description>
- <year>1987</year>
- <publisher>Mister Chip</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="102400">
- <rom name="starbyte (1987)(mister chip)(es).dsk" size="102400" crc="c3f2930d" sha1="645bd0c0caa36d6ccd00335b445da45fc5dd3dce" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="starglida" cloneof="starglid">
- <description>Starglider (alt)</description>
- <year>1986</year>
- <publisher>Rainbird Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="starglider (1986)(rainbird).dsk" size="194816" crc="2a296abd" sha1="36420eae3caf6ae04c3b03d1ade59a13dad29ee9" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="stargli2">
- <description>Starglider 2 - The Egrons Strike Back</description>
- <year>1989</year>
- <publisher>Rainbird Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="starglider 2 - the egrons strike back (1989)(rainbird).dsk" size="194816" crc="f6bdeb90" sha1="69f0b5f5b1ebdf67dad43eb7852b95b33db3d5d3" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="cchaplina" cloneof="cchaplin">
- <description>Starring Charlie Chaplin (alt)</description>
- <year>1987</year>
- <publisher>U.S. Gold</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="starring charlie chaplin (1987)(u.s. gold).dsk" size="194816" crc="1df5d541" sha1="3a39892b5f1a310ec7530b687fab434f9aae5e8c" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="starship">
- <description>Starship Quest</description>
- <year>1989</year>
- <publisher>FSF Adventures</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="starship quest (1989)(fsf adventures)(side a).dsk" size="194816" crc="92ebcedb" sha1="30a1f975780ea809fecf0415af6c18f64e21372c" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="starship quest (1989)(fsf adventures)(side b).dsk" size="194816" crc="41b39b65" sha1="6ddf86a5598841f9a19bfa5ad778b2fccc011edd" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="stircrazsp" cloneof="stircraz">
- <description>Stir Crazy Featuring Bobo (Spa)</description>
- <year>1990</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="stir crazy featuring bobo (1990)(erbe)(es)(en)[re-release].dsk" size="194816" crc="e8fb3ec4" sha1="50c5bda1b9d57e23eff42da53fb8cbe2523ac85e" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="stircraz">
- <description>Stir Crazy Featuring Bobo</description>
- <year>1990</year>
- <publisher>Infogrames</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="stir crazy featuring bobo (1990)(infogrames)(fr)(en).dsk" size="194816" crc="98dbef8b" sha1="717259d1fa05209a899f1ddfef20c9c72efacfb1" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="stormlor">
- <description>Stormlord</description>
- <year>1989</year>
- <publisher>Hewson Consultants</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="stormlord (1989)(hewson consultants).dsk" size="194816" crc="0979a296" sha1="0924f2b950c99dc9040d7a7eb64bd46a53227e46" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="stranded">
- <description>Stranded</description>
- <year>1992</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="stranded (1992)(zenobi).dsk" size="194816" crc="9483615b" sha1="dfbe0660b1725999f76af69770491b71f7fb437f" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="strfight">
- <description>Street Fighter</description>
- <year>1988</year>
- <publisher>Go</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="street fighter (1988)(go).dsk" size="194816" crc="867ed9cc" sha1="2aa9fc365e4434db2e9e54074b491fb730431862" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="subbuteoa" cloneof="subbuteo">
- <description>Subbuteo - The Computer Game (alt)</description>
- <year>1990</year>
- <publisher>Electronic Zoo</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="subbuteo - the computer game (1990)(electronic zoo).dsk" size="194816" crc="2bdbb1d3" sha1="e85338f53b360019702b91ef969c06a5d7dae406" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="summgam2">
- <description>Summer Games II</description>
- <year>1988</year>
- <publisher>U.S. Gold</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="summer games ii (1988)(u.s. gold)(side a).dsk" size="194816" crc="e9a395be" sha1="495f06647275a71c2da1f0c03878f1586bbf7ed9" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="summer games ii (1988)(u.s. gold)(side b).dsk" size="194816" crc="98858aef" sha1="965171b35927ca86a3edc24ebfac6abd10792bfd" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="supercara" cloneof="supercar">
- <!-- May be the same edition as the IPF -->
- <description>Super Cars (alt)</description>
- <year>1990</year>
- <publisher>Gremlin Graphics Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="174848">
- <rom name="super cars (1990)(gremlin graphics).dsk" size="174848" crc="0ca22a11" sha1="10d892855a61470343d3e9fe68411e9d2f6b3f83" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="suprcycla" cloneof="suprcycl">
- <description>Super Cycle (alt)</description>
- <year>1987</year>
- <publisher>U.S. Gold</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="super cycle (1987)(u.s. gold).dsk" size="194816" crc="bd0f4919" sha1="f5dcb5c3dd83dc5bfa7e13dca2fc7060a8899a61" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="spscsimusp" cloneof="spscsimu">
- <description>Super Scramble Simulator (Spa)</description>
- <year>1989</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="68608">
- <rom name="super scramble simulator (1989)(erbe)(es)(en)[re-release].dsk" size="68608" crc="7e7e0a71" sha1="6fcb326fed039e3cf5dd2aa35bcd1a76b88e3f52" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="spscsimu">
- <description>Super Scramble Simulator</description>
- <year>1989</year>
- <publisher>Gremlin Graphics Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="219136">
- <rom name="super scramble simulator (1989)(gremlin graphics).dsk" size="219136" crc="28831769" sha1="efc4c460794941aad2c6acbc5aa48e98f1b3e949" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="ssinva" cloneof="ssinv">
- <description>Super Space Invaders (alt)</description>
- <year>1991</year>
- <publisher>Domark</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="super space invaders (1991)(domark)[aka space invaders '91].dsk" size="194816" crc="49e654a3" sha1="4d17e0192046883b15f928b93df13d1638395713" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="ssinvb" cloneof="ssinv">
- <description>Super Space Invaders (alt 2)</description>
- <year>1991</year>
- <publisher>Domark</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="super space invaders (1991)(domark)[a][aka space invaders '91].dsk" size="194816" crc="8f014e05" sha1="5c9c70e29d788b03151d992b9e119ee49a63a01e" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="ssinvc" cloneof="ssinv">
- <description>Super Space Invaders (alt 3)</description>
- <year>1991</year>
- <publisher>Domark</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="super space invaders (1991)(domark)[a2][aka space invaders '91].dsk" size="194816" crc="17742dec" sha1="4ae71d91affa353353f125137d04f69b94dcf88e" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="ssinvd" cloneof="ssinv">
- <description>Super Space Invaders (alt 4)</description>
- <year>1991</year>
- <publisher>Domark</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="super space invaders (1991)(domark)[a3][aka space invaders '91].dsk" size="194816" crc="568d63df" sha1="e9e3ebd679de2a559611452cc4fc5ea6d50db53d" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="spchs335">
- <description>Superchess 3 v3.5</description>
- <year>1984</year>
- <publisher>CP Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="superchess 3 v3.5 (1984)(cp).dsk" size="194816" crc="a3329d71" sha1="181ff40d2f69b2409909ef8941dffc10c70d4cc6" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="superman">
- <description>Superman - The Man of Steel</description>
- <year>1989</year>
- <publisher>Tynesoft</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="superman - the man of steel (1989)(tynesoft)(side a).dsk" size="194816" crc="08d9cc71" sha1="b3828014329ad06e16ade91324f517e22849a3bc" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="superman - the man of steel (1989)(tynesoft)(side b).dsk" size="194816" crc="b3c0c0f3" sha1="7c343d678eb85659967cb06aa6350096159f397e" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="supsport">
- <description>Supersports - The Alternative Olympics</description>
- <year>1988</year>
- <publisher>Gremlin Graphics Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="176103">
- <rom name="supersports - the alternative olympics (1988)(gremlin graphics)(side a)[aka super sports - the olympic challenge].dsk" size="176103" crc="21b31fff" sha1="f5685271d3dc1d49aa593d48299b9c3da98603a2" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="176103">
- <rom name="supersports - the alternative olympics (1988)(gremlin graphics)(side b)[aka super sports - the olympic challenge].dsk" size="176103" crc="73da3eac" sha1="f03b0a34ad6d67576e62b51f0a75abf88a7aef86" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- This is an older version of the game, dated 20170922 -->
- <software name="swoiannaa" cloneof="swoianna">
- <description>The Sword of IANNA (alt)</description>
- <year>2017</year>
- <publisher>RetroWorks</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="sword of ianna, the (2017-09-30)(retroworks)(es)(side a).dsk" size="194816" crc="fcddb65d" sha1="eed1758d470b08aa9ab14dffee3f8d665639f931" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="sword of ianna, the (2017-09-30)(retroworks)(es)(side b).dsk" size="194816" crc="eede4f21" sha1="2d26ea4273848fa36ffb1eb45f418ce0f5169c64" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- This version is dated 20171126 -->
- <software name="swoianna">
- <description>The Sword of IANNA</description>
- <year>2017</year>
- <publisher>RetroWorks</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="sword of ianna, the (2017-09-30)(retroworks)(es)(en-es)(side a).dsk" size="194816" crc="b6acb571" sha1="2c91875620ad05fd9a1347e7454907b30fac91be" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="sword of ianna, the (2017-09-30)(retroworks)(es)(en-es)(side b).dsk" size="194816" crc="a007c1b5" sha1="57bde6daf306674a7f8cab9d6784f2175cc9dc25" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="swotsamu">
- <description>Sword of the Samurai (master disk)</description>
- <year>1992</year>
- <publisher>Zeppelin Games</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="sword of the samurai (1992)(zeppelin games)(side a)[master disk].dsk" size="194816" crc="69842c84" sha1="7e39573278bb0c3c35ec3b7a18bcbce76cb17572" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="sword of the samurai (1992)(zeppelin games)(side b).dsk" size="194816" crc="b2523378" sha1="3553502492ad245ba8156228c323b6cc10d99698" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="twasatim">
- <description>T'Was a Time of Dread</description>
- <year>1992</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="t'was a time of dread (1992)(zenobi).dsk" size="194816" crc="a6d11b34" sha1="b59d8b92bd71bdbe2bf383ab8c0468e54981018c" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="tchitort">
- <description>Tai Chi Tortoise (tape master disk)</description>
- <year>1991</year>
- <publisher>Zeppelin Games</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="tai chi tortoise (1991)(zeppelin games)(side a)[tape master disk].dsk" size="194816" crc="6412ea4f" sha1="5ebc7ac6ae06ae2eb4b6224d5b1fa28fc5b4014c" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <!-- Side B image shared with other master disks from Zeppelin Games. Verified at World of Spectrum. -->
- <dataarea name="flop" size="256">
- <rom name="zeppelin games master disk side b.dsk" size="256" crc="56947af2" sha1="40428c770d847a0fd1fd005b6cf1d03a34672d98" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="taipana" cloneof="taipan">
- <description>Tai-Pan (alt)</description>
- <year>1987</year>
- <publisher>Ocean Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194560">
- <rom name="tai-pan (1987)(ocean).dsk" size="194560" crc="458c4b7c" sha1="6fe0e05aa78573fda4b5c563cba5e5d287c25864" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="tlsmathe">
- <description>The Tales of Mathematica</description>
- <year>1990</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="tales of mathematica, the (1990)(zenobi).dsk" size="194816" crc="254feaae" sha1="fe4e845b1e380bcbf9a1c352429476d21c9432a9" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="tankatta">
- <description>Tank Attack</description>
- <year>1988</year>
- <publisher>CDS Microsystems</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="tank attack (1988)(cds microsystems).dsk" size="194816" crc="215fa4e2" sha1="9429a58f1d122ee7feec9db25d6c50f25b58871d" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="targrene">
- <description>Target: Renegade</description>
- <year>1988</year>
- <publisher>Imagine Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="134144">
- <rom name="target - renegade (1988)(imagine).dsk" size="134144" crc="c93b5664" sha1="61f5623c5a614558b8431c4cddbc5ae11313c897" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="targetpl">
- <description>Target Plus</description>
- <year>1988</year>
- <publisher>Dinamic Software</publisher>
- <info name="usage" value="Requires Gun Stick lightgun"/>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="53504">
- <rom name="target plus (1988)(dinamic)(es)[gunstick].dsk" size="53504" crc="7de2c214" sha1="ff7ea991a28a559ad2df6f0ffbaf67dba5137996" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="taxretur">
- <description>Tax Returns</description>
- <year>1992</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="tax returns (1992)(zenobi).dsk" size="194816" crc="03d83545" sha1="3dce8cdb905a5ef79ff5af534af19a202433ecf4" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="taxmanco">
- <description>The Taxman Cometh</description>
- <year>1991</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="taxman cometh, the (1991)(zenobi).dsk" size="194816" crc="05399461" sha1="e626dcb4c47a4bf4f5c4a7564d36672f85edeef8" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="tearmoon">
- <description>The Tears of the Moon</description>
- <year>1992</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="204544">
- <rom name="tears of the moon, the (1992)(zenobi).dsk" size="204544" crc="e21084cf" sha1="bf084143f9b7f5825742f7259804e3babcef0bb8" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="technoco">
- <description>Techno-Cop</description>
- <year>1988</year>
- <publisher>Gremlin Graphics Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="219136">
- <rom name="techno-cop (1988)(gremlin graphics).dsk" size="219136" crc="d3de6ce2" sha1="ad966892ac92495095e565706ed4f672b39a7021" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="teenagee">
- <description>Teenage Emergency</description>
- <year>1995</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="teenage emergency (1995)(zenobi).dsk" size="194816" crc="a945f2f5" sha1="7e5cba7d570959609896663a6a0d6d735cc5d1a3" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="tmhta" cloneof="tmht">
- <description>Teenage Mutant Hero Turtles (alt)</description>
- <year>1990</year>
- <publisher>Image Works</publisher>
- <info name="usage" value="Requires manual for password protection"/>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="teenage mutant hero turtles (1990)(image works)[passworded].dsk" size="194816" crc="ffb00416" sha1="680ae4dccfe54c1117df40edff50b1fa51b7c00b" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="tmhtb" cloneof="tmht">
- <description>Teenage Mutant Hero Turtles (alt 2)</description>
- <year>1990</year>
- <publisher>Image Works</publisher>
- <info name="usage" value="Requires manual for password protection"/>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="teenage mutant hero turtles (1990)(image works)[a][passworded].dsk" size="194816" crc="059786ae" sha1="2ca0e8a8c0a24a11fe2904cf586cdd32fa1bc6bb" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="tengrebt">
- <description>Ten Green Bottles</description>
- <year>1995</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="ten green bottles (1995)(zenobi).dsk" size="194816" crc="667dfed2" sha1="da5f6806ebc46dec7ae7c63d9f11e650f39ab845" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="term2a" cloneof="term2">
- <description>Terminator 2 - Judgment Day (alt)</description>
- <year>1991</year>
- <publisher>Ocean Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="216320">
- <rom name="terminator 2 - judgment day (1991)(ocean).dsk" size="216320" crc="d97a5f2a" sha1="512127b1523d9ba51889b3891592007dcbb89ed0" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="terrorpo">
- <description>Terrorpods</description>
- <year>1989</year>
- <publisher>Dro Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="58624">
- <rom name="terrorpods (1989)(dro soft)(es)(en)[re-release].dsk" size="58624" crc="4e335ea4" sha1="4fc4e61c48103a6b1bd3af4662ee1926338cffca" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="tetris">
- <description>Tetris</description>
- <year>1988</year>
- <publisher>Mirrorsoft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="tetris (1988)(mirrorsoft).dsk" size="194816" crc="6c230d3f" sha1="04119edaf20c012d953426be34c0d52990d88687" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="tetrisa" cloneof="tetris">
- <description>Tetris (alt)</description>
- <year>1988</year>
- <publisher>Mirrorsoft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="204544">
- <rom name="tetris (1988)(mirrorsoft)[a].dsk" size="204544" crc="e7febbfc" sha1="8d2652072d6334c1011e9539136b9558eeb61d76" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="tetrisb" cloneof="tetris">
- <description>Tetris (alt 2)</description>
- <year>1988</year>
- <publisher>Mirrorsoft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="204544">
- <rom name="tetris (1988)(mirrorsoft)[a2].dsk" size="204544" crc="a1cd0a44" sha1="6a10201bd233d96c7b47bf252df1f0462b7de3e7" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="tparkuk">
- <description>Theme Park U.K.</description>
- <year>1993</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="theme park u.k. (1993)(zenobi)[re-release].dsk" size="194816" crc="82d68d37" sha1="b43330b5962f776ae595d88bd3711378c7d80a17" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="tparkusa">
- <description>Theme Park U.S.A.</description>
- <year>1993</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="theme park u.s.a. (1993)(zenobi).dsk" size="194816" crc="fa6b510f" sha1="4141a805840d7c990ec5b9b671ca2ddde5853807" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="tabombup">
- <description>There's a Bomb Under Parliament</description>
- <year>1991</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="there's a bomb under parliament (1991)(zenobi).dsk" size="194816" crc="61cfed6b" sha1="67b4598e5b2e961cbe4215f364bb5b71c37e5e5c" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="thirnins">
- <description>The Thirty-Nine Steps</description>
- <year>1995</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="thirty-nine steps, the (1995)(zenobi)[aka 39 steps, the].dsk" size="194816" crc="97ce88e7" sha1="bbeb7c4764736f822e31a0518026f890ca0b81e4" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="tbladea" cloneof="tblade">
- <description>Thunder Blade (alt)</description>
- <year>1988</year>
- <publisher>U.S. Gold</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="thunder blade (1988)(u.s. gold).dsk" size="194816" crc="13a82ea8" sha1="395cabc0eb12af6856ca9c685bbde042bf54300e" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="tbladeb" cloneof="tblade">
- <description>Thunder Blade (alt 2)</description>
- <year>1988</year>
- <publisher>U.S. Gold</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="thunder blade (1988)(u.s. gold)[a].dsk" size="194816" crc="c6ff5741" sha1="c2a090224dc93f68f97b51fbbfe3555d0e6a7a07" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="thunderb">
- <description>Thunderbirds</description>
- <year>1989</year>
- <publisher>Grandslam Entertainments</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="thunderbirds (1989)(grandslam)(side a).dsk" size="194816" crc="66fd1e53" sha1="410e2afaa9c5273b048c1830838835dd37d217ed" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="thunderbirds (1989)(grandslam)(side b).dsk" size="194816" crc="60f605fa" sha1="aa856c625ed23dc634ff9f9dc73dcb84f13123e0" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="thunderbsp" cloneof="thunderb">
- <description>Thunderbirds (Spa)</description>
- <year>1989</year>
- <publisher>MCM Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="174848">
- <rom name="thunderbirds (1989)(mcm)(es)(en)(side a)[re-release].dsk" size="174848" crc="ce593266" sha1="2d68121c14b7a2b959eb949f6bccf85ffaa55ca5" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="174848">
- <rom name="thunderbirds (1989)(mcm)(es)(en)(side b)[re-release].dsk" size="174848" crc="0e8dc579" sha1="7614e72ff525cc87867eef68cb885e746caff727" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="thunderba" cloneof="thunderb">
- <description>Thunderbirds (alt)</description>
- <year>1989</year>
- <publisher>Grandslam Entertainments</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="thunderbirds (1989)(grandslam)(side a)[a].dsk" size="194816" crc="cb8427bb" sha1="7eba9267736f5ca2b4e245ebe6e7e2f031a08f79" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="thunderbirds (1989)(grandslam)(side b)[a].dsk" size="194816" crc="61099896" sha1="c20b818cf298e15765adfb1385f3c5c604873864" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="thdrcatsa" cloneof="thdrcats">
- <description>Thundercats (alt)</description>
- <year>1987</year>
- <publisher>Elite Systems</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="thundercats (1987)(elite systems).dsk" size="194816" crc="89029622" sha1="c4aa09753aa87f8e7193bff875f3531886cc1ce3" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="jawssp">
- <description>Tiburon</description>
- <year>1989</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="78080">
- <rom name="tiburon (1989)(erbe)(es)(en)[aka jaws][re-release].dsk" size="78080" crc="aaa7b9fe" sha1="f028fc6cc04d585c570193560849896925c3472f" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="timecrys">
- <description>The Time Crystal</description>
- <year>2011</year>
- <publisher>&lt;homebrew&gt;</publisher>
- <info name="author" value="Steven Flanagan"/>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="time crystal, the (2011)(flanagan, steven).dsk" size="194816" crc="777f0094" sha1="a7a16b0f6bfa89879d9672ec17df0df0bbb07cfb" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="timescan">
- <description>Time Scanner</description>
- <year>1989</year>
- <publisher>Activision</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="time scanner (1989)(activision).dsk" size="194816" crc="941f35d2" sha1="bd23dd1b8911e2d3c125d983502c9ecf6fb0a965" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="timescansp" cloneof="timescan">
- <description>Time Scanner (Spa)</description>
- <year>1989</year>
- <publisher>MCM Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="144384">
- <rom name="time scanner (1989)(mcm)(es)(en)[re-release].dsk" size="144384" crc="f6be60cc" sha1="980ff8cbcf5727eca1cbe3d5158d2514d66f1504" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="tintmoonsp" cloneof="tintmoon">
- <description>Tintin en la Luna</description>
- <year>1989</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="63488">
- <rom name="tintin en la luna (1989)(erbe)(es)(en)[aka tintin on the moon][re-release].dsk" size="63488" crc="e4e8df96" sha1="e60fda54d391d7e1b073529f12e7aa74d6e5b7d2" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="tintmoon">
- <description>Tintin on the Moon</description>
- <year>1989</year>
- <publisher>Infogrames</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="204544">
- <rom name="tintin on the moon (1989)(infogrames)(fr)(en).dsk" size="204544" crc="18094850" sha1="44c2069bb173bfb5ea070f4eaea9b7a9bae09c88" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="titanicb">
- <description>Titanic Blinky (tape master disk)</description>
- <year>1991</year>
- <publisher>Zeppelin Games</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="titanic blinky (1991)(zeppelin games)(side a)[tape master disk].dsk" size="194816" crc="b472ed9c" sha1="8a0107792cd59d729f3c39dc7d1c7fcd943dd62c" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="titanic blinky (1991)(zeppelin games)(side b)[tape master disk].dsk" size="194816" crc="84304cc7" sha1="9194585c484c1ace0fecb779af0f4fdd0a5ce4ce" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="toddlert">
- <description>Toddler Trouble</description>
- <year>1996</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="toddler trouble (1996)(zenobi).dsk" size="194816" crc="bad46cb8" sha1="1393e49ebea152d62a47b43ac4d28b9e3e86932b" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="tomahawk">
- <description>Tomahawk</description>
- <year>1985</year>
- <publisher>Digital Integration</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="102400">
- <rom name="tomahawk (1985)(digital integration)[aka thunderbird].dsk" size="102400" crc="706d95cd" sha1="afb87bc59e3ce983f829fe6c63a29cbd38d5d202" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="toobin">
- <description>Toobin'</description>
- <year>1989</year>
- <publisher>Domark</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="204288">
- <rom name="toobin' (1989)(domark).dsk" size="204288" crc="89cd9303" sha1="a3a38047aee158f77ab5f772561c70d05a222d8d" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="toobina" cloneof="toobin">
- <description>Toobin' (alt)</description>
- <year>1989</year>
- <publisher>Domark</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="190208">
- <rom name="toobin' (1989)(domark)[a].dsk" size="190208" crc="7ec3488c" sha1="693cf9676485a0578db838963da90b5a895c26cc" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="toobinsp" cloneof="toobin">
- <description>Toobin' (Spa)</description>
- <year>1989</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="121856">
- <rom name="toobin' (1989)(erbe)(es)(en)[re-release].dsk" size="121856" crc="0aa86bcb" sha1="6e22f2395bc263e0d2c33d058770f8a5e84d7369" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="tmhtsp" cloneof="tmht">
- <description>Tortugas Ninja</description>
- <year>1990</year>
- <publisher>MCM Software</publisher>
- <info name="usage" value="Requires manual for password protection"/>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="73216">
- <rom name="tortugas ninja (1990)(mcm)(es)(en)[aka teenage mutant hero turtles][passworded][re-release].dsk" size="73216" crc="37875ffb" sha1="9af1d34f7861c163407256fb49fa569aeece4e54" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
-<!-- This is the dump in World of Spectrum, but original version was password protected (rerelease or hack?) -->
- <software name="tmhtsp2" cloneof="tmht">
- <description>Tortugas Ninja (unprotected)</description>
- <year>1990</year>
- <publisher>MCM Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="73216">
- <rom name="tortugas ninja (1990)(mcm)(es)(en)[aka teenage mutant hero turtles][re-release].dsk" size="73216" crc="6766d492" sha1="7ae9c02004b4f67c7c70d0cc1e3e1157538d3418" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="totalecl">
- <description>Total Eclipse</description>
- <year>1988</year>
- <publisher>Incentive</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="total eclipse (1988)(incentive).dsk" size="194816" crc="37ca3e96" sha1="89c3cdcdeb53daa4f684a606ec79ba16c6362c9f" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="totrecala" cloneof="totrecal">
- <description>Total Recall (alt)</description>
- <year>1991</year>
- <publisher>Ocean Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="178432">
- <rom name="total recall (1991)(ocean).dsk" size="178432" crc="d58b27ec" sha1="618542c813bec4f3f55196af9033e51a37776965" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="tourdefo">
- <description>Tour de Force</description>
- <year>1988</year>
- <publisher>Gremlin Graphics Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="174848">
- <rom name="tour de force (1988)(gremlin graphics).dsk" size="174848" crc="c8999948" sha1="3ccb02f23add396d4e45eedf8a7511e7be206b77" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="treasisl">
- <description>Treasure Island</description>
- <year>1991</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="treasure island (1991)(zenobi)[re-release].dsk" size="194816" crc="a9627167" sha1="2b72da4fa8c55c883b33bbfd7288b83e9acdb526" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="brookinga" cloneof="brooking">
- <description>Trevor Brooking's World Cup Glory (alt)</description>
- <year>1990</year>
- <publisher>Challenge</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="trevor brooking's world cup glory (1990)(challenge).dsk" size="194816" crc="d0aefb7f" sha1="c73e42dd17e06b581711b1b870a6e953e2c05ce2" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="trigger">
- <description>Trigger</description>
- <year>1989</year>
- <publisher>Opera Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="217344">
- <rom name="trigger (1989)(opera soft)(es).dsk" size="217344" crc="8940aa50" sha1="77ee6b6045a32e8ca0b42561e30c40fa9607318b" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="triggergs" cloneof="trigger">
- <description>Trigger (Gun Stick)</description>
- <year>1989</year>
- <publisher>Opera Soft</publisher>
- <info name="usage" value="Requires Gun Stick lightgun"/>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="214784">
- <rom name="trigger (1989)(opera soft)(es)[gunstick].dsk" size="214784" crc="f628b19b" sha1="fa93a4b8b4e92063165e4f4823272898d4225836" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="trivialp">
- <description>Trivial Pursuit - A New Beginning</description>
- <year>1988</year>
- <publisher>Domark</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="trivial pursuit - a new beginning (1988)(domark)(side a).dsk" size="194816" crc="60b7be4a" sha1="097c69e7f820508770ab5a85ae3d270ee478a51e" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="trivial pursuit - a new beginning (1988)(domark)(side b).dsk" size="194816" crc="3d052505" sha1="b4edfe5dde39a4d759f2961d26a208f443c69e43" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="troublew">
- <description>Trouble with Trolls</description>
- <year>1996</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="trouble with trolls (1996)(zenobi).dsk" size="194816" crc="b4b266d8" sha1="457b199bd8d62a11813e985caad268a4adbcf259" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="tuareg">
- <description>Tuareg</description>
- <year>1988</year>
- <publisher>Topo Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="112128">
- <rom name="tuareg (1988)(topo soft)(es).dsk" size="112128" crc="cd014088" sha1="297497602a178235fd89240dfaaab433b3de0fde" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="turbogir">
- <description>Turbo Girl</description>
- <year>1988</year>
- <publisher>Dinamic Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="58880">
- <rom name="turbo girl (1988)(dinamic)(es).dsk" size="58880" crc="4fc6bb30" sha1="b98e25c0a5a75828bf930324dbe008a73a9e0ac9" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="turboout">
- <description>Turbo Out Run</description>
- <year>1989</year>
- <publisher>U.S. Gold</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="255232">
- <rom name="turbo out run (1989)(u.s. gold)(side a).dsk" size="255232" crc="2d08c5e8" sha1="b0e41605685c2369b4928ad110e3d7901dcc694c" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="256256">
- <rom name="turbo out run (1989)(u.s. gold)(side b).dsk" size="256256" crc="6cf33b9f" sha1="46ef8778a9902349e51b6b154166164598663c63" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="turbooutsp" cloneof="turboout">
- <description>Turbo Out Run (Spa)</description>
- <year>1990</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="255232">
- <rom name="turbo out run (1990)(erbe)(es)(en)(side a).dsk" size="255232" crc="47a254d0" sha1="4444838b316d90cb3710a5700767f8865346ebf8" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="256256">
- <rom name="turbo out run (1990)(erbe)(es)(en)(side b).dsk" size="256256" crc="da1780bf" sha1="de01ad584cf0ac548dd95a52d7f494be35c08594" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="turboska">
- <description>Turbo Skate Fighter (tape master disk)</description>
- <year>1989</year>
- <publisher>Zeppelin Games</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="turbo skate fighter (1989)(zeppelin games)(side a)[tape master disk].dsk" size="194816" crc="8eb4cbbd" sha1="b9916d55091d468765fdc7afebf6928d64ee651d" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="turbo skate fighter (1989)(zeppelin games)(side b)[tape master disk].dsk" size="194816" crc="5307f975" sha1="c49886b9808292c6ad6aff9cfba7f68d85542444" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="turrican">
- <description>Turrican</description>
- <year>1990</year>
- <publisher>Rainbow Arts</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="224512">
- <rom name="turrican (1990)(rainbow arts)(side a).dsk" size="224512" crc="e3445b47" sha1="624fa5b7e7e9f3c8af65fbcc20883ef2de69f822" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="215296">
- <rom name="turrican (1990)(rainbow arts)(side b).dsk" size="215296" crc="847ee5ee" sha1="cc8ebfc85c287cdeae6aca540dc44c434aa47add" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="turricansp" cloneof="turrican">
- <description>Turrican (Spa)</description>
- <year>1990</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="turrican (1990)(erbe)(es)(en)(side a)[re-release].dsk" size="194816" crc="3b661054" sha1="3e5db821ce825bec75c53394e29d4aaceb300a40" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="turrican (1990)(erbe)(es)(en)(side b)[re-release].dsk" size="194816" crc="602069ea" sha1="ef791c7497f9622942913a8526b6db18acfa83b1" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="turrica2">
- <description>Turrican II - The Final Fight</description>
- <year>1991</year>
- <publisher>Rainbow Arts</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="227072">
- <rom name="turrican ii - the final fight (1991)(rainbow arts)(side a).dsk" size="227072" crc="117fbcc7" sha1="bd1c00a297f6594e950db359a823bdf60b662f5a" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="231424">
- <rom name="turrican ii - the final fight (1991)(rainbow arts)(side b).dsk" size="231424" crc="3731bfbc" sha1="c274000b93dd8d6620b2d4e85ab542b1fd0061ba" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="turrica2a" cloneof="turrica2">
- <description>Turrican II - The Final Fight (alt)</description>
- <year>1991</year>
- <publisher>Rainbow Arts</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="227072">
- <rom name="turrican ii - the final fight (1991)(rainbow arts)(side a)[a].dsk" size="227072" crc="e733816f" sha1="e95ec76f20b21cba90978296c2dfdc7f2b550a8d" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="227072">
- <rom name="turrican ii - the final fight (1991)(rainbow arts)(side b)[a].dsk" size="227072" crc="554124c8" sha1="64d396bbcc59a2fd9efdf066725e37f4548d9358" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="twdaysch">
- <description>The Twelve Days of Christmas</description>
- <year>1994</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="twelve days of christmas, the (1994)(zenobi).dsk" size="194816" crc="954564f0" sha1="f24abcc5bda989a189f6d817332db7becb865e01" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="twiligkr">
- <description>Twilight: Krajina Tienov</description>
- <year>1996</year>
- <publisher>Dmytro Gryshcenko</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="389376">
- <rom name="twilight - krajina tienov (1996)(gryshcenko, dmytro)(ua)(en)[re-release].dsk" size="389376" crc="95c3c411" sha1="92318c23b9442754c6948c52af5dfde3529e511e" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="twinworl">
- <description>Twin World</description>
- <year>1990</year>
- <publisher>Ubi Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="215296">
- <rom name="twin world (1990)(ubi soft)(fr)(en)(side a).dsk" size="215296" crc="2f5ae73e" sha1="ab4c3231626550ef3dca2500169bb8029af1fe76" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="215296">
- <rom name="twin world (1990)(ubi soft)(fr)(en)(side b).dsk" size="215296" crc="afc6c6dc" sha1="182da821939b391f6b6b7da1cbb6ebc72332cc35" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="typhoon">
- <description>Typhoon</description>
- <year>1988</year>
- <publisher>Imagine Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="156672">
- <rom name="typhoon (1988)(imagine).dsk" size="156672" crc="71be4480" sha1="8475b7e1957fccad01db0ad92f2a741be11f62c8" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="typhoonb" cloneof="typhoon">
- <description>Typhoon (alt)</description>
- <year>1988</year>
- <publisher>Imagine Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="typhoon (1988)(imagine)[a].dsk" size="194816" crc="a3d5abe7" sha1="8e106d7fc0f2048712f5179e9b57f8d5ad93eb41" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="typhoonc" cloneof="typhoon">
- <description>Typhoon (alt 2)</description>
- <year>1988</year>
- <publisher>Imagine Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="155648">
- <rom name="typhoon (1988)(imagine)[a2].dsk" size="155648" crc="192f7e58" sha1="f9285638c65e08bed3a11e0ae44293743b4fb917" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="unbornon">
- <description>The Unborn One</description>
- <year>1991</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="unborn one, the (1991)(zenobi).dsk" size="194816" crc="70778ba8" sha1="05a8f137a7fba635a1a57226e6873ca081644b12" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
-<!-- This is the dump in World of Spectrum -->
- <software name="untoucha">
- <description>The Untouchables</description>
- <year>1989</year>
- <publisher>Ocean Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="128256">
- <rom name="untouchables, the (1989)(ocean)(side a)[a].dsk" size="128256" crc="a87d3156" sha1="beab754fb66cee2ff5a398bbb601c9b745cd15ca" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="untouchables, the (1989)(ocean)(side b)[a].dsk" size="194816" crc="ecdea7cd" sha1="13ae5b6aa2ac616ee1d678875d4190dbc10e4f46" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="untouchaa" cloneof="untoucha">
- <description>The Untouchables (alt)</description>
- <year>1989</year>
- <publisher>Ocean Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="128256">
- <rom name="untouchables, the (1989)(ocean)(side a).dsk" size="128256" crc="6cbd1492" sha1="7ca0908dc9ae4102a020f2cadc589efe19ac56b5" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194304">
- <rom name="untouchables, the (1989)(ocean)(side b).dsk" size="194304" crc="58c33b4d" sha1="5a911a5743d39b1baba94838dc40510be67326c4" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="untouchab" cloneof="untoucha">
- <description>The Untouchables (alt 2)</description>
- <year>1989</year>
- <publisher>Ocean Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="untouchables, the (1989)(ocean).dsk" size="194816" crc="bcafafe3" sha1="f219d9eac35b054f49f2be5dbfc7c4940bb66415" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="untouchac" cloneof="untoucha">
- <description>The Untouchables (alt 3)</description>
- <year>1989</year>
- <publisher>Ocean Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="389376">
- <rom name="untouchables, the (1989)(ocean)[a].dsk" size="389376" crc="6d4df741" sha1="a1f9b963c7181d062a45434f88a977a7314c5580" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="urban">
- <description>Urban</description>
- <year>1991</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="urban (1991)(zenobi).dsk" size="194816" crc="d2c13bb6" sha1="961b3b7c51943998326074b9db3c9a12899d92ae" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="venom">
- <description>Venom</description>
- <year>1988</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="venom (1988)(zenobi)[re-release].dsk" size="194816" crc="4ef0d1ee" sha1="6623a8b2d8934afc6a1197594a97ae8330164ced" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="verybigc">
- <description>The Very Big Cave Adventure</description>
- <year>1986</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="very big cave adventure, the (1986)(zenobi)[re-release].dsk" size="194816" crc="57d0ccbb" sha1="5d35574bc5d8ccf621aa3b24691e739615840c6a" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="viajealc">
- <description>Viaje al Centro de la Tierra</description>
- <year>1989</year>
- <publisher>Topo Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="136448">
- <rom name="viaje al centro de la tierra (1989)(topo soft)(es).dsk" size="136448" crc="1654175f" sha1="a341c6182ac225fb471cfcec62f1a67e04ae7211" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="vigilantsp" cloneof="vigilant">
- <description>Vigilante (Spa)</description>
- <year>1989</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="127744">
- <rom name="vigilante (1989)(erbe)(es)(en)[re-release].dsk" size="127744" crc="688b068b" sha1="e29674d3d8b797022334543bb9e48ce687a2738b" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="vigilanta" cloneof="vigilant">
- <description>Vigilante (alt)</description>
- <year>1989</year>
- <publisher>U.S. Gold</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="39411">
- <rom name="vigilante (1989)(u.s. gold).dsk" size="39411" crc="b7e1877a" sha1="6bc3c346155c7a26da005f71d04e0ac0c4c38688" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="vigilantb" cloneof="vigilant">
- <description>Vigilante (alt 2)</description>
- <year>1989</year>
- <publisher>U.S. Gold</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="203520">
- <rom name="vigilante (1989)(u.s. gold)[a].dsk" size="203520" crc="bf35d60a" sha1="dcd5b864eb359cd702fc30ee6f4c11aa4f401be0" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="vigilantc" cloneof="vigilant">
- <description>Vigilante (alt 3)</description>
- <year>1989</year>
- <publisher>U.S. Gold</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="219136">
- <rom name="vigilante (1989)(u.s. gold)[a2].dsk" size="219136" crc="90710ee7" sha1="ada31397d1f6dfb807857cf867fb44c19cec8c28" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="vindicat">
- <description>The Vindicator</description>
- <year>1988</year>
- <publisher>Imagine Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="221184">
- <rom name="vindicator, the (1988)(imagine).dsk" size="221184" crc="c63202dc" sha1="b0bcc18baf2134ebbde4b1ac1c231ebaf8d5084b" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="vindicata" cloneof="vindicat">
- <description>The Vindicator (alt)</description>
- <year>1988</year>
- <publisher>Imagine Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="vindicator, the (1988)(imagine)[a].dsk" size="194816" crc="7cddd8a0" sha1="194b8cf0dcca32553e3a880e20fea4d37454ef2e" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="vindicatb" cloneof="vindicat">
- <description>The Vindicator (alt 2)</description>
- <year>1988</year>
- <publisher>Imagine Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="vindicator, the (1988)(imagine)[a2].dsk" size="194816" crc="f7318fed" sha1="b287dfd9651095aa4d7e93ce03061ea0fae80499" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="violvood">
- <description>The Violator of Voodoo</description>
- <year>1991</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="violator of voodoo, the (1991)(zenobi).dsk" size="194816" crc="1360096e" sha1="7d3d1d1b7e79a9b4f3fd3f8ec418303828283295" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="virus">
- <description>Virus</description>
- <year>1988</year>
- <publisher>Firebird Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="73216">
- <rom name="virus (1988)(firebird).dsk" size="73216" crc="7fb23c60" sha1="5b8ffbd10aab44a224064f794432c229846ab627" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="vixena" cloneof="vixen">
- <!-- May be the same edition as the IPF -->
- <description>Vixen (alt)</description>
- <year>1988</year>
- <publisher>Martech Games</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194560">
- <rom name="vixen (1988)(martech games).dsk" size="194560" crc="6f95265a" sha1="977c0e438119eb0bac2c23b78296ad21c1344e52" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="wecleman">
- <description>WEC Le Mans</description>
- <year>1988</year>
- <publisher>Imagine Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="wec le mans (1988)(imagine).dsk" size="194816" crc="7e865452" sha1="d6e41f7a5c257858922b8b9d26131be93abb344d" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="weclemana" cloneof="wecleman">
- <description>WEC Le Mans (alt)</description>
- <year>1988</year>
- <publisher>Imagine Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="112640">
- <rom name="wec le mans (1988)(imagine)[a].dsk" size="112640" crc="ee4cc288" sha1="2aaf533389d90dc4377396386c4abb6e07d4c7aa" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="weclemansp" cloneof="wecleman">
- <description>WEC Le Mans (Spa)</description>
- <year>1989</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="70400">
- <rom name="wec le mans (1989)(erbe)(es)(en).dsk" size="70400" crc="51cff9a9" sha1="6c83a3f0d1865094925d932f907001f96cca6002" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="wwfwrest">
- <description>WWF WrestleMania</description>
- <year>1991</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="187904">
- <rom name="wwf wrestlemania (1991)(erbe)(es)(en)(side a)[re-release].dsk" size="187904" crc="f36dd6e4" sha1="a18d7e2ca11bd9d1e7347097fd48fec3d0cf192e" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="217088">
- <rom name="wwf wrestlemania (1991)(erbe)(es)(en)(side b)[re-release].dsk" size="217088" crc="c114cf9c" sha1="bac503cbf750029b14de04aff5af8699367b596b" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="wanderer">
- <description>Wanderer</description>
- <year>1989</year>
- <publisher>MCM Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="85760">
- <rom name="wanderer (1989)(mcm)(es)(en)[re-release].dsk" size="85760" crc="79b50978" sha1="3d3101f5d9ea075b837fe68caff99eb0947c811a" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="wander3d">
- <description>Wanderer 3D</description>
- <year>1989</year>
- <publisher>Elite Systems</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="214784">
- <rom name="wanderer 3d (1989)(elite systems).dsk" size="214784" crc="4c413eed" sha1="0b9044bc343f198521e09ec8b09c95799d4f9209" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="warmidlesp" cloneof="warmidle">
- <description>War in Middle Earth (Spa)</description>
- <year>1989</year>
- <publisher>Dro Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="war in middle earth (1989)(dro soft)(es)[re-release].dsk" size="194816" crc="c79caf16" sha1="11fd036f842417aeb5f4c90fd335f46151a9bee4" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="warmidlea" cloneof="warmidle">
- <description>War in Middle Earth (alt)</description>
- <year>1989</year>
- <publisher>Melbourne House</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="175872">
- <rom name="war in middle earth (1989)(melbourne house)(side a).dsk" size="175872" crc="68822747" sha1="1e9af74431f6237596738f9a3bc52e58db122984" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="war in middle earth (1989)(melbourne house)(side b).dsk" size="194816" crc="c369b306" sha1="f4b3d2238729333dde5e0e0c903e7cb4d2c3d351" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="wellofzo">
- <description>The Well of Zol</description>
- <year>1994</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="well of zol, the (1994)(zenobi).dsk" size="194816" crc="53239936" sha1="a7dd128057ee8dfba7718e7c691413dcc0f7fb3d" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="welltrissp">
- <description>Welltris (Spa)</description>
- <year>1991</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="78080">
- <rom name="welltris (1991)(erbe)(es)(en)[re-release].dsk" size="78080" crc="e2c07cf0" sha1="fb270ca2c53498bd04d5e4ddc8a806c51f887318" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="welltrisa" cloneof="welltris">
- <description>Welltris (alt)</description>
- <year>1991</year>
- <publisher>Infogrames</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="welltris (1991)(infogrames)(fr)(en).dsk" size="194816" crc="88c856c0" sha1="5d721ce272977bfe713b6f046f3bab49dd24e9a9" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="wtss">
- <description>Where Time Stood Still</description>
- <year>1988</year>
- <publisher>Ocean Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="155648">
- <rom name="where time stood still (1988)(ocean)[aka land that time forgot, the][aka tibet].dsk" size="155648" crc="b14f1c51" sha1="6bd26b6364493679e8c956cef34ebcdc6db13894" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="whitefea">
- <description>The White Feather Cloak</description>
- <year>1992</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="white feather cloak, the (1992)(zenobi)[re-release].dsk" size="194816" crc="b9cba097" sha1="24a74a05414d5565d3ecdae3badb8d31fd980696" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="wintol88">
- <description>Winter Olympiad '88</description>
- <year>1988</year>
- <publisher>Tynesoft</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="winter olympiad '88 (1988)(tynesoft)(side a).dsk" size="194816" crc="502652dc" sha1="8afe3a599d1b877cd2a6bfed1adfc7aaa3c69a76" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="winter olympiad '88 (1988)(tynesoft)(side b).dsk" size="194816" crc="0b1cff37" sha1="a33690ad993c8fad983c49d866b2b3529f85582b" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="wizardqu">
- <description>Wizard Quest</description>
- <year>1992</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="wizard quest (1992)(zenobi).dsk" size="194816" crc="68a39e6b" sha1="dfbd2ff0cad92e093535cb2bf7698e14fbc46803" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="wizardoz">
- <description>The Wizard of Oz</description>
- <year>1995</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="wizard of oz, the (1995)(zenobi).dsk" size="194816" crc="49211c28" sha1="5e910a68ca1f4e36e75a2cb598f1ff37037a01e3" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="wcboxmana" cloneof="wcboxman">
- <description>World Championship Boxing Manager (alt)</description>
- <year>1990</year>
- <publisher>Goliath Games</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="world championship boxing manager (1990)(goliath games).dsk" size="194816" crc="d2a8e969" sha1="5f7446c07e17c9110a59ab65a45f3723311b3fb7" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="wrldclru">
- <description>World Class Rugby</description>
- <year>1991</year>
- <publisher>Audiogenic Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="world class rugby (1991)(audiogenic)[aka sports action rugby].dsk" size="194816" crc="b872dd44" sha1="2955b8cc19dc423caa56c52f1d87201379bff23e" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="worldcri">
- <description>World Cricket (tape master disk)</description>
- <year>1991</year>
- <publisher>Zeppelin Games</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="world cricket (1991)(zeppelin games)(side a)[tape master disk].dsk" size="194816" crc="9eeb2c31" sha1="7ab98010ac3374019abfd67ab6e21f46045e25e1" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <!-- Side B image shared with other master disks from Zeppelin Games. Verified at World of Spectrum. -->
- <dataarea name="flop" size="256">
- <rom name="zeppelin games master disk side b.dsk" size="256" crc="56947af2" sha1="40428c770d847a0fd1fd005b6cf1d03a34672d98" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="worldrug">
- <description>World Rugby (tape master disk)</description>
- <year>1993</year>
- <publisher>Zeppelin Games</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="world rugby (1993)(zeppelin games)(side a)[tape master disk].dsk" size="194816" crc="02431985" sha1="c8dc139cf45decf7a562a4ded04e50c32601c3ec" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="world rugby (1993)(zeppelin games)(side b)[tape master disk].dsk" size="194816" crc="700985aa" sha1="05a3d5d98a06eb0c5f7f7b7208c6ac0a670f777f" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="worldsoc">
- <description>World Soccer (tape master disk)</description>
- <year>1990</year>
- <publisher>Zeppelin Games</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="world soccer (1990)(zeppelin games)(side a)[tape master disk].dsk" size="194816" crc="acf9aa7e" sha1="2efff08d88d301db7b0b531124a7ce50095f3773" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="world soccer (1990)(zeppelin games)(side b)[tape master disk].dsk" size="194816" crc="aea985b6" sha1="3a91c13b3b7885be96413dc42821eab8044bff8d" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="wresupst">
- <description>Wrestling Superstars</description>
- <year>1993</year>
- <publisher>Code Masters</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="wrestling superstars (1993)(code masters).dsk" size="194816" crc="208f3bae" sha1="ebc7184c17bb78ec56f9abc0103e88cd83c4a536" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="wresupsta" cloneof="wresupst">
- <description>Wrestling Superstars (alt)</description>
- <year>1993</year>
- <publisher>Code Masters</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="wrestling superstars (1993)(code masters)[a].dsk" size="194816" crc="2905ac90" sha1="1e52b85bff098c25284e1c4ea5c78ed3f8118c46" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="wresupstb" cloneof="wresupst">
- <description>Wrestling Superstars (alt 2)</description>
- <year>1993</year>
- <publisher>Code Masters</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="wrestling superstars (1993)(code masters)[a2].dsk" size="194816" crc="a1a893b7" sha1="b804d2542edf2b10792fb7f4d42c69f02291a442" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="xouta" cloneof="xout">
- <description>X-Out (alt)</description>
- <year>1990</year>
- <publisher>Rainbow Arts</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="255232">
- <rom name="x-out (1990)(rainbow arts).dsk" size="255232" crc="41e419a2" sha1="61d73d0116e33fcad00fe44548a3af79892602ad" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="xoutsp" cloneof="xout">
- <description>X-Out (Spa)</description>
- <year>1990</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="53760">
- <rom name="x-out (1990)(erbe)(es)(en)(side a)[re-release].dsk" size="53760" crc="0c5f3eb3" sha1="de382a5a0d2615e01d2736bddaa7c162fed1d6fb" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <!-- Game data -->
- <dataarea name="flop" size="194816">
- <rom name="x-out (1990)(erbe)(es)(en)(side b)[re-release].dsk" size="194816" crc="37450ff0" sha1="1fe41fc4ce85f112c7820e2aa8ae19ea14af2f87" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="xenona" cloneof="xenon">
- <description>Xenon (alt)</description>
- <year>1988</year>
- <publisher>Melbourne House</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="xenon (1988)(melbourne house).dsk" size="194816" crc="3c91a046" sha1="d01bd31987d66a6886163a7e9caa4f2c9fd2e083" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="xenophob">
- <description>Xenophobe</description>
- <year>1989</year>
- <publisher>Micro Style</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="181248">
- <rom name="xenophobe (1989)(micro style)(side a).dsk" size="181248" crc="cab64cfd" sha1="2a7c42e5f7d57eb98fc8a2c988a43637dc3f9c30" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <!-- Side seems to be empty but it's a good dump of it. -->
- <dataarea name="flop" size="194816">
- <rom name="xenophobe (1989)(micro style)(side b).dsk" size="194816" crc="15368607" sha1="6c61f0dbab63b59f5328a010f10681a081fe660d" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- This is the dump at World of Spectrum -->
- <software name="xenophoba" cloneof="xenophob">
- <description>Xenophobe (alt)</description>
- <year>1989</year>
- <publisher>Micro Style</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="181248">
- <rom name="xenophobe (1989)(micro style).dsk" size="181248" crc="4f34e9f2" sha1="4fb73fb61a62b8a82c32c6807ef716c6c6ae1f54" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <!-- May be the same edition as the IPF -->
- <software name="xybotsa" cloneof="xybots">
- <description>Xybots (alt)</description>
- <year>1989</year>
- <publisher>Domark</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="174848">
- <rom name="xybots (1989)(domark).dsk" size="174848" crc="a1f722cc" sha1="8ecd129b8ef8cc53f3ee20753f6471c6a29a19d9" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="xybotssp" cloneof="xybots">
- <description>Xybots (Spa)</description>
- <year>1989</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="131328">
- <rom name="xybots (1989)(erbe)(es)(en)[re-release].dsk" size="131328" crc="f06c87e4" sha1="7ee414b540d5cce2e13f90e1d5aa4c860ff5162e" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="zenquest">
- <description>Zen Quest</description>
- <year>1995</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="zen quest (1995)(zenobi).dsk" size="194816" crc="eafce910" sha1="cc5adca5233706f5480fe1bfc10f12cacd910a10" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
-<!-- Unclear why TOSEC labels Side B as "(master disk)", it's the regular dump available at World of Spectrum. -->
- <software name="zipizape">
- <description>Zipi y Zape</description>
- <year>1989</year>
- <publisher>Dro Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="194816">
- <rom name="zipi y zape (1989)(dro soft)(es)(side a).dsk" size="194816" crc="c5de7d52" sha1="462c9dc62a14882c8d1e43c49c09d6aff55eaa25" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="194816">
- <rom name="zipi y zape (1989)(dro soft)(es)(side b)[master disk].dsk" size="194816" crc="6a86c00e" sha1="0e19d7c080c4579b387eae7e279f1a82bd286bb8" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="zipizapea" cloneof="zipizape">
- <description>Zipi y Zape (alt)</description>
- <year>1989</year>
- <publisher>Dro Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="zipi y zape (1989)(dro soft)(es).dsk" size="194816" crc="b962d47d" sha1="1bf0c1c4a705be0c7fbd4027718eca7e11d1a3ff" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="zzzz">
- <description>Zzzz</description>
- <year>1986</year>
- <publisher>Zenobi Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="zzzz (1986)(zenobi)[re-release].dsk" size="194816" crc="87122e5a" sha1="455c344a7b0ffce91dbf18c33d0e696fd569c7c1" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Compilations - Games - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
-<!-- Erroneously identified as a compilation in TOSEC -->
- <software name="emilbut2">
- <description>Emilio Butragueno 2</description>
- <year>1989</year>
- <publisher>Erbe Software - Ocean</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="emilio butragueno 2 (1989)(erbe software - ocean)(es)[aka emilio butragueno futbol 2].dsk" size="194816" crc="0ac224b8" sha1="7d3df2ca6721a3d5bd225ae64c66faf6da709bb0" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle023">
- <description>Outlet issue 023</description>
- <year>1989</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="216195">
- <rom name="outlet issue 023 (1989)(outlet).dsk" size="216195" crc="8f4208a4" sha1="f54637374a61ff327f3d2b4df0c5f45da125081b" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle024">
- <description>Outlet issue 024</description>
- <year>1989</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="215296">
- <rom name="outlet issue 024 (1989)(outlet).dsk" size="215296" crc="ac70f43f" sha1="b0a57deb37ae0d38c49da016d47380e0df2d93c9" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle025">
- <description>Outlet issue 025</description>
- <year>1989</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="215296">
- <rom name="outlet issue 025 (1989)(outlet).dsk" size="215296" crc="759d28cd" sha1="9b3490cab42971ec88e4cbcea5a79806c830f998" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle026">
- <description>Outlet issue 026</description>
- <year>1989</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="215296">
- <rom name="outlet issue 026 (1989)(outlet).dsk" size="215296" crc="4ea1efac" sha1="53d7402fa8c6fc52a5d615aa438658f6cf5d4826" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle027">
- <description>Outlet issue 027</description>
- <year>1989</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="215296">
- <rom name="outlet issue 027 (1989)(outlet).dsk" size="215296" crc="1a59232f" sha1="565f0bc985f3c2fda6f05a5b3011e1925b2f11df" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle028">
- <description>Outlet issue 028</description>
- <year>1989</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="215296">
- <rom name="outlet issue 028 (1989)(outlet).dsk" size="215296" crc="2be73d7b" sha1="499cc8bef5494ebf7afac9d1dfde37e49209bd84" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle029">
- <description>Outlet issue 029</description>
- <year>1990</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 029 (1990)(outlet).dsk" size="226048" crc="96509834" sha1="53e5aaebd4299f1b54290f6c1367a8105a6db85e" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle030">
- <description>Outlet issue 030</description>
- <year>1990</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226987">
- <rom name="outlet issue 030 (1990)(outlet).dsk" size="226987" crc="78ac2b53" sha1="65b1e939f71af926528483ce1e961aa7e4a312cf" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle031">
- <description>Outlet issue 031</description>
- <year>1990</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="215296">
- <rom name="outlet issue 031 (1990)(outlet).dsk" size="215296" crc="c8617655" sha1="9b33fa287b0ef19c0b93e34c89eaa46757a79510" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle032">
- <description>Outlet issue 032</description>
- <year>1990</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="215296">
- <rom name="outlet issue 032 (1990)(outlet).dsk" size="215296" crc="73d6b349" sha1="a968e70e0f01f91293f28bfa5153c48b1f807ba8" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle033">
- <description>Outlet issue 033</description>
- <year>1990</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 033 (1990)(outlet).dsk" size="226048" crc="d581a48c" sha1="146f34bb6ef486ef78fe0fa3d45fdba12b77b2de" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle034">
- <description>Outlet issue 034</description>
- <year>1990</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="215296">
- <rom name="outlet issue 034 (1990)(outlet)(side a).dsk" size="215296" crc="7478a2ec" sha1="936bf5ffa16d6a5f1e725e84e7befe43c04bdc44" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="215296">
- <rom name="outlet issue 034 (1990)(outlet)(side b).dsk" size="215296" crc="23b2d907" sha1="91113badec95b211eabd5373ae8480e6bb679875" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle035">
- <description>Outlet issue 035</description>
- <year>1990</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 035 (1990)(outlet)(side a).dsk" size="226048" crc="d2773333" sha1="2c4afe1b5ca2b8a447ef6a36852766abe37fa9b8" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 035 (1990)(outlet)(side b).dsk" size="226048" crc="cca00458" sha1="64274c235096f06f7892c5e00d92dd9a77f17298" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle036">
- <description>Outlet issue 036</description>
- <year>1990</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 036 (1990)(outlet)(side a).dsk" size="226048" crc="2beb6f89" sha1="5ef8acdf3f5a1c7d407ec4e1786eef3b611586be" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 036 (1990)(outlet)(side b).dsk" size="226048" crc="8d09857b" sha1="5b938838fc37ac6e9f39906f240d990795613b3b" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle037">
- <description>Outlet issue 037</description>
- <year>1990</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 037 (1990)(outlet)(side a).dsk" size="226048" crc="a611d7f0" sha1="13c5f63ff5cd2aff096b8544668a2139b3cb9db3" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 037 (1990)(outlet)(side b).dsk" size="226048" crc="b689fdd9" sha1="b0d60d4045e7ec950453d588b3098e843588721e" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle038">
- <description>Outlet issue 038</description>
- <year>1990</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 038 (1990)(outlet)(side a).dsk" size="226048" crc="33ac27ee" sha1="ca4817821c0e988aefb347f559d0c15a55bbeecc" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 038 (1990)(outlet)(side b).dsk" size="226048" crc="86ab9fa0" sha1="466228c2c0558b5c730bc2f1256344c92c486064" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle039">
- <description>Outlet issue 039</description>
- <year>1990</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 039 (1990)(outlet)(side a).dsk" size="226048" crc="b33cfc27" sha1="3f70b89c4eeff58d020bc1543545d491d03f2faf" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 039 (1990)(outlet)(side b).dsk" size="226048" crc="ac4a55bf" sha1="de66fdf471bf6b7a6db9ac5a45034bd609e5d4b4" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle040">
- <description>Outlet issue 040</description>
- <year>1990</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 040 (1990)(outlet)(side a).dsk" size="226048" crc="064caff0" sha1="5e5a91ec40b62a1efdb09ea5b13a9eedea3c0e3a" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 040 (1990)(outlet)(side b).dsk" size="226048" crc="70ad9d52" sha1="55ebd26a35257456ab2bc1060085219f19f3cd24" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle041">
- <description>Outlet issue 041</description>
- <year>1991</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 041 (1991)(outlet)(side a).dsk" size="226048" crc="2f29d082" sha1="7af01f71d39be3d5d5d4218f341f45fffb8785b0" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 041 (1991)(outlet)(side b).dsk" size="226048" crc="557aa714" sha1="130b1e56ab6514f2510438409589452789d1a388" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle042">
- <description>Outlet issue 042</description>
- <year>1991</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 042 (1991)(outlet)(side a).dsk" size="226048" crc="9960321e" sha1="c7762c92f3e42e610184eddbbb38f0546dc14a79" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 042 (1991)(outlet)(side b).dsk" size="226048" crc="348484ba" sha1="2fec990437274d452926b8a8f1225beccd572f9c" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle043">
- <description>Outlet issue 043</description>
- <year>1991</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 043 (1991)(outlet)(side a).dsk" size="226048" crc="39a79367" sha1="41fa0297c379f4dd33fcfab5418dcd1aab995058" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 043 (1991)(outlet)(side b).dsk" size="226048" crc="ad442f10" sha1="9cd6fd6ae5b2c490b3a7801ec2a889397f896ccc" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle044">
- <description>Outlet issue 044</description>
- <year>1991</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 044 (1991)(outlet)(side a).dsk" size="226048" crc="47eb9929" sha1="fcd9f604ec274905a81a1258e58c32bb088566f3" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 044 (1991)(outlet)(side b).dsk" size="226048" crc="bbedeac6" sha1="0b6c76ad7d5c833c9c9b7a769d55978111bf1063" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle045">
- <description>Outlet issue 045</description>
- <year>1991</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 045 (1991)(outlet)(side a).dsk" size="226048" crc="389979ae" sha1="aacbff56da6ea5e9d85e453e03d43ac469eec03a" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 045 (1991)(outlet)(side b).dsk" size="226048" crc="ef99b650" sha1="4ef0ee1d56d48ec72e8f2d8075a452aabb689cf5" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle046">
- <description>Outlet issue 046</description>
- <year>1991</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 046 (1991)(outlet)(side a).dsk" size="226048" crc="2afb91ef" sha1="39b029151e7dbef71413c9fe058fb133f4ac90a1" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 046 (1991)(outlet)(side b).dsk" size="226048" crc="f6eec609" sha1="2d7f2a7cd6ae374bfaf31ffa28b87220e607d07e" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle047">
- <description>Outlet issue 047</description>
- <year>1991</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 047 (1991)(outlet)(side a).dsk" size="226048" crc="63efa2fc" sha1="3c506a9713e3e631e3fc823e02552e2bf53254bb" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 047 (1991)(outlet)(side b).dsk" size="226048" crc="bd48c4f2" sha1="3f67f96f92d69c10ac360c45dcfbeb512e578cfb" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle048">
- <description>Outlet issue 048</description>
- <year>1991</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 048 (1991)(outlet)(side a).dsk" size="226048" crc="8f316696" sha1="fd1342dc497c2c7ae23b59ad92cbdc21150d1721" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 048 (1991)(outlet)(side b).dsk" size="226048" crc="cda45114" sha1="79e7e3aa3dfecfd1e37332d492257c185a50c36a" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle049">
- <description>Outlet issue 049</description>
- <year>1991</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 049 (1991)(outlet)(side a).dsk" size="226048" crc="8114e28f" sha1="12ce75a67ee9ff9e1ef26a31456c09a6467ec527" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 049 (1991)(outlet)(side b).dsk" size="226048" crc="da2e4308" sha1="32c1e1cf048d24ad0ce22a598f93a9031fd221fd" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle050">
- <description>Outlet issue 050</description>
- <year>1991</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 050 (1991)(outlet)(side a).dsk" size="226048" crc="7e587a46" sha1="8baab165d2044d301a7d0a1336ff2e32e6d6b940" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 050 (1991)(outlet)(side b).dsk" size="226048" crc="05f01d3f" sha1="27b6f933a723e41d785dc08c92d7152c2e70cb5e" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle051">
- <description>Outlet issue 051</description>
- <year>1991</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 051 (1991)(outlet)(side a).dsk" size="226048" crc="8b60a5cb" sha1="4b0199da41b79c5829800a4a0cd66f3cdd898bec" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 051 (1991)(outlet)(side b).dsk" size="226048" crc="2a06937e" sha1="7ef139e94b9d1bf5ada3f7ee87ca9950423bb947" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle052">
- <description>Outlet issue 052</description>
- <year>1991</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 052 (1991)(outlet)(side a).dsk" size="226048" crc="3267f917" sha1="1773e81bec3178ceb9e22eb4894c5787d170fae2" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 052 (1991)(outlet)(side b).dsk" size="226048" crc="e21c8753" sha1="e29a9c4616da0e1f857143ba16c587eaa6cc6565" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle053">
- <description>Outlet issue 053</description>
- <year>1992</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 053 (1992)(outlet)(side a).dsk" size="226048" crc="c7764a94" sha1="5c60ff9b0dbf060b2ab2fa663783760d46ddaf50" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 053 (1992)(outlet)(side b).dsk" size="226048" crc="ef4fb121" sha1="bf668422a05c255ae5ebb56f59f85907c9de3639" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle054">
- <description>Outlet issue 054</description>
- <year>1992</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 054 (1992)(outlet)(side a).dsk" size="226048" crc="0c090ec6" sha1="77fb3ef8b6659c98484a83d62020c1557087f697" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 054 (1992)(outlet)(side b).dsk" size="226048" crc="eb1f1a71" sha1="ab65f251a750ed3fc434b758025c06eba22c5573" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle055">
- <description>Outlet issue 055</description>
- <year>1992</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 055 (1992)(outlet)(side a).dsk" size="226048" crc="2475c9f3" sha1="021adc780ec1a211f01b234fac82febf54ac9075" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 055 (1992)(outlet)(side b).dsk" size="226048" crc="d1f64117" sha1="1e7265765d6ae4c237d05fc08aff7f96a8da4990" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle056">
- <description>Outlet issue 056</description>
- <year>1992</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 056 (1992)(outlet)(side a).dsk" size="226048" crc="9ca279e4" sha1="0d981a2cc0a6232c89c7817928c02a7b8bbde2ed" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 056 (1992)(outlet)(side b).dsk" size="226048" crc="f84a4413" sha1="da3823af23c7defb8267dc655c55ca80061fbe6d" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle057">
- <description>Outlet issue 057</description>
- <year>1992</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 057 (1992)(outlet)(side a).dsk" size="226048" crc="59380255" sha1="5d75e99f253b768a08d6dcc637e372158fceacc4" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 057 (1992)(outlet)(side b).dsk" size="226048" crc="d5774496" sha1="42da487dbeeffd8ac86dd037f34014c11cc316ce" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle059">
- <description>Outlet issue 059</description>
- <year>1992</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 059 (1992)(outlet)(side a).dsk" size="226048" crc="b82451b3" sha1="1169d5a1d594725bc90fe0a95757306087150704" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 059 (1992)(outlet)(side b).dsk" size="226048" crc="16547a16" sha1="1a37cca8cafc48e4d9e056b322ae005c61a926e7" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle060">
- <description>Outlet issue 060</description>
- <year>1992</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 060 (1992)(outlet)(side a).dsk" size="226048" crc="cfdfd178" sha1="37f7dd1b98d3f3d0c6d594437237069d09564776" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 060 (1992)(outlet)(side b).dsk" size="226048" crc="e6c80363" sha1="450ab2039a50bbd47df39e4ee3511b46a6e321b4" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle061">
- <description>Outlet issue 061</description>
- <year>1992</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 061 (1992)(outlet)(side a).dsk" size="226048" crc="e3c0a52a" sha1="7d70167e02deb869a44b83865465748e590edf84" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 061 (1992)(outlet)(side b).dsk" size="226048" crc="361490c4" sha1="6291164a6caaf75f2454b56a1fe507ed9613ba70" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle062">
- <description>Outlet issue 062</description>
- <year>1992</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 062 (1992)(outlet)(side a).dsk" size="226048" crc="d0a860b6" sha1="3b900961607e58a02eebb229ace45b033893a422" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 062 (1992)(outlet)(side b).dsk" size="226048" crc="092808e0" sha1="8c2e71eb7dc70959b5ca391885de29041ba6d32f" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle066">
- <description>Outlet issue 066</description>
- <year>1993</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 066 (1993)(outlet)(side a).dsk" size="226048" crc="16701775" sha1="ea7c02c3e56ac2cac3773314e827deae017fb019" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 066 (1993)(outlet)(side b).dsk" size="226048" crc="08bd360b" sha1="390f6326c9be0df92c1aeacd8dadcf7687e05d9e" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle067">
- <description>Outlet issue 067</description>
- <year>1993</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 067 (1993)(outlet)(side a).dsk" size="226048" crc="58bd8c25" sha1="254ed6879714188c642d6c7707a45335eb375dcd" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 067 (1993)(outlet)(side b).dsk" size="226048" crc="8421d669" sha1="a188c64412e91c9a06a865a1924f543edfc2fa47" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle068">
- <description>Outlet issue 068</description>
- <year>1993</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 068 (1993)(outlet)(side a).dsk" size="226048" crc="99450290" sha1="541e7f2b4e646461e0ebbe76253a39e43a2eaef2" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 068 (1993)(outlet)(side b).dsk" size="226048" crc="41f50495" sha1="32ab73779d2d0895c44234108dd7e73fcae34808" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle069">
- <description>Outlet issue 069</description>
- <year>1993</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 069 (1993)(outlet)(side a).dsk" size="226048" crc="9300d94c" sha1="0b4a2a95d513fd238b7e72519682ff4a29757cc7" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 069 (1993)(outlet)(side b).dsk" size="226048" crc="08cecce5" sha1="a3bd59f0dcd919a826b7a1e8c0e16d7ec2aa29fc" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle070">
- <description>Outlet issue 070</description>
- <year>1993</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 070 (1993)(outlet)(side a).dsk" size="226048" crc="43c63528" sha1="807ddeeb9cd17fb849b59d489e17c770e70576c0" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 070 (1993)(outlet)(side b).dsk" size="226048" crc="758a3b19" sha1="0c6d6069518d261310e3b23771542b783f26acad" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle071">
- <description>Outlet issue 071</description>
- <year>1993</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 071 (1993)(outlet)(side a).dsk" size="226048" crc="71e04e05" sha1="5c2a526b9144eaaab87bc0b091b9259bbfe4b254" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 071 (1993)(outlet)(side b).dsk" size="226048" crc="5739563e" sha1="e469c9767f1fdaf7389559abee648befa87bd780" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle072">
- <description>Outlet issue 072</description>
- <year>1993</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 072 (1993)(outlet)(side a).dsk" size="226048" crc="96537901" sha1="306f8ef4849ad23e49676def5599351647cdd1fa" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 072 (1993)(outlet)(side b).dsk" size="226048" crc="bf1e0618" sha1="c5fa329076a41dab631d2e2f6af8abe1f321ef45" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle074">
- <description>Outlet issue 074</description>
- <year>1993</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 074 (1993)(outlet)(side a).dsk" size="226048" crc="1c8b63e1" sha1="cadfb5b6d0b2297bbb7ef8c8d87b921cb478e591" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 074 (1993)(outlet)(side b).dsk" size="226048" crc="2cc94dd8" sha1="ec2fcc8ab7958f9bf0b4e877a45f610bc2796aaa" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle077">
- <description>Outlet issue 077</description>
- <year>1994</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 077 (1994)(outlet)(side a).dsk" size="226048" crc="70b9b111" sha1="35c3fdaa8181811673adce188e2e87a5933558f4" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 077 (1994)(outlet)(side b).dsk" size="226048" crc="ad5ca0a1" sha1="1d2e8b134d993fe1f822c822c689647430670c19" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle080">
- <description>Outlet issue 080</description>
- <year>1994</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 080 (1994)(outlet)(side a).dsk" size="226048" crc="0ee19ca2" sha1="bf1347141360b01e1ed93c8003611323cda75503" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 080 (1994)(outlet)(side b).dsk" size="226048" crc="9af5a81a" sha1="3a66c12239a42dfed940108d4449aad6c6ef074d" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle081">
- <description>Outlet issue 081</description>
- <year>1994</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 081 (1994)(outlet)(side a).dsk" size="226048" crc="08360731" sha1="37c64c4a4baeb020d44ea8f54e9846107f106540" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 081 (1994)(outlet)(side b).dsk" size="226048" crc="9f92e4e2" sha1="6cfe9c6564b29d23417cb56e1b3d4d05491de4e8" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle082">
- <description>Outlet issue 082</description>
- <year>1994</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 082 (1994)(outlet)(side a).dsk" size="226048" crc="51be8024" sha1="6cde8546beb0883c741b9190062b29e32738f690" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 082 (1994)(outlet)(side b).dsk" size="226048" crc="39786d03" sha1="a4ba3002e8c920f6f12e333cca675104ae131c06" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle083">
- <description>Outlet issue 083</description>
- <year>1994</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 083 (1994)(outlet)(side a).dsk" size="226048" crc="83416c11" sha1="ba6890d829e0f7b4aebefe717a1b59218ac58831" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 083 (1994)(outlet)(side b).dsk" size="226048" crc="979e150c" sha1="a82963d60e3b40b3c3270cd646772963d9a62285" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle084">
- <description>Outlet issue 084</description>
- <year>1994</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 084 (1994)(outlet)(side a).dsk" size="226048" crc="b0370b7a" sha1="a7652daafc722169d7c1d54ed752a229245c19fe" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 084 (1994)(outlet)(side b).dsk" size="226048" crc="4800f224" sha1="2996d027138252d5efa97e9732488bcce97e5a5c" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle086">
- <description>Outlet issue 086</description>
- <year>1994</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 086 (1994)(outlet)(side a).dsk" size="226048" crc="9b79992e" sha1="6f7774063179b0a14f4e4e32f4d1339149f6c158" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 086 (1994)(outlet)(side b).dsk" size="226048" crc="a6771318" sha1="b05a3182dabc83914eb0eee20eca438d73ce5977" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle087">
- <description>Outlet issue 087</description>
- <year>1994</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 087 (1994)(outlet)(side a).dsk" size="226048" crc="735bb8ec" sha1="dace26efb5d40ceeb6208fb3cd9faedf34db8b3b" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 087 (1994)(outlet)(side b).dsk" size="226048" crc="2edd1b09" sha1="534e7bca4fc6b7794f272277d6d535769437c471" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle088">
- <description>Outlet issue 088</description>
- <year>1994</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 088 (1994)(outlet)(side a).dsk" size="226048" crc="411a360e" sha1="a7452f031a873dd40348af24b2cfd8d04a6c2cb5" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 088 (1994)(outlet)(side b).dsk" size="226048" crc="fb4a75ca" sha1="c2179916c377384d3e6deed5ef486c1343ad4473" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle089">
- <description>Outlet issue 089</description>
- <year>1995</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 089 (1995)(outlet)(side a).dsk" size="226048" crc="78ee8697" sha1="b3724ad26e580450ecb549e01232b0a0607ef24a" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 089 (1995)(outlet)(side b).dsk" size="226048" crc="351d0b7f" sha1="3eaf9aac6939f6ae05a1799418d2341b98ec1d0a" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle090">
- <description>Outlet issue 090</description>
- <year>1995</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 090 (1995)(outlet)(side a).dsk" size="226048" crc="a20d3d17" sha1="e4c63aee85e411354ed6842cf29d7ef2a746eeeb" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 090 (1995)(outlet)(side b).dsk" size="226048" crc="99295cd8" sha1="ae1d6e49ddf68ce27b460c5d866e43596e9db9b4" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle091">
- <description>Outlet issue 091</description>
- <year>1995</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 091 (1995)(outlet)(side a).dsk" size="226048" crc="641e4365" sha1="bb7e5064d02180096c0eb6615dd4ae2b370bede5" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 091 (1995)(outlet)(side b).dsk" size="226048" crc="fe3b1dd5" sha1="a46f2cadb5e6627a359c9476d797be57c8e1757a" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle092">
- <description>Outlet issue 092</description>
- <year>1995</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 092 (1995)(outlet)(side a).dsk" size="226048" crc="c8f1aa35" sha1="f3e62de14ac4039eb60d1e02b36a52e66f3e8249" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 092 (1995)(outlet)(side b).dsk" size="226048" crc="76b5a3ce" sha1="8aebe0ad435314f7c8e2bbaa76cf78cfc85bcbef" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle093">
- <description>Outlet issue 093</description>
- <year>1995</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 093 (1995)(outlet)(side a).dsk" size="226048" crc="6a37384a" sha1="7b82874ac10771804f2d9f8752ffbad868237c9f" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 093 (1995)(outlet)(side b).dsk" size="226048" crc="b8b57c3e" sha1="d70cfae2627615f401691a8b08913e59b79a2ccf" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle094">
- <description>Outlet issue 094</description>
- <year>1995</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 094 (1995)(outlet)(side a).dsk" size="226048" crc="0300670d" sha1="1531002883ae0709d2d9b92a045f3a0c4650d528" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 094 (1995)(outlet)(side b).dsk" size="226048" crc="21a271d0" sha1="64a1084bd7fed43d19b909186c85e84cabefc721" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle095">
- <description>Outlet issue 095</description>
- <year>1995</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 095 (1995)(outlet)(side a).dsk" size="226048" crc="0b94a0d9" sha1="f67d967f18608e905ec2df9b1291e9ede3b42ca6" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 095 (1995)(outlet)(side b).dsk" size="226048" crc="091552d9" sha1="f6cfa8ae37ea8a1c3c7963a75cf5fa15c4d7c07e" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle096">
- <description>Outlet issue 096</description>
- <year>1995</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 096 (1995)(outlet)(side a).dsk" size="226048" crc="1efd43eb" sha1="49459ee92d9d69e61c1ac8cfb62b41d2989131c5" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 096 (1995)(outlet)(side b).dsk" size="226048" crc="fe1953c5" sha1="2daf42b85f768cd9642672e898b6bdaaf7fd42e0" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle097">
- <description>Outlet issue 097</description>
- <year>1995</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 097 (1995)(outlet)(side a).dsk" size="226048" crc="e2e1c840" sha1="7bdbf5ee01ab10223bc4c4f8f8b5204f0367fde3" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 097 (1995)(outlet)(side b).dsk" size="226048" crc="a0633e44" sha1="57a81ac480bf1a35f14f64bd4f9111ded543d506" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle098">
- <description>Outlet issue 098</description>
- <year>1995</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 098 (1995)(outlet)(side a).dsk" size="226048" crc="2d36c7d1" sha1="b0f8df560f325fb3e6c8f2d3bc00f7dbd040d564" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 098 (1995)(outlet)(side b).dsk" size="226048" crc="da72da56" sha1="880ba726c46e4c4b4cfd9757b1c4fc0cd4e24727" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle099">
- <description>Outlet issue 099</description>
- <year>1995</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 099 (1995)(outlet)(side a).dsk" size="226048" crc="2486cb95" sha1="6a5faba62a342f7b5ab3ddf39e146fcb2b6daf8f" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 099 (1995)(outlet)(side b).dsk" size="226048" crc="0571efe9" sha1="f1214c79248c9c999da9c5d5a4ebdd43e29a8ef5" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle100">
- <description>Outlet issue 100</description>
- <year>1995</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 100 (1995)(outlet)(side a).dsk" size="226048" crc="92c2f2d1" sha1="a575a84d95f7db280dc9fd998c91a23db0f27267" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 100 (1995)(outlet)(side b).dsk" size="226048" crc="a8127cff" sha1="e487759b43e1b2d82a67cc0d7ccfc8ff3ea7812c" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle102">
- <description>Outlet issue 102</description>
- <year>1996</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 102 (1996)(outlet)(side a).dsk" size="226048" crc="1cfa72cc" sha1="085e184d9d79752bdd2298e21b6347c67fd64efa" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 102 (1996)(outlet)(side b).dsk" size="226048" crc="5fb0e6a1" sha1="2b6f82877b371c7cbcb984f411e45ca7118affe0" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle104">
- <description>Outlet issue 104</description>
- <year>1996</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 104 (1996)(outlet)(side a).dsk" size="226048" crc="3638c100" sha1="14e82b8fdbf15ebf6220b50ff09f7925c8000c21" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 104 (1996)(outlet)(side b).dsk" size="226048" crc="0492eeae" sha1="27271fabb5a9d299d15088680d19d48914c460fe" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle106">
- <description>Outlet issue 106</description>
- <year>1996</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 106 (1996)(outlet)(side a).dsk" size="226048" crc="73b6080a" sha1="d93c13cd0cda70e1b8df9b06e094e9801b1af56c" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 106 (1996)(outlet)(side b).dsk" size="226048" crc="7d840a8c" sha1="757bd288deb55fc5bba8711d883c6d12fdeb8b44" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle107">
- <description>Outlet issue 107</description>
- <year>1996</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 107 (1996)(outlet)(side a).dsk" size="226048" crc="04e6e5bc" sha1="01ed80e78299493b3f0d3d7db3db1144fa74322b" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 107 (1996)(outlet)(side b).dsk" size="226048" crc="274f7a00" sha1="352181d82bc4980c40f57661928dc849782c69bf" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle108">
- <description>Outlet issue 108</description>
- <year>1996</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 108 (1996)(outlet)(side a).dsk" size="226048" crc="45ff3b5a" sha1="3167e7af4738b045d7bdf508c23efda94e877ac2" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 108 (1996)(outlet)(side b).dsk" size="226048" crc="cf70a1f1" sha1="618e5f1fcc3579cdaffc4dc5f916d2062f68c697" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle109">
- <description>Outlet issue 109</description>
- <year>1996</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 109 (1996)(outlet)(side a).dsk" size="226048" crc="aff33564" sha1="88efe6492245ecaaa490d6c1d9c474502ce8d86b" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 109 (1996)(outlet)(side b).dsk" size="226048" crc="120381b0" sha1="088f1dbefde9b01002ba09944fe10a7c6f3ebd99" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle110">
- <description>Outlet issue 110</description>
- <year>1996</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 110 (1996)(outlet)(side a).dsk" size="226048" crc="ecf0bf64" sha1="ee4ba7bed464dd309e94b242b76084e0c6b49929" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 110 (1996)(outlet)(side b).dsk" size="226048" crc="ad4dc57f" sha1="6b66f7126636f99a274e2ecb8e7a89261dad5200" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle111">
- <description>Outlet issue 111</description>
- <year>1996</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 111 (1996)(outlet)(side a).dsk" size="226048" crc="068a68ae" sha1="0419e102cc9cee67651d607a86fe36460f1183a3" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 111 (1996)(outlet)(side b).dsk" size="226048" crc="28988916" sha1="b256c843e19511122a33a160af5df559d21ae55f" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle112">
- <description>Outlet issue 112</description>
- <year>1996</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 112 (1996)(outlet)(side a).dsk" size="226048" crc="b0669b73" sha1="aff6cc065f8b45fd11308c22ddcec41b359d4458" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 112 (1996)(outlet)(side b).dsk" size="226048" crc="d91a283b" sha1="e3b7314e3369fe47fbfa55c0bd7169b564882203" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle113">
- <description>Outlet issue 113</description>
- <year>1997</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 113 (1997)(outlet)(side a).dsk" size="226048" crc="a68f6362" sha1="b5ff3286c88224adf20dba3c191720ba172f1958" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 113 (1997)(outlet)(side b).dsk" size="226048" crc="89e5e066" sha1="a7dad0d07a29819b8a80f60e47ae6de34a71e321" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle114">
- <description>Outlet issue 114</description>
- <year>1997</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 114 (1997)(outlet)(side a).dsk" size="226048" crc="74345db7" sha1="c9fb8e62d585f3cb9edfa27442c9f417d80db186" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 114 (1997)(outlet)(side b).dsk" size="226048" crc="fb9f0437" sha1="c2d4e1e7a5aac196e2d9279416293c10df2aeec8" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle115">
- <description>Outlet issue 115</description>
- <year>1997</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 115 (1997)(outlet)(side a).dsk" size="226048" crc="9aee9e0f" sha1="be84db2b91f19229079a1560f54d92672f2b281d" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 115 (1997)(outlet)(side b).dsk" size="226048" crc="726b1600" sha1="dcbc19c1867edf358d5e6608fb1e435c712c5eec" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle116">
- <description>Outlet issue 116</description>
- <year>1997</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 116 (1997)(outlet)(side a).dsk" size="226048" crc="614ee69d" sha1="f849eeeff8f4c18c34b2525f5d13f0f832fd8794" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 116 (1997)(outlet)(side b).dsk" size="226048" crc="ef33c336" sha1="79912ef40f92993e956064ec97f3e127008cd707" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle118">
- <description>Outlet issue 118</description>
- <year>1997</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 118 (1997)(outlet)(side a).dsk" size="226048" crc="4c89511a" sha1="25d1f269327ed78d3b8be0ee0190f44d796c3c36" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 118 (1997)(outlet)(side b).dsk" size="226048" crc="7fc890cf" sha1="91fa641b09e05292ea103dc00fb5883fb87cc994" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle119">
- <description>Outlet issue 119</description>
- <year>1997</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 119 (1997)(outlet)(side a).dsk" size="226048" crc="87767ef5" sha1="2107cc5870278efe23b602dc39e069cd138f0a8d" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 119 (1997)(outlet)(side b).dsk" size="226048" crc="7587f1d3" sha1="ebad6d34c48363045858de977bd96b3536fce8ea" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle120">
- <description>Outlet issue 120</description>
- <year>1997</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 120 (1997)(outlet)(side a).dsk" size="226048" crc="3ff428b5" sha1="5bc0b755ccbdc8d841c4a1fa9d65aa127495153f" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 120 (1997)(outlet)(side b).dsk" size="226048" crc="b8ff2c62" sha1="0a32a349648f2a47c6b8edfc70efe6892931d79a" offset="0" />
- </dataarea>
- </part>
- </software>
-
-<!-- From "Sinclair ZX Spectrum - Magazines - [DSK] (TOSEC-v2018-03-24_CM).dat" -->
- <software name="outle121">
- <description>Outlet issue 121</description>
- <year>1997</year>
- <publisher>Outlet</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 121 (1997)(outlet)(side a).dsk" size="226048" crc="e6e29d03" sha1="b37a5e7e41fa88cfbe5fed141259dad54b821c06" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size="226048">
- <rom name="outlet issue 121 (1997)(outlet)(side b).dsk" size="226048" crc="fd653c43" sha1="f25d4b2d07339a54bd43954a0c68c2bfdc8232bd" offset="0" />
- </dataarea>
- </part>
- </software>
-
-
-<!-- Below is a selection of disk images from the backlog of SPA2. -->
-
- <software name="2x1fhpha">
- <description>2 X 1: Phantis + Freddy Hardest</description>
- <year>1987</year>
- <publisher>Dinamic Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Freddy Hardest"/>
- <dataarea name="flop" size = "109568">
- <rom name="2x1 - Freddy Hardest + Phantis - Side 1.dsk" size="109568" crc="407577a2" sha1="69a82cd67d523a5f8d970cfaa73d09c2d509c6b0" offset="0"/>
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Phantis"/>
- <dataarea name="flop" size = "109568">
- <rom name="2x1 - Freddy Hardest + Phantis - Side 2.dsk" size="109568" crc="b46d7b33" sha1="7043d384ec2cef8ffca6d2af4f81cfe563d328b9" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="2x1huntg">
- <description>2 X 1: Hundra + Turbo Girl</description>
- <year>1988</year>
- <publisher>Dinamic Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Hundra"/>
- <dataarea name="flop" size = "59097">
- <rom name="2x1 - Hundra + Turbo Girl - Side 1.dsk" size="59097" crc="87cb996f" sha1="2bfd84fc1d7ffe3453f7fe7b1338567ecc653ecf" offset="0"/>
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Turbo Girl"/>
- <dataarea name="flop" size = "59097">
- <rom name="2x1 - Hundra + Turbo Girl - Side 2.dsk" size="59097" crc="8a8892e4" sha1="b81a1ddaf5f47cbb0c091aac8dd69a9e651c2788" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="abadcrim">
- <description>La Abadia del Crimen</description>
- <year>1988</year>
- <publisher>Opera Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size = "191744">
- <rom name="Abadia del Crimen, La - Side A (Opera Soft).dsk" size="191744" crc="b39e6efb" sha1="7d84706254c7b472e9b778bf55e1894e19bbd161" offset="0"/>
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size = "102400">
- <rom name="Abadia del Crimen, La - Side B (Opera Soft).dsk" size="102400" crc="a73c0154" sha1="637f791ac9f1ef61d3c7afa4b4ee6ff5cfad22b7" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="ausgamessp">
- <description>Australian Games (Spa)</description>
- <year>1990</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size = "194816">
- <rom name="Australian Games - Side A [recovered].dsk" size="194816" crc="a3d813cc" sha1="70edcad46b89d7f96710bc0dcda86f6fc1ee1c7d" offset="0"/>
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size = "195635">
- <rom name="Australian Games - Side B.dsk" size="195635" crc="6ace009c" sha1="3208ed5cb7e2a7d865f57b43efc80110144714fd" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="badlandssp" cloneof="badlands">
- <description>Badlands (Spa)</description>
- <year>1990</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size = "97995">
- <rom name="Badlands.dsk" size="97995" crc="44ae6f1e" sha1="683489b807cced8c290f8274e428df56d3535cd1" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="buggyboysp" cloneof="buggyboy">
- <description>Buggy Boy (Spa)</description>
- <year>1988</year>
- <publisher>MCM Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size = "195635">
- <rom name="Buggy Boy.dsk" size="195635" crc="c37afecb" sha1="19550826617711dd2d8c0d17421b6f5266a44cd1" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="clschss4sp" cloneof="clschss4">
- <description>Colossus Chess 4 (Spa)</description>
- <year>1986</year>
- <publisher>Proein</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size = "194816">
- <rom name="Colossus 4 Chess (Proein).dsk" size="194816" crc="6fc03840" sha1="462dbf4f71e984448de7638ade421eb9355a4bc7" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="comarcav">
- <!-- No good dump exists of Disk 2. -->
- <description>Comic, Arcade &amp; Aventura</description>
- <year>1991</year>
- <publisher>Dro Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Disk 1, Side A: Capitan Trueno, Freddy Hardest"/>
- <dataarea name="flop" size = "166817">
- <rom name="Comic, Arcade &amp; Aventura - Disk 1 Side 1.dsk" size="166817" crc="926eafa7" sha1="73401bac1b1c0b2c5e7b1f164378bf1bd83de99a" offset="0"/>
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Disk 1, Side B: Cozumel, Cosmic Sheriff"/>
- <dataarea name="flop" size = "146815">
- <rom name="Comic, Arcade &amp; Aventura - Disk 1 Side 2.dsk" size="146815" crc="f3aa29d1" sha1="e64bd9a87a81dd273751d6dca1a1e413d9018fa1" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="ddarecol">
- <description>Dan Dare Collection</description>
- <year>1988</year>
- <publisher>Dro Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size = "194816">
- <rom name="Dan Dare Collection (DroSoft).dsk" size="194816" crc="8692a7cc" sha1="e4154ad57856025ccadbacc512b15280f8032fc2" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="drazenpba" cloneof="drazenpb">
- <description>Drazen Petrovic Basket (alt)</description>
- <year>1989</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size = "73216">
- <rom name="Drazen Petrovic Basket (Erbe).DSK" size="73216" crc="17eeb154" sha1="4e0b0edd771ad5dc622c449a73bae1b0a11e4789" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="equipoags">
- <description>El Equipo A (Gunstick)</description>
- <year>1988</year>
- <publisher>Zafiro Software Division</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size = "88231">
- <rom name="El Equipo A (Gunstick) (+3 disk) - Side A.dsk" size="88231" crc="f3cde48e" sha1="b08d6940bbf5138332c60a7e469e08f5942ac21a" offset="0"/>
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size = "88231">
- <rom name="El Equipo A (Gunstick) (+3 disk) - Side B.dsk" size="88231" crc="b2724fe4" sha1="b7fa9ed67106a2cbc3c6d6bbd3f407181df57ee6" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="esanchvib" cloneof="esanchvi">
- <description>Emilio Sanchez Vicario Grand Slam (alt 2)</description>
- <year>1990</year>
- <publisher>Zigurat Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size = "58939">
- <rom name="Emilio Sanchez Vicario Grand Slam.dsk" size="58939" crc="5640d214" sha1="6c033e39e84822a6fbf9c6ee61125693c8f86d3b" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="epromsp" cloneof="eprom">
- <description>Escape from the Planet of the Robot Monsters (Spa)</description>
- <year>1990</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size = "194816">
- <rom name="Escape from the planet of the robot monsters (Erbe).dsk" size="194816" crc="0bb41cee" sha1="689e11d47ba487499ba952f0ef401deed4a1be13" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="frntiers">
- <description>Frontiers</description>
- <year>1988</year>
- <publisher>Zafiro Software Division</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size = "68352">
- <rom name="Frontiers.dsk" size="68352" crc="c30725b1" sha1="7b934e7009aa8b0f98dbe2e2402490a8ad092a36" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="genghisk">
- <description>Genghis Khan</description>
- <year>1991</year>
- <publisher>Positive</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size = "195631">
- <rom name="Genghis Khan.dsk" size="195631" crc="5a4d422d" sha1="2f281f133682ead554bb0d5970f450d37222c6dd" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="goldnaxespa" cloneof="goldnaxe">
- <description>Golden Axe (Spa) (alt)</description>
- <year>1990</year>
- <publisher>MCM Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size = "166599">
- <rom name="Golden Axe (MCM) - Side A.dsk" size="166599" crc="dd172644" sha1="80c46698ac2362ab22236c874b53d09ca8734e8e" offset="0"/>
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size = "195635">
- <rom name="Golden Axe (MCM) - Side B.dsk" size="195635" crc="11794666" sha1="aa8c971971305ba1d4795deae7f586f474618927" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="gunshipsp" cloneof="gunship">
- <description>Gunship (Spa)</description>
- <year>1987</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size = "151040">
- <rom name="Gun Ship - Side A (Erbe Software).dsk" size="151040" crc="c67f9066" sha1="bd04390e5a92ed8b629bdcd18fe143ea64641f07" offset="0"/>
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size = "151040">
- <rom name="Gun Ship - Side B (Erbe Software).dsk" size="151040" crc="f58a0381" sha1="d6c8d7f3a81a7182f925c978b67128b759114b31" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="highstelsp">
- <description>High Steel (Spa)</description>
- <year>1989</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size = "58624">
- <rom name="High Steel (Erbe Software).dsk" size="58624" crc="39f355cc" sha1="79cc8da772100bf639af90efbd85d10735cbd7e0" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="italia90spb" cloneof="italia90">
- <description>Mundial de Futbol Italia '90 (alt 2)</description>
- <year>1989</year>
- <publisher>Dro Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size = "54057">
- <rom name="Italia 90 World Cup (Dro Soft).dsk" size="54057" crc="77966d03" sha1="cffb4a625bf3ad849c2fecaa0bcad2e4a6e97908" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="kromguer">
- <description>Krom El Guerrero</description>
- <year>1989</year>
- <publisher>OMK Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size = "195635">
- <rom name="Krom El Guerrero.dsk" size="195635" crc="c6704f88" sha1="fd07e61a903a5611d222d9a5637a26be03dadb98" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="los40v4">
- <description>Los 40 Principales Vol. 4</description>
- <year>1987</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Rambo + Krakout"/>
- <dataarea name="flop" size="194816">
- <rom name="Los 40 Principales Vol. 04 - Side 1.dsk" size="194816" crc="2026cb1d" sha1="842f580040b5e2bbb86bcc64a8a4b6e0f24a53ee" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Firelord + Turbo Esprit"/>
- <dataarea name="flop" size="194816">
- <rom name="Los 40 Principales Vol. 04 - Side 2.dsk" size="194816" crc="d8f8e041" sha1="1c0cac61dbd90758fad83e6153304e0c79fc0b6b" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="inhumano">
- <description>Los Inhumanos</description>
- <year>1990</year>
- <publisher>Delta Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size = "194816">
- <rom name="Los inhumanos.dsk" size="194816" crc="7e873c78" sha1="9c2c25d561839fc0779f015b6b3088d3a32ee945" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="tempsagr">
- <description>Los Templos Sagrados</description>
- <year>1991</year>
- <publisher>Aventuras AD</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size = "102877">
- <rom name="Los Templos Sagrados - Side 1.dsk" size="102877" crc="33990559" sha1="fb4ab19cd49d0280c2cfff02a8325d5aa46019dd" offset="0"/>
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size = "256">
- <rom name="Los Templos Sagrados - Side 2.dsk" size="256" crc="b9a10e7d" sha1="e2501fcc4e35c8dc7a2d4dc6b46c1ca7da51846e" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="mntbkrcr">
- <!-- Unrelated to Zeppelin's game with the same title -->
- <description>Mountain Bike Racer</description>
- <year>1990</year>
- <publisher>Positive</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size = "194816">
- <rom name="Mountain Bike Racer.dsk" size="194816" crc="5372df44" sha1="2c4fb2de3506544ecbafb8548db4f3efd8b77272" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="narcsp" cloneof="narc">
- <!-- This dump of Side A has been manually fixed, a new untampered one may be needed for verification. -->
- <description>NARC (Spa)</description>
- <year>1990</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size = "226048">
- <rom name="Narc - Side 1 (Erbe) [corregido].dsk" size="226048" crc="b2979f21" sha1="823b6e45197c40924b16cf4d61c1ace03cc035a3" offset="0"/>
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size = "216195">
- <rom name="Narc - Side 2 (Erbe).dsk" size="216195" crc="4306cf83" sha1="a50870504147907fb6474f3dfc5b114de76f5265" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <!-- This image came from a dual-system Spectrum/Amstrad release (Side A: Spectrum, Side B: Amstrad) -->
- <software name="navymovespa" cloneof="navymove">
- <description>Navy Moves (Spa) (alt)</description>
- <year>1988</year>
- <publisher>Dinamic Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A: Spectrum"/>
- <dataarea name="flop" size="166817">
- <rom name="Navy Moves (Doble Edición) (side A).dsk" size="166817" crc="718149f4" sha1="5018740f71bc2ae08343f4040590cfa2550333bf" offset="0" />
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B: Amstrad"/>
- <dataarea name="flop" size="214784">
- <rom name="navy moves (1988)(dinamic)(es)(en)(side b).dsk" size="214784" crc="c32323a2" sha1="da30c11411368b22474b032f39e8f8b968f7903b" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="ninjawarspa" cloneof="ninjawar">
- <description>The Ninja Warriors (Spa) (alt)</description>
- <year>1990</year>
- <publisher>Dro Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size = "195635">
- <rom name="Ninja Warriors.dsk" size="195635" crc="ee1fdc62" sha1="fa92665ce2324c00bbca1ca6ac0c0376c8de0a70" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="powrmagc">
- <description>Power Magic</description>
- <year>1990</year>
- <publisher>Zigurat Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size = "63488">
- <rom name="Power Magic.dsk" size="63488" crc="2a0017e0" sha1="1a6bdbbef1a1e22176a492b228b508a982db29ee" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="rbislandsp" cloneof="rbisland">
- <description>Rainbow Islands (Spa)</description>
- <year>1990</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size = "176107">
- <rom name="Rainbow Islands (Erbe Software).dsk" size="176107" crc="8011bfaa" sha1="28356ae9a4df3144248cae45c0a1b7fd812f8fb0" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="bttf3spa" cloneof="bttf3">
- <description>Regreso al Futuro - Parte III (alt)</description>
- <year>1991</year>
- <publisher>MCM Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size = "195635">
- <rom name="Regreso al Futuro III (MCM Software) - Side A.dsk" size="195635" crc="a8007375" sha1="eae8467742d20fb8f8e50fc90efda0d612ab8ad6" offset="0"/>
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size = "195635">
- <rom name="Regreso al Futuro III (MCM Software) - Side B.dsk" size="195635" crc="b0c00514" sha1="81e48d09e18da1e4e66addd09899ba9a6b835d5d" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="rescatlac" cloneof="rescatla">
- <!-- This dump of Side A has been manually fixed, a new untampered one may be needed for verification. -->
- <description>Rescate Atlantida (alt 3)</description>
- <year>1989</year>
- <publisher>Dinamic Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size = "150659">
- <rom name="Rescate Atlantida - Side 1 [restaurada].dsk" size="150659" crc="b4ba8c14" sha1="e10d4fc6f2fe250dfda0cbd491b136cd99c3a1c7" offset="0"/>
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size = "256">
- <rom name="Rescate Atlantida - Side 2.dsk" size="256" crc="b9a10e7d" sha1="e2501fcc4e35c8dc7a2d4dc6b46c1ca7da51846e" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="ringwarssp">
- <description>Ring Wars (Spa)</description>
- <year>1989</year>
- <publisher>MCM Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size = "189952">
- <rom name="Ring Wars.dsk" size="189952" crc="2dd821c4" sha1="e662b7d4b6915078901caadc8028b0b2acdc8a06" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="simuhitssp">
- <!-- No good dump known of Side B, but Side A seems to include everything. -->
- <description>Simulation Hits (Spa)</description>
- <year>1989</year>
- <publisher>Proein</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size = "200517">
- <rom name="Simulation Hits - Side 1 (Proein).dsk" size="200517" crc="ddeb37da" sha1="25d6beb79a898ffa503551556cd4ccaa20f7f0a5" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sincp3mb">
- <description>Sinclair Plus 3</description>
- <year>1988</year>
- <publisher>Microbyte</publisher>
- <info name="usage" value="Disk has no autorun menu, requires loading each game from Basic." />
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size = "195631">
- <rom name="Sinclair Plus3 (Microbyte) [side 1].dsk" size="195631" crc="d258b440" sha1="13aa8569e898632ea861015ae97c7029f0ee5b9f" offset="0"/>
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size = "195631">
- <rom name="Sinclair Plus3 (Microbyte) [side 2].dsk" size="195631" crc="b1c4812d" sha1="ad50f3ba0fb76e712452f9b2edda215b5096f487" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sootlandgs">
- <description>Sootland (Gunstick)</description>
- <year>1988</year>
- <publisher>Zafiro Software Division</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size = "194816">
- <rom name="Sootland (Gunstick).dsk" size="194816" crc="d5092b88" sha1="c27377c1127cbb00fded1e0144dadaf9490c9147" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="prayoftw">
- <!-- Game recovered from the original developer's archives -->
- <description>The Prayer Of The Warrior</description>
- <year>1992</year>
- <publisher>Zigurat Software</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size = "194816">
- <rom name="The Prayer Of The Warrior (Side A).dsk" size="194816" crc="5803cde3" sha1="dd4fe59bc4f9d1a9775052701dcd1eeeb6c8df28" offset="0"/>
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size = "194816">
- <rom name="The Prayer Of The Warrior (Side B).dsk" size="194816" crc="3c20e2b1" sha1="465607845b537cec16d3e15b43a6db65297b04fa" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="prayoftwa" cloneof="prayoftw">
- <!-- Modified version of the game which includes both loads in one side of the disc. -->
- <description>The Prayer of the Warrior (alt)</description>
- <year>1992</year>
- <publisher>Zigurat Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size = "194816">
- <rom name="The Prayer of the Warrior (Zup).dsk" size="194816" crc="f9b00ee9" sha1="f18303f4295f1127c8e499ce197d6a17397cd70a" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="toiacidg">
- <description>Toi Acid Game</description>
- <year>1989</year>
- <publisher>Iber</publisher>
- <part name="flop1" interface="floppy_3">
- <feature name="part_id" value="Side A"/>
- <dataarea name="flop" size = "194816">
- <rom name="Toi Acid Game - Side A.dsk" size="194816" crc="ee353414" sha1="32c80288e8b69e65747bc6dbfb095e6314b192a5" offset="0"/>
- </dataarea>
- </part>
- <part name="flop2" interface="floppy_3">
- <feature name="part_id" value="Side B"/>
- <dataarea name="flop" size = "194816">
- <rom name="Toi Acid Game - Side B.dsk" size="194816" crc="a891a7d3" sha1="3b2c869c90624be050ecebb401067fdcabd48246" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="toobinspa" cloneof="toobin">
- <description>Toobin' (Spa) (alt)</description>
- <year>1989</year>
- <publisher>Erbe Software</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size = "122405">
- <rom name="Toobin (Erbe).dsk" size="122405" crc="19c5e569" sha1="3eb3eecaf23e4ef5bd3ca5761eccf9aad1fa60b7" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="trainetnsp">
- <description>The Train: Escape to Normandy (Spa)</description>
- <year>1988</year>
- <publisher>Dro Soft</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size = "63821">
- <rom name="Train - Escape to Normandy, The (Dro).dsk" size="63821" crc="b6cc7106" sha1="e9d88fceee7592bae3dbf255da27c66aa25279b9" offset="0"/>
- </dataarea>
- </part>
- </software>
-
-<!-- Other floppy images -->
-
- <!-- This version is dated 20180316 -->
- <software name="cvaniasi">
- <description>Castlevania - Spectral Interlude</description>
- <year>2015</year>
- <publisher>Rewind Team</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="castleenglish.dsk" size="194816" crc="d03dce64" sha1="fa128c8f3cd307018cbe826605fa55277ca9065b" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <!-- This version is dated 20180316 -->
- <software name="cvaniasiit" cloneof="cvaniasi">
- <description>Castlevania - Spectral Interlude (Ita)</description>
- <year>2015</year>
- <publisher>Rewind Team</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="castleitalian.dsk" size="194816" crc="78bada74" sha1="87915ed0de02bf7ebc69735bc700ac04c42813b0" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <!-- This version is dated 20180316 -->
- <software name="cvaniasipo" cloneof="cvaniasi">
- <description>Castlevania - Spectral Interlude (Pol)</description>
- <year>2015</year>
- <publisher>Rewind Team</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="castlepoland.dsk" size="194816" crc="e34eb33f" sha1="6885cac79a3061701c68cb414b8e151310735513" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <!-- This version is dated 20180316 -->
- <software name="cvaniasiru" cloneof="cvaniasi">
- <description>Castlevania - Spectral Interlude (Rus)</description>
- <year>2015</year>
- <publisher>Rewind Team</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="castlerussian.dsk" size="194816" crc="a90d610c" sha1="40bb9aa34d4fad35dc2574f4721d07b83863bfe9" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <!-- This version is dated 20180316 -->
- <software name="cvaniasisp" cloneof="cvaniasi">
- <description>Castlevania - Spectral Interlude (Spa)</description>
- <year>2015</year>
- <publisher>Rewind Team</publisher>
- <part name="flop1" interface="floppy_3">
- <dataarea name="flop" size="194816">
- <rom name="castlespanish.dsk" size="194816" crc="0077de9c" sha1="f172cd6a5d39b1a46cfb9151851996e81f5bb4b8" offset="0"/>
+ <rom name="pac-mania.dsk" size="195328" crc="88f5506b" sha1="827c95935dd3a1dd919989fc6d7a0efa4e5aebc1" offset="0" />
</dataarea>
</part>
</software>
diff --git a/hash/spectrum_flop_opus.xml b/hash/spectrum_flop_opus.xml
deleted file mode 100644
index 629355df228..00000000000
--- a/hash/spectrum_flop_opus.xml
+++ /dev/null
@@ -1,809 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
-
-<softwarelist name="spectrum_flop_opus" description="Sinclair ZX Spectrum Opus Discovery disk images">
-
- <software name="007mspy">
- <description>007 Multispy</description>
- <year>1987</year>
- <publisher>ZX-Guaranteed</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="007 Multispy.opd" size="184320" crc="017fa7e9" sha1="f25b77795db4204d282453184aa6c8363bd07c42" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="astrum10" cloneof="astrum11">
- <description>Astrum+ v1.0</description>
- <year>1988</year>
- <publisher>Bradway Software</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Astrum+ v1.0.opd" size="184320" crc="e8f930e2" sha1="f72ae475ed76ec31c8401304664f1c77d79caac9" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="astrum11">
- <description>Astrum+ v1.1</description>
- <year>1988</year>
- <publisher>Bradway Software</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Astrum+ v1.1.opd" size="184320" crc="b25f2e47" sha1="327279451ed247aac75d5b221780ebc6d64a8c83" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="blast37">
- <description>Blast v3.7</description>
- <year>1985</year>
- <publisher>Oxford Computer Systems</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Blast v3.7.opd" size="184320" crc="9488aaff" sha1="013b6a8afd948fed594b722c9a3aa752e905e59b" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="datoncard">
- <description>Daton Software Card Games</description>
- <year>1990</year>
- <publisher>Daton Software</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="368640">
- <rom name="Daton Software Card Games.opd" size="368640" crc="ab4ea8ad" sha1="403c5efd030bf4ab5793914bf3dd71eaf3f4eff1" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="dbrewster">
- <description>The Derek Brewster Collection</description>
- <year>1985</year>
- <publisher>Micromega</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Codename Mat &amp; Jasper &amp; Kentilla.opd" size="184320" crc="60270bc2" sha1="4b916e0ad11d55390caf20bd9146689bb8a8b022" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="discman">
- <description>Disc Manager</description>
- <year>1987</year>
- <publisher>Bradway Software</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Disc Manager (Bradway Software).opd" size="184320" crc="1e6e2c65" sha1="f40cdf187227f66a11ab17c54d6463ae6817c080" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="ggsmontr">
- <description>Grumpy Gumphrey Supersleuth/Monty On The Run</description>
- <year>1985</year>
- <publisher>Gremlin Graphics Software</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Grumpy Gumphrey Supersleuth &amp; Monty On The Run.opd" size="184320" crc="010e4c1b" sha1="dcae37ae934e262c2e0052da07d694f7ead7b90f" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="mstrfl09">
- <description>Masterfile v09</description>
- <year>1982</year>
- <publisher>Campbell Systems</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Masterfile v0.9.opd" size="184320" crc="78c56191" sha1="564fde8c40bb7ef478b8c9b042a1f64bf53429b5" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="omnicalc2">
- <description>Omnicalc 2</description>
- <year>1984</year>
- <publisher>Microsphere</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Omnicalc 2.opd" size="184320" crc="ed80eeee" sha1="85ccdafa3cbc1b9bb76becede3e752b657d5efc5" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="quickdos">
- <description>QuickDOS</description>
- <year>1991</year>
- <publisher>Mega-Soft</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="quickdos.opd" size="184320" crc="e7a0e18d" sha1="0b44b57e59fbdf12815d2860292976f2747c525c" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="saleslinv">
- <description>Sales/Purchase Ledger Invoicing</description>
- <year>1984</year>
- <publisher>Transform Ltd</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Sales &amp; Purchase Ledger &amp; Invoicing.opd" size="184320" crc="2ffce081" sha1="1803bf3b9b93cb45acd89b77de4c523bc89b0f2c" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sdcld01">
- <description>Spectrum Discovery Club Library Disc 01</description>
- <year>198?</year>
- <publisher>Spectrum Discovery Club</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Spectrum Discovery Club Library Disc 01.opd" size="184320" crc="a3a931ff" sha1="420e7cdd0dc83484e95fe4bc50c4f3918f952556" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sdcld02">
- <description>Spectrum Discovery Club Library Disc 02</description>
- <year>198?</year>
- <publisher>Spectrum Discovery Club</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Spectrum Discovery Club Library Disc 02.opd" size="184320" crc="d1bdcbad" sha1="03dd0c55571caa7911d3b045451f09dc4e9730b8" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sdcld03">
- <description>Spectrum Discovery Club Library Disc 03</description>
- <year>198?</year>
- <publisher>Spectrum Discovery Club</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Spectrum Discovery Club Library Disc 03.opd" size="184320" crc="2f012a16" sha1="5b05c092aa795a6155f1abaa1934bd43bff733f1" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sdcld04">
- <description>Spectrum Discovery Club Library Disc 04</description>
- <year>198?</year>
- <publisher>Spectrum Discovery Club</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Spectrum Discovery Club Library Disc 04.opd" size="184320" crc="02eec8ac" sha1="5ab24d81c28f13183519280995e093ffb9f04340" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sdcld05">
- <description>Spectrum Discovery Club Library Disc 05</description>
- <year>198?</year>
- <publisher>Spectrum Discovery Club</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Spectrum Discovery Club Library Disc 05.opd" size="184320" crc="16d21812" sha1="0290747b9d7c9c19c6260f1afde25ba964a7c664" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sdcld06">
- <description>Spectrum Discovery Club Library Disc 06</description>
- <year>198?</year>
- <publisher>Spectrum Discovery Club</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Spectrum Discovery Club Library Disc 06.opd" size="184320" crc="b63303e5" sha1="1bcaa48a2f50ba3ca86b2d1f47ea4f099057f62a" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sdcld07">
- <description>Spectrum Discovery Club Library Disc 07</description>
- <year>198?</year>
- <publisher>Spectrum Discovery Club</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Spectrum Discovery Club Library Disc 07.opd" size="184320" crc="5588a051" sha1="986c44e13dfbae54c0cf405b932b42237c5c8e0f" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sdcld08">
- <description>Spectrum Discovery Club Library Disc 08</description>
- <year>198?</year>
- <publisher>Spectrum Discovery Club</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Spectrum Discovery Club Library Disc 08.opd" size="184320" crc="2f8878aa" sha1="e60b0aaf0256e4387d43b6edbb10501564ab53e5" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sdcld09">
- <description>Spectrum Discovery Club Library Disc 09</description>
- <year>198?</year>
- <publisher>Spectrum Discovery Club</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Spectrum Discovery Club Library Disc 09.opd" size="184320" crc="2e4bea72" sha1="b4aa88f1ff391fbe91b80e99fb900d2e2773febc" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sdcld10">
- <description>Spectrum Discovery Club Library Disc 10</description>
- <year>198?</year>
- <publisher>Spectrum Discovery Club</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Spectrum Discovery Club Library Disc 10.opd" size="184320" crc="0bcbd54c" sha1="b304ff212b7206f5f73c719bcebd2cb802325e1a" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sdcnl0103">
- <description>Spectrum Discovery Club Newsletter 01-03</description>
- <year>1987</year>
- <publisher>Spectrum Discovery Club</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Spectrum Discovery Club Newsletter 01-03.opd" size="184320" crc="24ff9ef7" sha1="36e69a33c1db09b01e45ae7042cfd080f583fc7d" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sdcnl04">
- <description>Spectrum Discovery Club Newsletter 04</description>
- <year>1987</year>
- <publisher>Spectrum Discovery Club</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Spectrum Discovery Club Newsletter 04.opd" size="184320" crc="2508538d" sha1="faaad4e9301e60d0a69f69961f74319b192d66f4" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sdcnl05">
- <description>Spectrum Discovery Club Newsletter 05</description>
- <year>1988</year>
- <publisher>Spectrum Discovery Club</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Spectrum Discovery Club Newsletter 05.opd" size="184320" crc="dd7338c9" sha1="d03f61a1fe93b84f3aa74e3cc6e33666dcdd5288" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sdcnl06">
- <description>Spectrum Discovery Club Newsletter 06</description>
- <year>1988</year>
- <publisher>Spectrum Discovery Club</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Spectrum Discovery Club Newsletter 06.opd" size="184320" crc="6cc5bfc9" sha1="768684c0d39216a79193d04bbae8ff7d83f9fd49" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sdcnl07">
- <description>Spectrum Discovery Club Newsletter 07</description>
- <year>1988</year>
- <publisher>Spectrum Discovery Club</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Spectrum Discovery Club Newsletter 07.opd" size="184320" crc="a80b29a6" sha1="5daed4507700fb3f7026d8778755d86fc2df463f" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sdcnl08">
- <description>Spectrum Discovery Club Newsletter 08</description>
- <year>1988</year>
- <publisher>Spectrum Discovery Club</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Spectrum Discovery Club Newsletter 08.opd" size="184320" crc="606ddad2" sha1="279d9853d0b83c4145b806cbc0a297fe5ba6384d" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sdcnl09">
- <description>Spectrum Discovery Club Newsletter 09</description>
- <year>1988</year>
- <publisher>Spectrum Discovery Club</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Spectrum Discovery Club Newsletter 09.opd" size="184320" crc="dcafc37a" sha1="918a9047ae1d56aeb0205ada64c616e64253f810" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sdcnl10">
- <description>Spectrum Discovery Club Newsletter 10</description>
- <year>1988</year>
- <publisher>Spectrum Discovery Club</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Spectrum Discovery Club Newsletter 10.opd" size="184320" crc="c075e8a4" sha1="96ba0c5e54f3def3961c6baba9472951d6afeb62" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sdcnl11">
- <description>Spectrum Discovery Club Newsletter 11</description>
- <year>1989</year>
- <publisher>Spectrum Discovery Club</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Spectrum Discovery Club Newsletter 11.opd" size="184320" crc="ea5e34d8" sha1="4de7aa77a657e49edddede8bf39d4e08fe68c279" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sdcnl12">
- <description>Spectrum Discovery Club Newsletter 12</description>
- <year>1989</year>
- <publisher>Spectrum Discovery Club</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Spectrum Discovery Club Newsletter 12.opd" size="184320" crc="da60e7f6" sha1="966e64bcb12d11dab008fd306ed60de8fbd2011b" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sdcnl13">
- <description>Spectrum Discovery Club Newsletter 13</description>
- <year>1989</year>
- <publisher>Spectrum Discovery Club</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Spectrum Discovery Club Newsletter 13.opd" size="184320" crc="74121668" sha1="a78d7a5ae76645b00290d3bdf9abcc2d769e292a" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sdcnl14">
- <description>Spectrum Discovery Club Newsletter 14</description>
- <year>1989</year>
- <publisher>Spectrum Discovery Club</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Spectrum Discovery Club Newsletter 14.opd" size="184320" crc="575c433c" sha1="7243c9bd6a700f7e2f6a75ebde86ac9dc83b8fb6" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sdcnl15">
- <description>Spectrum Discovery Club Newsletter 15</description>
- <year>1989</year>
- <publisher>Spectrum Discovery Club</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Spectrum Discovery Club Newsletter 15.opd" size="184320" crc="dba572d3" sha1="f495a621d3f345fc127915805c11714147c548f7" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sdcnl16">
- <description>Spectrum Discovery Club Newsletter 16</description>
- <year>1990</year>
- <publisher>Spectrum Discovery Club</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Spectrum Discovery Club Newsletter 16.opd" size="184320" crc="c4b19a07" sha1="185986689767b7bc8359678382c383a143b4c675" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sdcnl17">
- <description>Spectrum Discovery Club Newsletter 17</description>
- <year>1990</year>
- <publisher>Spectrum Discovery Club</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Spectrum Discovery Club Newsletter 17.opd" size="184320" crc="007e97b0" sha1="3cb7b1a6a17d8c22be59ca4c988441beec5bdf12" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sdcnl18">
- <description>Spectrum Discovery Club Newsletter 18</description>
- <year>1990</year>
- <publisher>Spectrum Discovery Club</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Spectrum Discovery Club Newsletter 18.opd" size="184320" crc="bf735541" sha1="f1119e7f8e5a5dd4e3f77801430dd7e44834715a" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sdcnl19">
- <description>Spectrum Discovery Club Newsletter 19</description>
- <year>1990</year>
- <publisher>Spectrum Discovery Club</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Spectrum Discovery Club Newsletter 19.opd" size="184320" crc="65f48b91" sha1="a123641dc88e111b560a87a59c15f49874907a2b" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sdcnl20">
- <description>Spectrum Discovery Club Newsletter 20</description>
- <year>1990</year>
- <publisher>Spectrum Discovery Club</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Spectrum Discovery Club Newsletter 20.opd" size="184320" crc="4597ed55" sha1="ae4c3b3aecba932913bc23d911f19e96f726d8e3" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sdcnl21">
- <description>Spectrum Discovery Club Newsletter 21</description>
- <year>1990</year>
- <publisher>Spectrum Discovery Club</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Spectrum Discovery Club Newsletter 21.opd" size="184320" crc="85cae652" sha1="b062136f1bdacb17ca01ebe16c974554d3b6ccf7" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sdcnl22">
- <description>Spectrum Discovery Club Newsletter 22</description>
- <year>1990</year>
- <publisher>Spectrum Discovery Club</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Spectrum Discovery Club Newsletter 22.opd" size="184320" crc="321e6816" sha1="6f9fe9f5bb9b7cabb4fc005bdc4d0a8329212938" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sdcnl23">
- <description>Spectrum Discovery Club Newsletter 23</description>
- <year>1991</year>
- <publisher>Spectrum Discovery Club</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Spectrum Discovery Club Newsletter 23.opd" size="184320" crc="fc466652" sha1="00b46efd1544b96ee71ef7b00c5732543a9f615d" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sdcnl24">
- <description>Spectrum Discovery Club Newsletter 24</description>
- <year>1991</year>
- <publisher>Spectrum Discovery Club</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Spectrum Discovery Club Newsletter 24.opd" size="184320" crc="06f0c50b" sha1="1e8f7f03db421624d7c6e68cc5d6d45c9e3b10f5" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sdcnl25">
- <description>Spectrum Discovery Club Newsletter 25</description>
- <year>1991</year>
- <publisher>Spectrum Discovery Club</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Spectrum Discovery Club Newsletter 25.opd" size="184320" crc="373b7a3f" sha1="0261f8709cf38f7aba0a9c885377ea6d888a64f9" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sdcnl26">
- <description>Spectrum Discovery Club Newsletter 26</description>
- <year>1991</year>
- <publisher>Spectrum Discovery Club</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Spectrum Discovery Club Newsletter 26.opd" size="184320" crc="7e9d0c63" sha1="27bbbbd9c9e5a3fd9a15473a59b2e65f9f2d5e12" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sdcnl27">
- <description>Spectrum Discovery Club Newsletter 27</description>
- <year>1991</year>
- <publisher>Spectrum Discovery Club</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Spectrum Discovery Club Newsletter 27.opd" size="184320" crc="233a3078" sha1="f1b3c9e6997930d4e53a9680b4dccd7868377685" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sdcnl28">
- <description>Spectrum Discovery Club Newsletter 28</description>
- <year>1992</year>
- <publisher>Spectrum Discovery Club</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Spectrum Discovery Club Newsletter 28.opd" size="184320" crc="b7ef253a" sha1="f3c71d7c49a3cd96fcaa4101ef998c2c5b4ac5b6" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sdcnl29">
- <description>Spectrum Discovery Club Newsletter 29</description>
- <year>1992</year>
- <publisher>Spectrum Discovery Club</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Spectrum Discovery Club Newsletter 29.opd" size="184320" crc="4bc6c85e" sha1="6146b7670956a72b65403b8387a7429acb8d6ac5" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sdcnl30">
- <description>Spectrum Discovery Club Newsletter 30</description>
- <year>1992</year>
- <publisher>Spectrum Discovery Club</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Spectrum Discovery Club Newsletter 30.opd" size="184320" crc="83e43ef8" sha1="80d58e25b1b21a7fea15899de382b110b880a03b" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sdcnl31">
- <description>Spectrum Discovery Club Newsletter 31</description>
- <year>1992</year>
- <publisher>Spectrum Discovery Club</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Spectrum Discovery Club Newsletter 31.opd" size="184320" crc="e4307809" sha1="de84ee339c42ef260964477ac6b9a8ef521c40d1" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sdcnl32">
- <description>Spectrum Discovery Club Newsletter 32</description>
- <year>1992</year>
- <publisher>Spectrum Discovery Club</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Spectrum Discovery Club Newsletter 32.opd" size="184320" crc="0c7880ad" sha1="525bc47dac9881de0732f606d81b7edfd45b89a2" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sdcnl33">
- <description>Spectrum Discovery Club Newsletter 33</description>
- <year>1992</year>
- <publisher>Spectrum Discovery Club</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Spectrum Discovery Club Newsletter 33.opd" size="184320" crc="ef534502" sha1="449235daad743cb523ba6746dfc0b0982e98d332" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sdcnl34">
- <description>Spectrum Discovery Club Newsletter 34</description>
- <year>1994</year>
- <publisher>Spectrum Discovery Club</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Spectrum Discovery Club Newsletter 34.opd" size="184320" crc="ff270499" sha1="a96acb236435a63066672839fab6536ca65ad15d" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sdcnl35">
- <description>Spectrum Discovery Club Newsletter 35</description>
- <year>1994</year>
- <publisher>Spectrum Discovery Club</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Spectrum Discovery Club Newsletter 35.opd" size="184320" crc="c8cd6cb5" sha1="526d1dc0d8cd9fde5fcc93f7716eaa0bb6a35b01" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sdcnl36">
- <description>Spectrum Discovery Club Newsletter 36</description>
- <year>1994</year>
- <publisher>Spectrum Discovery Club</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Spectrum Discovery Club Newsletter 36.opd" size="184320" crc="89986975" sha1="a5c4cdc5a5d998885931c712694350d251805247" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sdcnl37">
- <description>Spectrum Discovery Club Newsletter 37</description>
- <year>1994</year>
- <publisher>Spectrum Discovery Club</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Spectrum Discovery Club Newsletter 37.opd" size="184320" crc="30a22ca9" sha1="df6d21249f263a52cfae2cfe6a4d3a9a7e183f5d" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sdcnl38">
- <description>Spectrum Discovery Club Newsletter 38</description>
- <year>1994</year>
- <publisher>Spectrum Discovery Club</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Spectrum Discovery Club Newsletter 38.opd" size="184320" crc="29a467f0" sha1="2aef48529cccf1e9a7fef25c9bfcceacb47e3bf2" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sdcnl39">
- <description>Spectrum Discovery Club Newsletter 39</description>
- <year>1994</year>
- <publisher>Spectrum Discovery Club</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Spectrum Discovery Club Newsletter 39.opd" size="184320" crc="ab7fb2c8" sha1="54e47a979ce757bdf3ba8b1d320441a29477afca" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sdcnl40">
- <description>Spectrum Discovery Club Newsletter 40</description>
- <year>1995</year>
- <publisher>Spectrum Discovery Club</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Spectrum Discovery Club Newsletter 40.opd" size="184320" crc="0a6bf2f6" sha1="c7ffbdbd65e2567d5cbbcb76375c75bb035ddc2a" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sdcnl41">
- <description>Spectrum Discovery Club Newsletter 41</description>
- <year>1995</year>
- <publisher>Spectrum Discovery Club</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Spectrum Discovery Club Newsletter 41.opd" size="184320" crc="7a7e0214" sha1="ef31293e9ce76329e26e535b247af6a9d9df7c2a" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sdcnl42">
- <description>Spectrum Discovery Club Newsletter 42</description>
- <year>1995</year>
- <publisher>Spectrum Discovery Club</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Spectrum Discovery Club Newsletter 42.opd" size="184320" crc="4cbf2e77" sha1="6f4836b31c51041dfa8758e7e02d4e6a910c05fb" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sdcxmas89">
- <description>Spectrum Discovery Club Newsletter Xmas Bonus December 1989</description>
- <year>1989</year>
- <publisher>Spectrum Discovery Club</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Spectrum Discovery Club Newsletter Xmas Bonus December 1989.opd" size="184320" crc="9b42485f" sha1="fa53aea60153e3e0a3e3bb6fc8a1b14091385874" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sdcxmas90">
- <description>Spectrum Discovery Club Newsletter Xmas Bonus December1990</description>
- <year>1990</year>
- <publisher>Spectrum Discovery Club</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Spectrum Discovery Club Newsletter Xmas Bonus December 1990.opd" size="184320" crc="4cd2d987" sha1="e5fc208044fb8b0e24fea0136e89990132577afd" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sdcxmas91">
- <description>Spectrum Discovery Club Newsletter Xmas Bonus December 1991</description>
- <year>1991</year>
- <publisher>Spectrum Discovery Club</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Spectrum Discovery Club Newsletter Xmas Bonus December 1991.opd" size="184320" crc="bced547d" sha1="eceb98a7b47cce899b5fd39487949f3815ffe2d3" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="sdcxmas92">
- <description>Spectrum Discovery Club Newsletter Xmas Bonus December 1992</description>
- <year>1992</year>
- <publisher>Spectrum Discovery Club</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Spectrum Discovery Club Newsletter Xmas Bonus December 1992.opd" size="184320" crc="5551db6d" sha1="98fe69d80e6873e0cf0317c2f06609cfbbb3d082" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="tascopy">
- <description>Tascopy</description>
- <year>1984</year>
- <publisher>Tasman Software</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="TasCopy.opd" size="184320" crc="b1095939" sha1="13b6a9961f53085c279b61e341cab244b39ad8aa" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="tasprnt">
- <description>Tasprint</description>
- <year>1983</year>
- <publisher>Tasman Software</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="TasPrint.opd" size="184320" crc="3333f7cb" sha1="294096dd0ab8daa9cf16681ac9b164cd28442782" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="tasword3">
- <description>Tasword Three</description>
- <year>1986</year>
- <publisher>Tasman Software</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="TasWord 3.opd" size="184320" crc="8fb6c3f1" sha1="4a9b52de3c4c4b3911056823389370966eeee130" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="texp852">
- <description>Trans-Express 85.2</description>
- <year>1985</year>
- <publisher>Romantic Robot</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Trans-Express 85.2.opd" size="184320" crc="21aec919" sha1="623d3b3674bbb7f2a70cf2abd9f8ec62e95844ef" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="trandata">
- <description>Transdata</description>
- <year>1987</year>
- <publisher>Transform Ltd</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="Transdata.opd" size="184320" crc="fbd63941" sha1="6a1aa3ead163e877a0aef870dcbf1ea10e93c11e" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="udggen">
- <description>UDG Generator</description>
- <year>1985</year>
- <publisher>Tom Collier</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="UDG Opus.opd" size="184320" crc="adef99c9" sha1="0180f4da6abd3769bfdef5328ad4e84dba89461f" offset="0"/>
- </dataarea>
- </part>
- </software>
-
- <software name="writer">
- <description>The Writer</description>
- <year>1985</year>
- <publisher>Softechnics</publisher>
- <part name="flop1" interface="floppy_3_5">
- <dataarea name="flop" size="184320">
- <rom name="The Writer.opd" size="184320" crc="f446c7ef" sha1="032d097db4dc74da814f1e96c0786ece5c4c9295" offset="0"/>
- </dataarea>
- </part>
- </software>
-
-</softwarelist>
diff --git a/hash/timex_dock.xml b/hash/timex_dock.xml
index 08d5b11a705..08d5b11a705 100644..100755
--- a/hash/timex_dock.xml
+++ b/hash/timex_dock.xml
diff --git a/hash/tutor.xml b/hash/tutor.xml
index e074ec6540d..6e2288134e9 100644
--- a/hash/tutor.xml
+++ b/hash/tutor.xml
@@ -88,7 +88,7 @@ Battlefighter (Original) (Unreleased - Prototype Stage)
<info name="serial" value="021E"/>
<part name="cart" interface="tutor_cart">
<dataarea name="rom" size="0x4000">
- <rom name="Yonnin Majan.bin" size="0x4000" crc="1c2eb2f0" sha1="4e9a0ce55f479c4b1a5fee9320561ce93765c4d7" offset="0" /> <!-- needs splitting into 2 files? there are 2 roms, marked 1 and 2 in the cart?? -->
+ <rom name="Yonnin Majan.bin" size="0x4000" crc="1c2eb2f0" sha1="4e9a0ce55f479c4b1a5fee9320561ce93765c4d7" offset="0" /> <!-- needs splitting into 2 files? there are 2 roms, marked 1 and 2 in the cart?? -->
</dataarea>
</part>
</software>
diff --git a/hash/vgmplay.xml b/hash/vgmplay.xml
index c991909a30c..39cbe4aad0f 100644
--- a/hash/vgmplay.xml
+++ b/hash/vgmplay.xml
@@ -224166,3295 +224166,6 @@
</part>
</software>
- <software name="biomirac_fc">
- <description>Bio Miracle Bokutte Upa (Family Computer)</description>
- <year>1993</year>
- <publisher>Konami</publisher>
- <info name="cores" value="NES APU (N2A03)"/>
- <part name="001" interface="vgm_quik">
- <feature name="part_id" value="01 a rattle samba.vgz" />
- <dataarea name="quik" size="9790">
- <rom name="01 a rattle samba.vgz" size="9790" crc="600db750" sha1="a003fd73e8cd97379221bd0c68d389742004720b" offset="0" />
- </dataarea>
- </part>
- <part name="002" interface="vgm_quik">
- <feature name="part_id" value="02 area clear.vgz" />
- <dataarea name="quik" size="3985">
- <rom name="02 area clear.vgz" size="3985" crc="d149cbd1" sha1="4ac6b3c7d8353c6c65a1f7617be71303e16d6d07" offset="0" />
- </dataarea>
- </part>
- <part name="003" interface="vgm_quik">
- <feature name="part_id" value="03 sweat on the beat.vgz" />
- <dataarea name="quik" size="9051">
- <rom name="03 sweat on the beat.vgz" size="9051" crc="d9e102da" sha1="2a4cd123be6132e0e53937cb38f3266bcc1a5195" offset="0" />
- </dataarea>
- </part>
- <part name="004" interface="vgm_quik">
- <feature name="part_id" value="04 ice platform area.vgz" />
- <dataarea name="quik" size="11852">
- <rom name="04 ice platform area.vgz" size="11852" crc="9f89377e" sha1="c14a388ef4032c11c3dcd7c65e49a6a2e6548d58" offset="0" />
- </dataarea>
- </part>
- <part name="005" interface="vgm_quik">
- <feature name="part_id" value="05 invincibles.vgz" />
- <dataarea name="quik" size="1789">
- <rom name="05 invincibles.vgz" size="1789" crc="b57a90d4" sha1="6c48b6694695229d17a4268b8ac09a59c42e7248" offset="0" />
- </dataarea>
- </part>
- <part name="006" interface="vgm_quik">
- <feature name="part_id" value="06 player out.vgz" />
- <dataarea name="quik" size="3440">
- <rom name="06 player out.vgz" size="3440" crc="fb048cf3" sha1="dd49166ede1781ee73e6a8c08441deae10656406" offset="0" />
- </dataarea>
- </part>
- <part name="007" interface="vgm_quik">
- <feature name="part_id" value="07 underwater area.vgz" />
- <dataarea name="quik" size="6891">
- <rom name="07 underwater area.vgz" size="6891" crc="925cdd70" sha1="f90cdc5f7825d5898b00d03ee425a9ed36d04133" offset="0" />
- </dataarea>
- </part>
- <part name="008" interface="vgm_quik">
- <feature name="part_id" value="08 treasure chest.vgz" />
- <dataarea name="quik" size="846">
- <rom name="08 treasure chest.vgz" size="846" crc="d3104a27" sha1="81c5634a59c990a5d6cbb54e3ffa08c915c29ed7" offset="0" />
- </dataarea>
- </part>
- <part name="009" interface="vgm_quik">
- <feature name="part_id" value="09 boss.vgz" />
- <dataarea name="quik" size="6526">
- <rom name="09 boss.vgz" size="6526" crc="023ba498" sha1="1cebf0c1dd3dfc4fb63a8e404cd6eac32207724c" offset="0" />
- </dataarea>
- </part>
- <part name="010" interface="vgm_quik">
- <feature name="part_id" value="10 world clear.vgz" />
- <dataarea name="quik" size="5159">
- <rom name="10 world clear.vgz" size="5159" crc="6ccf46b8" sha1="6192a905782a9f0741c099f5a1955645d3fd20c8" offset="0" />
- </dataarea>
- </part>
- <part name="011" interface="vgm_quik">
- <feature name="part_id" value="11 zai the final boss.vgz" />
- <dataarea name="quik" size="4675">
- <rom name="11 zai the final boss.vgz" size="4675" crc="7728195e" sha1="aa2edf9d4371e126a0f50149d59547bd78da7c64" offset="0" />
- </dataarea>
- </part>
- <part name="012" interface="vgm_quik">
- <feature name="part_id" value="12 the land of happiness.vgz" />
- <dataarea name="quik" size="18338">
- <rom name="12 the land of happiness.vgz" size="18338" crc="ecb7d9bb" sha1="39b758d63625a3d8fb9cf6e73de4e210b95f3ce5" offset="0" />
- </dataarea>
- </part>
- <part name="013" interface="vgm_quik">
- <feature name="part_id" value="13 game over.vgz" />
- <dataarea name="quik" size="4835">
- <rom name="13 game over.vgz" size="4835" crc="9881cfa7" sha1="9a0a320476dc103c13d9862cd1cf92fecce2cdcd" offset="0" />
- </dataarea>
- </part>
- <part name="014" interface="vgm_quik">
- <feature name="part_id" value="14 the land of happiness (alt).vgz" />
- <dataarea name="quik" size="9745">
- <rom name="14 the land of happiness (alt).vgz" size="9745" crc="0de80c8d" sha1="0e8e3d6b997fbfcf737913752bcad1672b9e74ff" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="blzntrnd">
- <description>Blazing Tornado (Arcade)</description>
- <year>1994</year>
- <publisher>Human</publisher>
- <info name="cores" value="YM2610"/>
- <part name="001" interface="vgm_quik">
- <feature name="part_id" value="01 opening title.vgz" />
- <dataarea name="quik" size="94710">
- <rom name="01 opening title.vgz" size="94710" crc="265d23ed" sha1="f1fa2434f9024ab3bc60d1e2a9ccfcf7d45c9bce" offset="0" />
- </dataarea>
- </part>
- <part name="002" interface="vgm_quik">
- <feature name="part_id" value="02 credit.vgz" />
- <dataarea name="quik" size="14191">
- <rom name="02 credit.vgz" size="14191" crc="9b3c0042" sha1="d8d9058910056e2f721c3cdc6f1414f1f2f45c58" offset="0" />
- </dataarea>
- </part>
- <part name="003" interface="vgm_quik">
- <feature name="part_id" value="03 mode select.vgz" />
- <dataarea name="quik" size="41036">
- <rom name="03 mode select.vgz" size="41036" crc="5bac9bf9" sha1="2d9dfd95f3305272e25b0043b8bee63be1389a2e" offset="0" />
- </dataarea>
- </part>
- <part name="004" interface="vgm_quik">
- <feature name="part_id" value="04 wrestler select, matchup display.vgz" />
- <dataarea name="quik" size="29207">
- <rom name="04 wrestler select, matchup display.vgz" size="29207" crc="a04adc78" sha1="8250474e0686a847c04c9a01886773355db37248" offset="0" />
- </dataarea>
- </part>
- <part name="005" interface="vgm_quik">
- <feature name="part_id" value="05 zama's theme.vgz" />
- <dataarea name="quik" size="157446">
- <rom name="05 zama's theme.vgz" size="157446" crc="a3205dd1" sha1="09c3a9ed9d2481093f2728d0dd59408e762fbf8d" offset="0" />
- </dataarea>
- </part>
- <part name="006" interface="vgm_quik">
- <feature name="part_id" value="06 zama's victory screen.vgz" />
- <dataarea name="quik" size="41048">
- <rom name="06 zama's victory screen.vgz" size="41048" crc="9f7b8a8f" sha1="5d0f8e522f300c3f06e7988a01bede22aac33695" offset="0" />
- </dataarea>
- </part>
- <part name="007" interface="vgm_quik">
- <feature name="part_id" value="07 firebird's theme.vgz" />
- <dataarea name="quik" size="69244">
- <rom name="07 firebird's theme.vgz" size="69244" crc="9acc2a08" sha1="e2589783e2adfb043f2528282d80ffe6774550ab" offset="0" />
- </dataarea>
- </part>
- <part name="008" interface="vgm_quik">
- <feature name="part_id" value="08 firebird's victory screen.vgz" />
- <dataarea name="quik" size="23801">
- <rom name="08 firebird's victory screen.vgz" size="23801" crc="c6376204" sha1="800eb078676e055d1378e8ae20a2a48d77102ae1" offset="0" />
- </dataarea>
- </part>
- <part name="009" interface="vgm_quik">
- <feature name="part_id" value="09 wolf's theme.vgz" />
- <dataarea name="quik" size="32280">
- <rom name="09 wolf's theme.vgz" size="32280" crc="8be9e3b3" sha1="d518fc178cec58fcaeb7bd46464141d09fbe4498" offset="0" />
- </dataarea>
- </part>
- <part name="010" interface="vgm_quik">
- <feature name="part_id" value="10 wolf's victory screen.vgz" />
- <dataarea name="quik" size="45372">
- <rom name="10 wolf's victory screen.vgz" size="45372" crc="cf7c8be8" sha1="f19ba6b7c24e6ce10714407a94753bd5ac8ca137" offset="0" />
- </dataarea>
- </part>
- <part name="011" interface="vgm_quik">
- <feature name="part_id" value="11 saigo's theme.vgz" />
- <dataarea name="quik" size="115387">
- <rom name="11 saigo's theme.vgz" size="115387" crc="000be50f" sha1="ee6d5eb1fec7183068c7289045980e49eef5f619" offset="0" />
- </dataarea>
- </part>
- <part name="012" interface="vgm_quik">
- <feature name="part_id" value="12 saigo's victory screen.vgz" />
- <dataarea name="quik" size="32515">
- <rom name="12 saigo's victory screen.vgz" size="32515" crc="bf0e25fa" sha1="189645799c21124c53fbda3f97fc3cd283125220" offset="0" />
- </dataarea>
- </part>
- <part name="013" interface="vgm_quik">
- <feature name="part_id" value="13 hayate's theme.vgz" />
- <dataarea name="quik" size="102458">
- <rom name="13 hayate's theme.vgz" size="102458" crc="9a730ead" sha1="e074cce0b05bf34ed03aa7be659d669da93ae23f" offset="0" />
- </dataarea>
- </part>
- <part name="014" interface="vgm_quik">
- <feature name="part_id" value="14 hayate's victory screen.vgz" />
- <dataarea name="quik" size="49501">
- <rom name="14 hayate's victory screen.vgz" size="49501" crc="79c78cd2" sha1="b362f327349d46527c200b14af73ce75f9f904c9" offset="0" />
- </dataarea>
- </part>
- <part name="015" interface="vgm_quik">
- <feature name="part_id" value="15 ho's theme.vgz" />
- <dataarea name="quik" size="82892">
- <rom name="15 ho's theme.vgz" size="82892" crc="32471f1a" sha1="66cc052aed236c498d673fee956312baa99be9ba" offset="0" />
- </dataarea>
- </part>
- <part name="016" interface="vgm_quik">
- <feature name="part_id" value="16 ho's victory screen.vgz" />
- <dataarea name="quik" size="80062">
- <rom name="16 ho's victory screen.vgz" size="80062" crc="74320e63" sha1="30857208a6b0fd9bca13d3a800f76fc04e2dda48" offset="0" />
- </dataarea>
- </part>
- <part name="017" interface="vgm_quik">
- <feature name="part_id" value="17 bullnoi's theme.vgz" />
- <dataarea name="quik" size="179177">
- <rom name="17 bullnoi's theme.vgz" size="179177" crc="c2a4fb45" sha1="b51890e3f47e35438e9a42741b33dd6f6dd645ec" offset="0" />
- </dataarea>
- </part>
- <part name="018" interface="vgm_quik">
- <feature name="part_id" value="18 bullnoi's victory screen.vgz" />
- <dataarea name="quik" size="53862">
- <rom name="18 bullnoi's victory screen.vgz" size="53862" crc="bd7e7ab0" sha1="284ba85f2c7ffc3e5da8ca40798634d4c02f3f06" offset="0" />
- </dataarea>
- </part>
- <part name="019" interface="vgm_quik">
- <feature name="part_id" value="19 eric's theme.vgz" />
- <dataarea name="quik" size="51424">
- <rom name="19 eric's theme.vgz" size="51424" crc="1e21fb0a" sha1="50162d8f901a452bc5df60451261212824025796" offset="0" />
- </dataarea>
- </part>
- <part name="020" interface="vgm_quik">
- <feature name="part_id" value="20 eric's victory screen.vgz" />
- <dataarea name="quik" size="75859">
- <rom name="20 eric's victory screen.vgz" size="75859" crc="1af0efb3" sha1="bc5737f34a00dfc93e0528f6aa3b1491209e9076" offset="0" />
- </dataarea>
- </part>
- <part name="021" interface="vgm_quik">
- <feature name="part_id" value="21 helicopter appearance event.vgz" />
- <dataarea name="quik" size="58860">
- <rom name="21 helicopter appearance event.vgz" size="58860" crc="502dbbfa" sha1="1ea3156a123a6c70911d9dbf942d823c9ab66f03" offset="0" />
- </dataarea>
- </part>
- <part name="022" interface="vgm_quik">
- <feature name="part_id" value="22 ludwig appears.vgz" />
- <dataarea name="quik" size="36473">
- <rom name="22 ludwig appears.vgz" size="36473" crc="051e7600" sha1="badf1d1e6452ff4103ef898cd498b3836701dc4b" offset="0" />
- </dataarea>
- </part>
- <part name="023" interface="vgm_quik">
- <feature name="part_id" value="23 ludwig's theme.vgz" />
- <dataarea name="quik" size="45690">
- <rom name="23 ludwig's theme.vgz" size="45690" crc="87568d79" sha1="b2d51cbefe593ff9eb5de6cea325000f9f2a9973" offset="0" />
- </dataarea>
- </part>
- <part name="024" interface="vgm_quik">
- <feature name="part_id" value="24 zama, hayate ending.vgz" />
- <dataarea name="quik" size="35541">
- <rom name="24 zama, hayate ending.vgz" size="35541" crc="6a43553d" sha1="db249a2c4848c38146ccfd102edd35dcf46060dd" offset="0" />
- </dataarea>
- </part>
- <part name="025" interface="vgm_quik">
- <feature name="part_id" value="25 firebird, saigo, bullnoi, eric ending.vgz" />
- <dataarea name="quik" size="59512">
- <rom name="25 firebird, saigo, bullnoi, eric ending.vgz" size="59512" crc="c4e32339" sha1="f70d0b6b013c86bde306e99b2e38a13831ae9a6c" offset="0" />
- </dataarea>
- </part>
- <part name="026" interface="vgm_quik">
- <feature name="part_id" value="26 end credit.vgz" />
- <dataarea name="quik" size="66808">
- <rom name="26 end credit.vgz" size="66808" crc="5c1b3e15" sha1="739060d4a771200f4bd0107b46496457b09ddb61" offset="0" />
- </dataarea>
- </part>
- <part name="027" interface="vgm_quik">
- <feature name="part_id" value="27 name entry.vgz" />
- <dataarea name="quik" size="71245">
- <rom name="27 name entry.vgz" size="71245" crc="9b88b12d" sha1="dc4663820ad1405e27bf8ec5f5c3a95ed026472e" offset="0" />
- </dataarea>
- </part>
- <part name="028" interface="vgm_quik">
- <feature name="part_id" value="28 continue screen.vgz" />
- <dataarea name="quik" size="76872">
- <rom name="28 continue screen.vgz" size="76872" crc="6514b3ba" sha1="545e9f6c380321897418c777513fdf49ef51d9d6" offset="0" />
- </dataarea>
- </part>
- <part name="029" interface="vgm_quik">
- <feature name="part_id" value="29 continue time.vgz" />
- <dataarea name="quik" size="94083">
- <rom name="29 continue time.vgz" size="94083" crc="0b541aa8" sha1="297b21d4413089cfa1be1c938cd07361bb3722a3" offset="0" />
- </dataarea>
- </part>
- <part name="030" interface="vgm_quik">
- <feature name="part_id" value="30 end credit (alt.).vgz" />
- <dataarea name="quik" size="64108">
- <rom name="30 end credit (alt.).vgz" size="64108" crc="4be6b708" sha1="6edc7f6821563c2086569e984c1be4e26dc57b21" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="bombaexa_msx2">
- <description>Bombaman Extra Ammo (MSX2)</description>
- <year>2004</year>
- <publisher>Team Bomba</publisher>
- <info name="cores" value="Moonsound (YMF278B)"/>
- <part name="001" interface="vgm_quik">
- <feature name="part_id" value="01 titlescreen song.vgz" />
- <dataarea name="quik" size="46041">
- <rom name="01 titlescreen song.vgz" size="46041" crc="6e760bfb" sha1="8dae8155cb13afcaf5b5070d9276d5c2f6893249" offset="0" />
- </dataarea>
- </part>
- <part name="002" interface="vgm_quik">
- <feature name="part_id" value="02 remembrance of razat.vgz" />
- <dataarea name="quik" size="15969">
- <rom name="02 remembrance of razat.vgz" size="15969" crc="7d1171de" sha1="9991be681d9f6e9a74f4a405312f7d089d3a5fd7" offset="0" />
- </dataarea>
- </part>
- <part name="003" interface="vgm_quik">
- <feature name="part_id" value="03 dying for culture.vgz" />
- <dataarea name="quik" size="29556">
- <rom name="03 dying for culture.vgz" size="29556" crc="45cb61c0" sha1="d87210f7bdd64ef533ef1b3ab5d9973386cb400d" offset="0" />
- </dataarea>
- </part>
- <part name="004" interface="vgm_quik">
- <feature name="part_id" value="04 scales of life.vgz" />
- <dataarea name="quik" size="39462">
- <rom name="04 scales of life.vgz" size="39462" crc="57f84395" sha1="be8894a0a8d5e3f308f15875a75029271e59f472" offset="0" />
- </dataarea>
- </part>
- <part name="005" interface="vgm_quik">
- <feature name="part_id" value="05 a hero arises.vgz" />
- <dataarea name="quik" size="54140">
- <rom name="05 a hero arises.vgz" size="54140" crc="4970d4c2" sha1="3bad668606e18332570d426a85e41f4520e0883d" offset="0" />
- </dataarea>
- </part>
- <part name="006" interface="vgm_quik">
- <feature name="part_id" value="06 worldmap.vgz" />
- <dataarea name="quik" size="30042">
- <rom name="06 worldmap.vgz" size="30042" crc="577c1c12" sha1="bb7177d8c46125f78881b3b3b3735c3dc89e5425" offset="0" />
- </dataarea>
- </part>
- <part name="007" interface="vgm_quik">
- <feature name="part_id" value="07 the bomba village.vgz" />
- <dataarea name="quik" size="27083">
- <rom name="07 the bomba village.vgz" size="27083" crc="cbc8a04e" sha1="3349d88964826d602b61beb0940db21ae49cdbe8" offset="0" />
- </dataarea>
- </part>
- <part name="008" interface="vgm_quik">
- <feature name="part_id" value="08 groovin' the disco.vgz" />
- <dataarea name="quik" size="92564">
- <rom name="08 groovin' the disco.vgz" size="92564" crc="bb5dc3e9" sha1="da9ae57e9b2e7b23396948df23ded19f38d50ab9" offset="0" />
- </dataarea>
- </part>
- <part name="009" interface="vgm_quik">
- <feature name="part_id" value="09 aztar's theme.vgz" />
- <dataarea name="quik" size="39142">
- <rom name="09 aztar's theme.vgz" size="39142" crc="e1f1e5a6" sha1="d2f703a7f4d26bd197f9c39852d8dd88cfde3c0c" offset="0" />
- </dataarea>
- </part>
- <part name="010" interface="vgm_quik">
- <feature name="part_id" value="10 down tha bombaswamps.vgz" />
- <dataarea name="quik" size="37570">
- <rom name="10 down tha bombaswamps.vgz" size="37570" crc="168ea6bb" sha1="d23cabcbb4244b04daa546c5c42df8f1a1399a0d" offset="0" />
- </dataarea>
- </part>
- <part name="011" interface="vgm_quik">
- <feature name="part_id" value="11 the boggy marshes.vgz" />
- <dataarea name="quik" size="64203">
- <rom name="11 the boggy marshes.vgz" size="64203" crc="cfc96e2b" sha1="a2bc2afcd199f7878800e792ff75ce29667caf5f" offset="0" />
- </dataarea>
- </part>
- <part name="012" interface="vgm_quik">
- <feature name="part_id" value="12 boss appeared 1.vgz" />
- <dataarea name="quik" size="16828">
- <rom name="12 boss appeared 1.vgz" size="16828" crc="7175524c" sha1="2c6b38c3732445d7e6afcfa5daa56513d62e2029" offset="0" />
- </dataarea>
- </part>
- <part name="013" interface="vgm_quik">
- <feature name="part_id" value="13 gunner mk.1 - codename kitty.vgz" />
- <dataarea name="quik" size="58344">
- <rom name="13 gunner mk.1 - codename kitty.vgz" size="58344" crc="8dcc4383" sha1="855a7f0757d44e41030ae4bb5e9474cdc610b905" offset="0" />
- </dataarea>
- </part>
- <part name="014" interface="vgm_quik">
- <feature name="part_id" value="14 boss defeated.vgz" />
- <dataarea name="quik" size="22319">
- <rom name="14 boss defeated.vgz" size="22319" crc="e7f37990" sha1="f8ae5ba5bdb8b91fec2a1ca7d2ac29c56fbd4d75" offset="0" />
- </dataarea>
- </part>
- <part name="015" interface="vgm_quik">
- <feature name="part_id" value="15 water shrine.vgz" />
- <dataarea name="quik" size="7032">
- <rom name="15 water shrine.vgz" size="7032" crc="835eddc2" sha1="5fbabadc35ae26920699d1bd89be2fa3626e9ab5" offset="0" />
- </dataarea>
- </part>
- <part name="016" interface="vgm_quik">
- <feature name="part_id" value="16 fallen city.vgz" />
- <dataarea name="quik" size="51038">
- <rom name="16 fallen city.vgz" size="51038" crc="6aa0c411" sha1="10da04bba09fb639cf34bad178d246d584946e6a" offset="0" />
- </dataarea>
- </part>
- <part name="017" interface="vgm_quik">
- <feature name="part_id" value="17 arabian nights.vgz" />
- <dataarea name="quik" size="59024">
- <rom name="17 arabian nights.vgz" size="59024" crc="0a641846" sha1="87605f5e0cf38434be325523a5eef9afb7b928a3" offset="0" />
- </dataarea>
- </part>
- <part name="018" interface="vgm_quik">
- <feature name="part_id" value="18 boss appeared 2.vgz" />
- <dataarea name="quik" size="36911">
- <rom name="18 boss appeared 2.vgz" size="36911" crc="c2f93dca" sha1="4998908239c1ba53396acfcd3fd4fd8e5d8f329d" offset="0" />
- </dataarea>
- </part>
- <part name="019" interface="vgm_quik">
- <feature name="part_id" value="19 aztar's commando.vgz" />
- <dataarea name="quik" size="85671">
- <rom name="19 aztar's commando.vgz" size="85671" crc="54879655" sha1="2addaddcc7212e131adca9d53066ee28d6223489" offset="0" />
- </dataarea>
- </part>
- <part name="020" interface="vgm_quik">
- <feature name="part_id" value="20 watcha's theme.vgz" />
- <dataarea name="quik" size="63805">
- <rom name="20 watcha's theme.vgz" size="63805" crc="b6239f2a" sha1="cfa0c1e6641f123a04efc72a7c905f90b6492f2a" offset="0" />
- </dataarea>
- </part>
- <part name="021" interface="vgm_quik">
- <feature name="part_id" value="21 frozen clouds.vgz" />
- <dataarea name="quik" size="75801">
- <rom name="21 frozen clouds.vgz" size="75801" crc="e6dbd84a" sha1="8ed0d41d37349ed35fbfa52a9df3cf411056540f" offset="0" />
- </dataarea>
- </part>
- <part name="022" interface="vgm_quik">
- <feature name="part_id" value="22 high in the sky.vgz" />
- <dataarea name="quik" size="117616">
- <rom name="22 high in the sky.vgz" size="117616" crc="f2c3b0ac" sha1="91bd5b524bbeec4f7f8e9babf3f80a17547a9b76" offset="0" />
- </dataarea>
- </part>
- <part name="023" interface="vgm_quik">
- <feature name="part_id" value="23 boss appeared 3.vgz" />
- <dataarea name="quik" size="26936">
- <rom name="23 boss appeared 3.vgz" size="26936" crc="99909f73" sha1="1981f0b554589033d72393bf335e831fe9b4ad17" offset="0" />
- </dataarea>
- </part>
- <part name="024" interface="vgm_quik">
- <feature name="part_id" value="24 encounter with gunner mk.2.vgz" />
- <dataarea name="quik" size="73574">
- <rom name="24 encounter with gunner mk.2.vgz" size="73574" crc="69e5263f" sha1="ce1c38282868e117fdfbf599bc3d35caf5cd3952" offset="0" />
- </dataarea>
- </part>
- <part name="025" interface="vgm_quik">
- <feature name="part_id" value="25 peaceful village.vgz" />
- <dataarea name="quik" size="42313">
- <rom name="25 peaceful village.vgz" size="42313" crc="b144834d" sha1="a6a730dc750cf22650f05e5fa72fa16ece1b4220" offset="0" />
- </dataarea>
- </part>
- <part name="026" interface="vgm_quik">
- <feature name="part_id" value="26 down into the fires of hell.vgz" />
- <dataarea name="quik" size="78134">
- <rom name="26 down into the fires of hell.vgz" size="78134" crc="47ea49ae" sha1="fe7e20e688d9a9fdc08b19c82f931aa157d33a81" offset="0" />
- </dataarea>
- </part>
- <part name="027" interface="vgm_quik">
- <feature name="part_id" value="27 volcano inferno.vgz" />
- <dataarea name="quik" size="56485">
- <rom name="27 volcano inferno.vgz" size="56485" crc="78e21407" sha1="d32d672f8bbae05975f363a58a8f0d856acf7fe2" offset="0" />
- </dataarea>
- </part>
- <part name="028" interface="vgm_quik">
- <feature name="part_id" value="28 boss appeared 4.vgz" />
- <dataarea name="quik" size="47789">
- <rom name="28 boss appeared 4.vgz" size="47789" crc="ca8ed5b9" sha1="115fad12547ebcd26f79570c0c7c0c3a7072c733" offset="0" />
- </dataarea>
- </part>
- <part name="029" interface="vgm_quik">
- <feature name="part_id" value="29 battle with road razer.vgz" />
- <dataarea name="quik" size="60895">
- <rom name="29 battle with road razer.vgz" size="60895" crc="74ec300f" sha1="8bb64028d3428eede2827670fd102da6a774dd0f" offset="0" />
- </dataarea>
- </part>
- <part name="030" interface="vgm_quik">
- <feature name="part_id" value="30 another dimension.vgz" />
- <dataarea name="quik" size="70023">
- <rom name="30 another dimension.vgz" size="70023" crc="1faa7f43" sha1="7e6ad53206502c3af1725ace454f63c81558c7f6" offset="0" />
- </dataarea>
- </part>
- <part name="031" interface="vgm_quik">
- <feature name="part_id" value="31 dimension plus.vgz" />
- <dataarea name="quik" size="49412">
- <rom name="31 dimension plus.vgz" size="49412" crc="db90227a" sha1="b63aaff423c1fac2e1cef4c85ab92a6807638024" offset="0" />
- </dataarea>
- </part>
- <part name="032" interface="vgm_quik">
- <feature name="part_id" value="32 boss appeared 5.vgz" />
- <dataarea name="quik" size="37095">
- <rom name="32 boss appeared 5.vgz" size="37095" crc="218debae" sha1="f1ff4c70bfbaef357b74fd8ee8ab70385d1c86c9" offset="0" />
- </dataarea>
- </part>
- <part name="033" interface="vgm_quik">
- <feature name="part_id" value="33 anodim boss battle.vgz" />
- <dataarea name="quik" size="73755">
- <rom name="33 anodim boss battle.vgz" size="73755" crc="deb132d4" sha1="84f82d306fbe47f61ebd034aea02aa7969f2a849" offset="0" />
- </dataarea>
- </part>
- <part name="034" interface="vgm_quik">
- <feature name="part_id" value="34 aztar's lair.vgz" />
- <dataarea name="quik" size="73358">
- <rom name="34 aztar's lair.vgz" size="73358" crc="f03e8dc0" sha1="eb6cb381e06f942730986177132fda961827e6b2" offset="0" />
- </dataarea>
- </part>
- <part name="035" interface="vgm_quik">
- <feature name="part_id" value="35 volcanic beat.vgz" />
- <dataarea name="quik" size="40488">
- <rom name="35 volcanic beat.vgz" size="40488" crc="6f5933b1" sha1="b82dd3fc7be9467c301ff9c1314c8618a07d9004" offset="0" />
- </dataarea>
- </part>
- <part name="036" interface="vgm_quik">
- <feature name="part_id" value="36 boss appeared 6.vgz" />
- <dataarea name="quik" size="31136">
- <rom name="36 boss appeared 6.vgz" size="31136" crc="a9bbef9c" sha1="6eeb0803dccb72cf886c83c7f83249761b6e14b0" offset="0" />
- </dataarea>
- </part>
- <part name="037" interface="vgm_quik">
- <feature name="part_id" value="37 toxic blob battle.vgz" />
- <dataarea name="quik" size="87003">
- <rom name="37 toxic blob battle.vgz" size="87003" crc="955bd5bd" sha1="7932eda04ddee9bf08d1105986af563bef71202f" offset="0" />
- </dataarea>
- </part>
- <part name="038" interface="vgm_quik">
- <feature name="part_id" value="38 watcha's megalomania.vgz" />
- <dataarea name="quik" size="11672">
- <rom name="38 watcha's megalomania.vgz" size="11672" crc="c3d62557" sha1="b506b83e202e63bb34e3fe2dc0f74b39d0ee6807" offset="0" />
- </dataarea>
- </part>
- <part name="039" interface="vgm_quik">
- <feature name="part_id" value="39 yumi's awakening.vgz" />
- <dataarea name="quik" size="38169">
- <rom name="39 yumi's awakening.vgz" size="38169" crc="c580b356" sha1="5d7f948f3b7038b2bf3f53f917d52f9cf5886382" offset="0" />
- </dataarea>
- </part>
- <part name="040" interface="vgm_quik">
- <feature name="part_id" value="40 the fight for freedom.vgz" />
- <dataarea name="quik" size="82965">
- <rom name="40 the fight for freedom.vgz" size="82965" crc="03f11c65" sha1="52c548cb7a800bcb974272dccebcd5b20e1fdd48" offset="0" />
- </dataarea>
- </part>
- <part name="041" interface="vgm_quik">
- <feature name="part_id" value="41 watcha says 'damn!'.vgz" />
- <dataarea name="quik" size="24639">
- <rom name="41 watcha says 'damn!'.vgz" size="24639" crc="d47bf860" sha1="086a2f513b491182148aba999117fa79cb014f73" offset="0" />
- </dataarea>
- </part>
- <part name="042" interface="vgm_quik">
- <feature name="part_id" value="42 like any good fairytale.vgz" />
- <dataarea name="quik" size="43854">
- <rom name="42 like any good fairytale.vgz" size="43854" crc="0e5e2b58" sha1="4ee8c5196c91e2db1036eab1ea20fe76a08f5b73" offset="0" />
- </dataarea>
- </part>
- <part name="043" interface="vgm_quik">
- <feature name="part_id" value="43 presenting... team bomba!.vgz" />
- <dataarea name="quik" size="84273">
- <rom name="43 presenting... team bomba!.vgz" size="84273" crc="9416f1bf" sha1="63171bbada215a82cab5f93c145f8f4e58256d42" offset="0" />
- </dataarea>
- </part>
- <part name="044" interface="vgm_quik">
- <feature name="part_id" value="44 jpr's special.vgz" />
- <dataarea name="quik" size="26251">
- <rom name="44 jpr's special.vgz" size="26251" crc="99e1ac94" sha1="64c7dc8ee973dc8264d13e5d55c80a3db1468c92" offset="0" />
- </dataarea>
- </part>
- <part name="045" interface="vgm_quik">
- <feature name="part_id" value="45 jpr's robot.vgz" />
- <dataarea name="quik" size="57716">
- <rom name="45 jpr's robot.vgz" size="57716" crc="93a0f340" sha1="1e10fd8fd5e3974b6613a9bbc0fefdd06007039a" offset="0" />
- </dataarea>
- </part>
- <part name="046" interface="vgm_quik">
- <feature name="part_id" value="46 start level.vgz" />
- <dataarea name="quik" size="23357">
- <rom name="46 start level.vgz" size="23357" crc="1e8baac3" sha1="4cb480987c8156bff14e34cb876a5b69077f51ee" offset="0" />
- </dataarea>
- </part>
- <part name="047" interface="vgm_quik">
- <feature name="part_id" value="47 level clear.vgz" />
- <dataarea name="quik" size="31205">
- <rom name="47 level clear.vgz" size="31205" crc="d994c280" sha1="95893cc17a11c329695825fa482cf3e4d26d0039" offset="0" />
- </dataarea>
- </part>
- <part name="048" interface="vgm_quik">
- <feature name="part_id" value="48 game over.vgz" />
- <dataarea name="quik" size="28154">
- <rom name="48 game over.vgz" size="28154" crc="6e73cd34" sha1="1ab503524d81ff76862ebd59a2063839e846226d" offset="0" />
- </dataarea>
- </part>
- <part name="049" interface="vgm_quik">
- <feature name="part_id" value="49 custom levelset selection.vgz" />
- <dataarea name="quik" size="13673">
- <rom name="49 custom levelset selection.vgz" size="13673" crc="24348bcc" sha1="95a87fda560a9d01fd792c6853b5ff673d582ab7" offset="0" />
- </dataarea>
- </part>
- <part name="050" interface="vgm_quik">
- <feature name="part_id" value="50 welcome to the arena.vgz" />
- <dataarea name="quik" size="27642">
- <rom name="50 welcome to the arena.vgz" size="27642" crc="bc4dfc01" sha1="49605a95030caa3a67ca23bf03248708b7b12bf2" offset="0" />
- </dataarea>
- </part>
- <part name="051" interface="vgm_quik">
- <feature name="part_id" value="51 start battle!.vgz" />
- <dataarea name="quik" size="36033">
- <rom name="51 start battle!.vgz" size="36033" crc="4a8f2393" sha1="2f966c5405ee0421d3cb05e16ba564fc826ad9b8" offset="0" />
- </dataarea>
- </part>
- <part name="052" interface="vgm_quik">
- <feature name="part_id" value="52 we don't need no maps.vgz" />
- <dataarea name="quik" size="68207">
- <rom name="52 we don't need no maps.vgz" size="68207" crc="4d200072" sha1="65a7c7f0b592cf7f602e251d2303c6755ca5f64b" offset="0" />
- </dataarea>
- </part>
- <part name="053" interface="vgm_quik">
- <feature name="part_id" value="53 flooded greek gardens.vgz" />
- <dataarea name="quik" size="60138">
- <rom name="53 flooded greek gardens.vgz" size="60138" crc="c9063a60" sha1="254257cc6219010e4693927172bc1548333d4b7f" offset="0" />
- </dataarea>
- </part>
- <part name="054" interface="vgm_quik">
- <feature name="part_id" value="54 fighting frenzy.vgz" />
- <dataarea name="quik" size="57584">
- <rom name="54 fighting frenzy.vgz" size="57584" crc="c8231bdc" sha1="6cd10e2c415347986e80cd941cb5ab20a231f622" offset="0" />
- </dataarea>
- </part>
- <part name="055" interface="vgm_quik">
- <feature name="part_id" value="55 rhapsody in blood.vgz" />
- <dataarea name="quik" size="72873">
- <rom name="55 rhapsody in blood.vgz" size="72873" crc="aca54d84" sha1="5c0346e593fecf46cb03726665b65bc8455e9b07" offset="0" />
- </dataarea>
- </part>
- <part name="056" interface="vgm_quik">
- <feature name="part_id" value="56 listen to da beatz.vgz" />
- <dataarea name="quik" size="57087">
- <rom name="56 listen to da beatz.vgz" size="57087" crc="190f2845" sha1="324c83ff968e0b907ef35600a5b0a10661754332" offset="0" />
- </dataarea>
- </part>
- <part name="057" interface="vgm_quik">
- <feature name="part_id" value="57 more greek gardens.vgz" />
- <dataarea name="quik" size="92968">
- <rom name="57 more greek gardens.vgz" size="92968" crc="255f1767" sha1="101cbf9296cc85d8138c980f80bcaa8a73a8ed75" offset="0" />
- </dataarea>
- </part>
- <part name="058" interface="vgm_quik">
- <feature name="part_id" value="58 scoreboard.vgz" />
- <dataarea name="quik" size="37862">
- <rom name="58 scoreboard.vgz" size="37862" crc="d4b7f7fb" sha1="c993b2cf846dd4198ecc02c6086fa8242c8850ff" offset="0" />
- </dataarea>
- </part>
- <part name="059" interface="vgm_quik">
- <feature name="part_id" value="59 victorious.vgz" />
- <dataarea name="quik" size="39739">
- <rom name="59 victorious.vgz" size="39739" crc="3a312a66" sha1="6ba7d5fe14bcbc0148b72651081e18227bbd5e9e" offset="0" />
- </dataarea>
- </part>
- <part name="060" interface="vgm_quik">
- <feature name="part_id" value="60 draw game.vgz" />
- <dataarea name="quik" size="37755">
- <rom name="60 draw game.vgz" size="37755" crc="bf8291a8" sha1="d0d832a282477cb8c1b94af48bedf3d7c185bd53" offset="0" />
- </dataarea>
- </part>
- <part name="061" interface="vgm_quik">
- <feature name="part_id" value="61 unused - continue.vgz" />
- <dataarea name="quik" size="28451">
- <rom name="61 unused - continue.vgz" size="28451" crc="a35f9297" sha1="5d400205cf7930842b56d2656bfc9759bff5afcb" offset="0" />
- </dataarea>
- </part>
- <part name="062" interface="vgm_quik">
- <feature name="part_id" value="62 unused - old titlescreen, part 1.vgz" />
- <dataarea name="quik" size="23173">
- <rom name="62 unused - old titlescreen, part 1.vgz" size="23173" crc="a0284754" sha1="c91bfc03fb294deae336d79c30a20e6096290708" offset="0" />
- </dataarea>
- </part>
- <part name="063" interface="vgm_quik">
- <feature name="part_id" value="63 unused - old titlescreen, part 2.vgz" />
- <dataarea name="quik" size="34642">
- <rom name="63 unused - old titlescreen, part 2.vgz" size="34642" crc="a98ffebe" sha1="5787944dd16fdfe0a4c6e92426bb6747afdd7484" offset="0" />
- </dataarea>
- </part>
- <part name="064" interface="vgm_quik">
- <feature name="part_id" value="64 titlescreen.vgz" />
- <dataarea name="quik" size="23096">
- <rom name="64 titlescreen.vgz" size="23096" crc="47a4d27b" sha1="0c93edb68820bb7cedd775e0628dfb330611aad8" offset="0" />
- </dataarea>
- </part>
- <part name="065" interface="vgm_quik">
- <feature name="part_id" value="65 one ring to rule them all.vgz" />
- <dataarea name="quik" size="19481">
- <rom name="65 one ring to rule them all.vgz" size="19481" crc="dd702733" sha1="8eabb8698831a868126a6fceaa178e9720818f96" offset="0" />
- </dataarea>
- </part>
- <part name="066" interface="vgm_quik">
- <feature name="part_id" value="66 yum's xxx world.vgz" />
- <dataarea name="quik" size="63420">
- <rom name="66 yum's xxx world.vgz" size="63420" crc="d3905730" sha1="5b60ffb3cd7f7dfe1e8afb471d97f9e194376845" offset="0" />
- </dataarea>
- </part>
- <part name="067" interface="vgm_quik">
- <feature name="part_id" value="67 yum is a dirty old bastard.vgz" />
- <dataarea name="quik" size="72818">
- <rom name="67 yum is a dirty old bastard.vgz" size="72818" crc="c0489d8b" sha1="891d787c37886ea26871b7fffc03ef33be83b0f5" offset="0" />
- </dataarea>
- </part>
- <part name="068" interface="vgm_quik">
- <feature name="part_id" value="68 chat with wildbeaver.vgz" />
- <dataarea name="quik" size="27955">
- <rom name="68 chat with wildbeaver.vgz" size="27955" crc="a409b744" sha1="3adf71e115b863b8ed7d72632471c05b0e2101e4" offset="0" />
- </dataarea>
- </part>
- <part name="069" interface="vgm_quik">
- <feature name="part_id" value="69 hunting some wild beaver.vgz" />
- <dataarea name="quik" size="52525">
- <rom name="69 hunting some wild beaver.vgz" size="52525" crc="6c777272" sha1="bfd43be6457c9b64340f4adf80d5870def121b0b" offset="0" />
- </dataarea>
- </part>
- <part name="070" interface="vgm_quik">
- <feature name="part_id" value="70 wildbeaver defeated.vgz" />
- <dataarea name="quik" size="32932">
- <rom name="70 wildbeaver defeated.vgz" size="32932" crc="6263bded" sha1="57da944eeac49e7f03605fcdbee392ebddd0620a" offset="0" />
- </dataarea>
- </part>
- <part name="071" interface="vgm_quik">
- <feature name="part_id" value="71 lwb enddemo.vgz" />
- <dataarea name="quik" size="28405">
- <rom name="71 lwb enddemo.vgz" size="28405" crc="a565f8bf" sha1="29f4d86b5cc176461bcd3fe9c8475924215d122b" offset="0" />
- </dataarea>
- </part>
- <part name="072" interface="vgm_quik">
- <feature name="part_id" value="72 ringtester.vgz" />
- <dataarea name="quik" size="36497">
- <rom name="72 ringtester.vgz" size="36497" crc="cdd84fe2" sha1="cf578dc73099210c120c1d568b82783232347a3e" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="hoops96">
- <description>Data East's Hoops (Deco MLC System)</description>
- <year>1995</year>
- <publisher>Data East</publisher>
- <info name="cores" value="YMZ280B"/>
- <part name="001" interface="vgm_quik">
- <feature name="part_id" value="01 hot hips (beach court).vgz" />
- <dataarea name="quik" size="326926">
- <rom name="01 hot hips (beach court).vgz" size="326926" crc="ab94827d" sha1="3da75e85a69e7f5e1dc8ffde75af76ceb08936c2" offset="0" />
- </dataarea>
- </part>
- <part name="002" interface="vgm_quik">
- <feature name="part_id" value="02 quick (park court).vgz" />
- <dataarea name="quik" size="307502">
- <rom name="02 quick (park court).vgz" size="307502" crc="186a60bd" sha1="d9133fa7203e75227422863f672047b062efad93" offset="0" />
- </dataarea>
- </part>
- <part name="003" interface="vgm_quik">
- <feature name="part_id" value="03 foolish hopper (slum court).vgz" />
- <dataarea name="quik" size="197106">
- <rom name="03 foolish hopper (slum court).vgz" size="197106" crc="e14f43b7" sha1="c21f492338f839487dd20e65a57a4142e40b2cd6" offset="0" />
- </dataarea>
- </part>
- <part name="004" interface="vgm_quik">
- <feature name="part_id" value="04 dancing jam (club court).vgz" />
- <dataarea name="quik" size="327202">
- <rom name="04 dancing jam (club court).vgz" size="327202" crc="79995d56" sha1="51cb90ea774f1d09ee3c55b57b83fc6387dacf16" offset="0" />
- </dataarea>
- </part>
- <part name="005" interface="vgm_quik">
- <feature name="part_id" value="05 no more ''d'' (city court).vgz" />
- <dataarea name="quik" size="151756">
- <rom name="05 no more ''d'' (city court).vgz" size="151756" crc="2bee4bf9" sha1="653c187f2159489d3116075d0e707484f02d6cc3" offset="0" />
- </dataarea>
- </part>
- <part name="006" interface="vgm_quik">
- <feature name="part_id" value="06 opening (opening).vgz" />
- <dataarea name="quik" size="76488">
- <rom name="06 opening (opening).vgz" size="76488" crc="5632357e" sha1="d85b78645f1645fc00b92efd6794606b4cafb979" offset="0" />
- </dataarea>
- </part>
- <part name="007" interface="vgm_quik">
- <feature name="part_id" value="07 power break (game select).vgz" />
- <dataarea name="quik" size="87536">
- <rom name="07 power break (game select).vgz" size="87536" crc="24af979d" sha1="4fd62ef710c8a3389ec14f7785f9e6535e675146" offset="0" />
- </dataarea>
- </part>
- <part name="008" interface="vgm_quik">
- <feature name="part_id" value="08 knock on my heart (team select).vgz" />
- <dataarea name="quik" size="119085">
- <rom name="08 knock on my heart (team select).vgz" size="119085" crc="501be13b" sha1="c3131b69f05940bb430ac14cfc91cdf0ab1d1773" offset="0" />
- </dataarea>
- </part>
- <part name="009" interface="vgm_quik">
- <feature name="part_id" value="09 let's go (game start).vgz" />
- <dataarea name="quik" size="44505">
- <rom name="09 let's go (game start).vgz" size="44505" crc="604dd9ed" sha1="fac5a23e3f2d3ce073ee5aa123b3c4ade3c942d2" offset="0" />
- </dataarea>
- </part>
- <part name="010" interface="vgm_quik">
- <feature name="part_id" value="10 good (replay).vgz" />
- <dataarea name="quik" size="50041">
- <rom name="10 good (replay).vgz" size="50041" crc="8b8d21dc" sha1="b3f492f28b08f1789f44f7d9c0547385b5b8c9cb" offset="0" />
- </dataarea>
- </part>
- <part name="011" interface="vgm_quik">
- <feature name="part_id" value="11 win (win display).vgz" />
- <dataarea name="quik" size="39158">
- <rom name="11 win (win display).vgz" size="39158" crc="f1389265" sha1="c13ea9110bb28201693479cf6b30a05c67ddc6a1" offset="0" />
- </dataarea>
- </part>
- <part name="012" interface="vgm_quik">
- <feature name="part_id" value="12 lose (lose display).vgz" />
- <dataarea name="quik" size="38691">
- <rom name="12 lose (lose display).vgz" size="38691" crc="00eb8e47" sha1="e447b508581d8a2a9080ed1148782f6d278e5e2e" offset="0" />
- </dataarea>
- </part>
- <part name="013" interface="vgm_quik">
- <feature name="part_id" value="13 now take a chance (continue).vgz" />
- <dataarea name="quik" size="220001">
- <rom name="13 now take a chance (continue).vgz" size="220001" crc="619d007f" sha1="8a32747d9396277a65f7c6b6407a9476bb215768" offset="0" />
- </dataarea>
- </part>
- <part name="014" interface="vgm_quik">
- <feature name="part_id" value="14 over (game over).vgz" />
- <dataarea name="quik" size="29293">
- <rom name="14 over (game over).vgz" size="29293" crc="6121b4be" sha1="6613aee733071a92ad9e30a159811fafa9e9fd8b" offset="0" />
- </dataarea>
- </part>
- <part name="015" interface="vgm_quik">
- <feature name="part_id" value="15 end (ending).vgz" />
- <dataarea name="quik" size="40879">
- <rom name="15 end (ending).vgz" size="40879" crc="53ad6890" sha1="2102b907646916687c375dffa35e688572cbc285" offset="0" />
- </dataarea>
- </part>
- <part name="016" interface="vgm_quik">
- <feature name="part_id" value="16 watch your brother (staff roll).vgz" />
- <dataarea name="quik" size="222505">
- <rom name="16 watch your brother (staff roll).vgz" size="222505" crc="159f86f2" sha1="ab03c111695027d60fd841f3d1556acad1a11ce4" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="deadconx">
- <description>Dead Connection (Taito F1 System)</description>
- <year>1992</year>
- <publisher>Taito</publisher>
- <info name="cores" value="YM2610"/>
- <part name="001" interface="vgm_quik">
- <feature name="part_id" value="01 attract mode.vgz" />
- <dataarea name="quik" size="46246">
- <rom name="01 attract mode.vgz" size="46246" crc="0965773f" sha1="96afed9789bf0433693cbcaa37346897f1fa9b12" offset="0" />
- </dataarea>
- </part>
- <part name="002" interface="vgm_quik">
- <feature name="part_id" value="02 coin.vgz" />
- <dataarea name="quik" size="26325">
- <rom name="02 coin.vgz" size="26325" crc="383815e6" sha1="af2b1a6c996a62483983e8b1f23e83909cf41c3f" offset="0" />
- </dataarea>
- </part>
- <part name="003" interface="vgm_quik">
- <feature name="part_id" value="03 character select.vgz" />
- <dataarea name="quik" size="69613">
- <rom name="03 character select.vgz" size="69613" crc="b9838cec" sha1="952870ab4aa2a397ba501c64ee09d2c953c0f452" offset="0" />
- </dataarea>
- </part>
- <part name="004" interface="vgm_quik">
- <feature name="part_id" value="04 introduction 1.vgz" />
- <dataarea name="quik" size="17802">
- <rom name="04 introduction 1.vgz" size="17802" crc="b07bc688" sha1="223829dd906a96bd41262918f576181fb719262b" offset="0" />
- </dataarea>
- </part>
- <part name="005" interface="vgm_quik">
- <feature name="part_id" value="05 round start.vgz" />
- <dataarea name="quik" size="26437">
- <rom name="05 round start.vgz" size="26437" crc="869eaf54" sha1="06870842135e343d3042d2863a1b383e42b4274a" offset="0" />
- </dataarea>
- </part>
- <part name="006" interface="vgm_quik">
- <feature name="part_id" value="06 stages 1, 5 bgm.vgz" />
- <dataarea name="quik" size="113529">
- <rom name="06 stages 1, 5 bgm.vgz" size="113529" crc="a6c8e93c" sha1="7e134d85e7af63a931fc35afd1b7bb24cee169ed" offset="0" />
- </dataarea>
- </part>
- <part name="007" interface="vgm_quik">
- <feature name="part_id" value="07 boss bgm.vgz" />
- <dataarea name="quik" size="68280">
- <rom name="07 boss bgm.vgz" size="68280" crc="9021e685" sha1="f1f1f337a476e3a09377e753264a1e955ee1abb5" offset="0" />
- </dataarea>
- </part>
- <part name="008" interface="vgm_quik">
- <feature name="part_id" value="08 round clear.vgz" />
- <dataarea name="quik" size="18021">
- <rom name="08 round clear.vgz" size="18021" crc="73fd5b80" sha1="8d68af834a6a6557567c91931b95e4ce3d3941a8" offset="0" />
- </dataarea>
- </part>
- <part name="009" interface="vgm_quik">
- <feature name="part_id" value="09 introduction 2.vgz" />
- <dataarea name="quik" size="58731">
- <rom name="09 introduction 2.vgz" size="58731" crc="2f19a48d" sha1="9df66d72a3e2cd21f8581cf2f1329c6bb5823e81" offset="0" />
- </dataarea>
- </part>
- <part name="010" interface="vgm_quik">
- <feature name="part_id" value="10 stages 2, 4, 6 bgm.vgz" />
- <dataarea name="quik" size="69688">
- <rom name="10 stages 2, 4, 6 bgm.vgz" size="69688" crc="2daee198" sha1="57e1f1e12e8231bccc1aaa9d7493ed50ccaa451f" offset="0" />
- </dataarea>
- </part>
- <part name="011" interface="vgm_quik">
- <feature name="part_id" value="11 stages 3, 7 bgm.vgz" />
- <dataarea name="quik" size="57013">
- <rom name="11 stages 3, 7 bgm.vgz" size="57013" crc="82183436" sha1="bd0922d75fd2b283a101f4640bbf3b4509bef98c" offset="0" />
- </dataarea>
- </part>
- <part name="012" interface="vgm_quik">
- <feature name="part_id" value="12 introduction 3.vgz" />
- <dataarea name="quik" size="36947">
- <rom name="12 introduction 3.vgz" size="36947" crc="7710230f" sha1="8885f1fea149a62cdd82fe39989854c862adc99b" offset="0" />
- </dataarea>
- </part>
- <part name="013" interface="vgm_quik">
- <feature name="part_id" value="13 ending.vgz" />
- <dataarea name="quik" size="15834">
- <rom name="13 ending.vgz" size="15834" crc="c2fbf002" sha1="6325352111aaa8f5a120e89640b6cec75e6f36b7" offset="0" />
- </dataarea>
- </part>
- <part name="014" interface="vgm_quik">
- <feature name="part_id" value="14 staff roll.vgz" />
- <dataarea name="quik" size="28814">
- <rom name="14 staff roll.vgz" size="28814" crc="fa7118ab" sha1="99de6c7727b883cfa3663800a7b50ec6b7a3413c" offset="0" />
- </dataarea>
- </part>
- <part name="015" interface="vgm_quik">
- <feature name="part_id" value="15 continue.vgz" />
- <dataarea name="quik" size="22250">
- <rom name="15 continue.vgz" size="22250" crc="3f063ebc" sha1="80a294bb2ba60b7850ccf54f5d710f4c5d46e817" offset="0" />
- </dataarea>
- </part>
- <part name="016" interface="vgm_quik">
- <feature name="part_id" value="16 game over.vgz" />
- <dataarea name="quik" size="7634">
- <rom name="16 game over.vgz" size="7634" crc="0254203a" sha1="40acdcdea9eea572d87e7eb295e788adee2119cb" offset="0" />
- </dataarea>
- </part>
- <part name="017" interface="vgm_quik">
- <feature name="part_id" value="17 unused 1.vgz" />
- <dataarea name="quik" size="23383">
- <rom name="17 unused 1.vgz" size="23383" crc="e248cdd7" sha1="8f741f0bb2b90565bc04049247b21a7b717d7647" offset="0" />
- </dataarea>
- </part>
- <part name="018" interface="vgm_quik">
- <feature name="part_id" value="18 unused 2.vgz" />
- <dataarea name="quik" size="5549">
- <rom name="18 unused 2.vgz" size="5549" crc="839e7a32" sha1="34936ff8e2f81009fcfdefd260d0811afdcd9d71" offset="0" />
- </dataarea>
- </part>
- <part name="019" interface="vgm_quik">
- <feature name="part_id" value="19 unused 3.vgz" />
- <dataarea name="quik" size="16585">
- <rom name="19 unused 3.vgz" size="16585" crc="53d87181" sha1="f59d85dd62a297872ed491a8d8dd9c354997ce3a" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="ogrebatl_ngpc">
- <description>Densetsu no Ogre Battle Gaiden - Zenobia no Ouji (Neo Geo Pocket Color)</description>
- <year>2000</year>
- <publisher>SNK</publisher>
- <info name="cores" value="T6W28"/>
- <part name="001" interface="vgm_quik">
- <feature name="part_id" value="01 overture.vgz" />
- <dataarea name="quik" size="15416">
- <rom name="01 overture.vgz" size="15416" crc="5798b7fa" sha1="0245d2f5e0517aada646edde0f2a46c3d6f43b50" offset="0" />
- </dataarea>
- </part>
- <part name="002" interface="vgm_quik">
- <feature name="part_id" value="02 beginning of the tale.vgz" />
- <dataarea name="quik" size="18306">
- <rom name="02 beginning of the tale.vgz" size="18306" crc="415be0f0" sha1="6be1f78eb3fce0373cf5e58c9179ce1716d4d10d" offset="0" />
- </dataarea>
- </part>
- <part name="003" interface="vgm_quik">
- <feature name="part_id" value="03 entrance parade.vgz" />
- <dataarea name="quik" size="16711">
- <rom name="03 entrance parade.vgz" size="16711" crc="de36e11f" sha1="9486cd1aa174d6d0bf0dfd77dbc384f4eb6527aa" offset="0" />
- </dataarea>
- </part>
- <part name="004" interface="vgm_quik">
- <feature name="part_id" value="04 fortune teller.vgz" />
- <dataarea name="quik" size="8202">
- <rom name="04 fortune teller.vgz" size="8202" crc="e58fdf76" sha1="3cb843e4adf10f8c127364e0794c4112ff654cf3" offset="0" />
- </dataarea>
- </part>
- <part name="005" interface="vgm_quik">
- <feature name="part_id" value="05 atlas.vgz" />
- <dataarea name="quik" size="11666">
- <rom name="05 atlas.vgz" size="11666" crc="af7e1fba" sha1="090f33cf5a9048ff19a2f3462b08ab1f6a9de821" offset="0" />
- </dataarea>
- </part>
- <part name="006" interface="vgm_quik">
- <feature name="part_id" value="06 revolt.vgz" />
- <dataarea name="quik" size="16631">
- <rom name="06 revolt.vgz" size="16631" crc="13624cd9" sha1="03b82a72c64669915dac66b643ce3d8c9600d371" offset="0" />
- </dataarea>
- </part>
- <part name="007" interface="vgm_quik">
- <feature name="part_id" value="07 guerrilla war.vgz" />
- <dataarea name="quik" size="13323">
- <rom name="07 guerrilla war.vgz" size="13323" crc="ca5c3669" sha1="d8eaa32eadf2edf4099be5b2942aeca4c684ba18" offset="0" />
- </dataarea>
- </part>
- <part name="008" interface="vgm_quik">
- <feature name="part_id" value="08 rout.vgz" />
- <dataarea name="quik" size="1911">
- <rom name="08 rout.vgz" size="1911" crc="33cfd94e" sha1="a0c41392b8286ebbf8eebd6f882d76a62014ebfb" offset="0" />
- </dataarea>
- </part>
- <part name="009" interface="vgm_quik">
- <feature name="part_id" value="09 rest in peace.vgz" />
- <dataarea name="quik" size="4848">
- <rom name="09 rest in peace.vgz" size="4848" crc="5bb13652" sha1="4e90c63cd65b1b4f6312e929309829d38d4a23fc" offset="0" />
- </dataarea>
- </part>
- <part name="010" interface="vgm_quik">
- <feature name="part_id" value="10 coma.vgz" />
- <dataarea name="quik" size="8718">
- <rom name="10 coma.vgz" size="8718" crc="fc0713e3" sha1="06e8d5128c2f8db09e8be840c13b80f2e37ea0a0" offset="0" />
- </dataarea>
- </part>
- <part name="011" interface="vgm_quik">
- <feature name="part_id" value="11 viking spirits.vgz" />
- <dataarea name="quik" size="12799">
- <rom name="11 viking spirits.vgz" size="12799" crc="52128b7d" sha1="5ffab6294001ac0c27cb215181f115d661f28058" offset="0" />
- </dataarea>
- </part>
- <part name="012" interface="vgm_quik">
- <feature name="part_id" value="12 do or die.vgz" />
- <dataarea name="quik" size="15252">
- <rom name="12 do or die.vgz" size="15252" crc="03f6dfde" sha1="ca01f3a116a924fd3340d27e368edf700c5c913a" offset="0" />
- </dataarea>
- </part>
- <part name="013" interface="vgm_quik">
- <feature name="part_id" value="13 brass of victory.vgz" />
- <dataarea name="quik" size="1585">
- <rom name="13 brass of victory.vgz" size="1585" crc="917fe7c7" sha1="f544b1cf79bed7bb1554ff325095344ff65c9653" offset="0" />
- </dataarea>
- </part>
- <part name="014" interface="vgm_quik">
- <feature name="part_id" value="14 acquired freedom.vgz" />
- <dataarea name="quik" size="3730">
- <rom name="14 acquired freedom.vgz" size="3730" crc="91f0bb8a" sha1="ab1abbbd7a55908afb1477276c3b529b5edb4c61" offset="0" />
- </dataarea>
- </part>
- <part name="015" interface="vgm_quik">
- <feature name="part_id" value="15 impregnable defense.vgz" />
- <dataarea name="quik" size="16763">
- <rom name="15 impregnable defense.vgz" size="16763" crc="b11aee2e" sha1="97dbc4c93d90a765dbfb8c6a4384015b76bbc0dc" offset="0" />
- </dataarea>
- </part>
- <part name="016" interface="vgm_quik">
- <feature name="part_id" value="16 autumnal sky.vgz" />
- <dataarea name="quik" size="17584">
- <rom name="16 autumnal sky.vgz" size="17584" crc="974bb78b" sha1="9acab91f924b5e40e6147f303c1b9b81c28c909b" offset="0" />
- </dataarea>
- </part>
- <part name="017" interface="vgm_quik">
- <feature name="part_id" value="17 krypton.vgz" />
- <dataarea name="quik" size="17455">
- <rom name="17 krypton.vgz" size="17455" crc="6bc90d3e" sha1="574f78fc2ed631b48436ef738035323a9691ad1c" offset="0" />
- </dataarea>
- </part>
- <part name="018" interface="vgm_quik">
- <feature name="part_id" value="18 schlieren.vgz" />
- <dataarea name="quik" size="3453">
- <rom name="18 schlieren.vgz" size="3453" crc="b332661c" sha1="88da4263dc3cc9304b070ae6c84c355c5614b68c" offset="0" />
- </dataarea>
- </part>
- <part name="019" interface="vgm_quik">
- <feature name="part_id" value="19 white storm.vgz" />
- <dataarea name="quik" size="13284">
- <rom name="19 white storm.vgz" size="13284" crc="88859750" sha1="7743bf6dac8eb5577d5e9bf1ab93b4a1348a5097" offset="0" />
- </dataarea>
- </part>
- <part name="020" interface="vgm_quik">
- <feature name="part_id" value="20 accretion disk.vgz" />
- <dataarea name="quik" size="33281">
- <rom name="20 accretion disk.vgz" size="33281" crc="2d5f0017" sha1="c1f5b7a4a2f4983160cda59206df2391158b2329" offset="0" />
- </dataarea>
- </part>
- <part name="021" interface="vgm_quik">
- <feature name="part_id" value="21 dark matter.vgz" />
- <dataarea name="quik" size="14403">
- <rom name="21 dark matter.vgz" size="14403" crc="394d1fb3" sha1="98c7a40d059877e5e177979cdd1dd6464f3edcc0" offset="0" />
- </dataarea>
- </part>
- <part name="022" interface="vgm_quik">
- <feature name="part_id" value="22 billow of the dark.vgz" />
- <dataarea name="quik" size="18314">
- <rom name="22 billow of the dark.vgz" size="18314" crc="4902d381" sha1="d6df3729d1c6641273da42c7d06fb3c9a728873b" offset="0" />
- </dataarea>
- </part>
- <part name="023" interface="vgm_quik">
- <feature name="part_id" value="23 morning star.vgz" />
- <dataarea name="quik" size="3157">
- <rom name="23 morning star.vgz" size="3157" crc="bdcc4492" sha1="9100c2046f60a5d09535d1fa8f359dc148d58d1a" offset="0" />
- </dataarea>
- </part>
- <part name="024" interface="vgm_quik">
- <feature name="part_id" value="24 one episode.vgz" />
- <dataarea name="quik" size="6547">
- <rom name="24 one episode.vgz" size="6547" crc="3275dee3" sha1="773f0cea958a46fe194f04de4cf40f5a515ff5b9" offset="0" />
- </dataarea>
- </part>
- <part name="025" interface="vgm_quik">
- <feature name="part_id" value="25 neo-overture.vgz" />
- <dataarea name="quik" size="14996">
- <rom name="25 neo-overture.vgz" size="14996" crc="cccd36ff" sha1="8677d08561ee62081768e595babbe947de4f4332" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="exvania">
- <description>Exvania (Namco NA-1)</description>
- <year>1992</year>
- <publisher>Namco</publisher>
- <info name="cores" value="C219"/>
- <part name="001" interface="vgm_quik">
- <feature name="part_id" value="01 opening.vgz" />
- <dataarea name="quik" size="119899">
- <rom name="01 opening.vgz" size="119899" crc="8590d29f" sha1="026451d100fca5bd6978bc09e9a42ecd0b70c9f6" offset="0" />
- </dataarea>
- </part>
- <part name="002" interface="vgm_quik">
- <feature name="part_id" value="02 credit.vgz" />
- <dataarea name="quik" size="5868">
- <rom name="02 credit.vgz" size="5868" crc="23874c63" sha1="fb138803635e147c6ee842bcf017a2ded6ef9173" offset="0" />
- </dataarea>
- </part>
- <part name="003" interface="vgm_quik">
- <feature name="part_id" value="03 waiting for participation bgm.vgz" />
- <dataarea name="quik" size="73158">
- <rom name="03 waiting for participation bgm.vgz" size="73158" crc="5352d680" sha1="4c231ff9ba47bc799319f59ec5ecf8f4881126a2" offset="0" />
- </dataarea>
- </part>
- <part name="004" interface="vgm_quik">
- <feature name="part_id" value="04 start.vgz" />
- <dataarea name="quik" size="54020">
- <rom name="04 start.vgz" size="54020" crc="5475706c" sha1="8878d12507876d9048e5f4dd25f1a0f1f272f2f8" offset="0" />
- </dataarea>
- </part>
- <part name="005" interface="vgm_quik">
- <feature name="part_id" value="05 game bgm 1.vgz" />
- <dataarea name="quik" size="134414">
- <rom name="05 game bgm 1.vgz" size="134414" crc="b27f3b50" sha1="fec6421c433b761f7ac170540b989ef6074a43db" offset="0" />
- </dataarea>
- </part>
- <part name="006" interface="vgm_quik">
- <feature name="part_id" value="06 warning bgm.vgz" />
- <dataarea name="quik" size="148064">
- <rom name="06 warning bgm.vgz" size="148064" crc="47aa468e" sha1="831e475b64058acf1d49ad1ec66fb19dd3296dde" offset="0" />
- </dataarea>
- </part>
- <part name="007" interface="vgm_quik">
- <feature name="part_id" value="07 draw jingle.vgz" />
- <dataarea name="quik" size="59908">
- <rom name="07 draw jingle.vgz" size="59908" crc="4d40d988" sha1="88a31493f2fab59779c88b749a5a97c6a68d5b76" offset="0" />
- </dataarea>
- </part>
- <part name="008" interface="vgm_quik">
- <feature name="part_id" value="08 game bgm 2.vgz" />
- <dataarea name="quik" size="182074">
- <rom name="08 game bgm 2.vgz" size="182074" crc="8f8d7d66" sha1="edff1805e75268461ce9266ae5db555a034af416" offset="0" />
- </dataarea>
- </part>
- <part name="009" interface="vgm_quik">
- <feature name="part_id" value="09 boss - dragon bgm.vgz" />
- <dataarea name="quik" size="110142">
- <rom name="09 boss - dragon bgm.vgz" size="110142" crc="4dec9096" sha1="9a7482bbbc8bfa622b4b9e810f08cd58ae777ede" offset="0" />
- </dataarea>
- </part>
- <part name="010" interface="vgm_quik">
- <feature name="part_id" value="10 victory decision.vgz" />
- <dataarea name="quik" size="54468">
- <rom name="10 victory decision.vgz" size="54468" crc="4ba123d0" sha1="29abeaacb397cf85ce719096e4866dead4b84c71" offset="0" />
- </dataarea>
- </part>
- <part name="011" interface="vgm_quik">
- <feature name="part_id" value="11 win-loss standings &amp; map.vgz" />
- <dataarea name="quik" size="66862">
- <rom name="11 win-loss standings &amp; map.vgz" size="66862" crc="fda2ccab" sha1="b9be4c93cd5e7853f507d4e58ae735709d5460f0" offset="0" />
- </dataarea>
- </part>
- <part name="012" interface="vgm_quik">
- <feature name="part_id" value="12 final boss - erinyes bgm.vgz" />
- <dataarea name="quik" size="97752">
- <rom name="12 final boss - erinyes bgm.vgz" size="97752" crc="b8ec4ed6" sha1="9be092b2a14a4489683a1a8f16cafb52d09f23ee" offset="0" />
- </dataarea>
- </part>
- <part name="013" interface="vgm_quik">
- <feature name="part_id" value="13 ending.vgz" />
- <dataarea name="quik" size="83656">
- <rom name="13 ending.vgz" size="83656" crc="39f1bd99" sha1="2d980f2a0bf275b5591e46ad721beb8880c36a6c" offset="0" />
- </dataarea>
- </part>
- <part name="014" interface="vgm_quik">
- <feature name="part_id" value="14 staff roll.vgz" />
- <dataarea name="quik" size="81605">
- <rom name="14 staff roll.vgz" size="81605" crc="b775e010" sha1="dd14e726e59a210484af67a9a7f123d01aa85976" offset="0" />
- </dataarea>
- </part>
- <part name="015" interface="vgm_quik">
- <feature name="part_id" value="15 continue.vgz" />
- <dataarea name="quik" size="68502">
- <rom name="15 continue.vgz" size="68502" crc="2eba7190" sha1="6abde4102f2ce2c2ebf295986756fb3af7ad9bb8" offset="0" />
- </dataarea>
- </part>
- <part name="016" interface="vgm_quik">
- <feature name="part_id" value="16 game over.vgz" />
- <dataarea name="quik" size="49397">
- <rom name="16 game over.vgz" size="49397" crc="392e4f0f" sha1="f54e18ef8dfacfa396be00b5c90d794ce8fda971" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="suprslam">
- <description>From TV Animation Slam Dunk - Super Slams (Arcade)</description>
- <year>1995</year>
- <publisher>Banpresto</publisher>
- <info name="cores" value="YM2610"/>
- <part name="001" interface="vgm_quik">
- <feature name="part_id" value="01 opening.vgz" />
- <dataarea name="quik" size="209977">
- <rom name="01 opening.vgz" size="209977" crc="4a0341ce" sha1="57ce51c3ec28484a064df3ab4d75104574d4fe4d" offset="0" />
- </dataarea>
- </part>
- <part name="002" interface="vgm_quik">
- <feature name="part_id" value="02 credit.vgz" />
- <dataarea name="quik" size="5059">
- <rom name="02 credit.vgz" size="5059" crc="e3282ecf" sha1="2ed4e38e808d75e341c17c4f430807d907a0c04a" offset="0" />
- </dataarea>
- </part>
- <part name="003" interface="vgm_quik">
- <feature name="part_id" value="03 select.vgz" />
- <dataarea name="quik" size="209152">
- <rom name="03 select.vgz" size="209152" crc="e030c4db" sha1="47cb54e9d62a31e8ecd73c5cd4288ff61dcccab6" offset="0" />
- </dataarea>
- </part>
- <part name="004" interface="vgm_quik">
- <feature name="part_id" value="04 vs.vgz" />
- <dataarea name="quik" size="57302">
- <rom name="04 vs.vgz" size="57302" crc="912f08b5" sha1="1f049abb6f43f15bb354fb23e51acd87a81593bf" offset="0" />
- </dataarea>
- </part>
- <part name="005" interface="vgm_quik">
- <feature name="part_id" value="05 win.vgz" />
- <dataarea name="quik" size="92980">
- <rom name="05 win.vgz" size="92980" crc="00e01de0" sha1="c8b8d5cda43751bbc1273ead514ef198ddd0e338" offset="0" />
- </dataarea>
- </part>
- <part name="006" interface="vgm_quik">
- <feature name="part_id" value="06 bonus stage.vgz" />
- <dataarea name="quik" size="154673">
- <rom name="06 bonus stage.vgz" size="154673" crc="164f8fd2" sha1="a5b9df8c0af4ef56c36b1275d5592c81066d5754" offset="0" />
- </dataarea>
- </part>
- <part name="007" interface="vgm_quik">
- <feature name="part_id" value="07 joining in.vgz" />
- <dataarea name="quik" size="33343">
- <rom name="07 joining in.vgz" size="33343" crc="ce85c71c" sha1="2377a905ddfb8fc6e9537f63bbcb824d4bfc43de" offset="0" />
- </dataarea>
- </part>
- <part name="008" interface="vgm_quik">
- <feature name="part_id" value="08 ending - kainan.vgz" />
- <dataarea name="quik" size="59269">
- <rom name="08 ending - kainan.vgz" size="59269" crc="3a379c7e" sha1="f1d223ba7aed1cb091d5e80b3bd3d5605e9823f9" offset="0" />
- </dataarea>
- </part>
- <part name="009" interface="vgm_quik">
- <feature name="part_id" value="09 ending - ryonan.vgz" />
- <dataarea name="quik" size="60861">
- <rom name="09 ending - ryonan.vgz" size="60861" crc="253acda7" sha1="65ac0a20bd0b6e33c325f643877c32d0aab61ee4" offset="0" />
- </dataarea>
- </part>
- <part name="010" interface="vgm_quik">
- <feature name="part_id" value="10 ending - shohoku.vgz" />
- <dataarea name="quik" size="61483">
- <rom name="10 ending - shohoku.vgz" size="61483" crc="b27a4022" sha1="38921b4b390e2026cd7382a4a74489bb53a4a304" offset="0" />
- </dataarea>
- </part>
- <part name="011" interface="vgm_quik">
- <feature name="part_id" value="11 ending - shoyo.vgz" />
- <dataarea name="quik" size="66973">
- <rom name="11 ending - shoyo.vgz" size="66973" crc="b128d20e" sha1="bc92cb1ecee528b00ed58412d41974acfb19cc27" offset="0" />
- </dataarea>
- </part>
- <part name="012" interface="vgm_quik">
- <feature name="part_id" value="12 staff roll.vgz" />
- <dataarea name="quik" size="147722">
- <rom name="12 staff roll.vgz" size="147722" crc="98401bfa" sha1="356594c496ac4d4d194882ad11251b8508f9ff3c" offset="0" />
- </dataarea>
- </part>
- <part name="013" interface="vgm_quik">
- <feature name="part_id" value="13 lose.vgz" />
- <dataarea name="quik" size="41029">
- <rom name="13 lose.vgz" size="41029" crc="a48be6dc" sha1="c688aae86f2f3aeb7a45df089cbd050448cd3659" offset="0" />
- </dataarea>
- </part>
- <part name="014" interface="vgm_quik">
- <feature name="part_id" value="14 continue.vgz" />
- <dataarea name="quik" size="34840">
- <rom name="14 continue.vgz" size="34840" crc="2388a584" sha1="f2ea79ced85196dc7ee6695c27863bf37c18a0ab" offset="0" />
- </dataarea>
- </part>
- <part name="015" interface="vgm_quik">
- <feature name="part_id" value="15 name entry.vgz" />
- <dataarea name="quik" size="91767">
- <rom name="15 name entry.vgz" size="91767" crc="a62d4757" sha1="8aa6e6218bb0ff4951fe932b3ca6da2aef5b470f" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="geoseal_68k">
- <description>Geograph Seal (Sharp X68000)</description>
- <year>1994</year>
- <publisher>Exact</publisher>
- <info name="cores" value="YM2151, OKIM6258"/>
- <part name="001" interface="vgm_quik">
- <feature name="part_id" value="01 intro.vgz" />
- <dataarea name="quik" size="3202">
- <rom name="01 intro.vgz" size="3202" crc="034aabb0" sha1="42bbc89706844ac7e018e2496c9dc3f61f350433" offset="0" />
- </dataarea>
- </part>
- <part name="002" interface="vgm_quik">
- <feature name="part_id" value="02 opening.vgz" />
- <dataarea name="quik" size="63126">
- <rom name="02 opening.vgz" size="63126" crc="580b156f" sha1="cc96ad12376a79a38b84edbb4cbfbba098465b7b" offset="0" />
- </dataarea>
- </part>
- <part name="003" interface="vgm_quik">
- <feature name="part_id" value="03 mission.vgz" />
- <dataarea name="quik" size="28222">
- <rom name="03 mission.vgz" size="28222" crc="33e19511" sha1="0aad31caa4579ae4adc91fdfcd32fbb2ab2bd117" offset="0" />
- </dataarea>
- </part>
- <part name="004" interface="vgm_quik">
- <feature name="part_id" value="04 stage 1.vgz" />
- <dataarea name="quik" size="43271">
- <rom name="04 stage 1.vgz" size="43271" crc="2464f492" sha1="7ae95d942d5a01b24435b306ab62e1131bb5412f" offset="0" />
- </dataarea>
- </part>
- <part name="005" interface="vgm_quik">
- <feature name="part_id" value="05 boss 1.vgz" />
- <dataarea name="quik" size="21303">
- <rom name="05 boss 1.vgz" size="21303" crc="00711a55" sha1="92c462d690cfda96e0107ddd79d3c57376a36148" offset="0" />
- </dataarea>
- </part>
- <part name="006" interface="vgm_quik">
- <feature name="part_id" value="06 stage clear.vgz" />
- <dataarea name="quik" size="20610">
- <rom name="06 stage clear.vgz" size="20610" crc="c58e59a5" sha1="82bce7aab9c7df0de6e6058e0501ea3b247f243a" offset="0" />
- </dataarea>
- </part>
- <part name="007" interface="vgm_quik">
- <feature name="part_id" value="07 stage 2.vgz" />
- <dataarea name="quik" size="39597">
- <rom name="07 stage 2.vgz" size="39597" crc="29ecb3ee" sha1="a29ae0137927eedbebe88772aa917c431fb41144" offset="0" />
- </dataarea>
- </part>
- <part name="008" interface="vgm_quik">
- <feature name="part_id" value="08 stage 3.vgz" />
- <dataarea name="quik" size="51279">
- <rom name="08 stage 3.vgz" size="51279" crc="7c3660c7" sha1="6783ec4ccb1d13866f7ae5f25c8208e5588d80d7" offset="0" />
- </dataarea>
- </part>
- <part name="009" interface="vgm_quik">
- <feature name="part_id" value="09 boss 2.vgz" />
- <dataarea name="quik" size="20403">
- <rom name="09 boss 2.vgz" size="20403" crc="54403816" sha1="ddcfb4f3e69023c2130ab6162ae526e49d76f3d0" offset="0" />
- </dataarea>
- </part>
- <part name="010" interface="vgm_quik">
- <feature name="part_id" value="10 stage 4.vgz" />
- <dataarea name="quik" size="31666">
- <rom name="10 stage 4.vgz" size="31666" crc="4691f816" sha1="3e4d791e2f3eb2101d4161c624008793891abfd1" offset="0" />
- </dataarea>
- </part>
- <part name="011" interface="vgm_quik">
- <feature name="part_id" value="11 stage 5.vgz" />
- <dataarea name="quik" size="22443">
- <rom name="11 stage 5.vgz" size="22443" crc="4bfc0226" sha1="762d60f3dab7d293d34bc1ebf13d669e3fa53618" offset="0" />
- </dataarea>
- </part>
- <part name="012" interface="vgm_quik">
- <feature name="part_id" value="12 stage 6.vgz" />
- <dataarea name="quik" size="50464">
- <rom name="12 stage 6.vgz" size="50464" crc="9288963c" sha1="b6e98cafa48d59a047e5d31b861386f0ef721f5a" offset="0" />
- </dataarea>
- </part>
- <part name="013" interface="vgm_quik">
- <feature name="part_id" value="13 stage 7.vgz" />
- <dataarea name="quik" size="20295">
- <rom name="13 stage 7.vgz" size="20295" crc="0f3f1e34" sha1="35154a7973f3c7a55e9501fd0067b2422ee1cba4" offset="0" />
- </dataarea>
- </part>
- <part name="014" interface="vgm_quik">
- <feature name="part_id" value="14 stage 8.vgz" />
- <dataarea name="quik" size="15641">
- <rom name="14 stage 8.vgz" size="15641" crc="74e5dd72" sha1="edc6a5c6752c9e0b8dd86752898cac3383c102f2" offset="0" />
- </dataarea>
- </part>
- <part name="015" interface="vgm_quik">
- <feature name="part_id" value="15 ending.vgz" />
- <dataarea name="quik" size="91192">
- <rom name="15 ending.vgz" size="91192" crc="6a4b508f" sha1="a74151bf278bddd76fefdd5802e22f9f41f79de1" offset="0" />
- </dataarea>
- </part>
- <part name="016" interface="vgm_quik">
- <feature name="part_id" value="16 game over.vgz" />
- <dataarea name="quik" size="16509">
- <rom name="16 game over.vgz" size="16509" crc="7eb0cbfa" sha1="be17cfb0a3d7ad43af644fc77357e28b3d4269cf" offset="0" />
- </dataarea>
- </part>
- <part name="017" interface="vgm_quik">
- <feature name="part_id" value="17 name entry.vgz" />
- <dataarea name="quik" size="15880">
- <rom name="17 name entry.vgz" size="15880" crc="840f44da" sha1="481441a3967f00b7a1dc762a53cc46e3ce370419" offset="0" />
- </dataarea>
- </part>
- <part name="018" interface="vgm_quik">
- <feature name="part_id" value="18 v.s. menu.vgz" />
- <dataarea name="quik" size="26857">
- <rom name="18 v.s. menu.vgz" size="26857" crc="76fd7001" sha1="c6e96d97801d9e39e2de45078b3b67958492f759" offset="0" />
- </dataarea>
- </part>
- <part name="019" interface="vgm_quik">
- <feature name="part_id" value="19 v.s. battle.vgz" />
- <dataarea name="quik" size="15494">
- <rom name="19 v.s. battle.vgz" size="15494" crc="88ba4d20" sha1="beb65b139233181d99557e0c7689093b6114b068" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="gridiron">
- <description>Gridiron Fight (Arcade)</description>
- <year>1985</year>
- <publisher>Tehkan</publisher>
- <info name="cores" value="2xYM2149"/>
- <part name="001" interface="vgm_quik">
- <feature name="part_id" value="01 title.vgz" />
- <dataarea name="quik" size="2560">
- <rom name="01 title.vgz" size="2560" crc="894c0aae" sha1="8709fbf38cac7d3945fa4b45295df3c62f94c796" offset="0" />
- </dataarea>
- </part>
- <part name="002" interface="vgm_quik">
- <feature name="part_id" value="02 credit.vgz" />
- <dataarea name="quik" size="352">
- <rom name="02 credit.vgz" size="352" crc="fae96eeb" sha1="f76b6e045c5b8968bda22a63d66e582a508190b5" offset="0" />
- </dataarea>
- </part>
- <part name="003" interface="vgm_quik">
- <feature name="part_id" value="03 start.vgz" />
- <dataarea name="quik" size="2678">
- <rom name="03 start.vgz" size="2678" crc="d7de23fd" sha1="eab570463c0ba5d08cb5ff8d4f11bf12d1a16ceb" offset="0" />
- </dataarea>
- </part>
- <part name="004" interface="vgm_quik">
- <feature name="part_id" value="04 kick off.vgz" />
- <dataarea name="quik" size="474">
- <rom name="04 kick off.vgz" size="474" crc="88df4930" sha1="b36d287fa29d65a2c956f0cb216ca361b342c956" offset="0" />
- </dataarea>
- </part>
- <part name="005" interface="vgm_quik">
- <feature name="part_id" value="05 main bgm.vgz" />
- <dataarea name="quik" size="1453">
- <rom name="05 main bgm.vgz" size="1453" crc="697f70a6" sha1="bde9807dda9ce54053b61c2454c8ad596272154c" offset="0" />
- </dataarea>
- </part>
- <part name="006" interface="vgm_quik">
- <feature name="part_id" value="06 touchdown.vgz" />
- <dataarea name="quik" size="641">
- <rom name="06 touchdown.vgz" size="641" crc="2fc1c437" sha1="403e6ac312a05d1e2330a669e34c24aeb3083364" offset="0" />
- </dataarea>
- </part>
- <part name="007" interface="vgm_quik">
- <feature name="part_id" value="07 kick success.vgz" />
- <dataarea name="quik" size="595">
- <rom name="07 kick success.vgz" size="595" crc="af5d5498" sha1="e98c3472ed09d6b3048cc242b6f130a662302c62" offset="0" />
- </dataarea>
- </part>
- <part name="008" interface="vgm_quik">
- <feature name="part_id" value="08 safety.vgz" />
- <dataarea name="quik" size="516">
- <rom name="08 safety.vgz" size="516" crc="3731b279" sha1="52003dd1cb138b395f0f947038d1fe7037e6107c" offset="0" />
- </dataarea>
- </part>
- <part name="009" interface="vgm_quik">
- <feature name="part_id" value="09 side change.vgz" />
- <dataarea name="quik" size="1126">
- <rom name="09 side change.vgz" size="1126" crc="7da39195" sha1="01b1d0c1dbb3a96f03f16d8d5f8395ffa85ebe2e" offset="0" />
- </dataarea>
- </part>
- <part name="010" interface="vgm_quik">
- <feature name="part_id" value="10 kick failure.vgz" />
- <dataarea name="quik" size="683">
- <rom name="10 kick failure.vgz" size="683" crc="e9ddab70" sha1="e6a61b2faccd0f14816e1a4bddc95179595a0d69" offset="0" />
- </dataarea>
- </part>
- <part name="011" interface="vgm_quik">
- <feature name="part_id" value="11 continue.vgz" />
- <dataarea name="quik" size="2201">
- <rom name="11 continue.vgz" size="2201" crc="b0934e88" sha1="6df447461a535d0b07db9e8b656c2c3330093893" offset="0" />
- </dataarea>
- </part>
- <part name="012" interface="vgm_quik">
- <feature name="part_id" value="12 ending.vgz" />
- <dataarea name="quik" size="1141">
- <rom name="12 ending.vgz" size="1141" crc="69456a75" sha1="f17f822d70eb3ae1b90f97391608ac6cf795d26e" offset="0" />
- </dataarea>
- </part>
- <part name="013" interface="vgm_quik">
- <feature name="part_id" value="13 game over.vgz" />
- <dataarea name="quik" size="3969">
- <rom name="13 game over.vgz" size="3969" crc="4884be02" sha1="6b3c4f22e04d9489ac136b2818f221f596c3f9d1" offset="0" />
- </dataarea>
- </part>
- <part name="014" interface="vgm_quik">
- <feature name="part_id" value="14 unused jingle 1.vgz" />
- <dataarea name="quik" size="546">
- <rom name="14 unused jingle 1.vgz" size="546" crc="4c7d593c" sha1="96bc069faea92e7335540ed947d93a90b4a3a29e" offset="0" />
- </dataarea>
- </part>
- <part name="015" interface="vgm_quik">
- <feature name="part_id" value="15 unused jingle 2.vgz" />
- <dataarea name="quik" size="601">
- <rom name="15 unused jingle 2.vgz" size="601" crc="5cbd4aea" sha1="e1e816d3ca439736c4acf1d8009f12cf97a29763" offset="0" />
- </dataarea>
- </part>
- <part name="016" interface="vgm_quik">
- <feature name="part_id" value="16 unused jingle 3.vgz" />
- <dataarea name="quik" size="600">
- <rom name="16 unused jingle 3.vgz" size="600" crc="9f181b7b" sha1="c05243d93833ca241102d839bba83bf4a0783029" offset="0" />
- </dataarea>
- </part>
- <part name="017" interface="vgm_quik">
- <feature name="part_id" value="17 unused music 1.vgz" />
- <dataarea name="quik" size="2776">
- <rom name="17 unused music 1.vgz" size="2776" crc="ce5249b1" sha1="ef883bd35c673a4e4e8160770c461b33a8a10f84" offset="0" />
- </dataarea>
- </part>
- <part name="018" interface="vgm_quik">
- <feature name="part_id" value="18 unused music 2.vgz" />
- <dataarea name="quik" size="3625">
- <rom name="18 unused music 2.vgz" size="3625" crc="9d64c030" sha1="0b16d3bec33c330fdad38b6d1d58cce3e98eb9c9" offset="0" />
- </dataarea>
- </part>
- <part name="019" interface="vgm_quik">
- <feature name="part_id" value="19 unused music 3.vgz" />
- <dataarea name="quik" size="2653">
- <rom name="19 unused music 3.vgz" size="2653" crc="26edeb82" sha1="6dec868b1fc0ff61b0bd65e7fa836ad7830bab09" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="laplace_68k">
- <description>Laplace no Ma (Sharp X68000)</description>
- <year>1990</year>
- <publisher>Humming Bird Soft</publisher>
- <info name="cores" value="YM2151, OKIM6258"/>
- <part name="001" interface="vgm_quik">
- <feature name="part_id" value="01 opening.vgz" />
- <dataarea name="quik" size="33144">
- <rom name="01 opening.vgz" size="33144" crc="da57c974" sha1="612074ebde95a72f1102e4e8af64f1466f37fcbd" offset="0" />
- </dataarea>
- </part>
- <part name="002" interface="vgm_quik">
- <feature name="part_id" value="02 dizziness.vgz" />
- <dataarea name="quik" size="4512">
- <rom name="02 dizziness.vgz" size="4512" crc="d2d7e0fa" sha1="9bff3e88f2f97aad0ea83af99d99270fe0b39437" offset="0" />
- </dataarea>
- </part>
- <part name="003" interface="vgm_quik">
- <feature name="part_id" value="03 flywheel.vgz" />
- <dataarea name="quik" size="4003">
- <rom name="03 flywheel.vgz" size="4003" crc="2c75a4be" sha1="cf86757434bde6578f62f27c64b7d24ce108ff81" offset="0" />
- </dataarea>
- </part>
- <part name="004" interface="vgm_quik">
- <feature name="part_id" value="04 doorway.vgz" />
- <dataarea name="quik" size="3980">
- <rom name="04 doorway.vgz" size="3980" crc="164dcb9e" sha1="0ed2e13d5b9c32e30ca849f4a05fe73a3081fb3b" offset="0" />
- </dataarea>
- </part>
- <part name="005" interface="vgm_quik">
- <feature name="part_id" value="05 a vow for tomorrow.vgz" />
- <dataarea name="quik" size="2543">
- <rom name="05 a vow for tomorrow.vgz" size="2543" crc="2275783c" sha1="cac212b852c9217fa1c1a04e3538d95bcc8a33d4" offset="0" />
- </dataarea>
- </part>
- <part name="006" interface="vgm_quik">
- <feature name="part_id" value="06 the new calm city.vgz" />
- <dataarea name="quik" size="3136">
- <rom name="06 the new calm city.vgz" size="3136" crc="00fd90f6" sha1="18d48839992de05318787e18a16fb44663300bec" offset="0" />
- </dataarea>
- </part>
- <part name="007" interface="vgm_quik">
- <feature name="part_id" value="07 pub time song.vgz" />
- <dataarea name="quik" size="3148">
- <rom name="07 pub time song.vgz" size="3148" crc="66304f0a" sha1="01045c9a55bf75b485785996139f976ea6e516b0" offset="0" />
- </dataarea>
- </part>
- <part name="008" interface="vgm_quik">
- <feature name="part_id" value="08 reviving cross.vgz" />
- <dataarea name="quik" size="2349">
- <rom name="08 reviving cross.vgz" size="2349" crc="a056c826" sha1="1582dad9714ab12884554362e6f6134e137344ac" offset="0" />
- </dataarea>
- </part>
- <part name="009" interface="vgm_quik">
- <feature name="part_id" value="09 haunted house.vgz" />
- <dataarea name="quik" size="2969">
- <rom name="09 haunted house.vgz" size="2969" crc="218dad1a" sha1="fe4d08dfcfc89920c8cdf2fcf0bdf480af84ec57" offset="0" />
- </dataarea>
- </part>
- <part name="010" interface="vgm_quik">
- <feature name="part_id" value="10 omnious basement.vgz" />
- <dataarea name="quik" size="3468">
- <rom name="10 omnious basement.vgz" size="3468" crc="84de941f" sha1="54bbb72a9f5d3042125106aef3f47d481f805852" offset="0" />
- </dataarea>
- </part>
- <part name="011" interface="vgm_quik">
- <feature name="part_id" value="11 ghost hunter.vgz" />
- <dataarea name="quik" size="11166">
- <rom name="11 ghost hunter.vgz" size="11166" crc="0639ff47" sha1="ea8cf8c8f9162ce9a4c6d09c6bc800367108abac" offset="0" />
- </dataarea>
- </part>
- <part name="012" interface="vgm_quik">
- <feature name="part_id" value="12 demon castle.vgz" />
- <dataarea name="quik" size="1882">
- <rom name="12 demon castle.vgz" size="1882" crc="6d3950a8" sha1="a2649f46dd7bf227af646e0d8bebcb303c53197f" offset="0" />
- </dataarea>
- </part>
- <part name="013" interface="vgm_quik">
- <feature name="part_id" value="13 scary corridor.vgz" />
- <dataarea name="quik" size="1877">
- <rom name="13 scary corridor.vgz" size="1877" crc="710c9b1c" sha1="0c9a6e5274131a946dec1e7199d77f15af337fb2" offset="0" />
- </dataarea>
- </part>
- <part name="014" interface="vgm_quik">
- <feature name="part_id" value="14 ghost dance.vgz" />
- <dataarea name="quik" size="2419">
- <rom name="14 ghost dance.vgz" size="2419" crc="f2c55053" sha1="4d273c2b2da58f13c89b4ece5f7761616a69d63a" offset="0" />
- </dataarea>
- </part>
- <part name="015" interface="vgm_quik">
- <feature name="part_id" value="15 sorrowful warrior.vgz" />
- <dataarea name="quik" size="3037">
- <rom name="15 sorrowful warrior.vgz" size="3037" crc="d223f986" sha1="e142a821b128964e39d61106af139c398a5e86f4" offset="0" />
- </dataarea>
- </part>
- <part name="016" interface="vgm_quik">
- <feature name="part_id" value="16 southern light.vgz" />
- <dataarea name="quik" size="3082">
- <rom name="16 southern light.vgz" size="3082" crc="9eebf94e" sha1="66be67a1a6a9817c5939eac81c02a734c1eb6dc9" offset="0" />
- </dataarea>
- </part>
- <part name="017" interface="vgm_quik">
- <feature name="part_id" value="17 swaying boat.vgz" />
- <dataarea name="quik" size="2241">
- <rom name="17 swaying boat.vgz" size="2241" crc="e49731b1" sha1="92810f984d3a71a009c872a14810f7a1d11c4bff" offset="0" />
- </dataarea>
- </part>
- <part name="018" interface="vgm_quik">
- <feature name="part_id" value="18 scream from the hell.vgz" />
- <dataarea name="quik" size="1497">
- <rom name="18 scream from the hell.vgz" size="1497" crc="40de4b4d" sha1="83f557c4bfb6fcd3c16fbc2e5fea02069466ec5a" offset="0" />
- </dataarea>
- </part>
- <part name="019" interface="vgm_quik">
- <feature name="part_id" value="19 battle with huster.vgz" />
- <dataarea name="quik" size="14324">
- <rom name="19 battle with huster.vgz" size="14324" crc="c315da6c" sha1="cb4a56211cdeecf808d742c5019f5b7b7365a431" offset="0" />
- </dataarea>
- </part>
- <part name="020" interface="vgm_quik">
- <feature name="part_id" value="20 the escape.vgz" />
- <dataarea name="quik" size="12170">
- <rom name="20 the escape.vgz" size="12170" crc="45d5c011" sha1="1cafb9863e0bd0ea42ec3485c7d7b884181ba8c9" offset="0" />
- </dataarea>
- </part>
- <part name="021" interface="vgm_quik">
- <feature name="part_id" value="21 ending.vgz" />
- <dataarea name="quik" size="17511">
- <rom name="21 ending.vgz" size="17511" crc="4a000a7a" sha1="ce506be33531799dcd73a3f65cd43f50c82ad0b3" offset="0" />
- </dataarea>
- </part>
- <part name="022" interface="vgm_quik">
- <feature name="part_id" value="22 invitation.vgz" />
- <dataarea name="quik" size="4842">
- <rom name="22 invitation.vgz" size="4842" crc="cb39a207" sha1="9d9289e43d7ba18cd7b3784fb1104124f5297d8e" offset="0" />
- </dataarea>
- </part>
- <part name="023" interface="vgm_quik">
- <feature name="part_id" value="23 unknown track.vgz" />
- <dataarea name="quik" size="2193">
- <rom name="23 unknown track.vgz" size="2193" crc="03204f60" sha1="1ed14df1e17732356f156b298a9f7f29025093a9" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="mgcrystl">
- <description>Magical Crystals (Arcade)</description>
- <year>1991</year>
- <publisher>Kaneko (W) / Atlus (J)</publisher>
- <info name="cores" value="2xYM2149, OKIM6295"/>
- <part name="001" interface="vgm_quik">
- <feature name="part_id" value="01 credit.vgz" />
- <dataarea name="quik" size="9043">
- <rom name="01 credit.vgz" size="9043" crc="4bca2676" sha1="588efc0a7d2ffd0576d2c520d431d43cd0706f51" offset="0" />
- </dataarea>
- </part>
- <part name="002" interface="vgm_quik">
- <feature name="part_id" value="02 press start.vgz" />
- <dataarea name="quik" size="6611">
- <rom name="02 press start.vgz" size="6611" crc="2421873e" sha1="5398bba10fa21cb4fa5319f163deaa936c638847" offset="0" />
- </dataarea>
- </part>
- <part name="003" interface="vgm_quik">
- <feature name="part_id" value="03 world 1.vgz" />
- <dataarea name="quik" size="19045">
- <rom name="03 world 1.vgz" size="19045" crc="9a11534c" sha1="6694f53ed6444833eb1ade93c15cea59e92670ec" offset="0" />
- </dataarea>
- </part>
- <part name="004" interface="vgm_quik">
- <feature name="part_id" value="04 round clear.vgz" />
- <dataarea name="quik" size="13180">
- <rom name="04 round clear.vgz" size="13180" crc="878b66da" sha1="4e53c1c5ab1d52a7f7fd23aca0122a5c6d008723" offset="0" />
- </dataarea>
- </part>
- <part name="005" interface="vgm_quik">
- <feature name="part_id" value="05 world 1, 2 boss.vgz" />
- <dataarea name="quik" size="24813">
- <rom name="05 world 1, 2 boss.vgz" size="24813" crc="a4206080" sha1="97bb3352e695f50d7419d2ca994950f730f9ea8d" offset="0" />
- </dataarea>
- </part>
- <part name="006" interface="vgm_quik">
- <feature name="part_id" value="06 world clear.vgz" />
- <dataarea name="quik" size="9727">
- <rom name="06 world clear.vgz" size="9727" crc="108f4344" sha1="5ad3a6b5361b0e86c399799fbd449ce7645467aa" offset="0" />
- </dataarea>
- </part>
- <part name="007" interface="vgm_quik">
- <feature name="part_id" value="07 bonus game start.vgz" />
- <dataarea name="quik" size="19727">
- <rom name="07 bonus game start.vgz" size="19727" crc="785c86ea" sha1="e633bc838c83238ed63766fb6d536def4b499296" offset="0" />
- </dataarea>
- </part>
- <part name="008" interface="vgm_quik">
- <feature name="part_id" value="08 bonus game.vgz" />
- <dataarea name="quik" size="6794">
- <rom name="08 bonus game.vgz" size="6794" crc="f776d90f" sha1="09d1af31ea849b763eb3990c134fb9e700a13bf1" offset="0" />
- </dataarea>
- </part>
- <part name="009" interface="vgm_quik">
- <feature name="part_id" value="09 bonus game win.vgz" />
- <dataarea name="quik" size="9410">
- <rom name="09 bonus game win.vgz" size="9410" crc="575c4a03" sha1="bf88f7c5dff9a3a939460b656ce4a3d68a10b51c" offset="0" />
- </dataarea>
- </part>
- <part name="010" interface="vgm_quik">
- <feature name="part_id" value="10 bonus game lose, time out.vgz" />
- <dataarea name="quik" size="2180">
- <rom name="10 bonus game lose, time out.vgz" size="2180" crc="cc0f25ad" sha1="5eca78a82180e8569895cd4529ee3fd3977baae9" offset="0" />
- </dataarea>
- </part>
- <part name="011" interface="vgm_quik">
- <feature name="part_id" value="11 world 2.vgz" />
- <dataarea name="quik" size="23330">
- <rom name="11 world 2.vgz" size="23330" crc="f87c923f" sha1="84d122fb2779e8a76916ff0b428200cc34753a1b" offset="0" />
- </dataarea>
- </part>
- <part name="012" interface="vgm_quik">
- <feature name="part_id" value="12 world 3.vgz" />
- <dataarea name="quik" size="21634">
- <rom name="12 world 3.vgz" size="21634" crc="8bf6f749" sha1="0c0539495ec54bbc4721167ebd199c5d3f9fa676" offset="0" />
- </dataarea>
- </part>
- <part name="013" interface="vgm_quik">
- <feature name="part_id" value="13 world 3 boss, last boss 2.vgz" />
- <dataarea name="quik" size="11663">
- <rom name="13 world 3 boss, last boss 2.vgz" size="11663" crc="a421cec9" sha1="6dd201f384f0430e3f1e6d22e1b513be4a195d64" offset="0" />
- </dataarea>
- </part>
- <part name="014" interface="vgm_quik">
- <feature name="part_id" value="14 world 4.vgz" />
- <dataarea name="quik" size="13649">
- <rom name="14 world 4.vgz" size="13649" crc="f73c53d7" sha1="6cbf80ae2bb19602cf93a36d5f6f1e33cf9f74bb" offset="0" />
- </dataarea>
- </part>
- <part name="015" interface="vgm_quik">
- <feature name="part_id" value="15 world 4 boss, last boss 1.vgz" />
- <dataarea name="quik" size="26371">
- <rom name="15 world 4 boss, last boss 1.vgz" size="26371" crc="11a14191" sha1="ee8eda3e43b07858902ea06b2e46a6ad4909b92c" offset="0" />
- </dataarea>
- </part>
- <part name="016" interface="vgm_quik">
- <feature name="part_id" value="16 world 5.vgz" />
- <dataarea name="quik" size="18194">
- <rom name="16 world 5.vgz" size="18194" crc="b9bc07da" sha1="adf40c987d203757afc287785cf4ce5e75df9fa1" offset="0" />
- </dataarea>
- </part>
- <part name="017" interface="vgm_quik">
- <feature name="part_id" value="17 world 5 boss.vgz" />
- <dataarea name="quik" size="30724">
- <rom name="17 world 5 boss.vgz" size="30724" crc="0477f0ab" sha1="08c5eb0ee37059c5baf82c518422af642d8e2d3a" offset="0" />
- </dataarea>
- </part>
- <part name="018" interface="vgm_quik">
- <feature name="part_id" value="18 world 6.vgz" />
- <dataarea name="quik" size="19976">
- <rom name="18 world 6.vgz" size="19976" crc="3e184f64" sha1="521f64fc1bc1748c18193dcd62f0b02e53bca763" offset="0" />
- </dataarea>
- </part>
- <part name="019" interface="vgm_quik">
- <feature name="part_id" value="19 staff roll.vgz" />
- <dataarea name="quik" size="34429">
- <rom name="19 staff roll.vgz" size="34429" crc="278242b7" sha1="f8244e8089daf3c798788a20adbe257d98b65bd8" offset="0" />
- </dataarea>
- </part>
- <part name="020" interface="vgm_quik">
- <feature name="part_id" value="20 power up.vgz" />
- <dataarea name="quik" size="18033">
- <rom name="20 power up.vgz" size="18033" crc="7849fa24" sha1="1674f42c9c38a9850acd75158ae6f03746bc4dcc" offset="0" />
- </dataarea>
- </part>
- <part name="021" interface="vgm_quik">
- <feature name="part_id" value="21 game over.vgz" />
- <dataarea name="quik" size="12749">
- <rom name="21 game over.vgz" size="12749" crc="0b6a4da1" sha1="032fba9215eeabcfedb196d70aa0a94778cda97b" offset="0" />
- </dataarea>
- </part>
- <part name="022" interface="vgm_quik">
- <feature name="part_id" value="22 ranking.vgz" />
- <dataarea name="quik" size="8537">
- <rom name="22 ranking.vgz" size="8537" crc="fab6bd7d" sha1="262e0ce5cf8bca810c5cc70aaa8286cf9cb03d22" offset="0" />
- </dataarea>
- </part>
- <part name="023" interface="vgm_quik">
- <feature name="part_id" value="23 unknown.vgz" />
- <dataarea name="quik" size="6300">
- <rom name="23 unknown.vgz" size="6300" crc="f2fd57a1" sha1="1a58a4b77f4c80edd3bd4f2fd8bf58884af63780" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="mshvsf">
- <description>Marvel Super Heroes vs Street Fighter (CP System II)</description>
- <year>1997</year>
- <publisher>Capcom</publisher>
- <info name="cores" value="QSound"/>
- <part name="001" interface="vgm_quik">
- <feature name="part_id" value="01 qsound logo.vgz" />
- <dataarea name="quik" size="23067">
- <rom name="01 qsound logo.vgz" size="23067" crc="97bee05c" sha1="0db4d21a4d1fd5dc192527bb88b53a9e835e7c92" offset="0" />
- </dataarea>
- </part>
- <part name="002" interface="vgm_quik">
- <feature name="part_id" value="02 opening title.vgz" />
- <dataarea name="quik" size="215457">
- <rom name="02 opening title.vgz" size="215457" crc="a45d1537" sha1="b51e018044fede350797370edf3ddb051ff1c824" offset="0" />
- </dataarea>
- </part>
- <part name="003" interface="vgm_quik">
- <feature name="part_id" value="03 player select.vgz" />
- <dataarea name="quik" size="146058">
- <rom name="03 player select.vgz" size="146058" crc="5ed5c23b" sha1="a3d99d3a08b3c31d22bd90bf9e1200d8d8365aeb" offset="0" />
- </dataarea>
- </part>
- <part name="004" interface="vgm_quik">
- <feature name="part_id" value="04 break.vgz" />
- <dataarea name="quik" size="144795">
- <rom name="04 break.vgz" size="144795" crc="6dd280a2" sha1="04c8424ae5fd4446902778fa26ab89eab4089cc6" offset="0" />
- </dataarea>
- </part>
- <part name="005" interface="vgm_quik">
- <feature name="part_id" value="05 vs.vgz" />
- <dataarea name="quik" size="130986">
- <rom name="05 vs.vgz" size="130986" crc="c9eae0be" sha1="8d21855b9a277dc1f7a56dce49b52a6f8dd42f22" offset="0" />
- </dataarea>
- </part>
- <part name="006" interface="vgm_quik">
- <feature name="part_id" value="06 win.vgz" />
- <dataarea name="quik" size="120601">
- <rom name="06 win.vgz" size="120601" crc="c01af74e" sha1="00cbc386b2ed4cb5d3f29d1717a1aa675407b18f" offset="0" />
- </dataarea>
- </part>
- <part name="007" interface="vgm_quik">
- <feature name="part_id" value="07 continue.vgz" />
- <dataarea name="quik" size="119765">
- <rom name="07 continue.vgz" size="119765" crc="81ff53d6" sha1="bf136fcbf83343010d5e97834aa36c3428947d89" offset="0" />
- </dataarea>
- </part>
- <part name="008" interface="vgm_quik">
- <feature name="part_id" value="08 game over.vgz" />
- <dataarea name="quik" size="138268">
- <rom name="08 game over.vgz" size="138268" crc="29278675" sha1="4db39cfe5859b00b9f85c72b8078e830dd1cdaa7" offset="0" />
- </dataarea>
- </part>
- <part name="009" interface="vgm_quik">
- <feature name="part_id" value="09 norimaro toujou.vgz" />
- <dataarea name="quik" size="97595">
- <rom name="09 norimaro toujou.vgz" size="97595" crc="92bdbdf7" sha1="33be355b5a1b3404d523d0a61684fff05f62f752" offset="0" />
- </dataarea>
- </part>
- <part name="010" interface="vgm_quik">
- <feature name="part_id" value="10 hurry up.vgz" />
- <dataarea name="quik" size="149250">
- <rom name="10 hurry up.vgz" size="149250" crc="e8cfc7e5" sha1="859453f6cb5ecf7abb1b38da35976df5e86cacdb" offset="0" />
- </dataarea>
- </part>
- <part name="011" interface="vgm_quik">
- <feature name="part_id" value="11 ending introduction.vgz" />
- <dataarea name="quik" size="92747">
- <rom name="11 ending introduction.vgz" size="92747" crc="e599d317" sha1="4c1e6e4ed147de463ee98a313e3358271adf7d71" offset="0" />
- </dataarea>
- </part>
- <part name="012" interface="vgm_quik">
- <feature name="part_id" value="12 theme of cyclops.vgz" />
- <dataarea name="quik" size="272300">
- <rom name="12 theme of cyclops.vgz" size="272300" crc="a5e9687f" sha1="041fd4768d56405a7c123b6990a238ae3ec36720" offset="0" />
- </dataarea>
- </part>
- <part name="013" interface="vgm_quik">
- <feature name="part_id" value="13 cyclops ending.vgz" />
- <dataarea name="quik" size="200156">
- <rom name="13 cyclops ending.vgz" size="200156" crc="156d5c34" sha1="95e7fb2bb5bc8b7c3536c28a5b4694090cc36783" offset="0" />
- </dataarea>
- </part>
- <part name="014" interface="vgm_quik">
- <feature name="part_id" value="14 theme of wolverine.vgz" />
- <dataarea name="quik" size="323676">
- <rom name="14 theme of wolverine.vgz" size="323676" crc="df31c92f" sha1="666cabf0719b8a59e024c6df9dbc41769e9f6eb9" offset="0" />
- </dataarea>
- </part>
- <part name="015" interface="vgm_quik">
- <feature name="part_id" value="15 wolverine ending.vgz" />
- <dataarea name="quik" size="83894">
- <rom name="15 wolverine ending.vgz" size="83894" crc="bde06f83" sha1="c9ac59f7a45eb738411f7552d319289c861efd17" offset="0" />
- </dataarea>
- </part>
- <part name="016" interface="vgm_quik">
- <feature name="part_id" value="16 theme of ryu.vgz" />
- <dataarea name="quik" size="276480">
- <rom name="16 theme of ryu.vgz" size="276480" crc="c7597b64" sha1="2f114c41809c977616d479455b5aef00b9eaba3e" offset="0" />
- </dataarea>
- </part>
- <part name="017" interface="vgm_quik">
- <feature name="part_id" value="17 ryu ending.vgz" />
- <dataarea name="quik" size="94238">
- <rom name="17 ryu ending.vgz" size="94238" crc="d740b017" sha1="9ef03e8603b7ce94a572e2d12786b932145f192c" offset="0" />
- </dataarea>
- </part>
- <part name="018" interface="vgm_quik">
- <feature name="part_id" value="18 theme of ken.vgz" />
- <dataarea name="quik" size="255984">
- <rom name="18 theme of ken.vgz" size="255984" crc="58439118" sha1="b59c31be97f251ede7afbc56de5e929e921a34e8" offset="0" />
- </dataarea>
- </part>
- <part name="019" interface="vgm_quik">
- <feature name="part_id" value="19 theme of captain america.vgz" />
- <dataarea name="quik" size="255355">
- <rom name="19 theme of captain america.vgz" size="255355" crc="10d0bd0d" sha1="b821b7f10f2dc4f07961f41fdf359ddf6f1b1458" offset="0" />
- </dataarea>
- </part>
- <part name="020" interface="vgm_quik">
- <feature name="part_id" value="20 captain america ending.vgz" />
- <dataarea name="quik" size="154229">
- <rom name="20 captain america ending.vgz" size="154229" crc="e36ea391" sha1="33b51d53ca0e95934fe4873dcbd2a7ae8c466319" offset="0" />
- </dataarea>
- </part>
- <part name="021" interface="vgm_quik">
- <feature name="part_id" value="21 theme of hulk.vgz" />
- <dataarea name="quik" size="252312">
- <rom name="21 theme of hulk.vgz" size="252312" crc="63cfe8d0" sha1="7d16042fd4da20107bb48d6d9cc0fa1c61b97b21" offset="0" />
- </dataarea>
- </part>
- <part name="022" interface="vgm_quik">
- <feature name="part_id" value="22 hulk ending.vgz" />
- <dataarea name="quik" size="63661">
- <rom name="22 hulk ending.vgz" size="63661" crc="f5dfbc5b" sha1="9462ab01def65be536cb68af6e5e5d5e8e9b0098" offset="0" />
- </dataarea>
- </part>
- <part name="023" interface="vgm_quik">
- <feature name="part_id" value="23 theme of spider-man.vgz" />
- <dataarea name="quik" size="329753">
- <rom name="23 theme of spider-man.vgz" size="329753" crc="598acc16" sha1="bfb8264d62749aa43273d3624227392f81628c61" offset="0" />
- </dataarea>
- </part>
- <part name="024" interface="vgm_quik">
- <feature name="part_id" value="24 spider-man ending.vgz" />
- <dataarea name="quik" size="202061">
- <rom name="24 spider-man ending.vgz" size="202061" crc="f9c81db0" sha1="c2407b4168e606d1a61a6b6cb1bf672cf871fc50" offset="0" />
- </dataarea>
- </part>
- <part name="025" interface="vgm_quik">
- <feature name="part_id" value="25 theme of chun-li.vgz" />
- <dataarea name="quik" size="249056">
- <rom name="25 theme of chun-li.vgz" size="249056" crc="f89c5d9b" sha1="0ca5c5fc636de1ed01a1cbbc4dd7cbcf21b9f986" offset="0" />
- </dataarea>
- </part>
- <part name="026" interface="vgm_quik">
- <feature name="part_id" value="26 chun-li ending.vgz" />
- <dataarea name="quik" size="95769">
- <rom name="26 chun-li ending.vgz" size="95769" crc="37ba180d" sha1="5d4ff54fda10f3a6e34e9ac8c695767324c18275" offset="0" />
- </dataarea>
- </part>
- <part name="027" interface="vgm_quik">
- <feature name="part_id" value="27 theme of zangief.vgz" />
- <dataarea name="quik" size="267967">
- <rom name="27 theme of zangief.vgz" size="267967" crc="9b844be8" sha1="f07a99b2eceae52b2e3d73a50b48a3a613a1c079" offset="0" />
- </dataarea>
- </part>
- <part name="028" interface="vgm_quik">
- <feature name="part_id" value="28 theme of dhalsim.vgz" />
- <dataarea name="quik" size="267304">
- <rom name="28 theme of dhalsim.vgz" size="267304" crc="f0b88cd6" sha1="82c28c6573f69087ce8cd3c4ababee4f3a513873" offset="0" />
- </dataarea>
- </part>
- <part name="029" interface="vgm_quik">
- <feature name="part_id" value="29 dhalsim ending.vgz" />
- <dataarea name="quik" size="76409">
- <rom name="29 dhalsim ending.vgz" size="76409" crc="2105e73a" sha1="32adae2d0758639ce2e3760c2c7d8a4b3da66647" offset="0" />
- </dataarea>
- </part>
- <part name="030" interface="vgm_quik">
- <feature name="part_id" value="30 theme of shuma-gorath.vgz" />
- <dataarea name="quik" size="296831">
- <rom name="30 theme of shuma-gorath.vgz" size="296831" crc="d00deffe" sha1="13e67ec18631bceb1c8ee836cf3a25220f2c6baa" offset="0" />
- </dataarea>
- </part>
- <part name="031" interface="vgm_quik">
- <feature name="part_id" value="31 shuma-gorath ending 1.vgz" />
- <dataarea name="quik" size="57623">
- <rom name="31 shuma-gorath ending 1.vgz" size="57623" crc="4360395b" sha1="2b98e48dc955faf7c8485c226e37fd535f1c0637" offset="0" />
- </dataarea>
- </part>
- <part name="032" interface="vgm_quik">
- <feature name="part_id" value="32 shuma-gorath ending 2.vgz" />
- <dataarea name="quik" size="127980">
- <rom name="32 shuma-gorath ending 2.vgz" size="127980" crc="47a8888b" sha1="12c003bd5e5020334cc73f29345277386cdeffa9" offset="0" />
- </dataarea>
- </part>
- <part name="033" interface="vgm_quik">
- <feature name="part_id" value="33 theme of dan.vgz" />
- <dataarea name="quik" size="335810">
- <rom name="33 theme of dan.vgz" size="335810" crc="bc86596e" sha1="5342b67aba74b6d3ca5c1a82b32e5a5e0fe0d02b" offset="0" />
- </dataarea>
- </part>
- <part name="034" interface="vgm_quik">
- <feature name="part_id" value="34 dan ending.vgz" />
- <dataarea name="quik" size="123343">
- <rom name="34 dan ending.vgz" size="123343" crc="73dee0db" sha1="320a95fecdbee857b0bd0b96e5fbcec1321a86e3" offset="0" />
- </dataarea>
- </part>
- <part name="035" interface="vgm_quik">
- <feature name="part_id" value="35 theme of gouki, akuma.vgz" />
- <dataarea name="quik" size="248850">
- <rom name="35 theme of gouki, akuma.vgz" size="248850" crc="e7d01315" sha1="bc8c6674185ac50176471b06181ee28ac571cffc" offset="0" />
- </dataarea>
- </part>
- <part name="036" interface="vgm_quik">
- <feature name="part_id" value="36 gouki, akuma ending.vgz" />
- <dataarea name="quik" size="69665">
- <rom name="36 gouki, akuma ending.vgz" size="69665" crc="ac84e07f" sha1="a840d590e682c7ab027a86f0443634af9ac4cfe6" offset="0" />
- </dataarea>
- </part>
- <part name="037" interface="vgm_quik">
- <feature name="part_id" value="37 theme of sakura.vgz" />
- <dataarea name="quik" size="224508">
- <rom name="37 theme of sakura.vgz" size="224508" crc="905d9b34" sha1="3cc3ac12e2f4a49aa555f78134b0f252d3004a13" offset="0" />
- </dataarea>
- </part>
- <part name="038" interface="vgm_quik">
- <feature name="part_id" value="38 theme of norimaro.vgz" />
- <dataarea name="quik" size="273937">
- <rom name="38 theme of norimaro.vgz" size="273937" crc="228a3ec9" sha1="882c66a58d9274030d1d98283c2fe50e4e8809ee" offset="0" />
- </dataarea>
- </part>
- <part name="039" interface="vgm_quik">
- <feature name="part_id" value="39 norimaro ending 1.vgz" />
- <dataarea name="quik" size="138941">
- <rom name="39 norimaro ending 1.vgz" size="138941" crc="e08951ec" sha1="71c55dc704c94beb65236aec6d8d7e5453d21a05" offset="0" />
- </dataarea>
- </part>
- <part name="040" interface="vgm_quik">
- <feature name="part_id" value="40 norimaro ending 2.vgz" />
- <dataarea name="quik" size="128621">
- <rom name="40 norimaro ending 2.vgz" size="128621" crc="08b6c3a7" sha1="18a0930daa090fa5c333392436cb259b72cbf79f" offset="0" />
- </dataarea>
- </part>
- <part name="041" interface="vgm_quik">
- <feature name="part_id" value="41 theme of blackheart.vgz" />
- <dataarea name="quik" size="221627">
- <rom name="41 theme of blackheart.vgz" size="221627" crc="83e53316" sha1="d145bc8c7ae14f5e0cc00c88d17e59878b5c8106" offset="0" />
- </dataarea>
- </part>
- <part name="042" interface="vgm_quik">
- <feature name="part_id" value="42 theme of omega red.vgz" />
- <dataarea name="quik" size="265174">
- <rom name="42 theme of omega red.vgz" size="265174" crc="1babf61a" sha1="f37b3c1ff7fb601db3572c9b11b1f5e778d75438" offset="0" />
- </dataarea>
- </part>
- <part name="043" interface="vgm_quik">
- <feature name="part_id" value="43 theme of vega, m. bison.vgz" />
- <dataarea name="quik" size="305621">
- <rom name="43 theme of vega, m. bison.vgz" size="305621" crc="ed13b329" sha1="555e9d8b07166af457b229c7290e2f776a82f5f1" offset="0" />
- </dataarea>
- </part>
- <part name="044" interface="vgm_quik">
- <feature name="part_id" value="44 boss introduction.vgz" />
- <dataarea name="quik" size="58905">
- <rom name="44 boss introduction.vgz" size="58905" crc="2d0687f1" sha1="20a483c62d3391b8d7a651b3a9daec8bc514cefc" offset="0" />
- </dataarea>
- </part>
- <part name="045" interface="vgm_quik">
- <feature name="part_id" value="45 theme of apocalypse.vgz" />
- <dataarea name="quik" size="192223">
- <rom name="45 theme of apocalypse.vgz" size="192223" crc="f28cc751" sha1="132a731a4d1c9e052b8b3ef8740447ac36683513" offset="0" />
- </dataarea>
- </part>
- <part name="046" interface="vgm_quik">
- <feature name="part_id" value="46 theme of hidden character.vgz" />
- <dataarea name="quik" size="245944">
- <rom name="46 theme of hidden character.vgz" size="245944" crc="d52a46fd" sha1="6c6d3b9c87eb2e3fdf87320ddfeae9db2a17d481" offset="0" />
- </dataarea>
- </part>
- <part name="047" interface="vgm_quik">
- <feature name="part_id" value="47 conqueror ending.vgz" />
- <dataarea name="quik" size="154333">
- <rom name="47 conqueror ending.vgz" size="154333" crc="56635c11" sha1="eeb8410a9ebcea07c1f0336366f4f17ba2e5a1b4" offset="0" />
- </dataarea>
- </part>
- <part name="048" interface="vgm_quik">
- <feature name="part_id" value="48 tranquility ending.vgz" />
- <dataarea name="quik" size="85040">
- <rom name="48 tranquility ending.vgz" size="85040" crc="55a56990" sha1="a89ccc3cde47d8f3604f295b26ae2b10b04c6313" offset="0" />
- </dataarea>
- </part>
- <part name="049" interface="vgm_quik">
- <feature name="part_id" value="49 credits roll.vgz" />
- <dataarea name="quik" size="272375">
- <rom name="49 credits roll.vgz" size="272375" crc="1d9c1c66" sha1="b47b84ecbf1488ea9b4502a6322bf140ca35b3a3" offset="0" />
- </dataarea>
- </part>
- <part name="050" interface="vgm_quik">
- <feature name="part_id" value="50 theme of cyber-akuma, mech-gouki.vgz" />
- <dataarea name="quik" size="256675">
- <rom name="50 theme of cyber-akuma, mech-gouki.vgz" size="256675" crc="6963c994" sha1="8919006fa04e4374b8e7e3aa6f76ca0af81d1a8c" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="megablst">
- <description>Megablast (Taito F2 System)</description>
- <year>1989</year>
- <publisher>Taito</publisher>
- <info name="cores" value="YM2610"/>
- <part name="001" interface="vgm_quik">
- <feature name="part_id" value="01 power on.vgz" />
- <dataarea name="quik" size="9495">
- <rom name="01 power on.vgz" size="9495" crc="fbb01c47" sha1="9551d7addf3f332e5ff17e76236804aea3e93f9b" offset="0" />
- </dataarea>
- </part>
- <part name="002" interface="vgm_quik">
- <feature name="part_id" value="02 credit.vgz" />
- <dataarea name="quik" size="17170">
- <rom name="02 credit.vgz" size="17170" crc="360e8f64" sha1="b05115640bd64b44c4570da8d63ebd3da772597b" offset="0" />
- </dataarea>
- </part>
- <part name="003" interface="vgm_quik">
- <feature name="part_id" value="03 title.vgz" />
- <dataarea name="quik" size="75575">
- <rom name="03 title.vgz" size="75575" crc="379fe503" sha1="ffa779d2ce90d62f62376af0429995f1d234f2e9" offset="0" />
- </dataarea>
- </part>
- <part name="004" interface="vgm_quik">
- <feature name="part_id" value="04 story demo (from chopin 'fantaisie-impromptu').vgz" />
- <dataarea name="quik" size="199449">
- <rom name="04 story demo (from chopin 'fantaisie-impromptu').vgz" size="199449" crc="4e6b4c8c" sha1="2e192397486fd51bc648dc9f780640769a2b39b9" offset="0" />
- </dataarea>
- </part>
- <part name="005" interface="vgm_quik">
- <feature name="part_id" value="05 round 1.vgz" />
- <dataarea name="quik" size="101127">
- <rom name="05 round 1.vgz" size="101127" crc="aff15ff5" sha1="33bf7ea2c374d7463ec855ad1111d057f5e1274b" offset="0" />
- </dataarea>
- </part>
- <part name="006" interface="vgm_quik">
- <feature name="part_id" value="06 emergency!.vgz" />
- <dataarea name="quik" size="16574">
- <rom name="06 emergency!.vgz" size="16574" crc="50d0aa83" sha1="6084a63a8f467a8e4c29ad36fb949d7963f95e28" offset="0" />
- </dataarea>
- </part>
- <part name="007" interface="vgm_quik">
- <feature name="part_id" value="07 boss bgm.vgz" />
- <dataarea name="quik" size="58494">
- <rom name="07 boss bgm.vgz" size="58494" crc="6148cd97" sha1="0ba2fcb2f9f4c8a7cf32bc2b717550b4b5057ab2" offset="0" />
- </dataarea>
- </part>
- <part name="008" interface="vgm_quik">
- <feature name="part_id" value="08 round clear.vgz" />
- <dataarea name="quik" size="52973">
- <rom name="08 round clear.vgz" size="52973" crc="5e6b495d" sha1="1ae8fde474467e3441688db00c074d5ea6e14cd9" offset="0" />
- </dataarea>
- </part>
- <part name="009" interface="vgm_quik">
- <feature name="part_id" value="09 round 2.vgz" />
- <dataarea name="quik" size="75380">
- <rom name="09 round 2.vgz" size="75380" crc="eb2d3e84" sha1="c760a93d16979316939916e84c8a585f8865d98b" offset="0" />
- </dataarea>
- </part>
- <part name="010" interface="vgm_quik">
- <feature name="part_id" value="10 round 3.vgz" />
- <dataarea name="quik" size="58076">
- <rom name="10 round 3.vgz" size="58076" crc="781ca8cc" sha1="6c5fc1b6420e07f66d7154af40ab358cca857a43" offset="0" />
- </dataarea>
- </part>
- <part name="011" interface="vgm_quik">
- <feature name="part_id" value="11 round 4.vgz" />
- <dataarea name="quik" size="110237">
- <rom name="11 round 4.vgz" size="110237" crc="48911da7" sha1="0133ef4d1da6e62c304eee1996c463dd36fd8e44" offset="0" />
- </dataarea>
- </part>
- <part name="012" interface="vgm_quik">
- <feature name="part_id" value="12 round 5.vgz" />
- <dataarea name="quik" size="112287">
- <rom name="12 round 5.vgz" size="112287" crc="edbd758e" sha1="49558ba1fbfdb47c488066e16dc4b3dd03fdf8db" offset="0" />
- </dataarea>
- </part>
- <part name="013" interface="vgm_quik">
- <feature name="part_id" value="13 round 6.vgz" />
- <dataarea name="quik" size="76473">
- <rom name="13 round 6.vgz" size="76473" crc="dd2f60c7" sha1="0e502aecc47f43523807ec288f22275fe8baad58" offset="0" />
- </dataarea>
- </part>
- <part name="014" interface="vgm_quik">
- <feature name="part_id" value="14 round 7.vgz" />
- <dataarea name="quik" size="51814">
- <rom name="14 round 7.vgz" size="51814" crc="9c7bbc62" sha1="581759923c8f243da606386a5324843b7d4b20d6" offset="0" />
- </dataarea>
- </part>
- <part name="015" interface="vgm_quik">
- <feature name="part_id" value="15 round 8.vgz" />
- <dataarea name="quik" size="57401">
- <rom name="15 round 8.vgz" size="57401" crc="a20ba354" sha1="5d66fd305ed97a31545e7766727b4cfe25bfc282" offset="0" />
- </dataarea>
- </part>
- <part name="016" interface="vgm_quik">
- <feature name="part_id" value="16 ending (from beethoven 'symphony no.9 the fourth movement - ode to joy').vgz" />
- <dataarea name="quik" size="155937">
- <rom name="16 ending (from beethoven 'symphony no.9 the fourth movement - ode to joy').vgz" size="155937" crc="be9bdf90" sha1="9fbc73c114c908ae5a3d934dd94d6fd0f8b94ce9" offset="0" />
- </dataarea>
- </part>
- <part name="017" interface="vgm_quik">
- <feature name="part_id" value="17 name entry.vgz" />
- <dataarea name="quik" size="72125">
- <rom name="17 name entry.vgz" size="72125" crc="6d0b8da6" sha1="99be1e2f0e5e7e2b4cdd3672c6e7d0f3810d9639" offset="0" />
- </dataarea>
- </part>
- <part name="018" interface="vgm_quik">
- <feature name="part_id" value="18 round select (hidden mode).vgz" />
- <dataarea name="quik" size="74050">
- <rom name="18 round select (hidden mode).vgz" size="74050" crc="5e9775c2" sha1="73d9364018df03d625a1a814e2bfee238d01bc24" offset="0" />
- </dataarea>
- </part>
- <part name="019" interface="vgm_quik">
- <feature name="part_id" value="19 unused.vgz" />
- <dataarea name="quik" size="102803">
- <rom name="19 unused.vgz" size="102803" crc="ec7f8148" sha1="768f806d12d0722ef28c35e5bd1e3e24f36f59f6" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="megaman3_gb">
- <description>Mega Man III (Nintendo Game Boy)</description>
- <year>1992</year>
- <publisher>Capcom</publisher>
- <info name="cores" value="Game Boy DMG (LR35902)"/>
- <part name="001" interface="vgm_quik">
- <feature name="part_id" value="01 title screen.vgz" />
- <dataarea name="quik" size="8137">
- <rom name="01 title screen.vgz" size="8137" crc="f09dfdf3" sha1="129486e1793bfb8d7e162104a4e4fab881d835d4" offset="0" />
- </dataarea>
- </part>
- <part name="002" interface="vgm_quik">
- <feature name="part_id" value="02 password.vgz" />
- <dataarea name="quik" size="4927">
- <rom name="02 password.vgz" size="4927" crc="905f5208" sha1="63761011afbd42daffb8282c28ef7a43bcaf57d0" offset="0" />
- </dataarea>
- </part>
- <part name="003" interface="vgm_quik">
- <feature name="part_id" value="03 stage select.vgz" />
- <dataarea name="quik" size="2873">
- <rom name="03 stage select.vgz" size="2873" crc="17011fc9" sha1="d01bda87b4ee801e418e0970740b00d10f4cba14" offset="0" />
- </dataarea>
- </part>
- <part name="004" interface="vgm_quik">
- <feature name="part_id" value="04 stage start.vgz" />
- <dataarea name="quik" size="2111">
- <rom name="04 stage start.vgz" size="2111" crc="a13aa346" sha1="38c5c7dc41312af29e67581264e15f4b8854f79f" offset="0" />
- </dataarea>
- </part>
- <part name="005" interface="vgm_quik">
- <feature name="part_id" value="05 spark man stage.vgz" />
- <dataarea name="quik" size="8978">
- <rom name="05 spark man stage.vgz" size="8978" crc="d1a8e1c8" sha1="3b41d9197d3a19a4fb3b90ef8ab27970fd6c04e3" offset="0" />
- </dataarea>
- </part>
- <part name="006" interface="vgm_quik">
- <feature name="part_id" value="06 gemini man stage.vgz" />
- <dataarea name="quik" size="11377">
- <rom name="06 gemini man stage.vgz" size="11377" crc="675535c2" sha1="51a7bfcb64e77146e7c1198f8f248315a989e204" offset="0" />
- </dataarea>
- </part>
- <part name="007" interface="vgm_quik">
- <feature name="part_id" value="07 snake man stage.vgz" />
- <dataarea name="quik" size="8334">
- <rom name="07 snake man stage.vgz" size="8334" crc="68c04827" sha1="6311f0061acaf6d812c9f26e45981b2845bc5646" offset="0" />
- </dataarea>
- </part>
- <part name="008" interface="vgm_quik">
- <feature name="part_id" value="08 shadow man stage.vgz" />
- <dataarea name="quik" size="10641">
- <rom name="08 shadow man stage.vgz" size="10641" crc="5411ae57" sha1="3b69d510ae281263372282d0441d296d3b30c587" offset="0" />
- </dataarea>
- </part>
- <part name="009" interface="vgm_quik">
- <feature name="part_id" value="09 boss battle 1 (mm3).vgz" />
- <dataarea name="quik" size="6658">
- <rom name="09 boss battle 1 (mm3).vgz" size="6658" crc="895f6f94" sha1="de3f5486eb22a13cd68e0d96848e560f55f2b816" offset="0" />
- </dataarea>
- </part>
- <part name="010" interface="vgm_quik">
- <feature name="part_id" value="10 stage clear.vgz" />
- <dataarea name="quik" size="1340">
- <rom name="10 stage clear.vgz" size="1340" crc="50d5ab54" sha1="e0bda1f926629badc0cc447a5a304156b98be359" offset="0" />
- </dataarea>
- </part>
- <part name="011" interface="vgm_quik">
- <feature name="part_id" value="11 get a weapon.vgz" />
- <dataarea name="quik" size="3199">
- <rom name="11 get a weapon.vgz" size="3199" crc="c1eb9cf3" sha1="562918247dbf01b7e0cd9522be60f7b77928248c" offset="0" />
- </dataarea>
- </part>
- <part name="012" interface="vgm_quik">
- <feature name="part_id" value="12 wily stage map.vgz" />
- <dataarea name="quik" size="2350">
- <rom name="12 wily stage map.vgz" size="2350" crc="83750a23" sha1="81a87e6a41d10bac4a460a6796006bfc0d31192f" offset="0" />
- </dataarea>
- </part>
- <part name="013" interface="vgm_quik">
- <feature name="part_id" value="13 wily castle stage.vgz" />
- <dataarea name="quik" size="4354">
- <rom name="13 wily castle stage.vgz" size="4354" crc="f45220d5" sha1="760779b0d07029cb6cc02f8eb0d47dcd655059bd" offset="0" />
- </dataarea>
- </part>
- <part name="014" interface="vgm_quik">
- <feature name="part_id" value="14 dive man stage.vgz" />
- <dataarea name="quik" size="6722">
- <rom name="14 dive man stage.vgz" size="6722" crc="9660a070" sha1="4b72b142a226a7644076b93b6f000cd4821cca85" offset="0" />
- </dataarea>
- </part>
- <part name="015" interface="vgm_quik">
- <feature name="part_id" value="15 skull man stage.vgz" />
- <dataarea name="quik" size="6756">
- <rom name="15 skull man stage.vgz" size="6756" crc="fe18d276" sha1="b090ccf065d249be59468908f494c2a7c0461ea8" offset="0" />
- </dataarea>
- </part>
- <part name="016" interface="vgm_quik">
- <feature name="part_id" value="16 drill man stage.vgz" />
- <dataarea name="quik" size="14636">
- <rom name="16 drill man stage.vgz" size="14636" crc="38c2df0e" sha1="718809f9c656d5e7798a3b2f6345fc9c73ffd644" offset="0" />
- </dataarea>
- </part>
- <part name="017" interface="vgm_quik">
- <feature name="part_id" value="17 dust man stage.vgz" />
- <dataarea name="quik" size="7005">
- <rom name="17 dust man stage.vgz" size="7005" crc="d05b15be" sha1="9ad5433da23791d9760a8a9856ae56cb9cf523d2" offset="0" />
- </dataarea>
- </part>
- <part name="018" interface="vgm_quik">
- <feature name="part_id" value="18 boss battle 2 (mm4).vgz" />
- <dataarea name="quik" size="3138">
- <rom name="18 boss battle 2 (mm4).vgz" size="3138" crc="b1925170" sha1="9d7f95fde71606b2226748099611376b30fb4141" offset="0" />
- </dataarea>
- </part>
- <part name="019" interface="vgm_quik">
- <feature name="part_id" value="19 punk.vgz" />
- <dataarea name="quik" size="5155">
- <rom name="19 punk.vgz" size="5155" crc="696b29e8" sha1="911131ade0f24c6132373a7fabbfdbd5b4f14b45" offset="0" />
- </dataarea>
- </part>
- <part name="020" interface="vgm_quik">
- <feature name="part_id" value="20 wily station stage.vgz" />
- <dataarea name="quik" size="9412">
- <rom name="20 wily station stage.vgz" size="9412" crc="dffd324f" sha1="5963c038f4c1094badb052db07f8b5f1e94f874c" offset="0" />
- </dataarea>
- </part>
- <part name="021" interface="vgm_quik">
- <feature name="part_id" value="21 all clear.vgz" />
- <dataarea name="quik" size="1501">
- <rom name="21 all clear.vgz" size="1501" crc="d1022990" sha1="1eb63ca5fbeb661de226658c17a55f69238839cf" offset="0" />
- </dataarea>
- </part>
- <part name="022" interface="vgm_quik">
- <feature name="part_id" value="22 ending.vgz" />
- <dataarea name="quik" size="8974">
- <rom name="22 ending.vgz" size="8974" crc="ab6cf557" sha1="f2b829a13921f5bb9a6c93fc9adc29aae2cc5900" offset="0" />
- </dataarea>
- </part>
- <part name="023" interface="vgm_quik">
- <feature name="part_id" value="23 game over.vgz" />
- <dataarea name="quik" size="1758">
- <rom name="23 game over.vgz" size="1758" crc="a1432ec3" sha1="2ba97b51febc2f06c3664325988efa614ece54da" offset="0" />
- </dataarea>
- </part>
- <part name="024" interface="vgm_quik">
- <feature name="part_id" value="24 unused (mega man 2 nes title screen).vgz" />
- <dataarea name="quik" size="11090">
- <rom name="24 unused (mega man 2 nes title screen).vgz" size="11090" crc="2fb9ff0c" sha1="ce53c667f7ff42a563753b6bbe71f70e0a78d9cc" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="megaman2_gb">
- <description>Mega Man II (Nintendo Game Boy)</description>
- <year>1991</year>
- <publisher>Capcom</publisher>
- <info name="cores" value="Game Boy DMG (LR35902)"/>
- <part name="001" interface="vgm_quik">
- <feature name="part_id" value="01 title, wily station stage.vgz" />
- <dataarea name="quik" size="2647">
- <rom name="01 title, wily station stage.vgz" size="2647" crc="d45e0c89" sha1="5780aa5c28648ba0a28e0572ef5785d9fb7c8f1f" offset="0" />
- </dataarea>
- </part>
- <part name="002" interface="vgm_quik">
- <feature name="part_id" value="02 password.vgz" />
- <dataarea name="quik" size="1003">
- <rom name="02 password.vgz" size="1003" crc="cd5141b0" sha1="b560bf04790d0279af7bdba4593e98b0e520f607" offset="0" />
- </dataarea>
- </part>
- <part name="003" interface="vgm_quik">
- <feature name="part_id" value="03 stage select.vgz" />
- <dataarea name="quik" size="941">
- <rom name="03 stage select.vgz" size="941" crc="01ca4def" sha1="f1d4a07e87450b98e3f9636f3701314403392bee" offset="0" />
- </dataarea>
- </part>
- <part name="004" interface="vgm_quik">
- <feature name="part_id" value="04 stage start.vgz" />
- <dataarea name="quik" size="756">
- <rom name="04 stage start.vgz" size="756" crc="45f55c20" sha1="ef8602f4c4b7ef6b04192c4c01c41ca8cfbdc201" offset="0" />
- </dataarea>
- </part>
- <part name="005" interface="vgm_quik">
- <feature name="part_id" value="05 clash man.vgz" />
- <dataarea name="quik" size="2040">
- <rom name="05 clash man.vgz" size="2040" crc="04a98aed" sha1="7eca8e7b39ef727fa40ac5181010f55877091461" offset="0" />
- </dataarea>
- </part>
- <part name="006" interface="vgm_quik">
- <feature name="part_id" value="06 metal man.vgz" />
- <dataarea name="quik" size="2326">
- <rom name="06 metal man.vgz" size="2326" crc="dfbc00ba" sha1="1d018336001a789f8388e889311de77ea2b83d4e" offset="0" />
- </dataarea>
- </part>
- <part name="007" interface="vgm_quik">
- <feature name="part_id" value="07 wood man.vgz" />
- <dataarea name="quik" size="1959">
- <rom name="07 wood man.vgz" size="1959" crc="6dafd164" sha1="01e95b30f64c10b9bbb5c660ecca3daa32a7ba93" offset="0" />
- </dataarea>
- </part>
- <part name="008" interface="vgm_quik">
- <feature name="part_id" value="08 air man.vgz" />
- <dataarea name="quik" size="2239">
- <rom name="08 air man.vgz" size="2239" crc="db892bb8" sha1="f969bf9b8ec3822f0e458ae85b18941acd00c02f" offset="0" />
- </dataarea>
- </part>
- <part name="009" interface="vgm_quik">
- <feature name="part_id" value="09 wily castle.vgz" />
- <dataarea name="quik" size="803">
- <rom name="09 wily castle.vgz" size="803" crc="1bbea4c2" sha1="cc99fedcb01ab4a3a3802d817ab3f6b384d9a10f" offset="0" />
- </dataarea>
- </part>
- <part name="010" interface="vgm_quik">
- <feature name="part_id" value="10 hard man.vgz" />
- <dataarea name="quik" size="2577">
- <rom name="10 hard man.vgz" size="2577" crc="901a7747" sha1="4edf0f98bd6b326dd2c2d7192403516f3eb1fa86" offset="0" />
- </dataarea>
- </part>
- <part name="011" interface="vgm_quik">
- <feature name="part_id" value="11 top man.vgz" />
- <dataarea name="quik" size="2654">
- <rom name="11 top man.vgz" size="2654" crc="701b9dbb" sha1="fec025a2cd52ec6234c54930c33b172a29013999" offset="0" />
- </dataarea>
- </part>
- <part name="012" interface="vgm_quik">
- <feature name="part_id" value="12 magnet man.vgz" />
- <dataarea name="quik" size="2020">
- <rom name="12 magnet man.vgz" size="2020" crc="0e3c59b1" sha1="e41cb6617eaa3db38cc5f0285f048f2ee24bf381" offset="0" />
- </dataarea>
- </part>
- <part name="013" interface="vgm_quik">
- <feature name="part_id" value="13 needle man.vgz" />
- <dataarea name="quik" size="2001">
- <rom name="13 needle man.vgz" size="2001" crc="3ac86469" sha1="f63dd4ab4f75a055f51c1bee655927ddb334d9af" offset="0" />
- </dataarea>
- </part>
- <part name="014" interface="vgm_quik">
- <feature name="part_id" value="14 wily station.vgz" />
- <dataarea name="quik" size="1471">
- <rom name="14 wily station.vgz" size="1471" crc="da018ae1" sha1="d27cb90398dd5030c07141008bd7db01afb4c43e" offset="0" />
- </dataarea>
- </part>
- <part name="015" interface="vgm_quik">
- <feature name="part_id" value="15 boss battle.vgz" />
- <dataarea name="quik" size="2973">
- <rom name="15 boss battle.vgz" size="2973" crc="1a33623e" sha1="40d32c0acef1f6de2e4e150ae3617717064ec186" offset="0" />
- </dataarea>
- </part>
- <part name="016" interface="vgm_quik">
- <feature name="part_id" value="16 stage clear.vgz" />
- <dataarea name="quik" size="554">
- <rom name="16 stage clear.vgz" size="554" crc="3ea0aa19" sha1="048ee11c5d2fb35d34396ff7a633f540ad4e9662" offset="0" />
- </dataarea>
- </part>
- <part name="017" interface="vgm_quik">
- <feature name="part_id" value="17 get a weapon.vgz" />
- <dataarea name="quik" size="1695">
- <rom name="17 get a weapon.vgz" size="1695" crc="548b4f41" sha1="ed6c3272f8e37d734d70257b1e599aaa3d7ff649" offset="0" />
- </dataarea>
- </part>
- <part name="018" interface="vgm_quik">
- <feature name="part_id" value="18 ending.vgz" />
- <dataarea name="quik" size="2217">
- <rom name="18 ending.vgz" size="2217" crc="80d771a5" sha1="4ed0687fc6f1831e9fb56f1768b249132ae172ef" offset="0" />
- </dataarea>
- </part>
- <part name="019" interface="vgm_quik">
- <feature name="part_id" value="19 unused.vgz" />
- <dataarea name="quik" size="2879">
- <rom name="19 unused.vgz" size="2879" crc="25874c65" sha1="2cd32c4cb8641e2118bd7c2c8e2516d261cfb8d6" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="mrrobot">
- <description>Mr. Robot and His Robot Factory (Atari 400, 800)</description>
- <year>1983</year>
- <publisher>Datamost</publisher>
- <info name="cores" value="POKEY"/>
- <part name="001" interface="vgm_quik">
- <feature name="part_id" value="01 main theme.vgz" />
- <dataarea name="quik" size="20813">
- <rom name="01 main theme.vgz" size="20813" crc="f8e518bb" sha1="4efa433e766eba941949a41152cd64e65f3870c6" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="naious_68k">
- <description>Naious (Sharp X68000)</description>
- <year>1990</year>
- <publisher>Exact</publisher>
- <info name="cores" value="YM2151, OKIM6258"/>
- <part name="001" interface="vgm_quik">
- <feature name="part_id" value="01 opening.vgz" />
- <dataarea name="quik" size="85349">
- <rom name="01 opening.vgz" size="85349" crc="410d0add" sha1="b02b56ffe84db64d379517c0e582d419d21a9913" offset="0" />
- </dataarea>
- </part>
- <part name="002" interface="vgm_quik">
- <feature name="part_id" value="02 stage 1, 6 intro.vgz" />
- <dataarea name="quik" size="11028">
- <rom name="02 stage 1, 6 intro.vgz" size="11028" crc="678fe9dc" sha1="62117257e9956789a170e5da530a2b40ffabfb47" offset="0" />
- </dataarea>
- </part>
- <part name="003" interface="vgm_quik">
- <feature name="part_id" value="03 stage 1.vgz" />
- <dataarea name="quik" size="27348">
- <rom name="03 stage 1.vgz" size="27348" crc="8b33fb09" sha1="f785a67e714e9176b5ee29f3eaaba36c27cbf0c8" offset="0" />
- </dataarea>
- </part>
- <part name="004" interface="vgm_quik">
- <feature name="part_id" value="04 stage 1 boss.vgz" />
- <dataarea name="quik" size="26100">
- <rom name="04 stage 1 boss.vgz" size="26100" crc="7da9019d" sha1="568340b41b2a1fdf4ca38a08a92ddfc01cf406fd" offset="0" />
- </dataarea>
- </part>
- <part name="005" interface="vgm_quik">
- <feature name="part_id" value="05 stage clear.vgz" />
- <dataarea name="quik" size="8318">
- <rom name="05 stage clear.vgz" size="8318" crc="0cd0f516" sha1="d2751b395045f9fdfc0752135bd087012662dc8d" offset="0" />
- </dataarea>
- </part>
- <part name="006" interface="vgm_quik">
- <feature name="part_id" value="06 stage 2, 4 intro.vgz" />
- <dataarea name="quik" size="6702">
- <rom name="06 stage 2, 4 intro.vgz" size="6702" crc="5f2a20ed" sha1="1c88b1ca82e1e01f68bdfb9fa080f5e7435c9524" offset="0" />
- </dataarea>
- </part>
- <part name="007" interface="vgm_quik">
- <feature name="part_id" value="07 stage 2.vgz" />
- <dataarea name="quik" size="52211">
- <rom name="07 stage 2.vgz" size="52211" crc="989c5818" sha1="03f00ae2060b8f6a283fd91de9c18cd1b7c69871" offset="0" />
- </dataarea>
- </part>
- <part name="008" interface="vgm_quik">
- <feature name="part_id" value="08 stage 2 boss.vgz" />
- <dataarea name="quik" size="41301">
- <rom name="08 stage 2 boss.vgz" size="41301" crc="cc2c3a54" sha1="9d25558da42fce3c44377f7816903263bb7cd940" offset="0" />
- </dataarea>
- </part>
- <part name="009" interface="vgm_quik">
- <feature name="part_id" value="09 stage 3, 5, 7 intro.vgz" />
- <dataarea name="quik" size="10057">
- <rom name="09 stage 3, 5, 7 intro.vgz" size="10057" crc="6e15da4b" sha1="155692c87e42864fe086c1a002adc01fb46d3a85" offset="0" />
- </dataarea>
- </part>
- <part name="010" interface="vgm_quik">
- <feature name="part_id" value="10 stage 3.vgz" />
- <dataarea name="quik" size="33887">
- <rom name="10 stage 3.vgz" size="33887" crc="3a55f97d" sha1="b70ec570c5e039246ac88176808e2a2342bb92fa" offset="0" />
- </dataarea>
- </part>
- <part name="011" interface="vgm_quik">
- <feature name="part_id" value="11 stage 3 boss.vgz" />
- <dataarea name="quik" size="13099">
- <rom name="11 stage 3 boss.vgz" size="13099" crc="8dab6b1c" sha1="e5e29240adec36b432f51ba7236cea626e730540" offset="0" />
- </dataarea>
- </part>
- <part name="012" interface="vgm_quik">
- <feature name="part_id" value="12 stage 4.vgz" />
- <dataarea name="quik" size="56152">
- <rom name="12 stage 4.vgz" size="56152" crc="09abc00b" sha1="8a176bb184a99c6f0ad4bfd0bde86a0ab4212f8e" offset="0" />
- </dataarea>
- </part>
- <part name="013" interface="vgm_quik">
- <feature name="part_id" value="13 stage 4 boss.vgz" />
- <dataarea name="quik" size="15331">
- <rom name="13 stage 4 boss.vgz" size="15331" crc="e2fa73ea" sha1="5208c2a0748553376ba2777a2e3658b2e96c710d" offset="0" />
- </dataarea>
- </part>
- <part name="014" interface="vgm_quik">
- <feature name="part_id" value="14 stage 5.vgz" />
- <dataarea name="quik" size="22612">
- <rom name="14 stage 5.vgz" size="22612" crc="46253131" sha1="ef493e0597196c4827792ddd1f176677021b5f00" offset="0" />
- </dataarea>
- </part>
- <part name="015" interface="vgm_quik">
- <feature name="part_id" value="15 stage 5 boss.vgz" />
- <dataarea name="quik" size="38928">
- <rom name="15 stage 5 boss.vgz" size="38928" crc="49c28a08" sha1="4988bc1d045014be0f9eefe55b1601f1bf2e246f" offset="0" />
- </dataarea>
- </part>
- <part name="016" interface="vgm_quik">
- <feature name="part_id" value="16 stage 6.vgz" />
- <dataarea name="quik" size="79347">
- <rom name="16 stage 6.vgz" size="79347" crc="1c36b126" sha1="1c380b82327b04bccbffecfb354ce43e2d92a40d" offset="0" />
- </dataarea>
- </part>
- <part name="017" interface="vgm_quik">
- <feature name="part_id" value="17 stage 6 boss.vgz" />
- <dataarea name="quik" size="24747">
- <rom name="17 stage 6 boss.vgz" size="24747" crc="e1c718ac" sha1="ef4fc58e39e8f523977d352180297d77e891d2d5" offset="0" />
- </dataarea>
- </part>
- <part name="018" interface="vgm_quik">
- <feature name="part_id" value="18 final stage.vgz" />
- <dataarea name="quik" size="50234">
- <rom name="18 final stage.vgz" size="50234" crc="fc290e90" sha1="65cc0c56a2e1cd6bd4c712da46ad7577a36eea03" offset="0" />
- </dataarea>
- </part>
- <part name="019" interface="vgm_quik">
- <feature name="part_id" value="19 final boss.vgz" />
- <dataarea name="quik" size="21180">
- <rom name="19 final boss.vgz" size="21180" crc="da4cd700" sha1="8024b3a690cf12e247c8e4b2a673c79eb448b676" offset="0" />
- </dataarea>
- </part>
- <part name="020" interface="vgm_quik">
- <feature name="part_id" value="20 ending.vgz" />
- <dataarea name="quik" size="62777">
- <rom name="20 ending.vgz" size="62777" crc="f2d78028" sha1="2c3c8d15bc237df6a9df24e5ad100fb7ffed7697" offset="0" />
- </dataarea>
- </part>
- <part name="021" interface="vgm_quik">
- <feature name="part_id" value="21 game over.vgz" />
- <dataarea name="quik" size="23136">
- <rom name="21 game over.vgz" size="23136" crc="5fada388" sha1="2fb1b83e70aca89ab584d9cd5ec0abb527299428" offset="0" />
- </dataarea>
- </part>
- <part name="022" interface="vgm_quik">
- <feature name="part_id" value="22 opening (alt.).vgz" />
- <dataarea name="quik" size="188977">
- <rom name="22 opening (alt.).vgz" size="188977" crc="a6510bbd" sha1="879d16c22222b2bf53ba89d1bbb89cc5fb8c44a5" offset="0" />
- </dataarea>
- </part>
- <part name="023" interface="vgm_quik">
- <feature name="part_id" value="23 game over (alt.).vgz" />
- <dataarea name="quik" size="23546">
- <rom name="23 game over (alt.).vgz" size="23546" crc="4896cf20" sha1="8981190aefec3508953e938ad0c15f623cb3c32c" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="neurgear">
- <description>Neural Gear (Sharp X68000)</description>
- <year>1990</year>
- <publisher>Victor Musical Industries</publisher>
- <info name="cores" value="YM2151, OKIM6258"/>
- <part name="001" interface="vgm_quik">
- <feature name="part_id" value="01 cross media soft.vgz" />
- <dataarea name="quik" size="13498">
- <rom name="01 cross media soft.vgz" size="13498" crc="9f3f2346" sha1="2ddedde2a4b35b0b70bc846ea477edea4bf5133f" offset="0" />
- </dataarea>
- </part>
- <part name="002" interface="vgm_quik">
- <feature name="part_id" value="02 systematic eyes.vgz" />
- <dataarea name="quik" size="55348">
- <rom name="02 systematic eyes.vgz" size="55348" crc="c4bcb84b" sha1="29cb759f111e0e0e5c5246d71a5617693777536a" offset="0" />
- </dataarea>
- </part>
- <part name="003" interface="vgm_quik">
- <feature name="part_id" value="03 town scape.vgz" />
- <dataarea name="quik" size="40259">
- <rom name="03 town scape.vgz" size="40259" crc="0c8c920a" sha1="647c29f9e5ec4fb4a3d77f3199444cb63460b6e9" offset="0" />
- </dataarea>
- </part>
- <part name="004" interface="vgm_quik">
- <feature name="part_id" value="04 inversion.vgz" />
- <dataarea name="quik" size="31862">
- <rom name="04 inversion.vgz" size="31862" crc="6566a1ae" sha1="228d1eacfbee917a1a81fb97162334f3e3d83f32" offset="0" />
- </dataarea>
- </part>
- <part name="005" interface="vgm_quik">
- <feature name="part_id" value="05 keep time.vgz" />
- <dataarea name="quik" size="23632">
- <rom name="05 keep time.vgz" size="23632" crc="c597235f" sha1="30337f33990789aef6b7be1c606475525049ef44" offset="0" />
- </dataarea>
- </part>
- <part name="006" interface="vgm_quik">
- <feature name="part_id" value="06 vast.vgz" />
- <dataarea name="quik" size="49295">
- <rom name="06 vast.vgz" size="49295" crc="e1b93a9f" sha1="5f5582da3e347d78fdb2290eac7f3ba26e903d17" offset="0" />
- </dataarea>
- </part>
- <part name="007" interface="vgm_quik">
- <feature name="part_id" value="07 depletion.vgz" />
- <dataarea name="quik" size="35377">
- <rom name="07 depletion.vgz" size="35377" crc="30fc51ea" sha1="a36514f3aeddf5a278b005504a522eb22ff8e8cc" offset="0" />
- </dataarea>
- </part>
- <part name="008" interface="vgm_quik">
- <feature name="part_id" value="08 invite.vgz" />
- <dataarea name="quik" size="35929">
- <rom name="08 invite.vgz" size="35929" crc="0a2d5d80" sha1="35eeb4f3eb65ee167470d376de30bea42677f034" offset="0" />
- </dataarea>
- </part>
- <part name="009" interface="vgm_quik">
- <feature name="part_id" value="09 super sonic.vgz" />
- <dataarea name="quik" size="28860">
- <rom name="09 super sonic.vgz" size="28860" crc="247518f6" sha1="732ad43e6b7f24087f3418aff2a114acb823a0b9" offset="0" />
- </dataarea>
- </part>
- <part name="010" interface="vgm_quik">
- <feature name="part_id" value="10 don't tarry.vgz" />
- <dataarea name="quik" size="36276">
- <rom name="10 don't tarry.vgz" size="36276" crc="47043893" sha1="e208c37f92b2dcf63326f94b107d1bcea4b7dee7" offset="0" />
- </dataarea>
- </part>
- <part name="011" interface="vgm_quik">
- <feature name="part_id" value="11 merry dancers.vgz" />
- <dataarea name="quik" size="36158">
- <rom name="11 merry dancers.vgz" size="36158" crc="e14f6923" sha1="71713f51c47bcb584bfe1a65afaddaeae04d2672" offset="0" />
- </dataarea>
- </part>
- <part name="012" interface="vgm_quik">
- <feature name="part_id" value="12 fluxion.vgz" />
- <dataarea name="quik" size="27665">
- <rom name="12 fluxion.vgz" size="27665" crc="82d8a936" sha1="ff7b56571cdc3247701516bf28f4cb8f0a4d8a62" offset="0" />
- </dataarea>
- </part>
- <part name="013" interface="vgm_quik">
- <feature name="part_id" value="13 wake up everybody.vgz" />
- <dataarea name="quik" size="19393">
- <rom name="13 wake up everybody.vgz" size="19393" crc="4bda7319" sha1="342561eb356d140a3708672d969228d8740aa451" offset="0" />
- </dataarea>
- </part>
- <part name="014" interface="vgm_quik">
- <feature name="part_id" value="14 come to a climax.vgz" />
- <dataarea name="quik" size="23413">
- <rom name="14 come to a climax.vgz" size="23413" crc="16e24210" sha1="79e122d53fd1dae169d525361f80adbca76afcb9" offset="0" />
- </dataarea>
- </part>
- <part name="015" interface="vgm_quik">
- <feature name="part_id" value="15 menu jingle.vgz" />
- <dataarea name="quik" size="1645">
- <rom name="15 menu jingle.vgz" size="1645" crc="83920070" sha1="f74306a384d386dcf0360a5a819fb9b11271d874" offset="0" />
- </dataarea>
- </part>
- <part name="016" interface="vgm_quik">
- <feature name="part_id" value="16 what you change.vgz" />
- <dataarea name="quik" size="36602">
- <rom name="16 what you change.vgz" size="36602" crc="b9535f4d" sha1="dbf2c5a55219719a9d6ddf428353e8ae1911fae9" offset="0" />
- </dataarea>
- </part>
- <part name="017" interface="vgm_quik">
- <feature name="part_id" value="17 time sprit.vgz" />
- <dataarea name="quik" size="44208">
- <rom name="17 time sprit.vgz" size="44208" crc="d27f04ac" sha1="a5b0829306d9887e97e9d608f7b5a128f0be02cb" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="pepsiman">
- <description>Pepsiman (Sigma B-98)</description>
- <year>1997</year>
- <publisher>Sigma Enterprises</publisher>
- <info name="cores" value="YMZ280B"/>
- <part name="001" interface="vgm_quik">
- <feature name="part_id" value="01 b001.vgz" />
- <dataarea name="quik" size="14785">
- <rom name="01 b001.vgz" size="14785" crc="24fbad72" sha1="f6ce45b61fd170d90dce5b77095bb6be58fe259f" offset="0" />
- </dataarea>
- </part>
- <part name="002" interface="vgm_quik">
- <feature name="part_id" value="02 b002.vgz" />
- <dataarea name="quik" size="29880">
- <rom name="02 b002.vgz" size="29880" crc="13af6f60" sha1="498b840d18da23246d4044e8c7f0c9cc84837c2d" offset="0" />
- </dataarea>
- </part>
- <part name="003" interface="vgm_quik">
- <feature name="part_id" value="03 b003.vgz" />
- <dataarea name="quik" size="17609">
- <rom name="03 b003.vgz" size="17609" crc="f4b5bc9b" sha1="3930447cb2c49e5d1669953d670bb0fb3ea1e651" offset="0" />
- </dataarea>
- </part>
- <part name="004" interface="vgm_quik">
- <feature name="part_id" value="04 b03b.vgz" />
- <dataarea name="quik" size="23530">
- <rom name="04 b03b.vgz" size="23530" crc="ac851566" sha1="e4e46da2d6a43c3fb4294b90f0c157f934e99034" offset="0" />
- </dataarea>
- </part>
- <part name="005" interface="vgm_quik">
- <feature name="part_id" value="05 b004.vgz" />
- <dataarea name="quik" size="30596">
- <rom name="05 b004.vgz" size="30596" crc="e71a82ed" sha1="c5ea46013bb4e2932dbaa6ef45d3d810ed797aa3" offset="0" />
- </dataarea>
- </part>
- <part name="006" interface="vgm_quik">
- <feature name="part_id" value="06 b005.vgz" />
- <dataarea name="quik" size="34838">
- <rom name="06 b005.vgz" size="34838" crc="bb95537d" sha1="faa6b22f25dbdb98a01b6339d4511a18d070a0de" offset="0" />
- </dataarea>
- </part>
- <part name="007" interface="vgm_quik">
- <feature name="part_id" value="07 b006.vgz" />
- <dataarea name="quik" size="54600">
- <rom name="07 b006.vgz" size="54600" crc="b5cdb42e" sha1="99e2b97dd68247eff5f1e798fef80714609fafcc" offset="0" />
- </dataarea>
- </part>
- <part name="008" interface="vgm_quik">
- <feature name="part_id" value="08 s006.vgz" />
- <dataarea name="quik" size="14360">
- <rom name="08 s006.vgz" size="14360" crc="af25d1ec" sha1="94dc3925019c302e80aa99c0bef2600cb540c0a3" offset="0" />
- </dataarea>
- </part>
- <part name="009" interface="vgm_quik">
- <feature name="part_id" value="09 s009.vgz" />
- <dataarea name="quik" size="19872">
- <rom name="09 s009.vgz" size="19872" crc="dcc8b319" sha1="c010cf35283979d0b71284ee71245632fa6a4d39" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="smashpin_fds">
- <description>Smash Ping Pong (Family Computer Disk System)</description>
- <year>1987</year>
- <publisher>Nintendo</publisher>
- <info name="cores" value="NES APU (N2A03)"/>
- <part name="001" interface="vgm_quik">
- <feature name="part_id" value="01 game start.vgz" />
- <dataarea name="quik" size="911">
- <rom name="01 game start.vgz" size="911" crc="429f1516" sha1="1ef29d20a0bd34df5a0c2a28b12ba104410d026a" offset="0" />
- </dataarea>
- </part>
- <part name="002" interface="vgm_quik">
- <feature name="part_id" value="02 game set.vgz" />
- <dataarea name="quik" size="681">
- <rom name="02 game set.vgz" size="681" crc="a49cca80" sha1="c64032207e2b9613c86d7c63b61ba4891e56897c" offset="0" />
- </dataarea>
- </part>
- <part name="003" interface="vgm_quik">
- <feature name="part_id" value="03 half-time.vgz" />
- <dataarea name="quik" size="1095">
- <rom name="03 half-time.vgz" size="1095" crc="605d47b0" sha1="6ca235d218f90757683ff195a1c77d7af79b265f" offset="0" />
- </dataarea>
- </part>
- <part name="004" interface="vgm_quik">
- <feature name="part_id" value="04 game over.vgz" />
- <dataarea name="quik" size="696">
- <rom name="04 game over.vgz" size="696" crc="763c2bc4" sha1="5c8d310fe1c00981af6ae07f39c883d1287f0b1c" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="twinbee_x68">
- <description>TwinBee (Sharp X68000)</description>
- <year>1988</year>
- <publisher>Sharp</publisher>
- <info name="cores" value="YM2151"/>
- <part name="001" interface="vgm_quik">
- <feature name="part_id" value="01 twinbee's home town song (main bgm).vgz" />
- <dataarea name="quik" size="6384">
- <rom name="01 twinbee's home town song (main bgm).vgz" size="6384" crc="47591ee1" sha1="d235a5a9f990e1f7f0d27a8bd147c12cf2a28c23" offset="0" />
- </dataarea>
- </part>
- <part name="002" interface="vgm_quik">
- <feature name="part_id" value="02 fantastic power (power-up bgm).vgz" />
- <dataarea name="quik" size="5003">
- <rom name="02 fantastic power (power-up bgm).vgz" size="5003" crc="f1e85c96" sha1="410cd196d19633b93f72647bb6aedbc6be1b9b84" offset="0" />
- </dataarea>
- </part>
- <part name="003" interface="vgm_quik">
- <feature name="part_id" value="03 boss bgm a-1.vgz" />
- <dataarea name="quik" size="958">
- <rom name="03 boss bgm a-1.vgz" size="958" crc="fa3ff5cb" sha1="9a72c719420f9d0abb205bf54350399ab240b8a4" offset="0" />
- </dataarea>
- </part>
- <part name="004" interface="vgm_quik">
- <feature name="part_id" value="04 boss bgm a-2.vgz" />
- <dataarea name="quik" size="3182">
- <rom name="04 boss bgm a-2.vgz" size="3182" crc="696873ef" sha1="76bf93da02f6e4683504a3649eba2f6bf752680b" offset="0" />
- </dataarea>
- </part>
- <part name="005" interface="vgm_quik">
- <feature name="part_id" value="05 clear.vgz" />
- <dataarea name="quik" size="1350">
- <rom name="05 clear.vgz" size="1350" crc="cbec00db" sha1="d061d275db26eade3b54194240073282c91e59fa" offset="0" />
- </dataarea>
- </part>
- <part name="006" interface="vgm_quik">
- <feature name="part_id" value="06 boss bgm b.vgz" />
- <dataarea name="quik" size="1744">
- <rom name="06 boss bgm b.vgz" size="1744" crc="706b1a08" sha1="20a4062f1918162fc843dd4857714370629959b6" offset="0" />
- </dataarea>
- </part>
- <part name="007" interface="vgm_quik">
- <feature name="part_id" value="07 extend.vgz" />
- <dataarea name="quik" size="1625">
- <rom name="07 extend.vgz" size="1625" crc="5d104ab2" sha1="0fbde3751b187fb43e424974947ad9ff73e65fc0" offset="0" />
- </dataarea>
- </part>
- <part name="008" interface="vgm_quik">
- <feature name="part_id" value="08 game over.vgz" />
- <dataarea name="quik" size="1727">
- <rom name="08 game over.vgz" size="1727" crc="c173b4ef" sha1="8da352229c637d041d9ef918065f73a00fe8432b" offset="0" />
- </dataarea>
- </part>
- <part name="009" interface="vgm_quik">
- <feature name="part_id" value="09 normal ranking (key assign).vgz" />
- <dataarea name="quik" size="2065">
- <rom name="09 normal ranking (key assign).vgz" size="2065" crc="b7c87a26" sha1="604877935541e8039dcedeed6ddd58cfcd3dc299" offset="0" />
- </dataarea>
- </part>
- <part name="010" interface="vgm_quik">
- <feature name="part_id" value="10 top ranking (unused).vgz" />
- <dataarea name="quik" size="3910">
- <rom name="10 top ranking (unused).vgz" size="3910" crc="9d09a595" sha1="12479fcf81b60879425dd39f96cfe9d46560b79f" offset="0" />
- </dataarea>
- </part>
- <part name="011" interface="vgm_quik">
- <feature name="part_id" value="11 credit (unused).vgz" />
- <dataarea name="quik" size="1095">
- <rom name="11 credit (unused).vgz" size="1095" crc="645027a6" sha1="194f50d9fbfc83f35f2895a6bd94381ebad436df" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="unwater2_68k">
- <description>Uncharted Waters 2 - New Horizons (Sharp X68000)</description>
- <year>1993</year>
- <publisher>Koei</publisher>
- <info name="cores" value="YM2151"/>
- <part name="001" interface="vgm_quik">
- <feature name="part_id" value="01 wind ahead.vgz" />
- <dataarea name="quik" size="8880">
- <rom name="01 wind ahead.vgz" size="8880" crc="4c93a82c" sha1="ec59ccc458df95f4a0a2d467bedfbe3e015f82ee" offset="0" />
- </dataarea>
- </part>
- <part name="002" interface="vgm_quik">
- <feature name="part_id" value="02 mast in the mist.vgz" />
- <dataarea name="quik" size="3939">
- <rom name="02 mast in the mist.vgz" size="3939" crc="060ab94f" sha1="2bad83aa60889ec3041a41e9e403e3a69feff682" offset="0" />
- </dataarea>
- </part>
- <part name="003" interface="vgm_quik">
- <feature name="part_id" value="03 initial setting.vgz" />
- <dataarea name="quik" size="2476">
- <rom name="03 initial setting.vgz" size="2476" crc="d2ea38ab" sha1="6d4c4c1110dddfbfd03e28544e1eebfa368b9d31" offset="0" />
- </dataarea>
- </part>
- <part name="004" interface="vgm_quik">
- <feature name="part_id" value="04 caprice for lute.vgz" />
- <dataarea name="quik" size="4002">
- <rom name="04 caprice for lute.vgz" size="4002" crc="7a1323a8" sha1="fb41f30c1ec39c5dadb00be6f5fa55dcf1b2f3cb" offset="0" />
- </dataarea>
- </part>
- <part name="005" interface="vgm_quik">
- <feature name="part_id" value="05 theme of otto.vgz" />
- <dataarea name="quik" size="2999">
- <rom name="05 theme of otto.vgz" size="2999" crc="2e334d96" sha1="9ac3ee8b7756e58b46b6792bd13babbcfd2b469e" offset="0" />
- </dataarea>
- </part>
- <part name="006" interface="vgm_quik">
- <feature name="part_id" value="06 catalina.vgz" />
- <dataarea name="quik" size="4215">
- <rom name="06 catalina.vgz" size="4215" crc="7a6ec266" sha1="e890d6d657dc15d2d3a423f7742027685922577f" offset="0" />
- </dataarea>
- </part>
- <part name="007" interface="vgm_quik">
- <feature name="part_id" value="07 theme of pietro.vgz" />
- <dataarea name="quik" size="5211">
- <rom name="07 theme of pietro.vgz" size="5211" crc="1b2c21fb" sha1="68c88ae76363461dfe2b1f85ebd270f40b29a94a" offset="0" />
- </dataarea>
- </part>
- <part name="008" interface="vgm_quik">
- <feature name="part_id" value="08 theme of ali.vgz" />
- <dataarea name="quik" size="3012">
- <rom name="08 theme of ali.vgz" size="3012" crc="aa48ceb5" sha1="91bba2266d8d318c5755a67553870d84232682d2" offset="0" />
- </dataarea>
- </part>
- <part name="009" interface="vgm_quik">
- <feature name="part_id" value="09 theme of ernest.vgz" />
- <dataarea name="quik" size="4786">
- <rom name="09 theme of ernest.vgz" size="4786" crc="17b5a2b9" sha1="6c738dacf8ee119eb192afd57fb3b4a900524161" offset="0" />
- </dataarea>
- </part>
- <part name="010" interface="vgm_quik">
- <feature name="part_id" value="10 fiddler's green.vgz" />
- <dataarea name="quik" size="4600">
- <rom name="10 fiddler's green.vgz" size="4600" crc="a26bde1b" sha1="c2e3e8b681877319f98e5a1ce345de7d405864e2" offset="0" />
- </dataarea>
- </part>
- <part name="011" interface="vgm_quik">
- <feature name="part_id" value="11 the chase.vgz" />
- <dataarea name="quik" size="8036">
- <rom name="11 the chase.vgz" size="8036" crc="55e696cc" sha1="e0e28fcaff3edb2a24fbe9f4301ee302d0be0444" offset="0" />
- </dataarea>
- </part>
- <part name="012" interface="vgm_quik">
- <feature name="part_id" value="12 victory fanfare.vgz" />
- <dataarea name="quik" size="1822">
- <rom name="12 victory fanfare.vgz" size="1822" crc="6da1a4f8" sha1="2cb591b8348a4fb9a7fc9c5681ff4a5bf607a4ac" offset="0" />
- </dataarea>
- </part>
- <part name="013" interface="vgm_quik">
- <feature name="part_id" value="13 capturing enemies' ships.vgz" />
- <dataarea name="quik" size="4043">
- <rom name="13 capturing enemies' ships.vgz" size="4043" crc="f99fe0f6" sha1="5faf746bd21c3db8015b433184c630dcb5924b3c" offset="0" />
- </dataarea>
- </part>
- <part name="014" interface="vgm_quik">
- <feature name="part_id" value="14 royal palace.vgz" />
- <dataarea name="quik" size="6100">
- <rom name="14 royal palace.vgz" size="6100" crc="4cd47803" sha1="13988a1d1320d84567e72b83e016006dd28e6616" offset="0" />
- </dataarea>
- </part>
- <part name="015" interface="vgm_quik">
- <feature name="part_id" value="15 empty eyes.vgz" />
- <dataarea name="quik" size="6582">
- <rom name="15 empty eyes.vgz" size="6582" crc="b46a0ff2" sha1="71be8e52f10057ac383ba5039c93fedc47627c1d" offset="0" />
- </dataarea>
- </part>
- <part name="016" interface="vgm_quik">
- <feature name="part_id" value="16 moslem dance.vgz" />
- <dataarea name="quik" size="4323">
- <rom name="16 moslem dance.vgz" size="4323" crc="7f5e4bd1" sha1="7a2452d0438aefcb0fbc099785d640786e15430a" offset="0" />
- </dataarea>
- </part>
- <part name="017" interface="vgm_quik">
- <feature name="part_id" value="17 the mahout.vgz" />
- <dataarea name="quik" size="6274">
- <rom name="17 the mahout.vgz" size="6274" crc="60aef459" sha1="80dd6d30923fbadd5fae955d9614f224b9f61bbb" offset="0" />
- </dataarea>
- </part>
- <part name="018" interface="vgm_quik">
- <feature name="part_id" value="18 land of luxury.vgz" />
- <dataarea name="quik" size="3999">
- <rom name="18 land of luxury.vgz" size="3999" crc="fa2021c3" sha1="9b026fb5afe1f063dec3a0e55c13da5b803911ba" offset="0" />
- </dataarea>
- </part>
- <part name="019" interface="vgm_quik">
- <feature name="part_id" value="19 supply port.vgz" />
- <dataarea name="quik" size="2617">
- <rom name="19 supply port.vgz" size="2617" crc="6b3a4ee9" sha1="49cc2a3da4a26ddb5e511e2dad5e1a258d648aa3" offset="0" />
- </dataarea>
- </part>
- <part name="020" interface="vgm_quik">
- <feature name="part_id" value="20 duke.vgz" />
- <dataarea name="quik" size="3099">
- <rom name="20 duke.vgz" size="3099" crc="fb0af37c" sha1="a39a706c5cfbb74e60f5afa77a13990a6d2e1c83" offset="0" />
- </dataarea>
- </part>
- <part name="021" interface="vgm_quik">
- <feature name="part_id" value="21 close to home.vgz" />
- <dataarea name="quik" size="9633">
- <rom name="21 close to home.vgz" size="9633" crc="15ccf678" sha1="ac25149e041a3698c3db352aa66ae74f8404d45c" offset="0" />
- </dataarea>
- </part>
- <part name="022" interface="vgm_quik">
- <feature name="part_id" value="22 defeated.vgz" />
- <dataarea name="quik" size="2952">
- <rom name="22 defeated.vgz" size="2952" crc="3fd8721f" sha1="acdc6406de16c8c5c92e053459880dfbb66691a9" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="vigilant">
- <description>Vigilante (Irem M75)</description>
- <year>1988</year>
- <publisher>Irem (W) / Data East (U)</publisher>
- <info name="cores" value="YM2151"/>
- <part name="001" interface="vgm_quik">
- <feature name="part_id" value="01 title back.vgz" />
- <dataarea name="quik" size="5214">
- <rom name="01 title back.vgz" size="5214" crc="62e0ca1c" sha1="184a446121c3b54edd33da88c3b266c1d848182a" offset="0" />
- </dataarea>
- </part>
- <part name="002" interface="vgm_quik">
- <feature name="part_id" value="02 help me ~ taken prisoner.vgz" />
- <dataarea name="quik" size="4447">
- <rom name="02 help me ~ taken prisoner.vgz" size="4447" crc="01eaf29c" sha1="b955386f19332d89065b615eb6c86be1f686120d" offset="0" />
- </dataarea>
- </part>
- <part name="003" interface="vgm_quik">
- <feature name="part_id" value="03 stage start.vgz" />
- <dataarea name="quik" size="1311">
- <rom name="03 stage start.vgz" size="1311" crc="2c4771a1" sha1="0e7b9b0b0c35d14aaee7af33476620cb9d9b9c5e" offset="0" />
- </dataarea>
- </part>
- <part name="004" interface="vgm_quik">
- <feature name="part_id" value="04 bad company.vgz" />
- <dataarea name="quik" size="23064">
- <rom name="04 bad company.vgz" size="23064" crc="02cf70b7" sha1="09086727e5a0c5cf27a0df73c1d60ff8257c3d0b" offset="0" />
- </dataarea>
- </part>
- <part name="005" interface="vgm_quik">
- <feature name="part_id" value="05 left alone.vgz" />
- <dataarea name="quik" size="1988">
- <rom name="05 left alone.vgz" size="1988" crc="6b599fed" sha1="2a562e32b1cdfcffcdfbfd74714243ce06281fef" offset="0" />
- </dataarea>
- </part>
- <part name="006" interface="vgm_quik">
- <feature name="part_id" value="06 scraps fight.vgz" />
- <dataarea name="quik" size="11623">
- <rom name="06 scraps fight.vgz" size="11623" crc="cac5b557" sha1="ec619e0f004f717304b4a3b3cee4aa20ae15266f" offset="0" />
- </dataarea>
- </part>
- <part name="007" interface="vgm_quik">
- <feature name="part_id" value="07 high time.vgz" />
- <dataarea name="quik" size="8443">
- <rom name="07 high time.vgz" size="8443" crc="a6e2784f" sha1="a10b94dc879e6a603c2def2892f2411198453527" offset="0" />
- </dataarea>
- </part>
- <part name="008" interface="vgm_quik">
- <feature name="part_id" value="08 back street.vgz" />
- <dataarea name="quik" size="9072">
- <rom name="08 back street.vgz" size="9072" crc="63c632d8" sha1="f02acc87f6c69ee59c73d35ea62b7d0bed17c975" offset="0" />
- </dataarea>
- </part>
- <part name="009" interface="vgm_quik">
- <feature name="part_id" value="09 emergency.vgz" />
- <dataarea name="quik" size="2670">
- <rom name="09 emergency.vgz" size="2670" crc="1ce7ac4a" sha1="f7891fe5ff0a803693edf86ae33401cc3863aa99" offset="0" />
- </dataarea>
- </part>
- <part name="010" interface="vgm_quik">
- <feature name="part_id" value="10 last mission.vgz" />
- <dataarea name="quik" size="10059">
- <rom name="10 last mission.vgz" size="10059" crc="ecb1a43d" sha1="aea1f7b4b5eed920700ef900aa66a230f56edf37" offset="0" />
- </dataarea>
- </part>
- <part name="011" interface="vgm_quik">
- <feature name="part_id" value="11 final story.vgz" />
- <dataarea name="quik" size="12430">
- <rom name="11 final story.vgz" size="12430" crc="c49452aa" sha1="ee0cf283e6f4cfdfefce31a2eee84b41620d221f" offset="0" />
- </dataarea>
- </part>
- <part name="012" interface="vgm_quik">
- <feature name="part_id" value="12 continue.vgz" />
- <dataarea name="quik" size="3899">
- <rom name="12 continue.vgz" size="3899" crc="1912ccf2" sha1="d769ab465db93fe4b45b2295fca5108016181f23" offset="0" />
- </dataarea>
- </part>
- <part name="013" interface="vgm_quik">
- <feature name="part_id" value="13 roll it over.vgz" />
- <dataarea name="quik" size="3213">
- <rom name="13 roll it over.vgz" size="3213" crc="a98a1b0f" sha1="c48d1874fbc8824feb6f715c58248f31e8ebc201" offset="0" />
- </dataarea>
- </part>
- <part name="014" interface="vgm_quik">
- <feature name="part_id" value="14 enter your name.vgz" />
- <dataarea name="quik" size="5896">
- <rom name="14 enter your name.vgz" size="5896" crc="30b5fb37" sha1="ab8e397246ae69c30f0ec0a268dad4ddcb174545" offset="0" />
- </dataarea>
- </part>
- <part name="015" interface="vgm_quik">
- <feature name="part_id" value="15 unused.vgz" />
- <dataarea name="quik" size="4123">
- <rom name="15 unused.vgz" size="4123" crc="5755dd1a" sha1="dd1df342976dba57be8cd2d06afb20b0127c1ddf" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="vigilante_tg16">
- <description>Vigilante (TG-16)</description>
- <year>1989</year>
- <publisher>NEC (U) / Irem (J)</publisher>
- <info name="cores" value="HuC6280"/>
- <part name="001" interface="vgm_quik">
- <feature name="part_id" value="01 title back.vgz" />
- <dataarea name="quik" size="3374">
- <rom name="01 title back.vgz" size="3374" crc="062bef09" sha1="23b22e19a6aa7ab8f377cb1e47801fa87f7166cc" offset="0" />
- </dataarea>
- </part>
- <part name="002" interface="vgm_quik">
- <feature name="part_id" value="02 help me.vgz" />
- <dataarea name="quik" size="676">
- <rom name="02 help me.vgz" size="676" crc="fbc8da64" sha1="64b77e1663cee194d551b91f7d5ed338722bcfd8" offset="0" />
- </dataarea>
- </part>
- <part name="003" interface="vgm_quik">
- <feature name="part_id" value="03 taken prisoner.vgz" />
- <dataarea name="quik" size="2133">
- <rom name="03 taken prisoner.vgz" size="2133" crc="aac62fe1" sha1="eec83f0fa659f0df7437d99626b5440c2a9e2aae" offset="0" />
- </dataarea>
- </part>
- <part name="004" interface="vgm_quik">
- <feature name="part_id" value="04 stage start.vgz" />
- <dataarea name="quik" size="731">
- <rom name="04 stage start.vgz" size="731" crc="3da18c33" sha1="502ff1ad7516aec2346125692083f4c241139564" offset="0" />
- </dataarea>
- </part>
- <part name="005" interface="vgm_quik">
- <feature name="part_id" value="05 bad company.vgz" />
- <dataarea name="quik" size="12514">
- <rom name="05 bad company.vgz" size="12514" crc="1d5d86d2" sha1="373dcc0ffa7e2c50006a9d56994bc720b62ab680" offset="0" />
- </dataarea>
- </part>
- <part name="006" interface="vgm_quik">
- <feature name="part_id" value="06 left alone.vgz" />
- <dataarea name="quik" size="1166">
- <rom name="06 left alone.vgz" size="1166" crc="b81dbde6" sha1="238c77c991d453b5bdad85e047c8c0564e5db307" offset="0" />
- </dataarea>
- </part>
- <part name="007" interface="vgm_quik">
- <feature name="part_id" value="07 scraps fight.vgz" />
- <dataarea name="quik" size="6587">
- <rom name="07 scraps fight.vgz" size="6587" crc="d9a76d83" sha1="b98fa506c1ad4bb0f554bbd93fdfb31414bd0d76" offset="0" />
- </dataarea>
- </part>
- <part name="008" interface="vgm_quik">
- <feature name="part_id" value="08 high time.vgz" />
- <dataarea name="quik" size="6730">
- <rom name="08 high time.vgz" size="6730" crc="48abe0c1" sha1="80e87ea9f999b1a214aef94c321a0371f0d36c15" offset="0" />
- </dataarea>
- </part>
- <part name="009" interface="vgm_quik">
- <feature name="part_id" value="09 back street.vgz" />
- <dataarea name="quik" size="4793">
- <rom name="09 back street.vgz" size="4793" crc="0826681e" sha1="c26d32e0eb0848d5ab73a7a3c90e72c809bf8688" offset="0" />
- </dataarea>
- </part>
- <part name="010" interface="vgm_quik">
- <feature name="part_id" value="10 emergency.vgz" />
- <dataarea name="quik" size="1441">
- <rom name="10 emergency.vgz" size="1441" crc="a96bad75" sha1="d1af320e80b35f5bcca7fc72f026bea195661320" offset="0" />
- </dataarea>
- </part>
- <part name="011" interface="vgm_quik">
- <feature name="part_id" value="11 last mission.vgz" />
- <dataarea name="quik" size="5086">
- <rom name="11 last mission.vgz" size="5086" crc="ba4c38d6" sha1="f48b37f20711d48af440682eb4d907d35eabbf43" offset="0" />
- </dataarea>
- </part>
- <part name="012" interface="vgm_quik">
- <feature name="part_id" value="12 final story.vgz" />
- <dataarea name="quik" size="5342">
- <rom name="12 final story.vgz" size="5342" crc="3e8fd2e8" sha1="2cd80a374d7425641d00a18dd1aea3a757e99b46" offset="0" />
- </dataarea>
- </part>
- <part name="013" interface="vgm_quik">
- <feature name="part_id" value="13 continue.vgz" />
- <dataarea name="quik" size="1562">
- <rom name="13 continue.vgz" size="1562" crc="7c61b7b9" sha1="a857addc31069e5388fa2e8128328f84de599dc4" offset="0" />
- </dataarea>
- </part>
- <part name="014" interface="vgm_quik">
- <feature name="part_id" value="14 roll it over.vgz" />
- <dataarea name="quik" size="1633">
- <rom name="14 roll it over.vgz" size="1633" crc="ccf98515" sha1="a662f71558e480d11d4fc3a5fecd373db0b9cb89" offset="0" />
- </dataarea>
- </part>
- </software>
-
<!-- Project.org 2612 VGM Archives located at http://project2612.org/list.php
Also https://archive.org/details/Project2612CompleteArchive20180623681Sets.7z -->
diff --git a/hash/vreader.xml b/hash/vreader.xml
new file mode 100644
index 00000000000..6379cd82362
--- /dev/null
+++ b/hash/vreader.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
+<!--
+NOTE: This list is here only to document available dumps and it's not used (yet) by MESS!
+-->
+<softwarelist name="vreader" description="VTech V.Reader / Storio cartridges">
+
+<!--
+
+Language:
+********0 = US
+********1 = Italy
+********2 = Netherlands
+********3 = UK
+********4 = Germany
+********5 = France
+********6 = Portugal
+********7 = Spain
+
+
+80-280000(US) | Animated E-Book Cartridge - Shrek's Vacation
+80-280003(UK) | Animated E-Book Cartridge - Shrek's Holiday
+80-280100(US) | Animated E-Book Cartridge - Toy Story 3
+80-280200(US) | Animated E-Book Cartridge - Mr. Men/Little Miss
+80-280300(US) | Animated E-Book Cartridge - Tinkerbell and The Great Fairy Rescue
+80-280400(US) | Animated E-Book Cartridge - Scooby Doo! - Scooby Doo and a Mummy, Too!
+80-280403(UK) | Animated E-Book Cartridge - Scooby Doo! - Scooby Doo and a Mummy, Too!
+80-280600(US) | Animated E-Book Cartridge - Olivia
+80-280700(US) | Animated E-Book Cartridge - The Little Engine That Could
+80-280900(US) | Animated E-Book Cartridge - Dora and the Three Little Pigs
+80-281000(US) | Animated E-Book Cartridge - Mickey Mouse Clubhouse
+80-281100(US) | Animated E-Book Cartridge - Disney Princess
+80-281103(UK) | Animated E-Book Cartridge - Disney Princess
+80-281200(US) | Animated E-Book Cartridge - Cars
+80-281300(US) | Animated E-Book Cartridge - Sesame Street The Happy Scientists
+80-281400(US) | Animated E-Book Cartridge - SpongeBob SquarePants Model Sponge
+80-281500(US) | Animated E-Book Cartridge - Tangled
+80-281600(US) | Animated E-Book Cartridge - Chuggington - Babysitter Brewster
+80-281700(US) | Animated E-Book Cartridge - Penguins of Madagascar - The Helmet
+80-281800(US) | Animated E-Book Cartridge - Kung Fu Panda 2
+80-281900(US) | Animated E-Book Cartridge - Cars 2
+80-282000(US) | Animated E-Book Cartridge - Winnie the Pooh
+80-282100(US) | Animated E-Book Cartridge - Super Why! - Attack of the Eraser
+80-282200(US) | Animated E-Book Cartridge - Madagascar 3
+80-282300(US) | Animated E-Book Cartridge - Dinosaur Train - T.Rex Teeth
+80-282400(US) | Animated E-Book Cartridge - Hello Kitty's Surprise
+
+
+-->
+</softwarelist>
diff --git a/hash/vsmile_cart.xml b/hash/vsmile_cart.xml
index 15b9d28c8d2..9f5d7f13929 100644
--- a/hash/vsmile_cart.xml
+++ b/hash/vsmile_cart.xml
@@ -2,6 +2,10 @@
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
<!--
+NOTE: This list is here only to document available dumps and it's not used (yet) by MESS!
+-->
+
+<!--
V.Smile Motion: 80-08**** (Smartridges are orange)
V.Smile Smartbook Software: 80-089*** (Smartridges are red)
@@ -32,10 +36,10 @@ Addons (w/ yellow Smartridges)
+========+===================+============================================================================+
| | 80-03600(US) | V.Smile PC Pal Island |
+========+===================+============================================================================+
-| XX | 80-036800(US) | V.Smile PC Pal Island (cart serial) |
+| | 80-036800(US) | V.Smile PC Pal Island (cart serial) |
| | 80-036822(SP) | V.Smile PC Pal Island (cart serial) |
+========+===================+============================================================================+
-| XX | 80-067000(US) | V.Smile Art Studio |
+| | 80-067000(US) | V.Smile Art Studio |
| | 80-067003(UK) | V.Smile Art Studio |
| XX | 80-067004(GE) | V.Smile Zeichenatelier (Magic Malboard) |
| | 80-067005(FR) | V.Smile Studio De Dessin |
@@ -51,486 +55,474 @@ Addons (w/ yellow Smartridges)
| | 80-091324(GE) | V.Smile Lern- und Tanzmatte |
| | 80-091325(FR) | V.Smile Defi Gym |
| | 80-091325(FR) | V.Smile Tapis Multisport (box serial) |
-| SOON | 80-091327(SP) | V.Smile Gimnasio Interactivo |
+| | 80-091327(SP) | V.Smile Gimnasio Interactivo |
+========+===================+============================================================================+
Game cartridges
-+========+===================+==========================================================================================================================================================+
-| Dumped | Serial | Name |
-+========+===================+==========================================================================================================================================================+
-| VTech ran out of UPC codes at 92999, these are wraparound and newer than 92xxx series. |
-| They also say 'V.Link compatible' on the back though not all are V.Motion compatible |
-+========+===================+==========================================================================================================================================================+
-| | 80-090000(US) | Up (need pic) |
-| | 80-090000-001(US) | Up |
-| XX | 80-090003-003(UK) | Up |
-| | 80-090004(GE) | Oben |
-| XX | 80-090004-004(GE) | Oben |
-| | 80-090005(FR) | La Haut |
-| SOON | 80-090007-022(SP) | Up |
-+========+===================+==========================================================================================================================================================+
-| | 80-090020(US) | Handy Manny |
-| | 80-090023(UK) | Handy Manny |
-| XX | 80-090024(GE) | Meister Manny's Werkzeugkiste |
-| | 80-090025(FR) | Manny Et Ses Outils |
-+========+===================+==========================================================================================================================================================+
-| | 80-090040(US) | Wow! Wow! Wubbzy! - Attack of the 50-Foot Fleegle |
-+========+===================+==========================================================================================================================================================+
-| | 80-090060(US) | <Unknown> |
-+========+===================+==========================================================================================================================================================+
-| | 80-090080(US) | <Unknown> |
-+========+===================+==========================================================================================================================================================+
-| | 80-090100(US) | <Unknown> |
-+========+===================+==========================================================================================================================================================+
-| | 80-090120(US) | <Unknown> |
-+========+===================+==========================================================================================================================================================+
-| | 80-090140(US) | <Unknown> (Should be My Pet Puppy) |
-| | 80-090142(NL) | Mijn Puppy! |
-| XX | 80-090144(GE) | Mein erster Hund |
-| | 80-090145(FR) | Mon Toutou Tout Fou! |
-| | 80-090147(SP) | Dakota y su mascota (EAN 3417766901475) |
-| | (DK) | Min hundehvalp |
-| XX | 80-090154(SE) | Min hundvalp |
-| | (NO) | Min valp |
-| | (FI) | Koiranpentuni |
-+========+===================+==========================================================================================================================================================+
-| | 80-090160(US) | <unknown> (Should be Monsters vs. Aliens #80-084440, exists in VTech V.Link database) |
-| | 80-090163(UK) | Monsters vs. Aliens |
-| XX | 80-090164(GE) | Monsters vs. Aliens |
-| | 80-090165(FR) | Monsters Contre Aliens |
-| XX | 80-090167(SP) | Monstruos contra Alienígenas (52-090167(SP) on back label, green sticker: "P ○○○○") |
-+========+===================+==========================================================================================================================================================+
-| | 80-090180(US) | <Unknown> |
-| | 80-090183(UK) | Wonder Pets! - Save the Animals |
-+========+===================+==========================================================================================================================================================+
-| | 80-090200(US) | <Unknown> |
-+========+===================+==========================================================================================================================================================+
-| | 80-090220(US) | <Unknown> should be Wild Waves (purple) |
-| | 80-090224(GE) | Dolphis Wasser-abenteuer |
-+========+===================+==========================================================================================================================================================+
-| | 80-090240(US) | <Unknown> |
-+========+===================+==========================================================================================================================================================+
-| | 80-090260(US) | Disney Fairies - Tinker Bell |
-| | (DK) | Disney Fairies - Tingeling |
-| XX | 80-090274(SE) | Disney Fairies - Tingeling |
-| | 80-090275(NO) | Disney Fairies - Tingeling |
-| | (FI) | Disney Fairies - Helinä-keiju |
-+========+===================+==========================================================================================================================================================+
-| XX | 52-091444(GE) | Schreibspaß |
-+========+===================+==========================================================================================================================================================+
-| |
-| Oldest Smartidges start here |
-| |
-+========+===================+==========================================================================================================================================================+
-| XX | 80-092000(US) | Alphabet Park Adventure (Red Haired Girl Version) |
-| XX | 80-092000(US) | Alphabet Park Adventure (Red Haired Girl Version, ALT) |
-| XX | 80-092000-101(US) | Alphabet Park Adventure (Blond Haired Girl Version) |
-| | (IT) | Avventura nel parco dell'alfabeto |
-| | 80-092002(NL) | Alfabet Pretpark |
-| | 80-092003(UK) | Alphabet Park Adventure (Red Haired Girl Version) |
-| XX | 80-092004(GE) | Abenteuer im ABC Park |
-| XX | 80-092005(FR) | ABC Land Aventure |
-| | 80-092006(PT) | ABC Adventure (EAN is 3417768920162 cart#92016) |
-| XX | 80-092007(SP) | Aventuras en el Parque Alfabeto (purple, no # on label, 92007 on PCB, green sticker: "449 â—‹â—‹â—‹â—‹") |
-| | 80-092007(SP) | Aventuras en el Parque Alfabeto (translucent) (No # on label) |
-+========+===================+==========================================================================================================================================================+
-| | 80-092020(US) | The Adventures of Little Red Riding Hood |
-| | 80-092023(UK) | The Adventures of Little Red Riding Hood (no # on label, but box says 'colours') |
-| XX | 80-092024(GE) | Entdecke die Welt von Rotkäppchen |
-| | 80-092025(FR) | Les aventures du Le Petit Chaperon Rouge |
-+========+===================+==========================================================================================================================================================+
-| | 80-092040(US) | Learnin' Wheels (blue car with guy driving) |
-| | 80-092043(UK) | Learnin' Wheels |
-| XX | 80-092044(GE) | Freds Zahlen Rally (note to self, guy in blue car wrong serial#) 80-092924(GE) on label |
-| XX | 80-092045(FR) | Apprenti' Pilote |
-+========+===================+==========================================================================================================================================================+
-| | 80-092060(US) | Winnie The Pooh: The Honey Hunt |
-| | (IT) | Winnie the Pooh - e la caccia al miele |
-| | 80-092062(NL) | Winnie de Poeh - De winderwereld van Poeh |
-| | 80-092063(UK) | Winnie The Pooh: The Honey Hunt |
-| XX | 80-092064(GE) | Pooh - Die Honigjagd |
-| | 80-092064(GE) | Pooh - Die Honigjagd (ALT-no# on label) |
-| | 80-092064(GE) | My Friends Tigger and Pooh - Die Honigjagd |
-| XX | 80-092064-104(GE) | My Friends Tigger and Pooh - Die Honigjagd |
-| XX | 80-092065(FR) | Winnie l'Ourson - La Chasse au miel de Winnie |
-| XX | 80-092065-105(FR) | Winnie l'Ourson - La Chasse au miel de Winnie (ALT) |
-| | 80-092066(PT) | Winnie the Pooh - Em Busca Do Mel (92076 on cart) |
-| XX | 80-092067(SP) | Winnie the Pooh - En Busca de la Miel (no # on label, 92067 on PCB, green sticker: "449 â—‹â—‹â—‹â—‹") |
-| XX | 80-092067-122(SP) | My Friends Tigger and Pooh - En Busca de la Miel (092067-1 on PCB, green sticker: "732 â—‹â—‹â—‹â—‹") |
-| XX | 80-092073(DK) | Peter Plys - Honningjagten |
-| XX | 80-092074(SE) | Nalle Puh - Honungsjakten |
-| | (NO) | Winnie the Pooh - Honningjakten |
-| | (NO) | Ole Brumm - Honningjakten |
-| | (FI) | Winnie the Pooh - Hunajajahti |
-+========+===================+==========================================================================================================================================================+
-| XX | 80-092080(US) | Mickey Mouse - Mickey's Magical Adventures |
-| | (IT) | Topolino - Le Magiche Avventure di Topolino |
-| | 80-092082(NL) | Mickey Mouse - De wonderwereld van Mickey |
-| | 80-092083(UK) | Mickey Mouse - Mickey's Magical Adventures |
-| XX | 80-092084(GE) | Micky - Mickys magisches Abenteuer |
-| | 80-092085(FR) | Mickey - Mickey a la recherche de Pluto |
-| | 80-092086(PT) | Mickey - A Aventura Mágica de Mickey (EAN is 3417768920964 cart 92096) |
-| XX | 80-092087(SP) | Mickey - La Aventura Mágica de Mickey (no # on label, 92087 on PCB, green sticker: "528 â—‹â—â—‹â—‹") |
-| | (DK) | Mickey |
-| XX | 80-092094(SE) | Musse Pigg - Musses magiska äventyr |
-| | (NO) | Mickey |
-| | (FI) | Mickey |
-+========+===================+==========================================================================================================================================================+
-| XX | 80-092100(US) | The Lion King - Simba's Big Adventure |
-| XX | (IT) | Il Re Leone - La Grande Avventura di Simba |
-| | 80-092102(NL) | Leeuwenkoning - De wonderwereld van Simba |
-| | 80-092103(UK) | The Lion King - Simba's Big Adventure |
-| XX | 80-092104(GE) | Der Koenig der Loewen - Simbas grosses Abenteuer (Rev.2 dumped) |
-| XX | 80-092105(FR) | Le Roi Lion - Simba Découvre la Jungle |
-| | 80-092106(PT) | O Rei Leao - A grande aventura de Simba (92116 on cart) |
-| XX | 80-092107(SP) | El Rey León - La Gran Aventura de Simba (no # on label, 92187 on PCB) |
-| XX | 80-092113(DK) | Løvernes Konge - Simbas store eventyr |
-| XX | 80-092114(SE) | Lejonkungen - Simbas stora äventyr |
-| | (NO) | Løvenes konge - Simbas store eventyr |
-| | (FI) | Leijona kuningas - Simban suuri seikkailu |
-+========+===================+==========================================================================================================================================================+
-| | 80-092120(US) | The Little Mermaid - Ariel's Majestic Journey |
-| XX | 80-092121(IT) | La sirenetta - Ariel e la crociera magica |
-| | 80-092122(NL) | De Kleine Zeemeermin - De Wunderwereld von Ariel |
-| | 80-092123(UK) | The Little Mermaid - Ariel's Majestic Journey |
-| XX | 80-092124(GE) | Arielle die Meerjungfrau - Arielles aufregendes Abenteuer |
-| XX | 80-092125(FR) | La Petite Sirene - Ariel devient une princesse |
-| | 80-092126(PT) | |
-| XX | 80-092127(SP) | La Sirenita - El Viaje Fantástico de Ariel (no # on label, green sticker: "451 â—‹â—â—‹â—‹") |
-| XX | 80-092133(DK) | Den Lille Havfrue - Ariels majestætiske rejse! |
-| XX | 80-092134(SE) | Den Lilla Sjöjungfrun - Ariels majestätiska resa! |
-| | (NO) | Den Lille Havfruen - Ariels majestetiske reise! |
-| | (FI) | Pieni Merenneito - Arielin majesteettinen matka |
-+========+===================+==========================================================================================================================================================+
-| | 80-092140(US) | Spider-Man & Friends - Secret Missions |
-| XX | 80-092140-101(US) | Spider-Man & Friends - Secret Missions (ALT) |
-| | 80-092142(NL) | Spider-Man en Vrienden! - Geheime Missies (white Webs) |
-| | 80-092142-123(NL) | Spider-Man en Vrienden! - Geheime Missies (Yellow webs) |
-| | 80-092143(UK) | Spider-Man & Friends - Secret Missions (no # on front label) |
-| | 80-092143-103(UK) | Spider-Man & Friends - Secret Missions (ALT) |
-| | 80-092144(GE) | Spider-Man & Freunde - Geheime Missionen |
-| XX | 80-092145(FR) | Spider-Man & ses amis - Missions Secrètes (white webs) |
-| | 80-092145-105(FR) | Spider-Man & ses amis - Missions Secrètes (yellow webs) |
-| | 80-092146(PT) | Spider-man & Amigos - Missoes Secretas |
-| XX | 80-092147(SP) | Spider-Man y Amigos - Misiones Secretas (white webs, green sticker: "518 â—‹â—‹â—‹â—‹") |
-| | 80-092147-122(SP) | Spider-Man y Amigos - Misiones Secretas (yellow webs) |
-+========+===================+==========================================================================================================================================================+
-| XX | 80-092160(US) | Scooby-Doo! - Funland Frenzy |
-| | 80-092160-101(US) | Scooby-Doo! - Funland Frenzy (ALT) |
-| XX | 80-092160-301(US) | Scooby-Doo! - Funland Frenzy (ALT 2) |
-| XX | (IT) | Scooby-Doo! - Avventura a Funland |
-| | 80-092162(NL) | Scooby-Doo griezelen in het pretpark |
-| | 80-092163(UK) | Scooby-Doo! - Funland Frenzy |
-| | 80-092163-103(UK) | Scooby-Doo! - Funland Frenzy |
-| | 80-092163-293(UK) | Scooby-Doo! - Funland Frenzy (Yellow, only Scooby on label might be motion version) |
-| XX | 80-092164(GE) | Scooby-Doo! - Im Lernpark |
-| XX | 80-092165(FR) | Scooby-Doo! - Panique à Funland |
-| | 80-092165(FR) | Scooby-Doo! - Panique à Funland (translucent purple, packin) |
-| | 80-092167(SP) | Scooby-Doo - Misterio en el Parque (translucent purple) |
-| XX | 80-092167(SP) | Scooby-Doo - Misterio en el Parque (purple, # on back label) |
-| XX | 80-092173(DK) | Scooby-Doo! - Sjov i forlystelsesparken |
-| XX | 80-092174(SE) | Scooby-Doo! - Tivoli-tokerier |
-| | (NO) | Scooby-Doo! - Moro i fornøyelsesparken |
-| | (FI) | Scooby-Doo! |
-+========+===================+==========================================================================================================================================================+
-| | 80-092180(US) | Care Bears - A Lesson in Caring |
-| | 80-092183(UK) | Care Bears - A Lesson in Caring |
-| | 80-092184(GE) | Gluecksbarchis <- existance not proven |
-| | 80-092185(FR) | Les Bisounours - Le Monde Merveilleux des Bisounours |
-| XX | 80-092187(SP) | Osos Amorosos - Una Lección de Amor (92187 on PCB, green sticker: "522 ○○○○") |
-+========+===================+==========================================================================================================================================================+
-| | 80-092200(US) | Aladdin - Aladdin's Wonders of the World |
-| | (IT) | Aladdin - Il magico mondo di Aladdin |
-| | 80-092202(NL) | Aladdin - De Wunderwereld van Aladdin |
-| | 80-092203(UK) | Aladdin - Aladdin's Wonders of the World |
-| XX | 80-092204(GE) | Aladdin - Aladdins Welt der Wunder |
-| | 80-092205(FR) | Aladdin - Les fabuleuses aventures d'Aladdin |
-| XX | 80-092207(SP) | Aladdin - El Maravilloso Mundo de Aladdin (52-92207(SP) on back label, green sticker: "534 â—‹â—‹â—‹â—‹") |
-+========+===================+==========================================================================================================================================================+
-| XX | 80-092220(US) | Toy Story 2 - Operation Rescue Woody! |
-| XX | 80-092220(US) | Toy Story 2 - Operation Rescue Woody! (ALT) |
-| | (IT) | Toy Story 2 - Operazione: Salvataggio di Woody! gpz06503 |
-| | 80-092223(UK) | Toy Story 2 - Operation Rescue Woody! |
-| XX | 80-092224(GE) | Toy Story 2 - Woodys Spannende Rettung |
-| | 80-092225(FR) | Toy Story 2 - Buzz à la Rescousse! |
-| | 80-092226(PT) | Toy Story 2 - O Resgate de Woody (92236 on cart) |
-| XX | 80-092227(SP) | Toy Story 2 - El Rescate De Woody (52-92227(SP) on back label, green sticker: "528 â—‹â—‹â—‹â—‹") |
-| | (DK) | Toy Story 2 - Operation: Red Woody! |
-| XX | 80-092234(SE) | Toy Story 2 - Operation: Rädda Woody! |
-| | (NO) | Toy Story 2 - Operasjon: Redd Woody! |
-| | (FI) | Toy Story 2 |
-+========+===================+==========================================================================================================================================================+
-| XX | 80-092240(US) | Cinderella - Cinderella's Magic Wishes |
-| XX | (IT) | Cenerentola - I desideri magici di Cenerentola (cart says 52-92251 Ita) |
-| | 80-092242(NL) | Assepoester - De wonderwereld van Assepoester |
-| | 80-092242-123(NL) | Assepoester - De wonderwereld van Assepoester | 2007 |
-| | 80-092243(UK) | Cinderella - Cinderella's Magic Wishes |
-| | 80-092243-103(UK) | Cinderella - Cinderella's Magic Wishes | 2007 |
-| | 80-092243-203(UK) | Cinderella - Cinderella's Magic Wishes | 2008 |
-| XX | 80-092244(GE) | Cinderella - Lernen im Maerchenland | 2005 |
-| XX | 80-092244-104(GE) | Cinderella - Lernen im Maerchenland | 2007 |
-| | 80-092244-204(GE) | Cinderella - Lernen im Maerchenland | 2007 |
-| XX | 80-092245(FR) | Cendrillon - Le rêve enchanté de Cendrillon |
-| | 80-092245-105(FR) | Cendrillon - Le rêve enchanté de Cendrillon |
-| | 80-092245-205(FR) | Cendrillon - Le reve enchante de Cendrillon |
-| | 80-092246(PT) | Cinderela - Os Sonhos Magicos da Cinderela (Cart#92256) |
-| | 80-092247(SP) | La Cenicienta - Los sueños mágicos de Cenicienta (non motion#, but V.Motion in spanish catalog) |
-| XX | 80-092247-222(SP) | La Cenicienta - Los sueños mágicos de Cenicienta (no # on front label, 52-092247-222-222(SP) on back label, green sticker: "P ○○○○", non motion#, but V.Motion in spanish catalog)
-| XX | 80-092253(DK) | Cinderella - Askepots magiske ønsker |
-| XX | 80-092254(SE) | Cinderella - Askungens magiska önskningar |
-| | 80-092255(NO) | Cinderella - Askepotts magiske ønsker |
-| | (FI) | Cinderella - Tuhkimon Taikatoiveet |
-+========+===================+==========================================================================================================================================================+
-| | 80-092260(US) | Elmo's World - Elmo's Big Discoveries |
-| XX | 80-092264(GE) | Elmos großes Abenteuer |
-| XX | 80-092265(FR) | Le Monde d'Elmo - Les Grandes Découvertes D'Elmo |
-| XX | 80.092267(SP) | Mundo Elmo - Grandes descubrimientos de Elmo (52-92267(SP) on back label, green sticker: "529 â—‹â—‹â—‹â—‹") |
-+========+===================+==========================================================================================================================================================+
-| XX | 80-092280(US) | Dora The Explorer - Dora's Fit-it Adventure |
-| | 80-092280-101(US) | Dora The Explorer - Dora's Fit-it Adventure (ALT) |
-| XX | 80-092280-201(US) | Dora The Explorer - Dora's Fit-it Adventure (ALT 2) |
-| | 80-092282(NL) | Dora - Doras Reparatie Avontuur! |
-| | 80-092283(UK) | Dora The Explorer - Dora's Fit-it Adventure |
-| | 80-092283-103(UK) | Dora The Explorer - Dora's Fit-it Adventure (ALT) |
-| | 80-092284(GE) | Dora - Doras Reparatur-Abenteuer |
-| XX | 80-092284-104(GE) | Dora - Doras Reparatur-Abenteuer |
-| XX | 80-092285(FR) | Dora L'Exploratrice - Les aventures de Dora Apprentie Mécano |
-| | 80-092285-1?5(FR) | Dora L'Exploratrice - Les aventures de Dora Apprentie Mécano (NTSC French-Canadian) |
-| | 80-092286(PT) | Dora - em busca das pecas perdidas (cart# 92296) |
-| XX | 80-092287-222(SP) | Dora La Exploradora - La Aventura arregla-todo de Dora (purple, no # on front label, 52-092287-222(SP) on back label, green sticker: "P â—‹â—‹â—‹â—‹") |
-| | 80-092287-122(SP) | Dora La Exploradora - La Aventura arregla-todo de Dora |
-+========+===================+==========================================================================================================================================================+
-| XX | 80-092300(US) | Bob the Builder - Bob's Busy Day |
-| | 80-092303(UK) | Bob the Builder - Bob's Busy Day |
-| | 80-092303-103(UK) | Bob the Builder - Bob's Busy Day (Yellow Label) |
-| XX | 80-092304(GE) | Bob der Baumeister - Bobs Spannender Arbeitstag |
-| | 80-092304-104(GE) | Bob der Baumeister - Bobs Spannender Arbeitstag |
-| | 80-092305(FR) | Bob le Bricoleur: Les P'tits Chantiers de Bob |
-| | 80-092305-105(FR) | Bob le Bricoleur: Les P'tits Chantiers de Bob (ALT) |
-| | 80-092306(PT) | Bob o Construtor - Um dia Atarefado (92316 on cart) |
-| | 80-092307(SP) | Bob y sus Amigos - Un día de trabajo |
-| XX | 80-092313(DK) | Byggemand Bob - Bobs travle dag |
-| XX | 80-092314(SE) | Byggare Bob - Bobs stressiga dag |
-| | (NO) | Byggmester Bob - Bobs travle dag |
-| | (FI) | Puuha-Pete - Peten kiirenes päivä |
-+========+===================+==========================================================================================================================================================+
-| | 80-092320(US) | The Wiggles - It's Wiggle Time! |
-| | 80-092323(UK) | The Wiggles - It's Wiggle Time! |
-+========+===================+==========================================================================================================================================================+
-| XX | 80-092340(US) | Thomas The Tank - Engines Working Together |
-| | 80-092340-101(US) | Thomas The Tank - Engines Working Together (ALT) |
-| | 80-092342(NL) | Thomas de Stoomlocomotief' - Locomotieven Werken Somen (need pic, even the manual has -123 on cover) |
-| | 80-092342-123(NL) | Thomas de Stoomlocomotief' - Locomotieven Werken Somen |
-| | 80-092343(UK) | Thomas and Friends: Engines Working Together |
-| | 80-092343-103(UK) | Thomas and Friends: Engines Working Together (ALT) |
-| | 80-092343-203(UK) | Thomas and Friends: Engines Working Together (ALT) |
-| XX | 80-092344(GE) | Thomas and Seine Freunde - Freunde Halten Zusammen |
-| XX | 80-092344-104(GE) | Thomas and Seine Freunde - Freunde Halten Zusammen |
-| XX | 80-092345(FR) | Thomas et ses Amis - Les locomotives s'entraident |
-| | 80-092347(SP) | Thomas and Friends - Juego de Aprendizaje |
-| | (DK) | Thomas and Friends - Togene arbejder sammen |
-| XX | 80-092354(SE) | Thomas and Friends - Tågen hjälps åt |
-| | (NO) | Thomas and Friends - Togene samarbeider (494097(NO) printed on cart) |
-| | (FI) | Thomas and Friends |
-+========+===================+==========================================================================================================================================================+
-| XX | 80-092360(US) | Zayzoo - My Alien Classmate |
-| XX | 80-092360-101(US) | Zayzoo: An Earth Adventure |
-| | 80-092362(NL) | Zayzoo - Mijn Buitenaardse Vriendje |
-| | 80-092363(UK) | Zayzoo - My Alien Classmate (yes, duped#) |
-| | 80-092363(UK) | Zayzoo: An Earth Adventure (saw it, can't find pic again) |
-| XX | 80-092363-103(UK) | Zayzoo: An Earth Adventure |
-| XX | 80-092364(GE) | Zayzoos Lernall |
-| XX | 80-092365(FR) | Zézou - Notre Ami Venu d'Ailleurs |
-| XX | 80-092367(SP) | Zayzoo - Mi Amiga del Espacio (52-92367(SP) on back label, green sticker: "531 â—‹â—‹â—‹â—‹") |
-+========+===================+==========================================================================================================================================================+
-| | 80-092380(US) | Barney - The Land of Make Believe |
-| | 80-092383(UK) | Barney - The Land of Make Believe |
-| XX | 80-092384(GE) | Barney - Erlebnis-Reise |
-+========+===================+==========================================================================================================================================================+
-| XX | 80-092400(US) | Blue's Clues - Collection Day |
-+========+===================+==========================================================================================================================================================+
-| XX | 80-092420(US) | Finding Nemo - Nemo's Ocean Discoveries |
-| XX | 80-092422(NL) | Finding Nemo - De wonderwereld van Nemo |
-| | 80-092423(UK) | Finding Nemo - Nemo's Ocean Discoveries |
-| | 80-092424(GE) | Findet Nemo - Nemos Unterwasserabenteuer |
-| | 80-092425(FR) | Le Monde de Nemo - Nemo à la découverte de l'océan |
-| | 80-092426(PT) | Nemo - A descoberta do Oceano (Cart#92436) |
-| XX | 80-092427(SP) | Buscando a Nemo - Los Descubrimientos de Nemo (52-92427(SP) on back label, green sticker: "542 â—‹â—‹â—‹â—") |
-+========+===================+==========================================================================================================================================================+
-| XX | 80-092440(US) | Spongebob Squarepants - A Day In The Life of A Sponge |
-| | 80-092442(NL) | Spongebob Squarepants - Een Dag uit het Leven van een Spons |
-| | 80-092443(UK) | Spongebob Squarepants - A Day In The Life of A Sponge |
-| XX | 80-092444(GE) | Spongebob Schwammkopf - Der Tag des Schwamms |
-| | 80-092445(FR) | Bob L'éponge - Une journée dans la vie d'une éponge |
-| XX | 80-092447(SP) | Bob Esponja - Un día en la vida de una esponja (52-92447(SP) on back label, green sticker: "634 ○○○○") |
-+========+===================+==========================================================================================================================================================+
-| | 80-092460(US) | Sesame Street - Bert and Ernie's Imagination Adventure |
-| | 80-092462(NL) | Sesamstraat - Bert and Ernie's Fantasie Avontuur |
-| XX | 80-092464(GE) | Sesame Street - Ernie and Berts Fantastisches Abenteuer |
-| | 80-092465(FR) | 5, Rue Sesame - Les Aventures Imaginaires d'Ernest et Bert |
-| XX | 80-092467(SP) | Barrio Sésamo - El Mundo Fantástico de Epi y Blas (no # on front label, 52-92467(SP) on back label, green sticker: "735 ○○○○") |
-+========+===================+==========================================================================================================================================================+
-| | 80-092480(US) | The Batman - Gotham City Rescue |
-| | (IT) | The Batman - Il Salvataggio di Gotham City (80-092492?? gpz06629) |
-| | 80-092482(NL) | The Batman - De Redding van Gotham City |
-| | 80-092483(UK) | The Batman - Gotham City Rescue |
-| | 80-092484(GE) | The Batman - Rettung von Gotham City |
-| | 80-092485(FR) | The Batman - Panique a Gotham City |
-+========+===================+==========================================================================================================================================================+
-| | 80-092500(US) | Whiz Kid Wheels (note to self.. no rider in this blue car) |
-| | 80-092502(NL) | Truckie's Rekenrace |
-| | 80-092503(UK) | Whiz Kid Wheels |
-| | 80-092504(GE) | Flitzers Schlaue Staedtetour (diff color) |
-| | 80-092504(GE) | Flitzers Schlaue Staedtetour (normal purple) |
-| | 80-092505(FR) | Mission Pilote |
-| | 80-092506(PT) | Conducao Diverrido (Cart# 92516) |
-| XX | 80-092507(SP) | Conducción Divertida (52-92507(SP) on back label, green sticker: "534 ○○○○") |
-+========+===================+==========================================================================================================================================================+
-| | 80-092520(US) | Spider-Man & Friends Doc Ock's Challenge |
-| | (IT) | Spider-Man la sfida del dottor Ock (V.smile pocket bundle only?) |
-| | 80-092523(UK) | Spider-Man & Friends Doc Ock's Challenge |
-| XX | 80-092524(GE) | Spider-Man & Freunde Wettkampf im Space Labor |
-| | 80-092525(FR) | Spider-Man & ses amis Le défi du docteur Ock |
-| XX | 80-092527(SP) | Spider-Man y Amigos - La Aventura Del Doctor Octopus (52-92527(SP) on back label, green sticker: "624 â—‹â—‹â—‹â—‹") |
-+========+===================+==========================================================================================================================================================+
-| XX | 80-092540(US) | Noddy - Detective for a Day |
-| | 80-092543(UK) | Noddy - Detective for a Day |
-| | 80-092543-103(UK) | Noddy - Detective for a Day (ALT) |
-| | 80-092544(GE) | Noddy - Detektiv fuer einen Tag (need pic to confirm, manual cover says -104) |
-| XX | 80-092544-104(GE) | Noddy - Detektiv fuer einen Tag (ALT) |
-| XX | 80-092545(FR) | Oui-Oui - Détective d'un Jour |
-| | 80-092545-105(FR) | Oui-Oui - Détective d'un Jour (ALT) |
-| | 80-092546(PT) | Noddy - Detective por um dia (92556 on cart) |
-+========+===================+==========================================================================================================================================================+
-| | 80-092560(US) | 101 Dalmations (one pic on german site with USA code) |
-| | 80-092564(GE) | 101 Dalmatiner (EAN on german site with USA pic.. wtf) |
-+========+===================+==========================================================================================================================================================+
-| | 80-092580(US) | Backyardigans - Viking Voyage |
-| | 80-092580-201(US) | Backyardigans - Viking Voyage (ALT) |
-| | 80-092583(UK) | Backyardigans - Viking Voyage |
-| XX | 80-092585(FR) | Les Melodilous - Les explorateurs vikings |
-+========+===================+==========================================================================================================================================================+
-| | 80-092600(US) | Shrek - Dragon's Tale |
-| | 80-092602(NL) | Shrek - Het verhaal van draakje |
-| XX | 80-092604(GE) | Shrek - Die Geschichte des Drachen |
-| XX | 80-092605(FR) | Shrek - Le Rhume de Dragonne |
-| | 80-092607(SP) | Shrek - El Cuento de la Dragona |
-+========+===================+==========================================================================================================================================================+
-| | 80-092620(US) | Lil' Bratz - Friends, Fashion and Fun |
-| | 80-092623(UK) | Lil' Bratz - Friends, Fashion and Fun |
-| | 80-092627(SP) | Lil' Bratz - Amigos, Moda y Diversión |
-+========+===================+==========================================================================================================================================================+
-| XX | 80-092640(US) | Superman - The Greatest Hero |
-| XX | 80-092642(NL) | Superman - De Grootste Held |
-| | 80-092643(UK) | Superman - The Greatest Hero |
-| XX | 80-092644(GE) | Superman - Der Superheld |
-| XX | 80-092645(FR) | Superman - À la rescousse ! |
-| | 80-092647(SP) | Superman - El Hombre de Acero |
-+========+===================+==========================================================================================================================================================+
-| XX | 80-092660(US) | Cars - Rev It Up In Radiator Springs |
-| XX | 80-092660-201(US) | Cars - Rev It Up In Radiator Springs (ALT) |
-| | (IT) | Cars - Motori Ruggenti (gpz06755) |
-| | 80-092662(NL) | Cars - Spektakel in Radiator Springs |
-| | 80-092663(UK) | Cars - Rev It Up In Radiator Springs |
-| XX | 80-092664(GE) | Cars - Vollgas in Radiator Springs |
-| XX | 80-092665(FR) | Cars - Quatre Roues |
-| | 80-092666(PT) | Carros - Aventura em Radiator Springs (92676 on cart) |
-| | 80-092667(SP) | Cars - Acelera el Motor en Radiador Springs |
-| XX | 80-092673(DK) | Biler - Ræs i Kølerkildekøbing |
-| XX | 80-092674(SE) | Bilar - Kör ikapp i Kylarköping |
-| | 80-092674(SE) | Biler - Kör ikapp i Kylarköping (Misprinted label) |
-| | (NO) | Biler - Full gass i Radiator By |
-| | (FI) | Autot - Aja kilpaa Syylari Cityssä |
-+========+===================+==========================================================================================================================================================+
-| | 80-092680(US) -> | |
-| | 80-092800(US) | <Unknown> |
-+========+===================+==========================================================================================================================================================+
-| XX | 80-092820(US) | Soccer Challenge |
-| | 80-092821(IT) | Football Club (cart is 92831) (EAN 8001444067538) |
-| | 80-092822(NL) | Voetbal |
-| | 80-092823(UK) | Football Challenge |
-| XX | 80-092824(GE) | Fußball Schule |
-| | 80-092825(FR) | Football Challenge |
-| | 80-092826(PT) | Football Challenge (cart# 92836) |
-| | 80-092827(SP) | Campeonato de Fútbol |
-+========+===================+==========================================================================================================================================================+
-| | 80-092840(US) | Wall-E |
-| | (IT) | Wall-E (GPZ07996) |
-| | 80-092842(NL) | Wall-E |
-| | 80-092843(UK) | Wall-E |
-| XX | 80-092844(GE) | Wall-E |
-| | 80-092845(FR) | Wall-E |
-| XX | 80-092847(SP) | Wall-E (52-092847 on back label, green sticker: "P â—‹â—‹â—‹â—‹") |
-| | (DK) | Wall-E |
-| XX | 80-092854(SE) | Wall-E |
-| | (NO) | Wall-E |
-| | (FI) | Wall-E |
-+========+===================+==========================================================================================================================================================+
-| XX | 80-092860(US) | Shrek the Third: Arthur's School Day Adventure |
-| XX | 80-092860(US) | Shrek the Third: Arthur's School Day Adventure (ALT) |
-| | (IT) | Shrek Terzo L'Advventura Do Artu in un Giorno di Scuola |
-| XX | 80-092862(NL) | Shrek de Derde - Arthurs Schooldag Avontuur |
-| | 80-092863(UK) | Shrek the Third: Arthur's School Day Adventure |
-| XX | 80-092864(GE) | Shrek der Dritte - Ein Spannender Schultag |
-| | 80-092865(FR) | Shrek Troisieme - L'aventure d'Arthur |
-| | 80-092867(SP) | Shrek Tercero - En Busca de Arturo |
-+========+===================+==========================================================================================================================================================+
-| | 80-092880(US) | Ratatouille - Remy's New Recipes |
-| XX | (IT) | Ratatouille - Le nuove Ricette di Remy |
-| | 80-092882(NL) | Ratatouille - Remy's Nieuwe Recepten |
-| | 80-092883(UK) | Ratatouille - Remy's New Recipes |
-| XX | 80-092884(GE) | Ratatouille - Remys neue Rezepte |
-| | 80-092884-104(GE) | Ratatouille - Remys neue Rezepte (ALT) |
-| | 80-092885(FR) | Ratatouille - Les nouvelles recettes de Rémy |
-| XX | 80-092887(SP) | Ratatouille - Las recetas del Remy (52-092887(SP) on back label, green sticker: "735 â—‹â—‹â—‹â—‹") |
-+========+===================+==========================================================================================================================================================+
-| XX | 80-092900(US) | Go Diego Go! - Save the Animal Familes! |
-| | 80-092902(NL) | Go Diego Go! - Red de dierenfamilies! |
-| | 80-092903(UK) | Go Diego Go! - Save the Animal Familes! |
-| | 80-092905(FR) | Go Diego! - À la rescousse des animaux! |
-+========+===================+==========================================================================================================================================================+
-| XX | 80-092920(US) | Cranium - Partyland Park |
-| | 80-092922(UK) | Cranium - Partyland Park |
-| | 80-092924(GE) | Cranium - Freizeit Park |
-| | 80-092925(FR) | Cranium - Le Parc D'attractions |
-+========+===================+==========================================================================================================================================================+
-| | 80-092940(US) | <Unknown> (should be Mickey Mouse Clubhouse, 80-084180 exists in V.Link database) |
-| | (IT) | La Casa di Topolino |
-| XX | 80-092942(NL) | Mickey Mouse Clubhause |
-| | 80-092943(UK) | Mickey Mouse Clubhouse |
-| XX | 80-092944(GE) | Micky Maus Wunderhaus |
-| | 80-092945(FR) | La Maison de Mickey |
-| XX | 80-092947(SP) | La Casa de Mickey Mouse (52-092947(SP) on back label, green sticker: "P â—‹â—‹â—‹â—‹") |
-| | (DK) | Mickey Mouse Clubhouse |
-| XX | 80-092954(SE) | Mickey Mouse Clubhouse |
-| | (NO) | Mickey Mouse Clubhouse |
-| | (FI) | Mickey Mouse Clubhouse |
-+========+===================+==========================================================================================================================================================+
-| | 80-092960(US) | Kung Fu Panda - Path of the Panda |
-| | 80-092962(NL) | Kung Fu Panda - Het pad van de panda |
-| XX | 80-092963(UK) | Kung Fu Panda - Path of the Panda |
-| XX | 80-092964(GE) | Kung Fu Panda - Der Weg des Panda |
-| | 80-092965(FR) | Kung Fu Panda - La Mission de Po |
-| | 80-092967(SP) | Kung Fu Panda - Aventura en el Valle de la Paz |
-+========+===================+==========================================================================================================================================================+
-| XX | 80-092980(US) | Disney's Little Einsteins: The Glass Slipper Ball |
-| | 80-092983(UK) | Disney's Little Einsteins: The Glass Slipper Ball (purple cart on front of UK box, but V.Motion listed) |
-| XX | 80-092984(GE) | Kleine Einsteins |
-| | 80-092985(FR) | Disney - Les petits Einsteins: Le bal du soulier de verre |
-| | 80-092987(SP) | Little Einsteins de Disney: El baile del zapatito de cristal |
-+========+===================+==========================================================================================================================================================+
++========+===================+============================================================================+
+| Dumped | Serial | Name |
++========+===================+============================================================================+
+| Vtech ran out of UPC codes at 92999, these are wraparound and newer than 92xxx series. |
+| They also say 'V.Link compatible' on the back though not all are V.Motion compatible |
++========+===================+============================================================================+
+| | 80-090000(US) | Up <- need pic |
+| | 80-090000-001(US) | Up |
+| XX | 80-090003-003(UK) | Up |
+| | 80-090004(GE) | Oben |
+| XX | 80-090004-004(GE) | Oben |
+| | 80-090005(FR) | La Haut |
++========+===================+============================================================================+
+| | 80-090020(US) | Handy Manny |
+| | 80-090023(UK) | Handy Manny |
+| XX | 80-090024(GE) | Meister Manny's Werkzeugkiste |
+| | 80-090025(FR) | Manny Et Ses Outils |
++========+===================+============================================================================+
+| | 80-090040(US) | Wow! Wow! Wubbzy! - Attack of the 50-Foot Fleegle |
++========+===================+============================================================================+
+| | 80-090060(US) | <Unknown> |
++========+===================+============================================================================+
+| | 80-090080(US) | <Unknown> |
++========+===================+============================================================================+
+| | 80-090100(US) | <Unknown> |
++========+===================+============================================================================+
+| | 80-090120(US) | <Unknown> |
++========+===================+============================================================================+
+| | 80-090140(US) | <Unknown> (Should be My Pet Puppy) |
+| | 80-090142(NL) | Mijn Puppy! |
+| XX | 80-090144(GE) | Mein erster Hund |
+| | 80-090145(FR) | Mon Toutou Tout Fou! |
+| | 80-090147(SP) | Dakota y su mascota (EAN 3417766901475) |
+| | (DK) | Min hundehvalp |
+| XX | 80-090154(SE) | Min hundvalp |
+| | (NO) | Min valp |
+| | (FI) | Koiranpentuni |
++========+===================+============================================================================+
+| | 80-090160(US) | <unknown> Should be Monsters vs. Aliens #80-084440, exists in vtech v.link database
+| | 80-090163(UK) | Monsters vs. Aliens |
+| XX | 80-090164(GE) | Monsters vs. Aliens |
+| | 80-090165(FR) | Monsters Contre Aliens |
+| | 80-090167(SP) | Monstruos contra Alienígenas |
++========+===================+============================================================================+
+| | 80-090180(US) | <Unknown> |
+| | 80-090183(UK) | Wonder Pets! - Save the Animals |
++========+===================+============================================================================+
+| | 80-090200(US) | <Unknown> |
++========+===================+============================================================================+
+| | 80-090220(US) | <Unknown> should be Wild Waves (purple) |
+| | 80-090224(GE) | Dolphis Wasser-abenteuer |
++========+===================+============================================================================+
+| | 80-090240(US) | <Unknown> |
++========+===================+============================================================================+
+| | 80-090260(US) | Disney Fairies: Tinker Bell |
+| | (DK) | Disney Fairies: Tingeling |
+| | 80-090274(SE) | Disney Fairies: Tingeling |
+| | 80-090275(NO) | Disney Fairies: Tingeling |
+| | (FI) | Disney Fairies: Helinä-keiju |
++========+===================+============================================================================+
+| |
+| Oldest Smartidges start here |
+| |
++========+===================+============================================================================+
+| XX | 80-092000(US) | Alphabet Park Adventure (Red Haired Girl Version) |
+| | 80-092000-101(US) | Alphabet Park Adventure (Blond Haired Girl Version) |
+| | (IT) | Avventura nel parco dell'alfabeto |
+| | 80-092002(NL) | Alfabet Pretpark |
+| | 80-092003(UK) | Alphabet Park Adventure (Red Haired Girl Version) |
+| XX | 80-092004(GE) | Abenteuer im ABC Park |
+| XX | 80-092005(FR) | ABC Land Aventure |
+| | 80-092006(PT) | ABC Adventure (EAN is 3417768920162 cart#92016) |
+| | 80-092007(SP) | Aventuras en el Parque Alfabeto (purple) |
+| | 80-092007(SP) | Aventuras en el Parque Alfabeto (translucent) (No # on label) |
++========+===================+============================================================================+
+| | 80-092020(US) | The Adventures of Little Red Riding Hood |
+| | 80-092023(UK) | The Adventures of Little Red Riding Hood (no # on label, but box says 'colours')
+| XX | 80-092024(GE) | Entdecke die Welt von Rotkäppchen |
+| | 80-092025(FR) | Les aventures du Le Petit Chaperon Rouge |
++========+===================+============================================================================+
+| | 80-092040(US) | Learnin' Wheels (blue car with guy driving) |
+| | 80-092043(UK) | Learnin' Wheels |
+| XX | 80-092044(GE) | Freds Zahlen Rally (note to self, guy in blue car wrong serial#) 80-092924(GE) on label
+| XX | 80-092045(FR) | Apprenti' Pilote |
++========+===================+============================================================================+
+| | 80-092060(US) | Winnie The Pooh: The Honey Hunt |
+| | (IT) | Winnie the Pooh - e la caccia al miele |
+| | 80-092062(NL) | Winnie de Poeh - De winderwereld van Poeh |
+| | 80-092063(UK) | Winnie The Pooh: The Honey Hunt |
+| XX | 80-092064(GE) | Pooh - Die Honigjagd |
+| | 80-092064(GE) | Pooh - Die Honigjagd (ALT-no# on label) |
+| | 80-092064(GE) | My Friends Tigger and Pooh - Die Honigjagd (yes, Tigger on this one) |
+| XX | 80-092064-104(GE) | My Friends Tigger and Pooh - Die Honigjagd (yes, Tigger on this one) |
+| XX | 80-092065(FR) | Winnie l'Ourson - La Chasse au miel de Winnie |
+| XX | 80-092065-105(FR) | Winnie l'Ourson - La Chasse au miel de Winnie (ALT) |
+| | 80-092066(PT) | Winnie the Pooh - Em Busca Do Mel (92076 on cart) |
+| | 80-092067(SP) | Winnie the Pooh (My Friends Tigger and Pooh) - En Busca de la Miel (no # on label)
+| | 80-092067-122(SP) | Winnie the Pooh (My Friends Tigger and Pooh) - En Busca de la Miel |
+| XX | 80-092073(DK) | Peter Plys - Honningjagten |
+| XX | 80-092074(SE) | Nalle Puh - Honungsjakten |
+| | (NO) | Winnie the Pooh - Honningjakten |
+| | (NO) | Ole Brumm - Honningjakten |
+| | (FI) | Winnie the Pooh - Hunajajahti |
++========+===================+============================================================================+
+| XX | 80-092080(US) | Mickey Mouse - Mickey's Magical Adventures |
+| | (IT) | Topolino - Le Magiche Avventure di Topolino |
+| | 80-092082(NL) | Mickey Mouse - De wonderwereld van Mickey |
+| | 80-092083(UK) | Mickey Mouse - Mickey's Magical Adventures |
+| XX | 80-092084(GE) | Micky - Mickys magisches Abenteuer |
+| | 80-092085(FR) | Mickey - Mickey a la recherche de Pluto |
+| | 80-092086(PT) | Mickey - A Aventura Mágica de Mickey (EAN is 3417768920964 cart 92096) |
+| | 80-092087(SP) | Mickey - La Aventura Mágica de Mickey |
+| | (DK) | Mickey |
+| | 80-092094(SE) | Musse Pigg - Musses magiska äventyr |
+| | (NO) | Mickey |
+| | (FI) | Mickey |
++========+===================+============================================================================+
+| XX | 80-092100(US) | The Lion King: Simba's Big Adventure |
+| XX | (IT) | Il Re Leone - La Grande Avventura di Simba |
+| | 80-092102(NL) | Leeuwenkoning - De wonderwereld van Simba |
+| | 80-092103(UK) | The Lion King: Simba's Big Adventure |
+| | 80-092104(GE) | Der Koenig der Loewen - Simbas grosses Abenteuer |
+| XX | 80-092105(FR) | Roi Lion - Simba Decouvre la Jungle |
+| | 80-092106(PT) | O Rei Leao - A grande aventura de Simba (92116 on cart) |
+| | 80-092107(SP) | Rey León - La Gran Aventura de Simba |
+| XX | 80-092113(DK) | Løvernes Konge - Simbas store eventyr |
+| XX | 80-092114(SE) | Lejonkungen - Simbas stora äventyr |
+| | (NO) | Løvenes konge - Simbas store eventyr |
+| | (FI) | Leijona kuningas - Simban suuri seikkailu |
++========+===================+============================================================================+
+| | 80-092120(US) | The Little Mermaid - Ariel's Majestic Journey |
+| XX | 80-092121(IT) | La sirenetta - Ariel e la crociera magica |
+| | 80-092122(NL) | De Kleine Zeemeermin - De Wunderwereld von Ariel |
+| | 80-092123(UK) | The Little Mermaid - Ariel's Majestic Journey |
+| XX | 80-092124(GE) | Arielle die Meerjungfrau - Arielles aufregendes Abenteuer |
+| XX | 80-092125(FR) | La Petite Sirene - Ariel devient une princesse |
+| | 80-092126(PT) | |
+| | 80-092127(SP) | La Sirenita - El Viaje Fantástico de Ariel |
+| XX | 80-092133(DK) | Den Lille Havfrue - Ariels majestætiske rejse! |
+| XX | 80-092134(SE) | Den Lilla Sjöjungfrun - Ariels majestätiska resa! |
+| | (NO) | Den Lille Havfruen - Ariels majestetiske reise! |
+| | (FI) | Pieni Merenneito - Arielin majesteettinen matka |
++========+===================+============================================================================+
+| | 80-092140(US) | Spider-Man & Friends - Secret Missions |
+| | 80-092140-101(US) | Spider-Man & Friends - Secret Missions (ALT) |
+| | 80-092142(NL) | Spider-Man en Vrienden! - Geheime Missies (white Webs) |
+| | 80-092142-123(NL) | Spider-Man en Vrienden! - Geheime Missies (Yellow webs) |
+| | 80-092143(UK) | Spider-Man & Friends - Secret Missions (no # on front label) |
+| | 80-092143-103(UK) | Spider-Man & Friends - Secret Missions (ALT) |
+| | 80-092144(GE) | Spider-Man & Freunde - Geheime Missionen |
+| XX | 80-092145(FR) | Spider-Man and ses amis - Missions Secretes (white webs) |
+| | 80-092145-105(FR) | Spider-Man and ses amis - Missions Secretes (yellow webs) |
+| | 80-092146(PT) | Spider-man & Amigos - Missoes Secretas |
+| | 80-092147(SP) | Spider-Man y Amigos - Misiones Secretas (white webs) |
+| | 80-092147-122(SP) | Spider-Man y Amigos - Misiones Secretas (yellow webs) |
++========+===================+============================================================================+
+| XX | 80-092160(US) | Scooby-Doo! - Funland Frenzy |
+| | 80-092160-101(US) | Scooby-Doo! - Funland Frenzy (ALT) |
+| XX | (IT) | Scooby-Doo! - Avventura a Funland |
+| | 80-092162(NL) | Scooby-Doo griezelen in het pretpark |
+| | 80-092163(UK) | Scooby-Doo! - Funland Frenzy |
+| | 80-092163-103(UK) | Scooby-Doo! - Funland Frenzy |
+| | 80-092163-293(UK) | Scooby-Doo! - Funland Frenzy (Yellow, only Scooby on label might be motion version)
+| XX | 80-092164(GE) | Scooby-Doo! - Im Lernpark |
+| XX | 80-092165(FR) | Scooby-Doo! - Panique à Funland |
+| | 80-092165(FR) | Scooby-Doo! - Panique à Funland (translucent purple, packin) |
+| | 80-092167(SP) | Scooby-Doo - Misterio en el Parque (translucent Purple) |
+| XX | 80-092173(DK) | Scooby-Doo! - Sjov i forlystelsesparken |
+| XX | 80-092174(SE) | Scooby-Doo! - Tivoli-tokerier |
+| | (NO) | Scooby-Doo! - Moro i fornøyelsesparken |
+| | (FI) | Scooby-Doo! |
++========+===================+============================================================================+
+| | 80-092180(US) | Care Bears - A Lesson in Caring |
+| | 80-092183(UK) | Care Bears - A Lesson in Caring |
+| | 80-092184(GE) | Gluecksbarchis <- existance not proven |
+| | 80-092185(FR) | Les Bisounours - Le Monde Merveilleux des Bisounours |
+| | 80-092187(SP) | Osos Amorosos - Una Lección de Amor |
++========+===================+============================================================================|
+| | 80-092200(US) | Aladdin - Aladdin's Wonders of the World |
+| | (IT) | Aladdin - Il magico mondo di Aladdin |
+| | 80-092202(NL) | Aladdin - De Wunderwereld van Aladdin |
+| | 80-092203(UK) | Aladdin - Aladdin's Wonders of the World |
+| XX | 80-092204(GE) | Aladdin - Aladdins Welt der Wunder |
+| | 80-092205(FR) | Aladdin - Les fabuleuses aventures d'Aladdin |
+| | 80-092207(SP) | Aladdin - El Maravilloso Mundo de Aladdin |
++========+===================+============================================================================+
+| XX | 80-092220(US) | Toy Story 2 - Operation Rescue Woody! |
+| | (IT) | Toy Story 2 - Operazione: Salvataggio di Woody! gpz06503 |
+| | 80-092223(UK) | Toy Story 2 - Operation Rescue Woody! |
+| XX | 80-092224(GE) | Toy Story 2 - Woodys Spannende Rettung |
+| | 80-092225(FR) | Toy Story 2 - Buzz a la Rescousse |
+| | 80-092226(PT) | Toy Story 2 - O Resgate de Woody (92236 on cart) |
+| | 80-092227(SP) | Toy Story 2 - El Rescate De Woody |
+| | (DK) | Toy Story 2 - Operation: Red Woody! |
+| XX | 80-092234(SE) | Toy Story 2 - Operation: Rädda Woody! |
+| | (NO) | Toy Story 2 - Operasjon: Redd Woody! |
+| | (FI) | Toy Story 2 |
++========+===================+============================================================================+
+| XX | 80-092240(US) | Cinderella - Cinderella's Magic Wishes |
+| XX | (IT) | Cenerentola - I desideri magici di Cenerentola (cart says 52-92251 Ita) |
+| | 80-092242(NL) | Assepoester - De wonderwereld van Assepoester |
+| | 80-092242-123(NL) | Assepoester - De wonderwereld van Assepoester | 2007 |
+| | 80-092243(UK) | Cinderella - Cinderella's Magic Wishes |
+| | 80-092243-103(UK) | Cinderella - Cinderella's Magic Wishes | 2007 |
+| | 80-092243-203(UK) | Cinderella - Cinderella's Magic Wishes | 2008 |
+| XX | 80-092244(GE) | Cinderella - Lernen im Maerchenland | 2005 |
+| XX | 80-092244-104(GE) | Cinderella - Lernen im Maerchenland | 2007 |
+| | 80-092244-204(GE) | Cinderella - Lernen im Maerchenland | 2007 |
+| XX | 80-092245(FR) | Cendrillon - Le reve enchante de Cendrillon |
+| | 80-092245-105(FR) | Cendrillon - Le reve enchante de Cendrillon |
+| | 80-092245-205(FR) | Cendrillon - Le reve enchante de Cendrillon |
+| | 80-092246(PT) | Cinderela - Os Sonhos Magicos da Cinderela (Cart#92256) |
+| | 80-092247(SP) | La Cenicienta - Los sueños mágicos de Cenicienta (non motion#, but v.motion in spanish catalog)
+| | 80-092247-222(SP) | La Cenicienta - Los sueños mágicos de Cenicienta (non motion#, but v.motion in spanish catalog)
+| XX | 80-092253(DK) | Cinderella - Askepots magiske ønsker |
+| XX | 80-092254(SE) | Cinderella - Askungens magiska önskningar |
+| | 80-092255(NO) | Cinderella - Askepotts magiske ønsker |
+| | (FI) | Cinderella - Tuhkimon Taikatoiveet |
++========+===================+============================================================================+
+| | 80-092260(US) | Elmo's World - Elmo's Big Discoveries |
+| XX | 80-092264(GE) | Elmos großes Abenteuer |
+| XX | 80-092265(FR) | Le Monde d'ELMO - Les Grandes Decouvertes D'Elmo |
++========+===================+============================================================================+
+| XX | 80-092280(US) | Dora The Explorer - Dora's Fit-it Adventure |
+| | 80-092280-101(US) | Dora The Explorer - Dora's Fit-it Adventure (ALT) |
+| | 80-092282(NL) | Dora - Doras Reparatie Avontuur! |
+| | 80-092283(UK) | Dora The Explorer - Dora's Fit-it Adventure |
+| | 80-092283-103(UK) | Dora The Explorer - Dora's Fit-it Adventure (ALT) |
+| | 80-092284(GE) | Dora - Doras Reparatur-Abenteuer |
+| XX | 80-092284-104(GE) | Dora - Doras Reparatur-Abenteuer |
+| XX | 80-092285(FR) | Dora L'Exploratrice - Les aventures de Dora Apprentie Mécano |
+| | 80-092285-1?5(FR) | Dora L'Exploratrice - Les aventures de Dora Apprentie Mécano NTSC French-Canadian
+| | 80-092286(PT) | Dora - em busca das pecas perdidas (cart# 92296) |
+| | 80-092287(SP) | Dora - La Aventura arregla-todo de Dora (seen as purple without#) |
+| | 80-092287-122(SP) | Dora - La Aventura arregla-todo de Dora |
++========+===================+============================================================================+
+| XX | 80-092300(US) | Bob the Builder: Bob's Busy Day |
+| | 80-092303(UK) | Bob the Builder: Bob's Busy Day |
+| | 80-092303-103(UK) | Bob the Builder: Bob's Busy Day (Yellow Label) |
+| XX | 80-092304(GE) | Bob der Baumeister - Bobs Spannender Arbeitstag |
+| | 80-092304-104(GE) | Bob der Baumeister - Bobs Spannender Arbeitstag |
+| | 80-092305(FR) | Bob Bricoleur: Les P'tits Chantiers de Bob |
+| | 80-092305-105(FR) | Bob Bricoleur: Les P'tits Chantiers de Bob (ALT) |
+| | 80-092306(PT) | Bob o Construtor - Um dia Atarefado (92316 on cart) |
+| | 80-092307(SP) | Bob y sus Amigos - Un día de trabajo |
+| XX | 80-092313(DK) | Byggemand Bob - Bobs travle dag |
+| XX | 80-092314(SE) | Byggare Bob - Bobs stressiga dag |
+| | (NO) | Byggmester Bob - Bobs travle dag |
+| | (FI) | Puuha-Pete - Peten kiirenes päivä |
++========+===================+============================================================================+
+| | 80-092320(US) | The Wiggles - It's Wiggle Time! |
+| | 80-092323(UK) | The Wiggles - It's Wiggle Time! |
++========+===================+============================================================================+
+| | 80-092340(US) | Thomas The Tank: Engines Working Together |
+| | 80-092340-101(US) | Thomas The Tank: Engines Working Together (ALT) (HiT logo on label) |
+| | 80-092342(NL) | Thomas de Stoomlocomotief' - Locomotieven Werken Somen <- need pic even the manual has -123 on cover
+| | 80-092342-123(NL) | Thomas de Stoomlocomotief' - Locomotieven Werken Somen |
+| | 80-092343(UK) | Thomas and Friends: Engines Working Together |
+| | 80-092343-103(UK) | Thomas and Friends: Engines Working Together (ALT) |
+| | 80-092343-203(UK) | Thomas and Friends: Engines Working Together (ALT) |
+| XX | 80-092344(GE) | Thomas and Seine Freunde - Freunde Halten Zusammen |
+| XX | 80-092344-104(GE) | Thomas and Seine Freunde - Freunde Halten Zusammen |
+| XX | 80-092345(FR) | Thomas er ses Amis - Les locomotives s'entraident |
+| | 80-092347(SP) | Thomas and Friends: Juego de Aprendizaje |
+| | (DK) | Thomas and Friends: Togene arbejder sammen |
+| XX | 80-092354(SE) | Thomas and Friends: Tågen hjälps åt |
+| | (NO) | Thomas and Friends: Togene samarbeider (494097(NO) printed on cart) |
+| | (FI) | Thomas and Friends |
++========+===================+============================================================================+
+| XX | 80-092360(US) | Zayzoo - My Alien Classmate |
+| XX | 80-092360-101(US) | Zayzoo: An Earth Adventure |
+| | 80-092362(NL) | Zayzoo - Mijn Buitenaardse Vriendje |
+| | 80-092363(UK) | Zayzoo My Alien Classmate <- yes, duped# |
+| | 80-092363(UK) | Zayzoo - An Earth Adventure <- saw it, can't find pic again |
+| XX | 80-092363-103(UK) | Zayzoo - An Earth Adventure |
+| XX | 80-092364(GE) | Zayzoos Lernall |
+| XX | 80-092365(FR) | Zézou - Notre Ami Venu d'Ailleurs |
+| | 80-092367(SP) | Zayzoo - Mi Amiga del Espacio (Alien Classmate) |
++========+===================+============================================================================+
+| | 80-092380(US) | Barney - The Land of Make Believe |
+| | 80-092383(UK) | Barney - The Land of Make Believe |
+| XX | 80-092384(GE) | Barney - Erlebnis-Reise |
++========+===================+============================================================================+
+| | 80-092400(US) | Blue's Clues Collection Day |
++========+===================+============================================================================+
+| XX | 80-092420(US) | Finding Nemo - Nemo's Ocean Discoveries |
+| XX | 80-092422(NL) | Finding Nemo - De wonderwereld van Nemo |
+| | 80-092423(UK) | Finding Nemo - Nemo's Ocean Discoveries |
+| | 80-092424(GE) | Findet Nemo - Nemos Unterwasserabenteuer |
+| | 80-092425(FR) | Le Monde de Nemo - Nemo a la decourverte de l'ocean |
+| | 80-092426(PT) | Nemo - A descoberta do Oceano (Cart#92436) |
+| | 80-092427(SP) | Buscando a Nemo - Los Descubrimientos de Nemo |
++========+===================+============================================================================+
+| XX | 80-092440(US) | Spongebob Squarepants: A Day In The Life of A Sponge |
+| | 80-092442(NL) | Spongebob Squarepants: Een Dag uit het Leven van een Spons |
+| | 80-092443(UK) | Spongebob Squarepants: A Day In The Life of A Sponge |
+| XX | 80-092444(GE) | Spongebob Schwammkopf - Der Tag des Schwamms |
+| | 80-092445(FR) | Bob L'eponge - Une journee dans la vie d'une eponge |
+| | 80-092447(SP) | Bob Esponja - Un día en la vida de una esponja |
++========+===================+============================================================================+
+| | 80-092460(US) | Sesame Street : Bert and Ernie's Imagination Adventure |
+| | 80-092462(NL) | Sesamstraat : Bert and Ernie's Fantasie Avontuur |
+| XX | 80-092464(GE) | Sesame Street : Ernie and Berts Fantastisches Abenteuer |
+| | 80-092465(FR) | 5, Rue Sesame : Les Aventures Imaginaires d'Ernest et Bert |
+| | 80-092467(SP) | Barrio Sésamo : El Mundo Fantástico de Epi y Blas |
++========+===================+============================================================================+
+| | 80-092480(US) | Batman: Gotham City Rescue |
+| | (IT) | Batman: Il Salvataggio di Gotham City 80-092492?? gpz06629 |
+| | 80-092482(NL) | Batman: De Redding van Gotham City |
+| | 80-092483(UK) | Batman: Gotham City Rescue |
+| | 80-092484(GE) | Batman - Rettung von Gotham City |
+| | 80-092485(FR) | Batman: Panique a Gotham City |
++========+===================+============================================================================+
+| | 80-092500(US) | Whiz Kid Wheels (note to self.. no rider in this blue car) |
+| | 80-092502(NL) | Truckie's Rekenrace |
+| | 80-092503(UK) | Whiz Kid Wheels |
+| | 80-092504(GE) | Flitzers Schlaue Staedtetour (diff color) |
+| | 80-092504(GE) | Flitzers Schlaue Staedtetour (normal purple) |
+| | 80-092505(FR) | Mission Pilote |
+| | 80-092506(PT) | Conducao Diverrido (Cart# 92516) |
+| | 80-092507(SP) | Conducción Divertida |
++========+===================+============================================================================+
+| | 80-092520(US) | Spider-Man & Friends Doc Ock's Challenge |
+| | (IT) | Spider-Man la sfida del dottor Ock (V.smile pocket bundle only?) |
+| | 80-092523(UK) | Spider-Man & Friends Doc Ock's Challenge |
+| XX | 80-092524(GE) | Spider-Man & Freunde Wettkampf im Space Labor |
+| | 80-092525(FR) | Spider-Man & ses amis Le defi du docteur Ock |
+| | 80-092527(SP) | Spider-man y Amigas - La Aventura Del Doctor Octopus |
++========+===================+============================================================================+
+| | 80-092540(US) | Noddy - Detective for a Day |
+| | 80-092543(UK) | Noddy - Detective for a Day |
+| | 80-092543-103(UK) | Noddy - Detective for a Day (ALT) |
+| | 80-092544(GE) | Noddy - Detektiv fuer einen Tag <- need pic to confirm, manual cover says -104
+| XX | 80-092544-104(GE) | Noddy - Detektiv fuer einen Tag (ALT) |
+| XX | 80-092545(FR) | Oui-Oui - Detective d'un Jour |
+| | 80-092545-105(FR) | Oui-Oui - Detective d'un Jour (ALT) |
+| | 80-092546(PT) | Noddy - Detective por um dia (92556 on cart) |
++========+===================+============================================================================+
+| | 80-092560(US) | 101 Dalmations (one pic on german site with USA code) |
+| | 80-092564(GE) | 101 Dalmatiner (EAN on german site with USA pic.. wtf) |
++========+===================+============================================================================+
+| | 80-092580(US) | Backyardigans - Viking Voyage |
+| | 80-092580-201(US) | Backyardigans - Viking Voyage (ALT) |
+| | 80-092583(UK) | Backyardigans - Viking Voyage |
+| XX | 80-092585(FR) | Les Melodilous - Les explorateurs vikings |
++========+===================+============================================================================+
+| | 80-092600(US) | Shrek - Dragon's Tale |
+| | 80-092602(NL) | Shrek - Het verhaal van draakje |
+| XX | 80-092604(GE) | Shrek - Die Geschichte des Drachen |
+| XX | 80-092605(FR) | Shrek - Le Ehume de Dragonne |
+| | 80-092607(SP) | Shrek - El Cuento de la Dragona |
++========+===================+============================================================================+
+| | 80-092620(US) | Lil' Bratz - Friends, Fashion and Fun |
+| | 80-092623(UK) | Lil' Bratz - Friends, Fashion and Fun |
+| | 80-092627(SP) | Lil' Bratz - Amigos, Moda y Diversion |
++========+===================+============================================================================+
+| | 80-092640(US) | Superman - The Greatest Hero |
+| | 80-092642(NL) | Superman - De Grootste Held |
+| | 80-092643(UK) | Superman - The Greatest Hero |
+| XX | 80-092644(GE) | Superman - Der Superheld |
+| XX | 80-092645(FR) | Superman - À la rescousse ! |
+| | 80-092647(SP) | Superman - El Hombre de Acero |
++========+===================+============================================================================+
+| XX | 80-092660(US) | Cars: Rev It Up In Radiator Springs |
+| | (IT) | Cars: Motori Ruggenti gpz06755 |
+| | 80-092662(NL) | Cars: Spektakel in Radiator Springs |
+| | 80-092663(UK) | Cars: Rev It Up In Radiator Springs |
+| XX | 80-092664(GE) | Cars: Vollgas in Radiator Springs |
+| XX | 80-092665(FR) | Cars: Quatre Roues |
+| | 80-092666(PT) | Carros: Aventura em Radiator Springs (92676 on cart) |
+| | 80-092667(SP) | Cars: Acelera el Motor en Radiador Springs |
+| XX | 80-092673(DK) | Biler - Ræs i Kølerkildekøbing |
+| XX | 80-092674(SE) | Bilar - Kör ikapp i Kylarköping |
+| | 80-092674(SE) | Biler - Kör ikapp i Kylarköping (Misprinted label) |
+| | (NO) | Biler - Full gass i Radiator By |
+| | (FI) | Autot - Aja kilpaa Syylari Cityssä |
++========+===================+============================================================================+
+| | 80-092680(US) -> | |
+| | 80-092800(US) | <Unknown> |
++========+===================+============================================================================+
+| | 80-092820(US) | Soccer Challenge |
+| | 80-092821(IT) | Football Club (cart is 92831) (EAN 8001444067538) |
+| | 80-092822(NL) | Voetbal |
+| | 80-092823(UK) | Football Challenge |
+| XX | 80-092824(GE) | Fußball Schule |
+| | 80-092825(FR) | Football Challenge |
+| | 80-092826(PT) | Football Challenge (cart# 92836) |
+| | 80-092827(SP) | Campeonato de Fútbol |
++========+===================+============================================================================+
+| | 80-092840(US) | Wall-E |
+| | (IT) | Wall-E (GPZ07996) |
+| | 80-092842(NL) | Wall-E |
+| | 80-092843(UK) | Wall-E |
+| XX | 80-092844(GE) | Wall-E |
+| | 80-092845(FR) | Wall-E |
+| | 80-092847(SP) | Wall-E |
+| | (DK) | Wall-E |
+| XX | 80-092854(SE) | Wall-E |
+| | (NO) | Wall-E |
+| | (FI) | Wall-E |
++========+===================+============================================================================+
+| XX | 80-092860(US) | Shrek the Third: Arthur's School Day Adventure |
+| | (IT) | Shrek Terzo L'Advventura Do Artu in un Giorno di Scuola |
+| XX | 80-092862(NL) | Shrek de Derde - Arthurs Schooldag Avontuur |
+| | 80-092863(UK) | Shrek the Third: Arthur's School Day Adventure |
+| | 80-092864(GE) | Shrek der Dritte - Ein Spannender Schultag |
+| | 80-092865(FR) | Shrek Troisieme : L'aventure d'Arthur |
+| | 80-092867(SP) | Shrek Tercero - En Busca de Arturo |
++========+===================+============================================================================+
+| | 80-092880(US) | Ratatouille - Remy's New Recipes |
+| XX | (IT) | Ratatouille - Le nuove Ricette di Remy |
+| | 80-092882(NL) | Ratatouille - Remy's Nieuwe Recepten |
+| | 80-092883(UK) | Ratatouille - Remy's New Recipes |
+| XX | 80-092884(GE) | Ratatouille - Remys neue Rezepte |
+| | 80-092884-104(GE) | Ratatouille - Remys neue Rezepte (ALT) |
+| | 80-092885(FR) | Ratatouille - Les nouvelles recettes de Remy |
+| | 80-092887(SP) | Ratatouille - Las recetas del Remy |
++========+===================+============================================================================+
+| | 80-092900(US) | Go Diego Go! - Save the Animal Familes! |
+| | 80-092902(NL) | Go Diego Go! - Red de dierenfamilies! |
+| | 80-092903(UK) | Go Diego Go! - Save the Animal Familes! |
+| | 80-092905(FR) | Go Diego! - A la rescousse des animaux! |
++========+===================+============================================================================+
+| XX | 80-092920(US) | Cranium - Partyland Park |
+| | 80-092922(UK) | Cranium - Partyland Park |
+| | 80-092924(GE) | Cranium - Freizeit Park |
+| | 80-092925(FR) | Cranium - Le Parc D'attractions |
++========+===================+============================================================================+
+| | 80-092940(US) | <Unknown> should be Mickey Mouse Clubhouse 80-084180 exists in v.link database
+| | (IT) | La Casa di Topolino |
+| XX | 80-092942(NL) | Mickey Mouse Clubhause |
+| | 80-092943(UK) | Mickey Mouse Clubhouse |
+| XX | 80-092944(GE) | Micky Maus Wunderhaus |
+| | 80-092945(FR) | La Maison de Mickey |
+| | 80-092947(SP) | La Casa de Mickey Mouse |
+| | (DK) | Mickey Mouse Clubhouse |
+| XX | 80-092954(SE) | Mickey Mouse Clubhouse |
+| | (NO) | Mickey Mouse Clubhouse |
+| | (FI) | Mickey Mouse Clubhouse |
++========+===================+============================================================================+
+| | 80-092960(US) | Kung Fu Panda - Path of the Panda |
+| | 80-092962(NL) | Kung Fu Panda - Het pad van de panda |
+| XX | 80-092963(UK) | Kung Fu Panda - Path of the Panda |
+| | 80-092964(GE) | Kung Fu Panda - Der Weg des Panda |
+| | 80-092965(FR) | Kung Fu Panda - La ????? |
+| | 80-092967(SP) | Kung Fu Panda - Aventura en el Valle de la Paz |
++========+===================+============================================================================+
+| | 80-092980(US) | Disney's Little Einsteins: The Glass Slipper Ball |
+| | 80-092983(UK) | Disney's Little Einsteins: The Glass Slipper Ball <- purple cart on front of UK box, but v.motion listed)
+| XX | 80-092984(GE) | Kleine Einsteins |
+| | 80-092985(FR) | Disney - Les petits Einsteins: Le bal du soulier de verre |
+| | 80-092987(SP) | Little Einsteins de Disney: El baile del zapatito de cristal |
++========+===================+============================================================================+
-->
<softwarelist name="vsmile_cart" description="VTech V.Smile cartridges">
- <software name="aladding" supported="yes">
+ <software name="aladdin" supported="no">
<description>Disneys Aladdin - Aladdins Welt der Wunder (Ger)</description>
<year>2005?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092204(GE)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="707180" />
<feature name="pcb_model" value="707180-3" />
<feature name="cart_type" value="lilac" />
@@ -541,30 +533,12 @@ Game cartridges
</part>
</software>
- <software name="aladdins" cloneof="aladding" supported="yes">
- <description>Disney Aladdin - El Maravilloso Mundo de Aladdin (Spa)</description>
- <year>2005</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-092207(SP)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
- <feature name="pcb" value="706714" />
- <feature name="pcb_model" value="706714-1" />
- <feature name="cart_type" value="lilac" />
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="8388608">
- <rom name="80-092207 - Aladdin - El Maravilloso Mundo de Aladdin (SP).bin" size="8388608" crc="5e01645f" sha1="de4d420a7bfb9a33fbd739a5111e331b7ba6c85a" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="redhoodg" supported="yes">
+ <software name="redhood" supported="no">
<description>Entdecke die Welt von Rotkäppchen (Ger)</description>
<year>200?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092024(GE)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="707180" />
<feature name="pcb_model" value="707180-2" />
<feature name="cart_type" value="lilac" />
@@ -575,13 +549,12 @@ Game cartridges
</part>
</software>
- <software name="alphaprk" supported="yes">
+ <software name="alphaprk" supported="no">
<description>Alphabet Park Adventure (USA)</description>
<year>200?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092000(US)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="708894" />
<feature name="pcb_model" value="708894-A" />
<feature name="cart_type" value="lilac" />
@@ -592,45 +565,12 @@ Game cartridges
</part>
</software>
- <software name="alphaprka" cloneof="alphaprk" supported="yes">
- <description>Alphabet Park Adventure (USA, alt)</description>
- <year>200?</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-092000(US)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
- <feature name="pcb" value="707180" />
- <feature name="pcb_model" value="707180-3" />
- <feature name="cart_type" value="lilac" />
- <feature name="u1" value="U1" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="8388608">
- <rom name="vsmile92000.bin" size="8388608" crc="e491b4fc" sha1="511d7807df753e8d89547040af2019629f056371" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="alphaprk1" cloneof="alphaprk" supported="yes">
- <description>Alphabet Park Adventure (USA, alt, Rev. 101)</description>
- <year>200?</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-092000-101(US)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
- <feature name="cart_type" value="lilac" />
- <feature name="u1" value="U1" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="8388608">
- <rom name="vsmile92000-2.bin" size="8388608" crc="e432b85e" sha1="b11e6eb1c20f9db01df28e7169590ddfb95fee43" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="alphaprkg" cloneof="alphaprk" supported="yes">
+ <software name="alphaprkg" cloneof="alphaprk" supported="no">
<description>Abenteuer im ABC Park (Ger)</description>
<year>200?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092004(GE)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="708894" />
<feature name="pcb_model" value="708894-A" />
<feature name="cart_type" value="lilac" />
@@ -641,13 +581,12 @@ Game cartridges
</part>
</software>
- <software name="alphaprkf" cloneof="alphaprk" supported="yes">
+ <software name="alphaprkf" cloneof="alphaprk" supported="no">
<description>ABC Land Aventure (Fra)</description>
<year>200?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092005(FR)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="707180" />
<feature name="pcb_model" value="707180-1" />
<feature name="cart_type" value="lilac" />
@@ -658,30 +597,12 @@ Game cartridges
</part>
</software>
- <software name="alphaprks" cloneof="alphaprk" supported="yes">
- <description>Aventuras en el Parque Alfabeto (Spa)</description>
- <year>200?</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-092007(SP)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
- <feature name="pcb" value="708894" />
- <feature name="pcb_model" value="708894-A" />
- <feature name="cart_type" value="lilac" />
- <feature name="u1" value="U1" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="8388608">
- <rom name="80-092007 - Aventuras en el Parque Alfabeto (SP).bin" size="8388608" crc="7bced0b3" sha1="e8de93a1527c52efa69c4b3cf67ca4f4b05954b4" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="arielg" supported="yes">
+ <software name="ariel" supported="no">
<description>Disneys Arielle die Meerjungfrau - Arielles aufregendes Abenteuer (Ger, Rev. 3?)</description>
<year>2004?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092124(GE)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="708106" />
<feature name="pcb_model" value="708106-1" />
<feature name="cart_type" value="lilac" />
@@ -692,13 +613,12 @@ Game cartridges
</part>
</software>
- <software name="arielg1" cloneof="arielg" supported="yes">
+ <software name="ariel1" cloneof="ariel" supported="no">
<description>Disneys Arielle Die Meerjungfrau - Arielles aufregendes Abenteuer (Ger)</description>
<year>2004?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092124(GE)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="708894" />
<feature name="pcb_model" value="708894-A" />
<feature name="cart_type" value="lilac" />
@@ -709,13 +629,12 @@ Game cartridges
</part>
</software>
- <software name="arielf" cloneof="arielg" supported="yes">
+ <software name="arielf" cloneof="ariel" supported="no">
<description>Disney La Petite Sirene - Ariel devient une princesse (Fra)</description>
<year>2004?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092125(FR)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="707180" />
<feature name="pcb_model" value="707180-2" />
<feature name="cart_type" value="lilac" />
@@ -726,30 +645,12 @@ Game cartridges
</part>
</software>
- <software name="ariels" cloneof="arielg" supported="yes">
- <description>Disney La Sirenita - El Viaje Fantástico de Ariel (Spa)</description>
- <year>2004</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-092127(SP)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
- <feature name="pcb" value="708894" />
- <feature name="pcb_model" value="708894-A" />
- <feature name="cart_type" value="lilac" />
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="8388608">
- <rom name="80-092127 - La Sirenita - El Viaje Fantastico de Ariel (SP).bin" size="8388608" crc="785f8c6b" sha1="abba1985e7f5bc3708fe6f34e8e7e4e5b0327f9d" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="arieldk" cloneof="arielg" supported="yes">
+ <software name="arieldk" cloneof="ariel" supported="no">
<description>Disney Den Lille Havfrue - Ariels majestætiske rejse! (Den)</description>
<year>200?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092133(DK)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="707180" />
<feature name="pcb_model" value="707180-1" />
<feature name="cart_type" value="lilac" />
@@ -760,13 +661,12 @@ Game cartridges
</part>
</software>
- <software name="arielsw" cloneof="arielg" supported="yes">
+ <software name="arielsw" cloneof="ariel" supported="no">
<description>Disneys Den Lilla Sjöjungfrun - Ariels majestätiska resa! (Swe)</description>
<year>200?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092134(SE)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="708894" />
<feature name="pcb_model" value="708894-E" />
<feature name="cart_type" value="lilac" />
@@ -777,25 +677,23 @@ Game cartridges
</part>
</software>
- <software name="arieli" cloneof="arielg" supported="yes">
+ <software name="arieli" cloneof="ariel" supported="no">
<description>Disney La sirenetta - Ariel e la crociera magica (Ita)</description>
<year>2005</year>
<publisher>VTech / Giochi Preziosi</publisher>
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<dataarea name="rom" size="8388608">
<rom name="La Sirenetta - Ariel e la Crociera Magica (Italy).bin" size="8388608" crc="280b335b" sha1="256ea4f5725dcfd51be08ea6c135ad71701cc296" offset="0" />
</dataarea>
</part>
</software>
- <software name="barneyg" supported="yes">
+ <software name="barney" supported="no">
<description>Barney - Erlebnis-Reise (Ger)</description>
<year>2005?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092384(GE)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="7061238A" />
<feature name="pcb_model" value="7061238A-3" />
<feature name="cart_type" value="lilac" />
@@ -806,30 +704,13 @@ Game cartridges
</part>
</software>
- <software name="blueclue" supported="yes">
- <description>Nick Jr. Blue's Clues - Collection Day (USA)</description>
- <year>2005</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-092400(US)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
- <feature name="pcb" value="706714" />
- <feature name="pcb_model" value="706714-3" />
- <feature name="cart_type" value="lilac" />
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="8388608">
- <rom name="vsmile92400.bin" size="8388608" crc="031c6a38" sha1="0b8e2b17a146d903dd2708c06562787e47d7ec4e" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="bobbday" supported="yes">
+ <!-- loads if mapped as Batman TV -->
+ <software name="bobbday" supported="no">
<description>Bob the Builder - Bob's Busy Day (USA)</description>
<year>2005?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092300(US)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="7061238A" />
<feature name="pcb_model" value="7061238A-3" />
<feature name="cart_type" value="lilac" />
@@ -840,13 +721,12 @@ Game cartridges
</part>
</software>
- <software name="bobbdayg" cloneof="bobbday" supported="yes">
+ <software name="bobbdayg" cloneof="bobbday" supported="no">
<description>Bob der Baumeister - Bobs spannender Arbeitstag (Ger)</description>
<year>2005?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092304(GE)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="707180" />
<feature name="pcb_model" value="707180-2" />
<feature name="cart_type" value="lilac" />
@@ -857,13 +737,12 @@ Game cartridges
</part>
</software>
- <software name="bobbdaydk" cloneof="bobbday" supported="yes">
+ <software name="bobbdaydk" cloneof="bobbday" supported="no">
<description>Byggemand Bob - Bobs travle dag (Den)</description>
<year>2006?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092313(DK)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="707180" />
<feature name="pcb_model" value="707180-1" />
<feature name="cart_type" value="lilac" />
@@ -874,13 +753,12 @@ Game cartridges
</part>
</software>
- <software name="bobbdaysw" cloneof="bobbday" supported="yes">
+ <software name="bobbdaysw" cloneof="bobbday" supported="no">
<description>Byggare Bob - Bobs stressiga dag (Swe)</description>
<year>2006?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092314(SE)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="708106" />
<feature name="pcb_model" value="708106-3" />
<feature name="cart_type" value="lilac" />
@@ -891,45 +769,13 @@ Game cartridges
</part>
</software>
- <software name="carebears" supported="yes"> <!-- Will be cloneof="carebear" when dumped -->
- <description>Osos Amorosos - Una Lección de Amor (Spa)</description>
- <year>2006?</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-092187(SP)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
- <feature name="pcb" value="706714" />
- <feature name="pcb_model" value="706714-1" />
- <feature name="cart_type" value="lilac" />
- <feature name="u1" value="U1" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="8388608">
- <rom name="80-092187 - Osos Amorosos - Una Leccion de Amor (SP).bin" size="8388608" crc="c7d88dcf" sha1="d697798ba94d133d393377192ce36ae5233c99f5" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="carsr2" supported="yes">
- <description>Disney/Pixar Cars - Rev It Up in Radiator Springs (USA, Rev. 201)</description>
- <year>2006?</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-092660-201(US)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
- <feature name="cart_type" value="lilac" />
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="8388608">
- <rom name="vsmile92660.bin" size="8388608" crc="35ff7474" sha1="2c401f64cf510e40a0def1b47de0031d548e0fe9" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="cars" cloneof="carsr2" supported="yes">
+ <!-- loads if mapped as Batman TV -->
+ <software name="cars" supported="no">
<description>Disney/Pixar Cars - Rev It Up in Radiator Springs (USA)</description>
<year>2006?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092660(US)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="707180" />
<feature name="pcb_model" value="707180-2" />
<feature name="cart_type" value="lilac" />
@@ -940,13 +786,12 @@ Game cartridges
</part>
</software>
- <software name="carsg" cloneof="carsr2" supported="yes">
+ <software name="carsg" cloneof="cars" supported="no">
<description>Disney/Pixar Cars - Vollgas in Radiator Springs (Ger)</description>
<year>2006?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092664(GE)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="707180" />
<feature name="pcb_model" value="707180-3" />
<feature name="cart_type" value="lilac" />
@@ -957,13 +802,12 @@ Game cartridges
</part>
</software>
- <software name="carsf" cloneof="carsr2" supported="yes">
+ <software name="carsf" cloneof="cars" supported="no">
<description>Disney/Pixar Cars - Quatre Roues (Fra)</description>
<year>2006?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092665(FR)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="707180" />
<feature name="pcb_model" value="707180-3" />
<feature name="cart_type" value="lilac" />
@@ -974,13 +818,12 @@ Game cartridges
</part>
</software>
- <software name="carsdk" cloneof="carsr2" supported="yes">
+ <software name="carsdk" cloneof="cars" supported="no">
<description>Disney/Pixar Biler - Ræs i Kølerkildekøbing (Den)</description>
<year>2007?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092673(DK)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="707180" />
<feature name="pcb_model" value="707180-2" />
<feature name="cart_type" value="lilac" />
@@ -991,14 +834,13 @@ Game cartridges
</part>
</software>
- <software name="carssw" cloneof="carsr2" supported="yes">
+ <software name="carssw" cloneof="cars" supported="no">
<description>Disney/Pixar Bilar - Kör ikapp i Kylarköping (Swe)</description>
<year>2007?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092674(SE)" />
<info name="alt_title" value="Biler - Kör ikapp i Kylarköping (Misprinted cart)"/>
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="708201" />
<feature name="pcb_model" value="708201-7" />
<feature name="cart_type" value="lilac" />
@@ -1009,13 +851,12 @@ Game cartridges
</part>
</software>
- <software name="cinderla" supported="yes">
+ <software name="cinderla" supported="no">
<description>Disney Princess Cinderella - Cinderella's Magic Wishes (USA)</description>
<year>2005?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092240(US)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="706714" />
<feature name="pcb_model" value="706714-1" />
<feature name="cart_type" value="lilac" />
@@ -1026,39 +867,36 @@ Game cartridges
</part>
</software>
- <software name="cinderlaa" cloneof="cinderla" supported="yes">
- <description>Disney Princess Cinderella - Cinderella's Magic Wishes (USA, alt)</description>
+ <software name="cinderlaa" cloneof="cinderla" supported="no">
+ <description>Disney Princess Cinderella - Cinderella's Magic Wishes (USA, Alt)</description>
<year>200?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092240(US)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<dataarea name="rom" size="8388608">
<rom name="52-92240(us).bin" size="8388608" crc="0a89723c" sha1="15082b565f6f71a0f993c2734cb807f37611eb17" offset="0" />
</dataarea>
</part>
</software>
- <software name="cinderlai" cloneof="cinderla" supported="yes">
+ <software name="cinderlai" cloneof="cinderla" supported="no">
<description>Disney Cenerentola - I desideri magici di Cenerentola (Ita)</description>
<year>2006</year>
<publisher>VTech / Giochi Preziosi</publisher>
- <info name="serial" value="52-92251(IT)" />
+ <info name="serial" value="52-92251 (Ita)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<dataarea name="rom" size="8388608">
<rom name="Cenerentola - I Desideri Magici di Cenerentola (Italy).bin" size="8388608" crc="cb28ac0d" sha1="e938504a40a4f47cd4b09489f515c0a6545a1800" offset="0" />
</dataarea>
</part>
</software>
- <software name="cinderlaf" cloneof="cinderla" supported="yes">
+ <software name="cinderlaf" cloneof="cinderla" supported="no">
<description>Disney Princesses Cendrillon - Le rêve enchanté de Cendrillon (Fra)</description>
<year>2005?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092245(FR)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="707180" />
<feature name="pcb_model" value="707180-2" />
<feature name="cart_type" value="lilac" />
@@ -1069,30 +907,12 @@ Game cartridges
</part>
</software>
- <software name="cinderlasr2" cloneof="cinderla" supported="yes">
- <description>Walt Disney La Cenicienta - Los sueños mágicos de Cenicienta (Spa, Rev. 222)</description>
- <year>2008</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-092247-222(SP)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
- <feature name="pcb" value="708201" />
- <feature name="pcb_model" value="708201-4" />
- <feature name="cart_type" value="lilac" />
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="8388608">
- <rom name="80-092247-222 - La Cenicienta - Los suenos magicos de Cenicienta (SP).bin" size="8388608" crc="41be74d6" sha1="bfac64f8a8d9535fd5bea113319c4f8de0242c09" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="cinderladk" cloneof="cinderla" supported="yes">
+ <software name="cinderladk" cloneof="cinderla" supported="no">
<description>Disney Princess Cinderella - Askepots magiske ønsker (Den)</description>
<year>2006?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092253(DK)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="707180" />
<feature name="pcb_model" value="707180-2" />
<feature name="cart_type" value="lilac" />
@@ -1103,13 +923,12 @@ Game cartridges
</part>
</software>
- <software name="cinderlag" cloneof="cinderla" supported="yes">
- <description>Disney Princess Cinderella - Lernen im Märchenland (Ger, Rev. 104)</description>
+ <software name="cinderlag" cloneof="cinderla" supported="no">
+ <description>Disney Princess Cinderella - Lernen im Märchenland (Ger, Rev. 1)</description>
<year>2007?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092244-104(GE)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="707180" />
<feature name="pcb_model" value="707180-2" />
<feature name="cart_type" value="lilac" />
@@ -1120,13 +939,12 @@ Game cartridges
</part>
</software>
- <software name="cinderlag1" cloneof="cinderla" supported="yes">
+ <software name="cinderlag1" cloneof="cinderla" supported="no">
<description>Disney Princess Cinderella - Lernen im Märchenland (Ger)</description>
<year>2005?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092244(GE)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="706714" />
<feature name="pcb_model" value="706714-1" />
<feature name="cart_type" value="lilac" />
@@ -1137,13 +955,12 @@ Game cartridges
</part>
</software>
- <software name="cinderlasw" cloneof="cinderla" supported="yes">
+ <software name="cinderlasw" cloneof="cinderla" supported="no">
<description>Disney Princess Cinderella - Askungens magiska önskningar (Swe)</description>
<year>2006?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092254(SE)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="707180" />
<feature name="pcb_model" value="707180-3" />
<feature name="cart_type" value="lilac" />
@@ -1154,28 +971,25 @@ Game cartridges
</part>
</software>
- <software name="dorar2" supported="yes">
- <description>Nickelodeon Dora the Explorer - Dora's Fix-it Adventure (USA, Rev. 201)</description>
- <year>2008</year>
+ <software name="mickymag" supported="no">
+ <description>Disney's Mickey Mouse - Mickey's Magical Adventure (USA)</description>
+ <year>200?</year>
<publisher>VTech</publisher>
- <info name="serial" value="80-092280-201(US)" />
+ <info name="serial" value="80-092080(US)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
- <feature name="cart_type" value="lilac" />
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
<dataarea name="rom" size="8388608">
- <rom name="vsmile92280.bin" size="8388608" crc="034cf357" sha1="9c96af008b161f1bdc4ae9f33da161950dc47011" offset="0" />
+ <rom name="52-092080(us).bin" size="8388608" crc="997a8a07" sha1="cd70c7249e25a37aeb3a3b85f56bd2b39dbf3d73" offset="0" />
</dataarea>
</part>
</software>
- <software name="dora" cloneof="dorar2" supported="yes">
+ <!-- loads if mapped as Batman TV -->
+ <software name="dora" supported="no">
<description>Nick Jr Dora the Explorer - Dora's Fix-it Adventure (USA)</description>
- <year>2008</year>
+ <year>2005?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092280(US)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="707180" />
<feature name="pcb_model" value="707180-1" />
<feature name="cart_type" value="lilac" />
@@ -1186,13 +1000,12 @@ Game cartridges
</part>
</software>
- <software name="doraf" cloneof="dorar2" supported="yes">
+ <software name="doraf" cloneof="dora" supported="no">
<description>Dora L'Exploratrice - Les aventures de Dora Apprentie Mécano (Fra)</description>
- <year>2008</year>
+ <year>2005?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092285(FR)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="7061238A" />
<feature name="pcb_model" value="7061238A-3" />
<feature name="cart_type" value="lilac" />
@@ -1203,30 +1016,12 @@ Game cartridges
</part>
</software>
- <software name="dorasr2" cloneof="dorar2" supported="yes">
- <description>Nick Jr. Dora La Exploradora - La Aventura arregla-todo de Dora (Spa, Rev. 222)</description>
- <year>2007</year> <!-- 2009 on cart -->
- <publisher>VTech</publisher>
- <info name="serial" value="80-092287-222(SP)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
- <feature name="pcb" value="708201" />
- <feature name="pcb_model" value="708201-7" />
- <feature name="cart_type" value="lilac" />
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="8388608">
- <rom name="80-092287-222 - Dora La Exploradora - La Aventura arregla-todo de Dora (SP).bin" size="8388608" crc="e46b6ffa" sha1="115b2e6f62ba251f5676c3e4756a5299b008372f" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="dorag" cloneof="dorar2" supported="yes">
- <description>Nick Jr Dora - Doras Reparatur-Abenteuer (Ger, Rev. 104)</description>
- <year>2008</year>
+ <software name="dorag" cloneof="dora" supported="no">
+ <description>Nick Jr Dora - Doras Reparatur-Abenteuer (Ger, Rev. 1)</description>
+ <year>2007?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092284-104(GE)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="708201" />
<feature name="pcb_model" value="708201-4" />
<feature name="cart_type" value="lilac" />
@@ -1237,13 +1032,12 @@ Game cartridges
</part>
</software>
- <software name="elmo" supported="yes">
+ <software name="elmo" supported="no">
<description>Elmos großes Abenteuer (Ger)</description>
<year>2005?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092264(GE)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="706714" />
<feature name="pcb_model" value="706714-1" />
<feature name="cart_type" value="lilac" />
@@ -1254,13 +1048,12 @@ Game cartridges
</part>
</software>
- <software name="elmof" cloneof="elmo" supported="yes">
- <description>Le Monde d'Elmo - Les Grandes Découvertes D'Elmo (Fra)</description>
+ <software name="elmof" cloneof="elmo" supported="no">
+ <description>Le Monde d'ELMO - Les Grandes Decouvertes D'Elmo (Fra)</description>
<year>2005?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092265(FR)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="706714" />
<feature name="pcb_model" value="706714-1" />
<feature name="cart_type" value="lilac" />
@@ -1271,30 +1064,28 @@ Game cartridges
</part>
</software>
- <software name="elmos" cloneof="elmo" supported="yes">
- <description>Mundo Elmo - Grandes descubrimientos de Elmo (Spa)</description>
- <year>2005</year>
+ <software name="footschl" supported="no">
+ <description>V.Smile Fußball Schule (Ger)</description>
+ <year>200?</year>
<publisher>VTech</publisher>
- <info name="serial" value="80-092267(SP)" />
+ <info name="serial" value="80-092824(GE)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
- <feature name="pcb" value="706714" />
- <feature name="pcb_model" value="706714-1" />
+ <feature name="pcb" value="707180" />
+ <feature name="pcb_model" value="707180-2" />
<feature name="cart_type" value="lilac" />
<feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
<dataarea name="rom" size="8388608">
- <rom name="80-092267 - Mundo Elmo - Grandes descubrimientos de Elmo (SP).bin" size="8388608" crc="9cbc133f" sha1="407dfedaf9a42b09633330a7e646529b39b2c673" offset="0" />
+ <rom name="92824.u1" size="8388608" crc="620b9ebb" sha1="e22ff87a03c6cac3186613a9e804dd6d4e3a3dc4" offset="0" />
</dataarea>
</part>
</software>
- <software name="findnemo" supported="yes">
+ <software name="findnemo" supported="no">
<description>Disney/Pixar Finding Nemo - Nemo's Ocean Discoveries (USA)</description>
<year>2005?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092420(US)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="707180" />
<feature name="pcb_model" value="707180-2" />
<feature name="cart_type" value="lilac" />
@@ -1305,13 +1096,12 @@ Game cartridges
</part>
</software>
- <software name="findnemonl" cloneof="findnemo" supported="yes">
+ <software name="findnemonl" cloneof="findnemo" supported="no">
<description>Disney/Pixar Finding Nemo - De Wonderwereld Van Nemo (NL)</description>
<year>2005?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092422(NL)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="707180" />
<feature name="pcb_model" value="707180-3" />
<feature name="cart_type" value="lilac" />
@@ -1322,30 +1112,12 @@ Game cartridges
</part>
</software>
- <software name="findnemos" cloneof="findnemo" supported="yes">
- <description>Disney/Pixar Buscando a Nemo - Los Descubrimientos de Nemo (Spa)</description>
- <year>2005</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-092427(SP)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
- <feature name="pcb" value="708897" />
- <feature name="pcb_model" value="708897-1" />
- <feature name="cart_type" value="lilac" />
- <feature name="u1" value="M29DW323DB, M29DW323DB" /> <!-- Two M29DW323DB chips -->
- <dataarea name="rom" size="8388608">
- <rom name="80-092427 - Buscando a Nemo - Los Descubrimientos de Nemo (SP).bin" size="8388608" crc="3ffa61f1" sha1="3f48b05018d46addd3de664fc7354eba76594e61" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="fred" supported="yes">
+ <software name="fred" supported="no">
<description>Freds Zahlen Rallye (Ger)</description>
<year>200?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092044(GE)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="708894" />
<feature name="pcb_model" value="708894-A" />
<feature name="cart_type" value="lilac" />
@@ -1356,13 +1128,12 @@ Game cartridges
</part>
</software>
- <software name="fredf" cloneof="fred" supported="yes">
+ <software name="appilote" cloneof="fred" supported="no">
<description>Apprenti' pilote (Fra)</description>
<year>200?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092045(FR)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="708894" />
<feature name="pcb_model" value="708894-A" />
<feature name="cart_type" value="lilac" />
@@ -1373,43 +1144,12 @@ Game cartridges
</part>
</software>
- <software name="godiego" supported="yes">
- <description>Nick Jr. Go Diego Go! - Save the Animal Familes! (US, Rev. 2?)</description>
- <year>2007</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-092900(US)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
- <feature name="cart_type" value="lilac" />
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="0x800000">
- <rom name="vsmile92900-2.bin" size="0x800000" crc="c819f626" sha1="8571d37c531018c332ef87e2e4374954f4128357" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="ltleinstn" supported="yes">
- <description>Disney's Little Einsteins (US, Rev. 5?)</description>
- <year>2009</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-092980(US)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
- <feature name="cart_type" value="lilac" />
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="0x800000">
- <rom name="vsmile92980-5.bin" size="0x800000" crc="79c12011" sha1="651d6fe028e53032583186835432ad0fa7c3486a" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="ltleinstng" cloneof="ltleinstn" supported="yes">
- <description>Disney's Kleine Einsteins (Ger, Rev. 3?)</description>
- <year>2009</year>
+ <software name="kleinstn" supported="no">
+ <description>Kleine Einsteins (Ger, Rev. 3?)</description>
+ <year>2009?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092984(GE)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="708201" />
<feature name="pcb_model" value="708201-6" />
<feature name="cart_type" value="lilac" />
@@ -1420,30 +1160,12 @@ Game cartridges
</part>
</software>
- <software name="lionking" supported="yes">
+ <software name="lionking" supported="no">
<description>Disney's The Lion King - Simba's Big Adventure (USA)</description>
<year>200?</year>
<publisher>VTech</publisher>
- <part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
- <feature name="pcb" value="92060" />
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM --> <!-- 2 globs, uses /CS2 for 2nd glob -->
- <feature name="u2" value="" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="0x0800000">
- <rom name="vsmile92100.blob1.bin" size="0x0400000" crc="8a2317fb" sha1="44d397ada00f1fedb48622e716189f4a129ff5a7" offset="0x0000000" />
- <rom name="vsmile92100.blob2.bin" size="0x0200000" crc="dded069c" sha1="29f1f464f9f5c8fa06410d54538b984f3fc52f01" offset="0x0400000" />
- </dataarea>
- </part>
- </software>
-
- <!-- where did the last 2MB in this come from? the cart is confirmed as having a 4MB blob and a 2MB blob -->
- <software name="lionkinga" cloneof="lionking" supported="yes">
- <description>Disney's The Lion King - Simba's Big Adventure (USA, alt)</description>
- <year>200?</year>
- <publisher>VTech</publisher>
<info name="serial" value="80-092100(US)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="707180" />
<feature name="pcb_model" value="707180-1" />
<feature name="cart_type" value="lilac" />
@@ -1454,30 +1176,12 @@ Game cartridges
</part>
</software>
- <software name="lionkingg" cloneof="lionking" supported="yes">
- <description>Der Koenig der Loewen - Simbas großes Abenteuer (Ger, Rev. 2?)</description>
- <year>2004</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-092104(GE)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
- <feature name="pcb" value="707180" />
- <feature name="pcb_model" value="707180-3" />
- <feature name="cart_type" value="lilac" />
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="8388608">
- <rom name="92104(2).u1" size="8388608" crc="f2394e3a" sha1="e39e05400279a1328832c873f811ce432be59d13" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="lionkingf" cloneof="lionking" supported="yes">
- <description>Le Roi Lion - Simba Découvre la Jungle (Fra)</description>
+ <software name="lionkingf" cloneof="lionking" supported="no">
+ <description>Roi Lion - Simba Decouvre la Jungle (Fra)</description>
<year>200?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092105(FR)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="707180" />
<feature name="pcb_model" value="707180-2" />
<feature name="cart_type" value="lilac" />
@@ -1488,30 +1192,12 @@ Game cartridges
</part>
</software>
- <software name="lionkings" cloneof="lionking" supported="yes">
- <description>Disney El Rey León - La Gran Aventura de Simba (Spa)</description>
- <year>2004</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-092107(SP)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
- <feature name="pcb" value="708894" />
- <feature name="pcb_model" value="708894-A" />
- <feature name="cart_type" value="lilac" />
- <feature name="u1" value="U1" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="8388608">
- <rom name="80-092107 - El Rey Leon - La Gran Aventura de Simba (SP).bin" size="8388608" crc="eefc51d2" sha1="294164e8df7cc5510e0dd9ea658976054fcf9e7e" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="lionkingdk" cloneof="lionking" supported="yes">
+ <software name="lionkingdk" cloneof="lionking" supported="no">
<description>Disney Løvernes Konge - Simbas store eventyr (Den)</description>
<year>200?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092113(DK)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="708894" />
<feature name="pcb_model" value="708894-E" />
<feature name="cart_type" value="lilac" />
@@ -1522,13 +1208,12 @@ Game cartridges
</part>
</software>
- <software name="lionkingsw" cloneof="lionking" supported="yes">
+ <software name="lionkingsw" cloneof="lionking" supported="no">
<description>Disney Lejonkungen - Simbas stora äventyr (Swe)</description>
<year>200?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092114(SE)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="708894" />
<feature name="pcb_model" value="708894-E" />
<feature name="cart_type" value="lilac" />
@@ -1539,56 +1224,36 @@ Game cartridges
</part>
</software>
- <software name="lionkingi" cloneof="lionking" supported="yes">
+ <software name="lionkingi" cloneof="lionking" supported="no">
<description>Disney Il re leone - La grande avventura di Simba (Ita)</description>
<year>2005</year>
<publisher>VTech / Giochi Preziosi</publisher>
<info name="serial" value="80-092113(DK)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<dataarea name="rom" size="8388608">
<rom name="Re Leone, Il - La Grande Avventura di Simba (Italy).bin" size="8388608" crc="6f807218" sha1="2783734d1596021f0aadf1b20d7398d2f73abb04" offset="0" />
</dataarea>
</part>
</software>
- <software name="kungfupuk" supported="yes">
+ <software name="kungfupuk" supported="no">
<description>Kung Fu Panda - Path of the Panda (UK)</description>
<year>2008</year>
<publisher>VTech</publisher>
<info name="serial" value="52-092963(UK)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<dataarea name="rom" size="8388608">
<rom name="Kung Fu Panda - Path of the Panda (Europe).bin" size="8388608" crc="0a56ba7b" sha1="04afc9bb216154c91fa3ef92b6bbcc88a9a2a43e" offset="0" />
</dataarea>
</part>
</software>
- <software name="kungfupg" cloneof="kungfupuk" supported="yes">
- <description>Kung Fu Panda - Der Weg des Panda (Ger)</description>
- <year>2008</year>
- <publisher>VTech</publisher>
- <info name="serial" value="52-092964(GER)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
- <feature name="pcb" value="708201" />
- <feature name="pcb_model" value="708201-4" />
- <feature name="cart_type" value="lilac" />
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="8388608">
- <rom name="92964-3.bin" size="8388608" crc="4ef9f7c0" sha1="d60265406e1f1b1f4b86364b3281058feb1a6e1d" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="mannyg" supported="yes">
+ <software name="manny" supported="no">
<description>Meister Manny's Werkzeugkiste (Ger)</description>
<year>2009?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-090024(GE)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="708201" />
<feature name="pcb_model" value="708201-4" />
<feature name="cart_type" value="lilac" />
@@ -1605,7 +1270,6 @@ Game cartridges
<publisher>VTech</publisher>
<info name="serial" value="80-092585(FR)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="707180" />
<feature name="pcb_model" value="707180-2" />
<feature name="cart_type" value="lilac" />
@@ -1616,26 +1280,12 @@ Game cartridges
</part>
</software>
- <software name="mickymag" supported="yes">
- <description>Disney's Mickey Mouse - Mickey's Magical Adventure (USA)</description>
- <year>200?</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-092080(US)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
- <dataarea name="rom" size="8388608">
- <rom name="52-092080(us).bin" size="8388608" crc="997a8a07" sha1="cd70c7249e25a37aeb3a3b85f56bd2b39dbf3d73" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="mickymagg" cloneof="mickymag" supported="yes">
+ <software name="mickymagg" cloneof="mickymag" supported="no">
<description>Disneys Micky - Mickys magisches Abenteuer (Ger)</description>
<year>2004?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092084(GE)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="707180" />
<feature name="pcb_model" value="707180-2" />
<feature name="cart_type" value="lilac" />
@@ -1646,30 +1296,12 @@ Game cartridges
</part>
</software>
- <software name="mickymags" cloneof="mickymag" supported="yes">
- <description>Disney Mickey - La Aventura Mágica de Mickey (Spa)</description>
- <year>2004</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-092087(SP)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
- <feature name="pcb" value="708894" />
- <feature name="pcb_model" value="708894-C" />
- <feature name="cart_type" value="lilac" />
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="8388608">
- <rom name="80-092087 - Mickey - La Aventura Magica de Mickey (SP).bin" size="8388608" crc="85e30a67" sha1="4059485db625955c2a9aad1769f5e21da1c24c62" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="mickymagsw" cloneof="mickymag" supported="yes">
+ <software name="mickymagsw" cloneof="mickymag" supported="no">
<description>Disneys Musse Pigg - Musses magiska äventyr (Swe)</description>
<year>200?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092094(SE)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="708106" />
<feature name="pcb_model" value="708106-1" />
<feature name="cart_type" value="lilac" />
@@ -1680,13 +1312,12 @@ Game cartridges
</part>
</software>
- <software name="mickeychg" supported="yes">
+ <software name="mickeywh" supported="no">
<description>Micky Maus Wunderhaus (Ger, Rev. 3?)</description>
<year>200?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092944(GE)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="708201" />
<feature name="pcb_model" value="708201-4" />
<feature name="cart_type" value="lilac" />
@@ -1697,30 +1328,12 @@ Game cartridges
</part>
</software>
- <software name="mickeychs" supported="yes">
- <description>Disney La Casa de Mickey Mouse (Spa)</description>
- <year>200?</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-092947(SP)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
- <feature name="pcb" value="708106" />
- <feature name="pcb_model" value="708106-3" />
- <feature name="cart_type" value="lilac" />
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="8388608">
- <rom name="80-092947 - La Casa de Mickey Mouse (SP).bin" size="8388608" crc="f0288f80" sha1="6a2fc76c71dc3b2a537a6125d0946b6997c286a7" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="mickeychnl" cloneof="mickeychg" supported="yes">
+ <software name="mickeychnl" cloneof="mickeywh" supported="no">
<description>Mickey Mouse Clubhouse (NL)</description>
<year>200?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092942(NL)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="708106" />
<feature name="pcb_model" value="708106-3" />
<feature name="cart_type" value="lilac" />
@@ -1731,13 +1344,12 @@ Game cartridges
</part>
</software>
- <software name="mickeychsw" cloneof="mickeychg" supported="yes">
+ <software name="mickeychsw" cloneof="mickeywh" supported="no">
<description>Mickey Mouse Clubhouse (Swe)</description>
<year>200?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092954(SE)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="708201" />
<feature name="pcb_model" value="708201-7" />
<feature name="cart_type" value="lilac" />
@@ -1748,13 +1360,12 @@ Game cartridges
</part>
</software>
- <software name="monstalng" supported="yes">
+ <software name="monstaln" supported="no">
<description>DreamWorks Monsters vs Aliens (Ger)</description>
<year>2009?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-090164(GE)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="708201" />
<feature name="pcb_model" value="708201-4" />
<feature name="cart_type" value="lilac" />
@@ -1765,30 +1376,12 @@ Game cartridges
</part>
</software>
- <software name="monstalns" cloneof="monstalng" supported="yes">
- <description>DreamWorks Monstruos contra Alienígenas (Spa)</description>
- <year>2009</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-090167(SP)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
- <feature name="pcb" value="708201" />
- <feature name="pcb_model" value="708201-4" />
- <feature name="cart_type" value="lilac" />
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="8388608">
- <rom name="80-090167 - Monstruos contra Alienigenas (SP).bin" size="8388608" crc="c0ddc952" sha1="61491dc841934cc9468b7e9c8ceaa25353a398b8" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="mypuppyg" supported="yes">
+ <software name="mypuppy" supported="no">
<description>Mein erster Hund (Ger)</description>
<year>200?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-090144(GE)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="708201" />
<feature name="pcb_model" value="708201-4" />
<feature name="cart_type" value="lilac" />
@@ -1799,13 +1392,12 @@ Game cartridges
</part>
</software>
- <software name="mypuppysw" cloneof="mypuppyg" supported="yes">
+ <software name="mypuppysw" cloneof="mypuppy" supported="no">
<description>Min hundvalp (Swe)</description>
<year>2009?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-090154(SE)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="708201" />
<feature name="pcb_model" value="708201-6" />
<feature name="cart_type" value="lilac" />
@@ -1816,30 +1408,12 @@ Game cartridges
</part>
</software>
- <software name="noddy" supported="yes">
- <description>Noddy - Detective for a Day (USA)</description>
- <year>200?</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-092540(US)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
- <feature name="pcb" value="707180" />
- <feature name="pcb_model" value="707180-2" />
- <feature name="cart_type" value="lilac" />
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="8388608">
- <rom name="vsmile92540.bin" size="8388608" crc="0510eb62" sha1="bdd30453f89a619f1539647ffc27bb2ac3f6b267" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="noddyg" cloneof="noddy" supported="yes">
- <description>Noddy - Detektiv für einen Tag (Ger, Rev. 104)</description>
+ <software name="noddy" supported="no">
+ <description>Noddy - Detektiv für einen Tag (Ger, Rev. 3?)</description>
<year>200?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092544-104(GE)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="708201" />
<feature name="pcb_model" value="708201-4" />
<feature name="cart_type" value="lilac" />
@@ -1850,13 +1424,12 @@ Game cartridges
</part>
</software>
- <software name="noddyf" cloneof="noddy" supported="yes">
- <description>Oui-Oui - Détective d'un Jour (Fra)</description>
+ <software name="noddyf" cloneof="noddy" supported="no">
+ <description>Oui-Oui - Detective d'un Jour (Fra)</description>
<year>200?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092545(FR)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="707180" />
<feature name="pcb_model" value="707180-2" />
<feature name="cart_type" value="lilac" />
@@ -1867,28 +1440,12 @@ Game cartridges
</part>
</software>
- <software name="pcpalis" supported="yes">
- <description>V.Smile PC Pal Island (USA, Rev. 3?)</description>
- <year>200?</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-036800(US)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
- <feature name="cart_type" value="yellow" />
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="8388608">
- <rom name="vsmile36800-3.bin" size="8388608" crc="7e53c0a1" sha1="68b8d09c933b17e1342ef31cfb283dc5609e990a" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="upg" supported="yes">
- <description>Disney/Pixar Oben (Ger, Rev. 004)</description>
+ <software name="oben" supported="no">
+ <description>Disney/Pixar Oben (Ger)</description>
<year>2009?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-090004-004(GE)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="708201" />
<feature name="pcb_model" value="708201-4" />
<feature name="cart_type" value="lilac" />
@@ -1899,26 +1456,24 @@ Game cartridges
</part>
</software>
- <software name="upuk" cloneof="upg" supported="yes">
- <description>Disney/Pixar Up (UK, Rev. 003)</description>
+ <software name="upuk" cloneof="oben" supported="no">
+ <description>Disney/Pixar Up (UK)</description>
<year>2009</year>
<publisher>VTech</publisher>
<info name="serial" value="80-090003-003(UK)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<dataarea name="rom" size="8388608">
<rom name="Up (Europe).bin" size="8388608" crc="739a10a0" sha1="1d88241675f304ad50b756af49b33062b7de05dc" offset="0" />
</dataarea>
</part>
</software>
- <software name="partyprk" supported="yes">
+ <software name="partyprk" supported="no">
<description>Cranium Partyland Park - A Carnival of Play-and-Learn Fun (USA)</description>
<year>2007?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092920(US)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="707180" />
<feature name="pcb_model" value="707180-3" />
<feature name="cart_type" value="lilac" />
@@ -1929,13 +1484,12 @@ Game cartridges
</part>
</software>
- <software name="ratatg" supported="yes">
+ <software name="ratat" supported="no">
<description>Disney/Pixar Ratatouille - Remys neue Rezepte (Ger)</description>
<year>2007?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092884(GE)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="707180" />
<feature name="pcb_model" value="707180-3" />
<feature name="cart_type" value="lilac" />
@@ -1946,57 +1500,23 @@ Game cartridges
</part>
</software>
- <software name="ratats" cloneof="ratatg" supported="yes">
- <description>Disney/Pixar Ratatouille - Las recetas del Remy (Spa)</description>
- <year>2007</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-092887(SP)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
- <feature name="pcb" value="708106" />
- <feature name="pcb_model" value="708106-1" />
- <feature name="cart_type" value="lilac" />
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="8388608">
- <rom name="80-092887 - Ratatouille - Las recetas del Remy (SP).bin" size="8388608" crc="23a058bf" sha1="4e78a949f84c7aa4db38ca48eae76c5f05f0d8fe" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="ratati" cloneof="ratatg" supported="yes">
+ <software name="ratati" cloneof="ratat" supported="no">
<description>Disney/Pixar Ratatouille - Le nuove ricette di Remy (Ita)</description>
<year>2007</year>
<publisher>VTech</publisher>
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<dataarea name="rom" size="8388608">
<rom name="Ratatouille - Le Nuove Ricette di Remy (Italy).bin" size="8388608" crc="438550fb" sha1="1edc845aecac91eb640185895d3f7a3cdf462159" offset="0" />
</dataarea>
</part>
</software>
- <software name="scoobydor3" supported="yes">
- <description>Scooby-Doo! - Funland Frenzy (USA, Rev. 301)</description>
- <year>200?</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-092160-301(US)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
- <feature name="cart_type" value="lilac" />
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="8388608">
- <rom name="vsmile92160.bin" size="8388608" crc="5d190acf" sha1="68b69330c7d60db82e39f8f0423ea135ad90c783" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="scoobydo" cloneof="scoobydor3" supported="yes">
+ <software name="scoobydo" supported="no">
<description>Scooby-Doo! - Funland Frenzy (USA)</description>
<year>200?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092160(US)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="707180" />
<feature name="pcb_model" value="707180-1" />
<feature name="cart_type" value="lilac" />
@@ -2007,13 +1527,12 @@ Game cartridges
</part>
</software>
- <software name="scoobydof" cloneof="scoobydor3" supported="yes">
+ <software name="scoobydof" cloneof="scoobydo" supported="no">
<description>Scooby-Doo - Panique à Funland (Fra)</description>
<year>200?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092165(FR)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="706714" />
<feature name="pcb_model" value="706714-1" />
<feature name="cart_type" value="lilac" />
@@ -2024,13 +1543,12 @@ Game cartridges
</part>
</software>
- <software name="scoobydog" cloneof="scoobydor3" supported="yes">
+ <software name="scoobydog" cloneof="scoobydo" supported="no">
<description>Scooby-Doo! - Im Lernpark (Ger)</description>
<year>200?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092164(GE)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="708894" />
<feature name="pcb_model" value="708894-E" />
<feature name="cart_type" value="lilac" />
@@ -2041,31 +1559,12 @@ Game cartridges
</part>
</software>
- <!-- Does not boot, just shows a black screen -->
- <software name="scoobydos" cloneof="scoobydor3" supported="no">
- <description>Scooby-Doo - Misterio en el Parque (Spa)</description>
- <year>200?</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-092167(SP)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
- <feature name="pcb" value="708894" />
- <feature name="pcb_model" value="708894-A" />
- <feature name="cart_type" value="lilac" />
- <feature name="u1" value="U1" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="8388608">
- <rom name="80-092167 - Scooby-Doo - Misterio en el Parque (SP).bin" size="8388608" crc="5e77e160" sha1="51c472ea72939f01ed1f5b212f2de4056315ab88" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="scoobydodk" cloneof="scoobydor3" supported="yes">
+ <software name="scoobydodk" cloneof="scoobydo" supported="no">
<description>Scooby-Doo! - Sjov i forlystelsesparken (Den)</description>
<year>200?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092173(DK)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="707180" />
<feature name="pcb_model" value="707180-2" />
<feature name="cart_type" value="lilac" />
@@ -2076,13 +1575,12 @@ Game cartridges
</part>
</software>
- <software name="scoobydosw" cloneof="scoobydor3" supported="yes">
+ <software name="scoobydosw" cloneof="scoobydo" supported="no">
<description>Scooby-Doo! - Tivoli-tokerier (Swe)</description>
<year>200?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092174(SE)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="707180" />
<feature name="pcb_model" value="707180-2" />
<feature name="cart_type" value="lilac" />
@@ -2093,25 +1591,23 @@ Game cartridges
</part>
</software>
- <software name="scoobydoi" cloneof="scoobydor3" supported="yes">
+ <software name="scoobydoi" cloneof="scoobydo" supported="no">
<description>Scooby-Doo! - Avventura a Funland (Ita)</description>
<year>200?</year>
<publisher>VTech / Giochi Preziosi</publisher>
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<dataarea name="rom" size="8388608">
<rom name="Scooby-Doo! - Avventura a Funland (Italy).bin" size="8388608" crc="a2bd7a0c" sha1="e8d4863616b1fdf83ed3c33327d6e17ac63b1443" offset="0" />
</dataarea>
</part>
</software>
- <software name="erniebrt" supported="yes">
+ <software name="erniebrt" supported="no">
<description>Ernies &amp; Berts Fantastisches Abenteuer (Ger)</description>
<year>2006?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092464(GE)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="707180" />
<feature name="pcb_model" value="707180-2" />
<feature name="cart_type" value="lilac" />
@@ -2122,30 +1618,12 @@ Game cartridges
</part>
</software>
- <software name="erniebrts" cloneof="erniebrt" supported="yes">
- <description>Barrio Sésamo - El Mundo Fantástico de Epi y Blas (Spa)</description>
- <year>2006</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-092467(SP)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
- <feature name="pcb" value="707180" />
- <feature name="pcb_model" value="707180-3" />
- <feature name="cart_type" value="lilac" />
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="8388608">
- <rom name="80-092467 - Barrio Sesamo - El Mundo Fantastico de Epi y Blas (SP).bin" size="8388608" crc="619e1530" sha1="f1294726ff035c0c67a9e6845302c11f3ba2ee91" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="shrek3" supported="yes">
+ <software name="shrek3" supported="no">
<description>DreamWorks Shrek the Third - Arthur's School Day Adventure (USA)</description>
<year>2007?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092860(US)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="707180" />
<feature name="pcb_model" value="707180-2" />
<feature name="cart_type" value="lilac" />
@@ -2156,47 +1634,12 @@ Game cartridges
</part>
</software>
- <software name="shrek3a" cloneof="shrek3" supported="yes">
- <description>DreamWorks Shrek the Third - Arthur's School Day Adventure (USA, alt)</description>
- <year>2007</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-092860(US)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
- <feature name="pcb" value="707180" />
- <feature name="pcb_model" value="707180-2" />
- <feature name="cart_type" value="lilac" />
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="8388608">
- <rom name="vsmile92860.bin" size="8388608" crc="48b6565b" sha1="25f935bb7fceec387f9cab05251275c0fb1899e0" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="shrek3g" cloneof="shrek3" supported="yes">
- <description>DreamWorks Shrek der Dritte - Ein Spannender Schultag (Ger)</description>
- <year>2007</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-092864(GE)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
- <feature name="pcb" value="707180" />
- <feature name="pcb_model" value="707180-3" />
- <feature name="cart_type" value="lilac" />
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="8388608">
- <rom name="92864(2).u1" size="8388608" crc="0f11e49d" sha1="c936505dabc4043665f429a9109a1e533b9dc311" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="shrek3nl" cloneof="shrek3" supported="yes">
+ <software name="shrek3nl" cloneof="shrek3" supported="no">
<description>Shrek De Derde - Arthurs Schooldag Avontuur (NL)</description>
<year>2007?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092862(NL)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="707180" />
<feature name="pcb_model" value="707180-3" />
<feature name="cart_type" value="lilac" />
@@ -2207,13 +1650,12 @@ Game cartridges
</part>
</software>
- <software name="shrekg" supported="yes">
+ <software name="shrek" supported="no">
<description>DreamWorks Shrek - Die Geschichte des Drachen (Ger)</description>
<year>2006?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092604(GE)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="707180" />
<feature name="pcb_model" value="707180-2" />
<feature name="cart_type" value="lilac" />
@@ -2224,13 +1666,12 @@ Game cartridges
</part>
</software>
- <software name="shrekf" cloneof="shrekg" supported="yes">
- <description>DreamWorks Shrek - Le Rhume de Dragonne (Fra)</description>
+ <software name="shrekf" cloneof="shrek" supported="no">
+ <description>DreamWorks Shrek - Le rhume de Dragonne (Fra)</description>
<year>2006?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092605(FR)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="707180" />
<feature name="pcb_model" value="707180-2" />
<feature name="cart_type" value="lilac" />
@@ -2241,47 +1682,28 @@ Game cartridges
</part>
</software>
- <software name="soccerch" supported="yes">
- <description>V.Smile Soccer Challenge (USA)</description>
- <year>200?</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-092820(US)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
- <feature name="pcb" value="707180" />
- <feature name="pcb_model" value="707180-2" />
- <feature name="cart_type" value="lilac" />
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="8388608">
- <rom name="vsmile92820.bin" size="8388608" crc="e96f49df" sha1="e06eb8657d179a80ad23e832b46c6e85235b66c8" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="soccerchg" cloneof="soccerch" supported="yes">
- <description>V.Smile Fußball Schule (Ger)</description>
- <year>200?</year>
+ <software name="spidermn" supported="no">
+ <description>Spider-Man &amp; ses amis - Missions secrètes (Fra)</description>
+ <year>2005?</year>
<publisher>VTech</publisher>
- <info name="serial" value="80-092824(GE)" />
+ <info name="serial" value="80-092145(FR)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
- <feature name="pcb" value="707180" />
- <feature name="pcb_model" value="707180-2" />
+ <feature name="pcb" value="706714" />
+ <feature name="pcb_model" value="706714-1" />
<feature name="cart_type" value="lilac" />
<feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
<dataarea name="rom" size="8388608">
- <rom name="92824.u1" size="8388608" crc="620b9ebb" sha1="e22ff87a03c6cac3186613a9e804dd6d4e3a3dc4" offset="0" />
+ <rom name="92145.u1" size="8388608" crc="906b0ab6" sha1="da5435366a439afd70ff210c0e655839f66fbef3" offset="0" />
</dataarea>
</part>
</software>
- <software name="spiderdocg" supported="yes">
+ <software name="spiderm2" supported="no">
<description>Spider-Man &amp; Freunde - Wettkampf im Space-Labor (Ger)</description>
<year>2006?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092524(GE)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="706714" />
<feature name="pcb_model" value="706714-1" />
<feature name="cart_type" value="lilac" />
@@ -2292,81 +1714,12 @@ Game cartridges
</part>
</software>
- <software name="spiderdocs" cloneof="spiderdocg" supported="yes">
- <description>Spider-Man y Amigos - La Aventura Del Doctor Octopus (Spa)</description>
- <year>2006</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-092527(SP)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
- <feature name="pcb" value="707180" />
- <feature name="pcb_model" value="707180-2" />
- <feature name="cart_type" value="lilac" />
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="8388608">
- <rom name="80-092527 - Spider-Man y Amigos - La Aventura Del Doctor Octopus (SP).bin" size="8388608" crc="65a86a62" sha1="a5f40505e1adc6bb7485570cdecbba5f8bf5931b" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="spidermisr1" supported="yes">
- <description>Marvel Spider-Man &amp; Friends - Secret Missions (USA, Rev. 101)</description>
- <year>2007</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-092140-101(US)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
- <feature name="pcb" value="707180" />
- <feature name="pcb_model" value="707180-3" />
- <feature name="cart_type" value="lilac" />
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="8388608">
- <rom name="vsmile92140.bin" size="8388608" crc="5cf2c76a" sha1="99b3cc9e9b6ae8459db7054555a81853e732806a" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="spidermisf" cloneof="spidermisr1" supported="yes">
- <description>Marvel Spider-Man &amp; ses amis - Missions secrètes (Fra)</description>
- <year>2007</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-092145(FR)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
- <feature name="pcb" value="706714" />
- <feature name="pcb_model" value="706714-1" />
- <feature name="cart_type" value="lilac" />
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="8388608">
- <rom name="92145.u1" size="8388608" crc="906b0ab6" sha1="da5435366a439afd70ff210c0e655839f66fbef3" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="spidermiss" cloneof="spidermisr1" supported="yes">
- <description>Spider-Man y Amigos - Misiones Secretas (Spa)</description>
- <year>2005</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-092147(SP)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
- <feature name="pcb" value="708894" />
- <feature name="pcb_model" value="708894-A" />
- <feature name="cart_type" value="lilac" />
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="8388608">
- <rom name="80-092147 - Spider-Man y Amigos - Misiones Secretas (SP).bin" size="8388608" crc="ffda1d3d" sha1="12c52915d758d50ae221a4dafe1a8f2892219089" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="spongeb" supported="yes">
+ <software name="spongeb" supported="no">
<description>Nickelodeon Spongebob Squarepants - A Day in the Life of a Sponge (USA)</description>
<year>2005?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092440(US)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="707180" />
<feature name="pcb_model" value="707180-2" />
<feature name="cart_type" value="lilac" />
@@ -2377,13 +1730,12 @@ Game cartridges
</part>
</software>
- <software name="spongebg" cloneof="spongeb" supported="yes">
+ <software name="spongebg" cloneof="spongeb" supported="no">
<description>Nickelodeon Spongebob Schwammkopf - Der Tag des Schwamms (Ger, Rev. 1)</description>
<year>2005?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092444(GE)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="706714" />
<feature name="pcb_model" value="706714-1" />
<feature name="cart_type" value="lilac" />
@@ -2394,13 +1746,12 @@ Game cartridges
</part>
</software>
- <software name="spongebg1" cloneof="spongeb" supported="yes">
+ <software name="spongebg1" cloneof="spongeb" supported="no">
<description>Nickelodeon Spongebob Schwammkopf - Der Tag des Schwamms (Ger)</description>
<year>2005?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092444(GE)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="707180" />
<feature name="pcb_model" value="707180-2" />
<feature name="cart_type" value="lilac" />
@@ -2411,47 +1762,12 @@ Game cartridges
</part>
</software>
- <software name="spongebs" cloneof="spongeb" supported="yes">
- <description>Nickelodeon Bob Esponja - Un día en la vida de una esponja (Spa)</description>
- <year>2006</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-092447(SP)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
- <feature name="pcb" value="707180" />
- <feature name="pcb_model" value="707180-2" />
- <feature name="cart_type" value="lilac" />
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="8388608">
- <rom name="80-092447 - Bob Esponja - Un dia en la vida de una esponja (SP).bin" size="8388608" crc="176d5a11" sha1="e334d4d3b6d75a0a4e1dff9aab7a990de1a2879e" offset="0" /> <!-- sldh -->
- </dataarea>
- </part>
- </software>
-
- <software name="superman" supported="yes">
- <description>Superman - The Greatest Hero (USA)</description>
- <year>200?</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-092640(US)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
- <feature name="pcb" value="707180" />
- <feature name="pcb_model" value="707180-2" />
- <feature name="cart_type" value="lilac" />
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="8388608">
- <rom name="vsmile92640.bin" size="8388608" crc="993b0a69" sha1="c1865247da17d5e6d276d1b8144c48ef774bb5d3" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="supermang" cloneof="superman" supported="yes">
+ <software name="superman" supported="no">
<description>Superman - Der Superheld (Ger)</description>
<year>200?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092644(GE)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="707180" />
<feature name="pcb_model" value="707180-2" />
<feature name="cart_type" value="lilac" />
@@ -2462,30 +1778,12 @@ Game cartridges
</part>
</software>
- <software name="supermannl" cloneof="superman" supported="yes">
- <description>Superman - De Grootste Held (NL)</description>
- <year>200?</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-092644(NL)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
- <feature name="pcb" value="707180" />
- <feature name="pcb_model" value="707180-2" />
- <feature name="cart_type" value="lilac" />
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="8388608">
- <rom name="092642.u1" size="8388608" crc="b7f1a750" sha1="c6e60ef2333250c9e0e41d3a7d04fe4178d9be8a" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="supermanf" cloneof="superman" supported="yes">
+ <software name="supermanf" cloneof="superman" supported="no">
<description>Superman - À la rescousse ! (Fra)</description>
<year>200?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092645(FR)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="707180" />
<feature name="pcb_model" value="707180-2" />
<feature name="cart_type" value="lilac" />
@@ -2496,28 +1794,12 @@ Game cartridges
</part>
</software>
- <software name="thomas" supported="yes">
- <description>Thomas &amp; Friends - Engines Working Together (USA)</description>
- <year>2005</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-092340(US)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
- <feature name="cart_type" value="lilac" />
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="8388608">
- <rom name="vsmile92340.bin" size="8388608" crc="ff0d3dca" sha1="23a9a05289a9fc858bb7b91a6efad8c1ed54bced" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="thomasg" cloneof="thomas" supported="yes">
- <description>Thomas &amp; seine Freunde - Freunde Halten Zusammen (Ger, Rev. 104)</description>
- <year>2005</year>
+ <software name="thomas" supported="no">
+ <description>Thomas &amp; seine Freunde - Freunde Halten Zusammen (Ger, Rev. 1)</description>
+ <year>2007?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092344-104(GE)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="707180" />
<feature name="pcb_model" value="707180-3" />
<feature name="cart_type" value="lilac" />
@@ -2528,13 +1810,12 @@ Game cartridges
</part>
</software>
- <software name="thomasg1" cloneof="thomas" supported="yes">
+ <software name="thomas1" cloneof="thomas" supported="no">
<description>Thomas &amp; seine Freunde - Freunde Halten Zusammen (Ger)</description>
- <year>2005</year>
+ <year>2007?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092344(GE)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="708106" />
<feature name="pcb_model" value="708106-1" />
<feature name="cart_type" value="lilac" />
@@ -2545,13 +1826,12 @@ Game cartridges
</part>
</software>
- <software name="thomasf" cloneof="thomas" supported="yes">
- <description>Thomas et ses Amis - Les locomotives s'entraident (Fra)</description>
- <year>2005</year>
+ <software name="thomasf" cloneof="thomas" supported="no">
+ <description>Thomas er ses Amis - Les locomotives s'entraident (Fra)</description>
+ <year>2007?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092345(FR)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="707180" />
<feature name="pcb_model" value="707180-2" />
<feature name="cart_type" value="lilac" />
@@ -2562,13 +1842,12 @@ Game cartridges
</part>
</software>
- <software name="thomassw" cloneof="thomas" supported="yes">
+ <software name="thomassw" cloneof="thomas" supported="no">
<description>Thomas &amp; Friends - Tågen hjälps åt (Swe)</description>
- <year>2005</year>
+ <year>2007?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092354(SE)" /> <!-- 494096(SE) on cart -->
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="708106" />
<feature name="pcb_model" value="708106-1" />
<feature name="cart_type" value="lilac" />
@@ -2579,13 +1858,12 @@ Game cartridges
</part>
</software>
- <software name="tingelng" supported="yes">
+ <software name="tingelng" supported="no">
<description>Tingeling (Swe)</description>
<year>2010?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-090274(SE)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="708201" />
<feature name="pcb_model" value="708201-7" />
<feature name="cart_type" value="lilac" />
@@ -2596,42 +1874,24 @@ Game cartridges
</part>
</software>
- <software name="toystor2" supported="yes">
+ <software name="toystor2" supported="no">
<description>Disney/Pixar Toy Story 2 - Operation: Rescue Woody! (USA)</description>
<year>2005</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092220(US)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<dataarea name="rom" size="8388608">
<rom name="52-92220(us).bin" size="8388608" crc="6335b0e1" sha1="ddb4bcc5f9b155041bf4ffce236f57cfae3fdec2" offset="0" />
</dataarea>
</part>
</software>
- <software name="toystor2a" supported="yes">
- <description>Disney/Pixar Toy Story 2 - Operation: Rescue Woody! (USA, alt)</description>
- <year>2005</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-092220(US)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
- <feature name="pcb" value="707180" />
- <feature name="pcb_model" value="707180-2" />
- <feature name="cart_type" value="lilac" />
- <dataarea name="rom" size="8388608">
- <rom name="vsmile92220.bin" size="8388608" crc="57608d88" sha1="c7d59f109da68d1d2299136f6f9a69cbb83a9e5e" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="toystor2g" cloneof="toystor2" supported="yes">
+ <software name="toystor2g" cloneof="toystor2" supported="no">
<description>Disney/Pixar Toy Story 2 - Woodys Spannende Rettung (Ger)</description>
<year>2006?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092224(GE)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="707180" />
<feature name="pcb_model" value="707180-3" />
<feature name="cart_type" value="lilac" />
@@ -2642,30 +1902,12 @@ Game cartridges
</part>
</software>
- <software name="toystor2s" cloneof="toystor2" supported="yes">
- <description>Disney/Pixar Toy Story 2 - El Rescate De Woody (Spa)</description>
- <year>2005</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-092227(SP)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
- <feature name="pcb" value="706714" />
- <feature name="pcb_model" value="706714-1" />
- <feature name="cart_type" value="lilac" />
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="8388608">
- <rom name="80-092227 - Toy Story 2 - El Rescate De Woody (SP).bin" size="8388608" crc="83924979" sha1="3aa17cdc3977644a6a4441d3e03b9aeb3e9c96ff" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="toystor2sw" cloneof="toystor2" supported="yes">
+ <software name="toystor2sw" cloneof="toystor2" supported="no">
<description>Disney/Pixar Toy Story 2 - Operation: Rädda Woody! (Swe)</description>
<year>2005?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092234(SE)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="707180" />
<feature name="pcb_model" value="707180-2" />
<feature name="cart_type" value="lilac" />
@@ -2676,13 +1918,12 @@ Game cartridges
</part>
</software>
- <software name="walleg" supported="yes">
+ <software name="walle" supported="no">
<description>Disney/Pixar Wall-E (Ger)</description>
<year>2008?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092844(GE)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="708201" />
<feature name="pcb_model" value="708201-4" />
<feature name="cart_type" value="lilac" />
@@ -2693,30 +1934,12 @@ Game cartridges
</part>
</software>
- <software name="walles" cloneof="walleg" supported="yes">
- <description>Disney/Pixar Wall-E (Spa)</description>
- <year>2008</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-092847(SP)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
- <feature name="pcb" value="708106" />
- <feature name="pcb_model" value="708106-3" />
- <feature name="cart_type" value="lilac" />
- <feature name="u1" value="U1" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="8388608">
- <rom name="80-092847 - Wall-E (SP).bin" size="8388608" crc="ac1e10fb" sha1="3701ed1b4f37303d476fd21b46c4fa4e1a432e74" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="wallesw" cloneof="walleg" supported="yes">
+ <software name="wallesw" cloneof="walle" supported="no">
<description>Disney/Pixar Wall-E (Swe)</description>
<year>2008?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092854(SE)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="708106" />
<feature name="pcb_model" value="708106-1" />
<feature name="cart_type" value="lilac" />
@@ -2727,29 +1950,12 @@ Game cartridges
</part>
</software>
- <software name="pooh" supported="yes">
- <description>Disneys Winnie the Pooh - The Honey Hunt (USA)</description>
- <year>2004?</year>
- <publisher>VTech</publisher>
- <part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
- <feature name="pcb" value="92060" />
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM --> <!-- 2 globs, uses /CS2 for 2nd glob -->
- <feature name="u2" value="" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="0x0800000">
- <rom name="vsmile92060.blob1.bin" size="0x0400000" crc="c34fd808" sha1="2800b89068e3c09a66223392e11982dd2193244b" offset="0x0000000" />
- <rom name="vsmile92060.blob2.bin" size="0x0200000" crc="b7261f74" sha1="40bc8d9284a2f307023502ec67f8fc8e974966ea" offset="0x0400000" />
- </dataarea>
- </part>
- </software>
-
- <software name="poohg" cloneof="pooh" supported="yes">
+ <software name="pooh" supported="no">
<description>Disneys Winnie Puuh - Die Honigjagd (Ger)</description>
<year>2004?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092064(GE)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="706714" />
<feature name="pcb_model" value="706714-1" />
<feature name="cart_type" value="lilac" />
@@ -2760,13 +1966,12 @@ Game cartridges
</part>
</software>
- <software name="poohg1" cloneof="pooh" supported="yes">
- <description>My Friends Tigger &amp; Pooh - Die Honigjagd (Ger, Rev. 104)</description>
+ <software name="pooh1" cloneof="pooh" supported="no">
+ <description>My Friends Tigger &amp; Pooh - Die Honigjagd (Ger)</description>
<year>2008?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092064-104(GE)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="707180" />
<feature name="pcb_model" value="707180-3" />
<feature name="cart_type" value="lilac" />
@@ -2777,13 +1982,12 @@ Game cartridges
</part>
</software>
- <software name="poohf" cloneof="pooh" supported="yes">
+ <software name="poohf" cloneof="pooh" supported="no">
<description>Disney Winnie l'Ourson - La Chasse au miel de Winnie (Fra)</description>
<year>2004?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092065(FR)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="708894" />
<feature name="pcb_model" value="708894-1" />
<feature name="cart_type" value="lilac" />
@@ -2794,13 +1998,12 @@ Game cartridges
</part>
</software>
- <software name="poohfa" cloneof="pooh" supported="yes">
+ <software name="poohfa" cloneof="pooh" supported="no">
<description>Disney Winnie l'Ourson - La Chasse au miel de Winnie (Fra, Rev. 2)</description>
<year>2004?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092065-2(FR)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="706714" />
<feature name="pcb_model" value="706714-1" />
<feature name="cart_type" value="lilac" />
@@ -2811,49 +2014,12 @@ Game cartridges
</part>
</software>
- <software name="poohs" cloneof="pooh" supported="yes">
- <description>Disney Winnie the Pooh - En Busca de la Miel (Spa)</description>
- <year>2004</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-092067(SP)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
- <feature name="pcb" value="708894" />
- <feature name="pcb_model" value="708894-A" />
- <feature name="cart_type" value="lilac" />
- <feature name="u1" value="U1" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="8388608">
- <rom name="80-092067 - Winnie the Pooh - En Busca de la Miel (SP).bin" size="8388608" crc="251057ad" sha1="9bfba8782969916bffef451908ea9bc0ec58515b" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <!-- Cart labeled as "Disney My Friends Tigger and Pooh - En Busca de la Miel",
- but game on screen title is "Disney Winnie the Pooh - En Busca de la Miel". -->
- <software name="poohsr1" cloneof="pooh" supported="yes">
- <description>Disney Winnie the Pooh - En Busca de la Miel (Spa, Rev. 122)</description>
- <year>2004?</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-092067-122(SP)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
- <feature name="pcb" value="707180" />
- <feature name="pcb_model" value="707180-3" />
- <feature name="cart_type" value="lilac" />
- <feature name="u1" value="U1" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="8388608">
- <rom name="80-092067-122 - My Friends Tigger and Pooh - En Busca de la Miel (SP).bin" size="8388608" crc="836353ed" sha1="7d8f5d5f743d40441b714e47a26a611d7fca7f03" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="poohdk" cloneof="pooh" supported="yes">
+ <software name="poohdk" cloneof="pooh" supported="no">
<description>Disney Peter Plys - Honningjagten (Den)</description>
<year>200?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092073(DK)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="706714" />
<feature name="pcb_model" value="706714-1" />
<feature name="cart_type" value="lilac" />
@@ -2864,13 +2030,12 @@ Game cartridges
</part>
</software>
- <software name="poohsw" cloneof="pooh" supported="yes">
+ <software name="poohsw" cloneof="pooh" supported="no">
<description>Disney Nalle Puh - Honungsjakten (Swe)</description>
<year>200?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092074(SE)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="707180" />
<feature name="pcb_model" value="707180-1" />
<feature name="cart_type" value="lilac" />
@@ -2882,13 +2047,12 @@ Game cartridges
</part>
</software>
- <software name="lerntanz" supported="yes">
+ <software name="lerntanz" supported="no">
<description>V.Smile - Lern- und Tanzmatte (Ger)</description>
<year>200?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-091324(GE)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="707180" />
<feature name="pcb_model" value="707180-2" />
<feature name="cart_type" value="yellow" />
@@ -2900,32 +2064,11 @@ Game cartridges
</software>
<software name="techart" supported="no">
- <description>V.Smile Art Studio (USA)</description>
- <year>200?</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-067000(USA)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_nvram" />
- <feature name="pcb" value="67000C" />
- <feature name="pcb_model" value="67000C-2" />
- <feature name="cart_type" value="yellow" />
- <feature name="u2" value="U2" /> <!-- SRAM -->
- <feature name="u3" value="" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="4194304">
- <rom name="vsmile67000.bin" size="4194304" crc="3bbfb917" sha1="62eff99609f4958f7059408f588aaed4ba6fc2be" offset="0" />
- </dataarea>
- <dataarea name="nvram" size="131072">
- </dataarea>
- </part>
- </software>
-
- <software name="techartg" cloneof="techart" supported="no">
<description>V.Smile Zeichenatelier (Ger)</description>
<year>200?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-067004(GER)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_nvram" />
<feature name="pcb" value="67000C" />
<feature name="pcb_model" value="67000C-5" />
<feature name="cart_type" value="yellow" />
@@ -2934,18 +2077,17 @@ Game cartridges
<dataarea name="rom" size="4194304">
<rom name="GER-509.u3" size="4194304" crc="ae5f4fe2" sha1="1c5428da7464182e6ee0585d1ebc211f91667238" offset="0" />
</dataarea>
- <dataarea name="nvram" size="131072">
+ <dataarea name="vram" size="131072">
</dataarea>
</part>
</software>
- <software name="techartsw" cloneof="techart" supported="yes">
+ <software name="techartsw" cloneof="techart" supported="no">
<description>V.Smile Tecknarstudio (Swe)</description>
<year>200?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-067021(SE)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_nvram" />
<feature name="pcb" value="67000C" />
<feature name="pcb_model" value="67000C-2" />
<feature name="cart_type" value="yellow" />
@@ -2954,37 +2096,29 @@ Game cartridges
<dataarea name="rom" size="4194304">
<rom name="52-67021.u3" size="4194304" crc="27449e15" sha1="5c13865dffb04c98c69f3422c965d76a9aa36c33" offset="0" />
</dataarea>
- <dataarea name="nvram" size="131072">
+ <dataarea name="vram" size="131072">
</dataarea>
</part>
</software>
- <software name="wkwheels" supported="yes"> <!-- Will be clone of "wkwheel" once found and dumped. -->
- <description>Conducción Divertida (Spa)</description>
+ <software name="zayzmac" cloneof="zayzaea" supported="no">
+ <description>Zayzoo - My Alien Classmate (USA)</description>
<year>200?</year>
<publisher>VTech</publisher>
- <info name="serial" value="80-092507(SP)" />
+ <info name="serial" value="80-092360(US)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_nvram" />
- <feature name="pcb" value="706714" />
- <feature name="pcb_model" value="706714-1" />
- <feature name="cart_type" value="lilac" />
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
<dataarea name="rom" size="8388608">
- <rom name="80-092507 - Conduccion Divertida (SP).bin" size="8388608" crc="c52ff5d8" sha1="ce48bb9ea53cbdfa243170217908cc1f4352e4f0" offset="0" />
- </dataarea>
- <dataarea name="nvram" size="131072">
+ <rom name="52-92360(us).bin" size="8388608" crc="76ff9718" sha1="be783c1abe96f785564f5b5b6b4ea089b799c1d4" offset="0" />
</dataarea>
</part>
</software>
- <software name="zayzaear1" supported="yes">
- <description>Zayzoo: An Earth Adventure (USA, Rev. 101)</description>
+ <software name="zayzaea" supported="no">
+ <description>Zayzoo: An Earth Adventure (USA)</description>
<year>200?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092360-101(US)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="708201" />
<feature name="pcb_model" value="708201-4" />
<feature name="cart_type" value="lilac" />
@@ -2995,26 +2129,12 @@ Game cartridges
</part>
</software>
- <software name="zayzaea" cloneof="zayzaear1" supported="yes">
- <description>Zayzoo - My Alien Classmate (USA)</description>
- <year>200?</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-092360(US)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
- <dataarea name="rom" size="8388608">
- <rom name="52-92360(us).bin" size="8388608" crc="76ff9718" sha1="be783c1abe96f785564f5b5b6b4ea089b799c1d4" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="zayzaeag" cloneof="zayzaear1" supported="yes">
+ <software name="zayzmacg" cloneof="zayzaea" supported="no">
<description>Zayzoos Lernall (Ger)</description>
<year>200?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092364(GE)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="706714" />
<feature name="pcb_model" value="706714-1" />
<feature name="cart_type" value="lilac" />
@@ -3025,27 +2145,24 @@ Game cartridges
</part>
</software>
- <!-- Found also with the same ROM as "80-092360-101(US)" -->
- <software name="zayzaeauk" cloneof="zayzaear1" supported="yes">
- <description>Zayzoo: An Earth Adventure (UK, Rev. 103)</description>
+ <software name="zayzaeauk" cloneof="zayzaea" supported="no">
+ <description>Zayzoo: An Earth Adventure (UK)</description>
<year>200?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092363-103(UK)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<dataarea name="rom" size="8388608">
<rom name="Zayzoo - An Earth Adventure (UK).bin" size="8388608" crc="4e94fce2" sha1="b65a446199d390d6b25046fb66fb7e7f329e84c5" offset="0" />
</dataarea>
</part>
</software>
- <software name="zayzaeaf" cloneof="zayzaear1" supported="yes">
+ <software name="zezou" cloneof="zayzaea" supported="no">
<description>Zézou - Notre Ami Venu d'Ailleurs (Fra)</description>
<year>200?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-092365(FR)" />
<part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
<feature name="pcb" value="706714" />
<feature name="pcb_model" value="706714-1" />
<feature name="cart_type" value="lilac" />
@@ -3056,38 +2173,5 @@ Game cartridges
</part>
</software>
- <software name="zayzaeas" cloneof="zayzaear1" supported="yes">
- <description>Zayzoo - Mi Amiga del Espacio (Spa)</description>
- <year>200?</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-092367(SP)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
- <feature name="pcb" value="706714" />
- <feature name="pcb_model" value="706714-1" />
- <feature name="cart_type" value="lilac" />
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="8388608">
- <rom name="80-092367 - Zayzoo - Mi Amiga del Espacio (SP).bin" size="8388608" crc="ce601e55" sha1="8b628101b605f4688b580a9e7511c3bfa6f7d5bc" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="schreib" supported="no">
- <description>V.Smile Schreibspaß (Ger)</description>
- <year>200?</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-091444(GE)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="slot" value="vsmile_rom" />
- <feature name="pcb" value="707180" />
- <feature name="pcb_model" value="707180-3" />
- <feature name="cart_type" value="yellow" />
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="8388608">
- <rom name="091444.u1" size="8388608" crc="1fcf586f" sha1="e13d229887ea31bfd9fea43683f65162b9626ffa" offset="0" />
- </dataarea>
- </part>
- </software>
-
</softwarelist>
+
diff --git a/hash/vsmile_cd.xml b/hash/vsmile_cd.xml
index 32bea38615f..7dcda877714 100644
--- a/hash/vsmile_cd.xml
+++ b/hash/vsmile_cd.xml
@@ -16,120 +16,92 @@ Language:
********6 = Portugal
********7 = Spain
-DUMP | SERIAL | TITLE
-__________________________________________________________________________________________
- *** | 80-093000(US) | Disney Princess - The Crystal Ball Adventure
- *** | 80-093004(GE) | Disney Princess - Das zauberhafte Märchen-Abenteuer
- | 80-093005(FR) | Disney Princess - L'aventure enchantée
- *** | 80-093007(SP) | Disney Princess - El Castillo de las Princesas
-__________________________________________________________________________________________
- *** | 80-093020(US) | The Incredibles - Mission Incredible
- | 80-093023(UK) | The Incredibles - Mission Incredible
- *** | 80-093024(GE) | Die Unglaublichen - In unglaublicher Mission
- | 80-093025(FR) | Les Indestructibles - Les Indestructibles à la Rescousse
- *** | 80-093027(SP) | Los Increíbles - Misión Increíble
-__________________________________________________________________________________________
- *** | 80-093040(US) | Nickelodeon SpongeBob Squarepants - Idea Sponge [Needs revision checking]
- *** | 80-093040(US) | Nickelodeon SpongeBob Squarepants - Idea Sponge (Rev. 1)
- *** | 80-093040(US) | Nickelodeon SpongeBob Squarepants - Idea Sponge (Rev. 2)
- *** | 80-093044(GE) | Nick SpongeBob Schwammkopf - Ein Schwamm voller Ideen
- | 80-093045(FR) | Nickelodeon Bob L'éponge - Une Idée Spongieuse
- *** | 80-093047(SP) | Nickelodeon Bob Esponja - Misión Esponja
-__________________________________________________________________________________________
- *** | 80-093060(US) | The Amazing Spider-Man - Countdown to Doom (Rev. 1)
- *** | 80-093060(US) | The Amazing Spider-Man - Countdown to Doom (Rev. 2)
- *** | 80-093064(GE) | Spider-Man - Angriff der Super-Schurken
- | 80-093065(FR) | Spider-Man - Course-poursuite A Manhattan
- *** | 80-093067(SP) | El Asombroso Spider-Man - Persecución en la Ciudad
-__________________________________________________________________________________________
- *** | 80-093080(US) | Scooby-Doo! - Ancient Adventure (Rev. 1)
- | 80-093083(UK) | Scooby-Doo! - Ancient Adventure
- | 80-093084(GE) | Scooby-Doo! - ????? [no EAN found, but should have been released]
- | 80-093085(FR) | Scooby-Doo! - Les Civilisations Perdues
- *** | 80-093087(SP) | Scooby-Doo: Viaje al Pasado
-__________________________________________________________________________________________
- *** | 80-093100(US) | Disney/Pixar Cars - In The Fast Lane
- *** | 80-093100(US) | Disney/Pixar Cars - In The Fast Lane (Rev. 1)
- *** | 80-093100(US) | Disney/Pixar Cars - In The Fast Lane (Rev. 3)
- *** | 80-093104(GE) | Disney/Pixar Cars - Auf der Aeberholspur
- | 80-093105(FR) | Disney/Pixar Cars - À Fond la Caisse!
- *** | 80-093107(SP) | Disney/Pixar Cars - El Carril Rápido
-__________________________________________________________________________________________
- *** | 80-093120(US) | Wacky Race on Jumpin' Bean Island (Rev. 2)
- *** | 80-093120(US) | Wacky Race on Jumpin' Bean Island (Rev. 3)
- *** | 80-093123(UK) | Wacky Race on Jumpin' Bean Island
- *** | 80-093124(GE) | Das verrückte Rennen der Hüpf-Bohnel Insel
- *** | 80-093127(SP) | Carrera Loca en la Isla de las Vainas Fritas
-__________________________________________________________________________________________
- *** | 80-093140(US) | Shrek The Third - The Search for Arthur
- *** | 80-093143(UK) | Shrek The Third - The Search for Arthur
- *** | 80-093144(GE) | Shrek Der Dritte - Die Suche nach Arthus
- | 80-093145(FR) | Shrek Le Troisième - L'aventure D'Arthur
- *** | 80-093147(SP) | Shrek Tercero - ¿Dónde está Arturo?
-__________________________________________________________________________________________
- *** | 80-093160(US) | Bratz - Fashion Pixiez - The Secret Necklace
- | 80-093165(FR) | Bratz
- *** | 80-093167(SP) | Bratz - El Misterio del Collar
-__________________________________________________________________________________________
- | 80-093180(US) | Marvel Heroes [according to VTech site, can't confirm]
-__________________________________________________________________________________________
- | 80-093200(US) | Ratatouille [according to VTech site, can't confirm]
- *** | 80-093204(GE) | Multisports
-__________________________________________________________________________________________
- | 80-093220(US) | National Geographic Kids
-__________________________________________________________________________________________
- | 80-093600(US) | <Unknown>
- | 80-093604(GE) | Multisports
- | 80-093605(FR) | Defis Sports
-__________________________________________________________________________________________
+80-093000(US) | The Crystal Ball Adventures
+80-093004(GE) | Das zauberhafte Maerchenabenteuer
+80-093005(FR) | L'aventure enchante
+80-093007(SP) | El Castillo de las Princesas
+-
+80-093020(US) | The Incredibles - Mission Incredible
+80-093023(UK) | The Incredibles - Mission Incredible
+80-093024(GE) | Die Unglaublichen - unglaublicher Mission
+80-093025(FR) | Les Indestructibles - Les Indestructibles A la Rescousse
+80-093027(SP) | Los Increíbles - Misión Increíble
+-
+80-093040(US) | SpongeBob - Idea Sponge
+80-093044(GE) | SpongeBob - Ein Schwamm voller Ideen
+80-093045(FR) | Bob L'éponge - ????? (the crab consultant...)
+-
+80-093060(US) | The Amazing Spider-Man - Countdown to Doom
+80-093064(GE) | Spiderman - Angriff der Superschurken
+80-093065(FR) | Spider-Man - Course-poursuite A Manhattan
+80-093067(SP) | El Asombroso Spider-Man - Persecución en la Cuidad
+-
+80-093080(US) | Scooby-Doo! - Ancient Adventure
+80-093083(UK) | Scooby-Doo! - Ancient Adventure
+80-093084(GE) | Scooby-Doo! - ????? (no EAN found, but should have been released)
+80-093085(FR) | Scooby-Doo! - Les Civilisations Perdues
+80-093087(SP) | Scooby-Doo - Viaje al Pasado
+-
+80-093100(US) | Cars - In The Fast Lane
+80-093104(GE) | Cars - Auf der Aeberholspur
+80-093105(FR) | Cars - A Fond la Caisse!
+80-093107(SP) | Cars - El Carril Rápido
+-
+80-093120(US) | Wacky Race on Jumpin' Bean Island
+80-093124(GE) | Das verrkte Rennen auf der Haf-Bohnen-Insel
+80-093127(SP) | Carrera Loca - En La Isla de las Vainas Fritas (real# unknown)
+-
+80-093140(US) | Shrek The Third - The Search for Arthur
+80-093143(UK) | Shrek The Third - The Search for Arthur
+80-093144(GE) | Shrek Der Dritte - Die Suche nach Arthus
+80-093145(FR) | Shrek Le Troisième: L'aventure D'arthur
+80-093147(SP) | Shrek Tercero - ¿Dónde está Arturo?
+-
+80-093160(US) | Bratz - The Secret Necklace
+80-093165(FR) | Bratz
+-
+80-093180(US) | <Unknown>
+-
+80-093200(US) | Ratatouille (according to vtech site, can't confirm)
+80-093204(GE) | Multisports
+-
+80-093220(US) | National Geographic Kids
+-
+80-093600(US) | <Unknown>
+80-093604(GE) | Multisports
+80-093605(FR) | Defis Sports
+
+
-->
-<!-- CloneCD images are not fully supported by CHDMAN, thus the "Nickelodeon SpongeBob Squarepants - Idea Sponge (USA)" (spongeis) image
- might need to be recreated at a later stage from the original disk -->
+
+<!-- CloneCD images are not fully supported by CHDMAN, thus the following US images might need to be recreated at a later stage from the original disks -->
+
<softwarelist name="vsmile_cd" description="VTech V.Flash/V.Smile Pro V.Disc images">
- <!--
- Internal Serial: 0ID_93060_002
- Volume Label: 93060_002
- Blue cartridge
- Sticker on the cartridge: 641 â—‹â—‹â—â—‹
- Barcode: 0 50803 93060 8
- Ring 1: "* 59-93060-000-000 *", "ifpi LQ24", "IFPI 9QK3", "59-93060-000"
- -->
- <software name="spidermnr2" supported="no">
- <description>The Amazing Spider-Man - Countdown to Doom (USA, Rev. 2)</description>
- <year>200?</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-093060" />
- <part name="cdrom" interface="vsmile_vdisk">
- <diskarea name="cdrom">
- <disk name="093060_002" sha1="79fbb95a0c313097d09199a0ff9d0648436afff5"/>
- </diskarea>
- </part>
- </software>
- <!--
- Internal Serial: 0ID_93060_001
- Volume Label: 93060_001
- Blue cartridge
- Sticker on the cartridge: 633 â—‹â—â—‹â—‹
- Barcode: 0 50803 93060 8
- Ring 1: "*59-93060-000-000", "IFPI LQ50", "IFPI 9QK3", "59-93060-000"
- -->
- <software name="spidermnr1" cloneof="spidermnr2" supported="no">
- <description>The Amazing Spider-Man - Countdown to Doom (USA, Rev. 1)</description>
+ <!-- disk mounted as 93060_001 -->
+ <software name="spidermn" supported="no">
+ <!--
+ Original files: unsure, maybe the following
+ <rom name="amazing spider-man, the - countdown to doom (us).ccd" size="754" crc="b1e32fe8" sha1="b22bb98ca6e0e51d5056b27491ef91364a5d3611" />
+ <rom name="amazing spider-man, the - countdown to doom (us).cue" size="967" crc="db64a43d" sha1="9bf0f640933d63b7971cb45f34bb34b5b5e88c4f" />
+ <rom name="amazing spider-man, the - countdown to doom (us).img" size="377178480" crc="8b81146a" sha1="eb1627908b34bedfab60d61088d5ff67069ffb48" />
+ <rom name="amazing spider-man, the - countdown to doom (us).sub" size="15395040" crc="cdece136" sha1="0d03f2a97d5d92079525a940630a7affc5e60a10" />
+ -->
+ <description>The Amazing Spider-Man - Countdown to Doom (USA)</description>
<year>200?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-093060" />
<part name="cdrom" interface="vsmile_vdisk">
<diskarea name="cdrom">
- <disk name="093060_001" sha1="b41bfab381ec4e1a2ceab56aa10d71b17c8a31bb"/>
+ <disk name="093060" sha1="89f5072904114211890604dd6693ee70d787996b"/>
</diskarea>
</part>
</software>
- <software name="spidermng" cloneof="spidermnr2" supported="no">
+ <software name="spidermng" cloneof="spidermn" supported="no">
<!--
Original files (from TeamEurope)
<rom name="93064_000.bin" size="378956592" crc="5039f062" sha1="80a0ae321273a4b7190ba79854b21fdfb96b75f4" />
@@ -141,133 +113,48 @@ ________________________________________________________________________________
<info name="serial" value="80-093064" />
<part name="cdrom" interface="vsmile_vdisk">
<diskarea name="cdrom">
- <disk name="093064_000" sha1="b0455f89a4ca9abd0351b7307a9b0702cc1344c3"/>
- </diskarea>
- </part>
- </software>
-
- <!--
- Internal Serial: 0ID_93067_000
- Volume Label: 93067_000
- Blue cartridge
- Sticker on the cartridge: 730 â—‹â—‹â—‹â—‹
- Barcode: 3417768930673
- Ring 1: "59-93067-000-001*", "IFPI 0949", "59-93067-000-001"
- Ring 2: "07/07/07 &minus;&minus; 149550 &minus;&minus; A", "IFPI LQ35"
- -->
- <software name="spidermns" cloneof="spidermnr2" supported="no">
- <description>El Asombroso Spider-Man - Persecución en la Ciudad (Spa)</description>
- <year>200?</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-093067" />
- <part name="cdrom" interface="vsmile_vdisk">
- <diskarea name="cdrom">
- <disk name="093067_000" sha1="083d2808f46f7e9d8a6f7f419241356d1f8405ea"/>
+ <disk name="93064_000" sha1="b0455f89a4ca9abd0351b7307a9b0702cc1344c3"/>
</diskarea>
</part>
</software>
- <!--
- Internal Serial: 0ID_93160_000
- Volume Label: 93160_000
- Orange cartridge
- Sticker on the cartridge: 732 â—‹â—‹â—‹â—‹
- Barcode: 0 50803 93160 5
- Ring 1: "59-93160-000-000*", "IFPI LQ50", "IFPI 9QK3, IFPI 9QH8", "559-93160-000-000"
- -->
<software name="bratz" supported="no">
+ <!--
+ Original files:
+ <rom name="bratz - fashion pixiez - the secret necklace (us).ccd" size="754" crc="97d7a3bf" sha1="6ddf210341cde9c0944e4cc3b04681d78e9db24f" />
+ <rom name="bratz - fashion pixiez - the secret necklace (us).cue" size="968" crc="44b2cdec" sha1="26b413156226b0f089e4a79ccd43b7886d1b9fc1" />
+ <rom name="bratz - fashion pixiez - the secret necklace (us).img" size="559354992" crc="46e8e1fd" sha1="d63b998729e990ceb7f1fa3842fd1c9e58f57bbe" />
+ <rom name="bratz - fashion pixiez - the secret necklace (us).sub" size="22830816" crc="d003eb3b" sha1="7851b0b7c47fee6af38420439eecc91d0f0237db" />
+ -->
<description>Bratz - Fashion Pixiez - The Secret Necklace (USA)</description>
<year>200?</year>
<publisher>VTech</publisher>
- <info name="serial" value="80-093160" />
- <part name="cdrom" interface="vsmile_vdisk">
- <diskarea name="cdrom">
- <disk name="093160_000" sha1="4f5a1ab3254de3840be6b9c8edd4aefec1f1f301"/>
- </diskarea>
- </part>
- </software>
-
- <!--
- Internal Serial: 0ID_93167_000
- Volume Label: 93167_000
- Orange cartridge
- Sticker on the cartridge: P â—‹â—‹â—‹â—‹
- Ring 1: "59-093147-000-001*", "IFPI 0926", "59-93167-000-001"
- Ring 2: "03/17/08 &minus;&minus; 157050 &minus;&minus; A", "IFPI LQ35"
- -->
- <software name="bratzs" cloneof="bratz" supported="no">
- <description>Bratz - El Misterio del Collar (Spa)</description>
- <year>200?</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-093167" />
<part name="cdrom" interface="vsmile_vdisk">
<diskarea name="cdrom">
- <disk name="093167_000" sha1="371369ad911912be3cf82129bfe105b071b342d0"/>
+ <disk name="bratz - fashion pixiez - the secret necklace (us)" sha1="3e7de8679810e35ae2d449aaef9117639c268d16"/>
</diskarea>
</part>
</software>
- <!--
- Internal Serial: 0ID_93100_001
- Volume Label: 93100_001
- Orange cartridge
- Sticker on the cartridge: 725 â—‹â—â—‹â—‹
- Barcode: 0 50803 93100 1
- Ring 1: "*59-93100-001-000", "ifpi LQ24", "IFPI 9QH8", "59-93100-000-000"
- -->
- <software name="carsr1" supported="no">
- <description>Disney/Pixar Cars - In the Fast Lane (USA, Rev. 1)</description>
- <year>200?</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-093100" />
- <part name="cdrom" interface="vsmile_vdisk">
- <diskarea name="cdrom">
- <disk name="093100_001" sha1="584bf1cdd17e33ab8f729f27e47426aa0ab2789a" />
- </diskarea>
- </part>
- </software>
-
- <!--
- Internal Serial: 0ID_93100_000
- Volume Label: 93100_000
- Orange cartridge
- Sticker on the cartridge: 646 â—‹â—‹â—‹â—‹
- Barcode: 0 50803 93100 1
- Ring 1: "59-93100-000-000*", "ifpi LQ24", "IFPI 9QK3, IFPI 9QM3", "59-93100-000-000"
- -->
- <software name="cars" cloneof="carsr1" supported="no">
- <description>Disney/Pixar Cars - In the Fast Lane (USA)</description>
- <year>200?</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-093100" />
- <part name="cdrom" interface="vsmile_vdisk">
- <diskarea name="cdrom">
- <disk name="093100_000" sha1="47edbad81f59bc0cebd51bc7e51137ca949890de"/>
- </diskarea>
- </part>
- </software>
-
- <!--
- Internal Serial: 0ID_93100_003
- Volume Label: 93100_003
- Orange cartridge
- Sticker on the cartridge: 725 â—‹â—â—‹â—‹
- Barcode: 0 50803 93100 1
- Ring 1: "*59-93100-000-000*", "ifpi LQ24", "IFPI 9QK3", "59-93100-000-000"
- -->
- <software name="carsr3" cloneof="carsr1" supported="no">
- <description>Disney/Pixar Cars - In the Fast Lane (USA, Rev. 3)</description>
+ <software name="cars" supported="no">
+ <!--
+ Original files:
+ <rom name="disney - pixar cars - in the fast lane (us).ccd" size="754" crc="741b37b3" sha1="f63cd8f1da67beec1decbf3983f0ecc1de8af95d" />
+ <rom name="disney - pixar cars - in the fast lane (us).cue" size="962" crc="f9383e9e" sha1="a5cffb68bc0177828f5a3d9b3158739450f2baa3" />
+ <rom name="disney - pixar cars - in the fast lane (us).img" size="506249184" crc="33b3b437" sha1="b7522abe11f1dab3e5adc56ae4cdc2c9f9957a3a" />
+ <rom name="disney - pixar cars - in the fast lane (us).sub" size="20663232" crc="450daa44" sha1="c96a38c5a4cc8d1cad4c3a1f0d33cc68c3f0ad08" />
+ -->
+ <description>Disney Pixar Cars - In the Fast Lane (USA)</description>
<year>200?</year>
<publisher>VTech</publisher>
- <info name="serial" value="80-093100" />
<part name="cdrom" interface="vsmile_vdisk">
<diskarea name="cdrom">
- <disk name="093100_003" sha1="138f0203d1279b6656b1eeb7cc61705c2f728845" />
+ <disk name="disney - pixar cars - in the fast lane (us)" sha1="b90f3a4752d3326639ba95c1c38fd7ac161e9a1a"/>
</diskarea>
</part>
</software>
- <software name="carsg" cloneof="carsr1" supported="no">
+ <software name="carsg" cloneof="cars" supported="no">
<!--
Original files (from TeamEurope)
<rom name="93104_000.bin" size="562353792" crc="e487ef85" sha1="2794bb37d03435c1318ee632d067d64aaecbbebf" />
@@ -279,47 +166,25 @@ ________________________________________________________________________________
<info name="serial" value="80-093104" />
<part name="cdrom" interface="vsmile_vdisk">
<diskarea name="cdrom">
- <disk name="093104_000" sha1="7347c93144f06648973a60f0fef74c74db69ddf9" />
+ <disk name="093104_000" sha1="7347c93144f06648973a60f0fef74c74db69ddf9" />
</diskarea>
</part>
</software>
- <!--
- Internal Serial: 0ID_93107_000
- Volume Label: 93107_000
- Orange cartridge
- Sticker on the cartridge: 735 â—‹â—‹â—‹â—‹
- Barcode: 3417768931076
- Ring 1: "59-93107-000-001*", "IFPI 0931", "59-93-107-000-001"
- Ring 2: "08/15/07 &minus;&minus; 150750 &minus;&minus; A", "IFPI LQ35"
- -->
- <software name="carss" cloneof="carsr1" supported="no">
- <description>Cars - El Carril Rápido (Spa)</description>
- <year>200?</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-093107" />
- <part name="cdrom" interface="vsmile_vdisk">
- <diskarea name="cdrom">
- <disk name="093107_000" sha1="af1261e0e309e144b4a5f335c368fae12c2d7034" />
- </diskarea>
- </part>
- </software>
-
- <!--
- Internal Serial: 0ID_93000_000
- Volume Label: 93000_000
- Orange cartridge
- Sticker on the cartridge: 637 â—‹â—‹â—â—‹
- Ring 1: "*59-93000-000-000*", "IFPI LQ17", "IFPI 9QH8", "59-93000-000"
- -->
<software name="princess" supported="no">
+ <!--
+ Original files:
+ <rom name="disney princess - the crystal ball adventure (us).ccd" size="754" crc="889c3811" sha1="64372e79d6c85a8987b5d05ddfee336c720e8c09" />
+ <rom name="disney princess - the crystal ball adventure (us).cue" size="968" crc="c3c53542" sha1="24d7abd039a3f2e812c7bbea3b9b93335767178f" />
+ <rom name="disney princess - the crystal ball adventure (us).img" size="470098944" crc="49f568d1" sha1="b5dd0d446da323db37b671a06d14ba4d6a900ea7" />
+ <rom name="disney princess - the crystal ball adventure (us).sub" size="19187712" crc="fa6c622c" sha1="1d2ee95a8a4ce659dc35af363da42f26e24f22fa" />
+ -->
<description>Disney Princess - The Crystal Ball Adventure (USA)</description>
<year>200?</year>
<publisher>VTech</publisher>
- <info name="serial" value="80-093000" />
<part name="cdrom" interface="vsmile_vdisk">
<diskarea name="cdrom">
- <disk name="093000_000" sha1="04b9d84635a5271a8639a460fc7148ad3e215bf7"/>
+ <disk name="disney princess - the crystal ball adventure (us)" sha1="c4e6c5a24cda03c721577ccb4f304932ed7486c6"/>
</diskarea>
</part>
</software>
@@ -336,46 +201,27 @@ ________________________________________________________________________________
<info name="serial" value="80-093004" />
<part name="cdrom" interface="vsmile_vdisk">
<diskarea name="cdrom">
- <disk name="093004" sha1="62d5ed13ddf7ccb2b32613e4ef44399957535355"/>
- </diskarea>
- </part>
- </software>
-
- <!--
- Internal Serial: 0ID_93007_000
- Volume Label: 93007
- Orange cartridge
- Sticker on the cartridge: 730 â—‹â—‹â—‹â—‹
- Barcode: 3417768930079
- Ring 1: "59-93007-000-001*", "IFPI 0907", "59-93007-000-001"
- Ring 2: "07/07/07 &minus;&minus; 149549 &minus;&minus; A", "IFPI LQ35"
- -->
- <software name="princesss" cloneof="princess" supported="no">
- <description>Disney Princess - El Castillo de las Princesas (Spa)</description>
- <year>200?</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-093007" />
- <part name="cdrom" interface="vsmile_vdisk">
- <diskarea name="cdrom">
- <disk name="093007_000" sha1="eaf2998e561fe238a07d9410ab320c63af0673fd"/>
+ <disk name="93004" sha1="62d5ed13ddf7ccb2b32613e4ef44399957535355"/>
</diskarea>
</part>
</software>
- <!--
- Internal Serial: 0ID_93020_000
- Volume Label: 93020
- Barcode: 0 50803 93020 2
- Ring 1: "*59-93020-000-000*", "IFPI LQ24", "IFPI 9QH8"
- -->
+ <!-- disk mounted as 93020 -->
<software name="incredib" supported="no">
- <description>Disney/Pixar The Incredibles - Mission Incredible (USA)</description>
+ <!--
+ Original files: unsure, maybe the following
+ <rom name="incredibles, the - mission incredible (us).ccd" size="754" crc="e2868c5d" sha1="e6fcb78b07de68e555a8bf972c11dbfd878970a2" />
+ <rom name="incredibles, the - mission incredible (us).cue" size="961" crc="aadbe385" sha1="c2673c402d9d22aea16be45ff333e94501ba7314" />
+ <rom name="incredibles, the - mission incredible (us).img" size="358705872" crc="8fffffeb" sha1="859bab005788a5c23bb7c40c0e729eed04da6750" />
+ <rom name="incredibles, the - mission incredible (us).sub" size="14641056" crc="3b26b5f3" sha1="d771cd5fa8326bb65c67ef466b906d637cda4323" />
+ -->
+ <description>The Incredibles - Mission Incredible (USA)</description>
<year>200?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-093020" />
<part name="cdrom" interface="vsmile_vdisk">
<diskarea name="cdrom">
- <disk name="093020_000" sha1="b300be746222691d0235551ef582eb221863c50a"/>
+ <disk name="093020" sha1="84ba80f67d136cd742989dceebda1c8881d0f393"/>
</diskarea>
</part>
</software>
@@ -386,34 +232,13 @@ ________________________________________________________________________________
<rom name="93024.bin" size="365481984" crc="4ac35678" sha1="6745971dab69942f85d32a4e1484b9d79c2163ee" />
<rom name="93024.cue" size="71" crc="bdb0bf7c" sha1="c88846f050ef65c9e8655e7d47c07f3f11a9c493" />
-->
- <description>Disney/Pixar Die Unglaublichen - In unglaublicher Mission (Ger)</description>
+ <description>Die Unglaublichen - In unglaublicher Mission (Ger)</description>
<year>200?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-093024" />
<part name="cdrom" interface="vsmile_vdisk">
<diskarea name="cdrom">
- <disk name="093024" sha1="09b80c8899a3c18776626225d662d7f084a44d2d"/>
- </diskarea>
- </part>
- </software>
-
- <!--
- Internal Serial: 0ID_93027_000
- Volume Label: 93027_000
- Blue cartridge
- Sticker on the cartridge: 736 â—‹â—‹â—‹â—‹
- Barcode: 3417768930277
- Ring 1: "59-93027-000-001*", "IFPI 0949", "59-93027-000-001"
- Ring 2: "08/16/07 &minus;&minus; 150762 &minus;&minus; A", "IFPI LQ35", "V"
- -->
- <software name="incredibs" cloneof="incredib" supported="no">
- <description>Disney/Pixar Los Increíbles - Misión Increíble (Spa)</description>
- <year>200?</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-093027" />
- <part name="cdrom" interface="vsmile_vdisk">
- <diskarea name="cdrom">
- <disk name="093027_000" sha1="f804204b4b7ce7ba111a3099c4f8a3f821ea53a6"/>
+ <disk name="93024" sha1="09b80c8899a3c18776626225d662d7f084a44d2d"/>
</diskarea>
</part>
</software>
@@ -430,86 +255,45 @@ ________________________________________________________________________________
<info name="serial" value="80-093204" />
<part name="cdrom" interface="vsmile_vdisk">
<diskarea name="cdrom">
- <disk name="093204_000" sha1="eb89c8b5cacb619c1fbcb700b971ad2791f1c5b6" />
+ <disk name="093204_000" sha1="eb89c8b5cacb619c1fbcb700b971ad2791f1c5b6" />
</diskarea>
</part>
</software>
- <!--
- Internal Serial: 0ID_93080_000
- Volume Label: 90080_001
- Orange cartridge
- Sticker on the cartridge: 637 â—‹â—â—‹â—‹
- Ring 1: "*59-93080-000-000", "IFPI LQ17", "IFPI 9QH8, IFPI 9QK3", "59-93080-000"
- -->
+ <!-- disk mounted as 93080_001 -->
<software name="scooby" supported="no">
- <description>Scooby-Doo! Ancient Adventure (USA, Rev. 1)</description>
+ <!--
+ Original files: unsure, maybe the following
+ <rom name="scooby-doo! ancient adventure (us).ccd" size="753" crc="1a45cfda" sha1="1c2a5593dc64656cedeb0851db829242e37b93f0" />
+ <rom name="scooby-doo! ancient adventure (us).cue" size="953" crc="05956f43" sha1="5b31fb89130c1489c3f009c9c4293ac7dce56026" />
+ <rom name="scooby-doo! ancient adventure (us).img" size="638582112" crc="d6d3c531" sha1="24e753c394d8a6d9aed462be4c0c2b41dd6e79e6" />
+ <rom name="scooby-doo! ancient adventure (us).sub" size="26064576" crc="72632c94" sha1="36fb895c8e8a224f028788e5f5e86f39562a7b2c" />
+ -->
+ <description>Scooby-Doo! Ancient Adventure (USA)</description>
<year>200?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-093080" />
<part name="cdrom" interface="vsmile_vdisk">
<diskarea name="cdrom">
- <disk name="093080_001" sha1="aec5cc394d1e7d2e660a1d765f23ae3cabe0147d"/>
- </diskarea>
- </part>
- </software>
-
- <!--
- Internal Serial: 0ID_93087_000
- Volume Label: 93087_000
- Orange cartridge
- Sticker on the cartridge: 729 â—‹â—‹â—‹â—‹
- Barcode: 3417768930871
- Ring 1: "59-93087-000-001*", "IFPI 0946", "59-93027-000-001"
- Ring 2: "07/10/07 &minus;&minus; 049620 &minus;&minus; A", "IFPI LQ35"
- -->
- <software name="scoobys" cloneof="scooby" supported="no">
- <description>Scooby-Doo: Viaje al Pasado (Spa)</description>
- <year>200?</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-093087" />
- <part name="cdrom" interface="vsmile_vdisk">
- <diskarea name="cdrom">
- <disk name="093087_000" sha1="1b8f4e54ec2cfb709e82212275f5efc7075a34c0"/>
+ <disk name="093080" sha1="3ec7e1ac4435666c3cc1b1844eac5f271b5357e8"/>
</diskarea>
</part>
</software>
- <!--
- Internal Serial: 0ID_93140_000
- Volume Label: 93140_000
- Orange cartridge
- Sticker on the cartridge: 732 â—‹â—‹â—‹â—‹, 733 â—‹â—‹â—‹â—‹
- Ring 1: "59-93140-100-000*", "IFPI LQ50", "IFPI 9QH8", "59-93140-100-000"
- Ring 2: "59-93140-100-001*", "IFPI 0907", "59-93140-100-001"
- "08/02/07 &minus;&minus; 150358 &minus;&minus; A", "IFPI LQ35"
- -->
<software name="shrek3" supported="no">
+ <!--
+ Original files:
+ <rom name="shrek the third - the search for arthur (us).ccd" size="753" crc="89fd984d" sha1="15decf11c48c4e13ac9d9b2219977f38cdf1b09b" />
+ <rom name="shrek the third - the search for arthur (us).cue" size="963" crc="ac930eb5" sha1="1e3d7f9fe17223c94c159d2ae33bd3c913b976fb" />
+ <rom name="shrek the third - the search for arthur (us).img" size="614031936" crc="6c27be68" sha1="e671b64b248cbe976a131c6e5bc229d26f0c60c6" />
+ <rom name="shrek the third - the search for arthur (us).sub" size="25062528" crc="6da65891" sha1="25dac0246d8f0b87b6b9402125bc339d5365f0b6" />
+ -->
<description>Shrek the Third - The Search for Arthur (USA)</description>
<year>200?</year>
<publisher>VTech</publisher>
- <info name="serial" value="80-093140" />
- <part name="cdrom" interface="vsmile_vdisk">
- <diskarea name="cdrom">
- <disk name="093140_000" sha1="cf8711eb19be0843f0fc2bf7fa999cc1f9a5d890"/>
- </diskarea>
- </part>
- </software>
-
- <!--
- Internal Serial: 0ID_93143_000
- Volume Label: 93143_000
- Purple cartridge
- Ring 1: "59-93143-000-001*", "IFPI LQ35", "IFPI 0931", "59-93143-000-001"
- -->
- <software name="shrek3uk" cloneof="shrek3" supported="no">
- <description>Shrek the Third - The Search for Arthur (UK)</description>
- <year>200?</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-093143" />
<part name="cdrom" interface="vsmile_vdisk">
<diskarea name="cdrom">
- <disk name="093143_000" sha1="8f1294e2b862bb5803757149c33ca3564054231e" />
+ <disk name="shrek the third - the search for arthur (us)" sha1="be3d6ed22526dbbfc7cc781c8d6f1443d62560ad"/>
</diskarea>
</part>
</software>
@@ -526,72 +310,12 @@ ________________________________________________________________________________
<info name="serial" value="80-093144" />
<part name="cdrom" interface="vsmile_vdisk">
<diskarea name="cdrom">
- <disk name="093144_000" sha1="ab7f8d57e235a12c23cc2e72dc263530d0deb016" />
+ <disk name="093144_000" sha1="ab7f8d57e235a12c23cc2e72dc263530d0deb016" />
</diskarea>
</part>
</software>
- <!--
- Internal Serial: 0ID_93147_000
- Volume Label: 93147_000
- Orange cartridge
- Sticker on the cartridge: 748 â—‹â—‹â—‹â—‹
- Ring 1: "59-93147-000-001*", "IFPI 0907", "59-93147-000-001"
- Ring 2: "11/15/07 &minus;&minus; 153583 &minus;&minus; A", "IFPI LQ35"
- -->
- <software name="shrek3s" cloneof="shrek3" supported="no">
- <description>Shrek Tercero - ¿Dónde Está Arturo? (Spa)</description>
- <year>200?</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-093147" />
- <part name="cdrom" interface="vsmile_vdisk">
- <diskarea name="cdrom">
- <disk name="093147_000" sha1="2a310736185336e93e8cf5e3a2d0a6e4949e11d3" />
- </diskarea>
- </part>
- </software>
-
- <!--
- Internal Serial: 0ID_93040_000
- Volume Label: 93040_002
- Blue cartridge
- Sticker on the cartridge: 637 â—‹â—‹â—â—‹, 644 â—‹â—‹â—â—‹
- Ring 1: "*59-93040-000-000*", "IFPI LQ17", "IFPI 9QH8", "59-93040-000"
- Ring 2: "*59-93040-000-000*", "IFPI LQ24", "IFPI 9QH8", "59-93040-000"
- -->
- <software name="spongeisr2" supported="no">
- <description>Nickelodeon SpongeBob Squarepants - Idea Sponge (USA, Rev. 2)</description>
- <year>200?</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-093040" />
- <part name="cdrom" interface="vsmile_vdisk">
- <diskarea name="cdrom">
- <disk name="093040_002" sha1="22e5d08eeb01d660e9662c3663c5b1b26a2e57fb"/>
- </diskarea>
- </part>
- </software>
-
- <!--
- Internal Serial: 0ID_93040_000
- Volume Label: 93040_001
- Blue cartridge
- Sticker on the cartridge: 633 â—‹â—â—‹â—‹
- Ring 1: "*59-93040-000-000", "IFPI LQ50", "IFPI 9QH8", "59-93040-000"
- -->
- <software name="spongeisr1" cloneof="spongeisr2" supported="no">
- <description>Nickelodeon SpongeBob Squarepants - Idea Sponge (USA, Rev. 1)</description>
- <year>200?</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-093040" />
- <part name="cdrom" interface="vsmile_vdisk">
- <diskarea name="cdrom">
- <disk name="093040_001" sha1="feabc1d3eac7045fb4c0ef29c1a137d7a5c07619"/>
- </diskarea>
- </part>
- </software>
-
- <!-- Needs checking what revision it is. -->
- <software name="spongeis" cloneof="spongeisr2" supported="no">
+ <software name="spongeis" supported="no">
<!--
Original files:
<rom name="spongebob squarepants - idea sponge (us).ccd" size="754" crc="51c96a38" sha1="bbd5f937a3a358d0db724492d265018911cc05ad" />
@@ -599,114 +323,17 @@ ________________________________________________________________________________
<rom name="spongebob squarepants - idea sponge (us).img" size="373038960" crc="f3dcd059" sha1="bc70d3a4017b6282bea065e4ed8a05c601471069" />
<rom name="spongebob squarepants - idea sponge (us).sub" size="15226080" crc="f8ef603f" sha1="84515fb53c4de9a0072dc051d365b1cbc1065b0f" />
-->
- <description>Nickelodeon SpongeBob Squarepants - Idea Sponge (USA)</description>
+ <description>SpongeBob Squarepants - Idea Sponge (USA)</description>
<year>200?</year>
<publisher>VTech</publisher>
<part name="cdrom" interface="vsmile_vdisk">
<diskarea name="cdrom">
- <disk name="093040" sha1="2ede68aa9df7712a1060e8f3b1be3307c38abd80"/>
+ <disk name="spongebob squarepants - idea sponge (us)" sha1="2ede68aa9df7712a1060e8f3b1be3307c38abd80"/>
</diskarea>
</part>
</software>
- <!--
- Internal Serial: 0ID_93044_000
- Volume Label: 93044_000
- Ring 1: "59-93044-000-001*", "IFPI 0907", "59-93044-000-001"
- Ring 2: "07/07/07 &minus;&minus; 149551 &minus;&minus; A", "IFPI LQ35"
- -->
- <software name="spongeisg" cloneof="spongeisr2" supported="no">
- <description>Nick SpongeBob Schwammkopf: Ein Schwamm voller Ideen (Ger)</description>
- <year>200?</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-093044" />
- <part name="cdrom" interface="vsmile_vdisk">
- <diskarea name="cdrom">
- <disk name="093044_000" sha1="8edf7d8398bcc7e26144044801fc72155230c65f"/>
- </diskarea>
- </part>
- </software>
-
- <!--
- Internal Serial: 0ID_93047_000
- Volume Label: 93047
- Orange cartridge
- Sticker on the cartridge: 809 â—‹â—‹â—‹â—‹
- Barcode: 3417768930475
- Ring 1: "59-93047-000-001*", "IFPI 0999", "59-93047-000-001"
- Ring 2: "02/01/06 &minus;&minus; 155691 &minus;&minus; A", "IFPI LQ35"
- -->
- <software name="spongeiss" cloneof="spongeisr2" supported="no">
- <description>Nickelodeon Bob Esponja - Misión Esponja (Spa)</description>
- <year>200?</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-093047" />
- <part name="cdrom" interface="vsmile_vdisk">
- <diskarea name="cdrom">
- <disk name="093047_000" sha1="37dd91c9321f8a631e269034569958d400dd7b98"/>
- </diskarea>
- </part>
- </software>
-
-
- <!--
- Internal Serial: 0ID_93120_003
- Volume Label: 93120_003
- Blue cartridge
- Sticker on the cartridge: 636 â—‹â—‹â—‹â—, 638 â—‹â—‹â—‹â—
- Ring 1: "59-93120-000-000**", "IFPI LQ17", "IFPI 9QH8, IFPI 9QK3", "59-93120-000"
- -->
- <software name="wackyracr3" supported="no">
- <description>Wacky Race on Jumpin' Bean Island (USA, Rev. 3)</description>
- <year>200?</year>
- <publisher>VTech</publisher>
- <info name="serial" value="093120_003" />
- <part name="cdrom" interface="vsmile_vdisk">
- <diskarea name="cdrom">
- <disk name="093120_003" sha1="e6abe437961eb4f1e024dd744f23bb2611e65c39"/>
- </diskarea>
- </part>
- </software>
-
- <!--
- Internal Serial: 0ID_93120_002
- Volume Label: 93120_002
- Blue cartridge
- Sticker on the cartridge: 634 â—‹â—‹â—â—‹
- Ring 1: "*59-93120-000-000*", "IFPI LQ50", "IFPI 9QH8", "59-93120-000"
- -->
- <software name="wackyracr2" cloneof="wackyracr3" supported="no">
- <description>Wacky Race on Jumpin' Bean Island (USA, Rev. 2)</description>
- <year>200?</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-93120" />
- <part name="cdrom" interface="vsmile_vdisk">
- <diskarea name="cdrom">
- <disk name="093120_002" sha1="84f658c990f6c69754092aa4d9314ebee7026c6a"/>
- </diskarea>
- </part>
- </software>
-
- <!--
- Internal Serial: 0ID_93123_000
- Volume Label: 93123_000
- Purple cartridge
- Sticker on the cartridge: 717 â—‹â—‹â—‹â—‹
- Ring 1: "59-93123-000-000*", "IFPI LQ17", "IFPI 9QK3", "59-93123-000-000"
- -->
- <software name="wackyracuk" cloneof="wackyracr3" supported="no">
- <description>Wacky Race on Jumpin' Bean Island (UK)</description>
- <year>200?</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-93123" />
- <part name="cdrom" interface="vsmile_vdisk">
- <diskarea name="cdrom">
- <disk name="093123_000" sha1="430b54111c22fdf12b10bc7d04c2b097f9f97f6f"/>
- </diskarea>
- </part>
- </software>
-
- <software name="wackyracg" cloneof="wackyracr3" supported="no">
+ <software name="hupfbohn" supported="no">
<!--
Original files (from TeamEurope)
<rom name="93124_000.bin" size="457901472" crc="92a0ebe0" sha1="a3a8e54d5f12094bfc0c89954987cc793d83d3f9" />
@@ -718,28 +345,30 @@ ________________________________________________________________________________
<info name="serial" value="80-093124" />
<part name="cdrom" interface="vsmile_vdisk">
<diskarea name="cdrom">
- <disk name="093124_000" sha1="90b2723c68da81de677b82d565c7e0364a7cbb53"/>
+ <disk name="93124_000" sha1="90b2723c68da81de677b82d565c7e0364a7cbb53"/>
</diskarea>
</part>
</software>
- <!--
- Internal Serial: 0ID_93127_000
- Volume Label: 80_93127_022_001
- Barcode: 3417768931274
- Ring 1: "59-93127-000-001*", "IFPI 0946", "59-93-107-000-001"
- Ring 2: "07/12/07 &minus;&minus; 149610 &minus;&minus; A", "IFPI LQ35"
- -->
- <software name="wackyracs" cloneof="wackyracr3" supported="no">
- <description>Carrera Loca en la Isla de las Vainas Fritas (Spa)</description>
+ <!-- disk mounted as 93120_003 -->
+ <software name="wackyrac" supported="no">
+ <!--
+ Original files: unsure, maybe the following
+ <rom name="wacky race on jumpin' bean island (console 80-70010) (us).ccd" size="754" crc="d6a6247e" sha1="86ff6701988f4f163816d80f9094a61fda61290e" />
+ <rom name="wacky race on jumpin' bean island (console 80-70010) (us).cue" size="976" crc="d8310d43" sha1="2e9caa99f4e5a861edd060b1e180a4dab4ace171" />
+ <rom name="wacky race on jumpin' bean island (console 80-70010) (us).img" size="394752624" crc="6af8435e" sha1="b643d8fd3f0f46459d2313e2c256bc6b5f33fd54" />
+ <rom name="wacky race on jumpin' bean island (console 80-70010) (us).sub" size="16112352" crc="f2f1b667" sha1="d4321d7d6ed2c4bae699d1e06752c893dac0af1c" />
+ -->
+ <description>Wacky Race on Jumpin' Bean Island (USA)</description>
<year>200?</year>
<publisher>VTech</publisher>
- <info name="serial" value="80-93127" />
+ <info name="serial" value="80-093120" />
<part name="cdrom" interface="vsmile_vdisk">
<diskarea name="cdrom">
- <disk name="093127_000" sha1="c3c98b37c6d235815698aaf67e796a34fb7ab577"/>
+ <disk name="093120" sha1="dbc128608e64d40aaf3456aac2c0dd07e0f73ef4"/>
</diskarea>
</part>
</software>
+
</softwarelist>
diff --git a/hash/vsmileb_cart.xml b/hash/vsmileb_cart.xml
index 3a7b88bfc73..658923cce36 100644
--- a/hash/vsmileb_cart.xml
+++ b/hash/vsmileb_cart.xml
@@ -2,6 +2,10 @@
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
<!--
+NOTE: This list is here only to document available dumps and it's not used (yet) by MESS!
+-->
+
+<!--
V.Smile Motion: 80-08**** (Smartridges are orange)
V.Smile Smartbook Software: 80-089*** (Smartridges are red)
@@ -32,33 +36,31 @@ VTech V.Smile Baby cartridges
| | 80-099003(UK) | Learn and Discover Home (white background on title) (pack-in) |
| XX | 80-099004(GE) | Meine kleinen Tierfreunde (Explore and Learn Home on label) |
| | 80-099005(FR) | La Maison des animaux |
-| NA | 80-099014(SE) | Lär och upptäck (no-ROM cartridge) |
+| XX | 80-099014(SE) | Lär och upptäck |
+========+===================+============================================================================+
| XX | 80-099020(US) | Pooh's Hundred Acre Wood Adventure |
| | 80-099022(NL) | Poeh's Honderd Bunderbos Avontuur |
| | 80-099023(UK) | Pooh's Hundred Acre Wood Adventure |
-| NA | 80-099024(GE) | Puuhs Hundert-Morgen-Wald (no-ROM cartridge) |
-| | 80-099025(FR) | Winnie et ses amis dans la Forêt des Rêves Bleus |
-| NA | 80-099027(SP) | Aventuras en el Bosque de los Cien Acres (no-ROM cartridge) |
+| XX | 80-099024(GE) | Puuhs Hundert-Morgen-Wald |
+| | 80-099025(FR) | Winnie et ses amis dans la Faret des Reves Bieus |
| XX | 80-099034(SE) | Nalle Puhs Äventyr i Sjumilaskogen |
+========+===================+============================================================================+
| | 80-099040(US) | Baby Einstein - World of Discoveries |
| | 80-099040(US) | Baby Einstein - World of Discoveries (no # on front label) |
| | 80-099043(UK) | Baby Einstein - World of Discoveries |
-| | 80-099045(FR) | Baby Einstein - Un Monde de découvertes |
+| | 80-099045(FR) | Baby Einstein - Un Monde de decouvertes |
+========+===================+============================================================================+
| | 80-099060(US) | A Day On The Farm |
| | 80-099063(UK) | A Day On The Farm |
| XX | 80-099064(GE) | Mein erster Bauernhof |
-| | 80-099065(FR) | Un jour à la ferme |
-| XX | 80-099067(SP) | Un Día en la Granja |
+| | 80-099065(FR) | Un jour a la ferme |
+========+===================+============================================================================+
| | 80-099080(US) | <Unknown> |
+========+===================+============================================================================+
| | 80-099100(US) | Noah's Ark Animal Adventure |
| | 80-099102(NL) | De ark van Noach |
| | 80-099103(UK) | Noah's Ark Animal Adventure |
-| | 80-099105(FR) | L'arche de Noé - L'aventure des animaux |
+| | 80-099105(FR) | L'arche de Noe - L'aventure des animaux |
+========+===================+============================================================================+
| | 80-099120(US) | Barney - Let's Go to a Party |
+========+===================+============================================================================+
@@ -97,47 +99,32 @@ The V.Baby currently have no dumps available, hence the carts are temporarily li
<softwarelist name="vsmileb_cart" description="VTech V.Smile Baby cartridges">
- <software name="dayfarmg" supported="no">
- <description>Mein erster Bauernhof (Ger)</description>
+ <software name="mktierf" supported="no">
+ <description>Meine kleinen Tierfreunde (Ger)</description>
<year>200?</year>
<publisher>VTech</publisher>
- <info name="serial" value="80-099064(GE)" />
+ <info name="serial" value="80-099004(GE)" />
<part name="cart" interface="vsmileb_cart">
<feature name="pcb" value="707154" />
<feature name="pcb_model" value="707154-3" />
- <feature name="u4" value="U4" /> <!-- ROM -->
- <dataarea name="rom" size="8388608">
- <rom name="27-08788-000.u4" size="8388608" crc="581e16f9" sha1="330b309644db9f017d275b9df0ffe7530ed5bcef" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="dayfarms" cloneof="dayfarmg" supported="no">
- <description>Un Día en la Granja (Spa)</description>
- <year>200?</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-099067(SP)" />
- <part name="cart" interface="vsmileb_cart">
- <feature name="pcb" value="707154" />
- <feature name="pcb_model" value="707154-2" />
- <feature name="u4" value="U4" /> <!-- ROM -->
+ <feature name="u4" value="U4" /> <!-- EPOXY BLOB ROM -->
<dataarea name="rom" size="8388608">
- <rom name="99067 - Un Dia en la Granja (SP).bin" size="8388608" crc="03735215" sha1="228dc683ba1f7f7f4a61a34b29d61fe9077d2cab" offset="0" />
+ <rom name="99004.u4" size="8388608" crc="7b48544b" sha1="a736ef1313762c493a366990406c3a7393457b6e" offset="0" />
</dataarea>
</part>
</software>
- <software name="mktierf" supported="no">
- <description>Meine kleinen Tierfreunde (Ger)</description>
+ <software name="bauernhf" supported="no">
+ <description>Mein erster Bauernhof (Ger)</description>
<year>200?</year>
<publisher>VTech</publisher>
- <info name="serial" value="80-099004(GE)" />
+ <info name="serial" value="80-099064(GE)" />
<part name="cart" interface="vsmileb_cart">
<feature name="pcb" value="707154" />
<feature name="pcb_model" value="707154-3" />
- <feature name="u4" value="U4" /> <!-- EPOXY BLOB ROM -->
+ <feature name="u4" value="U4" /> <!-- ROM -->
<dataarea name="rom" size="8388608">
- <rom name="99004.u4" size="8388608" crc="7b48544b" sha1="a736ef1313762c493a366990406c3a7393457b6e" offset="0" />
+ <rom name="27-08788-000.u4" size="8388608" crc="581e16f9" sha1="330b309644db9f017d275b9df0ffe7530ed5bcef" offset="0" />
</dataarea>
</part>
</software>
@@ -154,6 +141,17 @@ The V.Baby currently have no dumps available, hence the carts are temporarily li
</part>
</software>
+ <software name="poohhawag" cloneof="poohhawa" supported="no">
+ <description>Puuhs Hundert-Morgen-Wald (Ger)</description>
+ <year>2006?</year>
+ <publisher>VTech</publisher>
+ <info name="serial" value="80-099024(GE)" />
+ <part name="cart" interface="vsmileb_cart">
+ <feature name="pcb" value="707155" />
+ <feature name="pcb_model" value="707155-2" />
+ </part>
+ </software>
+
<software name="poohhawasw" cloneof="poohhawa" supported="no">
<description>Nalle Puhs Äventyr i Sjumilaskogen (Swe)</description>
<year>2007?</year>
@@ -169,4 +167,15 @@ The V.Baby currently have no dumps available, hence the carts are temporarily li
</part>
</software>
+ <software name="lupptack" cloneof="mktierf" supported="no">
+ <description>Lär och upptäck (Swe)</description>
+ <year>200?</year>
+ <publisher>VTech</publisher>
+ <info name="serial" value="80-099014(SE)" />
+ <part name="cart" interface="vsmileb_cart">
+ <feature name="pcb" value="707155" />
+ <feature name="pcb_model" value="707155-2" />
+ </part>
+ </software>
+
</softwarelist>
diff --git a/hash/vsmilem_cart.xml b/hash/vsmilem_cart.xml
index 5963e056548..854efc59203 100644
--- a/hash/vsmilem_cart.xml
+++ b/hash/vsmilem_cart.xml
@@ -2,6 +2,10 @@
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
<!--
+NOTE: This list is here only to document available dumps and it's not used (yet) by MESS!
+-->
+
+<!--
V.Smile Motion: 80-08**** (Smartridges are orange)
V.Smile Smartbook Software: 80-089*** (Smartridges are red)
@@ -22,208 +26,203 @@ Language:
*******15 = Norway
*******?? = Finland
-+========+===================+===========================================================================================+
-| XX | 80-084000(US) | Action Mania (Rev, 4?) |
-| XX | 80-084000(US) | Action Mania (Rev, 6?) |
-| | (IT) | ????? |
-| | 80-084002(NL) | Sports Games |
-| | 80-084003(UK) | Action Mania |
-| | 80-084004(GE) | Sportskanone |
-| | 80-084005(FR) | Sporti Folies |
-| | 80-084006(PT) | Action Mania (84016 on cart) |
-| XX | 80-084007(SP) | Action Manía |
-+========+===================+===========================================================================================+
-| XX | 80-084020(US) | Dora the Explorer: Dora's Fix It Adventure |
-| ** | 80-084021(US) | Dora the Explorer: Dora's Fix It Adventure (pocket version, same ROM as 80-084020(US)) |
-| | 80-084022(NL) | Dora: Dora's Reparatie Avontuur |
-| | 80-084023(UK) | Dora the Explorer: Dora's Fix It Adventure |
-| XX | 80-084024(GE) | Dora: Doras Reparatur-Abenteuer |
-| XX | 80-084024(GE) | Dora: Doras Reparatur-Abenteuer (Rev. 2) |
-| | 80-084025(FR) | Dora L'Exploratrice : Les Adventures De Dora Apprentie Mecano |
-| | 80-084026(PT) | Dora : em busca das pecas perdidas |
-| | 80-084027(SP) | Dora : La Aventura arregla-todo de Dora |
-+========+===================+===========================================================================================+
-| | 80-084040(US) | Scooby-Doo! - Funland Frenzy |
-| | 80-084043(UK) | Scooby-Doo! - Funland Frenzy |
-| | 80-084044(GE) | Scooby-Doo! - Im Lernpark |
-| | 80-084045(FR) | Scooby-Doo - Panique A Funland |
-| | 80-084047(SP) | Scooby-Doo - Misterio en el Parque |
-+========+===================+===========================================================================================+
-| | 80-084060(US) | Thomas and Friends - Engines Working Together |
-| | 80-084063(UK) | Thomas and Friends - Engines Working Together |
-| XX | 80-084064(GE) | Thomas - Freunde halten zusammen |
-+========+===================+===========================================================================================+
-| | 80-084080(US) | Wall-E |
-| | 80-084083(UK) | Wall-E |
-| | 80-084084(GE) | Wall-E |
-| | 80-084085(FR) | Wall-E |
-| | 80-084087(SP) | Wall-E |
-+========+===================+===========================================================================================+
-| | 80-084100(US) | Wonder Pets - Save the Animals! |
-| | 80-084103(UK) | Wonder Pets - Save the Animals! |
-+========+===================+===========================================================================================+
-| | 80-084120(US) | Kung Fu Panda - Path of the Panda |
-| | 80-084123(UK) | Kung Fu Panda - Path of the Panda |
-| XX | 80-084124(GE) | Kung Fu Panda - Der Weg des Panda |
-| | 80-084125(FR) | Kung Fu Panda - La mission de Po |
-+========+===================+===========================================================================================+
-| | 80-084140(US) | Spider-Man & Friends - Secret Missions (AKA Professor V's Secret Missions with diff label)|
-| | 80-084143(UK) | Spider-Man & Friends - Secret Missions |
-| XX | 80-084144(GE) | Spider-Man & Freunde - Geheime Missionen |
-| | 80-084145(FR) | Spider-Man and ses amis - Missions Secretes |
-| | 80-084147(SP) | Spider-Man y Amigos: Misiones Secretas (no # on label) |
-+========+===================+===========================================================================================+
-| XX | 80-084160(US) | Disney's Little Einsteins: The Glass Slipper Ball (Rev. 2?) |
-| XX | 80-084160(US) | Disney's Little Einsteins: The Glass Slipper Ball (Rev. 5?) |
-| | 80-084163(UK) | Disney's Little Einsteins: The Glass Slipper Ball |
-| XX | 80-084164(GE) | Disney's Kleine Einsteins: Der Glaspantoffel-Ball |
-| XX | 80-084164(GE) | Disney's Kleine Einsteins: Der Glaspantoffel-Ball (Rev. 2?) |
-| | 80-084167(SP) | Little Einsteins de Disney: El Baile del Zapatito de Cristal |
-+========+===================+===========================================================================================+
-| XX | 80-084180(US) | Mickey Mouse Clubhouse |
-| | 80-084182(NL) | Mickey Mouse Clubhouse |
-| | 80-084183(UK) | Mickey Mouse Clubhouse |
-| | 80-084184(GE) | Micky Maus Wunderhaus |
-| | 80-084185(FR) | La Maison de Mickey |
-| | 80-084186(PT) | A Casa do Mickey Mouse (84196 on cart) |
-| | 80-084187(SP) | La Casa de Mickey Mouse |
-+========+===================+===========================================================================================+
-| XX | 80-084200(US) | Nascar Academy - Race Car Superstar |
-+========+===================+===========================================================================================+
-| | 80-084220(US) | Snow Park Challenge |
-| | 80-084222(NL) | Wintersport Games |
-| | 80-084223(UK) | Snow Park Challenge |
-| XX | 80-084224(GE) | Wintersport |
-| | 80-084225(FR) | ?????? picture too fuzzy for positive confirm |
-+========+===================+===========================================================================================+
-| XX | 80-084240(US) | Ni Hao Kai Lan |
-| | 80-084245(FR) | Ni Hao Kai Lan |
-+========+===================+===========================================================================================+
-| | 80-084260(US) | My Pet Puppy (unreleased in USA?? UK version plays AOK on NTSC console) |
-| | 80-084262(NL) | Mijn Puppy! |
-| | 80-084263(UK) | My Pet Puppy |
-| XX | 80-084264(GE) | Mein erster Hund |
-| | 80-084265(FR) | Mon Youtou Tout Fou! |
-| | 80-084267(SP) | Dakota y su Mascota |
-+========+===================+===========================================================================================+
-| | 80-084280(US) | Wild Waves |
-| | 80-084282(NL) | Water-sport Games |
-| | 80-084283(UJ) | Wild Waves |
-| | 80-084284(GE) | Dolphis Wasser-abenteuer |
-| | 80-084285(FR) | Martin le Dauphin |
-+========+===================+===========================================================================================+
-| | 80-084300(US) | Soccer Challenge |
-| | 80-084303(UK) | Football Challenge |
-| | 80-084304(GE) | Fussball Meisterschaft |
-| | 80-084305(FR) | Football Challenge |
-| | 80-084306(PT) | Football Challenge (cart#??) |
-| | 80-084307(SP) | Campeonato de Fútbol |
-+========+===================+===========================================================================================+
-| | 80-084320(US) | Disney Fairies: TinkerBell |
-| | 80-084321(US) | Disney Fairies: TinkerBell (pocket version) |
-| | 80-084322(NL) | TinkerBell |
-| | 80-084323(UK) | TinkerBell |
-| XX | 80-084324(GE) | TinkerBell |
-| | 80-084325(FR) | La fee Clochette |
-| | 80-084326(PT) | Sininho (84336 on cart) |
-| | 80-084327(SP) | Campanilla |
-+========+===================+===========================================================================================+
-| | 80-084340(US) | Up! |
-| | 80-084342(NL) | Up! |
-| | 80-084344(GE) | Oben |
-| | 80-084345(FR) | La-Haut |
-| | 80-084347(SP) | Up! |
-| | 80-084347-022(SP) | Up! (-022 is odd for SP) |
-+========+===================+===========================================================================================+
-| XX | 80-084360(US) | Handy Manny |
-| | 80-084362(NL) | Handy Manny |
-| | 80-084363(UK) | Handy Manny |
-| | 80-084364(GE) | Meister Manny's Werkzeugkiste |
-| | 80-084365(FR) | Manny Et Ses Outils |
-| | 80-084366(PT) | Manny Maozinhas (84376 on cart) |
-| | 80-084367(SP) | Manny Manitas |
-+========+===================+===========================================================================================+
-| | 80-084380(US) | Winnie the Pooh - The Honey Hunt |
-| | (IT) | Winnie the Pooh - e la caccia al miele ??? |
-| | 80-084383(UK) | Winnie the Pooh - The Honey Hunt |
-| XX | 80-084384(GE) | Winnie Puuh - Die Honigjagd |
-| | 80-084385(FR) | Winnie Rourson - La Chasse au miel de Winnie |
-| | 80-084386(PT) | Winnie - Em Busca do Mel (84396 on cart) |
-| | 80-084387(SP) | Winnie the Pooh - En Busca de la Miel |
-+========+===================+===========================================================================================+
-| | 80-084400(US) | Cars: Rev It Up in Radiator Springs |
-| | 80-084402(NL) | Cars: Spektakel in Radiator Springs |
-| | 80-084403(UK) | Cars: Rev it up in Radiator Springs |
-| XX | 80-084404(GE) | Cars: Vollgas in Radiator Springs |
-| | 80-084405(FR) | Cars: Quatre Roues |
-| | 80-084406(PT) | Cars: Aventura Em Radiator Springs (84416 on cart) |
-| | 80-084407(SP) | Cars: Acelera el Motor en Radiador Springs |
-+========+===================+===========================================================================================+
-| | 80-084420(US) | Toy Story 3 |
-| | 80-084421(US) | Toy Story 3 (pocket version) |
-| | (IT) | Toy Story 3 (EAN 8033836704196, GP470419?) |
-| | 80-084422(NL) | Toy Story 3 |
-| | 80-084423(UK) | Toy Story 3 |
-| XX | 80-084424(GE) | Toy Story 3 |
-| | 80-084425(FR) | Toy Story 3 |
-| | 80-084427(SP) | Toy Story 3 |
-+========+===================+===========================================================================================+
-| XX | 80-084440(US) | Monsters vs. Aliens |
-| | 80-084442(NL) | Monsters vs. Aliens |
-| | 80-084443(UK) | Monsters vs. Aliens |
-| | 80-084444(GE) | Monsters vs. Aliens |
-| | 80-084445(FR) | Monsters vs. Aliens |
-| | 80-084447(SP) | Monstruos contra Alienígenas |
-+========+===================+===========================================================================================+
-| | 80-084460(US) | Noddy - Detective for a Day (unreleased in USA??) see 80-092540 |
-| | 80-084463(UK) | Noddy - Detective for a Day |
-| | 80-084465(FR) | Oui-Oui - Detective d'un jour |
-| | 80-084467(SP) | Noddy - Detective por un día |
-+========+===================+===========================================================================================+
-| | 80-084480(US) | The Princess and the Frog (motion version) |
-| | 80-084481(US) | The Princess and the Frog (pocket version) |
-| | 80-084482(NL) | Prinses en de Kikker (label in english) |
-| | 80-084483(UK) | The Princess and the Frog |
-| XX | 80-084484(GE) | Kuess den Frosch |
-| | 80-084485(FR) | La Princesse Et La Grenouille |
-| | 80-084487(SP) | Tiana y el Sapo - El gran sueño de Tiana |
-+========+===================+===========================================================================================+
-| XX | 80-084500(US) | Shrek Forever After |
-| | 80-084502(NL) | Sjrek voor eeuwig en altijd |
-| | 80-084503(UK) | Shrek Forever After |
-| XX | 80-084504(GE) | Fuer immer Shrek |
-| | 80-084505(FR) | Shrek 4 - Il Etait une Fin |
-| | 80-084507(SP) | Shrek Felices para siempre |
-+========+===================+===========================================================================================+
-| | 80-084520(US) | <Unknown> |
-+========+===================+===========================================================================================+
-| | 80-084540(US) | Super Why to the Rescue! The Beach Day Mystery |
-| | 80-084541(US) | Super Why to the Rescue! The Beach Day Mystery (pocket version) |
-+========+===================+===========================================================================================+
-| | 80-084560(US) | <Unknown> |
-+========+===================+===========================================================================================+
-| | 80-084580(US) | Cars 2 (motion version) |
-| | 80-084581(US) | Cars 2 (pocket version) |
-| | 80-084583(UK) | Cars 2 |
-| XX | 80-084584(GE) | Cars 2 |
-| | 80-084585(FR) | Cars 2 |
-| | 80-084587(SP) | Cars 2 |
-+========+===================+===========================================================================================+
-| | 80-084600(US) | <Unknown> (Should be Orange colored Cinderella - Cinderella's Magic Wishes) |
-| | 80-084603(UK) | Cinderella - Cinderella's Magic Wishes |
-| XX | 80-084604(GE) | Cinderella - Lernen im Maerchenland |
-| XX | 80-084604(GE) | Cinderella - Lernen im Maerchenland (Rev. 2?) |
-| | 80-084605(FR) | Cendrillon - ????? |
-+========+===================+===========================================================================================+
-| | 80-084620(US) | <Unknown> (Should be Orange colored Finding Nemo) |
-| | 80-084624(GE) | Findet Nemo - Nemos Unterwasserabenteuer |
-| | 80-084625(FR) | Le Monde de Nemo - Nemo a la decourverte de l'ocean |
-| | 80-084627(SP) | Buscando a Nemo - Los Descubrimientos de Nemo |
-+========+===================+===========================================================================================+
-| | 80-084640(US) | <Unknown> (Should be Orange colored Spongebob) |
-| XX | 80-084644(GE) | Spongebob Schwammkopf - Der Tag des Schwamms |
-| | 80-084647(SP) | Bob Esponja - Un día en la vida de una esponja |
-+========+===================+===========================================================================================+
++========+===================+============================================================================+
+| | 80-084000(US) | Action Mania |
+| | (IT) | ????? |
+| | 80-084002(NL) | Sports Games |
+| | 80-084003(UK) | Action Mania |
+| | 80-084004(GE) | Sportskanone |
+| | 80-084005(FR) | Sporti Folies |
+| | 80-084006(PT) | Action Mania (84016 on cart) |
+| | 80-084007(SP) | Action Manía |
++========+===================+============================================================================+
+| | 80-084020(US) | Dora the Explorer: Dora's Fix It Adventure |
+| | 80-084021(US) | Dora the Explorer: Dora's Fix It Adventure (pocket version) |
+| | 80-084022(NL) | Dora: Dora's Reparatie Avontuur |
+| | 80-084023(UK) | Dora the Explorer: Dora's Fix It Adventure |
+| XX | 80-084024(GE) | Dora: Doras Reparatur-Abenteuer |
+| | 80-084025(FR) | Dora L'Exploratrice : Les Adventures De Dora Apprentie Mecano |
+| | 80-084026(PT) | Dora : em busca das pecas perdidas |
+| | 80-084027(SP) | Dora : La Aventura arregla-todo de Dora |
++========+===================+============================================================================+
+| | 80-084040(US) | Scooby-Doo! - Funland Frenzy |
+| | 80-084043(UK) | Scooby-Doo! - Funland Frenzy |
+| | 80-084044(GE) | Scooby-Doo! - Im Lernpark |
+| | 80-084045(FR) | Scooby-Doo - Panique A Funland |
+| | 80-084047(SP) | Scooby-Doo - Misterio en el Parque |
++========+===================+============================================================================+
+| | 80-084060(US) | Thomas and Friends - Engines Working Together |
+| | 80-084063(UK) | Thomas and Friends - Engines Working Together |
+| | 80-084064(GE) | Thomas - Freunde halten zusammen |
++========+===================+============================================================================+
+| | 80-084080(US) | Wall-E |
+| | 80-084083(UK) | Wall-E |
+| | 80-084084(GE) | Wall-E |
+| | 80-084085(FR) | Wall-E |
+| | 80-084087(SP) | Wall-E |
++========+===================+============================================================================+
+| | 80-084100(US) | Wonder Pets - Save the Animals! |
+| | 80-084103(UK) | Wonder Pets - Save the Animals! |
++========+===================+============================================================================+
+| | 80-084120(US) | Kung Fu Panda - Path of the Panda |
+| | 80-084123(UK) | Kung Fu Panda - Path of the Panda |
+| XX | 80-084124(GE) | Kung Fu Panda - Der Weg des Panda |
+| | 80-084125(FR) | Kung Fu Panda - La mission de Po |
++========+===================+============================================================================+
+| | 80-084140(US) | Spider-Man & Friends - Secret Missions (AKA Professor V's Secret Missions with diff label)
+| | 80-084143(UK) | Spider-Man & Friends - Secret Missions |
+| | 80-084144(GE) | Spider-Man & Freunde - Geheime Missionen |
+| | 80-084145(FR) | Spider-Man and ses amis - Missions Secretes |
+| | 80-084147(SP) | Spider-Man y Amigos: Misiones Secretas (no # on label) |
++========+===================+============================================================================+
+| | 80-084160(US) | Disney's Little Einsteins: The Glass Slipper Ball |
+| | 80-084163(UK) | Disney's Little Einsteins: The Glass Slipper Ball |
+| XX | 80-084164(GE) | Disney's Kleine Einsteins: Der Glaspantoffel-Ball |
+| | 80-084167(SP) | Little Einsteins de Disney: El Baile del Zapatito de Cristal |
++========+===================+============================================================================+
+| | 80-084180(US) | Mickey Mouse Clubhouse |
+| | 80-084182(NL) | Mickey Mouse Clubhouse |
+| | 80-084183(UK) | Mickey Mouse Clubhouse |
+| | 80-084184(GE) | Micky Maus Wunderhaus |
+| | 80-084185(FR) | La Maison de Mickey |
+| | 80-084186(PT) | A Casa do Mickey Mouse (84196 on cart) |
+| | 80-084187(SP) | La Casa de Mickey Mouse |
++========+===================+============================================================================+
+| | 80-084200(US) | Nascar Academy - Race Car Superstar |
++========+===================+============================================================================+
+| | 80-084220(US) | Snow Park Challenge |
+| | 80-084222(NL) | Wintersport Games |
+| | 80-084223(UK) | Snow Park Challenge |
+| | 80-084224(GE) | Wintersport |
+| | 80-084225(FR) | ?????? picture too fuzzy for positve confirm |
++========+===================+============================================================================+
+| | 80-084240(US) | Ni Hao Kai Lan |
+| | 80-084245(FR) | Ni Hao Kai Lan |
++========+===================+============================================================================+
+| | 80-084260(US) | My Pet Puppy (unreleased in USA?? UK version plays AOK on NTSC console) |
+| | 80-084262(NL) | Mijn Puppy! |
+| | 80-084263(UK) | My Pet Puppy |
+| | 80-084264(GE) | Mein erster Hund |
+| | 80-084265(FR) | Mon Youtou Tout Fou! |
+| | 80-084267(SP) | Dakota y su Mascota |
++========+===================+============================================================================+
+| | 80-084280(US) | Wild Waves |
+| | 80-084282(NL) | Water-sport Games |
+| | 80-084283(UJ) | Wild Waves |
+| | 80-084284(GE) | Dolphis Wasser-abenteuer |
+| | 80-084285(FR) | Martin le Dauphin |
++========+===================+============================================================================+
+| | 80-084300(US) | Soccer Challenge |
+| | 80-084303(UK) | Football Challenge |
+| | 80-084304(GE) | Fussball Meisterschaft |
+| | 80-084305(FR) | Football Challenge |
+| | 80-084306(PT) | Football Challenge (cart#??) |
+| | 80-084307(SP) | Campeonato de Fútbol |
++========+===================+============================================================================+
+| | 80-084320(US) | Disney Fairies: TinkerBell |
+| | 80-084321(US) | Disney Fairies: TinkerBell (pocket version) |
+| | 80-084322(NL) | TinkerBell |
+| | 80-084323(UK) | TinkerBell |
+| XX | 80-084324(GE) | TinkerBell |
+| | 80-084325(FR) | La fee Clochette |
+| | 80-084326(PT) | Sininho (84336 on cart) |
+| | 80-084327(SP) | Campanilla |
++========+===================+============================================================================+
+| | 80-084340(US) | Up! |
+| | 80-084342(NL) | Up! |
+| | 80-084344(GE) | Oben |
+| | 80-084345(FR) | La-Haut |
+| | 80-084347(SP) | Up! |
+| | 80-084347-022(SP) | Up! (-022 is odd for SP) |
++========+===================+============================================================================+
+| | 80-084360(US) | Handy Manny |
+| | 80-084362(NL) | Handy Manny |
+| | 80-084363(UK) | Handy Manny |
+| | 80-084364(GE) | Meister Manny's Werkzeugkiste |
+| | 80-084365(FR) | Manny Et Ses Outils |
+| | 80-084366(PT) | Manny Maozinhas (84376 on cart) |
+| | 80-084367(SP) | Manny Manitas |
++========+===================+============================================================================+
+| | 80-084380(US) | Winnie the Pooh - The Honey Hunt |
+| | (IT) | Winnie the Pooh - e la caccia al miele ??? |
+| | 80-084383(UK) | Winnie the Pooh - The Honey Hunt |
+| XX | 80-084384(GE) | Winnie Puuh - Die Honigjagd |
+| | 80-084385(FR) | Winnie Rourson - La Chasse au miel de Winnie |
+| | 80-084386(PT) | Winnie - Em Busca do Mel (84396 on cart) |
+| | 80-084387(SP) | Winnie the Pooh - En Busca de la Miel |
++========+===================+============================================================================+
+| | 80-084400(US) | Cars: Rev It Up in Radiator Springs |
+| | 80-084402(NL) | Cars: Spektakel in Radiator Springs |
+| | 80-084403(UK) | Cars: Rev it up in Radiator Springs |
+| | 80-084404(GE) | Cars: Vollgas in Radiator Springs |
+| | 80-084405(FR) | Cars: Quatre Roues |
+| | 80-084406(PT) | Cars: Aventura Em Radiator Springs (84416 on cart) |
+| | 80-084407(SP) | Cars: Acelera el Motor en Radiador Springs |
++========+===================+============================================================================+
+| | 80-084420(US) | Toy Story 3 |
+| | 80-084421(US) | Toy Story 3 (pocket version) |
+| | (IT) | Toy Story 3 (EAN 8033836704196) GP470419? |
+| | 80-084422(NL) | Toy Story 3 |
+| | 80-084423(UK) | Toy Story 3 |
+| | 80-084424(GE) | Toy Story 3 |
+| | 80-084425(FR) | Toy Story 3 |
+| | 80-084427(SP) | Toy Story 3 |
++========+===================+============================================================================+
+| | 80-084440(US) | Monsters vs. Aliens |
+| | 80-084442(NL) | Monsters vs. Aliens |
+| | 80-084443(UK) | Monsters vs. Aliens |
+| | 80-084444(GE) | Monsters vs. Aliens |
+| | 80-084445(FR) | Monsters vs. Aliens |
+| | 80-084447(SP) | Monstruos contra Alienígenas |
++========+===================+============================================================================+
+| | 80-084460(US) | Noddy - Detective for a Day (unreleased in USA??) see 80-092540 |
+| | 80-084463(UK) | Noddy - Detective for a Day |
+| | 80-084465(FR) | Oui-Oui - Detective d'un jour |
+| | 80-084467(SP) | Noddy - Detective por un día |
++========+===================+============================================================================+
+| | 80-084480(US) | The Princess and the Frog (motion version) |
+| | 80-084481(US) | The Princess and the Frog (pocket version) |
+| | 80-084482(NL) | Prinses en de Kikker (label in english) |
+| | 80-084483(UK) | The Princess and the Frog |
+| | 80-084484(GE) | Kuess den Frosch |
+| | 80-084485(FR) | La Princesse Et La Grenouille |
+| | 80-084487(SP) | Tiana y el Sapo - El gran sueño de Tiana |
++========+===================+============================================================================+
+| | 80-084500(US) | Shrek Forever After |
+| | 80-084502(NL) | Sjrek voor eeuwig en altijd |
+| | 80-084503(UK) | Shrek Forever After |
+| | 80-084504(GE) | Fuer immer Shrek |
+| | 80-084505(FR) | Shrek 4 - Il Etait une Fin |
+| | 80-084507(SP) | Shrek Felices para siempre |
++========+===================+============================================================================+
+| | 80-084520(US) | <Unknown> |
++========+===================+============================================================================+
+| | 80-084540(US) | Super Why to the Rescue! The Beach Day Mystery |
+| | 80-084541(US) | Super Why to the Rescue! The Beach Day Mystery (pocket version) |
++========+===================+============================================================================+
+| | 80-084560(US) | <Unknown> |
++========+===================+============================================================================+
+| | 80-084580(US) | Cars 2 (motion version) |
+| | 80-084581(US) | Cars 2 (pocket version) |
+| | 80-084583(UK) | Cars 2 |
+| | 80-084584(GE) | Cars 2 |
+| | 80-084585(FR) | Cars 2 |
+| | 80-084587(SP) | Cars 2 |
++========+===================+============================================================================+
+| | 80-084600(US) | <Unknown> (Should be Orange colored Cinderella - Cinderella's Magic Wishes)|
+| | 80-084603(UK) | Cinderella - Cinderella's Magic Wishes |
+| XX | 80-084604(GE) | Cinderella - Lernen im Maerchenland |
+| | 80-084605(FR) | Cendrillon - ????? |
++========+===================+============================================================================+
+| | 80-084620(US) | <Unknown> (Should be Orange colored Finding Nemo) |
+| | 80-084624(GE) | Findet Nemo - Nemos Unterwasserabenteuer |
+| | 80-084625(FR) | Le Monde de Nemo - Nemo a la decourverte de l'ocean |
+| | 80-084627(SP) | Buscando a Nemo - Los Descubrimientos de Nemo |
++========+===================+============================================================================+
+| | 80-084640(US) | <Unknown> (Should be Orange colored Spongebob) |
+| | 80-084644(GE) | Spongebob Schwammkopf - Der Tag des Schwamms |
+| | 80-084647(SP) | Bob Esponja - Un día en la vida de una esponja |
++========+===================+============================================================================+
V.Smile Smartbooks
Smartbooks currently have no dumps available, hence they are temporarily listed here.
@@ -242,86 +241,12 @@ Smartbooks currently have no dumps available, hence they are temporarily listed
<softwarelist name="vsmilem_cart" description="VTech V.Smile Motion cartridges">
- <software name="actnmniam" supported="no">
- <description>Action Mania (US, Rev. 4?)</description>
- <year>201?</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-084000(US)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="pcb" value="708201" />
- <feature name="pcb_model" value="708201-4" />
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="8388608">
- <rom name="vsmile84000-4.bin" size="8388608" crc="9732d6c4" sha1="6973e473fc9b274fe8e1151a27bdd02df67a23eb" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="actnmniama" cloneof="actnmniam" supported="no">
- <description>Action Mania (US, Rev. 6?)</description>
- <year>201?</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-084000(US)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="8388608">
- <rom name="vsmile84000-6.bin" size="8388608" crc="ea4aeb1a" sha1="74807f9306ccc691735acdca66588a80467bebbd" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="actnmniams" cloneof="actnmniam" supported="no">
- <description>Action Manía (Sp)</description>
- <year>201?</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-084007(SP)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="pcb" value="708201" />
- <feature name="pcb_model" value="708201-4" />
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="8388608">
- <rom name="84007 G.u1" size="8388608" crc="c14a04d2" sha1="6db09fd90f88773aafd5d95c4ea403dacddc9e58" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="carsmg" supported="no">
- <description>Cars: Vollgas in Radiator Springs (Ger)</description>
- <year>2009</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-084404(GE)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="pcb" value="708106" />
- <feature name="pcb_model" value="708106-3" />
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="8388608">
- <rom name="A84404(2).u1" size="8388608" crc="beaa1b6a" sha1="c6e68da7935642035e13cc7922b0193cc6e5272c" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="cars2mg" supported="no">
- <description>Disney/Pixar Cars 2 (Ger)</description>
- <year>2011</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-084404(GE)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="pcb" value="708106" />
- <feature name="pcb_model" value="708106-3" />
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="0x1000000">
- <rom name="cars2_low.bin" size="0x0800000" crc="8d5eeb71" sha1="f53867b360464c12d905ca90aaf03855ca5fa455" offset="0x0000000" />
- <rom name="cars2_high.bin" size="0x0800000" crc="7a5b9ead" sha1="8c01a52ed392b50f2a7e91ae628ae4f6f06a5fc3" offset="0x0800000" />
- </dataarea>
- </part>
- </software>
-
- <software name="cinderlamg" supported="no">
- <description>Disneys Princess Cinderella - Lernen im Märchenland (Ger)</description>
+ <software name="cinderla" supported="no">
+ <description>Disney Princess Cinderella - Lernen im Märchenland (Ger)</description>
<year>2010?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-084604(GE)" />
- <part name="cart" interface="vsmile_cart">
+ <part name="cart" interface="vsmilem_cart">
<feature name="pcb" value="708201" />
<feature name="pcb_model" value="708201-7" />
<feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
@@ -331,24 +256,12 @@ Smartbooks currently have no dumps available, hence they are temporarily listed
</part>
</software>
- <software name="cinderlam2g" cloneof="cinderlamg" supported="no">
- <description>Disneys Princess Cinderella - Lernen im Märchenland (Ger, Rev. 2?)</description>
- <year>2010</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-084604(GE)" />
- <part name="cart" interface="vsmile_cart">
- <dataarea name="rom" size="8388608">
- <rom name="80-084604.bin" size="8388608" crc="9170597a" sha1="2c3235e7e8986b1c62af6b218a8ba49bb3571345" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="kfpandamg" supported="no">
+ <software name="kfpanda" supported="no">
<description>DreamWorks Kung Fu Panda - Der Weg des Panda (Ger)</description>
<year>2008?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-084124(GE)" />
- <part name="cart" interface="vsmile_cart">
+ <part name="cart" interface="vsmilem_cart">
<feature name="pcb" value="708201" />
<feature name="pcb_model" value="708201-4" />
<feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
@@ -358,183 +271,54 @@ Smartbooks currently have no dumps available, hence they are temporarily listed
</part>
</software>
- <software name="doram" supported="no">
- <description>Nickelodeon Dora the Explorer: Dora's Fix It Adventure (US, Rev. 3?)</description>
- <year>2008</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-084020(US)" /> <!-- Same ROM as 084021(US) -->
- <part name="cart" interface="vsmile_cart">
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="8388608">
- <rom name="vsmile84020-3.bin" size="8388608" crc="73a3c852" sha1="8ca7255ab3e45ef670d09cfb4959bc8769415dc2" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="doramg" cloneof="doram" supported="no">
+ <software name="dora" supported="no">
<description>Nick Dora - Doras Reparatur-Abenteuer (Ger)</description>
- <year>2009</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-084024(GE)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="pcb" value="708201" />
- <feature name="pcb_model" value="708201-4" />
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="8388608">
- <rom name="84024 OK.u1" size="8388608" crc="6769cb8b" sha1="615177d959983cdb67acdb8f3be063b3d09cb5db" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="doramg2" cloneof="doram" supported="no">
- <description>Nick Dora - Doras Reparatur-Abenteuer (Ger, Rev. 2)</description>
<year>2009?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-084024(GE)" />
- <part name="cart" interface="vsmile_cart">
+ <part name="cart" interface="vsmilem_cart">
<feature name="pcb" value="708201" />
<feature name="pcb_model" value="708201-4" />
<feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
<dataarea name="rom" size="8388608">
- <rom name="84024 OK.u1" size="8388608" crc="7848fa93" sha1="567a337f27cc5ff0ce832afa903efafc8a305f17" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="hmannym" cloneof="doram" supported="no">
- <description>Disney Handy Manny (US, Rev. 2?)</description>
- <year>2009</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-084360(US)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="8388608">
- <rom name="vsmile84360-2.bin" size="8388608" crc="a6ee705b" sha1="50a94ca17efbeb3a69decab948c945df272f9c69" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="ltleinstnm" supported="no">
- <description>Disney's Little Einsteins (US, Rev. 2?)</description>
- <year>2009</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-084160(US)" />
- <part name="cart" interface="vsmile_cart">
- <dataarea name="rom" size="8388608">
- <rom name="vsmile84160-2.bin" size="8388608" crc="add7cc23" sha1="561e496ecbbc1e387ec343069ac19ae9aa2f234e" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="ltleinstnma" cloneof="ltleinstnm" supported="no">
- <description>Disney's Little Einsteins (US, Rev. 5?)</description>
- <year>2009</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-084160(US)" />
- <part name="cart" interface="vsmile_cart">
- <dataarea name="rom" size="8388608">
- <rom name="vsmile84160-5.bin" size="8388608" crc="e81159c9" sha1="dc96120d27de83e37edae6620ac40ab11b56d871" offset="0" />
+ <rom name="84024 OK.u1" size="8388608" crc="6769cb8b" sha1="615177d959983cdb67acdb8f3be063b3d09cb5db" offset="0" />
</dataarea>
</part>
</software>
- <software name="ltleinstnmg" cloneof="ltleinstnm" supported="no">
- <description>Disney's Kleine Einsteins (Ger)</description>
+ <software name="kleinstn" supported="no">
+ <description>Kleine Einsteins (Ger)</description>
<year>200?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-084164(GE)" />
- <part name="cart" interface="vsmile_cart">
+ <part name="cart" interface="vsmilem_cart">
<dataarea name="rom" size="8388608">
<rom name="80-084164.bin" size="8388608" crc="b0ec807e" sha1="e947c84efd3f061cbf10f73e412d4cfdd474bade" offset="0" />
</dataarea>
</part>
</software>
- <software name="ltleinstnm2g" cloneof="ltleinstnm" supported="no">
- <description>Disney's Kleine Einsteins (Ger, Rev. 2?)</description>
- <year>2009</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-084164(GE)" />
- <part name="cart" interface="vsmile_cart">
- <dataarea name="rom" size="8388608">
- <rom name="80-084164.bin" size="8388608" crc="6bb78a9b" sha1="341d773b774af3153e2490605d8d3d9d88fb6903" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="mickeychm" supported="no">
- <description>Disney Mickey Mouse Clubhouse (US)</description>
- <year>2008</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-084180(US)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="8388608">
- <rom name="vsmile84180.bin" size="8388608" crc="2538c1d2" sha1="481af1fe5de995854068329aabf08ae9c197d175" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="monvsalienm" supported="no">
- <description>DreamWorks Monsters vs. Aliens (US, Rev. 3?)</description>
- <year>2009</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-084440(US)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="8388608">
- <rom name="vsmile84440-3.bin" size="8388608" crc="81f7affb" sha1="3208b5f2d6616396b2bd3a5446bd4e3ee277dc9a" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="mypuppymg" supported="no">
- <description>Mein erster Hund (Ger)</description>
- <year>200?</year>
+ <software name="tinker" supported="no">
+ <description>TinkerBell (Ger)</description>
+ <year>2009?</year>
<publisher>VTech</publisher>
- <info name="serial" value="80-084264(GE)" />
- <part name="cart" interface="vsmile_cart">
+ <info name="serial" value="80-084324(GE)" />
+ <part name="cart" interface="vsmilem_cart">
<feature name="pcb" value="708201" />
<feature name="pcb_model" value="708201-7" />
<feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
<dataarea name="rom" size="8388608">
- <rom name="C84264.u1" size="8388608" crc="ca98e437" sha1="8c4964a671c6c3d3c8bd5859b14143b901d54021" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="nascarm" supported="no">
- <description>NASCAR Academy - Race Car Superstar (US)</description>
- <year>2009?</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-084200(US)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="8388608">
- <rom name="vsmile84200.bin" size="8388608" crc="55db5a32" sha1="8345985019ceaeb26bad1d0fa1236807ba054fac" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="nihaoklm" supported="no">
- <description>Nickelodeon Ni Hao Kai Lan - Happy Chinese New Year! (US)</description>
- <year>2009</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-084240(US)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="8388608">
- <rom name="vsmile84240.bin" size="8388608" crc="3c3ddb1a" sha1="1a37f28f8893e130f55e6cae964490a9b3a60528" offset="0" />
+ <rom name="C84324.u1" size="8388608" crc="9e207566" sha1="bb3e180a2c69306b56f08909a05dc83309be0f09" offset="0" />
</dataarea>
</part>
</software>
- <software name="poohmg" supported="no">
+ <software name="pooh" supported="no">
<description>Winnie Puuh - Die Honigjagd (Ger)</description>
<year>2009?</year>
<publisher>VTech</publisher>
<info name="serial" value="80-084384(GE)" />
- <part name="cart" interface="vsmile_cart">
+ <part name="cart" interface="vsmilem_cart">
<feature name="pcb" value="708201" />
<feature name="pcb_model" value="708201-4" />
<feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
@@ -544,161 +328,4 @@ Smartbooks currently have no dumps available, hence they are temporarily listed
</part>
</software>
- <software name="prinfrogmg" supported="no">
- <description>Küss den Frosch - Tianas großer Traum (Ger)</description>
- <year>2010</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-084484(GE)" />
- <part name="cart" interface="vsmile_cart">
- <dataarea name="rom" size="8388608">
- <rom name="C84484.bin" size="8388608" crc="8abc088c" sha1="3637de0af0371a4bb473ae28b35141b10bbb047f" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="shrekfam" supported="no">
- <description>Shrek Forever After (US)</description>
- <year>200?</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-084500(US)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="pcb" value="84500 E" />
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM --> <!-- 2 globs, uses /CS2 for 2nd glob -->
- <feature name="u2" value="" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="0x1000000">
- <rom name="vsmile84500.blob1.bin" size="0x0800000" crc="175117f1" sha1="48231caf853e27856eb033d14937b7eb7e74198c" offset="0x0000000" />
- <rom name="vsmile84500.blob2.bin" size="0x0800000" crc="5dc681ea" sha1="1a3a2ff08bd52ad74183b09059082b492000e571" offset="0x0800000" />
- </dataarea>
- </part>
- </software>
-
- <software name="shrekfamg" cloneof="shrekfam" supported="no">
- <description>Für immer Shrek (Ger)</description>
- <year>2010</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-084504(GE)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="pcb" value="710654-1" />
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM --> <!-- 2 globs, uses /CS2 for 2nd glob -->
- <feature name="u2" value="" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="0x1000000">
- <rom name="vsmile84504.blob1.bin" size="0x0800000" crc="3f1c79e2" sha1="1b12b9b379dd942356e6ee6594c8b80dbb9db781" offset="0x0000000" />
- <rom name="vsmile84504.blob2.bin" size="0x0800000" crc="78cf731b" sha1="9b1d1eed7bd216f4feca3160c31912b7c81e4efd" offset="0x0800000" />
- </dataarea>
- </part>
- </software>
-
- <software name="spidermnmg" supported="no">
- <description>Marvel Spider-Man &amp; Freunde - Geheime Missionen (Ger)</description>
- <year>2010</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-084144(GE)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="pcb" value="708201" />
- <feature name="pcb_model" value="708201-7" />
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="8388608">
- <rom name="C84144.u1" size="8388608" crc="93d129ef" sha1="8e67e2ad36104c34b6fd944e25bbfbf0313a1d7c" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="spongebmg" supported="no">
- <description>Nickelodeon Spongebob Schwammkopf - Der Tag des Schwamms (Ger)</description>
- <year>2011</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-084644(GE)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="pcb" value="708201" />
- <feature name="pcb_model" value="708201-7" />
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="8388608">
- <rom name="C84644.u1" size="8388608" crc="c89d9c51" sha1="11836295ebfd0a8c62e0d5f482a3c7dc18b71d1f" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="thomasmg" supported="no">
- <description>Thomas - Freunde halten zusammen (Ger)</description>
- <year>2007?</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-084064(GE)" />
- <part name="cart" interface="vsmile_cart">
- <dataarea name="rom" size="8388608">
- <rom name="80-084064.bin" size="8388608" crc="40b28ac8" sha1="ed67e92e25dbc64c78a6e0d28c9632e9b57bd60b" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="tinkerm" supported="no">
- <description>TinkerBell (US, Rev. 2?)</description>
- <year>2009</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-084320(GE)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="8388608">
- <rom name="vsmile84320-2.bin" size="8388608" crc="fa8d9640" sha1="23a69fbc2b70658b827f1b8196ee55e3efd85ef5" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="tinkermg" cloneof="tinkerm" supported="no">
- <description>TinkerBell (Ger)</description>
- <year>2009?</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-084324(GE)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="pcb" value="708201" />
- <feature name="pcb_model" value="708201-7" />
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="8388608">
- <rom name="C84324.u1" size="8388608" crc="9e207566" sha1="bb3e180a2c69306b56f08909a05dc83309be0f09" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="toystor3mg" supported="no">
- <description>Toy Story 3 (Ger)</description>
- <year>2010</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-084424(GE)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="pcb" value="710654-2" />
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM --> <!-- 2 globs, uses /CS2 for 2nd glob -->
- <feature name="u2" value="" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="0x1000000">
- <rom name="vsmile84424.blob1.bin" size="0x0800000" crc="845bbb46" sha1="1b11bb1a119715073560b40d65b77894043dd67a" offset="0x0000000" />
- <rom name="vsmile84424.blob2.bin" size="0x0800000" crc="c006e9b6" sha1="2f4b32ba578117caa53bb0bf9db717d8d9dd8a13" offset="0x0800000" />
- </dataarea>
- </part>
- </software>
-
- <software name="wallem" supported="no">
- <description>Disney/Pixar Wall-E (USA, Rev. 2?)</description>
- <year>2008</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-084080(US)" />
- <part name="cart" interface="vsmile_cart">
- <feature name="pcb" value="708106" />
- <feature name="pcb_model" value="708106-3" />
- <feature name="u1" value="" /> <!-- EPOXY BLOB ROM -->
- <dataarea name="rom" size="0x0800000">
- <rom name="vsmile84080-2.bin" size="0x0800000" crc="63b0ae95" sha1="0ae362c743e690175d07b61822f897fc16094eb9" offset="0x0000000" />
- </dataarea>
- </part>
- </software>
-
- <software name="wintrsptmg" supported="no">
- <description>Wintersport (Ger)</description>
- <year>2009?</year>
- <publisher>VTech</publisher>
- <info name="serial" value="80-084224(GE)" />
- <part name="cart" interface="vsmile_cart">
- <dataarea name="rom" size="8388608">
- <rom name="80-84224.bin" size="8388608" crc="76e0952f" sha1="fd4bed2303a0e98af85645a477edb34281a5d17d" offset="0" />
- </dataarea>
- </part>
- </software>
-
</softwarelist>
diff --git a/hash/vtech_storio_cart.xml b/hash/vtech_storio_cart.xml
deleted file mode 100644
index 6a5b7ccc889..00000000000
--- a/hash/vtech_storio_cart.xml
+++ /dev/null
@@ -1,113 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
-<softwarelist name="vtech_storio_cart" description="VTech Storio V.Reader Cartridges">
-
- <!-- These are NAND Flash ROMs containing a FAT16 filesystem -->
- <!-- Some cartridges (PCB 35-115600-027-402) contains no ROM, but just some bridges between edge connector pins. -->
-
- <!--
-
- Language:
- ********0 = US
- ********1 = Italy
- ********2 = Netherlands
- ********3 = UK
- ********4 = Germany
- ********5 = France
- ********6 = Portugal
- ********7 = Spain
-
- Dumped | Serial | Name
- ==============================================================================================
- | 80-115600(US) | What's That Noise (it's 52-280800 on VTech catalog)
- NA | 80-115622(SP) | ¿Qué ruido es ese? (no ROM cartridge)
- | 80-280000(US) | Shrek's Vacation
- | 80-280003(UK) | Shrek's Holiday
- | 80-280100(US) | Toy Story 3
- | 80-280200(US) | Mr. Men/Little Miss
- | 80-280300(US) | Disney Fairies - Tinkerbell and The Great Fairy Rescue
- | 80-280400(US) | Scooby Doo! - Scooby Doo and a Mummy, Too!
- | 80-280403(UK) | Scooby Doo! - Scooby Doo and a Mummy, Too!
- XX | 80-280422(SP) | Scooby Doo! - Scooby Doo y la momia
- | 80-280600(US) | Olivia
- | 80-280700(US) | The Little Engine That Could
- | 80-280900(US) | Dora and the Three Little Pigs
- XX | 80-280422(GER) | Dora und die drei Schweinchen
- | 80-281000(US) | Mickey Mouse Clubhouse
- XX | 80-281004(GER) | Micky Maus Wunderhaus
- | 80-281100(US) | Disney Princess
- | 80-281103(UK) | Disney Princess
- | 80-281200(US) | Cars
- | 80-281300(US) | Sesame Street The Happy Scientists
- | 80-281400(US) | SpongeBob SquarePants Model Sponge
- XX | 80-281404(GER) | Spongebob Schwammkopf - Ein Schwamm will nach oben
- | 80-281500(US) | Tangled
- XX | 80-281504(GER) | Rapunzel - Neu verföhnt
- | 80-281600(US) | Chuggington - Babysitter Brewster
- | 80-281700(US) | Penguins of Madagascar - The Helmet
- | 80-281800(US) | Kung Fu Panda 2
- | 80-281900(US) | Cars 2
- | 80-282000(US) | Winnie the Pooh
- | 80-282100(US) | Super Why! - Attack of the Eraser
- | 80-282200(US) | Madagascar 3
- | 80-282300(US) | Dinosaur Train - T.Rex Teeth
- | 80-282400(US) | Hello Kitty's Surprise
-
- -->
-
- <software name="scoobysp" supported="no">
- <description>Scooby-Doo!-Scooby-Doo y la momia (Spain)</description>
- <year>2012</year>
- <publisher>VTech</publisher>
- <part name="cart" interface="vtech_storio_cart">
- <dataarea name="rom" size="0x4200000">
- <rom name="80-280422 - scooby-doo-scooby-doo y la momia (SP).bin" size="0x4200000" crc="cd1ee924" sha1="83e561af5910dc547829d54c84fbef60350f4f54" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="doragr" supported="no">
- <description>Dora und die drei Schweinchen (Germany)</description>
- <year>2011</year>
- <publisher>VTech</publisher>
- <part name="cart" interface="vtech_storio_cart">
- <dataarea name="rom" size="0x4200000">
- <rom name="80-280904 - Dora und die drei Schweinchen (GER).bin" size="0x4200000" crc="34f85a56" sha1="93b27d5c2a5b9e23470a3cb48099e3aa1f36bde6" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="mickeychgr" supported="no">
- <description>Micky Maus Wunderhaus (Germany)</description>
- <year>2011</year>
- <publisher>VTech</publisher>
- <part name="cart" interface="vtech_storio_cart">
- <dataarea name="rom" size="0x4200000">
- <rom name="80-281004 - Micky Maus Wunderhaus (GER).bin" size="0x4200000" crc="036fc056" sha1="28f5b7c13eaceadeca5f4e8ec8b1ef2f2d85d1ba" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="spongbobgr" supported="no">
- <description>Spongebob Schwammkopf - Ein Schwamm will nach oben (Germany)</description>
- <year>2011</year>
- <publisher>VTech</publisher>
- <part name="cart" interface="vtech_storio_cart">
- <dataarea name="rom" size="0x4200000">
- <rom name="80-281404 - Spongebob Schwammkopf - Ein Schwamm will nach oben (GER).bin" size="0x4200000" crc="f1a68329" sha1="95c39150ab86233575f4f32574f7077436077adf" offset="0" />
- </dataarea>
- </part>
- </software>
-
- <software name="tangledgr" supported="no">
- <description>Rapunzel - Neu verföhnt (Germany)</description>
- <year>20??</year>
- <publisher>VTech</publisher>
- <part name="cart" interface="vtech_storio_cart">
- <dataarea name="rom" size="0x4200000">
- <rom name="80-281504 - Rapunzel - Neu verfohnt (GER).bin" size="0x4200000" crc="70fd0039" sha1="85823b4fcbcb3ff644154c3c0f3f3bd962846e50" offset="0" />
- </dataarea>
- </part>
- </software>
-
-</softwarelist>
diff --git a/hash/z80ne_cass.xml b/hash/z80ne_cass.xml
index 0a9bb720205..044a93be059 100644
--- a/hash/z80ne_cass.xml
+++ b/hash/z80ne_cass.xml
@@ -43,13 +43,13 @@ Loading Tape BASIC Programs
<info name="usage" value="See z80ne_cass.xml file for loading instructions"/>
<part name="cass1" interface="z80ne_cass">
- <feature name="part_id" value="Tape 1 (Lettura)"/>
+ <feature name="part_id" value="Tape 1 (Lettura)"/>
<dataarea name="cass" size="1102980">
<rom name="basic 1' parte 1200bps.wav" size="1102980" crc="ce366f71" sha1="877c5ad33f6f5d502c950170bc1616f157526d43" offset="0" />
</dataarea>
</part>
<part name="cass2" interface="z80ne_cass">
- <feature name="part_id" value="Tape 2 (BASIC)"/>
+ <feature name="part_id" value="Tape 2 (BASIC)"/>
<dataarea name="cass" size="2908430">
<rom name="basic 2' parte 1200bps.wav" size="2908430" crc="5775a8a0" sha1="bc2a02739db5dfe2460c01ead167edb73a9cb921" offset="0" />
</dataarea>
@@ -63,13 +63,13 @@ Loading Tape BASIC Programs
<info name="usage" value="See z80ne_cass.xml file for loading instructions"/>
<part name="cass1" interface="z80ne_cass">
- <feature name="part_id" value="Tape 1 (Lettura)"/>
+ <feature name="part_id" value="Tape 1 (Lettura)"/>
<dataarea name="cass" size="1566466">
<rom name="basic 1' parte 600bps.wav" size="1566466" crc="c323b144" sha1="961fe7cbd1dd80a706533f7f52c80582237fc7ed" offset="0" />
</dataarea>
</part>
<part name="cass2" interface="z80ne_cass">
- <feature name="part_id" value="Tape 2 (BASIC)"/>
+ <feature name="part_id" value="Tape 2 (BASIC)"/>
<dataarea name="cass" size="5177366">
<rom name="basic 2' parte 600bps.wav" size="5177366" crc="37eac04d" sha1="941d5d25253df6876e106e31bb5c76aae7540467" offset="0" />
</dataarea>
@@ -83,13 +83,13 @@ Loading Tape BASIC Programs
<info name="usage" value="See z80ne_cass.xml file for loading instructions"/>
<part name="cass1" interface="z80ne_cass">
- <feature name="part_id" value="Tape 1 (Lettura)"/>
+ <feature name="part_id" value="Tape 1 (Lettura)"/>
<dataarea name="cass" size="2471412">
<rom name="basic 1' parte 300bps.wav" size="2471412" crc="4aa6746c" sha1="f4aa0edd0fe9397c51e21cf1ae1cdd166f8789c2" offset="0" />
</dataarea>
</part>
<part name="cass2" interface="z80ne_cass">
- <feature name="part_id" value="Tape 2 (BASIC)"/>
+ <feature name="part_id" value="Tape 2 (BASIC)"/>
<dataarea name="cass" size="9693228">
<rom name="basic 2' parte 300bps.wav" size="9693228" crc="ffa4fe39" sha1="d7bc385bb84017d9453b26c944ca4a6c58bd8014" offset="0" />
</dataarea>
@@ -103,19 +103,19 @@ Loading Tape BASIC Programs
<info name="usage" value="Follow machine-language loading instructions (see z80ne_cass.xml file)"/>
<part name="cass1" interface="z80ne_cass">
- <feature name="part_id" value="Tape 1"/>
+ <feature name="part_id" value="Tape 1"/>
<dataarea name="cass" size="1069906">
<rom name="bioritmi 1' parte 1200bps.wav" size="1069906" crc="2161f939" sha1="2e6a62d2aaaf718eed7cb1f9c6835a28b8650030" offset="0" />
</dataarea>
</part>
<part name="cass2" interface="z80ne_cass">
- <feature name="part_id" value="Tape 2"/>
+ <feature name="part_id" value="Tape 2"/>
<dataarea name="cass" size="1069906">
<rom name="bioritmi 2' parte 1200bps.wav" size="1069906" crc="e47265bb" sha1="d0140ff99e0a11b9a5bcb2273fe15ab85d106c65" offset="0" />
</dataarea>
</part>
<part name="cass3" interface="z80ne_cass">
- <feature name="part_id" value="Tape 3"/>
+ <feature name="part_id" value="Tape 3"/>
<dataarea name="cass" size="1069906">
<rom name="bioritmi 3' parte 1200bps.wav" size="1069906" crc="0ef56c4a" sha1="53a437c5c698833125869b2486dcaaeeb8fcb432" offset="0" />
</dataarea>
@@ -129,19 +129,19 @@ Loading Tape BASIC Programs
<info name="usage" value="Follow machine-language loading instructions (see z80ne_cass.xml file)"/>
<part name="cass1" interface="z80ne_cass">
- <feature name="part_id" value="Tape 1"/>
+ <feature name="part_id" value="Tape 1"/>
<dataarea name="cass" size="1500316">
<rom name="bioritmi 1' parte 600bps.wav" size="1500316" crc="5a9fd253" sha1="3f7b4639b2bb0cc06bc3c5d5334f79990af7e00d" offset="0" />
</dataarea>
</part>
<part name="cass2" interface="z80ne_cass">
- <feature name="part_id" value="Tape 2"/>
+ <feature name="part_id" value="Tape 2"/>
<dataarea name="cass" size="1500316">
<rom name="bioritmi 2' parte 600bps.wav" size="1500316" crc="44445b6a" sha1="5c2b48eecbb7c4c97e4b6a669b77e4344cfd1195" offset="0" />
</dataarea>
</part>
<part name="cass3" interface="z80ne_cass">
- <feature name="part_id" value="Tape 3"/>
+ <feature name="part_id" value="Tape 3"/>
<dataarea name="cass" size="1500316">
<rom name="bioritmi 3' parte 600bps.wav" size="1500316" crc="a7bcc270" sha1="4b87d322f77a5c4d77b9e474f22bc92d2316711e" offset="0" />
</dataarea>
@@ -155,19 +155,19 @@ Loading Tape BASIC Programs
<info name="usage" value="Follow machine-language loading instructions (see z80ne_cass.xml file)"/>
<part name="cass1" interface="z80ne_cass">
- <feature name="part_id" value="Tape 1"/>
+ <feature name="part_id" value="Tape 1"/>
<dataarea name="cass" size="2339112">
<rom name="bioritmi 1' parte 300bps.wav" size="2339112" crc="b3f968fb" sha1="7ec33662d41d69bf6cf911ef893c4bc97e22fe5f" offset="0" />
</dataarea>
</part>
<part name="cass2" interface="z80ne_cass">
- <feature name="part_id" value="Tape 2"/>
+ <feature name="part_id" value="Tape 2"/>
<dataarea name="cass" size="2339112">
<rom name="bioritmi 2' parte 300bps.wav" size="2339112" crc="fcabdd05" sha1="0306197e1bb49d6b71195744b9ebb876c140d667" offset="0" />
</dataarea>
</part>
<part name="cass3" interface="z80ne_cass">
- <feature name="part_id" value="Tape 3"/>
+ <feature name="part_id" value="Tape 3"/>
<dataarea name="cass" size="2339112">
<rom name="bioritmi 3' parte 300bps.wav" size="2339112" crc="ff1d19fc" sha1="014bb647159a323f9870a2b8bfb132a74d310777" offset="0" />
</dataarea>
diff --git a/keymaps/km_be_LINUX.map b/keymaps/km_be_LINUX.map
index e15a4345321..4462771f129 100644
--- a/keymaps/km_be_LINUX.map
+++ b/keymaps/km_be_LINUX.map
@@ -1,49 +1,44 @@
-#
-# FIXME: This file produces errors and needs to be fixed.
-#
-
-[SDL2]
# MAME/MESS keymap for Belgian AZERTY 105-keys keyboard (Linux)
#
# Row 1
#
-ITEM_ID_TILDE SDL_SCANCODE_WORLD_18 ²
-ITEM_ID_1 SDL_SCANCODE_AMPERSAND &
-ITEM_ID_2 SDL_SCANCODE_WORLD_73 é
-ITEM_ID_3 SDL_SCANCODE_QUOTEDBL "
-ITEM_ID_4 SDL_SCANCODE_QUOTE '
-ITEM_ID_5 SDL_SCANCODE_LEFTPAREN (
-ITEM_ID_6 SDL_SCANCODE_WORLD_7 §
-ITEM_ID_7 SDL_SCANCODE_WORLD_72 è
-ITEM_ID_8 SDL_SCANCODE_EXCLAIM !
-ITEM_ID_9 SDL_SCANCODE_WORLD_71 ç
-ITEM_ID_0 SDL_SCANCODE_WORLD_64 à
-ITEM_ID_MINUS SDL_SCANCODE_RIGHTPAREN )
-ITEM_ID_EQUALS SDL_SCANCODE_MINUS -
+ITEM_ID_TILDE SDLK_WORLD_18 0x31 0xb2 ²
+ITEM_ID_1 SDLK_AMPERSAND 0x0a 0x26 &
+ITEM_ID_2 SDLK_WORLD_73 0x0b 0xe9 é
+ITEM_ID_3 SDLK_QUOTEDBL 0x0c 0x22 "
+ITEM_ID_4 SDLK_QUOTE 0x0d 0x27 '
+ITEM_ID_5 SDLK_LEFTPAREN 0x0e 0x28 (
+ITEM_ID_6 SDLK_WORLD_7 0x0f 0xa7 §
+ITEM_ID_7 SDLK_WORLD_72 0x10 0xe8 è
+ITEM_ID_8 SDLK_EXCLAIM 0x11 0x21 !
+ITEM_ID_9 SDLK_WORLD_71 0x12 0xe7 ç
+ITEM_ID_0 SDLK_WORLD_64 0x13 0xe0 à
+ITEM_ID_MINUS SDLK_RIGHTPAREN 0x14 0x29 )
+ITEM_ID_EQUALS SDLK_MINUS 0x15 0x2d -
#
# Row 2
#
-ITEM_ID_Q SDL_SCANCODE_A A
-ITEM_ID_W SDL_SCANCODE_Z Z
-ITEM_ID_OPENBRACE SDL_SCANCODE_CARET ^
-ITEM_ID_CLOSEBRACE SDL_SCANCODE_DOLLAR $
+ITEM_ID_Q SDLK_a 0x18 0x61 A
+ITEM_ID_W SDLK_z 0x19 0x7a Z
+ITEM_ID_OPENBRACE SDLK_CARET 0x22 0x5e ^
+ITEM_ID_CLOSEBRACE SDLK_DOLLAR 0x23 0x24 $
#
# Row 3
#
-ITEM_ID_A SDL_SCANCODE_Q Q
-ITEM_ID_COLON SDL_SCANCODE_M M
-ITEM_ID_QUOTE SDL_SCANCODE_WORLD_89 ù
-ITEM_ID_BACKSLASH SDL_SCANCODE_WORLD_21 µ
+ITEM_ID_A SDLK_q 0x26 0x71 Q
+ITEM_ID_COLON SDLK_m 0x2f 0x6d M
+ITEM_ID_QUOTE SDLK_WORLD_89 0x30 0xf9 ù
+ITEM_ID_BACKSLASH SDLK_WORLD_21 0x33 0xb5 µ
#
# Row 4
#
-ITEM_ID_BACKSLASH2 SDL_SCANCODE_LESS <
-ITEM_ID_Z SDL_SCANCODE_W W
-ITEM_ID_M SDL_SCANCODE_COMMA ,
-ITEM_ID_COMMA SDL_SCANCODE_SEMICOLON ;
-ITEM_ID_STOP SDL_SCANCODE_COLON :
-ITEM_ID_SLASH SDL_SCANCODE_EQUALS =
+ITEM_ID_BACKSLASH2 SDLK_LESS 0x5e 0x3c <
+ITEM_ID_Z SDLK_w 0x34 0x77 W
+ITEM_ID_M SDLK_COMMA 0x3a 0x2c ,
+ITEM_ID_COMMA SDLK_SEMICOLON 0x3b 0x3b ;
+ITEM_ID_STOP SDLK_COLON 0x3c 0x3a :
+ITEM_ID_SLASH SDLK_EQUALS 0x3d 0x3d =
#
# Row 5
#
-ITEM_ID_RALT SDL_SCANCODE_MODE ALTGR \ No newline at end of file
+ITEM_ID_RALT SDLK_MODE 0x71 0x00 ALTGR \ No newline at end of file
diff --git a/keymaps/km_br_LINUX.map b/keymaps/km_br_LINUX.map
index 79958b20bac..19ded27bbef 100644
--- a/keymaps/km_br_LINUX.map
+++ b/keymaps/km_br_LINUX.map
@@ -1,42 +1,33 @@
-[SDL2]
-# MAME/MESS keymap for Brazilian ABNT2 QWERTY 105-keys keyboard (Linux)
+# MAME/MESS keymap for Brazilian QWERTY 107-keys keyboard (Linux)
+#
+# The 107-keys Brazilian keyboard has an extra key used to type "/".
+# Since I don't own such a keyboard, I can't write a proper definition.
+# However, it should be placed in the 4th row, after ITEM_ID_SLASH.
+#
+# SDL can tell the difference between the two COMPOSE keys but assigns them the same label
+# thus both OPENBRACE and QUOTE appear like "´ ~" in the user interface.
+# The following definitions are therefore correct.
#
# Row 1
#
-ITEM_ID_TILDE SDL_SCANCODE_APOSTROPHE ~
+ITEM_ID_TILDE SDLK_QUOTE 0x31 0x27 '
#
# Row 2
#
-ITEM_ID_OPENBRACE SDL_SCANCODE_RIGHTBRACKET [
-ITEM_ID_CLOSEBRACE SDL_SCANCODE_BACKSLASH ]
+ITEM_ID_OPENBRACE SDLK_COMPOSE 0x22 0x00 ´
+ITEM_ID_CLOSEBRACE SDLK_LEFTBRACKET 0x23 0x00 [
#
# Row 3
#
-ITEM_ID_COLON SDL_SCANCODE_SLASH :
-ITEM_ID_QUOTE SDL_SCANCODE_GRAVE "
-ITEM_ID_BACKSLASH SDL_SCANCODE_NONUSBACKSLASH \
+ITEM_ID_COLON SDLK_WORLD_71 0x2f 0xe7 Ç
+ITEM_ID_QUOTE SDLK_COMPOSE 0x30 0x00 ~
+ITEM_ID_BACKSLASH SDLK_RIGHTBRACKET 0x33 0x00 ]
#
# Row 4
#
-ITEM_ID_STOP SDL_SCANCODE_PERIOD .
-#
-# keyPad row 1
-#
-ITEM_ID_NUMLOCK SDL_SCANCODE_NUMLOCKCLEAR NUMLOCK
-ITEM_ID_SLASH_PAD SDL_SCANCODE_KP_DIVIDE /
-ITEM_ID_ASTERISK SDL_SCANCODE_KP_MULTIPLY *
-ITEM_ID_MINUS_PAD SDL_SCANCODE_KP_MINUS -
-#
-# keyPad row 2
-#
-ITEM_ID_PLUS_PAD SDL_SCANCODE_KP_PLUS +
-#
-# keyPad row 3
-#
-ITEM_ID_STOP SDL_SCANCODE_KP_DECIMAL .
-#
-# keyPad row 4
+ITEM_ID_BACKSLASH2 SDLK_LESS 0x5e 0x3c <
+ITEM_ID_SLASH SDLK_SEMICOLON 0x3d 0x3b ;
#
-# keyPad row 5
+# Row 5
#
-ITEM_ID_COMMA SDL_SCANCODE_KP_PERIOD ,
+ITEM_ID_RALT SDLK_MODE 0x71 0x00 ALTGR \ No newline at end of file
diff --git a/keymaps/km_ch_LINUX.map b/keymaps/km_ch_LINUX.map
index 2e27dfd0997..53595faa082 100644
--- a/keymaps/km_ch_LINUX.map
+++ b/keymaps/km_ch_LINUX.map
@@ -1,34 +1,29 @@
-#
-# FIXME: This file produces errors and needs to be fixed.
-#
-
-[SDL2]
# MAME/MESS keymap for Swiss QWERTZ 105-keys keyboard (Linux)
#
# Row 1
#
-ITEM_ID_TILDE SDL_SCANCODE_WORLD_7 §
-ITEM_ID_MINUS SDL_SCANCODE_QUOTE '
-ITEM_ID_EQUALS SDL_SCANCODE_CARET ^
+ITEM_ID_TILDE SDLK_WORLD_7 0x31 0xa7 §
+ITEM_ID_MINUS SDLK_QUOTE 0x14 0x27 '
+ITEM_ID_EQUALS SDLK_CARET 0x15 0x00 ^
#
# Row 2
#
-ITEM_ID_Y SDL_SCANCODE_Z Z
-ITEM_ID_OPENBRACE SDL_SCANCODE_WORLD_92 ü
-ITEM_ID_CLOSEBRACE SDL_SCANCODE_COMPOSE ¨
+ITEM_ID_Y SDLK_z 0x1d 0x7a Z
+ITEM_ID_OPENBRACE SDLK_WORLD_92 0x22 0xfc ü
+ITEM_ID_CLOSEBRACE SDLK_COMPOSE 0x23 0x00 ¨
#
# Row 3
#
-ITEM_ID_COLON SDL_SCANCODE_WORLD_86 ö
-ITEM_ID_QUOTE SDL_SCANCODE_WORLD_68 ä
-ITEM_ID_BACKSLASH SDL_SCANCODE_DOLLAR $
+ITEM_ID_COLON SDLK_WORLD_86 0x2f 0xf6 ö
+ITEM_ID_QUOTE SDLK_WORLD_68 0x30 0xe4 ä
+ITEM_ID_BACKSLASH SDLK_DOLLAR 0x33 0x24 $
#
# Row 4
#
-ITEM_ID_BACKSLASH2 SDL_SCANCODE_LESS <
-ITEM_ID_Z SDL_SCANCODE_Y Y
-ITEM_ID_SLASH SDL_SCANCODE_MINUS -
+ITEM_ID_BACKSLASH2 SDLK_LESS 0x5e 0x3c <
+ITEM_ID_Z SDLK_y 0x34 0x79 Y
+ITEM_ID_SLASH SDLK_MINUS 0x3d 0x2d -
#
# Row 5
#
-ITEM_ID_RALT SDL_SCANCODE_MODE ALTGR \ No newline at end of file
+ITEM_ID_RALT SDLK_MODE 0x71 0x00 ALTGR \ No newline at end of file
diff --git a/keymaps/km_de_LINUX.map b/keymaps/km_de_LINUX.map
index e2c4448d20a..4b8ec55a793 100644
--- a/keymaps/km_de_LINUX.map
+++ b/keymaps/km_de_LINUX.map
@@ -1,31 +1,29 @@
-[SDL2]
# MAME/MESS keymap for German QWERTZ 105-keys keyboard (Linux)
#
# Row 1
#
-ITEM_ID_TILDE SDL_SCANCODE_GRAVE ^
-ITEM_ID_MINUS SDL_SCANCODE_MINUS ß
-ITEM_ID_EQUALS SDL_SCANCODE_EQUALS ´
+ITEM_ID_TILDE SDLK_CARET 0x31 0x00 ^
+ITEM_ID_MINUS SDLK_WORLD_63 0x14 0xdf ß
+ITEM_ID_EQUALS SDLK_COMPOSE 0x15 0x00 ´
#
# Row 2
#
-ITEM_ID_Y SDL_SCANCODE_Z Y
-ITEM_ID_OPENBRACE SDL_SCANCODE_LEFTBRACKET Ü
-ITEM_ID_CLOSEBRACE SDL_SCANCODE_RIGHTBRACKET +
+ITEM_ID_Y SDLK_z 0x1d 0x7a Z
+ITEM_ID_OPENBRACE SDLK_WORLD_92 0x22 0xfc Ü
+ITEM_ID_CLOSEBRACE SDLK_PLUS 0x23 0x2b +
#
# Row 3
#
-ITEM_ID_COLON SDL_SCANCODE_SEMICOLON Ö
-ITEM_ID_QUOTE SDL_SCANCODE_APOSTROPHE Ä
-ITEM_ID_BACKSLASH SDL_SCANCODE_BACKSLASH #
+ITEM_ID_COLON SDLK_WORLD_86 0x2f 0xf6 Ö
+ITEM_ID_QUOTE SDLK_WORLD_68 0x30 0xe4 Ä
+ITEM_ID_BACKSLASH SDLK_HASH 0x33 0x23 #
#
# Row 4
#
-ITEM_ID_BACKSLASH2 SDL_SCANCODE_NONUSBACKSLASH <
-ITEM_ID_Z SDL_SCANCODE_Y Z
-ITEM_ID_SLASH SDL_SCANCODE_SLASH -
+ITEM_ID_BACKSLASH2 SDLK_LESS 0x5e 0x3c <
+ITEM_ID_Z SDLK_y 0x34 0x79 Y
+ITEM_ID_SLASH SDLK_MINUS 0x3d 0x2d -
#
# Row 5
#
-ITEM_ID_RALT SDL_SCANCODE_RALT ALTGR
-
+ITEM_ID_RALT SDLK_MODE 0x71 0x00 ALTGR \ No newline at end of file
diff --git a/keymaps/km_es_LINUX.map b/keymaps/km_es_LINUX.map
index 57c167cda74..584d791a9d2 100644
--- a/keymaps/km_es_LINUX.map
+++ b/keymaps/km_es_LINUX.map
@@ -1,8 +1,3 @@
-#
-# FIXME: This file produces errors and needs to be fixed.
-#
-
-[SDL2]
# MAME/MESS keymap for Spanish QWERTY 105-keys keyboard (Linux)
# SDL can tell the difference between the two COMPOSE keys but assigns them the same label
# thus both OPENBRACE and QUOTE appear like "` ´" in the user interface.
@@ -10,26 +5,26 @@
#
# Row 1
#
-ITEM_ID_TILDE SDL_SCANCODE_WORLD_26 º
-ITEM_ID_MINUS SDL_SCANCODE_QUOTE '
-ITEM_ID_EQUALS SDL_SCANCODE_WORLD_1 ¡
+ITEM_ID_TILDE SDLK_WORLD_26 0x31 0xba º
+ITEM_ID_MINUS SDLK_QUOTE 0x14 0x27 '
+ITEM_ID_EQUALS SDLK_WORLD_1 0x15 0xa1 ¡
#
# Row 2
#
-ITEM_ID_OPENBRACE SDL_SCANCODE_COMPOSE `
-ITEM_ID_CLOSEBRACE SDL_SCANCODE_PLUS +
+ITEM_ID_OPENBRACE SDLK_COMPOSE 0x22 0x00 `
+ITEM_ID_CLOSEBRACE SDLK_PLUS 0x23 0x00 +
#
# Row 3
#
-ITEM_ID_COLON SDL_SCANCODE_WORLD_81 Ñ
-ITEM_ID_QUOTE SDL_SCANCODE_COMPOSE ´
-ITEM_ID_BACKSLASH SDL_SCANCODE_WORLD_71 Ç
+ITEM_ID_COLON SDLK_WORLD_81 0x2f 0xf1 Ñ
+ITEM_ID_QUOTE SDLK_COMPOSE 0x30 0x00 ´
+ITEM_ID_BACKSLASH SDLK_WORLD_71 0x33 0x00 Ç
#
# Row 4
#
-ITEM_ID_BACKSLASH2 SDL_SCANCODE_LESS <
-ITEM_ID_SLASH SDL_SCANCODE_MINUS -
+ITEM_ID_BACKSLASH2 SDLK_LESS 0x5e 0x3c <
+ITEM_ID_SLASH SDLK_MINUS 0x3d 0x2d -
#
# Row 5
#
-ITEM_ID_RALT SDL_SCANCODE_MODE ALTGR \ No newline at end of file
+ITEM_ID_RALT SDLK_MODE 0x71 0x00 ALTGR \ No newline at end of file
diff --git a/keymaps/km_fr_LINUX.map b/keymaps/km_fr_LINUX.map
index b2814536994..f33c899b997 100644
--- a/keymaps/km_fr_LINUX.map
+++ b/keymaps/km_fr_LINUX.map
@@ -1,48 +1,43 @@
-#
-# FIXME: This file produces errors and needs to be fixed.
-#
-
-[SDL2]
# MAME/MESS keymap for French AZERTY 105-keys keyboard (Linux)
#
# Row 1
#
-ITEM_ID_TILDE SDL_SCANCODE_WORLD_18 ²
-ITEM_ID_1 SDL_SCANCODE_AMPERSAND &
-ITEM_ID_2 SDL_SCANCODE_WORLD_73 é
-ITEM_ID_3 SDL_SCANCODE_QUOTEDBL "
-ITEM_ID_4 SDL_SCANCODE_QUOTE '
-ITEM_ID_5 SDL_SCANCODE_LEFTPAREN (
-ITEM_ID_6 SDL_SCANCODE_MINUS -
-ITEM_ID_7 SDL_SCANCODE_WORLD_72 è
-ITEM_ID_8 SDL_SCANCODE_UNDERSCORE _
-ITEM_ID_9 SDL_SCANCODE_WORLD_71 ç
-ITEM_ID_0 SDL_SCANCODE_WORLD_64 à
-ITEM_ID_MINUS SDL_SCANCODE_RIGHTPAREN )
+ITEM_ID_TILDE SDLK_WORLD_18 0x31 0xb2 ²
+ITEM_ID_1 SDLK_AMPERSAND 0x0a 0x26 &
+ITEM_ID_2 SDLK_WORLD_73 0x0b 0xe9 é
+ITEM_ID_3 SDLK_QUOTEDBL 0x0c 0x22 "
+ITEM_ID_4 SDLK_QUOTE 0x0d 0x27 '
+ITEM_ID_5 SDLK_LEFTPAREN 0x0e 0x28 (
+ITEM_ID_6 SDLK_MINUS 0x0f 0x2d -
+ITEM_ID_7 SDLK_WORLD_72 0x10 0xe8 è
+ITEM_ID_8 SDLK_UNDERSCORE 0x11 0x5f _
+ITEM_ID_9 SDLK_WORLD_71 0x12 0xe7 ç
+ITEM_ID_0 SDLK_WORLD_64 0x13 0xe0 à
+ITEM_ID_MINUS SDLK_RIGHTPAREN 0x14 0x29 )
#
# Row 2
#
-ITEM_ID_Q SDL_SCANCODE_A A
-ITEM_ID_W SDL_SCANCODE_Z Z
-ITEM_ID_OPENBRACE SDL_SCANCODE_CARET ^
-ITEM_ID_CLOSEBRACE SDL_SCANCODE_DOLLAR $
+ITEM_ID_Q SDLK_a 0x18 0x61 A
+ITEM_ID_W SDLK_z 0x19 0x7a Z
+ITEM_ID_OPENBRACE SDLK_CARET 0x22 0x00 ^
+ITEM_ID_CLOSEBRACE SDLK_DOLLAR 0x23 0x00 $
#
# Row 3
#
-ITEM_ID_A SDL_SCANCODE_Q Q
-ITEM_ID_COLON SDL_SCANCODE_M M
-ITEM_ID_QUOTE SDL_SCANCODE_WORLD_89 ù
-ITEM_ID_BACKSLASH SDL_SCANCODE_ASTERISK *
+ITEM_ID_A SDLK_q 0x26 0x51 Q
+ITEM_ID_COLON SDLK_m 0x2f 0x6d M
+ITEM_ID_QUOTE SDLK_WORLD_89 0x30 0xf9 ù
+ITEM_ID_BACKSLASH SDLK_ASTERISK 0x33 0x2a *
#
# Row 4
#
-ITEM_ID_BACKSLASH2 SDL_SCANCODE_LESS <
-ITEM_ID_Z SDL_SCANCODE_w W
-ITEM_ID_M SDL_SCANCODE_COMMA ,
-ITEM_ID_COMMA SDL_SCANCODE_SEMICOLON ;
-ITEM_ID_STOP SDL_SCANCODE_COLON :
-ITEM_ID_SLASH SDL_SCANCODE_EXCLAIM !
+ITEM_ID_BACKSLASH2 SDLK_LESS 0x5e 0x3c <
+ITEM_ID_Z SDLK_w 0x34 0x77 W
+ITEM_ID_M SDLK_COMMA 0x3a 0x2c ,
+ITEM_ID_COMMA SDLK_SEMICOLON 0x3b 0x3b ;
+ITEM_ID_STOP SDLK_COLON 0x3c 0x3a :
+ITEM_ID_SLASH SDLK_EXCLAIM 0x3d 0x21 !
#
# Row 5
#
-ITEM_ID_RALT SDL_SCANCODE_MODE ALTGR \ No newline at end of file
+ITEM_ID_RALT SDLK_MODE 0x71 0x00 ALTGR \ No newline at end of file
diff --git a/keymaps/km_fr_OSX.map b/keymaps/km_fr_OSX.map
index d2c11c7465b..9a492ca2d3e 100644
--- a/keymaps/km_fr_OSX.map
+++ b/keymaps/km_fr_OSX.map
@@ -1,20 +1,15 @@
-#
-# FIXME: This file produces errors and needs to be fixed.
-#
-
-[SDL2]
# MAME/MESS keymap for French AZERTY keyboard (OSX)
#
#
-ITEM_ID_1 SDL_SCANCODE_AMPERSAND &
-ITEM_ID_2 SDL_SCANCODE_WORLD_0 �
-ITEM_ID_3 SDL_SCANCODE_QUOTEDBL "
-ITEM_ID_4 SDL_SCANCODE_QUOTE '
-ITEM_ID_5 SDL_SCANCODE_LEFTPAREN (
-ITEM_ID_6 SDL_SCANCODE_WORLD_1 �
-ITEM_ID_7 SDL_SCANCODE_WORLD_3 �
-ITEM_ID_8 SDL_SCANCODE_EXCLAIM !
-ITEM_ID_9 SDL_SCANCODE_WORLD_2 �
-ITEM_ID_0 SDL_SCANCODE_WORLD_4 �
-ITEM_ID_MINUS SDL_SCANCODE_RIGHTPAREN )
-ITEM_ID_EQUALS SDL_SCANCODE_MINUS - \ No newline at end of file
+ITEM_ID_1 SDLK_AMPERSAND 0x12 0x26 &
+ITEM_ID_2 SDLK_WORLD_0 0x13 0xe9 é
+ITEM_ID_3 SDLK_QUOTEDBL 0x14 0x22 "
+ITEM_ID_4 SDLK_QUOTE 0x15 0x27 '
+ITEM_ID_5 SDLK_LEFTPAREN 0x17 0x28 (
+ITEM_ID_6 SDLK_WORLD_1 0x16 0xa7 §
+ITEM_ID_7 SDLK_WORLD_3 0x1a 0xe8 è
+ITEM_ID_8 SDLK_EXCLAIM 0x1c 0x21 !
+ITEM_ID_9 SDLK_WORLD_2 0x19 0xe7 ç
+ITEM_ID_0 SDLK_WORLD_4 0x1d 0xe0 à
+ITEM_ID_MINUS SDLK_RIGHTPAREN 0x1b 0x29 )
+ITEM_ID_EQUALS SDLK_MINUS 0x18 0x2d - \ No newline at end of file
diff --git a/keymaps/km_gb_LINUX.map b/keymaps/km_gb_LINUX.map
index f7d9f13c194..d4fa500cbce 100644
--- a/keymaps/km_gb_LINUX.map
+++ b/keymaps/km_gb_LINUX.map
@@ -1,25 +1,20 @@
-#
-# FIXME: This file produces errors and needs to be fixed.
-#
-
-[SDL2]
# MAME/MESS keymap for British QWERTY 105-keys keyboard (Linux)
#
# Row 1
#
-ITEM_ID_TILDE SDL_SCANCODE_BACKQUOTE `
+ITEM_ID_TILDE SDLK_BACKQUOTE 0x31 0x60 `
#
# Row 2
#
#
# Row 3
#
-ITEM_ID_BACKSLASH SDL_SCANCODE_HASH #
+ITEM_ID_BACKSLASH SDLK_HASH 0x33 0x23 #
#
# Row 4
#
-ITEM_ID_BACKSLASH2 SDL_SCANCODE_BACKSLASH \
+ITEM_ID_BACKSLASH2 SDLK_BACKSLASH 0x5e 0x5c \
#
# Row 5
#
-ITEM_ID_RALT SDL_SCANCODE_MODE ALTGR \ No newline at end of file
+ITEM_ID_RALT SDLK_MODE 0x71 0x00 ALTGR \ No newline at end of file
diff --git a/keymaps/km_it_LINUX.map b/keymaps/km_it_LINUX.map
index 96c641eb708..b6fdfe329a2 100644
--- a/keymaps/km_it_LINUX.map
+++ b/keymaps/km_it_LINUX.map
@@ -1,32 +1,27 @@
-#
-# FIXME: This file produces errors and needs to be fixed.
-#
-
-[SDL2]
# MAME/MESS keymap for Italian QWERTY 105-keys keyboard (Linux)
#
# Row 1
#
-ITEM_ID_TILDE SDL_SCANCODE_BACKSLASH \
-ITEM_ID_MINUS SDL_SCANCODE_QUOTE '
-ITEM_ID_EQUALS SDL_SCANCODE_WORLD_76 ì
+ITEM_ID_TILDE SDLK_BACKSLASH 0x31 0x5c \
+ITEM_ID_MINUS SDLK_QUOTE 0x14 0x27 '
+ITEM_ID_EQUALS SDLK_WORLD_76 0x15 0xec ì
#
# Row 2
#
-ITEM_ID_OPENBRACE SDL_SCANCODE_WORLD_72 è
-ITEM_ID_CLOSEBRACE SDL_SCANCODE_PLUS +
+ITEM_ID_OPENBRACE SDLK_WORLD_72 0x22 0xe8 è
+ITEM_ID_CLOSEBRACE SDLK_PLUS 0x23 0x2b +
#
# Row 3
#
-ITEM_ID_COLON SDL_SCANCODE_WORLD_82 ò
-ITEM_ID_QUOTE SDL_SCANCODE_WORLD_64 à
-ITEM_ID_BACKSLASH SDL_SCANCODE_WORLD_89 ù
+ITEM_ID_COLON SDLK_WORLD_82 0x2f 0xf2 ò
+ITEM_ID_QUOTE SDLK_WORLD_64 0x30 0xe0 à
+ITEM_ID_BACKSLASH SDLK_WORLD_89 0x33 0xf9 ù
#
# Row 4
#
-ITEM_ID_BACKSLASH2 SDL_SCANCODE_LESS <
-ITEM_ID_SLASH SDL_SCANCODE_MINUS -
+ITEM_ID_BACKSLASH2 SDLK_LESS 0x5e 0x3c <
+ITEM_ID_SLASH SDLK_MINUS 0x3d 0x2d -
#
# Row 5
#
-ITEM_ID_RALT SDL_SCANCODE_MODE ALTGR \ No newline at end of file
+ITEM_ID_RALT SDLK_MODE 0x71 0x00 ALTGR \ No newline at end of file
diff --git a/keymaps/km_pt_LINUX.map b/keymaps/km_pt_LINUX.map
index ff449e92f2d..3767058e2de 100644
--- a/keymaps/km_pt_LINUX.map
+++ b/keymaps/km_pt_LINUX.map
@@ -1,8 +1,3 @@
-#
-# FIXME: This file produces errors and needs to be fixed.
-#
-
-[SDL2]
# MAME/MESS keymap for Portuguese QWERTY 105-keys keyboard (Linux)
# SDL can tell the difference between the two COMPOSE keys but assigns them the same label
# thus both CLOSEBRACE and BACKSLASH appear like "´ ~" in the user interface.
@@ -10,26 +5,26 @@
#
# Row 1
#
-ITEM_ID_TILDE SDL_SCANCODE_BACKSLASH \
-ITEM_ID_MINUS SDL_SCANCODE_QUOTE '
-ITEM_ID_EQUALS SDL_SCANCODE_WORLD_11 «
+ITEM_ID_TILDE SDLK_BACKSLASH 0x31 0x5c \
+ITEM_ID_MINUS SDLK_QUOTE 0x14 0x27 '
+ITEM_ID_EQUALS SDLK_WORLD_11 0x15 0xab «
#
# Row 2
#
-ITEM_ID_OPENBRACE SDL_SCANCODE_PLUS +
-ITEM_ID_CLOSEBRACE SDL_SCANCODE_COMPOSE ´
+ITEM_ID_OPENBRACE SDLK_PLUS 0x22 0x2b +
+ITEM_ID_CLOSEBRACE SDLK_COMPOSE 0x23 0x00 ´
#
# Row 3
#
-ITEM_ID_COLON SDL_SCANCODE_WORLD_71 Ç
-ITEM_ID_QUOTE SDL_SCANCODE_WORLD_26 º
-ITEM_ID_BACKSLASH SDL_SCANCODE_COMPOSE ~
+ITEM_ID_COLON SDLK_WORLD_71 0x2f 0xe7 Ç
+ITEM_ID_QUOTE SDLK_WORLD_26 0x30 0xba º
+ITEM_ID_BACKSLASH SDLK_COMPOSE 0x33 0x00 ~
#
# Row 4
#
-ITEM_ID_BACKSLASH2 SDL_SCANCODE_LESS <
-ITEM_ID_SLASH SDL_SCANCODE_MINUS -
+ITEM_ID_BACKSLASH2 SDLK_LESS 0x5e 0x3c <
+ITEM_ID_SLASH SDLK_MINUS 0x3d 0x2d -
#
# Row 5
#
-ITEM_ID_RALT SDL_SCANCODE_MODE ALTGR \ No newline at end of file
+ITEM_ID_RALT SDLK_MODE 0x71 0x00 ALTGR \ No newline at end of file
diff --git a/keymaps/km_se_LINUX.map b/keymaps/km_se_LINUX.map
index 1d127ec5b29..7cc737baf21 100644
--- a/keymaps/km_se_LINUX.map
+++ b/keymaps/km_se_LINUX.map
@@ -1,28 +1,23 @@
-#
-# FIXME: This file produces errors and needs to be fixed.
-#
-
-[SDL2]
# MAME/MESS keymap for Swedish/Finnish QWERTY 105-keys keyboard (Linux)
#
# Row 1
#
-ITEM_ID_TILDE SDL_SCANCODE_LESS <
-ITEM_ID_MINUS SDL_SCANCODE_PLUS +
-ITEM_ID_EQUALS SDL_SCANCODE_WORLD_1 0x00
+ITEM_ID_TILDE SDLK_LESS 0x32 0x3c <
+ITEM_ID_MINUS SDLK_PLUS 0x1b 0x2b +
+ITEM_ID_EQUALS SDLK_WORLD_1 0x18 0x00
#
# Row 2
#
-ITEM_ID_OPENBRACE SDL_SCANCODE_WORLD_3 å
-ITEM_ID_CLOSEBRACE SDL_SCANCODE_WORLD_2
+ITEM_ID_OPENBRACE SDLK_WORLD_3 0x21 0xe5 å
+ITEM_ID_CLOSEBRACE SDLK_WORLD_2 0x1e 0x00
#
# Row 3
#
-ITEM_ID_COLON SDL_SCANCODE_WORLD_5 ö
-ITEM_ID_QUOTE SDL_SCANCODE_WORLD_4 ä
-ITEM_ID_BACKSLASH2 SDL_SCANCODE_QUOTE '
+ITEM_ID_COLON SDLK_WORLD_5 0x29 0xf6 ö
+ITEM_ID_QUOTE SDLK_WORLD_4 0x27 0xe4 ä
+ITEM_ID_BACKSLASH2 SDLK_QUOTE 0x2a 0x27 '
#
# Row 4
#
-ITEM_ID_BACKSLASH SDL_SCANCODE_WORLD_0 §
-ITEM_ID_SLASH SDL_SCANCODE_MINUS -
+ITEM_ID_BACKSLASH SDLK_WORLD_0 0x0a 0xa7 §
+ITEM_ID_SLASH SDLK_MINUS 0x2c 0x2d -
diff --git a/keymaps/km_se_OSX.map b/keymaps/km_se_OSX.map
index 02f6512856d..36d629fb97c 100644
--- a/keymaps/km_se_OSX.map
+++ b/keymaps/km_se_OSX.map
@@ -1,28 +1,23 @@
-#
-# FIXME: This file produces errors and needs to be fixed.
-#
-
-[SDL2]
# MAME/MESS keymap for Swedish/Finnish QWERTY compact keyboard (OSX)
#
# Row 1
#
-ITEM_ID_TILDE SDL_SCANCODE_WORLD_0 §
-ITEM_ID_MINUS SDL_SCANCODE_PLUS +
-ITEM_ID_EQUALS SDL_SCANCODE_WORLD_1 0x00
+ITEM_ID_TILDE SDLK_WORLD_0 0x0a 0xa7 §
+ITEM_ID_MINUS SDLK_PLUS 0x1b 0x2b +
+ITEM_ID_EQUALS SDLK_WORLD_1 0x18 0x00
#
# Row 2
#
-ITEM_ID_OPENBRACE SDL_SCANCODE_WORLD_3 å
-ITEM_ID_CLOSEBRACE SDL_SCANCODE_WORLD_2
+ITEM_ID_OPENBRACE SDLK_WORLD_3 0x21 0xe5 å
+ITEM_ID_CLOSEBRACE SDLK_WORLD_2 0x1e 0x00
#
# Row 3
#
-ITEM_ID_COLON SDL_SCANCODE_WORLD_5 ö
-ITEM_ID_QUOTE SDL_SCANCODE_WORLD_4 ä
-ITEM_ID_BACKSLASH2 SDL_SCANCODE_QUOTE '
+ITEM_ID_COLON SDLK_WORLD_5 0x29 0xf6 ö
+ITEM_ID_QUOTE SDLK_WORLD_4 0x27 0xe4 ä
+ITEM_ID_BACKSLASH2 SDLK_QUOTE 0x2a 0x27 '
#
# Row 4
#
-ITEM_ID_BACKSLASH SDL_SCANCODE_LESS <
-ITEM_ID_SLASH SDL_SCANCODE_MINUS -
+ITEM_ID_BACKSLASH SDLK_LESS 0x32 0x3c <
+ITEM_ID_SLASH SDLK_MINUS 0x2c 0x2d -
diff --git a/language/Afrikaans/strings.po b/language/Afrikaans/strings.po
index 6bbbb16cc77..cd7bf8262b9 100644
--- a/language/Afrikaans/strings.po
+++ b/language/Afrikaans/strings.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MAME\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-03-17 13:37+1100\n"
+"POT-Creation-Date: 2018-04-28 15:32+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -16,1144 +16,1041 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
+#: src/frontend/mame/ui/auditmenu.cpp:96
#, c-format
-msgid "Screen #%d"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Enabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Disabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
-msgid "Marquees"
+#: src/frontend/mame/ui/auditmenu.cpp:99
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/auditmenu.cpp:104
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/auditmenu.cpp:130
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/auditmenu.cpp:142
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/selmenu.cpp:49 src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/selmenu.cpp:50 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/selmenu.cpp:51
+msgid "Control Panels"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/selmenu.cpp:52 src/frontend/mame/ui/dirmenu.cpp:50
+msgid "PCBs"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/selmenu.cpp:53 src/frontend/mame/ui/dirmenu.cpp:47
+msgid "Flyers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/selmenu.cpp:54 src/frontend/mame/ui/dirmenu.cpp:48
+msgid "Titles"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/selmenu.cpp:55 src/frontend/mame/ui/dirmenu.cpp:49
+msgid "Ends"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/selmenu.cpp:56
+msgid "Artwork Preview"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/selmenu.cpp:57 src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Bosses"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/selmenu.cpp:58 src/frontend/mame/ui/dirmenu.cpp:60
+msgid "Logos"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/selmenu.cpp:59 src/frontend/mame/ui/dirmenu.cpp:62
+msgid "Versus"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/selmenu.cpp:60
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/selmenu.cpp:61 src/frontend/mame/ui/dirmenu.cpp:59
+msgid "HowTo"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/selmenu.cpp:62 src/frontend/mame/ui/dirmenu.cpp:61
+msgid "Scores"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/selmenu.cpp:63 src/frontend/mame/ui/dirmenu.cpp:57
+msgid "Select"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/selmenu.cpp:64 src/frontend/mame/ui/dirmenu.cpp:51
+#: src/frontend/mame/ui/videoopt.cpp:224
+msgid "Marquees"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/selmenu.cpp:65 src/frontend/mame/ui/dirmenu.cpp:63
+msgid "Covers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/selmenu.cpp:69
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/selmenu.cpp:70
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/selmenu.cpp:71
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/selmenu.cpp:237
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/selmenu.cpp:343
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/selmenu.cpp:570 src/frontend/mame/ui/selmenu.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:311
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/selmenu.cpp:574
+#, c-format
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/selmenu.cpp:576
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/selmenu.cpp:581
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/selmenu.cpp:586
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/selmenu.cpp:591
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selmenu.cpp:596
+#, c-format
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selmenu.cpp:612
#, c-format
-msgid "Current %1$s Folders"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selmenu.cpp:614
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selmenu.cpp:619
+#: src/frontend/mame/ui/simpleselgame.cpp:330
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selmenu.cpp:621
+#: src/frontend/mame/ui/simpleselgame.cpp:332
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:623
+#: src/frontend/mame/ui/simpleselgame.cpp:334
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:627
+#: src/frontend/mame/ui/simpleselgame.cpp:338
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/selmenu.cpp:629
+#: src/frontend/mame/ui/simpleselgame.cpp:340
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/selmenu.cpp:631
+#: src/frontend/mame/ui/simpleselgame.cpp:342
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/selmenu.cpp:634
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/selmenu.cpp:636
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/selmenu.cpp:638
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/selmenu.cpp:640
+#: src/frontend/mame/ui/simpleselgame.cpp:351
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/selmenu.cpp:650
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/selmenu.cpp:1975
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/selmenu.cpp:1976
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/selmenu.cpp:2386 src/frontend/mame/ui/miscmenu.cpp:826
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/selmenu.cpp:2454
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/selmenu.cpp:2489
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/dirmenu.cpp:35
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/dirmenu.cpp:36
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
-#: src/frontend/mame/ui/slotopt.cpp:220
-msgid "[empty slot]"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/dirmenu.cpp:40
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/dirmenu.cpp:52
+msgid "Controls Panels"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/dirmenu.cpp:53
+msgid "Crosshairs"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Artworks"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks Preview"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "GameOver"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/dirmenu.cpp:116
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/dirmenu.cpp:167
+#, c-format
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/dirmenu.cpp:182
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/dirmenu.cpp:429
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/dirmenu.cpp:513
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/info.cpp:30
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "LAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/info.cpp:180
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/info.cpp:190
+msgid ""
+"There are known problems with this machine\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/info.cpp:195
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/info.cpp:200
+msgid "Completely unemulated features: "
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#, c-format
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#: src/frontend/mame/ui/info.cpp:267
+#, c-format
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/info.cpp:216
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/info.cpp:231
+msgid "Screen flipping in cocktail mode is not supported.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/info.cpp:233
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/info.cpp:235
+msgid ""
+"This machine was never completed. It may exhibit strange behavior or missing "
+"elements that are not bugs in the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/info.cpp:237
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/info.cpp:241
+msgid ""
+"\n"
+"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
+"complete. There is nothing you can do to fix this problem except wait for "
+"the developers to improve the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/info.cpp:243
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they requires physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/info.cpp:265
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/info.cpp:278
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/info.cpp:293
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:149
+#: src/frontend/mame/ui/info.cpp:342
msgid ""
-"The selected game is missing one or more required ROM or CHD images. Please "
-"select a different game.\n"
"\n"
-"Press any key to continue."
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:247
-#, c-format
+#: src/frontend/mame/ui/info.cpp:370
msgid ""
-"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
"\n"
-"If this is your first time using %2$s, please see the config.txt file in the "
-"docs directory for information on configuring %2$s."
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+"Video:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/info.cpp:374
+msgid "None\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/info.cpp:381
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:314
-#: src/frontend/mame/ui/selsoft.cpp:652 src/frontend/mame/ui/selsoft.cpp:659
+#: src/frontend/mame/ui/info.cpp:392
#, c-format
-msgid "%1$-.100s"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:317
-#: src/frontend/mame/ui/selmenu.cpp:618 src/frontend/mame/ui/selmenu.cpp:654
-#, c-format
-msgid "%1$s, %2$-.100s"
+#: src/frontend/mame/ui/info.cpp:392
+msgid "%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
+#: src/frontend/mame/ui/info.cpp:438
#, c-format
-msgid "Driver: %1$-.100s"
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+msgid "Screen '%1$s'"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/info.cpp:440
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/info.cpp:525
+msgid "Not supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/info.cpp:528
+msgid "Partially supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/info.cpp:536
+msgid "[empty]"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/optsmenu.cpp:193
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/optsmenu.cpp:206
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/optsmenu.cpp:207
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/optsmenu.cpp:210 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/optsmenu.cpp:213
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/optsmenu.cpp:216
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/optsmenu.cpp:228
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:337
-msgid "This driver requires images to be loaded in the following device(s): "
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
+msgid "Rewind"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1302
-#, c-format
-msgid ""
-"Are you sure you want to quit?\n"
-"\n"
-"Press ''%1$s'' to quit,\n"
-"Press ''%2$s'' to return to emulation."
+#: src/frontend/mame/ui/inputmap.cpp:53
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/inputmap.cpp:59
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
+#: src/frontend/mame/ui/inputmap.cpp:628 src/frontend/mame/ui/miscmenu.cpp:96
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/selector.cpp:116
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
+#: src/frontend/mame/ui/selector.cpp:124
#, c-format
-msgid "Overclock %1$s sound"
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/filesel.cpp:256
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/swlist.cpp:88
+msgid "[file manager]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/swlist.cpp:228
+msgid "Switch Item Ordering"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
+#: src/frontend/mame/ui/swlist.cpp:259
#, c-format
-msgid "%1$s Horiz Stretch"
+msgid "Switched Order: entries now ordered by %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "shortname"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "description"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/swlist.cpp:389
+msgid "[compatible lists]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/datmenu.cpp:80
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/datmenu.cpp:362
+msgid "Revision: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/simpleselgame.cpp:149
+msgid ""
+"The selected game is missing one or more required ROM or CHD images. Please "
+"select a different game.\n"
+"\n"
+"Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
+#: src/frontend/mame/ui/simpleselgame.cpp:241
#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+msgid ""
+"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
+"\n"
+"If this is your first time using %2$s, please see the config.txt file in the "
+"docs directory for information on configuring %2$s."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/simpleselgame.cpp:271
+#: src/frontend/mame/ui/selgame.cpp:436
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/simpleselgame.cpp:292
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/simpleselgame.cpp:294
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
+#: src/frontend/mame/ui/simpleselgame.cpp:308
+#: src/frontend/mame/ui/selsoft.cpp:564 src/frontend/mame/ui/selsoft.cpp:571
#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/simpleselgame.cpp:314
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
+#: src/frontend/mame/ui/videoopt.cpp:56
#, c-format
-msgid "Crosshair Offset %1$s"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/videoopt.cpp:208
+msgid "Backdrops"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Enabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Disabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
-#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
-#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
-#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
-#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
-#: src/frontend/mame/ui/ui.cpp:1927
-#, c-format
-msgid "%1$.3f"
+#: src/frontend/mame/ui/videoopt.cpp:212
+msgid "Overlays"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
-#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
-#, c-format
-msgid "%1$1.2f"
+#: src/frontend/mame/ui/videoopt.cpp:216
+msgid "Bezels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:220
+msgid "CPanels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "View"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cropped"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Full"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1047
+msgid "No"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
-msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1047
+msgid "Yes"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
-msgid ""
-"Cheat Comment:\n"
-"%s"
+#: src/frontend/mame/ui/filecreate.cpp:171
+msgid "New Image Name:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/filecreate.cpp:177
+msgid "Image Format:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/filecreate.cpp:183
+msgid "Create"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/filecreate.cpp:266
+msgid "Select image format"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Keyboard Mode:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Natural"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Emulated"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
+#: src/frontend/mame/ui/miscmenu.cpp:236
#, c-format
msgid ""
-"%s\n"
-" added to favorites list."
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
+#: src/frontend/mame/ui/miscmenu.cpp:238
#, c-format
msgid ""
-"%s\n"
-" removed from favorites list."
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/miscmenu.cpp:242
+#, c-format
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
+"Tickets dispensed: %1$d\n"
"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
+#: src/frontend/mame/ui/miscmenu.cpp:253
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/miscmenu.cpp:253
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
-#, c-format
-msgid "Driver: \"%1$s\" software list "
+#: src/frontend/mame/ui/miscmenu.cpp:256
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
-#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+#: src/frontend/mame/ui/miscmenu.cpp:503
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/miscmenu.cpp:601
#, c-format
-msgid "Search: %1$s_"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
-msgid "Unfiltered"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
-msgid "Available"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
-msgid "Unavailable"
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
-msgid "Working"
+#: src/frontend/mame/ui/miscmenu.cpp:627
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
-msgid "Not Working"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
-msgid "Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:655
+msgid "Export list in XML format (like -listxml)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
-msgid "Not Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:656
+msgid "Export list in XML format (like -listxml, but exclude devices)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
-msgid "Category"
+#: src/frontend/mame/ui/miscmenu.cpp:657
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
-msgid "Favorites"
+#: src/frontend/mame/ui/miscmenu.cpp:710 src/frontend/mame/ui/ui.cpp:2230
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/miscmenu.cpp:760 src/frontend/mame/ui/utils.cpp:66
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
-msgid "Not BIOS"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
-msgid "Parents"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
-msgid "Clones"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:73
-msgid "Manufacturer"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
-msgid "Year"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:75
-msgid "Save Supported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:76
-msgid "Save Unsupported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:77
-msgid "CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:78
-msgid "No CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:79
-msgid "Vertical Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:80
-msgid "Horizontal Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
-msgid "Custom Filter"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:91
-msgid "Publisher"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:92
-msgid "Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:764
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
-msgid "Partially Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:767
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
-msgid "Unsupported"
+#: src/frontend/mame/ui/miscmenu.cpp:776 src/frontend/mame/ui/mainmenu.cpp:145
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
-msgid "Release Region"
+#: src/frontend/mame/ui/miscmenu.cpp:778 src/frontend/mame/ui/mainmenu.cpp:147
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
-msgid "Device Type"
+#: src/frontend/mame/ui/miscmenu.cpp:781
+msgid "Save machine configuration"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
-msgid "Software List"
+#: src/frontend/mame/ui/miscmenu.cpp:792
+msgid "Configure machine:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
-msgid "<set up filters>"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:736
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:551 plugins/cheatfind/init.lua:619
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
-msgid "Select custom filters:"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:739
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:554 plugins/cheat/init.lua:563
+#: plugins/cheatfind/init.lua:616
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
-#, c-format
-msgid "Filter %1$u"
+#: src/frontend/mame/ui/miscmenu.cpp:909 src/frontend/mame/ui/selgame.cpp:441
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
-msgid "Remove last filter"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
-msgid "Add filter"
+#: src/frontend/mame/ui/barcode.cpp:78
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
-msgid "Select category:"
+#: src/frontend/mame/ui/barcode.cpp:119
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
-msgid "[no category INI files]"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:99
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
-msgid "[no groups in INI file]"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
-msgid "No category INI files found"
+#: src/frontend/mame/ui/mainmenu.cpp:60
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
-msgid "File"
+#: src/frontend/mame/ui/mainmenu.cpp:62
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
-msgid "No groups found in category file"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
-msgid "Group"
+#: src/frontend/mame/ui/mainmenu.cpp:68
+msgid "Dip Switches"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
-msgid "Include clones"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
+#: src/frontend/mame/ui/mainmenu.cpp:78
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/mainmenu.cpp:85
+msgid "Image Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/mainmenu.cpp:96
+msgid "Tape Control"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/mainmenu.cpp:102
+msgid "BIOS Selection"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/mainmenu.cpp:106
+msgid "Slot Devices"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
-#, c-format
-msgid "%s [internal]"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Barcode Reader"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:203 src/frontend/mame/ui/miscmenu.cpp:97
-#: src/frontend/mame/ui/inputmap.cpp:615
-msgid "Reset"
+#: src/frontend/mame/ui/mainmenu.cpp:114
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/mainmenu.cpp:118
+msgid "Keyboard Mode"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/mainmenu.cpp:121
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/mainmenu.cpp:124 src/frontend/mame/ui/submenu.cpp:101
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/mainmenu.cpp:128
+msgid "Crosshair Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/mainmenu.cpp:132 plugins/cheat/init.lua:735
+msgid "Cheat"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:762
-#: plugins/cheat/init.lua:569 plugins/cheatfind/init.lua:792
-#: plugins/cheatfind/init.lua:803
-msgid "On"
+#: src/frontend/mame/ui/mainmenu.cpp:135
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:765
-#: plugins/cheat/init.lua:572 plugins/cheat/init.lua:581
-#: plugins/cheatfind/init.lua:789 plugins/cheatfind/init.lua:800
-msgid "Off"
+#: src/frontend/mame/ui/mainmenu.cpp:139
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/mainmenu.cpp:154
+msgid "Select New Machine"
msgstr ""
#: src/frontend/mame/ui/custui.cpp:31
@@ -1376,1281 +1273,1303 @@ msgstr ""
msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/submenu.cpp:22
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/submenu.cpp:23
+msgid "Re-select last machine played"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/submenu.cpp:24
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:26
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:27
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:28
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:29
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:30
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
-#, c-format
-msgid "%s.txt saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/submenu.cpp:45
+msgid "Refresh speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/submenu.cpp:47
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/submenu.cpp:49
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
-msgid "Configure Machine"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
-#, c-format
-msgid "Romset\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
-#, c-format
-msgid "Year\t%1$s\n"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
-#, c-format
-msgid "Manufacturer\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
-#, c-format
-msgid "Driver is Clone of\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1044
-msgid "Driver is Parent\t\n"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
-msgid "Analog Controls\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Artwork Crop"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
-msgid "Keyboard Inputs\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Use Backdrops"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
-msgid "Overall\tNOT WORKING\n"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Use Overlays"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
-msgid "Overall\tUnemulated Protection\n"
+#: src/frontend/mame/ui/submenu.cpp:60
+msgid "Use Bezels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
-msgid "Overall\tWorking\n"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Use Control Panels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
-msgid "Graphics\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:62
+msgid "Use Marquees"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
-msgid "Graphics\tWrong Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
-msgid "Graphics\tImperfect Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
-msgid "Graphics\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
-msgid "Graphics\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Bilinear snapshot"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
-msgid "Sound\tNone\n"
+#: src/frontend/mame/ui/submenu.cpp:69
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
-msgid "Sound\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
-msgid "Sound\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:72
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
-msgid "Sound\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
-msgid "Capture\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
-msgid "Capture\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
-msgid "Camera\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
-msgid "Camera\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
-msgid "Microphone\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
-msgid "Microphone\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:79
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
-msgid "Controls\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
-msgid "Controls\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
-msgid "Keyboard\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Joystick saturation"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
-msgid "Keyboard\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Natural keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
-msgid "Mouse\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
-msgid "Mouse\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
-msgid "Media\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
-msgid "Media\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Lightgun Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
-msgid "Disk\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Trackball Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
-msgid "Disk\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
-msgid "Printer\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
-msgid "Printer\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
-msgid "Mag. Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:95
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
-msgid "Mag. Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:96
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
-msgid "Punch Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:97
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
-msgid "Punch Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
-msgid "Mag. Drum\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:103
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
-msgid "Mag. Drum\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
-msgid "(EP)ROM\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
-msgid "(EP)ROM\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
-msgid "Communications\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:109
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
-msgid "Communications\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:110
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
-msgid "LAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:111
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
-msgid "LAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:112
+msgid "Enforce Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
-msgid "WAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:113
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
-msgid "WAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:114
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
-msgid "Timing\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
-msgid "Timing\tImperfect\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tYes\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Select position to load from"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tNo\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tYes\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Select position to save to"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tNo\n"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:309 src/frontend/mame/ui/selsoft.cpp:211
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:314 src/frontend/mame/ui/selgame.cpp:320
+#: src/frontend/mame/ui/selsoft.cpp:216
+#, c-format
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:437
+msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:849
+#, c-format
+msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:850
+#, c-format
+msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:851
+#, c-format
+msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:855
+#, c-format
+msgid "Driver is Clone of\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:857
+msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tVertical\n"
+#: src/frontend/mame/ui/selgame.cpp:860
+msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tHorizontal\n"
+#: src/frontend/mame/ui/selgame.cpp:862
+msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:865
+msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:867
+msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
-msgid "ROM Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:869
+msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
-msgid "ROM Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:872
+msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
-msgid "Samples Audit Result\tNone Needed\n"
+#: src/frontend/mame/ui/selgame.cpp:874
+msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
-msgid "Samples Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:876
+msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
-msgid "Samples Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:878
+msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
-msgid ""
-"ROM Audit \tDisabled\n"
-"Samples Audit \tDisabled\n"
+#: src/frontend/mame/ui/selgame.cpp:880
+msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
+#: src/frontend/mame/ui/selgame.cpp:883
+msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1424
-#, c-format
-msgid "Romset: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:885
+msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
-#, c-format
-msgid "System: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:887
+msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1465
-msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
+#: src/frontend/mame/ui/selgame.cpp:889
+msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
+#: src/frontend/mame/ui/selgame.cpp:892
+msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
+#: src/frontend/mame/ui/selgame.cpp:894
+msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
+#: src/frontend/mame/ui/selgame.cpp:897
+msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
+#: src/frontend/mame/ui/selgame.cpp:899
+msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
+#: src/frontend/mame/ui/selgame.cpp:902
+msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selgame.cpp:904
+msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selgame.cpp:907
+msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/selgame.cpp:909
+msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/selgame.cpp:912
+msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/selgame.cpp:914
+msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/selgame.cpp:917
+msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/selgame.cpp:919
+msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/selgame.cpp:922
+msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/selgame.cpp:924
+msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/selgame.cpp:927
+msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/selgame.cpp:929
+msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/selgame.cpp:932
+msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/selgame.cpp:934
+msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/selgame.cpp:937
+msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/selgame.cpp:939
+msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/selgame.cpp:970
+msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/selgame.cpp:972
+msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/selgame.cpp:975
+msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/selgame.cpp:977
+msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/selgame.cpp:979
+msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/selgame.cpp:983
+msgid ""
+"ROM Audit \tDisabled\n"
+"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/selgame.cpp:1167
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/selgame.cpp:1183 src/frontend/mame/ui/selsoft.cpp:555
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/selgame.cpp:1185 src/frontend/mame/ui/selsoft.cpp:557
+#, c-format
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/selgame.cpp:1195
+#, c-format
+msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/selgame.cpp:1202
+#, c-format
+msgid "System: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/selgame.cpp:1239
+msgid ""
+"The selected machine is missing one or more required ROM or CHD images. "
+"Please select a different machine.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/selgame.cpp:1245 src/frontend/mame/ui/selsoft.cpp:462
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/utils.cpp:57 src/frontend/mame/ui/utils.cpp:81
+msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/utils.cpp:58 src/frontend/mame/ui/utils.cpp:82
+msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/utils.cpp:59 src/frontend/mame/ui/utils.cpp:83
+msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/utils.cpp:60
+msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/utils.cpp:61
+msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/utils.cpp:62
+msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:63
+msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:64
+msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:65
+msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:67
+msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:84
+msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/utils.cpp:85
+msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:70
+msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:86
+msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/utils.cpp:72
+msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/utils.cpp:73
+msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/utils.cpp:74
+msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/utils.cpp:75
+msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/utils.cpp:76
+msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/utils.cpp:77
+msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/utils.cpp:78 src/frontend/mame/ui/utils.cpp:94
+msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/utils.cpp:87
+msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/utils.cpp:88
+msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/utils.cpp:89
+msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/utils.cpp:90
+msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/utils.cpp:91
+msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:43
-#, c-format
-msgid ""
-"[This option is currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"The selected option enables the following items:\n"
+#: src/frontend/mame/ui/utils.cpp:92
+msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:44
-#, c-format
-msgid ""
-"[This option is NOT currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"If you select this option, the following items will be enabled:\n"
+#: src/frontend/mame/ui/utils.cpp:93
+msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/utils.cpp:244
+msgid "<set up filters>"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:352
+msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/utils.cpp:503
#, c-format
-msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
-msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:518
+msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %3$d.%4$06d MHz\n"
+#: src/frontend/mame/ui/utils.cpp:520
+msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:959
+msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/utils.cpp:990
+msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/utils.cpp:998
+msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:103
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1032
+msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1037
+msgid "File"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/utils.cpp:1041
+msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
-#, c-format
-msgid " %1$d×%2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1046
+msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1047
+msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:168
-#, c-format
+#: src/frontend/mame/ui/selsoft.cpp:456
msgid ""
-"* BIOS settings:\n"
-" %1$d options [default: %2$s]\n"
+"The selected software is missing one or more required files. Please select a "
+"different software.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:208 src/frontend/mame/ui/devopt.cpp:224
-#: src/frontend/mame/ui/devopt.cpp:269
+#: src/frontend/mame/ui/selsoft.cpp:549
#, c-format
-msgid " %1$s [default: %2$s]\n"
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
+#: src/frontend/mame/ui/selsoft.cpp:550
#, c-format
-msgid " %1$s\n"
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:260
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:419
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/filesel.cpp:515
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:516
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:518
+msgid "Read-write"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
-#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:519
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:520
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:117
+msgid "Cannot save over directory"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:150
+msgid ""
+"The software selected is missing one or more required ROM or CHD images. "
+"Please select a different one."
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:294
+msgid "Return to Machine"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
-#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:299 src/frontend/mame/ui/menu.cpp:301
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+#: src/frontend/mame/ui/menu.cpp:306 src/frontend/mame/ui/menu.cpp:308
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
-#, c-format
-msgid " %1$s [tag: %2$s]\n"
+#: src/frontend/mame/ui/menu.cpp:742
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
+#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:653
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+#: src/frontend/mame/ui/cheatopt.cpp:105
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/cheatopt.cpp:136
+msgid "Autofire Settings"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:581
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:582
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
+#: src/frontend/mame/ui/cheatopt.cpp:273
+msgid "Autofire Status"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
+#: src/frontend/mame/ui/cheatopt.cpp:316
+msgid "No buttons found on this machine!"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+#: src/frontend/mame/ui/cheatopt.cpp:327 src/frontend/mame/ui/cheatopt.cpp:331
+msgid "Autofire Delay"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
-msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
+#: src/frontend/mame/ui/ui.cpp:337
+msgid "This driver requires images to be loaded in the following device(s): "
msgstr ""
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
+#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
+msgid "Keyboard Emulation Status"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
+#: src/frontend/mame/ui/ui.cpp:1086
+msgid "Mode: PARTIAL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
+#: src/frontend/mame/ui/ui.cpp:1087
+msgid "UI: Enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
+#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
+msgid "**Use ScrLock to toggle**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
+#: src/frontend/mame/ui/ui.cpp:1096
+msgid "Mode: FULL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: src/frontend/mame/ui/ui.cpp:1097
+msgid "UI: Disabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
+#: src/frontend/mame/ui/ui.cpp:1249
+msgid "Autofire can't be enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
+#: src/frontend/mame/ui/ui.cpp:1302
+#, c-format
+msgid ""
+"Are you sure you want to quit?\n"
+"\n"
+"Press ''%1$s'' to quit,\n"
+"Press ''%2$s'' to return to emulation."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
+#: src/frontend/mame/ui/ui.cpp:1374
+msgid "Master Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
+#: src/frontend/mame/ui/ui.cpp:1383
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/ui.cpp:1407
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/ui.cpp:1416
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/ui.cpp:1437
+#, c-format
+msgid "%1$s Refresh Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, c-format
+msgid "%1$s Brightness"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1444
+#, c-format
+msgid "%1$s Contrast"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1446
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/ui.cpp:1450
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/ui.cpp:1452
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/ui.cpp:1454
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/ui.cpp:1456
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/ui.cpp:1475
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/ui.cpp:1477
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/ui.cpp:1479
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
-msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+#: src/frontend/mame/ui/ui.cpp:1481
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:198
-msgid ""
-"There are known problems with this machine\n"
-"\n"
+#: src/frontend/mame/ui/ui.cpp:1493
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/ui.cpp:1494
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/ui.cpp:1495
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
+#: src/frontend/mame/ui/ui.cpp:1496
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#: src/frontend/mame/ui/info.cpp:275
+#: src/frontend/mame/ui/ui.cpp:1511
#, c-format
-msgid ", %s"
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
+#: src/frontend/mame/ui/ui.cpp:1513
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:243
-msgid ""
-"This machine was never completed. It may exhibit strange behavior or missing "
-"elements that are not bugs in the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1601
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:245
-msgid ""
-"This machine has no sound hardware, MAME will produce no sounds, this is "
-"expected behaviour.\n"
+#: src/frontend/mame/ui/ui.cpp:1645
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:249
-msgid ""
-"\n"
-"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
-"complete. There is nothing you can do to fix this problem except wait for "
-"the developers to improve the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1661
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:251
-msgid ""
-"\n"
-"Elements of this machine cannot be emulated as they requires physical "
-"interaction or consist of mechanical devices. It is not possible to fully "
-"experience this machine.\n"
+#: src/frontend/mame/ui/ui.cpp:1685
+#, c-format
+msgid "%1$.3ffps"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
+#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
+#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
+#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
+#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
+#: src/frontend/mame/ui/ui.cpp:1927
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
+#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/ui.cpp:2005
#, c-format
-msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/ui.cpp:2226
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " COLORS"
+msgstr ""
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:39
#, c-format
-msgid "%1$s: %2$s\n"
+msgid ""
+"[This option is currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"The selected option enables the following items:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+#: src/frontend/mame/ui/devopt.cpp:40
+#, c-format
+msgid ""
+"[This option is NOT currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"If you select this option, the following items will be enabled:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:48
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
#, c-format
-msgid "Screen '%1$s'"
+msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
+msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:85
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:90
+#, c-format
+msgid " Screen '%1$s': Vector\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:99
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:100
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:113
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:133
+#, c-format
+msgid " %1$d×%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:164
+#, c-format
+msgid ""
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:204 src/frontend/mame/ui/devopt.cpp:220
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
+#: src/frontend/mame/ui/devopt.cpp:209 src/frontend/mame/ui/devopt.cpp:225
#, c-format
-msgid "Software is clone of: %1$-.100s"
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: src/frontend/mame/ui/devopt.cpp:230
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: src/frontend/mame/ui/devopt.cpp:232
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: src/frontend/mame/ui/devopt.cpp:234
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: src/frontend/mame/ui/devopt.cpp:236
+#, c-format
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
+#: src/frontend/mame/ui/devopt.cpp:238
#, c-format
-msgid "romset: %1$-.100s"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
+#: src/frontend/mame/ui/devopt.cpp:240
#, c-format
-msgid "Driver is clone of: %1$-.100s"
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: src/frontend/mame/ui/devopt.cpp:242
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
+#: src/frontend/mame/ui/devopt.cpp:244
#, c-format
-msgid "%1$s %2$s"
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: src/frontend/mame/ui/devopt.cpp:246
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: src/frontend/mame/ui/devopt.cpp:248
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: src/frontend/mame/ui/devopt.cpp:257
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: src/frontend/mame/ui/devopt.cpp:263
+msgid "* Slot Options:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:270
+msgid "[None]\n"
msgstr ""
#: plugins/timer/init.lua:94
@@ -2669,51 +2588,51 @@ msgstr ""
msgid "Timer"
msgstr ""
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:510
msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheat/init.lua:534
+#: plugins/cheat/init.lua:516
msgid "Press button for hotkey or wait to clear"
msgstr ""
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:528
msgid "None"
msgstr ""
-#: plugins/cheat/init.lua:551
+#: plugins/cheat/init.lua:533
msgid "Done"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:547 plugins/cheat/init.lua:561
msgid "Set"
msgstr ""
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:580
msgid "Set hotkeys"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:720
#, lua-format
msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:723 plugins/cheat/init.lua:781
#, lua-format
msgid "Activated: %s"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:785
#, lua-format
msgid "Enabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:790
#, lua-format
msgid "Disabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "%s added"
msgstr ""
@@ -2762,303 +2681,218 @@ msgstr ""
msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:404
+#: plugins/cheatfind/init.lua:373
msgid "Save Cheat"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Default"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Custom"
msgstr ""
-#: plugins/cheatfind/init.lua:408
+#: plugins/cheatfind/init.lua:377
msgid "Cheat Name"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/cheatfind/init.lua:383 plugins/cheatfind/init.lua:748
#, lua-format
msgid "Default name is %s"
msgstr ""
-#: plugins/cheatfind/init.lua:422
+#: plugins/cheatfind/init.lua:391
msgid "Player"
msgstr ""
-#: plugins/cheatfind/init.lua:427
+#: plugins/cheatfind/init.lua:396
msgid "Type"
msgstr ""
-#: plugins/cheatfind/init.lua:433
+#: plugins/cheatfind/init.lua:402
msgid "Save"
msgstr ""
-#: plugins/cheatfind/init.lua:462
+#: plugins/cheatfind/init.lua:429
#, lua-format
msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:472
+#: plugins/cheatfind/init.lua:437
msgid "Cheat added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:442
msgid ""
"Unable to write file\n"
"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/cheatfind/init.lua:486
+#: plugins/cheatfind/init.lua:451
msgid "Cancel"
msgstr ""
-#: plugins/cheatfind/init.lua:491
+#: plugins/cheatfind/init.lua:456
msgid "CPU or RAM"
msgstr ""
-#: plugins/cheatfind/init.lua:495
+#: plugins/cheatfind/init.lua:460
msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:479
+msgid "Data cleared and current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:487
+msgid "Start new search"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:497
+msgid "Current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:504
+msgid "Save current -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
+#: plugins/cheatfind/init.lua:536
#, lua-format
-msgid "Memory State saved to Slot %d"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:543
+msgid "Compare"
msgstr ""
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
+#: plugins/cheatfind/init.lua:546
+msgid "Left operand"
+msgstr ""
+
+#: plugins/cheatfind/init.lua:549
+msgid "Current"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:554
+msgid "Operator"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:561
+msgid "Left less than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:563
+msgid "Left greater than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:676
+#: plugins/cheatfind/init.lua:565
msgid "Left equal to right"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:567
+msgid "Left not equal to right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:680
+#: plugins/cheatfind/init.lua:569
msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:682
+#: plugins/cheatfind/init.lua:571
msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:684
+#: plugins/cheatfind/init.lua:573
msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:686
+#: plugins/cheatfind/init.lua:575
msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:688
+#: plugins/cheatfind/init.lua:577
msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:690
+#: plugins/cheatfind/init.lua:579
msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/cheatfind/init.lua:590
+msgid "Right operand"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/cheatfind/init.lua:598
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:719
+#: plugins/cheatfind/init.lua:602
msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:725
+#: plugins/cheatfind/init.lua:608
msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:738
-msgid ""
-"Use this if you want to poke the Slot 1 value (eg. You started with "
-"something but lost it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:740
-msgid ""
-"Use this if you want to poke the Last Slot value (eg. You started without an "
-"item but finally got it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:816
+#: plugins/cheatfind/init.lua:632
msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:820
+#: plugins/cheatfind/init.lua:636
msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:823
+#: plugins/cheatfind/init.lua:639
msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheatfind/init.lua:690
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Test cheat at addr %08X"
msgstr ""
-#: plugins/cheatfind/init.lua:974
+#: plugins/cheatfind/init.lua:722
msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
+#: plugins/cheatfind/init.lua:788
msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
+#: plugins/cheatfind/init.lua:806
msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
+#: plugins/cheatfind/init.lua:816
msgid "Cheat Finder"
msgstr ""
-#: plugins/portname/init.lua:103
+#: plugins/portname/init.lua:69
msgid "Save input names to file"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
+#: plugins/portname/init.lua:100 plugins/portname/init.lua:105
+#: plugins/portname/init.lua:121
msgid "Failed to save input name file"
msgstr ""
-#: plugins/portname/init.lua:167
+#: plugins/portname/init.lua:133
#, lua-format
msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/portname/init.lua:172
+#: plugins/portname/init.lua:138
msgid "Input ports"
msgstr ""
diff --git a/language/Albanian/strings.po b/language/Albanian/strings.po
index d93f254901d..cfdc7408ab9 100644
--- a/language/Albanian/strings.po
+++ b/language/Albanian/strings.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MAME\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-03-17 13:37+1100\n"
+"POT-Creation-Date: 2018-04-28 15:32+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -16,1144 +16,1041 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
+#: src/frontend/mame/ui/auditmenu.cpp:96
#, c-format
-msgid "Screen #%d"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Enabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Disabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
-msgid "Marquees"
+#: src/frontend/mame/ui/auditmenu.cpp:99
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/auditmenu.cpp:104
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/auditmenu.cpp:130
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/auditmenu.cpp:142
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/selmenu.cpp:49 src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/selmenu.cpp:50 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/selmenu.cpp:51
+msgid "Control Panels"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/selmenu.cpp:52 src/frontend/mame/ui/dirmenu.cpp:50
+msgid "PCBs"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/selmenu.cpp:53 src/frontend/mame/ui/dirmenu.cpp:47
+msgid "Flyers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/selmenu.cpp:54 src/frontend/mame/ui/dirmenu.cpp:48
+msgid "Titles"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/selmenu.cpp:55 src/frontend/mame/ui/dirmenu.cpp:49
+msgid "Ends"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/selmenu.cpp:56
+msgid "Artwork Preview"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/selmenu.cpp:57 src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Bosses"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/selmenu.cpp:58 src/frontend/mame/ui/dirmenu.cpp:60
+msgid "Logos"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/selmenu.cpp:59 src/frontend/mame/ui/dirmenu.cpp:62
+msgid "Versus"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/selmenu.cpp:60
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/selmenu.cpp:61 src/frontend/mame/ui/dirmenu.cpp:59
+msgid "HowTo"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/selmenu.cpp:62 src/frontend/mame/ui/dirmenu.cpp:61
+msgid "Scores"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/selmenu.cpp:63 src/frontend/mame/ui/dirmenu.cpp:57
+msgid "Select"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/selmenu.cpp:64 src/frontend/mame/ui/dirmenu.cpp:51
+#: src/frontend/mame/ui/videoopt.cpp:224
+msgid "Marquees"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/selmenu.cpp:65 src/frontend/mame/ui/dirmenu.cpp:63
+msgid "Covers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/selmenu.cpp:69
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/selmenu.cpp:70
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/selmenu.cpp:71
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/selmenu.cpp:237
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/selmenu.cpp:343
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/selmenu.cpp:570 src/frontend/mame/ui/selmenu.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:311
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/selmenu.cpp:574
+#, c-format
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/selmenu.cpp:576
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/selmenu.cpp:581
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/selmenu.cpp:586
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/selmenu.cpp:591
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selmenu.cpp:596
+#, c-format
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selmenu.cpp:612
#, c-format
-msgid "Current %1$s Folders"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selmenu.cpp:614
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selmenu.cpp:619
+#: src/frontend/mame/ui/simpleselgame.cpp:330
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selmenu.cpp:621
+#: src/frontend/mame/ui/simpleselgame.cpp:332
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:623
+#: src/frontend/mame/ui/simpleselgame.cpp:334
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:627
+#: src/frontend/mame/ui/simpleselgame.cpp:338
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/selmenu.cpp:629
+#: src/frontend/mame/ui/simpleselgame.cpp:340
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/selmenu.cpp:631
+#: src/frontend/mame/ui/simpleselgame.cpp:342
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/selmenu.cpp:634
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/selmenu.cpp:636
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/selmenu.cpp:638
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/selmenu.cpp:640
+#: src/frontend/mame/ui/simpleselgame.cpp:351
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/selmenu.cpp:650
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/selmenu.cpp:1975
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/selmenu.cpp:1976
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/selmenu.cpp:2386 src/frontend/mame/ui/miscmenu.cpp:826
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/selmenu.cpp:2454
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/selmenu.cpp:2489
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/dirmenu.cpp:35
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/dirmenu.cpp:36
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
-#: src/frontend/mame/ui/slotopt.cpp:220
-msgid "[empty slot]"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/dirmenu.cpp:40
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/dirmenu.cpp:52
+msgid "Controls Panels"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/dirmenu.cpp:53
+msgid "Crosshairs"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Artworks"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks Preview"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "GameOver"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/dirmenu.cpp:116
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/dirmenu.cpp:167
+#, c-format
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/dirmenu.cpp:182
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/dirmenu.cpp:429
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/dirmenu.cpp:513
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/info.cpp:30
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "LAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/info.cpp:180
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/info.cpp:190
+msgid ""
+"There are known problems with this machine\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/info.cpp:195
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/info.cpp:200
+msgid "Completely unemulated features: "
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#, c-format
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#: src/frontend/mame/ui/info.cpp:267
+#, c-format
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/info.cpp:216
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/info.cpp:231
+msgid "Screen flipping in cocktail mode is not supported.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/info.cpp:233
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/info.cpp:235
+msgid ""
+"This machine was never completed. It may exhibit strange behavior or missing "
+"elements that are not bugs in the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/info.cpp:237
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/info.cpp:241
+msgid ""
+"\n"
+"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
+"complete. There is nothing you can do to fix this problem except wait for "
+"the developers to improve the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/info.cpp:243
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they requires physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/info.cpp:265
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/info.cpp:278
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/info.cpp:293
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:149
+#: src/frontend/mame/ui/info.cpp:342
msgid ""
-"The selected game is missing one or more required ROM or CHD images. Please "
-"select a different game.\n"
"\n"
-"Press any key to continue."
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:247
-#, c-format
+#: src/frontend/mame/ui/info.cpp:370
msgid ""
-"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
"\n"
-"If this is your first time using %2$s, please see the config.txt file in the "
-"docs directory for information on configuring %2$s."
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+"Video:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/info.cpp:374
+msgid "None\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/info.cpp:381
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:314
-#: src/frontend/mame/ui/selsoft.cpp:652 src/frontend/mame/ui/selsoft.cpp:659
+#: src/frontend/mame/ui/info.cpp:392
#, c-format
-msgid "%1$-.100s"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:317
-#: src/frontend/mame/ui/selmenu.cpp:618 src/frontend/mame/ui/selmenu.cpp:654
-#, c-format
-msgid "%1$s, %2$-.100s"
+#: src/frontend/mame/ui/info.cpp:392
+msgid "%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
+#: src/frontend/mame/ui/info.cpp:438
#, c-format
-msgid "Driver: %1$-.100s"
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+msgid "Screen '%1$s'"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/info.cpp:440
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/info.cpp:525
+msgid "Not supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/info.cpp:528
+msgid "Partially supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/info.cpp:536
+msgid "[empty]"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/optsmenu.cpp:193
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/optsmenu.cpp:206
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/optsmenu.cpp:207
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/optsmenu.cpp:210 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/optsmenu.cpp:213
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/optsmenu.cpp:216
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/optsmenu.cpp:228
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:337
-msgid "This driver requires images to be loaded in the following device(s): "
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
+msgid "Rewind"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1302
-#, c-format
-msgid ""
-"Are you sure you want to quit?\n"
-"\n"
-"Press ''%1$s'' to quit,\n"
-"Press ''%2$s'' to return to emulation."
+#: src/frontend/mame/ui/inputmap.cpp:53
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/inputmap.cpp:59
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
+#: src/frontend/mame/ui/inputmap.cpp:628 src/frontend/mame/ui/miscmenu.cpp:96
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/selector.cpp:116
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
+#: src/frontend/mame/ui/selector.cpp:124
#, c-format
-msgid "Overclock %1$s sound"
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/filesel.cpp:256
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/swlist.cpp:88
+msgid "[file manager]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/swlist.cpp:228
+msgid "Switch Item Ordering"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
+#: src/frontend/mame/ui/swlist.cpp:259
#, c-format
-msgid "%1$s Horiz Stretch"
+msgid "Switched Order: entries now ordered by %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "shortname"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "description"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/swlist.cpp:389
+msgid "[compatible lists]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/datmenu.cpp:80
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/datmenu.cpp:362
+msgid "Revision: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/simpleselgame.cpp:149
+msgid ""
+"The selected game is missing one or more required ROM or CHD images. Please "
+"select a different game.\n"
+"\n"
+"Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
+#: src/frontend/mame/ui/simpleselgame.cpp:241
#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+msgid ""
+"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
+"\n"
+"If this is your first time using %2$s, please see the config.txt file in the "
+"docs directory for information on configuring %2$s."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/simpleselgame.cpp:271
+#: src/frontend/mame/ui/selgame.cpp:436
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/simpleselgame.cpp:292
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/simpleselgame.cpp:294
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
+#: src/frontend/mame/ui/simpleselgame.cpp:308
+#: src/frontend/mame/ui/selsoft.cpp:564 src/frontend/mame/ui/selsoft.cpp:571
#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/simpleselgame.cpp:314
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
+#: src/frontend/mame/ui/videoopt.cpp:56
#, c-format
-msgid "Crosshair Offset %1$s"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/videoopt.cpp:208
+msgid "Backdrops"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Enabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Disabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
-#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
-#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
-#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
-#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
-#: src/frontend/mame/ui/ui.cpp:1927
-#, c-format
-msgid "%1$.3f"
+#: src/frontend/mame/ui/videoopt.cpp:212
+msgid "Overlays"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
-#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
-#, c-format
-msgid "%1$1.2f"
+#: src/frontend/mame/ui/videoopt.cpp:216
+msgid "Bezels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:220
+msgid "CPanels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "View"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cropped"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Full"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1047
+msgid "No"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
-msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1047
+msgid "Yes"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
-msgid ""
-"Cheat Comment:\n"
-"%s"
+#: src/frontend/mame/ui/filecreate.cpp:171
+msgid "New Image Name:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/filecreate.cpp:177
+msgid "Image Format:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/filecreate.cpp:183
+msgid "Create"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/filecreate.cpp:266
+msgid "Select image format"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Keyboard Mode:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Natural"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Emulated"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
+#: src/frontend/mame/ui/miscmenu.cpp:236
#, c-format
msgid ""
-"%s\n"
-" added to favorites list."
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
+#: src/frontend/mame/ui/miscmenu.cpp:238
#, c-format
msgid ""
-"%s\n"
-" removed from favorites list."
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/miscmenu.cpp:242
+#, c-format
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
+"Tickets dispensed: %1$d\n"
"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
+#: src/frontend/mame/ui/miscmenu.cpp:253
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/miscmenu.cpp:253
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
-#, c-format
-msgid "Driver: \"%1$s\" software list "
+#: src/frontend/mame/ui/miscmenu.cpp:256
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
-#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+#: src/frontend/mame/ui/miscmenu.cpp:503
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/miscmenu.cpp:601
#, c-format
-msgid "Search: %1$s_"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
-msgid "Unfiltered"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
-msgid "Available"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
-msgid "Unavailable"
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
-msgid "Working"
+#: src/frontend/mame/ui/miscmenu.cpp:627
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
-msgid "Not Working"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
-msgid "Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:655
+msgid "Export list in XML format (like -listxml)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
-msgid "Not Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:656
+msgid "Export list in XML format (like -listxml, but exclude devices)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
-msgid "Category"
+#: src/frontend/mame/ui/miscmenu.cpp:657
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
-msgid "Favorites"
+#: src/frontend/mame/ui/miscmenu.cpp:710 src/frontend/mame/ui/ui.cpp:2230
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/miscmenu.cpp:760 src/frontend/mame/ui/utils.cpp:66
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
-msgid "Not BIOS"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
-msgid "Parents"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
-msgid "Clones"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:73
-msgid "Manufacturer"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
-msgid "Year"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:75
-msgid "Save Supported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:76
-msgid "Save Unsupported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:77
-msgid "CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:78
-msgid "No CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:79
-msgid "Vertical Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:80
-msgid "Horizontal Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
-msgid "Custom Filter"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:91
-msgid "Publisher"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:92
-msgid "Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:764
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
-msgid "Partially Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:767
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
-msgid "Unsupported"
+#: src/frontend/mame/ui/miscmenu.cpp:776 src/frontend/mame/ui/mainmenu.cpp:145
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
-msgid "Release Region"
+#: src/frontend/mame/ui/miscmenu.cpp:778 src/frontend/mame/ui/mainmenu.cpp:147
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
-msgid "Device Type"
+#: src/frontend/mame/ui/miscmenu.cpp:781
+msgid "Save machine configuration"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
-msgid "Software List"
+#: src/frontend/mame/ui/miscmenu.cpp:792
+msgid "Configure machine:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
-msgid "<set up filters>"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:736
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:551 plugins/cheatfind/init.lua:619
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
-msgid "Select custom filters:"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:739
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:554 plugins/cheat/init.lua:563
+#: plugins/cheatfind/init.lua:616
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
-#, c-format
-msgid "Filter %1$u"
+#: src/frontend/mame/ui/miscmenu.cpp:909 src/frontend/mame/ui/selgame.cpp:441
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
-msgid "Remove last filter"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
-msgid "Add filter"
+#: src/frontend/mame/ui/barcode.cpp:78
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
-msgid "Select category:"
+#: src/frontend/mame/ui/barcode.cpp:119
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
-msgid "[no category INI files]"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:99
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
-msgid "[no groups in INI file]"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
-msgid "No category INI files found"
+#: src/frontend/mame/ui/mainmenu.cpp:60
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
-msgid "File"
+#: src/frontend/mame/ui/mainmenu.cpp:62
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
-msgid "No groups found in category file"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
-msgid "Group"
+#: src/frontend/mame/ui/mainmenu.cpp:68
+msgid "Dip Switches"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
-msgid "Include clones"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
+#: src/frontend/mame/ui/mainmenu.cpp:78
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/mainmenu.cpp:85
+msgid "Image Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/mainmenu.cpp:96
+msgid "Tape Control"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/mainmenu.cpp:102
+msgid "BIOS Selection"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/mainmenu.cpp:106
+msgid "Slot Devices"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
-#, c-format
-msgid "%s [internal]"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Barcode Reader"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:203 src/frontend/mame/ui/miscmenu.cpp:97
-#: src/frontend/mame/ui/inputmap.cpp:615
-msgid "Reset"
+#: src/frontend/mame/ui/mainmenu.cpp:114
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/mainmenu.cpp:118
+msgid "Keyboard Mode"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/mainmenu.cpp:121
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/mainmenu.cpp:124 src/frontend/mame/ui/submenu.cpp:101
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/mainmenu.cpp:128
+msgid "Crosshair Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/mainmenu.cpp:132 plugins/cheat/init.lua:735
+msgid "Cheat"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:762
-#: plugins/cheat/init.lua:569 plugins/cheatfind/init.lua:792
-#: plugins/cheatfind/init.lua:803
-msgid "On"
+#: src/frontend/mame/ui/mainmenu.cpp:135
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:765
-#: plugins/cheat/init.lua:572 plugins/cheat/init.lua:581
-#: plugins/cheatfind/init.lua:789 plugins/cheatfind/init.lua:800
-msgid "Off"
+#: src/frontend/mame/ui/mainmenu.cpp:139
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/mainmenu.cpp:154
+msgid "Select New Machine"
msgstr ""
#: src/frontend/mame/ui/custui.cpp:31
@@ -1376,1281 +1273,1303 @@ msgstr ""
msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/submenu.cpp:22
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/submenu.cpp:23
+msgid "Re-select last machine played"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/submenu.cpp:24
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:26
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:27
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:28
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:29
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:30
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
-#, c-format
-msgid "%s.txt saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/submenu.cpp:45
+msgid "Refresh speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/submenu.cpp:47
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/submenu.cpp:49
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
-msgid "Configure Machine"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
-#, c-format
-msgid "Romset\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
-#, c-format
-msgid "Year\t%1$s\n"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
-#, c-format
-msgid "Manufacturer\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
-#, c-format
-msgid "Driver is Clone of\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1044
-msgid "Driver is Parent\t\n"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
-msgid "Analog Controls\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Artwork Crop"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
-msgid "Keyboard Inputs\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Use Backdrops"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
-msgid "Overall\tNOT WORKING\n"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Use Overlays"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
-msgid "Overall\tUnemulated Protection\n"
+#: src/frontend/mame/ui/submenu.cpp:60
+msgid "Use Bezels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
-msgid "Overall\tWorking\n"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Use Control Panels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
-msgid "Graphics\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:62
+msgid "Use Marquees"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
-msgid "Graphics\tWrong Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
-msgid "Graphics\tImperfect Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
-msgid "Graphics\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
-msgid "Graphics\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Bilinear snapshot"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
-msgid "Sound\tNone\n"
+#: src/frontend/mame/ui/submenu.cpp:69
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
-msgid "Sound\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
-msgid "Sound\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:72
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
-msgid "Sound\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
-msgid "Capture\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
-msgid "Capture\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
-msgid "Camera\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
-msgid "Camera\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
-msgid "Microphone\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
-msgid "Microphone\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:79
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
-msgid "Controls\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
-msgid "Controls\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
-msgid "Keyboard\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Joystick saturation"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
-msgid "Keyboard\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Natural keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
-msgid "Mouse\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
-msgid "Mouse\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
-msgid "Media\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
-msgid "Media\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Lightgun Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
-msgid "Disk\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Trackball Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
-msgid "Disk\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
-msgid "Printer\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
-msgid "Printer\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
-msgid "Mag. Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:95
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
-msgid "Mag. Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:96
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
-msgid "Punch Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:97
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
-msgid "Punch Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
-msgid "Mag. Drum\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:103
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
-msgid "Mag. Drum\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
-msgid "(EP)ROM\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
-msgid "(EP)ROM\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
-msgid "Communications\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:109
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
-msgid "Communications\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:110
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
-msgid "LAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:111
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
-msgid "LAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:112
+msgid "Enforce Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
-msgid "WAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:113
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
-msgid "WAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:114
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
-msgid "Timing\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
-msgid "Timing\tImperfect\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tYes\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Select position to load from"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tNo\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tYes\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Select position to save to"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tNo\n"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:309 src/frontend/mame/ui/selsoft.cpp:211
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:314 src/frontend/mame/ui/selgame.cpp:320
+#: src/frontend/mame/ui/selsoft.cpp:216
+#, c-format
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:437
+msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:849
+#, c-format
+msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:850
+#, c-format
+msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:851
+#, c-format
+msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:855
+#, c-format
+msgid "Driver is Clone of\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:857
+msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tVertical\n"
+#: src/frontend/mame/ui/selgame.cpp:860
+msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tHorizontal\n"
+#: src/frontend/mame/ui/selgame.cpp:862
+msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:865
+msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:867
+msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
-msgid "ROM Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:869
+msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
-msgid "ROM Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:872
+msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
-msgid "Samples Audit Result\tNone Needed\n"
+#: src/frontend/mame/ui/selgame.cpp:874
+msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
-msgid "Samples Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:876
+msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
-msgid "Samples Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:878
+msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
-msgid ""
-"ROM Audit \tDisabled\n"
-"Samples Audit \tDisabled\n"
+#: src/frontend/mame/ui/selgame.cpp:880
+msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
+#: src/frontend/mame/ui/selgame.cpp:883
+msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1424
-#, c-format
-msgid "Romset: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:885
+msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
-#, c-format
-msgid "System: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:887
+msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1465
-msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
+#: src/frontend/mame/ui/selgame.cpp:889
+msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
+#: src/frontend/mame/ui/selgame.cpp:892
+msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
+#: src/frontend/mame/ui/selgame.cpp:894
+msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
+#: src/frontend/mame/ui/selgame.cpp:897
+msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
+#: src/frontend/mame/ui/selgame.cpp:899
+msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
+#: src/frontend/mame/ui/selgame.cpp:902
+msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selgame.cpp:904
+msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selgame.cpp:907
+msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/selgame.cpp:909
+msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/selgame.cpp:912
+msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/selgame.cpp:914
+msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/selgame.cpp:917
+msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/selgame.cpp:919
+msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/selgame.cpp:922
+msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/selgame.cpp:924
+msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/selgame.cpp:927
+msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/selgame.cpp:929
+msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/selgame.cpp:932
+msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/selgame.cpp:934
+msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/selgame.cpp:937
+msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/selgame.cpp:939
+msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/selgame.cpp:970
+msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/selgame.cpp:972
+msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/selgame.cpp:975
+msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/selgame.cpp:977
+msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/selgame.cpp:979
+msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/selgame.cpp:983
+msgid ""
+"ROM Audit \tDisabled\n"
+"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/selgame.cpp:1167
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/selgame.cpp:1183 src/frontend/mame/ui/selsoft.cpp:555
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/selgame.cpp:1185 src/frontend/mame/ui/selsoft.cpp:557
+#, c-format
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/selgame.cpp:1195
+#, c-format
+msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/selgame.cpp:1202
+#, c-format
+msgid "System: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/selgame.cpp:1239
+msgid ""
+"The selected machine is missing one or more required ROM or CHD images. "
+"Please select a different machine.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/selgame.cpp:1245 src/frontend/mame/ui/selsoft.cpp:462
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/utils.cpp:57 src/frontend/mame/ui/utils.cpp:81
+msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/utils.cpp:58 src/frontend/mame/ui/utils.cpp:82
+msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/utils.cpp:59 src/frontend/mame/ui/utils.cpp:83
+msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/utils.cpp:60
+msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/utils.cpp:61
+msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/utils.cpp:62
+msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:63
+msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:64
+msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:65
+msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:67
+msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:84
+msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/utils.cpp:85
+msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:70
+msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:86
+msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/utils.cpp:72
+msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/utils.cpp:73
+msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/utils.cpp:74
+msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/utils.cpp:75
+msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/utils.cpp:76
+msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/utils.cpp:77
+msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/utils.cpp:78 src/frontend/mame/ui/utils.cpp:94
+msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/utils.cpp:87
+msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/utils.cpp:88
+msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/utils.cpp:89
+msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/utils.cpp:90
+msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/utils.cpp:91
+msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:43
-#, c-format
-msgid ""
-"[This option is currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"The selected option enables the following items:\n"
+#: src/frontend/mame/ui/utils.cpp:92
+msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:44
-#, c-format
-msgid ""
-"[This option is NOT currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"If you select this option, the following items will be enabled:\n"
+#: src/frontend/mame/ui/utils.cpp:93
+msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/utils.cpp:244
+msgid "<set up filters>"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:352
+msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/utils.cpp:503
#, c-format
-msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
-msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:518
+msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %3$d.%4$06d MHz\n"
+#: src/frontend/mame/ui/utils.cpp:520
+msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:959
+msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/utils.cpp:990
+msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/utils.cpp:998
+msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:103
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1032
+msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1037
+msgid "File"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/utils.cpp:1041
+msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
-#, c-format
-msgid " %1$d×%2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1046
+msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1047
+msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:168
-#, c-format
+#: src/frontend/mame/ui/selsoft.cpp:456
msgid ""
-"* BIOS settings:\n"
-" %1$d options [default: %2$s]\n"
+"The selected software is missing one or more required files. Please select a "
+"different software.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:208 src/frontend/mame/ui/devopt.cpp:224
-#: src/frontend/mame/ui/devopt.cpp:269
+#: src/frontend/mame/ui/selsoft.cpp:549
#, c-format
-msgid " %1$s [default: %2$s]\n"
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
+#: src/frontend/mame/ui/selsoft.cpp:550
#, c-format
-msgid " %1$s\n"
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:260
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:419
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/filesel.cpp:515
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:516
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:518
+msgid "Read-write"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
-#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:519
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:520
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:117
+msgid "Cannot save over directory"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:150
+msgid ""
+"The software selected is missing one or more required ROM or CHD images. "
+"Please select a different one."
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:294
+msgid "Return to Machine"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
-#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:299 src/frontend/mame/ui/menu.cpp:301
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+#: src/frontend/mame/ui/menu.cpp:306 src/frontend/mame/ui/menu.cpp:308
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
-#, c-format
-msgid " %1$s [tag: %2$s]\n"
+#: src/frontend/mame/ui/menu.cpp:742
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
+#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:653
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+#: src/frontend/mame/ui/cheatopt.cpp:105
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/cheatopt.cpp:136
+msgid "Autofire Settings"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:581
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:582
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
+#: src/frontend/mame/ui/cheatopt.cpp:273
+msgid "Autofire Status"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
+#: src/frontend/mame/ui/cheatopt.cpp:316
+msgid "No buttons found on this machine!"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+#: src/frontend/mame/ui/cheatopt.cpp:327 src/frontend/mame/ui/cheatopt.cpp:331
+msgid "Autofire Delay"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
-msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
+#: src/frontend/mame/ui/ui.cpp:337
+msgid "This driver requires images to be loaded in the following device(s): "
msgstr ""
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
+#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
+msgid "Keyboard Emulation Status"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
+#: src/frontend/mame/ui/ui.cpp:1086
+msgid "Mode: PARTIAL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
+#: src/frontend/mame/ui/ui.cpp:1087
+msgid "UI: Enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
+#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
+msgid "**Use ScrLock to toggle**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
+#: src/frontend/mame/ui/ui.cpp:1096
+msgid "Mode: FULL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: src/frontend/mame/ui/ui.cpp:1097
+msgid "UI: Disabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
+#: src/frontend/mame/ui/ui.cpp:1249
+msgid "Autofire can't be enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
+#: src/frontend/mame/ui/ui.cpp:1302
+#, c-format
+msgid ""
+"Are you sure you want to quit?\n"
+"\n"
+"Press ''%1$s'' to quit,\n"
+"Press ''%2$s'' to return to emulation."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
+#: src/frontend/mame/ui/ui.cpp:1374
+msgid "Master Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
+#: src/frontend/mame/ui/ui.cpp:1383
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/ui.cpp:1407
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/ui.cpp:1416
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/ui.cpp:1437
+#, c-format
+msgid "%1$s Refresh Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, c-format
+msgid "%1$s Brightness"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1444
+#, c-format
+msgid "%1$s Contrast"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1446
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/ui.cpp:1450
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/ui.cpp:1452
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/ui.cpp:1454
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/ui.cpp:1456
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/ui.cpp:1475
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/ui.cpp:1477
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/ui.cpp:1479
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
-msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+#: src/frontend/mame/ui/ui.cpp:1481
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:198
-msgid ""
-"There are known problems with this machine\n"
-"\n"
+#: src/frontend/mame/ui/ui.cpp:1493
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/ui.cpp:1494
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/ui.cpp:1495
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
+#: src/frontend/mame/ui/ui.cpp:1496
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#: src/frontend/mame/ui/info.cpp:275
+#: src/frontend/mame/ui/ui.cpp:1511
#, c-format
-msgid ", %s"
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
+#: src/frontend/mame/ui/ui.cpp:1513
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:243
-msgid ""
-"This machine was never completed. It may exhibit strange behavior or missing "
-"elements that are not bugs in the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1601
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:245
-msgid ""
-"This machine has no sound hardware, MAME will produce no sounds, this is "
-"expected behaviour.\n"
+#: src/frontend/mame/ui/ui.cpp:1645
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:249
-msgid ""
-"\n"
-"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
-"complete. There is nothing you can do to fix this problem except wait for "
-"the developers to improve the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1661
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:251
-msgid ""
-"\n"
-"Elements of this machine cannot be emulated as they requires physical "
-"interaction or consist of mechanical devices. It is not possible to fully "
-"experience this machine.\n"
+#: src/frontend/mame/ui/ui.cpp:1685
+#, c-format
+msgid "%1$.3ffps"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
+#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
+#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
+#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
+#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
+#: src/frontend/mame/ui/ui.cpp:1927
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
+#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/ui.cpp:2005
#, c-format
-msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/ui.cpp:2226
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " COLORS"
+msgstr ""
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:39
#, c-format
-msgid "%1$s: %2$s\n"
+msgid ""
+"[This option is currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"The selected option enables the following items:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+#: src/frontend/mame/ui/devopt.cpp:40
+#, c-format
+msgid ""
+"[This option is NOT currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"If you select this option, the following items will be enabled:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:48
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
#, c-format
-msgid "Screen '%1$s'"
+msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
+msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:85
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:90
+#, c-format
+msgid " Screen '%1$s': Vector\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:99
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:100
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:113
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:133
+#, c-format
+msgid " %1$d×%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:164
+#, c-format
+msgid ""
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:204 src/frontend/mame/ui/devopt.cpp:220
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
+#: src/frontend/mame/ui/devopt.cpp:209 src/frontend/mame/ui/devopt.cpp:225
#, c-format
-msgid "Software is clone of: %1$-.100s"
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: src/frontend/mame/ui/devopt.cpp:230
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: src/frontend/mame/ui/devopt.cpp:232
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: src/frontend/mame/ui/devopt.cpp:234
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: src/frontend/mame/ui/devopt.cpp:236
+#, c-format
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
+#: src/frontend/mame/ui/devopt.cpp:238
#, c-format
-msgid "romset: %1$-.100s"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
+#: src/frontend/mame/ui/devopt.cpp:240
#, c-format
-msgid "Driver is clone of: %1$-.100s"
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: src/frontend/mame/ui/devopt.cpp:242
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
+#: src/frontend/mame/ui/devopt.cpp:244
#, c-format
-msgid "%1$s %2$s"
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: src/frontend/mame/ui/devopt.cpp:246
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: src/frontend/mame/ui/devopt.cpp:248
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: src/frontend/mame/ui/devopt.cpp:257
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: src/frontend/mame/ui/devopt.cpp:263
+msgid "* Slot Options:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:270
+msgid "[None]\n"
msgstr ""
#: plugins/timer/init.lua:94
@@ -2669,51 +2588,51 @@ msgstr ""
msgid "Timer"
msgstr ""
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:510
msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheat/init.lua:534
+#: plugins/cheat/init.lua:516
msgid "Press button for hotkey or wait to clear"
msgstr ""
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:528
msgid "None"
msgstr ""
-#: plugins/cheat/init.lua:551
+#: plugins/cheat/init.lua:533
msgid "Done"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:547 plugins/cheat/init.lua:561
msgid "Set"
msgstr ""
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:580
msgid "Set hotkeys"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:720
#, lua-format
msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:723 plugins/cheat/init.lua:781
#, lua-format
msgid "Activated: %s"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:785
#, lua-format
msgid "Enabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:790
#, lua-format
msgid "Disabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "%s added"
msgstr ""
@@ -2762,303 +2681,218 @@ msgstr ""
msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:404
+#: plugins/cheatfind/init.lua:373
msgid "Save Cheat"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Default"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Custom"
msgstr ""
-#: plugins/cheatfind/init.lua:408
+#: plugins/cheatfind/init.lua:377
msgid "Cheat Name"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/cheatfind/init.lua:383 plugins/cheatfind/init.lua:748
#, lua-format
msgid "Default name is %s"
msgstr ""
-#: plugins/cheatfind/init.lua:422
+#: plugins/cheatfind/init.lua:391
msgid "Player"
msgstr ""
-#: plugins/cheatfind/init.lua:427
+#: plugins/cheatfind/init.lua:396
msgid "Type"
msgstr ""
-#: plugins/cheatfind/init.lua:433
+#: plugins/cheatfind/init.lua:402
msgid "Save"
msgstr ""
-#: plugins/cheatfind/init.lua:462
+#: plugins/cheatfind/init.lua:429
#, lua-format
msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:472
+#: plugins/cheatfind/init.lua:437
msgid "Cheat added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:442
msgid ""
"Unable to write file\n"
"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/cheatfind/init.lua:486
+#: plugins/cheatfind/init.lua:451
msgid "Cancel"
msgstr ""
-#: plugins/cheatfind/init.lua:491
+#: plugins/cheatfind/init.lua:456
msgid "CPU or RAM"
msgstr ""
-#: plugins/cheatfind/init.lua:495
+#: plugins/cheatfind/init.lua:460
msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:479
+msgid "Data cleared and current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:487
+msgid "Start new search"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:497
+msgid "Current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:504
+msgid "Save current -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
+#: plugins/cheatfind/init.lua:536
#, lua-format
-msgid "Memory State saved to Slot %d"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:543
+msgid "Compare"
msgstr ""
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
+#: plugins/cheatfind/init.lua:546
+msgid "Left operand"
+msgstr ""
+
+#: plugins/cheatfind/init.lua:549
+msgid "Current"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:554
+msgid "Operator"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:561
+msgid "Left less than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:563
+msgid "Left greater than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:676
+#: plugins/cheatfind/init.lua:565
msgid "Left equal to right"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:567
+msgid "Left not equal to right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:680
+#: plugins/cheatfind/init.lua:569
msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:682
+#: plugins/cheatfind/init.lua:571
msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:684
+#: plugins/cheatfind/init.lua:573
msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:686
+#: plugins/cheatfind/init.lua:575
msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:688
+#: plugins/cheatfind/init.lua:577
msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:690
+#: plugins/cheatfind/init.lua:579
msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/cheatfind/init.lua:590
+msgid "Right operand"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/cheatfind/init.lua:598
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:719
+#: plugins/cheatfind/init.lua:602
msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:725
+#: plugins/cheatfind/init.lua:608
msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:738
-msgid ""
-"Use this if you want to poke the Slot 1 value (eg. You started with "
-"something but lost it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:740
-msgid ""
-"Use this if you want to poke the Last Slot value (eg. You started without an "
-"item but finally got it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:816
+#: plugins/cheatfind/init.lua:632
msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:820
+#: plugins/cheatfind/init.lua:636
msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:823
+#: plugins/cheatfind/init.lua:639
msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheatfind/init.lua:690
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Test cheat at addr %08X"
msgstr ""
-#: plugins/cheatfind/init.lua:974
+#: plugins/cheatfind/init.lua:722
msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
+#: plugins/cheatfind/init.lua:788
msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
+#: plugins/cheatfind/init.lua:806
msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
+#: plugins/cheatfind/init.lua:816
msgid "Cheat Finder"
msgstr ""
-#: plugins/portname/init.lua:103
+#: plugins/portname/init.lua:69
msgid "Save input names to file"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
+#: plugins/portname/init.lua:100 plugins/portname/init.lua:105
+#: plugins/portname/init.lua:121
msgid "Failed to save input name file"
msgstr ""
-#: plugins/portname/init.lua:167
+#: plugins/portname/init.lua:133
#, lua-format
msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/portname/init.lua:172
+#: plugins/portname/init.lua:138
msgid "Input ports"
msgstr ""
diff --git a/language/Arabic/strings.po b/language/Arabic/strings.po
index d87d15f09e4..301238eae95 100644
--- a/language/Arabic/strings.po
+++ b/language/Arabic/strings.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MAME\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-03-17 13:37+1100\n"
+"POT-Creation-Date: 2018-04-28 15:32+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -16,1144 +16,1041 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
+#: src/frontend/mame/ui/auditmenu.cpp:96
#, c-format
-msgid "Screen #%d"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Enabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Disabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
-msgid "Marquees"
+#: src/frontend/mame/ui/auditmenu.cpp:99
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/auditmenu.cpp:104
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/auditmenu.cpp:130
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/auditmenu.cpp:142
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/selmenu.cpp:49 src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/selmenu.cpp:50 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/selmenu.cpp:51
+msgid "Control Panels"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/selmenu.cpp:52 src/frontend/mame/ui/dirmenu.cpp:50
+msgid "PCBs"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/selmenu.cpp:53 src/frontend/mame/ui/dirmenu.cpp:47
+msgid "Flyers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/selmenu.cpp:54 src/frontend/mame/ui/dirmenu.cpp:48
+msgid "Titles"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/selmenu.cpp:55 src/frontend/mame/ui/dirmenu.cpp:49
+msgid "Ends"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/selmenu.cpp:56
+msgid "Artwork Preview"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/selmenu.cpp:57 src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Bosses"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/selmenu.cpp:58 src/frontend/mame/ui/dirmenu.cpp:60
+msgid "Logos"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/selmenu.cpp:59 src/frontend/mame/ui/dirmenu.cpp:62
+msgid "Versus"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/selmenu.cpp:60
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/selmenu.cpp:61 src/frontend/mame/ui/dirmenu.cpp:59
+msgid "HowTo"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/selmenu.cpp:62 src/frontend/mame/ui/dirmenu.cpp:61
+msgid "Scores"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/selmenu.cpp:63 src/frontend/mame/ui/dirmenu.cpp:57
+msgid "Select"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/selmenu.cpp:64 src/frontend/mame/ui/dirmenu.cpp:51
+#: src/frontend/mame/ui/videoopt.cpp:224
+msgid "Marquees"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/selmenu.cpp:65 src/frontend/mame/ui/dirmenu.cpp:63
+msgid "Covers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/selmenu.cpp:69
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/selmenu.cpp:70
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/selmenu.cpp:71
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/selmenu.cpp:237
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/selmenu.cpp:343
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/selmenu.cpp:570 src/frontend/mame/ui/selmenu.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:311
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/selmenu.cpp:574
+#, c-format
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/selmenu.cpp:576
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/selmenu.cpp:581
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/selmenu.cpp:586
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/selmenu.cpp:591
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selmenu.cpp:596
+#, c-format
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selmenu.cpp:612
#, c-format
-msgid "Current %1$s Folders"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selmenu.cpp:614
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selmenu.cpp:619
+#: src/frontend/mame/ui/simpleselgame.cpp:330
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selmenu.cpp:621
+#: src/frontend/mame/ui/simpleselgame.cpp:332
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:623
+#: src/frontend/mame/ui/simpleselgame.cpp:334
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:627
+#: src/frontend/mame/ui/simpleselgame.cpp:338
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/selmenu.cpp:629
+#: src/frontend/mame/ui/simpleselgame.cpp:340
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/selmenu.cpp:631
+#: src/frontend/mame/ui/simpleselgame.cpp:342
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/selmenu.cpp:634
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/selmenu.cpp:636
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/selmenu.cpp:638
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/selmenu.cpp:640
+#: src/frontend/mame/ui/simpleselgame.cpp:351
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/selmenu.cpp:650
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/selmenu.cpp:1975
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/selmenu.cpp:1976
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/selmenu.cpp:2386 src/frontend/mame/ui/miscmenu.cpp:826
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/selmenu.cpp:2454
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/selmenu.cpp:2489
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/dirmenu.cpp:35
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/dirmenu.cpp:36
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
-#: src/frontend/mame/ui/slotopt.cpp:220
-msgid "[empty slot]"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/dirmenu.cpp:40
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/dirmenu.cpp:52
+msgid "Controls Panels"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/dirmenu.cpp:53
+msgid "Crosshairs"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Artworks"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks Preview"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "GameOver"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/dirmenu.cpp:116
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/dirmenu.cpp:167
+#, c-format
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/dirmenu.cpp:182
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/dirmenu.cpp:429
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/dirmenu.cpp:513
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/info.cpp:30
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "LAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/info.cpp:180
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/info.cpp:190
+msgid ""
+"There are known problems with this machine\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/info.cpp:195
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/info.cpp:200
+msgid "Completely unemulated features: "
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#, c-format
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#: src/frontend/mame/ui/info.cpp:267
+#, c-format
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/info.cpp:216
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/info.cpp:231
+msgid "Screen flipping in cocktail mode is not supported.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/info.cpp:233
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/info.cpp:235
+msgid ""
+"This machine was never completed. It may exhibit strange behavior or missing "
+"elements that are not bugs in the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/info.cpp:237
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/info.cpp:241
+msgid ""
+"\n"
+"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
+"complete. There is nothing you can do to fix this problem except wait for "
+"the developers to improve the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/info.cpp:243
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they requires physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/info.cpp:265
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/info.cpp:278
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/info.cpp:293
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:149
+#: src/frontend/mame/ui/info.cpp:342
msgid ""
-"The selected game is missing one or more required ROM or CHD images. Please "
-"select a different game.\n"
"\n"
-"Press any key to continue."
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:247
-#, c-format
+#: src/frontend/mame/ui/info.cpp:370
msgid ""
-"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
"\n"
-"If this is your first time using %2$s, please see the config.txt file in the "
-"docs directory for information on configuring %2$s."
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+"Video:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/info.cpp:374
+msgid "None\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/info.cpp:381
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:314
-#: src/frontend/mame/ui/selsoft.cpp:652 src/frontend/mame/ui/selsoft.cpp:659
+#: src/frontend/mame/ui/info.cpp:392
#, c-format
-msgid "%1$-.100s"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:317
-#: src/frontend/mame/ui/selmenu.cpp:618 src/frontend/mame/ui/selmenu.cpp:654
-#, c-format
-msgid "%1$s, %2$-.100s"
+#: src/frontend/mame/ui/info.cpp:392
+msgid "%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
+#: src/frontend/mame/ui/info.cpp:438
#, c-format
-msgid "Driver: %1$-.100s"
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+msgid "Screen '%1$s'"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/info.cpp:440
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/info.cpp:525
+msgid "Not supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/info.cpp:528
+msgid "Partially supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/info.cpp:536
+msgid "[empty]"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/optsmenu.cpp:193
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/optsmenu.cpp:206
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/optsmenu.cpp:207
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/optsmenu.cpp:210 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/optsmenu.cpp:213
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/optsmenu.cpp:216
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/optsmenu.cpp:228
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:337
-msgid "This driver requires images to be loaded in the following device(s): "
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
+msgid "Rewind"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1302
-#, c-format
-msgid ""
-"Are you sure you want to quit?\n"
-"\n"
-"Press ''%1$s'' to quit,\n"
-"Press ''%2$s'' to return to emulation."
+#: src/frontend/mame/ui/inputmap.cpp:53
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/inputmap.cpp:59
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
+#: src/frontend/mame/ui/inputmap.cpp:628 src/frontend/mame/ui/miscmenu.cpp:96
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/selector.cpp:116
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
+#: src/frontend/mame/ui/selector.cpp:124
#, c-format
-msgid "Overclock %1$s sound"
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/filesel.cpp:256
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/swlist.cpp:88
+msgid "[file manager]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/swlist.cpp:228
+msgid "Switch Item Ordering"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
+#: src/frontend/mame/ui/swlist.cpp:259
#, c-format
-msgid "%1$s Horiz Stretch"
+msgid "Switched Order: entries now ordered by %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "shortname"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "description"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/swlist.cpp:389
+msgid "[compatible lists]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/datmenu.cpp:80
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/datmenu.cpp:362
+msgid "Revision: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/simpleselgame.cpp:149
+msgid ""
+"The selected game is missing one or more required ROM or CHD images. Please "
+"select a different game.\n"
+"\n"
+"Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
+#: src/frontend/mame/ui/simpleselgame.cpp:241
#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+msgid ""
+"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
+"\n"
+"If this is your first time using %2$s, please see the config.txt file in the "
+"docs directory for information on configuring %2$s."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/simpleselgame.cpp:271
+#: src/frontend/mame/ui/selgame.cpp:436
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/simpleselgame.cpp:292
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/simpleselgame.cpp:294
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
+#: src/frontend/mame/ui/simpleselgame.cpp:308
+#: src/frontend/mame/ui/selsoft.cpp:564 src/frontend/mame/ui/selsoft.cpp:571
#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/simpleselgame.cpp:314
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
+#: src/frontend/mame/ui/videoopt.cpp:56
#, c-format
-msgid "Crosshair Offset %1$s"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/videoopt.cpp:208
+msgid "Backdrops"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Enabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Disabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
-#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
-#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
-#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
-#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
-#: src/frontend/mame/ui/ui.cpp:1927
-#, c-format
-msgid "%1$.3f"
+#: src/frontend/mame/ui/videoopt.cpp:212
+msgid "Overlays"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
-#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
-#, c-format
-msgid "%1$1.2f"
+#: src/frontend/mame/ui/videoopt.cpp:216
+msgid "Bezels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:220
+msgid "CPanels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "View"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cropped"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Full"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1047
+msgid "No"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
-msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1047
+msgid "Yes"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
-msgid ""
-"Cheat Comment:\n"
-"%s"
+#: src/frontend/mame/ui/filecreate.cpp:171
+msgid "New Image Name:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/filecreate.cpp:177
+msgid "Image Format:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/filecreate.cpp:183
+msgid "Create"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/filecreate.cpp:266
+msgid "Select image format"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Keyboard Mode:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Natural"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Emulated"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
+#: src/frontend/mame/ui/miscmenu.cpp:236
#, c-format
msgid ""
-"%s\n"
-" added to favorites list."
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
+#: src/frontend/mame/ui/miscmenu.cpp:238
#, c-format
msgid ""
-"%s\n"
-" removed from favorites list."
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/miscmenu.cpp:242
+#, c-format
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
+"Tickets dispensed: %1$d\n"
"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
+#: src/frontend/mame/ui/miscmenu.cpp:253
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/miscmenu.cpp:253
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
-#, c-format
-msgid "Driver: \"%1$s\" software list "
+#: src/frontend/mame/ui/miscmenu.cpp:256
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
-#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+#: src/frontend/mame/ui/miscmenu.cpp:503
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/miscmenu.cpp:601
#, c-format
-msgid "Search: %1$s_"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
-msgid "Unfiltered"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
-msgid "Available"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
-msgid "Unavailable"
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
-msgid "Working"
+#: src/frontend/mame/ui/miscmenu.cpp:627
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
-msgid "Not Working"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
-msgid "Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:655
+msgid "Export list in XML format (like -listxml)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
-msgid "Not Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:656
+msgid "Export list in XML format (like -listxml, but exclude devices)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
-msgid "Category"
+#: src/frontend/mame/ui/miscmenu.cpp:657
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
-msgid "Favorites"
+#: src/frontend/mame/ui/miscmenu.cpp:710 src/frontend/mame/ui/ui.cpp:2230
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/miscmenu.cpp:760 src/frontend/mame/ui/utils.cpp:66
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
-msgid "Not BIOS"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
-msgid "Parents"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
-msgid "Clones"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:73
-msgid "Manufacturer"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
-msgid "Year"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:75
-msgid "Save Supported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:76
-msgid "Save Unsupported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:77
-msgid "CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:78
-msgid "No CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:79
-msgid "Vertical Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:80
-msgid "Horizontal Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
-msgid "Custom Filter"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:91
-msgid "Publisher"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:92
-msgid "Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:764
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
-msgid "Partially Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:767
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
-msgid "Unsupported"
+#: src/frontend/mame/ui/miscmenu.cpp:776 src/frontend/mame/ui/mainmenu.cpp:145
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
-msgid "Release Region"
+#: src/frontend/mame/ui/miscmenu.cpp:778 src/frontend/mame/ui/mainmenu.cpp:147
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
-msgid "Device Type"
+#: src/frontend/mame/ui/miscmenu.cpp:781
+msgid "Save machine configuration"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
-msgid "Software List"
+#: src/frontend/mame/ui/miscmenu.cpp:792
+msgid "Configure machine:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
-msgid "<set up filters>"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:736
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:551 plugins/cheatfind/init.lua:619
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
-msgid "Select custom filters:"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:739
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:554 plugins/cheat/init.lua:563
+#: plugins/cheatfind/init.lua:616
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
-#, c-format
-msgid "Filter %1$u"
+#: src/frontend/mame/ui/miscmenu.cpp:909 src/frontend/mame/ui/selgame.cpp:441
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
-msgid "Remove last filter"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
-msgid "Add filter"
+#: src/frontend/mame/ui/barcode.cpp:78
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
-msgid "Select category:"
+#: src/frontend/mame/ui/barcode.cpp:119
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
-msgid "[no category INI files]"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:99
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
-msgid "[no groups in INI file]"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
-msgid "No category INI files found"
+#: src/frontend/mame/ui/mainmenu.cpp:60
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
-msgid "File"
+#: src/frontend/mame/ui/mainmenu.cpp:62
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
-msgid "No groups found in category file"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
-msgid "Group"
+#: src/frontend/mame/ui/mainmenu.cpp:68
+msgid "Dip Switches"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
-msgid "Include clones"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
+#: src/frontend/mame/ui/mainmenu.cpp:78
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/mainmenu.cpp:85
+msgid "Image Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/mainmenu.cpp:96
+msgid "Tape Control"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/mainmenu.cpp:102
+msgid "BIOS Selection"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/mainmenu.cpp:106
+msgid "Slot Devices"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
-#, c-format
-msgid "%s [internal]"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Barcode Reader"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:203 src/frontend/mame/ui/miscmenu.cpp:97
-#: src/frontend/mame/ui/inputmap.cpp:615
-msgid "Reset"
+#: src/frontend/mame/ui/mainmenu.cpp:114
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/mainmenu.cpp:118
+msgid "Keyboard Mode"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/mainmenu.cpp:121
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/mainmenu.cpp:124 src/frontend/mame/ui/submenu.cpp:101
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/mainmenu.cpp:128
+msgid "Crosshair Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/mainmenu.cpp:132 plugins/cheat/init.lua:735
+msgid "Cheat"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:762
-#: plugins/cheat/init.lua:569 plugins/cheatfind/init.lua:792
-#: plugins/cheatfind/init.lua:803
-msgid "On"
+#: src/frontend/mame/ui/mainmenu.cpp:135
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:765
-#: plugins/cheat/init.lua:572 plugins/cheat/init.lua:581
-#: plugins/cheatfind/init.lua:789 plugins/cheatfind/init.lua:800
-msgid "Off"
+#: src/frontend/mame/ui/mainmenu.cpp:139
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/mainmenu.cpp:154
+msgid "Select New Machine"
msgstr ""
#: src/frontend/mame/ui/custui.cpp:31
@@ -1376,1281 +1273,1303 @@ msgstr ""
msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/submenu.cpp:22
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/submenu.cpp:23
+msgid "Re-select last machine played"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/submenu.cpp:24
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:26
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:27
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:28
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:29
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:30
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
-#, c-format
-msgid "%s.txt saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/submenu.cpp:45
+msgid "Refresh speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/submenu.cpp:47
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/submenu.cpp:49
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
-msgid "Configure Machine"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
-#, c-format
-msgid "Romset\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
-#, c-format
-msgid "Year\t%1$s\n"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
-#, c-format
-msgid "Manufacturer\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
-#, c-format
-msgid "Driver is Clone of\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1044
-msgid "Driver is Parent\t\n"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
-msgid "Analog Controls\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Artwork Crop"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
-msgid "Keyboard Inputs\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Use Backdrops"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
-msgid "Overall\tNOT WORKING\n"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Use Overlays"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
-msgid "Overall\tUnemulated Protection\n"
+#: src/frontend/mame/ui/submenu.cpp:60
+msgid "Use Bezels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
-msgid "Overall\tWorking\n"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Use Control Panels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
-msgid "Graphics\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:62
+msgid "Use Marquees"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
-msgid "Graphics\tWrong Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
-msgid "Graphics\tImperfect Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
-msgid "Graphics\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
-msgid "Graphics\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Bilinear snapshot"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
-msgid "Sound\tNone\n"
+#: src/frontend/mame/ui/submenu.cpp:69
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
-msgid "Sound\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
-msgid "Sound\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:72
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
-msgid "Sound\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
-msgid "Capture\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
-msgid "Capture\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
-msgid "Camera\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
-msgid "Camera\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
-msgid "Microphone\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
-msgid "Microphone\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:79
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
-msgid "Controls\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
-msgid "Controls\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
-msgid "Keyboard\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Joystick saturation"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
-msgid "Keyboard\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Natural keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
-msgid "Mouse\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
-msgid "Mouse\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
-msgid "Media\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
-msgid "Media\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Lightgun Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
-msgid "Disk\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Trackball Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
-msgid "Disk\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
-msgid "Printer\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
-msgid "Printer\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
-msgid "Mag. Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:95
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
-msgid "Mag. Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:96
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
-msgid "Punch Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:97
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
-msgid "Punch Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
-msgid "Mag. Drum\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:103
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
-msgid "Mag. Drum\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
-msgid "(EP)ROM\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
-msgid "(EP)ROM\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
-msgid "Communications\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:109
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
-msgid "Communications\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:110
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
-msgid "LAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:111
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
-msgid "LAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:112
+msgid "Enforce Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
-msgid "WAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:113
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
-msgid "WAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:114
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
-msgid "Timing\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
-msgid "Timing\tImperfect\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tYes\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Select position to load from"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tNo\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tYes\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Select position to save to"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tNo\n"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:309 src/frontend/mame/ui/selsoft.cpp:211
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:314 src/frontend/mame/ui/selgame.cpp:320
+#: src/frontend/mame/ui/selsoft.cpp:216
+#, c-format
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:437
+msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:849
+#, c-format
+msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:850
+#, c-format
+msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:851
+#, c-format
+msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:855
+#, c-format
+msgid "Driver is Clone of\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:857
+msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tVertical\n"
+#: src/frontend/mame/ui/selgame.cpp:860
+msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tHorizontal\n"
+#: src/frontend/mame/ui/selgame.cpp:862
+msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:865
+msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:867
+msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
-msgid "ROM Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:869
+msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
-msgid "ROM Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:872
+msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
-msgid "Samples Audit Result\tNone Needed\n"
+#: src/frontend/mame/ui/selgame.cpp:874
+msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
-msgid "Samples Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:876
+msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
-msgid "Samples Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:878
+msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
-msgid ""
-"ROM Audit \tDisabled\n"
-"Samples Audit \tDisabled\n"
+#: src/frontend/mame/ui/selgame.cpp:880
+msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
+#: src/frontend/mame/ui/selgame.cpp:883
+msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1424
-#, c-format
-msgid "Romset: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:885
+msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
-#, c-format
-msgid "System: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:887
+msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1465
-msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
+#: src/frontend/mame/ui/selgame.cpp:889
+msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
+#: src/frontend/mame/ui/selgame.cpp:892
+msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
+#: src/frontend/mame/ui/selgame.cpp:894
+msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
+#: src/frontend/mame/ui/selgame.cpp:897
+msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
+#: src/frontend/mame/ui/selgame.cpp:899
+msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
+#: src/frontend/mame/ui/selgame.cpp:902
+msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selgame.cpp:904
+msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selgame.cpp:907
+msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/selgame.cpp:909
+msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/selgame.cpp:912
+msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/selgame.cpp:914
+msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/selgame.cpp:917
+msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/selgame.cpp:919
+msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/selgame.cpp:922
+msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/selgame.cpp:924
+msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/selgame.cpp:927
+msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/selgame.cpp:929
+msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/selgame.cpp:932
+msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/selgame.cpp:934
+msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/selgame.cpp:937
+msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/selgame.cpp:939
+msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/selgame.cpp:970
+msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/selgame.cpp:972
+msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/selgame.cpp:975
+msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/selgame.cpp:977
+msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/selgame.cpp:979
+msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/selgame.cpp:983
+msgid ""
+"ROM Audit \tDisabled\n"
+"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/selgame.cpp:1167
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/selgame.cpp:1183 src/frontend/mame/ui/selsoft.cpp:555
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/selgame.cpp:1185 src/frontend/mame/ui/selsoft.cpp:557
+#, c-format
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/selgame.cpp:1195
+#, c-format
+msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/selgame.cpp:1202
+#, c-format
+msgid "System: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/selgame.cpp:1239
+msgid ""
+"The selected machine is missing one or more required ROM or CHD images. "
+"Please select a different machine.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/selgame.cpp:1245 src/frontend/mame/ui/selsoft.cpp:462
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/utils.cpp:57 src/frontend/mame/ui/utils.cpp:81
+msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/utils.cpp:58 src/frontend/mame/ui/utils.cpp:82
+msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/utils.cpp:59 src/frontend/mame/ui/utils.cpp:83
+msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/utils.cpp:60
+msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/utils.cpp:61
+msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/utils.cpp:62
+msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:63
+msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:64
+msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:65
+msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:67
+msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:84
+msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/utils.cpp:85
+msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:70
+msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:86
+msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/utils.cpp:72
+msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/utils.cpp:73
+msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/utils.cpp:74
+msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/utils.cpp:75
+msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/utils.cpp:76
+msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/utils.cpp:77
+msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/utils.cpp:78 src/frontend/mame/ui/utils.cpp:94
+msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/utils.cpp:87
+msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/utils.cpp:88
+msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/utils.cpp:89
+msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/utils.cpp:90
+msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/utils.cpp:91
+msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:43
-#, c-format
-msgid ""
-"[This option is currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"The selected option enables the following items:\n"
+#: src/frontend/mame/ui/utils.cpp:92
+msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:44
-#, c-format
-msgid ""
-"[This option is NOT currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"If you select this option, the following items will be enabled:\n"
+#: src/frontend/mame/ui/utils.cpp:93
+msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/utils.cpp:244
+msgid "<set up filters>"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:352
+msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/utils.cpp:503
#, c-format
-msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
-msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:518
+msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %3$d.%4$06d MHz\n"
+#: src/frontend/mame/ui/utils.cpp:520
+msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:959
+msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/utils.cpp:990
+msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/utils.cpp:998
+msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:103
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1032
+msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1037
+msgid "File"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/utils.cpp:1041
+msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
-#, c-format
-msgid " %1$d×%2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1046
+msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1047
+msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:168
-#, c-format
+#: src/frontend/mame/ui/selsoft.cpp:456
msgid ""
-"* BIOS settings:\n"
-" %1$d options [default: %2$s]\n"
+"The selected software is missing one or more required files. Please select a "
+"different software.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:208 src/frontend/mame/ui/devopt.cpp:224
-#: src/frontend/mame/ui/devopt.cpp:269
+#: src/frontend/mame/ui/selsoft.cpp:549
#, c-format
-msgid " %1$s [default: %2$s]\n"
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
+#: src/frontend/mame/ui/selsoft.cpp:550
#, c-format
-msgid " %1$s\n"
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:260
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:419
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/filesel.cpp:515
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:516
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:518
+msgid "Read-write"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
-#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:519
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:520
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:117
+msgid "Cannot save over directory"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:150
+msgid ""
+"The software selected is missing one or more required ROM or CHD images. "
+"Please select a different one."
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:294
+msgid "Return to Machine"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
-#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:299 src/frontend/mame/ui/menu.cpp:301
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+#: src/frontend/mame/ui/menu.cpp:306 src/frontend/mame/ui/menu.cpp:308
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
-#, c-format
-msgid " %1$s [tag: %2$s]\n"
+#: src/frontend/mame/ui/menu.cpp:742
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
+#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:653
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+#: src/frontend/mame/ui/cheatopt.cpp:105
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/cheatopt.cpp:136
+msgid "Autofire Settings"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:581
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:582
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
+#: src/frontend/mame/ui/cheatopt.cpp:273
+msgid "Autofire Status"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
+#: src/frontend/mame/ui/cheatopt.cpp:316
+msgid "No buttons found on this machine!"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+#: src/frontend/mame/ui/cheatopt.cpp:327 src/frontend/mame/ui/cheatopt.cpp:331
+msgid "Autofire Delay"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
-msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
+#: src/frontend/mame/ui/ui.cpp:337
+msgid "This driver requires images to be loaded in the following device(s): "
msgstr ""
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
+#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
+msgid "Keyboard Emulation Status"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
+#: src/frontend/mame/ui/ui.cpp:1086
+msgid "Mode: PARTIAL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
+#: src/frontend/mame/ui/ui.cpp:1087
+msgid "UI: Enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
+#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
+msgid "**Use ScrLock to toggle**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
+#: src/frontend/mame/ui/ui.cpp:1096
+msgid "Mode: FULL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: src/frontend/mame/ui/ui.cpp:1097
+msgid "UI: Disabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
+#: src/frontend/mame/ui/ui.cpp:1249
+msgid "Autofire can't be enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
+#: src/frontend/mame/ui/ui.cpp:1302
+#, c-format
+msgid ""
+"Are you sure you want to quit?\n"
+"\n"
+"Press ''%1$s'' to quit,\n"
+"Press ''%2$s'' to return to emulation."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
+#: src/frontend/mame/ui/ui.cpp:1374
+msgid "Master Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
+#: src/frontend/mame/ui/ui.cpp:1383
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/ui.cpp:1407
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/ui.cpp:1416
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/ui.cpp:1437
+#, c-format
+msgid "%1$s Refresh Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, c-format
+msgid "%1$s Brightness"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1444
+#, c-format
+msgid "%1$s Contrast"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1446
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/ui.cpp:1450
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/ui.cpp:1452
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/ui.cpp:1454
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/ui.cpp:1456
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/ui.cpp:1475
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/ui.cpp:1477
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/ui.cpp:1479
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
-msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+#: src/frontend/mame/ui/ui.cpp:1481
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:198
-msgid ""
-"There are known problems with this machine\n"
-"\n"
+#: src/frontend/mame/ui/ui.cpp:1493
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/ui.cpp:1494
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/ui.cpp:1495
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
+#: src/frontend/mame/ui/ui.cpp:1496
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#: src/frontend/mame/ui/info.cpp:275
+#: src/frontend/mame/ui/ui.cpp:1511
#, c-format
-msgid ", %s"
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
+#: src/frontend/mame/ui/ui.cpp:1513
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:243
-msgid ""
-"This machine was never completed. It may exhibit strange behavior or missing "
-"elements that are not bugs in the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1601
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:245
-msgid ""
-"This machine has no sound hardware, MAME will produce no sounds, this is "
-"expected behaviour.\n"
+#: src/frontend/mame/ui/ui.cpp:1645
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:249
-msgid ""
-"\n"
-"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
-"complete. There is nothing you can do to fix this problem except wait for "
-"the developers to improve the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1661
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:251
-msgid ""
-"\n"
-"Elements of this machine cannot be emulated as they requires physical "
-"interaction or consist of mechanical devices. It is not possible to fully "
-"experience this machine.\n"
+#: src/frontend/mame/ui/ui.cpp:1685
+#, c-format
+msgid "%1$.3ffps"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
+#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
+#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
+#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
+#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
+#: src/frontend/mame/ui/ui.cpp:1927
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
+#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/ui.cpp:2005
#, c-format
-msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/ui.cpp:2226
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " COLORS"
+msgstr ""
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:39
#, c-format
-msgid "%1$s: %2$s\n"
+msgid ""
+"[This option is currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"The selected option enables the following items:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+#: src/frontend/mame/ui/devopt.cpp:40
+#, c-format
+msgid ""
+"[This option is NOT currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"If you select this option, the following items will be enabled:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:48
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
#, c-format
-msgid "Screen '%1$s'"
+msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
+msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:85
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:90
+#, c-format
+msgid " Screen '%1$s': Vector\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:99
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:100
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:113
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:133
+#, c-format
+msgid " %1$d×%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:164
+#, c-format
+msgid ""
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:204 src/frontend/mame/ui/devopt.cpp:220
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
+#: src/frontend/mame/ui/devopt.cpp:209 src/frontend/mame/ui/devopt.cpp:225
#, c-format
-msgid "Software is clone of: %1$-.100s"
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: src/frontend/mame/ui/devopt.cpp:230
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: src/frontend/mame/ui/devopt.cpp:232
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: src/frontend/mame/ui/devopt.cpp:234
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: src/frontend/mame/ui/devopt.cpp:236
+#, c-format
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
+#: src/frontend/mame/ui/devopt.cpp:238
#, c-format
-msgid "romset: %1$-.100s"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
+#: src/frontend/mame/ui/devopt.cpp:240
#, c-format
-msgid "Driver is clone of: %1$-.100s"
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: src/frontend/mame/ui/devopt.cpp:242
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
+#: src/frontend/mame/ui/devopt.cpp:244
#, c-format
-msgid "%1$s %2$s"
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: src/frontend/mame/ui/devopt.cpp:246
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: src/frontend/mame/ui/devopt.cpp:248
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: src/frontend/mame/ui/devopt.cpp:257
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: src/frontend/mame/ui/devopt.cpp:263
+msgid "* Slot Options:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:270
+msgid "[None]\n"
msgstr ""
#: plugins/timer/init.lua:94
@@ -2669,51 +2588,51 @@ msgstr ""
msgid "Timer"
msgstr ""
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:510
msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheat/init.lua:534
+#: plugins/cheat/init.lua:516
msgid "Press button for hotkey or wait to clear"
msgstr ""
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:528
msgid "None"
msgstr ""
-#: plugins/cheat/init.lua:551
+#: plugins/cheat/init.lua:533
msgid "Done"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:547 plugins/cheat/init.lua:561
msgid "Set"
msgstr ""
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:580
msgid "Set hotkeys"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:720
#, lua-format
msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:723 plugins/cheat/init.lua:781
#, lua-format
msgid "Activated: %s"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:785
#, lua-format
msgid "Enabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:790
#, lua-format
msgid "Disabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "%s added"
msgstr ""
@@ -2762,303 +2681,218 @@ msgstr ""
msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:404
+#: plugins/cheatfind/init.lua:373
msgid "Save Cheat"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Default"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Custom"
msgstr ""
-#: plugins/cheatfind/init.lua:408
+#: plugins/cheatfind/init.lua:377
msgid "Cheat Name"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/cheatfind/init.lua:383 plugins/cheatfind/init.lua:748
#, lua-format
msgid "Default name is %s"
msgstr ""
-#: plugins/cheatfind/init.lua:422
+#: plugins/cheatfind/init.lua:391
msgid "Player"
msgstr ""
-#: plugins/cheatfind/init.lua:427
+#: plugins/cheatfind/init.lua:396
msgid "Type"
msgstr ""
-#: plugins/cheatfind/init.lua:433
+#: plugins/cheatfind/init.lua:402
msgid "Save"
msgstr ""
-#: plugins/cheatfind/init.lua:462
+#: plugins/cheatfind/init.lua:429
#, lua-format
msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:472
+#: plugins/cheatfind/init.lua:437
msgid "Cheat added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:442
msgid ""
"Unable to write file\n"
"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/cheatfind/init.lua:486
+#: plugins/cheatfind/init.lua:451
msgid "Cancel"
msgstr ""
-#: plugins/cheatfind/init.lua:491
+#: plugins/cheatfind/init.lua:456
msgid "CPU or RAM"
msgstr ""
-#: plugins/cheatfind/init.lua:495
+#: plugins/cheatfind/init.lua:460
msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:479
+msgid "Data cleared and current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:487
+msgid "Start new search"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:497
+msgid "Current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:504
+msgid "Save current -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
+#: plugins/cheatfind/init.lua:536
#, lua-format
-msgid "Memory State saved to Slot %d"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:543
+msgid "Compare"
msgstr ""
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
+#: plugins/cheatfind/init.lua:546
+msgid "Left operand"
+msgstr ""
+
+#: plugins/cheatfind/init.lua:549
+msgid "Current"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:554
+msgid "Operator"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:561
+msgid "Left less than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:563
+msgid "Left greater than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:676
+#: plugins/cheatfind/init.lua:565
msgid "Left equal to right"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:567
+msgid "Left not equal to right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:680
+#: plugins/cheatfind/init.lua:569
msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:682
+#: plugins/cheatfind/init.lua:571
msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:684
+#: plugins/cheatfind/init.lua:573
msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:686
+#: plugins/cheatfind/init.lua:575
msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:688
+#: plugins/cheatfind/init.lua:577
msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:690
+#: plugins/cheatfind/init.lua:579
msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/cheatfind/init.lua:590
+msgid "Right operand"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/cheatfind/init.lua:598
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:719
+#: plugins/cheatfind/init.lua:602
msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:725
+#: plugins/cheatfind/init.lua:608
msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:738
-msgid ""
-"Use this if you want to poke the Slot 1 value (eg. You started with "
-"something but lost it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:740
-msgid ""
-"Use this if you want to poke the Last Slot value (eg. You started without an "
-"item but finally got it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:816
+#: plugins/cheatfind/init.lua:632
msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:820
+#: plugins/cheatfind/init.lua:636
msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:823
+#: plugins/cheatfind/init.lua:639
msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheatfind/init.lua:690
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Test cheat at addr %08X"
msgstr ""
-#: plugins/cheatfind/init.lua:974
+#: plugins/cheatfind/init.lua:722
msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
+#: plugins/cheatfind/init.lua:788
msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
+#: plugins/cheatfind/init.lua:806
msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
+#: plugins/cheatfind/init.lua:816
msgid "Cheat Finder"
msgstr ""
-#: plugins/portname/init.lua:103
+#: plugins/portname/init.lua:69
msgid "Save input names to file"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
+#: plugins/portname/init.lua:100 plugins/portname/init.lua:105
+#: plugins/portname/init.lua:121
msgid "Failed to save input name file"
msgstr ""
-#: plugins/portname/init.lua:167
+#: plugins/portname/init.lua:133
#, lua-format
msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/portname/init.lua:172
+#: plugins/portname/init.lua:138
msgid "Input ports"
msgstr ""
diff --git a/language/Basque/strings.po b/language/Basque/strings.po
index c8f95407f9c..fbac5e2d85b 100644
--- a/language/Basque/strings.po
+++ b/language/Basque/strings.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MAME\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-03-17 13:37+1100\n"
+"POT-Creation-Date: 2018-04-28 15:32+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -17,1144 +17,1041 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
+#: src/frontend/mame/ui/auditmenu.cpp:96
#, c-format
-msgid "Screen #%d"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Enabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Disabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
-msgid "Marquees"
+#: src/frontend/mame/ui/auditmenu.cpp:99
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/auditmenu.cpp:104
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/auditmenu.cpp:130
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/auditmenu.cpp:142
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/selmenu.cpp:49 src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/selmenu.cpp:50 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/selmenu.cpp:51
+msgid "Control Panels"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/selmenu.cpp:52 src/frontend/mame/ui/dirmenu.cpp:50
+msgid "PCBs"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/selmenu.cpp:53 src/frontend/mame/ui/dirmenu.cpp:47
+msgid "Flyers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/selmenu.cpp:54 src/frontend/mame/ui/dirmenu.cpp:48
+msgid "Titles"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/selmenu.cpp:55 src/frontend/mame/ui/dirmenu.cpp:49
+msgid "Ends"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/selmenu.cpp:56
+msgid "Artwork Preview"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/selmenu.cpp:57 src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Bosses"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/selmenu.cpp:58 src/frontend/mame/ui/dirmenu.cpp:60
+msgid "Logos"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/selmenu.cpp:59 src/frontend/mame/ui/dirmenu.cpp:62
+msgid "Versus"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/selmenu.cpp:60
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/selmenu.cpp:61 src/frontend/mame/ui/dirmenu.cpp:59
+msgid "HowTo"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/selmenu.cpp:62 src/frontend/mame/ui/dirmenu.cpp:61
+msgid "Scores"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/selmenu.cpp:63 src/frontend/mame/ui/dirmenu.cpp:57
+msgid "Select"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/selmenu.cpp:64 src/frontend/mame/ui/dirmenu.cpp:51
+#: src/frontend/mame/ui/videoopt.cpp:224
+msgid "Marquees"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/selmenu.cpp:65 src/frontend/mame/ui/dirmenu.cpp:63
+msgid "Covers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/selmenu.cpp:69
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/selmenu.cpp:70
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/selmenu.cpp:71
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/selmenu.cpp:237
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/selmenu.cpp:343
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/selmenu.cpp:570 src/frontend/mame/ui/selmenu.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:311
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/selmenu.cpp:574
+#, c-format
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/selmenu.cpp:576
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/selmenu.cpp:581
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/selmenu.cpp:586
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/selmenu.cpp:591
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selmenu.cpp:596
+#, c-format
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selmenu.cpp:612
#, c-format
-msgid "Current %1$s Folders"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selmenu.cpp:614
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selmenu.cpp:619
+#: src/frontend/mame/ui/simpleselgame.cpp:330
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selmenu.cpp:621
+#: src/frontend/mame/ui/simpleselgame.cpp:332
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:623
+#: src/frontend/mame/ui/simpleselgame.cpp:334
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:627
+#: src/frontend/mame/ui/simpleselgame.cpp:338
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/selmenu.cpp:629
+#: src/frontend/mame/ui/simpleselgame.cpp:340
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/selmenu.cpp:631
+#: src/frontend/mame/ui/simpleselgame.cpp:342
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/selmenu.cpp:634
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/selmenu.cpp:636
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/selmenu.cpp:638
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/selmenu.cpp:640
+#: src/frontend/mame/ui/simpleselgame.cpp:351
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/selmenu.cpp:650
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/selmenu.cpp:1975
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/selmenu.cpp:1976
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/selmenu.cpp:2386 src/frontend/mame/ui/miscmenu.cpp:826
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/selmenu.cpp:2454
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/selmenu.cpp:2489
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/dirmenu.cpp:35
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/dirmenu.cpp:36
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
-#: src/frontend/mame/ui/slotopt.cpp:220
-msgid "[empty slot]"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/dirmenu.cpp:40
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/dirmenu.cpp:52
+msgid "Controls Panels"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/dirmenu.cpp:53
+msgid "Crosshairs"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Artworks"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks Preview"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "GameOver"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/dirmenu.cpp:116
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/dirmenu.cpp:167
+#, c-format
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/dirmenu.cpp:182
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/dirmenu.cpp:429
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/dirmenu.cpp:513
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/info.cpp:30
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "LAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/info.cpp:180
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/info.cpp:190
+msgid ""
+"There are known problems with this machine\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/info.cpp:195
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/info.cpp:200
+msgid "Completely unemulated features: "
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#, c-format
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#: src/frontend/mame/ui/info.cpp:267
+#, c-format
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/info.cpp:216
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/info.cpp:231
+msgid "Screen flipping in cocktail mode is not supported.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/info.cpp:233
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/info.cpp:235
+msgid ""
+"This machine was never completed. It may exhibit strange behavior or missing "
+"elements that are not bugs in the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/info.cpp:237
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/info.cpp:241
+msgid ""
+"\n"
+"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
+"complete. There is nothing you can do to fix this problem except wait for "
+"the developers to improve the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/info.cpp:243
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they requires physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/info.cpp:265
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/info.cpp:278
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/info.cpp:293
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:149
+#: src/frontend/mame/ui/info.cpp:342
msgid ""
-"The selected game is missing one or more required ROM or CHD images. Please "
-"select a different game.\n"
"\n"
-"Press any key to continue."
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:247
-#, c-format
+#: src/frontend/mame/ui/info.cpp:370
msgid ""
-"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
"\n"
-"If this is your first time using %2$s, please see the config.txt file in the "
-"docs directory for information on configuring %2$s."
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+"Video:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/info.cpp:374
+msgid "None\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/info.cpp:381
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:314
-#: src/frontend/mame/ui/selsoft.cpp:652 src/frontend/mame/ui/selsoft.cpp:659
+#: src/frontend/mame/ui/info.cpp:392
#, c-format
-msgid "%1$-.100s"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:317
-#: src/frontend/mame/ui/selmenu.cpp:618 src/frontend/mame/ui/selmenu.cpp:654
-#, c-format
-msgid "%1$s, %2$-.100s"
+#: src/frontend/mame/ui/info.cpp:392
+msgid "%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
+#: src/frontend/mame/ui/info.cpp:438
#, c-format
-msgid "Driver: %1$-.100s"
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+msgid "Screen '%1$s'"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/info.cpp:440
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/info.cpp:525
+msgid "Not supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/info.cpp:528
+msgid "Partially supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/info.cpp:536
+msgid "[empty]"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/optsmenu.cpp:193
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/optsmenu.cpp:206
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/optsmenu.cpp:207
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/optsmenu.cpp:210 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/optsmenu.cpp:213
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/optsmenu.cpp:216
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/optsmenu.cpp:228
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:337
-msgid "This driver requires images to be loaded in the following device(s): "
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
+msgid "Rewind"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1302
-#, c-format
-msgid ""
-"Are you sure you want to quit?\n"
-"\n"
-"Press ''%1$s'' to quit,\n"
-"Press ''%2$s'' to return to emulation."
+#: src/frontend/mame/ui/inputmap.cpp:53
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/inputmap.cpp:59
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
+#: src/frontend/mame/ui/inputmap.cpp:628 src/frontend/mame/ui/miscmenu.cpp:96
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/selector.cpp:116
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
+#: src/frontend/mame/ui/selector.cpp:124
#, c-format
-msgid "Overclock %1$s sound"
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/filesel.cpp:256
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/swlist.cpp:88
+msgid "[file manager]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/swlist.cpp:228
+msgid "Switch Item Ordering"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
+#: src/frontend/mame/ui/swlist.cpp:259
#, c-format
-msgid "%1$s Horiz Stretch"
+msgid "Switched Order: entries now ordered by %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "shortname"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "description"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/swlist.cpp:389
+msgid "[compatible lists]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/datmenu.cpp:80
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/datmenu.cpp:362
+msgid "Revision: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/simpleselgame.cpp:149
+msgid ""
+"The selected game is missing one or more required ROM or CHD images. Please "
+"select a different game.\n"
+"\n"
+"Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
+#: src/frontend/mame/ui/simpleselgame.cpp:241
#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+msgid ""
+"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
+"\n"
+"If this is your first time using %2$s, please see the config.txt file in the "
+"docs directory for information on configuring %2$s."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/simpleselgame.cpp:271
+#: src/frontend/mame/ui/selgame.cpp:436
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/simpleselgame.cpp:292
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/simpleselgame.cpp:294
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
+#: src/frontend/mame/ui/simpleselgame.cpp:308
+#: src/frontend/mame/ui/selsoft.cpp:564 src/frontend/mame/ui/selsoft.cpp:571
#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/simpleselgame.cpp:314
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
+#: src/frontend/mame/ui/videoopt.cpp:56
#, c-format
-msgid "Crosshair Offset %1$s"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/videoopt.cpp:208
+msgid "Backdrops"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Enabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Disabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
-#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
-#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
-#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
-#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
-#: src/frontend/mame/ui/ui.cpp:1927
-#, c-format
-msgid "%1$.3f"
+#: src/frontend/mame/ui/videoopt.cpp:212
+msgid "Overlays"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
-#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
-#, c-format
-msgid "%1$1.2f"
+#: src/frontend/mame/ui/videoopt.cpp:216
+msgid "Bezels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:220
+msgid "CPanels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "View"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cropped"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Full"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1047
+msgid "No"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
-msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1047
+msgid "Yes"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
-msgid ""
-"Cheat Comment:\n"
-"%s"
+#: src/frontend/mame/ui/filecreate.cpp:171
+msgid "New Image Name:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/filecreate.cpp:177
+msgid "Image Format:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/filecreate.cpp:183
+msgid "Create"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/filecreate.cpp:266
+msgid "Select image format"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Keyboard Mode:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Natural"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Emulated"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
+#: src/frontend/mame/ui/miscmenu.cpp:236
#, c-format
msgid ""
-"%s\n"
-" added to favorites list."
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
+#: src/frontend/mame/ui/miscmenu.cpp:238
#, c-format
msgid ""
-"%s\n"
-" removed from favorites list."
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/miscmenu.cpp:242
+#, c-format
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
+"Tickets dispensed: %1$d\n"
"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
+#: src/frontend/mame/ui/miscmenu.cpp:253
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/miscmenu.cpp:253
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
-#, c-format
-msgid "Driver: \"%1$s\" software list "
+#: src/frontend/mame/ui/miscmenu.cpp:256
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
-#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+#: src/frontend/mame/ui/miscmenu.cpp:503
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/miscmenu.cpp:601
#, c-format
-msgid "Search: %1$s_"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
-msgid "Unfiltered"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
-msgid "Available"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
-msgid "Unavailable"
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
-msgid "Working"
+#: src/frontend/mame/ui/miscmenu.cpp:627
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
-msgid "Not Working"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
-msgid "Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:655
+msgid "Export list in XML format (like -listxml)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
-msgid "Not Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:656
+msgid "Export list in XML format (like -listxml, but exclude devices)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
-msgid "Category"
+#: src/frontend/mame/ui/miscmenu.cpp:657
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
-msgid "Favorites"
+#: src/frontend/mame/ui/miscmenu.cpp:710 src/frontend/mame/ui/ui.cpp:2230
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/miscmenu.cpp:760 src/frontend/mame/ui/utils.cpp:66
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
-msgid "Not BIOS"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
-msgid "Parents"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
-msgid "Clones"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:73
-msgid "Manufacturer"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
-msgid "Year"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:75
-msgid "Save Supported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:76
-msgid "Save Unsupported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:77
-msgid "CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:78
-msgid "No CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:79
-msgid "Vertical Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:80
-msgid "Horizontal Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
-msgid "Custom Filter"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:91
-msgid "Publisher"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:92
-msgid "Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:764
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
-msgid "Partially Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:767
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
-msgid "Unsupported"
+#: src/frontend/mame/ui/miscmenu.cpp:776 src/frontend/mame/ui/mainmenu.cpp:145
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
-msgid "Release Region"
+#: src/frontend/mame/ui/miscmenu.cpp:778 src/frontend/mame/ui/mainmenu.cpp:147
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
-msgid "Device Type"
+#: src/frontend/mame/ui/miscmenu.cpp:781
+msgid "Save machine configuration"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
-msgid "Software List"
+#: src/frontend/mame/ui/miscmenu.cpp:792
+msgid "Configure machine:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
-msgid "<set up filters>"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:736
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:551 plugins/cheatfind/init.lua:619
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
-msgid "Select custom filters:"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:739
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:554 plugins/cheat/init.lua:563
+#: plugins/cheatfind/init.lua:616
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
-#, c-format
-msgid "Filter %1$u"
+#: src/frontend/mame/ui/miscmenu.cpp:909 src/frontend/mame/ui/selgame.cpp:441
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
-msgid "Remove last filter"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
-msgid "Add filter"
+#: src/frontend/mame/ui/barcode.cpp:78
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
-msgid "Select category:"
+#: src/frontend/mame/ui/barcode.cpp:119
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
-msgid "[no category INI files]"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:99
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
-msgid "[no groups in INI file]"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
-msgid "No category INI files found"
+#: src/frontend/mame/ui/mainmenu.cpp:60
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
-msgid "File"
+#: src/frontend/mame/ui/mainmenu.cpp:62
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
-msgid "No groups found in category file"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
-msgid "Group"
+#: src/frontend/mame/ui/mainmenu.cpp:68
+msgid "Dip Switches"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
-msgid "Include clones"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
+#: src/frontend/mame/ui/mainmenu.cpp:78
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/mainmenu.cpp:85
+msgid "Image Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/mainmenu.cpp:96
+msgid "Tape Control"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/mainmenu.cpp:102
+msgid "BIOS Selection"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/mainmenu.cpp:106
+msgid "Slot Devices"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
-#, c-format
-msgid "%s [internal]"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Barcode Reader"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:203 src/frontend/mame/ui/miscmenu.cpp:97
-#: src/frontend/mame/ui/inputmap.cpp:615
-msgid "Reset"
+#: src/frontend/mame/ui/mainmenu.cpp:114
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/mainmenu.cpp:118
+msgid "Keyboard Mode"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/mainmenu.cpp:121
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/mainmenu.cpp:124 src/frontend/mame/ui/submenu.cpp:101
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/mainmenu.cpp:128
+msgid "Crosshair Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/mainmenu.cpp:132 plugins/cheat/init.lua:735
+msgid "Cheat"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:762
-#: plugins/cheat/init.lua:569 plugins/cheatfind/init.lua:792
-#: plugins/cheatfind/init.lua:803
-msgid "On"
+#: src/frontend/mame/ui/mainmenu.cpp:135
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:765
-#: plugins/cheat/init.lua:572 plugins/cheat/init.lua:581
-#: plugins/cheatfind/init.lua:789 plugins/cheatfind/init.lua:800
-msgid "Off"
+#: src/frontend/mame/ui/mainmenu.cpp:139
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/mainmenu.cpp:154
+msgid "Select New Machine"
msgstr ""
#: src/frontend/mame/ui/custui.cpp:31
@@ -1377,1281 +1274,1303 @@ msgstr ""
msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/submenu.cpp:22
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/submenu.cpp:23
+msgid "Re-select last machine played"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/submenu.cpp:24
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:26
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:27
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:28
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:29
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:30
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
-#, c-format
-msgid "%s.txt saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/submenu.cpp:45
+msgid "Refresh speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/submenu.cpp:47
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/submenu.cpp:49
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
-msgid "Configure Machine"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
-#, c-format
-msgid "Romset\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
-#, c-format
-msgid "Year\t%1$s\n"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
-#, c-format
-msgid "Manufacturer\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
-#, c-format
-msgid "Driver is Clone of\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1044
-msgid "Driver is Parent\t\n"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
-msgid "Analog Controls\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Artwork Crop"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
-msgid "Keyboard Inputs\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Use Backdrops"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
-msgid "Overall\tNOT WORKING\n"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Use Overlays"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
-msgid "Overall\tUnemulated Protection\n"
+#: src/frontend/mame/ui/submenu.cpp:60
+msgid "Use Bezels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
-msgid "Overall\tWorking\n"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Use Control Panels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
-msgid "Graphics\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:62
+msgid "Use Marquees"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
-msgid "Graphics\tWrong Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
-msgid "Graphics\tImperfect Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
-msgid "Graphics\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
-msgid "Graphics\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Bilinear snapshot"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
-msgid "Sound\tNone\n"
+#: src/frontend/mame/ui/submenu.cpp:69
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
-msgid "Sound\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
-msgid "Sound\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:72
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
-msgid "Sound\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
-msgid "Capture\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
-msgid "Capture\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
-msgid "Camera\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
-msgid "Camera\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
-msgid "Microphone\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
-msgid "Microphone\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:79
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
-msgid "Controls\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
-msgid "Controls\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
-msgid "Keyboard\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Joystick saturation"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
-msgid "Keyboard\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Natural keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
-msgid "Mouse\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
-msgid "Mouse\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
-msgid "Media\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
-msgid "Media\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Lightgun Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
-msgid "Disk\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Trackball Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
-msgid "Disk\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
-msgid "Printer\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
-msgid "Printer\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
-msgid "Mag. Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:95
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
-msgid "Mag. Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:96
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
-msgid "Punch Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:97
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
-msgid "Punch Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
-msgid "Mag. Drum\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:103
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
-msgid "Mag. Drum\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
-msgid "(EP)ROM\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
-msgid "(EP)ROM\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
-msgid "Communications\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:109
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
-msgid "Communications\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:110
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
-msgid "LAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:111
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
-msgid "LAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:112
+msgid "Enforce Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
-msgid "WAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:113
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
-msgid "WAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:114
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
-msgid "Timing\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
-msgid "Timing\tImperfect\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tYes\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Select position to load from"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tNo\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tYes\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Select position to save to"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tNo\n"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:309 src/frontend/mame/ui/selsoft.cpp:211
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:314 src/frontend/mame/ui/selgame.cpp:320
+#: src/frontend/mame/ui/selsoft.cpp:216
+#, c-format
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:437
+msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:849
+#, c-format
+msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:850
+#, c-format
+msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:851
+#, c-format
+msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:855
+#, c-format
+msgid "Driver is Clone of\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:857
+msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tVertical\n"
+#: src/frontend/mame/ui/selgame.cpp:860
+msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tHorizontal\n"
+#: src/frontend/mame/ui/selgame.cpp:862
+msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:865
+msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:867
+msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
-msgid "ROM Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:869
+msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
-msgid "ROM Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:872
+msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
-msgid "Samples Audit Result\tNone Needed\n"
+#: src/frontend/mame/ui/selgame.cpp:874
+msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
-msgid "Samples Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:876
+msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
-msgid "Samples Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:878
+msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
-msgid ""
-"ROM Audit \tDisabled\n"
-"Samples Audit \tDisabled\n"
+#: src/frontend/mame/ui/selgame.cpp:880
+msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
+#: src/frontend/mame/ui/selgame.cpp:883
+msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1424
-#, c-format
-msgid "Romset: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:885
+msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
-#, c-format
-msgid "System: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:887
+msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1465
-msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
+#: src/frontend/mame/ui/selgame.cpp:889
+msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
+#: src/frontend/mame/ui/selgame.cpp:892
+msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
+#: src/frontend/mame/ui/selgame.cpp:894
+msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
+#: src/frontend/mame/ui/selgame.cpp:897
+msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
+#: src/frontend/mame/ui/selgame.cpp:899
+msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
+#: src/frontend/mame/ui/selgame.cpp:902
+msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selgame.cpp:904
+msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selgame.cpp:907
+msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/selgame.cpp:909
+msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/selgame.cpp:912
+msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/selgame.cpp:914
+msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/selgame.cpp:917
+msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/selgame.cpp:919
+msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/selgame.cpp:922
+msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/selgame.cpp:924
+msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/selgame.cpp:927
+msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/selgame.cpp:929
+msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/selgame.cpp:932
+msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/selgame.cpp:934
+msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/selgame.cpp:937
+msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/selgame.cpp:939
+msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/selgame.cpp:970
+msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/selgame.cpp:972
+msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/selgame.cpp:975
+msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/selgame.cpp:977
+msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/selgame.cpp:979
+msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/selgame.cpp:983
+msgid ""
+"ROM Audit \tDisabled\n"
+"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/selgame.cpp:1167
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/selgame.cpp:1183 src/frontend/mame/ui/selsoft.cpp:555
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/selgame.cpp:1185 src/frontend/mame/ui/selsoft.cpp:557
+#, c-format
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/selgame.cpp:1195
+#, c-format
+msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/selgame.cpp:1202
+#, c-format
+msgid "System: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/selgame.cpp:1239
+msgid ""
+"The selected machine is missing one or more required ROM or CHD images. "
+"Please select a different machine.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/selgame.cpp:1245 src/frontend/mame/ui/selsoft.cpp:462
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/utils.cpp:57 src/frontend/mame/ui/utils.cpp:81
+msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/utils.cpp:58 src/frontend/mame/ui/utils.cpp:82
+msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/utils.cpp:59 src/frontend/mame/ui/utils.cpp:83
+msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/utils.cpp:60
+msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/utils.cpp:61
+msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/utils.cpp:62
+msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:63
+msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:64
+msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:65
+msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:67
+msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:84
+msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/utils.cpp:85
+msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:70
+msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:86
+msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/utils.cpp:72
+msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/utils.cpp:73
+msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/utils.cpp:74
+msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/utils.cpp:75
+msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/utils.cpp:76
+msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/utils.cpp:77
+msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/utils.cpp:78 src/frontend/mame/ui/utils.cpp:94
+msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/utils.cpp:87
+msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/utils.cpp:88
+msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/utils.cpp:89
+msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/utils.cpp:90
+msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/utils.cpp:91
+msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:43
-#, c-format
-msgid ""
-"[This option is currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"The selected option enables the following items:\n"
+#: src/frontend/mame/ui/utils.cpp:92
+msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:44
-#, c-format
-msgid ""
-"[This option is NOT currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"If you select this option, the following items will be enabled:\n"
+#: src/frontend/mame/ui/utils.cpp:93
+msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/utils.cpp:244
+msgid "<set up filters>"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:352
+msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/utils.cpp:503
#, c-format
-msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
-msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:518
+msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %3$d.%4$06d MHz\n"
+#: src/frontend/mame/ui/utils.cpp:520
+msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:959
+msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/utils.cpp:990
+msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/utils.cpp:998
+msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:103
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1032
+msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1037
+msgid "File"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/utils.cpp:1041
+msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
-#, c-format
-msgid " %1$d×%2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1046
+msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1047
+msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:168
-#, c-format
+#: src/frontend/mame/ui/selsoft.cpp:456
msgid ""
-"* BIOS settings:\n"
-" %1$d options [default: %2$s]\n"
+"The selected software is missing one or more required files. Please select a "
+"different software.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:208 src/frontend/mame/ui/devopt.cpp:224
-#: src/frontend/mame/ui/devopt.cpp:269
+#: src/frontend/mame/ui/selsoft.cpp:549
#, c-format
-msgid " %1$s [default: %2$s]\n"
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
+#: src/frontend/mame/ui/selsoft.cpp:550
#, c-format
-msgid " %1$s\n"
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:260
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:419
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/filesel.cpp:515
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:516
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:518
+msgid "Read-write"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
-#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:519
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:520
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:117
+msgid "Cannot save over directory"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:150
+msgid ""
+"The software selected is missing one or more required ROM or CHD images. "
+"Please select a different one."
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:294
+msgid "Return to Machine"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
-#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:299 src/frontend/mame/ui/menu.cpp:301
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+#: src/frontend/mame/ui/menu.cpp:306 src/frontend/mame/ui/menu.cpp:308
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
-#, c-format
-msgid " %1$s [tag: %2$s]\n"
+#: src/frontend/mame/ui/menu.cpp:742
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
+#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:653
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+#: src/frontend/mame/ui/cheatopt.cpp:105
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/cheatopt.cpp:136
+msgid "Autofire Settings"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:581
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:582
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
+#: src/frontend/mame/ui/cheatopt.cpp:273
+msgid "Autofire Status"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
+#: src/frontend/mame/ui/cheatopt.cpp:316
+msgid "No buttons found on this machine!"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+#: src/frontend/mame/ui/cheatopt.cpp:327 src/frontend/mame/ui/cheatopt.cpp:331
+msgid "Autofire Delay"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
-msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
+#: src/frontend/mame/ui/ui.cpp:337
+msgid "This driver requires images to be loaded in the following device(s): "
msgstr ""
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
+#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
+msgid "Keyboard Emulation Status"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
+#: src/frontend/mame/ui/ui.cpp:1086
+msgid "Mode: PARTIAL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
+#: src/frontend/mame/ui/ui.cpp:1087
+msgid "UI: Enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
+#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
+msgid "**Use ScrLock to toggle**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
+#: src/frontend/mame/ui/ui.cpp:1096
+msgid "Mode: FULL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: src/frontend/mame/ui/ui.cpp:1097
+msgid "UI: Disabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
+#: src/frontend/mame/ui/ui.cpp:1249
+msgid "Autofire can't be enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
+#: src/frontend/mame/ui/ui.cpp:1302
+#, c-format
+msgid ""
+"Are you sure you want to quit?\n"
+"\n"
+"Press ''%1$s'' to quit,\n"
+"Press ''%2$s'' to return to emulation."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
+#: src/frontend/mame/ui/ui.cpp:1374
+msgid "Master Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
+#: src/frontend/mame/ui/ui.cpp:1383
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/ui.cpp:1407
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/ui.cpp:1416
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/ui.cpp:1437
+#, c-format
+msgid "%1$s Refresh Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, c-format
+msgid "%1$s Brightness"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1444
+#, c-format
+msgid "%1$s Contrast"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1446
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/ui.cpp:1450
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/ui.cpp:1452
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/ui.cpp:1454
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/ui.cpp:1456
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/ui.cpp:1475
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/ui.cpp:1477
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/ui.cpp:1479
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
-msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+#: src/frontend/mame/ui/ui.cpp:1481
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:198
-msgid ""
-"There are known problems with this machine\n"
-"\n"
+#: src/frontend/mame/ui/ui.cpp:1493
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/ui.cpp:1494
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/ui.cpp:1495
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
+#: src/frontend/mame/ui/ui.cpp:1496
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#: src/frontend/mame/ui/info.cpp:275
+#: src/frontend/mame/ui/ui.cpp:1511
#, c-format
-msgid ", %s"
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
+#: src/frontend/mame/ui/ui.cpp:1513
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:243
-msgid ""
-"This machine was never completed. It may exhibit strange behavior or missing "
-"elements that are not bugs in the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1601
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:245
-msgid ""
-"This machine has no sound hardware, MAME will produce no sounds, this is "
-"expected behaviour.\n"
+#: src/frontend/mame/ui/ui.cpp:1645
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:249
-msgid ""
-"\n"
-"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
-"complete. There is nothing you can do to fix this problem except wait for "
-"the developers to improve the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1661
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:251
-msgid ""
-"\n"
-"Elements of this machine cannot be emulated as they requires physical "
-"interaction or consist of mechanical devices. It is not possible to fully "
-"experience this machine.\n"
+#: src/frontend/mame/ui/ui.cpp:1685
+#, c-format
+msgid "%1$.3ffps"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
+#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
+#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
+#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
+#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
+#: src/frontend/mame/ui/ui.cpp:1927
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
+#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/ui.cpp:2005
#, c-format
-msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/ui.cpp:2226
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " COLORS"
+msgstr ""
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:39
#, c-format
-msgid "%1$s: %2$s\n"
+msgid ""
+"[This option is currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"The selected option enables the following items:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+#: src/frontend/mame/ui/devopt.cpp:40
+#, c-format
+msgid ""
+"[This option is NOT currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"If you select this option, the following items will be enabled:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:48
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
#, c-format
-msgid "Screen '%1$s'"
+msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
+msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:85
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:90
+#, c-format
+msgid " Screen '%1$s': Vector\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:99
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:100
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:113
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:133
+#, c-format
+msgid " %1$d×%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:164
+#, c-format
+msgid ""
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:204 src/frontend/mame/ui/devopt.cpp:220
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
+#: src/frontend/mame/ui/devopt.cpp:209 src/frontend/mame/ui/devopt.cpp:225
#, c-format
-msgid "Software is clone of: %1$-.100s"
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: src/frontend/mame/ui/devopt.cpp:230
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: src/frontend/mame/ui/devopt.cpp:232
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: src/frontend/mame/ui/devopt.cpp:234
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: src/frontend/mame/ui/devopt.cpp:236
+#, c-format
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
+#: src/frontend/mame/ui/devopt.cpp:238
#, c-format
-msgid "romset: %1$-.100s"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
+#: src/frontend/mame/ui/devopt.cpp:240
#, c-format
-msgid "Driver is clone of: %1$-.100s"
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: src/frontend/mame/ui/devopt.cpp:242
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
+#: src/frontend/mame/ui/devopt.cpp:244
#, c-format
-msgid "%1$s %2$s"
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: src/frontend/mame/ui/devopt.cpp:246
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: src/frontend/mame/ui/devopt.cpp:248
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: src/frontend/mame/ui/devopt.cpp:257
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: src/frontend/mame/ui/devopt.cpp:263
+msgid "* Slot Options:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:270
+msgid "[None]\n"
msgstr ""
#: plugins/timer/init.lua:94
@@ -2670,51 +2589,51 @@ msgstr ""
msgid "Timer"
msgstr ""
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:510
msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheat/init.lua:534
+#: plugins/cheat/init.lua:516
msgid "Press button for hotkey or wait to clear"
msgstr ""
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:528
msgid "None"
msgstr ""
-#: plugins/cheat/init.lua:551
+#: plugins/cheat/init.lua:533
msgid "Done"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:547 plugins/cheat/init.lua:561
msgid "Set"
msgstr ""
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:580
msgid "Set hotkeys"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:720
#, lua-format
msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:723 plugins/cheat/init.lua:781
#, lua-format
msgid "Activated: %s"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:785
#, lua-format
msgid "Enabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:790
#, lua-format
msgid "Disabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "%s added"
msgstr ""
@@ -2763,303 +2682,218 @@ msgstr ""
msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:404
+#: plugins/cheatfind/init.lua:373
msgid "Save Cheat"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Default"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Custom"
msgstr ""
-#: plugins/cheatfind/init.lua:408
+#: plugins/cheatfind/init.lua:377
msgid "Cheat Name"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/cheatfind/init.lua:383 plugins/cheatfind/init.lua:748
#, lua-format
msgid "Default name is %s"
msgstr ""
-#: plugins/cheatfind/init.lua:422
+#: plugins/cheatfind/init.lua:391
msgid "Player"
msgstr ""
-#: plugins/cheatfind/init.lua:427
+#: plugins/cheatfind/init.lua:396
msgid "Type"
msgstr ""
-#: plugins/cheatfind/init.lua:433
+#: plugins/cheatfind/init.lua:402
msgid "Save"
msgstr ""
-#: plugins/cheatfind/init.lua:462
+#: plugins/cheatfind/init.lua:429
#, lua-format
msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:472
+#: plugins/cheatfind/init.lua:437
msgid "Cheat added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:442
msgid ""
"Unable to write file\n"
"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/cheatfind/init.lua:486
+#: plugins/cheatfind/init.lua:451
msgid "Cancel"
msgstr ""
-#: plugins/cheatfind/init.lua:491
+#: plugins/cheatfind/init.lua:456
msgid "CPU or RAM"
msgstr ""
-#: plugins/cheatfind/init.lua:495
+#: plugins/cheatfind/init.lua:460
msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:479
+msgid "Data cleared and current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:487
+msgid "Start new search"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:497
+msgid "Current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:504
+msgid "Save current -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
+#: plugins/cheatfind/init.lua:536
#, lua-format
-msgid "Memory State saved to Slot %d"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:543
+msgid "Compare"
msgstr ""
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
+#: plugins/cheatfind/init.lua:546
+msgid "Left operand"
+msgstr ""
+
+#: plugins/cheatfind/init.lua:549
+msgid "Current"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:554
+msgid "Operator"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:561
+msgid "Left less than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:563
+msgid "Left greater than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:676
+#: plugins/cheatfind/init.lua:565
msgid "Left equal to right"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:567
+msgid "Left not equal to right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:680
+#: plugins/cheatfind/init.lua:569
msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:682
+#: plugins/cheatfind/init.lua:571
msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:684
+#: plugins/cheatfind/init.lua:573
msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:686
+#: plugins/cheatfind/init.lua:575
msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:688
+#: plugins/cheatfind/init.lua:577
msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:690
+#: plugins/cheatfind/init.lua:579
msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/cheatfind/init.lua:590
+msgid "Right operand"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/cheatfind/init.lua:598
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:719
+#: plugins/cheatfind/init.lua:602
msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:725
+#: plugins/cheatfind/init.lua:608
msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:738
-msgid ""
-"Use this if you want to poke the Slot 1 value (eg. You started with "
-"something but lost it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:740
-msgid ""
-"Use this if you want to poke the Last Slot value (eg. You started without an "
-"item but finally got it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:816
+#: plugins/cheatfind/init.lua:632
msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:820
+#: plugins/cheatfind/init.lua:636
msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:823
+#: plugins/cheatfind/init.lua:639
msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheatfind/init.lua:690
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Test cheat at addr %08X"
msgstr ""
-#: plugins/cheatfind/init.lua:974
+#: plugins/cheatfind/init.lua:722
msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
+#: plugins/cheatfind/init.lua:788
msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
+#: plugins/cheatfind/init.lua:806
msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
+#: plugins/cheatfind/init.lua:816
msgid "Cheat Finder"
msgstr ""
-#: plugins/portname/init.lua:103
+#: plugins/portname/init.lua:69
msgid "Save input names to file"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
+#: plugins/portname/init.lua:100 plugins/portname/init.lua:105
+#: plugins/portname/init.lua:121
msgid "Failed to save input name file"
msgstr ""
-#: plugins/portname/init.lua:167
+#: plugins/portname/init.lua:133
#, lua-format
msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/portname/init.lua:172
+#: plugins/portname/init.lua:138
msgid "Input ports"
msgstr ""
diff --git a/language/Belarusian/strings.po b/language/Belarusian/strings.po
index 83579301e0c..1528c8cfcc2 100644
--- a/language/Belarusian/strings.po
+++ b/language/Belarusian/strings.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MAME\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-03-17 13:37+1100\n"
+"POT-Creation-Date: 2018-04-28 15:32+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -19,1144 +19,1041 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
+#: src/frontend/mame/ui/auditmenu.cpp:96
#, c-format
-msgid "Screen #%d"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Enabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Disabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
-msgid "Marquees"
+#: src/frontend/mame/ui/auditmenu.cpp:99
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/auditmenu.cpp:104
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/auditmenu.cpp:130
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/auditmenu.cpp:142
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/selmenu.cpp:49 src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/selmenu.cpp:50 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/selmenu.cpp:51
+msgid "Control Panels"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/selmenu.cpp:52 src/frontend/mame/ui/dirmenu.cpp:50
+msgid "PCBs"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/selmenu.cpp:53 src/frontend/mame/ui/dirmenu.cpp:47
+msgid "Flyers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/selmenu.cpp:54 src/frontend/mame/ui/dirmenu.cpp:48
+msgid "Titles"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/selmenu.cpp:55 src/frontend/mame/ui/dirmenu.cpp:49
+msgid "Ends"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/selmenu.cpp:56
+msgid "Artwork Preview"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/selmenu.cpp:57 src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Bosses"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/selmenu.cpp:58 src/frontend/mame/ui/dirmenu.cpp:60
+msgid "Logos"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/selmenu.cpp:59 src/frontend/mame/ui/dirmenu.cpp:62
+msgid "Versus"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/selmenu.cpp:60
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/selmenu.cpp:61 src/frontend/mame/ui/dirmenu.cpp:59
+msgid "HowTo"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/selmenu.cpp:62 src/frontend/mame/ui/dirmenu.cpp:61
+msgid "Scores"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/selmenu.cpp:63 src/frontend/mame/ui/dirmenu.cpp:57
+msgid "Select"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/selmenu.cpp:64 src/frontend/mame/ui/dirmenu.cpp:51
+#: src/frontend/mame/ui/videoopt.cpp:224
+msgid "Marquees"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/selmenu.cpp:65 src/frontend/mame/ui/dirmenu.cpp:63
+msgid "Covers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/selmenu.cpp:69
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/selmenu.cpp:70
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/selmenu.cpp:71
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/selmenu.cpp:237
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/selmenu.cpp:343
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/selmenu.cpp:570 src/frontend/mame/ui/selmenu.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:311
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/selmenu.cpp:574
+#, c-format
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/selmenu.cpp:576
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/selmenu.cpp:581
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/selmenu.cpp:586
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/selmenu.cpp:591
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selmenu.cpp:596
+#, c-format
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selmenu.cpp:612
#, c-format
-msgid "Current %1$s Folders"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selmenu.cpp:614
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selmenu.cpp:619
+#: src/frontend/mame/ui/simpleselgame.cpp:330
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selmenu.cpp:621
+#: src/frontend/mame/ui/simpleselgame.cpp:332
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:623
+#: src/frontend/mame/ui/simpleselgame.cpp:334
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:627
+#: src/frontend/mame/ui/simpleselgame.cpp:338
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/selmenu.cpp:629
+#: src/frontend/mame/ui/simpleselgame.cpp:340
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/selmenu.cpp:631
+#: src/frontend/mame/ui/simpleselgame.cpp:342
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/selmenu.cpp:634
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/selmenu.cpp:636
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/selmenu.cpp:638
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/selmenu.cpp:640
+#: src/frontend/mame/ui/simpleselgame.cpp:351
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/selmenu.cpp:650
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/selmenu.cpp:1975
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/selmenu.cpp:1976
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/selmenu.cpp:2386 src/frontend/mame/ui/miscmenu.cpp:826
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/selmenu.cpp:2454
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/selmenu.cpp:2489
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/dirmenu.cpp:35
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/dirmenu.cpp:36
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
-#: src/frontend/mame/ui/slotopt.cpp:220
-msgid "[empty slot]"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/dirmenu.cpp:40
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/dirmenu.cpp:52
+msgid "Controls Panels"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/dirmenu.cpp:53
+msgid "Crosshairs"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Artworks"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks Preview"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "GameOver"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/dirmenu.cpp:116
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/dirmenu.cpp:167
+#, c-format
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/dirmenu.cpp:182
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/dirmenu.cpp:429
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/dirmenu.cpp:513
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/info.cpp:30
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "LAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/info.cpp:180
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/info.cpp:190
+msgid ""
+"There are known problems with this machine\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/info.cpp:195
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/info.cpp:200
+msgid "Completely unemulated features: "
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#, c-format
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#: src/frontend/mame/ui/info.cpp:267
+#, c-format
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/info.cpp:216
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/info.cpp:231
+msgid "Screen flipping in cocktail mode is not supported.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/info.cpp:233
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/info.cpp:235
+msgid ""
+"This machine was never completed. It may exhibit strange behavior or missing "
+"elements that are not bugs in the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/info.cpp:237
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/info.cpp:241
+msgid ""
+"\n"
+"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
+"complete. There is nothing you can do to fix this problem except wait for "
+"the developers to improve the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/info.cpp:243
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they requires physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/info.cpp:265
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/info.cpp:278
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/info.cpp:293
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:149
+#: src/frontend/mame/ui/info.cpp:342
msgid ""
-"The selected game is missing one or more required ROM or CHD images. Please "
-"select a different game.\n"
"\n"
-"Press any key to continue."
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:247
-#, c-format
+#: src/frontend/mame/ui/info.cpp:370
msgid ""
-"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
"\n"
-"If this is your first time using %2$s, please see the config.txt file in the "
-"docs directory for information on configuring %2$s."
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+"Video:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/info.cpp:374
+msgid "None\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/info.cpp:381
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:314
-#: src/frontend/mame/ui/selsoft.cpp:652 src/frontend/mame/ui/selsoft.cpp:659
+#: src/frontend/mame/ui/info.cpp:392
#, c-format
-msgid "%1$-.100s"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:317
-#: src/frontend/mame/ui/selmenu.cpp:618 src/frontend/mame/ui/selmenu.cpp:654
-#, c-format
-msgid "%1$s, %2$-.100s"
+#: src/frontend/mame/ui/info.cpp:392
+msgid "%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
+#: src/frontend/mame/ui/info.cpp:438
#, c-format
-msgid "Driver: %1$-.100s"
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+msgid "Screen '%1$s'"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/info.cpp:440
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/info.cpp:525
+msgid "Not supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/info.cpp:528
+msgid "Partially supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/info.cpp:536
+msgid "[empty]"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/optsmenu.cpp:193
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/optsmenu.cpp:206
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/optsmenu.cpp:207
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/optsmenu.cpp:210 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/optsmenu.cpp:213
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/optsmenu.cpp:216
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/optsmenu.cpp:228
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:337
-msgid "This driver requires images to be loaded in the following device(s): "
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
+msgid "Rewind"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1302
-#, c-format
-msgid ""
-"Are you sure you want to quit?\n"
-"\n"
-"Press ''%1$s'' to quit,\n"
-"Press ''%2$s'' to return to emulation."
+#: src/frontend/mame/ui/inputmap.cpp:53
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/inputmap.cpp:59
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
+#: src/frontend/mame/ui/inputmap.cpp:628 src/frontend/mame/ui/miscmenu.cpp:96
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/selector.cpp:116
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
+#: src/frontend/mame/ui/selector.cpp:124
#, c-format
-msgid "Overclock %1$s sound"
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/filesel.cpp:256
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/swlist.cpp:88
+msgid "[file manager]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/swlist.cpp:228
+msgid "Switch Item Ordering"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
+#: src/frontend/mame/ui/swlist.cpp:259
#, c-format
-msgid "%1$s Horiz Stretch"
+msgid "Switched Order: entries now ordered by %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "shortname"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "description"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/swlist.cpp:389
+msgid "[compatible lists]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/datmenu.cpp:80
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/datmenu.cpp:362
+msgid "Revision: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/simpleselgame.cpp:149
+msgid ""
+"The selected game is missing one or more required ROM or CHD images. Please "
+"select a different game.\n"
+"\n"
+"Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
+#: src/frontend/mame/ui/simpleselgame.cpp:241
#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+msgid ""
+"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
+"\n"
+"If this is your first time using %2$s, please see the config.txt file in the "
+"docs directory for information on configuring %2$s."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/simpleselgame.cpp:271
+#: src/frontend/mame/ui/selgame.cpp:436
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/simpleselgame.cpp:292
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/simpleselgame.cpp:294
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
+#: src/frontend/mame/ui/simpleselgame.cpp:308
+#: src/frontend/mame/ui/selsoft.cpp:564 src/frontend/mame/ui/selsoft.cpp:571
#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/simpleselgame.cpp:314
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
+#: src/frontend/mame/ui/videoopt.cpp:56
#, c-format
-msgid "Crosshair Offset %1$s"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/videoopt.cpp:208
+msgid "Backdrops"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Enabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Disabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
-#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
-#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
-#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
-#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
-#: src/frontend/mame/ui/ui.cpp:1927
-#, c-format
-msgid "%1$.3f"
+#: src/frontend/mame/ui/videoopt.cpp:212
+msgid "Overlays"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
-#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
-#, c-format
-msgid "%1$1.2f"
+#: src/frontend/mame/ui/videoopt.cpp:216
+msgid "Bezels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:220
+msgid "CPanels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "View"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cropped"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Full"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1047
+msgid "No"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
-msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1047
+msgid "Yes"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
-msgid ""
-"Cheat Comment:\n"
-"%s"
+#: src/frontend/mame/ui/filecreate.cpp:171
+msgid "New Image Name:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/filecreate.cpp:177
+msgid "Image Format:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/filecreate.cpp:183
+msgid "Create"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/filecreate.cpp:266
+msgid "Select image format"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Keyboard Mode:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Natural"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Emulated"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
+#: src/frontend/mame/ui/miscmenu.cpp:236
#, c-format
msgid ""
-"%s\n"
-" added to favorites list."
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
+#: src/frontend/mame/ui/miscmenu.cpp:238
#, c-format
msgid ""
-"%s\n"
-" removed from favorites list."
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/miscmenu.cpp:242
+#, c-format
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
+"Tickets dispensed: %1$d\n"
"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
+#: src/frontend/mame/ui/miscmenu.cpp:253
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/miscmenu.cpp:253
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
-#, c-format
-msgid "Driver: \"%1$s\" software list "
+#: src/frontend/mame/ui/miscmenu.cpp:256
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
-#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+#: src/frontend/mame/ui/miscmenu.cpp:503
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/miscmenu.cpp:601
#, c-format
-msgid "Search: %1$s_"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
-msgid "Unfiltered"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
-msgid "Available"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
-msgid "Unavailable"
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
-msgid "Working"
+#: src/frontend/mame/ui/miscmenu.cpp:627
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
-msgid "Not Working"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
-msgid "Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:655
+msgid "Export list in XML format (like -listxml)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
-msgid "Not Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:656
+msgid "Export list in XML format (like -listxml, but exclude devices)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
-msgid "Category"
+#: src/frontend/mame/ui/miscmenu.cpp:657
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
-msgid "Favorites"
+#: src/frontend/mame/ui/miscmenu.cpp:710 src/frontend/mame/ui/ui.cpp:2230
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/miscmenu.cpp:760 src/frontend/mame/ui/utils.cpp:66
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
-msgid "Not BIOS"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
-msgid "Parents"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
-msgid "Clones"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:73
-msgid "Manufacturer"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
-msgid "Year"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:75
-msgid "Save Supported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:76
-msgid "Save Unsupported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:77
-msgid "CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:78
-msgid "No CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:79
-msgid "Vertical Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:80
-msgid "Horizontal Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
-msgid "Custom Filter"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:91
-msgid "Publisher"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:92
-msgid "Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:764
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
-msgid "Partially Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:767
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
-msgid "Unsupported"
+#: src/frontend/mame/ui/miscmenu.cpp:776 src/frontend/mame/ui/mainmenu.cpp:145
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
-msgid "Release Region"
+#: src/frontend/mame/ui/miscmenu.cpp:778 src/frontend/mame/ui/mainmenu.cpp:147
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
-msgid "Device Type"
+#: src/frontend/mame/ui/miscmenu.cpp:781
+msgid "Save machine configuration"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
-msgid "Software List"
+#: src/frontend/mame/ui/miscmenu.cpp:792
+msgid "Configure machine:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
-msgid "<set up filters>"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:736
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:551 plugins/cheatfind/init.lua:619
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
-msgid "Select custom filters:"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:739
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:554 plugins/cheat/init.lua:563
+#: plugins/cheatfind/init.lua:616
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
-#, c-format
-msgid "Filter %1$u"
+#: src/frontend/mame/ui/miscmenu.cpp:909 src/frontend/mame/ui/selgame.cpp:441
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
-msgid "Remove last filter"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
-msgid "Add filter"
+#: src/frontend/mame/ui/barcode.cpp:78
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
-msgid "Select category:"
+#: src/frontend/mame/ui/barcode.cpp:119
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
-msgid "[no category INI files]"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:99
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
-msgid "[no groups in INI file]"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
-msgid "No category INI files found"
+#: src/frontend/mame/ui/mainmenu.cpp:60
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
-msgid "File"
+#: src/frontend/mame/ui/mainmenu.cpp:62
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
-msgid "No groups found in category file"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
-msgid "Group"
+#: src/frontend/mame/ui/mainmenu.cpp:68
+msgid "Dip Switches"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
-msgid "Include clones"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
+#: src/frontend/mame/ui/mainmenu.cpp:78
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/mainmenu.cpp:85
+msgid "Image Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/mainmenu.cpp:96
+msgid "Tape Control"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/mainmenu.cpp:102
+msgid "BIOS Selection"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/mainmenu.cpp:106
+msgid "Slot Devices"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
-#, c-format
-msgid "%s [internal]"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Barcode Reader"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:203 src/frontend/mame/ui/miscmenu.cpp:97
-#: src/frontend/mame/ui/inputmap.cpp:615
-msgid "Reset"
+#: src/frontend/mame/ui/mainmenu.cpp:114
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/mainmenu.cpp:118
+msgid "Keyboard Mode"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/mainmenu.cpp:121
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/mainmenu.cpp:124 src/frontend/mame/ui/submenu.cpp:101
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/mainmenu.cpp:128
+msgid "Crosshair Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/mainmenu.cpp:132 plugins/cheat/init.lua:735
+msgid "Cheat"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:762
-#: plugins/cheat/init.lua:569 plugins/cheatfind/init.lua:792
-#: plugins/cheatfind/init.lua:803
-msgid "On"
+#: src/frontend/mame/ui/mainmenu.cpp:135
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:765
-#: plugins/cheat/init.lua:572 plugins/cheat/init.lua:581
-#: plugins/cheatfind/init.lua:789 plugins/cheatfind/init.lua:800
-msgid "Off"
+#: src/frontend/mame/ui/mainmenu.cpp:139
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/mainmenu.cpp:154
+msgid "Select New Machine"
msgstr ""
#: src/frontend/mame/ui/custui.cpp:31
@@ -1379,1281 +1276,1303 @@ msgstr ""
msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/submenu.cpp:22
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/submenu.cpp:23
+msgid "Re-select last machine played"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/submenu.cpp:24
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:26
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:27
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:28
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:29
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:30
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
-#, c-format
-msgid "%s.txt saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/submenu.cpp:45
+msgid "Refresh speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/submenu.cpp:47
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/submenu.cpp:49
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
-msgid "Configure Machine"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
-#, c-format
-msgid "Romset\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
-#, c-format
-msgid "Year\t%1$s\n"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
-#, c-format
-msgid "Manufacturer\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
-#, c-format
-msgid "Driver is Clone of\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1044
-msgid "Driver is Parent\t\n"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
-msgid "Analog Controls\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Artwork Crop"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
-msgid "Keyboard Inputs\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Use Backdrops"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
-msgid "Overall\tNOT WORKING\n"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Use Overlays"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
-msgid "Overall\tUnemulated Protection\n"
+#: src/frontend/mame/ui/submenu.cpp:60
+msgid "Use Bezels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
-msgid "Overall\tWorking\n"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Use Control Panels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
-msgid "Graphics\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:62
+msgid "Use Marquees"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
-msgid "Graphics\tWrong Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
-msgid "Graphics\tImperfect Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
-msgid "Graphics\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
-msgid "Graphics\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Bilinear snapshot"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
-msgid "Sound\tNone\n"
+#: src/frontend/mame/ui/submenu.cpp:69
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
-msgid "Sound\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
-msgid "Sound\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:72
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
-msgid "Sound\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
-msgid "Capture\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
-msgid "Capture\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
-msgid "Camera\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
-msgid "Camera\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
-msgid "Microphone\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
-msgid "Microphone\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:79
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
-msgid "Controls\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
-msgid "Controls\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
-msgid "Keyboard\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Joystick saturation"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
-msgid "Keyboard\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Natural keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
-msgid "Mouse\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
-msgid "Mouse\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
-msgid "Media\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
-msgid "Media\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Lightgun Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
-msgid "Disk\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Trackball Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
-msgid "Disk\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
-msgid "Printer\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
-msgid "Printer\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
-msgid "Mag. Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:95
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
-msgid "Mag. Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:96
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
-msgid "Punch Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:97
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
-msgid "Punch Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
-msgid "Mag. Drum\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:103
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
-msgid "Mag. Drum\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
-msgid "(EP)ROM\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
-msgid "(EP)ROM\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
-msgid "Communications\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:109
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
-msgid "Communications\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:110
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
-msgid "LAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:111
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
-msgid "LAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:112
+msgid "Enforce Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
-msgid "WAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:113
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
-msgid "WAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:114
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
-msgid "Timing\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
-msgid "Timing\tImperfect\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tYes\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Select position to load from"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tNo\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tYes\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Select position to save to"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tNo\n"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:309 src/frontend/mame/ui/selsoft.cpp:211
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:314 src/frontend/mame/ui/selgame.cpp:320
+#: src/frontend/mame/ui/selsoft.cpp:216
+#, c-format
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:437
+msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:849
+#, c-format
+msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:850
+#, c-format
+msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:851
+#, c-format
+msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:855
+#, c-format
+msgid "Driver is Clone of\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:857
+msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tVertical\n"
+#: src/frontend/mame/ui/selgame.cpp:860
+msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tHorizontal\n"
+#: src/frontend/mame/ui/selgame.cpp:862
+msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:865
+msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:867
+msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
-msgid "ROM Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:869
+msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
-msgid "ROM Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:872
+msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
-msgid "Samples Audit Result\tNone Needed\n"
+#: src/frontend/mame/ui/selgame.cpp:874
+msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
-msgid "Samples Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:876
+msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
-msgid "Samples Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:878
+msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
-msgid ""
-"ROM Audit \tDisabled\n"
-"Samples Audit \tDisabled\n"
+#: src/frontend/mame/ui/selgame.cpp:880
+msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
+#: src/frontend/mame/ui/selgame.cpp:883
+msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1424
-#, c-format
-msgid "Romset: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:885
+msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
-#, c-format
-msgid "System: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:887
+msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1465
-msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
+#: src/frontend/mame/ui/selgame.cpp:889
+msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
+#: src/frontend/mame/ui/selgame.cpp:892
+msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
+#: src/frontend/mame/ui/selgame.cpp:894
+msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
+#: src/frontend/mame/ui/selgame.cpp:897
+msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
+#: src/frontend/mame/ui/selgame.cpp:899
+msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
+#: src/frontend/mame/ui/selgame.cpp:902
+msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selgame.cpp:904
+msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selgame.cpp:907
+msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/selgame.cpp:909
+msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/selgame.cpp:912
+msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/selgame.cpp:914
+msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/selgame.cpp:917
+msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/selgame.cpp:919
+msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/selgame.cpp:922
+msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/selgame.cpp:924
+msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/selgame.cpp:927
+msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/selgame.cpp:929
+msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/selgame.cpp:932
+msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/selgame.cpp:934
+msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/selgame.cpp:937
+msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/selgame.cpp:939
+msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/selgame.cpp:970
+msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/selgame.cpp:972
+msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/selgame.cpp:975
+msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/selgame.cpp:977
+msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/selgame.cpp:979
+msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/selgame.cpp:983
+msgid ""
+"ROM Audit \tDisabled\n"
+"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/selgame.cpp:1167
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/selgame.cpp:1183 src/frontend/mame/ui/selsoft.cpp:555
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/selgame.cpp:1185 src/frontend/mame/ui/selsoft.cpp:557
+#, c-format
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/selgame.cpp:1195
+#, c-format
+msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/selgame.cpp:1202
+#, c-format
+msgid "System: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/selgame.cpp:1239
+msgid ""
+"The selected machine is missing one or more required ROM or CHD images. "
+"Please select a different machine.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/selgame.cpp:1245 src/frontend/mame/ui/selsoft.cpp:462
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/utils.cpp:57 src/frontend/mame/ui/utils.cpp:81
+msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/utils.cpp:58 src/frontend/mame/ui/utils.cpp:82
+msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/utils.cpp:59 src/frontend/mame/ui/utils.cpp:83
+msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/utils.cpp:60
+msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/utils.cpp:61
+msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/utils.cpp:62
+msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:63
+msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:64
+msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:65
+msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:67
+msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:84
+msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/utils.cpp:85
+msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:70
+msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:86
+msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/utils.cpp:72
+msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/utils.cpp:73
+msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/utils.cpp:74
+msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/utils.cpp:75
+msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/utils.cpp:76
+msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/utils.cpp:77
+msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/utils.cpp:78 src/frontend/mame/ui/utils.cpp:94
+msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/utils.cpp:87
+msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/utils.cpp:88
+msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/utils.cpp:89
+msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/utils.cpp:90
+msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/utils.cpp:91
+msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:43
-#, c-format
-msgid ""
-"[This option is currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"The selected option enables the following items:\n"
+#: src/frontend/mame/ui/utils.cpp:92
+msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:44
-#, c-format
-msgid ""
-"[This option is NOT currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"If you select this option, the following items will be enabled:\n"
+#: src/frontend/mame/ui/utils.cpp:93
+msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/utils.cpp:244
+msgid "<set up filters>"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:352
+msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/utils.cpp:503
#, c-format
-msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
-msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:518
+msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %3$d.%4$06d MHz\n"
+#: src/frontend/mame/ui/utils.cpp:520
+msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:959
+msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/utils.cpp:990
+msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/utils.cpp:998
+msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:103
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1032
+msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1037
+msgid "File"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/utils.cpp:1041
+msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
-#, c-format
-msgid " %1$d×%2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1046
+msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1047
+msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:168
-#, c-format
+#: src/frontend/mame/ui/selsoft.cpp:456
msgid ""
-"* BIOS settings:\n"
-" %1$d options [default: %2$s]\n"
+"The selected software is missing one or more required files. Please select a "
+"different software.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:208 src/frontend/mame/ui/devopt.cpp:224
-#: src/frontend/mame/ui/devopt.cpp:269
+#: src/frontend/mame/ui/selsoft.cpp:549
#, c-format
-msgid " %1$s [default: %2$s]\n"
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
+#: src/frontend/mame/ui/selsoft.cpp:550
#, c-format
-msgid " %1$s\n"
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:260
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:419
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/filesel.cpp:515
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:516
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:518
+msgid "Read-write"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
-#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:519
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:520
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:117
+msgid "Cannot save over directory"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:150
+msgid ""
+"The software selected is missing one or more required ROM or CHD images. "
+"Please select a different one."
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:294
+msgid "Return to Machine"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
-#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:299 src/frontend/mame/ui/menu.cpp:301
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+#: src/frontend/mame/ui/menu.cpp:306 src/frontend/mame/ui/menu.cpp:308
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
-#, c-format
-msgid " %1$s [tag: %2$s]\n"
+#: src/frontend/mame/ui/menu.cpp:742
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
+#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:653
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+#: src/frontend/mame/ui/cheatopt.cpp:105
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/cheatopt.cpp:136
+msgid "Autofire Settings"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:581
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:582
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
+#: src/frontend/mame/ui/cheatopt.cpp:273
+msgid "Autofire Status"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
+#: src/frontend/mame/ui/cheatopt.cpp:316
+msgid "No buttons found on this machine!"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+#: src/frontend/mame/ui/cheatopt.cpp:327 src/frontend/mame/ui/cheatopt.cpp:331
+msgid "Autofire Delay"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
-msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
+#: src/frontend/mame/ui/ui.cpp:337
+msgid "This driver requires images to be loaded in the following device(s): "
msgstr ""
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
+#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
+msgid "Keyboard Emulation Status"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
+#: src/frontend/mame/ui/ui.cpp:1086
+msgid "Mode: PARTIAL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
+#: src/frontend/mame/ui/ui.cpp:1087
+msgid "UI: Enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
+#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
+msgid "**Use ScrLock to toggle**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
+#: src/frontend/mame/ui/ui.cpp:1096
+msgid "Mode: FULL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: src/frontend/mame/ui/ui.cpp:1097
+msgid "UI: Disabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
+#: src/frontend/mame/ui/ui.cpp:1249
+msgid "Autofire can't be enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
+#: src/frontend/mame/ui/ui.cpp:1302
+#, c-format
+msgid ""
+"Are you sure you want to quit?\n"
+"\n"
+"Press ''%1$s'' to quit,\n"
+"Press ''%2$s'' to return to emulation."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
+#: src/frontend/mame/ui/ui.cpp:1374
+msgid "Master Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
+#: src/frontend/mame/ui/ui.cpp:1383
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/ui.cpp:1407
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/ui.cpp:1416
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/ui.cpp:1437
+#, c-format
+msgid "%1$s Refresh Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, c-format
+msgid "%1$s Brightness"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1444
+#, c-format
+msgid "%1$s Contrast"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1446
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/ui.cpp:1450
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/ui.cpp:1452
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/ui.cpp:1454
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/ui.cpp:1456
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/ui.cpp:1475
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/ui.cpp:1477
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/ui.cpp:1479
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
-msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+#: src/frontend/mame/ui/ui.cpp:1481
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:198
-msgid ""
-"There are known problems with this machine\n"
-"\n"
+#: src/frontend/mame/ui/ui.cpp:1493
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/ui.cpp:1494
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/ui.cpp:1495
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
+#: src/frontend/mame/ui/ui.cpp:1496
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#: src/frontend/mame/ui/info.cpp:275
+#: src/frontend/mame/ui/ui.cpp:1511
#, c-format
-msgid ", %s"
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
+#: src/frontend/mame/ui/ui.cpp:1513
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:243
-msgid ""
-"This machine was never completed. It may exhibit strange behavior or missing "
-"elements that are not bugs in the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1601
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:245
-msgid ""
-"This machine has no sound hardware, MAME will produce no sounds, this is "
-"expected behaviour.\n"
+#: src/frontend/mame/ui/ui.cpp:1645
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:249
-msgid ""
-"\n"
-"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
-"complete. There is nothing you can do to fix this problem except wait for "
-"the developers to improve the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1661
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:251
-msgid ""
-"\n"
-"Elements of this machine cannot be emulated as they requires physical "
-"interaction or consist of mechanical devices. It is not possible to fully "
-"experience this machine.\n"
+#: src/frontend/mame/ui/ui.cpp:1685
+#, c-format
+msgid "%1$.3ffps"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
+#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
+#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
+#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
+#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
+#: src/frontend/mame/ui/ui.cpp:1927
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
+#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/ui.cpp:2005
#, c-format
-msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/ui.cpp:2226
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " COLORS"
+msgstr ""
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:39
#, c-format
-msgid "%1$s: %2$s\n"
+msgid ""
+"[This option is currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"The selected option enables the following items:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+#: src/frontend/mame/ui/devopt.cpp:40
+#, c-format
+msgid ""
+"[This option is NOT currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"If you select this option, the following items will be enabled:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:48
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
#, c-format
-msgid "Screen '%1$s'"
+msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
+msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:85
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:90
+#, c-format
+msgid " Screen '%1$s': Vector\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:99
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:100
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:113
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:133
+#, c-format
+msgid " %1$d×%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:164
+#, c-format
+msgid ""
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:204 src/frontend/mame/ui/devopt.cpp:220
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
+#: src/frontend/mame/ui/devopt.cpp:209 src/frontend/mame/ui/devopt.cpp:225
#, c-format
-msgid "Software is clone of: %1$-.100s"
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: src/frontend/mame/ui/devopt.cpp:230
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: src/frontend/mame/ui/devopt.cpp:232
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: src/frontend/mame/ui/devopt.cpp:234
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: src/frontend/mame/ui/devopt.cpp:236
+#, c-format
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
+#: src/frontend/mame/ui/devopt.cpp:238
#, c-format
-msgid "romset: %1$-.100s"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
+#: src/frontend/mame/ui/devopt.cpp:240
#, c-format
-msgid "Driver is clone of: %1$-.100s"
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: src/frontend/mame/ui/devopt.cpp:242
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
+#: src/frontend/mame/ui/devopt.cpp:244
#, c-format
-msgid "%1$s %2$s"
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: src/frontend/mame/ui/devopt.cpp:246
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: src/frontend/mame/ui/devopt.cpp:248
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: src/frontend/mame/ui/devopt.cpp:257
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: src/frontend/mame/ui/devopt.cpp:263
+msgid "* Slot Options:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:270
+msgid "[None]\n"
msgstr ""
#: plugins/timer/init.lua:94
@@ -2672,51 +2591,51 @@ msgstr ""
msgid "Timer"
msgstr ""
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:510
msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheat/init.lua:534
+#: plugins/cheat/init.lua:516
msgid "Press button for hotkey or wait to clear"
msgstr ""
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:528
msgid "None"
msgstr ""
-#: plugins/cheat/init.lua:551
+#: plugins/cheat/init.lua:533
msgid "Done"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:547 plugins/cheat/init.lua:561
msgid "Set"
msgstr ""
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:580
msgid "Set hotkeys"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:720
#, lua-format
msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:723 plugins/cheat/init.lua:781
#, lua-format
msgid "Activated: %s"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:785
#, lua-format
msgid "Enabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:790
#, lua-format
msgid "Disabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "%s added"
msgstr ""
@@ -2765,303 +2684,218 @@ msgstr ""
msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:404
+#: plugins/cheatfind/init.lua:373
msgid "Save Cheat"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Default"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Custom"
msgstr ""
-#: plugins/cheatfind/init.lua:408
+#: plugins/cheatfind/init.lua:377
msgid "Cheat Name"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/cheatfind/init.lua:383 plugins/cheatfind/init.lua:748
#, lua-format
msgid "Default name is %s"
msgstr ""
-#: plugins/cheatfind/init.lua:422
+#: plugins/cheatfind/init.lua:391
msgid "Player"
msgstr ""
-#: plugins/cheatfind/init.lua:427
+#: plugins/cheatfind/init.lua:396
msgid "Type"
msgstr ""
-#: plugins/cheatfind/init.lua:433
+#: plugins/cheatfind/init.lua:402
msgid "Save"
msgstr ""
-#: plugins/cheatfind/init.lua:462
+#: plugins/cheatfind/init.lua:429
#, lua-format
msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:472
+#: plugins/cheatfind/init.lua:437
msgid "Cheat added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:442
msgid ""
"Unable to write file\n"
"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/cheatfind/init.lua:486
+#: plugins/cheatfind/init.lua:451
msgid "Cancel"
msgstr ""
-#: plugins/cheatfind/init.lua:491
+#: plugins/cheatfind/init.lua:456
msgid "CPU or RAM"
msgstr ""
-#: plugins/cheatfind/init.lua:495
+#: plugins/cheatfind/init.lua:460
msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:479
+msgid "Data cleared and current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:487
+msgid "Start new search"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:497
+msgid "Current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:504
+msgid "Save current -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
+#: plugins/cheatfind/init.lua:536
#, lua-format
-msgid "Memory State saved to Slot %d"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:543
+msgid "Compare"
msgstr ""
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
+#: plugins/cheatfind/init.lua:546
+msgid "Left operand"
+msgstr ""
+
+#: plugins/cheatfind/init.lua:549
+msgid "Current"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:554
+msgid "Operator"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:561
+msgid "Left less than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:563
+msgid "Left greater than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:676
+#: plugins/cheatfind/init.lua:565
msgid "Left equal to right"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:567
+msgid "Left not equal to right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:680
+#: plugins/cheatfind/init.lua:569
msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:682
+#: plugins/cheatfind/init.lua:571
msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:684
+#: plugins/cheatfind/init.lua:573
msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:686
+#: plugins/cheatfind/init.lua:575
msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:688
+#: plugins/cheatfind/init.lua:577
msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:690
+#: plugins/cheatfind/init.lua:579
msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/cheatfind/init.lua:590
+msgid "Right operand"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/cheatfind/init.lua:598
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:719
+#: plugins/cheatfind/init.lua:602
msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:725
+#: plugins/cheatfind/init.lua:608
msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:738
-msgid ""
-"Use this if you want to poke the Slot 1 value (eg. You started with "
-"something but lost it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:740
-msgid ""
-"Use this if you want to poke the Last Slot value (eg. You started without an "
-"item but finally got it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:816
+#: plugins/cheatfind/init.lua:632
msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:820
+#: plugins/cheatfind/init.lua:636
msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:823
+#: plugins/cheatfind/init.lua:639
msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheatfind/init.lua:690
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Test cheat at addr %08X"
msgstr ""
-#: plugins/cheatfind/init.lua:974
+#: plugins/cheatfind/init.lua:722
msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
+#: plugins/cheatfind/init.lua:788
msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
+#: plugins/cheatfind/init.lua:806
msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
+#: plugins/cheatfind/init.lua:816
msgid "Cheat Finder"
msgstr ""
-#: plugins/portname/init.lua:103
+#: plugins/portname/init.lua:69
msgid "Save input names to file"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
+#: plugins/portname/init.lua:100 plugins/portname/init.lua:105
+#: plugins/portname/init.lua:121
msgid "Failed to save input name file"
msgstr ""
-#: plugins/portname/init.lua:167
+#: plugins/portname/init.lua:133
#, lua-format
msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/portname/init.lua:172
+#: plugins/portname/init.lua:138
msgid "Input ports"
msgstr ""
diff --git a/language/Bosnian/strings.po b/language/Bosnian/strings.po
index e60bb13a012..f7f80e09cb0 100644
--- a/language/Bosnian/strings.po
+++ b/language/Bosnian/strings.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MAME\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-03-17 13:37+1100\n"
+"POT-Creation-Date: 2018-04-28 15:32+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -16,1144 +16,1041 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
+#: src/frontend/mame/ui/auditmenu.cpp:96
#, c-format
-msgid "Screen #%d"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Enabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Disabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
-msgid "Marquees"
+#: src/frontend/mame/ui/auditmenu.cpp:99
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/auditmenu.cpp:104
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/auditmenu.cpp:130
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/auditmenu.cpp:142
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/selmenu.cpp:49 src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/selmenu.cpp:50 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/selmenu.cpp:51
+msgid "Control Panels"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/selmenu.cpp:52 src/frontend/mame/ui/dirmenu.cpp:50
+msgid "PCBs"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/selmenu.cpp:53 src/frontend/mame/ui/dirmenu.cpp:47
+msgid "Flyers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/selmenu.cpp:54 src/frontend/mame/ui/dirmenu.cpp:48
+msgid "Titles"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/selmenu.cpp:55 src/frontend/mame/ui/dirmenu.cpp:49
+msgid "Ends"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/selmenu.cpp:56
+msgid "Artwork Preview"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/selmenu.cpp:57 src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Bosses"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/selmenu.cpp:58 src/frontend/mame/ui/dirmenu.cpp:60
+msgid "Logos"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/selmenu.cpp:59 src/frontend/mame/ui/dirmenu.cpp:62
+msgid "Versus"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/selmenu.cpp:60
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/selmenu.cpp:61 src/frontend/mame/ui/dirmenu.cpp:59
+msgid "HowTo"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/selmenu.cpp:62 src/frontend/mame/ui/dirmenu.cpp:61
+msgid "Scores"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/selmenu.cpp:63 src/frontend/mame/ui/dirmenu.cpp:57
+msgid "Select"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/selmenu.cpp:64 src/frontend/mame/ui/dirmenu.cpp:51
+#: src/frontend/mame/ui/videoopt.cpp:224
+msgid "Marquees"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/selmenu.cpp:65 src/frontend/mame/ui/dirmenu.cpp:63
+msgid "Covers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/selmenu.cpp:69
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/selmenu.cpp:70
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/selmenu.cpp:71
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/selmenu.cpp:237
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/selmenu.cpp:343
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/selmenu.cpp:570 src/frontend/mame/ui/selmenu.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:311
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/selmenu.cpp:574
+#, c-format
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/selmenu.cpp:576
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/selmenu.cpp:581
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/selmenu.cpp:586
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/selmenu.cpp:591
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selmenu.cpp:596
+#, c-format
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selmenu.cpp:612
#, c-format
-msgid "Current %1$s Folders"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selmenu.cpp:614
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selmenu.cpp:619
+#: src/frontend/mame/ui/simpleselgame.cpp:330
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selmenu.cpp:621
+#: src/frontend/mame/ui/simpleselgame.cpp:332
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:623
+#: src/frontend/mame/ui/simpleselgame.cpp:334
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:627
+#: src/frontend/mame/ui/simpleselgame.cpp:338
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/selmenu.cpp:629
+#: src/frontend/mame/ui/simpleselgame.cpp:340
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/selmenu.cpp:631
+#: src/frontend/mame/ui/simpleselgame.cpp:342
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/selmenu.cpp:634
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/selmenu.cpp:636
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/selmenu.cpp:638
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/selmenu.cpp:640
+#: src/frontend/mame/ui/simpleselgame.cpp:351
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/selmenu.cpp:650
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/selmenu.cpp:1975
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/selmenu.cpp:1976
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/selmenu.cpp:2386 src/frontend/mame/ui/miscmenu.cpp:826
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/selmenu.cpp:2454
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/selmenu.cpp:2489
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/dirmenu.cpp:35
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/dirmenu.cpp:36
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
-#: src/frontend/mame/ui/slotopt.cpp:220
-msgid "[empty slot]"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/dirmenu.cpp:40
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/dirmenu.cpp:52
+msgid "Controls Panels"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/dirmenu.cpp:53
+msgid "Crosshairs"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Artworks"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks Preview"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "GameOver"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/dirmenu.cpp:116
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/dirmenu.cpp:167
+#, c-format
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/dirmenu.cpp:182
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/dirmenu.cpp:429
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/dirmenu.cpp:513
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/info.cpp:30
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "LAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/info.cpp:180
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/info.cpp:190
+msgid ""
+"There are known problems with this machine\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/info.cpp:195
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/info.cpp:200
+msgid "Completely unemulated features: "
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#, c-format
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#: src/frontend/mame/ui/info.cpp:267
+#, c-format
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/info.cpp:216
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/info.cpp:231
+msgid "Screen flipping in cocktail mode is not supported.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/info.cpp:233
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/info.cpp:235
+msgid ""
+"This machine was never completed. It may exhibit strange behavior or missing "
+"elements that are not bugs in the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/info.cpp:237
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/info.cpp:241
+msgid ""
+"\n"
+"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
+"complete. There is nothing you can do to fix this problem except wait for "
+"the developers to improve the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/info.cpp:243
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they requires physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/info.cpp:265
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/info.cpp:278
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/info.cpp:293
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:149
+#: src/frontend/mame/ui/info.cpp:342
msgid ""
-"The selected game is missing one or more required ROM or CHD images. Please "
-"select a different game.\n"
"\n"
-"Press any key to continue."
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:247
-#, c-format
+#: src/frontend/mame/ui/info.cpp:370
msgid ""
-"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
"\n"
-"If this is your first time using %2$s, please see the config.txt file in the "
-"docs directory for information on configuring %2$s."
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+"Video:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/info.cpp:374
+msgid "None\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/info.cpp:381
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:314
-#: src/frontend/mame/ui/selsoft.cpp:652 src/frontend/mame/ui/selsoft.cpp:659
+#: src/frontend/mame/ui/info.cpp:392
#, c-format
-msgid "%1$-.100s"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:317
-#: src/frontend/mame/ui/selmenu.cpp:618 src/frontend/mame/ui/selmenu.cpp:654
-#, c-format
-msgid "%1$s, %2$-.100s"
+#: src/frontend/mame/ui/info.cpp:392
+msgid "%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
+#: src/frontend/mame/ui/info.cpp:438
#, c-format
-msgid "Driver: %1$-.100s"
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+msgid "Screen '%1$s'"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/info.cpp:440
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/info.cpp:525
+msgid "Not supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/info.cpp:528
+msgid "Partially supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/info.cpp:536
+msgid "[empty]"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/optsmenu.cpp:193
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/optsmenu.cpp:206
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/optsmenu.cpp:207
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/optsmenu.cpp:210 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/optsmenu.cpp:213
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/optsmenu.cpp:216
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/optsmenu.cpp:228
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:337
-msgid "This driver requires images to be loaded in the following device(s): "
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
+msgid "Rewind"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1302
-#, c-format
-msgid ""
-"Are you sure you want to quit?\n"
-"\n"
-"Press ''%1$s'' to quit,\n"
-"Press ''%2$s'' to return to emulation."
+#: src/frontend/mame/ui/inputmap.cpp:53
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/inputmap.cpp:59
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
+#: src/frontend/mame/ui/inputmap.cpp:628 src/frontend/mame/ui/miscmenu.cpp:96
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/selector.cpp:116
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
+#: src/frontend/mame/ui/selector.cpp:124
#, c-format
-msgid "Overclock %1$s sound"
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/filesel.cpp:256
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/swlist.cpp:88
+msgid "[file manager]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/swlist.cpp:228
+msgid "Switch Item Ordering"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
+#: src/frontend/mame/ui/swlist.cpp:259
#, c-format
-msgid "%1$s Horiz Stretch"
+msgid "Switched Order: entries now ordered by %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "shortname"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "description"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/swlist.cpp:389
+msgid "[compatible lists]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/datmenu.cpp:80
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/datmenu.cpp:362
+msgid "Revision: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/simpleselgame.cpp:149
+msgid ""
+"The selected game is missing one or more required ROM or CHD images. Please "
+"select a different game.\n"
+"\n"
+"Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
+#: src/frontend/mame/ui/simpleselgame.cpp:241
#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+msgid ""
+"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
+"\n"
+"If this is your first time using %2$s, please see the config.txt file in the "
+"docs directory for information on configuring %2$s."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/simpleselgame.cpp:271
+#: src/frontend/mame/ui/selgame.cpp:436
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/simpleselgame.cpp:292
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/simpleselgame.cpp:294
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
+#: src/frontend/mame/ui/simpleselgame.cpp:308
+#: src/frontend/mame/ui/selsoft.cpp:564 src/frontend/mame/ui/selsoft.cpp:571
#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/simpleselgame.cpp:314
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
+#: src/frontend/mame/ui/videoopt.cpp:56
#, c-format
-msgid "Crosshair Offset %1$s"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/videoopt.cpp:208
+msgid "Backdrops"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Enabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Disabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
-#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
-#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
-#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
-#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
-#: src/frontend/mame/ui/ui.cpp:1927
-#, c-format
-msgid "%1$.3f"
+#: src/frontend/mame/ui/videoopt.cpp:212
+msgid "Overlays"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
-#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
-#, c-format
-msgid "%1$1.2f"
+#: src/frontend/mame/ui/videoopt.cpp:216
+msgid "Bezels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:220
+msgid "CPanels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "View"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cropped"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Full"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1047
+msgid "No"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
-msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1047
+msgid "Yes"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
-msgid ""
-"Cheat Comment:\n"
-"%s"
+#: src/frontend/mame/ui/filecreate.cpp:171
+msgid "New Image Name:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/filecreate.cpp:177
+msgid "Image Format:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/filecreate.cpp:183
+msgid "Create"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/filecreate.cpp:266
+msgid "Select image format"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Keyboard Mode:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Natural"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Emulated"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
+#: src/frontend/mame/ui/miscmenu.cpp:236
#, c-format
msgid ""
-"%s\n"
-" added to favorites list."
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
+#: src/frontend/mame/ui/miscmenu.cpp:238
#, c-format
msgid ""
-"%s\n"
-" removed from favorites list."
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/miscmenu.cpp:242
+#, c-format
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
+"Tickets dispensed: %1$d\n"
"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
+#: src/frontend/mame/ui/miscmenu.cpp:253
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/miscmenu.cpp:253
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
-#, c-format
-msgid "Driver: \"%1$s\" software list "
+#: src/frontend/mame/ui/miscmenu.cpp:256
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
-#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+#: src/frontend/mame/ui/miscmenu.cpp:503
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/miscmenu.cpp:601
#, c-format
-msgid "Search: %1$s_"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
-msgid "Unfiltered"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
-msgid "Available"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
-msgid "Unavailable"
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
-msgid "Working"
+#: src/frontend/mame/ui/miscmenu.cpp:627
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
-msgid "Not Working"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
-msgid "Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:655
+msgid "Export list in XML format (like -listxml)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
-msgid "Not Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:656
+msgid "Export list in XML format (like -listxml, but exclude devices)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
-msgid "Category"
+#: src/frontend/mame/ui/miscmenu.cpp:657
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
-msgid "Favorites"
+#: src/frontend/mame/ui/miscmenu.cpp:710 src/frontend/mame/ui/ui.cpp:2230
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/miscmenu.cpp:760 src/frontend/mame/ui/utils.cpp:66
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
-msgid "Not BIOS"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
-msgid "Parents"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
-msgid "Clones"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:73
-msgid "Manufacturer"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
-msgid "Year"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:75
-msgid "Save Supported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:76
-msgid "Save Unsupported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:77
-msgid "CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:78
-msgid "No CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:79
-msgid "Vertical Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:80
-msgid "Horizontal Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
-msgid "Custom Filter"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:91
-msgid "Publisher"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:92
-msgid "Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:764
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
-msgid "Partially Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:767
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
-msgid "Unsupported"
+#: src/frontend/mame/ui/miscmenu.cpp:776 src/frontend/mame/ui/mainmenu.cpp:145
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
-msgid "Release Region"
+#: src/frontend/mame/ui/miscmenu.cpp:778 src/frontend/mame/ui/mainmenu.cpp:147
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
-msgid "Device Type"
+#: src/frontend/mame/ui/miscmenu.cpp:781
+msgid "Save machine configuration"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
-msgid "Software List"
+#: src/frontend/mame/ui/miscmenu.cpp:792
+msgid "Configure machine:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
-msgid "<set up filters>"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:736
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:551 plugins/cheatfind/init.lua:619
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
-msgid "Select custom filters:"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:739
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:554 plugins/cheat/init.lua:563
+#: plugins/cheatfind/init.lua:616
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
-#, c-format
-msgid "Filter %1$u"
+#: src/frontend/mame/ui/miscmenu.cpp:909 src/frontend/mame/ui/selgame.cpp:441
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
-msgid "Remove last filter"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
-msgid "Add filter"
+#: src/frontend/mame/ui/barcode.cpp:78
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
-msgid "Select category:"
+#: src/frontend/mame/ui/barcode.cpp:119
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
-msgid "[no category INI files]"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:99
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
-msgid "[no groups in INI file]"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
-msgid "No category INI files found"
+#: src/frontend/mame/ui/mainmenu.cpp:60
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
-msgid "File"
+#: src/frontend/mame/ui/mainmenu.cpp:62
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
-msgid "No groups found in category file"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
-msgid "Group"
+#: src/frontend/mame/ui/mainmenu.cpp:68
+msgid "Dip Switches"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
-msgid "Include clones"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
+#: src/frontend/mame/ui/mainmenu.cpp:78
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/mainmenu.cpp:85
+msgid "Image Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/mainmenu.cpp:96
+msgid "Tape Control"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/mainmenu.cpp:102
+msgid "BIOS Selection"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/mainmenu.cpp:106
+msgid "Slot Devices"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
-#, c-format
-msgid "%s [internal]"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Barcode Reader"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:203 src/frontend/mame/ui/miscmenu.cpp:97
-#: src/frontend/mame/ui/inputmap.cpp:615
-msgid "Reset"
+#: src/frontend/mame/ui/mainmenu.cpp:114
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/mainmenu.cpp:118
+msgid "Keyboard Mode"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/mainmenu.cpp:121
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/mainmenu.cpp:124 src/frontend/mame/ui/submenu.cpp:101
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/mainmenu.cpp:128
+msgid "Crosshair Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/mainmenu.cpp:132 plugins/cheat/init.lua:735
+msgid "Cheat"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:762
-#: plugins/cheat/init.lua:569 plugins/cheatfind/init.lua:792
-#: plugins/cheatfind/init.lua:803
-msgid "On"
+#: src/frontend/mame/ui/mainmenu.cpp:135
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:765
-#: plugins/cheat/init.lua:572 plugins/cheat/init.lua:581
-#: plugins/cheatfind/init.lua:789 plugins/cheatfind/init.lua:800
-msgid "Off"
+#: src/frontend/mame/ui/mainmenu.cpp:139
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/mainmenu.cpp:154
+msgid "Select New Machine"
msgstr ""
#: src/frontend/mame/ui/custui.cpp:31
@@ -1376,1281 +1273,1303 @@ msgstr ""
msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/submenu.cpp:22
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/submenu.cpp:23
+msgid "Re-select last machine played"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/submenu.cpp:24
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:26
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:27
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:28
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:29
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:30
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
-#, c-format
-msgid "%s.txt saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/submenu.cpp:45
+msgid "Refresh speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/submenu.cpp:47
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/submenu.cpp:49
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
-msgid "Configure Machine"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
-#, c-format
-msgid "Romset\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
-#, c-format
-msgid "Year\t%1$s\n"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
-#, c-format
-msgid "Manufacturer\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
-#, c-format
-msgid "Driver is Clone of\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1044
-msgid "Driver is Parent\t\n"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
-msgid "Analog Controls\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Artwork Crop"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
-msgid "Keyboard Inputs\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Use Backdrops"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
-msgid "Overall\tNOT WORKING\n"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Use Overlays"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
-msgid "Overall\tUnemulated Protection\n"
+#: src/frontend/mame/ui/submenu.cpp:60
+msgid "Use Bezels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
-msgid "Overall\tWorking\n"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Use Control Panels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
-msgid "Graphics\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:62
+msgid "Use Marquees"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
-msgid "Graphics\tWrong Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
-msgid "Graphics\tImperfect Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
-msgid "Graphics\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
-msgid "Graphics\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Bilinear snapshot"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
-msgid "Sound\tNone\n"
+#: src/frontend/mame/ui/submenu.cpp:69
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
-msgid "Sound\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
-msgid "Sound\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:72
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
-msgid "Sound\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
-msgid "Capture\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
-msgid "Capture\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
-msgid "Camera\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
-msgid "Camera\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
-msgid "Microphone\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
-msgid "Microphone\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:79
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
-msgid "Controls\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
-msgid "Controls\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
-msgid "Keyboard\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Joystick saturation"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
-msgid "Keyboard\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Natural keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
-msgid "Mouse\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
-msgid "Mouse\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
-msgid "Media\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
-msgid "Media\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Lightgun Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
-msgid "Disk\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Trackball Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
-msgid "Disk\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
-msgid "Printer\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
-msgid "Printer\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
-msgid "Mag. Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:95
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
-msgid "Mag. Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:96
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
-msgid "Punch Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:97
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
-msgid "Punch Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
-msgid "Mag. Drum\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:103
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
-msgid "Mag. Drum\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
-msgid "(EP)ROM\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
-msgid "(EP)ROM\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
-msgid "Communications\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:109
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
-msgid "Communications\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:110
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
-msgid "LAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:111
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
-msgid "LAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:112
+msgid "Enforce Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
-msgid "WAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:113
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
-msgid "WAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:114
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
-msgid "Timing\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
-msgid "Timing\tImperfect\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tYes\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Select position to load from"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tNo\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tYes\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Select position to save to"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tNo\n"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:309 src/frontend/mame/ui/selsoft.cpp:211
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:314 src/frontend/mame/ui/selgame.cpp:320
+#: src/frontend/mame/ui/selsoft.cpp:216
+#, c-format
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:437
+msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:849
+#, c-format
+msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:850
+#, c-format
+msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:851
+#, c-format
+msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:855
+#, c-format
+msgid "Driver is Clone of\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:857
+msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tVertical\n"
+#: src/frontend/mame/ui/selgame.cpp:860
+msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tHorizontal\n"
+#: src/frontend/mame/ui/selgame.cpp:862
+msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:865
+msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:867
+msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
-msgid "ROM Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:869
+msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
-msgid "ROM Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:872
+msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
-msgid "Samples Audit Result\tNone Needed\n"
+#: src/frontend/mame/ui/selgame.cpp:874
+msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
-msgid "Samples Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:876
+msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
-msgid "Samples Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:878
+msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
-msgid ""
-"ROM Audit \tDisabled\n"
-"Samples Audit \tDisabled\n"
+#: src/frontend/mame/ui/selgame.cpp:880
+msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
+#: src/frontend/mame/ui/selgame.cpp:883
+msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1424
-#, c-format
-msgid "Romset: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:885
+msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
-#, c-format
-msgid "System: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:887
+msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1465
-msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
+#: src/frontend/mame/ui/selgame.cpp:889
+msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
+#: src/frontend/mame/ui/selgame.cpp:892
+msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
+#: src/frontend/mame/ui/selgame.cpp:894
+msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
+#: src/frontend/mame/ui/selgame.cpp:897
+msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
+#: src/frontend/mame/ui/selgame.cpp:899
+msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
+#: src/frontend/mame/ui/selgame.cpp:902
+msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selgame.cpp:904
+msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selgame.cpp:907
+msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/selgame.cpp:909
+msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/selgame.cpp:912
+msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/selgame.cpp:914
+msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/selgame.cpp:917
+msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/selgame.cpp:919
+msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/selgame.cpp:922
+msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/selgame.cpp:924
+msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/selgame.cpp:927
+msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/selgame.cpp:929
+msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/selgame.cpp:932
+msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/selgame.cpp:934
+msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/selgame.cpp:937
+msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/selgame.cpp:939
+msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/selgame.cpp:970
+msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/selgame.cpp:972
+msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/selgame.cpp:975
+msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/selgame.cpp:977
+msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/selgame.cpp:979
+msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/selgame.cpp:983
+msgid ""
+"ROM Audit \tDisabled\n"
+"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/selgame.cpp:1167
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/selgame.cpp:1183 src/frontend/mame/ui/selsoft.cpp:555
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/selgame.cpp:1185 src/frontend/mame/ui/selsoft.cpp:557
+#, c-format
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/selgame.cpp:1195
+#, c-format
+msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/selgame.cpp:1202
+#, c-format
+msgid "System: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/selgame.cpp:1239
+msgid ""
+"The selected machine is missing one or more required ROM or CHD images. "
+"Please select a different machine.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/selgame.cpp:1245 src/frontend/mame/ui/selsoft.cpp:462
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/utils.cpp:57 src/frontend/mame/ui/utils.cpp:81
+msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/utils.cpp:58 src/frontend/mame/ui/utils.cpp:82
+msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/utils.cpp:59 src/frontend/mame/ui/utils.cpp:83
+msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/utils.cpp:60
+msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/utils.cpp:61
+msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/utils.cpp:62
+msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:63
+msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:64
+msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:65
+msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:67
+msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:84
+msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/utils.cpp:85
+msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:70
+msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:86
+msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/utils.cpp:72
+msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/utils.cpp:73
+msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/utils.cpp:74
+msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/utils.cpp:75
+msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/utils.cpp:76
+msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/utils.cpp:77
+msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/utils.cpp:78 src/frontend/mame/ui/utils.cpp:94
+msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/utils.cpp:87
+msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/utils.cpp:88
+msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/utils.cpp:89
+msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/utils.cpp:90
+msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/utils.cpp:91
+msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:43
-#, c-format
-msgid ""
-"[This option is currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"The selected option enables the following items:\n"
+#: src/frontend/mame/ui/utils.cpp:92
+msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:44
-#, c-format
-msgid ""
-"[This option is NOT currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"If you select this option, the following items will be enabled:\n"
+#: src/frontend/mame/ui/utils.cpp:93
+msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/utils.cpp:244
+msgid "<set up filters>"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:352
+msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/utils.cpp:503
#, c-format
-msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
-msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:518
+msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %3$d.%4$06d MHz\n"
+#: src/frontend/mame/ui/utils.cpp:520
+msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:959
+msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/utils.cpp:990
+msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/utils.cpp:998
+msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:103
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1032
+msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1037
+msgid "File"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/utils.cpp:1041
+msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
-#, c-format
-msgid " %1$d×%2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1046
+msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1047
+msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:168
-#, c-format
+#: src/frontend/mame/ui/selsoft.cpp:456
msgid ""
-"* BIOS settings:\n"
-" %1$d options [default: %2$s]\n"
+"The selected software is missing one or more required files. Please select a "
+"different software.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:208 src/frontend/mame/ui/devopt.cpp:224
-#: src/frontend/mame/ui/devopt.cpp:269
+#: src/frontend/mame/ui/selsoft.cpp:549
#, c-format
-msgid " %1$s [default: %2$s]\n"
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
+#: src/frontend/mame/ui/selsoft.cpp:550
#, c-format
-msgid " %1$s\n"
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:260
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:419
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/filesel.cpp:515
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:516
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:518
+msgid "Read-write"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
-#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:519
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:520
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:117
+msgid "Cannot save over directory"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:150
+msgid ""
+"The software selected is missing one or more required ROM or CHD images. "
+"Please select a different one."
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:294
+msgid "Return to Machine"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
-#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:299 src/frontend/mame/ui/menu.cpp:301
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+#: src/frontend/mame/ui/menu.cpp:306 src/frontend/mame/ui/menu.cpp:308
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
-#, c-format
-msgid " %1$s [tag: %2$s]\n"
+#: src/frontend/mame/ui/menu.cpp:742
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
+#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:653
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+#: src/frontend/mame/ui/cheatopt.cpp:105
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/cheatopt.cpp:136
+msgid "Autofire Settings"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:581
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:582
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
+#: src/frontend/mame/ui/cheatopt.cpp:273
+msgid "Autofire Status"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
+#: src/frontend/mame/ui/cheatopt.cpp:316
+msgid "No buttons found on this machine!"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+#: src/frontend/mame/ui/cheatopt.cpp:327 src/frontend/mame/ui/cheatopt.cpp:331
+msgid "Autofire Delay"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
-msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
+#: src/frontend/mame/ui/ui.cpp:337
+msgid "This driver requires images to be loaded in the following device(s): "
msgstr ""
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
+#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
+msgid "Keyboard Emulation Status"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
+#: src/frontend/mame/ui/ui.cpp:1086
+msgid "Mode: PARTIAL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
+#: src/frontend/mame/ui/ui.cpp:1087
+msgid "UI: Enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
+#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
+msgid "**Use ScrLock to toggle**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
+#: src/frontend/mame/ui/ui.cpp:1096
+msgid "Mode: FULL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: src/frontend/mame/ui/ui.cpp:1097
+msgid "UI: Disabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
+#: src/frontend/mame/ui/ui.cpp:1249
+msgid "Autofire can't be enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
+#: src/frontend/mame/ui/ui.cpp:1302
+#, c-format
+msgid ""
+"Are you sure you want to quit?\n"
+"\n"
+"Press ''%1$s'' to quit,\n"
+"Press ''%2$s'' to return to emulation."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
+#: src/frontend/mame/ui/ui.cpp:1374
+msgid "Master Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
+#: src/frontend/mame/ui/ui.cpp:1383
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/ui.cpp:1407
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/ui.cpp:1416
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/ui.cpp:1437
+#, c-format
+msgid "%1$s Refresh Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, c-format
+msgid "%1$s Brightness"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1444
+#, c-format
+msgid "%1$s Contrast"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1446
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/ui.cpp:1450
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/ui.cpp:1452
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/ui.cpp:1454
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/ui.cpp:1456
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/ui.cpp:1475
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/ui.cpp:1477
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/ui.cpp:1479
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
-msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+#: src/frontend/mame/ui/ui.cpp:1481
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:198
-msgid ""
-"There are known problems with this machine\n"
-"\n"
+#: src/frontend/mame/ui/ui.cpp:1493
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/ui.cpp:1494
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/ui.cpp:1495
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
+#: src/frontend/mame/ui/ui.cpp:1496
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#: src/frontend/mame/ui/info.cpp:275
+#: src/frontend/mame/ui/ui.cpp:1511
#, c-format
-msgid ", %s"
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
+#: src/frontend/mame/ui/ui.cpp:1513
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:243
-msgid ""
-"This machine was never completed. It may exhibit strange behavior or missing "
-"elements that are not bugs in the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1601
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:245
-msgid ""
-"This machine has no sound hardware, MAME will produce no sounds, this is "
-"expected behaviour.\n"
+#: src/frontend/mame/ui/ui.cpp:1645
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:249
-msgid ""
-"\n"
-"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
-"complete. There is nothing you can do to fix this problem except wait for "
-"the developers to improve the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1661
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:251
-msgid ""
-"\n"
-"Elements of this machine cannot be emulated as they requires physical "
-"interaction or consist of mechanical devices. It is not possible to fully "
-"experience this machine.\n"
+#: src/frontend/mame/ui/ui.cpp:1685
+#, c-format
+msgid "%1$.3ffps"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
+#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
+#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
+#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
+#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
+#: src/frontend/mame/ui/ui.cpp:1927
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
+#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/ui.cpp:2005
#, c-format
-msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/ui.cpp:2226
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " COLORS"
+msgstr ""
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:39
#, c-format
-msgid "%1$s: %2$s\n"
+msgid ""
+"[This option is currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"The selected option enables the following items:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+#: src/frontend/mame/ui/devopt.cpp:40
+#, c-format
+msgid ""
+"[This option is NOT currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"If you select this option, the following items will be enabled:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:48
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
#, c-format
-msgid "Screen '%1$s'"
+msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
+msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:85
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:90
+#, c-format
+msgid " Screen '%1$s': Vector\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:99
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:100
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:113
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:133
+#, c-format
+msgid " %1$d×%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:164
+#, c-format
+msgid ""
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:204 src/frontend/mame/ui/devopt.cpp:220
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
+#: src/frontend/mame/ui/devopt.cpp:209 src/frontend/mame/ui/devopt.cpp:225
#, c-format
-msgid "Software is clone of: %1$-.100s"
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: src/frontend/mame/ui/devopt.cpp:230
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: src/frontend/mame/ui/devopt.cpp:232
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: src/frontend/mame/ui/devopt.cpp:234
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: src/frontend/mame/ui/devopt.cpp:236
+#, c-format
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
+#: src/frontend/mame/ui/devopt.cpp:238
#, c-format
-msgid "romset: %1$-.100s"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
+#: src/frontend/mame/ui/devopt.cpp:240
#, c-format
-msgid "Driver is clone of: %1$-.100s"
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: src/frontend/mame/ui/devopt.cpp:242
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
+#: src/frontend/mame/ui/devopt.cpp:244
#, c-format
-msgid "%1$s %2$s"
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: src/frontend/mame/ui/devopt.cpp:246
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: src/frontend/mame/ui/devopt.cpp:248
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: src/frontend/mame/ui/devopt.cpp:257
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: src/frontend/mame/ui/devopt.cpp:263
+msgid "* Slot Options:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:270
+msgid "[None]\n"
msgstr ""
#: plugins/timer/init.lua:94
@@ -2669,51 +2588,51 @@ msgstr ""
msgid "Timer"
msgstr ""
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:510
msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheat/init.lua:534
+#: plugins/cheat/init.lua:516
msgid "Press button for hotkey or wait to clear"
msgstr ""
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:528
msgid "None"
msgstr ""
-#: plugins/cheat/init.lua:551
+#: plugins/cheat/init.lua:533
msgid "Done"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:547 plugins/cheat/init.lua:561
msgid "Set"
msgstr ""
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:580
msgid "Set hotkeys"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:720
#, lua-format
msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:723 plugins/cheat/init.lua:781
#, lua-format
msgid "Activated: %s"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:785
#, lua-format
msgid "Enabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:790
#, lua-format
msgid "Disabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "%s added"
msgstr ""
@@ -2762,303 +2681,218 @@ msgstr ""
msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:404
+#: plugins/cheatfind/init.lua:373
msgid "Save Cheat"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Default"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Custom"
msgstr ""
-#: plugins/cheatfind/init.lua:408
+#: plugins/cheatfind/init.lua:377
msgid "Cheat Name"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/cheatfind/init.lua:383 plugins/cheatfind/init.lua:748
#, lua-format
msgid "Default name is %s"
msgstr ""
-#: plugins/cheatfind/init.lua:422
+#: plugins/cheatfind/init.lua:391
msgid "Player"
msgstr ""
-#: plugins/cheatfind/init.lua:427
+#: plugins/cheatfind/init.lua:396
msgid "Type"
msgstr ""
-#: plugins/cheatfind/init.lua:433
+#: plugins/cheatfind/init.lua:402
msgid "Save"
msgstr ""
-#: plugins/cheatfind/init.lua:462
+#: plugins/cheatfind/init.lua:429
#, lua-format
msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:472
+#: plugins/cheatfind/init.lua:437
msgid "Cheat added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:442
msgid ""
"Unable to write file\n"
"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/cheatfind/init.lua:486
+#: plugins/cheatfind/init.lua:451
msgid "Cancel"
msgstr ""
-#: plugins/cheatfind/init.lua:491
+#: plugins/cheatfind/init.lua:456
msgid "CPU or RAM"
msgstr ""
-#: plugins/cheatfind/init.lua:495
+#: plugins/cheatfind/init.lua:460
msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:479
+msgid "Data cleared and current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:487
+msgid "Start new search"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:497
+msgid "Current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:504
+msgid "Save current -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
+#: plugins/cheatfind/init.lua:536
#, lua-format
-msgid "Memory State saved to Slot %d"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:543
+msgid "Compare"
msgstr ""
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
+#: plugins/cheatfind/init.lua:546
+msgid "Left operand"
+msgstr ""
+
+#: plugins/cheatfind/init.lua:549
+msgid "Current"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:554
+msgid "Operator"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:561
+msgid "Left less than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:563
+msgid "Left greater than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:676
+#: plugins/cheatfind/init.lua:565
msgid "Left equal to right"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:567
+msgid "Left not equal to right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:680
+#: plugins/cheatfind/init.lua:569
msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:682
+#: plugins/cheatfind/init.lua:571
msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:684
+#: plugins/cheatfind/init.lua:573
msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:686
+#: plugins/cheatfind/init.lua:575
msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:688
+#: plugins/cheatfind/init.lua:577
msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:690
+#: plugins/cheatfind/init.lua:579
msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/cheatfind/init.lua:590
+msgid "Right operand"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/cheatfind/init.lua:598
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:719
+#: plugins/cheatfind/init.lua:602
msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:725
+#: plugins/cheatfind/init.lua:608
msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:738
-msgid ""
-"Use this if you want to poke the Slot 1 value (eg. You started with "
-"something but lost it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:740
-msgid ""
-"Use this if you want to poke the Last Slot value (eg. You started without an "
-"item but finally got it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:816
+#: plugins/cheatfind/init.lua:632
msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:820
+#: plugins/cheatfind/init.lua:636
msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:823
+#: plugins/cheatfind/init.lua:639
msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheatfind/init.lua:690
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Test cheat at addr %08X"
msgstr ""
-#: plugins/cheatfind/init.lua:974
+#: plugins/cheatfind/init.lua:722
msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
+#: plugins/cheatfind/init.lua:788
msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
+#: plugins/cheatfind/init.lua:806
msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
+#: plugins/cheatfind/init.lua:816
msgid "Cheat Finder"
msgstr ""
-#: plugins/portname/init.lua:103
+#: plugins/portname/init.lua:69
msgid "Save input names to file"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
+#: plugins/portname/init.lua:100 plugins/portname/init.lua:105
+#: plugins/portname/init.lua:121
msgid "Failed to save input name file"
msgstr ""
-#: plugins/portname/init.lua:167
+#: plugins/portname/init.lua:133
#, lua-format
msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/portname/init.lua:172
+#: plugins/portname/init.lua:138
msgid "Input ports"
msgstr ""
diff --git a/language/Bulgarian/strings.po b/language/Bulgarian/strings.po
index b4df4102adb..e74430fc535 100644
--- a/language/Bulgarian/strings.po
+++ b/language/Bulgarian/strings.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MAME\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-03-17 13:37+1100\n"
+"POT-Creation-Date: 2018-04-28 15:32+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -18,1144 +18,1041 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
+#: src/frontend/mame/ui/auditmenu.cpp:96
#, c-format
-msgid "Screen #%d"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Enabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Disabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
-msgid "Marquees"
+#: src/frontend/mame/ui/auditmenu.cpp:99
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/auditmenu.cpp:104
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/auditmenu.cpp:130
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/auditmenu.cpp:142
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/selmenu.cpp:49 src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/selmenu.cpp:50 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/selmenu.cpp:51
+msgid "Control Panels"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/selmenu.cpp:52 src/frontend/mame/ui/dirmenu.cpp:50
+msgid "PCBs"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/selmenu.cpp:53 src/frontend/mame/ui/dirmenu.cpp:47
+msgid "Flyers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/selmenu.cpp:54 src/frontend/mame/ui/dirmenu.cpp:48
+msgid "Titles"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/selmenu.cpp:55 src/frontend/mame/ui/dirmenu.cpp:49
+msgid "Ends"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/selmenu.cpp:56
+msgid "Artwork Preview"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/selmenu.cpp:57 src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Bosses"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/selmenu.cpp:58 src/frontend/mame/ui/dirmenu.cpp:60
+msgid "Logos"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/selmenu.cpp:59 src/frontend/mame/ui/dirmenu.cpp:62
+msgid "Versus"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/selmenu.cpp:60
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/selmenu.cpp:61 src/frontend/mame/ui/dirmenu.cpp:59
+msgid "HowTo"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/selmenu.cpp:62 src/frontend/mame/ui/dirmenu.cpp:61
+msgid "Scores"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/selmenu.cpp:63 src/frontend/mame/ui/dirmenu.cpp:57
+msgid "Select"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/selmenu.cpp:64 src/frontend/mame/ui/dirmenu.cpp:51
+#: src/frontend/mame/ui/videoopt.cpp:224
+msgid "Marquees"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/selmenu.cpp:65 src/frontend/mame/ui/dirmenu.cpp:63
+msgid "Covers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/selmenu.cpp:69
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/selmenu.cpp:70
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/selmenu.cpp:71
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/selmenu.cpp:237
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/selmenu.cpp:343
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/selmenu.cpp:570 src/frontend/mame/ui/selmenu.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:311
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/selmenu.cpp:574
+#, c-format
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/selmenu.cpp:576
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/selmenu.cpp:581
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/selmenu.cpp:586
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/selmenu.cpp:591
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selmenu.cpp:596
+#, c-format
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selmenu.cpp:612
#, c-format
-msgid "Current %1$s Folders"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selmenu.cpp:614
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selmenu.cpp:619
+#: src/frontend/mame/ui/simpleselgame.cpp:330
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selmenu.cpp:621
+#: src/frontend/mame/ui/simpleselgame.cpp:332
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:623
+#: src/frontend/mame/ui/simpleselgame.cpp:334
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:627
+#: src/frontend/mame/ui/simpleselgame.cpp:338
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/selmenu.cpp:629
+#: src/frontend/mame/ui/simpleselgame.cpp:340
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/selmenu.cpp:631
+#: src/frontend/mame/ui/simpleselgame.cpp:342
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/selmenu.cpp:634
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/selmenu.cpp:636
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/selmenu.cpp:638
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/selmenu.cpp:640
+#: src/frontend/mame/ui/simpleselgame.cpp:351
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/selmenu.cpp:650
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/selmenu.cpp:1975
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/selmenu.cpp:1976
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/selmenu.cpp:2386 src/frontend/mame/ui/miscmenu.cpp:826
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/selmenu.cpp:2454
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/selmenu.cpp:2489
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/dirmenu.cpp:35
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/dirmenu.cpp:36
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
-#: src/frontend/mame/ui/slotopt.cpp:220
-msgid "[empty slot]"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/dirmenu.cpp:40
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/dirmenu.cpp:52
+msgid "Controls Panels"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/dirmenu.cpp:53
+msgid "Crosshairs"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Artworks"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks Preview"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "GameOver"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/dirmenu.cpp:116
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/dirmenu.cpp:167
+#, c-format
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/dirmenu.cpp:182
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/dirmenu.cpp:429
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/dirmenu.cpp:513
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/info.cpp:30
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "LAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/info.cpp:180
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/info.cpp:190
+msgid ""
+"There are known problems with this machine\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/info.cpp:195
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/info.cpp:200
+msgid "Completely unemulated features: "
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#, c-format
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#: src/frontend/mame/ui/info.cpp:267
+#, c-format
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/info.cpp:216
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/info.cpp:231
+msgid "Screen flipping in cocktail mode is not supported.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/info.cpp:233
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/info.cpp:235
+msgid ""
+"This machine was never completed. It may exhibit strange behavior or missing "
+"elements that are not bugs in the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/info.cpp:237
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/info.cpp:241
+msgid ""
+"\n"
+"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
+"complete. There is nothing you can do to fix this problem except wait for "
+"the developers to improve the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/info.cpp:243
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they requires physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/info.cpp:265
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/info.cpp:278
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/info.cpp:293
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:149
+#: src/frontend/mame/ui/info.cpp:342
msgid ""
-"The selected game is missing one or more required ROM or CHD images. Please "
-"select a different game.\n"
"\n"
-"Press any key to continue."
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:247
-#, c-format
+#: src/frontend/mame/ui/info.cpp:370
msgid ""
-"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
"\n"
-"If this is your first time using %2$s, please see the config.txt file in the "
-"docs directory for information on configuring %2$s."
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+"Video:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/info.cpp:374
+msgid "None\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/info.cpp:381
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:314
-#: src/frontend/mame/ui/selsoft.cpp:652 src/frontend/mame/ui/selsoft.cpp:659
+#: src/frontend/mame/ui/info.cpp:392
#, c-format
-msgid "%1$-.100s"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:317
-#: src/frontend/mame/ui/selmenu.cpp:618 src/frontend/mame/ui/selmenu.cpp:654
-#, c-format
-msgid "%1$s, %2$-.100s"
+#: src/frontend/mame/ui/info.cpp:392
+msgid "%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
+#: src/frontend/mame/ui/info.cpp:438
#, c-format
-msgid "Driver: %1$-.100s"
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+msgid "Screen '%1$s'"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/info.cpp:440
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/info.cpp:525
+msgid "Not supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/info.cpp:528
+msgid "Partially supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/info.cpp:536
+msgid "[empty]"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/optsmenu.cpp:193
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/optsmenu.cpp:206
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/optsmenu.cpp:207
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/optsmenu.cpp:210 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/optsmenu.cpp:213
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/optsmenu.cpp:216
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/optsmenu.cpp:228
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:337
-msgid "This driver requires images to be loaded in the following device(s): "
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
+msgid "Rewind"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1302
-#, c-format
-msgid ""
-"Are you sure you want to quit?\n"
-"\n"
-"Press ''%1$s'' to quit,\n"
-"Press ''%2$s'' to return to emulation."
+#: src/frontend/mame/ui/inputmap.cpp:53
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/inputmap.cpp:59
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
+#: src/frontend/mame/ui/inputmap.cpp:628 src/frontend/mame/ui/miscmenu.cpp:96
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/selector.cpp:116
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
+#: src/frontend/mame/ui/selector.cpp:124
#, c-format
-msgid "Overclock %1$s sound"
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/filesel.cpp:256
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/swlist.cpp:88
+msgid "[file manager]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/swlist.cpp:228
+msgid "Switch Item Ordering"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
+#: src/frontend/mame/ui/swlist.cpp:259
#, c-format
-msgid "%1$s Horiz Stretch"
+msgid "Switched Order: entries now ordered by %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "shortname"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "description"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/swlist.cpp:389
+msgid "[compatible lists]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/datmenu.cpp:80
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/datmenu.cpp:362
+msgid "Revision: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/simpleselgame.cpp:149
+msgid ""
+"The selected game is missing one or more required ROM or CHD images. Please "
+"select a different game.\n"
+"\n"
+"Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
+#: src/frontend/mame/ui/simpleselgame.cpp:241
#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+msgid ""
+"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
+"\n"
+"If this is your first time using %2$s, please see the config.txt file in the "
+"docs directory for information on configuring %2$s."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/simpleselgame.cpp:271
+#: src/frontend/mame/ui/selgame.cpp:436
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/simpleselgame.cpp:292
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/simpleselgame.cpp:294
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
+#: src/frontend/mame/ui/simpleselgame.cpp:308
+#: src/frontend/mame/ui/selsoft.cpp:564 src/frontend/mame/ui/selsoft.cpp:571
#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/simpleselgame.cpp:314
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
+#: src/frontend/mame/ui/videoopt.cpp:56
#, c-format
-msgid "Crosshair Offset %1$s"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/videoopt.cpp:208
+msgid "Backdrops"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Enabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Disabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
-#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
-#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
-#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
-#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
-#: src/frontend/mame/ui/ui.cpp:1927
-#, c-format
-msgid "%1$.3f"
+#: src/frontend/mame/ui/videoopt.cpp:212
+msgid "Overlays"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
-#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
-#, c-format
-msgid "%1$1.2f"
+#: src/frontend/mame/ui/videoopt.cpp:216
+msgid "Bezels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:220
+msgid "CPanels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "View"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cropped"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Full"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1047
+msgid "No"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
-msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1047
+msgid "Yes"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
-msgid ""
-"Cheat Comment:\n"
-"%s"
+#: src/frontend/mame/ui/filecreate.cpp:171
+msgid "New Image Name:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/filecreate.cpp:177
+msgid "Image Format:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/filecreate.cpp:183
+msgid "Create"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/filecreate.cpp:266
+msgid "Select image format"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Keyboard Mode:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Natural"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Emulated"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
+#: src/frontend/mame/ui/miscmenu.cpp:236
#, c-format
msgid ""
-"%s\n"
-" added to favorites list."
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
+#: src/frontend/mame/ui/miscmenu.cpp:238
#, c-format
msgid ""
-"%s\n"
-" removed from favorites list."
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/miscmenu.cpp:242
+#, c-format
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
+"Tickets dispensed: %1$d\n"
"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
+#: src/frontend/mame/ui/miscmenu.cpp:253
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/miscmenu.cpp:253
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
-#, c-format
-msgid "Driver: \"%1$s\" software list "
+#: src/frontend/mame/ui/miscmenu.cpp:256
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
-#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+#: src/frontend/mame/ui/miscmenu.cpp:503
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/miscmenu.cpp:601
#, c-format
-msgid "Search: %1$s_"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
-msgid "Unfiltered"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
-msgid "Available"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
-msgid "Unavailable"
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
-msgid "Working"
+#: src/frontend/mame/ui/miscmenu.cpp:627
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
-msgid "Not Working"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
-msgid "Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:655
+msgid "Export list in XML format (like -listxml)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
-msgid "Not Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:656
+msgid "Export list in XML format (like -listxml, but exclude devices)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
-msgid "Category"
+#: src/frontend/mame/ui/miscmenu.cpp:657
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
-msgid "Favorites"
+#: src/frontend/mame/ui/miscmenu.cpp:710 src/frontend/mame/ui/ui.cpp:2230
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/miscmenu.cpp:760 src/frontend/mame/ui/utils.cpp:66
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
-msgid "Not BIOS"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
-msgid "Parents"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
-msgid "Clones"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:73
-msgid "Manufacturer"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
-msgid "Year"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:75
-msgid "Save Supported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:76
-msgid "Save Unsupported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:77
-msgid "CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:78
-msgid "No CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:79
-msgid "Vertical Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:80
-msgid "Horizontal Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
-msgid "Custom Filter"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:91
-msgid "Publisher"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:92
-msgid "Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:764
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
-msgid "Partially Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:767
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
-msgid "Unsupported"
+#: src/frontend/mame/ui/miscmenu.cpp:776 src/frontend/mame/ui/mainmenu.cpp:145
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
-msgid "Release Region"
+#: src/frontend/mame/ui/miscmenu.cpp:778 src/frontend/mame/ui/mainmenu.cpp:147
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
-msgid "Device Type"
+#: src/frontend/mame/ui/miscmenu.cpp:781
+msgid "Save machine configuration"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
-msgid "Software List"
+#: src/frontend/mame/ui/miscmenu.cpp:792
+msgid "Configure machine:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
-msgid "<set up filters>"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:736
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:551 plugins/cheatfind/init.lua:619
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
-msgid "Select custom filters:"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:739
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:554 plugins/cheat/init.lua:563
+#: plugins/cheatfind/init.lua:616
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
-#, c-format
-msgid "Filter %1$u"
+#: src/frontend/mame/ui/miscmenu.cpp:909 src/frontend/mame/ui/selgame.cpp:441
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
-msgid "Remove last filter"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
-msgid "Add filter"
+#: src/frontend/mame/ui/barcode.cpp:78
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
-msgid "Select category:"
+#: src/frontend/mame/ui/barcode.cpp:119
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
-msgid "[no category INI files]"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:99
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
-msgid "[no groups in INI file]"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
-msgid "No category INI files found"
+#: src/frontend/mame/ui/mainmenu.cpp:60
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
-msgid "File"
+#: src/frontend/mame/ui/mainmenu.cpp:62
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
-msgid "No groups found in category file"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
-msgid "Group"
+#: src/frontend/mame/ui/mainmenu.cpp:68
+msgid "Dip Switches"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
-msgid "Include clones"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
+#: src/frontend/mame/ui/mainmenu.cpp:78
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/mainmenu.cpp:85
+msgid "Image Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/mainmenu.cpp:96
+msgid "Tape Control"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/mainmenu.cpp:102
+msgid "BIOS Selection"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/mainmenu.cpp:106
+msgid "Slot Devices"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
-#, c-format
-msgid "%s [internal]"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Barcode Reader"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:203 src/frontend/mame/ui/miscmenu.cpp:97
-#: src/frontend/mame/ui/inputmap.cpp:615
-msgid "Reset"
+#: src/frontend/mame/ui/mainmenu.cpp:114
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/mainmenu.cpp:118
+msgid "Keyboard Mode"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/mainmenu.cpp:121
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/mainmenu.cpp:124 src/frontend/mame/ui/submenu.cpp:101
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/mainmenu.cpp:128
+msgid "Crosshair Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/mainmenu.cpp:132 plugins/cheat/init.lua:735
+msgid "Cheat"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:762
-#: plugins/cheat/init.lua:569 plugins/cheatfind/init.lua:792
-#: plugins/cheatfind/init.lua:803
-msgid "On"
+#: src/frontend/mame/ui/mainmenu.cpp:135
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:765
-#: plugins/cheat/init.lua:572 plugins/cheat/init.lua:581
-#: plugins/cheatfind/init.lua:789 plugins/cheatfind/init.lua:800
-msgid "Off"
+#: src/frontend/mame/ui/mainmenu.cpp:139
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/mainmenu.cpp:154
+msgid "Select New Machine"
msgstr ""
#: src/frontend/mame/ui/custui.cpp:31
@@ -1378,1281 +1275,1303 @@ msgstr ""
msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/submenu.cpp:22
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/submenu.cpp:23
+msgid "Re-select last machine played"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/submenu.cpp:24
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:26
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:27
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:28
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:29
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:30
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
-#, c-format
-msgid "%s.txt saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/submenu.cpp:45
+msgid "Refresh speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/submenu.cpp:47
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/submenu.cpp:49
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
-msgid "Configure Machine"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
-#, c-format
-msgid "Romset\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
-#, c-format
-msgid "Year\t%1$s\n"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
-#, c-format
-msgid "Manufacturer\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
-#, c-format
-msgid "Driver is Clone of\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1044
-msgid "Driver is Parent\t\n"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
-msgid "Analog Controls\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Artwork Crop"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
-msgid "Keyboard Inputs\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Use Backdrops"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
-msgid "Overall\tNOT WORKING\n"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Use Overlays"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
-msgid "Overall\tUnemulated Protection\n"
+#: src/frontend/mame/ui/submenu.cpp:60
+msgid "Use Bezels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
-msgid "Overall\tWorking\n"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Use Control Panels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
-msgid "Graphics\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:62
+msgid "Use Marquees"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
-msgid "Graphics\tWrong Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
-msgid "Graphics\tImperfect Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
-msgid "Graphics\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
-msgid "Graphics\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Bilinear snapshot"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
-msgid "Sound\tNone\n"
+#: src/frontend/mame/ui/submenu.cpp:69
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
-msgid "Sound\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
-msgid "Sound\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:72
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
-msgid "Sound\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
-msgid "Capture\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
-msgid "Capture\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
-msgid "Camera\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
-msgid "Camera\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
-msgid "Microphone\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
-msgid "Microphone\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:79
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
-msgid "Controls\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
-msgid "Controls\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
-msgid "Keyboard\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Joystick saturation"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
-msgid "Keyboard\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Natural keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
-msgid "Mouse\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
-msgid "Mouse\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
-msgid "Media\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
-msgid "Media\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Lightgun Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
-msgid "Disk\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Trackball Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
-msgid "Disk\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
-msgid "Printer\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
-msgid "Printer\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
-msgid "Mag. Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:95
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
-msgid "Mag. Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:96
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
-msgid "Punch Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:97
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
-msgid "Punch Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
-msgid "Mag. Drum\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:103
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
-msgid "Mag. Drum\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
-msgid "(EP)ROM\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
-msgid "(EP)ROM\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
-msgid "Communications\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:109
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
-msgid "Communications\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:110
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
-msgid "LAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:111
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
-msgid "LAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:112
+msgid "Enforce Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
-msgid "WAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:113
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
-msgid "WAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:114
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
-msgid "Timing\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
-msgid "Timing\tImperfect\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tYes\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Select position to load from"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tNo\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tYes\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Select position to save to"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tNo\n"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:309 src/frontend/mame/ui/selsoft.cpp:211
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:314 src/frontend/mame/ui/selgame.cpp:320
+#: src/frontend/mame/ui/selsoft.cpp:216
+#, c-format
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:437
+msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:849
+#, c-format
+msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:850
+#, c-format
+msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:851
+#, c-format
+msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:855
+#, c-format
+msgid "Driver is Clone of\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:857
+msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tVertical\n"
+#: src/frontend/mame/ui/selgame.cpp:860
+msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tHorizontal\n"
+#: src/frontend/mame/ui/selgame.cpp:862
+msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:865
+msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:867
+msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
-msgid "ROM Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:869
+msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
-msgid "ROM Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:872
+msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
-msgid "Samples Audit Result\tNone Needed\n"
+#: src/frontend/mame/ui/selgame.cpp:874
+msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
-msgid "Samples Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:876
+msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
-msgid "Samples Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:878
+msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
-msgid ""
-"ROM Audit \tDisabled\n"
-"Samples Audit \tDisabled\n"
+#: src/frontend/mame/ui/selgame.cpp:880
+msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
+#: src/frontend/mame/ui/selgame.cpp:883
+msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1424
-#, c-format
-msgid "Romset: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:885
+msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
-#, c-format
-msgid "System: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:887
+msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1465
-msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
+#: src/frontend/mame/ui/selgame.cpp:889
+msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
+#: src/frontend/mame/ui/selgame.cpp:892
+msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
+#: src/frontend/mame/ui/selgame.cpp:894
+msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
+#: src/frontend/mame/ui/selgame.cpp:897
+msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
+#: src/frontend/mame/ui/selgame.cpp:899
+msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
+#: src/frontend/mame/ui/selgame.cpp:902
+msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selgame.cpp:904
+msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selgame.cpp:907
+msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/selgame.cpp:909
+msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/selgame.cpp:912
+msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/selgame.cpp:914
+msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/selgame.cpp:917
+msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/selgame.cpp:919
+msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/selgame.cpp:922
+msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/selgame.cpp:924
+msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/selgame.cpp:927
+msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/selgame.cpp:929
+msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/selgame.cpp:932
+msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/selgame.cpp:934
+msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/selgame.cpp:937
+msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/selgame.cpp:939
+msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/selgame.cpp:970
+msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/selgame.cpp:972
+msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/selgame.cpp:975
+msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/selgame.cpp:977
+msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/selgame.cpp:979
+msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/selgame.cpp:983
+msgid ""
+"ROM Audit \tDisabled\n"
+"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/selgame.cpp:1167
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/selgame.cpp:1183 src/frontend/mame/ui/selsoft.cpp:555
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/selgame.cpp:1185 src/frontend/mame/ui/selsoft.cpp:557
+#, c-format
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/selgame.cpp:1195
+#, c-format
+msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/selgame.cpp:1202
+#, c-format
+msgid "System: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/selgame.cpp:1239
+msgid ""
+"The selected machine is missing one or more required ROM or CHD images. "
+"Please select a different machine.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/selgame.cpp:1245 src/frontend/mame/ui/selsoft.cpp:462
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/utils.cpp:57 src/frontend/mame/ui/utils.cpp:81
+msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/utils.cpp:58 src/frontend/mame/ui/utils.cpp:82
+msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/utils.cpp:59 src/frontend/mame/ui/utils.cpp:83
+msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/utils.cpp:60
+msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/utils.cpp:61
+msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/utils.cpp:62
+msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:63
+msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:64
+msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:65
+msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:67
+msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:84
+msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/utils.cpp:85
+msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:70
+msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:86
+msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/utils.cpp:72
+msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/utils.cpp:73
+msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/utils.cpp:74
+msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/utils.cpp:75
+msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/utils.cpp:76
+msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/utils.cpp:77
+msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/utils.cpp:78 src/frontend/mame/ui/utils.cpp:94
+msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/utils.cpp:87
+msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/utils.cpp:88
+msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/utils.cpp:89
+msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/utils.cpp:90
+msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/utils.cpp:91
+msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:43
-#, c-format
-msgid ""
-"[This option is currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"The selected option enables the following items:\n"
+#: src/frontend/mame/ui/utils.cpp:92
+msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:44
-#, c-format
-msgid ""
-"[This option is NOT currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"If you select this option, the following items will be enabled:\n"
+#: src/frontend/mame/ui/utils.cpp:93
+msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/utils.cpp:244
+msgid "<set up filters>"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:352
+msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/utils.cpp:503
#, c-format
-msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
-msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:518
+msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %3$d.%4$06d MHz\n"
+#: src/frontend/mame/ui/utils.cpp:520
+msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:959
+msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/utils.cpp:990
+msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/utils.cpp:998
+msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:103
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1032
+msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1037
+msgid "File"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/utils.cpp:1041
+msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
-#, c-format
-msgid " %1$d×%2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1046
+msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1047
+msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:168
-#, c-format
+#: src/frontend/mame/ui/selsoft.cpp:456
msgid ""
-"* BIOS settings:\n"
-" %1$d options [default: %2$s]\n"
+"The selected software is missing one or more required files. Please select a "
+"different software.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:208 src/frontend/mame/ui/devopt.cpp:224
-#: src/frontend/mame/ui/devopt.cpp:269
+#: src/frontend/mame/ui/selsoft.cpp:549
#, c-format
-msgid " %1$s [default: %2$s]\n"
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
+#: src/frontend/mame/ui/selsoft.cpp:550
#, c-format
-msgid " %1$s\n"
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:260
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:419
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/filesel.cpp:515
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:516
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:518
+msgid "Read-write"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
-#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:519
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:520
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:117
+msgid "Cannot save over directory"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:150
+msgid ""
+"The software selected is missing one or more required ROM or CHD images. "
+"Please select a different one."
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:294
+msgid "Return to Machine"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
-#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:299 src/frontend/mame/ui/menu.cpp:301
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+#: src/frontend/mame/ui/menu.cpp:306 src/frontend/mame/ui/menu.cpp:308
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
-#, c-format
-msgid " %1$s [tag: %2$s]\n"
+#: src/frontend/mame/ui/menu.cpp:742
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
+#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:653
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+#: src/frontend/mame/ui/cheatopt.cpp:105
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/cheatopt.cpp:136
+msgid "Autofire Settings"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:581
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:582
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
+#: src/frontend/mame/ui/cheatopt.cpp:273
+msgid "Autofire Status"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
+#: src/frontend/mame/ui/cheatopt.cpp:316
+msgid "No buttons found on this machine!"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+#: src/frontend/mame/ui/cheatopt.cpp:327 src/frontend/mame/ui/cheatopt.cpp:331
+msgid "Autofire Delay"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
-msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
+#: src/frontend/mame/ui/ui.cpp:337
+msgid "This driver requires images to be loaded in the following device(s): "
msgstr ""
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
+#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
+msgid "Keyboard Emulation Status"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
+#: src/frontend/mame/ui/ui.cpp:1086
+msgid "Mode: PARTIAL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
+#: src/frontend/mame/ui/ui.cpp:1087
+msgid "UI: Enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
+#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
+msgid "**Use ScrLock to toggle**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
+#: src/frontend/mame/ui/ui.cpp:1096
+msgid "Mode: FULL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: src/frontend/mame/ui/ui.cpp:1097
+msgid "UI: Disabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
+#: src/frontend/mame/ui/ui.cpp:1249
+msgid "Autofire can't be enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
+#: src/frontend/mame/ui/ui.cpp:1302
+#, c-format
+msgid ""
+"Are you sure you want to quit?\n"
+"\n"
+"Press ''%1$s'' to quit,\n"
+"Press ''%2$s'' to return to emulation."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
+#: src/frontend/mame/ui/ui.cpp:1374
+msgid "Master Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
+#: src/frontend/mame/ui/ui.cpp:1383
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/ui.cpp:1407
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/ui.cpp:1416
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/ui.cpp:1437
+#, c-format
+msgid "%1$s Refresh Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, c-format
+msgid "%1$s Brightness"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1444
+#, c-format
+msgid "%1$s Contrast"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1446
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/ui.cpp:1450
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/ui.cpp:1452
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/ui.cpp:1454
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/ui.cpp:1456
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/ui.cpp:1475
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/ui.cpp:1477
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/ui.cpp:1479
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
-msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+#: src/frontend/mame/ui/ui.cpp:1481
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:198
-msgid ""
-"There are known problems with this machine\n"
-"\n"
+#: src/frontend/mame/ui/ui.cpp:1493
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/ui.cpp:1494
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/ui.cpp:1495
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
+#: src/frontend/mame/ui/ui.cpp:1496
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#: src/frontend/mame/ui/info.cpp:275
+#: src/frontend/mame/ui/ui.cpp:1511
#, c-format
-msgid ", %s"
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
+#: src/frontend/mame/ui/ui.cpp:1513
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:243
-msgid ""
-"This machine was never completed. It may exhibit strange behavior or missing "
-"elements that are not bugs in the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1601
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:245
-msgid ""
-"This machine has no sound hardware, MAME will produce no sounds, this is "
-"expected behaviour.\n"
+#: src/frontend/mame/ui/ui.cpp:1645
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:249
-msgid ""
-"\n"
-"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
-"complete. There is nothing you can do to fix this problem except wait for "
-"the developers to improve the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1661
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:251
-msgid ""
-"\n"
-"Elements of this machine cannot be emulated as they requires physical "
-"interaction or consist of mechanical devices. It is not possible to fully "
-"experience this machine.\n"
+#: src/frontend/mame/ui/ui.cpp:1685
+#, c-format
+msgid "%1$.3ffps"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
+#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
+#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
+#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
+#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
+#: src/frontend/mame/ui/ui.cpp:1927
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
+#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/ui.cpp:2005
#, c-format
-msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/ui.cpp:2226
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " COLORS"
+msgstr ""
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:39
#, c-format
-msgid "%1$s: %2$s\n"
+msgid ""
+"[This option is currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"The selected option enables the following items:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+#: src/frontend/mame/ui/devopt.cpp:40
+#, c-format
+msgid ""
+"[This option is NOT currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"If you select this option, the following items will be enabled:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:48
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
#, c-format
-msgid "Screen '%1$s'"
+msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
+msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:85
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:90
+#, c-format
+msgid " Screen '%1$s': Vector\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:99
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:100
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:113
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:133
+#, c-format
+msgid " %1$d×%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:164
+#, c-format
+msgid ""
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:204 src/frontend/mame/ui/devopt.cpp:220
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
+#: src/frontend/mame/ui/devopt.cpp:209 src/frontend/mame/ui/devopt.cpp:225
#, c-format
-msgid "Software is clone of: %1$-.100s"
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: src/frontend/mame/ui/devopt.cpp:230
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: src/frontend/mame/ui/devopt.cpp:232
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: src/frontend/mame/ui/devopt.cpp:234
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: src/frontend/mame/ui/devopt.cpp:236
+#, c-format
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
+#: src/frontend/mame/ui/devopt.cpp:238
#, c-format
-msgid "romset: %1$-.100s"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
+#: src/frontend/mame/ui/devopt.cpp:240
#, c-format
-msgid "Driver is clone of: %1$-.100s"
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: src/frontend/mame/ui/devopt.cpp:242
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
+#: src/frontend/mame/ui/devopt.cpp:244
#, c-format
-msgid "%1$s %2$s"
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: src/frontend/mame/ui/devopt.cpp:246
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: src/frontend/mame/ui/devopt.cpp:248
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: src/frontend/mame/ui/devopt.cpp:257
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: src/frontend/mame/ui/devopt.cpp:263
+msgid "* Slot Options:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:270
+msgid "[None]\n"
msgstr ""
#: plugins/timer/init.lua:94
@@ -2671,51 +2590,51 @@ msgstr ""
msgid "Timer"
msgstr ""
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:510
msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheat/init.lua:534
+#: plugins/cheat/init.lua:516
msgid "Press button for hotkey or wait to clear"
msgstr ""
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:528
msgid "None"
msgstr ""
-#: plugins/cheat/init.lua:551
+#: plugins/cheat/init.lua:533
msgid "Done"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:547 plugins/cheat/init.lua:561
msgid "Set"
msgstr ""
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:580
msgid "Set hotkeys"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:720
#, lua-format
msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:723 plugins/cheat/init.lua:781
#, lua-format
msgid "Activated: %s"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:785
#, lua-format
msgid "Enabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:790
#, lua-format
msgid "Disabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "%s added"
msgstr ""
@@ -2764,303 +2683,218 @@ msgstr ""
msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:404
+#: plugins/cheatfind/init.lua:373
msgid "Save Cheat"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Default"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Custom"
msgstr ""
-#: plugins/cheatfind/init.lua:408
+#: plugins/cheatfind/init.lua:377
msgid "Cheat Name"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/cheatfind/init.lua:383 plugins/cheatfind/init.lua:748
#, lua-format
msgid "Default name is %s"
msgstr ""
-#: plugins/cheatfind/init.lua:422
+#: plugins/cheatfind/init.lua:391
msgid "Player"
msgstr ""
-#: plugins/cheatfind/init.lua:427
+#: plugins/cheatfind/init.lua:396
msgid "Type"
msgstr ""
-#: plugins/cheatfind/init.lua:433
+#: plugins/cheatfind/init.lua:402
msgid "Save"
msgstr ""
-#: plugins/cheatfind/init.lua:462
+#: plugins/cheatfind/init.lua:429
#, lua-format
msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:472
+#: plugins/cheatfind/init.lua:437
msgid "Cheat added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:442
msgid ""
"Unable to write file\n"
"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/cheatfind/init.lua:486
+#: plugins/cheatfind/init.lua:451
msgid "Cancel"
msgstr ""
-#: plugins/cheatfind/init.lua:491
+#: plugins/cheatfind/init.lua:456
msgid "CPU or RAM"
msgstr ""
-#: plugins/cheatfind/init.lua:495
+#: plugins/cheatfind/init.lua:460
msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:479
+msgid "Data cleared and current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:487
+msgid "Start new search"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:497
+msgid "Current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:504
+msgid "Save current -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
+#: plugins/cheatfind/init.lua:536
#, lua-format
-msgid "Memory State saved to Slot %d"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:543
+msgid "Compare"
msgstr ""
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
+#: plugins/cheatfind/init.lua:546
+msgid "Left operand"
+msgstr ""
+
+#: plugins/cheatfind/init.lua:549
+msgid "Current"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:554
+msgid "Operator"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:561
+msgid "Left less than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:563
+msgid "Left greater than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:676
+#: plugins/cheatfind/init.lua:565
msgid "Left equal to right"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:567
+msgid "Left not equal to right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:680
+#: plugins/cheatfind/init.lua:569
msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:682
+#: plugins/cheatfind/init.lua:571
msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:684
+#: plugins/cheatfind/init.lua:573
msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:686
+#: plugins/cheatfind/init.lua:575
msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:688
+#: plugins/cheatfind/init.lua:577
msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:690
+#: plugins/cheatfind/init.lua:579
msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/cheatfind/init.lua:590
+msgid "Right operand"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/cheatfind/init.lua:598
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:719
+#: plugins/cheatfind/init.lua:602
msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:725
+#: plugins/cheatfind/init.lua:608
msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:738
-msgid ""
-"Use this if you want to poke the Slot 1 value (eg. You started with "
-"something but lost it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:740
-msgid ""
-"Use this if you want to poke the Last Slot value (eg. You started without an "
-"item but finally got it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:816
+#: plugins/cheatfind/init.lua:632
msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:820
+#: plugins/cheatfind/init.lua:636
msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:823
+#: plugins/cheatfind/init.lua:639
msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheatfind/init.lua:690
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Test cheat at addr %08X"
msgstr ""
-#: plugins/cheatfind/init.lua:974
+#: plugins/cheatfind/init.lua:722
msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
+#: plugins/cheatfind/init.lua:788
msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
+#: plugins/cheatfind/init.lua:806
msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
+#: plugins/cheatfind/init.lua:816
msgid "Cheat Finder"
msgstr ""
-#: plugins/portname/init.lua:103
+#: plugins/portname/init.lua:69
msgid "Save input names to file"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
+#: plugins/portname/init.lua:100 plugins/portname/init.lua:105
+#: plugins/portname/init.lua:121
msgid "Failed to save input name file"
msgstr ""
-#: plugins/portname/init.lua:167
+#: plugins/portname/init.lua:133
#, lua-format
msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/portname/init.lua:172
+#: plugins/portname/init.lua:138
msgid "Input ports"
msgstr ""
diff --git a/language/Burmese/strings.po b/language/Burmese/strings.po
index 506a275ef99..c5ca8655854 100644
--- a/language/Burmese/strings.po
+++ b/language/Burmese/strings.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MAME\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-03-17 13:37+1100\n"
+"POT-Creation-Date: 2018-04-28 15:32+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -16,1144 +16,1041 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
+#: src/frontend/mame/ui/auditmenu.cpp:96
#, c-format
-msgid "Screen #%d"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Enabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Disabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
-msgid "Marquees"
+#: src/frontend/mame/ui/auditmenu.cpp:99
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/auditmenu.cpp:104
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/auditmenu.cpp:130
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/auditmenu.cpp:142
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/selmenu.cpp:49 src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/selmenu.cpp:50 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/selmenu.cpp:51
+msgid "Control Panels"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/selmenu.cpp:52 src/frontend/mame/ui/dirmenu.cpp:50
+msgid "PCBs"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/selmenu.cpp:53 src/frontend/mame/ui/dirmenu.cpp:47
+msgid "Flyers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/selmenu.cpp:54 src/frontend/mame/ui/dirmenu.cpp:48
+msgid "Titles"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/selmenu.cpp:55 src/frontend/mame/ui/dirmenu.cpp:49
+msgid "Ends"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/selmenu.cpp:56
+msgid "Artwork Preview"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/selmenu.cpp:57 src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Bosses"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/selmenu.cpp:58 src/frontend/mame/ui/dirmenu.cpp:60
+msgid "Logos"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/selmenu.cpp:59 src/frontend/mame/ui/dirmenu.cpp:62
+msgid "Versus"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/selmenu.cpp:60
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/selmenu.cpp:61 src/frontend/mame/ui/dirmenu.cpp:59
+msgid "HowTo"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/selmenu.cpp:62 src/frontend/mame/ui/dirmenu.cpp:61
+msgid "Scores"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/selmenu.cpp:63 src/frontend/mame/ui/dirmenu.cpp:57
+msgid "Select"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/selmenu.cpp:64 src/frontend/mame/ui/dirmenu.cpp:51
+#: src/frontend/mame/ui/videoopt.cpp:224
+msgid "Marquees"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/selmenu.cpp:65 src/frontend/mame/ui/dirmenu.cpp:63
+msgid "Covers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/selmenu.cpp:69
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/selmenu.cpp:70
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/selmenu.cpp:71
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/selmenu.cpp:237
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/selmenu.cpp:343
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/selmenu.cpp:570 src/frontend/mame/ui/selmenu.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:311
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/selmenu.cpp:574
+#, c-format
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/selmenu.cpp:576
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/selmenu.cpp:581
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/selmenu.cpp:586
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/selmenu.cpp:591
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selmenu.cpp:596
+#, c-format
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selmenu.cpp:612
#, c-format
-msgid "Current %1$s Folders"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selmenu.cpp:614
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selmenu.cpp:619
+#: src/frontend/mame/ui/simpleselgame.cpp:330
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selmenu.cpp:621
+#: src/frontend/mame/ui/simpleselgame.cpp:332
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:623
+#: src/frontend/mame/ui/simpleselgame.cpp:334
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:627
+#: src/frontend/mame/ui/simpleselgame.cpp:338
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/selmenu.cpp:629
+#: src/frontend/mame/ui/simpleselgame.cpp:340
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/selmenu.cpp:631
+#: src/frontend/mame/ui/simpleselgame.cpp:342
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/selmenu.cpp:634
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/selmenu.cpp:636
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/selmenu.cpp:638
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/selmenu.cpp:640
+#: src/frontend/mame/ui/simpleselgame.cpp:351
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/selmenu.cpp:650
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/selmenu.cpp:1975
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/selmenu.cpp:1976
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/selmenu.cpp:2386 src/frontend/mame/ui/miscmenu.cpp:826
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/selmenu.cpp:2454
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/selmenu.cpp:2489
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/dirmenu.cpp:35
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/dirmenu.cpp:36
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
-#: src/frontend/mame/ui/slotopt.cpp:220
-msgid "[empty slot]"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/dirmenu.cpp:40
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/dirmenu.cpp:52
+msgid "Controls Panels"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/dirmenu.cpp:53
+msgid "Crosshairs"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Artworks"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks Preview"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "GameOver"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/dirmenu.cpp:116
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/dirmenu.cpp:167
+#, c-format
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/dirmenu.cpp:182
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/dirmenu.cpp:429
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/dirmenu.cpp:513
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/info.cpp:30
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "LAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/info.cpp:180
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/info.cpp:190
+msgid ""
+"There are known problems with this machine\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/info.cpp:195
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/info.cpp:200
+msgid "Completely unemulated features: "
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#, c-format
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#: src/frontend/mame/ui/info.cpp:267
+#, c-format
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/info.cpp:216
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/info.cpp:231
+msgid "Screen flipping in cocktail mode is not supported.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/info.cpp:233
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/info.cpp:235
+msgid ""
+"This machine was never completed. It may exhibit strange behavior or missing "
+"elements that are not bugs in the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/info.cpp:237
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/info.cpp:241
+msgid ""
+"\n"
+"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
+"complete. There is nothing you can do to fix this problem except wait for "
+"the developers to improve the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/info.cpp:243
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they requires physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/info.cpp:265
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/info.cpp:278
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/info.cpp:293
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:149
+#: src/frontend/mame/ui/info.cpp:342
msgid ""
-"The selected game is missing one or more required ROM or CHD images. Please "
-"select a different game.\n"
"\n"
-"Press any key to continue."
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:247
-#, c-format
+#: src/frontend/mame/ui/info.cpp:370
msgid ""
-"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
"\n"
-"If this is your first time using %2$s, please see the config.txt file in the "
-"docs directory for information on configuring %2$s."
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+"Video:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/info.cpp:374
+msgid "None\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/info.cpp:381
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:314
-#: src/frontend/mame/ui/selsoft.cpp:652 src/frontend/mame/ui/selsoft.cpp:659
+#: src/frontend/mame/ui/info.cpp:392
#, c-format
-msgid "%1$-.100s"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:317
-#: src/frontend/mame/ui/selmenu.cpp:618 src/frontend/mame/ui/selmenu.cpp:654
-#, c-format
-msgid "%1$s, %2$-.100s"
+#: src/frontend/mame/ui/info.cpp:392
+msgid "%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
+#: src/frontend/mame/ui/info.cpp:438
#, c-format
-msgid "Driver: %1$-.100s"
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+msgid "Screen '%1$s'"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/info.cpp:440
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/info.cpp:525
+msgid "Not supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/info.cpp:528
+msgid "Partially supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/info.cpp:536
+msgid "[empty]"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/optsmenu.cpp:193
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/optsmenu.cpp:206
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/optsmenu.cpp:207
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/optsmenu.cpp:210 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/optsmenu.cpp:213
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/optsmenu.cpp:216
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/optsmenu.cpp:228
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:337
-msgid "This driver requires images to be loaded in the following device(s): "
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
+msgid "Rewind"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1302
-#, c-format
-msgid ""
-"Are you sure you want to quit?\n"
-"\n"
-"Press ''%1$s'' to quit,\n"
-"Press ''%2$s'' to return to emulation."
+#: src/frontend/mame/ui/inputmap.cpp:53
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/inputmap.cpp:59
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
+#: src/frontend/mame/ui/inputmap.cpp:628 src/frontend/mame/ui/miscmenu.cpp:96
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/selector.cpp:116
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
+#: src/frontend/mame/ui/selector.cpp:124
#, c-format
-msgid "Overclock %1$s sound"
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/filesel.cpp:256
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/swlist.cpp:88
+msgid "[file manager]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/swlist.cpp:228
+msgid "Switch Item Ordering"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
+#: src/frontend/mame/ui/swlist.cpp:259
#, c-format
-msgid "%1$s Horiz Stretch"
+msgid "Switched Order: entries now ordered by %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "shortname"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "description"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/swlist.cpp:389
+msgid "[compatible lists]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/datmenu.cpp:80
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/datmenu.cpp:362
+msgid "Revision: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/simpleselgame.cpp:149
+msgid ""
+"The selected game is missing one or more required ROM or CHD images. Please "
+"select a different game.\n"
+"\n"
+"Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
+#: src/frontend/mame/ui/simpleselgame.cpp:241
#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+msgid ""
+"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
+"\n"
+"If this is your first time using %2$s, please see the config.txt file in the "
+"docs directory for information on configuring %2$s."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/simpleselgame.cpp:271
+#: src/frontend/mame/ui/selgame.cpp:436
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/simpleselgame.cpp:292
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/simpleselgame.cpp:294
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
+#: src/frontend/mame/ui/simpleselgame.cpp:308
+#: src/frontend/mame/ui/selsoft.cpp:564 src/frontend/mame/ui/selsoft.cpp:571
#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/simpleselgame.cpp:314
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
+#: src/frontend/mame/ui/videoopt.cpp:56
#, c-format
-msgid "Crosshair Offset %1$s"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/videoopt.cpp:208
+msgid "Backdrops"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Enabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Disabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
-#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
-#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
-#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
-#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
-#: src/frontend/mame/ui/ui.cpp:1927
-#, c-format
-msgid "%1$.3f"
+#: src/frontend/mame/ui/videoopt.cpp:212
+msgid "Overlays"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
-#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
-#, c-format
-msgid "%1$1.2f"
+#: src/frontend/mame/ui/videoopt.cpp:216
+msgid "Bezels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:220
+msgid "CPanels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "View"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cropped"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Full"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1047
+msgid "No"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
-msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1047
+msgid "Yes"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
-msgid ""
-"Cheat Comment:\n"
-"%s"
+#: src/frontend/mame/ui/filecreate.cpp:171
+msgid "New Image Name:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/filecreate.cpp:177
+msgid "Image Format:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/filecreate.cpp:183
+msgid "Create"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/filecreate.cpp:266
+msgid "Select image format"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Keyboard Mode:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Natural"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Emulated"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
+#: src/frontend/mame/ui/miscmenu.cpp:236
#, c-format
msgid ""
-"%s\n"
-" added to favorites list."
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
+#: src/frontend/mame/ui/miscmenu.cpp:238
#, c-format
msgid ""
-"%s\n"
-" removed from favorites list."
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/miscmenu.cpp:242
+#, c-format
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
+"Tickets dispensed: %1$d\n"
"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
+#: src/frontend/mame/ui/miscmenu.cpp:253
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/miscmenu.cpp:253
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
-#, c-format
-msgid "Driver: \"%1$s\" software list "
+#: src/frontend/mame/ui/miscmenu.cpp:256
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
-#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+#: src/frontend/mame/ui/miscmenu.cpp:503
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/miscmenu.cpp:601
#, c-format
-msgid "Search: %1$s_"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
-msgid "Unfiltered"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
-msgid "Available"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
-msgid "Unavailable"
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
-msgid "Working"
+#: src/frontend/mame/ui/miscmenu.cpp:627
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
-msgid "Not Working"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
-msgid "Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:655
+msgid "Export list in XML format (like -listxml)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
-msgid "Not Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:656
+msgid "Export list in XML format (like -listxml, but exclude devices)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
-msgid "Category"
+#: src/frontend/mame/ui/miscmenu.cpp:657
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
-msgid "Favorites"
+#: src/frontend/mame/ui/miscmenu.cpp:710 src/frontend/mame/ui/ui.cpp:2230
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/miscmenu.cpp:760 src/frontend/mame/ui/utils.cpp:66
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
-msgid "Not BIOS"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
-msgid "Parents"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
-msgid "Clones"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:73
-msgid "Manufacturer"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
-msgid "Year"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:75
-msgid "Save Supported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:76
-msgid "Save Unsupported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:77
-msgid "CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:78
-msgid "No CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:79
-msgid "Vertical Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:80
-msgid "Horizontal Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
-msgid "Custom Filter"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:91
-msgid "Publisher"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:92
-msgid "Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:764
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
-msgid "Partially Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:767
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
-msgid "Unsupported"
+#: src/frontend/mame/ui/miscmenu.cpp:776 src/frontend/mame/ui/mainmenu.cpp:145
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
-msgid "Release Region"
+#: src/frontend/mame/ui/miscmenu.cpp:778 src/frontend/mame/ui/mainmenu.cpp:147
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
-msgid "Device Type"
+#: src/frontend/mame/ui/miscmenu.cpp:781
+msgid "Save machine configuration"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
-msgid "Software List"
+#: src/frontend/mame/ui/miscmenu.cpp:792
+msgid "Configure machine:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
-msgid "<set up filters>"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:736
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:551 plugins/cheatfind/init.lua:619
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
-msgid "Select custom filters:"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:739
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:554 plugins/cheat/init.lua:563
+#: plugins/cheatfind/init.lua:616
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
-#, c-format
-msgid "Filter %1$u"
+#: src/frontend/mame/ui/miscmenu.cpp:909 src/frontend/mame/ui/selgame.cpp:441
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
-msgid "Remove last filter"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
-msgid "Add filter"
+#: src/frontend/mame/ui/barcode.cpp:78
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
-msgid "Select category:"
+#: src/frontend/mame/ui/barcode.cpp:119
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
-msgid "[no category INI files]"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:99
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
-msgid "[no groups in INI file]"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
-msgid "No category INI files found"
+#: src/frontend/mame/ui/mainmenu.cpp:60
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
-msgid "File"
+#: src/frontend/mame/ui/mainmenu.cpp:62
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
-msgid "No groups found in category file"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
-msgid "Group"
+#: src/frontend/mame/ui/mainmenu.cpp:68
+msgid "Dip Switches"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
-msgid "Include clones"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
+#: src/frontend/mame/ui/mainmenu.cpp:78
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/mainmenu.cpp:85
+msgid "Image Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/mainmenu.cpp:96
+msgid "Tape Control"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/mainmenu.cpp:102
+msgid "BIOS Selection"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/mainmenu.cpp:106
+msgid "Slot Devices"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
-#, c-format
-msgid "%s [internal]"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Barcode Reader"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:203 src/frontend/mame/ui/miscmenu.cpp:97
-#: src/frontend/mame/ui/inputmap.cpp:615
-msgid "Reset"
+#: src/frontend/mame/ui/mainmenu.cpp:114
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/mainmenu.cpp:118
+msgid "Keyboard Mode"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/mainmenu.cpp:121
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/mainmenu.cpp:124 src/frontend/mame/ui/submenu.cpp:101
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/mainmenu.cpp:128
+msgid "Crosshair Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/mainmenu.cpp:132 plugins/cheat/init.lua:735
+msgid "Cheat"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:762
-#: plugins/cheat/init.lua:569 plugins/cheatfind/init.lua:792
-#: plugins/cheatfind/init.lua:803
-msgid "On"
+#: src/frontend/mame/ui/mainmenu.cpp:135
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:765
-#: plugins/cheat/init.lua:572 plugins/cheat/init.lua:581
-#: plugins/cheatfind/init.lua:789 plugins/cheatfind/init.lua:800
-msgid "Off"
+#: src/frontend/mame/ui/mainmenu.cpp:139
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/mainmenu.cpp:154
+msgid "Select New Machine"
msgstr ""
#: src/frontend/mame/ui/custui.cpp:31
@@ -1376,1281 +1273,1303 @@ msgstr ""
msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/submenu.cpp:22
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/submenu.cpp:23
+msgid "Re-select last machine played"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/submenu.cpp:24
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:26
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:27
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:28
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:29
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:30
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
-#, c-format
-msgid "%s.txt saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/submenu.cpp:45
+msgid "Refresh speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/submenu.cpp:47
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/submenu.cpp:49
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
-msgid "Configure Machine"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
-#, c-format
-msgid "Romset\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
-#, c-format
-msgid "Year\t%1$s\n"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
-#, c-format
-msgid "Manufacturer\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
-#, c-format
-msgid "Driver is Clone of\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1044
-msgid "Driver is Parent\t\n"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
-msgid "Analog Controls\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Artwork Crop"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
-msgid "Keyboard Inputs\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Use Backdrops"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
-msgid "Overall\tNOT WORKING\n"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Use Overlays"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
-msgid "Overall\tUnemulated Protection\n"
+#: src/frontend/mame/ui/submenu.cpp:60
+msgid "Use Bezels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
-msgid "Overall\tWorking\n"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Use Control Panels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
-msgid "Graphics\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:62
+msgid "Use Marquees"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
-msgid "Graphics\tWrong Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
-msgid "Graphics\tImperfect Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
-msgid "Graphics\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
-msgid "Graphics\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Bilinear snapshot"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
-msgid "Sound\tNone\n"
+#: src/frontend/mame/ui/submenu.cpp:69
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
-msgid "Sound\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
-msgid "Sound\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:72
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
-msgid "Sound\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
-msgid "Capture\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
-msgid "Capture\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
-msgid "Camera\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
-msgid "Camera\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
-msgid "Microphone\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
-msgid "Microphone\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:79
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
-msgid "Controls\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
-msgid "Controls\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
-msgid "Keyboard\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Joystick saturation"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
-msgid "Keyboard\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Natural keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
-msgid "Mouse\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
-msgid "Mouse\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
-msgid "Media\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
-msgid "Media\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Lightgun Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
-msgid "Disk\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Trackball Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
-msgid "Disk\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
-msgid "Printer\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
-msgid "Printer\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
-msgid "Mag. Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:95
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
-msgid "Mag. Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:96
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
-msgid "Punch Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:97
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
-msgid "Punch Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
-msgid "Mag. Drum\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:103
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
-msgid "Mag. Drum\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
-msgid "(EP)ROM\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
-msgid "(EP)ROM\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
-msgid "Communications\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:109
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
-msgid "Communications\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:110
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
-msgid "LAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:111
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
-msgid "LAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:112
+msgid "Enforce Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
-msgid "WAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:113
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
-msgid "WAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:114
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
-msgid "Timing\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
-msgid "Timing\tImperfect\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tYes\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Select position to load from"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tNo\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tYes\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Select position to save to"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tNo\n"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:309 src/frontend/mame/ui/selsoft.cpp:211
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:314 src/frontend/mame/ui/selgame.cpp:320
+#: src/frontend/mame/ui/selsoft.cpp:216
+#, c-format
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:437
+msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:849
+#, c-format
+msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:850
+#, c-format
+msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:851
+#, c-format
+msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:855
+#, c-format
+msgid "Driver is Clone of\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:857
+msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tVertical\n"
+#: src/frontend/mame/ui/selgame.cpp:860
+msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tHorizontal\n"
+#: src/frontend/mame/ui/selgame.cpp:862
+msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:865
+msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:867
+msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
-msgid "ROM Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:869
+msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
-msgid "ROM Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:872
+msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
-msgid "Samples Audit Result\tNone Needed\n"
+#: src/frontend/mame/ui/selgame.cpp:874
+msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
-msgid "Samples Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:876
+msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
-msgid "Samples Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:878
+msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
-msgid ""
-"ROM Audit \tDisabled\n"
-"Samples Audit \tDisabled\n"
+#: src/frontend/mame/ui/selgame.cpp:880
+msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
+#: src/frontend/mame/ui/selgame.cpp:883
+msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1424
-#, c-format
-msgid "Romset: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:885
+msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
-#, c-format
-msgid "System: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:887
+msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1465
-msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
+#: src/frontend/mame/ui/selgame.cpp:889
+msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
+#: src/frontend/mame/ui/selgame.cpp:892
+msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
+#: src/frontend/mame/ui/selgame.cpp:894
+msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
+#: src/frontend/mame/ui/selgame.cpp:897
+msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
+#: src/frontend/mame/ui/selgame.cpp:899
+msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
+#: src/frontend/mame/ui/selgame.cpp:902
+msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selgame.cpp:904
+msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selgame.cpp:907
+msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/selgame.cpp:909
+msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/selgame.cpp:912
+msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/selgame.cpp:914
+msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/selgame.cpp:917
+msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/selgame.cpp:919
+msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/selgame.cpp:922
+msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/selgame.cpp:924
+msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/selgame.cpp:927
+msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/selgame.cpp:929
+msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/selgame.cpp:932
+msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/selgame.cpp:934
+msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/selgame.cpp:937
+msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/selgame.cpp:939
+msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/selgame.cpp:970
+msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/selgame.cpp:972
+msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/selgame.cpp:975
+msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/selgame.cpp:977
+msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/selgame.cpp:979
+msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/selgame.cpp:983
+msgid ""
+"ROM Audit \tDisabled\n"
+"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/selgame.cpp:1167
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/selgame.cpp:1183 src/frontend/mame/ui/selsoft.cpp:555
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/selgame.cpp:1185 src/frontend/mame/ui/selsoft.cpp:557
+#, c-format
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/selgame.cpp:1195
+#, c-format
+msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/selgame.cpp:1202
+#, c-format
+msgid "System: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/selgame.cpp:1239
+msgid ""
+"The selected machine is missing one or more required ROM or CHD images. "
+"Please select a different machine.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/selgame.cpp:1245 src/frontend/mame/ui/selsoft.cpp:462
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/utils.cpp:57 src/frontend/mame/ui/utils.cpp:81
+msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/utils.cpp:58 src/frontend/mame/ui/utils.cpp:82
+msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/utils.cpp:59 src/frontend/mame/ui/utils.cpp:83
+msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/utils.cpp:60
+msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/utils.cpp:61
+msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/utils.cpp:62
+msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:63
+msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:64
+msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:65
+msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:67
+msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:84
+msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/utils.cpp:85
+msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:70
+msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:86
+msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/utils.cpp:72
+msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/utils.cpp:73
+msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/utils.cpp:74
+msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/utils.cpp:75
+msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/utils.cpp:76
+msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/utils.cpp:77
+msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/utils.cpp:78 src/frontend/mame/ui/utils.cpp:94
+msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/utils.cpp:87
+msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/utils.cpp:88
+msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/utils.cpp:89
+msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/utils.cpp:90
+msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/utils.cpp:91
+msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:43
-#, c-format
-msgid ""
-"[This option is currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"The selected option enables the following items:\n"
+#: src/frontend/mame/ui/utils.cpp:92
+msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:44
-#, c-format
-msgid ""
-"[This option is NOT currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"If you select this option, the following items will be enabled:\n"
+#: src/frontend/mame/ui/utils.cpp:93
+msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/utils.cpp:244
+msgid "<set up filters>"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:352
+msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/utils.cpp:503
#, c-format
-msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
-msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:518
+msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %3$d.%4$06d MHz\n"
+#: src/frontend/mame/ui/utils.cpp:520
+msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:959
+msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/utils.cpp:990
+msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/utils.cpp:998
+msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:103
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1032
+msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1037
+msgid "File"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/utils.cpp:1041
+msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
-#, c-format
-msgid " %1$d×%2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1046
+msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1047
+msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:168
-#, c-format
+#: src/frontend/mame/ui/selsoft.cpp:456
msgid ""
-"* BIOS settings:\n"
-" %1$d options [default: %2$s]\n"
+"The selected software is missing one or more required files. Please select a "
+"different software.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:208 src/frontend/mame/ui/devopt.cpp:224
-#: src/frontend/mame/ui/devopt.cpp:269
+#: src/frontend/mame/ui/selsoft.cpp:549
#, c-format
-msgid " %1$s [default: %2$s]\n"
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
+#: src/frontend/mame/ui/selsoft.cpp:550
#, c-format
-msgid " %1$s\n"
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:260
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:419
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/filesel.cpp:515
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:516
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:518
+msgid "Read-write"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
-#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:519
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:520
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:117
+msgid "Cannot save over directory"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:150
+msgid ""
+"The software selected is missing one or more required ROM or CHD images. "
+"Please select a different one."
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:294
+msgid "Return to Machine"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
-#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:299 src/frontend/mame/ui/menu.cpp:301
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+#: src/frontend/mame/ui/menu.cpp:306 src/frontend/mame/ui/menu.cpp:308
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
-#, c-format
-msgid " %1$s [tag: %2$s]\n"
+#: src/frontend/mame/ui/menu.cpp:742
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
+#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:653
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+#: src/frontend/mame/ui/cheatopt.cpp:105
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/cheatopt.cpp:136
+msgid "Autofire Settings"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:581
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:582
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
+#: src/frontend/mame/ui/cheatopt.cpp:273
+msgid "Autofire Status"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
+#: src/frontend/mame/ui/cheatopt.cpp:316
+msgid "No buttons found on this machine!"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+#: src/frontend/mame/ui/cheatopt.cpp:327 src/frontend/mame/ui/cheatopt.cpp:331
+msgid "Autofire Delay"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
-msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
+#: src/frontend/mame/ui/ui.cpp:337
+msgid "This driver requires images to be loaded in the following device(s): "
msgstr ""
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
+#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
+msgid "Keyboard Emulation Status"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
+#: src/frontend/mame/ui/ui.cpp:1086
+msgid "Mode: PARTIAL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
+#: src/frontend/mame/ui/ui.cpp:1087
+msgid "UI: Enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
+#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
+msgid "**Use ScrLock to toggle**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
+#: src/frontend/mame/ui/ui.cpp:1096
+msgid "Mode: FULL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: src/frontend/mame/ui/ui.cpp:1097
+msgid "UI: Disabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
+#: src/frontend/mame/ui/ui.cpp:1249
+msgid "Autofire can't be enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
+#: src/frontend/mame/ui/ui.cpp:1302
+#, c-format
+msgid ""
+"Are you sure you want to quit?\n"
+"\n"
+"Press ''%1$s'' to quit,\n"
+"Press ''%2$s'' to return to emulation."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
+#: src/frontend/mame/ui/ui.cpp:1374
+msgid "Master Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
+#: src/frontend/mame/ui/ui.cpp:1383
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/ui.cpp:1407
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/ui.cpp:1416
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/ui.cpp:1437
+#, c-format
+msgid "%1$s Refresh Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, c-format
+msgid "%1$s Brightness"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1444
+#, c-format
+msgid "%1$s Contrast"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1446
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/ui.cpp:1450
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/ui.cpp:1452
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/ui.cpp:1454
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/ui.cpp:1456
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/ui.cpp:1475
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/ui.cpp:1477
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/ui.cpp:1479
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
-msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+#: src/frontend/mame/ui/ui.cpp:1481
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:198
-msgid ""
-"There are known problems with this machine\n"
-"\n"
+#: src/frontend/mame/ui/ui.cpp:1493
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/ui.cpp:1494
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/ui.cpp:1495
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
+#: src/frontend/mame/ui/ui.cpp:1496
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#: src/frontend/mame/ui/info.cpp:275
+#: src/frontend/mame/ui/ui.cpp:1511
#, c-format
-msgid ", %s"
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
+#: src/frontend/mame/ui/ui.cpp:1513
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:243
-msgid ""
-"This machine was never completed. It may exhibit strange behavior or missing "
-"elements that are not bugs in the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1601
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:245
-msgid ""
-"This machine has no sound hardware, MAME will produce no sounds, this is "
-"expected behaviour.\n"
+#: src/frontend/mame/ui/ui.cpp:1645
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:249
-msgid ""
-"\n"
-"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
-"complete. There is nothing you can do to fix this problem except wait for "
-"the developers to improve the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1661
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:251
-msgid ""
-"\n"
-"Elements of this machine cannot be emulated as they requires physical "
-"interaction or consist of mechanical devices. It is not possible to fully "
-"experience this machine.\n"
+#: src/frontend/mame/ui/ui.cpp:1685
+#, c-format
+msgid "%1$.3ffps"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
+#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
+#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
+#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
+#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
+#: src/frontend/mame/ui/ui.cpp:1927
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
+#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/ui.cpp:2005
#, c-format
-msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/ui.cpp:2226
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " COLORS"
+msgstr ""
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:39
#, c-format
-msgid "%1$s: %2$s\n"
+msgid ""
+"[This option is currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"The selected option enables the following items:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+#: src/frontend/mame/ui/devopt.cpp:40
+#, c-format
+msgid ""
+"[This option is NOT currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"If you select this option, the following items will be enabled:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:48
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
#, c-format
-msgid "Screen '%1$s'"
+msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
+msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:85
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:90
+#, c-format
+msgid " Screen '%1$s': Vector\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:99
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:100
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:113
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:133
+#, c-format
+msgid " %1$d×%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:164
+#, c-format
+msgid ""
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:204 src/frontend/mame/ui/devopt.cpp:220
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
+#: src/frontend/mame/ui/devopt.cpp:209 src/frontend/mame/ui/devopt.cpp:225
#, c-format
-msgid "Software is clone of: %1$-.100s"
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: src/frontend/mame/ui/devopt.cpp:230
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: src/frontend/mame/ui/devopt.cpp:232
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: src/frontend/mame/ui/devopt.cpp:234
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: src/frontend/mame/ui/devopt.cpp:236
+#, c-format
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
+#: src/frontend/mame/ui/devopt.cpp:238
#, c-format
-msgid "romset: %1$-.100s"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
+#: src/frontend/mame/ui/devopt.cpp:240
#, c-format
-msgid "Driver is clone of: %1$-.100s"
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: src/frontend/mame/ui/devopt.cpp:242
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
+#: src/frontend/mame/ui/devopt.cpp:244
#, c-format
-msgid "%1$s %2$s"
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: src/frontend/mame/ui/devopt.cpp:246
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: src/frontend/mame/ui/devopt.cpp:248
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: src/frontend/mame/ui/devopt.cpp:257
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: src/frontend/mame/ui/devopt.cpp:263
+msgid "* Slot Options:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:270
+msgid "[None]\n"
msgstr ""
#: plugins/timer/init.lua:94
@@ -2669,51 +2588,51 @@ msgstr ""
msgid "Timer"
msgstr ""
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:510
msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheat/init.lua:534
+#: plugins/cheat/init.lua:516
msgid "Press button for hotkey or wait to clear"
msgstr ""
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:528
msgid "None"
msgstr ""
-#: plugins/cheat/init.lua:551
+#: plugins/cheat/init.lua:533
msgid "Done"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:547 plugins/cheat/init.lua:561
msgid "Set"
msgstr ""
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:580
msgid "Set hotkeys"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:720
#, lua-format
msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:723 plugins/cheat/init.lua:781
#, lua-format
msgid "Activated: %s"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:785
#, lua-format
msgid "Enabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:790
#, lua-format
msgid "Disabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "%s added"
msgstr ""
@@ -2762,303 +2681,218 @@ msgstr ""
msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:404
+#: plugins/cheatfind/init.lua:373
msgid "Save Cheat"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Default"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Custom"
msgstr ""
-#: plugins/cheatfind/init.lua:408
+#: plugins/cheatfind/init.lua:377
msgid "Cheat Name"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/cheatfind/init.lua:383 plugins/cheatfind/init.lua:748
#, lua-format
msgid "Default name is %s"
msgstr ""
-#: plugins/cheatfind/init.lua:422
+#: plugins/cheatfind/init.lua:391
msgid "Player"
msgstr ""
-#: plugins/cheatfind/init.lua:427
+#: plugins/cheatfind/init.lua:396
msgid "Type"
msgstr ""
-#: plugins/cheatfind/init.lua:433
+#: plugins/cheatfind/init.lua:402
msgid "Save"
msgstr ""
-#: plugins/cheatfind/init.lua:462
+#: plugins/cheatfind/init.lua:429
#, lua-format
msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:472
+#: plugins/cheatfind/init.lua:437
msgid "Cheat added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:442
msgid ""
"Unable to write file\n"
"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/cheatfind/init.lua:486
+#: plugins/cheatfind/init.lua:451
msgid "Cancel"
msgstr ""
-#: plugins/cheatfind/init.lua:491
+#: plugins/cheatfind/init.lua:456
msgid "CPU or RAM"
msgstr ""
-#: plugins/cheatfind/init.lua:495
+#: plugins/cheatfind/init.lua:460
msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:479
+msgid "Data cleared and current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:487
+msgid "Start new search"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:497
+msgid "Current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:504
+msgid "Save current -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
+#: plugins/cheatfind/init.lua:536
#, lua-format
-msgid "Memory State saved to Slot %d"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:543
+msgid "Compare"
msgstr ""
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
+#: plugins/cheatfind/init.lua:546
+msgid "Left operand"
+msgstr ""
+
+#: plugins/cheatfind/init.lua:549
+msgid "Current"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:554
+msgid "Operator"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:561
+msgid "Left less than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:563
+msgid "Left greater than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:676
+#: plugins/cheatfind/init.lua:565
msgid "Left equal to right"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:567
+msgid "Left not equal to right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:680
+#: plugins/cheatfind/init.lua:569
msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:682
+#: plugins/cheatfind/init.lua:571
msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:684
+#: plugins/cheatfind/init.lua:573
msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:686
+#: plugins/cheatfind/init.lua:575
msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:688
+#: plugins/cheatfind/init.lua:577
msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:690
+#: plugins/cheatfind/init.lua:579
msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/cheatfind/init.lua:590
+msgid "Right operand"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/cheatfind/init.lua:598
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:719
+#: plugins/cheatfind/init.lua:602
msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:725
+#: plugins/cheatfind/init.lua:608
msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:738
-msgid ""
-"Use this if you want to poke the Slot 1 value (eg. You started with "
-"something but lost it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:740
-msgid ""
-"Use this if you want to poke the Last Slot value (eg. You started without an "
-"item but finally got it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:816
+#: plugins/cheatfind/init.lua:632
msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:820
+#: plugins/cheatfind/init.lua:636
msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:823
+#: plugins/cheatfind/init.lua:639
msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheatfind/init.lua:690
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Test cheat at addr %08X"
msgstr ""
-#: plugins/cheatfind/init.lua:974
+#: plugins/cheatfind/init.lua:722
msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
+#: plugins/cheatfind/init.lua:788
msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
+#: plugins/cheatfind/init.lua:806
msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
+#: plugins/cheatfind/init.lua:816
msgid "Cheat Finder"
msgstr ""
-#: plugins/portname/init.lua:103
+#: plugins/portname/init.lua:69
msgid "Save input names to file"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
+#: plugins/portname/init.lua:100 plugins/portname/init.lua:105
+#: plugins/portname/init.lua:121
msgid "Failed to save input name file"
msgstr ""
-#: plugins/portname/init.lua:167
+#: plugins/portname/init.lua:133
#, lua-format
msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/portname/init.lua:172
+#: plugins/portname/init.lua:138
msgid "Input ports"
msgstr ""
diff --git a/language/Catalan/strings.po b/language/Catalan/strings.po
index 3d32c5631ce..23c5d4b231f 100644
--- a/language/Catalan/strings.po
+++ b/language/Catalan/strings.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MAME 0.180\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-03-17 13:37+1100\n"
+"POT-Creation-Date: 2018-04-28 15:32+1000\n"
"PO-Revision-Date: 2016-12-14 14:01+0100\n"
"Last-Translator: Jordi Mallach <jordi@debian.org>\n"
"Language-Team: Catalan <ca@dodds.net>\n"
@@ -16,61 +16,236 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
+#: src/frontend/mame/ui/auditmenu.cpp:96
#, c-format
-msgid "Screen #%d"
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr "Rota"
-
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
+#: src/frontend/mame/ui/auditmenu.cpp:99
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Enabled"
-msgstr "Habilitat"
+#: src/frontend/mame/ui/auditmenu.cpp:104
+#, c-format
+msgid "(results will be saved to %1$s)"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Disabled"
-msgstr "Inhabilitat"
+#: src/frontend/mame/ui/auditmenu.cpp:130
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
+#: src/frontend/mame/ui/auditmenu.cpp:142
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
+#: src/frontend/mame/ui/selmenu.cpp:49 src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Snapshots"
+msgstr "Instantànies"
+
+#: src/frontend/mame/ui/selmenu.cpp:50 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cabinets"
+msgstr "Cabines"
+
+#: src/frontend/mame/ui/selmenu.cpp:51
+msgid "Control Panels"
+msgstr "Quadres de control"
+
+#: src/frontend/mame/ui/selmenu.cpp:52 src/frontend/mame/ui/dirmenu.cpp:50
+msgid "PCBs"
+msgstr "PCB"
+
+#: src/frontend/mame/ui/selmenu.cpp:53 src/frontend/mame/ui/dirmenu.cpp:47
+msgid "Flyers"
+msgstr "Díptics"
+
+#: src/frontend/mame/ui/selmenu.cpp:54 src/frontend/mame/ui/dirmenu.cpp:48
+msgid "Titles"
+msgstr "Títols"
+
+#: src/frontend/mame/ui/selmenu.cpp:55 src/frontend/mame/ui/dirmenu.cpp:49
+msgid "Ends"
+msgstr "Finals"
+
+#: src/frontend/mame/ui/selmenu.cpp:56
+msgid "Artwork Preview"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+#: src/frontend/mame/ui/selmenu.cpp:57 src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Bosses"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
+#: src/frontend/mame/ui/selmenu.cpp:58 src/frontend/mame/ui/dirmenu.cpp:60
+msgid "Logos"
+msgstr "Logotips"
+
+#: src/frontend/mame/ui/selmenu.cpp:59 src/frontend/mame/ui/dirmenu.cpp:62
+msgid "Versus"
+msgstr "Versus"
+
+#: src/frontend/mame/ui/selmenu.cpp:60
+msgid "Game Over"
+msgstr "Game Over"
+
+#: src/frontend/mame/ui/selmenu.cpp:61 src/frontend/mame/ui/dirmenu.cpp:59
+msgid "HowTo"
+msgstr "ComEsFa"
+
+#: src/frontend/mame/ui/selmenu.cpp:62 src/frontend/mame/ui/dirmenu.cpp:61
+msgid "Scores"
+msgstr "Puntuacions"
+
+#: src/frontend/mame/ui/selmenu.cpp:63 src/frontend/mame/ui/dirmenu.cpp:57
+msgid "Select"
+msgstr "Selecciona"
+
+#: src/frontend/mame/ui/selmenu.cpp:64 src/frontend/mame/ui/dirmenu.cpp:51
+#: src/frontend/mame/ui/videoopt.cpp:224
msgid "Marquees"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
-msgstr "Visualització"
+#: src/frontend/mame/ui/selmenu.cpp:65 src/frontend/mame/ui/dirmenu.cpp:63
+msgid "Covers"
+msgstr "Portades"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
-msgstr "Escapçada"
+#: src/frontend/mame/ui/selmenu.cpp:69
+msgid "Add or remove favorites"
+msgstr "Afegeix o suprimeix favorits"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
-msgstr "Completa"
+#: src/frontend/mame/ui/selmenu.cpp:70
+msgid "Export displayed list to file"
+msgstr "Exporta la llista mostrada a un fitxer"
+
+#: src/frontend/mame/ui/selmenu.cpp:71
+msgid "Show DATs view"
+msgstr "Mostra la visualitzció de DAT"
+
+#: src/frontend/mame/ui/selmenu.cpp:237
+msgid "Software part selection:"
+msgstr "Selecció de part de programari:"
+
+#: src/frontend/mame/ui/selmenu.cpp:343
+msgid "BIOS selection:"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:570 src/frontend/mame/ui/selmenu.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:311
+#, c-format
+msgid "%1$s, %2$-.100s"
+msgstr "%1$s, %2$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:574
+#, c-format
+msgid "Software is clone of: %1$-.100s"
+msgstr "El programari és un clon de: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:576
+msgid "Software is parent"
+msgstr "El programari és el pare"
+
+#: src/frontend/mame/ui/selmenu.cpp:581
+msgid "Supported: No"
+msgstr "Suportat: No"
+
+#: src/frontend/mame/ui/selmenu.cpp:586
+msgid "Supported: Partial"
+msgstr "Suportat: Parcialment"
+
+#: src/frontend/mame/ui/selmenu.cpp:591
+msgid "Supported: Yes"
+msgstr "Suportat: Sí"
+
+#: src/frontend/mame/ui/selmenu.cpp:596
+#, c-format
+msgid "romset: %1$-.100s"
+msgstr "Conjunt de ROM: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:612
+#, c-format
+msgid "Driver is clone of: %1$-.100s"
+msgstr "El control·lador és un clon de: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:614
+msgid "Driver is parent"
+msgstr "El controlador és el pare"
+
+#: src/frontend/mame/ui/selmenu.cpp:619
+#: src/frontend/mame/ui/simpleselgame.cpp:330
+msgid "Overall: NOT WORKING"
+msgstr "En resum: NO FUNCIONA"
+
+#: src/frontend/mame/ui/selmenu.cpp:621
+#: src/frontend/mame/ui/simpleselgame.cpp:332
+msgid "Overall: Unemulated Protection"
+msgstr "Resum: Protecció no emulada"
+
+#: src/frontend/mame/ui/selmenu.cpp:623
+#: src/frontend/mame/ui/simpleselgame.cpp:334
+msgid "Overall: Working"
+msgstr "En resum: Funciona"
+
+#: src/frontend/mame/ui/selmenu.cpp:627
+#: src/frontend/mame/ui/simpleselgame.cpp:338
+msgid "Graphics: Unimplemented, "
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:629
+#: src/frontend/mame/ui/simpleselgame.cpp:340
+msgid "Graphics: Imperfect, "
+msgstr "Gràfics: Imperfectes, "
+
+#: src/frontend/mame/ui/selmenu.cpp:631
+#: src/frontend/mame/ui/simpleselgame.cpp:342
+msgid "Graphics: OK, "
+msgstr "Gràfics: OK, "
+
+#: src/frontend/mame/ui/selmenu.cpp:634
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+msgid "Sound: None"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:636
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+msgid "Sound: Unimplemented"
+msgstr "So: No implementat"
+
+#: src/frontend/mame/ui/selmenu.cpp:638
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+msgid "Sound: Imperfect"
+msgstr "So: Imperfecte"
+
+#: src/frontend/mame/ui/selmenu.cpp:640
+#: src/frontend/mame/ui/simpleselgame.cpp:351
+msgid "Sound: OK"
+msgstr "So: OK"
+
+#: src/frontend/mame/ui/selmenu.cpp:650
+#, c-format
+msgid "%1$s %2$s"
+msgstr "%1$s %2$s"
+
+#: src/frontend/mame/ui/selmenu.cpp:1975
+msgid "Images"
+msgstr "Imatges"
+
+#: src/frontend/mame/ui/selmenu.cpp:1976
+msgid "Infos"
+msgstr "Infos"
+
+#: src/frontend/mame/ui/selmenu.cpp:2386 src/frontend/mame/ui/miscmenu.cpp:826
+msgid " (default)"
+msgstr " (per defecte)"
+
+#: src/frontend/mame/ui/selmenu.cpp:2454
+msgid "Usage"
+msgstr "Ús"
+
+#: src/frontend/mame/ui/selmenu.cpp:2489
+msgid "General Info"
+msgstr "Informació general"
#: src/frontend/mame/ui/dirmenu.cpp:35
msgid "ROMs"
@@ -112,30 +287,6 @@ msgstr "Icones"
msgid "Cheats"
msgstr "Trampes"
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
-msgstr "Instantànies"
-
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
-msgstr "Cabines"
-
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
-msgstr "Díptics"
-
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
-msgstr "Títols"
-
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
-msgstr "Finals"
-
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
-msgstr "PCB"
-
#: src/frontend/mame/ui/dirmenu.cpp:52
msgid "Controls Panels"
msgstr "Quadres de control"
@@ -148,42 +299,14 @@ msgstr "Mirilles"
msgid "Artworks"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
-msgstr ""
-
#: src/frontend/mame/ui/dirmenu.cpp:56
msgid "Artworks Preview"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
-msgstr "Selecciona"
-
#: src/frontend/mame/ui/dirmenu.cpp:58
msgid "GameOver"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
-msgstr "ComEsFa"
-
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
-msgstr "Logotips"
-
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
-msgstr "Puntuacions"
-
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
-msgstr "Versus"
-
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
-msgstr "Portades"
-
#: src/frontend/mame/ui/dirmenu.cpp:116
msgid "Folders Setup"
msgstr "Paràmetres de carpetes"
@@ -224,14 +347,265 @@ msgstr "Premeu TAB per establir"
msgid "Remove %1$s Folder"
msgstr "Suprimeix la carpeta %1$s"
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
-msgstr "Llista de la selecció - cerca: "
+#: src/frontend/mame/ui/info.cpp:30
+msgid "protection"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:31
+msgid "color palette"
+msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
+#: src/frontend/mame/ui/info.cpp:32
+msgid "graphics"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:33
+msgid "sound"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:34
+msgid "controls"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:35
+msgid "keyboard"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:36
+msgid "mouse"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:37
+msgid "microphone"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:38
+msgid "camera"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:39
+msgid "disk"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:40
+msgid "printer"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:41
+msgid "LAN"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:42
+msgid "WAN"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:43
+msgid "timing"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:180
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
+msgstr ""
+"Una o més ROM/CHD per a aquesta màquina són incorrectes. La màquina podria "
+"no executar-se correctament.\n"
+
+#: src/frontend/mame/ui/info.cpp:190
+msgid ""
+"There are known problems with this machine\n"
+"\n"
+msgstr ""
+"Hi ha problemes coneguts amb aquesta màquina\n"
+"\n"
+
+#: src/frontend/mame/ui/info.cpp:195
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+msgstr ""
+"Una o més ROM/CHD per a aquesta màquina no han estat bolcats correctament.\n"
+
+#: src/frontend/mame/ui/info.cpp:200
+msgid "Completely unemulated features: "
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
#, c-format
-msgid "Double click or press %1$s to select"
-msgstr "Feu doble clic o premeu %1$s per seleccionar"
+msgid "%s"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#: src/frontend/mame/ui/info.cpp:267
+#, c-format
+msgid ", %s"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:216
+msgid "Imperfectly emulated features: "
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:231
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:233
+msgid "This machine requires external artwork files.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:235
+msgid ""
+"This machine was never completed. It may exhibit strange behavior or missing "
+"elements that are not bugs in the emulation.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:237
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:241
+msgid ""
+"\n"
+"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
+"complete. There is nothing you can do to fix this problem except wait for "
+"the developers to improve the emulation.\n"
+msgstr ""
+"\n"
+"AQUESTA MÀQUINA NO FUNCIONA. L'emulació per a aquesta màquina no és "
+"completa. No podeu fer res al respecte, tret d'esperar a que els "
+"desenvolupadors milloren l'emulació.\n"
+
+#: src/frontend/mame/ui/info.cpp:243
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they requires physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:265
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:278
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+"\n"
+"\n"
+"Premeu qualsevol tecla per continuar"
+
+#: src/frontend/mame/ui/info.cpp:293
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
+msgstr ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Controlador: %4$s\n"
+"\n"
+"CPU:\n"
+
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "MHz"
+msgstr "MHz"
+
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "kHz"
+msgstr "kHz"
+
+#: src/frontend/mame/ui/info.cpp:342
+msgid ""
+"\n"
+"Sound:\n"
+msgstr ""
+"\n"
+"So:\n"
+
+#: src/frontend/mame/ui/info.cpp:370
+msgid ""
+"\n"
+"Video:\n"
+msgstr ""
+"\n"
+"Vídeo:\n"
+
+#: src/frontend/mame/ui/info.cpp:374
+msgid "None\n"
+msgstr "Cap\n"
+
+#: src/frontend/mame/ui/info.cpp:381
+msgid "Vector"
+msgstr "Vector"
+
+#: src/frontend/mame/ui/info.cpp:392
+#, c-format
+msgid "%1$s: %2$s\n"
+msgstr "%1$s: %2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:392
+msgid "%2$s\n"
+msgstr "%2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:438
+#, c-format
+msgid "Screen '%1$s'"
+msgstr "Pantalla «%1$s»"
+
+#: src/frontend/mame/ui/info.cpp:440
+msgid "Screen"
+msgstr "Pantalla"
+
+#: src/frontend/mame/ui/info.cpp:525
+msgid "Not supported"
+msgstr "No suportat"
+
+#: src/frontend/mame/ui/info.cpp:528
+msgid "Partially supported"
+msgstr "Parcialment suportat"
+
+#: src/frontend/mame/ui/info.cpp:536
+msgid "[empty]"
+msgstr "[buit]"
+
+#: src/frontend/mame/ui/optsmenu.cpp:193
+msgid "Filter"
+msgstr "Filtre"
+
+#: src/frontend/mame/ui/optsmenu.cpp:206
+msgid "Customize UI"
+msgstr "Personalitza la IU"
+
+#: src/frontend/mame/ui/optsmenu.cpp:207
+msgid "Configure Directories"
+msgstr "Configura els directoris"
+
+#: src/frontend/mame/ui/optsmenu.cpp:210 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
+msgstr "Opcions de so"
+
+#: src/frontend/mame/ui/optsmenu.cpp:213
+msgid "General Inputs"
+msgstr "Entrada general"
+
+#: src/frontend/mame/ui/optsmenu.cpp:216
+msgid "Save Configuration"
+msgstr "Desa la configuració"
+
+#: src/frontend/mame/ui/optsmenu.cpp:228
+msgid "Settings"
+msgstr "Paràmetres"
#: src/frontend/mame/ui/tapectrl.cpp:85
msgid "stopped"
@@ -273,8 +647,30 @@ msgstr "Rebobina"
msgid "Fast Forward"
msgstr "Avanç ràpid"
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
-#: src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/inputmap.cpp:53
+msgid "User Interface"
+msgstr "Interfície d'usuari"
+
+#: src/frontend/mame/ui/inputmap.cpp:59
+msgid "Other Controls"
+msgstr "Altres controls"
+
+#: src/frontend/mame/ui/inputmap.cpp:628 src/frontend/mame/ui/miscmenu.cpp:96
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr "Reinicialitza"
+
+#: src/frontend/mame/ui/selector.cpp:116
+msgid "Selection List - Search: "
+msgstr "Llista de la selecció - cerca: "
+
+#: src/frontend/mame/ui/selector.cpp:124
+#, c-format
+msgid "Double click or press %1$s to select"
+msgstr "Feu doble clic o premeu %1$s per seleccionar"
+
+#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/filesel.cpp:256
msgid "[empty slot]"
msgstr ""
@@ -315,182 +711,6 @@ msgstr "Ús del programari"
msgid "Revision: "
msgstr "Revisió: "
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
-msgstr "El fitxer ja existeix. Voleu sobreescriure'l?"
-
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
-msgstr "No"
-
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
-msgstr "Sí"
-
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
-msgstr "Nom de la imatge nova:"
-
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
-msgstr "Format de la imatge:"
-
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
-msgstr "Crea"
-
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
-msgstr "Introduïu una extensió de fitxer també"
-
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
-msgstr "Seleccioneu el format de la imatge"
-
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
-msgstr "Entrada (general)"
-
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
-msgstr "Entrada (aquesta màquina)"
-
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
-msgstr "Controls analògics"
-
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
-msgstr ""
-
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
-msgstr "Configuració de la màquina"
-
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
-msgstr ""
-
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
-msgstr "Informació de la màquina"
-
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
-msgstr "Informació de la imatge"
-
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
-msgstr "Gestor de fitxers"
-
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
-msgstr "Control de cinta"
-
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
-msgstr "Pseudo terminals"
-
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
-msgstr ""
-
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
-msgstr ""
-
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
-msgstr "Lector de codi de barres"
-
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
-msgstr "Dispositius de xarxa"
-
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
-msgstr "Mode de teclat"
-
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
-msgstr "Controls dels lliscadors"
-
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
-msgstr "Opcions de vídeo"
-
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
-msgstr ""
-
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
-msgstr "Trampa"
-
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
-msgstr "Opcions de connectors"
-
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
-msgstr "Visualització de DAT externa"
-
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
-msgstr "Afegeix als favorits"
-
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
-msgstr "Suprimeix dels favorits"
-
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
-msgstr "Selecciona una màquina nova"
-
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
-msgstr "Codi de barres nou:"
-
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
-msgstr "Introduiu un codi"
-
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
-msgstr "La mida del codi de barres no és vàlid!"
-
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
-msgstr "[fallit]"
-
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
-msgstr "Opcions de so"
-
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
-msgstr "Entrada general"
-
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
-msgstr "Desa la configuració"
-
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
-msgstr "Paràmetres"
-
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
-msgstr "Filtre"
-
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
-msgstr "Personalitza la IU"
-
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
-msgstr "Configura els directoris"
-
#: src/frontend/mame/ui/simpleselgame.cpp:149
msgid ""
"The selected game is missing one or more required ROM or CHD images. Please "
@@ -499,7 +719,7 @@ msgid ""
"Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:247
+#: src/frontend/mame/ui/simpleselgame.cpp:241
#, c-format
msgid ""
"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
@@ -508,661 +728,358 @@ msgid ""
"docs directory for information on configuring %2$s."
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:271
+#: src/frontend/mame/ui/selgame.cpp:436
msgid "Configure Options"
msgstr "Configura les opcions"
-#: src/frontend/mame/ui/simpleselgame.cpp:298
+#: src/frontend/mame/ui/simpleselgame.cpp:292
#, c-format
msgid "Type name or select: %1$s_"
msgstr "Teclegeu el nom o seleccioneu: %1$s_"
-#: src/frontend/mame/ui/simpleselgame.cpp:300
+#: src/frontend/mame/ui/simpleselgame.cpp:294
msgid "Type name or select: (random)"
msgstr "Teclegeu el nom o seleccioneu: (aleatori)"
-#: src/frontend/mame/ui/simpleselgame.cpp:314
-#: src/frontend/mame/ui/selsoft.cpp:652 src/frontend/mame/ui/selsoft.cpp:659
+#: src/frontend/mame/ui/simpleselgame.cpp:308
+#: src/frontend/mame/ui/selsoft.cpp:564 src/frontend/mame/ui/selsoft.cpp:571
#, c-format
msgid "%1$-.100s"
msgstr "%1$-.100s"
-#: src/frontend/mame/ui/simpleselgame.cpp:317
-#: src/frontend/mame/ui/selmenu.cpp:618 src/frontend/mame/ui/selmenu.cpp:654
-#, c-format
-msgid "%1$s, %2$-.100s"
-msgstr "%1$s, %2$-.100s"
-
-#: src/frontend/mame/ui/simpleselgame.cpp:320
+#: src/frontend/mame/ui/simpleselgame.cpp:314
#, c-format
msgid "Driver: %1$-.100s"
msgstr "Controlador: %1$-.100s"
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
-msgstr "En resum: NO FUNCIONA"
-
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
-msgstr "Resum: Protecció no emulada"
-
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
-msgstr "En resum: Funciona"
-
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
-msgstr "Gràfics: Imperfectes, "
-
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
-msgstr "Gràfics: OK, "
-
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
-msgstr "So: No implementat"
-
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
-msgstr "So: Imperfecte"
-
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
-msgstr "So: OK"
-
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
-msgstr ""
-
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
-msgstr ""
-
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
-msgstr ""
-
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:337
-msgid "This driver requires images to be loaded in the following device(s): "
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1302
-#, c-format
-msgid ""
-"Are you sure you want to quit?\n"
-"\n"
-"Press ''%1$s'' to quit,\n"
-"Press ''%2$s'' to return to emulation."
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1477
+#: src/frontend/mame/ui/videoopt.cpp:56
#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
-msgstr ""
+#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
+msgid "Rotate"
+msgstr "Rota"
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
+#: src/frontend/mame/ui/videoopt.cpp:208
+msgid "Backdrops"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
-msgstr ""
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Enabled"
+msgstr "Habilitat"
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
-msgstr ""
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Disabled"
+msgstr "Inhabilitat"
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/videoopt.cpp:212
+msgid "Overlays"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/videoopt.cpp:216
+msgid "Bezels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
+#: src/frontend/mame/ui/videoopt.cpp:220
+msgid "CPanels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
-msgstr "X"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "View"
+msgstr "Visualització"
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
-msgstr "Y"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cropped"
+msgstr "Escapçada"
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
-msgstr ""
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Full"
+msgstr "Completa"
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
-msgstr "%1$3ddB"
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
+msgstr "El fitxer ja existeix. Voleu sobreescriure'l?"
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
-msgstr "%1$d%%"
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1047
+msgid "No"
+msgstr "No"
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
-msgstr "%1$3.0f%%"
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1047
+msgid "Yes"
+msgstr "Sí"
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
-msgstr "%1$.3ffps"
+#: src/frontend/mame/ui/filecreate.cpp:171
+msgid "New Image Name:"
+msgstr "Nom de la imatge nova:"
-#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
-#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
-#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
-#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
-#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
-#: src/frontend/mame/ui/ui.cpp:1927
-#, c-format
-msgid "%1$.3f"
-msgstr "%1$.3f"
+#: src/frontend/mame/ui/filecreate.cpp:177
+msgid "Image Format:"
+msgstr "Format de la imatge:"
-#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
-#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
-#, c-format
-msgid "%1$1.2f"
-msgstr "%1$1.2f"
+#: src/frontend/mame/ui/filecreate.cpp:183
+msgid "Create"
+msgstr "Crea"
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
-msgstr ""
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr "Introduïu una extensió de fitxer també"
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
-msgstr ""
+#: src/frontend/mame/ui/filecreate.cpp:266
+msgid "Select image format"
+msgstr "Seleccioneu el format de la imatge"
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset X %1$1.3f"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Keyboard Mode:"
+msgstr "Mode de teclat:"
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Natural"
+msgstr "Natural"
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Emulated"
+msgstr "Emulat"
-#: src/frontend/mame/ui/ui.cpp:2226
+#: src/frontend/mame/ui/miscmenu.cpp:236
#, c-format
-msgid "**Error saving %s.ini**"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
msgid ""
-"\n"
-" Configuration saved \n"
+"Uptime: %1$d:%2$02d:%3$02d\n"
"\n"
msgstr ""
+"Temps d'execució: %1$d:%2$02d:%3$02d\n"
"\n"
-" S'ha desat la configuració \n"
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
-msgid ""
-"Cheat Comment:\n"
-"%s"
-msgstr ""
-"Comentari de la trampa:\n"
-"%s"
-
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
-msgstr "S'han tornat a carregar totes les trampes"
-
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
-msgstr "Paràmetres d'autotret"
-
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
-msgstr "Reinicialitza'ls tots"
-
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
-msgstr "Torna a carregar-ho tot"
-
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
-msgstr "Estat d'autotret"
-
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
-msgstr "No s'ha trobat cap botó en aquesta màquina!"
-
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
-msgstr "Retard d'autotret"
-
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
+#: src/frontend/mame/ui/miscmenu.cpp:238
#, c-format
msgid ""
-"%s\n"
-" added to favorites list."
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-"%s\n"
-" afegit a la llista de favorits."
+"Temps d'execució: %1$d:%2$02d\n"
+"\n"
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
+#: src/frontend/mame/ui/miscmenu.cpp:242
#, c-format
msgid ""
-"%s\n"
-" removed from favorites list."
-msgstr ""
-"%s\n"
-" suprimit de la llista de favorits."
-
-#: src/frontend/mame/ui/selsoft.cpp:507
-msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
+"Tickets dispensed: %1$d\n"
"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:253
+msgid "Coin %1$c: NA%3$s\n"
+msgstr "Moneda %1$c: NA%3$s\n"
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/miscmenu.cpp:253
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
-msgstr "%1$s %2$s (%3$d / %4$d paquets de programari)"
+msgid "Coin %1$c: %2$d%3$s\n"
+msgstr "Moneda %1$c: %2$d%3$s\n"
-#: src/frontend/mame/ui/selsoft.cpp:638
-#, c-format
-msgid "Driver: \"%1$s\" software list "
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:256
+msgid " (locked)"
+msgstr " (blocat)"
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
-#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:503
+msgid "Visible Delay"
+msgstr "Retard visible"
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/miscmenu.cpp:601
#, c-format
-msgid "Search: %1$s_"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
-msgid "Unfiltered"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
-msgid "Available"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
-msgid "Unavailable"
-msgstr ""
+msgid "%s.xml saved under ui folder."
+msgstr "S'ha desat %s.xml sota la carpeta ui."
-#: src/frontend/mame/ui/utils.cpp:63
-msgid "Working"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:627
+msgid "Name: Description:\n"
+msgstr "Nom: Descripció:\n"
-#: src/frontend/mame/ui/utils.cpp:64
-msgid "Not Working"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.txt saved under ui folder."
+msgstr "S'ha desat %s.txt sota la carpeta ui."
-#: src/frontend/mame/ui/utils.cpp:65
-msgid "Mechanical"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:655
+msgid "Export list in XML format (like -listxml)"
+msgstr "Exporta la llista en format XML (like -listxml)"
-#: src/frontend/mame/ui/utils.cpp:66
-msgid "Not Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:656
+msgid "Export list in XML format (like -listxml, but exclude devices)"
msgstr ""
+"Exporta la llista en format XML (com -listxml, però excloent dispositius)"
-#: src/frontend/mame/ui/utils.cpp:67
-msgid "Category"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:657
+msgid "Export list in TXT format (like -listfull)"
+msgstr "Exporta la llista en format TXT (com -listfull)"
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
-msgid "Favorites"
+#: src/frontend/mame/ui/miscmenu.cpp:710 src/frontend/mame/ui/ui.cpp:2230
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
+"\n"
+" S'ha desat la configuració \n"
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/miscmenu.cpp:760 src/frontend/mame/ui/utils.cpp:66
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
-msgid "Not BIOS"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
-msgid "Parents"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
-msgid "Clones"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:73
-msgid "Manufacturer"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
-msgid "Year"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:75
-msgid "Save Supported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:76
-msgid "Save Unsupported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:77
-msgid "CHD Required"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:764
+msgid "Driver"
+msgstr "Controlador"
-#: src/frontend/mame/ui/utils.cpp:78
-msgid "No CHD Required"
+#: src/frontend/mame/ui/miscmenu.cpp:767
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:79
-msgid "Vertical Screen"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:776 src/frontend/mame/ui/mainmenu.cpp:145
+msgid "Add To Favorites"
+msgstr "Afegeix als favorits"
-#: src/frontend/mame/ui/utils.cpp:80
-msgid "Horizontal Screen"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:778 src/frontend/mame/ui/mainmenu.cpp:147
+msgid "Remove From Favorites"
+msgstr "Suprimeix dels favorits"
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
-msgid "Custom Filter"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:781
+msgid "Save machine configuration"
+msgstr "Desa la configuració de la màquina"
-#: src/frontend/mame/ui/utils.cpp:91
-msgid "Publisher"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:792
+msgid "Configure machine:"
+msgstr "Configura la màquina"
-#: src/frontend/mame/ui/utils.cpp:92
-msgid "Supported"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:736
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:551 plugins/cheatfind/init.lua:619
+msgid "On"
+msgstr "Encès"
-#: src/frontend/mame/ui/utils.cpp:93
-msgid "Partially Supported"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:739
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:554 plugins/cheat/init.lua:563
+#: plugins/cheatfind/init.lua:616
+msgid "Off"
+msgstr "Apagat"
-#: src/frontend/mame/ui/utils.cpp:94
-msgid "Unsupported"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:909 src/frontend/mame/ui/selgame.cpp:441
+msgid "Plugins"
+msgstr "Connectors"
-#: src/frontend/mame/ui/utils.cpp:95
-msgid "Release Region"
-msgstr ""
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
+msgstr "Codi de barres nou:"
-#: src/frontend/mame/ui/utils.cpp:96
-msgid "Device Type"
-msgstr ""
+#: src/frontend/mame/ui/barcode.cpp:78
+msgid "Enter Code"
+msgstr "Introduiu un codi"
-#: src/frontend/mame/ui/utils.cpp:97
-msgid "Software List"
-msgstr ""
+#: src/frontend/mame/ui/barcode.cpp:119
+msgid "Barcode length invalid!"
+msgstr "La mida del codi de barres no és vàlid!"
-#: src/frontend/mame/ui/utils.cpp:248
-msgid "<set up filters>"
-msgstr ""
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:99
+msgid "Pseudo terminals"
+msgstr "Pseudo terminals"
-#: src/frontend/mame/ui/utils.cpp:356
-msgid "Select custom filters:"
-msgstr "Selecciona filtres personalitzats:"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
+msgstr "[fallit]"
-#: src/frontend/mame/ui/utils.cpp:507
-#, c-format
-msgid "Filter %1$u"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:60
+msgid "Input (general)"
+msgstr "Entrada (general)"
-#: src/frontend/mame/ui/utils.cpp:522
-msgid "Remove last filter"
-msgstr "Suprimeix el darrer filtre"
+#: src/frontend/mame/ui/mainmenu.cpp:62
+msgid "Input (this Machine)"
+msgstr "Entrada (aquesta màquina)"
-#: src/frontend/mame/ui/utils.cpp:524
-msgid "Add filter"
-msgstr "Afegeix un filtre"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Analog Controls"
+msgstr "Controls analògics"
-#: src/frontend/mame/ui/utils.cpp:966
-msgid "Select category:"
+#: src/frontend/mame/ui/mainmenu.cpp:68
+msgid "Dip Switches"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
-msgid "[no category INI files]"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "Machine Configuration"
+msgstr "Configuració de la màquina"
-#: src/frontend/mame/ui/utils.cpp:1005
-msgid "[no groups in INI file]"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
-msgid "No category INI files found"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:78
+msgid "Machine Information"
+msgstr "Informació de la màquina"
-#: src/frontend/mame/ui/utils.cpp:1044
-msgid "File"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:85
+msgid "Image Information"
+msgstr "Informació de la imatge"
-#: src/frontend/mame/ui/utils.cpp:1048
-msgid "No groups found in category file"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
+msgstr "Gestor de fitxers"
-#: src/frontend/mame/ui/utils.cpp:1053
-msgid "Group"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:96
+msgid "Tape Control"
+msgstr "Control de cinta"
-#: src/frontend/mame/ui/utils.cpp:1054
-msgid "Include clones"
+#: src/frontend/mame/ui/mainmenu.cpp:102
+msgid "BIOS Selection"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
-msgstr "[crea]"
-
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
+#: src/frontend/mame/ui/mainmenu.cpp:106
+msgid "Slot Devices"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
-msgstr "Seleccioneu el mode d'accés"
-
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
-msgstr "Només lectura"
-
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
-msgstr "Lectura i escriptura"
-
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
-msgstr "Llegeix aquesta imatge, escriu en una altra imatge"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Barcode Reader"
+msgstr "Lector de codi de barres"
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
-msgstr "Llegeix aquesta imatge, escriu al diff"
+#: src/frontend/mame/ui/mainmenu.cpp:114
+msgid "Network Devices"
+msgstr "Dispositius de xarxa"
-#: src/frontend/mame/ui/slotopt.cpp:192
-#, c-format
-msgid "%s [internal]"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:118
+msgid "Keyboard Mode"
+msgstr "Mode de teclat"
-#: src/frontend/mame/ui/slotopt.cpp:203 src/frontend/mame/ui/miscmenu.cpp:97
-#: src/frontend/mame/ui/inputmap.cpp:615
-msgid "Reset"
-msgstr "Reinicialitza"
+#: src/frontend/mame/ui/mainmenu.cpp:121
+msgid "Slider Controls"
+msgstr "Controls dels lliscadors"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
-msgstr " COLORS"
+#: src/frontend/mame/ui/mainmenu.cpp:124 src/frontend/mame/ui/submenu.cpp:101
+msgid "Video Options"
+msgstr "Opcions de vídeo"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/mainmenu.cpp:128
+msgid "Crosshair Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
-msgstr "Torna a la màquina"
-
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
-msgstr "Surt"
-
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
-msgstr "Torna al menú anterior"
+#: src/frontend/mame/ui/mainmenu.cpp:132 plugins/cheat/init.lua:735
+msgid "Cheat"
+msgstr "Trampa"
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:762
-#: plugins/cheat/init.lua:569 plugins/cheatfind/init.lua:792
-#: plugins/cheatfind/init.lua:803
-msgid "On"
-msgstr "Encès"
+#: src/frontend/mame/ui/mainmenu.cpp:135
+msgid "Plugin Options"
+msgstr "Opcions de connectors"
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:765
-#: plugins/cheat/init.lua:572 plugins/cheat/init.lua:581
-#: plugins/cheatfind/init.lua:789 plugins/cheatfind/init.lua:800
-msgid "Off"
-msgstr "Apagat"
+#: src/frontend/mame/ui/mainmenu.cpp:139
+msgid "External DAT View"
+msgstr "Visualització de DAT externa"
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
-msgstr "Auto"
+#: src/frontend/mame/ui/mainmenu.cpp:154
+msgid "Select New Machine"
+msgstr "Selecciona una màquina nova"
#: src/frontend/mame/ui/custui.cpp:31
msgid "Show All"
@@ -1385,455 +1302,6 @@ msgstr "Groc"
msgid "Violet"
msgstr "Violeta"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
-msgstr "Mode de teclat:"
-
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
-msgstr "Natural"
-
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
-msgstr "Emulat"
-
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
-msgstr ""
-"Temps d'execució: %1$d:%2$02d:%3$02d\n"
-"\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
-msgstr ""
-"Temps d'execució: %1$d:%2$02d\n"
-"\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
-msgstr ""
-
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
-msgstr "Moneda %1$c: NA%3$s\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
-msgstr "Moneda %1$c: %2$d%3$s\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
-msgstr " (blocat)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
-msgstr "Retard visible"
-
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
-msgstr "S'ha desat %s.xml sota la carpeta ui."
-
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
-msgstr "Nom: Descripció:\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:639
-#, c-format
-msgid "%s.txt saved under ui folder."
-msgstr "S'ha desat %s.txt sota la carpeta ui."
-
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
-msgstr "Exporta la llista en format XML (like -listxml)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
-msgstr ""
-"Exporta la llista en format XML (com -listxml, però excloent dispositius)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
-msgstr "Exporta la llista en format TXT (com -listfull)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
-msgstr "Controlador"
-
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
-msgstr ""
-
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
-msgstr "Desa la configuració de la màquina"
-
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
-msgstr "Configura la màquina"
-
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
-msgstr " (per defecte)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
-msgstr "Connectors"
-
-#: src/frontend/mame/ui/selgame.cpp:607
-msgid "Configure Machine"
-msgstr "Configura la màquina"
-
-#: src/frontend/mame/ui/selgame.cpp:1036
-#, c-format
-msgid "Romset\t%1$-.100s\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1037
-#, c-format
-msgid "Year\t%1$s\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1038
-#, c-format
-msgid "Manufacturer\t%1$-.100s\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1042
-#, c-format
-msgid "Driver is Clone of\t%1$-.100s\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1044
-msgid "Driver is Parent\t\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1047
-msgid "Analog Controls\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1049
-msgid "Keyboard Inputs\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1052
-msgid "Overall\tNOT WORKING\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1054
-msgid "Overall\tUnemulated Protection\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1056
-msgid "Overall\tWorking\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1059
-msgid "Graphics\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1061
-msgid "Graphics\tWrong Colors\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1063
-msgid "Graphics\tImperfect Colors\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1065
-msgid "Graphics\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1067
-msgid "Graphics\tOK\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1070
-msgid "Sound\tNone\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1072
-msgid "Sound\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1074
-msgid "Sound\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1076
-msgid "Sound\tOK\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1079
-msgid "Capture\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1081
-msgid "Capture\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1084
-msgid "Camera\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1086
-msgid "Camera\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1089
-msgid "Microphone\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1091
-msgid "Microphone\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1094
-msgid "Controls\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1096
-msgid "Controls\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1099
-msgid "Keyboard\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1101
-msgid "Keyboard\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1104
-msgid "Mouse\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1106
-msgid "Mouse\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1109
-msgid "Media\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1111
-msgid "Media\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1114
-msgid "Disk\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1116
-msgid "Disk\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1119
-msgid "Printer\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1121
-msgid "Printer\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1124
-msgid "Mag. Tape\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1126
-msgid "Mag. Tape\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1129
-msgid "Punch Tape\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1131
-msgid "Punch Tape\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1134
-msgid "Mag. Drum\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1136
-msgid "Mag. Drum\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1139
-msgid "(EP)ROM\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1141
-msgid "(EP)ROM\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1144
-msgid "Communications\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1146
-msgid "Communications\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1149
-msgid "LAN\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1151
-msgid "LAN\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1154
-msgid "WAN\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1156
-msgid "WAN\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1159
-msgid "Timing\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1161
-msgid "Timing\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tNo\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tNo\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tNo\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tNo\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tNo\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tNo\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tVertical\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tHorizontal\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tNo\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1192
-msgid "ROM Audit Result\tOK\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1194
-msgid "ROM Audit Result\tBAD\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1197
-msgid "Samples Audit Result\tNone Needed\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1199
-msgid "Samples Audit Result\tOK\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1201
-msgid "Samples Audit Result\tBAD\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1205
-msgid ""
-"ROM Audit \tDisabled\n"
-"Samples Audit \tDisabled\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1396
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
-msgstr "%1$s %2$s (%3$d / %4$d màquines (%5$d BIOS))"
-
-#: src/frontend/mame/ui/selgame.cpp:1424
-#, c-format
-msgid "Romset: %1$-.100s"
-msgstr "Conjunt de roms: %1$-.100s"
-
-#: src/frontend/mame/ui/selgame.cpp:1431
-#, c-format
-msgid "System: %1$-.100s"
-msgstr "Sistema: %1$-.100s"
-
-#: src/frontend/mame/ui/selgame.cpp:1465
-msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
-msgstr ""
-
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
-msgstr "So"
-
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
-msgstr ""
-
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
-msgstr ""
-
#: src/frontend/mame/ui/submenu.cpp:22
msgid "Miscellaneous Options"
msgstr "Opcions de miscel·lània"
@@ -2134,194 +1602,559 @@ msgstr ""
msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:43
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Load State"
+msgstr ""
+
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Select position to load from"
+msgstr ""
+
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Save State"
+msgstr ""
+
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Select position to save to"
+msgstr ""
+
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:309 src/frontend/mame/ui/selsoft.cpp:211
#, c-format
msgid ""
-"[This option is currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"The selected option enables the following items:\n"
+"%s\n"
+" added to favorites list."
msgstr ""
+"%s\n"
+" afegit a la llista de favorits."
-#: src/frontend/mame/ui/devopt.cpp:44
+#: src/frontend/mame/ui/selgame.cpp:314 src/frontend/mame/ui/selgame.cpp:320
+#: src/frontend/mame/ui/selsoft.cpp:216
#, c-format
msgid ""
-"[This option is NOT currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"If you select this option, the following items will be enabled:\n"
+"%s\n"
+" removed from favorites list."
msgstr ""
+"%s\n"
+" suprimit de la llista de favorits."
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/selgame.cpp:437
+msgid "Configure Machine"
+msgstr "Configura la màquina"
+
+#: src/frontend/mame/ui/selgame.cpp:849
+#, c-format
+msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/selgame.cpp:850
#, c-format
-msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
-msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/selgame.cpp:851
+#, c-format
+msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %3$d.%4$06d MHz\n"
+#: src/frontend/mame/ui/selgame.cpp:855
+#, c-format
+msgid "Driver is Clone of\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/selgame.cpp:857
+msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/selgame.cpp:860
+msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/selgame.cpp:862
+msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:103
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+#: src/frontend/mame/ui/selgame.cpp:865
+msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+#: src/frontend/mame/ui/selgame.cpp:867
+msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/selgame.cpp:869
+msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
-#, c-format
-msgid " %1$d×%2$s\n"
+#: src/frontend/mame/ui/selgame.cpp:872
+msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/selgame.cpp:874
+msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:168
-#, c-format
-msgid ""
-"* BIOS settings:\n"
-" %1$d options [default: %2$s]\n"
+#: src/frontend/mame/ui/selgame.cpp:876
+msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:208 src/frontend/mame/ui/devopt.cpp:224
-#: src/frontend/mame/ui/devopt.cpp:269
-#, c-format
-msgid " %1$s [default: %2$s]\n"
+#: src/frontend/mame/ui/selgame.cpp:878
+msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
-#, c-format
-msgid " %1$s\n"
+#: src/frontend/mame/ui/selgame.cpp:880
+msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/selgame.cpp:883
+msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/selgame.cpp:885
+msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/selgame.cpp:887
+msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:889
+msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:892
+msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
-#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:894
+msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:897
+msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:899
+msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:902
+msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:904
+msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
-#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:907
+msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+#: src/frontend/mame/ui/selgame.cpp:909
+msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
-#, c-format
-msgid " %1$s [tag: %2$s]\n"
+#: src/frontend/mame/ui/selgame.cpp:912
+msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
+#: src/frontend/mame/ui/selgame.cpp:914
+msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+#: src/frontend/mame/ui/selgame.cpp:917
+msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
+#: src/frontend/mame/ui/selgame.cpp:919
+msgid "Disk\tImperfect\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:922
+msgid "Printer\tUnimplemented\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:924
+msgid "Printer\tImperfect\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:927
+msgid "LAN\tUnimplemented\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:929
+msgid "LAN\tImperfect\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:932
+msgid "WAN\tUnimplemented\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:934
+msgid "WAN\tImperfect\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:937
+msgid "Timing\tUnimplemented\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:939
+msgid "Timing\tImperfect\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tYes\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tNo\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tYes\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tNo\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tYes\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tNo\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tYes\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tNo\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tYes\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tNo\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tYes\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tNo\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tVertical\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tHorizontal\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tYes\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tNo\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:970
+msgid "ROM Audit Result\tOK\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:972
+msgid "ROM Audit Result\tBAD\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:975
+msgid "Samples Audit Result\tNone Needed\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:977
+msgid "Samples Audit Result\tOK\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:979
+msgid "Samples Audit Result\tBAD\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:983
+msgid ""
+"ROM Audit \tDisabled\n"
+"Samples Audit \tDisabled\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:1167
#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
+msgstr "%1$s %2$s (%3$d / %4$d màquines (%5$d BIOS))"
+
+#: src/frontend/mame/ui/selgame.cpp:1183 src/frontend/mame/ui/selsoft.cpp:555
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
+#: src/frontend/mame/ui/selgame.cpp:1185 src/frontend/mame/ui/selsoft.cpp:557
#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
+#: src/frontend/mame/ui/selgame.cpp:1195
#, c-format
-msgid "(results will be saved to %1$s)"
+msgid "Romset: %1$-.100s"
+msgstr "Conjunt de roms: %1$-.100s"
+
+#: src/frontend/mame/ui/selgame.cpp:1202
+#, c-format
+msgid "System: %1$-.100s"
+msgstr "Sistema: %1$-.100s"
+
+#: src/frontend/mame/ui/selgame.cpp:1239
+msgid ""
+"The selected machine is missing one or more required ROM or CHD images. "
+"Please select a different machine.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
+#: src/frontend/mame/ui/selgame.cpp:1245 src/frontend/mame/ui/selsoft.cpp:462
+msgid "Press any key to continue."
+msgstr ""
+
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
+msgstr "So"
+
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
+msgstr ""
+
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:57 src/frontend/mame/ui/utils.cpp:81
+msgid "Unfiltered"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:58 src/frontend/mame/ui/utils.cpp:82
+msgid "Available"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:59 src/frontend/mame/ui/utils.cpp:83
+msgid "Unavailable"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:60
+msgid "Working"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:61
+msgid "Not Working"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:62
+msgid "Mechanical"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:63
+msgid "Not Mechanical"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:64
+msgid "Category"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:65
+msgid "Favorites"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:67
+msgid "Not BIOS"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:84
+msgid "Parents"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/utils.cpp:85
+msgid "Clones"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:70
+msgid "Manufacturer"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:86
+msgid "Year"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:72
+msgid "Save Supported"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:73
+msgid "Save Unsupported"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:74
+msgid "CHD Required"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:75
+msgid "No CHD Required"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:76
+msgid "Vertical Screen"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:77
+msgid "Horizontal Screen"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:78 src/frontend/mame/ui/utils.cpp:94
+msgid "Custom Filter"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:87
+msgid "Publisher"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:88
+msgid "Supported"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:89
+msgid "Partially Supported"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:90
+msgid "Unsupported"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:91
+msgid "Release Region"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:92
+msgid "Device Type"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:93
+msgid "Software List"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:244
+msgid "<set up filters>"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:352
+msgid "Select custom filters:"
+msgstr "Selecciona filtres personalitzats:"
+
+#: src/frontend/mame/ui/utils.cpp:503
#, c-format
+msgid "Filter %1$u"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:518
+msgid "Remove last filter"
+msgstr "Suprimeix el darrer filtre"
+
+#: src/frontend/mame/ui/utils.cpp:520
+msgid "Add filter"
+msgstr "Afegeix un filtre"
+
+#: src/frontend/mame/ui/utils.cpp:959
+msgid "Select category:"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:990
+msgid "[no category INI files]"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:998
+msgid "[no groups in INI file]"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:1032
+msgid "No category INI files found"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:1037
+msgid "File"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:1041
+msgid "No groups found in category file"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:1046
+msgid "Group"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:1047
+msgid "Include clones"
+msgstr ""
+
+#: src/frontend/mame/ui/selsoft.cpp:456
msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
+"The selected software is missing one or more required files. Please select a "
+"different software.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
+#: src/frontend/mame/ui/selsoft.cpp:549
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgstr "%1$s %2$s (%3$d / %4$d paquets de programari)"
+
+#: src/frontend/mame/ui/selsoft.cpp:550
+#, c-format
+msgid "Driver: \"%1$s\" software list "
+msgstr ""
+
+#: src/frontend/mame/ui/filesel.cpp:260
+msgid "[create]"
+msgstr "[crea]"
+
+#: src/frontend/mame/ui/filesel.cpp:419
+#, c-format
+msgid "Error accessing %s"
msgstr ""
+#: src/frontend/mame/ui/filesel.cpp:515
+msgid "Select access mode"
+msgstr "Seleccioneu el mode d'accés"
+
+#: src/frontend/mame/ui/filesel.cpp:516
+msgid "Read-only"
+msgstr "Només lectura"
+
+#: src/frontend/mame/ui/filesel.cpp:518
+msgid "Read-write"
+msgstr "Lectura i escriptura"
+
+#: src/frontend/mame/ui/filesel.cpp:519
+msgid "Read this image, write to another image"
+msgstr "Llegeix aquesta imatge, escriu en una altra imatge"
+
+#: src/frontend/mame/ui/filesel.cpp:520
+msgid "Read this image, write to diff"
+msgstr "Llegeix aquesta imatge, escriu al diff"
+
#: src/frontend/mame/ui/imgcntrl.cpp:117
msgid "Cannot save over directory"
msgstr "No es pot desar damunt d'un directori"
@@ -2334,361 +2167,447 @@ msgstr ""
"El programari seleccionat manca una o més imatges ROM o CHD. Seleccioneu-ne "
"un diferent."
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
-msgstr ""
+#: src/frontend/mame/ui/menu.cpp:294
+msgid "Return to Machine"
+msgstr "Torna a la màquina"
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
+#: src/frontend/mame/ui/menu.cpp:299 src/frontend/mame/ui/menu.cpp:301
+msgid "Exit"
+msgstr "Surt"
+
+#: src/frontend/mame/ui/menu.cpp:306 src/frontend/mame/ui/menu.cpp:308
+msgid "Return to Previous Menu"
+msgstr "Torna al menú anterior"
+
+#: src/frontend/mame/ui/menu.cpp:742
+msgid "Auto"
+msgstr "Auto"
+
+#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:653
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
+"Comentari de la trampa:\n"
+"%s"
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
+#: src/frontend/mame/ui/cheatopt.cpp:105
+msgid "All cheats reloaded"
+msgstr "S'han tornat a carregar totes les trampes"
+
+#: src/frontend/mame/ui/cheatopt.cpp:136
+msgid "Autofire Settings"
+msgstr "Paràmetres d'autotret"
+
+#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:581
+msgid "Reset All"
+msgstr "Reinicialitza'ls tots"
+
+#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:582
+msgid "Reload All"
+msgstr "Torna a carregar-ho tot"
+
+#: src/frontend/mame/ui/cheatopt.cpp:273
+msgid "Autofire Status"
+msgstr "Estat d'autotret"
+
+#: src/frontend/mame/ui/cheatopt.cpp:316
+msgid "No buttons found on this machine!"
+msgstr "No s'ha trobat cap botó en aquesta màquina!"
+
+#: src/frontend/mame/ui/cheatopt.cpp:327 src/frontend/mame/ui/cheatopt.cpp:331
+msgid "Autofire Delay"
+msgstr "Retard d'autotret"
+
+#: src/frontend/mame/ui/ui.cpp:337
+msgid "This driver requires images to be loaded in the following device(s): "
msgstr ""
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
+#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
+msgid "Keyboard Emulation Status"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
+#: src/frontend/mame/ui/ui.cpp:1086
+msgid "Mode: PARTIAL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: src/frontend/mame/ui/ui.cpp:1087
+msgid "UI: Enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
+#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
+msgid "**Use ScrLock to toggle**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
+#: src/frontend/mame/ui/ui.cpp:1096
+msgid "Mode: FULL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
+#: src/frontend/mame/ui/ui.cpp:1097
+msgid "UI: Disabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
+#: src/frontend/mame/ui/ui.cpp:1249
+msgid "Autofire can't be enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/ui.cpp:1302
+#, c-format
+msgid ""
+"Are you sure you want to quit?\n"
+"\n"
+"Press ''%1$s'' to quit,\n"
+"Press ''%2$s'' to return to emulation."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/ui.cpp:1374
+msgid "Master Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/ui.cpp:1383
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/ui.cpp:1407
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/ui.cpp:1416
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/ui.cpp:1437
+#, c-format
+msgid "%1$s Refresh Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, c-format
+msgid "%1$s Brightness"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/ui.cpp:1444
+#, c-format
+msgid "%1$s Contrast"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/ui.cpp:1446
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/ui.cpp:1450
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/ui.cpp:1452
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
-msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+#: src/frontend/mame/ui/ui.cpp:1454
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-"Una o més ROM/CHD per a aquesta màquina són incorrectes. La màquina podria "
-"no executar-se correctament.\n"
-#: src/frontend/mame/ui/info.cpp:198
-msgid ""
-"There are known problems with this machine\n"
-"\n"
+#: src/frontend/mame/ui/ui.cpp:1456
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-"Hi ha problemes coneguts amb aquesta màquina\n"
-"\n"
-#: src/frontend/mame/ui/info.cpp:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/ui.cpp:1475
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-"Una o més ROM/CHD per a aquesta màquina no han estat bolcats correctament.\n"
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/ui.cpp:1477
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
+#: src/frontend/mame/ui/ui.cpp:1479
#, c-format
-msgid "%s"
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#: src/frontend/mame/ui/info.cpp:275
+#: src/frontend/mame/ui/ui.cpp:1481
#, c-format
-msgid ", %s"
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+#: src/frontend/mame/ui/ui.cpp:1493
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
+#: src/frontend/mame/ui/ui.cpp:1494
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
+#: src/frontend/mame/ui/ui.cpp:1495
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:243
-msgid ""
-"This machine was never completed. It may exhibit strange behavior or missing "
-"elements that are not bugs in the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1496
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:245
-msgid ""
-"This machine has no sound hardware, MAME will produce no sounds, this is "
-"expected behaviour.\n"
+#: src/frontend/mame/ui/ui.cpp:1511
+#, c-format
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:249
-msgid ""
-"\n"
-"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
-"complete. There is nothing you can do to fix this problem except wait for "
-"the developers to improve the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "X"
+msgstr "X"
+
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "Y"
+msgstr "Y"
+
+#: src/frontend/mame/ui/ui.cpp:1513
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-"\n"
-"AQUESTA MÀQUINA NO FUNCIONA. L'emulació per a aquesta màquina no és "
-"completa. No podeu fer res al respecte, tret d'esperar a que els "
-"desenvolupadors milloren l'emulació.\n"
-#: src/frontend/mame/ui/info.cpp:251
-msgid ""
-"\n"
-"Elements of this machine cannot be emulated as they requires physical "
-"interaction or consist of mechanical devices. It is not possible to fully "
-"experience this machine.\n"
+#: src/frontend/mame/ui/ui.cpp:1601
+#, c-format
+msgid "%1$3ddB"
+msgstr "%1$3ddB"
+
+#: src/frontend/mame/ui/ui.cpp:1645
+#, c-format
+msgid "%1$d%%"
+msgstr "%1$d%%"
+
+#: src/frontend/mame/ui/ui.cpp:1661
+#, c-format
+msgid "%1$3.0f%%"
+msgstr "%1$3.0f%%"
+
+#: src/frontend/mame/ui/ui.cpp:1685
+#, c-format
+msgid "%1$.3ffps"
+msgstr "%1$.3ffps"
+
+#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
+#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
+#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
+#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
+#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
+#: src/frontend/mame/ui/ui.cpp:1927
+#, c-format
+msgid "%1$.3f"
+msgstr "%1$.3f"
+
+#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
+#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
+#, c-format
+msgid "%1$1.2f"
+msgstr "%1$1.2f"
+
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/ui.cpp:2005
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-"\n"
-"\n"
-"Premeu qualsevol tecla per continuar"
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/ui.cpp:2024
#, c-format
-msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Controlador: %4$s\n"
-"\n"
-"CPU:\n"
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
-msgstr "MHz"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
-msgstr "kHz"
+#: src/frontend/mame/ui/ui.cpp:2226
+#, c-format
+msgid "**Error saving %s.ini**"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " COLORS"
+msgstr " COLORS"
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " PENS"
msgstr ""
-"\n"
-"So:\n"
-#: src/frontend/mame/ui/info.cpp:378
+#: src/frontend/mame/ui/devopt.cpp:39
+#, c-format
msgid ""
+"[This option is currently mounted in the running system]\n"
"\n"
-"Video:\n"
-msgstr ""
+"Option: %1$s\n"
+"Device: %2$s\n"
"\n"
-"Vídeo:\n"
-
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
-msgstr "Cap\n"
-
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
-msgstr "Vector"
+"The selected option enables the following items:\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:40
#, c-format
-msgid "%1$s: %2$s\n"
-msgstr "%1$s: %2$s\n"
+msgid ""
+"[This option is NOT currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"If you select this option, the following items will be enabled:\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
-msgstr "%2$s\n"
+#: src/frontend/mame/ui/devopt.cpp:48
+msgid "* CPU:\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
#, c-format
-msgid "Screen '%1$s'"
-msgstr "Pantalla «%1$s»"
+msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr "Pantalla"
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
+msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
-msgstr "No suportat"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %3$d.%4$06d MHz\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
-msgstr "Parcialment suportat"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %5$d.%6$03d kHz\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
-msgstr "[buit]"
+#: src/frontend/mame/ui/devopt.cpp:85
+msgid "* Video:\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
-msgstr "Quadres de control"
+#: src/frontend/mame/ui/devopt.cpp:90
+#, c-format
+msgid " Screen '%1$s': Vector\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:99
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
-msgstr "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:100
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
-msgstr "Afegeix o suprimeix favorits"
+#: src/frontend/mame/ui/devopt.cpp:113
+msgid "* Sound:\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
-msgstr "Exporta la llista mostrada a un fitxer"
+#: src/frontend/mame/ui/devopt.cpp:133
+#, c-format
+msgid " %1$d×%2$s\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
-msgstr "Mostra la visualitzció de DAT"
+#: src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
-msgstr "Selecció de part de programari:"
+#: src/frontend/mame/ui/devopt.cpp:164
+#, c-format
+msgid ""
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:204 src/frontend/mame/ui/devopt.cpp:220
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
+#: src/frontend/mame/ui/devopt.cpp:209 src/frontend/mame/ui/devopt.cpp:225
#, c-format
-msgid "Software is clone of: %1$-.100s"
-msgstr "El programari és un clon de: %1$-.100s"
+msgid " %1$s\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
-msgstr "El programari és el pare"
+#: src/frontend/mame/ui/devopt.cpp:230
+msgid "* DIP switch settings:\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
-msgstr "Suportat: No"
+#: src/frontend/mame/ui/devopt.cpp:232
+msgid "* Configuration settings:\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
-msgstr "Suportat: Parcialment"
+#: src/frontend/mame/ui/devopt.cpp:234
+msgid "* Input device(s):\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
-msgstr "Suportat: Sí"
+#: src/frontend/mame/ui/devopt.cpp:236
+#, c-format
+msgid " User inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
+#: src/frontend/mame/ui/devopt.cpp:238
#, c-format
-msgid "romset: %1$-.100s"
-msgstr "Conjunt de ROM: %1$-.100s"
+msgid " Mahjong inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
+#: src/frontend/mame/ui/devopt.cpp:240
#, c-format
-msgid "Driver is clone of: %1$-.100s"
-msgstr "El control·lador és un clon de: %1$-.100s"
+msgid " Hanafuda inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
-msgstr "El controlador és el pare"
+#: src/frontend/mame/ui/devopt.cpp:242
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
+#: src/frontend/mame/ui/devopt.cpp:244
#, c-format
-msgid "%1$s %2$s"
-msgstr "%1$s %2$s"
+msgid " Analog inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
-msgstr "Imatges"
+#: src/frontend/mame/ui/devopt.cpp:246
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
-msgstr "Infos"
+#: src/frontend/mame/ui/devopt.cpp:248
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
-msgstr "Ús"
+#: src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
-msgstr "Informació general"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* Media Options:\n"
+msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
-msgstr "Interfície d'usuari"
+#: src/frontend/mame/ui/devopt.cpp:257
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
+msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
-msgstr "Altres controls"
+#: src/frontend/mame/ui/devopt.cpp:263
+msgid "* Slot Options:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:270
+msgid "[None]\n"
+msgstr ""
#: plugins/timer/init.lua:94
msgid "Current time"
@@ -2706,51 +2625,51 @@ msgstr ""
msgid "Timer"
msgstr ""
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:510
msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheat/init.lua:534
+#: plugins/cheat/init.lua:516
msgid "Press button for hotkey or wait to clear"
msgstr ""
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:528
msgid "None"
msgstr ""
-#: plugins/cheat/init.lua:551
+#: plugins/cheat/init.lua:533
msgid "Done"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:547 plugins/cheat/init.lua:561
msgid "Set"
msgstr ""
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:580
msgid "Set hotkeys"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:720
#, lua-format
msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:723 plugins/cheat/init.lua:781
#, lua-format
msgid "Activated: %s"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:785
#, lua-format
msgid "Enabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:790
#, lua-format
msgid "Disabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "%s added"
msgstr ""
@@ -2799,304 +2718,219 @@ msgstr ""
msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:404
+#: plugins/cheatfind/init.lua:373
msgid "Save Cheat"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Default"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Custom"
msgstr ""
-#: plugins/cheatfind/init.lua:408
+#: plugins/cheatfind/init.lua:377
msgid "Cheat Name"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/cheatfind/init.lua:383 plugins/cheatfind/init.lua:748
#, lua-format
msgid "Default name is %s"
msgstr ""
-#: plugins/cheatfind/init.lua:422
+#: plugins/cheatfind/init.lua:391
msgid "Player"
msgstr ""
-#: plugins/cheatfind/init.lua:427
+#: plugins/cheatfind/init.lua:396
msgid "Type"
msgstr ""
-#: plugins/cheatfind/init.lua:433
+#: plugins/cheatfind/init.lua:402
msgid "Save"
msgstr ""
-#: plugins/cheatfind/init.lua:462
+#: plugins/cheatfind/init.lua:429
#, lua-format
msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:472
+#: plugins/cheatfind/init.lua:437
msgid "Cheat added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:442
msgid ""
"Unable to write file\n"
"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/cheatfind/init.lua:486
+#: plugins/cheatfind/init.lua:451
msgid "Cancel"
msgstr ""
-#: plugins/cheatfind/init.lua:491
+#: plugins/cheatfind/init.lua:456
msgid "CPU or RAM"
msgstr ""
-#: plugins/cheatfind/init.lua:495
+#: plugins/cheatfind/init.lua:460
msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:479
+msgid "Data cleared and current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:487
+msgid "Start new search"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:497
+msgid "Current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:504
+msgid "Save current -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
+#: plugins/cheatfind/init.lua:536
#, lua-format
-msgid "Memory State saved to Slot %d"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:543
+msgid "Compare"
msgstr ""
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
+#: plugins/cheatfind/init.lua:546
+msgid "Left operand"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:549
+msgid "Current"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:554
+msgid "Operator"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:561
+msgid "Left less than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:676
+#: plugins/cheatfind/init.lua:563
+msgid "Left greater than right, value is difference"
+msgstr ""
+
+#: plugins/cheatfind/init.lua:565
msgid "Left equal to right"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:567
+msgid "Left not equal to right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:680
+#: plugins/cheatfind/init.lua:569
msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:682
+#: plugins/cheatfind/init.lua:571
msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:684
+#: plugins/cheatfind/init.lua:573
msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:686
+#: plugins/cheatfind/init.lua:575
msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:688
+#: plugins/cheatfind/init.lua:577
msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:690
+#: plugins/cheatfind/init.lua:579
msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/cheatfind/init.lua:590
+msgid "Right operand"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/cheatfind/init.lua:598
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:719
+#: plugins/cheatfind/init.lua:602
msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:725
+#: plugins/cheatfind/init.lua:608
msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:738
-msgid ""
-"Use this if you want to poke the Slot 1 value (eg. You started with "
-"something but lost it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:740
-msgid ""
-"Use this if you want to poke the Last Slot value (eg. You started without an "
-"item but finally got it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:816
+#: plugins/cheatfind/init.lua:632
msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:820
+#: plugins/cheatfind/init.lua:636
msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:823
+#: plugins/cheatfind/init.lua:639
msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheatfind/init.lua:690
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Test cheat at addr %08X"
msgstr ""
-#: plugins/cheatfind/init.lua:974
+#: plugins/cheatfind/init.lua:722
msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
+#: plugins/cheatfind/init.lua:788
msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
+#: plugins/cheatfind/init.lua:806
msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
+#: plugins/cheatfind/init.lua:816
msgid "Cheat Finder"
msgstr ""
-#: plugins/portname/init.lua:103
+#: plugins/portname/init.lua:69
msgid "Save input names to file"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
+#: plugins/portname/init.lua:100 plugins/portname/init.lua:105
+#: plugins/portname/init.lua:121
msgid "Failed to save input name file"
msgstr ""
-#: plugins/portname/init.lua:167
+#: plugins/portname/init.lua:133
#, lua-format
msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/portname/init.lua:172
+#: plugins/portname/init.lua:138
msgid "Input ports"
msgstr ""
diff --git a/language/Chinese_Simplified/strings.po b/language/Chinese_Simplified/strings.po
index 518f50dac01..f6735bf78be 100644
--- a/language/Chinese_Simplified/strings.po
+++ b/language/Chinese_Simplified/strings.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MAME\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-03-17 13:37+1100\n"
+"POT-Creation-Date: 2018-04-28 15:32+1000\n"
"PO-Revision-Date: 2018-04-28 19:01+0800\n"
"Last-Translator: YuiFAN\n"
"Language-Team: MAME Language Team\n"
@@ -17,61 +17,238 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
+#: src/frontend/mame/ui/auditmenu.cpp:96
#, c-format
-msgid "Screen #%d"
-msgstr "ç”»é¢ #%d"
+msgid "Audit ROMs for %1$u machines marked unavailable?"
+msgstr "校验标记为ä¸å¯ç”¨çš„ %1$u 机å°çš„ ROM 档案?"
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr "旋转"
+#: src/frontend/mame/ui/auditmenu.cpp:99
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
+msgstr "校验所有 %1$u 机å°çš„ ROM 档案?"
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr "背景图"
+#: src/frontend/mame/ui/auditmenu.cpp:104
+#, c-format
+msgid "(results will be saved to %1$s)"
+msgstr "(结果将ä¿å­˜åœ¨ %1$s)"
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Enabled"
-msgstr "å·²å¯ç”¨"
+#: src/frontend/mame/ui/auditmenu.cpp:130
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
+msgstr ""
+"æ­£åœ¨æ ¡éªŒä¾›æœºå° %2$u çš„ %3$u ROM 档案...\n"
+"%1$s"
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Disabled"
-msgstr "å·²åœç”¨"
+#: src/frontend/mame/ui/auditmenu.cpp:142
+msgid "Start Audit"
+msgstr "开始校验"
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr "覆å å›¾"
+#: src/frontend/mame/ui/selmenu.cpp:49 src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Snapshots"
+msgstr "å¿«ç…§ (snap)"
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr "外框图"
+#: src/frontend/mame/ui/selmenu.cpp:50 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cabinets"
+msgstr "机械图 (cabinets)"
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
-msgstr "æ“作å°"
+#: src/frontend/mame/ui/selmenu.cpp:51
+msgid "Control Panels"
+msgstr "æŽ§åˆ¶é¢æ¿"
+
+#: src/frontend/mame/ui/selmenu.cpp:52 src/frontend/mame/ui/dirmenu.cpp:50
+msgid "PCBs"
+msgstr "PCB 图"
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
+#: src/frontend/mame/ui/selmenu.cpp:53 src/frontend/mame/ui/dirmenu.cpp:47
+msgid "Flyers"
+msgstr "广告图 (flyers)"
+
+#: src/frontend/mame/ui/selmenu.cpp:54 src/frontend/mame/ui/dirmenu.cpp:48
+msgid "Titles"
+msgstr "标题图 (titles)"
+
+#: src/frontend/mame/ui/selmenu.cpp:55 src/frontend/mame/ui/dirmenu.cpp:49
+msgid "Ends"
+msgstr "结æŸå›¾ (ends)"
+
+#: src/frontend/mame/ui/selmenu.cpp:56
+msgid "Artwork Preview"
+msgstr "装饰图预览"
+
+#: src/frontend/mame/ui/selmenu.cpp:57 src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Bosses"
+msgstr "首领"
+
+#: src/frontend/mame/ui/selmenu.cpp:58 src/frontend/mame/ui/dirmenu.cpp:60
+msgid "Logos"
+msgstr "标题图"
+
+#: src/frontend/mame/ui/selmenu.cpp:59 src/frontend/mame/ui/dirmenu.cpp:62
+msgid "Versus"
+msgstr "对战"
+
+#: src/frontend/mame/ui/selmenu.cpp:60
+msgid "Game Over"
+msgstr "游æˆç»“æŸ"
+
+#: src/frontend/mame/ui/selmenu.cpp:61 src/frontend/mame/ui/dirmenu.cpp:59
+msgid "HowTo"
+msgstr "说明"
+
+#: src/frontend/mame/ui/selmenu.cpp:62 src/frontend/mame/ui/dirmenu.cpp:61
+msgid "Scores"
+msgstr "得分"
+
+#: src/frontend/mame/ui/selmenu.cpp:63 src/frontend/mame/ui/dirmenu.cpp:57
+msgid "Select"
+msgstr "选择"
+
+#: src/frontend/mame/ui/selmenu.cpp:64 src/frontend/mame/ui/dirmenu.cpp:51
+#: src/frontend/mame/ui/videoopt.cpp:224
msgid "Marquees"
msgstr "è´´ç”» (marquees)"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
-msgstr "检视"
+#: src/frontend/mame/ui/selmenu.cpp:65 src/frontend/mame/ui/dirmenu.cpp:63
+msgid "Covers"
+msgstr "å°é¢"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
-msgstr "è£åˆ‡"
+#: src/frontend/mame/ui/selmenu.cpp:69
+msgid "Add or remove favorites"
+msgstr "新增或移除最爱"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
-msgstr "全部"
+#: src/frontend/mame/ui/selmenu.cpp:70
+msgid "Export displayed list to file"
+msgstr "汇出显示的清å•至档案"
+
+#: src/frontend/mame/ui/selmenu.cpp:71
+msgid "Show DATs view"
+msgstr "显示文件检视"
+
+#: src/frontend/mame/ui/selmenu.cpp:237
+msgid "Software part selection:"
+msgstr "软件部分选项: "
+
+#: src/frontend/mame/ui/selmenu.cpp:343
+msgid "BIOS selection:"
+msgstr "选择 BIOS:"
+
+#: src/frontend/mame/ui/selmenu.cpp:570 src/frontend/mame/ui/selmenu.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:311
+#, c-format
+msgid "%1$s, %2$-.100s"
+msgstr "%1$s, %2$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:574
+#, c-format
+msgid "Software is clone of: %1$-.100s"
+msgstr "软件相容于: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:576
+msgid "Software is parent"
+msgstr "软件为主档"
+
+#: src/frontend/mame/ui/selmenu.cpp:581
+msgid "Supported: No"
+msgstr "已支æ´ï¼š å¦"
+
+#: src/frontend/mame/ui/selmenu.cpp:586
+msgid "Supported: Partial"
+msgstr "已支æ´ï¼š 部分"
+
+#: src/frontend/mame/ui/selmenu.cpp:591
+msgid "Supported: Yes"
+msgstr "已支æ´ï¼š 是"
+
+#: src/frontend/mame/ui/selmenu.cpp:596
+#, c-format
+msgid "romset: %1$-.100s"
+msgstr "Rom套: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:612
+#, c-format
+msgid "Driver is clone of: %1$-.100s"
+msgstr "驱动相容于: %-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:614
+msgid "Driver is parent"
+msgstr "驱动为主档"
+
+#: src/frontend/mame/ui/selmenu.cpp:619
+#: src/frontend/mame/ui/simpleselgame.cpp:330
+msgid "Overall: NOT WORKING"
+msgstr "整体: ä¸å¯æ‰§è¡Œ"
+
+#: src/frontend/mame/ui/selmenu.cpp:621
+#: src/frontend/mame/ui/simpleselgame.cpp:332
+msgid "Overall: Unemulated Protection"
+msgstr "整体: æœªæ¨¡æ‹Ÿä¿æŠ¤"
+
+#: src/frontend/mame/ui/selmenu.cpp:623
+#: src/frontend/mame/ui/simpleselgame.cpp:334
+msgid "Overall: Working"
+msgstr "整体: å¯ä»¥æ‰§è¡Œ"
+
+#: src/frontend/mame/ui/selmenu.cpp:627
+#: src/frontend/mame/ui/simpleselgame.cpp:338
+msgid "Graphics: Unimplemented, "
+msgstr "图形: ä¸å®Œæ•´ï¼Œ"
+
+#: src/frontend/mame/ui/selmenu.cpp:629
+#: src/frontend/mame/ui/simpleselgame.cpp:340
+msgid "Graphics: Imperfect, "
+msgstr "图形: ä¸å®Œç¾Žï¼Œ "
+
+#: src/frontend/mame/ui/selmenu.cpp:631
+#: src/frontend/mame/ui/simpleselgame.cpp:342
+msgid "Graphics: OK, "
+msgstr "图形: OK, "
+
+#: src/frontend/mame/ui/selmenu.cpp:634
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+msgid "Sound: None"
+msgstr "声音: 无"
+
+#: src/frontend/mame/ui/selmenu.cpp:636
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+msgid "Sound: Unimplemented"
+msgstr "声音: 无法执行"
+
+#: src/frontend/mame/ui/selmenu.cpp:638
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+msgid "Sound: Imperfect"
+msgstr "声音: ä¸å®Œç¾Ž"
+
+#: src/frontend/mame/ui/selmenu.cpp:640
+#: src/frontend/mame/ui/simpleselgame.cpp:351
+msgid "Sound: OK"
+msgstr "声音: OK"
+
+#: src/frontend/mame/ui/selmenu.cpp:650
+#, c-format
+msgid "%1$s %2$s"
+msgstr "%1$s %2$s"
+
+#: src/frontend/mame/ui/selmenu.cpp:1975
+msgid "Images"
+msgstr "图åƒ"
+
+#: src/frontend/mame/ui/selmenu.cpp:1976
+msgid "Infos"
+msgstr "ä¿¡æ¯"
+
+#: src/frontend/mame/ui/selmenu.cpp:2386 src/frontend/mame/ui/miscmenu.cpp:826
+msgid " (default)"
+msgstr " (缺çœ)"
+
+#: src/frontend/mame/ui/selmenu.cpp:2454
+msgid "Usage"
+msgstr "用法"
+
+#: src/frontend/mame/ui/selmenu.cpp:2489
+msgid "General Info"
+msgstr "一般信æ¯"
#: src/frontend/mame/ui/dirmenu.cpp:35
msgid "ROMs"
@@ -113,30 +290,6 @@ msgstr "图示"
msgid "Cheats"
msgstr "ä½œå¼Šç æ–‡ä»¶ (cheat)"
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
-msgstr "å¿«ç…§ (snap)"
-
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
-msgstr "机械图 (cabinets)"
-
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
-msgstr "广告图 (flyers)"
-
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
-msgstr "标题图 (titles)"
-
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
-msgstr "结æŸå›¾ (ends)"
-
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
-msgstr "PCB 图"
-
#: src/frontend/mame/ui/dirmenu.cpp:52
msgid "Controls Panels"
msgstr "æŽ§åˆ¶é¢æ¿"
@@ -149,42 +302,14 @@ msgstr "å字准星"
msgid "Artworks"
msgstr "装饰图"
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
-msgstr "首领"
-
#: src/frontend/mame/ui/dirmenu.cpp:56
msgid "Artworks Preview"
msgstr "装饰图预览"
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
-msgstr "选择"
-
#: src/frontend/mame/ui/dirmenu.cpp:58
msgid "GameOver"
msgstr "游æˆç»“æŸ"
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
-msgstr "说明"
-
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
-msgstr "标题图"
-
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
-msgstr "得分"
-
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
-msgstr "对战"
-
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
-msgstr "å°é¢"
-
#: src/frontend/mame/ui/dirmenu.cpp:116
msgid "Folders Setup"
msgstr "文件夹设定"
@@ -225,14 +350,266 @@ msgstr "按下 TAB 键设定"
msgid "Remove %1$s Folder"
msgstr "移除 %1$s 文件夹"
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
-msgstr "é€‰é¡¹æ¸…å• - æœå¯»ï¼š "
+#: src/frontend/mame/ui/info.cpp:30
+msgid "protection"
+msgstr "ä¿æŠ¤"
+
+#: src/frontend/mame/ui/info.cpp:31
+msgid "color palette"
+msgstr "色盘"
+
+#: src/frontend/mame/ui/info.cpp:32
+msgid "graphics"
+msgstr "图形"
+
+#: src/frontend/mame/ui/info.cpp:33
+msgid "sound"
+msgstr "声音"
+
+#: src/frontend/mame/ui/info.cpp:34
+msgid "controls"
+msgstr "控制"
-#: src/frontend/mame/ui/selector.cpp:123
+#: src/frontend/mame/ui/info.cpp:35
+msgid "keyboard"
+msgstr "键盘"
+
+#: src/frontend/mame/ui/info.cpp:36
+msgid "mouse"
+msgstr "滑鼠"
+
+#: src/frontend/mame/ui/info.cpp:37
+msgid "microphone"
+msgstr "麦克风"
+
+#: src/frontend/mame/ui/info.cpp:38
+msgid "camera"
+msgstr "相机"
+
+#: src/frontend/mame/ui/info.cpp:39
+msgid "disk"
+msgstr "ç£ç¢Ÿ"
+
+#: src/frontend/mame/ui/info.cpp:40
+msgid "printer"
+msgstr "å°è¡¨æœº"
+
+#: src/frontend/mame/ui/info.cpp:41
+msgid "LAN"
+msgstr "区域网"
+
+#: src/frontend/mame/ui/info.cpp:42
+msgid "WAN"
+msgstr "广域网"
+
+#: src/frontend/mame/ui/info.cpp:43
+msgid "timing"
+msgstr "计时"
+
+#: src/frontend/mame/ui/info.cpp:180
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
+msgstr "本机械有一个或更多的 ROM/CHD æ˜¯ä¸æ­£ç¡®çš„。此机械å¯èƒ½æ— æ³•正确执行。\n"
+
+#: src/frontend/mame/ui/info.cpp:190
+msgid ""
+"There are known problems with this machine\n"
+"\n"
+msgstr ""
+"本机械已知具有下列的问题\n"
+"\n"
+
+#: src/frontend/mame/ui/info.cpp:195
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+msgstr "本机械有一个或更多的 ROM/CHD 尚未正确地被 DUMP。\n"
+
+#: src/frontend/mame/ui/info.cpp:200
+msgid "Completely unemulated features: "
+msgstr "未完整模拟功能: "
+
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
#, c-format
-msgid "Double click or press %1$s to select"
-msgstr "åŒå‡»æˆ–按下 %1$s 以选择"
+msgid "%s"
+msgstr "%s"
+
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#: src/frontend/mame/ui/info.cpp:267
+#, c-format
+msgid ", %s"
+msgstr ", %s"
+
+#: src/frontend/mame/ui/info.cpp:216
+msgid "Imperfectly emulated features: "
+msgstr "未完美模拟功能: "
+
+#: src/frontend/mame/ui/info.cpp:231
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr "尚未支æ´å°é¢åž‹ç­ä½“模å¼çš„ç”»é¢ç¿»è½¬ã€‚"
+
+#: src/frontend/mame/ui/info.cpp:233
+msgid "This machine requires external artwork files.\n"
+msgstr "此机械需è¦é¢å¤–的装饰图档"
+
+#: src/frontend/mame/ui/info.cpp:235
+msgid ""
+"This machine was never completed. It may exhibit strange behavior or missing "
+"elements that are not bugs in the emulation.\n"
+msgstr "本机械无法完æˆï¼Œå¹¶éžæ¨¡æ‹Ÿä¸­çš„错误而å¯èƒ½å‘ˆçŽ°æ€ªå¼‚çš„è¡Œä¸ºæˆ–ç¼ºå°‘å…ƒä»¶ã€‚\n"
+
+#: src/frontend/mame/ui/info.cpp:237
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
+msgstr "本机械无声音硬体,故 MAME å°†ä¸ä¼šäº§ç”Ÿå£°éŸ³ï¼Œè¿™æ˜¯å¯é¢„期的行为。\n"
+
+#: src/frontend/mame/ui/info.cpp:241
+msgid ""
+"\n"
+"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
+"complete. There is nothing you can do to fix this problem except wait for "
+"the developers to improve the emulation.\n"
+msgstr ""
+"\n"
+"此机械无法执行,机械的模拟还ä¸å®Œå…¨ã€‚除了等待开å‘人员改良模拟之外,没有方法å¯"
+"以解决这个问题。\n"
+
+#: src/frontend/mame/ui/info.cpp:243
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they requires physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
+msgstr ""
+"此机械的部分元件无法模拟,因其需è¦å®žé™…活动的互动或机械装置的组åˆã€‚故无法完æˆ"
+"此机械的体验。\n"
+
+#: src/frontend/mame/ui/info.cpp:265
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
+msgstr ""
+"\n"
+"\n"
+"æœ¬æœºæ¢°å°šæœ‰å¯æ‰§è¡Œçš„彷製版: %s"
+
+#: src/frontend/mame/ui/info.cpp:278
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+"\n"
+"\n"
+"æŒ‰ä»»æ„æŒ‰é”®ç»§ç»­"
+
+#: src/frontend/mame/ui/info.cpp:293
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
+msgstr ""
+"%1$s\n"
+"%2$s %3$s\n"
+"驱动: %4$s\n"
+"\n"
+"CPU:\n"
+
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "MHz"
+msgstr "MHz"
+
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "kHz"
+msgstr "kHz"
+
+#: src/frontend/mame/ui/info.cpp:342
+msgid ""
+"\n"
+"Sound:\n"
+msgstr ""
+"\n"
+"声音:\n"
+
+#: src/frontend/mame/ui/info.cpp:370
+msgid ""
+"\n"
+"Video:\n"
+msgstr ""
+"\n"
+"视讯:\n"
+
+#: src/frontend/mame/ui/info.cpp:374
+msgid "None\n"
+msgstr "æ— \n"
+
+#: src/frontend/mame/ui/info.cpp:381
+msgid "Vector"
+msgstr "å‘é‡"
+
+#: src/frontend/mame/ui/info.cpp:392
+#, c-format
+msgid "%1$s: %2$s\n"
+msgstr "%1$s: %2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:392
+msgid "%2$s\n"
+msgstr "%2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:438
+#, c-format
+msgid "Screen '%1$s'"
+msgstr "ç”»é¢ '%1$s'"
+
+#: src/frontend/mame/ui/info.cpp:440
+msgid "Screen"
+msgstr "ç”»é¢"
+
+#: src/frontend/mame/ui/info.cpp:525
+msgid "Not supported"
+msgstr "䏿”¯æ´"
+
+#: src/frontend/mame/ui/info.cpp:528
+msgid "Partially supported"
+msgstr "部分支æ´"
+
+#: src/frontend/mame/ui/info.cpp:536
+msgid "[empty]"
+msgstr "[ 空 ]"
+
+#: src/frontend/mame/ui/optsmenu.cpp:193
+msgid "Filter"
+msgstr "筛选"
+
+#: src/frontend/mame/ui/optsmenu.cpp:206
+msgid "Customize UI"
+msgstr "自订 UI"
+
+#: src/frontend/mame/ui/optsmenu.cpp:207
+msgid "Configure Directories"
+msgstr "设定目录"
+
+#: src/frontend/mame/ui/optsmenu.cpp:210 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
+msgstr "声音选项"
+
+#: src/frontend/mame/ui/optsmenu.cpp:213
+msgid "General Inputs"
+msgstr "一般输入"
+
+#: src/frontend/mame/ui/optsmenu.cpp:216
+msgid "Save Configuration"
+msgstr "ä¿å­˜è®¾å®š"
+
+#: src/frontend/mame/ui/optsmenu.cpp:228
+msgid "Settings"
+msgstr "设定"
#: src/frontend/mame/ui/tapectrl.cpp:85
msgid "stopped"
@@ -274,8 +651,30 @@ msgstr "倒带"
msgid "Fast Forward"
msgstr "å¿«è¿›"
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
-#: src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/inputmap.cpp:53
+msgid "User Interface"
+msgstr "使用者介é¢"
+
+#: src/frontend/mame/ui/inputmap.cpp:59
+msgid "Other Controls"
+msgstr "其他控制"
+
+#: src/frontend/mame/ui/inputmap.cpp:628 src/frontend/mame/ui/miscmenu.cpp:96
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr "é‡è®¾"
+
+#: src/frontend/mame/ui/selector.cpp:116
+msgid "Selection List - Search: "
+msgstr "é€‰é¡¹æ¸…å• - æœå¯»ï¼š "
+
+#: src/frontend/mame/ui/selector.cpp:124
+#, c-format
+msgid "Double click or press %1$s to select"
+msgstr "åŒå‡»æˆ–按下 %1$s 以选择"
+
+#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/filesel.cpp:256
msgid "[empty slot]"
msgstr "[ç©ºæ’æ§½]"
@@ -316,182 +715,6 @@ msgstr "软件用法"
msgid "Revision: "
msgstr "版本: "
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
-msgstr "档案已存在 — 是å¦è¦†å†™ï¼Ÿ"
-
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
-msgstr "å¦"
-
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
-msgstr "是"
-
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
-msgstr "æ–°æ˜ åƒæ¡£å称:"
-
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
-msgstr "æ˜ åƒæ¡£æ ¼å¼"
-
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
-msgstr "建立"
-
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
-msgstr "请一并输入副档å"
-
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
-msgstr "é€‰æ‹©æ˜ åƒæ¡£æ ¼å¼"
-
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
-msgstr "输入设定 (一般)"
-
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
-msgstr "输入设定 (本机器)"
-
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
-msgstr "类比控制"
-
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
-msgstr "机械设定开关"
-
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
-msgstr "机器设定"
-
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
-msgstr "收入信æ¯"
-
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
-msgstr "机器信æ¯"
-
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
-msgstr "æ˜ åƒæ¡£ä¿¡æ¯"
-
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
-msgstr "文件管ç†å™¨"
-
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
-msgstr "ç£å¸¦æŽ§åˆ¶"
-
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
-msgstr "伪终端"
-
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
-msgstr "选择 BIOS"
-
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
-msgstr "æ’æ§½è®¾å¤‡"
-
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
-msgstr "æ¡ç è¯»å–器"
-
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
-msgstr "网路装置"
-
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
-msgstr "键盘模å¼"
-
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
-msgstr "傿•°è°ƒæ•´"
-
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
-msgstr "视频选项"
-
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
-msgstr "å字准星选项"
-
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
-msgstr "游æˆä½œå¼Š"
-
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
-msgstr "æ’件选项"
-
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
-msgstr "檢視外部文件"
-
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
-msgstr "新增至最爱"
-
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
-msgstr "从最爱移除"
-
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
-msgstr "选择新机器"
-
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
-msgstr "æ–°æ¡ç ï¼š"
-
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
-msgstr "输入æ¡ç "
-
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
-msgstr "æ¡ç é•¿åº¦æ— æ•ˆï¼"
-
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
-msgstr "[ 错误 ]"
-
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
-msgstr "声音选项"
-
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
-msgstr "一般输入"
-
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
-msgstr "ä¿å­˜è®¾å®š"
-
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
-msgstr "设定"
-
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
-msgstr "筛选"
-
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
-msgstr "自订 UI"
-
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
-msgstr "设定目录"
-
#: src/frontend/mame/ui/simpleselgame.cpp:149
msgid ""
"The selected game is missing one or more required ROM or CHD images. Please "
@@ -502,7 +725,7 @@ msgstr ""
"选定的游æˆç¼ºå°‘一个至多个必è¦çš„ ROM 或 CHD æ˜ åƒæ¡£ï¼Œè¯·é€‰æ‹©å…¶ä»–游æˆã€‚\n"
"按任æ„键继续。"
-#: src/frontend/mame/ui/simpleselgame.cpp:247
+#: src/frontend/mame/ui/simpleselgame.cpp:241
#, c-format
msgid ""
"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
@@ -515,327 +738,197 @@ msgstr ""
"如果此为首次使用 %2$s,请å‚阅 docs 目录中的 config.txt 以å–得设定 %2$s 的相关"
"ä¿¡æ¯ã€‚"
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:271
+#: src/frontend/mame/ui/selgame.cpp:436
msgid "Configure Options"
msgstr "设定选项"
-#: src/frontend/mame/ui/simpleselgame.cpp:298
+#: src/frontend/mame/ui/simpleselgame.cpp:292
#, c-format
msgid "Type name or select: %1$s_"
msgstr "输入å称或选择: %1$s_"
-#: src/frontend/mame/ui/simpleselgame.cpp:300
+#: src/frontend/mame/ui/simpleselgame.cpp:294
msgid "Type name or select: (random)"
msgstr "输入å称或选择: (éšæœº)"
-#: src/frontend/mame/ui/simpleselgame.cpp:314
-#: src/frontend/mame/ui/selsoft.cpp:652 src/frontend/mame/ui/selsoft.cpp:659
+#: src/frontend/mame/ui/simpleselgame.cpp:308
+#: src/frontend/mame/ui/selsoft.cpp:564 src/frontend/mame/ui/selsoft.cpp:571
#, c-format
msgid "%1$-.100s"
msgstr "%1$-.100s"
-#: src/frontend/mame/ui/simpleselgame.cpp:317
-#: src/frontend/mame/ui/selmenu.cpp:618 src/frontend/mame/ui/selmenu.cpp:654
-#, c-format
-msgid "%1$s, %2$-.100s"
-msgstr "%1$s, %2$-.100s"
-
-#: src/frontend/mame/ui/simpleselgame.cpp:320
+#: src/frontend/mame/ui/simpleselgame.cpp:314
#, c-format
msgid "Driver: %1$-.100s"
msgstr "驱动: %-.100s\n"
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
-msgstr "整体: ä¸å¯æ‰§è¡Œ"
+#: src/frontend/mame/ui/videoopt.cpp:56
+#, c-format
+msgid "Screen #%d"
+msgstr "ç”»é¢ #%d"
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
-msgstr "整体: æœªæ¨¡æ‹Ÿä¿æŠ¤"
+#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
+msgid "Rotate"
+msgstr "旋转"
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
-msgstr "整体: å¯ä»¥æ‰§è¡Œ"
+#: src/frontend/mame/ui/videoopt.cpp:208
+msgid "Backdrops"
+msgstr "背景图"
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
-msgstr "图形: ä¸å®Œæ•´ï¼Œ"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Enabled"
+msgstr "å·²å¯ç”¨"
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
-msgstr "图形: ä¸å®Œç¾Žï¼Œ "
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Disabled"
+msgstr "å·²åœç”¨"
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
-msgstr "图形: OK, "
+#: src/frontend/mame/ui/videoopt.cpp:212
+msgid "Overlays"
+msgstr "覆å å›¾"
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
-msgstr "声音: 无"
+#: src/frontend/mame/ui/videoopt.cpp:216
+msgid "Bezels"
+msgstr "外框图"
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
-msgstr "声音: 无法执行"
+#: src/frontend/mame/ui/videoopt.cpp:220
+msgid "CPanels"
+msgstr "æ“作å°"
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
-msgstr "声音: ä¸å®Œç¾Ž"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "View"
+msgstr "检视"
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
-msgstr "声音: OK"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cropped"
+msgstr "è£åˆ‡"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
-msgstr "载入状æ€"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Full"
+msgstr "全部"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
-msgstr "选择载入ä½ç½®"
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
+msgstr "档案已存在 — 是å¦è¦†å†™ï¼Ÿ"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
-msgstr "ä¿å­˜çжæ€"
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1047
+msgid "No"
+msgstr "å¦"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
-msgstr "选择ä¿å­˜ä½ç½®"
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1047
+msgid "Yes"
+msgstr "是"
-#: src/frontend/mame/ui/ui.cpp:337
-msgid "This driver requires images to be loaded in the following device(s): "
-msgstr "此驱动需è¦é¢å¤–è½½å…¥ä¸‹åˆ—è£…ç½®çš„æ˜ åƒæ¡£: "
+#: src/frontend/mame/ui/filecreate.cpp:171
+msgid "New Image Name:"
+msgstr "æ–°æ˜ åƒæ¡£å称:"
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
-msgstr "键盘模拟状æ€"
+#: src/frontend/mame/ui/filecreate.cpp:177
+msgid "Image Format:"
+msgstr "æ˜ åƒæ¡£æ ¼å¼"
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
-msgstr "模å¼ï¼š 部分模拟"
+#: src/frontend/mame/ui/filecreate.cpp:183
+msgid "Create"
+msgstr "建立"
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
-msgstr "UI: å·²å¯ç”¨"
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr "请一并输入副档å"
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
-msgstr "**使用 ScrLock 键切æ¢**"
+#: src/frontend/mame/ui/filecreate.cpp:266
+msgid "Select image format"
+msgstr "é€‰æ‹©æ˜ åƒæ¡£æ ¼å¼"
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
-msgstr "模å¼ï¼š 完整模拟"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Keyboard Mode:"
+msgstr "键盘模å¼:"
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
-msgstr "UI: å·²åœç”¨"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Natural"
+msgstr "自然"
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
-msgstr "无法å¯ç”¨è¿žå‘"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Emulated"
+msgstr "模拟"
-#: src/frontend/mame/ui/ui.cpp:1302
+#: src/frontend/mame/ui/miscmenu.cpp:236
#, c-format
msgid ""
-"Are you sure you want to quit?\n"
+"Uptime: %1$d:%2$02d:%3$02d\n"
"\n"
-"Press ''%1$s'' to quit,\n"
-"Press ''%2$s'' to return to emulation."
msgstr ""
-"确定è¦é€€å‡ºå—?\n"
+"执行时间: %1$d:%2$02d:%3$02d\n"
"\n"
-"按 ''%1$s'' 退出,\n"
-"按 ''%2$s'' 继续模拟。"
-
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
-msgstr "主音é‡"
-#: src/frontend/mame/ui/ui.cpp:1383
+#: src/frontend/mame/ui/miscmenu.cpp:238
#, c-format
-msgid "%1$s Volume"
-msgstr "%1$s 音é‡"
-
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
-msgstr "超频 CPU %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
-msgstr "超频 %1$s 声音"
-
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
-msgstr "%1$s 刷新率"
-
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
-msgstr "%1$s 亮度"
-
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
-msgstr "%1$s 对比"
-
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
-msgstr "%1$s 迦玛值"
-
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
-msgstr "%1$s 水平延展"
-
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
-msgstr "%1$s æ°´å¹³ä½ç½®"
-
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
-msgstr "%1$s 垂直延展"
-
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
-msgstr "%1$s 垂直ä½ç½®"
-
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
-msgstr "激光影碟 %1$s 水平延展"
-
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
-msgstr "激光影碟 %1$s æ°´å¹³ä½ç½®"
-
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
-msgstr "激光影碟 %1$s 垂直延展"
-
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr "激光影碟 %1$s 垂直ä½ç½®"
-
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
-msgstr "å‘é‡é—ªçƒåº¦"
-
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
-msgstr "最å°å…‰æŸå®½åº¦"
-
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
-msgstr "最大光æŸå®½åº¦"
-
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
-msgstr "å…‰æŸå¼ºåº¦"
-
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr "å字准星尺度 %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
-msgstr "X"
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
-msgstr "Y"
-
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
-msgstr "å字准星ä½ç§» %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
-msgstr "%1$3ddB"
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
+msgstr ""
+"执行时间: %1$d:%2$02d\n"
+"\n"
-#: src/frontend/mame/ui/ui.cpp:1645
+#: src/frontend/mame/ui/miscmenu.cpp:242
#, c-format
-msgid "%1$d%%"
-msgstr "%1$d%%"
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
+msgstr ""
+"å½©ç¥¨åˆ†é…æ•°ï¼š %1$d\n"
+"\n"
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
-msgstr "%1$3.0f%%"
+#: src/frontend/mame/ui/miscmenu.cpp:253
+msgid "Coin %1$c: NA%3$s\n"
+msgstr "æŠ•å¸æ•° %1$c: NA%3$s\n"
-#: src/frontend/mame/ui/ui.cpp:1685
+#: src/frontend/mame/ui/miscmenu.cpp:253
#, c-format
-msgid "%1$.3ffps"
-msgstr "%1$.3ffps"
+msgid "Coin %1$c: %2$d%3$s\n"
+msgstr "æŠ•å¸æ•° %1$c: %2$d%3$s\n"
-#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
-#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
-#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
-#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
-#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
-#: src/frontend/mame/ui/ui.cpp:1927
-#, c-format
-msgid "%1$.3f"
-msgstr "%1$.3f"
+#: src/frontend/mame/ui/miscmenu.cpp:256
+msgid " (locked)"
+msgstr " (已é”定)"
-#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
-#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
-#, c-format
-msgid "%1$1.2f"
-msgstr "%1$1.2f"
+#: src/frontend/mame/ui/miscmenu.cpp:503
+msgid "Visible Delay"
+msgstr "å¯è§åº¦å»¶è¿Ÿ"
-#: src/frontend/mame/ui/ui.cpp:2005
+#: src/frontend/mame/ui/miscmenu.cpp:601
#, c-format
-msgid "Crosshair Scale X %1$1.3f"
-msgstr "å字准星尺度 X %1$1.3f"
+msgid "%s.xml saved under ui folder."
+msgstr "%s.xml 已储存于 ui 文件夹。"
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
-msgstr "å字准星尺度 Y %1$1.3f"
+#: src/frontend/mame/ui/miscmenu.cpp:627
+msgid "Name: Description:\n"
+msgstr "å称: æè¿°ï¼š\n"
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/miscmenu.cpp:638
#, c-format
-msgid "Crosshair Offset X %1$1.3f"
-msgstr "å字准星ä½ç§» X %1$1.3f"
+msgid "%s.txt saved under ui folder."
+msgstr "%s.txt 已储存于 ui 资料夹下。"
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
-msgstr "å字准星ä½ç§» Y %1$1.3f"
+#: src/frontend/mame/ui/miscmenu.cpp:655
+msgid "Export list in XML format (like -listxml)"
+msgstr "汇出 XML æ ¼å¼åˆ—表 ï¼ˆåŒ -listxml)"
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
-msgstr "**ä¿å­˜ ui.ini 时错误**"
+#: src/frontend/mame/ui/miscmenu.cpp:656
+msgid "Export list in XML format (like -listxml, but exclude devices)"
+msgstr "汇出 TXT æ ¼å¼åˆ—表 ï¼ˆåŒ -listfull,但ä¸åŒ…å«è£…置)"
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
-msgstr "**ä¿å­˜ %s.ini 时错误**"
+#: src/frontend/mame/ui/miscmenu.cpp:657
+msgid "Export list in TXT format (like -listfull)"
+msgstr "汇出 TXT æ ¼å¼åˆ—表 ï¼ˆåŒ -listfull)"
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/miscmenu.cpp:710 src/frontend/mame/ui/ui.cpp:2230
msgid ""
"\n"
" Configuration saved \n"
@@ -845,338 +938,160 @@ msgstr ""
" 设定已ä¿å­˜ \n"
"\n"
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
-msgid ""
-"Cheat Comment:\n"
-"%s"
-msgstr ""
-"ä½œå¼Šç æ³¨è§£ï¼š\n"
-"%s"
-
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
-msgstr "全部作弊ç å·²é‡æ–°è½½å…¥"
-
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
-msgstr "连å‘设定"
-
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
-msgstr "全部é‡è®¾"
-
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
-msgstr "å…¨éƒ¨é‡æ–°è½½å…¥"
-
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
-msgstr "连å‘状æ€"
-
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
-msgstr "在此机器上找ä¸åˆ°æŒ‰é’®!"
-
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
-msgstr "连å‘延迟"
-
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
-#, c-format
-msgid ""
-"%s\n"
-" added to favorites list."
-msgstr ""
-"%s\n"
-" 已新增至最爱清å•。"
-
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
-#, c-format
-msgid ""
-"%s\n"
-" removed from favorites list."
-msgstr ""
-"%s\n"
-" 已从最爱清å•移除。"
-
-#: src/frontend/mame/ui/selsoft.cpp:507
-msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
-"\n"
-msgstr ""
-"选定的软件缺少一个至多个必è¦çš„ ROM 或 CHD æ˜ åƒæ¡£ï¼Œè¯·é€‰æ‹©å…¶ä»–软体。\n"
-"\n"
-
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
-msgstr "按任æ„键继续。"
-
-#: src/frontend/mame/ui/selsoft.cpp:637
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
-msgstr "%1$s %2$s ( %3$d / %4$d 软件包 )"
-
-#: src/frontend/mame/ui/selsoft.cpp:638
-#, c-format
-msgid "Driver: \"%1$s\" software list "
-msgstr "驱动: \"%1$s\" è½¯ä»¶æ¸…å• "
-
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
-#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
-msgstr "%1$s: %2$s - æœå¯»ï¼š %3$s_"
-
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
-#, c-format
-msgid "Search: %1$s_"
-msgstr "æœå¯»ï¼š %1$s_"
-
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
-msgid "Unfiltered"
-msgstr "未过滤"
-
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
-msgid "Available"
-msgstr "å¯ç”¨"
-
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
-msgid "Unavailable"
-msgstr "ä¸å¯ç”¨"
-
-#: src/frontend/mame/ui/utils.cpp:63
-msgid "Working"
-msgstr "å¯ä»¥æ‰§è¡Œ"
-
-#: src/frontend/mame/ui/utils.cpp:64
-msgid "Not Working"
-msgstr "ä¸å¯æ‰§è¡Œ"
-
-#: src/frontend/mame/ui/utils.cpp:65
-msgid "Mechanical"
-msgstr "机械å¼"
-
-#: src/frontend/mame/ui/utils.cpp:66
-msgid "Not Mechanical"
-msgstr "éžæœºæ¢°å¼"
-
-#: src/frontend/mame/ui/utils.cpp:67
-msgid "Category"
-msgstr "类别"
-
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
-msgid "Favorites"
-msgstr "最爱"
-
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/miscmenu.cpp:760 src/frontend/mame/ui/utils.cpp:66
msgid "BIOS"
msgstr "BIOS"
-#: src/frontend/mame/ui/utils.cpp:70
-msgid "Not BIOS"
-msgstr "éž BIOS"
-
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
-msgid "Parents"
-msgstr "æ¯æ¡£"
-
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
-msgid "Clones"
-msgstr "克隆版"
-
-#: src/frontend/mame/ui/utils.cpp:73
-msgid "Manufacturer"
-msgstr "制造商"
-
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
-msgid "Year"
-msgstr "年代"
-
-#: src/frontend/mame/ui/utils.cpp:75
-msgid "Save Supported"
-msgstr "已支æ´å³æ—¶å­˜æ¡£"
-
-#: src/frontend/mame/ui/utils.cpp:76
-msgid "Save Unsupported"
-msgstr "䏿”¯æ´å³æ—¶å­˜æ¡£"
-
-#: src/frontend/mame/ui/utils.cpp:77
-msgid "CHD Required"
-msgstr "éœ€è¦ CHD"
-
-#: src/frontend/mame/ui/utils.cpp:78
-msgid "No CHD Required"
-msgstr "ä¸éœ€è¦ CHD"
-
-#: src/frontend/mame/ui/utils.cpp:79
-msgid "Vertical Screen"
-msgstr "垂直è¤å¹•"
-
-#: src/frontend/mame/ui/utils.cpp:80
-msgid "Horizontal Screen"
-msgstr "æ°´å¹³è¤å¹•"
-
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
-msgid "Custom Filter"
-msgstr "自订过滤"
-
-#: src/frontend/mame/ui/utils.cpp:91
-msgid "Publisher"
-msgstr "出版商"
-
-#: src/frontend/mame/ui/utils.cpp:92
-msgid "Supported"
-msgstr "已支æ´"
+#: src/frontend/mame/ui/miscmenu.cpp:764
+msgid "Driver"
+msgstr "驱动"
-#: src/frontend/mame/ui/utils.cpp:93
-msgid "Partially Supported"
-msgstr "部分支æ´"
+#: src/frontend/mame/ui/miscmenu.cpp:767
+msgid "This machine has no BIOS."
+msgstr "æ­¤æœºå°æ²¡æœ‰ BIOS。"
-#: src/frontend/mame/ui/utils.cpp:94
-msgid "Unsupported"
-msgstr "䏿”¯æ´"
+#: src/frontend/mame/ui/miscmenu.cpp:776 src/frontend/mame/ui/mainmenu.cpp:145
+msgid "Add To Favorites"
+msgstr "新增至最爱"
-#: src/frontend/mame/ui/utils.cpp:95
-msgid "Release Region"
-msgstr "释出区域"
+#: src/frontend/mame/ui/miscmenu.cpp:778 src/frontend/mame/ui/mainmenu.cpp:147
+msgid "Remove From Favorites"
+msgstr "从最爱移除"
-#: src/frontend/mame/ui/utils.cpp:96
-msgid "Device Type"
-msgstr "装置类别"
+#: src/frontend/mame/ui/miscmenu.cpp:781
+msgid "Save machine configuration"
+msgstr "ä¿å­˜æœºæ¢°è®¾å®š"
-#: src/frontend/mame/ui/utils.cpp:97
-msgid "Software List"
-msgstr "软件清å•"
+#: src/frontend/mame/ui/miscmenu.cpp:792
+msgid "Configure machine:"
+msgstr "设定机å°ï¼š"
-#: src/frontend/mame/ui/utils.cpp:248
-msgid "<set up filters>"
-msgstr "<设定过滤>"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:736
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:551 plugins/cheatfind/init.lua:619
+msgid "On"
+msgstr "å¼€"
-#: src/frontend/mame/ui/utils.cpp:356
-msgid "Select custom filters:"
-msgstr "选择自订过滤器:"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:739
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:554 plugins/cheat/init.lua:563
+#: plugins/cheatfind/init.lua:616
+msgid "Off"
+msgstr "å…³"
-#: src/frontend/mame/ui/utils.cpp:507
-#, c-format
-msgid "Filter %1$u"
-msgstr "过滤 %1$u"
+#: src/frontend/mame/ui/miscmenu.cpp:909 src/frontend/mame/ui/selgame.cpp:441
+msgid "Plugins"
+msgstr "æ’ä»¶"
-#: src/frontend/mame/ui/utils.cpp:522
-msgid "Remove last filter"
-msgstr "移除最åŽè¿‡æ»¤å™¨"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
+msgstr "æ–°æ¡ç ï¼š"
-#: src/frontend/mame/ui/utils.cpp:524
-msgid "Add filter"
-msgstr "新增过滤器"
+#: src/frontend/mame/ui/barcode.cpp:78
+msgid "Enter Code"
+msgstr "输入æ¡ç "
-#: src/frontend/mame/ui/utils.cpp:966
-msgid "Select category:"
-msgstr "选择类别:"
+#: src/frontend/mame/ui/barcode.cpp:119
+msgid "Barcode length invalid!"
+msgstr "æ¡ç é•¿åº¦æ— æ•ˆï¼"
-#: src/frontend/mame/ui/utils.cpp:997
-msgid "[no category INI files]"
-msgstr "[没有类别 INI 档案]"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:99
+msgid "Pseudo terminals"
+msgstr "伪终端"
-#: src/frontend/mame/ui/utils.cpp:1005
-msgid "[no groups in INI file]"
-msgstr "[INI 档案中没有群组]"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
+msgstr "[ 错误 ]"
-#: src/frontend/mame/ui/utils.cpp:1039
-msgid "No category INI files found"
-msgstr "没有å‘现群组 INI 档案"
+#: src/frontend/mame/ui/mainmenu.cpp:60
+msgid "Input (general)"
+msgstr "输入设定 (一般)"
-#: src/frontend/mame/ui/utils.cpp:1044
-msgid "File"
-msgstr "档案"
+#: src/frontend/mame/ui/mainmenu.cpp:62
+msgid "Input (this Machine)"
+msgstr "输入设定 (本机器)"
-#: src/frontend/mame/ui/utils.cpp:1048
-msgid "No groups found in category file"
-msgstr "在类别档案中没有找到群组"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Analog Controls"
+msgstr "类比控制"
-#: src/frontend/mame/ui/utils.cpp:1053
-msgid "Group"
-msgstr "群组"
+#: src/frontend/mame/ui/mainmenu.cpp:68
+msgid "Dip Switches"
+msgstr "机械设定开关"
-#: src/frontend/mame/ui/utils.cpp:1054
-msgid "Include clones"
-msgstr "包å«å…‹éš†ç‰ˆ"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "Machine Configuration"
+msgstr "机器设定"
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
-msgstr "[建立]"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
+msgstr "收入信æ¯"
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
-msgstr "é”™è¯¯å­˜å– %s"
+#: src/frontend/mame/ui/mainmenu.cpp:78
+msgid "Machine Information"
+msgstr "机器信æ¯"
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
-msgstr "é€‰æ‹©å­˜å–æ¨¡å¼"
+#: src/frontend/mame/ui/mainmenu.cpp:85
+msgid "Image Information"
+msgstr "æ˜ åƒæ¡£ä¿¡æ¯"
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
-msgstr "唯读"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
+msgstr "文件管ç†å™¨"
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
-msgstr "读写"
+#: src/frontend/mame/ui/mainmenu.cpp:96
+msgid "Tape Control"
+msgstr "ç£å¸¦æŽ§åˆ¶"
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
-msgstr "è¯»å–æ­¤æ˜ åƒæ¡£ï¼Œå†™å…¥è‡³å…¶ä»–æ˜ åƒæ¡£"
+#: src/frontend/mame/ui/mainmenu.cpp:102
+msgid "BIOS Selection"
+msgstr "选择 BIOS"
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
-msgstr "è¯»å–æ­¤æ˜ åƒæ¡£ï¼Œå†™å…¥å·®å¼‚æ¡£"
+#: src/frontend/mame/ui/mainmenu.cpp:106
+msgid "Slot Devices"
+msgstr "æ’æ§½è®¾å¤‡"
-#: src/frontend/mame/ui/slotopt.cpp:192
-#, c-format
-msgid "%s [internal]"
-msgstr "%s [内部]"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Barcode Reader"
+msgstr "æ¡ç è¯»å–器"
-#: src/frontend/mame/ui/slotopt.cpp:203 src/frontend/mame/ui/miscmenu.cpp:97
-#: src/frontend/mame/ui/inputmap.cpp:615
-msgid "Reset"
-msgstr "é‡è®¾"
+#: src/frontend/mame/ui/mainmenu.cpp:114
+msgid "Network Devices"
+msgstr "网路装置"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
-msgstr " 色彩"
+#: src/frontend/mame/ui/mainmenu.cpp:118
+msgid "Keyboard Mode"
+msgstr "键盘模å¼"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
-msgstr " PENS"
+#: src/frontend/mame/ui/mainmenu.cpp:121
+msgid "Slider Controls"
+msgstr "傿•°è°ƒæ•´"
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
-msgstr "回到机械"
+#: src/frontend/mame/ui/mainmenu.cpp:124 src/frontend/mame/ui/submenu.cpp:101
+msgid "Video Options"
+msgstr "视频选项"
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
-msgstr "结æŸ"
+#: src/frontend/mame/ui/mainmenu.cpp:128
+msgid "Crosshair Options"
+msgstr "å字准星选项"
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
-msgstr "回上一层èœå•"
+#: src/frontend/mame/ui/mainmenu.cpp:132 plugins/cheat/init.lua:735
+msgid "Cheat"
+msgstr "游æˆä½œå¼Š"
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:762
-#: plugins/cheat/init.lua:569 plugins/cheatfind/init.lua:792
-#: plugins/cheatfind/init.lua:803
-msgid "On"
-msgstr "å¼€"
+#: src/frontend/mame/ui/mainmenu.cpp:135
+msgid "Plugin Options"
+msgstr "æ’件选项"
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:765
-#: plugins/cheat/init.lua:572 plugins/cheat/init.lua:581
-#: plugins/cheatfind/init.lua:789 plugins/cheatfind/init.lua:800
-msgid "Off"
-msgstr "å…³"
+#: src/frontend/mame/ui/mainmenu.cpp:139
+msgid "External DAT View"
+msgstr "檢視外部文件"
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
-msgstr "自动"
+#: src/frontend/mame/ui/mainmenu.cpp:154
+msgid "Select New Machine"
+msgstr "选择新机器"
#: src/frontend/mame/ui/custui.cpp:31
msgid "Show All"
@@ -1398,417 +1313,595 @@ msgstr "黄"
msgid "Violet"
msgstr "ç´«"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
-msgstr "键盘模å¼:"
+#: src/frontend/mame/ui/submenu.cpp:22
+msgid "Miscellaneous Options"
+msgstr "其他选项"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
-msgstr "自然"
+#: src/frontend/mame/ui/submenu.cpp:23
+msgid "Re-select last machine played"
+msgstr "釿–°é€‰æ‹©ä¸Šæ¬¡æ‰§è¡Œçš„æœºå°"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
-msgstr "模拟"
+#: src/frontend/mame/ui/submenu.cpp:24
+msgid "Enlarge images in the right panel"
+msgstr "放大å³ä¾§é¢ç‰ˆçš„图片"
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
-msgstr ""
-"执行时间: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:26
+msgid "Show mouse pointer"
+msgstr "显示滑鼠指标"
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
-msgstr ""
-"执行时间: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:27
+msgid "Confirm quit from machines"
+msgstr "确认离开机å°"
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
-msgstr ""
-"å½©ç¥¨åˆ†é…æ•°ï¼š %1$d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:28
+msgid "Skip information screen at startup"
+msgstr "略过起始的信æ¯ç”»é¢"
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
-msgstr "æŠ•å¸æ•° %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:29
+msgid "Force 4:3 aspect for snapshot display"
+msgstr "强制撷图显示比例为 4:3"
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
-msgstr "æŠ•å¸æ•° %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:30
+msgid "Use image as background"
+msgstr "使用图片作为背景"
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
-msgstr " (已é”定)"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Skip BIOS selection menu"
+msgstr "略过 BIOS 选择èœå•"
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
-msgstr "å¯è§åº¦å»¶è¿Ÿ"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip software parts selection menu"
+msgstr "略过软件部分选择èœå•"
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
-msgstr "%s.xml 已储存于 ui 文件夹。"
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Info auto audit"
+msgstr "ä¿¡æ¯è‡ªåŠ¨æ ¡éªŒ"
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
-msgstr "å称: æè¿°ï¼š\n"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Hide romless machine from available list"
+msgstr "在å¯ç”¨æ¸…å•中éšè—æ—  ROM 机å°"
-#: src/frontend/mame/ui/miscmenu.cpp:639
-#, c-format
-msgid "%s.txt saved under ui folder."
-msgstr "%s.txt 已储存于 ui 资料夹下。"
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Advanced Options"
+msgstr "进阶选项"
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
-msgstr "汇出 XML æ ¼å¼åˆ—表 ï¼ˆåŒ -listxml)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Performance Options"
+msgstr "效能选项"
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
-msgstr "汇出 TXT æ ¼å¼åˆ—表 ï¼ˆåŒ -listfull,但ä¸åŒ…å«è£…置)"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Auto frame skip"
+msgstr "自动çœç•¥ç”»æ ¼"
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
-msgstr "汇出 TXT æ ¼å¼åˆ—表 ï¼ˆåŒ -listfull)"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Frame skip"
+msgstr "çœç•¥ç”»æ ¼"
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
-msgstr "驱动"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Throttle"
+msgstr "é™åˆ¶é€Ÿåº¦"
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
-msgstr "æ­¤æœºå°æ²¡æœ‰ BIOS。"
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Sleep"
+msgstr "休眠"
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
-msgstr "ä¿å­˜æœºæ¢°è®¾å®š"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Speed"
+msgstr "速度"
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
-msgstr "设定机å°ï¼š"
+#: src/frontend/mame/ui/submenu.cpp:45
+msgid "Refresh speed"
+msgstr "更新速度"
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
-msgstr " (缺çœ)"
+#: src/frontend/mame/ui/submenu.cpp:47
+msgid "Rotation Options"
+msgstr "选转选项"
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
-msgstr "æ’ä»¶"
+#: src/frontend/mame/ui/submenu.cpp:49
+msgid "Rotate right"
+msgstr "峿—‹è½¬"
+
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Rotate left"
+msgstr "左旋转"
+
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Auto rotate right"
+msgstr "è‡ªåŠ¨å³æ—‹è½¬"
+
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto rotate left"
+msgstr "自动左旋转"
+
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Flip X"
+msgstr "翻转 X"
+
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Flip Y"
+msgstr "翻转 Y"
+
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Artwork Options"
+msgstr "装饰图选项"
+
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Artwork Crop"
+msgstr "装饰图è£åˆ‡"
+
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Use Backdrops"
+msgstr "使用背景图"
+
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Use Overlays"
+msgstr "使用覆å å›¾"
+
+#: src/frontend/mame/ui/submenu.cpp:60
+msgid "Use Bezels"
+msgstr "使用外框图"
+
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Use Control Panels"
+msgstr "使用控制é¢ç‰ˆå›¾"
+
+#: src/frontend/mame/ui/submenu.cpp:62
+msgid "Use Marquees"
+msgstr "ä½¿ç”¨æœºå°æ ‡é¢˜å›¾"
+
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "State/Playback Options"
+msgstr "状æ€/播放选项"
+
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Automatic save/restore"
+msgstr "自动储存/还原"
+
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Rewind capacity"
+msgstr "倒转容é‡"
+
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Bilinear snapshot"
+msgstr "åŒçº¿è¿‡æ»¤æ’·å›¾"
+
+#: src/frontend/mame/ui/submenu.cpp:69
+msgid "Burn-in"
+msgstr "çƒ™å°æ’·å›¾"
+
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Input Options"
+msgstr "输入选项"
+
+#: src/frontend/mame/ui/submenu.cpp:72
+msgid "Coin lockout"
+msgstr "投å¸é”定"
+
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "Mouse"
+msgstr "滑鼠"
+
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Joystick"
+msgstr "摇æ†"
+
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Lightgun"
+msgstr "光线枪"
+
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Multi-keyboard"
+msgstr "多é‡é”®ç›˜"
+
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Multi-mouse"
+msgstr "å¤šé‡æ»‘é¼ "
+
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Steadykey"
+msgstr "稳定键"
+
+#: src/frontend/mame/ui/submenu.cpp:79
+msgid "UI active"
+msgstr "UI å¯åЍ"
+
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Offscreen reload"
+msgstr "ç”»é¢å¤–釿–°è£…å¡«"
+
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Joystick deadzone"
+msgstr "æ‘‡æ†æ— å应区"
+
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Joystick saturation"
+msgstr "摇æ†é¥±å’Œå€¼"
+
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Natural keyboard"
+msgstr "自然键盘"
+
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Simultaneous contradictory"
+msgstr "åŒæ—¶å‘生的对立状况"
+
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Coin impulse"
+msgstr "投å¸è„‰å†²"
+
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Device Mapping"
+msgstr "装置映对"
+
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Lightgun Device Assignment"
+msgstr "分é…光线枪装置"
+
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Trackball Device Assignment"
+msgstr "分é…轨迹çƒè£…ç½®"
+
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Pedal Device Assignment"
+msgstr "分é…è¸æ¿è£…ç½®"
+
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Adstick Device Assignment"
+msgstr "åˆ†é… Adstick 装置"
+
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Paddle Device Assignment"
+msgstr "分é…划桨装置"
+
+#: src/frontend/mame/ui/submenu.cpp:95
+msgid "Dial Device Assignment"
+msgstr "分é…转盘装置"
+
+#: src/frontend/mame/ui/submenu.cpp:96
+msgid "Positional Device Assignment"
+msgstr "åˆ†é…æŒ‡å‘装置"
+
+#: src/frontend/mame/ui/submenu.cpp:97
+msgid "Mouse Device Assignment"
+msgstr "åˆ†é…æ»‘鼠装置"
+
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Video Mode"
+msgstr "视讯模å¼"
+
+#: src/frontend/mame/ui/submenu.cpp:103
+msgid "Number Of Screens"
+msgstr "ç”»é¢æ•°"
+
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Triple Buffering"
+msgstr "三é‡ç¼“冲"
+
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "HLSL"
+msgstr "HLSL"
+
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "GLSL"
+msgstr "GLSL"
+
+#: src/frontend/mame/ui/submenu.cpp:109
+msgid "Bilinear Filtering"
+msgstr "åŒçº¿è¿‡æ»¤"
+
+#: src/frontend/mame/ui/submenu.cpp:110
+msgid "Bitmap Prescaling"
+msgstr "点阵图预缩放"
+
+#: src/frontend/mame/ui/submenu.cpp:111
+msgid "Window Mode"
+msgstr "视窗模å¼"
+
+#: src/frontend/mame/ui/submenu.cpp:112
+msgid "Enforce Aspect Ratio"
+msgstr "强制比例"
+
+#: src/frontend/mame/ui/submenu.cpp:113
+msgid "Start Out Maximized"
+msgstr "最大化开始"
+
+#: src/frontend/mame/ui/submenu.cpp:114
+msgid "Synchronized Refresh"
+msgstr "åŒæ­¥æ›´æ–°"
+
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Wait Vertical Sync"
+msgstr "ç­‰å¾…åž‚ç›´åŒæ­¥"
+
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Load State"
+msgstr "载入状æ€"
+
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Select position to load from"
+msgstr "选择载入ä½ç½®"
+
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Save State"
+msgstr "ä¿å­˜çжæ€"
+
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Select position to save to"
+msgstr "选择ä¿å­˜ä½ç½®"
+
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
+msgstr "%s [内部]"
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/selgame.cpp:309 src/frontend/mame/ui/selsoft.cpp:211
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
+msgstr ""
+"%s\n"
+" 已新增至最爱清å•。"
+
+#: src/frontend/mame/ui/selgame.cpp:314 src/frontend/mame/ui/selgame.cpp:320
+#: src/frontend/mame/ui/selsoft.cpp:216
+#, c-format
+msgid ""
+"%s\n"
+" removed from favorites list."
+msgstr ""
+"%s\n"
+" 已从最爱清å•移除。"
+
+#: src/frontend/mame/ui/selgame.cpp:437
msgid "Configure Machine"
msgstr "设定机å°"
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:849
#, c-format
msgid "Romset\t%1$-.100s\n"
msgstr "ROM组\t%1$-.100s\n"
-#: src/frontend/mame/ui/selgame.cpp:1037
+#: src/frontend/mame/ui/selgame.cpp:850
#, c-format
msgid "Year\t%1$s\n"
msgstr "年代\t%1$s\n"
-#: src/frontend/mame/ui/selgame.cpp:1038
+#: src/frontend/mame/ui/selgame.cpp:851
#, c-format
msgid "Manufacturer\t%1$-.100s\n"
msgstr "製造商\t%1$-.100s\n"
-#: src/frontend/mame/ui/selgame.cpp:1042
+#: src/frontend/mame/ui/selgame.cpp:855
#, c-format
msgid "Driver is Clone of\t%1$-.100s\n"
msgstr "驱动相容于\t%1$-.100s\n"
-#: src/frontend/mame/ui/selgame.cpp:1044
+#: src/frontend/mame/ui/selgame.cpp:857
msgid "Driver is Parent\t\n"
msgstr "驱动为主档\t\n"
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:860
msgid "Analog Controls\tYes\n"
msgstr "类比控制\t是\n"
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:862
msgid "Keyboard Inputs\tYes\n"
msgstr "键盘输入\t是\n"
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:865
msgid "Overall\tNOT WORKING\n"
msgstr "整体\tä¸å¯æ‰§è¡Œ\n"
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:867
msgid "Overall\tUnemulated Protection\n"
msgstr "整体\tæœªæ¨¡æ‹Ÿä¿æŠ¤\n"
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:869
msgid "Overall\tWorking\n"
msgstr "整体\tå¯ä»¥æ‰§è¡Œ\n"
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:872
msgid "Graphics\tUnimplemented\n"
msgstr "图形\t无法执行\n"
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:874
msgid "Graphics\tWrong Colors\n"
msgstr "图形\t色彩错误\n"
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:876
msgid "Graphics\tImperfect Colors\n"
msgstr "图形\t色彩ä¸å®Œç¾Ž\n"
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:878
msgid "Graphics\tImperfect\n"
msgstr "图形\tä¸å®Œç¾Ž\n"
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:880
msgid "Graphics\tOK\n"
msgstr "图形\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:883
msgid "Sound\tNone\n"
msgstr "声音\t无\n"
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:885
msgid "Sound\tUnimplemented\n"
msgstr "声音\t无法执行\n"
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:887
msgid "Sound\tImperfect\n"
msgstr "声音\tä¸å®Œç¾Ž\n"
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:889
msgid "Sound\tOK\n"
msgstr "声音\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1079
-msgid "Capture\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1081
-msgid "Capture\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1084
-msgid "Camera\tUnimplemented\n"
-msgstr "相机\t无法执行\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1086
-msgid "Camera\tImperfect\n"
-msgstr "相机\tä¸å®Œç¾Ž\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1089
-msgid "Microphone\tUnimplemented\n"
-msgstr "麦克风\t无法执行\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1091
-msgid "Microphone\tImperfect\n"
-msgstr "麦克风\tä¸å®Œç¾Ž\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:892
msgid "Controls\tUnimplemented\n"
msgstr "控制\t无法执行\n"
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:894
msgid "Controls\tImperfect\n"
msgstr "控制\tä¸å®Œç¾Ž\n"
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:897
msgid "Keyboard\tUnimplemented\n"
msgstr "键盘\t无法执行\n"
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:899
msgid "Keyboard\tImperfect\n"
msgstr "键盘\tä¸å®Œç¾Ž\n"
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:902
msgid "Mouse\tUnimplemented\n"
msgstr "滑鼠\t无法执行\n"
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:904
msgid "Mouse\tImperfect\n"
msgstr "滑鼠\tä¸å®Œç¾Ž\n"
-#: src/frontend/mame/ui/selgame.cpp:1109
-msgid "Media\tUnimplemented\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:907
+msgid "Microphone\tUnimplemented\n"
+msgstr "麦克风\t无法执行\n"
-#: src/frontend/mame/ui/selgame.cpp:1111
-msgid "Media\tImperfect\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:909
+msgid "Microphone\tImperfect\n"
+msgstr "麦克风\tä¸å®Œç¾Ž\n"
+
+#: src/frontend/mame/ui/selgame.cpp:912
+msgid "Camera\tUnimplemented\n"
+msgstr "相机\t无法执行\n"
+
+#: src/frontend/mame/ui/selgame.cpp:914
+msgid "Camera\tImperfect\n"
+msgstr "相机\tä¸å®Œç¾Ž\n"
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:917
msgid "Disk\tUnimplemented\n"
msgstr "ç£ç¢Ÿ\t无法执行\n"
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:919
msgid "Disk\tImperfect\n"
msgstr "ç£ç¢Ÿ\tä¸å®Œç¾Ž\n"
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:922
msgid "Printer\tUnimplemented\n"
msgstr "æ‰“å°æœº\t无法执行\n"
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:924
msgid "Printer\tImperfect\n"
msgstr "æ‰“å°æœº\tä¸å®Œç¾Ž\n"
-#: src/frontend/mame/ui/selgame.cpp:1124
-msgid "Mag. Tape\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1126
-msgid "Mag. Tape\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1129
-msgid "Punch Tape\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1131
-msgid "Punch Tape\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1134
-msgid "Mag. Drum\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1136
-msgid "Mag. Drum\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1139
-msgid "(EP)ROM\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1141
-msgid "(EP)ROM\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1144
-msgid "Communications\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1146
-msgid "Communications\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:927
msgid "LAN\tUnimplemented\n"
msgstr "区域网路\t无法执行\n"
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:929
msgid "LAN\tImperfect\n"
msgstr "区域网路\tä¸å®Œç¾Ž\n"
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:932
msgid "WAN\tUnimplemented\n"
msgstr "外部网路\t无法执行\n"
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:934
msgid "WAN\tImperfect\n"
msgstr "外部网路\tä¸å®Œç¾Ž\n"
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:937
msgid "Timing\tUnimplemented\n"
msgstr "计时\t无法执行\n"
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:939
msgid "Timing\tImperfect\n"
msgstr "计时\tä¸å®Œç¾Ž\n"
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:941
msgid "Mechanical Machine\tYes\n"
msgstr "æœºæ¢°å¼æœºå°\t是\n"
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:941
msgid "Mechanical Machine\tNo\n"
msgstr "æœºæ¢°å¼æœºå°\tå¦\n"
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:942
msgid "Requires Artwork\tYes\n"
msgstr "需è¦è£…饰图\t是\n"
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:942
msgid "Requires Artwork\tNo\n"
msgstr "需è¦è£…饰图\tå¦\n"
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:943
msgid "Requires Clickable Artwork\tYes\n"
msgstr "需è¦å¯ç‚¹å‡»çš„装饰图\t是\n"
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:943
msgid "Requires Clickable Artwork\tNo\n"
msgstr "需è¦å¯ç‚¹å‡»çš„装饰图\tå¦\n"
-#: src/frontend/mame/ui/selgame.cpp:1166
+#: src/frontend/mame/ui/selgame.cpp:944
msgid "Support Cocktail\tYes\n"
msgstr "æ”¯æ´æª¯é¢åž‹ç­ä½“\t是\n"
-#: src/frontend/mame/ui/selgame.cpp:1166
+#: src/frontend/mame/ui/selgame.cpp:944
msgid "Support Cocktail\tNo\n"
msgstr "æ”¯æ´æª¯é¢åž‹ç­ä½“\tå¦\n"
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:945
msgid "Driver is BIOS\tYes\n"
msgstr "驱动程å¼ä¸º BIOS\t是\n"
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:945
msgid "Driver is BIOS\tNo\n"
msgstr "驱动程å¼ä¸º BIOS\tå¦\n"
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:946
msgid "Support Save\tYes\n"
msgstr "支æ´å³æ—¶å­˜æ¡£\t是\n"
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:946
msgid "Support Save\tNo\n"
msgstr "支æ´å³æ—¶å­˜æ¡£\tå¦\n"
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:947
msgid "Screen Orientation\tVertical\n"
msgstr "ç”»é¢æ–¹å‘\t垂直\n"
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:947
msgid "Screen Orientation\tHorizontal\n"
msgstr "ç”»é¢æ–¹å‘\tæ°´å¹³\n"
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:957
msgid "Requires CHD\tYes\n"
msgstr "éœ€è¦ CHD\t是\n"
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:957
msgid "Requires CHD\tNo\n"
msgstr "éœ€è¦ CHD\tå¦\n"
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:970
msgid "ROM Audit Result\tOK\n"
msgstr "ROM 校验结果\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:972
msgid "ROM Audit Result\tBAD\n"
msgstr "ROM 校验结果\t错误\n"
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:975
msgid "Samples Audit Result\tNone Needed\n"
msgstr "采样文件校验结果\tä¸éœ€è¦\n"
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:977
msgid "Samples Audit Result\tOK\n"
msgstr "样本档校验结果\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:979
msgid "Samples Audit Result\tBAD\n"
msgstr "样本档校验结果\t错误\n"
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:983
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
@@ -1816,28 +1909,42 @@ msgstr ""
"ROM éªŒè¯ \tåœç”¨\n"
"é‡‡æ ·æ–‡ä»¶éªŒè¯ \tåœç”¨\n"
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1167
#, c-format
msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
msgstr "%1$s %2$s ( %3$d / %4$d 机械 (%5$d BIOS) )"
-#: src/frontend/mame/ui/selgame.cpp:1424
+#: src/frontend/mame/ui/selgame.cpp:1183 src/frontend/mame/ui/selsoft.cpp:555
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
+msgstr "%1$s: %2$s - æœå¯»ï¼š %3$s_"
+
+#: src/frontend/mame/ui/selgame.cpp:1185 src/frontend/mame/ui/selsoft.cpp:557
+#, c-format
+msgid "Search: %1$s_"
+msgstr "æœå¯»ï¼š %1$s_"
+
+#: src/frontend/mame/ui/selgame.cpp:1195
#, c-format
msgid "Romset: %1$-.100s"
msgstr "Rom组: %1$-.100s"
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1202
#, c-format
msgid "System: %1$-.100s"
msgstr "系统: %1$-.100s"
-#: src/frontend/mame/ui/selgame.cpp:1465
+#: src/frontend/mame/ui/selgame.cpp:1239
msgid ""
"The selected machine is missing one or more required ROM or CHD images. "
"Please select a different machine.\n"
"\n"
msgstr "选定的机械缺少一个至多个必è¦çš„ ROM 或 CHD æ˜ åƒæ¡£ï¼Œè¯·é€‰æ‹©å…¶ä»–机械。\n"
+#: src/frontend/mame/ui/selgame.cpp:1245 src/frontend/mame/ui/selsoft.cpp:462
+msgid "Press any key to continue."
+msgstr "按任æ„键继续。"
+
#: src/frontend/mame/ui/sndmenu.cpp:135
msgid "Sound"
msgstr "声音"
@@ -1850,307 +1957,514 @@ msgstr "采样率"
msgid "Use External Samples"
msgstr "使用外部采样文件"
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr "其他选项"
+#: src/frontend/mame/ui/utils.cpp:57 src/frontend/mame/ui/utils.cpp:81
+msgid "Unfiltered"
+msgstr "未过滤"
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
-msgstr "釿–°é€‰æ‹©ä¸Šæ¬¡æ‰§è¡Œçš„æœºå°"
+#: src/frontend/mame/ui/utils.cpp:58 src/frontend/mame/ui/utils.cpp:82
+msgid "Available"
+msgstr "å¯ç”¨"
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
-msgstr "放大å³ä¾§é¢ç‰ˆçš„图片"
+#: src/frontend/mame/ui/utils.cpp:59 src/frontend/mame/ui/utils.cpp:83
+msgid "Unavailable"
+msgstr "ä¸å¯ç”¨"
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
-msgstr "显示滑鼠指标"
+#: src/frontend/mame/ui/utils.cpp:60
+msgid "Working"
+msgstr "å¯ä»¥æ‰§è¡Œ"
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
-msgstr "确认离开机å°"
+#: src/frontend/mame/ui/utils.cpp:61
+msgid "Not Working"
+msgstr "ä¸å¯æ‰§è¡Œ"
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
-msgstr "略过起始的信æ¯ç”»é¢"
+#: src/frontend/mame/ui/utils.cpp:62
+msgid "Mechanical"
+msgstr "机械å¼"
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
-msgstr "强制撷图显示比例为 4:3"
+#: src/frontend/mame/ui/utils.cpp:63
+msgid "Not Mechanical"
+msgstr "éžæœºæ¢°å¼"
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
-msgstr "使用图片作为背景"
+#: src/frontend/mame/ui/utils.cpp:64
+msgid "Category"
+msgstr "类别"
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
-msgstr "略过 BIOS 选择èœå•"
+#: src/frontend/mame/ui/utils.cpp:65
+msgid "Favorites"
+msgstr "最爱"
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
-msgstr "略过软件部分选择èœå•"
+#: src/frontend/mame/ui/utils.cpp:67
+msgid "Not BIOS"
+msgstr "éž BIOS"
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
-msgstr "ä¿¡æ¯è‡ªåŠ¨æ ¡éªŒ"
+#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:84
+msgid "Parents"
+msgstr "æ¯æ¡£"
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
-msgstr "在å¯ç”¨æ¸…å•中éšè—æ—  ROM 机å°"
+#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/utils.cpp:85
+msgid "Clones"
+msgstr "克隆版"
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
-msgstr "进阶选项"
+#: src/frontend/mame/ui/utils.cpp:70
+msgid "Manufacturer"
+msgstr "制造商"
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
-msgstr "效能选项"
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:86
+msgid "Year"
+msgstr "年代"
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
-msgstr "自动çœç•¥ç”»æ ¼"
+#: src/frontend/mame/ui/utils.cpp:72
+msgid "Save Supported"
+msgstr "已支æ´å³æ—¶å­˜æ¡£"
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
-msgstr "çœç•¥ç”»æ ¼"
+#: src/frontend/mame/ui/utils.cpp:73
+msgid "Save Unsupported"
+msgstr "䏿”¯æ´å³æ—¶å­˜æ¡£"
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
-msgstr "é™åˆ¶é€Ÿåº¦"
+#: src/frontend/mame/ui/utils.cpp:74
+msgid "CHD Required"
+msgstr "éœ€è¦ CHD"
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
-msgstr "休眠"
+#: src/frontend/mame/ui/utils.cpp:75
+msgid "No CHD Required"
+msgstr "ä¸éœ€è¦ CHD"
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
-msgstr "速度"
+#: src/frontend/mame/ui/utils.cpp:76
+msgid "Vertical Screen"
+msgstr "垂直è¤å¹•"
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
-msgstr "更新速度"
+#: src/frontend/mame/ui/utils.cpp:77
+msgid "Horizontal Screen"
+msgstr "æ°´å¹³è¤å¹•"
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
-msgstr "选转选项"
+#: src/frontend/mame/ui/utils.cpp:78 src/frontend/mame/ui/utils.cpp:94
+msgid "Custom Filter"
+msgstr "自订过滤"
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
-msgstr "峿—‹è½¬"
+#: src/frontend/mame/ui/utils.cpp:87
+msgid "Publisher"
+msgstr "出版商"
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
-msgstr "左旋转"
+#: src/frontend/mame/ui/utils.cpp:88
+msgid "Supported"
+msgstr "已支æ´"
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
-msgstr "è‡ªåŠ¨å³æ—‹è½¬"
+#: src/frontend/mame/ui/utils.cpp:89
+msgid "Partially Supported"
+msgstr "部分支æ´"
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
-msgstr "自动左旋转"
+#: src/frontend/mame/ui/utils.cpp:90
+msgid "Unsupported"
+msgstr "䏿”¯æ´"
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
-msgstr "翻转 X"
+#: src/frontend/mame/ui/utils.cpp:91
+msgid "Release Region"
+msgstr "释出区域"
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
-msgstr "翻转 Y"
+#: src/frontend/mame/ui/utils.cpp:92
+msgid "Device Type"
+msgstr "装置类别"
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
-msgstr "装饰图选项"
+#: src/frontend/mame/ui/utils.cpp:93
+msgid "Software List"
+msgstr "软件清å•"
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
-msgstr "装饰图è£åˆ‡"
+#: src/frontend/mame/ui/utils.cpp:244
+msgid "<set up filters>"
+msgstr "<设定过滤>"
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
-msgstr "使用背景图"
+#: src/frontend/mame/ui/utils.cpp:352
+msgid "Select custom filters:"
+msgstr "选择自订过滤器:"
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
-msgstr "使用覆å å›¾"
+#: src/frontend/mame/ui/utils.cpp:503
+#, c-format
+msgid "Filter %1$u"
+msgstr "过滤 %1$u"
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
-msgstr "使用外框图"
+#: src/frontend/mame/ui/utils.cpp:518
+msgid "Remove last filter"
+msgstr "移除最åŽè¿‡æ»¤å™¨"
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
-msgstr "使用控制é¢ç‰ˆå›¾"
+#: src/frontend/mame/ui/utils.cpp:520
+msgid "Add filter"
+msgstr "新增过滤器"
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
-msgstr "ä½¿ç”¨æœºå°æ ‡é¢˜å›¾"
+#: src/frontend/mame/ui/utils.cpp:959
+msgid "Select category:"
+msgstr "选择类别:"
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
-msgstr "状æ€/播放选项"
+#: src/frontend/mame/ui/utils.cpp:990
+msgid "[no category INI files]"
+msgstr "[没有类别 INI 档案]"
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
-msgstr "自动储存/还原"
+#: src/frontend/mame/ui/utils.cpp:998
+msgid "[no groups in INI file]"
+msgstr "[INI 档案中没有群组]"
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
-msgstr "倒转容é‡"
+#: src/frontend/mame/ui/utils.cpp:1032
+msgid "No category INI files found"
+msgstr "没有å‘现群组 INI 档案"
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
-msgstr "åŒçº¿è¿‡æ»¤æ’·å›¾"
+#: src/frontend/mame/ui/utils.cpp:1037
+msgid "File"
+msgstr "档案"
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
-msgstr "çƒ™å°æ’·å›¾"
+#: src/frontend/mame/ui/utils.cpp:1041
+msgid "No groups found in category file"
+msgstr "在类别档案中没有找到群组"
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
-msgstr "输入选项"
+#: src/frontend/mame/ui/utils.cpp:1046
+msgid "Group"
+msgstr "群组"
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
-msgstr "投å¸é”定"
+#: src/frontend/mame/ui/utils.cpp:1047
+msgid "Include clones"
+msgstr "包å«å…‹éš†ç‰ˆ"
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
-msgstr "滑鼠"
+#: src/frontend/mame/ui/selsoft.cpp:456
+msgid ""
+"The selected software is missing one or more required files. Please select a "
+"different software.\n"
+"\n"
+msgstr ""
+"选定的软件缺少一个至多个必è¦çš„ ROM 或 CHD æ˜ åƒæ¡£ï¼Œè¯·é€‰æ‹©å…¶ä»–软体。\n"
+"\n"
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
-msgstr "摇æ†"
+#: src/frontend/mame/ui/selsoft.cpp:549
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgstr "%1$s %2$s ( %3$d / %4$d 软件包 )"
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
-msgstr "光线枪"
+#: src/frontend/mame/ui/selsoft.cpp:550
+#, c-format
+msgid "Driver: \"%1$s\" software list "
+msgstr "驱动: \"%1$s\" è½¯ä»¶æ¸…å• "
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
-msgstr "多é‡é”®ç›˜"
+#: src/frontend/mame/ui/filesel.cpp:260
+msgid "[create]"
+msgstr "[建立]"
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
-msgstr "å¤šé‡æ»‘é¼ "
+#: src/frontend/mame/ui/filesel.cpp:419
+#, c-format
+msgid "Error accessing %s"
+msgstr "é”™è¯¯å­˜å– %s"
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
-msgstr "稳定键"
+#: src/frontend/mame/ui/filesel.cpp:515
+msgid "Select access mode"
+msgstr "é€‰æ‹©å­˜å–æ¨¡å¼"
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
-msgstr "UI å¯åЍ"
+#: src/frontend/mame/ui/filesel.cpp:516
+msgid "Read-only"
+msgstr "唯读"
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
-msgstr "ç”»é¢å¤–釿–°è£…å¡«"
+#: src/frontend/mame/ui/filesel.cpp:518
+msgid "Read-write"
+msgstr "读写"
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
-msgstr "æ‘‡æ†æ— å应区"
+#: src/frontend/mame/ui/filesel.cpp:519
+msgid "Read this image, write to another image"
+msgstr "è¯»å–æ­¤æ˜ åƒæ¡£ï¼Œå†™å…¥è‡³å…¶ä»–æ˜ åƒæ¡£"
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
-msgstr "摇æ†é¥±å’Œå€¼"
+#: src/frontend/mame/ui/filesel.cpp:520
+msgid "Read this image, write to diff"
+msgstr "è¯»å–æ­¤æ˜ åƒæ¡£ï¼Œå†™å…¥å·®å¼‚æ¡£"
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
-msgstr "自然键盘"
+#: src/frontend/mame/ui/imgcntrl.cpp:117
+msgid "Cannot save over directory"
+msgstr "无法跨目录储存"
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
-msgstr "åŒæ—¶å‘生的对立状况"
+#: src/frontend/mame/ui/imgcntrl.cpp:150
+msgid ""
+"The software selected is missing one or more required ROM or CHD images. "
+"Please select a different one."
+msgstr "选定的软件缺少一个至多个必è¦çš„ ROM 或 CHD æ˜ åƒæ¡£ï¼Œè¯·é€‰æ‹©å…¶ä»–软件。"
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
-msgstr "投å¸è„‰å†²"
+#: src/frontend/mame/ui/menu.cpp:294
+msgid "Return to Machine"
+msgstr "回到机械"
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
-msgstr "装置映对"
+#: src/frontend/mame/ui/menu.cpp:299 src/frontend/mame/ui/menu.cpp:301
+msgid "Exit"
+msgstr "结æŸ"
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
-msgstr "分é…光线枪装置"
+#: src/frontend/mame/ui/menu.cpp:306 src/frontend/mame/ui/menu.cpp:308
+msgid "Return to Previous Menu"
+msgstr "回上一层èœå•"
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
-msgstr "分é…轨迹çƒè£…ç½®"
+#: src/frontend/mame/ui/menu.cpp:742
+msgid "Auto"
+msgstr "自动"
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
-msgstr "分é…è¸æ¿è£…ç½®"
+#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:653
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
+msgstr ""
+"ä½œå¼Šç æ³¨è§£ï¼š\n"
+"%s"
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
-msgstr "åˆ†é… Adstick 装置"
+#: src/frontend/mame/ui/cheatopt.cpp:105
+msgid "All cheats reloaded"
+msgstr "全部作弊ç å·²é‡æ–°è½½å…¥"
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
-msgstr "分é…划桨装置"
+#: src/frontend/mame/ui/cheatopt.cpp:136
+msgid "Autofire Settings"
+msgstr "连å‘设定"
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
-msgstr "分é…转盘装置"
+#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:581
+msgid "Reset All"
+msgstr "全部é‡è®¾"
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
-msgstr "åˆ†é…æŒ‡å‘装置"
+#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:582
+msgid "Reload All"
+msgstr "å…¨éƒ¨é‡æ–°è½½å…¥"
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
-msgstr "åˆ†é…æ»‘鼠装置"
+#: src/frontend/mame/ui/cheatopt.cpp:273
+msgid "Autofire Status"
+msgstr "连å‘状æ€"
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
-msgstr "视讯模å¼"
+#: src/frontend/mame/ui/cheatopt.cpp:316
+msgid "No buttons found on this machine!"
+msgstr "在此机器上找ä¸åˆ°æŒ‰é’®!"
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
-msgstr "ç”»é¢æ•°"
+#: src/frontend/mame/ui/cheatopt.cpp:327 src/frontend/mame/ui/cheatopt.cpp:331
+msgid "Autofire Delay"
+msgstr "连å‘延迟"
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
-msgstr "三é‡ç¼“冲"
+#: src/frontend/mame/ui/ui.cpp:337
+msgid "This driver requires images to be loaded in the following device(s): "
+msgstr "此驱动需è¦é¢å¤–è½½å…¥ä¸‹åˆ—è£…ç½®çš„æ˜ åƒæ¡£: "
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
-msgstr "HLSL"
+#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
+msgid "Keyboard Emulation Status"
+msgstr "键盘模拟状æ€"
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
-msgstr "GLSL"
+#: src/frontend/mame/ui/ui.cpp:1086
+msgid "Mode: PARTIAL Emulation"
+msgstr "模å¼ï¼š 部分模拟"
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
-msgstr "åŒçº¿è¿‡æ»¤"
+#: src/frontend/mame/ui/ui.cpp:1087
+msgid "UI: Enabled"
+msgstr "UI: å·²å¯ç”¨"
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
-msgstr "点阵图预缩放"
+#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
+msgid "**Use ScrLock to toggle**"
+msgstr "**使用 ScrLock 键切æ¢**"
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
-msgstr "视窗模å¼"
+#: src/frontend/mame/ui/ui.cpp:1096
+msgid "Mode: FULL Emulation"
+msgstr "模å¼ï¼š 完整模拟"
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
-msgstr "强制比例"
+#: src/frontend/mame/ui/ui.cpp:1097
+msgid "UI: Disabled"
+msgstr "UI: å·²åœç”¨"
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
-msgstr "最大化开始"
+#: src/frontend/mame/ui/ui.cpp:1249
+msgid "Autofire can't be enabled"
+msgstr "无法å¯ç”¨è¿žå‘"
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
-msgstr "åŒæ­¥æ›´æ–°"
+#: src/frontend/mame/ui/ui.cpp:1302
+#, c-format
+msgid ""
+"Are you sure you want to quit?\n"
+"\n"
+"Press ''%1$s'' to quit,\n"
+"Press ''%2$s'' to return to emulation."
+msgstr ""
+"确定è¦é€€å‡ºå—?\n"
+"\n"
+"按 ''%1$s'' 退出,\n"
+"按 ''%2$s'' 继续模拟。"
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
-msgstr "ç­‰å¾…åž‚ç›´åŒæ­¥"
+#: src/frontend/mame/ui/ui.cpp:1374
+msgid "Master Volume"
+msgstr "主音é‡"
-#: src/frontend/mame/ui/devopt.cpp:43
+#: src/frontend/mame/ui/ui.cpp:1383
+#, c-format
+msgid "%1$s Volume"
+msgstr "%1$s 音é‡"
+
+#: src/frontend/mame/ui/ui.cpp:1407
+#, c-format
+msgid "Overclock CPU %1$s"
+msgstr "超频 CPU %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1416
+#, c-format
+msgid "Overclock %1$s sound"
+msgstr "超频 %1$s 声音"
+
+#: src/frontend/mame/ui/ui.cpp:1437
+#, c-format
+msgid "%1$s Refresh Rate"
+msgstr "%1$s 刷新率"
+
+#: src/frontend/mame/ui/ui.cpp:1442
+#, c-format
+msgid "%1$s Brightness"
+msgstr "%1$s 亮度"
+
+#: src/frontend/mame/ui/ui.cpp:1444
+#, c-format
+msgid "%1$s Contrast"
+msgstr "%1$s 对比"
+
+#: src/frontend/mame/ui/ui.cpp:1446
+#, c-format
+msgid "%1$s Gamma"
+msgstr "%1$s 迦玛值"
+
+#: src/frontend/mame/ui/ui.cpp:1450
+#, c-format
+msgid "%1$s Horiz Stretch"
+msgstr "%1$s 水平延展"
+
+#: src/frontend/mame/ui/ui.cpp:1452
+#, c-format
+msgid "%1$s Horiz Position"
+msgstr "%1$s æ°´å¹³ä½ç½®"
+
+#: src/frontend/mame/ui/ui.cpp:1454
+#, c-format
+msgid "%1$s Vert Stretch"
+msgstr "%1$s 垂直延展"
+
+#: src/frontend/mame/ui/ui.cpp:1456
+#, c-format
+msgid "%1$s Vert Position"
+msgstr "%1$s 垂直ä½ç½®"
+
+#: src/frontend/mame/ui/ui.cpp:1475
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
+msgstr "激光影碟 %1$s 水平延展"
+
+#: src/frontend/mame/ui/ui.cpp:1477
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
+msgstr "激光影碟 %1$s æ°´å¹³ä½ç½®"
+
+#: src/frontend/mame/ui/ui.cpp:1479
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
+msgstr "激光影碟 %1$s 垂直延展"
+
+#: src/frontend/mame/ui/ui.cpp:1481
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
+msgstr "激光影碟 %1$s 垂直ä½ç½®"
+
+#: src/frontend/mame/ui/ui.cpp:1493
+msgid "Vector Flicker"
+msgstr "å‘é‡é—ªçƒåº¦"
+
+#: src/frontend/mame/ui/ui.cpp:1494
+msgid "Beam Width Minimum"
+msgstr "最å°å…‰æŸå®½åº¦"
+
+#: src/frontend/mame/ui/ui.cpp:1495
+msgid "Beam Width Maximum"
+msgstr "最大光æŸå®½åº¦"
+
+#: src/frontend/mame/ui/ui.cpp:1496
+msgid "Beam Intensity Weight"
+msgstr "å…‰æŸå¼ºåº¦"
+
+#: src/frontend/mame/ui/ui.cpp:1511
+#, c-format
+msgid "Crosshair Scale %1$s"
+msgstr "å字准星尺度 %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "X"
+msgstr "X"
+
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "Y"
+msgstr "Y"
+
+#: src/frontend/mame/ui/ui.cpp:1513
+#, c-format
+msgid "Crosshair Offset %1$s"
+msgstr "å字准星ä½ç§» %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1601
+#, c-format
+msgid "%1$3ddB"
+msgstr "%1$3ddB"
+
+#: src/frontend/mame/ui/ui.cpp:1645
+#, c-format
+msgid "%1$d%%"
+msgstr "%1$d%%"
+
+#: src/frontend/mame/ui/ui.cpp:1661
+#, c-format
+msgid "%1$3.0f%%"
+msgstr "%1$3.0f%%"
+
+#: src/frontend/mame/ui/ui.cpp:1685
+#, c-format
+msgid "%1$.3ffps"
+msgstr "%1$.3ffps"
+
+#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
+#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
+#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
+#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
+#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
+#: src/frontend/mame/ui/ui.cpp:1927
+#, c-format
+msgid "%1$.3f"
+msgstr "%1$.3f"
+
+#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
+#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
+#, c-format
+msgid "%1$1.2f"
+msgstr "%1$1.2f"
+
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
+msgstr "å字准星尺度 X %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
+msgstr "å字准星尺度 Y %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
+msgstr "å字准星ä½ç§» X %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
+msgstr "å字准星ä½ç§» Y %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
+msgstr "**ä¿å­˜ ui.ini 时错误**"
+
+#: src/frontend/mame/ui/ui.cpp:2226
+#, c-format
+msgid "**Error saving %s.ini**"
+msgstr "**ä¿å­˜ %s.ini 时错误**"
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " COLORS"
+msgstr " 色彩"
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " PENS"
+msgstr " PENS"
+
+#: src/frontend/mame/ui/devopt.cpp:39
#, c-format
msgid ""
"[This option is currently mounted in the running system]\n"
@@ -2167,7 +2481,7 @@ msgstr ""
"\n"
"已选用的选项å¯ç”¨ä¸‹åˆ—项目:\n"
-#: src/frontend/mame/ui/devopt.cpp:44
+#: src/frontend/mame/ui/devopt.cpp:40
#, c-format
msgid ""
"[This option is NOT currently mounted in the running system]\n"
@@ -2184,60 +2498,60 @@ msgstr ""
"\n"
"如选用此选项,下列项目將å¯ç”¨ï¼š\n"
-#: src/frontend/mame/ui/devopt.cpp:52
+#: src/frontend/mame/ui/devopt.cpp:48
msgid "* CPU:\n"
msgstr "* CPU:\n"
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
#, c-format
msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
msgstr " %1$d×%2$s %3$d.%4$06d MHz\n"
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
msgstr " %1$d×%2$s %5$d.%6$03d kHz\n"
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
msgid " %2$s %3$d.%4$06d MHz\n"
msgstr " %2$s %3$d.%4$06d MHz\n"
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
msgid " %2$s %5$d.%6$03d kHz\n"
msgstr " %2$s %5$d.%6$03d kHz\n"
-#: src/frontend/mame/ui/devopt.cpp:89
+#: src/frontend/mame/ui/devopt.cpp:85
msgid "* Video:\n"
msgstr "* 視訊:\n"
-#: src/frontend/mame/ui/devopt.cpp:94
+#: src/frontend/mame/ui/devopt.cpp:90
#, c-format
msgid " Screen '%1$s': Vector\n"
msgstr " ç”»é¢ '%1$s': å‘é‡\n"
-#: src/frontend/mame/ui/devopt.cpp:103
+#: src/frontend/mame/ui/devopt.cpp:99
#, c-format
msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
msgstr " ç”»é¢ '%1$s': %2$d × %3$d (V) %4$f Hz\n"
-#: src/frontend/mame/ui/devopt.cpp:104
+#: src/frontend/mame/ui/devopt.cpp:100
#, c-format
msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
msgstr " ç”»é¢ '%1$s': %2$d × %3$d (H) %4$f Hz\n"
-#: src/frontend/mame/ui/devopt.cpp:117
+#: src/frontend/mame/ui/devopt.cpp:113
msgid "* Sound:\n"
msgstr "* 声音:\n"
-#: src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/devopt.cpp:133
#, c-format
msgid " %1$d×%2$s\n"
msgstr " %1$d×%2$s\n"
-#: src/frontend/mame/ui/devopt.cpp:138
+#: src/frontend/mame/ui/devopt.cpp:134
msgid " %2$s\n"
msgstr " %2$s\n"
-#: src/frontend/mame/ui/devopt.cpp:168
+#: src/frontend/mame/ui/devopt.cpp:164
#, c-format
msgid ""
"* BIOS settings:\n"
@@ -2246,481 +2560,86 @@ msgstr ""
"* BIOS 设定:\n"
" %1$d 选项 [缺çœï¼š %2$s]\n"
-#: src/frontend/mame/ui/devopt.cpp:208 src/frontend/mame/ui/devopt.cpp:224
-#: src/frontend/mame/ui/devopt.cpp:269
+#: src/frontend/mame/ui/devopt.cpp:204 src/frontend/mame/ui/devopt.cpp:220
+#: src/frontend/mame/ui/devopt.cpp:265
#, c-format
msgid " %1$s [default: %2$s]\n"
msgstr " %1$s [缺çœï¼š %2$s]\n"
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
+#: src/frontend/mame/ui/devopt.cpp:209 src/frontend/mame/ui/devopt.cpp:225
#, c-format
msgid " %1$s\n"
msgstr " %1$s\n"
-#: src/frontend/mame/ui/devopt.cpp:234
+#: src/frontend/mame/ui/devopt.cpp:230
msgid "* DIP switch settings:\n"
msgstr "* 指拨开关设定:\n"
-#: src/frontend/mame/ui/devopt.cpp:236
+#: src/frontend/mame/ui/devopt.cpp:232
msgid "* Configuration settings:\n"
msgstr "* é…置设定:\n"
-#: src/frontend/mame/ui/devopt.cpp:238
+#: src/frontend/mame/ui/devopt.cpp:234
msgid "* Input device(s):\n"
msgstr "* 输入装置:"
-#: src/frontend/mame/ui/devopt.cpp:240
+#: src/frontend/mame/ui/devopt.cpp:236
#, c-format
msgid " User inputs [%1$d inputs]\n"
msgstr " 使用者输入 [%1$d 输入]\n"
-#: src/frontend/mame/ui/devopt.cpp:242
+#: src/frontend/mame/ui/devopt.cpp:238
#, c-format
msgid " Mahjong inputs [%1$d inputs]\n"
msgstr " 麻将输入 [%1$d 输入]\n"
-#: src/frontend/mame/ui/devopt.cpp:244
+#: src/frontend/mame/ui/devopt.cpp:240
#, c-format
msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr " 花牌输入 [%1$d 输入]\n"
-#: src/frontend/mame/ui/devopt.cpp:246
+#: src/frontend/mame/ui/devopt.cpp:242
#, c-format
msgid " Gambling inputs [%1$d inputs]\n"
msgstr " åšå¥•输入 [%1$d 输入]\n"
-#: src/frontend/mame/ui/devopt.cpp:248
+#: src/frontend/mame/ui/devopt.cpp:244
#, c-format
msgid " Analog inputs [%1$d inputs]\n"
msgstr " 类比输入 [%1$d 输入]\n"
-#: src/frontend/mame/ui/devopt.cpp:250
+#: src/frontend/mame/ui/devopt.cpp:246
#, c-format
msgid " Adjuster inputs [%1$d inputs]\n"
msgstr " 调节器输入 [%1$d 输入]\n"
-#: src/frontend/mame/ui/devopt.cpp:252
+#: src/frontend/mame/ui/devopt.cpp:248
#, c-format
msgid " Keypad inputs [%1$d inputs]\n"
msgstr " 数字键盘输入 [%1$d 输入]\n"
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/devopt.cpp:250
#, c-format
msgid " Keyboard inputs [%1$d inputs]\n"
msgstr " 键盘输入 [%1$d 输入]\n"
-#: src/frontend/mame/ui/devopt.cpp:259
+#: src/frontend/mame/ui/devopt.cpp:255
msgid "* Media Options:\n"
msgstr "* 媒体选项:\n"
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/devopt.cpp:257
#, c-format
msgid " %1$s [tag: %2$s]\n"
msgstr " %1$s [標籤: %2$s]\n"
-#: src/frontend/mame/ui/devopt.cpp:267
+#: src/frontend/mame/ui/devopt.cpp:263
msgid "* Slot Options:\n"
msgstr "* æ’æ§½é€‰é¡¹ï¼š\n"
-#: src/frontend/mame/ui/devopt.cpp:274
+#: src/frontend/mame/ui/devopt.cpp:270
msgid "[None]\n"
msgstr "[ç„¡]\n"
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
-msgstr "校验标记为ä¸å¯ç”¨çš„ %1$u 机å°çš„ ROM 档案?"
-
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
-msgstr "校验所有 %1$u 机å°çš„ ROM 档案?"
-
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
-msgstr "(结果将ä¿å­˜åœ¨ %1$s)"
-
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
-msgstr ""
-"æ­£åœ¨æ ¡éªŒä¾›æœºå° %2$u çš„ %3$u ROM 档案...\n"
-"%1$s"
-
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr "开始校验"
-
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
-msgstr "无法跨目录储存"
-
-#: src/frontend/mame/ui/imgcntrl.cpp:150
-msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
-msgstr "选定的软件缺少一个至多个必è¦çš„ ROM 或 CHD æ˜ åƒæ¡£ï¼Œè¯·é€‰æ‹©å…¶ä»–软件。"
-
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
-msgstr "ä¿æŠ¤"
-
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
-msgstr "计时"
-
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
-msgstr "图形"
-
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
-msgstr "色盘"
-
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
-msgstr "声音"
-
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
-msgstr "相机"
-
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
-msgstr "麦克风"
-
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
-msgstr "控制"
-
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
-msgstr "键盘"
-
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
-msgstr "滑鼠"
-
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
-msgstr "ç£ç¢Ÿ"
-
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
-msgstr "å°è¡¨æœº"
-
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
-msgstr "区域网"
-
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
-msgstr "广域网"
-
-#: src/frontend/mame/ui/info.cpp:188
-msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
-msgstr "本机械有一个或更多的 ROM/CHD æ˜¯ä¸æ­£ç¡®çš„。此机械å¯èƒ½æ— æ³•正确执行。\n"
-
-#: src/frontend/mame/ui/info.cpp:198
-msgid ""
-"There are known problems with this machine\n"
-"\n"
-msgstr ""
-"本机械已知具有下列的问题\n"
-"\n"
-
-#: src/frontend/mame/ui/info.cpp:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
-msgstr "本机械有一个或更多的 ROM/CHD 尚未正确地被 DUMP。\n"
-
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
-msgstr "未完整模拟功能: "
-
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
-msgstr "%s"
-
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#: src/frontend/mame/ui/info.cpp:275
-#, c-format
-msgid ", %s"
-msgstr ", %s"
-
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
-msgstr "未完美模拟功能: "
-
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
-msgstr "尚未支æ´å°é¢åž‹ç­ä½“模å¼çš„ç”»é¢ç¿»è½¬ã€‚"
-
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
-msgstr "此机械需è¦é¢å¤–的装饰图档"
-
-#: src/frontend/mame/ui/info.cpp:243
-msgid ""
-"This machine was never completed. It may exhibit strange behavior or missing "
-"elements that are not bugs in the emulation.\n"
-msgstr "本机械无法完æˆï¼Œå¹¶éžæ¨¡æ‹Ÿä¸­çš„错误而å¯èƒ½å‘ˆçŽ°æ€ªå¼‚çš„è¡Œä¸ºæˆ–ç¼ºå°‘å…ƒä»¶ã€‚\n"
-
-#: src/frontend/mame/ui/info.cpp:245
-msgid ""
-"This machine has no sound hardware, MAME will produce no sounds, this is "
-"expected behaviour.\n"
-msgstr "本机械无声音硬体,故 MAME å°†ä¸ä¼šäº§ç”Ÿå£°éŸ³ï¼Œè¿™æ˜¯å¯é¢„期的行为。\n"
-
-#: src/frontend/mame/ui/info.cpp:249
-msgid ""
-"\n"
-"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
-"complete. There is nothing you can do to fix this problem except wait for "
-"the developers to improve the emulation.\n"
-msgstr ""
-"\n"
-"此机械无法执行,机械的模拟还ä¸å®Œå…¨ã€‚除了等待开å‘人员改良模拟之外,没有方法å¯"
-"以解决这个问题。\n"
-
-#: src/frontend/mame/ui/info.cpp:251
-msgid ""
-"\n"
-"Elements of this machine cannot be emulated as they requires physical "
-"interaction or consist of mechanical devices. It is not possible to fully "
-"experience this machine.\n"
-msgstr ""
-"此机械的部分元件无法模拟,因其需è¦å®žé™…活动的互动或机械装置的组åˆã€‚故无法完æˆ"
-"此机械的体验。\n"
-
-#: src/frontend/mame/ui/info.cpp:273
-#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
-msgstr ""
-"\n"
-"\n"
-"æœ¬æœºæ¢°å°šæœ‰å¯æ‰§è¡Œçš„彷製版: %s"
-
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
-msgstr ""
-"\n"
-"\n"
-"æŒ‰ä»»æ„æŒ‰é”®ç»§ç»­"
-
-#: src/frontend/mame/ui/info.cpp:301
-#, c-format
-msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
-msgstr ""
-"%1$s\n"
-"%2$s %3$s\n"
-"驱动: %4$s\n"
-"\n"
-"CPU:\n"
-
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
-msgstr "MHz"
-
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
-msgstr "kHz"
-
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
-msgstr ""
-"\n"
-"声音:\n"
-
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
-msgstr ""
-"\n"
-"视讯:\n"
-
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
-msgstr "æ— \n"
-
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
-msgstr "å‘é‡"
-
-#: src/frontend/mame/ui/info.cpp:400
-#, c-format
-msgid "%1$s: %2$s\n"
-msgstr "%1$s: %2$s\n"
-
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
-msgstr "%2$s\n"
-
-#: src/frontend/mame/ui/info.cpp:446
-#, c-format
-msgid "Screen '%1$s'"
-msgstr "ç”»é¢ '%1$s'"
-
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr "ç”»é¢"
-
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
-msgstr "䏿”¯æ´"
-
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
-msgstr "部分支æ´"
-
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
-msgstr "[ 空 ]"
-
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
-msgstr "æŽ§åˆ¶é¢æ¿"
-
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
-msgstr "装饰图预览"
-
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
-msgstr "游æˆç»“æŸ"
-
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
-msgstr "新增或移除最爱"
-
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
-msgstr "汇出显示的清å•至档案"
-
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
-msgstr "显示文件检视"
-
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
-msgstr "软件部分选项: "
-
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
-msgstr "选择 BIOS:"
-
-#: src/frontend/mame/ui/selmenu.cpp:622
-#, c-format
-msgid "Software is clone of: %1$-.100s"
-msgstr "软件相容于: %1$-.100s"
-
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
-msgstr "软件为主档"
-
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
-msgstr "已支æ´ï¼š å¦"
-
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
-msgstr "已支æ´ï¼š 部分"
-
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
-msgstr "已支æ´ï¼š 是"
-
-#: src/frontend/mame/ui/selmenu.cpp:644
-#, c-format
-msgid "romset: %1$-.100s"
-msgstr "Rom套: %1$-.100s"
-
-#: src/frontend/mame/ui/selmenu.cpp:660
-#, c-format
-msgid "Driver is clone of: %1$-.100s"
-msgstr "驱动相容于: %-.100s"
-
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
-msgstr "驱动为主档"
-
-#: src/frontend/mame/ui/selmenu.cpp:698
-#, c-format
-msgid "%1$s %2$s"
-msgstr "%1$s %2$s"
-
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
-msgstr "图åƒ"
-
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
-msgstr "ä¿¡æ¯"
-
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
-msgstr "用法"
-
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
-msgstr "一般信æ¯"
-
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
-msgstr "使用者介é¢"
-
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
-msgstr "其他控制"
-
#: plugins/timer/init.lua:94
msgid "Current time"
msgstr "当剿—¶æ•°"
@@ -2737,51 +2656,51 @@ msgstr "æ¸¸æˆæ¬¡æ•°"
msgid "Timer"
msgstr "计时器"
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:510
msgid "Select cheat to set hotkey"
msgstr "选择è¦è®¾å®šçƒ­é”®çš„作弊ç "
-#: plugins/cheat/init.lua:534
+#: plugins/cheat/init.lua:516
msgid "Press button for hotkey or wait to clear"
msgstr "按下热键按钮或等待清除"
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:528
msgid "None"
msgstr "æ— "
-#: plugins/cheat/init.lua:551
+#: plugins/cheat/init.lua:533
msgid "Done"
msgstr "完æˆ"
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:547 plugins/cheat/init.lua:561
msgid "Set"
msgstr "设定"
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:580
msgid "Set hotkeys"
msgstr "设定热键"
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:720
#, lua-format
msgid "Activated: %s = %s"
msgstr "已激活: %s = %s"
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:723 plugins/cheat/init.lua:781
#, lua-format
msgid "Activated: %s"
msgstr "已激活: %s"
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:785
#, lua-format
msgid "Enabled: %s"
msgstr "å¯ç”¨: %s"
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:790
#, lua-format
msgid "Disabled: %s"
msgstr "åœç”¨: %s"
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "%s added"
msgstr "%s 已加入"
@@ -2834,49 +2753,49 @@ msgstr "Gameinit"
msgid "MARPScore"
msgstr "MARP得分"
-#: plugins/cheatfind/init.lua:404
+#: plugins/cheatfind/init.lua:373
msgid "Save Cheat"
msgstr "储存作弊ç "
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Default"
msgstr "缺çœ"
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Custom"
msgstr "自订"
-#: plugins/cheatfind/init.lua:408
+#: plugins/cheatfind/init.lua:377
msgid "Cheat Name"
msgstr "作弊ç åç§°"
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/cheatfind/init.lua:383 plugins/cheatfind/init.lua:748
#, lua-format
msgid "Default name is %s"
msgstr "缺çœå称为 %s"
-#: plugins/cheatfind/init.lua:422
+#: plugins/cheatfind/init.lua:391
msgid "Player"
msgstr "玩家"
-#: plugins/cheatfind/init.lua:427
+#: plugins/cheatfind/init.lua:396
msgid "Type"
msgstr "类型"
-#: plugins/cheatfind/init.lua:433
+#: plugins/cheatfind/init.lua:402
msgid "Save"
msgstr "储存"
-#: plugins/cheatfind/init.lua:462
+#: plugins/cheatfind/init.lua:429
#, lua-format
msgid "Cheat written to %s and added to cheat.simple"
msgstr "作弊ç å·²å†™å…¥è‡³ %s 且已加入至 cheat.simple"
-#: plugins/cheatfind/init.lua:472
+#: plugins/cheatfind/init.lua:437
msgid "Cheat added to cheat.simple"
msgstr "作弊ç å·²åŠ å…¥è‡³ cheat.simple"
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:442
msgid ""
"Unable to write file\n"
"Ensure that cheatpath folder exists"
@@ -2884,295 +2803,174 @@ msgstr ""
"无法写入档案\n"
"确认 cheatpath 资料夹是å¦å­˜åœ¨"
-#: plugins/cheatfind/init.lua:486
+#: plugins/cheatfind/init.lua:451
msgid "Cancel"
msgstr "å–æ¶ˆ"
-#: plugins/cheatfind/init.lua:491
+#: plugins/cheatfind/init.lua:456
msgid "CPU or RAM"
msgstr "CPU 或内存"
-#: plugins/cheatfind/init.lua:495
+#: plugins/cheatfind/init.lua:460
msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr "æ­¤å˜æ›´ä»…当选定 \"开始新æœå¯»\" 时生效"
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
-msgstr ""
+#: plugins/cheatfind/init.lua:479
+msgid "Data cleared and current state saved"
+msgstr "清除资料并储存当å‰çжæ€"
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:551
+#: plugins/cheatfind/init.lua:487
msgid "Start new search"
msgstr "开始新æœå¯»"
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
-msgstr ""
+#: plugins/cheatfind/init.lua:497
+msgid "Current state saved"
+msgstr "已储存当å‰çжæ€"
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
-msgstr ""
+#: plugins/cheatfind/init.lua:504
+msgid "Save current -- #"
+msgstr "å‚¨å­˜å½“å‰ -- #"
-#: plugins/cheatfind/init.lua:614
+#: plugins/cheatfind/init.lua:536
#, lua-format
msgid "%d total matches found"
msgstr "总计å‘现 %d 符åˆ"
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
-msgstr ""
+#: plugins/cheatfind/init.lua:543
+msgid "Compare"
+msgstr "比较"
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
-msgstr ""
+#: plugins/cheatfind/init.lua:546
+msgid "Left operand"
+msgstr "å·¦è¿ç®—å…ƒ"
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
-msgstr ""
+#: plugins/cheatfind/init.lua:549
+msgid "Current"
+msgstr "当å‰"
+
+#: plugins/cheatfind/init.lua:554
+msgid "Operator"
+msgstr "è¿ç®—å­"
+
+#: plugins/cheatfind/init.lua:561
+msgid "Left less than right, value is difference"
+msgstr "左值å°äºŽå³å€¼ï¼Œæ•°å€¼å·²æ”¹å˜"
-#: plugins/cheatfind/init.lua:676
+#: plugins/cheatfind/init.lua:563
+msgid "Left greater than right, value is difference"
+msgstr "左值大于å³å€¼ï¼Œæ•°å€¼å·²æ”¹å˜"
+
+#: plugins/cheatfind/init.lua:565
msgid "Left equal to right"
msgstr "左值等于å³å€¼"
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
-msgstr ""
+#: plugins/cheatfind/init.lua:567
+msgid "Left not equal to right, value is difference"
+msgstr "左值ä¸ç­‰äºŽå³å€¼ï¼Œæ•°å€¼å·²æ”¹å˜"
-#: plugins/cheatfind/init.lua:680
+#: plugins/cheatfind/init.lua:569
msgid "Left equal to right with bitmask"
msgstr "ä½å…ƒé®ç½©ä¸‹å·¦å€¼ç­‰äºŽå³å€¼"
-#: plugins/cheatfind/init.lua:682
+#: plugins/cheatfind/init.lua:571
msgid "Left not equal to right with bitmask"
msgstr "ä½å…ƒé®ç½©ä¸‹å·¦å€¼ä¸ç­‰äºŽå³å€¼"
-#: plugins/cheatfind/init.lua:684
+#: plugins/cheatfind/init.lua:573
msgid "Left less than value"
msgstr "左值å°äºŽåŽŸå€¼"
-#: plugins/cheatfind/init.lua:686
+#: plugins/cheatfind/init.lua:575
msgid "Left greater than value"
msgstr "左值大于原值"
-#: plugins/cheatfind/init.lua:688
+#: plugins/cheatfind/init.lua:577
msgid "Left equal to value"
msgstr "左值等于原值"
-#: plugins/cheatfind/init.lua:690
+#: plugins/cheatfind/init.lua:579
msgid "Left not equal to value"
msgstr "左值ä¸ç­‰äºŽåŽŸå€¼"
-#: plugins/cheatfind/init.lua:712
+#: plugins/cheatfind/init.lua:590
+msgid "Right operand"
+msgstr "å³è¿ç®—å…ƒ"
+
+#: plugins/cheatfind/init.lua:598
msgid "Value"
msgstr "值"
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:719
+#: plugins/cheatfind/init.lua:602
msgid "Any"
msgstr "ä»»æ„"
-#: plugins/cheatfind/init.lua:725
+#: plugins/cheatfind/init.lua:608
msgid "Data Format"
msgstr "æ•°æ®æ ¼å¼"
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:738
-msgid ""
-"Use this if you want to poke the Slot 1 value (eg. You started with "
-"something but lost it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:740
-msgid ""
-"Use this if you want to poke the Last Slot value (eg. You started without an "
-"item but finally got it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:816
+#: plugins/cheatfind/init.lua:632
msgid "Undo last search -- #"
msgstr "æ’¤é”€å‰æ¬¡æœå¯» -- #"
-#: plugins/cheatfind/init.lua:820
+#: plugins/cheatfind/init.lua:636
msgid "Match block"
msgstr "符åˆåŒºå—"
-#: plugins/cheatfind/init.lua:823
+#: plugins/cheatfind/init.lua:639
msgid "All"
msgstr "所有"
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheatfind/init.lua:690
#, lua-format
-msgid "Test Cheat %08X:%02X"
-msgstr ""
+msgid "Test cheat at addr %08X"
+msgstr "在ä½å€ %08X 测试作弊ç "
-#: plugins/cheatfind/init.lua:974
+#: plugins/cheatfind/init.lua:722
msgid "Cheat engine not available"
msgstr "作弊引擎ä¸å¯ç”¨"
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Test"
msgstr "测试"
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Write"
msgstr "写入"
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Watch"
msgstr "监视"
-#: plugins/cheatfind/init.lua:1045
+#: plugins/cheatfind/init.lua:788
msgid "Page"
msgstr "页"
-#: plugins/cheatfind/init.lua:1063
+#: plugins/cheatfind/init.lua:806
msgid "Clear Watches"
msgstr "清除监视"
-#: plugins/cheatfind/init.lua:1078
+#: plugins/cheatfind/init.lua:816
msgid "Cheat Finder"
msgstr "ä½œå¼Šç æœå¯»å™¨"
-#: plugins/portname/init.lua:103
+#: plugins/portname/init.lua:69
msgid "Save input names to file"
msgstr "ä¿å­˜è¾“å…¥å称至档案"
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
+#: plugins/portname/init.lua:100 plugins/portname/init.lua:105
+#: plugins/portname/init.lua:121
msgid "Failed to save input name file"
msgstr "ä¿å­˜è¾“å…¥å称档案时失败"
-#: plugins/portname/init.lua:167
+#: plugins/portname/init.lua:133
#, lua-format
msgid "Input port name file saved to %s"
msgstr "输入埠å称档案ä¿å­˜è‡³ %s"
-#: plugins/portname/init.lua:172
+#: plugins/portname/init.lua:138
msgid "Input ports"
msgstr "输入埠"
-#~ msgid "Data cleared and current state saved"
-#~ msgstr "清除资料并储存当å‰çжæ€"
-
-#~ msgid "Current state saved"
-#~ msgstr "已储存当å‰çжæ€"
-
-#~ msgid "Save current -- #"
-#~ msgstr "å‚¨å­˜å½“å‰ -- #"
-
-#~ msgid "Compare"
-#~ msgstr "比较"
-
-#~ msgid "Left operand"
-#~ msgstr "å·¦è¿ç®—å…ƒ"
-
-#~ msgid "Current"
-#~ msgstr "当å‰"
-
-#~ msgid "Operator"
-#~ msgstr "è¿ç®—å­"
-
-#~ msgid "Left less than right, value is difference"
-#~ msgstr "左值å°äºŽå³å€¼ï¼Œæ•°å€¼å·²æ”¹å˜"
-
-#~ msgid "Left greater than right, value is difference"
-#~ msgstr "左值大于å³å€¼ï¼Œæ•°å€¼å·²æ”¹å˜"
-
-#~ msgid "Left not equal to right, value is difference"
-#~ msgstr "左值ä¸ç­‰äºŽå³å€¼ï¼Œæ•°å€¼å·²æ”¹å˜"
-
-#~ msgid "Right operand"
-#~ msgstr "å³è¿ç®—å…ƒ"
-
-#~ msgid "Test cheat at addr %08X"
-#~ msgstr "在ä½å€ %08X 测试作弊ç "
-
#~ msgid ""
#~ "ROM Audit Disabled\t\n"
#~ "Samples Audit Disabled\t\n"
diff --git a/language/Chinese_Traditional/strings.po b/language/Chinese_Traditional/strings.po
index f382ea856ca..c5cc9d1317d 100644
--- a/language/Chinese_Traditional/strings.po
+++ b/language/Chinese_Traditional/strings.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MAME\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-03-17 13:37+1100\n"
+"POT-Creation-Date: 2018-04-28 15:32+1000\n"
"PO-Revision-Date: 2018-04-28 18:50+0800\n"
"Last-Translator: YuiFAN\n"
"Language-Team: MAME Language Team\n"
@@ -17,61 +17,238 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
+#: src/frontend/mame/ui/auditmenu.cpp:96
#, c-format
-msgid "Screen #%d"
-msgstr "ç•«é¢ #%d"
+msgid "Audit ROMs for %1$u machines marked unavailable?"
+msgstr "驗證標記為ä¸å¯ç”¨çš„ %1$u æ©Ÿå° ROM 檔?"
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr "旋轉"
+#: src/frontend/mame/ui/auditmenu.cpp:99
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
+msgstr "驗證所有 %1$u 機å°çš„ ROM 檔?"
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr "背景圖"
+#: src/frontend/mame/ui/auditmenu.cpp:104
+#, c-format
+msgid "(results will be saved to %1$s)"
+msgstr "(çµæžœå°‡å„²å­˜è‡³ %1$s)"
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Enabled"
-msgstr "已啟用"
+#: src/frontend/mame/ui/auditmenu.cpp:130
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
+msgstr ""
+"æ­£åœ¨é©—è­‰ä¾›æ©Ÿå° %2$u çš„ %3$u ROM 檔...\n"
+"%1$s"
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Disabled"
-msgstr "å·²åœç”¨"
+#: src/frontend/mame/ui/auditmenu.cpp:142
+msgid "Start Audit"
+msgstr "é–‹å§‹é©—è­‰"
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr "覆疊圖"
+#: src/frontend/mame/ui/selmenu.cpp:49 src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Snapshots"
+msgstr "擷圖"
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr "外框圖"
+#: src/frontend/mame/ui/selmenu.cpp:50 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cabinets"
+msgstr "ç­é«”圖"
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+#: src/frontend/mame/ui/selmenu.cpp:51
+msgid "Control Panels"
msgstr "æ“作檯"
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
+#: src/frontend/mame/ui/selmenu.cpp:52 src/frontend/mame/ui/dirmenu.cpp:50
+msgid "PCBs"
+msgstr "PCB 圖"
+
+#: src/frontend/mame/ui/selmenu.cpp:53 src/frontend/mame/ui/dirmenu.cpp:47
+msgid "Flyers"
+msgstr "廣告圖"
+
+#: src/frontend/mame/ui/selmenu.cpp:54 src/frontend/mame/ui/dirmenu.cpp:48
+msgid "Titles"
+msgstr "標題圖"
+
+#: src/frontend/mame/ui/selmenu.cpp:55 src/frontend/mame/ui/dirmenu.cpp:49
+msgid "Ends"
+msgstr "çµæŸåœ–"
+
+#: src/frontend/mame/ui/selmenu.cpp:56
+msgid "Artwork Preview"
+msgstr "è£é£¾åœ–é è¦½"
+
+#: src/frontend/mame/ui/selmenu.cpp:57 src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Bosses"
+msgstr "首領"
+
+#: src/frontend/mame/ui/selmenu.cpp:58 src/frontend/mame/ui/dirmenu.cpp:60
+msgid "Logos"
+msgstr "標題圖"
+
+#: src/frontend/mame/ui/selmenu.cpp:59 src/frontend/mame/ui/dirmenu.cpp:62
+msgid "Versus"
+msgstr "å°æˆ°"
+
+#: src/frontend/mame/ui/selmenu.cpp:60
+msgid "Game Over"
+msgstr "éŠæˆ²çµæŸ"
+
+#: src/frontend/mame/ui/selmenu.cpp:61 src/frontend/mame/ui/dirmenu.cpp:59
+msgid "HowTo"
+msgstr "說明圖"
+
+#: src/frontend/mame/ui/selmenu.cpp:62 src/frontend/mame/ui/dirmenu.cpp:61
+msgid "Scores"
+msgstr "得分"
+
+#: src/frontend/mame/ui/selmenu.cpp:63 src/frontend/mame/ui/dirmenu.cpp:57
+msgid "Select"
+msgstr "鏿“‡"
+
+#: src/frontend/mame/ui/selmenu.cpp:64 src/frontend/mame/ui/dirmenu.cpp:51
+#: src/frontend/mame/ui/videoopt.cpp:224
msgid "Marquees"
msgstr "標籤圖"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
-msgstr "檢視"
+#: src/frontend/mame/ui/selmenu.cpp:65 src/frontend/mame/ui/dirmenu.cpp:63
+msgid "Covers"
+msgstr "å°é¢"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
-msgstr "è£åˆ‡"
+#: src/frontend/mame/ui/selmenu.cpp:69
+msgid "Add or remove favorites"
+msgstr "新增或移除最愛"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
-msgstr "全部"
+#: src/frontend/mame/ui/selmenu.cpp:70
+msgid "Export displayed list to file"
+msgstr "匯出顯示的清單至檔案"
+
+#: src/frontend/mame/ui/selmenu.cpp:71
+msgid "Show DATs view"
+msgstr "顯示文件檢視"
+
+#: src/frontend/mame/ui/selmenu.cpp:237
+msgid "Software part selection:"
+msgstr "軟體部分é¸é …:"
+
+#: src/frontend/mame/ui/selmenu.cpp:343
+msgid "BIOS selection:"
+msgstr "鏿“‡ BIOS:"
+
+#: src/frontend/mame/ui/selmenu.cpp:570 src/frontend/mame/ui/selmenu.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:311
+#, c-format
+msgid "%1$s, %2$-.100s"
+msgstr "%1$s, %2$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:574
+#, c-format
+msgid "Software is clone of: %1$-.100s"
+msgstr "軟體相容於: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:576
+msgid "Software is parent"
+msgstr "軟體為主檔"
+
+#: src/frontend/mame/ui/selmenu.cpp:581
+msgid "Supported: No"
+msgstr "已支æ´ï¼š å¦"
+
+#: src/frontend/mame/ui/selmenu.cpp:586
+msgid "Supported: Partial"
+msgstr "已支æ´ï¼š 部分"
+
+#: src/frontend/mame/ui/selmenu.cpp:591
+msgid "Supported: Yes"
+msgstr "已支æ´ï¼š 是"
+
+#: src/frontend/mame/ui/selmenu.cpp:596
+#, c-format
+msgid "romset: %1$-.100s"
+msgstr "Rom組: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:612
+#, c-format
+msgid "Driver is clone of: %1$-.100s"
+msgstr "驅動程å¼ç›¸å®¹æ–¼ï¼š %-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:614
+msgid "Driver is parent"
+msgstr "驅動程å¼ç‚ºä¸»æª”"
+
+#: src/frontend/mame/ui/selmenu.cpp:619
+#: src/frontend/mame/ui/simpleselgame.cpp:330
+msgid "Overall: NOT WORKING"
+msgstr "整體: ä¸å¯åŸ·è¡Œ"
+
+#: src/frontend/mame/ui/selmenu.cpp:621
+#: src/frontend/mame/ui/simpleselgame.cpp:332
+msgid "Overall: Unemulated Protection"
+msgstr "整體: 未模擬ä¿è­·"
+
+#: src/frontend/mame/ui/selmenu.cpp:623
+#: src/frontend/mame/ui/simpleselgame.cpp:334
+msgid "Overall: Working"
+msgstr "整體: å¯ä»¥åŸ·è¡Œ"
+
+#: src/frontend/mame/ui/selmenu.cpp:627
+#: src/frontend/mame/ui/simpleselgame.cpp:338
+msgid "Graphics: Unimplemented, "
+msgstr "圖形: ä¸å®Œæ•´ï¼Œ"
+
+#: src/frontend/mame/ui/selmenu.cpp:629
+#: src/frontend/mame/ui/simpleselgame.cpp:340
+msgid "Graphics: Imperfect, "
+msgstr "圖形: ä¸å®Œç¾Žï¼Œ "
+
+#: src/frontend/mame/ui/selmenu.cpp:631
+#: src/frontend/mame/ui/simpleselgame.cpp:342
+msgid "Graphics: OK, "
+msgstr "圖形: OK, "
+
+#: src/frontend/mame/ui/selmenu.cpp:634
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+msgid "Sound: None"
+msgstr "è²éŸ³ï¼š ç„¡"
+
+#: src/frontend/mame/ui/selmenu.cpp:636
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+msgid "Sound: Unimplemented"
+msgstr "è²éŸ³ï¼š 無法執行"
+
+#: src/frontend/mame/ui/selmenu.cpp:638
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+msgid "Sound: Imperfect"
+msgstr "è²éŸ³ï¼š ä¸å®Œç¾Ž"
+
+#: src/frontend/mame/ui/selmenu.cpp:640
+#: src/frontend/mame/ui/simpleselgame.cpp:351
+msgid "Sound: OK"
+msgstr "è²éŸ³ï¼š OK"
+
+#: src/frontend/mame/ui/selmenu.cpp:650
+#, c-format
+msgid "%1$s %2$s"
+msgstr "%1$s %2$s"
+
+#: src/frontend/mame/ui/selmenu.cpp:1975
+msgid "Images"
+msgstr "圖片"
+
+#: src/frontend/mame/ui/selmenu.cpp:1976
+msgid "Infos"
+msgstr "資訊"
+
+#: src/frontend/mame/ui/selmenu.cpp:2386 src/frontend/mame/ui/miscmenu.cpp:826
+msgid " (default)"
+msgstr " (é è¨­ï¼‰"
+
+#: src/frontend/mame/ui/selmenu.cpp:2454
+msgid "Usage"
+msgstr "用法"
+
+#: src/frontend/mame/ui/selmenu.cpp:2489
+msgid "General Info"
+msgstr "一般資訊"
#: src/frontend/mame/ui/dirmenu.cpp:35
msgid "ROMs"
@@ -113,30 +290,6 @@ msgstr "圖示"
msgid "Cheats"
msgstr "作弊引擎"
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
-msgstr "擷圖"
-
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
-msgstr "ç­é«”圖"
-
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
-msgstr "廣告圖"
-
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
-msgstr "標題圖"
-
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
-msgstr "çµæŸåœ–"
-
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
-msgstr "PCB 圖"
-
#: src/frontend/mame/ui/dirmenu.cpp:52
msgid "Controls Panels"
msgstr "æ“作檯"
@@ -149,42 +302,14 @@ msgstr "å字準星"
msgid "Artworks"
msgstr "è£é£¾åœ–"
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
-msgstr "首領"
-
#: src/frontend/mame/ui/dirmenu.cpp:56
msgid "Artworks Preview"
msgstr "è£é£¾åœ–é è¦½"
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
-msgstr "鏿“‡"
-
#: src/frontend/mame/ui/dirmenu.cpp:58
msgid "GameOver"
msgstr "éŠæˆ²çµæŸ"
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
-msgstr "說明圖"
-
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
-msgstr "標題圖"
-
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
-msgstr "得分"
-
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
-msgstr "å°æˆ°"
-
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
-msgstr "å°é¢"
-
#: src/frontend/mame/ui/dirmenu.cpp:116
msgid "Folders Setup"
msgstr "資料夾設定"
@@ -225,14 +350,266 @@ msgstr "按下 TAB éµè¨­å®š"
msgid "Remove %1$s Folder"
msgstr "移除 %1$s 資料夾"
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
-msgstr "é¸é …清單 - æœå°‹ï¼š "
+#: src/frontend/mame/ui/info.cpp:30
+msgid "protection"
+msgstr "ä¿è­·"
+
+#: src/frontend/mame/ui/info.cpp:31
+msgid "color palette"
+msgstr "色盤"
+
+#: src/frontend/mame/ui/info.cpp:32
+msgid "graphics"
+msgstr "圖形"
+
+#: src/frontend/mame/ui/info.cpp:33
+msgid "sound"
+msgstr "è²éŸ³"
+
+#: src/frontend/mame/ui/info.cpp:34
+msgid "controls"
+msgstr "控制"
+
+#: src/frontend/mame/ui/info.cpp:35
+msgid "keyboard"
+msgstr "éµç›¤"
+
+#: src/frontend/mame/ui/info.cpp:36
+msgid "mouse"
+msgstr "滑鼠"
+
+#: src/frontend/mame/ui/info.cpp:37
+msgid "microphone"
+msgstr "麥克風"
+
+#: src/frontend/mame/ui/info.cpp:38
+msgid "camera"
+msgstr "相機"
+
+#: src/frontend/mame/ui/info.cpp:39
+msgid "disk"
+msgstr "ç£ç¢Ÿ"
+
+#: src/frontend/mame/ui/info.cpp:40
+msgid "printer"
+msgstr "å°è¡¨æ©Ÿ"
+
+#: src/frontend/mame/ui/info.cpp:41
+msgid "LAN"
+msgstr "å€åŸŸç¶²è·¯"
+
+#: src/frontend/mame/ui/info.cpp:42
+msgid "WAN"
+msgstr "外部網路"
+
+#: src/frontend/mame/ui/info.cpp:43
+msgid "timing"
+msgstr "計時"
+
+#: src/frontend/mame/ui/info.cpp:180
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
+msgstr "æœ¬æ©Ÿå°æœ‰ä¸€å€‹æˆ–更多的 ROM/CHD æ˜¯ä¸æ­£ç¢ºçš„。此機å°å¯èƒ½ç„¡æ³•正確執行。\n"
+
+#: src/frontend/mame/ui/info.cpp:190
+msgid ""
+"There are known problems with this machine\n"
+"\n"
+msgstr ""
+"本機å°å·²çŸ¥å…·æœ‰ä¸‹åˆ—çš„å•題\n"
+"\n"
+
+#: src/frontend/mame/ui/info.cpp:195
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+msgstr "æœ¬æ©Ÿå°æœ‰ä¸€å€‹æˆ–更多的 ROM/CHD 尚未正確地被 DUMP。\n"
+
+#: src/frontend/mame/ui/info.cpp:200
+msgid "Completely unemulated features: "
+msgstr "未完整模擬功能: "
-#: src/frontend/mame/ui/selector.cpp:123
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
#, c-format
-msgid "Double click or press %1$s to select"
-msgstr "雙擊或按下 %1$s 以鏿“‡"
+msgid "%s"
+msgstr "%s"
+
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#: src/frontend/mame/ui/info.cpp:267
+#, c-format
+msgid ", %s"
+msgstr ", %s"
+
+#: src/frontend/mame/ui/info.cpp:216
+msgid "Imperfectly emulated features: "
+msgstr "未完美模擬功能: "
+
+#: src/frontend/mame/ui/info.cpp:231
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr "å°šæœªæ”¯æ´æª¯é¢åž‹ç­é«”模å¼çš„ç•«é¢ç¿»è½‰ã€‚"
+
+#: src/frontend/mame/ui/info.cpp:233
+msgid "This machine requires external artwork files.\n"
+msgstr "此機å°éœ€è¦é¡å¤–çš„è£é£¾åœ–檔"
+
+#: src/frontend/mame/ui/info.cpp:235
+msgid ""
+"This machine was never completed. It may exhibit strange behavior or missing "
+"elements that are not bugs in the emulation.\n"
+msgstr "本機å°ç„¡æ³•完æˆï¼Œä¸¦éžæ¨¡æ“¬æ™‚的錯誤而å¯èƒ½å‘ˆç¾æ€ªç•°çš„行為或缺少元件。\n"
+
+#: src/frontend/mame/ui/info.cpp:237
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
+msgstr "本機å°ç„¡è²éŸ³ç¡¬é«”,故 MAME 將䏿œƒç”¢ç”Ÿè²éŸ³ï¼Œé€™æ˜¯å¯é æœŸçš„行為。\n"
+
+#: src/frontend/mame/ui/info.cpp:241
+msgid ""
+"\n"
+"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
+"complete. There is nothing you can do to fix this problem except wait for "
+"the developers to improve the emulation.\n"
+msgstr ""
+"\n"
+"此機å°ç„¡æ³•執行,機å°çš„æ¨¡æ“¬é‚„ä¸å®Œå…¨ã€‚除了等待開發人員改良模擬之外,沒有方法å¯"
+"以解決這個å•題。\n"
+
+#: src/frontend/mame/ui/info.cpp:243
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they requires physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
+msgstr ""
+"此機å°çš„部分元件無法模擬,因其需è¦å¯¦é𛿴»å‹•的互動或機械è£ç½®çš„組åˆã€‚故無法完æˆ"
+"此機å°çš„體驗。\n"
+
+#: src/frontend/mame/ui/info.cpp:265
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
+msgstr ""
+"\n"
+"\n"
+"本機å°å°šæœ‰å¯åŸ·è¡Œçš„仿製版: %s"
+
+#: src/frontend/mame/ui/info.cpp:278
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+"\n"
+"\n"
+"按任æ„éµç¹¼çºŒ"
+
+#: src/frontend/mame/ui/info.cpp:293
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
+msgstr ""
+"%1$s\n"
+"%2$s %3$s\n"
+"驅動程å¼ï¼š %4$s\n"
+"\n"
+"CPU:\n"
+
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "MHz"
+msgstr "MHz"
+
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "kHz"
+msgstr "kHz"
+
+#: src/frontend/mame/ui/info.cpp:342
+msgid ""
+"\n"
+"Sound:\n"
+msgstr ""
+"\n"
+"è²éŸ³ï¼š\n"
+
+#: src/frontend/mame/ui/info.cpp:370
+msgid ""
+"\n"
+"Video:\n"
+msgstr ""
+"\n"
+"視訊:\n"
+
+#: src/frontend/mame/ui/info.cpp:374
+msgid "None\n"
+msgstr "ç„¡\n"
+
+#: src/frontend/mame/ui/info.cpp:381
+msgid "Vector"
+msgstr "å‘é‡"
+
+#: src/frontend/mame/ui/info.cpp:392
+#, c-format
+msgid "%1$s: %2$s\n"
+msgstr "%1$s: %2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:392
+msgid "%2$s\n"
+msgstr "%2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:438
+#, c-format
+msgid "Screen '%1$s'"
+msgstr "ç•«é¢ '%1$s'"
+
+#: src/frontend/mame/ui/info.cpp:440
+msgid "Screen"
+msgstr "ç•«é¢"
+
+#: src/frontend/mame/ui/info.cpp:525
+msgid "Not supported"
+msgstr "䏿”¯æ´"
+
+#: src/frontend/mame/ui/info.cpp:528
+msgid "Partially supported"
+msgstr "部分支æ´"
+
+#: src/frontend/mame/ui/info.cpp:536
+msgid "[empty]"
+msgstr "[ 空 ]"
+
+#: src/frontend/mame/ui/optsmenu.cpp:193
+msgid "Filter"
+msgstr "篩é¸"
+
+#: src/frontend/mame/ui/optsmenu.cpp:206
+msgid "Customize UI"
+msgstr "自訂 UI"
+
+#: src/frontend/mame/ui/optsmenu.cpp:207
+msgid "Configure Directories"
+msgstr "設定目錄"
+
+#: src/frontend/mame/ui/optsmenu.cpp:210 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
+msgstr "è²éŸ³é¸é …"
+
+#: src/frontend/mame/ui/optsmenu.cpp:213
+msgid "General Inputs"
+msgstr "一般輸入"
+
+#: src/frontend/mame/ui/optsmenu.cpp:216
+msgid "Save Configuration"
+msgstr "儲存設定"
+
+#: src/frontend/mame/ui/optsmenu.cpp:228
+msgid "Settings"
+msgstr "設定"
#: src/frontend/mame/ui/tapectrl.cpp:85
msgid "stopped"
@@ -274,8 +651,30 @@ msgstr "倒帶"
msgid "Fast Forward"
msgstr "快進"
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
-#: src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/inputmap.cpp:53
+msgid "User Interface"
+msgstr "使用者介é¢"
+
+#: src/frontend/mame/ui/inputmap.cpp:59
+msgid "Other Controls"
+msgstr "其他控制"
+
+#: src/frontend/mame/ui/inputmap.cpp:628 src/frontend/mame/ui/miscmenu.cpp:96
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr "é‡è¨­"
+
+#: src/frontend/mame/ui/selector.cpp:116
+msgid "Selection List - Search: "
+msgstr "é¸é …清單 - æœå°‹ï¼š "
+
+#: src/frontend/mame/ui/selector.cpp:124
+#, c-format
+msgid "Double click or press %1$s to select"
+msgstr "雙擊或按下 %1$s 以鏿“‡"
+
+#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/filesel.cpp:256
msgid "[empty slot]"
msgstr "[ç©ºæ’æ§½]"
@@ -316,182 +715,6 @@ msgstr "軟體用法"
msgid "Revision: "
msgstr "版本: "
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
-msgstr "檔案已存在 — 是å¦è¦†è“‹ï¼Ÿ"
-
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
-msgstr "å¦"
-
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
-msgstr "是"
-
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
-msgstr "æ–°æ˜ åƒæª”å稱:"
-
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
-msgstr "æ˜ åƒæª”æ ¼å¼"
-
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
-msgstr "建立"
-
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
-msgstr "請一併輸入副檔å"
-
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
-msgstr "鏿“‡æ˜ åƒæª”æ ¼å¼"
-
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
-msgstr "輸入設定 (一般)"
-
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
-msgstr "輸入設定 (本機å°ï¼‰"
-
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
-msgstr "類比控制"
-
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
-msgstr "機å°è¨­å®šé–‹é—œ"
-
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
-msgstr "機å°è¨­å®š"
-
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
-msgstr "收入資訊"
-
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
-msgstr "機å°è³‡è¨Š"
-
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
-msgstr "æ˜ åƒæª”資訊"
-
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
-msgstr "檔案管ç†å“¡"
-
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
-msgstr "ç£å¸¶æŽ§åˆ¶"
-
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
-msgstr "å½çµ‚端"
-
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
-msgstr "鏿“‡ BIOS"
-
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
-msgstr "æ’æ§½è£ç½®"
-
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
-msgstr "æ¢ç¢¼è®€å–器"
-
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
-msgstr "網路è£ç½®"
-
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
-msgstr "éµç›¤æ¨¡å¼"
-
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
-msgstr "åƒæ•¸èª¿æ•´"
-
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
-msgstr "視訊é¸é …"
-
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
-msgstr "å字準星é¸é …"
-
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
-msgstr "作弊引擎"
-
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
-msgstr "外掛é¸é …"
-
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
-msgstr "查閱外部文件"
-
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
-msgstr "新增至最愛"
-
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
-msgstr "從最愛移除"
-
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
-msgstr "鏿“‡æ–°æ©Ÿå°"
-
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
-msgstr "æ–°æ¢ç¢¼ï¼š"
-
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
-msgstr "輸入æ¢ç¢¼"
-
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
-msgstr "æ¢ç¢¼é•·åº¦ç„¡æ•ˆï¼"
-
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
-msgstr "[ 錯誤 ]"
-
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
-msgstr "è²éŸ³é¸é …"
-
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
-msgstr "一般輸入"
-
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
-msgstr "儲存設定"
-
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
-msgstr "設定"
-
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
-msgstr "篩é¸"
-
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
-msgstr "自訂 UI"
-
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
-msgstr "設定目錄"
-
#: src/frontend/mame/ui/simpleselgame.cpp:149
msgid ""
"The selected game is missing one or more required ROM or CHD images. Please "
@@ -502,7 +725,7 @@ msgstr ""
"é¸å®šçš„éŠæˆ²ç¼ºå°‘一個至多個必è¦çš„ ROM 或 CHD æ˜ åƒæª”ï¼Œè«‹é¸æ“‡å…¶ä»–éŠæˆ²ã€‚\n"
"按任æ„éµç¹¼çºŒã€‚"
-#: src/frontend/mame/ui/simpleselgame.cpp:247
+#: src/frontend/mame/ui/simpleselgame.cpp:241
#, c-format
msgid ""
"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
@@ -515,327 +738,197 @@ msgstr ""
"如果是首次使用 %2$s,請åƒé–± docs 目錄中的 config.txt 以å–得設定 %2$s 的相關資"
"訊。"
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:271
+#: src/frontend/mame/ui/selgame.cpp:436
msgid "Configure Options"
msgstr "設定é¸é …"
-#: src/frontend/mame/ui/simpleselgame.cpp:298
+#: src/frontend/mame/ui/simpleselgame.cpp:292
#, c-format
msgid "Type name or select: %1$s_"
msgstr "輸入åç¨±æˆ–é¸æ“‡ï¼š %1$s_"
-#: src/frontend/mame/ui/simpleselgame.cpp:300
+#: src/frontend/mame/ui/simpleselgame.cpp:294
msgid "Type name or select: (random)"
msgstr "輸入åç¨±æˆ–é¸æ“‡ï¼š (隨機)"
-#: src/frontend/mame/ui/simpleselgame.cpp:314
-#: src/frontend/mame/ui/selsoft.cpp:652 src/frontend/mame/ui/selsoft.cpp:659
+#: src/frontend/mame/ui/simpleselgame.cpp:308
+#: src/frontend/mame/ui/selsoft.cpp:564 src/frontend/mame/ui/selsoft.cpp:571
#, c-format
msgid "%1$-.100s"
msgstr "%1$-.100s"
-#: src/frontend/mame/ui/simpleselgame.cpp:317
-#: src/frontend/mame/ui/selmenu.cpp:618 src/frontend/mame/ui/selmenu.cpp:654
-#, c-format
-msgid "%1$s, %2$-.100s"
-msgstr "%1$s, %2$-.100s"
-
-#: src/frontend/mame/ui/simpleselgame.cpp:320
+#: src/frontend/mame/ui/simpleselgame.cpp:314
#, c-format
msgid "Driver: %1$-.100s"
msgstr "驅動程å¼ï¼š %-.100s\n"
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
-msgstr "整體: ä¸å¯åŸ·è¡Œ"
+#: src/frontend/mame/ui/videoopt.cpp:56
+#, c-format
+msgid "Screen #%d"
+msgstr "ç•«é¢ #%d"
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
-msgstr "整體: 未模擬ä¿è­·"
+#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
+msgid "Rotate"
+msgstr "旋轉"
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
-msgstr "整體: å¯ä»¥åŸ·è¡Œ"
+#: src/frontend/mame/ui/videoopt.cpp:208
+msgid "Backdrops"
+msgstr "背景圖"
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
-msgstr "圖形: ä¸å®Œæ•´ï¼Œ"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Enabled"
+msgstr "已啟用"
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
-msgstr "圖形: ä¸å®Œç¾Žï¼Œ "
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Disabled"
+msgstr "å·²åœç”¨"
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
-msgstr "圖形: OK, "
+#: src/frontend/mame/ui/videoopt.cpp:212
+msgid "Overlays"
+msgstr "覆疊圖"
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
-msgstr "è²éŸ³ï¼š ç„¡"
+#: src/frontend/mame/ui/videoopt.cpp:216
+msgid "Bezels"
+msgstr "外框圖"
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
-msgstr "è²éŸ³ï¼š 無法執行"
+#: src/frontend/mame/ui/videoopt.cpp:220
+msgid "CPanels"
+msgstr "æ“作檯"
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
-msgstr "è²éŸ³ï¼š ä¸å®Œç¾Ž"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "View"
+msgstr "檢視"
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
-msgstr "è²éŸ³ï¼š OK"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cropped"
+msgstr "è£åˆ‡"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
-msgstr "載入狀態"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Full"
+msgstr "全部"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
-msgstr "鏿“‡è¼‰å…¥ä½ç½®"
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
+msgstr "檔案已存在 — 是å¦è¦†è“‹ï¼Ÿ"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
-msgstr "儲存狀態"
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1047
+msgid "No"
+msgstr "å¦"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
-msgstr "鏿“‡å„²å­˜ä½ç½®"
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1047
+msgid "Yes"
+msgstr "是"
-#: src/frontend/mame/ui/ui.cpp:337
-msgid "This driver requires images to be loaded in the following device(s): "
-msgstr "此驅動需è¦é¡å¤–載入下列è£ç½®çš„æ˜ åƒæª”: "
+#: src/frontend/mame/ui/filecreate.cpp:171
+msgid "New Image Name:"
+msgstr "æ–°æ˜ åƒæª”å稱:"
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
-msgstr "éµç›¤æ¨¡æ“¬ç‹€æ…‹"
+#: src/frontend/mame/ui/filecreate.cpp:177
+msgid "Image Format:"
+msgstr "æ˜ åƒæª”æ ¼å¼"
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
-msgstr "模å¼ï¼š 部分模擬"
+#: src/frontend/mame/ui/filecreate.cpp:183
+msgid "Create"
+msgstr "建立"
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
-msgstr "UI: 已啟用"
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr "請一併輸入副檔å"
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
-msgstr "**使用 ScrLock éµåˆ‡æ›**"
+#: src/frontend/mame/ui/filecreate.cpp:266
+msgid "Select image format"
+msgstr "鏿“‡æ˜ åƒæª”æ ¼å¼"
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
-msgstr "模å¼ï¼š 完整模擬"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Keyboard Mode:"
+msgstr "éµç›¤æ¨¡å¼:"
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
-msgstr "UI: å·²åœç”¨"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Natural"
+msgstr "自然"
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
-msgstr "無法啟用連射"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Emulated"
+msgstr "模擬"
-#: src/frontend/mame/ui/ui.cpp:1302
+#: src/frontend/mame/ui/miscmenu.cpp:236
#, c-format
msgid ""
-"Are you sure you want to quit?\n"
+"Uptime: %1$d:%2$02d:%3$02d\n"
"\n"
-"Press ''%1$s'' to quit,\n"
-"Press ''%2$s'' to return to emulation."
msgstr ""
-"確定è¦é€€å‡ºå—Žï¼Ÿ\n"
+"執行時間: %1$d:%2$02d:%3$02d\n"
"\n"
-"按『%1$sã€é€€å‡ºï¼Œ\n"
-"按『%2$sã€ç¹¼çºŒæ¨¡æ“¬ã€‚"
-
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
-msgstr "主音é‡"
-#: src/frontend/mame/ui/ui.cpp:1383
+#: src/frontend/mame/ui/miscmenu.cpp:238
#, c-format
-msgid "%1$s Volume"
-msgstr "%1$s 音é‡"
-
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
-msgstr "è¶…é » CPU %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
-msgstr "è¶…é » %1$s è²éŸ³"
-
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
-msgstr "%1$s 更新率"
-
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
-msgstr "%1$s 亮度"
-
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
-msgstr "%1$s å°æ¯”"
-
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
-msgstr "%1$s Gamma 值"
-
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
-msgstr "%1$s 水平延展"
-
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
-msgstr "%1$s æ°´å¹³ä½ç½®"
-
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
-msgstr "%1$s 垂直延展"
-
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
-msgstr "%1$s 垂直ä½ç½®"
-
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
-msgstr "雷射影碟 %1$s 水平延展"
-
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
-msgstr "雷射影碟 %1$s æ°´å¹³ä½ç½®"
-
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
-msgstr "雷射影碟 %1$s 垂直延展"
-
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr "雷射影碟 %1$s 垂直ä½ç½®"
-
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
-msgstr "å‘é‡é–ƒçˆåº¦"
-
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
-msgstr "最å°å…‰æŸå¯¬åº¦"
-
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
-msgstr "最大光æŸå¯¬åº¦"
-
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
-msgstr "å…‰æŸå¼·åº¦"
-
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr "å字準星尺度 %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
-msgstr "X"
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
-msgstr "Y"
-
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
-msgstr "å字準星ä½ç§» %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
-msgstr "%1$3ddB"
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
+msgstr ""
+"執行時間: %1$d:%2$02d\n"
+"\n"
-#: src/frontend/mame/ui/ui.cpp:1645
+#: src/frontend/mame/ui/miscmenu.cpp:242
#, c-format
-msgid "%1$d%%"
-msgstr "%1$d%%"
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
+msgstr ""
+"å½©ç¥¨åˆ†é…æ•¸ï¼š %1$d\n"
+"\n"
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
-msgstr "%1$3.0f%%"
+#: src/frontend/mame/ui/miscmenu.cpp:253
+msgid "Coin %1$c: NA%3$s\n"
+msgstr "投幣數 %1$c: NA%3$s\n"
-#: src/frontend/mame/ui/ui.cpp:1685
+#: src/frontend/mame/ui/miscmenu.cpp:253
#, c-format
-msgid "%1$.3ffps"
-msgstr "%1$.3ffps"
+msgid "Coin %1$c: %2$d%3$s\n"
+msgstr "投幣數 %1$c: %2$d%3$s\n"
-#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
-#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
-#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
-#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
-#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
-#: src/frontend/mame/ui/ui.cpp:1927
-#, c-format
-msgid "%1$.3f"
-msgstr "%1$.3f"
+#: src/frontend/mame/ui/miscmenu.cpp:256
+msgid " (locked)"
+msgstr " (已鎖定)"
-#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
-#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
-#, c-format
-msgid "%1$1.2f"
-msgstr "%1$1.2f"
+#: src/frontend/mame/ui/miscmenu.cpp:503
+msgid "Visible Delay"
+msgstr "å¯è¦‹åº¦å»¶é²"
-#: src/frontend/mame/ui/ui.cpp:2005
+#: src/frontend/mame/ui/miscmenu.cpp:601
#, c-format
-msgid "Crosshair Scale X %1$1.3f"
-msgstr "å字準星尺度 X %1$1.3f"
+msgid "%s.xml saved under ui folder."
+msgstr "%s.xml 已儲存於 ui 資料夾下。"
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
-msgstr "å字準星尺度 Y %1$1.3f"
+#: src/frontend/mame/ui/miscmenu.cpp:627
+msgid "Name: Description:\n"
+msgstr "å稱: æè¿°ï¼š\n"
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/miscmenu.cpp:638
#, c-format
-msgid "Crosshair Offset X %1$1.3f"
-msgstr "å字準星ä½ç§» X %1$1.3f"
+msgid "%s.txt saved under ui folder."
+msgstr "%s.txt 已儲存於 ui 資料夾下。"
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
-msgstr "å字準星ä½ç§» Y %1$1.3f"
+#: src/frontend/mame/ui/miscmenu.cpp:655
+msgid "Export list in XML format (like -listxml)"
+msgstr "匯出 XML æ ¼å¼æ¸…å–® ï¼ˆåŒ -listxml)"
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
-msgstr "**儲存 ui.ini 時發生錯誤**"
+#: src/frontend/mame/ui/miscmenu.cpp:656
+msgid "Export list in XML format (like -listxml, but exclude devices)"
+msgstr "匯出 TXT æ ¼å¼æ¸…å–® ï¼ˆåŒ -listxml,但ä¸åŒ…å«è£ç½®ï¼‰"
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
-msgstr "**儲存 %s.ini 時發生錯誤**"
+#: src/frontend/mame/ui/miscmenu.cpp:657
+msgid "Export list in TXT format (like -listfull)"
+msgstr "匯出 TXT æ ¼å¼æ¸…å–® ï¼ˆåŒ -listfull)"
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/miscmenu.cpp:710 src/frontend/mame/ui/ui.cpp:2230
msgid ""
"\n"
" Configuration saved \n"
@@ -845,338 +938,160 @@ msgstr ""
" 設定已儲存 \n"
"\n"
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
-msgid ""
-"Cheat Comment:\n"
-"%s"
-msgstr ""
-"作弊碼註解:\n"
-"%s"
-
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
-msgstr "å…¨éƒ¨ä½œå¼Šç¢¼å·²é‡æ–°è¼‰å…¥"
-
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
-msgstr "連射設定"
-
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
-msgstr "全部é‡è¨­"
-
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
-msgstr "å…¨éƒ¨é‡æ–°è¼‰å…¥"
-
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
-msgstr "連射狀態"
-
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
-msgstr "此機å°ä¸Šç„¡å¯ç”¨æŒ‰éµï¼"
-
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
-msgstr "連射延é²"
-
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
-#, c-format
-msgid ""
-"%s\n"
-" added to favorites list."
-msgstr ""
-"%s\n"
-" 已新增至最愛清單。"
-
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
-#, c-format
-msgid ""
-"%s\n"
-" removed from favorites list."
-msgstr ""
-"%s\n"
-" 已從最愛清單移除。"
-
-#: src/frontend/mame/ui/selsoft.cpp:507
-msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
-"\n"
-msgstr ""
-"é¸å®šçš„軟體缺少一個至多個必è¦çš„ ROM 或 CHD æ˜ åƒæª”ï¼Œè«‹é¸æ“‡å…¶ä»–軟體。\n"
-"\n"
-
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
-msgstr "按任æ„éµç¹¼çºŒã€‚"
-
-#: src/frontend/mame/ui/selsoft.cpp:637
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
-msgstr "%1$s %2$s ( %3$d / %4$d 軟體套件 )"
-
-#: src/frontend/mame/ui/selsoft.cpp:638
-#, c-format
-msgid "Driver: \"%1$s\" software list "
-msgstr "驅動程å¼ï¼š \"%1$s\" 軟體清單 "
-
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
-#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
-msgstr "%1$s: %2$s - æœå°‹ï¼š %3$s_"
-
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
-#, c-format
-msgid "Search: %1$s_"
-msgstr "æœå°‹ï¼š %1$s_"
-
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
-msgid "Unfiltered"
-msgstr "未篩é¸"
-
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
-msgid "Available"
-msgstr "å¯ç”¨"
-
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
-msgid "Unavailable"
-msgstr "ä¸å¯ç”¨"
-
-#: src/frontend/mame/ui/utils.cpp:63
-msgid "Working"
-msgstr "å¯ä»¥åŸ·è¡Œ"
-
-#: src/frontend/mame/ui/utils.cpp:64
-msgid "Not Working"
-msgstr "ä¸å¯åŸ·è¡Œ"
-
-#: src/frontend/mame/ui/utils.cpp:65
-msgid "Mechanical"
-msgstr "機械å¼"
-
-#: src/frontend/mame/ui/utils.cpp:66
-msgid "Not Mechanical"
-msgstr "éžæ©Ÿæ¢°å¼"
-
-#: src/frontend/mame/ui/utils.cpp:67
-msgid "Category"
-msgstr "類別"
-
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
-msgid "Favorites"
-msgstr "最愛"
-
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/miscmenu.cpp:760 src/frontend/mame/ui/utils.cpp:66
msgid "BIOS"
msgstr "BIOS"
-#: src/frontend/mame/ui/utils.cpp:70
-msgid "Not BIOS"
-msgstr "éž BIOS"
-
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
-msgid "Parents"
-msgstr "æ¯æª”"
-
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
-msgid "Clones"
-msgstr "仿製版"
-
-#: src/frontend/mame/ui/utils.cpp:73
-msgid "Manufacturer"
-msgstr "製造商"
-
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
-msgid "Year"
-msgstr "年代"
-
-#: src/frontend/mame/ui/utils.cpp:75
-msgid "Save Supported"
-msgstr "已支æ´å³æ™‚存檔"
-
-#: src/frontend/mame/ui/utils.cpp:76
-msgid "Save Unsupported"
-msgstr "未支æ´å³æ™‚存檔"
-
-#: src/frontend/mame/ui/utils.cpp:77
-msgid "CHD Required"
-msgstr "éœ€è¦ CHD"
-
-#: src/frontend/mame/ui/utils.cpp:78
-msgid "No CHD Required"
-msgstr "ä¸éœ€è¦ CHD"
-
-#: src/frontend/mame/ui/utils.cpp:79
-msgid "Vertical Screen"
-msgstr "垂直螢幕"
-
-#: src/frontend/mame/ui/utils.cpp:80
-msgid "Horizontal Screen"
-msgstr "水平螢幕"
-
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
-msgid "Custom Filter"
-msgstr "自訂篩é¸"
-
-#: src/frontend/mame/ui/utils.cpp:91
-msgid "Publisher"
-msgstr "出版商"
-
-#: src/frontend/mame/ui/utils.cpp:92
-msgid "Supported"
-msgstr "已支æ´"
+#: src/frontend/mame/ui/miscmenu.cpp:764
+msgid "Driver"
+msgstr "驅動程å¼"
-#: src/frontend/mame/ui/utils.cpp:93
-msgid "Partially Supported"
-msgstr "部分支æ´"
+#: src/frontend/mame/ui/miscmenu.cpp:767
+msgid "This machine has no BIOS."
+msgstr "æ­¤æ©Ÿå°æ²’有 BIOS。"
-#: src/frontend/mame/ui/utils.cpp:94
-msgid "Unsupported"
-msgstr "䏿”¯æ´"
+#: src/frontend/mame/ui/miscmenu.cpp:776 src/frontend/mame/ui/mainmenu.cpp:145
+msgid "Add To Favorites"
+msgstr "新增至最愛"
-#: src/frontend/mame/ui/utils.cpp:95
-msgid "Release Region"
-msgstr "釋出å€åŸŸ"
+#: src/frontend/mame/ui/miscmenu.cpp:778 src/frontend/mame/ui/mainmenu.cpp:147
+msgid "Remove From Favorites"
+msgstr "從最愛移除"
-#: src/frontend/mame/ui/utils.cpp:96
-msgid "Device Type"
-msgstr "è£ç½®é¡žåˆ¥"
+#: src/frontend/mame/ui/miscmenu.cpp:781
+msgid "Save machine configuration"
+msgstr "儲存機å°è¨­å®š"
-#: src/frontend/mame/ui/utils.cpp:97
-msgid "Software List"
-msgstr "軟體清單"
+#: src/frontend/mame/ui/miscmenu.cpp:792
+msgid "Configure machine:"
+msgstr "設定機å°ï¼š"
-#: src/frontend/mame/ui/utils.cpp:248
-msgid "<set up filters>"
-msgstr "<設定篩é¸>"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:736
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:551 plugins/cheatfind/init.lua:619
+msgid "On"
+msgstr "é–‹"
-#: src/frontend/mame/ui/utils.cpp:356
-msgid "Select custom filters:"
-msgstr "鏿“‡è‡ªè¨‚篩é¸ï¼š"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:739
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:554 plugins/cheat/init.lua:563
+#: plugins/cheatfind/init.lua:616
+msgid "Off"
+msgstr "關"
-#: src/frontend/mame/ui/utils.cpp:507
-#, c-format
-msgid "Filter %1$u"
-msgstr "ç¯©é¸ %1$u"
+#: src/frontend/mame/ui/miscmenu.cpp:909 src/frontend/mame/ui/selgame.cpp:441
+msgid "Plugins"
+msgstr "外掛"
-#: src/frontend/mame/ui/utils.cpp:522
-msgid "Remove last filter"
-msgstr "移除最後篩é¸"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
+msgstr "æ–°æ¢ç¢¼ï¼š"
-#: src/frontend/mame/ui/utils.cpp:524
-msgid "Add filter"
-msgstr "新增篩é¸"
+#: src/frontend/mame/ui/barcode.cpp:78
+msgid "Enter Code"
+msgstr "輸入æ¢ç¢¼"
-#: src/frontend/mame/ui/utils.cpp:966
-msgid "Select category:"
-msgstr "鏿“‡é¡žåˆ¥ï¼š"
+#: src/frontend/mame/ui/barcode.cpp:119
+msgid "Barcode length invalid!"
+msgstr "æ¢ç¢¼é•·åº¦ç„¡æ•ˆï¼"
-#: src/frontend/mame/ui/utils.cpp:997
-msgid "[no category INI files]"
-msgstr "[沒有類別 INI 檔案]"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:99
+msgid "Pseudo terminals"
+msgstr "å½çµ‚端"
-#: src/frontend/mame/ui/utils.cpp:1005
-msgid "[no groups in INI file]"
-msgstr "[INI 檔案中無群組]"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
+msgstr "[ 錯誤 ]"
-#: src/frontend/mame/ui/utils.cpp:1039
-msgid "No category INI files found"
-msgstr "沒有找到類別 INI 檔案"
+#: src/frontend/mame/ui/mainmenu.cpp:60
+msgid "Input (general)"
+msgstr "輸入設定 (一般)"
-#: src/frontend/mame/ui/utils.cpp:1044
-msgid "File"
-msgstr "檔案"
+#: src/frontend/mame/ui/mainmenu.cpp:62
+msgid "Input (this Machine)"
+msgstr "輸入設定 (本機å°ï¼‰"
-#: src/frontend/mame/ui/utils.cpp:1048
-msgid "No groups found in category file"
-msgstr "類別檔案中沒有找到群組"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Analog Controls"
+msgstr "類比控制"
-#: src/frontend/mame/ui/utils.cpp:1053
-msgid "Group"
-msgstr "群組"
+#: src/frontend/mame/ui/mainmenu.cpp:68
+msgid "Dip Switches"
+msgstr "機å°è¨­å®šé–‹é—œ"
-#: src/frontend/mame/ui/utils.cpp:1054
-msgid "Include clones"
-msgstr "包å«ä»¿è£½ç‰ˆ"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "Machine Configuration"
+msgstr "機å°è¨­å®š"
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
-msgstr "[建立]"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
+msgstr "收入資訊"
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
-msgstr "éŒ¯èª¤å­˜å– %s"
+#: src/frontend/mame/ui/mainmenu.cpp:78
+msgid "Machine Information"
+msgstr "機å°è³‡è¨Š"
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
-msgstr "鏿“‡å­˜å–模å¼"
+#: src/frontend/mame/ui/mainmenu.cpp:85
+msgid "Image Information"
+msgstr "æ˜ åƒæª”資訊"
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
-msgstr "唯讀"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
+msgstr "檔案管ç†å“¡"
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
-msgstr "讀寫"
+#: src/frontend/mame/ui/mainmenu.cpp:96
+msgid "Tape Control"
+msgstr "ç£å¸¶æŽ§åˆ¶"
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
-msgstr "è®€å–æ­¤æ˜ åƒæª”ï¼Œå¯«å…¥è‡³å…¶ä»–æ˜ åƒæª”"
+#: src/frontend/mame/ui/mainmenu.cpp:102
+msgid "BIOS Selection"
+msgstr "鏿“‡ BIOS"
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
-msgstr "è®€å–æ­¤æ˜ åƒæª”,寫入差異檔"
+#: src/frontend/mame/ui/mainmenu.cpp:106
+msgid "Slot Devices"
+msgstr "æ’æ§½è£ç½®"
-#: src/frontend/mame/ui/slotopt.cpp:192
-#, c-format
-msgid "%s [internal]"
-msgstr "%s [內部]"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Barcode Reader"
+msgstr "æ¢ç¢¼è®€å–器"
-#: src/frontend/mame/ui/slotopt.cpp:203 src/frontend/mame/ui/miscmenu.cpp:97
-#: src/frontend/mame/ui/inputmap.cpp:615
-msgid "Reset"
-msgstr "é‡è¨­"
+#: src/frontend/mame/ui/mainmenu.cpp:114
+msgid "Network Devices"
+msgstr "網路è£ç½®"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
-msgstr " 色彩"
+#: src/frontend/mame/ui/mainmenu.cpp:118
+msgid "Keyboard Mode"
+msgstr "éµç›¤æ¨¡å¼"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
-msgstr " PENS"
+#: src/frontend/mame/ui/mainmenu.cpp:121
+msgid "Slider Controls"
+msgstr "åƒæ•¸èª¿æ•´"
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
-msgstr "回到機å°"
+#: src/frontend/mame/ui/mainmenu.cpp:124 src/frontend/mame/ui/submenu.cpp:101
+msgid "Video Options"
+msgstr "視訊é¸é …"
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
-msgstr "çµæŸ"
+#: src/frontend/mame/ui/mainmenu.cpp:128
+msgid "Crosshair Options"
+msgstr "å字準星é¸é …"
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
-msgstr "回上一層é¸å–®"
+#: src/frontend/mame/ui/mainmenu.cpp:132 plugins/cheat/init.lua:735
+msgid "Cheat"
+msgstr "作弊引擎"
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:762
-#: plugins/cheat/init.lua:569 plugins/cheatfind/init.lua:792
-#: plugins/cheatfind/init.lua:803
-msgid "On"
-msgstr "é–‹"
+#: src/frontend/mame/ui/mainmenu.cpp:135
+msgid "Plugin Options"
+msgstr "外掛é¸é …"
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:765
-#: plugins/cheat/init.lua:572 plugins/cheat/init.lua:581
-#: plugins/cheatfind/init.lua:789 plugins/cheatfind/init.lua:800
-msgid "Off"
-msgstr "關"
+#: src/frontend/mame/ui/mainmenu.cpp:139
+msgid "External DAT View"
+msgstr "查閱外部文件"
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
-msgstr "自動"
+#: src/frontend/mame/ui/mainmenu.cpp:154
+msgid "Select New Machine"
+msgstr "鏿“‡æ–°æ©Ÿå°"
#: src/frontend/mame/ui/custui.cpp:31
msgid "Show All"
@@ -1398,417 +1313,595 @@ msgstr "黃"
msgid "Violet"
msgstr "ç´«"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
-msgstr "éµç›¤æ¨¡å¼:"
+#: src/frontend/mame/ui/submenu.cpp:22
+msgid "Miscellaneous Options"
+msgstr "å…¶ä»–é¸é …"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
-msgstr "自然"
+#: src/frontend/mame/ui/submenu.cpp:23
+msgid "Re-select last machine played"
+msgstr "釿–°é¸æ“‡ä¸Šæ¬¡åŸ·è¡Œçš„æ©Ÿå°"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
-msgstr "模擬"
+#: src/frontend/mame/ui/submenu.cpp:24
+msgid "Enlarge images in the right panel"
+msgstr "放大å³å´é¢ç‰ˆçš„圖片"
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
-msgstr ""
-"執行時間: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:26
+msgid "Show mouse pointer"
+msgstr "顯示滑鼠指標"
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
-msgstr ""
-"執行時間: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:27
+msgid "Confirm quit from machines"
+msgstr "確èªé›¢é–‹æ©Ÿå°"
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
-msgstr ""
-"å½©ç¥¨åˆ†é…æ•¸ï¼š %1$d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:28
+msgid "Skip information screen at startup"
+msgstr "ç•¥éŽèµ·å§‹çš„資訊畫é¢"
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
-msgstr "投幣數 %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:29
+msgid "Force 4:3 aspect for snapshot display"
+msgstr "強制擷圖顯示比例為 4:3"
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
-msgstr "投幣數 %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:30
+msgid "Use image as background"
+msgstr "使用圖片作為背景"
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
-msgstr " (已鎖定)"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Skip BIOS selection menu"
+msgstr "ç•¥éŽ BIOS 鏿“‡é¸å–®"
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
-msgstr "å¯è¦‹åº¦å»¶é²"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip software parts selection menu"
+msgstr "ç•¥éŽè»Ÿé«”éƒ¨åˆ†é¸æ“‡é¸å–®"
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
-msgstr "%s.xml 已儲存於 ui 資料夾下。"
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Info auto audit"
+msgstr "資訊自動驗證"
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
-msgstr "å稱: æè¿°ï¼š\n"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Hide romless machine from available list"
+msgstr "在å¯ç”¨æ¸…單中隱è—ç„¡ ROM 機å°"
-#: src/frontend/mame/ui/miscmenu.cpp:639
-#, c-format
-msgid "%s.txt saved under ui folder."
-msgstr "%s.txt 已儲存於 ui 資料夾下。"
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Advanced Options"
+msgstr "進階é¸é …"
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
-msgstr "匯出 XML æ ¼å¼æ¸…å–® ï¼ˆåŒ -listxml)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Performance Options"
+msgstr "效能é¸é …"
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
-msgstr "匯出 TXT æ ¼å¼æ¸…å–® ï¼ˆåŒ -listxml,但ä¸åŒ…å«è£ç½®ï¼‰"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Auto frame skip"
+msgstr "自動çœç•¥ç•«æ ¼"
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
-msgstr "匯出 TXT æ ¼å¼æ¸…å–® ï¼ˆåŒ -listfull)"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Frame skip"
+msgstr "çœç•¥ç•«æ ¼"
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
-msgstr "驅動程å¼"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Throttle"
+msgstr "é™åˆ¶é€Ÿåº¦"
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
-msgstr "æ­¤æ©Ÿå°æ²’有 BIOS。"
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Sleep"
+msgstr "休眠"
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
-msgstr "儲存機å°è¨­å®š"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Speed"
+msgstr "速度"
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
-msgstr "設定機å°ï¼š"
+#: src/frontend/mame/ui/submenu.cpp:45
+msgid "Refresh speed"
+msgstr "更新速度"
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
-msgstr " (é è¨­ï¼‰"
+#: src/frontend/mame/ui/submenu.cpp:47
+msgid "Rotation Options"
+msgstr "é¸è½‰é¸é …"
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
-msgstr "外掛"
+#: src/frontend/mame/ui/submenu.cpp:49
+msgid "Rotate right"
+msgstr "峿—‹è½‰"
+
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Rotate left"
+msgstr "左旋轉"
+
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Auto rotate right"
+msgstr "è‡ªå‹•å³æ—‹è½‰"
+
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto rotate left"
+msgstr "自動左旋轉"
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Flip X"
+msgstr "翻轉 X"
+
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Flip Y"
+msgstr "翻轉 Y"
+
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Artwork Options"
+msgstr "è£é£¾åœ–é¸é …"
+
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Artwork Crop"
+msgstr "è£é£¾åœ–è£åˆ‡"
+
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Use Backdrops"
+msgstr "使用背景圖"
+
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Use Overlays"
+msgstr "使用覆疊圖"
+
+#: src/frontend/mame/ui/submenu.cpp:60
+msgid "Use Bezels"
+msgstr "使用外框圖"
+
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Use Control Panels"
+msgstr "使用控制é¢ç‰ˆåœ–"
+
+#: src/frontend/mame/ui/submenu.cpp:62
+msgid "Use Marquees"
+msgstr "使用機檯標題圖"
+
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "State/Playback Options"
+msgstr "狀態/播放é¸é …"
+
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Automatic save/restore"
+msgstr "自動儲存/還原"
+
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Rewind capacity"
+msgstr "倒轉容é‡"
+
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Bilinear snapshot"
+msgstr "é›™ç·šéŽæ¿¾æ“·åœ–"
+
+#: src/frontend/mame/ui/submenu.cpp:69
+msgid "Burn-in"
+msgstr "çƒ™å°æ“·åœ–"
+
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Input Options"
+msgstr "輸入é¸é …"
+
+#: src/frontend/mame/ui/submenu.cpp:72
+msgid "Coin lockout"
+msgstr "投幣鎖定"
+
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "Mouse"
+msgstr "滑鼠"
+
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Joystick"
+msgstr "æ–æ¡¿"
+
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Lightgun"
+msgstr "光線æ§"
+
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Multi-keyboard"
+msgstr "多é‡éµç›¤"
+
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Multi-mouse"
+msgstr "å¤šé‡æ»‘é¼ "
+
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Steadykey"
+msgstr "穩定éµ"
+
+#: src/frontend/mame/ui/submenu.cpp:79
+msgid "UI active"
+msgstr "UI 啟動"
+
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Offscreen reload"
+msgstr "ç•«é¢å¤–釿–°è£å¡«"
+
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Joystick deadzone"
+msgstr "æ–æ¡¿ç„¡å應å€"
+
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Joystick saturation"
+msgstr "æ–æ¡¿é£½å’Œå€¼"
+
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Natural keyboard"
+msgstr "自然éµç›¤"
+
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Simultaneous contradictory"
+msgstr "åŒæ™‚發生的å°ç«‹ç‹€æ³"
+
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Coin impulse"
+msgstr "投幣脈è¡"
+
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Device Mapping"
+msgstr "è£ç½®æ˜ å°"
+
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Lightgun Device Assignment"
+msgstr "分é…光線æ§è£ç½®"
+
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Trackball Device Assignment"
+msgstr "分é…軌跡çƒè£ç½®"
+
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Pedal Device Assignment"
+msgstr "分é…è¸æ¿è£ç½®"
+
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Adstick Device Assignment"
+msgstr "åˆ†é… Adstick è£ç½®"
+
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Paddle Device Assignment"
+msgstr "分é…划槳è£ç½®"
+
+#: src/frontend/mame/ui/submenu.cpp:95
+msgid "Dial Device Assignment"
+msgstr "分é…轉盤è£ç½®"
+
+#: src/frontend/mame/ui/submenu.cpp:96
+msgid "Positional Device Assignment"
+msgstr "åˆ†é…æŒ‡å‘è£ç½®"
+
+#: src/frontend/mame/ui/submenu.cpp:97
+msgid "Mouse Device Assignment"
+msgstr "åˆ†é…æ»‘é¼ è£ç½®"
+
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Video Mode"
+msgstr "視訊模å¼"
+
+#: src/frontend/mame/ui/submenu.cpp:103
+msgid "Number Of Screens"
+msgstr "ç•«é¢æ•¸"
+
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Triple Buffering"
+msgstr "三é‡ç·©è¡"
+
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "HLSL"
+msgstr "HLSL"
+
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "GLSL"
+msgstr "GLSL"
+
+#: src/frontend/mame/ui/submenu.cpp:109
+msgid "Bilinear Filtering"
+msgstr "é›™ç·šéŽæ¿¾"
+
+#: src/frontend/mame/ui/submenu.cpp:110
+msgid "Bitmap Prescaling"
+msgstr "點陣圖é ç¸®æ”¾"
+
+#: src/frontend/mame/ui/submenu.cpp:111
+msgid "Window Mode"
+msgstr "視窗模å¼"
+
+#: src/frontend/mame/ui/submenu.cpp:112
+msgid "Enforce Aspect Ratio"
+msgstr "強制比例"
+
+#: src/frontend/mame/ui/submenu.cpp:113
+msgid "Start Out Maximized"
+msgstr "最大化開始"
+
+#: src/frontend/mame/ui/submenu.cpp:114
+msgid "Synchronized Refresh"
+msgstr "åŒæ­¥æ›´æ–°"
+
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Wait Vertical Sync"
+msgstr "ç­‰å¾…åž‚ç›´åŒæ­¥"
+
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Load State"
+msgstr "載入狀態"
+
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Select position to load from"
+msgstr "鏿“‡è¼‰å…¥ä½ç½®"
+
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Save State"
+msgstr "儲存狀態"
+
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Select position to save to"
+msgstr "鏿“‡å„²å­˜ä½ç½®"
+
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
+msgstr "%s [內部]"
+
+#: src/frontend/mame/ui/selgame.cpp:309 src/frontend/mame/ui/selsoft.cpp:211
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
+msgstr ""
+"%s\n"
+" 已新增至最愛清單。"
+
+#: src/frontend/mame/ui/selgame.cpp:314 src/frontend/mame/ui/selgame.cpp:320
+#: src/frontend/mame/ui/selsoft.cpp:216
+#, c-format
+msgid ""
+"%s\n"
+" removed from favorites list."
+msgstr ""
+"%s\n"
+" 已從最愛清單移除。"
+
+#: src/frontend/mame/ui/selgame.cpp:437
msgid "Configure Machine"
msgstr "設定機å°"
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:849
#, c-format
msgid "Romset\t%1$-.100s\n"
msgstr "ROM組\t%1$-.100s\n"
-#: src/frontend/mame/ui/selgame.cpp:1037
+#: src/frontend/mame/ui/selgame.cpp:850
#, c-format
msgid "Year\t%1$s\n"
msgstr "年代\t%1$s\n"
-#: src/frontend/mame/ui/selgame.cpp:1038
+#: src/frontend/mame/ui/selgame.cpp:851
#, c-format
msgid "Manufacturer\t%1$-.100s\n"
msgstr "製造商\t%1$-.100s\n"
-#: src/frontend/mame/ui/selgame.cpp:1042
+#: src/frontend/mame/ui/selgame.cpp:855
#, c-format
msgid "Driver is Clone of\t%1$-.100s\n"
msgstr "驅動程å¼ç›¸å®¹æ–¼\t%1$-.100s\n"
-#: src/frontend/mame/ui/selgame.cpp:1044
+#: src/frontend/mame/ui/selgame.cpp:857
msgid "Driver is Parent\t\n"
msgstr "驅動程å¼ç‚ºä¸»æª”\t\n"
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:860
msgid "Analog Controls\tYes\n"
msgstr "類比控制\t是\n"
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:862
msgid "Keyboard Inputs\tYes\n"
msgstr "éµç›¤è¼¸å…¥\t是\n"
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:865
msgid "Overall\tNOT WORKING\n"
msgstr "æ•´é«”\tä¸å¯åŸ·è¡Œ\n"
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:867
msgid "Overall\tUnemulated Protection\n"
msgstr "æ•´é«”\t未模擬ä¿è­·\n"
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:869
msgid "Overall\tWorking\n"
msgstr "æ•´é«”\tå¯ä»¥åŸ·è¡Œ\n"
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:872
msgid "Graphics\tUnimplemented\n"
msgstr "圖形\t無法執行\n"
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:874
msgid "Graphics\tWrong Colors\n"
msgstr "圖形\t色彩錯誤\n"
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:876
msgid "Graphics\tImperfect Colors\n"
msgstr "圖形\t色彩ä¸å®Œç¾Ž\n"
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:878
msgid "Graphics\tImperfect\n"
msgstr "圖形\tä¸å®Œç¾Ž\n"
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:880
msgid "Graphics\tOK\n"
msgstr "圖形\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:883
msgid "Sound\tNone\n"
msgstr "è²éŸ³\tç„¡\n"
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:885
msgid "Sound\tUnimplemented\n"
msgstr "è²éŸ³\t無法執行\n"
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:887
msgid "Sound\tImperfect\n"
msgstr "è²éŸ³\tä¸å®Œç¾Ž\n"
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:889
msgid "Sound\tOK\n"
msgstr "è²éŸ³\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1079
-msgid "Capture\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1081
-msgid "Capture\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1084
-msgid "Camera\tUnimplemented\n"
-msgstr "相機\t無法執行\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1086
-msgid "Camera\tImperfect\n"
-msgstr "相機\tä¸å®Œç¾Ž\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1089
-msgid "Microphone\tUnimplemented\n"
-msgstr "麥克風\t無法執行\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1091
-msgid "Microphone\tImperfect\n"
-msgstr "麥克風\tä¸å®Œç¾Ž\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:892
msgid "Controls\tUnimplemented\n"
msgstr "控制\t無法執行\n"
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:894
msgid "Controls\tImperfect\n"
msgstr "控制\tä¸å®Œç¾Ž\n"
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:897
msgid "Keyboard\tUnimplemented\n"
msgstr "éµç›¤\t無法執行\n"
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:899
msgid "Keyboard\tImperfect\n"
msgstr "éµç›¤\tä¸å®Œç¾Ž\n"
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:902
msgid "Mouse\tUnimplemented\n"
msgstr "滑鼠\t無法執行\n"
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:904
msgid "Mouse\tImperfect\n"
msgstr "滑鼠\tä¸å®Œç¾Ž\n"
-#: src/frontend/mame/ui/selgame.cpp:1109
-msgid "Media\tUnimplemented\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:907
+msgid "Microphone\tUnimplemented\n"
+msgstr "麥克風\t無法執行\n"
-#: src/frontend/mame/ui/selgame.cpp:1111
-msgid "Media\tImperfect\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:909
+msgid "Microphone\tImperfect\n"
+msgstr "麥克風\tä¸å®Œç¾Ž\n"
+
+#: src/frontend/mame/ui/selgame.cpp:912
+msgid "Camera\tUnimplemented\n"
+msgstr "相機\t無法執行\n"
+
+#: src/frontend/mame/ui/selgame.cpp:914
+msgid "Camera\tImperfect\n"
+msgstr "相機\tä¸å®Œç¾Ž\n"
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:917
msgid "Disk\tUnimplemented\n"
msgstr "ç£ç¢Ÿ\t無法執行\n"
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:919
msgid "Disk\tImperfect\n"
msgstr "ç£ç¢Ÿ\tä¸å®Œç¾Ž\n"
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:922
msgid "Printer\tUnimplemented\n"
msgstr "å°è¡¨æ©Ÿ\t無法執行\n"
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:924
msgid "Printer\tImperfect\n"
msgstr "å°è¡¨æ©Ÿ\tä¸å®Œç¾Ž\n"
-#: src/frontend/mame/ui/selgame.cpp:1124
-msgid "Mag. Tape\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1126
-msgid "Mag. Tape\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1129
-msgid "Punch Tape\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1131
-msgid "Punch Tape\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1134
-msgid "Mag. Drum\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1136
-msgid "Mag. Drum\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1139
-msgid "(EP)ROM\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1141
-msgid "(EP)ROM\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1144
-msgid "Communications\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1146
-msgid "Communications\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:927
msgid "LAN\tUnimplemented\n"
msgstr "å€åŸŸç¶²è·¯\t無法執行\n"
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:929
msgid "LAN\tImperfect\n"
msgstr "å€åŸŸç¶²è·¯\tä¸å®Œç¾Ž\n"
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:932
msgid "WAN\tUnimplemented\n"
msgstr "外部網路\t無法執行\n"
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:934
msgid "WAN\tImperfect\n"
msgstr "外部網路\tä¸å®Œç¾Ž\n"
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:937
msgid "Timing\tUnimplemented\n"
msgstr "計時\t無法執行\n"
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:939
msgid "Timing\tImperfect\n"
msgstr "計時\tä¸å®Œç¾Ž\n"
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:941
msgid "Mechanical Machine\tYes\n"
msgstr "æ©Ÿæ¢°å¼æ©Ÿå°\t是\n"
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:941
msgid "Mechanical Machine\tNo\n"
msgstr "æ©Ÿæ¢°å¼æ©Ÿå°\tå¦\n"
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:942
msgid "Requires Artwork\tYes\n"
msgstr "需è¦è£é£¾åœ–\t是\n"
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:942
msgid "Requires Artwork\tNo\n"
msgstr "需è¦è£é£¾åœ–\tå¦\n"
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:943
msgid "Requires Clickable Artwork\tYes\n"
msgstr "需è¦å¯é»žæ“Šçš„è£é£¾åœ–\t是\n"
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:943
msgid "Requires Clickable Artwork\tNo\n"
msgstr "需è¦å¯é»žæ“Šçš„è£é£¾åœ–\tå¦\n"
-#: src/frontend/mame/ui/selgame.cpp:1166
+#: src/frontend/mame/ui/selgame.cpp:944
msgid "Support Cocktail\tYes\n"
msgstr "æ”¯æ´æª¯é¢åž‹ç­é«”\t是\n"
-#: src/frontend/mame/ui/selgame.cpp:1166
+#: src/frontend/mame/ui/selgame.cpp:944
msgid "Support Cocktail\tNo\n"
msgstr "æ”¯æ´æª¯é¢åž‹ç­é«”\tå¦\n"
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:945
msgid "Driver is BIOS\tYes\n"
msgstr "驅動程å¼ç‚º BIOS\t是\n"
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:945
msgid "Driver is BIOS\tNo\n"
msgstr "驅動程å¼ç‚º BIOS\tå¦\n"
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:946
msgid "Support Save\tYes\n"
msgstr "支æ´å³æ™‚存檔\t是\n"
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:946
msgid "Support Save\tNo\n"
msgstr "支æ´å³æ™‚存檔\tå¦\n"
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:947
msgid "Screen Orientation\tVertical\n"
msgstr "ç•«é¢æ–¹å‘\t垂直\n"
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:947
msgid "Screen Orientation\tHorizontal\n"
msgstr "ç•«é¢æ–¹å‘\tæ°´å¹³\n"
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:957
msgid "Requires CHD\tYes\n"
msgstr "éœ€è¦ CHD\t是\n"
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:957
msgid "Requires CHD\tNo\n"
msgstr "éœ€è¦ CHD\tå¦\n"
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:970
msgid "ROM Audit Result\tOK\n"
msgstr "ROM é©—è­‰çµæžœ\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:972
msgid "ROM Audit Result\tBAD\n"
msgstr "ROM é©—è­‰çµæžœ\t錯誤\n"
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:975
msgid "Samples Audit Result\tNone Needed\n"
msgstr "æ¨£æœ¬æª”é©—è­‰çµæžœ\tä¸éœ€è¦\n"
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:977
msgid "Samples Audit Result\tOK\n"
msgstr "æ¨£æœ¬æª”é©—è­‰çµæžœ\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:979
msgid "Samples Audit Result\tBAD\n"
msgstr "æ¨£æœ¬æª”é©—è­‰çµæžœ\t錯誤\n"
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:983
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
@@ -1816,28 +1909,42 @@ msgstr ""
"ROM é©—è­‰ \tåœç”¨\n"
"樣本檔驗證 \tåœç”¨\n"
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1167
#, c-format
msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
msgstr "%1$s %2$s ( %3$d / %4$d æ©Ÿå° (%5$d BIOS) )"
-#: src/frontend/mame/ui/selgame.cpp:1424
+#: src/frontend/mame/ui/selgame.cpp:1183 src/frontend/mame/ui/selsoft.cpp:555
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
+msgstr "%1$s: %2$s - æœå°‹ï¼š %3$s_"
+
+#: src/frontend/mame/ui/selgame.cpp:1185 src/frontend/mame/ui/selsoft.cpp:557
+#, c-format
+msgid "Search: %1$s_"
+msgstr "æœå°‹ï¼š %1$s_"
+
+#: src/frontend/mame/ui/selgame.cpp:1195
#, c-format
msgid "Romset: %1$-.100s"
msgstr "Rom組: %1$-.100s"
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1202
#, c-format
msgid "System: %1$-.100s"
msgstr "系統: %1$-.100s"
-#: src/frontend/mame/ui/selgame.cpp:1465
+#: src/frontend/mame/ui/selgame.cpp:1239
msgid ""
"The selected machine is missing one or more required ROM or CHD images. "
"Please select a different machine.\n"
"\n"
msgstr "é¸å®šçš„æ©Ÿå°ç¼ºå°‘一個至多個必è¦çš„ ROM 或 CHD æ˜ åƒæª”ï¼Œè«‹é¸æ“‡å…¶ä»–機å°ã€‚\n"
+#: src/frontend/mame/ui/selgame.cpp:1245 src/frontend/mame/ui/selsoft.cpp:462
+msgid "Press any key to continue."
+msgstr "按任æ„éµç¹¼çºŒã€‚"
+
#: src/frontend/mame/ui/sndmenu.cpp:135
msgid "Sound"
msgstr "è²éŸ³"
@@ -1850,307 +1957,514 @@ msgstr "å–æ¨£é »çއ"
msgid "Use External Samples"
msgstr "使用外部樣本檔"
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr "å…¶ä»–é¸é …"
+#: src/frontend/mame/ui/utils.cpp:57 src/frontend/mame/ui/utils.cpp:81
+msgid "Unfiltered"
+msgstr "未篩é¸"
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
-msgstr "釿–°é¸æ“‡ä¸Šæ¬¡åŸ·è¡Œçš„æ©Ÿå°"
+#: src/frontend/mame/ui/utils.cpp:58 src/frontend/mame/ui/utils.cpp:82
+msgid "Available"
+msgstr "å¯ç”¨"
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
-msgstr "放大å³å´é¢ç‰ˆçš„圖片"
+#: src/frontend/mame/ui/utils.cpp:59 src/frontend/mame/ui/utils.cpp:83
+msgid "Unavailable"
+msgstr "ä¸å¯ç”¨"
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
-msgstr "顯示滑鼠指標"
+#: src/frontend/mame/ui/utils.cpp:60
+msgid "Working"
+msgstr "å¯ä»¥åŸ·è¡Œ"
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
-msgstr "確èªé›¢é–‹æ©Ÿå°"
+#: src/frontend/mame/ui/utils.cpp:61
+msgid "Not Working"
+msgstr "ä¸å¯åŸ·è¡Œ"
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
-msgstr "ç•¥éŽèµ·å§‹çš„資訊畫é¢"
+#: src/frontend/mame/ui/utils.cpp:62
+msgid "Mechanical"
+msgstr "機械å¼"
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
-msgstr "強制擷圖顯示比例為 4:3"
+#: src/frontend/mame/ui/utils.cpp:63
+msgid "Not Mechanical"
+msgstr "éžæ©Ÿæ¢°å¼"
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
-msgstr "使用圖片作為背景"
+#: src/frontend/mame/ui/utils.cpp:64
+msgid "Category"
+msgstr "類別"
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
-msgstr "ç•¥éŽ BIOS 鏿“‡é¸å–®"
+#: src/frontend/mame/ui/utils.cpp:65
+msgid "Favorites"
+msgstr "最愛"
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
-msgstr "ç•¥éŽè»Ÿé«”éƒ¨åˆ†é¸æ“‡é¸å–®"
+#: src/frontend/mame/ui/utils.cpp:67
+msgid "Not BIOS"
+msgstr "éž BIOS"
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
-msgstr "資訊自動驗證"
+#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:84
+msgid "Parents"
+msgstr "æ¯æª”"
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
-msgstr "在å¯ç”¨æ¸…單中隱è—ç„¡ ROM 機å°"
+#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/utils.cpp:85
+msgid "Clones"
+msgstr "仿製版"
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
-msgstr "進階é¸é …"
+#: src/frontend/mame/ui/utils.cpp:70
+msgid "Manufacturer"
+msgstr "製造商"
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
-msgstr "效能é¸é …"
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:86
+msgid "Year"
+msgstr "年代"
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
-msgstr "自動çœç•¥ç•«æ ¼"
+#: src/frontend/mame/ui/utils.cpp:72
+msgid "Save Supported"
+msgstr "已支æ´å³æ™‚存檔"
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
-msgstr "çœç•¥ç•«æ ¼"
+#: src/frontend/mame/ui/utils.cpp:73
+msgid "Save Unsupported"
+msgstr "未支æ´å³æ™‚存檔"
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
-msgstr "é™åˆ¶é€Ÿåº¦"
+#: src/frontend/mame/ui/utils.cpp:74
+msgid "CHD Required"
+msgstr "éœ€è¦ CHD"
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
-msgstr "休眠"
+#: src/frontend/mame/ui/utils.cpp:75
+msgid "No CHD Required"
+msgstr "ä¸éœ€è¦ CHD"
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
-msgstr "速度"
+#: src/frontend/mame/ui/utils.cpp:76
+msgid "Vertical Screen"
+msgstr "垂直螢幕"
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
-msgstr "更新速度"
+#: src/frontend/mame/ui/utils.cpp:77
+msgid "Horizontal Screen"
+msgstr "水平螢幕"
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
-msgstr "é¸è½‰é¸é …"
+#: src/frontend/mame/ui/utils.cpp:78 src/frontend/mame/ui/utils.cpp:94
+msgid "Custom Filter"
+msgstr "自訂篩é¸"
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
-msgstr "峿—‹è½‰"
+#: src/frontend/mame/ui/utils.cpp:87
+msgid "Publisher"
+msgstr "出版商"
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
-msgstr "左旋轉"
+#: src/frontend/mame/ui/utils.cpp:88
+msgid "Supported"
+msgstr "已支æ´"
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
-msgstr "è‡ªå‹•å³æ—‹è½‰"
+#: src/frontend/mame/ui/utils.cpp:89
+msgid "Partially Supported"
+msgstr "部分支æ´"
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
-msgstr "自動左旋轉"
+#: src/frontend/mame/ui/utils.cpp:90
+msgid "Unsupported"
+msgstr "䏿”¯æ´"
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
-msgstr "翻轉 X"
+#: src/frontend/mame/ui/utils.cpp:91
+msgid "Release Region"
+msgstr "釋出å€åŸŸ"
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
-msgstr "翻轉 Y"
+#: src/frontend/mame/ui/utils.cpp:92
+msgid "Device Type"
+msgstr "è£ç½®é¡žåˆ¥"
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
-msgstr "è£é£¾åœ–é¸é …"
+#: src/frontend/mame/ui/utils.cpp:93
+msgid "Software List"
+msgstr "軟體清單"
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
-msgstr "è£é£¾åœ–è£åˆ‡"
+#: src/frontend/mame/ui/utils.cpp:244
+msgid "<set up filters>"
+msgstr "<設定篩é¸>"
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
-msgstr "使用背景圖"
+#: src/frontend/mame/ui/utils.cpp:352
+msgid "Select custom filters:"
+msgstr "鏿“‡è‡ªè¨‚篩é¸ï¼š"
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
-msgstr "使用覆疊圖"
+#: src/frontend/mame/ui/utils.cpp:503
+#, c-format
+msgid "Filter %1$u"
+msgstr "ç¯©é¸ %1$u"
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
-msgstr "使用外框圖"
+#: src/frontend/mame/ui/utils.cpp:518
+msgid "Remove last filter"
+msgstr "移除最後篩é¸"
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
-msgstr "使用控制é¢ç‰ˆåœ–"
+#: src/frontend/mame/ui/utils.cpp:520
+msgid "Add filter"
+msgstr "新增篩é¸"
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
-msgstr "使用機檯標題圖"
+#: src/frontend/mame/ui/utils.cpp:959
+msgid "Select category:"
+msgstr "鏿“‡é¡žåˆ¥ï¼š"
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
-msgstr "狀態/播放é¸é …"
+#: src/frontend/mame/ui/utils.cpp:990
+msgid "[no category INI files]"
+msgstr "[沒有類別 INI 檔案]"
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
-msgstr "自動儲存/還原"
+#: src/frontend/mame/ui/utils.cpp:998
+msgid "[no groups in INI file]"
+msgstr "[INI 檔案中無群組]"
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
-msgstr "倒轉容é‡"
+#: src/frontend/mame/ui/utils.cpp:1032
+msgid "No category INI files found"
+msgstr "沒有找到類別 INI 檔案"
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
-msgstr "é›™ç·šéŽæ¿¾æ“·åœ–"
+#: src/frontend/mame/ui/utils.cpp:1037
+msgid "File"
+msgstr "檔案"
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
-msgstr "çƒ™å°æ“·åœ–"
+#: src/frontend/mame/ui/utils.cpp:1041
+msgid "No groups found in category file"
+msgstr "類別檔案中沒有找到群組"
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
-msgstr "輸入é¸é …"
+#: src/frontend/mame/ui/utils.cpp:1046
+msgid "Group"
+msgstr "群組"
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
-msgstr "投幣鎖定"
+#: src/frontend/mame/ui/utils.cpp:1047
+msgid "Include clones"
+msgstr "包å«ä»¿è£½ç‰ˆ"
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
-msgstr "滑鼠"
+#: src/frontend/mame/ui/selsoft.cpp:456
+msgid ""
+"The selected software is missing one or more required files. Please select a "
+"different software.\n"
+"\n"
+msgstr ""
+"é¸å®šçš„軟體缺少一個至多個必è¦çš„ ROM 或 CHD æ˜ åƒæª”ï¼Œè«‹é¸æ“‡å…¶ä»–軟體。\n"
+"\n"
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
-msgstr "æ–æ¡¿"
+#: src/frontend/mame/ui/selsoft.cpp:549
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgstr "%1$s %2$s ( %3$d / %4$d 軟體套件 )"
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
-msgstr "光線æ§"
+#: src/frontend/mame/ui/selsoft.cpp:550
+#, c-format
+msgid "Driver: \"%1$s\" software list "
+msgstr "驅動程å¼ï¼š \"%1$s\" 軟體清單 "
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
-msgstr "多é‡éµç›¤"
+#: src/frontend/mame/ui/filesel.cpp:260
+msgid "[create]"
+msgstr "[建立]"
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
-msgstr "å¤šé‡æ»‘é¼ "
+#: src/frontend/mame/ui/filesel.cpp:419
+#, c-format
+msgid "Error accessing %s"
+msgstr "éŒ¯èª¤å­˜å– %s"
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
-msgstr "穩定éµ"
+#: src/frontend/mame/ui/filesel.cpp:515
+msgid "Select access mode"
+msgstr "鏿“‡å­˜å–模å¼"
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
-msgstr "UI 啟動"
+#: src/frontend/mame/ui/filesel.cpp:516
+msgid "Read-only"
+msgstr "唯讀"
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
-msgstr "ç•«é¢å¤–釿–°è£å¡«"
+#: src/frontend/mame/ui/filesel.cpp:518
+msgid "Read-write"
+msgstr "讀寫"
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
-msgstr "æ–æ¡¿ç„¡å應å€"
+#: src/frontend/mame/ui/filesel.cpp:519
+msgid "Read this image, write to another image"
+msgstr "è®€å–æ­¤æ˜ åƒæª”ï¼Œå¯«å…¥è‡³å…¶ä»–æ˜ åƒæª”"
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
-msgstr "æ–æ¡¿é£½å’Œå€¼"
+#: src/frontend/mame/ui/filesel.cpp:520
+msgid "Read this image, write to diff"
+msgstr "è®€å–æ­¤æ˜ åƒæª”,寫入差異檔"
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
-msgstr "自然éµç›¤"
+#: src/frontend/mame/ui/imgcntrl.cpp:117
+msgid "Cannot save over directory"
+msgstr "無法跨目錄儲存"
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
-msgstr "åŒæ™‚發生的å°ç«‹ç‹€æ³"
+#: src/frontend/mame/ui/imgcntrl.cpp:150
+msgid ""
+"The software selected is missing one or more required ROM or CHD images. "
+"Please select a different one."
+msgstr "é¸å®šçš„軟體缺少一個至多個必è¦çš„ ROM 或 CHD æ˜ åƒæª”ï¼Œè«‹é¸æ“‡å…¶ä»–軟體。"
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
-msgstr "投幣脈è¡"
+#: src/frontend/mame/ui/menu.cpp:294
+msgid "Return to Machine"
+msgstr "回到機å°"
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
-msgstr "è£ç½®æ˜ å°"
+#: src/frontend/mame/ui/menu.cpp:299 src/frontend/mame/ui/menu.cpp:301
+msgid "Exit"
+msgstr "çµæŸ"
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
-msgstr "分é…光線æ§è£ç½®"
+#: src/frontend/mame/ui/menu.cpp:306 src/frontend/mame/ui/menu.cpp:308
+msgid "Return to Previous Menu"
+msgstr "回上一層é¸å–®"
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
-msgstr "分é…軌跡çƒè£ç½®"
+#: src/frontend/mame/ui/menu.cpp:742
+msgid "Auto"
+msgstr "自動"
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
-msgstr "分é…è¸æ¿è£ç½®"
+#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:653
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
+msgstr ""
+"作弊碼註解:\n"
+"%s"
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
-msgstr "åˆ†é… Adstick è£ç½®"
+#: src/frontend/mame/ui/cheatopt.cpp:105
+msgid "All cheats reloaded"
+msgstr "å…¨éƒ¨ä½œå¼Šç¢¼å·²é‡æ–°è¼‰å…¥"
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
-msgstr "分é…划槳è£ç½®"
+#: src/frontend/mame/ui/cheatopt.cpp:136
+msgid "Autofire Settings"
+msgstr "連射設定"
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
-msgstr "分é…轉盤è£ç½®"
+#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:581
+msgid "Reset All"
+msgstr "全部é‡è¨­"
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
-msgstr "åˆ†é…æŒ‡å‘è£ç½®"
+#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:582
+msgid "Reload All"
+msgstr "å…¨éƒ¨é‡æ–°è¼‰å…¥"
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
-msgstr "åˆ†é…æ»‘é¼ è£ç½®"
+#: src/frontend/mame/ui/cheatopt.cpp:273
+msgid "Autofire Status"
+msgstr "連射狀態"
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
-msgstr "視訊模å¼"
+#: src/frontend/mame/ui/cheatopt.cpp:316
+msgid "No buttons found on this machine!"
+msgstr "此機å°ä¸Šç„¡å¯ç”¨æŒ‰éµï¼"
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
-msgstr "ç•«é¢æ•¸"
+#: src/frontend/mame/ui/cheatopt.cpp:327 src/frontend/mame/ui/cheatopt.cpp:331
+msgid "Autofire Delay"
+msgstr "連射延é²"
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
-msgstr "三é‡ç·©è¡"
+#: src/frontend/mame/ui/ui.cpp:337
+msgid "This driver requires images to be loaded in the following device(s): "
+msgstr "此驅動需è¦é¡å¤–載入下列è£ç½®çš„æ˜ åƒæª”: "
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
-msgstr "HLSL"
+#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
+msgid "Keyboard Emulation Status"
+msgstr "éµç›¤æ¨¡æ“¬ç‹€æ…‹"
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
-msgstr "GLSL"
+#: src/frontend/mame/ui/ui.cpp:1086
+msgid "Mode: PARTIAL Emulation"
+msgstr "模å¼ï¼š 部分模擬"
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
-msgstr "é›™ç·šéŽæ¿¾"
+#: src/frontend/mame/ui/ui.cpp:1087
+msgid "UI: Enabled"
+msgstr "UI: 已啟用"
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
-msgstr "點陣圖é ç¸®æ”¾"
+#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
+msgid "**Use ScrLock to toggle**"
+msgstr "**使用 ScrLock éµåˆ‡æ›**"
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
-msgstr "視窗模å¼"
+#: src/frontend/mame/ui/ui.cpp:1096
+msgid "Mode: FULL Emulation"
+msgstr "模å¼ï¼š 完整模擬"
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
-msgstr "強制比例"
+#: src/frontend/mame/ui/ui.cpp:1097
+msgid "UI: Disabled"
+msgstr "UI: å·²åœç”¨"
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
-msgstr "最大化開始"
+#: src/frontend/mame/ui/ui.cpp:1249
+msgid "Autofire can't be enabled"
+msgstr "無法啟用連射"
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
-msgstr "åŒæ­¥æ›´æ–°"
+#: src/frontend/mame/ui/ui.cpp:1302
+#, c-format
+msgid ""
+"Are you sure you want to quit?\n"
+"\n"
+"Press ''%1$s'' to quit,\n"
+"Press ''%2$s'' to return to emulation."
+msgstr ""
+"確定è¦é€€å‡ºå—Žï¼Ÿ\n"
+"\n"
+"按『%1$sã€é€€å‡ºï¼Œ\n"
+"按『%2$sã€ç¹¼çºŒæ¨¡æ“¬ã€‚"
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
-msgstr "ç­‰å¾…åž‚ç›´åŒæ­¥"
+#: src/frontend/mame/ui/ui.cpp:1374
+msgid "Master Volume"
+msgstr "主音é‡"
-#: src/frontend/mame/ui/devopt.cpp:43
+#: src/frontend/mame/ui/ui.cpp:1383
+#, c-format
+msgid "%1$s Volume"
+msgstr "%1$s 音é‡"
+
+#: src/frontend/mame/ui/ui.cpp:1407
+#, c-format
+msgid "Overclock CPU %1$s"
+msgstr "è¶…é » CPU %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1416
+#, c-format
+msgid "Overclock %1$s sound"
+msgstr "è¶…é » %1$s è²éŸ³"
+
+#: src/frontend/mame/ui/ui.cpp:1437
+#, c-format
+msgid "%1$s Refresh Rate"
+msgstr "%1$s 更新率"
+
+#: src/frontend/mame/ui/ui.cpp:1442
+#, c-format
+msgid "%1$s Brightness"
+msgstr "%1$s 亮度"
+
+#: src/frontend/mame/ui/ui.cpp:1444
+#, c-format
+msgid "%1$s Contrast"
+msgstr "%1$s å°æ¯”"
+
+#: src/frontend/mame/ui/ui.cpp:1446
+#, c-format
+msgid "%1$s Gamma"
+msgstr "%1$s Gamma 值"
+
+#: src/frontend/mame/ui/ui.cpp:1450
+#, c-format
+msgid "%1$s Horiz Stretch"
+msgstr "%1$s 水平延展"
+
+#: src/frontend/mame/ui/ui.cpp:1452
+#, c-format
+msgid "%1$s Horiz Position"
+msgstr "%1$s æ°´å¹³ä½ç½®"
+
+#: src/frontend/mame/ui/ui.cpp:1454
+#, c-format
+msgid "%1$s Vert Stretch"
+msgstr "%1$s 垂直延展"
+
+#: src/frontend/mame/ui/ui.cpp:1456
+#, c-format
+msgid "%1$s Vert Position"
+msgstr "%1$s 垂直ä½ç½®"
+
+#: src/frontend/mame/ui/ui.cpp:1475
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
+msgstr "雷射影碟 %1$s 水平延展"
+
+#: src/frontend/mame/ui/ui.cpp:1477
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
+msgstr "雷射影碟 %1$s æ°´å¹³ä½ç½®"
+
+#: src/frontend/mame/ui/ui.cpp:1479
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
+msgstr "雷射影碟 %1$s 垂直延展"
+
+#: src/frontend/mame/ui/ui.cpp:1481
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
+msgstr "雷射影碟 %1$s 垂直ä½ç½®"
+
+#: src/frontend/mame/ui/ui.cpp:1493
+msgid "Vector Flicker"
+msgstr "å‘é‡é–ƒçˆåº¦"
+
+#: src/frontend/mame/ui/ui.cpp:1494
+msgid "Beam Width Minimum"
+msgstr "最å°å…‰æŸå¯¬åº¦"
+
+#: src/frontend/mame/ui/ui.cpp:1495
+msgid "Beam Width Maximum"
+msgstr "最大光æŸå¯¬åº¦"
+
+#: src/frontend/mame/ui/ui.cpp:1496
+msgid "Beam Intensity Weight"
+msgstr "å…‰æŸå¼·åº¦"
+
+#: src/frontend/mame/ui/ui.cpp:1511
+#, c-format
+msgid "Crosshair Scale %1$s"
+msgstr "å字準星尺度 %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "X"
+msgstr "X"
+
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "Y"
+msgstr "Y"
+
+#: src/frontend/mame/ui/ui.cpp:1513
+#, c-format
+msgid "Crosshair Offset %1$s"
+msgstr "å字準星ä½ç§» %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1601
+#, c-format
+msgid "%1$3ddB"
+msgstr "%1$3ddB"
+
+#: src/frontend/mame/ui/ui.cpp:1645
+#, c-format
+msgid "%1$d%%"
+msgstr "%1$d%%"
+
+#: src/frontend/mame/ui/ui.cpp:1661
+#, c-format
+msgid "%1$3.0f%%"
+msgstr "%1$3.0f%%"
+
+#: src/frontend/mame/ui/ui.cpp:1685
+#, c-format
+msgid "%1$.3ffps"
+msgstr "%1$.3ffps"
+
+#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
+#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
+#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
+#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
+#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
+#: src/frontend/mame/ui/ui.cpp:1927
+#, c-format
+msgid "%1$.3f"
+msgstr "%1$.3f"
+
+#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
+#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
+#, c-format
+msgid "%1$1.2f"
+msgstr "%1$1.2f"
+
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
+msgstr "å字準星尺度 X %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
+msgstr "å字準星尺度 Y %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
+msgstr "å字準星ä½ç§» X %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
+msgstr "å字準星ä½ç§» Y %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
+msgstr "**儲存 ui.ini 時發生錯誤**"
+
+#: src/frontend/mame/ui/ui.cpp:2226
+#, c-format
+msgid "**Error saving %s.ini**"
+msgstr "**儲存 %s.ini 時發生錯誤**"
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " COLORS"
+msgstr " 色彩"
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " PENS"
+msgstr " PENS"
+
+#: src/frontend/mame/ui/devopt.cpp:39
#, c-format
msgid ""
"[This option is currently mounted in the running system]\n"
@@ -2167,7 +2481,7 @@ msgstr ""
"\n"
"å·²é¸ç”¨çš„é¸é …啟用下列項目:\n"
-#: src/frontend/mame/ui/devopt.cpp:44
+#: src/frontend/mame/ui/devopt.cpp:40
#, c-format
msgid ""
"[This option is NOT currently mounted in the running system]\n"
@@ -2184,60 +2498,60 @@ msgstr ""
"\n"
"如é¸ç”¨æ­¤é¸é …,下列項目將啟用:\n"
-#: src/frontend/mame/ui/devopt.cpp:52
+#: src/frontend/mame/ui/devopt.cpp:48
msgid "* CPU:\n"
msgstr "* CPU:\n"
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
#, c-format
msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
msgstr " %1$d×%2$s %3$d.%4$06d MHz\n"
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
msgstr " %1$d×%2$s %5$d.%6$03d kHz\n"
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
msgid " %2$s %3$d.%4$06d MHz\n"
msgstr " %2$s %3$d.%4$06d MHz\n"
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
msgid " %2$s %5$d.%6$03d kHz\n"
msgstr " %2$s %5$d.%6$03d kHz\n"
-#: src/frontend/mame/ui/devopt.cpp:89
+#: src/frontend/mame/ui/devopt.cpp:85
msgid "* Video:\n"
msgstr "* 視訊:\n"
-#: src/frontend/mame/ui/devopt.cpp:94
+#: src/frontend/mame/ui/devopt.cpp:90
#, c-format
msgid " Screen '%1$s': Vector\n"
msgstr " ç•«é¢ '%1$s': å‘é‡\n"
-#: src/frontend/mame/ui/devopt.cpp:103
+#: src/frontend/mame/ui/devopt.cpp:99
#, c-format
msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
msgstr " ç•«é¢ '%1$s': %2$d × %3$d (V) %4$f Hz\n"
-#: src/frontend/mame/ui/devopt.cpp:104
+#: src/frontend/mame/ui/devopt.cpp:100
#, c-format
msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
msgstr " ç•«é¢ '%1$s': %2$d × %3$d (H) %4$f Hz\n"
-#: src/frontend/mame/ui/devopt.cpp:117
+#: src/frontend/mame/ui/devopt.cpp:113
msgid "* Sound:\n"
msgstr "* è²éŸ³:\n"
-#: src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/devopt.cpp:133
#, c-format
msgid " %1$d×%2$s\n"
msgstr " %1$d×%2$s\n"
-#: src/frontend/mame/ui/devopt.cpp:138
+#: src/frontend/mame/ui/devopt.cpp:134
msgid " %2$s\n"
msgstr " %2$s\n"
-#: src/frontend/mame/ui/devopt.cpp:168
+#: src/frontend/mame/ui/devopt.cpp:164
#, c-format
msgid ""
"* BIOS settings:\n"
@@ -2246,481 +2560,86 @@ msgstr ""
"* BIOS 設定:\n"
" %1$d é¸é … [é è¨­å€¼ï¼š %2$s]\n"
-#: src/frontend/mame/ui/devopt.cpp:208 src/frontend/mame/ui/devopt.cpp:224
-#: src/frontend/mame/ui/devopt.cpp:269
+#: src/frontend/mame/ui/devopt.cpp:204 src/frontend/mame/ui/devopt.cpp:220
+#: src/frontend/mame/ui/devopt.cpp:265
#, c-format
msgid " %1$s [default: %2$s]\n"
msgstr " %1$s [é è¨­å€¼ï¼š %2$s]\n"
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
+#: src/frontend/mame/ui/devopt.cpp:209 src/frontend/mame/ui/devopt.cpp:225
#, c-format
msgid " %1$s\n"
msgstr " %1$s\n"
-#: src/frontend/mame/ui/devopt.cpp:234
+#: src/frontend/mame/ui/devopt.cpp:230
msgid "* DIP switch settings:\n"
msgstr "* 指撥開關設定:\n"
-#: src/frontend/mame/ui/devopt.cpp:236
+#: src/frontend/mame/ui/devopt.cpp:232
msgid "* Configuration settings:\n"
msgstr "* é…置設定:\n"
-#: src/frontend/mame/ui/devopt.cpp:238
+#: src/frontend/mame/ui/devopt.cpp:234
msgid "* Input device(s):\n"
msgstr "* 輸入è£ç½®ï¼š"
-#: src/frontend/mame/ui/devopt.cpp:240
+#: src/frontend/mame/ui/devopt.cpp:236
#, c-format
msgid " User inputs [%1$d inputs]\n"
msgstr " 使用者輸入 [%1$d 輸入]\n"
-#: src/frontend/mame/ui/devopt.cpp:242
+#: src/frontend/mame/ui/devopt.cpp:238
#, c-format
msgid " Mahjong inputs [%1$d inputs]\n"
msgstr " 麻將輸入 [%1$d 輸入]\n"
-#: src/frontend/mame/ui/devopt.cpp:244
+#: src/frontend/mame/ui/devopt.cpp:240
#, c-format
msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr " 花牌輸入 [%1$d 輸入]\n"
-#: src/frontend/mame/ui/devopt.cpp:246
+#: src/frontend/mame/ui/devopt.cpp:242
#, c-format
msgid " Gambling inputs [%1$d inputs]\n"
msgstr " åšå¥•輸入 [%1$d 輸入]\n"
-#: src/frontend/mame/ui/devopt.cpp:248
+#: src/frontend/mame/ui/devopt.cpp:244
#, c-format
msgid " Analog inputs [%1$d inputs]\n"
msgstr " 類比輸入 [%1$d 輸入]\n"
-#: src/frontend/mame/ui/devopt.cpp:250
+#: src/frontend/mame/ui/devopt.cpp:246
#, c-format
msgid " Adjuster inputs [%1$d inputs]\n"
msgstr " 調節器輸入 [%1$d 輸入]\n"
-#: src/frontend/mame/ui/devopt.cpp:252
+#: src/frontend/mame/ui/devopt.cpp:248
#, c-format
msgid " Keypad inputs [%1$d inputs]\n"
msgstr " 數字éµç›¤è¼¸å…¥ [%1$d 輸入]\n"
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/devopt.cpp:250
#, c-format
msgid " Keyboard inputs [%1$d inputs]\n"
msgstr " éµç›¤è¼¸å…¥ [%1$d 輸入]\n"
-#: src/frontend/mame/ui/devopt.cpp:259
+#: src/frontend/mame/ui/devopt.cpp:255
msgid "* Media Options:\n"
msgstr "* 媒體é¸é …:\n"
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/devopt.cpp:257
#, c-format
msgid " %1$s [tag: %2$s]\n"
msgstr " %1$s [標籤: %2$s]\n"
-#: src/frontend/mame/ui/devopt.cpp:267
+#: src/frontend/mame/ui/devopt.cpp:263
msgid "* Slot Options:\n"
msgstr "* æ’æ§½é¸é …:\n"
-#: src/frontend/mame/ui/devopt.cpp:274
+#: src/frontend/mame/ui/devopt.cpp:270
msgid "[None]\n"
msgstr "[ç„¡]\n"
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
-msgstr "驗證標記為ä¸å¯ç”¨çš„ %1$u æ©Ÿå° ROM 檔?"
-
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
-msgstr "驗證所有 %1$u 機å°çš„ ROM 檔?"
-
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
-msgstr "(çµæžœå°‡å„²å­˜è‡³ %1$s)"
-
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
-msgstr ""
-"æ­£åœ¨é©—è­‰ä¾›æ©Ÿå° %2$u çš„ %3$u ROM 檔...\n"
-"%1$s"
-
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr "é–‹å§‹é©—è­‰"
-
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
-msgstr "無法跨目錄儲存"
-
-#: src/frontend/mame/ui/imgcntrl.cpp:150
-msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
-msgstr "é¸å®šçš„軟體缺少一個至多個必è¦çš„ ROM 或 CHD æ˜ åƒæª”ï¼Œè«‹é¸æ“‡å…¶ä»–軟體。"
-
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
-msgstr "ä¿è­·"
-
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
-msgstr "計時"
-
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
-msgstr "圖形"
-
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
-msgstr "色盤"
-
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
-msgstr "è²éŸ³"
-
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
-msgstr "相機"
-
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
-msgstr "麥克風"
-
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
-msgstr "控制"
-
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
-msgstr "éµç›¤"
-
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
-msgstr "滑鼠"
-
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
-msgstr "ç£ç¢Ÿ"
-
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
-msgstr "å°è¡¨æ©Ÿ"
-
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
-msgstr "å€åŸŸç¶²è·¯"
-
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
-msgstr "外部網路"
-
-#: src/frontend/mame/ui/info.cpp:188
-msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
-msgstr "æœ¬æ©Ÿå°æœ‰ä¸€å€‹æˆ–更多的 ROM/CHD æ˜¯ä¸æ­£ç¢ºçš„。此機å°å¯èƒ½ç„¡æ³•正確執行。\n"
-
-#: src/frontend/mame/ui/info.cpp:198
-msgid ""
-"There are known problems with this machine\n"
-"\n"
-msgstr ""
-"本機å°å·²çŸ¥å…·æœ‰ä¸‹åˆ—çš„å•題\n"
-"\n"
-
-#: src/frontend/mame/ui/info.cpp:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
-msgstr "æœ¬æ©Ÿå°æœ‰ä¸€å€‹æˆ–更多的 ROM/CHD 尚未正確地被 DUMP。\n"
-
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
-msgstr "未完整模擬功能: "
-
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
-msgstr "%s"
-
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#: src/frontend/mame/ui/info.cpp:275
-#, c-format
-msgid ", %s"
-msgstr ", %s"
-
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
-msgstr "未完美模擬功能: "
-
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
-msgstr "å°šæœªæ”¯æ´æª¯é¢åž‹ç­é«”模å¼çš„ç•«é¢ç¿»è½‰ã€‚"
-
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
-msgstr "此機å°éœ€è¦é¡å¤–çš„è£é£¾åœ–檔"
-
-#: src/frontend/mame/ui/info.cpp:243
-msgid ""
-"This machine was never completed. It may exhibit strange behavior or missing "
-"elements that are not bugs in the emulation.\n"
-msgstr "本機å°ç„¡æ³•完æˆï¼Œä¸¦éžæ¨¡æ“¬æ™‚的錯誤而å¯èƒ½å‘ˆç¾æ€ªç•°çš„行為或缺少元件。\n"
-
-#: src/frontend/mame/ui/info.cpp:245
-msgid ""
-"This machine has no sound hardware, MAME will produce no sounds, this is "
-"expected behaviour.\n"
-msgstr "本機å°ç„¡è²éŸ³ç¡¬é«”,故 MAME 將䏿œƒç”¢ç”Ÿè²éŸ³ï¼Œé€™æ˜¯å¯é æœŸçš„行為。\n"
-
-#: src/frontend/mame/ui/info.cpp:249
-msgid ""
-"\n"
-"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
-"complete. There is nothing you can do to fix this problem except wait for "
-"the developers to improve the emulation.\n"
-msgstr ""
-"\n"
-"此機å°ç„¡æ³•執行,機å°çš„æ¨¡æ“¬é‚„ä¸å®Œå…¨ã€‚除了等待開發人員改良模擬之外,沒有方法å¯"
-"以解決這個å•題。\n"
-
-#: src/frontend/mame/ui/info.cpp:251
-msgid ""
-"\n"
-"Elements of this machine cannot be emulated as they requires physical "
-"interaction or consist of mechanical devices. It is not possible to fully "
-"experience this machine.\n"
-msgstr ""
-"此機å°çš„部分元件無法模擬,因其需è¦å¯¦é𛿴»å‹•的互動或機械è£ç½®çš„組åˆã€‚故無法完æˆ"
-"此機å°çš„體驗。\n"
-
-#: src/frontend/mame/ui/info.cpp:273
-#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
-msgstr ""
-"\n"
-"\n"
-"本機å°å°šæœ‰å¯åŸ·è¡Œçš„仿製版: %s"
-
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
-msgstr ""
-"\n"
-"\n"
-"按任æ„éµç¹¼çºŒ"
-
-#: src/frontend/mame/ui/info.cpp:301
-#, c-format
-msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
-msgstr ""
-"%1$s\n"
-"%2$s %3$s\n"
-"驅動程å¼ï¼š %4$s\n"
-"\n"
-"CPU:\n"
-
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
-msgstr "MHz"
-
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
-msgstr "kHz"
-
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
-msgstr ""
-"\n"
-"è²éŸ³ï¼š\n"
-
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
-msgstr ""
-"\n"
-"視訊:\n"
-
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
-msgstr "ç„¡\n"
-
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
-msgstr "å‘é‡"
-
-#: src/frontend/mame/ui/info.cpp:400
-#, c-format
-msgid "%1$s: %2$s\n"
-msgstr "%1$s: %2$s\n"
-
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
-msgstr "%2$s\n"
-
-#: src/frontend/mame/ui/info.cpp:446
-#, c-format
-msgid "Screen '%1$s'"
-msgstr "ç•«é¢ '%1$s'"
-
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr "ç•«é¢"
-
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
-msgstr "䏿”¯æ´"
-
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
-msgstr "部分支æ´"
-
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
-msgstr "[ 空 ]"
-
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
-msgstr "æ“作檯"
-
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
-msgstr "è£é£¾åœ–é è¦½"
-
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
-msgstr "éŠæˆ²çµæŸ"
-
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
-msgstr "新增或移除最愛"
-
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
-msgstr "匯出顯示的清單至檔案"
-
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
-msgstr "顯示文件檢視"
-
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
-msgstr "軟體部分é¸é …:"
-
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
-msgstr "鏿“‡ BIOS:"
-
-#: src/frontend/mame/ui/selmenu.cpp:622
-#, c-format
-msgid "Software is clone of: %1$-.100s"
-msgstr "軟體相容於: %1$-.100s"
-
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
-msgstr "軟體為主檔"
-
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
-msgstr "已支æ´ï¼š å¦"
-
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
-msgstr "已支æ´ï¼š 部分"
-
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
-msgstr "已支æ´ï¼š 是"
-
-#: src/frontend/mame/ui/selmenu.cpp:644
-#, c-format
-msgid "romset: %1$-.100s"
-msgstr "Rom組: %1$-.100s"
-
-#: src/frontend/mame/ui/selmenu.cpp:660
-#, c-format
-msgid "Driver is clone of: %1$-.100s"
-msgstr "驅動程å¼ç›¸å®¹æ–¼ï¼š %-.100s"
-
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
-msgstr "驅動程å¼ç‚ºä¸»æª”"
-
-#: src/frontend/mame/ui/selmenu.cpp:698
-#, c-format
-msgid "%1$s %2$s"
-msgstr "%1$s %2$s"
-
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
-msgstr "圖片"
-
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
-msgstr "資訊"
-
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
-msgstr "用法"
-
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
-msgstr "一般資訊"
-
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
-msgstr "使用者介é¢"
-
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
-msgstr "其他控制"
-
#: plugins/timer/init.lua:94
msgid "Current time"
msgstr "ç›®å‰æ™‚數"
@@ -2737,51 +2656,51 @@ msgstr "éŠçŽ©æ¬¡æ•¸"
msgid "Timer"
msgstr "計時器"
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:510
msgid "Select cheat to set hotkey"
msgstr "鏿“‡è¦è¨­å®šç†±éµçš„作弊碼"
-#: plugins/cheat/init.lua:534
+#: plugins/cheat/init.lua:516
msgid "Press button for hotkey or wait to clear"
msgstr "æŒ‰ä¸‹ç†±éµæŒ‰éˆ•或等候清除"
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:528
msgid "None"
msgstr "ç„¡"
-#: plugins/cheat/init.lua:551
+#: plugins/cheat/init.lua:533
msgid "Done"
msgstr "完æˆ"
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:547 plugins/cheat/init.lua:561
msgid "Set"
msgstr "設定"
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:580
msgid "Set hotkeys"
msgstr "設定熱éµ"
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:720
#, lua-format
msgid "Activated: %s = %s"
msgstr "已啟動: %s = %s"
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:723 plugins/cheat/init.lua:781
#, lua-format
msgid "Activated: %s"
msgstr "已啟動: %s"
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:785
#, lua-format
msgid "Enabled: %s"
msgstr "啟用: %s"
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:790
#, lua-format
msgid "Disabled: %s"
msgstr "å·²åœç”¨: %s"
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "%s added"
msgstr "$s 已加入"
@@ -2834,49 +2753,49 @@ msgstr "Gameinit"
msgid "MARPScore"
msgstr "MARPScore"
-#: plugins/cheatfind/init.lua:404
+#: plugins/cheatfind/init.lua:373
msgid "Save Cheat"
msgstr "儲存作弊碼"
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Default"
msgstr "é è¨­"
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Custom"
msgstr "自訂"
-#: plugins/cheatfind/init.lua:408
+#: plugins/cheatfind/init.lua:377
msgid "Cheat Name"
msgstr "作弊碼å稱"
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/cheatfind/init.lua:383 plugins/cheatfind/init.lua:748
#, lua-format
msgid "Default name is %s"
msgstr "é è¨­å稱為 %s"
-#: plugins/cheatfind/init.lua:422
+#: plugins/cheatfind/init.lua:391
msgid "Player"
msgstr "玩家"
-#: plugins/cheatfind/init.lua:427
+#: plugins/cheatfind/init.lua:396
msgid "Type"
msgstr "類型"
-#: plugins/cheatfind/init.lua:433
+#: plugins/cheatfind/init.lua:402
msgid "Save"
msgstr "儲存"
-#: plugins/cheatfind/init.lua:462
+#: plugins/cheatfind/init.lua:429
#, lua-format
msgid "Cheat written to %s and added to cheat.simple"
msgstr "作弊碼已寫入至 %s 且已加入 cheat.simple"
-#: plugins/cheatfind/init.lua:472
+#: plugins/cheatfind/init.lua:437
msgid "Cheat added to cheat.simple"
msgstr "作弊碼已加入至 cheat.simple"
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:442
msgid ""
"Unable to write file\n"
"Ensure that cheatpath folder exists"
@@ -2884,295 +2803,174 @@ msgstr ""
"無法寫入檔案\n"
"ç¢ºèª cheatpath 資料夾是å¦å­˜åœ¨"
-#: plugins/cheatfind/init.lua:486
+#: plugins/cheatfind/init.lua:451
msgid "Cancel"
msgstr "å–æ¶ˆ"
-#: plugins/cheatfind/init.lua:491
+#: plugins/cheatfind/init.lua:456
msgid "CPU or RAM"
msgstr "CPU 或 RAM"
-#: plugins/cheatfind/init.lua:495
+#: plugins/cheatfind/init.lua:460
msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr "此變更僅當é¸å®š \"é–‹å§‹æ–°æœå°‹\" 時生效"
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
-msgstr ""
+#: plugins/cheatfind/init.lua:479
+msgid "Data cleared and current state saved"
+msgstr "清除資料åŠå„²å­˜ç›®å‰ç‹€æ…‹"
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:551
+#: plugins/cheatfind/init.lua:487
msgid "Start new search"
msgstr "é–‹å§‹æ–°æœå°‹"
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
-msgstr ""
+#: plugins/cheatfind/init.lua:497
+msgid "Current state saved"
+msgstr "儲存目å‰ç‹€æ…‹"
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
-msgstr ""
+#: plugins/cheatfind/init.lua:504
+msgid "Save current -- #"
+msgstr "å„²å­˜ç›®å‰ -- #"
-#: plugins/cheatfind/init.lua:614
+#: plugins/cheatfind/init.lua:536
#, lua-format
msgid "%d total matches found"
msgstr "ç¸½è¨ˆç™¼ç¾ %d 符åˆ"
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
-msgstr ""
+#: plugins/cheatfind/init.lua:543
+msgid "Compare"
+msgstr "比較"
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
-msgstr ""
+#: plugins/cheatfind/init.lua:546
+msgid "Left operand"
+msgstr "å·¦é‹ç®—å…ƒ"
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
-msgstr ""
+#: plugins/cheatfind/init.lua:549
+msgid "Current"
+msgstr "ç›®å‰"
+
+#: plugins/cheatfind/init.lua:554
+msgid "Operator"
+msgstr "é‹ç®—å­"
+
+#: plugins/cheatfind/init.lua:561
+msgid "Left less than right, value is difference"
+msgstr "左值尿–¼å³å€¼ï¼Œå€¼æ”¹è®Š"
-#: plugins/cheatfind/init.lua:676
+#: plugins/cheatfind/init.lua:563
+msgid "Left greater than right, value is difference"
+msgstr "左值大於å³å€¼ï¼Œå€¼æ”¹è®Š"
+
+#: plugins/cheatfind/init.lua:565
msgid "Left equal to right"
msgstr "左值等於å³å€¼"
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
-msgstr ""
+#: plugins/cheatfind/init.lua:567
+msgid "Left not equal to right, value is difference"
+msgstr "左值ä¸ç­‰æ–¼å³å€¼ï¼Œå€¼æ”¹è®Š"
-#: plugins/cheatfind/init.lua:680
+#: plugins/cheatfind/init.lua:569
msgid "Left equal to right with bitmask"
msgstr "ä½å…ƒé®ç½©ä¸‹å·¦å€¼ç­‰æ–¼å³å€¼"
-#: plugins/cheatfind/init.lua:682
+#: plugins/cheatfind/init.lua:571
msgid "Left not equal to right with bitmask"
msgstr "ä½å…ƒé®ç½©ä¸‹å·¦å€¼ä¸ç­‰æ–¼å³å€¼"
-#: plugins/cheatfind/init.lua:684
+#: plugins/cheatfind/init.lua:573
msgid "Left less than value"
msgstr "左值尿–¼åŽŸå€¼"
-#: plugins/cheatfind/init.lua:686
+#: plugins/cheatfind/init.lua:575
msgid "Left greater than value"
msgstr "左值大於原值"
-#: plugins/cheatfind/init.lua:688
+#: plugins/cheatfind/init.lua:577
msgid "Left equal to value"
msgstr "左值等於原值"
-#: plugins/cheatfind/init.lua:690
+#: plugins/cheatfind/init.lua:579
msgid "Left not equal to value"
msgstr "左值ä¸ç­‰æ–¼åŽŸå€¼"
-#: plugins/cheatfind/init.lua:712
+#: plugins/cheatfind/init.lua:590
+msgid "Right operand"
+msgstr "å³é‹ç®—å…ƒ"
+
+#: plugins/cheatfind/init.lua:598
msgid "Value"
msgstr "值"
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:719
+#: plugins/cheatfind/init.lua:602
msgid "Any"
msgstr "ä»»æ„"
-#: plugins/cheatfind/init.lua:725
+#: plugins/cheatfind/init.lua:608
msgid "Data Format"
msgstr "資料格å¼"
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:738
-msgid ""
-"Use this if you want to poke the Slot 1 value (eg. You started with "
-"something but lost it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:740
-msgid ""
-"Use this if you want to poke the Last Slot value (eg. You started without an "
-"item but finally got it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:816
+#: plugins/cheatfind/init.lua:632
msgid "Undo last search -- #"
msgstr "æ’¤éŠ·å‰æ¬¡æœå°‹ -- #"
-#: plugins/cheatfind/init.lua:820
+#: plugins/cheatfind/init.lua:636
msgid "Match block"
msgstr "符åˆå€å¡Š"
-#: plugins/cheatfind/init.lua:823
+#: plugins/cheatfind/init.lua:639
msgid "All"
msgstr "所有"
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheatfind/init.lua:690
#, lua-format
-msgid "Test Cheat %08X:%02X"
-msgstr ""
+msgid "Test cheat at addr %08X"
+msgstr "在ä½å€ %08X 測試作弊碼"
-#: plugins/cheatfind/init.lua:974
+#: plugins/cheatfind/init.lua:722
msgid "Cheat engine not available"
msgstr "作弊引擎ä¸å¯ç”¨"
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Test"
msgstr "測試"
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Write"
msgstr "寫入"
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Watch"
msgstr "監視"
-#: plugins/cheatfind/init.lua:1045
+#: plugins/cheatfind/init.lua:788
msgid "Page"
msgstr "é "
-#: plugins/cheatfind/init.lua:1063
+#: plugins/cheatfind/init.lua:806
msgid "Clear Watches"
msgstr "清除監視"
-#: plugins/cheatfind/init.lua:1078
+#: plugins/cheatfind/init.lua:816
msgid "Cheat Finder"
msgstr "作弊碼æœå°‹å™¨"
-#: plugins/portname/init.lua:103
+#: plugins/portname/init.lua:69
msgid "Save input names to file"
msgstr "儲存輸入å稱至檔案"
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
+#: plugins/portname/init.lua:100 plugins/portname/init.lua:105
+#: plugins/portname/init.lua:121
msgid "Failed to save input name file"
msgstr "儲存輸入å稱檔案時失敗"
-#: plugins/portname/init.lua:167
+#: plugins/portname/init.lua:133
#, lua-format
msgid "Input port name file saved to %s"
msgstr "輸入埠å稱檔案儲存至 %s"
-#: plugins/portname/init.lua:172
+#: plugins/portname/init.lua:138
msgid "Input ports"
msgstr "輸入埠"
-#~ msgid "Data cleared and current state saved"
-#~ msgstr "清除資料åŠå„²å­˜ç›®å‰ç‹€æ…‹"
-
-#~ msgid "Current state saved"
-#~ msgstr "儲存目å‰ç‹€æ…‹"
-
-#~ msgid "Save current -- #"
-#~ msgstr "å„²å­˜ç›®å‰ -- #"
-
-#~ msgid "Compare"
-#~ msgstr "比較"
-
-#~ msgid "Left operand"
-#~ msgstr "å·¦é‹ç®—å…ƒ"
-
-#~ msgid "Current"
-#~ msgstr "ç›®å‰"
-
-#~ msgid "Operator"
-#~ msgstr "é‹ç®—å­"
-
-#~ msgid "Left less than right, value is difference"
-#~ msgstr "左值尿–¼å³å€¼ï¼Œå€¼æ”¹è®Š"
-
-#~ msgid "Left greater than right, value is difference"
-#~ msgstr "左值大於å³å€¼ï¼Œå€¼æ”¹è®Š"
-
-#~ msgid "Left not equal to right, value is difference"
-#~ msgstr "左值ä¸ç­‰æ–¼å³å€¼ï¼Œå€¼æ”¹è®Š"
-
-#~ msgid "Right operand"
-#~ msgstr "å³é‹ç®—å…ƒ"
-
-#~ msgid "Test cheat at addr %08X"
-#~ msgstr "在ä½å€ %08X 測試作弊碼"
-
#~ msgid ""
#~ "ROM Audit Disabled\t\n"
#~ "Samples Audit Disabled\t\n"
diff --git a/language/Croatian/strings.po b/language/Croatian/strings.po
index 75e7451ce9c..d32e68c9f96 100644
--- a/language/Croatian/strings.po
+++ b/language/Croatian/strings.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MAME\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-03-17 13:37+1100\n"
+"POT-Creation-Date: 2018-04-28 15:32+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -18,1144 +18,1041 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
+#: src/frontend/mame/ui/auditmenu.cpp:96
#, c-format
-msgid "Screen #%d"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Enabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Disabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
-msgid "Marquees"
+#: src/frontend/mame/ui/auditmenu.cpp:99
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/auditmenu.cpp:104
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/auditmenu.cpp:130
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/auditmenu.cpp:142
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/selmenu.cpp:49 src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/selmenu.cpp:50 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/selmenu.cpp:51
+msgid "Control Panels"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/selmenu.cpp:52 src/frontend/mame/ui/dirmenu.cpp:50
+msgid "PCBs"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/selmenu.cpp:53 src/frontend/mame/ui/dirmenu.cpp:47
+msgid "Flyers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/selmenu.cpp:54 src/frontend/mame/ui/dirmenu.cpp:48
+msgid "Titles"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/selmenu.cpp:55 src/frontend/mame/ui/dirmenu.cpp:49
+msgid "Ends"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/selmenu.cpp:56
+msgid "Artwork Preview"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/selmenu.cpp:57 src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Bosses"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/selmenu.cpp:58 src/frontend/mame/ui/dirmenu.cpp:60
+msgid "Logos"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/selmenu.cpp:59 src/frontend/mame/ui/dirmenu.cpp:62
+msgid "Versus"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/selmenu.cpp:60
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/selmenu.cpp:61 src/frontend/mame/ui/dirmenu.cpp:59
+msgid "HowTo"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/selmenu.cpp:62 src/frontend/mame/ui/dirmenu.cpp:61
+msgid "Scores"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/selmenu.cpp:63 src/frontend/mame/ui/dirmenu.cpp:57
+msgid "Select"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/selmenu.cpp:64 src/frontend/mame/ui/dirmenu.cpp:51
+#: src/frontend/mame/ui/videoopt.cpp:224
+msgid "Marquees"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/selmenu.cpp:65 src/frontend/mame/ui/dirmenu.cpp:63
+msgid "Covers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/selmenu.cpp:69
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/selmenu.cpp:70
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/selmenu.cpp:71
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/selmenu.cpp:237
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/selmenu.cpp:343
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/selmenu.cpp:570 src/frontend/mame/ui/selmenu.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:311
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/selmenu.cpp:574
+#, c-format
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/selmenu.cpp:576
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/selmenu.cpp:581
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/selmenu.cpp:586
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/selmenu.cpp:591
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selmenu.cpp:596
+#, c-format
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selmenu.cpp:612
#, c-format
-msgid "Current %1$s Folders"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selmenu.cpp:614
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selmenu.cpp:619
+#: src/frontend/mame/ui/simpleselgame.cpp:330
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selmenu.cpp:621
+#: src/frontend/mame/ui/simpleselgame.cpp:332
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:623
+#: src/frontend/mame/ui/simpleselgame.cpp:334
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:627
+#: src/frontend/mame/ui/simpleselgame.cpp:338
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/selmenu.cpp:629
+#: src/frontend/mame/ui/simpleselgame.cpp:340
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/selmenu.cpp:631
+#: src/frontend/mame/ui/simpleselgame.cpp:342
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/selmenu.cpp:634
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/selmenu.cpp:636
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/selmenu.cpp:638
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/selmenu.cpp:640
+#: src/frontend/mame/ui/simpleselgame.cpp:351
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/selmenu.cpp:650
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/selmenu.cpp:1975
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/selmenu.cpp:1976
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/selmenu.cpp:2386 src/frontend/mame/ui/miscmenu.cpp:826
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/selmenu.cpp:2454
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/selmenu.cpp:2489
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/dirmenu.cpp:35
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/dirmenu.cpp:36
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
-#: src/frontend/mame/ui/slotopt.cpp:220
-msgid "[empty slot]"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/dirmenu.cpp:40
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/dirmenu.cpp:52
+msgid "Controls Panels"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/dirmenu.cpp:53
+msgid "Crosshairs"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Artworks"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks Preview"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "GameOver"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/dirmenu.cpp:116
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/dirmenu.cpp:167
+#, c-format
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/dirmenu.cpp:182
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/dirmenu.cpp:429
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/dirmenu.cpp:513
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/info.cpp:30
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "LAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/info.cpp:180
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/info.cpp:190
+msgid ""
+"There are known problems with this machine\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/info.cpp:195
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/info.cpp:200
+msgid "Completely unemulated features: "
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#, c-format
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#: src/frontend/mame/ui/info.cpp:267
+#, c-format
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/info.cpp:216
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/info.cpp:231
+msgid "Screen flipping in cocktail mode is not supported.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/info.cpp:233
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/info.cpp:235
+msgid ""
+"This machine was never completed. It may exhibit strange behavior or missing "
+"elements that are not bugs in the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/info.cpp:237
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/info.cpp:241
+msgid ""
+"\n"
+"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
+"complete. There is nothing you can do to fix this problem except wait for "
+"the developers to improve the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/info.cpp:243
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they requires physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/info.cpp:265
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/info.cpp:278
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/info.cpp:293
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:149
+#: src/frontend/mame/ui/info.cpp:342
msgid ""
-"The selected game is missing one or more required ROM or CHD images. Please "
-"select a different game.\n"
"\n"
-"Press any key to continue."
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:247
-#, c-format
+#: src/frontend/mame/ui/info.cpp:370
msgid ""
-"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
"\n"
-"If this is your first time using %2$s, please see the config.txt file in the "
-"docs directory for information on configuring %2$s."
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+"Video:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/info.cpp:374
+msgid "None\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/info.cpp:381
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:314
-#: src/frontend/mame/ui/selsoft.cpp:652 src/frontend/mame/ui/selsoft.cpp:659
+#: src/frontend/mame/ui/info.cpp:392
#, c-format
-msgid "%1$-.100s"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:317
-#: src/frontend/mame/ui/selmenu.cpp:618 src/frontend/mame/ui/selmenu.cpp:654
-#, c-format
-msgid "%1$s, %2$-.100s"
+#: src/frontend/mame/ui/info.cpp:392
+msgid "%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
+#: src/frontend/mame/ui/info.cpp:438
#, c-format
-msgid "Driver: %1$-.100s"
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+msgid "Screen '%1$s'"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/info.cpp:440
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/info.cpp:525
+msgid "Not supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/info.cpp:528
+msgid "Partially supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/info.cpp:536
+msgid "[empty]"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/optsmenu.cpp:193
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/optsmenu.cpp:206
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/optsmenu.cpp:207
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/optsmenu.cpp:210 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/optsmenu.cpp:213
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/optsmenu.cpp:216
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/optsmenu.cpp:228
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:337
-msgid "This driver requires images to be loaded in the following device(s): "
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
+msgid "Rewind"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1302
-#, c-format
-msgid ""
-"Are you sure you want to quit?\n"
-"\n"
-"Press ''%1$s'' to quit,\n"
-"Press ''%2$s'' to return to emulation."
+#: src/frontend/mame/ui/inputmap.cpp:53
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/inputmap.cpp:59
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
+#: src/frontend/mame/ui/inputmap.cpp:628 src/frontend/mame/ui/miscmenu.cpp:96
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/selector.cpp:116
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
+#: src/frontend/mame/ui/selector.cpp:124
#, c-format
-msgid "Overclock %1$s sound"
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/filesel.cpp:256
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/swlist.cpp:88
+msgid "[file manager]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/swlist.cpp:228
+msgid "Switch Item Ordering"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
+#: src/frontend/mame/ui/swlist.cpp:259
#, c-format
-msgid "%1$s Horiz Stretch"
+msgid "Switched Order: entries now ordered by %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "shortname"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "description"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/swlist.cpp:389
+msgid "[compatible lists]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/datmenu.cpp:80
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/datmenu.cpp:362
+msgid "Revision: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/simpleselgame.cpp:149
+msgid ""
+"The selected game is missing one or more required ROM or CHD images. Please "
+"select a different game.\n"
+"\n"
+"Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
+#: src/frontend/mame/ui/simpleselgame.cpp:241
#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+msgid ""
+"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
+"\n"
+"If this is your first time using %2$s, please see the config.txt file in the "
+"docs directory for information on configuring %2$s."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/simpleselgame.cpp:271
+#: src/frontend/mame/ui/selgame.cpp:436
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/simpleselgame.cpp:292
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/simpleselgame.cpp:294
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
+#: src/frontend/mame/ui/simpleselgame.cpp:308
+#: src/frontend/mame/ui/selsoft.cpp:564 src/frontend/mame/ui/selsoft.cpp:571
#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/simpleselgame.cpp:314
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
+#: src/frontend/mame/ui/videoopt.cpp:56
#, c-format
-msgid "Crosshair Offset %1$s"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/videoopt.cpp:208
+msgid "Backdrops"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Enabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Disabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
-#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
-#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
-#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
-#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
-#: src/frontend/mame/ui/ui.cpp:1927
-#, c-format
-msgid "%1$.3f"
+#: src/frontend/mame/ui/videoopt.cpp:212
+msgid "Overlays"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
-#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
-#, c-format
-msgid "%1$1.2f"
+#: src/frontend/mame/ui/videoopt.cpp:216
+msgid "Bezels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:220
+msgid "CPanels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "View"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cropped"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Full"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1047
+msgid "No"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
-msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1047
+msgid "Yes"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
-msgid ""
-"Cheat Comment:\n"
-"%s"
+#: src/frontend/mame/ui/filecreate.cpp:171
+msgid "New Image Name:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/filecreate.cpp:177
+msgid "Image Format:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/filecreate.cpp:183
+msgid "Create"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/filecreate.cpp:266
+msgid "Select image format"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Keyboard Mode:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Natural"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Emulated"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
+#: src/frontend/mame/ui/miscmenu.cpp:236
#, c-format
msgid ""
-"%s\n"
-" added to favorites list."
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
+#: src/frontend/mame/ui/miscmenu.cpp:238
#, c-format
msgid ""
-"%s\n"
-" removed from favorites list."
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/miscmenu.cpp:242
+#, c-format
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
+"Tickets dispensed: %1$d\n"
"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
+#: src/frontend/mame/ui/miscmenu.cpp:253
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/miscmenu.cpp:253
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
-#, c-format
-msgid "Driver: \"%1$s\" software list "
+#: src/frontend/mame/ui/miscmenu.cpp:256
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
-#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+#: src/frontend/mame/ui/miscmenu.cpp:503
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/miscmenu.cpp:601
#, c-format
-msgid "Search: %1$s_"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
-msgid "Unfiltered"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
-msgid "Available"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
-msgid "Unavailable"
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
-msgid "Working"
+#: src/frontend/mame/ui/miscmenu.cpp:627
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
-msgid "Not Working"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
-msgid "Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:655
+msgid "Export list in XML format (like -listxml)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
-msgid "Not Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:656
+msgid "Export list in XML format (like -listxml, but exclude devices)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
-msgid "Category"
+#: src/frontend/mame/ui/miscmenu.cpp:657
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
-msgid "Favorites"
+#: src/frontend/mame/ui/miscmenu.cpp:710 src/frontend/mame/ui/ui.cpp:2230
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/miscmenu.cpp:760 src/frontend/mame/ui/utils.cpp:66
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
-msgid "Not BIOS"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
-msgid "Parents"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
-msgid "Clones"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:73
-msgid "Manufacturer"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
-msgid "Year"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:75
-msgid "Save Supported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:76
-msgid "Save Unsupported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:77
-msgid "CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:78
-msgid "No CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:79
-msgid "Vertical Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:80
-msgid "Horizontal Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
-msgid "Custom Filter"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:91
-msgid "Publisher"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:92
-msgid "Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:764
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
-msgid "Partially Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:767
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
-msgid "Unsupported"
+#: src/frontend/mame/ui/miscmenu.cpp:776 src/frontend/mame/ui/mainmenu.cpp:145
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
-msgid "Release Region"
+#: src/frontend/mame/ui/miscmenu.cpp:778 src/frontend/mame/ui/mainmenu.cpp:147
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
-msgid "Device Type"
+#: src/frontend/mame/ui/miscmenu.cpp:781
+msgid "Save machine configuration"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
-msgid "Software List"
+#: src/frontend/mame/ui/miscmenu.cpp:792
+msgid "Configure machine:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
-msgid "<set up filters>"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:736
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:551 plugins/cheatfind/init.lua:619
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
-msgid "Select custom filters:"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:739
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:554 plugins/cheat/init.lua:563
+#: plugins/cheatfind/init.lua:616
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
-#, c-format
-msgid "Filter %1$u"
+#: src/frontend/mame/ui/miscmenu.cpp:909 src/frontend/mame/ui/selgame.cpp:441
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
-msgid "Remove last filter"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
-msgid "Add filter"
+#: src/frontend/mame/ui/barcode.cpp:78
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
-msgid "Select category:"
+#: src/frontend/mame/ui/barcode.cpp:119
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
-msgid "[no category INI files]"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:99
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
-msgid "[no groups in INI file]"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
-msgid "No category INI files found"
+#: src/frontend/mame/ui/mainmenu.cpp:60
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
-msgid "File"
+#: src/frontend/mame/ui/mainmenu.cpp:62
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
-msgid "No groups found in category file"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
-msgid "Group"
+#: src/frontend/mame/ui/mainmenu.cpp:68
+msgid "Dip Switches"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
-msgid "Include clones"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
+#: src/frontend/mame/ui/mainmenu.cpp:78
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/mainmenu.cpp:85
+msgid "Image Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/mainmenu.cpp:96
+msgid "Tape Control"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/mainmenu.cpp:102
+msgid "BIOS Selection"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/mainmenu.cpp:106
+msgid "Slot Devices"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
-#, c-format
-msgid "%s [internal]"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Barcode Reader"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:203 src/frontend/mame/ui/miscmenu.cpp:97
-#: src/frontend/mame/ui/inputmap.cpp:615
-msgid "Reset"
+#: src/frontend/mame/ui/mainmenu.cpp:114
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/mainmenu.cpp:118
+msgid "Keyboard Mode"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/mainmenu.cpp:121
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/mainmenu.cpp:124 src/frontend/mame/ui/submenu.cpp:101
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/mainmenu.cpp:128
+msgid "Crosshair Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/mainmenu.cpp:132 plugins/cheat/init.lua:735
+msgid "Cheat"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:762
-#: plugins/cheat/init.lua:569 plugins/cheatfind/init.lua:792
-#: plugins/cheatfind/init.lua:803
-msgid "On"
+#: src/frontend/mame/ui/mainmenu.cpp:135
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:765
-#: plugins/cheat/init.lua:572 plugins/cheat/init.lua:581
-#: plugins/cheatfind/init.lua:789 plugins/cheatfind/init.lua:800
-msgid "Off"
+#: src/frontend/mame/ui/mainmenu.cpp:139
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/mainmenu.cpp:154
+msgid "Select New Machine"
msgstr ""
#: src/frontend/mame/ui/custui.cpp:31
@@ -1378,1281 +1275,1303 @@ msgstr ""
msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/submenu.cpp:22
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/submenu.cpp:23
+msgid "Re-select last machine played"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/submenu.cpp:24
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:26
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:27
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:28
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:29
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:30
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
-#, c-format
-msgid "%s.txt saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/submenu.cpp:45
+msgid "Refresh speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/submenu.cpp:47
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/submenu.cpp:49
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
-msgid "Configure Machine"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
-#, c-format
-msgid "Romset\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
-#, c-format
-msgid "Year\t%1$s\n"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
-#, c-format
-msgid "Manufacturer\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
-#, c-format
-msgid "Driver is Clone of\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1044
-msgid "Driver is Parent\t\n"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
-msgid "Analog Controls\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Artwork Crop"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
-msgid "Keyboard Inputs\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Use Backdrops"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
-msgid "Overall\tNOT WORKING\n"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Use Overlays"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
-msgid "Overall\tUnemulated Protection\n"
+#: src/frontend/mame/ui/submenu.cpp:60
+msgid "Use Bezels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
-msgid "Overall\tWorking\n"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Use Control Panels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
-msgid "Graphics\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:62
+msgid "Use Marquees"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
-msgid "Graphics\tWrong Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
-msgid "Graphics\tImperfect Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
-msgid "Graphics\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
-msgid "Graphics\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Bilinear snapshot"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
-msgid "Sound\tNone\n"
+#: src/frontend/mame/ui/submenu.cpp:69
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
-msgid "Sound\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
-msgid "Sound\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:72
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
-msgid "Sound\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
-msgid "Capture\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
-msgid "Capture\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
-msgid "Camera\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
-msgid "Camera\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
-msgid "Microphone\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
-msgid "Microphone\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:79
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
-msgid "Controls\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
-msgid "Controls\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
-msgid "Keyboard\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Joystick saturation"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
-msgid "Keyboard\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Natural keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
-msgid "Mouse\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
-msgid "Mouse\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
-msgid "Media\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
-msgid "Media\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Lightgun Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
-msgid "Disk\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Trackball Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
-msgid "Disk\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
-msgid "Printer\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
-msgid "Printer\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
-msgid "Mag. Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:95
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
-msgid "Mag. Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:96
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
-msgid "Punch Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:97
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
-msgid "Punch Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
-msgid "Mag. Drum\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:103
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
-msgid "Mag. Drum\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
-msgid "(EP)ROM\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
-msgid "(EP)ROM\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
-msgid "Communications\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:109
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
-msgid "Communications\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:110
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
-msgid "LAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:111
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
-msgid "LAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:112
+msgid "Enforce Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
-msgid "WAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:113
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
-msgid "WAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:114
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
-msgid "Timing\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
-msgid "Timing\tImperfect\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tYes\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Select position to load from"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tNo\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tYes\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Select position to save to"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tNo\n"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:309 src/frontend/mame/ui/selsoft.cpp:211
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:314 src/frontend/mame/ui/selgame.cpp:320
+#: src/frontend/mame/ui/selsoft.cpp:216
+#, c-format
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:437
+msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:849
+#, c-format
+msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:850
+#, c-format
+msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:851
+#, c-format
+msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:855
+#, c-format
+msgid "Driver is Clone of\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:857
+msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tVertical\n"
+#: src/frontend/mame/ui/selgame.cpp:860
+msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tHorizontal\n"
+#: src/frontend/mame/ui/selgame.cpp:862
+msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:865
+msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:867
+msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
-msgid "ROM Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:869
+msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
-msgid "ROM Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:872
+msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
-msgid "Samples Audit Result\tNone Needed\n"
+#: src/frontend/mame/ui/selgame.cpp:874
+msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
-msgid "Samples Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:876
+msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
-msgid "Samples Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:878
+msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
-msgid ""
-"ROM Audit \tDisabled\n"
-"Samples Audit \tDisabled\n"
+#: src/frontend/mame/ui/selgame.cpp:880
+msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
+#: src/frontend/mame/ui/selgame.cpp:883
+msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1424
-#, c-format
-msgid "Romset: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:885
+msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
-#, c-format
-msgid "System: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:887
+msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1465
-msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
+#: src/frontend/mame/ui/selgame.cpp:889
+msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
+#: src/frontend/mame/ui/selgame.cpp:892
+msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
+#: src/frontend/mame/ui/selgame.cpp:894
+msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
+#: src/frontend/mame/ui/selgame.cpp:897
+msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
+#: src/frontend/mame/ui/selgame.cpp:899
+msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
+#: src/frontend/mame/ui/selgame.cpp:902
+msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selgame.cpp:904
+msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selgame.cpp:907
+msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/selgame.cpp:909
+msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/selgame.cpp:912
+msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/selgame.cpp:914
+msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/selgame.cpp:917
+msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/selgame.cpp:919
+msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/selgame.cpp:922
+msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/selgame.cpp:924
+msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/selgame.cpp:927
+msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/selgame.cpp:929
+msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/selgame.cpp:932
+msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/selgame.cpp:934
+msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/selgame.cpp:937
+msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/selgame.cpp:939
+msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/selgame.cpp:970
+msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/selgame.cpp:972
+msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/selgame.cpp:975
+msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/selgame.cpp:977
+msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/selgame.cpp:979
+msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/selgame.cpp:983
+msgid ""
+"ROM Audit \tDisabled\n"
+"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/selgame.cpp:1167
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/selgame.cpp:1183 src/frontend/mame/ui/selsoft.cpp:555
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/selgame.cpp:1185 src/frontend/mame/ui/selsoft.cpp:557
+#, c-format
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/selgame.cpp:1195
+#, c-format
+msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/selgame.cpp:1202
+#, c-format
+msgid "System: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/selgame.cpp:1239
+msgid ""
+"The selected machine is missing one or more required ROM or CHD images. "
+"Please select a different machine.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/selgame.cpp:1245 src/frontend/mame/ui/selsoft.cpp:462
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/utils.cpp:57 src/frontend/mame/ui/utils.cpp:81
+msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/utils.cpp:58 src/frontend/mame/ui/utils.cpp:82
+msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/utils.cpp:59 src/frontend/mame/ui/utils.cpp:83
+msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/utils.cpp:60
+msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/utils.cpp:61
+msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/utils.cpp:62
+msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:63
+msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:64
+msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:65
+msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:67
+msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:84
+msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/utils.cpp:85
+msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:70
+msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:86
+msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/utils.cpp:72
+msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/utils.cpp:73
+msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/utils.cpp:74
+msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/utils.cpp:75
+msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/utils.cpp:76
+msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/utils.cpp:77
+msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/utils.cpp:78 src/frontend/mame/ui/utils.cpp:94
+msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/utils.cpp:87
+msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/utils.cpp:88
+msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/utils.cpp:89
+msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/utils.cpp:90
+msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/utils.cpp:91
+msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:43
-#, c-format
-msgid ""
-"[This option is currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"The selected option enables the following items:\n"
+#: src/frontend/mame/ui/utils.cpp:92
+msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:44
-#, c-format
-msgid ""
-"[This option is NOT currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"If you select this option, the following items will be enabled:\n"
+#: src/frontend/mame/ui/utils.cpp:93
+msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/utils.cpp:244
+msgid "<set up filters>"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:352
+msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/utils.cpp:503
#, c-format
-msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
-msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:518
+msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %3$d.%4$06d MHz\n"
+#: src/frontend/mame/ui/utils.cpp:520
+msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:959
+msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/utils.cpp:990
+msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/utils.cpp:998
+msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:103
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1032
+msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1037
+msgid "File"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/utils.cpp:1041
+msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
-#, c-format
-msgid " %1$d×%2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1046
+msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1047
+msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:168
-#, c-format
+#: src/frontend/mame/ui/selsoft.cpp:456
msgid ""
-"* BIOS settings:\n"
-" %1$d options [default: %2$s]\n"
+"The selected software is missing one or more required files. Please select a "
+"different software.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:208 src/frontend/mame/ui/devopt.cpp:224
-#: src/frontend/mame/ui/devopt.cpp:269
+#: src/frontend/mame/ui/selsoft.cpp:549
#, c-format
-msgid " %1$s [default: %2$s]\n"
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
+#: src/frontend/mame/ui/selsoft.cpp:550
#, c-format
-msgid " %1$s\n"
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:260
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:419
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/filesel.cpp:515
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:516
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:518
+msgid "Read-write"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
-#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:519
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:520
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:117
+msgid "Cannot save over directory"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:150
+msgid ""
+"The software selected is missing one or more required ROM or CHD images. "
+"Please select a different one."
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:294
+msgid "Return to Machine"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
-#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:299 src/frontend/mame/ui/menu.cpp:301
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+#: src/frontend/mame/ui/menu.cpp:306 src/frontend/mame/ui/menu.cpp:308
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
-#, c-format
-msgid " %1$s [tag: %2$s]\n"
+#: src/frontend/mame/ui/menu.cpp:742
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
+#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:653
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+#: src/frontend/mame/ui/cheatopt.cpp:105
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/cheatopt.cpp:136
+msgid "Autofire Settings"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:581
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:582
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
+#: src/frontend/mame/ui/cheatopt.cpp:273
+msgid "Autofire Status"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
+#: src/frontend/mame/ui/cheatopt.cpp:316
+msgid "No buttons found on this machine!"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+#: src/frontend/mame/ui/cheatopt.cpp:327 src/frontend/mame/ui/cheatopt.cpp:331
+msgid "Autofire Delay"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
-msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
+#: src/frontend/mame/ui/ui.cpp:337
+msgid "This driver requires images to be loaded in the following device(s): "
msgstr ""
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
+#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
+msgid "Keyboard Emulation Status"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
+#: src/frontend/mame/ui/ui.cpp:1086
+msgid "Mode: PARTIAL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
+#: src/frontend/mame/ui/ui.cpp:1087
+msgid "UI: Enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
+#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
+msgid "**Use ScrLock to toggle**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
+#: src/frontend/mame/ui/ui.cpp:1096
+msgid "Mode: FULL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: src/frontend/mame/ui/ui.cpp:1097
+msgid "UI: Disabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
+#: src/frontend/mame/ui/ui.cpp:1249
+msgid "Autofire can't be enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
+#: src/frontend/mame/ui/ui.cpp:1302
+#, c-format
+msgid ""
+"Are you sure you want to quit?\n"
+"\n"
+"Press ''%1$s'' to quit,\n"
+"Press ''%2$s'' to return to emulation."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
+#: src/frontend/mame/ui/ui.cpp:1374
+msgid "Master Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
+#: src/frontend/mame/ui/ui.cpp:1383
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/ui.cpp:1407
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/ui.cpp:1416
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/ui.cpp:1437
+#, c-format
+msgid "%1$s Refresh Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, c-format
+msgid "%1$s Brightness"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1444
+#, c-format
+msgid "%1$s Contrast"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1446
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/ui.cpp:1450
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/ui.cpp:1452
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/ui.cpp:1454
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/ui.cpp:1456
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/ui.cpp:1475
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/ui.cpp:1477
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/ui.cpp:1479
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
-msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+#: src/frontend/mame/ui/ui.cpp:1481
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:198
-msgid ""
-"There are known problems with this machine\n"
-"\n"
+#: src/frontend/mame/ui/ui.cpp:1493
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/ui.cpp:1494
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/ui.cpp:1495
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
+#: src/frontend/mame/ui/ui.cpp:1496
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#: src/frontend/mame/ui/info.cpp:275
+#: src/frontend/mame/ui/ui.cpp:1511
#, c-format
-msgid ", %s"
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
+#: src/frontend/mame/ui/ui.cpp:1513
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:243
-msgid ""
-"This machine was never completed. It may exhibit strange behavior or missing "
-"elements that are not bugs in the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1601
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:245
-msgid ""
-"This machine has no sound hardware, MAME will produce no sounds, this is "
-"expected behaviour.\n"
+#: src/frontend/mame/ui/ui.cpp:1645
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:249
-msgid ""
-"\n"
-"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
-"complete. There is nothing you can do to fix this problem except wait for "
-"the developers to improve the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1661
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:251
-msgid ""
-"\n"
-"Elements of this machine cannot be emulated as they requires physical "
-"interaction or consist of mechanical devices. It is not possible to fully "
-"experience this machine.\n"
+#: src/frontend/mame/ui/ui.cpp:1685
+#, c-format
+msgid "%1$.3ffps"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
+#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
+#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
+#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
+#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
+#: src/frontend/mame/ui/ui.cpp:1927
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
+#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/ui.cpp:2005
#, c-format
-msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/ui.cpp:2226
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " COLORS"
+msgstr ""
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:39
#, c-format
-msgid "%1$s: %2$s\n"
+msgid ""
+"[This option is currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"The selected option enables the following items:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+#: src/frontend/mame/ui/devopt.cpp:40
+#, c-format
+msgid ""
+"[This option is NOT currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"If you select this option, the following items will be enabled:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:48
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
#, c-format
-msgid "Screen '%1$s'"
+msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
+msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:85
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:90
+#, c-format
+msgid " Screen '%1$s': Vector\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:99
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:100
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:113
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:133
+#, c-format
+msgid " %1$d×%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:164
+#, c-format
+msgid ""
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:204 src/frontend/mame/ui/devopt.cpp:220
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
+#: src/frontend/mame/ui/devopt.cpp:209 src/frontend/mame/ui/devopt.cpp:225
#, c-format
-msgid "Software is clone of: %1$-.100s"
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: src/frontend/mame/ui/devopt.cpp:230
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: src/frontend/mame/ui/devopt.cpp:232
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: src/frontend/mame/ui/devopt.cpp:234
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: src/frontend/mame/ui/devopt.cpp:236
+#, c-format
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
+#: src/frontend/mame/ui/devopt.cpp:238
#, c-format
-msgid "romset: %1$-.100s"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
+#: src/frontend/mame/ui/devopt.cpp:240
#, c-format
-msgid "Driver is clone of: %1$-.100s"
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: src/frontend/mame/ui/devopt.cpp:242
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
+#: src/frontend/mame/ui/devopt.cpp:244
#, c-format
-msgid "%1$s %2$s"
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: src/frontend/mame/ui/devopt.cpp:246
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: src/frontend/mame/ui/devopt.cpp:248
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: src/frontend/mame/ui/devopt.cpp:257
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: src/frontend/mame/ui/devopt.cpp:263
+msgid "* Slot Options:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:270
+msgid "[None]\n"
msgstr ""
#: plugins/timer/init.lua:94
@@ -2671,51 +2590,51 @@ msgstr ""
msgid "Timer"
msgstr ""
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:510
msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheat/init.lua:534
+#: plugins/cheat/init.lua:516
msgid "Press button for hotkey or wait to clear"
msgstr ""
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:528
msgid "None"
msgstr ""
-#: plugins/cheat/init.lua:551
+#: plugins/cheat/init.lua:533
msgid "Done"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:547 plugins/cheat/init.lua:561
msgid "Set"
msgstr ""
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:580
msgid "Set hotkeys"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:720
#, lua-format
msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:723 plugins/cheat/init.lua:781
#, lua-format
msgid "Activated: %s"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:785
#, lua-format
msgid "Enabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:790
#, lua-format
msgid "Disabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "%s added"
msgstr ""
@@ -2764,303 +2683,218 @@ msgstr ""
msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:404
+#: plugins/cheatfind/init.lua:373
msgid "Save Cheat"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Default"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Custom"
msgstr ""
-#: plugins/cheatfind/init.lua:408
+#: plugins/cheatfind/init.lua:377
msgid "Cheat Name"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/cheatfind/init.lua:383 plugins/cheatfind/init.lua:748
#, lua-format
msgid "Default name is %s"
msgstr ""
-#: plugins/cheatfind/init.lua:422
+#: plugins/cheatfind/init.lua:391
msgid "Player"
msgstr ""
-#: plugins/cheatfind/init.lua:427
+#: plugins/cheatfind/init.lua:396
msgid "Type"
msgstr ""
-#: plugins/cheatfind/init.lua:433
+#: plugins/cheatfind/init.lua:402
msgid "Save"
msgstr ""
-#: plugins/cheatfind/init.lua:462
+#: plugins/cheatfind/init.lua:429
#, lua-format
msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:472
+#: plugins/cheatfind/init.lua:437
msgid "Cheat added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:442
msgid ""
"Unable to write file\n"
"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/cheatfind/init.lua:486
+#: plugins/cheatfind/init.lua:451
msgid "Cancel"
msgstr ""
-#: plugins/cheatfind/init.lua:491
+#: plugins/cheatfind/init.lua:456
msgid "CPU or RAM"
msgstr ""
-#: plugins/cheatfind/init.lua:495
+#: plugins/cheatfind/init.lua:460
msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:479
+msgid "Data cleared and current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:487
+msgid "Start new search"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:497
+msgid "Current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:504
+msgid "Save current -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
+#: plugins/cheatfind/init.lua:536
#, lua-format
-msgid "Memory State saved to Slot %d"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:543
+msgid "Compare"
msgstr ""
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
+#: plugins/cheatfind/init.lua:546
+msgid "Left operand"
+msgstr ""
+
+#: plugins/cheatfind/init.lua:549
+msgid "Current"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:554
+msgid "Operator"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:561
+msgid "Left less than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:563
+msgid "Left greater than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:676
+#: plugins/cheatfind/init.lua:565
msgid "Left equal to right"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:567
+msgid "Left not equal to right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:680
+#: plugins/cheatfind/init.lua:569
msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:682
+#: plugins/cheatfind/init.lua:571
msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:684
+#: plugins/cheatfind/init.lua:573
msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:686
+#: plugins/cheatfind/init.lua:575
msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:688
+#: plugins/cheatfind/init.lua:577
msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:690
+#: plugins/cheatfind/init.lua:579
msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/cheatfind/init.lua:590
+msgid "Right operand"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/cheatfind/init.lua:598
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:719
+#: plugins/cheatfind/init.lua:602
msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:725
+#: plugins/cheatfind/init.lua:608
msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:738
-msgid ""
-"Use this if you want to poke the Slot 1 value (eg. You started with "
-"something but lost it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:740
-msgid ""
-"Use this if you want to poke the Last Slot value (eg. You started without an "
-"item but finally got it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:816
+#: plugins/cheatfind/init.lua:632
msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:820
+#: plugins/cheatfind/init.lua:636
msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:823
+#: plugins/cheatfind/init.lua:639
msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheatfind/init.lua:690
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Test cheat at addr %08X"
msgstr ""
-#: plugins/cheatfind/init.lua:974
+#: plugins/cheatfind/init.lua:722
msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
+#: plugins/cheatfind/init.lua:788
msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
+#: plugins/cheatfind/init.lua:806
msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
+#: plugins/cheatfind/init.lua:816
msgid "Cheat Finder"
msgstr ""
-#: plugins/portname/init.lua:103
+#: plugins/portname/init.lua:69
msgid "Save input names to file"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
+#: plugins/portname/init.lua:100 plugins/portname/init.lua:105
+#: plugins/portname/init.lua:121
msgid "Failed to save input name file"
msgstr ""
-#: plugins/portname/init.lua:167
+#: plugins/portname/init.lua:133
#, lua-format
msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/portname/init.lua:172
+#: plugins/portname/init.lua:138
msgid "Input ports"
msgstr ""
diff --git a/language/Czech/strings.po b/language/Czech/strings.po
index ef2ef0ebd7b..4031e5ea9ed 100644
--- a/language/Czech/strings.po
+++ b/language/Czech/strings.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MAME\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-03-17 13:37+1100\n"
+"POT-Creation-Date: 2018-04-28 15:32+1000\n"
"PO-Revision-Date: 2016-04-01 16:38+0200\n"
"Last-Translator: Karel Brejcha <pankabre@gmail.com>\n"
"Language-Team: MAME Language Team\n"
@@ -18,61 +18,236 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"X-Generator: Poedit 1.8.7\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
+#: src/frontend/mame/ui/auditmenu.cpp:96
#, c-format
-msgid "Screen #%d"
-msgstr "Obraz #%d"
+msgid "Audit ROMs for %1$u machines marked unavailable?"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr "Rotace"
+#: src/frontend/mame/ui/auditmenu.cpp:99
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr "Pozadí"
+#: src/frontend/mame/ui/auditmenu.cpp:104
+#, c-format
+msgid "(results will be saved to %1$s)"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Enabled"
-msgstr "Aktivováno"
+#: src/frontend/mame/ui/auditmenu.cpp:130
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Disabled"
-msgstr "Deaktivováno"
+#: src/frontend/mame/ui/auditmenu.cpp:142
+msgid "Start Audit"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr "Popředí"
+#: src/frontend/mame/ui/selmenu.cpp:49 src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Snapshots"
+msgstr "Náhledy"
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr "Bezels"
+#: src/frontend/mame/ui/selmenu.cpp:50 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cabinets"
+msgstr "Kastle"
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
-msgstr "CPanely"
+#: src/frontend/mame/ui/selmenu.cpp:51
+msgid "Control Panels"
+msgstr "Panely ovládání"
+
+#: src/frontend/mame/ui/selmenu.cpp:52 src/frontend/mame/ui/dirmenu.cpp:50
+msgid "PCBs"
+msgstr "Desky spojů"
+
+#: src/frontend/mame/ui/selmenu.cpp:53 src/frontend/mame/ui/dirmenu.cpp:47
+msgid "Flyers"
+msgstr "Plakáty"
+
+#: src/frontend/mame/ui/selmenu.cpp:54 src/frontend/mame/ui/dirmenu.cpp:48
+msgid "Titles"
+msgstr "Titulky"
+
+#: src/frontend/mame/ui/selmenu.cpp:55 src/frontend/mame/ui/dirmenu.cpp:49
+msgid "Ends"
+msgstr "ZakonÄení"
+
+#: src/frontend/mame/ui/selmenu.cpp:56
+msgid "Artwork Preview"
+msgstr "Náhled artworku"
+
+#: src/frontend/mame/ui/selmenu.cpp:57 src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Bosses"
+msgstr "Bossové"
+
+#: src/frontend/mame/ui/selmenu.cpp:58 src/frontend/mame/ui/dirmenu.cpp:60
+msgid "Logos"
+msgstr "Loga"
+
+#: src/frontend/mame/ui/selmenu.cpp:59 src/frontend/mame/ui/dirmenu.cpp:62
+msgid "Versus"
+msgstr "Versus"
+
+#: src/frontend/mame/ui/selmenu.cpp:60
+msgid "Game Over"
+msgstr "Konec hry"
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
+#: src/frontend/mame/ui/selmenu.cpp:61 src/frontend/mame/ui/dirmenu.cpp:59
+msgid "HowTo"
+msgstr "Jak na to"
+
+#: src/frontend/mame/ui/selmenu.cpp:62 src/frontend/mame/ui/dirmenu.cpp:61
+msgid "Scores"
+msgstr "Skóre"
+
+#: src/frontend/mame/ui/selmenu.cpp:63 src/frontend/mame/ui/dirmenu.cpp:57
+msgid "Select"
+msgstr "Výběr"
+
+#: src/frontend/mame/ui/selmenu.cpp:64 src/frontend/mame/ui/dirmenu.cpp:51
+#: src/frontend/mame/ui/videoopt.cpp:224
msgid "Marquees"
msgstr "Marquees"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
-msgstr "Pohled"
+#: src/frontend/mame/ui/selmenu.cpp:65 src/frontend/mame/ui/dirmenu.cpp:63
+msgid "Covers"
+msgstr "Obaly"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
-msgstr "Ořezaný"
+#: src/frontend/mame/ui/selmenu.cpp:69
+msgid "Add or remove favorites"
+msgstr "Přidat nebo odebrat z oblíbených"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
-msgstr "Plný"
+#: src/frontend/mame/ui/selmenu.cpp:70
+msgid "Export displayed list to file"
+msgstr "Export zobrazeného seznamu do souboru"
+
+#: src/frontend/mame/ui/selmenu.cpp:71
+msgid "Show DATs view"
+msgstr "Zobraz DAT pohled"
+
+#: src/frontend/mame/ui/selmenu.cpp:237
+msgid "Software part selection:"
+msgstr "VýbÄ›r Äásti software:"
+
+#: src/frontend/mame/ui/selmenu.cpp:343
+msgid "BIOS selection:"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:570 src/frontend/mame/ui/selmenu.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:311
+#, c-format
+msgid "%1$s, %2$-.100s"
+msgstr "%1$s, %2$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:574
+#, c-format
+msgid "Software is clone of: %1$-.100s"
+msgstr "Software je klon: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:576
+msgid "Software is parent"
+msgstr "Software je parent"
+
+#: src/frontend/mame/ui/selmenu.cpp:581
+msgid "Supported: No"
+msgstr "Podpora: Ne"
+
+#: src/frontend/mame/ui/selmenu.cpp:586
+msgid "Supported: Partial"
+msgstr "Podpora: ČásteÄnÄ›"
+
+#: src/frontend/mame/ui/selmenu.cpp:591
+msgid "Supported: Yes"
+msgstr "Podpora: Ano"
+
+#: src/frontend/mame/ui/selmenu.cpp:596
+#, c-format
+msgid "romset: %1$-.100s"
+msgstr "romset: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:612
+#, c-format
+msgid "Driver is clone of: %1$-.100s"
+msgstr "Driver je klon: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:614
+msgid "Driver is parent"
+msgstr "Driver je parent"
+
+#: src/frontend/mame/ui/selmenu.cpp:619
+#: src/frontend/mame/ui/simpleselgame.cpp:330
+msgid "Overall: NOT WORKING"
+msgstr "CelkovÄ›: NEFUNGUJE"
+
+#: src/frontend/mame/ui/selmenu.cpp:621
+#: src/frontend/mame/ui/simpleselgame.cpp:332
+msgid "Overall: Unemulated Protection"
+msgstr "Celkově: Neemulovaná ochrana"
+
+#: src/frontend/mame/ui/selmenu.cpp:623
+#: src/frontend/mame/ui/simpleselgame.cpp:334
+msgid "Overall: Working"
+msgstr "CelkovÄ›: Funguje"
+
+#: src/frontend/mame/ui/selmenu.cpp:627
+#: src/frontend/mame/ui/simpleselgame.cpp:338
+msgid "Graphics: Unimplemented, "
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:629
+#: src/frontend/mame/ui/simpleselgame.cpp:340
+msgid "Graphics: Imperfect, "
+msgstr "Grafika: Nedokonalá, "
+
+#: src/frontend/mame/ui/selmenu.cpp:631
+#: src/frontend/mame/ui/simpleselgame.cpp:342
+msgid "Graphics: OK, "
+msgstr "Grafika: OK, "
+
+#: src/frontend/mame/ui/selmenu.cpp:634
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+msgid "Sound: None"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:636
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+msgid "Sound: Unimplemented"
+msgstr "Zvuk: Neimplementován"
+
+#: src/frontend/mame/ui/selmenu.cpp:638
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+msgid "Sound: Imperfect"
+msgstr "Zvuk: Nedokonalý"
+
+#: src/frontend/mame/ui/selmenu.cpp:640
+#: src/frontend/mame/ui/simpleselgame.cpp:351
+msgid "Sound: OK"
+msgstr "Zvuk: OK"
+
+#: src/frontend/mame/ui/selmenu.cpp:650
+#, c-format
+msgid "%1$s %2$s"
+msgstr "%1$s %2$s"
+
+#: src/frontend/mame/ui/selmenu.cpp:1975
+msgid "Images"
+msgstr "Obrázky"
+
+#: src/frontend/mame/ui/selmenu.cpp:1976
+msgid "Infos"
+msgstr "Informace"
+
+#: src/frontend/mame/ui/selmenu.cpp:2386 src/frontend/mame/ui/miscmenu.cpp:826
+msgid " (default)"
+msgstr " (standardní)"
+
+#: src/frontend/mame/ui/selmenu.cpp:2454
+msgid "Usage"
+msgstr "Využití"
+
+#: src/frontend/mame/ui/selmenu.cpp:2489
+msgid "General Info"
+msgstr "Základní informace"
#: src/frontend/mame/ui/dirmenu.cpp:35
msgid "ROMs"
@@ -114,30 +289,6 @@ msgstr "Ikony"
msgid "Cheats"
msgstr "Cheaty"
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
-msgstr "Náhledy"
-
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
-msgstr "Kastle"
-
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
-msgstr "Plakáty"
-
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
-msgstr "Titulky"
-
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
-msgstr "ZakonÄení"
-
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
-msgstr "Desky spojů"
-
#: src/frontend/mame/ui/dirmenu.cpp:52
msgid "Controls Panels"
msgstr "Ovládací panely"
@@ -150,42 +301,14 @@ msgstr "ZaměřovaÄe"
msgid "Artworks"
msgstr "Artworky"
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
-msgstr "Bossové"
-
#: src/frontend/mame/ui/dirmenu.cpp:56
msgid "Artworks Preview"
msgstr "Náhledy artworků"
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
-msgstr "Výběr"
-
#: src/frontend/mame/ui/dirmenu.cpp:58
msgid "GameOver"
msgstr "GameOver"
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
-msgstr "Jak na to"
-
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
-msgstr "Loga"
-
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
-msgstr "Skóre"
-
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
-msgstr "Versus"
-
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
-msgstr "Obaly"
-
#: src/frontend/mame/ui/dirmenu.cpp:116
msgid "Folders Setup"
msgstr "Nastavení složek"
@@ -226,14 +349,268 @@ msgstr "Stiskni TAB pro nastavení"
msgid "Remove %1$s Folder"
msgstr "Odstranit %1$s Složku"
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
-msgstr "Seznam výběru - Hledání: "
+#: src/frontend/mame/ui/info.cpp:30
+msgid "protection"
+msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
+#: src/frontend/mame/ui/info.cpp:31
+msgid "color palette"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:32
+msgid "graphics"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:33
+msgid "sound"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:34
+msgid "controls"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:35
+msgid "keyboard"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:36
+msgid "mouse"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:37
+msgid "microphone"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:38
+msgid "camera"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:39
+msgid "disk"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:40
+msgid "printer"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:41
+msgid "LAN"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:42
+msgid "WAN"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:43
+msgid "timing"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:180
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
+msgstr ""
+"Jedna nebo více ROMs/CHDs pro toto zařízení je nekorektních. Zařízení nemusí "
+"fungovat správně.\n"
+
+#: src/frontend/mame/ui/info.cpp:190
+msgid ""
+"There are known problems with this machine\n"
+"\n"
+msgstr ""
+"S tímto zařízením jsou známy problémy\n"
+"\n"
+
+#: src/frontend/mame/ui/info.cpp:195
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+msgstr ""
+"Jedna nebo více ROM/CHD pro toto zařízení je špatně stažena (dumpnuta).\n"
+
+#: src/frontend/mame/ui/info.cpp:200
+msgid "Completely unemulated features: "
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
#, c-format
-msgid "Double click or press %1$s to select"
-msgstr "Dvojklik nebo stisk %1$s pro výběr"
+msgid "%s"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#: src/frontend/mame/ui/info.cpp:267
+#, c-format
+msgid ", %s"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:216
+msgid "Imperfectly emulated features: "
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:231
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr "OtoÄení obrazu v koktail módu není podporováno.\n"
+
+#: src/frontend/mame/ui/info.cpp:233
+msgid "This machine requires external artwork files.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:235
+msgid ""
+"This machine was never completed. It may exhibit strange behavior or missing "
+"elements that are not bugs in the emulation.\n"
+msgstr ""
+"Zařízení nebylo nikdy dokonÄeno. Může se objevit zvláštní chování nebo "
+"chybÄ›jící Äásti, jež nejsou chybou emulace.\n"
+
+#: src/frontend/mame/ui/info.cpp:237
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
+msgstr ""
+"Zařízení nemá zvukový hardware, MAME nebyde přehrávat zvuky, toto je "
+"oÄekávané chování.\n"
+
+#: src/frontend/mame/ui/info.cpp:241
+msgid ""
+"\n"
+"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
+"complete. There is nothing you can do to fix this problem except wait for "
+"the developers to improve the emulation.\n"
+msgstr ""
+"\n"
+"ZAŘÃZENà NEFUNGUJE. Emulace tohoto zařízení není jeÅ¡tÄ› kompletní. Nic s tím "
+"nemůžete udÄ›lat, jen Äekat na vývojáře až vylepší emulaci.\n"
+
+#: src/frontend/mame/ui/info.cpp:243
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they requires physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:265
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:278
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+"\n"
+"\n"
+"Stiskni klávesu pro pokraÄování"
+
+#: src/frontend/mame/ui/info.cpp:293
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
+msgstr ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
+
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "MHz"
+msgstr "MHz"
+
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "kHz"
+msgstr "kHz"
+
+#: src/frontend/mame/ui/info.cpp:342
+msgid ""
+"\n"
+"Sound:\n"
+msgstr ""
+"\n"
+"Zvuk:\n"
+
+#: src/frontend/mame/ui/info.cpp:370
+msgid ""
+"\n"
+"Video:\n"
+msgstr ""
+"\n"
+"Video:\n"
+
+#: src/frontend/mame/ui/info.cpp:374
+msgid "None\n"
+msgstr "Žádný\n"
+
+#: src/frontend/mame/ui/info.cpp:381
+msgid "Vector"
+msgstr "Vektor"
+
+#: src/frontend/mame/ui/info.cpp:392
+#, c-format
+msgid "%1$s: %2$s\n"
+msgstr "%1$s: %2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:392
+msgid "%2$s\n"
+msgstr "%2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:438
+#, c-format
+msgid "Screen '%1$s'"
+msgstr "Obraz '%1$s'"
+
+#: src/frontend/mame/ui/info.cpp:440
+msgid "Screen"
+msgstr "Obraz"
+
+#: src/frontend/mame/ui/info.cpp:525
+msgid "Not supported"
+msgstr "Nepodporováno"
+
+#: src/frontend/mame/ui/info.cpp:528
+msgid "Partially supported"
+msgstr "ČásteÄná podpora"
+
+#: src/frontend/mame/ui/info.cpp:536
+msgid "[empty]"
+msgstr "[prázdný]"
+
+#: src/frontend/mame/ui/optsmenu.cpp:193
+msgid "Filter"
+msgstr "Filtr"
+
+#: src/frontend/mame/ui/optsmenu.cpp:206
+msgid "Customize UI"
+msgstr "Upravení UI"
+
+#: src/frontend/mame/ui/optsmenu.cpp:207
+msgid "Configure Directories"
+msgstr "Konfigurace složek"
+
+#: src/frontend/mame/ui/optsmenu.cpp:210 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
+msgstr "Možnosti zvuku"
+
+#: src/frontend/mame/ui/optsmenu.cpp:213
+msgid "General Inputs"
+msgstr "Základní vstupy"
+
+#: src/frontend/mame/ui/optsmenu.cpp:216
+msgid "Save Configuration"
+msgstr "Ulož konfiguraci"
+
+#: src/frontend/mame/ui/optsmenu.cpp:228
+msgid "Settings"
+msgstr "Nastavení"
#: src/frontend/mame/ui/tapectrl.cpp:85
msgid "stopped"
@@ -275,8 +652,30 @@ msgstr "PÅ™etoÄit zpÄ›t"
msgid "Fast Forward"
msgstr "PÅ™etoÄit dopÅ™edu"
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
-#: src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/inputmap.cpp:53
+msgid "User Interface"
+msgstr "Uživatelské rozhraní"
+
+#: src/frontend/mame/ui/inputmap.cpp:59
+msgid "Other Controls"
+msgstr "Ostatní ovládání"
+
+#: src/frontend/mame/ui/inputmap.cpp:628 src/frontend/mame/ui/miscmenu.cpp:96
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr "Reset"
+
+#: src/frontend/mame/ui/selector.cpp:116
+msgid "Selection List - Search: "
+msgstr "Seznam výběru - Hledání: "
+
+#: src/frontend/mame/ui/selector.cpp:124
+#, c-format
+msgid "Double click or press %1$s to select"
+msgstr "Dvojklik nebo stisk %1$s pro výběr"
+
+#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/filesel.cpp:256
msgid "[empty slot]"
msgstr "[prázdný slot]"
@@ -317,182 +716,6 @@ msgstr "Software použití"
msgid "Revision: "
msgstr "Verze: "
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
-msgstr "Soubor již existuje - Přepsat?"
-
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
-msgstr "Ne"
-
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
-msgstr "Ano"
-
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
-msgstr "Nové jméno obrázku:"
-
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
-msgstr "Formát obrázku:"
-
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
-msgstr "Vytvořit"
-
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
-msgstr "Prosím vložte i příponu souboru"
-
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
-msgstr "Vyber formát obrázku"
-
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
-msgstr "Vstup (vše)"
-
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
-msgstr "Vstup (toto zařízení)"
-
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
-msgstr "Analogové ovladaÄe"
-
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
-msgstr "DIP pÅ™epínaÄe"
-
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
-msgstr "Nastavení zařízení"
-
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
-msgstr "Zapsané informace"
-
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
-msgstr "Informace o zařízení"
-
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
-msgstr "Informace o programu"
-
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
-msgstr "Souborový manažer"
-
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
-msgstr "Ovládání kazetového pÅ™ehrávaÄe"
-
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
-msgstr "Pseudo terminály"
-
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
-msgstr ""
-
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
-msgstr "Zásuvná zařízení"
-
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
-msgstr "ÄŒteÄka Äárového kódu"
-
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
-msgstr "Síťová zařízení"
-
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
-msgstr "Režim klávesnice"
-
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
-msgstr "Posuvné ovladaÄe"
-
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
-msgstr "Nastavení videa"
-
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
-msgstr "Nastavení zameÅ™ovaÄe"
-
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
-msgstr "Cheat"
-
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
-msgstr ""
-
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
-msgstr "Externí DAT zobrazení"
-
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
-msgstr "Přidat do oblíbených"
-
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
-msgstr "Odstranit z oblíbených"
-
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
-msgstr "Vyber nové zařízení"
-
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
-msgstr "Nový Äárový kód:"
-
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
-msgstr "Vložit kód"
-
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
-msgstr "Å patná délka Äárového kódu!"
-
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
-msgstr "[chybný]"
-
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
-msgstr "Možnosti zvuku"
-
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
-msgstr "Základní vstupy"
-
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
-msgstr "Ulož konfiguraci"
-
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
-msgstr "Nastavení"
-
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
-msgstr "Filtr"
-
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
-msgstr "Upravení UI"
-
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
-msgstr "Konfigurace složek"
-
#: src/frontend/mame/ui/simpleselgame.cpp:149
msgid ""
"The selected game is missing one or more required ROM or CHD images. Please "
@@ -501,7 +724,7 @@ msgid ""
"Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:247
+#: src/frontend/mame/ui/simpleselgame.cpp:241
#, c-format
msgid ""
"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
@@ -514,667 +737,360 @@ msgstr ""
"Pokud používáte %2$s poprvé, prosím podívejte se na config.txt soubor ve "
"složce docs na informace o konfiguraci %2$s."
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:271
+#: src/frontend/mame/ui/selgame.cpp:436
msgid "Configure Options"
msgstr "Možnosti konfigurace"
-#: src/frontend/mame/ui/simpleselgame.cpp:298
+#: src/frontend/mame/ui/simpleselgame.cpp:292
#, c-format
msgid "Type name or select: %1$s_"
msgstr "Napiš jméno nebo vyber: %1$s_"
-#: src/frontend/mame/ui/simpleselgame.cpp:300
+#: src/frontend/mame/ui/simpleselgame.cpp:294
msgid "Type name or select: (random)"
msgstr "Napiš jméno nebo vyber: (náhodně)"
-#: src/frontend/mame/ui/simpleselgame.cpp:314
-#: src/frontend/mame/ui/selsoft.cpp:652 src/frontend/mame/ui/selsoft.cpp:659
+#: src/frontend/mame/ui/simpleselgame.cpp:308
+#: src/frontend/mame/ui/selsoft.cpp:564 src/frontend/mame/ui/selsoft.cpp:571
#, c-format
msgid "%1$-.100s"
msgstr "%1$-.100s"
-#: src/frontend/mame/ui/simpleselgame.cpp:317
-#: src/frontend/mame/ui/selmenu.cpp:618 src/frontend/mame/ui/selmenu.cpp:654
-#, c-format
-msgid "%1$s, %2$-.100s"
-msgstr "%1$s, %2$-.100s"
-
-#: src/frontend/mame/ui/simpleselgame.cpp:320
+#: src/frontend/mame/ui/simpleselgame.cpp:314
#, c-format
msgid "Driver: %1$-.100s"
msgstr "Driver: %1$-.100s"
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
-msgstr "CelkovÄ›: NEFUNGUJE"
+#: src/frontend/mame/ui/videoopt.cpp:56
+#, c-format
+msgid "Screen #%d"
+msgstr "Obraz #%d"
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
-msgstr "Celkově: Neemulovaná ochrana"
+#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
+msgid "Rotate"
+msgstr "Rotace"
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
-msgstr "CelkovÄ›: Funguje"
+#: src/frontend/mame/ui/videoopt.cpp:208
+msgid "Backdrops"
+msgstr "Pozadí"
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
-msgstr ""
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Enabled"
+msgstr "Aktivováno"
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
-msgstr "Grafika: Nedokonalá, "
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Disabled"
+msgstr "Deaktivováno"
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
-msgstr "Grafika: OK, "
+#: src/frontend/mame/ui/videoopt.cpp:212
+msgid "Overlays"
+msgstr "Popředí"
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
-msgstr ""
+#: src/frontend/mame/ui/videoopt.cpp:216
+msgid "Bezels"
+msgstr "Bezels"
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
-msgstr "Zvuk: Neimplementován"
+#: src/frontend/mame/ui/videoopt.cpp:220
+msgid "CPanels"
+msgstr "CPanely"
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
-msgstr "Zvuk: Nedokonalý"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "View"
+msgstr "Pohled"
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
-msgstr "Zvuk: OK"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cropped"
+msgstr "Ořezaný"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
-msgstr ""
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Full"
+msgstr "Plný"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
-msgstr "Vyber pozici pro naÄtení"
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
+msgstr "Soubor již existuje - Přepsat?"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
-msgstr ""
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1047
+msgid "No"
+msgstr "Ne"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
-msgstr "Vyber pozici pro uložení"
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1047
+msgid "Yes"
+msgstr "Ano"
-#: src/frontend/mame/ui/ui.cpp:337
-msgid "This driver requires images to be loaded in the following device(s): "
-msgstr ""
-"Tento ovladaÄ vyžaduje aby byl obraz media nahrán do následujících zařízení: "
+#: src/frontend/mame/ui/filecreate.cpp:171
+msgid "New Image Name:"
+msgstr "Nové jméno obrázku:"
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
-msgstr "Stav emulace klávesnice"
+#: src/frontend/mame/ui/filecreate.cpp:177
+msgid "Image Format:"
+msgstr "Formát obrázku:"
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
-msgstr "Režim: ÄŒÃSTEÄŒNà Emulace"
+#: src/frontend/mame/ui/filecreate.cpp:183
+msgid "Create"
+msgstr "Vytvořit"
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
-msgstr "UI: Povoleno"
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr "Prosím vložte i příponu souboru"
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
-msgstr "**Použij ScrLock pro přepnutí**"
+#: src/frontend/mame/ui/filecreate.cpp:266
+msgid "Select image format"
+msgstr "Vyber formát obrázku"
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
-msgstr "Režim: PLNà Emulace"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Keyboard Mode:"
+msgstr "Režim klávesnice:"
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
-msgstr "UI: Zakázáno"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Natural"
+msgstr "Přirozená"
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
-msgstr "Autostřelba nemůže být povolena"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Emulated"
+msgstr "Emulovaná"
-#: src/frontend/mame/ui/ui.cpp:1302
+#: src/frontend/mame/ui/miscmenu.cpp:236
#, c-format
msgid ""
-"Are you sure you want to quit?\n"
+"Uptime: %1$d:%2$02d:%3$02d\n"
"\n"
-"Press ''%1$s'' to quit,\n"
-"Press ''%2$s'' to return to emulation."
msgstr ""
-"UrÄitÄ› chcete odejít?\n"
+"Čas běhu: %1$d:%2$02d:%3$02d\n"
"\n"
-"Stiskni ''%1$s'' pro ukonÄení,\n"
-"Stiskni ''%2$s'' pro návrat do emulace."
-
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
-msgstr "Hlavní hlasitost"
-
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
-msgstr "%1$s hlasitost"
-
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
-msgstr "Přetakt CPU %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
-msgstr "%1$s Obnovovací frekvence"
-
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
-msgstr "%1$s Jas"
-
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
-msgstr "%1$s Kontrast"
-
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
-msgstr "%1$s Gamma"
-
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
-msgstr "%1$s Horiz Roztah"
-
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
-msgstr "%1$s Horiz Pozice"
-
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
-msgstr "%1$s Vert Roztah"
-
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
-msgstr "%1$s Vert Pozice"
-
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
-msgstr "Laserdisc '%1$s' Horiz Roztah"
-
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
-msgstr "Laserdisc '%1$s' Horiz Pozice"
-
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
-msgstr "Laserdisc '%1$s' Vert Roztah"
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr "Laserdisc '%1$s' Vert Pozice"
-
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
-msgstr "Vektor BlikaÄ"
-
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
-msgstr "Minimální šířka svazku"
-
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
-msgstr "Maximální šířka svazku"
-
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
-msgstr "Váha intenzity svazku"
-
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr "ZaměřovaÄ Å¡kála %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
-msgstr "X"
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
-msgstr "Y"
-
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
-msgstr "ZaměřovaÄ posun %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1601
+#: src/frontend/mame/ui/miscmenu.cpp:238
#, c-format
-msgid "%1$3ddB"
-msgstr "%1$3ddB"
-
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
-msgstr "%1$d%%"
-
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
-msgstr "%1$3.0f%%"
-
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
-msgstr "%1$.3ffps"
-
-#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
-#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
-#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
-#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
-#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
-#: src/frontend/mame/ui/ui.cpp:1927
-#, c-format
-msgid "%1$.3f"
-msgstr "%1$.3f"
-
-#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
-#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
-#, c-format
-msgid "%1$1.2f"
-msgstr "%1$1.2f"
-
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
-msgstr "ZaměřovaÄ Å¡kála X %1$1.3f"
-
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
-msgstr "ZaměřovaÄ Å¡kála Y %1$1.3f"
-
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset X %1$1.3f"
-msgstr "ZaměřovaÄ posun X %1$1.3f"
-
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
-msgstr "ZaměřovaÄ posun Y %1$1.3f"
-
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
-msgstr "**Chyba ukládání ui.ini**"
-
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
-msgstr "**Chyba ukládání %s.ini**"
-
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
msgid ""
-"\n"
-" Configuration saved \n"
+"Uptime: %1$d:%2$02d\n"
"\n"
msgstr ""
+"Čas běhu: %1$d:%2$02d\n"
"\n"
-" Configurace uložena \n"
-"\n"
-
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
-msgid ""
-"Cheat Comment:\n"
-"%s"
-msgstr ""
-"Cheat komentář:\n"
-"%s"
-
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
-msgstr "VÅ¡echny cheaty znovu naÄteny"
-
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
-msgstr "Nastavení automatické střelby"
-
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
-msgstr "Resetovat vše"
-
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
-msgstr "Znovu naÄíst vÅ¡e"
-
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
-msgstr "Stav automatické střelby"
-
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
-msgstr "Žádná tlaÄítka na tomto zařízení nenalezena!"
-
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
-msgstr "Zpoždění autostřelby"
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
+#: src/frontend/mame/ui/miscmenu.cpp:242
#, c-format
msgid ""
-"%s\n"
-" added to favorites list."
-msgstr ""
-"%s\n"
-" přidán do seznamu oblíbených."
-
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
-#, c-format
-msgid ""
-"%s\n"
-" removed from favorites list."
-msgstr ""
-"%s\n"
-" odstraněn ze seznamu oblíbených."
-
-#: src/frontend/mame/ui/selsoft.cpp:507
-msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
+"Tickets dispensed: %1$d\n"
"\n"
msgstr ""
+"Lístků zahozeno: %1$d\n"
+"\n"
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:253
+msgid "Coin %1$c: NA%3$s\n"
+msgstr "Mince %1$c: NA%3$s\n"
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/miscmenu.cpp:253
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
-msgstr ""
+msgid "Coin %1$c: %2$d%3$s\n"
+msgstr "Mince %1$c: %2$d%3$s\n"
-#: src/frontend/mame/ui/selsoft.cpp:638
-#, c-format
-msgid "Driver: \"%1$s\" software list "
-msgstr "Driver: \"%1$s\" software list "
+#: src/frontend/mame/ui/miscmenu.cpp:256
+msgid " (locked)"
+msgstr " (zamÄeno)"
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
-#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:503
+msgid "Visible Delay"
+msgstr "Viditelné zpoždění"
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/miscmenu.cpp:601
#, c-format
-msgid "Search: %1$s_"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
-msgid "Unfiltered"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
-msgid "Available"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
-msgid "Unavailable"
-msgstr ""
+msgid "%s.xml saved under ui folder."
+msgstr "%s.xml uložen v ui složce."
-#: src/frontend/mame/ui/utils.cpp:63
-msgid "Working"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:627
+msgid "Name: Description:\n"
+msgstr "Jméno: Popis:\n"
-#: src/frontend/mame/ui/utils.cpp:64
-msgid "Not Working"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.txt saved under ui folder."
+msgstr "%s.txt uložen v ui složce."
-#: src/frontend/mame/ui/utils.cpp:65
-msgid "Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:655
+msgid "Export list in XML format (like -listxml)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
-msgid "Not Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:656
+msgid "Export list in XML format (like -listxml, but exclude devices)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
-msgid "Category"
+#: src/frontend/mame/ui/miscmenu.cpp:657
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
-msgid "Favorites"
+#: src/frontend/mame/ui/miscmenu.cpp:710 src/frontend/mame/ui/ui.cpp:2230
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
+"\n"
+" Configurace uložena \n"
+"\n"
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/miscmenu.cpp:760 src/frontend/mame/ui/utils.cpp:66
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
-msgid "Not BIOS"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
-msgid "Parents"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
-msgid "Clones"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:73
-msgid "Manufacturer"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
-msgid "Year"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:75
-msgid "Save Supported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:76
-msgid "Save Unsupported"
+#: src/frontend/mame/ui/miscmenu.cpp:764
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:77
-msgid "CHD Required"
+#: src/frontend/mame/ui/miscmenu.cpp:767
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:78
-msgid "No CHD Required"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:776 src/frontend/mame/ui/mainmenu.cpp:145
+msgid "Add To Favorites"
+msgstr "Přidat do oblíbených"
-#: src/frontend/mame/ui/utils.cpp:79
-msgid "Vertical Screen"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:778 src/frontend/mame/ui/mainmenu.cpp:147
+msgid "Remove From Favorites"
+msgstr "Odstranit z oblíbených"
-#: src/frontend/mame/ui/utils.cpp:80
-msgid "Horizontal Screen"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:781
+msgid "Save machine configuration"
+msgstr "Ulož konfiguraci zařízení"
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
-msgid "Custom Filter"
+#: src/frontend/mame/ui/miscmenu.cpp:792
+msgid "Configure machine:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:91
-msgid "Publisher"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:736
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:551 plugins/cheatfind/init.lua:619
+msgid "On"
+msgstr "Zapnuto"
-#: src/frontend/mame/ui/utils.cpp:92
-msgid "Supported"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:739
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:554 plugins/cheat/init.lua:563
+#: plugins/cheatfind/init.lua:616
+msgid "Off"
+msgstr "Vypnuto"
-#: src/frontend/mame/ui/utils.cpp:93
-msgid "Partially Supported"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:909 src/frontend/mame/ui/selgame.cpp:441
+msgid "Plugins"
+msgstr "Pluginy"
-#: src/frontend/mame/ui/utils.cpp:94
-msgid "Unsupported"
-msgstr ""
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
+msgstr "Nový Äárový kód:"
-#: src/frontend/mame/ui/utils.cpp:95
-msgid "Release Region"
-msgstr ""
+#: src/frontend/mame/ui/barcode.cpp:78
+msgid "Enter Code"
+msgstr "Vložit kód"
-#: src/frontend/mame/ui/utils.cpp:96
-msgid "Device Type"
-msgstr ""
+#: src/frontend/mame/ui/barcode.cpp:119
+msgid "Barcode length invalid!"
+msgstr "Å patná délka Äárového kódu!"
-#: src/frontend/mame/ui/utils.cpp:97
-msgid "Software List"
-msgstr ""
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:99
+msgid "Pseudo terminals"
+msgstr "Pseudo terminály"
-#: src/frontend/mame/ui/utils.cpp:248
-msgid "<set up filters>"
-msgstr ""
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
+msgstr "[chybný]"
-#: src/frontend/mame/ui/utils.cpp:356
-msgid "Select custom filters:"
-msgstr "Vyber uživatelský filtr:"
+#: src/frontend/mame/ui/mainmenu.cpp:60
+msgid "Input (general)"
+msgstr "Vstup (vše)"
-#: src/frontend/mame/ui/utils.cpp:507
-#, c-format
-msgid "Filter %1$u"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:62
+msgid "Input (this Machine)"
+msgstr "Vstup (toto zařízení)"
-#: src/frontend/mame/ui/utils.cpp:522
-msgid "Remove last filter"
-msgstr "Odstranit poslední filtr"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Analog Controls"
+msgstr "Analogové ovladaÄe"
-#: src/frontend/mame/ui/utils.cpp:524
-msgid "Add filter"
-msgstr "Přidat filtr"
+#: src/frontend/mame/ui/mainmenu.cpp:68
+msgid "Dip Switches"
+msgstr "DIP pÅ™epínaÄe"
-#: src/frontend/mame/ui/utils.cpp:966
-msgid "Select category:"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "Machine Configuration"
+msgstr "Nastavení zařízení"
-#: src/frontend/mame/ui/utils.cpp:997
-msgid "[no category INI files]"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
+msgstr "Zapsané informace"
-#: src/frontend/mame/ui/utils.cpp:1005
-msgid "[no groups in INI file]"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:78
+msgid "Machine Information"
+msgstr "Informace o zařízení"
-#: src/frontend/mame/ui/utils.cpp:1039
-msgid "No category INI files found"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:85
+msgid "Image Information"
+msgstr "Informace o programu"
-#: src/frontend/mame/ui/utils.cpp:1044
-msgid "File"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
+msgstr "Souborový manažer"
-#: src/frontend/mame/ui/utils.cpp:1048
-msgid "No groups found in category file"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:96
+msgid "Tape Control"
+msgstr "Ovládání kazetového pÅ™ehrávaÄe"
-#: src/frontend/mame/ui/utils.cpp:1053
-msgid "Group"
+#: src/frontend/mame/ui/mainmenu.cpp:102
+msgid "BIOS Selection"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
-msgid "Include clones"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:106
+msgid "Slot Devices"
+msgstr "Zásuvná zařízení"
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
-msgstr "[vytvořit]"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Barcode Reader"
+msgstr "ÄŒteÄka Äárového kódu"
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:114
+msgid "Network Devices"
+msgstr "Síťová zařízení"
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
-msgstr "Vyber přístupový režim"
+#: src/frontend/mame/ui/mainmenu.cpp:118
+msgid "Keyboard Mode"
+msgstr "Režim klávesnice"
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
-msgstr "Pouze Ätení"
+#: src/frontend/mame/ui/mainmenu.cpp:121
+msgid "Slider Controls"
+msgstr "Posuvné ovladaÄe"
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
-msgstr "Čtení-Zápis"
+#: src/frontend/mame/ui/mainmenu.cpp:124 src/frontend/mame/ui/submenu.cpp:101
+msgid "Video Options"
+msgstr "Nastavení videa"
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
-msgstr "Číst tento obrázek, zapsat do jiného obrázku"
+#: src/frontend/mame/ui/mainmenu.cpp:128
+msgid "Crosshair Options"
+msgstr "Nastavení zameÅ™ovaÄe"
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
-msgstr "Číst tento obrázek, zapsat do diff"
+#: src/frontend/mame/ui/mainmenu.cpp:132 plugins/cheat/init.lua:735
+msgid "Cheat"
+msgstr "Cheat"
-#: src/frontend/mame/ui/slotopt.cpp:192
-#, c-format
-msgid "%s [internal]"
+#: src/frontend/mame/ui/mainmenu.cpp:135
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:203 src/frontend/mame/ui/miscmenu.cpp:97
-#: src/frontend/mame/ui/inputmap.cpp:615
-msgid "Reset"
-msgstr "Reset"
-
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
-msgstr " BARVY"
-
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
-msgstr " PERA"
-
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
-msgstr "Zpět na zařízení"
-
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
-msgstr "UkonÄení"
-
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
-msgstr "Zpět na předchozí menu"
-
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:762
-#: plugins/cheat/init.lua:569 plugins/cheatfind/init.lua:792
-#: plugins/cheatfind/init.lua:803
-msgid "On"
-msgstr "Zapnuto"
-
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:765
-#: plugins/cheat/init.lua:572 plugins/cheat/init.lua:581
-#: plugins/cheatfind/init.lua:789 plugins/cheatfind/init.lua:800
-msgid "Off"
-msgstr "Vypnuto"
+#: src/frontend/mame/ui/mainmenu.cpp:139
+msgid "External DAT View"
+msgstr "Externí DAT zobrazení"
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
-msgstr "Automaticky"
+#: src/frontend/mame/ui/mainmenu.cpp:154
+msgid "Select New Machine"
+msgstr "Vyber nové zařízení"
#: src/frontend/mame/ui/custui.cpp:31
msgid "Show All"
@@ -1397,456 +1313,6 @@ msgstr "Žlutá"
msgid "Violet"
msgstr "Fialová"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
-msgstr "Režim klávesnice:"
-
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
-msgstr "Přirozená"
-
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
-msgstr "Emulovaná"
-
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
-msgstr ""
-"Čas běhu: %1$d:%2$02d:%3$02d\n"
-"\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
-msgstr ""
-"Čas běhu: %1$d:%2$02d\n"
-"\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
-msgstr ""
-"Lístků zahozeno: %1$d\n"
-"\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
-msgstr "Mince %1$c: NA%3$s\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
-msgstr "Mince %1$c: %2$d%3$s\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
-msgstr " (zamÄeno)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
-msgstr "Viditelné zpoždění"
-
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
-msgstr "%s.xml uložen v ui složce."
-
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
-msgstr "Jméno: Popis:\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:639
-#, c-format
-msgid "%s.txt saved under ui folder."
-msgstr "%s.txt uložen v ui složce."
-
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
-msgstr ""
-
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
-msgstr ""
-
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
-msgstr ""
-
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
-msgstr ""
-
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
-msgstr ""
-
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
-msgstr "Ulož konfiguraci zařízení"
-
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
-msgstr ""
-
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
-msgstr " (standardní)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
-msgstr "Pluginy"
-
-#: src/frontend/mame/ui/selgame.cpp:607
-msgid "Configure Machine"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1036
-#, c-format
-msgid "Romset\t%1$-.100s\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1037
-#, c-format
-msgid "Year\t%1$s\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1038
-#, c-format
-msgid "Manufacturer\t%1$-.100s\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1042
-#, c-format
-msgid "Driver is Clone of\t%1$-.100s\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1044
-msgid "Driver is Parent\t\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1047
-msgid "Analog Controls\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1049
-msgid "Keyboard Inputs\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1052
-msgid "Overall\tNOT WORKING\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1054
-msgid "Overall\tUnemulated Protection\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1056
-msgid "Overall\tWorking\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1059
-msgid "Graphics\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1061
-msgid "Graphics\tWrong Colors\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1063
-msgid "Graphics\tImperfect Colors\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1065
-msgid "Graphics\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1067
-msgid "Graphics\tOK\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1070
-msgid "Sound\tNone\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1072
-msgid "Sound\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1074
-msgid "Sound\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1076
-msgid "Sound\tOK\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1079
-msgid "Capture\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1081
-msgid "Capture\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1084
-msgid "Camera\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1086
-msgid "Camera\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1089
-msgid "Microphone\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1091
-msgid "Microphone\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1094
-msgid "Controls\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1096
-msgid "Controls\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1099
-msgid "Keyboard\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1101
-msgid "Keyboard\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1104
-msgid "Mouse\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1106
-msgid "Mouse\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1109
-msgid "Media\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1111
-msgid "Media\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1114
-msgid "Disk\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1116
-msgid "Disk\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1119
-msgid "Printer\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1121
-msgid "Printer\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1124
-msgid "Mag. Tape\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1126
-msgid "Mag. Tape\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1129
-msgid "Punch Tape\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1131
-msgid "Punch Tape\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1134
-msgid "Mag. Drum\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1136
-msgid "Mag. Drum\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1139
-msgid "(EP)ROM\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1141
-msgid "(EP)ROM\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1144
-msgid "Communications\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1146
-msgid "Communications\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1149
-msgid "LAN\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1151
-msgid "LAN\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1154
-msgid "WAN\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1156
-msgid "WAN\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1159
-msgid "Timing\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1161
-msgid "Timing\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tNo\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tNo\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tNo\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tNo\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tNo\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tNo\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tVertical\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tHorizontal\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tNo\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1192
-msgid "ROM Audit Result\tOK\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1194
-msgid "ROM Audit Result\tBAD\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1197
-msgid "Samples Audit Result\tNone Needed\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1199
-msgid "Samples Audit Result\tOK\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1201
-msgid "Samples Audit Result\tBAD\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1205
-msgid ""
-"ROM Audit \tDisabled\n"
-"Samples Audit \tDisabled\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1396
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
-msgstr "%1$s %2$s ( %3$d / %4$d zařízení (%5$d BIOS) )"
-
-#: src/frontend/mame/ui/selgame.cpp:1424
-#, c-format
-msgid "Romset: %1$-.100s"
-msgstr "Romset: %1$-.100s"
-
-#: src/frontend/mame/ui/selgame.cpp:1431
-#, c-format
-msgid "System: %1$-.100s"
-msgstr "Systém: %1$-.100s"
-
-#: src/frontend/mame/ui/selgame.cpp:1465
-msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
-msgstr ""
-
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
-msgstr "Zvuk"
-
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
-msgstr "Vzorkovací frekvence"
-
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
-msgstr "Použít externí samply"
-
#: src/frontend/mame/ui/submenu.cpp:22
msgid "Miscellaneous Options"
msgstr "Různé možnosti"
@@ -2147,564 +1613,1017 @@ msgstr "Synchronizované obnovení"
msgid "Wait Vertical Sync"
msgstr "ÄŒekat na V-Sync"
-#: src/frontend/mame/ui/devopt.cpp:43
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Load State"
+msgstr ""
+
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Select position to load from"
+msgstr "Vyber pozici pro naÄtení"
+
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Save State"
+msgstr ""
+
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Select position to save to"
+msgstr "Vyber pozici pro uložení"
+
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:309 src/frontend/mame/ui/selsoft.cpp:211
#, c-format
msgid ""
-"[This option is currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"The selected option enables the following items:\n"
+"%s\n"
+" added to favorites list."
msgstr ""
+"%s\n"
+" přidán do seznamu oblíbených."
-#: src/frontend/mame/ui/devopt.cpp:44
+#: src/frontend/mame/ui/selgame.cpp:314 src/frontend/mame/ui/selgame.cpp:320
+#: src/frontend/mame/ui/selsoft.cpp:216
#, c-format
msgid ""
-"[This option is NOT currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"If you select this option, the following items will be enabled:\n"
+"%s\n"
+" removed from favorites list."
msgstr ""
+"%s\n"
+" odstraněn ze seznamu oblíbených."
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/selgame.cpp:437
+msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/selgame.cpp:849
#, c-format
-msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
-msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/selgame.cpp:850
+#, c-format
+msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %3$d.%4$06d MHz\n"
+#: src/frontend/mame/ui/selgame.cpp:851
+#, c-format
+msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/selgame.cpp:855
+#, c-format
+msgid "Driver is Clone of\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/selgame.cpp:857
+msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/selgame.cpp:860
+msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:103
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+#: src/frontend/mame/ui/selgame.cpp:862
+msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+#: src/frontend/mame/ui/selgame.cpp:865
+msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/selgame.cpp:867
+msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
-#, c-format
-msgid " %1$d×%2$s\n"
+#: src/frontend/mame/ui/selgame.cpp:869
+msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/selgame.cpp:872
+msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:168
-#, c-format
-msgid ""
-"* BIOS settings:\n"
-" %1$d options [default: %2$s]\n"
+#: src/frontend/mame/ui/selgame.cpp:874
+msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:208 src/frontend/mame/ui/devopt.cpp:224
-#: src/frontend/mame/ui/devopt.cpp:269
-#, c-format
-msgid " %1$s [default: %2$s]\n"
+#: src/frontend/mame/ui/selgame.cpp:876
+msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
-#, c-format
-msgid " %1$s\n"
+#: src/frontend/mame/ui/selgame.cpp:878
+msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/selgame.cpp:880
+msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/selgame.cpp:883
+msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/selgame.cpp:885
+msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:887
+msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:889
+msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
-#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:892
+msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:894
+msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:897
+msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:899
+msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:902
+msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
-#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:904
+msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+#: src/frontend/mame/ui/selgame.cpp:907
+msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
-#, c-format
-msgid " %1$s [tag: %2$s]\n"
+#: src/frontend/mame/ui/selgame.cpp:909
+msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
+#: src/frontend/mame/ui/selgame.cpp:912
+msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+#: src/frontend/mame/ui/selgame.cpp:914
+msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/selgame.cpp:917
+msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
+#: src/frontend/mame/ui/selgame.cpp:919
+msgid "Disk\tImperfect\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:922
+msgid "Printer\tUnimplemented\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:924
+msgid "Printer\tImperfect\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:927
+msgid "LAN\tUnimplemented\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:929
+msgid "LAN\tImperfect\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:932
+msgid "WAN\tUnimplemented\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:934
+msgid "WAN\tImperfect\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:937
+msgid "Timing\tUnimplemented\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:939
+msgid "Timing\tImperfect\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tYes\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tNo\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tYes\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tNo\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tYes\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tNo\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tYes\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tNo\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tYes\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tNo\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tYes\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tNo\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tVertical\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tHorizontal\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tYes\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tNo\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:970
+msgid "ROM Audit Result\tOK\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:972
+msgid "ROM Audit Result\tBAD\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:975
+msgid "Samples Audit Result\tNone Needed\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:977
+msgid "Samples Audit Result\tOK\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:979
+msgid "Samples Audit Result\tBAD\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:983
+msgid ""
+"ROM Audit \tDisabled\n"
+"Samples Audit \tDisabled\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:1167
#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
+msgstr "%1$s %2$s ( %3$d / %4$d zařízení (%5$d BIOS) )"
+
+#: src/frontend/mame/ui/selgame.cpp:1183 src/frontend/mame/ui/selsoft.cpp:555
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
+#: src/frontend/mame/ui/selgame.cpp:1185 src/frontend/mame/ui/selsoft.cpp:557
#, c-format
-msgid "(results will be saved to %1$s)"
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
+#: src/frontend/mame/ui/selgame.cpp:1195
+#, c-format
+msgid "Romset: %1$-.100s"
+msgstr "Romset: %1$-.100s"
+
+#: src/frontend/mame/ui/selgame.cpp:1202
#, c-format
+msgid "System: %1$-.100s"
+msgstr "Systém: %1$-.100s"
+
+#: src/frontend/mame/ui/selgame.cpp:1239
msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
+"The selected machine is missing one or more required ROM or CHD images. "
+"Please select a different machine.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
+#: src/frontend/mame/ui/selgame.cpp:1245 src/frontend/mame/ui/selsoft.cpp:462
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
-msgstr "Nemohu zapisovat do složky"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
+msgstr "Zvuk"
-#: src/frontend/mame/ui/imgcntrl.cpp:150
-msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
+msgstr "Vzorkovací frekvence"
+
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
+msgstr "Použít externí samply"
+
+#: src/frontend/mame/ui/utils.cpp:57 src/frontend/mame/ui/utils.cpp:81
+msgid "Unfiltered"
msgstr ""
-"Vybranému softwaru chybí jedna nebo více požadovaných ROM nebo CHD. Prosím, "
-"vyberte jiný."
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
+#: src/frontend/mame/ui/utils.cpp:58 src/frontend/mame/ui/utils.cpp:82
+msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
+#: src/frontend/mame/ui/utils.cpp:59 src/frontend/mame/ui/utils.cpp:83
+msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
+#: src/frontend/mame/ui/utils.cpp:60
+msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
+#: src/frontend/mame/ui/utils.cpp:61
+msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
+#: src/frontend/mame/ui/utils.cpp:62
+msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: src/frontend/mame/ui/utils.cpp:63
+msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
+#: src/frontend/mame/ui/utils.cpp:64
+msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
+#: src/frontend/mame/ui/utils.cpp:65
+msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
+#: src/frontend/mame/ui/utils.cpp:67
+msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
+#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:84
+msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/utils.cpp:85
+msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/utils.cpp:70
+msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:86
+msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/utils.cpp:72
+msgid "Save Supported"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:73
+msgid "Save Unsupported"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:74
+msgid "CHD Required"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:75
+msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/utils.cpp:76
+msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/utils.cpp:77
+msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/utils.cpp:78 src/frontend/mame/ui/utils.cpp:94
+msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/utils.cpp:87
+msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/utils.cpp:88
+msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/utils.cpp:89
+msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/utils.cpp:90
+msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
-msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+#: src/frontend/mame/ui/utils.cpp:91
+msgid "Release Region"
msgstr ""
-"Jedna nebo více ROMs/CHDs pro toto zařízení je nekorektních. Zařízení nemusí "
-"fungovat správně.\n"
-#: src/frontend/mame/ui/info.cpp:198
-msgid ""
-"There are known problems with this machine\n"
-"\n"
+#: src/frontend/mame/ui/utils.cpp:92
+msgid "Device Type"
msgstr ""
-"S tímto zařízením jsou známy problémy\n"
-"\n"
-#: src/frontend/mame/ui/info.cpp:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/utils.cpp:93
+msgid "Software List"
msgstr ""
-"Jedna nebo více ROM/CHD pro toto zařízení je špatně stažena (dumpnuta).\n"
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/utils.cpp:244
+msgid "<set up filters>"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
+#: src/frontend/mame/ui/utils.cpp:352
+msgid "Select custom filters:"
+msgstr "Vyber uživatelský filtr:"
+
+#: src/frontend/mame/ui/utils.cpp:503
#, c-format
-msgid "%s"
+msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#: src/frontend/mame/ui/info.cpp:275
-#, c-format
-msgid ", %s"
+#: src/frontend/mame/ui/utils.cpp:518
+msgid "Remove last filter"
+msgstr "Odstranit poslední filtr"
+
+#: src/frontend/mame/ui/utils.cpp:520
+msgid "Add filter"
+msgstr "Přidat filtr"
+
+#: src/frontend/mame/ui/utils.cpp:959
+msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+#: src/frontend/mame/ui/utils.cpp:990
+msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
-msgstr "OtoÄení obrazu v koktail módu není podporováno.\n"
+#: src/frontend/mame/ui/utils.cpp:998
+msgid "[no groups in INI file]"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
+#: src/frontend/mame/ui/utils.cpp:1032
+msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:243
-msgid ""
-"This machine was never completed. It may exhibit strange behavior or missing "
-"elements that are not bugs in the emulation.\n"
+#: src/frontend/mame/ui/utils.cpp:1037
+msgid "File"
msgstr ""
-"Zařízení nebylo nikdy dokonÄeno. Může se objevit zvláštní chování nebo "
-"chybÄ›jící Äásti, jež nejsou chybou emulace.\n"
-#: src/frontend/mame/ui/info.cpp:245
-msgid ""
-"This machine has no sound hardware, MAME will produce no sounds, this is "
-"expected behaviour.\n"
+#: src/frontend/mame/ui/utils.cpp:1041
+msgid "No groups found in category file"
msgstr ""
-"Zařízení nemá zvukový hardware, MAME nebyde přehrávat zvuky, toto je "
-"oÄekávané chování.\n"
-#: src/frontend/mame/ui/info.cpp:249
-msgid ""
-"\n"
-"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
-"complete. There is nothing you can do to fix this problem except wait for "
-"the developers to improve the emulation.\n"
+#: src/frontend/mame/ui/utils.cpp:1046
+msgid "Group"
msgstr ""
-"\n"
-"ZAŘÃZENà NEFUNGUJE. Emulace tohoto zařízení není jeÅ¡tÄ› kompletní. Nic s tím "
-"nemůžete udÄ›lat, jen Äekat na vývojáře až vylepší emulaci.\n"
-#: src/frontend/mame/ui/info.cpp:251
+#: src/frontend/mame/ui/utils.cpp:1047
+msgid "Include clones"
+msgstr ""
+
+#: src/frontend/mame/ui/selsoft.cpp:456
msgid ""
+"The selected software is missing one or more required files. Please select a "
+"different software.\n"
"\n"
-"Elements of this machine cannot be emulated as they requires physical "
-"interaction or consist of mechanical devices. It is not possible to fully "
-"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/selsoft.cpp:549
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgstr ""
+
+#: src/frontend/mame/ui/selsoft.cpp:550
#, c-format
+msgid "Driver: \"%1$s\" software list "
+msgstr "Driver: \"%1$s\" software list "
+
+#: src/frontend/mame/ui/filesel.cpp:260
+msgid "[create]"
+msgstr "[vytvořit]"
+
+#: src/frontend/mame/ui/filesel.cpp:419
+#, c-format
+msgid "Error accessing %s"
+msgstr ""
+
+#: src/frontend/mame/ui/filesel.cpp:515
+msgid "Select access mode"
+msgstr "Vyber přístupový režim"
+
+#: src/frontend/mame/ui/filesel.cpp:516
+msgid "Read-only"
+msgstr "Pouze Ätení"
+
+#: src/frontend/mame/ui/filesel.cpp:518
+msgid "Read-write"
+msgstr "Čtení-Zápis"
+
+#: src/frontend/mame/ui/filesel.cpp:519
+msgid "Read this image, write to another image"
+msgstr "Číst tento obrázek, zapsat do jiného obrázku"
+
+#: src/frontend/mame/ui/filesel.cpp:520
+msgid "Read this image, write to diff"
+msgstr "Číst tento obrázek, zapsat do diff"
+
+#: src/frontend/mame/ui/imgcntrl.cpp:117
+msgid "Cannot save over directory"
+msgstr "Nemohu zapisovat do složky"
+
+#: src/frontend/mame/ui/imgcntrl.cpp:150
msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+"The software selected is missing one or more required ROM or CHD images. "
+"Please select a different one."
msgstr ""
+"Vybranému softwaru chybí jedna nebo více požadovaných ROM nebo CHD. Prosím, "
+"vyberte jiný."
+
+#: src/frontend/mame/ui/menu.cpp:294
+msgid "Return to Machine"
+msgstr "Zpět na zařízení"
+
+#: src/frontend/mame/ui/menu.cpp:299 src/frontend/mame/ui/menu.cpp:301
+msgid "Exit"
+msgstr "UkonÄení"
+
+#: src/frontend/mame/ui/menu.cpp:306 src/frontend/mame/ui/menu.cpp:308
+msgid "Return to Previous Menu"
+msgstr "Zpět na předchozí menu"
+
+#: src/frontend/mame/ui/menu.cpp:742
+msgid "Auto"
+msgstr "Automaticky"
-#: src/frontend/mame/ui/info.cpp:286
+#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:653
+#, c-format, lua-format
msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+"Cheat Comment:\n"
+"%s"
msgstr ""
-"\n"
-"\n"
-"Stiskni klávesu pro pokraÄování"
+"Cheat komentář:\n"
+"%s"
+
+#: src/frontend/mame/ui/cheatopt.cpp:105
+msgid "All cheats reloaded"
+msgstr "VÅ¡echny cheaty znovu naÄteny"
+
+#: src/frontend/mame/ui/cheatopt.cpp:136
+msgid "Autofire Settings"
+msgstr "Nastavení automatické střelby"
+
+#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:581
+msgid "Reset All"
+msgstr "Resetovat vše"
+
+#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:582
+msgid "Reload All"
+msgstr "Znovu naÄíst vÅ¡e"
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/cheatopt.cpp:273
+msgid "Autofire Status"
+msgstr "Stav automatické střelby"
+
+#: src/frontend/mame/ui/cheatopt.cpp:316
+msgid "No buttons found on this machine!"
+msgstr "Žádná tlaÄítka na tomto zařízení nenalezena!"
+
+#: src/frontend/mame/ui/cheatopt.cpp:327 src/frontend/mame/ui/cheatopt.cpp:331
+msgid "Autofire Delay"
+msgstr "Zpoždění autostřelby"
+
+#: src/frontend/mame/ui/ui.cpp:337
+msgid "This driver requires images to be loaded in the following device(s): "
+msgstr ""
+"Tento ovladaÄ vyžaduje aby byl obraz media nahrán do následujících zařízení: "
+
+#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
+msgid "Keyboard Emulation Status"
+msgstr "Stav emulace klávesnice"
+
+#: src/frontend/mame/ui/ui.cpp:1086
+msgid "Mode: PARTIAL Emulation"
+msgstr "Režim: ÄŒÃSTEÄŒNà Emulace"
+
+#: src/frontend/mame/ui/ui.cpp:1087
+msgid "UI: Enabled"
+msgstr "UI: Povoleno"
+
+#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
+msgid "**Use ScrLock to toggle**"
+msgstr "**Použij ScrLock pro přepnutí**"
+
+#: src/frontend/mame/ui/ui.cpp:1096
+msgid "Mode: FULL Emulation"
+msgstr "Režim: PLNà Emulace"
+
+#: src/frontend/mame/ui/ui.cpp:1097
+msgid "UI: Disabled"
+msgstr "UI: Zakázáno"
+
+#: src/frontend/mame/ui/ui.cpp:1249
+msgid "Autofire can't be enabled"
+msgstr "Autostřelba nemůže být povolena"
+
+#: src/frontend/mame/ui/ui.cpp:1302
#, c-format
msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
+"Are you sure you want to quit?\n"
"\n"
-"CPU:\n"
+"Press ''%1$s'' to quit,\n"
+"Press ''%2$s'' to return to emulation."
msgstr ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
+"UrÄitÄ› chcete odejít?\n"
"\n"
-"CPU:\n"
+"Stiskni ''%1$s'' pro ukonÄení,\n"
+"Stiskni ''%2$s'' pro návrat do emulace."
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
-msgstr "MHz"
+#: src/frontend/mame/ui/ui.cpp:1374
+msgid "Master Volume"
+msgstr "Hlavní hlasitost"
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
-msgstr "kHz"
+#: src/frontend/mame/ui/ui.cpp:1383
+#, c-format
+msgid "%1$s Volume"
+msgstr "%1$s hlasitost"
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/ui.cpp:1407
+#, c-format
+msgid "Overclock CPU %1$s"
+msgstr "Přetakt CPU %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1416
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-"\n"
-"Zvuk:\n"
-#: src/frontend/mame/ui/info.cpp:378
+#: src/frontend/mame/ui/ui.cpp:1437
+#, c-format
+msgid "%1$s Refresh Rate"
+msgstr "%1$s Obnovovací frekvence"
+
+#: src/frontend/mame/ui/ui.cpp:1442
+#, c-format
+msgid "%1$s Brightness"
+msgstr "%1$s Jas"
+
+#: src/frontend/mame/ui/ui.cpp:1444
+#, c-format
+msgid "%1$s Contrast"
+msgstr "%1$s Kontrast"
+
+#: src/frontend/mame/ui/ui.cpp:1446
+#, c-format
+msgid "%1$s Gamma"
+msgstr "%1$s Gamma"
+
+#: src/frontend/mame/ui/ui.cpp:1450
+#, c-format
+msgid "%1$s Horiz Stretch"
+msgstr "%1$s Horiz Roztah"
+
+#: src/frontend/mame/ui/ui.cpp:1452
+#, c-format
+msgid "%1$s Horiz Position"
+msgstr "%1$s Horiz Pozice"
+
+#: src/frontend/mame/ui/ui.cpp:1454
+#, c-format
+msgid "%1$s Vert Stretch"
+msgstr "%1$s Vert Roztah"
+
+#: src/frontend/mame/ui/ui.cpp:1456
+#, c-format
+msgid "%1$s Vert Position"
+msgstr "%1$s Vert Pozice"
+
+#: src/frontend/mame/ui/ui.cpp:1475
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
+msgstr "Laserdisc '%1$s' Horiz Roztah"
+
+#: src/frontend/mame/ui/ui.cpp:1477
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
+msgstr "Laserdisc '%1$s' Horiz Pozice"
+
+#: src/frontend/mame/ui/ui.cpp:1479
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
+msgstr "Laserdisc '%1$s' Vert Roztah"
+
+#: src/frontend/mame/ui/ui.cpp:1481
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
+msgstr "Laserdisc '%1$s' Vert Pozice"
+
+#: src/frontend/mame/ui/ui.cpp:1493
+msgid "Vector Flicker"
+msgstr "Vektor BlikaÄ"
+
+#: src/frontend/mame/ui/ui.cpp:1494
+msgid "Beam Width Minimum"
+msgstr "Minimální šířka svazku"
+
+#: src/frontend/mame/ui/ui.cpp:1495
+msgid "Beam Width Maximum"
+msgstr "Maximální šířka svazku"
+
+#: src/frontend/mame/ui/ui.cpp:1496
+msgid "Beam Intensity Weight"
+msgstr "Váha intenzity svazku"
+
+#: src/frontend/mame/ui/ui.cpp:1511
+#, c-format
+msgid "Crosshair Scale %1$s"
+msgstr "ZaměřovaÄ Å¡kála %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "X"
+msgstr "X"
+
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "Y"
+msgstr "Y"
+
+#: src/frontend/mame/ui/ui.cpp:1513
+#, c-format
+msgid "Crosshair Offset %1$s"
+msgstr "ZaměřovaÄ posun %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1601
+#, c-format
+msgid "%1$3ddB"
+msgstr "%1$3ddB"
+
+#: src/frontend/mame/ui/ui.cpp:1645
+#, c-format
+msgid "%1$d%%"
+msgstr "%1$d%%"
+
+#: src/frontend/mame/ui/ui.cpp:1661
+#, c-format
+msgid "%1$3.0f%%"
+msgstr "%1$3.0f%%"
+
+#: src/frontend/mame/ui/ui.cpp:1685
+#, c-format
+msgid "%1$.3ffps"
+msgstr "%1$.3ffps"
+
+#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
+#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
+#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
+#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
+#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
+#: src/frontend/mame/ui/ui.cpp:1927
+#, c-format
+msgid "%1$.3f"
+msgstr "%1$.3f"
+
+#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
+#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
+#, c-format
+msgid "%1$1.2f"
+msgstr "%1$1.2f"
+
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
+msgstr "ZaměřovaÄ Å¡kála X %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
+msgstr "ZaměřovaÄ Å¡kála Y %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
+msgstr "ZaměřovaÄ posun X %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
+msgstr "ZaměřovaÄ posun Y %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
+msgstr "**Chyba ukládání ui.ini**"
+
+#: src/frontend/mame/ui/ui.cpp:2226
+#, c-format
+msgid "**Error saving %s.ini**"
+msgstr "**Chyba ukládání %s.ini**"
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " COLORS"
+msgstr " BARVY"
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " PENS"
+msgstr " PERA"
+
+#: src/frontend/mame/ui/devopt.cpp:39
+#, c-format
msgid ""
+"[This option is currently mounted in the running system]\n"
"\n"
-"Video:\n"
-msgstr ""
+"Option: %1$s\n"
+"Device: %2$s\n"
"\n"
-"Video:\n"
-
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
-msgstr "Žádný\n"
-
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
-msgstr "Vektor"
+"The selected option enables the following items:\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:40
#, c-format
-msgid "%1$s: %2$s\n"
-msgstr "%1$s: %2$s\n"
+msgid ""
+"[This option is NOT currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"If you select this option, the following items will be enabled:\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
-msgstr "%2$s\n"
+#: src/frontend/mame/ui/devopt.cpp:48
+msgid "* CPU:\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
#, c-format
-msgid "Screen '%1$s'"
-msgstr "Obraz '%1$s'"
+msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr "Obraz"
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
+msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
-msgstr "Nepodporováno"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %3$d.%4$06d MHz\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
-msgstr "ČásteÄná podpora"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %5$d.%6$03d kHz\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
-msgstr "[prázdný]"
+#: src/frontend/mame/ui/devopt.cpp:85
+msgid "* Video:\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
-msgstr "Panely ovládání"
+#: src/frontend/mame/ui/devopt.cpp:90
+#, c-format
+msgid " Screen '%1$s': Vector\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
-msgstr "Náhled artworku"
+#: src/frontend/mame/ui/devopt.cpp:99
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
-msgstr "Konec hry"
+#: src/frontend/mame/ui/devopt.cpp:100
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
-msgstr "Přidat nebo odebrat z oblíbených"
+#: src/frontend/mame/ui/devopt.cpp:113
+msgid "* Sound:\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
-msgstr "Export zobrazeného seznamu do souboru"
+#: src/frontend/mame/ui/devopt.cpp:133
+#, c-format
+msgid " %1$d×%2$s\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
-msgstr "Zobraz DAT pohled"
+#: src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
-msgstr "VýbÄ›r Äásti software:"
+#: src/frontend/mame/ui/devopt.cpp:164
+#, c-format
+msgid ""
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:204 src/frontend/mame/ui/devopt.cpp:220
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
+#: src/frontend/mame/ui/devopt.cpp:209 src/frontend/mame/ui/devopt.cpp:225
#, c-format
-msgid "Software is clone of: %1$-.100s"
-msgstr "Software je klon: %1$-.100s"
+msgid " %1$s\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
-msgstr "Software je parent"
+#: src/frontend/mame/ui/devopt.cpp:230
+msgid "* DIP switch settings:\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
-msgstr "Podpora: Ne"
+#: src/frontend/mame/ui/devopt.cpp:232
+msgid "* Configuration settings:\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
-msgstr "Podpora: ČásteÄnÄ›"
+#: src/frontend/mame/ui/devopt.cpp:234
+msgid "* Input device(s):\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
-msgstr "Podpora: Ano"
+#: src/frontend/mame/ui/devopt.cpp:236
+#, c-format
+msgid " User inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
+#: src/frontend/mame/ui/devopt.cpp:238
#, c-format
-msgid "romset: %1$-.100s"
-msgstr "romset: %1$-.100s"
+msgid " Mahjong inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
+#: src/frontend/mame/ui/devopt.cpp:240
#, c-format
-msgid "Driver is clone of: %1$-.100s"
-msgstr "Driver je klon: %1$-.100s"
+msgid " Hanafuda inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
-msgstr "Driver je parent"
+#: src/frontend/mame/ui/devopt.cpp:242
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
+#: src/frontend/mame/ui/devopt.cpp:244
#, c-format
-msgid "%1$s %2$s"
-msgstr "%1$s %2$s"
+msgid " Analog inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
-msgstr "Obrázky"
+#: src/frontend/mame/ui/devopt.cpp:246
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
-msgstr "Informace"
+#: src/frontend/mame/ui/devopt.cpp:248
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
-msgstr "Využití"
+#: src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
-msgstr "Základní informace"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* Media Options:\n"
+msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
-msgstr "Uživatelské rozhraní"
+#: src/frontend/mame/ui/devopt.cpp:257
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
+msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
-msgstr "Ostatní ovládání"
+#: src/frontend/mame/ui/devopt.cpp:263
+msgid "* Slot Options:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:270
+msgid "[None]\n"
+msgstr ""
#: plugins/timer/init.lua:94
msgid "Current time"
@@ -2722,51 +2641,51 @@ msgstr ""
msgid "Timer"
msgstr ""
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:510
msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheat/init.lua:534
+#: plugins/cheat/init.lua:516
msgid "Press button for hotkey or wait to clear"
msgstr ""
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:528
msgid "None"
msgstr ""
-#: plugins/cheat/init.lua:551
+#: plugins/cheat/init.lua:533
msgid "Done"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:547 plugins/cheat/init.lua:561
msgid "Set"
msgstr ""
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:580
msgid "Set hotkeys"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:720
#, lua-format
msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:723 plugins/cheat/init.lua:781
#, lua-format
msgid "Activated: %s"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:785
#, lua-format
msgid "Enabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:790
#, lua-format
msgid "Disabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "%s added"
msgstr ""
@@ -2815,304 +2734,219 @@ msgstr "Gameinit"
msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:404
+#: plugins/cheatfind/init.lua:373
msgid "Save Cheat"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Default"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Custom"
msgstr ""
-#: plugins/cheatfind/init.lua:408
+#: plugins/cheatfind/init.lua:377
msgid "Cheat Name"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/cheatfind/init.lua:383 plugins/cheatfind/init.lua:748
#, lua-format
msgid "Default name is %s"
msgstr ""
-#: plugins/cheatfind/init.lua:422
+#: plugins/cheatfind/init.lua:391
msgid "Player"
msgstr ""
-#: plugins/cheatfind/init.lua:427
+#: plugins/cheatfind/init.lua:396
msgid "Type"
msgstr ""
-#: plugins/cheatfind/init.lua:433
+#: plugins/cheatfind/init.lua:402
msgid "Save"
msgstr ""
-#: plugins/cheatfind/init.lua:462
+#: plugins/cheatfind/init.lua:429
#, lua-format
msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:472
+#: plugins/cheatfind/init.lua:437
msgid "Cheat added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:442
msgid ""
"Unable to write file\n"
"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/cheatfind/init.lua:486
+#: plugins/cheatfind/init.lua:451
msgid "Cancel"
msgstr ""
-#: plugins/cheatfind/init.lua:491
+#: plugins/cheatfind/init.lua:456
msgid "CPU or RAM"
msgstr ""
-#: plugins/cheatfind/init.lua:495
+#: plugins/cheatfind/init.lua:460
msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:479
+msgid "Data cleared and current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:487
+msgid "Start new search"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:497
+msgid "Current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:504
+msgid "Save current -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
+#: plugins/cheatfind/init.lua:536
#, lua-format
-msgid "Memory State saved to Slot %d"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:543
+msgid "Compare"
msgstr ""
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
+#: plugins/cheatfind/init.lua:546
+msgid "Left operand"
+msgstr ""
+
+#: plugins/cheatfind/init.lua:549
+msgid "Current"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:554
+msgid "Operator"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:561
+msgid "Left less than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:563
+msgid "Left greater than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:676
+#: plugins/cheatfind/init.lua:565
msgid "Left equal to right"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:567
+msgid "Left not equal to right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:680
+#: plugins/cheatfind/init.lua:569
msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:682
+#: plugins/cheatfind/init.lua:571
msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:684
+#: plugins/cheatfind/init.lua:573
msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:686
+#: plugins/cheatfind/init.lua:575
msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:688
+#: plugins/cheatfind/init.lua:577
msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:690
+#: plugins/cheatfind/init.lua:579
msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/cheatfind/init.lua:590
+msgid "Right operand"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/cheatfind/init.lua:598
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:719
+#: plugins/cheatfind/init.lua:602
msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:725
+#: plugins/cheatfind/init.lua:608
msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:738
-msgid ""
-"Use this if you want to poke the Slot 1 value (eg. You started with "
-"something but lost it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:740
-msgid ""
-"Use this if you want to poke the Last Slot value (eg. You started without an "
-"item but finally got it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:816
+#: plugins/cheatfind/init.lua:632
msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:820
+#: plugins/cheatfind/init.lua:636
msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:823
+#: plugins/cheatfind/init.lua:639
msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheatfind/init.lua:690
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Test cheat at addr %08X"
msgstr ""
-#: plugins/cheatfind/init.lua:974
+#: plugins/cheatfind/init.lua:722
msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
+#: plugins/cheatfind/init.lua:788
msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
+#: plugins/cheatfind/init.lua:806
msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
+#: plugins/cheatfind/init.lua:816
msgid "Cheat Finder"
msgstr ""
-#: plugins/portname/init.lua:103
+#: plugins/portname/init.lua:69
msgid "Save input names to file"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
+#: plugins/portname/init.lua:100 plugins/portname/init.lua:105
+#: plugins/portname/init.lua:121
msgid "Failed to save input name file"
msgstr ""
-#: plugins/portname/init.lua:167
+#: plugins/portname/init.lua:133
#, lua-format
msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/portname/init.lua:172
+#: plugins/portname/init.lua:138
msgid "Input ports"
msgstr ""
diff --git a/language/Danish/strings.po b/language/Danish/strings.po
index bfc5db3e415..03e6094f31e 100644
--- a/language/Danish/strings.po
+++ b/language/Danish/strings.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MAME\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-03-17 13:37+1100\n"
+"POT-Creation-Date: 2018-04-28 15:32+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -18,1144 +18,1041 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
+#: src/frontend/mame/ui/auditmenu.cpp:96
#, c-format
-msgid "Screen #%d"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Enabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Disabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
-msgid "Marquees"
+#: src/frontend/mame/ui/auditmenu.cpp:99
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/auditmenu.cpp:104
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/auditmenu.cpp:130
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/auditmenu.cpp:142
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/selmenu.cpp:49 src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/selmenu.cpp:50 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/selmenu.cpp:51
+msgid "Control Panels"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/selmenu.cpp:52 src/frontend/mame/ui/dirmenu.cpp:50
+msgid "PCBs"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/selmenu.cpp:53 src/frontend/mame/ui/dirmenu.cpp:47
+msgid "Flyers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/selmenu.cpp:54 src/frontend/mame/ui/dirmenu.cpp:48
+msgid "Titles"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/selmenu.cpp:55 src/frontend/mame/ui/dirmenu.cpp:49
+msgid "Ends"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/selmenu.cpp:56
+msgid "Artwork Preview"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/selmenu.cpp:57 src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Bosses"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/selmenu.cpp:58 src/frontend/mame/ui/dirmenu.cpp:60
+msgid "Logos"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/selmenu.cpp:59 src/frontend/mame/ui/dirmenu.cpp:62
+msgid "Versus"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/selmenu.cpp:60
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/selmenu.cpp:61 src/frontend/mame/ui/dirmenu.cpp:59
+msgid "HowTo"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/selmenu.cpp:62 src/frontend/mame/ui/dirmenu.cpp:61
+msgid "Scores"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/selmenu.cpp:63 src/frontend/mame/ui/dirmenu.cpp:57
+msgid "Select"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/selmenu.cpp:64 src/frontend/mame/ui/dirmenu.cpp:51
+#: src/frontend/mame/ui/videoopt.cpp:224
+msgid "Marquees"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/selmenu.cpp:65 src/frontend/mame/ui/dirmenu.cpp:63
+msgid "Covers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/selmenu.cpp:69
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/selmenu.cpp:70
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/selmenu.cpp:71
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/selmenu.cpp:237
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/selmenu.cpp:343
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/selmenu.cpp:570 src/frontend/mame/ui/selmenu.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:311
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/selmenu.cpp:574
+#, c-format
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/selmenu.cpp:576
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/selmenu.cpp:581
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/selmenu.cpp:586
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/selmenu.cpp:591
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selmenu.cpp:596
+#, c-format
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selmenu.cpp:612
#, c-format
-msgid "Current %1$s Folders"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selmenu.cpp:614
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selmenu.cpp:619
+#: src/frontend/mame/ui/simpleselgame.cpp:330
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selmenu.cpp:621
+#: src/frontend/mame/ui/simpleselgame.cpp:332
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:623
+#: src/frontend/mame/ui/simpleselgame.cpp:334
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:627
+#: src/frontend/mame/ui/simpleselgame.cpp:338
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/selmenu.cpp:629
+#: src/frontend/mame/ui/simpleselgame.cpp:340
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/selmenu.cpp:631
+#: src/frontend/mame/ui/simpleselgame.cpp:342
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/selmenu.cpp:634
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/selmenu.cpp:636
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/selmenu.cpp:638
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/selmenu.cpp:640
+#: src/frontend/mame/ui/simpleselgame.cpp:351
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/selmenu.cpp:650
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/selmenu.cpp:1975
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/selmenu.cpp:1976
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/selmenu.cpp:2386 src/frontend/mame/ui/miscmenu.cpp:826
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/selmenu.cpp:2454
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/selmenu.cpp:2489
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/dirmenu.cpp:35
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/dirmenu.cpp:36
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
-#: src/frontend/mame/ui/slotopt.cpp:220
-msgid "[empty slot]"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/dirmenu.cpp:40
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/dirmenu.cpp:52
+msgid "Controls Panels"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/dirmenu.cpp:53
+msgid "Crosshairs"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Artworks"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks Preview"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "GameOver"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/dirmenu.cpp:116
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/dirmenu.cpp:167
+#, c-format
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/dirmenu.cpp:182
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/dirmenu.cpp:429
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/dirmenu.cpp:513
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/info.cpp:30
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "LAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/info.cpp:180
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/info.cpp:190
+msgid ""
+"There are known problems with this machine\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/info.cpp:195
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/info.cpp:200
+msgid "Completely unemulated features: "
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#, c-format
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#: src/frontend/mame/ui/info.cpp:267
+#, c-format
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/info.cpp:216
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/info.cpp:231
+msgid "Screen flipping in cocktail mode is not supported.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/info.cpp:233
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/info.cpp:235
+msgid ""
+"This machine was never completed. It may exhibit strange behavior or missing "
+"elements that are not bugs in the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/info.cpp:237
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/info.cpp:241
+msgid ""
+"\n"
+"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
+"complete. There is nothing you can do to fix this problem except wait for "
+"the developers to improve the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/info.cpp:243
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they requires physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/info.cpp:265
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/info.cpp:278
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/info.cpp:293
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:149
+#: src/frontend/mame/ui/info.cpp:342
msgid ""
-"The selected game is missing one or more required ROM or CHD images. Please "
-"select a different game.\n"
"\n"
-"Press any key to continue."
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:247
-#, c-format
+#: src/frontend/mame/ui/info.cpp:370
msgid ""
-"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
"\n"
-"If this is your first time using %2$s, please see the config.txt file in the "
-"docs directory for information on configuring %2$s."
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+"Video:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/info.cpp:374
+msgid "None\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/info.cpp:381
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:314
-#: src/frontend/mame/ui/selsoft.cpp:652 src/frontend/mame/ui/selsoft.cpp:659
+#: src/frontend/mame/ui/info.cpp:392
#, c-format
-msgid "%1$-.100s"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:317
-#: src/frontend/mame/ui/selmenu.cpp:618 src/frontend/mame/ui/selmenu.cpp:654
-#, c-format
-msgid "%1$s, %2$-.100s"
+#: src/frontend/mame/ui/info.cpp:392
+msgid "%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
+#: src/frontend/mame/ui/info.cpp:438
#, c-format
-msgid "Driver: %1$-.100s"
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+msgid "Screen '%1$s'"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/info.cpp:440
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/info.cpp:525
+msgid "Not supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/info.cpp:528
+msgid "Partially supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/info.cpp:536
+msgid "[empty]"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/optsmenu.cpp:193
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/optsmenu.cpp:206
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/optsmenu.cpp:207
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/optsmenu.cpp:210 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/optsmenu.cpp:213
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/optsmenu.cpp:216
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/optsmenu.cpp:228
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:337
-msgid "This driver requires images to be loaded in the following device(s): "
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
+msgid "Rewind"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1302
-#, c-format
-msgid ""
-"Are you sure you want to quit?\n"
-"\n"
-"Press ''%1$s'' to quit,\n"
-"Press ''%2$s'' to return to emulation."
+#: src/frontend/mame/ui/inputmap.cpp:53
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/inputmap.cpp:59
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
+#: src/frontend/mame/ui/inputmap.cpp:628 src/frontend/mame/ui/miscmenu.cpp:96
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/selector.cpp:116
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
+#: src/frontend/mame/ui/selector.cpp:124
#, c-format
-msgid "Overclock %1$s sound"
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/filesel.cpp:256
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/swlist.cpp:88
+msgid "[file manager]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/swlist.cpp:228
+msgid "Switch Item Ordering"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
+#: src/frontend/mame/ui/swlist.cpp:259
#, c-format
-msgid "%1$s Horiz Stretch"
+msgid "Switched Order: entries now ordered by %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "shortname"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "description"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/swlist.cpp:389
+msgid "[compatible lists]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/datmenu.cpp:80
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/datmenu.cpp:362
+msgid "Revision: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/simpleselgame.cpp:149
+msgid ""
+"The selected game is missing one or more required ROM or CHD images. Please "
+"select a different game.\n"
+"\n"
+"Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
+#: src/frontend/mame/ui/simpleselgame.cpp:241
#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+msgid ""
+"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
+"\n"
+"If this is your first time using %2$s, please see the config.txt file in the "
+"docs directory for information on configuring %2$s."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/simpleselgame.cpp:271
+#: src/frontend/mame/ui/selgame.cpp:436
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/simpleselgame.cpp:292
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/simpleselgame.cpp:294
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
+#: src/frontend/mame/ui/simpleselgame.cpp:308
+#: src/frontend/mame/ui/selsoft.cpp:564 src/frontend/mame/ui/selsoft.cpp:571
#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/simpleselgame.cpp:314
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
+#: src/frontend/mame/ui/videoopt.cpp:56
#, c-format
-msgid "Crosshair Offset %1$s"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/videoopt.cpp:208
+msgid "Backdrops"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Enabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Disabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
-#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
-#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
-#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
-#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
-#: src/frontend/mame/ui/ui.cpp:1927
-#, c-format
-msgid "%1$.3f"
+#: src/frontend/mame/ui/videoopt.cpp:212
+msgid "Overlays"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
-#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
-#, c-format
-msgid "%1$1.2f"
+#: src/frontend/mame/ui/videoopt.cpp:216
+msgid "Bezels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:220
+msgid "CPanels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "View"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cropped"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Full"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1047
+msgid "No"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
-msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1047
+msgid "Yes"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
-msgid ""
-"Cheat Comment:\n"
-"%s"
+#: src/frontend/mame/ui/filecreate.cpp:171
+msgid "New Image Name:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/filecreate.cpp:177
+msgid "Image Format:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/filecreate.cpp:183
+msgid "Create"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/filecreate.cpp:266
+msgid "Select image format"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Keyboard Mode:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Natural"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Emulated"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
+#: src/frontend/mame/ui/miscmenu.cpp:236
#, c-format
msgid ""
-"%s\n"
-" added to favorites list."
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
+#: src/frontend/mame/ui/miscmenu.cpp:238
#, c-format
msgid ""
-"%s\n"
-" removed from favorites list."
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/miscmenu.cpp:242
+#, c-format
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
+"Tickets dispensed: %1$d\n"
"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
+#: src/frontend/mame/ui/miscmenu.cpp:253
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/miscmenu.cpp:253
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
-#, c-format
-msgid "Driver: \"%1$s\" software list "
+#: src/frontend/mame/ui/miscmenu.cpp:256
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
-#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+#: src/frontend/mame/ui/miscmenu.cpp:503
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/miscmenu.cpp:601
#, c-format
-msgid "Search: %1$s_"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
-msgid "Unfiltered"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
-msgid "Available"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
-msgid "Unavailable"
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
-msgid "Working"
+#: src/frontend/mame/ui/miscmenu.cpp:627
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
-msgid "Not Working"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
-msgid "Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:655
+msgid "Export list in XML format (like -listxml)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
-msgid "Not Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:656
+msgid "Export list in XML format (like -listxml, but exclude devices)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
-msgid "Category"
+#: src/frontend/mame/ui/miscmenu.cpp:657
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
-msgid "Favorites"
+#: src/frontend/mame/ui/miscmenu.cpp:710 src/frontend/mame/ui/ui.cpp:2230
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/miscmenu.cpp:760 src/frontend/mame/ui/utils.cpp:66
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
-msgid "Not BIOS"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
-msgid "Parents"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
-msgid "Clones"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:73
-msgid "Manufacturer"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
-msgid "Year"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:75
-msgid "Save Supported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:76
-msgid "Save Unsupported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:77
-msgid "CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:78
-msgid "No CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:79
-msgid "Vertical Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:80
-msgid "Horizontal Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
-msgid "Custom Filter"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:91
-msgid "Publisher"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:92
-msgid "Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:764
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
-msgid "Partially Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:767
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
-msgid "Unsupported"
+#: src/frontend/mame/ui/miscmenu.cpp:776 src/frontend/mame/ui/mainmenu.cpp:145
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
-msgid "Release Region"
+#: src/frontend/mame/ui/miscmenu.cpp:778 src/frontend/mame/ui/mainmenu.cpp:147
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
-msgid "Device Type"
+#: src/frontend/mame/ui/miscmenu.cpp:781
+msgid "Save machine configuration"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
-msgid "Software List"
+#: src/frontend/mame/ui/miscmenu.cpp:792
+msgid "Configure machine:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
-msgid "<set up filters>"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:736
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:551 plugins/cheatfind/init.lua:619
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
-msgid "Select custom filters:"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:739
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:554 plugins/cheat/init.lua:563
+#: plugins/cheatfind/init.lua:616
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
-#, c-format
-msgid "Filter %1$u"
+#: src/frontend/mame/ui/miscmenu.cpp:909 src/frontend/mame/ui/selgame.cpp:441
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
-msgid "Remove last filter"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
-msgid "Add filter"
+#: src/frontend/mame/ui/barcode.cpp:78
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
-msgid "Select category:"
+#: src/frontend/mame/ui/barcode.cpp:119
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
-msgid "[no category INI files]"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:99
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
-msgid "[no groups in INI file]"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
-msgid "No category INI files found"
+#: src/frontend/mame/ui/mainmenu.cpp:60
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
-msgid "File"
+#: src/frontend/mame/ui/mainmenu.cpp:62
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
-msgid "No groups found in category file"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
-msgid "Group"
+#: src/frontend/mame/ui/mainmenu.cpp:68
+msgid "Dip Switches"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
-msgid "Include clones"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
+#: src/frontend/mame/ui/mainmenu.cpp:78
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/mainmenu.cpp:85
+msgid "Image Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/mainmenu.cpp:96
+msgid "Tape Control"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/mainmenu.cpp:102
+msgid "BIOS Selection"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/mainmenu.cpp:106
+msgid "Slot Devices"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
-#, c-format
-msgid "%s [internal]"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Barcode Reader"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:203 src/frontend/mame/ui/miscmenu.cpp:97
-#: src/frontend/mame/ui/inputmap.cpp:615
-msgid "Reset"
+#: src/frontend/mame/ui/mainmenu.cpp:114
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/mainmenu.cpp:118
+msgid "Keyboard Mode"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/mainmenu.cpp:121
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/mainmenu.cpp:124 src/frontend/mame/ui/submenu.cpp:101
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/mainmenu.cpp:128
+msgid "Crosshair Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/mainmenu.cpp:132 plugins/cheat/init.lua:735
+msgid "Cheat"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:762
-#: plugins/cheat/init.lua:569 plugins/cheatfind/init.lua:792
-#: plugins/cheatfind/init.lua:803
-msgid "On"
+#: src/frontend/mame/ui/mainmenu.cpp:135
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:765
-#: plugins/cheat/init.lua:572 plugins/cheat/init.lua:581
-#: plugins/cheatfind/init.lua:789 plugins/cheatfind/init.lua:800
-msgid "Off"
+#: src/frontend/mame/ui/mainmenu.cpp:139
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/mainmenu.cpp:154
+msgid "Select New Machine"
msgstr ""
#: src/frontend/mame/ui/custui.cpp:31
@@ -1378,1281 +1275,1303 @@ msgstr ""
msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/submenu.cpp:22
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/submenu.cpp:23
+msgid "Re-select last machine played"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/submenu.cpp:24
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:26
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:27
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:28
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:29
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:30
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
-#, c-format
-msgid "%s.txt saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/submenu.cpp:45
+msgid "Refresh speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/submenu.cpp:47
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/submenu.cpp:49
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
-msgid "Configure Machine"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
-#, c-format
-msgid "Romset\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
-#, c-format
-msgid "Year\t%1$s\n"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
-#, c-format
-msgid "Manufacturer\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
-#, c-format
-msgid "Driver is Clone of\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1044
-msgid "Driver is Parent\t\n"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
-msgid "Analog Controls\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Artwork Crop"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
-msgid "Keyboard Inputs\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Use Backdrops"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
-msgid "Overall\tNOT WORKING\n"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Use Overlays"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
-msgid "Overall\tUnemulated Protection\n"
+#: src/frontend/mame/ui/submenu.cpp:60
+msgid "Use Bezels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
-msgid "Overall\tWorking\n"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Use Control Panels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
-msgid "Graphics\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:62
+msgid "Use Marquees"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
-msgid "Graphics\tWrong Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
-msgid "Graphics\tImperfect Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
-msgid "Graphics\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
-msgid "Graphics\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Bilinear snapshot"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
-msgid "Sound\tNone\n"
+#: src/frontend/mame/ui/submenu.cpp:69
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
-msgid "Sound\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
-msgid "Sound\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:72
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
-msgid "Sound\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
-msgid "Capture\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
-msgid "Capture\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
-msgid "Camera\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
-msgid "Camera\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
-msgid "Microphone\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
-msgid "Microphone\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:79
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
-msgid "Controls\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
-msgid "Controls\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
-msgid "Keyboard\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Joystick saturation"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
-msgid "Keyboard\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Natural keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
-msgid "Mouse\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
-msgid "Mouse\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
-msgid "Media\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
-msgid "Media\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Lightgun Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
-msgid "Disk\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Trackball Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
-msgid "Disk\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
-msgid "Printer\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
-msgid "Printer\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
-msgid "Mag. Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:95
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
-msgid "Mag. Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:96
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
-msgid "Punch Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:97
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
-msgid "Punch Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
-msgid "Mag. Drum\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:103
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
-msgid "Mag. Drum\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
-msgid "(EP)ROM\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
-msgid "(EP)ROM\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
-msgid "Communications\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:109
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
-msgid "Communications\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:110
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
-msgid "LAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:111
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
-msgid "LAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:112
+msgid "Enforce Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
-msgid "WAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:113
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
-msgid "WAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:114
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
-msgid "Timing\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
-msgid "Timing\tImperfect\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tYes\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Select position to load from"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tNo\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tYes\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Select position to save to"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tNo\n"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:309 src/frontend/mame/ui/selsoft.cpp:211
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:314 src/frontend/mame/ui/selgame.cpp:320
+#: src/frontend/mame/ui/selsoft.cpp:216
+#, c-format
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:437
+msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:849
+#, c-format
+msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:850
+#, c-format
+msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:851
+#, c-format
+msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:855
+#, c-format
+msgid "Driver is Clone of\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:857
+msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tVertical\n"
+#: src/frontend/mame/ui/selgame.cpp:860
+msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tHorizontal\n"
+#: src/frontend/mame/ui/selgame.cpp:862
+msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:865
+msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:867
+msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
-msgid "ROM Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:869
+msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
-msgid "ROM Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:872
+msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
-msgid "Samples Audit Result\tNone Needed\n"
+#: src/frontend/mame/ui/selgame.cpp:874
+msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
-msgid "Samples Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:876
+msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
-msgid "Samples Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:878
+msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
-msgid ""
-"ROM Audit \tDisabled\n"
-"Samples Audit \tDisabled\n"
+#: src/frontend/mame/ui/selgame.cpp:880
+msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
+#: src/frontend/mame/ui/selgame.cpp:883
+msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1424
-#, c-format
-msgid "Romset: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:885
+msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
-#, c-format
-msgid "System: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:887
+msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1465
-msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
+#: src/frontend/mame/ui/selgame.cpp:889
+msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
+#: src/frontend/mame/ui/selgame.cpp:892
+msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
+#: src/frontend/mame/ui/selgame.cpp:894
+msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
+#: src/frontend/mame/ui/selgame.cpp:897
+msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
+#: src/frontend/mame/ui/selgame.cpp:899
+msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
+#: src/frontend/mame/ui/selgame.cpp:902
+msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selgame.cpp:904
+msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selgame.cpp:907
+msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/selgame.cpp:909
+msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/selgame.cpp:912
+msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/selgame.cpp:914
+msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/selgame.cpp:917
+msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/selgame.cpp:919
+msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/selgame.cpp:922
+msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/selgame.cpp:924
+msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/selgame.cpp:927
+msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/selgame.cpp:929
+msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/selgame.cpp:932
+msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/selgame.cpp:934
+msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/selgame.cpp:937
+msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/selgame.cpp:939
+msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/selgame.cpp:970
+msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/selgame.cpp:972
+msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/selgame.cpp:975
+msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/selgame.cpp:977
+msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/selgame.cpp:979
+msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/selgame.cpp:983
+msgid ""
+"ROM Audit \tDisabled\n"
+"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/selgame.cpp:1167
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/selgame.cpp:1183 src/frontend/mame/ui/selsoft.cpp:555
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/selgame.cpp:1185 src/frontend/mame/ui/selsoft.cpp:557
+#, c-format
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/selgame.cpp:1195
+#, c-format
+msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/selgame.cpp:1202
+#, c-format
+msgid "System: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/selgame.cpp:1239
+msgid ""
+"The selected machine is missing one or more required ROM or CHD images. "
+"Please select a different machine.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/selgame.cpp:1245 src/frontend/mame/ui/selsoft.cpp:462
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/utils.cpp:57 src/frontend/mame/ui/utils.cpp:81
+msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/utils.cpp:58 src/frontend/mame/ui/utils.cpp:82
+msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/utils.cpp:59 src/frontend/mame/ui/utils.cpp:83
+msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/utils.cpp:60
+msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/utils.cpp:61
+msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/utils.cpp:62
+msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:63
+msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:64
+msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:65
+msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:67
+msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:84
+msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/utils.cpp:85
+msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:70
+msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:86
+msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/utils.cpp:72
+msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/utils.cpp:73
+msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/utils.cpp:74
+msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/utils.cpp:75
+msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/utils.cpp:76
+msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/utils.cpp:77
+msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/utils.cpp:78 src/frontend/mame/ui/utils.cpp:94
+msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/utils.cpp:87
+msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/utils.cpp:88
+msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/utils.cpp:89
+msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/utils.cpp:90
+msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/utils.cpp:91
+msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:43
-#, c-format
-msgid ""
-"[This option is currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"The selected option enables the following items:\n"
+#: src/frontend/mame/ui/utils.cpp:92
+msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:44
-#, c-format
-msgid ""
-"[This option is NOT currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"If you select this option, the following items will be enabled:\n"
+#: src/frontend/mame/ui/utils.cpp:93
+msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/utils.cpp:244
+msgid "<set up filters>"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:352
+msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/utils.cpp:503
#, c-format
-msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
-msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:518
+msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %3$d.%4$06d MHz\n"
+#: src/frontend/mame/ui/utils.cpp:520
+msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:959
+msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/utils.cpp:990
+msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/utils.cpp:998
+msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:103
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1032
+msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1037
+msgid "File"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/utils.cpp:1041
+msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
-#, c-format
-msgid " %1$d×%2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1046
+msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1047
+msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:168
-#, c-format
+#: src/frontend/mame/ui/selsoft.cpp:456
msgid ""
-"* BIOS settings:\n"
-" %1$d options [default: %2$s]\n"
+"The selected software is missing one or more required files. Please select a "
+"different software.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:208 src/frontend/mame/ui/devopt.cpp:224
-#: src/frontend/mame/ui/devopt.cpp:269
+#: src/frontend/mame/ui/selsoft.cpp:549
#, c-format
-msgid " %1$s [default: %2$s]\n"
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
+#: src/frontend/mame/ui/selsoft.cpp:550
#, c-format
-msgid " %1$s\n"
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:260
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:419
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/filesel.cpp:515
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:516
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:518
+msgid "Read-write"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
-#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:519
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:520
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:117
+msgid "Cannot save over directory"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:150
+msgid ""
+"The software selected is missing one or more required ROM or CHD images. "
+"Please select a different one."
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:294
+msgid "Return to Machine"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
-#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:299 src/frontend/mame/ui/menu.cpp:301
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+#: src/frontend/mame/ui/menu.cpp:306 src/frontend/mame/ui/menu.cpp:308
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
-#, c-format
-msgid " %1$s [tag: %2$s]\n"
+#: src/frontend/mame/ui/menu.cpp:742
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
+#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:653
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+#: src/frontend/mame/ui/cheatopt.cpp:105
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/cheatopt.cpp:136
+msgid "Autofire Settings"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:581
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:582
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
+#: src/frontend/mame/ui/cheatopt.cpp:273
+msgid "Autofire Status"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
+#: src/frontend/mame/ui/cheatopt.cpp:316
+msgid "No buttons found on this machine!"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+#: src/frontend/mame/ui/cheatopt.cpp:327 src/frontend/mame/ui/cheatopt.cpp:331
+msgid "Autofire Delay"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
-msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
+#: src/frontend/mame/ui/ui.cpp:337
+msgid "This driver requires images to be loaded in the following device(s): "
msgstr ""
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
+#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
+msgid "Keyboard Emulation Status"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
+#: src/frontend/mame/ui/ui.cpp:1086
+msgid "Mode: PARTIAL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
+#: src/frontend/mame/ui/ui.cpp:1087
+msgid "UI: Enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
+#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
+msgid "**Use ScrLock to toggle**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
+#: src/frontend/mame/ui/ui.cpp:1096
+msgid "Mode: FULL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: src/frontend/mame/ui/ui.cpp:1097
+msgid "UI: Disabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
+#: src/frontend/mame/ui/ui.cpp:1249
+msgid "Autofire can't be enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
+#: src/frontend/mame/ui/ui.cpp:1302
+#, c-format
+msgid ""
+"Are you sure you want to quit?\n"
+"\n"
+"Press ''%1$s'' to quit,\n"
+"Press ''%2$s'' to return to emulation."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
+#: src/frontend/mame/ui/ui.cpp:1374
+msgid "Master Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
+#: src/frontend/mame/ui/ui.cpp:1383
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/ui.cpp:1407
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/ui.cpp:1416
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/ui.cpp:1437
+#, c-format
+msgid "%1$s Refresh Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, c-format
+msgid "%1$s Brightness"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1444
+#, c-format
+msgid "%1$s Contrast"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1446
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/ui.cpp:1450
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/ui.cpp:1452
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/ui.cpp:1454
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/ui.cpp:1456
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/ui.cpp:1475
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/ui.cpp:1477
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/ui.cpp:1479
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
-msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+#: src/frontend/mame/ui/ui.cpp:1481
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:198
-msgid ""
-"There are known problems with this machine\n"
-"\n"
+#: src/frontend/mame/ui/ui.cpp:1493
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/ui.cpp:1494
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/ui.cpp:1495
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
+#: src/frontend/mame/ui/ui.cpp:1496
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#: src/frontend/mame/ui/info.cpp:275
+#: src/frontend/mame/ui/ui.cpp:1511
#, c-format
-msgid ", %s"
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
+#: src/frontend/mame/ui/ui.cpp:1513
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:243
-msgid ""
-"This machine was never completed. It may exhibit strange behavior or missing "
-"elements that are not bugs in the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1601
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:245
-msgid ""
-"This machine has no sound hardware, MAME will produce no sounds, this is "
-"expected behaviour.\n"
+#: src/frontend/mame/ui/ui.cpp:1645
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:249
-msgid ""
-"\n"
-"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
-"complete. There is nothing you can do to fix this problem except wait for "
-"the developers to improve the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1661
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:251
-msgid ""
-"\n"
-"Elements of this machine cannot be emulated as they requires physical "
-"interaction or consist of mechanical devices. It is not possible to fully "
-"experience this machine.\n"
+#: src/frontend/mame/ui/ui.cpp:1685
+#, c-format
+msgid "%1$.3ffps"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
+#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
+#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
+#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
+#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
+#: src/frontend/mame/ui/ui.cpp:1927
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
+#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/ui.cpp:2005
#, c-format
-msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/ui.cpp:2226
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " COLORS"
+msgstr ""
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:39
#, c-format
-msgid "%1$s: %2$s\n"
+msgid ""
+"[This option is currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"The selected option enables the following items:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+#: src/frontend/mame/ui/devopt.cpp:40
+#, c-format
+msgid ""
+"[This option is NOT currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"If you select this option, the following items will be enabled:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:48
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
#, c-format
-msgid "Screen '%1$s'"
+msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
+msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:85
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:90
+#, c-format
+msgid " Screen '%1$s': Vector\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:99
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:100
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:113
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:133
+#, c-format
+msgid " %1$d×%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:164
+#, c-format
+msgid ""
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:204 src/frontend/mame/ui/devopt.cpp:220
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
+#: src/frontend/mame/ui/devopt.cpp:209 src/frontend/mame/ui/devopt.cpp:225
#, c-format
-msgid "Software is clone of: %1$-.100s"
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: src/frontend/mame/ui/devopt.cpp:230
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: src/frontend/mame/ui/devopt.cpp:232
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: src/frontend/mame/ui/devopt.cpp:234
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: src/frontend/mame/ui/devopt.cpp:236
+#, c-format
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
+#: src/frontend/mame/ui/devopt.cpp:238
#, c-format
-msgid "romset: %1$-.100s"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
+#: src/frontend/mame/ui/devopt.cpp:240
#, c-format
-msgid "Driver is clone of: %1$-.100s"
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: src/frontend/mame/ui/devopt.cpp:242
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
+#: src/frontend/mame/ui/devopt.cpp:244
#, c-format
-msgid "%1$s %2$s"
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: src/frontend/mame/ui/devopt.cpp:246
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: src/frontend/mame/ui/devopt.cpp:248
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: src/frontend/mame/ui/devopt.cpp:257
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: src/frontend/mame/ui/devopt.cpp:263
+msgid "* Slot Options:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:270
+msgid "[None]\n"
msgstr ""
#: plugins/timer/init.lua:94
@@ -2671,51 +2590,51 @@ msgstr ""
msgid "Timer"
msgstr ""
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:510
msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheat/init.lua:534
+#: plugins/cheat/init.lua:516
msgid "Press button for hotkey or wait to clear"
msgstr ""
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:528
msgid "None"
msgstr ""
-#: plugins/cheat/init.lua:551
+#: plugins/cheat/init.lua:533
msgid "Done"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:547 plugins/cheat/init.lua:561
msgid "Set"
msgstr ""
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:580
msgid "Set hotkeys"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:720
#, lua-format
msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:723 plugins/cheat/init.lua:781
#, lua-format
msgid "Activated: %s"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:785
#, lua-format
msgid "Enabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:790
#, lua-format
msgid "Disabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "%s added"
msgstr ""
@@ -2764,303 +2683,218 @@ msgstr ""
msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:404
+#: plugins/cheatfind/init.lua:373
msgid "Save Cheat"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Default"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Custom"
msgstr ""
-#: plugins/cheatfind/init.lua:408
+#: plugins/cheatfind/init.lua:377
msgid "Cheat Name"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/cheatfind/init.lua:383 plugins/cheatfind/init.lua:748
#, lua-format
msgid "Default name is %s"
msgstr ""
-#: plugins/cheatfind/init.lua:422
+#: plugins/cheatfind/init.lua:391
msgid "Player"
msgstr ""
-#: plugins/cheatfind/init.lua:427
+#: plugins/cheatfind/init.lua:396
msgid "Type"
msgstr ""
-#: plugins/cheatfind/init.lua:433
+#: plugins/cheatfind/init.lua:402
msgid "Save"
msgstr ""
-#: plugins/cheatfind/init.lua:462
+#: plugins/cheatfind/init.lua:429
#, lua-format
msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:472
+#: plugins/cheatfind/init.lua:437
msgid "Cheat added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:442
msgid ""
"Unable to write file\n"
"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/cheatfind/init.lua:486
+#: plugins/cheatfind/init.lua:451
msgid "Cancel"
msgstr ""
-#: plugins/cheatfind/init.lua:491
+#: plugins/cheatfind/init.lua:456
msgid "CPU or RAM"
msgstr ""
-#: plugins/cheatfind/init.lua:495
+#: plugins/cheatfind/init.lua:460
msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:479
+msgid "Data cleared and current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:487
+msgid "Start new search"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:497
+msgid "Current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:504
+msgid "Save current -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
+#: plugins/cheatfind/init.lua:536
#, lua-format
-msgid "Memory State saved to Slot %d"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:543
+msgid "Compare"
msgstr ""
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
+#: plugins/cheatfind/init.lua:546
+msgid "Left operand"
+msgstr ""
+
+#: plugins/cheatfind/init.lua:549
+msgid "Current"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:554
+msgid "Operator"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:561
+msgid "Left less than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:563
+msgid "Left greater than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:676
+#: plugins/cheatfind/init.lua:565
msgid "Left equal to right"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:567
+msgid "Left not equal to right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:680
+#: plugins/cheatfind/init.lua:569
msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:682
+#: plugins/cheatfind/init.lua:571
msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:684
+#: plugins/cheatfind/init.lua:573
msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:686
+#: plugins/cheatfind/init.lua:575
msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:688
+#: plugins/cheatfind/init.lua:577
msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:690
+#: plugins/cheatfind/init.lua:579
msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/cheatfind/init.lua:590
+msgid "Right operand"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/cheatfind/init.lua:598
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:719
+#: plugins/cheatfind/init.lua:602
msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:725
+#: plugins/cheatfind/init.lua:608
msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:738
-msgid ""
-"Use this if you want to poke the Slot 1 value (eg. You started with "
-"something but lost it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:740
-msgid ""
-"Use this if you want to poke the Last Slot value (eg. You started without an "
-"item but finally got it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:816
+#: plugins/cheatfind/init.lua:632
msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:820
+#: plugins/cheatfind/init.lua:636
msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:823
+#: plugins/cheatfind/init.lua:639
msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheatfind/init.lua:690
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Test cheat at addr %08X"
msgstr ""
-#: plugins/cheatfind/init.lua:974
+#: plugins/cheatfind/init.lua:722
msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
+#: plugins/cheatfind/init.lua:788
msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
+#: plugins/cheatfind/init.lua:806
msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
+#: plugins/cheatfind/init.lua:816
msgid "Cheat Finder"
msgstr ""
-#: plugins/portname/init.lua:103
+#: plugins/portname/init.lua:69
msgid "Save input names to file"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
+#: plugins/portname/init.lua:100 plugins/portname/init.lua:105
+#: plugins/portname/init.lua:121
msgid "Failed to save input name file"
msgstr ""
-#: plugins/portname/init.lua:167
+#: plugins/portname/init.lua:133
#, lua-format
msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/portname/init.lua:172
+#: plugins/portname/init.lua:138
msgid "Input ports"
msgstr ""
diff --git a/language/Dutch/strings.po b/language/Dutch/strings.po
index c74478b28d7..eca3efc5af4 100644
--- a/language/Dutch/strings.po
+++ b/language/Dutch/strings.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MAME\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-03-17 13:37+1100\n"
+"POT-Creation-Date: 2018-04-28 15:32+1000\n"
"PO-Revision-Date: 2018-04-30 14:35+0200\n"
"Last-Translator: Jos van Mourik\n"
"Language-Team: MAME Language Team\n"
@@ -19,61 +19,238 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 2.0.6\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
+#: src/frontend/mame/ui/auditmenu.cpp:96
#, c-format
-msgid "Screen #%d"
-msgstr "Scherm #%d"
+msgid "Audit ROMs for %1$u machines marked unavailable?"
+msgstr "Controleer ROMs voor %1$u onbeschikbaar gemarkeerde machines?"
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr "Roteer"
+#: src/frontend/mame/ui/auditmenu.cpp:99
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
+msgstr "Controleer ROMs voor alle %1$u machines?"
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr "Backdrops"
+#: src/frontend/mame/ui/auditmenu.cpp:104
+#, c-format
+msgid "(results will be saved to %1$s)"
+msgstr "(resultaten worden opgeslagen naar %1$s)"
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Enabled"
-msgstr "Ingeschakeld"
+#: src/frontend/mame/ui/auditmenu.cpp:130
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
+msgstr ""
+"ROMs controleren voor machine %2$u van %3$u...\n"
+"%1$s"
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Disabled"
-msgstr "Uitgeschakeld"
+#: src/frontend/mame/ui/auditmenu.cpp:142
+msgid "Start Audit"
+msgstr "Start controle"
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr "Overlays"
+#: src/frontend/mame/ui/selmenu.cpp:49 src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Snapshots"
+msgstr "Schermafbeeldingen"
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr "Bezels"
+#: src/frontend/mame/ui/selmenu.cpp:50 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cabinets"
+msgstr "Kasten"
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
-msgstr "BPanelen"
+#: src/frontend/mame/ui/selmenu.cpp:51
+msgid "Control Panels"
+msgstr "Bedieningspanelen"
+
+#: src/frontend/mame/ui/selmenu.cpp:52 src/frontend/mame/ui/dirmenu.cpp:50
+msgid "PCBs"
+msgstr "Printplaten"
+
+#: src/frontend/mame/ui/selmenu.cpp:53 src/frontend/mame/ui/dirmenu.cpp:47
+msgid "Flyers"
+msgstr "Flyers"
+
+#: src/frontend/mame/ui/selmenu.cpp:54 src/frontend/mame/ui/dirmenu.cpp:48
+msgid "Titles"
+msgstr "Titels"
+
+#: src/frontend/mame/ui/selmenu.cpp:55 src/frontend/mame/ui/dirmenu.cpp:49
+msgid "Ends"
+msgstr "Eindes"
+
+#: src/frontend/mame/ui/selmenu.cpp:56
+msgid "Artwork Preview"
+msgstr "Voorvertoning artwork"
+
+#: src/frontend/mame/ui/selmenu.cpp:57 src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Bosses"
+msgstr "Eindbazen"
+
+#: src/frontend/mame/ui/selmenu.cpp:58 src/frontend/mame/ui/dirmenu.cpp:60
+msgid "Logos"
+msgstr "Logos"
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
+#: src/frontend/mame/ui/selmenu.cpp:59 src/frontend/mame/ui/dirmenu.cpp:62
+msgid "Versus"
+msgstr "Tegen"
+
+#: src/frontend/mame/ui/selmenu.cpp:60
+msgid "Game Over"
+msgstr "Game over"
+
+#: src/frontend/mame/ui/selmenu.cpp:61 src/frontend/mame/ui/dirmenu.cpp:59
+msgid "HowTo"
+msgstr "Bedieningsuitleg"
+
+#: src/frontend/mame/ui/selmenu.cpp:62 src/frontend/mame/ui/dirmenu.cpp:61
+msgid "Scores"
+msgstr "Scores"
+
+#: src/frontend/mame/ui/selmenu.cpp:63 src/frontend/mame/ui/dirmenu.cpp:57
+msgid "Select"
+msgstr "Selecteer"
+
+#: src/frontend/mame/ui/selmenu.cpp:64 src/frontend/mame/ui/dirmenu.cpp:51
+#: src/frontend/mame/ui/videoopt.cpp:224
msgid "Marquees"
msgstr "Marquees"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
-msgstr "Weergeven"
+#: src/frontend/mame/ui/selmenu.cpp:65 src/frontend/mame/ui/dirmenu.cpp:63
+msgid "Covers"
+msgstr "Hoesjes"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
-msgstr "Bijgesneden"
+#: src/frontend/mame/ui/selmenu.cpp:69
+msgid "Add or remove favorites"
+msgstr "Naar of uit favorietenlijst"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
-msgstr "Volledig"
+#: src/frontend/mame/ui/selmenu.cpp:70
+msgid "Export displayed list to file"
+msgstr "Exporteer getoonde lijst naar bestand"
+
+#: src/frontend/mame/ui/selmenu.cpp:71
+msgid "Show DATs view"
+msgstr "Laat DATs zien"
+
+#: src/frontend/mame/ui/selmenu.cpp:237
+msgid "Software part selection:"
+msgstr "Softwareonderdeel selectie:"
+
+#: src/frontend/mame/ui/selmenu.cpp:343
+msgid "BIOS selection:"
+msgstr "BIOS-selectie:"
+
+#: src/frontend/mame/ui/selmenu.cpp:570 src/frontend/mame/ui/selmenu.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:311
+#, c-format
+msgid "%1$s, %2$-.100s"
+msgstr "%1$s, %2$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:574
+#, c-format
+msgid "Software is clone of: %1$-.100s"
+msgstr "Software is een variant van: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:576
+msgid "Software is parent"
+msgstr "Software is hoofdsoftware"
+
+#: src/frontend/mame/ui/selmenu.cpp:581
+msgid "Supported: No"
+msgstr "Ondersteund: Nee"
+
+#: src/frontend/mame/ui/selmenu.cpp:586
+msgid "Supported: Partial"
+msgstr "Ondersteund: Gedeeltelijk"
+
+#: src/frontend/mame/ui/selmenu.cpp:591
+msgid "Supported: Yes"
+msgstr "Ondersteund: Ja"
+
+#: src/frontend/mame/ui/selmenu.cpp:596
+#, c-format
+msgid "romset: %1$-.100s"
+msgstr "romset: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:612
+#, c-format
+msgid "Driver is clone of: %1$-.100s"
+msgstr "Driver is een variant van: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:614
+msgid "Driver is parent"
+msgstr "Driver is hoofddriver"
+
+#: src/frontend/mame/ui/selmenu.cpp:619
+#: src/frontend/mame/ui/simpleselgame.cpp:330
+msgid "Overall: NOT WORKING"
+msgstr "Status: NIET WERKEND"
+
+#: src/frontend/mame/ui/selmenu.cpp:621
+#: src/frontend/mame/ui/simpleselgame.cpp:332
+msgid "Overall: Unemulated Protection"
+msgstr "Status: Ongeëmuleerde beveiliging"
+
+#: src/frontend/mame/ui/selmenu.cpp:623
+#: src/frontend/mame/ui/simpleselgame.cpp:334
+msgid "Overall: Working"
+msgstr "Status: Werkend"
+
+#: src/frontend/mame/ui/selmenu.cpp:627
+#: src/frontend/mame/ui/simpleselgame.cpp:338
+msgid "Graphics: Unimplemented, "
+msgstr "Beeld: Ongeïmplementeerd, "
+
+#: src/frontend/mame/ui/selmenu.cpp:629
+#: src/frontend/mame/ui/simpleselgame.cpp:340
+msgid "Graphics: Imperfect, "
+msgstr "Beeld: Niet volledig, "
+
+#: src/frontend/mame/ui/selmenu.cpp:631
+#: src/frontend/mame/ui/simpleselgame.cpp:342
+msgid "Graphics: OK, "
+msgstr "Beeld: OK, "
+
+#: src/frontend/mame/ui/selmenu.cpp:634
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+msgid "Sound: None"
+msgstr "Geluid: Geen"
+
+#: src/frontend/mame/ui/selmenu.cpp:636
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+msgid "Sound: Unimplemented"
+msgstr "Geluid: Ongeïmplementeerd"
+
+#: src/frontend/mame/ui/selmenu.cpp:638
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+msgid "Sound: Imperfect"
+msgstr "Geluid: Niet volledig"
+
+#: src/frontend/mame/ui/selmenu.cpp:640
+#: src/frontend/mame/ui/simpleselgame.cpp:351
+msgid "Sound: OK"
+msgstr "Geluid: OK"
+
+#: src/frontend/mame/ui/selmenu.cpp:650
+#, c-format
+msgid "%1$s %2$s"
+msgstr "%1$s %2$s"
+
+#: src/frontend/mame/ui/selmenu.cpp:1975
+msgid "Images"
+msgstr "Afbeeldingen"
+
+#: src/frontend/mame/ui/selmenu.cpp:1976
+msgid "Infos"
+msgstr "Informatie"
+
+#: src/frontend/mame/ui/selmenu.cpp:2386 src/frontend/mame/ui/miscmenu.cpp:826
+msgid " (default)"
+msgstr " (standaard)"
+
+#: src/frontend/mame/ui/selmenu.cpp:2454
+msgid "Usage"
+msgstr "Gebruik"
+
+#: src/frontend/mame/ui/selmenu.cpp:2489
+msgid "General Info"
+msgstr "Algemene informatie"
#: src/frontend/mame/ui/dirmenu.cpp:35
msgid "ROMs"
@@ -115,30 +292,6 @@ msgstr "Iconen"
msgid "Cheats"
msgstr "Cheats"
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
-msgstr "Schermafbeeldingen"
-
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
-msgstr "Kasten"
-
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
-msgstr "Flyers"
-
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
-msgstr "Titels"
-
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
-msgstr "Eindes"
-
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
-msgstr "Printplaten"
-
#: src/frontend/mame/ui/dirmenu.cpp:52
msgid "Controls Panels"
msgstr "Bedieningspanelen"
@@ -151,42 +304,14 @@ msgstr "Vizieren"
msgid "Artworks"
msgstr "Artwork"
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
-msgstr "Eindbazen"
-
#: src/frontend/mame/ui/dirmenu.cpp:56
msgid "Artworks Preview"
msgstr "Artworkvoorvertoning"
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
-msgstr "Selecteer"
-
#: src/frontend/mame/ui/dirmenu.cpp:58
msgid "GameOver"
msgstr "Game over"
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
-msgstr "Bedieningsuitleg"
-
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
-msgstr "Logos"
-
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
-msgstr "Scores"
-
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
-msgstr "Tegen"
-
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
-msgstr "Hoesjes"
-
#: src/frontend/mame/ui/dirmenu.cpp:116
msgid "Folders Setup"
msgstr "Mapinstellingen"
@@ -227,14 +352,275 @@ msgstr "Druk op TAB voor keuze"
msgid "Remove %1$s Folder"
msgstr "Verwijder %1$s map"
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
-msgstr "Selectielijst - Zoeken: "
+#: src/frontend/mame/ui/info.cpp:30
+msgid "protection"
+msgstr "beveiliging"
+
+#: src/frontend/mame/ui/info.cpp:31
+msgid "color palette"
+msgstr "kleurpalet"
+
+#: src/frontend/mame/ui/info.cpp:32
+msgid "graphics"
+msgstr "beeld"
+
+#: src/frontend/mame/ui/info.cpp:33
+msgid "sound"
+msgstr "geluid"
+
+#: src/frontend/mame/ui/info.cpp:34
+msgid "controls"
+msgstr "besturing"
+
+#: src/frontend/mame/ui/info.cpp:35
+msgid "keyboard"
+msgstr "toetsenbord"
+
+#: src/frontend/mame/ui/info.cpp:36
+msgid "mouse"
+msgstr "muis"
+
+#: src/frontend/mame/ui/info.cpp:37
+msgid "microphone"
+msgstr "microfoon"
+
+#: src/frontend/mame/ui/info.cpp:38
+msgid "camera"
+msgstr "camera"
+
+#: src/frontend/mame/ui/info.cpp:39
+msgid "disk"
+msgstr "schijf"
+
+#: src/frontend/mame/ui/info.cpp:40
+msgid "printer"
+msgstr "printer"
-#: src/frontend/mame/ui/selector.cpp:123
+#: src/frontend/mame/ui/info.cpp:41
+msgid "LAN"
+msgstr "LAN"
+
+#: src/frontend/mame/ui/info.cpp:42
+msgid "WAN"
+msgstr "WAN"
+
+#: src/frontend/mame/ui/info.cpp:43
+msgid "timing"
+msgstr "timing"
+
+#: src/frontend/mame/ui/info.cpp:180
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
+msgstr ""
+"Één of meer ROMs/CHDs voor deze machine zijn niet correct. De machine kan "
+"mogelijk niet goed functioneren.\n"
+
+#: src/frontend/mame/ui/info.cpp:190
+msgid ""
+"There are known problems with this machine\n"
+"\n"
+msgstr ""
+"Er zijn problemen bekend met deze machine\n"
+"\n"
+
+#: src/frontend/mame/ui/info.cpp:195
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+msgstr "Één of meer ROMs/CHDs voor deze machine zijn niet correct gedumpt.\n"
+
+#: src/frontend/mame/ui/info.cpp:200
+msgid "Completely unemulated features: "
+msgstr "Volledig ongeëmuleerde eigenschappen: "
+
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
#, c-format
-msgid "Double click or press %1$s to select"
-msgstr "Dubbelklik of druk op %1$s om te selecteren"
+msgid "%s"
+msgstr "%s"
+
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#: src/frontend/mame/ui/info.cpp:267
+#, c-format
+msgid ", %s"
+msgstr ", %s"
+
+#: src/frontend/mame/ui/info.cpp:216
+msgid "Imperfectly emulated features: "
+msgstr "Onvolledig geëmuleerde eigenschappen: "
+
+#: src/frontend/mame/ui/info.cpp:231
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr "Schermomdraaien wordt in cocktailmodus niet ondersteund.\n"
+
+#: src/frontend/mame/ui/info.cpp:233
+msgid "This machine requires external artwork files.\n"
+msgstr "Deze machine vereist externe artworkbestanden.\n"
+
+#: src/frontend/mame/ui/info.cpp:235
+msgid ""
+"This machine was never completed. It may exhibit strange behavior or missing "
+"elements that are not bugs in the emulation.\n"
+msgstr ""
+"Deze machine is nooit afgemaakt. Het kan vreemd gedrag vertonen of elementen "
+"missen, dit zijn geen emulatiefouten.\n"
+
+#: src/frontend/mame/ui/info.cpp:237
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
+msgstr ""
+"Deze machine heeft geen geluidshardware, MAME zal geen geluid produceren, "
+"dit is verwacht gedrag.\n"
+
+#: src/frontend/mame/ui/info.cpp:241
+msgid ""
+"\n"
+"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
+"complete. There is nothing you can do to fix this problem except wait for "
+"the developers to improve the emulation.\n"
+msgstr ""
+"\n"
+"DEZE MACHINE WERKT NIET. De emulatie van deze machine is nog niet compleet. "
+"Er is niets wat je kunt doen om dit probleem te verhelpen, afgezien van "
+"wachten tot ontwikkelaars de emulatie verbeteren.\n"
+
+#: src/frontend/mame/ui/info.cpp:243
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they requires physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
+msgstr ""
+"\n"
+"Elementen van deze machine kunnen niet worden geëmuleerd omdat ze fysieke "
+"interactie benodigen, of uit mechanische delen bestaan. Het is niet mogelijk "
+"om deze machine volledig te ervaren.\n"
+
+#: src/frontend/mame/ui/info.cpp:265
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
+msgstr ""
+"\n"
+"\n"
+"Er zijn werkende varianten van deze machine: %s"
+
+#: src/frontend/mame/ui/info.cpp:278
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+"\n"
+"\n"
+"Druk op een toets om door te gaan"
+
+#: src/frontend/mame/ui/info.cpp:293
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
+msgstr ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"Processor:\n"
+
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "MHz"
+msgstr "MHz"
+
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "kHz"
+msgstr "kHz"
+
+#: src/frontend/mame/ui/info.cpp:342
+msgid ""
+"\n"
+"Sound:\n"
+msgstr ""
+"\n"
+"Geluid:\n"
+
+#: src/frontend/mame/ui/info.cpp:370
+msgid ""
+"\n"
+"Video:\n"
+msgstr ""
+"\n"
+"Beeld:\n"
+
+#: src/frontend/mame/ui/info.cpp:374
+msgid "None\n"
+msgstr "Geen\n"
+
+#: src/frontend/mame/ui/info.cpp:381
+msgid "Vector"
+msgstr "Vector"
+
+#: src/frontend/mame/ui/info.cpp:392
+#, c-format
+msgid "%1$s: %2$s\n"
+msgstr "%1$s: %2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:392
+msgid "%2$s\n"
+msgstr "%2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:438
+#, c-format
+msgid "Screen '%1$s'"
+msgstr "Scherm '%1$s'"
+
+#: src/frontend/mame/ui/info.cpp:440
+msgid "Screen"
+msgstr "Scherm"
+
+#: src/frontend/mame/ui/info.cpp:525
+msgid "Not supported"
+msgstr "Niet ondersteund"
+
+#: src/frontend/mame/ui/info.cpp:528
+msgid "Partially supported"
+msgstr "Gedeeltelijk ondersteund"
+
+#: src/frontend/mame/ui/info.cpp:536
+msgid "[empty]"
+msgstr "[leeg]"
+
+#: src/frontend/mame/ui/optsmenu.cpp:193
+msgid "Filter"
+msgstr "Filter"
+
+#: src/frontend/mame/ui/optsmenu.cpp:206
+msgid "Customize UI"
+msgstr "Gebruikersinterface aanpassen"
+
+#: src/frontend/mame/ui/optsmenu.cpp:207
+msgid "Configure Directories"
+msgstr "Mappen configureren"
+
+#: src/frontend/mame/ui/optsmenu.cpp:210 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
+msgstr "Geluidsopties"
+
+#: src/frontend/mame/ui/optsmenu.cpp:213
+msgid "General Inputs"
+msgstr "Algemene invoer"
+
+#: src/frontend/mame/ui/optsmenu.cpp:216
+msgid "Save Configuration"
+msgstr "Configuratie opslaan"
+
+#: src/frontend/mame/ui/optsmenu.cpp:228
+msgid "Settings"
+msgstr "Instellingen"
#: src/frontend/mame/ui/tapectrl.cpp:85
msgid "stopped"
@@ -276,8 +662,30 @@ msgstr "Terugspoelen"
msgid "Fast Forward"
msgstr "Vooruitspoelen"
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
-#: src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/inputmap.cpp:53
+msgid "User Interface"
+msgstr "Gebruikersinterface"
+
+#: src/frontend/mame/ui/inputmap.cpp:59
+msgid "Other Controls"
+msgstr "Andere besturing"
+
+#: src/frontend/mame/ui/inputmap.cpp:628 src/frontend/mame/ui/miscmenu.cpp:96
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr "Herstel"
+
+#: src/frontend/mame/ui/selector.cpp:116
+msgid "Selection List - Search: "
+msgstr "Selectielijst - Zoeken: "
+
+#: src/frontend/mame/ui/selector.cpp:124
+#, c-format
+msgid "Double click or press %1$s to select"
+msgstr "Dubbelklik of druk op %1$s om te selecteren"
+
+#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/filesel.cpp:256
msgid "[empty slot]"
msgstr "[lege plek]"
@@ -318,182 +726,6 @@ msgstr "Softwaregebruik"
msgid "Revision: "
msgstr "Revisie: "
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
-msgstr "Bestand bestaat al - Overschrijven?"
-
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
-msgstr "Nee"
-
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
-msgstr "Ja"
-
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
-msgstr "Nieuwe bestandsnaam:"
-
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
-msgstr "Bestandsformaat:"
-
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
-msgstr "Aanmaken"
-
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
-msgstr "Vul ook een bestandsextensie in"
-
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
-msgstr "Selecteer bestandsformaat"
-
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
-msgstr "Invoer (algemeen)"
-
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
-msgstr "Invoer (deze machine)"
-
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
-msgstr "Analoge besturing"
-
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
-msgstr "DIP-schakelaars"
-
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
-msgstr "Machineconfiguratie"
-
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
-msgstr "Boekhoudinginformatie"
-
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
-msgstr "Machineinformatie"
-
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
-msgstr "Bestandsinformatie"
-
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
-msgstr "Bestandsbeheer"
-
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
-msgstr "Cassettebediening"
-
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
-msgstr "Pseudoterminals"
-
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
-msgstr "BIOS-selectie"
-
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
-msgstr "Insteekapparaten"
-
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
-msgstr "Barcodelezer"
-
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
-msgstr "Netwerkapparaten"
-
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
-msgstr "Keyboardmodus"
-
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
-msgstr "Schuifinstellingen"
-
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
-msgstr "Videoopties"
-
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
-msgstr "Vizieropties"
-
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
-msgstr "Cheat"
-
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
-msgstr "Pluginopties"
-
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
-msgstr "Externe DAT-overzicht"
-
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
-msgstr "Toevoegen aan favorieten"
-
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
-msgstr "Verwijderen uit favorieten"
-
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
-msgstr "Selecteer nieuwe machine"
-
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
-msgstr "Nieuwe barcode:"
-
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
-msgstr "Vul code in"
-
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
-msgstr "Barcodelengte ongeldig!"
-
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
-msgstr "[mislukt]"
-
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
-msgstr "Geluidsopties"
-
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
-msgstr "Algemene invoer"
-
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
-msgstr "Configuratie opslaan"
-
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
-msgstr "Instellingen"
-
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
-msgstr "Filter"
-
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
-msgstr "Gebruikersinterface aanpassen"
-
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
-msgstr "Mappen configureren"
-
#: src/frontend/mame/ui/simpleselgame.cpp:149
msgid ""
"The selected game is missing one or more required ROM or CHD images. Please "
@@ -506,7 +738,7 @@ msgstr ""
"\n"
"Druk op een toets om door te gaan."
-#: src/frontend/mame/ui/simpleselgame.cpp:247
+#: src/frontend/mame/ui/simpleselgame.cpp:241
#, c-format
msgid ""
"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
@@ -520,327 +752,197 @@ msgstr ""
"Als dit de eerste keer is dat je %2$s gebruikt, lees dan het bestand config."
"txt in de docs-map voor informatie om %2$s te configureren."
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:271
+#: src/frontend/mame/ui/selgame.cpp:436
msgid "Configure Options"
msgstr "Configureer opties"
-#: src/frontend/mame/ui/simpleselgame.cpp:298
+#: src/frontend/mame/ui/simpleselgame.cpp:292
#, c-format
msgid "Type name or select: %1$s_"
msgstr "Type naam of selecteer: %1$s_"
-#: src/frontend/mame/ui/simpleselgame.cpp:300
+#: src/frontend/mame/ui/simpleselgame.cpp:294
msgid "Type name or select: (random)"
msgstr "Type naam of selecteer: (willekeurig)"
-#: src/frontend/mame/ui/simpleselgame.cpp:314
-#: src/frontend/mame/ui/selsoft.cpp:652 src/frontend/mame/ui/selsoft.cpp:659
+#: src/frontend/mame/ui/simpleselgame.cpp:308
+#: src/frontend/mame/ui/selsoft.cpp:564 src/frontend/mame/ui/selsoft.cpp:571
#, c-format
msgid "%1$-.100s"
msgstr "%1$-.100s"
-#: src/frontend/mame/ui/simpleselgame.cpp:317
-#: src/frontend/mame/ui/selmenu.cpp:618 src/frontend/mame/ui/selmenu.cpp:654
-#, c-format
-msgid "%1$s, %2$-.100s"
-msgstr "%1$s, %2$-.100s"
-
-#: src/frontend/mame/ui/simpleselgame.cpp:320
+#: src/frontend/mame/ui/simpleselgame.cpp:314
#, c-format
msgid "Driver: %1$-.100s"
msgstr "Driver: %1$-.100s"
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
-msgstr "Status: NIET WERKEND"
+#: src/frontend/mame/ui/videoopt.cpp:56
+#, c-format
+msgid "Screen #%d"
+msgstr "Scherm #%d"
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
-msgstr "Status: Ongeëmuleerde beveiliging"
+#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
+msgid "Rotate"
+msgstr "Roteer"
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
-msgstr "Status: Werkend"
+#: src/frontend/mame/ui/videoopt.cpp:208
+msgid "Backdrops"
+msgstr "Backdrops"
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
-msgstr "Beeld: Ongeïmplementeerd, "
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Enabled"
+msgstr "Ingeschakeld"
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
-msgstr "Beeld: Niet volledig, "
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Disabled"
+msgstr "Uitgeschakeld"
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
-msgstr "Beeld: OK, "
+#: src/frontend/mame/ui/videoopt.cpp:212
+msgid "Overlays"
+msgstr "Overlays"
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
-msgstr "Geluid: Geen"
+#: src/frontend/mame/ui/videoopt.cpp:216
+msgid "Bezels"
+msgstr "Bezels"
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
-msgstr "Geluid: Ongeïmplementeerd"
+#: src/frontend/mame/ui/videoopt.cpp:220
+msgid "CPanels"
+msgstr "BPanelen"
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
-msgstr "Geluid: Niet volledig"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "View"
+msgstr "Weergeven"
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
-msgstr "Geluid: OK"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cropped"
+msgstr "Bijgesneden"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
-msgstr "Laad state"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Full"
+msgstr "Volledig"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
-msgstr "Selecteer positie om van te laden"
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
+msgstr "Bestand bestaat al - Overschrijven?"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
-msgstr "State opslaan"
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1047
+msgid "No"
+msgstr "Nee"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
-msgstr "Selecteer positie om naar op te slaan"
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1047
+msgid "Yes"
+msgstr "Ja"
-#: src/frontend/mame/ui/ui.cpp:337
-msgid "This driver requires images to be loaded in the following device(s): "
-msgstr "Deze driver vereist software ingelezen in de volgende device(s): "
+#: src/frontend/mame/ui/filecreate.cpp:171
+msgid "New Image Name:"
+msgstr "Nieuwe bestandsnaam:"
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
-msgstr "Toetsenbord emulatiestatus"
+#: src/frontend/mame/ui/filecreate.cpp:177
+msgid "Image Format:"
+msgstr "Bestandsformaat:"
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
-msgstr "Modus: GEDEELTELIJKE emulatie"
+#: src/frontend/mame/ui/filecreate.cpp:183
+msgid "Create"
+msgstr "Aanmaken"
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
-msgstr "UI: Ingeschakeld"
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr "Vul ook een bestandsextensie in"
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
-msgstr "**Gebruik ScrLock om te wisselen**"
+#: src/frontend/mame/ui/filecreate.cpp:266
+msgid "Select image format"
+msgstr "Selecteer bestandsformaat"
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
-msgstr "Modus: VOLLEDIGE emulatie"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Keyboard Mode:"
+msgstr "Toetsenbordmodus:"
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
-msgstr "UI: Uitgeschakeld"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Natural"
+msgstr "Natuurlijk"
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
-msgstr "Autofire kan niet worden ingeschakeld"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Emulated"
+msgstr "Geëmuleerd"
-#: src/frontend/mame/ui/ui.cpp:1302
+#: src/frontend/mame/ui/miscmenu.cpp:236
#, c-format
msgid ""
-"Are you sure you want to quit?\n"
+"Uptime: %1$d:%2$02d:%3$02d\n"
"\n"
-"Press ''%1$s'' to quit,\n"
-"Press ''%2$s'' to return to emulation."
msgstr ""
-"Weet u zeker dat u wilt stoppen?\n"
+"In bedrijf: %1$d:%2$02d:%3$02d\n"
"\n"
-"Druk op ''%1$s'' om te stoppen,\n"
-"druk op ''%2$s'' om terug te keren naar de emulatie."
-
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
-msgstr "Hoofdvolume"
-
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
-msgstr "%1$s volume"
-
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
-msgstr "Overklok CPU %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
-msgstr "Overklok %1$s geluid"
-
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
-msgstr "%1$s Verversingfrequentie"
-
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
-msgstr "%1$s Helderheid"
-
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
-msgstr "%1$s Contrast"
-
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
-msgstr "%1$s Gamma"
-
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
-msgstr "%1$s Horizontale uitrekking"
-
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
-msgstr "%1$s Horizontale positie"
-
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
-msgstr "%1$s Verticale uitrekking"
-
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
-msgstr "%1$s Verticale positie"
-
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
-msgstr "Laserdisc '%1$s' Horiz uitrekking"
-
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
-msgstr "Laserdisc '%1$s' Horiz positie"
-
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
-msgstr "Laserdic '%1$s' Vert uitrekking"
-
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr "Laserdisc '%1$s' Vert positie"
-
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
-msgstr "Vectorflikker"
-
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
-msgstr "Minimale straalbreedte"
-
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
-msgstr "Maximale straalbreedte"
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
-msgstr "Gewicht straalintensiteit"
-
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr "Vizierschaal %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
-msgstr "X"
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
-msgstr "Y"
-
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
-msgstr "Vizieroffset %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1601
+#: src/frontend/mame/ui/miscmenu.cpp:238
#, c-format
-msgid "%1$3ddB"
-msgstr "%1$3ddB"
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
+msgstr ""
+"In bedrijf: %1$d:%2$02d\n"
+"\n"
-#: src/frontend/mame/ui/ui.cpp:1645
+#: src/frontend/mame/ui/miscmenu.cpp:242
#, c-format
-msgid "%1$d%%"
-msgstr "%1$d%%"
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
+msgstr ""
+"Kaartjes uitgegeven: %1$d\n"
+"\n"
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
-msgstr "%1$3.0f%%"
+#: src/frontend/mame/ui/miscmenu.cpp:253
+msgid "Coin %1$c: NA%3$s\n"
+msgstr "Munt %1$c: n.v.t.%3$s\n"
-#: src/frontend/mame/ui/ui.cpp:1685
+#: src/frontend/mame/ui/miscmenu.cpp:253
#, c-format
-msgid "%1$.3ffps"
-msgstr "%1$.3ffps"
+msgid "Coin %1$c: %2$d%3$s\n"
+msgstr "Munt %1$c: %2$d%3$s\n"
-#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
-#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
-#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
-#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
-#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
-#: src/frontend/mame/ui/ui.cpp:1927
-#, c-format
-msgid "%1$.3f"
-msgstr "%1$.3f"
+#: src/frontend/mame/ui/miscmenu.cpp:256
+msgid " (locked)"
+msgstr " (afgeschermd)"
-#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
-#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
-#, c-format
-msgid "%1$1.2f"
-msgstr "%1$1.2f"
+#: src/frontend/mame/ui/miscmenu.cpp:503
+msgid "Visible Delay"
+msgstr "Zichtbare vertraging"
-#: src/frontend/mame/ui/ui.cpp:2005
+#: src/frontend/mame/ui/miscmenu.cpp:601
#, c-format
-msgid "Crosshair Scale X %1$1.3f"
-msgstr "Vizier X-schaal %1$1.3f"
+msgid "%s.xml saved under ui folder."
+msgstr "%s.xml is opgeslagen in de map 'ui'."
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
-msgstr "Vizier Y-schaal %1$1.3f"
+#: src/frontend/mame/ui/miscmenu.cpp:627
+msgid "Name: Description:\n"
+msgstr "Naam: Omschrijving:\n"
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/miscmenu.cpp:638
#, c-format
-msgid "Crosshair Offset X %1$1.3f"
-msgstr "Vizier X-offset %1$1.3f"
+msgid "%s.txt saved under ui folder."
+msgstr "%s.txt is opgeslagen in de ui-map."
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
-msgstr "Vizier Y-offset %1$1.3f"
+#: src/frontend/mame/ui/miscmenu.cpp:655
+msgid "Export list in XML format (like -listxml)"
+msgstr "Exporteer lijst in XML-formaat (zoals -listxml)"
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
-msgstr "**Fout bij het opslaan van ui.ini**"
+#: src/frontend/mame/ui/miscmenu.cpp:656
+msgid "Export list in XML format (like -listxml, but exclude devices)"
+msgstr "Exporteer lijst in XML-formaat (zoals -listxml, maar zonder apparaten)"
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
-msgstr "**Fout bij het opslaan van %s.ini**"
+#: src/frontend/mame/ui/miscmenu.cpp:657
+msgid "Export list in TXT format (like -listfull)"
+msgstr "Exporteer lijst in XML-formaat (zoals -listfull)"
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/miscmenu.cpp:710 src/frontend/mame/ui/ui.cpp:2230
msgid ""
"\n"
" Configuration saved \n"
@@ -850,339 +952,160 @@ msgstr ""
" Configuratie opgeslagen\n"
"\n"
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
-msgid ""
-"Cheat Comment:\n"
-"%s"
-msgstr ""
-"Cheat commentaar:\n"
-"%s"
-
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
-msgstr "Alle cheats zijn herladen"
-
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
-msgstr "Autofire instellingen"
-
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
-msgstr "Alles herstellen"
-
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
-msgstr "Alles herladen"
-
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
-msgstr "Autofire status"
-
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
-msgstr "Geen knoppen gevonden op deze machine!"
-
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
-msgstr "Autofirevertraging"
-
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
-#, c-format
-msgid ""
-"%s\n"
-" added to favorites list."
-msgstr ""
-"%s\n"
-" toegevoegd aan favorietenlijst."
-
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
-#, c-format
-msgid ""
-"%s\n"
-" removed from favorites list."
-msgstr ""
-"%s\n"
-" verwijderd uit favorietenlijst."
-
-#: src/frontend/mame/ui/selsoft.cpp:507
-msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
-"\n"
-msgstr ""
-"De geselecteerde software mist één of meer benodigde bestanden. Selecteer "
-"een andere software.\n"
-"\n"
-
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
-msgstr "Druk op een toets om door te gaan."
-
-#: src/frontend/mame/ui/selsoft.cpp:637
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
-msgstr "%1$s %2$s ( %3$d / %4$d softwarepakketten )"
-
-#: src/frontend/mame/ui/selsoft.cpp:638
-#, c-format
-msgid "Driver: \"%1$s\" software list "
-msgstr "Driver: \"%1$s\" softwarelijst "
-
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
-#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
-msgstr "%1$s: %2$s - Zoek: %3$s_"
-
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
-#, c-format
-msgid "Search: %1$s_"
-msgstr "Zoek: %1$s_"
-
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
-msgid "Unfiltered"
-msgstr "Ongefilterd"
-
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
-msgid "Available"
-msgstr "Beschikbaar"
-
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
-msgid "Unavailable"
-msgstr "Onbeschikbaar"
-
-#: src/frontend/mame/ui/utils.cpp:63
-msgid "Working"
-msgstr "Werkend"
-
-#: src/frontend/mame/ui/utils.cpp:64
-msgid "Not Working"
-msgstr "Niet werkend"
-
-#: src/frontend/mame/ui/utils.cpp:65
-msgid "Mechanical"
-msgstr "Mechanisch"
-
-#: src/frontend/mame/ui/utils.cpp:66
-msgid "Not Mechanical"
-msgstr "Niet mechanisch"
-
-#: src/frontend/mame/ui/utils.cpp:67
-msgid "Category"
-msgstr "Categorie"
-
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
-msgid "Favorites"
-msgstr "Favorieten"
-
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/miscmenu.cpp:760 src/frontend/mame/ui/utils.cpp:66
msgid "BIOS"
msgstr "BIOS"
-#: src/frontend/mame/ui/utils.cpp:70
-msgid "Not BIOS"
-msgstr "Geen BIOS"
-
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
-msgid "Parents"
-msgstr "Hoofdsoftware"
-
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
-msgid "Clones"
-msgstr "Varianten"
-
-#: src/frontend/mame/ui/utils.cpp:73
-msgid "Manufacturer"
-msgstr "Fabrikant"
-
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
-msgid "Year"
-msgstr "Jaar"
-
-#: src/frontend/mame/ui/utils.cpp:75
-msgid "Save Supported"
-msgstr "Opslaan ondersteund"
-
-#: src/frontend/mame/ui/utils.cpp:76
-msgid "Save Unsupported"
-msgstr "Opslaan niet ondersteund"
-
-#: src/frontend/mame/ui/utils.cpp:77
-msgid "CHD Required"
-msgstr "CHD benodigd"
-
-#: src/frontend/mame/ui/utils.cpp:78
-msgid "No CHD Required"
-msgstr "Geen CHD benodigd"
-
-#: src/frontend/mame/ui/utils.cpp:79
-msgid "Vertical Screen"
-msgstr "Verticaal scherm"
-
-#: src/frontend/mame/ui/utils.cpp:80
-msgid "Horizontal Screen"
-msgstr "Horizontaal scherm"
-
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
-msgid "Custom Filter"
-msgstr "Eigen filter"
-
-#: src/frontend/mame/ui/utils.cpp:91
-msgid "Publisher"
-msgstr "Uitgever"
-
-#: src/frontend/mame/ui/utils.cpp:92
-msgid "Supported"
-msgstr "Ondersteund"
+#: src/frontend/mame/ui/miscmenu.cpp:764
+msgid "Driver"
+msgstr "Driver"
-#: src/frontend/mame/ui/utils.cpp:93
-msgid "Partially Supported"
-msgstr "Gedeeltelijk ondersteund"
+#: src/frontend/mame/ui/miscmenu.cpp:767
+msgid "This machine has no BIOS."
+msgstr "Deze machine heeft geen BIOS."
-#: src/frontend/mame/ui/utils.cpp:94
-msgid "Unsupported"
-msgstr "Niet ondersteund"
+#: src/frontend/mame/ui/miscmenu.cpp:776 src/frontend/mame/ui/mainmenu.cpp:145
+msgid "Add To Favorites"
+msgstr "Toevoegen aan favorieten"
-#: src/frontend/mame/ui/utils.cpp:95
-msgid "Release Region"
-msgstr "Uitgaveregio"
+#: src/frontend/mame/ui/miscmenu.cpp:778 src/frontend/mame/ui/mainmenu.cpp:147
+msgid "Remove From Favorites"
+msgstr "Verwijderen uit favorieten"
-#: src/frontend/mame/ui/utils.cpp:96
-msgid "Device Type"
-msgstr "Apparaattype"
+#: src/frontend/mame/ui/miscmenu.cpp:781
+msgid "Save machine configuration"
+msgstr "Sla machineconfiguratie op"
-#: src/frontend/mame/ui/utils.cpp:97
-msgid "Software List"
-msgstr "Softwarelijst"
+#: src/frontend/mame/ui/miscmenu.cpp:792
+msgid "Configure machine:"
+msgstr "Configureer machine:"
-#: src/frontend/mame/ui/utils.cpp:248
-msgid "<set up filters>"
-msgstr "<filters instellen>"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:736
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:551 plugins/cheatfind/init.lua:619
+msgid "On"
+msgstr "Aan"
-#: src/frontend/mame/ui/utils.cpp:356
-msgid "Select custom filters:"
-msgstr "Kies eigen filter:"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:739
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:554 plugins/cheat/init.lua:563
+#: plugins/cheatfind/init.lua:616
+msgid "Off"
+msgstr "Uit"
-#: src/frontend/mame/ui/utils.cpp:507
-#, c-format
-msgid "Filter %1$u"
-msgstr "Filter %1$u"
+#: src/frontend/mame/ui/miscmenu.cpp:909 src/frontend/mame/ui/selgame.cpp:441
+msgid "Plugins"
+msgstr "Plugins"
-#: src/frontend/mame/ui/utils.cpp:522
-msgid "Remove last filter"
-msgstr "Verwijder laatste filter"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
+msgstr "Nieuwe barcode:"
-#: src/frontend/mame/ui/utils.cpp:524
-msgid "Add filter"
-msgstr "Voeg filter toe"
+#: src/frontend/mame/ui/barcode.cpp:78
+msgid "Enter Code"
+msgstr "Vul code in"
-#: src/frontend/mame/ui/utils.cpp:966
-msgid "Select category:"
-msgstr "Selecteer categorie:"
+#: src/frontend/mame/ui/barcode.cpp:119
+msgid "Barcode length invalid!"
+msgstr "Barcodelengte ongeldig!"
-#: src/frontend/mame/ui/utils.cpp:997
-msgid "[no category INI files]"
-msgstr "[geen categorie INI-bestanden]"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:99
+msgid "Pseudo terminals"
+msgstr "Pseudoterminals"
-#: src/frontend/mame/ui/utils.cpp:1005
-msgid "[no groups in INI file]"
-msgstr "[geen groepen in INI-bestand]"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
+msgstr "[mislukt]"
-#: src/frontend/mame/ui/utils.cpp:1039
-msgid "No category INI files found"
-msgstr "Geen categorie INI-bestanden gevonden"
+#: src/frontend/mame/ui/mainmenu.cpp:60
+msgid "Input (general)"
+msgstr "Invoer (algemeen)"
-#: src/frontend/mame/ui/utils.cpp:1044
-msgid "File"
-msgstr "Bestand"
+#: src/frontend/mame/ui/mainmenu.cpp:62
+msgid "Input (this Machine)"
+msgstr "Invoer (deze machine)"
-#: src/frontend/mame/ui/utils.cpp:1048
-msgid "No groups found in category file"
-msgstr "Geen groepen gevonden in categoriebestand"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Analog Controls"
+msgstr "Analoge besturing"
-#: src/frontend/mame/ui/utils.cpp:1053
-msgid "Group"
-msgstr "Groep"
+#: src/frontend/mame/ui/mainmenu.cpp:68
+msgid "Dip Switches"
+msgstr "DIP-schakelaars"
-#: src/frontend/mame/ui/utils.cpp:1054
-msgid "Include clones"
-msgstr "Varianten insluiten"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "Machine Configuration"
+msgstr "Machineconfiguratie"
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
-msgstr "[aanmaken]"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
+msgstr "Boekhoudinginformatie"
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
-msgstr "Fout bij toegang tot %s"
+#: src/frontend/mame/ui/mainmenu.cpp:78
+msgid "Machine Information"
+msgstr "Machineinformatie"
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
-msgstr "Selecteer toegangsmodus"
+#: src/frontend/mame/ui/mainmenu.cpp:85
+msgid "Image Information"
+msgstr "Bestandsinformatie"
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
-msgstr "Alleen-lezen"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
+msgstr "Bestandsbeheer"
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
-msgstr "Lezen-schrijven"
+#: src/frontend/mame/ui/mainmenu.cpp:96
+msgid "Tape Control"
+msgstr "Cassettebediening"
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
-msgstr "Lees dit bestand, schrijf naar een ander bestand"
+#: src/frontend/mame/ui/mainmenu.cpp:102
+msgid "BIOS Selection"
+msgstr "BIOS-selectie"
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
-msgstr "Lees dit bestand, schrijf naar diff"
+#: src/frontend/mame/ui/mainmenu.cpp:106
+msgid "Slot Devices"
+msgstr "Insteekapparaten"
-#: src/frontend/mame/ui/slotopt.cpp:192
-#, c-format
-msgid "%s [internal]"
-msgstr "%s [intern]"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Barcode Reader"
+msgstr "Barcodelezer"
-#: src/frontend/mame/ui/slotopt.cpp:203 src/frontend/mame/ui/miscmenu.cpp:97
-#: src/frontend/mame/ui/inputmap.cpp:615
-msgid "Reset"
-msgstr "Herstel"
+#: src/frontend/mame/ui/mainmenu.cpp:114
+msgid "Network Devices"
+msgstr "Netwerkapparaten"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
-msgstr " KLEUREN"
+#: src/frontend/mame/ui/mainmenu.cpp:118
+msgid "Keyboard Mode"
+msgstr "Keyboardmodus"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
-msgstr " PENNEN"
+#: src/frontend/mame/ui/mainmenu.cpp:121
+msgid "Slider Controls"
+msgstr "Schuifinstellingen"
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
-msgstr "Terug naar machine"
+#: src/frontend/mame/ui/mainmenu.cpp:124 src/frontend/mame/ui/submenu.cpp:101
+msgid "Video Options"
+msgstr "Videoopties"
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
-msgstr "Afsluiten"
+#: src/frontend/mame/ui/mainmenu.cpp:128
+msgid "Crosshair Options"
+msgstr "Vizieropties"
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
-msgstr "Terug naar vorig menu"
+#: src/frontend/mame/ui/mainmenu.cpp:132 plugins/cheat/init.lua:735
+msgid "Cheat"
+msgstr "Cheat"
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:762
-#: plugins/cheat/init.lua:569 plugins/cheatfind/init.lua:792
-#: plugins/cheatfind/init.lua:803
-msgid "On"
-msgstr "Aan"
+#: src/frontend/mame/ui/mainmenu.cpp:135
+msgid "Plugin Options"
+msgstr "Pluginopties"
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:765
-#: plugins/cheat/init.lua:572 plugins/cheat/init.lua:581
-#: plugins/cheatfind/init.lua:789 plugins/cheatfind/init.lua:800
-msgid "Off"
-msgstr "Uit"
+#: src/frontend/mame/ui/mainmenu.cpp:139
+msgid "External DAT View"
+msgstr "Externe DAT-overzicht"
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
-msgstr "Automatisch"
+#: src/frontend/mame/ui/mainmenu.cpp:154
+msgid "Select New Machine"
+msgstr "Selecteer nieuwe machine"
#: src/frontend/mame/ui/custui.cpp:31
msgid "Show All"
@@ -1405,417 +1328,595 @@ msgstr "Geel"
msgid "Violet"
msgstr "Violet"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
-msgstr "Toetsenbordmodus:"
+#: src/frontend/mame/ui/submenu.cpp:22
+msgid "Miscellaneous Options"
+msgstr "Overige opties"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
-msgstr "Natuurlijk"
+#: src/frontend/mame/ui/submenu.cpp:23
+msgid "Re-select last machine played"
+msgstr "Kies laatst gespeelde machine opnieuw"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
-msgstr "Geëmuleerd"
+#: src/frontend/mame/ui/submenu.cpp:24
+msgid "Enlarge images in the right panel"
+msgstr "Vergroot afbeeldingen in het rechter paneel"
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
-msgstr ""
-"In bedrijf: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:26
+msgid "Show mouse pointer"
+msgstr "Toon muispointer"
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
-msgstr ""
-"In bedrijf: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:27
+msgid "Confirm quit from machines"
+msgstr "Bevestig afsluiten machines"
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
-msgstr ""
-"Kaartjes uitgegeven: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:28
+msgid "Skip information screen at startup"
+msgstr "Sla informatie bij opstarten over"
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
-msgstr "Munt %1$c: n.v.t.%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:29
+msgid "Force 4:3 aspect for snapshot display"
+msgstr "Forceer 4:3 verhouding voor schermafbeeldingweergave"
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
-msgstr "Munt %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:30
+msgid "Use image as background"
+msgstr "Gebruik afbeelding als achtergrond"
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
-msgstr " (afgeschermd)"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Skip BIOS selection menu"
+msgstr "BIOS-selectiemenu overslaan"
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
-msgstr "Zichtbare vertraging"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip software parts selection menu"
+msgstr "Softwareonderdelen selectiemenu overslaan"
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
-msgstr "%s.xml is opgeslagen in de map 'ui'."
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Info auto audit"
+msgstr "Info auto controle"
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
-msgstr "Naam: Omschrijving:\n"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Hide romless machine from available list"
+msgstr "Verberg romloze machine uit beschikbare lijst"
-#: src/frontend/mame/ui/miscmenu.cpp:639
-#, c-format
-msgid "%s.txt saved under ui folder."
-msgstr "%s.txt is opgeslagen in de ui-map."
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Advanced Options"
+msgstr "Geavanceerde opties"
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
-msgstr "Exporteer lijst in XML-formaat (zoals -listxml)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Performance Options"
+msgstr "Prestatieopties"
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
-msgstr "Exporteer lijst in XML-formaat (zoals -listxml, maar zonder apparaten)"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Auto frame skip"
+msgstr "Auto frame skip"
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
-msgstr "Exporteer lijst in XML-formaat (zoals -listfull)"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Frame skip"
+msgstr "Frame skip"
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
-msgstr "Driver"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Throttle"
+msgstr "Throttle"
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
-msgstr "Deze machine heeft geen BIOS."
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Sleep"
+msgstr "Slaap"
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
-msgstr "Sla machineconfiguratie op"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Speed"
+msgstr "Snelheid"
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
-msgstr "Configureer machine:"
+#: src/frontend/mame/ui/submenu.cpp:45
+msgid "Refresh speed"
+msgstr "Verversingssnelheid"
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
-msgstr " (standaard)"
+#: src/frontend/mame/ui/submenu.cpp:47
+msgid "Rotation Options"
+msgstr "Rotatieinstellingen"
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
-msgstr "Plugins"
+#: src/frontend/mame/ui/submenu.cpp:49
+msgid "Rotate right"
+msgstr "Roteer rechts"
+
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Rotate left"
+msgstr "Roteer links"
+
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Auto rotate right"
+msgstr "Auto rotatie rechts"
+
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto rotate left"
+msgstr "Auto rotatie links"
+
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Flip X"
+msgstr "Draai X om"
+
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Flip Y"
+msgstr "Draai Y om"
+
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Artwork Options"
+msgstr "Artworkinstellingen"
+
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Artwork Crop"
+msgstr "Artwork bijsnijden"
+
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Use Backdrops"
+msgstr "Gebruik backdrops"
+
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Use Overlays"
+msgstr "Gebruik overlays"
+
+#: src/frontend/mame/ui/submenu.cpp:60
+msgid "Use Bezels"
+msgstr "Gebruik bezels"
+
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Use Control Panels"
+msgstr "Gebruik bedieningspanelen"
+
+#: src/frontend/mame/ui/submenu.cpp:62
+msgid "Use Marquees"
+msgstr "Gebruik marquees"
+
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "State/Playback Options"
+msgstr "State/afspeel-instellingen"
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Automatic save/restore"
+msgstr "Automatisch opslaan/hervatten"
+
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Rewind capacity"
+msgstr "Terugspoelcapaciteit"
+
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Bilinear snapshot"
+msgstr "Bilineaire momentopname"
+
+#: src/frontend/mame/ui/submenu.cpp:69
+msgid "Burn-in"
+msgstr "Inbranding"
+
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Input Options"
+msgstr "Invoerinstellingen"
+
+#: src/frontend/mame/ui/submenu.cpp:72
+msgid "Coin lockout"
+msgstr "Munt lockout"
+
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "Mouse"
+msgstr "Muis"
+
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Joystick"
+msgstr "Joystick"
+
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Lightgun"
+msgstr "Lichtpistool"
+
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Multi-keyboard"
+msgstr "Meerdere toetsenborden"
+
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Multi-mouse"
+msgstr "Meerdere muizen"
+
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Steadykey"
+msgstr "Steadykey"
+
+#: src/frontend/mame/ui/submenu.cpp:79
+msgid "UI active"
+msgstr "Gebruikersinterface actief"
+
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Offscreen reload"
+msgstr "Buiten scherm herladen"
+
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Joystick deadzone"
+msgstr "Joystick doodzone"
+
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Joystick saturation"
+msgstr "Joystick verzadiging"
+
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Natural keyboard"
+msgstr "Natuurlijk toetsenbord"
+
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Simultaneous contradictory"
+msgstr "Gelijktijdige tegenstrijding"
+
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Coin impulse"
+msgstr "Muntimpuls"
+
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Device Mapping"
+msgstr "Invoerapparaat in kaart brengen"
+
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Lightgun Device Assignment"
+msgstr "Lightguntoewijzing"
+
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Trackball Device Assignment"
+msgstr "Trackballtoewijzing"
+
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Pedal Device Assignment"
+msgstr "Pedaaltoewijzing"
+
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Adstick Device Assignment"
+msgstr "Adsticktoewijzing"
+
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Paddle Device Assignment"
+msgstr "Paddletoewijzing"
+
+#: src/frontend/mame/ui/submenu.cpp:95
+msgid "Dial Device Assignment"
+msgstr "Dialapparaattoewijzing"
+
+#: src/frontend/mame/ui/submenu.cpp:96
+msgid "Positional Device Assignment"
+msgstr "Positieapparaattoewijzing"
+
+#: src/frontend/mame/ui/submenu.cpp:97
+msgid "Mouse Device Assignment"
+msgstr "Muistoewijzing"
+
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Video Mode"
+msgstr "Videomodus"
+
+#: src/frontend/mame/ui/submenu.cpp:103
+msgid "Number Of Screens"
+msgstr "Aantal schermen"
+
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Triple Buffering"
+msgstr "Drievoudige buffering"
+
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "HLSL"
+msgstr "HLSL"
+
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "GLSL"
+msgstr "GLSL"
+
+#: src/frontend/mame/ui/submenu.cpp:109
+msgid "Bilinear Filtering"
+msgstr "Bilineaire filtering"
+
+#: src/frontend/mame/ui/submenu.cpp:110
+msgid "Bitmap Prescaling"
+msgstr "Bitmap preschaling"
+
+#: src/frontend/mame/ui/submenu.cpp:111
+msgid "Window Mode"
+msgstr "Schermmodus"
+
+#: src/frontend/mame/ui/submenu.cpp:112
+msgid "Enforce Aspect Ratio"
+msgstr "Forceer aspectratio"
+
+#: src/frontend/mame/ui/submenu.cpp:113
+msgid "Start Out Maximized"
+msgstr "Start gemaximaliseerd"
+
+#: src/frontend/mame/ui/submenu.cpp:114
+msgid "Synchronized Refresh"
+msgstr "Gesynchroniseerde verversing"
+
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Wait Vertical Sync"
+msgstr "Wacht verticale sync"
+
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Load State"
+msgstr "Laad state"
+
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Select position to load from"
+msgstr "Selecteer positie om van te laden"
+
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Save State"
+msgstr "State opslaan"
+
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Select position to save to"
+msgstr "Selecteer positie om naar op te slaan"
+
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
+msgstr "%s [intern]"
+
+#: src/frontend/mame/ui/selgame.cpp:309 src/frontend/mame/ui/selsoft.cpp:211
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
+msgstr ""
+"%s\n"
+" toegevoegd aan favorietenlijst."
+
+#: src/frontend/mame/ui/selgame.cpp:314 src/frontend/mame/ui/selgame.cpp:320
+#: src/frontend/mame/ui/selsoft.cpp:216
+#, c-format
+msgid ""
+"%s\n"
+" removed from favorites list."
+msgstr ""
+"%s\n"
+" verwijderd uit favorietenlijst."
+
+#: src/frontend/mame/ui/selgame.cpp:437
msgid "Configure Machine"
msgstr "Configureer machine"
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:849
#, c-format
msgid "Romset\t%1$-.100s\n"
msgstr "Romset\t%1$-.100s\n"
-#: src/frontend/mame/ui/selgame.cpp:1037
+#: src/frontend/mame/ui/selgame.cpp:850
#, c-format
msgid "Year\t%1$s\n"
msgstr "Jaar\t%1$s\n"
-#: src/frontend/mame/ui/selgame.cpp:1038
+#: src/frontend/mame/ui/selgame.cpp:851
#, c-format
msgid "Manufacturer\t%1$-.100s\n"
msgstr "Fabrikant\t%1$-.100s\n"
-#: src/frontend/mame/ui/selgame.cpp:1042
+#: src/frontend/mame/ui/selgame.cpp:855
#, c-format
msgid "Driver is Clone of\t%1$-.100s\n"
msgstr "Driver is variant van\t%1$-.100s\n"
-#: src/frontend/mame/ui/selgame.cpp:1044
+#: src/frontend/mame/ui/selgame.cpp:857
msgid "Driver is Parent\t\n"
msgstr "Driver is hoofdsoftware\t\n"
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:860
msgid "Analog Controls\tYes\n"
msgstr "Analoge besturing\tJa\n"
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:862
msgid "Keyboard Inputs\tYes\n"
msgstr "Toetensenbordinvoer\tJa\n"
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:865
msgid "Overall\tNOT WORKING\n"
msgstr "Status\tNIET WERKEND\n"
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:867
msgid "Overall\tUnemulated Protection\n"
msgstr "Status\tOngeëmuleerde beveiliging\n"
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:869
msgid "Overall\tWorking\n"
msgstr "Status\tWerkend\n"
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:872
msgid "Graphics\tUnimplemented\n"
msgstr "Beeld\tOngeïmplementeerd\n"
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:874
msgid "Graphics\tWrong Colors\n"
msgstr "Beeld\tVerkeerde kleuren\n"
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:876
msgid "Graphics\tImperfect Colors\n"
msgstr "Beeld\tOnvolledige kleuren\n"
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:878
msgid "Graphics\tImperfect\n"
msgstr "Beeld\tOnvolledig\n"
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:880
msgid "Graphics\tOK\n"
msgstr "Beeld\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:883
msgid "Sound\tNone\n"
msgstr "Geluid\tGeen\n"
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:885
msgid "Sound\tUnimplemented\n"
msgstr "Geluid\tOngeïmplementeerd\n"
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:887
msgid "Sound\tImperfect\n"
msgstr "Geluid\tOnvolledig\n"
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:889
msgid "Sound\tOK\n"
msgstr "Geluid\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1079
-msgid "Capture\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1081
-msgid "Capture\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1084
-msgid "Camera\tUnimplemented\n"
-msgstr "Camera\tOngeïmplementeerd\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1086
-msgid "Camera\tImperfect\n"
-msgstr "Camera\tOnvolledig\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1089
-msgid "Microphone\tUnimplemented\n"
-msgstr "Microfoon\tOngeïmplementeerd\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1091
-msgid "Microphone\tImperfect\n"
-msgstr "Microfoon\tOnvolledig\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:892
msgid "Controls\tUnimplemented\n"
msgstr "Besturing\tOngeïmplementeerd\n"
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:894
msgid "Controls\tImperfect\n"
msgstr "Besturing\tOnvolledig\n"
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:897
msgid "Keyboard\tUnimplemented\n"
msgstr "Toetsenbord\tOngeïmplementeerd\n"
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:899
msgid "Keyboard\tImperfect\n"
msgstr "Toetsenbord\tOnvolledig\n"
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:902
msgid "Mouse\tUnimplemented\n"
msgstr "Muis\tOngeïmplementeerd\n"
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:904
msgid "Mouse\tImperfect\n"
msgstr "Muis\tOnvolledig\n"
-#: src/frontend/mame/ui/selgame.cpp:1109
-msgid "Media\tUnimplemented\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:907
+msgid "Microphone\tUnimplemented\n"
+msgstr "Microfoon\tOngeïmplementeerd\n"
-#: src/frontend/mame/ui/selgame.cpp:1111
-msgid "Media\tImperfect\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:909
+msgid "Microphone\tImperfect\n"
+msgstr "Microfoon\tOnvolledig\n"
+
+#: src/frontend/mame/ui/selgame.cpp:912
+msgid "Camera\tUnimplemented\n"
+msgstr "Camera\tOngeïmplementeerd\n"
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:914
+msgid "Camera\tImperfect\n"
+msgstr "Camera\tOnvolledig\n"
+
+#: src/frontend/mame/ui/selgame.cpp:917
msgid "Disk\tUnimplemented\n"
msgstr "Schijf\tOngeïmplementeerd\n"
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:919
msgid "Disk\tImperfect\n"
msgstr "Schijf\tOnvolledig\n"
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:922
msgid "Printer\tUnimplemented\n"
msgstr "Printer\tOngeïmplementeerd\n"
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:924
msgid "Printer\tImperfect\n"
msgstr "Printer\tOnvolledig\n"
-#: src/frontend/mame/ui/selgame.cpp:1124
-msgid "Mag. Tape\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1126
-msgid "Mag. Tape\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1129
-msgid "Punch Tape\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1131
-msgid "Punch Tape\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1134
-msgid "Mag. Drum\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1136
-msgid "Mag. Drum\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1139
-msgid "(EP)ROM\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1141
-msgid "(EP)ROM\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1144
-msgid "Communications\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1146
-msgid "Communications\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:927
msgid "LAN\tUnimplemented\n"
msgstr "LAN\tOngeïmplementeerd\n"
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:929
msgid "LAN\tImperfect\n"
msgstr "LAN\tOnvolledig\n"
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:932
msgid "WAN\tUnimplemented\n"
msgstr "WAN\tOngeïmplementeerd\n"
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:934
msgid "WAN\tImperfect\n"
msgstr "WAN\tOnvolledig\n"
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:937
msgid "Timing\tUnimplemented\n"
msgstr "Timing\tOngeïmplementeerd\n"
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:939
msgid "Timing\tImperfect\n"
msgstr "Timing\tOnvolledig\n"
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:941
msgid "Mechanical Machine\tYes\n"
msgstr "Mechanische machine\tJa\n"
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:941
msgid "Mechanical Machine\tNo\n"
msgstr "Mechanische machine\tNee\n"
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:942
msgid "Requires Artwork\tYes\n"
msgstr "Vereist artwork\tJa\n"
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:942
msgid "Requires Artwork\tNo\n"
msgstr "Vereist artwork\tNee\n"
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:943
msgid "Requires Clickable Artwork\tYes\n"
msgstr "Vereist klikbare artwork\tJa\n"
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:943
msgid "Requires Clickable Artwork\tNo\n"
msgstr "Vereist klikbare artwork\tNee\n"
-#: src/frontend/mame/ui/selgame.cpp:1166
+#: src/frontend/mame/ui/selgame.cpp:944
msgid "Support Cocktail\tYes\n"
msgstr "Ondersteunt cocktail\tJa\n"
-#: src/frontend/mame/ui/selgame.cpp:1166
+#: src/frontend/mame/ui/selgame.cpp:944
msgid "Support Cocktail\tNo\n"
msgstr "Ondersteunt cocktail\tNee\n"
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:945
msgid "Driver is BIOS\tYes\n"
msgstr "Driver is BIOS\tJa\n"
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:945
msgid "Driver is BIOS\tNo\n"
msgstr "Driver is BIOS\tNee\n"
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:946
msgid "Support Save\tYes\n"
msgstr "Ondersteunt opslaan\tJa\n"
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:946
msgid "Support Save\tNo\n"
msgstr "Ondersteunt opslaan\tNee\n"
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:947
msgid "Screen Orientation\tVertical\n"
msgstr "Schermoriëntatie\tVerticaal\n"
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:947
msgid "Screen Orientation\tHorizontal\n"
msgstr "Schermoriëntatie\tHorizontaal\n"
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:957
msgid "Requires CHD\tYes\n"
msgstr "Vereist CHD\tJa\n"
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:957
msgid "Requires CHD\tNo\n"
msgstr "Vereist CHD\tNee\n"
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:970
msgid "ROM Audit Result\tOK\n"
msgstr "ROM-controle Resultaat\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:972
msgid "ROM Audit Result\tBAD\n"
msgstr "ROM-controle Resultaat\tSLECHT\n"
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:975
msgid "Samples Audit Result\tNone Needed\n"
msgstr "Samplecontrole Resultaat\tNiet Nodig\n"
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:977
msgid "Samples Audit Result\tOK\n"
msgstr "Samplecontrole Resultaat\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:979
msgid "Samples Audit Result\tBAD\n"
msgstr "Samplecontrole Resultaat\tSLECHT\n"
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:983
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
@@ -1823,22 +1924,32 @@ msgstr ""
"ROM-controle \tUitgeschakeld\n"
"Samplecontrole \tUitgeschakeld\n"
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1167
#, c-format
msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
msgstr "%1$s %2$s ( %3$d / %4$d machines (waarvan %5$d BIOS) )"
-#: src/frontend/mame/ui/selgame.cpp:1424
+#: src/frontend/mame/ui/selgame.cpp:1183 src/frontend/mame/ui/selsoft.cpp:555
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
+msgstr "%1$s: %2$s - Zoek: %3$s_"
+
+#: src/frontend/mame/ui/selgame.cpp:1185 src/frontend/mame/ui/selsoft.cpp:557
+#, c-format
+msgid "Search: %1$s_"
+msgstr "Zoek: %1$s_"
+
+#: src/frontend/mame/ui/selgame.cpp:1195
#, c-format
msgid "Romset: %1$-.100s"
msgstr "Romset: %1$-.100s"
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1202
#, c-format
msgid "System: %1$-.100s"
msgstr "Systeem: %1$-.100s"
-#: src/frontend/mame/ui/selgame.cpp:1465
+#: src/frontend/mame/ui/selgame.cpp:1239
msgid ""
"The selected machine is missing one or more required ROM or CHD images. "
"Please select a different machine.\n"
@@ -1848,6 +1959,10 @@ msgstr ""
"bestanden. Druk op een toets om door te gaan.\n"
"\n"
+#: src/frontend/mame/ui/selgame.cpp:1245 src/frontend/mame/ui/selsoft.cpp:462
+msgid "Press any key to continue."
+msgstr "Druk op een toets om door te gaan."
+
#: src/frontend/mame/ui/sndmenu.cpp:135
msgid "Sound"
msgstr "Geluid"
@@ -1860,307 +1975,517 @@ msgstr "Samplesnelheid"
msgid "Use External Samples"
msgstr "Gebruik externe samples"
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr "Overige opties"
+#: src/frontend/mame/ui/utils.cpp:57 src/frontend/mame/ui/utils.cpp:81
+msgid "Unfiltered"
+msgstr "Ongefilterd"
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
-msgstr "Kies laatst gespeelde machine opnieuw"
+#: src/frontend/mame/ui/utils.cpp:58 src/frontend/mame/ui/utils.cpp:82
+msgid "Available"
+msgstr "Beschikbaar"
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
-msgstr "Vergroot afbeeldingen in het rechter paneel"
+#: src/frontend/mame/ui/utils.cpp:59 src/frontend/mame/ui/utils.cpp:83
+msgid "Unavailable"
+msgstr "Onbeschikbaar"
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
-msgstr "Toon muispointer"
+#: src/frontend/mame/ui/utils.cpp:60
+msgid "Working"
+msgstr "Werkend"
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
-msgstr "Bevestig afsluiten machines"
+#: src/frontend/mame/ui/utils.cpp:61
+msgid "Not Working"
+msgstr "Niet werkend"
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
-msgstr "Sla informatie bij opstarten over"
+#: src/frontend/mame/ui/utils.cpp:62
+msgid "Mechanical"
+msgstr "Mechanisch"
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
-msgstr "Forceer 4:3 verhouding voor schermafbeeldingweergave"
+#: src/frontend/mame/ui/utils.cpp:63
+msgid "Not Mechanical"
+msgstr "Niet mechanisch"
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
-msgstr "Gebruik afbeelding als achtergrond"
+#: src/frontend/mame/ui/utils.cpp:64
+msgid "Category"
+msgstr "Categorie"
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
-msgstr "BIOS-selectiemenu overslaan"
+#: src/frontend/mame/ui/utils.cpp:65
+msgid "Favorites"
+msgstr "Favorieten"
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
-msgstr "Softwareonderdelen selectiemenu overslaan"
+#: src/frontend/mame/ui/utils.cpp:67
+msgid "Not BIOS"
+msgstr "Geen BIOS"
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
-msgstr "Info auto controle"
+#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:84
+msgid "Parents"
+msgstr "Hoofdsoftware"
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
-msgstr "Verberg romloze machine uit beschikbare lijst"
+#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/utils.cpp:85
+msgid "Clones"
+msgstr "Varianten"
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
-msgstr "Geavanceerde opties"
+#: src/frontend/mame/ui/utils.cpp:70
+msgid "Manufacturer"
+msgstr "Fabrikant"
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
-msgstr "Prestatieopties"
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:86
+msgid "Year"
+msgstr "Jaar"
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
-msgstr "Auto frame skip"
+#: src/frontend/mame/ui/utils.cpp:72
+msgid "Save Supported"
+msgstr "Opslaan ondersteund"
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
-msgstr "Frame skip"
+#: src/frontend/mame/ui/utils.cpp:73
+msgid "Save Unsupported"
+msgstr "Opslaan niet ondersteund"
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
-msgstr "Throttle"
+#: src/frontend/mame/ui/utils.cpp:74
+msgid "CHD Required"
+msgstr "CHD benodigd"
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
-msgstr "Slaap"
+#: src/frontend/mame/ui/utils.cpp:75
+msgid "No CHD Required"
+msgstr "Geen CHD benodigd"
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
-msgstr "Snelheid"
+#: src/frontend/mame/ui/utils.cpp:76
+msgid "Vertical Screen"
+msgstr "Verticaal scherm"
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
-msgstr "Verversingssnelheid"
+#: src/frontend/mame/ui/utils.cpp:77
+msgid "Horizontal Screen"
+msgstr "Horizontaal scherm"
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
-msgstr "Rotatieinstellingen"
+#: src/frontend/mame/ui/utils.cpp:78 src/frontend/mame/ui/utils.cpp:94
+msgid "Custom Filter"
+msgstr "Eigen filter"
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
-msgstr "Roteer rechts"
+#: src/frontend/mame/ui/utils.cpp:87
+msgid "Publisher"
+msgstr "Uitgever"
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
-msgstr "Roteer links"
+#: src/frontend/mame/ui/utils.cpp:88
+msgid "Supported"
+msgstr "Ondersteund"
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
-msgstr "Auto rotatie rechts"
+#: src/frontend/mame/ui/utils.cpp:89
+msgid "Partially Supported"
+msgstr "Gedeeltelijk ondersteund"
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
-msgstr "Auto rotatie links"
+#: src/frontend/mame/ui/utils.cpp:90
+msgid "Unsupported"
+msgstr "Niet ondersteund"
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
-msgstr "Draai X om"
+#: src/frontend/mame/ui/utils.cpp:91
+msgid "Release Region"
+msgstr "Uitgaveregio"
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
-msgstr "Draai Y om"
+#: src/frontend/mame/ui/utils.cpp:92
+msgid "Device Type"
+msgstr "Apparaattype"
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
-msgstr "Artworkinstellingen"
+#: src/frontend/mame/ui/utils.cpp:93
+msgid "Software List"
+msgstr "Softwarelijst"
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
-msgstr "Artwork bijsnijden"
+#: src/frontend/mame/ui/utils.cpp:244
+msgid "<set up filters>"
+msgstr "<filters instellen>"
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
-msgstr "Gebruik backdrops"
+#: src/frontend/mame/ui/utils.cpp:352
+msgid "Select custom filters:"
+msgstr "Kies eigen filter:"
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
-msgstr "Gebruik overlays"
+#: src/frontend/mame/ui/utils.cpp:503
+#, c-format
+msgid "Filter %1$u"
+msgstr "Filter %1$u"
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
-msgstr "Gebruik bezels"
+#: src/frontend/mame/ui/utils.cpp:518
+msgid "Remove last filter"
+msgstr "Verwijder laatste filter"
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
-msgstr "Gebruik bedieningspanelen"
+#: src/frontend/mame/ui/utils.cpp:520
+msgid "Add filter"
+msgstr "Voeg filter toe"
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
-msgstr "Gebruik marquees"
+#: src/frontend/mame/ui/utils.cpp:959
+msgid "Select category:"
+msgstr "Selecteer categorie:"
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
-msgstr "State/afspeel-instellingen"
+#: src/frontend/mame/ui/utils.cpp:990
+msgid "[no category INI files]"
+msgstr "[geen categorie INI-bestanden]"
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
-msgstr "Automatisch opslaan/hervatten"
+#: src/frontend/mame/ui/utils.cpp:998
+msgid "[no groups in INI file]"
+msgstr "[geen groepen in INI-bestand]"
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
-msgstr "Terugspoelcapaciteit"
+#: src/frontend/mame/ui/utils.cpp:1032
+msgid "No category INI files found"
+msgstr "Geen categorie INI-bestanden gevonden"
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
-msgstr "Bilineaire momentopname"
+#: src/frontend/mame/ui/utils.cpp:1037
+msgid "File"
+msgstr "Bestand"
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
-msgstr "Inbranding"
+#: src/frontend/mame/ui/utils.cpp:1041
+msgid "No groups found in category file"
+msgstr "Geen groepen gevonden in categoriebestand"
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
-msgstr "Invoerinstellingen"
+#: src/frontend/mame/ui/utils.cpp:1046
+msgid "Group"
+msgstr "Groep"
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
-msgstr "Munt lockout"
+#: src/frontend/mame/ui/utils.cpp:1047
+msgid "Include clones"
+msgstr "Varianten insluiten"
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
-msgstr "Muis"
+#: src/frontend/mame/ui/selsoft.cpp:456
+msgid ""
+"The selected software is missing one or more required files. Please select a "
+"different software.\n"
+"\n"
+msgstr ""
+"De geselecteerde software mist één of meer benodigde bestanden. Selecteer "
+"een andere software.\n"
+"\n"
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
-msgstr "Joystick"
+#: src/frontend/mame/ui/selsoft.cpp:549
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgstr "%1$s %2$s ( %3$d / %4$d softwarepakketten )"
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
-msgstr "Lichtpistool"
+#: src/frontend/mame/ui/selsoft.cpp:550
+#, c-format
+msgid "Driver: \"%1$s\" software list "
+msgstr "Driver: \"%1$s\" softwarelijst "
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
-msgstr "Meerdere toetsenborden"
+#: src/frontend/mame/ui/filesel.cpp:260
+msgid "[create]"
+msgstr "[aanmaken]"
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
-msgstr "Meerdere muizen"
+#: src/frontend/mame/ui/filesel.cpp:419
+#, c-format
+msgid "Error accessing %s"
+msgstr "Fout bij toegang tot %s"
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
-msgstr "Steadykey"
+#: src/frontend/mame/ui/filesel.cpp:515
+msgid "Select access mode"
+msgstr "Selecteer toegangsmodus"
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
-msgstr "Gebruikersinterface actief"
+#: src/frontend/mame/ui/filesel.cpp:516
+msgid "Read-only"
+msgstr "Alleen-lezen"
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
-msgstr "Buiten scherm herladen"
+#: src/frontend/mame/ui/filesel.cpp:518
+msgid "Read-write"
+msgstr "Lezen-schrijven"
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
-msgstr "Joystick doodzone"
+#: src/frontend/mame/ui/filesel.cpp:519
+msgid "Read this image, write to another image"
+msgstr "Lees dit bestand, schrijf naar een ander bestand"
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
-msgstr "Joystick verzadiging"
+#: src/frontend/mame/ui/filesel.cpp:520
+msgid "Read this image, write to diff"
+msgstr "Lees dit bestand, schrijf naar diff"
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
-msgstr "Natuurlijk toetsenbord"
+#: src/frontend/mame/ui/imgcntrl.cpp:117
+msgid "Cannot save over directory"
+msgstr "Kan geen map vervangen"
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
-msgstr "Gelijktijdige tegenstrijding"
+#: src/frontend/mame/ui/imgcntrl.cpp:150
+msgid ""
+"The software selected is missing one or more required ROM or CHD images. "
+"Please select a different one."
+msgstr ""
+"De geselecteerde software mist één of meerdere benodigde ROM- of CHD-"
+"bestanden. Kies een andere."
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
-msgstr "Muntimpuls"
+#: src/frontend/mame/ui/menu.cpp:294
+msgid "Return to Machine"
+msgstr "Terug naar machine"
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
-msgstr "Invoerapparaat in kaart brengen"
+#: src/frontend/mame/ui/menu.cpp:299 src/frontend/mame/ui/menu.cpp:301
+msgid "Exit"
+msgstr "Afsluiten"
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
-msgstr "Lightguntoewijzing"
+#: src/frontend/mame/ui/menu.cpp:306 src/frontend/mame/ui/menu.cpp:308
+msgid "Return to Previous Menu"
+msgstr "Terug naar vorig menu"
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
-msgstr "Trackballtoewijzing"
+#: src/frontend/mame/ui/menu.cpp:742
+msgid "Auto"
+msgstr "Automatisch"
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
-msgstr "Pedaaltoewijzing"
+#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:653
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
+msgstr ""
+"Cheat commentaar:\n"
+"%s"
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
-msgstr "Adsticktoewijzing"
+#: src/frontend/mame/ui/cheatopt.cpp:105
+msgid "All cheats reloaded"
+msgstr "Alle cheats zijn herladen"
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
-msgstr "Paddletoewijzing"
+#: src/frontend/mame/ui/cheatopt.cpp:136
+msgid "Autofire Settings"
+msgstr "Autofire instellingen"
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
-msgstr "Dialapparaattoewijzing"
+#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:581
+msgid "Reset All"
+msgstr "Alles herstellen"
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
-msgstr "Positieapparaattoewijzing"
+#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:582
+msgid "Reload All"
+msgstr "Alles herladen"
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
-msgstr "Muistoewijzing"
+#: src/frontend/mame/ui/cheatopt.cpp:273
+msgid "Autofire Status"
+msgstr "Autofire status"
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
-msgstr "Videomodus"
+#: src/frontend/mame/ui/cheatopt.cpp:316
+msgid "No buttons found on this machine!"
+msgstr "Geen knoppen gevonden op deze machine!"
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
-msgstr "Aantal schermen"
+#: src/frontend/mame/ui/cheatopt.cpp:327 src/frontend/mame/ui/cheatopt.cpp:331
+msgid "Autofire Delay"
+msgstr "Autofirevertraging"
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
-msgstr "Drievoudige buffering"
+#: src/frontend/mame/ui/ui.cpp:337
+msgid "This driver requires images to be loaded in the following device(s): "
+msgstr "Deze driver vereist software ingelezen in de volgende device(s): "
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
-msgstr "HLSL"
+#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
+msgid "Keyboard Emulation Status"
+msgstr "Toetsenbord emulatiestatus"
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
-msgstr "GLSL"
+#: src/frontend/mame/ui/ui.cpp:1086
+msgid "Mode: PARTIAL Emulation"
+msgstr "Modus: GEDEELTELIJKE emulatie"
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
-msgstr "Bilineaire filtering"
+#: src/frontend/mame/ui/ui.cpp:1087
+msgid "UI: Enabled"
+msgstr "UI: Ingeschakeld"
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
-msgstr "Bitmap preschaling"
+#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
+msgid "**Use ScrLock to toggle**"
+msgstr "**Gebruik ScrLock om te wisselen**"
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
-msgstr "Schermmodus"
+#: src/frontend/mame/ui/ui.cpp:1096
+msgid "Mode: FULL Emulation"
+msgstr "Modus: VOLLEDIGE emulatie"
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
-msgstr "Forceer aspectratio"
+#: src/frontend/mame/ui/ui.cpp:1097
+msgid "UI: Disabled"
+msgstr "UI: Uitgeschakeld"
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
-msgstr "Start gemaximaliseerd"
+#: src/frontend/mame/ui/ui.cpp:1249
+msgid "Autofire can't be enabled"
+msgstr "Autofire kan niet worden ingeschakeld"
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
-msgstr "Gesynchroniseerde verversing"
+#: src/frontend/mame/ui/ui.cpp:1302
+#, c-format
+msgid ""
+"Are you sure you want to quit?\n"
+"\n"
+"Press ''%1$s'' to quit,\n"
+"Press ''%2$s'' to return to emulation."
+msgstr ""
+"Weet u zeker dat u wilt stoppen?\n"
+"\n"
+"Druk op ''%1$s'' om te stoppen,\n"
+"druk op ''%2$s'' om terug te keren naar de emulatie."
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
-msgstr "Wacht verticale sync"
+#: src/frontend/mame/ui/ui.cpp:1374
+msgid "Master Volume"
+msgstr "Hoofdvolume"
+
+#: src/frontend/mame/ui/ui.cpp:1383
+#, c-format
+msgid "%1$s Volume"
+msgstr "%1$s volume"
+
+#: src/frontend/mame/ui/ui.cpp:1407
+#, c-format
+msgid "Overclock CPU %1$s"
+msgstr "Overklok CPU %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1416
+#, c-format
+msgid "Overclock %1$s sound"
+msgstr "Overklok %1$s geluid"
+
+#: src/frontend/mame/ui/ui.cpp:1437
+#, c-format
+msgid "%1$s Refresh Rate"
+msgstr "%1$s Verversingfrequentie"
+
+#: src/frontend/mame/ui/ui.cpp:1442
+#, c-format
+msgid "%1$s Brightness"
+msgstr "%1$s Helderheid"
+
+#: src/frontend/mame/ui/ui.cpp:1444
+#, c-format
+msgid "%1$s Contrast"
+msgstr "%1$s Contrast"
+
+#: src/frontend/mame/ui/ui.cpp:1446
+#, c-format
+msgid "%1$s Gamma"
+msgstr "%1$s Gamma"
+
+#: src/frontend/mame/ui/ui.cpp:1450
+#, c-format
+msgid "%1$s Horiz Stretch"
+msgstr "%1$s Horizontale uitrekking"
+
+#: src/frontend/mame/ui/ui.cpp:1452
+#, c-format
+msgid "%1$s Horiz Position"
+msgstr "%1$s Horizontale positie"
+
+#: src/frontend/mame/ui/ui.cpp:1454
+#, c-format
+msgid "%1$s Vert Stretch"
+msgstr "%1$s Verticale uitrekking"
+
+#: src/frontend/mame/ui/ui.cpp:1456
+#, c-format
+msgid "%1$s Vert Position"
+msgstr "%1$s Verticale positie"
+
+#: src/frontend/mame/ui/ui.cpp:1475
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
+msgstr "Laserdisc '%1$s' Horiz uitrekking"
+
+#: src/frontend/mame/ui/ui.cpp:1477
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
+msgstr "Laserdisc '%1$s' Horiz positie"
+
+#: src/frontend/mame/ui/ui.cpp:1479
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
+msgstr "Laserdic '%1$s' Vert uitrekking"
+
+#: src/frontend/mame/ui/ui.cpp:1481
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
+msgstr "Laserdisc '%1$s' Vert positie"
+
+#: src/frontend/mame/ui/ui.cpp:1493
+msgid "Vector Flicker"
+msgstr "Vectorflikker"
+
+#: src/frontend/mame/ui/ui.cpp:1494
+msgid "Beam Width Minimum"
+msgstr "Minimale straalbreedte"
+
+#: src/frontend/mame/ui/ui.cpp:1495
+msgid "Beam Width Maximum"
+msgstr "Maximale straalbreedte"
+
+#: src/frontend/mame/ui/ui.cpp:1496
+msgid "Beam Intensity Weight"
+msgstr "Gewicht straalintensiteit"
+
+#: src/frontend/mame/ui/ui.cpp:1511
+#, c-format
+msgid "Crosshair Scale %1$s"
+msgstr "Vizierschaal %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "X"
+msgstr "X"
+
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "Y"
+msgstr "Y"
-#: src/frontend/mame/ui/devopt.cpp:43
+#: src/frontend/mame/ui/ui.cpp:1513
+#, c-format
+msgid "Crosshair Offset %1$s"
+msgstr "Vizieroffset %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1601
+#, c-format
+msgid "%1$3ddB"
+msgstr "%1$3ddB"
+
+#: src/frontend/mame/ui/ui.cpp:1645
+#, c-format
+msgid "%1$d%%"
+msgstr "%1$d%%"
+
+#: src/frontend/mame/ui/ui.cpp:1661
+#, c-format
+msgid "%1$3.0f%%"
+msgstr "%1$3.0f%%"
+
+#: src/frontend/mame/ui/ui.cpp:1685
+#, c-format
+msgid "%1$.3ffps"
+msgstr "%1$.3ffps"
+
+#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
+#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
+#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
+#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
+#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
+#: src/frontend/mame/ui/ui.cpp:1927
+#, c-format
+msgid "%1$.3f"
+msgstr "%1$.3f"
+
+#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
+#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
+#, c-format
+msgid "%1$1.2f"
+msgstr "%1$1.2f"
+
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
+msgstr "Vizier X-schaal %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
+msgstr "Vizier Y-schaal %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
+msgstr "Vizier X-offset %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
+msgstr "Vizier Y-offset %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
+msgstr "**Fout bij het opslaan van ui.ini**"
+
+#: src/frontend/mame/ui/ui.cpp:2226
+#, c-format
+msgid "**Error saving %s.ini**"
+msgstr "**Fout bij het opslaan van %s.ini**"
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " COLORS"
+msgstr " KLEUREN"
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " PENS"
+msgstr " PENNEN"
+
+#: src/frontend/mame/ui/devopt.cpp:39
#, c-format
msgid ""
"[This option is currently mounted in the running system]\n"
@@ -2177,7 +2502,7 @@ msgstr ""
"\n"
"De geselecteerde optie zet de volgende delen aan:\n"
-#: src/frontend/mame/ui/devopt.cpp:44
+#: src/frontend/mame/ui/devopt.cpp:40
#, c-format
msgid ""
"[This option is NOT currently mounted in the running system]\n"
@@ -2194,60 +2519,60 @@ msgstr ""
"\n"
"Als u deze optie selecteert worden de volgende delen aangezet:\n"
-#: src/frontend/mame/ui/devopt.cpp:52
+#: src/frontend/mame/ui/devopt.cpp:48
msgid "* CPU:\n"
msgstr "* Processor:\n"
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
#, c-format
msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
msgstr " %1$d×%2$s %3$d.%4$06d MHz\n"
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
msgstr " %1$d×%2$s %5$d.%6$03d kHz\n"
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
msgid " %2$s %3$d.%4$06d MHz\n"
msgstr " %2$s %3$d.%4$06d MHz\n"
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
msgid " %2$s %5$d.%6$03d kHz\n"
msgstr " %2$s %5$d.%6$03d kHz\n"
-#: src/frontend/mame/ui/devopt.cpp:89
+#: src/frontend/mame/ui/devopt.cpp:85
msgid "* Video:\n"
msgstr "* Video:\n"
-#: src/frontend/mame/ui/devopt.cpp:94
+#: src/frontend/mame/ui/devopt.cpp:90
#, c-format
msgid " Screen '%1$s': Vector\n"
msgstr " Scherm '%1$s': Vector\n"
-#: src/frontend/mame/ui/devopt.cpp:103
+#: src/frontend/mame/ui/devopt.cpp:99
#, c-format
msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
msgstr " Scherm '%1$s': %2$d × %3$d (V) %4$f Hz\n"
-#: src/frontend/mame/ui/devopt.cpp:104
+#: src/frontend/mame/ui/devopt.cpp:100
#, c-format
msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
msgstr " Scherm '%1$s': %2$d × %3$d (H) %4$f Hz\n"
-#: src/frontend/mame/ui/devopt.cpp:117
+#: src/frontend/mame/ui/devopt.cpp:113
msgid "* Sound:\n"
msgstr "* Geluid:\n"
-#: src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/devopt.cpp:133
#, c-format
msgid " %1$d×%2$s\n"
msgstr " %1$d×%2$s\n"
-#: src/frontend/mame/ui/devopt.cpp:138
+#: src/frontend/mame/ui/devopt.cpp:134
msgid " %2$s\n"
msgstr " %2$s\n"
-#: src/frontend/mame/ui/devopt.cpp:168
+#: src/frontend/mame/ui/devopt.cpp:164
#, c-format
msgid ""
"* BIOS settings:\n"
@@ -2256,492 +2581,86 @@ msgstr ""
"* BIOS-instellingen:\n"
" %1$d opties [standaard: %2$s]\n"
-#: src/frontend/mame/ui/devopt.cpp:208 src/frontend/mame/ui/devopt.cpp:224
-#: src/frontend/mame/ui/devopt.cpp:269
+#: src/frontend/mame/ui/devopt.cpp:204 src/frontend/mame/ui/devopt.cpp:220
+#: src/frontend/mame/ui/devopt.cpp:265
#, c-format
msgid " %1$s [default: %2$s]\n"
msgstr " %1$s [standaard: %2$s]\n"
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
+#: src/frontend/mame/ui/devopt.cpp:209 src/frontend/mame/ui/devopt.cpp:225
#, c-format
msgid " %1$s\n"
msgstr " %1$s\n"
-#: src/frontend/mame/ui/devopt.cpp:234
+#: src/frontend/mame/ui/devopt.cpp:230
msgid "* DIP switch settings:\n"
msgstr "DIP-schakelaarinstellingen:\n"
-#: src/frontend/mame/ui/devopt.cpp:236
+#: src/frontend/mame/ui/devopt.cpp:232
msgid "* Configuration settings:\n"
msgstr "* Configuratieinstellingen:\n"
-#: src/frontend/mame/ui/devopt.cpp:238
+#: src/frontend/mame/ui/devopt.cpp:234
msgid "* Input device(s):\n"
msgstr "* Invoerapparatuur:\n"
-#: src/frontend/mame/ui/devopt.cpp:240
+#: src/frontend/mame/ui/devopt.cpp:236
#, c-format
msgid " User inputs [%1$d inputs]\n"
msgstr " Gebruikersinvoer [%1$d invoeren]\n"
-#: src/frontend/mame/ui/devopt.cpp:242
+#: src/frontend/mame/ui/devopt.cpp:238
#, c-format
msgid " Mahjong inputs [%1$d inputs]\n"
msgstr " Mahjonginvoer [%1$d invoeren]\n"
-#: src/frontend/mame/ui/devopt.cpp:244
+#: src/frontend/mame/ui/devopt.cpp:240
#, c-format
msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr " Hanafudainvoer [%1$d invoeren]\n"
-#: src/frontend/mame/ui/devopt.cpp:246
+#: src/frontend/mame/ui/devopt.cpp:242
#, c-format
msgid " Gambling inputs [%1$d inputs]\n"
msgstr " Gokinvoer [%1$d invoeren]\n"
-#: src/frontend/mame/ui/devopt.cpp:248
+#: src/frontend/mame/ui/devopt.cpp:244
#, c-format
msgid " Analog inputs [%1$d inputs]\n"
msgstr " Analoge invoer [%1$d invoeren]\n"
-#: src/frontend/mame/ui/devopt.cpp:250
+#: src/frontend/mame/ui/devopt.cpp:246
#, c-format
msgid " Adjuster inputs [%1$d inputs]\n"
msgstr " Aanpassingsinvoer [%1$d invoeren]\n"
-#: src/frontend/mame/ui/devopt.cpp:252
+#: src/frontend/mame/ui/devopt.cpp:248
#, c-format
msgid " Keypad inputs [%1$d inputs]\n"
msgstr " Toetsenblokinvoer [%1$d invoeren]\n"
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/devopt.cpp:250
#, c-format
msgid " Keyboard inputs [%1$d inputs]\n"
msgstr " Toetsenbordinvoer [%1$d invoeren]\n"
-#: src/frontend/mame/ui/devopt.cpp:259
+#: src/frontend/mame/ui/devopt.cpp:255
msgid "* Media Options:\n"
msgstr "* Media Opties:\n"
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/devopt.cpp:257
#, c-format
msgid " %1$s [tag: %2$s]\n"
msgstr " %1$s [label: %2$s]\n"
-#: src/frontend/mame/ui/devopt.cpp:267
+#: src/frontend/mame/ui/devopt.cpp:263
msgid "* Slot Options:\n"
msgstr "* Plek Opties:\n"
-#: src/frontend/mame/ui/devopt.cpp:274
+#: src/frontend/mame/ui/devopt.cpp:270
msgid "[None]\n"
msgstr "[Geen]\n"
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
-msgstr "Controleer ROMs voor %1$u onbeschikbaar gemarkeerde machines?"
-
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
-msgstr "Controleer ROMs voor alle %1$u machines?"
-
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
-msgstr "(resultaten worden opgeslagen naar %1$s)"
-
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
-msgstr ""
-"ROMs controleren voor machine %2$u van %3$u...\n"
-"%1$s"
-
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr "Start controle"
-
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
-msgstr "Kan geen map vervangen"
-
-#: src/frontend/mame/ui/imgcntrl.cpp:150
-msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
-msgstr ""
-"De geselecteerde software mist één of meerdere benodigde ROM- of CHD-"
-"bestanden. Kies een andere."
-
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
-msgstr "beveiliging"
-
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
-msgstr "timing"
-
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
-msgstr "beeld"
-
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
-msgstr "kleurpalet"
-
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
-msgstr "geluid"
-
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
-msgstr "camera"
-
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
-msgstr "microfoon"
-
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
-msgstr "besturing"
-
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
-msgstr "toetsenbord"
-
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
-msgstr "muis"
-
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
-msgstr "schijf"
-
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
-msgstr "printer"
-
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
-msgstr "LAN"
-
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
-msgstr "WAN"
-
-#: src/frontend/mame/ui/info.cpp:188
-msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
-msgstr ""
-"Één of meer ROMs/CHDs voor deze machine zijn niet correct. De machine kan "
-"mogelijk niet goed functioneren.\n"
-
-#: src/frontend/mame/ui/info.cpp:198
-msgid ""
-"There are known problems with this machine\n"
-"\n"
-msgstr ""
-"Er zijn problemen bekend met deze machine\n"
-"\n"
-
-#: src/frontend/mame/ui/info.cpp:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
-msgstr "Één of meer ROMs/CHDs voor deze machine zijn niet correct gedumpt.\n"
-
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
-msgstr "Volledig ongeëmuleerde eigenschappen: "
-
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
-msgstr "%s"
-
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#: src/frontend/mame/ui/info.cpp:275
-#, c-format
-msgid ", %s"
-msgstr ", %s"
-
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
-msgstr "Onvolledig geëmuleerde eigenschappen: "
-
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
-msgstr "Schermomdraaien wordt in cocktailmodus niet ondersteund.\n"
-
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
-msgstr "Deze machine vereist externe artworkbestanden.\n"
-
-#: src/frontend/mame/ui/info.cpp:243
-msgid ""
-"This machine was never completed. It may exhibit strange behavior or missing "
-"elements that are not bugs in the emulation.\n"
-msgstr ""
-"Deze machine is nooit afgemaakt. Het kan vreemd gedrag vertonen of elementen "
-"missen, dit zijn geen emulatiefouten.\n"
-
-#: src/frontend/mame/ui/info.cpp:245
-msgid ""
-"This machine has no sound hardware, MAME will produce no sounds, this is "
-"expected behaviour.\n"
-msgstr ""
-"Deze machine heeft geen geluidshardware, MAME zal geen geluid produceren, "
-"dit is verwacht gedrag.\n"
-
-#: src/frontend/mame/ui/info.cpp:249
-msgid ""
-"\n"
-"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
-"complete. There is nothing you can do to fix this problem except wait for "
-"the developers to improve the emulation.\n"
-msgstr ""
-"\n"
-"DEZE MACHINE WERKT NIET. De emulatie van deze machine is nog niet compleet. "
-"Er is niets wat je kunt doen om dit probleem te verhelpen, afgezien van "
-"wachten tot ontwikkelaars de emulatie verbeteren.\n"
-
-#: src/frontend/mame/ui/info.cpp:251
-msgid ""
-"\n"
-"Elements of this machine cannot be emulated as they requires physical "
-"interaction or consist of mechanical devices. It is not possible to fully "
-"experience this machine.\n"
-msgstr ""
-"\n"
-"Elementen van deze machine kunnen niet worden geëmuleerd omdat ze fysieke "
-"interactie benodigen, of uit mechanische delen bestaan. Het is niet mogelijk "
-"om deze machine volledig te ervaren.\n"
-
-#: src/frontend/mame/ui/info.cpp:273
-#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
-msgstr ""
-"\n"
-"\n"
-"Er zijn werkende varianten van deze machine: %s"
-
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
-msgstr ""
-"\n"
-"\n"
-"Druk op een toets om door te gaan"
-
-#: src/frontend/mame/ui/info.cpp:301
-#, c-format
-msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
-msgstr ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"Processor:\n"
-
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
-msgstr "MHz"
-
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
-msgstr "kHz"
-
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
-msgstr ""
-"\n"
-"Geluid:\n"
-
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
-msgstr ""
-"\n"
-"Beeld:\n"
-
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
-msgstr "Geen\n"
-
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
-msgstr "Vector"
-
-#: src/frontend/mame/ui/info.cpp:400
-#, c-format
-msgid "%1$s: %2$s\n"
-msgstr "%1$s: %2$s\n"
-
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
-msgstr "%2$s\n"
-
-#: src/frontend/mame/ui/info.cpp:446
-#, c-format
-msgid "Screen '%1$s'"
-msgstr "Scherm '%1$s'"
-
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr "Scherm"
-
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
-msgstr "Niet ondersteund"
-
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
-msgstr "Gedeeltelijk ondersteund"
-
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
-msgstr "[leeg]"
-
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
-msgstr "Bedieningspanelen"
-
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
-msgstr "Voorvertoning artwork"
-
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
-msgstr "Game over"
-
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
-msgstr "Naar of uit favorietenlijst"
-
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
-msgstr "Exporteer getoonde lijst naar bestand"
-
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
-msgstr "Laat DATs zien"
-
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
-msgstr "Softwareonderdeel selectie:"
-
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
-msgstr "BIOS-selectie:"
-
-#: src/frontend/mame/ui/selmenu.cpp:622
-#, c-format
-msgid "Software is clone of: %1$-.100s"
-msgstr "Software is een variant van: %1$-.100s"
-
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
-msgstr "Software is hoofdsoftware"
-
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
-msgstr "Ondersteund: Nee"
-
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
-msgstr "Ondersteund: Gedeeltelijk"
-
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
-msgstr "Ondersteund: Ja"
-
-#: src/frontend/mame/ui/selmenu.cpp:644
-#, c-format
-msgid "romset: %1$-.100s"
-msgstr "romset: %1$-.100s"
-
-#: src/frontend/mame/ui/selmenu.cpp:660
-#, c-format
-msgid "Driver is clone of: %1$-.100s"
-msgstr "Driver is een variant van: %1$-.100s"
-
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
-msgstr "Driver is hoofddriver"
-
-#: src/frontend/mame/ui/selmenu.cpp:698
-#, c-format
-msgid "%1$s %2$s"
-msgstr "%1$s %2$s"
-
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
-msgstr "Afbeeldingen"
-
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
-msgstr "Informatie"
-
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
-msgstr "Gebruik"
-
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
-msgstr "Algemene informatie"
-
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
-msgstr "Gebruikersinterface"
-
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
-msgstr "Andere besturing"
-
#: plugins/timer/init.lua:94
msgid "Current time"
msgstr "Huidige tijd"
@@ -2758,51 +2677,51 @@ msgstr "Speelteller"
msgid "Timer"
msgstr "Timer"
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:510
msgid "Select cheat to set hotkey"
msgstr "Selecteer cheat om sneltoets te maken"
-#: plugins/cheat/init.lua:534
+#: plugins/cheat/init.lua:516
msgid "Press button for hotkey or wait to clear"
msgstr "Druk op knop voor sneltoets of wacht om te herstellen"
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:528
msgid "None"
msgstr "Geen"
-#: plugins/cheat/init.lua:551
+#: plugins/cheat/init.lua:533
msgid "Done"
msgstr "Klaar"
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:547 plugins/cheat/init.lua:561
msgid "Set"
msgstr "Kies"
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:580
msgid "Set hotkeys"
msgstr "Kies sneltoets"
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:720
#, lua-format
msgid "Activated: %s = %s"
msgstr "Geactiveerd: %s = %s"
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:723 plugins/cheat/init.lua:781
#, lua-format
msgid "Activated: %s"
msgstr "Geactiveerd: %s"
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:785
#, lua-format
msgid "Enabled: %s"
msgstr "Ingeschakeld: %s"
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:790
#, lua-format
msgid "Disabled: %s"
msgstr "Uitgeschakeld: %s"
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "%s added"
msgstr "%s toegevoegd"
@@ -2855,49 +2774,49 @@ msgstr "Spelinit"
msgid "MARPScore"
msgstr "MARPScore"
-#: plugins/cheatfind/init.lua:404
+#: plugins/cheatfind/init.lua:373
msgid "Save Cheat"
msgstr "Sla cheat op"
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Default"
msgstr "Standaard"
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Custom"
msgstr "Eigen"
-#: plugins/cheatfind/init.lua:408
+#: plugins/cheatfind/init.lua:377
msgid "Cheat Name"
msgstr "Cheatnaam"
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/cheatfind/init.lua:383 plugins/cheatfind/init.lua:748
#, lua-format
msgid "Default name is %s"
msgstr "Standaardnaam is %s"
-#: plugins/cheatfind/init.lua:422
+#: plugins/cheatfind/init.lua:391
msgid "Player"
msgstr "Speler"
-#: plugins/cheatfind/init.lua:427
+#: plugins/cheatfind/init.lua:396
msgid "Type"
msgstr "Type"
-#: plugins/cheatfind/init.lua:433
+#: plugins/cheatfind/init.lua:402
msgid "Save"
msgstr "Opslaan"
-#: plugins/cheatfind/init.lua:462
+#: plugins/cheatfind/init.lua:429
#, lua-format
msgid "Cheat written to %s and added to cheat.simple"
msgstr "Cheat geschreven naar %s en toegevoegd aan cheat.simple"
-#: plugins/cheatfind/init.lua:472
+#: plugins/cheatfind/init.lua:437
msgid "Cheat added to cheat.simple"
msgstr "Cheat toegevoegd aan cheat.simple"
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:442
msgid ""
"Unable to write file\n"
"Ensure that cheatpath folder exists"
@@ -2905,297 +2824,176 @@ msgstr ""
"Niet in staat om bestand te schrijven\n"
"Zorg ervoor dat de cheatpath map bestaat"
-#: plugins/cheatfind/init.lua:486
+#: plugins/cheatfind/init.lua:451
msgid "Cancel"
msgstr "Annuleer"
-#: plugins/cheatfind/init.lua:491
+#: plugins/cheatfind/init.lua:456
msgid "CPU or RAM"
msgstr "CPU of RAM"
-#: plugins/cheatfind/init.lua:495
+#: plugins/cheatfind/init.lua:460
msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
"Veranderingen hieraan hebben alleen effect wanneer \"Start nieuwe "
"zoekopdracht\" is geselecteerd"
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
-msgstr ""
+#: plugins/cheatfind/init.lua:479
+msgid "Data cleared and current state saved"
+msgstr "Data hersteld en huidige staat opgeslagen"
-#: plugins/cheatfind/init.lua:551
+#: plugins/cheatfind/init.lua:487
msgid "Start new search"
msgstr "Start nieuwe zoekopdracht"
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
-msgstr ""
+#: plugins/cheatfind/init.lua:497
+msgid "Current state saved"
+msgstr "Huidige staat opgeslagen"
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
-msgstr ""
+#: plugins/cheatfind/init.lua:504
+msgid "Save current -- #"
+msgstr "Sla huidige -- # op"
-#: plugins/cheatfind/init.lua:614
+#: plugins/cheatfind/init.lua:536
#, lua-format
msgid "%d total matches found"
msgstr "%d totale overeenkomsten gevonden"
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
-msgstr ""
+#: plugins/cheatfind/init.lua:543
+msgid "Compare"
+msgstr "Vergelijk"
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
-msgstr ""
+#: plugins/cheatfind/init.lua:546
+msgid "Left operand"
+msgstr "Linkse operand"
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
-msgstr ""
+#: plugins/cheatfind/init.lua:549
+msgid "Current"
+msgstr "Huidige"
+
+#: plugins/cheatfind/init.lua:554
+msgid "Operator"
+msgstr "Operator"
+
+#: plugins/cheatfind/init.lua:561
+msgid "Left less than right, value is difference"
+msgstr "Links kleiner dan rechts, waarde is verschil"
+
+#: plugins/cheatfind/init.lua:563
+msgid "Left greater than right, value is difference"
+msgstr "Links groter dan rechts, waarde is verschil"
-#: plugins/cheatfind/init.lua:676
+#: plugins/cheatfind/init.lua:565
msgid "Left equal to right"
msgstr "Links gelijk aan rechts"
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
-msgstr ""
+#: plugins/cheatfind/init.lua:567
+msgid "Left not equal to right, value is difference"
+msgstr "Links niet gelijk aan rechts, waarde is verschil"
-#: plugins/cheatfind/init.lua:680
+#: plugins/cheatfind/init.lua:569
msgid "Left equal to right with bitmask"
msgstr "Links gelijk aan rechts met bitmasker"
-#: plugins/cheatfind/init.lua:682
+#: plugins/cheatfind/init.lua:571
msgid "Left not equal to right with bitmask"
msgstr "Links niet gelijk aan rechts met bitmasker"
-#: plugins/cheatfind/init.lua:684
+#: plugins/cheatfind/init.lua:573
msgid "Left less than value"
msgstr "Links kleiner dan waarde"
-#: plugins/cheatfind/init.lua:686
+#: plugins/cheatfind/init.lua:575
msgid "Left greater than value"
msgstr "Links groter dan waarde"
-#: plugins/cheatfind/init.lua:688
+#: plugins/cheatfind/init.lua:577
msgid "Left equal to value"
msgstr "Links gelijk aan waarde"
-#: plugins/cheatfind/init.lua:690
+#: plugins/cheatfind/init.lua:579
msgid "Left not equal to value"
msgstr "Links niet gelijk aan waarde"
-#: plugins/cheatfind/init.lua:712
+#: plugins/cheatfind/init.lua:590
+msgid "Right operand"
+msgstr "Rechtse operand"
+
+#: plugins/cheatfind/init.lua:598
msgid "Value"
msgstr "Waarde"
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:719
+#: plugins/cheatfind/init.lua:602
msgid "Any"
msgstr "Willekeurige"
-#: plugins/cheatfind/init.lua:725
+#: plugins/cheatfind/init.lua:608
msgid "Data Format"
msgstr "Data Format"
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:738
-msgid ""
-"Use this if you want to poke the Slot 1 value (eg. You started with "
-"something but lost it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:740
-msgid ""
-"Use this if you want to poke the Last Slot value (eg. You started without an "
-"item but finally got it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:816
+#: plugins/cheatfind/init.lua:632
msgid "Undo last search -- #"
msgstr "Laatste zoekopdracht ongedaan maken -- #"
-#: plugins/cheatfind/init.lua:820
+#: plugins/cheatfind/init.lua:636
msgid "Match block"
msgstr "Paar blok"
-#: plugins/cheatfind/init.lua:823
+#: plugins/cheatfind/init.lua:639
msgid "All"
msgstr "Alle"
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheatfind/init.lua:690
#, lua-format
-msgid "Test Cheat %08X:%02X"
-msgstr ""
+msgid "Test cheat at addr %08X"
+msgstr "Test cheat op addr %08X"
-#: plugins/cheatfind/init.lua:974
+#: plugins/cheatfind/init.lua:722
msgid "Cheat engine not available"
msgstr "Cheat engine niet beschikbaar"
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Test"
msgstr "Test"
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Write"
msgstr "Schrijf"
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Watch"
msgstr "Watch"
-#: plugins/cheatfind/init.lua:1045
+#: plugins/cheatfind/init.lua:788
msgid "Page"
msgstr "Pagina"
-#: plugins/cheatfind/init.lua:1063
+#: plugins/cheatfind/init.lua:806
msgid "Clear Watches"
msgstr "Herstel Watches"
-#: plugins/cheatfind/init.lua:1078
+#: plugins/cheatfind/init.lua:816
msgid "Cheat Finder"
msgstr "Cheatzoeker"
-#: plugins/portname/init.lua:103
+#: plugins/portname/init.lua:69
msgid "Save input names to file"
msgstr "Sla invoernamen op in bestand"
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
+#: plugins/portname/init.lua:100 plugins/portname/init.lua:105
+#: plugins/portname/init.lua:121
msgid "Failed to save input name file"
msgstr "Opslaan van invoernaambestand mislukt"
-#: plugins/portname/init.lua:167
+#: plugins/portname/init.lua:133
#, lua-format
msgid "Input port name file saved to %s"
msgstr "Invoerpoortnaambestand opgeslagen in %s"
-#: plugins/portname/init.lua:172
+#: plugins/portname/init.lua:138
msgid "Input ports"
msgstr "Invoerpoorten"
-#~ msgid "Data cleared and current state saved"
-#~ msgstr "Data hersteld en huidige staat opgeslagen"
-
-#~ msgid "Current state saved"
-#~ msgstr "Huidige staat opgeslagen"
-
-#~ msgid "Save current -- #"
-#~ msgstr "Sla huidige -- # op"
-
-#~ msgid "Compare"
-#~ msgstr "Vergelijk"
-
-#~ msgid "Left operand"
-#~ msgstr "Linkse operand"
-
-#~ msgid "Current"
-#~ msgstr "Huidige"
-
-#~ msgid "Operator"
-#~ msgstr "Operator"
-
-#~ msgid "Left less than right, value is difference"
-#~ msgstr "Links kleiner dan rechts, waarde is verschil"
-
-#~ msgid "Left greater than right, value is difference"
-#~ msgstr "Links groter dan rechts, waarde is verschil"
-
-#~ msgid "Left not equal to right, value is difference"
-#~ msgstr "Links niet gelijk aan rechts, waarde is verschil"
-
-#~ msgid "Right operand"
-#~ msgstr "Rechtse operand"
-
-#~ msgid "Test cheat at addr %08X"
-#~ msgstr "Test cheat op addr %08X"
-
#~ msgid " total matches found"
#~ msgstr " totale overeenkomsten gevonden"
diff --git a/language/English/strings.po b/language/English/strings.po
index 6754c8897ed..7d0f4e38d08 100644
--- a/language/English/strings.po
+++ b/language/English/strings.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MAME\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-03-17 13:37+1100\n"
+"POT-Creation-Date: 2018-04-28 15:32+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -17,1144 +17,1041 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
+#: src/frontend/mame/ui/auditmenu.cpp:96
#, c-format
-msgid "Screen #%d"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Enabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Disabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
-msgid "Marquees"
+#: src/frontend/mame/ui/auditmenu.cpp:99
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/auditmenu.cpp:104
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/auditmenu.cpp:130
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/auditmenu.cpp:142
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/selmenu.cpp:49 src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/selmenu.cpp:50 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/selmenu.cpp:51
+msgid "Control Panels"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/selmenu.cpp:52 src/frontend/mame/ui/dirmenu.cpp:50
+msgid "PCBs"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/selmenu.cpp:53 src/frontend/mame/ui/dirmenu.cpp:47
+msgid "Flyers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/selmenu.cpp:54 src/frontend/mame/ui/dirmenu.cpp:48
+msgid "Titles"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/selmenu.cpp:55 src/frontend/mame/ui/dirmenu.cpp:49
+msgid "Ends"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/selmenu.cpp:56
+msgid "Artwork Preview"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/selmenu.cpp:57 src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Bosses"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/selmenu.cpp:58 src/frontend/mame/ui/dirmenu.cpp:60
+msgid "Logos"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/selmenu.cpp:59 src/frontend/mame/ui/dirmenu.cpp:62
+msgid "Versus"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/selmenu.cpp:60
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/selmenu.cpp:61 src/frontend/mame/ui/dirmenu.cpp:59
+msgid "HowTo"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/selmenu.cpp:62 src/frontend/mame/ui/dirmenu.cpp:61
+msgid "Scores"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/selmenu.cpp:63 src/frontend/mame/ui/dirmenu.cpp:57
+msgid "Select"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/selmenu.cpp:64 src/frontend/mame/ui/dirmenu.cpp:51
+#: src/frontend/mame/ui/videoopt.cpp:224
+msgid "Marquees"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/selmenu.cpp:65 src/frontend/mame/ui/dirmenu.cpp:63
+msgid "Covers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/selmenu.cpp:69
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/selmenu.cpp:70
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/selmenu.cpp:71
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/selmenu.cpp:237
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/selmenu.cpp:343
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/selmenu.cpp:570 src/frontend/mame/ui/selmenu.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:311
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/selmenu.cpp:574
+#, c-format
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/selmenu.cpp:576
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/selmenu.cpp:581
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/selmenu.cpp:586
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/selmenu.cpp:591
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selmenu.cpp:596
+#, c-format
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selmenu.cpp:612
#, c-format
-msgid "Current %1$s Folders"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selmenu.cpp:614
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selmenu.cpp:619
+#: src/frontend/mame/ui/simpleselgame.cpp:330
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selmenu.cpp:621
+#: src/frontend/mame/ui/simpleselgame.cpp:332
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:623
+#: src/frontend/mame/ui/simpleselgame.cpp:334
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:627
+#: src/frontend/mame/ui/simpleselgame.cpp:338
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/selmenu.cpp:629
+#: src/frontend/mame/ui/simpleselgame.cpp:340
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/selmenu.cpp:631
+#: src/frontend/mame/ui/simpleselgame.cpp:342
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/selmenu.cpp:634
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/selmenu.cpp:636
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/selmenu.cpp:638
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/selmenu.cpp:640
+#: src/frontend/mame/ui/simpleselgame.cpp:351
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/selmenu.cpp:650
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/selmenu.cpp:1975
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/selmenu.cpp:1976
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/selmenu.cpp:2386 src/frontend/mame/ui/miscmenu.cpp:826
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/selmenu.cpp:2454
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/selmenu.cpp:2489
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/dirmenu.cpp:35
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/dirmenu.cpp:36
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
-#: src/frontend/mame/ui/slotopt.cpp:220
-msgid "[empty slot]"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/dirmenu.cpp:40
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/dirmenu.cpp:52
+msgid "Controls Panels"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/dirmenu.cpp:53
+msgid "Crosshairs"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Artworks"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks Preview"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "GameOver"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/dirmenu.cpp:116
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/dirmenu.cpp:167
+#, c-format
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/dirmenu.cpp:182
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/dirmenu.cpp:429
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/dirmenu.cpp:513
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/info.cpp:30
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "LAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/info.cpp:180
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/info.cpp:190
+msgid ""
+"There are known problems with this machine\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/info.cpp:195
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/info.cpp:200
+msgid "Completely unemulated features: "
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#, c-format
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#: src/frontend/mame/ui/info.cpp:267
+#, c-format
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/info.cpp:216
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/info.cpp:231
+msgid "Screen flipping in cocktail mode is not supported.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/info.cpp:233
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/info.cpp:235
+msgid ""
+"This machine was never completed. It may exhibit strange behavior or missing "
+"elements that are not bugs in the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/info.cpp:237
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/info.cpp:241
+msgid ""
+"\n"
+"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
+"complete. There is nothing you can do to fix this problem except wait for "
+"the developers to improve the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/info.cpp:243
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they requires physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/info.cpp:265
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/info.cpp:278
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/info.cpp:293
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:149
+#: src/frontend/mame/ui/info.cpp:342
msgid ""
-"The selected game is missing one or more required ROM or CHD images. Please "
-"select a different game.\n"
"\n"
-"Press any key to continue."
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:247
-#, c-format
+#: src/frontend/mame/ui/info.cpp:370
msgid ""
-"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
"\n"
-"If this is your first time using %2$s, please see the config.txt file in the "
-"docs directory for information on configuring %2$s."
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+"Video:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/info.cpp:374
+msgid "None\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/info.cpp:381
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:314
-#: src/frontend/mame/ui/selsoft.cpp:652 src/frontend/mame/ui/selsoft.cpp:659
+#: src/frontend/mame/ui/info.cpp:392
#, c-format
-msgid "%1$-.100s"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:317
-#: src/frontend/mame/ui/selmenu.cpp:618 src/frontend/mame/ui/selmenu.cpp:654
-#, c-format
-msgid "%1$s, %2$-.100s"
+#: src/frontend/mame/ui/info.cpp:392
+msgid "%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
+#: src/frontend/mame/ui/info.cpp:438
#, c-format
-msgid "Driver: %1$-.100s"
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+msgid "Screen '%1$s'"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/info.cpp:440
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/info.cpp:525
+msgid "Not supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/info.cpp:528
+msgid "Partially supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/info.cpp:536
+msgid "[empty]"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/optsmenu.cpp:193
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/optsmenu.cpp:206
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/optsmenu.cpp:207
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/optsmenu.cpp:210 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/optsmenu.cpp:213
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/optsmenu.cpp:216
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/optsmenu.cpp:228
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:337
-msgid "This driver requires images to be loaded in the following device(s): "
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
+msgid "Rewind"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1302
-#, c-format
-msgid ""
-"Are you sure you want to quit?\n"
-"\n"
-"Press ''%1$s'' to quit,\n"
-"Press ''%2$s'' to return to emulation."
+#: src/frontend/mame/ui/inputmap.cpp:53
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/inputmap.cpp:59
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
+#: src/frontend/mame/ui/inputmap.cpp:628 src/frontend/mame/ui/miscmenu.cpp:96
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/selector.cpp:116
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
+#: src/frontend/mame/ui/selector.cpp:124
#, c-format
-msgid "Overclock %1$s sound"
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/filesel.cpp:256
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/swlist.cpp:88
+msgid "[file manager]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/swlist.cpp:228
+msgid "Switch Item Ordering"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
+#: src/frontend/mame/ui/swlist.cpp:259
#, c-format
-msgid "%1$s Horiz Stretch"
+msgid "Switched Order: entries now ordered by %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "shortname"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "description"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/swlist.cpp:389
+msgid "[compatible lists]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/datmenu.cpp:80
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/datmenu.cpp:362
+msgid "Revision: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/simpleselgame.cpp:149
+msgid ""
+"The selected game is missing one or more required ROM or CHD images. Please "
+"select a different game.\n"
+"\n"
+"Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
+#: src/frontend/mame/ui/simpleselgame.cpp:241
#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+msgid ""
+"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
+"\n"
+"If this is your first time using %2$s, please see the config.txt file in the "
+"docs directory for information on configuring %2$s."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/simpleselgame.cpp:271
+#: src/frontend/mame/ui/selgame.cpp:436
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/simpleselgame.cpp:292
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/simpleselgame.cpp:294
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
+#: src/frontend/mame/ui/simpleselgame.cpp:308
+#: src/frontend/mame/ui/selsoft.cpp:564 src/frontend/mame/ui/selsoft.cpp:571
#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/simpleselgame.cpp:314
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
+#: src/frontend/mame/ui/videoopt.cpp:56
#, c-format
-msgid "Crosshair Offset %1$s"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/videoopt.cpp:208
+msgid "Backdrops"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Enabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Disabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
-#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
-#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
-#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
-#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
-#: src/frontend/mame/ui/ui.cpp:1927
-#, c-format
-msgid "%1$.3f"
+#: src/frontend/mame/ui/videoopt.cpp:212
+msgid "Overlays"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
-#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
-#, c-format
-msgid "%1$1.2f"
+#: src/frontend/mame/ui/videoopt.cpp:216
+msgid "Bezels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:220
+msgid "CPanels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "View"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cropped"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Full"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1047
+msgid "No"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
-msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1047
+msgid "Yes"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
-msgid ""
-"Cheat Comment:\n"
-"%s"
+#: src/frontend/mame/ui/filecreate.cpp:171
+msgid "New Image Name:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/filecreate.cpp:177
+msgid "Image Format:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/filecreate.cpp:183
+msgid "Create"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/filecreate.cpp:266
+msgid "Select image format"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Keyboard Mode:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Natural"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Emulated"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
+#: src/frontend/mame/ui/miscmenu.cpp:236
#, c-format
msgid ""
-"%s\n"
-" added to favorites list."
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
+#: src/frontend/mame/ui/miscmenu.cpp:238
#, c-format
msgid ""
-"%s\n"
-" removed from favorites list."
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/miscmenu.cpp:242
+#, c-format
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
+"Tickets dispensed: %1$d\n"
"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
+#: src/frontend/mame/ui/miscmenu.cpp:253
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/miscmenu.cpp:253
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
-#, c-format
-msgid "Driver: \"%1$s\" software list "
+#: src/frontend/mame/ui/miscmenu.cpp:256
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
-#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+#: src/frontend/mame/ui/miscmenu.cpp:503
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/miscmenu.cpp:601
#, c-format
-msgid "Search: %1$s_"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
-msgid "Unfiltered"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
-msgid "Available"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
-msgid "Unavailable"
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
-msgid "Working"
+#: src/frontend/mame/ui/miscmenu.cpp:627
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
-msgid "Not Working"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
-msgid "Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:655
+msgid "Export list in XML format (like -listxml)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
-msgid "Not Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:656
+msgid "Export list in XML format (like -listxml, but exclude devices)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
-msgid "Category"
+#: src/frontend/mame/ui/miscmenu.cpp:657
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
-msgid "Favorites"
+#: src/frontend/mame/ui/miscmenu.cpp:710 src/frontend/mame/ui/ui.cpp:2230
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/miscmenu.cpp:760 src/frontend/mame/ui/utils.cpp:66
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
-msgid "Not BIOS"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
-msgid "Parents"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
-msgid "Clones"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:73
-msgid "Manufacturer"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
-msgid "Year"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:75
-msgid "Save Supported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:76
-msgid "Save Unsupported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:77
-msgid "CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:78
-msgid "No CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:79
-msgid "Vertical Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:80
-msgid "Horizontal Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
-msgid "Custom Filter"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:91
-msgid "Publisher"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:92
-msgid "Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:764
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
-msgid "Partially Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:767
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
-msgid "Unsupported"
+#: src/frontend/mame/ui/miscmenu.cpp:776 src/frontend/mame/ui/mainmenu.cpp:145
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
-msgid "Release Region"
+#: src/frontend/mame/ui/miscmenu.cpp:778 src/frontend/mame/ui/mainmenu.cpp:147
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
-msgid "Device Type"
+#: src/frontend/mame/ui/miscmenu.cpp:781
+msgid "Save machine configuration"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
-msgid "Software List"
+#: src/frontend/mame/ui/miscmenu.cpp:792
+msgid "Configure machine:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
-msgid "<set up filters>"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:736
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:551 plugins/cheatfind/init.lua:619
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
-msgid "Select custom filters:"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:739
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:554 plugins/cheat/init.lua:563
+#: plugins/cheatfind/init.lua:616
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
-#, c-format
-msgid "Filter %1$u"
+#: src/frontend/mame/ui/miscmenu.cpp:909 src/frontend/mame/ui/selgame.cpp:441
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
-msgid "Remove last filter"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
-msgid "Add filter"
+#: src/frontend/mame/ui/barcode.cpp:78
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
-msgid "Select category:"
+#: src/frontend/mame/ui/barcode.cpp:119
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
-msgid "[no category INI files]"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:99
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
-msgid "[no groups in INI file]"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
-msgid "No category INI files found"
+#: src/frontend/mame/ui/mainmenu.cpp:60
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
-msgid "File"
+#: src/frontend/mame/ui/mainmenu.cpp:62
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
-msgid "No groups found in category file"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
-msgid "Group"
+#: src/frontend/mame/ui/mainmenu.cpp:68
+msgid "Dip Switches"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
-msgid "Include clones"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
+#: src/frontend/mame/ui/mainmenu.cpp:78
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/mainmenu.cpp:85
+msgid "Image Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/mainmenu.cpp:96
+msgid "Tape Control"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/mainmenu.cpp:102
+msgid "BIOS Selection"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/mainmenu.cpp:106
+msgid "Slot Devices"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
-#, c-format
-msgid "%s [internal]"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Barcode Reader"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:203 src/frontend/mame/ui/miscmenu.cpp:97
-#: src/frontend/mame/ui/inputmap.cpp:615
-msgid "Reset"
+#: src/frontend/mame/ui/mainmenu.cpp:114
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/mainmenu.cpp:118
+msgid "Keyboard Mode"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/mainmenu.cpp:121
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/mainmenu.cpp:124 src/frontend/mame/ui/submenu.cpp:101
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/mainmenu.cpp:128
+msgid "Crosshair Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/mainmenu.cpp:132 plugins/cheat/init.lua:735
+msgid "Cheat"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:762
-#: plugins/cheat/init.lua:569 plugins/cheatfind/init.lua:792
-#: plugins/cheatfind/init.lua:803
-msgid "On"
+#: src/frontend/mame/ui/mainmenu.cpp:135
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:765
-#: plugins/cheat/init.lua:572 plugins/cheat/init.lua:581
-#: plugins/cheatfind/init.lua:789 plugins/cheatfind/init.lua:800
-msgid "Off"
+#: src/frontend/mame/ui/mainmenu.cpp:139
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/mainmenu.cpp:154
+msgid "Select New Machine"
msgstr ""
#: src/frontend/mame/ui/custui.cpp:31
@@ -1377,1281 +1274,1303 @@ msgstr ""
msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/submenu.cpp:22
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/submenu.cpp:23
+msgid "Re-select last machine played"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/submenu.cpp:24
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:26
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:27
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:28
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:29
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:30
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
-#, c-format
-msgid "%s.txt saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/submenu.cpp:45
+msgid "Refresh speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/submenu.cpp:47
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/submenu.cpp:49
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
-msgid "Configure Machine"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
-#, c-format
-msgid "Romset\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
-#, c-format
-msgid "Year\t%1$s\n"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
-#, c-format
-msgid "Manufacturer\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
-#, c-format
-msgid "Driver is Clone of\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1044
-msgid "Driver is Parent\t\n"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
-msgid "Analog Controls\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Artwork Crop"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
-msgid "Keyboard Inputs\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Use Backdrops"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
-msgid "Overall\tNOT WORKING\n"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Use Overlays"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
-msgid "Overall\tUnemulated Protection\n"
+#: src/frontend/mame/ui/submenu.cpp:60
+msgid "Use Bezels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
-msgid "Overall\tWorking\n"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Use Control Panels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
-msgid "Graphics\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:62
+msgid "Use Marquees"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
-msgid "Graphics\tWrong Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
-msgid "Graphics\tImperfect Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
-msgid "Graphics\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
-msgid "Graphics\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Bilinear snapshot"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
-msgid "Sound\tNone\n"
+#: src/frontend/mame/ui/submenu.cpp:69
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
-msgid "Sound\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
-msgid "Sound\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:72
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
-msgid "Sound\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
-msgid "Capture\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
-msgid "Capture\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
-msgid "Camera\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
-msgid "Camera\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
-msgid "Microphone\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
-msgid "Microphone\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:79
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
-msgid "Controls\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
-msgid "Controls\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
-msgid "Keyboard\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Joystick saturation"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
-msgid "Keyboard\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Natural keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
-msgid "Mouse\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
-msgid "Mouse\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
-msgid "Media\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
-msgid "Media\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Lightgun Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
-msgid "Disk\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Trackball Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
-msgid "Disk\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
-msgid "Printer\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
-msgid "Printer\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
-msgid "Mag. Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:95
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
-msgid "Mag. Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:96
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
-msgid "Punch Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:97
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
-msgid "Punch Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
-msgid "Mag. Drum\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:103
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
-msgid "Mag. Drum\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
-msgid "(EP)ROM\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
-msgid "(EP)ROM\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
-msgid "Communications\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:109
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
-msgid "Communications\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:110
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
-msgid "LAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:111
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
-msgid "LAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:112
+msgid "Enforce Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
-msgid "WAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:113
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
-msgid "WAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:114
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
-msgid "Timing\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
-msgid "Timing\tImperfect\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tYes\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Select position to load from"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tNo\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tYes\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Select position to save to"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tNo\n"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:309 src/frontend/mame/ui/selsoft.cpp:211
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:314 src/frontend/mame/ui/selgame.cpp:320
+#: src/frontend/mame/ui/selsoft.cpp:216
+#, c-format
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:437
+msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:849
+#, c-format
+msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:850
+#, c-format
+msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:851
+#, c-format
+msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:855
+#, c-format
+msgid "Driver is Clone of\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:857
+msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tVertical\n"
+#: src/frontend/mame/ui/selgame.cpp:860
+msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tHorizontal\n"
+#: src/frontend/mame/ui/selgame.cpp:862
+msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:865
+msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:867
+msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
-msgid "ROM Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:869
+msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
-msgid "ROM Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:872
+msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
-msgid "Samples Audit Result\tNone Needed\n"
+#: src/frontend/mame/ui/selgame.cpp:874
+msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
-msgid "Samples Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:876
+msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
-msgid "Samples Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:878
+msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
-msgid ""
-"ROM Audit \tDisabled\n"
-"Samples Audit \tDisabled\n"
+#: src/frontend/mame/ui/selgame.cpp:880
+msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
+#: src/frontend/mame/ui/selgame.cpp:883
+msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1424
-#, c-format
-msgid "Romset: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:885
+msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
-#, c-format
-msgid "System: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:887
+msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1465
-msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
+#: src/frontend/mame/ui/selgame.cpp:889
+msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
+#: src/frontend/mame/ui/selgame.cpp:892
+msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
+#: src/frontend/mame/ui/selgame.cpp:894
+msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
+#: src/frontend/mame/ui/selgame.cpp:897
+msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
+#: src/frontend/mame/ui/selgame.cpp:899
+msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
+#: src/frontend/mame/ui/selgame.cpp:902
+msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selgame.cpp:904
+msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selgame.cpp:907
+msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/selgame.cpp:909
+msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/selgame.cpp:912
+msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/selgame.cpp:914
+msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/selgame.cpp:917
+msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/selgame.cpp:919
+msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/selgame.cpp:922
+msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/selgame.cpp:924
+msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/selgame.cpp:927
+msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/selgame.cpp:929
+msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/selgame.cpp:932
+msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/selgame.cpp:934
+msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/selgame.cpp:937
+msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/selgame.cpp:939
+msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/selgame.cpp:970
+msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/selgame.cpp:972
+msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/selgame.cpp:975
+msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/selgame.cpp:977
+msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/selgame.cpp:979
+msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/selgame.cpp:983
+msgid ""
+"ROM Audit \tDisabled\n"
+"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/selgame.cpp:1167
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/selgame.cpp:1183 src/frontend/mame/ui/selsoft.cpp:555
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/selgame.cpp:1185 src/frontend/mame/ui/selsoft.cpp:557
+#, c-format
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/selgame.cpp:1195
+#, c-format
+msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/selgame.cpp:1202
+#, c-format
+msgid "System: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/selgame.cpp:1239
+msgid ""
+"The selected machine is missing one or more required ROM or CHD images. "
+"Please select a different machine.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/selgame.cpp:1245 src/frontend/mame/ui/selsoft.cpp:462
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/utils.cpp:57 src/frontend/mame/ui/utils.cpp:81
+msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/utils.cpp:58 src/frontend/mame/ui/utils.cpp:82
+msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/utils.cpp:59 src/frontend/mame/ui/utils.cpp:83
+msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/utils.cpp:60
+msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/utils.cpp:61
+msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/utils.cpp:62
+msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:63
+msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:64
+msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:65
+msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:67
+msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:84
+msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/utils.cpp:85
+msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:70
+msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:86
+msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/utils.cpp:72
+msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/utils.cpp:73
+msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/utils.cpp:74
+msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/utils.cpp:75
+msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/utils.cpp:76
+msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/utils.cpp:77
+msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/utils.cpp:78 src/frontend/mame/ui/utils.cpp:94
+msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/utils.cpp:87
+msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/utils.cpp:88
+msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/utils.cpp:89
+msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/utils.cpp:90
+msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/utils.cpp:91
+msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:43
-#, c-format
-msgid ""
-"[This option is currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"The selected option enables the following items:\n"
+#: src/frontend/mame/ui/utils.cpp:92
+msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:44
-#, c-format
-msgid ""
-"[This option is NOT currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"If you select this option, the following items will be enabled:\n"
+#: src/frontend/mame/ui/utils.cpp:93
+msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/utils.cpp:244
+msgid "<set up filters>"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:352
+msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/utils.cpp:503
#, c-format
-msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
-msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:518
+msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %3$d.%4$06d MHz\n"
+#: src/frontend/mame/ui/utils.cpp:520
+msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:959
+msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/utils.cpp:990
+msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/utils.cpp:998
+msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:103
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1032
+msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1037
+msgid "File"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/utils.cpp:1041
+msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
-#, c-format
-msgid " %1$d×%2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1046
+msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1047
+msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:168
-#, c-format
+#: src/frontend/mame/ui/selsoft.cpp:456
msgid ""
-"* BIOS settings:\n"
-" %1$d options [default: %2$s]\n"
+"The selected software is missing one or more required files. Please select a "
+"different software.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:208 src/frontend/mame/ui/devopt.cpp:224
-#: src/frontend/mame/ui/devopt.cpp:269
+#: src/frontend/mame/ui/selsoft.cpp:549
#, c-format
-msgid " %1$s [default: %2$s]\n"
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
+#: src/frontend/mame/ui/selsoft.cpp:550
#, c-format
-msgid " %1$s\n"
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:260
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:419
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/filesel.cpp:515
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:516
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:518
+msgid "Read-write"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
-#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:519
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:520
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:117
+msgid "Cannot save over directory"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:150
+msgid ""
+"The software selected is missing one or more required ROM or CHD images. "
+"Please select a different one."
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:294
+msgid "Return to Machine"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
-#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:299 src/frontend/mame/ui/menu.cpp:301
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+#: src/frontend/mame/ui/menu.cpp:306 src/frontend/mame/ui/menu.cpp:308
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
-#, c-format
-msgid " %1$s [tag: %2$s]\n"
+#: src/frontend/mame/ui/menu.cpp:742
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
+#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:653
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+#: src/frontend/mame/ui/cheatopt.cpp:105
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/cheatopt.cpp:136
+msgid "Autofire Settings"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:581
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:582
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
+#: src/frontend/mame/ui/cheatopt.cpp:273
+msgid "Autofire Status"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
+#: src/frontend/mame/ui/cheatopt.cpp:316
+msgid "No buttons found on this machine!"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+#: src/frontend/mame/ui/cheatopt.cpp:327 src/frontend/mame/ui/cheatopt.cpp:331
+msgid "Autofire Delay"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
-msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
+#: src/frontend/mame/ui/ui.cpp:337
+msgid "This driver requires images to be loaded in the following device(s): "
msgstr ""
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
+#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
+msgid "Keyboard Emulation Status"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
+#: src/frontend/mame/ui/ui.cpp:1086
+msgid "Mode: PARTIAL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
+#: src/frontend/mame/ui/ui.cpp:1087
+msgid "UI: Enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
+#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
+msgid "**Use ScrLock to toggle**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
+#: src/frontend/mame/ui/ui.cpp:1096
+msgid "Mode: FULL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: src/frontend/mame/ui/ui.cpp:1097
+msgid "UI: Disabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
+#: src/frontend/mame/ui/ui.cpp:1249
+msgid "Autofire can't be enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
+#: src/frontend/mame/ui/ui.cpp:1302
+#, c-format
+msgid ""
+"Are you sure you want to quit?\n"
+"\n"
+"Press ''%1$s'' to quit,\n"
+"Press ''%2$s'' to return to emulation."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
+#: src/frontend/mame/ui/ui.cpp:1374
+msgid "Master Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
+#: src/frontend/mame/ui/ui.cpp:1383
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/ui.cpp:1407
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/ui.cpp:1416
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/ui.cpp:1437
+#, c-format
+msgid "%1$s Refresh Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, c-format
+msgid "%1$s Brightness"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1444
+#, c-format
+msgid "%1$s Contrast"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1446
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/ui.cpp:1450
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/ui.cpp:1452
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/ui.cpp:1454
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/ui.cpp:1456
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/ui.cpp:1475
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/ui.cpp:1477
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/ui.cpp:1479
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
-msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+#: src/frontend/mame/ui/ui.cpp:1481
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:198
-msgid ""
-"There are known problems with this machine\n"
-"\n"
+#: src/frontend/mame/ui/ui.cpp:1493
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/ui.cpp:1494
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/ui.cpp:1495
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
+#: src/frontend/mame/ui/ui.cpp:1496
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#: src/frontend/mame/ui/info.cpp:275
+#: src/frontend/mame/ui/ui.cpp:1511
#, c-format
-msgid ", %s"
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
+#: src/frontend/mame/ui/ui.cpp:1513
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:243
-msgid ""
-"This machine was never completed. It may exhibit strange behavior or missing "
-"elements that are not bugs in the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1601
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:245
-msgid ""
-"This machine has no sound hardware, MAME will produce no sounds, this is "
-"expected behaviour.\n"
+#: src/frontend/mame/ui/ui.cpp:1645
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:249
-msgid ""
-"\n"
-"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
-"complete. There is nothing you can do to fix this problem except wait for "
-"the developers to improve the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1661
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:251
-msgid ""
-"\n"
-"Elements of this machine cannot be emulated as they requires physical "
-"interaction or consist of mechanical devices. It is not possible to fully "
-"experience this machine.\n"
+#: src/frontend/mame/ui/ui.cpp:1685
+#, c-format
+msgid "%1$.3ffps"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
+#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
+#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
+#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
+#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
+#: src/frontend/mame/ui/ui.cpp:1927
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
+#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/ui.cpp:2005
#, c-format
-msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/ui.cpp:2226
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " COLORS"
+msgstr ""
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:39
#, c-format
-msgid "%1$s: %2$s\n"
+msgid ""
+"[This option is currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"The selected option enables the following items:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+#: src/frontend/mame/ui/devopt.cpp:40
+#, c-format
+msgid ""
+"[This option is NOT currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"If you select this option, the following items will be enabled:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:48
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
#, c-format
-msgid "Screen '%1$s'"
+msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
+msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:85
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:90
+#, c-format
+msgid " Screen '%1$s': Vector\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:99
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:100
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:113
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:133
+#, c-format
+msgid " %1$d×%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:164
+#, c-format
+msgid ""
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:204 src/frontend/mame/ui/devopt.cpp:220
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
+#: src/frontend/mame/ui/devopt.cpp:209 src/frontend/mame/ui/devopt.cpp:225
#, c-format
-msgid "Software is clone of: %1$-.100s"
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: src/frontend/mame/ui/devopt.cpp:230
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: src/frontend/mame/ui/devopt.cpp:232
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: src/frontend/mame/ui/devopt.cpp:234
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: src/frontend/mame/ui/devopt.cpp:236
+#, c-format
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
+#: src/frontend/mame/ui/devopt.cpp:238
#, c-format
-msgid "romset: %1$-.100s"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
+#: src/frontend/mame/ui/devopt.cpp:240
#, c-format
-msgid "Driver is clone of: %1$-.100s"
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: src/frontend/mame/ui/devopt.cpp:242
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
+#: src/frontend/mame/ui/devopt.cpp:244
#, c-format
-msgid "%1$s %2$s"
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: src/frontend/mame/ui/devopt.cpp:246
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: src/frontend/mame/ui/devopt.cpp:248
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: src/frontend/mame/ui/devopt.cpp:257
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: src/frontend/mame/ui/devopt.cpp:263
+msgid "* Slot Options:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:270
+msgid "[None]\n"
msgstr ""
#: plugins/timer/init.lua:94
@@ -2670,51 +2589,51 @@ msgstr ""
msgid "Timer"
msgstr ""
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:510
msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheat/init.lua:534
+#: plugins/cheat/init.lua:516
msgid "Press button for hotkey or wait to clear"
msgstr ""
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:528
msgid "None"
msgstr ""
-#: plugins/cheat/init.lua:551
+#: plugins/cheat/init.lua:533
msgid "Done"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:547 plugins/cheat/init.lua:561
msgid "Set"
msgstr ""
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:580
msgid "Set hotkeys"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:720
#, lua-format
msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:723 plugins/cheat/init.lua:781
#, lua-format
msgid "Activated: %s"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:785
#, lua-format
msgid "Enabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:790
#, lua-format
msgid "Disabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "%s added"
msgstr ""
@@ -2763,303 +2682,218 @@ msgstr ""
msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:404
+#: plugins/cheatfind/init.lua:373
msgid "Save Cheat"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Default"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Custom"
msgstr ""
-#: plugins/cheatfind/init.lua:408
+#: plugins/cheatfind/init.lua:377
msgid "Cheat Name"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/cheatfind/init.lua:383 plugins/cheatfind/init.lua:748
#, lua-format
msgid "Default name is %s"
msgstr ""
-#: plugins/cheatfind/init.lua:422
+#: plugins/cheatfind/init.lua:391
msgid "Player"
msgstr ""
-#: plugins/cheatfind/init.lua:427
+#: plugins/cheatfind/init.lua:396
msgid "Type"
msgstr ""
-#: plugins/cheatfind/init.lua:433
+#: plugins/cheatfind/init.lua:402
msgid "Save"
msgstr ""
-#: plugins/cheatfind/init.lua:462
+#: plugins/cheatfind/init.lua:429
#, lua-format
msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:472
+#: plugins/cheatfind/init.lua:437
msgid "Cheat added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:442
msgid ""
"Unable to write file\n"
"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/cheatfind/init.lua:486
+#: plugins/cheatfind/init.lua:451
msgid "Cancel"
msgstr ""
-#: plugins/cheatfind/init.lua:491
+#: plugins/cheatfind/init.lua:456
msgid "CPU or RAM"
msgstr ""
-#: plugins/cheatfind/init.lua:495
+#: plugins/cheatfind/init.lua:460
msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:479
+msgid "Data cleared and current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:487
+msgid "Start new search"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:497
+msgid "Current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:504
+msgid "Save current -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
+#: plugins/cheatfind/init.lua:536
#, lua-format
-msgid "Memory State saved to Slot %d"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:543
+msgid "Compare"
msgstr ""
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
+#: plugins/cheatfind/init.lua:546
+msgid "Left operand"
+msgstr ""
+
+#: plugins/cheatfind/init.lua:549
+msgid "Current"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:554
+msgid "Operator"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:561
+msgid "Left less than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:563
+msgid "Left greater than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:676
+#: plugins/cheatfind/init.lua:565
msgid "Left equal to right"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:567
+msgid "Left not equal to right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:680
+#: plugins/cheatfind/init.lua:569
msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:682
+#: plugins/cheatfind/init.lua:571
msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:684
+#: plugins/cheatfind/init.lua:573
msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:686
+#: plugins/cheatfind/init.lua:575
msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:688
+#: plugins/cheatfind/init.lua:577
msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:690
+#: plugins/cheatfind/init.lua:579
msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/cheatfind/init.lua:590
+msgid "Right operand"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/cheatfind/init.lua:598
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:719
+#: plugins/cheatfind/init.lua:602
msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:725
+#: plugins/cheatfind/init.lua:608
msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:738
-msgid ""
-"Use this if you want to poke the Slot 1 value (eg. You started with "
-"something but lost it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:740
-msgid ""
-"Use this if you want to poke the Last Slot value (eg. You started without an "
-"item but finally got it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:816
+#: plugins/cheatfind/init.lua:632
msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:820
+#: plugins/cheatfind/init.lua:636
msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:823
+#: plugins/cheatfind/init.lua:639
msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheatfind/init.lua:690
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Test cheat at addr %08X"
msgstr ""
-#: plugins/cheatfind/init.lua:974
+#: plugins/cheatfind/init.lua:722
msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
+#: plugins/cheatfind/init.lua:788
msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
+#: plugins/cheatfind/init.lua:806
msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
+#: plugins/cheatfind/init.lua:816
msgid "Cheat Finder"
msgstr ""
-#: plugins/portname/init.lua:103
+#: plugins/portname/init.lua:69
msgid "Save input names to file"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
+#: plugins/portname/init.lua:100 plugins/portname/init.lua:105
+#: plugins/portname/init.lua:121
msgid "Failed to save input name file"
msgstr ""
-#: plugins/portname/init.lua:167
+#: plugins/portname/init.lua:133
#, lua-format
msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/portname/init.lua:172
+#: plugins/portname/init.lua:138
msgid "Input ports"
msgstr ""
diff --git a/language/Estonian/strings.po b/language/Estonian/strings.po
index 693dbe86765..0cb4217ee0c 100644
--- a/language/Estonian/strings.po
+++ b/language/Estonian/strings.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MAME\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-03-17 13:37+1100\n"
+"POT-Creation-Date: 2018-04-28 15:32+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -17,1144 +17,1041 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
+#: src/frontend/mame/ui/auditmenu.cpp:96
#, c-format
-msgid "Screen #%d"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Enabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Disabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
-msgid "Marquees"
+#: src/frontend/mame/ui/auditmenu.cpp:99
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/auditmenu.cpp:104
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/auditmenu.cpp:130
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/auditmenu.cpp:142
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/selmenu.cpp:49 src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/selmenu.cpp:50 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/selmenu.cpp:51
+msgid "Control Panels"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/selmenu.cpp:52 src/frontend/mame/ui/dirmenu.cpp:50
+msgid "PCBs"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/selmenu.cpp:53 src/frontend/mame/ui/dirmenu.cpp:47
+msgid "Flyers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/selmenu.cpp:54 src/frontend/mame/ui/dirmenu.cpp:48
+msgid "Titles"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/selmenu.cpp:55 src/frontend/mame/ui/dirmenu.cpp:49
+msgid "Ends"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/selmenu.cpp:56
+msgid "Artwork Preview"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/selmenu.cpp:57 src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Bosses"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/selmenu.cpp:58 src/frontend/mame/ui/dirmenu.cpp:60
+msgid "Logos"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/selmenu.cpp:59 src/frontend/mame/ui/dirmenu.cpp:62
+msgid "Versus"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/selmenu.cpp:60
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/selmenu.cpp:61 src/frontend/mame/ui/dirmenu.cpp:59
+msgid "HowTo"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/selmenu.cpp:62 src/frontend/mame/ui/dirmenu.cpp:61
+msgid "Scores"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/selmenu.cpp:63 src/frontend/mame/ui/dirmenu.cpp:57
+msgid "Select"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/selmenu.cpp:64 src/frontend/mame/ui/dirmenu.cpp:51
+#: src/frontend/mame/ui/videoopt.cpp:224
+msgid "Marquees"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/selmenu.cpp:65 src/frontend/mame/ui/dirmenu.cpp:63
+msgid "Covers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/selmenu.cpp:69
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/selmenu.cpp:70
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/selmenu.cpp:71
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/selmenu.cpp:237
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/selmenu.cpp:343
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/selmenu.cpp:570 src/frontend/mame/ui/selmenu.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:311
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/selmenu.cpp:574
+#, c-format
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/selmenu.cpp:576
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/selmenu.cpp:581
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/selmenu.cpp:586
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/selmenu.cpp:591
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selmenu.cpp:596
+#, c-format
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selmenu.cpp:612
#, c-format
-msgid "Current %1$s Folders"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selmenu.cpp:614
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selmenu.cpp:619
+#: src/frontend/mame/ui/simpleselgame.cpp:330
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selmenu.cpp:621
+#: src/frontend/mame/ui/simpleselgame.cpp:332
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:623
+#: src/frontend/mame/ui/simpleselgame.cpp:334
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:627
+#: src/frontend/mame/ui/simpleselgame.cpp:338
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/selmenu.cpp:629
+#: src/frontend/mame/ui/simpleselgame.cpp:340
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/selmenu.cpp:631
+#: src/frontend/mame/ui/simpleselgame.cpp:342
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/selmenu.cpp:634
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/selmenu.cpp:636
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/selmenu.cpp:638
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/selmenu.cpp:640
+#: src/frontend/mame/ui/simpleselgame.cpp:351
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/selmenu.cpp:650
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/selmenu.cpp:1975
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/selmenu.cpp:1976
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/selmenu.cpp:2386 src/frontend/mame/ui/miscmenu.cpp:826
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/selmenu.cpp:2454
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/selmenu.cpp:2489
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/dirmenu.cpp:35
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/dirmenu.cpp:36
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
-#: src/frontend/mame/ui/slotopt.cpp:220
-msgid "[empty slot]"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/dirmenu.cpp:40
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/dirmenu.cpp:52
+msgid "Controls Panels"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/dirmenu.cpp:53
+msgid "Crosshairs"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Artworks"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks Preview"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "GameOver"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/dirmenu.cpp:116
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/dirmenu.cpp:167
+#, c-format
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/dirmenu.cpp:182
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/dirmenu.cpp:429
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/dirmenu.cpp:513
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/info.cpp:30
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "LAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/info.cpp:180
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/info.cpp:190
+msgid ""
+"There are known problems with this machine\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/info.cpp:195
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/info.cpp:200
+msgid "Completely unemulated features: "
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#, c-format
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#: src/frontend/mame/ui/info.cpp:267
+#, c-format
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/info.cpp:216
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/info.cpp:231
+msgid "Screen flipping in cocktail mode is not supported.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/info.cpp:233
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/info.cpp:235
+msgid ""
+"This machine was never completed. It may exhibit strange behavior or missing "
+"elements that are not bugs in the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/info.cpp:237
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/info.cpp:241
+msgid ""
+"\n"
+"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
+"complete. There is nothing you can do to fix this problem except wait for "
+"the developers to improve the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/info.cpp:243
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they requires physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/info.cpp:265
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/info.cpp:278
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/info.cpp:293
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:149
+#: src/frontend/mame/ui/info.cpp:342
msgid ""
-"The selected game is missing one or more required ROM or CHD images. Please "
-"select a different game.\n"
"\n"
-"Press any key to continue."
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:247
-#, c-format
+#: src/frontend/mame/ui/info.cpp:370
msgid ""
-"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
"\n"
-"If this is your first time using %2$s, please see the config.txt file in the "
-"docs directory for information on configuring %2$s."
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+"Video:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/info.cpp:374
+msgid "None\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/info.cpp:381
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:314
-#: src/frontend/mame/ui/selsoft.cpp:652 src/frontend/mame/ui/selsoft.cpp:659
+#: src/frontend/mame/ui/info.cpp:392
#, c-format
-msgid "%1$-.100s"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:317
-#: src/frontend/mame/ui/selmenu.cpp:618 src/frontend/mame/ui/selmenu.cpp:654
-#, c-format
-msgid "%1$s, %2$-.100s"
+#: src/frontend/mame/ui/info.cpp:392
+msgid "%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
+#: src/frontend/mame/ui/info.cpp:438
#, c-format
-msgid "Driver: %1$-.100s"
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+msgid "Screen '%1$s'"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/info.cpp:440
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/info.cpp:525
+msgid "Not supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/info.cpp:528
+msgid "Partially supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/info.cpp:536
+msgid "[empty]"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/optsmenu.cpp:193
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/optsmenu.cpp:206
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/optsmenu.cpp:207
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/optsmenu.cpp:210 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/optsmenu.cpp:213
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/optsmenu.cpp:216
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/optsmenu.cpp:228
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:337
-msgid "This driver requires images to be loaded in the following device(s): "
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
+msgid "Rewind"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1302
-#, c-format
-msgid ""
-"Are you sure you want to quit?\n"
-"\n"
-"Press ''%1$s'' to quit,\n"
-"Press ''%2$s'' to return to emulation."
+#: src/frontend/mame/ui/inputmap.cpp:53
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/inputmap.cpp:59
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
+#: src/frontend/mame/ui/inputmap.cpp:628 src/frontend/mame/ui/miscmenu.cpp:96
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/selector.cpp:116
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
+#: src/frontend/mame/ui/selector.cpp:124
#, c-format
-msgid "Overclock %1$s sound"
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/filesel.cpp:256
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/swlist.cpp:88
+msgid "[file manager]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/swlist.cpp:228
+msgid "Switch Item Ordering"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
+#: src/frontend/mame/ui/swlist.cpp:259
#, c-format
-msgid "%1$s Horiz Stretch"
+msgid "Switched Order: entries now ordered by %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "shortname"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "description"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/swlist.cpp:389
+msgid "[compatible lists]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/datmenu.cpp:80
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/datmenu.cpp:362
+msgid "Revision: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/simpleselgame.cpp:149
+msgid ""
+"The selected game is missing one or more required ROM or CHD images. Please "
+"select a different game.\n"
+"\n"
+"Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
+#: src/frontend/mame/ui/simpleselgame.cpp:241
#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+msgid ""
+"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
+"\n"
+"If this is your first time using %2$s, please see the config.txt file in the "
+"docs directory for information on configuring %2$s."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/simpleselgame.cpp:271
+#: src/frontend/mame/ui/selgame.cpp:436
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/simpleselgame.cpp:292
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/simpleselgame.cpp:294
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
+#: src/frontend/mame/ui/simpleselgame.cpp:308
+#: src/frontend/mame/ui/selsoft.cpp:564 src/frontend/mame/ui/selsoft.cpp:571
#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/simpleselgame.cpp:314
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
+#: src/frontend/mame/ui/videoopt.cpp:56
#, c-format
-msgid "Crosshair Offset %1$s"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/videoopt.cpp:208
+msgid "Backdrops"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Enabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Disabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
-#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
-#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
-#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
-#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
-#: src/frontend/mame/ui/ui.cpp:1927
-#, c-format
-msgid "%1$.3f"
+#: src/frontend/mame/ui/videoopt.cpp:212
+msgid "Overlays"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
-#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
-#, c-format
-msgid "%1$1.2f"
+#: src/frontend/mame/ui/videoopt.cpp:216
+msgid "Bezels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:220
+msgid "CPanels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "View"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cropped"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Full"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1047
+msgid "No"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
-msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1047
+msgid "Yes"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
-msgid ""
-"Cheat Comment:\n"
-"%s"
+#: src/frontend/mame/ui/filecreate.cpp:171
+msgid "New Image Name:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/filecreate.cpp:177
+msgid "Image Format:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/filecreate.cpp:183
+msgid "Create"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/filecreate.cpp:266
+msgid "Select image format"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Keyboard Mode:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Natural"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Emulated"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
+#: src/frontend/mame/ui/miscmenu.cpp:236
#, c-format
msgid ""
-"%s\n"
-" added to favorites list."
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
+#: src/frontend/mame/ui/miscmenu.cpp:238
#, c-format
msgid ""
-"%s\n"
-" removed from favorites list."
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/miscmenu.cpp:242
+#, c-format
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
+"Tickets dispensed: %1$d\n"
"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
+#: src/frontend/mame/ui/miscmenu.cpp:253
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/miscmenu.cpp:253
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
-#, c-format
-msgid "Driver: \"%1$s\" software list "
+#: src/frontend/mame/ui/miscmenu.cpp:256
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
-#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+#: src/frontend/mame/ui/miscmenu.cpp:503
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/miscmenu.cpp:601
#, c-format
-msgid "Search: %1$s_"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
-msgid "Unfiltered"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
-msgid "Available"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
-msgid "Unavailable"
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
-msgid "Working"
+#: src/frontend/mame/ui/miscmenu.cpp:627
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
-msgid "Not Working"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
-msgid "Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:655
+msgid "Export list in XML format (like -listxml)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
-msgid "Not Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:656
+msgid "Export list in XML format (like -listxml, but exclude devices)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
-msgid "Category"
+#: src/frontend/mame/ui/miscmenu.cpp:657
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
-msgid "Favorites"
+#: src/frontend/mame/ui/miscmenu.cpp:710 src/frontend/mame/ui/ui.cpp:2230
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/miscmenu.cpp:760 src/frontend/mame/ui/utils.cpp:66
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
-msgid "Not BIOS"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
-msgid "Parents"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
-msgid "Clones"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:73
-msgid "Manufacturer"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
-msgid "Year"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:75
-msgid "Save Supported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:76
-msgid "Save Unsupported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:77
-msgid "CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:78
-msgid "No CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:79
-msgid "Vertical Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:80
-msgid "Horizontal Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
-msgid "Custom Filter"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:91
-msgid "Publisher"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:92
-msgid "Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:764
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
-msgid "Partially Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:767
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
-msgid "Unsupported"
+#: src/frontend/mame/ui/miscmenu.cpp:776 src/frontend/mame/ui/mainmenu.cpp:145
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
-msgid "Release Region"
+#: src/frontend/mame/ui/miscmenu.cpp:778 src/frontend/mame/ui/mainmenu.cpp:147
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
-msgid "Device Type"
+#: src/frontend/mame/ui/miscmenu.cpp:781
+msgid "Save machine configuration"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
-msgid "Software List"
+#: src/frontend/mame/ui/miscmenu.cpp:792
+msgid "Configure machine:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
-msgid "<set up filters>"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:736
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:551 plugins/cheatfind/init.lua:619
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
-msgid "Select custom filters:"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:739
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:554 plugins/cheat/init.lua:563
+#: plugins/cheatfind/init.lua:616
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
-#, c-format
-msgid "Filter %1$u"
+#: src/frontend/mame/ui/miscmenu.cpp:909 src/frontend/mame/ui/selgame.cpp:441
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
-msgid "Remove last filter"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
-msgid "Add filter"
+#: src/frontend/mame/ui/barcode.cpp:78
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
-msgid "Select category:"
+#: src/frontend/mame/ui/barcode.cpp:119
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
-msgid "[no category INI files]"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:99
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
-msgid "[no groups in INI file]"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
-msgid "No category INI files found"
+#: src/frontend/mame/ui/mainmenu.cpp:60
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
-msgid "File"
+#: src/frontend/mame/ui/mainmenu.cpp:62
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
-msgid "No groups found in category file"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
-msgid "Group"
+#: src/frontend/mame/ui/mainmenu.cpp:68
+msgid "Dip Switches"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
-msgid "Include clones"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
+#: src/frontend/mame/ui/mainmenu.cpp:78
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/mainmenu.cpp:85
+msgid "Image Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/mainmenu.cpp:96
+msgid "Tape Control"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/mainmenu.cpp:102
+msgid "BIOS Selection"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/mainmenu.cpp:106
+msgid "Slot Devices"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
-#, c-format
-msgid "%s [internal]"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Barcode Reader"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:203 src/frontend/mame/ui/miscmenu.cpp:97
-#: src/frontend/mame/ui/inputmap.cpp:615
-msgid "Reset"
+#: src/frontend/mame/ui/mainmenu.cpp:114
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/mainmenu.cpp:118
+msgid "Keyboard Mode"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/mainmenu.cpp:121
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/mainmenu.cpp:124 src/frontend/mame/ui/submenu.cpp:101
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/mainmenu.cpp:128
+msgid "Crosshair Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/mainmenu.cpp:132 plugins/cheat/init.lua:735
+msgid "Cheat"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:762
-#: plugins/cheat/init.lua:569 plugins/cheatfind/init.lua:792
-#: plugins/cheatfind/init.lua:803
-msgid "On"
+#: src/frontend/mame/ui/mainmenu.cpp:135
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:765
-#: plugins/cheat/init.lua:572 plugins/cheat/init.lua:581
-#: plugins/cheatfind/init.lua:789 plugins/cheatfind/init.lua:800
-msgid "Off"
+#: src/frontend/mame/ui/mainmenu.cpp:139
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/mainmenu.cpp:154
+msgid "Select New Machine"
msgstr ""
#: src/frontend/mame/ui/custui.cpp:31
@@ -1377,1281 +1274,1303 @@ msgstr ""
msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/submenu.cpp:22
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/submenu.cpp:23
+msgid "Re-select last machine played"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/submenu.cpp:24
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:26
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:27
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:28
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:29
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:30
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
-#, c-format
-msgid "%s.txt saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/submenu.cpp:45
+msgid "Refresh speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/submenu.cpp:47
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/submenu.cpp:49
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
-msgid "Configure Machine"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
-#, c-format
-msgid "Romset\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
-#, c-format
-msgid "Year\t%1$s\n"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
-#, c-format
-msgid "Manufacturer\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
-#, c-format
-msgid "Driver is Clone of\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1044
-msgid "Driver is Parent\t\n"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
-msgid "Analog Controls\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Artwork Crop"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
-msgid "Keyboard Inputs\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Use Backdrops"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
-msgid "Overall\tNOT WORKING\n"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Use Overlays"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
-msgid "Overall\tUnemulated Protection\n"
+#: src/frontend/mame/ui/submenu.cpp:60
+msgid "Use Bezels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
-msgid "Overall\tWorking\n"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Use Control Panels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
-msgid "Graphics\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:62
+msgid "Use Marquees"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
-msgid "Graphics\tWrong Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
-msgid "Graphics\tImperfect Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
-msgid "Graphics\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
-msgid "Graphics\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Bilinear snapshot"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
-msgid "Sound\tNone\n"
+#: src/frontend/mame/ui/submenu.cpp:69
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
-msgid "Sound\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
-msgid "Sound\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:72
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
-msgid "Sound\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
-msgid "Capture\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
-msgid "Capture\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
-msgid "Camera\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
-msgid "Camera\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
-msgid "Microphone\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
-msgid "Microphone\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:79
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
-msgid "Controls\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
-msgid "Controls\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
-msgid "Keyboard\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Joystick saturation"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
-msgid "Keyboard\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Natural keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
-msgid "Mouse\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
-msgid "Mouse\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
-msgid "Media\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
-msgid "Media\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Lightgun Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
-msgid "Disk\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Trackball Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
-msgid "Disk\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
-msgid "Printer\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
-msgid "Printer\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
-msgid "Mag. Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:95
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
-msgid "Mag. Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:96
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
-msgid "Punch Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:97
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
-msgid "Punch Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
-msgid "Mag. Drum\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:103
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
-msgid "Mag. Drum\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
-msgid "(EP)ROM\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
-msgid "(EP)ROM\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
-msgid "Communications\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:109
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
-msgid "Communications\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:110
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
-msgid "LAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:111
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
-msgid "LAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:112
+msgid "Enforce Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
-msgid "WAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:113
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
-msgid "WAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:114
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
-msgid "Timing\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
-msgid "Timing\tImperfect\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tYes\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Select position to load from"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tNo\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tYes\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Select position to save to"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tNo\n"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:309 src/frontend/mame/ui/selsoft.cpp:211
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:314 src/frontend/mame/ui/selgame.cpp:320
+#: src/frontend/mame/ui/selsoft.cpp:216
+#, c-format
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:437
+msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:849
+#, c-format
+msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:850
+#, c-format
+msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:851
+#, c-format
+msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:855
+#, c-format
+msgid "Driver is Clone of\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:857
+msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tVertical\n"
+#: src/frontend/mame/ui/selgame.cpp:860
+msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tHorizontal\n"
+#: src/frontend/mame/ui/selgame.cpp:862
+msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:865
+msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:867
+msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
-msgid "ROM Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:869
+msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
-msgid "ROM Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:872
+msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
-msgid "Samples Audit Result\tNone Needed\n"
+#: src/frontend/mame/ui/selgame.cpp:874
+msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
-msgid "Samples Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:876
+msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
-msgid "Samples Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:878
+msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
-msgid ""
-"ROM Audit \tDisabled\n"
-"Samples Audit \tDisabled\n"
+#: src/frontend/mame/ui/selgame.cpp:880
+msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
+#: src/frontend/mame/ui/selgame.cpp:883
+msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1424
-#, c-format
-msgid "Romset: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:885
+msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
-#, c-format
-msgid "System: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:887
+msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1465
-msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
+#: src/frontend/mame/ui/selgame.cpp:889
+msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
+#: src/frontend/mame/ui/selgame.cpp:892
+msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
+#: src/frontend/mame/ui/selgame.cpp:894
+msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
+#: src/frontend/mame/ui/selgame.cpp:897
+msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
+#: src/frontend/mame/ui/selgame.cpp:899
+msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
+#: src/frontend/mame/ui/selgame.cpp:902
+msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selgame.cpp:904
+msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selgame.cpp:907
+msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/selgame.cpp:909
+msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/selgame.cpp:912
+msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/selgame.cpp:914
+msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/selgame.cpp:917
+msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/selgame.cpp:919
+msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/selgame.cpp:922
+msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/selgame.cpp:924
+msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/selgame.cpp:927
+msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/selgame.cpp:929
+msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/selgame.cpp:932
+msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/selgame.cpp:934
+msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/selgame.cpp:937
+msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/selgame.cpp:939
+msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/selgame.cpp:970
+msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/selgame.cpp:972
+msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/selgame.cpp:975
+msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/selgame.cpp:977
+msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/selgame.cpp:979
+msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/selgame.cpp:983
+msgid ""
+"ROM Audit \tDisabled\n"
+"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/selgame.cpp:1167
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/selgame.cpp:1183 src/frontend/mame/ui/selsoft.cpp:555
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/selgame.cpp:1185 src/frontend/mame/ui/selsoft.cpp:557
+#, c-format
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/selgame.cpp:1195
+#, c-format
+msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/selgame.cpp:1202
+#, c-format
+msgid "System: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/selgame.cpp:1239
+msgid ""
+"The selected machine is missing one or more required ROM or CHD images. "
+"Please select a different machine.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/selgame.cpp:1245 src/frontend/mame/ui/selsoft.cpp:462
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/utils.cpp:57 src/frontend/mame/ui/utils.cpp:81
+msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/utils.cpp:58 src/frontend/mame/ui/utils.cpp:82
+msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/utils.cpp:59 src/frontend/mame/ui/utils.cpp:83
+msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/utils.cpp:60
+msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/utils.cpp:61
+msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/utils.cpp:62
+msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:63
+msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:64
+msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:65
+msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:67
+msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:84
+msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/utils.cpp:85
+msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:70
+msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:86
+msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/utils.cpp:72
+msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/utils.cpp:73
+msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/utils.cpp:74
+msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/utils.cpp:75
+msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/utils.cpp:76
+msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/utils.cpp:77
+msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/utils.cpp:78 src/frontend/mame/ui/utils.cpp:94
+msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/utils.cpp:87
+msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/utils.cpp:88
+msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/utils.cpp:89
+msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/utils.cpp:90
+msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/utils.cpp:91
+msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:43
-#, c-format
-msgid ""
-"[This option is currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"The selected option enables the following items:\n"
+#: src/frontend/mame/ui/utils.cpp:92
+msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:44
-#, c-format
-msgid ""
-"[This option is NOT currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"If you select this option, the following items will be enabled:\n"
+#: src/frontend/mame/ui/utils.cpp:93
+msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/utils.cpp:244
+msgid "<set up filters>"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:352
+msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/utils.cpp:503
#, c-format
-msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
-msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:518
+msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %3$d.%4$06d MHz\n"
+#: src/frontend/mame/ui/utils.cpp:520
+msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:959
+msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/utils.cpp:990
+msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/utils.cpp:998
+msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:103
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1032
+msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1037
+msgid "File"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/utils.cpp:1041
+msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
-#, c-format
-msgid " %1$d×%2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1046
+msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1047
+msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:168
-#, c-format
+#: src/frontend/mame/ui/selsoft.cpp:456
msgid ""
-"* BIOS settings:\n"
-" %1$d options [default: %2$s]\n"
+"The selected software is missing one or more required files. Please select a "
+"different software.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:208 src/frontend/mame/ui/devopt.cpp:224
-#: src/frontend/mame/ui/devopt.cpp:269
+#: src/frontend/mame/ui/selsoft.cpp:549
#, c-format
-msgid " %1$s [default: %2$s]\n"
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
+#: src/frontend/mame/ui/selsoft.cpp:550
#, c-format
-msgid " %1$s\n"
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:260
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:419
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/filesel.cpp:515
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:516
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:518
+msgid "Read-write"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
-#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:519
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:520
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:117
+msgid "Cannot save over directory"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:150
+msgid ""
+"The software selected is missing one or more required ROM or CHD images. "
+"Please select a different one."
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:294
+msgid "Return to Machine"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
-#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:299 src/frontend/mame/ui/menu.cpp:301
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+#: src/frontend/mame/ui/menu.cpp:306 src/frontend/mame/ui/menu.cpp:308
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
-#, c-format
-msgid " %1$s [tag: %2$s]\n"
+#: src/frontend/mame/ui/menu.cpp:742
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
+#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:653
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+#: src/frontend/mame/ui/cheatopt.cpp:105
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/cheatopt.cpp:136
+msgid "Autofire Settings"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:581
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:582
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
+#: src/frontend/mame/ui/cheatopt.cpp:273
+msgid "Autofire Status"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
+#: src/frontend/mame/ui/cheatopt.cpp:316
+msgid "No buttons found on this machine!"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+#: src/frontend/mame/ui/cheatopt.cpp:327 src/frontend/mame/ui/cheatopt.cpp:331
+msgid "Autofire Delay"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
-msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
+#: src/frontend/mame/ui/ui.cpp:337
+msgid "This driver requires images to be loaded in the following device(s): "
msgstr ""
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
+#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
+msgid "Keyboard Emulation Status"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
+#: src/frontend/mame/ui/ui.cpp:1086
+msgid "Mode: PARTIAL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
+#: src/frontend/mame/ui/ui.cpp:1087
+msgid "UI: Enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
+#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
+msgid "**Use ScrLock to toggle**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
+#: src/frontend/mame/ui/ui.cpp:1096
+msgid "Mode: FULL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: src/frontend/mame/ui/ui.cpp:1097
+msgid "UI: Disabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
+#: src/frontend/mame/ui/ui.cpp:1249
+msgid "Autofire can't be enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
+#: src/frontend/mame/ui/ui.cpp:1302
+#, c-format
+msgid ""
+"Are you sure you want to quit?\n"
+"\n"
+"Press ''%1$s'' to quit,\n"
+"Press ''%2$s'' to return to emulation."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
+#: src/frontend/mame/ui/ui.cpp:1374
+msgid "Master Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
+#: src/frontend/mame/ui/ui.cpp:1383
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/ui.cpp:1407
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/ui.cpp:1416
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/ui.cpp:1437
+#, c-format
+msgid "%1$s Refresh Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, c-format
+msgid "%1$s Brightness"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1444
+#, c-format
+msgid "%1$s Contrast"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1446
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/ui.cpp:1450
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/ui.cpp:1452
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/ui.cpp:1454
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/ui.cpp:1456
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/ui.cpp:1475
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/ui.cpp:1477
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/ui.cpp:1479
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
-msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+#: src/frontend/mame/ui/ui.cpp:1481
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:198
-msgid ""
-"There are known problems with this machine\n"
-"\n"
+#: src/frontend/mame/ui/ui.cpp:1493
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/ui.cpp:1494
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/ui.cpp:1495
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
+#: src/frontend/mame/ui/ui.cpp:1496
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#: src/frontend/mame/ui/info.cpp:275
+#: src/frontend/mame/ui/ui.cpp:1511
#, c-format
-msgid ", %s"
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
+#: src/frontend/mame/ui/ui.cpp:1513
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:243
-msgid ""
-"This machine was never completed. It may exhibit strange behavior or missing "
-"elements that are not bugs in the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1601
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:245
-msgid ""
-"This machine has no sound hardware, MAME will produce no sounds, this is "
-"expected behaviour.\n"
+#: src/frontend/mame/ui/ui.cpp:1645
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:249
-msgid ""
-"\n"
-"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
-"complete. There is nothing you can do to fix this problem except wait for "
-"the developers to improve the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1661
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:251
-msgid ""
-"\n"
-"Elements of this machine cannot be emulated as they requires physical "
-"interaction or consist of mechanical devices. It is not possible to fully "
-"experience this machine.\n"
+#: src/frontend/mame/ui/ui.cpp:1685
+#, c-format
+msgid "%1$.3ffps"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
+#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
+#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
+#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
+#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
+#: src/frontend/mame/ui/ui.cpp:1927
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
+#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/ui.cpp:2005
#, c-format
-msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/ui.cpp:2226
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " COLORS"
+msgstr ""
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:39
#, c-format
-msgid "%1$s: %2$s\n"
+msgid ""
+"[This option is currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"The selected option enables the following items:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+#: src/frontend/mame/ui/devopt.cpp:40
+#, c-format
+msgid ""
+"[This option is NOT currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"If you select this option, the following items will be enabled:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:48
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
#, c-format
-msgid "Screen '%1$s'"
+msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
+msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:85
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:90
+#, c-format
+msgid " Screen '%1$s': Vector\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:99
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:100
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:113
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:133
+#, c-format
+msgid " %1$d×%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:164
+#, c-format
+msgid ""
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:204 src/frontend/mame/ui/devopt.cpp:220
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
+#: src/frontend/mame/ui/devopt.cpp:209 src/frontend/mame/ui/devopt.cpp:225
#, c-format
-msgid "Software is clone of: %1$-.100s"
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: src/frontend/mame/ui/devopt.cpp:230
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: src/frontend/mame/ui/devopt.cpp:232
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: src/frontend/mame/ui/devopt.cpp:234
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: src/frontend/mame/ui/devopt.cpp:236
+#, c-format
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
+#: src/frontend/mame/ui/devopt.cpp:238
#, c-format
-msgid "romset: %1$-.100s"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
+#: src/frontend/mame/ui/devopt.cpp:240
#, c-format
-msgid "Driver is clone of: %1$-.100s"
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: src/frontend/mame/ui/devopt.cpp:242
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
+#: src/frontend/mame/ui/devopt.cpp:244
#, c-format
-msgid "%1$s %2$s"
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: src/frontend/mame/ui/devopt.cpp:246
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: src/frontend/mame/ui/devopt.cpp:248
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: src/frontend/mame/ui/devopt.cpp:257
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: src/frontend/mame/ui/devopt.cpp:263
+msgid "* Slot Options:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:270
+msgid "[None]\n"
msgstr ""
#: plugins/timer/init.lua:94
@@ -2670,51 +2589,51 @@ msgstr ""
msgid "Timer"
msgstr ""
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:510
msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheat/init.lua:534
+#: plugins/cheat/init.lua:516
msgid "Press button for hotkey or wait to clear"
msgstr ""
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:528
msgid "None"
msgstr ""
-#: plugins/cheat/init.lua:551
+#: plugins/cheat/init.lua:533
msgid "Done"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:547 plugins/cheat/init.lua:561
msgid "Set"
msgstr ""
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:580
msgid "Set hotkeys"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:720
#, lua-format
msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:723 plugins/cheat/init.lua:781
#, lua-format
msgid "Activated: %s"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:785
#, lua-format
msgid "Enabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:790
#, lua-format
msgid "Disabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "%s added"
msgstr ""
@@ -2763,303 +2682,218 @@ msgstr ""
msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:404
+#: plugins/cheatfind/init.lua:373
msgid "Save Cheat"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Default"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Custom"
msgstr ""
-#: plugins/cheatfind/init.lua:408
+#: plugins/cheatfind/init.lua:377
msgid "Cheat Name"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/cheatfind/init.lua:383 plugins/cheatfind/init.lua:748
#, lua-format
msgid "Default name is %s"
msgstr ""
-#: plugins/cheatfind/init.lua:422
+#: plugins/cheatfind/init.lua:391
msgid "Player"
msgstr ""
-#: plugins/cheatfind/init.lua:427
+#: plugins/cheatfind/init.lua:396
msgid "Type"
msgstr ""
-#: plugins/cheatfind/init.lua:433
+#: plugins/cheatfind/init.lua:402
msgid "Save"
msgstr ""
-#: plugins/cheatfind/init.lua:462
+#: plugins/cheatfind/init.lua:429
#, lua-format
msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:472
+#: plugins/cheatfind/init.lua:437
msgid "Cheat added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:442
msgid ""
"Unable to write file\n"
"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/cheatfind/init.lua:486
+#: plugins/cheatfind/init.lua:451
msgid "Cancel"
msgstr ""
-#: plugins/cheatfind/init.lua:491
+#: plugins/cheatfind/init.lua:456
msgid "CPU or RAM"
msgstr ""
-#: plugins/cheatfind/init.lua:495
+#: plugins/cheatfind/init.lua:460
msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:479
+msgid "Data cleared and current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:487
+msgid "Start new search"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:497
+msgid "Current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:504
+msgid "Save current -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
+#: plugins/cheatfind/init.lua:536
#, lua-format
-msgid "Memory State saved to Slot %d"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:543
+msgid "Compare"
msgstr ""
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
+#: plugins/cheatfind/init.lua:546
+msgid "Left operand"
+msgstr ""
+
+#: plugins/cheatfind/init.lua:549
+msgid "Current"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:554
+msgid "Operator"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:561
+msgid "Left less than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:563
+msgid "Left greater than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:676
+#: plugins/cheatfind/init.lua:565
msgid "Left equal to right"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:567
+msgid "Left not equal to right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:680
+#: plugins/cheatfind/init.lua:569
msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:682
+#: plugins/cheatfind/init.lua:571
msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:684
+#: plugins/cheatfind/init.lua:573
msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:686
+#: plugins/cheatfind/init.lua:575
msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:688
+#: plugins/cheatfind/init.lua:577
msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:690
+#: plugins/cheatfind/init.lua:579
msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/cheatfind/init.lua:590
+msgid "Right operand"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/cheatfind/init.lua:598
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:719
+#: plugins/cheatfind/init.lua:602
msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:725
+#: plugins/cheatfind/init.lua:608
msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:738
-msgid ""
-"Use this if you want to poke the Slot 1 value (eg. You started with "
-"something but lost it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:740
-msgid ""
-"Use this if you want to poke the Last Slot value (eg. You started without an "
-"item but finally got it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:816
+#: plugins/cheatfind/init.lua:632
msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:820
+#: plugins/cheatfind/init.lua:636
msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:823
+#: plugins/cheatfind/init.lua:639
msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheatfind/init.lua:690
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Test cheat at addr %08X"
msgstr ""
-#: plugins/cheatfind/init.lua:974
+#: plugins/cheatfind/init.lua:722
msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
+#: plugins/cheatfind/init.lua:788
msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
+#: plugins/cheatfind/init.lua:806
msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
+#: plugins/cheatfind/init.lua:816
msgid "Cheat Finder"
msgstr ""
-#: plugins/portname/init.lua:103
+#: plugins/portname/init.lua:69
msgid "Save input names to file"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
+#: plugins/portname/init.lua:100 plugins/portname/init.lua:105
+#: plugins/portname/init.lua:121
msgid "Failed to save input name file"
msgstr ""
-#: plugins/portname/init.lua:167
+#: plugins/portname/init.lua:133
#, lua-format
msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/portname/init.lua:172
+#: plugins/portname/init.lua:138
msgid "Input ports"
msgstr ""
diff --git a/language/Finnish/strings.po b/language/Finnish/strings.po
index 5d61c9c3a31..ab147c61da1 100644
--- a/language/Finnish/strings.po
+++ b/language/Finnish/strings.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MAME\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-03-17 13:37+1100\n"
+"POT-Creation-Date: 2018-04-28 15:32+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -18,1144 +18,1041 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
+#: src/frontend/mame/ui/auditmenu.cpp:96
#, c-format
-msgid "Screen #%d"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Enabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Disabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
-msgid "Marquees"
+#: src/frontend/mame/ui/auditmenu.cpp:99
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/auditmenu.cpp:104
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/auditmenu.cpp:130
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/auditmenu.cpp:142
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/selmenu.cpp:49 src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/selmenu.cpp:50 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/selmenu.cpp:51
+msgid "Control Panels"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/selmenu.cpp:52 src/frontend/mame/ui/dirmenu.cpp:50
+msgid "PCBs"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/selmenu.cpp:53 src/frontend/mame/ui/dirmenu.cpp:47
+msgid "Flyers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/selmenu.cpp:54 src/frontend/mame/ui/dirmenu.cpp:48
+msgid "Titles"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/selmenu.cpp:55 src/frontend/mame/ui/dirmenu.cpp:49
+msgid "Ends"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/selmenu.cpp:56
+msgid "Artwork Preview"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/selmenu.cpp:57 src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Bosses"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/selmenu.cpp:58 src/frontend/mame/ui/dirmenu.cpp:60
+msgid "Logos"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/selmenu.cpp:59 src/frontend/mame/ui/dirmenu.cpp:62
+msgid "Versus"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/selmenu.cpp:60
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/selmenu.cpp:61 src/frontend/mame/ui/dirmenu.cpp:59
+msgid "HowTo"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/selmenu.cpp:62 src/frontend/mame/ui/dirmenu.cpp:61
+msgid "Scores"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/selmenu.cpp:63 src/frontend/mame/ui/dirmenu.cpp:57
+msgid "Select"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/selmenu.cpp:64 src/frontend/mame/ui/dirmenu.cpp:51
+#: src/frontend/mame/ui/videoopt.cpp:224
+msgid "Marquees"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/selmenu.cpp:65 src/frontend/mame/ui/dirmenu.cpp:63
+msgid "Covers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/selmenu.cpp:69
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/selmenu.cpp:70
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/selmenu.cpp:71
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/selmenu.cpp:237
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/selmenu.cpp:343
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/selmenu.cpp:570 src/frontend/mame/ui/selmenu.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:311
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/selmenu.cpp:574
+#, c-format
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/selmenu.cpp:576
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/selmenu.cpp:581
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/selmenu.cpp:586
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/selmenu.cpp:591
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selmenu.cpp:596
+#, c-format
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selmenu.cpp:612
#, c-format
-msgid "Current %1$s Folders"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selmenu.cpp:614
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selmenu.cpp:619
+#: src/frontend/mame/ui/simpleselgame.cpp:330
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selmenu.cpp:621
+#: src/frontend/mame/ui/simpleselgame.cpp:332
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:623
+#: src/frontend/mame/ui/simpleselgame.cpp:334
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:627
+#: src/frontend/mame/ui/simpleselgame.cpp:338
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/selmenu.cpp:629
+#: src/frontend/mame/ui/simpleselgame.cpp:340
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/selmenu.cpp:631
+#: src/frontend/mame/ui/simpleselgame.cpp:342
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/selmenu.cpp:634
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/selmenu.cpp:636
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/selmenu.cpp:638
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/selmenu.cpp:640
+#: src/frontend/mame/ui/simpleselgame.cpp:351
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/selmenu.cpp:650
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/selmenu.cpp:1975
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/selmenu.cpp:1976
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/selmenu.cpp:2386 src/frontend/mame/ui/miscmenu.cpp:826
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/selmenu.cpp:2454
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/selmenu.cpp:2489
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/dirmenu.cpp:35
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/dirmenu.cpp:36
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
-#: src/frontend/mame/ui/slotopt.cpp:220
-msgid "[empty slot]"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/dirmenu.cpp:40
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/dirmenu.cpp:52
+msgid "Controls Panels"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/dirmenu.cpp:53
+msgid "Crosshairs"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Artworks"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks Preview"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "GameOver"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/dirmenu.cpp:116
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/dirmenu.cpp:167
+#, c-format
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/dirmenu.cpp:182
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/dirmenu.cpp:429
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/dirmenu.cpp:513
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/info.cpp:30
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "LAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/info.cpp:180
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/info.cpp:190
+msgid ""
+"There are known problems with this machine\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/info.cpp:195
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/info.cpp:200
+msgid "Completely unemulated features: "
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#, c-format
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#: src/frontend/mame/ui/info.cpp:267
+#, c-format
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/info.cpp:216
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/info.cpp:231
+msgid "Screen flipping in cocktail mode is not supported.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/info.cpp:233
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/info.cpp:235
+msgid ""
+"This machine was never completed. It may exhibit strange behavior or missing "
+"elements that are not bugs in the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/info.cpp:237
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/info.cpp:241
+msgid ""
+"\n"
+"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
+"complete. There is nothing you can do to fix this problem except wait for "
+"the developers to improve the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/info.cpp:243
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they requires physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/info.cpp:265
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/info.cpp:278
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/info.cpp:293
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:149
+#: src/frontend/mame/ui/info.cpp:342
msgid ""
-"The selected game is missing one or more required ROM or CHD images. Please "
-"select a different game.\n"
"\n"
-"Press any key to continue."
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:247
-#, c-format
+#: src/frontend/mame/ui/info.cpp:370
msgid ""
-"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
"\n"
-"If this is your first time using %2$s, please see the config.txt file in the "
-"docs directory for information on configuring %2$s."
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+"Video:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/info.cpp:374
+msgid "None\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/info.cpp:381
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:314
-#: src/frontend/mame/ui/selsoft.cpp:652 src/frontend/mame/ui/selsoft.cpp:659
+#: src/frontend/mame/ui/info.cpp:392
#, c-format
-msgid "%1$-.100s"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:317
-#: src/frontend/mame/ui/selmenu.cpp:618 src/frontend/mame/ui/selmenu.cpp:654
-#, c-format
-msgid "%1$s, %2$-.100s"
+#: src/frontend/mame/ui/info.cpp:392
+msgid "%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
+#: src/frontend/mame/ui/info.cpp:438
#, c-format
-msgid "Driver: %1$-.100s"
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+msgid "Screen '%1$s'"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/info.cpp:440
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/info.cpp:525
+msgid "Not supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/info.cpp:528
+msgid "Partially supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/info.cpp:536
+msgid "[empty]"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/optsmenu.cpp:193
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/optsmenu.cpp:206
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/optsmenu.cpp:207
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/optsmenu.cpp:210 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/optsmenu.cpp:213
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/optsmenu.cpp:216
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/optsmenu.cpp:228
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:337
-msgid "This driver requires images to be loaded in the following device(s): "
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
+msgid "Rewind"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1302
-#, c-format
-msgid ""
-"Are you sure you want to quit?\n"
-"\n"
-"Press ''%1$s'' to quit,\n"
-"Press ''%2$s'' to return to emulation."
+#: src/frontend/mame/ui/inputmap.cpp:53
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/inputmap.cpp:59
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
+#: src/frontend/mame/ui/inputmap.cpp:628 src/frontend/mame/ui/miscmenu.cpp:96
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/selector.cpp:116
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
+#: src/frontend/mame/ui/selector.cpp:124
#, c-format
-msgid "Overclock %1$s sound"
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/filesel.cpp:256
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/swlist.cpp:88
+msgid "[file manager]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/swlist.cpp:228
+msgid "Switch Item Ordering"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
+#: src/frontend/mame/ui/swlist.cpp:259
#, c-format
-msgid "%1$s Horiz Stretch"
+msgid "Switched Order: entries now ordered by %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "shortname"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "description"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/swlist.cpp:389
+msgid "[compatible lists]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/datmenu.cpp:80
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/datmenu.cpp:362
+msgid "Revision: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/simpleselgame.cpp:149
+msgid ""
+"The selected game is missing one or more required ROM or CHD images. Please "
+"select a different game.\n"
+"\n"
+"Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
+#: src/frontend/mame/ui/simpleselgame.cpp:241
#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+msgid ""
+"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
+"\n"
+"If this is your first time using %2$s, please see the config.txt file in the "
+"docs directory for information on configuring %2$s."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/simpleselgame.cpp:271
+#: src/frontend/mame/ui/selgame.cpp:436
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/simpleselgame.cpp:292
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/simpleselgame.cpp:294
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
+#: src/frontend/mame/ui/simpleselgame.cpp:308
+#: src/frontend/mame/ui/selsoft.cpp:564 src/frontend/mame/ui/selsoft.cpp:571
#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/simpleselgame.cpp:314
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
+#: src/frontend/mame/ui/videoopt.cpp:56
#, c-format
-msgid "Crosshair Offset %1$s"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/videoopt.cpp:208
+msgid "Backdrops"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Enabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Disabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
-#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
-#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
-#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
-#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
-#: src/frontend/mame/ui/ui.cpp:1927
-#, c-format
-msgid "%1$.3f"
+#: src/frontend/mame/ui/videoopt.cpp:212
+msgid "Overlays"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
-#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
-#, c-format
-msgid "%1$1.2f"
+#: src/frontend/mame/ui/videoopt.cpp:216
+msgid "Bezels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:220
+msgid "CPanels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "View"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cropped"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Full"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1047
+msgid "No"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
-msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1047
+msgid "Yes"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
-msgid ""
-"Cheat Comment:\n"
-"%s"
+#: src/frontend/mame/ui/filecreate.cpp:171
+msgid "New Image Name:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/filecreate.cpp:177
+msgid "Image Format:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/filecreate.cpp:183
+msgid "Create"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/filecreate.cpp:266
+msgid "Select image format"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Keyboard Mode:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Natural"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Emulated"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
+#: src/frontend/mame/ui/miscmenu.cpp:236
#, c-format
msgid ""
-"%s\n"
-" added to favorites list."
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
+#: src/frontend/mame/ui/miscmenu.cpp:238
#, c-format
msgid ""
-"%s\n"
-" removed from favorites list."
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/miscmenu.cpp:242
+#, c-format
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
+"Tickets dispensed: %1$d\n"
"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
+#: src/frontend/mame/ui/miscmenu.cpp:253
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/miscmenu.cpp:253
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
-#, c-format
-msgid "Driver: \"%1$s\" software list "
+#: src/frontend/mame/ui/miscmenu.cpp:256
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
-#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+#: src/frontend/mame/ui/miscmenu.cpp:503
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/miscmenu.cpp:601
#, c-format
-msgid "Search: %1$s_"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
-msgid "Unfiltered"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
-msgid "Available"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
-msgid "Unavailable"
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
-msgid "Working"
+#: src/frontend/mame/ui/miscmenu.cpp:627
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
-msgid "Not Working"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
-msgid "Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:655
+msgid "Export list in XML format (like -listxml)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
-msgid "Not Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:656
+msgid "Export list in XML format (like -listxml, but exclude devices)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
-msgid "Category"
+#: src/frontend/mame/ui/miscmenu.cpp:657
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
-msgid "Favorites"
+#: src/frontend/mame/ui/miscmenu.cpp:710 src/frontend/mame/ui/ui.cpp:2230
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/miscmenu.cpp:760 src/frontend/mame/ui/utils.cpp:66
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
-msgid "Not BIOS"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
-msgid "Parents"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
-msgid "Clones"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:73
-msgid "Manufacturer"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
-msgid "Year"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:75
-msgid "Save Supported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:76
-msgid "Save Unsupported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:77
-msgid "CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:78
-msgid "No CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:79
-msgid "Vertical Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:80
-msgid "Horizontal Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
-msgid "Custom Filter"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:91
-msgid "Publisher"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:92
-msgid "Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:764
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
-msgid "Partially Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:767
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
-msgid "Unsupported"
+#: src/frontend/mame/ui/miscmenu.cpp:776 src/frontend/mame/ui/mainmenu.cpp:145
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
-msgid "Release Region"
+#: src/frontend/mame/ui/miscmenu.cpp:778 src/frontend/mame/ui/mainmenu.cpp:147
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
-msgid "Device Type"
+#: src/frontend/mame/ui/miscmenu.cpp:781
+msgid "Save machine configuration"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
-msgid "Software List"
+#: src/frontend/mame/ui/miscmenu.cpp:792
+msgid "Configure machine:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
-msgid "<set up filters>"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:736
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:551 plugins/cheatfind/init.lua:619
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
-msgid "Select custom filters:"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:739
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:554 plugins/cheat/init.lua:563
+#: plugins/cheatfind/init.lua:616
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
-#, c-format
-msgid "Filter %1$u"
+#: src/frontend/mame/ui/miscmenu.cpp:909 src/frontend/mame/ui/selgame.cpp:441
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
-msgid "Remove last filter"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
-msgid "Add filter"
+#: src/frontend/mame/ui/barcode.cpp:78
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
-msgid "Select category:"
+#: src/frontend/mame/ui/barcode.cpp:119
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
-msgid "[no category INI files]"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:99
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
-msgid "[no groups in INI file]"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
-msgid "No category INI files found"
+#: src/frontend/mame/ui/mainmenu.cpp:60
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
-msgid "File"
+#: src/frontend/mame/ui/mainmenu.cpp:62
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
-msgid "No groups found in category file"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
-msgid "Group"
+#: src/frontend/mame/ui/mainmenu.cpp:68
+msgid "Dip Switches"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
-msgid "Include clones"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
+#: src/frontend/mame/ui/mainmenu.cpp:78
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/mainmenu.cpp:85
+msgid "Image Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/mainmenu.cpp:96
+msgid "Tape Control"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/mainmenu.cpp:102
+msgid "BIOS Selection"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/mainmenu.cpp:106
+msgid "Slot Devices"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
-#, c-format
-msgid "%s [internal]"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Barcode Reader"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:203 src/frontend/mame/ui/miscmenu.cpp:97
-#: src/frontend/mame/ui/inputmap.cpp:615
-msgid "Reset"
+#: src/frontend/mame/ui/mainmenu.cpp:114
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/mainmenu.cpp:118
+msgid "Keyboard Mode"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/mainmenu.cpp:121
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/mainmenu.cpp:124 src/frontend/mame/ui/submenu.cpp:101
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/mainmenu.cpp:128
+msgid "Crosshair Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/mainmenu.cpp:132 plugins/cheat/init.lua:735
+msgid "Cheat"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:762
-#: plugins/cheat/init.lua:569 plugins/cheatfind/init.lua:792
-#: plugins/cheatfind/init.lua:803
-msgid "On"
+#: src/frontend/mame/ui/mainmenu.cpp:135
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:765
-#: plugins/cheat/init.lua:572 plugins/cheat/init.lua:581
-#: plugins/cheatfind/init.lua:789 plugins/cheatfind/init.lua:800
-msgid "Off"
+#: src/frontend/mame/ui/mainmenu.cpp:139
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/mainmenu.cpp:154
+msgid "Select New Machine"
msgstr ""
#: src/frontend/mame/ui/custui.cpp:31
@@ -1378,1281 +1275,1303 @@ msgstr ""
msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/submenu.cpp:22
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/submenu.cpp:23
+msgid "Re-select last machine played"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/submenu.cpp:24
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:26
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:27
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:28
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:29
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:30
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
-#, c-format
-msgid "%s.txt saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/submenu.cpp:45
+msgid "Refresh speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/submenu.cpp:47
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/submenu.cpp:49
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
-msgid "Configure Machine"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
-#, c-format
-msgid "Romset\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
-#, c-format
-msgid "Year\t%1$s\n"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
-#, c-format
-msgid "Manufacturer\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
-#, c-format
-msgid "Driver is Clone of\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1044
-msgid "Driver is Parent\t\n"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
-msgid "Analog Controls\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Artwork Crop"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
-msgid "Keyboard Inputs\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Use Backdrops"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
-msgid "Overall\tNOT WORKING\n"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Use Overlays"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
-msgid "Overall\tUnemulated Protection\n"
+#: src/frontend/mame/ui/submenu.cpp:60
+msgid "Use Bezels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
-msgid "Overall\tWorking\n"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Use Control Panels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
-msgid "Graphics\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:62
+msgid "Use Marquees"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
-msgid "Graphics\tWrong Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
-msgid "Graphics\tImperfect Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
-msgid "Graphics\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
-msgid "Graphics\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Bilinear snapshot"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
-msgid "Sound\tNone\n"
+#: src/frontend/mame/ui/submenu.cpp:69
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
-msgid "Sound\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
-msgid "Sound\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:72
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
-msgid "Sound\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
-msgid "Capture\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
-msgid "Capture\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
-msgid "Camera\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
-msgid "Camera\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
-msgid "Microphone\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
-msgid "Microphone\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:79
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
-msgid "Controls\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
-msgid "Controls\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
-msgid "Keyboard\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Joystick saturation"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
-msgid "Keyboard\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Natural keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
-msgid "Mouse\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
-msgid "Mouse\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
-msgid "Media\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
-msgid "Media\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Lightgun Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
-msgid "Disk\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Trackball Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
-msgid "Disk\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
-msgid "Printer\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
-msgid "Printer\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
-msgid "Mag. Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:95
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
-msgid "Mag. Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:96
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
-msgid "Punch Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:97
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
-msgid "Punch Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
-msgid "Mag. Drum\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:103
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
-msgid "Mag. Drum\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
-msgid "(EP)ROM\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
-msgid "(EP)ROM\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
-msgid "Communications\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:109
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
-msgid "Communications\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:110
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
-msgid "LAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:111
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
-msgid "LAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:112
+msgid "Enforce Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
-msgid "WAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:113
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
-msgid "WAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:114
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
-msgid "Timing\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
-msgid "Timing\tImperfect\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tYes\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Select position to load from"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tNo\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tYes\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Select position to save to"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tNo\n"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:309 src/frontend/mame/ui/selsoft.cpp:211
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:314 src/frontend/mame/ui/selgame.cpp:320
+#: src/frontend/mame/ui/selsoft.cpp:216
+#, c-format
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:437
+msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:849
+#, c-format
+msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:850
+#, c-format
+msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:851
+#, c-format
+msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:855
+#, c-format
+msgid "Driver is Clone of\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:857
+msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tVertical\n"
+#: src/frontend/mame/ui/selgame.cpp:860
+msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tHorizontal\n"
+#: src/frontend/mame/ui/selgame.cpp:862
+msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:865
+msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:867
+msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
-msgid "ROM Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:869
+msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
-msgid "ROM Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:872
+msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
-msgid "Samples Audit Result\tNone Needed\n"
+#: src/frontend/mame/ui/selgame.cpp:874
+msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
-msgid "Samples Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:876
+msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
-msgid "Samples Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:878
+msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
-msgid ""
-"ROM Audit \tDisabled\n"
-"Samples Audit \tDisabled\n"
+#: src/frontend/mame/ui/selgame.cpp:880
+msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
+#: src/frontend/mame/ui/selgame.cpp:883
+msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1424
-#, c-format
-msgid "Romset: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:885
+msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
-#, c-format
-msgid "System: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:887
+msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1465
-msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
+#: src/frontend/mame/ui/selgame.cpp:889
+msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
+#: src/frontend/mame/ui/selgame.cpp:892
+msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
+#: src/frontend/mame/ui/selgame.cpp:894
+msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
+#: src/frontend/mame/ui/selgame.cpp:897
+msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
+#: src/frontend/mame/ui/selgame.cpp:899
+msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
+#: src/frontend/mame/ui/selgame.cpp:902
+msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selgame.cpp:904
+msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selgame.cpp:907
+msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/selgame.cpp:909
+msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/selgame.cpp:912
+msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/selgame.cpp:914
+msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/selgame.cpp:917
+msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/selgame.cpp:919
+msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/selgame.cpp:922
+msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/selgame.cpp:924
+msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/selgame.cpp:927
+msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/selgame.cpp:929
+msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/selgame.cpp:932
+msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/selgame.cpp:934
+msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/selgame.cpp:937
+msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/selgame.cpp:939
+msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/selgame.cpp:970
+msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/selgame.cpp:972
+msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/selgame.cpp:975
+msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/selgame.cpp:977
+msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/selgame.cpp:979
+msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/selgame.cpp:983
+msgid ""
+"ROM Audit \tDisabled\n"
+"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/selgame.cpp:1167
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/selgame.cpp:1183 src/frontend/mame/ui/selsoft.cpp:555
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/selgame.cpp:1185 src/frontend/mame/ui/selsoft.cpp:557
+#, c-format
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/selgame.cpp:1195
+#, c-format
+msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/selgame.cpp:1202
+#, c-format
+msgid "System: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/selgame.cpp:1239
+msgid ""
+"The selected machine is missing one or more required ROM or CHD images. "
+"Please select a different machine.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/selgame.cpp:1245 src/frontend/mame/ui/selsoft.cpp:462
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/utils.cpp:57 src/frontend/mame/ui/utils.cpp:81
+msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/utils.cpp:58 src/frontend/mame/ui/utils.cpp:82
+msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/utils.cpp:59 src/frontend/mame/ui/utils.cpp:83
+msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/utils.cpp:60
+msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/utils.cpp:61
+msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/utils.cpp:62
+msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:63
+msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:64
+msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:65
+msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:67
+msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:84
+msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/utils.cpp:85
+msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:70
+msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:86
+msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/utils.cpp:72
+msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/utils.cpp:73
+msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/utils.cpp:74
+msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/utils.cpp:75
+msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/utils.cpp:76
+msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/utils.cpp:77
+msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/utils.cpp:78 src/frontend/mame/ui/utils.cpp:94
+msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/utils.cpp:87
+msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/utils.cpp:88
+msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/utils.cpp:89
+msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/utils.cpp:90
+msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/utils.cpp:91
+msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:43
-#, c-format
-msgid ""
-"[This option is currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"The selected option enables the following items:\n"
+#: src/frontend/mame/ui/utils.cpp:92
+msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:44
-#, c-format
-msgid ""
-"[This option is NOT currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"If you select this option, the following items will be enabled:\n"
+#: src/frontend/mame/ui/utils.cpp:93
+msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/utils.cpp:244
+msgid "<set up filters>"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:352
+msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/utils.cpp:503
#, c-format
-msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
-msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:518
+msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %3$d.%4$06d MHz\n"
+#: src/frontend/mame/ui/utils.cpp:520
+msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:959
+msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/utils.cpp:990
+msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/utils.cpp:998
+msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:103
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1032
+msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1037
+msgid "File"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/utils.cpp:1041
+msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
-#, c-format
-msgid " %1$d×%2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1046
+msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1047
+msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:168
-#, c-format
+#: src/frontend/mame/ui/selsoft.cpp:456
msgid ""
-"* BIOS settings:\n"
-" %1$d options [default: %2$s]\n"
+"The selected software is missing one or more required files. Please select a "
+"different software.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:208 src/frontend/mame/ui/devopt.cpp:224
-#: src/frontend/mame/ui/devopt.cpp:269
+#: src/frontend/mame/ui/selsoft.cpp:549
#, c-format
-msgid " %1$s [default: %2$s]\n"
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
+#: src/frontend/mame/ui/selsoft.cpp:550
#, c-format
-msgid " %1$s\n"
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:260
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:419
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/filesel.cpp:515
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:516
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:518
+msgid "Read-write"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
-#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:519
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:520
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:117
+msgid "Cannot save over directory"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:150
+msgid ""
+"The software selected is missing one or more required ROM or CHD images. "
+"Please select a different one."
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:294
+msgid "Return to Machine"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
-#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:299 src/frontend/mame/ui/menu.cpp:301
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+#: src/frontend/mame/ui/menu.cpp:306 src/frontend/mame/ui/menu.cpp:308
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
-#, c-format
-msgid " %1$s [tag: %2$s]\n"
+#: src/frontend/mame/ui/menu.cpp:742
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
+#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:653
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+#: src/frontend/mame/ui/cheatopt.cpp:105
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/cheatopt.cpp:136
+msgid "Autofire Settings"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:581
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:582
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
+#: src/frontend/mame/ui/cheatopt.cpp:273
+msgid "Autofire Status"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
+#: src/frontend/mame/ui/cheatopt.cpp:316
+msgid "No buttons found on this machine!"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+#: src/frontend/mame/ui/cheatopt.cpp:327 src/frontend/mame/ui/cheatopt.cpp:331
+msgid "Autofire Delay"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
-msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
+#: src/frontend/mame/ui/ui.cpp:337
+msgid "This driver requires images to be loaded in the following device(s): "
msgstr ""
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
+#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
+msgid "Keyboard Emulation Status"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
+#: src/frontend/mame/ui/ui.cpp:1086
+msgid "Mode: PARTIAL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
+#: src/frontend/mame/ui/ui.cpp:1087
+msgid "UI: Enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
+#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
+msgid "**Use ScrLock to toggle**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
+#: src/frontend/mame/ui/ui.cpp:1096
+msgid "Mode: FULL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: src/frontend/mame/ui/ui.cpp:1097
+msgid "UI: Disabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
+#: src/frontend/mame/ui/ui.cpp:1249
+msgid "Autofire can't be enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
+#: src/frontend/mame/ui/ui.cpp:1302
+#, c-format
+msgid ""
+"Are you sure you want to quit?\n"
+"\n"
+"Press ''%1$s'' to quit,\n"
+"Press ''%2$s'' to return to emulation."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
+#: src/frontend/mame/ui/ui.cpp:1374
+msgid "Master Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
+#: src/frontend/mame/ui/ui.cpp:1383
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/ui.cpp:1407
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/ui.cpp:1416
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/ui.cpp:1437
+#, c-format
+msgid "%1$s Refresh Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, c-format
+msgid "%1$s Brightness"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1444
+#, c-format
+msgid "%1$s Contrast"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1446
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/ui.cpp:1450
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/ui.cpp:1452
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/ui.cpp:1454
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/ui.cpp:1456
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/ui.cpp:1475
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/ui.cpp:1477
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/ui.cpp:1479
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
-msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+#: src/frontend/mame/ui/ui.cpp:1481
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:198
-msgid ""
-"There are known problems with this machine\n"
-"\n"
+#: src/frontend/mame/ui/ui.cpp:1493
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/ui.cpp:1494
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/ui.cpp:1495
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
+#: src/frontend/mame/ui/ui.cpp:1496
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#: src/frontend/mame/ui/info.cpp:275
+#: src/frontend/mame/ui/ui.cpp:1511
#, c-format
-msgid ", %s"
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
+#: src/frontend/mame/ui/ui.cpp:1513
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:243
-msgid ""
-"This machine was never completed. It may exhibit strange behavior or missing "
-"elements that are not bugs in the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1601
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:245
-msgid ""
-"This machine has no sound hardware, MAME will produce no sounds, this is "
-"expected behaviour.\n"
+#: src/frontend/mame/ui/ui.cpp:1645
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:249
-msgid ""
-"\n"
-"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
-"complete. There is nothing you can do to fix this problem except wait for "
-"the developers to improve the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1661
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:251
-msgid ""
-"\n"
-"Elements of this machine cannot be emulated as they requires physical "
-"interaction or consist of mechanical devices. It is not possible to fully "
-"experience this machine.\n"
+#: src/frontend/mame/ui/ui.cpp:1685
+#, c-format
+msgid "%1$.3ffps"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
+#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
+#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
+#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
+#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
+#: src/frontend/mame/ui/ui.cpp:1927
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
+#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/ui.cpp:2005
#, c-format
-msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/ui.cpp:2226
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " COLORS"
+msgstr ""
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:39
#, c-format
-msgid "%1$s: %2$s\n"
+msgid ""
+"[This option is currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"The selected option enables the following items:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+#: src/frontend/mame/ui/devopt.cpp:40
+#, c-format
+msgid ""
+"[This option is NOT currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"If you select this option, the following items will be enabled:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:48
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
#, c-format
-msgid "Screen '%1$s'"
+msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
+msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:85
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:90
+#, c-format
+msgid " Screen '%1$s': Vector\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:99
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:100
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:113
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:133
+#, c-format
+msgid " %1$d×%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:164
+#, c-format
+msgid ""
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:204 src/frontend/mame/ui/devopt.cpp:220
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
+#: src/frontend/mame/ui/devopt.cpp:209 src/frontend/mame/ui/devopt.cpp:225
#, c-format
-msgid "Software is clone of: %1$-.100s"
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: src/frontend/mame/ui/devopt.cpp:230
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: src/frontend/mame/ui/devopt.cpp:232
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: src/frontend/mame/ui/devopt.cpp:234
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: src/frontend/mame/ui/devopt.cpp:236
+#, c-format
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
+#: src/frontend/mame/ui/devopt.cpp:238
#, c-format
-msgid "romset: %1$-.100s"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
+#: src/frontend/mame/ui/devopt.cpp:240
#, c-format
-msgid "Driver is clone of: %1$-.100s"
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: src/frontend/mame/ui/devopt.cpp:242
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
+#: src/frontend/mame/ui/devopt.cpp:244
#, c-format
-msgid "%1$s %2$s"
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: src/frontend/mame/ui/devopt.cpp:246
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: src/frontend/mame/ui/devopt.cpp:248
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: src/frontend/mame/ui/devopt.cpp:257
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: src/frontend/mame/ui/devopt.cpp:263
+msgid "* Slot Options:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:270
+msgid "[None]\n"
msgstr ""
#: plugins/timer/init.lua:94
@@ -2671,51 +2590,51 @@ msgstr ""
msgid "Timer"
msgstr ""
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:510
msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheat/init.lua:534
+#: plugins/cheat/init.lua:516
msgid "Press button for hotkey or wait to clear"
msgstr ""
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:528
msgid "None"
msgstr ""
-#: plugins/cheat/init.lua:551
+#: plugins/cheat/init.lua:533
msgid "Done"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:547 plugins/cheat/init.lua:561
msgid "Set"
msgstr ""
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:580
msgid "Set hotkeys"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:720
#, lua-format
msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:723 plugins/cheat/init.lua:781
#, lua-format
msgid "Activated: %s"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:785
#, lua-format
msgid "Enabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:790
#, lua-format
msgid "Disabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "%s added"
msgstr ""
@@ -2764,303 +2683,218 @@ msgstr ""
msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:404
+#: plugins/cheatfind/init.lua:373
msgid "Save Cheat"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Default"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Custom"
msgstr ""
-#: plugins/cheatfind/init.lua:408
+#: plugins/cheatfind/init.lua:377
msgid "Cheat Name"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/cheatfind/init.lua:383 plugins/cheatfind/init.lua:748
#, lua-format
msgid "Default name is %s"
msgstr ""
-#: plugins/cheatfind/init.lua:422
+#: plugins/cheatfind/init.lua:391
msgid "Player"
msgstr ""
-#: plugins/cheatfind/init.lua:427
+#: plugins/cheatfind/init.lua:396
msgid "Type"
msgstr ""
-#: plugins/cheatfind/init.lua:433
+#: plugins/cheatfind/init.lua:402
msgid "Save"
msgstr ""
-#: plugins/cheatfind/init.lua:462
+#: plugins/cheatfind/init.lua:429
#, lua-format
msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:472
+#: plugins/cheatfind/init.lua:437
msgid "Cheat added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:442
msgid ""
"Unable to write file\n"
"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/cheatfind/init.lua:486
+#: plugins/cheatfind/init.lua:451
msgid "Cancel"
msgstr ""
-#: plugins/cheatfind/init.lua:491
+#: plugins/cheatfind/init.lua:456
msgid "CPU or RAM"
msgstr ""
-#: plugins/cheatfind/init.lua:495
+#: plugins/cheatfind/init.lua:460
msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:479
+msgid "Data cleared and current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:487
+msgid "Start new search"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:497
+msgid "Current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:504
+msgid "Save current -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
+#: plugins/cheatfind/init.lua:536
#, lua-format
-msgid "Memory State saved to Slot %d"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:543
+msgid "Compare"
msgstr ""
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
+#: plugins/cheatfind/init.lua:546
+msgid "Left operand"
+msgstr ""
+
+#: plugins/cheatfind/init.lua:549
+msgid "Current"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:554
+msgid "Operator"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:561
+msgid "Left less than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:563
+msgid "Left greater than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:676
+#: plugins/cheatfind/init.lua:565
msgid "Left equal to right"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:567
+msgid "Left not equal to right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:680
+#: plugins/cheatfind/init.lua:569
msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:682
+#: plugins/cheatfind/init.lua:571
msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:684
+#: plugins/cheatfind/init.lua:573
msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:686
+#: plugins/cheatfind/init.lua:575
msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:688
+#: plugins/cheatfind/init.lua:577
msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:690
+#: plugins/cheatfind/init.lua:579
msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/cheatfind/init.lua:590
+msgid "Right operand"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/cheatfind/init.lua:598
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:719
+#: plugins/cheatfind/init.lua:602
msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:725
+#: plugins/cheatfind/init.lua:608
msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:738
-msgid ""
-"Use this if you want to poke the Slot 1 value (eg. You started with "
-"something but lost it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:740
-msgid ""
-"Use this if you want to poke the Last Slot value (eg. You started without an "
-"item but finally got it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:816
+#: plugins/cheatfind/init.lua:632
msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:820
+#: plugins/cheatfind/init.lua:636
msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:823
+#: plugins/cheatfind/init.lua:639
msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheatfind/init.lua:690
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Test cheat at addr %08X"
msgstr ""
-#: plugins/cheatfind/init.lua:974
+#: plugins/cheatfind/init.lua:722
msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
+#: plugins/cheatfind/init.lua:788
msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
+#: plugins/cheatfind/init.lua:806
msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
+#: plugins/cheatfind/init.lua:816
msgid "Cheat Finder"
msgstr ""
-#: plugins/portname/init.lua:103
+#: plugins/portname/init.lua:69
msgid "Save input names to file"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
+#: plugins/portname/init.lua:100 plugins/portname/init.lua:105
+#: plugins/portname/init.lua:121
msgid "Failed to save input name file"
msgstr ""
-#: plugins/portname/init.lua:167
+#: plugins/portname/init.lua:133
#, lua-format
msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/portname/init.lua:172
+#: plugins/portname/init.lua:138
msgid "Input ports"
msgstr ""
diff --git a/language/French/strings.po b/language/French/strings.po
index 4d18d293e57..8bd8181a0e8 100644
--- a/language/French/strings.po
+++ b/language/French/strings.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MAME\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-03-17 13:37+1100\n"
+"POT-Creation-Date: 2018-04-28 15:32+1000\n"
"PO-Revision-Date: 2016-05-24 23:38+0200\n"
"Last-Translator: Mevi <mevi.mame@gmail.com>\n"
"Language-Team: MAME Language Team\n"
@@ -17,61 +17,238 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
+#: src/frontend/mame/ui/auditmenu.cpp:96
#, c-format
-msgid "Screen #%d"
-msgstr "Écran #%d"
+msgid "Audit ROMs for %1$u machines marked unavailable?"
+msgstr "Audit ROMs pour %1$u machines marqué non disponible ?"
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr "Rotation"
+#: src/frontend/mame/ui/auditmenu.cpp:99
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
+msgstr "Audit ROMs pour toutes les machines %1$u ?"
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr "Fonds"
+#: src/frontend/mame/ui/auditmenu.cpp:104
+#, c-format
+msgid "(results will be saved to %1$s)"
+msgstr "(Les résultats va être sauvegarder à %1$s)"
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Enabled"
-msgstr "Activé"
+#: src/frontend/mame/ui/auditmenu.cpp:130
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
+msgstr ""
+"Auditing ROMs pour machine %2$u de %3$u...\n"
+"%1$s"
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Disabled"
-msgstr "Désactivé"
+#: src/frontend/mame/ui/auditmenu.cpp:142
+msgid "Start Audit"
+msgstr "Démarre Audit"
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr "Calques"
+#: src/frontend/mame/ui/selmenu.cpp:49 src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Snapshots"
+msgstr "Captures d'écran"
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr "Cadres"
+#: src/frontend/mame/ui/selmenu.cpp:50 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cabinets"
+msgstr "Bornes"
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+#: src/frontend/mame/ui/selmenu.cpp:51
+msgid "Control Panels"
msgstr "Panneaux de contrôle"
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
+#: src/frontend/mame/ui/selmenu.cpp:52 src/frontend/mame/ui/dirmenu.cpp:50
+msgid "PCBs"
+msgstr "Circuits imprimés"
+
+#: src/frontend/mame/ui/selmenu.cpp:53 src/frontend/mame/ui/dirmenu.cpp:47
+msgid "Flyers"
+msgstr "Flyers / Prospectus"
+
+#: src/frontend/mame/ui/selmenu.cpp:54 src/frontend/mame/ui/dirmenu.cpp:48
+msgid "Titles"
+msgstr "Écrans-titre"
+
+#: src/frontend/mame/ui/selmenu.cpp:55 src/frontend/mame/ui/dirmenu.cpp:49
+msgid "Ends"
+msgstr "Fins de jeu"
+
+#: src/frontend/mame/ui/selmenu.cpp:56
+msgid "Artwork Preview"
+msgstr "Aperçu de l'illustration"
+
+#: src/frontend/mame/ui/selmenu.cpp:57 src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Bosses"
+msgstr "Boss / Ennemis et adversaires"
+
+#: src/frontend/mame/ui/selmenu.cpp:58 src/frontend/mame/ui/dirmenu.cpp:60
+msgid "Logos"
+msgstr "Logos"
+
+#: src/frontend/mame/ui/selmenu.cpp:59 src/frontend/mame/ui/dirmenu.cpp:62
+msgid "Versus"
+msgstr "Versus"
+
+#: src/frontend/mame/ui/selmenu.cpp:60
+msgid "Game Over"
+msgstr "Game Over"
+
+#: src/frontend/mame/ui/selmenu.cpp:61 src/frontend/mame/ui/dirmenu.cpp:59
+msgid "HowTo"
+msgstr "Comment faire"
+
+#: src/frontend/mame/ui/selmenu.cpp:62 src/frontend/mame/ui/dirmenu.cpp:61
+msgid "Scores"
+msgstr "Scores"
+
+#: src/frontend/mame/ui/selmenu.cpp:63 src/frontend/mame/ui/dirmenu.cpp:57
+msgid "Select"
+msgstr "Écrans de sélection"
+
+#: src/frontend/mame/ui/selmenu.cpp:64 src/frontend/mame/ui/dirmenu.cpp:51
+#: src/frontend/mame/ui/videoopt.cpp:224
msgid "Marquees"
msgstr "Marquees"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
-msgstr "Vue"
+#: src/frontend/mame/ui/selmenu.cpp:65 src/frontend/mame/ui/dirmenu.cpp:63
+msgid "Covers"
+msgstr "Boîtiers et emballages"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
-msgstr "Tronquée"
+#: src/frontend/mame/ui/selmenu.cpp:69
+msgid "Add or remove favorites"
+msgstr "Ajouter ou supprimer des favoris"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
-msgstr "Complète"
+#: src/frontend/mame/ui/selmenu.cpp:70
+msgid "Export displayed list to file"
+msgstr "Exporter la liste affichée vers un fichier"
+
+#: src/frontend/mame/ui/selmenu.cpp:71
+msgid "Show DATs view"
+msgstr "Afficher vue des fichiers DATs"
+
+#: src/frontend/mame/ui/selmenu.cpp:237
+msgid "Software part selection:"
+msgstr "Sélection du logiciel :"
+
+#: src/frontend/mame/ui/selmenu.cpp:343
+msgid "BIOS selection:"
+msgstr "Sélection BIOS :"
+
+#: src/frontend/mame/ui/selmenu.cpp:570 src/frontend/mame/ui/selmenu.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:311
+#, c-format
+msgid "%1$s, %2$-.100s"
+msgstr "%1$s, %2$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:574
+#, c-format
+msgid "Software is clone of: %1$-.100s"
+msgstr "Ce logiciel est un clone de : %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:576
+msgid "Software is parent"
+msgstr "Ce logiciel est le parent"
+
+#: src/frontend/mame/ui/selmenu.cpp:581
+msgid "Supported: No"
+msgstr "Supporté : Non"
+
+#: src/frontend/mame/ui/selmenu.cpp:586
+msgid "Supported: Partial"
+msgstr "Supporté : Partiellement"
+
+#: src/frontend/mame/ui/selmenu.cpp:591
+msgid "Supported: Yes"
+msgstr "Supporté : Oui"
+
+#: src/frontend/mame/ui/selmenu.cpp:596
+#, c-format
+msgid "romset: %1$-.100s"
+msgstr "romset : %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:612
+#, c-format
+msgid "Driver is clone of: %1$-.100s"
+msgstr "Ce driver est un clone de : %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:614
+msgid "Driver is parent"
+msgstr "Ce driver est le parent"
+
+#: src/frontend/mame/ui/selmenu.cpp:619
+#: src/frontend/mame/ui/simpleselgame.cpp:330
+msgid "Overall: NOT WORKING"
+msgstr "En résumé : NE FONCTIONNE PAS"
+
+#: src/frontend/mame/ui/selmenu.cpp:621
+#: src/frontend/mame/ui/simpleselgame.cpp:332
+msgid "Overall: Unemulated Protection"
+msgstr "En résumé : Protection non émulée"
+
+#: src/frontend/mame/ui/selmenu.cpp:623
+#: src/frontend/mame/ui/simpleselgame.cpp:334
+msgid "Overall: Working"
+msgstr "En résumé : Fonctionne correctement"
+
+#: src/frontend/mame/ui/selmenu.cpp:627
+#: src/frontend/mame/ui/simpleselgame.cpp:338
+msgid "Graphics: Unimplemented, "
+msgstr "Graphismes : Non implémenté"
+
+#: src/frontend/mame/ui/selmenu.cpp:629
+#: src/frontend/mame/ui/simpleselgame.cpp:340
+msgid "Graphics: Imperfect, "
+msgstr "Graphismes : Imparfaits, "
+
+#: src/frontend/mame/ui/selmenu.cpp:631
+#: src/frontend/mame/ui/simpleselgame.cpp:342
+msgid "Graphics: OK, "
+msgstr "Graphismes : OK, "
+
+#: src/frontend/mame/ui/selmenu.cpp:634
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+msgid "Sound: None"
+msgstr "Son : Aucun"
+
+#: src/frontend/mame/ui/selmenu.cpp:636
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+msgid "Sound: Unimplemented"
+msgstr "Son : Non implémenté"
+
+#: src/frontend/mame/ui/selmenu.cpp:638
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+msgid "Sound: Imperfect"
+msgstr "Son : Imparfait"
+
+#: src/frontend/mame/ui/selmenu.cpp:640
+#: src/frontend/mame/ui/simpleselgame.cpp:351
+msgid "Sound: OK"
+msgstr "Son : OK"
+
+#: src/frontend/mame/ui/selmenu.cpp:650
+#, c-format
+msgid "%1$s %2$s"
+msgstr "%1$s %2$s"
+
+#: src/frontend/mame/ui/selmenu.cpp:1975
+msgid "Images"
+msgstr "Images"
+
+#: src/frontend/mame/ui/selmenu.cpp:1976
+msgid "Infos"
+msgstr "Infos"
+
+#: src/frontend/mame/ui/selmenu.cpp:2386 src/frontend/mame/ui/miscmenu.cpp:826
+msgid " (default)"
+msgstr " (par défaut)"
+
+#: src/frontend/mame/ui/selmenu.cpp:2454
+msgid "Usage"
+msgstr "Utilisation"
+
+#: src/frontend/mame/ui/selmenu.cpp:2489
+msgid "General Info"
+msgstr "Informations générales"
#: src/frontend/mame/ui/dirmenu.cpp:35
msgid "ROMs"
@@ -113,30 +290,6 @@ msgstr "Icônes"
msgid "Cheats"
msgstr "Codes de triche"
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
-msgstr "Captures d'écran"
-
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
-msgstr "Bornes"
-
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
-msgstr "Flyers / Prospectus"
-
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
-msgstr "Écrans-titre"
-
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
-msgstr "Fins de jeu"
-
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
-msgstr "Circuits imprimés"
-
#: src/frontend/mame/ui/dirmenu.cpp:52
msgid "Controls Panels"
msgstr "Panneaux de contrôle"
@@ -149,42 +302,14 @@ msgstr "Viseurs"
msgid "Artworks"
msgstr "Illustrations"
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
-msgstr "Boss / Ennemis et adversaires"
-
#: src/frontend/mame/ui/dirmenu.cpp:56
msgid "Artworks Preview"
msgstr "Aperçu des illustrations"
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
-msgstr "Écrans de sélection"
-
#: src/frontend/mame/ui/dirmenu.cpp:58
msgid "GameOver"
msgstr "Écrans GAME OVER"
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
-msgstr "Comment faire"
-
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
-msgstr "Logos"
-
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
-msgstr "Scores"
-
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
-msgstr "Versus"
-
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
-msgstr "Boîtiers et emballages"
-
#: src/frontend/mame/ui/dirmenu.cpp:116
msgid "Folders Setup"
msgstr "Configuration des dossiers"
@@ -225,14 +350,279 @@ msgstr "Appuyez sur TAB pour définir"
msgid "Remove %1$s Folder"
msgstr "Supprimer le dossier %1$s"
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
-msgstr "Liste de sélection - Recherche : "
+#: src/frontend/mame/ui/info.cpp:30
+msgid "protection"
+msgstr "protection"
+
+#: src/frontend/mame/ui/info.cpp:31
+msgid "color palette"
+msgstr "palette de couleur"
+
+#: src/frontend/mame/ui/info.cpp:32
+msgid "graphics"
+msgstr "graphismes"
+
+#: src/frontend/mame/ui/info.cpp:33
+msgid "sound"
+msgstr "son"
+
+#: src/frontend/mame/ui/info.cpp:34
+msgid "controls"
+msgstr "contrôles"
+
+#: src/frontend/mame/ui/info.cpp:35
+msgid "keyboard"
+msgstr "clavier"
+
+#: src/frontend/mame/ui/info.cpp:36
+msgid "mouse"
+msgstr "souris"
-#: src/frontend/mame/ui/selector.cpp:123
+#: src/frontend/mame/ui/info.cpp:37
+msgid "microphone"
+msgstr "microphone"
+
+#: src/frontend/mame/ui/info.cpp:38
+msgid "camera"
+msgstr "caméra"
+
+#: src/frontend/mame/ui/info.cpp:39
+msgid "disk"
+msgstr "disque"
+
+#: src/frontend/mame/ui/info.cpp:40
+msgid "printer"
+msgstr "imprimante"
+
+#: src/frontend/mame/ui/info.cpp:41
+msgid "LAN"
+msgstr "LAN"
+
+#: src/frontend/mame/ui/info.cpp:42
+msgid "WAN"
+msgstr "WAN"
+
+#: src/frontend/mame/ui/info.cpp:43
+msgid "timing"
+msgstr "minutage"
+
+#: src/frontend/mame/ui/info.cpp:180
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
+msgstr ""
+"Un ou plusieurs fichiers ROMs/CHDs nécessaires à l'utilisation de cette "
+"machine sont incorrects. Il est possible qu'elle ne fonctionne pas "
+"correctement.\n"
+
+#: src/frontend/mame/ui/info.cpp:190
+msgid ""
+"There are known problems with this machine\n"
+"\n"
+msgstr ""
+"On rencontre les problèmes suivants avec cette machine :\n"
+"\n"
+
+#: src/frontend/mame/ui/info.cpp:195
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+msgstr ""
+"Un ou plusieurs fichiers ROMs/CHDs nécessaires à l'utilisation de cette "
+"machine n'ont pas été dumpés correctement.\n"
+
+#: src/frontend/mame/ui/info.cpp:200
+msgid "Completely unemulated features: "
+msgstr "Caractéristiques complètement non émulée : "
+
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
#, c-format
-msgid "Double click or press %1$s to select"
-msgstr "Double-cliquez ou appuyez sur %1$s pour sélectionner"
+msgid "%s"
+msgstr "%s"
+
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#: src/frontend/mame/ui/info.cpp:267
+#, c-format
+msgid ", %s"
+msgstr ", %s"
+
+#: src/frontend/mame/ui/info.cpp:216
+msgid "Imperfectly emulated features: "
+msgstr "Caractéristiques émulée imparfaitement : "
+
+#: src/frontend/mame/ui/info.cpp:231
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr "Le retournement de l'écran en mode cocktail n'est pas supporté.\n"
+
+#: src/frontend/mame/ui/info.cpp:233
+msgid "This machine requires external artwork files.\n"
+msgstr "Cette machine nécessite des fichiers illustrations externe.\n"
+
+#: src/frontend/mame/ui/info.cpp:235
+msgid ""
+"This machine was never completed. It may exhibit strange behavior or missing "
+"elements that are not bugs in the emulation.\n"
+msgstr ""
+"Cette machine n'a jamais été terminée. Il est possible qu'elle se comporte "
+"bizarrement ou que certains composants soient manquants. Cela ne constitue "
+"en aucun cas des bugs d'émulation.\n"
+
+#: src/frontend/mame/ui/info.cpp:237
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
+msgstr ""
+"Cette machine n'a pas de dispositif sonore. Par conséquent, MAME ne produira "
+"aucun son. Il s'agit d'un comportement attendu.\n"
+
+#: src/frontend/mame/ui/info.cpp:241
+msgid ""
+"\n"
+"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
+"complete. There is nothing you can do to fix this problem except wait for "
+"the developers to improve the emulation.\n"
+msgstr ""
+"\n"
+"CETTE MACHINE NE FONCTIONNE PAS. L'émulation de cette machine n'est pas "
+"encore complète. Il n'y a rien que vous puissiez faire pour résoudre ce "
+"problème sauf attendre que les développeurs améliorent l'émulation.\n"
+
+#: src/frontend/mame/ui/info.cpp:243
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they requires physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
+msgstr ""
+"\n"
+"Les éléments de cette machine ne peut être émulé comme ils exigent une "
+"interaction physique ou consiste de composantes mécanique. Il n'est pas "
+"possible d'avoir une pleine expérience de cette machine.\n"
+
+#: src/frontend/mame/ui/info.cpp:265
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
+msgstr ""
+"\n"
+"\n"
+"Il y a des clones fonctionnel de cette machine : %s"
+
+#: src/frontend/mame/ui/info.cpp:278
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+"\n"
+"\n"
+"Appuyez sur une touche pour continuer"
+
+#: src/frontend/mame/ui/info.cpp:293
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
+msgstr ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver : %4$s\n"
+"\n"
+"Processeur(s) :\n"
+
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "MHz"
+msgstr "MHz"
+
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "kHz"
+msgstr "kHz"
+
+#: src/frontend/mame/ui/info.cpp:342
+msgid ""
+"\n"
+"Sound:\n"
+msgstr ""
+"\n"
+"Son :\n"
+
+#: src/frontend/mame/ui/info.cpp:370
+msgid ""
+"\n"
+"Video:\n"
+msgstr ""
+"\n"
+"Vidéo :\n"
+
+#: src/frontend/mame/ui/info.cpp:374
+msgid "None\n"
+msgstr "Aucun\n"
+
+#: src/frontend/mame/ui/info.cpp:381
+msgid "Vector"
+msgstr "Graphismes vectoriels"
+
+#: src/frontend/mame/ui/info.cpp:392
+#, c-format
+msgid "%1$s: %2$s\n"
+msgstr "%1$s : %2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:392
+msgid "%2$s\n"
+msgstr "%2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:438
+#, c-format
+msgid "Screen '%1$s'"
+msgstr "Écran '%1$s'"
+
+#: src/frontend/mame/ui/info.cpp:440
+msgid "Screen"
+msgstr "Écran"
+
+#: src/frontend/mame/ui/info.cpp:525
+msgid "Not supported"
+msgstr "Non supporté"
+
+#: src/frontend/mame/ui/info.cpp:528
+msgid "Partially supported"
+msgstr "Partiellement supporté"
+
+#: src/frontend/mame/ui/info.cpp:536
+msgid "[empty]"
+msgstr "[vide]"
+
+#: src/frontend/mame/ui/optsmenu.cpp:193
+msgid "Filter"
+msgstr "Filtre"
+
+#: src/frontend/mame/ui/optsmenu.cpp:206
+msgid "Customize UI"
+msgstr "Personnaliser l'interface"
+
+#: src/frontend/mame/ui/optsmenu.cpp:207
+msgid "Configure Directories"
+msgstr "Configurer les dossiers"
+
+#: src/frontend/mame/ui/optsmenu.cpp:210 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
+msgstr "Options du son"
+
+#: src/frontend/mame/ui/optsmenu.cpp:213
+msgid "General Inputs"
+msgstr "Périphériques d'entrée généraux"
+
+#: src/frontend/mame/ui/optsmenu.cpp:216
+msgid "Save Configuration"
+msgstr "Sauvegarder la configuration"
+
+#: src/frontend/mame/ui/optsmenu.cpp:228
+msgid "Settings"
+msgstr "Paramètres"
#: src/frontend/mame/ui/tapectrl.cpp:85
msgid "stopped"
@@ -274,8 +664,30 @@ msgstr "Rembobiner"
msgid "Fast Forward"
msgstr "Avance rapide"
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
-#: src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/inputmap.cpp:53
+msgid "User Interface"
+msgstr "Interface utilisateur"
+
+#: src/frontend/mame/ui/inputmap.cpp:59
+msgid "Other Controls"
+msgstr "Autres contrôles"
+
+#: src/frontend/mame/ui/inputmap.cpp:628 src/frontend/mame/ui/miscmenu.cpp:96
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr "Réinitialiser"
+
+#: src/frontend/mame/ui/selector.cpp:116
+msgid "Selection List - Search: "
+msgstr "Liste de sélection - Recherche : "
+
+#: src/frontend/mame/ui/selector.cpp:124
+#, c-format
+msgid "Double click or press %1$s to select"
+msgstr "Double-cliquez ou appuyez sur %1$s pour sélectionner"
+
+#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/filesel.cpp:256
msgid "[empty slot]"
msgstr "[emplacement vide]"
@@ -317,182 +729,6 @@ msgstr "Utilisation du logiciel"
msgid "Revision: "
msgstr "Révision : "
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
-msgstr "Ce fichier existe déjà - Écraser ?"
-
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
-msgstr "Non"
-
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
-msgstr "Oui"
-
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
-msgstr "Nouveau nom de l'image :"
-
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
-msgstr "Format de l'image :"
-
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
-msgstr "Créer"
-
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
-msgstr "Veuillez entrer également l'extension du fichier"
-
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
-msgstr "Sélectionner le format de l'image"
-
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
-msgstr "Périphériques d'entrée (généraux)"
-
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
-msgstr "Périphériques d'entrée (cette machine)"
-
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
-msgstr "Contrôles analogiques"
-
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
-msgstr "DIP Switch"
-
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
-msgstr "Configuration de la machine"
-
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
-msgstr "Infos statistiques"
-
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
-msgstr "Informations sur la machine"
-
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
-msgstr "Informations sur l'image"
-
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
-msgstr "Gestionnaire de fichiers"
-
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
-msgstr "Contrôle de la cassette"
-
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
-msgstr "Pseudo terminals"
-
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
-msgstr "Sélection BIOS"
-
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
-msgstr "Périphériques d'emplacement"
-
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
-msgstr "Lecteur de code-barres"
-
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
-msgstr "Périphériques réseau"
-
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
-msgstr "Mode clavier"
-
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
-msgstr "Contrôles du curseur"
-
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
-msgstr "Options vidéo"
-
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
-msgstr "Options du viseur"
-
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
-msgstr "Code de triche"
-
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
-msgstr "Options du module d'extension"
-
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
-msgstr "Visualiser un DAT externe"
-
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
-msgstr "Ajouter aux favoris"
-
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
-msgstr "Supprimer des favoris"
-
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
-msgstr "Sélectionner une nouvelle machine"
-
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
-msgstr "Nouveau code-barres :"
-
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
-msgstr "Entrez un code"
-
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
-msgstr "Longueur du code-barres non valide !"
-
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
-msgstr "[échoué]"
-
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
-msgstr "Options du son"
-
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
-msgstr "Périphériques d'entrée généraux"
-
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
-msgstr "Sauvegarder la configuration"
-
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
-msgstr "Paramètres"
-
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
-msgstr "Filtre"
-
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
-msgstr "Personnaliser l'interface"
-
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
-msgstr "Configurer les dossiers"
-
#: src/frontend/mame/ui/simpleselgame.cpp:149
msgid ""
"The selected game is missing one or more required ROM or CHD images. Please "
@@ -505,7 +741,7 @@ msgstr ""
"\n"
"Appuyer sur une touche pour continuer."
-#: src/frontend/mame/ui/simpleselgame.cpp:247
+#: src/frontend/mame/ui/simpleselgame.cpp:241
#, c-format
msgid ""
"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
@@ -520,329 +756,199 @@ msgstr ""
"config.txt dans le répertoire docs pour obtenir de plus amples informations "
"sur la configuration de %2$s."
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:271
+#: src/frontend/mame/ui/selgame.cpp:436
msgid "Configure Options"
msgstr "Configurer les options"
-#: src/frontend/mame/ui/simpleselgame.cpp:298
+#: src/frontend/mame/ui/simpleselgame.cpp:292
#, c-format
msgid "Type name or select: %1$s_"
msgstr "Entrez un nom ou sélectionnez : %1$s_"
-#: src/frontend/mame/ui/simpleselgame.cpp:300
+#: src/frontend/mame/ui/simpleselgame.cpp:294
msgid "Type name or select: (random)"
msgstr "Entrez un nom ou sélectionnez : (au hasard)"
-#: src/frontend/mame/ui/simpleselgame.cpp:314
-#: src/frontend/mame/ui/selsoft.cpp:652 src/frontend/mame/ui/selsoft.cpp:659
+#: src/frontend/mame/ui/simpleselgame.cpp:308
+#: src/frontend/mame/ui/selsoft.cpp:564 src/frontend/mame/ui/selsoft.cpp:571
#, c-format
msgid "%1$-.100s"
msgstr "%1$-.100s"
-#: src/frontend/mame/ui/simpleselgame.cpp:317
-#: src/frontend/mame/ui/selmenu.cpp:618 src/frontend/mame/ui/selmenu.cpp:654
-#, c-format
-msgid "%1$s, %2$-.100s"
-msgstr "%1$s, %2$-.100s"
-
-#: src/frontend/mame/ui/simpleselgame.cpp:320
+#: src/frontend/mame/ui/simpleselgame.cpp:314
#, c-format
msgid "Driver: %1$-.100s"
msgstr "Driver : %1$-.100s"
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
-msgstr "En résumé : NE FONCTIONNE PAS"
+#: src/frontend/mame/ui/videoopt.cpp:56
+#, c-format
+msgid "Screen #%d"
+msgstr "Écran #%d"
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
-msgstr "En résumé : Protection non émulée"
+#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
+msgid "Rotate"
+msgstr "Rotation"
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
-msgstr "En résumé : Fonctionne correctement"
+#: src/frontend/mame/ui/videoopt.cpp:208
+msgid "Backdrops"
+msgstr "Fonds"
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
-msgstr "Graphismes : Non implémenté"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Enabled"
+msgstr "Activé"
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
-msgstr "Graphismes : Imparfaits, "
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Disabled"
+msgstr "Désactivé"
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
-msgstr "Graphismes : OK, "
+#: src/frontend/mame/ui/videoopt.cpp:212
+msgid "Overlays"
+msgstr "Calques"
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
-msgstr "Son : Aucun"
+#: src/frontend/mame/ui/videoopt.cpp:216
+msgid "Bezels"
+msgstr "Cadres"
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
-msgstr "Son : Non implémenté"
+#: src/frontend/mame/ui/videoopt.cpp:220
+msgid "CPanels"
+msgstr "Panneaux de contrôle"
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
-msgstr "Son : Imparfait"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "View"
+msgstr "Vue"
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
-msgstr "Son : OK"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cropped"
+msgstr "Tronquée"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
-msgstr "État de chargement"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Full"
+msgstr "Complète"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
-msgstr "Charger depuis la position"
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
+msgstr "Ce fichier existe déjà - Écraser ?"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
-msgstr "État de sauvegarde"
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1047
+msgid "No"
+msgstr "Non"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
-msgstr "Sauvegarder à la position"
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1047
+msgid "Yes"
+msgstr "Oui"
-#: src/frontend/mame/ui/ui.cpp:337
-msgid "This driver requires images to be loaded in the following device(s): "
-msgstr ""
-"Ce driver nécessite le chargement d'images dans le(s) périphérique(s) "
-"suivant(s) : "
+#: src/frontend/mame/ui/filecreate.cpp:171
+msgid "New Image Name:"
+msgstr "Nouveau nom de l'image :"
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
-msgstr "Statut de l'émulation du clavier"
+#: src/frontend/mame/ui/filecreate.cpp:177
+msgid "Image Format:"
+msgstr "Format de l'image :"
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
-msgstr "Mode : Émulation PARTIELLE"
+#: src/frontend/mame/ui/filecreate.cpp:183
+msgid "Create"
+msgstr "Créer"
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
-msgstr "Interface : Activée"
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr "Veuillez entrer également l'extension du fichier"
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
-msgstr "**Utiliser <Arrêt défil> pour basculer**"
+#: src/frontend/mame/ui/filecreate.cpp:266
+msgid "Select image format"
+msgstr "Sélectionner le format de l'image"
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
-msgstr "Mode : Émulation COMPLÈTE"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Keyboard Mode:"
+msgstr "Mode clavier :"
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
-msgstr "Interface : désactivée"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Natural"
+msgstr "Naturel"
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
-msgstr "Le tir automatique ne peut pas être activé"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Emulated"
+msgstr "Émulé"
-#: src/frontend/mame/ui/ui.cpp:1302
+#: src/frontend/mame/ui/miscmenu.cpp:236
#, c-format
msgid ""
-"Are you sure you want to quit?\n"
+"Uptime: %1$d:%2$02d:%3$02d\n"
"\n"
-"Press ''%1$s'' to quit,\n"
-"Press ''%2$s'' to return to emulation."
msgstr ""
-"Êtes-vous certain de vouloir quitter ?\n"
+"Temps écoulé : %1$d:%2$02d:%3$02d\n"
"\n"
-"Appuyez sur ''%1$s'' pour quitter,\n"
-"Appuyez sur ''%2$s'' pour retourner à l'émulation."
-
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
-msgstr "Volume principal"
-
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
-msgstr "Volume %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
-msgstr "Overclock du processeur %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
-msgstr "Overclock %1$s son"
-
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
-msgstr "%1$s - Taux de rafraîchissement"
-
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
-msgstr "%1$s - Luminosité"
-
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
-msgstr "%1$s - Contraste"
-
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
-msgstr "%1$s - Gamma"
-
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
-msgstr "%1$s - Stretch horizontal"
-
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
-msgstr "%1$s - Position horizontale"
-
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
-msgstr "%1$s - Stretch vertical"
-
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
-msgstr "%1$s - Position verticale"
-
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
-msgstr "'%1$s' Laserdisc - Stretch horizontal"
-
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
-msgstr "'%1$s' Laserdisc - Position horizontale"
-
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
-msgstr "'%1$s' Laserdisc - Stretch vertical"
-
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr "'%1$s' Laserdisc - Position verticale"
-
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
-msgstr "Scintillement de l'affichage vectoriel"
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
-msgstr "Largeur de rayon minimum"
-
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
-msgstr "Largeur de rayon maximum"
-
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
-msgstr "Intensité du rayon"
-
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr "Viseur - Échelle %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
-msgstr "X"
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
-msgstr "Y"
-
-#: src/frontend/mame/ui/ui.cpp:1513
+#: src/frontend/mame/ui/miscmenu.cpp:238
#, c-format
-msgid "Crosshair Offset %1$s"
-msgstr "Viseur - Offset %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
-msgstr "%1$3ddB"
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
+msgstr ""
+"Temps écoulé : %1$d:%2$02d\n"
+"\n"
-#: src/frontend/mame/ui/ui.cpp:1645
+#: src/frontend/mame/ui/miscmenu.cpp:242
#, c-format
-msgid "%1$d%%"
-msgstr "%1$d%%"
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
+msgstr ""
+"Tickets distribués : %1$d\n"
+"\n"
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
-msgstr "%1$3.0f%%"
+#: src/frontend/mame/ui/miscmenu.cpp:253
+msgid "Coin %1$c: NA%3$s\n"
+msgstr "Monnayeur %1$c : ND%3$s\n"
-#: src/frontend/mame/ui/ui.cpp:1685
+#: src/frontend/mame/ui/miscmenu.cpp:253
#, c-format
-msgid "%1$.3ffps"
-msgstr "%1$.3ffps"
+msgid "Coin %1$c: %2$d%3$s\n"
+msgstr "Monnayeur %1$c : %2$d%3$s\n"
-#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
-#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
-#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
-#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
-#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
-#: src/frontend/mame/ui/ui.cpp:1927
-#, c-format
-msgid "%1$.3f"
-msgstr "%1$.3f"
+#: src/frontend/mame/ui/miscmenu.cpp:256
+msgid " (locked)"
+msgstr " (verrouillé)"
-#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
-#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
-#, c-format
-msgid "%1$1.2f"
-msgstr "%1$1.2f"
+#: src/frontend/mame/ui/miscmenu.cpp:503
+msgid "Visible Delay"
+msgstr "Attente visible"
-#: src/frontend/mame/ui/ui.cpp:2005
+#: src/frontend/mame/ui/miscmenu.cpp:601
#, c-format
-msgid "Crosshair Scale X %1$1.3f"
-msgstr "Viseur - Échelle X %1$1.3f"
+msgid "%s.xml saved under ui folder."
+msgstr "%s.xml sauvegardé dans le dossier ui."
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
-msgstr "Viseur - Échelle Y %1$1.3f"
+#: src/frontend/mame/ui/miscmenu.cpp:627
+msgid "Name: Description:\n"
+msgstr "Nom : Description :\n"
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/miscmenu.cpp:638
#, c-format
-msgid "Crosshair Offset X %1$1.3f"
-msgstr "Viseur - Offset X %1$1.3f"
+msgid "%s.txt saved under ui folder."
+msgstr "%s.txt sauvegardé dans le dossier ui."
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
-msgstr "Viseur - Offset Y %1$1.3f"
+#: src/frontend/mame/ui/miscmenu.cpp:655
+msgid "Export list in XML format (like -listxml)"
+msgstr "Exporter la liste au format XML (comme -listxml)"
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
-msgstr "**Erreur de sauvegarde du fichier ui.ini**"
+#: src/frontend/mame/ui/miscmenu.cpp:656
+msgid "Export list in XML format (like -listxml, but exclude devices)"
+msgstr ""
+"Exporter la liste au format XML (comme -listxml, mais en excluant les "
+"périphériques)"
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
-msgstr "**Erreur de sauvegarde du fichier %s.ini**"
+#: src/frontend/mame/ui/miscmenu.cpp:657
+msgid "Export list in TXT format (like -listfull)"
+msgstr "Exporter la liste au format TXT (comme -listfull)"
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/miscmenu.cpp:710 src/frontend/mame/ui/ui.cpp:2230
msgid ""
"\n"
" Configuration saved \n"
@@ -852,336 +958,160 @@ msgstr ""
" Configuration sauvegardée \n"
"\n"
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
-msgid ""
-"Cheat Comment:\n"
-"%s"
-msgstr ""
-"Commentaire de triche :\n"
-"%s"
-
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
-msgstr "Tous les codes de triche ont été rechargés"
-
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
-msgstr "Paramètres du tir automatique"
-
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
-msgstr "Tout réinitialiser"
-
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
-msgstr "Tout recharger"
-
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
-msgstr "Statut du tir automatique"
-
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
-msgstr "Aucun bouton trouvé sur cette machine !"
-
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
-msgstr "Attente du tir automatique"
-
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
-#, c-format
-msgid ""
-"%s\n"
-" added to favorites list."
-msgstr ""
-"%s\n"
-" ajouté à la liste des favoris."
-
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
-#, c-format
-msgid ""
-"%s\n"
-" removed from favorites list."
-msgstr ""
-"%s\n"
-" supprimé de la liste des favoris."
-
-#: src/frontend/mame/ui/selsoft.cpp:507
-msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
-"\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
-msgstr "Appuyez sur une touche pour continuer"
-
-#: src/frontend/mame/ui/selsoft.cpp:637
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
-msgstr "%1$s %2$s ( %3$d / %4$d packages logiciels )"
-
-#: src/frontend/mame/ui/selsoft.cpp:638
-#, c-format
-msgid "Driver: \"%1$s\" software list "
-msgstr "Liste de logiciels pour le driver : \"%1$s\" "
-
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
-#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
-msgstr "%1$s: %2$s - Recherche : %3$s_"
-
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
-#, c-format
-msgid "Search: %1$s_"
-msgstr "Recherche : %1$s_"
-
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
-msgid "Unfiltered"
-msgstr "Non filtré"
-
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
-msgid "Available"
-msgstr "Disponible"
-
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
-msgid "Unavailable"
-msgstr "Indisponible"
-
-#: src/frontend/mame/ui/utils.cpp:63
-msgid "Working"
-msgstr "Fonctionnel"
-
-#: src/frontend/mame/ui/utils.cpp:64
-msgid "Not Working"
-msgstr "Non fonctionnel"
-
-#: src/frontend/mame/ui/utils.cpp:65
-msgid "Mechanical"
-msgstr "Mécanique"
-
-#: src/frontend/mame/ui/utils.cpp:66
-msgid "Not Mechanical"
-msgstr "Non mécanique"
-
-#: src/frontend/mame/ui/utils.cpp:67
-msgid "Category"
-msgstr "Catégorie"
-
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
-msgid "Favorites"
-msgstr "Favoris"
-
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/miscmenu.cpp:760 src/frontend/mame/ui/utils.cpp:66
msgid "BIOS"
msgstr "BIOS"
-#: src/frontend/mame/ui/utils.cpp:70
-msgid "Not BIOS"
-msgstr "Pas BIOS"
-
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
-msgid "Parents"
-msgstr "Parents"
-
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
-msgid "Clones"
-msgstr "Clones"
-
-#: src/frontend/mame/ui/utils.cpp:73
-msgid "Manufacturer"
-msgstr "Manufactureur"
-
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
-msgid "Year"
-msgstr "Année"
-
-#: src/frontend/mame/ui/utils.cpp:75
-msgid "Save Supported"
-msgstr "Sauvegarde supportée"
-
-#: src/frontend/mame/ui/utils.cpp:76
-msgid "Save Unsupported"
-msgstr "Sauvegarde non supportée"
-
-#: src/frontend/mame/ui/utils.cpp:77
-msgid "CHD Required"
-msgstr "CHD Requis"
-
-#: src/frontend/mame/ui/utils.cpp:78
-msgid "No CHD Required"
-msgstr "Pas de CHD requis"
-
-#: src/frontend/mame/ui/utils.cpp:79
-msgid "Vertical Screen"
-msgstr "Écran vertical"
-
-#: src/frontend/mame/ui/utils.cpp:80
-msgid "Horizontal Screen"
-msgstr "Écran horizontal"
-
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
-msgid "Custom Filter"
-msgstr "Filtre personnalisé"
-
-#: src/frontend/mame/ui/utils.cpp:91
-msgid "Publisher"
-msgstr "Éditeur"
-
-#: src/frontend/mame/ui/utils.cpp:92
-msgid "Supported"
-msgstr "Supportée"
+#: src/frontend/mame/ui/miscmenu.cpp:764
+msgid "Driver"
+msgstr "Driver"
-#: src/frontend/mame/ui/utils.cpp:93
-msgid "Partially Supported"
-msgstr "Supportée partiellement"
+#: src/frontend/mame/ui/miscmenu.cpp:767
+msgid "This machine has no BIOS."
+msgstr "Cette machine na pas de BIOS"
-#: src/frontend/mame/ui/utils.cpp:94
-msgid "Unsupported"
-msgstr "Non supportée"
+#: src/frontend/mame/ui/miscmenu.cpp:776 src/frontend/mame/ui/mainmenu.cpp:145
+msgid "Add To Favorites"
+msgstr "Ajouter aux favoris"
-#: src/frontend/mame/ui/utils.cpp:95
-msgid "Release Region"
-msgstr "Région disponible"
+#: src/frontend/mame/ui/miscmenu.cpp:778 src/frontend/mame/ui/mainmenu.cpp:147
+msgid "Remove From Favorites"
+msgstr "Supprimer des favoris"
-#: src/frontend/mame/ui/utils.cpp:96
-msgid "Device Type"
-msgstr "Sorte composante"
+#: src/frontend/mame/ui/miscmenu.cpp:781
+msgid "Save machine configuration"
+msgstr "Sauvegarder la configuration de la machine"
-#: src/frontend/mame/ui/utils.cpp:97
-msgid "Software List"
-msgstr "Liste logiciel"
+#: src/frontend/mame/ui/miscmenu.cpp:792
+msgid "Configure machine:"
+msgstr "Configurer la machine :"
-#: src/frontend/mame/ui/utils.cpp:248
-msgid "<set up filters>"
-msgstr "<configurer filtres>"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:736
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:551 plugins/cheatfind/init.lua:619
+msgid "On"
+msgstr "Actif"
-#: src/frontend/mame/ui/utils.cpp:356
-msgid "Select custom filters:"
-msgstr "Sélectionner les filtres personnalisés :"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:739
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:554 plugins/cheat/init.lua:563
+#: plugins/cheatfind/init.lua:616
+msgid "Off"
+msgstr "Inactif"
-#: src/frontend/mame/ui/utils.cpp:507
-#, c-format
-msgid "Filter %1$u"
-msgstr "Filtre %1$u"
+#: src/frontend/mame/ui/miscmenu.cpp:909 src/frontend/mame/ui/selgame.cpp:441
+msgid "Plugins"
+msgstr "Modules d'extension"
-#: src/frontend/mame/ui/utils.cpp:522
-msgid "Remove last filter"
-msgstr "Supprimer le dernier filtre"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
+msgstr "Nouveau code-barres :"
-#: src/frontend/mame/ui/utils.cpp:524
-msgid "Add filter"
-msgstr "Ajouter un filtre"
+#: src/frontend/mame/ui/barcode.cpp:78
+msgid "Enter Code"
+msgstr "Entrez un code"
-#: src/frontend/mame/ui/utils.cpp:966
-msgid "Select category:"
-msgstr "Sélectionne une catégorie"
+#: src/frontend/mame/ui/barcode.cpp:119
+msgid "Barcode length invalid!"
+msgstr "Longueur du code-barres non valide !"
-#: src/frontend/mame/ui/utils.cpp:997
-msgid "[no category INI files]"
-msgstr "[pas de catégorie fichiers INI]"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:99
+msgid "Pseudo terminals"
+msgstr "Pseudo terminals"
-#: src/frontend/mame/ui/utils.cpp:1005
-msgid "[no groups in INI file]"
-msgstr "[pas de groupes dans fichier INI]"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
+msgstr "[échoué]"
-#: src/frontend/mame/ui/utils.cpp:1039
-msgid "No category INI files found"
-msgstr "Pas de catégorie fichiers INI trouvé"
+#: src/frontend/mame/ui/mainmenu.cpp:60
+msgid "Input (general)"
+msgstr "Périphériques d'entrée (généraux)"
-#: src/frontend/mame/ui/utils.cpp:1044
-msgid "File"
-msgstr "Fichier"
+#: src/frontend/mame/ui/mainmenu.cpp:62
+msgid "Input (this Machine)"
+msgstr "Périphériques d'entrée (cette machine)"
-#: src/frontend/mame/ui/utils.cpp:1048
-msgid "No groups found in category file"
-msgstr "Pas de groupes trouvé dans la catétorie de fichier"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Analog Controls"
+msgstr "Contrôles analogiques"
-#: src/frontend/mame/ui/utils.cpp:1053
-msgid "Group"
-msgstr "Groupe"
+#: src/frontend/mame/ui/mainmenu.cpp:68
+msgid "Dip Switches"
+msgstr "DIP Switch"
-#: src/frontend/mame/ui/utils.cpp:1054
-msgid "Include clones"
-msgstr "Inclure clones"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "Machine Configuration"
+msgstr "Configuration de la machine"
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
-msgstr "[créer]"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
+msgstr "Infos statistiques"
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:78
+msgid "Machine Information"
+msgstr "Informations sur la machine"
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
-msgstr "Sélectionner le mode d'accès"
+#: src/frontend/mame/ui/mainmenu.cpp:85
+msgid "Image Information"
+msgstr "Informations sur l'image"
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
-msgstr "Lecture seule"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
+msgstr "Gestionnaire de fichiers"
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
-msgstr "Lecture-écriture"
+#: src/frontend/mame/ui/mainmenu.cpp:96
+msgid "Tape Control"
+msgstr "Contrôle de la cassette"
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
-msgstr "Lire cette image, écrire dans une autre image"
+#: src/frontend/mame/ui/mainmenu.cpp:102
+msgid "BIOS Selection"
+msgstr "Sélection BIOS"
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
-msgstr "Lire cette image, écrire vers diff"
+#: src/frontend/mame/ui/mainmenu.cpp:106
+msgid "Slot Devices"
+msgstr "Périphériques d'emplacement"
-#: src/frontend/mame/ui/slotopt.cpp:192
-#, c-format
-msgid "%s [internal]"
-msgstr "%s [interne]"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Barcode Reader"
+msgstr "Lecteur de code-barres"
-#: src/frontend/mame/ui/slotopt.cpp:203 src/frontend/mame/ui/miscmenu.cpp:97
-#: src/frontend/mame/ui/inputmap.cpp:615
-msgid "Reset"
-msgstr "Réinitialiser"
+#: src/frontend/mame/ui/mainmenu.cpp:114
+msgid "Network Devices"
+msgstr "Périphériques réseau"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
-msgstr " COULEURS"
+#: src/frontend/mame/ui/mainmenu.cpp:118
+msgid "Keyboard Mode"
+msgstr "Mode clavier"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
-msgstr " MARQUEURS"
+#: src/frontend/mame/ui/mainmenu.cpp:121
+msgid "Slider Controls"
+msgstr "Contrôles du curseur"
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
-msgstr "Retour à la machine actuelle"
+#: src/frontend/mame/ui/mainmenu.cpp:124 src/frontend/mame/ui/submenu.cpp:101
+msgid "Video Options"
+msgstr "Options vidéo"
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
-msgstr "Quitter MAME"
+#: src/frontend/mame/ui/mainmenu.cpp:128
+msgid "Crosshair Options"
+msgstr "Options du viseur"
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
-msgstr "Retour au menu précédent"
+#: src/frontend/mame/ui/mainmenu.cpp:132 plugins/cheat/init.lua:735
+msgid "Cheat"
+msgstr "Code de triche"
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:762
-#: plugins/cheat/init.lua:569 plugins/cheatfind/init.lua:792
-#: plugins/cheatfind/init.lua:803
-msgid "On"
-msgstr "Actif"
+#: src/frontend/mame/ui/mainmenu.cpp:135
+msgid "Plugin Options"
+msgstr "Options du module d'extension"
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:765
-#: plugins/cheat/init.lua:572 plugins/cheat/init.lua:581
-#: plugins/cheatfind/init.lua:789 plugins/cheatfind/init.lua:800
-msgid "Off"
-msgstr "Inactif"
+#: src/frontend/mame/ui/mainmenu.cpp:139
+msgid "External DAT View"
+msgstr "Visualiser un DAT externe"
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
-msgstr "Auto"
+#: src/frontend/mame/ui/mainmenu.cpp:154
+msgid "Select New Machine"
+msgstr "Sélectionner une nouvelle machine"
#: src/frontend/mame/ui/custui.cpp:31
msgid "Show All"
@@ -1405,458 +1335,6 @@ msgstr "Jaune"
msgid "Violet"
msgstr "Violet"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
-msgstr "Mode clavier :"
-
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
-msgstr "Naturel"
-
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
-msgstr "Émulé"
-
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
-msgstr ""
-"Temps écoulé : %1$d:%2$02d:%3$02d\n"
-"\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
-msgstr ""
-"Temps écoulé : %1$d:%2$02d\n"
-"\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
-msgstr ""
-"Tickets distribués : %1$d\n"
-"\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
-msgstr "Monnayeur %1$c : ND%3$s\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
-msgstr "Monnayeur %1$c : %2$d%3$s\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
-msgstr " (verrouillé)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
-msgstr "Attente visible"
-
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
-msgstr "%s.xml sauvegardé dans le dossier ui."
-
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
-msgstr "Nom : Description :\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:639
-#, c-format
-msgid "%s.txt saved under ui folder."
-msgstr "%s.txt sauvegardé dans le dossier ui."
-
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
-msgstr "Exporter la liste au format XML (comme -listxml)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
-msgstr ""
-"Exporter la liste au format XML (comme -listxml, mais en excluant les "
-"périphériques)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
-msgstr "Exporter la liste au format TXT (comme -listfull)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
-msgstr "Driver"
-
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
-msgstr "Cette machine na pas de BIOS"
-
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
-msgstr "Sauvegarder la configuration de la machine"
-
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
-msgstr "Configurer la machine :"
-
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
-msgstr " (par défaut)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
-msgstr "Modules d'extension"
-
-#: src/frontend/mame/ui/selgame.cpp:607
-msgid "Configure Machine"
-msgstr "Configurer la machine"
-
-#: src/frontend/mame/ui/selgame.cpp:1036
-#, c-format
-msgid "Romset\t%1$-.100s\n"
-msgstr "Romset\t%1$-.100s\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1037
-#, c-format
-msgid "Year\t%1$s\n"
-msgstr "Année\t%1$s\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1038
-#, c-format
-msgid "Manufacturer\t%1$-.100s\n"
-msgstr "Fabricant\t%1$-.100s\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1042
-#, c-format
-msgid "Driver is Clone of\t%1$-.100s\n"
-msgstr "Driver est le Clone de\t%1$-.100s\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1044
-msgid "Driver is Parent\t\n"
-msgstr "Driver est le parent\t\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1047
-msgid "Analog Controls\tYes\n"
-msgstr "Contrôles analogique\tOui\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1049
-msgid "Keyboard Inputs\tYes\n"
-msgstr "Entrées clavier\tOui\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1052
-msgid "Overall\tNOT WORKING\n"
-msgstr "Globalement\tNON FONCTIONNEL\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1054
-msgid "Overall\tUnemulated Protection\n"
-msgstr "Globalement\tProtection non émulée\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1056
-msgid "Overall\tWorking\n"
-msgstr "Globalement\tFonctionnel\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1059
-msgid "Graphics\tUnimplemented\n"
-msgstr "Graphismes\tNon implanté\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1061
-msgid "Graphics\tWrong Colors\n"
-msgstr "Graphismes\tCouleurs Incorrectes\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1063
-msgid "Graphics\tImperfect Colors\n"
-msgstr "Graphismes\tCouleurs Imparfaites\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1065
-msgid "Graphics\tImperfect\n"
-msgstr "Graphismes\tImparfaites\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1067
-msgid "Graphics\tOK\n"
-msgstr "Graphismes\tOK\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1070
-msgid "Sound\tNone\n"
-msgstr "Son\tAucun\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1072
-msgid "Sound\tUnimplemented\n"
-msgstr "Son\tNon implanté\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1074
-msgid "Sound\tImperfect\n"
-msgstr "Son\tImparfait\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1076
-msgid "Sound\tOK\n"
-msgstr "Son\tOK\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1079
-msgid "Capture\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1081
-msgid "Capture\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1084
-msgid "Camera\tUnimplemented\n"
-msgstr "Caméra\tNon implanté\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1086
-msgid "Camera\tImperfect\n"
-msgstr "Caméra\tImparfait\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1089
-msgid "Microphone\tUnimplemented\n"
-msgstr "Microphone\tNon implanté\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1091
-msgid "Microphone\tImperfect\n"
-msgstr "Microphone\tImparfait\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1094
-msgid "Controls\tUnimplemented\n"
-msgstr "Contrôles\tNon implanté\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1096
-msgid "Controls\tImperfect\n"
-msgstr "Contrôles\tImparfait\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1099
-msgid "Keyboard\tUnimplemented\n"
-msgstr "Clavier\tNon implanté\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1101
-msgid "Keyboard\tImperfect\n"
-msgstr "Clavier\tImparfait\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1104
-msgid "Mouse\tUnimplemented\n"
-msgstr "Souris\tNon implanté\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1106
-msgid "Mouse\tImperfect\n"
-msgstr "Souris\tImparfait\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1109
-msgid "Media\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1111
-msgid "Media\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1114
-msgid "Disk\tUnimplemented\n"
-msgstr "Disque\tNon implanté\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1116
-msgid "Disk\tImperfect\n"
-msgstr "Disque\tImparfait\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1119
-msgid "Printer\tUnimplemented\n"
-msgstr "Imprimante\tNon implanté\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1121
-msgid "Printer\tImperfect\n"
-msgstr "Imprimante\tImparfait\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1124
-msgid "Mag. Tape\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1126
-msgid "Mag. Tape\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1129
-msgid "Punch Tape\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1131
-msgid "Punch Tape\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1134
-msgid "Mag. Drum\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1136
-msgid "Mag. Drum\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1139
-msgid "(EP)ROM\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1141
-msgid "(EP)ROM\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1144
-msgid "Communications\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1146
-msgid "Communications\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1149
-msgid "LAN\tUnimplemented\n"
-msgstr "LAN\tNon implanté\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1151
-msgid "LAN\tImperfect\n"
-msgstr "LAN\tImparfait\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1154
-msgid "WAN\tUnimplemented\n"
-msgstr "WAN\tNon implanté\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1156
-msgid "WAN\tImperfect\n"
-msgstr "WAN\tImparfait\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1159
-msgid "Timing\tUnimplemented\n"
-msgstr "Minutage\tNon implanté\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1161
-msgid "Timing\tImperfect\n"
-msgstr "Minutage\tImparfait\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tYes\n"
-msgstr "Machine mécanique\tOui\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tNo\n"
-msgstr "Machine mécanique\tNon\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tYes\n"
-msgstr "Illustrations requis\tOui\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tNo\n"
-msgstr "Illustrations requis\tNon\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tYes\n"
-msgstr "Illustrations cliquable requis\tOui\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tNo\n"
-msgstr "Illustrations cliquable requis\tNon\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tNo\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tYes\n"
-msgstr "Driver est BIOS\tOui\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tNo\n"
-msgstr "Driver est BIOS\tNon\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tYes\n"
-msgstr "Supporte sauvegarde\tOui\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tNo\n"
-msgstr "Supporte sauvegarde\tNon\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tVertical\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tHorizontal\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tYes\n"
-msgstr "CHD requis\tOui\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tNo\n"
-msgstr "CHD requis\tNon\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1192
-msgid "ROM Audit Result\tOK\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1194
-msgid "ROM Audit Result\tBAD\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1197
-msgid "Samples Audit Result\tNone Needed\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1199
-msgid "Samples Audit Result\tOK\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1201
-msgid "Samples Audit Result\tBAD\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1205
-msgid ""
-"ROM Audit \tDisabled\n"
-"Samples Audit \tDisabled\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1396
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
-msgstr "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
-
-#: src/frontend/mame/ui/selgame.cpp:1424
-#, c-format
-msgid "Romset: %1$-.100s"
-msgstr "Romset : %1$-.100s"
-
-#: src/frontend/mame/ui/selgame.cpp:1431
-#, c-format
-msgid "System: %1$-.100s"
-msgstr "Système : %1$-.100s"
-
-#: src/frontend/mame/ui/selgame.cpp:1465
-msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
-msgstr ""
-
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
-msgstr "Son"
-
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
-msgstr "Fréquence d'échantillonnage"
-
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
-msgstr "Utiliser des samples externes"
-
#: src/frontend/mame/ui/submenu.cpp:22
msgid "Miscellaneous Options"
msgstr "Options diverses"
@@ -2157,195 +1635,558 @@ msgstr ""
msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:43
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Load State"
+msgstr "État de chargement"
+
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Select position to load from"
+msgstr "Charger depuis la position"
+
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Save State"
+msgstr "État de sauvegarde"
+
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Select position to save to"
+msgstr "Sauvegarder à la position"
+
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
+msgstr "%s [interne]"
+
+#: src/frontend/mame/ui/selgame.cpp:309 src/frontend/mame/ui/selsoft.cpp:211
#, c-format
msgid ""
-"[This option is currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"The selected option enables the following items:\n"
+"%s\n"
+" added to favorites list."
msgstr ""
+"%s\n"
+" ajouté à la liste des favoris."
-#: src/frontend/mame/ui/devopt.cpp:44
+#: src/frontend/mame/ui/selgame.cpp:314 src/frontend/mame/ui/selgame.cpp:320
+#: src/frontend/mame/ui/selsoft.cpp:216
#, c-format
msgid ""
-"[This option is NOT currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"If you select this option, the following items will be enabled:\n"
+"%s\n"
+" removed from favorites list."
msgstr ""
+"%s\n"
+" supprimé de la liste des favoris."
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:437
+msgid "Configure Machine"
+msgstr "Configurer la machine"
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/selgame.cpp:849
#, c-format
-msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
-msgstr ""
+msgid "Romset\t%1$-.100s\n"
+msgstr "Romset\t%1$-.100s\n"
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
-msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:850
+#, c-format
+msgid "Year\t%1$s\n"
+msgstr "Année\t%1$s\n"
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %3$d.%4$06d MHz\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:851
+#, c-format
+msgid "Manufacturer\t%1$-.100s\n"
+msgstr "Fabricant\t%1$-.100s\n"
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:855
+#, c-format
+msgid "Driver is Clone of\t%1$-.100s\n"
+msgstr "Driver est le Clone de\t%1$-.100s\n"
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:857
+msgid "Driver is Parent\t\n"
+msgstr "Driver est le parent\t\n"
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:860
+msgid "Analog Controls\tYes\n"
+msgstr "Contrôles analogique\tOui\n"
-#: src/frontend/mame/ui/devopt.cpp:103
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:862
+msgid "Keyboard Inputs\tYes\n"
+msgstr "Entrées clavier\tOui\n"
-#: src/frontend/mame/ui/devopt.cpp:104
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:865
+msgid "Overall\tNOT WORKING\n"
+msgstr "Globalement\tNON FONCTIONNEL\n"
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:867
+msgid "Overall\tUnemulated Protection\n"
+msgstr "Globalement\tProtection non émulée\n"
-#: src/frontend/mame/ui/devopt.cpp:137
-#, c-format
-msgid " %1$d×%2$s\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:869
+msgid "Overall\tWorking\n"
+msgstr "Globalement\tFonctionnel\n"
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/selgame.cpp:872
+msgid "Graphics\tUnimplemented\n"
+msgstr "Graphismes\tNon implanté\n"
+
+#: src/frontend/mame/ui/selgame.cpp:874
+msgid "Graphics\tWrong Colors\n"
+msgstr "Graphismes\tCouleurs Incorrectes\n"
+
+#: src/frontend/mame/ui/selgame.cpp:876
+msgid "Graphics\tImperfect Colors\n"
+msgstr "Graphismes\tCouleurs Imparfaites\n"
+
+#: src/frontend/mame/ui/selgame.cpp:878
+msgid "Graphics\tImperfect\n"
+msgstr "Graphismes\tImparfaites\n"
+
+#: src/frontend/mame/ui/selgame.cpp:880
+msgid "Graphics\tOK\n"
+msgstr "Graphismes\tOK\n"
+
+#: src/frontend/mame/ui/selgame.cpp:883
+msgid "Sound\tNone\n"
+msgstr "Son\tAucun\n"
+
+#: src/frontend/mame/ui/selgame.cpp:885
+msgid "Sound\tUnimplemented\n"
+msgstr "Son\tNon implanté\n"
+
+#: src/frontend/mame/ui/selgame.cpp:887
+msgid "Sound\tImperfect\n"
+msgstr "Son\tImparfait\n"
+
+#: src/frontend/mame/ui/selgame.cpp:889
+msgid "Sound\tOK\n"
+msgstr "Son\tOK\n"
+
+#: src/frontend/mame/ui/selgame.cpp:892
+msgid "Controls\tUnimplemented\n"
+msgstr "Contrôles\tNon implanté\n"
+
+#: src/frontend/mame/ui/selgame.cpp:894
+msgid "Controls\tImperfect\n"
+msgstr "Contrôles\tImparfait\n"
+
+#: src/frontend/mame/ui/selgame.cpp:897
+msgid "Keyboard\tUnimplemented\n"
+msgstr "Clavier\tNon implanté\n"
+
+#: src/frontend/mame/ui/selgame.cpp:899
+msgid "Keyboard\tImperfect\n"
+msgstr "Clavier\tImparfait\n"
+
+#: src/frontend/mame/ui/selgame.cpp:902
+msgid "Mouse\tUnimplemented\n"
+msgstr "Souris\tNon implanté\n"
+
+#: src/frontend/mame/ui/selgame.cpp:904
+msgid "Mouse\tImperfect\n"
+msgstr "Souris\tImparfait\n"
+
+#: src/frontend/mame/ui/selgame.cpp:907
+msgid "Microphone\tUnimplemented\n"
+msgstr "Microphone\tNon implanté\n"
+
+#: src/frontend/mame/ui/selgame.cpp:909
+msgid "Microphone\tImperfect\n"
+msgstr "Microphone\tImparfait\n"
+
+#: src/frontend/mame/ui/selgame.cpp:912
+msgid "Camera\tUnimplemented\n"
+msgstr "Caméra\tNon implanté\n"
+
+#: src/frontend/mame/ui/selgame.cpp:914
+msgid "Camera\tImperfect\n"
+msgstr "Caméra\tImparfait\n"
+
+#: src/frontend/mame/ui/selgame.cpp:917
+msgid "Disk\tUnimplemented\n"
+msgstr "Disque\tNon implanté\n"
+
+#: src/frontend/mame/ui/selgame.cpp:919
+msgid "Disk\tImperfect\n"
+msgstr "Disque\tImparfait\n"
+
+#: src/frontend/mame/ui/selgame.cpp:922
+msgid "Printer\tUnimplemented\n"
+msgstr "Imprimante\tNon implanté\n"
+
+#: src/frontend/mame/ui/selgame.cpp:924
+msgid "Printer\tImperfect\n"
+msgstr "Imprimante\tImparfait\n"
+
+#: src/frontend/mame/ui/selgame.cpp:927
+msgid "LAN\tUnimplemented\n"
+msgstr "LAN\tNon implanté\n"
+
+#: src/frontend/mame/ui/selgame.cpp:929
+msgid "LAN\tImperfect\n"
+msgstr "LAN\tImparfait\n"
+
+#: src/frontend/mame/ui/selgame.cpp:932
+msgid "WAN\tUnimplemented\n"
+msgstr "WAN\tNon implanté\n"
+
+#: src/frontend/mame/ui/selgame.cpp:934
+msgid "WAN\tImperfect\n"
+msgstr "WAN\tImparfait\n"
+
+#: src/frontend/mame/ui/selgame.cpp:937
+msgid "Timing\tUnimplemented\n"
+msgstr "Minutage\tNon implanté\n"
+
+#: src/frontend/mame/ui/selgame.cpp:939
+msgid "Timing\tImperfect\n"
+msgstr "Minutage\tImparfait\n"
+
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tYes\n"
+msgstr "Machine mécanique\tOui\n"
+
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tNo\n"
+msgstr "Machine mécanique\tNon\n"
+
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tYes\n"
+msgstr "Illustrations requis\tOui\n"
+
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tNo\n"
+msgstr "Illustrations requis\tNon\n"
+
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tYes\n"
+msgstr "Illustrations cliquable requis\tOui\n"
+
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tNo\n"
+msgstr "Illustrations cliquable requis\tNon\n"
+
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:168
-#, c-format
-msgid ""
-"* BIOS settings:\n"
-" %1$d options [default: %2$s]\n"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:208 src/frontend/mame/ui/devopt.cpp:224
-#: src/frontend/mame/ui/devopt.cpp:269
-#, c-format
-msgid " %1$s [default: %2$s]\n"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tYes\n"
+msgstr "Driver est BIOS\tOui\n"
+
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tNo\n"
+msgstr "Driver est BIOS\tNon\n"
+
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tYes\n"
+msgstr "Supporte sauvegarde\tOui\n"
+
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tNo\n"
+msgstr "Supporte sauvegarde\tNon\n"
+
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
-#, c-format
-msgid " %1$s\n"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tYes\n"
+msgstr "CHD requis\tOui\n"
+
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tNo\n"
+msgstr "CHD requis\tNon\n"
+
+#: src/frontend/mame/ui/selgame.cpp:970
+msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/selgame.cpp:972
+msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/selgame.cpp:975
+msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:977
+msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:979
+msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
-#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:983
+msgid ""
+"ROM Audit \tDisabled\n"
+"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
+#: src/frontend/mame/ui/selgame.cpp:1167
#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
-msgstr ""
+msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
+msgstr "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
-#: src/frontend/mame/ui/devopt.cpp:248
+#: src/frontend/mame/ui/selgame.cpp:1183 src/frontend/mame/ui/selsoft.cpp:555
#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
-msgstr ""
+msgid "%1$s: %2$s - Search: %3$s_"
+msgstr "%1$s: %2$s - Recherche : %3$s_"
-#: src/frontend/mame/ui/devopt.cpp:250
+#: src/frontend/mame/ui/selgame.cpp:1185 src/frontend/mame/ui/selsoft.cpp:557
#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
-msgstr ""
+msgid "Search: %1$s_"
+msgstr "Recherche : %1$s_"
-#: src/frontend/mame/ui/devopt.cpp:252
+#: src/frontend/mame/ui/selgame.cpp:1195
#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
-msgstr ""
+msgid "Romset: %1$-.100s"
+msgstr "Romset : %1$-.100s"
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/selgame.cpp:1202
#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
-msgstr ""
+msgid "System: %1$-.100s"
+msgstr "Système : %1$-.100s"
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+#: src/frontend/mame/ui/selgame.cpp:1239
+msgid ""
+"The selected machine is missing one or more required ROM or CHD images. "
+"Please select a different machine.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/selgame.cpp:1245 src/frontend/mame/ui/selsoft.cpp:462
+msgid "Press any key to continue."
+msgstr "Appuyez sur une touche pour continuer"
+
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
+msgstr "Son"
+
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
+msgstr "Fréquence d'échantillonnage"
+
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
+msgstr "Utiliser des samples externes"
+
+#: src/frontend/mame/ui/utils.cpp:57 src/frontend/mame/ui/utils.cpp:81
+msgid "Unfiltered"
+msgstr "Non filtré"
+
+#: src/frontend/mame/ui/utils.cpp:58 src/frontend/mame/ui/utils.cpp:82
+msgid "Available"
+msgstr "Disponible"
+
+#: src/frontend/mame/ui/utils.cpp:59 src/frontend/mame/ui/utils.cpp:83
+msgid "Unavailable"
+msgstr "Indisponible"
+
+#: src/frontend/mame/ui/utils.cpp:60
+msgid "Working"
+msgstr "Fonctionnel"
+
+#: src/frontend/mame/ui/utils.cpp:61
+msgid "Not Working"
+msgstr "Non fonctionnel"
+
+#: src/frontend/mame/ui/utils.cpp:62
+msgid "Mechanical"
+msgstr "Mécanique"
+
+#: src/frontend/mame/ui/utils.cpp:63
+msgid "Not Mechanical"
+msgstr "Non mécanique"
+
+#: src/frontend/mame/ui/utils.cpp:64
+msgid "Category"
+msgstr "Catégorie"
+
+#: src/frontend/mame/ui/utils.cpp:65
+msgid "Favorites"
+msgstr "Favoris"
+
+#: src/frontend/mame/ui/utils.cpp:67
+msgid "Not BIOS"
+msgstr "Pas BIOS"
+
+#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:84
+msgid "Parents"
+msgstr "Parents"
+
+#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/utils.cpp:85
+msgid "Clones"
+msgstr "Clones"
+
+#: src/frontend/mame/ui/utils.cpp:70
+msgid "Manufacturer"
+msgstr "Manufactureur"
+
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:86
+msgid "Year"
+msgstr "Année"
+
+#: src/frontend/mame/ui/utils.cpp:72
+msgid "Save Supported"
+msgstr "Sauvegarde supportée"
+
+#: src/frontend/mame/ui/utils.cpp:73
+msgid "Save Unsupported"
+msgstr "Sauvegarde non supportée"
+
+#: src/frontend/mame/ui/utils.cpp:74
+msgid "CHD Required"
+msgstr "CHD Requis"
+
+#: src/frontend/mame/ui/utils.cpp:75
+msgid "No CHD Required"
+msgstr "Pas de CHD requis"
+
+#: src/frontend/mame/ui/utils.cpp:76
+msgid "Vertical Screen"
+msgstr "Écran vertical"
+
+#: src/frontend/mame/ui/utils.cpp:77
+msgid "Horizontal Screen"
+msgstr "Écran horizontal"
+
+#: src/frontend/mame/ui/utils.cpp:78 src/frontend/mame/ui/utils.cpp:94
+msgid "Custom Filter"
+msgstr "Filtre personnalisé"
+
+#: src/frontend/mame/ui/utils.cpp:87
+msgid "Publisher"
+msgstr "Éditeur"
+
+#: src/frontend/mame/ui/utils.cpp:88
+msgid "Supported"
+msgstr "Supportée"
+
+#: src/frontend/mame/ui/utils.cpp:89
+msgid "Partially Supported"
+msgstr "Supportée partiellement"
+
+#: src/frontend/mame/ui/utils.cpp:90
+msgid "Unsupported"
+msgstr "Non supportée"
+
+#: src/frontend/mame/ui/utils.cpp:91
+msgid "Release Region"
+msgstr "Région disponible"
+
+#: src/frontend/mame/ui/utils.cpp:92
+msgid "Device Type"
+msgstr "Sorte composante"
+
+#: src/frontend/mame/ui/utils.cpp:93
+msgid "Software List"
+msgstr "Liste logiciel"
+
+#: src/frontend/mame/ui/utils.cpp:244
+msgid "<set up filters>"
+msgstr "<configurer filtres>"
+
+#: src/frontend/mame/ui/utils.cpp:352
+msgid "Select custom filters:"
+msgstr "Sélectionner les filtres personnalisés :"
+
+#: src/frontend/mame/ui/utils.cpp:503
#, c-format
-msgid " %1$s [tag: %2$s]\n"
-msgstr ""
+msgid "Filter %1$u"
+msgstr "Filtre %1$u"
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
-msgstr ""
+#: src/frontend/mame/ui/utils.cpp:518
+msgid "Remove last filter"
+msgstr "Supprimer le dernier filtre"
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+#: src/frontend/mame/ui/utils.cpp:520
+msgid "Add filter"
+msgstr "Ajouter un filtre"
+
+#: src/frontend/mame/ui/utils.cpp:959
+msgid "Select category:"
+msgstr "Sélectionne une catégorie"
+
+#: src/frontend/mame/ui/utils.cpp:990
+msgid "[no category INI files]"
+msgstr "[pas de catégorie fichiers INI]"
+
+#: src/frontend/mame/ui/utils.cpp:998
+msgid "[no groups in INI file]"
+msgstr "[pas de groupes dans fichier INI]"
+
+#: src/frontend/mame/ui/utils.cpp:1032
+msgid "No category INI files found"
+msgstr "Pas de catégorie fichiers INI trouvé"
+
+#: src/frontend/mame/ui/utils.cpp:1037
+msgid "File"
+msgstr "Fichier"
+
+#: src/frontend/mame/ui/utils.cpp:1041
+msgid "No groups found in category file"
+msgstr "Pas de groupes trouvé dans la catétorie de fichier"
+
+#: src/frontend/mame/ui/utils.cpp:1046
+msgid "Group"
+msgstr "Groupe"
+
+#: src/frontend/mame/ui/utils.cpp:1047
+msgid "Include clones"
+msgstr "Inclure clones"
+
+#: src/frontend/mame/ui/selsoft.cpp:456
+msgid ""
+"The selected software is missing one or more required files. Please select a "
+"different software.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
+#: src/frontend/mame/ui/selsoft.cpp:549
#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
-msgstr "Audit ROMs pour %1$u machines marqué non disponible ?"
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgstr "%1$s %2$s ( %3$d / %4$d packages logiciels )"
-#: src/frontend/mame/ui/auditmenu.cpp:99
+#: src/frontend/mame/ui/selsoft.cpp:550
#, c-format
-msgid "Audit ROMs for all %1$u machines?"
-msgstr "Audit ROMs pour toutes les machines %1$u ?"
+msgid "Driver: \"%1$s\" software list "
+msgstr "Liste de logiciels pour le driver : \"%1$s\" "
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
-msgstr "(Les résultats va être sauvegarder à %1$s)"
+#: src/frontend/mame/ui/filesel.cpp:260
+msgid "[create]"
+msgstr "[créer]"
-#: src/frontend/mame/ui/auditmenu.cpp:130
+#: src/frontend/mame/ui/filesel.cpp:419
#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
+msgid "Error accessing %s"
msgstr ""
-"Auditing ROMs pour machine %2$u de %3$u...\n"
-"%1$s"
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr "Démarre Audit"
+#: src/frontend/mame/ui/filesel.cpp:515
+msgid "Select access mode"
+msgstr "Sélectionner le mode d'accès"
+
+#: src/frontend/mame/ui/filesel.cpp:516
+msgid "Read-only"
+msgstr "Lecture seule"
+
+#: src/frontend/mame/ui/filesel.cpp:518
+msgid "Read-write"
+msgstr "Lecture-écriture"
+
+#: src/frontend/mame/ui/filesel.cpp:519
+msgid "Read this image, write to another image"
+msgstr "Lire cette image, écrire dans une autre image"
+
+#: src/frontend/mame/ui/filesel.cpp:520
+msgid "Read this image, write to diff"
+msgstr "Lire cette image, écrire vers diff"
#: src/frontend/mame/ui/imgcntrl.cpp:117
msgid "Cannot save over directory"
@@ -2359,375 +2200,453 @@ msgstr ""
"Il manque un ou plusieurs fichiers de ROMs ou d'images CHD pour utiliser ce "
"logiciel. Veuillez en sélectionner un autre."
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
-msgstr "protection"
-
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
-msgstr "minutage"
+#: src/frontend/mame/ui/menu.cpp:294
+msgid "Return to Machine"
+msgstr "Retour à la machine actuelle"
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
-msgstr "graphismes"
+#: src/frontend/mame/ui/menu.cpp:299 src/frontend/mame/ui/menu.cpp:301
+msgid "Exit"
+msgstr "Quitter MAME"
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
-msgstr "palette de couleur"
+#: src/frontend/mame/ui/menu.cpp:306 src/frontend/mame/ui/menu.cpp:308
+msgid "Return to Previous Menu"
+msgstr "Retour au menu précédent"
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
-msgstr "son"
+#: src/frontend/mame/ui/menu.cpp:742
+msgid "Auto"
+msgstr "Auto"
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:653
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
+"Commentaire de triche :\n"
+"%s"
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
-msgstr "caméra"
-
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
-msgstr "microphone"
+#: src/frontend/mame/ui/cheatopt.cpp:105
+msgid "All cheats reloaded"
+msgstr "Tous les codes de triche ont été rechargés"
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
-msgstr "contrôles"
+#: src/frontend/mame/ui/cheatopt.cpp:136
+msgid "Autofire Settings"
+msgstr "Paramètres du tir automatique"
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
-msgstr "clavier"
+#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:581
+msgid "Reset All"
+msgstr "Tout réinitialiser"
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
-msgstr "souris"
+#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:582
+msgid "Reload All"
+msgstr "Tout recharger"
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
-msgstr ""
+#: src/frontend/mame/ui/cheatopt.cpp:273
+msgid "Autofire Status"
+msgstr "Statut du tir automatique"
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
-msgstr "disque"
+#: src/frontend/mame/ui/cheatopt.cpp:316
+msgid "No buttons found on this machine!"
+msgstr "Aucun bouton trouvé sur cette machine !"
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
-msgstr "imprimante"
+#: src/frontend/mame/ui/cheatopt.cpp:327 src/frontend/mame/ui/cheatopt.cpp:331
+msgid "Autofire Delay"
+msgstr "Attente du tir automatique"
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/ui.cpp:337
+msgid "This driver requires images to be loaded in the following device(s): "
msgstr ""
+"Ce driver nécessite le chargement d'images dans le(s) périphérique(s) "
+"suivant(s) : "
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
-msgstr ""
+#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
+msgid "Keyboard Emulation Status"
+msgstr "Statut de l'émulation du clavier"
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
-msgstr ""
+#: src/frontend/mame/ui/ui.cpp:1086
+msgid "Mode: PARTIAL Emulation"
+msgstr "Mode : Émulation PARTIELLE"
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
-msgstr ""
+#: src/frontend/mame/ui/ui.cpp:1087
+msgid "UI: Enabled"
+msgstr "Interface : Activée"
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
-msgstr ""
+#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
+msgid "**Use ScrLock to toggle**"
+msgstr "**Utiliser <Arrêt défil> pour basculer**"
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
-msgstr "LAN"
+#: src/frontend/mame/ui/ui.cpp:1096
+msgid "Mode: FULL Emulation"
+msgstr "Mode : Émulation COMPLÈTE"
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
-msgstr "WAN"
+#: src/frontend/mame/ui/ui.cpp:1097
+msgid "UI: Disabled"
+msgstr "Interface : désactivée"
-#: src/frontend/mame/ui/info.cpp:188
-msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
-msgstr ""
-"Un ou plusieurs fichiers ROMs/CHDs nécessaires à l'utilisation de cette "
-"machine sont incorrects. Il est possible qu'elle ne fonctionne pas "
-"correctement.\n"
+#: src/frontend/mame/ui/ui.cpp:1249
+msgid "Autofire can't be enabled"
+msgstr "Le tir automatique ne peut pas être activé"
-#: src/frontend/mame/ui/info.cpp:198
+#: src/frontend/mame/ui/ui.cpp:1302
+#, c-format
msgid ""
-"There are known problems with this machine\n"
+"Are you sure you want to quit?\n"
"\n"
+"Press ''%1$s'' to quit,\n"
+"Press ''%2$s'' to return to emulation."
msgstr ""
-"On rencontre les problèmes suivants avec cette machine :\n"
+"Êtes-vous certain de vouloir quitter ?\n"
"\n"
+"Appuyez sur ''%1$s'' pour quitter,\n"
+"Appuyez sur ''%2$s'' pour retourner à l'émulation."
-#: src/frontend/mame/ui/info.cpp:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
-msgstr ""
-"Un ou plusieurs fichiers ROMs/CHDs nécessaires à l'utilisation de cette "
-"machine n'ont pas été dumpés correctement.\n"
+#: src/frontend/mame/ui/ui.cpp:1374
+msgid "Master Volume"
+msgstr "Volume principal"
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
-msgstr "Caractéristiques complètement non émulée : "
+#: src/frontend/mame/ui/ui.cpp:1383
+#, c-format
+msgid "%1$s Volume"
+msgstr "Volume %1$s"
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
+#: src/frontend/mame/ui/ui.cpp:1407
#, c-format
-msgid "%s"
-msgstr "%s"
+msgid "Overclock CPU %1$s"
+msgstr "Overclock du processeur %1$s"
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#: src/frontend/mame/ui/info.cpp:275
+#: src/frontend/mame/ui/ui.cpp:1416
#, c-format
-msgid ", %s"
-msgstr ", %s"
+msgid "Overclock %1$s sound"
+msgstr "Overclock %1$s son"
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
-msgstr "Caractéristiques émulée imparfaitement : "
+#: src/frontend/mame/ui/ui.cpp:1437
+#, c-format
+msgid "%1$s Refresh Rate"
+msgstr "%1$s - Taux de rafraîchissement"
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
-msgstr "Le retournement de l'écran en mode cocktail n'est pas supporté.\n"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, c-format
+msgid "%1$s Brightness"
+msgstr "%1$s - Luminosité"
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
-msgstr "Cette machine nécessite des fichiers illustrations externe.\n"
+#: src/frontend/mame/ui/ui.cpp:1444
+#, c-format
+msgid "%1$s Contrast"
+msgstr "%1$s - Contraste"
-#: src/frontend/mame/ui/info.cpp:243
-msgid ""
-"This machine was never completed. It may exhibit strange behavior or missing "
-"elements that are not bugs in the emulation.\n"
-msgstr ""
-"Cette machine n'a jamais été terminée. Il est possible qu'elle se comporte "
-"bizarrement ou que certains composants soient manquants. Cela ne constitue "
-"en aucun cas des bugs d'émulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1446
+#, c-format
+msgid "%1$s Gamma"
+msgstr "%1$s - Gamma"
-#: src/frontend/mame/ui/info.cpp:245
-msgid ""
-"This machine has no sound hardware, MAME will produce no sounds, this is "
-"expected behaviour.\n"
-msgstr ""
-"Cette machine n'a pas de dispositif sonore. Par conséquent, MAME ne produira "
-"aucun son. Il s'agit d'un comportement attendu.\n"
+#: src/frontend/mame/ui/ui.cpp:1450
+#, c-format
+msgid "%1$s Horiz Stretch"
+msgstr "%1$s - Stretch horizontal"
-#: src/frontend/mame/ui/info.cpp:249
-msgid ""
-"\n"
-"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
-"complete. There is nothing you can do to fix this problem except wait for "
-"the developers to improve the emulation.\n"
-msgstr ""
-"\n"
-"CETTE MACHINE NE FONCTIONNE PAS. L'émulation de cette machine n'est pas "
-"encore complète. Il n'y a rien que vous puissiez faire pour résoudre ce "
-"problème sauf attendre que les développeurs améliorent l'émulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1452
+#, c-format
+msgid "%1$s Horiz Position"
+msgstr "%1$s - Position horizontale"
-#: src/frontend/mame/ui/info.cpp:251
-msgid ""
-"\n"
-"Elements of this machine cannot be emulated as they requires physical "
-"interaction or consist of mechanical devices. It is not possible to fully "
-"experience this machine.\n"
-msgstr ""
-"\n"
-"Les éléments de cette machine ne peut être émulé comme ils exigent une "
-"interaction physique ou consiste de composantes mécanique. Il n'est pas "
-"possible d'avoir une pleine expérience de cette machine.\n"
+#: src/frontend/mame/ui/ui.cpp:1454
+#, c-format
+msgid "%1$s Vert Stretch"
+msgstr "%1$s - Stretch vertical"
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1456
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
-msgstr ""
-"\n"
-"\n"
-"Il y a des clones fonctionnel de cette machine : %s"
+msgid "%1$s Vert Position"
+msgstr "%1$s - Position verticale"
+
+#: src/frontend/mame/ui/ui.cpp:1475
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
+msgstr "'%1$s' Laserdisc - Stretch horizontal"
+
+#: src/frontend/mame/ui/ui.cpp:1477
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
+msgstr "'%1$s' Laserdisc - Position horizontale"
+
+#: src/frontend/mame/ui/ui.cpp:1479
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
+msgstr "'%1$s' Laserdisc - Stretch vertical"
+
+#: src/frontend/mame/ui/ui.cpp:1481
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
+msgstr "'%1$s' Laserdisc - Position verticale"
+
+#: src/frontend/mame/ui/ui.cpp:1493
+msgid "Vector Flicker"
+msgstr "Scintillement de l'affichage vectoriel"
+
+#: src/frontend/mame/ui/ui.cpp:1494
+msgid "Beam Width Minimum"
+msgstr "Largeur de rayon minimum"
+
+#: src/frontend/mame/ui/ui.cpp:1495
+msgid "Beam Width Maximum"
+msgstr "Largeur de rayon maximum"
+
+#: src/frontend/mame/ui/ui.cpp:1496
+msgid "Beam Intensity Weight"
+msgstr "Intensité du rayon"
+
+#: src/frontend/mame/ui/ui.cpp:1511
+#, c-format
+msgid "Crosshair Scale %1$s"
+msgstr "Viseur - Échelle %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "X"
+msgstr "X"
-#: src/frontend/mame/ui/info.cpp:286
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "Y"
+msgstr "Y"
+
+#: src/frontend/mame/ui/ui.cpp:1513
+#, c-format
+msgid "Crosshair Offset %1$s"
+msgstr "Viseur - Offset %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1601
+#, c-format
+msgid "%1$3ddB"
+msgstr "%1$3ddB"
+
+#: src/frontend/mame/ui/ui.cpp:1645
+#, c-format
+msgid "%1$d%%"
+msgstr "%1$d%%"
+
+#: src/frontend/mame/ui/ui.cpp:1661
+#, c-format
+msgid "%1$3.0f%%"
+msgstr "%1$3.0f%%"
+
+#: src/frontend/mame/ui/ui.cpp:1685
+#, c-format
+msgid "%1$.3ffps"
+msgstr "%1$.3ffps"
+
+#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
+#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
+#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
+#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
+#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
+#: src/frontend/mame/ui/ui.cpp:1927
+#, c-format
+msgid "%1$.3f"
+msgstr "%1$.3f"
+
+#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
+#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
+#, c-format
+msgid "%1$1.2f"
+msgstr "%1$1.2f"
+
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
+msgstr "Viseur - Échelle X %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
+msgstr "Viseur - Échelle Y %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
+msgstr "Viseur - Offset X %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
+msgstr "Viseur - Offset Y %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
+msgstr "**Erreur de sauvegarde du fichier ui.ini**"
+
+#: src/frontend/mame/ui/ui.cpp:2226
+#, c-format
+msgid "**Error saving %s.ini**"
+msgstr "**Erreur de sauvegarde du fichier %s.ini**"
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " COLORS"
+msgstr " COULEURS"
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " PENS"
+msgstr " MARQUEURS"
+
+#: src/frontend/mame/ui/devopt.cpp:39
+#, c-format
msgid ""
+"[This option is currently mounted in the running system]\n"
"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
"\n"
-"Press any key to continue"
+"The selected option enables the following items:\n"
msgstr ""
-"\n"
-"\n"
-"Appuyez sur une touche pour continuer"
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/devopt.cpp:40
#, c-format
msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
+"[This option is NOT currently mounted in the running system]\n"
"\n"
-"CPU:\n"
-msgstr ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver : %4$s\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
"\n"
-"Processeur(s) :\n"
+"If you select this option, the following items will be enabled:\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
-msgstr "MHz"
+#: src/frontend/mame/ui/devopt.cpp:48
+msgid "* CPU:\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
-msgstr "kHz"
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
+#, c-format
+msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
+msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
msgstr ""
-"\n"
-"Son :\n"
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %3$d.%4$06d MHz\n"
msgstr ""
-"\n"
-"Vidéo :\n"
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
-msgstr "Aucun\n"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %5$d.%6$03d kHz\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
-msgstr "Graphismes vectoriels"
+#: src/frontend/mame/ui/devopt.cpp:85
+msgid "* Video:\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:90
#, c-format
-msgid "%1$s: %2$s\n"
-msgstr "%1$s : %2$s\n"
-
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
-msgstr "%2$s\n"
+msgid " Screen '%1$s': Vector\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:99
#, c-format
-msgid "Screen '%1$s'"
-msgstr "Écran '%1$s'"
-
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr "Écran"
-
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
-msgstr "Non supporté"
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
-msgstr "Partiellement supporté"
+#: src/frontend/mame/ui/devopt.cpp:100
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
-msgstr "[vide]"
+#: src/frontend/mame/ui/devopt.cpp:113
+msgid "* Sound:\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
-msgstr "Panneaux de contrôle"
+#: src/frontend/mame/ui/devopt.cpp:133
+#, c-format
+msgid " %1$d×%2$s\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
-msgstr "Aperçu de l'illustration"
+#: src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
-msgstr "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:164
+#, c-format
+msgid ""
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
-msgstr "Ajouter ou supprimer des favoris"
+#: src/frontend/mame/ui/devopt.cpp:204 src/frontend/mame/ui/devopt.cpp:220
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " %1$s [default: %2$s]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
-msgstr "Exporter la liste affichée vers un fichier"
+#: src/frontend/mame/ui/devopt.cpp:209 src/frontend/mame/ui/devopt.cpp:225
+#, c-format
+msgid " %1$s\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
-msgstr "Afficher vue des fichiers DATs"
+#: src/frontend/mame/ui/devopt.cpp:230
+msgid "* DIP switch settings:\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
-msgstr "Sélection du logiciel :"
+#: src/frontend/mame/ui/devopt.cpp:232
+msgid "* Configuration settings:\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
-msgstr "Sélection BIOS :"
+#: src/frontend/mame/ui/devopt.cpp:234
+msgid "* Input device(s):\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
+#: src/frontend/mame/ui/devopt.cpp:236
#, c-format
-msgid "Software is clone of: %1$-.100s"
-msgstr "Ce logiciel est un clone de : %1$-.100s"
-
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
-msgstr "Ce logiciel est le parent"
-
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
-msgstr "Supporté : Non"
-
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
-msgstr "Supporté : Partiellement"
+msgid " User inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
-msgstr "Supporté : Oui"
+#: src/frontend/mame/ui/devopt.cpp:238
+#, c-format
+msgid " Mahjong inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
+#: src/frontend/mame/ui/devopt.cpp:240
#, c-format
-msgid "romset: %1$-.100s"
-msgstr "romset : %1$-.100s"
+msgid " Hanafuda inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
+#: src/frontend/mame/ui/devopt.cpp:242
#, c-format
-msgid "Driver is clone of: %1$-.100s"
-msgstr "Ce driver est un clone de : %1$-.100s"
+msgid " Gambling inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
-msgstr "Ce driver est le parent"
+#: src/frontend/mame/ui/devopt.cpp:244
+#, c-format
+msgid " Analog inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
+#: src/frontend/mame/ui/devopt.cpp:246
#, c-format
-msgid "%1$s %2$s"
-msgstr "%1$s %2$s"
+msgid " Adjuster inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
-msgstr "Images"
+#: src/frontend/mame/ui/devopt.cpp:248
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
-msgstr "Infos"
+#: src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
-msgstr "Utilisation"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* Media Options:\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
-msgstr "Informations générales"
+#: src/frontend/mame/ui/devopt.cpp:257
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
+msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
-msgstr "Interface utilisateur"
+#: src/frontend/mame/ui/devopt.cpp:263
+msgid "* Slot Options:\n"
+msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
-msgstr "Autres contrôles"
+#: src/frontend/mame/ui/devopt.cpp:270
+msgid "[None]\n"
+msgstr ""
#: plugins/timer/init.lua:94
msgid "Current time"
@@ -2745,51 +2664,51 @@ msgstr ""
msgid "Timer"
msgstr "Minuteur"
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:510
msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheat/init.lua:534
+#: plugins/cheat/init.lua:516
msgid "Press button for hotkey or wait to clear"
msgstr ""
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:528
msgid "None"
msgstr "Aucun"
-#: plugins/cheat/init.lua:551
+#: plugins/cheat/init.lua:533
msgid "Done"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:547 plugins/cheat/init.lua:561
msgid "Set"
msgstr ""
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:580
msgid "Set hotkeys"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:720
#, lua-format
msgid "Activated: %s = %s"
msgstr "Activé : %s = %s"
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:723 plugins/cheat/init.lua:781
#, lua-format
msgid "Activated: %s"
msgstr "Activé : %s"
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:785
#, lua-format
msgid "Enabled: %s"
msgstr "Acivée : %s"
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:790
#, lua-format
msgid "Disabled: %s"
msgstr "Désactivée : %s"
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "%s added"
msgstr "%s ajouté"
@@ -2842,316 +2761,222 @@ msgstr "Aperçu gameinit.dat"
msgid "MARPScore"
msgstr "MARPScore"
-#: plugins/cheatfind/init.lua:404
+#: plugins/cheatfind/init.lua:373
msgid "Save Cheat"
msgstr "Sauvegarde triche"
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Default"
msgstr "Par défaut"
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Custom"
msgstr ""
-#: plugins/cheatfind/init.lua:408
+#: plugins/cheatfind/init.lua:377
msgid "Cheat Name"
msgstr "Nom trichage"
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/cheatfind/init.lua:383 plugins/cheatfind/init.lua:748
#, lua-format
msgid "Default name is %s"
msgstr "Le nom par défaut est %s"
-#: plugins/cheatfind/init.lua:422
+#: plugins/cheatfind/init.lua:391
msgid "Player"
msgstr "Joueur"
-#: plugins/cheatfind/init.lua:427
+#: plugins/cheatfind/init.lua:396
msgid "Type"
msgstr ""
-#: plugins/cheatfind/init.lua:433
+#: plugins/cheatfind/init.lua:402
msgid "Save"
msgstr ""
-#: plugins/cheatfind/init.lua:462
+#: plugins/cheatfind/init.lua:429
#, lua-format
msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:472
+#: plugins/cheatfind/init.lua:437
msgid "Cheat added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:442
msgid ""
"Unable to write file\n"
"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/cheatfind/init.lua:486
+#: plugins/cheatfind/init.lua:451
msgid "Cancel"
msgstr "Annuler"
-#: plugins/cheatfind/init.lua:491
+#: plugins/cheatfind/init.lua:456
msgid "CPU or RAM"
msgstr "CPU ou RAM"
-#: plugins/cheatfind/init.lua:495
+#: plugins/cheatfind/init.lua:460
msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:479
+msgid "Data cleared and current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:551
+#: plugins/cheatfind/init.lua:487
msgid "Start new search"
msgstr "Démarre une nouvelle recherche"
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
+#: plugins/cheatfind/init.lua:497
+msgid "Current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:504
+msgid "Save current -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:614
+#: plugins/cheatfind/init.lua:536
#, lua-format
msgid "%d total matches found"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:543
+msgid "Compare"
+msgstr "Compare"
+
+#: plugins/cheatfind/init.lua:546
+msgid "Left operand"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:549
+msgid "Current"
+msgstr "Courrant"
+
+#: plugins/cheatfind/init.lua:554
+msgid "Operator"
+msgstr "Opérateur"
+
+#: plugins/cheatfind/init.lua:561
+msgid "Left less than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:563
+msgid "Left greater than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:676
+#: plugins/cheatfind/init.lua:565
msgid "Left equal to right"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:567
+msgid "Left not equal to right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:680
+#: plugins/cheatfind/init.lua:569
msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:682
+#: plugins/cheatfind/init.lua:571
msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:684
+#: plugins/cheatfind/init.lua:573
msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:686
+#: plugins/cheatfind/init.lua:575
msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:688
+#: plugins/cheatfind/init.lua:577
msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:690
+#: plugins/cheatfind/init.lua:579
msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:712
+#: plugins/cheatfind/init.lua:590
+msgid "Right operand"
+msgstr ""
+
+#: plugins/cheatfind/init.lua:598
msgid "Value"
msgstr "Valeur"
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:719
+#: plugins/cheatfind/init.lua:602
msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:725
+#: plugins/cheatfind/init.lua:608
msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:738
-msgid ""
-"Use this if you want to poke the Slot 1 value (eg. You started with "
-"something but lost it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:740
-msgid ""
-"Use this if you want to poke the Last Slot value (eg. You started without an "
-"item but finally got it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:816
+#: plugins/cheatfind/init.lua:632
msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:820
+#: plugins/cheatfind/init.lua:636
msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:823
+#: plugins/cheatfind/init.lua:639
msgid "All"
msgstr "Tout"
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheatfind/init.lua:690
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Test cheat at addr %08X"
msgstr ""
-#: plugins/cheatfind/init.lua:974
+#: plugins/cheatfind/init.lua:722
msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Test"
msgstr "Test"
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Write"
msgstr "Écrire"
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Watch"
msgstr "Surveiller"
-#: plugins/cheatfind/init.lua:1045
+#: plugins/cheatfind/init.lua:788
msgid "Page"
msgstr "Page"
-#: plugins/cheatfind/init.lua:1063
+#: plugins/cheatfind/init.lua:806
msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
+#: plugins/cheatfind/init.lua:816
msgid "Cheat Finder"
msgstr ""
-#: plugins/portname/init.lua:103
+#: plugins/portname/init.lua:69
msgid "Save input names to file"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
+#: plugins/portname/init.lua:100 plugins/portname/init.lua:105
+#: plugins/portname/init.lua:121
msgid "Failed to save input name file"
msgstr ""
-#: plugins/portname/init.lua:167
+#: plugins/portname/init.lua:133
#, lua-format
msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/portname/init.lua:172
+#: plugins/portname/init.lua:138
msgid "Input ports"
msgstr ""
-#~ msgid "Compare"
-#~ msgstr "Compare"
-
-#~ msgid "Current"
-#~ msgstr "Courrant"
-
-#~ msgid "Operator"
-#~ msgstr "Opérateur"
-
#~ msgid "Default name is "
#~ msgstr "Nom par défaut est "
diff --git a/language/French_Belgium/strings.po b/language/French_Belgium/strings.po
index 65353b2916d..a2903b96eff 100644
--- a/language/French_Belgium/strings.po
+++ b/language/French_Belgium/strings.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MAME\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-03-17 13:37+1100\n"
+"POT-Creation-Date: 2018-04-28 15:32+1000\n"
"PO-Revision-Date: 2016-05-24 23:42+0200\n"
"Last-Translator: Mevi <mevi.mame@gmail.com>\n"
"Language-Team: MAME Language Team\n"
@@ -17,61 +17,236 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
+#: src/frontend/mame/ui/auditmenu.cpp:96
#, c-format
-msgid "Screen #%d"
-msgstr "Écran #%d"
+msgid "Audit ROMs for %1$u machines marked unavailable?"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr "Rotation"
+#: src/frontend/mame/ui/auditmenu.cpp:99
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr "Backdrops / Fonds"
+#: src/frontend/mame/ui/auditmenu.cpp:104
+#, c-format
+msgid "(results will be saved to %1$s)"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Enabled"
-msgstr "Activé"
+#: src/frontend/mame/ui/auditmenu.cpp:130
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Disabled"
-msgstr "Désactivé"
+#: src/frontend/mame/ui/auditmenu.cpp:142
+msgid "Start Audit"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr "Overlays / Calques"
+#: src/frontend/mame/ui/selmenu.cpp:49 src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Snapshots"
+msgstr "Snapshots / Captures d'écran"
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr "Bezels / Cadres"
+#: src/frontend/mame/ui/selmenu.cpp:50 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cabinets"
+msgstr "Cabinets / Bornes"
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
-msgstr "CPanels / Commandes"
+#: src/frontend/mame/ui/selmenu.cpp:51
+msgid "Control Panels"
+msgstr "Control Panels / Commandes"
+
+#: src/frontend/mame/ui/selmenu.cpp:52 src/frontend/mame/ui/dirmenu.cpp:50
+msgid "PCBs"
+msgstr "PCBs / Circuits imprimés"
+
+#: src/frontend/mame/ui/selmenu.cpp:53 src/frontend/mame/ui/dirmenu.cpp:47
+msgid "Flyers"
+msgstr "Flyers / Prospectus"
+
+#: src/frontend/mame/ui/selmenu.cpp:54 src/frontend/mame/ui/dirmenu.cpp:48
+msgid "Titles"
+msgstr "Titles / Écrans-titre"
+
+#: src/frontend/mame/ui/selmenu.cpp:55 src/frontend/mame/ui/dirmenu.cpp:49
+msgid "Ends"
+msgstr "Ends / Fins de jeu"
+
+#: src/frontend/mame/ui/selmenu.cpp:56
+msgid "Artwork Preview"
+msgstr "Aperçu de l'artwork"
+
+#: src/frontend/mame/ui/selmenu.cpp:57 src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Bosses"
+msgstr "Bosses / Ennemis et adversaires"
+
+#: src/frontend/mame/ui/selmenu.cpp:58 src/frontend/mame/ui/dirmenu.cpp:60
+msgid "Logos"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:59 src/frontend/mame/ui/dirmenu.cpp:62
+msgid "Versus"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:60
+msgid "Game Over"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
+#: src/frontend/mame/ui/selmenu.cpp:61 src/frontend/mame/ui/dirmenu.cpp:59
+msgid "HowTo"
+msgstr "HowTo / Comment faire"
+
+#: src/frontend/mame/ui/selmenu.cpp:62 src/frontend/mame/ui/dirmenu.cpp:61
+msgid "Scores"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:63 src/frontend/mame/ui/dirmenu.cpp:57
+msgid "Select"
+msgstr "Select / Écrans de sélection"
+
+#: src/frontend/mame/ui/selmenu.cpp:64 src/frontend/mame/ui/dirmenu.cpp:51
+#: src/frontend/mame/ui/videoopt.cpp:224
msgid "Marquees"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
-msgstr "Vue"
+#: src/frontend/mame/ui/selmenu.cpp:65 src/frontend/mame/ui/dirmenu.cpp:63
+msgid "Covers"
+msgstr "Covers / Boîtiers et emballages"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
-msgstr "Tronquée"
+#: src/frontend/mame/ui/selmenu.cpp:69
+msgid "Add or remove favorites"
+msgstr "Ajouter ou supprimer des favoris"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
-msgstr "Complète"
+#: src/frontend/mame/ui/selmenu.cpp:70
+msgid "Export displayed list to file"
+msgstr "Exporter la liste affichée vers un fichier"
+
+#: src/frontend/mame/ui/selmenu.cpp:71
+msgid "Show DATs view"
+msgstr "Afficher vue des fichiers DATs"
+
+#: src/frontend/mame/ui/selmenu.cpp:237
+msgid "Software part selection:"
+msgstr "Sélection du logiciel :"
+
+#: src/frontend/mame/ui/selmenu.cpp:343
+msgid "BIOS selection:"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:570 src/frontend/mame/ui/selmenu.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:311
+#, c-format
+msgid "%1$s, %2$-.100s"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:574
+#, c-format
+msgid "Software is clone of: %1$-.100s"
+msgstr "Ce logiciel est un clone de : %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:576
+msgid "Software is parent"
+msgstr "Ce logiciel est le parent"
+
+#: src/frontend/mame/ui/selmenu.cpp:581
+msgid "Supported: No"
+msgstr "Supporté : Non"
+
+#: src/frontend/mame/ui/selmenu.cpp:586
+msgid "Supported: Partial"
+msgstr "Supporté : Partiellement"
+
+#: src/frontend/mame/ui/selmenu.cpp:591
+msgid "Supported: Yes"
+msgstr "Supporté : Oui"
+
+#: src/frontend/mame/ui/selmenu.cpp:596
+#, c-format
+msgid "romset: %1$-.100s"
+msgstr "romset : %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:612
+#, c-format
+msgid "Driver is clone of: %1$-.100s"
+msgstr "Ce driver est un clone de : %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:614
+msgid "Driver is parent"
+msgstr "Ce driver est le parent"
+
+#: src/frontend/mame/ui/selmenu.cpp:619
+#: src/frontend/mame/ui/simpleselgame.cpp:330
+msgid "Overall: NOT WORKING"
+msgstr "En résumé : NE FONCTIONNE PAS"
+
+#: src/frontend/mame/ui/selmenu.cpp:621
+#: src/frontend/mame/ui/simpleselgame.cpp:332
+msgid "Overall: Unemulated Protection"
+msgstr "En résumé : Protection non émulée"
+
+#: src/frontend/mame/ui/selmenu.cpp:623
+#: src/frontend/mame/ui/simpleselgame.cpp:334
+msgid "Overall: Working"
+msgstr "En résumé : Fonctionne correctement"
+
+#: src/frontend/mame/ui/selmenu.cpp:627
+#: src/frontend/mame/ui/simpleselgame.cpp:338
+msgid "Graphics: Unimplemented, "
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:629
+#: src/frontend/mame/ui/simpleselgame.cpp:340
+msgid "Graphics: Imperfect, "
+msgstr "Graphismes : Imparfaits, "
+
+#: src/frontend/mame/ui/selmenu.cpp:631
+#: src/frontend/mame/ui/simpleselgame.cpp:342
+msgid "Graphics: OK, "
+msgstr "Graphismes : OK, "
+
+#: src/frontend/mame/ui/selmenu.cpp:634
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+msgid "Sound: None"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:636
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+msgid "Sound: Unimplemented"
+msgstr "Son : Non implémenté"
+
+#: src/frontend/mame/ui/selmenu.cpp:638
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+msgid "Sound: Imperfect"
+msgstr "Son : Imparfait"
+
+#: src/frontend/mame/ui/selmenu.cpp:640
+#: src/frontend/mame/ui/simpleselgame.cpp:351
+msgid "Sound: OK"
+msgstr "Son : OK"
+
+#: src/frontend/mame/ui/selmenu.cpp:650
+#, c-format
+msgid "%1$s %2$s"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:1975
+msgid "Images"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:1976
+msgid "Infos"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:2386 src/frontend/mame/ui/miscmenu.cpp:826
+msgid " (default)"
+msgstr " (par défaut)"
+
+#: src/frontend/mame/ui/selmenu.cpp:2454
+msgid "Usage"
+msgstr "Utilisation"
+
+#: src/frontend/mame/ui/selmenu.cpp:2489
+msgid "General Info"
+msgstr "Informations générales"
#: src/frontend/mame/ui/dirmenu.cpp:35
msgid "ROMs"
@@ -113,30 +288,6 @@ msgstr "Icônes"
msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
-msgstr "Snapshots / Captures d'écran"
-
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
-msgstr "Cabinets / Bornes"
-
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
-msgstr "Flyers / Prospectus"
-
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
-msgstr "Titles / Écrans-titre"
-
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
-msgstr "Ends / Fins de jeu"
-
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
-msgstr "PCBs / Circuits imprimés"
-
#: src/frontend/mame/ui/dirmenu.cpp:52
msgid "Controls Panels"
msgstr "Control Panels / Panneaux de contrôle"
@@ -149,42 +300,14 @@ msgstr "Crosshairs / Viseurs"
msgid "Artworks"
msgstr "Artworks / Illustrations"
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
-msgstr "Bosses / Ennemis et adversaires"
-
#: src/frontend/mame/ui/dirmenu.cpp:56
msgid "Artworks Preview"
msgstr "Artworks Preview / Aperçu des illustrations"
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
-msgstr "Select / Écrans de sélection"
-
#: src/frontend/mame/ui/dirmenu.cpp:58
msgid "GameOver"
msgstr "GameOver / Écrans GAME OVER)"
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
-msgstr "HowTo / Comment faire"
-
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
-msgstr ""
-
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
-msgstr ""
-
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
-msgstr ""
-
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
-msgstr "Covers / Boîtiers et emballages"
-
#: src/frontend/mame/ui/dirmenu.cpp:116
msgid "Folders Setup"
msgstr "Configuration des dossiers"
@@ -225,14 +348,272 @@ msgstr "Appuyez sur TAB pour définir"
msgid "Remove %1$s Folder"
msgstr "Supprimer le dossier %1$s"
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
-msgstr "Liste de sélection - Recherche : "
+#: src/frontend/mame/ui/info.cpp:30
+msgid "protection"
+msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
+#: src/frontend/mame/ui/info.cpp:31
+msgid "color palette"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:32
+msgid "graphics"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:33
+msgid "sound"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:34
+msgid "controls"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:35
+msgid "keyboard"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:36
+msgid "mouse"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:37
+msgid "microphone"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:38
+msgid "camera"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:39
+msgid "disk"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:40
+msgid "printer"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:41
+msgid "LAN"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:42
+msgid "WAN"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:43
+msgid "timing"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:180
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
+msgstr ""
+"Un ou plusieurs fichiers ROMs ou d'images CHD nécessaires à l'utilisation de "
+"cette machine sont incorrects. Il est possible qu'elle ne fonctionne pas "
+"correctement.\n"
+
+#: src/frontend/mame/ui/info.cpp:190
+msgid ""
+"There are known problems with this machine\n"
+"\n"
+msgstr ""
+"On rencontre les problèmes suivants avec cette machine :\n"
+"\n"
+
+#: src/frontend/mame/ui/info.cpp:195
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+msgstr ""
+"Un ou plusieurs fichiers ROMs/CHDs nécessaires à l'utilisation de cette "
+"machine n'ont pas été dumpés correctement.\n"
+
+#: src/frontend/mame/ui/info.cpp:200
+msgid "Completely unemulated features: "
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
#, c-format
-msgid "Double click or press %1$s to select"
-msgstr "Double-cliquez ou appuyez sur %1$s pour sélectionner"
+msgid "%s"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#: src/frontend/mame/ui/info.cpp:267
+#, c-format
+msgid ", %s"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:216
+msgid "Imperfectly emulated features: "
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:231
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr "Le retournement de l'écran en mode cocktail n'est pas supporté.\n"
+
+#: src/frontend/mame/ui/info.cpp:233
+msgid "This machine requires external artwork files.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:235
+msgid ""
+"This machine was never completed. It may exhibit strange behavior or missing "
+"elements that are not bugs in the emulation.\n"
+msgstr ""
+"Cette machine n'a jamais été terminée. Il est possible qu'elle se comporte "
+"bizarrement ou que certains composants soient manquants. Cela ne constitue "
+"en aucun cas des bugs d'émulation.\n"
+
+#: src/frontend/mame/ui/info.cpp:237
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
+msgstr ""
+"Cette machine n'a pas de dispositif sonore. Par conséquent, MAME ne produira "
+"aucun son. Il s'agit d'un comportement attendu.\n"
+
+#: src/frontend/mame/ui/info.cpp:241
+msgid ""
+"\n"
+"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
+"complete. There is nothing you can do to fix this problem except wait for "
+"the developers to improve the emulation.\n"
+msgstr ""
+"\n"
+"CETTE MACHINE NE FONCTIONNE PAS. L'émulation de cette machine n'est pas "
+"encore complète. Il n'y a rien que vous puissiez faire pour résoudre ce "
+"problème sauf attendre que les développeurs améliorent l'émulation.\n"
+
+#: src/frontend/mame/ui/info.cpp:243
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they requires physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:265
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:278
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+"\n"
+"\n"
+"Appuyez sur une touche pour continuer"
+
+#: src/frontend/mame/ui/info.cpp:293
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
+msgstr ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver : %4$s\n"
+"\n"
+"Processeur(s) :\n"
+
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "MHz"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "kHz"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:342
+msgid ""
+"\n"
+"Sound:\n"
+msgstr ""
+"\n"
+"Son :\n"
+
+#: src/frontend/mame/ui/info.cpp:370
+msgid ""
+"\n"
+"Video:\n"
+msgstr ""
+"\n"
+"Vidéo :\n"
+
+#: src/frontend/mame/ui/info.cpp:374
+msgid "None\n"
+msgstr "Aucun\n"
+
+#: src/frontend/mame/ui/info.cpp:381
+msgid "Vector"
+msgstr "Graphismes vectoriels"
+
+#: src/frontend/mame/ui/info.cpp:392
+#, c-format
+msgid "%1$s: %2$s\n"
+msgstr "%1$s : %2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:392
+msgid "%2$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:438
+#, c-format
+msgid "Screen '%1$s'"
+msgstr "Écran '%1$s'"
+
+#: src/frontend/mame/ui/info.cpp:440
+msgid "Screen"
+msgstr "Écran"
+
+#: src/frontend/mame/ui/info.cpp:525
+msgid "Not supported"
+msgstr "Non supporté"
+
+#: src/frontend/mame/ui/info.cpp:528
+msgid "Partially supported"
+msgstr "Partiellement supporté"
+
+#: src/frontend/mame/ui/info.cpp:536
+msgid "[empty]"
+msgstr "[vide]"
+
+#: src/frontend/mame/ui/optsmenu.cpp:193
+msgid "Filter"
+msgstr "Filtre"
+
+#: src/frontend/mame/ui/optsmenu.cpp:206
+msgid "Customize UI"
+msgstr "Personnaliser l'interface"
+
+#: src/frontend/mame/ui/optsmenu.cpp:207
+msgid "Configure Directories"
+msgstr "Configurer les dossiers"
+
+#: src/frontend/mame/ui/optsmenu.cpp:210 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
+msgstr "Options du son"
+
+#: src/frontend/mame/ui/optsmenu.cpp:213
+msgid "General Inputs"
+msgstr "Périphériques d'entrée généraux"
+
+#: src/frontend/mame/ui/optsmenu.cpp:216
+msgid "Save Configuration"
+msgstr "Sauvegarder la configuration"
+
+#: src/frontend/mame/ui/optsmenu.cpp:228
+msgid "Settings"
+msgstr "Paramètres"
#: src/frontend/mame/ui/tapectrl.cpp:85
msgid "stopped"
@@ -274,8 +655,30 @@ msgstr "Rembobiner"
msgid "Fast Forward"
msgstr "Avance rapide"
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
-#: src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/inputmap.cpp:53
+msgid "User Interface"
+msgstr "Interface utilisateur"
+
+#: src/frontend/mame/ui/inputmap.cpp:59
+msgid "Other Controls"
+msgstr "Autres contrôles"
+
+#: src/frontend/mame/ui/inputmap.cpp:628 src/frontend/mame/ui/miscmenu.cpp:96
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr "Réinitialiser"
+
+#: src/frontend/mame/ui/selector.cpp:116
+msgid "Selection List - Search: "
+msgstr "Liste de sélection - Recherche : "
+
+#: src/frontend/mame/ui/selector.cpp:124
+#, c-format
+msgid "Double click or press %1$s to select"
+msgstr "Double-cliquez ou appuyez sur %1$s pour sélectionner"
+
+#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/filesel.cpp:256
msgid "[empty slot]"
msgstr "[emplacement vide]"
@@ -317,182 +720,6 @@ msgstr "Utilisation du logiciel"
msgid "Revision: "
msgstr "Révision : "
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
-msgstr "Ce fichier existe déjà - Écraser ?"
-
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
-msgstr "Non"
-
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
-msgstr "Oui"
-
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
-msgstr "Nouveau nom de l'image :"
-
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
-msgstr "Format de l'image :"
-
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
-msgstr "Créer"
-
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
-msgstr "Veuillez entrer également l'extension du fichier"
-
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
-msgstr "Sélectionner le format de l'image"
-
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
-msgstr "Périphériques d'entrée (généraux)"
-
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
-msgstr "Périphériques d'entrée (cette machine)"
-
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
-msgstr "Contrôles analogiques"
-
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
-msgstr "DIP Switch"
-
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
-msgstr "Configuration de la machine"
-
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
-msgstr "Infos statistiques"
-
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
-msgstr "Informations sur la machine"
-
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
-msgstr "Informations sur l'image"
-
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
-msgstr "Gestionnaire de fichiers"
-
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
-msgstr "Contrôle de la cassette"
-
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
-msgstr ""
-
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
-msgstr ""
-
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
-msgstr "Slot Devices / Périphériques d'emplacement"
-
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
-msgstr "Lecteur de code-barres"
-
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
-msgstr "Périphériques réseau"
-
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
-msgstr "Mode clavier"
-
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
-msgstr "Contrôles du curseur"
-
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
-msgstr "Options vidéo"
-
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
-msgstr "Options du viseur"
-
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
-msgstr ""
-
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
-msgstr "Plugin / Options du module d'extension"
-
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
-msgstr "Visualiser un DAT externe"
-
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
-msgstr "Ajouter aux favoris"
-
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
-msgstr "Supprimer des favoris"
-
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
-msgstr "Sélectionner une nouvelle machine"
-
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
-msgstr "Nouveau code-barres :"
-
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
-msgstr "Entrez un code"
-
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
-msgstr "Longueur du code-barres non valide !"
-
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
-msgstr "[échoué]"
-
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
-msgstr "Options du son"
-
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
-msgstr "Périphériques d'entrée généraux"
-
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
-msgstr "Sauvegarder la configuration"
-
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
-msgstr "Paramètres"
-
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
-msgstr "Filtre"
-
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
-msgstr "Personnaliser l'interface"
-
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
-msgstr "Configurer les dossiers"
-
#: src/frontend/mame/ui/simpleselgame.cpp:149
msgid ""
"The selected game is missing one or more required ROM or CHD images. Please "
@@ -501,7 +728,7 @@ msgid ""
"Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:247
+#: src/frontend/mame/ui/simpleselgame.cpp:241
#, c-format
msgid ""
"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
@@ -516,329 +743,199 @@ msgstr ""
"config.txt dans le répertoire docs pour obtenir de plus amples informations "
"sur la configuration de %2$s."
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:271
+#: src/frontend/mame/ui/selgame.cpp:436
msgid "Configure Options"
msgstr "Configurer les options"
-#: src/frontend/mame/ui/simpleselgame.cpp:298
+#: src/frontend/mame/ui/simpleselgame.cpp:292
#, c-format
msgid "Type name or select: %1$s_"
msgstr "Entrez un nom ou sélectionnez : %1$s_"
-#: src/frontend/mame/ui/simpleselgame.cpp:300
+#: src/frontend/mame/ui/simpleselgame.cpp:294
msgid "Type name or select: (random)"
msgstr "Entrez un nom ou sélectionnez : (au hasard)"
-#: src/frontend/mame/ui/simpleselgame.cpp:314
-#: src/frontend/mame/ui/selsoft.cpp:652 src/frontend/mame/ui/selsoft.cpp:659
+#: src/frontend/mame/ui/simpleselgame.cpp:308
+#: src/frontend/mame/ui/selsoft.cpp:564 src/frontend/mame/ui/selsoft.cpp:571
#, c-format
msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:317
-#: src/frontend/mame/ui/selmenu.cpp:618 src/frontend/mame/ui/selmenu.cpp:654
-#, c-format
-msgid "%1$s, %2$-.100s"
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:320
+#: src/frontend/mame/ui/simpleselgame.cpp:314
#, c-format
msgid "Driver: %1$-.100s"
msgstr "Driver : %1$-.100s"
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
-msgstr "En résumé : NE FONCTIONNE PAS"
+#: src/frontend/mame/ui/videoopt.cpp:56
+#, c-format
+msgid "Screen #%d"
+msgstr "Écran #%d"
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
-msgstr "En résumé : Protection non émulée"
+#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
+msgid "Rotate"
+msgstr "Rotation"
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
-msgstr "En résumé : Fonctionne correctement"
+#: src/frontend/mame/ui/videoopt.cpp:208
+msgid "Backdrops"
+msgstr "Backdrops / Fonds"
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
-msgstr ""
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Enabled"
+msgstr "Activé"
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
-msgstr "Graphismes : Imparfaits, "
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Disabled"
+msgstr "Désactivé"
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
-msgstr "Graphismes : OK, "
+#: src/frontend/mame/ui/videoopt.cpp:212
+msgid "Overlays"
+msgstr "Overlays / Calques"
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
-msgstr ""
+#: src/frontend/mame/ui/videoopt.cpp:216
+msgid "Bezels"
+msgstr "Bezels / Cadres"
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
-msgstr "Son : Non implémenté"
+#: src/frontend/mame/ui/videoopt.cpp:220
+msgid "CPanels"
+msgstr "CPanels / Commandes"
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
-msgstr "Son : Imparfait"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "View"
+msgstr "Vue"
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
-msgstr "Son : OK"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cropped"
+msgstr "Tronquée"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
-msgstr ""
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Full"
+msgstr "Complète"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
-msgstr "Charger depuis la position"
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
+msgstr "Ce fichier existe déjà - Écraser ?"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
-msgstr ""
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1047
+msgid "No"
+msgstr "Non"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
-msgstr "Sauvegarder à la position"
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1047
+msgid "Yes"
+msgstr "Oui"
-#: src/frontend/mame/ui/ui.cpp:337
-msgid "This driver requires images to be loaded in the following device(s): "
-msgstr ""
-"Ce driver nécessite le chargement d'images dans le(s) périphérique(s) "
-"suivant(s) : "
+#: src/frontend/mame/ui/filecreate.cpp:171
+msgid "New Image Name:"
+msgstr "Nouveau nom de l'image :"
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
-msgstr "Statut de l'émulation du clavier"
+#: src/frontend/mame/ui/filecreate.cpp:177
+msgid "Image Format:"
+msgstr "Format de l'image :"
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
-msgstr "Mode : Émulation PARTIELLE"
+#: src/frontend/mame/ui/filecreate.cpp:183
+msgid "Create"
+msgstr "Créer"
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
-msgstr "Interface : Activée"
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr "Veuillez entrer également l'extension du fichier"
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
-msgstr "**Utiliser <ScrLock> pour basculer**"
+#: src/frontend/mame/ui/filecreate.cpp:266
+msgid "Select image format"
+msgstr "Sélectionner le format de l'image"
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
-msgstr "Mode : Émulation COMPLÈTE"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Keyboard Mode:"
+msgstr "Mode clavier :"
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
-msgstr "Interface : désactivée"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Natural"
+msgstr "Naturel"
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
-msgstr "Le tir automatique ne peut pas être activé"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Emulated"
+msgstr "Émulé"
-#: src/frontend/mame/ui/ui.cpp:1302
+#: src/frontend/mame/ui/miscmenu.cpp:236
#, c-format
msgid ""
-"Are you sure you want to quit?\n"
+"Uptime: %1$d:%2$02d:%3$02d\n"
"\n"
-"Press ''%1$s'' to quit,\n"
-"Press ''%2$s'' to return to emulation."
msgstr ""
-"Êtes-vous certain de vouloir quitter ?\n"
+"Temps écoulé : %1$d:%2$02d:%3$02d\n"
"\n"
-"Appuyez sur ''%1$s'' pour quitter,\n"
-"Appuyez sur ''%2$s'' pour retourner à l'émulation."
-
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
-msgstr "Volume principal"
-
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
-msgstr "Volume %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
-msgstr "Overclock du processeur %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
-msgstr "%1$s - Taux de rafraîchissement"
-
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
-msgstr "%1$s - Luminosité"
-
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
-msgstr "%1$s - Contraste"
-
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
-msgstr "%1$s - Gamma"
-
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
-msgstr "%1$s - Stretch horizontal"
-
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
-msgstr "%1$s - Position horizontale"
-
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
-msgstr "%1$s - Stretch vertical"
-
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
-msgstr "%1$s - Position verticale"
-
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
-msgstr "'%1$s' Laserdisc - Stretch horizontal"
-
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
-msgstr "'%1$s' Laserdisc - Position horizontale"
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
-msgstr "'%1$s' Laserdisc - Stretch vertical"
-
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr "'%1$s' Laserdisc - Position verticale"
-
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
-msgstr "Scintillement de l'affichage vectoriel"
-
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
-msgstr "Largeur de rayon minimum"
-
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
-msgstr "Largeur de rayon maximum"
-
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
-msgstr "Intensité du rayon"
-
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr "Viseur - Échelle %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1513
+#: src/frontend/mame/ui/miscmenu.cpp:238
#, c-format
-msgid "Crosshair Offset %1$s"
-msgstr "Viseur - Offset %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
+"Temps écoulé : %1$d:%2$02d\n"
+"\n"
-#: src/frontend/mame/ui/ui.cpp:1645
+#: src/frontend/mame/ui/miscmenu.cpp:242
#, c-format
-msgid "%1$d%%"
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
msgstr ""
+"Tickets distribués : %1$d\n"
+"\n"
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:253
+msgid "Coin %1$c: NA%3$s\n"
+msgstr "Monnayeur %1$c : ND%3$s\n"
-#: src/frontend/mame/ui/ui.cpp:1685
+#: src/frontend/mame/ui/miscmenu.cpp:253
#, c-format
-msgid "%1$.3ffps"
-msgstr ""
+msgid "Coin %1$c: %2$d%3$s\n"
+msgstr "Monnayeur %1$c : %2$d%3$s\n"
-#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
-#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
-#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
-#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
-#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
-#: src/frontend/mame/ui/ui.cpp:1927
-#, c-format
-msgid "%1$.3f"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:256
+msgid " (locked)"
+msgstr " (verrouillé)"
-#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
-#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
-#, c-format
-msgid "%1$1.2f"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:503
+msgid "Visible Delay"
+msgstr "Attente visible"
-#: src/frontend/mame/ui/ui.cpp:2005
+#: src/frontend/mame/ui/miscmenu.cpp:601
#, c-format
-msgid "Crosshair Scale X %1$1.3f"
-msgstr "Viseur - Échelle X %1$1.3f"
+msgid "%s.xml saved under ui folder."
+msgstr "%s.xml sauvegardé dans le dossier ui."
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
-msgstr "Viseur - Échelle Y %1$1.3f"
+#: src/frontend/mame/ui/miscmenu.cpp:627
+msgid "Name: Description:\n"
+msgstr "Nom : Description :\n"
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/miscmenu.cpp:638
#, c-format
-msgid "Crosshair Offset X %1$1.3f"
-msgstr "Viseur - Offset X %1$1.3f"
+msgid "%s.txt saved under ui folder."
+msgstr "%s.txt sauvegardé dans le dossier ui."
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
-msgstr "Viseur - Offset Y %1$1.3f"
+#: src/frontend/mame/ui/miscmenu.cpp:655
+msgid "Export list in XML format (like -listxml)"
+msgstr "Exporter la liste au format XML (comme -listxml)"
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
-msgstr "**Erreur de sauvegarde du fichier ui.ini**"
+#: src/frontend/mame/ui/miscmenu.cpp:656
+msgid "Export list in XML format (like -listxml, but exclude devices)"
+msgstr ""
+"Exporter la liste au format XML (comme -listxml, mais en excluant les "
+"périphériques)"
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
-msgstr "**Erreur de sauvegarde du fichier %s.ini**"
+#: src/frontend/mame/ui/miscmenu.cpp:657
+msgid "Export list in TXT format (like -listfull)"
+msgstr "Exporter la liste au format TXT (comme -listfull)"
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/miscmenu.cpp:710 src/frontend/mame/ui/ui.cpp:2230
msgid ""
"\n"
" Configuration saved \n"
@@ -848,336 +945,160 @@ msgstr ""
" Configuration sauvegardée \n"
"\n"
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
-msgid ""
-"Cheat Comment:\n"
-"%s"
-msgstr ""
-"Commentaire du cheat :\n"
-"%s"
-
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
-msgstr "Tous les cheats ont été rechargés"
-
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
-msgstr "Paramètres du tir automatique"
-
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
-msgstr "Tout réinitialiser"
-
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
-msgstr "Tout recharger"
-
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
-msgstr "Statut du tir automatique"
-
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
-msgstr "Aucun bouton trouvé sur cette machine !"
-
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
-msgstr "Attente du tir automatique"
-
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
-#, c-format
-msgid ""
-"%s\n"
-" added to favorites list."
-msgstr ""
-"%s\n"
-" ajouté à la liste des favoris."
-
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
-#, c-format
-msgid ""
-"%s\n"
-" removed from favorites list."
-msgstr ""
-"%s\n"
-" supprimé de la liste des favoris."
-
-#: src/frontend/mame/ui/selsoft.cpp:507
-msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
-"\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
-msgstr ""
-
-#: src/frontend/mame/ui/selsoft.cpp:637
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
-msgstr "%1$s %2$s ( %3$d / %4$d packages logiciels )"
-
-#: src/frontend/mame/ui/selsoft.cpp:638
-#, c-format
-msgid "Driver: \"%1$s\" software list "
-msgstr "Liste de logiciels pour le driver : \"%1$s\" "
-
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
-#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
-msgstr ""
-
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
-#, c-format
-msgid "Search: %1$s_"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
-msgid "Unfiltered"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
-msgid "Available"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
-msgid "Unavailable"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:63
-msgid "Working"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:64
-msgid "Not Working"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:65
-msgid "Mechanical"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:66
-msgid "Not Mechanical"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:67
-msgid "Category"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
-msgid "Favorites"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/miscmenu.cpp:760 src/frontend/mame/ui/utils.cpp:66
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
-msgid "Not BIOS"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
-msgid "Parents"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
-msgid "Clones"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:73
-msgid "Manufacturer"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
-msgid "Year"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:75
-msgid "Save Supported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:76
-msgid "Save Unsupported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:77
-msgid "CHD Required"
+#: src/frontend/mame/ui/miscmenu.cpp:764
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:78
-msgid "No CHD Required"
+#: src/frontend/mame/ui/miscmenu.cpp:767
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:79
-msgid "Vertical Screen"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:776 src/frontend/mame/ui/mainmenu.cpp:145
+msgid "Add To Favorites"
+msgstr "Ajouter aux favoris"
-#: src/frontend/mame/ui/utils.cpp:80
-msgid "Horizontal Screen"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:778 src/frontend/mame/ui/mainmenu.cpp:147
+msgid "Remove From Favorites"
+msgstr "Supprimer des favoris"
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
-msgid "Custom Filter"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:781
+msgid "Save machine configuration"
+msgstr "Sauvegarder la configuration de la machine"
-#: src/frontend/mame/ui/utils.cpp:91
-msgid "Publisher"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:792
+msgid "Configure machine:"
+msgstr "Configurer la machine :"
-#: src/frontend/mame/ui/utils.cpp:92
-msgid "Supported"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:736
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:551 plugins/cheatfind/init.lua:619
+msgid "On"
+msgstr "Actif"
-#: src/frontend/mame/ui/utils.cpp:93
-msgid "Partially Supported"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:739
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:554 plugins/cheat/init.lua:563
+#: plugins/cheatfind/init.lua:616
+msgid "Off"
+msgstr "Inactif"
-#: src/frontend/mame/ui/utils.cpp:94
-msgid "Unsupported"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:909 src/frontend/mame/ui/selgame.cpp:441
+msgid "Plugins"
+msgstr "Plugins / Modules d'extension"
-#: src/frontend/mame/ui/utils.cpp:95
-msgid "Release Region"
-msgstr ""
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
+msgstr "Nouveau code-barres :"
-#: src/frontend/mame/ui/utils.cpp:96
-msgid "Device Type"
-msgstr ""
+#: src/frontend/mame/ui/barcode.cpp:78
+msgid "Enter Code"
+msgstr "Entrez un code"
-#: src/frontend/mame/ui/utils.cpp:97
-msgid "Software List"
-msgstr ""
+#: src/frontend/mame/ui/barcode.cpp:119
+msgid "Barcode length invalid!"
+msgstr "Longueur du code-barres non valide !"
-#: src/frontend/mame/ui/utils.cpp:248
-msgid "<set up filters>"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:99
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
-msgid "Select custom filters:"
-msgstr "Sélectionner les filtres personnalisés :"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
+msgstr "[échoué]"
-#: src/frontend/mame/ui/utils.cpp:507
-#, c-format
-msgid "Filter %1$u"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:60
+msgid "Input (general)"
+msgstr "Périphériques d'entrée (généraux)"
-#: src/frontend/mame/ui/utils.cpp:522
-msgid "Remove last filter"
-msgstr "Supprimer le dernier filtre"
+#: src/frontend/mame/ui/mainmenu.cpp:62
+msgid "Input (this Machine)"
+msgstr "Périphériques d'entrée (cette machine)"
-#: src/frontend/mame/ui/utils.cpp:524
-msgid "Add filter"
-msgstr "Ajouter un filtre"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Analog Controls"
+msgstr "Contrôles analogiques"
-#: src/frontend/mame/ui/utils.cpp:966
-msgid "Select category:"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:68
+msgid "Dip Switches"
+msgstr "DIP Switch"
-#: src/frontend/mame/ui/utils.cpp:997
-msgid "[no category INI files]"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "Machine Configuration"
+msgstr "Configuration de la machine"
-#: src/frontend/mame/ui/utils.cpp:1005
-msgid "[no groups in INI file]"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
+msgstr "Infos statistiques"
-#: src/frontend/mame/ui/utils.cpp:1039
-msgid "No category INI files found"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:78
+msgid "Machine Information"
+msgstr "Informations sur la machine"
-#: src/frontend/mame/ui/utils.cpp:1044
-msgid "File"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:85
+msgid "Image Information"
+msgstr "Informations sur l'image"
-#: src/frontend/mame/ui/utils.cpp:1048
-msgid "No groups found in category file"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
+msgstr "Gestionnaire de fichiers"
-#: src/frontend/mame/ui/utils.cpp:1053
-msgid "Group"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:96
+msgid "Tape Control"
+msgstr "Contrôle de la cassette"
-#: src/frontend/mame/ui/utils.cpp:1054
-msgid "Include clones"
+#: src/frontend/mame/ui/mainmenu.cpp:102
+msgid "BIOS Selection"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
-msgstr "[créer]"
+#: src/frontend/mame/ui/mainmenu.cpp:106
+msgid "Slot Devices"
+msgstr "Slot Devices / Périphériques d'emplacement"
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Barcode Reader"
+msgstr "Lecteur de code-barres"
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
-msgstr "Sélectionner le mode d'accès"
+#: src/frontend/mame/ui/mainmenu.cpp:114
+msgid "Network Devices"
+msgstr "Périphériques réseau"
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
-msgstr "Lecture seule"
+#: src/frontend/mame/ui/mainmenu.cpp:118
+msgid "Keyboard Mode"
+msgstr "Mode clavier"
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
-msgstr "Lecture-écriture"
+#: src/frontend/mame/ui/mainmenu.cpp:121
+msgid "Slider Controls"
+msgstr "Contrôles du curseur"
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
-msgstr "Lire cette image, écrire dans une autre image"
+#: src/frontend/mame/ui/mainmenu.cpp:124 src/frontend/mame/ui/submenu.cpp:101
+msgid "Video Options"
+msgstr "Options vidéo"
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
-msgstr "Lire cette image, écrire vers diff"
+#: src/frontend/mame/ui/mainmenu.cpp:128
+msgid "Crosshair Options"
+msgstr "Options du viseur"
-#: src/frontend/mame/ui/slotopt.cpp:192
-#, c-format
-msgid "%s [internal]"
+#: src/frontend/mame/ui/mainmenu.cpp:132 plugins/cheat/init.lua:735
+msgid "Cheat"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:203 src/frontend/mame/ui/miscmenu.cpp:97
-#: src/frontend/mame/ui/inputmap.cpp:615
-msgid "Reset"
-msgstr "Réinitialiser"
-
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
-msgstr " COULEURS"
-
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
-msgstr " MARQUEURS"
-
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
-msgstr "Retour à la machine actuelle"
-
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
-msgstr "Quitter MAME"
-
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
-msgstr "Retour au menu précédent"
-
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:762
-#: plugins/cheat/init.lua:569 plugins/cheatfind/init.lua:792
-#: plugins/cheatfind/init.lua:803
-msgid "On"
-msgstr "Actif"
+#: src/frontend/mame/ui/mainmenu.cpp:135
+msgid "Plugin Options"
+msgstr "Plugin / Options du module d'extension"
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:765
-#: plugins/cheat/init.lua:572 plugins/cheat/init.lua:581
-#: plugins/cheatfind/init.lua:789 plugins/cheatfind/init.lua:800
-msgid "Off"
-msgstr "Inactif"
+#: src/frontend/mame/ui/mainmenu.cpp:139
+msgid "External DAT View"
+msgstr "Visualiser un DAT externe"
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:154
+msgid "Select New Machine"
+msgstr "Sélectionner une nouvelle machine"
#: src/frontend/mame/ui/custui.cpp:31
msgid "Show All"
@@ -1401,458 +1322,6 @@ msgstr "Jaune"
msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
-msgstr "Mode clavier :"
-
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
-msgstr "Naturel"
-
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
-msgstr "Émulé"
-
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
-msgstr ""
-"Temps écoulé : %1$d:%2$02d:%3$02d\n"
-"\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
-msgstr ""
-"Temps écoulé : %1$d:%2$02d\n"
-"\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
-msgstr ""
-"Tickets distribués : %1$d\n"
-"\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
-msgstr "Monnayeur %1$c : ND%3$s\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
-msgstr "Monnayeur %1$c : %2$d%3$s\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
-msgstr " (verrouillé)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
-msgstr "Attente visible"
-
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
-msgstr "%s.xml sauvegardé dans le dossier ui."
-
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
-msgstr "Nom : Description :\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:639
-#, c-format
-msgid "%s.txt saved under ui folder."
-msgstr "%s.txt sauvegardé dans le dossier ui."
-
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
-msgstr "Exporter la liste au format XML (comme -listxml)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
-msgstr ""
-"Exporter la liste au format XML (comme -listxml, mais en excluant les "
-"périphériques)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
-msgstr "Exporter la liste au format TXT (comme -listfull)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
-msgstr ""
-
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
-msgstr ""
-
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
-msgstr "Sauvegarder la configuration de la machine"
-
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
-msgstr "Configurer la machine :"
-
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
-msgstr " (par défaut)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
-msgstr "Plugins / Modules d'extension"
-
-#: src/frontend/mame/ui/selgame.cpp:607
-msgid "Configure Machine"
-msgstr "Configurer la machine"
-
-#: src/frontend/mame/ui/selgame.cpp:1036
-#, c-format
-msgid "Romset\t%1$-.100s\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1037
-#, c-format
-msgid "Year\t%1$s\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1038
-#, c-format
-msgid "Manufacturer\t%1$-.100s\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1042
-#, c-format
-msgid "Driver is Clone of\t%1$-.100s\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1044
-msgid "Driver is Parent\t\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1047
-msgid "Analog Controls\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1049
-msgid "Keyboard Inputs\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1052
-msgid "Overall\tNOT WORKING\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1054
-msgid "Overall\tUnemulated Protection\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1056
-msgid "Overall\tWorking\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1059
-msgid "Graphics\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1061
-msgid "Graphics\tWrong Colors\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1063
-msgid "Graphics\tImperfect Colors\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1065
-msgid "Graphics\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1067
-msgid "Graphics\tOK\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1070
-msgid "Sound\tNone\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1072
-msgid "Sound\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1074
-msgid "Sound\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1076
-msgid "Sound\tOK\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1079
-msgid "Capture\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1081
-msgid "Capture\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1084
-msgid "Camera\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1086
-msgid "Camera\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1089
-msgid "Microphone\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1091
-msgid "Microphone\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1094
-msgid "Controls\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1096
-msgid "Controls\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1099
-msgid "Keyboard\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1101
-msgid "Keyboard\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1104
-msgid "Mouse\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1106
-msgid "Mouse\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1109
-msgid "Media\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1111
-msgid "Media\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1114
-msgid "Disk\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1116
-msgid "Disk\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1119
-msgid "Printer\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1121
-msgid "Printer\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1124
-msgid "Mag. Tape\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1126
-msgid "Mag. Tape\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1129
-msgid "Punch Tape\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1131
-msgid "Punch Tape\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1134
-msgid "Mag. Drum\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1136
-msgid "Mag. Drum\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1139
-msgid "(EP)ROM\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1141
-msgid "(EP)ROM\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1144
-msgid "Communications\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1146
-msgid "Communications\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1149
-msgid "LAN\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1151
-msgid "LAN\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1154
-msgid "WAN\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1156
-msgid "WAN\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1159
-msgid "Timing\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1161
-msgid "Timing\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tNo\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tNo\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tNo\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tNo\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tNo\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tNo\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tVertical\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tHorizontal\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tNo\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1192
-msgid "ROM Audit Result\tOK\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1194
-msgid "ROM Audit Result\tBAD\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1197
-msgid "Samples Audit Result\tNone Needed\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1199
-msgid "Samples Audit Result\tOK\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1201
-msgid "Samples Audit Result\tBAD\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1205
-msgid ""
-"ROM Audit \tDisabled\n"
-"Samples Audit \tDisabled\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1396
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1424
-#, c-format
-msgid "Romset: %1$-.100s"
-msgstr "Romset : %1$-.100s"
-
-#: src/frontend/mame/ui/selgame.cpp:1431
-#, c-format
-msgid "System: %1$-.100s"
-msgstr "Système : %1$-.100s"
-
-#: src/frontend/mame/ui/selgame.cpp:1465
-msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
-msgstr ""
-
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
-msgstr "Son"
-
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
-msgstr "Fréquence d'échantillonnage"
-
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
-msgstr "Utiliser des samples externes"
-
#: src/frontend/mame/ui/submenu.cpp:22
msgid "Miscellaneous Options"
msgstr ""
@@ -2153,568 +1622,1018 @@ msgstr ""
msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:43
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Load State"
+msgstr ""
+
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Select position to load from"
+msgstr "Charger depuis la position"
+
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Save State"
+msgstr ""
+
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Select position to save to"
+msgstr "Sauvegarder à la position"
+
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:309 src/frontend/mame/ui/selsoft.cpp:211
#, c-format
msgid ""
-"[This option is currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"The selected option enables the following items:\n"
+"%s\n"
+" added to favorites list."
msgstr ""
+"%s\n"
+" ajouté à la liste des favoris."
-#: src/frontend/mame/ui/devopt.cpp:44
+#: src/frontend/mame/ui/selgame.cpp:314 src/frontend/mame/ui/selgame.cpp:320
+#: src/frontend/mame/ui/selsoft.cpp:216
#, c-format
msgid ""
-"[This option is NOT currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"If you select this option, the following items will be enabled:\n"
+"%s\n"
+" removed from favorites list."
msgstr ""
+"%s\n"
+" supprimé de la liste des favoris."
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/selgame.cpp:437
+msgid "Configure Machine"
+msgstr "Configurer la machine"
+
+#: src/frontend/mame/ui/selgame.cpp:849
+#, c-format
+msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/selgame.cpp:850
#, c-format
-msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
-msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/selgame.cpp:851
+#, c-format
+msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %3$d.%4$06d MHz\n"
+#: src/frontend/mame/ui/selgame.cpp:855
+#, c-format
+msgid "Driver is Clone of\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/selgame.cpp:857
+msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/selgame.cpp:860
+msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/selgame.cpp:862
+msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:103
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+#: src/frontend/mame/ui/selgame.cpp:865
+msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+#: src/frontend/mame/ui/selgame.cpp:867
+msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/selgame.cpp:869
+msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
-#, c-format
-msgid " %1$d×%2$s\n"
+#: src/frontend/mame/ui/selgame.cpp:872
+msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/selgame.cpp:874
+msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:168
-#, c-format
-msgid ""
-"* BIOS settings:\n"
-" %1$d options [default: %2$s]\n"
+#: src/frontend/mame/ui/selgame.cpp:876
+msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:208 src/frontend/mame/ui/devopt.cpp:224
-#: src/frontend/mame/ui/devopt.cpp:269
-#, c-format
-msgid " %1$s [default: %2$s]\n"
+#: src/frontend/mame/ui/selgame.cpp:878
+msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
-#, c-format
-msgid " %1$s\n"
+#: src/frontend/mame/ui/selgame.cpp:880
+msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/selgame.cpp:883
+msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/selgame.cpp:885
+msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/selgame.cpp:887
+msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:889
+msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:892
+msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
-#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:894
+msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:897
+msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:899
+msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:902
+msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:904
+msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
-#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:907
+msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+#: src/frontend/mame/ui/selgame.cpp:909
+msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
-#, c-format
-msgid " %1$s [tag: %2$s]\n"
+#: src/frontend/mame/ui/selgame.cpp:912
+msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
+#: src/frontend/mame/ui/selgame.cpp:914
+msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+#: src/frontend/mame/ui/selgame.cpp:917
+msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
+#: src/frontend/mame/ui/selgame.cpp:919
+msgid "Disk\tImperfect\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:922
+msgid "Printer\tUnimplemented\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:924
+msgid "Printer\tImperfect\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:927
+msgid "LAN\tUnimplemented\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:929
+msgid "LAN\tImperfect\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:932
+msgid "WAN\tUnimplemented\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:934
+msgid "WAN\tImperfect\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:937
+msgid "Timing\tUnimplemented\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:939
+msgid "Timing\tImperfect\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tYes\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tNo\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tYes\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tNo\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tYes\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tNo\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tYes\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tNo\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tYes\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tNo\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tYes\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tNo\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tVertical\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tHorizontal\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tYes\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tNo\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:970
+msgid "ROM Audit Result\tOK\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:972
+msgid "ROM Audit Result\tBAD\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:975
+msgid "Samples Audit Result\tNone Needed\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:977
+msgid "Samples Audit Result\tOK\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:979
+msgid "Samples Audit Result\tBAD\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:983
+msgid ""
+"ROM Audit \tDisabled\n"
+"Samples Audit \tDisabled\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:1167
#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
+#: src/frontend/mame/ui/selgame.cpp:1183 src/frontend/mame/ui/selsoft.cpp:555
#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
+#: src/frontend/mame/ui/selgame.cpp:1185 src/frontend/mame/ui/selsoft.cpp:557
#, c-format
-msgid "(results will be saved to %1$s)"
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
+#: src/frontend/mame/ui/selgame.cpp:1195
#, c-format
+msgid "Romset: %1$-.100s"
+msgstr "Romset : %1$-.100s"
+
+#: src/frontend/mame/ui/selgame.cpp:1202
+#, c-format
+msgid "System: %1$-.100s"
+msgstr "Système : %1$-.100s"
+
+#: src/frontend/mame/ui/selgame.cpp:1239
msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
+"The selected machine is missing one or more required ROM or CHD images. "
+"Please select a different machine.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
+#: src/frontend/mame/ui/selgame.cpp:1245 src/frontend/mame/ui/selsoft.cpp:462
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
-msgstr "Impossible de sauvegarder sous ce répertoire"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
+msgstr "Son"
-#: src/frontend/mame/ui/imgcntrl.cpp:150
-msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
+msgstr "Fréquence d'échantillonnage"
+
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
+msgstr "Utiliser des samples externes"
+
+#: src/frontend/mame/ui/utils.cpp:57 src/frontend/mame/ui/utils.cpp:81
+msgid "Unfiltered"
msgstr ""
-"Il manque un ou plusieurs fichiers de ROMs ou d'images CHD pour utiliser ce "
-"logiciel. Veuillez en sélectionner un autre."
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
+#: src/frontend/mame/ui/utils.cpp:58 src/frontend/mame/ui/utils.cpp:82
+msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
+#: src/frontend/mame/ui/utils.cpp:59 src/frontend/mame/ui/utils.cpp:83
+msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
+#: src/frontend/mame/ui/utils.cpp:60
+msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
+#: src/frontend/mame/ui/utils.cpp:61
+msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
+#: src/frontend/mame/ui/utils.cpp:62
+msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: src/frontend/mame/ui/utils.cpp:63
+msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
+#: src/frontend/mame/ui/utils.cpp:64
+msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
+#: src/frontend/mame/ui/utils.cpp:65
+msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
+#: src/frontend/mame/ui/utils.cpp:67
+msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
+#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:84
+msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/utils.cpp:85
+msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/utils.cpp:70
+msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:86
+msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/utils.cpp:72
+msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/utils.cpp:73
+msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/utils.cpp:74
+msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/utils.cpp:75
+msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/utils.cpp:76
+msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/utils.cpp:77
+msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/utils.cpp:78 src/frontend/mame/ui/utils.cpp:94
+msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/utils.cpp:87
+msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
-msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+#: src/frontend/mame/ui/utils.cpp:88
+msgid "Supported"
msgstr ""
-"Un ou plusieurs fichiers ROMs ou d'images CHD nécessaires à l'utilisation de "
-"cette machine sont incorrects. Il est possible qu'elle ne fonctionne pas "
-"correctement.\n"
-#: src/frontend/mame/ui/info.cpp:198
-msgid ""
-"There are known problems with this machine\n"
-"\n"
+#: src/frontend/mame/ui/utils.cpp:89
+msgid "Partially Supported"
msgstr ""
-"On rencontre les problèmes suivants avec cette machine :\n"
-"\n"
-#: src/frontend/mame/ui/info.cpp:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/utils.cpp:90
+msgid "Unsupported"
msgstr ""
-"Un ou plusieurs fichiers ROMs/CHDs nécessaires à l'utilisation de cette "
-"machine n'ont pas été dumpés correctement.\n"
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/utils.cpp:91
+msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
+#: src/frontend/mame/ui/utils.cpp:92
+msgid "Device Type"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:93
+msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#: src/frontend/mame/ui/info.cpp:275
+#: src/frontend/mame/ui/utils.cpp:244
+msgid "<set up filters>"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:352
+msgid "Select custom filters:"
+msgstr "Sélectionner les filtres personnalisés :"
+
+#: src/frontend/mame/ui/utils.cpp:503
#, c-format
-msgid ", %s"
+msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+#: src/frontend/mame/ui/utils.cpp:518
+msgid "Remove last filter"
+msgstr "Supprimer le dernier filtre"
+
+#: src/frontend/mame/ui/utils.cpp:520
+msgid "Add filter"
+msgstr "Ajouter un filtre"
+
+#: src/frontend/mame/ui/utils.cpp:959
+msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
-msgstr "Le retournement de l'écran en mode cocktail n'est pas supporté.\n"
+#: src/frontend/mame/ui/utils.cpp:990
+msgid "[no category INI files]"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
+#: src/frontend/mame/ui/utils.cpp:998
+msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:243
-msgid ""
-"This machine was never completed. It may exhibit strange behavior or missing "
-"elements that are not bugs in the emulation.\n"
+#: src/frontend/mame/ui/utils.cpp:1032
+msgid "No category INI files found"
msgstr ""
-"Cette machine n'a jamais été terminée. Il est possible qu'elle se comporte "
-"bizarrement ou que certains composants soient manquants. Cela ne constitue "
-"en aucun cas des bugs d'émulation.\n"
-#: src/frontend/mame/ui/info.cpp:245
-msgid ""
-"This machine has no sound hardware, MAME will produce no sounds, this is "
-"expected behaviour.\n"
+#: src/frontend/mame/ui/utils.cpp:1037
+msgid "File"
msgstr ""
-"Cette machine n'a pas de dispositif sonore. Par conséquent, MAME ne produira "
-"aucun son. Il s'agit d'un comportement attendu.\n"
-#: src/frontend/mame/ui/info.cpp:249
-msgid ""
-"\n"
-"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
-"complete. There is nothing you can do to fix this problem except wait for "
-"the developers to improve the emulation.\n"
+#: src/frontend/mame/ui/utils.cpp:1041
+msgid "No groups found in category file"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:1046
+msgid "Group"
msgstr ""
-"\n"
-"CETTE MACHINE NE FONCTIONNE PAS. L'émulation de cette machine n'est pas "
-"encore complète. Il n'y a rien que vous puissiez faire pour résoudre ce "
-"problème sauf attendre que les développeurs améliorent l'émulation.\n"
-#: src/frontend/mame/ui/info.cpp:251
+#: src/frontend/mame/ui/utils.cpp:1047
+msgid "Include clones"
+msgstr ""
+
+#: src/frontend/mame/ui/selsoft.cpp:456
msgid ""
+"The selected software is missing one or more required files. Please select a "
+"different software.\n"
"\n"
-"Elements of this machine cannot be emulated as they requires physical "
-"interaction or consist of mechanical devices. It is not possible to fully "
-"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/selsoft.cpp:549
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgstr "%1$s %2$s ( %3$d / %4$d packages logiciels )"
+
+#: src/frontend/mame/ui/selsoft.cpp:550
+#, c-format
+msgid "Driver: \"%1$s\" software list "
+msgstr "Liste de logiciels pour le driver : \"%1$s\" "
+
+#: src/frontend/mame/ui/filesel.cpp:260
+msgid "[create]"
+msgstr "[créer]"
+
+#: src/frontend/mame/ui/filesel.cpp:419
#, c-format
+msgid "Error accessing %s"
+msgstr ""
+
+#: src/frontend/mame/ui/filesel.cpp:515
+msgid "Select access mode"
+msgstr "Sélectionner le mode d'accès"
+
+#: src/frontend/mame/ui/filesel.cpp:516
+msgid "Read-only"
+msgstr "Lecture seule"
+
+#: src/frontend/mame/ui/filesel.cpp:518
+msgid "Read-write"
+msgstr "Lecture-écriture"
+
+#: src/frontend/mame/ui/filesel.cpp:519
+msgid "Read this image, write to another image"
+msgstr "Lire cette image, écrire dans une autre image"
+
+#: src/frontend/mame/ui/filesel.cpp:520
+msgid "Read this image, write to diff"
+msgstr "Lire cette image, écrire vers diff"
+
+#: src/frontend/mame/ui/imgcntrl.cpp:117
+msgid "Cannot save over directory"
+msgstr "Impossible de sauvegarder sous ce répertoire"
+
+#: src/frontend/mame/ui/imgcntrl.cpp:150
msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+"The software selected is missing one or more required ROM or CHD images. "
+"Please select a different one."
+msgstr ""
+"Il manque un ou plusieurs fichiers de ROMs ou d'images CHD pour utiliser ce "
+"logiciel. Veuillez en sélectionner un autre."
+
+#: src/frontend/mame/ui/menu.cpp:294
+msgid "Return to Machine"
+msgstr "Retour à la machine actuelle"
+
+#: src/frontend/mame/ui/menu.cpp:299 src/frontend/mame/ui/menu.cpp:301
+msgid "Exit"
+msgstr "Quitter MAME"
+
+#: src/frontend/mame/ui/menu.cpp:306 src/frontend/mame/ui/menu.cpp:308
+msgid "Return to Previous Menu"
+msgstr "Retour au menu précédent"
+
+#: src/frontend/mame/ui/menu.cpp:742
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
+#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:653
+#, c-format, lua-format
msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+"Cheat Comment:\n"
+"%s"
msgstr ""
-"\n"
-"\n"
-"Appuyez sur une touche pour continuer"
+"Commentaire du cheat :\n"
+"%s"
+
+#: src/frontend/mame/ui/cheatopt.cpp:105
+msgid "All cheats reloaded"
+msgstr "Tous les cheats ont été rechargés"
+
+#: src/frontend/mame/ui/cheatopt.cpp:136
+msgid "Autofire Settings"
+msgstr "Paramètres du tir automatique"
+
+#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:581
+msgid "Reset All"
+msgstr "Tout réinitialiser"
+
+#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:582
+msgid "Reload All"
+msgstr "Tout recharger"
+
+#: src/frontend/mame/ui/cheatopt.cpp:273
+msgid "Autofire Status"
+msgstr "Statut du tir automatique"
+
+#: src/frontend/mame/ui/cheatopt.cpp:316
+msgid "No buttons found on this machine!"
+msgstr "Aucun bouton trouvé sur cette machine !"
+
+#: src/frontend/mame/ui/cheatopt.cpp:327 src/frontend/mame/ui/cheatopt.cpp:331
+msgid "Autofire Delay"
+msgstr "Attente du tir automatique"
+
+#: src/frontend/mame/ui/ui.cpp:337
+msgid "This driver requires images to be loaded in the following device(s): "
+msgstr ""
+"Ce driver nécessite le chargement d'images dans le(s) périphérique(s) "
+"suivant(s) : "
+
+#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
+msgid "Keyboard Emulation Status"
+msgstr "Statut de l'émulation du clavier"
+
+#: src/frontend/mame/ui/ui.cpp:1086
+msgid "Mode: PARTIAL Emulation"
+msgstr "Mode : Émulation PARTIELLE"
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/ui.cpp:1087
+msgid "UI: Enabled"
+msgstr "Interface : Activée"
+
+#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
+msgid "**Use ScrLock to toggle**"
+msgstr "**Utiliser <ScrLock> pour basculer**"
+
+#: src/frontend/mame/ui/ui.cpp:1096
+msgid "Mode: FULL Emulation"
+msgstr "Mode : Émulation COMPLÈTE"
+
+#: src/frontend/mame/ui/ui.cpp:1097
+msgid "UI: Disabled"
+msgstr "Interface : désactivée"
+
+#: src/frontend/mame/ui/ui.cpp:1249
+msgid "Autofire can't be enabled"
+msgstr "Le tir automatique ne peut pas être activé"
+
+#: src/frontend/mame/ui/ui.cpp:1302
#, c-format
msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
+"Are you sure you want to quit?\n"
"\n"
-"CPU:\n"
+"Press ''%1$s'' to quit,\n"
+"Press ''%2$s'' to return to emulation."
msgstr ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver : %4$s\n"
+"Êtes-vous certain de vouloir quitter ?\n"
"\n"
-"Processeur(s) :\n"
+"Appuyez sur ''%1$s'' pour quitter,\n"
+"Appuyez sur ''%2$s'' pour retourner à l'émulation."
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+#: src/frontend/mame/ui/ui.cpp:1374
+msgid "Master Volume"
+msgstr "Volume principal"
+
+#: src/frontend/mame/ui/ui.cpp:1383
+#, c-format
+msgid "%1$s Volume"
+msgstr "Volume %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1407
+#, c-format
+msgid "Overclock CPU %1$s"
+msgstr "Overclock du processeur %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1416
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/ui.cpp:1437
+#, c-format
+msgid "%1$s Refresh Rate"
+msgstr "%1$s - Taux de rafraîchissement"
+
+#: src/frontend/mame/ui/ui.cpp:1442
+#, c-format
+msgid "%1$s Brightness"
+msgstr "%1$s - Luminosité"
+
+#: src/frontend/mame/ui/ui.cpp:1444
+#, c-format
+msgid "%1$s Contrast"
+msgstr "%1$s - Contraste"
+
+#: src/frontend/mame/ui/ui.cpp:1446
+#, c-format
+msgid "%1$s Gamma"
+msgstr "%1$s - Gamma"
+
+#: src/frontend/mame/ui/ui.cpp:1450
+#, c-format
+msgid "%1$s Horiz Stretch"
+msgstr "%1$s - Stretch horizontal"
+
+#: src/frontend/mame/ui/ui.cpp:1452
+#, c-format
+msgid "%1$s Horiz Position"
+msgstr "%1$s - Position horizontale"
+
+#: src/frontend/mame/ui/ui.cpp:1454
+#, c-format
+msgid "%1$s Vert Stretch"
+msgstr "%1$s - Stretch vertical"
+
+#: src/frontend/mame/ui/ui.cpp:1456
+#, c-format
+msgid "%1$s Vert Position"
+msgstr "%1$s - Position verticale"
+
+#: src/frontend/mame/ui/ui.cpp:1475
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
+msgstr "'%1$s' Laserdisc - Stretch horizontal"
+
+#: src/frontend/mame/ui/ui.cpp:1477
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
+msgstr "'%1$s' Laserdisc - Position horizontale"
+
+#: src/frontend/mame/ui/ui.cpp:1479
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
+msgstr "'%1$s' Laserdisc - Stretch vertical"
+
+#: src/frontend/mame/ui/ui.cpp:1481
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
+msgstr "'%1$s' Laserdisc - Position verticale"
+
+#: src/frontend/mame/ui/ui.cpp:1493
+msgid "Vector Flicker"
+msgstr "Scintillement de l'affichage vectoriel"
+
+#: src/frontend/mame/ui/ui.cpp:1494
+msgid "Beam Width Minimum"
+msgstr "Largeur de rayon minimum"
+
+#: src/frontend/mame/ui/ui.cpp:1495
+msgid "Beam Width Maximum"
+msgstr "Largeur de rayon maximum"
+
+#: src/frontend/mame/ui/ui.cpp:1496
+msgid "Beam Intensity Weight"
+msgstr "Intensité du rayon"
+
+#: src/frontend/mame/ui/ui.cpp:1511
+#, c-format
+msgid "Crosshair Scale %1$s"
+msgstr "Viseur - Échelle %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "Y"
msgstr ""
-"\n"
-"Son :\n"
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/ui.cpp:1513
+#, c-format
+msgid "Crosshair Offset %1$s"
+msgstr "Viseur - Offset %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1601
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-"\n"
-"Vidéo :\n"
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
-msgstr "Aucun\n"
+#: src/frontend/mame/ui/ui.cpp:1645
+#, c-format
+msgid "%1$d%%"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
-msgstr "Graphismes vectoriels"
+#: src/frontend/mame/ui/ui.cpp:1661
+#, c-format
+msgid "%1$3.0f%%"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/ui.cpp:1685
#, c-format
-msgid "%1$s: %2$s\n"
-msgstr "%1$s : %2$s\n"
+msgid "%1$.3ffps"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
+#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
+#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
+#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
+#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
+#: src/frontend/mame/ui/ui.cpp:1927
+#, c-format
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
+#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
#, c-format
-msgid "Screen '%1$s'"
-msgstr "Écran '%1$s'"
+msgid "%1$1.2f"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr "Écran"
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
+msgstr "Viseur - Échelle X %1$1.3f"
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
-msgstr "Non supporté"
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
+msgstr "Viseur - Échelle Y %1$1.3f"
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
-msgstr "Partiellement supporté"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
+msgstr "Viseur - Offset X %1$1.3f"
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
-msgstr "[vide]"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
+msgstr "Viseur - Offset Y %1$1.3f"
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
-msgstr "Control Panels / Commandes"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
+msgstr "**Erreur de sauvegarde du fichier ui.ini**"
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
-msgstr "Aperçu de l'artwork"
+#: src/frontend/mame/ui/ui.cpp:2226
+#, c-format
+msgid "**Error saving %s.ini**"
+msgstr "**Erreur de sauvegarde du fichier %s.ini**"
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " COLORS"
+msgstr " COULEURS"
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " PENS"
+msgstr " MARQUEURS"
+
+#: src/frontend/mame/ui/devopt.cpp:39
+#, c-format
+msgid ""
+"[This option is currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"The selected option enables the following items:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
-msgstr "Ajouter ou supprimer des favoris"
+#: src/frontend/mame/ui/devopt.cpp:40
+#, c-format
+msgid ""
+"[This option is NOT currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"If you select this option, the following items will be enabled:\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
-msgstr "Exporter la liste affichée vers un fichier"
+#: src/frontend/mame/ui/devopt.cpp:48
+msgid "* CPU:\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
-msgstr "Afficher vue des fichiers DATs"
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
+#, c-format
+msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
-msgstr "Sélection du logiciel :"
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
+msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %3$d.%4$06d MHz\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %5$d.%6$03d kHz\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:85
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
+#: src/frontend/mame/ui/devopt.cpp:90
#, c-format
-msgid "Software is clone of: %1$-.100s"
-msgstr "Ce logiciel est un clone de : %1$-.100s"
+msgid " Screen '%1$s': Vector\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
-msgstr "Ce logiciel est le parent"
+#: src/frontend/mame/ui/devopt.cpp:99
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
-msgstr "Supporté : Non"
+#: src/frontend/mame/ui/devopt.cpp:100
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
-msgstr "Supporté : Partiellement"
+#: src/frontend/mame/ui/devopt.cpp:113
+msgid "* Sound:\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
-msgstr "Supporté : Oui"
+#: src/frontend/mame/ui/devopt.cpp:133
+#, c-format
+msgid " %1$d×%2$s\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
+#: src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:164
#, c-format
-msgid "romset: %1$-.100s"
-msgstr "romset : %1$-.100s"
+msgid ""
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
+#: src/frontend/mame/ui/devopt.cpp:204 src/frontend/mame/ui/devopt.cpp:220
+#: src/frontend/mame/ui/devopt.cpp:265
#, c-format
-msgid "Driver is clone of: %1$-.100s"
-msgstr "Ce driver est un clone de : %1$-.100s"
+msgid " %1$s [default: %2$s]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
-msgstr "Ce driver est le parent"
+#: src/frontend/mame/ui/devopt.cpp:209 src/frontend/mame/ui/devopt.cpp:225
+#, c-format
+msgid " %1$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:230
+msgid "* DIP switch settings:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:232
+msgid "* Configuration settings:\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
+#: src/frontend/mame/ui/devopt.cpp:234
+msgid "* Input device(s):\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:236
#, c-format
-msgid "%1$s %2$s"
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: src/frontend/mame/ui/devopt.cpp:238
+#, c-format
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: src/frontend/mame/ui/devopt.cpp:240
+#, c-format
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
-msgstr "Utilisation"
+#: src/frontend/mame/ui/devopt.cpp:242
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
-msgstr "Informations générales"
+#: src/frontend/mame/ui/devopt.cpp:244
+#, c-format
+msgid " Analog inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
-msgstr "Interface utilisateur"
+#: src/frontend/mame/ui/devopt.cpp:246
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
-msgstr "Autres contrôles"
+#: src/frontend/mame/ui/devopt.cpp:248
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* Media Options:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:257
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:263
+msgid "* Slot Options:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:270
+msgid "[None]\n"
+msgstr ""
#: plugins/timer/init.lua:94
msgid "Current time"
@@ -2732,51 +2651,51 @@ msgstr ""
msgid "Timer"
msgstr ""
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:510
msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheat/init.lua:534
+#: plugins/cheat/init.lua:516
msgid "Press button for hotkey or wait to clear"
msgstr ""
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:528
msgid "None"
msgstr ""
-#: plugins/cheat/init.lua:551
+#: plugins/cheat/init.lua:533
msgid "Done"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:547 plugins/cheat/init.lua:561
msgid "Set"
msgstr ""
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:580
msgid "Set hotkeys"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:720
#, lua-format
msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:723 plugins/cheat/init.lua:781
#, lua-format
msgid "Activated: %s"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:785
#, lua-format
msgid "Enabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:790
#, lua-format
msgid "Disabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "%s added"
msgstr ""
@@ -2825,304 +2744,219 @@ msgstr "Aperçu gameinit.dat"
msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:404
+#: plugins/cheatfind/init.lua:373
msgid "Save Cheat"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Default"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Custom"
msgstr ""
-#: plugins/cheatfind/init.lua:408
+#: plugins/cheatfind/init.lua:377
msgid "Cheat Name"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/cheatfind/init.lua:383 plugins/cheatfind/init.lua:748
#, lua-format
msgid "Default name is %s"
msgstr ""
-#: plugins/cheatfind/init.lua:422
+#: plugins/cheatfind/init.lua:391
msgid "Player"
msgstr ""
-#: plugins/cheatfind/init.lua:427
+#: plugins/cheatfind/init.lua:396
msgid "Type"
msgstr ""
-#: plugins/cheatfind/init.lua:433
+#: plugins/cheatfind/init.lua:402
msgid "Save"
msgstr ""
-#: plugins/cheatfind/init.lua:462
+#: plugins/cheatfind/init.lua:429
#, lua-format
msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:472
+#: plugins/cheatfind/init.lua:437
msgid "Cheat added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:442
msgid ""
"Unable to write file\n"
"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/cheatfind/init.lua:486
+#: plugins/cheatfind/init.lua:451
msgid "Cancel"
msgstr ""
-#: plugins/cheatfind/init.lua:491
+#: plugins/cheatfind/init.lua:456
msgid "CPU or RAM"
msgstr ""
-#: plugins/cheatfind/init.lua:495
+#: plugins/cheatfind/init.lua:460
msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:479
+msgid "Data cleared and current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:487
+msgid "Start new search"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:497
+msgid "Current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:504
+msgid "Save current -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
+#: plugins/cheatfind/init.lua:536
#, lua-format
-msgid "Memory State saved to Slot %d"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:543
+msgid "Compare"
msgstr ""
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
+#: plugins/cheatfind/init.lua:546
+msgid "Left operand"
+msgstr ""
+
+#: plugins/cheatfind/init.lua:549
+msgid "Current"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:554
+msgid "Operator"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:561
+msgid "Left less than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:563
+msgid "Left greater than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:676
+#: plugins/cheatfind/init.lua:565
msgid "Left equal to right"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:567
+msgid "Left not equal to right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:680
+#: plugins/cheatfind/init.lua:569
msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:682
+#: plugins/cheatfind/init.lua:571
msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:684
+#: plugins/cheatfind/init.lua:573
msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:686
+#: plugins/cheatfind/init.lua:575
msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:688
+#: plugins/cheatfind/init.lua:577
msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:690
+#: plugins/cheatfind/init.lua:579
msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/cheatfind/init.lua:590
+msgid "Right operand"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/cheatfind/init.lua:598
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:719
+#: plugins/cheatfind/init.lua:602
msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:725
+#: plugins/cheatfind/init.lua:608
msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:738
-msgid ""
-"Use this if you want to poke the Slot 1 value (eg. You started with "
-"something but lost it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:740
-msgid ""
-"Use this if you want to poke the Last Slot value (eg. You started without an "
-"item but finally got it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:816
+#: plugins/cheatfind/init.lua:632
msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:820
+#: plugins/cheatfind/init.lua:636
msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:823
+#: plugins/cheatfind/init.lua:639
msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheatfind/init.lua:690
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Test cheat at addr %08X"
msgstr ""
-#: plugins/cheatfind/init.lua:974
+#: plugins/cheatfind/init.lua:722
msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
+#: plugins/cheatfind/init.lua:788
msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
+#: plugins/cheatfind/init.lua:806
msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
+#: plugins/cheatfind/init.lua:816
msgid "Cheat Finder"
msgstr ""
-#: plugins/portname/init.lua:103
+#: plugins/portname/init.lua:69
msgid "Save input names to file"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
+#: plugins/portname/init.lua:100 plugins/portname/init.lua:105
+#: plugins/portname/init.lua:121
msgid "Failed to save input name file"
msgstr ""
-#: plugins/portname/init.lua:167
+#: plugins/portname/init.lua:133
#, lua-format
msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/portname/init.lua:172
+#: plugins/portname/init.lua:138
msgid "Input ports"
msgstr ""
diff --git a/language/French_Canada/strings.po b/language/French_Canada/strings.po
index 302ab5be1ac..3086af5f44e 100644
--- a/language/French_Canada/strings.po
+++ b/language/French_Canada/strings.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MAME\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-03-17 13:37+1100\n"
+"POT-Creation-Date: 2018-04-28 15:32+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -18,1144 +18,1041 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
+#: src/frontend/mame/ui/auditmenu.cpp:96
#, c-format
-msgid "Screen #%d"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Enabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Disabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
-msgid "Marquees"
+#: src/frontend/mame/ui/auditmenu.cpp:99
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/auditmenu.cpp:104
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/auditmenu.cpp:130
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/auditmenu.cpp:142
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/selmenu.cpp:49 src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/selmenu.cpp:50 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/selmenu.cpp:51
+msgid "Control Panels"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/selmenu.cpp:52 src/frontend/mame/ui/dirmenu.cpp:50
+msgid "PCBs"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/selmenu.cpp:53 src/frontend/mame/ui/dirmenu.cpp:47
+msgid "Flyers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/selmenu.cpp:54 src/frontend/mame/ui/dirmenu.cpp:48
+msgid "Titles"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/selmenu.cpp:55 src/frontend/mame/ui/dirmenu.cpp:49
+msgid "Ends"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/selmenu.cpp:56
+msgid "Artwork Preview"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/selmenu.cpp:57 src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Bosses"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/selmenu.cpp:58 src/frontend/mame/ui/dirmenu.cpp:60
+msgid "Logos"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/selmenu.cpp:59 src/frontend/mame/ui/dirmenu.cpp:62
+msgid "Versus"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/selmenu.cpp:60
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/selmenu.cpp:61 src/frontend/mame/ui/dirmenu.cpp:59
+msgid "HowTo"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/selmenu.cpp:62 src/frontend/mame/ui/dirmenu.cpp:61
+msgid "Scores"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/selmenu.cpp:63 src/frontend/mame/ui/dirmenu.cpp:57
+msgid "Select"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/selmenu.cpp:64 src/frontend/mame/ui/dirmenu.cpp:51
+#: src/frontend/mame/ui/videoopt.cpp:224
+msgid "Marquees"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/selmenu.cpp:65 src/frontend/mame/ui/dirmenu.cpp:63
+msgid "Covers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/selmenu.cpp:69
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/selmenu.cpp:70
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/selmenu.cpp:71
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/selmenu.cpp:237
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/selmenu.cpp:343
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/selmenu.cpp:570 src/frontend/mame/ui/selmenu.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:311
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/selmenu.cpp:574
+#, c-format
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/selmenu.cpp:576
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/selmenu.cpp:581
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/selmenu.cpp:586
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/selmenu.cpp:591
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selmenu.cpp:596
+#, c-format
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selmenu.cpp:612
#, c-format
-msgid "Current %1$s Folders"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selmenu.cpp:614
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selmenu.cpp:619
+#: src/frontend/mame/ui/simpleselgame.cpp:330
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selmenu.cpp:621
+#: src/frontend/mame/ui/simpleselgame.cpp:332
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:623
+#: src/frontend/mame/ui/simpleselgame.cpp:334
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:627
+#: src/frontend/mame/ui/simpleselgame.cpp:338
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/selmenu.cpp:629
+#: src/frontend/mame/ui/simpleselgame.cpp:340
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/selmenu.cpp:631
+#: src/frontend/mame/ui/simpleselgame.cpp:342
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/selmenu.cpp:634
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/selmenu.cpp:636
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/selmenu.cpp:638
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/selmenu.cpp:640
+#: src/frontend/mame/ui/simpleselgame.cpp:351
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/selmenu.cpp:650
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/selmenu.cpp:1975
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/selmenu.cpp:1976
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/selmenu.cpp:2386 src/frontend/mame/ui/miscmenu.cpp:826
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/selmenu.cpp:2454
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/selmenu.cpp:2489
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/dirmenu.cpp:35
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/dirmenu.cpp:36
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
-#: src/frontend/mame/ui/slotopt.cpp:220
-msgid "[empty slot]"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/dirmenu.cpp:40
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/dirmenu.cpp:52
+msgid "Controls Panels"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/dirmenu.cpp:53
+msgid "Crosshairs"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Artworks"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks Preview"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "GameOver"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/dirmenu.cpp:116
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/dirmenu.cpp:167
+#, c-format
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/dirmenu.cpp:182
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/dirmenu.cpp:429
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/dirmenu.cpp:513
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/info.cpp:30
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "LAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/info.cpp:180
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/info.cpp:190
+msgid ""
+"There are known problems with this machine\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/info.cpp:195
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/info.cpp:200
+msgid "Completely unemulated features: "
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#, c-format
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#: src/frontend/mame/ui/info.cpp:267
+#, c-format
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/info.cpp:216
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/info.cpp:231
+msgid "Screen flipping in cocktail mode is not supported.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/info.cpp:233
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/info.cpp:235
+msgid ""
+"This machine was never completed. It may exhibit strange behavior or missing "
+"elements that are not bugs in the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/info.cpp:237
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/info.cpp:241
+msgid ""
+"\n"
+"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
+"complete. There is nothing you can do to fix this problem except wait for "
+"the developers to improve the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/info.cpp:243
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they requires physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/info.cpp:265
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/info.cpp:278
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/info.cpp:293
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:149
+#: src/frontend/mame/ui/info.cpp:342
msgid ""
-"The selected game is missing one or more required ROM or CHD images. Please "
-"select a different game.\n"
"\n"
-"Press any key to continue."
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:247
-#, c-format
+#: src/frontend/mame/ui/info.cpp:370
msgid ""
-"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
"\n"
-"If this is your first time using %2$s, please see the config.txt file in the "
-"docs directory for information on configuring %2$s."
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+"Video:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/info.cpp:374
+msgid "None\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/info.cpp:381
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:314
-#: src/frontend/mame/ui/selsoft.cpp:652 src/frontend/mame/ui/selsoft.cpp:659
+#: src/frontend/mame/ui/info.cpp:392
#, c-format
-msgid "%1$-.100s"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:317
-#: src/frontend/mame/ui/selmenu.cpp:618 src/frontend/mame/ui/selmenu.cpp:654
-#, c-format
-msgid "%1$s, %2$-.100s"
+#: src/frontend/mame/ui/info.cpp:392
+msgid "%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
+#: src/frontend/mame/ui/info.cpp:438
#, c-format
-msgid "Driver: %1$-.100s"
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+msgid "Screen '%1$s'"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/info.cpp:440
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/info.cpp:525
+msgid "Not supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/info.cpp:528
+msgid "Partially supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/info.cpp:536
+msgid "[empty]"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/optsmenu.cpp:193
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/optsmenu.cpp:206
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/optsmenu.cpp:207
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/optsmenu.cpp:210 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/optsmenu.cpp:213
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/optsmenu.cpp:216
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/optsmenu.cpp:228
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:337
-msgid "This driver requires images to be loaded in the following device(s): "
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
+msgid "Rewind"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1302
-#, c-format
-msgid ""
-"Are you sure you want to quit?\n"
-"\n"
-"Press ''%1$s'' to quit,\n"
-"Press ''%2$s'' to return to emulation."
+#: src/frontend/mame/ui/inputmap.cpp:53
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/inputmap.cpp:59
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
+#: src/frontend/mame/ui/inputmap.cpp:628 src/frontend/mame/ui/miscmenu.cpp:96
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/selector.cpp:116
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
+#: src/frontend/mame/ui/selector.cpp:124
#, c-format
-msgid "Overclock %1$s sound"
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/filesel.cpp:256
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/swlist.cpp:88
+msgid "[file manager]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/swlist.cpp:228
+msgid "Switch Item Ordering"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
+#: src/frontend/mame/ui/swlist.cpp:259
#, c-format
-msgid "%1$s Horiz Stretch"
+msgid "Switched Order: entries now ordered by %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "shortname"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "description"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/swlist.cpp:389
+msgid "[compatible lists]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/datmenu.cpp:80
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/datmenu.cpp:362
+msgid "Revision: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/simpleselgame.cpp:149
+msgid ""
+"The selected game is missing one or more required ROM or CHD images. Please "
+"select a different game.\n"
+"\n"
+"Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
+#: src/frontend/mame/ui/simpleselgame.cpp:241
#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+msgid ""
+"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
+"\n"
+"If this is your first time using %2$s, please see the config.txt file in the "
+"docs directory for information on configuring %2$s."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/simpleselgame.cpp:271
+#: src/frontend/mame/ui/selgame.cpp:436
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/simpleselgame.cpp:292
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/simpleselgame.cpp:294
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
+#: src/frontend/mame/ui/simpleselgame.cpp:308
+#: src/frontend/mame/ui/selsoft.cpp:564 src/frontend/mame/ui/selsoft.cpp:571
#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/simpleselgame.cpp:314
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
+#: src/frontend/mame/ui/videoopt.cpp:56
#, c-format
-msgid "Crosshair Offset %1$s"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/videoopt.cpp:208
+msgid "Backdrops"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Enabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Disabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
-#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
-#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
-#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
-#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
-#: src/frontend/mame/ui/ui.cpp:1927
-#, c-format
-msgid "%1$.3f"
+#: src/frontend/mame/ui/videoopt.cpp:212
+msgid "Overlays"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
-#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
-#, c-format
-msgid "%1$1.2f"
+#: src/frontend/mame/ui/videoopt.cpp:216
+msgid "Bezels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:220
+msgid "CPanels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "View"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cropped"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Full"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1047
+msgid "No"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
-msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1047
+msgid "Yes"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
-msgid ""
-"Cheat Comment:\n"
-"%s"
+#: src/frontend/mame/ui/filecreate.cpp:171
+msgid "New Image Name:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/filecreate.cpp:177
+msgid "Image Format:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/filecreate.cpp:183
+msgid "Create"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/filecreate.cpp:266
+msgid "Select image format"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Keyboard Mode:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Natural"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Emulated"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
+#: src/frontend/mame/ui/miscmenu.cpp:236
#, c-format
msgid ""
-"%s\n"
-" added to favorites list."
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
+#: src/frontend/mame/ui/miscmenu.cpp:238
#, c-format
msgid ""
-"%s\n"
-" removed from favorites list."
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/miscmenu.cpp:242
+#, c-format
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
+"Tickets dispensed: %1$d\n"
"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
+#: src/frontend/mame/ui/miscmenu.cpp:253
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/miscmenu.cpp:253
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
-#, c-format
-msgid "Driver: \"%1$s\" software list "
+#: src/frontend/mame/ui/miscmenu.cpp:256
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
-#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+#: src/frontend/mame/ui/miscmenu.cpp:503
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/miscmenu.cpp:601
#, c-format
-msgid "Search: %1$s_"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
-msgid "Unfiltered"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
-msgid "Available"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
-msgid "Unavailable"
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
-msgid "Working"
+#: src/frontend/mame/ui/miscmenu.cpp:627
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
-msgid "Not Working"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
-msgid "Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:655
+msgid "Export list in XML format (like -listxml)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
-msgid "Not Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:656
+msgid "Export list in XML format (like -listxml, but exclude devices)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
-msgid "Category"
+#: src/frontend/mame/ui/miscmenu.cpp:657
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
-msgid "Favorites"
+#: src/frontend/mame/ui/miscmenu.cpp:710 src/frontend/mame/ui/ui.cpp:2230
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/miscmenu.cpp:760 src/frontend/mame/ui/utils.cpp:66
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
-msgid "Not BIOS"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
-msgid "Parents"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
-msgid "Clones"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:73
-msgid "Manufacturer"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
-msgid "Year"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:75
-msgid "Save Supported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:76
-msgid "Save Unsupported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:77
-msgid "CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:78
-msgid "No CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:79
-msgid "Vertical Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:80
-msgid "Horizontal Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
-msgid "Custom Filter"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:91
-msgid "Publisher"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:92
-msgid "Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:764
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
-msgid "Partially Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:767
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
-msgid "Unsupported"
+#: src/frontend/mame/ui/miscmenu.cpp:776 src/frontend/mame/ui/mainmenu.cpp:145
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
-msgid "Release Region"
+#: src/frontend/mame/ui/miscmenu.cpp:778 src/frontend/mame/ui/mainmenu.cpp:147
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
-msgid "Device Type"
+#: src/frontend/mame/ui/miscmenu.cpp:781
+msgid "Save machine configuration"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
-msgid "Software List"
+#: src/frontend/mame/ui/miscmenu.cpp:792
+msgid "Configure machine:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
-msgid "<set up filters>"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:736
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:551 plugins/cheatfind/init.lua:619
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
-msgid "Select custom filters:"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:739
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:554 plugins/cheat/init.lua:563
+#: plugins/cheatfind/init.lua:616
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
-#, c-format
-msgid "Filter %1$u"
+#: src/frontend/mame/ui/miscmenu.cpp:909 src/frontend/mame/ui/selgame.cpp:441
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
-msgid "Remove last filter"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
-msgid "Add filter"
+#: src/frontend/mame/ui/barcode.cpp:78
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
-msgid "Select category:"
+#: src/frontend/mame/ui/barcode.cpp:119
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
-msgid "[no category INI files]"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:99
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
-msgid "[no groups in INI file]"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
-msgid "No category INI files found"
+#: src/frontend/mame/ui/mainmenu.cpp:60
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
-msgid "File"
+#: src/frontend/mame/ui/mainmenu.cpp:62
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
-msgid "No groups found in category file"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
-msgid "Group"
+#: src/frontend/mame/ui/mainmenu.cpp:68
+msgid "Dip Switches"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
-msgid "Include clones"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
+#: src/frontend/mame/ui/mainmenu.cpp:78
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/mainmenu.cpp:85
+msgid "Image Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/mainmenu.cpp:96
+msgid "Tape Control"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/mainmenu.cpp:102
+msgid "BIOS Selection"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/mainmenu.cpp:106
+msgid "Slot Devices"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
-#, c-format
-msgid "%s [internal]"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Barcode Reader"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:203 src/frontend/mame/ui/miscmenu.cpp:97
-#: src/frontend/mame/ui/inputmap.cpp:615
-msgid "Reset"
+#: src/frontend/mame/ui/mainmenu.cpp:114
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/mainmenu.cpp:118
+msgid "Keyboard Mode"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/mainmenu.cpp:121
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/mainmenu.cpp:124 src/frontend/mame/ui/submenu.cpp:101
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/mainmenu.cpp:128
+msgid "Crosshair Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/mainmenu.cpp:132 plugins/cheat/init.lua:735
+msgid "Cheat"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:762
-#: plugins/cheat/init.lua:569 plugins/cheatfind/init.lua:792
-#: plugins/cheatfind/init.lua:803
-msgid "On"
+#: src/frontend/mame/ui/mainmenu.cpp:135
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:765
-#: plugins/cheat/init.lua:572 plugins/cheat/init.lua:581
-#: plugins/cheatfind/init.lua:789 plugins/cheatfind/init.lua:800
-msgid "Off"
+#: src/frontend/mame/ui/mainmenu.cpp:139
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/mainmenu.cpp:154
+msgid "Select New Machine"
msgstr ""
#: src/frontend/mame/ui/custui.cpp:31
@@ -1378,1281 +1275,1303 @@ msgstr ""
msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/submenu.cpp:22
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/submenu.cpp:23
+msgid "Re-select last machine played"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/submenu.cpp:24
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:26
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:27
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:28
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:29
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:30
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
-#, c-format
-msgid "%s.txt saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/submenu.cpp:45
+msgid "Refresh speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/submenu.cpp:47
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/submenu.cpp:49
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
-msgid "Configure Machine"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
-#, c-format
-msgid "Romset\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
-#, c-format
-msgid "Year\t%1$s\n"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
-#, c-format
-msgid "Manufacturer\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
-#, c-format
-msgid "Driver is Clone of\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1044
-msgid "Driver is Parent\t\n"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
-msgid "Analog Controls\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Artwork Crop"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
-msgid "Keyboard Inputs\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Use Backdrops"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
-msgid "Overall\tNOT WORKING\n"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Use Overlays"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
-msgid "Overall\tUnemulated Protection\n"
+#: src/frontend/mame/ui/submenu.cpp:60
+msgid "Use Bezels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
-msgid "Overall\tWorking\n"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Use Control Panels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
-msgid "Graphics\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:62
+msgid "Use Marquees"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
-msgid "Graphics\tWrong Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
-msgid "Graphics\tImperfect Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
-msgid "Graphics\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
-msgid "Graphics\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Bilinear snapshot"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
-msgid "Sound\tNone\n"
+#: src/frontend/mame/ui/submenu.cpp:69
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
-msgid "Sound\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
-msgid "Sound\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:72
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
-msgid "Sound\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
-msgid "Capture\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
-msgid "Capture\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
-msgid "Camera\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
-msgid "Camera\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
-msgid "Microphone\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
-msgid "Microphone\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:79
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
-msgid "Controls\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
-msgid "Controls\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
-msgid "Keyboard\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Joystick saturation"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
-msgid "Keyboard\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Natural keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
-msgid "Mouse\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
-msgid "Mouse\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
-msgid "Media\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
-msgid "Media\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Lightgun Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
-msgid "Disk\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Trackball Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
-msgid "Disk\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
-msgid "Printer\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
-msgid "Printer\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
-msgid "Mag. Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:95
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
-msgid "Mag. Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:96
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
-msgid "Punch Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:97
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
-msgid "Punch Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
-msgid "Mag. Drum\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:103
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
-msgid "Mag. Drum\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
-msgid "(EP)ROM\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
-msgid "(EP)ROM\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
-msgid "Communications\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:109
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
-msgid "Communications\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:110
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
-msgid "LAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:111
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
-msgid "LAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:112
+msgid "Enforce Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
-msgid "WAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:113
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
-msgid "WAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:114
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
-msgid "Timing\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
-msgid "Timing\tImperfect\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tYes\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Select position to load from"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tNo\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tYes\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Select position to save to"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tNo\n"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:309 src/frontend/mame/ui/selsoft.cpp:211
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:314 src/frontend/mame/ui/selgame.cpp:320
+#: src/frontend/mame/ui/selsoft.cpp:216
+#, c-format
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:437
+msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:849
+#, c-format
+msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:850
+#, c-format
+msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:851
+#, c-format
+msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:855
+#, c-format
+msgid "Driver is Clone of\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:857
+msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tVertical\n"
+#: src/frontend/mame/ui/selgame.cpp:860
+msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tHorizontal\n"
+#: src/frontend/mame/ui/selgame.cpp:862
+msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:865
+msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:867
+msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
-msgid "ROM Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:869
+msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
-msgid "ROM Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:872
+msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
-msgid "Samples Audit Result\tNone Needed\n"
+#: src/frontend/mame/ui/selgame.cpp:874
+msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
-msgid "Samples Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:876
+msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
-msgid "Samples Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:878
+msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
-msgid ""
-"ROM Audit \tDisabled\n"
-"Samples Audit \tDisabled\n"
+#: src/frontend/mame/ui/selgame.cpp:880
+msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
+#: src/frontend/mame/ui/selgame.cpp:883
+msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1424
-#, c-format
-msgid "Romset: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:885
+msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
-#, c-format
-msgid "System: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:887
+msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1465
-msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
+#: src/frontend/mame/ui/selgame.cpp:889
+msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
+#: src/frontend/mame/ui/selgame.cpp:892
+msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
+#: src/frontend/mame/ui/selgame.cpp:894
+msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
+#: src/frontend/mame/ui/selgame.cpp:897
+msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
+#: src/frontend/mame/ui/selgame.cpp:899
+msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
+#: src/frontend/mame/ui/selgame.cpp:902
+msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selgame.cpp:904
+msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selgame.cpp:907
+msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/selgame.cpp:909
+msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/selgame.cpp:912
+msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/selgame.cpp:914
+msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/selgame.cpp:917
+msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/selgame.cpp:919
+msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/selgame.cpp:922
+msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/selgame.cpp:924
+msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/selgame.cpp:927
+msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/selgame.cpp:929
+msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/selgame.cpp:932
+msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/selgame.cpp:934
+msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/selgame.cpp:937
+msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/selgame.cpp:939
+msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/selgame.cpp:970
+msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/selgame.cpp:972
+msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/selgame.cpp:975
+msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/selgame.cpp:977
+msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/selgame.cpp:979
+msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/selgame.cpp:983
+msgid ""
+"ROM Audit \tDisabled\n"
+"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/selgame.cpp:1167
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/selgame.cpp:1183 src/frontend/mame/ui/selsoft.cpp:555
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/selgame.cpp:1185 src/frontend/mame/ui/selsoft.cpp:557
+#, c-format
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/selgame.cpp:1195
+#, c-format
+msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/selgame.cpp:1202
+#, c-format
+msgid "System: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/selgame.cpp:1239
+msgid ""
+"The selected machine is missing one or more required ROM or CHD images. "
+"Please select a different machine.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/selgame.cpp:1245 src/frontend/mame/ui/selsoft.cpp:462
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/utils.cpp:57 src/frontend/mame/ui/utils.cpp:81
+msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/utils.cpp:58 src/frontend/mame/ui/utils.cpp:82
+msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/utils.cpp:59 src/frontend/mame/ui/utils.cpp:83
+msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/utils.cpp:60
+msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/utils.cpp:61
+msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/utils.cpp:62
+msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:63
+msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:64
+msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:65
+msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:67
+msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:84
+msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/utils.cpp:85
+msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:70
+msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:86
+msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/utils.cpp:72
+msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/utils.cpp:73
+msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/utils.cpp:74
+msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/utils.cpp:75
+msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/utils.cpp:76
+msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/utils.cpp:77
+msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/utils.cpp:78 src/frontend/mame/ui/utils.cpp:94
+msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/utils.cpp:87
+msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/utils.cpp:88
+msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/utils.cpp:89
+msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/utils.cpp:90
+msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/utils.cpp:91
+msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:43
-#, c-format
-msgid ""
-"[This option is currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"The selected option enables the following items:\n"
+#: src/frontend/mame/ui/utils.cpp:92
+msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:44
-#, c-format
-msgid ""
-"[This option is NOT currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"If you select this option, the following items will be enabled:\n"
+#: src/frontend/mame/ui/utils.cpp:93
+msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/utils.cpp:244
+msgid "<set up filters>"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:352
+msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/utils.cpp:503
#, c-format
-msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
-msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:518
+msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %3$d.%4$06d MHz\n"
+#: src/frontend/mame/ui/utils.cpp:520
+msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:959
+msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/utils.cpp:990
+msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/utils.cpp:998
+msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:103
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1032
+msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1037
+msgid "File"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/utils.cpp:1041
+msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
-#, c-format
-msgid " %1$d×%2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1046
+msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1047
+msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:168
-#, c-format
+#: src/frontend/mame/ui/selsoft.cpp:456
msgid ""
-"* BIOS settings:\n"
-" %1$d options [default: %2$s]\n"
+"The selected software is missing one or more required files. Please select a "
+"different software.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:208 src/frontend/mame/ui/devopt.cpp:224
-#: src/frontend/mame/ui/devopt.cpp:269
+#: src/frontend/mame/ui/selsoft.cpp:549
#, c-format
-msgid " %1$s [default: %2$s]\n"
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
+#: src/frontend/mame/ui/selsoft.cpp:550
#, c-format
-msgid " %1$s\n"
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:260
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:419
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/filesel.cpp:515
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:516
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:518
+msgid "Read-write"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
-#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:519
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:520
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:117
+msgid "Cannot save over directory"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:150
+msgid ""
+"The software selected is missing one or more required ROM or CHD images. "
+"Please select a different one."
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:294
+msgid "Return to Machine"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
-#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:299 src/frontend/mame/ui/menu.cpp:301
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+#: src/frontend/mame/ui/menu.cpp:306 src/frontend/mame/ui/menu.cpp:308
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
-#, c-format
-msgid " %1$s [tag: %2$s]\n"
+#: src/frontend/mame/ui/menu.cpp:742
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
+#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:653
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+#: src/frontend/mame/ui/cheatopt.cpp:105
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/cheatopt.cpp:136
+msgid "Autofire Settings"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:581
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:582
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
+#: src/frontend/mame/ui/cheatopt.cpp:273
+msgid "Autofire Status"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
+#: src/frontend/mame/ui/cheatopt.cpp:316
+msgid "No buttons found on this machine!"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+#: src/frontend/mame/ui/cheatopt.cpp:327 src/frontend/mame/ui/cheatopt.cpp:331
+msgid "Autofire Delay"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
-msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
+#: src/frontend/mame/ui/ui.cpp:337
+msgid "This driver requires images to be loaded in the following device(s): "
msgstr ""
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
+#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
+msgid "Keyboard Emulation Status"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
+#: src/frontend/mame/ui/ui.cpp:1086
+msgid "Mode: PARTIAL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
+#: src/frontend/mame/ui/ui.cpp:1087
+msgid "UI: Enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
+#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
+msgid "**Use ScrLock to toggle**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
+#: src/frontend/mame/ui/ui.cpp:1096
+msgid "Mode: FULL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: src/frontend/mame/ui/ui.cpp:1097
+msgid "UI: Disabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
+#: src/frontend/mame/ui/ui.cpp:1249
+msgid "Autofire can't be enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
+#: src/frontend/mame/ui/ui.cpp:1302
+#, c-format
+msgid ""
+"Are you sure you want to quit?\n"
+"\n"
+"Press ''%1$s'' to quit,\n"
+"Press ''%2$s'' to return to emulation."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
+#: src/frontend/mame/ui/ui.cpp:1374
+msgid "Master Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
+#: src/frontend/mame/ui/ui.cpp:1383
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/ui.cpp:1407
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/ui.cpp:1416
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/ui.cpp:1437
+#, c-format
+msgid "%1$s Refresh Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, c-format
+msgid "%1$s Brightness"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1444
+#, c-format
+msgid "%1$s Contrast"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1446
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/ui.cpp:1450
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/ui.cpp:1452
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/ui.cpp:1454
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/ui.cpp:1456
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/ui.cpp:1475
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/ui.cpp:1477
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/ui.cpp:1479
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
-msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+#: src/frontend/mame/ui/ui.cpp:1481
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:198
-msgid ""
-"There are known problems with this machine\n"
-"\n"
+#: src/frontend/mame/ui/ui.cpp:1493
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/ui.cpp:1494
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/ui.cpp:1495
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
+#: src/frontend/mame/ui/ui.cpp:1496
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#: src/frontend/mame/ui/info.cpp:275
+#: src/frontend/mame/ui/ui.cpp:1511
#, c-format
-msgid ", %s"
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
+#: src/frontend/mame/ui/ui.cpp:1513
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:243
-msgid ""
-"This machine was never completed. It may exhibit strange behavior or missing "
-"elements that are not bugs in the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1601
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:245
-msgid ""
-"This machine has no sound hardware, MAME will produce no sounds, this is "
-"expected behaviour.\n"
+#: src/frontend/mame/ui/ui.cpp:1645
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:249
-msgid ""
-"\n"
-"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
-"complete. There is nothing you can do to fix this problem except wait for "
-"the developers to improve the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1661
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:251
-msgid ""
-"\n"
-"Elements of this machine cannot be emulated as they requires physical "
-"interaction or consist of mechanical devices. It is not possible to fully "
-"experience this machine.\n"
+#: src/frontend/mame/ui/ui.cpp:1685
+#, c-format
+msgid "%1$.3ffps"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
+#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
+#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
+#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
+#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
+#: src/frontend/mame/ui/ui.cpp:1927
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
+#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/ui.cpp:2005
#, c-format
-msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/ui.cpp:2226
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " COLORS"
+msgstr ""
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:39
#, c-format
-msgid "%1$s: %2$s\n"
+msgid ""
+"[This option is currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"The selected option enables the following items:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+#: src/frontend/mame/ui/devopt.cpp:40
+#, c-format
+msgid ""
+"[This option is NOT currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"If you select this option, the following items will be enabled:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:48
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
#, c-format
-msgid "Screen '%1$s'"
+msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
+msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:85
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:90
+#, c-format
+msgid " Screen '%1$s': Vector\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:99
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:100
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:113
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:133
+#, c-format
+msgid " %1$d×%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:164
+#, c-format
+msgid ""
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:204 src/frontend/mame/ui/devopt.cpp:220
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
+#: src/frontend/mame/ui/devopt.cpp:209 src/frontend/mame/ui/devopt.cpp:225
#, c-format
-msgid "Software is clone of: %1$-.100s"
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: src/frontend/mame/ui/devopt.cpp:230
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: src/frontend/mame/ui/devopt.cpp:232
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: src/frontend/mame/ui/devopt.cpp:234
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: src/frontend/mame/ui/devopt.cpp:236
+#, c-format
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
+#: src/frontend/mame/ui/devopt.cpp:238
#, c-format
-msgid "romset: %1$-.100s"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
+#: src/frontend/mame/ui/devopt.cpp:240
#, c-format
-msgid "Driver is clone of: %1$-.100s"
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: src/frontend/mame/ui/devopt.cpp:242
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
+#: src/frontend/mame/ui/devopt.cpp:244
#, c-format
-msgid "%1$s %2$s"
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: src/frontend/mame/ui/devopt.cpp:246
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: src/frontend/mame/ui/devopt.cpp:248
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: src/frontend/mame/ui/devopt.cpp:257
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: src/frontend/mame/ui/devopt.cpp:263
+msgid "* Slot Options:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:270
+msgid "[None]\n"
msgstr ""
#: plugins/timer/init.lua:94
@@ -2671,51 +2590,51 @@ msgstr ""
msgid "Timer"
msgstr ""
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:510
msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheat/init.lua:534
+#: plugins/cheat/init.lua:516
msgid "Press button for hotkey or wait to clear"
msgstr ""
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:528
msgid "None"
msgstr ""
-#: plugins/cheat/init.lua:551
+#: plugins/cheat/init.lua:533
msgid "Done"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:547 plugins/cheat/init.lua:561
msgid "Set"
msgstr ""
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:580
msgid "Set hotkeys"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:720
#, lua-format
msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:723 plugins/cheat/init.lua:781
#, lua-format
msgid "Activated: %s"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:785
#, lua-format
msgid "Enabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:790
#, lua-format
msgid "Disabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "%s added"
msgstr ""
@@ -2764,303 +2683,218 @@ msgstr ""
msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:404
+#: plugins/cheatfind/init.lua:373
msgid "Save Cheat"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Default"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Custom"
msgstr ""
-#: plugins/cheatfind/init.lua:408
+#: plugins/cheatfind/init.lua:377
msgid "Cheat Name"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/cheatfind/init.lua:383 plugins/cheatfind/init.lua:748
#, lua-format
msgid "Default name is %s"
msgstr ""
-#: plugins/cheatfind/init.lua:422
+#: plugins/cheatfind/init.lua:391
msgid "Player"
msgstr ""
-#: plugins/cheatfind/init.lua:427
+#: plugins/cheatfind/init.lua:396
msgid "Type"
msgstr ""
-#: plugins/cheatfind/init.lua:433
+#: plugins/cheatfind/init.lua:402
msgid "Save"
msgstr ""
-#: plugins/cheatfind/init.lua:462
+#: plugins/cheatfind/init.lua:429
#, lua-format
msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:472
+#: plugins/cheatfind/init.lua:437
msgid "Cheat added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:442
msgid ""
"Unable to write file\n"
"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/cheatfind/init.lua:486
+#: plugins/cheatfind/init.lua:451
msgid "Cancel"
msgstr ""
-#: plugins/cheatfind/init.lua:491
+#: plugins/cheatfind/init.lua:456
msgid "CPU or RAM"
msgstr ""
-#: plugins/cheatfind/init.lua:495
+#: plugins/cheatfind/init.lua:460
msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:479
+msgid "Data cleared and current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:487
+msgid "Start new search"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:497
+msgid "Current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:504
+msgid "Save current -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
+#: plugins/cheatfind/init.lua:536
#, lua-format
-msgid "Memory State saved to Slot %d"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:543
+msgid "Compare"
msgstr ""
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
+#: plugins/cheatfind/init.lua:546
+msgid "Left operand"
+msgstr ""
+
+#: plugins/cheatfind/init.lua:549
+msgid "Current"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:554
+msgid "Operator"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:561
+msgid "Left less than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:563
+msgid "Left greater than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:676
+#: plugins/cheatfind/init.lua:565
msgid "Left equal to right"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:567
+msgid "Left not equal to right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:680
+#: plugins/cheatfind/init.lua:569
msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:682
+#: plugins/cheatfind/init.lua:571
msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:684
+#: plugins/cheatfind/init.lua:573
msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:686
+#: plugins/cheatfind/init.lua:575
msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:688
+#: plugins/cheatfind/init.lua:577
msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:690
+#: plugins/cheatfind/init.lua:579
msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/cheatfind/init.lua:590
+msgid "Right operand"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/cheatfind/init.lua:598
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:719
+#: plugins/cheatfind/init.lua:602
msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:725
+#: plugins/cheatfind/init.lua:608
msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:738
-msgid ""
-"Use this if you want to poke the Slot 1 value (eg. You started with "
-"something but lost it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:740
-msgid ""
-"Use this if you want to poke the Last Slot value (eg. You started without an "
-"item but finally got it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:816
+#: plugins/cheatfind/init.lua:632
msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:820
+#: plugins/cheatfind/init.lua:636
msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:823
+#: plugins/cheatfind/init.lua:639
msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheatfind/init.lua:690
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Test cheat at addr %08X"
msgstr ""
-#: plugins/cheatfind/init.lua:974
+#: plugins/cheatfind/init.lua:722
msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
+#: plugins/cheatfind/init.lua:788
msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
+#: plugins/cheatfind/init.lua:806
msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
+#: plugins/cheatfind/init.lua:816
msgid "Cheat Finder"
msgstr ""
-#: plugins/portname/init.lua:103
+#: plugins/portname/init.lua:69
msgid "Save input names to file"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
+#: plugins/portname/init.lua:100 plugins/portname/init.lua:105
+#: plugins/portname/init.lua:121
msgid "Failed to save input name file"
msgstr ""
-#: plugins/portname/init.lua:167
+#: plugins/portname/init.lua:133
#, lua-format
msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/portname/init.lua:172
+#: plugins/portname/init.lua:138
msgid "Input ports"
msgstr ""
diff --git a/language/Georgian/strings.po b/language/Georgian/strings.po
index a33028c4b08..579281f511d 100644
--- a/language/Georgian/strings.po
+++ b/language/Georgian/strings.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MAME\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-03-17 13:37+1100\n"
+"POT-Creation-Date: 2018-04-28 15:32+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -16,1144 +16,1041 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
+#: src/frontend/mame/ui/auditmenu.cpp:96
#, c-format
-msgid "Screen #%d"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Enabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Disabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
-msgid "Marquees"
+#: src/frontend/mame/ui/auditmenu.cpp:99
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/auditmenu.cpp:104
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/auditmenu.cpp:130
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/auditmenu.cpp:142
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/selmenu.cpp:49 src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/selmenu.cpp:50 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/selmenu.cpp:51
+msgid "Control Panels"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/selmenu.cpp:52 src/frontend/mame/ui/dirmenu.cpp:50
+msgid "PCBs"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/selmenu.cpp:53 src/frontend/mame/ui/dirmenu.cpp:47
+msgid "Flyers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/selmenu.cpp:54 src/frontend/mame/ui/dirmenu.cpp:48
+msgid "Titles"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/selmenu.cpp:55 src/frontend/mame/ui/dirmenu.cpp:49
+msgid "Ends"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/selmenu.cpp:56
+msgid "Artwork Preview"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/selmenu.cpp:57 src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Bosses"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/selmenu.cpp:58 src/frontend/mame/ui/dirmenu.cpp:60
+msgid "Logos"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/selmenu.cpp:59 src/frontend/mame/ui/dirmenu.cpp:62
+msgid "Versus"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/selmenu.cpp:60
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/selmenu.cpp:61 src/frontend/mame/ui/dirmenu.cpp:59
+msgid "HowTo"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/selmenu.cpp:62 src/frontend/mame/ui/dirmenu.cpp:61
+msgid "Scores"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/selmenu.cpp:63 src/frontend/mame/ui/dirmenu.cpp:57
+msgid "Select"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/selmenu.cpp:64 src/frontend/mame/ui/dirmenu.cpp:51
+#: src/frontend/mame/ui/videoopt.cpp:224
+msgid "Marquees"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/selmenu.cpp:65 src/frontend/mame/ui/dirmenu.cpp:63
+msgid "Covers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/selmenu.cpp:69
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/selmenu.cpp:70
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/selmenu.cpp:71
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/selmenu.cpp:237
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/selmenu.cpp:343
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/selmenu.cpp:570 src/frontend/mame/ui/selmenu.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:311
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/selmenu.cpp:574
+#, c-format
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/selmenu.cpp:576
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/selmenu.cpp:581
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/selmenu.cpp:586
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/selmenu.cpp:591
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selmenu.cpp:596
+#, c-format
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selmenu.cpp:612
#, c-format
-msgid "Current %1$s Folders"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selmenu.cpp:614
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selmenu.cpp:619
+#: src/frontend/mame/ui/simpleselgame.cpp:330
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selmenu.cpp:621
+#: src/frontend/mame/ui/simpleselgame.cpp:332
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:623
+#: src/frontend/mame/ui/simpleselgame.cpp:334
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:627
+#: src/frontend/mame/ui/simpleselgame.cpp:338
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/selmenu.cpp:629
+#: src/frontend/mame/ui/simpleselgame.cpp:340
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/selmenu.cpp:631
+#: src/frontend/mame/ui/simpleselgame.cpp:342
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/selmenu.cpp:634
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/selmenu.cpp:636
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/selmenu.cpp:638
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/selmenu.cpp:640
+#: src/frontend/mame/ui/simpleselgame.cpp:351
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/selmenu.cpp:650
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/selmenu.cpp:1975
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/selmenu.cpp:1976
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/selmenu.cpp:2386 src/frontend/mame/ui/miscmenu.cpp:826
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/selmenu.cpp:2454
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/selmenu.cpp:2489
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/dirmenu.cpp:35
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/dirmenu.cpp:36
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
-#: src/frontend/mame/ui/slotopt.cpp:220
-msgid "[empty slot]"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/dirmenu.cpp:40
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/dirmenu.cpp:52
+msgid "Controls Panels"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/dirmenu.cpp:53
+msgid "Crosshairs"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Artworks"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks Preview"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "GameOver"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/dirmenu.cpp:116
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/dirmenu.cpp:167
+#, c-format
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/dirmenu.cpp:182
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/dirmenu.cpp:429
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/dirmenu.cpp:513
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/info.cpp:30
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "LAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/info.cpp:180
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/info.cpp:190
+msgid ""
+"There are known problems with this machine\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/info.cpp:195
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/info.cpp:200
+msgid "Completely unemulated features: "
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#, c-format
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#: src/frontend/mame/ui/info.cpp:267
+#, c-format
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/info.cpp:216
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/info.cpp:231
+msgid "Screen flipping in cocktail mode is not supported.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/info.cpp:233
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/info.cpp:235
+msgid ""
+"This machine was never completed. It may exhibit strange behavior or missing "
+"elements that are not bugs in the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/info.cpp:237
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/info.cpp:241
+msgid ""
+"\n"
+"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
+"complete. There is nothing you can do to fix this problem except wait for "
+"the developers to improve the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/info.cpp:243
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they requires physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/info.cpp:265
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/info.cpp:278
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/info.cpp:293
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:149
+#: src/frontend/mame/ui/info.cpp:342
msgid ""
-"The selected game is missing one or more required ROM or CHD images. Please "
-"select a different game.\n"
"\n"
-"Press any key to continue."
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:247
-#, c-format
+#: src/frontend/mame/ui/info.cpp:370
msgid ""
-"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
"\n"
-"If this is your first time using %2$s, please see the config.txt file in the "
-"docs directory for information on configuring %2$s."
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+"Video:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/info.cpp:374
+msgid "None\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/info.cpp:381
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:314
-#: src/frontend/mame/ui/selsoft.cpp:652 src/frontend/mame/ui/selsoft.cpp:659
+#: src/frontend/mame/ui/info.cpp:392
#, c-format
-msgid "%1$-.100s"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:317
-#: src/frontend/mame/ui/selmenu.cpp:618 src/frontend/mame/ui/selmenu.cpp:654
-#, c-format
-msgid "%1$s, %2$-.100s"
+#: src/frontend/mame/ui/info.cpp:392
+msgid "%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
+#: src/frontend/mame/ui/info.cpp:438
#, c-format
-msgid "Driver: %1$-.100s"
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+msgid "Screen '%1$s'"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/info.cpp:440
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/info.cpp:525
+msgid "Not supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/info.cpp:528
+msgid "Partially supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/info.cpp:536
+msgid "[empty]"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/optsmenu.cpp:193
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/optsmenu.cpp:206
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/optsmenu.cpp:207
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/optsmenu.cpp:210 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/optsmenu.cpp:213
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/optsmenu.cpp:216
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/optsmenu.cpp:228
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:337
-msgid "This driver requires images to be loaded in the following device(s): "
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
+msgid "Rewind"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1302
-#, c-format
-msgid ""
-"Are you sure you want to quit?\n"
-"\n"
-"Press ''%1$s'' to quit,\n"
-"Press ''%2$s'' to return to emulation."
+#: src/frontend/mame/ui/inputmap.cpp:53
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/inputmap.cpp:59
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
+#: src/frontend/mame/ui/inputmap.cpp:628 src/frontend/mame/ui/miscmenu.cpp:96
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/selector.cpp:116
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
+#: src/frontend/mame/ui/selector.cpp:124
#, c-format
-msgid "Overclock %1$s sound"
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/filesel.cpp:256
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/swlist.cpp:88
+msgid "[file manager]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/swlist.cpp:228
+msgid "Switch Item Ordering"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
+#: src/frontend/mame/ui/swlist.cpp:259
#, c-format
-msgid "%1$s Horiz Stretch"
+msgid "Switched Order: entries now ordered by %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "shortname"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "description"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/swlist.cpp:389
+msgid "[compatible lists]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/datmenu.cpp:80
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/datmenu.cpp:362
+msgid "Revision: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/simpleselgame.cpp:149
+msgid ""
+"The selected game is missing one or more required ROM or CHD images. Please "
+"select a different game.\n"
+"\n"
+"Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
+#: src/frontend/mame/ui/simpleselgame.cpp:241
#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+msgid ""
+"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
+"\n"
+"If this is your first time using %2$s, please see the config.txt file in the "
+"docs directory for information on configuring %2$s."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/simpleselgame.cpp:271
+#: src/frontend/mame/ui/selgame.cpp:436
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/simpleselgame.cpp:292
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/simpleselgame.cpp:294
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
+#: src/frontend/mame/ui/simpleselgame.cpp:308
+#: src/frontend/mame/ui/selsoft.cpp:564 src/frontend/mame/ui/selsoft.cpp:571
#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/simpleselgame.cpp:314
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
+#: src/frontend/mame/ui/videoopt.cpp:56
#, c-format
-msgid "Crosshair Offset %1$s"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/videoopt.cpp:208
+msgid "Backdrops"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Enabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Disabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
-#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
-#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
-#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
-#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
-#: src/frontend/mame/ui/ui.cpp:1927
-#, c-format
-msgid "%1$.3f"
+#: src/frontend/mame/ui/videoopt.cpp:212
+msgid "Overlays"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
-#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
-#, c-format
-msgid "%1$1.2f"
+#: src/frontend/mame/ui/videoopt.cpp:216
+msgid "Bezels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:220
+msgid "CPanels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "View"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cropped"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Full"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1047
+msgid "No"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
-msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1047
+msgid "Yes"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
-msgid ""
-"Cheat Comment:\n"
-"%s"
+#: src/frontend/mame/ui/filecreate.cpp:171
+msgid "New Image Name:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/filecreate.cpp:177
+msgid "Image Format:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/filecreate.cpp:183
+msgid "Create"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/filecreate.cpp:266
+msgid "Select image format"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Keyboard Mode:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Natural"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Emulated"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
+#: src/frontend/mame/ui/miscmenu.cpp:236
#, c-format
msgid ""
-"%s\n"
-" added to favorites list."
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
+#: src/frontend/mame/ui/miscmenu.cpp:238
#, c-format
msgid ""
-"%s\n"
-" removed from favorites list."
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/miscmenu.cpp:242
+#, c-format
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
+"Tickets dispensed: %1$d\n"
"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
+#: src/frontend/mame/ui/miscmenu.cpp:253
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/miscmenu.cpp:253
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
-#, c-format
-msgid "Driver: \"%1$s\" software list "
+#: src/frontend/mame/ui/miscmenu.cpp:256
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
-#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+#: src/frontend/mame/ui/miscmenu.cpp:503
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/miscmenu.cpp:601
#, c-format
-msgid "Search: %1$s_"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
-msgid "Unfiltered"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
-msgid "Available"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
-msgid "Unavailable"
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
-msgid "Working"
+#: src/frontend/mame/ui/miscmenu.cpp:627
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
-msgid "Not Working"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
-msgid "Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:655
+msgid "Export list in XML format (like -listxml)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
-msgid "Not Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:656
+msgid "Export list in XML format (like -listxml, but exclude devices)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
-msgid "Category"
+#: src/frontend/mame/ui/miscmenu.cpp:657
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
-msgid "Favorites"
+#: src/frontend/mame/ui/miscmenu.cpp:710 src/frontend/mame/ui/ui.cpp:2230
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/miscmenu.cpp:760 src/frontend/mame/ui/utils.cpp:66
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
-msgid "Not BIOS"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
-msgid "Parents"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
-msgid "Clones"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:73
-msgid "Manufacturer"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
-msgid "Year"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:75
-msgid "Save Supported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:76
-msgid "Save Unsupported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:77
-msgid "CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:78
-msgid "No CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:79
-msgid "Vertical Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:80
-msgid "Horizontal Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
-msgid "Custom Filter"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:91
-msgid "Publisher"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:92
-msgid "Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:764
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
-msgid "Partially Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:767
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
-msgid "Unsupported"
+#: src/frontend/mame/ui/miscmenu.cpp:776 src/frontend/mame/ui/mainmenu.cpp:145
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
-msgid "Release Region"
+#: src/frontend/mame/ui/miscmenu.cpp:778 src/frontend/mame/ui/mainmenu.cpp:147
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
-msgid "Device Type"
+#: src/frontend/mame/ui/miscmenu.cpp:781
+msgid "Save machine configuration"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
-msgid "Software List"
+#: src/frontend/mame/ui/miscmenu.cpp:792
+msgid "Configure machine:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
-msgid "<set up filters>"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:736
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:551 plugins/cheatfind/init.lua:619
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
-msgid "Select custom filters:"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:739
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:554 plugins/cheat/init.lua:563
+#: plugins/cheatfind/init.lua:616
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
-#, c-format
-msgid "Filter %1$u"
+#: src/frontend/mame/ui/miscmenu.cpp:909 src/frontend/mame/ui/selgame.cpp:441
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
-msgid "Remove last filter"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
-msgid "Add filter"
+#: src/frontend/mame/ui/barcode.cpp:78
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
-msgid "Select category:"
+#: src/frontend/mame/ui/barcode.cpp:119
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
-msgid "[no category INI files]"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:99
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
-msgid "[no groups in INI file]"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
-msgid "No category INI files found"
+#: src/frontend/mame/ui/mainmenu.cpp:60
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
-msgid "File"
+#: src/frontend/mame/ui/mainmenu.cpp:62
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
-msgid "No groups found in category file"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
-msgid "Group"
+#: src/frontend/mame/ui/mainmenu.cpp:68
+msgid "Dip Switches"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
-msgid "Include clones"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
+#: src/frontend/mame/ui/mainmenu.cpp:78
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/mainmenu.cpp:85
+msgid "Image Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/mainmenu.cpp:96
+msgid "Tape Control"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/mainmenu.cpp:102
+msgid "BIOS Selection"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/mainmenu.cpp:106
+msgid "Slot Devices"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
-#, c-format
-msgid "%s [internal]"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Barcode Reader"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:203 src/frontend/mame/ui/miscmenu.cpp:97
-#: src/frontend/mame/ui/inputmap.cpp:615
-msgid "Reset"
+#: src/frontend/mame/ui/mainmenu.cpp:114
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/mainmenu.cpp:118
+msgid "Keyboard Mode"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/mainmenu.cpp:121
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/mainmenu.cpp:124 src/frontend/mame/ui/submenu.cpp:101
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/mainmenu.cpp:128
+msgid "Crosshair Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/mainmenu.cpp:132 plugins/cheat/init.lua:735
+msgid "Cheat"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:762
-#: plugins/cheat/init.lua:569 plugins/cheatfind/init.lua:792
-#: plugins/cheatfind/init.lua:803
-msgid "On"
+#: src/frontend/mame/ui/mainmenu.cpp:135
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:765
-#: plugins/cheat/init.lua:572 plugins/cheat/init.lua:581
-#: plugins/cheatfind/init.lua:789 plugins/cheatfind/init.lua:800
-msgid "Off"
+#: src/frontend/mame/ui/mainmenu.cpp:139
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/mainmenu.cpp:154
+msgid "Select New Machine"
msgstr ""
#: src/frontend/mame/ui/custui.cpp:31
@@ -1376,1281 +1273,1303 @@ msgstr ""
msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/submenu.cpp:22
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/submenu.cpp:23
+msgid "Re-select last machine played"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/submenu.cpp:24
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:26
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:27
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:28
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:29
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:30
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
-#, c-format
-msgid "%s.txt saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/submenu.cpp:45
+msgid "Refresh speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/submenu.cpp:47
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/submenu.cpp:49
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
-msgid "Configure Machine"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
-#, c-format
-msgid "Romset\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
-#, c-format
-msgid "Year\t%1$s\n"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
-#, c-format
-msgid "Manufacturer\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
-#, c-format
-msgid "Driver is Clone of\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1044
-msgid "Driver is Parent\t\n"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
-msgid "Analog Controls\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Artwork Crop"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
-msgid "Keyboard Inputs\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Use Backdrops"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
-msgid "Overall\tNOT WORKING\n"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Use Overlays"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
-msgid "Overall\tUnemulated Protection\n"
+#: src/frontend/mame/ui/submenu.cpp:60
+msgid "Use Bezels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
-msgid "Overall\tWorking\n"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Use Control Panels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
-msgid "Graphics\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:62
+msgid "Use Marquees"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
-msgid "Graphics\tWrong Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
-msgid "Graphics\tImperfect Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
-msgid "Graphics\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
-msgid "Graphics\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Bilinear snapshot"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
-msgid "Sound\tNone\n"
+#: src/frontend/mame/ui/submenu.cpp:69
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
-msgid "Sound\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
-msgid "Sound\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:72
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
-msgid "Sound\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
-msgid "Capture\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
-msgid "Capture\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
-msgid "Camera\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
-msgid "Camera\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
-msgid "Microphone\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
-msgid "Microphone\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:79
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
-msgid "Controls\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
-msgid "Controls\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
-msgid "Keyboard\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Joystick saturation"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
-msgid "Keyboard\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Natural keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
-msgid "Mouse\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
-msgid "Mouse\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
-msgid "Media\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
-msgid "Media\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Lightgun Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
-msgid "Disk\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Trackball Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
-msgid "Disk\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
-msgid "Printer\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
-msgid "Printer\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
-msgid "Mag. Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:95
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
-msgid "Mag. Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:96
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
-msgid "Punch Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:97
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
-msgid "Punch Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
-msgid "Mag. Drum\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:103
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
-msgid "Mag. Drum\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
-msgid "(EP)ROM\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
-msgid "(EP)ROM\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
-msgid "Communications\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:109
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
-msgid "Communications\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:110
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
-msgid "LAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:111
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
-msgid "LAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:112
+msgid "Enforce Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
-msgid "WAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:113
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
-msgid "WAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:114
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
-msgid "Timing\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
-msgid "Timing\tImperfect\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tYes\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Select position to load from"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tNo\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tYes\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Select position to save to"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tNo\n"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:309 src/frontend/mame/ui/selsoft.cpp:211
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:314 src/frontend/mame/ui/selgame.cpp:320
+#: src/frontend/mame/ui/selsoft.cpp:216
+#, c-format
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:437
+msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:849
+#, c-format
+msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:850
+#, c-format
+msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:851
+#, c-format
+msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:855
+#, c-format
+msgid "Driver is Clone of\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:857
+msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tVertical\n"
+#: src/frontend/mame/ui/selgame.cpp:860
+msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tHorizontal\n"
+#: src/frontend/mame/ui/selgame.cpp:862
+msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:865
+msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:867
+msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
-msgid "ROM Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:869
+msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
-msgid "ROM Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:872
+msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
-msgid "Samples Audit Result\tNone Needed\n"
+#: src/frontend/mame/ui/selgame.cpp:874
+msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
-msgid "Samples Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:876
+msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
-msgid "Samples Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:878
+msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
-msgid ""
-"ROM Audit \tDisabled\n"
-"Samples Audit \tDisabled\n"
+#: src/frontend/mame/ui/selgame.cpp:880
+msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
+#: src/frontend/mame/ui/selgame.cpp:883
+msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1424
-#, c-format
-msgid "Romset: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:885
+msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
-#, c-format
-msgid "System: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:887
+msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1465
-msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
+#: src/frontend/mame/ui/selgame.cpp:889
+msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
+#: src/frontend/mame/ui/selgame.cpp:892
+msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
+#: src/frontend/mame/ui/selgame.cpp:894
+msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
+#: src/frontend/mame/ui/selgame.cpp:897
+msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
+#: src/frontend/mame/ui/selgame.cpp:899
+msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
+#: src/frontend/mame/ui/selgame.cpp:902
+msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selgame.cpp:904
+msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selgame.cpp:907
+msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/selgame.cpp:909
+msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/selgame.cpp:912
+msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/selgame.cpp:914
+msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/selgame.cpp:917
+msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/selgame.cpp:919
+msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/selgame.cpp:922
+msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/selgame.cpp:924
+msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/selgame.cpp:927
+msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/selgame.cpp:929
+msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/selgame.cpp:932
+msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/selgame.cpp:934
+msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/selgame.cpp:937
+msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/selgame.cpp:939
+msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/selgame.cpp:970
+msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/selgame.cpp:972
+msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/selgame.cpp:975
+msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/selgame.cpp:977
+msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/selgame.cpp:979
+msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/selgame.cpp:983
+msgid ""
+"ROM Audit \tDisabled\n"
+"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/selgame.cpp:1167
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/selgame.cpp:1183 src/frontend/mame/ui/selsoft.cpp:555
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/selgame.cpp:1185 src/frontend/mame/ui/selsoft.cpp:557
+#, c-format
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/selgame.cpp:1195
+#, c-format
+msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/selgame.cpp:1202
+#, c-format
+msgid "System: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/selgame.cpp:1239
+msgid ""
+"The selected machine is missing one or more required ROM or CHD images. "
+"Please select a different machine.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/selgame.cpp:1245 src/frontend/mame/ui/selsoft.cpp:462
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/utils.cpp:57 src/frontend/mame/ui/utils.cpp:81
+msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/utils.cpp:58 src/frontend/mame/ui/utils.cpp:82
+msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/utils.cpp:59 src/frontend/mame/ui/utils.cpp:83
+msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/utils.cpp:60
+msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/utils.cpp:61
+msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/utils.cpp:62
+msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:63
+msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:64
+msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:65
+msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:67
+msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:84
+msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/utils.cpp:85
+msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:70
+msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:86
+msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/utils.cpp:72
+msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/utils.cpp:73
+msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/utils.cpp:74
+msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/utils.cpp:75
+msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/utils.cpp:76
+msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/utils.cpp:77
+msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/utils.cpp:78 src/frontend/mame/ui/utils.cpp:94
+msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/utils.cpp:87
+msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/utils.cpp:88
+msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/utils.cpp:89
+msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/utils.cpp:90
+msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/utils.cpp:91
+msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:43
-#, c-format
-msgid ""
-"[This option is currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"The selected option enables the following items:\n"
+#: src/frontend/mame/ui/utils.cpp:92
+msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:44
-#, c-format
-msgid ""
-"[This option is NOT currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"If you select this option, the following items will be enabled:\n"
+#: src/frontend/mame/ui/utils.cpp:93
+msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/utils.cpp:244
+msgid "<set up filters>"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:352
+msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/utils.cpp:503
#, c-format
-msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
-msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:518
+msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %3$d.%4$06d MHz\n"
+#: src/frontend/mame/ui/utils.cpp:520
+msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:959
+msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/utils.cpp:990
+msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/utils.cpp:998
+msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:103
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1032
+msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1037
+msgid "File"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/utils.cpp:1041
+msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
-#, c-format
-msgid " %1$d×%2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1046
+msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1047
+msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:168
-#, c-format
+#: src/frontend/mame/ui/selsoft.cpp:456
msgid ""
-"* BIOS settings:\n"
-" %1$d options [default: %2$s]\n"
+"The selected software is missing one or more required files. Please select a "
+"different software.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:208 src/frontend/mame/ui/devopt.cpp:224
-#: src/frontend/mame/ui/devopt.cpp:269
+#: src/frontend/mame/ui/selsoft.cpp:549
#, c-format
-msgid " %1$s [default: %2$s]\n"
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
+#: src/frontend/mame/ui/selsoft.cpp:550
#, c-format
-msgid " %1$s\n"
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:260
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:419
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/filesel.cpp:515
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:516
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:518
+msgid "Read-write"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
-#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:519
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:520
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:117
+msgid "Cannot save over directory"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:150
+msgid ""
+"The software selected is missing one or more required ROM or CHD images. "
+"Please select a different one."
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:294
+msgid "Return to Machine"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
-#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:299 src/frontend/mame/ui/menu.cpp:301
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+#: src/frontend/mame/ui/menu.cpp:306 src/frontend/mame/ui/menu.cpp:308
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
-#, c-format
-msgid " %1$s [tag: %2$s]\n"
+#: src/frontend/mame/ui/menu.cpp:742
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
+#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:653
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+#: src/frontend/mame/ui/cheatopt.cpp:105
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/cheatopt.cpp:136
+msgid "Autofire Settings"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:581
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:582
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
+#: src/frontend/mame/ui/cheatopt.cpp:273
+msgid "Autofire Status"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
+#: src/frontend/mame/ui/cheatopt.cpp:316
+msgid "No buttons found on this machine!"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+#: src/frontend/mame/ui/cheatopt.cpp:327 src/frontend/mame/ui/cheatopt.cpp:331
+msgid "Autofire Delay"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
-msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
+#: src/frontend/mame/ui/ui.cpp:337
+msgid "This driver requires images to be loaded in the following device(s): "
msgstr ""
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
+#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
+msgid "Keyboard Emulation Status"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
+#: src/frontend/mame/ui/ui.cpp:1086
+msgid "Mode: PARTIAL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
+#: src/frontend/mame/ui/ui.cpp:1087
+msgid "UI: Enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
+#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
+msgid "**Use ScrLock to toggle**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
+#: src/frontend/mame/ui/ui.cpp:1096
+msgid "Mode: FULL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: src/frontend/mame/ui/ui.cpp:1097
+msgid "UI: Disabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
+#: src/frontend/mame/ui/ui.cpp:1249
+msgid "Autofire can't be enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
+#: src/frontend/mame/ui/ui.cpp:1302
+#, c-format
+msgid ""
+"Are you sure you want to quit?\n"
+"\n"
+"Press ''%1$s'' to quit,\n"
+"Press ''%2$s'' to return to emulation."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
+#: src/frontend/mame/ui/ui.cpp:1374
+msgid "Master Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
+#: src/frontend/mame/ui/ui.cpp:1383
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/ui.cpp:1407
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/ui.cpp:1416
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/ui.cpp:1437
+#, c-format
+msgid "%1$s Refresh Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, c-format
+msgid "%1$s Brightness"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1444
+#, c-format
+msgid "%1$s Contrast"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1446
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/ui.cpp:1450
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/ui.cpp:1452
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/ui.cpp:1454
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/ui.cpp:1456
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/ui.cpp:1475
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/ui.cpp:1477
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/ui.cpp:1479
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
-msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+#: src/frontend/mame/ui/ui.cpp:1481
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:198
-msgid ""
-"There are known problems with this machine\n"
-"\n"
+#: src/frontend/mame/ui/ui.cpp:1493
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/ui.cpp:1494
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/ui.cpp:1495
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
+#: src/frontend/mame/ui/ui.cpp:1496
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#: src/frontend/mame/ui/info.cpp:275
+#: src/frontend/mame/ui/ui.cpp:1511
#, c-format
-msgid ", %s"
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
+#: src/frontend/mame/ui/ui.cpp:1513
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:243
-msgid ""
-"This machine was never completed. It may exhibit strange behavior or missing "
-"elements that are not bugs in the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1601
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:245
-msgid ""
-"This machine has no sound hardware, MAME will produce no sounds, this is "
-"expected behaviour.\n"
+#: src/frontend/mame/ui/ui.cpp:1645
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:249
-msgid ""
-"\n"
-"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
-"complete. There is nothing you can do to fix this problem except wait for "
-"the developers to improve the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1661
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:251
-msgid ""
-"\n"
-"Elements of this machine cannot be emulated as they requires physical "
-"interaction or consist of mechanical devices. It is not possible to fully "
-"experience this machine.\n"
+#: src/frontend/mame/ui/ui.cpp:1685
+#, c-format
+msgid "%1$.3ffps"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
+#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
+#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
+#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
+#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
+#: src/frontend/mame/ui/ui.cpp:1927
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
+#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/ui.cpp:2005
#, c-format
-msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/ui.cpp:2226
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " COLORS"
+msgstr ""
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:39
#, c-format
-msgid "%1$s: %2$s\n"
+msgid ""
+"[This option is currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"The selected option enables the following items:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+#: src/frontend/mame/ui/devopt.cpp:40
+#, c-format
+msgid ""
+"[This option is NOT currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"If you select this option, the following items will be enabled:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:48
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
#, c-format
-msgid "Screen '%1$s'"
+msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
+msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:85
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:90
+#, c-format
+msgid " Screen '%1$s': Vector\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:99
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:100
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:113
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:133
+#, c-format
+msgid " %1$d×%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:164
+#, c-format
+msgid ""
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:204 src/frontend/mame/ui/devopt.cpp:220
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
+#: src/frontend/mame/ui/devopt.cpp:209 src/frontend/mame/ui/devopt.cpp:225
#, c-format
-msgid "Software is clone of: %1$-.100s"
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: src/frontend/mame/ui/devopt.cpp:230
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: src/frontend/mame/ui/devopt.cpp:232
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: src/frontend/mame/ui/devopt.cpp:234
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: src/frontend/mame/ui/devopt.cpp:236
+#, c-format
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
+#: src/frontend/mame/ui/devopt.cpp:238
#, c-format
-msgid "romset: %1$-.100s"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
+#: src/frontend/mame/ui/devopt.cpp:240
#, c-format
-msgid "Driver is clone of: %1$-.100s"
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: src/frontend/mame/ui/devopt.cpp:242
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
+#: src/frontend/mame/ui/devopt.cpp:244
#, c-format
-msgid "%1$s %2$s"
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: src/frontend/mame/ui/devopt.cpp:246
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: src/frontend/mame/ui/devopt.cpp:248
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: src/frontend/mame/ui/devopt.cpp:257
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: src/frontend/mame/ui/devopt.cpp:263
+msgid "* Slot Options:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:270
+msgid "[None]\n"
msgstr ""
#: plugins/timer/init.lua:94
@@ -2669,51 +2588,51 @@ msgstr ""
msgid "Timer"
msgstr ""
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:510
msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheat/init.lua:534
+#: plugins/cheat/init.lua:516
msgid "Press button for hotkey or wait to clear"
msgstr ""
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:528
msgid "None"
msgstr ""
-#: plugins/cheat/init.lua:551
+#: plugins/cheat/init.lua:533
msgid "Done"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:547 plugins/cheat/init.lua:561
msgid "Set"
msgstr ""
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:580
msgid "Set hotkeys"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:720
#, lua-format
msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:723 plugins/cheat/init.lua:781
#, lua-format
msgid "Activated: %s"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:785
#, lua-format
msgid "Enabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:790
#, lua-format
msgid "Disabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "%s added"
msgstr ""
@@ -2762,303 +2681,218 @@ msgstr ""
msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:404
+#: plugins/cheatfind/init.lua:373
msgid "Save Cheat"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Default"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Custom"
msgstr ""
-#: plugins/cheatfind/init.lua:408
+#: plugins/cheatfind/init.lua:377
msgid "Cheat Name"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/cheatfind/init.lua:383 plugins/cheatfind/init.lua:748
#, lua-format
msgid "Default name is %s"
msgstr ""
-#: plugins/cheatfind/init.lua:422
+#: plugins/cheatfind/init.lua:391
msgid "Player"
msgstr ""
-#: plugins/cheatfind/init.lua:427
+#: plugins/cheatfind/init.lua:396
msgid "Type"
msgstr ""
-#: plugins/cheatfind/init.lua:433
+#: plugins/cheatfind/init.lua:402
msgid "Save"
msgstr ""
-#: plugins/cheatfind/init.lua:462
+#: plugins/cheatfind/init.lua:429
#, lua-format
msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:472
+#: plugins/cheatfind/init.lua:437
msgid "Cheat added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:442
msgid ""
"Unable to write file\n"
"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/cheatfind/init.lua:486
+#: plugins/cheatfind/init.lua:451
msgid "Cancel"
msgstr ""
-#: plugins/cheatfind/init.lua:491
+#: plugins/cheatfind/init.lua:456
msgid "CPU or RAM"
msgstr ""
-#: plugins/cheatfind/init.lua:495
+#: plugins/cheatfind/init.lua:460
msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:479
+msgid "Data cleared and current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:487
+msgid "Start new search"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:497
+msgid "Current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:504
+msgid "Save current -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
+#: plugins/cheatfind/init.lua:536
#, lua-format
-msgid "Memory State saved to Slot %d"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:543
+msgid "Compare"
msgstr ""
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
+#: plugins/cheatfind/init.lua:546
+msgid "Left operand"
+msgstr ""
+
+#: plugins/cheatfind/init.lua:549
+msgid "Current"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:554
+msgid "Operator"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:561
+msgid "Left less than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:563
+msgid "Left greater than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:676
+#: plugins/cheatfind/init.lua:565
msgid "Left equal to right"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:567
+msgid "Left not equal to right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:680
+#: plugins/cheatfind/init.lua:569
msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:682
+#: plugins/cheatfind/init.lua:571
msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:684
+#: plugins/cheatfind/init.lua:573
msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:686
+#: plugins/cheatfind/init.lua:575
msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:688
+#: plugins/cheatfind/init.lua:577
msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:690
+#: plugins/cheatfind/init.lua:579
msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/cheatfind/init.lua:590
+msgid "Right operand"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/cheatfind/init.lua:598
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:719
+#: plugins/cheatfind/init.lua:602
msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:725
+#: plugins/cheatfind/init.lua:608
msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:738
-msgid ""
-"Use this if you want to poke the Slot 1 value (eg. You started with "
-"something but lost it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:740
-msgid ""
-"Use this if you want to poke the Last Slot value (eg. You started without an "
-"item but finally got it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:816
+#: plugins/cheatfind/init.lua:632
msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:820
+#: plugins/cheatfind/init.lua:636
msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:823
+#: plugins/cheatfind/init.lua:639
msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheatfind/init.lua:690
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Test cheat at addr %08X"
msgstr ""
-#: plugins/cheatfind/init.lua:974
+#: plugins/cheatfind/init.lua:722
msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
+#: plugins/cheatfind/init.lua:788
msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
+#: plugins/cheatfind/init.lua:806
msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
+#: plugins/cheatfind/init.lua:816
msgid "Cheat Finder"
msgstr ""
-#: plugins/portname/init.lua:103
+#: plugins/portname/init.lua:69
msgid "Save input names to file"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
+#: plugins/portname/init.lua:100 plugins/portname/init.lua:105
+#: plugins/portname/init.lua:121
msgid "Failed to save input name file"
msgstr ""
-#: plugins/portname/init.lua:167
+#: plugins/portname/init.lua:133
#, lua-format
msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/portname/init.lua:172
+#: plugins/portname/init.lua:138
msgid "Input ports"
msgstr ""
diff --git a/language/German/strings.po b/language/German/strings.po
index bc199b09581..dc5dd90766a 100644
--- a/language/German/strings.po
+++ b/language/German/strings.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MAME\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-03-17 13:37+1100\n"
+"POT-Creation-Date: 2018-04-28 15:32+1000\n"
"PO-Revision-Date: 2018-05-02 11:34+0200\n"
"Last-Translator: Lothar Serra Mari <rootfather@scummvm.org>\n"
"Language-Team: MAME Language Team\n"
@@ -19,61 +19,239 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 2.0.7\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
+#: src/frontend/mame/ui/auditmenu.cpp:96
#, c-format
-msgid "Screen #%d"
-msgstr "Bildschirm #%d"
+msgid "Audit ROMs for %1$u machines marked unavailable?"
+msgstr ""
+"ROMs für alle %1$u als nicht verfügbar gekennzeichneten Maschinen prüfen?"
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr "Drehen"
+#: src/frontend/mame/ui/auditmenu.cpp:99
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
+msgstr "ROMs für alle %1$u Maschinen prüfen?"
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr "Backdrops"
+#: src/frontend/mame/ui/auditmenu.cpp:104
+#, c-format
+msgid "(results will be saved to %1$s)"
+msgstr "(Ergebnisse werden unter %1$s gespeichert)"
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Enabled"
-msgstr "Aktiviert"
+#: src/frontend/mame/ui/auditmenu.cpp:130
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
+msgstr ""
+"Prüfe ROMs für Maschine %2$u von %3$u...\n"
+"%1$s"
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Disabled"
-msgstr "Deaktiviert"
+#: src/frontend/mame/ui/auditmenu.cpp:142
+msgid "Start Audit"
+msgstr "Audit starten"
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr "Overlays"
+#: src/frontend/mame/ui/selmenu.cpp:49 src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Snapshots"
+msgstr "Schnappschüsse"
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr "Bezel"
+#: src/frontend/mame/ui/selmenu.cpp:50 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cabinets"
+msgstr "Gehäuse"
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+#: src/frontend/mame/ui/selmenu.cpp:51
+msgid "Control Panels"
msgstr "Bedienfelder"
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
+#: src/frontend/mame/ui/selmenu.cpp:52 src/frontend/mame/ui/dirmenu.cpp:50
+msgid "PCBs"
+msgstr "Platinen"
+
+#: src/frontend/mame/ui/selmenu.cpp:53 src/frontend/mame/ui/dirmenu.cpp:47
+msgid "Flyers"
+msgstr "Flyer"
+
+#: src/frontend/mame/ui/selmenu.cpp:54 src/frontend/mame/ui/dirmenu.cpp:48
+msgid "Titles"
+msgstr "Titelbilder"
+
+#: src/frontend/mame/ui/selmenu.cpp:55 src/frontend/mame/ui/dirmenu.cpp:49
+msgid "Ends"
+msgstr "Enden"
+
+#: src/frontend/mame/ui/selmenu.cpp:56
+msgid "Artwork Preview"
+msgstr "Vorschau Illustrationen"
+
+#: src/frontend/mame/ui/selmenu.cpp:57 src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Bosses"
+msgstr "Bosse"
+
+#: src/frontend/mame/ui/selmenu.cpp:58 src/frontend/mame/ui/dirmenu.cpp:60
+msgid "Logos"
+msgstr "Logos"
+
+#: src/frontend/mame/ui/selmenu.cpp:59 src/frontend/mame/ui/dirmenu.cpp:62
+msgid "Versus"
+msgstr "Gegen"
+
+#: src/frontend/mame/ui/selmenu.cpp:60
+msgid "Game Over"
+msgstr "Game Over"
+
+#: src/frontend/mame/ui/selmenu.cpp:61 src/frontend/mame/ui/dirmenu.cpp:59
+msgid "HowTo"
+msgstr "Handbuch"
+
+#: src/frontend/mame/ui/selmenu.cpp:62 src/frontend/mame/ui/dirmenu.cpp:61
+msgid "Scores"
+msgstr "Spielstände"
+
+#: src/frontend/mame/ui/selmenu.cpp:63 src/frontend/mame/ui/dirmenu.cpp:57
+msgid "Select"
+msgstr "Auswahl"
+
+#: src/frontend/mame/ui/selmenu.cpp:64 src/frontend/mame/ui/dirmenu.cpp:51
+#: src/frontend/mame/ui/videoopt.cpp:224
msgid "Marquees"
msgstr "Marquees"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
-msgstr "Ansicht"
+#: src/frontend/mame/ui/selmenu.cpp:65 src/frontend/mame/ui/dirmenu.cpp:63
+msgid "Covers"
+msgstr "Cover"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
-msgstr "Beschnitten"
+#: src/frontend/mame/ui/selmenu.cpp:69
+msgid "Add or remove favorites"
+msgstr "Favoriten verwalten"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
-msgstr "Voll"
+#: src/frontend/mame/ui/selmenu.cpp:70
+msgid "Export displayed list to file"
+msgstr "Angezeigte Liste in Datei exportieren"
+
+#: src/frontend/mame/ui/selmenu.cpp:71
+msgid "Show DATs view"
+msgstr "DATs Ansicht anzeigen"
+
+#: src/frontend/mame/ui/selmenu.cpp:237
+msgid "Software part selection:"
+msgstr "Softwareauswahl:"
+
+#: src/frontend/mame/ui/selmenu.cpp:343
+msgid "BIOS selection:"
+msgstr "BIOS-Auswahl:"
+
+#: src/frontend/mame/ui/selmenu.cpp:570 src/frontend/mame/ui/selmenu.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:311
+#, c-format
+msgid "%1$s, %2$-.100s"
+msgstr "%1$s, %2$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:574
+#, c-format
+msgid "Software is clone of: %1$-.100s"
+msgstr "Programm ist ein Klon von: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:576
+msgid "Software is parent"
+msgstr "Programm ist Ursprungs-Programm"
+
+#: src/frontend/mame/ui/selmenu.cpp:581
+msgid "Supported: No"
+msgstr "Unterstützt: Nein"
+
+#: src/frontend/mame/ui/selmenu.cpp:586
+msgid "Supported: Partial"
+msgstr "Unterstützt: Teilweise"
+
+#: src/frontend/mame/ui/selmenu.cpp:591
+msgid "Supported: Yes"
+msgstr "Unterstützt: Ja"
+
+#: src/frontend/mame/ui/selmenu.cpp:596
+#, c-format
+msgid "romset: %1$-.100s"
+msgstr "ROM-Satz: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:612
+#, c-format
+msgid "Driver is clone of: %1$-.100s"
+msgstr "Treiber ist ein Klon von: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:614
+msgid "Driver is parent"
+msgstr "Treiber ist Ursprungs-Treiber"
+
+#: src/frontend/mame/ui/selmenu.cpp:619
+#: src/frontend/mame/ui/simpleselgame.cpp:330
+msgid "Overall: NOT WORKING"
+msgstr "Insgesamt: FUNKTIONIERT NICHT"
+
+#: src/frontend/mame/ui/selmenu.cpp:621
+#: src/frontend/mame/ui/simpleselgame.cpp:332
+msgid "Overall: Unemulated Protection"
+msgstr "Insgesamt: Nicht emulierter Kopierschutz"
+
+#: src/frontend/mame/ui/selmenu.cpp:623
+#: src/frontend/mame/ui/simpleselgame.cpp:334
+msgid "Overall: Working"
+msgstr "Insgesamt: Funktioniert"
+
+#: src/frontend/mame/ui/selmenu.cpp:627
+#: src/frontend/mame/ui/simpleselgame.cpp:338
+msgid "Graphics: Unimplemented, "
+msgstr "Grafik: Nicht implementiert, "
+
+#: src/frontend/mame/ui/selmenu.cpp:629
+#: src/frontend/mame/ui/simpleselgame.cpp:340
+msgid "Graphics: Imperfect, "
+msgstr "Grafik: Fehlerhaft, "
+
+#: src/frontend/mame/ui/selmenu.cpp:631
+#: src/frontend/mame/ui/simpleselgame.cpp:342
+msgid "Graphics: OK, "
+msgstr "Grafik: OK, "
+
+#: src/frontend/mame/ui/selmenu.cpp:634
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+msgid "Sound: None"
+msgstr "Sound: Keine"
+
+#: src/frontend/mame/ui/selmenu.cpp:636
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+msgid "Sound: Unimplemented"
+msgstr "Sound: Nicht implementiert"
+
+#: src/frontend/mame/ui/selmenu.cpp:638
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+msgid "Sound: Imperfect"
+msgstr "Sound: Fehlerhaft"
+
+#: src/frontend/mame/ui/selmenu.cpp:640
+#: src/frontend/mame/ui/simpleselgame.cpp:351
+msgid "Sound: OK"
+msgstr "Sound: OK"
+
+#: src/frontend/mame/ui/selmenu.cpp:650
+#, c-format
+msgid "%1$s %2$s"
+msgstr "%1$s %2$s"
+
+#: src/frontend/mame/ui/selmenu.cpp:1975
+msgid "Images"
+msgstr "Images"
+
+#: src/frontend/mame/ui/selmenu.cpp:1976
+msgid "Infos"
+msgstr "Informationen"
+
+#: src/frontend/mame/ui/selmenu.cpp:2386 src/frontend/mame/ui/miscmenu.cpp:826
+msgid " (default)"
+msgstr " (Standard)"
+
+#: src/frontend/mame/ui/selmenu.cpp:2454
+msgid "Usage"
+msgstr "Verwendung"
+
+#: src/frontend/mame/ui/selmenu.cpp:2489
+msgid "General Info"
+msgstr "Allgemeine Informationen"
#: src/frontend/mame/ui/dirmenu.cpp:35
msgid "ROMs"
@@ -115,30 +293,6 @@ msgstr "Icons"
msgid "Cheats"
msgstr "Cheats"
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
-msgstr "Schnappschüsse"
-
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
-msgstr "Gehäuse"
-
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
-msgstr "Flyer"
-
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
-msgstr "Titelbilder"
-
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
-msgstr "Enden"
-
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
-msgstr "Platinen"
-
#: src/frontend/mame/ui/dirmenu.cpp:52
msgid "Controls Panels"
msgstr "Bedienfelder"
@@ -151,42 +305,14 @@ msgstr "Fadenkreuze"
msgid "Artworks"
msgstr "Illustrationen"
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
-msgstr "Bosse"
-
#: src/frontend/mame/ui/dirmenu.cpp:56
msgid "Artworks Preview"
msgstr "Vorschau Illustrationen"
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
-msgstr "Auswahl"
-
#: src/frontend/mame/ui/dirmenu.cpp:58
msgid "GameOver"
msgstr "GameOver"
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
-msgstr "Handbuch"
-
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
-msgstr "Logos"
-
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
-msgstr "Spielstände"
-
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
-msgstr "Gegen"
-
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
-msgstr "Cover"
-
#: src/frontend/mame/ui/dirmenu.cpp:116
msgid "Folders Setup"
msgstr "Ordnereinstellungen"
@@ -227,14 +353,277 @@ msgstr "Zum Setzen drücken Sie TAB"
msgid "Remove %1$s Folder"
msgstr "%1$s-Ordner entfernen"
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
-msgstr "Auswahlliste - Suche: "
+#: src/frontend/mame/ui/info.cpp:30
+msgid "protection"
+msgstr "Kopierschutz"
+
+#: src/frontend/mame/ui/info.cpp:31
+msgid "color palette"
+msgstr "Farbpalette"
+
+#: src/frontend/mame/ui/info.cpp:32
+msgid "graphics"
+msgstr "Grafik"
+
+#: src/frontend/mame/ui/info.cpp:33
+msgid "sound"
+msgstr "Sound"
+
+#: src/frontend/mame/ui/info.cpp:34
+msgid "controls"
+msgstr "Bedienelemente"
+
+#: src/frontend/mame/ui/info.cpp:35
+msgid "keyboard"
+msgstr "Tastatur"
-#: src/frontend/mame/ui/selector.cpp:123
+#: src/frontend/mame/ui/info.cpp:36
+msgid "mouse"
+msgstr "Maus"
+
+#: src/frontend/mame/ui/info.cpp:37
+msgid "microphone"
+msgstr "Mikrofon"
+
+#: src/frontend/mame/ui/info.cpp:38
+msgid "camera"
+msgstr "Kamera"
+
+#: src/frontend/mame/ui/info.cpp:39
+msgid "disk"
+msgstr "Festplatte"
+
+#: src/frontend/mame/ui/info.cpp:40
+msgid "printer"
+msgstr "Drucker"
+
+#: src/frontend/mame/ui/info.cpp:41
+msgid "LAN"
+msgstr "LAN"
+
+#: src/frontend/mame/ui/info.cpp:42
+msgid "WAN"
+msgstr "WAN"
+
+#: src/frontend/mame/ui/info.cpp:43
+msgid "timing"
+msgstr "Zeitlicher Ablauf"
+
+#: src/frontend/mame/ui/info.cpp:180
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
+msgstr ""
+"Ein oder mehrere ROMs/CHDs für diese Maschine sind nicht korrekt. Eventuell "
+"wird die Maschine nicht richtig laufen.\n"
+
+#: src/frontend/mame/ui/info.cpp:190
+msgid ""
+"There are known problems with this machine\n"
+"\n"
+msgstr ""
+"Es gibt bekannte Probleme mit dieser Maschine\n"
+"\n"
+
+#: src/frontend/mame/ui/info.cpp:195
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+msgstr ""
+"Ein oder mehrere ROMs/CHDs dieser Maschine wurden nicht korrekt ausgelesen.\n"
+
+#: src/frontend/mame/ui/info.cpp:200
+msgid "Completely unemulated features: "
+msgstr "Komplett unemulierte Funktionen: "
+
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
#, c-format
-msgid "Double click or press %1$s to select"
-msgstr "Zum Auswählen, doppelklicken oder drücken Sie %1$s"
+msgid "%s"
+msgstr "%s"
+
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#: src/frontend/mame/ui/info.cpp:267
+#, c-format
+msgid ", %s"
+msgstr ", %s"
+
+#: src/frontend/mame/ui/info.cpp:216
+msgid "Imperfectly emulated features: "
+msgstr "Nicht perfekt emulierte Funktionen: "
+
+#: src/frontend/mame/ui/info.cpp:231
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr "Die Bildschirmdrehung im Cocktailmodus wird nicht unterstützt.\n"
+
+#: src/frontend/mame/ui/info.cpp:233
+msgid "This machine requires external artwork files.\n"
+msgstr "Die Maschine benötigt externe Illustrationsdateien.\n"
+
+#: src/frontend/mame/ui/info.cpp:235
+msgid ""
+"This machine was never completed. It may exhibit strange behavior or missing "
+"elements that are not bugs in the emulation.\n"
+msgstr ""
+"Diese Maschine wurde niemals fertiggestellt. Sie kann seltsames Verhalten "
+"oder fehlende Elemente aufweisen, die nicht auf Fehler der Emulation "
+"zurückzuführen sind.\n"
+
+#: src/frontend/mame/ui/info.cpp:237
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
+msgstr ""
+"Diese Maschine besitzt keine Sound-Hardware; MAME wird erwartungsgemäß keine "
+"Töne ausgeben.\n"
+
+#: src/frontend/mame/ui/info.cpp:241
+msgid ""
+"\n"
+"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
+"complete. There is nothing you can do to fix this problem except wait for "
+"the developers to improve the emulation.\n"
+msgstr ""
+"\n"
+"DIESE MASCHINE FUNKTIONIERT NICHT. Die Emulation dieser Maschine ist noch "
+"nicht vollständig. Sie können nur darauf warten, dass die Entwickler die "
+"Emulation verbessern.\n"
+
+#: src/frontend/mame/ui/info.cpp:243
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they requires physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
+msgstr ""
+"\n"
+"Verschiedene Elemente dieser Maschine können nicht emuliert werden, da sie "
+"echte physische Interaktion voraussetzen oder mechanische Komponenten "
+"beinhalten. Es ist nicht möglich, diese Maschine vollständig zu verwenden.\n"
+
+#: src/frontend/mame/ui/info.cpp:265
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
+msgstr ""
+"\n"
+"\n"
+"Es gibt funktionsfähige Klone dieser Maschine: %s"
+
+#: src/frontend/mame/ui/info.cpp:278
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+"\n"
+"\n"
+"Drücken Sie eine beliebige Taste zum Fortfahren"
+
+#: src/frontend/mame/ui/info.cpp:293
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
+msgstr ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
+
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "MHz"
+msgstr "MHz"
+
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "kHz"
+msgstr "kHz"
+
+#: src/frontend/mame/ui/info.cpp:342
+msgid ""
+"\n"
+"Sound:\n"
+msgstr ""
+"\n"
+"Sound:\n"
+
+#: src/frontend/mame/ui/info.cpp:370
+msgid ""
+"\n"
+"Video:\n"
+msgstr ""
+"\n"
+"Video:\n"
+
+#: src/frontend/mame/ui/info.cpp:374
+msgid "None\n"
+msgstr "Keine\n"
+
+#: src/frontend/mame/ui/info.cpp:381
+msgid "Vector"
+msgstr "Vektor"
+
+#: src/frontend/mame/ui/info.cpp:392
+#, c-format
+msgid "%1$s: %2$s\n"
+msgstr "%1$s: %2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:392
+msgid "%2$s\n"
+msgstr "%2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:438
+#, c-format
+msgid "Screen '%1$s'"
+msgstr "Bildschirm '%1$s'"
+
+#: src/frontend/mame/ui/info.cpp:440
+msgid "Screen"
+msgstr "Bildschirm"
+
+#: src/frontend/mame/ui/info.cpp:525
+msgid "Not supported"
+msgstr "Nicht unterstützt"
+
+#: src/frontend/mame/ui/info.cpp:528
+msgid "Partially supported"
+msgstr "Teilweise unterstützt"
+
+#: src/frontend/mame/ui/info.cpp:536
+msgid "[empty]"
+msgstr "[leer]"
+
+#: src/frontend/mame/ui/optsmenu.cpp:193
+msgid "Filter"
+msgstr "Filter"
+
+#: src/frontend/mame/ui/optsmenu.cpp:206
+msgid "Customize UI"
+msgstr "Benutzeroberfläche anpassen"
+
+#: src/frontend/mame/ui/optsmenu.cpp:207
+msgid "Configure Directories"
+msgstr "Verzeichnisse konfigurieren"
+
+#: src/frontend/mame/ui/optsmenu.cpp:210 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
+msgstr "Soundeinstellungen"
+
+#: src/frontend/mame/ui/optsmenu.cpp:213
+msgid "General Inputs"
+msgstr "Haupteingaben"
+
+#: src/frontend/mame/ui/optsmenu.cpp:216
+msgid "Save Configuration"
+msgstr "Konfiguration speichern"
+
+#: src/frontend/mame/ui/optsmenu.cpp:228
+msgid "Settings"
+msgstr "Einstellungen"
#: src/frontend/mame/ui/tapectrl.cpp:85
msgid "stopped"
@@ -276,8 +665,30 @@ msgstr "Zurückspulen"
msgid "Fast Forward"
msgstr "Vorspulen"
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
-#: src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/inputmap.cpp:53
+msgid "User Interface"
+msgstr "Benutzerschnittstelle"
+
+#: src/frontend/mame/ui/inputmap.cpp:59
+msgid "Other Controls"
+msgstr "Weitere Bedienelemente"
+
+#: src/frontend/mame/ui/inputmap.cpp:628 src/frontend/mame/ui/miscmenu.cpp:96
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr "Zurücksetzen"
+
+#: src/frontend/mame/ui/selector.cpp:116
+msgid "Selection List - Search: "
+msgstr "Auswahlliste - Suche: "
+
+#: src/frontend/mame/ui/selector.cpp:124
+#, c-format
+msgid "Double click or press %1$s to select"
+msgstr "Zum Auswählen, doppelklicken oder drücken Sie %1$s"
+
+#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/filesel.cpp:256
msgid "[empty slot]"
msgstr "[leerer Steckplatz]"
@@ -318,182 +729,6 @@ msgstr "Verwendung der Software"
msgid "Revision: "
msgstr "Version: "
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
-msgstr "Datei existiert bereits - Überschreiben?"
-
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
-msgstr "Nein"
-
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
-msgstr "Ja"
-
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
-msgstr "Neuer Image-Name:"
-
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
-msgstr "Image-Format:"
-
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
-msgstr "Erzeugen"
-
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
-msgstr "Bitte geben Sie auch eine Dateierweiterung ein"
-
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
-msgstr "Image-Format auswählen"
-
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
-msgstr "Eingabe (allgemein)"
-
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
-msgstr "Eingabe (für diese Maschine)"
-
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
-msgstr "Analoge Bedienelemente"
-
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
-msgstr "DIP-Schalter"
-
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
-msgstr "Konfiguration der Maschine"
-
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
-msgstr "Buchhaltungsinformationen"
-
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
-msgstr "Informationen über diese Maschine"
-
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
-msgstr "Informationen über diese Software"
-
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
-msgstr "Dateimanager"
-
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
-msgstr "Bedienung Cassettendeck"
-
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
-msgstr "Pseudoterminals"
-
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
-msgstr "BIOS-Auswahl"
-
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
-msgstr "Steckplatzgeräte"
-
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
-msgstr "Barcodeleser"
-
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
-msgstr "Netzwerkgeräte"
-
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
-msgstr "Tastaturmodus"
-
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
-msgstr "Schieberegler"
-
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
-msgstr "Videoeinstellungen"
-
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
-msgstr "Fadenkreuzeinstellungen"
-
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
-msgstr "Cheat"
-
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
-msgstr "Erweiterungs-Optionen"
-
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
-msgstr "Externe DAT-Anzeige"
-
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
-msgstr "Zu Favoriten hinzufügen"
-
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
-msgstr "Aus Favoriten entfernen"
-
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
-msgstr "Neue Maschine auswählen"
-
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
-msgstr "Neuer Barcode:"
-
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
-msgstr "Code eingeben"
-
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
-msgstr "Barcodelänge ungültig!"
-
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
-msgstr "[fehlgeschlagen]"
-
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
-msgstr "Soundeinstellungen"
-
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
-msgstr "Haupteingaben"
-
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
-msgstr "Konfiguration speichern"
-
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
-msgstr "Einstellungen"
-
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
-msgstr "Filter"
-
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
-msgstr "Benutzeroberfläche anpassen"
-
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
-msgstr "Verzeichnisse konfigurieren"
-
#: src/frontend/mame/ui/simpleselgame.cpp:149
msgid ""
"The selected game is missing one or more required ROM or CHD images. Please "
@@ -506,7 +741,7 @@ msgstr ""
"\n"
"Drücken Sie eine beliebige Taste, um fortzufahren."
-#: src/frontend/mame/ui/simpleselgame.cpp:247
+#: src/frontend/mame/ui/simpleselgame.cpp:241
#, c-format
msgid ""
"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
@@ -520,329 +755,198 @@ msgstr ""
" Wenn Sie %2$s zum ersten Mal verwenden, lesen Sie bitte die Datei config."
"txt im Verzeichnis \"docs\" zur Konfiguration von %2$s."
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:271
+#: src/frontend/mame/ui/selgame.cpp:436
msgid "Configure Options"
msgstr "Optionen konfigurieren"
-#: src/frontend/mame/ui/simpleselgame.cpp:298
+#: src/frontend/mame/ui/simpleselgame.cpp:292
#, c-format
msgid "Type name or select: %1$s_"
msgstr "Geben Sie den Namen ein oder wählen Sie: %1$s_"
-#: src/frontend/mame/ui/simpleselgame.cpp:300
+#: src/frontend/mame/ui/simpleselgame.cpp:294
msgid "Type name or select: (random)"
msgstr "Geben Sie den Namen ein oder wählen Sie: (zufällige Auswahl)"
-#: src/frontend/mame/ui/simpleselgame.cpp:314
-#: src/frontend/mame/ui/selsoft.cpp:652 src/frontend/mame/ui/selsoft.cpp:659
+#: src/frontend/mame/ui/simpleselgame.cpp:308
+#: src/frontend/mame/ui/selsoft.cpp:564 src/frontend/mame/ui/selsoft.cpp:571
#, c-format
msgid "%1$-.100s"
msgstr "%1$-.100s"
-#: src/frontend/mame/ui/simpleselgame.cpp:317
-#: src/frontend/mame/ui/selmenu.cpp:618 src/frontend/mame/ui/selmenu.cpp:654
-#, c-format
-msgid "%1$s, %2$-.100s"
-msgstr "%1$s, %2$-.100s"
-
-#: src/frontend/mame/ui/simpleselgame.cpp:320
+#: src/frontend/mame/ui/simpleselgame.cpp:314
#, c-format
msgid "Driver: %1$-.100s"
msgstr "Treiber: %1$-.100s"
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
-msgstr "Insgesamt: FUNKTIONIERT NICHT"
+#: src/frontend/mame/ui/videoopt.cpp:56
+#, c-format
+msgid "Screen #%d"
+msgstr "Bildschirm #%d"
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
-msgstr "Insgesamt: Nicht emulierter Kopierschutz"
+#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
+msgid "Rotate"
+msgstr "Drehen"
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
-msgstr "Insgesamt: Funktioniert"
+#: src/frontend/mame/ui/videoopt.cpp:208
+msgid "Backdrops"
+msgstr "Backdrops"
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
-msgstr "Grafik: Nicht implementiert, "
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Enabled"
+msgstr "Aktiviert"
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
-msgstr "Grafik: Fehlerhaft, "
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Disabled"
+msgstr "Deaktiviert"
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
-msgstr "Grafik: OK, "
+#: src/frontend/mame/ui/videoopt.cpp:212
+msgid "Overlays"
+msgstr "Overlays"
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
-msgstr "Sound: Keine"
+#: src/frontend/mame/ui/videoopt.cpp:216
+msgid "Bezels"
+msgstr "Bezel"
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
-msgstr "Sound: Nicht implementiert"
+#: src/frontend/mame/ui/videoopt.cpp:220
+msgid "CPanels"
+msgstr "Bedienfelder"
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
-msgstr "Sound: Fehlerhaft"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "View"
+msgstr "Ansicht"
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
-msgstr "Sound: OK"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cropped"
+msgstr "Beschnitten"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
-msgstr "Lade Status"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Full"
+msgstr "Voll"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
-msgstr "Ladeposition wählen"
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
+msgstr "Datei existiert bereits - Überschreiben?"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
-msgstr "Speichere Status"
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1047
+msgid "No"
+msgstr "Nein"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
-msgstr "Speicherposition wählen"
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1047
+msgid "Yes"
+msgstr "Ja"
-#: src/frontend/mame/ui/ui.cpp:337
-msgid "This driver requires images to be loaded in the following device(s): "
-msgstr ""
-"Für diese Maschine müssen Abbilder in die folgenden Geräte eingehängt "
-"werden: "
+#: src/frontend/mame/ui/filecreate.cpp:171
+msgid "New Image Name:"
+msgstr "Neuer Image-Name:"
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
-msgstr "Status Tastaturemulation"
+#: src/frontend/mame/ui/filecreate.cpp:177
+msgid "Image Format:"
+msgstr "Image-Format:"
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
-msgstr "Modus: TEILWEISE Emulation"
+#: src/frontend/mame/ui/filecreate.cpp:183
+msgid "Create"
+msgstr "Erzeugen"
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
-msgstr "Benutzeroberfläche: Aktiviert"
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr "Bitte geben Sie auch eine Dateierweiterung ein"
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
-msgstr "** Verwenden Sie ScrLock zum Umschalten**"
+#: src/frontend/mame/ui/filecreate.cpp:266
+msgid "Select image format"
+msgstr "Image-Format auswählen"
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
-msgstr "Modus: VOLLSTÄNDIGE Emulation"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Keyboard Mode:"
+msgstr "Tastaturmodus:"
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
-msgstr "Benutzeroberfläche: Deaktiviert"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Natural"
+msgstr "Natürlich"
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
-msgstr "Dauerfeuer kann nicht aktiviert werden"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Emulated"
+msgstr "Emuliert"
-#: src/frontend/mame/ui/ui.cpp:1302
+#: src/frontend/mame/ui/miscmenu.cpp:236
#, c-format
msgid ""
-"Are you sure you want to quit?\n"
+"Uptime: %1$d:%2$02d:%3$02d\n"
"\n"
-"Press ''%1$s'' to quit,\n"
-"Press ''%2$s'' to return to emulation."
msgstr ""
-"Sind Sie sicher, dass Sie die Emulation verlassen wollen?\n"
+"Laufzeit: %1$d:%2$02d:%3$02d\n"
"\n"
-"Zum Beenden drücken Sie ''%1$s''.\n"
-"Um zur Emulation zurückzukehren drücken Sie ''%2$s''."
-
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
-msgstr "Gesamtlautstärke"
-
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
-msgstr "%1$s Lautstärke"
-
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
-msgstr "CPU %1$s übertakten"
-
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
-msgstr "Sound %1$s übertakten"
-
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
-msgstr "%1$s Aktualisierungsrate"
-
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
-msgstr "%1$s Helligkeit"
-
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
-msgstr "%1$s Kontrast"
-
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
-msgstr "%1$s Gamma"
-
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
-msgstr "%1$s Horizontale Streckung"
-
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
-msgstr "%1$s Horizontale Position"
-
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
-msgstr "%1$s Vertikale Streckung"
-
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
-msgstr "%1$s Vertikale Position"
-
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
-msgstr "Laserdisc '%1$s' Horizontale Streckung"
-
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
-msgstr "Laserdisc '%1$s' Horizontale Position"
-
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
-msgstr "Laserdisc '%1$s' Vertikale Streckung"
-
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr "Laserdisc '%1$s' Vertikale Position"
-
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
-msgstr "Vektorflimmern"
-
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
-msgstr "Minimale Strahlbreite"
-
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
-msgstr "Maximale Strahlbreite"
-
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
-msgstr "Gewichtung der Strahlintensität"
-
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr "Fadenkreuzskalierung %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
-msgstr "X"
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
-msgstr "Y"
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
-msgstr "Fadenkreuzversatz %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1601
+#: src/frontend/mame/ui/miscmenu.cpp:238
#, c-format
-msgid "%1$3ddB"
-msgstr "%1$3ddB"
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
+msgstr ""
+"Laufzeit: %1$d:%2$02d\n"
+"\n"
-#: src/frontend/mame/ui/ui.cpp:1645
+#: src/frontend/mame/ui/miscmenu.cpp:242
#, c-format
-msgid "%1$d%%"
-msgstr "%1$d%%"
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
+msgstr ""
+"Ausgegebene Tickets: %1$d\n"
+"\n"
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
-msgstr "%1$3.0f%%"
+#: src/frontend/mame/ui/miscmenu.cpp:253
+msgid "Coin %1$c: NA%3$s\n"
+msgstr "Münzen %1$c: NA%3$s\n"
-#: src/frontend/mame/ui/ui.cpp:1685
+#: src/frontend/mame/ui/miscmenu.cpp:253
#, c-format
-msgid "%1$.3ffps"
-msgstr "%1$.3ffps"
+msgid "Coin %1$c: %2$d%3$s\n"
+msgstr "Münzen %1$c: %2$d%3$s\n"
-#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
-#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
-#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
-#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
-#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
-#: src/frontend/mame/ui/ui.cpp:1927
-#, c-format
-msgid "%1$.3f"
-msgstr "%1$.3f"
+#: src/frontend/mame/ui/miscmenu.cpp:256
+msgid " (locked)"
+msgstr " (gesperrt)"
-#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
-#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
-#, c-format
-msgid "%1$1.2f"
-msgstr "%1$1.2f"
+#: src/frontend/mame/ui/miscmenu.cpp:503
+msgid "Visible Delay"
+msgstr "Sichtbare Verzögerung"
-#: src/frontend/mame/ui/ui.cpp:2005
+#: src/frontend/mame/ui/miscmenu.cpp:601
#, c-format
-msgid "Crosshair Scale X %1$1.3f"
-msgstr "Fadenkreuzskalierung X %1$1.3f"
+msgid "%s.xml saved under ui folder."
+msgstr "%s.xml im Ordner der Benutzeroberfläche gespeichert."
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
-msgstr "Fadenkreuzskalierung Y %1$1.3f"
+#: src/frontend/mame/ui/miscmenu.cpp:627
+msgid "Name: Description:\n"
+msgstr "Name: Beschreibung:\n"
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/miscmenu.cpp:638
#, c-format
-msgid "Crosshair Offset X %1$1.3f"
-msgstr "Fadenkreuzversatz X %1$1.3f"
+msgid "%s.txt saved under ui folder."
+msgstr "%s.txt im Ordner der Benutzeroberfläche gespeichert."
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
-msgstr "Fadenkreuzversatz Y %1$1.3f"
+#: src/frontend/mame/ui/miscmenu.cpp:655
+msgid "Export list in XML format (like -listxml)"
+msgstr "Liste im XML-Format exportieren (wie -listxml)"
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
-msgstr "**Fehler beim Speichern von ui.ini**"
+#: src/frontend/mame/ui/miscmenu.cpp:656
+msgid "Export list in XML format (like -listxml, but exclude devices)"
+msgstr ""
+"Liste im XML-Format exportieren (wie -listxml, Geräte jedoch ausschließen)"
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
-msgstr "**Fehler beim Speichern von %s.ini**"
+#: src/frontend/mame/ui/miscmenu.cpp:657
+msgid "Export list in TXT format (like -listfull)"
+msgstr "Liste im TXT-Format exportieren (wie -listfull)"
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/miscmenu.cpp:710 src/frontend/mame/ui/ui.cpp:2230
msgid ""
"\n"
" Configuration saved \n"
@@ -852,339 +956,160 @@ msgstr ""
" Konfiguration gespeichert \n"
"\n"
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
-msgid ""
-"Cheat Comment:\n"
-"%s"
-msgstr ""
-"Cheat-Kommentar:\n"
-"%s"
-
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
-msgstr "Alle Cheats neu geladen"
-
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
-msgstr "Dauerfeuer-Einstellungen"
-
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
-msgstr "Alle zurücksetzen"
-
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
-msgstr "Alle neu laden"
-
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
-msgstr "Dauerfeuer-Status"
-
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
-msgstr "Keine Knöpfe für diese Maschine gefunden!"
-
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
-msgstr "Verzögerung für Dauerfeuer"
-
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
-#, c-format
-msgid ""
-"%s\n"
-" added to favorites list."
-msgstr ""
-"%s\n"
-" zur Favoritenliste hinzugefügt."
-
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
-#, c-format
-msgid ""
-"%s\n"
-" removed from favorites list."
-msgstr ""
-"%s\n"
-" von der Favoritenliste entfernt."
-
-#: src/frontend/mame/ui/selsoft.cpp:507
-msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
-"\n"
-msgstr ""
-"Dem gewählten Programm fehlen eine oder mehrere Dateien. Bitte wählen Sie "
-"ein anderes Programm aus.\n"
-"\n"
-
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
-msgstr "Drücken Sie eine beliebige Taste, um fortzufahren."
-
-#: src/frontend/mame/ui/selsoft.cpp:637
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
-msgstr "%1$s %2$s ( %3$d / %4$d Programm-Pakete )"
-
-#: src/frontend/mame/ui/selsoft.cpp:638
-#, c-format
-msgid "Driver: \"%1$s\" software list "
-msgstr "Treiber: \"%1$s\" Softwareliste "
-
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
-#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
-msgstr "%1$s: %2$s - Suche: %3$s_"
-
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
-#, c-format
-msgid "Search: %1$s_"
-msgstr "Suche: %1$s_"
-
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
-msgid "Unfiltered"
-msgstr "Ungefiltert"
-
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
-msgid "Available"
-msgstr "Verfügbar"
-
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
-msgid "Unavailable"
-msgstr "Nicht verfügbar"
-
-#: src/frontend/mame/ui/utils.cpp:63
-msgid "Working"
-msgstr "Funktioniert"
-
-#: src/frontend/mame/ui/utils.cpp:64
-msgid "Not Working"
-msgstr "Funktioniert nicht"
-
-#: src/frontend/mame/ui/utils.cpp:65
-msgid "Mechanical"
-msgstr "Mechanisch"
-
-#: src/frontend/mame/ui/utils.cpp:66
-msgid "Not Mechanical"
-msgstr "Nicht mechanisch"
-
-#: src/frontend/mame/ui/utils.cpp:67
-msgid "Category"
-msgstr "Kategorie"
-
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
-msgid "Favorites"
-msgstr "Favoriten"
-
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/miscmenu.cpp:760 src/frontend/mame/ui/utils.cpp:66
msgid "BIOS"
msgstr "BIOS"
-#: src/frontend/mame/ui/utils.cpp:70
-msgid "Not BIOS"
-msgstr "Nicht BIOS"
-
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
-msgid "Parents"
-msgstr "Eltern"
-
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
-msgid "Clones"
-msgstr "Klone"
-
-#: src/frontend/mame/ui/utils.cpp:73
-msgid "Manufacturer"
-msgstr "Hersteller"
-
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
-msgid "Year"
-msgstr "Jahr"
-
-#: src/frontend/mame/ui/utils.cpp:75
-msgid "Save Supported"
-msgstr "Speichern unterstützt"
-
-#: src/frontend/mame/ui/utils.cpp:76
-msgid "Save Unsupported"
-msgstr "Speichern nicht unterstützt"
-
-#: src/frontend/mame/ui/utils.cpp:77
-msgid "CHD Required"
-msgstr "CHD benötigt"
-
-#: src/frontend/mame/ui/utils.cpp:78
-msgid "No CHD Required"
-msgstr "Keine CHD benötigt"
-
-#: src/frontend/mame/ui/utils.cpp:79
-msgid "Vertical Screen"
-msgstr "Vertikaler Bildschirm"
-
-#: src/frontend/mame/ui/utils.cpp:80
-msgid "Horizontal Screen"
-msgstr "Horizontaler Bildschirm"
-
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
-msgid "Custom Filter"
-msgstr "Benutzerdefinierter Filter"
-
-#: src/frontend/mame/ui/utils.cpp:91
-msgid "Publisher"
-msgstr "Herausgeber"
-
-#: src/frontend/mame/ui/utils.cpp:92
-msgid "Supported"
-msgstr "Unterstützt"
+#: src/frontend/mame/ui/miscmenu.cpp:764
+msgid "Driver"
+msgstr "Treiber"
-#: src/frontend/mame/ui/utils.cpp:93
-msgid "Partially Supported"
-msgstr "Teilweise unterstützt"
+#: src/frontend/mame/ui/miscmenu.cpp:767
+msgid "This machine has no BIOS."
+msgstr "Diese Maschine besitzt kein BIOS."
-#: src/frontend/mame/ui/utils.cpp:94
-msgid "Unsupported"
-msgstr "Nicht unterstützt"
+#: src/frontend/mame/ui/miscmenu.cpp:776 src/frontend/mame/ui/mainmenu.cpp:145
+msgid "Add To Favorites"
+msgstr "Zu Favoriten hinzufügen"
-#: src/frontend/mame/ui/utils.cpp:95
-msgid "Release Region"
-msgstr "Veröffentlichungsregion"
+#: src/frontend/mame/ui/miscmenu.cpp:778 src/frontend/mame/ui/mainmenu.cpp:147
+msgid "Remove From Favorites"
+msgstr "Aus Favoriten entfernen"
-#: src/frontend/mame/ui/utils.cpp:96
-msgid "Device Type"
-msgstr "Gerätetyp"
+#: src/frontend/mame/ui/miscmenu.cpp:781
+msgid "Save machine configuration"
+msgstr "Konfiguration der Maschine speichern"
-#: src/frontend/mame/ui/utils.cpp:97
-msgid "Software List"
-msgstr "Softwareliste"
+#: src/frontend/mame/ui/miscmenu.cpp:792
+msgid "Configure machine:"
+msgstr "Maschine konfigurieren:"
-#: src/frontend/mame/ui/utils.cpp:248
-msgid "<set up filters>"
-msgstr "<Filter erstellen>"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:736
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:551 plugins/cheatfind/init.lua:619
+msgid "On"
+msgstr "An"
-#: src/frontend/mame/ui/utils.cpp:356
-msgid "Select custom filters:"
-msgstr "Filter auswählen:"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:739
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:554 plugins/cheat/init.lua:563
+#: plugins/cheatfind/init.lua:616
+msgid "Off"
+msgstr "Aus"
-#: src/frontend/mame/ui/utils.cpp:507
-#, c-format
-msgid "Filter %1$u"
-msgstr "Filter %1$u"
+#: src/frontend/mame/ui/miscmenu.cpp:909 src/frontend/mame/ui/selgame.cpp:441
+msgid "Plugins"
+msgstr "Erweiterungen"
-#: src/frontend/mame/ui/utils.cpp:522
-msgid "Remove last filter"
-msgstr "Letzten Filter entfernen"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
+msgstr "Neuer Barcode:"
-#: src/frontend/mame/ui/utils.cpp:524
-msgid "Add filter"
-msgstr "Filter hinzufügen"
+#: src/frontend/mame/ui/barcode.cpp:78
+msgid "Enter Code"
+msgstr "Code eingeben"
-#: src/frontend/mame/ui/utils.cpp:966
-msgid "Select category:"
-msgstr "Kategorie auswählen:"
+#: src/frontend/mame/ui/barcode.cpp:119
+msgid "Barcode length invalid!"
+msgstr "Barcodelänge ungültig!"
-#: src/frontend/mame/ui/utils.cpp:997
-msgid "[no category INI files]"
-msgstr "[Keine Kategorie INI Dateien]"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:99
+msgid "Pseudo terminals"
+msgstr "Pseudoterminals"
-#: src/frontend/mame/ui/utils.cpp:1005
-msgid "[no groups in INI file]"
-msgstr "[Keine Gruppen in INI Datei]"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
+msgstr "[fehlgeschlagen]"
-#: src/frontend/mame/ui/utils.cpp:1039
-msgid "No category INI files found"
-msgstr "Keine Kategorie INI Dateien gefunden"
+#: src/frontend/mame/ui/mainmenu.cpp:60
+msgid "Input (general)"
+msgstr "Eingabe (allgemein)"
-#: src/frontend/mame/ui/utils.cpp:1044
-msgid "File"
-msgstr "Datei"
+#: src/frontend/mame/ui/mainmenu.cpp:62
+msgid "Input (this Machine)"
+msgstr "Eingabe (für diese Maschine)"
-#: src/frontend/mame/ui/utils.cpp:1048
-msgid "No groups found in category file"
-msgstr "Keine Gruppen in Kategorie Datei gefunden"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Analog Controls"
+msgstr "Analoge Bedienelemente"
-#: src/frontend/mame/ui/utils.cpp:1053
-msgid "Group"
-msgstr "Gruppe"
+#: src/frontend/mame/ui/mainmenu.cpp:68
+msgid "Dip Switches"
+msgstr "DIP-Schalter"
-#: src/frontend/mame/ui/utils.cpp:1054
-msgid "Include clones"
-msgstr "Klone einschließen"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "Machine Configuration"
+msgstr "Konfiguration der Maschine"
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
-msgstr "[erzeugen]"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
+msgstr "Buchhaltungsinformationen"
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
-msgstr "Fehler beim Zugriff auf %s"
+#: src/frontend/mame/ui/mainmenu.cpp:78
+msgid "Machine Information"
+msgstr "Informationen über diese Maschine"
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
-msgstr "Zugriffsart wählen"
+#: src/frontend/mame/ui/mainmenu.cpp:85
+msgid "Image Information"
+msgstr "Informationen über diese Software"
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
-msgstr "Nur lesend"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
+msgstr "Dateimanager"
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
-msgstr "Lesend und schreibend"
+#: src/frontend/mame/ui/mainmenu.cpp:96
+msgid "Tape Control"
+msgstr "Bedienung Cassettendeck"
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
-msgstr "Lesen von diesem Image, Schreiben auf ein anderes Image"
+#: src/frontend/mame/ui/mainmenu.cpp:102
+msgid "BIOS Selection"
+msgstr "BIOS-Auswahl"
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
-msgstr "Lesen von diesem Image, Schreiben in diff"
+#: src/frontend/mame/ui/mainmenu.cpp:106
+msgid "Slot Devices"
+msgstr "Steckplatzgeräte"
-#: src/frontend/mame/ui/slotopt.cpp:192
-#, c-format
-msgid "%s [internal]"
-msgstr "%s [intern]"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Barcode Reader"
+msgstr "Barcodeleser"
-#: src/frontend/mame/ui/slotopt.cpp:203 src/frontend/mame/ui/miscmenu.cpp:97
-#: src/frontend/mame/ui/inputmap.cpp:615
-msgid "Reset"
-msgstr "Zurücksetzen"
+#: src/frontend/mame/ui/mainmenu.cpp:114
+msgid "Network Devices"
+msgstr "Netzwerkgeräte"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
-msgstr " FARBEN"
+#: src/frontend/mame/ui/mainmenu.cpp:118
+msgid "Keyboard Mode"
+msgstr "Tastaturmodus"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
-msgstr " STIFTE"
+#: src/frontend/mame/ui/mainmenu.cpp:121
+msgid "Slider Controls"
+msgstr "Schieberegler"
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
-msgstr "Zurück zur Maschine"
+#: src/frontend/mame/ui/mainmenu.cpp:124 src/frontend/mame/ui/submenu.cpp:101
+msgid "Video Options"
+msgstr "Videoeinstellungen"
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
-msgstr "Verlassen"
+#: src/frontend/mame/ui/mainmenu.cpp:128
+msgid "Crosshair Options"
+msgstr "Fadenkreuzeinstellungen"
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
-msgstr "Zurück zum vorherigen Menü"
+#: src/frontend/mame/ui/mainmenu.cpp:132 plugins/cheat/init.lua:735
+msgid "Cheat"
+msgstr "Cheat"
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:762
-#: plugins/cheat/init.lua:569 plugins/cheatfind/init.lua:792
-#: plugins/cheatfind/init.lua:803
-msgid "On"
-msgstr "An"
+#: src/frontend/mame/ui/mainmenu.cpp:135
+msgid "Plugin Options"
+msgstr "Erweiterungs-Optionen"
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:765
-#: plugins/cheat/init.lua:572 plugins/cheat/init.lua:581
-#: plugins/cheatfind/init.lua:789 plugins/cheatfind/init.lua:800
-msgid "Off"
-msgstr "Aus"
+#: src/frontend/mame/ui/mainmenu.cpp:139
+msgid "External DAT View"
+msgstr "Externe DAT-Anzeige"
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
-msgstr "Auto"
+#: src/frontend/mame/ui/mainmenu.cpp:154
+msgid "Select New Machine"
+msgstr "Neue Maschine auswählen"
#: src/frontend/mame/ui/custui.cpp:31
msgid "Show All"
@@ -1407,462 +1332,6 @@ msgstr "Gelb"
msgid "Violet"
msgstr "Violett"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
-msgstr "Tastaturmodus:"
-
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
-msgstr "Natürlich"
-
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
-msgstr "Emuliert"
-
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
-msgstr ""
-"Laufzeit: %1$d:%2$02d:%3$02d\n"
-"\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
-msgstr ""
-"Laufzeit: %1$d:%2$02d\n"
-"\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
-msgstr ""
-"Ausgegebene Tickets: %1$d\n"
-"\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
-msgstr "Münzen %1$c: NA%3$s\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
-msgstr "Münzen %1$c: %2$d%3$s\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
-msgstr " (gesperrt)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
-msgstr "Sichtbare Verzögerung"
-
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
-msgstr "%s.xml im Ordner der Benutzeroberfläche gespeichert."
-
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
-msgstr "Name: Beschreibung:\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:639
-#, c-format
-msgid "%s.txt saved under ui folder."
-msgstr "%s.txt im Ordner der Benutzeroberfläche gespeichert."
-
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
-msgstr "Liste im XML-Format exportieren (wie -listxml)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
-msgstr ""
-"Liste im XML-Format exportieren (wie -listxml, Geräte jedoch ausschließen)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
-msgstr "Liste im TXT-Format exportieren (wie -listfull)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
-msgstr "Treiber"
-
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
-msgstr "Diese Maschine besitzt kein BIOS."
-
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
-msgstr "Konfiguration der Maschine speichern"
-
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
-msgstr "Maschine konfigurieren:"
-
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
-msgstr " (Standard)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
-msgstr "Erweiterungen"
-
-#: src/frontend/mame/ui/selgame.cpp:607
-msgid "Configure Machine"
-msgstr "Maschine konfigurieren"
-
-#: src/frontend/mame/ui/selgame.cpp:1036
-#, c-format
-msgid "Romset\t%1$-.100s\n"
-msgstr "ROM-Satz\t%1$-.100s\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1037
-#, c-format
-msgid "Year\t%1$s\n"
-msgstr "Jahr\t%1$s\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1038
-#, c-format
-msgid "Manufacturer\t%1$-.100s\n"
-msgstr "Hersteller\t%1$-.100s\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1042
-#, c-format
-msgid "Driver is Clone of\t%1$-.100s\n"
-msgstr "Treiber ist ein Klon von\t%1$-.100s\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1044
-msgid "Driver is Parent\t\n"
-msgstr "Treiber ist Ursprungs-Treiber\t\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1047
-msgid "Analog Controls\tYes\n"
-msgstr "Analoge Bedienelemente\tVorhanden\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1049
-msgid "Keyboard Inputs\tYes\n"
-msgstr "Tastatureingaben\tVorhanden\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1052
-msgid "Overall\tNOT WORKING\n"
-msgstr "Insgesamt\tFUNKTIONIERT NICHT\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1054
-msgid "Overall\tUnemulated Protection\n"
-msgstr "Insgesamt\tNicht emulierter Kopierschutz\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1056
-msgid "Overall\tWorking\n"
-msgstr "Insgesamt\tFunktioniert\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1059
-msgid "Graphics\tUnimplemented\n"
-msgstr "Grafik\tNicht implementiert\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1061
-msgid "Graphics\tWrong Colors\n"
-msgstr "Grafik\tFarbwiedergabe falsch\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1063
-msgid "Graphics\tImperfect Colors\n"
-msgstr "Grafik\tFarbwiedergabe fehlerhaft\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1065
-msgid "Graphics\tImperfect\n"
-msgstr "Grafik\tFehlerhaft\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1067
-msgid "Graphics\tOK\n"
-msgstr "Grafik\tOK\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1070
-msgid "Sound\tNone\n"
-msgstr "Sound\tKeine\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1072
-msgid "Sound\tUnimplemented\n"
-msgstr "Sound\tNicht implementiert\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1074
-msgid "Sound\tImperfect\n"
-msgstr "Sound\tFehlerhaft\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1076
-msgid "Sound\tOK\n"
-msgstr "Sound\tOK\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1079
-msgid "Capture\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1081
-msgid "Capture\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1084
-msgid "Camera\tUnimplemented\n"
-msgstr "Kamera\tNicht implementiert\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1086
-msgid "Camera\tImperfect\n"
-msgstr "Kamera\tFehlerhaft\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1089
-msgid "Microphone\tUnimplemented\n"
-msgstr "Mikrofon\tNicht implementiert\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1091
-msgid "Microphone\tImperfect\n"
-msgstr "Mikrofon\tFehlerhaft\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1094
-msgid "Controls\tUnimplemented\n"
-msgstr "Bedienelemente\tNicht implementiert\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1096
-msgid "Controls\tImperfect\n"
-msgstr "Bedienelemente\tFehlerhaft\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1099
-msgid "Keyboard\tUnimplemented\n"
-msgstr "Tastatur\tNicht implementiert\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1101
-msgid "Keyboard\tImperfect\n"
-msgstr "Tastatur\tFehlerhaft\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1104
-msgid "Mouse\tUnimplemented\n"
-msgstr "Maus\tNicht implementiert\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1106
-msgid "Mouse\tImperfect\n"
-msgstr "Maus\tFehlerhaft\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1109
-msgid "Media\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1111
-msgid "Media\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1114
-msgid "Disk\tUnimplemented\n"
-msgstr "Festplatte\tNicht implementiert\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1116
-msgid "Disk\tImperfect\n"
-msgstr "Festplatte\tFehlerhaft\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1119
-msgid "Printer\tUnimplemented\n"
-msgstr "Drucker\tNicht implementiert\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1121
-msgid "Printer\tImperfect\n"
-msgstr "Drucker\tFehlerhaft\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1124
-msgid "Mag. Tape\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1126
-msgid "Mag. Tape\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1129
-msgid "Punch Tape\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1131
-msgid "Punch Tape\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1134
-msgid "Mag. Drum\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1136
-msgid "Mag. Drum\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1139
-msgid "(EP)ROM\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1141
-msgid "(EP)ROM\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1144
-msgid "Communications\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1146
-msgid "Communications\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1149
-msgid "LAN\tUnimplemented\n"
-msgstr "LAN\tNicht implementiert\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1151
-msgid "LAN\tImperfect\n"
-msgstr "LAN\tFehlerhaft\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1154
-msgid "WAN\tUnimplemented\n"
-msgstr "WAN\tNicht implementiert\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1156
-msgid "WAN\tImperfect\n"
-msgstr "WAN\tFehlerhaft\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1159
-msgid "Timing\tUnimplemented\n"
-msgstr "Zeitlicher Ablauf\tNicht implementiert\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1161
-msgid "Timing\tImperfect\n"
-msgstr "Zeitlicher Ablauf\tFehlerhaft\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tYes\n"
-msgstr "Maschine ist mechanisch\tJa\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tNo\n"
-msgstr "Maschine ist mechanisch\tNein\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tYes\n"
-msgstr "Benötigt Illustrationen\tJa\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tNo\n"
-msgstr "Benötigt Illustrationen\tNein\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tYes\n"
-msgstr "Benötigt klickbare Illustrationen\tJa\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tNo\n"
-msgstr "Benötigt klickbare Illustrationen\tNein\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tYes\n"
-msgstr "Unterstützt Cocktail-Modus\tJa\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tNo\n"
-msgstr "Unterstützt Cocktail-Modus\tNein\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tYes\n"
-msgstr "Treiber ist BIOS\tJa\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tNo\n"
-msgstr "Treiber ist BIOS\tNein\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tYes\n"
-msgstr "Unterstützt Speichern\tJa\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tNo\n"
-msgstr "Unterstützt Speichern\tNein\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tVertical\n"
-msgstr "Bildschirm-Ausrichtung\tVertikal\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tHorizontal\n"
-msgstr "Bildschirm-Ausrichtung\tHorizontal\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tYes\n"
-msgstr "Benötigt CHD\tJa\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tNo\n"
-msgstr "Benötigt CHD\tNein\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1192
-msgid "ROM Audit Result\tOK\n"
-msgstr "ROM-Überprüfung\tOK\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1194
-msgid "ROM Audit Result\tBAD\n"
-msgstr "ROM-Überprüfung\tFEHLERHAFT\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1197
-msgid "Samples Audit Result\tNone Needed\n"
-msgstr "Samples-Überprüfung\tNicht nötig\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1199
-msgid "Samples Audit Result\tOK\n"
-msgstr "Samples-Überprüfung\tOK\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1201
-msgid "Samples Audit Result\tBAD\n"
-msgstr "Samples-Überprüfung\tFEHLERHAFT\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1205
-msgid ""
-"ROM Audit \tDisabled\n"
-"Samples Audit \tDisabled\n"
-msgstr ""
-"ROM-Überprüfung\tDeaktiviert\n"
-"Samples-Überprüfung\tDeaktiviert\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1396
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
-msgstr "%1$s %2$s ( %3$d / %4$d Maschinen (%5$d BIOS) )"
-
-#: src/frontend/mame/ui/selgame.cpp:1424
-#, c-format
-msgid "Romset: %1$-.100s"
-msgstr "ROM-Satz: %1$-.100s"
-
-#: src/frontend/mame/ui/selgame.cpp:1431
-#, c-format
-msgid "System: %1$-.100s"
-msgstr "System: %1$-.100s"
-
-#: src/frontend/mame/ui/selgame.cpp:1465
-msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
-msgstr ""
-"Der gewählten Maschine fehlen ein oder mehrere benötigte ROM- oder CHD-"
-"Abbilder. Bitte wählen Sie eine andere Maschine aus.\n"
-"\n"
-
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
-msgstr "Sound"
-
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
-msgstr "Samplerate"
-
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
-msgstr "Verwende externe Samples"
-
#: src/frontend/mame/ui/submenu.cpp:22
msgid "Miscellaneous Options"
msgstr "Verschiedene Einstellungen"
@@ -2163,210 +1632,566 @@ msgstr "Synchronisierter Bildneuaufbau"
msgid "Wait Vertical Sync"
msgstr "Warten auf vertikalen Synchronisationsimpuls"
-#: src/frontend/mame/ui/devopt.cpp:43
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Load State"
+msgstr "Lade Status"
+
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Select position to load from"
+msgstr "Ladeposition wählen"
+
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Save State"
+msgstr "Speichere Status"
+
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Select position to save to"
+msgstr "Speicherposition wählen"
+
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
+msgstr "%s [intern]"
+
+#: src/frontend/mame/ui/selgame.cpp:309 src/frontend/mame/ui/selsoft.cpp:211
#, c-format
msgid ""
-"[This option is currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"The selected option enables the following items:\n"
+"%s\n"
+" added to favorites list."
msgstr ""
-"[Diese Option ist momentan im laufenden System aktiviert]\n"
-"\n"
-"Option: %1$s\n"
-"Gerät: %2$s\n"
-"\n"
-"Die gewählte Option aktiviert die folgenden Elemente:\n"
+"%s\n"
+" zur Favoritenliste hinzugefügt."
-#: src/frontend/mame/ui/devopt.cpp:44
+#: src/frontend/mame/ui/selgame.cpp:314 src/frontend/mame/ui/selgame.cpp:320
+#: src/frontend/mame/ui/selsoft.cpp:216
#, c-format
msgid ""
-"[This option is NOT currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"If you select this option, the following items will be enabled:\n"
+"%s\n"
+" removed from favorites list."
msgstr ""
-"[Diese Option ist momentan im laufenden System NICHT aktiviert]\n"
-"\n"
-"Option: %1$s\n"
-"Gerät: %2$s\n"
-"\n"
-"Bei Auswahl dieser Option werden folgende Elemente aktiviert:\n"
+"%s\n"
+" von der Favoritenliste entfernt."
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
-msgstr "* CPU:\n"
+#: src/frontend/mame/ui/selgame.cpp:437
+msgid "Configure Machine"
+msgstr "Maschine konfigurieren"
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/selgame.cpp:849
#, c-format
-msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
-msgstr " %1$d×%2$s %3$d.%4$06d MHz\n"
+msgid "Romset\t%1$-.100s\n"
+msgstr "ROM-Satz\t%1$-.100s\n"
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
-msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
-msgstr " %1$d×%2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/selgame.cpp:850
+#, c-format
+msgid "Year\t%1$s\n"
+msgstr "Jahr\t%1$s\n"
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %3$d.%4$06d MHz\n"
-msgstr " %2$s %3$d.%4$06d MHz\n"
+#: src/frontend/mame/ui/selgame.cpp:851
+#, c-format
+msgid "Manufacturer\t%1$-.100s\n"
+msgstr "Hersteller\t%1$-.100s\n"
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
-msgstr " %2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/selgame.cpp:855
+#, c-format
+msgid "Driver is Clone of\t%1$-.100s\n"
+msgstr "Treiber ist ein Klon von\t%1$-.100s\n"
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
-msgstr "* Video:\n"
+#: src/frontend/mame/ui/selgame.cpp:857
+msgid "Driver is Parent\t\n"
+msgstr "Treiber ist Ursprungs-Treiber\t\n"
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
-msgstr " Bildschirm '%1$s': Vektor\n"
+#: src/frontend/mame/ui/selgame.cpp:860
+msgid "Analog Controls\tYes\n"
+msgstr "Analoge Bedienelemente\tVorhanden\n"
-#: src/frontend/mame/ui/devopt.cpp:103
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
-msgstr " Bildschirm '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+#: src/frontend/mame/ui/selgame.cpp:862
+msgid "Keyboard Inputs\tYes\n"
+msgstr "Tastatureingaben\tVorhanden\n"
-#: src/frontend/mame/ui/devopt.cpp:104
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
-msgstr " Bildschirm '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+#: src/frontend/mame/ui/selgame.cpp:865
+msgid "Overall\tNOT WORKING\n"
+msgstr "Insgesamt\tFUNKTIONIERT NICHT\n"
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
-msgstr "* Sound:\n"
+#: src/frontend/mame/ui/selgame.cpp:867
+msgid "Overall\tUnemulated Protection\n"
+msgstr "Insgesamt\tNicht emulierter Kopierschutz\n"
-#: src/frontend/mame/ui/devopt.cpp:137
-#, c-format
-msgid " %1$d×%2$s\n"
-msgstr " %1$d×%2$s\n"
+#: src/frontend/mame/ui/selgame.cpp:869
+msgid "Overall\tWorking\n"
+msgstr "Insgesamt\tFunktioniert\n"
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
-msgstr " %2$s\n"
+#: src/frontend/mame/ui/selgame.cpp:872
+msgid "Graphics\tUnimplemented\n"
+msgstr "Grafik\tNicht implementiert\n"
-#: src/frontend/mame/ui/devopt.cpp:168
-#, c-format
-msgid ""
-"* BIOS settings:\n"
-" %1$d options [default: %2$s]\n"
-msgstr ""
-"* BIOS-Einstellungen:\n"
-" %1$d Optionen [Standard: %2$s]\n"
+#: src/frontend/mame/ui/selgame.cpp:874
+msgid "Graphics\tWrong Colors\n"
+msgstr "Grafik\tFarbwiedergabe falsch\n"
-#: src/frontend/mame/ui/devopt.cpp:208 src/frontend/mame/ui/devopt.cpp:224
-#: src/frontend/mame/ui/devopt.cpp:269
-#, c-format
-msgid " %1$s [default: %2$s]\n"
-msgstr " %1$s [Standard: %2$s]\n"
+#: src/frontend/mame/ui/selgame.cpp:876
+msgid "Graphics\tImperfect Colors\n"
+msgstr "Grafik\tFarbwiedergabe fehlerhaft\n"
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
-#, c-format
-msgid " %1$s\n"
-msgstr " %1$s\n"
+#: src/frontend/mame/ui/selgame.cpp:878
+msgid "Graphics\tImperfect\n"
+msgstr "Grafik\tFehlerhaft\n"
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
-msgstr "* DIP Schalter-Einstellungen:\n"
+#: src/frontend/mame/ui/selgame.cpp:880
+msgid "Graphics\tOK\n"
+msgstr "Grafik\tOK\n"
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
-msgstr "* Konfigurationseinstellungen:\n"
+#: src/frontend/mame/ui/selgame.cpp:883
+msgid "Sound\tNone\n"
+msgstr "Sound\tKeine\n"
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
-msgstr "* Eingabegerät(e):\n"
+#: src/frontend/mame/ui/selgame.cpp:885
+msgid "Sound\tUnimplemented\n"
+msgstr "Sound\tNicht implementiert\n"
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
-msgstr " Benutzereingaben [%1$d Eingaben]\n"
+#: src/frontend/mame/ui/selgame.cpp:887
+msgid "Sound\tImperfect\n"
+msgstr "Sound\tFehlerhaft\n"
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
-msgstr " Mahjongeingaben [%1$d Eingaben]\n"
+#: src/frontend/mame/ui/selgame.cpp:889
+msgid "Sound\tOK\n"
+msgstr "Sound\tOK\n"
-#: src/frontend/mame/ui/devopt.cpp:244
-#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
-msgstr " Hanafudaeingaben [%1$d Eingaben]\n"
+#: src/frontend/mame/ui/selgame.cpp:892
+msgid "Controls\tUnimplemented\n"
+msgstr "Bedienelemente\tNicht implementiert\n"
-#: src/frontend/mame/ui/devopt.cpp:246
+#: src/frontend/mame/ui/selgame.cpp:894
+msgid "Controls\tImperfect\n"
+msgstr "Bedienelemente\tFehlerhaft\n"
+
+#: src/frontend/mame/ui/selgame.cpp:897
+msgid "Keyboard\tUnimplemented\n"
+msgstr "Tastatur\tNicht implementiert\n"
+
+#: src/frontend/mame/ui/selgame.cpp:899
+msgid "Keyboard\tImperfect\n"
+msgstr "Tastatur\tFehlerhaft\n"
+
+#: src/frontend/mame/ui/selgame.cpp:902
+msgid "Mouse\tUnimplemented\n"
+msgstr "Maus\tNicht implementiert\n"
+
+#: src/frontend/mame/ui/selgame.cpp:904
+msgid "Mouse\tImperfect\n"
+msgstr "Maus\tFehlerhaft\n"
+
+#: src/frontend/mame/ui/selgame.cpp:907
+msgid "Microphone\tUnimplemented\n"
+msgstr "Mikrofon\tNicht implementiert\n"
+
+#: src/frontend/mame/ui/selgame.cpp:909
+msgid "Microphone\tImperfect\n"
+msgstr "Mikrofon\tFehlerhaft\n"
+
+#: src/frontend/mame/ui/selgame.cpp:912
+msgid "Camera\tUnimplemented\n"
+msgstr "Kamera\tNicht implementiert\n"
+
+#: src/frontend/mame/ui/selgame.cpp:914
+msgid "Camera\tImperfect\n"
+msgstr "Kamera\tFehlerhaft\n"
+
+#: src/frontend/mame/ui/selgame.cpp:917
+msgid "Disk\tUnimplemented\n"
+msgstr "Festplatte\tNicht implementiert\n"
+
+#: src/frontend/mame/ui/selgame.cpp:919
+msgid "Disk\tImperfect\n"
+msgstr "Festplatte\tFehlerhaft\n"
+
+#: src/frontend/mame/ui/selgame.cpp:922
+msgid "Printer\tUnimplemented\n"
+msgstr "Drucker\tNicht implementiert\n"
+
+#: src/frontend/mame/ui/selgame.cpp:924
+msgid "Printer\tImperfect\n"
+msgstr "Drucker\tFehlerhaft\n"
+
+#: src/frontend/mame/ui/selgame.cpp:927
+msgid "LAN\tUnimplemented\n"
+msgstr "LAN\tNicht implementiert\n"
+
+#: src/frontend/mame/ui/selgame.cpp:929
+msgid "LAN\tImperfect\n"
+msgstr "LAN\tFehlerhaft\n"
+
+#: src/frontend/mame/ui/selgame.cpp:932
+msgid "WAN\tUnimplemented\n"
+msgstr "WAN\tNicht implementiert\n"
+
+#: src/frontend/mame/ui/selgame.cpp:934
+msgid "WAN\tImperfect\n"
+msgstr "WAN\tFehlerhaft\n"
+
+#: src/frontend/mame/ui/selgame.cpp:937
+msgid "Timing\tUnimplemented\n"
+msgstr "Zeitlicher Ablauf\tNicht implementiert\n"
+
+#: src/frontend/mame/ui/selgame.cpp:939
+msgid "Timing\tImperfect\n"
+msgstr "Zeitlicher Ablauf\tFehlerhaft\n"
+
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tYes\n"
+msgstr "Maschine ist mechanisch\tJa\n"
+
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tNo\n"
+msgstr "Maschine ist mechanisch\tNein\n"
+
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tYes\n"
+msgstr "Benötigt Illustrationen\tJa\n"
+
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tNo\n"
+msgstr "Benötigt Illustrationen\tNein\n"
+
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tYes\n"
+msgstr "Benötigt klickbare Illustrationen\tJa\n"
+
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tNo\n"
+msgstr "Benötigt klickbare Illustrationen\tNein\n"
+
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tYes\n"
+msgstr "Unterstützt Cocktail-Modus\tJa\n"
+
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tNo\n"
+msgstr "Unterstützt Cocktail-Modus\tNein\n"
+
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tYes\n"
+msgstr "Treiber ist BIOS\tJa\n"
+
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tNo\n"
+msgstr "Treiber ist BIOS\tNein\n"
+
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tYes\n"
+msgstr "Unterstützt Speichern\tJa\n"
+
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tNo\n"
+msgstr "Unterstützt Speichern\tNein\n"
+
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tVertical\n"
+msgstr "Bildschirm-Ausrichtung\tVertikal\n"
+
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tHorizontal\n"
+msgstr "Bildschirm-Ausrichtung\tHorizontal\n"
+
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tYes\n"
+msgstr "Benötigt CHD\tJa\n"
+
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tNo\n"
+msgstr "Benötigt CHD\tNein\n"
+
+#: src/frontend/mame/ui/selgame.cpp:970
+msgid "ROM Audit Result\tOK\n"
+msgstr "ROM-Überprüfung\tOK\n"
+
+#: src/frontend/mame/ui/selgame.cpp:972
+msgid "ROM Audit Result\tBAD\n"
+msgstr "ROM-Überprüfung\tFEHLERHAFT\n"
+
+#: src/frontend/mame/ui/selgame.cpp:975
+msgid "Samples Audit Result\tNone Needed\n"
+msgstr "Samples-Überprüfung\tNicht nötig\n"
+
+#: src/frontend/mame/ui/selgame.cpp:977
+msgid "Samples Audit Result\tOK\n"
+msgstr "Samples-Überprüfung\tOK\n"
+
+#: src/frontend/mame/ui/selgame.cpp:979
+msgid "Samples Audit Result\tBAD\n"
+msgstr "Samples-Überprüfung\tFEHLERHAFT\n"
+
+#: src/frontend/mame/ui/selgame.cpp:983
+msgid ""
+"ROM Audit \tDisabled\n"
+"Samples Audit \tDisabled\n"
+msgstr ""
+"ROM-Überprüfung\tDeaktiviert\n"
+"Samples-Überprüfung\tDeaktiviert\n"
+
+#: src/frontend/mame/ui/selgame.cpp:1167
#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
-msgstr " Glücksspieleingaben [%1$d Eingaben]\n"
+msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
+msgstr "%1$s %2$s ( %3$d / %4$d Maschinen (%5$d BIOS) )"
-#: src/frontend/mame/ui/devopt.cpp:248
+#: src/frontend/mame/ui/selgame.cpp:1183 src/frontend/mame/ui/selsoft.cpp:555
#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
-msgstr " Analogeingaben [%1$d Eingaben]\n"
+msgid "%1$s: %2$s - Search: %3$s_"
+msgstr "%1$s: %2$s - Suche: %3$s_"
-#: src/frontend/mame/ui/devopt.cpp:250
+#: src/frontend/mame/ui/selgame.cpp:1185 src/frontend/mame/ui/selsoft.cpp:557
#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
-msgstr " Einstellerreingaben [%1$d Eingaben]\n"
+msgid "Search: %1$s_"
+msgstr "Suche: %1$s_"
-#: src/frontend/mame/ui/devopt.cpp:252
+#: src/frontend/mame/ui/selgame.cpp:1195
#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
-msgstr " Tastenfeldeingaben [%1$d Eingaben]\n"
+msgid "Romset: %1$-.100s"
+msgstr "ROM-Satz: %1$-.100s"
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/selgame.cpp:1202
#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
-msgstr " Tastatureingaben [%1$d Eingaben]\n"
+msgid "System: %1$-.100s"
+msgstr "System: %1$-.100s"
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
-msgstr "* Medienoptionen:\n"
+#: src/frontend/mame/ui/selgame.cpp:1239
+msgid ""
+"The selected machine is missing one or more required ROM or CHD images. "
+"Please select a different machine.\n"
+"\n"
+msgstr ""
+"Der gewählten Maschine fehlen ein oder mehrere benötigte ROM- oder CHD-"
+"Abbilder. Bitte wählen Sie eine andere Maschine aus.\n"
+"\n"
-#: src/frontend/mame/ui/devopt.cpp:261
-#, c-format
-msgid " %1$s [tag: %2$s]\n"
-msgstr " %1$s [tag: %2$s]\n"
+#: src/frontend/mame/ui/selgame.cpp:1245 src/frontend/mame/ui/selsoft.cpp:462
+msgid "Press any key to continue."
+msgstr "Drücken Sie eine beliebige Taste, um fortzufahren."
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
-msgstr "* Steckplatzoptionen:\n"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
+msgstr "Sound"
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
-msgstr "[Keine]\n"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
+msgstr "Samplerate"
-#: src/frontend/mame/ui/auditmenu.cpp:96
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
+msgstr "Verwende externe Samples"
+
+#: src/frontend/mame/ui/utils.cpp:57 src/frontend/mame/ui/utils.cpp:81
+msgid "Unfiltered"
+msgstr "Ungefiltert"
+
+#: src/frontend/mame/ui/utils.cpp:58 src/frontend/mame/ui/utils.cpp:82
+msgid "Available"
+msgstr "Verfügbar"
+
+#: src/frontend/mame/ui/utils.cpp:59 src/frontend/mame/ui/utils.cpp:83
+msgid "Unavailable"
+msgstr "Nicht verfügbar"
+
+#: src/frontend/mame/ui/utils.cpp:60
+msgid "Working"
+msgstr "Funktioniert"
+
+#: src/frontend/mame/ui/utils.cpp:61
+msgid "Not Working"
+msgstr "Funktioniert nicht"
+
+#: src/frontend/mame/ui/utils.cpp:62
+msgid "Mechanical"
+msgstr "Mechanisch"
+
+#: src/frontend/mame/ui/utils.cpp:63
+msgid "Not Mechanical"
+msgstr "Nicht mechanisch"
+
+#: src/frontend/mame/ui/utils.cpp:64
+msgid "Category"
+msgstr "Kategorie"
+
+#: src/frontend/mame/ui/utils.cpp:65
+msgid "Favorites"
+msgstr "Favoriten"
+
+#: src/frontend/mame/ui/utils.cpp:67
+msgid "Not BIOS"
+msgstr "Nicht BIOS"
+
+#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:84
+msgid "Parents"
+msgstr "Eltern"
+
+#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/utils.cpp:85
+msgid "Clones"
+msgstr "Klone"
+
+#: src/frontend/mame/ui/utils.cpp:70
+msgid "Manufacturer"
+msgstr "Hersteller"
+
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:86
+msgid "Year"
+msgstr "Jahr"
+
+#: src/frontend/mame/ui/utils.cpp:72
+msgid "Save Supported"
+msgstr "Speichern unterstützt"
+
+#: src/frontend/mame/ui/utils.cpp:73
+msgid "Save Unsupported"
+msgstr "Speichern nicht unterstützt"
+
+#: src/frontend/mame/ui/utils.cpp:74
+msgid "CHD Required"
+msgstr "CHD benötigt"
+
+#: src/frontend/mame/ui/utils.cpp:75
+msgid "No CHD Required"
+msgstr "Keine CHD benötigt"
+
+#: src/frontend/mame/ui/utils.cpp:76
+msgid "Vertical Screen"
+msgstr "Vertikaler Bildschirm"
+
+#: src/frontend/mame/ui/utils.cpp:77
+msgid "Horizontal Screen"
+msgstr "Horizontaler Bildschirm"
+
+#: src/frontend/mame/ui/utils.cpp:78 src/frontend/mame/ui/utils.cpp:94
+msgid "Custom Filter"
+msgstr "Benutzerdefinierter Filter"
+
+#: src/frontend/mame/ui/utils.cpp:87
+msgid "Publisher"
+msgstr "Herausgeber"
+
+#: src/frontend/mame/ui/utils.cpp:88
+msgid "Supported"
+msgstr "Unterstützt"
+
+#: src/frontend/mame/ui/utils.cpp:89
+msgid "Partially Supported"
+msgstr "Teilweise unterstützt"
+
+#: src/frontend/mame/ui/utils.cpp:90
+msgid "Unsupported"
+msgstr "Nicht unterstützt"
+
+#: src/frontend/mame/ui/utils.cpp:91
+msgid "Release Region"
+msgstr "Veröffentlichungsregion"
+
+#: src/frontend/mame/ui/utils.cpp:92
+msgid "Device Type"
+msgstr "Gerätetyp"
+
+#: src/frontend/mame/ui/utils.cpp:93
+msgid "Software List"
+msgstr "Softwareliste"
+
+#: src/frontend/mame/ui/utils.cpp:244
+msgid "<set up filters>"
+msgstr "<Filter erstellen>"
+
+#: src/frontend/mame/ui/utils.cpp:352
+msgid "Select custom filters:"
+msgstr "Filter auswählen:"
+
+#: src/frontend/mame/ui/utils.cpp:503
#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+msgid "Filter %1$u"
+msgstr "Filter %1$u"
+
+#: src/frontend/mame/ui/utils.cpp:518
+msgid "Remove last filter"
+msgstr "Letzten Filter entfernen"
+
+#: src/frontend/mame/ui/utils.cpp:520
+msgid "Add filter"
+msgstr "Filter hinzufügen"
+
+#: src/frontend/mame/ui/utils.cpp:959
+msgid "Select category:"
+msgstr "Kategorie auswählen:"
+
+#: src/frontend/mame/ui/utils.cpp:990
+msgid "[no category INI files]"
+msgstr "[Keine Kategorie INI Dateien]"
+
+#: src/frontend/mame/ui/utils.cpp:998
+msgid "[no groups in INI file]"
+msgstr "[Keine Gruppen in INI Datei]"
+
+#: src/frontend/mame/ui/utils.cpp:1032
+msgid "No category INI files found"
+msgstr "Keine Kategorie INI Dateien gefunden"
+
+#: src/frontend/mame/ui/utils.cpp:1037
+msgid "File"
+msgstr "Datei"
+
+#: src/frontend/mame/ui/utils.cpp:1041
+msgid "No groups found in category file"
+msgstr "Keine Gruppen in Kategorie Datei gefunden"
+
+#: src/frontend/mame/ui/utils.cpp:1046
+msgid "Group"
+msgstr "Gruppe"
+
+#: src/frontend/mame/ui/utils.cpp:1047
+msgid "Include clones"
+msgstr "Klone einschließen"
+
+#: src/frontend/mame/ui/selsoft.cpp:456
+msgid ""
+"The selected software is missing one or more required files. Please select a "
+"different software.\n"
+"\n"
msgstr ""
-"ROMs für alle %1$u als nicht verfügbar gekennzeichneten Maschinen prüfen?"
+"Dem gewählten Programm fehlen eine oder mehrere Dateien. Bitte wählen Sie "
+"ein anderes Programm aus.\n"
+"\n"
-#: src/frontend/mame/ui/auditmenu.cpp:99
+#: src/frontend/mame/ui/selsoft.cpp:549
#, c-format
-msgid "Audit ROMs for all %1$u machines?"
-msgstr "ROMs für alle %1$u Maschinen prüfen?"
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgstr "%1$s %2$s ( %3$d / %4$d Programm-Pakete )"
-#: src/frontend/mame/ui/auditmenu.cpp:104
+#: src/frontend/mame/ui/selsoft.cpp:550
#, c-format
-msgid "(results will be saved to %1$s)"
-msgstr "(Ergebnisse werden unter %1$s gespeichert)"
+msgid "Driver: \"%1$s\" software list "
+msgstr "Treiber: \"%1$s\" Softwareliste "
-#: src/frontend/mame/ui/auditmenu.cpp:130
+#: src/frontend/mame/ui/filesel.cpp:260
+msgid "[create]"
+msgstr "[erzeugen]"
+
+#: src/frontend/mame/ui/filesel.cpp:419
#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
-msgstr ""
-"Prüfe ROMs für Maschine %2$u von %3$u...\n"
-"%1$s"
+msgid "Error accessing %s"
+msgstr "Fehler beim Zugriff auf %s"
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr "Audit starten"
+#: src/frontend/mame/ui/filesel.cpp:515
+msgid "Select access mode"
+msgstr "Zugriffsart wählen"
+
+#: src/frontend/mame/ui/filesel.cpp:516
+msgid "Read-only"
+msgstr "Nur lesend"
+
+#: src/frontend/mame/ui/filesel.cpp:518
+msgid "Read-write"
+msgstr "Lesend und schreibend"
+
+#: src/frontend/mame/ui/filesel.cpp:519
+msgid "Read this image, write to another image"
+msgstr "Lesen von diesem Image, Schreiben auf ein anderes Image"
+
+#: src/frontend/mame/ui/filesel.cpp:520
+msgid "Read this image, write to diff"
+msgstr "Lesen von diesem Image, Schreiben in diff"
#: src/frontend/mame/ui/imgcntrl.cpp:117
msgid "Cannot save over directory"
@@ -2380,373 +2205,467 @@ msgstr ""
"Dem gewählten Programm fehlen ein oder mehrere benötigte ROM- oder CHD-"
"Abbilder. Bitte wählen Sie ein anderes Programm aus."
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
-msgstr "Kopierschutz"
-
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
-msgstr "Zeitlicher Ablauf"
+#: src/frontend/mame/ui/menu.cpp:294
+msgid "Return to Machine"
+msgstr "Zurück zur Maschine"
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
-msgstr "Grafik"
+#: src/frontend/mame/ui/menu.cpp:299 src/frontend/mame/ui/menu.cpp:301
+msgid "Exit"
+msgstr "Verlassen"
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
-msgstr "Farbpalette"
+#: src/frontend/mame/ui/menu.cpp:306 src/frontend/mame/ui/menu.cpp:308
+msgid "Return to Previous Menu"
+msgstr "Zurück zum vorherigen Menü"
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
-msgstr "Sound"
+#: src/frontend/mame/ui/menu.cpp:742
+msgid "Auto"
+msgstr "Auto"
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:653
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
+"Cheat-Kommentar:\n"
+"%s"
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
-msgstr "Kamera"
-
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
-msgstr "Mikrofon"
+#: src/frontend/mame/ui/cheatopt.cpp:105
+msgid "All cheats reloaded"
+msgstr "Alle Cheats neu geladen"
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
-msgstr "Bedienelemente"
+#: src/frontend/mame/ui/cheatopt.cpp:136
+msgid "Autofire Settings"
+msgstr "Dauerfeuer-Einstellungen"
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
-msgstr "Tastatur"
+#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:581
+msgid "Reset All"
+msgstr "Alle zurücksetzen"
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
-msgstr "Maus"
+#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:582
+msgid "Reload All"
+msgstr "Alle neu laden"
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
-msgstr ""
+#: src/frontend/mame/ui/cheatopt.cpp:273
+msgid "Autofire Status"
+msgstr "Dauerfeuer-Status"
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
-msgstr "Festplatte"
+#: src/frontend/mame/ui/cheatopt.cpp:316
+msgid "No buttons found on this machine!"
+msgstr "Keine Knöpfe für diese Maschine gefunden!"
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
-msgstr "Drucker"
+#: src/frontend/mame/ui/cheatopt.cpp:327 src/frontend/mame/ui/cheatopt.cpp:331
+msgid "Autofire Delay"
+msgstr "Verzögerung für Dauerfeuer"
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/ui.cpp:337
+msgid "This driver requires images to be loaded in the following device(s): "
msgstr ""
+"Für diese Maschine müssen Abbilder in die folgenden Geräte eingehängt "
+"werden: "
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
-msgstr ""
+#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
+msgid "Keyboard Emulation Status"
+msgstr "Status Tastaturemulation"
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
-msgstr ""
+#: src/frontend/mame/ui/ui.cpp:1086
+msgid "Mode: PARTIAL Emulation"
+msgstr "Modus: TEILWEISE Emulation"
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
-msgstr ""
+#: src/frontend/mame/ui/ui.cpp:1087
+msgid "UI: Enabled"
+msgstr "Benutzeroberfläche: Aktiviert"
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
-msgstr ""
+#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
+msgid "**Use ScrLock to toggle**"
+msgstr "** Verwenden Sie ScrLock zum Umschalten**"
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
-msgstr "LAN"
+#: src/frontend/mame/ui/ui.cpp:1096
+msgid "Mode: FULL Emulation"
+msgstr "Modus: VOLLSTÄNDIGE Emulation"
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
-msgstr "WAN"
+#: src/frontend/mame/ui/ui.cpp:1097
+msgid "UI: Disabled"
+msgstr "Benutzeroberfläche: Deaktiviert"
-#: src/frontend/mame/ui/info.cpp:188
-msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
-msgstr ""
-"Ein oder mehrere ROMs/CHDs für diese Maschine sind nicht korrekt. Eventuell "
-"wird die Maschine nicht richtig laufen.\n"
+#: src/frontend/mame/ui/ui.cpp:1249
+msgid "Autofire can't be enabled"
+msgstr "Dauerfeuer kann nicht aktiviert werden"
-#: src/frontend/mame/ui/info.cpp:198
+#: src/frontend/mame/ui/ui.cpp:1302
+#, c-format
msgid ""
-"There are known problems with this machine\n"
+"Are you sure you want to quit?\n"
"\n"
+"Press ''%1$s'' to quit,\n"
+"Press ''%2$s'' to return to emulation."
msgstr ""
-"Es gibt bekannte Probleme mit dieser Maschine\n"
+"Sind Sie sicher, dass Sie die Emulation verlassen wollen?\n"
"\n"
+"Zum Beenden drücken Sie ''%1$s''.\n"
+"Um zur Emulation zurückzukehren drücken Sie ''%2$s''."
-#: src/frontend/mame/ui/info.cpp:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
-msgstr ""
-"Ein oder mehrere ROMs/CHDs dieser Maschine wurden nicht korrekt ausgelesen.\n"
+#: src/frontend/mame/ui/ui.cpp:1374
+msgid "Master Volume"
+msgstr "Gesamtlautstärke"
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
-msgstr "Komplett unemulierte Funktionen: "
+#: src/frontend/mame/ui/ui.cpp:1383
+#, c-format
+msgid "%1$s Volume"
+msgstr "%1$s Lautstärke"
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
+#: src/frontend/mame/ui/ui.cpp:1407
#, c-format
-msgid "%s"
-msgstr "%s"
+msgid "Overclock CPU %1$s"
+msgstr "CPU %1$s übertakten"
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#: src/frontend/mame/ui/info.cpp:275
+#: src/frontend/mame/ui/ui.cpp:1416
#, c-format
-msgid ", %s"
-msgstr ", %s"
+msgid "Overclock %1$s sound"
+msgstr "Sound %1$s übertakten"
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
-msgstr "Nicht perfekt emulierte Funktionen: "
+#: src/frontend/mame/ui/ui.cpp:1437
+#, c-format
+msgid "%1$s Refresh Rate"
+msgstr "%1$s Aktualisierungsrate"
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
-msgstr "Die Bildschirmdrehung im Cocktailmodus wird nicht unterstützt.\n"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, c-format
+msgid "%1$s Brightness"
+msgstr "%1$s Helligkeit"
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
-msgstr "Die Maschine benötigt externe Illustrationsdateien.\n"
+#: src/frontend/mame/ui/ui.cpp:1444
+#, c-format
+msgid "%1$s Contrast"
+msgstr "%1$s Kontrast"
-#: src/frontend/mame/ui/info.cpp:243
-msgid ""
-"This machine was never completed. It may exhibit strange behavior or missing "
-"elements that are not bugs in the emulation.\n"
-msgstr ""
-"Diese Maschine wurde niemals fertiggestellt. Sie kann seltsames Verhalten "
-"oder fehlende Elemente aufweisen, die nicht auf Fehler der Emulation "
-"zurückzuführen sind.\n"
+#: src/frontend/mame/ui/ui.cpp:1446
+#, c-format
+msgid "%1$s Gamma"
+msgstr "%1$s Gamma"
-#: src/frontend/mame/ui/info.cpp:245
-msgid ""
-"This machine has no sound hardware, MAME will produce no sounds, this is "
-"expected behaviour.\n"
-msgstr ""
-"Diese Maschine besitzt keine Sound-Hardware; MAME wird erwartungsgemäß keine "
-"Töne ausgeben.\n"
+#: src/frontend/mame/ui/ui.cpp:1450
+#, c-format
+msgid "%1$s Horiz Stretch"
+msgstr "%1$s Horizontale Streckung"
-#: src/frontend/mame/ui/info.cpp:249
-msgid ""
-"\n"
-"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
-"complete. There is nothing you can do to fix this problem except wait for "
-"the developers to improve the emulation.\n"
-msgstr ""
-"\n"
-"DIESE MASCHINE FUNKTIONIERT NICHT. Die Emulation dieser Maschine ist noch "
-"nicht vollständig. Sie können nur darauf warten, dass die Entwickler die "
-"Emulation verbessern.\n"
+#: src/frontend/mame/ui/ui.cpp:1452
+#, c-format
+msgid "%1$s Horiz Position"
+msgstr "%1$s Horizontale Position"
-#: src/frontend/mame/ui/info.cpp:251
-msgid ""
-"\n"
-"Elements of this machine cannot be emulated as they requires physical "
-"interaction or consist of mechanical devices. It is not possible to fully "
-"experience this machine.\n"
-msgstr ""
-"\n"
-"Verschiedene Elemente dieser Maschine können nicht emuliert werden, da sie "
-"echte physische Interaktion voraussetzen oder mechanische Komponenten "
-"beinhalten. Es ist nicht möglich, diese Maschine vollständig zu verwenden.\n"
+#: src/frontend/mame/ui/ui.cpp:1454
+#, c-format
+msgid "%1$s Vert Stretch"
+msgstr "%1$s Vertikale Streckung"
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1456
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
-msgstr ""
-"\n"
-"\n"
-"Es gibt funktionsfähige Klone dieser Maschine: %s"
+msgid "%1$s Vert Position"
+msgstr "%1$s Vertikale Position"
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
-msgstr ""
-"\n"
-"\n"
-"Drücken Sie eine beliebige Taste zum Fortfahren"
+#: src/frontend/mame/ui/ui.cpp:1475
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
+msgstr "Laserdisc '%1$s' Horizontale Streckung"
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/ui.cpp:1477
#, c-format
-msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
-msgstr ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
+msgid "Laserdisc '%1$s' Horiz Position"
+msgstr "Laserdisc '%1$s' Horizontale Position"
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
-msgstr "MHz"
+#: src/frontend/mame/ui/ui.cpp:1479
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
+msgstr "Laserdisc '%1$s' Vertikale Streckung"
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
-msgstr "kHz"
+#: src/frontend/mame/ui/ui.cpp:1481
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
+msgstr "Laserdisc '%1$s' Vertikale Position"
+
+#: src/frontend/mame/ui/ui.cpp:1493
+msgid "Vector Flicker"
+msgstr "Vektorflimmern"
+
+#: src/frontend/mame/ui/ui.cpp:1494
+msgid "Beam Width Minimum"
+msgstr "Minimale Strahlbreite"
+
+#: src/frontend/mame/ui/ui.cpp:1495
+msgid "Beam Width Maximum"
+msgstr "Maximale Strahlbreite"
+
+#: src/frontend/mame/ui/ui.cpp:1496
+msgid "Beam Intensity Weight"
+msgstr "Gewichtung der Strahlintensität"
+
+#: src/frontend/mame/ui/ui.cpp:1511
+#, c-format
+msgid "Crosshair Scale %1$s"
+msgstr "Fadenkreuzskalierung %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "X"
+msgstr "X"
-#: src/frontend/mame/ui/info.cpp:350
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "Y"
+msgstr "Y"
+
+#: src/frontend/mame/ui/ui.cpp:1513
+#, c-format
+msgid "Crosshair Offset %1$s"
+msgstr "Fadenkreuzversatz %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1601
+#, c-format
+msgid "%1$3ddB"
+msgstr "%1$3ddB"
+
+#: src/frontend/mame/ui/ui.cpp:1645
+#, c-format
+msgid "%1$d%%"
+msgstr "%1$d%%"
+
+#: src/frontend/mame/ui/ui.cpp:1661
+#, c-format
+msgid "%1$3.0f%%"
+msgstr "%1$3.0f%%"
+
+#: src/frontend/mame/ui/ui.cpp:1685
+#, c-format
+msgid "%1$.3ffps"
+msgstr "%1$.3ffps"
+
+#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
+#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
+#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
+#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
+#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
+#: src/frontend/mame/ui/ui.cpp:1927
+#, c-format
+msgid "%1$.3f"
+msgstr "%1$.3f"
+
+#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
+#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
+#, c-format
+msgid "%1$1.2f"
+msgstr "%1$1.2f"
+
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
+msgstr "Fadenkreuzskalierung X %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
+msgstr "Fadenkreuzskalierung Y %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
+msgstr "Fadenkreuzversatz X %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
+msgstr "Fadenkreuzversatz Y %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
+msgstr "**Fehler beim Speichern von ui.ini**"
+
+#: src/frontend/mame/ui/ui.cpp:2226
+#, c-format
+msgid "**Error saving %s.ini**"
+msgstr "**Fehler beim Speichern von %s.ini**"
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " COLORS"
+msgstr " FARBEN"
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " PENS"
+msgstr " STIFTE"
+
+#: src/frontend/mame/ui/devopt.cpp:39
+#, c-format
msgid ""
+"[This option is currently mounted in the running system]\n"
"\n"
-"Sound:\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"The selected option enables the following items:\n"
msgstr ""
+"[Diese Option ist momentan im laufenden System aktiviert]\n"
"\n"
-"Sound:\n"
+"Option: %1$s\n"
+"Gerät: %2$s\n"
+"\n"
+"Die gewählte Option aktiviert die folgenden Elemente:\n"
-#: src/frontend/mame/ui/info.cpp:378
+#: src/frontend/mame/ui/devopt.cpp:40
+#, c-format
msgid ""
+"[This option is NOT currently mounted in the running system]\n"
"\n"
-"Video:\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"If you select this option, the following items will be enabled:\n"
msgstr ""
+"[Diese Option ist momentan im laufenden System NICHT aktiviert]\n"
"\n"
-"Video:\n"
-
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
-msgstr "Keine\n"
-
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
-msgstr "Vektor"
-
-#: src/frontend/mame/ui/info.cpp:400
-#, c-format
-msgid "%1$s: %2$s\n"
-msgstr "%1$s: %2$s\n"
+"Option: %1$s\n"
+"Gerät: %2$s\n"
+"\n"
+"Bei Auswahl dieser Option werden folgende Elemente aktiviert:\n"
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
-msgstr "%2$s\n"
+#: src/frontend/mame/ui/devopt.cpp:48
+msgid "* CPU:\n"
+msgstr "* CPU:\n"
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
#, c-format
-msgid "Screen '%1$s'"
-msgstr "Bildschirm '%1$s'"
+msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+msgstr " %1$d×%2$s %3$d.%4$06d MHz\n"
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr "Bildschirm"
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
+msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
+msgstr " %1$d×%2$s %5$d.%6$03d kHz\n"
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
-msgstr "Nicht unterstützt"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %3$d.%4$06d MHz\n"
+msgstr " %2$s %3$d.%4$06d MHz\n"
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
-msgstr "Teilweise unterstützt"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %5$d.%6$03d kHz\n"
+msgstr " %2$s %5$d.%6$03d kHz\n"
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
-msgstr "[leer]"
+#: src/frontend/mame/ui/devopt.cpp:85
+msgid "* Video:\n"
+msgstr "* Video:\n"
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
-msgstr "Bedienfelder"
+#: src/frontend/mame/ui/devopt.cpp:90
+#, c-format
+msgid " Screen '%1$s': Vector\n"
+msgstr " Bildschirm '%1$s': Vektor\n"
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
-msgstr "Vorschau Illustrationen"
+#: src/frontend/mame/ui/devopt.cpp:99
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+msgstr " Bildschirm '%1$s': %2$d × %3$d (V) %4$f Hz\n"
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
-msgstr "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:100
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+msgstr " Bildschirm '%1$s': %2$d × %3$d (H) %4$f Hz\n"
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
-msgstr "Favoriten verwalten"
+#: src/frontend/mame/ui/devopt.cpp:113
+msgid "* Sound:\n"
+msgstr "* Sound:\n"
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
-msgstr "Angezeigte Liste in Datei exportieren"
+#: src/frontend/mame/ui/devopt.cpp:133
+#, c-format
+msgid " %1$d×%2$s\n"
+msgstr " %1$d×%2$s\n"
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
-msgstr "DATs Ansicht anzeigen"
+#: src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s\n"
+msgstr " %2$s\n"
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
-msgstr "Softwareauswahl:"
+#: src/frontend/mame/ui/devopt.cpp:164
+#, c-format
+msgid ""
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
+msgstr ""
+"* BIOS-Einstellungen:\n"
+" %1$d Optionen [Standard: %2$s]\n"
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
-msgstr "BIOS-Auswahl:"
+#: src/frontend/mame/ui/devopt.cpp:204 src/frontend/mame/ui/devopt.cpp:220
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " %1$s [default: %2$s]\n"
+msgstr " %1$s [Standard: %2$s]\n"
-#: src/frontend/mame/ui/selmenu.cpp:622
+#: src/frontend/mame/ui/devopt.cpp:209 src/frontend/mame/ui/devopt.cpp:225
#, c-format
-msgid "Software is clone of: %1$-.100s"
-msgstr "Programm ist ein Klon von: %1$-.100s"
+msgid " %1$s\n"
+msgstr " %1$s\n"
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
-msgstr "Programm ist Ursprungs-Programm"
+#: src/frontend/mame/ui/devopt.cpp:230
+msgid "* DIP switch settings:\n"
+msgstr "* DIP Schalter-Einstellungen:\n"
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
-msgstr "Unterstützt: Nein"
+#: src/frontend/mame/ui/devopt.cpp:232
+msgid "* Configuration settings:\n"
+msgstr "* Konfigurationseinstellungen:\n"
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
-msgstr "Unterstützt: Teilweise"
+#: src/frontend/mame/ui/devopt.cpp:234
+msgid "* Input device(s):\n"
+msgstr "* Eingabegerät(e):\n"
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
-msgstr "Unterstützt: Ja"
+#: src/frontend/mame/ui/devopt.cpp:236
+#, c-format
+msgid " User inputs [%1$d inputs]\n"
+msgstr " Benutzereingaben [%1$d Eingaben]\n"
-#: src/frontend/mame/ui/selmenu.cpp:644
+#: src/frontend/mame/ui/devopt.cpp:238
#, c-format
-msgid "romset: %1$-.100s"
-msgstr "ROM-Satz: %1$-.100s"
+msgid " Mahjong inputs [%1$d inputs]\n"
+msgstr " Mahjongeingaben [%1$d Eingaben]\n"
-#: src/frontend/mame/ui/selmenu.cpp:660
+#: src/frontend/mame/ui/devopt.cpp:240
#, c-format
-msgid "Driver is clone of: %1$-.100s"
-msgstr "Treiber ist ein Klon von: %1$-.100s"
+msgid " Hanafuda inputs [%1$d inputs]\n"
+msgstr " Hanafudaeingaben [%1$d Eingaben]\n"
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
-msgstr "Treiber ist Ursprungs-Treiber"
+#: src/frontend/mame/ui/devopt.cpp:242
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
+msgstr " Glücksspieleingaben [%1$d Eingaben]\n"
-#: src/frontend/mame/ui/selmenu.cpp:698
+#: src/frontend/mame/ui/devopt.cpp:244
#, c-format
-msgid "%1$s %2$s"
-msgstr "%1$s %2$s"
+msgid " Analog inputs [%1$d inputs]\n"
+msgstr " Analogeingaben [%1$d Eingaben]\n"
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
-msgstr "Images"
+#: src/frontend/mame/ui/devopt.cpp:246
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
+msgstr " Einstellerreingaben [%1$d Eingaben]\n"
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
-msgstr "Informationen"
+#: src/frontend/mame/ui/devopt.cpp:248
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
+msgstr " Tastenfeldeingaben [%1$d Eingaben]\n"
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
-msgstr "Verwendung"
+#: src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
+msgstr " Tastatureingaben [%1$d Eingaben]\n"
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
-msgstr "Allgemeine Informationen"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* Media Options:\n"
+msgstr "* Medienoptionen:\n"
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
-msgstr "Benutzerschnittstelle"
+#: src/frontend/mame/ui/devopt.cpp:257
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
+msgstr " %1$s [tag: %2$s]\n"
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
-msgstr "Weitere Bedienelemente"
+#: src/frontend/mame/ui/devopt.cpp:263
+msgid "* Slot Options:\n"
+msgstr "* Steckplatzoptionen:\n"
+
+#: src/frontend/mame/ui/devopt.cpp:270
+msgid "[None]\n"
+msgstr "[Keine]\n"
#: plugins/timer/init.lua:94
msgid "Current time"
@@ -2764,51 +2683,51 @@ msgstr "Anzahl Spiele"
msgid "Timer"
msgstr "Stoppuhr"
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:510
msgid "Select cheat to set hotkey"
msgstr "Wählen Sie den Cheat aus, um den Hotkey einzustellen"
-#: plugins/cheat/init.lua:534
+#: plugins/cheat/init.lua:516
msgid "Press button for hotkey or wait to clear"
msgstr "Drücken Sie die Taste für den Hotkey oder warten Sie, um zu löschen"
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:528
msgid "None"
msgstr "Keine"
-#: plugins/cheat/init.lua:551
+#: plugins/cheat/init.lua:533
msgid "Done"
msgstr "Fertig"
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:547 plugins/cheat/init.lua:561
msgid "Set"
msgstr "Einstellen"
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:580
msgid "Set hotkeys"
msgstr "Hotkeys einstellen"
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:720
#, lua-format
msgid "Activated: %s = %s"
msgstr "Aktiviert: %s =%s"
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:723 plugins/cheat/init.lua:781
#, lua-format
msgid "Activated: %s"
msgstr "Aktiviert: %s"
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:785
#, lua-format
msgid "Enabled: %s"
msgstr "Aktiviert: %s"
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:790
#, lua-format
msgid "Disabled: %s"
msgstr "Deaktiviert: %s"
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "%s added"
msgstr "%s hinzugefügt"
@@ -2861,49 +2780,49 @@ msgstr "Gameinit"
msgid "MARPScore"
msgstr "MARP-Spielstand"
-#: plugins/cheatfind/init.lua:404
+#: plugins/cheatfind/init.lua:373
msgid "Save Cheat"
msgstr "Cheat speichern"
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Default"
msgstr "Standard"
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Custom"
msgstr "Benutzerdefiniert"
-#: plugins/cheatfind/init.lua:408
+#: plugins/cheatfind/init.lua:377
msgid "Cheat Name"
msgstr "Cheatname"
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/cheatfind/init.lua:383 plugins/cheatfind/init.lua:748
#, lua-format
msgid "Default name is %s"
msgstr "Standardname ist %s"
-#: plugins/cheatfind/init.lua:422
+#: plugins/cheatfind/init.lua:391
msgid "Player"
msgstr "Spieler"
-#: plugins/cheatfind/init.lua:427
+#: plugins/cheatfind/init.lua:396
msgid "Type"
msgstr "Typ"
-#: plugins/cheatfind/init.lua:433
+#: plugins/cheatfind/init.lua:402
msgid "Save"
msgstr "Speichern"
-#: plugins/cheatfind/init.lua:462
+#: plugins/cheatfind/init.lua:429
#, lua-format
msgid "Cheat written to %s and added to cheat.simple"
msgstr "Cheat nach %s geschrieben und zu cheat.simple hinzugefügt"
-#: plugins/cheatfind/init.lua:472
+#: plugins/cheatfind/init.lua:437
msgid "Cheat added to cheat.simple"
msgstr "Cheat zu cheat.simple hinzugefügt"
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:442
msgid ""
"Unable to write file\n"
"Ensure that cheatpath folder exists"
@@ -2911,298 +2830,176 @@ msgstr ""
"Kann Datei nicht schreiben\n"
"Überprüfen Sie ob das cheatpath Verzeichnis existiert"
-#: plugins/cheatfind/init.lua:486
+#: plugins/cheatfind/init.lua:451
msgid "Cancel"
msgstr "Abbrechen"
-#: plugins/cheatfind/init.lua:491
+#: plugins/cheatfind/init.lua:456
msgid "CPU or RAM"
msgstr "CPU oder RAM"
-#: plugins/cheatfind/init.lua:495
+#: plugins/cheatfind/init.lua:460
msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
"Änderungen hieran werden erst wirksam nachdem \"Neue Suche starten\" "
"ausgewählt wurde"
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
-msgstr ""
+#: plugins/cheatfind/init.lua:479
+msgid "Data cleared and current state saved"
+msgstr "Daten wurden zurückgesetzt und der aktuelle Status wurde gespeichert"
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:551
+#: plugins/cheatfind/init.lua:487
msgid "Start new search"
msgstr "Neue Suche starten"
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
-msgstr ""
+#: plugins/cheatfind/init.lua:497
+msgid "Current state saved"
+msgstr "Aktuelle Status wurde gespeichert"
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
-msgstr ""
+#: plugins/cheatfind/init.lua:504
+msgid "Save current -- #"
+msgstr "Speichere aktuelle -- #"
-#: plugins/cheatfind/init.lua:614
+#: plugins/cheatfind/init.lua:536
#, lua-format
msgid "%d total matches found"
msgstr "%d Gesamttreffer gefunden"
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
-msgstr ""
+#: plugins/cheatfind/init.lua:543
+msgid "Compare"
+msgstr "Vergleich"
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
-msgstr ""
+#: plugins/cheatfind/init.lua:546
+msgid "Left operand"
+msgstr "Linker Operand"
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
-msgstr ""
+#: plugins/cheatfind/init.lua:549
+msgid "Current"
+msgstr "Aktuell"
+
+#: plugins/cheatfind/init.lua:554
+msgid "Operator"
+msgstr "Operator"
+
+#: plugins/cheatfind/init.lua:561
+msgid "Left less than right, value is difference"
+msgstr "Links kleiner rechts, Wert ist Differenz"
-#: plugins/cheatfind/init.lua:676
+#: plugins/cheatfind/init.lua:563
+msgid "Left greater than right, value is difference"
+msgstr "Links größer rechts, Wert ist Differenz"
+
+#: plugins/cheatfind/init.lua:565
msgid "Left equal to right"
msgstr "Links gleich rechts"
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
-msgstr ""
+#: plugins/cheatfind/init.lua:567
+msgid "Left not equal to right, value is difference"
+msgstr "Links ungleich rechts, Wert ist Differenz"
-#: plugins/cheatfind/init.lua:680
+#: plugins/cheatfind/init.lua:569
msgid "Left equal to right with bitmask"
msgstr "Links gleich rechts als Bitmaske"
-#: plugins/cheatfind/init.lua:682
+#: plugins/cheatfind/init.lua:571
msgid "Left not equal to right with bitmask"
msgstr "Links ungleich rechts als Bitmaske"
-#: plugins/cheatfind/init.lua:684
+#: plugins/cheatfind/init.lua:573
msgid "Left less than value"
msgstr "Links kleiner Wert"
-#: plugins/cheatfind/init.lua:686
+#: plugins/cheatfind/init.lua:575
msgid "Left greater than value"
msgstr "Links größer Wert"
-#: plugins/cheatfind/init.lua:688
+#: plugins/cheatfind/init.lua:577
msgid "Left equal to value"
msgstr "Links gleich Wert"
-#: plugins/cheatfind/init.lua:690
+#: plugins/cheatfind/init.lua:579
msgid "Left not equal to value"
msgstr "Links ungleich Wert"
-#: plugins/cheatfind/init.lua:712
+#: plugins/cheatfind/init.lua:590
+msgid "Right operand"
+msgstr "Rechter Operand"
+
+#: plugins/cheatfind/init.lua:598
msgid "Value"
msgstr "Wert"
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:719
+#: plugins/cheatfind/init.lua:602
msgid "Any"
msgstr "Jeder"
-#: plugins/cheatfind/init.lua:725
+#: plugins/cheatfind/init.lua:608
msgid "Data Format"
msgstr "Datenformat"
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:738
-msgid ""
-"Use this if you want to poke the Slot 1 value (eg. You started with "
-"something but lost it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:740
-msgid ""
-"Use this if you want to poke the Last Slot value (eg. You started without an "
-"item but finally got it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:816
+#: plugins/cheatfind/init.lua:632
msgid "Undo last search -- #"
msgstr "Letzte Suche rückgängig machen -- #"
-#: plugins/cheatfind/init.lua:820
+#: plugins/cheatfind/init.lua:636
msgid "Match block"
msgstr "Prüfe Block auf Übereinstimmung"
-#: plugins/cheatfind/init.lua:823
+#: plugins/cheatfind/init.lua:639
msgid "All"
msgstr "Alle"
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheatfind/init.lua:690
#, lua-format
-msgid "Test Cheat %08X:%02X"
-msgstr ""
+msgid "Test cheat at addr %08X"
+msgstr "Cheat an Adresse %08X überprüfen"
-#: plugins/cheatfind/init.lua:974
+#: plugins/cheatfind/init.lua:722
msgid "Cheat engine not available"
msgstr "Cheatmodul nicht verfügbar"
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Test"
msgstr "Test"
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Write"
msgstr "Schreibe"
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Watch"
msgstr "Überwache"
-#: plugins/cheatfind/init.lua:1045
+#: plugins/cheatfind/init.lua:788
msgid "Page"
msgstr "Seite"
-#: plugins/cheatfind/init.lua:1063
+#: plugins/cheatfind/init.lua:806
msgid "Clear Watches"
msgstr "Überwachungen löschen"
-#: plugins/cheatfind/init.lua:1078
+#: plugins/cheatfind/init.lua:816
msgid "Cheat Finder"
msgstr "Cheat-Finder"
-#: plugins/portname/init.lua:103
+#: plugins/portname/init.lua:69
msgid "Save input names to file"
msgstr "Datei mit Eingabenamen in Datei speichern"
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
+#: plugins/portname/init.lua:100 plugins/portname/init.lua:105
+#: plugins/portname/init.lua:121
msgid "Failed to save input name file"
msgstr "Speichern der Datei für Eingabenamen fehlgeschlagen"
-#: plugins/portname/init.lua:167
+#: plugins/portname/init.lua:133
#, lua-format
msgid "Input port name file saved to %s"
msgstr "Datei mit Eingabenamen nach %s gespeichert"
-#: plugins/portname/init.lua:172
+#: plugins/portname/init.lua:138
msgid "Input ports"
msgstr "Eingaben"
-#~ msgid "Data cleared and current state saved"
-#~ msgstr ""
-#~ "Daten wurden zurückgesetzt und der aktuelle Status wurde gespeichert"
-
-#~ msgid "Current state saved"
-#~ msgstr "Aktuelle Status wurde gespeichert"
-
-#~ msgid "Save current -- #"
-#~ msgstr "Speichere aktuelle -- #"
-
-#~ msgid "Compare"
-#~ msgstr "Vergleich"
-
-#~ msgid "Left operand"
-#~ msgstr "Linker Operand"
-
-#~ msgid "Current"
-#~ msgstr "Aktuell"
-
-#~ msgid "Operator"
-#~ msgstr "Operator"
-
-#~ msgid "Left less than right, value is difference"
-#~ msgstr "Links kleiner rechts, Wert ist Differenz"
-
-#~ msgid "Left greater than right, value is difference"
-#~ msgstr "Links größer rechts, Wert ist Differenz"
-
-#~ msgid "Left not equal to right, value is difference"
-#~ msgstr "Links ungleich rechts, Wert ist Differenz"
-
-#~ msgid "Right operand"
-#~ msgstr "Rechter Operand"
-
-#~ msgid "Test cheat at addr %08X"
-#~ msgstr "Cheat an Adresse %08X überprüfen"
-
#~ msgid " total matches found"
#~ msgstr " Treffer gefunden"
diff --git a/language/Greek/strings.po b/language/Greek/strings.po
index 7d981581e9b..418d03e7ade 100644
--- a/language/Greek/strings.po
+++ b/language/Greek/strings.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MAME\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-03-17 13:37+1100\n"
+"POT-Creation-Date: 2018-04-28 15:32+1000\n"
"PO-Revision-Date: 2018-04-29 16:16+0300\n"
"Last-Translator: Mame.gr\n"
"Language-Team: MAME Language Team\n"
@@ -17,61 +17,238 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
+#: src/frontend/mame/ui/auditmenu.cpp:96
#, c-format
-msgid "Screen #%d"
-msgstr "Οθόνη #%d"
+msgid "Audit ROMs for %1$u machines marked unavailable?"
+msgstr "Έλεγχος ROMs για %1$u μηχανήματα που δεν είναι διαθέσιμα;"
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr "ΠεÏιστÏοφή"
+#: src/frontend/mame/ui/auditmenu.cpp:99
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
+msgstr "Έλεγχος ROMs για όλα τα %1$u μηχανήματα;"
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr "Σκηνικά"
+#: src/frontend/mame/ui/auditmenu.cpp:104
+#, c-format
+msgid "(results will be saved to %1$s)"
+msgstr "(τα αποτελέσματα θα αποθηκευτοÏν στο %1$s)"
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Enabled"
-msgstr "ΕνεÏγοποιημένο"
+#: src/frontend/mame/ui/auditmenu.cpp:130
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
+msgstr ""
+"Γίνεται έλεγχος ROMs για το μηχάνημα %2$u από %3$u...\n"
+"%1$s"
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Disabled"
-msgstr "ΑπενεÏγοποιημένο"
+#: src/frontend/mame/ui/auditmenu.cpp:142
+msgid "Start Audit"
+msgstr "ΈναÏξή Ελέγχου"
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr "ΕπικαλÏψεις"
+#: src/frontend/mame/ui/selmenu.cpp:49 src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Snapshots"
+msgstr "Στιγμιότυπα"
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr "ΠÏοσόψεις"
+#: src/frontend/mame/ui/selmenu.cpp:50 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cabinets"
+msgstr "Καμπίνες"
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+#: src/frontend/mame/ui/selmenu.cpp:51
+msgid "Control Panels"
msgstr "Πίνακες Ελέγχου"
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
+#: src/frontend/mame/ui/selmenu.cpp:52 src/frontend/mame/ui/dirmenu.cpp:50
+msgid "PCBs"
+msgstr "PCBs"
+
+#: src/frontend/mame/ui/selmenu.cpp:53 src/frontend/mame/ui/dirmenu.cpp:47
+msgid "Flyers"
+msgstr "Φυλλάδια"
+
+#: src/frontend/mame/ui/selmenu.cpp:54 src/frontend/mame/ui/dirmenu.cpp:48
+msgid "Titles"
+msgstr "Τίτλοι"
+
+#: src/frontend/mame/ui/selmenu.cpp:55 src/frontend/mame/ui/dirmenu.cpp:49
+msgid "Ends"
+msgstr "ΤεÏματισμοί"
+
+#: src/frontend/mame/ui/selmenu.cpp:56
+msgid "Artwork Preview"
+msgstr "ΠÏοεπισκόπηση Artworks"
+
+#: src/frontend/mame/ui/selmenu.cpp:57 src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Bosses"
+msgstr "ΑÏχηγοί"
+
+#: src/frontend/mame/ui/selmenu.cpp:58 src/frontend/mame/ui/dirmenu.cpp:60
+msgid "Logos"
+msgstr "Λογότυπα"
+
+#: src/frontend/mame/ui/selmenu.cpp:59 src/frontend/mame/ui/dirmenu.cpp:62
+msgid "Versus"
+msgstr "Versus"
+
+#: src/frontend/mame/ui/selmenu.cpp:60
+msgid "Game Over"
+msgstr "Game Over"
+
+#: src/frontend/mame/ui/selmenu.cpp:61 src/frontend/mame/ui/dirmenu.cpp:59
+msgid "HowTo"
+msgstr "Πως να"
+
+#: src/frontend/mame/ui/selmenu.cpp:62 src/frontend/mame/ui/dirmenu.cpp:61
+msgid "Scores"
+msgstr "Βαθμολογία"
+
+#: src/frontend/mame/ui/selmenu.cpp:63 src/frontend/mame/ui/dirmenu.cpp:57
+msgid "Select"
+msgstr "Επιλογή"
+
+#: src/frontend/mame/ui/selmenu.cpp:64 src/frontend/mame/ui/dirmenu.cpp:51
+#: src/frontend/mame/ui/videoopt.cpp:224
msgid "Marquees"
msgstr "ΜαÏκίζες"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
-msgstr "Εμφάνιση"
+#: src/frontend/mame/ui/selmenu.cpp:65 src/frontend/mame/ui/dirmenu.cpp:63
+msgid "Covers"
+msgstr "Εξώφυλλα"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
-msgstr "ΠεÏικοπή"
+#: src/frontend/mame/ui/selmenu.cpp:69
+msgid "Add or remove favorites"
+msgstr "ΠÏοσθήκη ή αφαίÏεση από τα αγαπημένα"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
-msgstr "ΠλήÏες"
+#: src/frontend/mame/ui/selmenu.cpp:70
+msgid "Export displayed list to file"
+msgstr "Εξαγωγή λίστας σε αÏχείο"
+
+#: src/frontend/mame/ui/selmenu.cpp:71
+msgid "Show DATs view"
+msgstr "Εμφάνιση Ï€Ïοβολής DATs"
+
+#: src/frontend/mame/ui/selmenu.cpp:237
+msgid "Software part selection:"
+msgstr "Επιλογή τμημάτων λογισμικοÏ:"
+
+#: src/frontend/mame/ui/selmenu.cpp:343
+msgid "BIOS selection:"
+msgstr "Επιλογή BIOS:"
+
+#: src/frontend/mame/ui/selmenu.cpp:570 src/frontend/mame/ui/selmenu.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:311
+#, c-format
+msgid "%1$s, %2$-.100s"
+msgstr "%1$s, %2$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:574
+#, c-format
+msgid "Software is clone of: %1$-.100s"
+msgstr "Το λογισμικό είναι κλώνος του: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:576
+msgid "Software is parent"
+msgstr "Το λογισμικό είναι γονικό"
+
+#: src/frontend/mame/ui/selmenu.cpp:581
+msgid "Supported: No"
+msgstr "ΥποστηÏίζεται: Όχι"
+
+#: src/frontend/mame/ui/selmenu.cpp:586
+msgid "Supported: Partial"
+msgstr "ΥποστηÏίζεται: ΜεÏικώς"
+
+#: src/frontend/mame/ui/selmenu.cpp:591
+msgid "Supported: Yes"
+msgstr "ΥποστηÏίζεται: Îαι"
+
+#: src/frontend/mame/ui/selmenu.cpp:596
+#, c-format
+msgid "romset: %1$-.100s"
+msgstr "romset: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:612
+#, c-format
+msgid "Driver is clone of: %1$-.100s"
+msgstr "Ο Οδηγός είναι κλώνος του: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:614
+msgid "Driver is parent"
+msgstr "Ο Οδηγός είναι γονικός"
+
+#: src/frontend/mame/ui/selmenu.cpp:619
+#: src/frontend/mame/ui/simpleselgame.cpp:330
+msgid "Overall: NOT WORKING"
+msgstr "Συνολικά: ΔΕΠΛΕΙΤΟΥΡΓΕΙ"
+
+#: src/frontend/mame/ui/selmenu.cpp:621
+#: src/frontend/mame/ui/simpleselgame.cpp:332
+msgid "Overall: Unemulated Protection"
+msgstr "Συνολικά: ΠÏοστασία Μη Εξομοιωμένη"
+
+#: src/frontend/mame/ui/selmenu.cpp:623
+#: src/frontend/mame/ui/simpleselgame.cpp:334
+msgid "Overall: Working"
+msgstr "Συνολικά: ΛειτουÏγεί"
+
+#: src/frontend/mame/ui/selmenu.cpp:627
+#: src/frontend/mame/ui/simpleselgame.cpp:338
+msgid "Graphics: Unimplemented, "
+msgstr "ΓÏαφικά: Μη υλοποιημένα, "
+
+#: src/frontend/mame/ui/selmenu.cpp:629
+#: src/frontend/mame/ui/simpleselgame.cpp:340
+msgid "Graphics: Imperfect, "
+msgstr "ΓÏαφικά: Ατελή, "
+
+#: src/frontend/mame/ui/selmenu.cpp:631
+#: src/frontend/mame/ui/simpleselgame.cpp:342
+msgid "Graphics: OK, "
+msgstr "ΓÏαφικά: OK, "
+
+#: src/frontend/mame/ui/selmenu.cpp:634
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+msgid "Sound: None"
+msgstr "Ήχος: Κανένας"
+
+#: src/frontend/mame/ui/selmenu.cpp:636
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+msgid "Sound: Unimplemented"
+msgstr "Ήχος: Δεν Έχει Υλοποιηθεί"
+
+#: src/frontend/mame/ui/selmenu.cpp:638
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+msgid "Sound: Imperfect"
+msgstr "Ήχος: Ατελής"
+
+#: src/frontend/mame/ui/selmenu.cpp:640
+#: src/frontend/mame/ui/simpleselgame.cpp:351
+msgid "Sound: OK"
+msgstr "Ήχος: OK"
+
+#: src/frontend/mame/ui/selmenu.cpp:650
+#, c-format
+msgid "%1$s %2$s"
+msgstr "%1$s %2$s"
+
+#: src/frontend/mame/ui/selmenu.cpp:1975
+msgid "Images"
+msgstr "Εικόνες"
+
+#: src/frontend/mame/ui/selmenu.cpp:1976
+msgid "Infos"
+msgstr "ΠληÏοφοÏίες"
+
+#: src/frontend/mame/ui/selmenu.cpp:2386 src/frontend/mame/ui/miscmenu.cpp:826
+msgid " (default)"
+msgstr " (Ï€Ïοεπιλογή)"
+
+#: src/frontend/mame/ui/selmenu.cpp:2454
+msgid "Usage"
+msgstr "ΧÏήση"
+
+#: src/frontend/mame/ui/selmenu.cpp:2489
+msgid "General Info"
+msgstr "Γενικές ΠληÏοφοÏίες"
#: src/frontend/mame/ui/dirmenu.cpp:35
msgid "ROMs"
@@ -113,30 +290,6 @@ msgstr "Εικονίδια"
msgid "Cheats"
msgstr "Cheats"
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
-msgstr "Στιγμιότυπα"
-
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
-msgstr "Καμπίνες"
-
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
-msgstr "Φυλλάδια"
-
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
-msgstr "Τίτλοι"
-
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
-msgstr "ΤεÏματισμοί"
-
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
-msgstr "PCBs"
-
#: src/frontend/mame/ui/dirmenu.cpp:52
msgid "Controls Panels"
msgstr "Πίνακες ελέγχου"
@@ -149,42 +302,14 @@ msgstr "ΣτόχαστÏα"
msgid "Artworks"
msgstr "Artworks"
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
-msgstr "ΑÏχηγοί"
-
#: src/frontend/mame/ui/dirmenu.cpp:56
msgid "Artworks Preview"
msgstr "ΠÏοεπισκόπηση Artworks"
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
-msgstr "Επιλογή"
-
#: src/frontend/mame/ui/dirmenu.cpp:58
msgid "GameOver"
msgstr "GameOver"
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
-msgstr "Πως να"
-
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
-msgstr "Λογότυπα"
-
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
-msgstr "Βαθμολογία"
-
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
-msgstr "Versus"
-
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
-msgstr "Εξώφυλλα"
-
#: src/frontend/mame/ui/dirmenu.cpp:116
msgid "Folders Setup"
msgstr "ΡÏθμιση Φακέλων"
@@ -225,14 +350,279 @@ msgstr "Πιέστε το πλήκτÏο TAB για να οÏίσετε"
msgid "Remove %1$s Folder"
msgstr "ΑφαίÏεση Φακέλου %1$s"
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
-msgstr "Λίστα Επιλογής - Αναζήτηση: "
+#: src/frontend/mame/ui/info.cpp:30
+msgid "protection"
+msgstr "Ï€Ïοστασία"
+
+#: src/frontend/mame/ui/info.cpp:31
+msgid "color palette"
+msgstr "χÏωματική παλέτα"
+
+#: src/frontend/mame/ui/info.cpp:32
+msgid "graphics"
+msgstr "γÏαφικά"
+
+#: src/frontend/mame/ui/info.cpp:33
+msgid "sound"
+msgstr "ήχος"
+
+#: src/frontend/mame/ui/info.cpp:34
+msgid "controls"
+msgstr "χειÏισμός"
-#: src/frontend/mame/ui/selector.cpp:123
+#: src/frontend/mame/ui/info.cpp:35
+msgid "keyboard"
+msgstr "πληκτÏολόγιο"
+
+#: src/frontend/mame/ui/info.cpp:36
+msgid "mouse"
+msgstr "ποντίκι"
+
+#: src/frontend/mame/ui/info.cpp:37
+msgid "microphone"
+msgstr "μικÏόφωνο"
+
+#: src/frontend/mame/ui/info.cpp:38
+msgid "camera"
+msgstr "κάμεÏα"
+
+#: src/frontend/mame/ui/info.cpp:39
+msgid "disk"
+msgstr "δίσκος"
+
+#: src/frontend/mame/ui/info.cpp:40
+msgid "printer"
+msgstr "εκτυπωτής"
+
+#: src/frontend/mame/ui/info.cpp:41
+msgid "LAN"
+msgstr "Δίκτυο LAN"
+
+#: src/frontend/mame/ui/info.cpp:42
+msgid "WAN"
+msgstr "Δίκτυο WAN"
+
+#: src/frontend/mame/ui/info.cpp:43
+msgid "timing"
+msgstr "χÏονισμός"
+
+#: src/frontend/mame/ui/info.cpp:180
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
+msgstr ""
+"Μία ή πεÏισσότεÏες ROMs/CHDs για αυτό το μηχάνημα είναι εσφαλμένες. Το "
+"μηχάνημα μποÏεί να μην εκτελείται σωστά.\n"
+
+#: src/frontend/mame/ui/info.cpp:190
+msgid ""
+"There are known problems with this machine\n"
+"\n"
+msgstr ""
+"ΥπάÏχουν γνωστά Ï€Ïοβλήματα με αυτό το μηχάνημα\n"
+"\n"
+
+#: src/frontend/mame/ui/info.cpp:195
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+msgstr ""
+"Μία ή πεÏισσότεÏες ROMs/CHDs για αυτό το μηχάνημα δεν έχουν γίνει dump "
+"σωστά.\n"
+
+#: src/frontend/mame/ui/info.cpp:200
+msgid "Completely unemulated features: "
+msgstr "Εντελώς μη εξομοιωμένα χαÏακτηÏιστικά: "
+
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
#, c-format
-msgid "Double click or press %1$s to select"
-msgstr "Κάντε διπλό κλικ ή πατήστε %1$s για να επιλέξετε"
+msgid "%s"
+msgstr "%s"
+
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#: src/frontend/mame/ui/info.cpp:267
+#, c-format
+msgid ", %s"
+msgstr ", %s"
+
+#: src/frontend/mame/ui/info.cpp:216
+msgid "Imperfectly emulated features: "
+msgstr "ΜεÏικώς εξομοιωμένα χαÏακτηÏιστικά: "
+
+#: src/frontend/mame/ui/info.cpp:231
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr ""
+"Το αναποδογÏÏισμα της οθόνης σε κοκτέιλ λειτουÏγία δεν υποστηÏίζεται.\n"
+
+#: src/frontend/mame/ui/info.cpp:233
+msgid "This machine requires external artwork files.\n"
+msgstr "Αυτό το μηχάνημα απαιτεί εξωτεÏικά αÏχεία artwork.\n"
+
+#: src/frontend/mame/ui/info.cpp:235
+msgid ""
+"This machine was never completed. It may exhibit strange behavior or missing "
+"elements that are not bugs in the emulation.\n"
+msgstr ""
+"Αυτό το μηχάνημα δεν ολοκληÏώθηκε ποτέ. Αυτό μποÏεί να εμφανίσει ασυνήθιστη "
+"συμπεÏιφοÏά ή στοιχεία να λείπουν που δεν είναι σφάλματα στην εξομοίωση.\n"
+
+#: src/frontend/mame/ui/info.cpp:237
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
+msgstr ""
+"Αυτό το μηχάνημα δεν έχει κανένα υλικό ήχου, το MAME δεν θα παÏάγει κανένα "
+"ήχο, αυτή είναι αναμενόμενη συμπεÏιφοÏά.\n"
+
+#: src/frontend/mame/ui/info.cpp:241
+msgid ""
+"\n"
+"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
+"complete. There is nothing you can do to fix this problem except wait for "
+"the developers to improve the emulation.\n"
+msgstr ""
+"\n"
+"ΑΥΤΟ ΤΟ ΜΗΧΑÎΗΜΑ ΔΕΠΛΕΙΤΟΥΡΓΕΙ. Η εξομοίωση για αυτό το μηχάνημα δεν είναι "
+"ακόμα πλήÏης. Δεν υπάÏχει τίποτα που μποÏείτε να κάνετε για να διοÏθώσετε "
+"αυτό το Ï€Ïόβλημα εκτός από την αναμονή για τους Ï€ÏογÏαμματιστές να "
+"βελτιώσουν την εξομοίωση.\n"
+
+#: src/frontend/mame/ui/info.cpp:243
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they requires physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
+msgstr ""
+"\n"
+"Στοιχεία Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… μηχανήματος δεν μποÏοÏν να εξομοιωθοÏν, καθώς απαιτοÏν "
+"φυσική αλληλεπίδÏαση ή αποτελοÏνται από μηχανικές συσκευές. Δεν είναι "
+"δυνατόν να δοκιμάσετε πλήÏως αυτό το μηχάνημα.\n"
+
+#: src/frontend/mame/ui/info.cpp:265
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
+msgstr ""
+"\n"
+"\n"
+"ΥπάÏχουν κλώνοι Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… μηχανήματος που λειτουÏγοÏν: %s"
+
+#: src/frontend/mame/ui/info.cpp:278
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+"\n"
+"\n"
+"Πιέστε ένα πλήκτÏο για συνέχεια"
+
+#: src/frontend/mame/ui/info.cpp:293
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
+msgstr ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Οδηγός: %4$s\n"
+"\n"
+"ΕπεξεÏγαστής:\n"
+
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "MHz"
+msgstr "MHz"
+
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "kHz"
+msgstr "kHz"
+
+#: src/frontend/mame/ui/info.cpp:342
+msgid ""
+"\n"
+"Sound:\n"
+msgstr ""
+"\n"
+"Ήχος:\n"
+
+#: src/frontend/mame/ui/info.cpp:370
+msgid ""
+"\n"
+"Video:\n"
+msgstr ""
+"\n"
+"Βίντεο:\n"
+
+#: src/frontend/mame/ui/info.cpp:374
+msgid "None\n"
+msgstr "Κανένα\n"
+
+#: src/frontend/mame/ui/info.cpp:381
+msgid "Vector"
+msgstr "Διάνυσμα"
+
+#: src/frontend/mame/ui/info.cpp:392
+#, c-format
+msgid "%1$s: %2$s\n"
+msgstr "%1$s: %2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:392
+msgid "%2$s\n"
+msgstr "%2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:438
+#, c-format
+msgid "Screen '%1$s'"
+msgstr "Οθόνη '%1$s'"
+
+#: src/frontend/mame/ui/info.cpp:440
+msgid "Screen"
+msgstr "Οθόνη"
+
+#: src/frontend/mame/ui/info.cpp:525
+msgid "Not supported"
+msgstr "Δεν υποστηÏίζεται"
+
+#: src/frontend/mame/ui/info.cpp:528
+msgid "Partially supported"
+msgstr "ΥποστηÏίζεται μεÏικώς"
+
+#: src/frontend/mame/ui/info.cpp:536
+msgid "[empty]"
+msgstr "[κενό]"
+
+#: src/frontend/mame/ui/optsmenu.cpp:193
+msgid "Filter"
+msgstr "ΦίλτÏο"
+
+#: src/frontend/mame/ui/optsmenu.cpp:206
+msgid "Customize UI"
+msgstr "ΠÏοσαÏμογή UI"
+
+#: src/frontend/mame/ui/optsmenu.cpp:207
+msgid "Configure Directories"
+msgstr "ΡÏθμιση Φακέλων"
+
+#: src/frontend/mame/ui/optsmenu.cpp:210 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
+msgstr "Επιλογές Ήχου"
+
+#: src/frontend/mame/ui/optsmenu.cpp:213
+msgid "General Inputs"
+msgstr "Γενικός ΧειÏισμός"
+
+#: src/frontend/mame/ui/optsmenu.cpp:216
+msgid "Save Configuration"
+msgstr "Αποθήκευση Ρυθμίσεων"
+
+#: src/frontend/mame/ui/optsmenu.cpp:228
+msgid "Settings"
+msgstr "Ρυθμίσεις"
#: src/frontend/mame/ui/tapectrl.cpp:85
msgid "stopped"
@@ -274,8 +664,30 @@ msgstr "ΕπαναφοÏά"
msgid "Fast Forward"
msgstr "ΓÏήγοÏη ΠÏοώθηση"
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
-#: src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/inputmap.cpp:53
+msgid "User Interface"
+msgstr "ΠεÏιβάλλον ΧÏήστη"
+
+#: src/frontend/mame/ui/inputmap.cpp:59
+msgid "Other Controls"
+msgstr "Άλλα Στοιχεία Ελέγχου"
+
+#: src/frontend/mame/ui/inputmap.cpp:628 src/frontend/mame/ui/miscmenu.cpp:96
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr "ΕπαναφοÏά"
+
+#: src/frontend/mame/ui/selector.cpp:116
+msgid "Selection List - Search: "
+msgstr "Λίστα Επιλογής - Αναζήτηση: "
+
+#: src/frontend/mame/ui/selector.cpp:124
+#, c-format
+msgid "Double click or press %1$s to select"
+msgstr "Κάντε διπλό κλικ ή πατήστε %1$s για να επιλέξετε"
+
+#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/filesel.cpp:256
msgid "[empty slot]"
msgstr "[κενή υποδοχή]"
@@ -316,182 +728,6 @@ msgstr "ΧÏήση ΛογισμικοÏ"
msgid "Revision: "
msgstr "ΑναθεώÏηση: "
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
-msgstr "Το ΑÏχείο ΥπάÏχει Ήδη - Îα Αντικατασταθεί;"
-
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
-msgstr "Όχι"
-
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
-msgstr "Îαι"
-
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
-msgstr "Îέο Όνομα Εικόνας:"
-
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
-msgstr "ΜοÏφή Εικόνας:"
-
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
-msgstr "ΔημιουÏγία"
-
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
-msgstr "ΠαÏακαλοÏμε εισάγετε μια επέκταση αÏχείου"
-
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
-msgstr "Επιλέξτε μοÏφή εικόνας"
-
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
-msgstr "ΧειÏισμός (γενικά)"
-
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
-msgstr "ΧειÏισμός (Ï„Ïέχων Μηχάνημα)"
-
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
-msgstr "Αναλογικά ΧειÏιστήÏια"
-
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
-msgstr "ΜικÏοδιακόπτες"
-
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
-msgstr "ΠαÏαμετÏοποίηση Μηχανήματος"
-
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
-msgstr "Λογιστικές ΠληÏοφοÏίες"
-
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
-msgstr "ΠληÏοφοÏίες Μηχανήματος"
-
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
-msgstr "ΠληÏοφοÏίες Τίτλου"
-
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
-msgstr "ΔιαχείÏιση ΑÏχείων"
-
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
-msgstr "Έλεγχος Κασέτας"
-
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
-msgstr "Ψευδο τεÏματικά"
-
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
-msgstr "Επιλογή BIOS"
-
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
-msgstr "Συσκευές Υποδοχής"
-
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
-msgstr "Συσκευή Ανάγνωσης ΓÏÎ±Î¼Î¼Ï‰Ï„Î¿Ï ÎšÏŽÎ´Î¹ÎºÎ±"
-
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
-msgstr "Συσκευές ΔικτÏου"
-
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
-msgstr "ΛειτουÏγία ΠληκτÏολογίου"
-
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
-msgstr "Έλεγχος Slider"
-
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
-msgstr "Επιλογές Βίντεο"
-
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
-msgstr "Επιλογές ΣτόχαστÏου"
-
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
-msgstr "Cheat"
-
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
-msgstr "Επιλογές ΠÏόσθετων"
-
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
-msgstr "ΠÏοβολή ΕξωτεÏÎ¹ÎºÎ¿Ï DAT"
-
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
-msgstr "ΠÏοσθήκη Στα Αγαπημένα"
-
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
-msgstr "ΑφαίÏεση Από Τα Αγαπημένα"
-
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
-msgstr "Επιλέξτε Îέο Μηχάνημα"
-
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
-msgstr "Îέος ΓÏαμμωτός Κώδικας:"
-
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
-msgstr "Εισάγετε τον Κωδικό"
-
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
-msgstr "Μη έγκυÏο μήκος γÏÎ±Î¼Î¼Ï‰Ï„Î¿Ï ÎºÏŽÎ´Î¹ÎºÎ±!"
-
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
-msgstr "[απέτυχε]"
-
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
-msgstr "Επιλογές Ήχου"
-
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
-msgstr "Γενικός ΧειÏισμός"
-
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
-msgstr "Αποθήκευση Ρυθμίσεων"
-
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
-msgstr "Ρυθμίσεις"
-
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
-msgstr "ΦίλτÏο"
-
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
-msgstr "ΠÏοσαÏμογή UI"
-
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
-msgstr "ΡÏθμιση Φακέλων"
-
#: src/frontend/mame/ui/simpleselgame.cpp:149
msgid ""
"The selected game is missing one or more required ROM or CHD images. Please "
@@ -504,7 +740,7 @@ msgstr ""
"\n"
"Πιέστε ένα πλήκτÏο για συνέχεια."
-#: src/frontend/mame/ui/simpleselgame.cpp:247
+#: src/frontend/mame/ui/simpleselgame.cpp:241
#, c-format
msgid ""
"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
@@ -519,328 +755,197 @@ msgstr ""
"αÏχείο config.txt στον κατάλογο docs για πληÏοφοÏίες σχετικά με τη "
"διαμόÏφωση %2$s.."
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:271
+#: src/frontend/mame/ui/selgame.cpp:436
msgid "Configure Options"
msgstr "ΡÏθμιση Επιλογών"
-#: src/frontend/mame/ui/simpleselgame.cpp:298
+#: src/frontend/mame/ui/simpleselgame.cpp:292
#, c-format
msgid "Type name or select: %1$s_"
msgstr "ΠληκτÏολογήστε όνομα ή επιλέξτε: %1$s_"
-#: src/frontend/mame/ui/simpleselgame.cpp:300
+#: src/frontend/mame/ui/simpleselgame.cpp:294
msgid "Type name or select: (random)"
msgstr "ΠληκτÏολογήστε όνομα ή επιλέξτε: (τυχαίο)"
-#: src/frontend/mame/ui/simpleselgame.cpp:314
-#: src/frontend/mame/ui/selsoft.cpp:652 src/frontend/mame/ui/selsoft.cpp:659
+#: src/frontend/mame/ui/simpleselgame.cpp:308
+#: src/frontend/mame/ui/selsoft.cpp:564 src/frontend/mame/ui/selsoft.cpp:571
#, c-format
msgid "%1$-.100s"
msgstr "%1$-.100s"
-#: src/frontend/mame/ui/simpleselgame.cpp:317
-#: src/frontend/mame/ui/selmenu.cpp:618 src/frontend/mame/ui/selmenu.cpp:654
-#, c-format
-msgid "%1$s, %2$-.100s"
-msgstr "%1$s, %2$-.100s"
-
-#: src/frontend/mame/ui/simpleselgame.cpp:320
+#: src/frontend/mame/ui/simpleselgame.cpp:314
#, c-format
msgid "Driver: %1$-.100s"
msgstr "Οδηγός: %1$-.100s"
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
-msgstr "Συνολικά: ΔΕΠΛΕΙΤΟΥΡΓΕΙ"
+#: src/frontend/mame/ui/videoopt.cpp:56
+#, c-format
+msgid "Screen #%d"
+msgstr "Οθόνη #%d"
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
-msgstr "Συνολικά: ΠÏοστασία Μη Εξομοιωμένη"
+#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
+msgid "Rotate"
+msgstr "ΠεÏιστÏοφή"
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
-msgstr "Συνολικά: ΛειτουÏγεί"
+#: src/frontend/mame/ui/videoopt.cpp:208
+msgid "Backdrops"
+msgstr "Σκηνικά"
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
-msgstr "ΓÏαφικά: Μη υλοποιημένα, "
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Enabled"
+msgstr "ΕνεÏγοποιημένο"
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
-msgstr "ΓÏαφικά: Ατελή, "
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Disabled"
+msgstr "ΑπενεÏγοποιημένο"
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
-msgstr "ΓÏαφικά: OK, "
+#: src/frontend/mame/ui/videoopt.cpp:212
+msgid "Overlays"
+msgstr "ΕπικαλÏψεις"
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
-msgstr "Ήχος: Κανένας"
+#: src/frontend/mame/ui/videoopt.cpp:216
+msgid "Bezels"
+msgstr "ΠÏοσόψεις"
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
-msgstr "Ήχος: Δεν Έχει Υλοποιηθεί"
+#: src/frontend/mame/ui/videoopt.cpp:220
+msgid "CPanels"
+msgstr "Πίνακες Ελέγχου"
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
-msgstr "Ήχος: Ατελής"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "View"
+msgstr "Εμφάνιση"
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
-msgstr "Ήχος: OK"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cropped"
+msgstr "ΠεÏικοπή"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
-msgstr "ΦόÏτωση Κατάστασης"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Full"
+msgstr "ΠλήÏες"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
-msgstr "Επιλέξτε τη θέση φόÏτωσης από"
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
+msgstr "Το ΑÏχείο ΥπάÏχει Ήδη - Îα Αντικατασταθεί;"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
-msgstr "Αποθήκευση Κατάστασης"
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1047
+msgid "No"
+msgstr "Όχι"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
-msgstr "Επιλέξτε τη θέση για αποθήκευση σε"
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1047
+msgid "Yes"
+msgstr "Îαι"
-#: src/frontend/mame/ui/ui.cpp:337
-msgid "This driver requires images to be loaded in the following device(s): "
-msgstr ""
-"Αυτός ο οδηγός απαιτεί εικόνες να φοÏτωθοÏν στην ακόλουθη συσκευή (ες): "
+#: src/frontend/mame/ui/filecreate.cpp:171
+msgid "New Image Name:"
+msgstr "Îέο Όνομα Εικόνας:"
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
-msgstr "Κατάσταση Εξομοίωσης ΠληκτÏολογίου"
+#: src/frontend/mame/ui/filecreate.cpp:177
+msgid "Image Format:"
+msgstr "ΜοÏφή Εικόνας:"
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
-msgstr "ΛειτουÏγία: ΜΕΡΙΚΗ Εξομοίωση"
+#: src/frontend/mame/ui/filecreate.cpp:183
+msgid "Create"
+msgstr "ΔημιουÏγία"
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
-msgstr "UI: ΕνεÏγοποιημένο"
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr "ΠαÏακαλοÏμε εισάγετε μια επέκταση αÏχείου"
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
-msgstr "**ΧÏήση ScrLock να εναλλαγή**"
+#: src/frontend/mame/ui/filecreate.cpp:266
+msgid "Select image format"
+msgstr "Επιλέξτε μοÏφή εικόνας"
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
-msgstr "ΛειτουÏγία: ΠΛΗΡΗΣ Εξομοίωση"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Keyboard Mode:"
+msgstr "ΛειτουÏγία ΠληκτÏολογίου:"
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
-msgstr "UI: ΑπενεÏγοποιημένο"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Natural"
+msgstr "Φυσικό"
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
-msgstr "Δεν μποÏεί να ενεÏγοποιηθεί το Autofire"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Emulated"
+msgstr "Εξομοιωμένο"
-#: src/frontend/mame/ui/ui.cpp:1302
+#: src/frontend/mame/ui/miscmenu.cpp:236
#, c-format
msgid ""
-"Are you sure you want to quit?\n"
+"Uptime: %1$d:%2$02d:%3$02d\n"
"\n"
-"Press ''%1$s'' to quit,\n"
-"Press ''%2$s'' to return to emulation."
msgstr ""
-"Είστε βέβαιοι ότι θέλετε να εγκαταλείψετε;\n"
+"ÎÏα λειτουÏγίας: %1$d:%2$02d:%3$02d\n"
"\n"
-"Πατήστε ''%1$s'' για να εγκαταλείψετε,\n"
-"Πατήστε ''%2$s'' για να επιστÏέψετε στην εξομοίωση."
-
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
-msgstr "ΚÏÏια Ένταση"
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
-msgstr "%1$s Ένταση"
-
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
-msgstr "ΥπεÏχÏονισμός CPU %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
-msgstr "ΥπεÏχÏονισμός %1$s ήχου"
-
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
-msgstr "%1$s Ρυθμός Ανανέωσης"
-
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
-msgstr "%1$s Φωτεινότητα"
-
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
-msgstr "%1$s Αντίθεση"
-
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
-msgstr "%1$s Γάμμα"
-
-#: src/frontend/mame/ui/ui.cpp:1450
+#: src/frontend/mame/ui/miscmenu.cpp:238
#, c-format
-msgid "%1$s Horiz Stretch"
-msgstr "%1$s ΟÏιζόντια Επέκταση"
-
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
-msgstr "%1$s ΟÏιζόντια Θέση"
-
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
-msgstr "%1$s Κάθετη Επέκταση"
-
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
-msgstr "%1$s Κάθετη Θέση"
-
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
-msgstr "Laserdisc '%1$s' ΟÏιζόντια Επέκταση"
-
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
-msgstr "Laserdisc '%1$s' ΟÏιζόντια Θέση"
-
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
-msgstr "Laserdisc '%1$s' Κάθετη Επέκταση"
-
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr "Laserdisc '%1$s' Κάθετη Θέση"
-
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
-msgstr "ΤÏεμόπαιγμα ΔιανÏσματος"
-
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
-msgstr "Ελάχιστο Πλάτος Ακτινών"
-
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
-msgstr "Μέγιστο Πλάτος Ακτινών"
-
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
-msgstr "ΒάÏος Έντασης Ακτίνας"
-
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr "Κλίμακα ΣτόχαστÏου %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
-msgstr "X"
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
-msgstr "Y"
-
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
-msgstr "Μετατόπιση ΣτοχάστÏου %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
-msgstr "%1$3ddB"
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
+msgstr ""
+"ÎÏα λειτουÏγίας: %1$d:%2$02d\n"
+"\n"
-#: src/frontend/mame/ui/ui.cpp:1645
+#: src/frontend/mame/ui/miscmenu.cpp:242
#, c-format
-msgid "%1$d%%"
-msgstr "%1$d%%"
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
+msgstr ""
+"ΕισιτήÏια που διανέμονται: %1$d\n"
+"\n"
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
-msgstr "%1$3.0f%%"
+#: src/frontend/mame/ui/miscmenu.cpp:253
+msgid "Coin %1$c: NA%3$s\n"
+msgstr "ΚέÏμα %1$c: NA%3$s\n"
-#: src/frontend/mame/ui/ui.cpp:1685
+#: src/frontend/mame/ui/miscmenu.cpp:253
#, c-format
-msgid "%1$.3ffps"
-msgstr "%1$.3ffps"
+msgid "Coin %1$c: %2$d%3$s\n"
+msgstr "ΚέÏμα %1$c: %2$d%3$s\n"
-#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
-#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
-#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
-#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
-#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
-#: src/frontend/mame/ui/ui.cpp:1927
-#, c-format
-msgid "%1$.3f"
-msgstr "%1$.3f"
+#: src/frontend/mame/ui/miscmenu.cpp:256
+msgid " (locked)"
+msgstr " (κλειδωμένο)"
-#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
-#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
-#, c-format
-msgid "%1$1.2f"
-msgstr "%1$1.2f"
+#: src/frontend/mame/ui/miscmenu.cpp:503
+msgid "Visible Delay"
+msgstr "ΟÏατή ΚαθυστέÏηση"
-#: src/frontend/mame/ui/ui.cpp:2005
+#: src/frontend/mame/ui/miscmenu.cpp:601
#, c-format
-msgid "Crosshair Scale X %1$1.3f"
-msgstr "Κλίμακα ΣτόχαστÏου X %1$1.3f"
+msgid "%s.xml saved under ui folder."
+msgstr "%s.xml αποθηκεÏτηκε στο φάκελο ui."
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
-msgstr "Κλίμακα ΣτόχαστÏου Y %1$1.3f"
+#: src/frontend/mame/ui/miscmenu.cpp:627
+msgid "Name: Description:\n"
+msgstr "Όνομα: ΠεÏιγÏαφή:\n"
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/miscmenu.cpp:638
#, c-format
-msgid "Crosshair Offset X %1$1.3f"
-msgstr "Μετατόπιση ΣτοχάστÏου X %1$1.3f"
+msgid "%s.txt saved under ui folder."
+msgstr "%s.txt αποθηκεÏτηκε στο φάκελο ui."
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
-msgstr "Μετατόπιση ΣτοχάστÏου Y %1$1.3f"
+#: src/frontend/mame/ui/miscmenu.cpp:655
+msgid "Export list in XML format (like -listxml)"
+msgstr "Εξαγωγή σε μοÏφή XML (όπως -listxml)"
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
-msgstr "**Σφάλμα αποθήκευσης ui.ini**"
+#: src/frontend/mame/ui/miscmenu.cpp:656
+msgid "Export list in XML format (like -listxml, but exclude devices)"
+msgstr "Εξαγωγή σε μοÏφή XML (όπως -listxml, χωÏίς τις συσκευές)"
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
-msgstr "**Σφάλμα αποθήκευσης %s.ini**"
+#: src/frontend/mame/ui/miscmenu.cpp:657
+msgid "Export list in TXT format (like -listfull)"
+msgstr "Εξαγωγή σε μοÏφή TXT (όπως -listfull)"
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/miscmenu.cpp:710 src/frontend/mame/ui/ui.cpp:2230
msgid ""
"\n"
" Configuration saved \n"
@@ -850,339 +955,160 @@ msgstr ""
" Οι Ïυθμίσεις αποθηκεÏτηκαν \n"
"\n"
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
-msgid ""
-"Cheat Comment:\n"
-"%s"
-msgstr ""
-"Σχόλιο Cheat:\n"
-"%s"
-
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
-msgstr "Όλα τα Cheats επαναφοÏτώθηκαν"
-
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
-msgstr "Ρυθμίσεις Autofire"
-
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
-msgstr "ΕπαναφοÏά Όλων"
-
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
-msgstr "ΕπαναφόÏτωση όλων"
-
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
-msgstr "Κατάσταση Autofire"
-
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
-msgstr "Δεν βÏέθηκαν κουμπιά σε αυτό το μηχάνημα!"
-
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
-msgstr "ΚαθυστέÏηση Autofire"
-
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
-#, c-format
-msgid ""
-"%s\n"
-" added to favorites list."
-msgstr ""
-"%s\n"
-" Ï€Ïοστέθηκε στη λίστα αγαπημένων."
-
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
-#, c-format
-msgid ""
-"%s\n"
-" removed from favorites list."
-msgstr ""
-"%s\n"
-" αφαιÏέθηκε από τη λίστα αγαπημένων."
-
-#: src/frontend/mame/ui/selsoft.cpp:507
-msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
-"\n"
-msgstr ""
-"Στο επιλεγμένο λογισμικό λείπει ένα ή πεÏισσότεÏα απαÏαίτητα αÏχεία. "
-"ΠαÏακαλώ επιλέξτε ένα διαφοÏετικό λογισμικό.\n"
-"\n"
-
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
-msgstr "Πιέστε ένα πλήκτÏο για συνέχεια."
-
-#: src/frontend/mame/ui/selsoft.cpp:637
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
-msgstr "%1$s %2$s ( %3$d / %4$d πακέτα λογισμικοÏ)"
-
-#: src/frontend/mame/ui/selsoft.cpp:638
-#, c-format
-msgid "Driver: \"%1$s\" software list "
-msgstr "Οδηγός: \"%1$s\" λίστα Î»Î¿Î³Î¹ÏƒÎ¼Î¹ÎºÎ¿Ï "
-
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
-#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
-msgstr "%1$s: %2$s - Αναζήτηση: %3$s_"
-
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
-#, c-format
-msgid "Search: %1$s_"
-msgstr "Αναζήτηση: %1$s_"
-
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
-msgid "Unfiltered"
-msgstr "ΑφιλτÏάÏιστα"
-
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
-msgid "Available"
-msgstr "Διαθέσιμα"
-
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
-msgid "Unavailable"
-msgstr "Μη Διαθέσιμα"
-
-#: src/frontend/mame/ui/utils.cpp:63
-msgid "Working"
-msgstr "ΛειτουÏγοÏν"
-
-#: src/frontend/mame/ui/utils.cpp:64
-msgid "Not Working"
-msgstr "Δεν ΛειτουÏγοÏν"
-
-#: src/frontend/mame/ui/utils.cpp:65
-msgid "Mechanical"
-msgstr "Μηχανικά"
-
-#: src/frontend/mame/ui/utils.cpp:66
-msgid "Not Mechanical"
-msgstr "Μη Μηχανικά"
-
-#: src/frontend/mame/ui/utils.cpp:67
-msgid "Category"
-msgstr "ΚατηγοÏία"
-
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
-msgid "Favorites"
-msgstr "Αγαπημένα"
-
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/miscmenu.cpp:760 src/frontend/mame/ui/utils.cpp:66
msgid "BIOS"
msgstr "BIOS"
-#: src/frontend/mame/ui/utils.cpp:70
-msgid "Not BIOS"
-msgstr "Μη BIOS"
-
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
-msgid "Parents"
-msgstr "Γονικά"
-
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
-msgid "Clones"
-msgstr "Κλώνοι"
-
-#: src/frontend/mame/ui/utils.cpp:73
-msgid "Manufacturer"
-msgstr "Κατασκευαστής"
-
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
-msgid "Year"
-msgstr "Έτος"
-
-#: src/frontend/mame/ui/utils.cpp:75
-msgid "Save Supported"
-msgstr "ΥποστήÏιξη Αποθήκευσης"
-
-#: src/frontend/mame/ui/utils.cpp:76
-msgid "Save Unsupported"
-msgstr "Μη ΥποστήÏιξη Αποθήκευσης"
-
-#: src/frontend/mame/ui/utils.cpp:77
-msgid "CHD Required"
-msgstr "Απαιτείται CHD"
-
-#: src/frontend/mame/ui/utils.cpp:78
-msgid "No CHD Required"
-msgstr "Δεν Απαιτείται CHD"
-
-#: src/frontend/mame/ui/utils.cpp:79
-msgid "Vertical Screen"
-msgstr "Κάθετη οθόνη"
-
-#: src/frontend/mame/ui/utils.cpp:80
-msgid "Horizontal Screen"
-msgstr "ΟÏιζόντια οθόνη"
-
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
-msgid "Custom Filter"
-msgstr "ΠÏοσαÏμοσμένο ΦίλτÏο"
-
-#: src/frontend/mame/ui/utils.cpp:91
-msgid "Publisher"
-msgstr "Εκδότης"
-
-#: src/frontend/mame/ui/utils.cpp:92
-msgid "Supported"
-msgstr "ΥποστηÏίζεται"
+#: src/frontend/mame/ui/miscmenu.cpp:764
+msgid "Driver"
+msgstr "Οδηγός"
-#: src/frontend/mame/ui/utils.cpp:93
-msgid "Partially Supported"
-msgstr "ΥποστηÏίζεται ΜεÏικώς"
+#: src/frontend/mame/ui/miscmenu.cpp:767
+msgid "This machine has no BIOS."
+msgstr "Αυτό το μηχάνημα δεν έχει BIOS."
-#: src/frontend/mame/ui/utils.cpp:94
-msgid "Unsupported"
-msgstr "Δεν ΥποστηÏίζεται"
+#: src/frontend/mame/ui/miscmenu.cpp:776 src/frontend/mame/ui/mainmenu.cpp:145
+msgid "Add To Favorites"
+msgstr "ΠÏοσθήκη Στα Αγαπημένα"
-#: src/frontend/mame/ui/utils.cpp:95
-msgid "Release Region"
-msgstr "ΠεÏιοχή ΚυκλοφοÏίας"
+#: src/frontend/mame/ui/miscmenu.cpp:778 src/frontend/mame/ui/mainmenu.cpp:147
+msgid "Remove From Favorites"
+msgstr "ΑφαίÏεση Από Τα Αγαπημένα"
-#: src/frontend/mame/ui/utils.cpp:96
-msgid "Device Type"
-msgstr "ΤÏπος συσκευής"
+#: src/frontend/mame/ui/miscmenu.cpp:781
+msgid "Save machine configuration"
+msgstr "Αποθήκευση παÏαμετÏοποίησης μηχανήματος"
-#: src/frontend/mame/ui/utils.cpp:97
-msgid "Software List"
-msgstr "Λίστα ΛογισμικοÏ"
+#: src/frontend/mame/ui/miscmenu.cpp:792
+msgid "Configure machine:"
+msgstr "ΡÏθμιση μηχανήματος:"
-#: src/frontend/mame/ui/utils.cpp:248
-msgid "<set up filters>"
-msgstr "<ÏÏθμιση φίλτÏων>"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:736
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:551 plugins/cheatfind/init.lua:619
+msgid "On"
+msgstr "On"
-#: src/frontend/mame/ui/utils.cpp:356
-msgid "Select custom filters:"
-msgstr "Επιλογή Ï€ÏοσαÏμοσμένων φίλτÏων:"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:739
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:554 plugins/cheat/init.lua:563
+#: plugins/cheatfind/init.lua:616
+msgid "Off"
+msgstr "Off"
-#: src/frontend/mame/ui/utils.cpp:507
-#, c-format
-msgid "Filter %1$u"
-msgstr "ΦίλτÏο %1$u"
+#: src/frontend/mame/ui/miscmenu.cpp:909 src/frontend/mame/ui/selgame.cpp:441
+msgid "Plugins"
+msgstr "ΠÏόσθετα"
-#: src/frontend/mame/ui/utils.cpp:522
-msgid "Remove last filter"
-msgstr "ΑφαίÏεση τελευταίου φίλτÏου"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
+msgstr "Îέος ΓÏαμμωτός Κώδικας:"
-#: src/frontend/mame/ui/utils.cpp:524
-msgid "Add filter"
-msgstr "ΠÏοσθήκη φίλτÏου"
+#: src/frontend/mame/ui/barcode.cpp:78
+msgid "Enter Code"
+msgstr "Εισάγετε τον Κωδικό"
-#: src/frontend/mame/ui/utils.cpp:966
-msgid "Select category:"
-msgstr "Επιλογή κατηγοÏίας:"
+#: src/frontend/mame/ui/barcode.cpp:119
+msgid "Barcode length invalid!"
+msgstr "Μη έγκυÏο μήκος γÏÎ±Î¼Î¼Ï‰Ï„Î¿Ï ÎºÏŽÎ´Î¹ÎºÎ±!"
-#: src/frontend/mame/ui/utils.cpp:997
-msgid "[no category INI files]"
-msgstr "[χωÏίς αÏχεία INI κατηγοÏιών]"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:99
+msgid "Pseudo terminals"
+msgstr "Ψευδο τεÏματικά"
-#: src/frontend/mame/ui/utils.cpp:1005
-msgid "[no groups in INI file]"
-msgstr "[χωÏίς ομάδες στο αÏχείο INI]"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
+msgstr "[απέτυχε]"
-#: src/frontend/mame/ui/utils.cpp:1039
-msgid "No category INI files found"
-msgstr "Δεν βÏέθηκαν αÏχεία INI κατηγοÏιών"
+#: src/frontend/mame/ui/mainmenu.cpp:60
+msgid "Input (general)"
+msgstr "ΧειÏισμός (γενικά)"
-#: src/frontend/mame/ui/utils.cpp:1044
-msgid "File"
-msgstr "ΑÏχείο"
+#: src/frontend/mame/ui/mainmenu.cpp:62
+msgid "Input (this Machine)"
+msgstr "ΧειÏισμός (Ï„Ïέχων Μηχάνημα)"
-#: src/frontend/mame/ui/utils.cpp:1048
-msgid "No groups found in category file"
-msgstr "Δεν βÏέθηκαν ομάδες στο αÏχείο κατηγοÏίας"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Analog Controls"
+msgstr "Αναλογικά ΧειÏιστήÏια"
-#: src/frontend/mame/ui/utils.cpp:1053
-msgid "Group"
-msgstr "Ομάδα"
+#: src/frontend/mame/ui/mainmenu.cpp:68
+msgid "Dip Switches"
+msgstr "ΜικÏοδιακόπτες"
-#: src/frontend/mame/ui/utils.cpp:1054
-msgid "Include clones"
-msgstr "ΠεÏιλαμβάνονται κλώνοι"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "Machine Configuration"
+msgstr "ΠαÏαμετÏοποίηση Μηχανήματος"
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
-msgstr "[δημιουÏγία]"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
+msgstr "Λογιστικές ΠληÏοφοÏίες"
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
-msgstr "Σφάλμα Ï€Ïόσβασης %s"
+#: src/frontend/mame/ui/mainmenu.cpp:78
+msgid "Machine Information"
+msgstr "ΠληÏοφοÏίες Μηχανήματος"
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
-msgstr "Επιλέξτε λειτουÏγία Ï€Ïόσβασης"
+#: src/frontend/mame/ui/mainmenu.cpp:85
+msgid "Image Information"
+msgstr "ΠληÏοφοÏίες Τίτλου"
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
-msgstr "Μόνο για Ανάγνωση"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
+msgstr "ΔιαχείÏιση ΑÏχείων"
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
-msgstr "Ανάγνωσης-εγγÏαφής"
+#: src/frontend/mame/ui/mainmenu.cpp:96
+msgid "Tape Control"
+msgstr "Έλεγχος Κασέτας"
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
-msgstr "Ανάγνωση αυτής της εικόνας, εγγÏαφή σε άλλη"
+#: src/frontend/mame/ui/mainmenu.cpp:102
+msgid "BIOS Selection"
+msgstr "Επιλογή BIOS"
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
-msgstr "Ανάγνωση αυτής της εικόνας, εγγÏαφή σε αÏχείο αλλαγών"
+#: src/frontend/mame/ui/mainmenu.cpp:106
+msgid "Slot Devices"
+msgstr "Συσκευές Υποδοχής"
-#: src/frontend/mame/ui/slotopt.cpp:192
-#, c-format
-msgid "%s [internal]"
-msgstr "%s [εσωτεÏικό]"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Barcode Reader"
+msgstr "Συσκευή Ανάγνωσης ΓÏÎ±Î¼Î¼Ï‰Ï„Î¿Ï ÎšÏŽÎ´Î¹ÎºÎ±"
-#: src/frontend/mame/ui/slotopt.cpp:203 src/frontend/mame/ui/miscmenu.cpp:97
-#: src/frontend/mame/ui/inputmap.cpp:615
-msgid "Reset"
-msgstr "ΕπαναφοÏά"
+#: src/frontend/mame/ui/mainmenu.cpp:114
+msgid "Network Devices"
+msgstr "Συσκευές ΔικτÏου"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
-msgstr " ΧΡΩΜΑΤΑ"
+#: src/frontend/mame/ui/mainmenu.cpp:118
+msgid "Keyboard Mode"
+msgstr "ΛειτουÏγία ΠληκτÏολογίου"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
-msgstr " ΓΡΑΦΙΔΕΣ"
+#: src/frontend/mame/ui/mainmenu.cpp:121
+msgid "Slider Controls"
+msgstr "Έλεγχος Slider"
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
-msgstr "ΕπιστÏοφή στο Μηχάνημα"
+#: src/frontend/mame/ui/mainmenu.cpp:124 src/frontend/mame/ui/submenu.cpp:101
+msgid "Video Options"
+msgstr "Επιλογές Βίντεο"
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
-msgstr "Έξοδος"
+#: src/frontend/mame/ui/mainmenu.cpp:128
+msgid "Crosshair Options"
+msgstr "Επιλογές ΣτόχαστÏου"
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
-msgstr "ΕπιστÏοφή στο ΠÏοηγοÏμενο ΜενοÏ"
+#: src/frontend/mame/ui/mainmenu.cpp:132 plugins/cheat/init.lua:735
+msgid "Cheat"
+msgstr "Cheat"
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:762
-#: plugins/cheat/init.lua:569 plugins/cheatfind/init.lua:792
-#: plugins/cheatfind/init.lua:803
-msgid "On"
-msgstr "On"
+#: src/frontend/mame/ui/mainmenu.cpp:135
+msgid "Plugin Options"
+msgstr "Επιλογές ΠÏόσθετων"
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:765
-#: plugins/cheat/init.lua:572 plugins/cheat/init.lua:581
-#: plugins/cheatfind/init.lua:789 plugins/cheatfind/init.lua:800
-msgid "Off"
-msgstr "Off"
+#: src/frontend/mame/ui/mainmenu.cpp:139
+msgid "External DAT View"
+msgstr "ΠÏοβολή ΕξωτεÏÎ¹ÎºÎ¿Ï DAT"
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
-msgstr "Αυτόματο"
+#: src/frontend/mame/ui/mainmenu.cpp:154
+msgid "Select New Machine"
+msgstr "Επιλέξτε Îέο Μηχάνημα"
#: src/frontend/mame/ui/custui.cpp:31
msgid "Show All"
@@ -1405,417 +1331,595 @@ msgstr "ΚίτÏινο"
msgid "Violet"
msgstr "Βιολετί"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
-msgstr "ΛειτουÏγία ΠληκτÏολογίου:"
+#: src/frontend/mame/ui/submenu.cpp:22
+msgid "Miscellaneous Options"
+msgstr "ΔιάφοÏες Επιλογές"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
-msgstr "Φυσικό"
+#: src/frontend/mame/ui/submenu.cpp:23
+msgid "Re-select last machine played"
+msgstr "Επιλογή του τελευταίου μηχανήματος που έπαιζε"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
-msgstr "Εξομοιωμένο"
+#: src/frontend/mame/ui/submenu.cpp:24
+msgid "Enlarge images in the right panel"
+msgstr "Μεγέθυνση εικόνων στο δεξιό πίνακα"
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
-msgstr ""
-"ÎÏα λειτουÏγίας: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:26
+msgid "Show mouse pointer"
+msgstr "ΠÏοβολή δείκτη ποντικιοÏ"
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
-msgstr ""
-"ÎÏα λειτουÏγίας: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:27
+msgid "Confirm quit from machines"
+msgstr "Επιβεβαίωση εγκατάληψης από μηχάνημα"
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
-msgstr ""
-"ΕισιτήÏια που διανέμονται: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:28
+msgid "Skip information screen at startup"
+msgstr "Îα μην εμφανίζεται η οθόνη πληÏοφοÏιών κατά την εκκίνηση"
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
-msgstr "ΚέÏμα %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:29
+msgid "Force 4:3 aspect for snapshot display"
+msgstr "Επιβολή 4:3 Εμφάνισης για το στιγμιότυπο"
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
-msgstr "ΚέÏμα %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:30
+msgid "Use image as background"
+msgstr "ΧÏήση εικόνας ως φόντου"
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
-msgstr " (κλειδωμένο)"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Skip BIOS selection menu"
+msgstr "ΠαÏάλειψη Î¼ÎµÎ½Î¿Ï ÎµÏ€Î¹Î»Î¿Î³Î®Ï‚ BIOS"
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
-msgstr "ΟÏατή ΚαθυστέÏηση"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip software parts selection menu"
+msgstr "ΠαÏάλειψη Î¼ÎµÎ½Î¿Ï ÎµÏ€Î¹Î»Î¿Î³Î®Ï‚ τμημάτων λογισμικοÏ"
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
-msgstr "%s.xml αποθηκεÏτηκε στο φάκελο ui."
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Info auto audit"
+msgstr "Αυτόματος έλεγχος πληÏοφοÏιών"
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
-msgstr "Όνομα: ΠεÏιγÏαφή:\n"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Hide romless machine from available list"
+msgstr "ΑπόκÏυψη μηχανημάτων που δεν χÏειάζονται roms από τη λίστα διαθέσιμων"
-#: src/frontend/mame/ui/miscmenu.cpp:639
-#, c-format
-msgid "%s.txt saved under ui folder."
-msgstr "%s.txt αποθηκεÏτηκε στο φάκελο ui."
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Advanced Options"
+msgstr "Επιλογές για Ï€ÏοχωÏημένους"
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
-msgstr "Εξαγωγή σε μοÏφή XML (όπως -listxml)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Performance Options"
+msgstr "Επιλογές Επιδόσεων"
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
-msgstr "Εξαγωγή σε μοÏφή XML (όπως -listxml, χωÏίς τις συσκευές)"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Auto frame skip"
+msgstr "Αυτόματη παÏάβλεψη καÏέ"
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
-msgstr "Εξαγωγή σε μοÏφή TXT (όπως -listfull)"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Frame skip"
+msgstr "ΠαÏάβλεψη καÏέ"
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
-msgstr "Οδηγός"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Throttle"
+msgstr "ΠλήÏης ισχÏÏ‚"
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
-msgstr "Αυτό το μηχάνημα δεν έχει BIOS."
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Sleep"
+msgstr "ΛειτουÏγία Ïπνου"
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
-msgstr "Αποθήκευση παÏαμετÏοποίησης μηχανήματος"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Speed"
+msgstr "ΤαχÏτητα"
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
-msgstr "ΡÏθμιση μηχανήματος:"
+#: src/frontend/mame/ui/submenu.cpp:45
+msgid "Refresh speed"
+msgstr "ΤαχÏτητα ανανέωσης"
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
-msgstr " (Ï€Ïοεπιλογή)"
+#: src/frontend/mame/ui/submenu.cpp:47
+msgid "Rotation Options"
+msgstr "Επιλογές πεÏιστÏοφής"
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
-msgstr "ΠÏόσθετα"
+#: src/frontend/mame/ui/submenu.cpp:49
+msgid "Rotate right"
+msgstr "ΠεÏιστÏοφή δεξιά"
+
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Rotate left"
+msgstr "ΠεÏιστÏοφή αÏιστεÏά"
+
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Auto rotate right"
+msgstr "Αυτόματη πεÏιστÏοφή δεξιά"
+
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto rotate left"
+msgstr "Αυτόματη πεÏιστÏοφή αÏιστεÏά"
+
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Flip X"
+msgstr "ΟÏιζόντια πεÏιστÏοφή"
+
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Flip Y"
+msgstr "Κάθετη πεÏιστÏοφή"
+
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Artwork Options"
+msgstr "Επιλογές Artwork"
+
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Artwork Crop"
+msgstr "Αποκοπή Artwork"
+
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Use Backdrops"
+msgstr "ΧÏήση Backdrops"
+
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Use Overlays"
+msgstr "ΧÏήση Overlays"
+
+#: src/frontend/mame/ui/submenu.cpp:60
+msgid "Use Bezels"
+msgstr "ΧÏήση Bezels"
+
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Use Control Panels"
+msgstr "ΧÏήση Control Panels"
+
+#: src/frontend/mame/ui/submenu.cpp:62
+msgid "Use Marquees"
+msgstr "ΧÏήση Marquees"
+
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "State/Playback Options"
+msgstr "Επιλογές Κατάστασης/ΑναπαÏαγωγής"
+
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Automatic save/restore"
+msgstr "Αυτόματη αποθήκευση/επαναφοÏά"
+
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Rewind capacity"
+msgstr "ΧωÏητικότητα επαναφοÏάς"
+
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Bilinear snapshot"
+msgstr "Στιγμιότυπο Bilinear"
+
+#: src/frontend/mame/ui/submenu.cpp:69
+msgid "Burn-in"
+msgstr "Burn-in"
+
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Input Options"
+msgstr "Επιλογές ΧειÏισμοÏ"
+
+#: src/frontend/mame/ui/submenu.cpp:72
+msgid "Coin lockout"
+msgstr "Κλειδωμα κεÏμάτων"
+
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "Mouse"
+msgstr "Ποντίκι"
+
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Joystick"
+msgstr "Μοχλός"
+
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Lightgun"
+msgstr "Lightgun"
+
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Multi-keyboard"
+msgstr "Πολλαπλό-πληκτÏολόγιο"
+
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Multi-mouse"
+msgstr "Πολλαπλό-ποντίκι"
+
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Steadykey"
+msgstr "ΣταθεÏά πλήκτÏα"
+
+#: src/frontend/mame/ui/submenu.cpp:79
+msgid "UI active"
+msgstr "UI ενεÏγοποιημένο"
+
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Offscreen reload"
+msgstr "ΕπαναφόÏτωση εκτός οθόνης"
+
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Joystick deadzone"
+msgstr "ÎεκÏή ζώνη μοχλοÏ"
+
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Joystick saturation"
+msgstr "ΚοÏεσμός μοχλοÏ"
+
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Natural keyboard"
+msgstr "Φυσικό πληκτÏολόγιο"
+
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Simultaneous contradictory"
+msgstr "ΤαυτόχÏονη αναίÏεση"
+
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Coin impulse"
+msgstr "Îθηση κεÏμάτων"
+
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Device Mapping"
+msgstr "ΧαÏτογÏάφηση Συσκευών"
+
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Lightgun Device Assignment"
+msgstr "Ανάθεση Συσκευής Lightgun"
+
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Trackball Device Assignment"
+msgstr "Ανάθεση Συσκευής Trackball"
+
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Pedal Device Assignment"
+msgstr "Ανάθεση Συσκευής Pedal"
+
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Adstick Device Assignment"
+msgstr "Ανάθεση Συσκευής Adstick"
+
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Paddle Device Assignment"
+msgstr "Ανάθεση Συσκευής Paddle"
+
+#: src/frontend/mame/ui/submenu.cpp:95
+msgid "Dial Device Assignment"
+msgstr "Ανάθεση Συσκευής Dial"
+
+#: src/frontend/mame/ui/submenu.cpp:96
+msgid "Positional Device Assignment"
+msgstr "Ανάθεση Συσκευής Posisional"
+
+#: src/frontend/mame/ui/submenu.cpp:97
+msgid "Mouse Device Assignment"
+msgstr "Ανάθεση Συσκευής ΠοντικιοÏ"
+
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Video Mode"
+msgstr "ΛειτουÏγία βίντεο"
+
+#: src/frontend/mame/ui/submenu.cpp:103
+msgid "Number Of Screens"
+msgstr "ΑÏιθμός οθονών"
+
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Triple Buffering"
+msgstr "Triple Buffering"
+
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "HLSL"
+msgstr "HLSL"
+
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "GLSL"
+msgstr "GLSL"
+
+#: src/frontend/mame/ui/submenu.cpp:109
+msgid "Bilinear Filtering"
+msgstr "Bilinear Filtering"
+
+#: src/frontend/mame/ui/submenu.cpp:110
+msgid "Bitmap Prescaling"
+msgstr "Bitmap Prescaling"
+
+#: src/frontend/mame/ui/submenu.cpp:111
+msgid "Window Mode"
+msgstr "ΛειτουÏγία παÏαθÏÏου"
+
+#: src/frontend/mame/ui/submenu.cpp:112
+msgid "Enforce Aspect Ratio"
+msgstr "Επιβολή Αναλογίας Εικόνας"
+
+#: src/frontend/mame/ui/submenu.cpp:113
+msgid "Start Out Maximized"
+msgstr "Εκκίνηση μεγιστοποιημένο"
+
+#: src/frontend/mame/ui/submenu.cpp:114
+msgid "Synchronized Refresh"
+msgstr "ΣυγχÏονισμένη Ανανέωση"
+
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Wait Vertical Sync"
+msgstr "Αναμονή για Κάθετο ΣυγχÏονισμό"
+
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Load State"
+msgstr "ΦόÏτωση Κατάστασης"
+
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Select position to load from"
+msgstr "Επιλέξτε τη θέση φόÏτωσης από"
+
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Save State"
+msgstr "Αποθήκευση Κατάστασης"
+
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Select position to save to"
+msgstr "Επιλέξτε τη θέση για αποθήκευση σε"
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
+msgstr "%s [εσωτεÏικό]"
+
+#: src/frontend/mame/ui/selgame.cpp:309 src/frontend/mame/ui/selsoft.cpp:211
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
+msgstr ""
+"%s\n"
+" Ï€Ïοστέθηκε στη λίστα αγαπημένων."
+
+#: src/frontend/mame/ui/selgame.cpp:314 src/frontend/mame/ui/selgame.cpp:320
+#: src/frontend/mame/ui/selsoft.cpp:216
+#, c-format
+msgid ""
+"%s\n"
+" removed from favorites list."
+msgstr ""
+"%s\n"
+" αφαιÏέθηκε από τη λίστα αγαπημένων."
+
+#: src/frontend/mame/ui/selgame.cpp:437
msgid "Configure Machine"
msgstr "ΡÏθμιση Μηχανήματος"
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:849
#, c-format
msgid "Romset\t%1$-.100s\n"
msgstr "Romset\t%1$-.100s\n"
-#: src/frontend/mame/ui/selgame.cpp:1037
+#: src/frontend/mame/ui/selgame.cpp:850
#, c-format
msgid "Year\t%1$s\n"
msgstr "Έτος\t%1$s\n"
-#: src/frontend/mame/ui/selgame.cpp:1038
+#: src/frontend/mame/ui/selgame.cpp:851
#, c-format
msgid "Manufacturer\t%1$-.100s\n"
msgstr "Κατασκευαστής\t%1$-.100s\n"
-#: src/frontend/mame/ui/selgame.cpp:1042
+#: src/frontend/mame/ui/selgame.cpp:855
#, c-format
msgid "Driver is Clone of\t%1$-.100s\n"
msgstr "Ο Οδηγός είναι Κλώνος του\t%1$-.100s\n"
-#: src/frontend/mame/ui/selgame.cpp:1044
+#: src/frontend/mame/ui/selgame.cpp:857
msgid "Driver is Parent\t\n"
msgstr "Ο Οδηγός είναι Γονικός\t\n"
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:860
msgid "Analog Controls\tYes\n"
msgstr "Αναλογικός ΧειÏισμός\tÎαι\n"
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:862
msgid "Keyboard Inputs\tYes\n"
msgstr "Εισαγωγή ΠληκτÏολογίου\tÎαι\n"
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:865
msgid "Overall\tNOT WORKING\n"
msgstr "Συνολικά\tΔΕΠΛΕΙΤΟΥΡΓΕΙ\n"
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:867
msgid "Overall\tUnemulated Protection\n"
msgstr "Συνολικά\tΜη Εξομοιωμένη ΠÏοστασία\n"
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:869
msgid "Overall\tWorking\n"
msgstr "Συνολικά\tΛειτουÏγεί\n"
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:872
msgid "Graphics\tUnimplemented\n"
msgstr "ΓÏαφικά\tΜη υλοποιημένα\n"
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:874
msgid "Graphics\tWrong Colors\n"
msgstr "ΓÏαφικά\tΛάθος ΧÏώματα\n"
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:876
msgid "Graphics\tImperfect Colors\n"
msgstr "ΓÏαφικά\tΑτελή ΧÏώματα\n"
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:878
msgid "Graphics\tImperfect\n"
msgstr "ΓÏαφικά\tΑτελή\n"
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:880
msgid "Graphics\tOK\n"
msgstr "ΓÏαφικά\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:883
msgid "Sound\tNone\n"
msgstr "Ήχος\tΚανένας\n"
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:885
msgid "Sound\tUnimplemented\n"
msgstr "Ήχος\tΜη υλοποιημένος\n"
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:887
msgid "Sound\tImperfect\n"
msgstr "Ήχος\tΑτελής\n"
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:889
msgid "Sound\tOK\n"
msgstr "Ήχος\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1079
-msgid "Capture\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1081
-msgid "Capture\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1084
-msgid "Camera\tUnimplemented\n"
-msgstr "ΚάμεÏα\tΜη υλοποιημένη\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1086
-msgid "Camera\tImperfect\n"
-msgstr "ΚάμεÏα\tΑτελής\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1089
-msgid "Microphone\tUnimplemented\n"
-msgstr "ΜικÏόφωνο\tΜη υλοποιημένο\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1091
-msgid "Microphone\tImperfect\n"
-msgstr "ΜικÏόφωνο\tΑτελές\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:892
msgid "Controls\tUnimplemented\n"
msgstr "ΧειÏισμός\tΜη υλοποιημένος\n"
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:894
msgid "Controls\tImperfect\n"
msgstr "ΧειÏισμός\tΑτελής\n"
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:897
msgid "Keyboard\tUnimplemented\n"
msgstr "ΠληκτÏολόγιο\tΜη υλοποιημένο\n"
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:899
msgid "Keyboard\tImperfect\n"
msgstr "ΠληκτÏολόγιο\tΑτελές\n"
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:902
msgid "Mouse\tUnimplemented\n"
msgstr "Ποντίκι\tΜη υλοποιημένο\n"
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:904
msgid "Mouse\tImperfect\n"
msgstr "Ποντίκι\tΑτελές\n"
-#: src/frontend/mame/ui/selgame.cpp:1109
-msgid "Media\tUnimplemented\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:907
+msgid "Microphone\tUnimplemented\n"
+msgstr "ΜικÏόφωνο\tΜη υλοποιημένο\n"
-#: src/frontend/mame/ui/selgame.cpp:1111
-msgid "Media\tImperfect\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:909
+msgid "Microphone\tImperfect\n"
+msgstr "ΜικÏόφωνο\tΑτελές\n"
+
+#: src/frontend/mame/ui/selgame.cpp:912
+msgid "Camera\tUnimplemented\n"
+msgstr "ΚάμεÏα\tΜη υλοποιημένη\n"
+
+#: src/frontend/mame/ui/selgame.cpp:914
+msgid "Camera\tImperfect\n"
+msgstr "ΚάμεÏα\tΑτελής\n"
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:917
msgid "Disk\tUnimplemented\n"
msgstr "Δίσκος\tΜη υλοποιημένος\n"
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:919
msgid "Disk\tImperfect\n"
msgstr "Δίσκος\tΑτελής\n"
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:922
msgid "Printer\tUnimplemented\n"
msgstr "Εκτυπωτής\tΜη υλοποιημένος\n"
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:924
msgid "Printer\tImperfect\n"
msgstr "Εκτυπωτής\tΑτελής\n"
-#: src/frontend/mame/ui/selgame.cpp:1124
-msgid "Mag. Tape\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1126
-msgid "Mag. Tape\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1129
-msgid "Punch Tape\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1131
-msgid "Punch Tape\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1134
-msgid "Mag. Drum\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1136
-msgid "Mag. Drum\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1139
-msgid "(EP)ROM\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1141
-msgid "(EP)ROM\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1144
-msgid "Communications\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1146
-msgid "Communications\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:927
msgid "LAN\tUnimplemented\n"
msgstr "LAN\tΜη υλοποιημένο\n"
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:929
msgid "LAN\tImperfect\n"
msgstr "LAN\tΑτελές\n"
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:932
msgid "WAN\tUnimplemented\n"
msgstr "WAN\tΜη υλοποιημένο\n"
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:934
msgid "WAN\tImperfect\n"
msgstr "WAN\tΑτελές\n"
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:937
msgid "Timing\tUnimplemented\n"
msgstr "ΧÏονισμός\tΜη υλοποιημένος\n"
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:939
msgid "Timing\tImperfect\n"
msgstr "ΧÏονισμός\tΑτελής\n"
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:941
msgid "Mechanical Machine\tYes\n"
msgstr "Μηχανική Συσκευή\tÎαι\n"
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:941
msgid "Mechanical Machine\tNo\n"
msgstr "Μηχανική Συσκευή\tΌχι\n"
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:942
msgid "Requires Artwork\tYes\n"
msgstr "Απαιτεί Artwork\tÎαι\n"
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:942
msgid "Requires Artwork\tNo\n"
msgstr "Απαιτεί Artwork\tΌχι\n"
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:943
msgid "Requires Clickable Artwork\tYes\n"
msgstr "Απαιτεί Artwork για επιλογή\tÎαι\n"
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:943
msgid "Requires Clickable Artwork\tNo\n"
msgstr "Απαιτεί Artwork για επιλογή\tΌχι\n"
-#: src/frontend/mame/ui/selgame.cpp:1166
+#: src/frontend/mame/ui/selgame.cpp:944
msgid "Support Cocktail\tYes\n"
msgstr "ΥποστήÏιξη Κοκτέιλ\tÎαι\n"
-#: src/frontend/mame/ui/selgame.cpp:1166
+#: src/frontend/mame/ui/selgame.cpp:944
msgid "Support Cocktail\tNo\n"
msgstr "ΥποστήÏιξη Κοκτέιλ\tΌχι\n"
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:945
msgid "Driver is BIOS\tYes\n"
msgstr "Ο οδηγός είναι BIOS\tÎαι\n"
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:945
msgid "Driver is BIOS\tNo\n"
msgstr "Ο οδηγός είναι BIOS\tΌχι\n"
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:946
msgid "Support Save\tYes\n"
msgstr "ΥποστήÏιξη Αποθήκευσης\tÎαι\n"
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:946
msgid "Support Save\tNo\n"
msgstr "ΥποστήÏιξη Αποθήκευσης\tΌχι\n"
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:947
msgid "Screen Orientation\tVertical\n"
msgstr "ΠÏοσανατολισμός Οθόνης\tΚάθετος\n"
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:947
msgid "Screen Orientation\tHorizontal\n"
msgstr "ΠÏοσανατολισμός Οθόνης\tΟÏιζόντιος\n"
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:957
msgid "Requires CHD\tYes\n"
msgstr "Απαιτεί CHD\tÎαι\n"
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:957
msgid "Requires CHD\tNo\n"
msgstr "Απαιτεί CHD\tΌχι\n"
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:970
msgid "ROM Audit Result\tOK\n"
msgstr "Έλεγχος ROMs\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:972
msgid "ROM Audit Result\tBAD\n"
msgstr "Έλεγχος ROMs\tΛΑΘΟΣ\n"
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:975
msgid "Samples Audit Result\tNone Needed\n"
msgstr "Έλεγχος Δειγμάτων Ήχου\tΔεν απαιτείται\n"
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:977
msgid "Samples Audit Result\tOK\n"
msgstr "Έλεγχος Δειγμάτων Ήχου\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:979
msgid "Samples Audit Result\tBAD\n"
msgstr "Έλεγχος Δειγμάτων Ήχου\tΛΑΘΟΣ\n"
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:983
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
@@ -1823,22 +1927,32 @@ msgstr ""
"Έλεγχος ROMs \tΑπενεÏγοποιημένος\n"
"Έλεγχος Δειγμάτων Ήχου \tΑπενεÏγοποιημένος\n"
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1167
#, c-format
msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
msgstr "%1$s %2$s ( %3$d / %4$d μηχανήματα (%5$d BIOS) )"
-#: src/frontend/mame/ui/selgame.cpp:1424
+#: src/frontend/mame/ui/selgame.cpp:1183 src/frontend/mame/ui/selsoft.cpp:555
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
+msgstr "%1$s: %2$s - Αναζήτηση: %3$s_"
+
+#: src/frontend/mame/ui/selgame.cpp:1185 src/frontend/mame/ui/selsoft.cpp:557
+#, c-format
+msgid "Search: %1$s_"
+msgstr "Αναζήτηση: %1$s_"
+
+#: src/frontend/mame/ui/selgame.cpp:1195
#, c-format
msgid "Romset: %1$-.100s"
msgstr "Romset: %1$-.100s"
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1202
#, c-format
msgid "System: %1$-.100s"
msgstr "ΣÏστημα: %1$-.100s"
-#: src/frontend/mame/ui/selgame.cpp:1465
+#: src/frontend/mame/ui/selgame.cpp:1239
msgid ""
"The selected machine is missing one or more required ROM or CHD images. "
"Please select a different machine.\n"
@@ -1848,6 +1962,10 @@ msgstr ""
"CHD. ΠαÏακαλώ επιλέξτε διαφοÏετικό μηχάνημα.\n"
"\n"
+#: src/frontend/mame/ui/selgame.cpp:1245 src/frontend/mame/ui/selsoft.cpp:462
+msgid "Press any key to continue."
+msgstr "Πιέστε ένα πλήκτÏο για συνέχεια."
+
#: src/frontend/mame/ui/sndmenu.cpp:135
msgid "Sound"
msgstr "Ήχος"
@@ -1860,307 +1978,518 @@ msgstr "Ρυθμός Δειγματοληψίας"
msgid "Use External Samples"
msgstr "ΧÏήση ΕξωτεÏικών Δειγμάτων Ήχου"
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr "ΔιάφοÏες Επιλογές"
+#: src/frontend/mame/ui/utils.cpp:57 src/frontend/mame/ui/utils.cpp:81
+msgid "Unfiltered"
+msgstr "ΑφιλτÏάÏιστα"
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
-msgstr "Επιλογή του τελευταίου μηχανήματος που έπαιζε"
+#: src/frontend/mame/ui/utils.cpp:58 src/frontend/mame/ui/utils.cpp:82
+msgid "Available"
+msgstr "Διαθέσιμα"
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
-msgstr "Μεγέθυνση εικόνων στο δεξιό πίνακα"
+#: src/frontend/mame/ui/utils.cpp:59 src/frontend/mame/ui/utils.cpp:83
+msgid "Unavailable"
+msgstr "Μη Διαθέσιμα"
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
-msgstr "ΠÏοβολή δείκτη ποντικιοÏ"
+#: src/frontend/mame/ui/utils.cpp:60
+msgid "Working"
+msgstr "ΛειτουÏγοÏν"
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
-msgstr "Επιβεβαίωση εγκατάληψης από μηχάνημα"
+#: src/frontend/mame/ui/utils.cpp:61
+msgid "Not Working"
+msgstr "Δεν ΛειτουÏγοÏν"
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
-msgstr "Îα μην εμφανίζεται η οθόνη πληÏοφοÏιών κατά την εκκίνηση"
+#: src/frontend/mame/ui/utils.cpp:62
+msgid "Mechanical"
+msgstr "Μηχανικά"
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
-msgstr "Επιβολή 4:3 Εμφάνισης για το στιγμιότυπο"
+#: src/frontend/mame/ui/utils.cpp:63
+msgid "Not Mechanical"
+msgstr "Μη Μηχανικά"
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
-msgstr "ΧÏήση εικόνας ως φόντου"
+#: src/frontend/mame/ui/utils.cpp:64
+msgid "Category"
+msgstr "ΚατηγοÏία"
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
-msgstr "ΠαÏάλειψη Î¼ÎµÎ½Î¿Ï ÎµÏ€Î¹Î»Î¿Î³Î®Ï‚ BIOS"
+#: src/frontend/mame/ui/utils.cpp:65
+msgid "Favorites"
+msgstr "Αγαπημένα"
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
-msgstr "ΠαÏάλειψη Î¼ÎµÎ½Î¿Ï ÎµÏ€Î¹Î»Î¿Î³Î®Ï‚ τμημάτων λογισμικοÏ"
+#: src/frontend/mame/ui/utils.cpp:67
+msgid "Not BIOS"
+msgstr "Μη BIOS"
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
-msgstr "Αυτόματος έλεγχος πληÏοφοÏιών"
+#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:84
+msgid "Parents"
+msgstr "Γονικά"
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
-msgstr "ΑπόκÏυψη μηχανημάτων που δεν χÏειάζονται roms από τη λίστα διαθέσιμων"
+#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/utils.cpp:85
+msgid "Clones"
+msgstr "Κλώνοι"
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
-msgstr "Επιλογές για Ï€ÏοχωÏημένους"
+#: src/frontend/mame/ui/utils.cpp:70
+msgid "Manufacturer"
+msgstr "Κατασκευαστής"
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
-msgstr "Επιλογές Επιδόσεων"
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:86
+msgid "Year"
+msgstr "Έτος"
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
-msgstr "Αυτόματη παÏάβλεψη καÏέ"
+#: src/frontend/mame/ui/utils.cpp:72
+msgid "Save Supported"
+msgstr "ΥποστήÏιξη Αποθήκευσης"
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
-msgstr "ΠαÏάβλεψη καÏέ"
+#: src/frontend/mame/ui/utils.cpp:73
+msgid "Save Unsupported"
+msgstr "Μη ΥποστήÏιξη Αποθήκευσης"
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
-msgstr "ΠλήÏης ισχÏÏ‚"
+#: src/frontend/mame/ui/utils.cpp:74
+msgid "CHD Required"
+msgstr "Απαιτείται CHD"
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
-msgstr "ΛειτουÏγία Ïπνου"
+#: src/frontend/mame/ui/utils.cpp:75
+msgid "No CHD Required"
+msgstr "Δεν Απαιτείται CHD"
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
-msgstr "ΤαχÏτητα"
+#: src/frontend/mame/ui/utils.cpp:76
+msgid "Vertical Screen"
+msgstr "Κάθετη οθόνη"
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
-msgstr "ΤαχÏτητα ανανέωσης"
+#: src/frontend/mame/ui/utils.cpp:77
+msgid "Horizontal Screen"
+msgstr "ΟÏιζόντια οθόνη"
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
-msgstr "Επιλογές πεÏιστÏοφής"
+#: src/frontend/mame/ui/utils.cpp:78 src/frontend/mame/ui/utils.cpp:94
+msgid "Custom Filter"
+msgstr "ΠÏοσαÏμοσμένο ΦίλτÏο"
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
-msgstr "ΠεÏιστÏοφή δεξιά"
+#: src/frontend/mame/ui/utils.cpp:87
+msgid "Publisher"
+msgstr "Εκδότης"
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
-msgstr "ΠεÏιστÏοφή αÏιστεÏά"
+#: src/frontend/mame/ui/utils.cpp:88
+msgid "Supported"
+msgstr "ΥποστηÏίζεται"
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
-msgstr "Αυτόματη πεÏιστÏοφή δεξιά"
+#: src/frontend/mame/ui/utils.cpp:89
+msgid "Partially Supported"
+msgstr "ΥποστηÏίζεται ΜεÏικώς"
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
-msgstr "Αυτόματη πεÏιστÏοφή αÏιστεÏά"
+#: src/frontend/mame/ui/utils.cpp:90
+msgid "Unsupported"
+msgstr "Δεν ΥποστηÏίζεται"
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
-msgstr "ΟÏιζόντια πεÏιστÏοφή"
+#: src/frontend/mame/ui/utils.cpp:91
+msgid "Release Region"
+msgstr "ΠεÏιοχή ΚυκλοφοÏίας"
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
-msgstr "Κάθετη πεÏιστÏοφή"
+#: src/frontend/mame/ui/utils.cpp:92
+msgid "Device Type"
+msgstr "ΤÏπος συσκευής"
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
-msgstr "Επιλογές Artwork"
+#: src/frontend/mame/ui/utils.cpp:93
+msgid "Software List"
+msgstr "Λίστα ΛογισμικοÏ"
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
-msgstr "Αποκοπή Artwork"
+#: src/frontend/mame/ui/utils.cpp:244
+msgid "<set up filters>"
+msgstr "<ÏÏθμιση φίλτÏων>"
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
-msgstr "ΧÏήση Backdrops"
+#: src/frontend/mame/ui/utils.cpp:352
+msgid "Select custom filters:"
+msgstr "Επιλογή Ï€ÏοσαÏμοσμένων φίλτÏων:"
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
-msgstr "ΧÏήση Overlays"
+#: src/frontend/mame/ui/utils.cpp:503
+#, c-format
+msgid "Filter %1$u"
+msgstr "ΦίλτÏο %1$u"
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
-msgstr "ΧÏήση Bezels"
+#: src/frontend/mame/ui/utils.cpp:518
+msgid "Remove last filter"
+msgstr "ΑφαίÏεση τελευταίου φίλτÏου"
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
-msgstr "ΧÏήση Control Panels"
+#: src/frontend/mame/ui/utils.cpp:520
+msgid "Add filter"
+msgstr "ΠÏοσθήκη φίλτÏου"
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
-msgstr "ΧÏήση Marquees"
+#: src/frontend/mame/ui/utils.cpp:959
+msgid "Select category:"
+msgstr "Επιλογή κατηγοÏίας:"
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
-msgstr "Επιλογές Κατάστασης/ΑναπαÏαγωγής"
+#: src/frontend/mame/ui/utils.cpp:990
+msgid "[no category INI files]"
+msgstr "[χωÏίς αÏχεία INI κατηγοÏιών]"
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
-msgstr "Αυτόματη αποθήκευση/επαναφοÏά"
+#: src/frontend/mame/ui/utils.cpp:998
+msgid "[no groups in INI file]"
+msgstr "[χωÏίς ομάδες στο αÏχείο INI]"
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
-msgstr "ΧωÏητικότητα επαναφοÏάς"
+#: src/frontend/mame/ui/utils.cpp:1032
+msgid "No category INI files found"
+msgstr "Δεν βÏέθηκαν αÏχεία INI κατηγοÏιών"
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
-msgstr "Στιγμιότυπο Bilinear"
+#: src/frontend/mame/ui/utils.cpp:1037
+msgid "File"
+msgstr "ΑÏχείο"
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
-msgstr "Burn-in"
+#: src/frontend/mame/ui/utils.cpp:1041
+msgid "No groups found in category file"
+msgstr "Δεν βÏέθηκαν ομάδες στο αÏχείο κατηγοÏίας"
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
-msgstr "Επιλογές ΧειÏισμοÏ"
+#: src/frontend/mame/ui/utils.cpp:1046
+msgid "Group"
+msgstr "Ομάδα"
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
-msgstr "Κλειδωμα κεÏμάτων"
+#: src/frontend/mame/ui/utils.cpp:1047
+msgid "Include clones"
+msgstr "ΠεÏιλαμβάνονται κλώνοι"
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
-msgstr "Ποντίκι"
+#: src/frontend/mame/ui/selsoft.cpp:456
+msgid ""
+"The selected software is missing one or more required files. Please select a "
+"different software.\n"
+"\n"
+msgstr ""
+"Στο επιλεγμένο λογισμικό λείπει ένα ή πεÏισσότεÏα απαÏαίτητα αÏχεία. "
+"ΠαÏακαλώ επιλέξτε ένα διαφοÏετικό λογισμικό.\n"
+"\n"
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
-msgstr "Μοχλός"
+#: src/frontend/mame/ui/selsoft.cpp:549
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgstr "%1$s %2$s ( %3$d / %4$d πακέτα λογισμικοÏ)"
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
-msgstr "Lightgun"
+#: src/frontend/mame/ui/selsoft.cpp:550
+#, c-format
+msgid "Driver: \"%1$s\" software list "
+msgstr "Οδηγός: \"%1$s\" λίστα Î»Î¿Î³Î¹ÏƒÎ¼Î¹ÎºÎ¿Ï "
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
-msgstr "Πολλαπλό-πληκτÏολόγιο"
+#: src/frontend/mame/ui/filesel.cpp:260
+msgid "[create]"
+msgstr "[δημιουÏγία]"
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
-msgstr "Πολλαπλό-ποντίκι"
+#: src/frontend/mame/ui/filesel.cpp:419
+#, c-format
+msgid "Error accessing %s"
+msgstr "Σφάλμα Ï€Ïόσβασης %s"
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
-msgstr "ΣταθεÏά πλήκτÏα"
+#: src/frontend/mame/ui/filesel.cpp:515
+msgid "Select access mode"
+msgstr "Επιλέξτε λειτουÏγία Ï€Ïόσβασης"
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
-msgstr "UI ενεÏγοποιημένο"
+#: src/frontend/mame/ui/filesel.cpp:516
+msgid "Read-only"
+msgstr "Μόνο για Ανάγνωση"
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
-msgstr "ΕπαναφόÏτωση εκτός οθόνης"
+#: src/frontend/mame/ui/filesel.cpp:518
+msgid "Read-write"
+msgstr "Ανάγνωσης-εγγÏαφής"
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
-msgstr "ÎεκÏή ζώνη μοχλοÏ"
+#: src/frontend/mame/ui/filesel.cpp:519
+msgid "Read this image, write to another image"
+msgstr "Ανάγνωση αυτής της εικόνας, εγγÏαφή σε άλλη"
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
-msgstr "ΚοÏεσμός μοχλοÏ"
+#: src/frontend/mame/ui/filesel.cpp:520
+msgid "Read this image, write to diff"
+msgstr "Ανάγνωση αυτής της εικόνας, εγγÏαφή σε αÏχείο αλλαγών"
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
-msgstr "Φυσικό πληκτÏολόγιο"
+#: src/frontend/mame/ui/imgcntrl.cpp:117
+msgid "Cannot save over directory"
+msgstr "Δεν μποÏεί να αποθηκευτεί στο Ï„Ïέχων κατάλογο"
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
-msgstr "ΤαυτόχÏονη αναίÏεση"
+#: src/frontend/mame/ui/imgcntrl.cpp:150
+msgid ""
+"The software selected is missing one or more required ROM or CHD images. "
+"Please select a different one."
+msgstr ""
+"Στο επιλεγμένο λογισμικό λείπει μία ή πεÏισσότεÏες ROMs ή εικόνες CHD. "
+"ΠαÏακαλώ επιλέξτε ένα διαφοÏετικό."
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
-msgstr "Îθηση κεÏμάτων"
+#: src/frontend/mame/ui/menu.cpp:294
+msgid "Return to Machine"
+msgstr "ΕπιστÏοφή στο Μηχάνημα"
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
-msgstr "ΧαÏτογÏάφηση Συσκευών"
+#: src/frontend/mame/ui/menu.cpp:299 src/frontend/mame/ui/menu.cpp:301
+msgid "Exit"
+msgstr "Έξοδος"
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
-msgstr "Ανάθεση Συσκευής Lightgun"
+#: src/frontend/mame/ui/menu.cpp:306 src/frontend/mame/ui/menu.cpp:308
+msgid "Return to Previous Menu"
+msgstr "ΕπιστÏοφή στο ΠÏοηγοÏμενο ΜενοÏ"
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
-msgstr "Ανάθεση Συσκευής Trackball"
+#: src/frontend/mame/ui/menu.cpp:742
+msgid "Auto"
+msgstr "Αυτόματο"
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
-msgstr "Ανάθεση Συσκευής Pedal"
+#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:653
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
+msgstr ""
+"Σχόλιο Cheat:\n"
+"%s"
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
-msgstr "Ανάθεση Συσκευής Adstick"
+#: src/frontend/mame/ui/cheatopt.cpp:105
+msgid "All cheats reloaded"
+msgstr "Όλα τα Cheats επαναφοÏτώθηκαν"
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
-msgstr "Ανάθεση Συσκευής Paddle"
+#: src/frontend/mame/ui/cheatopt.cpp:136
+msgid "Autofire Settings"
+msgstr "Ρυθμίσεις Autofire"
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
-msgstr "Ανάθεση Συσκευής Dial"
+#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:581
+msgid "Reset All"
+msgstr "ΕπαναφοÏά Όλων"
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
-msgstr "Ανάθεση Συσκευής Posisional"
+#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:582
+msgid "Reload All"
+msgstr "ΕπαναφόÏτωση όλων"
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
-msgstr "Ανάθεση Συσκευής ΠοντικιοÏ"
+#: src/frontend/mame/ui/cheatopt.cpp:273
+msgid "Autofire Status"
+msgstr "Κατάσταση Autofire"
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
-msgstr "ΛειτουÏγία βίντεο"
+#: src/frontend/mame/ui/cheatopt.cpp:316
+msgid "No buttons found on this machine!"
+msgstr "Δεν βÏέθηκαν κουμπιά σε αυτό το μηχάνημα!"
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
-msgstr "ΑÏιθμός οθονών"
+#: src/frontend/mame/ui/cheatopt.cpp:327 src/frontend/mame/ui/cheatopt.cpp:331
+msgid "Autofire Delay"
+msgstr "ΚαθυστέÏηση Autofire"
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
-msgstr "Triple Buffering"
+#: src/frontend/mame/ui/ui.cpp:337
+msgid "This driver requires images to be loaded in the following device(s): "
+msgstr ""
+"Αυτός ο οδηγός απαιτεί εικόνες να φοÏτωθοÏν στην ακόλουθη συσκευή (ες): "
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
-msgstr "HLSL"
+#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
+msgid "Keyboard Emulation Status"
+msgstr "Κατάσταση Εξομοίωσης ΠληκτÏολογίου"
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
-msgstr "GLSL"
+#: src/frontend/mame/ui/ui.cpp:1086
+msgid "Mode: PARTIAL Emulation"
+msgstr "ΛειτουÏγία: ΜΕΡΙΚΗ Εξομοίωση"
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
-msgstr "Bilinear Filtering"
+#: src/frontend/mame/ui/ui.cpp:1087
+msgid "UI: Enabled"
+msgstr "UI: ΕνεÏγοποιημένο"
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
-msgstr "Bitmap Prescaling"
+#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
+msgid "**Use ScrLock to toggle**"
+msgstr "**ΧÏήση ScrLock να εναλλαγή**"
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
-msgstr "ΛειτουÏγία παÏαθÏÏου"
+#: src/frontend/mame/ui/ui.cpp:1096
+msgid "Mode: FULL Emulation"
+msgstr "ΛειτουÏγία: ΠΛΗΡΗΣ Εξομοίωση"
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
-msgstr "Επιβολή Αναλογίας Εικόνας"
+#: src/frontend/mame/ui/ui.cpp:1097
+msgid "UI: Disabled"
+msgstr "UI: ΑπενεÏγοποιημένο"
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
-msgstr "Εκκίνηση μεγιστοποιημένο"
+#: src/frontend/mame/ui/ui.cpp:1249
+msgid "Autofire can't be enabled"
+msgstr "Δεν μποÏεί να ενεÏγοποιηθεί το Autofire"
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
-msgstr "ΣυγχÏονισμένη Ανανέωση"
+#: src/frontend/mame/ui/ui.cpp:1302
+#, c-format
+msgid ""
+"Are you sure you want to quit?\n"
+"\n"
+"Press ''%1$s'' to quit,\n"
+"Press ''%2$s'' to return to emulation."
+msgstr ""
+"Είστε βέβαιοι ότι θέλετε να εγκαταλείψετε;\n"
+"\n"
+"Πατήστε ''%1$s'' για να εγκαταλείψετε,\n"
+"Πατήστε ''%2$s'' για να επιστÏέψετε στην εξομοίωση."
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
-msgstr "Αναμονή για Κάθετο ΣυγχÏονισμό"
+#: src/frontend/mame/ui/ui.cpp:1374
+msgid "Master Volume"
+msgstr "ΚÏÏια Ένταση"
+
+#: src/frontend/mame/ui/ui.cpp:1383
+#, c-format
+msgid "%1$s Volume"
+msgstr "%1$s Ένταση"
+
+#: src/frontend/mame/ui/ui.cpp:1407
+#, c-format
+msgid "Overclock CPU %1$s"
+msgstr "ΥπεÏχÏονισμός CPU %1$s"
-#: src/frontend/mame/ui/devopt.cpp:43
+#: src/frontend/mame/ui/ui.cpp:1416
+#, c-format
+msgid "Overclock %1$s sound"
+msgstr "ΥπεÏχÏονισμός %1$s ήχου"
+
+#: src/frontend/mame/ui/ui.cpp:1437
+#, c-format
+msgid "%1$s Refresh Rate"
+msgstr "%1$s Ρυθμός Ανανέωσης"
+
+#: src/frontend/mame/ui/ui.cpp:1442
+#, c-format
+msgid "%1$s Brightness"
+msgstr "%1$s Φωτεινότητα"
+
+#: src/frontend/mame/ui/ui.cpp:1444
+#, c-format
+msgid "%1$s Contrast"
+msgstr "%1$s Αντίθεση"
+
+#: src/frontend/mame/ui/ui.cpp:1446
+#, c-format
+msgid "%1$s Gamma"
+msgstr "%1$s Γάμμα"
+
+#: src/frontend/mame/ui/ui.cpp:1450
+#, c-format
+msgid "%1$s Horiz Stretch"
+msgstr "%1$s ΟÏιζόντια Επέκταση"
+
+#: src/frontend/mame/ui/ui.cpp:1452
+#, c-format
+msgid "%1$s Horiz Position"
+msgstr "%1$s ΟÏιζόντια Θέση"
+
+#: src/frontend/mame/ui/ui.cpp:1454
+#, c-format
+msgid "%1$s Vert Stretch"
+msgstr "%1$s Κάθετη Επέκταση"
+
+#: src/frontend/mame/ui/ui.cpp:1456
+#, c-format
+msgid "%1$s Vert Position"
+msgstr "%1$s Κάθετη Θέση"
+
+#: src/frontend/mame/ui/ui.cpp:1475
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
+msgstr "Laserdisc '%1$s' ΟÏιζόντια Επέκταση"
+
+#: src/frontend/mame/ui/ui.cpp:1477
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
+msgstr "Laserdisc '%1$s' ΟÏιζόντια Θέση"
+
+#: src/frontend/mame/ui/ui.cpp:1479
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
+msgstr "Laserdisc '%1$s' Κάθετη Επέκταση"
+
+#: src/frontend/mame/ui/ui.cpp:1481
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
+msgstr "Laserdisc '%1$s' Κάθετη Θέση"
+
+#: src/frontend/mame/ui/ui.cpp:1493
+msgid "Vector Flicker"
+msgstr "ΤÏεμόπαιγμα ΔιανÏσματος"
+
+#: src/frontend/mame/ui/ui.cpp:1494
+msgid "Beam Width Minimum"
+msgstr "Ελάχιστο Πλάτος Ακτινών"
+
+#: src/frontend/mame/ui/ui.cpp:1495
+msgid "Beam Width Maximum"
+msgstr "Μέγιστο Πλάτος Ακτινών"
+
+#: src/frontend/mame/ui/ui.cpp:1496
+msgid "Beam Intensity Weight"
+msgstr "ΒάÏος Έντασης Ακτίνας"
+
+#: src/frontend/mame/ui/ui.cpp:1511
+#, c-format
+msgid "Crosshair Scale %1$s"
+msgstr "Κλίμακα ΣτόχαστÏου %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "X"
+msgstr "X"
+
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "Y"
+msgstr "Y"
+
+#: src/frontend/mame/ui/ui.cpp:1513
+#, c-format
+msgid "Crosshair Offset %1$s"
+msgstr "Μετατόπιση ΣτοχάστÏου %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1601
+#, c-format
+msgid "%1$3ddB"
+msgstr "%1$3ddB"
+
+#: src/frontend/mame/ui/ui.cpp:1645
+#, c-format
+msgid "%1$d%%"
+msgstr "%1$d%%"
+
+#: src/frontend/mame/ui/ui.cpp:1661
+#, c-format
+msgid "%1$3.0f%%"
+msgstr "%1$3.0f%%"
+
+#: src/frontend/mame/ui/ui.cpp:1685
+#, c-format
+msgid "%1$.3ffps"
+msgstr "%1$.3ffps"
+
+#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
+#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
+#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
+#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
+#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
+#: src/frontend/mame/ui/ui.cpp:1927
+#, c-format
+msgid "%1$.3f"
+msgstr "%1$.3f"
+
+#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
+#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
+#, c-format
+msgid "%1$1.2f"
+msgstr "%1$1.2f"
+
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
+msgstr "Κλίμακα ΣτόχαστÏου X %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
+msgstr "Κλίμακα ΣτόχαστÏου Y %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
+msgstr "Μετατόπιση ΣτοχάστÏου X %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
+msgstr "Μετατόπιση ΣτοχάστÏου Y %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
+msgstr "**Σφάλμα αποθήκευσης ui.ini**"
+
+#: src/frontend/mame/ui/ui.cpp:2226
+#, c-format
+msgid "**Error saving %s.ini**"
+msgstr "**Σφάλμα αποθήκευσης %s.ini**"
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " COLORS"
+msgstr " ΧΡΩΜΑΤΑ"
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " PENS"
+msgstr " ΓΡΑΦΙΔΕΣ"
+
+#: src/frontend/mame/ui/devopt.cpp:39
#, c-format
msgid ""
"[This option is currently mounted in the running system]\n"
@@ -2177,7 +2506,7 @@ msgstr ""
"\n"
"Η επιλεγμένη επιλογή ενεÏγοποιεί τα ακόλουθα στοιχεία:\n"
-#: src/frontend/mame/ui/devopt.cpp:44
+#: src/frontend/mame/ui/devopt.cpp:40
#, c-format
msgid ""
"[This option is NOT currently mounted in the running system]\n"
@@ -2194,60 +2523,60 @@ msgstr ""
"\n"
"Αν επιλέξετε αυτήν την επιλογή, θα ενεÏγοποιηθοÏν τα ακόλουθα στοιχεία:\n"
-#: src/frontend/mame/ui/devopt.cpp:52
+#: src/frontend/mame/ui/devopt.cpp:48
msgid "* CPU:\n"
msgstr "* ΕπεξεÏγαστής:\n"
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
#, c-format
msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
msgstr " %1$d×%2$s %3$d.%4$06d MHz\n"
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
msgstr " %1$d×%2$s %5$d.%6$03d kHz\n"
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
msgid " %2$s %3$d.%4$06d MHz\n"
msgstr " %2$s %3$d.%4$06d MHz\n"
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
msgid " %2$s %5$d.%6$03d kHz\n"
msgstr " %2$s %5$d.%6$03d kHz\n"
-#: src/frontend/mame/ui/devopt.cpp:89
+#: src/frontend/mame/ui/devopt.cpp:85
msgid "* Video:\n"
msgstr "* Βίντεο:\n"
-#: src/frontend/mame/ui/devopt.cpp:94
+#: src/frontend/mame/ui/devopt.cpp:90
#, c-format
msgid " Screen '%1$s': Vector\n"
msgstr " Οθόνη '%1$s': Διάνυσμα\n"
-#: src/frontend/mame/ui/devopt.cpp:103
+#: src/frontend/mame/ui/devopt.cpp:99
#, c-format
msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
msgstr " Οθόνη '%1$s': %2$d × %3$d (Κ) %4$f Hz\n"
-#: src/frontend/mame/ui/devopt.cpp:104
+#: src/frontend/mame/ui/devopt.cpp:100
#, c-format
msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
msgstr " Οθόνη '%1$s': %2$d × %3$d (Ο) %4$f Hz\n"
-#: src/frontend/mame/ui/devopt.cpp:117
+#: src/frontend/mame/ui/devopt.cpp:113
msgid "* Sound:\n"
msgstr "* Ήχος:\n"
-#: src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/devopt.cpp:133
#, c-format
msgid " %1$d×%2$s\n"
msgstr " %1$d×%2$s\n"
-#: src/frontend/mame/ui/devopt.cpp:138
+#: src/frontend/mame/ui/devopt.cpp:134
msgid " %2$s\n"
msgstr " %2$s\n"
-#: src/frontend/mame/ui/devopt.cpp:168
+#: src/frontend/mame/ui/devopt.cpp:164
#, c-format
msgid ""
"* BIOS settings:\n"
@@ -2256,496 +2585,86 @@ msgstr ""
"* Ρυθμίσεις BIOS:\n"
" %1$d επιλογές [Ï€Ïοεπιλογή: %2$s]\n"
-#: src/frontend/mame/ui/devopt.cpp:208 src/frontend/mame/ui/devopt.cpp:224
-#: src/frontend/mame/ui/devopt.cpp:269
+#: src/frontend/mame/ui/devopt.cpp:204 src/frontend/mame/ui/devopt.cpp:220
+#: src/frontend/mame/ui/devopt.cpp:265
#, c-format
msgid " %1$s [default: %2$s]\n"
msgstr " %1$s [Ï€Ïοεπιλογή: %2$s]\n"
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
+#: src/frontend/mame/ui/devopt.cpp:209 src/frontend/mame/ui/devopt.cpp:225
#, c-format
msgid " %1$s\n"
msgstr " %1$s\n"
-#: src/frontend/mame/ui/devopt.cpp:234
+#: src/frontend/mame/ui/devopt.cpp:230
msgid "* DIP switch settings:\n"
msgstr "* Ρυθμίσεις μικÏοδιακόπτων:\n"
-#: src/frontend/mame/ui/devopt.cpp:236
+#: src/frontend/mame/ui/devopt.cpp:232
msgid "* Configuration settings:\n"
msgstr "* Ρυθμίσεις διαμόÏφωσης:\n"
-#: src/frontend/mame/ui/devopt.cpp:238
+#: src/frontend/mame/ui/devopt.cpp:234
msgid "* Input device(s):\n"
msgstr "* Συσκευή(ες) εισαγωγής:\n"
-#: src/frontend/mame/ui/devopt.cpp:240
+#: src/frontend/mame/ui/devopt.cpp:236
#, c-format
msgid " User inputs [%1$d inputs]\n"
msgstr " Εισαγωγές χÏήστη [%1$d εισαγωγές]\n"
-#: src/frontend/mame/ui/devopt.cpp:242
+#: src/frontend/mame/ui/devopt.cpp:238
#, c-format
msgid " Mahjong inputs [%1$d inputs]\n"
msgstr " Εισαγωγές Mahjong [%1$d εισαγωγές]\n"
-#: src/frontend/mame/ui/devopt.cpp:244
+#: src/frontend/mame/ui/devopt.cpp:240
#, c-format
msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr " Εισαγωγές Hanafuda [%1$d εισαγωγές]\n"
-#: src/frontend/mame/ui/devopt.cpp:246
+#: src/frontend/mame/ui/devopt.cpp:242
#, c-format
msgid " Gambling inputs [%1$d inputs]\n"
msgstr " Εισαγωγές τυχεÏών παιχνιδιών [%1$d εισαγωγές]\n"
-#: src/frontend/mame/ui/devopt.cpp:248
+#: src/frontend/mame/ui/devopt.cpp:244
#, c-format
msgid " Analog inputs [%1$d inputs]\n"
msgstr " Εισαγωγές αναλογικές [%1$d εισαγωγές]\n"
-#: src/frontend/mame/ui/devopt.cpp:250
+#: src/frontend/mame/ui/devopt.cpp:246
#, c-format
msgid " Adjuster inputs [%1$d inputs]\n"
msgstr " Εισαγωγές Ïυθμιστή [%1$d εισαγωγές]\n"
-#: src/frontend/mame/ui/devopt.cpp:252
+#: src/frontend/mame/ui/devopt.cpp:248
#, c-format
msgid " Keypad inputs [%1$d inputs]\n"
msgstr " Εισαγωγές πλήκτÏων [%1$d εισαγωγές]\n"
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/devopt.cpp:250
#, c-format
msgid " Keyboard inputs [%1$d inputs]\n"
msgstr " Εισαγωγές πληκτÏολογίου [%1$d εισαγωγές]\n"
-#: src/frontend/mame/ui/devopt.cpp:259
+#: src/frontend/mame/ui/devopt.cpp:255
msgid "* Media Options:\n"
msgstr "* Επιλογές Μέσων:\n"
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/devopt.cpp:257
#, c-format
msgid " %1$s [tag: %2$s]\n"
msgstr " %1$s [ετικέτα: %2$s]\n"
-#: src/frontend/mame/ui/devopt.cpp:267
+#: src/frontend/mame/ui/devopt.cpp:263
msgid "* Slot Options:\n"
msgstr "* Επιλογές Υποδοχής:\n"
-#: src/frontend/mame/ui/devopt.cpp:274
+#: src/frontend/mame/ui/devopt.cpp:270
msgid "[None]\n"
msgstr "[Καμία]\n"
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
-msgstr "Έλεγχος ROMs για %1$u μηχανήματα που δεν είναι διαθέσιμα;"
-
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
-msgstr "Έλεγχος ROMs για όλα τα %1$u μηχανήματα;"
-
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
-msgstr "(τα αποτελέσματα θα αποθηκευτοÏν στο %1$s)"
-
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
-msgstr ""
-"Γίνεται έλεγχος ROMs για το μηχάνημα %2$u από %3$u...\n"
-"%1$s"
-
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr "ΈναÏξή Ελέγχου"
-
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
-msgstr "Δεν μποÏεί να αποθηκευτεί στο Ï„Ïέχων κατάλογο"
-
-#: src/frontend/mame/ui/imgcntrl.cpp:150
-msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
-msgstr ""
-"Στο επιλεγμένο λογισμικό λείπει μία ή πεÏισσότεÏες ROMs ή εικόνες CHD. "
-"ΠαÏακαλώ επιλέξτε ένα διαφοÏετικό."
-
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
-msgstr "Ï€Ïοστασία"
-
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
-msgstr "χÏονισμός"
-
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
-msgstr "γÏαφικά"
-
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
-msgstr "χÏωματική παλέτα"
-
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
-msgstr "ήχος"
-
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
-msgstr "κάμεÏα"
-
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
-msgstr "μικÏόφωνο"
-
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
-msgstr "χειÏισμός"
-
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
-msgstr "πληκτÏολόγιο"
-
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
-msgstr "ποντίκι"
-
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
-msgstr "δίσκος"
-
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
-msgstr "εκτυπωτής"
-
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
-msgstr "Δίκτυο LAN"
-
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
-msgstr "Δίκτυο WAN"
-
-#: src/frontend/mame/ui/info.cpp:188
-msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
-msgstr ""
-"Μία ή πεÏισσότεÏες ROMs/CHDs για αυτό το μηχάνημα είναι εσφαλμένες. Το "
-"μηχάνημα μποÏεί να μην εκτελείται σωστά.\n"
-
-#: src/frontend/mame/ui/info.cpp:198
-msgid ""
-"There are known problems with this machine\n"
-"\n"
-msgstr ""
-"ΥπάÏχουν γνωστά Ï€Ïοβλήματα με αυτό το μηχάνημα\n"
-"\n"
-
-#: src/frontend/mame/ui/info.cpp:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
-msgstr ""
-"Μία ή πεÏισσότεÏες ROMs/CHDs για αυτό το μηχάνημα δεν έχουν γίνει dump "
-"σωστά.\n"
-
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
-msgstr "Εντελώς μη εξομοιωμένα χαÏακτηÏιστικά: "
-
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
-msgstr "%s"
-
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#: src/frontend/mame/ui/info.cpp:275
-#, c-format
-msgid ", %s"
-msgstr ", %s"
-
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
-msgstr "ΜεÏικώς εξομοιωμένα χαÏακτηÏιστικά: "
-
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
-msgstr ""
-"Το αναποδογÏÏισμα της οθόνης σε κοκτέιλ λειτουÏγία δεν υποστηÏίζεται.\n"
-
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
-msgstr "Αυτό το μηχάνημα απαιτεί εξωτεÏικά αÏχεία artwork.\n"
-
-#: src/frontend/mame/ui/info.cpp:243
-msgid ""
-"This machine was never completed. It may exhibit strange behavior or missing "
-"elements that are not bugs in the emulation.\n"
-msgstr ""
-"Αυτό το μηχάνημα δεν ολοκληÏώθηκε ποτέ. Αυτό μποÏεί να εμφανίσει ασυνήθιστη "
-"συμπεÏιφοÏά ή στοιχεία να λείπουν που δεν είναι σφάλματα στην εξομοίωση.\n"
-
-#: src/frontend/mame/ui/info.cpp:245
-msgid ""
-"This machine has no sound hardware, MAME will produce no sounds, this is "
-"expected behaviour.\n"
-msgstr ""
-"Αυτό το μηχάνημα δεν έχει κανένα υλικό ήχου, το MAME δεν θα παÏάγει κανένα "
-"ήχο, αυτή είναι αναμενόμενη συμπεÏιφοÏά.\n"
-
-#: src/frontend/mame/ui/info.cpp:249
-msgid ""
-"\n"
-"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
-"complete. There is nothing you can do to fix this problem except wait for "
-"the developers to improve the emulation.\n"
-msgstr ""
-"\n"
-"ΑΥΤΟ ΤΟ ΜΗΧΑÎΗΜΑ ΔΕΠΛΕΙΤΟΥΡΓΕΙ. Η εξομοίωση για αυτό το μηχάνημα δεν είναι "
-"ακόμα πλήÏης. Δεν υπάÏχει τίποτα που μποÏείτε να κάνετε για να διοÏθώσετε "
-"αυτό το Ï€Ïόβλημα εκτός από την αναμονή για τους Ï€ÏογÏαμματιστές να "
-"βελτιώσουν την εξομοίωση.\n"
-
-#: src/frontend/mame/ui/info.cpp:251
-msgid ""
-"\n"
-"Elements of this machine cannot be emulated as they requires physical "
-"interaction or consist of mechanical devices. It is not possible to fully "
-"experience this machine.\n"
-msgstr ""
-"\n"
-"Στοιχεία Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… μηχανήματος δεν μποÏοÏν να εξομοιωθοÏν, καθώς απαιτοÏν "
-"φυσική αλληλεπίδÏαση ή αποτελοÏνται από μηχανικές συσκευές. Δεν είναι "
-"δυνατόν να δοκιμάσετε πλήÏως αυτό το μηχάνημα.\n"
-
-#: src/frontend/mame/ui/info.cpp:273
-#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
-msgstr ""
-"\n"
-"\n"
-"ΥπάÏχουν κλώνοι Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… μηχανήματος που λειτουÏγοÏν: %s"
-
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
-msgstr ""
-"\n"
-"\n"
-"Πιέστε ένα πλήκτÏο για συνέχεια"
-
-#: src/frontend/mame/ui/info.cpp:301
-#, c-format
-msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
-msgstr ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Οδηγός: %4$s\n"
-"\n"
-"ΕπεξεÏγαστής:\n"
-
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
-msgstr "MHz"
-
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
-msgstr "kHz"
-
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
-msgstr ""
-"\n"
-"Ήχος:\n"
-
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
-msgstr ""
-"\n"
-"Βίντεο:\n"
-
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
-msgstr "Κανένα\n"
-
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
-msgstr "Διάνυσμα"
-
-#: src/frontend/mame/ui/info.cpp:400
-#, c-format
-msgid "%1$s: %2$s\n"
-msgstr "%1$s: %2$s\n"
-
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
-msgstr "%2$s\n"
-
-#: src/frontend/mame/ui/info.cpp:446
-#, c-format
-msgid "Screen '%1$s'"
-msgstr "Οθόνη '%1$s'"
-
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr "Οθόνη"
-
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
-msgstr "Δεν υποστηÏίζεται"
-
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
-msgstr "ΥποστηÏίζεται μεÏικώς"
-
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
-msgstr "[κενό]"
-
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
-msgstr "Πίνακες Ελέγχου"
-
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
-msgstr "ΠÏοεπισκόπηση Artworks"
-
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
-msgstr "Game Over"
-
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
-msgstr "ΠÏοσθήκη ή αφαίÏεση από τα αγαπημένα"
-
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
-msgstr "Εξαγωγή λίστας σε αÏχείο"
-
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
-msgstr "Εμφάνιση Ï€Ïοβολής DATs"
-
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
-msgstr "Επιλογή τμημάτων λογισμικοÏ:"
-
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
-msgstr "Επιλογή BIOS:"
-
-#: src/frontend/mame/ui/selmenu.cpp:622
-#, c-format
-msgid "Software is clone of: %1$-.100s"
-msgstr "Το λογισμικό είναι κλώνος του: %1$-.100s"
-
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
-msgstr "Το λογισμικό είναι γονικό"
-
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
-msgstr "ΥποστηÏίζεται: Όχι"
-
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
-msgstr "ΥποστηÏίζεται: ΜεÏικώς"
-
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
-msgstr "ΥποστηÏίζεται: Îαι"
-
-#: src/frontend/mame/ui/selmenu.cpp:644
-#, c-format
-msgid "romset: %1$-.100s"
-msgstr "romset: %1$-.100s"
-
-#: src/frontend/mame/ui/selmenu.cpp:660
-#, c-format
-msgid "Driver is clone of: %1$-.100s"
-msgstr "Ο Οδηγός είναι κλώνος του: %1$-.100s"
-
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
-msgstr "Ο Οδηγός είναι γονικός"
-
-#: src/frontend/mame/ui/selmenu.cpp:698
-#, c-format
-msgid "%1$s %2$s"
-msgstr "%1$s %2$s"
-
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
-msgstr "Εικόνες"
-
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
-msgstr "ΠληÏοφοÏίες"
-
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
-msgstr "ΧÏήση"
-
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
-msgstr "Γενικές ΠληÏοφοÏίες"
-
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
-msgstr "ΠεÏιβάλλον ΧÏήστη"
-
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
-msgstr "Άλλα Στοιχεία Ελέγχου"
-
#: plugins/timer/init.lua:94
msgid "Current time"
msgstr "ΤÏέχων χÏόνος"
@@ -2762,51 +2681,51 @@ msgstr "ΑÏιθμός Παιχνιδιών"
msgid "Timer"
msgstr "ΧÏονομετÏητής"
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:510
msgid "Select cheat to set hotkey"
msgstr "Επιλογή cheat για ÏÏθμιση συντόμευσης"
-#: plugins/cheat/init.lua:534
+#: plugins/cheat/init.lua:516
msgid "Press button for hotkey or wait to clear"
msgstr "Πιέστε πλήκτÏο για συντόμευση ή πεÏιμένετε για καθαÏισμό"
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:528
msgid "None"
msgstr "Κανένα"
-#: plugins/cheat/init.lua:551
+#: plugins/cheat/init.lua:533
msgid "Done"
msgstr "Έγινε"
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:547 plugins/cheat/init.lua:561
msgid "Set"
msgstr "ΡÏθμιση"
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:580
msgid "Set hotkeys"
msgstr "ΡÏθμιση συντομεÏσεων"
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:720
#, lua-format
msgid "Activated: %s = %s"
msgstr "ΕνεÏγοποιήθηκε: %s = %s"
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:723 plugins/cheat/init.lua:781
#, lua-format
msgid "Activated: %s"
msgstr "ΕνεÏγοποιήθηκε: %s"
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:785
#, lua-format
msgid "Enabled: %s"
msgstr "ΕνεÏγοποιημένο: %s"
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:790
#, lua-format
msgid "Disabled: %s"
msgstr "ΑπενεÏγοποιημένο: %s"
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "%s added"
msgstr "%s Ï€Ïοστέθηκε"
@@ -2859,49 +2778,49 @@ msgstr "ΑÏχικοποίηση παιχνιδιοÏ"
msgid "MARPScore"
msgstr "MARPScore"
-#: plugins/cheatfind/init.lua:404
+#: plugins/cheatfind/init.lua:373
msgid "Save Cheat"
msgstr "Αποθήκευση Cheat"
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Default"
msgstr "ΠÏοεπιλογή"
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Custom"
msgstr "ΠÏοσαÏμογή"
-#: plugins/cheatfind/init.lua:408
+#: plugins/cheatfind/init.lua:377
msgid "Cheat Name"
msgstr "Όνομα Cheat"
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/cheatfind/init.lua:383 plugins/cheatfind/init.lua:748
#, lua-format
msgid "Default name is %s"
msgstr "Το Ï€Ïοεπιλεγμένο όνομα είναι %s"
-#: plugins/cheatfind/init.lua:422
+#: plugins/cheatfind/init.lua:391
msgid "Player"
msgstr "Παίκτης"
-#: plugins/cheatfind/init.lua:427
+#: plugins/cheatfind/init.lua:396
msgid "Type"
msgstr "ΤÏπος"
-#: plugins/cheatfind/init.lua:433
+#: plugins/cheatfind/init.lua:402
msgid "Save"
msgstr "Αποθήκευση"
-#: plugins/cheatfind/init.lua:462
+#: plugins/cheatfind/init.lua:429
#, lua-format
msgid "Cheat written to %s and added to cheat.simple"
msgstr "Το Cheat γÏάφτηκε στο %s και Ï€Ïοστέθηκε στο cheat.simple"
-#: plugins/cheatfind/init.lua:472
+#: plugins/cheatfind/init.lua:437
msgid "Cheat added to cheat.simple"
msgstr "Το Cheat Ï€Ïοστέθηκε στο cheat.simple"
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:442
msgid ""
"Unable to write file\n"
"Ensure that cheatpath folder exists"
@@ -2909,294 +2828,172 @@ msgstr ""
"ΑδÏνατη η εγγÏαφή του αÏχείου\n"
"Ελέγξτε ότι υπάÏχει ο φάκελος του cheatpath"
-#: plugins/cheatfind/init.lua:486
+#: plugins/cheatfind/init.lua:451
msgid "Cancel"
msgstr "ΑκÏÏωση"
-#: plugins/cheatfind/init.lua:491
+#: plugins/cheatfind/init.lua:456
msgid "CPU or RAM"
msgstr "ΕπεξεÏγαστής ή μνήμη RAM"
-#: plugins/cheatfind/init.lua:495
+#: plugins/cheatfind/init.lua:460
msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
"Οι αλλαγές σε αυτό ισχÏουν μόνο όταν η \"ΈναÏξη νέας αναζήτησης\" έχει "
"επιλεγεί"
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
-msgstr ""
+#: plugins/cheatfind/init.lua:479
+msgid "Data cleared and current state saved"
+msgstr "Τα δεδομένα έχουν διαγÏαφεί και η Ï„Ïέχουσα κατάσταση έχει αποθηκευτεί"
-#: plugins/cheatfind/init.lua:551
+#: plugins/cheatfind/init.lua:487
msgid "Start new search"
msgstr "ΈναÏξη νέας αναζήτησης"
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
-msgstr ""
+#: plugins/cheatfind/init.lua:497
+msgid "Current state saved"
+msgstr "Η Ï„Ïέχουσα κατάσταση έχει αποθηκευτεί"
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
-msgstr ""
+#: plugins/cheatfind/init.lua:504
+msgid "Save current -- #"
+msgstr "Αποθήκευση Ï„Ïέχουσας -- #"
-#: plugins/cheatfind/init.lua:614
+#: plugins/cheatfind/init.lua:536
#, lua-format
msgid "%d total matches found"
msgstr "Î’Ïέθηκαν συνολικά %d αντιστοιχίες"
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
-msgstr ""
+#: plugins/cheatfind/init.lua:543
+msgid "Compare"
+msgstr "ΣυγκÏίση"
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
-msgstr ""
+#: plugins/cheatfind/init.lua:546
+msgid "Left operand"
+msgstr "ΑÏιστεÏός ÏŒÏος"
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
-msgstr ""
+#: plugins/cheatfind/init.lua:549
+msgid "Current"
+msgstr "ΤÏέχων"
+
+#: plugins/cheatfind/init.lua:554
+msgid "Operator"
+msgstr "Τελεστής"
+
+#: plugins/cheatfind/init.lua:561
+msgid "Left less than right, value is difference"
+msgstr "ΑÏιστεÏά μικÏότεÏη από τη δεξιά, η τιμή είναι η διαφοÏά"
+
+#: plugins/cheatfind/init.lua:563
+msgid "Left greater than right, value is difference"
+msgstr "ΑÏιστεÏά μεγαλÏτεÏη από τη δεξιά, η τιμή είναι η διαφοÏά"
-#: plugins/cheatfind/init.lua:676
+#: plugins/cheatfind/init.lua:565
msgid "Left equal to right"
msgstr "ΑÏιστεÏά είναι ίση με τη δεξιά"
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
-msgstr ""
+#: plugins/cheatfind/init.lua:567
+msgid "Left not equal to right, value is difference"
+msgstr "ΑÏιστεÏά δεν είναι ίση με τη δεξιά, η τιμή είναι η διαφοÏά"
-#: plugins/cheatfind/init.lua:680
+#: plugins/cheatfind/init.lua:569
msgid "Left equal to right with bitmask"
msgstr "ΑÏιστεÏά είναι ίση με τη δεξιά με bitmask"
-#: plugins/cheatfind/init.lua:682
+#: plugins/cheatfind/init.lua:571
msgid "Left not equal to right with bitmask"
msgstr "ΑÏιστεÏά δεν είναι ίση με τη δεξιά με bitmask"
-#: plugins/cheatfind/init.lua:684
+#: plugins/cheatfind/init.lua:573
msgid "Left less than value"
msgstr "ΑÏιστεÏά λιγότεÏη από την αξία"
-#: plugins/cheatfind/init.lua:686
+#: plugins/cheatfind/init.lua:575
msgid "Left greater than value"
msgstr "ΑÏιστεÏά πεÏισσότεÏη από την αξία"
-#: plugins/cheatfind/init.lua:688
+#: plugins/cheatfind/init.lua:577
msgid "Left equal to value"
msgstr "ΑÏιστεÏά ίση με την αξία"
-#: plugins/cheatfind/init.lua:690
+#: plugins/cheatfind/init.lua:579
msgid "Left not equal to value"
msgstr "ΑÏιστεÏά όχι ίση με την αξία"
-#: plugins/cheatfind/init.lua:712
+#: plugins/cheatfind/init.lua:590
+msgid "Right operand"
+msgstr "Δεξιός ÏŒÏος"
+
+#: plugins/cheatfind/init.lua:598
msgid "Value"
msgstr "Αξία"
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:719
+#: plugins/cheatfind/init.lua:602
msgid "Any"
msgstr "Οποιαδήποτε"
-#: plugins/cheatfind/init.lua:725
+#: plugins/cheatfind/init.lua:608
msgid "Data Format"
msgstr "ΜοÏφή Δεδομένων"
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:738
-msgid ""
-"Use this if you want to poke the Slot 1 value (eg. You started with "
-"something but lost it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:740
-msgid ""
-"Use this if you want to poke the Last Slot value (eg. You started without an "
-"item but finally got it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:816
+#: plugins/cheatfind/init.lua:632
msgid "Undo last search -- #"
msgstr "ΑναίÏεση τελευταίας αναζήτησης -- #"
-#: plugins/cheatfind/init.lua:820
+#: plugins/cheatfind/init.lua:636
msgid "Match block"
msgstr "ΤαίÏιασμα τομέα"
-#: plugins/cheatfind/init.lua:823
+#: plugins/cheatfind/init.lua:639
msgid "All"
msgstr "Όλα"
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheatfind/init.lua:690
#, lua-format
-msgid "Test Cheat %08X:%02X"
-msgstr ""
+msgid "Test cheat at addr %08X"
+msgstr "Δοκιμή cheat στην addr %08X"
-#: plugins/cheatfind/init.lua:974
+#: plugins/cheatfind/init.lua:722
msgid "Cheat engine not available"
msgstr "Η μηχανή Cheat δεν είναι διαθέσιμη"
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Test"
msgstr "Δοκιμή"
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Write"
msgstr "ΕγγÏαφή"
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Watch"
msgstr "ΕπιτήÏηση"
-#: plugins/cheatfind/init.lua:1045
+#: plugins/cheatfind/init.lua:788
msgid "Page"
msgstr "Σελίδα"
-#: plugins/cheatfind/init.lua:1063
+#: plugins/cheatfind/init.lua:806
msgid "Clear Watches"
msgstr "ΚαθαÏισμός ΕπιτηÏήσεων"
-#: plugins/cheatfind/init.lua:1078
+#: plugins/cheatfind/init.lua:816
msgid "Cheat Finder"
msgstr "ΕÏÏεση Cheat"
-#: plugins/portname/init.lua:103
+#: plugins/portname/init.lua:69
msgid "Save input names to file"
msgstr "Αποθήκευση ονομάτων εισόδου στο αÏχείο"
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
+#: plugins/portname/init.lua:100 plugins/portname/init.lua:105
+#: plugins/portname/init.lua:121
msgid "Failed to save input name file"
msgstr "Σφάλμα αποθήκευσης ονόματος εισόδου στο αÏχείο"
-#: plugins/portname/init.lua:167
+#: plugins/portname/init.lua:133
#, lua-format
msgid "Input port name file saved to %s"
msgstr "Το όνομα της θÏÏας εισόδου αποθηκεÏτηκε στο αÏχείο %s"
-#: plugins/portname/init.lua:172
+#: plugins/portname/init.lua:138
msgid "Input ports"
msgstr "ΘÏÏες εισόδου"
-
-#~ msgid "Data cleared and current state saved"
-#~ msgstr ""
-#~ "Τα δεδομένα έχουν διαγÏαφεί και η Ï„Ïέχουσα κατάσταση έχει αποθηκευτεί"
-
-#~ msgid "Current state saved"
-#~ msgstr "Η Ï„Ïέχουσα κατάσταση έχει αποθηκευτεί"
-
-#~ msgid "Save current -- #"
-#~ msgstr "Αποθήκευση Ï„Ïέχουσας -- #"
-
-#~ msgid "Compare"
-#~ msgstr "ΣυγκÏίση"
-
-#~ msgid "Left operand"
-#~ msgstr "ΑÏιστεÏός ÏŒÏος"
-
-#~ msgid "Current"
-#~ msgstr "ΤÏέχων"
-
-#~ msgid "Operator"
-#~ msgstr "Τελεστής"
-
-#~ msgid "Left less than right, value is difference"
-#~ msgstr "ΑÏιστεÏά μικÏότεÏη από τη δεξιά, η τιμή είναι η διαφοÏά"
-
-#~ msgid "Left greater than right, value is difference"
-#~ msgstr "ΑÏιστεÏά μεγαλÏτεÏη από τη δεξιά, η τιμή είναι η διαφοÏά"
-
-#~ msgid "Left not equal to right, value is difference"
-#~ msgstr "ΑÏιστεÏά δεν είναι ίση με τη δεξιά, η τιμή είναι η διαφοÏά"
-
-#~ msgid "Right operand"
-#~ msgstr "Δεξιός ÏŒÏος"
-
-#~ msgid "Test cheat at addr %08X"
-#~ msgstr "Δοκιμή cheat στην addr %08X"
diff --git a/language/Hebrew/strings.po b/language/Hebrew/strings.po
index da110642204..949f6c4c95b 100644
--- a/language/Hebrew/strings.po
+++ b/language/Hebrew/strings.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MAME\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-03-17 13:37+1100\n"
+"POT-Creation-Date: 2018-04-28 15:32+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -17,1144 +17,1041 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
+#: src/frontend/mame/ui/auditmenu.cpp:96
#, c-format
-msgid "Screen #%d"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Enabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Disabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
-msgid "Marquees"
+#: src/frontend/mame/ui/auditmenu.cpp:99
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/auditmenu.cpp:104
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/auditmenu.cpp:130
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/auditmenu.cpp:142
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/selmenu.cpp:49 src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/selmenu.cpp:50 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/selmenu.cpp:51
+msgid "Control Panels"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/selmenu.cpp:52 src/frontend/mame/ui/dirmenu.cpp:50
+msgid "PCBs"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/selmenu.cpp:53 src/frontend/mame/ui/dirmenu.cpp:47
+msgid "Flyers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/selmenu.cpp:54 src/frontend/mame/ui/dirmenu.cpp:48
+msgid "Titles"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/selmenu.cpp:55 src/frontend/mame/ui/dirmenu.cpp:49
+msgid "Ends"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/selmenu.cpp:56
+msgid "Artwork Preview"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/selmenu.cpp:57 src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Bosses"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/selmenu.cpp:58 src/frontend/mame/ui/dirmenu.cpp:60
+msgid "Logos"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/selmenu.cpp:59 src/frontend/mame/ui/dirmenu.cpp:62
+msgid "Versus"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/selmenu.cpp:60
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/selmenu.cpp:61 src/frontend/mame/ui/dirmenu.cpp:59
+msgid "HowTo"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/selmenu.cpp:62 src/frontend/mame/ui/dirmenu.cpp:61
+msgid "Scores"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/selmenu.cpp:63 src/frontend/mame/ui/dirmenu.cpp:57
+msgid "Select"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/selmenu.cpp:64 src/frontend/mame/ui/dirmenu.cpp:51
+#: src/frontend/mame/ui/videoopt.cpp:224
+msgid "Marquees"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/selmenu.cpp:65 src/frontend/mame/ui/dirmenu.cpp:63
+msgid "Covers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/selmenu.cpp:69
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/selmenu.cpp:70
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/selmenu.cpp:71
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/selmenu.cpp:237
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/selmenu.cpp:343
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/selmenu.cpp:570 src/frontend/mame/ui/selmenu.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:311
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/selmenu.cpp:574
+#, c-format
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/selmenu.cpp:576
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/selmenu.cpp:581
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/selmenu.cpp:586
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/selmenu.cpp:591
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selmenu.cpp:596
+#, c-format
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selmenu.cpp:612
#, c-format
-msgid "Current %1$s Folders"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selmenu.cpp:614
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selmenu.cpp:619
+#: src/frontend/mame/ui/simpleselgame.cpp:330
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selmenu.cpp:621
+#: src/frontend/mame/ui/simpleselgame.cpp:332
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:623
+#: src/frontend/mame/ui/simpleselgame.cpp:334
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:627
+#: src/frontend/mame/ui/simpleselgame.cpp:338
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/selmenu.cpp:629
+#: src/frontend/mame/ui/simpleselgame.cpp:340
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/selmenu.cpp:631
+#: src/frontend/mame/ui/simpleselgame.cpp:342
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/selmenu.cpp:634
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/selmenu.cpp:636
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/selmenu.cpp:638
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/selmenu.cpp:640
+#: src/frontend/mame/ui/simpleselgame.cpp:351
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/selmenu.cpp:650
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/selmenu.cpp:1975
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/selmenu.cpp:1976
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/selmenu.cpp:2386 src/frontend/mame/ui/miscmenu.cpp:826
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/selmenu.cpp:2454
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/selmenu.cpp:2489
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/dirmenu.cpp:35
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/dirmenu.cpp:36
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
-#: src/frontend/mame/ui/slotopt.cpp:220
-msgid "[empty slot]"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/dirmenu.cpp:40
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/dirmenu.cpp:52
+msgid "Controls Panels"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/dirmenu.cpp:53
+msgid "Crosshairs"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Artworks"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks Preview"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "GameOver"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/dirmenu.cpp:116
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/dirmenu.cpp:167
+#, c-format
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/dirmenu.cpp:182
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/dirmenu.cpp:429
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/dirmenu.cpp:513
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/info.cpp:30
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "LAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/info.cpp:180
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/info.cpp:190
+msgid ""
+"There are known problems with this machine\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/info.cpp:195
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/info.cpp:200
+msgid "Completely unemulated features: "
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#, c-format
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#: src/frontend/mame/ui/info.cpp:267
+#, c-format
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/info.cpp:216
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/info.cpp:231
+msgid "Screen flipping in cocktail mode is not supported.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/info.cpp:233
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/info.cpp:235
+msgid ""
+"This machine was never completed. It may exhibit strange behavior or missing "
+"elements that are not bugs in the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/info.cpp:237
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/info.cpp:241
+msgid ""
+"\n"
+"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
+"complete. There is nothing you can do to fix this problem except wait for "
+"the developers to improve the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/info.cpp:243
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they requires physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/info.cpp:265
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/info.cpp:278
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/info.cpp:293
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:149
+#: src/frontend/mame/ui/info.cpp:342
msgid ""
-"The selected game is missing one or more required ROM or CHD images. Please "
-"select a different game.\n"
"\n"
-"Press any key to continue."
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:247
-#, c-format
+#: src/frontend/mame/ui/info.cpp:370
msgid ""
-"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
"\n"
-"If this is your first time using %2$s, please see the config.txt file in the "
-"docs directory for information on configuring %2$s."
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+"Video:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/info.cpp:374
+msgid "None\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/info.cpp:381
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:314
-#: src/frontend/mame/ui/selsoft.cpp:652 src/frontend/mame/ui/selsoft.cpp:659
+#: src/frontend/mame/ui/info.cpp:392
#, c-format
-msgid "%1$-.100s"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:317
-#: src/frontend/mame/ui/selmenu.cpp:618 src/frontend/mame/ui/selmenu.cpp:654
-#, c-format
-msgid "%1$s, %2$-.100s"
+#: src/frontend/mame/ui/info.cpp:392
+msgid "%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
+#: src/frontend/mame/ui/info.cpp:438
#, c-format
-msgid "Driver: %1$-.100s"
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+msgid "Screen '%1$s'"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/info.cpp:440
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/info.cpp:525
+msgid "Not supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/info.cpp:528
+msgid "Partially supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/info.cpp:536
+msgid "[empty]"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/optsmenu.cpp:193
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/optsmenu.cpp:206
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/optsmenu.cpp:207
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/optsmenu.cpp:210 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/optsmenu.cpp:213
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/optsmenu.cpp:216
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/optsmenu.cpp:228
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:337
-msgid "This driver requires images to be loaded in the following device(s): "
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
+msgid "Rewind"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1302
-#, c-format
-msgid ""
-"Are you sure you want to quit?\n"
-"\n"
-"Press ''%1$s'' to quit,\n"
-"Press ''%2$s'' to return to emulation."
+#: src/frontend/mame/ui/inputmap.cpp:53
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/inputmap.cpp:59
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
+#: src/frontend/mame/ui/inputmap.cpp:628 src/frontend/mame/ui/miscmenu.cpp:96
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/selector.cpp:116
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
+#: src/frontend/mame/ui/selector.cpp:124
#, c-format
-msgid "Overclock %1$s sound"
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/filesel.cpp:256
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/swlist.cpp:88
+msgid "[file manager]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/swlist.cpp:228
+msgid "Switch Item Ordering"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
+#: src/frontend/mame/ui/swlist.cpp:259
#, c-format
-msgid "%1$s Horiz Stretch"
+msgid "Switched Order: entries now ordered by %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "shortname"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "description"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/swlist.cpp:389
+msgid "[compatible lists]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/datmenu.cpp:80
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/datmenu.cpp:362
+msgid "Revision: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/simpleselgame.cpp:149
+msgid ""
+"The selected game is missing one or more required ROM or CHD images. Please "
+"select a different game.\n"
+"\n"
+"Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
+#: src/frontend/mame/ui/simpleselgame.cpp:241
#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+msgid ""
+"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
+"\n"
+"If this is your first time using %2$s, please see the config.txt file in the "
+"docs directory for information on configuring %2$s."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/simpleselgame.cpp:271
+#: src/frontend/mame/ui/selgame.cpp:436
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/simpleselgame.cpp:292
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/simpleselgame.cpp:294
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
+#: src/frontend/mame/ui/simpleselgame.cpp:308
+#: src/frontend/mame/ui/selsoft.cpp:564 src/frontend/mame/ui/selsoft.cpp:571
#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/simpleselgame.cpp:314
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
+#: src/frontend/mame/ui/videoopt.cpp:56
#, c-format
-msgid "Crosshair Offset %1$s"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/videoopt.cpp:208
+msgid "Backdrops"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Enabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Disabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
-#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
-#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
-#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
-#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
-#: src/frontend/mame/ui/ui.cpp:1927
-#, c-format
-msgid "%1$.3f"
+#: src/frontend/mame/ui/videoopt.cpp:212
+msgid "Overlays"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
-#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
-#, c-format
-msgid "%1$1.2f"
+#: src/frontend/mame/ui/videoopt.cpp:216
+msgid "Bezels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:220
+msgid "CPanels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "View"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cropped"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Full"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1047
+msgid "No"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
-msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1047
+msgid "Yes"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
-msgid ""
-"Cheat Comment:\n"
-"%s"
+#: src/frontend/mame/ui/filecreate.cpp:171
+msgid "New Image Name:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/filecreate.cpp:177
+msgid "Image Format:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/filecreate.cpp:183
+msgid "Create"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/filecreate.cpp:266
+msgid "Select image format"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Keyboard Mode:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Natural"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Emulated"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
+#: src/frontend/mame/ui/miscmenu.cpp:236
#, c-format
msgid ""
-"%s\n"
-" added to favorites list."
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
+#: src/frontend/mame/ui/miscmenu.cpp:238
#, c-format
msgid ""
-"%s\n"
-" removed from favorites list."
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/miscmenu.cpp:242
+#, c-format
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
+"Tickets dispensed: %1$d\n"
"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
+#: src/frontend/mame/ui/miscmenu.cpp:253
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/miscmenu.cpp:253
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
-#, c-format
-msgid "Driver: \"%1$s\" software list "
+#: src/frontend/mame/ui/miscmenu.cpp:256
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
-#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+#: src/frontend/mame/ui/miscmenu.cpp:503
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/miscmenu.cpp:601
#, c-format
-msgid "Search: %1$s_"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
-msgid "Unfiltered"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
-msgid "Available"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
-msgid "Unavailable"
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
-msgid "Working"
+#: src/frontend/mame/ui/miscmenu.cpp:627
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
-msgid "Not Working"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
-msgid "Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:655
+msgid "Export list in XML format (like -listxml)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
-msgid "Not Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:656
+msgid "Export list in XML format (like -listxml, but exclude devices)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
-msgid "Category"
+#: src/frontend/mame/ui/miscmenu.cpp:657
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
-msgid "Favorites"
+#: src/frontend/mame/ui/miscmenu.cpp:710 src/frontend/mame/ui/ui.cpp:2230
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/miscmenu.cpp:760 src/frontend/mame/ui/utils.cpp:66
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
-msgid "Not BIOS"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
-msgid "Parents"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
-msgid "Clones"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:73
-msgid "Manufacturer"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
-msgid "Year"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:75
-msgid "Save Supported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:76
-msgid "Save Unsupported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:77
-msgid "CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:78
-msgid "No CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:79
-msgid "Vertical Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:80
-msgid "Horizontal Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
-msgid "Custom Filter"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:91
-msgid "Publisher"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:92
-msgid "Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:764
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
-msgid "Partially Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:767
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
-msgid "Unsupported"
+#: src/frontend/mame/ui/miscmenu.cpp:776 src/frontend/mame/ui/mainmenu.cpp:145
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
-msgid "Release Region"
+#: src/frontend/mame/ui/miscmenu.cpp:778 src/frontend/mame/ui/mainmenu.cpp:147
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
-msgid "Device Type"
+#: src/frontend/mame/ui/miscmenu.cpp:781
+msgid "Save machine configuration"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
-msgid "Software List"
+#: src/frontend/mame/ui/miscmenu.cpp:792
+msgid "Configure machine:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
-msgid "<set up filters>"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:736
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:551 plugins/cheatfind/init.lua:619
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
-msgid "Select custom filters:"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:739
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:554 plugins/cheat/init.lua:563
+#: plugins/cheatfind/init.lua:616
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
-#, c-format
-msgid "Filter %1$u"
+#: src/frontend/mame/ui/miscmenu.cpp:909 src/frontend/mame/ui/selgame.cpp:441
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
-msgid "Remove last filter"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
-msgid "Add filter"
+#: src/frontend/mame/ui/barcode.cpp:78
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
-msgid "Select category:"
+#: src/frontend/mame/ui/barcode.cpp:119
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
-msgid "[no category INI files]"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:99
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
-msgid "[no groups in INI file]"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
-msgid "No category INI files found"
+#: src/frontend/mame/ui/mainmenu.cpp:60
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
-msgid "File"
+#: src/frontend/mame/ui/mainmenu.cpp:62
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
-msgid "No groups found in category file"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
-msgid "Group"
+#: src/frontend/mame/ui/mainmenu.cpp:68
+msgid "Dip Switches"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
-msgid "Include clones"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
+#: src/frontend/mame/ui/mainmenu.cpp:78
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/mainmenu.cpp:85
+msgid "Image Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/mainmenu.cpp:96
+msgid "Tape Control"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/mainmenu.cpp:102
+msgid "BIOS Selection"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/mainmenu.cpp:106
+msgid "Slot Devices"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
-#, c-format
-msgid "%s [internal]"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Barcode Reader"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:203 src/frontend/mame/ui/miscmenu.cpp:97
-#: src/frontend/mame/ui/inputmap.cpp:615
-msgid "Reset"
+#: src/frontend/mame/ui/mainmenu.cpp:114
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/mainmenu.cpp:118
+msgid "Keyboard Mode"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/mainmenu.cpp:121
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/mainmenu.cpp:124 src/frontend/mame/ui/submenu.cpp:101
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/mainmenu.cpp:128
+msgid "Crosshair Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/mainmenu.cpp:132 plugins/cheat/init.lua:735
+msgid "Cheat"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:762
-#: plugins/cheat/init.lua:569 plugins/cheatfind/init.lua:792
-#: plugins/cheatfind/init.lua:803
-msgid "On"
+#: src/frontend/mame/ui/mainmenu.cpp:135
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:765
-#: plugins/cheat/init.lua:572 plugins/cheat/init.lua:581
-#: plugins/cheatfind/init.lua:789 plugins/cheatfind/init.lua:800
-msgid "Off"
+#: src/frontend/mame/ui/mainmenu.cpp:139
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/mainmenu.cpp:154
+msgid "Select New Machine"
msgstr ""
#: src/frontend/mame/ui/custui.cpp:31
@@ -1377,1281 +1274,1303 @@ msgstr ""
msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/submenu.cpp:22
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/submenu.cpp:23
+msgid "Re-select last machine played"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/submenu.cpp:24
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:26
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:27
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:28
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:29
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:30
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
-#, c-format
-msgid "%s.txt saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/submenu.cpp:45
+msgid "Refresh speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/submenu.cpp:47
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/submenu.cpp:49
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
-msgid "Configure Machine"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
-#, c-format
-msgid "Romset\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
-#, c-format
-msgid "Year\t%1$s\n"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
-#, c-format
-msgid "Manufacturer\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
-#, c-format
-msgid "Driver is Clone of\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1044
-msgid "Driver is Parent\t\n"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
-msgid "Analog Controls\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Artwork Crop"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
-msgid "Keyboard Inputs\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Use Backdrops"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
-msgid "Overall\tNOT WORKING\n"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Use Overlays"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
-msgid "Overall\tUnemulated Protection\n"
+#: src/frontend/mame/ui/submenu.cpp:60
+msgid "Use Bezels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
-msgid "Overall\tWorking\n"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Use Control Panels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
-msgid "Graphics\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:62
+msgid "Use Marquees"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
-msgid "Graphics\tWrong Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
-msgid "Graphics\tImperfect Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
-msgid "Graphics\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
-msgid "Graphics\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Bilinear snapshot"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
-msgid "Sound\tNone\n"
+#: src/frontend/mame/ui/submenu.cpp:69
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
-msgid "Sound\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
-msgid "Sound\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:72
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
-msgid "Sound\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
-msgid "Capture\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
-msgid "Capture\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
-msgid "Camera\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
-msgid "Camera\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
-msgid "Microphone\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
-msgid "Microphone\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:79
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
-msgid "Controls\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
-msgid "Controls\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
-msgid "Keyboard\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Joystick saturation"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
-msgid "Keyboard\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Natural keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
-msgid "Mouse\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
-msgid "Mouse\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
-msgid "Media\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
-msgid "Media\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Lightgun Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
-msgid "Disk\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Trackball Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
-msgid "Disk\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
-msgid "Printer\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
-msgid "Printer\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
-msgid "Mag. Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:95
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
-msgid "Mag. Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:96
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
-msgid "Punch Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:97
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
-msgid "Punch Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
-msgid "Mag. Drum\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:103
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
-msgid "Mag. Drum\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
-msgid "(EP)ROM\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
-msgid "(EP)ROM\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
-msgid "Communications\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:109
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
-msgid "Communications\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:110
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
-msgid "LAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:111
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
-msgid "LAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:112
+msgid "Enforce Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
-msgid "WAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:113
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
-msgid "WAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:114
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
-msgid "Timing\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
-msgid "Timing\tImperfect\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tYes\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Select position to load from"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tNo\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tYes\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Select position to save to"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tNo\n"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:309 src/frontend/mame/ui/selsoft.cpp:211
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:314 src/frontend/mame/ui/selgame.cpp:320
+#: src/frontend/mame/ui/selsoft.cpp:216
+#, c-format
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:437
+msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:849
+#, c-format
+msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:850
+#, c-format
+msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:851
+#, c-format
+msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:855
+#, c-format
+msgid "Driver is Clone of\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:857
+msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tVertical\n"
+#: src/frontend/mame/ui/selgame.cpp:860
+msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tHorizontal\n"
+#: src/frontend/mame/ui/selgame.cpp:862
+msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:865
+msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:867
+msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
-msgid "ROM Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:869
+msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
-msgid "ROM Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:872
+msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
-msgid "Samples Audit Result\tNone Needed\n"
+#: src/frontend/mame/ui/selgame.cpp:874
+msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
-msgid "Samples Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:876
+msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
-msgid "Samples Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:878
+msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
-msgid ""
-"ROM Audit \tDisabled\n"
-"Samples Audit \tDisabled\n"
+#: src/frontend/mame/ui/selgame.cpp:880
+msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
+#: src/frontend/mame/ui/selgame.cpp:883
+msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1424
-#, c-format
-msgid "Romset: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:885
+msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
-#, c-format
-msgid "System: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:887
+msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1465
-msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
+#: src/frontend/mame/ui/selgame.cpp:889
+msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
+#: src/frontend/mame/ui/selgame.cpp:892
+msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
+#: src/frontend/mame/ui/selgame.cpp:894
+msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
+#: src/frontend/mame/ui/selgame.cpp:897
+msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
+#: src/frontend/mame/ui/selgame.cpp:899
+msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
+#: src/frontend/mame/ui/selgame.cpp:902
+msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selgame.cpp:904
+msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selgame.cpp:907
+msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/selgame.cpp:909
+msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/selgame.cpp:912
+msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/selgame.cpp:914
+msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/selgame.cpp:917
+msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/selgame.cpp:919
+msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/selgame.cpp:922
+msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/selgame.cpp:924
+msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/selgame.cpp:927
+msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/selgame.cpp:929
+msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/selgame.cpp:932
+msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/selgame.cpp:934
+msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/selgame.cpp:937
+msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/selgame.cpp:939
+msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/selgame.cpp:970
+msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/selgame.cpp:972
+msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/selgame.cpp:975
+msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/selgame.cpp:977
+msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/selgame.cpp:979
+msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/selgame.cpp:983
+msgid ""
+"ROM Audit \tDisabled\n"
+"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/selgame.cpp:1167
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/selgame.cpp:1183 src/frontend/mame/ui/selsoft.cpp:555
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/selgame.cpp:1185 src/frontend/mame/ui/selsoft.cpp:557
+#, c-format
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/selgame.cpp:1195
+#, c-format
+msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/selgame.cpp:1202
+#, c-format
+msgid "System: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/selgame.cpp:1239
+msgid ""
+"The selected machine is missing one or more required ROM or CHD images. "
+"Please select a different machine.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/selgame.cpp:1245 src/frontend/mame/ui/selsoft.cpp:462
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/utils.cpp:57 src/frontend/mame/ui/utils.cpp:81
+msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/utils.cpp:58 src/frontend/mame/ui/utils.cpp:82
+msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/utils.cpp:59 src/frontend/mame/ui/utils.cpp:83
+msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/utils.cpp:60
+msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/utils.cpp:61
+msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/utils.cpp:62
+msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:63
+msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:64
+msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:65
+msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:67
+msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:84
+msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/utils.cpp:85
+msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:70
+msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:86
+msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/utils.cpp:72
+msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/utils.cpp:73
+msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/utils.cpp:74
+msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/utils.cpp:75
+msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/utils.cpp:76
+msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/utils.cpp:77
+msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/utils.cpp:78 src/frontend/mame/ui/utils.cpp:94
+msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/utils.cpp:87
+msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/utils.cpp:88
+msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/utils.cpp:89
+msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/utils.cpp:90
+msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/utils.cpp:91
+msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:43
-#, c-format
-msgid ""
-"[This option is currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"The selected option enables the following items:\n"
+#: src/frontend/mame/ui/utils.cpp:92
+msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:44
-#, c-format
-msgid ""
-"[This option is NOT currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"If you select this option, the following items will be enabled:\n"
+#: src/frontend/mame/ui/utils.cpp:93
+msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/utils.cpp:244
+msgid "<set up filters>"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:352
+msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/utils.cpp:503
#, c-format
-msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
-msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:518
+msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %3$d.%4$06d MHz\n"
+#: src/frontend/mame/ui/utils.cpp:520
+msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:959
+msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/utils.cpp:990
+msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/utils.cpp:998
+msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:103
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1032
+msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1037
+msgid "File"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/utils.cpp:1041
+msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
-#, c-format
-msgid " %1$d×%2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1046
+msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1047
+msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:168
-#, c-format
+#: src/frontend/mame/ui/selsoft.cpp:456
msgid ""
-"* BIOS settings:\n"
-" %1$d options [default: %2$s]\n"
+"The selected software is missing one or more required files. Please select a "
+"different software.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:208 src/frontend/mame/ui/devopt.cpp:224
-#: src/frontend/mame/ui/devopt.cpp:269
+#: src/frontend/mame/ui/selsoft.cpp:549
#, c-format
-msgid " %1$s [default: %2$s]\n"
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
+#: src/frontend/mame/ui/selsoft.cpp:550
#, c-format
-msgid " %1$s\n"
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:260
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:419
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/filesel.cpp:515
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:516
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:518
+msgid "Read-write"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
-#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:519
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:520
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:117
+msgid "Cannot save over directory"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:150
+msgid ""
+"The software selected is missing one or more required ROM or CHD images. "
+"Please select a different one."
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:294
+msgid "Return to Machine"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
-#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:299 src/frontend/mame/ui/menu.cpp:301
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+#: src/frontend/mame/ui/menu.cpp:306 src/frontend/mame/ui/menu.cpp:308
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
-#, c-format
-msgid " %1$s [tag: %2$s]\n"
+#: src/frontend/mame/ui/menu.cpp:742
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
+#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:653
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+#: src/frontend/mame/ui/cheatopt.cpp:105
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/cheatopt.cpp:136
+msgid "Autofire Settings"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:581
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:582
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
+#: src/frontend/mame/ui/cheatopt.cpp:273
+msgid "Autofire Status"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
+#: src/frontend/mame/ui/cheatopt.cpp:316
+msgid "No buttons found on this machine!"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+#: src/frontend/mame/ui/cheatopt.cpp:327 src/frontend/mame/ui/cheatopt.cpp:331
+msgid "Autofire Delay"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
-msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
+#: src/frontend/mame/ui/ui.cpp:337
+msgid "This driver requires images to be loaded in the following device(s): "
msgstr ""
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
+#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
+msgid "Keyboard Emulation Status"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
+#: src/frontend/mame/ui/ui.cpp:1086
+msgid "Mode: PARTIAL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
+#: src/frontend/mame/ui/ui.cpp:1087
+msgid "UI: Enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
+#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
+msgid "**Use ScrLock to toggle**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
+#: src/frontend/mame/ui/ui.cpp:1096
+msgid "Mode: FULL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: src/frontend/mame/ui/ui.cpp:1097
+msgid "UI: Disabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
+#: src/frontend/mame/ui/ui.cpp:1249
+msgid "Autofire can't be enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
+#: src/frontend/mame/ui/ui.cpp:1302
+#, c-format
+msgid ""
+"Are you sure you want to quit?\n"
+"\n"
+"Press ''%1$s'' to quit,\n"
+"Press ''%2$s'' to return to emulation."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
+#: src/frontend/mame/ui/ui.cpp:1374
+msgid "Master Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
+#: src/frontend/mame/ui/ui.cpp:1383
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/ui.cpp:1407
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/ui.cpp:1416
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/ui.cpp:1437
+#, c-format
+msgid "%1$s Refresh Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, c-format
+msgid "%1$s Brightness"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1444
+#, c-format
+msgid "%1$s Contrast"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1446
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/ui.cpp:1450
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/ui.cpp:1452
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/ui.cpp:1454
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/ui.cpp:1456
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/ui.cpp:1475
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/ui.cpp:1477
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/ui.cpp:1479
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
-msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+#: src/frontend/mame/ui/ui.cpp:1481
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:198
-msgid ""
-"There are known problems with this machine\n"
-"\n"
+#: src/frontend/mame/ui/ui.cpp:1493
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/ui.cpp:1494
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/ui.cpp:1495
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
+#: src/frontend/mame/ui/ui.cpp:1496
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#: src/frontend/mame/ui/info.cpp:275
+#: src/frontend/mame/ui/ui.cpp:1511
#, c-format
-msgid ", %s"
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
+#: src/frontend/mame/ui/ui.cpp:1513
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:243
-msgid ""
-"This machine was never completed. It may exhibit strange behavior or missing "
-"elements that are not bugs in the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1601
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:245
-msgid ""
-"This machine has no sound hardware, MAME will produce no sounds, this is "
-"expected behaviour.\n"
+#: src/frontend/mame/ui/ui.cpp:1645
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:249
-msgid ""
-"\n"
-"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
-"complete. There is nothing you can do to fix this problem except wait for "
-"the developers to improve the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1661
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:251
-msgid ""
-"\n"
-"Elements of this machine cannot be emulated as they requires physical "
-"interaction or consist of mechanical devices. It is not possible to fully "
-"experience this machine.\n"
+#: src/frontend/mame/ui/ui.cpp:1685
+#, c-format
+msgid "%1$.3ffps"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
+#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
+#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
+#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
+#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
+#: src/frontend/mame/ui/ui.cpp:1927
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
+#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/ui.cpp:2005
#, c-format
-msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/ui.cpp:2226
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " COLORS"
+msgstr ""
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:39
#, c-format
-msgid "%1$s: %2$s\n"
+msgid ""
+"[This option is currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"The selected option enables the following items:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+#: src/frontend/mame/ui/devopt.cpp:40
+#, c-format
+msgid ""
+"[This option is NOT currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"If you select this option, the following items will be enabled:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:48
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
#, c-format
-msgid "Screen '%1$s'"
+msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
+msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:85
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:90
+#, c-format
+msgid " Screen '%1$s': Vector\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:99
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:100
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:113
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:133
+#, c-format
+msgid " %1$d×%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:164
+#, c-format
+msgid ""
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:204 src/frontend/mame/ui/devopt.cpp:220
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
+#: src/frontend/mame/ui/devopt.cpp:209 src/frontend/mame/ui/devopt.cpp:225
#, c-format
-msgid "Software is clone of: %1$-.100s"
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: src/frontend/mame/ui/devopt.cpp:230
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: src/frontend/mame/ui/devopt.cpp:232
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: src/frontend/mame/ui/devopt.cpp:234
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: src/frontend/mame/ui/devopt.cpp:236
+#, c-format
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
+#: src/frontend/mame/ui/devopt.cpp:238
#, c-format
-msgid "romset: %1$-.100s"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
+#: src/frontend/mame/ui/devopt.cpp:240
#, c-format
-msgid "Driver is clone of: %1$-.100s"
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: src/frontend/mame/ui/devopt.cpp:242
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
+#: src/frontend/mame/ui/devopt.cpp:244
#, c-format
-msgid "%1$s %2$s"
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: src/frontend/mame/ui/devopt.cpp:246
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: src/frontend/mame/ui/devopt.cpp:248
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: src/frontend/mame/ui/devopt.cpp:257
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: src/frontend/mame/ui/devopt.cpp:263
+msgid "* Slot Options:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:270
+msgid "[None]\n"
msgstr ""
#: plugins/timer/init.lua:94
@@ -2670,51 +2589,51 @@ msgstr ""
msgid "Timer"
msgstr ""
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:510
msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheat/init.lua:534
+#: plugins/cheat/init.lua:516
msgid "Press button for hotkey or wait to clear"
msgstr ""
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:528
msgid "None"
msgstr ""
-#: plugins/cheat/init.lua:551
+#: plugins/cheat/init.lua:533
msgid "Done"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:547 plugins/cheat/init.lua:561
msgid "Set"
msgstr ""
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:580
msgid "Set hotkeys"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:720
#, lua-format
msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:723 plugins/cheat/init.lua:781
#, lua-format
msgid "Activated: %s"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:785
#, lua-format
msgid "Enabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:790
#, lua-format
msgid "Disabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "%s added"
msgstr ""
@@ -2763,303 +2682,218 @@ msgstr ""
msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:404
+#: plugins/cheatfind/init.lua:373
msgid "Save Cheat"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Default"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Custom"
msgstr ""
-#: plugins/cheatfind/init.lua:408
+#: plugins/cheatfind/init.lua:377
msgid "Cheat Name"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/cheatfind/init.lua:383 plugins/cheatfind/init.lua:748
#, lua-format
msgid "Default name is %s"
msgstr ""
-#: plugins/cheatfind/init.lua:422
+#: plugins/cheatfind/init.lua:391
msgid "Player"
msgstr ""
-#: plugins/cheatfind/init.lua:427
+#: plugins/cheatfind/init.lua:396
msgid "Type"
msgstr ""
-#: plugins/cheatfind/init.lua:433
+#: plugins/cheatfind/init.lua:402
msgid "Save"
msgstr ""
-#: plugins/cheatfind/init.lua:462
+#: plugins/cheatfind/init.lua:429
#, lua-format
msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:472
+#: plugins/cheatfind/init.lua:437
msgid "Cheat added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:442
msgid ""
"Unable to write file\n"
"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/cheatfind/init.lua:486
+#: plugins/cheatfind/init.lua:451
msgid "Cancel"
msgstr ""
-#: plugins/cheatfind/init.lua:491
+#: plugins/cheatfind/init.lua:456
msgid "CPU or RAM"
msgstr ""
-#: plugins/cheatfind/init.lua:495
+#: plugins/cheatfind/init.lua:460
msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:479
+msgid "Data cleared and current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:487
+msgid "Start new search"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:497
+msgid "Current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:504
+msgid "Save current -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
+#: plugins/cheatfind/init.lua:536
#, lua-format
-msgid "Memory State saved to Slot %d"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:543
+msgid "Compare"
msgstr ""
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
+#: plugins/cheatfind/init.lua:546
+msgid "Left operand"
+msgstr ""
+
+#: plugins/cheatfind/init.lua:549
+msgid "Current"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:554
+msgid "Operator"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:561
+msgid "Left less than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:563
+msgid "Left greater than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:676
+#: plugins/cheatfind/init.lua:565
msgid "Left equal to right"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:567
+msgid "Left not equal to right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:680
+#: plugins/cheatfind/init.lua:569
msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:682
+#: plugins/cheatfind/init.lua:571
msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:684
+#: plugins/cheatfind/init.lua:573
msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:686
+#: plugins/cheatfind/init.lua:575
msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:688
+#: plugins/cheatfind/init.lua:577
msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:690
+#: plugins/cheatfind/init.lua:579
msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/cheatfind/init.lua:590
+msgid "Right operand"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/cheatfind/init.lua:598
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:719
+#: plugins/cheatfind/init.lua:602
msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:725
+#: plugins/cheatfind/init.lua:608
msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:738
-msgid ""
-"Use this if you want to poke the Slot 1 value (eg. You started with "
-"something but lost it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:740
-msgid ""
-"Use this if you want to poke the Last Slot value (eg. You started without an "
-"item but finally got it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:816
+#: plugins/cheatfind/init.lua:632
msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:820
+#: plugins/cheatfind/init.lua:636
msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:823
+#: plugins/cheatfind/init.lua:639
msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheatfind/init.lua:690
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Test cheat at addr %08X"
msgstr ""
-#: plugins/cheatfind/init.lua:974
+#: plugins/cheatfind/init.lua:722
msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
+#: plugins/cheatfind/init.lua:788
msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
+#: plugins/cheatfind/init.lua:806
msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
+#: plugins/cheatfind/init.lua:816
msgid "Cheat Finder"
msgstr ""
-#: plugins/portname/init.lua:103
+#: plugins/portname/init.lua:69
msgid "Save input names to file"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
+#: plugins/portname/init.lua:100 plugins/portname/init.lua:105
+#: plugins/portname/init.lua:121
msgid "Failed to save input name file"
msgstr ""
-#: plugins/portname/init.lua:167
+#: plugins/portname/init.lua:133
#, lua-format
msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/portname/init.lua:172
+#: plugins/portname/init.lua:138
msgid "Input ports"
msgstr ""
diff --git a/language/Hindi/strings.po b/language/Hindi/strings.po
index 4ac4d3bbaf4..68e4eee7e13 100644
--- a/language/Hindi/strings.po
+++ b/language/Hindi/strings.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MAME\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-03-17 13:37+1100\n"
+"POT-Creation-Date: 2018-04-28 15:32+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -16,1144 +16,1041 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
+#: src/frontend/mame/ui/auditmenu.cpp:96
#, c-format
-msgid "Screen #%d"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Enabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Disabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
-msgid "Marquees"
+#: src/frontend/mame/ui/auditmenu.cpp:99
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/auditmenu.cpp:104
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/auditmenu.cpp:130
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/auditmenu.cpp:142
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/selmenu.cpp:49 src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/selmenu.cpp:50 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/selmenu.cpp:51
+msgid "Control Panels"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/selmenu.cpp:52 src/frontend/mame/ui/dirmenu.cpp:50
+msgid "PCBs"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/selmenu.cpp:53 src/frontend/mame/ui/dirmenu.cpp:47
+msgid "Flyers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/selmenu.cpp:54 src/frontend/mame/ui/dirmenu.cpp:48
+msgid "Titles"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/selmenu.cpp:55 src/frontend/mame/ui/dirmenu.cpp:49
+msgid "Ends"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/selmenu.cpp:56
+msgid "Artwork Preview"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/selmenu.cpp:57 src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Bosses"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/selmenu.cpp:58 src/frontend/mame/ui/dirmenu.cpp:60
+msgid "Logos"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/selmenu.cpp:59 src/frontend/mame/ui/dirmenu.cpp:62
+msgid "Versus"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/selmenu.cpp:60
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/selmenu.cpp:61 src/frontend/mame/ui/dirmenu.cpp:59
+msgid "HowTo"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/selmenu.cpp:62 src/frontend/mame/ui/dirmenu.cpp:61
+msgid "Scores"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/selmenu.cpp:63 src/frontend/mame/ui/dirmenu.cpp:57
+msgid "Select"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/selmenu.cpp:64 src/frontend/mame/ui/dirmenu.cpp:51
+#: src/frontend/mame/ui/videoopt.cpp:224
+msgid "Marquees"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/selmenu.cpp:65 src/frontend/mame/ui/dirmenu.cpp:63
+msgid "Covers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/selmenu.cpp:69
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/selmenu.cpp:70
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/selmenu.cpp:71
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/selmenu.cpp:237
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/selmenu.cpp:343
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/selmenu.cpp:570 src/frontend/mame/ui/selmenu.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:311
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/selmenu.cpp:574
+#, c-format
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/selmenu.cpp:576
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/selmenu.cpp:581
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/selmenu.cpp:586
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/selmenu.cpp:591
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selmenu.cpp:596
+#, c-format
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selmenu.cpp:612
#, c-format
-msgid "Current %1$s Folders"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selmenu.cpp:614
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selmenu.cpp:619
+#: src/frontend/mame/ui/simpleselgame.cpp:330
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selmenu.cpp:621
+#: src/frontend/mame/ui/simpleselgame.cpp:332
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:623
+#: src/frontend/mame/ui/simpleselgame.cpp:334
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:627
+#: src/frontend/mame/ui/simpleselgame.cpp:338
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/selmenu.cpp:629
+#: src/frontend/mame/ui/simpleselgame.cpp:340
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/selmenu.cpp:631
+#: src/frontend/mame/ui/simpleselgame.cpp:342
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/selmenu.cpp:634
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/selmenu.cpp:636
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/selmenu.cpp:638
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/selmenu.cpp:640
+#: src/frontend/mame/ui/simpleselgame.cpp:351
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/selmenu.cpp:650
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/selmenu.cpp:1975
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/selmenu.cpp:1976
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/selmenu.cpp:2386 src/frontend/mame/ui/miscmenu.cpp:826
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/selmenu.cpp:2454
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/selmenu.cpp:2489
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/dirmenu.cpp:35
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/dirmenu.cpp:36
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
-#: src/frontend/mame/ui/slotopt.cpp:220
-msgid "[empty slot]"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/dirmenu.cpp:40
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/dirmenu.cpp:52
+msgid "Controls Panels"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/dirmenu.cpp:53
+msgid "Crosshairs"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Artworks"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks Preview"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "GameOver"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/dirmenu.cpp:116
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/dirmenu.cpp:167
+#, c-format
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/dirmenu.cpp:182
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/dirmenu.cpp:429
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/dirmenu.cpp:513
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/info.cpp:30
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "LAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/info.cpp:180
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/info.cpp:190
+msgid ""
+"There are known problems with this machine\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/info.cpp:195
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/info.cpp:200
+msgid "Completely unemulated features: "
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#, c-format
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#: src/frontend/mame/ui/info.cpp:267
+#, c-format
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/info.cpp:216
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/info.cpp:231
+msgid "Screen flipping in cocktail mode is not supported.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/info.cpp:233
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/info.cpp:235
+msgid ""
+"This machine was never completed. It may exhibit strange behavior or missing "
+"elements that are not bugs in the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/info.cpp:237
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/info.cpp:241
+msgid ""
+"\n"
+"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
+"complete. There is nothing you can do to fix this problem except wait for "
+"the developers to improve the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/info.cpp:243
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they requires physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/info.cpp:265
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/info.cpp:278
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/info.cpp:293
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:149
+#: src/frontend/mame/ui/info.cpp:342
msgid ""
-"The selected game is missing one or more required ROM or CHD images. Please "
-"select a different game.\n"
"\n"
-"Press any key to continue."
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:247
-#, c-format
+#: src/frontend/mame/ui/info.cpp:370
msgid ""
-"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
"\n"
-"If this is your first time using %2$s, please see the config.txt file in the "
-"docs directory for information on configuring %2$s."
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+"Video:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/info.cpp:374
+msgid "None\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/info.cpp:381
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:314
-#: src/frontend/mame/ui/selsoft.cpp:652 src/frontend/mame/ui/selsoft.cpp:659
+#: src/frontend/mame/ui/info.cpp:392
#, c-format
-msgid "%1$-.100s"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:317
-#: src/frontend/mame/ui/selmenu.cpp:618 src/frontend/mame/ui/selmenu.cpp:654
-#, c-format
-msgid "%1$s, %2$-.100s"
+#: src/frontend/mame/ui/info.cpp:392
+msgid "%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
+#: src/frontend/mame/ui/info.cpp:438
#, c-format
-msgid "Driver: %1$-.100s"
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+msgid "Screen '%1$s'"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/info.cpp:440
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/info.cpp:525
+msgid "Not supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/info.cpp:528
+msgid "Partially supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/info.cpp:536
+msgid "[empty]"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/optsmenu.cpp:193
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/optsmenu.cpp:206
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/optsmenu.cpp:207
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/optsmenu.cpp:210 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/optsmenu.cpp:213
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/optsmenu.cpp:216
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/optsmenu.cpp:228
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:337
-msgid "This driver requires images to be loaded in the following device(s): "
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
+msgid "Rewind"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1302
-#, c-format
-msgid ""
-"Are you sure you want to quit?\n"
-"\n"
-"Press ''%1$s'' to quit,\n"
-"Press ''%2$s'' to return to emulation."
+#: src/frontend/mame/ui/inputmap.cpp:53
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/inputmap.cpp:59
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
+#: src/frontend/mame/ui/inputmap.cpp:628 src/frontend/mame/ui/miscmenu.cpp:96
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/selector.cpp:116
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
+#: src/frontend/mame/ui/selector.cpp:124
#, c-format
-msgid "Overclock %1$s sound"
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/filesel.cpp:256
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/swlist.cpp:88
+msgid "[file manager]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/swlist.cpp:228
+msgid "Switch Item Ordering"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
+#: src/frontend/mame/ui/swlist.cpp:259
#, c-format
-msgid "%1$s Horiz Stretch"
+msgid "Switched Order: entries now ordered by %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "shortname"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "description"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/swlist.cpp:389
+msgid "[compatible lists]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/datmenu.cpp:80
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/datmenu.cpp:362
+msgid "Revision: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/simpleselgame.cpp:149
+msgid ""
+"The selected game is missing one or more required ROM or CHD images. Please "
+"select a different game.\n"
+"\n"
+"Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
+#: src/frontend/mame/ui/simpleselgame.cpp:241
#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+msgid ""
+"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
+"\n"
+"If this is your first time using %2$s, please see the config.txt file in the "
+"docs directory for information on configuring %2$s."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/simpleselgame.cpp:271
+#: src/frontend/mame/ui/selgame.cpp:436
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/simpleselgame.cpp:292
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/simpleselgame.cpp:294
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
+#: src/frontend/mame/ui/simpleselgame.cpp:308
+#: src/frontend/mame/ui/selsoft.cpp:564 src/frontend/mame/ui/selsoft.cpp:571
#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/simpleselgame.cpp:314
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
+#: src/frontend/mame/ui/videoopt.cpp:56
#, c-format
-msgid "Crosshair Offset %1$s"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/videoopt.cpp:208
+msgid "Backdrops"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Enabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Disabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
-#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
-#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
-#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
-#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
-#: src/frontend/mame/ui/ui.cpp:1927
-#, c-format
-msgid "%1$.3f"
+#: src/frontend/mame/ui/videoopt.cpp:212
+msgid "Overlays"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
-#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
-#, c-format
-msgid "%1$1.2f"
+#: src/frontend/mame/ui/videoopt.cpp:216
+msgid "Bezels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:220
+msgid "CPanels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "View"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cropped"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Full"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1047
+msgid "No"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
-msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1047
+msgid "Yes"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
-msgid ""
-"Cheat Comment:\n"
-"%s"
+#: src/frontend/mame/ui/filecreate.cpp:171
+msgid "New Image Name:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/filecreate.cpp:177
+msgid "Image Format:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/filecreate.cpp:183
+msgid "Create"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/filecreate.cpp:266
+msgid "Select image format"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Keyboard Mode:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Natural"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Emulated"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
+#: src/frontend/mame/ui/miscmenu.cpp:236
#, c-format
msgid ""
-"%s\n"
-" added to favorites list."
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
+#: src/frontend/mame/ui/miscmenu.cpp:238
#, c-format
msgid ""
-"%s\n"
-" removed from favorites list."
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/miscmenu.cpp:242
+#, c-format
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
+"Tickets dispensed: %1$d\n"
"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
+#: src/frontend/mame/ui/miscmenu.cpp:253
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/miscmenu.cpp:253
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
-#, c-format
-msgid "Driver: \"%1$s\" software list "
+#: src/frontend/mame/ui/miscmenu.cpp:256
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
-#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+#: src/frontend/mame/ui/miscmenu.cpp:503
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/miscmenu.cpp:601
#, c-format
-msgid "Search: %1$s_"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
-msgid "Unfiltered"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
-msgid "Available"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
-msgid "Unavailable"
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
-msgid "Working"
+#: src/frontend/mame/ui/miscmenu.cpp:627
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
-msgid "Not Working"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
-msgid "Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:655
+msgid "Export list in XML format (like -listxml)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
-msgid "Not Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:656
+msgid "Export list in XML format (like -listxml, but exclude devices)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
-msgid "Category"
+#: src/frontend/mame/ui/miscmenu.cpp:657
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
-msgid "Favorites"
+#: src/frontend/mame/ui/miscmenu.cpp:710 src/frontend/mame/ui/ui.cpp:2230
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/miscmenu.cpp:760 src/frontend/mame/ui/utils.cpp:66
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
-msgid "Not BIOS"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
-msgid "Parents"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
-msgid "Clones"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:73
-msgid "Manufacturer"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
-msgid "Year"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:75
-msgid "Save Supported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:76
-msgid "Save Unsupported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:77
-msgid "CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:78
-msgid "No CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:79
-msgid "Vertical Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:80
-msgid "Horizontal Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
-msgid "Custom Filter"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:91
-msgid "Publisher"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:92
-msgid "Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:764
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
-msgid "Partially Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:767
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
-msgid "Unsupported"
+#: src/frontend/mame/ui/miscmenu.cpp:776 src/frontend/mame/ui/mainmenu.cpp:145
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
-msgid "Release Region"
+#: src/frontend/mame/ui/miscmenu.cpp:778 src/frontend/mame/ui/mainmenu.cpp:147
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
-msgid "Device Type"
+#: src/frontend/mame/ui/miscmenu.cpp:781
+msgid "Save machine configuration"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
-msgid "Software List"
+#: src/frontend/mame/ui/miscmenu.cpp:792
+msgid "Configure machine:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
-msgid "<set up filters>"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:736
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:551 plugins/cheatfind/init.lua:619
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
-msgid "Select custom filters:"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:739
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:554 plugins/cheat/init.lua:563
+#: plugins/cheatfind/init.lua:616
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
-#, c-format
-msgid "Filter %1$u"
+#: src/frontend/mame/ui/miscmenu.cpp:909 src/frontend/mame/ui/selgame.cpp:441
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
-msgid "Remove last filter"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
-msgid "Add filter"
+#: src/frontend/mame/ui/barcode.cpp:78
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
-msgid "Select category:"
+#: src/frontend/mame/ui/barcode.cpp:119
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
-msgid "[no category INI files]"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:99
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
-msgid "[no groups in INI file]"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
-msgid "No category INI files found"
+#: src/frontend/mame/ui/mainmenu.cpp:60
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
-msgid "File"
+#: src/frontend/mame/ui/mainmenu.cpp:62
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
-msgid "No groups found in category file"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
-msgid "Group"
+#: src/frontend/mame/ui/mainmenu.cpp:68
+msgid "Dip Switches"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
-msgid "Include clones"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
+#: src/frontend/mame/ui/mainmenu.cpp:78
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/mainmenu.cpp:85
+msgid "Image Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/mainmenu.cpp:96
+msgid "Tape Control"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/mainmenu.cpp:102
+msgid "BIOS Selection"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/mainmenu.cpp:106
+msgid "Slot Devices"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
-#, c-format
-msgid "%s [internal]"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Barcode Reader"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:203 src/frontend/mame/ui/miscmenu.cpp:97
-#: src/frontend/mame/ui/inputmap.cpp:615
-msgid "Reset"
+#: src/frontend/mame/ui/mainmenu.cpp:114
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/mainmenu.cpp:118
+msgid "Keyboard Mode"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/mainmenu.cpp:121
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/mainmenu.cpp:124 src/frontend/mame/ui/submenu.cpp:101
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/mainmenu.cpp:128
+msgid "Crosshair Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/mainmenu.cpp:132 plugins/cheat/init.lua:735
+msgid "Cheat"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:762
-#: plugins/cheat/init.lua:569 plugins/cheatfind/init.lua:792
-#: plugins/cheatfind/init.lua:803
-msgid "On"
+#: src/frontend/mame/ui/mainmenu.cpp:135
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:765
-#: plugins/cheat/init.lua:572 plugins/cheat/init.lua:581
-#: plugins/cheatfind/init.lua:789 plugins/cheatfind/init.lua:800
-msgid "Off"
+#: src/frontend/mame/ui/mainmenu.cpp:139
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/mainmenu.cpp:154
+msgid "Select New Machine"
msgstr ""
#: src/frontend/mame/ui/custui.cpp:31
@@ -1376,1281 +1273,1303 @@ msgstr ""
msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/submenu.cpp:22
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/submenu.cpp:23
+msgid "Re-select last machine played"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/submenu.cpp:24
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:26
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:27
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:28
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:29
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:30
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
-#, c-format
-msgid "%s.txt saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/submenu.cpp:45
+msgid "Refresh speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/submenu.cpp:47
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/submenu.cpp:49
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
-msgid "Configure Machine"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
-#, c-format
-msgid "Romset\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
-#, c-format
-msgid "Year\t%1$s\n"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
-#, c-format
-msgid "Manufacturer\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
-#, c-format
-msgid "Driver is Clone of\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1044
-msgid "Driver is Parent\t\n"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
-msgid "Analog Controls\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Artwork Crop"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
-msgid "Keyboard Inputs\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Use Backdrops"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
-msgid "Overall\tNOT WORKING\n"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Use Overlays"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
-msgid "Overall\tUnemulated Protection\n"
+#: src/frontend/mame/ui/submenu.cpp:60
+msgid "Use Bezels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
-msgid "Overall\tWorking\n"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Use Control Panels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
-msgid "Graphics\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:62
+msgid "Use Marquees"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
-msgid "Graphics\tWrong Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
-msgid "Graphics\tImperfect Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
-msgid "Graphics\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
-msgid "Graphics\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Bilinear snapshot"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
-msgid "Sound\tNone\n"
+#: src/frontend/mame/ui/submenu.cpp:69
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
-msgid "Sound\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
-msgid "Sound\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:72
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
-msgid "Sound\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
-msgid "Capture\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
-msgid "Capture\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
-msgid "Camera\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
-msgid "Camera\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
-msgid "Microphone\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
-msgid "Microphone\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:79
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
-msgid "Controls\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
-msgid "Controls\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
-msgid "Keyboard\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Joystick saturation"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
-msgid "Keyboard\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Natural keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
-msgid "Mouse\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
-msgid "Mouse\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
-msgid "Media\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
-msgid "Media\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Lightgun Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
-msgid "Disk\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Trackball Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
-msgid "Disk\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
-msgid "Printer\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
-msgid "Printer\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
-msgid "Mag. Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:95
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
-msgid "Mag. Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:96
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
-msgid "Punch Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:97
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
-msgid "Punch Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
-msgid "Mag. Drum\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:103
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
-msgid "Mag. Drum\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
-msgid "(EP)ROM\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
-msgid "(EP)ROM\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
-msgid "Communications\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:109
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
-msgid "Communications\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:110
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
-msgid "LAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:111
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
-msgid "LAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:112
+msgid "Enforce Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
-msgid "WAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:113
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
-msgid "WAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:114
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
-msgid "Timing\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
-msgid "Timing\tImperfect\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tYes\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Select position to load from"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tNo\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tYes\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Select position to save to"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tNo\n"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:309 src/frontend/mame/ui/selsoft.cpp:211
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:314 src/frontend/mame/ui/selgame.cpp:320
+#: src/frontend/mame/ui/selsoft.cpp:216
+#, c-format
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:437
+msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:849
+#, c-format
+msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:850
+#, c-format
+msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:851
+#, c-format
+msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:855
+#, c-format
+msgid "Driver is Clone of\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:857
+msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tVertical\n"
+#: src/frontend/mame/ui/selgame.cpp:860
+msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tHorizontal\n"
+#: src/frontend/mame/ui/selgame.cpp:862
+msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:865
+msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:867
+msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
-msgid "ROM Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:869
+msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
-msgid "ROM Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:872
+msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
-msgid "Samples Audit Result\tNone Needed\n"
+#: src/frontend/mame/ui/selgame.cpp:874
+msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
-msgid "Samples Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:876
+msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
-msgid "Samples Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:878
+msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
-msgid ""
-"ROM Audit \tDisabled\n"
-"Samples Audit \tDisabled\n"
+#: src/frontend/mame/ui/selgame.cpp:880
+msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
+#: src/frontend/mame/ui/selgame.cpp:883
+msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1424
-#, c-format
-msgid "Romset: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:885
+msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
-#, c-format
-msgid "System: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:887
+msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1465
-msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
+#: src/frontend/mame/ui/selgame.cpp:889
+msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
+#: src/frontend/mame/ui/selgame.cpp:892
+msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
+#: src/frontend/mame/ui/selgame.cpp:894
+msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
+#: src/frontend/mame/ui/selgame.cpp:897
+msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
+#: src/frontend/mame/ui/selgame.cpp:899
+msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
+#: src/frontend/mame/ui/selgame.cpp:902
+msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selgame.cpp:904
+msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selgame.cpp:907
+msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/selgame.cpp:909
+msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/selgame.cpp:912
+msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/selgame.cpp:914
+msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/selgame.cpp:917
+msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/selgame.cpp:919
+msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/selgame.cpp:922
+msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/selgame.cpp:924
+msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/selgame.cpp:927
+msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/selgame.cpp:929
+msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/selgame.cpp:932
+msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/selgame.cpp:934
+msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/selgame.cpp:937
+msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/selgame.cpp:939
+msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/selgame.cpp:970
+msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/selgame.cpp:972
+msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/selgame.cpp:975
+msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/selgame.cpp:977
+msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/selgame.cpp:979
+msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/selgame.cpp:983
+msgid ""
+"ROM Audit \tDisabled\n"
+"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/selgame.cpp:1167
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/selgame.cpp:1183 src/frontend/mame/ui/selsoft.cpp:555
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/selgame.cpp:1185 src/frontend/mame/ui/selsoft.cpp:557
+#, c-format
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/selgame.cpp:1195
+#, c-format
+msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/selgame.cpp:1202
+#, c-format
+msgid "System: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/selgame.cpp:1239
+msgid ""
+"The selected machine is missing one or more required ROM or CHD images. "
+"Please select a different machine.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/selgame.cpp:1245 src/frontend/mame/ui/selsoft.cpp:462
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/utils.cpp:57 src/frontend/mame/ui/utils.cpp:81
+msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/utils.cpp:58 src/frontend/mame/ui/utils.cpp:82
+msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/utils.cpp:59 src/frontend/mame/ui/utils.cpp:83
+msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/utils.cpp:60
+msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/utils.cpp:61
+msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/utils.cpp:62
+msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:63
+msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:64
+msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:65
+msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:67
+msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:84
+msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/utils.cpp:85
+msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:70
+msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:86
+msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/utils.cpp:72
+msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/utils.cpp:73
+msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/utils.cpp:74
+msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/utils.cpp:75
+msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/utils.cpp:76
+msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/utils.cpp:77
+msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/utils.cpp:78 src/frontend/mame/ui/utils.cpp:94
+msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/utils.cpp:87
+msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/utils.cpp:88
+msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/utils.cpp:89
+msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/utils.cpp:90
+msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/utils.cpp:91
+msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:43
-#, c-format
-msgid ""
-"[This option is currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"The selected option enables the following items:\n"
+#: src/frontend/mame/ui/utils.cpp:92
+msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:44
-#, c-format
-msgid ""
-"[This option is NOT currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"If you select this option, the following items will be enabled:\n"
+#: src/frontend/mame/ui/utils.cpp:93
+msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/utils.cpp:244
+msgid "<set up filters>"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/utils.cpp:352
+msgid "Select custom filters:"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:503
#, c-format
-msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
-msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:518
+msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %3$d.%4$06d MHz\n"
+#: src/frontend/mame/ui/utils.cpp:520
+msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:959
+msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/utils.cpp:990
+msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/utils.cpp:998
+msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:103
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1032
+msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1037
+msgid "File"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/utils.cpp:1041
+msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
-#, c-format
-msgid " %1$d×%2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1046
+msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1047
+msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:168
-#, c-format
+#: src/frontend/mame/ui/selsoft.cpp:456
msgid ""
-"* BIOS settings:\n"
-" %1$d options [default: %2$s]\n"
+"The selected software is missing one or more required files. Please select a "
+"different software.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:208 src/frontend/mame/ui/devopt.cpp:224
-#: src/frontend/mame/ui/devopt.cpp:269
+#: src/frontend/mame/ui/selsoft.cpp:549
#, c-format
-msgid " %1$s [default: %2$s]\n"
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
+#: src/frontend/mame/ui/selsoft.cpp:550
#, c-format
-msgid " %1$s\n"
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:260
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:419
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/filesel.cpp:515
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:516
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:518
+msgid "Read-write"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
-#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:519
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:520
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:117
+msgid "Cannot save over directory"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:150
+msgid ""
+"The software selected is missing one or more required ROM or CHD images. "
+"Please select a different one."
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:294
+msgid "Return to Machine"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
-#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:299 src/frontend/mame/ui/menu.cpp:301
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+#: src/frontend/mame/ui/menu.cpp:306 src/frontend/mame/ui/menu.cpp:308
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
-#, c-format
-msgid " %1$s [tag: %2$s]\n"
+#: src/frontend/mame/ui/menu.cpp:742
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
+#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:653
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+#: src/frontend/mame/ui/cheatopt.cpp:105
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/cheatopt.cpp:136
+msgid "Autofire Settings"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:581
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:582
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
+#: src/frontend/mame/ui/cheatopt.cpp:273
+msgid "Autofire Status"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
+#: src/frontend/mame/ui/cheatopt.cpp:316
+msgid "No buttons found on this machine!"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+#: src/frontend/mame/ui/cheatopt.cpp:327 src/frontend/mame/ui/cheatopt.cpp:331
+msgid "Autofire Delay"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
-msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
+#: src/frontend/mame/ui/ui.cpp:337
+msgid "This driver requires images to be loaded in the following device(s): "
msgstr ""
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
+#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
+msgid "Keyboard Emulation Status"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
+#: src/frontend/mame/ui/ui.cpp:1086
+msgid "Mode: PARTIAL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
+#: src/frontend/mame/ui/ui.cpp:1087
+msgid "UI: Enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
+#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
+msgid "**Use ScrLock to toggle**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
+#: src/frontend/mame/ui/ui.cpp:1096
+msgid "Mode: FULL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: src/frontend/mame/ui/ui.cpp:1097
+msgid "UI: Disabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
+#: src/frontend/mame/ui/ui.cpp:1249
+msgid "Autofire can't be enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
+#: src/frontend/mame/ui/ui.cpp:1302
+#, c-format
+msgid ""
+"Are you sure you want to quit?\n"
+"\n"
+"Press ''%1$s'' to quit,\n"
+"Press ''%2$s'' to return to emulation."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
+#: src/frontend/mame/ui/ui.cpp:1374
+msgid "Master Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
+#: src/frontend/mame/ui/ui.cpp:1383
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/ui.cpp:1407
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/ui.cpp:1416
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/ui.cpp:1437
+#, c-format
+msgid "%1$s Refresh Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, c-format
+msgid "%1$s Brightness"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1444
+#, c-format
+msgid "%1$s Contrast"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1446
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/ui.cpp:1450
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/ui.cpp:1452
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/ui.cpp:1454
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/ui.cpp:1456
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/ui.cpp:1475
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/ui.cpp:1477
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/ui.cpp:1479
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
-msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+#: src/frontend/mame/ui/ui.cpp:1481
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:198
-msgid ""
-"There are known problems with this machine\n"
-"\n"
+#: src/frontend/mame/ui/ui.cpp:1493
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/ui.cpp:1494
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/ui.cpp:1495
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
+#: src/frontend/mame/ui/ui.cpp:1496
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#: src/frontend/mame/ui/info.cpp:275
+#: src/frontend/mame/ui/ui.cpp:1511
#, c-format
-msgid ", %s"
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
+#: src/frontend/mame/ui/ui.cpp:1513
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:243
-msgid ""
-"This machine was never completed. It may exhibit strange behavior or missing "
-"elements that are not bugs in the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1601
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:245
-msgid ""
-"This machine has no sound hardware, MAME will produce no sounds, this is "
-"expected behaviour.\n"
+#: src/frontend/mame/ui/ui.cpp:1645
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:249
-msgid ""
-"\n"
-"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
-"complete. There is nothing you can do to fix this problem except wait for "
-"the developers to improve the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1661
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:251
-msgid ""
-"\n"
-"Elements of this machine cannot be emulated as they requires physical "
-"interaction or consist of mechanical devices. It is not possible to fully "
-"experience this machine.\n"
+#: src/frontend/mame/ui/ui.cpp:1685
+#, c-format
+msgid "%1$.3ffps"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
+#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
+#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
+#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
+#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
+#: src/frontend/mame/ui/ui.cpp:1927
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
+#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/ui.cpp:2005
#, c-format
-msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/ui.cpp:2226
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " COLORS"
+msgstr ""
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:39
#, c-format
-msgid "%1$s: %2$s\n"
+msgid ""
+"[This option is currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"The selected option enables the following items:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+#: src/frontend/mame/ui/devopt.cpp:40
+#, c-format
+msgid ""
+"[This option is NOT currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %3$s\n"
+"\n"
+"If you select this option, the following items will be enabled:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:48
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
#, c-format
-msgid "Screen '%1$s'"
+msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
+msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:85
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:90
+#, c-format
+msgid " Screen '%1$s': Vector\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:99
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:100
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:113
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:133
+#, c-format
+msgid " %1$d×%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:164
+#, c-format
+msgid ""
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:204 src/frontend/mame/ui/devopt.cpp:220
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
+#: src/frontend/mame/ui/devopt.cpp:209 src/frontend/mame/ui/devopt.cpp:225
#, c-format
-msgid "Software is clone of: %1$-.100s"
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: src/frontend/mame/ui/devopt.cpp:230
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: src/frontend/mame/ui/devopt.cpp:232
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: src/frontend/mame/ui/devopt.cpp:234
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: src/frontend/mame/ui/devopt.cpp:236
+#, c-format
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
+#: src/frontend/mame/ui/devopt.cpp:238
#, c-format
-msgid "romset: %1$-.100s"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
+#: src/frontend/mame/ui/devopt.cpp:240
#, c-format
-msgid "Driver is clone of: %1$-.100s"
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: src/frontend/mame/ui/devopt.cpp:242
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
+#: src/frontend/mame/ui/devopt.cpp:244
#, c-format
-msgid "%1$s %2$s"
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: src/frontend/mame/ui/devopt.cpp:246
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: src/frontend/mame/ui/devopt.cpp:248
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: src/frontend/mame/ui/devopt.cpp:257
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: src/frontend/mame/ui/devopt.cpp:263
+msgid "* Slot Options:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:270
+msgid "[None]\n"
msgstr ""
#: plugins/timer/init.lua:94
@@ -2669,51 +2588,51 @@ msgstr ""
msgid "Timer"
msgstr ""
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:510
msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheat/init.lua:534
+#: plugins/cheat/init.lua:516
msgid "Press button for hotkey or wait to clear"
msgstr ""
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:528
msgid "None"
msgstr ""
-#: plugins/cheat/init.lua:551
+#: plugins/cheat/init.lua:533
msgid "Done"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:547 plugins/cheat/init.lua:561
msgid "Set"
msgstr ""
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:580
msgid "Set hotkeys"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:720
#, lua-format
msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:723 plugins/cheat/init.lua:781
#, lua-format
msgid "Activated: %s"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:785
#, lua-format
msgid "Enabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:790
#, lua-format
msgid "Disabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "%s added"
msgstr ""
@@ -2762,303 +2681,218 @@ msgstr ""
msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:404
+#: plugins/cheatfind/init.lua:373
msgid "Save Cheat"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Default"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Custom"
msgstr ""
-#: plugins/cheatfind/init.lua:408
+#: plugins/cheatfind/init.lua:377
msgid "Cheat Name"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/cheatfind/init.lua:383 plugins/cheatfind/init.lua:748
#, lua-format
msgid "Default name is %s"
msgstr ""
-#: plugins/cheatfind/init.lua:422
+#: plugins/cheatfind/init.lua:391
msgid "Player"
msgstr ""
-#: plugins/cheatfind/init.lua:427
+#: plugins/cheatfind/init.lua:396
msgid "Type"
msgstr ""
-#: plugins/cheatfind/init.lua:433
+#: plugins/cheatfind/init.lua:402
msgid "Save"
msgstr ""
-#: plugins/cheatfind/init.lua:462
+#: plugins/cheatfind/init.lua:429
#, lua-format
msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:472
+#: plugins/cheatfind/init.lua:437
msgid "Cheat added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:442
msgid ""
"Unable to write file\n"
"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/cheatfind/init.lua:486
+#: plugins/cheatfind/init.lua:451
msgid "Cancel"
msgstr ""
-#: plugins/cheatfind/init.lua:491
+#: plugins/cheatfind/init.lua:456
msgid "CPU or RAM"
msgstr ""
-#: plugins/cheatfind/init.lua:495
+#: plugins/cheatfind/init.lua:460
msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:479
+msgid "Data cleared and current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:487
+msgid "Start new search"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:497
+msgid "Current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:504
+msgid "Save current -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
+#: plugins/cheatfind/init.lua:536
#, lua-format
-msgid "Memory State saved to Slot %d"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:543
+msgid "Compare"
msgstr ""
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
+#: plugins/cheatfind/init.lua:546
+msgid "Left operand"
+msgstr ""
+
+#: plugins/cheatfind/init.lua:549
+msgid "Current"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:554
+msgid "Operator"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:561
+msgid "Left less than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:563
+msgid "Left greater than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:676
+#: plugins/cheatfind/init.lua:565
msgid "Left equal to right"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:567
+msgid "Left not equal to right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:680
+#: plugins/cheatfind/init.lua:569
msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:682
+#: plugins/cheatfind/init.lua:571
msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:684
+#: plugins/cheatfind/init.lua:573
msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:686
+#: plugins/cheatfind/init.lua:575
msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:688
+#: plugins/cheatfind/init.lua:577
msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:690
+#: plugins/cheatfind/init.lua:579
msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/cheatfind/init.lua:590
+msgid "Right operand"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/cheatfind/init.lua:598
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:719
+#: plugins/cheatfind/init.lua:602
msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:725
+#: plugins/cheatfind/init.lua:608
msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:738
-msgid ""
-"Use this if you want to poke the Slot 1 value (eg. You started with "
-"something but lost it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:740
-msgid ""
-"Use this if you want to poke the Last Slot value (eg. You started without an "
-"item but finally got it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:816
+#: plugins/cheatfind/init.lua:632
msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:820
+#: plugins/cheatfind/init.lua:636
msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:823
+#: plugins/cheatfind/init.lua:639
msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheatfind/init.lua:690
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Test cheat at addr %08X"
msgstr ""
-#: plugins/cheatfind/init.lua:974
+#: plugins/cheatfind/init.lua:722
msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
+#: plugins/cheatfind/init.lua:788
msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
+#: plugins/cheatfind/init.lua:806
msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
+#: plugins/cheatfind/init.lua:816
msgid "Cheat Finder"
msgstr ""
-#: plugins/portname/init.lua:103
+#: plugins/portname/init.lua:69
msgid "Save input names to file"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
+#: plugins/portname/init.lua:100 plugins/portname/init.lua:105
+#: plugins/portname/init.lua:121
msgid "Failed to save input name file"
msgstr ""
-#: plugins/portname/init.lua:167
+#: plugins/portname/init.lua:133
#, lua-format
msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/portname/init.lua:172
+#: plugins/portname/init.lua:138
msgid "Input ports"
msgstr ""
diff --git a/language/Hungarian/strings.po b/language/Hungarian/strings.po
index d37e0032225..3a76d1f8a9f 100644
--- a/language/Hungarian/strings.po
+++ b/language/Hungarian/strings.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MAME\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-03-17 13:37+1100\n"
+"POT-Creation-Date: 2018-04-28 15:32+1000\n"
"PO-Revision-Date: 2017-05-20 09:18+0200\n"
"Last-Translator: Delirious <zsoltn71@gmail.com>\n"
"Language-Team: MAME Language Team\n"
@@ -15,61 +15,236 @@ msgstr ""
"X-Generator: Poedit 1.8.11\n"
"X-Loco-Parser: loco_parse_mo\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
+#: src/frontend/mame/ui/auditmenu.cpp:96
#, c-format
-msgid "Screen #%d"
-msgstr "Képernyő #%d"
+msgid "Audit ROMs for %1$u machines marked unavailable?"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr "Forgatás"
+#: src/frontend/mame/ui/auditmenu.cpp:99
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr "Háttérfelület"
+#: src/frontend/mame/ui/auditmenu.cpp:104
+#, c-format
+msgid "(results will be saved to %1$s)"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Enabled"
-msgstr "Bekapcsolva"
+#: src/frontend/mame/ui/auditmenu.cpp:130
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Disabled"
-msgstr "Kikapcsolva"
+#: src/frontend/mame/ui/auditmenu.cpp:142
+msgid "Start Audit"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr "ÃtfedÅ‘k"
+#: src/frontend/mame/ui/selmenu.cpp:49 src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Snapshots"
+msgstr "Pillanatképek"
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr "Keretek"
+#: src/frontend/mame/ui/selmenu.cpp:50 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cabinets"
+msgstr "Játékgép"
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
-msgstr "Vezérlőpult"
+#: src/frontend/mame/ui/selmenu.cpp:51
+msgid "Control Panels"
+msgstr "Kezelő pult"
+
+#: src/frontend/mame/ui/selmenu.cpp:52 src/frontend/mame/ui/dirmenu.cpp:50
+msgid "PCBs"
+msgstr "PCB-k"
+
+#: src/frontend/mame/ui/selmenu.cpp:53 src/frontend/mame/ui/dirmenu.cpp:47
+msgid "Flyers"
+msgstr "Plakátok"
+
+#: src/frontend/mame/ui/selmenu.cpp:54 src/frontend/mame/ui/dirmenu.cpp:48
+msgid "Titles"
+msgstr "Címkép"
+
+#: src/frontend/mame/ui/selmenu.cpp:55 src/frontend/mame/ui/dirmenu.cpp:49
+msgid "Ends"
+msgstr "Befejezések"
+
+#: src/frontend/mame/ui/selmenu.cpp:56
+msgid "Artwork Preview"
+msgstr "Illusztráció előnézet"
+
+#: src/frontend/mame/ui/selmenu.cpp:57 src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Bosses"
+msgstr "Boss"
+
+#: src/frontend/mame/ui/selmenu.cpp:58 src/frontend/mame/ui/dirmenu.cpp:60
+msgid "Logos"
+msgstr "Logók"
+
+#: src/frontend/mame/ui/selmenu.cpp:59 src/frontend/mame/ui/dirmenu.cpp:62
+msgid "Versus"
+msgstr "Ellen"
+
+#: src/frontend/mame/ui/selmenu.cpp:60
+msgid "Game Over"
+msgstr "A játék végetért"
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
+#: src/frontend/mame/ui/selmenu.cpp:61 src/frontend/mame/ui/dirmenu.cpp:59
+msgid "HowTo"
+msgstr "Hogyan"
+
+#: src/frontend/mame/ui/selmenu.cpp:62 src/frontend/mame/ui/dirmenu.cpp:61
+msgid "Scores"
+msgstr "Eredmények"
+
+#: src/frontend/mame/ui/selmenu.cpp:63 src/frontend/mame/ui/dirmenu.cpp:57
+msgid "Select"
+msgstr "Választás"
+
+#: src/frontend/mame/ui/selmenu.cpp:64 src/frontend/mame/ui/dirmenu.cpp:51
+#: src/frontend/mame/ui/videoopt.cpp:224
msgid "Marquees"
msgstr "Matricák"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
-msgstr "Nézet"
+#: src/frontend/mame/ui/selmenu.cpp:65 src/frontend/mame/ui/dirmenu.cpp:63
+msgid "Covers"
+msgstr "Borítók"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
-msgstr "Levágva"
+#: src/frontend/mame/ui/selmenu.cpp:69
+msgid "Add or remove favorites"
+msgstr "Kedvencek felvétele vagy eltávolítása"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
-msgstr "Teljes"
+#: src/frontend/mame/ui/selmenu.cpp:70
+msgid "Export displayed list to file"
+msgstr "A megjelenített lista exportálása fájlba"
+
+#: src/frontend/mame/ui/selmenu.cpp:71
+msgid "Show DATs view"
+msgstr "DAT nézet mutatása"
+
+#: src/frontend/mame/ui/selmenu.cpp:237
+msgid "Software part selection:"
+msgstr "Szoftver rész választás:"
+
+#: src/frontend/mame/ui/selmenu.cpp:343
+msgid "BIOS selection:"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:570 src/frontend/mame/ui/selmenu.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:311
+#, c-format
+msgid "%1$s, %2$-.100s"
+msgstr "%1$s, %2$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:574
+#, c-format
+msgid "Software is clone of: %1$-.100s"
+msgstr "A szoftver a következő klónja: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:576
+msgid "Software is parent"
+msgstr "A szoftver alap"
+
+#: src/frontend/mame/ui/selmenu.cpp:581
+msgid "Supported: No"
+msgstr "Támogatás: Nem"
+
+#: src/frontend/mame/ui/selmenu.cpp:586
+msgid "Supported: Partial"
+msgstr "Támogatás: Részleges"
+
+#: src/frontend/mame/ui/selmenu.cpp:591
+msgid "Supported: Yes"
+msgstr "Támogatás: Igen"
+
+#: src/frontend/mame/ui/selmenu.cpp:596
+#, c-format
+msgid "romset: %1$-.100s"
+msgstr "romkészlet: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:612
+#, c-format
+msgid "Driver is clone of: %1$-.100s"
+msgstr "A vezérlőprogram a következő klónja: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:614
+msgid "Driver is parent"
+msgstr "A vezérlőprogram alap"
+
+#: src/frontend/mame/ui/selmenu.cpp:619
+#: src/frontend/mame/ui/simpleselgame.cpp:330
+msgid "Overall: NOT WORKING"
+msgstr "Összegezve: NEM MŰKÖDIK"
+
+#: src/frontend/mame/ui/selmenu.cpp:621
+#: src/frontend/mame/ui/simpleselgame.cpp:332
+msgid "Overall: Unemulated Protection"
+msgstr "Összegezve: Emulálatlan védelem"
+
+#: src/frontend/mame/ui/selmenu.cpp:623
+#: src/frontend/mame/ui/simpleselgame.cpp:334
+msgid "Overall: Working"
+msgstr "Összegezve: Működik"
+
+#: src/frontend/mame/ui/selmenu.cpp:627
+#: src/frontend/mame/ui/simpleselgame.cpp:338
+msgid "Graphics: Unimplemented, "
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:629
+#: src/frontend/mame/ui/simpleselgame.cpp:340
+msgid "Graphics: Imperfect, "
+msgstr "Grafika: Hibás, "
+
+#: src/frontend/mame/ui/selmenu.cpp:631
+#: src/frontend/mame/ui/simpleselgame.cpp:342
+msgid "Graphics: OK, "
+msgstr "Grafika: Jó, "
+
+#: src/frontend/mame/ui/selmenu.cpp:634
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+msgid "Sound: None"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:636
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+msgid "Sound: Unimplemented"
+msgstr "Hang: nincs beépítve"
+
+#: src/frontend/mame/ui/selmenu.cpp:638
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+msgid "Sound: Imperfect"
+msgstr "Hang: Hibás"
+
+#: src/frontend/mame/ui/selmenu.cpp:640
+#: src/frontend/mame/ui/simpleselgame.cpp:351
+msgid "Sound: OK"
+msgstr "Hang: Jó"
+
+#: src/frontend/mame/ui/selmenu.cpp:650
+#, c-format
+msgid "%1$s %2$s"
+msgstr "%1$s %2$s"
+
+#: src/frontend/mame/ui/selmenu.cpp:1975
+msgid "Images"
+msgstr "Képek"
+
+#: src/frontend/mame/ui/selmenu.cpp:1976
+msgid "Infos"
+msgstr "Infók"
+
+#: src/frontend/mame/ui/selmenu.cpp:2386 src/frontend/mame/ui/miscmenu.cpp:826
+msgid " (default)"
+msgstr " (alap)"
+
+#: src/frontend/mame/ui/selmenu.cpp:2454
+msgid "Usage"
+msgstr "Használat"
+
+#: src/frontend/mame/ui/selmenu.cpp:2489
+msgid "General Info"
+msgstr "Ãltalános infók"
#: src/frontend/mame/ui/dirmenu.cpp:35
msgid "ROMs"
@@ -111,30 +286,6 @@ msgstr "Ikonok"
msgid "Cheats"
msgstr "Csalások"
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
-msgstr "Pillanatképek"
-
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
-msgstr "Játékgép"
-
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
-msgstr "Plakátok"
-
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
-msgstr "Címkép"
-
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
-msgstr "Befejezések"
-
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
-msgstr "PCB-k"
-
#: src/frontend/mame/ui/dirmenu.cpp:52
msgid "Controls Panels"
msgstr "Kezelő pult"
@@ -147,42 +298,14 @@ msgstr "Célkeresztek"
msgid "Artworks"
msgstr "Illusztrációk"
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
-msgstr "Boss"
-
#: src/frontend/mame/ui/dirmenu.cpp:56
msgid "Artworks Preview"
msgstr "Illusztrációk előnézete"
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
-msgstr "Választás"
-
#: src/frontend/mame/ui/dirmenu.cpp:58
msgid "GameOver"
msgstr "Végkép"
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
-msgstr "Hogyan"
-
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
-msgstr "Logók"
-
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
-msgstr "Eredmények"
-
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
-msgstr "Ellen"
-
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
-msgstr "Borítók"
-
#: src/frontend/mame/ui/dirmenu.cpp:116
msgid "Folders Setup"
msgstr "Mappa beállítások"
@@ -223,14 +346,268 @@ msgstr "Beállítás a TAB billentyűvel"
msgid "Remove %1$s Folder"
msgstr "%1$s mappa eltávolítása"
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
-msgstr "Kiválasztási lista - Keresés: "
+#: src/frontend/mame/ui/info.cpp:30
+msgid "protection"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:31
+msgid "color palette"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:32
+msgid "graphics"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:33
+msgid "sound"
+msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
+#: src/frontend/mame/ui/info.cpp:34
+msgid "controls"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:35
+msgid "keyboard"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:36
+msgid "mouse"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:37
+msgid "microphone"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:38
+msgid "camera"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:39
+msgid "disk"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:40
+msgid "printer"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:41
+msgid "LAN"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:42
+msgid "WAN"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:43
+msgid "timing"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:180
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
+msgstr ""
+"Egy vagy több ROM/CHD nem megfelelő ehhez a géphez. A gép valószínűleg nem "
+"fog megfelelően működni.\n"
+
+#: src/frontend/mame/ui/info.cpp:190
+msgid ""
+"There are known problems with this machine\n"
+"\n"
+msgstr ""
+"A géppel kapcsolatos hibák közismertek\n"
+"\n"
+
+#: src/frontend/mame/ui/info.cpp:195
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+msgstr "Egy vagy több ROM/CHD letárolása nem megfelelő ennél a gépnél.\n"
+
+#: src/frontend/mame/ui/info.cpp:200
+msgid "Completely unemulated features: "
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
#, c-format
-msgid "Double click or press %1$s to select"
-msgstr "Dupla kattintás vagy %1$s megnyomása a kiválasztáshoz"
+msgid "%s"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#: src/frontend/mame/ui/info.cpp:267
+#, c-format
+msgid ", %s"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:216
+msgid "Imperfectly emulated features: "
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:231
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr "Képtükrözés a vegyes módban nem támogatott.\n"
+
+#: src/frontend/mame/ui/info.cpp:233
+msgid "This machine requires external artwork files.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:235
+msgid ""
+"This machine was never completed. It may exhibit strange behavior or missing "
+"elements that are not bugs in the emulation.\n"
+msgstr ""
+"Ez a gép nem volt teljesen befejezve. Furcsa működést produkálhat vagy "
+"összetevők hiányozhatnak, amelyek nem emulációs hibák.\n"
+
+#: src/frontend/mame/ui/info.cpp:237
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
+msgstr ""
+"A gép nem rendelkezik hang hardverrel, MAME nem fog hangot szolgáltatni, ez "
+"az elvárt működés.\n"
+
+#: src/frontend/mame/ui/info.cpp:241
+msgid ""
+"\n"
+"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
+"complete. There is nothing you can do to fix this problem except wait for "
+"the developers to improve the emulation.\n"
+msgstr ""
+"\n"
+"EZ A GÉP NEM MŰKÖDIK. A gép emulációja nem teljes még. A hiba javítása "
+"érdekében nem lehet semmit tenni, csupán várni, hogy a fejlesztők "
+"tökéletesítsék az emulációt.\n"
+
+#: src/frontend/mame/ui/info.cpp:243
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they requires physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:265
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:278
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+"\n"
+"\n"
+"Nyomj egy gombot a folytatáshoz"
+
+#: src/frontend/mame/ui/info.cpp:293
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
+msgstr ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Vezérlőprogram: %4$s\n"
+"\n"
+"Processzor:\n"
+
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "MHz"
+msgstr "MHz"
+
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "kHz"
+msgstr "kHz"
+
+#: src/frontend/mame/ui/info.cpp:342
+msgid ""
+"\n"
+"Sound:\n"
+msgstr ""
+"\n"
+"Hang:\n"
+
+#: src/frontend/mame/ui/info.cpp:370
+msgid ""
+"\n"
+"Video:\n"
+msgstr ""
+"\n"
+"Kép:\n"
+
+#: src/frontend/mame/ui/info.cpp:374
+msgid "None\n"
+msgstr "Nincs\n"
+
+#: src/frontend/mame/ui/info.cpp:381
+msgid "Vector"
+msgstr "Vektor"
+
+#: src/frontend/mame/ui/info.cpp:392
+#, c-format
+msgid "%1$s: %2$s\n"
+msgstr "%1$s: %2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:392
+msgid "%2$s\n"
+msgstr "%2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:438
+#, c-format
+msgid "Screen '%1$s'"
+msgstr "Képernyő '%1$s'"
+
+#: src/frontend/mame/ui/info.cpp:440
+msgid "Screen"
+msgstr "Képernyő"
+
+#: src/frontend/mame/ui/info.cpp:525
+msgid "Not supported"
+msgstr "Nem támogatott"
+
+#: src/frontend/mame/ui/info.cpp:528
+msgid "Partially supported"
+msgstr "Részlegesen támogatva"
+
+#: src/frontend/mame/ui/info.cpp:536
+msgid "[empty]"
+msgstr "[üres]"
+
+#: src/frontend/mame/ui/optsmenu.cpp:193
+msgid "Filter"
+msgstr "Szűrő"
+
+#: src/frontend/mame/ui/optsmenu.cpp:206
+msgid "Customize UI"
+msgstr "Felület testre szabása"
+
+#: src/frontend/mame/ui/optsmenu.cpp:207
+msgid "Configure Directories"
+msgstr "Könyvtár beállítások"
+
+#: src/frontend/mame/ui/optsmenu.cpp:210 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
+msgstr "Hang beállítások"
+
+#: src/frontend/mame/ui/optsmenu.cpp:213
+msgid "General Inputs"
+msgstr "Ãltalános irányítás beállítás"
+
+#: src/frontend/mame/ui/optsmenu.cpp:216
+msgid "Save Configuration"
+msgstr "Beállítások mentése"
+
+#: src/frontend/mame/ui/optsmenu.cpp:228
+msgid "Settings"
+msgstr "Beállítások"
#: src/frontend/mame/ui/tapectrl.cpp:85
msgid "stopped"
@@ -272,8 +649,30 @@ msgstr "Visszatekerés"
msgid "Fast Forward"
msgstr "Gyors előretekerés"
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
-#: src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/inputmap.cpp:53
+msgid "User Interface"
+msgstr "Felhasználói felület"
+
+#: src/frontend/mame/ui/inputmap.cpp:59
+msgid "Other Controls"
+msgstr "Egyéb irányítók"
+
+#: src/frontend/mame/ui/inputmap.cpp:628 src/frontend/mame/ui/miscmenu.cpp:96
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr "Alapra állítás"
+
+#: src/frontend/mame/ui/selector.cpp:116
+msgid "Selection List - Search: "
+msgstr "Kiválasztási lista - Keresés: "
+
+#: src/frontend/mame/ui/selector.cpp:124
+#, c-format
+msgid "Double click or press %1$s to select"
+msgstr "Dupla kattintás vagy %1$s megnyomása a kiválasztáshoz"
+
+#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/filesel.cpp:256
msgid "[empty slot]"
msgstr "[üres hely]"
@@ -314,182 +713,6 @@ msgstr "Szoftver használat"
msgid "Revision: "
msgstr "Revízió:"
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
-msgstr "Fájl már lézeik - Felülírod?"
-
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
-msgstr "Nem"
-
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
-msgstr "Igen"
-
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
-msgstr "Új kép neve:"
-
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
-msgstr "Kép formátum:"
-
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
-msgstr "Létrehozás"
-
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
-msgstr "Adj meg fájlkiterjesztést is"
-
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
-msgstr "Kép formátum választás"
-
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
-msgstr "Irányítás (általános)"
-
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
-msgstr "Irányítás (ez a gép)"
-
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
-msgstr "Analóg irányítók"
-
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
-msgstr "Dip kapcsolók"
-
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
-msgstr "Gép beállítások"
-
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
-msgstr "Nyilvántartási infó"
-
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
-msgstr "Gép információk"
-
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
-msgstr "Kép információk"
-
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
-msgstr "Fájl kezelő"
-
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
-msgstr "Kazetta irányítók"
-
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
-msgstr "Pszeudó terminálok"
-
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
-msgstr ""
-
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
-msgstr "Behelyezhető eszközök"
-
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
-msgstr "Vonalkód olvasó"
-
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
-msgstr "Hálózati eszközök"
-
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
-msgstr "Billenytűzet mód"
-
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
-msgstr "Csúszka irányítók"
-
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
-msgstr "Kép beállítások"
-
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
-msgstr "Célkereszt beállítások"
-
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
-msgstr "Csalás"
-
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
-msgstr "Beépülő beállítások"
-
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
-msgstr "Külső DAT nézet"
-
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
-msgstr "Felvétel a Kedvencekhez"
-
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
-msgstr "Eltávolítás a kedvencekből"
-
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
-msgstr "Új gép választás"
-
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
-msgstr "Új vonalkód:"
-
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
-msgstr "Kód megadása"
-
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
-msgstr "Érvénytelen vonalkód hossz!"
-
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
-msgstr "[sikertelen]"
-
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
-msgstr "Hang beállítások"
-
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
-msgstr "Ãltalános irányítás beállítás"
-
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
-msgstr "Beállítások mentése"
-
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
-msgstr "Beállítások"
-
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
-msgstr "Szűrő"
-
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
-msgstr "Felület testre szabása"
-
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
-msgstr "Könyvtár beállítások"
-
#: src/frontend/mame/ui/simpleselgame.cpp:149
msgid ""
"The selected game is missing one or more required ROM or CHD images. Please "
@@ -498,7 +721,7 @@ msgid ""
"Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:247
+#: src/frontend/mame/ui/simpleselgame.cpp:241
#, c-format
msgid ""
"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
@@ -513,329 +736,199 @@ msgstr ""
"könvtárban található config.txt fájlt %2$s beállításokkal kapcsolatos bővebb "
"információk végett."
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:271
+#: src/frontend/mame/ui/selgame.cpp:436
msgid "Configure Options"
msgstr "Beállítási lehetőségek"
-#: src/frontend/mame/ui/simpleselgame.cpp:298
+#: src/frontend/mame/ui/simpleselgame.cpp:292
#, c-format
msgid "Type name or select: %1$s_"
msgstr "Név beírása vagy kiválasztás: %1$s_"
-#: src/frontend/mame/ui/simpleselgame.cpp:300
+#: src/frontend/mame/ui/simpleselgame.cpp:294
msgid "Type name or select: (random)"
msgstr "Név beírása vagy kiválasztás: (véletlenszerű)"
-#: src/frontend/mame/ui/simpleselgame.cpp:314
-#: src/frontend/mame/ui/selsoft.cpp:652 src/frontend/mame/ui/selsoft.cpp:659
+#: src/frontend/mame/ui/simpleselgame.cpp:308
+#: src/frontend/mame/ui/selsoft.cpp:564 src/frontend/mame/ui/selsoft.cpp:571
#, c-format
msgid "%1$-.100s"
msgstr "%1$-.100s"
-#: src/frontend/mame/ui/simpleselgame.cpp:317
-#: src/frontend/mame/ui/selmenu.cpp:618 src/frontend/mame/ui/selmenu.cpp:654
-#, c-format
-msgid "%1$s, %2$-.100s"
-msgstr "%1$s, %2$-.100s"
-
-#: src/frontend/mame/ui/simpleselgame.cpp:320
+#: src/frontend/mame/ui/simpleselgame.cpp:314
#, c-format
msgid "Driver: %1$-.100s"
msgstr "Illesztőprogram: %1$-.100s"
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
-msgstr "Összegezve: NEM MŰKÖDIK"
+#: src/frontend/mame/ui/videoopt.cpp:56
+#, c-format
+msgid "Screen #%d"
+msgstr "Képernyő #%d"
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
-msgstr "Összegezve: Emulálatlan védelem"
+#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
+msgid "Rotate"
+msgstr "Forgatás"
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
-msgstr "Összegezve: Működik"
+#: src/frontend/mame/ui/videoopt.cpp:208
+msgid "Backdrops"
+msgstr "Háttérfelület"
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
-msgstr ""
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Enabled"
+msgstr "Bekapcsolva"
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
-msgstr "Grafika: Hibás, "
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Disabled"
+msgstr "Kikapcsolva"
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
-msgstr "Grafika: Jó, "
+#: src/frontend/mame/ui/videoopt.cpp:212
+msgid "Overlays"
+msgstr "ÃtfedÅ‘k"
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
-msgstr ""
+#: src/frontend/mame/ui/videoopt.cpp:216
+msgid "Bezels"
+msgstr "Keretek"
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
-msgstr "Hang: nincs beépítve"
+#: src/frontend/mame/ui/videoopt.cpp:220
+msgid "CPanels"
+msgstr "Vezérlőpult"
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
-msgstr "Hang: Hibás"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "View"
+msgstr "Nézet"
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
-msgstr "Hang: Jó"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cropped"
+msgstr "Levágva"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
-msgstr ""
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Full"
+msgstr "Teljes"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
-msgstr "Betöltési hely kiválasztása"
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
+msgstr "Fájl már lézeik - Felülírod?"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
-msgstr ""
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1047
+msgid "No"
+msgstr "Nem"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
-msgstr "Mentési hely kiválasztása"
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1047
+msgid "Yes"
+msgstr "Igen"
-#: src/frontend/mame/ui/ui.cpp:337
-msgid "This driver requires images to be loaded in the following device(s): "
-msgstr ""
-"Az illesztő számára szükségesek a következő eszköz(ök) által betöltött "
-"képek: "
+#: src/frontend/mame/ui/filecreate.cpp:171
+msgid "New Image Name:"
+msgstr "Új kép neve:"
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
-msgstr "Billentyűzet emuláció állapota"
+#: src/frontend/mame/ui/filecreate.cpp:177
+msgid "Image Format:"
+msgstr "Kép formátum:"
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
-msgstr "Mód: RÉSZLEGES emuláció"
+#: src/frontend/mame/ui/filecreate.cpp:183
+msgid "Create"
+msgstr "Létrehozás"
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
-msgstr "UI: Bekapcsolva"
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr "Adj meg fájlkiterjesztést is"
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
-msgstr "** Váltáshoz a ScrLock használható**"
+#: src/frontend/mame/ui/filecreate.cpp:266
+msgid "Select image format"
+msgstr "Kép formátum választás"
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
-msgstr "Mód: TELJES emuláció"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Keyboard Mode:"
+msgstr "Billenytűzet mód:"
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
-msgstr "UI: Kikapcsolva"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Natural"
+msgstr "Természetes"
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
-msgstr "Automata tüzelés nem kapcsolható be"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Emulated"
+msgstr "Emulálva"
-#: src/frontend/mame/ui/ui.cpp:1302
+#: src/frontend/mame/ui/miscmenu.cpp:236
#, c-format
msgid ""
-"Are you sure you want to quit?\n"
+"Uptime: %1$d:%2$02d:%3$02d\n"
"\n"
-"Press ''%1$s'' to quit,\n"
-"Press ''%2$s'' to return to emulation."
msgstr ""
-"Biztos ki akarsz lépni?\n"
+"Játékidő: %1$d:%2$02d:%3$02d\n"
"\n"
-"Nyomj ''%1$s'' gombot a kilépéshez,\n"
-"Nyomj ''%2$s'' gombot, hogy visszatérj az emulációhoz."
-
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
-msgstr "Fő hangerő"
-
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
-msgstr "%1$s Hangerő"
-
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
-msgstr "Processzor túlhajtás %1$s"
-#: src/frontend/mame/ui/ui.cpp:1416
+#: src/frontend/mame/ui/miscmenu.cpp:238
#, c-format
-msgid "Overclock %1$s sound"
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
+"Játékidő: %1$d:%2$02d\n"
+"\n"
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
-msgstr "%1$s Képfrissítés"
-
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
-msgstr "%1$s Fényerő"
-
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
-msgstr "%1$s Kontraszt"
-
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
-msgstr "%1$s Gamma"
-
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
-msgstr "%1$s Vízszintes nyújtás"
-
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
-msgstr "%1$s Vízszintes helyzet"
-
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
-msgstr "%1$s Függőleges nyújtás"
-
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
-msgstr "%1$s Függőleges helyzet"
-
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
-msgstr "Lézerlemez '%1$s' vízszintes nyújtás"
-
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
-msgstr "Lézerlemez '%1$s' vízszintes pozíció"
-
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
-msgstr "Lézerlemez '%1$s' függőleges nyújtás"
-
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr "Lézerlemez '%1$s' függőleges pozíció"
-
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
-msgstr "Vektor villogás"
-
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
-msgstr "Minimális sugár szélesség"
-
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
-msgstr "Maximális sugár szélesség"
-
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
-msgstr "Sugár erősség mértéke"
-
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr "Célkereszt skála %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
-msgstr "X"
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
-msgstr "Y"
-
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
-msgstr "Célkereszt kiegyenlítés %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
-msgstr "%1$3ddB"
-
-#: src/frontend/mame/ui/ui.cpp:1645
+#: src/frontend/mame/ui/miscmenu.cpp:242
#, c-format
-msgid "%1$d%%"
-msgstr "%1$d%%"
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
+msgstr ""
+"Kiosztott jegyek: %1$d\n"
+"\n"
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
-msgstr "%1$3.0f%%"
+#: src/frontend/mame/ui/miscmenu.cpp:253
+msgid "Coin %1$c: NA%3$s\n"
+msgstr "Érme %1$c: NA%3$s\n"
-#: src/frontend/mame/ui/ui.cpp:1685
+#: src/frontend/mame/ui/miscmenu.cpp:253
#, c-format
-msgid "%1$.3ffps"
-msgstr "%1$.3ffps"
+msgid "Coin %1$c: %2$d%3$s\n"
+msgstr "Érme %1$c: %2$d%3$s\n"
-#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
-#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
-#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
-#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
-#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
-#: src/frontend/mame/ui/ui.cpp:1927
-#, c-format
-msgid "%1$.3f"
-msgstr "%1$.3f"
+#: src/frontend/mame/ui/miscmenu.cpp:256
+msgid " (locked)"
+msgstr " (zárolva)"
-#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
-#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
-#, c-format
-msgid "%1$1.2f"
-msgstr "%1$1.2f"
+#: src/frontend/mame/ui/miscmenu.cpp:503
+msgid "Visible Delay"
+msgstr "Látható késés"
-#: src/frontend/mame/ui/ui.cpp:2005
+#: src/frontend/mame/ui/miscmenu.cpp:601
#, c-format
-msgid "Crosshair Scale X %1$1.3f"
-msgstr "Célkereszt skála X %1$1.3f"
+msgid "%s.xml saved under ui folder."
+msgstr "%s.xml mentve az ui mappába."
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
-msgstr "Célkereszt skála Y %1$1.3f"
+#: src/frontend/mame/ui/miscmenu.cpp:627
+msgid "Name: Description:\n"
+msgstr "Név: Leírás:\n"
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/miscmenu.cpp:638
#, c-format
-msgid "Crosshair Offset X %1$1.3f"
-msgstr "Célkereszt kiegyenlítés X %1$1.3f"
+msgid "%s.txt saved under ui folder."
+msgstr "%s.txt mentve az ui mappába."
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
-msgstr "Célkereszt kiegyenlítés Y %1$1.3f"
+#: src/frontend/mame/ui/miscmenu.cpp:655
+msgid "Export list in XML format (like -listxml)"
+msgstr "Lista exportálása XML formátumba (mint -listxml)"
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
-msgstr "**ui.ini mentése közben hiba történt**"
+#: src/frontend/mame/ui/miscmenu.cpp:656
+msgid "Export list in XML format (like -listxml, but exclude devices)"
+msgstr ""
+"Lista exportálása XML formátumba (mint -listxml, de belefoglalva az "
+"eszközöket)"
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
-msgstr "**%s.ini mentése közben hiba történt**"
+#: src/frontend/mame/ui/miscmenu.cpp:657
+msgid "Export list in TXT format (like -listfull)"
+msgstr "Lista exportálása TXT formátumba (mint -listfull)"
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/miscmenu.cpp:710 src/frontend/mame/ui/ui.cpp:2230
msgid ""
"\n"
" Configuration saved \n"
@@ -845,336 +938,160 @@ msgstr ""
" Beállítás elmentve \n"
"\n"
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
-msgid ""
-"Cheat Comment:\n"
-"%s"
-msgstr ""
-"Csalás megjegyzés:\n"
-"%s"
-
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
-msgstr "Minden csalás újra betöltve"
-
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
-msgstr "Automata tüzelés beállítás"
-
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
-msgstr "Mindet alapra"
-
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
-msgstr "Mind újratöltése"
-
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
-msgstr "Automata tüzelés állapot"
-
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
-msgstr "Nem található gomb ezen a gépen!"
-
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
-msgstr "Automata tüzelés törlése"
-
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
-#, c-format
-msgid ""
-"%s\n"
-" added to favorites list."
-msgstr ""
-"%s\n"
-" felvéve a Kedvencek listára."
-
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
-#, c-format
-msgid ""
-"%s\n"
-" removed from favorites list."
-msgstr ""
-"%s\n"
-" eltávolítva a Kedvencek listáról."
-
-#: src/frontend/mame/ui/selsoft.cpp:507
-msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
-"\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
-msgstr ""
-
-#: src/frontend/mame/ui/selsoft.cpp:637
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
-msgstr "%1$s %2$s ( %3$d / %4$d szoftver csomag )"
-
-#: src/frontend/mame/ui/selsoft.cpp:638
-#, c-format
-msgid "Driver: \"%1$s\" software list "
-msgstr "Vezérlőprogram: \"%1$s\" szoftver lista "
-
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
-#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
-msgstr ""
-
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
-#, c-format
-msgid "Search: %1$s_"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
-msgid "Unfiltered"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
-msgid "Available"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
-msgid "Unavailable"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:63
-msgid "Working"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:64
-msgid "Not Working"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:65
-msgid "Mechanical"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:66
-msgid "Not Mechanical"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:67
-msgid "Category"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
-msgid "Favorites"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/miscmenu.cpp:760 src/frontend/mame/ui/utils.cpp:66
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
-msgid "Not BIOS"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
-msgid "Parents"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
-msgid "Clones"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:73
-msgid "Manufacturer"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
-msgid "Year"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:75
-msgid "Save Supported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:76
-msgid "Save Unsupported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:77
-msgid "CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:78
-msgid "No CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:79
-msgid "Vertical Screen"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:764
+msgid "Driver"
+msgstr "Vezérlőprogram"
-#: src/frontend/mame/ui/utils.cpp:80
-msgid "Horizontal Screen"
+#: src/frontend/mame/ui/miscmenu.cpp:767
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
-msgid "Custom Filter"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:776 src/frontend/mame/ui/mainmenu.cpp:145
+msgid "Add To Favorites"
+msgstr "Felvétel a Kedvencekhez"
-#: src/frontend/mame/ui/utils.cpp:91
-msgid "Publisher"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:778 src/frontend/mame/ui/mainmenu.cpp:147
+msgid "Remove From Favorites"
+msgstr "Eltávolítás a kedvencekből"
-#: src/frontend/mame/ui/utils.cpp:92
-msgid "Supported"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:781
+msgid "Save machine configuration"
+msgstr "Gép beállítások mentése"
-#: src/frontend/mame/ui/utils.cpp:93
-msgid "Partially Supported"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:792
+msgid "Configure machine:"
+msgstr "Gép beállítások:"
-#: src/frontend/mame/ui/utils.cpp:94
-msgid "Unsupported"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:736
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:551 plugins/cheatfind/init.lua:619
+msgid "On"
+msgstr "Be"
-#: src/frontend/mame/ui/utils.cpp:95
-msgid "Release Region"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:739
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:554 plugins/cheat/init.lua:563
+#: plugins/cheatfind/init.lua:616
+msgid "Off"
+msgstr "Ki"
-#: src/frontend/mame/ui/utils.cpp:96
-msgid "Device Type"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:909 src/frontend/mame/ui/selgame.cpp:441
+msgid "Plugins"
+msgstr "Beépülők"
-#: src/frontend/mame/ui/utils.cpp:97
-msgid "Software List"
-msgstr ""
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
+msgstr "Új vonalkód:"
-#: src/frontend/mame/ui/utils.cpp:248
-msgid "<set up filters>"
-msgstr ""
+#: src/frontend/mame/ui/barcode.cpp:78
+msgid "Enter Code"
+msgstr "Kód megadása"
-#: src/frontend/mame/ui/utils.cpp:356
-msgid "Select custom filters:"
-msgstr "Egyéni szűrő választás:"
+#: src/frontend/mame/ui/barcode.cpp:119
+msgid "Barcode length invalid!"
+msgstr "Érvénytelen vonalkód hossz!"
-#: src/frontend/mame/ui/utils.cpp:507
-#, c-format
-msgid "Filter %1$u"
-msgstr ""
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:99
+msgid "Pseudo terminals"
+msgstr "Pszeudó terminálok"
-#: src/frontend/mame/ui/utils.cpp:522
-msgid "Remove last filter"
-msgstr "Utolsó szűrő eltávolítása"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
+msgstr "[sikertelen]"
-#: src/frontend/mame/ui/utils.cpp:524
-msgid "Add filter"
-msgstr "Szűrő beállítás"
+#: src/frontend/mame/ui/mainmenu.cpp:60
+msgid "Input (general)"
+msgstr "Irányítás (általános)"
-#: src/frontend/mame/ui/utils.cpp:966
-msgid "Select category:"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:62
+msgid "Input (this Machine)"
+msgstr "Irányítás (ez a gép)"
-#: src/frontend/mame/ui/utils.cpp:997
-msgid "[no category INI files]"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Analog Controls"
+msgstr "Analóg irányítók"
-#: src/frontend/mame/ui/utils.cpp:1005
-msgid "[no groups in INI file]"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:68
+msgid "Dip Switches"
+msgstr "Dip kapcsolók"
-#: src/frontend/mame/ui/utils.cpp:1039
-msgid "No category INI files found"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "Machine Configuration"
+msgstr "Gép beállítások"
-#: src/frontend/mame/ui/utils.cpp:1044
-msgid "File"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
+msgstr "Nyilvántartási infó"
-#: src/frontend/mame/ui/utils.cpp:1048
-msgid "No groups found in category file"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:78
+msgid "Machine Information"
+msgstr "Gép információk"
-#: src/frontend/mame/ui/utils.cpp:1053
-msgid "Group"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:85
+msgid "Image Information"
+msgstr "Kép információk"
-#: src/frontend/mame/ui/utils.cpp:1054
-msgid "Include clones"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
+msgstr "Fájl kezelő"
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
-msgstr "[létrehozás]"
+#: src/frontend/mame/ui/mainmenu.cpp:96
+msgid "Tape Control"
+msgstr "Kazetta irányítók"
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
+#: src/frontend/mame/ui/mainmenu.cpp:102
+msgid "BIOS Selection"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
-msgstr "Hozzáférési mód választás"
-
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
-msgstr "Csak olvasható"
-
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
-msgstr "Olvasható-írható"
-
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
-msgstr "A kép beolvasása és mentése egy másik képbe"
-
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
-msgstr "A kép beolvasása és mentése másikba"
+#: src/frontend/mame/ui/mainmenu.cpp:106
+msgid "Slot Devices"
+msgstr "Behelyezhető eszközök"
-#: src/frontend/mame/ui/slotopt.cpp:192
-#, c-format
-msgid "%s [internal]"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Barcode Reader"
+msgstr "Vonalkód olvasó"
-#: src/frontend/mame/ui/slotopt.cpp:203 src/frontend/mame/ui/miscmenu.cpp:97
-#: src/frontend/mame/ui/inputmap.cpp:615
-msgid "Reset"
-msgstr "Alapra állítás"
+#: src/frontend/mame/ui/mainmenu.cpp:114
+msgid "Network Devices"
+msgstr "Hálózati eszközök"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
-msgstr " SZÃNEK"
+#: src/frontend/mame/ui/mainmenu.cpp:118
+msgid "Keyboard Mode"
+msgstr "Billenytűzet mód"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
-msgstr " TOLLAK"
+#: src/frontend/mame/ui/mainmenu.cpp:121
+msgid "Slider Controls"
+msgstr "Csúszka irányítók"
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
-msgstr "Vissza a géphez"
+#: src/frontend/mame/ui/mainmenu.cpp:124 src/frontend/mame/ui/submenu.cpp:101
+msgid "Video Options"
+msgstr "Kép beállítások"
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
-msgstr "Kilépés"
+#: src/frontend/mame/ui/mainmenu.cpp:128
+msgid "Crosshair Options"
+msgstr "Célkereszt beállítások"
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
-msgstr "Vissza az előző menübe"
+#: src/frontend/mame/ui/mainmenu.cpp:132 plugins/cheat/init.lua:735
+msgid "Cheat"
+msgstr "Csalás"
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:762
-#: plugins/cheat/init.lua:569 plugins/cheatfind/init.lua:792
-#: plugins/cheatfind/init.lua:803
-msgid "On"
-msgstr "Be"
+#: src/frontend/mame/ui/mainmenu.cpp:135
+msgid "Plugin Options"
+msgstr "Beépülő beállítások"
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:765
-#: plugins/cheat/init.lua:572 plugins/cheat/init.lua:581
-#: plugins/cheatfind/init.lua:789 plugins/cheatfind/init.lua:800
-msgid "Off"
-msgstr "Ki"
+#: src/frontend/mame/ui/mainmenu.cpp:139
+msgid "External DAT View"
+msgstr "Külső DAT nézet"
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
-msgstr "Automata"
+#: src/frontend/mame/ui/mainmenu.cpp:154
+msgid "Select New Machine"
+msgstr "Új gép választás"
#: src/frontend/mame/ui/custui.cpp:31
msgid "Show All"
@@ -1397,458 +1314,6 @@ msgstr "Sárga"
msgid "Violet"
msgstr "Ibolya"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
-msgstr "Billenytűzet mód:"
-
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
-msgstr "Természetes"
-
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
-msgstr "Emulálva"
-
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
-msgstr ""
-"Játékidő: %1$d:%2$02d:%3$02d\n"
-"\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
-msgstr ""
-"Játékidő: %1$d:%2$02d\n"
-"\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
-msgstr ""
-"Kiosztott jegyek: %1$d\n"
-"\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
-msgstr "Érme %1$c: NA%3$s\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
-msgstr "Érme %1$c: %2$d%3$s\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
-msgstr " (zárolva)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
-msgstr "Látható késés"
-
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
-msgstr "%s.xml mentve az ui mappába."
-
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
-msgstr "Név: Leírás:\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:639
-#, c-format
-msgid "%s.txt saved under ui folder."
-msgstr "%s.txt mentve az ui mappába."
-
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
-msgstr "Lista exportálása XML formátumba (mint -listxml)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
-msgstr ""
-"Lista exportálása XML formátumba (mint -listxml, de belefoglalva az "
-"eszközöket)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
-msgstr "Lista exportálása TXT formátumba (mint -listfull)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
-msgstr "Vezérlőprogram"
-
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
-msgstr ""
-
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
-msgstr "Gép beállítások mentése"
-
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
-msgstr "Gép beállítások:"
-
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
-msgstr " (alap)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
-msgstr "Beépülők"
-
-#: src/frontend/mame/ui/selgame.cpp:607
-msgid "Configure Machine"
-msgstr "Gép beállítások"
-
-#: src/frontend/mame/ui/selgame.cpp:1036
-#, c-format
-msgid "Romset\t%1$-.100s\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1037
-#, c-format
-msgid "Year\t%1$s\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1038
-#, c-format
-msgid "Manufacturer\t%1$-.100s\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1042
-#, c-format
-msgid "Driver is Clone of\t%1$-.100s\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1044
-msgid "Driver is Parent\t\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1047
-msgid "Analog Controls\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1049
-msgid "Keyboard Inputs\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1052
-msgid "Overall\tNOT WORKING\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1054
-msgid "Overall\tUnemulated Protection\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1056
-msgid "Overall\tWorking\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1059
-msgid "Graphics\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1061
-msgid "Graphics\tWrong Colors\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1063
-msgid "Graphics\tImperfect Colors\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1065
-msgid "Graphics\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1067
-msgid "Graphics\tOK\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1070
-msgid "Sound\tNone\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1072
-msgid "Sound\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1074
-msgid "Sound\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1076
-msgid "Sound\tOK\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1079
-msgid "Capture\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1081
-msgid "Capture\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1084
-msgid "Camera\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1086
-msgid "Camera\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1089
-msgid "Microphone\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1091
-msgid "Microphone\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1094
-msgid "Controls\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1096
-msgid "Controls\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1099
-msgid "Keyboard\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1101
-msgid "Keyboard\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1104
-msgid "Mouse\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1106
-msgid "Mouse\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1109
-msgid "Media\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1111
-msgid "Media\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1114
-msgid "Disk\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1116
-msgid "Disk\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1119
-msgid "Printer\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1121
-msgid "Printer\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1124
-msgid "Mag. Tape\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1126
-msgid "Mag. Tape\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1129
-msgid "Punch Tape\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1131
-msgid "Punch Tape\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1134
-msgid "Mag. Drum\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1136
-msgid "Mag. Drum\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1139
-msgid "(EP)ROM\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1141
-msgid "(EP)ROM\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1144
-msgid "Communications\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1146
-msgid "Communications\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1149
-msgid "LAN\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1151
-msgid "LAN\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1154
-msgid "WAN\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1156
-msgid "WAN\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1159
-msgid "Timing\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1161
-msgid "Timing\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tNo\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tNo\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tNo\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tNo\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tNo\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tNo\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tVertical\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tHorizontal\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tNo\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1192
-msgid "ROM Audit Result\tOK\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1194
-msgid "ROM Audit Result\tBAD\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1197
-msgid "Samples Audit Result\tNone Needed\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1199
-msgid "Samples Audit Result\tOK\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1201
-msgid "Samples Audit Result\tBAD\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1205
-msgid ""
-"ROM Audit \tDisabled\n"
-"Samples Audit \tDisabled\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1396
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
-msgstr "%1$s %2$s ( %3$d / %4$d gép (%5$d BIOS) )"
-
-#: src/frontend/mame/ui/selgame.cpp:1424
-#, c-format
-msgid "Romset: %1$-.100s"
-msgstr "Romkészlet: %1$-.100s"
-
-#: src/frontend/mame/ui/selgame.cpp:1431
-#, c-format
-msgid "System: %1$-.100s"
-msgstr "Rendszer: %1$-.100s"
-
-#: src/frontend/mame/ui/selgame.cpp:1465
-msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
-msgstr ""
-
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
-msgstr "Hang"
-
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
-msgstr "Mintavételezés"
-
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
-msgstr "Külső minták használata"
-
#: src/frontend/mame/ui/submenu.cpp:22
msgid "Miscellaneous Options"
msgstr "Egyéb beállítások"
@@ -2149,564 +1614,1018 @@ msgstr "Szinkronizált frissítés"
msgid "Wait Vertical Sync"
msgstr "V-sync-re várás"
-#: src/frontend/mame/ui/devopt.cpp:43
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Load State"
+msgstr ""
+
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Select position to load from"
+msgstr "Betöltési hely kiválasztása"
+
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Save State"
+msgstr ""
+
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Select position to save to"
+msgstr "Mentési hely kiválasztása"
+
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:309 src/frontend/mame/ui/selsoft.cpp:211
#, c-format
msgid ""
-"[This option is currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"The selected option enables the following items:\n"
+"%s\n"
+" added to favorites list."
msgstr ""
+"%s\n"
+" felvéve a Kedvencek listára."
-#: src/frontend/mame/ui/devopt.cpp:44
+#: src/frontend/mame/ui/selgame.cpp:314 src/frontend/mame/ui/selgame.cpp:320
+#: src/frontend/mame/ui/selsoft.cpp:216
#, c-format
msgid ""
-"[This option is NOT currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"If you select this option, the following items will be enabled:\n"
+"%s\n"
+" removed from favorites list."
msgstr ""
+"%s\n"
+" eltávolítva a Kedvencek listáról."
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/selgame.cpp:437
+msgid "Configure Machine"
+msgstr "Gép beállítások"
+
+#: src/frontend/mame/ui/selgame.cpp:849
+#, c-format
+msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/selgame.cpp:850
#, c-format
-msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
-msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/selgame.cpp:851
+#, c-format
+msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %3$d.%4$06d MHz\n"
+#: src/frontend/mame/ui/selgame.cpp:855
+#, c-format
+msgid "Driver is Clone of\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/selgame.cpp:857
+msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/selgame.cpp:860
+msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/selgame.cpp:862
+msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:103
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+#: src/frontend/mame/ui/selgame.cpp:865
+msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+#: src/frontend/mame/ui/selgame.cpp:867
+msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/selgame.cpp:869
+msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
-#, c-format
-msgid " %1$d×%2$s\n"
+#: src/frontend/mame/ui/selgame.cpp:872
+msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/selgame.cpp:874
+msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:168
-#, c-format
-msgid ""
-"* BIOS settings:\n"
-" %1$d options [default: %2$s]\n"
+#: src/frontend/mame/ui/selgame.cpp:876
+msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:208 src/frontend/mame/ui/devopt.cpp:224
-#: src/frontend/mame/ui/devopt.cpp:269
-#, c-format
-msgid " %1$s [default: %2$s]\n"
+#: src/frontend/mame/ui/selgame.cpp:878
+msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
-#, c-format
-msgid " %1$s\n"
+#: src/frontend/mame/ui/selgame.cpp:880
+msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/selgame.cpp:883
+msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/selgame.cpp:885
+msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/selgame.cpp:887
+msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:889
+msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:892
+msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
-#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:894
+msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:897
+msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:899
+msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:902
+msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:904
+msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
-#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:907
+msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+#: src/frontend/mame/ui/selgame.cpp:909
+msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
-#, c-format
-msgid " %1$s [tag: %2$s]\n"
+#: src/frontend/mame/ui/selgame.cpp:912
+msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
+#: src/frontend/mame/ui/selgame.cpp:914
+msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+#: src/frontend/mame/ui/selgame.cpp:917
+msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/selgame.cpp:919
+msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
+#: src/frontend/mame/ui/selgame.cpp:922
+msgid "Printer\tUnimplemented\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:924
+msgid "Printer\tImperfect\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:927
+msgid "LAN\tUnimplemented\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:929
+msgid "LAN\tImperfect\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:932
+msgid "WAN\tUnimplemented\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:934
+msgid "WAN\tImperfect\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:937
+msgid "Timing\tUnimplemented\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:939
+msgid "Timing\tImperfect\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tYes\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tNo\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tYes\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tNo\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tYes\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tNo\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tYes\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tNo\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tYes\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tNo\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tYes\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tNo\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tVertical\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tHorizontal\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tYes\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tNo\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:970
+msgid "ROM Audit Result\tOK\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:972
+msgid "ROM Audit Result\tBAD\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:975
+msgid "Samples Audit Result\tNone Needed\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:977
+msgid "Samples Audit Result\tOK\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:979
+msgid "Samples Audit Result\tBAD\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:983
+msgid ""
+"ROM Audit \tDisabled\n"
+"Samples Audit \tDisabled\n"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:1167
#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
+msgstr "%1$s %2$s ( %3$d / %4$d gép (%5$d BIOS) )"
+
+#: src/frontend/mame/ui/selgame.cpp:1183 src/frontend/mame/ui/selsoft.cpp:555
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
+#: src/frontend/mame/ui/selgame.cpp:1185 src/frontend/mame/ui/selsoft.cpp:557
#, c-format
-msgid "(results will be saved to %1$s)"
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
+#: src/frontend/mame/ui/selgame.cpp:1195
+#, c-format
+msgid "Romset: %1$-.100s"
+msgstr "Romkészlet: %1$-.100s"
+
+#: src/frontend/mame/ui/selgame.cpp:1202
#, c-format
+msgid "System: %1$-.100s"
+msgstr "Rendszer: %1$-.100s"
+
+#: src/frontend/mame/ui/selgame.cpp:1239
msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
+"The selected machine is missing one or more required ROM or CHD images. "
+"Please select a different machine.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
+#: src/frontend/mame/ui/selgame.cpp:1245 src/frontend/mame/ui/selsoft.cpp:462
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
-msgstr "Nem menthető el a könyvtárba"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
+msgstr "Hang"
-#: src/frontend/mame/ui/imgcntrl.cpp:150
-msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
+msgstr "Mintavételezés"
+
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
+msgstr "Külső minták használata"
+
+#: src/frontend/mame/ui/utils.cpp:57 src/frontend/mame/ui/utils.cpp:81
+msgid "Unfiltered"
msgstr ""
-"A kiválasztott szoftver működéséhez hiányzik egy vagy több ROM illetve CHD "
-"képfájl. Válassz másikat."
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
+#: src/frontend/mame/ui/utils.cpp:58 src/frontend/mame/ui/utils.cpp:82
+msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
+#: src/frontend/mame/ui/utils.cpp:59 src/frontend/mame/ui/utils.cpp:83
+msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
+#: src/frontend/mame/ui/utils.cpp:60
+msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
+#: src/frontend/mame/ui/utils.cpp:61
+msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
+#: src/frontend/mame/ui/utils.cpp:62
+msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: src/frontend/mame/ui/utils.cpp:63
+msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
+#: src/frontend/mame/ui/utils.cpp:64
+msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
+#: src/frontend/mame/ui/utils.cpp:65
+msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
+#: src/frontend/mame/ui/utils.cpp:67
+msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
+#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:84
+msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/utils.cpp:85
+msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/utils.cpp:70
+msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:86
+msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/utils.cpp:72
+msgid "Save Supported"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:73
+msgid "Save Unsupported"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:74
+msgid "CHD Required"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:75
+msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/utils.cpp:76
+msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/utils.cpp:77
+msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/utils.cpp:78 src/frontend/mame/ui/utils.cpp:94
+msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/utils.cpp:87
+msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/utils.cpp:88
+msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/utils.cpp:89
+msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/utils.cpp:90
+msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
-msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+#: src/frontend/mame/ui/utils.cpp:91
+msgid "Release Region"
msgstr ""
-"Egy vagy több ROM/CHD nem megfelelő ehhez a géphez. A gép valószínűleg nem "
-"fog megfelelően működni.\n"
-#: src/frontend/mame/ui/info.cpp:198
-msgid ""
-"There are known problems with this machine\n"
-"\n"
+#: src/frontend/mame/ui/utils.cpp:92
+msgid "Device Type"
msgstr ""
-"A géppel kapcsolatos hibák közismertek\n"
-"\n"
-#: src/frontend/mame/ui/info.cpp:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
-msgstr "Egy vagy több ROM/CHD letárolása nem megfelelő ennél a gépnél.\n"
+#: src/frontend/mame/ui/utils.cpp:93
+msgid "Software List"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/utils.cpp:244
+msgid "<set up filters>"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
+#: src/frontend/mame/ui/utils.cpp:352
+msgid "Select custom filters:"
+msgstr "Egyéni szűrő választás:"
+
+#: src/frontend/mame/ui/utils.cpp:503
#, c-format
-msgid "%s"
+msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#: src/frontend/mame/ui/info.cpp:275
-#, c-format
-msgid ", %s"
+#: src/frontend/mame/ui/utils.cpp:518
+msgid "Remove last filter"
+msgstr "Utolsó szűrő eltávolítása"
+
+#: src/frontend/mame/ui/utils.cpp:520
+msgid "Add filter"
+msgstr "Szűrő beállítás"
+
+#: src/frontend/mame/ui/utils.cpp:959
+msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+#: src/frontend/mame/ui/utils.cpp:990
+msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
-msgstr "Képtükrözés a vegyes módban nem támogatott.\n"
+#: src/frontend/mame/ui/utils.cpp:998
+msgid "[no groups in INI file]"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
+#: src/frontend/mame/ui/utils.cpp:1032
+msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:243
-msgid ""
-"This machine was never completed. It may exhibit strange behavior or missing "
-"elements that are not bugs in the emulation.\n"
+#: src/frontend/mame/ui/utils.cpp:1037
+msgid "File"
msgstr ""
-"Ez a gép nem volt teljesen befejezve. Furcsa működést produkálhat vagy "
-"összetevők hiányozhatnak, amelyek nem emulációs hibák.\n"
-#: src/frontend/mame/ui/info.cpp:245
-msgid ""
-"This machine has no sound hardware, MAME will produce no sounds, this is "
-"expected behaviour.\n"
+#: src/frontend/mame/ui/utils.cpp:1041
+msgid "No groups found in category file"
msgstr ""
-"A gép nem rendelkezik hang hardverrel, MAME nem fog hangot szolgáltatni, ez "
-"az elvárt működés.\n"
-#: src/frontend/mame/ui/info.cpp:249
-msgid ""
-"\n"
-"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
-"complete. There is nothing you can do to fix this problem except wait for "
-"the developers to improve the emulation.\n"
+#: src/frontend/mame/ui/utils.cpp:1046
+msgid "Group"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:1047
+msgid "Include clones"
msgstr ""
-"\n"
-"EZ A GÉP NEM MŰKÖDIK. A gép emulációja nem teljes még. A hiba javítása "
-"érdekében nem lehet semmit tenni, csupán várni, hogy a fejlesztők "
-"tökéletesítsék az emulációt.\n"
-#: src/frontend/mame/ui/info.cpp:251
+#: src/frontend/mame/ui/selsoft.cpp:456
msgid ""
+"The selected software is missing one or more required files. Please select a "
+"different software.\n"
"\n"
-"Elements of this machine cannot be emulated as they requires physical "
-"interaction or consist of mechanical devices. It is not possible to fully "
-"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/selsoft.cpp:549
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgstr "%1$s %2$s ( %3$d / %4$d szoftver csomag )"
+
+#: src/frontend/mame/ui/selsoft.cpp:550
+#, c-format
+msgid "Driver: \"%1$s\" software list "
+msgstr "Vezérlőprogram: \"%1$s\" szoftver lista "
+
+#: src/frontend/mame/ui/filesel.cpp:260
+msgid "[create]"
+msgstr "[létrehozás]"
+
+#: src/frontend/mame/ui/filesel.cpp:419
#, c-format
+msgid "Error accessing %s"
+msgstr ""
+
+#: src/frontend/mame/ui/filesel.cpp:515
+msgid "Select access mode"
+msgstr "Hozzáférési mód választás"
+
+#: src/frontend/mame/ui/filesel.cpp:516
+msgid "Read-only"
+msgstr "Csak olvasható"
+
+#: src/frontend/mame/ui/filesel.cpp:518
+msgid "Read-write"
+msgstr "Olvasható-írható"
+
+#: src/frontend/mame/ui/filesel.cpp:519
+msgid "Read this image, write to another image"
+msgstr "A kép beolvasása és mentése egy másik képbe"
+
+#: src/frontend/mame/ui/filesel.cpp:520
+msgid "Read this image, write to diff"
+msgstr "A kép beolvasása és mentése másikba"
+
+#: src/frontend/mame/ui/imgcntrl.cpp:117
+msgid "Cannot save over directory"
+msgstr "Nem menthető el a könyvtárba"
+
+#: src/frontend/mame/ui/imgcntrl.cpp:150
msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+"The software selected is missing one or more required ROM or CHD images. "
+"Please select a different one."
msgstr ""
+"A kiválasztott szoftver működéséhez hiányzik egy vagy több ROM illetve CHD "
+"képfájl. Válassz másikat."
+
+#: src/frontend/mame/ui/menu.cpp:294
+msgid "Return to Machine"
+msgstr "Vissza a géphez"
+
+#: src/frontend/mame/ui/menu.cpp:299 src/frontend/mame/ui/menu.cpp:301
+msgid "Exit"
+msgstr "Kilépés"
+
+#: src/frontend/mame/ui/menu.cpp:306 src/frontend/mame/ui/menu.cpp:308
+msgid "Return to Previous Menu"
+msgstr "Vissza az előző menübe"
+
+#: src/frontend/mame/ui/menu.cpp:742
+msgid "Auto"
+msgstr "Automata"
-#: src/frontend/mame/ui/info.cpp:286
+#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:653
+#, c-format, lua-format
msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+"Cheat Comment:\n"
+"%s"
msgstr ""
-"\n"
-"\n"
-"Nyomj egy gombot a folytatáshoz"
+"Csalás megjegyzés:\n"
+"%s"
+
+#: src/frontend/mame/ui/cheatopt.cpp:105
+msgid "All cheats reloaded"
+msgstr "Minden csalás újra betöltve"
+
+#: src/frontend/mame/ui/cheatopt.cpp:136
+msgid "Autofire Settings"
+msgstr "Automata tüzelés beállítás"
+
+#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:581
+msgid "Reset All"
+msgstr "Mindet alapra"
+
+#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:582
+msgid "Reload All"
+msgstr "Mind újratöltése"
+
+#: src/frontend/mame/ui/cheatopt.cpp:273
+msgid "Autofire Status"
+msgstr "Automata tüzelés állapot"
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/cheatopt.cpp:316
+msgid "No buttons found on this machine!"
+msgstr "Nem található gomb ezen a gépen!"
+
+#: src/frontend/mame/ui/cheatopt.cpp:327 src/frontend/mame/ui/cheatopt.cpp:331
+msgid "Autofire Delay"
+msgstr "Automata tüzelés törlése"
+
+#: src/frontend/mame/ui/ui.cpp:337
+msgid "This driver requires images to be loaded in the following device(s): "
+msgstr ""
+"Az illesztő számára szükségesek a következő eszköz(ök) által betöltött "
+"képek: "
+
+#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
+msgid "Keyboard Emulation Status"
+msgstr "Billentyűzet emuláció állapota"
+
+#: src/frontend/mame/ui/ui.cpp:1086
+msgid "Mode: PARTIAL Emulation"
+msgstr "Mód: RÉSZLEGES emuláció"
+
+#: src/frontend/mame/ui/ui.cpp:1087
+msgid "UI: Enabled"
+msgstr "UI: Bekapcsolva"
+
+#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
+msgid "**Use ScrLock to toggle**"
+msgstr "** Váltáshoz a ScrLock használható**"
+
+#: src/frontend/mame/ui/ui.cpp:1096
+msgid "Mode: FULL Emulation"
+msgstr "Mód: TELJES emuláció"
+
+#: src/frontend/mame/ui/ui.cpp:1097
+msgid "UI: Disabled"
+msgstr "UI: Kikapcsolva"
+
+#: src/frontend/mame/ui/ui.cpp:1249
+msgid "Autofire can't be enabled"
+msgstr "Automata tüzelés nem kapcsolható be"
+
+#: src/frontend/mame/ui/ui.cpp:1302
#, c-format
msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
+"Are you sure you want to quit?\n"
"\n"
-"CPU:\n"
+"Press ''%1$s'' to quit,\n"
+"Press ''%2$s'' to return to emulation."
msgstr ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Vezérlőprogram: %4$s\n"
+"Biztos ki akarsz lépni?\n"
"\n"
-"Processzor:\n"
+"Nyomj ''%1$s'' gombot a kilépéshez,\n"
+"Nyomj ''%2$s'' gombot, hogy visszatérj az emulációhoz."
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
-msgstr "MHz"
+#: src/frontend/mame/ui/ui.cpp:1374
+msgid "Master Volume"
+msgstr "Fő hangerő"
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
-msgstr "kHz"
+#: src/frontend/mame/ui/ui.cpp:1383
+#, c-format
+msgid "%1$s Volume"
+msgstr "%1$s Hangerő"
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/ui.cpp:1407
+#, c-format
+msgid "Overclock CPU %1$s"
+msgstr "Processzor túlhajtás %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1416
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-"\n"
-"Hang:\n"
-#: src/frontend/mame/ui/info.cpp:378
+#: src/frontend/mame/ui/ui.cpp:1437
+#, c-format
+msgid "%1$s Refresh Rate"
+msgstr "%1$s Képfrissítés"
+
+#: src/frontend/mame/ui/ui.cpp:1442
+#, c-format
+msgid "%1$s Brightness"
+msgstr "%1$s Fényerő"
+
+#: src/frontend/mame/ui/ui.cpp:1444
+#, c-format
+msgid "%1$s Contrast"
+msgstr "%1$s Kontraszt"
+
+#: src/frontend/mame/ui/ui.cpp:1446
+#, c-format
+msgid "%1$s Gamma"
+msgstr "%1$s Gamma"
+
+#: src/frontend/mame/ui/ui.cpp:1450
+#, c-format
+msgid "%1$s Horiz Stretch"
+msgstr "%1$s Vízszintes nyújtás"
+
+#: src/frontend/mame/ui/ui.cpp:1452
+#, c-format
+msgid "%1$s Horiz Position"
+msgstr "%1$s Vízszintes helyzet"
+
+#: src/frontend/mame/ui/ui.cpp:1454
+#, c-format
+msgid "%1$s Vert Stretch"
+msgstr "%1$s Függőleges nyújtás"
+
+#: src/frontend/mame/ui/ui.cpp:1456
+#, c-format
+msgid "%1$s Vert Position"
+msgstr "%1$s Függőleges helyzet"
+
+#: src/frontend/mame/ui/ui.cpp:1475
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
+msgstr "Lézerlemez '%1$s' vízszintes nyújtás"
+
+#: src/frontend/mame/ui/ui.cpp:1477
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
+msgstr "Lézerlemez '%1$s' vízszintes pozíció"
+
+#: src/frontend/mame/ui/ui.cpp:1479
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
+msgstr "Lézerlemez '%1$s' függőleges nyújtás"
+
+#: src/frontend/mame/ui/ui.cpp:1481
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
+msgstr "Lézerlemez '%1$s' függőleges pozíció"
+
+#: src/frontend/mame/ui/ui.cpp:1493
+msgid "Vector Flicker"
+msgstr "Vektor villogás"
+
+#: src/frontend/mame/ui/ui.cpp:1494
+msgid "Beam Width Minimum"
+msgstr "Minimális sugár szélesség"
+
+#: src/frontend/mame/ui/ui.cpp:1495
+msgid "Beam Width Maximum"
+msgstr "Maximális sugár szélesség"
+
+#: src/frontend/mame/ui/ui.cpp:1496
+msgid "Beam Intensity Weight"
+msgstr "Sugár erősség mértéke"
+
+#: src/frontend/mame/ui/ui.cpp:1511
+#, c-format
+msgid "Crosshair Scale %1$s"
+msgstr "Célkereszt skála %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "X"
+msgstr "X"
+
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "Y"
+msgstr "Y"
+
+#: src/frontend/mame/ui/ui.cpp:1513
+#, c-format
+msgid "Crosshair Offset %1$s"
+msgstr "Célkereszt kiegyenlítés %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1601
+#, c-format
+msgid "%1$3ddB"
+msgstr "%1$3ddB"
+
+#: src/frontend/mame/ui/ui.cpp:1645
+#, c-format
+msgid "%1$d%%"
+msgstr "%1$d%%"
+
+#: src/frontend/mame/ui/ui.cpp:1661
+#, c-format
+msgid "%1$3.0f%%"
+msgstr "%1$3.0f%%"
+
+#: src/frontend/mame/ui/ui.cpp:1685
+#, c-format
+msgid "%1$.3ffps"
+msgstr "%1$.3ffps"
+
+#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
+#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
+#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
+#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
+#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
+#: src/frontend/mame/ui/ui.cpp:1927
+#, c-format
+msgid "%1$.3f"
+msgstr "%1$.3f"
+
+#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
+#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
+#, c-format
+msgid "%1$1.2f"
+msgstr "%1$1.2f"
+
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
+msgstr "Célkereszt skála X %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
+msgstr "Célkereszt skála Y %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
+msgstr "Célkereszt kiegyenlítés X %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
+msgstr "Célkereszt kiegyenlítés Y %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
+msgstr "**ui.ini mentése közben hiba történt**"
+
+#: src/frontend/mame/ui/ui.cpp:2226
+#, c-format
+msgid "**Error saving %s.ini**"
+msgstr "**%s.ini mentése közben hiba történt**"
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " COLORS"
+msgstr " SZÃNEK"
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " PENS"
+msgstr " TOLLAK"
+
+#: src/frontend/mame/ui/devopt.cpp:39
+#, c-format
msgid ""
+"[This option is currently mounted in the running system]\n"
"\n"
-"Video:\n"
-msgstr ""
+"Option: %1$s\n"
+"Device: %2$s\n"
"\n"
-"Kép:\n"
-
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
-msgstr "Nincs\n"
-
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
-msgstr "Vektor"
+"The selected option enables the following items:\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:40
#, c-format
-msgid "%1$s: %2$s\n"
-msgstr "%1$s: %2$s\n"
+msgid ""
+"[This option is NOT currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"If you select this option, the following items will be enabled:\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
-msgstr "%2$s\n"
+#: src/frontend/mame/ui/devopt.cpp:48
+msgid "* CPU:\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
#, c-format
-msgid "Screen '%1$s'"
-msgstr "Képernyő '%1$s'"
+msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr "Képernyő"
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
+msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
-msgstr "Nem támogatott"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %3$d.%4$06d MHz\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
-msgstr "Részlegesen támogatva"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %5$d.%6$03d kHz\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
-msgstr "[üres]"
+#: src/frontend/mame/ui/devopt.cpp:85
+msgid "* Video:\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
-msgstr "Kezelő pult"
+#: src/frontend/mame/ui/devopt.cpp:90
+#, c-format
+msgid " Screen '%1$s': Vector\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
-msgstr "Illusztráció előnézet"
+#: src/frontend/mame/ui/devopt.cpp:99
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
-msgstr "A játék végetért"
+#: src/frontend/mame/ui/devopt.cpp:100
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
-msgstr "Kedvencek felvétele vagy eltávolítása"
+#: src/frontend/mame/ui/devopt.cpp:113
+msgid "* Sound:\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
-msgstr "A megjelenített lista exportálása fájlba"
+#: src/frontend/mame/ui/devopt.cpp:133
+#, c-format
+msgid " %1$d×%2$s\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
-msgstr "DAT nézet mutatása"
+#: src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
-msgstr "Szoftver rész választás:"
+#: src/frontend/mame/ui/devopt.cpp:164
+#, c-format
+msgid ""
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:204 src/frontend/mame/ui/devopt.cpp:220
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
+#: src/frontend/mame/ui/devopt.cpp:209 src/frontend/mame/ui/devopt.cpp:225
#, c-format
-msgid "Software is clone of: %1$-.100s"
-msgstr "A szoftver a következő klónja: %1$-.100s"
+msgid " %1$s\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
-msgstr "A szoftver alap"
+#: src/frontend/mame/ui/devopt.cpp:230
+msgid "* DIP switch settings:\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
-msgstr "Támogatás: Nem"
+#: src/frontend/mame/ui/devopt.cpp:232
+msgid "* Configuration settings:\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
-msgstr "Támogatás: Részleges"
+#: src/frontend/mame/ui/devopt.cpp:234
+msgid "* Input device(s):\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
-msgstr "Támogatás: Igen"
+#: src/frontend/mame/ui/devopt.cpp:236
+#, c-format
+msgid " User inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
+#: src/frontend/mame/ui/devopt.cpp:238
#, c-format
-msgid "romset: %1$-.100s"
-msgstr "romkészlet: %1$-.100s"
+msgid " Mahjong inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
+#: src/frontend/mame/ui/devopt.cpp:240
#, c-format
-msgid "Driver is clone of: %1$-.100s"
-msgstr "A vezérlőprogram a következő klónja: %1$-.100s"
+msgid " Hanafuda inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
-msgstr "A vezérlőprogram alap"
+#: src/frontend/mame/ui/devopt.cpp:242
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
+#: src/frontend/mame/ui/devopt.cpp:244
#, c-format
-msgid "%1$s %2$s"
-msgstr "%1$s %2$s"
+msgid " Analog inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
-msgstr "Képek"
+#: src/frontend/mame/ui/devopt.cpp:246
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
-msgstr "Infók"
+#: src/frontend/mame/ui/devopt.cpp:248
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
-msgstr "Használat"
+#: src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
-msgstr "Ãltalános infók"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* Media Options:\n"
+msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
-msgstr "Felhasználói felület"
+#: src/frontend/mame/ui/devopt.cpp:257
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
+msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
-msgstr "Egyéb irányítók"
+#: src/frontend/mame/ui/devopt.cpp:263
+msgid "* Slot Options:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:270
+msgid "[None]\n"
+msgstr ""
#: plugins/timer/init.lua:94
msgid "Current time"
@@ -2724,51 +2643,51 @@ msgstr ""
msgid "Timer"
msgstr ""
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:510
msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheat/init.lua:534
+#: plugins/cheat/init.lua:516
msgid "Press button for hotkey or wait to clear"
msgstr ""
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:528
msgid "None"
msgstr ""
-#: plugins/cheat/init.lua:551
+#: plugins/cheat/init.lua:533
msgid "Done"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:547 plugins/cheat/init.lua:561
msgid "Set"
msgstr ""
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:580
msgid "Set hotkeys"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:720
#, lua-format
msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:723 plugins/cheat/init.lua:781
#, lua-format
msgid "Activated: %s"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:785
#, lua-format
msgid "Enabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:790
#, lua-format
msgid "Disabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "%s added"
msgstr ""
@@ -2817,304 +2736,219 @@ msgstr "Gameinit"
msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:404
+#: plugins/cheatfind/init.lua:373
msgid "Save Cheat"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Default"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Custom"
msgstr ""
-#: plugins/cheatfind/init.lua:408
+#: plugins/cheatfind/init.lua:377
msgid "Cheat Name"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/cheatfind/init.lua:383 plugins/cheatfind/init.lua:748
#, lua-format
msgid "Default name is %s"
msgstr ""
-#: plugins/cheatfind/init.lua:422
+#: plugins/cheatfind/init.lua:391
msgid "Player"
msgstr ""
-#: plugins/cheatfind/init.lua:427
+#: plugins/cheatfind/init.lua:396
msgid "Type"
msgstr ""
-#: plugins/cheatfind/init.lua:433
+#: plugins/cheatfind/init.lua:402
msgid "Save"
msgstr ""
-#: plugins/cheatfind/init.lua:462
+#: plugins/cheatfind/init.lua:429
#, lua-format
msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:472
+#: plugins/cheatfind/init.lua:437
msgid "Cheat added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:442
msgid ""
"Unable to write file\n"
"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/cheatfind/init.lua:486
+#: plugins/cheatfind/init.lua:451
msgid "Cancel"
msgstr ""
-#: plugins/cheatfind/init.lua:491
+#: plugins/cheatfind/init.lua:456
msgid "CPU or RAM"
msgstr ""
-#: plugins/cheatfind/init.lua:495
+#: plugins/cheatfind/init.lua:460
msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:479
+msgid "Data cleared and current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:487
+msgid "Start new search"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:497
+msgid "Current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:504
+msgid "Save current -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
+#: plugins/cheatfind/init.lua:536
#, lua-format
-msgid "Memory State saved to Slot %d"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:543
+msgid "Compare"
msgstr ""
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
+#: plugins/cheatfind/init.lua:546
+msgid "Left operand"
+msgstr ""
+
+#: plugins/cheatfind/init.lua:549
+msgid "Current"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:554
+msgid "Operator"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:561
+msgid "Left less than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:563
+msgid "Left greater than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:676
+#: plugins/cheatfind/init.lua:565
msgid "Left equal to right"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:567
+msgid "Left not equal to right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:680
+#: plugins/cheatfind/init.lua:569
msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:682
+#: plugins/cheatfind/init.lua:571
msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:684
+#: plugins/cheatfind/init.lua:573
msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:686
+#: plugins/cheatfind/init.lua:575
msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:688
+#: plugins/cheatfind/init.lua:577
msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:690
+#: plugins/cheatfind/init.lua:579
msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/cheatfind/init.lua:590
+msgid "Right operand"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/cheatfind/init.lua:598
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:719
+#: plugins/cheatfind/init.lua:602
msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:725
+#: plugins/cheatfind/init.lua:608
msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:738
-msgid ""
-"Use this if you want to poke the Slot 1 value (eg. You started with "
-"something but lost it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:740
-msgid ""
-"Use this if you want to poke the Last Slot value (eg. You started without an "
-"item but finally got it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:816
+#: plugins/cheatfind/init.lua:632
msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:820
+#: plugins/cheatfind/init.lua:636
msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:823
+#: plugins/cheatfind/init.lua:639
msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheatfind/init.lua:690
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Test cheat at addr %08X"
msgstr ""
-#: plugins/cheatfind/init.lua:974
+#: plugins/cheatfind/init.lua:722
msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
+#: plugins/cheatfind/init.lua:788
msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
+#: plugins/cheatfind/init.lua:806
msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
+#: plugins/cheatfind/init.lua:816
msgid "Cheat Finder"
msgstr ""
-#: plugins/portname/init.lua:103
+#: plugins/portname/init.lua:69
msgid "Save input names to file"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
+#: plugins/portname/init.lua:100 plugins/portname/init.lua:105
+#: plugins/portname/init.lua:121
msgid "Failed to save input name file"
msgstr ""
-#: plugins/portname/init.lua:167
+#: plugins/portname/init.lua:133
#, lua-format
msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/portname/init.lua:172
+#: plugins/portname/init.lua:138
msgid "Input ports"
msgstr ""
diff --git a/language/Indonesian/strings.po b/language/Indonesian/strings.po
index e2323eafa8a..49d3085f85e 100644
--- a/language/Indonesian/strings.po
+++ b/language/Indonesian/strings.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MAME\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-03-17 13:37+1100\n"
+"POT-Creation-Date: 2018-04-28 15:32+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -17,1144 +17,1041 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
+#: src/frontend/mame/ui/auditmenu.cpp:96
#, c-format
-msgid "Screen #%d"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Enabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Disabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
-msgid "Marquees"
+#: src/frontend/mame/ui/auditmenu.cpp:99
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/auditmenu.cpp:104
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/auditmenu.cpp:130
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/auditmenu.cpp:142
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/selmenu.cpp:49 src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/selmenu.cpp:50 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/selmenu.cpp:51
+msgid "Control Panels"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/selmenu.cpp:52 src/frontend/mame/ui/dirmenu.cpp:50
+msgid "PCBs"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/selmenu.cpp:53 src/frontend/mame/ui/dirmenu.cpp:47
+msgid "Flyers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/selmenu.cpp:54 src/frontend/mame/ui/dirmenu.cpp:48
+msgid "Titles"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/selmenu.cpp:55 src/frontend/mame/ui/dirmenu.cpp:49
+msgid "Ends"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/selmenu.cpp:56
+msgid "Artwork Preview"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/selmenu.cpp:57 src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Bosses"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/selmenu.cpp:58 src/frontend/mame/ui/dirmenu.cpp:60
+msgid "Logos"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/selmenu.cpp:59 src/frontend/mame/ui/dirmenu.cpp:62
+msgid "Versus"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/selmenu.cpp:60
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/selmenu.cpp:61 src/frontend/mame/ui/dirmenu.cpp:59
+msgid "HowTo"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/selmenu.cpp:62 src/frontend/mame/ui/dirmenu.cpp:61
+msgid "Scores"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/selmenu.cpp:63 src/frontend/mame/ui/dirmenu.cpp:57
+msgid "Select"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/selmenu.cpp:64 src/frontend/mame/ui/dirmenu.cpp:51
+#: src/frontend/mame/ui/videoopt.cpp:224
+msgid "Marquees"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/selmenu.cpp:65 src/frontend/mame/ui/dirmenu.cpp:63
+msgid "Covers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/selmenu.cpp:69
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/selmenu.cpp:70
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/selmenu.cpp:71
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/selmenu.cpp:237
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/selmenu.cpp:343
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/selmenu.cpp:570 src/frontend/mame/ui/selmenu.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:311
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/selmenu.cpp:574
+#, c-format
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/selmenu.cpp:576
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/selmenu.cpp:581
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/selmenu.cpp:586
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/selmenu.cpp:591
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selmenu.cpp:596
+#, c-format
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selmenu.cpp:612
#, c-format
-msgid "Current %1$s Folders"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selmenu.cpp:614
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selmenu.cpp:619
+#: src/frontend/mame/ui/simpleselgame.cpp:330
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selmenu.cpp:621
+#: src/frontend/mame/ui/simpleselgame.cpp:332
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:623
+#: src/frontend/mame/ui/simpleselgame.cpp:334
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:627
+#: src/frontend/mame/ui/simpleselgame.cpp:338
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/selmenu.cpp:629
+#: src/frontend/mame/ui/simpleselgame.cpp:340
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/selmenu.cpp:631
+#: src/frontend/mame/ui/simpleselgame.cpp:342
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/selmenu.cpp:634
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/selmenu.cpp:636
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/selmenu.cpp:638
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/selmenu.cpp:640
+#: src/frontend/mame/ui/simpleselgame.cpp:351
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/selmenu.cpp:650
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/selmenu.cpp:1975
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/selmenu.cpp:1976
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/selmenu.cpp:2386 src/frontend/mame/ui/miscmenu.cpp:826
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/selmenu.cpp:2454
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/selmenu.cpp:2489
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/dirmenu.cpp:35
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/dirmenu.cpp:36
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
-#: src/frontend/mame/ui/slotopt.cpp:220
-msgid "[empty slot]"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/dirmenu.cpp:40
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/dirmenu.cpp:52
+msgid "Controls Panels"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/dirmenu.cpp:53
+msgid "Crosshairs"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Artworks"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks Preview"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "GameOver"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/dirmenu.cpp:116
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/dirmenu.cpp:167
+#, c-format
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/dirmenu.cpp:182
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/dirmenu.cpp:429
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/dirmenu.cpp:513
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/info.cpp:30
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "LAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/info.cpp:180
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/info.cpp:190
+msgid ""
+"There are known problems with this machine\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/info.cpp:195
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/info.cpp:200
+msgid "Completely unemulated features: "
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#, c-format
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#: src/frontend/mame/ui/info.cpp:267
+#, c-format
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/info.cpp:216
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/info.cpp:231
+msgid "Screen flipping in cocktail mode is not supported.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/info.cpp:233
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/info.cpp:235
+msgid ""
+"This machine was never completed. It may exhibit strange behavior or missing "
+"elements that are not bugs in the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/info.cpp:237
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/info.cpp:241
+msgid ""
+"\n"
+"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
+"complete. There is nothing you can do to fix this problem except wait for "
+"the developers to improve the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/info.cpp:243
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they requires physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/info.cpp:265
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/info.cpp:278
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/info.cpp:293
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:149
+#: src/frontend/mame/ui/info.cpp:342
msgid ""
-"The selected game is missing one or more required ROM or CHD images. Please "
-"select a different game.\n"
"\n"
-"Press any key to continue."
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:247
-#, c-format
+#: src/frontend/mame/ui/info.cpp:370
msgid ""
-"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
"\n"
-"If this is your first time using %2$s, please see the config.txt file in the "
-"docs directory for information on configuring %2$s."
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+"Video:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/info.cpp:374
+msgid "None\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/info.cpp:381
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:314
-#: src/frontend/mame/ui/selsoft.cpp:652 src/frontend/mame/ui/selsoft.cpp:659
+#: src/frontend/mame/ui/info.cpp:392
#, c-format
-msgid "%1$-.100s"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:317
-#: src/frontend/mame/ui/selmenu.cpp:618 src/frontend/mame/ui/selmenu.cpp:654
-#, c-format
-msgid "%1$s, %2$-.100s"
+#: src/frontend/mame/ui/info.cpp:392
+msgid "%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
+#: src/frontend/mame/ui/info.cpp:438
#, c-format
-msgid "Driver: %1$-.100s"
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+msgid "Screen '%1$s'"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/info.cpp:440
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/info.cpp:525
+msgid "Not supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/info.cpp:528
+msgid "Partially supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/info.cpp:536
+msgid "[empty]"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/optsmenu.cpp:193
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/optsmenu.cpp:206
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/optsmenu.cpp:207
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/optsmenu.cpp:210 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/optsmenu.cpp:213
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/optsmenu.cpp:216
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/optsmenu.cpp:228
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:337
-msgid "This driver requires images to be loaded in the following device(s): "
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
+msgid "Rewind"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1302
-#, c-format
-msgid ""
-"Are you sure you want to quit?\n"
-"\n"
-"Press ''%1$s'' to quit,\n"
-"Press ''%2$s'' to return to emulation."
+#: src/frontend/mame/ui/inputmap.cpp:53
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/inputmap.cpp:59
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
+#: src/frontend/mame/ui/inputmap.cpp:628 src/frontend/mame/ui/miscmenu.cpp:96
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/selector.cpp:116
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
+#: src/frontend/mame/ui/selector.cpp:124
#, c-format
-msgid "Overclock %1$s sound"
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/filesel.cpp:256
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/swlist.cpp:88
+msgid "[file manager]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/swlist.cpp:228
+msgid "Switch Item Ordering"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
+#: src/frontend/mame/ui/swlist.cpp:259
#, c-format
-msgid "%1$s Horiz Stretch"
+msgid "Switched Order: entries now ordered by %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "shortname"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "description"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/swlist.cpp:389
+msgid "[compatible lists]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/datmenu.cpp:80
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/datmenu.cpp:362
+msgid "Revision: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/simpleselgame.cpp:149
+msgid ""
+"The selected game is missing one or more required ROM or CHD images. Please "
+"select a different game.\n"
+"\n"
+"Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
+#: src/frontend/mame/ui/simpleselgame.cpp:241
#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+msgid ""
+"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
+"\n"
+"If this is your first time using %2$s, please see the config.txt file in the "
+"docs directory for information on configuring %2$s."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/simpleselgame.cpp:271
+#: src/frontend/mame/ui/selgame.cpp:436
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/simpleselgame.cpp:292
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/simpleselgame.cpp:294
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
+#: src/frontend/mame/ui/simpleselgame.cpp:308
+#: src/frontend/mame/ui/selsoft.cpp:564 src/frontend/mame/ui/selsoft.cpp:571
#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/simpleselgame.cpp:314
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
+#: src/frontend/mame/ui/videoopt.cpp:56
#, c-format
-msgid "Crosshair Offset %1$s"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/videoopt.cpp:208
+msgid "Backdrops"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Enabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Disabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
-#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
-#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
-#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
-#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
-#: src/frontend/mame/ui/ui.cpp:1927
-#, c-format
-msgid "%1$.3f"
+#: src/frontend/mame/ui/videoopt.cpp:212
+msgid "Overlays"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
-#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
-#, c-format
-msgid "%1$1.2f"
+#: src/frontend/mame/ui/videoopt.cpp:216
+msgid "Bezels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:220
+msgid "CPanels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "View"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cropped"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Full"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1047
+msgid "No"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
-msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1047
+msgid "Yes"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
-msgid ""
-"Cheat Comment:\n"
-"%s"
+#: src/frontend/mame/ui/filecreate.cpp:171
+msgid "New Image Name:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/filecreate.cpp:177
+msgid "Image Format:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/filecreate.cpp:183
+msgid "Create"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/filecreate.cpp:266
+msgid "Select image format"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Keyboard Mode:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Natural"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Emulated"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
+#: src/frontend/mame/ui/miscmenu.cpp:236
#, c-format
msgid ""
-"%s\n"
-" added to favorites list."
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
+#: src/frontend/mame/ui/miscmenu.cpp:238
#, c-format
msgid ""
-"%s\n"
-" removed from favorites list."
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/miscmenu.cpp:242
+#, c-format
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
+"Tickets dispensed: %1$d\n"
"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
+#: src/frontend/mame/ui/miscmenu.cpp:253
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/miscmenu.cpp:253
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
-#, c-format
-msgid "Driver: \"%1$s\" software list "
+#: src/frontend/mame/ui/miscmenu.cpp:256
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
-#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+#: src/frontend/mame/ui/miscmenu.cpp:503
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/miscmenu.cpp:601
#, c-format
-msgid "Search: %1$s_"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
-msgid "Unfiltered"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
-msgid "Available"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
-msgid "Unavailable"
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
-msgid "Working"
+#: src/frontend/mame/ui/miscmenu.cpp:627
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
-msgid "Not Working"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
-msgid "Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:655
+msgid "Export list in XML format (like -listxml)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
-msgid "Not Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:656
+msgid "Export list in XML format (like -listxml, but exclude devices)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
-msgid "Category"
+#: src/frontend/mame/ui/miscmenu.cpp:657
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
-msgid "Favorites"
+#: src/frontend/mame/ui/miscmenu.cpp:710 src/frontend/mame/ui/ui.cpp:2230
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/miscmenu.cpp:760 src/frontend/mame/ui/utils.cpp:66
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
-msgid "Not BIOS"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
-msgid "Parents"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
-msgid "Clones"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:73
-msgid "Manufacturer"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
-msgid "Year"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:75
-msgid "Save Supported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:76
-msgid "Save Unsupported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:77
-msgid "CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:78
-msgid "No CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:79
-msgid "Vertical Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:80
-msgid "Horizontal Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
-msgid "Custom Filter"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:91
-msgid "Publisher"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:92
-msgid "Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:764
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
-msgid "Partially Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:767
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
-msgid "Unsupported"
+#: src/frontend/mame/ui/miscmenu.cpp:776 src/frontend/mame/ui/mainmenu.cpp:145
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
-msgid "Release Region"
+#: src/frontend/mame/ui/miscmenu.cpp:778 src/frontend/mame/ui/mainmenu.cpp:147
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
-msgid "Device Type"
+#: src/frontend/mame/ui/miscmenu.cpp:781
+msgid "Save machine configuration"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
-msgid "Software List"
+#: src/frontend/mame/ui/miscmenu.cpp:792
+msgid "Configure machine:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
-msgid "<set up filters>"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:736
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:551 plugins/cheatfind/init.lua:619
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
-msgid "Select custom filters:"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:739
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:554 plugins/cheat/init.lua:563
+#: plugins/cheatfind/init.lua:616
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
-#, c-format
-msgid "Filter %1$u"
+#: src/frontend/mame/ui/miscmenu.cpp:909 src/frontend/mame/ui/selgame.cpp:441
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
-msgid "Remove last filter"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
-msgid "Add filter"
+#: src/frontend/mame/ui/barcode.cpp:78
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
-msgid "Select category:"
+#: src/frontend/mame/ui/barcode.cpp:119
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
-msgid "[no category INI files]"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:99
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
-msgid "[no groups in INI file]"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
-msgid "No category INI files found"
+#: src/frontend/mame/ui/mainmenu.cpp:60
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
-msgid "File"
+#: src/frontend/mame/ui/mainmenu.cpp:62
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
-msgid "No groups found in category file"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
-msgid "Group"
+#: src/frontend/mame/ui/mainmenu.cpp:68
+msgid "Dip Switches"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
-msgid "Include clones"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
+#: src/frontend/mame/ui/mainmenu.cpp:78
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/mainmenu.cpp:85
+msgid "Image Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/mainmenu.cpp:96
+msgid "Tape Control"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/mainmenu.cpp:102
+msgid "BIOS Selection"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/mainmenu.cpp:106
+msgid "Slot Devices"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
-#, c-format
-msgid "%s [internal]"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Barcode Reader"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:203 src/frontend/mame/ui/miscmenu.cpp:97
-#: src/frontend/mame/ui/inputmap.cpp:615
-msgid "Reset"
+#: src/frontend/mame/ui/mainmenu.cpp:114
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/mainmenu.cpp:118
+msgid "Keyboard Mode"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/mainmenu.cpp:121
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/mainmenu.cpp:124 src/frontend/mame/ui/submenu.cpp:101
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/mainmenu.cpp:128
+msgid "Crosshair Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/mainmenu.cpp:132 plugins/cheat/init.lua:735
+msgid "Cheat"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:762
-#: plugins/cheat/init.lua:569 plugins/cheatfind/init.lua:792
-#: plugins/cheatfind/init.lua:803
-msgid "On"
+#: src/frontend/mame/ui/mainmenu.cpp:135
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:765
-#: plugins/cheat/init.lua:572 plugins/cheat/init.lua:581
-#: plugins/cheatfind/init.lua:789 plugins/cheatfind/init.lua:800
-msgid "Off"
+#: src/frontend/mame/ui/mainmenu.cpp:139
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/mainmenu.cpp:154
+msgid "Select New Machine"
msgstr ""
#: src/frontend/mame/ui/custui.cpp:31
@@ -1377,1281 +1274,1303 @@ msgstr ""
msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/submenu.cpp:22
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/submenu.cpp:23
+msgid "Re-select last machine played"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/submenu.cpp:24
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:26
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:27
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:28
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:29
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:30
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
-#, c-format
-msgid "%s.txt saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/submenu.cpp:45
+msgid "Refresh speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/submenu.cpp:47
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/submenu.cpp:49
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
-msgid "Configure Machine"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
-#, c-format
-msgid "Romset\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
-#, c-format
-msgid "Year\t%1$s\n"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
-#, c-format
-msgid "Manufacturer\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
-#, c-format
-msgid "Driver is Clone of\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1044
-msgid "Driver is Parent\t\n"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
-msgid "Analog Controls\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Artwork Crop"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
-msgid "Keyboard Inputs\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Use Backdrops"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
-msgid "Overall\tNOT WORKING\n"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Use Overlays"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
-msgid "Overall\tUnemulated Protection\n"
+#: src/frontend/mame/ui/submenu.cpp:60
+msgid "Use Bezels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
-msgid "Overall\tWorking\n"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Use Control Panels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
-msgid "Graphics\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:62
+msgid "Use Marquees"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
-msgid "Graphics\tWrong Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
-msgid "Graphics\tImperfect Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
-msgid "Graphics\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
-msgid "Graphics\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Bilinear snapshot"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
-msgid "Sound\tNone\n"
+#: src/frontend/mame/ui/submenu.cpp:69
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
-msgid "Sound\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
-msgid "Sound\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:72
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
-msgid "Sound\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
-msgid "Capture\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
-msgid "Capture\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
-msgid "Camera\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
-msgid "Camera\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
-msgid "Microphone\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
-msgid "Microphone\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:79
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
-msgid "Controls\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
-msgid "Controls\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
-msgid "Keyboard\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Joystick saturation"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
-msgid "Keyboard\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Natural keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
-msgid "Mouse\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
-msgid "Mouse\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
-msgid "Media\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
-msgid "Media\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Lightgun Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
-msgid "Disk\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Trackball Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
-msgid "Disk\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
-msgid "Printer\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
-msgid "Printer\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
-msgid "Mag. Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:95
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
-msgid "Mag. Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:96
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
-msgid "Punch Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:97
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
-msgid "Punch Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
-msgid "Mag. Drum\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:103
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
-msgid "Mag. Drum\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
-msgid "(EP)ROM\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
-msgid "(EP)ROM\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
-msgid "Communications\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:109
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
-msgid "Communications\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:110
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
-msgid "LAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:111
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
-msgid "LAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:112
+msgid "Enforce Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
-msgid "WAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:113
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
-msgid "WAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:114
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
-msgid "Timing\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
-msgid "Timing\tImperfect\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tYes\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Select position to load from"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tNo\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tYes\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Select position to save to"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tNo\n"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:309 src/frontend/mame/ui/selsoft.cpp:211
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:314 src/frontend/mame/ui/selgame.cpp:320
+#: src/frontend/mame/ui/selsoft.cpp:216
+#, c-format
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:437
+msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:849
+#, c-format
+msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:850
+#, c-format
+msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:851
+#, c-format
+msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:855
+#, c-format
+msgid "Driver is Clone of\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:857
+msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tVertical\n"
+#: src/frontend/mame/ui/selgame.cpp:860
+msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tHorizontal\n"
+#: src/frontend/mame/ui/selgame.cpp:862
+msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:865
+msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:867
+msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
-msgid "ROM Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:869
+msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
-msgid "ROM Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:872
+msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
-msgid "Samples Audit Result\tNone Needed\n"
+#: src/frontend/mame/ui/selgame.cpp:874
+msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
-msgid "Samples Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:876
+msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
-msgid "Samples Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:878
+msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
-msgid ""
-"ROM Audit \tDisabled\n"
-"Samples Audit \tDisabled\n"
+#: src/frontend/mame/ui/selgame.cpp:880
+msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
+#: src/frontend/mame/ui/selgame.cpp:883
+msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1424
-#, c-format
-msgid "Romset: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:885
+msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
-#, c-format
-msgid "System: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:887
+msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1465
-msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
+#: src/frontend/mame/ui/selgame.cpp:889
+msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
+#: src/frontend/mame/ui/selgame.cpp:892
+msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
+#: src/frontend/mame/ui/selgame.cpp:894
+msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
+#: src/frontend/mame/ui/selgame.cpp:897
+msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
+#: src/frontend/mame/ui/selgame.cpp:899
+msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
+#: src/frontend/mame/ui/selgame.cpp:902
+msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selgame.cpp:904
+msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selgame.cpp:907
+msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/selgame.cpp:909
+msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/selgame.cpp:912
+msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/selgame.cpp:914
+msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/selgame.cpp:917
+msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/selgame.cpp:919
+msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/selgame.cpp:922
+msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/selgame.cpp:924
+msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/selgame.cpp:927
+msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/selgame.cpp:929
+msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/selgame.cpp:932
+msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/selgame.cpp:934
+msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/selgame.cpp:937
+msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/selgame.cpp:939
+msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/selgame.cpp:970
+msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/selgame.cpp:972
+msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/selgame.cpp:975
+msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/selgame.cpp:977
+msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/selgame.cpp:979
+msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/selgame.cpp:983
+msgid ""
+"ROM Audit \tDisabled\n"
+"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/selgame.cpp:1167
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/selgame.cpp:1183 src/frontend/mame/ui/selsoft.cpp:555
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/selgame.cpp:1185 src/frontend/mame/ui/selsoft.cpp:557
+#, c-format
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/selgame.cpp:1195
+#, c-format
+msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/selgame.cpp:1202
+#, c-format
+msgid "System: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/selgame.cpp:1239
+msgid ""
+"The selected machine is missing one or more required ROM or CHD images. "
+"Please select a different machine.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/selgame.cpp:1245 src/frontend/mame/ui/selsoft.cpp:462
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/utils.cpp:57 src/frontend/mame/ui/utils.cpp:81
+msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/utils.cpp:58 src/frontend/mame/ui/utils.cpp:82
+msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/utils.cpp:59 src/frontend/mame/ui/utils.cpp:83
+msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/utils.cpp:60
+msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/utils.cpp:61
+msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/utils.cpp:62
+msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:63
+msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:64
+msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:65
+msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:67
+msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:84
+msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/utils.cpp:85
+msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:70
+msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:86
+msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/utils.cpp:72
+msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/utils.cpp:73
+msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/utils.cpp:74
+msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/utils.cpp:75
+msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/utils.cpp:76
+msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/utils.cpp:77
+msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/utils.cpp:78 src/frontend/mame/ui/utils.cpp:94
+msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/utils.cpp:87
+msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/utils.cpp:88
+msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/utils.cpp:89
+msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/utils.cpp:90
+msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/utils.cpp:91
+msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:43
-#, c-format
-msgid ""
-"[This option is currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"The selected option enables the following items:\n"
+#: src/frontend/mame/ui/utils.cpp:92
+msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:44
-#, c-format
-msgid ""
-"[This option is NOT currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"If you select this option, the following items will be enabled:\n"
+#: src/frontend/mame/ui/utils.cpp:93
+msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/utils.cpp:244
+msgid "<set up filters>"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:352
+msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/utils.cpp:503
#, c-format
-msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
-msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:518
+msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %3$d.%4$06d MHz\n"
+#: src/frontend/mame/ui/utils.cpp:520
+msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:959
+msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/utils.cpp:990
+msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/utils.cpp:998
+msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:103
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1032
+msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1037
+msgid "File"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/utils.cpp:1041
+msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
-#, c-format
-msgid " %1$d×%2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1046
+msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1047
+msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:168
-#, c-format
+#: src/frontend/mame/ui/selsoft.cpp:456
msgid ""
-"* BIOS settings:\n"
-" %1$d options [default: %2$s]\n"
+"The selected software is missing one or more required files. Please select a "
+"different software.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:208 src/frontend/mame/ui/devopt.cpp:224
-#: src/frontend/mame/ui/devopt.cpp:269
+#: src/frontend/mame/ui/selsoft.cpp:549
#, c-format
-msgid " %1$s [default: %2$s]\n"
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
+#: src/frontend/mame/ui/selsoft.cpp:550
#, c-format
-msgid " %1$s\n"
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:260
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:419
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/filesel.cpp:515
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:516
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:518
+msgid "Read-write"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
-#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:519
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:520
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:117
+msgid "Cannot save over directory"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:150
+msgid ""
+"The software selected is missing one or more required ROM or CHD images. "
+"Please select a different one."
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:294
+msgid "Return to Machine"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
-#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:299 src/frontend/mame/ui/menu.cpp:301
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+#: src/frontend/mame/ui/menu.cpp:306 src/frontend/mame/ui/menu.cpp:308
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
-#, c-format
-msgid " %1$s [tag: %2$s]\n"
+#: src/frontend/mame/ui/menu.cpp:742
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
+#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:653
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+#: src/frontend/mame/ui/cheatopt.cpp:105
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/cheatopt.cpp:136
+msgid "Autofire Settings"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:581
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:582
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
+#: src/frontend/mame/ui/cheatopt.cpp:273
+msgid "Autofire Status"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
+#: src/frontend/mame/ui/cheatopt.cpp:316
+msgid "No buttons found on this machine!"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+#: src/frontend/mame/ui/cheatopt.cpp:327 src/frontend/mame/ui/cheatopt.cpp:331
+msgid "Autofire Delay"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
-msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
+#: src/frontend/mame/ui/ui.cpp:337
+msgid "This driver requires images to be loaded in the following device(s): "
msgstr ""
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
+#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
+msgid "Keyboard Emulation Status"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
+#: src/frontend/mame/ui/ui.cpp:1086
+msgid "Mode: PARTIAL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
+#: src/frontend/mame/ui/ui.cpp:1087
+msgid "UI: Enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
+#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
+msgid "**Use ScrLock to toggle**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
+#: src/frontend/mame/ui/ui.cpp:1096
+msgid "Mode: FULL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: src/frontend/mame/ui/ui.cpp:1097
+msgid "UI: Disabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
+#: src/frontend/mame/ui/ui.cpp:1249
+msgid "Autofire can't be enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
+#: src/frontend/mame/ui/ui.cpp:1302
+#, c-format
+msgid ""
+"Are you sure you want to quit?\n"
+"\n"
+"Press ''%1$s'' to quit,\n"
+"Press ''%2$s'' to return to emulation."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
+#: src/frontend/mame/ui/ui.cpp:1374
+msgid "Master Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
+#: src/frontend/mame/ui/ui.cpp:1383
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/ui.cpp:1407
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/ui.cpp:1416
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/ui.cpp:1437
+#, c-format
+msgid "%1$s Refresh Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, c-format
+msgid "%1$s Brightness"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1444
+#, c-format
+msgid "%1$s Contrast"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1446
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/ui.cpp:1450
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/ui.cpp:1452
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/ui.cpp:1454
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/ui.cpp:1456
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/ui.cpp:1475
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/ui.cpp:1477
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/ui.cpp:1479
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
-msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+#: src/frontend/mame/ui/ui.cpp:1481
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:198
-msgid ""
-"There are known problems with this machine\n"
-"\n"
+#: src/frontend/mame/ui/ui.cpp:1493
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/ui.cpp:1494
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/ui.cpp:1495
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
+#: src/frontend/mame/ui/ui.cpp:1496
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#: src/frontend/mame/ui/info.cpp:275
+#: src/frontend/mame/ui/ui.cpp:1511
#, c-format
-msgid ", %s"
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
+#: src/frontend/mame/ui/ui.cpp:1513
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:243
-msgid ""
-"This machine was never completed. It may exhibit strange behavior or missing "
-"elements that are not bugs in the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1601
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:245
-msgid ""
-"This machine has no sound hardware, MAME will produce no sounds, this is "
-"expected behaviour.\n"
+#: src/frontend/mame/ui/ui.cpp:1645
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:249
-msgid ""
-"\n"
-"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
-"complete. There is nothing you can do to fix this problem except wait for "
-"the developers to improve the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1661
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:251
-msgid ""
-"\n"
-"Elements of this machine cannot be emulated as they requires physical "
-"interaction or consist of mechanical devices. It is not possible to fully "
-"experience this machine.\n"
+#: src/frontend/mame/ui/ui.cpp:1685
+#, c-format
+msgid "%1$.3ffps"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
+#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
+#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
+#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
+#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
+#: src/frontend/mame/ui/ui.cpp:1927
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
+#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/ui.cpp:2005
#, c-format
-msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/ui.cpp:2226
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " COLORS"
+msgstr ""
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:39
#, c-format
-msgid "%1$s: %2$s\n"
+msgid ""
+"[This option is currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"The selected option enables the following items:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+#: src/frontend/mame/ui/devopt.cpp:40
+#, c-format
+msgid ""
+"[This option is NOT currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"If you select this option, the following items will be enabled:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:48
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
#, c-format
-msgid "Screen '%1$s'"
+msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
+msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:85
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:90
+#, c-format
+msgid " Screen '%1$s': Vector\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:99
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:100
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:113
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:133
+#, c-format
+msgid " %1$d×%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:164
+#, c-format
+msgid ""
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:204 src/frontend/mame/ui/devopt.cpp:220
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
+#: src/frontend/mame/ui/devopt.cpp:209 src/frontend/mame/ui/devopt.cpp:225
#, c-format
-msgid "Software is clone of: %1$-.100s"
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: src/frontend/mame/ui/devopt.cpp:230
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: src/frontend/mame/ui/devopt.cpp:232
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: src/frontend/mame/ui/devopt.cpp:234
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: src/frontend/mame/ui/devopt.cpp:236
+#, c-format
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
+#: src/frontend/mame/ui/devopt.cpp:238
#, c-format
-msgid "romset: %1$-.100s"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
+#: src/frontend/mame/ui/devopt.cpp:240
#, c-format
-msgid "Driver is clone of: %1$-.100s"
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: src/frontend/mame/ui/devopt.cpp:242
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
+#: src/frontend/mame/ui/devopt.cpp:244
#, c-format
-msgid "%1$s %2$s"
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: src/frontend/mame/ui/devopt.cpp:246
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: src/frontend/mame/ui/devopt.cpp:248
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: src/frontend/mame/ui/devopt.cpp:257
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: src/frontend/mame/ui/devopt.cpp:263
+msgid "* Slot Options:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:270
+msgid "[None]\n"
msgstr ""
#: plugins/timer/init.lua:94
@@ -2670,51 +2589,51 @@ msgstr ""
msgid "Timer"
msgstr ""
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:510
msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheat/init.lua:534
+#: plugins/cheat/init.lua:516
msgid "Press button for hotkey or wait to clear"
msgstr ""
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:528
msgid "None"
msgstr ""
-#: plugins/cheat/init.lua:551
+#: plugins/cheat/init.lua:533
msgid "Done"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:547 plugins/cheat/init.lua:561
msgid "Set"
msgstr ""
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:580
msgid "Set hotkeys"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:720
#, lua-format
msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:723 plugins/cheat/init.lua:781
#, lua-format
msgid "Activated: %s"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:785
#, lua-format
msgid "Enabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:790
#, lua-format
msgid "Disabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "%s added"
msgstr ""
@@ -2763,303 +2682,218 @@ msgstr ""
msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:404
+#: plugins/cheatfind/init.lua:373
msgid "Save Cheat"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Default"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Custom"
msgstr ""
-#: plugins/cheatfind/init.lua:408
+#: plugins/cheatfind/init.lua:377
msgid "Cheat Name"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/cheatfind/init.lua:383 plugins/cheatfind/init.lua:748
#, lua-format
msgid "Default name is %s"
msgstr ""
-#: plugins/cheatfind/init.lua:422
+#: plugins/cheatfind/init.lua:391
msgid "Player"
msgstr ""
-#: plugins/cheatfind/init.lua:427
+#: plugins/cheatfind/init.lua:396
msgid "Type"
msgstr ""
-#: plugins/cheatfind/init.lua:433
+#: plugins/cheatfind/init.lua:402
msgid "Save"
msgstr ""
-#: plugins/cheatfind/init.lua:462
+#: plugins/cheatfind/init.lua:429
#, lua-format
msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:472
+#: plugins/cheatfind/init.lua:437
msgid "Cheat added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:442
msgid ""
"Unable to write file\n"
"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/cheatfind/init.lua:486
+#: plugins/cheatfind/init.lua:451
msgid "Cancel"
msgstr ""
-#: plugins/cheatfind/init.lua:491
+#: plugins/cheatfind/init.lua:456
msgid "CPU or RAM"
msgstr ""
-#: plugins/cheatfind/init.lua:495
+#: plugins/cheatfind/init.lua:460
msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:479
+msgid "Data cleared and current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:487
+msgid "Start new search"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:497
+msgid "Current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:504
+msgid "Save current -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
+#: plugins/cheatfind/init.lua:536
#, lua-format
-msgid "Memory State saved to Slot %d"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:543
+msgid "Compare"
msgstr ""
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
+#: plugins/cheatfind/init.lua:546
+msgid "Left operand"
+msgstr ""
+
+#: plugins/cheatfind/init.lua:549
+msgid "Current"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:554
+msgid "Operator"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:561
+msgid "Left less than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:563
+msgid "Left greater than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:676
+#: plugins/cheatfind/init.lua:565
msgid "Left equal to right"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:567
+msgid "Left not equal to right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:680
+#: plugins/cheatfind/init.lua:569
msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:682
+#: plugins/cheatfind/init.lua:571
msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:684
+#: plugins/cheatfind/init.lua:573
msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:686
+#: plugins/cheatfind/init.lua:575
msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:688
+#: plugins/cheatfind/init.lua:577
msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:690
+#: plugins/cheatfind/init.lua:579
msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/cheatfind/init.lua:590
+msgid "Right operand"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/cheatfind/init.lua:598
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:719
+#: plugins/cheatfind/init.lua:602
msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:725
+#: plugins/cheatfind/init.lua:608
msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:738
-msgid ""
-"Use this if you want to poke the Slot 1 value (eg. You started with "
-"something but lost it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:740
-msgid ""
-"Use this if you want to poke the Last Slot value (eg. You started without an "
-"item but finally got it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:816
+#: plugins/cheatfind/init.lua:632
msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:820
+#: plugins/cheatfind/init.lua:636
msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:823
+#: plugins/cheatfind/init.lua:639
msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheatfind/init.lua:690
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Test cheat at addr %08X"
msgstr ""
-#: plugins/cheatfind/init.lua:974
+#: plugins/cheatfind/init.lua:722
msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
+#: plugins/cheatfind/init.lua:788
msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
+#: plugins/cheatfind/init.lua:806
msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
+#: plugins/cheatfind/init.lua:816
msgid "Cheat Finder"
msgstr ""
-#: plugins/portname/init.lua:103
+#: plugins/portname/init.lua:69
msgid "Save input names to file"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
+#: plugins/portname/init.lua:100 plugins/portname/init.lua:105
+#: plugins/portname/init.lua:121
msgid "Failed to save input name file"
msgstr ""
-#: plugins/portname/init.lua:167
+#: plugins/portname/init.lua:133
#, lua-format
msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/portname/init.lua:172
+#: plugins/portname/init.lua:138
msgid "Input ports"
msgstr ""
diff --git a/language/Italian/strings.po b/language/Italian/strings.po
index 56eeba5c6b4..4025db47312 100644
--- a/language/Italian/strings.po
+++ b/language/Italian/strings.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MAME\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-03-17 13:37+1100\n"
+"POT-Creation-Date: 2018-04-28 15:32+1000\n"
"PO-Revision-Date: 2017-08-30 09:37+0200\n"
"Last-Translator: theheroGAC\n"
"Language-Team: MAME Language Team\n"
@@ -17,61 +17,238 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 2.0.3\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
+#: src/frontend/mame/ui/auditmenu.cpp:96
#, c-format
-msgid "Screen #%d"
-msgstr "Schermo #%d"
+msgid "Audit ROMs for %1$u machines marked unavailable?"
+msgstr "Verifico le ROMs per %1$u le macchine marcate come non disponibili?"
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr "Rotazione"
+#: src/frontend/mame/ui/auditmenu.cpp:99
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
+msgstr "Verifico le ROMs per tutte %1$u le macchine?"
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr "Sfondi (Backdrops)"
+#: src/frontend/mame/ui/auditmenu.cpp:104
+#, c-format
+msgid "(results will be saved to %1$s)"
+msgstr "(i risultati verranno salvati su %1$s)"
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Enabled"
-msgstr "Abilitato"
+#: src/frontend/mame/ui/auditmenu.cpp:130
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
+msgstr ""
+"Verifica delle ROMs per la macchina %2$u di %3$u...\n"
+"%1$s"
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Disabled"
-msgstr "Disabilitato"
+#: src/frontend/mame/ui/auditmenu.cpp:142
+msgid "Start Audit"
+msgstr "Avvia Verifica"
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr "Sovrapposizioni (Overlays)"
+#: src/frontend/mame/ui/selmenu.cpp:49 src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Snapshots"
+msgstr "Istantanee"
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr "Cornici (Bezels)"
+#: src/frontend/mame/ui/selmenu.cpp:50 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cabinets"
+msgstr "Cabinati"
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
-msgstr "Pannello Comandi (CPanels)"
+#: src/frontend/mame/ui/selmenu.cpp:51
+msgid "Control Panels"
+msgstr "Pannelli di controllo"
+
+#: src/frontend/mame/ui/selmenu.cpp:52 src/frontend/mame/ui/dirmenu.cpp:50
+msgid "PCBs"
+msgstr "PCB"
+
+#: src/frontend/mame/ui/selmenu.cpp:53 src/frontend/mame/ui/dirmenu.cpp:47
+msgid "Flyers"
+msgstr "Volantini"
+
+#: src/frontend/mame/ui/selmenu.cpp:54 src/frontend/mame/ui/dirmenu.cpp:48
+msgid "Titles"
+msgstr "Titoli"
+
+#: src/frontend/mame/ui/selmenu.cpp:55 src/frontend/mame/ui/dirmenu.cpp:49
+msgid "Ends"
+msgstr "Finali"
+
+#: src/frontend/mame/ui/selmenu.cpp:56
+msgid "Artwork Preview"
+msgstr "Anteprima Artwork"
+
+#: src/frontend/mame/ui/selmenu.cpp:57 src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Bosses"
+msgstr "Boss"
+
+#: src/frontend/mame/ui/selmenu.cpp:58 src/frontend/mame/ui/dirmenu.cpp:60
+msgid "Logos"
+msgstr "Logo"
+
+#: src/frontend/mame/ui/selmenu.cpp:59 src/frontend/mame/ui/dirmenu.cpp:62
+msgid "Versus"
+msgstr "Contro"
+
+#: src/frontend/mame/ui/selmenu.cpp:60
+msgid "Game Over"
+msgstr "Game Over"
+
+#: src/frontend/mame/ui/selmenu.cpp:61 src/frontend/mame/ui/dirmenu.cpp:59
+msgid "HowTo"
+msgstr "Come Fare"
+
+#: src/frontend/mame/ui/selmenu.cpp:62 src/frontend/mame/ui/dirmenu.cpp:61
+msgid "Scores"
+msgstr "Punteggi"
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
+#: src/frontend/mame/ui/selmenu.cpp:63 src/frontend/mame/ui/dirmenu.cpp:57
+msgid "Select"
+msgstr "Seleziona"
+
+#: src/frontend/mame/ui/selmenu.cpp:64 src/frontend/mame/ui/dirmenu.cpp:51
+#: src/frontend/mame/ui/videoopt.cpp:224
msgid "Marquees"
msgstr "Tendoni"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
-msgstr "Vista"
+#: src/frontend/mame/ui/selmenu.cpp:65 src/frontend/mame/ui/dirmenu.cpp:63
+msgid "Covers"
+msgstr "Copertine"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
-msgstr "Tagliata"
+#: src/frontend/mame/ui/selmenu.cpp:69
+msgid "Add or remove favorites"
+msgstr "Aggiungi o rimuovi preferiti"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
-msgstr "Completa"
+#: src/frontend/mame/ui/selmenu.cpp:70
+msgid "Export displayed list to file"
+msgstr "Esporta la lista visualizzata in un file"
+
+#: src/frontend/mame/ui/selmenu.cpp:71
+msgid "Show DATs view"
+msgstr "Mostra viste DAT"
+
+#: src/frontend/mame/ui/selmenu.cpp:237
+msgid "Software part selection:"
+msgstr "Selezione parte software:"
+
+#: src/frontend/mame/ui/selmenu.cpp:343
+msgid "BIOS selection:"
+msgstr "Selezione BIOS:"
+
+#: src/frontend/mame/ui/selmenu.cpp:570 src/frontend/mame/ui/selmenu.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:311
+#, c-format
+msgid "%1$s, %2$-.100s"
+msgstr "%1$s,%2$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:574
+#, c-format
+msgid "Software is clone of: %1$-.100s"
+msgstr "Il software è Clone di: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:576
+msgid "Software is parent"
+msgstr "Il software è parent"
+
+#: src/frontend/mame/ui/selmenu.cpp:581
+msgid "Supported: No"
+msgstr "Supportato: No"
+
+#: src/frontend/mame/ui/selmenu.cpp:586
+msgid "Supported: Partial"
+msgstr "Supportato: Parzialmente"
+
+#: src/frontend/mame/ui/selmenu.cpp:591
+msgid "Supported: Yes"
+msgstr "Supportato: Si"
+
+#: src/frontend/mame/ui/selmenu.cpp:596
+#, c-format
+msgid "romset: %1$-.100s"
+msgstr "set di rom:%1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:612
+#, c-format
+msgid "Driver is clone of: %1$-.100s"
+msgstr "Il Driver è un clone di: %-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:614
+msgid "Driver is parent"
+msgstr "Il Driver è un parent"
+
+#: src/frontend/mame/ui/selmenu.cpp:619
+#: src/frontend/mame/ui/simpleselgame.cpp:330
+msgid "Overall: NOT WORKING"
+msgstr "Complessivamente: NON FUNZIONANTE"
+
+#: src/frontend/mame/ui/selmenu.cpp:621
+#: src/frontend/mame/ui/simpleselgame.cpp:332
+msgid "Overall: Unemulated Protection"
+msgstr "Complessivamente: Protezione Non Emulata"
+
+#: src/frontend/mame/ui/selmenu.cpp:623
+#: src/frontend/mame/ui/simpleselgame.cpp:334
+msgid "Overall: Working"
+msgstr "Complessivamente: Funzionante"
+
+#: src/frontend/mame/ui/selmenu.cpp:627
+#: src/frontend/mame/ui/simpleselgame.cpp:338
+msgid "Graphics: Unimplemented, "
+msgstr "Grafica: Non implementata, "
+
+#: src/frontend/mame/ui/selmenu.cpp:629
+#: src/frontend/mame/ui/simpleselgame.cpp:340
+msgid "Graphics: Imperfect, "
+msgstr "Grafica: Non Perfetta, "
+
+#: src/frontend/mame/ui/selmenu.cpp:631
+#: src/frontend/mame/ui/simpleselgame.cpp:342
+msgid "Graphics: OK, "
+msgstr "Grafica: OK, "
+
+#: src/frontend/mame/ui/selmenu.cpp:634
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+msgid "Sound: None"
+msgstr "Suoni: Nessuno"
+
+#: src/frontend/mame/ui/selmenu.cpp:636
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+msgid "Sound: Unimplemented"
+msgstr "Audio: Non Implementato"
+
+#: src/frontend/mame/ui/selmenu.cpp:638
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+msgid "Sound: Imperfect"
+msgstr "Audio: Non Perfetto"
+
+#: src/frontend/mame/ui/selmenu.cpp:640
+#: src/frontend/mame/ui/simpleselgame.cpp:351
+msgid "Sound: OK"
+msgstr "Audio: OK"
+
+#: src/frontend/mame/ui/selmenu.cpp:650
+#, c-format
+msgid "%1$s %2$s"
+msgstr "%1$s %2$s"
+
+#: src/frontend/mame/ui/selmenu.cpp:1975
+msgid "Images"
+msgstr "Immagini"
+
+#: src/frontend/mame/ui/selmenu.cpp:1976
+msgid "Infos"
+msgstr "Informazioni"
+
+#: src/frontend/mame/ui/selmenu.cpp:2386 src/frontend/mame/ui/miscmenu.cpp:826
+msgid " (default)"
+msgstr " (predefinito)"
+
+#: src/frontend/mame/ui/selmenu.cpp:2454
+msgid "Usage"
+msgstr "Utilizzo"
+
+#: src/frontend/mame/ui/selmenu.cpp:2489
+msgid "General Info"
+msgstr "Informazioni Generali"
#: src/frontend/mame/ui/dirmenu.cpp:35
msgid "ROMs"
@@ -113,30 +290,6 @@ msgstr "Icone"
msgid "Cheats"
msgstr "Cheat"
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
-msgstr "Istantanee"
-
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
-msgstr "Cabinati"
-
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
-msgstr "Volantini"
-
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
-msgstr "Titoli"
-
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
-msgstr "Finali"
-
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
-msgstr "PCB"
-
#: src/frontend/mame/ui/dirmenu.cpp:52
msgid "Controls Panels"
msgstr "Pannelli di controllo"
@@ -149,42 +302,14 @@ msgstr "Puntatori"
msgid "Artworks"
msgstr "Disegni"
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
-msgstr "Boss"
-
#: src/frontend/mame/ui/dirmenu.cpp:56
msgid "Artworks Preview"
msgstr "Anteprima Disegni"
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
-msgstr "Seleziona"
-
#: src/frontend/mame/ui/dirmenu.cpp:58
msgid "GameOver"
msgstr "GameOver"
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
-msgstr "Come Fare"
-
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
-msgstr "Logo"
-
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
-msgstr "Punteggi"
-
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
-msgstr "Contro"
-
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
-msgstr "Copertine"
-
#: src/frontend/mame/ui/dirmenu.cpp:116
msgid "Folders Setup"
msgstr "Configura Cartelle"
@@ -225,14 +350,275 @@ msgstr "Premi TAB per impostare"
msgid "Remove %1$s Folder"
msgstr "Rimuovi Cartella %1$sr"
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
-msgstr "Lista Selezione - Cerca: "
+#: src/frontend/mame/ui/info.cpp:30
+msgid "protection"
+msgstr "protezione"
+
+#: src/frontend/mame/ui/info.cpp:31
+msgid "color palette"
+msgstr "tavolozza colore"
+
+#: src/frontend/mame/ui/info.cpp:32
+msgid "graphics"
+msgstr "grafica"
+
+#: src/frontend/mame/ui/info.cpp:33
+msgid "sound"
+msgstr "audio"
+
+#: src/frontend/mame/ui/info.cpp:34
+msgid "controls"
+msgstr "controlli"
+
+#: src/frontend/mame/ui/info.cpp:35
+msgid "keyboard"
+msgstr "tastiera"
+
+#: src/frontend/mame/ui/info.cpp:36
+msgid "mouse"
+msgstr "mouse"
+
+#: src/frontend/mame/ui/info.cpp:37
+msgid "microphone"
+msgstr "microfono"
-#: src/frontend/mame/ui/selector.cpp:123
+#: src/frontend/mame/ui/info.cpp:38
+msgid "camera"
+msgstr "camera"
+
+#: src/frontend/mame/ui/info.cpp:39
+msgid "disk"
+msgstr "disco"
+
+#: src/frontend/mame/ui/info.cpp:40
+msgid "printer"
+msgstr "stampante"
+
+#: src/frontend/mame/ui/info.cpp:41
+msgid "LAN"
+msgstr "LAN"
+
+#: src/frontend/mame/ui/info.cpp:42
+msgid "WAN"
+msgstr "WAN"
+
+#: src/frontend/mame/ui/info.cpp:43
+msgid "timing"
+msgstr "temporizzazione"
+
+#: src/frontend/mame/ui/info.cpp:180
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
+msgstr ""
+"Uno o più ROM/CHD per questa macchina non sono corretti. La macchina "
+"potrebbe non funzionare correttamente.\n"
+
+#: src/frontend/mame/ui/info.cpp:190
+msgid ""
+"There are known problems with this machine\n"
+"\n"
+msgstr ""
+"Ci sono problemi noti per questa macchina\n"
+"\n"
+
+#: src/frontend/mame/ui/info.cpp:195
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+msgstr "Uno o più ROM/CHD per questa macchina non è dumpato correttamente.\n"
+
+#: src/frontend/mame/ui/info.cpp:200
+msgid "Completely unemulated features: "
+msgstr "Funzionalità assolutamente non emulate: "
+
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
#, c-format
-msgid "Double click or press %1$s to select"
-msgstr "Doppio click o premi %1$s per selezionare"
+msgid "%s"
+msgstr "%s"
+
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#: src/frontend/mame/ui/info.cpp:267
+#, c-format
+msgid ", %s"
+msgstr ", %s"
+
+#: src/frontend/mame/ui/info.cpp:216
+msgid "Imperfectly emulated features: "
+msgstr "Funzionalità emulate non perfettamente: "
+
+#: src/frontend/mame/ui/info.cpp:231
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr "L'inversione dello schermo in modalità cocktail non è supportata.\n"
+
+#: src/frontend/mame/ui/info.cpp:233
+msgid "This machine requires external artwork files.\n"
+msgstr "Questa macchina richiede file di artwork extra\n"
+
+#: src/frontend/mame/ui/info.cpp:235
+msgid ""
+"This machine was never completed. It may exhibit strange behavior or missing "
+"elements that are not bugs in the emulation.\n"
+msgstr ""
+"Questa macchina non è mai stata completata. Potrebbe mostrare comportamenti "
+"strani o elementi mancanti che non sono bug nell'emulazione.\n"
+
+#: src/frontend/mame/ui/info.cpp:237
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
+msgstr ""
+"Questa macchina non ha alcun componente audio, MAME non produrrà alcun suono "
+"e questo è il comportamento atteso e non un bug.\n"
+
+#: src/frontend/mame/ui/info.cpp:241
+msgid ""
+"\n"
+"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
+"complete. There is nothing you can do to fix this problem except wait for "
+"the developers to improve the emulation.\n"
+msgstr ""
+"\n"
+"QUESTA MACCHINA NON FUNZIONA. L'emulazione di questa macchina non è ancora "
+"completa. Non c'è nulla che tu possa fare per risolvere questo problema "
+"eccetto aspettare che gli sviluppatori migliorino l'emulazione.\n"
+
+#: src/frontend/mame/ui/info.cpp:243
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they requires physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
+msgstr ""
+"\n"
+"Gli elementi di questa macchina non possono essere emulati poiché richiedono "
+"interazione fisica o consistono di dispositivi meccanici. Non è possibile "
+"sperimentare pienamente questa macchina.\n"
+
+#: src/frontend/mame/ui/info.cpp:265
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
+msgstr ""
+"\n"
+"\n"
+"Ci sono Cloni funzionanti di questa macchina: %s"
+
+#: src/frontend/mame/ui/info.cpp:278
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+"\n"
+"\n"
+"Premi un tasto per proseguire"
+
+#: src/frontend/mame/ui/info.cpp:293
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
+msgstr ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
+
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "MHz"
+msgstr "MHz"
+
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "kHz"
+msgstr "kHz"
+
+#: src/frontend/mame/ui/info.cpp:342
+msgid ""
+"\n"
+"Sound:\n"
+msgstr ""
+"\n"
+"Audio:\n"
+
+#: src/frontend/mame/ui/info.cpp:370
+msgid ""
+"\n"
+"Video:\n"
+msgstr ""
+"\n"
+"Video:\n"
+
+#: src/frontend/mame/ui/info.cpp:374
+msgid "None\n"
+msgstr "Nessuno\n"
+
+#: src/frontend/mame/ui/info.cpp:381
+msgid "Vector"
+msgstr "Vettoriale"
+
+#: src/frontend/mame/ui/info.cpp:392
+#, c-format
+msgid "%1$s: %2$s\n"
+msgstr "%1$s: %2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:392
+msgid "%2$s\n"
+msgstr "%2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:438
+#, c-format
+msgid "Screen '%1$s'"
+msgstr "Schermo '%1$s'"
+
+#: src/frontend/mame/ui/info.cpp:440
+msgid "Screen"
+msgstr "Schermo"
+
+#: src/frontend/mame/ui/info.cpp:525
+msgid "Not supported"
+msgstr "Non supportato"
+
+#: src/frontend/mame/ui/info.cpp:528
+msgid "Partially supported"
+msgstr "Parzialmente supportato"
+
+#: src/frontend/mame/ui/info.cpp:536
+msgid "[empty]"
+msgstr "[vuoto]"
+
+#: src/frontend/mame/ui/optsmenu.cpp:193
+msgid "Filter"
+msgstr "Filtri"
+
+#: src/frontend/mame/ui/optsmenu.cpp:206
+msgid "Customize UI"
+msgstr "Personalizza UI"
+
+#: src/frontend/mame/ui/optsmenu.cpp:207
+msgid "Configure Directories"
+msgstr "Configura Cartelle"
+
+#: src/frontend/mame/ui/optsmenu.cpp:210 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
+msgstr "Opzioni Audio"
+
+#: src/frontend/mame/ui/optsmenu.cpp:213
+msgid "General Inputs"
+msgstr "Input Generali"
+
+#: src/frontend/mame/ui/optsmenu.cpp:216
+msgid "Save Configuration"
+msgstr "Salva Configurazione"
+
+#: src/frontend/mame/ui/optsmenu.cpp:228
+msgid "Settings"
+msgstr "Impostazioni"
#: src/frontend/mame/ui/tapectrl.cpp:85
msgid "stopped"
@@ -274,8 +660,30 @@ msgstr "Riavvolgi"
msgid "Fast Forward"
msgstr "Avanti Veloce"
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
-#: src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/inputmap.cpp:53
+msgid "User Interface"
+msgstr "Interfaccia Utente"
+
+#: src/frontend/mame/ui/inputmap.cpp:59
+msgid "Other Controls"
+msgstr "Altri Controlli"
+
+#: src/frontend/mame/ui/inputmap.cpp:628 src/frontend/mame/ui/miscmenu.cpp:96
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr "Azzera"
+
+#: src/frontend/mame/ui/selector.cpp:116
+msgid "Selection List - Search: "
+msgstr "Lista Selezione - Cerca: "
+
+#: src/frontend/mame/ui/selector.cpp:124
+#, c-format
+msgid "Double click or press %1$s to select"
+msgstr "Doppio click o premi %1$s per selezionare"
+
+#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/filesel.cpp:256
msgid "[empty slot]"
msgstr "[slot vuoto]"
@@ -316,182 +724,6 @@ msgstr "Utilizzo Software"
msgid "Revision: "
msgstr "Revisione: "
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
-msgstr "File Già Esistente - Sovrascrivo?"
-
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
-msgstr "No"
-
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
-msgstr "Si"
-
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
-msgstr "Nuovo Nome Immagine:"
-
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
-msgstr "Formato Immagine:"
-
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
-msgstr "Crea"
-
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
-msgstr "Inserisci anche l'estensione"
-
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
-msgstr "Seleziona formato immagine"
-
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
-msgstr "Input (generali)"
-
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
-msgstr "Input (questa Macchina)"
-
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
-msgstr "Controlli Analogici"
-
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
-msgstr "Dip-Switch"
-
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
-msgstr "Configurazione Macchina"
-
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
-msgstr "Info Crediti e Tempi di Utilizzo"
-
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
-msgstr "Informazioni Macchina"
-
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
-msgstr "Informazioni Software"
-
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
-msgstr "Gestore File"
-
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
-msgstr "Controllo Cassetta"
-
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
-msgstr "Pseudo terminali"
-
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
-msgstr "Selezione BIOS"
-
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
-msgstr "Slot"
-
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
-msgstr "Lettore Codice a Barre"
-
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
-msgstr "Dispositivi di Rete"
-
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
-msgstr "Modalità Tastiera"
-
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
-msgstr "Regolazione Cursori"
-
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
-msgstr "Opzioni Video"
-
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
-msgstr "Opzioni Puntamento"
-
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
-msgstr "Trucco"
-
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
-msgstr "Opzioni Plugin"
-
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
-msgstr "Visualizza DAT Aggiuntivi"
-
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
-msgstr "Aggiungi ai Preferiti"
-
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
-msgstr "Rimuovi dai Preferiti"
-
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
-msgstr "Seleziona Nuova Macchina"
-
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
-msgstr "Nuovo codice a barre:"
-
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
-msgstr "Inserisci codice a barre"
-
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
-msgstr "Lunghezza codice a barre errata!"
-
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
-msgstr "[fallito]"
-
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
-msgstr "Opzioni Audio"
-
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
-msgstr "Input Generali"
-
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
-msgstr "Salva Configurazione"
-
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
-msgstr "Impostazioni"
-
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
-msgstr "Filtri"
-
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
-msgstr "Personalizza UI"
-
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
-msgstr "Configura Cartelle"
-
#: src/frontend/mame/ui/simpleselgame.cpp:149
msgid ""
"The selected game is missing one or more required ROM or CHD images. Please "
@@ -504,7 +736,7 @@ msgstr ""
"\n"
"Premi qualsiasi tasto per continuare."
-#: src/frontend/mame/ui/simpleselgame.cpp:247
+#: src/frontend/mame/ui/simpleselgame.cpp:241
#, c-format
msgid ""
"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
@@ -518,328 +750,197 @@ msgstr ""
"Se questa è la prima volta che usi %2$s, si prega di consultare il file "
"config.txt nella cartella docs per le informazioni sulla configurazine %2$s."
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:271
+#: src/frontend/mame/ui/selgame.cpp:436
msgid "Configure Options"
msgstr "Configura Opzioni"
-#: src/frontend/mame/ui/simpleselgame.cpp:298
+#: src/frontend/mame/ui/simpleselgame.cpp:292
#, c-format
msgid "Type name or select: %1$s_"
msgstr "Digita il nome o seleziona: %1$s_"
-#: src/frontend/mame/ui/simpleselgame.cpp:300
+#: src/frontend/mame/ui/simpleselgame.cpp:294
msgid "Type name or select: (random)"
msgstr "Digita il nome o seleziona: (casuale)"
-#: src/frontend/mame/ui/simpleselgame.cpp:314
-#: src/frontend/mame/ui/selsoft.cpp:652 src/frontend/mame/ui/selsoft.cpp:659
+#: src/frontend/mame/ui/simpleselgame.cpp:308
+#: src/frontend/mame/ui/selsoft.cpp:564 src/frontend/mame/ui/selsoft.cpp:571
#, c-format
msgid "%1$-.100s"
msgstr "%1$-.100s"
-#: src/frontend/mame/ui/simpleselgame.cpp:317
-#: src/frontend/mame/ui/selmenu.cpp:618 src/frontend/mame/ui/selmenu.cpp:654
-#, c-format
-msgid "%1$s, %2$-.100s"
-msgstr "%1$s,%2$-.100s"
-
-#: src/frontend/mame/ui/simpleselgame.cpp:320
+#: src/frontend/mame/ui/simpleselgame.cpp:314
#, c-format
msgid "Driver: %1$-.100s"
msgstr "Driver:%1$-.100s"
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
-msgstr "Complessivamente: NON FUNZIONANTE"
+#: src/frontend/mame/ui/videoopt.cpp:56
+#, c-format
+msgid "Screen #%d"
+msgstr "Schermo #%d"
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
-msgstr "Complessivamente: Protezione Non Emulata"
+#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
+msgid "Rotate"
+msgstr "Rotazione"
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
-msgstr "Complessivamente: Funzionante"
+#: src/frontend/mame/ui/videoopt.cpp:208
+msgid "Backdrops"
+msgstr "Sfondi (Backdrops)"
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
-msgstr "Grafica: Non implementata, "
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Enabled"
+msgstr "Abilitato"
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
-msgstr "Grafica: Non Perfetta, "
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Disabled"
+msgstr "Disabilitato"
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
-msgstr "Grafica: OK, "
+#: src/frontend/mame/ui/videoopt.cpp:212
+msgid "Overlays"
+msgstr "Sovrapposizioni (Overlays)"
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
-msgstr "Suoni: Nessuno"
+#: src/frontend/mame/ui/videoopt.cpp:216
+msgid "Bezels"
+msgstr "Cornici (Bezels)"
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
-msgstr "Audio: Non Implementato"
+#: src/frontend/mame/ui/videoopt.cpp:220
+msgid "CPanels"
+msgstr "Pannello Comandi (CPanels)"
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
-msgstr "Audio: Non Perfetto"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "View"
+msgstr "Vista"
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
-msgstr "Audio: OK"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cropped"
+msgstr "Tagliata"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
-msgstr "Carica Stato"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Full"
+msgstr "Completa"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
-msgstr "Seleziona la posizione da cui caricare"
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
+msgstr "File Già Esistente - Sovrascrivo?"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
-msgstr "Salva Stato"
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1047
+msgid "No"
+msgstr "No"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
-msgstr "Seleziona la posizione in cui salvare"
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1047
+msgid "Yes"
+msgstr "Si"
-#: src/frontend/mame/ui/ui.cpp:337
-msgid "This driver requires images to be loaded in the following device(s): "
-msgstr ""
-"Questo driver richiede software caricato nel(i) dispositivo(i) seguente(i): "
+#: src/frontend/mame/ui/filecreate.cpp:171
+msgid "New Image Name:"
+msgstr "Nuovo Nome Immagine:"
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
-msgstr "Stato Emulazione Tastiera"
+#: src/frontend/mame/ui/filecreate.cpp:177
+msgid "Image Format:"
+msgstr "Formato Immagine:"
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
-msgstr "Modalità: Emulazione PARZIALE"
+#: src/frontend/mame/ui/filecreate.cpp:183
+msgid "Create"
+msgstr "Crea"
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
-msgstr "UI: Abilitato"
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr "Inserisci anche l'estensione"
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
-msgstr "**Usa ScrLock per cambiare**"
+#: src/frontend/mame/ui/filecreate.cpp:266
+msgid "Select image format"
+msgstr "Seleziona formato immagine"
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
-msgstr "Modalità: Emulazione COMPLETA"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Keyboard Mode:"
+msgstr "Modalità Tastiera:"
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
-msgstr "UI: Disabilitato"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Natural"
+msgstr "Naturale"
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
-msgstr "Autofire non può essere abilitato"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Emulated"
+msgstr "Emulata"
-#: src/frontend/mame/ui/ui.cpp:1302
+#: src/frontend/mame/ui/miscmenu.cpp:236
#, c-format
msgid ""
-"Are you sure you want to quit?\n"
+"Uptime: %1$d:%2$02d:%3$02d\n"
"\n"
-"Press ''%1$s'' to quit,\n"
-"Press ''%2$s'' to return to emulation."
msgstr ""
-"Sei sicuro di voler uscire?\n"
+"Tempo di utilizzo: %1$d:%2$02d:%3$02d\n"
"\n"
-"Premi ''%1$s'' per uscire,\n"
-"Premi ''%2$s'' per contrinuare l'emulazione."
-
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
-msgstr "Volume Principale"
-
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
-msgstr "%1$s Volume"
-
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
-msgstr "Overclock CPU %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
-msgstr "Overclock %1$s suono"
-
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
-msgstr "%1$s Frequenza di aggiornamento"
-
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
-msgstr "%1$s Luminosità"
-
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
-msgstr "%1$s Contrasto"
-
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
-msgstr "%1$s Gamma"
-
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
-msgstr "%1$s Allungamento Orizzontale"
-
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
-msgstr "%1$s Posizione Orizzontale"
-
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
-msgstr "%1$s Allungamento Verticale"
-
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
-msgstr "%1$s Posizione Verticale"
-
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
-msgstr "Laserdisc '%1$s' Allungamento Orizzontale"
-
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
-msgstr "Laserdisc '%1$s' Posizione Orizzontale"
-#: src/frontend/mame/ui/ui.cpp:1479
+#: src/frontend/mame/ui/miscmenu.cpp:238
#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
-msgstr "Laserdisc '%1$s' Allungamento Verticale"
-
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr "Laserdisc '%1$s' Posizione Verticale"
-
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
-msgstr "Sfarfallio Vettoriale"
-
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
-msgstr "Larghezza Minima del Raggio"
-
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
-msgstr "Larghezza Massima del Raggio"
-
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
-msgstr "Peso intensità del Raggio"
-
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr "Scala del Puntatore %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
-msgstr "X"
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
-msgstr "Y"
-
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
-msgstr "Offset del Puntatore %1$s"
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
+msgstr ""
+"Tempo di utilizzo: %1$d:%2$02d\n"
+"\n"
-#: src/frontend/mame/ui/ui.cpp:1601
+#: src/frontend/mame/ui/miscmenu.cpp:242
#, c-format
-msgid "%1$3ddB"
-msgstr "%1$3ddB"
-
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
-msgstr "%1$d%%"
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
+msgstr ""
+"Biglietti emessi: %1$d\n"
+"\n"
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
-msgstr "%1$3.0f%%"
+#: src/frontend/mame/ui/miscmenu.cpp:253
+msgid "Coin %1$c: NA%3$s\n"
+msgstr "Monete %1$c: NA%3$s\n"
-#: src/frontend/mame/ui/ui.cpp:1685
+#: src/frontend/mame/ui/miscmenu.cpp:253
#, c-format
-msgid "%1$.3ffps"
-msgstr "%1$.3ffps"
+msgid "Coin %1$c: %2$d%3$s\n"
+msgstr "Monete %1$c: %2$d%3$s\n"
-#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
-#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
-#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
-#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
-#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
-#: src/frontend/mame/ui/ui.cpp:1927
-#, c-format
-msgid "%1$.3f"
-msgstr "%1$.3f"
+#: src/frontend/mame/ui/miscmenu.cpp:256
+msgid " (locked)"
+msgstr " (bloccati)"
-#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
-#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
-#, c-format
-msgid "%1$1.2f"
-msgstr "%1$1.2f"
+#: src/frontend/mame/ui/miscmenu.cpp:503
+msgid "Visible Delay"
+msgstr "Ritardo Visibilità"
-#: src/frontend/mame/ui/ui.cpp:2005
+#: src/frontend/mame/ui/miscmenu.cpp:601
#, c-format
-msgid "Crosshair Scale X %1$1.3f"
-msgstr "Scala del Puntatore X %1$1.3f"
+msgid "%s.xml saved under ui folder."
+msgstr "%s.xml salvato nella cartella UI."
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
-msgstr "Scala del Puntatore Y %1$1.3f"
+#: src/frontend/mame/ui/miscmenu.cpp:627
+msgid "Name: Description:\n"
+msgstr "Nome: Descrizione:\n"
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/miscmenu.cpp:638
#, c-format
-msgid "Crosshair Offset X %1$1.3f"
-msgstr "Offset del Puntatore X %1$1.3f"
+msgid "%s.txt saved under ui folder."
+msgstr "%s.txt salvato nella cartella UI."
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
-msgstr "Offset del Puntatore Y %1$1.3f"
+#: src/frontend/mame/ui/miscmenu.cpp:655
+msgid "Export list in XML format (like -listxml)"
+msgstr "Esporta lista in formato XML (come -listxml)"
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
-msgstr "**Errore nel salvataggio del file ui.ini**"
+#: src/frontend/mame/ui/miscmenu.cpp:656
+msgid "Export list in XML format (like -listxml, but exclude devices)"
+msgstr "Esporta lista in formato XML (come -listxml, ma escludendo i device)"
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
-msgstr "**Errore nel salvataggio del file %s.ini**"
+#: src/frontend/mame/ui/miscmenu.cpp:657
+msgid "Export list in TXT format (like -listfull)"
+msgstr "Esporta lista in formato TXT (come -listfull)"
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/miscmenu.cpp:710 src/frontend/mame/ui/ui.cpp:2230
msgid ""
"\n"
" Configuration saved \n"
@@ -849,339 +950,160 @@ msgstr ""
" Configurazione salvata \n"
"\n"
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
-msgid ""
-"Cheat Comment:\n"
-"%s"
-msgstr ""
-"Commento Cheat:\n"
-"%s"
-
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
-msgstr "Tutti i cheat sono stati ricaricati"
-
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
-msgstr "Impostazioni Autofire"
-
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
-msgstr "Ripristina Tutto"
-
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
-msgstr "Ricarica Tutto"
-
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
-msgstr "Stato Autofire"
-
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
-msgstr "Nessun tasto/pulsante trovato per questa macchina!"
-
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
-msgstr "Ritardo Autofire"
-
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
-#, c-format
-msgid ""
-"%s\n"
-" added to favorites list."
-msgstr ""
-"%s\n"
-" aggiunto ai preferiti."
-
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
-#, c-format
-msgid ""
-"%s\n"
-" removed from favorites list."
-msgstr ""
-"%s\n"
-" rimosso dai preferiti."
-
-#: src/frontend/mame/ui/selsoft.cpp:507
-msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
-"\n"
-msgstr ""
-"Nel software selezionato mancano uno o più file richiesti. Seleziona "
-"un'altra software.\n"
-"\n"
-
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
-msgstr "Premi un tasto per continuare."
-
-#: src/frontend/mame/ui/selsoft.cpp:637
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
-msgstr "%1$s %2$s ( %3$d / %4$d pacchetti software )"
-
-#: src/frontend/mame/ui/selsoft.cpp:638
-#, c-format
-msgid "Driver: \"%1$s\" software list "
-msgstr "Driver: \"%1$s\" lista software "
-
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
-#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
-msgstr "%1$s: %2$s - Cerca: %3$s_"
-
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
-#, c-format
-msgid "Search: %1$s_"
-msgstr "Cerca: %1$s_"
-
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
-msgid "Unfiltered"
-msgstr "Non filtrato"
-
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
-msgid "Available"
-msgstr "Disponibile"
-
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
-msgid "Unavailable"
-msgstr "Non disponibile"
-
-#: src/frontend/mame/ui/utils.cpp:63
-msgid "Working"
-msgstr "Funziona"
-
-#: src/frontend/mame/ui/utils.cpp:64
-msgid "Not Working"
-msgstr "Non Funziona"
-
-#: src/frontend/mame/ui/utils.cpp:65
-msgid "Mechanical"
-msgstr "Meccanico"
-
-#: src/frontend/mame/ui/utils.cpp:66
-msgid "Not Mechanical"
-msgstr "Non Meccanico"
-
-#: src/frontend/mame/ui/utils.cpp:67
-msgid "Category"
-msgstr "Categoria"
-
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
-msgid "Favorites"
-msgstr "Preferiti"
-
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/miscmenu.cpp:760 src/frontend/mame/ui/utils.cpp:66
msgid "BIOS"
msgstr "BIOS"
-#: src/frontend/mame/ui/utils.cpp:70
-msgid "Not BIOS"
-msgstr "Nessun BIOS"
-
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
-msgid "Parents"
-msgstr "Genitori"
-
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
-msgid "Clones"
-msgstr "Cloni"
-
-#: src/frontend/mame/ui/utils.cpp:73
-msgid "Manufacturer"
-msgstr "Produttore"
-
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
-msgid "Year"
-msgstr "Anno"
-
-#: src/frontend/mame/ui/utils.cpp:75
-msgid "Save Supported"
-msgstr "Salvataggio Supportato"
-
-#: src/frontend/mame/ui/utils.cpp:76
-msgid "Save Unsupported"
-msgstr "Salvataggio non Supportato"
-
-#: src/frontend/mame/ui/utils.cpp:77
-msgid "CHD Required"
-msgstr "CHD Richiesto"
-
-#: src/frontend/mame/ui/utils.cpp:78
-msgid "No CHD Required"
-msgstr "Nessun CHD Richiesto"
-
-#: src/frontend/mame/ui/utils.cpp:79
-msgid "Vertical Screen"
-msgstr "Schermata Verticale"
-
-#: src/frontend/mame/ui/utils.cpp:80
-msgid "Horizontal Screen"
-msgstr "Schermata Orizzontale"
-
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
-msgid "Custom Filter"
-msgstr "Filtro Personalizzato"
-
-#: src/frontend/mame/ui/utils.cpp:91
-msgid "Publisher"
-msgstr "Editore"
-
-#: src/frontend/mame/ui/utils.cpp:92
-msgid "Supported"
-msgstr "Supportato"
+#: src/frontend/mame/ui/miscmenu.cpp:764
+msgid "Driver"
+msgstr "Driver"
-#: src/frontend/mame/ui/utils.cpp:93
-msgid "Partially Supported"
-msgstr "Parzialmente Supportato"
+#: src/frontend/mame/ui/miscmenu.cpp:767
+msgid "This machine has no BIOS."
+msgstr "Questa macchina non ha BIOS."
-#: src/frontend/mame/ui/utils.cpp:94
-msgid "Unsupported"
-msgstr "Non supportato"
+#: src/frontend/mame/ui/miscmenu.cpp:776 src/frontend/mame/ui/mainmenu.cpp:145
+msgid "Add To Favorites"
+msgstr "Aggiungi ai Preferiti"
-#: src/frontend/mame/ui/utils.cpp:95
-msgid "Release Region"
-msgstr "Regione di Rilascio"
+#: src/frontend/mame/ui/miscmenu.cpp:778 src/frontend/mame/ui/mainmenu.cpp:147
+msgid "Remove From Favorites"
+msgstr "Rimuovi dai Preferiti"
-#: src/frontend/mame/ui/utils.cpp:96
-msgid "Device Type"
-msgstr "Tipo Dispositivo"
+#: src/frontend/mame/ui/miscmenu.cpp:781
+msgid "Save machine configuration"
+msgstr "Salva configurazione per questo sistema"
-#: src/frontend/mame/ui/utils.cpp:97
-msgid "Software List"
-msgstr "Lista Software"
+#: src/frontend/mame/ui/miscmenu.cpp:792
+msgid "Configure machine:"
+msgstr "Configura questo sistema:"
-#: src/frontend/mame/ui/utils.cpp:248
-msgid "<set up filters>"
-msgstr "<imposta filtri>"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:736
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:551 plugins/cheatfind/init.lua:619
+msgid "On"
+msgstr "Attivo"
-#: src/frontend/mame/ui/utils.cpp:356
-msgid "Select custom filters:"
-msgstr "Seleziona filtro personalizzato:"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:739
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:554 plugins/cheat/init.lua:563
+#: plugins/cheatfind/init.lua:616
+msgid "Off"
+msgstr "Non Attivo"
-#: src/frontend/mame/ui/utils.cpp:507
-#, c-format
-msgid "Filter %1$u"
-msgstr "Filtro %1$u"
+#: src/frontend/mame/ui/miscmenu.cpp:909 src/frontend/mame/ui/selgame.cpp:441
+msgid "Plugins"
+msgstr "Plugin"
-#: src/frontend/mame/ui/utils.cpp:522
-msgid "Remove last filter"
-msgstr "Rimuovi ultimo filtro"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
+msgstr "Nuovo codice a barre:"
-#: src/frontend/mame/ui/utils.cpp:524
-msgid "Add filter"
-msgstr "Aggiungi filtro"
+#: src/frontend/mame/ui/barcode.cpp:78
+msgid "Enter Code"
+msgstr "Inserisci codice a barre"
-#: src/frontend/mame/ui/utils.cpp:966
-msgid "Select category:"
-msgstr "Seleziona categoria:"
+#: src/frontend/mame/ui/barcode.cpp:119
+msgid "Barcode length invalid!"
+msgstr "Lunghezza codice a barre errata!"
-#: src/frontend/mame/ui/utils.cpp:997
-msgid "[no category INI files]"
-msgstr "[nessun file INI di categoria]"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:99
+msgid "Pseudo terminals"
+msgstr "Pseudo terminali"
-#: src/frontend/mame/ui/utils.cpp:1005
-msgid "[no groups in INI file]"
-msgstr "[nessun gruppo nel file INI]"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
+msgstr "[fallito]"
-#: src/frontend/mame/ui/utils.cpp:1039
-msgid "No category INI files found"
-msgstr "Nessun file INI della categoria trovata"
+#: src/frontend/mame/ui/mainmenu.cpp:60
+msgid "Input (general)"
+msgstr "Input (generali)"
-#: src/frontend/mame/ui/utils.cpp:1044
-msgid "File"
-msgstr "File"
+#: src/frontend/mame/ui/mainmenu.cpp:62
+msgid "Input (this Machine)"
+msgstr "Input (questa Macchina)"
-#: src/frontend/mame/ui/utils.cpp:1048
-msgid "No groups found in category file"
-msgstr "Nessun gruppo trovato nel file di categoria"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Analog Controls"
+msgstr "Controlli Analogici"
-#: src/frontend/mame/ui/utils.cpp:1053
-msgid "Group"
-msgstr "Gruppo"
+#: src/frontend/mame/ui/mainmenu.cpp:68
+msgid "Dip Switches"
+msgstr "Dip-Switch"
-#: src/frontend/mame/ui/utils.cpp:1054
-msgid "Include clones"
-msgstr "Cloni inclusi"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "Machine Configuration"
+msgstr "Configurazione Macchina"
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
-msgstr "[crea]"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
+msgstr "Info Crediti e Tempi di Utilizzo"
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:78
+msgid "Machine Information"
+msgstr "Informazioni Macchina"
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
-msgstr "Selezione modalità di accesso"
+#: src/frontend/mame/ui/mainmenu.cpp:85
+msgid "Image Information"
+msgstr "Informazioni Software"
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
-msgstr "Sola-Lettura"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
+msgstr "Gestore File"
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
-msgstr "Lettura-Scrittura"
+#: src/frontend/mame/ui/mainmenu.cpp:96
+msgid "Tape Control"
+msgstr "Controllo Cassetta"
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
-msgstr "Leggi da questo file, scrivi su un altro"
+#: src/frontend/mame/ui/mainmenu.cpp:102
+msgid "BIOS Selection"
+msgstr "Selezione BIOS"
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
-msgstr "Leggi da questo file, scrivi su diff"
+#: src/frontend/mame/ui/mainmenu.cpp:106
+msgid "Slot Devices"
+msgstr "Slot"
-#: src/frontend/mame/ui/slotopt.cpp:192
-#, c-format
-msgid "%s [internal]"
-msgstr "%s [interno]"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Barcode Reader"
+msgstr "Lettore Codice a Barre"
-#: src/frontend/mame/ui/slotopt.cpp:203 src/frontend/mame/ui/miscmenu.cpp:97
-#: src/frontend/mame/ui/inputmap.cpp:615
-msgid "Reset"
-msgstr "Azzera"
+#: src/frontend/mame/ui/mainmenu.cpp:114
+msgid "Network Devices"
+msgstr "Dispositivi di Rete"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
-msgstr " COLORI"
+#: src/frontend/mame/ui/mainmenu.cpp:118
+msgid "Keyboard Mode"
+msgstr "Modalità Tastiera"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
-msgstr " PEN"
+#: src/frontend/mame/ui/mainmenu.cpp:121
+msgid "Slider Controls"
+msgstr "Regolazione Cursori"
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
-msgstr "Ritorna alla Macchina"
+#: src/frontend/mame/ui/mainmenu.cpp:124 src/frontend/mame/ui/submenu.cpp:101
+msgid "Video Options"
+msgstr "Opzioni Video"
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
-msgstr "Esci"
+#: src/frontend/mame/ui/mainmenu.cpp:128
+msgid "Crosshair Options"
+msgstr "Opzioni Puntamento"
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
-msgstr "Torna al Menu Precedente"
+#: src/frontend/mame/ui/mainmenu.cpp:132 plugins/cheat/init.lua:735
+msgid "Cheat"
+msgstr "Trucco"
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:762
-#: plugins/cheat/init.lua:569 plugins/cheatfind/init.lua:792
-#: plugins/cheatfind/init.lua:803
-msgid "On"
-msgstr "Attivo"
+#: src/frontend/mame/ui/mainmenu.cpp:135
+msgid "Plugin Options"
+msgstr "Opzioni Plugin"
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:765
-#: plugins/cheat/init.lua:572 plugins/cheat/init.lua:581
-#: plugins/cheatfind/init.lua:789 plugins/cheatfind/init.lua:800
-msgid "Off"
-msgstr "Non Attivo"
+#: src/frontend/mame/ui/mainmenu.cpp:139
+msgid "External DAT View"
+msgstr "Visualizza DAT Aggiuntivi"
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
-msgstr "Auto"
+#: src/frontend/mame/ui/mainmenu.cpp:154
+msgid "Select New Machine"
+msgstr "Seleziona Nuova Macchina"
#: src/frontend/mame/ui/custui.cpp:31
msgid "Show All"
@@ -1404,459 +1326,6 @@ msgstr "Giallo"
msgid "Violet"
msgstr "Viola"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
-msgstr "Modalità Tastiera:"
-
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
-msgstr "Naturale"
-
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
-msgstr "Emulata"
-
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
-msgstr ""
-"Tempo di utilizzo: %1$d:%2$02d:%3$02d\n"
-"\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
-msgstr ""
-"Tempo di utilizzo: %1$d:%2$02d\n"
-"\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
-msgstr ""
-"Biglietti emessi: %1$d\n"
-"\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
-msgstr "Monete %1$c: NA%3$s\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
-msgstr "Monete %1$c: %2$d%3$s\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
-msgstr " (bloccati)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
-msgstr "Ritardo Visibilità"
-
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
-msgstr "%s.xml salvato nella cartella UI."
-
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
-msgstr "Nome: Descrizione:\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:639
-#, c-format
-msgid "%s.txt saved under ui folder."
-msgstr "%s.txt salvato nella cartella UI."
-
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
-msgstr "Esporta lista in formato XML (come -listxml)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
-msgstr "Esporta lista in formato XML (come -listxml, ma escludendo i device)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
-msgstr "Esporta lista in formato TXT (come -listfull)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
-msgstr "Driver"
-
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
-msgstr "Questa macchina non ha BIOS."
-
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
-msgstr "Salva configurazione per questo sistema"
-
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
-msgstr "Configura questo sistema:"
-
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
-msgstr " (predefinito)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
-msgstr "Plugin"
-
-#: src/frontend/mame/ui/selgame.cpp:607
-msgid "Configure Machine"
-msgstr "Configura Macchina"
-
-#: src/frontend/mame/ui/selgame.cpp:1036
-#, c-format
-msgid "Romset\t%1$-.100s\n"
-msgstr "Set di rom\t%1$-.100s\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1037
-#, c-format
-msgid "Year\t%1$s\n"
-msgstr "Anno\t%1$s\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1038
-#, c-format
-msgid "Manufacturer\t%1$-.100s\n"
-msgstr "Produttore\t%1$-.100s\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1042
-#, c-format
-msgid "Driver is Clone of\t%1$-.100s\n"
-msgstr "Il Driver è un Clone di\t%1$-.100s\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1044
-msgid "Driver is Parent\t\n"
-msgstr "Il Driver è un Parent\t\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1047
-msgid "Analog Controls\tYes\n"
-msgstr "Controlli Analogici\tSì\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1049
-msgid "Keyboard Inputs\tYes\n"
-msgstr "Input di Tastiera\tSì\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1052
-msgid "Overall\tNOT WORKING\n"
-msgstr "Complessivamente\tNON FUNZIONANTE\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1054
-msgid "Overall\tUnemulated Protection\n"
-msgstr "Complessivamente\tProtezione Non Emulata\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1056
-msgid "Overall\tWorking\n"
-msgstr "Complessivamente\tFunzionante\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1059
-msgid "Graphics\tUnimplemented\n"
-msgstr "Grafica\tNon implementata\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1061
-msgid "Graphics\tWrong Colors\n"
-msgstr "Grafica\tColori Errati\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1063
-msgid "Graphics\tImperfect Colors\n"
-msgstr "Grafica\tColori Non Perfetti\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1065
-msgid "Graphics\tImperfect\n"
-msgstr "Grafica\tNon Perfetta\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1067
-msgid "Graphics\tOK\n"
-msgstr "Grafica\tOK\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1070
-msgid "Sound\tNone\n"
-msgstr "Suoni\tNessuno\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1072
-msgid "Sound\tUnimplemented\n"
-msgstr "Audio\tNon Implementato\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1074
-msgid "Sound\tImperfect\n"
-msgstr "Audio\tNon Perfetto\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1076
-msgid "Sound\tOK\n"
-msgstr "Audio\tOK\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1079
-msgid "Capture\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1081
-msgid "Capture\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1084
-msgid "Camera\tUnimplemented\n"
-msgstr "Camera\tNon implementata\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1086
-msgid "Camera\tImperfect\n"
-msgstr "Camera\tImperfetta\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1089
-msgid "Microphone\tUnimplemented\n"
-msgstr "Microfono\tNon implementato\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1091
-msgid "Microphone\tImperfect\n"
-msgstr "Microfono\tImperfetto\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1094
-msgid "Controls\tUnimplemented\n"
-msgstr "Controlli\tNon implementati\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1096
-msgid "Controls\tImperfect\n"
-msgstr "Controlli\tImperfetti\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1099
-msgid "Keyboard\tUnimplemented\n"
-msgstr "Tastiera\tNon implementata\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1101
-msgid "Keyboard\tImperfect\n"
-msgstr "Tastiera\tImperfetta\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1104
-msgid "Mouse\tUnimplemented\n"
-msgstr "Mouse\tNon implementato\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1106
-msgid "Mouse\tImperfect\n"
-msgstr "Mouse\tImperfetto\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1109
-msgid "Media\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1111
-msgid "Media\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1114
-msgid "Disk\tUnimplemented\n"
-msgstr "Disco\tNon implementato\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1116
-msgid "Disk\tImperfect\n"
-msgstr "Disco\tImperfetto\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1119
-msgid "Printer\tUnimplemented\n"
-msgstr "Stampante\tNon implementata\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1121
-msgid "Printer\tImperfect\n"
-msgstr "Stampante\tImperfetta\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1124
-msgid "Mag. Tape\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1126
-msgid "Mag. Tape\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1129
-msgid "Punch Tape\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1131
-msgid "Punch Tape\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1134
-msgid "Mag. Drum\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1136
-msgid "Mag. Drum\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1139
-msgid "(EP)ROM\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1141
-msgid "(EP)ROM\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1144
-msgid "Communications\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1146
-msgid "Communications\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1149
-msgid "LAN\tUnimplemented\n"
-msgstr "LAN\tNon implementata\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1151
-msgid "LAN\tImperfect\n"
-msgstr "LAN\tImperfetta\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1154
-msgid "WAN\tUnimplemented\n"
-msgstr "WAN\tNon implementata\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1156
-msgid "WAN\tImperfect\n"
-msgstr "WAN\tImperfetta\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1159
-msgid "Timing\tUnimplemented\n"
-msgstr "Temporizzazione\tNon implementata\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1161
-msgid "Timing\tImperfect\n"
-msgstr "Temporizzazione\tImperfetta\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tNo\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tYes\n"
-msgstr "Richiede Artwork\tSi\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tNo\n"
-msgstr "Richiede Artwork\tNo\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tYes\n"
-msgstr "Richiede Artwork Cliccabile\tSi\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tNo\n"
-msgstr "Richiede Artwork Cliccabile\tNo\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tYes\n"
-msgstr "Supporto Cocktail\tSi\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tNo\n"
-msgstr "Supporto Cocktail\tNo\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tNo\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tYes\n"
-msgstr "Supporto Salvataggio\tSi\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tNo\n"
-msgstr "Supporto Salvataggio\tNo\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tVertical\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tHorizontal\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tYes\n"
-msgstr "Richiede CHD\tSi\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tNo\n"
-msgstr "Richiede CHD\tNo\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1192
-msgid "ROM Audit Result\tOK\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1194
-msgid "ROM Audit Result\tBAD\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1197
-msgid "Samples Audit Result\tNone Needed\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1199
-msgid "Samples Audit Result\tOK\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1201
-msgid "Samples Audit Result\tBAD\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1205
-msgid ""
-"ROM Audit \tDisabled\n"
-"Samples Audit \tDisabled\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1396
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
-msgstr "%1$s %2$s ( %3$d / %4$d macchine (%5$d BIOS) )"
-
-#: src/frontend/mame/ui/selgame.cpp:1424
-#, c-format
-msgid "Romset: %1$-.100s"
-msgstr "Set di Rom:%1$-.100s"
-
-#: src/frontend/mame/ui/selgame.cpp:1431
-#, c-format
-msgid "System: %1$-.100s"
-msgstr "Sistema: %1$-.100s"
-
-#: src/frontend/mame/ui/selgame.cpp:1465
-msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
-msgstr ""
-"Nella macchina selezionata mancano uno o più file ROM o CHD richiesti. "
-"Seleziona un'altra macchina.\n"
-"\n"
-
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
-msgstr "Audio"
-
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
-msgstr "Frequenza di Campionamento"
-
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
-msgstr "Usa Sample Aggiuntivi"
-
#: src/frontend/mame/ui/submenu.cpp:22
msgid "Miscellaneous Options"
msgstr "Opzioni Varie"
@@ -2157,195 +1626,564 @@ msgstr "Aggiornamento Sincronizzato"
msgid "Wait Vertical Sync"
msgstr "Attendi la Sincronizzazione Verticale"
-#: src/frontend/mame/ui/devopt.cpp:43
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Load State"
+msgstr "Carica Stato"
+
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Select position to load from"
+msgstr "Seleziona la posizione da cui caricare"
+
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Save State"
+msgstr "Salva Stato"
+
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Select position to save to"
+msgstr "Seleziona la posizione in cui salvare"
+
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
+msgstr "%s [interno]"
+
+#: src/frontend/mame/ui/selgame.cpp:309 src/frontend/mame/ui/selsoft.cpp:211
#, c-format
msgid ""
-"[This option is currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"The selected option enables the following items:\n"
+"%s\n"
+" added to favorites list."
msgstr ""
+"%s\n"
+" aggiunto ai preferiti."
-#: src/frontend/mame/ui/devopt.cpp:44
+#: src/frontend/mame/ui/selgame.cpp:314 src/frontend/mame/ui/selgame.cpp:320
+#: src/frontend/mame/ui/selsoft.cpp:216
#, c-format
msgid ""
-"[This option is NOT currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"If you select this option, the following items will be enabled:\n"
+"%s\n"
+" removed from favorites list."
msgstr ""
+"%s\n"
+" rimosso dai preferiti."
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:437
+msgid "Configure Machine"
+msgstr "Configura Macchina"
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/selgame.cpp:849
#, c-format
-msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
-msgstr ""
+msgid "Romset\t%1$-.100s\n"
+msgstr "Set di rom\t%1$-.100s\n"
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
-msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:850
+#, c-format
+msgid "Year\t%1$s\n"
+msgstr "Anno\t%1$s\n"
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %3$d.%4$06d MHz\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:851
+#, c-format
+msgid "Manufacturer\t%1$-.100s\n"
+msgstr "Produttore\t%1$-.100s\n"
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:855
+#, c-format
+msgid "Driver is Clone of\t%1$-.100s\n"
+msgstr "Il Driver è un Clone di\t%1$-.100s\n"
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:857
+msgid "Driver is Parent\t\n"
+msgstr "Il Driver è un Parent\t\n"
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:860
+msgid "Analog Controls\tYes\n"
+msgstr "Controlli Analogici\tSì\n"
-#: src/frontend/mame/ui/devopt.cpp:103
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:862
+msgid "Keyboard Inputs\tYes\n"
+msgstr "Input di Tastiera\tSì\n"
-#: src/frontend/mame/ui/devopt.cpp:104
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:865
+msgid "Overall\tNOT WORKING\n"
+msgstr "Complessivamente\tNON FUNZIONANTE\n"
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/selgame.cpp:867
+msgid "Overall\tUnemulated Protection\n"
+msgstr "Complessivamente\tProtezione Non Emulata\n"
+
+#: src/frontend/mame/ui/selgame.cpp:869
+msgid "Overall\tWorking\n"
+msgstr "Complessivamente\tFunzionante\n"
+
+#: src/frontend/mame/ui/selgame.cpp:872
+msgid "Graphics\tUnimplemented\n"
+msgstr "Grafica\tNon implementata\n"
+
+#: src/frontend/mame/ui/selgame.cpp:874
+msgid "Graphics\tWrong Colors\n"
+msgstr "Grafica\tColori Errati\n"
+
+#: src/frontend/mame/ui/selgame.cpp:876
+msgid "Graphics\tImperfect Colors\n"
+msgstr "Grafica\tColori Non Perfetti\n"
+
+#: src/frontend/mame/ui/selgame.cpp:878
+msgid "Graphics\tImperfect\n"
+msgstr "Grafica\tNon Perfetta\n"
+
+#: src/frontend/mame/ui/selgame.cpp:880
+msgid "Graphics\tOK\n"
+msgstr "Grafica\tOK\n"
+
+#: src/frontend/mame/ui/selgame.cpp:883
+msgid "Sound\tNone\n"
+msgstr "Suoni\tNessuno\n"
+
+#: src/frontend/mame/ui/selgame.cpp:885
+msgid "Sound\tUnimplemented\n"
+msgstr "Audio\tNon Implementato\n"
+
+#: src/frontend/mame/ui/selgame.cpp:887
+msgid "Sound\tImperfect\n"
+msgstr "Audio\tNon Perfetto\n"
+
+#: src/frontend/mame/ui/selgame.cpp:889
+msgid "Sound\tOK\n"
+msgstr "Audio\tOK\n"
+
+#: src/frontend/mame/ui/selgame.cpp:892
+msgid "Controls\tUnimplemented\n"
+msgstr "Controlli\tNon implementati\n"
+
+#: src/frontend/mame/ui/selgame.cpp:894
+msgid "Controls\tImperfect\n"
+msgstr "Controlli\tImperfetti\n"
+
+#: src/frontend/mame/ui/selgame.cpp:897
+msgid "Keyboard\tUnimplemented\n"
+msgstr "Tastiera\tNon implementata\n"
+
+#: src/frontend/mame/ui/selgame.cpp:899
+msgid "Keyboard\tImperfect\n"
+msgstr "Tastiera\tImperfetta\n"
+
+#: src/frontend/mame/ui/selgame.cpp:902
+msgid "Mouse\tUnimplemented\n"
+msgstr "Mouse\tNon implementato\n"
+
+#: src/frontend/mame/ui/selgame.cpp:904
+msgid "Mouse\tImperfect\n"
+msgstr "Mouse\tImperfetto\n"
+
+#: src/frontend/mame/ui/selgame.cpp:907
+msgid "Microphone\tUnimplemented\n"
+msgstr "Microfono\tNon implementato\n"
+
+#: src/frontend/mame/ui/selgame.cpp:909
+msgid "Microphone\tImperfect\n"
+msgstr "Microfono\tImperfetto\n"
+
+#: src/frontend/mame/ui/selgame.cpp:912
+msgid "Camera\tUnimplemented\n"
+msgstr "Camera\tNon implementata\n"
+
+#: src/frontend/mame/ui/selgame.cpp:914
+msgid "Camera\tImperfect\n"
+msgstr "Camera\tImperfetta\n"
+
+#: src/frontend/mame/ui/selgame.cpp:917
+msgid "Disk\tUnimplemented\n"
+msgstr "Disco\tNon implementato\n"
+
+#: src/frontend/mame/ui/selgame.cpp:919
+msgid "Disk\tImperfect\n"
+msgstr "Disco\tImperfetto\n"
+
+#: src/frontend/mame/ui/selgame.cpp:922
+msgid "Printer\tUnimplemented\n"
+msgstr "Stampante\tNon implementata\n"
+
+#: src/frontend/mame/ui/selgame.cpp:924
+msgid "Printer\tImperfect\n"
+msgstr "Stampante\tImperfetta\n"
+
+#: src/frontend/mame/ui/selgame.cpp:927
+msgid "LAN\tUnimplemented\n"
+msgstr "LAN\tNon implementata\n"
+
+#: src/frontend/mame/ui/selgame.cpp:929
+msgid "LAN\tImperfect\n"
+msgstr "LAN\tImperfetta\n"
+
+#: src/frontend/mame/ui/selgame.cpp:932
+msgid "WAN\tUnimplemented\n"
+msgstr "WAN\tNon implementata\n"
+
+#: src/frontend/mame/ui/selgame.cpp:934
+msgid "WAN\tImperfect\n"
+msgstr "WAN\tImperfetta\n"
+
+#: src/frontend/mame/ui/selgame.cpp:937
+msgid "Timing\tUnimplemented\n"
+msgstr "Temporizzazione\tNon implementata\n"
+
+#: src/frontend/mame/ui/selgame.cpp:939
+msgid "Timing\tImperfect\n"
+msgstr "Temporizzazione\tImperfetta\n"
+
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
-#, c-format
-msgid " %1$d×%2$s\n"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tYes\n"
+msgstr "Richiede Artwork\tSi\n"
+
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tNo\n"
+msgstr "Richiede Artwork\tNo\n"
+
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tYes\n"
+msgstr "Richiede Artwork Cliccabile\tSi\n"
+
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tNo\n"
+msgstr "Richiede Artwork Cliccabile\tNo\n"
+
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tYes\n"
+msgstr "Supporto Cocktail\tSi\n"
+
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tNo\n"
+msgstr "Supporto Cocktail\tNo\n"
+
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:168
-#, c-format
-msgid ""
-"* BIOS settings:\n"
-" %1$d options [default: %2$s]\n"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:208 src/frontend/mame/ui/devopt.cpp:224
-#: src/frontend/mame/ui/devopt.cpp:269
-#, c-format
-msgid " %1$s [default: %2$s]\n"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tYes\n"
+msgstr "Supporto Salvataggio\tSi\n"
+
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tNo\n"
+msgstr "Supporto Salvataggio\tNo\n"
+
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
-#, c-format
-msgid " %1$s\n"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tYes\n"
+msgstr "Richiede CHD\tSi\n"
+
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tNo\n"
+msgstr "Richiede CHD\tNo\n"
+
+#: src/frontend/mame/ui/selgame.cpp:970
+msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/selgame.cpp:972
+msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/selgame.cpp:975
+msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:977
+msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:979
+msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
-#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:983
+msgid ""
+"ROM Audit \tDisabled\n"
+"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
+#: src/frontend/mame/ui/selgame.cpp:1167
#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
-msgstr ""
+msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
+msgstr "%1$s %2$s ( %3$d / %4$d macchine (%5$d BIOS) )"
-#: src/frontend/mame/ui/devopt.cpp:248
+#: src/frontend/mame/ui/selgame.cpp:1183 src/frontend/mame/ui/selsoft.cpp:555
#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
-msgstr ""
+msgid "%1$s: %2$s - Search: %3$s_"
+msgstr "%1$s: %2$s - Cerca: %3$s_"
-#: src/frontend/mame/ui/devopt.cpp:250
+#: src/frontend/mame/ui/selgame.cpp:1185 src/frontend/mame/ui/selsoft.cpp:557
#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
-msgstr ""
+msgid "Search: %1$s_"
+msgstr "Cerca: %1$s_"
-#: src/frontend/mame/ui/devopt.cpp:252
+#: src/frontend/mame/ui/selgame.cpp:1195
#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
-msgstr ""
+msgid "Romset: %1$-.100s"
+msgstr "Set di Rom:%1$-.100s"
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/selgame.cpp:1202
#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
-msgstr ""
+msgid "System: %1$-.100s"
+msgstr "Sistema: %1$-.100s"
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+#: src/frontend/mame/ui/selgame.cpp:1239
+msgid ""
+"The selected machine is missing one or more required ROM or CHD images. "
+"Please select a different machine.\n"
+"\n"
msgstr ""
+"Nella macchina selezionata mancano uno o più file ROM o CHD richiesti. "
+"Seleziona un'altra macchina.\n"
+"\n"
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/selgame.cpp:1245 src/frontend/mame/ui/selsoft.cpp:462
+msgid "Press any key to continue."
+msgstr "Premi un tasto per continuare."
+
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
+msgstr "Audio"
+
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
+msgstr "Frequenza di Campionamento"
+
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
+msgstr "Usa Sample Aggiuntivi"
+
+#: src/frontend/mame/ui/utils.cpp:57 src/frontend/mame/ui/utils.cpp:81
+msgid "Unfiltered"
+msgstr "Non filtrato"
+
+#: src/frontend/mame/ui/utils.cpp:58 src/frontend/mame/ui/utils.cpp:82
+msgid "Available"
+msgstr "Disponibile"
+
+#: src/frontend/mame/ui/utils.cpp:59 src/frontend/mame/ui/utils.cpp:83
+msgid "Unavailable"
+msgstr "Non disponibile"
+
+#: src/frontend/mame/ui/utils.cpp:60
+msgid "Working"
+msgstr "Funziona"
+
+#: src/frontend/mame/ui/utils.cpp:61
+msgid "Not Working"
+msgstr "Non Funziona"
+
+#: src/frontend/mame/ui/utils.cpp:62
+msgid "Mechanical"
+msgstr "Meccanico"
+
+#: src/frontend/mame/ui/utils.cpp:63
+msgid "Not Mechanical"
+msgstr "Non Meccanico"
+
+#: src/frontend/mame/ui/utils.cpp:64
+msgid "Category"
+msgstr "Categoria"
+
+#: src/frontend/mame/ui/utils.cpp:65
+msgid "Favorites"
+msgstr "Preferiti"
+
+#: src/frontend/mame/ui/utils.cpp:67
+msgid "Not BIOS"
+msgstr "Nessun BIOS"
+
+#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:84
+msgid "Parents"
+msgstr "Genitori"
+
+#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/utils.cpp:85
+msgid "Clones"
+msgstr "Cloni"
+
+#: src/frontend/mame/ui/utils.cpp:70
+msgid "Manufacturer"
+msgstr "Produttore"
+
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:86
+msgid "Year"
+msgstr "Anno"
+
+#: src/frontend/mame/ui/utils.cpp:72
+msgid "Save Supported"
+msgstr "Salvataggio Supportato"
+
+#: src/frontend/mame/ui/utils.cpp:73
+msgid "Save Unsupported"
+msgstr "Salvataggio non Supportato"
+
+#: src/frontend/mame/ui/utils.cpp:74
+msgid "CHD Required"
+msgstr "CHD Richiesto"
+
+#: src/frontend/mame/ui/utils.cpp:75
+msgid "No CHD Required"
+msgstr "Nessun CHD Richiesto"
+
+#: src/frontend/mame/ui/utils.cpp:76
+msgid "Vertical Screen"
+msgstr "Schermata Verticale"
+
+#: src/frontend/mame/ui/utils.cpp:77
+msgid "Horizontal Screen"
+msgstr "Schermata Orizzontale"
+
+#: src/frontend/mame/ui/utils.cpp:78 src/frontend/mame/ui/utils.cpp:94
+msgid "Custom Filter"
+msgstr "Filtro Personalizzato"
+
+#: src/frontend/mame/ui/utils.cpp:87
+msgid "Publisher"
+msgstr "Editore"
+
+#: src/frontend/mame/ui/utils.cpp:88
+msgid "Supported"
+msgstr "Supportato"
+
+#: src/frontend/mame/ui/utils.cpp:89
+msgid "Partially Supported"
+msgstr "Parzialmente Supportato"
+
+#: src/frontend/mame/ui/utils.cpp:90
+msgid "Unsupported"
+msgstr "Non supportato"
+
+#: src/frontend/mame/ui/utils.cpp:91
+msgid "Release Region"
+msgstr "Regione di Rilascio"
+
+#: src/frontend/mame/ui/utils.cpp:92
+msgid "Device Type"
+msgstr "Tipo Dispositivo"
+
+#: src/frontend/mame/ui/utils.cpp:93
+msgid "Software List"
+msgstr "Lista Software"
+
+#: src/frontend/mame/ui/utils.cpp:244
+msgid "<set up filters>"
+msgstr "<imposta filtri>"
+
+#: src/frontend/mame/ui/utils.cpp:352
+msgid "Select custom filters:"
+msgstr "Seleziona filtro personalizzato:"
+
+#: src/frontend/mame/ui/utils.cpp:503
#, c-format
-msgid " %1$s [tag: %2$s]\n"
-msgstr ""
+msgid "Filter %1$u"
+msgstr "Filtro %1$u"
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
-msgstr ""
+#: src/frontend/mame/ui/utils.cpp:518
+msgid "Remove last filter"
+msgstr "Rimuovi ultimo filtro"
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+#: src/frontend/mame/ui/utils.cpp:520
+msgid "Add filter"
+msgstr "Aggiungi filtro"
+
+#: src/frontend/mame/ui/utils.cpp:959
+msgid "Select category:"
+msgstr "Seleziona categoria:"
+
+#: src/frontend/mame/ui/utils.cpp:990
+msgid "[no category INI files]"
+msgstr "[nessun file INI di categoria]"
+
+#: src/frontend/mame/ui/utils.cpp:998
+msgid "[no groups in INI file]"
+msgstr "[nessun gruppo nel file INI]"
+
+#: src/frontend/mame/ui/utils.cpp:1032
+msgid "No category INI files found"
+msgstr "Nessun file INI della categoria trovata"
+
+#: src/frontend/mame/ui/utils.cpp:1037
+msgid "File"
+msgstr "File"
+
+#: src/frontend/mame/ui/utils.cpp:1041
+msgid "No groups found in category file"
+msgstr "Nessun gruppo trovato nel file di categoria"
+
+#: src/frontend/mame/ui/utils.cpp:1046
+msgid "Group"
+msgstr "Gruppo"
+
+#: src/frontend/mame/ui/utils.cpp:1047
+msgid "Include clones"
+msgstr "Cloni inclusi"
+
+#: src/frontend/mame/ui/selsoft.cpp:456
+msgid ""
+"The selected software is missing one or more required files. Please select a "
+"different software.\n"
+"\n"
msgstr ""
+"Nel software selezionato mancano uno o più file richiesti. Seleziona "
+"un'altra software.\n"
+"\n"
-#: src/frontend/mame/ui/auditmenu.cpp:96
+#: src/frontend/mame/ui/selsoft.cpp:549
#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
-msgstr "Verifico le ROMs per %1$u le macchine marcate come non disponibili?"
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgstr "%1$s %2$s ( %3$d / %4$d pacchetti software )"
-#: src/frontend/mame/ui/auditmenu.cpp:99
+#: src/frontend/mame/ui/selsoft.cpp:550
#, c-format
-msgid "Audit ROMs for all %1$u machines?"
-msgstr "Verifico le ROMs per tutte %1$u le macchine?"
+msgid "Driver: \"%1$s\" software list "
+msgstr "Driver: \"%1$s\" lista software "
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
-msgstr "(i risultati verranno salvati su %1$s)"
+#: src/frontend/mame/ui/filesel.cpp:260
+msgid "[create]"
+msgstr "[crea]"
-#: src/frontend/mame/ui/auditmenu.cpp:130
+#: src/frontend/mame/ui/filesel.cpp:419
#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
+msgid "Error accessing %s"
msgstr ""
-"Verifica delle ROMs per la macchina %2$u di %3$u...\n"
-"%1$s"
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr "Avvia Verifica"
+#: src/frontend/mame/ui/filesel.cpp:515
+msgid "Select access mode"
+msgstr "Selezione modalità di accesso"
+
+#: src/frontend/mame/ui/filesel.cpp:516
+msgid "Read-only"
+msgstr "Sola-Lettura"
+
+#: src/frontend/mame/ui/filesel.cpp:518
+msgid "Read-write"
+msgstr "Lettura-Scrittura"
+
+#: src/frontend/mame/ui/filesel.cpp:519
+msgid "Read this image, write to another image"
+msgstr "Leggi da questo file, scrivi su un altro"
+
+#: src/frontend/mame/ui/filesel.cpp:520
+msgid "Read this image, write to diff"
+msgstr "Leggi da questo file, scrivi su diff"
#: src/frontend/mame/ui/imgcntrl.cpp:117
msgid "Cannot save over directory"
@@ -2359,371 +2197,452 @@ msgstr ""
"Nel software selezionato mancano una o più ROM o immagini CHD richiesti. "
"Selezionane un'altra."
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
-msgstr "protezione"
-
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
-msgstr "temporizzazione"
+#: src/frontend/mame/ui/menu.cpp:294
+msgid "Return to Machine"
+msgstr "Ritorna alla Macchina"
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
-msgstr "grafica"
+#: src/frontend/mame/ui/menu.cpp:299 src/frontend/mame/ui/menu.cpp:301
+msgid "Exit"
+msgstr "Esci"
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
-msgstr "tavolozza colore"
+#: src/frontend/mame/ui/menu.cpp:306 src/frontend/mame/ui/menu.cpp:308
+msgid "Return to Previous Menu"
+msgstr "Torna al Menu Precedente"
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
-msgstr "audio"
+#: src/frontend/mame/ui/menu.cpp:742
+msgid "Auto"
+msgstr "Auto"
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:653
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
+"Commento Cheat:\n"
+"%s"
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
-msgstr "camera"
-
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
-msgstr "microfono"
+#: src/frontend/mame/ui/cheatopt.cpp:105
+msgid "All cheats reloaded"
+msgstr "Tutti i cheat sono stati ricaricati"
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
-msgstr "controlli"
+#: src/frontend/mame/ui/cheatopt.cpp:136
+msgid "Autofire Settings"
+msgstr "Impostazioni Autofire"
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
-msgstr "tastiera"
+#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:581
+msgid "Reset All"
+msgstr "Ripristina Tutto"
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
-msgstr "mouse"
+#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:582
+msgid "Reload All"
+msgstr "Ricarica Tutto"
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
-msgstr ""
+#: src/frontend/mame/ui/cheatopt.cpp:273
+msgid "Autofire Status"
+msgstr "Stato Autofire"
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
-msgstr "disco"
+#: src/frontend/mame/ui/cheatopt.cpp:316
+msgid "No buttons found on this machine!"
+msgstr "Nessun tasto/pulsante trovato per questa macchina!"
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
-msgstr "stampante"
+#: src/frontend/mame/ui/cheatopt.cpp:327 src/frontend/mame/ui/cheatopt.cpp:331
+msgid "Autofire Delay"
+msgstr "Ritardo Autofire"
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/ui.cpp:337
+msgid "This driver requires images to be loaded in the following device(s): "
msgstr ""
+"Questo driver richiede software caricato nel(i) dispositivo(i) seguente(i): "
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
-msgstr ""
+#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
+msgid "Keyboard Emulation Status"
+msgstr "Stato Emulazione Tastiera"
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
-msgstr ""
+#: src/frontend/mame/ui/ui.cpp:1086
+msgid "Mode: PARTIAL Emulation"
+msgstr "Modalità: Emulazione PARZIALE"
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
-msgstr ""
+#: src/frontend/mame/ui/ui.cpp:1087
+msgid "UI: Enabled"
+msgstr "UI: Abilitato"
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
-msgstr ""
+#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
+msgid "**Use ScrLock to toggle**"
+msgstr "**Usa ScrLock per cambiare**"
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
-msgstr "LAN"
+#: src/frontend/mame/ui/ui.cpp:1096
+msgid "Mode: FULL Emulation"
+msgstr "Modalità: Emulazione COMPLETA"
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
-msgstr "WAN"
+#: src/frontend/mame/ui/ui.cpp:1097
+msgid "UI: Disabled"
+msgstr "UI: Disabilitato"
-#: src/frontend/mame/ui/info.cpp:188
-msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
-msgstr ""
-"Uno o più ROM/CHD per questa macchina non sono corretti. La macchina "
-"potrebbe non funzionare correttamente.\n"
+#: src/frontend/mame/ui/ui.cpp:1249
+msgid "Autofire can't be enabled"
+msgstr "Autofire non può essere abilitato"
-#: src/frontend/mame/ui/info.cpp:198
+#: src/frontend/mame/ui/ui.cpp:1302
+#, c-format
msgid ""
-"There are known problems with this machine\n"
+"Are you sure you want to quit?\n"
"\n"
+"Press ''%1$s'' to quit,\n"
+"Press ''%2$s'' to return to emulation."
msgstr ""
-"Ci sono problemi noti per questa macchina\n"
+"Sei sicuro di voler uscire?\n"
"\n"
+"Premi ''%1$s'' per uscire,\n"
+"Premi ''%2$s'' per contrinuare l'emulazione."
-#: src/frontend/mame/ui/info.cpp:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
-msgstr "Uno o più ROM/CHD per questa macchina non è dumpato correttamente.\n"
+#: src/frontend/mame/ui/ui.cpp:1374
+msgid "Master Volume"
+msgstr "Volume Principale"
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
-msgstr "Funzionalità assolutamente non emulate: "
+#: src/frontend/mame/ui/ui.cpp:1383
+#, c-format
+msgid "%1$s Volume"
+msgstr "%1$s Volume"
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
+#: src/frontend/mame/ui/ui.cpp:1407
#, c-format
-msgid "%s"
-msgstr "%s"
+msgid "Overclock CPU %1$s"
+msgstr "Overclock CPU %1$s"
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#: src/frontend/mame/ui/info.cpp:275
+#: src/frontend/mame/ui/ui.cpp:1416
#, c-format
-msgid ", %s"
-msgstr ", %s"
+msgid "Overclock %1$s sound"
+msgstr "Overclock %1$s suono"
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
-msgstr "Funzionalità emulate non perfettamente: "
+#: src/frontend/mame/ui/ui.cpp:1437
+#, c-format
+msgid "%1$s Refresh Rate"
+msgstr "%1$s Frequenza di aggiornamento"
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
-msgstr "L'inversione dello schermo in modalità cocktail non è supportata.\n"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, c-format
+msgid "%1$s Brightness"
+msgstr "%1$s Luminosità"
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
-msgstr "Questa macchina richiede file di artwork extra\n"
+#: src/frontend/mame/ui/ui.cpp:1444
+#, c-format
+msgid "%1$s Contrast"
+msgstr "%1$s Contrasto"
-#: src/frontend/mame/ui/info.cpp:243
-msgid ""
-"This machine was never completed. It may exhibit strange behavior or missing "
-"elements that are not bugs in the emulation.\n"
-msgstr ""
-"Questa macchina non è mai stata completata. Potrebbe mostrare comportamenti "
-"strani o elementi mancanti che non sono bug nell'emulazione.\n"
+#: src/frontend/mame/ui/ui.cpp:1446
+#, c-format
+msgid "%1$s Gamma"
+msgstr "%1$s Gamma"
-#: src/frontend/mame/ui/info.cpp:245
-msgid ""
-"This machine has no sound hardware, MAME will produce no sounds, this is "
-"expected behaviour.\n"
-msgstr ""
-"Questa macchina non ha alcun componente audio, MAME non produrrà alcun suono "
-"e questo è il comportamento atteso e non un bug.\n"
+#: src/frontend/mame/ui/ui.cpp:1450
+#, c-format
+msgid "%1$s Horiz Stretch"
+msgstr "%1$s Allungamento Orizzontale"
-#: src/frontend/mame/ui/info.cpp:249
-msgid ""
-"\n"
-"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
-"complete. There is nothing you can do to fix this problem except wait for "
-"the developers to improve the emulation.\n"
-msgstr ""
-"\n"
-"QUESTA MACCHINA NON FUNZIONA. L'emulazione di questa macchina non è ancora "
-"completa. Non c'è nulla che tu possa fare per risolvere questo problema "
-"eccetto aspettare che gli sviluppatori migliorino l'emulazione.\n"
+#: src/frontend/mame/ui/ui.cpp:1452
+#, c-format
+msgid "%1$s Horiz Position"
+msgstr "%1$s Posizione Orizzontale"
-#: src/frontend/mame/ui/info.cpp:251
-msgid ""
-"\n"
-"Elements of this machine cannot be emulated as they requires physical "
-"interaction or consist of mechanical devices. It is not possible to fully "
-"experience this machine.\n"
-msgstr ""
-"\n"
-"Gli elementi di questa macchina non possono essere emulati poiché richiedono "
-"interazione fisica o consistono di dispositivi meccanici. Non è possibile "
-"sperimentare pienamente questa macchina.\n"
+#: src/frontend/mame/ui/ui.cpp:1454
+#, c-format
+msgid "%1$s Vert Stretch"
+msgstr "%1$s Allungamento Verticale"
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1456
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
-msgstr ""
-"\n"
-"\n"
-"Ci sono Cloni funzionanti di questa macchina: %s"
+msgid "%1$s Vert Position"
+msgstr "%1$s Posizione Verticale"
+
+#: src/frontend/mame/ui/ui.cpp:1475
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
+msgstr "Laserdisc '%1$s' Allungamento Orizzontale"
-#: src/frontend/mame/ui/info.cpp:286
+#: src/frontend/mame/ui/ui.cpp:1477
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
+msgstr "Laserdisc '%1$s' Posizione Orizzontale"
+
+#: src/frontend/mame/ui/ui.cpp:1479
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
+msgstr "Laserdisc '%1$s' Allungamento Verticale"
+
+#: src/frontend/mame/ui/ui.cpp:1481
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
+msgstr "Laserdisc '%1$s' Posizione Verticale"
+
+#: src/frontend/mame/ui/ui.cpp:1493
+msgid "Vector Flicker"
+msgstr "Sfarfallio Vettoriale"
+
+#: src/frontend/mame/ui/ui.cpp:1494
+msgid "Beam Width Minimum"
+msgstr "Larghezza Minima del Raggio"
+
+#: src/frontend/mame/ui/ui.cpp:1495
+msgid "Beam Width Maximum"
+msgstr "Larghezza Massima del Raggio"
+
+#: src/frontend/mame/ui/ui.cpp:1496
+msgid "Beam Intensity Weight"
+msgstr "Peso intensità del Raggio"
+
+#: src/frontend/mame/ui/ui.cpp:1511
+#, c-format
+msgid "Crosshair Scale %1$s"
+msgstr "Scala del Puntatore %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "X"
+msgstr "X"
+
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "Y"
+msgstr "Y"
+
+#: src/frontend/mame/ui/ui.cpp:1513
+#, c-format
+msgid "Crosshair Offset %1$s"
+msgstr "Offset del Puntatore %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1601
+#, c-format
+msgid "%1$3ddB"
+msgstr "%1$3ddB"
+
+#: src/frontend/mame/ui/ui.cpp:1645
+#, c-format
+msgid "%1$d%%"
+msgstr "%1$d%%"
+
+#: src/frontend/mame/ui/ui.cpp:1661
+#, c-format
+msgid "%1$3.0f%%"
+msgstr "%1$3.0f%%"
+
+#: src/frontend/mame/ui/ui.cpp:1685
+#, c-format
+msgid "%1$.3ffps"
+msgstr "%1$.3ffps"
+
+#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
+#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
+#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
+#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
+#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
+#: src/frontend/mame/ui/ui.cpp:1927
+#, c-format
+msgid "%1$.3f"
+msgstr "%1$.3f"
+
+#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
+#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
+#, c-format
+msgid "%1$1.2f"
+msgstr "%1$1.2f"
+
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
+msgstr "Scala del Puntatore X %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
+msgstr "Scala del Puntatore Y %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
+msgstr "Offset del Puntatore X %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
+msgstr "Offset del Puntatore Y %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
+msgstr "**Errore nel salvataggio del file ui.ini**"
+
+#: src/frontend/mame/ui/ui.cpp:2226
+#, c-format
+msgid "**Error saving %s.ini**"
+msgstr "**Errore nel salvataggio del file %s.ini**"
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " COLORS"
+msgstr " COLORI"
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " PENS"
+msgstr " PEN"
+
+#: src/frontend/mame/ui/devopt.cpp:39
+#, c-format
msgid ""
+"[This option is currently mounted in the running system]\n"
"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
"\n"
-"Press any key to continue"
+"The selected option enables the following items:\n"
msgstr ""
-"\n"
-"\n"
-"Premi un tasto per proseguire"
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/devopt.cpp:40
#, c-format
msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
+"[This option is NOT currently mounted in the running system]\n"
"\n"
-"CPU:\n"
-msgstr ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
"\n"
-"CPU:\n"
+"If you select this option, the following items will be enabled:\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
-msgstr "MHz"
+#: src/frontend/mame/ui/devopt.cpp:48
+msgid "* CPU:\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
-msgstr "kHz"
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
+#, c-format
+msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
+msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
msgstr ""
-"\n"
-"Audio:\n"
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %3$d.%4$06d MHz\n"
msgstr ""
-"\n"
-"Video:\n"
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
-msgstr "Nessuno\n"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %5$d.%6$03d kHz\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
-msgstr "Vettoriale"
+#: src/frontend/mame/ui/devopt.cpp:85
+msgid "* Video:\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:90
#, c-format
-msgid "%1$s: %2$s\n"
-msgstr "%1$s: %2$s\n"
-
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
-msgstr "%2$s\n"
+msgid " Screen '%1$s': Vector\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:99
#, c-format
-msgid "Screen '%1$s'"
-msgstr "Schermo '%1$s'"
-
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr "Schermo"
-
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
-msgstr "Non supportato"
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
-msgstr "Parzialmente supportato"
+#: src/frontend/mame/ui/devopt.cpp:100
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
-msgstr "[vuoto]"
+#: src/frontend/mame/ui/devopt.cpp:113
+msgid "* Sound:\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
-msgstr "Pannelli di controllo"
+#: src/frontend/mame/ui/devopt.cpp:133
+#, c-format
+msgid " %1$d×%2$s\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
-msgstr "Anteprima Artwork"
+#: src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
-msgstr "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:164
+#, c-format
+msgid ""
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
-msgstr "Aggiungi o rimuovi preferiti"
+#: src/frontend/mame/ui/devopt.cpp:204 src/frontend/mame/ui/devopt.cpp:220
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " %1$s [default: %2$s]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
-msgstr "Esporta la lista visualizzata in un file"
+#: src/frontend/mame/ui/devopt.cpp:209 src/frontend/mame/ui/devopt.cpp:225
+#, c-format
+msgid " %1$s\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
-msgstr "Mostra viste DAT"
+#: src/frontend/mame/ui/devopt.cpp:230
+msgid "* DIP switch settings:\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
-msgstr "Selezione parte software:"
+#: src/frontend/mame/ui/devopt.cpp:232
+msgid "* Configuration settings:\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
-msgstr "Selezione BIOS:"
+#: src/frontend/mame/ui/devopt.cpp:234
+msgid "* Input device(s):\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
+#: src/frontend/mame/ui/devopt.cpp:236
#, c-format
-msgid "Software is clone of: %1$-.100s"
-msgstr "Il software è Clone di: %1$-.100s"
-
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
-msgstr "Il software è parent"
-
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
-msgstr "Supportato: No"
-
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
-msgstr "Supportato: Parzialmente"
+msgid " User inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
-msgstr "Supportato: Si"
+#: src/frontend/mame/ui/devopt.cpp:238
+#, c-format
+msgid " Mahjong inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
+#: src/frontend/mame/ui/devopt.cpp:240
#, c-format
-msgid "romset: %1$-.100s"
-msgstr "set di rom:%1$-.100s"
+msgid " Hanafuda inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
+#: src/frontend/mame/ui/devopt.cpp:242
#, c-format
-msgid "Driver is clone of: %1$-.100s"
-msgstr "Il Driver è un clone di: %-.100s"
+msgid " Gambling inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
-msgstr "Il Driver è un parent"
+#: src/frontend/mame/ui/devopt.cpp:244
+#, c-format
+msgid " Analog inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
+#: src/frontend/mame/ui/devopt.cpp:246
#, c-format
-msgid "%1$s %2$s"
-msgstr "%1$s %2$s"
+msgid " Adjuster inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
-msgstr "Immagini"
+#: src/frontend/mame/ui/devopt.cpp:248
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
-msgstr "Informazioni"
+#: src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
-msgstr "Utilizzo"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* Media Options:\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
-msgstr "Informazioni Generali"
+#: src/frontend/mame/ui/devopt.cpp:257
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
+msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
-msgstr "Interfaccia Utente"
+#: src/frontend/mame/ui/devopt.cpp:263
+msgid "* Slot Options:\n"
+msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
-msgstr "Altri Controlli"
+#: src/frontend/mame/ui/devopt.cpp:270
+msgid "[None]\n"
+msgstr ""
#: plugins/timer/init.lua:94
msgid "Current time"
@@ -2741,51 +2660,51 @@ msgstr ""
msgid "Timer"
msgstr ""
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:510
msgid "Select cheat to set hotkey"
msgstr "Seleziona cheat per impostare gli hotkey"
-#: plugins/cheat/init.lua:534
+#: plugins/cheat/init.lua:516
msgid "Press button for hotkey or wait to clear"
msgstr "Premere il pulsante per gli hotkey o attendere per cancellare"
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:528
msgid "None"
msgstr "Nessuno"
-#: plugins/cheat/init.lua:551
+#: plugins/cheat/init.lua:533
msgid "Done"
msgstr "Fatto"
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:547 plugins/cheat/init.lua:561
msgid "Set"
msgstr ""
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:580
msgid "Set hotkeys"
msgstr "Imposta i tasti di scelta rapida"
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:720
#, lua-format
msgid "Activated: %s = %s"
msgstr "Attivato: %s = %s"
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:723 plugins/cheat/init.lua:781
#, lua-format
msgid "Activated: %s"
msgstr "Attivato: %s"
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:785
#, lua-format
msgid "Enabled: %s"
msgstr "Abilitato: %s"
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:790
#, lua-format
msgid "Disabled: %s"
msgstr "Disabilitato: %s"
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "%s added"
msgstr "%s aggiunto"
@@ -2834,318 +2753,224 @@ msgstr "Inizializza Gioco"
msgid "MARPScore"
msgstr "Punteggio MARP"
-#: plugins/cheatfind/init.lua:404
+#: plugins/cheatfind/init.lua:373
msgid "Save Cheat"
msgstr "Salva Cheat"
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Default"
msgstr "Predefinito"
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Custom"
msgstr "Personalizzato"
-#: plugins/cheatfind/init.lua:408
+#: plugins/cheatfind/init.lua:377
msgid "Cheat Name"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/cheatfind/init.lua:383 plugins/cheatfind/init.lua:748
#, lua-format
msgid "Default name is %s"
msgstr "Il nome predefinito è %s"
-#: plugins/cheatfind/init.lua:422
+#: plugins/cheatfind/init.lua:391
msgid "Player"
msgstr ""
-#: plugins/cheatfind/init.lua:427
+#: plugins/cheatfind/init.lua:396
msgid "Type"
msgstr "Tipo"
-#: plugins/cheatfind/init.lua:433
+#: plugins/cheatfind/init.lua:402
msgid "Save"
msgstr "Salva"
-#: plugins/cheatfind/init.lua:462
+#: plugins/cheatfind/init.lua:429
#, lua-format
msgid "Cheat written to %s and added to cheat.simple"
msgstr "Cheat scritto su %s e aggiunto a cheat.simple"
-#: plugins/cheatfind/init.lua:472
+#: plugins/cheatfind/init.lua:437
msgid "Cheat added to cheat.simple"
msgstr "Cheat aggiunto a cheat.simple"
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:442
msgid ""
"Unable to write file\n"
"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/cheatfind/init.lua:486
+#: plugins/cheatfind/init.lua:451
msgid "Cancel"
msgstr "Cancella"
-#: plugins/cheatfind/init.lua:491
+#: plugins/cheatfind/init.lua:456
msgid "CPU or RAM"
msgstr "CPU o RAM"
-#: plugins/cheatfind/init.lua:495
+#: plugins/cheatfind/init.lua:460
msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
"Le modifiche avranno effetto solo quando \"Inizia nuova ricerca\" è "
"selezionato"
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
-msgstr ""
+#: plugins/cheatfind/init.lua:479
+msgid "Data cleared and current state saved"
+msgstr "Dati cancellati e stato attuale salvato"
-#: plugins/cheatfind/init.lua:551
+#: plugins/cheatfind/init.lua:487
msgid "Start new search"
msgstr "Inizia nuova ricerca"
-#: plugins/cheatfind/init.lua:564
+#: plugins/cheatfind/init.lua:497
+msgid "Current state saved"
+msgstr "Stato attuale salvato"
+
+#: plugins/cheatfind/init.lua:504
+msgid "Save current -- #"
+msgstr "Salva corrente -- #"
+
+#: plugins/cheatfind/init.lua:536
#, lua-format
-msgid "Memory State saved to Slot %d"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:543
+msgid "Compare"
msgstr ""
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
+#: plugins/cheatfind/init.lua:546
+msgid "Left operand"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:549
+msgid "Current"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:554
+msgid "Operator"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:561
+msgid "Left less than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:676
+#: plugins/cheatfind/init.lua:563
+msgid "Left greater than right, value is difference"
+msgstr ""
+
+#: plugins/cheatfind/init.lua:565
msgid "Left equal to right"
msgstr "Sinistra uguale a destra"
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:567
+msgid "Left not equal to right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:680
+#: plugins/cheatfind/init.lua:569
msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:682
+#: plugins/cheatfind/init.lua:571
msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:684
+#: plugins/cheatfind/init.lua:573
msgid "Left less than value"
msgstr "Sinistra, inferiore al valore"
-#: plugins/cheatfind/init.lua:686
+#: plugins/cheatfind/init.lua:575
msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:688
+#: plugins/cheatfind/init.lua:577
msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:690
+#: plugins/cheatfind/init.lua:579
msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/cheatfind/init.lua:590
+msgid "Right operand"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/cheatfind/init.lua:598
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:719
+#: plugins/cheatfind/init.lua:602
msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:725
+#: plugins/cheatfind/init.lua:608
msgid "Data Format"
msgstr "Formato dati"
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:738
-msgid ""
-"Use this if you want to poke the Slot 1 value (eg. You started with "
-"something but lost it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:740
-msgid ""
-"Use this if you want to poke the Last Slot value (eg. You started without an "
-"item but finally got it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:816
+#: plugins/cheatfind/init.lua:632
msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:820
+#: plugins/cheatfind/init.lua:636
msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:823
+#: plugins/cheatfind/init.lua:639
msgid "All"
msgstr "TUTTO"
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheatfind/init.lua:690
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Test cheat at addr %08X"
msgstr ""
-#: plugins/cheatfind/init.lua:974
+#: plugins/cheatfind/init.lua:722
msgid "Cheat engine not available"
msgstr "Cheat engine non disponibile"
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Write"
msgstr "Scrivere"
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
+#: plugins/cheatfind/init.lua:788
msgid "Page"
msgstr "Pagina"
-#: plugins/cheatfind/init.lua:1063
+#: plugins/cheatfind/init.lua:806
msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
+#: plugins/cheatfind/init.lua:816
msgid "Cheat Finder"
msgstr ""
-#: plugins/portname/init.lua:103
+#: plugins/portname/init.lua:69
msgid "Save input names to file"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
+#: plugins/portname/init.lua:100 plugins/portname/init.lua:105
+#: plugins/portname/init.lua:121
msgid "Failed to save input name file"
msgstr ""
-#: plugins/portname/init.lua:167
+#: plugins/portname/init.lua:133
#, lua-format
msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/portname/init.lua:172
+#: plugins/portname/init.lua:138
msgid "Input ports"
msgstr ""
-#~ msgid "Data cleared and current state saved"
-#~ msgstr "Dati cancellati e stato attuale salvato"
-
-#~ msgid "Current state saved"
-#~ msgstr "Stato attuale salvato"
-
-#~ msgid "Save current -- #"
-#~ msgstr "Salva corrente -- #"
-
#~ msgid "Default name is "
#~ msgstr "Il nome predefinito è "
diff --git a/language/Japanese/strings.po b/language/Japanese/strings.po
index 6e984ff9259..60beba08945 100644
--- a/language/Japanese/strings.po
+++ b/language/Japanese/strings.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MAME\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-03-17 13:37+1100\n"
+"POT-Creation-Date: 2018-04-28 15:32+1000\n"
"PO-Revision-Date: 2016-02-23 01:39+0900\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -18,61 +18,238 @@ msgstr ""
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Poedit 1.6.11\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
+#: src/frontend/mame/ui/auditmenu.cpp:96
#, c-format
-msgid "Screen #%d"
-msgstr "ç”»é¢ #%d"
+msgid "Audit ROMs for %1$u machines marked unavailable?"
+msgstr "存在ã—ãªã„ã«åˆ†é¡žã•れãŸ%1$uマシンã®ROMを検査ã—ã¾ã™ã‹ï¼Ÿ"
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr "回転"
+#: src/frontend/mame/ui/auditmenu.cpp:99
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
+msgstr "å…¨%1$uマシンã®ROMを検査ã—ã¾ã™ã‹ï¼Ÿ"
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr "背景画åƒ"
+#: src/frontend/mame/ui/auditmenu.cpp:104
+#, c-format
+msgid "(results will be saved to %1$s)"
+msgstr "ï¼ˆçµæžœã¯%1$sã«ä¿å­˜ã•れã¾ã™ï¼‰"
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Enabled"
-msgstr "有効"
+#: src/frontend/mame/ui/auditmenu.cpp:130
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
+msgstr ""
+"マシン%2$uï¼%3$uã®ROMを検査中...\n"
+"%1$s"
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Disabled"
-msgstr "無効"
+#: src/frontend/mame/ui/auditmenu.cpp:142
+msgid "Start Audit"
+msgstr "検査を開始"
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr "オーãƒãƒ¼ãƒ¬ã‚¤ç”»åƒ"
+#: src/frontend/mame/ui/selmenu.cpp:49 src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Snapshots"
+msgstr "スクリーンショット"
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr "ベゼル画åƒ"
+#: src/frontend/mame/ui/selmenu.cpp:50 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cabinets"
+msgstr "ç­ä½“ç”»åƒãƒ•ァイル"
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+#: src/frontend/mame/ui/selmenu.cpp:51
+msgid "Control Panels"
msgstr "æ“作パãƒãƒ«ç”»åƒ"
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
+#: src/frontend/mame/ui/selmenu.cpp:52 src/frontend/mame/ui/dirmenu.cpp:50
+msgid "PCBs"
+msgstr "基æ¿ç”»åƒ"
+
+#: src/frontend/mame/ui/selmenu.cpp:53 src/frontend/mame/ui/dirmenu.cpp:47
+msgid "Flyers"
+msgstr "フライヤー画åƒ"
+
+#: src/frontend/mame/ui/selmenu.cpp:54 src/frontend/mame/ui/dirmenu.cpp:48
+msgid "Titles"
+msgstr "タイトル画åƒ"
+
+#: src/frontend/mame/ui/selmenu.cpp:55 src/frontend/mame/ui/dirmenu.cpp:49
+msgid "Ends"
+msgstr "終了画åƒ"
+
+#: src/frontend/mame/ui/selmenu.cpp:56
+msgid "Artwork Preview"
+msgstr "アートワークã®ãƒ—レビュー"
+
+#: src/frontend/mame/ui/selmenu.cpp:57 src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Bosses"
+msgstr "ボス画åƒãƒ•ァイル"
+
+#: src/frontend/mame/ui/selmenu.cpp:58 src/frontend/mame/ui/dirmenu.cpp:60
+msgid "Logos"
+msgstr "ロゴ"
+
+#: src/frontend/mame/ui/selmenu.cpp:59 src/frontend/mame/ui/dirmenu.cpp:62
+msgid "Versus"
+msgstr "ãƒãƒ¼ã‚µã‚¹"
+
+#: src/frontend/mame/ui/selmenu.cpp:60
+msgid "Game Over"
+msgstr "ゲームオーãƒãƒ¼"
+
+#: src/frontend/mame/ui/selmenu.cpp:61 src/frontend/mame/ui/dirmenu.cpp:59
+msgid "HowTo"
+msgstr "HOWTO"
+
+#: src/frontend/mame/ui/selmenu.cpp:62 src/frontend/mame/ui/dirmenu.cpp:61
+msgid "Scores"
+msgstr "スコア"
+
+#: src/frontend/mame/ui/selmenu.cpp:63 src/frontend/mame/ui/dirmenu.cpp:57
+msgid "Select"
+msgstr "é¸æŠž"
+
+#: src/frontend/mame/ui/selmenu.cpp:64 src/frontend/mame/ui/dirmenu.cpp:51
+#: src/frontend/mame/ui/videoopt.cpp:224
msgid "Marquees"
msgstr "マーキー画åƒ"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
-msgstr "ビュー"
+#: src/frontend/mame/ui/selmenu.cpp:65 src/frontend/mame/ui/dirmenu.cpp:63
+msgid "Covers"
+msgstr "ã‚«ãƒãƒ¼"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
-msgstr "切りè½ã¨ã—"
+#: src/frontend/mame/ui/selmenu.cpp:69
+msgid "Add or remove favorites"
+msgstr "ãŠæ°—ã«å…¥ã‚Šã«è¿½åŠ ã¾ãŸã¯å‰Šé™¤"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
-msgstr "全体"
+#: src/frontend/mame/ui/selmenu.cpp:70
+msgid "Export displayed list to file"
+msgstr "表示ã•れã¦ã„るリストをファイルã«å‡ºåŠ›"
+
+#: src/frontend/mame/ui/selmenu.cpp:71
+msgid "Show DATs view"
+msgstr "DATビューを表示"
+
+#: src/frontend/mame/ui/selmenu.cpp:237
+msgid "Software part selection:"
+msgstr "é¸æŠžä¸­ã®ã‚½ãƒ•トウェアパーツ:"
+
+#: src/frontend/mame/ui/selmenu.cpp:343
+msgid "BIOS selection:"
+msgstr "BIOSé¸æŠžï¼š"
+
+#: src/frontend/mame/ui/selmenu.cpp:570 src/frontend/mame/ui/selmenu.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:311
+#, c-format
+msgid "%1$s, %2$-.100s"
+msgstr "%1$sã€%2$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:574
+#, c-format
+msgid "Software is clone of: %1$-.100s"
+msgstr "次ã®ã‚¯ãƒ­ãƒ¼ãƒ³ã®ã‚½ãƒ•トウェア:%1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:576
+msgid "Software is parent"
+msgstr "親セットã®ã‚½ãƒ•トウェア"
+
+#: src/frontend/mame/ui/selmenu.cpp:581
+msgid "Supported: No"
+msgstr "対応状æ³ï¼šã„ã„ãˆ"
+
+#: src/frontend/mame/ui/selmenu.cpp:586
+msgid "Supported: Partial"
+msgstr "対応状æ³ï¼šéƒ¨åˆ†çš„"
+
+#: src/frontend/mame/ui/selmenu.cpp:591
+msgid "Supported: Yes"
+msgstr "対応状æ³ï¼šã¯ã„"
+
+#: src/frontend/mame/ui/selmenu.cpp:596
+#, c-format
+msgid "romset: %1$-.100s"
+msgstr "ソフト:%1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:612
+#, c-format
+msgid "Driver is clone of: %1$-.100s"
+msgstr "次ã®ã‚¯ãƒ­ãƒ¼ãƒ³ã®ãƒ‰ãƒ©ã‚¤ãƒï¼š%1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:614
+msgid "Driver is parent"
+msgstr "親セットã®ãƒ‰ãƒ©ã‚¤ãƒ"
+
+#: src/frontend/mame/ui/selmenu.cpp:619
+#: src/frontend/mame/ui/simpleselgame.cpp:330
+msgid "Overall: NOT WORKING"
+msgstr "概略:動作ä¸å¯"
+
+#: src/frontend/mame/ui/selmenu.cpp:621
+#: src/frontend/mame/ui/simpleselgame.cpp:332
+msgid "Overall: Unemulated Protection"
+msgstr "æ¦‚ç•¥ï¼šãƒ—ãƒ­ãƒ†ã‚¯ãƒˆãŒæœªã‚¨ãƒŸãƒ¥ãƒ¬ãƒ¼ãƒˆ"
+
+#: src/frontend/mame/ui/selmenu.cpp:623
+#: src/frontend/mame/ui/simpleselgame.cpp:334
+msgid "Overall: Working"
+msgstr "概略:動作å¯"
+
+#: src/frontend/mame/ui/selmenu.cpp:627
+#: src/frontend/mame/ui/simpleselgame.cpp:338
+msgid "Graphics: Unimplemented, "
+msgstr "グラフィック:未実装 "
+
+#: src/frontend/mame/ui/selmenu.cpp:629
+#: src/frontend/mame/ui/simpleselgame.cpp:340
+msgid "Graphics: Imperfect, "
+msgstr "グラフィック:ä¸å®Œå…¨ã€€"
+
+#: src/frontend/mame/ui/selmenu.cpp:631
+#: src/frontend/mame/ui/simpleselgame.cpp:342
+msgid "Graphics: OK, "
+msgstr "グラフィック:正常 "
+
+#: src/frontend/mame/ui/selmenu.cpp:634
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+msgid "Sound: None"
+msgstr "サウンド:ãªã—"
+
+#: src/frontend/mame/ui/selmenu.cpp:636
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+msgid "Sound: Unimplemented"
+msgstr "サウンド:未実装"
+
+#: src/frontend/mame/ui/selmenu.cpp:638
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+msgid "Sound: Imperfect"
+msgstr "サウンド:ä¸å®Œå…¨"
+
+#: src/frontend/mame/ui/selmenu.cpp:640
+#: src/frontend/mame/ui/simpleselgame.cpp:351
+msgid "Sound: OK"
+msgstr "サウンド:正常"
+
+#: src/frontend/mame/ui/selmenu.cpp:650
+#, c-format
+msgid "%1$s %2$s"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:1975
+msgid "Images"
+msgstr "ç”»åƒ"
+
+#: src/frontend/mame/ui/selmenu.cpp:1976
+msgid "Infos"
+msgstr "情報"
+
+#: src/frontend/mame/ui/selmenu.cpp:2386 src/frontend/mame/ui/miscmenu.cpp:826
+msgid " (default)"
+msgstr "(デフォルト)"
+
+#: src/frontend/mame/ui/selmenu.cpp:2454
+msgid "Usage"
+msgstr "ä½¿ã„æ–¹"
+
+#: src/frontend/mame/ui/selmenu.cpp:2489
+msgid "General Info"
+msgstr "一般情報"
#: src/frontend/mame/ui/dirmenu.cpp:35
msgid "ROMs"
@@ -114,30 +291,6 @@ msgstr "アイコンファイル"
msgid "Cheats"
msgstr "ãƒãƒ¼ãƒˆãƒ•ァイル"
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
-msgstr "スクリーンショット"
-
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
-msgstr "ç­ä½“ç”»åƒãƒ•ァイル"
-
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
-msgstr "フライヤー画åƒ"
-
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
-msgstr "タイトル画åƒ"
-
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
-msgstr "終了画åƒ"
-
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
-msgstr "基æ¿ç”»åƒ"
-
#: src/frontend/mame/ui/dirmenu.cpp:52
msgid "Controls Panels"
msgstr "æ“作パãƒãƒ«ç”»åƒ"
@@ -150,42 +303,14 @@ msgstr "照準画åƒãƒ•ァイル"
msgid "Artworks"
msgstr "アートワークファイル"
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
-msgstr "ボス画åƒãƒ•ァイル"
-
#: src/frontend/mame/ui/dirmenu.cpp:56
msgid "Artworks Preview"
msgstr "アートワークã®ãƒ—レビュー"
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
-msgstr "é¸æŠž"
-
#: src/frontend/mame/ui/dirmenu.cpp:58
msgid "GameOver"
msgstr "ゲームオーãƒãƒ¼"
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
-msgstr "HOWTO"
-
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
-msgstr "ロゴ"
-
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
-msgstr "スコア"
-
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
-msgstr "ãƒãƒ¼ã‚µã‚¹"
-
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
-msgstr "ã‚«ãƒãƒ¼"
-
#: src/frontend/mame/ui/dirmenu.cpp:116
msgid "Folders Setup"
msgstr "フォルダ設定"
@@ -226,14 +351,275 @@ msgstr "TABキーを押ã—ã¦è¨­å®š"
msgid "Remove %1$s Folder"
msgstr "%1$sフォルダを削除"
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
-msgstr "é¸æŠžãƒªã‚¹ãƒˆ - 検索:"
+#: src/frontend/mame/ui/info.cpp:30
+msgid "protection"
+msgstr "プロテクト"
+
+#: src/frontend/mame/ui/info.cpp:31
+msgid "color palette"
+msgstr "色パレット"
-#: src/frontend/mame/ui/selector.cpp:123
+#: src/frontend/mame/ui/info.cpp:32
+msgid "graphics"
+msgstr "グラフィック"
+
+#: src/frontend/mame/ui/info.cpp:33
+msgid "sound"
+msgstr "サウンド"
+
+#: src/frontend/mame/ui/info.cpp:34
+msgid "controls"
+msgstr "コントロール"
+
+#: src/frontend/mame/ui/info.cpp:35
+msgid "keyboard"
+msgstr "キーボード"
+
+#: src/frontend/mame/ui/info.cpp:36
+msgid "mouse"
+msgstr "マウス"
+
+#: src/frontend/mame/ui/info.cpp:37
+msgid "microphone"
+msgstr "マイクロフォン"
+
+#: src/frontend/mame/ui/info.cpp:38
+msgid "camera"
+msgstr "カメラ"
+
+#: src/frontend/mame/ui/info.cpp:39
+msgid "disk"
+msgstr "ディスク"
+
+#: src/frontend/mame/ui/info.cpp:40
+msgid "printer"
+msgstr "プリンター"
+
+#: src/frontend/mame/ui/info.cpp:41
+msgid "LAN"
+msgstr "LAN"
+
+#: src/frontend/mame/ui/info.cpp:42
+msgid "WAN"
+msgstr "WAN"
+
+#: src/frontend/mame/ui/info.cpp:43
+msgid "timing"
+msgstr "タイミング"
+
+#: src/frontend/mame/ui/info.cpp:180
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
+msgstr ""
+"ã“ã®ãƒžã‚·ãƒ³ç”¨ã®ROM/CHDãŒæ­£ã—ãã‚りã¾ã›ã‚“。ãã®ãŸã‚æ­£ã—ã動作ã—ãªã„å¯èƒ½æ€§ãŒã‚り"
+"ã¾ã™ã€‚\n"
+
+#: src/frontend/mame/ui/info.cpp:190
+msgid ""
+"There are known problems with this machine\n"
+"\n"
+msgstr ""
+"ã“ã®ãƒžã‚·ãƒ³ã«ã¯ä»¥ä¸‹ã®ã‚ˆã†ãªå•題点ãŒã‚りã¾ã™\n"
+"\n"
+
+#: src/frontend/mame/ui/info.cpp:195
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+msgstr ""
+"ã“ã®ãƒžã‚·ãƒ³ç”¨ã®ROM/CHDã¯å…¨ã¦æ­£ã—ãå¸ã„出ã•れã¦ã„ã¾ã›ã‚“。\n"
+"\n"
+
+#: src/frontend/mame/ui/info.cpp:200
+msgid "Completely unemulated features: "
+msgstr "å…¨ãエミュレート出æ¥ã¦ã„ãªã„機能: "
+
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
#, c-format
-msgid "Double click or press %1$s to select"
-msgstr "%1$sを押ã™ã‹ãƒ€ãƒ–ルクリックã§é¸æŠžã—ã¦ãã ã•ã„"
+msgid "%s"
+msgstr "%s"
+
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#: src/frontend/mame/ui/info.cpp:267
+#, c-format
+msgid ", %s"
+msgstr "ã€%s"
+
+#: src/frontend/mame/ui/info.cpp:216
+msgid "Imperfectly emulated features: "
+msgstr "ä¸å®Œå…¨ãªã‚¨ãƒŸãƒ¥ãƒ¬ãƒ¼ãƒˆæ©Ÿèƒ½ï¼š "
+
+#: src/frontend/mame/ui/info.cpp:231
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr "カクテルモードã§ã®ç”»é¢å転表示ã¯ã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã›ã‚“。\n"
+
+#: src/frontend/mame/ui/info.cpp:233
+msgid "This machine requires external artwork files.\n"
+msgstr "ã“ã®ãƒžã‚·ãƒ³ã¯åˆ¥é€”アートワークファイルãŒå¿…è¦ã§ã™ã€‚\n"
+
+#: src/frontend/mame/ui/info.cpp:235
+msgid ""
+"This machine was never completed. It may exhibit strange behavior or missing "
+"elements that are not bugs in the emulation.\n"
+msgstr ""
+"ã“ã®ãƒžã‚·ãƒ³ã¯æœªå®Œæˆã§ã™ã€‚動作ã®ä¸å…·åˆã‚„ä¸è¶³ã—ãŸè¦ç´ ãŒã‚ã£ã¦ã‚‚エミュレーション"
+"ã®ãƒã‚°ã§ã¯ã‚りã¾ã›ã‚“。\n"
+
+#: src/frontend/mame/ui/info.cpp:237
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
+msgstr ""
+"ã“ã®ãƒžã‚·ãƒ³ã«ã¯ã‚µã‚¦ãƒ³ãƒ‰ãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢ãŒã‚りã¾ã›ã‚“。音ãŒå‡ºãªãã¦ã‚‚正常ãªå‹•作ã§"
+"ã™ã€‚\n"
+
+#: src/frontend/mame/ui/info.cpp:241
+msgid ""
+"\n"
+"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
+"complete. There is nothing you can do to fix this problem except wait for "
+"the developers to improve the emulation.\n"
+msgstr ""
+"\n"
+"ã“ã®ãƒžã‚·ãƒ³ã¯å‹•作ã—ã¾ã›ã‚“ã€‚ã‚¨ãƒŸãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã¯æœªå®Œæˆã§ã™ã€‚開発者ãŒã‚¨ãƒŸãƒ¥ãƒ¬ãƒ¼"
+"ションを改良ã™ã‚‹ã®ã‚’ãŠå¾…ã¡ä¸‹ã•ã„。\n"
+
+#: src/frontend/mame/ui/info.cpp:243
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they requires physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
+msgstr ""
+"\n"
+"ã“ã®ãƒžã‚·ãƒ³ã®ä¸€éƒ¨ã®è¦ç´ ã¯ã€æ©Ÿæ¢°ä»•掛ã‘ã®ãƒ‡ãƒã‚¤ã‚¹ã‚‚ã—ãã¯å®Ÿéš›ã®å‹•作ãŒå¿…è¦ãªãŸã‚"
+"エミュレートã§ãã¾ã›ã‚“。ã“ã®ãƒžã‚·ãƒ³ã‚’完全ã«ä½“験ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。\n"
+
+#: src/frontend/mame/ui/info.cpp:265
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
+msgstr ""
+"\n"
+"\n"
+"ã“ã®ãƒžã‚·ãƒ³ã®å‹•作å¯èƒ½ãªã‚¯ãƒ­ãƒ¼ãƒ³ã‚»ãƒƒãƒˆï¼š%s"
+
+#: src/frontend/mame/ui/info.cpp:278
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+"\n"
+"\n"
+"進ã‚ã‚‹ã«ã¯ã€ä½•ã‹ã‚­ãƒ¼ã‚’押ã—ã¦ãã ã•ã„。"
+
+#: src/frontend/mame/ui/info.cpp:293
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
+msgstr ""
+"%1$s\n"
+"%2$s %3$s\n"
+"ドライãƒ:%4$s\n"
+"\n"
+"CPU:\n"
+
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "MHz"
+msgstr "MHz"
+
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "kHz"
+msgstr "kHz"
+
+#: src/frontend/mame/ui/info.cpp:342
+msgid ""
+"\n"
+"Sound:\n"
+msgstr ""
+"\n"
+"サウンド:\n"
+
+#: src/frontend/mame/ui/info.cpp:370
+msgid ""
+"\n"
+"Video:\n"
+msgstr ""
+"\n"
+"表示:\n"
+
+#: src/frontend/mame/ui/info.cpp:374
+msgid "None\n"
+msgstr "ãªã—\n"
+
+#: src/frontend/mame/ui/info.cpp:381
+msgid "Vector"
+msgstr "ベクター"
+
+#: src/frontend/mame/ui/info.cpp:392
+#, c-format
+msgid "%1$s: %2$s\n"
+msgstr "%1$s:%2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:392
+msgid "%2$s\n"
+msgstr "%2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:438
+#, c-format
+msgid "Screen '%1$s'"
+msgstr "ç”»é¢ã€Œ%1$sã€"
+
+#: src/frontend/mame/ui/info.cpp:440
+msgid "Screen"
+msgstr "ç”»é¢"
+
+#: src/frontend/mame/ui/info.cpp:525
+msgid "Not supported"
+msgstr "対応ã—ã¦ã„ã¾ã›ã‚“"
+
+#: src/frontend/mame/ui/info.cpp:528
+msgid "Partially supported"
+msgstr "部分的ã«å¯¾å¿œ"
+
+#: src/frontend/mame/ui/info.cpp:536
+msgid "[empty]"
+msgstr "〔空〕"
+
+#: src/frontend/mame/ui/optsmenu.cpp:193
+msgid "Filter"
+msgstr "フィルタ"
+
+#: src/frontend/mame/ui/optsmenu.cpp:206
+msgid "Customize UI"
+msgstr "UIをカスタマイズã™ã‚‹"
+
+#: src/frontend/mame/ui/optsmenu.cpp:207
+msgid "Configure Directories"
+msgstr "フォルダ設定"
+
+#: src/frontend/mame/ui/optsmenu.cpp:210 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
+msgstr "サウンド設定"
+
+#: src/frontend/mame/ui/optsmenu.cpp:213
+msgid "General Inputs"
+msgstr "共通ã®å…¥åŠ›è¨­å®š"
+
+#: src/frontend/mame/ui/optsmenu.cpp:216
+msgid "Save Configuration"
+msgstr "設定をä¿å­˜ã™ã‚‹"
+
+#: src/frontend/mame/ui/optsmenu.cpp:228
+msgid "Settings"
+msgstr "設定"
#: src/frontend/mame/ui/tapectrl.cpp:85
msgid "stopped"
@@ -275,8 +661,30 @@ msgstr "å·»ãæˆ»ã™"
msgid "Fast Forward"
msgstr "æ—©é€ã‚Š"
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
-#: src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/inputmap.cpp:53
+msgid "User Interface"
+msgstr "ユーザーインターフェイス"
+
+#: src/frontend/mame/ui/inputmap.cpp:59
+msgid "Other Controls"
+msgstr "ãã®ä»–ã®ã‚³ãƒ³ãƒˆãƒ­ãƒ¼ãƒ«"
+
+#: src/frontend/mame/ui/inputmap.cpp:628 src/frontend/mame/ui/miscmenu.cpp:96
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr "リセット"
+
+#: src/frontend/mame/ui/selector.cpp:116
+msgid "Selection List - Search: "
+msgstr "é¸æŠžãƒªã‚¹ãƒˆ - 検索:"
+
+#: src/frontend/mame/ui/selector.cpp:124
+#, c-format
+msgid "Double click or press %1$s to select"
+msgstr "%1$sを押ã™ã‹ãƒ€ãƒ–ルクリックã§é¸æŠžã—ã¦ãã ã•ã„"
+
+#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/filesel.cpp:256
msgid "[empty slot]"
msgstr "〔空ã®ã‚¹ãƒ­ãƒƒãƒˆã€•"
@@ -317,182 +725,6 @@ msgstr "ソフトウェアã®ä½¿ã„æ–¹"
msgid "Revision: "
msgstr "リビジョン:"
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
-msgstr "ファイルãŒå­˜åœ¨ã—ã¾ã™ï¼ä¸Šæ›¸ãã—ã¾ã™ã‹ï¼Ÿ"
-
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
-msgstr "ã„ã„ãˆ"
-
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
-msgstr "ã¯ã„"
-
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
-msgstr "æ–°ã—ã„イメージå:"
-
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
-msgstr "イメージ形å¼:"
-
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
-msgstr "作æˆ"
-
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
-msgstr "ãƒ•ã‚¡ã‚¤ãƒ«ã®æ‹¡å¼µå­ã‚’入力ã—ã¦ãã ã•ã„"
-
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
-msgstr "イメージ形å¼ã®é¸æŠž"
-
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
-msgstr "入力(共通)"
-
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
-msgstr "入力(ç¾åœ¨ã®ãƒžã‚·ãƒ³ï¼‰"
-
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
-msgstr "アナログæ“作"
-
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
-msgstr "DIPスイッãƒ"
-
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
-msgstr "マシン設定"
-
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
-msgstr "ブックキーピング情報"
-
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
-msgstr "マシン情報"
-
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
-msgstr "イメージ情報"
-
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
-msgstr "ファイルマãƒãƒ¼ã‚¸ãƒ£"
-
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
-msgstr "テープæ“作"
-
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
-msgstr "擬似ターミナル"
-
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
-msgstr "BIOSé¸æŠž"
-
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
-msgstr "スロットデãƒã‚¤ã‚¹"
-
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
-msgstr "ãƒãƒ¼ã‚³ãƒ¼ãƒ‰ãƒªãƒ¼ãƒ€"
-
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
-msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒ‡ãƒã‚¤ã‚¹"
-
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
-msgstr "キーボードモード"
-
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
-msgstr "スライダ設定"
-
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
-msgstr "表示設定"
-
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
-msgstr "照準設定"
-
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
-msgstr "ãƒãƒ¼ãƒˆ"
-
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
-msgstr "プラグイン設定"
-
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
-msgstr "外部DATビュー"
-
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
-msgstr "ãŠæ°—ã«å…¥ã‚Šã«è¿½åŠ "
-
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
-msgstr "ãŠæ°—ã«å…¥ã‚Šã‹ã‚‰å‰Šé™¤"
-
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
-msgstr "æ–°ã—ã„ãƒžã‚·ãƒ³ã‚’é¸æŠž"
-
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
-msgstr "æ–°ã—ã„ãƒãƒ¼ã‚³ãƒ¼ãƒ‰:"
-
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
-msgstr "コードを入れる"
-
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
-msgstr "ãƒãƒ¼ã‚³ãƒ¼ãƒ‰ã®é•·ã•ãŒåˆã„ã¾ã›ã‚“!"
-
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
-msgstr "ã€å¤±æ•—】"
-
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
-msgstr "サウンド設定"
-
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
-msgstr "共通ã®å…¥åŠ›è¨­å®š"
-
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
-msgstr "設定をä¿å­˜ã™ã‚‹"
-
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
-msgstr "設定"
-
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
-msgstr "フィルタ"
-
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
-msgstr "UIをカスタマイズã™ã‚‹"
-
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
-msgstr "フォルダ設定"
-
#: src/frontend/mame/ui/simpleselgame.cpp:149
msgid ""
"The selected game is missing one or more required ROM or CHD images. Please "
@@ -505,7 +737,7 @@ msgstr ""
"\n"
"進ã‚ã‚‹ã«ã¯ã€ä½•ã‹ã‚­ãƒ¼ã‚’押ã—ã¦ãã ã•ã„。"
-#: src/frontend/mame/ui/simpleselgame.cpp:247
+#: src/frontend/mame/ui/simpleselgame.cpp:241
#, c-format
msgid ""
"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
@@ -519,327 +751,197 @@ msgstr ""
"ã‚‚ã— %2$s ã®åˆ©ç”¨ãŒåˆã‚ã¦ãªã‚‰ã€%2$s ã®è¨­å®šæ–¹æ³•ã«ã¤ã„ã¦docsフォルダã®config.txt"
"ファイルをã”覧ãã ã•ã„。"
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:271
+#: src/frontend/mame/ui/selgame.cpp:436
msgid "Configure Options"
msgstr "オプションã®è¨­å®š"
-#: src/frontend/mame/ui/simpleselgame.cpp:298
+#: src/frontend/mame/ui/simpleselgame.cpp:292
#, c-format
msgid "Type name or select: %1$s_"
msgstr "åå‰ã‚’入力もã—ãã¯é¸æŠžï¼š %1$s_"
-#: src/frontend/mame/ui/simpleselgame.cpp:300
+#: src/frontend/mame/ui/simpleselgame.cpp:294
msgid "Type name or select: (random)"
msgstr "åå‰ã‚’入力もã—ãã¯é¸æŠžï¼š (ランダム)"
-#: src/frontend/mame/ui/simpleselgame.cpp:314
-#: src/frontend/mame/ui/selsoft.cpp:652 src/frontend/mame/ui/selsoft.cpp:659
+#: src/frontend/mame/ui/simpleselgame.cpp:308
+#: src/frontend/mame/ui/selsoft.cpp:564 src/frontend/mame/ui/selsoft.cpp:571
#, c-format
msgid "%1$-.100s"
msgstr "%1$-.100s"
-#: src/frontend/mame/ui/simpleselgame.cpp:317
-#: src/frontend/mame/ui/selmenu.cpp:618 src/frontend/mame/ui/selmenu.cpp:654
-#, c-format
-msgid "%1$s, %2$-.100s"
-msgstr "%1$sã€%2$-.100s"
-
-#: src/frontend/mame/ui/simpleselgame.cpp:320
+#: src/frontend/mame/ui/simpleselgame.cpp:314
#, c-format
msgid "Driver: %1$-.100s"
msgstr "ドライãƒï¼š%1$-.100s"
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
-msgstr "概略:動作ä¸å¯"
+#: src/frontend/mame/ui/videoopt.cpp:56
+#, c-format
+msgid "Screen #%d"
+msgstr "ç”»é¢ #%d"
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
-msgstr "æ¦‚ç•¥ï¼šãƒ—ãƒ­ãƒ†ã‚¯ãƒˆãŒæœªã‚¨ãƒŸãƒ¥ãƒ¬ãƒ¼ãƒˆ"
+#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
+msgid "Rotate"
+msgstr "回転"
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
-msgstr "概略:動作å¯"
+#: src/frontend/mame/ui/videoopt.cpp:208
+msgid "Backdrops"
+msgstr "背景画åƒ"
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
-msgstr "グラフィック:未実装 "
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Enabled"
+msgstr "有効"
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
-msgstr "グラフィック:ä¸å®Œå…¨ã€€"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Disabled"
+msgstr "無効"
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
-msgstr "グラフィック:正常 "
+#: src/frontend/mame/ui/videoopt.cpp:212
+msgid "Overlays"
+msgstr "オーãƒãƒ¼ãƒ¬ã‚¤ç”»åƒ"
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
-msgstr "サウンド:ãªã—"
+#: src/frontend/mame/ui/videoopt.cpp:216
+msgid "Bezels"
+msgstr "ベゼル画åƒ"
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
-msgstr "サウンド:未実装"
+#: src/frontend/mame/ui/videoopt.cpp:220
+msgid "CPanels"
+msgstr "æ“作パãƒãƒ«ç”»åƒ"
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
-msgstr "サウンド:ä¸å®Œå…¨"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "View"
+msgstr "ビュー"
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
-msgstr "サウンド:正常"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cropped"
+msgstr "切りè½ã¨ã—"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
-msgstr "状態をロード"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Full"
+msgstr "全体"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
-msgstr "ã‚»ãƒ¼ãƒ–å…ƒã‚’é¸æŠž"
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
+msgstr "ファイルãŒå­˜åœ¨ã—ã¾ã™ï¼ä¸Šæ›¸ãã—ã¾ã™ã‹ï¼Ÿ"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
-msgstr "状態をセーブ"
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1047
+msgid "No"
+msgstr "ã„ã„ãˆ"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
-msgstr "ã‚»ãƒ¼ãƒ–å…ˆã‚’é¸æŠž"
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1047
+msgid "Yes"
+msgstr "ã¯ã„"
-#: src/frontend/mame/ui/ui.cpp:337
-msgid "This driver requires images to be loaded in the following device(s): "
-msgstr "ã“ã®ãƒ‰ãƒ©ã‚¤ãƒã¯ä»¥ä¸‹ã®ãƒ‡ãƒã‚¤ã‚¹ã§ã‚¤ãƒ¡ãƒ¼ã‚¸ã®èª­ã¿è¾¼ã¿ãŒå¿…è¦ã§ã™:"
+#: src/frontend/mame/ui/filecreate.cpp:171
+msgid "New Image Name:"
+msgstr "æ–°ã—ã„イメージå:"
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
-msgstr "キーボードエミュレーションステータス"
+#: src/frontend/mame/ui/filecreate.cpp:177
+msgid "Image Format:"
+msgstr "イメージ形å¼:"
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
-msgstr "モード: 部分的エミュレーション"
+#: src/frontend/mame/ui/filecreate.cpp:183
+msgid "Create"
+msgstr "作æˆ"
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
-msgstr "UI: 有効"
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr "ãƒ•ã‚¡ã‚¤ãƒ«ã®æ‹¡å¼µå­ã‚’入力ã—ã¦ãã ã•ã„"
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
-msgstr "** ScrLockキーã§åˆ‡ã‚Šæ›¿ãˆ **"
+#: src/frontend/mame/ui/filecreate.cpp:266
+msgid "Select image format"
+msgstr "イメージ形å¼ã®é¸æŠž"
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
-msgstr "モード:完全エミュレーション"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Keyboard Mode:"
+msgstr "キーボードモード:"
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
-msgstr "UI: 無効"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Natural"
+msgstr "ナãƒãƒ¥ãƒ©ãƒ«"
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
-msgstr "é€£å°„æ©Ÿèƒ½ã¯æœ‰åйã«ã§ãã¾ã›ã‚“"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Emulated"
+msgstr "エミュレート"
-#: src/frontend/mame/ui/ui.cpp:1302
+#: src/frontend/mame/ui/miscmenu.cpp:236
#, c-format
msgid ""
-"Are you sure you want to quit?\n"
+"Uptime: %1$d:%2$02d:%3$02d\n"
"\n"
-"Press ''%1$s'' to quit,\n"
-"Press ''%2$s'' to return to emulation."
msgstr ""
-"終了ã—ã¾ã™ã‹?\n"
+"ç¨¼åƒæ™‚間:%1$d:%2$02d:%3$02d\n"
"\n"
-"「%1$sã€ã§çµ‚了\n"
-"「%2$sã€ã§ã‚¨ãƒŸãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã«æˆ»ã‚‹"
-
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
-msgstr "マスター音é‡"
-
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
-msgstr "%1$sã®éŸ³é‡"
-
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
-msgstr "CPU %1$sã®ã‚ªãƒ¼ãƒãƒ¼ã‚¯ãƒ­ãƒƒã‚¯"
-
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
-msgstr "サウンド%1$sã®ã‚ªãƒ¼ãƒãƒ¼ã‚¯ãƒ­ãƒƒã‚¯"
-
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
-msgstr "%1$sã®ãƒªãƒ•レッシュレート"
-
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
-msgstr "%1$sã®è¼åº¦"
-
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
-msgstr "%1$sã®ã‚³ãƒ³ãƒˆãƒ©ã‚¹ãƒˆ"
-
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
-msgstr "%1$sã®ã‚¬ãƒ³ãƒž"
-
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
-msgstr "%1$s 横方å‘ã®æ‹¡å¤§"
-
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
-msgstr "%1$s 横方å‘ã®ä½ç½®"
-
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
-msgstr "%1$s 縦方å‘ã®æ‹¡å¤§"
-
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
-msgstr "%1$s 縦方å‘ã®ä½ç½®"
-
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
-msgstr "レーザーディスク '%1$s' 横方å‘ã®æ‹¡å¤§"
-
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
-msgstr "レーザーディスク '%1$s' 横方å‘ã®ä½ç½®"
-
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
-msgstr "レーザーディスク '%1$s' 縦方å‘ã®æ‹¡å¤§"
-
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr "レーザーディスク '%1$s' 縦方å‘ã®ä½ç½®"
-
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
-msgstr "ベクターã®ã¡ã‚‰ã¤ã"
-
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
-msgstr "ビーム幅(最å°ï¼‰"
-
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
-msgstr "ビーム幅(最大)"
-
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
-msgstr "ビーム強度比é‡"
-
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr "照準ã®å¤§ãã• %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
-msgstr "照準ã®ã‚ªãƒ•セット %1$s"
-#: src/frontend/mame/ui/ui.cpp:1601
+#: src/frontend/mame/ui/miscmenu.cpp:238
#, c-format
-msgid "%1$3ddB"
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
+"ç¨¼åƒæ™‚間:%1$d:%2$02d\n"
+"\n"
-#: src/frontend/mame/ui/ui.cpp:1645
+#: src/frontend/mame/ui/miscmenu.cpp:242
#, c-format
-msgid "%1$d%%"
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
msgstr ""
+"ãƒã‚±ãƒƒãƒˆç™ºè¡Œ: %1$d\n"
+"\n"
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:253
+msgid "Coin %1$c: NA%3$s\n"
+msgstr "コイン%1$c:NA%3$s\n"
-#: src/frontend/mame/ui/ui.cpp:1685
+#: src/frontend/mame/ui/miscmenu.cpp:253
#, c-format
-msgid "%1$.3ffps"
-msgstr ""
+msgid "Coin %1$c: %2$d%3$s\n"
+msgstr "コイン%1$c:%2$d%3$s\n"
-#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
-#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
-#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
-#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
-#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
-#: src/frontend/mame/ui/ui.cpp:1927
-#, c-format
-msgid "%1$.3f"
-msgstr "%1$.3f"
+#: src/frontend/mame/ui/miscmenu.cpp:256
+msgid " (locked)"
+msgstr "(ロック)"
-#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
-#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
-#, c-format
-msgid "%1$1.2f"
-msgstr "%1$1.2f"
+#: src/frontend/mame/ui/miscmenu.cpp:503
+msgid "Visible Delay"
+msgstr "表示ã™ã‚‹é•·ã•"
-#: src/frontend/mame/ui/ui.cpp:2005
+#: src/frontend/mame/ui/miscmenu.cpp:601
#, c-format
-msgid "Crosshair Scale X %1$1.3f"
-msgstr "照準ã®å¤§ãã• X %1$1.3f"
+msgid "%s.xml saved under ui folder."
+msgstr "%s.xmlã‚’uiフォルダーã«ä¿å­˜ã—ã¾ã—ãŸã€‚"
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
-msgstr "照準ã®å¤§ãã• Y %1$1.3f"
+#: src/frontend/mame/ui/miscmenu.cpp:627
+msgid "Name: Description:\n"
+msgstr "ROMセット: åå‰ï¼š\n"
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/miscmenu.cpp:638
#, c-format
-msgid "Crosshair Offset X %1$1.3f"
-msgstr "照準ã®ã‚ªãƒ•セット X %1$1.3f"
+msgid "%s.txt saved under ui folder."
+msgstr "%s.txtã‚’uiフォルダーã«ä¿å­˜ã—ã¾ã—ãŸã€‚"
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
-msgstr "照準ã®ã‚ªãƒ•セット Y %1$1.3f"
+#: src/frontend/mame/ui/miscmenu.cpp:655
+msgid "Export list in XML format (like -listxml)"
+msgstr "XMLå½¢å¼ã§ãƒªã‚¹ãƒˆã‚’出力(-listxmlåŒæ§˜ï¼‰"
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
-msgstr "*** ui.iniã®ä¿å­˜ã‚¨ãƒ©ãƒ¼ ***"
+#: src/frontend/mame/ui/miscmenu.cpp:656
+msgid "Export list in XML format (like -listxml, but exclude devices)"
+msgstr "XMLå½¢å¼ã§ãƒªã‚¹ãƒˆã‚’出力(-listxmlåŒæ§˜ã€ãƒ‡ãƒã‚¤ã‚¹ã‚’除ã)"
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
-msgstr "*** %s.iniã®ä¿å­˜ã‚¨ãƒ©ãƒ¼ ***"
+#: src/frontend/mame/ui/miscmenu.cpp:657
+msgid "Export list in TXT format (like -listfull)"
+msgstr "TXTå½¢å¼ã§ãƒªã‚¹ãƒˆã‚’出力(-listfullåŒæ§˜ï¼‰"
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/miscmenu.cpp:710 src/frontend/mame/ui/ui.cpp:2230
msgid ""
"\n"
" Configuration saved \n"
@@ -849,339 +951,160 @@ msgstr ""
" 設定をä¿å­˜ã—ã¾ã—㟠\n"
"\n"
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
-msgid ""
-"Cheat Comment:\n"
-"%s"
-msgstr ""
-"ãƒãƒ¼ãƒˆã®ã‚³ãƒ¡ãƒ³ãƒˆ:\n"
-"%s"
-
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
-msgstr "å…¨ãƒãƒ¼ãƒˆå†ãƒ­ãƒ¼ãƒ‰å®Œäº†"
-
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
-msgstr "連射設定"
-
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
-msgstr "å…¨ã¦ãƒªã‚»ãƒƒãƒˆ"
-
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
-msgstr "å…¨ã¦å†èª­ã¿è¾¼ã¿"
-
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
-msgstr "連射設定ステータス"
-
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
-msgstr "ã“ã®ãƒžã‚·ãƒ³ã«ã¯ãƒœã‚¿ãƒ³ãŒã‚りã¾ã›ã‚“ï¼"
-
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
-msgstr "連射間隔"
-
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
-#, c-format
-msgid ""
-"%s\n"
-" added to favorites list."
-msgstr ""
-"「%sã€ã‚’\n"
-"ãŠæ°—ã«å…¥ã‚Šã«è¿½åŠ ã—ã¾ã—ãŸã€‚"
-
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
-#, c-format
-msgid ""
-"%s\n"
-" removed from favorites list."
-msgstr ""
-"「%sã€ã‚’\n"
-"ãŠæ°—ã«å…¥ã‚Šã‹ã‚‰å‰Šé™¤ã—ã¾ã—ãŸã€‚"
-
-#: src/frontend/mame/ui/selsoft.cpp:507
-msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
-"\n"
-msgstr ""
-"é¸æŠžã—ãŸã‚½ãƒ•トウェアã«å¿…è¦ãª1ã¤ä»¥ä¸Šã®ãƒ•ァイルãŒä¸è¶³ã—ã¦ã„ã¾ã™ã€‚別ã®ã‚½ãƒ•トウェ"
-"ã‚¢ã‚’é¸æŠžã—ã¦ãã ã•ã„。\n"
-"\n"
-
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
-msgstr "進ã‚ã‚‹ã«ã¯ã€ä½•ã‹ã‚­ãƒ¼ã‚’押ã—ã¦ãã ã•ã„。"
-
-#: src/frontend/mame/ui/selsoft.cpp:637
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
-msgstr "%1$s %2$s ( %3$d / %4$d ソフトウェアパッケージ )"
-
-#: src/frontend/mame/ui/selsoft.cpp:638
-#, c-format
-msgid "Driver: \"%1$s\" software list "
-msgstr "ドライãƒï¼šã€Œ%1$sã€ã€€ã‚½ãƒ•トウェアリスト"
-
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
-#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
-msgstr "%1$s:%2$s〜検索:%3$s_"
-
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
-#, c-format
-msgid "Search: %1$s_"
-msgstr "検索:%1$s_"
-
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
-msgid "Unfiltered"
-msgstr "フィルタ無ã—"
-
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
-msgid "Available"
-msgstr "存在ã™ã‚‹"
-
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
-msgid "Unavailable"
-msgstr "存在ã—ãªã„"
-
-#: src/frontend/mame/ui/utils.cpp:63
-msgid "Working"
-msgstr "動作å¯"
-
-#: src/frontend/mame/ui/utils.cpp:64
-msgid "Not Working"
-msgstr "動作ä¸å¯"
-
-#: src/frontend/mame/ui/utils.cpp:65
-msgid "Mechanical"
-msgstr "機械仕掛ã‘"
-
-#: src/frontend/mame/ui/utils.cpp:66
-msgid "Not Mechanical"
-msgstr "機械仕掛ã‘以外"
-
-#: src/frontend/mame/ui/utils.cpp:67
-msgid "Category"
-msgstr "カテゴリ"
-
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
-msgid "Favorites"
-msgstr "ãŠæ°—ã«å…¥ã‚Š"
-
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/miscmenu.cpp:760 src/frontend/mame/ui/utils.cpp:66
msgid "BIOS"
msgstr "BIOS"
-#: src/frontend/mame/ui/utils.cpp:70
-msgid "Not BIOS"
-msgstr "BIOS以外"
-
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
-msgid "Parents"
-msgstr "親セット"
-
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
-msgid "Clones"
-msgstr "クローン"
-
-#: src/frontend/mame/ui/utils.cpp:73
-msgid "Manufacturer"
-msgstr "製造元"
-
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
-msgid "Year"
-msgstr "年度"
-
-#: src/frontend/mame/ui/utils.cpp:75
-msgid "Save Supported"
-msgstr "セーブ対応"
-
-#: src/frontend/mame/ui/utils.cpp:76
-msgid "Save Unsupported"
-msgstr "セーブéžå¯¾å¿œ"
-
-#: src/frontend/mame/ui/utils.cpp:77
-msgid "CHD Required"
-msgstr "CHDãŒå¿…è¦"
-
-#: src/frontend/mame/ui/utils.cpp:78
-msgid "No CHD Required"
-msgstr "CHDãŒä¸è¦"
-
-#: src/frontend/mame/ui/utils.cpp:79
-msgid "Vertical Screen"
-msgstr "縦画é¢"
-
-#: src/frontend/mame/ui/utils.cpp:80
-msgid "Horizontal Screen"
-msgstr "横画é¢"
-
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
-msgid "Custom Filter"
-msgstr "カスタムフィルタ"
-
-#: src/frontend/mame/ui/utils.cpp:91
-msgid "Publisher"
-msgstr "発売元"
-
-#: src/frontend/mame/ui/utils.cpp:92
-msgid "Supported"
-msgstr "対応"
+#: src/frontend/mame/ui/miscmenu.cpp:764
+msgid "Driver"
+msgstr "ドライãƒ"
-#: src/frontend/mame/ui/utils.cpp:93
-msgid "Partially Supported"
-msgstr "一部対応"
+#: src/frontend/mame/ui/miscmenu.cpp:767
+msgid "This machine has no BIOS."
+msgstr "ã“ã®ãƒžã‚·ãƒ³ã«ã¯BIOSãŒã‚りã¾ã›ã‚“。"
-#: src/frontend/mame/ui/utils.cpp:94
-msgid "Unsupported"
-msgstr "éžå¯¾å¿œ"
+#: src/frontend/mame/ui/miscmenu.cpp:776 src/frontend/mame/ui/mainmenu.cpp:145
+msgid "Add To Favorites"
+msgstr "ãŠæ°—ã«å…¥ã‚Šã«è¿½åŠ "
-#: src/frontend/mame/ui/utils.cpp:95
-msgid "Release Region"
-msgstr "リリース地域"
+#: src/frontend/mame/ui/miscmenu.cpp:778 src/frontend/mame/ui/mainmenu.cpp:147
+msgid "Remove From Favorites"
+msgstr "ãŠæ°—ã«å…¥ã‚Šã‹ã‚‰å‰Šé™¤"
-#: src/frontend/mame/ui/utils.cpp:96
-msgid "Device Type"
-msgstr "デãƒã‚¤ã‚¹ã‚¿ã‚¤ãƒ—"
+#: src/frontend/mame/ui/miscmenu.cpp:781
+msgid "Save machine configuration"
+msgstr "マシン設定をä¿å­˜ã™ã‚‹"
-#: src/frontend/mame/ui/utils.cpp:97
-msgid "Software List"
-msgstr "ソフトウェアリスト"
+#: src/frontend/mame/ui/miscmenu.cpp:792
+msgid "Configure machine:"
+msgstr "マシン設定"
-#: src/frontend/mame/ui/utils.cpp:248
-msgid "<set up filters>"
-msgstr "〔フィルタを設定ã™ã‚‹ã€•"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:736
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:551 plugins/cheatfind/init.lua:619
+msgid "On"
+msgstr "オン"
-#: src/frontend/mame/ui/utils.cpp:356
-msgid "Select custom filters:"
-msgstr "ã‚«ã‚¹ã‚¿ãƒ ãƒ•ã‚£ãƒ«ã‚¿é¸æŠž:"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:739
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:554 plugins/cheat/init.lua:563
+#: plugins/cheatfind/init.lua:616
+msgid "Off"
+msgstr "オフ"
-#: src/frontend/mame/ui/utils.cpp:507
-#, c-format
-msgid "Filter %1$u"
-msgstr "フィルタ%1$u"
+#: src/frontend/mame/ui/miscmenu.cpp:909 src/frontend/mame/ui/selgame.cpp:441
+msgid "Plugins"
+msgstr "プラグイン"
-#: src/frontend/mame/ui/utils.cpp:522
-msgid "Remove last filter"
-msgstr "最後ã®ãƒ•ィルタを削除"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
+msgstr "æ–°ã—ã„ãƒãƒ¼ã‚³ãƒ¼ãƒ‰:"
-#: src/frontend/mame/ui/utils.cpp:524
-msgid "Add filter"
-msgstr "フィルタを追加"
+#: src/frontend/mame/ui/barcode.cpp:78
+msgid "Enter Code"
+msgstr "コードを入れる"
-#: src/frontend/mame/ui/utils.cpp:966
-msgid "Select category:"
-msgstr "ã‚«ãƒ†ã‚´ãƒªã‚’é¸æŠžï¼š"
+#: src/frontend/mame/ui/barcode.cpp:119
+msgid "Barcode length invalid!"
+msgstr "ãƒãƒ¼ã‚³ãƒ¼ãƒ‰ã®é•·ã•ãŒåˆã„ã¾ã›ã‚“!"
-#: src/frontend/mame/ui/utils.cpp:997
-msgid "[no category INI files]"
-msgstr "[カテゴリINIファイルãŒã‚りã¾ã›ã‚“ï¼½"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:99
+msgid "Pseudo terminals"
+msgstr "擬似ターミナル"
-#: src/frontend/mame/ui/utils.cpp:1005
-msgid "[no groups in INI file]"
-msgstr "ï¼»INIファイルã«ã‚°ãƒ«ãƒ¼ãƒ—ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ï¼½"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
+msgstr "ã€å¤±æ•—】"
-#: src/frontend/mame/ui/utils.cpp:1039
-msgid "No category INI files found"
-msgstr "カテゴリINIファイルãŒã‚りã¾ã›ã‚“"
+#: src/frontend/mame/ui/mainmenu.cpp:60
+msgid "Input (general)"
+msgstr "入力(共通)"
-#: src/frontend/mame/ui/utils.cpp:1044
-msgid "File"
-msgstr "ファイル"
+#: src/frontend/mame/ui/mainmenu.cpp:62
+msgid "Input (this Machine)"
+msgstr "入力(ç¾åœ¨ã®ãƒžã‚·ãƒ³ï¼‰"
-#: src/frontend/mame/ui/utils.cpp:1048
-msgid "No groups found in category file"
-msgstr "カテゴリファイルã«ã‚°ãƒ«ãƒ¼ãƒ—ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Analog Controls"
+msgstr "アナログæ“作"
-#: src/frontend/mame/ui/utils.cpp:1053
-msgid "Group"
-msgstr "グループ"
+#: src/frontend/mame/ui/mainmenu.cpp:68
+msgid "Dip Switches"
+msgstr "DIPスイッãƒ"
-#: src/frontend/mame/ui/utils.cpp:1054
-msgid "Include clones"
-msgstr "クローンをå«ã‚ã‚‹"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "Machine Configuration"
+msgstr "マシン設定"
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
-msgstr "〔作æˆã€•"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
+msgstr "ブックキーピング情報"
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
-msgstr "%sã®ã‚¢ã‚¯ã‚»ã‚¹ã‚¨ãƒ©ãƒ¼"
+#: src/frontend/mame/ui/mainmenu.cpp:78
+msgid "Machine Information"
+msgstr "マシン情報"
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
-msgstr "アクセスモードã®é¸æŠž"
+#: src/frontend/mame/ui/mainmenu.cpp:85
+msgid "Image Information"
+msgstr "イメージ情報"
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
-msgstr "読ã¿å–り専用"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
+msgstr "ファイルマãƒãƒ¼ã‚¸ãƒ£"
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
-msgstr "読ã¿å–ã‚Šï¼æ›¸ãè¾¼ã¿"
+#: src/frontend/mame/ui/mainmenu.cpp:96
+msgid "Tape Control"
+msgstr "テープæ“作"
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
-msgstr "ã“ã®ã‚¤ãƒ¡ãƒ¼ã‚¸ã‹ã‚‰èª­ã¿å–りã€åˆ¥ã®ã‚¤ãƒ¡ãƒ¼ã‚¸ã«æ›¸ã込む"
+#: src/frontend/mame/ui/mainmenu.cpp:102
+msgid "BIOS Selection"
+msgstr "BIOSé¸æŠž"
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
-msgstr "ã“ã®ã‚¤ãƒ¡ãƒ¼ã‚¸ã‹ã‚‰èª­ã¿å–りã€å·®åˆ†ï¼ˆdiffï¼‰ã«æ›¸ã込む"
+#: src/frontend/mame/ui/mainmenu.cpp:106
+msgid "Slot Devices"
+msgstr "スロットデãƒã‚¤ã‚¹"
-#: src/frontend/mame/ui/slotopt.cpp:192
-#, c-format
-msgid "%s [internal]"
-msgstr "%s [内部]"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Barcode Reader"
+msgstr "ãƒãƒ¼ã‚³ãƒ¼ãƒ‰ãƒªãƒ¼ãƒ€"
-#: src/frontend/mame/ui/slotopt.cpp:203 src/frontend/mame/ui/miscmenu.cpp:97
-#: src/frontend/mame/ui/inputmap.cpp:615
-msgid "Reset"
-msgstr "リセット"
+#: src/frontend/mame/ui/mainmenu.cpp:114
+msgid "Network Devices"
+msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒ‡ãƒã‚¤ã‚¹"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
-msgstr " 色"
+#: src/frontend/mame/ui/mainmenu.cpp:118
+msgid "Keyboard Mode"
+msgstr "キーボードモード"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
-msgstr " ペン"
+#: src/frontend/mame/ui/mainmenu.cpp:121
+msgid "Slider Controls"
+msgstr "スライダ設定"
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
-msgstr "ãƒžã‚·ãƒ³ã«æˆ»ã‚‹"
+#: src/frontend/mame/ui/mainmenu.cpp:124 src/frontend/mame/ui/submenu.cpp:101
+msgid "Video Options"
+msgstr "表示設定"
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
-msgstr "終了"
+#: src/frontend/mame/ui/mainmenu.cpp:128
+msgid "Crosshair Options"
+msgstr "照準設定"
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
-msgstr "å‰ã®ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã«æˆ»ã‚‹"
+#: src/frontend/mame/ui/mainmenu.cpp:132 plugins/cheat/init.lua:735
+msgid "Cheat"
+msgstr "ãƒãƒ¼ãƒˆ"
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:762
-#: plugins/cheat/init.lua:569 plugins/cheatfind/init.lua:792
-#: plugins/cheatfind/init.lua:803
-msgid "On"
-msgstr "オン"
+#: src/frontend/mame/ui/mainmenu.cpp:135
+msgid "Plugin Options"
+msgstr "プラグイン設定"
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:765
-#: plugins/cheat/init.lua:572 plugins/cheat/init.lua:581
-#: plugins/cheatfind/init.lua:789 plugins/cheatfind/init.lua:800
-msgid "Off"
-msgstr "オフ"
+#: src/frontend/mame/ui/mainmenu.cpp:139
+msgid "External DAT View"
+msgstr "外部DATビュー"
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
-msgstr "自動"
+#: src/frontend/mame/ui/mainmenu.cpp:154
+msgid "Select New Machine"
+msgstr "æ–°ã—ã„ãƒžã‚·ãƒ³ã‚’é¸æŠž"
#: src/frontend/mame/ui/custui.cpp:31
msgid "Show All"
@@ -1404,461 +1327,6 @@ msgstr "黄"
msgid "Violet"
msgstr "ç´«"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
-msgstr "キーボードモード:"
-
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
-msgstr "ナãƒãƒ¥ãƒ©ãƒ«"
-
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
-msgstr "エミュレート"
-
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
-msgstr ""
-"ç¨¼åƒæ™‚間:%1$d:%2$02d:%3$02d\n"
-"\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
-msgstr ""
-"ç¨¼åƒæ™‚間:%1$d:%2$02d\n"
-"\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
-msgstr ""
-"ãƒã‚±ãƒƒãƒˆç™ºè¡Œ: %1$d\n"
-"\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
-msgstr "コイン%1$c:NA%3$s\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
-msgstr "コイン%1$c:%2$d%3$s\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
-msgstr "(ロック)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
-msgstr "表示ã™ã‚‹é•·ã•"
-
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
-msgstr "%s.xmlã‚’uiフォルダーã«ä¿å­˜ã—ã¾ã—ãŸã€‚"
-
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
-msgstr "ROMセット: åå‰ï¼š\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:639
-#, c-format
-msgid "%s.txt saved under ui folder."
-msgstr "%s.txtã‚’uiフォルダーã«ä¿å­˜ã—ã¾ã—ãŸã€‚"
-
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
-msgstr "XMLå½¢å¼ã§ãƒªã‚¹ãƒˆã‚’出力(-listxmlåŒæ§˜ï¼‰"
-
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
-msgstr "XMLå½¢å¼ã§ãƒªã‚¹ãƒˆã‚’出力(-listxmlåŒæ§˜ã€ãƒ‡ãƒã‚¤ã‚¹ã‚’除ã)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
-msgstr "TXTå½¢å¼ã§ãƒªã‚¹ãƒˆã‚’出力(-listfullåŒæ§˜ï¼‰"
-
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
-msgstr "ドライãƒ"
-
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
-msgstr "ã“ã®ãƒžã‚·ãƒ³ã«ã¯BIOSãŒã‚りã¾ã›ã‚“。"
-
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
-msgstr "マシン設定をä¿å­˜ã™ã‚‹"
-
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
-msgstr "マシン設定"
-
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
-msgstr "(デフォルト)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
-msgstr "プラグイン"
-
-#: src/frontend/mame/ui/selgame.cpp:607
-msgid "Configure Machine"
-msgstr "マシンã®è¨­å®š"
-
-#: src/frontend/mame/ui/selgame.cpp:1036
-#, c-format
-msgid "Romset\t%1$-.100s\n"
-msgstr "ROMセット\t%1$-.100s\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1037
-#, c-format
-msgid "Year\t%1$s\n"
-msgstr "年度\t%1$s\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1038
-#, c-format
-msgid "Manufacturer\t%1$-.100s\n"
-msgstr "製造元\t%1$-.100s\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1042
-#, c-format
-msgid "Driver is Clone of\t%1$-.100s\n"
-msgstr "次ã®ã‚¯ãƒ­ãƒ¼ãƒ³ã®ãƒ‰ãƒ©ã‚¤ãƒ\t%1$-.100s\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1044
-msgid "Driver is Parent\t\n"
-msgstr "親セットã®ãƒ‰ãƒ©ã‚¤ãƒ\t\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1047
-msgid "Analog Controls\tYes\n"
-msgstr "アナログコントロール\tã¯ã„\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1049
-msgid "Keyboard Inputs\tYes\n"
-msgstr "キーボード入力\tã¯ã„\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1052
-msgid "Overall\tNOT WORKING\n"
-msgstr "概略\t動作ä¸å¯\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1054
-msgid "Overall\tUnemulated Protection\n"
-msgstr "概略\tãƒ—ãƒ­ãƒ†ã‚¯ãƒˆãŒæœªã‚¨ãƒŸãƒ¥ãƒ¬ãƒ¼ãƒˆ\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1056
-msgid "Overall\tWorking\n"
-msgstr "概略\t動作å¯\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1059
-msgid "Graphics\tUnimplemented\n"
-msgstr "グラフィック\t未実装\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1061
-msgid "Graphics\tWrong Colors\n"
-msgstr "グラフィック\t色ã®èª¤ã‚Š\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1063
-msgid "Graphics\tImperfect Colors\n"
-msgstr "グラフィック\t色ãŒä¸å®Œå…¨\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1065
-msgid "Graphics\tImperfect\n"
-msgstr "グラフィック\tä¸å®Œå…¨\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1067
-msgid "Graphics\tOK\n"
-msgstr "グラフィック\t正常\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1070
-msgid "Sound\tNone\n"
-msgstr "グラフィック\tãªã—\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1072
-msgid "Sound\tUnimplemented\n"
-msgstr "サウンド\t未実装\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1074
-msgid "Sound\tImperfect\n"
-msgstr "サウンド\tä¸å®Œå…¨\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1076
-msgid "Sound\tOK\n"
-msgstr "サウンド\t正常\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1079
-msgid "Capture\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1081
-msgid "Capture\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1084
-msgid "Camera\tUnimplemented\n"
-msgstr "カメラ\t未実装\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1086
-msgid "Camera\tImperfect\n"
-msgstr "カメラ\tä¸å®Œå…¨\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1089
-msgid "Microphone\tUnimplemented\n"
-msgstr "マクロフォン\t未実装\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1091
-msgid "Microphone\tImperfect\n"
-msgstr "マクロフォン\tä¸å®Œå…¨\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1094
-msgid "Controls\tUnimplemented\n"
-msgstr "コントロール\t未実装\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1096
-msgid "Controls\tImperfect\n"
-msgstr "コントロール\tä¸å®Œå…¨\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1099
-msgid "Keyboard\tUnimplemented\n"
-msgstr "キーボード\t未実装\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1101
-msgid "Keyboard\tImperfect\n"
-msgstr "キーボード\tä¸å®Œå…¨\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1104
-msgid "Mouse\tUnimplemented\n"
-msgstr "マウス\t未実装\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1106
-msgid "Mouse\tImperfect\n"
-msgstr "マウス\tä¸å®Œå…¨\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1109
-msgid "Media\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1111
-msgid "Media\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1114
-msgid "Disk\tUnimplemented\n"
-msgstr "ディスク\t未実装\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1116
-msgid "Disk\tImperfect\n"
-msgstr "ディスク\tä¸å®Œå…¨\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1119
-msgid "Printer\tUnimplemented\n"
-msgstr "プリンター\t未実装\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1121
-msgid "Printer\tImperfect\n"
-msgstr "プリンター\tä¸å®Œå…¨\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1124
-msgid "Mag. Tape\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1126
-msgid "Mag. Tape\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1129
-msgid "Punch Tape\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1131
-msgid "Punch Tape\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1134
-msgid "Mag. Drum\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1136
-msgid "Mag. Drum\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1139
-msgid "(EP)ROM\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1141
-msgid "(EP)ROM\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1144
-msgid "Communications\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1146
-msgid "Communications\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1149
-msgid "LAN\tUnimplemented\n"
-msgstr "LAN\t未実装\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1151
-msgid "LAN\tImperfect\n"
-msgstr "LAN\tä¸å®Œå…¨\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1154
-msgid "WAN\tUnimplemented\n"
-msgstr "WAN\t未実装\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1156
-msgid "WAN\tImperfect\n"
-msgstr "WAN\tä¸å®Œå…¨\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1159
-msgid "Timing\tUnimplemented\n"
-msgstr "タイミング\t未実装\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1161
-msgid "Timing\tImperfect\n"
-msgstr "タイミング\tä¸å®Œå…¨\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tYes\n"
-msgstr "機械仕掛ã‘ã®ãƒžã‚·ãƒ³\tã¯ã„\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tNo\n"
-msgstr "機械仕掛ã‘ã®ãƒžã‚·ãƒ³\tã„ã„ãˆ\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tYes\n"
-msgstr "アートワークãŒå¿…è¦\tã¯ã„\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tNo\n"
-msgstr "アートワークãŒå¿…è¦\tã„ã„ãˆ\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tYes\n"
-msgstr "クリックå¯ã®ã‚¢ãƒ¼ãƒˆãƒ¯ãƒ¼ã‚¯ãŒå¿…è¦\tã¯ã„\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tNo\n"
-msgstr "クリックå¯ã®ã‚¢ãƒ¼ãƒˆãƒ¯ãƒ¼ã‚¯ãŒå¿…è¦\tã„ã„ãˆ\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tYes\n"
-msgstr "カクテルモード対応\tã¯ã„\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tNo\n"
-msgstr "カクテルモード対応\tã„ã„ãˆ\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tYes\n"
-msgstr "BIOSドライãƒ\tã¯ã„\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tNo\n"
-msgstr "BIOSドライãƒ\tã„ã„ãˆ\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tYes\n"
-msgstr "セーブ対応\tã¯ã„\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tNo\n"
-msgstr "セーブ対応\tã„ã„ãˆ\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tVertical\n"
-msgstr "ç”»é¢ã®å‘ã\t縦\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tHorizontal\n"
-msgstr "ç”»é¢ã®å‘ã\t横\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tYes\n"
-msgstr "CHDãŒå¿…è¦\tã¯ã„\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tNo\n"
-msgstr "CHDãŒå¿…è¦\tã„ã„ãˆ\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1192
-msgid "ROM Audit Result\tOK\n"
-msgstr "ROMæ¤œè¨¼çµæžœ\t正常\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1194
-msgid "ROM Audit Result\tBAD\n"
-msgstr "ROMæ¤œè¨¼çµæžœ\t異常\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1197
-msgid "Samples Audit Result\tNone Needed\n"
-msgstr "ã‚µãƒ³ãƒ—ãƒ«æ¤œè¨¼çµæžœ\tä¸è¦\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1199
-msgid "Samples Audit Result\tOK\n"
-msgstr "ã‚µãƒ³ãƒ—ãƒ«æ¤œè¨¼çµæžœ\t正常\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1201
-msgid "Samples Audit Result\tBAD\n"
-msgstr "ã‚µãƒ³ãƒ—ãƒ«æ¤œè¨¼çµæžœ\t異常\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1205
-msgid ""
-"ROM Audit \tDisabled\n"
-"Samples Audit \tDisabled\n"
-msgstr ""
-"ROM検証\t無効\n"
-"サンプル検証\t無効\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1396
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
-msgstr "%1$s %2$s ( %3$d / %4$d マシン (%5$d BIOS) )"
-
-#: src/frontend/mame/ui/selgame.cpp:1424
-#, c-format
-msgid "Romset: %1$-.100s"
-msgstr "ROMセット:%1$-.100s"
-
-#: src/frontend/mame/ui/selgame.cpp:1431
-#, c-format
-msgid "System: %1$-.100s"
-msgstr "システム:%1$-.100s"
-
-#: src/frontend/mame/ui/selgame.cpp:1465
-msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
-msgstr ""
-"é¸æŠžã—ãŸãƒžã‚·ãƒ³ã«å¿…è¦ãª1ã¤ä»¥ä¸Šã®ROMã¾ãŸã¯CHDãŒä¸è¶³ã—ã¦ã„ã¾ã™ã€‚別ã®ãƒžã‚·ãƒ³ã‚’é¸æŠž"
-"ã—ã¦ãã ã•ã„。\n"
-"\n"
-
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
-msgstr "サウンド"
-
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
-msgstr "サンプルレート"
-
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
-msgstr "外部サンプル使用"
-
#: src/frontend/mame/ui/submenu.cpp:22
msgid "Miscellaneous Options"
msgstr "ãã®ä»–ã®è¨­å®š"
@@ -2159,209 +1627,566 @@ msgstr "ãƒªãƒ•ãƒ¬ãƒƒã‚·ãƒ¥ã‚’åŒæœŸ"
msgid "Wait Vertical Sync"
msgstr "V-Syncã‚’å¾…ã¤"
-#: src/frontend/mame/ui/devopt.cpp:43
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Load State"
+msgstr "状態をロード"
+
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Select position to load from"
+msgstr "ã‚»ãƒ¼ãƒ–å…ƒã‚’é¸æŠž"
+
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Save State"
+msgstr "状態をセーブ"
+
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Select position to save to"
+msgstr "ã‚»ãƒ¼ãƒ–å…ˆã‚’é¸æŠž"
+
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
+msgstr "%s [内部]"
+
+#: src/frontend/mame/ui/selgame.cpp:309 src/frontend/mame/ui/selsoft.cpp:211
#, c-format
msgid ""
-"[This option is currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"The selected option enables the following items:\n"
+"%s\n"
+" added to favorites list."
msgstr ""
-"ï¼»ã“ã®ã‚ªãƒ—ションã¯å®Ÿè¡Œä¸­ã®ã‚·ã‚¹ãƒ†ãƒ ã«ãƒžã‚¦ãƒ³ãƒˆã•れã¦ã„ã¾ã™ï¼½\n"
-"\n"
-"オプション: %1$s\n"
-"デãƒã‚¤ã‚¹ã€€: %2$s\n"
-"\n"
-"é¸æŠžã•れãŸã‚ªãƒ—ションã¯ä»¥ä¸‹ã®é …ç›®ã§æœ‰åŠ¹ï¼š\n"
+"「%sã€ã‚’\n"
+"ãŠæ°—ã«å…¥ã‚Šã«è¿½åŠ ã—ã¾ã—ãŸã€‚"
-#: src/frontend/mame/ui/devopt.cpp:44
+#: src/frontend/mame/ui/selgame.cpp:314 src/frontend/mame/ui/selgame.cpp:320
+#: src/frontend/mame/ui/selsoft.cpp:216
#, c-format
msgid ""
-"[This option is NOT currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"If you select this option, the following items will be enabled:\n"
+"%s\n"
+" removed from favorites list."
msgstr ""
-"ï¼»ã“ã®ã‚ªãƒ—ションã¯å®Ÿè¡Œä¸­ã®ã‚·ã‚¹ãƒ†ãƒ ã«ãƒžã‚¦ãƒ³ãƒˆã•れã¦ã„ã¾ã›ã‚“ï¼½\n"
-"\n"
-"オプション: %1$s\n"
-"デãƒã‚¤ã‚¹ã€€: %2$s\n"
-"\n"
-"ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã‚’é¸æŠžã™ã‚‹ã¨ã€ä»¥ä¸‹ã®é …ç›®ãŒæœ‰åйã«ãªã‚Šã¾ã™ï¼š\n"
+"「%sã€ã‚’\n"
+"ãŠæ°—ã«å…¥ã‚Šã‹ã‚‰å‰Šé™¤ã—ã¾ã—ãŸã€‚"
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:437
+msgid "Configure Machine"
+msgstr "マシンã®è¨­å®š"
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/selgame.cpp:849
#, c-format
-msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
-msgstr ""
+msgid "Romset\t%1$-.100s\n"
+msgstr "ROMセット\t%1$-.100s\n"
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
-msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:850
+#, c-format
+msgid "Year\t%1$s\n"
+msgstr "年度\t%1$s\n"
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %3$d.%4$06d MHz\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:851
+#, c-format
+msgid "Manufacturer\t%1$-.100s\n"
+msgstr "製造元\t%1$-.100s\n"
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:855
+#, c-format
+msgid "Driver is Clone of\t%1$-.100s\n"
+msgstr "次ã®ã‚¯ãƒ­ãƒ¼ãƒ³ã®ãƒ‰ãƒ©ã‚¤ãƒ\t%1$-.100s\n"
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
-msgstr "* ビデオ:\n"
+#: src/frontend/mame/ui/selgame.cpp:857
+msgid "Driver is Parent\t\n"
+msgstr "親セットã®ãƒ‰ãƒ©ã‚¤ãƒ\t\n"
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
-msgstr " ç”»é¢ '%1$s': ベクター\n"
+#: src/frontend/mame/ui/selgame.cpp:860
+msgid "Analog Controls\tYes\n"
+msgstr "アナログコントロール\tã¯ã„\n"
-#: src/frontend/mame/ui/devopt.cpp:103
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
-msgstr " ç”»é¢ '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+#: src/frontend/mame/ui/selgame.cpp:862
+msgid "Keyboard Inputs\tYes\n"
+msgstr "キーボード入力\tã¯ã„\n"
-#: src/frontend/mame/ui/devopt.cpp:104
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
-msgstr " ç”»é¢ '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+#: src/frontend/mame/ui/selgame.cpp:865
+msgid "Overall\tNOT WORKING\n"
+msgstr "概略\t動作ä¸å¯\n"
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
-msgstr "* サウンド:\n"
+#: src/frontend/mame/ui/selgame.cpp:867
+msgid "Overall\tUnemulated Protection\n"
+msgstr "概略\tãƒ—ãƒ­ãƒ†ã‚¯ãƒˆãŒæœªã‚¨ãƒŸãƒ¥ãƒ¬ãƒ¼ãƒˆ\n"
-#: src/frontend/mame/ui/devopt.cpp:137
-#, c-format
-msgid " %1$d×%2$s\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:869
+msgid "Overall\tWorking\n"
+msgstr "概略\t動作å¯\n"
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:872
+msgid "Graphics\tUnimplemented\n"
+msgstr "グラフィック\t未実装\n"
-#: src/frontend/mame/ui/devopt.cpp:168
-#, c-format
-msgid ""
-"* BIOS settings:\n"
-" %1$d options [default: %2$s]\n"
-msgstr ""
-"* BIOS設定:\n"
-" %1$d オプション [デフォルト: %2$s]\n"
+#: src/frontend/mame/ui/selgame.cpp:874
+msgid "Graphics\tWrong Colors\n"
+msgstr "グラフィック\t色ã®èª¤ã‚Š\n"
-#: src/frontend/mame/ui/devopt.cpp:208 src/frontend/mame/ui/devopt.cpp:224
-#: src/frontend/mame/ui/devopt.cpp:269
-#, c-format
-msgid " %1$s [default: %2$s]\n"
-msgstr " %1$s [デフォルト: %2$s]\n"
+#: src/frontend/mame/ui/selgame.cpp:876
+msgid "Graphics\tImperfect Colors\n"
+msgstr "グラフィック\t色ãŒä¸å®Œå…¨\n"
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
-#, c-format
-msgid " %1$s\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:878
+msgid "Graphics\tImperfect\n"
+msgstr "グラフィック\tä¸å®Œå…¨\n"
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
-msgstr "* DIPスイッãƒè¨­å®š:\n"
+#: src/frontend/mame/ui/selgame.cpp:880
+msgid "Graphics\tOK\n"
+msgstr "グラフィック\t正常\n"
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
-msgstr "* æ§‹æˆè¨­å®š:\n"
+#: src/frontend/mame/ui/selgame.cpp:883
+msgid "Sound\tNone\n"
+msgstr "グラフィック\tãªã—\n"
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
-msgstr "* 入力デãƒã‚¤ã‚¹:\n"
+#: src/frontend/mame/ui/selgame.cpp:885
+msgid "Sound\tUnimplemented\n"
+msgstr "サウンド\t未実装\n"
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
-msgstr " ユーザ入力 [%1$d 入力]\n"
+#: src/frontend/mame/ui/selgame.cpp:887
+msgid "Sound\tImperfect\n"
+msgstr "サウンド\tä¸å®Œå…¨\n"
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
-msgstr " 麻雀入力 [%1$d 入力]\n"
+#: src/frontend/mame/ui/selgame.cpp:889
+msgid "Sound\tOK\n"
+msgstr "サウンド\t正常\n"
-#: src/frontend/mame/ui/devopt.cpp:244
-#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
-msgstr " 花札入力 [%1$d 入力]\n"
+#: src/frontend/mame/ui/selgame.cpp:892
+msgid "Controls\tUnimplemented\n"
+msgstr "コントロール\t未実装\n"
-#: src/frontend/mame/ui/devopt.cpp:246
+#: src/frontend/mame/ui/selgame.cpp:894
+msgid "Controls\tImperfect\n"
+msgstr "コントロール\tä¸å®Œå…¨\n"
+
+#: src/frontend/mame/ui/selgame.cpp:897
+msgid "Keyboard\tUnimplemented\n"
+msgstr "キーボード\t未実装\n"
+
+#: src/frontend/mame/ui/selgame.cpp:899
+msgid "Keyboard\tImperfect\n"
+msgstr "キーボード\tä¸å®Œå…¨\n"
+
+#: src/frontend/mame/ui/selgame.cpp:902
+msgid "Mouse\tUnimplemented\n"
+msgstr "マウス\t未実装\n"
+
+#: src/frontend/mame/ui/selgame.cpp:904
+msgid "Mouse\tImperfect\n"
+msgstr "マウス\tä¸å®Œå…¨\n"
+
+#: src/frontend/mame/ui/selgame.cpp:907
+msgid "Microphone\tUnimplemented\n"
+msgstr "マクロフォン\t未実装\n"
+
+#: src/frontend/mame/ui/selgame.cpp:909
+msgid "Microphone\tImperfect\n"
+msgstr "マクロフォン\tä¸å®Œå…¨\n"
+
+#: src/frontend/mame/ui/selgame.cpp:912
+msgid "Camera\tUnimplemented\n"
+msgstr "カメラ\t未実装\n"
+
+#: src/frontend/mame/ui/selgame.cpp:914
+msgid "Camera\tImperfect\n"
+msgstr "カメラ\tä¸å®Œå…¨\n"
+
+#: src/frontend/mame/ui/selgame.cpp:917
+msgid "Disk\tUnimplemented\n"
+msgstr "ディスク\t未実装\n"
+
+#: src/frontend/mame/ui/selgame.cpp:919
+msgid "Disk\tImperfect\n"
+msgstr "ディスク\tä¸å®Œå…¨\n"
+
+#: src/frontend/mame/ui/selgame.cpp:922
+msgid "Printer\tUnimplemented\n"
+msgstr "プリンター\t未実装\n"
+
+#: src/frontend/mame/ui/selgame.cpp:924
+msgid "Printer\tImperfect\n"
+msgstr "プリンター\tä¸å®Œå…¨\n"
+
+#: src/frontend/mame/ui/selgame.cpp:927
+msgid "LAN\tUnimplemented\n"
+msgstr "LAN\t未実装\n"
+
+#: src/frontend/mame/ui/selgame.cpp:929
+msgid "LAN\tImperfect\n"
+msgstr "LAN\tä¸å®Œå…¨\n"
+
+#: src/frontend/mame/ui/selgame.cpp:932
+msgid "WAN\tUnimplemented\n"
+msgstr "WAN\t未実装\n"
+
+#: src/frontend/mame/ui/selgame.cpp:934
+msgid "WAN\tImperfect\n"
+msgstr "WAN\tä¸å®Œå…¨\n"
+
+#: src/frontend/mame/ui/selgame.cpp:937
+msgid "Timing\tUnimplemented\n"
+msgstr "タイミング\t未実装\n"
+
+#: src/frontend/mame/ui/selgame.cpp:939
+msgid "Timing\tImperfect\n"
+msgstr "タイミング\tä¸å®Œå…¨\n"
+
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tYes\n"
+msgstr "機械仕掛ã‘ã®ãƒžã‚·ãƒ³\tã¯ã„\n"
+
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tNo\n"
+msgstr "機械仕掛ã‘ã®ãƒžã‚·ãƒ³\tã„ã„ãˆ\n"
+
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tYes\n"
+msgstr "アートワークãŒå¿…è¦\tã¯ã„\n"
+
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tNo\n"
+msgstr "アートワークãŒå¿…è¦\tã„ã„ãˆ\n"
+
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tYes\n"
+msgstr "クリックå¯ã®ã‚¢ãƒ¼ãƒˆãƒ¯ãƒ¼ã‚¯ãŒå¿…è¦\tã¯ã„\n"
+
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tNo\n"
+msgstr "クリックå¯ã®ã‚¢ãƒ¼ãƒˆãƒ¯ãƒ¼ã‚¯ãŒå¿…è¦\tã„ã„ãˆ\n"
+
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tYes\n"
+msgstr "カクテルモード対応\tã¯ã„\n"
+
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tNo\n"
+msgstr "カクテルモード対応\tã„ã„ãˆ\n"
+
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tYes\n"
+msgstr "BIOSドライãƒ\tã¯ã„\n"
+
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tNo\n"
+msgstr "BIOSドライãƒ\tã„ã„ãˆ\n"
+
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tYes\n"
+msgstr "セーブ対応\tã¯ã„\n"
+
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tNo\n"
+msgstr "セーブ対応\tã„ã„ãˆ\n"
+
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tVertical\n"
+msgstr "ç”»é¢ã®å‘ã\t縦\n"
+
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tHorizontal\n"
+msgstr "ç”»é¢ã®å‘ã\t横\n"
+
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tYes\n"
+msgstr "CHDãŒå¿…è¦\tã¯ã„\n"
+
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tNo\n"
+msgstr "CHDãŒå¿…è¦\tã„ã„ãˆ\n"
+
+#: src/frontend/mame/ui/selgame.cpp:970
+msgid "ROM Audit Result\tOK\n"
+msgstr "ROMæ¤œè¨¼çµæžœ\t正常\n"
+
+#: src/frontend/mame/ui/selgame.cpp:972
+msgid "ROM Audit Result\tBAD\n"
+msgstr "ROMæ¤œè¨¼çµæžœ\t異常\n"
+
+#: src/frontend/mame/ui/selgame.cpp:975
+msgid "Samples Audit Result\tNone Needed\n"
+msgstr "ã‚µãƒ³ãƒ—ãƒ«æ¤œè¨¼çµæžœ\tä¸è¦\n"
+
+#: src/frontend/mame/ui/selgame.cpp:977
+msgid "Samples Audit Result\tOK\n"
+msgstr "ã‚µãƒ³ãƒ—ãƒ«æ¤œè¨¼çµæžœ\t正常\n"
+
+#: src/frontend/mame/ui/selgame.cpp:979
+msgid "Samples Audit Result\tBAD\n"
+msgstr "ã‚µãƒ³ãƒ—ãƒ«æ¤œè¨¼çµæžœ\t異常\n"
+
+#: src/frontend/mame/ui/selgame.cpp:983
+msgid ""
+"ROM Audit \tDisabled\n"
+"Samples Audit \tDisabled\n"
+msgstr ""
+"ROM検証\t無効\n"
+"サンプル検証\t無効\n"
+
+#: src/frontend/mame/ui/selgame.cpp:1167
#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
-msgstr " ギャンブル入力 [%1$d 入力]\n"
+msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
+msgstr "%1$s %2$s ( %3$d / %4$d マシン (%5$d BIOS) )"
-#: src/frontend/mame/ui/devopt.cpp:248
+#: src/frontend/mame/ui/selgame.cpp:1183 src/frontend/mame/ui/selsoft.cpp:555
#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
-msgstr " アナログ入力 [%1$d 入力]\n"
+msgid "%1$s: %2$s - Search: %3$s_"
+msgstr "%1$s:%2$s〜検索:%3$s_"
-#: src/frontend/mame/ui/devopt.cpp:250
+#: src/frontend/mame/ui/selgame.cpp:1185 src/frontend/mame/ui/selsoft.cpp:557
#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
-msgstr " アドジャスター入力 [%1$d 入力]\n"
+msgid "Search: %1$s_"
+msgstr "検索:%1$s_"
-#: src/frontend/mame/ui/devopt.cpp:252
+#: src/frontend/mame/ui/selgame.cpp:1195
#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
-msgstr " キーパッド入力 [%1$d 入力]\n"
+msgid "Romset: %1$-.100s"
+msgstr "ROMセット:%1$-.100s"
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/selgame.cpp:1202
#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
-msgstr " キーボード入力 [%1$d 入力]\n"
+msgid "System: %1$-.100s"
+msgstr "システム:%1$-.100s"
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
-msgstr "* メディア設定:\n"
+#: src/frontend/mame/ui/selgame.cpp:1239
+msgid ""
+"The selected machine is missing one or more required ROM or CHD images. "
+"Please select a different machine.\n"
+"\n"
+msgstr ""
+"é¸æŠžã—ãŸãƒžã‚·ãƒ³ã«å¿…è¦ãª1ã¤ä»¥ä¸Šã®ROMã¾ãŸã¯CHDãŒä¸è¶³ã—ã¦ã„ã¾ã™ã€‚別ã®ãƒžã‚·ãƒ³ã‚’é¸æŠž"
+"ã—ã¦ãã ã•ã„。\n"
+"\n"
-#: src/frontend/mame/ui/devopt.cpp:261
-#, c-format
-msgid " %1$s [tag: %2$s]\n"
-msgstr " %1$s [ã‚¿ã‚°: %2$s]\n"
+#: src/frontend/mame/ui/selgame.cpp:1245 src/frontend/mame/ui/selsoft.cpp:462
+msgid "Press any key to continue."
+msgstr "進ã‚ã‚‹ã«ã¯ã€ä½•ã‹ã‚­ãƒ¼ã‚’押ã—ã¦ãã ã•ã„。"
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
-msgstr "* スロット設定:\n"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
+msgstr "サウンド"
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
-msgstr "[ãªã—]\n"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
+msgstr "サンプルレート"
-#: src/frontend/mame/ui/auditmenu.cpp:96
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
+msgstr "外部サンプル使用"
+
+#: src/frontend/mame/ui/utils.cpp:57 src/frontend/mame/ui/utils.cpp:81
+msgid "Unfiltered"
+msgstr "フィルタ無ã—"
+
+#: src/frontend/mame/ui/utils.cpp:58 src/frontend/mame/ui/utils.cpp:82
+msgid "Available"
+msgstr "存在ã™ã‚‹"
+
+#: src/frontend/mame/ui/utils.cpp:59 src/frontend/mame/ui/utils.cpp:83
+msgid "Unavailable"
+msgstr "存在ã—ãªã„"
+
+#: src/frontend/mame/ui/utils.cpp:60
+msgid "Working"
+msgstr "動作å¯"
+
+#: src/frontend/mame/ui/utils.cpp:61
+msgid "Not Working"
+msgstr "動作ä¸å¯"
+
+#: src/frontend/mame/ui/utils.cpp:62
+msgid "Mechanical"
+msgstr "機械仕掛ã‘"
+
+#: src/frontend/mame/ui/utils.cpp:63
+msgid "Not Mechanical"
+msgstr "機械仕掛ã‘以外"
+
+#: src/frontend/mame/ui/utils.cpp:64
+msgid "Category"
+msgstr "カテゴリ"
+
+#: src/frontend/mame/ui/utils.cpp:65
+msgid "Favorites"
+msgstr "ãŠæ°—ã«å…¥ã‚Š"
+
+#: src/frontend/mame/ui/utils.cpp:67
+msgid "Not BIOS"
+msgstr "BIOS以外"
+
+#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:84
+msgid "Parents"
+msgstr "親セット"
+
+#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/utils.cpp:85
+msgid "Clones"
+msgstr "クローン"
+
+#: src/frontend/mame/ui/utils.cpp:70
+msgid "Manufacturer"
+msgstr "製造元"
+
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:86
+msgid "Year"
+msgstr "年度"
+
+#: src/frontend/mame/ui/utils.cpp:72
+msgid "Save Supported"
+msgstr "セーブ対応"
+
+#: src/frontend/mame/ui/utils.cpp:73
+msgid "Save Unsupported"
+msgstr "セーブéžå¯¾å¿œ"
+
+#: src/frontend/mame/ui/utils.cpp:74
+msgid "CHD Required"
+msgstr "CHDãŒå¿…è¦"
+
+#: src/frontend/mame/ui/utils.cpp:75
+msgid "No CHD Required"
+msgstr "CHDãŒä¸è¦"
+
+#: src/frontend/mame/ui/utils.cpp:76
+msgid "Vertical Screen"
+msgstr "縦画é¢"
+
+#: src/frontend/mame/ui/utils.cpp:77
+msgid "Horizontal Screen"
+msgstr "横画é¢"
+
+#: src/frontend/mame/ui/utils.cpp:78 src/frontend/mame/ui/utils.cpp:94
+msgid "Custom Filter"
+msgstr "カスタムフィルタ"
+
+#: src/frontend/mame/ui/utils.cpp:87
+msgid "Publisher"
+msgstr "発売元"
+
+#: src/frontend/mame/ui/utils.cpp:88
+msgid "Supported"
+msgstr "対応"
+
+#: src/frontend/mame/ui/utils.cpp:89
+msgid "Partially Supported"
+msgstr "一部対応"
+
+#: src/frontend/mame/ui/utils.cpp:90
+msgid "Unsupported"
+msgstr "éžå¯¾å¿œ"
+
+#: src/frontend/mame/ui/utils.cpp:91
+msgid "Release Region"
+msgstr "リリース地域"
+
+#: src/frontend/mame/ui/utils.cpp:92
+msgid "Device Type"
+msgstr "デãƒã‚¤ã‚¹ã‚¿ã‚¤ãƒ—"
+
+#: src/frontend/mame/ui/utils.cpp:93
+msgid "Software List"
+msgstr "ソフトウェアリスト"
+
+#: src/frontend/mame/ui/utils.cpp:244
+msgid "<set up filters>"
+msgstr "〔フィルタを設定ã™ã‚‹ã€•"
+
+#: src/frontend/mame/ui/utils.cpp:352
+msgid "Select custom filters:"
+msgstr "ã‚«ã‚¹ã‚¿ãƒ ãƒ•ã‚£ãƒ«ã‚¿é¸æŠž:"
+
+#: src/frontend/mame/ui/utils.cpp:503
#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
-msgstr "存在ã—ãªã„ã«åˆ†é¡žã•れãŸ%1$uマシンã®ROMを検査ã—ã¾ã™ã‹ï¼Ÿ"
+msgid "Filter %1$u"
+msgstr "フィルタ%1$u"
-#: src/frontend/mame/ui/auditmenu.cpp:99
+#: src/frontend/mame/ui/utils.cpp:518
+msgid "Remove last filter"
+msgstr "最後ã®ãƒ•ィルタを削除"
+
+#: src/frontend/mame/ui/utils.cpp:520
+msgid "Add filter"
+msgstr "フィルタを追加"
+
+#: src/frontend/mame/ui/utils.cpp:959
+msgid "Select category:"
+msgstr "ã‚«ãƒ†ã‚´ãƒªã‚’é¸æŠžï¼š"
+
+#: src/frontend/mame/ui/utils.cpp:990
+msgid "[no category INI files]"
+msgstr "[カテゴリINIファイルãŒã‚りã¾ã›ã‚“ï¼½"
+
+#: src/frontend/mame/ui/utils.cpp:998
+msgid "[no groups in INI file]"
+msgstr "ï¼»INIファイルã«ã‚°ãƒ«ãƒ¼ãƒ—ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ï¼½"
+
+#: src/frontend/mame/ui/utils.cpp:1032
+msgid "No category INI files found"
+msgstr "カテゴリINIファイルãŒã‚りã¾ã›ã‚“"
+
+#: src/frontend/mame/ui/utils.cpp:1037
+msgid "File"
+msgstr "ファイル"
+
+#: src/frontend/mame/ui/utils.cpp:1041
+msgid "No groups found in category file"
+msgstr "カテゴリファイルã«ã‚°ãƒ«ãƒ¼ãƒ—ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“"
+
+#: src/frontend/mame/ui/utils.cpp:1046
+msgid "Group"
+msgstr "グループ"
+
+#: src/frontend/mame/ui/utils.cpp:1047
+msgid "Include clones"
+msgstr "クローンをå«ã‚ã‚‹"
+
+#: src/frontend/mame/ui/selsoft.cpp:456
+msgid ""
+"The selected software is missing one or more required files. Please select a "
+"different software.\n"
+"\n"
+msgstr ""
+"é¸æŠžã—ãŸã‚½ãƒ•トウェアã«å¿…è¦ãª1ã¤ä»¥ä¸Šã®ãƒ•ァイルãŒä¸è¶³ã—ã¦ã„ã¾ã™ã€‚別ã®ã‚½ãƒ•トウェ"
+"ã‚¢ã‚’é¸æŠžã—ã¦ãã ã•ã„。\n"
+"\n"
+
+#: src/frontend/mame/ui/selsoft.cpp:549
#, c-format
-msgid "Audit ROMs for all %1$u machines?"
-msgstr "å…¨%1$uマシンã®ROMを検査ã—ã¾ã™ã‹ï¼Ÿ"
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgstr "%1$s %2$s ( %3$d / %4$d ソフトウェアパッケージ )"
-#: src/frontend/mame/ui/auditmenu.cpp:104
+#: src/frontend/mame/ui/selsoft.cpp:550
#, c-format
-msgid "(results will be saved to %1$s)"
-msgstr "ï¼ˆçµæžœã¯%1$sã«ä¿å­˜ã•れã¾ã™ï¼‰"
+msgid "Driver: \"%1$s\" software list "
+msgstr "ドライãƒï¼šã€Œ%1$sã€ã€€ã‚½ãƒ•トウェアリスト"
-#: src/frontend/mame/ui/auditmenu.cpp:130
+#: src/frontend/mame/ui/filesel.cpp:260
+msgid "[create]"
+msgstr "〔作æˆã€•"
+
+#: src/frontend/mame/ui/filesel.cpp:419
#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
-msgstr ""
-"マシン%2$uï¼%3$uã®ROMを検査中...\n"
-"%1$s"
+msgid "Error accessing %s"
+msgstr "%sã®ã‚¢ã‚¯ã‚»ã‚¹ã‚¨ãƒ©ãƒ¼"
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr "検査を開始"
+#: src/frontend/mame/ui/filesel.cpp:515
+msgid "Select access mode"
+msgstr "アクセスモードã®é¸æŠž"
+
+#: src/frontend/mame/ui/filesel.cpp:516
+msgid "Read-only"
+msgstr "読ã¿å–り専用"
+
+#: src/frontend/mame/ui/filesel.cpp:518
+msgid "Read-write"
+msgstr "読ã¿å–ã‚Šï¼æ›¸ãè¾¼ã¿"
+
+#: src/frontend/mame/ui/filesel.cpp:519
+msgid "Read this image, write to another image"
+msgstr "ã“ã®ã‚¤ãƒ¡ãƒ¼ã‚¸ã‹ã‚‰èª­ã¿å–りã€åˆ¥ã®ã‚¤ãƒ¡ãƒ¼ã‚¸ã«æ›¸ã込む"
+
+#: src/frontend/mame/ui/filesel.cpp:520
+msgid "Read this image, write to diff"
+msgstr "ã“ã®ã‚¤ãƒ¡ãƒ¼ã‚¸ã‹ã‚‰èª­ã¿å–りã€å·®åˆ†ï¼ˆdiffï¼‰ã«æ›¸ã込む"
#: src/frontend/mame/ui/imgcntrl.cpp:117
msgid "Cannot save over directory"
@@ -2375,371 +2200,465 @@ msgstr ""
"é¸æŠžã—ãŸã‚½ãƒ•トウェアã«å¿…è¦ãª1ã¤ä»¥ä¸Šã®ROMã¾ãŸã¯CHDãŒä¸è¶³ã—ã¦ã„ã¾ã™ã€‚別ã®ç‰©ã‚’é¸"
"択ã—ã¦ãã ã•ã„。"
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
-msgstr "プロテクト"
-
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
-msgstr "タイミング"
+#: src/frontend/mame/ui/menu.cpp:294
+msgid "Return to Machine"
+msgstr "ãƒžã‚·ãƒ³ã«æˆ»ã‚‹"
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
-msgstr "グラフィック"
+#: src/frontend/mame/ui/menu.cpp:299 src/frontend/mame/ui/menu.cpp:301
+msgid "Exit"
+msgstr "終了"
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
-msgstr "色パレット"
+#: src/frontend/mame/ui/menu.cpp:306 src/frontend/mame/ui/menu.cpp:308
+msgid "Return to Previous Menu"
+msgstr "å‰ã®ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã«æˆ»ã‚‹"
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
-msgstr "サウンド"
+#: src/frontend/mame/ui/menu.cpp:742
+msgid "Auto"
+msgstr "自動"
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:653
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
+"ãƒãƒ¼ãƒˆã®ã‚³ãƒ¡ãƒ³ãƒˆ:\n"
+"%s"
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
-msgstr "カメラ"
-
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
-msgstr "マイクロフォン"
+#: src/frontend/mame/ui/cheatopt.cpp:105
+msgid "All cheats reloaded"
+msgstr "å…¨ãƒãƒ¼ãƒˆå†ãƒ­ãƒ¼ãƒ‰å®Œäº†"
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
-msgstr "コントロール"
+#: src/frontend/mame/ui/cheatopt.cpp:136
+msgid "Autofire Settings"
+msgstr "連射設定"
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
-msgstr "キーボード"
+#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:581
+msgid "Reset All"
+msgstr "å…¨ã¦ãƒªã‚»ãƒƒãƒˆ"
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
-msgstr "マウス"
+#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:582
+msgid "Reload All"
+msgstr "å…¨ã¦å†èª­ã¿è¾¼ã¿"
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
-msgstr ""
+#: src/frontend/mame/ui/cheatopt.cpp:273
+msgid "Autofire Status"
+msgstr "連射設定ステータス"
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
-msgstr "ディスク"
+#: src/frontend/mame/ui/cheatopt.cpp:316
+msgid "No buttons found on this machine!"
+msgstr "ã“ã®ãƒžã‚·ãƒ³ã«ã¯ãƒœã‚¿ãƒ³ãŒã‚りã¾ã›ã‚“ï¼"
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
-msgstr "プリンター"
+#: src/frontend/mame/ui/cheatopt.cpp:327 src/frontend/mame/ui/cheatopt.cpp:331
+msgid "Autofire Delay"
+msgstr "連射間隔"
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
-msgstr ""
+#: src/frontend/mame/ui/ui.cpp:337
+msgid "This driver requires images to be loaded in the following device(s): "
+msgstr "ã“ã®ãƒ‰ãƒ©ã‚¤ãƒã¯ä»¥ä¸‹ã®ãƒ‡ãƒã‚¤ã‚¹ã§ã‚¤ãƒ¡ãƒ¼ã‚¸ã®èª­ã¿è¾¼ã¿ãŒå¿…è¦ã§ã™:"
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
-msgstr ""
+#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
+msgid "Keyboard Emulation Status"
+msgstr "キーボードエミュレーションステータス"
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
-msgstr ""
+#: src/frontend/mame/ui/ui.cpp:1086
+msgid "Mode: PARTIAL Emulation"
+msgstr "モード: 部分的エミュレーション"
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
-msgstr ""
+#: src/frontend/mame/ui/ui.cpp:1087
+msgid "UI: Enabled"
+msgstr "UI: 有効"
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
-msgstr ""
+#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
+msgid "**Use ScrLock to toggle**"
+msgstr "** ScrLockキーã§åˆ‡ã‚Šæ›¿ãˆ **"
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
-msgstr "LAN"
+#: src/frontend/mame/ui/ui.cpp:1096
+msgid "Mode: FULL Emulation"
+msgstr "モード:完全エミュレーション"
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
-msgstr "WAN"
+#: src/frontend/mame/ui/ui.cpp:1097
+msgid "UI: Disabled"
+msgstr "UI: 無効"
-#: src/frontend/mame/ui/info.cpp:188
-msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
-msgstr ""
-"ã“ã®ãƒžã‚·ãƒ³ç”¨ã®ROM/CHDãŒæ­£ã—ãã‚りã¾ã›ã‚“。ãã®ãŸã‚æ­£ã—ã動作ã—ãªã„å¯èƒ½æ€§ãŒã‚り"
-"ã¾ã™ã€‚\n"
+#: src/frontend/mame/ui/ui.cpp:1249
+msgid "Autofire can't be enabled"
+msgstr "é€£å°„æ©Ÿèƒ½ã¯æœ‰åйã«ã§ãã¾ã›ã‚“"
-#: src/frontend/mame/ui/info.cpp:198
+#: src/frontend/mame/ui/ui.cpp:1302
+#, c-format
msgid ""
-"There are known problems with this machine\n"
+"Are you sure you want to quit?\n"
"\n"
+"Press ''%1$s'' to quit,\n"
+"Press ''%2$s'' to return to emulation."
msgstr ""
-"ã“ã®ãƒžã‚·ãƒ³ã«ã¯ä»¥ä¸‹ã®ã‚ˆã†ãªå•題点ãŒã‚りã¾ã™\n"
+"終了ã—ã¾ã™ã‹?\n"
"\n"
+"「%1$sã€ã§çµ‚了\n"
+"「%2$sã€ã§ã‚¨ãƒŸãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã«æˆ»ã‚‹"
-#: src/frontend/mame/ui/info.cpp:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
-msgstr ""
-"ã“ã®ãƒžã‚·ãƒ³ç”¨ã®ROM/CHDã¯å…¨ã¦æ­£ã—ãå¸ã„出ã•れã¦ã„ã¾ã›ã‚“。\n"
-"\n"
+#: src/frontend/mame/ui/ui.cpp:1374
+msgid "Master Volume"
+msgstr "マスター音é‡"
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
-msgstr "å…¨ãエミュレート出æ¥ã¦ã„ãªã„機能: "
+#: src/frontend/mame/ui/ui.cpp:1383
+#, c-format
+msgid "%1$s Volume"
+msgstr "%1$sã®éŸ³é‡"
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
+#: src/frontend/mame/ui/ui.cpp:1407
#, c-format
-msgid "%s"
-msgstr "%s"
+msgid "Overclock CPU %1$s"
+msgstr "CPU %1$sã®ã‚ªãƒ¼ãƒãƒ¼ã‚¯ãƒ­ãƒƒã‚¯"
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#: src/frontend/mame/ui/info.cpp:275
+#: src/frontend/mame/ui/ui.cpp:1416
#, c-format
-msgid ", %s"
-msgstr "ã€%s"
+msgid "Overclock %1$s sound"
+msgstr "サウンド%1$sã®ã‚ªãƒ¼ãƒãƒ¼ã‚¯ãƒ­ãƒƒã‚¯"
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
-msgstr "ä¸å®Œå…¨ãªã‚¨ãƒŸãƒ¥ãƒ¬ãƒ¼ãƒˆæ©Ÿèƒ½ï¼š "
+#: src/frontend/mame/ui/ui.cpp:1437
+#, c-format
+msgid "%1$s Refresh Rate"
+msgstr "%1$sã®ãƒªãƒ•レッシュレート"
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
-msgstr "カクテルモードã§ã®ç”»é¢å転表示ã¯ã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã›ã‚“。\n"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, c-format
+msgid "%1$s Brightness"
+msgstr "%1$sã®è¼åº¦"
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
-msgstr "ã“ã®ãƒžã‚·ãƒ³ã¯åˆ¥é€”アートワークファイルãŒå¿…è¦ã§ã™ã€‚\n"
+#: src/frontend/mame/ui/ui.cpp:1444
+#, c-format
+msgid "%1$s Contrast"
+msgstr "%1$sã®ã‚³ãƒ³ãƒˆãƒ©ã‚¹ãƒˆ"
-#: src/frontend/mame/ui/info.cpp:243
-msgid ""
-"This machine was never completed. It may exhibit strange behavior or missing "
-"elements that are not bugs in the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1446
+#, c-format
+msgid "%1$s Gamma"
+msgstr "%1$sã®ã‚¬ãƒ³ãƒž"
+
+#: src/frontend/mame/ui/ui.cpp:1450
+#, c-format
+msgid "%1$s Horiz Stretch"
+msgstr "%1$s 横方å‘ã®æ‹¡å¤§"
+
+#: src/frontend/mame/ui/ui.cpp:1452
+#, c-format
+msgid "%1$s Horiz Position"
+msgstr "%1$s 横方å‘ã®ä½ç½®"
+
+#: src/frontend/mame/ui/ui.cpp:1454
+#, c-format
+msgid "%1$s Vert Stretch"
+msgstr "%1$s 縦方å‘ã®æ‹¡å¤§"
+
+#: src/frontend/mame/ui/ui.cpp:1456
+#, c-format
+msgid "%1$s Vert Position"
+msgstr "%1$s 縦方å‘ã®ä½ç½®"
+
+#: src/frontend/mame/ui/ui.cpp:1475
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
+msgstr "レーザーディスク '%1$s' 横方å‘ã®æ‹¡å¤§"
+
+#: src/frontend/mame/ui/ui.cpp:1477
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
+msgstr "レーザーディスク '%1$s' 横方å‘ã®ä½ç½®"
+
+#: src/frontend/mame/ui/ui.cpp:1479
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
+msgstr "レーザーディスク '%1$s' 縦方å‘ã®æ‹¡å¤§"
+
+#: src/frontend/mame/ui/ui.cpp:1481
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
+msgstr "レーザーディスク '%1$s' 縦方å‘ã®ä½ç½®"
+
+#: src/frontend/mame/ui/ui.cpp:1493
+msgid "Vector Flicker"
+msgstr "ベクターã®ã¡ã‚‰ã¤ã"
+
+#: src/frontend/mame/ui/ui.cpp:1494
+msgid "Beam Width Minimum"
+msgstr "ビーム幅(最å°ï¼‰"
+
+#: src/frontend/mame/ui/ui.cpp:1495
+msgid "Beam Width Maximum"
+msgstr "ビーム幅(最大)"
+
+#: src/frontend/mame/ui/ui.cpp:1496
+msgid "Beam Intensity Weight"
+msgstr "ビーム強度比é‡"
+
+#: src/frontend/mame/ui/ui.cpp:1511
+#, c-format
+msgid "Crosshair Scale %1$s"
+msgstr "照準ã®å¤§ãã• %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "X"
msgstr ""
-"ã“ã®ãƒžã‚·ãƒ³ã¯æœªå®Œæˆã§ã™ã€‚動作ã®ä¸å…·åˆã‚„ä¸è¶³ã—ãŸè¦ç´ ãŒã‚ã£ã¦ã‚‚エミュレーション"
-"ã®ãƒã‚°ã§ã¯ã‚りã¾ã›ã‚“。\n"
-#: src/frontend/mame/ui/info.cpp:245
-msgid ""
-"This machine has no sound hardware, MAME will produce no sounds, this is "
-"expected behaviour.\n"
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "Y"
msgstr ""
-"ã“ã®ãƒžã‚·ãƒ³ã«ã¯ã‚µã‚¦ãƒ³ãƒ‰ãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢ãŒã‚りã¾ã›ã‚“。音ãŒå‡ºãªãã¦ã‚‚正常ãªå‹•作ã§"
-"ã™ã€‚\n"
-#: src/frontend/mame/ui/info.cpp:249
-msgid ""
-"\n"
-"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
-"complete. There is nothing you can do to fix this problem except wait for "
-"the developers to improve the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1513
+#, c-format
+msgid "Crosshair Offset %1$s"
+msgstr "照準ã®ã‚ªãƒ•セット %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1601
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-"\n"
-"ã“ã®ãƒžã‚·ãƒ³ã¯å‹•作ã—ã¾ã›ã‚“ã€‚ã‚¨ãƒŸãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã¯æœªå®Œæˆã§ã™ã€‚開発者ãŒã‚¨ãƒŸãƒ¥ãƒ¬ãƒ¼"
-"ションを改良ã™ã‚‹ã®ã‚’ãŠå¾…ã¡ä¸‹ã•ã„。\n"
-#: src/frontend/mame/ui/info.cpp:251
-msgid ""
-"\n"
-"Elements of this machine cannot be emulated as they requires physical "
-"interaction or consist of mechanical devices. It is not possible to fully "
-"experience this machine.\n"
+#: src/frontend/mame/ui/ui.cpp:1645
+#, c-format
+msgid "%1$d%%"
msgstr ""
-"\n"
-"ã“ã®ãƒžã‚·ãƒ³ã®ä¸€éƒ¨ã®è¦ç´ ã¯ã€æ©Ÿæ¢°ä»•掛ã‘ã®ãƒ‡ãƒã‚¤ã‚¹ã‚‚ã—ãã¯å®Ÿéš›ã®å‹•作ãŒå¿…è¦ãªãŸã‚"
-"エミュレートã§ãã¾ã›ã‚“。ã“ã®ãƒžã‚·ãƒ³ã‚’完全ã«ä½“験ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。\n"
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1661
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid "%1$3.0f%%"
msgstr ""
-"\n"
-"\n"
-"ã“ã®ãƒžã‚·ãƒ³ã®å‹•作å¯èƒ½ãªã‚¯ãƒ­ãƒ¼ãƒ³ã‚»ãƒƒãƒˆï¼š%s"
-#: src/frontend/mame/ui/info.cpp:286
+#: src/frontend/mame/ui/ui.cpp:1685
+#, c-format
+msgid "%1$.3ffps"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
+#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
+#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
+#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
+#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
+#: src/frontend/mame/ui/ui.cpp:1927
+#, c-format
+msgid "%1$.3f"
+msgstr "%1$.3f"
+
+#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
+#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
+#, c-format
+msgid "%1$1.2f"
+msgstr "%1$1.2f"
+
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
+msgstr "照準ã®å¤§ãã• X %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
+msgstr "照準ã®å¤§ãã• Y %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
+msgstr "照準ã®ã‚ªãƒ•セット X %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
+msgstr "照準ã®ã‚ªãƒ•セット Y %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
+msgstr "*** ui.iniã®ä¿å­˜ã‚¨ãƒ©ãƒ¼ ***"
+
+#: src/frontend/mame/ui/ui.cpp:2226
+#, c-format
+msgid "**Error saving %s.ini**"
+msgstr "*** %s.iniã®ä¿å­˜ã‚¨ãƒ©ãƒ¼ ***"
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " COLORS"
+msgstr " 色"
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " PENS"
+msgstr " ペン"
+
+#: src/frontend/mame/ui/devopt.cpp:39
+#, c-format
msgid ""
+"[This option is currently mounted in the running system]\n"
"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
"\n"
-"Press any key to continue"
+"The selected option enables the following items:\n"
msgstr ""
+"ï¼»ã“ã®ã‚ªãƒ—ションã¯å®Ÿè¡Œä¸­ã®ã‚·ã‚¹ãƒ†ãƒ ã«ãƒžã‚¦ãƒ³ãƒˆã•れã¦ã„ã¾ã™ï¼½\n"
"\n"
+"オプション: %1$s\n"
+"デãƒã‚¤ã‚¹ã€€: %2$s\n"
"\n"
-"進ã‚ã‚‹ã«ã¯ã€ä½•ã‹ã‚­ãƒ¼ã‚’押ã—ã¦ãã ã•ã„。"
+"é¸æŠžã•れãŸã‚ªãƒ—ションã¯ä»¥ä¸‹ã®é …ç›®ã§æœ‰åŠ¹ï¼š\n"
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/devopt.cpp:40
#, c-format
msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
+"[This option is NOT currently mounted in the running system]\n"
"\n"
-"CPU:\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"If you select this option, the following items will be enabled:\n"
msgstr ""
-"%1$s\n"
-"%2$s %3$s\n"
-"ドライãƒ:%4$s\n"
+"ï¼»ã“ã®ã‚ªãƒ—ションã¯å®Ÿè¡Œä¸­ã®ã‚·ã‚¹ãƒ†ãƒ ã«ãƒžã‚¦ãƒ³ãƒˆã•れã¦ã„ã¾ã›ã‚“ï¼½\n"
"\n"
-"CPU:\n"
+"オプション: %1$s\n"
+"デãƒã‚¤ã‚¹ã€€: %2$s\n"
+"\n"
+"ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã‚’é¸æŠžã™ã‚‹ã¨ã€ä»¥ä¸‹ã®é …ç›®ãŒæœ‰åйã«ãªã‚Šã¾ã™ï¼š\n"
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
-msgstr "MHz"
+#: src/frontend/mame/ui/devopt.cpp:48
+msgid "* CPU:\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
-msgstr "kHz"
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
+#, c-format
+msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
+msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
msgstr ""
-"\n"
-"サウンド:\n"
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %3$d.%4$06d MHz\n"
msgstr ""
-"\n"
-"表示:\n"
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
-msgstr "ãªã—\n"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %5$d.%6$03d kHz\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
-msgstr "ベクター"
+#: src/frontend/mame/ui/devopt.cpp:85
+msgid "* Video:\n"
+msgstr "* ビデオ:\n"
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:90
#, c-format
-msgid "%1$s: %2$s\n"
-msgstr "%1$s:%2$s\n"
-
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
-msgstr "%2$s\n"
+msgid " Screen '%1$s': Vector\n"
+msgstr " ç”»é¢ '%1$s': ベクター\n"
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:99
#, c-format
-msgid "Screen '%1$s'"
-msgstr "ç”»é¢ã€Œ%1$sã€"
-
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr "ç”»é¢"
-
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
-msgstr "対応ã—ã¦ã„ã¾ã›ã‚“"
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+msgstr " ç”»é¢ '%1$s': %2$d × %3$d (V) %4$f Hz\n"
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
-msgstr "部分的ã«å¯¾å¿œ"
+#: src/frontend/mame/ui/devopt.cpp:100
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+msgstr " ç”»é¢ '%1$s': %2$d × %3$d (H) %4$f Hz\n"
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
-msgstr "〔空〕"
+#: src/frontend/mame/ui/devopt.cpp:113
+msgid "* Sound:\n"
+msgstr "* サウンド:\n"
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
-msgstr "æ“作パãƒãƒ«ç”»åƒ"
+#: src/frontend/mame/ui/devopt.cpp:133
+#, c-format
+msgid " %1$d×%2$s\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
-msgstr "アートワークã®ãƒ—レビュー"
+#: src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
-msgstr "ゲームオーãƒãƒ¼"
+#: src/frontend/mame/ui/devopt.cpp:164
+#, c-format
+msgid ""
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
+msgstr ""
+"* BIOS設定:\n"
+" %1$d オプション [デフォルト: %2$s]\n"
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
-msgstr "ãŠæ°—ã«å…¥ã‚Šã«è¿½åŠ ã¾ãŸã¯å‰Šé™¤"
+#: src/frontend/mame/ui/devopt.cpp:204 src/frontend/mame/ui/devopt.cpp:220
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " %1$s [default: %2$s]\n"
+msgstr " %1$s [デフォルト: %2$s]\n"
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
-msgstr "表示ã•れã¦ã„るリストをファイルã«å‡ºåŠ›"
+#: src/frontend/mame/ui/devopt.cpp:209 src/frontend/mame/ui/devopt.cpp:225
+#, c-format
+msgid " %1$s\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
-msgstr "DATビューを表示"
+#: src/frontend/mame/ui/devopt.cpp:230
+msgid "* DIP switch settings:\n"
+msgstr "* DIPスイッãƒè¨­å®š:\n"
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
-msgstr "é¸æŠžä¸­ã®ã‚½ãƒ•トウェアパーツ:"
+#: src/frontend/mame/ui/devopt.cpp:232
+msgid "* Configuration settings:\n"
+msgstr "* æ§‹æˆè¨­å®š:\n"
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
-msgstr "BIOSé¸æŠžï¼š"
+#: src/frontend/mame/ui/devopt.cpp:234
+msgid "* Input device(s):\n"
+msgstr "* 入力デãƒã‚¤ã‚¹:\n"
-#: src/frontend/mame/ui/selmenu.cpp:622
+#: src/frontend/mame/ui/devopt.cpp:236
#, c-format
-msgid "Software is clone of: %1$-.100s"
-msgstr "次ã®ã‚¯ãƒ­ãƒ¼ãƒ³ã®ã‚½ãƒ•トウェア:%1$-.100s"
-
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
-msgstr "親セットã®ã‚½ãƒ•トウェア"
-
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
-msgstr "対応状æ³ï¼šã„ã„ãˆ"
-
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
-msgstr "対応状æ³ï¼šéƒ¨åˆ†çš„"
+msgid " User inputs [%1$d inputs]\n"
+msgstr " ユーザ入力 [%1$d 入力]\n"
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
-msgstr "対応状æ³ï¼šã¯ã„"
+#: src/frontend/mame/ui/devopt.cpp:238
+#, c-format
+msgid " Mahjong inputs [%1$d inputs]\n"
+msgstr " 麻雀入力 [%1$d 入力]\n"
-#: src/frontend/mame/ui/selmenu.cpp:644
+#: src/frontend/mame/ui/devopt.cpp:240
#, c-format
-msgid "romset: %1$-.100s"
-msgstr "ソフト:%1$-.100s"
+msgid " Hanafuda inputs [%1$d inputs]\n"
+msgstr " 花札入力 [%1$d 入力]\n"
-#: src/frontend/mame/ui/selmenu.cpp:660
+#: src/frontend/mame/ui/devopt.cpp:242
#, c-format
-msgid "Driver is clone of: %1$-.100s"
-msgstr "次ã®ã‚¯ãƒ­ãƒ¼ãƒ³ã®ãƒ‰ãƒ©ã‚¤ãƒï¼š%1$-.100s"
+msgid " Gambling inputs [%1$d inputs]\n"
+msgstr " ギャンブル入力 [%1$d 入力]\n"
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
-msgstr "親セットã®ãƒ‰ãƒ©ã‚¤ãƒ"
+#: src/frontend/mame/ui/devopt.cpp:244
+#, c-format
+msgid " Analog inputs [%1$d inputs]\n"
+msgstr " アナログ入力 [%1$d 入力]\n"
-#: src/frontend/mame/ui/selmenu.cpp:698
+#: src/frontend/mame/ui/devopt.cpp:246
#, c-format
-msgid "%1$s %2$s"
-msgstr ""
+msgid " Adjuster inputs [%1$d inputs]\n"
+msgstr " アドジャスター入力 [%1$d 入力]\n"
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
-msgstr "ç”»åƒ"
+#: src/frontend/mame/ui/devopt.cpp:248
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
+msgstr " キーパッド入力 [%1$d 入力]\n"
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
-msgstr "情報"
+#: src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
+msgstr " キーボード入力 [%1$d 入力]\n"
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
-msgstr "ä½¿ã„æ–¹"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* Media Options:\n"
+msgstr "* メディア設定:\n"
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
-msgstr "一般情報"
+#: src/frontend/mame/ui/devopt.cpp:257
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
+msgstr " %1$s [ã‚¿ã‚°: %2$s]\n"
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
-msgstr "ユーザーインターフェイス"
+#: src/frontend/mame/ui/devopt.cpp:263
+msgid "* Slot Options:\n"
+msgstr "* スロット設定:\n"
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
-msgstr "ãã®ä»–ã®ã‚³ãƒ³ãƒˆãƒ­ãƒ¼ãƒ«"
+#: src/frontend/mame/ui/devopt.cpp:270
+msgid "[None]\n"
+msgstr "[ãªã—]\n"
#: plugins/timer/init.lua:94
msgid "Current time"
@@ -2757,51 +2676,51 @@ msgstr "éŠã‚“ã å›žæ•°"
msgid "Timer"
msgstr "タイマー"
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:510
msgid "Select cheat to set hotkey"
msgstr "ホットキーを設定ã™ã‚‹ãƒãƒ¼ãƒˆã‚’é¸æŠž"
-#: plugins/cheat/init.lua:534
+#: plugins/cheat/init.lua:516
msgid "Press button for hotkey or wait to clear"
msgstr "ホットキーã«ã™ã‚‹ãƒœã‚¿ãƒ³ã‚’押ã™ã‹ã€æ”¾ç½®ã—ã¦æ¶ˆåŽ»"
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:528
msgid "None"
msgstr "ãªã—"
-#: plugins/cheat/init.lua:551
+#: plugins/cheat/init.lua:533
msgid "Done"
msgstr "決定"
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:547 plugins/cheat/init.lua:561
msgid "Set"
msgstr "設定"
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:580
msgid "Set hotkeys"
msgstr "ホットキーを設定"
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:720
#, lua-format
msgid "Activated: %s = %s"
msgstr "実行ã—ã¾ã—ãŸ: %s = %s"
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:723 plugins/cheat/init.lua:781
#, lua-format
msgid "Activated: %s"
msgstr "実行ã—ã¾ã—ãŸ: %s"
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:785
#, lua-format
msgid "Enabled: %s"
msgstr "有効: %s"
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:790
#, lua-format
msgid "Disabled: %s"
msgstr "無効: %s"
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "%s added"
msgstr "%sを追加ã—ã¾ã—ãŸ"
@@ -2854,49 +2773,49 @@ msgstr "Gameinitファイル"
msgid "MARPScore"
msgstr "MARPスコア"
-#: plugins/cheatfind/init.lua:404
+#: plugins/cheatfind/init.lua:373
msgid "Save Cheat"
msgstr "ãƒãƒ¼ãƒˆã‚’ä¿å­˜"
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Default"
msgstr "デフォルト"
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Custom"
msgstr "カスタム"
-#: plugins/cheatfind/init.lua:408
+#: plugins/cheatfind/init.lua:377
msgid "Cheat Name"
msgstr "ãƒãƒ¼ãƒˆå"
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/cheatfind/init.lua:383 plugins/cheatfind/init.lua:748
#, lua-format
msgid "Default name is %s"
msgstr "デフォルトåã¯%s"
-#: plugins/cheatfind/init.lua:422
+#: plugins/cheatfind/init.lua:391
msgid "Player"
msgstr "プレイヤー"
-#: plugins/cheatfind/init.lua:427
+#: plugins/cheatfind/init.lua:396
msgid "Type"
msgstr "タイプ"
-#: plugins/cheatfind/init.lua:433
+#: plugins/cheatfind/init.lua:402
msgid "Save"
msgstr "ä¿å­˜"
-#: plugins/cheatfind/init.lua:462
+#: plugins/cheatfind/init.lua:429
#, lua-format
msgid "Cheat written to %s and added to cheat.simple"
msgstr "ãƒãƒ¼ãƒˆã‚’%sã«æ›¸ãè¾¼ã¿ã€cheat.simpleã«è¿½åŠ ã—ã¾ã—ãŸ"
-#: plugins/cheatfind/init.lua:472
+#: plugins/cheatfind/init.lua:437
msgid "Cheat added to cheat.simple"
msgstr "ãƒãƒ¼ãƒˆã‚’cheat.simpleã«è¿½åŠ ã—ã¾ã—ãŸ"
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:442
msgid ""
"Unable to write file\n"
"Ensure that cheatpath folder exists"
@@ -2904,295 +2823,174 @@ msgstr ""
"ãƒ•ã‚¡ã‚¤ãƒ«ã«æ›¸ãè¾¼ã‚ã¾ã›ã‚“\n"
"cheatpathフォルダãŒå­˜åœ¨ã—ã¦ã„ã‚‹ã‹ç¢ºèªã—ã¦ãã ã•ã„"
-#: plugins/cheatfind/init.lua:486
+#: plugins/cheatfind/init.lua:451
msgid "Cancel"
msgstr "キャンセル"
-#: plugins/cheatfind/init.lua:491
+#: plugins/cheatfind/init.lua:456
msgid "CPU or RAM"
msgstr "CPUã¾ãŸã¯RAM"
-#: plugins/cheatfind/init.lua:495
+#: plugins/cheatfind/init.lua:460
msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr "ã“ã®å¤‰æ›´ã¯ã€\"æ–°è¦ã«æ¤œç´¢ã‚’é–‹å§‹\"ãŒé¸æŠžã•れã¦ã„ã‚‹å ´åˆã«ã®ã¿æœ‰åйã§ã™"
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
-msgstr ""
+#: plugins/cheatfind/init.lua:479
+msgid "Data cleared and current state saved"
+msgstr "ãƒ‡ãƒ¼ã‚¿ã¯æ¶ˆåŽ»ã•れã€ç¾åœ¨ã®çŠ¶æ…‹ãŒä¿å­˜ã•れã¾ã—ãŸ"
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:551
+#: plugins/cheatfind/init.lua:487
msgid "Start new search"
msgstr "æ–°è¦ã«æ¤œç´¢ã‚’é–‹å§‹"
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
-msgstr ""
+#: plugins/cheatfind/init.lua:497
+msgid "Current state saved"
+msgstr "ç¾åœ¨ã®çŠ¶æ…‹ãŒä¿å­˜ã•れã¾ã—ãŸ"
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
-msgstr ""
+#: plugins/cheatfind/init.lua:504
+msgid "Save current -- #"
+msgstr "状態をä¿å­˜ -- #"
-#: plugins/cheatfind/init.lua:614
+#: plugins/cheatfind/init.lua:536
#, lua-format
msgid "%d total matches found"
msgstr "%d個ã®ä¸€è‡´ãŒè¦‹ã¤ã‹ã‚Šã¾ã—ãŸ"
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
-msgstr ""
+#: plugins/cheatfind/init.lua:543
+msgid "Compare"
+msgstr "比較"
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
-msgstr ""
+#: plugins/cheatfind/init.lua:546
+msgid "Left operand"
+msgstr "左オペランド"
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
-msgstr ""
+#: plugins/cheatfind/init.lua:549
+msgid "Current"
+msgstr "ç¾åœ¨"
+
+#: plugins/cheatfind/init.lua:554
+msgid "Operator"
+msgstr "オペレータ"
+
+#: plugins/cheatfind/init.lua:561
+msgid "Left less than right, value is difference"
+msgstr "å·¦ãŒå³ã‚ˆã‚Šå°ã•ãã€å€¤ãŒç•°ãªã‚‹"
-#: plugins/cheatfind/init.lua:676
+#: plugins/cheatfind/init.lua:563
+msgid "Left greater than right, value is difference"
+msgstr "å·¦ãŒå³ã‚ˆã‚Šå¤§ããã€å€¤ãŒç•°ãªã‚‹"
+
+#: plugins/cheatfind/init.lua:565
msgid "Left equal to right"
msgstr "å·¦ã¨å³ãŒä¸€è‡´"
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
-msgstr ""
+#: plugins/cheatfind/init.lua:567
+msgid "Left not equal to right, value is difference"
+msgstr "å·¦ã¨å³ãŒä¸€è‡´ã›ãšã€å€¤ãŒç•°ãªã‚‹"
-#: plugins/cheatfind/init.lua:680
+#: plugins/cheatfind/init.lua:569
msgid "Left equal to right with bitmask"
msgstr "å³ãŒãƒ“ットマスクã‚りã§å·¦ã¨ä¸€è‡´"
-#: plugins/cheatfind/init.lua:682
+#: plugins/cheatfind/init.lua:571
msgid "Left not equal to right with bitmask"
msgstr "å³ãŒãƒ“ットマスクã‚りã§å·¦ã¨ä¸€è‡´ã—ãªã„"
-#: plugins/cheatfind/init.lua:684
+#: plugins/cheatfind/init.lua:573
msgid "Left less than value"
msgstr "å·¦ãŒå€¤ã‚ˆã‚Šã‚‚å°ã•ã„"
-#: plugins/cheatfind/init.lua:686
+#: plugins/cheatfind/init.lua:575
msgid "Left greater than value"
msgstr "å·¦ãŒå€¤ã‚ˆã‚Šã‚‚大ãã„"
-#: plugins/cheatfind/init.lua:688
+#: plugins/cheatfind/init.lua:577
msgid "Left equal to value"
msgstr "å·¦ãŒå€¤ã¨ä¸€è‡´"
-#: plugins/cheatfind/init.lua:690
+#: plugins/cheatfind/init.lua:579
msgid "Left not equal to value"
msgstr "å·¦ãŒå€¤ã¨ä¸€è‡´ã—ãªã„"
-#: plugins/cheatfind/init.lua:712
+#: plugins/cheatfind/init.lua:590
+msgid "Right operand"
+msgstr "å³ã‚ªãƒšãƒ©ãƒ³ãƒ‰"
+
+#: plugins/cheatfind/init.lua:598
msgid "Value"
msgstr "値"
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:719
+#: plugins/cheatfind/init.lua:602
msgid "Any"
msgstr "å…¨ã¦"
-#: plugins/cheatfind/init.lua:725
+#: plugins/cheatfind/init.lua:608
msgid "Data Format"
msgstr "データフォーマット"
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:738
-msgid ""
-"Use this if you want to poke the Slot 1 value (eg. You started with "
-"something but lost it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:740
-msgid ""
-"Use this if you want to poke the Last Slot value (eg. You started without an "
-"item but finally got it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:816
+#: plugins/cheatfind/init.lua:632
msgid "Undo last search -- #"
msgstr "æœ€å¾Œã®æ¤œç´¢ã‚’å–り消㙠-- #"
-#: plugins/cheatfind/init.lua:820
+#: plugins/cheatfind/init.lua:636
msgid "Match block"
msgstr "一致ブロック"
-#: plugins/cheatfind/init.lua:823
+#: plugins/cheatfind/init.lua:639
msgid "All"
msgstr "å…¨ã¦"
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheatfind/init.lua:690
#, lua-format
-msgid "Test Cheat %08X:%02X"
-msgstr ""
+msgid "Test cheat at addr %08X"
+msgstr "アドレス%08Xã§ãƒãƒ¼ãƒˆã‚’テスト"
-#: plugins/cheatfind/init.lua:974
+#: plugins/cheatfind/init.lua:722
msgid "Cheat engine not available"
msgstr "ãƒãƒ¼ãƒˆã‚¨ãƒ³ã‚¸ãƒ³ãŒåˆ©ç”¨ã§ãã¾ã›ã‚“"
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Test"
msgstr "テスト"
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Write"
msgstr "書ãè¾¼ã¿"
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Watch"
msgstr "監視"
-#: plugins/cheatfind/init.lua:1045
+#: plugins/cheatfind/init.lua:788
msgid "Page"
msgstr "ページ"
-#: plugins/cheatfind/init.lua:1063
+#: plugins/cheatfind/init.lua:806
msgid "Clear Watches"
msgstr "監視を消去"
-#: plugins/cheatfind/init.lua:1078
+#: plugins/cheatfind/init.lua:816
msgid "Cheat Finder"
msgstr "ãƒãƒ¼ãƒˆãƒ•ァインダ"
-#: plugins/portname/init.lua:103
+#: plugins/portname/init.lua:69
msgid "Save input names to file"
msgstr "入力åをファイルã«ä¿å­˜"
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
+#: plugins/portname/init.lua:100 plugins/portname/init.lua:105
+#: plugins/portname/init.lua:121
msgid "Failed to save input name file"
msgstr "入力åファイルã®ä¿å­˜ã«å¤±æ•—ã—ã¾ã—ãŸ"
-#: plugins/portname/init.lua:167
+#: plugins/portname/init.lua:133
#, lua-format
msgid "Input port name file saved to %s"
msgstr "入力ãƒãƒ¼ãƒˆåファイルを%sã«ä¿å­˜ã—ã¾ã—ãŸ"
-#: plugins/portname/init.lua:172
+#: plugins/portname/init.lua:138
msgid "Input ports"
msgstr "入力ãƒãƒ¼ãƒˆ"
-#~ msgid "Data cleared and current state saved"
-#~ msgstr "ãƒ‡ãƒ¼ã‚¿ã¯æ¶ˆåŽ»ã•れã€ç¾åœ¨ã®çŠ¶æ…‹ãŒä¿å­˜ã•れã¾ã—ãŸ"
-
-#~ msgid "Current state saved"
-#~ msgstr "ç¾åœ¨ã®çŠ¶æ…‹ãŒä¿å­˜ã•れã¾ã—ãŸ"
-
-#~ msgid "Save current -- #"
-#~ msgstr "状態をä¿å­˜ -- #"
-
-#~ msgid "Compare"
-#~ msgstr "比較"
-
-#~ msgid "Left operand"
-#~ msgstr "左オペランド"
-
-#~ msgid "Current"
-#~ msgstr "ç¾åœ¨"
-
-#~ msgid "Operator"
-#~ msgstr "オペレータ"
-
-#~ msgid "Left less than right, value is difference"
-#~ msgstr "å·¦ãŒå³ã‚ˆã‚Šå°ã•ãã€å€¤ãŒç•°ãªã‚‹"
-
-#~ msgid "Left greater than right, value is difference"
-#~ msgstr "å·¦ãŒå³ã‚ˆã‚Šå¤§ããã€å€¤ãŒç•°ãªã‚‹"
-
-#~ msgid "Left not equal to right, value is difference"
-#~ msgstr "å·¦ã¨å³ãŒä¸€è‡´ã›ãšã€å€¤ãŒç•°ãªã‚‹"
-
-#~ msgid "Right operand"
-#~ msgstr "å³ã‚ªãƒšãƒ©ãƒ³ãƒ‰"
-
-#~ msgid "Test cheat at addr %08X"
-#~ msgstr "アドレス%08Xã§ãƒãƒ¼ãƒˆã‚’テスト"
-
#~ msgid "Roms Audit Pass\tOK\n"
#~ msgstr "ROMæ¤œè¨¼çµæžœ\t正常\n"
diff --git a/language/Korean/strings.po b/language/Korean/strings.po
index d1e2d301ec2..c319be6e526 100644
--- a/language/Korean/strings.po
+++ b/language/Korean/strings.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MAME\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-03-17 13:37+1100\n"
+"POT-Creation-Date: 2018-04-28 15:32+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -18,61 +18,238 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
+#: src/frontend/mame/ui/auditmenu.cpp:96
#, c-format
-msgid "Screen #%d"
-msgstr "화면 #%d"
+msgid "Audit ROMs for %1$u machines marked unavailable?"
+msgstr "현재 ì´ìš©í•  수 없는 %1$u ìž¥ì¹˜ë“¤ì— ëŒ€í•´ ROM 검사를 실시합니까?"
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr "회전"
+#: src/frontend/mame/ui/auditmenu.cpp:99
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
+msgstr "모든 %1$u ìž¥ì¹˜ë“¤ì— ëŒ€í•´ ROM 검사를 실시합니까?"
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr "ë°°ê²½"
+#: src/frontend/mame/ui/auditmenu.cpp:104
+#, c-format
+msgid "(results will be saved to %1$s)"
+msgstr "(결과는 %1$sì— ì €ìž¥ë©ë‹ˆë‹¤)"
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Enabled"
-msgstr "활성"
+#: src/frontend/mame/ui/auditmenu.cpp:130
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
+msgstr ""
+"%3$u %2$u ìž¥ì¹˜ì˜ ROMì„ ê²€ì‚¬ì¤‘...\n"
+"%1$s"
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Disabled"
-msgstr "비활성"
+#: src/frontend/mame/ui/auditmenu.cpp:142
+msgid "Start Audit"
+msgstr "검사 시작"
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr "오버레ì´"
+#: src/frontend/mame/ui/selmenu.cpp:49 src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Snapshots"
+msgstr "스냅샷"
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr "ë² ì ¤"
+#: src/frontend/mame/ui/selmenu.cpp:50 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cabinets"
+msgstr "ìºë¹„ë‹›"
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+#: src/frontend/mame/ui/selmenu.cpp:51
+msgid "Control Panels"
msgstr "조작반"
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
+#: src/frontend/mame/ui/selmenu.cpp:52 src/frontend/mame/ui/dirmenu.cpp:50
+msgid "PCBs"
+msgstr "PCB"
+
+#: src/frontend/mame/ui/selmenu.cpp:53 src/frontend/mame/ui/dirmenu.cpp:47
+msgid "Flyers"
+msgstr "전단지"
+
+#: src/frontend/mame/ui/selmenu.cpp:54 src/frontend/mame/ui/dirmenu.cpp:48
+msgid "Titles"
+msgstr "시작화면"
+
+#: src/frontend/mame/ui/selmenu.cpp:55 src/frontend/mame/ui/dirmenu.cpp:49
+msgid "Ends"
+msgstr "종료화면"
+
+#: src/frontend/mame/ui/selmenu.cpp:56
+msgid "Artwork Preview"
+msgstr "삽화 미리보기"
+
+#: src/frontend/mame/ui/selmenu.cpp:57 src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Bosses"
+msgstr "보스"
+
+#: src/frontend/mame/ui/selmenu.cpp:58 src/frontend/mame/ui/dirmenu.cpp:60
+msgid "Logos"
+msgstr "로고"
+
+#: src/frontend/mame/ui/selmenu.cpp:59 src/frontend/mame/ui/dirmenu.cpp:62
+msgid "Versus"
+msgstr "대전"
+
+#: src/frontend/mame/ui/selmenu.cpp:60
+msgid "Game Over"
+msgstr "게임 오버"
+
+#: src/frontend/mame/ui/selmenu.cpp:61 src/frontend/mame/ui/dirmenu.cpp:59
+msgid "HowTo"
+msgstr "조작법"
+
+#: src/frontend/mame/ui/selmenu.cpp:62 src/frontend/mame/ui/dirmenu.cpp:61
+msgid "Scores"
+msgstr "ì ìˆ˜"
+
+#: src/frontend/mame/ui/selmenu.cpp:63 src/frontend/mame/ui/dirmenu.cpp:57
+msgid "Select"
+msgstr "ì„ íƒ"
+
+#: src/frontend/mame/ui/selmenu.cpp:64 src/frontend/mame/ui/dirmenu.cpp:51
+#: src/frontend/mame/ui/videoopt.cpp:224
msgid "Marquees"
msgstr "ê°„íŒ"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
-msgstr "시야"
+#: src/frontend/mame/ui/selmenu.cpp:65 src/frontend/mame/ui/dirmenu.cpp:63
+msgid "Covers"
+msgstr "표지"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
-msgstr "잘ë¼ë‚´ê¸°"
+#: src/frontend/mame/ui/selmenu.cpp:69
+msgid "Add or remove favorites"
+msgstr "ì¦ê²¨ì°¾ê¸° 추가 ë° ì‚­ì œ"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
-msgstr "ì „ì²´"
+#: src/frontend/mame/ui/selmenu.cpp:70
+msgid "Export displayed list to file"
+msgstr "í‘œì‹œëœ ëª©ë¡ì„ 파ì¼ë¡œ 보내기"
+
+#: src/frontend/mame/ui/selmenu.cpp:71
+msgid "Show DATs view"
+msgstr "DAT 화면 ë³´ì´ê¸°"
+
+#: src/frontend/mame/ui/selmenu.cpp:237
+msgid "Software part selection:"
+msgstr "ì„ íƒí•œ 소프트웨어 요소:"
+
+#: src/frontend/mame/ui/selmenu.cpp:343
+msgid "BIOS selection:"
+msgstr "ë°”ì´ì˜¤ìФ ì„ íƒ:"
+
+#: src/frontend/mame/ui/selmenu.cpp:570 src/frontend/mame/ui/selmenu.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:311
+#, c-format
+msgid "%1$s, %2$-.100s"
+msgstr "%1$s, %2$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:574
+#, c-format
+msgid "Software is clone of: %1$-.100s"
+msgstr "ì´ ì†Œí”„íŠ¸ì›¨ì–´ëŠ” 다ìŒì˜ 복제입니다: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:576
+msgid "Software is parent"
+msgstr "ì´ ì†Œí”„íŠ¸ì›¨ì–´ëŠ” ì›í˜•입니다"
+
+#: src/frontend/mame/ui/selmenu.cpp:581
+msgid "Supported: No"
+msgstr "ì§€ì›ì—¬ë¶€: 아니오"
+
+#: src/frontend/mame/ui/selmenu.cpp:586
+msgid "Supported: Partial"
+msgstr "ì§€ì›ì—¬ë¶€: 부분ì "
+
+#: src/frontend/mame/ui/selmenu.cpp:591
+msgid "Supported: Yes"
+msgstr "ì§€ì›ì—¬ë¶€: 예"
+
+#: src/frontend/mame/ui/selmenu.cpp:596
+#, c-format
+msgid "romset: %1$-.100s"
+msgstr "롬셋: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:612
+#, c-format
+msgid "Driver is clone of: %1$-.100s"
+msgstr "ì´ ë“œë¼ì´ë²„는 다ìŒì˜ 복제입니다: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:614
+msgid "Driver is parent"
+msgstr "ì´ ë“œë¼ì´ë²„는 ì›í˜•입니다"
+
+#: src/frontend/mame/ui/selmenu.cpp:619
+#: src/frontend/mame/ui/simpleselgame.cpp:330
+msgid "Overall: NOT WORKING"
+msgstr "종합: ìž‘ë™ ë¶ˆê°€"
+
+#: src/frontend/mame/ui/selmenu.cpp:621
+#: src/frontend/mame/ui/simpleselgame.cpp:332
+msgid "Overall: Unemulated Protection"
+msgstr "종합: 보호처리 ì—뮬레ì´ì…˜ 미완"
+
+#: src/frontend/mame/ui/selmenu.cpp:623
+#: src/frontend/mame/ui/simpleselgame.cpp:334
+msgid "Overall: Working"
+msgstr "종합: ìž‘ë™ ê°€ëŠ¥"
+
+#: src/frontend/mame/ui/selmenu.cpp:627
+#: src/frontend/mame/ui/simpleselgame.cpp:338
+msgid "Graphics: Unimplemented, "
+msgstr "그래픽: ì ìš© 안 ë¨,"
+
+#: src/frontend/mame/ui/selmenu.cpp:629
+#: src/frontend/mame/ui/simpleselgame.cpp:340
+msgid "Graphics: Imperfect, "
+msgstr "그래픽: 불완전,"
+
+#: src/frontend/mame/ui/selmenu.cpp:631
+#: src/frontend/mame/ui/simpleselgame.cpp:342
+msgid "Graphics: OK, "
+msgstr "그래픽: 양호,"
+
+#: src/frontend/mame/ui/selmenu.cpp:634
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+msgid "Sound: None"
+msgstr "사운드: ì—†ìŒ"
+
+#: src/frontend/mame/ui/selmenu.cpp:636
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+msgid "Sound: Unimplemented"
+msgstr "사운드: ì ìš© 안 ë¨"
+
+#: src/frontend/mame/ui/selmenu.cpp:638
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+msgid "Sound: Imperfect"
+msgstr "사운드: 불완전"
+
+#: src/frontend/mame/ui/selmenu.cpp:640
+#: src/frontend/mame/ui/simpleselgame.cpp:351
+msgid "Sound: OK"
+msgstr "사운드: 양호"
+
+#: src/frontend/mame/ui/selmenu.cpp:650
+#, c-format
+msgid "%1$s %2$s"
+msgstr "%1$s %2$s"
+
+#: src/frontend/mame/ui/selmenu.cpp:1975
+msgid "Images"
+msgstr "사진"
+
+#: src/frontend/mame/ui/selmenu.cpp:1976
+msgid "Infos"
+msgstr "ì •ë³´"
+
+#: src/frontend/mame/ui/selmenu.cpp:2386 src/frontend/mame/ui/miscmenu.cpp:826
+msgid " (default)"
+msgstr " (기본)"
+
+#: src/frontend/mame/ui/selmenu.cpp:2454
+msgid "Usage"
+msgstr "사용"
+
+#: src/frontend/mame/ui/selmenu.cpp:2489
+msgid "General Info"
+msgstr "ì¼ë°˜ ì •ë³´"
#: src/frontend/mame/ui/dirmenu.cpp:35
msgid "ROMs"
@@ -114,30 +291,6 @@ msgstr "ì•„ì´ì½˜"
msgid "Cheats"
msgstr "치트"
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
-msgstr "스냅샷"
-
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
-msgstr "ìºë¹„ë‹›"
-
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
-msgstr "전단지"
-
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
-msgstr "시작화면"
-
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
-msgstr "종료화면"
-
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
-msgstr "PCB"
-
#: src/frontend/mame/ui/dirmenu.cpp:52
msgid "Controls Panels"
msgstr "조작반"
@@ -150,42 +303,14 @@ msgstr "조준선"
msgid "Artworks"
msgstr "삽화"
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
-msgstr "보스"
-
#: src/frontend/mame/ui/dirmenu.cpp:56
msgid "Artworks Preview"
msgstr "삽화 미리보기"
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
-msgstr "ì„ íƒ"
-
#: src/frontend/mame/ui/dirmenu.cpp:58
msgid "GameOver"
msgstr "게임오버"
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
-msgstr "조작법"
-
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
-msgstr "로고"
-
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
-msgstr "ì ìˆ˜"
-
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
-msgstr "대전"
-
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
-msgstr "표지"
-
#: src/frontend/mame/ui/dirmenu.cpp:116
msgid "Folders Setup"
msgstr "í´ë” 정리"
@@ -226,14 +351,275 @@ msgstr "TABì„ ëˆ„ë¥´ë©´ ê²°ì •ë©ë‹ˆë‹¤"
msgid "Remove %1$s Folder"
msgstr "%1$s í´ë” 제거"
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
-msgstr "ì„ íƒ ëª©ë¡ - 검색: "
+#: src/frontend/mame/ui/info.cpp:30
+msgid "protection"
+msgstr "보호처리"
+
+#: src/frontend/mame/ui/info.cpp:31
+msgid "color palette"
+msgstr "컬러 팔레트"
+
+#: src/frontend/mame/ui/info.cpp:32
+msgid "graphics"
+msgstr "그래픽"
+
+#: src/frontend/mame/ui/info.cpp:33
+msgid "sound"
+msgstr "사운드"
+
+#: src/frontend/mame/ui/info.cpp:34
+msgid "controls"
+msgstr "컨트롤"
+
+#: src/frontend/mame/ui/info.cpp:35
+msgid "keyboard"
+msgstr "키보드"
-#: src/frontend/mame/ui/selector.cpp:123
+#: src/frontend/mame/ui/info.cpp:36
+msgid "mouse"
+msgstr "마우스"
+
+#: src/frontend/mame/ui/info.cpp:37
+msgid "microphone"
+msgstr "마ì´í¬ë¡œí°"
+
+#: src/frontend/mame/ui/info.cpp:38
+msgid "camera"
+msgstr "ì¹´ë©”ë¼"
+
+#: src/frontend/mame/ui/info.cpp:39
+msgid "disk"
+msgstr "디스í¬"
+
+#: src/frontend/mame/ui/info.cpp:40
+msgid "printer"
+msgstr "프린터"
+
+#: src/frontend/mame/ui/info.cpp:41
+msgid "LAN"
+msgstr "LAN"
+
+#: src/frontend/mame/ui/info.cpp:42
+msgid "WAN"
+msgstr "WAN"
+
+#: src/frontend/mame/ui/info.cpp:43
+msgid "timing"
+msgstr "타ì´ë°"
+
+#: src/frontend/mame/ui/info.cpp:180
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
+msgstr ""
+"ì´ ìž¥ì¹˜ì— í•„ìš”í•œ ROM/CHD ì¼ë¶€ê°€ 정확하지 않습니다. 장치가 제대로 ìž‘ë™í•˜ì§€ 않"
+"ì„ ìˆ˜ 있습니다.\n"
+
+#: src/frontend/mame/ui/info.cpp:190
+msgid ""
+"There are known problems with this machine\n"
+"\n"
+msgstr ""
+"ì´ ìž¥ì¹˜ì— ë‹¤ìŒê³¼ ê°™ì€ ë¬¸ì œê°€ 있습니다\n"
+"\n"
+
+#: src/frontend/mame/ui/info.cpp:195
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+msgstr "ì´ ìž¥ì¹˜ì— í•„ìš”í•œ ROM/CHD ì¼ë¶€ê°€ 정확하게 ë¤í”„ë˜ì§€ 않았습니다.\n"
+
+#: src/frontend/mame/ui/info.cpp:200
+msgid "Completely unemulated features: "
+msgstr "ì—뮬레ì´ì…˜ì´ ì ìš© 안 ëœ íŠ¹ì„±: "
+
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
#, c-format
-msgid "Double click or press %1$s to select"
-msgstr "ë”블 í´ë¦­ í˜¹ì€ %1$s 키를 눌러 ì„ íƒ"
+msgid "%s"
+msgstr "%s"
+
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#: src/frontend/mame/ui/info.cpp:267
+#, c-format
+msgid ", %s"
+msgstr ", %s"
+
+#: src/frontend/mame/ui/info.cpp:216
+msgid "Imperfectly emulated features: "
+msgstr "ì—뮬레ì´ì…˜ì´ 불완전한 특성: "
+
+#: src/frontend/mame/ui/info.cpp:231
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr "ì¹µí…Œì¼ ëª¨ë“œì˜ í™”ë©´ ë°˜ì „ì´ ì§€ì›ë˜ì§€ 않습니다.\n"
+
+#: src/frontend/mame/ui/info.cpp:233
+msgid "This machine requires external artwork files.\n"
+msgstr "ì´ ìž¥ì¹˜ëŠ” 외부 ì´ë¯¸ì§€ 파ì¼ì„ 필요로 합니다.\n"
+
+#: src/frontend/mame/ui/info.cpp:235
+msgid ""
+"This machine was never completed. It may exhibit strange behavior or missing "
+"elements that are not bugs in the emulation.\n"
+msgstr ""
+"ì´ ìž¥ì¹˜ëŠ” ì™„ì œí’ˆì´ ì•„ë‹™ë‹ˆë‹¤. ì—뮬레ì´ì…˜ ì´ì™¸ì— 장치 ìžì²´ì˜ 결함ì—서 ë¹„ë¡¯ëœ ë¹„"
+"ì •ìƒì ì¸ 오류나 마ê°ì´ 안 ëœ ìš”ì†Œê°€ 나타날 수 있습니다.\n"
+
+#: src/frontend/mame/ui/info.cpp:237
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
+msgstr ""
+"ì´ ìž¥ì¹˜ì—” 사운드 하드웨어가 없기 ë•Œë¬¸ì— MAMEì€ ì†Œë¦¬ë¥¼ 출력하지 않습니다. ì´"
+"는 오작ë™ì´ 아닙니다.\n"
+
+#: src/frontend/mame/ui/info.cpp:241
+msgid ""
+"\n"
+"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
+"complete. There is nothing you can do to fix this problem except wait for "
+"the developers to improve the emulation.\n"
+msgstr ""
+"\n"
+"ì´ ìž¥ì¹˜ëŠ” ìž‘ë™ë˜ì§€ 않습니다. ì´ ìž¥ì¹˜ë¥¼ 실행하기 위한 ì—뮬레ì´ì…˜ì´ ì•„ì§ ì™„ì„±ë˜"
+"ì§€ 않았습니다. ì´ ìž¥ì¹˜ë¥¼ 사용하기 위해선 개발ìžë“¤ì´ ì—뮬레ì´ì…˜ì„ 개선할 때까"
+"ì§€ 기다리는 ìˆ˜ë°–ì— ì—†ìŠµë‹ˆë‹¤.\n"
+
+#: src/frontend/mame/ui/info.cpp:243
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they requires physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
+msgstr ""
+"\n"
+"ì´ ìž¥ì¹˜ì˜ ìš”ì†Œ ì¼ë¶€ëŠ” ì§ì ‘ì ì¸ ìƒí˜¸ìž‘ìš©ì´ë‚˜ 별ë„ì˜ ë³´ì¡°ìž¥ë¹„ì— ì˜ì¡´í•˜ê³  있습니"
+"다. ë•Œë¬¸ì— ì—뮬레ì´ì…˜ë§Œìœ¼ë¡œ ì´ ìž¥ì¹˜ë¥¼ 완벽히 재현하는 ê²ƒì€ ê°€ëŠ¥í•˜ì§€ 않습니"
+"다.\n"
+
+#: src/frontend/mame/ui/info.cpp:265
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
+msgstr ""
+"\n"
+"\n"
+"ì´ ìž¥ì¹˜ëŠ” ìž‘ë™ê°€ëŠ¥í•œ 복제íŒì´ 있습니다: %s"
+
+#: src/frontend/mame/ui/info.cpp:278
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+"\n"
+"\n"
+"아무 키를 누르면 진행합니다"
+
+#: src/frontend/mame/ui/info.cpp:293
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
+msgstr ""
+"%1$s\n"
+"%2$s %3$s\n"
+"드ë¼ì´ë²„: %4$s\n"
+"\n"
+"CPU:\n"
+
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "MHz"
+msgstr "MHz"
+
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "kHz"
+msgstr "kHZ"
+
+#: src/frontend/mame/ui/info.cpp:342
+msgid ""
+"\n"
+"Sound:\n"
+msgstr ""
+"\n"
+"사운드:\n"
+
+#: src/frontend/mame/ui/info.cpp:370
+msgid ""
+"\n"
+"Video:\n"
+msgstr ""
+"\n"
+"비디오:\n"
+
+#: src/frontend/mame/ui/info.cpp:374
+msgid "None\n"
+msgstr "ì—†ìŒ\n"
+
+#: src/frontend/mame/ui/info.cpp:381
+msgid "Vector"
+msgstr "벡터"
+
+#: src/frontend/mame/ui/info.cpp:392
+#, c-format
+msgid "%1$s: %2$s\n"
+msgstr "%1$s: %2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:392
+msgid "%2$s\n"
+msgstr "%2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:438
+#, c-format
+msgid "Screen '%1$s'"
+msgstr "화면 '%1$s'"
+
+#: src/frontend/mame/ui/info.cpp:440
+msgid "Screen"
+msgstr "화면"
+
+#: src/frontend/mame/ui/info.cpp:525
+msgid "Not supported"
+msgstr "ì§€ì› ì•ˆ 함"
+
+#: src/frontend/mame/ui/info.cpp:528
+msgid "Partially supported"
+msgstr "부분ì ìœ¼ë¡œ ì§€ì›í•¨"
+
+#: src/frontend/mame/ui/info.cpp:536
+msgid "[empty]"
+msgstr "[공백]"
+
+#: src/frontend/mame/ui/optsmenu.cpp:193
+msgid "Filter"
+msgstr "í•„í„°"
+
+#: src/frontend/mame/ui/optsmenu.cpp:206
+msgid "Customize UI"
+msgstr "UI 꾸미기"
+
+#: src/frontend/mame/ui/optsmenu.cpp:207
+msgid "Configure Directories"
+msgstr "디렉토리 환경설정"
+
+#: src/frontend/mame/ui/optsmenu.cpp:210 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
+msgstr "사운드 설정"
+
+#: src/frontend/mame/ui/optsmenu.cpp:213
+msgid "General Inputs"
+msgstr "ì¼ë°˜ ìž…ë ¥ 설정"
+
+#: src/frontend/mame/ui/optsmenu.cpp:216
+msgid "Save Configuration"
+msgstr "환경설정 저장"
+
+#: src/frontend/mame/ui/optsmenu.cpp:228
+msgid "Settings"
+msgstr "설정"
#: src/frontend/mame/ui/tapectrl.cpp:85
msgid "stopped"
@@ -275,8 +661,30 @@ msgstr "ë˜ê°ê¸°"
msgid "Fast Forward"
msgstr "빨리ê°ê¸°"
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
-#: src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/inputmap.cpp:53
+msgid "User Interface"
+msgstr "ì‚¬ìš©ìž ì¸í„°íŽ˜ì´ìФ"
+
+#: src/frontend/mame/ui/inputmap.cpp:59
+msgid "Other Controls"
+msgstr "기타 조작"
+
+#: src/frontend/mame/ui/inputmap.cpp:628 src/frontend/mame/ui/miscmenu.cpp:96
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr "리셋"
+
+#: src/frontend/mame/ui/selector.cpp:116
+msgid "Selection List - Search: "
+msgstr "ì„ íƒ ëª©ë¡ - 검색: "
+
+#: src/frontend/mame/ui/selector.cpp:124
+#, c-format
+msgid "Double click or press %1$s to select"
+msgstr "ë”블 í´ë¦­ í˜¹ì€ %1$s 키를 눌러 ì„ íƒ"
+
+#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/filesel.cpp:256
msgid "[empty slot]"
msgstr "[빈 칸]"
@@ -317,182 +725,6 @@ msgstr "소프트웨어 사용"
msgid "Revision: "
msgstr "개정: "
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
-msgstr "ê·¸ 파ì¼ì´ ì´ë¯¸ 있습니다. ë®ì–´ì“°ê² ìŠµë‹ˆê¹Œ?"
-
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
-msgstr "아니오"
-
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
-msgstr "예"
-
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
-msgstr "새 ì´ë¯¸ì§€ ì´ë¦„:"
-
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
-msgstr "ì´ë¯¸ì§€ 형ì‹:"
-
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
-msgstr "ìƒì„±"
-
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
-msgstr "íŒŒì¼ í™•ìž¥ìžë„ 입력하십시오"
-
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
-msgstr "ì´ë¯¸ì§€ í˜•ì‹ ì„ íƒ"
-
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
-msgstr "ìž…ë ¥ (ì¼ë°˜)"
-
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
-msgstr "입력 (현재 장치)"
-
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
-msgstr "아날로그 조작"
-
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
-msgstr "DIP 스위치"
-
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
-msgstr "장치 환경설정"
-
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
-msgstr "부가 정보"
-
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
-msgstr "장치 정보"
-
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
-msgstr "ì´ë¯¸ì§€ ì •ë³´"
-
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
-msgstr "íŒŒì¼ ê´€ë¦¬ìž"
-
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
-msgstr "í…Œì´í”„ ì¡°ìž‘"
-
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
-msgstr "유사 터미ë„"
-
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
-msgstr "ë°”ì´ì˜¤ìФ ì„ íƒ"
-
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
-msgstr "슬롯 장치"
-
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
-msgstr "바코드 ì¸ì‹ê¸°"
-
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
-msgstr "ë„¤íŠ¸ì›Œí¬ ìž¥ì¹˜"
-
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
-msgstr "키보드 모드"
-
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
-msgstr "슬ë¼ì´ë” ì¡°ìž‘"
-
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
-msgstr "비디오 설정"
-
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
-msgstr "조준선 설정"
-
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
-msgstr "치트"
-
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
-msgstr "í”ŒëŸ¬ê·¸ì¸ ì„¤ì •"
-
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
-msgstr "외부 DAT 화면"
-
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
-msgstr "ì¦ê²¨ì°¾ê¸°ì— 추가"
-
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
-msgstr "ì¦ê²¨ì°¾ê¸°ì—서 ì‚­ì œ"
-
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
-msgstr "새로운 장치 ì„ íƒ"
-
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
-msgstr "새 바코드:"
-
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
-msgstr "바코드 입력"
-
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
-msgstr "ë°”ì½”ë“œì˜ ê¸¸ì´ê°€ ë§žì§€ 않습니다!"
-
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
-msgstr "[실패]"
-
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
-msgstr "사운드 설정"
-
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
-msgstr "ì¼ë°˜ ìž…ë ¥ 설정"
-
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
-msgstr "환경설정 저장"
-
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
-msgstr "설정"
-
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
-msgstr "í•„í„°"
-
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
-msgstr "UI 꾸미기"
-
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
-msgstr "디렉토리 환경설정"
-
#: src/frontend/mame/ui/simpleselgame.cpp:149
msgid ""
"The selected game is missing one or more required ROM or CHD images. Please "
@@ -505,7 +737,7 @@ msgstr ""
"\n"
"아무 키를 누르면 진행합니다."
-#: src/frontend/mame/ui/simpleselgame.cpp:247
+#: src/frontend/mame/ui/simpleselgame.cpp:241
#, c-format
msgid ""
"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
@@ -518,328 +750,197 @@ msgstr ""
"ì´ë²ˆì´ 처ìŒìœ¼ë¡œ 사용하는 것ì´ë¼ë©´ config.txt 파ì¼ì— ì ížŒ 문서 디렉토리를 ë”°"
"ë¼ %2$s í™˜ê²½ì„¤ì •ì— ê´€í•œ 정보를 찾아 참고하십시오."
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:271
+#: src/frontend/mame/ui/selgame.cpp:436
msgid "Configure Options"
msgstr "옵션 환경설정"
-#: src/frontend/mame/ui/simpleselgame.cpp:298
+#: src/frontend/mame/ui/simpleselgame.cpp:292
#, c-format
msgid "Type name or select: %1$s_"
msgstr "새 ì´ë¦„ì„ ì§“ê±°ë‚˜ ì„ íƒí•˜ì‹­ì‹œì˜¤: %1$s_"
-#: src/frontend/mame/ui/simpleselgame.cpp:300
+#: src/frontend/mame/ui/simpleselgame.cpp:294
msgid "Type name or select: (random)"
msgstr "새 ì´ë¦„ì„ ì§“ê±°ë‚˜ ì„ íƒí•˜ì‹­ì‹œì˜¤: (무작위)"
-#: src/frontend/mame/ui/simpleselgame.cpp:314
-#: src/frontend/mame/ui/selsoft.cpp:652 src/frontend/mame/ui/selsoft.cpp:659
+#: src/frontend/mame/ui/simpleselgame.cpp:308
+#: src/frontend/mame/ui/selsoft.cpp:564 src/frontend/mame/ui/selsoft.cpp:571
#, c-format
msgid "%1$-.100s"
msgstr "%1$-.100s"
-#: src/frontend/mame/ui/simpleselgame.cpp:317
-#: src/frontend/mame/ui/selmenu.cpp:618 src/frontend/mame/ui/selmenu.cpp:654
-#, c-format
-msgid "%1$s, %2$-.100s"
-msgstr "%1$s, %2$-.100s"
-
-#: src/frontend/mame/ui/simpleselgame.cpp:320
+#: src/frontend/mame/ui/simpleselgame.cpp:314
#, c-format
msgid "Driver: %1$-.100s"
msgstr "드ë¼ì´ë²„: %1$-.100s"
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
-msgstr "종합: ìž‘ë™ ë¶ˆê°€"
+#: src/frontend/mame/ui/videoopt.cpp:56
+#, c-format
+msgid "Screen #%d"
+msgstr "화면 #%d"
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
-msgstr "종합: 보호처리 ì—뮬레ì´ì…˜ 미완"
+#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
+msgid "Rotate"
+msgstr "회전"
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
-msgstr "종합: ìž‘ë™ ê°€ëŠ¥"
+#: src/frontend/mame/ui/videoopt.cpp:208
+msgid "Backdrops"
+msgstr "ë°°ê²½"
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
-msgstr "그래픽: ì ìš© 안 ë¨,"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Enabled"
+msgstr "활성"
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
-msgstr "그래픽: 불완전,"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Disabled"
+msgstr "비활성"
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
-msgstr "그래픽: 양호,"
+#: src/frontend/mame/ui/videoopt.cpp:212
+msgid "Overlays"
+msgstr "오버레ì´"
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
-msgstr "사운드: ì—†ìŒ"
+#: src/frontend/mame/ui/videoopt.cpp:216
+msgid "Bezels"
+msgstr "ë² ì ¤"
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
-msgstr "사운드: ì ìš© 안 ë¨"
+#: src/frontend/mame/ui/videoopt.cpp:220
+msgid "CPanels"
+msgstr "조작반"
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
-msgstr "사운드: 불완전"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "View"
+msgstr "시야"
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
-msgstr "사운드: 양호"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cropped"
+msgstr "잘ë¼ë‚´ê¸°"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
-msgstr "ìƒíƒœ 불러오기"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Full"
+msgstr "ì „ì²´"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
-msgstr "불러올 ìƒíƒœì˜ 위치 ì„ íƒ"
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
+msgstr "ê·¸ 파ì¼ì´ ì´ë¯¸ 있습니다. ë®ì–´ì“°ê² ìŠµë‹ˆê¹Œ?"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
-msgstr "ìƒíƒœ 저장하기"
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1047
+msgid "No"
+msgstr "아니오"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
-msgstr "저장할 ìƒíƒœì˜ 위치 ì„ íƒ"
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1047
+msgid "Yes"
+msgstr "예"
-#: src/frontend/mame/ui/ui.cpp:337
-msgid "This driver requires images to be loaded in the following device(s): "
-msgstr ""
-"ì´ ë“œë¼ì´ë²„를 사용하기 위해선 ë‹¤ìŒ ìž¥ì¹˜(들)ì— ì´ë¯¸ì§€ë¥¼ 불러와야 합니다: "
+#: src/frontend/mame/ui/filecreate.cpp:171
+msgid "New Image Name:"
+msgstr "새 ì´ë¯¸ì§€ ì´ë¦„:"
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
-msgstr "키보드 ì—뮬레ì´ì…˜ 현황"
+#: src/frontend/mame/ui/filecreate.cpp:177
+msgid "Image Format:"
+msgstr "ì´ë¯¸ì§€ 형ì‹:"
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
-msgstr "모드: ë¶€ë¶„ì  ì—뮬레ì´ì…˜"
+#: src/frontend/mame/ui/filecreate.cpp:183
+msgid "Create"
+msgstr "ìƒì„±"
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
-msgstr "UI: 활성화"
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr "íŒŒì¼ í™•ìž¥ìžë„ 입력하십시오"
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
-msgstr "**ScrLock 키로 전환**"
+#: src/frontend/mame/ui/filecreate.cpp:266
+msgid "Select image format"
+msgstr "ì´ë¯¸ì§€ í˜•ì‹ ì„ íƒ"
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
-msgstr "모드: ì „ì²´ ì—뮬레ì´ì…˜"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Keyboard Mode:"
+msgstr "키보드 모드:"
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
-msgstr "UI: 비활성화"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Natural"
+msgstr "실재"
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
-msgstr "ìžë™ì—°ì‚¬ 사용 불가"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Emulated"
+msgstr "ì—뮬레ì´ì…˜"
-#: src/frontend/mame/ui/ui.cpp:1302
+#: src/frontend/mame/ui/miscmenu.cpp:236
#, c-format
msgid ""
-"Are you sure you want to quit?\n"
+"Uptime: %1$d:%2$02d:%3$02d\n"
"\n"
-"Press ''%1$s'' to quit,\n"
-"Press ''%2$s'' to return to emulation."
msgstr ""
-"ì •ë§ë¡œ 종료하겠습니까?\n"
+"ê°€ë™ ì‹œê°„: %1$d:%2$02d:%3$02d\n"
"\n"
-"''%1$s''를 누르면 종료.\n"
-"''%2$s''를 누르면 ì›ëž˜ 화면으로 복귀."
-
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
-msgstr "마스터 볼륨"
-
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
-msgstr "%1$s 볼륨"
-
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
-msgstr "CPU %1$s 오버í´ëŸ­"
-
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
-msgstr "%1$s 사운드 오버í´ëŸ­"
-
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
-msgstr "%1$s ìž¬ìƒ ë¹ˆë„"
-
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
-msgstr "%1$s 명ë„"
-
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
-msgstr "%1$s 대비"
-
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
-msgstr "%1$s ê°ë§ˆê°’"
-
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
-msgstr "%1$s 가로방향 연장"
-
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
-msgstr "%1$s 가로방향 위치"
-
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
-msgstr "%1$s 세로방향 연장"
-
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
-msgstr "%1$s 세로방향 위치"
-
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
-msgstr "ë ˆì´ì €ë””ìŠ¤í¬ '%1$s' 가로방향 연장"
-
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
-msgstr "ë ˆì´ì €ë””ìŠ¤í¬ '%1$s' 가로방향 위치"
-
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
-msgstr "ë ˆì´ì €ë””ìŠ¤í¬ '%1$s' 세로방향 연장"
-
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr "ë ˆì´ì €ë””ìŠ¤í¬ '%1$s' 세로방향 위치"
-
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
-msgstr "벡터 깜빡임"
-
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
-msgstr "ì„  í­ ìµœì†ŒëŸ‰"
-
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
-msgstr "ì„  í­ ìµœëŒ€ëŸ‰"
-
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
-msgstr "ì„  ê°•ë„ ë¹„ì¤‘"
-
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr "조준선 í¬ê¸° %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
-msgstr "X"
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
-msgstr "Y"
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
-msgstr "조준선 ì˜ì  %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1601
+#: src/frontend/mame/ui/miscmenu.cpp:238
#, c-format
-msgid "%1$3ddB"
-msgstr "%1$3ddB"
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
+msgstr ""
+"ê°€ë™ ì‹œê°„: %1$d:%2$02d\n"
+"\n"
-#: src/frontend/mame/ui/ui.cpp:1645
+#: src/frontend/mame/ui/miscmenu.cpp:242
#, c-format
-msgid "%1$d%%"
-msgstr "%1$d%%"
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
+msgstr ""
+"티켓 발행: %1$d\n"
+"\n"
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
-msgstr "%1$3.0f%%"
+#: src/frontend/mame/ui/miscmenu.cpp:253
+msgid "Coin %1$c: NA%3$s\n"
+msgstr "ì½”ì¸ %1$c: NA%3$s\n"
-#: src/frontend/mame/ui/ui.cpp:1685
+#: src/frontend/mame/ui/miscmenu.cpp:253
#, c-format
-msgid "%1$.3ffps"
-msgstr "%1$.3ffps"
+msgid "Coin %1$c: %2$d%3$s\n"
+msgstr "ì½”ì¸ %1$c: %2$d%3$s\n"
-#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
-#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
-#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
-#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
-#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
-#: src/frontend/mame/ui/ui.cpp:1927
-#, c-format
-msgid "%1$.3f"
-msgstr "%1$.3f"
+#: src/frontend/mame/ui/miscmenu.cpp:256
+msgid " (locked)"
+msgstr " (ìž ê¹€)"
-#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
-#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
-#, c-format
-msgid "%1$1.2f"
-msgstr "%1$1.2f"
+#: src/frontend/mame/ui/miscmenu.cpp:503
+msgid "Visible Delay"
+msgstr "표시 지연"
-#: src/frontend/mame/ui/ui.cpp:2005
+#: src/frontend/mame/ui/miscmenu.cpp:601
#, c-format
-msgid "Crosshair Scale X %1$1.3f"
-msgstr "조준선 í¬ê¸° X %1$1.3f"
+msgid "%s.xml saved under ui folder."
+msgstr "%s.xmlê°€ ui í´ë”ì— ì €ìž¥ë습니다.."
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
-msgstr "조준선 í¬ê¸° Y %1$1.3f"
+#: src/frontend/mame/ui/miscmenu.cpp:627
+msgid "Name: Description:\n"
+msgstr "ì´ë¦„: 설명:\n"
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/miscmenu.cpp:638
#, c-format
-msgid "Crosshair Offset X %1$1.3f"
-msgstr "조준선 ì˜ì  X %1$1.3f"
+msgid "%s.txt saved under ui folder."
+msgstr "%s.txtê°€ ui í´ë”ì— ì €ìž¥ë습니다.."
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
-msgstr "조준선 ì˜ì  Y %1$1.3f"
+#: src/frontend/mame/ui/miscmenu.cpp:655
+msgid "Export list in XML format (like -listxml)"
+msgstr "XML 형ì‹ìœ¼ë¡œ 명단 보내기 (-listxml)"
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
-msgstr "**ui.ini 저장 오류**"
+#: src/frontend/mame/ui/miscmenu.cpp:656
+msgid "Export list in XML format (like -listxml, but exclude devices)"
+msgstr "XML 형ì‹ìœ¼ë¡œ 명단 보내기 (-listxml, 장치 제외)"
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
-msgstr "**%s.ini 저장 오류**"
+#: src/frontend/mame/ui/miscmenu.cpp:657
+msgid "Export list in TXT format (like -listfull)"
+msgstr "TXT 형ì‹ìœ¼ë¡œ 명단 보내기 (-listfull)"
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/miscmenu.cpp:710 src/frontend/mame/ui/ui.cpp:2230
msgid ""
"\n"
" Configuration saved \n"
@@ -849,339 +950,160 @@ msgstr ""
" 환경설정 ì €ìž¥ë¨ \n"
"\n"
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
-msgid ""
-"Cheat Comment:\n"
-"%s"
-msgstr ""
-"치트 설명:\n"
-"%s"
-
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
-msgstr "모든 치트 다시 불러오기 완료"
-
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
-msgstr "ìžë™ì—°ì‚¬ 설정"
-
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
-msgstr "전부 리셋"
-
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
-msgstr "전부 불러오기"
-
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
-msgstr "ìžë™ì—°ì‚¬ 현황"
-
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
-msgstr "ì´ ìž¥ì¹˜ì—서 ë²„íŠ¼ì„ ì°¾ì„ ìˆ˜ 없습니다!"
-
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
-msgstr "ìžë™ì—°ì‚¬ 간격"
-
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
-#, c-format
-msgid ""
-"%s\n"
-" added to favorites list."
-msgstr ""
-"%s\n"
-" ì¦ê²¨ì°¾ê¸° 목ë¡ì— 추가ë습니다."
-
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
-#, c-format
-msgid ""
-"%s\n"
-" removed from favorites list."
-msgstr ""
-"%s\n"
-" ì¦ê²¨ì°¾ê¸° 목ë¡ì—서 ì‚­ì œë습니다."
-
-#: src/frontend/mame/ui/selsoft.cpp:507
-msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
-"\n"
-msgstr ""
-"ì´ ì†Œí”„íŠ¸ì›¨ì–´ì— í•„ìš”í•œ íŒŒì¼ ì¼ë¶€ê°€ 존재하지 않습니다. 다른 소프트웨어를 ì„ íƒ"
-"하십시오.\n"
-"\n"
-
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
-msgstr "아무 키를 누르면 진행합니다."
-
-#: src/frontend/mame/ui/selsoft.cpp:637
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
-msgstr "%1$s %2$s ( %3$d / %4$d 소프트웨어 패키지 )"
-
-#: src/frontend/mame/ui/selsoft.cpp:638
-#, c-format
-msgid "Driver: \"%1$s\" software list "
-msgstr "드ë¼ì´ë²„: \"%1$s\" 소프트웨어 ëª©ë¡ "
-
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
-#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
-msgstr "%1$s: %2$s - 검색: %3$s_"
-
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
-#, c-format
-msgid "Search: %1$s_"
-msgstr "검색: %1$s_"
-
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
-msgid "Unfiltered"
-msgstr "필터 미사용"
-
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
-msgid "Available"
-msgstr "사용 가능"
-
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
-msgid "Unavailable"
-msgstr "사용 불가"
-
-#: src/frontend/mame/ui/utils.cpp:63
-msgid "Working"
-msgstr "ìž‘ë™í•¨"
-
-#: src/frontend/mame/ui/utils.cpp:64
-msgid "Not Working"
-msgstr "ìž‘ë™ ë¶ˆê°€"
-
-#: src/frontend/mame/ui/utils.cpp:65
-msgid "Mechanical"
-msgstr "기계ì "
-
-#: src/frontend/mame/ui/utils.cpp:66
-msgid "Not Mechanical"
-msgstr "비기계ì "
-
-#: src/frontend/mame/ui/utils.cpp:67
-msgid "Category"
-msgstr "분류"
-
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
-msgid "Favorites"
-msgstr "ì¦ê²¨ì°¾ê¸°"
-
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/miscmenu.cpp:760 src/frontend/mame/ui/utils.cpp:66
msgid "BIOS"
msgstr "ë°”ì´ì˜¤ìФ"
-#: src/frontend/mame/ui/utils.cpp:70
-msgid "Not BIOS"
-msgstr "ë°”ì´ì˜¤ìФ 아님"
-
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
-msgid "Parents"
-msgstr "ì›í˜•"
-
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
-msgid "Clones"
-msgstr "복제"
-
-#: src/frontend/mame/ui/utils.cpp:73
-msgid "Manufacturer"
-msgstr "제조사"
-
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
-msgid "Year"
-msgstr "ì—°ë„"
-
-#: src/frontend/mame/ui/utils.cpp:75
-msgid "Save Supported"
-msgstr "저장 ì§€ì›"
-
-#: src/frontend/mame/ui/utils.cpp:76
-msgid "Save Unsupported"
-msgstr "저장 ì§€ì› ì•ˆ ë¨"
-
-#: src/frontend/mame/ui/utils.cpp:77
-msgid "CHD Required"
-msgstr "CHD í•„ìš”"
-
-#: src/frontend/mame/ui/utils.cpp:78
-msgid "No CHD Required"
-msgstr "CHD 필요없ìŒ"
-
-#: src/frontend/mame/ui/utils.cpp:79
-msgid "Vertical Screen"
-msgstr "세로 화면"
-
-#: src/frontend/mame/ui/utils.cpp:80
-msgid "Horizontal Screen"
-msgstr "가로 화면"
-
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
-msgid "Custom Filter"
-msgstr "ì‚¬ìš©ìž ì œìž‘ í•„í„°"
-
-#: src/frontend/mame/ui/utils.cpp:91
-msgid "Publisher"
-msgstr "배급사"
-
-#: src/frontend/mame/ui/utils.cpp:92
-msgid "Supported"
-msgstr "ì§€ì›ë¨"
+#: src/frontend/mame/ui/miscmenu.cpp:764
+msgid "Driver"
+msgstr "드ë¼ì´ë²„"
-#: src/frontend/mame/ui/utils.cpp:93
-msgid "Partially Supported"
-msgstr "부분ì ìœ¼ë¡œ ì§€ì›ë¨"
+#: src/frontend/mame/ui/miscmenu.cpp:767
+msgid "This machine has no BIOS."
+msgstr "ìž¥ì¹˜ì— ë°”ì´ì˜¤ìŠ¤ê°€ 없습니다."
-#: src/frontend/mame/ui/utils.cpp:94
-msgid "Unsupported"
-msgstr "ì§€ì› ì•ˆ ë¨"
+#: src/frontend/mame/ui/miscmenu.cpp:776 src/frontend/mame/ui/mainmenu.cpp:145
+msgid "Add To Favorites"
+msgstr "ì¦ê²¨ì°¾ê¸°ì— 추가"
-#: src/frontend/mame/ui/utils.cpp:95
-msgid "Release Region"
-msgstr "발매 지역"
+#: src/frontend/mame/ui/miscmenu.cpp:778 src/frontend/mame/ui/mainmenu.cpp:147
+msgid "Remove From Favorites"
+msgstr "ì¦ê²¨ì°¾ê¸°ì—서 ì‚­ì œ"
-#: src/frontend/mame/ui/utils.cpp:96
-msgid "Device Type"
-msgstr "장치 종류"
+#: src/frontend/mame/ui/miscmenu.cpp:781
+msgid "Save machine configuration"
+msgstr "장치 환경설정 저장"
-#: src/frontend/mame/ui/utils.cpp:97
-msgid "Software List"
-msgstr "소프트웨어 목ë¡"
+#: src/frontend/mame/ui/miscmenu.cpp:792
+msgid "Configure machine:"
+msgstr "장치 환경설정:"
-#: src/frontend/mame/ui/utils.cpp:248
-msgid "<set up filters>"
-msgstr "<í•„í„° ê²°ì •>"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:736
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:551 plugins/cheatfind/init.lua:619
+msgid "On"
+msgstr "켜기"
-#: src/frontend/mame/ui/utils.cpp:356
-msgid "Select custom filters:"
-msgstr "ì‚¬ìš©ìž ì œìž‘ í•„í„° ì„ íƒ:"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:739
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:554 plugins/cheat/init.lua:563
+#: plugins/cheatfind/init.lua:616
+msgid "Off"
+msgstr "ë„기"
-#: src/frontend/mame/ui/utils.cpp:507
-#, c-format
-msgid "Filter %1$u"
-msgstr "í•„í„° %1$u"
+#: src/frontend/mame/ui/miscmenu.cpp:909 src/frontend/mame/ui/selgame.cpp:441
+msgid "Plugins"
+msgstr "플러그ì¸"
-#: src/frontend/mame/ui/utils.cpp:522
-msgid "Remove last filter"
-msgstr "가장 ìµœê·¼ì˜ í•„í„° ì‚­ì œ"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
+msgstr "새 바코드:"
-#: src/frontend/mame/ui/utils.cpp:524
-msgid "Add filter"
-msgstr "필터 추가"
+#: src/frontend/mame/ui/barcode.cpp:78
+msgid "Enter Code"
+msgstr "바코드 입력"
-#: src/frontend/mame/ui/utils.cpp:966
-msgid "Select category:"
-msgstr "분류 ì„ íƒ"
+#: src/frontend/mame/ui/barcode.cpp:119
+msgid "Barcode length invalid!"
+msgstr "ë°”ì½”ë“œì˜ ê¸¸ì´ê°€ ë§žì§€ 않습니다!"
-#: src/frontend/mame/ui/utils.cpp:997
-msgid "[no category INI files]"
-msgstr "[카테고리 INI íŒŒì¼ ì—†ìŒ]"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:99
+msgid "Pseudo terminals"
+msgstr "유사 터미ë„"
-#: src/frontend/mame/ui/utils.cpp:1005
-msgid "[no groups in INI file]"
-msgstr "[INI 파ì¼ì— 그룹 ì—†ìŒ]"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
+msgstr "[실패]"
-#: src/frontend/mame/ui/utils.cpp:1039
-msgid "No category INI files found"
-msgstr "카테고리 INI 파ì¼ì„ ì°¾ì„ ìˆ˜ 없습니다"
+#: src/frontend/mame/ui/mainmenu.cpp:60
+msgid "Input (general)"
+msgstr "ìž…ë ¥ (ì¼ë°˜)"
-#: src/frontend/mame/ui/utils.cpp:1044
-msgid "File"
-msgstr "파ì¼"
+#: src/frontend/mame/ui/mainmenu.cpp:62
+msgid "Input (this Machine)"
+msgstr "입력 (현재 장치)"
-#: src/frontend/mame/ui/utils.cpp:1048
-msgid "No groups found in category file"
-msgstr "카테고리 íŒŒì¼ ë‚´ì— ê·¸ë£¹ì´ ì—†ìŠµë‹ˆë‹¤"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Analog Controls"
+msgstr "아날로그 조작"
-#: src/frontend/mame/ui/utils.cpp:1053
-msgid "Group"
-msgstr "그룹"
+#: src/frontend/mame/ui/mainmenu.cpp:68
+msgid "Dip Switches"
+msgstr "DIP 스위치"
-#: src/frontend/mame/ui/utils.cpp:1054
-msgid "Include clones"
-msgstr "ë³µì œíŒ í¬í•¨"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "Machine Configuration"
+msgstr "장치 환경설정"
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
-msgstr "[ìƒì„±]"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
+msgstr "부가 정보"
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
-msgstr "%s ì ‘ê·¼ì— ì˜¤ë¥˜ ë°œìƒ"
+#: src/frontend/mame/ui/mainmenu.cpp:78
+msgid "Machine Information"
+msgstr "장치 정보"
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
-msgstr "엑세스 ë°©ì‹ ì„ íƒ"
+#: src/frontend/mame/ui/mainmenu.cpp:85
+msgid "Image Information"
+msgstr "ì´ë¯¸ì§€ ì •ë³´"
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
-msgstr "ì½ê¸° ì „ìš©"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
+msgstr "íŒŒì¼ ê´€ë¦¬ìž"
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
-msgstr "ì½ê¸°/쓰기"
+#: src/frontend/mame/ui/mainmenu.cpp:96
+msgid "Tape Control"
+msgstr "í…Œì´í”„ ì¡°ìž‘"
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
-msgstr "ì´ ì´ë¯¸ì§€ë¥¼ ì½ê³  다른 ì´ë¯¸ì§€ì— ì”니다"
+#: src/frontend/mame/ui/mainmenu.cpp:102
+msgid "BIOS Selection"
+msgstr "ë°”ì´ì˜¤ìФ ì„ íƒ"
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
-msgstr "ì´ ì´ë¯¸ì§€ë¥¼ ì½ê³  diffì— ì”니다"
+#: src/frontend/mame/ui/mainmenu.cpp:106
+msgid "Slot Devices"
+msgstr "슬롯 장치"
-#: src/frontend/mame/ui/slotopt.cpp:192
-#, c-format
-msgid "%s [internal]"
-msgstr "%s [ë‚´ë¶€]"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Barcode Reader"
+msgstr "바코드 ì¸ì‹ê¸°"
-#: src/frontend/mame/ui/slotopt.cpp:203 src/frontend/mame/ui/miscmenu.cpp:97
-#: src/frontend/mame/ui/inputmap.cpp:615
-msgid "Reset"
-msgstr "리셋"
+#: src/frontend/mame/ui/mainmenu.cpp:114
+msgid "Network Devices"
+msgstr "ë„¤íŠ¸ì›Œí¬ ìž¥ì¹˜"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
-msgstr " COLORS"
+#: src/frontend/mame/ui/mainmenu.cpp:118
+msgid "Keyboard Mode"
+msgstr "키보드 모드"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
-msgstr " PENS"
+#: src/frontend/mame/ui/mainmenu.cpp:121
+msgid "Slider Controls"
+msgstr "슬ë¼ì´ë” ì¡°ìž‘"
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
-msgstr "장치로 ëŒì•„가기"
+#: src/frontend/mame/ui/mainmenu.cpp:124 src/frontend/mame/ui/submenu.cpp:101
+msgid "Video Options"
+msgstr "비디오 설정"
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
-msgstr "닫기"
+#: src/frontend/mame/ui/mainmenu.cpp:128
+msgid "Crosshair Options"
+msgstr "조준선 설정"
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
-msgstr "ì´ì „ 메뉴로 ëŒì•„가기"
+#: src/frontend/mame/ui/mainmenu.cpp:132 plugins/cheat/init.lua:735
+msgid "Cheat"
+msgstr "치트"
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:762
-#: plugins/cheat/init.lua:569 plugins/cheatfind/init.lua:792
-#: plugins/cheatfind/init.lua:803
-msgid "On"
-msgstr "켜기"
+#: src/frontend/mame/ui/mainmenu.cpp:135
+msgid "Plugin Options"
+msgstr "í”ŒëŸ¬ê·¸ì¸ ì„¤ì •"
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:765
-#: plugins/cheat/init.lua:572 plugins/cheat/init.lua:581
-#: plugins/cheatfind/init.lua:789 plugins/cheatfind/init.lua:800
-msgid "Off"
-msgstr "ë„기"
+#: src/frontend/mame/ui/mainmenu.cpp:139
+msgid "External DAT View"
+msgstr "외부 DAT 화면"
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
-msgstr "ìžë™"
+#: src/frontend/mame/ui/mainmenu.cpp:154
+msgid "Select New Machine"
+msgstr "새로운 장치 ì„ íƒ"
#: src/frontend/mame/ui/custui.cpp:31
msgid "Show All"
@@ -1404,460 +1326,6 @@ msgstr "노랑"
msgid "Violet"
msgstr "ë³´ë¼"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
-msgstr "키보드 모드:"
-
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
-msgstr "실재"
-
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
-msgstr "ì—뮬레ì´ì…˜"
-
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
-msgstr ""
-"ê°€ë™ ì‹œê°„: %1$d:%2$02d:%3$02d\n"
-"\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
-msgstr ""
-"ê°€ë™ ì‹œê°„: %1$d:%2$02d\n"
-"\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
-msgstr ""
-"티켓 발행: %1$d\n"
-"\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
-msgstr "ì½”ì¸ %1$c: NA%3$s\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
-msgstr "ì½”ì¸ %1$c: %2$d%3$s\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
-msgstr " (ìž ê¹€)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
-msgstr "표시 지연"
-
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
-msgstr "%s.xmlê°€ ui í´ë”ì— ì €ìž¥ë습니다.."
-
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
-msgstr "ì´ë¦„: 설명:\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:639
-#, c-format
-msgid "%s.txt saved under ui folder."
-msgstr "%s.txtê°€ ui í´ë”ì— ì €ìž¥ë습니다.."
-
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
-msgstr "XML 형ì‹ìœ¼ë¡œ 명단 보내기 (-listxml)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
-msgstr "XML 형ì‹ìœ¼ë¡œ 명단 보내기 (-listxml, 장치 제외)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
-msgstr "TXT 형ì‹ìœ¼ë¡œ 명단 보내기 (-listfull)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
-msgstr "드ë¼ì´ë²„"
-
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
-msgstr "ìž¥ì¹˜ì— ë°”ì´ì˜¤ìŠ¤ê°€ 없습니다."
-
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
-msgstr "장치 환경설정 저장"
-
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
-msgstr "장치 환경설정:"
-
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
-msgstr " (기본)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
-msgstr "플러그ì¸"
-
-#: src/frontend/mame/ui/selgame.cpp:607
-msgid "Configure Machine"
-msgstr "장치 환경설정"
-
-#: src/frontend/mame/ui/selgame.cpp:1036
-#, c-format
-msgid "Romset\t%1$-.100s\n"
-msgstr "롬셋\t%1$-.100s\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1037
-#, c-format
-msgid "Year\t%1$s\n"
-msgstr "ì—°ë„\t%1$s\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1038
-#, c-format
-msgid "Manufacturer\t%1$-.100s\n"
-msgstr "제조사\t%1$-.100s\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1042
-#, c-format
-msgid "Driver is Clone of\t%1$-.100s\n"
-msgstr "ë‹¤ìŒ ë“œë¼ì´ë²„ì˜ ë³µì œ\t%1$-.100s\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1044
-msgid "Driver is Parent\t\n"
-msgstr "ì›í˜• 드ë¼ì´ë²„\t\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1047
-msgid "Analog Controls\tYes\n"
-msgstr "아날로그 조작\t예\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1049
-msgid "Keyboard Inputs\tYes\n"
-msgstr "키보드 입력\t예\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1052
-msgid "Overall\tNOT WORKING\n"
-msgstr "종합\tìž‘ë™ ë¶ˆê°€\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1054
-msgid "Overall\tUnemulated Protection\n"
-msgstr "종합\t보호처리 ì—뮬레ì´ì…˜ 미완\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1056
-msgid "Overall\tWorking\n"
-msgstr "종합\tìž‘ë™\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1059
-msgid "Graphics\tUnimplemented\n"
-msgstr "그래픽\tì ìš© 안 ë¨\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1061
-msgid "Graphics\tWrong Colors\n"
-msgstr "그래픽\tìž˜ëª»ëœ ìƒ‰ìƒ\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1063
-msgid "Graphics\tImperfect Colors\n"
-msgstr "그래픽\t불완전한 색ìƒ\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1065
-msgid "Graphics\tImperfect\n"
-msgstr "그래픽\t불완전\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1067
-msgid "Graphics\tOK\n"
-msgstr "그래픽\t양호\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1070
-msgid "Sound\tNone\n"
-msgstr "사운드\tì—†ìŒ\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1072
-msgid "Sound\tUnimplemented\n"
-msgstr "사운드\tì ìš© 안 ë¨\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1074
-msgid "Sound\tImperfect\n"
-msgstr "사운드\t불완전\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1076
-msgid "Sound\tOK\n"
-msgstr "사운드\t양호\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1079
-msgid "Capture\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1081
-msgid "Capture\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1084
-msgid "Camera\tUnimplemented\n"
-msgstr "ì¹´ë©”ë¼\tì ìš© 안 ë¨\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1086
-msgid "Camera\tImperfect\n"
-msgstr "ì¹´ë©”ë¼\t불완전\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1089
-msgid "Microphone\tUnimplemented\n"
-msgstr "마ì´í¬ë¡œí°\tì ìš© 안 ë¨\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1091
-msgid "Microphone\tImperfect\n"
-msgstr "마ì´í¬ë¡œí°\t불완전\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1094
-msgid "Controls\tUnimplemented\n"
-msgstr "컨트롤\tì ìš© 안 ë¨\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1096
-msgid "Controls\tImperfect\n"
-msgstr "컨트롤\t불완전\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1099
-msgid "Keyboard\tUnimplemented\n"
-msgstr "키보드\tì ìš© 안 ë¨\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1101
-msgid "Keyboard\tImperfect\n"
-msgstr "키보드\t불완전\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1104
-msgid "Mouse\tUnimplemented\n"
-msgstr "마우스\tì ìš© 안 ë¨\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1106
-msgid "Mouse\tImperfect\n"
-msgstr "마우스\t불완전\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1109
-msgid "Media\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1111
-msgid "Media\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1114
-msgid "Disk\tUnimplemented\n"
-msgstr "디스í¬\tì ìš© 안 ë¨\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1116
-msgid "Disk\tImperfect\n"
-msgstr "디스í¬\t불완전\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1119
-msgid "Printer\tUnimplemented\n"
-msgstr "프린터\tì ìš© 안 ë¨\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1121
-msgid "Printer\tImperfect\n"
-msgstr "프린터\t불완전\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1124
-msgid "Mag. Tape\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1126
-msgid "Mag. Tape\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1129
-msgid "Punch Tape\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1131
-msgid "Punch Tape\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1134
-msgid "Mag. Drum\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1136
-msgid "Mag. Drum\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1139
-msgid "(EP)ROM\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1141
-msgid "(EP)ROM\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1144
-msgid "Communications\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1146
-msgid "Communications\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1149
-msgid "LAN\tUnimplemented\n"
-msgstr "LAN\tì ìš© 안 ë¨\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1151
-msgid "LAN\tImperfect\n"
-msgstr "LAN\t불완전\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1154
-msgid "WAN\tUnimplemented\n"
-msgstr "WAN\tì ìš© 안 ë¨\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1156
-msgid "WAN\tImperfect\n"
-msgstr "WAN\t불완전\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1159
-msgid "Timing\tUnimplemented\n"
-msgstr "타ì´ë°\tì ìš© 안 ë¨\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1161
-msgid "Timing\tImperfect\n"
-msgstr "타ì´ë°\t불완전\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tYes\n"
-msgstr "ê¸°ê³„ì  ìž¥ì¹˜\t예\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tNo\n"
-msgstr "ê¸°ê³„ì  ìž¥ì¹˜\t아니오\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tYes\n"
-msgstr "삽화 필요\t예\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tNo\n"
-msgstr "삽화 필요\t아니오\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tYes\n"
-msgstr "í´ë¦­ê°€ëŠ¥í•œ 삽화 í•„ìš”\t예\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tNo\n"
-msgstr "í´ë¦­ê°€ëŠ¥í•œ 삽화 í•„ìš”\t아니오\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tYes\n"
-msgstr "ì¹µí…Œì¼ ì§€ì›\t예\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tNo\n"
-msgstr "ì¹µí…Œì¼ ì§€ì›\t아니오\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tYes\n"
-msgstr "드ë¼ì´ë²„ê°€ ë°”ì´ì˜¤ìФ\t예\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tNo\n"
-msgstr "드ë¼ì´ë²„ê°€ ë°”ì´ì˜¤ìФ\t아니오\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tYes\n"
-msgstr "저장 ì§€ì›\t예\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tNo\n"
-msgstr "저장 ì§€ì›\t아니오\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tVertical\n"
-msgstr "화면 방향\t세로형\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tHorizontal\n"
-msgstr "화면 방향\t가로형\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tYes\n"
-msgstr "CHD 필요\t예\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tNo\n"
-msgstr "CHD 필요\t아니오\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1192
-msgid "ROM Audit Result\tOK\n"
-msgstr "ROM 검사 결과\t양호\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1194
-msgid "ROM Audit Result\tBAD\n"
-msgstr "ROM 검사 결과\t불량\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1197
-msgid "Samples Audit Result\tNone Needed\n"
-msgstr "견본 검사 결과\t불필요\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1199
-msgid "Samples Audit Result\tOK\n"
-msgstr "견본 검사 결과\t양호\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1201
-msgid "Samples Audit Result\tBAD\n"
-msgstr "견본 검사 결과\t불량\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1205
-msgid ""
-"ROM Audit \tDisabled\n"
-"Samples Audit \tDisabled\n"
-msgstr ""
-"ROM 검사 \t사용 안 함\n"
-"견본 검사 \t사용 안 함\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1396
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
-msgstr "%1$s %2$s ( %3$d / %4$d 장치 (%5$d BIOS) "
-
-#: src/frontend/mame/ui/selgame.cpp:1424
-#, c-format
-msgid "Romset: %1$-.100s"
-msgstr "롬셋: %1$-.100s"
-
-#: src/frontend/mame/ui/selgame.cpp:1431
-#, c-format
-msgid "System: %1$-.100s"
-msgstr "시스템: %1$-.100s"
-
-#: src/frontend/mame/ui/selgame.cpp:1465
-msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
-msgstr ""
-"ì„ íƒí•œ ìž¥ì¹˜ì— í•„ìš”í•œ ROMì´ë‚˜ CHD 파ì¼ì´ 없습니다. 다른 장치를 ì„ íƒí•˜ì‹­ì‹œì˜¤.\n"
-"\n"
-
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
-msgstr "사운드"
-
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
-msgstr "샘플 ë ˆì´íЏ"
-
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
-msgstr "외부 샘플 ì´ìš©"
-
#: src/frontend/mame/ui/submenu.cpp:22
msgid "Miscellaneous Options"
msgstr "기타 ì„ íƒì‚¬í•­"
@@ -2158,209 +1626,565 @@ msgstr "새로고침 ë™ê¸°í™”"
msgid "Wait Vertical Sync"
msgstr "수ì§ë™ê¸°í™” 기다림"
-#: src/frontend/mame/ui/devopt.cpp:43
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Load State"
+msgstr "ìƒíƒœ 불러오기"
+
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Select position to load from"
+msgstr "불러올 ìƒíƒœì˜ 위치 ì„ íƒ"
+
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Save State"
+msgstr "ìƒíƒœ 저장하기"
+
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Select position to save to"
+msgstr "저장할 ìƒíƒœì˜ 위치 ì„ íƒ"
+
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
+msgstr "%s [ë‚´ë¶€]"
+
+#: src/frontend/mame/ui/selgame.cpp:309 src/frontend/mame/ui/selsoft.cpp:211
#, c-format
msgid ""
-"[This option is currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"The selected option enables the following items:\n"
+"%s\n"
+" added to favorites list."
msgstr ""
-"[현재 ê°€ë™ì¤‘ì¸ ì‹œìŠ¤í…œì— ë‹¤ìŒ ì˜µì…˜ì´ ì ìš©ë¼ìžˆìŠµë‹ˆë‹¤]\n"
-"\n"
-"옵션: %1$s\n"
-"장치: %2$s\n"
-"\n"
-"현재 ì„ íƒëœ ì˜µì…˜ì€ ë‹¤ìŒ í•­ëª©ì„ í™œì„±í™”í•©ë‹ˆë‹¤:\n"
+"%s\n"
+" ì¦ê²¨ì°¾ê¸° 목ë¡ì— 추가ë습니다."
-#: src/frontend/mame/ui/devopt.cpp:44
+#: src/frontend/mame/ui/selgame.cpp:314 src/frontend/mame/ui/selgame.cpp:320
+#: src/frontend/mame/ui/selsoft.cpp:216
#, c-format
msgid ""
-"[This option is NOT currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"If you select this option, the following items will be enabled:\n"
+"%s\n"
+" removed from favorites list."
msgstr ""
-"[현재 ê°€ë™ì¤‘ì¸ ì‹œìŠ¤í…œì— ë‹¤ìŒ ì˜µì…˜ì€ ì ìš©ë˜ì§€ 않습니다]\n"
-"\n"
-"옵션: %1$s\n"
-"장치: %2$s\n"
-"\n"
-"ì´ ì˜µì…˜ì„ ì„ íƒí•˜ë©´ ë‹¤ìŒ í•­ëª©ì„ í™œì„±í™”í•©ë‹ˆë‹¤:\n"
+"%s\n"
+" ì¦ê²¨ì°¾ê¸° 목ë¡ì—서 ì‚­ì œë습니다."
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
-msgstr "* CPU:\n"
+#: src/frontend/mame/ui/selgame.cpp:437
+msgid "Configure Machine"
+msgstr "장치 환경설정"
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/selgame.cpp:849
#, c-format
-msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
-msgstr " %1$d×%2$s %3$d.%4$06d MHz\n"
+msgid "Romset\t%1$-.100s\n"
+msgstr "롬셋\t%1$-.100s\n"
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
-msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
-msgstr " %1$d×%2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/selgame.cpp:850
+#, c-format
+msgid "Year\t%1$s\n"
+msgstr "ì—°ë„\t%1$s\n"
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %3$d.%4$06d MHz\n"
-msgstr " %2$s %3$d.%4$06d MHz\n"
+#: src/frontend/mame/ui/selgame.cpp:851
+#, c-format
+msgid "Manufacturer\t%1$-.100s\n"
+msgstr "제조사\t%1$-.100s\n"
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
-msgstr " %2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/selgame.cpp:855
+#, c-format
+msgid "Driver is Clone of\t%1$-.100s\n"
+msgstr "ë‹¤ìŒ ë“œë¼ì´ë²„ì˜ ë³µì œ\t%1$-.100s\n"
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
-msgstr "* 비디오:\n"
+#: src/frontend/mame/ui/selgame.cpp:857
+msgid "Driver is Parent\t\n"
+msgstr "ì›í˜• 드ë¼ì´ë²„\t\n"
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
-msgstr " 화면 '%1$s': 벡터\n"
+#: src/frontend/mame/ui/selgame.cpp:860
+msgid "Analog Controls\tYes\n"
+msgstr "아날로그 조작\t예\n"
-#: src/frontend/mame/ui/devopt.cpp:103
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
-msgstr " 화면 '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+#: src/frontend/mame/ui/selgame.cpp:862
+msgid "Keyboard Inputs\tYes\n"
+msgstr "키보드 입력\t예\n"
-#: src/frontend/mame/ui/devopt.cpp:104
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
-msgstr " 화면 '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+#: src/frontend/mame/ui/selgame.cpp:865
+msgid "Overall\tNOT WORKING\n"
+msgstr "종합\tìž‘ë™ ë¶ˆê°€\n"
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
-msgstr "* 사운드:\n"
+#: src/frontend/mame/ui/selgame.cpp:867
+msgid "Overall\tUnemulated Protection\n"
+msgstr "종합\t보호처리 ì—뮬레ì´ì…˜ 미완\n"
-#: src/frontend/mame/ui/devopt.cpp:137
-#, c-format
-msgid " %1$d×%2$s\n"
-msgstr " %1$d×%2$s\n"
+#: src/frontend/mame/ui/selgame.cpp:869
+msgid "Overall\tWorking\n"
+msgstr "종합\tìž‘ë™\n"
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
-msgstr " %2$s\n"
+#: src/frontend/mame/ui/selgame.cpp:872
+msgid "Graphics\tUnimplemented\n"
+msgstr "그래픽\tì ìš© 안 ë¨\n"
-#: src/frontend/mame/ui/devopt.cpp:168
-#, c-format
-msgid ""
-"* BIOS settings:\n"
-" %1$d options [default: %2$s]\n"
-msgstr ""
-"* BIOS 설정:\n"
-" %1$d 옵션 [기본: %2$s]\n"
+#: src/frontend/mame/ui/selgame.cpp:874
+msgid "Graphics\tWrong Colors\n"
+msgstr "그래픽\tìž˜ëª»ëœ ìƒ‰ìƒ\n"
-#: src/frontend/mame/ui/devopt.cpp:208 src/frontend/mame/ui/devopt.cpp:224
-#: src/frontend/mame/ui/devopt.cpp:269
-#, c-format
-msgid " %1$s [default: %2$s]\n"
-msgstr " %1$s [기본: %2$s]\n"
+#: src/frontend/mame/ui/selgame.cpp:876
+msgid "Graphics\tImperfect Colors\n"
+msgstr "그래픽\t불완전한 색ìƒ\n"
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
-#, c-format
-msgid " %1$s\n"
-msgstr " %1$s\n"
+#: src/frontend/mame/ui/selgame.cpp:878
+msgid "Graphics\tImperfect\n"
+msgstr "그래픽\t불완전\n"
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
-msgstr "* DIP 스위치 설정:\n"
+#: src/frontend/mame/ui/selgame.cpp:880
+msgid "Graphics\tOK\n"
+msgstr "그래픽\t양호\n"
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
-msgstr "* 환경 설정:\n"
+#: src/frontend/mame/ui/selgame.cpp:883
+msgid "Sound\tNone\n"
+msgstr "사운드\tì—†ìŒ\n"
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
-msgstr "* 입력 장치:\n"
+#: src/frontend/mame/ui/selgame.cpp:885
+msgid "Sound\tUnimplemented\n"
+msgstr "사운드\tì ìš© 안 ë¨\n"
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
-msgstr " ì‚¬ìš©ìž ìž…ë ¥ [%1$d ìž…ë ¥]\n"
+#: src/frontend/mame/ui/selgame.cpp:887
+msgid "Sound\tImperfect\n"
+msgstr "사운드\t불완전\n"
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
-msgstr " 마작 입력 [%1$d 입력]\n"
+#: src/frontend/mame/ui/selgame.cpp:889
+msgid "Sound\tOK\n"
+msgstr "사운드\t양호\n"
-#: src/frontend/mame/ui/devopt.cpp:244
-#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
-msgstr " 화투 입력 [%1$d 입력]\n"
+#: src/frontend/mame/ui/selgame.cpp:892
+msgid "Controls\tUnimplemented\n"
+msgstr "컨트롤\tì ìš© 안 ë¨\n"
-#: src/frontend/mame/ui/devopt.cpp:246
+#: src/frontend/mame/ui/selgame.cpp:894
+msgid "Controls\tImperfect\n"
+msgstr "컨트롤\t불완전\n"
+
+#: src/frontend/mame/ui/selgame.cpp:897
+msgid "Keyboard\tUnimplemented\n"
+msgstr "키보드\tì ìš© 안 ë¨\n"
+
+#: src/frontend/mame/ui/selgame.cpp:899
+msgid "Keyboard\tImperfect\n"
+msgstr "키보드\t불완전\n"
+
+#: src/frontend/mame/ui/selgame.cpp:902
+msgid "Mouse\tUnimplemented\n"
+msgstr "마우스\tì ìš© 안 ë¨\n"
+
+#: src/frontend/mame/ui/selgame.cpp:904
+msgid "Mouse\tImperfect\n"
+msgstr "마우스\t불완전\n"
+
+#: src/frontend/mame/ui/selgame.cpp:907
+msgid "Microphone\tUnimplemented\n"
+msgstr "마ì´í¬ë¡œí°\tì ìš© 안 ë¨\n"
+
+#: src/frontend/mame/ui/selgame.cpp:909
+msgid "Microphone\tImperfect\n"
+msgstr "마ì´í¬ë¡œí°\t불완전\n"
+
+#: src/frontend/mame/ui/selgame.cpp:912
+msgid "Camera\tUnimplemented\n"
+msgstr "ì¹´ë©”ë¼\tì ìš© 안 ë¨\n"
+
+#: src/frontend/mame/ui/selgame.cpp:914
+msgid "Camera\tImperfect\n"
+msgstr "ì¹´ë©”ë¼\t불완전\n"
+
+#: src/frontend/mame/ui/selgame.cpp:917
+msgid "Disk\tUnimplemented\n"
+msgstr "디스í¬\tì ìš© 안 ë¨\n"
+
+#: src/frontend/mame/ui/selgame.cpp:919
+msgid "Disk\tImperfect\n"
+msgstr "디스í¬\t불완전\n"
+
+#: src/frontend/mame/ui/selgame.cpp:922
+msgid "Printer\tUnimplemented\n"
+msgstr "프린터\tì ìš© 안 ë¨\n"
+
+#: src/frontend/mame/ui/selgame.cpp:924
+msgid "Printer\tImperfect\n"
+msgstr "프린터\t불완전\n"
+
+#: src/frontend/mame/ui/selgame.cpp:927
+msgid "LAN\tUnimplemented\n"
+msgstr "LAN\tì ìš© 안 ë¨\n"
+
+#: src/frontend/mame/ui/selgame.cpp:929
+msgid "LAN\tImperfect\n"
+msgstr "LAN\t불완전\n"
+
+#: src/frontend/mame/ui/selgame.cpp:932
+msgid "WAN\tUnimplemented\n"
+msgstr "WAN\tì ìš© 안 ë¨\n"
+
+#: src/frontend/mame/ui/selgame.cpp:934
+msgid "WAN\tImperfect\n"
+msgstr "WAN\t불완전\n"
+
+#: src/frontend/mame/ui/selgame.cpp:937
+msgid "Timing\tUnimplemented\n"
+msgstr "타ì´ë°\tì ìš© 안 ë¨\n"
+
+#: src/frontend/mame/ui/selgame.cpp:939
+msgid "Timing\tImperfect\n"
+msgstr "타ì´ë°\t불완전\n"
+
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tYes\n"
+msgstr "ê¸°ê³„ì  ìž¥ì¹˜\t예\n"
+
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tNo\n"
+msgstr "ê¸°ê³„ì  ìž¥ì¹˜\t아니오\n"
+
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tYes\n"
+msgstr "삽화 필요\t예\n"
+
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tNo\n"
+msgstr "삽화 필요\t아니오\n"
+
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tYes\n"
+msgstr "í´ë¦­ê°€ëŠ¥í•œ 삽화 í•„ìš”\t예\n"
+
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tNo\n"
+msgstr "í´ë¦­ê°€ëŠ¥í•œ 삽화 í•„ìš”\t아니오\n"
+
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tYes\n"
+msgstr "ì¹µí…Œì¼ ì§€ì›\t예\n"
+
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tNo\n"
+msgstr "ì¹µí…Œì¼ ì§€ì›\t아니오\n"
+
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tYes\n"
+msgstr "드ë¼ì´ë²„ê°€ ë°”ì´ì˜¤ìФ\t예\n"
+
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tNo\n"
+msgstr "드ë¼ì´ë²„ê°€ ë°”ì´ì˜¤ìФ\t아니오\n"
+
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tYes\n"
+msgstr "저장 ì§€ì›\t예\n"
+
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tNo\n"
+msgstr "저장 ì§€ì›\t아니오\n"
+
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tVertical\n"
+msgstr "화면 방향\t세로형\n"
+
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tHorizontal\n"
+msgstr "화면 방향\t가로형\n"
+
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tYes\n"
+msgstr "CHD 필요\t예\n"
+
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tNo\n"
+msgstr "CHD 필요\t아니오\n"
+
+#: src/frontend/mame/ui/selgame.cpp:970
+msgid "ROM Audit Result\tOK\n"
+msgstr "ROM 검사 결과\t양호\n"
+
+#: src/frontend/mame/ui/selgame.cpp:972
+msgid "ROM Audit Result\tBAD\n"
+msgstr "ROM 검사 결과\t불량\n"
+
+#: src/frontend/mame/ui/selgame.cpp:975
+msgid "Samples Audit Result\tNone Needed\n"
+msgstr "견본 검사 결과\t불필요\n"
+
+#: src/frontend/mame/ui/selgame.cpp:977
+msgid "Samples Audit Result\tOK\n"
+msgstr "견본 검사 결과\t양호\n"
+
+#: src/frontend/mame/ui/selgame.cpp:979
+msgid "Samples Audit Result\tBAD\n"
+msgstr "견본 검사 결과\t불량\n"
+
+#: src/frontend/mame/ui/selgame.cpp:983
+msgid ""
+"ROM Audit \tDisabled\n"
+"Samples Audit \tDisabled\n"
+msgstr ""
+"ROM 검사 \t사용 안 함\n"
+"견본 검사 \t사용 안 함\n"
+
+#: src/frontend/mame/ui/selgame.cpp:1167
#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
-msgstr " ê²œë¸”ë§ ìž…ë ¥ [%1$d ìž…ë ¥]\n"
+msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
+msgstr "%1$s %2$s ( %3$d / %4$d 장치 (%5$d BIOS) "
-#: src/frontend/mame/ui/devopt.cpp:248
+#: src/frontend/mame/ui/selgame.cpp:1183 src/frontend/mame/ui/selsoft.cpp:555
#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
-msgstr " 아날로그 입력 [%1$d 입력]\n"
+msgid "%1$s: %2$s - Search: %3$s_"
+msgstr "%1$s: %2$s - 검색: %3$s_"
-#: src/frontend/mame/ui/devopt.cpp:250
+#: src/frontend/mame/ui/selgame.cpp:1185 src/frontend/mame/ui/selsoft.cpp:557
#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
-msgstr " ì¡°ì •ìž ìž…ë ¥ [%1$d ìž…ë ¥]\n"
+msgid "Search: %1$s_"
+msgstr "검색: %1$s_"
-#: src/frontend/mame/ui/devopt.cpp:252
+#: src/frontend/mame/ui/selgame.cpp:1195
#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
-msgstr " 키패드 입력 [%1$d 입력]\n"
+msgid "Romset: %1$-.100s"
+msgstr "롬셋: %1$-.100s"
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/selgame.cpp:1202
#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
-msgstr " 키보드 입력 [%1$d 입력]\n"
+msgid "System: %1$-.100s"
+msgstr "시스템: %1$-.100s"
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
-msgstr "* 미디어 설정:\n"
+#: src/frontend/mame/ui/selgame.cpp:1239
+msgid ""
+"The selected machine is missing one or more required ROM or CHD images. "
+"Please select a different machine.\n"
+"\n"
+msgstr ""
+"ì„ íƒí•œ ìž¥ì¹˜ì— í•„ìš”í•œ ROMì´ë‚˜ CHD 파ì¼ì´ 없습니다. 다른 장치를 ì„ íƒí•˜ì‹­ì‹œì˜¤.\n"
+"\n"
-#: src/frontend/mame/ui/devopt.cpp:261
-#, c-format
-msgid " %1$s [tag: %2$s]\n"
-msgstr " %1$s [태그: %2$s]\n"
+#: src/frontend/mame/ui/selgame.cpp:1245 src/frontend/mame/ui/selsoft.cpp:462
+msgid "Press any key to continue."
+msgstr "아무 키를 누르면 진행합니다."
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
-msgstr "* 슬롯 설정:\n"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
+msgstr "사운드"
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
-msgstr "[ì—†ìŒ]\n"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
+msgstr "샘플 ë ˆì´íЏ"
-#: src/frontend/mame/ui/auditmenu.cpp:96
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
+msgstr "외부 샘플 ì´ìš©"
+
+#: src/frontend/mame/ui/utils.cpp:57 src/frontend/mame/ui/utils.cpp:81
+msgid "Unfiltered"
+msgstr "필터 미사용"
+
+#: src/frontend/mame/ui/utils.cpp:58 src/frontend/mame/ui/utils.cpp:82
+msgid "Available"
+msgstr "사용 가능"
+
+#: src/frontend/mame/ui/utils.cpp:59 src/frontend/mame/ui/utils.cpp:83
+msgid "Unavailable"
+msgstr "사용 불가"
+
+#: src/frontend/mame/ui/utils.cpp:60
+msgid "Working"
+msgstr "ìž‘ë™í•¨"
+
+#: src/frontend/mame/ui/utils.cpp:61
+msgid "Not Working"
+msgstr "ìž‘ë™ ë¶ˆê°€"
+
+#: src/frontend/mame/ui/utils.cpp:62
+msgid "Mechanical"
+msgstr "기계ì "
+
+#: src/frontend/mame/ui/utils.cpp:63
+msgid "Not Mechanical"
+msgstr "비기계ì "
+
+#: src/frontend/mame/ui/utils.cpp:64
+msgid "Category"
+msgstr "분류"
+
+#: src/frontend/mame/ui/utils.cpp:65
+msgid "Favorites"
+msgstr "ì¦ê²¨ì°¾ê¸°"
+
+#: src/frontend/mame/ui/utils.cpp:67
+msgid "Not BIOS"
+msgstr "ë°”ì´ì˜¤ìФ 아님"
+
+#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:84
+msgid "Parents"
+msgstr "ì›í˜•"
+
+#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/utils.cpp:85
+msgid "Clones"
+msgstr "복제"
+
+#: src/frontend/mame/ui/utils.cpp:70
+msgid "Manufacturer"
+msgstr "제조사"
+
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:86
+msgid "Year"
+msgstr "ì—°ë„"
+
+#: src/frontend/mame/ui/utils.cpp:72
+msgid "Save Supported"
+msgstr "저장 ì§€ì›"
+
+#: src/frontend/mame/ui/utils.cpp:73
+msgid "Save Unsupported"
+msgstr "저장 ì§€ì› ì•ˆ ë¨"
+
+#: src/frontend/mame/ui/utils.cpp:74
+msgid "CHD Required"
+msgstr "CHD í•„ìš”"
+
+#: src/frontend/mame/ui/utils.cpp:75
+msgid "No CHD Required"
+msgstr "CHD 필요없ìŒ"
+
+#: src/frontend/mame/ui/utils.cpp:76
+msgid "Vertical Screen"
+msgstr "세로 화면"
+
+#: src/frontend/mame/ui/utils.cpp:77
+msgid "Horizontal Screen"
+msgstr "가로 화면"
+
+#: src/frontend/mame/ui/utils.cpp:78 src/frontend/mame/ui/utils.cpp:94
+msgid "Custom Filter"
+msgstr "ì‚¬ìš©ìž ì œìž‘ í•„í„°"
+
+#: src/frontend/mame/ui/utils.cpp:87
+msgid "Publisher"
+msgstr "배급사"
+
+#: src/frontend/mame/ui/utils.cpp:88
+msgid "Supported"
+msgstr "ì§€ì›ë¨"
+
+#: src/frontend/mame/ui/utils.cpp:89
+msgid "Partially Supported"
+msgstr "부분ì ìœ¼ë¡œ ì§€ì›ë¨"
+
+#: src/frontend/mame/ui/utils.cpp:90
+msgid "Unsupported"
+msgstr "ì§€ì› ì•ˆ ë¨"
+
+#: src/frontend/mame/ui/utils.cpp:91
+msgid "Release Region"
+msgstr "발매 지역"
+
+#: src/frontend/mame/ui/utils.cpp:92
+msgid "Device Type"
+msgstr "장치 종류"
+
+#: src/frontend/mame/ui/utils.cpp:93
+msgid "Software List"
+msgstr "소프트웨어 목ë¡"
+
+#: src/frontend/mame/ui/utils.cpp:244
+msgid "<set up filters>"
+msgstr "<í•„í„° ê²°ì •>"
+
+#: src/frontend/mame/ui/utils.cpp:352
+msgid "Select custom filters:"
+msgstr "ì‚¬ìš©ìž ì œìž‘ í•„í„° ì„ íƒ:"
+
+#: src/frontend/mame/ui/utils.cpp:503
#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
-msgstr "현재 ì´ìš©í•  수 없는 %1$u ìž¥ì¹˜ë“¤ì— ëŒ€í•´ ROM 검사를 실시합니까?"
+msgid "Filter %1$u"
+msgstr "í•„í„° %1$u"
-#: src/frontend/mame/ui/auditmenu.cpp:99
+#: src/frontend/mame/ui/utils.cpp:518
+msgid "Remove last filter"
+msgstr "가장 ìµœê·¼ì˜ í•„í„° ì‚­ì œ"
+
+#: src/frontend/mame/ui/utils.cpp:520
+msgid "Add filter"
+msgstr "필터 추가"
+
+#: src/frontend/mame/ui/utils.cpp:959
+msgid "Select category:"
+msgstr "분류 ì„ íƒ"
+
+#: src/frontend/mame/ui/utils.cpp:990
+msgid "[no category INI files]"
+msgstr "[카테고리 INI íŒŒì¼ ì—†ìŒ]"
+
+#: src/frontend/mame/ui/utils.cpp:998
+msgid "[no groups in INI file]"
+msgstr "[INI 파ì¼ì— 그룹 ì—†ìŒ]"
+
+#: src/frontend/mame/ui/utils.cpp:1032
+msgid "No category INI files found"
+msgstr "카테고리 INI 파ì¼ì„ ì°¾ì„ ìˆ˜ 없습니다"
+
+#: src/frontend/mame/ui/utils.cpp:1037
+msgid "File"
+msgstr "파ì¼"
+
+#: src/frontend/mame/ui/utils.cpp:1041
+msgid "No groups found in category file"
+msgstr "카테고리 íŒŒì¼ ë‚´ì— ê·¸ë£¹ì´ ì—†ìŠµë‹ˆë‹¤"
+
+#: src/frontend/mame/ui/utils.cpp:1046
+msgid "Group"
+msgstr "그룹"
+
+#: src/frontend/mame/ui/utils.cpp:1047
+msgid "Include clones"
+msgstr "ë³µì œíŒ í¬í•¨"
+
+#: src/frontend/mame/ui/selsoft.cpp:456
+msgid ""
+"The selected software is missing one or more required files. Please select a "
+"different software.\n"
+"\n"
+msgstr ""
+"ì´ ì†Œí”„íŠ¸ì›¨ì–´ì— í•„ìš”í•œ íŒŒì¼ ì¼ë¶€ê°€ 존재하지 않습니다. 다른 소프트웨어를 ì„ íƒ"
+"하십시오.\n"
+"\n"
+
+#: src/frontend/mame/ui/selsoft.cpp:549
#, c-format
-msgid "Audit ROMs for all %1$u machines?"
-msgstr "모든 %1$u ìž¥ì¹˜ë“¤ì— ëŒ€í•´ ROM 검사를 실시합니까?"
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgstr "%1$s %2$s ( %3$d / %4$d 소프트웨어 패키지 )"
-#: src/frontend/mame/ui/auditmenu.cpp:104
+#: src/frontend/mame/ui/selsoft.cpp:550
#, c-format
-msgid "(results will be saved to %1$s)"
-msgstr "(결과는 %1$sì— ì €ìž¥ë©ë‹ˆë‹¤)"
+msgid "Driver: \"%1$s\" software list "
+msgstr "드ë¼ì´ë²„: \"%1$s\" 소프트웨어 ëª©ë¡ "
-#: src/frontend/mame/ui/auditmenu.cpp:130
+#: src/frontend/mame/ui/filesel.cpp:260
+msgid "[create]"
+msgstr "[ìƒì„±]"
+
+#: src/frontend/mame/ui/filesel.cpp:419
#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
-msgstr ""
-"%3$u %2$u ìž¥ì¹˜ì˜ ROMì„ ê²€ì‚¬ì¤‘...\n"
-"%1$s"
+msgid "Error accessing %s"
+msgstr "%s ì ‘ê·¼ì— ì˜¤ë¥˜ ë°œìƒ"
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr "검사 시작"
+#: src/frontend/mame/ui/filesel.cpp:515
+msgid "Select access mode"
+msgstr "엑세스 ë°©ì‹ ì„ íƒ"
+
+#: src/frontend/mame/ui/filesel.cpp:516
+msgid "Read-only"
+msgstr "ì½ê¸° ì „ìš©"
+
+#: src/frontend/mame/ui/filesel.cpp:518
+msgid "Read-write"
+msgstr "ì½ê¸°/쓰기"
+
+#: src/frontend/mame/ui/filesel.cpp:519
+msgid "Read this image, write to another image"
+msgstr "ì´ ì´ë¯¸ì§€ë¥¼ ì½ê³  다른 ì´ë¯¸ì§€ì— ì”니다"
+
+#: src/frontend/mame/ui/filesel.cpp:520
+msgid "Read this image, write to diff"
+msgstr "ì´ ì´ë¯¸ì§€ë¥¼ ì½ê³  diffì— ì”니다"
#: src/frontend/mame/ui/imgcntrl.cpp:117
msgid "Cannot save over directory"
@@ -2374,371 +2198,466 @@ msgstr ""
"ì´ ì†Œí”„íŠ¸ì›¨ì–´ì— í•„ìš”í•œ ROM/CHD ì´ë¯¸ì§€ ì¼ë¶€ê°€ 존재하지 않습니다. 다른 소프트웨"
"어를 ì„ íƒí•˜ì‹­ì‹œì˜¤."
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
-msgstr "보호처리"
-
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
-msgstr "타ì´ë°"
+#: src/frontend/mame/ui/menu.cpp:294
+msgid "Return to Machine"
+msgstr "장치로 ëŒì•„가기"
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
-msgstr "그래픽"
+#: src/frontend/mame/ui/menu.cpp:299 src/frontend/mame/ui/menu.cpp:301
+msgid "Exit"
+msgstr "닫기"
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
-msgstr "컬러 팔레트"
+#: src/frontend/mame/ui/menu.cpp:306 src/frontend/mame/ui/menu.cpp:308
+msgid "Return to Previous Menu"
+msgstr "ì´ì „ 메뉴로 ëŒì•„가기"
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
-msgstr "사운드"
+#: src/frontend/mame/ui/menu.cpp:742
+msgid "Auto"
+msgstr "ìžë™"
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:653
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
+"치트 설명:\n"
+"%s"
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
-msgstr "ì¹´ë©”ë¼"
-
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
-msgstr "마ì´í¬ë¡œí°"
+#: src/frontend/mame/ui/cheatopt.cpp:105
+msgid "All cheats reloaded"
+msgstr "모든 치트 다시 불러오기 완료"
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
-msgstr "컨트롤"
+#: src/frontend/mame/ui/cheatopt.cpp:136
+msgid "Autofire Settings"
+msgstr "ìžë™ì—°ì‚¬ 설정"
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
-msgstr "키보드"
+#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:581
+msgid "Reset All"
+msgstr "전부 리셋"
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
-msgstr "마우스"
+#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:582
+msgid "Reload All"
+msgstr "전부 불러오기"
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
-msgstr ""
+#: src/frontend/mame/ui/cheatopt.cpp:273
+msgid "Autofire Status"
+msgstr "ìžë™ì—°ì‚¬ 현황"
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
-msgstr "디스í¬"
+#: src/frontend/mame/ui/cheatopt.cpp:316
+msgid "No buttons found on this machine!"
+msgstr "ì´ ìž¥ì¹˜ì—서 ë²„íŠ¼ì„ ì°¾ì„ ìˆ˜ 없습니다!"
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
-msgstr "프린터"
+#: src/frontend/mame/ui/cheatopt.cpp:327 src/frontend/mame/ui/cheatopt.cpp:331
+msgid "Autofire Delay"
+msgstr "ìžë™ì—°ì‚¬ 간격"
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/ui.cpp:337
+msgid "This driver requires images to be loaded in the following device(s): "
msgstr ""
+"ì´ ë“œë¼ì´ë²„를 사용하기 위해선 ë‹¤ìŒ ìž¥ì¹˜(들)ì— ì´ë¯¸ì§€ë¥¼ 불러와야 합니다: "
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
-msgstr ""
+#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
+msgid "Keyboard Emulation Status"
+msgstr "키보드 ì—뮬레ì´ì…˜ 현황"
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
-msgstr ""
+#: src/frontend/mame/ui/ui.cpp:1086
+msgid "Mode: PARTIAL Emulation"
+msgstr "모드: ë¶€ë¶„ì  ì—뮬레ì´ì…˜"
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
-msgstr ""
+#: src/frontend/mame/ui/ui.cpp:1087
+msgid "UI: Enabled"
+msgstr "UI: 활성화"
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
-msgstr ""
+#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
+msgid "**Use ScrLock to toggle**"
+msgstr "**ScrLock 키로 전환**"
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
-msgstr "LAN"
+#: src/frontend/mame/ui/ui.cpp:1096
+msgid "Mode: FULL Emulation"
+msgstr "모드: ì „ì²´ ì—뮬레ì´ì…˜"
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
-msgstr "WAN"
+#: src/frontend/mame/ui/ui.cpp:1097
+msgid "UI: Disabled"
+msgstr "UI: 비활성화"
-#: src/frontend/mame/ui/info.cpp:188
-msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
-msgstr ""
-"ì´ ìž¥ì¹˜ì— í•„ìš”í•œ ROM/CHD ì¼ë¶€ê°€ 정확하지 않습니다. 장치가 제대로 ìž‘ë™í•˜ì§€ 않"
-"ì„ ìˆ˜ 있습니다.\n"
+#: src/frontend/mame/ui/ui.cpp:1249
+msgid "Autofire can't be enabled"
+msgstr "ìžë™ì—°ì‚¬ 사용 불가"
-#: src/frontend/mame/ui/info.cpp:198
+#: src/frontend/mame/ui/ui.cpp:1302
+#, c-format
msgid ""
-"There are known problems with this machine\n"
+"Are you sure you want to quit?\n"
"\n"
+"Press ''%1$s'' to quit,\n"
+"Press ''%2$s'' to return to emulation."
msgstr ""
-"ì´ ìž¥ì¹˜ì— ë‹¤ìŒê³¼ ê°™ì€ ë¬¸ì œê°€ 있습니다\n"
+"ì •ë§ë¡œ 종료하겠습니까?\n"
"\n"
+"''%1$s''를 누르면 종료.\n"
+"''%2$s''를 누르면 ì›ëž˜ 화면으로 복귀."
-#: src/frontend/mame/ui/info.cpp:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
-msgstr "ì´ ìž¥ì¹˜ì— í•„ìš”í•œ ROM/CHD ì¼ë¶€ê°€ 정확하게 ë¤í”„ë˜ì§€ 않았습니다.\n"
+#: src/frontend/mame/ui/ui.cpp:1374
+msgid "Master Volume"
+msgstr "마스터 볼륨"
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
-msgstr "ì—뮬레ì´ì…˜ì´ ì ìš© 안 ëœ íŠ¹ì„±: "
+#: src/frontend/mame/ui/ui.cpp:1383
+#, c-format
+msgid "%1$s Volume"
+msgstr "%1$s 볼륨"
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
+#: src/frontend/mame/ui/ui.cpp:1407
#, c-format
-msgid "%s"
-msgstr "%s"
+msgid "Overclock CPU %1$s"
+msgstr "CPU %1$s 오버í´ëŸ­"
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#: src/frontend/mame/ui/info.cpp:275
+#: src/frontend/mame/ui/ui.cpp:1416
#, c-format
-msgid ", %s"
-msgstr ", %s"
+msgid "Overclock %1$s sound"
+msgstr "%1$s 사운드 오버í´ëŸ­"
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
-msgstr "ì—뮬레ì´ì…˜ì´ 불완전한 특성: "
+#: src/frontend/mame/ui/ui.cpp:1437
+#, c-format
+msgid "%1$s Refresh Rate"
+msgstr "%1$s ìž¬ìƒ ë¹ˆë„"
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
-msgstr "ì¹µí…Œì¼ ëª¨ë“œì˜ í™”ë©´ ë°˜ì „ì´ ì§€ì›ë˜ì§€ 않습니다.\n"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, c-format
+msgid "%1$s Brightness"
+msgstr "%1$s 명ë„"
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
-msgstr "ì´ ìž¥ì¹˜ëŠ” 외부 ì´ë¯¸ì§€ 파ì¼ì„ 필요로 합니다.\n"
+#: src/frontend/mame/ui/ui.cpp:1444
+#, c-format
+msgid "%1$s Contrast"
+msgstr "%1$s 대비"
-#: src/frontend/mame/ui/info.cpp:243
-msgid ""
-"This machine was never completed. It may exhibit strange behavior or missing "
-"elements that are not bugs in the emulation.\n"
-msgstr ""
-"ì´ ìž¥ì¹˜ëŠ” ì™„ì œí’ˆì´ ì•„ë‹™ë‹ˆë‹¤. ì—뮬레ì´ì…˜ ì´ì™¸ì— 장치 ìžì²´ì˜ 결함ì—서 ë¹„ë¡¯ëœ ë¹„"
-"ì •ìƒì ì¸ 오류나 마ê°ì´ 안 ëœ ìš”ì†Œê°€ 나타날 수 있습니다.\n"
+#: src/frontend/mame/ui/ui.cpp:1446
+#, c-format
+msgid "%1$s Gamma"
+msgstr "%1$s ê°ë§ˆê°’"
-#: src/frontend/mame/ui/info.cpp:245
-msgid ""
-"This machine has no sound hardware, MAME will produce no sounds, this is "
-"expected behaviour.\n"
-msgstr ""
-"ì´ ìž¥ì¹˜ì—” 사운드 하드웨어가 없기 ë•Œë¬¸ì— MAMEì€ ì†Œë¦¬ë¥¼ 출력하지 않습니다. ì´"
-"는 오작ë™ì´ 아닙니다.\n"
+#: src/frontend/mame/ui/ui.cpp:1450
+#, c-format
+msgid "%1$s Horiz Stretch"
+msgstr "%1$s 가로방향 연장"
-#: src/frontend/mame/ui/info.cpp:249
-msgid ""
-"\n"
-"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
-"complete. There is nothing you can do to fix this problem except wait for "
-"the developers to improve the emulation.\n"
-msgstr ""
-"\n"
-"ì´ ìž¥ì¹˜ëŠ” ìž‘ë™ë˜ì§€ 않습니다. ì´ ìž¥ì¹˜ë¥¼ 실행하기 위한 ì—뮬레ì´ì…˜ì´ ì•„ì§ ì™„ì„±ë˜"
-"ì§€ 않았습니다. ì´ ìž¥ì¹˜ë¥¼ 사용하기 위해선 개발ìžë“¤ì´ ì—뮬레ì´ì…˜ì„ 개선할 때까"
-"ì§€ 기다리는 ìˆ˜ë°–ì— ì—†ìŠµë‹ˆë‹¤.\n"
+#: src/frontend/mame/ui/ui.cpp:1452
+#, c-format
+msgid "%1$s Horiz Position"
+msgstr "%1$s 가로방향 위치"
-#: src/frontend/mame/ui/info.cpp:251
-msgid ""
-"\n"
-"Elements of this machine cannot be emulated as they requires physical "
-"interaction or consist of mechanical devices. It is not possible to fully "
-"experience this machine.\n"
-msgstr ""
-"\n"
-"ì´ ìž¥ì¹˜ì˜ ìš”ì†Œ ì¼ë¶€ëŠ” ì§ì ‘ì ì¸ ìƒí˜¸ìž‘ìš©ì´ë‚˜ 별ë„ì˜ ë³´ì¡°ìž¥ë¹„ì— ì˜ì¡´í•˜ê³  있습니"
-"다. ë•Œë¬¸ì— ì—뮬레ì´ì…˜ë§Œìœ¼ë¡œ ì´ ìž¥ì¹˜ë¥¼ 완벽히 재현하는 ê²ƒì€ ê°€ëŠ¥í•˜ì§€ 않습니"
-"다.\n"
+#: src/frontend/mame/ui/ui.cpp:1454
+#, c-format
+msgid "%1$s Vert Stretch"
+msgstr "%1$s 세로방향 연장"
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1456
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
-msgstr ""
-"\n"
-"\n"
-"ì´ ìž¥ì¹˜ëŠ” ìž‘ë™ê°€ëŠ¥í•œ 복제íŒì´ 있습니다: %s"
+msgid "%1$s Vert Position"
+msgstr "%1$s 세로방향 위치"
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
-msgstr ""
-"\n"
-"\n"
-"아무 키를 누르면 진행합니다"
+#: src/frontend/mame/ui/ui.cpp:1475
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
+msgstr "ë ˆì´ì €ë””ìŠ¤í¬ '%1$s' 가로방향 연장"
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/ui.cpp:1477
#, c-format
-msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
-msgstr ""
-"%1$s\n"
-"%2$s %3$s\n"
-"드ë¼ì´ë²„: %4$s\n"
-"\n"
-"CPU:\n"
+msgid "Laserdisc '%1$s' Horiz Position"
+msgstr "ë ˆì´ì €ë””ìŠ¤í¬ '%1$s' 가로방향 위치"
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
-msgstr "MHz"
+#: src/frontend/mame/ui/ui.cpp:1479
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
+msgstr "ë ˆì´ì €ë””ìŠ¤í¬ '%1$s' 세로방향 연장"
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
-msgstr "kHZ"
+#: src/frontend/mame/ui/ui.cpp:1481
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
+msgstr "ë ˆì´ì €ë””ìŠ¤í¬ '%1$s' 세로방향 위치"
+
+#: src/frontend/mame/ui/ui.cpp:1493
+msgid "Vector Flicker"
+msgstr "벡터 깜빡임"
+
+#: src/frontend/mame/ui/ui.cpp:1494
+msgid "Beam Width Minimum"
+msgstr "ì„  í­ ìµœì†ŒëŸ‰"
+
+#: src/frontend/mame/ui/ui.cpp:1495
+msgid "Beam Width Maximum"
+msgstr "ì„  í­ ìµœëŒ€ëŸ‰"
+
+#: src/frontend/mame/ui/ui.cpp:1496
+msgid "Beam Intensity Weight"
+msgstr "ì„  ê°•ë„ ë¹„ì¤‘"
+
+#: src/frontend/mame/ui/ui.cpp:1511
+#, c-format
+msgid "Crosshair Scale %1$s"
+msgstr "조준선 í¬ê¸° %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "X"
+msgstr "X"
-#: src/frontend/mame/ui/info.cpp:350
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "Y"
+msgstr "Y"
+
+#: src/frontend/mame/ui/ui.cpp:1513
+#, c-format
+msgid "Crosshair Offset %1$s"
+msgstr "조준선 ì˜ì  %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1601
+#, c-format
+msgid "%1$3ddB"
+msgstr "%1$3ddB"
+
+#: src/frontend/mame/ui/ui.cpp:1645
+#, c-format
+msgid "%1$d%%"
+msgstr "%1$d%%"
+
+#: src/frontend/mame/ui/ui.cpp:1661
+#, c-format
+msgid "%1$3.0f%%"
+msgstr "%1$3.0f%%"
+
+#: src/frontend/mame/ui/ui.cpp:1685
+#, c-format
+msgid "%1$.3ffps"
+msgstr "%1$.3ffps"
+
+#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
+#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
+#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
+#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
+#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
+#: src/frontend/mame/ui/ui.cpp:1927
+#, c-format
+msgid "%1$.3f"
+msgstr "%1$.3f"
+
+#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
+#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
+#, c-format
+msgid "%1$1.2f"
+msgstr "%1$1.2f"
+
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
+msgstr "조준선 í¬ê¸° X %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
+msgstr "조준선 í¬ê¸° Y %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
+msgstr "조준선 ì˜ì  X %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
+msgstr "조준선 ì˜ì  Y %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
+msgstr "**ui.ini 저장 오류**"
+
+#: src/frontend/mame/ui/ui.cpp:2226
+#, c-format
+msgid "**Error saving %s.ini**"
+msgstr "**%s.ini 저장 오류**"
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " COLORS"
+msgstr " COLORS"
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " PENS"
+msgstr " PENS"
+
+#: src/frontend/mame/ui/devopt.cpp:39
+#, c-format
msgid ""
+"[This option is currently mounted in the running system]\n"
"\n"
-"Sound:\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"The selected option enables the following items:\n"
msgstr ""
+"[현재 ê°€ë™ì¤‘ì¸ ì‹œìŠ¤í…œì— ë‹¤ìŒ ì˜µì…˜ì´ ì ìš©ë¼ìžˆìŠµë‹ˆë‹¤]\n"
"\n"
-"사운드:\n"
+"옵션: %1$s\n"
+"장치: %2$s\n"
+"\n"
+"현재 ì„ íƒëœ ì˜µì…˜ì€ ë‹¤ìŒ í•­ëª©ì„ í™œì„±í™”í•©ë‹ˆë‹¤:\n"
-#: src/frontend/mame/ui/info.cpp:378
+#: src/frontend/mame/ui/devopt.cpp:40
+#, c-format
msgid ""
+"[This option is NOT currently mounted in the running system]\n"
"\n"
-"Video:\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"If you select this option, the following items will be enabled:\n"
msgstr ""
+"[현재 ê°€ë™ì¤‘ì¸ ì‹œìŠ¤í…œì— ë‹¤ìŒ ì˜µì…˜ì€ ì ìš©ë˜ì§€ 않습니다]\n"
"\n"
-"비디오:\n"
-
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
-msgstr "ì—†ìŒ\n"
-
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
-msgstr "벡터"
-
-#: src/frontend/mame/ui/info.cpp:400
-#, c-format
-msgid "%1$s: %2$s\n"
-msgstr "%1$s: %2$s\n"
+"옵션: %1$s\n"
+"장치: %2$s\n"
+"\n"
+"ì´ ì˜µì…˜ì„ ì„ íƒí•˜ë©´ ë‹¤ìŒ í•­ëª©ì„ í™œì„±í™”í•©ë‹ˆë‹¤:\n"
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
-msgstr "%2$s\n"
+#: src/frontend/mame/ui/devopt.cpp:48
+msgid "* CPU:\n"
+msgstr "* CPU:\n"
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
#, c-format
-msgid "Screen '%1$s'"
-msgstr "화면 '%1$s'"
+msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+msgstr " %1$d×%2$s %3$d.%4$06d MHz\n"
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr "화면"
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
+msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
+msgstr " %1$d×%2$s %5$d.%6$03d kHz\n"
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
-msgstr "ì§€ì› ì•ˆ 함"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %3$d.%4$06d MHz\n"
+msgstr " %2$s %3$d.%4$06d MHz\n"
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
-msgstr "부분ì ìœ¼ë¡œ ì§€ì›í•¨"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %5$d.%6$03d kHz\n"
+msgstr " %2$s %5$d.%6$03d kHz\n"
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
-msgstr "[공백]"
+#: src/frontend/mame/ui/devopt.cpp:85
+msgid "* Video:\n"
+msgstr "* 비디오:\n"
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
-msgstr "조작반"
+#: src/frontend/mame/ui/devopt.cpp:90
+#, c-format
+msgid " Screen '%1$s': Vector\n"
+msgstr " 화면 '%1$s': 벡터\n"
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
-msgstr "삽화 미리보기"
+#: src/frontend/mame/ui/devopt.cpp:99
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+msgstr " 화면 '%1$s': %2$d × %3$d (V) %4$f Hz\n"
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
-msgstr "게임 오버"
+#: src/frontend/mame/ui/devopt.cpp:100
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+msgstr " 화면 '%1$s': %2$d × %3$d (H) %4$f Hz\n"
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
-msgstr "ì¦ê²¨ì°¾ê¸° 추가 ë° ì‚­ì œ"
+#: src/frontend/mame/ui/devopt.cpp:113
+msgid "* Sound:\n"
+msgstr "* 사운드:\n"
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
-msgstr "í‘œì‹œëœ ëª©ë¡ì„ 파ì¼ë¡œ 보내기"
+#: src/frontend/mame/ui/devopt.cpp:133
+#, c-format
+msgid " %1$d×%2$s\n"
+msgstr " %1$d×%2$s\n"
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
-msgstr "DAT 화면 ë³´ì´ê¸°"
+#: src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s\n"
+msgstr " %2$s\n"
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
-msgstr "ì„ íƒí•œ 소프트웨어 요소:"
+#: src/frontend/mame/ui/devopt.cpp:164
+#, c-format
+msgid ""
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
+msgstr ""
+"* BIOS 설정:\n"
+" %1$d 옵션 [기본: %2$s]\n"
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
-msgstr "ë°”ì´ì˜¤ìФ ì„ íƒ:"
+#: src/frontend/mame/ui/devopt.cpp:204 src/frontend/mame/ui/devopt.cpp:220
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " %1$s [default: %2$s]\n"
+msgstr " %1$s [기본: %2$s]\n"
-#: src/frontend/mame/ui/selmenu.cpp:622
+#: src/frontend/mame/ui/devopt.cpp:209 src/frontend/mame/ui/devopt.cpp:225
#, c-format
-msgid "Software is clone of: %1$-.100s"
-msgstr "ì´ ì†Œí”„íŠ¸ì›¨ì–´ëŠ” 다ìŒì˜ 복제입니다: %1$-.100s"
+msgid " %1$s\n"
+msgstr " %1$s\n"
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
-msgstr "ì´ ì†Œí”„íŠ¸ì›¨ì–´ëŠ” ì›í˜•입니다"
+#: src/frontend/mame/ui/devopt.cpp:230
+msgid "* DIP switch settings:\n"
+msgstr "* DIP 스위치 설정:\n"
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
-msgstr "ì§€ì›ì—¬ë¶€: 아니오"
+#: src/frontend/mame/ui/devopt.cpp:232
+msgid "* Configuration settings:\n"
+msgstr "* 환경 설정:\n"
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
-msgstr "ì§€ì›ì—¬ë¶€: 부분ì "
+#: src/frontend/mame/ui/devopt.cpp:234
+msgid "* Input device(s):\n"
+msgstr "* 입력 장치:\n"
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
-msgstr "ì§€ì›ì—¬ë¶€: 예"
+#: src/frontend/mame/ui/devopt.cpp:236
+#, c-format
+msgid " User inputs [%1$d inputs]\n"
+msgstr " ì‚¬ìš©ìž ìž…ë ¥ [%1$d ìž…ë ¥]\n"
-#: src/frontend/mame/ui/selmenu.cpp:644
+#: src/frontend/mame/ui/devopt.cpp:238
#, c-format
-msgid "romset: %1$-.100s"
-msgstr "롬셋: %1$-.100s"
+msgid " Mahjong inputs [%1$d inputs]\n"
+msgstr " 마작 입력 [%1$d 입력]\n"
-#: src/frontend/mame/ui/selmenu.cpp:660
+#: src/frontend/mame/ui/devopt.cpp:240
#, c-format
-msgid "Driver is clone of: %1$-.100s"
-msgstr "ì´ ë“œë¼ì´ë²„는 다ìŒì˜ 복제입니다: %1$-.100s"
+msgid " Hanafuda inputs [%1$d inputs]\n"
+msgstr " 화투 입력 [%1$d 입력]\n"
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
-msgstr "ì´ ë“œë¼ì´ë²„는 ì›í˜•입니다"
+#: src/frontend/mame/ui/devopt.cpp:242
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
+msgstr " ê²œë¸”ë§ ìž…ë ¥ [%1$d ìž…ë ¥]\n"
-#: src/frontend/mame/ui/selmenu.cpp:698
+#: src/frontend/mame/ui/devopt.cpp:244
#, c-format
-msgid "%1$s %2$s"
-msgstr "%1$s %2$s"
+msgid " Analog inputs [%1$d inputs]\n"
+msgstr " 아날로그 입력 [%1$d 입력]\n"
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
-msgstr "사진"
+#: src/frontend/mame/ui/devopt.cpp:246
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
+msgstr " ì¡°ì •ìž ìž…ë ¥ [%1$d ìž…ë ¥]\n"
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
-msgstr "ì •ë³´"
+#: src/frontend/mame/ui/devopt.cpp:248
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
+msgstr " 키패드 입력 [%1$d 입력]\n"
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
-msgstr "사용"
+#: src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
+msgstr " 키보드 입력 [%1$d 입력]\n"
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
-msgstr "ì¼ë°˜ ì •ë³´"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* Media Options:\n"
+msgstr "* 미디어 설정:\n"
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
-msgstr "ì‚¬ìš©ìž ì¸í„°íŽ˜ì´ìФ"
+#: src/frontend/mame/ui/devopt.cpp:257
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
+msgstr " %1$s [태그: %2$s]\n"
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
-msgstr "기타 조작"
+#: src/frontend/mame/ui/devopt.cpp:263
+msgid "* Slot Options:\n"
+msgstr "* 슬롯 설정:\n"
+
+#: src/frontend/mame/ui/devopt.cpp:270
+msgid "[None]\n"
+msgstr "[ì—†ìŒ]\n"
#: plugins/timer/init.lua:94
msgid "Current time"
@@ -2756,51 +2675,51 @@ msgstr "í”Œë ˆì´ íšŸìˆ˜"
msgid "Timer"
msgstr "타ì´ë¨¸"
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:510
msgid "Select cheat to set hotkey"
msgstr "단축키를 지정할 치트를 ì„ íƒí•˜ì‹­ì‹œì˜¤"
-#: plugins/cheat/init.lua:534
+#: plugins/cheat/init.lua:516
msgid "Press button for hotkey or wait to clear"
msgstr "단축키를 할당할 ë²„íŠ¼ì„ ëˆ„ë¥´ê±°ë‚˜ 빌 때까지 기다리십시오"
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:528
msgid "None"
msgstr "ì—†ìŒ"
-#: plugins/cheat/init.lua:551
+#: plugins/cheat/init.lua:533
msgid "Done"
msgstr "완료"
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:547 plugins/cheat/init.lua:561
msgid "Set"
msgstr "설정"
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:580
msgid "Set hotkeys"
msgstr "단축키 설정"
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:720
#, lua-format
msgid "Activated: %s = %s"
msgstr "활성화: %s = %s"
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:723 plugins/cheat/init.lua:781
#, lua-format
msgid "Activated: %s"
msgstr "활성화: %s"
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:785
#, lua-format
msgid "Enabled: %s"
msgstr "실행중: %s"
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:790
#, lua-format
msgid "Disabled: %s"
msgstr "실행중지: %s"
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "%s added"
msgstr "%s 추가"
@@ -2853,49 +2772,49 @@ msgstr "Gameinit"
msgid "MARPScore"
msgstr "MARP ì ìˆ˜"
-#: plugins/cheatfind/init.lua:404
+#: plugins/cheatfind/init.lua:373
msgid "Save Cheat"
msgstr "치트 저장"
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Default"
msgstr "기본"
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Custom"
msgstr "ìž„ì˜"
-#: plugins/cheatfind/init.lua:408
+#: plugins/cheatfind/init.lua:377
msgid "Cheat Name"
msgstr "치트 ì´ë¦„"
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/cheatfind/init.lua:383 plugins/cheatfind/init.lua:748
#, lua-format
msgid "Default name is %s"
msgstr "기본 ì´ë¦„ - %s"
-#: plugins/cheatfind/init.lua:422
+#: plugins/cheatfind/init.lua:391
msgid "Player"
msgstr "플레ì´ì–´"
-#: plugins/cheatfind/init.lua:427
+#: plugins/cheatfind/init.lua:396
msgid "Type"
msgstr "유형"
-#: plugins/cheatfind/init.lua:433
+#: plugins/cheatfind/init.lua:402
msgid "Save"
msgstr "저장"
-#: plugins/cheatfind/init.lua:462
+#: plugins/cheatfind/init.lua:429
#, lua-format
msgid "Cheat written to %s and added to cheat.simple"
msgstr "치트를 %sì— ì“°ê³  cheat.simpleì— ì¶”ê°€í•©ë‹ˆë‹¤"
-#: plugins/cheatfind/init.lua:472
+#: plugins/cheatfind/init.lua:437
msgid "Cheat added to cheat.simple"
msgstr "치트를 cheat.simpleì— ì¶”ê°€í•©ë‹ˆë‹¤"
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:442
msgid ""
"Unable to write file\n"
"Ensure that cheatpath folder exists"
@@ -2903,291 +2822,170 @@ msgstr ""
"파ì¼ì„ 쓸 수 없습니다\n"
"cheatpath í´ë”ê°€ 존재하는지 확ì¸í•˜ì‹­ì‹œì˜¤"
-#: plugins/cheatfind/init.lua:486
+#: plugins/cheatfind/init.lua:451
msgid "Cancel"
msgstr "취소"
-#: plugins/cheatfind/init.lua:491
+#: plugins/cheatfind/init.lua:456
msgid "CPU or RAM"
msgstr "CPU í˜¹ì€ RAM"
-#: plugins/cheatfind/init.lua:495
+#: plugins/cheatfind/init.lua:460
msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr "ì´ ë³€ê²½ì€ \"새 검색 시작\"ì„ ì„ íƒí–ˆì„ 때부터 ì ìš©ë©ë‹ˆë‹¤"
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
-msgstr ""
+#: plugins/cheatfind/init.lua:479
+msgid "Data cleared and current state saved"
+msgstr "ë°ì´í„° 정리 완료 ë° í˜„ìž¬ ìƒíƒœ 저장ë¨"
-#: plugins/cheatfind/init.lua:551
+#: plugins/cheatfind/init.lua:487
msgid "Start new search"
msgstr "새 검색 시작"
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
-msgstr ""
+#: plugins/cheatfind/init.lua:497
+msgid "Current state saved"
+msgstr "현재 ìƒíƒœ 저장ë¨"
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
-msgstr ""
+#: plugins/cheatfind/init.lua:504
+msgid "Save current -- #"
+msgstr "현재 저장 -- #"
-#: plugins/cheatfind/init.lua:614
+#: plugins/cheatfind/init.lua:536
#, lua-format
msgid "%d total matches found"
msgstr "ì´ %dê°œì˜ ê°’ì´ ì¼ì¹˜í•¨"
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
-msgstr ""
+#: plugins/cheatfind/init.lua:543
+msgid "Compare"
+msgstr "비êµ"
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
-msgstr ""
+#: plugins/cheatfind/init.lua:546
+msgid "Left operand"
+msgstr "좌측 피연산ìž"
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
-msgstr ""
+#: plugins/cheatfind/init.lua:549
+msgid "Current"
+msgstr "현재"
+
+#: plugins/cheatfind/init.lua:554
+msgid "Operator"
+msgstr "ì—°ì‚°ìž"
+
+#: plugins/cheatfind/init.lua:561
+msgid "Left less than right, value is difference"
+msgstr "좌가 우보다 ìž‘ìŒ, 해당 ê°’ì€ ì°¨ì´"
+
+#: plugins/cheatfind/init.lua:563
+msgid "Left greater than right, value is difference"
+msgstr "좌가 우보다 í¼, 해당 ê°’ì€ ì°¨ì´"
-#: plugins/cheatfind/init.lua:676
+#: plugins/cheatfind/init.lua:565
msgid "Left equal to right"
msgstr "좌와 ìš°ê°€ ê°™ìŒ"
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
-msgstr ""
+#: plugins/cheatfind/init.lua:567
+msgid "Left not equal to right, value is difference"
+msgstr "좌와 ìš°ê°€ 같지 않ìŒ, 해당 ê°’ì€ ì°¨ì´"
-#: plugins/cheatfind/init.lua:680
+#: plugins/cheatfind/init.lua:569
msgid "Left equal to right with bitmask"
msgstr "좌와 ìš°ì˜ ë¹„íŠ¸ë§ˆìŠ¤í¬ê°’ì´ ì¼ì¹˜"
-#: plugins/cheatfind/init.lua:682
+#: plugins/cheatfind/init.lua:571
msgid "Left not equal to right with bitmask"
msgstr "좌와 ìš°ì˜ ë¹„íŠ¸ë§ˆìŠ¤í¬ê°’ì´ ì¼ì¹˜í•˜ì§€ 않ìŒ"
-#: plugins/cheatfind/init.lua:684
+#: plugins/cheatfind/init.lua:573
msgid "Left less than value"
msgstr "좌가 해당 값보다 ìž‘ìŒ"
-#: plugins/cheatfind/init.lua:686
+#: plugins/cheatfind/init.lua:575
msgid "Left greater than value"
msgstr "좌가 해당 값보다 í¼"
-#: plugins/cheatfind/init.lua:688
+#: plugins/cheatfind/init.lua:577
msgid "Left equal to value"
msgstr "좌가 해당 ê°’ê³¼ ê°™ìŒ"
-#: plugins/cheatfind/init.lua:690
+#: plugins/cheatfind/init.lua:579
msgid "Left not equal to value"
msgstr "좌가 해당 ê°’ê³¼ 같지 않ìŒ"
-#: plugins/cheatfind/init.lua:712
+#: plugins/cheatfind/init.lua:590
+msgid "Right operand"
+msgstr "우측 피연산ìž"
+
+#: plugins/cheatfind/init.lua:598
msgid "Value"
msgstr "ê°’"
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:719
+#: plugins/cheatfind/init.lua:602
msgid "Any"
msgstr "ìž„ì˜"
-#: plugins/cheatfind/init.lua:725
+#: plugins/cheatfind/init.lua:608
msgid "Data Format"
msgstr "ë°ì´í„° 형ì‹"
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:738
-msgid ""
-"Use this if you want to poke the Slot 1 value (eg. You started with "
-"something but lost it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:740
-msgid ""
-"Use this if you want to poke the Last Slot value (eg. You started without an "
-"item but finally got it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:816
+#: plugins/cheatfind/init.lua:632
msgid "Undo last search -- #"
msgstr "가장 최근 검색 취소 -- #"
-#: plugins/cheatfind/init.lua:820
+#: plugins/cheatfind/init.lua:636
msgid "Match block"
msgstr "ì¼ì¹˜ 블ë¡"
-#: plugins/cheatfind/init.lua:823
+#: plugins/cheatfind/init.lua:639
msgid "All"
msgstr "ì „ì²´"
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheatfind/init.lua:690
#, lua-format
-msgid "Test Cheat %08X:%02X"
-msgstr ""
+msgid "Test cheat at addr %08X"
+msgstr "주소 %08Xì— ì¹˜íŠ¸ 시험"
-#: plugins/cheatfind/init.lua:974
+#: plugins/cheatfind/init.lua:722
msgid "Cheat engine not available"
msgstr "치트 엔진 ì´ìš© 불가"
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Test"
msgstr "시험"
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Write"
msgstr "쓰기"
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Watch"
msgstr "주시"
-#: plugins/cheatfind/init.lua:1045
+#: plugins/cheatfind/init.lua:788
msgid "Page"
msgstr "쪽"
-#: plugins/cheatfind/init.lua:1063
+#: plugins/cheatfind/init.lua:806
msgid "Clear Watches"
msgstr "주시 항목 지우기"
-#: plugins/cheatfind/init.lua:1078
+#: plugins/cheatfind/init.lua:816
msgid "Cheat Finder"
msgstr "치트 íƒìƒ‰ê¸°"
-#: plugins/portname/init.lua:103
+#: plugins/portname/init.lua:69
msgid "Save input names to file"
msgstr "ìž…ë ¥ ì´ë¦„ì„ íŒŒì¼ì— 저장"
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
+#: plugins/portname/init.lua:100 plugins/portname/init.lua:105
+#: plugins/portname/init.lua:121
msgid "Failed to save input name file"
msgstr "ìž…ë ¥ ì´ë¦„ íŒŒì¼ ì°¾ì„ ìˆ˜ ì—†ìŒ"
-#: plugins/portname/init.lua:167
+#: plugins/portname/init.lua:133
#, lua-format
msgid "Input port name file saved to %s"
msgstr "ìž…ë ¥ í¬íЏ ì´ë¦„ 파ì¼ì´ %sì— ì €ìž¥ë¨"
-#: plugins/portname/init.lua:172
+#: plugins/portname/init.lua:138
msgid "Input ports"
msgstr "ìž…ë ¥ í¬íЏ"
-
-#~ msgid "Data cleared and current state saved"
-#~ msgstr "ë°ì´í„° 정리 완료 ë° í˜„ìž¬ ìƒíƒœ 저장ë¨"
-
-#~ msgid "Current state saved"
-#~ msgstr "현재 ìƒíƒœ 저장ë¨"
-
-#~ msgid "Save current -- #"
-#~ msgstr "현재 저장 -- #"
-
-#~ msgid "Compare"
-#~ msgstr "비êµ"
-
-#~ msgid "Left operand"
-#~ msgstr "좌측 피연산ìž"
-
-#~ msgid "Current"
-#~ msgstr "현재"
-
-#~ msgid "Operator"
-#~ msgstr "ì—°ì‚°ìž"
-
-#~ msgid "Left less than right, value is difference"
-#~ msgstr "좌가 우보다 ìž‘ìŒ, 해당 ê°’ì€ ì°¨ì´"
-
-#~ msgid "Left greater than right, value is difference"
-#~ msgstr "좌가 우보다 í¼, 해당 ê°’ì€ ì°¨ì´"
-
-#~ msgid "Left not equal to right, value is difference"
-#~ msgstr "좌와 ìš°ê°€ 같지 않ìŒ, 해당 ê°’ì€ ì°¨ì´"
-
-#~ msgid "Right operand"
-#~ msgstr "우측 피연산ìž"
-
-#~ msgid "Test cheat at addr %08X"
-#~ msgstr "주소 %08Xì— ì¹˜íŠ¸ 시험"
diff --git a/language/Latvian/strings.po b/language/Latvian/strings.po
index 8bdad5c9b05..17f7f038de3 100644
--- a/language/Latvian/strings.po
+++ b/language/Latvian/strings.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MAME\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-03-17 13:37+1100\n"
+"POT-Creation-Date: 2018-04-28 15:32+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -18,1144 +18,1041 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : "
"2);\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
+#: src/frontend/mame/ui/auditmenu.cpp:96
#, c-format
-msgid "Screen #%d"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Enabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Disabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
-msgid "Marquees"
+#: src/frontend/mame/ui/auditmenu.cpp:99
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/auditmenu.cpp:104
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/auditmenu.cpp:130
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/auditmenu.cpp:142
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/selmenu.cpp:49 src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/selmenu.cpp:50 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/selmenu.cpp:51
+msgid "Control Panels"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/selmenu.cpp:52 src/frontend/mame/ui/dirmenu.cpp:50
+msgid "PCBs"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/selmenu.cpp:53 src/frontend/mame/ui/dirmenu.cpp:47
+msgid "Flyers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/selmenu.cpp:54 src/frontend/mame/ui/dirmenu.cpp:48
+msgid "Titles"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/selmenu.cpp:55 src/frontend/mame/ui/dirmenu.cpp:49
+msgid "Ends"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/selmenu.cpp:56
+msgid "Artwork Preview"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/selmenu.cpp:57 src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Bosses"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/selmenu.cpp:58 src/frontend/mame/ui/dirmenu.cpp:60
+msgid "Logos"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/selmenu.cpp:59 src/frontend/mame/ui/dirmenu.cpp:62
+msgid "Versus"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/selmenu.cpp:60
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/selmenu.cpp:61 src/frontend/mame/ui/dirmenu.cpp:59
+msgid "HowTo"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/selmenu.cpp:62 src/frontend/mame/ui/dirmenu.cpp:61
+msgid "Scores"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/selmenu.cpp:63 src/frontend/mame/ui/dirmenu.cpp:57
+msgid "Select"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/selmenu.cpp:64 src/frontend/mame/ui/dirmenu.cpp:51
+#: src/frontend/mame/ui/videoopt.cpp:224
+msgid "Marquees"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/selmenu.cpp:65 src/frontend/mame/ui/dirmenu.cpp:63
+msgid "Covers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/selmenu.cpp:69
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/selmenu.cpp:70
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/selmenu.cpp:71
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/selmenu.cpp:237
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/selmenu.cpp:343
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/selmenu.cpp:570 src/frontend/mame/ui/selmenu.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:311
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/selmenu.cpp:574
+#, c-format
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/selmenu.cpp:576
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/selmenu.cpp:581
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/selmenu.cpp:586
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/selmenu.cpp:591
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selmenu.cpp:596
+#, c-format
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selmenu.cpp:612
#, c-format
-msgid "Current %1$s Folders"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selmenu.cpp:614
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selmenu.cpp:619
+#: src/frontend/mame/ui/simpleselgame.cpp:330
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selmenu.cpp:621
+#: src/frontend/mame/ui/simpleselgame.cpp:332
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:623
+#: src/frontend/mame/ui/simpleselgame.cpp:334
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:627
+#: src/frontend/mame/ui/simpleselgame.cpp:338
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/selmenu.cpp:629
+#: src/frontend/mame/ui/simpleselgame.cpp:340
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/selmenu.cpp:631
+#: src/frontend/mame/ui/simpleselgame.cpp:342
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/selmenu.cpp:634
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/selmenu.cpp:636
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/selmenu.cpp:638
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/selmenu.cpp:640
+#: src/frontend/mame/ui/simpleselgame.cpp:351
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/selmenu.cpp:650
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/selmenu.cpp:1975
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/selmenu.cpp:1976
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/selmenu.cpp:2386 src/frontend/mame/ui/miscmenu.cpp:826
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/selmenu.cpp:2454
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/selmenu.cpp:2489
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/dirmenu.cpp:35
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/dirmenu.cpp:36
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
-#: src/frontend/mame/ui/slotopt.cpp:220
-msgid "[empty slot]"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/dirmenu.cpp:40
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/dirmenu.cpp:52
+msgid "Controls Panels"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/dirmenu.cpp:53
+msgid "Crosshairs"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Artworks"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks Preview"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "GameOver"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/dirmenu.cpp:116
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/dirmenu.cpp:167
+#, c-format
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/dirmenu.cpp:182
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/dirmenu.cpp:429
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/dirmenu.cpp:513
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/info.cpp:30
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "LAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/info.cpp:180
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/info.cpp:190
+msgid ""
+"There are known problems with this machine\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/info.cpp:195
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/info.cpp:200
+msgid "Completely unemulated features: "
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#, c-format
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#: src/frontend/mame/ui/info.cpp:267
+#, c-format
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/info.cpp:216
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/info.cpp:231
+msgid "Screen flipping in cocktail mode is not supported.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/info.cpp:233
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/info.cpp:235
+msgid ""
+"This machine was never completed. It may exhibit strange behavior or missing "
+"elements that are not bugs in the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/info.cpp:237
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/info.cpp:241
+msgid ""
+"\n"
+"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
+"complete. There is nothing you can do to fix this problem except wait for "
+"the developers to improve the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/info.cpp:243
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they requires physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/info.cpp:265
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/info.cpp:278
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/info.cpp:293
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:149
+#: src/frontend/mame/ui/info.cpp:342
msgid ""
-"The selected game is missing one or more required ROM or CHD images. Please "
-"select a different game.\n"
"\n"
-"Press any key to continue."
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:247
-#, c-format
+#: src/frontend/mame/ui/info.cpp:370
msgid ""
-"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
"\n"
-"If this is your first time using %2$s, please see the config.txt file in the "
-"docs directory for information on configuring %2$s."
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+"Video:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/info.cpp:374
+msgid "None\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/info.cpp:381
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:314
-#: src/frontend/mame/ui/selsoft.cpp:652 src/frontend/mame/ui/selsoft.cpp:659
+#: src/frontend/mame/ui/info.cpp:392
#, c-format
-msgid "%1$-.100s"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:317
-#: src/frontend/mame/ui/selmenu.cpp:618 src/frontend/mame/ui/selmenu.cpp:654
-#, c-format
-msgid "%1$s, %2$-.100s"
+#: src/frontend/mame/ui/info.cpp:392
+msgid "%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
+#: src/frontend/mame/ui/info.cpp:438
#, c-format
-msgid "Driver: %1$-.100s"
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+msgid "Screen '%1$s'"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/info.cpp:440
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/info.cpp:525
+msgid "Not supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/info.cpp:528
+msgid "Partially supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/info.cpp:536
+msgid "[empty]"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/optsmenu.cpp:193
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/optsmenu.cpp:206
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/optsmenu.cpp:207
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/optsmenu.cpp:210 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/optsmenu.cpp:213
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/optsmenu.cpp:216
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/optsmenu.cpp:228
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:337
-msgid "This driver requires images to be loaded in the following device(s): "
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
+msgid "Rewind"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1302
-#, c-format
-msgid ""
-"Are you sure you want to quit?\n"
-"\n"
-"Press ''%1$s'' to quit,\n"
-"Press ''%2$s'' to return to emulation."
+#: src/frontend/mame/ui/inputmap.cpp:53
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/inputmap.cpp:59
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
+#: src/frontend/mame/ui/inputmap.cpp:628 src/frontend/mame/ui/miscmenu.cpp:96
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/selector.cpp:116
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
+#: src/frontend/mame/ui/selector.cpp:124
#, c-format
-msgid "Overclock %1$s sound"
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/filesel.cpp:256
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/swlist.cpp:88
+msgid "[file manager]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/swlist.cpp:228
+msgid "Switch Item Ordering"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
+#: src/frontend/mame/ui/swlist.cpp:259
#, c-format
-msgid "%1$s Horiz Stretch"
+msgid "Switched Order: entries now ordered by %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "shortname"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "description"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/swlist.cpp:389
+msgid "[compatible lists]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/datmenu.cpp:80
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/datmenu.cpp:362
+msgid "Revision: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/simpleselgame.cpp:149
+msgid ""
+"The selected game is missing one or more required ROM or CHD images. Please "
+"select a different game.\n"
+"\n"
+"Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
+#: src/frontend/mame/ui/simpleselgame.cpp:241
#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+msgid ""
+"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
+"\n"
+"If this is your first time using %2$s, please see the config.txt file in the "
+"docs directory for information on configuring %2$s."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/simpleselgame.cpp:271
+#: src/frontend/mame/ui/selgame.cpp:436
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/simpleselgame.cpp:292
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/simpleselgame.cpp:294
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
+#: src/frontend/mame/ui/simpleselgame.cpp:308
+#: src/frontend/mame/ui/selsoft.cpp:564 src/frontend/mame/ui/selsoft.cpp:571
#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/simpleselgame.cpp:314
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
+#: src/frontend/mame/ui/videoopt.cpp:56
#, c-format
-msgid "Crosshair Offset %1$s"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/videoopt.cpp:208
+msgid "Backdrops"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Enabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Disabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
-#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
-#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
-#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
-#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
-#: src/frontend/mame/ui/ui.cpp:1927
-#, c-format
-msgid "%1$.3f"
+#: src/frontend/mame/ui/videoopt.cpp:212
+msgid "Overlays"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
-#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
-#, c-format
-msgid "%1$1.2f"
+#: src/frontend/mame/ui/videoopt.cpp:216
+msgid "Bezels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:220
+msgid "CPanels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "View"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cropped"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Full"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1047
+msgid "No"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
-msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1047
+msgid "Yes"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
-msgid ""
-"Cheat Comment:\n"
-"%s"
+#: src/frontend/mame/ui/filecreate.cpp:171
+msgid "New Image Name:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/filecreate.cpp:177
+msgid "Image Format:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/filecreate.cpp:183
+msgid "Create"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/filecreate.cpp:266
+msgid "Select image format"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Keyboard Mode:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Natural"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Emulated"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
+#: src/frontend/mame/ui/miscmenu.cpp:236
#, c-format
msgid ""
-"%s\n"
-" added to favorites list."
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
+#: src/frontend/mame/ui/miscmenu.cpp:238
#, c-format
msgid ""
-"%s\n"
-" removed from favorites list."
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/miscmenu.cpp:242
+#, c-format
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
+"Tickets dispensed: %1$d\n"
"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
+#: src/frontend/mame/ui/miscmenu.cpp:253
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/miscmenu.cpp:253
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
-#, c-format
-msgid "Driver: \"%1$s\" software list "
+#: src/frontend/mame/ui/miscmenu.cpp:256
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
-#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+#: src/frontend/mame/ui/miscmenu.cpp:503
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/miscmenu.cpp:601
#, c-format
-msgid "Search: %1$s_"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
-msgid "Unfiltered"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
-msgid "Available"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
-msgid "Unavailable"
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
-msgid "Working"
+#: src/frontend/mame/ui/miscmenu.cpp:627
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
-msgid "Not Working"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
-msgid "Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:655
+msgid "Export list in XML format (like -listxml)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
-msgid "Not Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:656
+msgid "Export list in XML format (like -listxml, but exclude devices)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
-msgid "Category"
+#: src/frontend/mame/ui/miscmenu.cpp:657
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
-msgid "Favorites"
+#: src/frontend/mame/ui/miscmenu.cpp:710 src/frontend/mame/ui/ui.cpp:2230
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/miscmenu.cpp:760 src/frontend/mame/ui/utils.cpp:66
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
-msgid "Not BIOS"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
-msgid "Parents"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
-msgid "Clones"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:73
-msgid "Manufacturer"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
-msgid "Year"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:75
-msgid "Save Supported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:76
-msgid "Save Unsupported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:77
-msgid "CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:78
-msgid "No CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:79
-msgid "Vertical Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:80
-msgid "Horizontal Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
-msgid "Custom Filter"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:91
-msgid "Publisher"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:92
-msgid "Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:764
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
-msgid "Partially Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:767
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
-msgid "Unsupported"
+#: src/frontend/mame/ui/miscmenu.cpp:776 src/frontend/mame/ui/mainmenu.cpp:145
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
-msgid "Release Region"
+#: src/frontend/mame/ui/miscmenu.cpp:778 src/frontend/mame/ui/mainmenu.cpp:147
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
-msgid "Device Type"
+#: src/frontend/mame/ui/miscmenu.cpp:781
+msgid "Save machine configuration"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
-msgid "Software List"
+#: src/frontend/mame/ui/miscmenu.cpp:792
+msgid "Configure machine:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
-msgid "<set up filters>"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:736
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:551 plugins/cheatfind/init.lua:619
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
-msgid "Select custom filters:"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:739
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:554 plugins/cheat/init.lua:563
+#: plugins/cheatfind/init.lua:616
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
-#, c-format
-msgid "Filter %1$u"
+#: src/frontend/mame/ui/miscmenu.cpp:909 src/frontend/mame/ui/selgame.cpp:441
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
-msgid "Remove last filter"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
-msgid "Add filter"
+#: src/frontend/mame/ui/barcode.cpp:78
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
-msgid "Select category:"
+#: src/frontend/mame/ui/barcode.cpp:119
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
-msgid "[no category INI files]"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:99
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
-msgid "[no groups in INI file]"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
-msgid "No category INI files found"
+#: src/frontend/mame/ui/mainmenu.cpp:60
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
-msgid "File"
+#: src/frontend/mame/ui/mainmenu.cpp:62
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
-msgid "No groups found in category file"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
-msgid "Group"
+#: src/frontend/mame/ui/mainmenu.cpp:68
+msgid "Dip Switches"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
-msgid "Include clones"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
+#: src/frontend/mame/ui/mainmenu.cpp:78
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/mainmenu.cpp:85
+msgid "Image Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/mainmenu.cpp:96
+msgid "Tape Control"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/mainmenu.cpp:102
+msgid "BIOS Selection"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/mainmenu.cpp:106
+msgid "Slot Devices"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
-#, c-format
-msgid "%s [internal]"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Barcode Reader"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:203 src/frontend/mame/ui/miscmenu.cpp:97
-#: src/frontend/mame/ui/inputmap.cpp:615
-msgid "Reset"
+#: src/frontend/mame/ui/mainmenu.cpp:114
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/mainmenu.cpp:118
+msgid "Keyboard Mode"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/mainmenu.cpp:121
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/mainmenu.cpp:124 src/frontend/mame/ui/submenu.cpp:101
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/mainmenu.cpp:128
+msgid "Crosshair Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/mainmenu.cpp:132 plugins/cheat/init.lua:735
+msgid "Cheat"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:762
-#: plugins/cheat/init.lua:569 plugins/cheatfind/init.lua:792
-#: plugins/cheatfind/init.lua:803
-msgid "On"
+#: src/frontend/mame/ui/mainmenu.cpp:135
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:765
-#: plugins/cheat/init.lua:572 plugins/cheat/init.lua:581
-#: plugins/cheatfind/init.lua:789 plugins/cheatfind/init.lua:800
-msgid "Off"
+#: src/frontend/mame/ui/mainmenu.cpp:139
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/mainmenu.cpp:154
+msgid "Select New Machine"
msgstr ""
#: src/frontend/mame/ui/custui.cpp:31
@@ -1378,1281 +1275,1303 @@ msgstr ""
msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/submenu.cpp:22
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/submenu.cpp:23
+msgid "Re-select last machine played"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/submenu.cpp:24
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:26
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:27
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:28
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:29
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:30
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
-#, c-format
-msgid "%s.txt saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/submenu.cpp:45
+msgid "Refresh speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/submenu.cpp:47
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/submenu.cpp:49
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
-msgid "Configure Machine"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
-#, c-format
-msgid "Romset\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
-#, c-format
-msgid "Year\t%1$s\n"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
-#, c-format
-msgid "Manufacturer\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
-#, c-format
-msgid "Driver is Clone of\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1044
-msgid "Driver is Parent\t\n"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
-msgid "Analog Controls\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Artwork Crop"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
-msgid "Keyboard Inputs\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Use Backdrops"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
-msgid "Overall\tNOT WORKING\n"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Use Overlays"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
-msgid "Overall\tUnemulated Protection\n"
+#: src/frontend/mame/ui/submenu.cpp:60
+msgid "Use Bezels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
-msgid "Overall\tWorking\n"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Use Control Panels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
-msgid "Graphics\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:62
+msgid "Use Marquees"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
-msgid "Graphics\tWrong Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
-msgid "Graphics\tImperfect Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
-msgid "Graphics\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
-msgid "Graphics\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Bilinear snapshot"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
-msgid "Sound\tNone\n"
+#: src/frontend/mame/ui/submenu.cpp:69
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
-msgid "Sound\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
-msgid "Sound\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:72
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
-msgid "Sound\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
-msgid "Capture\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
-msgid "Capture\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
-msgid "Camera\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
-msgid "Camera\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
-msgid "Microphone\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
-msgid "Microphone\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:79
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
-msgid "Controls\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
-msgid "Controls\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
-msgid "Keyboard\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Joystick saturation"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
-msgid "Keyboard\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Natural keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
-msgid "Mouse\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
-msgid "Mouse\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
-msgid "Media\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
-msgid "Media\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Lightgun Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
-msgid "Disk\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Trackball Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
-msgid "Disk\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
-msgid "Printer\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
-msgid "Printer\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
-msgid "Mag. Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:95
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
-msgid "Mag. Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:96
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
-msgid "Punch Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:97
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
-msgid "Punch Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
-msgid "Mag. Drum\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:103
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
-msgid "Mag. Drum\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
-msgid "(EP)ROM\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
-msgid "(EP)ROM\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
-msgid "Communications\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:109
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
-msgid "Communications\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:110
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
-msgid "LAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:111
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
-msgid "LAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:112
+msgid "Enforce Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
-msgid "WAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:113
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
-msgid "WAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:114
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
-msgid "Timing\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
-msgid "Timing\tImperfect\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tYes\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Select position to load from"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tNo\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tYes\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Select position to save to"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tNo\n"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:309 src/frontend/mame/ui/selsoft.cpp:211
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:314 src/frontend/mame/ui/selgame.cpp:320
+#: src/frontend/mame/ui/selsoft.cpp:216
+#, c-format
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:437
+msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:849
+#, c-format
+msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:850
+#, c-format
+msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:851
+#, c-format
+msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:855
+#, c-format
+msgid "Driver is Clone of\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:857
+msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tVertical\n"
+#: src/frontend/mame/ui/selgame.cpp:860
+msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tHorizontal\n"
+#: src/frontend/mame/ui/selgame.cpp:862
+msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:865
+msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:867
+msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
-msgid "ROM Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:869
+msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
-msgid "ROM Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:872
+msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
-msgid "Samples Audit Result\tNone Needed\n"
+#: src/frontend/mame/ui/selgame.cpp:874
+msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
-msgid "Samples Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:876
+msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
-msgid "Samples Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:878
+msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
-msgid ""
-"ROM Audit \tDisabled\n"
-"Samples Audit \tDisabled\n"
+#: src/frontend/mame/ui/selgame.cpp:880
+msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
+#: src/frontend/mame/ui/selgame.cpp:883
+msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1424
-#, c-format
-msgid "Romset: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:885
+msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
-#, c-format
-msgid "System: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:887
+msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1465
-msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
+#: src/frontend/mame/ui/selgame.cpp:889
+msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
+#: src/frontend/mame/ui/selgame.cpp:892
+msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
+#: src/frontend/mame/ui/selgame.cpp:894
+msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
+#: src/frontend/mame/ui/selgame.cpp:897
+msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
+#: src/frontend/mame/ui/selgame.cpp:899
+msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
+#: src/frontend/mame/ui/selgame.cpp:902
+msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selgame.cpp:904
+msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selgame.cpp:907
+msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/selgame.cpp:909
+msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/selgame.cpp:912
+msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/selgame.cpp:914
+msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/selgame.cpp:917
+msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/selgame.cpp:919
+msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/selgame.cpp:922
+msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/selgame.cpp:924
+msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/selgame.cpp:927
+msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/selgame.cpp:929
+msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/selgame.cpp:932
+msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/selgame.cpp:934
+msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/selgame.cpp:937
+msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/selgame.cpp:939
+msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/selgame.cpp:970
+msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/selgame.cpp:972
+msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/selgame.cpp:975
+msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/selgame.cpp:977
+msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/selgame.cpp:979
+msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/selgame.cpp:983
+msgid ""
+"ROM Audit \tDisabled\n"
+"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/selgame.cpp:1167
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/selgame.cpp:1183 src/frontend/mame/ui/selsoft.cpp:555
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/selgame.cpp:1185 src/frontend/mame/ui/selsoft.cpp:557
+#, c-format
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/selgame.cpp:1195
+#, c-format
+msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/selgame.cpp:1202
+#, c-format
+msgid "System: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/selgame.cpp:1239
+msgid ""
+"The selected machine is missing one or more required ROM or CHD images. "
+"Please select a different machine.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/selgame.cpp:1245 src/frontend/mame/ui/selsoft.cpp:462
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/utils.cpp:57 src/frontend/mame/ui/utils.cpp:81
+msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/utils.cpp:58 src/frontend/mame/ui/utils.cpp:82
+msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/utils.cpp:59 src/frontend/mame/ui/utils.cpp:83
+msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/utils.cpp:60
+msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/utils.cpp:61
+msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/utils.cpp:62
+msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:63
+msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:64
+msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:65
+msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:67
+msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:84
+msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/utils.cpp:85
+msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:70
+msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:86
+msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/utils.cpp:72
+msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/utils.cpp:73
+msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/utils.cpp:74
+msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/utils.cpp:75
+msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/utils.cpp:76
+msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/utils.cpp:77
+msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/utils.cpp:78 src/frontend/mame/ui/utils.cpp:94
+msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/utils.cpp:87
+msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/utils.cpp:88
+msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/utils.cpp:89
+msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/utils.cpp:90
+msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/utils.cpp:91
+msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:43
-#, c-format
-msgid ""
-"[This option is currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"The selected option enables the following items:\n"
+#: src/frontend/mame/ui/utils.cpp:92
+msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:44
-#, c-format
-msgid ""
-"[This option is NOT currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"If you select this option, the following items will be enabled:\n"
+#: src/frontend/mame/ui/utils.cpp:93
+msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/utils.cpp:244
+msgid "<set up filters>"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:352
+msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/utils.cpp:503
#, c-format
-msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
-msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:518
+msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %3$d.%4$06d MHz\n"
+#: src/frontend/mame/ui/utils.cpp:520
+msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:959
+msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/utils.cpp:990
+msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/utils.cpp:998
+msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:103
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1032
+msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1037
+msgid "File"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/utils.cpp:1041
+msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
-#, c-format
-msgid " %1$d×%2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1046
+msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1047
+msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:168
-#, c-format
+#: src/frontend/mame/ui/selsoft.cpp:456
msgid ""
-"* BIOS settings:\n"
-" %1$d options [default: %2$s]\n"
+"The selected software is missing one or more required files. Please select a "
+"different software.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:208 src/frontend/mame/ui/devopt.cpp:224
-#: src/frontend/mame/ui/devopt.cpp:269
+#: src/frontend/mame/ui/selsoft.cpp:549
#, c-format
-msgid " %1$s [default: %2$s]\n"
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
+#: src/frontend/mame/ui/selsoft.cpp:550
#, c-format
-msgid " %1$s\n"
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:260
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:419
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/filesel.cpp:515
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:516
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:518
+msgid "Read-write"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
-#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:519
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:520
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:117
+msgid "Cannot save over directory"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:150
+msgid ""
+"The software selected is missing one or more required ROM or CHD images. "
+"Please select a different one."
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:294
+msgid "Return to Machine"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
-#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:299 src/frontend/mame/ui/menu.cpp:301
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+#: src/frontend/mame/ui/menu.cpp:306 src/frontend/mame/ui/menu.cpp:308
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
-#, c-format
-msgid " %1$s [tag: %2$s]\n"
+#: src/frontend/mame/ui/menu.cpp:742
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
+#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:653
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+#: src/frontend/mame/ui/cheatopt.cpp:105
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/cheatopt.cpp:136
+msgid "Autofire Settings"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:581
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:582
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
+#: src/frontend/mame/ui/cheatopt.cpp:273
+msgid "Autofire Status"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
+#: src/frontend/mame/ui/cheatopt.cpp:316
+msgid "No buttons found on this machine!"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+#: src/frontend/mame/ui/cheatopt.cpp:327 src/frontend/mame/ui/cheatopt.cpp:331
+msgid "Autofire Delay"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
-msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
+#: src/frontend/mame/ui/ui.cpp:337
+msgid "This driver requires images to be loaded in the following device(s): "
msgstr ""
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
+#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
+msgid "Keyboard Emulation Status"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
+#: src/frontend/mame/ui/ui.cpp:1086
+msgid "Mode: PARTIAL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
+#: src/frontend/mame/ui/ui.cpp:1087
+msgid "UI: Enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
+#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
+msgid "**Use ScrLock to toggle**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
+#: src/frontend/mame/ui/ui.cpp:1096
+msgid "Mode: FULL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: src/frontend/mame/ui/ui.cpp:1097
+msgid "UI: Disabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
+#: src/frontend/mame/ui/ui.cpp:1249
+msgid "Autofire can't be enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
+#: src/frontend/mame/ui/ui.cpp:1302
+#, c-format
+msgid ""
+"Are you sure you want to quit?\n"
+"\n"
+"Press ''%1$s'' to quit,\n"
+"Press ''%2$s'' to return to emulation."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
+#: src/frontend/mame/ui/ui.cpp:1374
+msgid "Master Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
+#: src/frontend/mame/ui/ui.cpp:1383
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/ui.cpp:1407
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/ui.cpp:1416
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/ui.cpp:1437
+#, c-format
+msgid "%1$s Refresh Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, c-format
+msgid "%1$s Brightness"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1444
+#, c-format
+msgid "%1$s Contrast"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1446
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/ui.cpp:1450
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/ui.cpp:1452
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/ui.cpp:1454
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/ui.cpp:1456
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/ui.cpp:1475
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/ui.cpp:1477
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/ui.cpp:1479
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
-msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+#: src/frontend/mame/ui/ui.cpp:1481
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:198
-msgid ""
-"There are known problems with this machine\n"
-"\n"
+#: src/frontend/mame/ui/ui.cpp:1493
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/ui.cpp:1494
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/ui.cpp:1495
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
+#: src/frontend/mame/ui/ui.cpp:1496
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#: src/frontend/mame/ui/info.cpp:275
+#: src/frontend/mame/ui/ui.cpp:1511
#, c-format
-msgid ", %s"
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
+#: src/frontend/mame/ui/ui.cpp:1513
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:243
-msgid ""
-"This machine was never completed. It may exhibit strange behavior or missing "
-"elements that are not bugs in the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1601
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:245
-msgid ""
-"This machine has no sound hardware, MAME will produce no sounds, this is "
-"expected behaviour.\n"
+#: src/frontend/mame/ui/ui.cpp:1645
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:249
-msgid ""
-"\n"
-"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
-"complete. There is nothing you can do to fix this problem except wait for "
-"the developers to improve the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1661
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:251
-msgid ""
-"\n"
-"Elements of this machine cannot be emulated as they requires physical "
-"interaction or consist of mechanical devices. It is not possible to fully "
-"experience this machine.\n"
+#: src/frontend/mame/ui/ui.cpp:1685
+#, c-format
+msgid "%1$.3ffps"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
+#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
+#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
+#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
+#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
+#: src/frontend/mame/ui/ui.cpp:1927
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
+#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/ui.cpp:2005
#, c-format
-msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/ui.cpp:2226
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " COLORS"
+msgstr ""
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:39
#, c-format
-msgid "%1$s: %2$s\n"
+msgid ""
+"[This option is currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"The selected option enables the following items:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+#: src/frontend/mame/ui/devopt.cpp:40
+#, c-format
+msgid ""
+"[This option is NOT currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"If you select this option, the following items will be enabled:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:48
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
#, c-format
-msgid "Screen '%1$s'"
+msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
+msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:85
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:90
+#, c-format
+msgid " Screen '%1$s': Vector\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:99
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:100
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:113
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:133
+#, c-format
+msgid " %1$d×%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:164
+#, c-format
+msgid ""
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:204 src/frontend/mame/ui/devopt.cpp:220
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
+#: src/frontend/mame/ui/devopt.cpp:209 src/frontend/mame/ui/devopt.cpp:225
#, c-format
-msgid "Software is clone of: %1$-.100s"
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: src/frontend/mame/ui/devopt.cpp:230
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: src/frontend/mame/ui/devopt.cpp:232
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: src/frontend/mame/ui/devopt.cpp:234
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: src/frontend/mame/ui/devopt.cpp:236
+#, c-format
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
+#: src/frontend/mame/ui/devopt.cpp:238
#, c-format
-msgid "romset: %1$-.100s"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
+#: src/frontend/mame/ui/devopt.cpp:240
#, c-format
-msgid "Driver is clone of: %1$-.100s"
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: src/frontend/mame/ui/devopt.cpp:242
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
+#: src/frontend/mame/ui/devopt.cpp:244
#, c-format
-msgid "%1$s %2$s"
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: src/frontend/mame/ui/devopt.cpp:246
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: src/frontend/mame/ui/devopt.cpp:248
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: src/frontend/mame/ui/devopt.cpp:257
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: src/frontend/mame/ui/devopt.cpp:263
+msgid "* Slot Options:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:270
+msgid "[None]\n"
msgstr ""
#: plugins/timer/init.lua:94
@@ -2671,51 +2590,51 @@ msgstr ""
msgid "Timer"
msgstr ""
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:510
msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheat/init.lua:534
+#: plugins/cheat/init.lua:516
msgid "Press button for hotkey or wait to clear"
msgstr ""
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:528
msgid "None"
msgstr ""
-#: plugins/cheat/init.lua:551
+#: plugins/cheat/init.lua:533
msgid "Done"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:547 plugins/cheat/init.lua:561
msgid "Set"
msgstr ""
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:580
msgid "Set hotkeys"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:720
#, lua-format
msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:723 plugins/cheat/init.lua:781
#, lua-format
msgid "Activated: %s"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:785
#, lua-format
msgid "Enabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:790
#, lua-format
msgid "Disabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "%s added"
msgstr ""
@@ -2764,303 +2683,218 @@ msgstr ""
msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:404
+#: plugins/cheatfind/init.lua:373
msgid "Save Cheat"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Default"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Custom"
msgstr ""
-#: plugins/cheatfind/init.lua:408
+#: plugins/cheatfind/init.lua:377
msgid "Cheat Name"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/cheatfind/init.lua:383 plugins/cheatfind/init.lua:748
#, lua-format
msgid "Default name is %s"
msgstr ""
-#: plugins/cheatfind/init.lua:422
+#: plugins/cheatfind/init.lua:391
msgid "Player"
msgstr ""
-#: plugins/cheatfind/init.lua:427
+#: plugins/cheatfind/init.lua:396
msgid "Type"
msgstr ""
-#: plugins/cheatfind/init.lua:433
+#: plugins/cheatfind/init.lua:402
msgid "Save"
msgstr ""
-#: plugins/cheatfind/init.lua:462
+#: plugins/cheatfind/init.lua:429
#, lua-format
msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:472
+#: plugins/cheatfind/init.lua:437
msgid "Cheat added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:442
msgid ""
"Unable to write file\n"
"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/cheatfind/init.lua:486
+#: plugins/cheatfind/init.lua:451
msgid "Cancel"
msgstr ""
-#: plugins/cheatfind/init.lua:491
+#: plugins/cheatfind/init.lua:456
msgid "CPU or RAM"
msgstr ""
-#: plugins/cheatfind/init.lua:495
+#: plugins/cheatfind/init.lua:460
msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:479
+msgid "Data cleared and current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:487
+msgid "Start new search"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:497
+msgid "Current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:504
+msgid "Save current -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
+#: plugins/cheatfind/init.lua:536
#, lua-format
-msgid "Memory State saved to Slot %d"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:543
+msgid "Compare"
msgstr ""
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
+#: plugins/cheatfind/init.lua:546
+msgid "Left operand"
+msgstr ""
+
+#: plugins/cheatfind/init.lua:549
+msgid "Current"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:554
+msgid "Operator"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:561
+msgid "Left less than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:563
+msgid "Left greater than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:676
+#: plugins/cheatfind/init.lua:565
msgid "Left equal to right"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:567
+msgid "Left not equal to right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:680
+#: plugins/cheatfind/init.lua:569
msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:682
+#: plugins/cheatfind/init.lua:571
msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:684
+#: plugins/cheatfind/init.lua:573
msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:686
+#: plugins/cheatfind/init.lua:575
msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:688
+#: plugins/cheatfind/init.lua:577
msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:690
+#: plugins/cheatfind/init.lua:579
msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/cheatfind/init.lua:590
+msgid "Right operand"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/cheatfind/init.lua:598
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:719
+#: plugins/cheatfind/init.lua:602
msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:725
+#: plugins/cheatfind/init.lua:608
msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:738
-msgid ""
-"Use this if you want to poke the Slot 1 value (eg. You started with "
-"something but lost it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:740
-msgid ""
-"Use this if you want to poke the Last Slot value (eg. You started without an "
-"item but finally got it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:816
+#: plugins/cheatfind/init.lua:632
msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:820
+#: plugins/cheatfind/init.lua:636
msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:823
+#: plugins/cheatfind/init.lua:639
msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheatfind/init.lua:690
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Test cheat at addr %08X"
msgstr ""
-#: plugins/cheatfind/init.lua:974
+#: plugins/cheatfind/init.lua:722
msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
+#: plugins/cheatfind/init.lua:788
msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
+#: plugins/cheatfind/init.lua:806
msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
+#: plugins/cheatfind/init.lua:816
msgid "Cheat Finder"
msgstr ""
-#: plugins/portname/init.lua:103
+#: plugins/portname/init.lua:69
msgid "Save input names to file"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
+#: plugins/portname/init.lua:100 plugins/portname/init.lua:105
+#: plugins/portname/init.lua:121
msgid "Failed to save input name file"
msgstr ""
-#: plugins/portname/init.lua:167
+#: plugins/portname/init.lua:133
#, lua-format
msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/portname/init.lua:172
+#: plugins/portname/init.lua:138
msgid "Input ports"
msgstr ""
diff --git a/language/Lithuanian/strings.po b/language/Lithuanian/strings.po
index ae4c8662526..0f4811495ae 100644
--- a/language/Lithuanian/strings.po
+++ b/language/Lithuanian/strings.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MAME\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-03-17 13:37+1100\n"
+"POT-Creation-Date: 2018-04-28 15:32+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -18,1144 +18,1041 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n"
"%100<10 || n%100>=20) ? 1 : 2);\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
+#: src/frontend/mame/ui/auditmenu.cpp:96
#, c-format
-msgid "Screen #%d"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Enabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Disabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
-msgid "Marquees"
+#: src/frontend/mame/ui/auditmenu.cpp:99
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/auditmenu.cpp:104
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/auditmenu.cpp:130
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/auditmenu.cpp:142
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/selmenu.cpp:49 src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/selmenu.cpp:50 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/selmenu.cpp:51
+msgid "Control Panels"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/selmenu.cpp:52 src/frontend/mame/ui/dirmenu.cpp:50
+msgid "PCBs"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/selmenu.cpp:53 src/frontend/mame/ui/dirmenu.cpp:47
+msgid "Flyers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/selmenu.cpp:54 src/frontend/mame/ui/dirmenu.cpp:48
+msgid "Titles"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/selmenu.cpp:55 src/frontend/mame/ui/dirmenu.cpp:49
+msgid "Ends"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/selmenu.cpp:56
+msgid "Artwork Preview"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/selmenu.cpp:57 src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Bosses"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/selmenu.cpp:58 src/frontend/mame/ui/dirmenu.cpp:60
+msgid "Logos"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/selmenu.cpp:59 src/frontend/mame/ui/dirmenu.cpp:62
+msgid "Versus"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/selmenu.cpp:60
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/selmenu.cpp:61 src/frontend/mame/ui/dirmenu.cpp:59
+msgid "HowTo"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/selmenu.cpp:62 src/frontend/mame/ui/dirmenu.cpp:61
+msgid "Scores"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/selmenu.cpp:63 src/frontend/mame/ui/dirmenu.cpp:57
+msgid "Select"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/selmenu.cpp:64 src/frontend/mame/ui/dirmenu.cpp:51
+#: src/frontend/mame/ui/videoopt.cpp:224
+msgid "Marquees"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/selmenu.cpp:65 src/frontend/mame/ui/dirmenu.cpp:63
+msgid "Covers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/selmenu.cpp:69
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/selmenu.cpp:70
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/selmenu.cpp:71
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/selmenu.cpp:237
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/selmenu.cpp:343
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/selmenu.cpp:570 src/frontend/mame/ui/selmenu.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:311
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/selmenu.cpp:574
+#, c-format
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/selmenu.cpp:576
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/selmenu.cpp:581
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/selmenu.cpp:586
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/selmenu.cpp:591
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selmenu.cpp:596
+#, c-format
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selmenu.cpp:612
#, c-format
-msgid "Current %1$s Folders"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selmenu.cpp:614
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selmenu.cpp:619
+#: src/frontend/mame/ui/simpleselgame.cpp:330
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selmenu.cpp:621
+#: src/frontend/mame/ui/simpleselgame.cpp:332
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:623
+#: src/frontend/mame/ui/simpleselgame.cpp:334
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:627
+#: src/frontend/mame/ui/simpleselgame.cpp:338
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/selmenu.cpp:629
+#: src/frontend/mame/ui/simpleselgame.cpp:340
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/selmenu.cpp:631
+#: src/frontend/mame/ui/simpleselgame.cpp:342
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/selmenu.cpp:634
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/selmenu.cpp:636
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/selmenu.cpp:638
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/selmenu.cpp:640
+#: src/frontend/mame/ui/simpleselgame.cpp:351
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/selmenu.cpp:650
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/selmenu.cpp:1975
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/selmenu.cpp:1976
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/selmenu.cpp:2386 src/frontend/mame/ui/miscmenu.cpp:826
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/selmenu.cpp:2454
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/selmenu.cpp:2489
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/dirmenu.cpp:35
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/dirmenu.cpp:36
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
-#: src/frontend/mame/ui/slotopt.cpp:220
-msgid "[empty slot]"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/dirmenu.cpp:40
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/dirmenu.cpp:52
+msgid "Controls Panels"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/dirmenu.cpp:53
+msgid "Crosshairs"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Artworks"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks Preview"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "GameOver"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/dirmenu.cpp:116
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/dirmenu.cpp:167
+#, c-format
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/dirmenu.cpp:182
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/dirmenu.cpp:429
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/dirmenu.cpp:513
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/info.cpp:30
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "LAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/info.cpp:180
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/info.cpp:190
+msgid ""
+"There are known problems with this machine\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/info.cpp:195
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/info.cpp:200
+msgid "Completely unemulated features: "
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#, c-format
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#: src/frontend/mame/ui/info.cpp:267
+#, c-format
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/info.cpp:216
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/info.cpp:231
+msgid "Screen flipping in cocktail mode is not supported.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/info.cpp:233
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/info.cpp:235
+msgid ""
+"This machine was never completed. It may exhibit strange behavior or missing "
+"elements that are not bugs in the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/info.cpp:237
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/info.cpp:241
+msgid ""
+"\n"
+"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
+"complete. There is nothing you can do to fix this problem except wait for "
+"the developers to improve the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/info.cpp:243
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they requires physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/info.cpp:265
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/info.cpp:278
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/info.cpp:293
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:149
+#: src/frontend/mame/ui/info.cpp:342
msgid ""
-"The selected game is missing one or more required ROM or CHD images. Please "
-"select a different game.\n"
"\n"
-"Press any key to continue."
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:247
-#, c-format
+#: src/frontend/mame/ui/info.cpp:370
msgid ""
-"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
"\n"
-"If this is your first time using %2$s, please see the config.txt file in the "
-"docs directory for information on configuring %2$s."
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+"Video:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/info.cpp:374
+msgid "None\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/info.cpp:381
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:314
-#: src/frontend/mame/ui/selsoft.cpp:652 src/frontend/mame/ui/selsoft.cpp:659
+#: src/frontend/mame/ui/info.cpp:392
#, c-format
-msgid "%1$-.100s"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:317
-#: src/frontend/mame/ui/selmenu.cpp:618 src/frontend/mame/ui/selmenu.cpp:654
-#, c-format
-msgid "%1$s, %2$-.100s"
+#: src/frontend/mame/ui/info.cpp:392
+msgid "%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
+#: src/frontend/mame/ui/info.cpp:438
#, c-format
-msgid "Driver: %1$-.100s"
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+msgid "Screen '%1$s'"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/info.cpp:440
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/info.cpp:525
+msgid "Not supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/info.cpp:528
+msgid "Partially supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/info.cpp:536
+msgid "[empty]"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/optsmenu.cpp:193
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/optsmenu.cpp:206
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/optsmenu.cpp:207
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/optsmenu.cpp:210 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/optsmenu.cpp:213
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/optsmenu.cpp:216
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/optsmenu.cpp:228
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:337
-msgid "This driver requires images to be loaded in the following device(s): "
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
+msgid "Rewind"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1302
-#, c-format
-msgid ""
-"Are you sure you want to quit?\n"
-"\n"
-"Press ''%1$s'' to quit,\n"
-"Press ''%2$s'' to return to emulation."
+#: src/frontend/mame/ui/inputmap.cpp:53
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/inputmap.cpp:59
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
+#: src/frontend/mame/ui/inputmap.cpp:628 src/frontend/mame/ui/miscmenu.cpp:96
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/selector.cpp:116
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
+#: src/frontend/mame/ui/selector.cpp:124
#, c-format
-msgid "Overclock %1$s sound"
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/filesel.cpp:256
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/swlist.cpp:88
+msgid "[file manager]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/swlist.cpp:228
+msgid "Switch Item Ordering"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
+#: src/frontend/mame/ui/swlist.cpp:259
#, c-format
-msgid "%1$s Horiz Stretch"
+msgid "Switched Order: entries now ordered by %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "shortname"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "description"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/swlist.cpp:389
+msgid "[compatible lists]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/datmenu.cpp:80
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/datmenu.cpp:362
+msgid "Revision: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/simpleselgame.cpp:149
+msgid ""
+"The selected game is missing one or more required ROM or CHD images. Please "
+"select a different game.\n"
+"\n"
+"Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
+#: src/frontend/mame/ui/simpleselgame.cpp:241
#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+msgid ""
+"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
+"\n"
+"If this is your first time using %2$s, please see the config.txt file in the "
+"docs directory for information on configuring %2$s."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/simpleselgame.cpp:271
+#: src/frontend/mame/ui/selgame.cpp:436
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/simpleselgame.cpp:292
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/simpleselgame.cpp:294
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
+#: src/frontend/mame/ui/simpleselgame.cpp:308
+#: src/frontend/mame/ui/selsoft.cpp:564 src/frontend/mame/ui/selsoft.cpp:571
#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/simpleselgame.cpp:314
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
+#: src/frontend/mame/ui/videoopt.cpp:56
#, c-format
-msgid "Crosshair Offset %1$s"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/videoopt.cpp:208
+msgid "Backdrops"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Enabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Disabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
-#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
-#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
-#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
-#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
-#: src/frontend/mame/ui/ui.cpp:1927
-#, c-format
-msgid "%1$.3f"
+#: src/frontend/mame/ui/videoopt.cpp:212
+msgid "Overlays"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
-#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
-#, c-format
-msgid "%1$1.2f"
+#: src/frontend/mame/ui/videoopt.cpp:216
+msgid "Bezels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:220
+msgid "CPanels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "View"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cropped"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Full"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1047
+msgid "No"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
-msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1047
+msgid "Yes"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
-msgid ""
-"Cheat Comment:\n"
-"%s"
+#: src/frontend/mame/ui/filecreate.cpp:171
+msgid "New Image Name:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/filecreate.cpp:177
+msgid "Image Format:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/filecreate.cpp:183
+msgid "Create"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/filecreate.cpp:266
+msgid "Select image format"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Keyboard Mode:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Natural"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Emulated"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
+#: src/frontend/mame/ui/miscmenu.cpp:236
#, c-format
msgid ""
-"%s\n"
-" added to favorites list."
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
+#: src/frontend/mame/ui/miscmenu.cpp:238
#, c-format
msgid ""
-"%s\n"
-" removed from favorites list."
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/miscmenu.cpp:242
+#, c-format
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
+"Tickets dispensed: %1$d\n"
"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
+#: src/frontend/mame/ui/miscmenu.cpp:253
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/miscmenu.cpp:253
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
-#, c-format
-msgid "Driver: \"%1$s\" software list "
+#: src/frontend/mame/ui/miscmenu.cpp:256
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
-#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+#: src/frontend/mame/ui/miscmenu.cpp:503
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/miscmenu.cpp:601
#, c-format
-msgid "Search: %1$s_"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
-msgid "Unfiltered"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
-msgid "Available"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
-msgid "Unavailable"
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
-msgid "Working"
+#: src/frontend/mame/ui/miscmenu.cpp:627
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
-msgid "Not Working"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
-msgid "Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:655
+msgid "Export list in XML format (like -listxml)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
-msgid "Not Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:656
+msgid "Export list in XML format (like -listxml, but exclude devices)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
-msgid "Category"
+#: src/frontend/mame/ui/miscmenu.cpp:657
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
-msgid "Favorites"
+#: src/frontend/mame/ui/miscmenu.cpp:710 src/frontend/mame/ui/ui.cpp:2230
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/miscmenu.cpp:760 src/frontend/mame/ui/utils.cpp:66
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
-msgid "Not BIOS"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
-msgid "Parents"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
-msgid "Clones"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:73
-msgid "Manufacturer"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
-msgid "Year"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:75
-msgid "Save Supported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:76
-msgid "Save Unsupported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:77
-msgid "CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:78
-msgid "No CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:79
-msgid "Vertical Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:80
-msgid "Horizontal Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
-msgid "Custom Filter"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:91
-msgid "Publisher"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:92
-msgid "Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:764
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
-msgid "Partially Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:767
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
-msgid "Unsupported"
+#: src/frontend/mame/ui/miscmenu.cpp:776 src/frontend/mame/ui/mainmenu.cpp:145
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
-msgid "Release Region"
+#: src/frontend/mame/ui/miscmenu.cpp:778 src/frontend/mame/ui/mainmenu.cpp:147
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
-msgid "Device Type"
+#: src/frontend/mame/ui/miscmenu.cpp:781
+msgid "Save machine configuration"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
-msgid "Software List"
+#: src/frontend/mame/ui/miscmenu.cpp:792
+msgid "Configure machine:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
-msgid "<set up filters>"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:736
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:551 plugins/cheatfind/init.lua:619
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
-msgid "Select custom filters:"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:739
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:554 plugins/cheat/init.lua:563
+#: plugins/cheatfind/init.lua:616
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
-#, c-format
-msgid "Filter %1$u"
+#: src/frontend/mame/ui/miscmenu.cpp:909 src/frontend/mame/ui/selgame.cpp:441
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
-msgid "Remove last filter"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
-msgid "Add filter"
+#: src/frontend/mame/ui/barcode.cpp:78
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
-msgid "Select category:"
+#: src/frontend/mame/ui/barcode.cpp:119
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
-msgid "[no category INI files]"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:99
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
-msgid "[no groups in INI file]"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
-msgid "No category INI files found"
+#: src/frontend/mame/ui/mainmenu.cpp:60
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
-msgid "File"
+#: src/frontend/mame/ui/mainmenu.cpp:62
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
-msgid "No groups found in category file"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
-msgid "Group"
+#: src/frontend/mame/ui/mainmenu.cpp:68
+msgid "Dip Switches"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
-msgid "Include clones"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
+#: src/frontend/mame/ui/mainmenu.cpp:78
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/mainmenu.cpp:85
+msgid "Image Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/mainmenu.cpp:96
+msgid "Tape Control"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/mainmenu.cpp:102
+msgid "BIOS Selection"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/mainmenu.cpp:106
+msgid "Slot Devices"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
-#, c-format
-msgid "%s [internal]"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Barcode Reader"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:203 src/frontend/mame/ui/miscmenu.cpp:97
-#: src/frontend/mame/ui/inputmap.cpp:615
-msgid "Reset"
+#: src/frontend/mame/ui/mainmenu.cpp:114
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/mainmenu.cpp:118
+msgid "Keyboard Mode"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/mainmenu.cpp:121
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/mainmenu.cpp:124 src/frontend/mame/ui/submenu.cpp:101
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/mainmenu.cpp:128
+msgid "Crosshair Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/mainmenu.cpp:132 plugins/cheat/init.lua:735
+msgid "Cheat"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:762
-#: plugins/cheat/init.lua:569 plugins/cheatfind/init.lua:792
-#: plugins/cheatfind/init.lua:803
-msgid "On"
+#: src/frontend/mame/ui/mainmenu.cpp:135
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:765
-#: plugins/cheat/init.lua:572 plugins/cheat/init.lua:581
-#: plugins/cheatfind/init.lua:789 plugins/cheatfind/init.lua:800
-msgid "Off"
+#: src/frontend/mame/ui/mainmenu.cpp:139
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/mainmenu.cpp:154
+msgid "Select New Machine"
msgstr ""
#: src/frontend/mame/ui/custui.cpp:31
@@ -1378,1281 +1275,1303 @@ msgstr ""
msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/submenu.cpp:22
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/submenu.cpp:23
+msgid "Re-select last machine played"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/submenu.cpp:24
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:26
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:27
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:28
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:29
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:30
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
-#, c-format
-msgid "%s.txt saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/submenu.cpp:45
+msgid "Refresh speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/submenu.cpp:47
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/submenu.cpp:49
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
-msgid "Configure Machine"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
-#, c-format
-msgid "Romset\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
-#, c-format
-msgid "Year\t%1$s\n"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
-#, c-format
-msgid "Manufacturer\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
-#, c-format
-msgid "Driver is Clone of\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1044
-msgid "Driver is Parent\t\n"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
-msgid "Analog Controls\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Artwork Crop"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
-msgid "Keyboard Inputs\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Use Backdrops"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
-msgid "Overall\tNOT WORKING\n"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Use Overlays"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
-msgid "Overall\tUnemulated Protection\n"
+#: src/frontend/mame/ui/submenu.cpp:60
+msgid "Use Bezels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
-msgid "Overall\tWorking\n"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Use Control Panels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
-msgid "Graphics\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:62
+msgid "Use Marquees"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
-msgid "Graphics\tWrong Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
-msgid "Graphics\tImperfect Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
-msgid "Graphics\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
-msgid "Graphics\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Bilinear snapshot"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
-msgid "Sound\tNone\n"
+#: src/frontend/mame/ui/submenu.cpp:69
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
-msgid "Sound\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
-msgid "Sound\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:72
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
-msgid "Sound\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
-msgid "Capture\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
-msgid "Capture\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
-msgid "Camera\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
-msgid "Camera\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
-msgid "Microphone\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
-msgid "Microphone\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:79
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
-msgid "Controls\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
-msgid "Controls\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
-msgid "Keyboard\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Joystick saturation"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
-msgid "Keyboard\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Natural keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
-msgid "Mouse\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
-msgid "Mouse\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
-msgid "Media\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
-msgid "Media\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Lightgun Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
-msgid "Disk\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Trackball Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
-msgid "Disk\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
-msgid "Printer\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
-msgid "Printer\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
-msgid "Mag. Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:95
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
-msgid "Mag. Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:96
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
-msgid "Punch Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:97
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
-msgid "Punch Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
-msgid "Mag. Drum\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:103
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
-msgid "Mag. Drum\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
-msgid "(EP)ROM\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
-msgid "(EP)ROM\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
-msgid "Communications\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:109
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
-msgid "Communications\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:110
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
-msgid "LAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:111
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
-msgid "LAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:112
+msgid "Enforce Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
-msgid "WAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:113
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
-msgid "WAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:114
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
-msgid "Timing\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
-msgid "Timing\tImperfect\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tYes\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Select position to load from"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tNo\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tYes\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Select position to save to"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tNo\n"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:309 src/frontend/mame/ui/selsoft.cpp:211
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:314 src/frontend/mame/ui/selgame.cpp:320
+#: src/frontend/mame/ui/selsoft.cpp:216
+#, c-format
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:437
+msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:849
+#, c-format
+msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:850
+#, c-format
+msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:851
+#, c-format
+msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:855
+#, c-format
+msgid "Driver is Clone of\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:857
+msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tVertical\n"
+#: src/frontend/mame/ui/selgame.cpp:860
+msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tHorizontal\n"
+#: src/frontend/mame/ui/selgame.cpp:862
+msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:865
+msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:867
+msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
-msgid "ROM Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:869
+msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
-msgid "ROM Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:872
+msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
-msgid "Samples Audit Result\tNone Needed\n"
+#: src/frontend/mame/ui/selgame.cpp:874
+msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
-msgid "Samples Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:876
+msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
-msgid "Samples Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:878
+msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
-msgid ""
-"ROM Audit \tDisabled\n"
-"Samples Audit \tDisabled\n"
+#: src/frontend/mame/ui/selgame.cpp:880
+msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
+#: src/frontend/mame/ui/selgame.cpp:883
+msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1424
-#, c-format
-msgid "Romset: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:885
+msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
-#, c-format
-msgid "System: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:887
+msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1465
-msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
+#: src/frontend/mame/ui/selgame.cpp:889
+msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
+#: src/frontend/mame/ui/selgame.cpp:892
+msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
+#: src/frontend/mame/ui/selgame.cpp:894
+msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
+#: src/frontend/mame/ui/selgame.cpp:897
+msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
+#: src/frontend/mame/ui/selgame.cpp:899
+msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
+#: src/frontend/mame/ui/selgame.cpp:902
+msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selgame.cpp:904
+msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selgame.cpp:907
+msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/selgame.cpp:909
+msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/selgame.cpp:912
+msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/selgame.cpp:914
+msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/selgame.cpp:917
+msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/selgame.cpp:919
+msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/selgame.cpp:922
+msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/selgame.cpp:924
+msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/selgame.cpp:927
+msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/selgame.cpp:929
+msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/selgame.cpp:932
+msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/selgame.cpp:934
+msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/selgame.cpp:937
+msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/selgame.cpp:939
+msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/selgame.cpp:970
+msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/selgame.cpp:972
+msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/selgame.cpp:975
+msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/selgame.cpp:977
+msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/selgame.cpp:979
+msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/selgame.cpp:983
+msgid ""
+"ROM Audit \tDisabled\n"
+"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/selgame.cpp:1167
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/selgame.cpp:1183 src/frontend/mame/ui/selsoft.cpp:555
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/selgame.cpp:1185 src/frontend/mame/ui/selsoft.cpp:557
+#, c-format
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/selgame.cpp:1195
+#, c-format
+msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/selgame.cpp:1202
+#, c-format
+msgid "System: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/selgame.cpp:1239
+msgid ""
+"The selected machine is missing one or more required ROM or CHD images. "
+"Please select a different machine.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/selgame.cpp:1245 src/frontend/mame/ui/selsoft.cpp:462
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/utils.cpp:57 src/frontend/mame/ui/utils.cpp:81
+msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/utils.cpp:58 src/frontend/mame/ui/utils.cpp:82
+msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/utils.cpp:59 src/frontend/mame/ui/utils.cpp:83
+msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/utils.cpp:60
+msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/utils.cpp:61
+msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/utils.cpp:62
+msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:63
+msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:64
+msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:65
+msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:67
+msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:84
+msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/utils.cpp:85
+msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:70
+msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:86
+msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/utils.cpp:72
+msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/utils.cpp:73
+msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/utils.cpp:74
+msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/utils.cpp:75
+msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/utils.cpp:76
+msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/utils.cpp:77
+msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/utils.cpp:78 src/frontend/mame/ui/utils.cpp:94
+msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/utils.cpp:87
+msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/utils.cpp:88
+msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/utils.cpp:89
+msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/utils.cpp:90
+msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/utils.cpp:91
+msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:43
-#, c-format
-msgid ""
-"[This option is currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"The selected option enables the following items:\n"
+#: src/frontend/mame/ui/utils.cpp:92
+msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:44
-#, c-format
-msgid ""
-"[This option is NOT currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"If you select this option, the following items will be enabled:\n"
+#: src/frontend/mame/ui/utils.cpp:93
+msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/utils.cpp:244
+msgid "<set up filters>"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:352
+msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/utils.cpp:503
#, c-format
-msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
-msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:518
+msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %3$d.%4$06d MHz\n"
+#: src/frontend/mame/ui/utils.cpp:520
+msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:959
+msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/utils.cpp:990
+msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/utils.cpp:998
+msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:103
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1032
+msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1037
+msgid "File"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/utils.cpp:1041
+msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
-#, c-format
-msgid " %1$d×%2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1046
+msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1047
+msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:168
-#, c-format
+#: src/frontend/mame/ui/selsoft.cpp:456
msgid ""
-"* BIOS settings:\n"
-" %1$d options [default: %2$s]\n"
+"The selected software is missing one or more required files. Please select a "
+"different software.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:208 src/frontend/mame/ui/devopt.cpp:224
-#: src/frontend/mame/ui/devopt.cpp:269
+#: src/frontend/mame/ui/selsoft.cpp:549
#, c-format
-msgid " %1$s [default: %2$s]\n"
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
+#: src/frontend/mame/ui/selsoft.cpp:550
#, c-format
-msgid " %1$s\n"
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:260
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:419
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/filesel.cpp:515
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:516
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:518
+msgid "Read-write"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
-#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:519
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:520
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:117
+msgid "Cannot save over directory"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:150
+msgid ""
+"The software selected is missing one or more required ROM or CHD images. "
+"Please select a different one."
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:294
+msgid "Return to Machine"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
-#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:299 src/frontend/mame/ui/menu.cpp:301
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+#: src/frontend/mame/ui/menu.cpp:306 src/frontend/mame/ui/menu.cpp:308
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
-#, c-format
-msgid " %1$s [tag: %2$s]\n"
+#: src/frontend/mame/ui/menu.cpp:742
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
+#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:653
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+#: src/frontend/mame/ui/cheatopt.cpp:105
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/cheatopt.cpp:136
+msgid "Autofire Settings"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:581
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:582
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
+#: src/frontend/mame/ui/cheatopt.cpp:273
+msgid "Autofire Status"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
+#: src/frontend/mame/ui/cheatopt.cpp:316
+msgid "No buttons found on this machine!"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+#: src/frontend/mame/ui/cheatopt.cpp:327 src/frontend/mame/ui/cheatopt.cpp:331
+msgid "Autofire Delay"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
-msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
+#: src/frontend/mame/ui/ui.cpp:337
+msgid "This driver requires images to be loaded in the following device(s): "
msgstr ""
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
+#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
+msgid "Keyboard Emulation Status"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
+#: src/frontend/mame/ui/ui.cpp:1086
+msgid "Mode: PARTIAL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
+#: src/frontend/mame/ui/ui.cpp:1087
+msgid "UI: Enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
+#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
+msgid "**Use ScrLock to toggle**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
+#: src/frontend/mame/ui/ui.cpp:1096
+msgid "Mode: FULL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: src/frontend/mame/ui/ui.cpp:1097
+msgid "UI: Disabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
+#: src/frontend/mame/ui/ui.cpp:1249
+msgid "Autofire can't be enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
+#: src/frontend/mame/ui/ui.cpp:1302
+#, c-format
+msgid ""
+"Are you sure you want to quit?\n"
+"\n"
+"Press ''%1$s'' to quit,\n"
+"Press ''%2$s'' to return to emulation."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
+#: src/frontend/mame/ui/ui.cpp:1374
+msgid "Master Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
+#: src/frontend/mame/ui/ui.cpp:1383
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/ui.cpp:1407
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/ui.cpp:1416
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/ui.cpp:1437
+#, c-format
+msgid "%1$s Refresh Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, c-format
+msgid "%1$s Brightness"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1444
+#, c-format
+msgid "%1$s Contrast"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1446
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/ui.cpp:1450
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/ui.cpp:1452
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/ui.cpp:1454
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/ui.cpp:1456
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/ui.cpp:1475
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/ui.cpp:1477
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/ui.cpp:1479
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
-msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+#: src/frontend/mame/ui/ui.cpp:1481
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:198
-msgid ""
-"There are known problems with this machine\n"
-"\n"
+#: src/frontend/mame/ui/ui.cpp:1493
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/ui.cpp:1494
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/ui.cpp:1495
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
+#: src/frontend/mame/ui/ui.cpp:1496
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#: src/frontend/mame/ui/info.cpp:275
+#: src/frontend/mame/ui/ui.cpp:1511
#, c-format
-msgid ", %s"
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
+#: src/frontend/mame/ui/ui.cpp:1513
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:243
-msgid ""
-"This machine was never completed. It may exhibit strange behavior or missing "
-"elements that are not bugs in the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1601
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:245
-msgid ""
-"This machine has no sound hardware, MAME will produce no sounds, this is "
-"expected behaviour.\n"
+#: src/frontend/mame/ui/ui.cpp:1645
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:249
-msgid ""
-"\n"
-"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
-"complete. There is nothing you can do to fix this problem except wait for "
-"the developers to improve the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1661
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:251
-msgid ""
-"\n"
-"Elements of this machine cannot be emulated as they requires physical "
-"interaction or consist of mechanical devices. It is not possible to fully "
-"experience this machine.\n"
+#: src/frontend/mame/ui/ui.cpp:1685
+#, c-format
+msgid "%1$.3ffps"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
+#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
+#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
+#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
+#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
+#: src/frontend/mame/ui/ui.cpp:1927
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
+#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/ui.cpp:2005
#, c-format
-msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/ui.cpp:2226
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " COLORS"
+msgstr ""
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:39
#, c-format
-msgid "%1$s: %2$s\n"
+msgid ""
+"[This option is currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"The selected option enables the following items:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+#: src/frontend/mame/ui/devopt.cpp:40
+#, c-format
+msgid ""
+"[This option is NOT currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"If you select this option, the following items will be enabled:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:48
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
#, c-format
-msgid "Screen '%1$s'"
+msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
+msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:85
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:90
+#, c-format
+msgid " Screen '%1$s': Vector\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:99
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:100
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:113
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:133
+#, c-format
+msgid " %1$d×%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:164
+#, c-format
+msgid ""
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:204 src/frontend/mame/ui/devopt.cpp:220
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
+#: src/frontend/mame/ui/devopt.cpp:209 src/frontend/mame/ui/devopt.cpp:225
#, c-format
-msgid "Software is clone of: %1$-.100s"
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: src/frontend/mame/ui/devopt.cpp:230
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: src/frontend/mame/ui/devopt.cpp:232
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: src/frontend/mame/ui/devopt.cpp:234
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: src/frontend/mame/ui/devopt.cpp:236
+#, c-format
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
+#: src/frontend/mame/ui/devopt.cpp:238
#, c-format
-msgid "romset: %1$-.100s"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
+#: src/frontend/mame/ui/devopt.cpp:240
#, c-format
-msgid "Driver is clone of: %1$-.100s"
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: src/frontend/mame/ui/devopt.cpp:242
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
+#: src/frontend/mame/ui/devopt.cpp:244
#, c-format
-msgid "%1$s %2$s"
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: src/frontend/mame/ui/devopt.cpp:246
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: src/frontend/mame/ui/devopt.cpp:248
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: src/frontend/mame/ui/devopt.cpp:257
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: src/frontend/mame/ui/devopt.cpp:263
+msgid "* Slot Options:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:270
+msgid "[None]\n"
msgstr ""
#: plugins/timer/init.lua:94
@@ -2671,51 +2590,51 @@ msgstr ""
msgid "Timer"
msgstr ""
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:510
msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheat/init.lua:534
+#: plugins/cheat/init.lua:516
msgid "Press button for hotkey or wait to clear"
msgstr ""
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:528
msgid "None"
msgstr ""
-#: plugins/cheat/init.lua:551
+#: plugins/cheat/init.lua:533
msgid "Done"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:547 plugins/cheat/init.lua:561
msgid "Set"
msgstr ""
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:580
msgid "Set hotkeys"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:720
#, lua-format
msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:723 plugins/cheat/init.lua:781
#, lua-format
msgid "Activated: %s"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:785
#, lua-format
msgid "Enabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:790
#, lua-format
msgid "Disabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "%s added"
msgstr ""
@@ -2764,303 +2683,218 @@ msgstr ""
msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:404
+#: plugins/cheatfind/init.lua:373
msgid "Save Cheat"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Default"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Custom"
msgstr ""
-#: plugins/cheatfind/init.lua:408
+#: plugins/cheatfind/init.lua:377
msgid "Cheat Name"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/cheatfind/init.lua:383 plugins/cheatfind/init.lua:748
#, lua-format
msgid "Default name is %s"
msgstr ""
-#: plugins/cheatfind/init.lua:422
+#: plugins/cheatfind/init.lua:391
msgid "Player"
msgstr ""
-#: plugins/cheatfind/init.lua:427
+#: plugins/cheatfind/init.lua:396
msgid "Type"
msgstr ""
-#: plugins/cheatfind/init.lua:433
+#: plugins/cheatfind/init.lua:402
msgid "Save"
msgstr ""
-#: plugins/cheatfind/init.lua:462
+#: plugins/cheatfind/init.lua:429
#, lua-format
msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:472
+#: plugins/cheatfind/init.lua:437
msgid "Cheat added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:442
msgid ""
"Unable to write file\n"
"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/cheatfind/init.lua:486
+#: plugins/cheatfind/init.lua:451
msgid "Cancel"
msgstr ""
-#: plugins/cheatfind/init.lua:491
+#: plugins/cheatfind/init.lua:456
msgid "CPU or RAM"
msgstr ""
-#: plugins/cheatfind/init.lua:495
+#: plugins/cheatfind/init.lua:460
msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:479
+msgid "Data cleared and current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:487
+msgid "Start new search"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:497
+msgid "Current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:504
+msgid "Save current -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
+#: plugins/cheatfind/init.lua:536
#, lua-format
-msgid "Memory State saved to Slot %d"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:543
+msgid "Compare"
msgstr ""
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
+#: plugins/cheatfind/init.lua:546
+msgid "Left operand"
+msgstr ""
+
+#: plugins/cheatfind/init.lua:549
+msgid "Current"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:554
+msgid "Operator"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:561
+msgid "Left less than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:563
+msgid "Left greater than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:676
+#: plugins/cheatfind/init.lua:565
msgid "Left equal to right"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:567
+msgid "Left not equal to right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:680
+#: plugins/cheatfind/init.lua:569
msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:682
+#: plugins/cheatfind/init.lua:571
msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:684
+#: plugins/cheatfind/init.lua:573
msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:686
+#: plugins/cheatfind/init.lua:575
msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:688
+#: plugins/cheatfind/init.lua:577
msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:690
+#: plugins/cheatfind/init.lua:579
msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/cheatfind/init.lua:590
+msgid "Right operand"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/cheatfind/init.lua:598
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:719
+#: plugins/cheatfind/init.lua:602
msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:725
+#: plugins/cheatfind/init.lua:608
msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:738
-msgid ""
-"Use this if you want to poke the Slot 1 value (eg. You started with "
-"something but lost it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:740
-msgid ""
-"Use this if you want to poke the Last Slot value (eg. You started without an "
-"item but finally got it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:816
+#: plugins/cheatfind/init.lua:632
msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:820
+#: plugins/cheatfind/init.lua:636
msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:823
+#: plugins/cheatfind/init.lua:639
msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheatfind/init.lua:690
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Test cheat at addr %08X"
msgstr ""
-#: plugins/cheatfind/init.lua:974
+#: plugins/cheatfind/init.lua:722
msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
+#: plugins/cheatfind/init.lua:788
msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
+#: plugins/cheatfind/init.lua:806
msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
+#: plugins/cheatfind/init.lua:816
msgid "Cheat Finder"
msgstr ""
-#: plugins/portname/init.lua:103
+#: plugins/portname/init.lua:69
msgid "Save input names to file"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
+#: plugins/portname/init.lua:100 plugins/portname/init.lua:105
+#: plugins/portname/init.lua:121
msgid "Failed to save input name file"
msgstr ""
-#: plugins/portname/init.lua:167
+#: plugins/portname/init.lua:133
#, lua-format
msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/portname/init.lua:172
+#: plugins/portname/init.lua:138
msgid "Input ports"
msgstr ""
diff --git a/language/Macedonian/strings.po b/language/Macedonian/strings.po
index 96864e90464..255b1a9504b 100644
--- a/language/Macedonian/strings.po
+++ b/language/Macedonian/strings.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MAME\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-03-17 13:37+1100\n"
+"POT-Creation-Date: 2018-04-28 15:32+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -16,1144 +16,1041 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
+#: src/frontend/mame/ui/auditmenu.cpp:96
#, c-format
-msgid "Screen #%d"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Enabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Disabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
-msgid "Marquees"
+#: src/frontend/mame/ui/auditmenu.cpp:99
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/auditmenu.cpp:104
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/auditmenu.cpp:130
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/auditmenu.cpp:142
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/selmenu.cpp:49 src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/selmenu.cpp:50 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/selmenu.cpp:51
+msgid "Control Panels"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/selmenu.cpp:52 src/frontend/mame/ui/dirmenu.cpp:50
+msgid "PCBs"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/selmenu.cpp:53 src/frontend/mame/ui/dirmenu.cpp:47
+msgid "Flyers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/selmenu.cpp:54 src/frontend/mame/ui/dirmenu.cpp:48
+msgid "Titles"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/selmenu.cpp:55 src/frontend/mame/ui/dirmenu.cpp:49
+msgid "Ends"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/selmenu.cpp:56
+msgid "Artwork Preview"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/selmenu.cpp:57 src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Bosses"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/selmenu.cpp:58 src/frontend/mame/ui/dirmenu.cpp:60
+msgid "Logos"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/selmenu.cpp:59 src/frontend/mame/ui/dirmenu.cpp:62
+msgid "Versus"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/selmenu.cpp:60
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/selmenu.cpp:61 src/frontend/mame/ui/dirmenu.cpp:59
+msgid "HowTo"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/selmenu.cpp:62 src/frontend/mame/ui/dirmenu.cpp:61
+msgid "Scores"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/selmenu.cpp:63 src/frontend/mame/ui/dirmenu.cpp:57
+msgid "Select"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/selmenu.cpp:64 src/frontend/mame/ui/dirmenu.cpp:51
+#: src/frontend/mame/ui/videoopt.cpp:224
+msgid "Marquees"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/selmenu.cpp:65 src/frontend/mame/ui/dirmenu.cpp:63
+msgid "Covers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/selmenu.cpp:69
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/selmenu.cpp:70
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/selmenu.cpp:71
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/selmenu.cpp:237
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/selmenu.cpp:343
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/selmenu.cpp:570 src/frontend/mame/ui/selmenu.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:311
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/selmenu.cpp:574
+#, c-format
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/selmenu.cpp:576
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/selmenu.cpp:581
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/selmenu.cpp:586
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/selmenu.cpp:591
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selmenu.cpp:596
+#, c-format
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selmenu.cpp:612
#, c-format
-msgid "Current %1$s Folders"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selmenu.cpp:614
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selmenu.cpp:619
+#: src/frontend/mame/ui/simpleselgame.cpp:330
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selmenu.cpp:621
+#: src/frontend/mame/ui/simpleselgame.cpp:332
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:623
+#: src/frontend/mame/ui/simpleselgame.cpp:334
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:627
+#: src/frontend/mame/ui/simpleselgame.cpp:338
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/selmenu.cpp:629
+#: src/frontend/mame/ui/simpleselgame.cpp:340
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/selmenu.cpp:631
+#: src/frontend/mame/ui/simpleselgame.cpp:342
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/selmenu.cpp:634
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/selmenu.cpp:636
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/selmenu.cpp:638
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/selmenu.cpp:640
+#: src/frontend/mame/ui/simpleselgame.cpp:351
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/selmenu.cpp:650
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/selmenu.cpp:1975
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/selmenu.cpp:1976
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/selmenu.cpp:2386 src/frontend/mame/ui/miscmenu.cpp:826
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/selmenu.cpp:2454
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/selmenu.cpp:2489
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/dirmenu.cpp:35
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/dirmenu.cpp:36
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
-#: src/frontend/mame/ui/slotopt.cpp:220
-msgid "[empty slot]"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/dirmenu.cpp:40
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/dirmenu.cpp:52
+msgid "Controls Panels"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/dirmenu.cpp:53
+msgid "Crosshairs"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Artworks"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks Preview"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "GameOver"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/dirmenu.cpp:116
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/dirmenu.cpp:167
+#, c-format
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/dirmenu.cpp:182
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/dirmenu.cpp:429
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/dirmenu.cpp:513
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/info.cpp:30
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "LAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/info.cpp:180
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/info.cpp:190
+msgid ""
+"There are known problems with this machine\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/info.cpp:195
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/info.cpp:200
+msgid "Completely unemulated features: "
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#, c-format
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#: src/frontend/mame/ui/info.cpp:267
+#, c-format
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/info.cpp:216
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/info.cpp:231
+msgid "Screen flipping in cocktail mode is not supported.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/info.cpp:233
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/info.cpp:235
+msgid ""
+"This machine was never completed. It may exhibit strange behavior or missing "
+"elements that are not bugs in the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/info.cpp:237
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/info.cpp:241
+msgid ""
+"\n"
+"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
+"complete. There is nothing you can do to fix this problem except wait for "
+"the developers to improve the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/info.cpp:243
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they requires physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/info.cpp:265
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/info.cpp:278
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/info.cpp:293
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:149
+#: src/frontend/mame/ui/info.cpp:342
msgid ""
-"The selected game is missing one or more required ROM or CHD images. Please "
-"select a different game.\n"
"\n"
-"Press any key to continue."
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:247
-#, c-format
+#: src/frontend/mame/ui/info.cpp:370
msgid ""
-"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
"\n"
-"If this is your first time using %2$s, please see the config.txt file in the "
-"docs directory for information on configuring %2$s."
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+"Video:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/info.cpp:374
+msgid "None\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/info.cpp:381
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:314
-#: src/frontend/mame/ui/selsoft.cpp:652 src/frontend/mame/ui/selsoft.cpp:659
+#: src/frontend/mame/ui/info.cpp:392
#, c-format
-msgid "%1$-.100s"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:317
-#: src/frontend/mame/ui/selmenu.cpp:618 src/frontend/mame/ui/selmenu.cpp:654
-#, c-format
-msgid "%1$s, %2$-.100s"
+#: src/frontend/mame/ui/info.cpp:392
+msgid "%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
+#: src/frontend/mame/ui/info.cpp:438
#, c-format
-msgid "Driver: %1$-.100s"
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+msgid "Screen '%1$s'"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/info.cpp:440
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/info.cpp:525
+msgid "Not supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/info.cpp:528
+msgid "Partially supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/info.cpp:536
+msgid "[empty]"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/optsmenu.cpp:193
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/optsmenu.cpp:206
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/optsmenu.cpp:207
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/optsmenu.cpp:210 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/optsmenu.cpp:213
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/optsmenu.cpp:216
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/optsmenu.cpp:228
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:337
-msgid "This driver requires images to be loaded in the following device(s): "
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
+msgid "Rewind"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1302
-#, c-format
-msgid ""
-"Are you sure you want to quit?\n"
-"\n"
-"Press ''%1$s'' to quit,\n"
-"Press ''%2$s'' to return to emulation."
+#: src/frontend/mame/ui/inputmap.cpp:53
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/inputmap.cpp:59
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
+#: src/frontend/mame/ui/inputmap.cpp:628 src/frontend/mame/ui/miscmenu.cpp:96
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/selector.cpp:116
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
+#: src/frontend/mame/ui/selector.cpp:124
#, c-format
-msgid "Overclock %1$s sound"
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/filesel.cpp:256
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/swlist.cpp:88
+msgid "[file manager]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/swlist.cpp:228
+msgid "Switch Item Ordering"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
+#: src/frontend/mame/ui/swlist.cpp:259
#, c-format
-msgid "%1$s Horiz Stretch"
+msgid "Switched Order: entries now ordered by %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "shortname"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "description"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/swlist.cpp:389
+msgid "[compatible lists]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/datmenu.cpp:80
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/datmenu.cpp:362
+msgid "Revision: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/simpleselgame.cpp:149
+msgid ""
+"The selected game is missing one or more required ROM or CHD images. Please "
+"select a different game.\n"
+"\n"
+"Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
+#: src/frontend/mame/ui/simpleselgame.cpp:241
#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+msgid ""
+"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
+"\n"
+"If this is your first time using %2$s, please see the config.txt file in the "
+"docs directory for information on configuring %2$s."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/simpleselgame.cpp:271
+#: src/frontend/mame/ui/selgame.cpp:436
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/simpleselgame.cpp:292
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/simpleselgame.cpp:294
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
+#: src/frontend/mame/ui/simpleselgame.cpp:308
+#: src/frontend/mame/ui/selsoft.cpp:564 src/frontend/mame/ui/selsoft.cpp:571
#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/simpleselgame.cpp:314
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
+#: src/frontend/mame/ui/videoopt.cpp:56
#, c-format
-msgid "Crosshair Offset %1$s"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/videoopt.cpp:208
+msgid "Backdrops"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Enabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Disabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
-#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
-#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
-#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
-#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
-#: src/frontend/mame/ui/ui.cpp:1927
-#, c-format
-msgid "%1$.3f"
+#: src/frontend/mame/ui/videoopt.cpp:212
+msgid "Overlays"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
-#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
-#, c-format
-msgid "%1$1.2f"
+#: src/frontend/mame/ui/videoopt.cpp:216
+msgid "Bezels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:220
+msgid "CPanels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "View"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cropped"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Full"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1047
+msgid "No"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
-msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1047
+msgid "Yes"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
-msgid ""
-"Cheat Comment:\n"
-"%s"
+#: src/frontend/mame/ui/filecreate.cpp:171
+msgid "New Image Name:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/filecreate.cpp:177
+msgid "Image Format:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/filecreate.cpp:183
+msgid "Create"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/filecreate.cpp:266
+msgid "Select image format"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Keyboard Mode:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Natural"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Emulated"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
+#: src/frontend/mame/ui/miscmenu.cpp:236
#, c-format
msgid ""
-"%s\n"
-" added to favorites list."
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
+#: src/frontend/mame/ui/miscmenu.cpp:238
#, c-format
msgid ""
-"%s\n"
-" removed from favorites list."
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/miscmenu.cpp:242
+#, c-format
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
+"Tickets dispensed: %1$d\n"
"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
+#: src/frontend/mame/ui/miscmenu.cpp:253
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/miscmenu.cpp:253
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
-#, c-format
-msgid "Driver: \"%1$s\" software list "
+#: src/frontend/mame/ui/miscmenu.cpp:256
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
-#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+#: src/frontend/mame/ui/miscmenu.cpp:503
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/miscmenu.cpp:601
#, c-format
-msgid "Search: %1$s_"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
-msgid "Unfiltered"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
-msgid "Available"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
-msgid "Unavailable"
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
-msgid "Working"
+#: src/frontend/mame/ui/miscmenu.cpp:627
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
-msgid "Not Working"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
-msgid "Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:655
+msgid "Export list in XML format (like -listxml)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
-msgid "Not Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:656
+msgid "Export list in XML format (like -listxml, but exclude devices)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
-msgid "Category"
+#: src/frontend/mame/ui/miscmenu.cpp:657
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
-msgid "Favorites"
+#: src/frontend/mame/ui/miscmenu.cpp:710 src/frontend/mame/ui/ui.cpp:2230
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/miscmenu.cpp:760 src/frontend/mame/ui/utils.cpp:66
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
-msgid "Not BIOS"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
-msgid "Parents"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
-msgid "Clones"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:73
-msgid "Manufacturer"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
-msgid "Year"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:75
-msgid "Save Supported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:76
-msgid "Save Unsupported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:77
-msgid "CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:78
-msgid "No CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:79
-msgid "Vertical Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:80
-msgid "Horizontal Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
-msgid "Custom Filter"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:91
-msgid "Publisher"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:92
-msgid "Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:764
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
-msgid "Partially Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:767
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
-msgid "Unsupported"
+#: src/frontend/mame/ui/miscmenu.cpp:776 src/frontend/mame/ui/mainmenu.cpp:145
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
-msgid "Release Region"
+#: src/frontend/mame/ui/miscmenu.cpp:778 src/frontend/mame/ui/mainmenu.cpp:147
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
-msgid "Device Type"
+#: src/frontend/mame/ui/miscmenu.cpp:781
+msgid "Save machine configuration"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
-msgid "Software List"
+#: src/frontend/mame/ui/miscmenu.cpp:792
+msgid "Configure machine:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
-msgid "<set up filters>"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:736
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:551 plugins/cheatfind/init.lua:619
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
-msgid "Select custom filters:"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:739
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:554 plugins/cheat/init.lua:563
+#: plugins/cheatfind/init.lua:616
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
-#, c-format
-msgid "Filter %1$u"
+#: src/frontend/mame/ui/miscmenu.cpp:909 src/frontend/mame/ui/selgame.cpp:441
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
-msgid "Remove last filter"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
-msgid "Add filter"
+#: src/frontend/mame/ui/barcode.cpp:78
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
-msgid "Select category:"
+#: src/frontend/mame/ui/barcode.cpp:119
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
-msgid "[no category INI files]"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:99
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
-msgid "[no groups in INI file]"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
-msgid "No category INI files found"
+#: src/frontend/mame/ui/mainmenu.cpp:60
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
-msgid "File"
+#: src/frontend/mame/ui/mainmenu.cpp:62
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
-msgid "No groups found in category file"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
-msgid "Group"
+#: src/frontend/mame/ui/mainmenu.cpp:68
+msgid "Dip Switches"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
-msgid "Include clones"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
+#: src/frontend/mame/ui/mainmenu.cpp:78
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/mainmenu.cpp:85
+msgid "Image Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/mainmenu.cpp:96
+msgid "Tape Control"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/mainmenu.cpp:102
+msgid "BIOS Selection"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/mainmenu.cpp:106
+msgid "Slot Devices"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
-#, c-format
-msgid "%s [internal]"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Barcode Reader"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:203 src/frontend/mame/ui/miscmenu.cpp:97
-#: src/frontend/mame/ui/inputmap.cpp:615
-msgid "Reset"
+#: src/frontend/mame/ui/mainmenu.cpp:114
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/mainmenu.cpp:118
+msgid "Keyboard Mode"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/mainmenu.cpp:121
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/mainmenu.cpp:124 src/frontend/mame/ui/submenu.cpp:101
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/mainmenu.cpp:128
+msgid "Crosshair Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/mainmenu.cpp:132 plugins/cheat/init.lua:735
+msgid "Cheat"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:762
-#: plugins/cheat/init.lua:569 plugins/cheatfind/init.lua:792
-#: plugins/cheatfind/init.lua:803
-msgid "On"
+#: src/frontend/mame/ui/mainmenu.cpp:135
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:765
-#: plugins/cheat/init.lua:572 plugins/cheat/init.lua:581
-#: plugins/cheatfind/init.lua:789 plugins/cheatfind/init.lua:800
-msgid "Off"
+#: src/frontend/mame/ui/mainmenu.cpp:139
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/mainmenu.cpp:154
+msgid "Select New Machine"
msgstr ""
#: src/frontend/mame/ui/custui.cpp:31
@@ -1376,1281 +1273,1303 @@ msgstr ""
msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/submenu.cpp:22
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/submenu.cpp:23
+msgid "Re-select last machine played"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/submenu.cpp:24
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:26
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:27
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:28
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:29
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:30
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
-#, c-format
-msgid "%s.txt saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/submenu.cpp:45
+msgid "Refresh speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/submenu.cpp:47
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/submenu.cpp:49
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
-msgid "Configure Machine"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
-#, c-format
-msgid "Romset\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
-#, c-format
-msgid "Year\t%1$s\n"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
-#, c-format
-msgid "Manufacturer\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
-#, c-format
-msgid "Driver is Clone of\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1044
-msgid "Driver is Parent\t\n"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
-msgid "Analog Controls\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Artwork Crop"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
-msgid "Keyboard Inputs\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Use Backdrops"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
-msgid "Overall\tNOT WORKING\n"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Use Overlays"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
-msgid "Overall\tUnemulated Protection\n"
+#: src/frontend/mame/ui/submenu.cpp:60
+msgid "Use Bezels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
-msgid "Overall\tWorking\n"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Use Control Panels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
-msgid "Graphics\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:62
+msgid "Use Marquees"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
-msgid "Graphics\tWrong Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
-msgid "Graphics\tImperfect Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
-msgid "Graphics\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
-msgid "Graphics\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Bilinear snapshot"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
-msgid "Sound\tNone\n"
+#: src/frontend/mame/ui/submenu.cpp:69
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
-msgid "Sound\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
-msgid "Sound\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:72
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
-msgid "Sound\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
-msgid "Capture\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
-msgid "Capture\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
-msgid "Camera\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
-msgid "Camera\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
-msgid "Microphone\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
-msgid "Microphone\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:79
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
-msgid "Controls\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
-msgid "Controls\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
-msgid "Keyboard\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Joystick saturation"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
-msgid "Keyboard\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Natural keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
-msgid "Mouse\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
-msgid "Mouse\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
-msgid "Media\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
-msgid "Media\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Lightgun Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
-msgid "Disk\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Trackball Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
-msgid "Disk\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
-msgid "Printer\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
-msgid "Printer\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
-msgid "Mag. Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:95
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
-msgid "Mag. Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:96
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
-msgid "Punch Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:97
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
-msgid "Punch Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
-msgid "Mag. Drum\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:103
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
-msgid "Mag. Drum\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
-msgid "(EP)ROM\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
-msgid "(EP)ROM\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
-msgid "Communications\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:109
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
-msgid "Communications\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:110
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
-msgid "LAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:111
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
-msgid "LAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:112
+msgid "Enforce Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
-msgid "WAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:113
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
-msgid "WAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:114
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
-msgid "Timing\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
-msgid "Timing\tImperfect\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tYes\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Select position to load from"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tNo\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tYes\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Select position to save to"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tNo\n"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:309 src/frontend/mame/ui/selsoft.cpp:211
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:314 src/frontend/mame/ui/selgame.cpp:320
+#: src/frontend/mame/ui/selsoft.cpp:216
+#, c-format
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:437
+msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:849
+#, c-format
+msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:850
+#, c-format
+msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:851
+#, c-format
+msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:855
+#, c-format
+msgid "Driver is Clone of\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:857
+msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tVertical\n"
+#: src/frontend/mame/ui/selgame.cpp:860
+msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tHorizontal\n"
+#: src/frontend/mame/ui/selgame.cpp:862
+msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:865
+msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:867
+msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
-msgid "ROM Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:869
+msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
-msgid "ROM Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:872
+msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
-msgid "Samples Audit Result\tNone Needed\n"
+#: src/frontend/mame/ui/selgame.cpp:874
+msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
-msgid "Samples Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:876
+msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
-msgid "Samples Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:878
+msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
-msgid ""
-"ROM Audit \tDisabled\n"
-"Samples Audit \tDisabled\n"
+#: src/frontend/mame/ui/selgame.cpp:880
+msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
+#: src/frontend/mame/ui/selgame.cpp:883
+msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1424
-#, c-format
-msgid "Romset: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:885
+msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
-#, c-format
-msgid "System: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:887
+msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1465
-msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
+#: src/frontend/mame/ui/selgame.cpp:889
+msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
+#: src/frontend/mame/ui/selgame.cpp:892
+msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
+#: src/frontend/mame/ui/selgame.cpp:894
+msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
+#: src/frontend/mame/ui/selgame.cpp:897
+msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
+#: src/frontend/mame/ui/selgame.cpp:899
+msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
+#: src/frontend/mame/ui/selgame.cpp:902
+msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selgame.cpp:904
+msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selgame.cpp:907
+msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/selgame.cpp:909
+msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/selgame.cpp:912
+msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/selgame.cpp:914
+msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/selgame.cpp:917
+msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/selgame.cpp:919
+msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/selgame.cpp:922
+msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/selgame.cpp:924
+msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/selgame.cpp:927
+msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/selgame.cpp:929
+msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/selgame.cpp:932
+msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/selgame.cpp:934
+msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/selgame.cpp:937
+msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/selgame.cpp:939
+msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/selgame.cpp:970
+msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/selgame.cpp:972
+msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/selgame.cpp:975
+msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/selgame.cpp:977
+msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/selgame.cpp:979
+msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/selgame.cpp:983
+msgid ""
+"ROM Audit \tDisabled\n"
+"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/selgame.cpp:1167
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/selgame.cpp:1183 src/frontend/mame/ui/selsoft.cpp:555
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/selgame.cpp:1185 src/frontend/mame/ui/selsoft.cpp:557
+#, c-format
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/selgame.cpp:1195
+#, c-format
+msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/selgame.cpp:1202
+#, c-format
+msgid "System: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/selgame.cpp:1239
+msgid ""
+"The selected machine is missing one or more required ROM or CHD images. "
+"Please select a different machine.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/selgame.cpp:1245 src/frontend/mame/ui/selsoft.cpp:462
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/utils.cpp:57 src/frontend/mame/ui/utils.cpp:81
+msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/utils.cpp:58 src/frontend/mame/ui/utils.cpp:82
+msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/utils.cpp:59 src/frontend/mame/ui/utils.cpp:83
+msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/utils.cpp:60
+msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/utils.cpp:61
+msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/utils.cpp:62
+msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:63
+msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:64
+msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:65
+msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:67
+msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:84
+msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/utils.cpp:85
+msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:70
+msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:86
+msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/utils.cpp:72
+msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/utils.cpp:73
+msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/utils.cpp:74
+msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/utils.cpp:75
+msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/utils.cpp:76
+msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/utils.cpp:77
+msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/utils.cpp:78 src/frontend/mame/ui/utils.cpp:94
+msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/utils.cpp:87
+msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/utils.cpp:88
+msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/utils.cpp:89
+msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/utils.cpp:90
+msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/utils.cpp:91
+msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:43
-#, c-format
-msgid ""
-"[This option is currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"The selected option enables the following items:\n"
+#: src/frontend/mame/ui/utils.cpp:92
+msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:44
-#, c-format
-msgid ""
-"[This option is NOT currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"If you select this option, the following items will be enabled:\n"
+#: src/frontend/mame/ui/utils.cpp:93
+msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/utils.cpp:244
+msgid "<set up filters>"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:352
+msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/utils.cpp:503
#, c-format
-msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
-msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:518
+msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %3$d.%4$06d MHz\n"
+#: src/frontend/mame/ui/utils.cpp:520
+msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:959
+msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/utils.cpp:990
+msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/utils.cpp:998
+msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:103
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1032
+msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1037
+msgid "File"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/utils.cpp:1041
+msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
-#, c-format
-msgid " %1$d×%2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1046
+msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1047
+msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:168
-#, c-format
+#: src/frontend/mame/ui/selsoft.cpp:456
msgid ""
-"* BIOS settings:\n"
-" %1$d options [default: %2$s]\n"
+"The selected software is missing one or more required files. Please select a "
+"different software.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:208 src/frontend/mame/ui/devopt.cpp:224
-#: src/frontend/mame/ui/devopt.cpp:269
+#: src/frontend/mame/ui/selsoft.cpp:549
#, c-format
-msgid " %1$s [default: %2$s]\n"
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
+#: src/frontend/mame/ui/selsoft.cpp:550
#, c-format
-msgid " %1$s\n"
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:260
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:419
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/filesel.cpp:515
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:516
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:518
+msgid "Read-write"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
-#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:519
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:520
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:117
+msgid "Cannot save over directory"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:150
+msgid ""
+"The software selected is missing one or more required ROM or CHD images. "
+"Please select a different one."
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:294
+msgid "Return to Machine"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
-#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:299 src/frontend/mame/ui/menu.cpp:301
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+#: src/frontend/mame/ui/menu.cpp:306 src/frontend/mame/ui/menu.cpp:308
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
-#, c-format
-msgid " %1$s [tag: %2$s]\n"
+#: src/frontend/mame/ui/menu.cpp:742
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
+#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:653
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+#: src/frontend/mame/ui/cheatopt.cpp:105
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/cheatopt.cpp:136
+msgid "Autofire Settings"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:581
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:582
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
+#: src/frontend/mame/ui/cheatopt.cpp:273
+msgid "Autofire Status"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
+#: src/frontend/mame/ui/cheatopt.cpp:316
+msgid "No buttons found on this machine!"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+#: src/frontend/mame/ui/cheatopt.cpp:327 src/frontend/mame/ui/cheatopt.cpp:331
+msgid "Autofire Delay"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
-msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
+#: src/frontend/mame/ui/ui.cpp:337
+msgid "This driver requires images to be loaded in the following device(s): "
msgstr ""
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
+#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
+msgid "Keyboard Emulation Status"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
+#: src/frontend/mame/ui/ui.cpp:1086
+msgid "Mode: PARTIAL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
+#: src/frontend/mame/ui/ui.cpp:1087
+msgid "UI: Enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
+#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
+msgid "**Use ScrLock to toggle**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
+#: src/frontend/mame/ui/ui.cpp:1096
+msgid "Mode: FULL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: src/frontend/mame/ui/ui.cpp:1097
+msgid "UI: Disabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
+#: src/frontend/mame/ui/ui.cpp:1249
+msgid "Autofire can't be enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
+#: src/frontend/mame/ui/ui.cpp:1302
+#, c-format
+msgid ""
+"Are you sure you want to quit?\n"
+"\n"
+"Press ''%1$s'' to quit,\n"
+"Press ''%2$s'' to return to emulation."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
+#: src/frontend/mame/ui/ui.cpp:1374
+msgid "Master Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
+#: src/frontend/mame/ui/ui.cpp:1383
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/ui.cpp:1407
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/ui.cpp:1416
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/ui.cpp:1437
+#, c-format
+msgid "%1$s Refresh Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, c-format
+msgid "%1$s Brightness"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1444
+#, c-format
+msgid "%1$s Contrast"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1446
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/ui.cpp:1450
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/ui.cpp:1452
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/ui.cpp:1454
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/ui.cpp:1456
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/ui.cpp:1475
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/ui.cpp:1477
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/ui.cpp:1479
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
-msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+#: src/frontend/mame/ui/ui.cpp:1481
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:198
-msgid ""
-"There are known problems with this machine\n"
-"\n"
+#: src/frontend/mame/ui/ui.cpp:1493
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/ui.cpp:1494
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/ui.cpp:1495
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
+#: src/frontend/mame/ui/ui.cpp:1496
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#: src/frontend/mame/ui/info.cpp:275
+#: src/frontend/mame/ui/ui.cpp:1511
#, c-format
-msgid ", %s"
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
+#: src/frontend/mame/ui/ui.cpp:1513
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:243
-msgid ""
-"This machine was never completed. It may exhibit strange behavior or missing "
-"elements that are not bugs in the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1601
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:245
-msgid ""
-"This machine has no sound hardware, MAME will produce no sounds, this is "
-"expected behaviour.\n"
+#: src/frontend/mame/ui/ui.cpp:1645
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:249
-msgid ""
-"\n"
-"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
-"complete. There is nothing you can do to fix this problem except wait for "
-"the developers to improve the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1661
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:251
-msgid ""
-"\n"
-"Elements of this machine cannot be emulated as they requires physical "
-"interaction or consist of mechanical devices. It is not possible to fully "
-"experience this machine.\n"
+#: src/frontend/mame/ui/ui.cpp:1685
+#, c-format
+msgid "%1$.3ffps"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
+#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
+#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
+#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
+#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
+#: src/frontend/mame/ui/ui.cpp:1927
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
+#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/ui.cpp:2005
#, c-format
-msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/ui.cpp:2226
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " COLORS"
+msgstr ""
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:39
#, c-format
-msgid "%1$s: %2$s\n"
+msgid ""
+"[This option is currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"The selected option enables the following items:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+#: src/frontend/mame/ui/devopt.cpp:40
+#, c-format
+msgid ""
+"[This option is NOT currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"If you select this option, the following items will be enabled:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:48
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
#, c-format
-msgid "Screen '%1$s'"
+msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
+msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:85
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:90
+#, c-format
+msgid " Screen '%1$s': Vector\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:99
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:100
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:113
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:133
+#, c-format
+msgid " %1$d×%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:164
+#, c-format
+msgid ""
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:204 src/frontend/mame/ui/devopt.cpp:220
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
+#: src/frontend/mame/ui/devopt.cpp:209 src/frontend/mame/ui/devopt.cpp:225
#, c-format
-msgid "Software is clone of: %1$-.100s"
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: src/frontend/mame/ui/devopt.cpp:230
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: src/frontend/mame/ui/devopt.cpp:232
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: src/frontend/mame/ui/devopt.cpp:234
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: src/frontend/mame/ui/devopt.cpp:236
+#, c-format
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
+#: src/frontend/mame/ui/devopt.cpp:238
#, c-format
-msgid "romset: %1$-.100s"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
+#: src/frontend/mame/ui/devopt.cpp:240
#, c-format
-msgid "Driver is clone of: %1$-.100s"
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: src/frontend/mame/ui/devopt.cpp:242
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
+#: src/frontend/mame/ui/devopt.cpp:244
#, c-format
-msgid "%1$s %2$s"
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: src/frontend/mame/ui/devopt.cpp:246
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: src/frontend/mame/ui/devopt.cpp:248
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: src/frontend/mame/ui/devopt.cpp:257
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: src/frontend/mame/ui/devopt.cpp:263
+msgid "* Slot Options:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:270
+msgid "[None]\n"
msgstr ""
#: plugins/timer/init.lua:94
@@ -2669,51 +2588,51 @@ msgstr ""
msgid "Timer"
msgstr ""
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:510
msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheat/init.lua:534
+#: plugins/cheat/init.lua:516
msgid "Press button for hotkey or wait to clear"
msgstr ""
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:528
msgid "None"
msgstr ""
-#: plugins/cheat/init.lua:551
+#: plugins/cheat/init.lua:533
msgid "Done"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:547 plugins/cheat/init.lua:561
msgid "Set"
msgstr ""
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:580
msgid "Set hotkeys"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:720
#, lua-format
msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:723 plugins/cheat/init.lua:781
#, lua-format
msgid "Activated: %s"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:785
#, lua-format
msgid "Enabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:790
#, lua-format
msgid "Disabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "%s added"
msgstr ""
@@ -2762,303 +2681,218 @@ msgstr ""
msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:404
+#: plugins/cheatfind/init.lua:373
msgid "Save Cheat"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Default"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Custom"
msgstr ""
-#: plugins/cheatfind/init.lua:408
+#: plugins/cheatfind/init.lua:377
msgid "Cheat Name"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/cheatfind/init.lua:383 plugins/cheatfind/init.lua:748
#, lua-format
msgid "Default name is %s"
msgstr ""
-#: plugins/cheatfind/init.lua:422
+#: plugins/cheatfind/init.lua:391
msgid "Player"
msgstr ""
-#: plugins/cheatfind/init.lua:427
+#: plugins/cheatfind/init.lua:396
msgid "Type"
msgstr ""
-#: plugins/cheatfind/init.lua:433
+#: plugins/cheatfind/init.lua:402
msgid "Save"
msgstr ""
-#: plugins/cheatfind/init.lua:462
+#: plugins/cheatfind/init.lua:429
#, lua-format
msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:472
+#: plugins/cheatfind/init.lua:437
msgid "Cheat added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:442
msgid ""
"Unable to write file\n"
"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/cheatfind/init.lua:486
+#: plugins/cheatfind/init.lua:451
msgid "Cancel"
msgstr ""
-#: plugins/cheatfind/init.lua:491
+#: plugins/cheatfind/init.lua:456
msgid "CPU or RAM"
msgstr ""
-#: plugins/cheatfind/init.lua:495
+#: plugins/cheatfind/init.lua:460
msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:479
+msgid "Data cleared and current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:487
+msgid "Start new search"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:497
+msgid "Current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:504
+msgid "Save current -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
+#: plugins/cheatfind/init.lua:536
#, lua-format
-msgid "Memory State saved to Slot %d"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:543
+msgid "Compare"
msgstr ""
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
+#: plugins/cheatfind/init.lua:546
+msgid "Left operand"
+msgstr ""
+
+#: plugins/cheatfind/init.lua:549
+msgid "Current"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:554
+msgid "Operator"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:561
+msgid "Left less than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:563
+msgid "Left greater than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:676
+#: plugins/cheatfind/init.lua:565
msgid "Left equal to right"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:567
+msgid "Left not equal to right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:680
+#: plugins/cheatfind/init.lua:569
msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:682
+#: plugins/cheatfind/init.lua:571
msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:684
+#: plugins/cheatfind/init.lua:573
msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:686
+#: plugins/cheatfind/init.lua:575
msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:688
+#: plugins/cheatfind/init.lua:577
msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:690
+#: plugins/cheatfind/init.lua:579
msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/cheatfind/init.lua:590
+msgid "Right operand"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/cheatfind/init.lua:598
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:719
+#: plugins/cheatfind/init.lua:602
msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:725
+#: plugins/cheatfind/init.lua:608
msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:738
-msgid ""
-"Use this if you want to poke the Slot 1 value (eg. You started with "
-"something but lost it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:740
-msgid ""
-"Use this if you want to poke the Last Slot value (eg. You started without an "
-"item but finally got it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:816
+#: plugins/cheatfind/init.lua:632
msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:820
+#: plugins/cheatfind/init.lua:636
msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:823
+#: plugins/cheatfind/init.lua:639
msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheatfind/init.lua:690
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Test cheat at addr %08X"
msgstr ""
-#: plugins/cheatfind/init.lua:974
+#: plugins/cheatfind/init.lua:722
msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
+#: plugins/cheatfind/init.lua:788
msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
+#: plugins/cheatfind/init.lua:806
msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
+#: plugins/cheatfind/init.lua:816
msgid "Cheat Finder"
msgstr ""
-#: plugins/portname/init.lua:103
+#: plugins/portname/init.lua:69
msgid "Save input names to file"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
+#: plugins/portname/init.lua:100 plugins/portname/init.lua:105
+#: plugins/portname/init.lua:121
msgid "Failed to save input name file"
msgstr ""
-#: plugins/portname/init.lua:167
+#: plugins/portname/init.lua:133
#, lua-format
msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/portname/init.lua:172
+#: plugins/portname/init.lua:138
msgid "Input ports"
msgstr ""
diff --git a/language/Norwegian/strings.po b/language/Norwegian/strings.po
index 641fe4d57a0..7d34fc95fbc 100644
--- a/language/Norwegian/strings.po
+++ b/language/Norwegian/strings.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MAME\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-03-17 13:37+1100\n"
+"POT-Creation-Date: 2018-04-28 15:32+1000\n"
"PO-Revision-Date: 2018-08-05 19:10+0200\n"
"Last-Translator: Imre Kristoffer Eilertsen <imreeil42@gmail.com>\n"
"Language-Team: MAME Language Team\n"
@@ -18,61 +18,240 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 2.1.1\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
+#: src/frontend/mame/ui/auditmenu.cpp:96
#, c-format
-msgid "Screen #%d"
-msgstr "Skjerm nr. %d"
+msgid "Audit ROMs for %1$u machines marked unavailable?"
+msgstr ""
+"Vil du undersøke ROM-filene til %1$u maskiner som er merket som "
+"utilgjengelige?"
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr "Rotering"
+#: src/frontend/mame/ui/auditmenu.cpp:99
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
+msgstr "Vil du undersøke ROM-filene til alle %1$u maskinene?"
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr "Bakgrunner"
+#: src/frontend/mame/ui/auditmenu.cpp:104
+#, c-format
+msgid "(results will be saved to %1$s)"
+msgstr "(utfallene vil bli lagret til %1$s)"
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Enabled"
-msgstr "Skrudd på"
+#: src/frontend/mame/ui/auditmenu.cpp:130
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
+msgstr ""
+"Undersøker ROM-filene til maskin nr. %2$u av %3$u...\n"
+"%1$s"
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Disabled"
-msgstr "Skrudd av"
+#: src/frontend/mame/ui/auditmenu.cpp:142
+msgid "Start Audit"
+msgstr "Start undersøking"
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr "Overlegg"
+#: src/frontend/mame/ui/selmenu.cpp:49 src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Snapshots"
+msgstr "Skjermklipp"
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr "Bezeler"
+#: src/frontend/mame/ui/selmenu.cpp:50 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cabinets"
+msgstr "Kabinetter"
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
-msgstr "K.paneler"
+#: src/frontend/mame/ui/selmenu.cpp:51
+msgid "Control Panels"
+msgstr "Kontrollpaneler"
+
+#: src/frontend/mame/ui/selmenu.cpp:52 src/frontend/mame/ui/dirmenu.cpp:50
+msgid "PCBs"
+msgstr "PCBer"
+
+#: src/frontend/mame/ui/selmenu.cpp:53 src/frontend/mame/ui/dirmenu.cpp:47
+msgid "Flyers"
+msgstr "Plakater"
+
+#: src/frontend/mame/ui/selmenu.cpp:54 src/frontend/mame/ui/dirmenu.cpp:48
+msgid "Titles"
+msgstr "Titteler"
+
+#: src/frontend/mame/ui/selmenu.cpp:55 src/frontend/mame/ui/dirmenu.cpp:49
+msgid "Ends"
+msgstr "Slutter"
+
+#: src/frontend/mame/ui/selmenu.cpp:56
+msgid "Artwork Preview"
+msgstr "Kunstverkforhåndsvisning"
+
+#: src/frontend/mame/ui/selmenu.cpp:57 src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Bosses"
+msgstr "Bosser"
+
+#: src/frontend/mame/ui/selmenu.cpp:58 src/frontend/mame/ui/dirmenu.cpp:60
+msgid "Logos"
+msgstr "Logoer"
+
+#: src/frontend/mame/ui/selmenu.cpp:59 src/frontend/mame/ui/dirmenu.cpp:62
+msgid "Versus"
+msgstr "Flerspiller"
+
+#: src/frontend/mame/ui/selmenu.cpp:60
+msgid "Game Over"
+msgstr "Game Over"
+
+#: src/frontend/mame/ui/selmenu.cpp:61 src/frontend/mame/ui/dirmenu.cpp:59
+msgid "HowTo"
+msgstr "Hvordan"
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
+#: src/frontend/mame/ui/selmenu.cpp:62 src/frontend/mame/ui/dirmenu.cpp:61
+msgid "Scores"
+msgstr "Scorer"
+
+#: src/frontend/mame/ui/selmenu.cpp:63 src/frontend/mame/ui/dirmenu.cpp:57
+msgid "Select"
+msgstr "Velg"
+
+#: src/frontend/mame/ui/selmenu.cpp:64 src/frontend/mame/ui/dirmenu.cpp:51
+#: src/frontend/mame/ui/videoopt.cpp:224
msgid "Marquees"
msgstr "Markier"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
-msgstr "Vis"
+#: src/frontend/mame/ui/selmenu.cpp:65 src/frontend/mame/ui/dirmenu.cpp:63
+msgid "Covers"
+msgstr "Omslag"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
-msgstr "Beskjært"
+#: src/frontend/mame/ui/selmenu.cpp:69
+msgid "Add or remove favorites"
+msgstr "Legg til eller fjern favoritter"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
-msgstr "Full"
+#: src/frontend/mame/ui/selmenu.cpp:70
+msgid "Export displayed list to file"
+msgstr "Eksporter den viste listen til en fil"
+
+#: src/frontend/mame/ui/selmenu.cpp:71
+msgid "Show DATs view"
+msgstr "Vis DAT-oversikten"
+
+#: src/frontend/mame/ui/selmenu.cpp:237
+msgid "Software part selection:"
+msgstr "Programvaredel-valg:"
+
+#: src/frontend/mame/ui/selmenu.cpp:343
+msgid "BIOS selection:"
+msgstr "BIOS-valg:"
+
+#: src/frontend/mame/ui/selmenu.cpp:570 src/frontend/mame/ui/selmenu.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:311
+#, c-format
+msgid "%1$s, %2$-.100s"
+msgstr "%1$s, %2$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:574
+#, c-format
+msgid "Software is clone of: %1$-.100s"
+msgstr "Programvaren er en klone av: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:576
+msgid "Software is parent"
+msgstr "Programvaren er overordnet"
+
+#: src/frontend/mame/ui/selmenu.cpp:581
+msgid "Supported: No"
+msgstr "Støttet: Nei"
+
+#: src/frontend/mame/ui/selmenu.cpp:586
+msgid "Supported: Partial"
+msgstr "Støttet: Delvis"
+
+#: src/frontend/mame/ui/selmenu.cpp:591
+msgid "Supported: Yes"
+msgstr "Støttet: Ja"
+
+#: src/frontend/mame/ui/selmenu.cpp:596
+#, c-format
+msgid "romset: %1$-.100s"
+msgstr "ROM-sett: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:612
+#, c-format
+msgid "Driver is clone of: %1$-.100s"
+msgstr "Driveren er en klone av: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:614
+msgid "Driver is parent"
+msgstr "Driveren er overordnet"
+
+#: src/frontend/mame/ui/selmenu.cpp:619
+#: src/frontend/mame/ui/simpleselgame.cpp:330
+msgid "Overall: NOT WORKING"
+msgstr "Alt i alt: VIRKER IKKE"
+
+#: src/frontend/mame/ui/selmenu.cpp:621
+#: src/frontend/mame/ui/simpleselgame.cpp:332
+msgid "Overall: Unemulated Protection"
+msgstr "Alt i alt: Uemulert beskyttelse"
+
+#: src/frontend/mame/ui/selmenu.cpp:623
+#: src/frontend/mame/ui/simpleselgame.cpp:334
+msgid "Overall: Working"
+msgstr "Alt i alt: Fungerer"
+
+#: src/frontend/mame/ui/selmenu.cpp:627
+#: src/frontend/mame/ui/simpleselgame.cpp:338
+msgid "Graphics: Unimplemented, "
+msgstr "Grafikk: Ikke implementert, "
+
+#: src/frontend/mame/ui/selmenu.cpp:629
+#: src/frontend/mame/ui/simpleselgame.cpp:340
+msgid "Graphics: Imperfect, "
+msgstr "Grafikk: Ikke perfekt, "
+
+#: src/frontend/mame/ui/selmenu.cpp:631
+#: src/frontend/mame/ui/simpleselgame.cpp:342
+msgid "Graphics: OK, "
+msgstr "Grafikk: OK, "
+
+#: src/frontend/mame/ui/selmenu.cpp:634
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+msgid "Sound: None"
+msgstr "Lyd: Ingen"
+
+#: src/frontend/mame/ui/selmenu.cpp:636
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+msgid "Sound: Unimplemented"
+msgstr "Lyd: Ikke implementert"
+
+#: src/frontend/mame/ui/selmenu.cpp:638
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+msgid "Sound: Imperfect"
+msgstr "Lyd: Ikke perfekt"
+
+#: src/frontend/mame/ui/selmenu.cpp:640
+#: src/frontend/mame/ui/simpleselgame.cpp:351
+msgid "Sound: OK"
+msgstr "Lyd: OK"
+
+#: src/frontend/mame/ui/selmenu.cpp:650
+#, c-format
+msgid "%1$s %2$s"
+msgstr "%1$s %2$s"
+
+#: src/frontend/mame/ui/selmenu.cpp:1975
+msgid "Images"
+msgstr "Bilder"
+
+#: src/frontend/mame/ui/selmenu.cpp:1976
+msgid "Infos"
+msgstr "Info"
+
+#: src/frontend/mame/ui/selmenu.cpp:2386 src/frontend/mame/ui/miscmenu.cpp:826
+msgid " (default)"
+msgstr " (standard)"
+
+#: src/frontend/mame/ui/selmenu.cpp:2454
+msgid "Usage"
+msgstr "Bruksområde"
+
+#: src/frontend/mame/ui/selmenu.cpp:2489
+msgid "General Info"
+msgstr "Generell info"
#: src/frontend/mame/ui/dirmenu.cpp:35
msgid "ROMs"
@@ -114,30 +293,6 @@ msgstr "Ikoner"
msgid "Cheats"
msgstr "Juksekoder"
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
-msgstr "Skjermklipp"
-
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
-msgstr "Kabinetter"
-
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
-msgstr "Plakater"
-
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
-msgstr "Titteler"
-
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
-msgstr "Slutter"
-
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
-msgstr "PCBer"
-
#: src/frontend/mame/ui/dirmenu.cpp:52
msgid "Controls Panels"
msgstr "Kontrollpaneler"
@@ -150,42 +305,14 @@ msgstr "Siktehår"
msgid "Artworks"
msgstr "Kunstverk"
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
-msgstr "Bosser"
-
#: src/frontend/mame/ui/dirmenu.cpp:56
msgid "Artworks Preview"
msgstr "Kunstverkforhåndsvisning"
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
-msgstr "Velg"
-
#: src/frontend/mame/ui/dirmenu.cpp:58
msgid "GameOver"
msgstr "GameOver"
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
-msgstr "Hvordan"
-
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
-msgstr "Logoer"
-
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
-msgstr "Scorer"
-
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
-msgstr "Flerspiller"
-
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
-msgstr "Omslag"
-
#: src/frontend/mame/ui/dirmenu.cpp:116
msgid "Folders Setup"
msgstr "Mappeoppsett"
@@ -226,14 +353,277 @@ msgstr "Trykk TAB for å velge"
msgid "Remove %1$s Folder"
msgstr "Fjern %1$s mappe"
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
-msgstr "Utvalgsliste - Søk: "
+#: src/frontend/mame/ui/info.cpp:30
+msgid "protection"
+msgstr "beskyttelse"
+
+#: src/frontend/mame/ui/info.cpp:31
+msgid "color palette"
+msgstr "fargepalett"
+
+#: src/frontend/mame/ui/info.cpp:32
+msgid "graphics"
+msgstr "grafikk"
+
+#: src/frontend/mame/ui/info.cpp:33
+msgid "sound"
+msgstr "lyd"
-#: src/frontend/mame/ui/selector.cpp:123
+#: src/frontend/mame/ui/info.cpp:34
+msgid "controls"
+msgstr "kontrollere"
+
+#: src/frontend/mame/ui/info.cpp:35
+msgid "keyboard"
+msgstr "tastatur"
+
+#: src/frontend/mame/ui/info.cpp:36
+msgid "mouse"
+msgstr "mus"
+
+#: src/frontend/mame/ui/info.cpp:37
+msgid "microphone"
+msgstr "mikrofon"
+
+#: src/frontend/mame/ui/info.cpp:38
+msgid "camera"
+msgstr "kamera"
+
+#: src/frontend/mame/ui/info.cpp:39
+msgid "disk"
+msgstr "disk"
+
+#: src/frontend/mame/ui/info.cpp:40
+msgid "printer"
+msgstr "skriver"
+
+#: src/frontend/mame/ui/info.cpp:41
+msgid "LAN"
+msgstr "LAN"
+
+#: src/frontend/mame/ui/info.cpp:42
+msgid "WAN"
+msgstr "WAN"
+
+#: src/frontend/mame/ui/info.cpp:43
+msgid "timing"
+msgstr "timing"
+
+#: src/frontend/mame/ui/info.cpp:180
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
+msgstr ""
+"Én eller flere av ROM- eller CHD-filene til denne maskinen er feil. Maskinen "
+"vil kanskje ikke kunne kjøre riktig.\n"
+
+#: src/frontend/mame/ui/info.cpp:190
+msgid ""
+"There are known problems with this machine\n"
+"\n"
+msgstr ""
+"Det er noen problemer med maskinen som vi kjenner til\n"
+"\n"
+
+#: src/frontend/mame/ui/info.cpp:195
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+msgstr ""
+"Én eller flere av ROM- eller CHD-filene til denne maskinen har ikke blitt "
+"riktig dumpet.\n"
+
+#: src/frontend/mame/ui/info.cpp:200
+msgid "Completely unemulated features: "
+msgstr "Fullstendig uemulerte egenskaper: "
+
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
#, c-format
-msgid "Double click or press %1$s to select"
-msgstr "Dobbeltklikk eller trykk %1$s for å velge"
+msgid "%s"
+msgstr "%s"
+
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#: src/frontend/mame/ui/info.cpp:267
+#, c-format
+msgid ", %s"
+msgstr ", %s"
+
+#: src/frontend/mame/ui/info.cpp:216
+msgid "Imperfectly emulated features: "
+msgstr "Funksjoner som ikke er perfekt emulert: "
+
+#: src/frontend/mame/ui/info.cpp:231
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr "Skjermvending i cocktailmodus støttes ikke.\n"
+
+#: src/frontend/mame/ui/info.cpp:233
+msgid "This machine requires external artwork files.\n"
+msgstr "Denne maskinen krever eksterne kunstverkfiler.\n"
+
+#: src/frontend/mame/ui/info.cpp:235
+msgid ""
+"This machine was never completed. It may exhibit strange behavior or missing "
+"elements that are not bugs in the emulation.\n"
+msgstr ""
+"Denne maskinen ble aldri laget ferdig. Den kan oppføre seg merkelig eller "
+"mangle elementer som ikke er feil i emuleringen.\n"
+
+#: src/frontend/mame/ui/info.cpp:237
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
+msgstr ""
+"Denne maskinen har ingen maskinvare for lyd. MAME vil ikke sende ut noen "
+"lyder, dette er forventet oppførsel.\n"
+
+#: src/frontend/mame/ui/info.cpp:241
+msgid ""
+"\n"
+"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
+"complete. There is nothing you can do to fix this problem except wait for "
+"the developers to improve the emulation.\n"
+msgstr ""
+"\n"
+"DENNE MASKINEN VIRKER IKKE. Emuleringen av denne maskinen er ikke fullført "
+"ennå. Det er ingenting du kan gjøre med dette problemet, bortsett fra å "
+"vente på at utviklerne forbedrer emuleringen.\n"
+
+#: src/frontend/mame/ui/info.cpp:243
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they requires physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
+msgstr ""
+"\n"
+"Noen elementer i denne maskinen kan ikke bli emulert, siden de krever fysisk "
+"samhandling eller består av mekaniske deler. Det er ikke mulig å oppleve "
+"denne maskinen fullt ut.\n"
+
+#: src/frontend/mame/ui/info.cpp:265
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
+msgstr ""
+"\n"
+"\n"
+"Denne maskinen har fungerende kloner av seg: %s"
+
+#: src/frontend/mame/ui/info.cpp:278
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+"\n"
+"\n"
+"Trykk på enhver knapp for å fortsette"
+
+#: src/frontend/mame/ui/info.cpp:293
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
+msgstr ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
+
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "MHz"
+msgstr "MHz"
+
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "kHz"
+msgstr "kHz"
+
+#: src/frontend/mame/ui/info.cpp:342
+msgid ""
+"\n"
+"Sound:\n"
+msgstr ""
+"\n"
+"Lyd:\n"
+
+#: src/frontend/mame/ui/info.cpp:370
+msgid ""
+"\n"
+"Video:\n"
+msgstr ""
+"\n"
+"Video:\n"
+
+#: src/frontend/mame/ui/info.cpp:374
+msgid "None\n"
+msgstr "Ingen\n"
+
+#: src/frontend/mame/ui/info.cpp:381
+msgid "Vector"
+msgstr "Vektor"
+
+#: src/frontend/mame/ui/info.cpp:392
+#, c-format
+msgid "%1$s: %2$s\n"
+msgstr "%1$s: %2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:392
+msgid "%2$s\n"
+msgstr "%2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:438
+#, c-format
+msgid "Screen '%1$s'"
+msgstr "Skjerm '%1$s'"
+
+#: src/frontend/mame/ui/info.cpp:440
+msgid "Screen"
+msgstr "Skjerm"
+
+#: src/frontend/mame/ui/info.cpp:525
+msgid "Not supported"
+msgstr "Ikke støttet"
+
+#: src/frontend/mame/ui/info.cpp:528
+msgid "Partially supported"
+msgstr "Delvis støttet"
+
+#: src/frontend/mame/ui/info.cpp:536
+msgid "[empty]"
+msgstr "[tom]"
+
+#: src/frontend/mame/ui/optsmenu.cpp:193
+msgid "Filter"
+msgstr "Filtrer"
+
+#: src/frontend/mame/ui/optsmenu.cpp:206
+msgid "Customize UI"
+msgstr "Tilpass grensesnittet"
+
+#: src/frontend/mame/ui/optsmenu.cpp:207
+msgid "Configure Directories"
+msgstr "Sett opp mapper"
+
+#: src/frontend/mame/ui/optsmenu.cpp:210 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
+msgstr "Lydinnstillinger"
+
+#: src/frontend/mame/ui/optsmenu.cpp:213
+msgid "General Inputs"
+msgstr "Kontrollerkartlegging"
+
+#: src/frontend/mame/ui/optsmenu.cpp:216
+msgid "Save Configuration"
+msgstr "Lagre oppsettet"
+
+#: src/frontend/mame/ui/optsmenu.cpp:228
+msgid "Settings"
+msgstr "Innstillinger"
#: src/frontend/mame/ui/tapectrl.cpp:85
msgid "stopped"
@@ -275,8 +665,30 @@ msgstr "Spol tilbake"
msgid "Fast Forward"
msgstr "Spol frem"
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
-#: src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/inputmap.cpp:53
+msgid "User Interface"
+msgstr "Brukergrensesnitt"
+
+#: src/frontend/mame/ui/inputmap.cpp:59
+msgid "Other Controls"
+msgstr "Andre kontrolleringer"
+
+#: src/frontend/mame/ui/inputmap.cpp:628 src/frontend/mame/ui/miscmenu.cpp:96
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr "Tilbakestill"
+
+#: src/frontend/mame/ui/selector.cpp:116
+msgid "Selection List - Search: "
+msgstr "Utvalgsliste - Søk: "
+
+#: src/frontend/mame/ui/selector.cpp:124
+#, c-format
+msgid "Double click or press %1$s to select"
+msgstr "Dobbeltklikk eller trykk %1$s for å velge"
+
+#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/filesel.cpp:256
msgid "[empty slot]"
msgstr "[tomt felt]"
@@ -317,182 +729,6 @@ msgstr "Programvarebruk"
msgid "Revision: "
msgstr "Revidering: "
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
-msgstr "Filen finnes allerede - Vil du overskrive?"
-
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
-msgstr "Nei"
-
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
-msgstr "Ja"
-
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
-msgstr "Nytt bildenavn:"
-
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
-msgstr "Bildeformat:"
-
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
-msgstr "Opprett"
-
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
-msgstr "Vennligst skriv inn en filutvidelse også"
-
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
-msgstr "Velg bildeformat"
-
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
-msgstr "Kontrollere (Generelt)"
-
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
-msgstr "Kontrollere (Denne maskinen)"
-
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
-msgstr "Analoge kontrollere"
-
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
-msgstr "DIP-brytere"
-
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
-msgstr "Maskinoppsett"
-
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
-msgstr "Bokføringsinfo"
-
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
-msgstr "Maskininformasjon"
-
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
-msgstr "Bildeinformasjon"
-
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
-msgstr "Filbehandler"
-
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
-msgstr "Teipkontroll"
-
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
-msgstr "Kvasiterminaler"
-
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
-msgstr "BIOS-valg"
-
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
-msgstr "Feltenheter"
-
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
-msgstr "Strekkodeleser"
-
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
-msgstr "Nettverksenheter"
-
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
-msgstr "Tastaturmodus"
-
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
-msgstr "Glidekontrollere"
-
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
-msgstr "Videoinnstillinger"
-
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
-msgstr "Siktehårinnstillinger"
-
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
-msgstr "Juks"
-
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
-msgstr "Tilleggsinnstillinger"
-
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
-msgstr "Ekstern DAT-visning"
-
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
-msgstr "Legg til i favorittene"
-
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
-msgstr "Fjern fra favorittene"
-
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
-msgstr "Velg en ny maskin"
-
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
-msgstr "Ny strekkode:"
-
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
-msgstr "Skriv inn kode"
-
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
-msgstr "Strekkodelengden er ugyldig!"
-
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
-msgstr "[mislyktes]"
-
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
-msgstr "Lydinnstillinger"
-
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
-msgstr "Kontrollerkartlegging"
-
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
-msgstr "Lagre oppsettet"
-
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
-msgstr "Innstillinger"
-
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
-msgstr "Filtrer"
-
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
-msgstr "Tilpass grensesnittet"
-
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
-msgstr "Sett opp mapper"
-
#: src/frontend/mame/ui/simpleselgame.cpp:149
msgid ""
"The selected game is missing one or more required ROM or CHD images. Please "
@@ -505,7 +741,7 @@ msgstr ""
"\n"
"Trykk på enhver knapp for å fortsette."
-#: src/frontend/mame/ui/simpleselgame.cpp:247
+#: src/frontend/mame/ui/simpleselgame.cpp:241
#, c-format
msgid ""
"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
@@ -519,328 +755,197 @@ msgstr ""
"Dersom dette er første gang du bruker %2$s, vennligst se i config.txt-filen "
"i dokumentmappen for informasjon om hvordan man setter opp %2$s."
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:271
+#: src/frontend/mame/ui/selgame.cpp:436
msgid "Configure Options"
msgstr "Sett opp innstillingene"
-#: src/frontend/mame/ui/simpleselgame.cpp:298
+#: src/frontend/mame/ui/simpleselgame.cpp:292
#, c-format
msgid "Type name or select: %1$s_"
msgstr "Skriv inn navn eller velg: %1$s_"
-#: src/frontend/mame/ui/simpleselgame.cpp:300
+#: src/frontend/mame/ui/simpleselgame.cpp:294
msgid "Type name or select: (random)"
msgstr "Skriv inn navn eller velg: (tilfeldig)"
-#: src/frontend/mame/ui/simpleselgame.cpp:314
-#: src/frontend/mame/ui/selsoft.cpp:652 src/frontend/mame/ui/selsoft.cpp:659
+#: src/frontend/mame/ui/simpleselgame.cpp:308
+#: src/frontend/mame/ui/selsoft.cpp:564 src/frontend/mame/ui/selsoft.cpp:571
#, c-format
msgid "%1$-.100s"
msgstr "%1$-.100s"
-#: src/frontend/mame/ui/simpleselgame.cpp:317
-#: src/frontend/mame/ui/selmenu.cpp:618 src/frontend/mame/ui/selmenu.cpp:654
-#, c-format
-msgid "%1$s, %2$-.100s"
-msgstr "%1$s, %2$-.100s"
-
-#: src/frontend/mame/ui/simpleselgame.cpp:320
+#: src/frontend/mame/ui/simpleselgame.cpp:314
#, c-format
msgid "Driver: %1$-.100s"
msgstr "Driver: %1$-.100s"
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
-msgstr "Alt i alt: VIRKER IKKE"
+#: src/frontend/mame/ui/videoopt.cpp:56
+#, c-format
+msgid "Screen #%d"
+msgstr "Skjerm nr. %d"
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
-msgstr "Alt i alt: Uemulert beskyttelse"
+#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
+msgid "Rotate"
+msgstr "Rotering"
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
-msgstr "Alt i alt: Fungerer"
+#: src/frontend/mame/ui/videoopt.cpp:208
+msgid "Backdrops"
+msgstr "Bakgrunner"
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
-msgstr "Grafikk: Ikke implementert, "
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Enabled"
+msgstr "Skrudd på"
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
-msgstr "Grafikk: Ikke perfekt, "
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Disabled"
+msgstr "Skrudd av"
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
-msgstr "Grafikk: OK, "
+#: src/frontend/mame/ui/videoopt.cpp:212
+msgid "Overlays"
+msgstr "Overlegg"
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
-msgstr "Lyd: Ingen"
+#: src/frontend/mame/ui/videoopt.cpp:216
+msgid "Bezels"
+msgstr "Bezeler"
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
-msgstr "Lyd: Ikke implementert"
+#: src/frontend/mame/ui/videoopt.cpp:220
+msgid "CPanels"
+msgstr "K.paneler"
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
-msgstr "Lyd: Ikke perfekt"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "View"
+msgstr "Vis"
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
-msgstr "Lyd: OK"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cropped"
+msgstr "Beskjært"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
-msgstr "Last inn tilstand"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Full"
+msgstr "Full"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
-msgstr "Velg en posisjon å laste inn ifra"
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
+msgstr "Filen finnes allerede - Vil du overskrive?"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
-msgstr "Lagre tilstanden"
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1047
+msgid "No"
+msgstr "Nei"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
-msgstr "Velg en posisjon å lagre til"
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1047
+msgid "Yes"
+msgstr "Ja"
-#: src/frontend/mame/ui/ui.cpp:337
-msgid "This driver requires images to be loaded in the following device(s): "
-msgstr ""
-"Denne driveren krever at bilder lastes inn i de(n) følgende enhet(en): "
+#: src/frontend/mame/ui/filecreate.cpp:171
+msgid "New Image Name:"
+msgstr "Nytt bildenavn:"
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
-msgstr "Tastaturemuleringsstatus"
+#: src/frontend/mame/ui/filecreate.cpp:177
+msgid "Image Format:"
+msgstr "Bildeformat:"
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
-msgstr "Modus: DELVIS emulering"
+#: src/frontend/mame/ui/filecreate.cpp:183
+msgid "Create"
+msgstr "Opprett"
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
-msgstr "Grensesnitt: Skrudd på"
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr "Vennligst skriv inn en filutvidelse også"
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
-msgstr "**Bruk ScrLock for å skru av/på**"
+#: src/frontend/mame/ui/filecreate.cpp:266
+msgid "Select image format"
+msgstr "Velg bildeformat"
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
-msgstr "Modus: FULL emulering"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Keyboard Mode:"
+msgstr "Tastaturmodus:"
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
-msgstr "Grensesnitt: Skrudd av"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Natural"
+msgstr "Naturlig"
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
-msgstr "Autoskyting kan ikke bli aktivert"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Emulated"
+msgstr "Emulert"
-#: src/frontend/mame/ui/ui.cpp:1302
+#: src/frontend/mame/ui/miscmenu.cpp:236
#, c-format
msgid ""
-"Are you sure you want to quit?\n"
+"Uptime: %1$d:%2$02d:%3$02d\n"
"\n"
-"Press ''%1$s'' to quit,\n"
-"Press ''%2$s'' to return to emulation."
msgstr ""
-"Er du sikker på at du vil avslutte?\n"
+"Oppetid: %1$d:%2$02d:%3$02d\n"
"\n"
-"Trykk «%1$s» for å avslutte,\n"
-"Trykk «%2$s» for å gå tilbake til emuleringen."
-
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
-msgstr "Hovedvolum"
-
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
-msgstr "%1$s volum"
-
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
-msgstr "Overklokk CPU %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
-msgstr "Overklokk %1$s-lyd"
-
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
-msgstr "%1$s-oppfriskningsfrekvens"
-
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
-msgstr "%1$s lysstyrke"
-
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
-msgstr "%1$s kontrast"
-
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
-msgstr "%1$s gamma"
-
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
-msgstr "%1$s vannrett strekk"
-
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
-msgstr "%1$s vannrett posisjon"
-
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
-msgstr "%1$s loddrett strekk"
-
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
-msgstr "%1$s loddrett posisjon"
-
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
-msgstr "Laserdisc %1$s vannrett strekk"
-
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
-msgstr "Laserdisc %1$s vannrett posisjon"
-
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
-msgstr "Laserdisc %1$s loddrett strekk"
-
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr "Laserdisc %1$s loddrett posisjon"
-
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
-msgstr "Vektorflimring"
-
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
-msgstr "Minimum strålebredde"
-
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
-msgstr "Maks strålebredde"
-
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
-msgstr "Stråleintensitetsvekt"
-
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr "Siktehårskala %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
-msgstr "X"
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
-msgstr "Y"
-
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
-msgstr "Siktehåravvik %1$s"
-#: src/frontend/mame/ui/ui.cpp:1601
+#: src/frontend/mame/ui/miscmenu.cpp:238
#, c-format
-msgid "%1$3ddB"
-msgstr "%1$3ddB"
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
+msgstr ""
+"Oppetid: %1$d:%2$02d\n"
+"\n"
-#: src/frontend/mame/ui/ui.cpp:1645
+#: src/frontend/mame/ui/miscmenu.cpp:242
#, c-format
-msgid "%1$d%%"
-msgstr "%1$d%%"
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
+msgstr ""
+"Utskrevne billetter: %1$d\n"
+"\n"
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
-msgstr "%1$3.0f%%"
+#: src/frontend/mame/ui/miscmenu.cpp:253
+msgid "Coin %1$c: NA%3$s\n"
+msgstr "Mynt %1$c: NA%3$s\n"
-#: src/frontend/mame/ui/ui.cpp:1685
+#: src/frontend/mame/ui/miscmenu.cpp:253
#, c-format
-msgid "%1$.3ffps"
-msgstr "%1$.3ffps"
+msgid "Coin %1$c: %2$d%3$s\n"
+msgstr "Mynt %1$c: %2$d%3$s\n"
-#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
-#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
-#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
-#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
-#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
-#: src/frontend/mame/ui/ui.cpp:1927
-#, c-format
-msgid "%1$.3f"
-msgstr "%1$.3f"
+#: src/frontend/mame/ui/miscmenu.cpp:256
+msgid " (locked)"
+msgstr " (låst)"
-#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
-#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
-#, c-format
-msgid "%1$1.2f"
-msgstr "%1$1.2f"
+#: src/frontend/mame/ui/miscmenu.cpp:503
+msgid "Visible Delay"
+msgstr "Synlig forsinkelse"
-#: src/frontend/mame/ui/ui.cpp:2005
+#: src/frontend/mame/ui/miscmenu.cpp:601
#, c-format
-msgid "Crosshair Scale X %1$1.3f"
-msgstr "Siktehårskala X %1$1.3f"
+msgid "%s.xml saved under ui folder."
+msgstr "%s.xml ble lagret i ui-mappen."
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
-msgstr "Siktehårskala Y %1$1.3f"
+#: src/frontend/mame/ui/miscmenu.cpp:627
+msgid "Name: Description:\n"
+msgstr "Navn: Beskrivelse:\n"
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/miscmenu.cpp:638
#, c-format
-msgid "Crosshair Offset X %1$1.3f"
-msgstr "Siktehåravvik X %1$1.3f"
+msgid "%s.txt saved under ui folder."
+msgstr "%s.txt ble lagret i ui-mappen."
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
-msgstr "Siktehåravvik Y %1$1.3f"
+#: src/frontend/mame/ui/miscmenu.cpp:655
+msgid "Export list in XML format (like -listxml)"
+msgstr "Eksporter listen i XML-format (som i -listxml)"
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
-msgstr "**Feil under lagring av ui.ini**"
+#: src/frontend/mame/ui/miscmenu.cpp:656
+msgid "Export list in XML format (like -listxml, but exclude devices)"
+msgstr "Eksporter listen i XML-format (som i -listxml, men ekskluder enheter)"
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
-msgstr "Feil under lagring av %s.ini**"
+#: src/frontend/mame/ui/miscmenu.cpp:657
+msgid "Export list in TXT format (like -listfull)"
+msgstr "Eksporter listen i TXT-format (som i -listfull)"
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/miscmenu.cpp:710 src/frontend/mame/ui/ui.cpp:2230
msgid ""
"\n"
" Configuration saved \n"
@@ -850,339 +955,160 @@ msgstr ""
" Oppsettet er lagret \n"
"\n"
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
-msgid ""
-"Cheat Comment:\n"
-"%s"
-msgstr ""
-"Juksekodekommentar:\n"
-"%s"
-
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
-msgstr "Alle juksekoder er gjeninnlastet"
-
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
-msgstr "Autoskyteinnstillinger"
-
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
-msgstr "Tilbakestill alle"
-
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
-msgstr "Last inn alle på nytt"
-
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
-msgstr "Autoskytestatus"
-
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
-msgstr "Ingen knapper ble funnet på denne maskinen!"
-
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
-msgstr "Autoskyteforsinkelse"
-
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
-#, c-format
-msgid ""
-"%s\n"
-" added to favorites list."
-msgstr ""
-"%s\n"
-" ble lagt til i favorittlisten."
-
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
-#, c-format
-msgid ""
-"%s\n"
-" removed from favorites list."
-msgstr ""
-"%s\n"
-" ble fjernet fra favorittlisten."
-
-#: src/frontend/mame/ui/selsoft.cpp:507
-msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
-"\n"
-msgstr ""
-"Den valgte programvaren mangler én eller flere påkrevde filer. Vennligst "
-"velg en annen programver.\n"
-"\n"
-
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
-msgstr "Trykk på enhver knapp for å fortsette."
-
-#: src/frontend/mame/ui/selsoft.cpp:637
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
-msgstr "%1$s %2$s ( %3$d / %4$d programvarepakker )"
-
-#: src/frontend/mame/ui/selsoft.cpp:638
-#, c-format
-msgid "Driver: \"%1$s\" software list "
-msgstr "Driver: «%1$s»-programvareliste "
-
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
-#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
-msgstr "%1$s: %2$s - Søk: %3$s_"
-
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
-#, c-format
-msgid "Search: %1$s_"
-msgstr "Søk: %1$s_"
-
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
-msgid "Unfiltered"
-msgstr "Ufiltrert"
-
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
-msgid "Available"
-msgstr "Tilgjengelig"
-
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
-msgid "Unavailable"
-msgstr "Utilgjengelig"
-
-#: src/frontend/mame/ui/utils.cpp:63
-msgid "Working"
-msgstr "Fungerer"
-
-#: src/frontend/mame/ui/utils.cpp:64
-msgid "Not Working"
-msgstr "Virker ikke"
-
-#: src/frontend/mame/ui/utils.cpp:65
-msgid "Mechanical"
-msgstr "Mekanisk"
-
-#: src/frontend/mame/ui/utils.cpp:66
-msgid "Not Mechanical"
-msgstr "Ikke mekanisk"
-
-#: src/frontend/mame/ui/utils.cpp:67
-msgid "Category"
-msgstr "Kategori"
-
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
-msgid "Favorites"
-msgstr "Favoritter"
-
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/miscmenu.cpp:760 src/frontend/mame/ui/utils.cpp:66
msgid "BIOS"
msgstr "BIOS"
-#: src/frontend/mame/ui/utils.cpp:70
-msgid "Not BIOS"
-msgstr "Ikke BIOS"
-
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
-msgid "Parents"
-msgstr "Overordnede"
-
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
-msgid "Clones"
-msgstr "Kloner"
-
-#: src/frontend/mame/ui/utils.cpp:73
-msgid "Manufacturer"
-msgstr "Produsent"
-
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
-msgid "Year"
-msgstr "Ã…r"
-
-#: src/frontend/mame/ui/utils.cpp:75
-msgid "Save Supported"
-msgstr "Lagring er støttet"
-
-#: src/frontend/mame/ui/utils.cpp:76
-msgid "Save Unsupported"
-msgstr "Lagring er ikke støttet"
-
-#: src/frontend/mame/ui/utils.cpp:77
-msgid "CHD Required"
-msgstr "CHD er påkrevd"
-
-#: src/frontend/mame/ui/utils.cpp:78
-msgid "No CHD Required"
-msgstr "Ingen CHD er påkrevd"
-
-#: src/frontend/mame/ui/utils.cpp:79
-msgid "Vertical Screen"
-msgstr "Loddrett skjerm"
-
-#: src/frontend/mame/ui/utils.cpp:80
-msgid "Horizontal Screen"
-msgstr "Vannrett skjerm"
-
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
-msgid "Custom Filter"
-msgstr "Tilpasset filter"
-
-#: src/frontend/mame/ui/utils.cpp:91
-msgid "Publisher"
-msgstr "Publiserer"
-
-#: src/frontend/mame/ui/utils.cpp:92
-msgid "Supported"
-msgstr "Støttet"
+#: src/frontend/mame/ui/miscmenu.cpp:764
+msgid "Driver"
+msgstr "Driver"
-#: src/frontend/mame/ui/utils.cpp:93
-msgid "Partially Supported"
-msgstr "Delvis støttet"
+#: src/frontend/mame/ui/miscmenu.cpp:767
+msgid "This machine has no BIOS."
+msgstr "Denne maskinen har ingen BIOS."
-#: src/frontend/mame/ui/utils.cpp:94
-msgid "Unsupported"
-msgstr "Ikke støttet"
+#: src/frontend/mame/ui/miscmenu.cpp:776 src/frontend/mame/ui/mainmenu.cpp:145
+msgid "Add To Favorites"
+msgstr "Legg til i favorittene"
-#: src/frontend/mame/ui/utils.cpp:95
-msgid "Release Region"
-msgstr "Lanseringsregion"
+#: src/frontend/mame/ui/miscmenu.cpp:778 src/frontend/mame/ui/mainmenu.cpp:147
+msgid "Remove From Favorites"
+msgstr "Fjern fra favorittene"
-#: src/frontend/mame/ui/utils.cpp:96
-msgid "Device Type"
-msgstr "Enhetstype"
+#: src/frontend/mame/ui/miscmenu.cpp:781
+msgid "Save machine configuration"
+msgstr "Lagre maskinoppsettet"
-#: src/frontend/mame/ui/utils.cpp:97
-msgid "Software List"
-msgstr "Programvareliste"
+#: src/frontend/mame/ui/miscmenu.cpp:792
+msgid "Configure machine:"
+msgstr "Sett opp maskinen:"
-#: src/frontend/mame/ui/utils.cpp:248
-msgid "<set up filters>"
-msgstr "<Sett opp filtre>"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:736
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:551 plugins/cheatfind/init.lua:619
+msgid "On"
+msgstr "PÃ¥"
-#: src/frontend/mame/ui/utils.cpp:356
-msgid "Select custom filters:"
-msgstr "Velg tilpassede filtre:"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:739
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:554 plugins/cheat/init.lua:563
+#: plugins/cheatfind/init.lua:616
+msgid "Off"
+msgstr "Av"
-#: src/frontend/mame/ui/utils.cpp:507
-#, c-format
-msgid "Filter %1$u"
-msgstr "Filtrer %1$u"
+#: src/frontend/mame/ui/miscmenu.cpp:909 src/frontend/mame/ui/selgame.cpp:441
+msgid "Plugins"
+msgstr "Tillegg"
-#: src/frontend/mame/ui/utils.cpp:522
-msgid "Remove last filter"
-msgstr "Fjern det forrige filteret"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
+msgstr "Ny strekkode:"
-#: src/frontend/mame/ui/utils.cpp:524
-msgid "Add filter"
-msgstr "Legg til et filter"
+#: src/frontend/mame/ui/barcode.cpp:78
+msgid "Enter Code"
+msgstr "Skriv inn kode"
-#: src/frontend/mame/ui/utils.cpp:966
-msgid "Select category:"
-msgstr "Velg kategori:"
+#: src/frontend/mame/ui/barcode.cpp:119
+msgid "Barcode length invalid!"
+msgstr "Strekkodelengden er ugyldig!"
-#: src/frontend/mame/ui/utils.cpp:997
-msgid "[no category INI files]"
-msgstr "[ingen kategori-INI-filer]"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:99
+msgid "Pseudo terminals"
+msgstr "Kvasiterminaler"
-#: src/frontend/mame/ui/utils.cpp:1005
-msgid "[no groups in INI file]"
-msgstr "[ingen grupper i INI-filen]"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
+msgstr "[mislyktes]"
-#: src/frontend/mame/ui/utils.cpp:1039
-msgid "No category INI files found"
-msgstr "Ingen kategori-INI-filer ble funnet"
+#: src/frontend/mame/ui/mainmenu.cpp:60
+msgid "Input (general)"
+msgstr "Kontrollere (Generelt)"
-#: src/frontend/mame/ui/utils.cpp:1044
-msgid "File"
-msgstr "Fil"
+#: src/frontend/mame/ui/mainmenu.cpp:62
+msgid "Input (this Machine)"
+msgstr "Kontrollere (Denne maskinen)"
-#: src/frontend/mame/ui/utils.cpp:1048
-msgid "No groups found in category file"
-msgstr "Ingen grupper ble funnet i kategorifilen"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Analog Controls"
+msgstr "Analoge kontrollere"
-#: src/frontend/mame/ui/utils.cpp:1053
-msgid "Group"
-msgstr "Gruppe"
+#: src/frontend/mame/ui/mainmenu.cpp:68
+msgid "Dip Switches"
+msgstr "DIP-brytere"
-#: src/frontend/mame/ui/utils.cpp:1054
-msgid "Include clones"
-msgstr "Inkluder kloner"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "Machine Configuration"
+msgstr "Maskinoppsett"
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
-msgstr "[opprett]"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
+msgstr "Bokføringsinfo"
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
-msgstr "Feil med å få tilgang til %s"
+#: src/frontend/mame/ui/mainmenu.cpp:78
+msgid "Machine Information"
+msgstr "Maskininformasjon"
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
-msgstr "Velg tilgangsmodus"
+#: src/frontend/mame/ui/mainmenu.cpp:85
+msgid "Image Information"
+msgstr "Bildeinformasjon"
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
-msgstr "Skrivebeskyttet"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
+msgstr "Filbehandler"
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
-msgstr "Skriv og les"
+#: src/frontend/mame/ui/mainmenu.cpp:96
+msgid "Tape Control"
+msgstr "Teipkontroll"
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
-msgstr "Les inn dette bildet, skriv til et annet bilde"
+#: src/frontend/mame/ui/mainmenu.cpp:102
+msgid "BIOS Selection"
+msgstr "BIOS-valg"
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
-msgstr "Les dette bildet, skriv til diff"
+#: src/frontend/mame/ui/mainmenu.cpp:106
+msgid "Slot Devices"
+msgstr "Feltenheter"
-#: src/frontend/mame/ui/slotopt.cpp:192
-#, c-format
-msgid "%s [internal]"
-msgstr "%s [internt]"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Barcode Reader"
+msgstr "Strekkodeleser"
-#: src/frontend/mame/ui/slotopt.cpp:203 src/frontend/mame/ui/miscmenu.cpp:97
-#: src/frontend/mame/ui/inputmap.cpp:615
-msgid "Reset"
-msgstr "Tilbakestill"
+#: src/frontend/mame/ui/mainmenu.cpp:114
+msgid "Network Devices"
+msgstr "Nettverksenheter"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
-msgstr " FARGER"
+#: src/frontend/mame/ui/mainmenu.cpp:118
+msgid "Keyboard Mode"
+msgstr "Tastaturmodus"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
-msgstr " PENNER"
+#: src/frontend/mame/ui/mainmenu.cpp:121
+msgid "Slider Controls"
+msgstr "Glidekontrollere"
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
-msgstr "Tilbake til maskinen"
+#: src/frontend/mame/ui/mainmenu.cpp:124 src/frontend/mame/ui/submenu.cpp:101
+msgid "Video Options"
+msgstr "Videoinnstillinger"
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
-msgstr "Avslutt"
+#: src/frontend/mame/ui/mainmenu.cpp:128
+msgid "Crosshair Options"
+msgstr "Siktehårinnstillinger"
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
-msgstr "GÃ¥ tilbake til forrige meny"
+#: src/frontend/mame/ui/mainmenu.cpp:132 plugins/cheat/init.lua:735
+msgid "Cheat"
+msgstr "Juks"
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:762
-#: plugins/cheat/init.lua:569 plugins/cheatfind/init.lua:792
-#: plugins/cheatfind/init.lua:803
-msgid "On"
-msgstr "PÃ¥"
+#: src/frontend/mame/ui/mainmenu.cpp:135
+msgid "Plugin Options"
+msgstr "Tilleggsinnstillinger"
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:765
-#: plugins/cheat/init.lua:572 plugins/cheat/init.lua:581
-#: plugins/cheatfind/init.lua:789 plugins/cheatfind/init.lua:800
-msgid "Off"
-msgstr "Av"
+#: src/frontend/mame/ui/mainmenu.cpp:139
+msgid "External DAT View"
+msgstr "Ekstern DAT-visning"
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
-msgstr "Auto"
+#: src/frontend/mame/ui/mainmenu.cpp:154
+msgid "Select New Machine"
+msgstr "Velg en ny maskin"
#: src/frontend/mame/ui/custui.cpp:31
msgid "Show All"
@@ -1404,419 +1330,597 @@ msgstr "Gul"
msgid "Violet"
msgstr "Fiolett"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
-msgstr "Tastaturmodus:"
+#: src/frontend/mame/ui/submenu.cpp:22
+msgid "Miscellaneous Options"
+msgstr "Diverse innstillinger"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
-msgstr "Naturlig"
+#: src/frontend/mame/ui/submenu.cpp:23
+msgid "Re-select last machine played"
+msgstr "Gjenvelg den senest spilte maskinen"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
-msgstr "Emulert"
+#: src/frontend/mame/ui/submenu.cpp:24
+msgid "Enlarge images in the right panel"
+msgstr "Forstørr bildene i panelet til høyre"
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
-msgstr ""
-"Oppetid: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:26
+msgid "Show mouse pointer"
+msgstr "Vis musepekeren"
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
-msgstr ""
-"Oppetid: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:27
+msgid "Confirm quit from machines"
+msgstr "Bekreft at maskiner skal lukkes"
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
-msgstr ""
-"Utskrevne billetter: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:28
+msgid "Skip information screen at startup"
+msgstr "Vis informasjonsskjerm ved oppstart"
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
-msgstr "Mynt %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:29
+msgid "Force 4:3 aspect for snapshot display"
+msgstr "Tving frem 4:3-forhold for skjermklippvisning"
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
-msgstr "Mynt %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:30
+msgid "Use image as background"
+msgstr "Bruk bilde som bakgrunn"
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
-msgstr " (låst)"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Skip BIOS selection menu"
+msgstr "Hopp over BIOS-valgmenyen"
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
-msgstr "Synlig forsinkelse"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip software parts selection menu"
+msgstr "Hopp over maskinvaredel-valgmenyen"
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
-msgstr "%s.xml ble lagret i ui-mappen."
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Info auto audit"
+msgstr "Autoundersøk info"
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
-msgstr "Navn: Beskrivelse:\n"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Hide romless machine from available list"
+msgstr "Skjul ROM-løse maskiner fra Tilgjengelig-listen"
-#: src/frontend/mame/ui/miscmenu.cpp:639
-#, c-format
-msgid "%s.txt saved under ui folder."
-msgstr "%s.txt ble lagret i ui-mappen."
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Advanced Options"
+msgstr "Avanserte innstillinger"
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
-msgstr "Eksporter listen i XML-format (som i -listxml)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Performance Options"
+msgstr "Ytelsesinnstillinger"
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
-msgstr "Eksporter listen i XML-format (som i -listxml, men ekskluder enheter)"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Auto frame skip"
+msgstr "Auto-hopping over rammer"
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
-msgstr "Eksporter listen i TXT-format (som i -listfull)"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Frame skip"
+msgstr "Hopp over rammer"
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
-msgstr "Driver"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Throttle"
+msgstr "Flaskehals"
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
-msgstr "Denne maskinen har ingen BIOS."
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Sleep"
+msgstr "Sov"
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
-msgstr "Lagre maskinoppsettet"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Speed"
+msgstr "Fart"
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
-msgstr "Sett opp maskinen:"
+#: src/frontend/mame/ui/submenu.cpp:45
+msgid "Refresh speed"
+msgstr "Oppfriskningsfart"
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
-msgstr " (standard)"
+#: src/frontend/mame/ui/submenu.cpp:47
+msgid "Rotation Options"
+msgstr "Roteringsinnstillinger"
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
-msgstr "Tillegg"
+#: src/frontend/mame/ui/submenu.cpp:49
+msgid "Rotate right"
+msgstr "Roter til høyre"
+
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Rotate left"
+msgstr "Roter til venstre"
+
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Auto rotate right"
+msgstr "Auto-roter til høyre"
+
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto rotate left"
+msgstr "Auto-roter til venstre"
+
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Flip X"
+msgstr "Snu X"
+
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Flip Y"
+msgstr "Snu Y"
+
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Artwork Options"
+msgstr "Kunstverkinnstillinger"
+
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Artwork Crop"
+msgstr "Kunstverkbeskjæring"
+
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Use Backdrops"
+msgstr "Bruk bakgrunner"
+
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Use Overlays"
+msgstr "Bruk overlegg"
+
+#: src/frontend/mame/ui/submenu.cpp:60
+msgid "Use Bezels"
+msgstr "Bruk bezeler"
+
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Use Control Panels"
+msgstr "Bruk kontrollpaneler"
+
+#: src/frontend/mame/ui/submenu.cpp:62
+msgid "Use Marquees"
+msgstr "Bruk markier"
+
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "State/Playback Options"
+msgstr "Tilstands-/Tilbakespillings-innstillinger"
+
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Automatic save/restore"
+msgstr "Automatisk lagring/gjenoppretting"
+
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Rewind capacity"
+msgstr "Tilbakespolingskapasitet"
+
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Bilinear snapshot"
+msgstr "Bilineær skjermklipp"
+
+#: src/frontend/mame/ui/submenu.cpp:69
+msgid "Burn-in"
+msgstr "Innbrenning"
+
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Input Options"
+msgstr "Inndatainnstillinger"
+
+#: src/frontend/mame/ui/submenu.cpp:72
+msgid "Coin lockout"
+msgstr "Myntutlåsing"
+
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "Mouse"
+msgstr "Mus"
+
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Joystick"
+msgstr "Kontroller"
+
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Lightgun"
+msgstr "Lyspistol"
+
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Multi-keyboard"
+msgstr "Flere tastaturer"
+
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Multi-mouse"
+msgstr "Flere mus"
+
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Steadykey"
+msgstr "Stødigtast"
+
+#: src/frontend/mame/ui/submenu.cpp:79
+msgid "UI active"
+msgstr "Grensesnitt aktivt"
+
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Offscreen reload"
+msgstr "Omlasting utenfor skjermen"
+
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Joystick deadzone"
+msgstr "Kontrollerdødsone"
+
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Joystick saturation"
+msgstr "Kontrollermetning"
+
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Natural keyboard"
+msgstr "Naturlig tastatur"
+
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Simultaneous contradictory"
+msgstr "Samtidige selvmotsigende"
+
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Coin impulse"
+msgstr "Myntimpuls"
+
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Device Mapping"
+msgstr "Enhetskontrollvalg"
+
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Lightgun Device Assignment"
+msgstr "Lyspistolenhets-tilegning"
+
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Trackball Device Assignment"
+msgstr "Rulleballenhets-tilegning"
+
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Pedal Device Assignment"
+msgstr "Pedalenhets-tilegning"
+
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Adstick Device Assignment"
+msgstr "Styrepinneenhets-tilegning"
+
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Paddle Device Assignment"
+msgstr "Flappeenhets-tilegning"
+
+#: src/frontend/mame/ui/submenu.cpp:95
+msgid "Dial Device Assignment"
+msgstr "Nummerpanelenhets-tilegning"
+
+#: src/frontend/mame/ui/submenu.cpp:96
+msgid "Positional Device Assignment"
+msgstr "Posisjoneringsenhets-tilegning"
+
+#: src/frontend/mame/ui/submenu.cpp:97
+msgid "Mouse Device Assignment"
+msgstr "Museenhets-tilegning"
+
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Video Mode"
+msgstr "Videomodus"
+
+#: src/frontend/mame/ui/submenu.cpp:103
+msgid "Number Of Screens"
+msgstr "Antall skjermer"
+
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Triple Buffering"
+msgstr "Trippelbufring"
+
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "HLSL"
+msgstr "HLSL"
+
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "GLSL"
+msgstr "GLSL"
+
+#: src/frontend/mame/ui/submenu.cpp:109
+msgid "Bilinear Filtering"
+msgstr "Bilineær filtrering"
+
+#: src/frontend/mame/ui/submenu.cpp:110
+msgid "Bitmap Prescaling"
+msgstr "Bitmap-førskalering"
+
+#: src/frontend/mame/ui/submenu.cpp:111
+msgid "Window Mode"
+msgstr "Vindusmodus"
+
+#: src/frontend/mame/ui/submenu.cpp:112
+msgid "Enforce Aspect Ratio"
+msgstr "Tving frem visningsforhold"
+
+#: src/frontend/mame/ui/submenu.cpp:113
+msgid "Start Out Maximized"
+msgstr "Start i maksimalisert modus"
+
+#: src/frontend/mame/ui/submenu.cpp:114
+msgid "Synchronized Refresh"
+msgstr "Synkronisert oppfriskning"
+
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Wait Vertical Sync"
+msgstr "Avvent V-synkro"
+
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Load State"
+msgstr "Last inn tilstand"
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Select position to load from"
+msgstr "Velg en posisjon å laste inn ifra"
+
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Save State"
+msgstr "Lagre tilstanden"
+
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Select position to save to"
+msgstr "Velg en posisjon å lagre til"
+
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
+msgstr "%s [internt]"
+
+#: src/frontend/mame/ui/selgame.cpp:309 src/frontend/mame/ui/selsoft.cpp:211
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
+msgstr ""
+"%s\n"
+" ble lagt til i favorittlisten."
+
+#: src/frontend/mame/ui/selgame.cpp:314 src/frontend/mame/ui/selgame.cpp:320
+#: src/frontend/mame/ui/selsoft.cpp:216
+#, c-format
+msgid ""
+"%s\n"
+" removed from favorites list."
+msgstr ""
+"%s\n"
+" ble fjernet fra favorittlisten."
+
+#: src/frontend/mame/ui/selgame.cpp:437
msgid "Configure Machine"
msgstr "Sett opp maskinen"
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:849
#, c-format
msgid "Romset\t%1$-.100s\n"
msgstr "ROM-sett\t%1$-.100s\n"
-#: src/frontend/mame/ui/selgame.cpp:1037
+#: src/frontend/mame/ui/selgame.cpp:850
#, c-format
msgid "Year\t%1$s\n"
msgstr "Ã…r\t%1$s\n"
-#: src/frontend/mame/ui/selgame.cpp:1038
+#: src/frontend/mame/ui/selgame.cpp:851
#, c-format
msgid "Manufacturer\t%1$-.100s\n"
msgstr "Produsent\t%1$-.100s\n"
-#: src/frontend/mame/ui/selgame.cpp:1042
+#: src/frontend/mame/ui/selgame.cpp:855
#, c-format
msgid "Driver is Clone of\t%1$-.100s\n"
msgstr "Driveren er klone av\t%1$-.100s\n"
-#: src/frontend/mame/ui/selgame.cpp:1044
+#: src/frontend/mame/ui/selgame.cpp:857
msgid "Driver is Parent\t\n"
msgstr "Driveren er overordnet\n"
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:860
msgid "Analog Controls\tYes\n"
msgstr "Analog styring\tJa\n"
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:862
msgid "Keyboard Inputs\tYes\n"
msgstr "Tastaturinndata\tJa\n"
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:865
msgid "Overall\tNOT WORKING\n"
msgstr "Alt i alt\tVIRKER IKKE\n"
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:867
msgid "Overall\tUnemulated Protection\n"
msgstr "Alt i alt\tUemulert beskyttelse\n"
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:869
msgid "Overall\tWorking\n"
msgstr "Alt i alt\tFungerer\n"
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:872
msgid "Graphics\tUnimplemented\n"
msgstr "Grafikk\tIkke implementer\n"
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:874
msgid "Graphics\tWrong Colors\n"
msgstr "Grafikk\tFeil farger\n"
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:876
msgid "Graphics\tImperfect Colors\n"
msgstr "Grafikk\tNoen fargeproblemer\n"
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:878
msgid "Graphics\tImperfect\n"
msgstr "Grafikk\tIkke perfekt\n"
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:880
msgid "Graphics\tOK\n"
msgstr "Grafikk\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:883
msgid "Sound\tNone\n"
msgstr "Lyd\tIngen\n"
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:885
msgid "Sound\tUnimplemented\n"
msgstr "Lyd\tIkke implementer\n"
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:887
msgid "Sound\tImperfect\n"
msgstr "Lyd\tIkke perfekt\n"
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:889
msgid "Sound\tOK\n"
msgstr "Lyd\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1079
-msgid "Capture\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1081
-msgid "Capture\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1084
-msgid "Camera\tUnimplemented\n"
-msgstr "Kamera\tIkke implementert\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1086
-msgid "Camera\tImperfect\n"
-msgstr "Kamera\tIkke perfekt\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1089
-msgid "Microphone\tUnimplemented\n"
-msgstr "Mikrofon\tIkke implementert\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1091
-msgid "Microphone\tImperfect\n"
-msgstr "Mikrofon\tIkke perfekt\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:892
msgid "Controls\tUnimplemented\n"
msgstr "Kontrollere\tIkke implementert\n"
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:894
msgid "Controls\tImperfect\n"
msgstr "Kontrollere\tIkke perfekt\n"
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:897
msgid "Keyboard\tUnimplemented\n"
msgstr "Tastatur\tIkke implementert\n"
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:899
msgid "Keyboard\tImperfect\n"
msgstr "Tastatur\tIkke perfekt\n"
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:902
msgid "Mouse\tUnimplemented\n"
msgstr "Mus\tIkke implementert\n"
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:904
msgid "Mouse\tImperfect\n"
msgstr "Mus\tIkke perfekt\n"
-#: src/frontend/mame/ui/selgame.cpp:1109
-msgid "Media\tUnimplemented\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:907
+msgid "Microphone\tUnimplemented\n"
+msgstr "Mikrofon\tIkke implementert\n"
-#: src/frontend/mame/ui/selgame.cpp:1111
-msgid "Media\tImperfect\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:909
+msgid "Microphone\tImperfect\n"
+msgstr "Mikrofon\tIkke perfekt\n"
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:912
+msgid "Camera\tUnimplemented\n"
+msgstr "Kamera\tIkke implementert\n"
+
+#: src/frontend/mame/ui/selgame.cpp:914
+msgid "Camera\tImperfect\n"
+msgstr "Kamera\tIkke perfekt\n"
+
+#: src/frontend/mame/ui/selgame.cpp:917
msgid "Disk\tUnimplemented\n"
msgstr "Disk\tIkke implementert\n"
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:919
msgid "Disk\tImperfect\n"
msgstr "Disk\tIkke perfekt\n"
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:922
msgid "Printer\tUnimplemented\n"
msgstr "Skriver\tIkke implementert\n"
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:924
msgid "Printer\tImperfect\n"
msgstr "Skriver\tIkke perfekt\n"
-#: src/frontend/mame/ui/selgame.cpp:1124
-msgid "Mag. Tape\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1126
-msgid "Mag. Tape\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1129
-msgid "Punch Tape\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1131
-msgid "Punch Tape\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1134
-msgid "Mag. Drum\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1136
-msgid "Mag. Drum\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1139
-msgid "(EP)ROM\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1141
-msgid "(EP)ROM\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1144
-msgid "Communications\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1146
-msgid "Communications\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:927
msgid "LAN\tUnimplemented\n"
msgstr "LAN\tIkke implementert\n"
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:929
msgid "LAN\tImperfect\n"
msgstr "LAN\tIkke perfekt\n"
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:932
msgid "WAN\tUnimplemented\n"
msgstr "WAN\tIkke implementert\n"
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:934
msgid "WAN\tImperfect\n"
msgstr "WAN\tIkke perfekt\n"
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:937
msgid "Timing\tUnimplemented\n"
msgstr "Timing\tIkke implementert\n"
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:939
msgid "Timing\tImperfect\n"
msgstr "Timing\tIkke perfekt\n"
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:941
msgid "Mechanical Machine\tYes\n"
msgstr "Mekanisk maskin\tJa\n"
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:941
msgid "Mechanical Machine\tNo\n"
msgstr "Mekanisk maskin\tNei\n"
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:942
msgid "Requires Artwork\tYes\n"
msgstr "Krever kunstverk\tJa\n"
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:942
msgid "Requires Artwork\tNo\n"
msgstr "Krever kunstverk\tNei\n"
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:943
msgid "Requires Clickable Artwork\tYes\n"
msgstr "Krever klikkbare kunstverk\tJa\n"
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:943
msgid "Requires Clickable Artwork\tNo\n"
msgstr "Krever klikkbare kunstverk\tNei\n"
-#: src/frontend/mame/ui/selgame.cpp:1166
+#: src/frontend/mame/ui/selgame.cpp:944
msgid "Support Cocktail\tYes\n"
msgstr "Støtter Cocktail\tJa\n"
-#: src/frontend/mame/ui/selgame.cpp:1166
+#: src/frontend/mame/ui/selgame.cpp:944
msgid "Support Cocktail\tNo\n"
msgstr "Støtter Cocktail\tNei\n"
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:945
msgid "Driver is BIOS\tYes\n"
msgstr "Driveren er BIOS\tJa\n"
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:945
msgid "Driver is BIOS\tNo\n"
msgstr "Driveren er BIOS\tNei\n"
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:946
msgid "Support Save\tYes\n"
msgstr "Støtter lagring\tJa\n"
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:946
msgid "Support Save\tNo\n"
msgstr "Støtter lagring\tNei\n"
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:947
msgid "Screen Orientation\tVertical\n"
msgstr "Skjermposisjonering\tLoddrett\n"
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:947
msgid "Screen Orientation\tHorizontal\n"
msgstr "Skjermposisjonering\tVannrett\n"
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:957
msgid "Requires CHD\tYes\n"
msgstr "Krever CHD\tJa\n"
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:957
msgid "Requires CHD\tNo\n"
msgstr "Krever CHD\tNei\n"
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:970
msgid "ROM Audit Result\tOK\n"
msgstr "ROM-undersøkelsesresultat\tOK\n"
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:972
msgid "ROM Audit Result\tBAD\n"
msgstr "ROM-undersøkelsesresultat\tDÅRLIG\n"
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:975
msgid "Samples Audit Result\tNone Needed\n"
msgstr "Samplingsundersøkelsesresultat\tIkke nødvendig\n"
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:977
msgid "Samples Audit Result\tOK\n"
msgstr ""
"Samplingsundersøkelsesresultat\n"
"OK\n"
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:979
msgid "Samples Audit Result\tBAD\n"
msgstr "Samplingsundersøkelsesresultat\tDÅRLIG\n"
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:983
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
@@ -1824,22 +1928,32 @@ msgstr ""
"ROM-undersøkelse \tSkrudd av\n"
"Samplingsundersøkelse \tSkrudd av\n"
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1167
#, c-format
msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
msgstr "%1$s %2$s ( %3$d / %4$d maskiner (%5$d BIOS) )"
-#: src/frontend/mame/ui/selgame.cpp:1424
+#: src/frontend/mame/ui/selgame.cpp:1183 src/frontend/mame/ui/selsoft.cpp:555
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
+msgstr "%1$s: %2$s - Søk: %3$s_"
+
+#: src/frontend/mame/ui/selgame.cpp:1185 src/frontend/mame/ui/selsoft.cpp:557
+#, c-format
+msgid "Search: %1$s_"
+msgstr "Søk: %1$s_"
+
+#: src/frontend/mame/ui/selgame.cpp:1195
#, c-format
msgid "Romset: %1$-.100s"
msgstr "ROM-sett: %1$-.100s"
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1202
#, c-format
msgid "System: %1$-.100s"
msgstr "System: %1$-.100s"
-#: src/frontend/mame/ui/selgame.cpp:1465
+#: src/frontend/mame/ui/selgame.cpp:1239
msgid ""
"The selected machine is missing one or more required ROM or CHD images. "
"Please select a different machine.\n"
@@ -1849,6 +1963,10 @@ msgstr ""
"Vennligst velg en annen maskin.\n"
"\n"
+#: src/frontend/mame/ui/selgame.cpp:1245 src/frontend/mame/ui/selsoft.cpp:462
+msgid "Press any key to continue."
+msgstr "Trykk på enhver knapp for å fortsette."
+
#: src/frontend/mame/ui/sndmenu.cpp:135
msgid "Sound"
msgstr "Lyd"
@@ -1861,307 +1979,518 @@ msgstr "Samplingsfrekvens"
msgid "Use External Samples"
msgstr "Bruk eksterne samplinger"
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr "Diverse innstillinger"
+#: src/frontend/mame/ui/utils.cpp:57 src/frontend/mame/ui/utils.cpp:81
+msgid "Unfiltered"
+msgstr "Ufiltrert"
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
-msgstr "Gjenvelg den senest spilte maskinen"
+#: src/frontend/mame/ui/utils.cpp:58 src/frontend/mame/ui/utils.cpp:82
+msgid "Available"
+msgstr "Tilgjengelig"
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
-msgstr "Forstørr bildene i panelet til høyre"
+#: src/frontend/mame/ui/utils.cpp:59 src/frontend/mame/ui/utils.cpp:83
+msgid "Unavailable"
+msgstr "Utilgjengelig"
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
-msgstr "Vis musepekeren"
+#: src/frontend/mame/ui/utils.cpp:60
+msgid "Working"
+msgstr "Fungerer"
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
-msgstr "Bekreft at maskiner skal lukkes"
+#: src/frontend/mame/ui/utils.cpp:61
+msgid "Not Working"
+msgstr "Virker ikke"
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
-msgstr "Vis informasjonsskjerm ved oppstart"
+#: src/frontend/mame/ui/utils.cpp:62
+msgid "Mechanical"
+msgstr "Mekanisk"
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
-msgstr "Tving frem 4:3-forhold for skjermklippvisning"
+#: src/frontend/mame/ui/utils.cpp:63
+msgid "Not Mechanical"
+msgstr "Ikke mekanisk"
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
-msgstr "Bruk bilde som bakgrunn"
+#: src/frontend/mame/ui/utils.cpp:64
+msgid "Category"
+msgstr "Kategori"
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
-msgstr "Hopp over BIOS-valgmenyen"
+#: src/frontend/mame/ui/utils.cpp:65
+msgid "Favorites"
+msgstr "Favoritter"
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
-msgstr "Hopp over maskinvaredel-valgmenyen"
+#: src/frontend/mame/ui/utils.cpp:67
+msgid "Not BIOS"
+msgstr "Ikke BIOS"
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
-msgstr "Autoundersøk info"
+#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:84
+msgid "Parents"
+msgstr "Overordnede"
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
-msgstr "Skjul ROM-løse maskiner fra Tilgjengelig-listen"
+#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/utils.cpp:85
+msgid "Clones"
+msgstr "Kloner"
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
-msgstr "Avanserte innstillinger"
+#: src/frontend/mame/ui/utils.cpp:70
+msgid "Manufacturer"
+msgstr "Produsent"
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
-msgstr "Ytelsesinnstillinger"
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:86
+msgid "Year"
+msgstr "Ã…r"
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
-msgstr "Auto-hopping over rammer"
+#: src/frontend/mame/ui/utils.cpp:72
+msgid "Save Supported"
+msgstr "Lagring er støttet"
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
-msgstr "Hopp over rammer"
+#: src/frontend/mame/ui/utils.cpp:73
+msgid "Save Unsupported"
+msgstr "Lagring er ikke støttet"
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
-msgstr "Flaskehals"
+#: src/frontend/mame/ui/utils.cpp:74
+msgid "CHD Required"
+msgstr "CHD er påkrevd"
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
-msgstr "Sov"
+#: src/frontend/mame/ui/utils.cpp:75
+msgid "No CHD Required"
+msgstr "Ingen CHD er påkrevd"
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
-msgstr "Fart"
+#: src/frontend/mame/ui/utils.cpp:76
+msgid "Vertical Screen"
+msgstr "Loddrett skjerm"
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
-msgstr "Oppfriskningsfart"
+#: src/frontend/mame/ui/utils.cpp:77
+msgid "Horizontal Screen"
+msgstr "Vannrett skjerm"
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
-msgstr "Roteringsinnstillinger"
+#: src/frontend/mame/ui/utils.cpp:78 src/frontend/mame/ui/utils.cpp:94
+msgid "Custom Filter"
+msgstr "Tilpasset filter"
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
-msgstr "Roter til høyre"
+#: src/frontend/mame/ui/utils.cpp:87
+msgid "Publisher"
+msgstr "Publiserer"
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
-msgstr "Roter til venstre"
+#: src/frontend/mame/ui/utils.cpp:88
+msgid "Supported"
+msgstr "Støttet"
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
-msgstr "Auto-roter til høyre"
+#: src/frontend/mame/ui/utils.cpp:89
+msgid "Partially Supported"
+msgstr "Delvis støttet"
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
-msgstr "Auto-roter til venstre"
+#: src/frontend/mame/ui/utils.cpp:90
+msgid "Unsupported"
+msgstr "Ikke støttet"
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
-msgstr "Snu X"
+#: src/frontend/mame/ui/utils.cpp:91
+msgid "Release Region"
+msgstr "Lanseringsregion"
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
-msgstr "Snu Y"
+#: src/frontend/mame/ui/utils.cpp:92
+msgid "Device Type"
+msgstr "Enhetstype"
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
-msgstr "Kunstverkinnstillinger"
+#: src/frontend/mame/ui/utils.cpp:93
+msgid "Software List"
+msgstr "Programvareliste"
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
-msgstr "Kunstverkbeskjæring"
+#: src/frontend/mame/ui/utils.cpp:244
+msgid "<set up filters>"
+msgstr "<Sett opp filtre>"
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
-msgstr "Bruk bakgrunner"
+#: src/frontend/mame/ui/utils.cpp:352
+msgid "Select custom filters:"
+msgstr "Velg tilpassede filtre:"
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
-msgstr "Bruk overlegg"
+#: src/frontend/mame/ui/utils.cpp:503
+#, c-format
+msgid "Filter %1$u"
+msgstr "Filtrer %1$u"
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
-msgstr "Bruk bezeler"
+#: src/frontend/mame/ui/utils.cpp:518
+msgid "Remove last filter"
+msgstr "Fjern det forrige filteret"
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
-msgstr "Bruk kontrollpaneler"
+#: src/frontend/mame/ui/utils.cpp:520
+msgid "Add filter"
+msgstr "Legg til et filter"
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
-msgstr "Bruk markier"
+#: src/frontend/mame/ui/utils.cpp:959
+msgid "Select category:"
+msgstr "Velg kategori:"
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
-msgstr "Tilstands-/Tilbakespillings-innstillinger"
+#: src/frontend/mame/ui/utils.cpp:990
+msgid "[no category INI files]"
+msgstr "[ingen kategori-INI-filer]"
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
-msgstr "Automatisk lagring/gjenoppretting"
+#: src/frontend/mame/ui/utils.cpp:998
+msgid "[no groups in INI file]"
+msgstr "[ingen grupper i INI-filen]"
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
-msgstr "Tilbakespolingskapasitet"
+#: src/frontend/mame/ui/utils.cpp:1032
+msgid "No category INI files found"
+msgstr "Ingen kategori-INI-filer ble funnet"
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
-msgstr "Bilineær skjermklipp"
+#: src/frontend/mame/ui/utils.cpp:1037
+msgid "File"
+msgstr "Fil"
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
-msgstr "Innbrenning"
+#: src/frontend/mame/ui/utils.cpp:1041
+msgid "No groups found in category file"
+msgstr "Ingen grupper ble funnet i kategorifilen"
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
-msgstr "Inndatainnstillinger"
+#: src/frontend/mame/ui/utils.cpp:1046
+msgid "Group"
+msgstr "Gruppe"
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
-msgstr "Myntutlåsing"
+#: src/frontend/mame/ui/utils.cpp:1047
+msgid "Include clones"
+msgstr "Inkluder kloner"
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
-msgstr "Mus"
+#: src/frontend/mame/ui/selsoft.cpp:456
+msgid ""
+"The selected software is missing one or more required files. Please select a "
+"different software.\n"
+"\n"
+msgstr ""
+"Den valgte programvaren mangler én eller flere påkrevde filer. Vennligst "
+"velg en annen programver.\n"
+"\n"
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
-msgstr "Kontroller"
+#: src/frontend/mame/ui/selsoft.cpp:549
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgstr "%1$s %2$s ( %3$d / %4$d programvarepakker )"
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
-msgstr "Lyspistol"
+#: src/frontend/mame/ui/selsoft.cpp:550
+#, c-format
+msgid "Driver: \"%1$s\" software list "
+msgstr "Driver: «%1$s»-programvareliste "
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
-msgstr "Flere tastaturer"
+#: src/frontend/mame/ui/filesel.cpp:260
+msgid "[create]"
+msgstr "[opprett]"
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
-msgstr "Flere mus"
+#: src/frontend/mame/ui/filesel.cpp:419
+#, c-format
+msgid "Error accessing %s"
+msgstr "Feil med å få tilgang til %s"
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
-msgstr "Stødigtast"
+#: src/frontend/mame/ui/filesel.cpp:515
+msgid "Select access mode"
+msgstr "Velg tilgangsmodus"
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
-msgstr "Grensesnitt aktivt"
+#: src/frontend/mame/ui/filesel.cpp:516
+msgid "Read-only"
+msgstr "Skrivebeskyttet"
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
-msgstr "Omlasting utenfor skjermen"
+#: src/frontend/mame/ui/filesel.cpp:518
+msgid "Read-write"
+msgstr "Skriv og les"
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
-msgstr "Kontrollerdødsone"
+#: src/frontend/mame/ui/filesel.cpp:519
+msgid "Read this image, write to another image"
+msgstr "Les inn dette bildet, skriv til et annet bilde"
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
-msgstr "Kontrollermetning"
+#: src/frontend/mame/ui/filesel.cpp:520
+msgid "Read this image, write to diff"
+msgstr "Les dette bildet, skriv til diff"
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
-msgstr "Naturlig tastatur"
+#: src/frontend/mame/ui/imgcntrl.cpp:117
+msgid "Cannot save over directory"
+msgstr "Kan ikke lagre over mappen"
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
-msgstr "Samtidige selvmotsigende"
+#: src/frontend/mame/ui/imgcntrl.cpp:150
+msgid ""
+"The software selected is missing one or more required ROM or CHD images. "
+"Please select a different one."
+msgstr ""
+"Programvaren som er valgt, mangler én eller flere påkrevde ROM- eller CHD-"
+"filer. Vennligst velg en annen en."
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
-msgstr "Myntimpuls"
+#: src/frontend/mame/ui/menu.cpp:294
+msgid "Return to Machine"
+msgstr "Tilbake til maskinen"
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
-msgstr "Enhetskontrollvalg"
+#: src/frontend/mame/ui/menu.cpp:299 src/frontend/mame/ui/menu.cpp:301
+msgid "Exit"
+msgstr "Avslutt"
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
-msgstr "Lyspistolenhets-tilegning"
+#: src/frontend/mame/ui/menu.cpp:306 src/frontend/mame/ui/menu.cpp:308
+msgid "Return to Previous Menu"
+msgstr "GÃ¥ tilbake til forrige meny"
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
-msgstr "Rulleballenhets-tilegning"
+#: src/frontend/mame/ui/menu.cpp:742
+msgid "Auto"
+msgstr "Auto"
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
-msgstr "Pedalenhets-tilegning"
+#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:653
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
+msgstr ""
+"Juksekodekommentar:\n"
+"%s"
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
-msgstr "Styrepinneenhets-tilegning"
+#: src/frontend/mame/ui/cheatopt.cpp:105
+msgid "All cheats reloaded"
+msgstr "Alle juksekoder er gjeninnlastet"
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
-msgstr "Flappeenhets-tilegning"
+#: src/frontend/mame/ui/cheatopt.cpp:136
+msgid "Autofire Settings"
+msgstr "Autoskyteinnstillinger"
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
-msgstr "Nummerpanelenhets-tilegning"
+#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:581
+msgid "Reset All"
+msgstr "Tilbakestill alle"
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
-msgstr "Posisjoneringsenhets-tilegning"
+#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:582
+msgid "Reload All"
+msgstr "Last inn alle på nytt"
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
-msgstr "Museenhets-tilegning"
+#: src/frontend/mame/ui/cheatopt.cpp:273
+msgid "Autofire Status"
+msgstr "Autoskytestatus"
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
-msgstr "Videomodus"
+#: src/frontend/mame/ui/cheatopt.cpp:316
+msgid "No buttons found on this machine!"
+msgstr "Ingen knapper ble funnet på denne maskinen!"
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
-msgstr "Antall skjermer"
+#: src/frontend/mame/ui/cheatopt.cpp:327 src/frontend/mame/ui/cheatopt.cpp:331
+msgid "Autofire Delay"
+msgstr "Autoskyteforsinkelse"
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
-msgstr "Trippelbufring"
+#: src/frontend/mame/ui/ui.cpp:337
+msgid "This driver requires images to be loaded in the following device(s): "
+msgstr ""
+"Denne driveren krever at bilder lastes inn i de(n) følgende enhet(en): "
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
-msgstr "HLSL"
+#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
+msgid "Keyboard Emulation Status"
+msgstr "Tastaturemuleringsstatus"
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
-msgstr "GLSL"
+#: src/frontend/mame/ui/ui.cpp:1086
+msgid "Mode: PARTIAL Emulation"
+msgstr "Modus: DELVIS emulering"
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
-msgstr "Bilineær filtrering"
+#: src/frontend/mame/ui/ui.cpp:1087
+msgid "UI: Enabled"
+msgstr "Grensesnitt: Skrudd på"
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
-msgstr "Bitmap-førskalering"
+#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
+msgid "**Use ScrLock to toggle**"
+msgstr "**Bruk ScrLock for å skru av/på**"
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
-msgstr "Vindusmodus"
+#: src/frontend/mame/ui/ui.cpp:1096
+msgid "Mode: FULL Emulation"
+msgstr "Modus: FULL emulering"
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
-msgstr "Tving frem visningsforhold"
+#: src/frontend/mame/ui/ui.cpp:1097
+msgid "UI: Disabled"
+msgstr "Grensesnitt: Skrudd av"
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
-msgstr "Start i maksimalisert modus"
+#: src/frontend/mame/ui/ui.cpp:1249
+msgid "Autofire can't be enabled"
+msgstr "Autoskyting kan ikke bli aktivert"
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
-msgstr "Synkronisert oppfriskning"
+#: src/frontend/mame/ui/ui.cpp:1302
+#, c-format
+msgid ""
+"Are you sure you want to quit?\n"
+"\n"
+"Press ''%1$s'' to quit,\n"
+"Press ''%2$s'' to return to emulation."
+msgstr ""
+"Er du sikker på at du vil avslutte?\n"
+"\n"
+"Trykk «%1$s» for å avslutte,\n"
+"Trykk «%2$s» for å gå tilbake til emuleringen."
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
-msgstr "Avvent V-synkro"
+#: src/frontend/mame/ui/ui.cpp:1374
+msgid "Master Volume"
+msgstr "Hovedvolum"
+
+#: src/frontend/mame/ui/ui.cpp:1383
+#, c-format
+msgid "%1$s Volume"
+msgstr "%1$s volum"
+
+#: src/frontend/mame/ui/ui.cpp:1407
+#, c-format
+msgid "Overclock CPU %1$s"
+msgstr "Overklokk CPU %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1416
+#, c-format
+msgid "Overclock %1$s sound"
+msgstr "Overklokk %1$s-lyd"
+
+#: src/frontend/mame/ui/ui.cpp:1437
+#, c-format
+msgid "%1$s Refresh Rate"
+msgstr "%1$s-oppfriskningsfrekvens"
+
+#: src/frontend/mame/ui/ui.cpp:1442
+#, c-format
+msgid "%1$s Brightness"
+msgstr "%1$s lysstyrke"
+
+#: src/frontend/mame/ui/ui.cpp:1444
+#, c-format
+msgid "%1$s Contrast"
+msgstr "%1$s kontrast"
+
+#: src/frontend/mame/ui/ui.cpp:1446
+#, c-format
+msgid "%1$s Gamma"
+msgstr "%1$s gamma"
+
+#: src/frontend/mame/ui/ui.cpp:1450
+#, c-format
+msgid "%1$s Horiz Stretch"
+msgstr "%1$s vannrett strekk"
+
+#: src/frontend/mame/ui/ui.cpp:1452
+#, c-format
+msgid "%1$s Horiz Position"
+msgstr "%1$s vannrett posisjon"
+
+#: src/frontend/mame/ui/ui.cpp:1454
+#, c-format
+msgid "%1$s Vert Stretch"
+msgstr "%1$s loddrett strekk"
+
+#: src/frontend/mame/ui/ui.cpp:1456
+#, c-format
+msgid "%1$s Vert Position"
+msgstr "%1$s loddrett posisjon"
+
+#: src/frontend/mame/ui/ui.cpp:1475
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
+msgstr "Laserdisc %1$s vannrett strekk"
+
+#: src/frontend/mame/ui/ui.cpp:1477
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
+msgstr "Laserdisc %1$s vannrett posisjon"
+
+#: src/frontend/mame/ui/ui.cpp:1479
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
+msgstr "Laserdisc %1$s loddrett strekk"
+
+#: src/frontend/mame/ui/ui.cpp:1481
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
+msgstr "Laserdisc %1$s loddrett posisjon"
+
+#: src/frontend/mame/ui/ui.cpp:1493
+msgid "Vector Flicker"
+msgstr "Vektorflimring"
+
+#: src/frontend/mame/ui/ui.cpp:1494
+msgid "Beam Width Minimum"
+msgstr "Minimum strålebredde"
+
+#: src/frontend/mame/ui/ui.cpp:1495
+msgid "Beam Width Maximum"
+msgstr "Maks strålebredde"
+
+#: src/frontend/mame/ui/ui.cpp:1496
+msgid "Beam Intensity Weight"
+msgstr "Stråleintensitetsvekt"
+
+#: src/frontend/mame/ui/ui.cpp:1511
+#, c-format
+msgid "Crosshair Scale %1$s"
+msgstr "Siktehårskala %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "X"
+msgstr "X"
+
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "Y"
+msgstr "Y"
+
+#: src/frontend/mame/ui/ui.cpp:1513
+#, c-format
+msgid "Crosshair Offset %1$s"
+msgstr "Siktehåravvik %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1601
+#, c-format
+msgid "%1$3ddB"
+msgstr "%1$3ddB"
+
+#: src/frontend/mame/ui/ui.cpp:1645
+#, c-format
+msgid "%1$d%%"
+msgstr "%1$d%%"
+
+#: src/frontend/mame/ui/ui.cpp:1661
+#, c-format
+msgid "%1$3.0f%%"
+msgstr "%1$3.0f%%"
+
+#: src/frontend/mame/ui/ui.cpp:1685
+#, c-format
+msgid "%1$.3ffps"
+msgstr "%1$.3ffps"
+
+#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
+#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
+#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
+#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
+#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
+#: src/frontend/mame/ui/ui.cpp:1927
+#, c-format
+msgid "%1$.3f"
+msgstr "%1$.3f"
+
+#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
+#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
+#, c-format
+msgid "%1$1.2f"
+msgstr "%1$1.2f"
+
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
+msgstr "Siktehårskala X %1$1.3f"
-#: src/frontend/mame/ui/devopt.cpp:43
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
+msgstr "Siktehårskala Y %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
+msgstr "Siktehåravvik X %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
+msgstr "Siktehåravvik Y %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
+msgstr "**Feil under lagring av ui.ini**"
+
+#: src/frontend/mame/ui/ui.cpp:2226
+#, c-format
+msgid "**Error saving %s.ini**"
+msgstr "Feil under lagring av %s.ini**"
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " COLORS"
+msgstr " FARGER"
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " PENS"
+msgstr " PENNER"
+
+#: src/frontend/mame/ui/devopt.cpp:39
#, c-format
msgid ""
"[This option is currently mounted in the running system]\n"
@@ -2178,7 +2507,7 @@ msgstr ""
"\n"
"Den valgte innstillingen skrur på de følgende gjenstandene:\n"
-#: src/frontend/mame/ui/devopt.cpp:44
+#: src/frontend/mame/ui/devopt.cpp:40
#, c-format
msgid ""
"[This option is NOT currently mounted in the running system]\n"
@@ -2197,60 +2526,60 @@ msgstr ""
"Hvis du velger denne innstillingen, vil de følgende gjenstandene bli skrudd "
"på:\n"
-#: src/frontend/mame/ui/devopt.cpp:52
+#: src/frontend/mame/ui/devopt.cpp:48
msgid "* CPU:\n"
msgstr "* Prosessor:\n"
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
#, c-format
msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
msgstr " %1$d×%2$s %3$d.%4$06d MHz\n"
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
msgstr " %1$d×%2$s %5$d.%6$03d kHz\n"
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
msgid " %2$s %3$d.%4$06d MHz\n"
msgstr " %2$s %3$d.%4$06d MHz\n"
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
msgid " %2$s %5$d.%6$03d kHz\n"
msgstr " %2$s %5$d.%6$03d kHz\n"
-#: src/frontend/mame/ui/devopt.cpp:89
+#: src/frontend/mame/ui/devopt.cpp:85
msgid "* Video:\n"
msgstr "* Video:\n"
-#: src/frontend/mame/ui/devopt.cpp:94
+#: src/frontend/mame/ui/devopt.cpp:90
#, c-format
msgid " Screen '%1$s': Vector\n"
msgstr " Skjerm '%1$s': Vektor\n"
-#: src/frontend/mame/ui/devopt.cpp:103
+#: src/frontend/mame/ui/devopt.cpp:99
#, c-format
msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
msgstr " Skjerm '%1$s': %2$d × %3$d (V) %4$f Hz\n"
-#: src/frontend/mame/ui/devopt.cpp:104
+#: src/frontend/mame/ui/devopt.cpp:100
#, c-format
msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
msgstr " Skjerm '%1$s': %2$d × %3$d (H) %4$f Hz\n"
-#: src/frontend/mame/ui/devopt.cpp:117
+#: src/frontend/mame/ui/devopt.cpp:113
msgid "* Sound:\n"
msgstr "* Lyd:\n"
-#: src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/devopt.cpp:133
#, c-format
msgid " %1$d×%2$s\n"
msgstr " %1$d×%2$s\n"
-#: src/frontend/mame/ui/devopt.cpp:138
+#: src/frontend/mame/ui/devopt.cpp:134
msgid " %2$s\n"
msgstr " %2$s\n"
-#: src/frontend/mame/ui/devopt.cpp:168
+#: src/frontend/mame/ui/devopt.cpp:164
#, c-format
msgid ""
"* BIOS settings:\n"
@@ -2259,496 +2588,86 @@ msgstr ""
"* BIOS-innstillinger:\n"
" %1$d innstillinger [forvalg: %2$s]\n"
-#: src/frontend/mame/ui/devopt.cpp:208 src/frontend/mame/ui/devopt.cpp:224
-#: src/frontend/mame/ui/devopt.cpp:269
+#: src/frontend/mame/ui/devopt.cpp:204 src/frontend/mame/ui/devopt.cpp:220
+#: src/frontend/mame/ui/devopt.cpp:265
#, c-format
msgid " %1$s [default: %2$s]\n"
msgstr " %1$s [forvalg: %2$s]\n"
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
+#: src/frontend/mame/ui/devopt.cpp:209 src/frontend/mame/ui/devopt.cpp:225
#, c-format
msgid " %1$s\n"
msgstr " %1$s\n"
-#: src/frontend/mame/ui/devopt.cpp:234
+#: src/frontend/mame/ui/devopt.cpp:230
msgid "* DIP switch settings:\n"
msgstr "* DIP-bryterinnstillinger:\n"
-#: src/frontend/mame/ui/devopt.cpp:236
+#: src/frontend/mame/ui/devopt.cpp:232
msgid "* Configuration settings:\n"
msgstr "* Oppsettsinnstillinger:\n"
-#: src/frontend/mame/ui/devopt.cpp:238
+#: src/frontend/mame/ui/devopt.cpp:234
msgid "* Input device(s):\n"
msgstr "* Inndatainnstillinger(s):\n"
-#: src/frontend/mame/ui/devopt.cpp:240
+#: src/frontend/mame/ui/devopt.cpp:236
#, c-format
msgid " User inputs [%1$d inputs]\n"
msgstr " Brukerinndata [%1$d inndata]\n"
-#: src/frontend/mame/ui/devopt.cpp:242
+#: src/frontend/mame/ui/devopt.cpp:238
#, c-format
msgid " Mahjong inputs [%1$d inputs]\n"
msgstr " Mahjong-inndata [%1$d inndata]\n"
-#: src/frontend/mame/ui/devopt.cpp:244
+#: src/frontend/mame/ui/devopt.cpp:240
#, c-format
msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr " Hanafuda-inndata [%1$d inndata]\n"
-#: src/frontend/mame/ui/devopt.cpp:246
+#: src/frontend/mame/ui/devopt.cpp:242
#, c-format
msgid " Gambling inputs [%1$d inputs]\n"
msgstr " Hasardspill-inndata [%1$d inndata]\n"
-#: src/frontend/mame/ui/devopt.cpp:248
+#: src/frontend/mame/ui/devopt.cpp:244
#, c-format
msgid " Analog inputs [%1$d inputs]\n"
msgstr " Analoge inndata [%1$d inndata]\n"
-#: src/frontend/mame/ui/devopt.cpp:250
+#: src/frontend/mame/ui/devopt.cpp:246
#, c-format
msgid " Adjuster inputs [%1$d inputs]\n"
msgstr " Justerer-inndata [%1$d inndata]\n"
-#: src/frontend/mame/ui/devopt.cpp:252
+#: src/frontend/mame/ui/devopt.cpp:248
#, c-format
msgid " Keypad inputs [%1$d inputs]\n"
msgstr " Tastefelt-inndata [%1$d inndata]\n"
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/devopt.cpp:250
#, c-format
msgid " Keyboard inputs [%1$d inputs]\n"
msgstr " Tastaturinndata [%1$d inndata]\n"
-#: src/frontend/mame/ui/devopt.cpp:259
+#: src/frontend/mame/ui/devopt.cpp:255
msgid "* Media Options:\n"
msgstr "* Medieinnstillinger:\n"
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/devopt.cpp:257
#, c-format
msgid " %1$s [tag: %2$s]\n"
msgstr " %1$s [merking: %2$s]\n"
-#: src/frontend/mame/ui/devopt.cpp:267
+#: src/frontend/mame/ui/devopt.cpp:263
msgid "* Slot Options:\n"
msgstr "* Feltinnstillinger:\n"
-#: src/frontend/mame/ui/devopt.cpp:274
+#: src/frontend/mame/ui/devopt.cpp:270
msgid "[None]\n"
msgstr "[Ingen]\n"
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
-msgstr ""
-"Vil du undersøke ROM-filene til %1$u maskiner som er merket som "
-"utilgjengelige?"
-
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
-msgstr "Vil du undersøke ROM-filene til alle %1$u maskinene?"
-
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
-msgstr "(utfallene vil bli lagret til %1$s)"
-
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
-msgstr ""
-"Undersøker ROM-filene til maskin nr. %2$u av %3$u...\n"
-"%1$s"
-
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr "Start undersøking"
-
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
-msgstr "Kan ikke lagre over mappen"
-
-#: src/frontend/mame/ui/imgcntrl.cpp:150
-msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
-msgstr ""
-"Programvaren som er valgt, mangler én eller flere påkrevde ROM- eller CHD-"
-"filer. Vennligst velg en annen en."
-
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
-msgstr "beskyttelse"
-
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
-msgstr "timing"
-
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
-msgstr "grafikk"
-
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
-msgstr "fargepalett"
-
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
-msgstr "lyd"
-
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
-msgstr "kamera"
-
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
-msgstr "mikrofon"
-
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
-msgstr "kontrollere"
-
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
-msgstr "tastatur"
-
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
-msgstr "mus"
-
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
-msgstr "disk"
-
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
-msgstr "skriver"
-
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
-msgstr "LAN"
-
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
-msgstr "WAN"
-
-#: src/frontend/mame/ui/info.cpp:188
-msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
-msgstr ""
-"Én eller flere av ROM- eller CHD-filene til denne maskinen er feil. Maskinen "
-"vil kanskje ikke kunne kjøre riktig.\n"
-
-#: src/frontend/mame/ui/info.cpp:198
-msgid ""
-"There are known problems with this machine\n"
-"\n"
-msgstr ""
-"Det er noen problemer med maskinen som vi kjenner til\n"
-"\n"
-
-#: src/frontend/mame/ui/info.cpp:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
-msgstr ""
-"Én eller flere av ROM- eller CHD-filene til denne maskinen har ikke blitt "
-"riktig dumpet.\n"
-
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
-msgstr "Fullstendig uemulerte egenskaper: "
-
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
-msgstr "%s"
-
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#: src/frontend/mame/ui/info.cpp:275
-#, c-format
-msgid ", %s"
-msgstr ", %s"
-
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
-msgstr "Funksjoner som ikke er perfekt emulert: "
-
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
-msgstr "Skjermvending i cocktailmodus støttes ikke.\n"
-
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
-msgstr "Denne maskinen krever eksterne kunstverkfiler.\n"
-
-#: src/frontend/mame/ui/info.cpp:243
-msgid ""
-"This machine was never completed. It may exhibit strange behavior or missing "
-"elements that are not bugs in the emulation.\n"
-msgstr ""
-"Denne maskinen ble aldri laget ferdig. Den kan oppføre seg merkelig eller "
-"mangle elementer som ikke er feil i emuleringen.\n"
-
-#: src/frontend/mame/ui/info.cpp:245
-msgid ""
-"This machine has no sound hardware, MAME will produce no sounds, this is "
-"expected behaviour.\n"
-msgstr ""
-"Denne maskinen har ingen maskinvare for lyd. MAME vil ikke sende ut noen "
-"lyder, dette er forventet oppførsel.\n"
-
-#: src/frontend/mame/ui/info.cpp:249
-msgid ""
-"\n"
-"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
-"complete. There is nothing you can do to fix this problem except wait for "
-"the developers to improve the emulation.\n"
-msgstr ""
-"\n"
-"DENNE MASKINEN VIRKER IKKE. Emuleringen av denne maskinen er ikke fullført "
-"ennå. Det er ingenting du kan gjøre med dette problemet, bortsett fra å "
-"vente på at utviklerne forbedrer emuleringen.\n"
-
-#: src/frontend/mame/ui/info.cpp:251
-msgid ""
-"\n"
-"Elements of this machine cannot be emulated as they requires physical "
-"interaction or consist of mechanical devices. It is not possible to fully "
-"experience this machine.\n"
-msgstr ""
-"\n"
-"Noen elementer i denne maskinen kan ikke bli emulert, siden de krever fysisk "
-"samhandling eller består av mekaniske deler. Det er ikke mulig å oppleve "
-"denne maskinen fullt ut.\n"
-
-#: src/frontend/mame/ui/info.cpp:273
-#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
-msgstr ""
-"\n"
-"\n"
-"Denne maskinen har fungerende kloner av seg: %s"
-
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
-msgstr ""
-"\n"
-"\n"
-"Trykk på enhver knapp for å fortsette"
-
-#: src/frontend/mame/ui/info.cpp:301
-#, c-format
-msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
-msgstr ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
-
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
-msgstr "MHz"
-
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
-msgstr "kHz"
-
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
-msgstr ""
-"\n"
-"Lyd:\n"
-
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
-msgstr ""
-"\n"
-"Video:\n"
-
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
-msgstr "Ingen\n"
-
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
-msgstr "Vektor"
-
-#: src/frontend/mame/ui/info.cpp:400
-#, c-format
-msgid "%1$s: %2$s\n"
-msgstr "%1$s: %2$s\n"
-
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
-msgstr "%2$s\n"
-
-#: src/frontend/mame/ui/info.cpp:446
-#, c-format
-msgid "Screen '%1$s'"
-msgstr "Skjerm '%1$s'"
-
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr "Skjerm"
-
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
-msgstr "Ikke støttet"
-
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
-msgstr "Delvis støttet"
-
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
-msgstr "[tom]"
-
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
-msgstr "Kontrollpaneler"
-
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
-msgstr "Kunstverkforhåndsvisning"
-
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
-msgstr "Game Over"
-
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
-msgstr "Legg til eller fjern favoritter"
-
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
-msgstr "Eksporter den viste listen til en fil"
-
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
-msgstr "Vis DAT-oversikten"
-
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
-msgstr "Programvaredel-valg:"
-
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
-msgstr "BIOS-valg:"
-
-#: src/frontend/mame/ui/selmenu.cpp:622
-#, c-format
-msgid "Software is clone of: %1$-.100s"
-msgstr "Programvaren er en klone av: %1$-.100s"
-
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
-msgstr "Programvaren er overordnet"
-
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
-msgstr "Støttet: Nei"
-
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
-msgstr "Støttet: Delvis"
-
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
-msgstr "Støttet: Ja"
-
-#: src/frontend/mame/ui/selmenu.cpp:644
-#, c-format
-msgid "romset: %1$-.100s"
-msgstr "ROM-sett: %1$-.100s"
-
-#: src/frontend/mame/ui/selmenu.cpp:660
-#, c-format
-msgid "Driver is clone of: %1$-.100s"
-msgstr "Driveren er en klone av: %1$-.100s"
-
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
-msgstr "Driveren er overordnet"
-
-#: src/frontend/mame/ui/selmenu.cpp:698
-#, c-format
-msgid "%1$s %2$s"
-msgstr "%1$s %2$s"
-
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
-msgstr "Bilder"
-
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
-msgstr "Info"
-
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
-msgstr "Bruksområde"
-
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
-msgstr "Generell info"
-
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
-msgstr "Brukergrensesnitt"
-
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
-msgstr "Andre kontrolleringer"
-
#: plugins/timer/init.lua:94
msgid "Current time"
msgstr "Nåværende tid"
@@ -2765,51 +2684,51 @@ msgstr "Spillteller"
msgid "Timer"
msgstr "Nedteller"
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:510
msgid "Select cheat to set hotkey"
msgstr "Velg en juksekode å velge hurtigtasten til"
-#: plugins/cheat/init.lua:534
+#: plugins/cheat/init.lua:516
msgid "Press button for hotkey or wait to clear"
msgstr "Trykk på en knapp for hurtigtasting eller vent på at den tømmes"
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:528
msgid "None"
msgstr "Ingen"
-#: plugins/cheat/init.lua:551
+#: plugins/cheat/init.lua:533
msgid "Done"
msgstr "Ferdig"
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:547 plugins/cheat/init.lua:561
msgid "Set"
msgstr "Velg"
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:580
msgid "Set hotkeys"
msgstr "Velg hurtigtaster"
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:720
#, lua-format
msgid "Activated: %s = %s"
msgstr "Aktivert: %s = %s"
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:723 plugins/cheat/init.lua:781
#, lua-format
msgid "Activated: %s"
msgstr "Aktivert: %s"
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:785
#, lua-format
msgid "Enabled: %s"
msgstr "Skrudd på: %s"
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:790
#, lua-format
msgid "Disabled: %s"
msgstr "Skrudd av: %s"
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "%s added"
msgstr "%s er lagt til"
@@ -2862,49 +2781,49 @@ msgstr "Gameinit"
msgid "MARPScore"
msgstr "MARPScore"
-#: plugins/cheatfind/init.lua:404
+#: plugins/cheatfind/init.lua:373
msgid "Save Cheat"
msgstr "Lagre juksekoden"
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Default"
msgstr "Standard"
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Custom"
msgstr "Tilpasset"
-#: plugins/cheatfind/init.lua:408
+#: plugins/cheatfind/init.lua:377
msgid "Cheat Name"
msgstr "Juksekodens navn"
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/cheatfind/init.lua:383 plugins/cheatfind/init.lua:748
#, lua-format
msgid "Default name is %s"
msgstr "Standardnavnet er %s"
-#: plugins/cheatfind/init.lua:422
+#: plugins/cheatfind/init.lua:391
msgid "Player"
msgstr "Spiller"
-#: plugins/cheatfind/init.lua:427
+#: plugins/cheatfind/init.lua:396
msgid "Type"
msgstr "Type"
-#: plugins/cheatfind/init.lua:433
+#: plugins/cheatfind/init.lua:402
msgid "Save"
msgstr "Lagre"
-#: plugins/cheatfind/init.lua:462
+#: plugins/cheatfind/init.lua:429
#, lua-format
msgid "Cheat written to %s and added to cheat.simple"
msgstr "Juksekoden ble lagret i %s og ble lagt til i cheat.simple"
-#: plugins/cheatfind/init.lua:472
+#: plugins/cheatfind/init.lua:437
msgid "Cheat added to cheat.simple"
msgstr "Juksekoden ble lagt til i cheat.simple"
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:442
msgid ""
"Unable to write file\n"
"Ensure that cheatpath folder exists"
@@ -2912,291 +2831,170 @@ msgstr ""
"Klarte ikke å skrive til filen\n"
"Sørg for at juksekodefilbanens mappe eksisterer"
-#: plugins/cheatfind/init.lua:486
+#: plugins/cheatfind/init.lua:451
msgid "Cancel"
msgstr "Lukk"
-#: plugins/cheatfind/init.lua:491
+#: plugins/cheatfind/init.lua:456
msgid "CPU or RAM"
msgstr "CPU eller RAM"
-#: plugins/cheatfind/init.lua:495
+#: plugins/cheatfind/init.lua:460
msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr "Endringer til dette tas kun i bruk når «Start et nytt søk» er valgt"
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
-msgstr ""
+#: plugins/cheatfind/init.lua:479
+msgid "Data cleared and current state saved"
+msgstr "Dataene er tømt og den nåværende tilstanden har blitt lagret"
-#: plugins/cheatfind/init.lua:551
+#: plugins/cheatfind/init.lua:487
msgid "Start new search"
msgstr "Start et nytt søk"
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
-msgstr ""
+#: plugins/cheatfind/init.lua:497
+msgid "Current state saved"
+msgstr "Den nåværende tilstanden har blitt lagret"
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
-msgstr ""
+#: plugins/cheatfind/init.lua:504
+msgid "Save current -- #"
+msgstr "Lagre nåværende — #"
-#: plugins/cheatfind/init.lua:614
+#: plugins/cheatfind/init.lua:536
#, lua-format
msgid "%d total matches found"
msgstr "%d antall samsvaringer ble funnet"
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
-msgstr ""
+#: plugins/cheatfind/init.lua:543
+msgid "Compare"
+msgstr "Sammenlign"
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
-msgstr ""
+#: plugins/cheatfind/init.lua:546
+msgid "Left operand"
+msgstr "Venstre operand"
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
-msgstr ""
+#: plugins/cheatfind/init.lua:549
+msgid "Current"
+msgstr "Nåværende"
+
+#: plugins/cheatfind/init.lua:554
+msgid "Operator"
+msgstr "Operatør"
+
+#: plugins/cheatfind/init.lua:561
+msgid "Left less than right, value is difference"
+msgstr "Venstre er mindre enn høyre, verdien er forskjellen"
+
+#: plugins/cheatfind/init.lua:563
+msgid "Left greater than right, value is difference"
+msgstr "Venstre er større enn høyre, verdien er forskjellen"
-#: plugins/cheatfind/init.lua:676
+#: plugins/cheatfind/init.lua:565
msgid "Left equal to right"
msgstr "Venstre er det samme som høyre"
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
-msgstr ""
+#: plugins/cheatfind/init.lua:567
+msgid "Left not equal to right, value is difference"
+msgstr "Venstre er ikke det samme som høyre, verdien er forskjellen"
-#: plugins/cheatfind/init.lua:680
+#: plugins/cheatfind/init.lua:569
msgid "Left equal to right with bitmask"
msgstr "Venstre er det samme som høyre med bitmaskering"
-#: plugins/cheatfind/init.lua:682
+#: plugins/cheatfind/init.lua:571
msgid "Left not equal to right with bitmask"
msgstr "Venstre er ikke det samme som høyre med bitmaskering"
-#: plugins/cheatfind/init.lua:684
+#: plugins/cheatfind/init.lua:573
msgid "Left less than value"
msgstr "Venstre sin «Mindre enn»-verdi"
-#: plugins/cheatfind/init.lua:686
+#: plugins/cheatfind/init.lua:575
msgid "Left greater than value"
msgstr "Venstre sin «Større enn»-verdi"
-#: plugins/cheatfind/init.lua:688
+#: plugins/cheatfind/init.lua:577
msgid "Left equal to value"
msgstr "Venstre sin «Det samme som»-verdi"
-#: plugins/cheatfind/init.lua:690
+#: plugins/cheatfind/init.lua:579
msgid "Left not equal to value"
msgstr "Venstre sin ikke «Ikke det samme som»-verdi"
-#: plugins/cheatfind/init.lua:712
+#: plugins/cheatfind/init.lua:590
+msgid "Right operand"
+msgstr "Høyre operand"
+
+#: plugins/cheatfind/init.lua:598
msgid "Value"
msgstr "Verdi"
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:719
+#: plugins/cheatfind/init.lua:602
msgid "Any"
msgstr "Ethvert"
-#: plugins/cheatfind/init.lua:725
+#: plugins/cheatfind/init.lua:608
msgid "Data Format"
msgstr "Dataformat"
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:738
-msgid ""
-"Use this if you want to poke the Slot 1 value (eg. You started with "
-"something but lost it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:740
-msgid ""
-"Use this if you want to poke the Last Slot value (eg. You started without an "
-"item but finally got it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:816
+#: plugins/cheatfind/init.lua:632
msgid "Undo last search -- #"
msgstr "Andre det forrige søket — #"
-#: plugins/cheatfind/init.lua:820
+#: plugins/cheatfind/init.lua:636
msgid "Match block"
msgstr "Samsvar med blokk"
-#: plugins/cheatfind/init.lua:823
+#: plugins/cheatfind/init.lua:639
msgid "All"
msgstr "Alle"
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheatfind/init.lua:690
#, lua-format
-msgid "Test Cheat %08X:%02X"
-msgstr ""
+msgid "Test cheat at addr %08X"
+msgstr "Test juksekoden på adressen %08X"
-#: plugins/cheatfind/init.lua:974
+#: plugins/cheatfind/init.lua:722
msgid "Cheat engine not available"
msgstr "Juksekodemotoren er ikke tilgjengelig"
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Test"
msgstr "Test"
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Write"
msgstr "Skriv"
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Watch"
msgstr "Overvåk"
-#: plugins/cheatfind/init.lua:1045
+#: plugins/cheatfind/init.lua:788
msgid "Page"
msgstr "Side"
-#: plugins/cheatfind/init.lua:1063
+#: plugins/cheatfind/init.lua:806
msgid "Clear Watches"
msgstr "Tøm overvåkningene"
-#: plugins/cheatfind/init.lua:1078
+#: plugins/cheatfind/init.lua:816
msgid "Cheat Finder"
msgstr "Juksekodefinner"
-#: plugins/portname/init.lua:103
+#: plugins/portname/init.lua:69
msgid "Save input names to file"
msgstr "Lagre inndatanavn til fil"
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
+#: plugins/portname/init.lua:100 plugins/portname/init.lua:105
+#: plugins/portname/init.lua:121
msgid "Failed to save input name file"
msgstr "Mislyktes i å lagre inndatanavnefilen"
-#: plugins/portname/init.lua:167
+#: plugins/portname/init.lua:133
#, lua-format
msgid "Input port name file saved to %s"
msgstr "Inndataportnavnefilen ble lagret til %s"
-#: plugins/portname/init.lua:172
+#: plugins/portname/init.lua:138
msgid "Input ports"
msgstr "Inndataporter"
-
-#~ msgid "Data cleared and current state saved"
-#~ msgstr "Dataene er tømt og den nåværende tilstanden har blitt lagret"
-
-#~ msgid "Current state saved"
-#~ msgstr "Den nåværende tilstanden har blitt lagret"
-
-#~ msgid "Save current -- #"
-#~ msgstr "Lagre nåværende — #"
-
-#~ msgid "Compare"
-#~ msgstr "Sammenlign"
-
-#~ msgid "Left operand"
-#~ msgstr "Venstre operand"
-
-#~ msgid "Current"
-#~ msgstr "Nåværende"
-
-#~ msgid "Operator"
-#~ msgstr "Operatør"
-
-#~ msgid "Left less than right, value is difference"
-#~ msgstr "Venstre er mindre enn høyre, verdien er forskjellen"
-
-#~ msgid "Left greater than right, value is difference"
-#~ msgstr "Venstre er større enn høyre, verdien er forskjellen"
-
-#~ msgid "Left not equal to right, value is difference"
-#~ msgstr "Venstre er ikke det samme som høyre, verdien er forskjellen"
-
-#~ msgid "Right operand"
-#~ msgstr "Høyre operand"
-
-#~ msgid "Test cheat at addr %08X"
-#~ msgstr "Test juksekoden på adressen %08X"
diff --git a/language/Persian/strings.po b/language/Persian/strings.po
index 8c977ff9f96..49368ca6ff5 100644
--- a/language/Persian/strings.po
+++ b/language/Persian/strings.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MAME\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-03-17 13:37+1100\n"
+"POT-Creation-Date: 2018-04-28 15:32+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -16,1144 +16,1041 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
+#: src/frontend/mame/ui/auditmenu.cpp:96
#, c-format
-msgid "Screen #%d"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Enabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Disabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
-msgid "Marquees"
+#: src/frontend/mame/ui/auditmenu.cpp:99
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/auditmenu.cpp:104
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/auditmenu.cpp:130
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/auditmenu.cpp:142
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/selmenu.cpp:49 src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/selmenu.cpp:50 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/selmenu.cpp:51
+msgid "Control Panels"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/selmenu.cpp:52 src/frontend/mame/ui/dirmenu.cpp:50
+msgid "PCBs"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/selmenu.cpp:53 src/frontend/mame/ui/dirmenu.cpp:47
+msgid "Flyers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/selmenu.cpp:54 src/frontend/mame/ui/dirmenu.cpp:48
+msgid "Titles"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/selmenu.cpp:55 src/frontend/mame/ui/dirmenu.cpp:49
+msgid "Ends"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/selmenu.cpp:56
+msgid "Artwork Preview"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/selmenu.cpp:57 src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Bosses"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/selmenu.cpp:58 src/frontend/mame/ui/dirmenu.cpp:60
+msgid "Logos"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/selmenu.cpp:59 src/frontend/mame/ui/dirmenu.cpp:62
+msgid "Versus"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/selmenu.cpp:60
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/selmenu.cpp:61 src/frontend/mame/ui/dirmenu.cpp:59
+msgid "HowTo"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/selmenu.cpp:62 src/frontend/mame/ui/dirmenu.cpp:61
+msgid "Scores"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/selmenu.cpp:63 src/frontend/mame/ui/dirmenu.cpp:57
+msgid "Select"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/selmenu.cpp:64 src/frontend/mame/ui/dirmenu.cpp:51
+#: src/frontend/mame/ui/videoopt.cpp:224
+msgid "Marquees"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/selmenu.cpp:65 src/frontend/mame/ui/dirmenu.cpp:63
+msgid "Covers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/selmenu.cpp:69
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/selmenu.cpp:70
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/selmenu.cpp:71
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/selmenu.cpp:237
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/selmenu.cpp:343
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/selmenu.cpp:570 src/frontend/mame/ui/selmenu.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:311
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/selmenu.cpp:574
+#, c-format
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/selmenu.cpp:576
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/selmenu.cpp:581
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/selmenu.cpp:586
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/selmenu.cpp:591
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selmenu.cpp:596
+#, c-format
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selmenu.cpp:612
#, c-format
-msgid "Current %1$s Folders"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selmenu.cpp:614
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selmenu.cpp:619
+#: src/frontend/mame/ui/simpleselgame.cpp:330
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selmenu.cpp:621
+#: src/frontend/mame/ui/simpleselgame.cpp:332
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:623
+#: src/frontend/mame/ui/simpleselgame.cpp:334
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:627
+#: src/frontend/mame/ui/simpleselgame.cpp:338
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/selmenu.cpp:629
+#: src/frontend/mame/ui/simpleselgame.cpp:340
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/selmenu.cpp:631
+#: src/frontend/mame/ui/simpleselgame.cpp:342
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/selmenu.cpp:634
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/selmenu.cpp:636
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/selmenu.cpp:638
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/selmenu.cpp:640
+#: src/frontend/mame/ui/simpleselgame.cpp:351
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/selmenu.cpp:650
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/selmenu.cpp:1975
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/selmenu.cpp:1976
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/selmenu.cpp:2386 src/frontend/mame/ui/miscmenu.cpp:826
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/selmenu.cpp:2454
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/selmenu.cpp:2489
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/dirmenu.cpp:35
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/dirmenu.cpp:36
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
-#: src/frontend/mame/ui/slotopt.cpp:220
-msgid "[empty slot]"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/dirmenu.cpp:40
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/dirmenu.cpp:52
+msgid "Controls Panels"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/dirmenu.cpp:53
+msgid "Crosshairs"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Artworks"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks Preview"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "GameOver"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/dirmenu.cpp:116
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/dirmenu.cpp:167
+#, c-format
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/dirmenu.cpp:182
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/dirmenu.cpp:429
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/dirmenu.cpp:513
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/info.cpp:30
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "LAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/info.cpp:180
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/info.cpp:190
+msgid ""
+"There are known problems with this machine\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/info.cpp:195
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/info.cpp:200
+msgid "Completely unemulated features: "
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#, c-format
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#: src/frontend/mame/ui/info.cpp:267
+#, c-format
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/info.cpp:216
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/info.cpp:231
+msgid "Screen flipping in cocktail mode is not supported.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/info.cpp:233
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/info.cpp:235
+msgid ""
+"This machine was never completed. It may exhibit strange behavior or missing "
+"elements that are not bugs in the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/info.cpp:237
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/info.cpp:241
+msgid ""
+"\n"
+"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
+"complete. There is nothing you can do to fix this problem except wait for "
+"the developers to improve the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/info.cpp:243
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they requires physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/info.cpp:265
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/info.cpp:278
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/info.cpp:293
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:149
+#: src/frontend/mame/ui/info.cpp:342
msgid ""
-"The selected game is missing one or more required ROM or CHD images. Please "
-"select a different game.\n"
"\n"
-"Press any key to continue."
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:247
-#, c-format
+#: src/frontend/mame/ui/info.cpp:370
msgid ""
-"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
"\n"
-"If this is your first time using %2$s, please see the config.txt file in the "
-"docs directory for information on configuring %2$s."
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+"Video:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/info.cpp:374
+msgid "None\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/info.cpp:381
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:314
-#: src/frontend/mame/ui/selsoft.cpp:652 src/frontend/mame/ui/selsoft.cpp:659
+#: src/frontend/mame/ui/info.cpp:392
#, c-format
-msgid "%1$-.100s"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:317
-#: src/frontend/mame/ui/selmenu.cpp:618 src/frontend/mame/ui/selmenu.cpp:654
-#, c-format
-msgid "%1$s, %2$-.100s"
+#: src/frontend/mame/ui/info.cpp:392
+msgid "%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
+#: src/frontend/mame/ui/info.cpp:438
#, c-format
-msgid "Driver: %1$-.100s"
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+msgid "Screen '%1$s'"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/info.cpp:440
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/info.cpp:525
+msgid "Not supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/info.cpp:528
+msgid "Partially supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/info.cpp:536
+msgid "[empty]"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/optsmenu.cpp:193
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/optsmenu.cpp:206
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/optsmenu.cpp:207
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/optsmenu.cpp:210 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/optsmenu.cpp:213
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/optsmenu.cpp:216
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/optsmenu.cpp:228
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:337
-msgid "This driver requires images to be loaded in the following device(s): "
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
+msgid "Rewind"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1302
-#, c-format
-msgid ""
-"Are you sure you want to quit?\n"
-"\n"
-"Press ''%1$s'' to quit,\n"
-"Press ''%2$s'' to return to emulation."
+#: src/frontend/mame/ui/inputmap.cpp:53
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/inputmap.cpp:59
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
+#: src/frontend/mame/ui/inputmap.cpp:628 src/frontend/mame/ui/miscmenu.cpp:96
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/selector.cpp:116
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
+#: src/frontend/mame/ui/selector.cpp:124
#, c-format
-msgid "Overclock %1$s sound"
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/filesel.cpp:256
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/swlist.cpp:88
+msgid "[file manager]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/swlist.cpp:228
+msgid "Switch Item Ordering"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
+#: src/frontend/mame/ui/swlist.cpp:259
#, c-format
-msgid "%1$s Horiz Stretch"
+msgid "Switched Order: entries now ordered by %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "shortname"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "description"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/swlist.cpp:389
+msgid "[compatible lists]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/datmenu.cpp:80
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/datmenu.cpp:362
+msgid "Revision: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/simpleselgame.cpp:149
+msgid ""
+"The selected game is missing one or more required ROM or CHD images. Please "
+"select a different game.\n"
+"\n"
+"Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
+#: src/frontend/mame/ui/simpleselgame.cpp:241
#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+msgid ""
+"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
+"\n"
+"If this is your first time using %2$s, please see the config.txt file in the "
+"docs directory for information on configuring %2$s."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/simpleselgame.cpp:271
+#: src/frontend/mame/ui/selgame.cpp:436
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/simpleselgame.cpp:292
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/simpleselgame.cpp:294
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
+#: src/frontend/mame/ui/simpleselgame.cpp:308
+#: src/frontend/mame/ui/selsoft.cpp:564 src/frontend/mame/ui/selsoft.cpp:571
#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/simpleselgame.cpp:314
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
+#: src/frontend/mame/ui/videoopt.cpp:56
#, c-format
-msgid "Crosshair Offset %1$s"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/videoopt.cpp:208
+msgid "Backdrops"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Enabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Disabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
-#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
-#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
-#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
-#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
-#: src/frontend/mame/ui/ui.cpp:1927
-#, c-format
-msgid "%1$.3f"
+#: src/frontend/mame/ui/videoopt.cpp:212
+msgid "Overlays"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
-#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
-#, c-format
-msgid "%1$1.2f"
+#: src/frontend/mame/ui/videoopt.cpp:216
+msgid "Bezels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:220
+msgid "CPanels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "View"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cropped"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Full"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1047
+msgid "No"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
-msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1047
+msgid "Yes"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
-msgid ""
-"Cheat Comment:\n"
-"%s"
+#: src/frontend/mame/ui/filecreate.cpp:171
+msgid "New Image Name:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/filecreate.cpp:177
+msgid "Image Format:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/filecreate.cpp:183
+msgid "Create"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/filecreate.cpp:266
+msgid "Select image format"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Keyboard Mode:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Natural"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Emulated"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
+#: src/frontend/mame/ui/miscmenu.cpp:236
#, c-format
msgid ""
-"%s\n"
-" added to favorites list."
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
+#: src/frontend/mame/ui/miscmenu.cpp:238
#, c-format
msgid ""
-"%s\n"
-" removed from favorites list."
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/miscmenu.cpp:242
+#, c-format
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
+"Tickets dispensed: %1$d\n"
"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
+#: src/frontend/mame/ui/miscmenu.cpp:253
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/miscmenu.cpp:253
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
-#, c-format
-msgid "Driver: \"%1$s\" software list "
+#: src/frontend/mame/ui/miscmenu.cpp:256
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
-#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+#: src/frontend/mame/ui/miscmenu.cpp:503
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/miscmenu.cpp:601
#, c-format
-msgid "Search: %1$s_"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
-msgid "Unfiltered"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
-msgid "Available"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
-msgid "Unavailable"
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
-msgid "Working"
+#: src/frontend/mame/ui/miscmenu.cpp:627
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
-msgid "Not Working"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
-msgid "Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:655
+msgid "Export list in XML format (like -listxml)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
-msgid "Not Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:656
+msgid "Export list in XML format (like -listxml, but exclude devices)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
-msgid "Category"
+#: src/frontend/mame/ui/miscmenu.cpp:657
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
-msgid "Favorites"
+#: src/frontend/mame/ui/miscmenu.cpp:710 src/frontend/mame/ui/ui.cpp:2230
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/miscmenu.cpp:760 src/frontend/mame/ui/utils.cpp:66
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
-msgid "Not BIOS"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
-msgid "Parents"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
-msgid "Clones"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:73
-msgid "Manufacturer"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
-msgid "Year"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:75
-msgid "Save Supported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:76
-msgid "Save Unsupported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:77
-msgid "CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:78
-msgid "No CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:79
-msgid "Vertical Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:80
-msgid "Horizontal Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
-msgid "Custom Filter"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:91
-msgid "Publisher"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:92
-msgid "Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:764
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
-msgid "Partially Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:767
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
-msgid "Unsupported"
+#: src/frontend/mame/ui/miscmenu.cpp:776 src/frontend/mame/ui/mainmenu.cpp:145
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
-msgid "Release Region"
+#: src/frontend/mame/ui/miscmenu.cpp:778 src/frontend/mame/ui/mainmenu.cpp:147
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
-msgid "Device Type"
+#: src/frontend/mame/ui/miscmenu.cpp:781
+msgid "Save machine configuration"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
-msgid "Software List"
+#: src/frontend/mame/ui/miscmenu.cpp:792
+msgid "Configure machine:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
-msgid "<set up filters>"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:736
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:551 plugins/cheatfind/init.lua:619
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
-msgid "Select custom filters:"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:739
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:554 plugins/cheat/init.lua:563
+#: plugins/cheatfind/init.lua:616
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
-#, c-format
-msgid "Filter %1$u"
+#: src/frontend/mame/ui/miscmenu.cpp:909 src/frontend/mame/ui/selgame.cpp:441
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
-msgid "Remove last filter"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
-msgid "Add filter"
+#: src/frontend/mame/ui/barcode.cpp:78
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
-msgid "Select category:"
+#: src/frontend/mame/ui/barcode.cpp:119
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
-msgid "[no category INI files]"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:99
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
-msgid "[no groups in INI file]"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
-msgid "No category INI files found"
+#: src/frontend/mame/ui/mainmenu.cpp:60
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
-msgid "File"
+#: src/frontend/mame/ui/mainmenu.cpp:62
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
-msgid "No groups found in category file"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
-msgid "Group"
+#: src/frontend/mame/ui/mainmenu.cpp:68
+msgid "Dip Switches"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
-msgid "Include clones"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
+#: src/frontend/mame/ui/mainmenu.cpp:78
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/mainmenu.cpp:85
+msgid "Image Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/mainmenu.cpp:96
+msgid "Tape Control"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/mainmenu.cpp:102
+msgid "BIOS Selection"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/mainmenu.cpp:106
+msgid "Slot Devices"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
-#, c-format
-msgid "%s [internal]"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Barcode Reader"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:203 src/frontend/mame/ui/miscmenu.cpp:97
-#: src/frontend/mame/ui/inputmap.cpp:615
-msgid "Reset"
+#: src/frontend/mame/ui/mainmenu.cpp:114
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/mainmenu.cpp:118
+msgid "Keyboard Mode"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/mainmenu.cpp:121
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/mainmenu.cpp:124 src/frontend/mame/ui/submenu.cpp:101
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/mainmenu.cpp:128
+msgid "Crosshair Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/mainmenu.cpp:132 plugins/cheat/init.lua:735
+msgid "Cheat"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:762
-#: plugins/cheat/init.lua:569 plugins/cheatfind/init.lua:792
-#: plugins/cheatfind/init.lua:803
-msgid "On"
+#: src/frontend/mame/ui/mainmenu.cpp:135
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:765
-#: plugins/cheat/init.lua:572 plugins/cheat/init.lua:581
-#: plugins/cheatfind/init.lua:789 plugins/cheatfind/init.lua:800
-msgid "Off"
+#: src/frontend/mame/ui/mainmenu.cpp:139
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/mainmenu.cpp:154
+msgid "Select New Machine"
msgstr ""
#: src/frontend/mame/ui/custui.cpp:31
@@ -1376,1281 +1273,1303 @@ msgstr ""
msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/submenu.cpp:22
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/submenu.cpp:23
+msgid "Re-select last machine played"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/submenu.cpp:24
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:26
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:27
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:28
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:29
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:30
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
-#, c-format
-msgid "%s.txt saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/submenu.cpp:45
+msgid "Refresh speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/submenu.cpp:47
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/submenu.cpp:49
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
-msgid "Configure Machine"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
-#, c-format
-msgid "Romset\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
-#, c-format
-msgid "Year\t%1$s\n"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
-#, c-format
-msgid "Manufacturer\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
-#, c-format
-msgid "Driver is Clone of\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1044
-msgid "Driver is Parent\t\n"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
-msgid "Analog Controls\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Artwork Crop"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
-msgid "Keyboard Inputs\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Use Backdrops"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
-msgid "Overall\tNOT WORKING\n"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Use Overlays"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
-msgid "Overall\tUnemulated Protection\n"
+#: src/frontend/mame/ui/submenu.cpp:60
+msgid "Use Bezels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
-msgid "Overall\tWorking\n"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Use Control Panels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
-msgid "Graphics\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:62
+msgid "Use Marquees"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
-msgid "Graphics\tWrong Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
-msgid "Graphics\tImperfect Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
-msgid "Graphics\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
-msgid "Graphics\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Bilinear snapshot"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
-msgid "Sound\tNone\n"
+#: src/frontend/mame/ui/submenu.cpp:69
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
-msgid "Sound\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
-msgid "Sound\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:72
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
-msgid "Sound\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
-msgid "Capture\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
-msgid "Capture\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
-msgid "Camera\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
-msgid "Camera\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
-msgid "Microphone\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
-msgid "Microphone\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:79
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
-msgid "Controls\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
-msgid "Controls\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
-msgid "Keyboard\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Joystick saturation"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
-msgid "Keyboard\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Natural keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
-msgid "Mouse\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
-msgid "Mouse\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
-msgid "Media\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
-msgid "Media\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Lightgun Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
-msgid "Disk\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Trackball Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
-msgid "Disk\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
-msgid "Printer\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
-msgid "Printer\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
-msgid "Mag. Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:95
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
-msgid "Mag. Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:96
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
-msgid "Punch Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:97
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
-msgid "Punch Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
-msgid "Mag. Drum\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:103
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
-msgid "Mag. Drum\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
-msgid "(EP)ROM\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
-msgid "(EP)ROM\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
-msgid "Communications\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:109
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
-msgid "Communications\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:110
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
-msgid "LAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:111
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
-msgid "LAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:112
+msgid "Enforce Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
-msgid "WAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:113
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
-msgid "WAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:114
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
-msgid "Timing\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
-msgid "Timing\tImperfect\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tYes\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Select position to load from"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tNo\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tYes\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Select position to save to"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tNo\n"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:309 src/frontend/mame/ui/selsoft.cpp:211
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:314 src/frontend/mame/ui/selgame.cpp:320
+#: src/frontend/mame/ui/selsoft.cpp:216
+#, c-format
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:437
+msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:849
+#, c-format
+msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:850
+#, c-format
+msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:851
+#, c-format
+msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:855
+#, c-format
+msgid "Driver is Clone of\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:857
+msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tVertical\n"
+#: src/frontend/mame/ui/selgame.cpp:860
+msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tHorizontal\n"
+#: src/frontend/mame/ui/selgame.cpp:862
+msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:865
+msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:867
+msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
-msgid "ROM Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:869
+msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
-msgid "ROM Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:872
+msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
-msgid "Samples Audit Result\tNone Needed\n"
+#: src/frontend/mame/ui/selgame.cpp:874
+msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
-msgid "Samples Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:876
+msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
-msgid "Samples Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:878
+msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
-msgid ""
-"ROM Audit \tDisabled\n"
-"Samples Audit \tDisabled\n"
+#: src/frontend/mame/ui/selgame.cpp:880
+msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
+#: src/frontend/mame/ui/selgame.cpp:883
+msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1424
-#, c-format
-msgid "Romset: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:885
+msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
-#, c-format
-msgid "System: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:887
+msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1465
-msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
+#: src/frontend/mame/ui/selgame.cpp:889
+msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
+#: src/frontend/mame/ui/selgame.cpp:892
+msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
+#: src/frontend/mame/ui/selgame.cpp:894
+msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
+#: src/frontend/mame/ui/selgame.cpp:897
+msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
+#: src/frontend/mame/ui/selgame.cpp:899
+msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
+#: src/frontend/mame/ui/selgame.cpp:902
+msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selgame.cpp:904
+msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selgame.cpp:907
+msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/selgame.cpp:909
+msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/selgame.cpp:912
+msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/selgame.cpp:914
+msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/selgame.cpp:917
+msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/selgame.cpp:919
+msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/selgame.cpp:922
+msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/selgame.cpp:924
+msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/selgame.cpp:927
+msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/selgame.cpp:929
+msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/selgame.cpp:932
+msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/selgame.cpp:934
+msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/selgame.cpp:937
+msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/selgame.cpp:939
+msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/selgame.cpp:970
+msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/selgame.cpp:972
+msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/selgame.cpp:975
+msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/selgame.cpp:977
+msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/selgame.cpp:979
+msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/selgame.cpp:983
+msgid ""
+"ROM Audit \tDisabled\n"
+"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/selgame.cpp:1167
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/selgame.cpp:1183 src/frontend/mame/ui/selsoft.cpp:555
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/selgame.cpp:1185 src/frontend/mame/ui/selsoft.cpp:557
+#, c-format
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/selgame.cpp:1195
+#, c-format
+msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/selgame.cpp:1202
+#, c-format
+msgid "System: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/selgame.cpp:1239
+msgid ""
+"The selected machine is missing one or more required ROM or CHD images. "
+"Please select a different machine.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/selgame.cpp:1245 src/frontend/mame/ui/selsoft.cpp:462
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/utils.cpp:57 src/frontend/mame/ui/utils.cpp:81
+msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/utils.cpp:58 src/frontend/mame/ui/utils.cpp:82
+msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/utils.cpp:59 src/frontend/mame/ui/utils.cpp:83
+msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/utils.cpp:60
+msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/utils.cpp:61
+msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/utils.cpp:62
+msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:63
+msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:64
+msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:65
+msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:67
+msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:84
+msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/utils.cpp:85
+msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:70
+msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:86
+msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/utils.cpp:72
+msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/utils.cpp:73
+msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/utils.cpp:74
+msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/utils.cpp:75
+msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/utils.cpp:76
+msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/utils.cpp:77
+msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/utils.cpp:78 src/frontend/mame/ui/utils.cpp:94
+msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/utils.cpp:87
+msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/utils.cpp:88
+msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/utils.cpp:89
+msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/utils.cpp:90
+msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/utils.cpp:91
+msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:43
-#, c-format
-msgid ""
-"[This option is currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"The selected option enables the following items:\n"
+#: src/frontend/mame/ui/utils.cpp:92
+msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:44
-#, c-format
-msgid ""
-"[This option is NOT currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"If you select this option, the following items will be enabled:\n"
+#: src/frontend/mame/ui/utils.cpp:93
+msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/utils.cpp:244
+msgid "<set up filters>"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:352
+msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/utils.cpp:503
#, c-format
-msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
-msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:518
+msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %3$d.%4$06d MHz\n"
+#: src/frontend/mame/ui/utils.cpp:520
+msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:959
+msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/utils.cpp:990
+msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/utils.cpp:998
+msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:103
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1032
+msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1037
+msgid "File"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/utils.cpp:1041
+msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
-#, c-format
-msgid " %1$d×%2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1046
+msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1047
+msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:168
-#, c-format
+#: src/frontend/mame/ui/selsoft.cpp:456
msgid ""
-"* BIOS settings:\n"
-" %1$d options [default: %2$s]\n"
+"The selected software is missing one or more required files. Please select a "
+"different software.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:208 src/frontend/mame/ui/devopt.cpp:224
-#: src/frontend/mame/ui/devopt.cpp:269
+#: src/frontend/mame/ui/selsoft.cpp:549
#, c-format
-msgid " %1$s [default: %2$s]\n"
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
+#: src/frontend/mame/ui/selsoft.cpp:550
#, c-format
-msgid " %1$s\n"
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:260
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:419
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/filesel.cpp:515
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:516
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:518
+msgid "Read-write"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
-#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:519
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:520
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:117
+msgid "Cannot save over directory"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:150
+msgid ""
+"The software selected is missing one or more required ROM or CHD images. "
+"Please select a different one."
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:294
+msgid "Return to Machine"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
-#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:299 src/frontend/mame/ui/menu.cpp:301
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+#: src/frontend/mame/ui/menu.cpp:306 src/frontend/mame/ui/menu.cpp:308
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
-#, c-format
-msgid " %1$s [tag: %2$s]\n"
+#: src/frontend/mame/ui/menu.cpp:742
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
+#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:653
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+#: src/frontend/mame/ui/cheatopt.cpp:105
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/cheatopt.cpp:136
+msgid "Autofire Settings"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:581
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:582
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
+#: src/frontend/mame/ui/cheatopt.cpp:273
+msgid "Autofire Status"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
+#: src/frontend/mame/ui/cheatopt.cpp:316
+msgid "No buttons found on this machine!"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+#: src/frontend/mame/ui/cheatopt.cpp:327 src/frontend/mame/ui/cheatopt.cpp:331
+msgid "Autofire Delay"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
-msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
+#: src/frontend/mame/ui/ui.cpp:337
+msgid "This driver requires images to be loaded in the following device(s): "
msgstr ""
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
+#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
+msgid "Keyboard Emulation Status"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
+#: src/frontend/mame/ui/ui.cpp:1086
+msgid "Mode: PARTIAL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
+#: src/frontend/mame/ui/ui.cpp:1087
+msgid "UI: Enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
+#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
+msgid "**Use ScrLock to toggle**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
+#: src/frontend/mame/ui/ui.cpp:1096
+msgid "Mode: FULL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: src/frontend/mame/ui/ui.cpp:1097
+msgid "UI: Disabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
+#: src/frontend/mame/ui/ui.cpp:1249
+msgid "Autofire can't be enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
+#: src/frontend/mame/ui/ui.cpp:1302
+#, c-format
+msgid ""
+"Are you sure you want to quit?\n"
+"\n"
+"Press ''%1$s'' to quit,\n"
+"Press ''%2$s'' to return to emulation."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
+#: src/frontend/mame/ui/ui.cpp:1374
+msgid "Master Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
+#: src/frontend/mame/ui/ui.cpp:1383
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/ui.cpp:1407
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/ui.cpp:1416
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/ui.cpp:1437
+#, c-format
+msgid "%1$s Refresh Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, c-format
+msgid "%1$s Brightness"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1444
+#, c-format
+msgid "%1$s Contrast"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1446
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/ui.cpp:1450
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/ui.cpp:1452
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/ui.cpp:1454
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/ui.cpp:1456
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/ui.cpp:1475
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/ui.cpp:1477
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/ui.cpp:1479
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
-msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+#: src/frontend/mame/ui/ui.cpp:1481
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:198
-msgid ""
-"There are known problems with this machine\n"
-"\n"
+#: src/frontend/mame/ui/ui.cpp:1493
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/ui.cpp:1494
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/ui.cpp:1495
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
+#: src/frontend/mame/ui/ui.cpp:1496
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#: src/frontend/mame/ui/info.cpp:275
+#: src/frontend/mame/ui/ui.cpp:1511
#, c-format
-msgid ", %s"
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
+#: src/frontend/mame/ui/ui.cpp:1513
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:243
-msgid ""
-"This machine was never completed. It may exhibit strange behavior or missing "
-"elements that are not bugs in the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1601
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:245
-msgid ""
-"This machine has no sound hardware, MAME will produce no sounds, this is "
-"expected behaviour.\n"
+#: src/frontend/mame/ui/ui.cpp:1645
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:249
-msgid ""
-"\n"
-"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
-"complete. There is nothing you can do to fix this problem except wait for "
-"the developers to improve the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1661
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:251
-msgid ""
-"\n"
-"Elements of this machine cannot be emulated as they requires physical "
-"interaction or consist of mechanical devices. It is not possible to fully "
-"experience this machine.\n"
+#: src/frontend/mame/ui/ui.cpp:1685
+#, c-format
+msgid "%1$.3ffps"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
+#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
+#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
+#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
+#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
+#: src/frontend/mame/ui/ui.cpp:1927
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
+#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/ui.cpp:2005
#, c-format
-msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/ui.cpp:2226
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " COLORS"
+msgstr ""
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:39
#, c-format
-msgid "%1$s: %2$s\n"
+msgid ""
+"[This option is currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"The selected option enables the following items:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+#: src/frontend/mame/ui/devopt.cpp:40
+#, c-format
+msgid ""
+"[This option is NOT currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"If you select this option, the following items will be enabled:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:48
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
#, c-format
-msgid "Screen '%1$s'"
+msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
+msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:85
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:90
+#, c-format
+msgid " Screen '%1$s': Vector\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:99
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:100
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:113
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:133
+#, c-format
+msgid " %1$d×%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:164
+#, c-format
+msgid ""
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:204 src/frontend/mame/ui/devopt.cpp:220
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
+#: src/frontend/mame/ui/devopt.cpp:209 src/frontend/mame/ui/devopt.cpp:225
#, c-format
-msgid "Software is clone of: %1$-.100s"
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: src/frontend/mame/ui/devopt.cpp:230
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: src/frontend/mame/ui/devopt.cpp:232
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: src/frontend/mame/ui/devopt.cpp:234
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: src/frontend/mame/ui/devopt.cpp:236
+#, c-format
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
+#: src/frontend/mame/ui/devopt.cpp:238
#, c-format
-msgid "romset: %1$-.100s"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
+#: src/frontend/mame/ui/devopt.cpp:240
#, c-format
-msgid "Driver is clone of: %1$-.100s"
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: src/frontend/mame/ui/devopt.cpp:242
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
+#: src/frontend/mame/ui/devopt.cpp:244
#, c-format
-msgid "%1$s %2$s"
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: src/frontend/mame/ui/devopt.cpp:246
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: src/frontend/mame/ui/devopt.cpp:248
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: src/frontend/mame/ui/devopt.cpp:257
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: src/frontend/mame/ui/devopt.cpp:263
+msgid "* Slot Options:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:270
+msgid "[None]\n"
msgstr ""
#: plugins/timer/init.lua:94
@@ -2669,51 +2588,51 @@ msgstr ""
msgid "Timer"
msgstr ""
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:510
msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheat/init.lua:534
+#: plugins/cheat/init.lua:516
msgid "Press button for hotkey or wait to clear"
msgstr ""
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:528
msgid "None"
msgstr ""
-#: plugins/cheat/init.lua:551
+#: plugins/cheat/init.lua:533
msgid "Done"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:547 plugins/cheat/init.lua:561
msgid "Set"
msgstr ""
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:580
msgid "Set hotkeys"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:720
#, lua-format
msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:723 plugins/cheat/init.lua:781
#, lua-format
msgid "Activated: %s"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:785
#, lua-format
msgid "Enabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:790
#, lua-format
msgid "Disabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "%s added"
msgstr ""
@@ -2762,303 +2681,218 @@ msgstr ""
msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:404
+#: plugins/cheatfind/init.lua:373
msgid "Save Cheat"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Default"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Custom"
msgstr ""
-#: plugins/cheatfind/init.lua:408
+#: plugins/cheatfind/init.lua:377
msgid "Cheat Name"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/cheatfind/init.lua:383 plugins/cheatfind/init.lua:748
#, lua-format
msgid "Default name is %s"
msgstr ""
-#: plugins/cheatfind/init.lua:422
+#: plugins/cheatfind/init.lua:391
msgid "Player"
msgstr ""
-#: plugins/cheatfind/init.lua:427
+#: plugins/cheatfind/init.lua:396
msgid "Type"
msgstr ""
-#: plugins/cheatfind/init.lua:433
+#: plugins/cheatfind/init.lua:402
msgid "Save"
msgstr ""
-#: plugins/cheatfind/init.lua:462
+#: plugins/cheatfind/init.lua:429
#, lua-format
msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:472
+#: plugins/cheatfind/init.lua:437
msgid "Cheat added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:442
msgid ""
"Unable to write file\n"
"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/cheatfind/init.lua:486
+#: plugins/cheatfind/init.lua:451
msgid "Cancel"
msgstr ""
-#: plugins/cheatfind/init.lua:491
+#: plugins/cheatfind/init.lua:456
msgid "CPU or RAM"
msgstr ""
-#: plugins/cheatfind/init.lua:495
+#: plugins/cheatfind/init.lua:460
msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:479
+msgid "Data cleared and current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:487
+msgid "Start new search"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:497
+msgid "Current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:504
+msgid "Save current -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
+#: plugins/cheatfind/init.lua:536
#, lua-format
-msgid "Memory State saved to Slot %d"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:543
+msgid "Compare"
msgstr ""
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
+#: plugins/cheatfind/init.lua:546
+msgid "Left operand"
+msgstr ""
+
+#: plugins/cheatfind/init.lua:549
+msgid "Current"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:554
+msgid "Operator"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:561
+msgid "Left less than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:563
+msgid "Left greater than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:676
+#: plugins/cheatfind/init.lua:565
msgid "Left equal to right"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:567
+msgid "Left not equal to right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:680
+#: plugins/cheatfind/init.lua:569
msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:682
+#: plugins/cheatfind/init.lua:571
msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:684
+#: plugins/cheatfind/init.lua:573
msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:686
+#: plugins/cheatfind/init.lua:575
msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:688
+#: plugins/cheatfind/init.lua:577
msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:690
+#: plugins/cheatfind/init.lua:579
msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/cheatfind/init.lua:590
+msgid "Right operand"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/cheatfind/init.lua:598
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:719
+#: plugins/cheatfind/init.lua:602
msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:725
+#: plugins/cheatfind/init.lua:608
msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:738
-msgid ""
-"Use this if you want to poke the Slot 1 value (eg. You started with "
-"something but lost it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:740
-msgid ""
-"Use this if you want to poke the Last Slot value (eg. You started without an "
-"item but finally got it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:816
+#: plugins/cheatfind/init.lua:632
msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:820
+#: plugins/cheatfind/init.lua:636
msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:823
+#: plugins/cheatfind/init.lua:639
msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheatfind/init.lua:690
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Test cheat at addr %08X"
msgstr ""
-#: plugins/cheatfind/init.lua:974
+#: plugins/cheatfind/init.lua:722
msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
+#: plugins/cheatfind/init.lua:788
msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
+#: plugins/cheatfind/init.lua:806
msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
+#: plugins/cheatfind/init.lua:816
msgid "Cheat Finder"
msgstr ""
-#: plugins/portname/init.lua:103
+#: plugins/portname/init.lua:69
msgid "Save input names to file"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
+#: plugins/portname/init.lua:100 plugins/portname/init.lua:105
+#: plugins/portname/init.lua:121
msgid "Failed to save input name file"
msgstr ""
-#: plugins/portname/init.lua:167
+#: plugins/portname/init.lua:133
#, lua-format
msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/portname/init.lua:172
+#: plugins/portname/init.lua:138
msgid "Input ports"
msgstr ""
diff --git a/language/Polish/strings.po b/language/Polish/strings.po
index 2caf7214353..fcf37128221 100644
--- a/language/Polish/strings.po
+++ b/language/Polish/strings.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MAME\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-03-17 13:37+1100\n"
+"POT-Creation-Date: 2018-04-28 15:32+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -19,1144 +19,1041 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2);\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
+#: src/frontend/mame/ui/auditmenu.cpp:96
#, c-format
-msgid "Screen #%d"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Enabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Disabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
-msgid "Marquees"
+#: src/frontend/mame/ui/auditmenu.cpp:99
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/auditmenu.cpp:104
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/auditmenu.cpp:130
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/auditmenu.cpp:142
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/selmenu.cpp:49 src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/selmenu.cpp:50 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/selmenu.cpp:51
+msgid "Control Panels"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/selmenu.cpp:52 src/frontend/mame/ui/dirmenu.cpp:50
+msgid "PCBs"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/selmenu.cpp:53 src/frontend/mame/ui/dirmenu.cpp:47
+msgid "Flyers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/selmenu.cpp:54 src/frontend/mame/ui/dirmenu.cpp:48
+msgid "Titles"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/selmenu.cpp:55 src/frontend/mame/ui/dirmenu.cpp:49
+msgid "Ends"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/selmenu.cpp:56
+msgid "Artwork Preview"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/selmenu.cpp:57 src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Bosses"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/selmenu.cpp:58 src/frontend/mame/ui/dirmenu.cpp:60
+msgid "Logos"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/selmenu.cpp:59 src/frontend/mame/ui/dirmenu.cpp:62
+msgid "Versus"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/selmenu.cpp:60
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/selmenu.cpp:61 src/frontend/mame/ui/dirmenu.cpp:59
+msgid "HowTo"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/selmenu.cpp:62 src/frontend/mame/ui/dirmenu.cpp:61
+msgid "Scores"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/selmenu.cpp:63 src/frontend/mame/ui/dirmenu.cpp:57
+msgid "Select"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/selmenu.cpp:64 src/frontend/mame/ui/dirmenu.cpp:51
+#: src/frontend/mame/ui/videoopt.cpp:224
+msgid "Marquees"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/selmenu.cpp:65 src/frontend/mame/ui/dirmenu.cpp:63
+msgid "Covers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/selmenu.cpp:69
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/selmenu.cpp:70
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/selmenu.cpp:71
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/selmenu.cpp:237
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/selmenu.cpp:343
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/selmenu.cpp:570 src/frontend/mame/ui/selmenu.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:311
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/selmenu.cpp:574
+#, c-format
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/selmenu.cpp:576
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/selmenu.cpp:581
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/selmenu.cpp:586
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/selmenu.cpp:591
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selmenu.cpp:596
+#, c-format
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selmenu.cpp:612
#, c-format
-msgid "Current %1$s Folders"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selmenu.cpp:614
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selmenu.cpp:619
+#: src/frontend/mame/ui/simpleselgame.cpp:330
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selmenu.cpp:621
+#: src/frontend/mame/ui/simpleselgame.cpp:332
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:623
+#: src/frontend/mame/ui/simpleselgame.cpp:334
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:627
+#: src/frontend/mame/ui/simpleselgame.cpp:338
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/selmenu.cpp:629
+#: src/frontend/mame/ui/simpleselgame.cpp:340
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/selmenu.cpp:631
+#: src/frontend/mame/ui/simpleselgame.cpp:342
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/selmenu.cpp:634
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/selmenu.cpp:636
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/selmenu.cpp:638
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/selmenu.cpp:640
+#: src/frontend/mame/ui/simpleselgame.cpp:351
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/selmenu.cpp:650
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/selmenu.cpp:1975
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/selmenu.cpp:1976
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/selmenu.cpp:2386 src/frontend/mame/ui/miscmenu.cpp:826
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/selmenu.cpp:2454
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/selmenu.cpp:2489
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/dirmenu.cpp:35
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/dirmenu.cpp:36
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
-#: src/frontend/mame/ui/slotopt.cpp:220
-msgid "[empty slot]"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/dirmenu.cpp:40
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/dirmenu.cpp:52
+msgid "Controls Panels"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/dirmenu.cpp:53
+msgid "Crosshairs"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Artworks"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks Preview"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "GameOver"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/dirmenu.cpp:116
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/dirmenu.cpp:167
+#, c-format
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/dirmenu.cpp:182
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/dirmenu.cpp:429
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/dirmenu.cpp:513
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/info.cpp:30
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "LAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/info.cpp:180
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/info.cpp:190
+msgid ""
+"There are known problems with this machine\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/info.cpp:195
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/info.cpp:200
+msgid "Completely unemulated features: "
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#, c-format
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#: src/frontend/mame/ui/info.cpp:267
+#, c-format
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/info.cpp:216
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/info.cpp:231
+msgid "Screen flipping in cocktail mode is not supported.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/info.cpp:233
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/info.cpp:235
+msgid ""
+"This machine was never completed. It may exhibit strange behavior or missing "
+"elements that are not bugs in the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/info.cpp:237
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/info.cpp:241
+msgid ""
+"\n"
+"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
+"complete. There is nothing you can do to fix this problem except wait for "
+"the developers to improve the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/info.cpp:243
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they requires physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/info.cpp:265
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/info.cpp:278
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/info.cpp:293
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:149
+#: src/frontend/mame/ui/info.cpp:342
msgid ""
-"The selected game is missing one or more required ROM or CHD images. Please "
-"select a different game.\n"
"\n"
-"Press any key to continue."
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:247
-#, c-format
+#: src/frontend/mame/ui/info.cpp:370
msgid ""
-"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
"\n"
-"If this is your first time using %2$s, please see the config.txt file in the "
-"docs directory for information on configuring %2$s."
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+"Video:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/info.cpp:374
+msgid "None\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/info.cpp:381
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:314
-#: src/frontend/mame/ui/selsoft.cpp:652 src/frontend/mame/ui/selsoft.cpp:659
+#: src/frontend/mame/ui/info.cpp:392
#, c-format
-msgid "%1$-.100s"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:317
-#: src/frontend/mame/ui/selmenu.cpp:618 src/frontend/mame/ui/selmenu.cpp:654
-#, c-format
-msgid "%1$s, %2$-.100s"
+#: src/frontend/mame/ui/info.cpp:392
+msgid "%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
+#: src/frontend/mame/ui/info.cpp:438
#, c-format
-msgid "Driver: %1$-.100s"
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+msgid "Screen '%1$s'"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/info.cpp:440
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/info.cpp:525
+msgid "Not supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/info.cpp:528
+msgid "Partially supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/info.cpp:536
+msgid "[empty]"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/optsmenu.cpp:193
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/optsmenu.cpp:206
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/optsmenu.cpp:207
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/optsmenu.cpp:210 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/optsmenu.cpp:213
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/optsmenu.cpp:216
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/optsmenu.cpp:228
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:337
-msgid "This driver requires images to be loaded in the following device(s): "
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
+msgid "Rewind"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1302
-#, c-format
-msgid ""
-"Are you sure you want to quit?\n"
-"\n"
-"Press ''%1$s'' to quit,\n"
-"Press ''%2$s'' to return to emulation."
+#: src/frontend/mame/ui/inputmap.cpp:53
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/inputmap.cpp:59
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
+#: src/frontend/mame/ui/inputmap.cpp:628 src/frontend/mame/ui/miscmenu.cpp:96
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/selector.cpp:116
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
+#: src/frontend/mame/ui/selector.cpp:124
#, c-format
-msgid "Overclock %1$s sound"
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/filesel.cpp:256
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/swlist.cpp:88
+msgid "[file manager]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/swlist.cpp:228
+msgid "Switch Item Ordering"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
+#: src/frontend/mame/ui/swlist.cpp:259
#, c-format
-msgid "%1$s Horiz Stretch"
+msgid "Switched Order: entries now ordered by %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "shortname"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "description"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/swlist.cpp:389
+msgid "[compatible lists]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/datmenu.cpp:80
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/datmenu.cpp:362
+msgid "Revision: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/simpleselgame.cpp:149
+msgid ""
+"The selected game is missing one or more required ROM or CHD images. Please "
+"select a different game.\n"
+"\n"
+"Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
+#: src/frontend/mame/ui/simpleselgame.cpp:241
#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+msgid ""
+"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
+"\n"
+"If this is your first time using %2$s, please see the config.txt file in the "
+"docs directory for information on configuring %2$s."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/simpleselgame.cpp:271
+#: src/frontend/mame/ui/selgame.cpp:436
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/simpleselgame.cpp:292
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/simpleselgame.cpp:294
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
+#: src/frontend/mame/ui/simpleselgame.cpp:308
+#: src/frontend/mame/ui/selsoft.cpp:564 src/frontend/mame/ui/selsoft.cpp:571
#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/simpleselgame.cpp:314
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
+#: src/frontend/mame/ui/videoopt.cpp:56
#, c-format
-msgid "Crosshair Offset %1$s"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/videoopt.cpp:208
+msgid "Backdrops"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Enabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Disabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
-#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
-#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
-#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
-#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
-#: src/frontend/mame/ui/ui.cpp:1927
-#, c-format
-msgid "%1$.3f"
+#: src/frontend/mame/ui/videoopt.cpp:212
+msgid "Overlays"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
-#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
-#, c-format
-msgid "%1$1.2f"
+#: src/frontend/mame/ui/videoopt.cpp:216
+msgid "Bezels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:220
+msgid "CPanels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "View"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cropped"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Full"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1047
+msgid "No"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
-msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1047
+msgid "Yes"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
-msgid ""
-"Cheat Comment:\n"
-"%s"
+#: src/frontend/mame/ui/filecreate.cpp:171
+msgid "New Image Name:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/filecreate.cpp:177
+msgid "Image Format:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/filecreate.cpp:183
+msgid "Create"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/filecreate.cpp:266
+msgid "Select image format"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Keyboard Mode:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Natural"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Emulated"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
+#: src/frontend/mame/ui/miscmenu.cpp:236
#, c-format
msgid ""
-"%s\n"
-" added to favorites list."
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
+#: src/frontend/mame/ui/miscmenu.cpp:238
#, c-format
msgid ""
-"%s\n"
-" removed from favorites list."
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/miscmenu.cpp:242
+#, c-format
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
+"Tickets dispensed: %1$d\n"
"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
+#: src/frontend/mame/ui/miscmenu.cpp:253
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/miscmenu.cpp:253
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
-#, c-format
-msgid "Driver: \"%1$s\" software list "
+#: src/frontend/mame/ui/miscmenu.cpp:256
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
-#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+#: src/frontend/mame/ui/miscmenu.cpp:503
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/miscmenu.cpp:601
#, c-format
-msgid "Search: %1$s_"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
-msgid "Unfiltered"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
-msgid "Available"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
-msgid "Unavailable"
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
-msgid "Working"
+#: src/frontend/mame/ui/miscmenu.cpp:627
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
-msgid "Not Working"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
-msgid "Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:655
+msgid "Export list in XML format (like -listxml)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
-msgid "Not Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:656
+msgid "Export list in XML format (like -listxml, but exclude devices)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
-msgid "Category"
+#: src/frontend/mame/ui/miscmenu.cpp:657
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
-msgid "Favorites"
+#: src/frontend/mame/ui/miscmenu.cpp:710 src/frontend/mame/ui/ui.cpp:2230
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/miscmenu.cpp:760 src/frontend/mame/ui/utils.cpp:66
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
-msgid "Not BIOS"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
-msgid "Parents"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
-msgid "Clones"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:73
-msgid "Manufacturer"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
-msgid "Year"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:75
-msgid "Save Supported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:76
-msgid "Save Unsupported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:77
-msgid "CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:78
-msgid "No CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:79
-msgid "Vertical Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:80
-msgid "Horizontal Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
-msgid "Custom Filter"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:91
-msgid "Publisher"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:92
-msgid "Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:764
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
-msgid "Partially Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:767
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
-msgid "Unsupported"
+#: src/frontend/mame/ui/miscmenu.cpp:776 src/frontend/mame/ui/mainmenu.cpp:145
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
-msgid "Release Region"
+#: src/frontend/mame/ui/miscmenu.cpp:778 src/frontend/mame/ui/mainmenu.cpp:147
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
-msgid "Device Type"
+#: src/frontend/mame/ui/miscmenu.cpp:781
+msgid "Save machine configuration"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
-msgid "Software List"
+#: src/frontend/mame/ui/miscmenu.cpp:792
+msgid "Configure machine:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
-msgid "<set up filters>"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:736
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:551 plugins/cheatfind/init.lua:619
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
-msgid "Select custom filters:"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:739
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:554 plugins/cheat/init.lua:563
+#: plugins/cheatfind/init.lua:616
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
-#, c-format
-msgid "Filter %1$u"
+#: src/frontend/mame/ui/miscmenu.cpp:909 src/frontend/mame/ui/selgame.cpp:441
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
-msgid "Remove last filter"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
-msgid "Add filter"
+#: src/frontend/mame/ui/barcode.cpp:78
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
-msgid "Select category:"
+#: src/frontend/mame/ui/barcode.cpp:119
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
-msgid "[no category INI files]"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:99
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
-msgid "[no groups in INI file]"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
-msgid "No category INI files found"
+#: src/frontend/mame/ui/mainmenu.cpp:60
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
-msgid "File"
+#: src/frontend/mame/ui/mainmenu.cpp:62
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
-msgid "No groups found in category file"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
-msgid "Group"
+#: src/frontend/mame/ui/mainmenu.cpp:68
+msgid "Dip Switches"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
-msgid "Include clones"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
+#: src/frontend/mame/ui/mainmenu.cpp:78
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/mainmenu.cpp:85
+msgid "Image Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/mainmenu.cpp:96
+msgid "Tape Control"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/mainmenu.cpp:102
+msgid "BIOS Selection"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/mainmenu.cpp:106
+msgid "Slot Devices"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
-#, c-format
-msgid "%s [internal]"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Barcode Reader"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:203 src/frontend/mame/ui/miscmenu.cpp:97
-#: src/frontend/mame/ui/inputmap.cpp:615
-msgid "Reset"
+#: src/frontend/mame/ui/mainmenu.cpp:114
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/mainmenu.cpp:118
+msgid "Keyboard Mode"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/mainmenu.cpp:121
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/mainmenu.cpp:124 src/frontend/mame/ui/submenu.cpp:101
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/mainmenu.cpp:128
+msgid "Crosshair Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/mainmenu.cpp:132 plugins/cheat/init.lua:735
+msgid "Cheat"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:762
-#: plugins/cheat/init.lua:569 plugins/cheatfind/init.lua:792
-#: plugins/cheatfind/init.lua:803
-msgid "On"
+#: src/frontend/mame/ui/mainmenu.cpp:135
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:765
-#: plugins/cheat/init.lua:572 plugins/cheat/init.lua:581
-#: plugins/cheatfind/init.lua:789 plugins/cheatfind/init.lua:800
-msgid "Off"
+#: src/frontend/mame/ui/mainmenu.cpp:139
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/mainmenu.cpp:154
+msgid "Select New Machine"
msgstr ""
#: src/frontend/mame/ui/custui.cpp:31
@@ -1379,1281 +1276,1303 @@ msgstr ""
msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/submenu.cpp:22
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/submenu.cpp:23
+msgid "Re-select last machine played"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/submenu.cpp:24
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:26
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:27
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:28
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:29
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:30
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
-#, c-format
-msgid "%s.txt saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/submenu.cpp:45
+msgid "Refresh speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/submenu.cpp:47
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/submenu.cpp:49
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
-msgid "Configure Machine"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
-#, c-format
-msgid "Romset\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
-#, c-format
-msgid "Year\t%1$s\n"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
-#, c-format
-msgid "Manufacturer\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
-#, c-format
-msgid "Driver is Clone of\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1044
-msgid "Driver is Parent\t\n"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
-msgid "Analog Controls\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Artwork Crop"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
-msgid "Keyboard Inputs\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Use Backdrops"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
-msgid "Overall\tNOT WORKING\n"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Use Overlays"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
-msgid "Overall\tUnemulated Protection\n"
+#: src/frontend/mame/ui/submenu.cpp:60
+msgid "Use Bezels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
-msgid "Overall\tWorking\n"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Use Control Panels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
-msgid "Graphics\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:62
+msgid "Use Marquees"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
-msgid "Graphics\tWrong Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
-msgid "Graphics\tImperfect Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
-msgid "Graphics\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
-msgid "Graphics\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Bilinear snapshot"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
-msgid "Sound\tNone\n"
+#: src/frontend/mame/ui/submenu.cpp:69
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
-msgid "Sound\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
-msgid "Sound\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:72
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
-msgid "Sound\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
-msgid "Capture\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
-msgid "Capture\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
-msgid "Camera\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
-msgid "Camera\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
-msgid "Microphone\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
-msgid "Microphone\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:79
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
-msgid "Controls\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
-msgid "Controls\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
-msgid "Keyboard\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Joystick saturation"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
-msgid "Keyboard\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Natural keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
-msgid "Mouse\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
-msgid "Mouse\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
-msgid "Media\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
-msgid "Media\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Lightgun Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
-msgid "Disk\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Trackball Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
-msgid "Disk\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
-msgid "Printer\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
-msgid "Printer\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
-msgid "Mag. Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:95
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
-msgid "Mag. Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:96
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
-msgid "Punch Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:97
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
-msgid "Punch Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
-msgid "Mag. Drum\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:103
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
-msgid "Mag. Drum\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
-msgid "(EP)ROM\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
-msgid "(EP)ROM\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
-msgid "Communications\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:109
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
-msgid "Communications\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:110
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
-msgid "LAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:111
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
-msgid "LAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:112
+msgid "Enforce Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
-msgid "WAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:113
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
-msgid "WAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:114
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
-msgid "Timing\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
-msgid "Timing\tImperfect\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tYes\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Select position to load from"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tNo\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tYes\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Select position to save to"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tNo\n"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:309 src/frontend/mame/ui/selsoft.cpp:211
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:314 src/frontend/mame/ui/selgame.cpp:320
+#: src/frontend/mame/ui/selsoft.cpp:216
+#, c-format
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:437
+msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:849
+#, c-format
+msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:850
+#, c-format
+msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:851
+#, c-format
+msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:855
+#, c-format
+msgid "Driver is Clone of\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:857
+msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tVertical\n"
+#: src/frontend/mame/ui/selgame.cpp:860
+msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tHorizontal\n"
+#: src/frontend/mame/ui/selgame.cpp:862
+msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:865
+msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:867
+msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
-msgid "ROM Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:869
+msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
-msgid "ROM Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:872
+msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
-msgid "Samples Audit Result\tNone Needed\n"
+#: src/frontend/mame/ui/selgame.cpp:874
+msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
-msgid "Samples Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:876
+msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
-msgid "Samples Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:878
+msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
-msgid ""
-"ROM Audit \tDisabled\n"
-"Samples Audit \tDisabled\n"
+#: src/frontend/mame/ui/selgame.cpp:880
+msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
+#: src/frontend/mame/ui/selgame.cpp:883
+msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1424
-#, c-format
-msgid "Romset: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:885
+msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
-#, c-format
-msgid "System: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:887
+msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1465
-msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
+#: src/frontend/mame/ui/selgame.cpp:889
+msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
+#: src/frontend/mame/ui/selgame.cpp:892
+msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
+#: src/frontend/mame/ui/selgame.cpp:894
+msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
+#: src/frontend/mame/ui/selgame.cpp:897
+msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
+#: src/frontend/mame/ui/selgame.cpp:899
+msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
+#: src/frontend/mame/ui/selgame.cpp:902
+msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selgame.cpp:904
+msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selgame.cpp:907
+msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/selgame.cpp:909
+msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/selgame.cpp:912
+msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/selgame.cpp:914
+msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/selgame.cpp:917
+msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/selgame.cpp:919
+msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/selgame.cpp:922
+msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/selgame.cpp:924
+msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/selgame.cpp:927
+msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/selgame.cpp:929
+msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/selgame.cpp:932
+msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/selgame.cpp:934
+msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/selgame.cpp:937
+msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/selgame.cpp:939
+msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/selgame.cpp:970
+msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/selgame.cpp:972
+msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/selgame.cpp:975
+msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/selgame.cpp:977
+msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/selgame.cpp:979
+msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/selgame.cpp:983
+msgid ""
+"ROM Audit \tDisabled\n"
+"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/selgame.cpp:1167
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/selgame.cpp:1183 src/frontend/mame/ui/selsoft.cpp:555
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/selgame.cpp:1185 src/frontend/mame/ui/selsoft.cpp:557
+#, c-format
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/selgame.cpp:1195
+#, c-format
+msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/selgame.cpp:1202
+#, c-format
+msgid "System: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/selgame.cpp:1239
+msgid ""
+"The selected machine is missing one or more required ROM or CHD images. "
+"Please select a different machine.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/selgame.cpp:1245 src/frontend/mame/ui/selsoft.cpp:462
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/utils.cpp:57 src/frontend/mame/ui/utils.cpp:81
+msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/utils.cpp:58 src/frontend/mame/ui/utils.cpp:82
+msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/utils.cpp:59 src/frontend/mame/ui/utils.cpp:83
+msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/utils.cpp:60
+msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/utils.cpp:61
+msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/utils.cpp:62
+msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:63
+msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:64
+msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:65
+msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:67
+msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:84
+msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/utils.cpp:85
+msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:70
+msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:86
+msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/utils.cpp:72
+msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/utils.cpp:73
+msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/utils.cpp:74
+msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/utils.cpp:75
+msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/utils.cpp:76
+msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/utils.cpp:77
+msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/utils.cpp:78 src/frontend/mame/ui/utils.cpp:94
+msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/utils.cpp:87
+msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/utils.cpp:88
+msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/utils.cpp:89
+msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/utils.cpp:90
+msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/utils.cpp:91
+msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:43
-#, c-format
-msgid ""
-"[This option is currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"The selected option enables the following items:\n"
+#: src/frontend/mame/ui/utils.cpp:92
+msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:44
-#, c-format
-msgid ""
-"[This option is NOT currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"If you select this option, the following items will be enabled:\n"
+#: src/frontend/mame/ui/utils.cpp:93
+msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/utils.cpp:244
+msgid "<set up filters>"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:352
+msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/utils.cpp:503
#, c-format
-msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
-msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:518
+msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %3$d.%4$06d MHz\n"
+#: src/frontend/mame/ui/utils.cpp:520
+msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:959
+msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/utils.cpp:990
+msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/utils.cpp:998
+msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:103
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1032
+msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1037
+msgid "File"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/utils.cpp:1041
+msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
-#, c-format
-msgid " %1$d×%2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1046
+msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1047
+msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:168
-#, c-format
+#: src/frontend/mame/ui/selsoft.cpp:456
msgid ""
-"* BIOS settings:\n"
-" %1$d options [default: %2$s]\n"
+"The selected software is missing one or more required files. Please select a "
+"different software.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:208 src/frontend/mame/ui/devopt.cpp:224
-#: src/frontend/mame/ui/devopt.cpp:269
+#: src/frontend/mame/ui/selsoft.cpp:549
#, c-format
-msgid " %1$s [default: %2$s]\n"
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
+#: src/frontend/mame/ui/selsoft.cpp:550
#, c-format
-msgid " %1$s\n"
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:260
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:419
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/filesel.cpp:515
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:516
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:518
+msgid "Read-write"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
-#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:519
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:520
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:117
+msgid "Cannot save over directory"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:150
+msgid ""
+"The software selected is missing one or more required ROM or CHD images. "
+"Please select a different one."
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:294
+msgid "Return to Machine"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
-#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:299 src/frontend/mame/ui/menu.cpp:301
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+#: src/frontend/mame/ui/menu.cpp:306 src/frontend/mame/ui/menu.cpp:308
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
-#, c-format
-msgid " %1$s [tag: %2$s]\n"
+#: src/frontend/mame/ui/menu.cpp:742
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
+#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:653
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+#: src/frontend/mame/ui/cheatopt.cpp:105
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/cheatopt.cpp:136
+msgid "Autofire Settings"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:581
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:582
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
+#: src/frontend/mame/ui/cheatopt.cpp:273
+msgid "Autofire Status"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
+#: src/frontend/mame/ui/cheatopt.cpp:316
+msgid "No buttons found on this machine!"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+#: src/frontend/mame/ui/cheatopt.cpp:327 src/frontend/mame/ui/cheatopt.cpp:331
+msgid "Autofire Delay"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
-msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
+#: src/frontend/mame/ui/ui.cpp:337
+msgid "This driver requires images to be loaded in the following device(s): "
msgstr ""
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
+#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
+msgid "Keyboard Emulation Status"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
+#: src/frontend/mame/ui/ui.cpp:1086
+msgid "Mode: PARTIAL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
+#: src/frontend/mame/ui/ui.cpp:1087
+msgid "UI: Enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
+#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
+msgid "**Use ScrLock to toggle**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
+#: src/frontend/mame/ui/ui.cpp:1096
+msgid "Mode: FULL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: src/frontend/mame/ui/ui.cpp:1097
+msgid "UI: Disabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
+#: src/frontend/mame/ui/ui.cpp:1249
+msgid "Autofire can't be enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
+#: src/frontend/mame/ui/ui.cpp:1302
+#, c-format
+msgid ""
+"Are you sure you want to quit?\n"
+"\n"
+"Press ''%1$s'' to quit,\n"
+"Press ''%2$s'' to return to emulation."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
+#: src/frontend/mame/ui/ui.cpp:1374
+msgid "Master Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
+#: src/frontend/mame/ui/ui.cpp:1383
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/ui.cpp:1407
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/ui.cpp:1416
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/ui.cpp:1437
+#, c-format
+msgid "%1$s Refresh Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, c-format
+msgid "%1$s Brightness"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1444
+#, c-format
+msgid "%1$s Contrast"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1446
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/ui.cpp:1450
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/ui.cpp:1452
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/ui.cpp:1454
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/ui.cpp:1456
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/ui.cpp:1475
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/ui.cpp:1477
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/ui.cpp:1479
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
-msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+#: src/frontend/mame/ui/ui.cpp:1481
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:198
-msgid ""
-"There are known problems with this machine\n"
-"\n"
+#: src/frontend/mame/ui/ui.cpp:1493
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/ui.cpp:1494
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/ui.cpp:1495
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
+#: src/frontend/mame/ui/ui.cpp:1496
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#: src/frontend/mame/ui/info.cpp:275
+#: src/frontend/mame/ui/ui.cpp:1511
#, c-format
-msgid ", %s"
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
+#: src/frontend/mame/ui/ui.cpp:1513
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:243
-msgid ""
-"This machine was never completed. It may exhibit strange behavior or missing "
-"elements that are not bugs in the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1601
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:245
-msgid ""
-"This machine has no sound hardware, MAME will produce no sounds, this is "
-"expected behaviour.\n"
+#: src/frontend/mame/ui/ui.cpp:1645
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:249
-msgid ""
-"\n"
-"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
-"complete. There is nothing you can do to fix this problem except wait for "
-"the developers to improve the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1661
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:251
-msgid ""
-"\n"
-"Elements of this machine cannot be emulated as they requires physical "
-"interaction or consist of mechanical devices. It is not possible to fully "
-"experience this machine.\n"
+#: src/frontend/mame/ui/ui.cpp:1685
+#, c-format
+msgid "%1$.3ffps"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
+#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
+#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
+#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
+#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
+#: src/frontend/mame/ui/ui.cpp:1927
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
+#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/ui.cpp:2005
#, c-format
-msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/ui.cpp:2226
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " COLORS"
+msgstr ""
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:39
#, c-format
-msgid "%1$s: %2$s\n"
+msgid ""
+"[This option is currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"The selected option enables the following items:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+#: src/frontend/mame/ui/devopt.cpp:40
+#, c-format
+msgid ""
+"[This option is NOT currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"If you select this option, the following items will be enabled:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:48
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
#, c-format
-msgid "Screen '%1$s'"
+msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
+msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:85
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:90
+#, c-format
+msgid " Screen '%1$s': Vector\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:99
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:100
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:113
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:133
+#, c-format
+msgid " %1$d×%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:164
+#, c-format
+msgid ""
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:204 src/frontend/mame/ui/devopt.cpp:220
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
+#: src/frontend/mame/ui/devopt.cpp:209 src/frontend/mame/ui/devopt.cpp:225
#, c-format
-msgid "Software is clone of: %1$-.100s"
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: src/frontend/mame/ui/devopt.cpp:230
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: src/frontend/mame/ui/devopt.cpp:232
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: src/frontend/mame/ui/devopt.cpp:234
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: src/frontend/mame/ui/devopt.cpp:236
+#, c-format
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
+#: src/frontend/mame/ui/devopt.cpp:238
#, c-format
-msgid "romset: %1$-.100s"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
+#: src/frontend/mame/ui/devopt.cpp:240
#, c-format
-msgid "Driver is clone of: %1$-.100s"
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: src/frontend/mame/ui/devopt.cpp:242
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
+#: src/frontend/mame/ui/devopt.cpp:244
#, c-format
-msgid "%1$s %2$s"
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: src/frontend/mame/ui/devopt.cpp:246
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: src/frontend/mame/ui/devopt.cpp:248
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: src/frontend/mame/ui/devopt.cpp:257
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: src/frontend/mame/ui/devopt.cpp:263
+msgid "* Slot Options:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:270
+msgid "[None]\n"
msgstr ""
#: plugins/timer/init.lua:94
@@ -2672,51 +2591,51 @@ msgstr ""
msgid "Timer"
msgstr ""
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:510
msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheat/init.lua:534
+#: plugins/cheat/init.lua:516
msgid "Press button for hotkey or wait to clear"
msgstr ""
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:528
msgid "None"
msgstr ""
-#: plugins/cheat/init.lua:551
+#: plugins/cheat/init.lua:533
msgid "Done"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:547 plugins/cheat/init.lua:561
msgid "Set"
msgstr ""
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:580
msgid "Set hotkeys"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:720
#, lua-format
msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:723 plugins/cheat/init.lua:781
#, lua-format
msgid "Activated: %s"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:785
#, lua-format
msgid "Enabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:790
#, lua-format
msgid "Disabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "%s added"
msgstr ""
@@ -2765,303 +2684,218 @@ msgstr ""
msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:404
+#: plugins/cheatfind/init.lua:373
msgid "Save Cheat"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Default"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Custom"
msgstr ""
-#: plugins/cheatfind/init.lua:408
+#: plugins/cheatfind/init.lua:377
msgid "Cheat Name"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/cheatfind/init.lua:383 plugins/cheatfind/init.lua:748
#, lua-format
msgid "Default name is %s"
msgstr ""
-#: plugins/cheatfind/init.lua:422
+#: plugins/cheatfind/init.lua:391
msgid "Player"
msgstr ""
-#: plugins/cheatfind/init.lua:427
+#: plugins/cheatfind/init.lua:396
msgid "Type"
msgstr ""
-#: plugins/cheatfind/init.lua:433
+#: plugins/cheatfind/init.lua:402
msgid "Save"
msgstr ""
-#: plugins/cheatfind/init.lua:462
+#: plugins/cheatfind/init.lua:429
#, lua-format
msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:472
+#: plugins/cheatfind/init.lua:437
msgid "Cheat added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:442
msgid ""
"Unable to write file\n"
"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/cheatfind/init.lua:486
+#: plugins/cheatfind/init.lua:451
msgid "Cancel"
msgstr ""
-#: plugins/cheatfind/init.lua:491
+#: plugins/cheatfind/init.lua:456
msgid "CPU or RAM"
msgstr ""
-#: plugins/cheatfind/init.lua:495
+#: plugins/cheatfind/init.lua:460
msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:479
+msgid "Data cleared and current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:487
+msgid "Start new search"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:497
+msgid "Current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:504
+msgid "Save current -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
+#: plugins/cheatfind/init.lua:536
#, lua-format
-msgid "Memory State saved to Slot %d"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:543
+msgid "Compare"
msgstr ""
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
+#: plugins/cheatfind/init.lua:546
+msgid "Left operand"
+msgstr ""
+
+#: plugins/cheatfind/init.lua:549
+msgid "Current"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:554
+msgid "Operator"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:561
+msgid "Left less than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:563
+msgid "Left greater than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:676
+#: plugins/cheatfind/init.lua:565
msgid "Left equal to right"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:567
+msgid "Left not equal to right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:680
+#: plugins/cheatfind/init.lua:569
msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:682
+#: plugins/cheatfind/init.lua:571
msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:684
+#: plugins/cheatfind/init.lua:573
msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:686
+#: plugins/cheatfind/init.lua:575
msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:688
+#: plugins/cheatfind/init.lua:577
msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:690
+#: plugins/cheatfind/init.lua:579
msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/cheatfind/init.lua:590
+msgid "Right operand"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/cheatfind/init.lua:598
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:719
+#: plugins/cheatfind/init.lua:602
msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:725
+#: plugins/cheatfind/init.lua:608
msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:738
-msgid ""
-"Use this if you want to poke the Slot 1 value (eg. You started with "
-"something but lost it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:740
-msgid ""
-"Use this if you want to poke the Last Slot value (eg. You started without an "
-"item but finally got it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:816
+#: plugins/cheatfind/init.lua:632
msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:820
+#: plugins/cheatfind/init.lua:636
msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:823
+#: plugins/cheatfind/init.lua:639
msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheatfind/init.lua:690
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Test cheat at addr %08X"
msgstr ""
-#: plugins/cheatfind/init.lua:974
+#: plugins/cheatfind/init.lua:722
msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
+#: plugins/cheatfind/init.lua:788
msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
+#: plugins/cheatfind/init.lua:806
msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
+#: plugins/cheatfind/init.lua:816
msgid "Cheat Finder"
msgstr ""
-#: plugins/portname/init.lua:103
+#: plugins/portname/init.lua:69
msgid "Save input names to file"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
+#: plugins/portname/init.lua:100 plugins/portname/init.lua:105
+#: plugins/portname/init.lua:121
msgid "Failed to save input name file"
msgstr ""
-#: plugins/portname/init.lua:167
+#: plugins/portname/init.lua:133
#, lua-format
msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/portname/init.lua:172
+#: plugins/portname/init.lua:138
msgid "Input ports"
msgstr ""
diff --git a/language/Portuguese/strings.po b/language/Portuguese/strings.po
index 6a185d38dc3..47660a1e21b 100644
--- a/language/Portuguese/strings.po
+++ b/language/Portuguese/strings.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MAME\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-03-17 13:37+1100\n"
+"POT-Creation-Date: 2018-04-28 15:32+1000\n"
"PO-Revision-Date: 2017-10-26 22:51+0100\n"
"Last-Translator: pmos69\n"
"Language-Team: MAME Language Team\n"
@@ -17,61 +17,238 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
+#: src/frontend/mame/ui/auditmenu.cpp:96
#, c-format
-msgid "Screen #%d"
-msgstr "Ecrã #%d"
+msgid "Audit ROMs for %1$u machines marked unavailable?"
+msgstr "Auditar ROMs de %1$u máquinas marcadas como indisponíveis?"
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr "Rodar"
+#: src/frontend/mame/ui/auditmenu.cpp:99
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
+msgstr "Auditar ROMs de todas as %1$u máquinas?"
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr "Fundos"
+#: src/frontend/mame/ui/auditmenu.cpp:104
+#, c-format
+msgid "(results will be saved to %1$s)"
+msgstr "(os resultados serão gravados em %1$s)"
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Enabled"
-msgstr "Activo"
+#: src/frontend/mame/ui/auditmenu.cpp:130
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
+msgstr ""
+"Auditando ROMs da máquina %2$u de %3$u...\n"
+"%1$s"
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Disabled"
-msgstr "Desactivado"
+#: src/frontend/mame/ui/auditmenu.cpp:142
+msgid "Start Audit"
+msgstr "Começar Audit"
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr "Sobreposições"
+#: src/frontend/mame/ui/selmenu.cpp:49 src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Snapshots"
+msgstr "Snapshots"
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr "Molduras"
+#: src/frontend/mame/ui/selmenu.cpp:50 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cabinets"
+msgstr "Armários Arcade"
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+#: src/frontend/mame/ui/selmenu.cpp:51
+msgid "Control Panels"
msgstr "Painéis de Controlo"
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
+#: src/frontend/mame/ui/selmenu.cpp:52 src/frontend/mame/ui/dirmenu.cpp:50
+msgid "PCBs"
+msgstr "Placas Mãe"
+
+#: src/frontend/mame/ui/selmenu.cpp:53 src/frontend/mame/ui/dirmenu.cpp:47
+msgid "Flyers"
+msgstr "Folhetos"
+
+#: src/frontend/mame/ui/selmenu.cpp:54 src/frontend/mame/ui/dirmenu.cpp:48
+msgid "Titles"
+msgstr "Ecrãs Iniciais"
+
+#: src/frontend/mame/ui/selmenu.cpp:55 src/frontend/mame/ui/dirmenu.cpp:49
+msgid "Ends"
+msgstr "Traseiras"
+
+#: src/frontend/mame/ui/selmenu.cpp:56
+msgid "Artwork Preview"
+msgstr "Pré-Visualização da Artwork"
+
+#: src/frontend/mame/ui/selmenu.cpp:57 src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Bosses"
+msgstr "Bosses"
+
+#: src/frontend/mame/ui/selmenu.cpp:58 src/frontend/mame/ui/dirmenu.cpp:60
+msgid "Logos"
+msgstr "Logos"
+
+#: src/frontend/mame/ui/selmenu.cpp:59 src/frontend/mame/ui/dirmenu.cpp:62
+msgid "Versus"
+msgstr "Versus"
+
+#: src/frontend/mame/ui/selmenu.cpp:60
+msgid "Game Over"
+msgstr "Fim de Jogo"
+
+#: src/frontend/mame/ui/selmenu.cpp:61 src/frontend/mame/ui/dirmenu.cpp:59
+msgid "HowTo"
+msgstr "Como Fazer"
+
+#: src/frontend/mame/ui/selmenu.cpp:62 src/frontend/mame/ui/dirmenu.cpp:61
+msgid "Scores"
+msgstr "Placares"
+
+#: src/frontend/mame/ui/selmenu.cpp:63 src/frontend/mame/ui/dirmenu.cpp:57
+msgid "Select"
+msgstr "Selecção"
+
+#: src/frontend/mame/ui/selmenu.cpp:64 src/frontend/mame/ui/dirmenu.cpp:51
+#: src/frontend/mame/ui/videoopt.cpp:224
msgid "Marquees"
msgstr "Tabuletas"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
-msgstr "Vista"
+#: src/frontend/mame/ui/selmenu.cpp:65 src/frontend/mame/ui/dirmenu.cpp:63
+msgid "Covers"
+msgstr "Capas"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
-msgstr "Cortada"
+#: src/frontend/mame/ui/selmenu.cpp:69
+msgid "Add or remove favorites"
+msgstr "Adicionar ou remover favoritos"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
-msgstr "Completa"
+#: src/frontend/mame/ui/selmenu.cpp:70
+msgid "Export displayed list to file"
+msgstr "Exportar lista visível para ficheiro"
+
+#: src/frontend/mame/ui/selmenu.cpp:71
+msgid "Show DATs view"
+msgstr "Exibir visualização de DATs"
+
+#: src/frontend/mame/ui/selmenu.cpp:237
+msgid "Software part selection:"
+msgstr "Selecção de Item de Software:"
+
+#: src/frontend/mame/ui/selmenu.cpp:343
+msgid "BIOS selection:"
+msgstr "Selecção de BIOS:"
+
+#: src/frontend/mame/ui/selmenu.cpp:570 src/frontend/mame/ui/selmenu.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:311
+#, c-format
+msgid "%1$s, %2$-.100s"
+msgstr "%1$s, %2$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:574
+#, c-format
+msgid "Software is clone of: %1$-.100s"
+msgstr "O Software é clone de: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:576
+msgid "Software is parent"
+msgstr "O Software é original"
+
+#: src/frontend/mame/ui/selmenu.cpp:581
+msgid "Supported: No"
+msgstr "Suportado: Não"
+
+#: src/frontend/mame/ui/selmenu.cpp:586
+msgid "Supported: Partial"
+msgstr "Suportado: Parcial"
+
+#: src/frontend/mame/ui/selmenu.cpp:591
+msgid "Supported: Yes"
+msgstr "Suportado: Sim"
+
+#: src/frontend/mame/ui/selmenu.cpp:596
+#, c-format
+msgid "romset: %1$-.100s"
+msgstr "romset: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:612
+#, c-format
+msgid "Driver is clone of: %1$-.100s"
+msgstr "O Driver é clone de: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:614
+msgid "Driver is parent"
+msgstr "O Driver é original"
+
+#: src/frontend/mame/ui/selmenu.cpp:619
+#: src/frontend/mame/ui/simpleselgame.cpp:330
+msgid "Overall: NOT WORKING"
+msgstr "Global: NÃO FUNCIONA"
+
+#: src/frontend/mame/ui/selmenu.cpp:621
+#: src/frontend/mame/ui/simpleselgame.cpp:332
+msgid "Overall: Unemulated Protection"
+msgstr "Global: Proteção Não Emulada"
+
+#: src/frontend/mame/ui/selmenu.cpp:623
+#: src/frontend/mame/ui/simpleselgame.cpp:334
+msgid "Overall: Working"
+msgstr "Global: Funcional"
+
+#: src/frontend/mame/ui/selmenu.cpp:627
+#: src/frontend/mame/ui/simpleselgame.cpp:338
+msgid "Graphics: Unimplemented, "
+msgstr "Gráficos: Não Implementados, "
+
+#: src/frontend/mame/ui/selmenu.cpp:629
+#: src/frontend/mame/ui/simpleselgame.cpp:340
+msgid "Graphics: Imperfect, "
+msgstr "Gráficos: Imperfeitos, "
+
+#: src/frontend/mame/ui/selmenu.cpp:631
+#: src/frontend/mame/ui/simpleselgame.cpp:342
+msgid "Graphics: OK, "
+msgstr "Gráficos: OK, "
+
+#: src/frontend/mame/ui/selmenu.cpp:634
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+msgid "Sound: None"
+msgstr "Som: Sem Som"
+
+#: src/frontend/mame/ui/selmenu.cpp:636
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+msgid "Sound: Unimplemented"
+msgstr "Som: Não Implementado"
+
+#: src/frontend/mame/ui/selmenu.cpp:638
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+msgid "Sound: Imperfect"
+msgstr "Som: Imperfeito"
+
+#: src/frontend/mame/ui/selmenu.cpp:640
+#: src/frontend/mame/ui/simpleselgame.cpp:351
+msgid "Sound: OK"
+msgstr "Som: OK"
+
+#: src/frontend/mame/ui/selmenu.cpp:650
+#, c-format
+msgid "%1$s %2$s"
+msgstr "%1$s %2$s"
+
+#: src/frontend/mame/ui/selmenu.cpp:1975
+msgid "Images"
+msgstr "Imagens"
+
+#: src/frontend/mame/ui/selmenu.cpp:1976
+msgid "Infos"
+msgstr "Infos"
+
+#: src/frontend/mame/ui/selmenu.cpp:2386 src/frontend/mame/ui/miscmenu.cpp:826
+msgid " (default)"
+msgstr "(padrão)"
+
+#: src/frontend/mame/ui/selmenu.cpp:2454
+msgid "Usage"
+msgstr "Utilização"
+
+#: src/frontend/mame/ui/selmenu.cpp:2489
+msgid "General Info"
+msgstr "Info Geral"
#: src/frontend/mame/ui/dirmenu.cpp:35
msgid "ROMs"
@@ -113,30 +290,6 @@ msgstr "Ãcones"
msgid "Cheats"
msgstr "Cheats"
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
-msgstr "Snapshots"
-
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
-msgstr "Armários Arcade"
-
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
-msgstr "Folhetos"
-
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
-msgstr "Ecrãs Iniciais"
-
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
-msgstr "Traseiras"
-
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
-msgstr "Placas Mãe"
-
#: src/frontend/mame/ui/dirmenu.cpp:52
msgid "Controls Panels"
msgstr "Painéis de Controlo"
@@ -149,42 +302,14 @@ msgstr "Miras"
msgid "Artworks"
msgstr "Artworks"
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
-msgstr "Bosses"
-
#: src/frontend/mame/ui/dirmenu.cpp:56
msgid "Artworks Preview"
msgstr "Amostra de Artworks"
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
-msgstr "Selecção"
-
#: src/frontend/mame/ui/dirmenu.cpp:58
msgid "GameOver"
msgstr "Fim do Jogo"
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
-msgstr "Como Fazer"
-
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
-msgstr "Logos"
-
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
-msgstr "Placares"
-
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
-msgstr "Versus"
-
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
-msgstr "Capas"
-
#: src/frontend/mame/ui/dirmenu.cpp:116
msgid "Folders Setup"
msgstr "Configurar Pastas"
@@ -225,14 +350,275 @@ msgstr "Pressione TAB para definir"
msgid "Remove %1$s Folder"
msgstr "Remover Pasta %1$s"
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
-msgstr "Lista de Seleção - Procurar: "
+#: src/frontend/mame/ui/info.cpp:30
+msgid "protection"
+msgstr "protecção"
+
+#: src/frontend/mame/ui/info.cpp:31
+msgid "color palette"
+msgstr "paleta de cores"
+
+#: src/frontend/mame/ui/info.cpp:32
+msgid "graphics"
+msgstr "gráficos"
+
+#: src/frontend/mame/ui/info.cpp:33
+msgid "sound"
+msgstr "som"
+
+#: src/frontend/mame/ui/info.cpp:34
+msgid "controls"
+msgstr "controlos"
+
+#: src/frontend/mame/ui/info.cpp:35
+msgid "keyboard"
+msgstr "teclado"
+
+#: src/frontend/mame/ui/info.cpp:36
+msgid "mouse"
+msgstr "rato"
+
+#: src/frontend/mame/ui/info.cpp:37
+msgid "microphone"
+msgstr "microfone"
+
+#: src/frontend/mame/ui/info.cpp:38
+msgid "camera"
+msgstr "câmara"
+
+#: src/frontend/mame/ui/info.cpp:39
+msgid "disk"
+msgstr "disco"
+
+#: src/frontend/mame/ui/info.cpp:40
+msgid "printer"
+msgstr "impressora"
+
+#: src/frontend/mame/ui/info.cpp:41
+msgid "LAN"
+msgstr "rede local"
+
+#: src/frontend/mame/ui/info.cpp:42
+msgid "WAN"
+msgstr "WAN"
+
+#: src/frontend/mame/ui/info.cpp:43
+msgid "timing"
+msgstr "temporização"
+
+#: src/frontend/mame/ui/info.cpp:180
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
+msgstr ""
+"Uma ou mais ROMs/CHDs para esta máquina estão incorretas. A máquina poderá "
+"não funcionar corretamente.\n"
+
+#: src/frontend/mame/ui/info.cpp:190
+msgid ""
+"There are known problems with this machine\n"
+"\n"
+msgstr ""
+"Existem problemas conhecidos com esta máquina\n"
+"\n"
+
+#: src/frontend/mame/ui/info.cpp:195
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+msgstr ""
+"Uma ou mais ROMs/CHDs para esta máquina não foram corretamente "
+"descarregadas.\n"
+
+#: src/frontend/mame/ui/info.cpp:200
+msgid "Completely unemulated features: "
+msgstr "Funcionalidades não emuladas: "
-#: src/frontend/mame/ui/selector.cpp:123
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
#, c-format
-msgid "Double click or press %1$s to select"
-msgstr "Clique duas vezes ou pressione %1$s para selecionar"
+msgid "%s"
+msgstr "%s"
+
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#: src/frontend/mame/ui/info.cpp:267
+#, c-format
+msgid ", %s"
+msgstr ", %s"
+
+#: src/frontend/mame/ui/info.cpp:216
+msgid "Imperfectly emulated features: "
+msgstr "Funcionalidades emuladas de forma imperfeita: "
+
+#: src/frontend/mame/ui/info.cpp:231
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr "Inversão de ecrã não é suportada em modo cocktail.\n"
+
+#: src/frontend/mame/ui/info.cpp:233
+msgid "This machine requires external artwork files.\n"
+msgstr "Esta máquina requer ficheiros de artwork externos.\n"
+
+#: src/frontend/mame/ui/info.cpp:235
+msgid ""
+"This machine was never completed. It may exhibit strange behavior or missing "
+"elements that are not bugs in the emulation.\n"
+msgstr ""
+"Esta máquina não foi acabada. Poderá ter um comportamento estranho ou "
+"elementos em falta que não são bugs na emulação.\n"
+
+#: src/frontend/mame/ui/info.cpp:237
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
+msgstr ""
+"Esta máquina não tem hardware de som. O MAME não irá produzir som. Isto é o "
+"comportamento esperado.\n"
+
+#: src/frontend/mame/ui/info.cpp:241
+msgid ""
+"\n"
+"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
+"complete. There is nothing you can do to fix this problem except wait for "
+"the developers to improve the emulation.\n"
+msgstr ""
+"ESTA MÃQUINA NÃO FUNCIONA. A emulação desta máquina ainda não está completa. "
+"Não há nada que possa fazer para corrigir isto excepto aguardar que os "
+"programadores melhorem a emulação.\n"
+
+#: src/frontend/mame/ui/info.cpp:243
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they requires physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
+msgstr ""
+"Elementos desta máquina não podem ser emulados pois necessitam de interacção "
+"física ou consistem em dispositivos mecânicos. Não é possível ter uma "
+"experiência completa com esta máquina.\n"
+
+#: src/frontend/mame/ui/info.cpp:265
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
+msgstr ""
+"\n"
+"\n"
+"Existem clones funcionais desta máquina: %s"
+
+#: src/frontend/mame/ui/info.cpp:278
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+"\n"
+"\n"
+"Pressione qualquer tecla para continuar"
+
+#: src/frontend/mame/ui/info.cpp:293
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
+msgstr ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
+
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "MHz"
+msgstr "MHz"
+
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "kHz"
+msgstr "kHz"
+
+#: src/frontend/mame/ui/info.cpp:342
+msgid ""
+"\n"
+"Sound:\n"
+msgstr ""
+"\n"
+"Som:\n"
+
+#: src/frontend/mame/ui/info.cpp:370
+msgid ""
+"\n"
+"Video:\n"
+msgstr ""
+"\n"
+"Video:\n"
+
+#: src/frontend/mame/ui/info.cpp:374
+msgid "None\n"
+msgstr "Nenhum\n"
+
+#: src/frontend/mame/ui/info.cpp:381
+msgid "Vector"
+msgstr "Vetorial"
+
+#: src/frontend/mame/ui/info.cpp:392
+#, c-format
+msgid "%1$s: %2$s\n"
+msgstr "%1$s: %2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:392
+msgid "%2$s\n"
+msgstr "%2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:438
+#, c-format
+msgid "Screen '%1$s'"
+msgstr "Ecrã '%1$s'"
+
+#: src/frontend/mame/ui/info.cpp:440
+msgid "Screen"
+msgstr "Ecrã"
+
+#: src/frontend/mame/ui/info.cpp:525
+msgid "Not supported"
+msgstr "Não suportado"
+
+#: src/frontend/mame/ui/info.cpp:528
+msgid "Partially supported"
+msgstr "Parcialmente suportado"
+
+#: src/frontend/mame/ui/info.cpp:536
+msgid "[empty]"
+msgstr "[vazio]"
+
+#: src/frontend/mame/ui/optsmenu.cpp:193
+msgid "Filter"
+msgstr "Filtro"
+
+#: src/frontend/mame/ui/optsmenu.cpp:206
+msgid "Customize UI"
+msgstr "Personalizar Interface"
+
+#: src/frontend/mame/ui/optsmenu.cpp:207
+msgid "Configure Directories"
+msgstr "Configurar Pastas"
+
+#: src/frontend/mame/ui/optsmenu.cpp:210 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
+msgstr "Opções de Som"
+
+#: src/frontend/mame/ui/optsmenu.cpp:213
+msgid "General Inputs"
+msgstr "Inputs Gerais"
+
+#: src/frontend/mame/ui/optsmenu.cpp:216
+msgid "Save Configuration"
+msgstr "Gravar Configuração"
+
+#: src/frontend/mame/ui/optsmenu.cpp:228
+msgid "Settings"
+msgstr "Configurações"
#: src/frontend/mame/ui/tapectrl.cpp:85
msgid "stopped"
@@ -274,8 +660,30 @@ msgstr "Rebobinar"
msgid "Fast Forward"
msgstr "Avanço Rápido"
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
-#: src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/inputmap.cpp:53
+msgid "User Interface"
+msgstr "Interface do Utilizador"
+
+#: src/frontend/mame/ui/inputmap.cpp:59
+msgid "Other Controls"
+msgstr "Outros Controlos"
+
+#: src/frontend/mame/ui/inputmap.cpp:628 src/frontend/mame/ui/miscmenu.cpp:96
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr "Reiniciar"
+
+#: src/frontend/mame/ui/selector.cpp:116
+msgid "Selection List - Search: "
+msgstr "Lista de Seleção - Procurar: "
+
+#: src/frontend/mame/ui/selector.cpp:124
+#, c-format
+msgid "Double click or press %1$s to select"
+msgstr "Clique duas vezes ou pressione %1$s para selecionar"
+
+#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/filesel.cpp:256
msgid "[empty slot]"
msgstr "[slot vazio]"
@@ -316,182 +724,6 @@ msgstr "Utilização de Software"
msgid "Revision: "
msgstr "Revisão: "
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
-msgstr "Ficheiro Já Existente - Sobrepor?"
-
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
-msgstr "Não"
-
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
-msgstr "Sim"
-
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
-msgstr "Novo Nome da Imagem:"
-
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
-msgstr "Formato da Imagem:"
-
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
-msgstr "Criar"
-
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
-msgstr "Por favor digite também uma extensão para o ficheiro"
-
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
-msgstr "Seleccione o formato da imagem"
-
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
-msgstr "Input (geral)"
-
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
-msgstr "Input (esta Máquina)"
-
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
-msgstr "Controlos Analógicos"
-
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
-msgstr "Dip Switches"
-
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
-msgstr "Configuração da Máquina"
-
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
-msgstr "Info de Contabilidade"
-
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
-msgstr "Informação da Máquina"
-
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
-msgstr "Informação da Imagem"
-
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
-msgstr "Gestôr de Ficheiros"
-
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
-msgstr "Controle da Cassete"
-
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
-msgstr "Pseudo terminais"
-
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
-msgstr "Selecção de BIOS"
-
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
-msgstr "Dispositivos de Slot"
-
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
-msgstr "Leitor de Código de Barras"
-
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
-msgstr "Dispositivos de Rede"
-
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
-msgstr "Modo do Teclado"
-
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
-msgstr "Controlos Deslizantes"
-
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
-msgstr "Opções de Video"
-
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
-msgstr "Opções de Miras"
-
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
-msgstr "Cheat"
-
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
-msgstr "Opções de Plugins"
-
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
-msgstr "Visualização de DAT Externa"
-
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
-msgstr "Adicionar aos Favoritos"
-
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
-msgstr "Remover dos Favoritos"
-
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
-msgstr "Seleccionar Nova Máquina"
-
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
-msgstr "Novo Código de Barras:"
-
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
-msgstr "Introduza o Código"
-
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
-msgstr "Tamanho de código de barras inválido!"
-
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
-msgstr "[falhou]"
-
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
-msgstr "Opções de Som"
-
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
-msgstr "Inputs Gerais"
-
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
-msgstr "Gravar Configuração"
-
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
-msgstr "Configurações"
-
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
-msgstr "Filtro"
-
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
-msgstr "Personalizar Interface"
-
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
-msgstr "Configurar Pastas"
-
#: src/frontend/mame/ui/simpleselgame.cpp:149
msgid ""
"The selected game is missing one or more required ROM or CHD images. Please "
@@ -504,7 +736,7 @@ msgstr ""
"\n"
"Pressione qualquer tecla para continuar."
-#: src/frontend/mame/ui/simpleselgame.cpp:247
+#: src/frontend/mame/ui/simpleselgame.cpp:241
#, c-format
msgid ""
"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
@@ -518,329 +750,198 @@ msgstr ""
"Se esta é a sua primeira vez que usa %2$s, por favor veja o ficheiro config."
"txt no diretório docs para informação sobre a configuração de %2$s."
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:271
+#: src/frontend/mame/ui/selgame.cpp:436
msgid "Configure Options"
msgstr "Configurar Opções"
-#: src/frontend/mame/ui/simpleselgame.cpp:298
+#: src/frontend/mame/ui/simpleselgame.cpp:292
#, c-format
msgid "Type name or select: %1$s_"
msgstr "Digite o nome ou selecione: %1$s_"
-#: src/frontend/mame/ui/simpleselgame.cpp:300
+#: src/frontend/mame/ui/simpleselgame.cpp:294
msgid "Type name or select: (random)"
msgstr "Digite o nome ou selecione: (aleatório)"
-#: src/frontend/mame/ui/simpleselgame.cpp:314
-#: src/frontend/mame/ui/selsoft.cpp:652 src/frontend/mame/ui/selsoft.cpp:659
+#: src/frontend/mame/ui/simpleselgame.cpp:308
+#: src/frontend/mame/ui/selsoft.cpp:564 src/frontend/mame/ui/selsoft.cpp:571
#, c-format
msgid "%1$-.100s"
msgstr "%1$-.100s"
-#: src/frontend/mame/ui/simpleselgame.cpp:317
-#: src/frontend/mame/ui/selmenu.cpp:618 src/frontend/mame/ui/selmenu.cpp:654
-#, c-format
-msgid "%1$s, %2$-.100s"
-msgstr "%1$s, %2$-.100s"
-
-#: src/frontend/mame/ui/simpleselgame.cpp:320
+#: src/frontend/mame/ui/simpleselgame.cpp:314
#, c-format
msgid "Driver: %1$-.100s"
msgstr "Driver: %1$-.100s"
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
-msgstr "Global: NÃO FUNCIONA"
+#: src/frontend/mame/ui/videoopt.cpp:56
+#, c-format
+msgid "Screen #%d"
+msgstr "Ecrã #%d"
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
-msgstr "Global: Proteção Não Emulada"
+#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
+msgid "Rotate"
+msgstr "Rodar"
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
-msgstr "Global: Funcional"
+#: src/frontend/mame/ui/videoopt.cpp:208
+msgid "Backdrops"
+msgstr "Fundos"
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
-msgstr "Gráficos: Não Implementados, "
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Enabled"
+msgstr "Activo"
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
-msgstr "Gráficos: Imperfeitos, "
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Disabled"
+msgstr "Desactivado"
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
-msgstr "Gráficos: OK, "
+#: src/frontend/mame/ui/videoopt.cpp:212
+msgid "Overlays"
+msgstr "Sobreposições"
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
-msgstr "Som: Sem Som"
+#: src/frontend/mame/ui/videoopt.cpp:216
+msgid "Bezels"
+msgstr "Molduras"
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
-msgstr "Som: Não Implementado"
+#: src/frontend/mame/ui/videoopt.cpp:220
+msgid "CPanels"
+msgstr "Painéis de Controlo"
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
-msgstr "Som: Imperfeito"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "View"
+msgstr "Vista"
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
-msgstr "Som: OK"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cropped"
+msgstr "Cortada"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
-msgstr "Carregar Estado"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Full"
+msgstr "Completa"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
-msgstr "Seleccione possição do carregamento"
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
+msgstr "Ficheiro Já Existente - Sobrepor?"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
-msgstr "Gravar Estado"
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1047
+msgid "No"
+msgstr "Não"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
-msgstr "Seleccione posição de gravação"
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1047
+msgid "Yes"
+msgstr "Sim"
-#: src/frontend/mame/ui/ui.cpp:337
-msgid "This driver requires images to be loaded in the following device(s): "
-msgstr ""
-"Este driver necessita de imagens carregadas no(s) seguinte(s) "
-"dispositivo(s): "
+#: src/frontend/mame/ui/filecreate.cpp:171
+msgid "New Image Name:"
+msgstr "Novo Nome da Imagem:"
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
-msgstr "Estado da Emulação de Teclado"
+#: src/frontend/mame/ui/filecreate.cpp:177
+msgid "Image Format:"
+msgstr "Formato da Imagem:"
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
-msgstr "Modo: Emulação PARCIAL"
+#: src/frontend/mame/ui/filecreate.cpp:183
+msgid "Create"
+msgstr "Criar"
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
-msgstr "Interface: Activa"
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr "Por favor digite também uma extensão para o ficheiro"
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
-msgstr "**Use ScrLock para alternar**"
+#: src/frontend/mame/ui/filecreate.cpp:266
+msgid "Select image format"
+msgstr "Seleccione o formato da imagem"
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
-msgstr "Modo: Emulação COMPLETA"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Keyboard Mode:"
+msgstr "Modo de Teclado:"
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
-msgstr "Interface: Desactivada"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Natural"
+msgstr "Natural"
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
-msgstr "Auto-disparo não pode ser ativado"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Emulated"
+msgstr "Emulado"
-#: src/frontend/mame/ui/ui.cpp:1302
+#: src/frontend/mame/ui/miscmenu.cpp:236
#, c-format
msgid ""
-"Are you sure you want to quit?\n"
+"Uptime: %1$d:%2$02d:%3$02d\n"
"\n"
-"Press ''%1$s'' to quit,\n"
-"Press ''%2$s'' to return to emulation."
msgstr ""
-"Tem a certeza que deseja sair?\n"
+"Tempo de execução: %1$d:%2$02d:%3$02d\n"
"\n"
-"Pressione ''%1$s'' para sair,\n"
-"Pressione ''%2$s'' para voltar à emulação."
-
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
-msgstr "Volume Global"
-
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
-msgstr "%1$s Volume"
-
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
-msgstr "Overclock CPU %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
-msgstr "Overclock %1$s som"
-
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
-msgstr "Taxa de refrescamento do %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
-msgstr "Brilho do %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
-msgstr "Contraste do %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
-msgstr "Gama do %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
-msgstr "Extensão Horizontal do %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
-msgstr "Posição Horizontal do %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
-msgstr "Extensão Vertical do %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
-msgstr "Posição Vertical do %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
-msgstr "Extensão Horizontal do Laserdisc '%1$s'"
-
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
-msgstr "Posição Horizontal do Laserdisc '%1$s'"
-
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
-msgstr "Extensão Vertical do Laserdisc '%1$s'"
-
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr "Posição Vertical do Laserdisc '%1$s'"
-
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
-msgstr "Cintilação Vetorial"
-
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
-msgstr "Largura Mínima do Feixe de Luz"
-
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
-msgstr "Largura Máxixa do Feixe de Luz"
-
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
-msgstr "Peso da Intensidade do Feixe"
-#: src/frontend/mame/ui/ui.cpp:1511
+#: src/frontend/mame/ui/miscmenu.cpp:238
#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr "Escala da Mira %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
-msgstr "X"
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
-msgstr "Y"
-
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
-msgstr "Ajuste da Mira %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
-msgstr "%1$3ddB"
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
+msgstr ""
+"Tempo de execução: %1$d:%2$02d\n"
+"\n"
-#: src/frontend/mame/ui/ui.cpp:1645
+#: src/frontend/mame/ui/miscmenu.cpp:242
#, c-format
-msgid "%1$d%%"
-msgstr "%1$d%%"
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
+msgstr ""
+"Tickets emitidos: %1$d\n"
+"\n"
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
-msgstr "%1$3.0f%%"
+#: src/frontend/mame/ui/miscmenu.cpp:253
+msgid "Coin %1$c: NA%3$s\n"
+msgstr "Moeda %1$c: NA%3$s\n"
-#: src/frontend/mame/ui/ui.cpp:1685
+#: src/frontend/mame/ui/miscmenu.cpp:253
#, c-format
-msgid "%1$.3ffps"
-msgstr "%1$.3ffps"
+msgid "Coin %1$c: %2$d%3$s\n"
+msgstr "Moeda %1$c: %2$d%3$s\n"
-#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
-#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
-#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
-#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
-#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
-#: src/frontend/mame/ui/ui.cpp:1927
-#, c-format
-msgid "%1$.3f"
-msgstr "%1$.3f"
+#: src/frontend/mame/ui/miscmenu.cpp:256
+msgid " (locked)"
+msgstr " (travado)"
-#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
-#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
-#, c-format
-msgid "%1$1.2f"
-msgstr "%1$1.2f"
+#: src/frontend/mame/ui/miscmenu.cpp:503
+msgid "Visible Delay"
+msgstr "Atraso Visível"
-#: src/frontend/mame/ui/ui.cpp:2005
+#: src/frontend/mame/ui/miscmenu.cpp:601
#, c-format
-msgid "Crosshair Scale X %1$1.3f"
-msgstr "Escala X da Mira %1$1.3f"
+msgid "%s.xml saved under ui folder."
+msgstr "%s.xml gravado na pasta de interface."
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
-msgstr "Escala Y da Mira %1$1.3f"
+#: src/frontend/mame/ui/miscmenu.cpp:627
+msgid "Name: Description:\n"
+msgstr "Nome: Descrição:\n"
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/miscmenu.cpp:638
#, c-format
-msgid "Crosshair Offset X %1$1.3f"
-msgstr "Ajuste X da Mira %1$1.3f"
+msgid "%s.txt saved under ui folder."
+msgstr "%s.txt na pasta de interface."
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
-msgstr "Ajuste Y da Mira %1$1.3f"
+#: src/frontend/mame/ui/miscmenu.cpp:655
+msgid "Export list in XML format (like -listxml)"
+msgstr "Exportar lista em formato XML (como -listxml)"
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
-msgstr "**Erro ao gravar ui.ini**"
+#: src/frontend/mame/ui/miscmenu.cpp:656
+msgid "Export list in XML format (like -listxml, but exclude devices)"
+msgstr ""
+"Exportar lista em formato XML (como -listxml, mas excluindo dispositivos)"
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
-msgstr "**Erro ao gravar %s.ini**"
+#: src/frontend/mame/ui/miscmenu.cpp:657
+msgid "Export list in TXT format (like -listfull)"
+msgstr "Exportar lista em formato TXT (como -listfull)"
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/miscmenu.cpp:710 src/frontend/mame/ui/ui.cpp:2230
msgid ""
"\n"
" Configuration saved \n"
@@ -850,339 +951,160 @@ msgstr ""
" Configuração gravada \n"
"\n"
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
-msgid ""
-"Cheat Comment:\n"
-"%s"
-msgstr ""
-"Comentário de Cheat:\n"
-"%s"
-
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
-msgstr "Todos os cheats recarregados"
-
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
-msgstr "Configurações de Auto-disparo"
-
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
-msgstr "Reiniciar Tudo"
-
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
-msgstr "Recarregar Tudo"
-
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
-msgstr "Estado do Auto-disparo"
-
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
-msgstr "Não foram encontrados botões nesta máquina!"
-
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
-msgstr "Atraso do Auto-disparo"
-
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
-#, c-format
-msgid ""
-"%s\n"
-" added to favorites list."
-msgstr ""
-"%s\n"
-" adicionado à lista de favoritos."
-
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
-#, c-format
-msgid ""
-"%s\n"
-" removed from favorites list."
-msgstr ""
-"%s\n"
-" removido da lista de favoritos."
-
-#: src/frontend/mame/ui/selsoft.cpp:507
-msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
-"\n"
-msgstr ""
-"O software selecionado tem um ou mais ficheiros em falta. Por favor "
-"selecione um software diferente.\n"
-"\n"
-
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
-msgstr "Pressione qualquer tecla para continuar"
-
-#: src/frontend/mame/ui/selsoft.cpp:637
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
-msgstr "%1$s %2$s ( %3$d / %4$d pacotes de software )"
-
-#: src/frontend/mame/ui/selsoft.cpp:638
-#, c-format
-msgid "Driver: \"%1$s\" software list "
-msgstr "Driver: \"%1$s\" lista de software "
-
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
-#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
-msgstr "%1$s: %2$s - Procura: %3$s_"
-
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
-#, c-format
-msgid "Search: %1$s_"
-msgstr "Procura: %1$s_"
-
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
-msgid "Unfiltered"
-msgstr "Não filtrado"
-
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
-msgid "Available"
-msgstr "Disponível"
-
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
-msgid "Unavailable"
-msgstr "Não disponível"
-
-#: src/frontend/mame/ui/utils.cpp:63
-msgid "Working"
-msgstr "Funcional"
-
-#: src/frontend/mame/ui/utils.cpp:64
-msgid "Not Working"
-msgstr "Não Funcional"
-
-#: src/frontend/mame/ui/utils.cpp:65
-msgid "Mechanical"
-msgstr "Mecânico"
-
-#: src/frontend/mame/ui/utils.cpp:66
-msgid "Not Mechanical"
-msgstr "Não Mecânico"
-
-#: src/frontend/mame/ui/utils.cpp:67
-msgid "Category"
-msgstr "Categoria"
-
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
-msgid "Favorites"
-msgstr "Favoritos"
-
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/miscmenu.cpp:760 src/frontend/mame/ui/utils.cpp:66
msgid "BIOS"
msgstr "BIOS"
-#: src/frontend/mame/ui/utils.cpp:70
-msgid "Not BIOS"
-msgstr "Não BIOS"
-
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
-msgid "Parents"
-msgstr "Originais"
-
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
-msgid "Clones"
-msgstr "Clones"
-
-#: src/frontend/mame/ui/utils.cpp:73
-msgid "Manufacturer"
-msgstr "Fabricante"
-
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
-msgid "Year"
-msgstr "Ano"
-
-#: src/frontend/mame/ui/utils.cpp:75
-msgid "Save Supported"
-msgstr "Gravação Suportada"
-
-#: src/frontend/mame/ui/utils.cpp:76
-msgid "Save Unsupported"
-msgstr "Gravação Não Suportada"
-
-#: src/frontend/mame/ui/utils.cpp:77
-msgid "CHD Required"
-msgstr "Requer CHD"
-
-#: src/frontend/mame/ui/utils.cpp:78
-msgid "No CHD Required"
-msgstr "Não Requer CHD"
-
-#: src/frontend/mame/ui/utils.cpp:79
-msgid "Vertical Screen"
-msgstr "Ecrã Vertical"
-
-#: src/frontend/mame/ui/utils.cpp:80
-msgid "Horizontal Screen"
-msgstr "Ecrã Horizontal"
-
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
-msgid "Custom Filter"
-msgstr "Filtro Personalizado"
-
-#: src/frontend/mame/ui/utils.cpp:91
-msgid "Publisher"
-msgstr "Editor"
-
-#: src/frontend/mame/ui/utils.cpp:92
-msgid "Supported"
-msgstr "Suportado"
+#: src/frontend/mame/ui/miscmenu.cpp:764
+msgid "Driver"
+msgstr "Driver"
-#: src/frontend/mame/ui/utils.cpp:93
-msgid "Partially Supported"
-msgstr "Parcialmente Suportado"
+#: src/frontend/mame/ui/miscmenu.cpp:767
+msgid "This machine has no BIOS."
+msgstr "Esta máquina não tem BIOS."
-#: src/frontend/mame/ui/utils.cpp:94
-msgid "Unsupported"
-msgstr "Não Suportado"
+#: src/frontend/mame/ui/miscmenu.cpp:776 src/frontend/mame/ui/mainmenu.cpp:145
+msgid "Add To Favorites"
+msgstr "Adicionar aos Favoritos"
-#: src/frontend/mame/ui/utils.cpp:95
-msgid "Release Region"
-msgstr "Região do Lançamento"
+#: src/frontend/mame/ui/miscmenu.cpp:778 src/frontend/mame/ui/mainmenu.cpp:147
+msgid "Remove From Favorites"
+msgstr "Remover dos Favoritos"
-#: src/frontend/mame/ui/utils.cpp:96
-msgid "Device Type"
-msgstr "Tipo de Dispositivo"
+#: src/frontend/mame/ui/miscmenu.cpp:781
+msgid "Save machine configuration"
+msgstr "Gravar configuração da máquina"
-#: src/frontend/mame/ui/utils.cpp:97
-msgid "Software List"
-msgstr "Lista de Software"
+#: src/frontend/mame/ui/miscmenu.cpp:792
+msgid "Configure machine:"
+msgstr "Configurar máquina:"
-#: src/frontend/mame/ui/utils.cpp:248
-msgid "<set up filters>"
-msgstr "<configurar filtros>"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:736
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:551 plugins/cheatfind/init.lua:619
+msgid "On"
+msgstr "Ligado"
-#: src/frontend/mame/ui/utils.cpp:356
-msgid "Select custom filters:"
-msgstr "Selecionar filtros personalizados:"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:739
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:554 plugins/cheat/init.lua:563
+#: plugins/cheatfind/init.lua:616
+msgid "Off"
+msgstr "Desligado"
-#: src/frontend/mame/ui/utils.cpp:507
-#, c-format
-msgid "Filter %1$u"
-msgstr "Filtro %1$u"
+#: src/frontend/mame/ui/miscmenu.cpp:909 src/frontend/mame/ui/selgame.cpp:441
+msgid "Plugins"
+msgstr "Plugins"
-#: src/frontend/mame/ui/utils.cpp:522
-msgid "Remove last filter"
-msgstr "Remover último filtro"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
+msgstr "Novo Código de Barras:"
-#: src/frontend/mame/ui/utils.cpp:524
-msgid "Add filter"
-msgstr "Adicionar filtro"
+#: src/frontend/mame/ui/barcode.cpp:78
+msgid "Enter Code"
+msgstr "Introduza o Código"
-#: src/frontend/mame/ui/utils.cpp:966
-msgid "Select category:"
-msgstr "Selecione categoria"
+#: src/frontend/mame/ui/barcode.cpp:119
+msgid "Barcode length invalid!"
+msgstr "Tamanho de código de barras inválido!"
-#: src/frontend/mame/ui/utils.cpp:997
-msgid "[no category INI files]"
-msgstr "[sem ficheiros INI de categoria]"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:99
+msgid "Pseudo terminals"
+msgstr "Pseudo terminais"
-#: src/frontend/mame/ui/utils.cpp:1005
-msgid "[no groups in INI file]"
-msgstr "[sem grupos no ficheiro INI]"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
+msgstr "[falhou]"
-#: src/frontend/mame/ui/utils.cpp:1039
-msgid "No category INI files found"
-msgstr "Não foram encontrados ficheiros INI da categoria"
+#: src/frontend/mame/ui/mainmenu.cpp:60
+msgid "Input (general)"
+msgstr "Input (geral)"
-#: src/frontend/mame/ui/utils.cpp:1044
-msgid "File"
-msgstr "Ficheiro"
+#: src/frontend/mame/ui/mainmenu.cpp:62
+msgid "Input (this Machine)"
+msgstr "Input (esta Máquina)"
-#: src/frontend/mame/ui/utils.cpp:1048
-msgid "No groups found in category file"
-msgstr "Não foram encontrados grupos no ficheiro da categoria"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Analog Controls"
+msgstr "Controlos Analógicos"
-#: src/frontend/mame/ui/utils.cpp:1053
-msgid "Group"
-msgstr "Grupo"
+#: src/frontend/mame/ui/mainmenu.cpp:68
+msgid "Dip Switches"
+msgstr "Dip Switches"
-#: src/frontend/mame/ui/utils.cpp:1054
-msgid "Include clones"
-msgstr "Incluir clones"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "Machine Configuration"
+msgstr "Configuração da Máquina"
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
-msgstr "[criar]"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
+msgstr "Info de Contabilidade"
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:78
+msgid "Machine Information"
+msgstr "Informação da Máquina"
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
-msgstr "Seleccionar modo de acesso"
+#: src/frontend/mame/ui/mainmenu.cpp:85
+msgid "Image Information"
+msgstr "Informação da Imagem"
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
-msgstr "Apenas-leitura"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
+msgstr "Gestôr de Ficheiros"
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
-msgstr "Leitura-e-escrita"
+#: src/frontend/mame/ui/mainmenu.cpp:96
+msgid "Tape Control"
+msgstr "Controle da Cassete"
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
-msgstr "Ler esta imagem, escrever para outra imagem"
+#: src/frontend/mame/ui/mainmenu.cpp:102
+msgid "BIOS Selection"
+msgstr "Selecção de BIOS"
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
-msgstr "Ler esta imagem, escrever para diff"
+#: src/frontend/mame/ui/mainmenu.cpp:106
+msgid "Slot Devices"
+msgstr "Dispositivos de Slot"
-#: src/frontend/mame/ui/slotopt.cpp:192
-#, c-format
-msgid "%s [internal]"
-msgstr "%s [interna]"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Barcode Reader"
+msgstr "Leitor de Código de Barras"
-#: src/frontend/mame/ui/slotopt.cpp:203 src/frontend/mame/ui/miscmenu.cpp:97
-#: src/frontend/mame/ui/inputmap.cpp:615
-msgid "Reset"
-msgstr "Reiniciar"
+#: src/frontend/mame/ui/mainmenu.cpp:114
+msgid "Network Devices"
+msgstr "Dispositivos de Rede"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
-msgstr " CORES"
+#: src/frontend/mame/ui/mainmenu.cpp:118
+msgid "Keyboard Mode"
+msgstr "Modo do Teclado"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
-msgstr " CANETAS"
+#: src/frontend/mame/ui/mainmenu.cpp:121
+msgid "Slider Controls"
+msgstr "Controlos Deslizantes"
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
-msgstr "Voltar à Máquina"
+#: src/frontend/mame/ui/mainmenu.cpp:124 src/frontend/mame/ui/submenu.cpp:101
+msgid "Video Options"
+msgstr "Opções de Video"
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
-msgstr "Sair"
+#: src/frontend/mame/ui/mainmenu.cpp:128
+msgid "Crosshair Options"
+msgstr "Opções de Miras"
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
-msgstr "Voltar ao Menu Anterior"
+#: src/frontend/mame/ui/mainmenu.cpp:132 plugins/cheat/init.lua:735
+msgid "Cheat"
+msgstr "Cheat"
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:762
-#: plugins/cheat/init.lua:569 plugins/cheatfind/init.lua:792
-#: plugins/cheatfind/init.lua:803
-msgid "On"
-msgstr "Ligado"
+#: src/frontend/mame/ui/mainmenu.cpp:135
+msgid "Plugin Options"
+msgstr "Opções de Plugins"
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:765
-#: plugins/cheat/init.lua:572 plugins/cheat/init.lua:581
-#: plugins/cheatfind/init.lua:789 plugins/cheatfind/init.lua:800
-msgid "Off"
-msgstr "Desligado"
+#: src/frontend/mame/ui/mainmenu.cpp:139
+msgid "External DAT View"
+msgstr "Visualização de DAT Externa"
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
-msgstr "Automático"
+#: src/frontend/mame/ui/mainmenu.cpp:154
+msgid "Select New Machine"
+msgstr "Seleccionar Nova Máquina"
#: src/frontend/mame/ui/custui.cpp:31
msgid "Show All"
@@ -1405,460 +1327,6 @@ msgstr "Amarelo"
msgid "Violet"
msgstr "Violeta"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
-msgstr "Modo de Teclado:"
-
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
-msgstr "Natural"
-
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
-msgstr "Emulado"
-
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
-msgstr ""
-"Tempo de execução: %1$d:%2$02d:%3$02d\n"
-"\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
-msgstr ""
-"Tempo de execução: %1$d:%2$02d\n"
-"\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
-msgstr ""
-"Tickets emitidos: %1$d\n"
-"\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
-msgstr "Moeda %1$c: NA%3$s\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
-msgstr "Moeda %1$c: %2$d%3$s\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
-msgstr " (travado)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
-msgstr "Atraso Visível"
-
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
-msgstr "%s.xml gravado na pasta de interface."
-
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
-msgstr "Nome: Descrição:\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:639
-#, c-format
-msgid "%s.txt saved under ui folder."
-msgstr "%s.txt na pasta de interface."
-
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
-msgstr "Exportar lista em formato XML (como -listxml)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
-msgstr ""
-"Exportar lista em formato XML (como -listxml, mas excluindo dispositivos)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
-msgstr "Exportar lista em formato TXT (como -listfull)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
-msgstr "Driver"
-
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
-msgstr "Esta máquina não tem BIOS."
-
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
-msgstr "Gravar configuração da máquina"
-
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
-msgstr "Configurar máquina:"
-
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
-msgstr "(padrão)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
-msgstr "Plugins"
-
-#: src/frontend/mame/ui/selgame.cpp:607
-msgid "Configure Machine"
-msgstr "Configurar Máquina"
-
-#: src/frontend/mame/ui/selgame.cpp:1036
-#, c-format
-msgid "Romset\t%1$-.100s\n"
-msgstr "Romset\t%1$-.100s\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1037
-#, c-format
-msgid "Year\t%1$s\n"
-msgstr "Ano\t%1$s\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1038
-#, c-format
-msgid "Manufacturer\t%1$-.100s\n"
-msgstr "Fabricante\t%1$-.100s\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1042
-#, c-format
-msgid "Driver is Clone of\t%1$-.100s\n"
-msgstr "Driver é Clone de\t%1$-.100s\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1044
-msgid "Driver is Parent\t\n"
-msgstr "Driver é Principal\t\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1047
-msgid "Analog Controls\tYes\n"
-msgstr "Controlos Analógicos\tSim\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1049
-msgid "Keyboard Inputs\tYes\n"
-msgstr "Entradas de Teclado\tSim\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1052
-msgid "Overall\tNOT WORKING\n"
-msgstr "Global\tNÃO FUNCIONAL\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1054
-msgid "Overall\tUnemulated Protection\n"
-msgstr "Global\tProteção não Emulada\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1056
-msgid "Overall\tWorking\n"
-msgstr "Global\tFuncional\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1059
-msgid "Graphics\tUnimplemented\n"
-msgstr "Gráficos\tNão Implementados\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1061
-msgid "Graphics\tWrong Colors\n"
-msgstr "Gráficos\tCores Erradas\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1063
-msgid "Graphics\tImperfect Colors\n"
-msgstr "Gráficos\tCores Imperfeitas\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1065
-msgid "Graphics\tImperfect\n"
-msgstr "Gráficos\tImperfeitos\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1067
-msgid "Graphics\tOK\n"
-msgstr "Gráficos\tOK\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1070
-msgid "Sound\tNone\n"
-msgstr "Som\tSem Som\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1072
-msgid "Sound\tUnimplemented\n"
-msgstr "Som\tNão Implementado\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1074
-msgid "Sound\tImperfect\n"
-msgstr "Som\tImperfeito\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1076
-msgid "Sound\tOK\n"
-msgstr "Som\tOK\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1079
-msgid "Capture\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1081
-msgid "Capture\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1084
-msgid "Camera\tUnimplemented\n"
-msgstr "Câmara\tNão Implementada\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1086
-msgid "Camera\tImperfect\n"
-msgstr "Câmara\tImperfeita\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1089
-msgid "Microphone\tUnimplemented\n"
-msgstr "Microfone\tNão Implementado\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1091
-msgid "Microphone\tImperfect\n"
-msgstr "Microfone\tImperfeito\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1094
-msgid "Controls\tUnimplemented\n"
-msgstr "Controlos\tNão Implementados\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1096
-msgid "Controls\tImperfect\n"
-msgstr "Controlos\tImperfeitos\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1099
-msgid "Keyboard\tUnimplemented\n"
-msgstr "Teclado\tNão Implementado\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1101
-msgid "Keyboard\tImperfect\n"
-msgstr "Teclado\tImperfeito\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1104
-msgid "Mouse\tUnimplemented\n"
-msgstr "Rato\tNão Implementado\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1106
-msgid "Mouse\tImperfect\n"
-msgstr "Rato\tImperfeito\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1109
-msgid "Media\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1111
-msgid "Media\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1114
-msgid "Disk\tUnimplemented\n"
-msgstr "Disco\tNão Implementado\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1116
-msgid "Disk\tImperfect\n"
-msgstr "Disco\tImperfeito\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1119
-msgid "Printer\tUnimplemented\n"
-msgstr "Impressora\tNão Implementada\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1121
-msgid "Printer\tImperfect\n"
-msgstr "Impressora\tImperfeita\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1124
-msgid "Mag. Tape\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1126
-msgid "Mag. Tape\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1129
-msgid "Punch Tape\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1131
-msgid "Punch Tape\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1134
-msgid "Mag. Drum\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1136
-msgid "Mag. Drum\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1139
-msgid "(EP)ROM\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1141
-msgid "(EP)ROM\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1144
-msgid "Communications\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1146
-msgid "Communications\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1149
-msgid "LAN\tUnimplemented\n"
-msgstr "Rede Local\tNão Implementada\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1151
-msgid "LAN\tImperfect\n"
-msgstr "Rede Local\tImperfeita\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1154
-msgid "WAN\tUnimplemented\n"
-msgstr "WAN\tNão Implementada\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1156
-msgid "WAN\tImperfect\n"
-msgstr "WAN\tImperfeita\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1159
-msgid "Timing\tUnimplemented\n"
-msgstr "Temporização\tNão Implementada\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1161
-msgid "Timing\tImperfect\n"
-msgstr "Temporização\tImperfeita\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tYes\n"
-msgstr "Máquina Mecânica\tSim\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tNo\n"
-msgstr "Máquina Mecânica\tNão\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tYes\n"
-msgstr "Requer Artwork\tSim\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tNo\n"
-msgstr "Requer Artwork\tNão\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tYes\n"
-msgstr "Requer Artwork Clicável\tSim\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tNo\n"
-msgstr "Requer Artwork Clicável\tNão\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tYes\n"
-msgstr "Suporta Cocktail\tSim\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tNo\n"
-msgstr "Suporta Cocktail\tNão\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tYes\n"
-msgstr "Driver é BIOS\tSim\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tNo\n"
-msgstr "Driver é BIOS\tNão\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tYes\n"
-msgstr "Suporta Gravação\tSim\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tNo\n"
-msgstr "Suporta Gravação\tNão\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tVertical\n"
-msgstr "Orientação de Ecrã\tVertical\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tHorizontal\n"
-msgstr "Orientação de Ecrã\tHorizontal\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tYes\n"
-msgstr "Requer CHD\tSim\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tNo\n"
-msgstr "Requer CHD\tNão\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1192
-msgid "ROM Audit Result\tOK\n"
-msgstr "Resultado da Audit à ROM\tOK\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1194
-msgid "ROM Audit Result\tBAD\n"
-msgstr "Resultado da Audit à ROM\tFALHA\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1197
-msgid "Samples Audit Result\tNone Needed\n"
-msgstr "Resultado da Audit às Samples\tNenhuma Necessária\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1199
-msgid "Samples Audit Result\tOK\n"
-msgstr "Resultado da Audit às Samples\tOK\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1201
-msgid "Samples Audit Result\tBAD\n"
-msgstr "Resultado da Audit às Samples\tFALHA\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1205
-msgid ""
-"ROM Audit \tDisabled\n"
-"Samples Audit \tDisabled\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1396
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
-msgstr "%1$s %2$s ( %3$d / %4$d máquinas (%5$d BIOS) )"
-
-#: src/frontend/mame/ui/selgame.cpp:1424
-#, c-format
-msgid "Romset: %1$-.100s"
-msgstr "Romset: %1$-.100s"
-
-#: src/frontend/mame/ui/selgame.cpp:1431
-#, c-format
-msgid "System: %1$-.100s"
-msgstr "Sistema: %1$-.100s"
-
-#: src/frontend/mame/ui/selgame.cpp:1465
-msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
-msgstr ""
-"A máquina seleccionada tem uma ou mais ROMS ou imagens CHD necessárias em "
-"falta. Por favor selecione uma máquina diferente.\n"
-"\n"
-
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
-msgstr "Som"
-
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
-msgstr "Frequência de Amostragem"
-
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
-msgstr "Utilizar Samples Externas"
-
#: src/frontend/mame/ui/submenu.cpp:22
msgid "Miscellaneous Options"
msgstr "Opções Diversas"
@@ -2159,195 +1627,564 @@ msgstr "Refrescamento Sincronizado"
msgid "Wait Vertical Sync"
msgstr "Esperar pelo Sync Vertical"
-#: src/frontend/mame/ui/devopt.cpp:43
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Load State"
+msgstr "Carregar Estado"
+
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Select position to load from"
+msgstr "Seleccione possição do carregamento"
+
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Save State"
+msgstr "Gravar Estado"
+
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Select position to save to"
+msgstr "Seleccione posição de gravação"
+
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
+msgstr "%s [interna]"
+
+#: src/frontend/mame/ui/selgame.cpp:309 src/frontend/mame/ui/selsoft.cpp:211
#, c-format
msgid ""
-"[This option is currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"The selected option enables the following items:\n"
+"%s\n"
+" added to favorites list."
msgstr ""
+"%s\n"
+" adicionado à lista de favoritos."
-#: src/frontend/mame/ui/devopt.cpp:44
+#: src/frontend/mame/ui/selgame.cpp:314 src/frontend/mame/ui/selgame.cpp:320
+#: src/frontend/mame/ui/selsoft.cpp:216
#, c-format
msgid ""
-"[This option is NOT currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"If you select this option, the following items will be enabled:\n"
+"%s\n"
+" removed from favorites list."
msgstr ""
+"%s\n"
+" removido da lista de favoritos."
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:437
+msgid "Configure Machine"
+msgstr "Configurar Máquina"
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/selgame.cpp:849
#, c-format
-msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
-msgstr ""
+msgid "Romset\t%1$-.100s\n"
+msgstr "Romset\t%1$-.100s\n"
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
-msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:850
+#, c-format
+msgid "Year\t%1$s\n"
+msgstr "Ano\t%1$s\n"
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %3$d.%4$06d MHz\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:851
+#, c-format
+msgid "Manufacturer\t%1$-.100s\n"
+msgstr "Fabricante\t%1$-.100s\n"
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:855
+#, c-format
+msgid "Driver is Clone of\t%1$-.100s\n"
+msgstr "Driver é Clone de\t%1$-.100s\n"
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:857
+msgid "Driver is Parent\t\n"
+msgstr "Driver é Principal\t\n"
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:860
+msgid "Analog Controls\tYes\n"
+msgstr "Controlos Analógicos\tSim\n"
-#: src/frontend/mame/ui/devopt.cpp:103
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:862
+msgid "Keyboard Inputs\tYes\n"
+msgstr "Entradas de Teclado\tSim\n"
-#: src/frontend/mame/ui/devopt.cpp:104
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:865
+msgid "Overall\tNOT WORKING\n"
+msgstr "Global\tNÃO FUNCIONAL\n"
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:867
+msgid "Overall\tUnemulated Protection\n"
+msgstr "Global\tProteção não Emulada\n"
-#: src/frontend/mame/ui/devopt.cpp:137
-#, c-format
-msgid " %1$d×%2$s\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:869
+msgid "Overall\tWorking\n"
+msgstr "Global\tFuncional\n"
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:872
+msgid "Graphics\tUnimplemented\n"
+msgstr "Gráficos\tNão Implementados\n"
-#: src/frontend/mame/ui/devopt.cpp:168
-#, c-format
-msgid ""
-"* BIOS settings:\n"
-" %1$d options [default: %2$s]\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:874
+msgid "Graphics\tWrong Colors\n"
+msgstr "Gráficos\tCores Erradas\n"
-#: src/frontend/mame/ui/devopt.cpp:208 src/frontend/mame/ui/devopt.cpp:224
-#: src/frontend/mame/ui/devopt.cpp:269
-#, c-format
-msgid " %1$s [default: %2$s]\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:876
+msgid "Graphics\tImperfect Colors\n"
+msgstr "Gráficos\tCores Imperfeitas\n"
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
-#, c-format
-msgid " %1$s\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:878
+msgid "Graphics\tImperfect\n"
+msgstr "Gráficos\tImperfeitos\n"
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:880
+msgid "Graphics\tOK\n"
+msgstr "Gráficos\tOK\n"
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:883
+msgid "Sound\tNone\n"
+msgstr "Som\tSem Som\n"
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:885
+msgid "Sound\tUnimplemented\n"
+msgstr "Som\tNão Implementado\n"
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:887
+msgid "Sound\tImperfect\n"
+msgstr "Som\tImperfeito\n"
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:889
+msgid "Sound\tOK\n"
+msgstr "Som\tOK\n"
-#: src/frontend/mame/ui/devopt.cpp:244
-#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:892
+msgid "Controls\tUnimplemented\n"
+msgstr "Controlos\tNão Implementados\n"
+
+#: src/frontend/mame/ui/selgame.cpp:894
+msgid "Controls\tImperfect\n"
+msgstr "Controlos\tImperfeitos\n"
+
+#: src/frontend/mame/ui/selgame.cpp:897
+msgid "Keyboard\tUnimplemented\n"
+msgstr "Teclado\tNão Implementado\n"
+
+#: src/frontend/mame/ui/selgame.cpp:899
+msgid "Keyboard\tImperfect\n"
+msgstr "Teclado\tImperfeito\n"
+
+#: src/frontend/mame/ui/selgame.cpp:902
+msgid "Mouse\tUnimplemented\n"
+msgstr "Rato\tNão Implementado\n"
+
+#: src/frontend/mame/ui/selgame.cpp:904
+msgid "Mouse\tImperfect\n"
+msgstr "Rato\tImperfeito\n"
+
+#: src/frontend/mame/ui/selgame.cpp:907
+msgid "Microphone\tUnimplemented\n"
+msgstr "Microfone\tNão Implementado\n"
+
+#: src/frontend/mame/ui/selgame.cpp:909
+msgid "Microphone\tImperfect\n"
+msgstr "Microfone\tImperfeito\n"
+
+#: src/frontend/mame/ui/selgame.cpp:912
+msgid "Camera\tUnimplemented\n"
+msgstr "Câmara\tNão Implementada\n"
+
+#: src/frontend/mame/ui/selgame.cpp:914
+msgid "Camera\tImperfect\n"
+msgstr "Câmara\tImperfeita\n"
+
+#: src/frontend/mame/ui/selgame.cpp:917
+msgid "Disk\tUnimplemented\n"
+msgstr "Disco\tNão Implementado\n"
+
+#: src/frontend/mame/ui/selgame.cpp:919
+msgid "Disk\tImperfect\n"
+msgstr "Disco\tImperfeito\n"
+
+#: src/frontend/mame/ui/selgame.cpp:922
+msgid "Printer\tUnimplemented\n"
+msgstr "Impressora\tNão Implementada\n"
+
+#: src/frontend/mame/ui/selgame.cpp:924
+msgid "Printer\tImperfect\n"
+msgstr "Impressora\tImperfeita\n"
+
+#: src/frontend/mame/ui/selgame.cpp:927
+msgid "LAN\tUnimplemented\n"
+msgstr "Rede Local\tNão Implementada\n"
+
+#: src/frontend/mame/ui/selgame.cpp:929
+msgid "LAN\tImperfect\n"
+msgstr "Rede Local\tImperfeita\n"
+
+#: src/frontend/mame/ui/selgame.cpp:932
+msgid "WAN\tUnimplemented\n"
+msgstr "WAN\tNão Implementada\n"
+
+#: src/frontend/mame/ui/selgame.cpp:934
+msgid "WAN\tImperfect\n"
+msgstr "WAN\tImperfeita\n"
+
+#: src/frontend/mame/ui/selgame.cpp:937
+msgid "Timing\tUnimplemented\n"
+msgstr "Temporização\tNão Implementada\n"
+
+#: src/frontend/mame/ui/selgame.cpp:939
+msgid "Timing\tImperfect\n"
+msgstr "Temporização\tImperfeita\n"
+
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tYes\n"
+msgstr "Máquina Mecânica\tSim\n"
+
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tNo\n"
+msgstr "Máquina Mecânica\tNão\n"
+
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tYes\n"
+msgstr "Requer Artwork\tSim\n"
+
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tNo\n"
+msgstr "Requer Artwork\tNão\n"
+
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tYes\n"
+msgstr "Requer Artwork Clicável\tSim\n"
+
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tNo\n"
+msgstr "Requer Artwork Clicável\tNão\n"
+
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tYes\n"
+msgstr "Suporta Cocktail\tSim\n"
+
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tNo\n"
+msgstr "Suporta Cocktail\tNão\n"
+
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tYes\n"
+msgstr "Driver é BIOS\tSim\n"
+
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tNo\n"
+msgstr "Driver é BIOS\tNão\n"
+
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tYes\n"
+msgstr "Suporta Gravação\tSim\n"
+
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tNo\n"
+msgstr "Suporta Gravação\tNão\n"
+
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tVertical\n"
+msgstr "Orientação de Ecrã\tVertical\n"
+
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tHorizontal\n"
+msgstr "Orientação de Ecrã\tHorizontal\n"
+
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tYes\n"
+msgstr "Requer CHD\tSim\n"
+
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tNo\n"
+msgstr "Requer CHD\tNão\n"
+
+#: src/frontend/mame/ui/selgame.cpp:970
+msgid "ROM Audit Result\tOK\n"
+msgstr "Resultado da Audit à ROM\tOK\n"
+
+#: src/frontend/mame/ui/selgame.cpp:972
+msgid "ROM Audit Result\tBAD\n"
+msgstr "Resultado da Audit à ROM\tFALHA\n"
+
+#: src/frontend/mame/ui/selgame.cpp:975
+msgid "Samples Audit Result\tNone Needed\n"
+msgstr "Resultado da Audit às Samples\tNenhuma Necessária\n"
+
+#: src/frontend/mame/ui/selgame.cpp:977
+msgid "Samples Audit Result\tOK\n"
+msgstr "Resultado da Audit às Samples\tOK\n"
+
+#: src/frontend/mame/ui/selgame.cpp:979
+msgid "Samples Audit Result\tBAD\n"
+msgstr "Resultado da Audit às Samples\tFALHA\n"
+
+#: src/frontend/mame/ui/selgame.cpp:983
+msgid ""
+"ROM Audit \tDisabled\n"
+"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
+#: src/frontend/mame/ui/selgame.cpp:1167
#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
-msgstr ""
+msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
+msgstr "%1$s %2$s ( %3$d / %4$d máquinas (%5$d BIOS) )"
-#: src/frontend/mame/ui/devopt.cpp:248
+#: src/frontend/mame/ui/selgame.cpp:1183 src/frontend/mame/ui/selsoft.cpp:555
#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
-msgstr ""
+msgid "%1$s: %2$s - Search: %3$s_"
+msgstr "%1$s: %2$s - Procura: %3$s_"
-#: src/frontend/mame/ui/devopt.cpp:250
+#: src/frontend/mame/ui/selgame.cpp:1185 src/frontend/mame/ui/selsoft.cpp:557
#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
-msgstr ""
+msgid "Search: %1$s_"
+msgstr "Procura: %1$s_"
-#: src/frontend/mame/ui/devopt.cpp:252
+#: src/frontend/mame/ui/selgame.cpp:1195
#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
-msgstr ""
+msgid "Romset: %1$-.100s"
+msgstr "Romset: %1$-.100s"
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/selgame.cpp:1202
#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
-msgstr ""
+msgid "System: %1$-.100s"
+msgstr "Sistema: %1$-.100s"
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+#: src/frontend/mame/ui/selgame.cpp:1239
+msgid ""
+"The selected machine is missing one or more required ROM or CHD images. "
+"Please select a different machine.\n"
+"\n"
msgstr ""
+"A máquina seleccionada tem uma ou mais ROMS ou imagens CHD necessárias em "
+"falta. Por favor selecione uma máquina diferente.\n"
+"\n"
+
+#: src/frontend/mame/ui/selgame.cpp:1245 src/frontend/mame/ui/selsoft.cpp:462
+msgid "Press any key to continue."
+msgstr "Pressione qualquer tecla para continuar"
+
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
+msgstr "Som"
+
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
+msgstr "Frequência de Amostragem"
+
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
+msgstr "Utilizar Samples Externas"
+
+#: src/frontend/mame/ui/utils.cpp:57 src/frontend/mame/ui/utils.cpp:81
+msgid "Unfiltered"
+msgstr "Não filtrado"
+
+#: src/frontend/mame/ui/utils.cpp:58 src/frontend/mame/ui/utils.cpp:82
+msgid "Available"
+msgstr "Disponível"
+
+#: src/frontend/mame/ui/utils.cpp:59 src/frontend/mame/ui/utils.cpp:83
+msgid "Unavailable"
+msgstr "Não disponível"
+
+#: src/frontend/mame/ui/utils.cpp:60
+msgid "Working"
+msgstr "Funcional"
+
+#: src/frontend/mame/ui/utils.cpp:61
+msgid "Not Working"
+msgstr "Não Funcional"
+
+#: src/frontend/mame/ui/utils.cpp:62
+msgid "Mechanical"
+msgstr "Mecânico"
+
+#: src/frontend/mame/ui/utils.cpp:63
+msgid "Not Mechanical"
+msgstr "Não Mecânico"
+
+#: src/frontend/mame/ui/utils.cpp:64
+msgid "Category"
+msgstr "Categoria"
+
+#: src/frontend/mame/ui/utils.cpp:65
+msgid "Favorites"
+msgstr "Favoritos"
+
+#: src/frontend/mame/ui/utils.cpp:67
+msgid "Not BIOS"
+msgstr "Não BIOS"
+
+#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:84
+msgid "Parents"
+msgstr "Originais"
+
+#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/utils.cpp:85
+msgid "Clones"
+msgstr "Clones"
+
+#: src/frontend/mame/ui/utils.cpp:70
+msgid "Manufacturer"
+msgstr "Fabricante"
+
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:86
+msgid "Year"
+msgstr "Ano"
+
+#: src/frontend/mame/ui/utils.cpp:72
+msgid "Save Supported"
+msgstr "Gravação Suportada"
+
+#: src/frontend/mame/ui/utils.cpp:73
+msgid "Save Unsupported"
+msgstr "Gravação Não Suportada"
+
+#: src/frontend/mame/ui/utils.cpp:74
+msgid "CHD Required"
+msgstr "Requer CHD"
+
+#: src/frontend/mame/ui/utils.cpp:75
+msgid "No CHD Required"
+msgstr "Não Requer CHD"
+
+#: src/frontend/mame/ui/utils.cpp:76
+msgid "Vertical Screen"
+msgstr "Ecrã Vertical"
+
+#: src/frontend/mame/ui/utils.cpp:77
+msgid "Horizontal Screen"
+msgstr "Ecrã Horizontal"
+
+#: src/frontend/mame/ui/utils.cpp:78 src/frontend/mame/ui/utils.cpp:94
+msgid "Custom Filter"
+msgstr "Filtro Personalizado"
+
+#: src/frontend/mame/ui/utils.cpp:87
+msgid "Publisher"
+msgstr "Editor"
+
+#: src/frontend/mame/ui/utils.cpp:88
+msgid "Supported"
+msgstr "Suportado"
+
+#: src/frontend/mame/ui/utils.cpp:89
+msgid "Partially Supported"
+msgstr "Parcialmente Suportado"
+
+#: src/frontend/mame/ui/utils.cpp:90
+msgid "Unsupported"
+msgstr "Não Suportado"
+
+#: src/frontend/mame/ui/utils.cpp:91
+msgid "Release Region"
+msgstr "Região do Lançamento"
+
+#: src/frontend/mame/ui/utils.cpp:92
+msgid "Device Type"
+msgstr "Tipo de Dispositivo"
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/utils.cpp:93
+msgid "Software List"
+msgstr "Lista de Software"
+
+#: src/frontend/mame/ui/utils.cpp:244
+msgid "<set up filters>"
+msgstr "<configurar filtros>"
+
+#: src/frontend/mame/ui/utils.cpp:352
+msgid "Select custom filters:"
+msgstr "Selecionar filtros personalizados:"
+
+#: src/frontend/mame/ui/utils.cpp:503
#, c-format
-msgid " %1$s [tag: %2$s]\n"
-msgstr ""
+msgid "Filter %1$u"
+msgstr "Filtro %1$u"
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
-msgstr ""
+#: src/frontend/mame/ui/utils.cpp:518
+msgid "Remove last filter"
+msgstr "Remover último filtro"
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+#: src/frontend/mame/ui/utils.cpp:520
+msgid "Add filter"
+msgstr "Adicionar filtro"
+
+#: src/frontend/mame/ui/utils.cpp:959
+msgid "Select category:"
+msgstr "Selecione categoria"
+
+#: src/frontend/mame/ui/utils.cpp:990
+msgid "[no category INI files]"
+msgstr "[sem ficheiros INI de categoria]"
+
+#: src/frontend/mame/ui/utils.cpp:998
+msgid "[no groups in INI file]"
+msgstr "[sem grupos no ficheiro INI]"
+
+#: src/frontend/mame/ui/utils.cpp:1032
+msgid "No category INI files found"
+msgstr "Não foram encontrados ficheiros INI da categoria"
+
+#: src/frontend/mame/ui/utils.cpp:1037
+msgid "File"
+msgstr "Ficheiro"
+
+#: src/frontend/mame/ui/utils.cpp:1041
+msgid "No groups found in category file"
+msgstr "Não foram encontrados grupos no ficheiro da categoria"
+
+#: src/frontend/mame/ui/utils.cpp:1046
+msgid "Group"
+msgstr "Grupo"
+
+#: src/frontend/mame/ui/utils.cpp:1047
+msgid "Include clones"
+msgstr "Incluir clones"
+
+#: src/frontend/mame/ui/selsoft.cpp:456
+msgid ""
+"The selected software is missing one or more required files. Please select a "
+"different software.\n"
+"\n"
msgstr ""
+"O software selecionado tem um ou mais ficheiros em falta. Por favor "
+"selecione um software diferente.\n"
+"\n"
-#: src/frontend/mame/ui/auditmenu.cpp:96
+#: src/frontend/mame/ui/selsoft.cpp:549
#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
-msgstr "Auditar ROMs de %1$u máquinas marcadas como indisponíveis?"
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgstr "%1$s %2$s ( %3$d / %4$d pacotes de software )"
-#: src/frontend/mame/ui/auditmenu.cpp:99
+#: src/frontend/mame/ui/selsoft.cpp:550
#, c-format
-msgid "Audit ROMs for all %1$u machines?"
-msgstr "Auditar ROMs de todas as %1$u máquinas?"
+msgid "Driver: \"%1$s\" software list "
+msgstr "Driver: \"%1$s\" lista de software "
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
-msgstr "(os resultados serão gravados em %1$s)"
+#: src/frontend/mame/ui/filesel.cpp:260
+msgid "[create]"
+msgstr "[criar]"
-#: src/frontend/mame/ui/auditmenu.cpp:130
+#: src/frontend/mame/ui/filesel.cpp:419
#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
+msgid "Error accessing %s"
msgstr ""
-"Auditando ROMs da máquina %2$u de %3$u...\n"
-"%1$s"
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr "Começar Audit"
+#: src/frontend/mame/ui/filesel.cpp:515
+msgid "Select access mode"
+msgstr "Seleccionar modo de acesso"
+
+#: src/frontend/mame/ui/filesel.cpp:516
+msgid "Read-only"
+msgstr "Apenas-leitura"
+
+#: src/frontend/mame/ui/filesel.cpp:518
+msgid "Read-write"
+msgstr "Leitura-e-escrita"
+
+#: src/frontend/mame/ui/filesel.cpp:519
+msgid "Read this image, write to another image"
+msgstr "Ler esta imagem, escrever para outra imagem"
+
+#: src/frontend/mame/ui/filesel.cpp:520
+msgid "Read this image, write to diff"
+msgstr "Ler esta imagem, escrever para diff"
#: src/frontend/mame/ui/imgcntrl.cpp:117
msgid "Cannot save over directory"
@@ -2361,371 +2198,453 @@ msgstr ""
"O software selecionado tem uma ou mais ROM ou imagens CHD necessárias em "
"falta. Por favor selecione uma diferente."
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
-msgstr "protecção"
-
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
-msgstr "temporização"
+#: src/frontend/mame/ui/menu.cpp:294
+msgid "Return to Machine"
+msgstr "Voltar à Máquina"
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
-msgstr "gráficos"
+#: src/frontend/mame/ui/menu.cpp:299 src/frontend/mame/ui/menu.cpp:301
+msgid "Exit"
+msgstr "Sair"
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
-msgstr "paleta de cores"
+#: src/frontend/mame/ui/menu.cpp:306 src/frontend/mame/ui/menu.cpp:308
+msgid "Return to Previous Menu"
+msgstr "Voltar ao Menu Anterior"
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
-msgstr "som"
+#: src/frontend/mame/ui/menu.cpp:742
+msgid "Auto"
+msgstr "Automático"
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:653
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
+"Comentário de Cheat:\n"
+"%s"
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
-msgstr "câmara"
-
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
-msgstr "microfone"
+#: src/frontend/mame/ui/cheatopt.cpp:105
+msgid "All cheats reloaded"
+msgstr "Todos os cheats recarregados"
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
-msgstr "controlos"
+#: src/frontend/mame/ui/cheatopt.cpp:136
+msgid "Autofire Settings"
+msgstr "Configurações de Auto-disparo"
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
-msgstr "teclado"
+#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:581
+msgid "Reset All"
+msgstr "Reiniciar Tudo"
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
-msgstr "rato"
+#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:582
+msgid "Reload All"
+msgstr "Recarregar Tudo"
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
-msgstr ""
+#: src/frontend/mame/ui/cheatopt.cpp:273
+msgid "Autofire Status"
+msgstr "Estado do Auto-disparo"
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
-msgstr "disco"
+#: src/frontend/mame/ui/cheatopt.cpp:316
+msgid "No buttons found on this machine!"
+msgstr "Não foram encontrados botões nesta máquina!"
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
-msgstr "impressora"
+#: src/frontend/mame/ui/cheatopt.cpp:327 src/frontend/mame/ui/cheatopt.cpp:331
+msgid "Autofire Delay"
+msgstr "Atraso do Auto-disparo"
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/ui.cpp:337
+msgid "This driver requires images to be loaded in the following device(s): "
msgstr ""
+"Este driver necessita de imagens carregadas no(s) seguinte(s) "
+"dispositivo(s): "
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
-msgstr ""
+#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
+msgid "Keyboard Emulation Status"
+msgstr "Estado da Emulação de Teclado"
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
-msgstr ""
+#: src/frontend/mame/ui/ui.cpp:1086
+msgid "Mode: PARTIAL Emulation"
+msgstr "Modo: Emulação PARCIAL"
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
-msgstr ""
+#: src/frontend/mame/ui/ui.cpp:1087
+msgid "UI: Enabled"
+msgstr "Interface: Activa"
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
-msgstr ""
+#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
+msgid "**Use ScrLock to toggle**"
+msgstr "**Use ScrLock para alternar**"
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
-msgstr "rede local"
+#: src/frontend/mame/ui/ui.cpp:1096
+msgid "Mode: FULL Emulation"
+msgstr "Modo: Emulação COMPLETA"
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
-msgstr "WAN"
+#: src/frontend/mame/ui/ui.cpp:1097
+msgid "UI: Disabled"
+msgstr "Interface: Desactivada"
-#: src/frontend/mame/ui/info.cpp:188
-msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
-msgstr ""
-"Uma ou mais ROMs/CHDs para esta máquina estão incorretas. A máquina poderá "
-"não funcionar corretamente.\n"
+#: src/frontend/mame/ui/ui.cpp:1249
+msgid "Autofire can't be enabled"
+msgstr "Auto-disparo não pode ser ativado"
-#: src/frontend/mame/ui/info.cpp:198
+#: src/frontend/mame/ui/ui.cpp:1302
+#, c-format
msgid ""
-"There are known problems with this machine\n"
+"Are you sure you want to quit?\n"
"\n"
+"Press ''%1$s'' to quit,\n"
+"Press ''%2$s'' to return to emulation."
msgstr ""
-"Existem problemas conhecidos com esta máquina\n"
+"Tem a certeza que deseja sair?\n"
"\n"
+"Pressione ''%1$s'' para sair,\n"
+"Pressione ''%2$s'' para voltar à emulação."
-#: src/frontend/mame/ui/info.cpp:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
-msgstr ""
-"Uma ou mais ROMs/CHDs para esta máquina não foram corretamente "
-"descarregadas.\n"
+#: src/frontend/mame/ui/ui.cpp:1374
+msgid "Master Volume"
+msgstr "Volume Global"
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
-msgstr "Funcionalidades não emuladas: "
+#: src/frontend/mame/ui/ui.cpp:1383
+#, c-format
+msgid "%1$s Volume"
+msgstr "%1$s Volume"
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
+#: src/frontend/mame/ui/ui.cpp:1407
#, c-format
-msgid "%s"
-msgstr "%s"
+msgid "Overclock CPU %1$s"
+msgstr "Overclock CPU %1$s"
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#: src/frontend/mame/ui/info.cpp:275
+#: src/frontend/mame/ui/ui.cpp:1416
#, c-format
-msgid ", %s"
-msgstr ", %s"
+msgid "Overclock %1$s sound"
+msgstr "Overclock %1$s som"
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
-msgstr "Funcionalidades emuladas de forma imperfeita: "
+#: src/frontend/mame/ui/ui.cpp:1437
+#, c-format
+msgid "%1$s Refresh Rate"
+msgstr "Taxa de refrescamento do %1$s"
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
-msgstr "Inversão de ecrã não é suportada em modo cocktail.\n"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, c-format
+msgid "%1$s Brightness"
+msgstr "Brilho do %1$s"
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
-msgstr "Esta máquina requer ficheiros de artwork externos.\n"
+#: src/frontend/mame/ui/ui.cpp:1444
+#, c-format
+msgid "%1$s Contrast"
+msgstr "Contraste do %1$s"
-#: src/frontend/mame/ui/info.cpp:243
-msgid ""
-"This machine was never completed. It may exhibit strange behavior or missing "
-"elements that are not bugs in the emulation.\n"
-msgstr ""
-"Esta máquina não foi acabada. Poderá ter um comportamento estranho ou "
-"elementos em falta que não são bugs na emulação.\n"
+#: src/frontend/mame/ui/ui.cpp:1446
+#, c-format
+msgid "%1$s Gamma"
+msgstr "Gama do %1$s"
-#: src/frontend/mame/ui/info.cpp:245
-msgid ""
-"This machine has no sound hardware, MAME will produce no sounds, this is "
-"expected behaviour.\n"
-msgstr ""
-"Esta máquina não tem hardware de som. O MAME não irá produzir som. Isto é o "
-"comportamento esperado.\n"
+#: src/frontend/mame/ui/ui.cpp:1450
+#, c-format
+msgid "%1$s Horiz Stretch"
+msgstr "Extensão Horizontal do %1$s"
-#: src/frontend/mame/ui/info.cpp:249
-msgid ""
-"\n"
-"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
-"complete. There is nothing you can do to fix this problem except wait for "
-"the developers to improve the emulation.\n"
-msgstr ""
-"ESTA MÃQUINA NÃO FUNCIONA. A emulação desta máquina ainda não está completa. "
-"Não há nada que possa fazer para corrigir isto excepto aguardar que os "
-"programadores melhorem a emulação.\n"
+#: src/frontend/mame/ui/ui.cpp:1452
+#, c-format
+msgid "%1$s Horiz Position"
+msgstr "Posição Horizontal do %1$s"
-#: src/frontend/mame/ui/info.cpp:251
-msgid ""
-"\n"
-"Elements of this machine cannot be emulated as they requires physical "
-"interaction or consist of mechanical devices. It is not possible to fully "
-"experience this machine.\n"
-msgstr ""
-"Elementos desta máquina não podem ser emulados pois necessitam de interacção "
-"física ou consistem em dispositivos mecânicos. Não é possível ter uma "
-"experiência completa com esta máquina.\n"
+#: src/frontend/mame/ui/ui.cpp:1454
+#, c-format
+msgid "%1$s Vert Stretch"
+msgstr "Extensão Vertical do %1$s"
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1456
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
-msgstr ""
-"\n"
-"\n"
-"Existem clones funcionais desta máquina: %s"
+msgid "%1$s Vert Position"
+msgstr "Posição Vertical do %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1475
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
+msgstr "Extensão Horizontal do Laserdisc '%1$s'"
+
+#: src/frontend/mame/ui/ui.cpp:1477
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
+msgstr "Posição Horizontal do Laserdisc '%1$s'"
+
+#: src/frontend/mame/ui/ui.cpp:1479
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
+msgstr "Extensão Vertical do Laserdisc '%1$s'"
+
+#: src/frontend/mame/ui/ui.cpp:1481
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
+msgstr "Posição Vertical do Laserdisc '%1$s'"
+
+#: src/frontend/mame/ui/ui.cpp:1493
+msgid "Vector Flicker"
+msgstr "Cintilação Vetorial"
+
+#: src/frontend/mame/ui/ui.cpp:1494
+msgid "Beam Width Minimum"
+msgstr "Largura Mínima do Feixe de Luz"
+
+#: src/frontend/mame/ui/ui.cpp:1495
+msgid "Beam Width Maximum"
+msgstr "Largura Máxixa do Feixe de Luz"
+
+#: src/frontend/mame/ui/ui.cpp:1496
+msgid "Beam Intensity Weight"
+msgstr "Peso da Intensidade do Feixe"
+
+#: src/frontend/mame/ui/ui.cpp:1511
+#, c-format
+msgid "Crosshair Scale %1$s"
+msgstr "Escala da Mira %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "X"
+msgstr "X"
+
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "Y"
+msgstr "Y"
+
+#: src/frontend/mame/ui/ui.cpp:1513
+#, c-format
+msgid "Crosshair Offset %1$s"
+msgstr "Ajuste da Mira %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1601
+#, c-format
+msgid "%1$3ddB"
+msgstr "%1$3ddB"
+
+#: src/frontend/mame/ui/ui.cpp:1645
+#, c-format
+msgid "%1$d%%"
+msgstr "%1$d%%"
+
+#: src/frontend/mame/ui/ui.cpp:1661
+#, c-format
+msgid "%1$3.0f%%"
+msgstr "%1$3.0f%%"
+
+#: src/frontend/mame/ui/ui.cpp:1685
+#, c-format
+msgid "%1$.3ffps"
+msgstr "%1$.3ffps"
+
+#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
+#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
+#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
+#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
+#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
+#: src/frontend/mame/ui/ui.cpp:1927
+#, c-format
+msgid "%1$.3f"
+msgstr "%1$.3f"
+
+#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
+#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
+#, c-format
+msgid "%1$1.2f"
+msgstr "%1$1.2f"
+
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
+msgstr "Escala X da Mira %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
+msgstr "Escala Y da Mira %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
+msgstr "Ajuste X da Mira %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
+msgstr "Ajuste Y da Mira %1$1.3f"
-#: src/frontend/mame/ui/info.cpp:286
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
+msgstr "**Erro ao gravar ui.ini**"
+
+#: src/frontend/mame/ui/ui.cpp:2226
+#, c-format
+msgid "**Error saving %s.ini**"
+msgstr "**Erro ao gravar %s.ini**"
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " COLORS"
+msgstr " CORES"
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " PENS"
+msgstr " CANETAS"
+
+#: src/frontend/mame/ui/devopt.cpp:39
+#, c-format
msgid ""
+"[This option is currently mounted in the running system]\n"
"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
"\n"
-"Press any key to continue"
+"The selected option enables the following items:\n"
msgstr ""
-"\n"
-"\n"
-"Pressione qualquer tecla para continuar"
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/devopt.cpp:40
#, c-format
msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
+"[This option is NOT currently mounted in the running system]\n"
"\n"
-"CPU:\n"
-msgstr ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
"\n"
-"CPU:\n"
+"If you select this option, the following items will be enabled:\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
-msgstr "MHz"
+#: src/frontend/mame/ui/devopt.cpp:48
+msgid "* CPU:\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
-msgstr "kHz"
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
+#, c-format
+msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
+msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
msgstr ""
-"\n"
-"Som:\n"
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %3$d.%4$06d MHz\n"
msgstr ""
-"\n"
-"Video:\n"
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
-msgstr "Nenhum\n"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %5$d.%6$03d kHz\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
-msgstr "Vetorial"
+#: src/frontend/mame/ui/devopt.cpp:85
+msgid "* Video:\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:90
#, c-format
-msgid "%1$s: %2$s\n"
-msgstr "%1$s: %2$s\n"
-
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
-msgstr "%2$s\n"
+msgid " Screen '%1$s': Vector\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:99
#, c-format
-msgid "Screen '%1$s'"
-msgstr "Ecrã '%1$s'"
-
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr "Ecrã"
-
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
-msgstr "Não suportado"
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
-msgstr "Parcialmente suportado"
+#: src/frontend/mame/ui/devopt.cpp:100
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
-msgstr "[vazio]"
+#: src/frontend/mame/ui/devopt.cpp:113
+msgid "* Sound:\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
-msgstr "Painéis de Controlo"
+#: src/frontend/mame/ui/devopt.cpp:133
+#, c-format
+msgid " %1$d×%2$s\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
-msgstr "Pré-Visualização da Artwork"
+#: src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
-msgstr "Fim de Jogo"
+#: src/frontend/mame/ui/devopt.cpp:164
+#, c-format
+msgid ""
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
-msgstr "Adicionar ou remover favoritos"
+#: src/frontend/mame/ui/devopt.cpp:204 src/frontend/mame/ui/devopt.cpp:220
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " %1$s [default: %2$s]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
-msgstr "Exportar lista visível para ficheiro"
+#: src/frontend/mame/ui/devopt.cpp:209 src/frontend/mame/ui/devopt.cpp:225
+#, c-format
+msgid " %1$s\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
-msgstr "Exibir visualização de DATs"
+#: src/frontend/mame/ui/devopt.cpp:230
+msgid "* DIP switch settings:\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
-msgstr "Selecção de Item de Software:"
+#: src/frontend/mame/ui/devopt.cpp:232
+msgid "* Configuration settings:\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
-msgstr "Selecção de BIOS:"
+#: src/frontend/mame/ui/devopt.cpp:234
+msgid "* Input device(s):\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
+#: src/frontend/mame/ui/devopt.cpp:236
#, c-format
-msgid "Software is clone of: %1$-.100s"
-msgstr "O Software é clone de: %1$-.100s"
-
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
-msgstr "O Software é original"
-
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
-msgstr "Suportado: Não"
-
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
-msgstr "Suportado: Parcial"
+msgid " User inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
-msgstr "Suportado: Sim"
+#: src/frontend/mame/ui/devopt.cpp:238
+#, c-format
+msgid " Mahjong inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
+#: src/frontend/mame/ui/devopt.cpp:240
#, c-format
-msgid "romset: %1$-.100s"
-msgstr "romset: %1$-.100s"
+msgid " Hanafuda inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
+#: src/frontend/mame/ui/devopt.cpp:242
#, c-format
-msgid "Driver is clone of: %1$-.100s"
-msgstr "O Driver é clone de: %1$-.100s"
+msgid " Gambling inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
-msgstr "O Driver é original"
+#: src/frontend/mame/ui/devopt.cpp:244
+#, c-format
+msgid " Analog inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
+#: src/frontend/mame/ui/devopt.cpp:246
#, c-format
-msgid "%1$s %2$s"
-msgstr "%1$s %2$s"
+msgid " Adjuster inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
-msgstr "Imagens"
+#: src/frontend/mame/ui/devopt.cpp:248
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
-msgstr "Infos"
+#: src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
-msgstr "Utilização"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* Media Options:\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
-msgstr "Info Geral"
+#: src/frontend/mame/ui/devopt.cpp:257
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
+msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
-msgstr "Interface do Utilizador"
+#: src/frontend/mame/ui/devopt.cpp:263
+msgid "* Slot Options:\n"
+msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
-msgstr "Outros Controlos"
+#: src/frontend/mame/ui/devopt.cpp:270
+msgid "[None]\n"
+msgstr ""
#: plugins/timer/init.lua:94
msgid "Current time"
@@ -2743,51 +2662,51 @@ msgstr "Play Count"
msgid "Timer"
msgstr "Temporizador"
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:510
msgid "Select cheat to set hotkey"
msgstr "Seleccione cheat para atribuir hotkey"
-#: plugins/cheat/init.lua:534
+#: plugins/cheat/init.lua:516
msgid "Press button for hotkey or wait to clear"
msgstr "pressione botão para hotkey ou espere"
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:528
msgid "None"
msgstr "Nenhum"
-#: plugins/cheat/init.lua:551
+#: plugins/cheat/init.lua:533
msgid "Done"
msgstr "Efectuado"
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:547 plugins/cheat/init.lua:561
msgid "Set"
msgstr "Fixar"
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:580
msgid "Set hotkeys"
msgstr "Atribuir hotkeys"
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:720
#, lua-format
msgid "Activated: %s = %s"
msgstr "Activado: %s = %s"
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:723 plugins/cheat/init.lua:781
#, lua-format
msgid "Activated: %s"
msgstr "Activado: %s"
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:785
#, lua-format
msgid "Enabled: %s"
msgstr "Ligado: %s"
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:790
#, lua-format
msgid "Disabled: %s"
msgstr "Desligado: %s"
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "%s added"
msgstr "%s adicionado"
@@ -2840,49 +2759,49 @@ msgstr "Gameinit"
msgid "MARPScore"
msgstr "MARPScore"
-#: plugins/cheatfind/init.lua:404
+#: plugins/cheatfind/init.lua:373
msgid "Save Cheat"
msgstr "Gravar Cheat"
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Default"
msgstr "Padrão"
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Custom"
msgstr "Personalizado"
-#: plugins/cheatfind/init.lua:408
+#: plugins/cheatfind/init.lua:377
msgid "Cheat Name"
msgstr "Nome da Cheat"
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/cheatfind/init.lua:383 plugins/cheatfind/init.lua:748
#, lua-format
msgid "Default name is %s"
msgstr "Nome padrão é %s"
-#: plugins/cheatfind/init.lua:422
+#: plugins/cheatfind/init.lua:391
msgid "Player"
msgstr "Jogador"
-#: plugins/cheatfind/init.lua:427
+#: plugins/cheatfind/init.lua:396
msgid "Type"
msgstr "Tipo"
-#: plugins/cheatfind/init.lua:433
+#: plugins/cheatfind/init.lua:402
msgid "Save"
msgstr "Gravar"
-#: plugins/cheatfind/init.lua:462
+#: plugins/cheatfind/init.lua:429
#, lua-format
msgid "Cheat written to %s and added to cheat.simple"
msgstr "Cheat gravada em %s e adicionada a cheat.simple"
-#: plugins/cheatfind/init.lua:472
+#: plugins/cheatfind/init.lua:437
msgid "Cheat added to cheat.simple"
msgstr "Cheat adicionada a cheat.simple"
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:442
msgid ""
"Unable to write file\n"
"Ensure that cheatpath folder exists"
@@ -2890,297 +2809,176 @@ msgstr ""
"Não foi possivel escrever ficheiro\n"
"Assegurar que a pasta cheatpath existe"
-#: plugins/cheatfind/init.lua:486
+#: plugins/cheatfind/init.lua:451
msgid "Cancel"
msgstr "Cancelar"
-#: plugins/cheatfind/init.lua:491
+#: plugins/cheatfind/init.lua:456
msgid "CPU or RAM"
msgstr "CPU ou RAM"
-#: plugins/cheatfind/init.lua:495
+#: plugins/cheatfind/init.lua:460
msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
"Alterações a isto apenas têm efeito quando \"Começar nova procura\" está "
"seleccionada"
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
-msgstr ""
+#: plugins/cheatfind/init.lua:479
+msgid "Data cleared and current state saved"
+msgstr "Dados limpos e estado actual gravado"
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:551
+#: plugins/cheatfind/init.lua:487
msgid "Start new search"
msgstr "Começar nova procura"
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
-msgstr ""
+#: plugins/cheatfind/init.lua:497
+msgid "Current state saved"
+msgstr "Estado actual gravado"
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
-msgstr ""
+#: plugins/cheatfind/init.lua:504
+msgid "Save current -- #"
+msgstr "Gravar actual -- #"
-#: plugins/cheatfind/init.lua:614
+#: plugins/cheatfind/init.lua:536
#, lua-format
msgid "%d total matches found"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
-msgstr ""
+#: plugins/cheatfind/init.lua:543
+msgid "Compare"
+msgstr "Comparar"
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
-msgstr ""
+#: plugins/cheatfind/init.lua:546
+msgid "Left operand"
+msgstr "Operando esquerdo"
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
-msgstr ""
+#: plugins/cheatfind/init.lua:549
+msgid "Current"
+msgstr "Actual"
+
+#: plugins/cheatfind/init.lua:554
+msgid "Operator"
+msgstr "Operador"
+
+#: plugins/cheatfind/init.lua:561
+msgid "Left less than right, value is difference"
+msgstr "Esquerda menor que direita, valor é a diferença"
-#: plugins/cheatfind/init.lua:676
+#: plugins/cheatfind/init.lua:563
+msgid "Left greater than right, value is difference"
+msgstr "Esquerda maior que direita, valor é a diferença"
+
+#: plugins/cheatfind/init.lua:565
msgid "Left equal to right"
msgstr "Esquerda igual a direita"
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
-msgstr ""
+#: plugins/cheatfind/init.lua:567
+msgid "Left not equal to right, value is difference"
+msgstr "Esquerda diferente de direita, valor é a diferença"
-#: plugins/cheatfind/init.lua:680
+#: plugins/cheatfind/init.lua:569
msgid "Left equal to right with bitmask"
msgstr "Esquerda igual a direita com bitmask"
-#: plugins/cheatfind/init.lua:682
+#: plugins/cheatfind/init.lua:571
msgid "Left not equal to right with bitmask"
msgstr "Esquerda diferente da direita com bitmask"
-#: plugins/cheatfind/init.lua:684
+#: plugins/cheatfind/init.lua:573
msgid "Left less than value"
msgstr "Esquerda menor que valor"
-#: plugins/cheatfind/init.lua:686
+#: plugins/cheatfind/init.lua:575
msgid "Left greater than value"
msgstr "Esquerda maior que valor"
-#: plugins/cheatfind/init.lua:688
+#: plugins/cheatfind/init.lua:577
msgid "Left equal to value"
msgstr "Esquerda igual a valor"
-#: plugins/cheatfind/init.lua:690
+#: plugins/cheatfind/init.lua:579
msgid "Left not equal to value"
msgstr "Esquerda diferente de valor"
-#: plugins/cheatfind/init.lua:712
+#: plugins/cheatfind/init.lua:590
+msgid "Right operand"
+msgstr "Operando direito"
+
+#: plugins/cheatfind/init.lua:598
msgid "Value"
msgstr "Valor"
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:719
+#: plugins/cheatfind/init.lua:602
msgid "Any"
msgstr "Qualquer"
-#: plugins/cheatfind/init.lua:725
+#: plugins/cheatfind/init.lua:608
msgid "Data Format"
msgstr "Formato de Dados"
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:738
-msgid ""
-"Use this if you want to poke the Slot 1 value (eg. You started with "
-"something but lost it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:740
-msgid ""
-"Use this if you want to poke the Last Slot value (eg. You started without an "
-"item but finally got it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:816
+#: plugins/cheatfind/init.lua:632
msgid "Undo last search -- #"
msgstr "Undo da última procura -- #"
-#: plugins/cheatfind/init.lua:820
+#: plugins/cheatfind/init.lua:636
msgid "Match block"
msgstr "Match bloco"
-#: plugins/cheatfind/init.lua:823
+#: plugins/cheatfind/init.lua:639
msgid "All"
msgstr "Todos"
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheatfind/init.lua:690
#, lua-format
-msgid "Test Cheat %08X:%02X"
-msgstr ""
+msgid "Test cheat at addr %08X"
+msgstr "testar cheat no endereço %08X"
-#: plugins/cheatfind/init.lua:974
+#: plugins/cheatfind/init.lua:722
msgid "Cheat engine not available"
msgstr "Motor de cheats não disponível"
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Test"
msgstr "Teste"
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Write"
msgstr "Escrever"
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Watch"
msgstr "Monitorizar"
-#: plugins/cheatfind/init.lua:1045
+#: plugins/cheatfind/init.lua:788
msgid "Page"
msgstr "Página"
-#: plugins/cheatfind/init.lua:1063
+#: plugins/cheatfind/init.lua:806
msgid "Clear Watches"
msgstr "Limpar Monitorizações"
-#: plugins/cheatfind/init.lua:1078
+#: plugins/cheatfind/init.lua:816
msgid "Cheat Finder"
msgstr "Cheat Finder"
-#: plugins/portname/init.lua:103
+#: plugins/portname/init.lua:69
msgid "Save input names to file"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
+#: plugins/portname/init.lua:100 plugins/portname/init.lua:105
+#: plugins/portname/init.lua:121
msgid "Failed to save input name file"
msgstr ""
-#: plugins/portname/init.lua:167
+#: plugins/portname/init.lua:133
#, lua-format
msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/portname/init.lua:172
+#: plugins/portname/init.lua:138
msgid "Input ports"
msgstr ""
-#~ msgid "Data cleared and current state saved"
-#~ msgstr "Dados limpos e estado actual gravado"
-
-#~ msgid "Current state saved"
-#~ msgstr "Estado actual gravado"
-
-#~ msgid "Save current -- #"
-#~ msgstr "Gravar actual -- #"
-
-#~ msgid "Compare"
-#~ msgstr "Comparar"
-
-#~ msgid "Left operand"
-#~ msgstr "Operando esquerdo"
-
-#~ msgid "Current"
-#~ msgstr "Actual"
-
-#~ msgid "Operator"
-#~ msgstr "Operador"
-
-#~ msgid "Left less than right, value is difference"
-#~ msgstr "Esquerda menor que direita, valor é a diferença"
-
-#~ msgid "Left greater than right, value is difference"
-#~ msgstr "Esquerda maior que direita, valor é a diferença"
-
-#~ msgid "Left not equal to right, value is difference"
-#~ msgstr "Esquerda diferente de direita, valor é a diferença"
-
-#~ msgid "Right operand"
-#~ msgstr "Operando direito"
-
-#~ msgid "Test cheat at addr %08X"
-#~ msgstr "testar cheat no endereço %08X"
-
#~ msgid " total matches found"
#~ msgstr " correspondências totais encontradas"
diff --git a/language/Portuguese_Brazil/strings.po b/language/Portuguese_Brazil/strings.po
index e0e174199f9..4944e2c956f 100644
--- a/language/Portuguese_Brazil/strings.po
+++ b/language/Portuguese_Brazil/strings.po
@@ -1,15 +1,15 @@
# Brazilian Portuguese translations for MAME Project.
# Traduções para o Português do Brasil para o Projeto MAME.
-# Copyright (C) 1997-2019 MAMEDev and contributors
+# Copyright (C) 1997-2018 MAMEDev and contributors
# This file is distributed under the same license as the MAME Project.
-# Automatically generated, 2019.
+# Automatically generated, 2018.
#
msgid ""
msgstr ""
"Project-Id-Version: MAME\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-03-17 13:37+1100\n"
-"PO-Revision-Date: 2019-02-05 17:50-0300\n"
+"POT-Creation-Date: 2018-04-28 15:32+1000\n"
+"PO-Revision-Date: 2018-04-30 13:17-0300\n"
"Last-Translator: Katananja, Ashura-X\n"
"Language-Team: MAME Language Team\n"
"Language: pt_BR\n"
@@ -18,61 +18,238 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
+#: src/frontend/mame/ui/auditmenu.cpp:96
#, c-format
-msgid "Screen #%d"
-msgstr "Tela #%d"
+msgid "Audit ROMs for %1$u machines marked unavailable?"
+msgstr "Auditar as ROMS para %1$u máquinas marcadas como indisponíveis?"
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr "Rotação"
+#: src/frontend/mame/ui/auditmenu.cpp:99
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
+msgstr "Auditar as ROMs para toda as %1$u máquinas?"
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr "Planos de fundo"
+#: src/frontend/mame/ui/auditmenu.cpp:104
+#, c-format
+msgid "(results will be saved to %1$s)"
+msgstr "(os resultados serão salvos em %1$s)"
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Enabled"
-msgstr "Ativado"
+#: src/frontend/mame/ui/auditmenu.cpp:130
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
+msgstr ""
+"Auditando as ROMs para a máquina %2$u de %3$u...\n"
+"%1$s"
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Disabled"
-msgstr "Desativado"
+#: src/frontend/mame/ui/auditmenu.cpp:142
+msgid "Start Audit"
+msgstr "Iniciar Auditoria"
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr "Sobreposição"
+#: src/frontend/mame/ui/selmenu.cpp:49 src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Snapshots"
+msgstr "Retratos"
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr "Molduras"
+#: src/frontend/mame/ui/selmenu.cpp:50 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cabinets"
+msgstr "Gabinetes"
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
-msgstr "CPanels"
+#: src/frontend/mame/ui/selmenu.cpp:51
+msgid "Control Panels"
+msgstr "Painéis de Controle"
+
+#: src/frontend/mame/ui/selmenu.cpp:52 src/frontend/mame/ui/dirmenu.cpp:50
+msgid "PCBs"
+msgstr "PCBs"
+
+#: src/frontend/mame/ui/selmenu.cpp:53 src/frontend/mame/ui/dirmenu.cpp:47
+msgid "Flyers"
+msgstr "Panfletos"
+
+#: src/frontend/mame/ui/selmenu.cpp:54 src/frontend/mame/ui/dirmenu.cpp:48
+msgid "Titles"
+msgstr "Títulos"
+
+#: src/frontend/mame/ui/selmenu.cpp:55 src/frontend/mame/ui/dirmenu.cpp:49
+msgid "Ends"
+msgstr "Ends"
+
+#: src/frontend/mame/ui/selmenu.cpp:56
+msgid "Artwork Preview"
+msgstr "Visualização da Arte"
+
+#: src/frontend/mame/ui/selmenu.cpp:57 src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Bosses"
+msgstr "Chefes"
+
+#: src/frontend/mame/ui/selmenu.cpp:58 src/frontend/mame/ui/dirmenu.cpp:60
+msgid "Logos"
+msgstr "Logos"
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
+#: src/frontend/mame/ui/selmenu.cpp:59 src/frontend/mame/ui/dirmenu.cpp:62
+msgid "Versus"
+msgstr "Versus"
+
+#: src/frontend/mame/ui/selmenu.cpp:60
+msgid "Game Over"
+msgstr "Fim de Jogo"
+
+#: src/frontend/mame/ui/selmenu.cpp:61 src/frontend/mame/ui/dirmenu.cpp:59
+msgid "HowTo"
+msgstr "Como"
+
+#: src/frontend/mame/ui/selmenu.cpp:62 src/frontend/mame/ui/dirmenu.cpp:61
+msgid "Scores"
+msgstr "Placares"
+
+#: src/frontend/mame/ui/selmenu.cpp:63 src/frontend/mame/ui/dirmenu.cpp:57
+msgid "Select"
+msgstr "Selecionado"
+
+#: src/frontend/mame/ui/selmenu.cpp:64 src/frontend/mame/ui/dirmenu.cpp:51
+#: src/frontend/mame/ui/videoopt.cpp:224
msgid "Marquees"
msgstr "Marquises"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
-msgstr "Vista"
+#: src/frontend/mame/ui/selmenu.cpp:65 src/frontend/mame/ui/dirmenu.cpp:63
+msgid "Covers"
+msgstr "Capas"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
-msgstr "Recortado"
+#: src/frontend/mame/ui/selmenu.cpp:69
+msgid "Add or remove favorites"
+msgstr "Adicionar ou remover favoritos"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
-msgstr "Cheio"
+#: src/frontend/mame/ui/selmenu.cpp:70
+msgid "Export displayed list to file"
+msgstr "Exportar lista exibida para arquivo"
+
+#: src/frontend/mame/ui/selmenu.cpp:71
+msgid "Show DATs view"
+msgstr "Mostrar visualização de DATs"
+
+#: src/frontend/mame/ui/selmenu.cpp:237
+msgid "Software part selection:"
+msgstr "Seleção por parte de Programa"
+
+#: src/frontend/mame/ui/selmenu.cpp:343
+msgid "BIOS selection:"
+msgstr "Seleção de BIOS:"
+
+#: src/frontend/mame/ui/selmenu.cpp:570 src/frontend/mame/ui/selmenu.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:311
+#, c-format
+msgid "%1$s, %2$-.100s"
+msgstr "%1$s, %2$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:574
+#, c-format
+msgid "Software is clone of: %1$-.100s"
+msgstr "Programa é clone de: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:576
+msgid "Software is parent"
+msgstr "Programa é pai"
+
+#: src/frontend/mame/ui/selmenu.cpp:581
+msgid "Supported: No"
+msgstr "Há Suporte: Não"
+
+#: src/frontend/mame/ui/selmenu.cpp:586
+msgid "Supported: Partial"
+msgstr "Há Suporte: Parcial"
+
+#: src/frontend/mame/ui/selmenu.cpp:591
+msgid "Supported: Yes"
+msgstr "Há Suporte: Sim"
+
+#: src/frontend/mame/ui/selmenu.cpp:596
+#, c-format
+msgid "romset: %1$-.100s"
+msgstr "romset: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:612
+#, c-format
+msgid "Driver is clone of: %1$-.100s"
+msgstr "O Driver é clone de: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:614
+msgid "Driver is parent"
+msgstr "Driver é pai"
+
+#: src/frontend/mame/ui/selmenu.cpp:619
+#: src/frontend/mame/ui/simpleselgame.cpp:330
+msgid "Overall: NOT WORKING"
+msgstr "Geral: NÃO FUNCIONA"
+
+#: src/frontend/mame/ui/selmenu.cpp:621
+#: src/frontend/mame/ui/simpleselgame.cpp:332
+msgid "Overall: Unemulated Protection"
+msgstr "Geral: Proteção Não Emulada"
+
+#: src/frontend/mame/ui/selmenu.cpp:623
+#: src/frontend/mame/ui/simpleselgame.cpp:334
+msgid "Overall: Working"
+msgstr "Geral: Funciona"
+
+#: src/frontend/mame/ui/selmenu.cpp:627
+#: src/frontend/mame/ui/simpleselgame.cpp:338
+msgid "Graphics: Unimplemented, "
+msgstr "Gráficos: Não Implementado"
+
+#: src/frontend/mame/ui/selmenu.cpp:629
+#: src/frontend/mame/ui/simpleselgame.cpp:340
+msgid "Graphics: Imperfect, "
+msgstr "Gráficos: Imperfeitos, "
+
+#: src/frontend/mame/ui/selmenu.cpp:631
+#: src/frontend/mame/ui/simpleselgame.cpp:342
+msgid "Graphics: OK, "
+msgstr "Gráficos: OK, "
+
+#: src/frontend/mame/ui/selmenu.cpp:634
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+msgid "Sound: None"
+msgstr "Som: Sem"
+
+#: src/frontend/mame/ui/selmenu.cpp:636
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+msgid "Sound: Unimplemented"
+msgstr "Som: Não Implementado"
+
+#: src/frontend/mame/ui/selmenu.cpp:638
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+msgid "Sound: Imperfect"
+msgstr "Som: Imperfeito"
+
+#: src/frontend/mame/ui/selmenu.cpp:640
+#: src/frontend/mame/ui/simpleselgame.cpp:351
+msgid "Sound: OK"
+msgstr "Som: OK"
+
+#: src/frontend/mame/ui/selmenu.cpp:650
+#, c-format
+msgid "%1$s %2$s"
+msgstr "%1$s %2$s"
+
+#: src/frontend/mame/ui/selmenu.cpp:1975
+msgid "Images"
+msgstr "Imagens"
+
+#: src/frontend/mame/ui/selmenu.cpp:1976
+msgid "Infos"
+msgstr "Informações"
+
+#: src/frontend/mame/ui/selmenu.cpp:2386 src/frontend/mame/ui/miscmenu.cpp:826
+msgid " (default)"
+msgstr " (padrão)"
+
+#: src/frontend/mame/ui/selmenu.cpp:2454
+msgid "Usage"
+msgstr "Uso"
+
+#: src/frontend/mame/ui/selmenu.cpp:2489
+msgid "General Info"
+msgstr "Informações Gerais"
#: src/frontend/mame/ui/dirmenu.cpp:35
msgid "ROMs"
@@ -80,7 +257,7 @@ msgstr "ROMs"
#: src/frontend/mame/ui/dirmenu.cpp:36
msgid "Software Media"
-msgstr "Software em Mídia"
+msgstr "Mídia de Software"
#: src/frontend/mame/ui/dirmenu.cpp:37
msgid "UI"
@@ -104,7 +281,7 @@ msgstr "INIs"
#: src/frontend/mame/ui/dirmenu.cpp:42
msgid "Category INIs"
-msgstr "INIs de Categoria"
+msgstr "Categoria INIs"
#: src/frontend/mame/ui/dirmenu.cpp:43
msgid "Icons"
@@ -114,30 +291,6 @@ msgstr "Ãcones"
msgid "Cheats"
msgstr "Trapaças"
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
-msgstr "Retratos"
-
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
-msgstr "Gabinetes"
-
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
-msgstr "Panfletos"
-
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
-msgstr "Títulos"
-
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
-msgstr "Ends"
-
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
-msgstr "PCBs"
-
#: src/frontend/mame/ui/dirmenu.cpp:52
msgid "Controls Panels"
msgstr "Painéis de Controle"
@@ -150,72 +303,44 @@ msgstr "Mira"
msgid "Artworks"
msgstr "Arte"
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
-msgstr "Chefes"
-
#: src/frontend/mame/ui/dirmenu.cpp:56
msgid "Artworks Preview"
msgstr "Amostra das Artes"
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
-msgstr "Selecionado"
-
#: src/frontend/mame/ui/dirmenu.cpp:58
msgid "GameOver"
msgstr "Fim do Jogo"
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
-msgstr "Como"
-
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
-msgstr "Logos"
-
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
-msgstr "Placares"
-
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
-msgstr "Versus"
-
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
-msgstr "Capas"
-
#: src/frontend/mame/ui/dirmenu.cpp:116
msgid "Folders Setup"
-msgstr "Configuração de Diretórios"
+msgstr "Configurar Pastas"
#: src/frontend/mame/ui/dirmenu.cpp:167
#, c-format
msgid "Current %1$s Folders"
-msgstr "%1$s Diretórios Atuais"
+msgstr "%1$s Pastas Atuais"
#: src/frontend/mame/ui/dirmenu.cpp:179
msgid "Change Folder"
-msgstr "Mudar o Diretório"
+msgstr "Mudar Pasta"
#: src/frontend/mame/ui/dirmenu.cpp:179
msgid "Add Folder"
-msgstr "Adicionar Diretório"
+msgstr "Adicionar Pasta"
#: src/frontend/mame/ui/dirmenu.cpp:182
msgid "Remove Folder"
-msgstr "Remover Diretório"
+msgstr "Remover Pasta"
#: src/frontend/mame/ui/dirmenu.cpp:418
#, c-format
msgid "Change %1$s Folder - Search: %2$s_"
-msgstr "Mudar %1$s Diretório(s) - Pesquisa: %2$s_"
+msgstr "Mudar %1$s Pasta(s) - Pesquisa: %2$s_"
#: src/frontend/mame/ui/dirmenu.cpp:418
#, c-format
msgid "Add %1$s Folder - Search: %2$s_"
-msgstr "Adicionar %1$s Diretório(s) - Pesquisa: %2$s_"
+msgstr "Adicionar %1$s Pasta(s) - Pesquisa: %2$s_"
#: src/frontend/mame/ui/dirmenu.cpp:429
msgid "Press TAB to set"
@@ -224,16 +349,279 @@ msgstr "Pressione TAB para definir"
#: src/frontend/mame/ui/dirmenu.cpp:513
#, c-format
msgid "Remove %1$s Folder"
-msgstr "Remover %1$s Diretório(s)"
+msgstr "Remover %1$s Pasta(s)"
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
-msgstr "Lista de Seleção - Pesquisa: "
+#: src/frontend/mame/ui/info.cpp:30
+msgid "protection"
+msgstr "proteção"
+
+#: src/frontend/mame/ui/info.cpp:31
+msgid "color palette"
+msgstr "paleta de cor"
+
+#: src/frontend/mame/ui/info.cpp:32
+msgid "graphics"
+msgstr "gráficos"
+
+#: src/frontend/mame/ui/info.cpp:33
+msgid "sound"
+msgstr "som"
+
+#: src/frontend/mame/ui/info.cpp:34
+msgid "controls"
+msgstr "controles"
+
+#: src/frontend/mame/ui/info.cpp:35
+msgid "keyboard"
+msgstr "teclado"
+
+#: src/frontend/mame/ui/info.cpp:36
+msgid "mouse"
+msgstr "mouse"
+
+#: src/frontend/mame/ui/info.cpp:37
+msgid "microphone"
+msgstr "microfone"
+
+#: src/frontend/mame/ui/info.cpp:38
+msgid "camera"
+msgstr "câmera"
+
+#: src/frontend/mame/ui/info.cpp:39
+msgid "disk"
+msgstr "disco"
+
+#: src/frontend/mame/ui/info.cpp:40
+msgid "printer"
+msgstr "impressora"
-#: src/frontend/mame/ui/selector.cpp:123
+#: src/frontend/mame/ui/info.cpp:41
+msgid "LAN"
+msgstr "REDE"
+
+#: src/frontend/mame/ui/info.cpp:42
+msgid "WAN"
+msgstr "WAN"
+
+#: src/frontend/mame/ui/info.cpp:43
+msgid "timing"
+msgstr "temporização"
+
+#: src/frontend/mame/ui/info.cpp:180
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
+msgstr ""
+"Uma ou mais ROMs/CHDs para esta máquina estão incorretas. A máquina pode não "
+"funcionar corretamente\n"
+
+#: src/frontend/mame/ui/info.cpp:190
+msgid ""
+"There are known problems with this machine\n"
+"\n"
+msgstr ""
+"Existem problemas conhecidos com essa máquina\n"
+"\n"
+
+#: src/frontend/mame/ui/info.cpp:195
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+msgstr ""
+"Uma ou mais imagens de ROMs ou CHDs não foram extraídas corretamente para "
+"essa máquina \n"
+
+#: src/frontend/mame/ui/info.cpp:200
+msgid "Completely unemulated features: "
+msgstr "Recursos não emulados por completo: "
+
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
#, c-format
-msgid "Double click or press %1$s to select"
-msgstr "Faça um clique duplo ou pressione %1$s para mudar o valor da cor"
+msgid "%s"
+msgstr "%s"
+
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#: src/frontend/mame/ui/info.cpp:267
+#, c-format
+msgid ", %s"
+msgstr ", %s"
+
+#: src/frontend/mame/ui/info.cpp:216
+msgid "Imperfectly emulated features: "
+msgstr "Características emuladas imperfeitamente: "
+
+#: src/frontend/mame/ui/info.cpp:231
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr "O modo coquetel não tem suporte a inversão de tela.\n"
+
+#: src/frontend/mame/ui/info.cpp:233
+msgid "This machine requires external artwork files.\n"
+msgstr "Esta máquina precisa de arquivos externos de arte.\n"
+
+#: src/frontend/mame/ui/info.cpp:235
+msgid ""
+"This machine was never completed. It may exhibit strange behavior or missing "
+"elements that are not bugs in the emulation.\n"
+msgstr ""
+"Esta máquina nunca foi terminada. Ela pode apresentar um comportamento "
+"estranho ou faltar alguns elementos que não são erros de emulação.\n"
+
+#: src/frontend/mame/ui/info.cpp:237
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
+msgstr ""
+"Esta máquina não tem hardware de som, MAME não irá produzir som algum, isto "
+"já é esperado.\n"
+
+#: src/frontend/mame/ui/info.cpp:241
+msgid ""
+"\n"
+"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
+"complete. There is nothing you can do to fix this problem except wait for "
+"the developers to improve the emulation.\n"
+msgstr ""
+"\n"
+"ESTA MÃQUINA NÃO FUNCIONA. A emulação para esta máquina ainda não está "
+"completa. Não há nada que você possa fazer para resolver este problema "
+"exceto aguardar os desenvolvedores melhorarem a emulação.\n"
+
+#: src/frontend/mame/ui/info.cpp:243
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they requires physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
+msgstr ""
+"\n"
+"Não foi possível emular elementos desta máquina pois necessitam de interação "
+"física ou são dispositivos mecânicos. Não é possível ter uma experiência "
+"completa com esta máquina.\n"
+
+#: src/frontend/mame/ui/info.cpp:265
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
+msgstr ""
+"\n"
+"\n"
+"Existem clones que funcionam com esta máquina: %s"
+
+#: src/frontend/mame/ui/info.cpp:278
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+"\n"
+"\n"
+"Pressione qualquer tecla para continuar"
+
+#: src/frontend/mame/ui/info.cpp:293
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
+msgstr ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
+
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "MHz"
+msgstr "MHz"
+
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "kHz"
+msgstr "kHz"
+
+#: src/frontend/mame/ui/info.cpp:342
+msgid ""
+"\n"
+"Sound:\n"
+msgstr ""
+"\n"
+"Som:\n"
+
+#: src/frontend/mame/ui/info.cpp:370
+msgid ""
+"\n"
+"Video:\n"
+msgstr ""
+"\n"
+"Vídeo:\n"
+
+#: src/frontend/mame/ui/info.cpp:374
+msgid "None\n"
+msgstr "Nenhum\n"
+
+#: src/frontend/mame/ui/info.cpp:381
+msgid "Vector"
+msgstr "Vetorial"
+
+#: src/frontend/mame/ui/info.cpp:392
+#, c-format
+msgid "%1$s: %2$s\n"
+msgstr "%1$s: %2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:392
+msgid "%2$s\n"
+msgstr "%2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:438
+#, c-format
+msgid "Screen '%1$s'"
+msgstr "Tela '%1$s'"
+
+#: src/frontend/mame/ui/info.cpp:440
+msgid "Screen"
+msgstr "Tela"
+
+#: src/frontend/mame/ui/info.cpp:525
+msgid "Not supported"
+msgstr "Sem suporte"
+
+#: src/frontend/mame/ui/info.cpp:528
+msgid "Partially supported"
+msgstr "Suporte Parcial"
+
+#: src/frontend/mame/ui/info.cpp:536
+msgid "[empty]"
+msgstr "[vazio]"
+
+#: src/frontend/mame/ui/optsmenu.cpp:193
+msgid "Filter"
+msgstr "Filtro"
+
+#: src/frontend/mame/ui/optsmenu.cpp:206
+msgid "Customize UI"
+msgstr "Personalizar a Interface"
+
+#: src/frontend/mame/ui/optsmenu.cpp:207
+msgid "Configure Directories"
+msgstr "Configurar Diretórios"
+
+#: src/frontend/mame/ui/optsmenu.cpp:210 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
+msgstr "Opções de Som"
+
+#: src/frontend/mame/ui/optsmenu.cpp:213
+msgid "General Inputs"
+msgstr "Entradas Gerais"
+
+#: src/frontend/mame/ui/optsmenu.cpp:216
+msgid "Save Configuration"
+msgstr "Salvar Configuração"
+
+#: src/frontend/mame/ui/optsmenu.cpp:228
+msgid "Settings"
+msgstr "Configurações"
#: src/frontend/mame/ui/tapectrl.cpp:85
msgid "stopped"
@@ -275,8 +663,30 @@ msgstr "Retroceder"
msgid "Fast Forward"
msgstr "Avanço Rápido"
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
-#: src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/inputmap.cpp:53
+msgid "User Interface"
+msgstr "Interface do usuário"
+
+#: src/frontend/mame/ui/inputmap.cpp:59
+msgid "Other Controls"
+msgstr "Outros Controles"
+
+#: src/frontend/mame/ui/inputmap.cpp:628 src/frontend/mame/ui/miscmenu.cpp:96
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr "Reiniciar"
+
+#: src/frontend/mame/ui/selector.cpp:116
+msgid "Selection List - Search: "
+msgstr "Lista de Seleção - Pesquisa: "
+
+#: src/frontend/mame/ui/selector.cpp:124
+#, c-format
+msgid "Double click or press %1$s to select"
+msgstr "Faça um clique duplo ou pressione %1$s para mudar o valor da cor"
+
+#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/filesel.cpp:256
msgid "[empty slot]"
msgstr "[slot vazio]"
@@ -317,182 +727,6 @@ msgstr "Uso do Programa"
msgid "Revision: "
msgstr "Revisão: "
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
-msgstr "O Arquivo já Existe - Sobrescrever?"
-
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
-msgstr "Não"
-
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
-msgstr "Sim"
-
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
-msgstr "Novo Nome da Imagem:"
-
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
-msgstr "Formato da Imagem:"
-
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
-msgstr "Criar"
-
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
-msgstr "Por favor, digite também o nome da extensão do arquivo"
-
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
-msgstr "Selecione o formato da imagem"
-
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
-msgstr "Entrada (geral)"
-
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
-msgstr "Entrada (esta máquina)"
-
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
-msgstr "Controles Analógicos"
-
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
-msgstr "Chaves DIP"
-
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
-msgstr "Configuração da Máquina"
-
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
-msgstr "Informação de Contabilidade"
-
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
-msgstr "Informação da Máquina"
-
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
-msgstr "Informação da Imagem"
-
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
-msgstr "Gerenciador de Arquivos"
-
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
-msgstr "Controle da Fita"
-
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
-msgstr "Pseudo terminais"
-
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
-msgstr "Seleção de BIOS"
-
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
-msgstr "Dispositivos de Slot"
-
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
-msgstr "Leitor de código de barras"
-
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
-msgstr "Dispositivos de rede"
-
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
-msgstr "Modo Teclado"
-
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
-msgstr "Controles Deslizantes"
-
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
-msgstr "Opções de Vídeo"
-
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
-msgstr "Opções de Mira"
-
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
-msgstr "Trapaça"
-
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
-msgstr "Opções dos Plug-ins"
-
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
-msgstr "Visualização de DAT Externa"
-
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
-msgstr "Adicionar aos Favoritos"
-
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
-msgstr "Remover dos Favoritos"
-
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
-msgstr "Escolher uma Nova Máquina"
-
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
-msgstr "Novo Código de Barras:"
-
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
-msgstr "Digite o Código"
-
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
-msgstr "O tamanho do código de barras é inválido"
-
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
-msgstr "[falhou]"
-
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
-msgstr "Opções de Som"
-
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
-msgstr "Entradas Gerais"
-
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
-msgstr "Salvar Configuração"
-
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
-msgstr "Configurações"
-
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
-msgstr "Filtro"
-
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
-msgstr "Personalizar a Interface"
-
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
-msgstr "Configurar Diretórios"
-
#: src/frontend/mame/ui/simpleselgame.cpp:149
msgid ""
"The selected game is missing one or more required ROM or CHD images. Please "
@@ -505,7 +739,7 @@ msgstr ""
"\n"
"Pressione qualquer tecla para continuar."
-#: src/frontend/mame/ui/simpleselgame.cpp:247
+#: src/frontend/mame/ui/simpleselgame.cpp:241
#, c-format
msgid ""
"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
@@ -519,329 +753,198 @@ msgstr ""
"Se esta é a sua primeira vez usando %2$s, por favor, veja o arquivo config."
"txt no diretório de documentos para informação em configurar o %2$s."
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:271
+#: src/frontend/mame/ui/selgame.cpp:436
msgid "Configure Options"
msgstr "Opções de Configuração"
-#: src/frontend/mame/ui/simpleselgame.cpp:298
+#: src/frontend/mame/ui/simpleselgame.cpp:292
#, c-format
msgid "Type name or select: %1$s_"
msgstr "Digite o nome ou selecione: %1$s_"
-#: src/frontend/mame/ui/simpleselgame.cpp:300
+#: src/frontend/mame/ui/simpleselgame.cpp:294
msgid "Type name or select: (random)"
msgstr "Digite o nome ou selecione: (aleatório)"
-#: src/frontend/mame/ui/simpleselgame.cpp:314
-#: src/frontend/mame/ui/selsoft.cpp:652 src/frontend/mame/ui/selsoft.cpp:659
+#: src/frontend/mame/ui/simpleselgame.cpp:308
+#: src/frontend/mame/ui/selsoft.cpp:564 src/frontend/mame/ui/selsoft.cpp:571
#, c-format
msgid "%1$-.100s"
msgstr "%1$-.100s"
-#: src/frontend/mame/ui/simpleselgame.cpp:317
-#: src/frontend/mame/ui/selmenu.cpp:618 src/frontend/mame/ui/selmenu.cpp:654
-#, c-format
-msgid "%1$s, %2$-.100s"
-msgstr "%1$s, %2$-.100s"
-
-#: src/frontend/mame/ui/simpleselgame.cpp:320
+#: src/frontend/mame/ui/simpleselgame.cpp:314
#, c-format
msgid "Driver: %1$-.100s"
msgstr "Driver: %1$-.100s"
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
-msgstr "Geral: NÃO FUNCIONA"
+#: src/frontend/mame/ui/videoopt.cpp:56
+#, c-format
+msgid "Screen #%d"
+msgstr "Tela #%d"
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
-msgstr "Geral: Proteção Não Emulada"
+#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
+msgid "Rotate"
+msgstr "Rotação"
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
-msgstr "Geral: Funciona"
+#: src/frontend/mame/ui/videoopt.cpp:208
+msgid "Backdrops"
+msgstr "Planos de fundo"
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
-msgstr "Gráficos: Não Implementado"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Enabled"
+msgstr "Ativado"
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
-msgstr "Gráficos: Imperfeitos, "
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Disabled"
+msgstr "Desativado"
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
-msgstr "Gráficos: OK, "
+#: src/frontend/mame/ui/videoopt.cpp:212
+msgid "Overlays"
+msgstr "Sobreposição"
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
-msgstr "Som: Sem"
+#: src/frontend/mame/ui/videoopt.cpp:216
+msgid "Bezels"
+msgstr "Molduras"
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
-msgstr "Som: Não Implementado"
+#: src/frontend/mame/ui/videoopt.cpp:220
+msgid "CPanels"
+msgstr "CPanels"
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
-msgstr "Som: Imperfeito"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "View"
+msgstr "Vista"
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
-msgstr "Som: OK"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cropped"
+msgstr "Recortado"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
-msgstr "Carregar Estado"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Full"
+msgstr "Cheio"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
-msgstr "Selecione a posição para carregar de"
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
+msgstr "O Arquivo já Existe - Sobrescrever?"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
-msgstr "Salvar Estado"
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1047
+msgid "No"
+msgstr "Não"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
-msgstr "Selecione a posição para salvar em"
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1047
+msgid "Yes"
+msgstr "Sim"
-#: src/frontend/mame/ui/ui.cpp:337
-msgid "This driver requires images to be loaded in the following device(s): "
-msgstr ""
-"Este driver necessita de imagens para ser carregado nos seguintes "
-"dispositivo(s): "
+#: src/frontend/mame/ui/filecreate.cpp:171
+msgid "New Image Name:"
+msgstr "Novo Nome da Imagem:"
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
-msgstr "Estado da Emulação do Teclado"
+#: src/frontend/mame/ui/filecreate.cpp:177
+msgid "Image Format:"
+msgstr "Formato da Imagem:"
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
-msgstr "Modo: Emulação PARCIAL"
+#: src/frontend/mame/ui/filecreate.cpp:183
+msgid "Create"
+msgstr "Criar"
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
-msgstr "IU: Ativo"
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr "Por favor, digite também o nome da extensão do arquivo"
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
-msgstr "**Usar ScrLock para alternar"
+#: src/frontend/mame/ui/filecreate.cpp:266
+msgid "Select image format"
+msgstr "Selecione o formato da imagem"
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
-msgstr "Modo: Emulação COMPLETA"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Keyboard Mode:"
+msgstr "Modo Teclado"
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
-msgstr "IU: Desativado"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Natural"
+msgstr "Natural"
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
-msgstr "Autodisparo não pode ser ativado"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Emulated"
+msgstr "Emulado"
-#: src/frontend/mame/ui/ui.cpp:1302
+#: src/frontend/mame/ui/miscmenu.cpp:236
#, c-format
msgid ""
-"Are you sure you want to quit?\n"
+"Uptime: %1$d:%2$02d:%3$02d\n"
"\n"
-"Press ''%1$s'' to quit,\n"
-"Press ''%2$s'' to return to emulation."
msgstr ""
-"Tem certeza que deseja sair?\n"
+"Tempo em execução: %1$d:%2$02d:%3$02d\n"
"\n"
-"Pressione ''%1$s'' para sair,\n"
-"Pressione ''%2$s'' para retornar à emulação."
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
-msgstr "Volume Principal"
-
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
-msgstr "Volume com %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
-msgstr "Overclock CPU %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
-msgstr "Overclock %1$s som"
-
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
-msgstr "Taxa de Atualização da %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
-msgstr "Brilho da %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
-msgstr "Contraste da %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
-msgstr "Gama da %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
-msgstr "Extensão Horizontal da %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1452
+#: src/frontend/mame/ui/miscmenu.cpp:238
#, c-format
-msgid "%1$s Horiz Position"
-msgstr "Posição Horizontal da %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
-msgstr "Extensão Vertical da %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
-msgstr "Posição Vertical da %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
-msgstr "Laserdisc '%1$s' Extensão Horizontal"
-
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
-msgstr "Laserdisc '%1$s' Posição Horizontal"
-
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
-msgstr "Laserdisc '%1$s' Extensão Vertical"
-
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr "Laserdisc '%1$s' Posição Vertical"
-
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
-msgstr "Cintilação Vetorial"
-
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
-msgstr "Largura Mínima do Feixe de Luz"
-
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
-msgstr "Largura Máxima do Feixe de Luz"
-
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
-msgstr "Intensidade do tamanho do Feixe de Luz"
-
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr "Escala da Mira da %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
-msgstr "X"
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
-msgstr "Y"
-
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
-msgstr "Compensação da Mira %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
-msgstr "%1$3ddB"
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
+msgstr ""
+"Tempo em execução: %1$d:%2$02d\n"
+"\n"
-#: src/frontend/mame/ui/ui.cpp:1645
+#: src/frontend/mame/ui/miscmenu.cpp:242
#, c-format
-msgid "%1$d%%"
-msgstr "%1$d%%"
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
+msgstr ""
+"Bilhetes emitidos: %1$d\n"
+"\n"
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
-msgstr "%1$3.0f%%"
+#: src/frontend/mame/ui/miscmenu.cpp:253
+msgid "Coin %1$c: NA%3$s\n"
+msgstr "Ficha %1$c: NA%3$s\n"
-#: src/frontend/mame/ui/ui.cpp:1685
+#: src/frontend/mame/ui/miscmenu.cpp:253
#, c-format
-msgid "%1$.3ffps"
-msgstr "%1$.3ffps"
+msgid "Coin %1$c: %2$d%3$s\n"
+msgstr "Ficha %1$c: %2$d%3$s\n"
-#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
-#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
-#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
-#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
-#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
-#: src/frontend/mame/ui/ui.cpp:1927
-#, c-format
-msgid "%1$.3f"
-msgstr "%1$.3f"
+#: src/frontend/mame/ui/miscmenu.cpp:256
+msgid " (locked)"
+msgstr "(travado)"
-#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
-#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
-#, c-format
-msgid "%1$1.2f"
-msgstr "%1$1.2f"
+#: src/frontend/mame/ui/miscmenu.cpp:503
+msgid "Visible Delay"
+msgstr "Atraso Visível"
-#: src/frontend/mame/ui/ui.cpp:2005
+#: src/frontend/mame/ui/miscmenu.cpp:601
#, c-format
-msgid "Crosshair Scale X %1$1.3f"
-msgstr "Escala da Mira X %1$1.3f"
+msgid "%s.xml saved under ui folder."
+msgstr "%s.xml foi salvo na pasta ui."
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
-msgstr "Escala da Mira Y %1$1.3f"
+#: src/frontend/mame/ui/miscmenu.cpp:627
+msgid "Name: Description:\n"
+msgstr "Nome: Descrição:\n"
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/miscmenu.cpp:638
#, c-format
-msgid "Crosshair Offset X %1$1.3f"
-msgstr "Compensação da Mira X %1$1.3f"
+msgid "%s.txt saved under ui folder."
+msgstr "%s.txt salvo na pasta ui."
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
-msgstr "Compensação da Mira Y %1$1.3f"
+#: src/frontend/mame/ui/miscmenu.cpp:655
+msgid "Export list in XML format (like -listxml)"
+msgstr "Exportar lista em formato XML (igual -listxml)"
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
-msgstr "**Erro ao salvar ui.ini**"
+#: src/frontend/mame/ui/miscmenu.cpp:656
+msgid "Export list in XML format (like -listxml, but exclude devices)"
+msgstr ""
+"Exportar lista em formato XML (igual -listxml, mas excluindo dispositivos)"
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
-msgstr "**Erro ao salvar %s.ini**"
+#: src/frontend/mame/ui/miscmenu.cpp:657
+msgid "Export list in TXT format (like -listfull)"
+msgstr "Exportar lista em formato TXT (igual -listfull)"
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/miscmenu.cpp:710 src/frontend/mame/ui/ui.cpp:2230
msgid ""
"\n"
" Configuration saved \n"
@@ -851,339 +954,160 @@ msgstr ""
" Configuração salva \n"
"\n"
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
-msgid ""
-"Cheat Comment:\n"
-"%s"
-msgstr ""
-"Descrição da Trapaça:\n"
-"%s"
-
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
-msgstr "Todas as trapaças foram recarregadas"
-
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
-msgstr "Configurações do Autodisparo"
-
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
-msgstr "Reiniciar Tudo"
-
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
-msgstr "Recarregar Tudo"
-
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
-msgstr "Estado do Autodisparo"
-
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
-msgstr "Nenhum botão encontrado nesta máquina!"
-
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
-msgstr "Atraso do Autodisparo"
-
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
-#, c-format
-msgid ""
-"%s\n"
-" added to favorites list."
-msgstr ""
-"%s\n"
-" adicionado à lista de favoritos."
-
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
-#, c-format
-msgid ""
-"%s\n"
-" removed from favorites list."
-msgstr ""
-"%s\n"
-" removido da lista de favoritos."
-
-#: src/frontend/mame/ui/selsoft.cpp:507
-msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
-"\n"
-msgstr ""
-"Está faltando uma ou mais arquivos necessários no programa selecionado. Por "
-"favor, escolha outro.\n"
-"\n"
-
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
-msgstr "Pressione qualquer tecla para continuar"
-
-#: src/frontend/mame/ui/selsoft.cpp:637
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
-msgstr "%1$s %2$s ( %3$d / %4$d pacotes de programas )"
-
-#: src/frontend/mame/ui/selsoft.cpp:638
-#, c-format
-msgid "Driver: \"%1$s\" software list "
-msgstr "Driver: \"%1$s\" lista de programas "
-
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
-#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
-msgstr "%1$s: %2$s - Pesquisa: %3$s_"
-
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
-#, c-format
-msgid "Search: %1$s_"
-msgstr "Pesquisa: %1$s_"
-
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
-msgid "Unfiltered"
-msgstr "Não Filtrado"
-
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
-msgid "Available"
-msgstr "Disponível"
-
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
-msgid "Unavailable"
-msgstr "Não Disponível"
-
-#: src/frontend/mame/ui/utils.cpp:63
-msgid "Working"
-msgstr "Funciona"
-
-#: src/frontend/mame/ui/utils.cpp:64
-msgid "Not Working"
-msgstr "Não Funciona"
-
-#: src/frontend/mame/ui/utils.cpp:65
-msgid "Mechanical"
-msgstr "Mecânico"
-
-#: src/frontend/mame/ui/utils.cpp:66
-msgid "Not Mechanical"
-msgstr "Não Mecânico"
-
-#: src/frontend/mame/ui/utils.cpp:67
-msgid "Category"
-msgstr "Categoria"
-
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
-msgid "Favorites"
-msgstr "Favoritos"
-
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/miscmenu.cpp:760 src/frontend/mame/ui/utils.cpp:66
msgid "BIOS"
msgstr "BIOS"
-#: src/frontend/mame/ui/utils.cpp:70
-msgid "Not BIOS"
-msgstr "Sem BIOS"
-
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
-msgid "Parents"
-msgstr "Pai"
-
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
-msgid "Clones"
-msgstr "Clones"
-
-#: src/frontend/mame/ui/utils.cpp:73
-msgid "Manufacturer"
-msgstr "Fabricante"
-
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
-msgid "Year"
-msgstr "Ano"
-
-#: src/frontend/mame/ui/utils.cpp:75
-msgid "Save Supported"
-msgstr "Com Suporte a Salvamento"
-
-#: src/frontend/mame/ui/utils.cpp:76
-msgid "Save Unsupported"
-msgstr "Sem Suporte a Salvamento"
-
-#: src/frontend/mame/ui/utils.cpp:77
-msgid "CHD Required"
-msgstr "Precisa de CHD"
-
-#: src/frontend/mame/ui/utils.cpp:78
-msgid "No CHD Required"
-msgstr "Não Precisa de CHD"
-
-#: src/frontend/mame/ui/utils.cpp:79
-msgid "Vertical Screen"
-msgstr "Tela Vertical"
-
-#: src/frontend/mame/ui/utils.cpp:80
-msgid "Horizontal Screen"
-msgstr "Tela Horizontal"
-
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
-msgid "Custom Filter"
-msgstr "Filtro Personalizado"
-
-#: src/frontend/mame/ui/utils.cpp:91
-msgid "Publisher"
-msgstr "Editor"
-
-#: src/frontend/mame/ui/utils.cpp:92
-msgid "Supported"
-msgstr "Tem Suporte"
+#: src/frontend/mame/ui/miscmenu.cpp:764
+msgid "Driver"
+msgstr "Driver"
-#: src/frontend/mame/ui/utils.cpp:93
-msgid "Partially Supported"
-msgstr "Suporte Parcial"
+#: src/frontend/mame/ui/miscmenu.cpp:767
+msgid "This machine has no BIOS."
+msgstr "Esta máquina não possui BIOS"
-#: src/frontend/mame/ui/utils.cpp:94
-msgid "Unsupported"
-msgstr "Sem Suporte"
+#: src/frontend/mame/ui/miscmenu.cpp:776 src/frontend/mame/ui/mainmenu.cpp:145
+msgid "Add To Favorites"
+msgstr "Adicionar aos Favoritos"
-#: src/frontend/mame/ui/utils.cpp:95
-msgid "Release Region"
-msgstr "Região do Lançamento"
+#: src/frontend/mame/ui/miscmenu.cpp:778 src/frontend/mame/ui/mainmenu.cpp:147
+msgid "Remove From Favorites"
+msgstr "Remover dos Favoritos"
-#: src/frontend/mame/ui/utils.cpp:96
-msgid "Device Type"
-msgstr "Tipo de Dispositivo"
+#: src/frontend/mame/ui/miscmenu.cpp:781
+msgid "Save machine configuration"
+msgstr "Salvar Configuração da Máquina"
-#: src/frontend/mame/ui/utils.cpp:97
-msgid "Software List"
-msgstr "Lista de Programas"
+#: src/frontend/mame/ui/miscmenu.cpp:792
+msgid "Configure machine:"
+msgstr "Configurar máquina:"
-#: src/frontend/mame/ui/utils.cpp:248
-msgid "<set up filters>"
-msgstr "<Configurar Filtros>"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:736
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:551 plugins/cheatfind/init.lua:619
+msgid "On"
+msgstr "Ligado"
-#: src/frontend/mame/ui/utils.cpp:356
-msgid "Select custom filters:"
-msgstr "Selecionar filtros personalizados:"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:739
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:554 plugins/cheat/init.lua:563
+#: plugins/cheatfind/init.lua:616
+msgid "Off"
+msgstr "Desligado"
-#: src/frontend/mame/ui/utils.cpp:507
-#, c-format
-msgid "Filter %1$u"
-msgstr "Filtro %1$u"
+#: src/frontend/mame/ui/miscmenu.cpp:909 src/frontend/mame/ui/selgame.cpp:441
+msgid "Plugins"
+msgstr "Plug-ins"
-#: src/frontend/mame/ui/utils.cpp:522
-msgid "Remove last filter"
-msgstr "Remover o último filtro"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
+msgstr "Novo Código de Barras:"
-#: src/frontend/mame/ui/utils.cpp:524
-msgid "Add filter"
-msgstr "Adicionar filtro"
+#: src/frontend/mame/ui/barcode.cpp:78
+msgid "Enter Code"
+msgstr "Digite o Código"
-#: src/frontend/mame/ui/utils.cpp:966
-msgid "Select category:"
-msgstr "Escolha uma categoria"
+#: src/frontend/mame/ui/barcode.cpp:119
+msgid "Barcode length invalid!"
+msgstr "O tamanho do código de barras é inválido"
-#: src/frontend/mame/ui/utils.cpp:997
-msgid "[no category INI files]"
-msgstr "[arquivos INI sem categoria]"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:99
+msgid "Pseudo terminals"
+msgstr "Pseudo terminais"
-#: src/frontend/mame/ui/utils.cpp:1005
-msgid "[no groups in INI file]"
-msgstr "[sem grupos no arquivo INI]"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
+msgstr "[falhou]"
-#: src/frontend/mame/ui/utils.cpp:1039
-msgid "No category INI files found"
-msgstr "Nenhum arquivo INI contendo categorias foram encontrados"
+#: src/frontend/mame/ui/mainmenu.cpp:60
+msgid "Input (general)"
+msgstr "Entrada (geral)"
-#: src/frontend/mame/ui/utils.cpp:1044
-msgid "File"
-msgstr "Arquivo"
+#: src/frontend/mame/ui/mainmenu.cpp:62
+msgid "Input (this Machine)"
+msgstr "Entrada (esta máquina)"
-#: src/frontend/mame/ui/utils.cpp:1048
-msgid "No groups found in category file"
-msgstr "Nenhum grupo encontrado no arquivo de categoria"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Analog Controls"
+msgstr "Controles Analógicos"
-#: src/frontend/mame/ui/utils.cpp:1053
-msgid "Group"
-msgstr "Grupo"
+#: src/frontend/mame/ui/mainmenu.cpp:68
+msgid "Dip Switches"
+msgstr "Chaves DIP"
-#: src/frontend/mame/ui/utils.cpp:1054
-msgid "Include clones"
-msgstr "Incluir clones"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "Machine Configuration"
+msgstr "Configuração da Máquina"
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
-msgstr "[criar]"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
+msgstr "Informação de Contabilidade"
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:78
+msgid "Machine Information"
+msgstr "Informação da Máquina"
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
-msgstr "Selecione o modo de acesso"
+#: src/frontend/mame/ui/mainmenu.cpp:85
+msgid "Image Information"
+msgstr "Informação da Imagem"
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
-msgstr "Somente-leitura"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
+msgstr "Gerenciador de Arquivos"
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
-msgstr "Somente-escrita"
+#: src/frontend/mame/ui/mainmenu.cpp:96
+msgid "Tape Control"
+msgstr "Controle da Fita"
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
-msgstr "Ler esta imagem, escrever para outra imagem"
+#: src/frontend/mame/ui/mainmenu.cpp:102
+msgid "BIOS Selection"
+msgstr "Seleção de BIOS"
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
-msgstr "Ler esta imagem, escrever para diff"
+#: src/frontend/mame/ui/mainmenu.cpp:106
+msgid "Slot Devices"
+msgstr "Dispositivos de Slot"
-#: src/frontend/mame/ui/slotopt.cpp:192
-#, c-format
-msgid "%s [internal]"
-msgstr "%s [interno]"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Barcode Reader"
+msgstr "Leitor de código de barras"
-#: src/frontend/mame/ui/slotopt.cpp:203 src/frontend/mame/ui/miscmenu.cpp:97
-#: src/frontend/mame/ui/inputmap.cpp:615
-msgid "Reset"
-msgstr "Reiniciar"
+#: src/frontend/mame/ui/mainmenu.cpp:114
+msgid "Network Devices"
+msgstr "Dispositivos de rede"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
-msgstr " CORES"
+#: src/frontend/mame/ui/mainmenu.cpp:118
+msgid "Keyboard Mode"
+msgstr "Modo Teclado"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
-msgstr " CANETAS"
+#: src/frontend/mame/ui/mainmenu.cpp:121
+msgid "Slider Controls"
+msgstr "Controles Deslizantes"
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
-msgstr "Voltar à Máquina"
+#: src/frontend/mame/ui/mainmenu.cpp:124 src/frontend/mame/ui/submenu.cpp:101
+msgid "Video Options"
+msgstr "Opções de Vídeo"
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
-msgstr "Sair"
+#: src/frontend/mame/ui/mainmenu.cpp:128
+msgid "Crosshair Options"
+msgstr "Opções de Mira"
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
-msgstr "Voltar ao Menu Anterior"
+#: src/frontend/mame/ui/mainmenu.cpp:132 plugins/cheat/init.lua:735
+msgid "Cheat"
+msgstr "Trapaça"
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:762
-#: plugins/cheat/init.lua:569 plugins/cheatfind/init.lua:792
-#: plugins/cheatfind/init.lua:803
-msgid "On"
-msgstr "Ligado"
+#: src/frontend/mame/ui/mainmenu.cpp:135
+msgid "Plugin Options"
+msgstr "Opções dos Plug-ins"
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:765
-#: plugins/cheat/init.lua:572 plugins/cheat/init.lua:581
-#: plugins/cheatfind/init.lua:789 plugins/cheatfind/init.lua:800
-msgid "Off"
-msgstr "Desligado"
+#: src/frontend/mame/ui/mainmenu.cpp:139
+msgid "External DAT View"
+msgstr "Visualização de DAT Externa"
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
-msgstr "Automático"
+#: src/frontend/mame/ui/mainmenu.cpp:154
+msgid "Select New Machine"
+msgstr "Escolher uma Nova Máquina"
#: src/frontend/mame/ui/custui.cpp:31
msgid "Show All"
@@ -1405,462 +1329,6 @@ msgstr "Amarelo"
msgid "Violet"
msgstr "Violeta"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
-msgstr "Modo Teclado"
-
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
-msgstr "Natural"
-
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
-msgstr "Emulado"
-
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
-msgstr ""
-"Tempo em execução: %1$d:%2$02d:%3$02d\n"
-"\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
-msgstr ""
-"Tempo em execução: %1$d:%2$02d\n"
-"\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
-msgstr ""
-"Bilhetes emitidos: %1$d\n"
-"\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
-msgstr "Ficha %1$c: NA%3$s\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
-msgstr "Ficha %1$c: %2$d%3$s\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
-msgstr "(travado)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
-msgstr "Atraso Visível"
-
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
-msgstr "%s.xml foi salvo no diretório ui."
-
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
-msgstr "Nome: Descrição:\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:639
-#, c-format
-msgid "%s.txt saved under ui folder."
-msgstr "%s.txt salvo no diretório ui."
-
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
-msgstr "Exportar lista em formato XML (igual -listxml)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
-msgstr ""
-"Exportar lista em formato XML (igual -listxml, mas excluindo dispositivos)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
-msgstr "Exportar lista em formato TXT (igual -listfull)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
-msgstr "Driver"
-
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
-msgstr "Esta máquina não possui BIOS"
-
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
-msgstr "Salvar Configuração da Máquina"
-
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
-msgstr "Configurar máquina:"
-
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
-msgstr " (padrão)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
-msgstr "Plug-ins"
-
-#: src/frontend/mame/ui/selgame.cpp:607
-msgid "Configure Machine"
-msgstr "Configurar a Máquina"
-
-#: src/frontend/mame/ui/selgame.cpp:1036
-#, c-format
-msgid "Romset\t%1$-.100s\n"
-msgstr "Romset\t%1$-.100s\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1037
-#, c-format
-msgid "Year\t%1$s\n"
-msgstr "Ano\t%1$s\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1038
-#, c-format
-msgid "Manufacturer\t%1$-.100s\n"
-msgstr "Fabricante\t%1$-.100s\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1042
-#, c-format
-msgid "Driver is Clone of\t%1$-.100s\n"
-msgstr "Driver é Clone de\t%1$-.100s\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1044
-msgid "Driver is Parent\t\n"
-msgstr "Driver é Pai\t\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1047
-msgid "Analog Controls\tYes\n"
-msgstr "Controles Analógicos\tSim\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1049
-msgid "Keyboard Inputs\tYes\n"
-msgstr "Entradas do Teclado\tSim\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1052
-msgid "Overall\tNOT WORKING\n"
-msgstr "Geral\tNÃO FUNCIONA\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1054
-msgid "Overall\tUnemulated Protection\n"
-msgstr "Geral\tProteção não Emulada\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1056
-msgid "Overall\tWorking\n"
-msgstr "Geral\tFunciona\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1059
-msgid "Graphics\tUnimplemented\n"
-msgstr "Geral\tNão Implementado\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1061
-msgid "Graphics\tWrong Colors\n"
-msgstr "Graficos\tCores Erradas\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1063
-msgid "Graphics\tImperfect Colors\n"
-msgstr "Gráficos\tCores Imperfeitas\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1065
-msgid "Graphics\tImperfect\n"
-msgstr "Gráficos\tImperfeitos\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1067
-msgid "Graphics\tOK\n"
-msgstr "Gráficos\tOK\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1070
-msgid "Sound\tNone\n"
-msgstr "Som\tSem\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1072
-msgid "Sound\tUnimplemented\n"
-msgstr "Som\tNão Implementado\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1074
-msgid "Sound\tImperfect\n"
-msgstr "Som\tImperfeitos\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1076
-msgid "Sound\tOK\n"
-msgstr "Som\tOK\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1079
-msgid "Capture\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1081
-msgid "Capture\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1084
-msgid "Camera\tUnimplemented\n"
-msgstr "Câmera\tNão Implementado\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1086
-msgid "Camera\tImperfect\n"
-msgstr "Câmera\tImperfeita\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1089
-msgid "Microphone\tUnimplemented\n"
-msgstr "Microfone\tNão Implementado\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1091
-msgid "Microphone\tImperfect\n"
-msgstr "Microfone\tImperfeito\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1094
-msgid "Controls\tUnimplemented\n"
-msgstr "Controles\tNão Implementados\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1096
-msgid "Controls\tImperfect\n"
-msgstr "Controles\tImperfeitos\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1099
-msgid "Keyboard\tUnimplemented\n"
-msgstr "Teclado\tNão Implementado\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1101
-msgid "Keyboard\tImperfect\n"
-msgstr "Teclado\tImperfeito\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1104
-msgid "Mouse\tUnimplemented\n"
-msgstr "Mouse\tNão Implementado\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1106
-msgid "Mouse\tImperfect\n"
-msgstr "Mouse\tImperfeito\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1109
-msgid "Media\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1111
-msgid "Media\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1114
-msgid "Disk\tUnimplemented\n"
-msgstr "Disco\tNão Implementado\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1116
-msgid "Disk\tImperfect\n"
-msgstr "Disco\tImperfeito\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1119
-msgid "Printer\tUnimplemented\n"
-msgstr "Impressora\tNão Implementada\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1121
-msgid "Printer\tImperfect\n"
-msgstr "Impressora\tImperfeita\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1124
-msgid "Mag. Tape\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1126
-msgid "Mag. Tape\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1129
-msgid "Punch Tape\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1131
-msgid "Punch Tape\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1134
-msgid "Mag. Drum\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1136
-msgid "Mag. Drum\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1139
-msgid "(EP)ROM\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1141
-msgid "(EP)ROM\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1144
-msgid "Communications\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1146
-msgid "Communications\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1149
-msgid "LAN\tUnimplemented\n"
-msgstr "LAN\tNão Implementada\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1151
-msgid "LAN\tImperfect\n"
-msgstr "LAN\tImperfeita\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1154
-msgid "WAN\tUnimplemented\n"
-msgstr "WAN\tNão Implementada\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1156
-msgid "WAN\tImperfect\n"
-msgstr "WAN\tImperfeita\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1159
-msgid "Timing\tUnimplemented\n"
-msgstr "Temporização\tNão Implementado\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1161
-msgid "Timing\tImperfect\n"
-msgstr "Temporização\tImperfeita\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tYes\n"
-msgstr "Máquina Mecânica\tSim\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tNo\n"
-msgstr "Máquina Mecânica\tNão\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tYes\n"
-msgstr "Precisa de Arte\tSim\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tNo\n"
-msgstr "Precisa de Arte\tNão\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tYes\n"
-msgstr "Necessita de Arte Selecionável\tSim\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tNo\n"
-msgstr "Necessita de Arte Selecionável\tNão\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tYes\n"
-msgstr "Há Suporte ao Modo Coquetel\tSim\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tNo\n"
-msgstr "Há Suporte ao Modo Coquetel\tNão\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tYes\n"
-msgstr "O Driver é BIOS\tSim\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tNo\n"
-msgstr "O Driver é BIOS\tNão\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tYes\n"
-msgstr "Há Suporte para Salvamento\tSim\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tNo\n"
-msgstr "Há Suporte para Salvamento\tNão\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tVertical\n"
-msgstr "Orientação de tela\tVertical\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tHorizontal\n"
-msgstr "Orientação de tela\tHorizontal\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tYes\n"
-msgstr "Precisa de CHD\tSim\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tNo\n"
-msgstr "Precisa de CHD\tNão\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1192
-msgid "ROM Audit Result\tOK\n"
-msgstr "Condição da ROM\tBOA\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1194
-msgid "ROM Audit Result\tBAD\n"
-msgstr "Condição da ROM\tRUIM\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1197
-msgid "Samples Audit Result\tNone Needed\n"
-msgstr "Condição das Amostras\tNenhuma Necessária\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1199
-msgid "Samples Audit Result\tOK\n"
-msgstr "Condição das Amostras\tBOA\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1201
-msgid "Samples Audit Result\tBAD\n"
-msgstr "Condição das Amostras\tRUIM\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1205
-msgid ""
-"ROM Audit \tDisabled\n"
-"Samples Audit \tDisabled\n"
-msgstr ""
-"Aferição de ROM \tDesativado\n"
-"Aferição de Amostras \tDesativado\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1396
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
-msgstr "%1$s %2$s ( %3$d / %4$d máquinas (%5$d BIOS) )"
-
-#: src/frontend/mame/ui/selgame.cpp:1424
-#, c-format
-msgid "Romset: %1$-.100s"
-msgstr "Romset: %1$-.100s"
-
-#: src/frontend/mame/ui/selgame.cpp:1431
-#, c-format
-msgid "System: %1$-.100s"
-msgstr "Sistema: %1$-.100s"
-
-#: src/frontend/mame/ui/selgame.cpp:1465
-msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
-msgstr ""
-"Está faltando uma ou mais imagens de ROMS ou CHD necessárias para que a "
-"máquina selecionada funcione. Por favor, selecione uma máquina diferente.\n"
-"\n"
-
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
-msgstr "Som"
-
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
-msgstr "Taxa de Amostragem"
-
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
-msgstr "Usar Amostras Externas"
-
#: src/frontend/mame/ui/submenu.cpp:22
msgid "Miscellaneous Options"
msgstr "Opções Diversas"
@@ -2161,209 +1629,566 @@ msgstr "Atualização de Quadros Sincronizada"
msgid "Wait Vertical Sync"
msgstr "Aguardar Sincronismo Vertical"
-#: src/frontend/mame/ui/devopt.cpp:43
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Load State"
+msgstr "Carregar Estado"
+
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Select position to load from"
+msgstr "Selecione a posição para carregar de"
+
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Save State"
+msgstr "Salvar Estado"
+
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Select position to save to"
+msgstr "Selecione a posição para salvar em"
+
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
+msgstr "%s [interno]"
+
+#: src/frontend/mame/ui/selgame.cpp:309 src/frontend/mame/ui/selsoft.cpp:211
#, c-format
msgid ""
-"[This option is currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"The selected option enables the following items:\n"
+"%s\n"
+" added to favorites list."
msgstr ""
-"[Esta opção está montada atualmente no sistema em execução]\n"
-"\n"
-"Opção: %1$s\n"
-"Dispositivo: %2$s\n"
-"\n"
-"A opção selecionada ativa os ítens a seguir:\n"
+"%s\n"
+" adicionado à lista de favoritos."
-#: src/frontend/mame/ui/devopt.cpp:44
+#: src/frontend/mame/ui/selgame.cpp:314 src/frontend/mame/ui/selgame.cpp:320
+#: src/frontend/mame/ui/selsoft.cpp:216
#, c-format
msgid ""
-"[This option is NOT currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"If you select this option, the following items will be enabled:\n"
+"%s\n"
+" removed from favorites list."
msgstr ""
-"[Esta opção NÃO está montada atualmente no sistema em execução]\n"
-"\n"
-"Opção: %1$s\n"
-"Dispositivo: %2$s\n"
-"\n"
-"Se você selecionar essa opção, os ítens a seguir serão ativados:\n"
+"%s\n"
+" removido da lista de favoritos."
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
-msgstr "* CPU:\n"
+#: src/frontend/mame/ui/selgame.cpp:437
+msgid "Configure Machine"
+msgstr "Configurar a Máquina"
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/selgame.cpp:849
#, c-format
-msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
-msgstr " %1$d×%2$s %3$d.%4$06d MHz\n"
+msgid "Romset\t%1$-.100s\n"
+msgstr "Romset\t%1$-.100s\n"
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
-msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
-msgstr " %1$d×%2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/selgame.cpp:850
+#, c-format
+msgid "Year\t%1$s\n"
+msgstr "Ano\t%1$s\n"
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %3$d.%4$06d MHz\n"
-msgstr " %2$s %3$d.%4$06d MHz\n"
+#: src/frontend/mame/ui/selgame.cpp:851
+#, c-format
+msgid "Manufacturer\t%1$-.100s\n"
+msgstr "Fabricante\t%1$-.100s\n"
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
-msgstr " %2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/selgame.cpp:855
+#, c-format
+msgid "Driver is Clone of\t%1$-.100s\n"
+msgstr "Driver é Clone de\t%1$-.100s\n"
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
-msgstr "* Vídeo:\n"
+#: src/frontend/mame/ui/selgame.cpp:857
+msgid "Driver is Parent\t\n"
+msgstr "Driver é Pai\t\n"
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
-msgstr " Tela '%1$s': Vetor\n"
+#: src/frontend/mame/ui/selgame.cpp:860
+msgid "Analog Controls\tYes\n"
+msgstr "Controles Analógicos\tSim\n"
-#: src/frontend/mame/ui/devopt.cpp:103
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
-msgstr " Tela '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+#: src/frontend/mame/ui/selgame.cpp:862
+msgid "Keyboard Inputs\tYes\n"
+msgstr "Entradas do Teclado\tSim\n"
-#: src/frontend/mame/ui/devopt.cpp:104
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
-msgstr " Tela '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+#: src/frontend/mame/ui/selgame.cpp:865
+msgid "Overall\tNOT WORKING\n"
+msgstr "Geral\tNÃO FUNCIONA\n"
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
-msgstr "* Som:\n"
+#: src/frontend/mame/ui/selgame.cpp:867
+msgid "Overall\tUnemulated Protection\n"
+msgstr "Geral\tProteção não Emulada\n"
-#: src/frontend/mame/ui/devopt.cpp:137
-#, c-format
-msgid " %1$d×%2$s\n"
-msgstr " %1$d×%2$s\n"
+#: src/frontend/mame/ui/selgame.cpp:869
+msgid "Overall\tWorking\n"
+msgstr "Geral\tFunciona\n"
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
-msgstr " %2$s\n"
+#: src/frontend/mame/ui/selgame.cpp:872
+msgid "Graphics\tUnimplemented\n"
+msgstr "Geral\tNão Implementado\n"
-#: src/frontend/mame/ui/devopt.cpp:168
-#, c-format
-msgid ""
-"* BIOS settings:\n"
-" %1$d options [default: %2$s]\n"
-msgstr ""
-"* Configurações da BIOS:\n"
-" %1$d opções [padrão: %2$s]\n"
+#: src/frontend/mame/ui/selgame.cpp:874
+msgid "Graphics\tWrong Colors\n"
+msgstr "Graficos\tCores Erradas\n"
-#: src/frontend/mame/ui/devopt.cpp:208 src/frontend/mame/ui/devopt.cpp:224
-#: src/frontend/mame/ui/devopt.cpp:269
-#, c-format
-msgid " %1$s [default: %2$s]\n"
-msgstr " %1$s [padrão: %2$s]\n"
+#: src/frontend/mame/ui/selgame.cpp:876
+msgid "Graphics\tImperfect Colors\n"
+msgstr "Gráficos\tCores Imperfeitas\n"
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
-#, c-format
-msgid " %1$s\n"
-msgstr " %1$s\n"
+#: src/frontend/mame/ui/selgame.cpp:878
+msgid "Graphics\tImperfect\n"
+msgstr "Gráficos\tImperfeitos\n"
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
-msgstr "* Configurações das chaves DIP:\n"
+#: src/frontend/mame/ui/selgame.cpp:880
+msgid "Graphics\tOK\n"
+msgstr "Gráficos\tOK\n"
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
-msgstr "* Definição das configurações:\n"
+#: src/frontend/mame/ui/selgame.cpp:883
+msgid "Sound\tNone\n"
+msgstr "Som\tSem\n"
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
-msgstr "* Dispositivo(s) de entrada:\n"
+#: src/frontend/mame/ui/selgame.cpp:885
+msgid "Sound\tUnimplemented\n"
+msgstr "Som\tNão Implementado\n"
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
-msgstr " Entradas do usuário [%1$d entradas]\n"
+#: src/frontend/mame/ui/selgame.cpp:887
+msgid "Sound\tImperfect\n"
+msgstr "Som\tImperfeitos\n"
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
-msgstr " Entradas Mahjong [%1$d entradas]\n"
+#: src/frontend/mame/ui/selgame.cpp:889
+msgid "Sound\tOK\n"
+msgstr "Som\tOK\n"
-#: src/frontend/mame/ui/devopt.cpp:244
-#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
-msgstr " Entrada Hanafuda [%1$d entradas]\n"
+#: src/frontend/mame/ui/selgame.cpp:892
+msgid "Controls\tUnimplemented\n"
+msgstr "Controles\tNão Implementados\n"
-#: src/frontend/mame/ui/devopt.cpp:246
+#: src/frontend/mame/ui/selgame.cpp:894
+msgid "Controls\tImperfect\n"
+msgstr "Controles\tImperfeitos\n"
+
+#: src/frontend/mame/ui/selgame.cpp:897
+msgid "Keyboard\tUnimplemented\n"
+msgstr "Teclado\tNão Implementado\n"
+
+#: src/frontend/mame/ui/selgame.cpp:899
+msgid "Keyboard\tImperfect\n"
+msgstr "Teclado\tImperfeito\n"
+
+#: src/frontend/mame/ui/selgame.cpp:902
+msgid "Mouse\tUnimplemented\n"
+msgstr "Mouse\tNão Implementado\n"
+
+#: src/frontend/mame/ui/selgame.cpp:904
+msgid "Mouse\tImperfect\n"
+msgstr "Mouse\tImperfeito\n"
+
+#: src/frontend/mame/ui/selgame.cpp:907
+msgid "Microphone\tUnimplemented\n"
+msgstr "Microfone\tNão Implementado\n"
+
+#: src/frontend/mame/ui/selgame.cpp:909
+msgid "Microphone\tImperfect\n"
+msgstr "Microfone\tImperfeito\n"
+
+#: src/frontend/mame/ui/selgame.cpp:912
+msgid "Camera\tUnimplemented\n"
+msgstr "Câmera\tNão Implementado\n"
+
+#: src/frontend/mame/ui/selgame.cpp:914
+msgid "Camera\tImperfect\n"
+msgstr "Câmera\tImperfeita\n"
+
+#: src/frontend/mame/ui/selgame.cpp:917
+msgid "Disk\tUnimplemented\n"
+msgstr "Disco\tNão Implementado\n"
+
+#: src/frontend/mame/ui/selgame.cpp:919
+msgid "Disk\tImperfect\n"
+msgstr "Disco\tImperfeito\n"
+
+#: src/frontend/mame/ui/selgame.cpp:922
+msgid "Printer\tUnimplemented\n"
+msgstr "Impressora\tNão Implementada\n"
+
+#: src/frontend/mame/ui/selgame.cpp:924
+msgid "Printer\tImperfect\n"
+msgstr "Impressora\tImperfeita\n"
+
+#: src/frontend/mame/ui/selgame.cpp:927
+msgid "LAN\tUnimplemented\n"
+msgstr "LAN\tNão Implementada\n"
+
+#: src/frontend/mame/ui/selgame.cpp:929
+msgid "LAN\tImperfect\n"
+msgstr "LAN\tImperfeita\n"
+
+#: src/frontend/mame/ui/selgame.cpp:932
+msgid "WAN\tUnimplemented\n"
+msgstr "WAN\tNão Implementada\n"
+
+#: src/frontend/mame/ui/selgame.cpp:934
+msgid "WAN\tImperfect\n"
+msgstr "WAN\tImperfeita\n"
+
+#: src/frontend/mame/ui/selgame.cpp:937
+msgid "Timing\tUnimplemented\n"
+msgstr "Temporização\tNão Implementado\n"
+
+#: src/frontend/mame/ui/selgame.cpp:939
+msgid "Timing\tImperfect\n"
+msgstr "Temporização\tImperfeita\n"
+
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tYes\n"
+msgstr "Máquina Mecânica\tSim\n"
+
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tNo\n"
+msgstr "Máquina Mecânica\tNão\n"
+
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tYes\n"
+msgstr "Precisa de Arte\tSim\n"
+
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tNo\n"
+msgstr "Precisa de Arte\tNão\n"
+
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tYes\n"
+msgstr "Necessita de Arte Selecionável\tSim\n"
+
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tNo\n"
+msgstr "Necessita de Arte Selecionável\tNão\n"
+
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tYes\n"
+msgstr "Há Suporte ao Modo Coquetel\tSim\n"
+
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tNo\n"
+msgstr "Há Suporte ao Modo Coquetel\tNão\n"
+
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tYes\n"
+msgstr "O Driver é BIOS\tSim\n"
+
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tNo\n"
+msgstr "O Driver é BIOS\tNão\n"
+
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tYes\n"
+msgstr "Há Suporte para Salvamento\tSim\n"
+
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tNo\n"
+msgstr "Há Suporte para Salvamento\tNão\n"
+
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tVertical\n"
+msgstr "Orientação de tela\tVertical\n"
+
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tHorizontal\n"
+msgstr "Orientação de tela\tHorizontal\n"
+
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tYes\n"
+msgstr "Precisa de CHD\tSim\n"
+
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tNo\n"
+msgstr "Precisa de CHD\tNão\n"
+
+#: src/frontend/mame/ui/selgame.cpp:970
+msgid "ROM Audit Result\tOK\n"
+msgstr "Condição da ROM\tBOA\n"
+
+#: src/frontend/mame/ui/selgame.cpp:972
+msgid "ROM Audit Result\tBAD\n"
+msgstr "Condição da ROM\tRUIM\n"
+
+#: src/frontend/mame/ui/selgame.cpp:975
+msgid "Samples Audit Result\tNone Needed\n"
+msgstr "Condição das Amostras\tNenhuma Necessária\n"
+
+#: src/frontend/mame/ui/selgame.cpp:977
+msgid "Samples Audit Result\tOK\n"
+msgstr "Condição das Amostras\tBOA\n"
+
+#: src/frontend/mame/ui/selgame.cpp:979
+msgid "Samples Audit Result\tBAD\n"
+msgstr "Condição das Amostras\tRUIM\n"
+
+#: src/frontend/mame/ui/selgame.cpp:983
+msgid ""
+"ROM Audit \tDisabled\n"
+"Samples Audit \tDisabled\n"
+msgstr ""
+"Aferição de ROM \tDesativado\n"
+"Aferição de Amostras \tDesativado\n"
+
+#: src/frontend/mame/ui/selgame.cpp:1167
#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
-msgstr " Entradas para jogos de apostas [%1$d entradas]\n"
+msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
+msgstr "%1$s %2$s ( %3$d / %4$d máquinas (%5$d BIOS) )"
-#: src/frontend/mame/ui/devopt.cpp:248
+#: src/frontend/mame/ui/selgame.cpp:1183 src/frontend/mame/ui/selsoft.cpp:555
#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
-msgstr " Entradas Analógicas [%1$d entradas]\n"
+msgid "%1$s: %2$s - Search: %3$s_"
+msgstr "%1$s: %2$s - Pesquisa: %3$s_"
-#: src/frontend/mame/ui/devopt.cpp:250
+#: src/frontend/mame/ui/selgame.cpp:1185 src/frontend/mame/ui/selsoft.cpp:557
#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
-msgstr " Entradas Adjuster [%1$d entradas]\n"
+msgid "Search: %1$s_"
+msgstr "Pesquisa: %1$s_"
-#: src/frontend/mame/ui/devopt.cpp:252
+#: src/frontend/mame/ui/selgame.cpp:1195
#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
-msgstr " Entradas de teclado numérico [%1$d entradas]\n"
+msgid "Romset: %1$-.100s"
+msgstr "Romset: %1$-.100s"
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/selgame.cpp:1202
#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
-msgstr " Entradas de teclado [%1$d entradas]\n"
+msgid "System: %1$-.100s"
+msgstr "Sistema: %1$-.100s"
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
-msgstr "* Opções de Mídia:\n"
+#: src/frontend/mame/ui/selgame.cpp:1239
+msgid ""
+"The selected machine is missing one or more required ROM or CHD images. "
+"Please select a different machine.\n"
+"\n"
+msgstr ""
+"Está faltando uma ou mais imagens de ROMS ou CHD necessárias para que a "
+"máquina selecionada funcione. Por favor, selecione uma máquina diferente.\n"
+"\n"
-#: src/frontend/mame/ui/devopt.cpp:261
-#, c-format
-msgid " %1$s [tag: %2$s]\n"
-msgstr " %1$s [tag: %2$s]\n"
+#: src/frontend/mame/ui/selgame.cpp:1245 src/frontend/mame/ui/selsoft.cpp:462
+msgid "Press any key to continue."
+msgstr "Pressione qualquer tecla para continuar"
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
-msgstr "* Opções de Slot:\n"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
+msgstr "Som"
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
-msgstr "[Nenhum]\n"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
+msgstr "Taxa de Amostragem"
-#: src/frontend/mame/ui/auditmenu.cpp:96
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
+msgstr "Usar Amostras Externas"
+
+#: src/frontend/mame/ui/utils.cpp:57 src/frontend/mame/ui/utils.cpp:81
+msgid "Unfiltered"
+msgstr "Não Filtrado"
+
+#: src/frontend/mame/ui/utils.cpp:58 src/frontend/mame/ui/utils.cpp:82
+msgid "Available"
+msgstr "Disponível"
+
+#: src/frontend/mame/ui/utils.cpp:59 src/frontend/mame/ui/utils.cpp:83
+msgid "Unavailable"
+msgstr "Não Disponível"
+
+#: src/frontend/mame/ui/utils.cpp:60
+msgid "Working"
+msgstr "Funciona"
+
+#: src/frontend/mame/ui/utils.cpp:61
+msgid "Not Working"
+msgstr "Não Funciona"
+
+#: src/frontend/mame/ui/utils.cpp:62
+msgid "Mechanical"
+msgstr "Mecânico"
+
+#: src/frontend/mame/ui/utils.cpp:63
+msgid "Not Mechanical"
+msgstr "Não Mecânico"
+
+#: src/frontend/mame/ui/utils.cpp:64
+msgid "Category"
+msgstr "Categoria"
+
+#: src/frontend/mame/ui/utils.cpp:65
+msgid "Favorites"
+msgstr "Favoritos"
+
+#: src/frontend/mame/ui/utils.cpp:67
+msgid "Not BIOS"
+msgstr "Sem BIOS"
+
+#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:84
+msgid "Parents"
+msgstr "Pai"
+
+#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/utils.cpp:85
+msgid "Clones"
+msgstr "Clones"
+
+#: src/frontend/mame/ui/utils.cpp:70
+msgid "Manufacturer"
+msgstr "Fabricante"
+
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:86
+msgid "Year"
+msgstr "Ano"
+
+#: src/frontend/mame/ui/utils.cpp:72
+msgid "Save Supported"
+msgstr "Com Suporte a Salvamento"
+
+#: src/frontend/mame/ui/utils.cpp:73
+msgid "Save Unsupported"
+msgstr "Sem Suporte a Salvamento"
+
+#: src/frontend/mame/ui/utils.cpp:74
+msgid "CHD Required"
+msgstr "Precisa de CHD"
+
+#: src/frontend/mame/ui/utils.cpp:75
+msgid "No CHD Required"
+msgstr "Não Precisa de CHD"
+
+#: src/frontend/mame/ui/utils.cpp:76
+msgid "Vertical Screen"
+msgstr "Tela Vertical"
+
+#: src/frontend/mame/ui/utils.cpp:77
+msgid "Horizontal Screen"
+msgstr "Tela Horizontal"
+
+#: src/frontend/mame/ui/utils.cpp:78 src/frontend/mame/ui/utils.cpp:94
+msgid "Custom Filter"
+msgstr "Filtro Personalizado"
+
+#: src/frontend/mame/ui/utils.cpp:87
+msgid "Publisher"
+msgstr "Editor"
+
+#: src/frontend/mame/ui/utils.cpp:88
+msgid "Supported"
+msgstr "Tem Suporte"
+
+#: src/frontend/mame/ui/utils.cpp:89
+msgid "Partially Supported"
+msgstr "Suporte Parcial"
+
+#: src/frontend/mame/ui/utils.cpp:90
+msgid "Unsupported"
+msgstr "Sem Suporte"
+
+#: src/frontend/mame/ui/utils.cpp:91
+msgid "Release Region"
+msgstr "Região do Lançamento"
+
+#: src/frontend/mame/ui/utils.cpp:92
+msgid "Device Type"
+msgstr "Tipo de Dispositivo"
+
+#: src/frontend/mame/ui/utils.cpp:93
+msgid "Software List"
+msgstr "Lista de Programas"
+
+#: src/frontend/mame/ui/utils.cpp:244
+msgid "<set up filters>"
+msgstr "<Configurar Filtros>"
+
+#: src/frontend/mame/ui/utils.cpp:352
+msgid "Select custom filters:"
+msgstr "Selecionar filtros personalizados:"
+
+#: src/frontend/mame/ui/utils.cpp:503
#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
-msgstr "Auditar as ROMS para %1$u máquinas marcadas como indisponíveis?"
+msgid "Filter %1$u"
+msgstr "Filtro %1$u"
-#: src/frontend/mame/ui/auditmenu.cpp:99
+#: src/frontend/mame/ui/utils.cpp:518
+msgid "Remove last filter"
+msgstr "Remover o último filtro"
+
+#: src/frontend/mame/ui/utils.cpp:520
+msgid "Add filter"
+msgstr "Adicionar filtro"
+
+#: src/frontend/mame/ui/utils.cpp:959
+msgid "Select category:"
+msgstr "Selecione a categoria"
+
+#: src/frontend/mame/ui/utils.cpp:990
+msgid "[no category INI files]"
+msgstr "[arquivos INI sem categoria]"
+
+#: src/frontend/mame/ui/utils.cpp:998
+msgid "[no groups in INI file]"
+msgstr "[sem grupos no arquivo INI]"
+
+#: src/frontend/mame/ui/utils.cpp:1032
+msgid "No category INI files found"
+msgstr "arquivos INI sem categoria encontrada"
+
+#: src/frontend/mame/ui/utils.cpp:1037
+msgid "File"
+msgstr "Arquivo"
+
+#: src/frontend/mame/ui/utils.cpp:1041
+msgid "No groups found in category file"
+msgstr "Nenhum grupo encontrado no arquivo de categoria"
+
+#: src/frontend/mame/ui/utils.cpp:1046
+msgid "Group"
+msgstr "Grupo"
+
+#: src/frontend/mame/ui/utils.cpp:1047
+msgid "Include clones"
+msgstr "Incluir clones"
+
+#: src/frontend/mame/ui/selsoft.cpp:456
+msgid ""
+"The selected software is missing one or more required files. Please select a "
+"different software.\n"
+"\n"
+msgstr ""
+"Está faltando uma ou mais arquivos necessários no programa selecionado. Por "
+"favor, escolha outro.\n"
+"\n"
+
+#: src/frontend/mame/ui/selsoft.cpp:549
#, c-format
-msgid "Audit ROMs for all %1$u machines?"
-msgstr "Auditar as ROMs para toda as %1$u máquinas?"
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgstr "%1$s %2$s ( %3$d / %4$d pacotes de programas )"
-#: src/frontend/mame/ui/auditmenu.cpp:104
+#: src/frontend/mame/ui/selsoft.cpp:550
#, c-format
-msgid "(results will be saved to %1$s)"
-msgstr "(os resultados serão salvos em %1$s)"
+msgid "Driver: \"%1$s\" software list "
+msgstr "Driver: \"%1$s\" lista de programas "
-#: src/frontend/mame/ui/auditmenu.cpp:130
+#: src/frontend/mame/ui/filesel.cpp:260
+msgid "[create]"
+msgstr "[criar]"
+
+#: src/frontend/mame/ui/filesel.cpp:419
#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
+msgid "Error accessing %s"
msgstr ""
-"Auditando as ROMs para a máquina %2$u de %3$u...\n"
-"%1$s"
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr "Iniciar Auditoria"
+#: src/frontend/mame/ui/filesel.cpp:515
+msgid "Select access mode"
+msgstr "Selecione o modo de acesso"
+
+#: src/frontend/mame/ui/filesel.cpp:516
+msgid "Read-only"
+msgstr "Somente-leitura"
+
+#: src/frontend/mame/ui/filesel.cpp:518
+msgid "Read-write"
+msgstr "Somente-escrita"
+
+#: src/frontend/mame/ui/filesel.cpp:519
+msgid "Read this image, write to another image"
+msgstr "Ler esta imagem, escrever para outra imagem"
+
+#: src/frontend/mame/ui/filesel.cpp:520
+msgid "Read this image, write to diff"
+msgstr "Ler esta imagem, escrever para diff"
#: src/frontend/mame/ui/imgcntrl.cpp:117
msgid "Cannot save over directory"
@@ -2377,373 +2202,467 @@ msgstr ""
"Está faltando uma ou mais imagens ROMs ou CHDs necessário no programa "
"selecionado para que esta máquina funcione. Por favor, escolha outro."
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
-msgstr "proteção"
-
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
-msgstr "temporização"
+#: src/frontend/mame/ui/menu.cpp:294
+msgid "Return to Machine"
+msgstr "Voltar à Máquina"
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
-msgstr "gráficos"
+#: src/frontend/mame/ui/menu.cpp:299 src/frontend/mame/ui/menu.cpp:301
+msgid "Exit"
+msgstr "Sair"
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
-msgstr "paleta de cor"
+#: src/frontend/mame/ui/menu.cpp:306 src/frontend/mame/ui/menu.cpp:308
+msgid "Return to Previous Menu"
+msgstr "Voltar ao Menu Anterior"
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
-msgstr "som"
+#: src/frontend/mame/ui/menu.cpp:742
+msgid "Auto"
+msgstr "Automático"
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:653
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
+"Descrição da Trapaça:\n"
+"%s"
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
-msgstr "câmera"
-
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
-msgstr "microfone"
+#: src/frontend/mame/ui/cheatopt.cpp:105
+msgid "All cheats reloaded"
+msgstr "Todas as trapaças foram recarregadas"
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
-msgstr "controles"
+#: src/frontend/mame/ui/cheatopt.cpp:136
+msgid "Autofire Settings"
+msgstr "Configurações do Autodisparo"
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
-msgstr "teclado"
+#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:581
+msgid "Reset All"
+msgstr "Reiniciar Tudo"
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
-msgstr "mouse"
+#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:582
+msgid "Reload All"
+msgstr "Recarregar Tudo"
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
-msgstr ""
+#: src/frontend/mame/ui/cheatopt.cpp:273
+msgid "Autofire Status"
+msgstr "Estado do Autodisparo"
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
-msgstr "disco"
+#: src/frontend/mame/ui/cheatopt.cpp:316
+msgid "No buttons found on this machine!"
+msgstr "Nenhum botão encontrado nesta máquina!"
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
-msgstr "impressora"
+#: src/frontend/mame/ui/cheatopt.cpp:327 src/frontend/mame/ui/cheatopt.cpp:331
+msgid "Autofire Delay"
+msgstr "Atraso do Autodisparo"
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/ui.cpp:337
+msgid "This driver requires images to be loaded in the following device(s): "
msgstr ""
+"Este driver necessita de imagens para ser carregado nos seguintes "
+"dispositivo(s): "
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
-msgstr ""
+#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
+msgid "Keyboard Emulation Status"
+msgstr "Estado da Emulação do Teclado"
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
-msgstr ""
+#: src/frontend/mame/ui/ui.cpp:1086
+msgid "Mode: PARTIAL Emulation"
+msgstr "Modo: Emulação PARCIAL"
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
-msgstr ""
+#: src/frontend/mame/ui/ui.cpp:1087
+msgid "UI: Enabled"
+msgstr "IU: Ativo"
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
-msgstr ""
+#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
+msgid "**Use ScrLock to toggle**"
+msgstr "**Usar ScrLock para alternar"
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
-msgstr "REDE"
+#: src/frontend/mame/ui/ui.cpp:1096
+msgid "Mode: FULL Emulation"
+msgstr "Modo: Emulação COMPLETA"
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
-msgstr "WAN"
+#: src/frontend/mame/ui/ui.cpp:1097
+msgid "UI: Disabled"
+msgstr "IU: Desativado"
-#: src/frontend/mame/ui/info.cpp:188
-msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
-msgstr ""
-"Uma ou mais ROMs/CHDs para esta máquina estão incorretas. A máquina pode não "
-"funcionar corretamente\n"
+#: src/frontend/mame/ui/ui.cpp:1249
+msgid "Autofire can't be enabled"
+msgstr "Autodisparo não pode ser ativado"
-#: src/frontend/mame/ui/info.cpp:198
+#: src/frontend/mame/ui/ui.cpp:1302
+#, c-format
msgid ""
-"There are known problems with this machine\n"
+"Are you sure you want to quit?\n"
"\n"
+"Press ''%1$s'' to quit,\n"
+"Press ''%2$s'' to return to emulation."
msgstr ""
-"Existem problemas conhecidos com essa máquina\n"
+"Tem certeza que deseja sair?\n"
"\n"
+"Pressione ''%1$s'' para sair,\n"
+"Pressione ''%2$s'' para retornar à emulação."
-#: src/frontend/mame/ui/info.cpp:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
-msgstr ""
-"Uma ou mais imagens de ROMs ou CHDs não foram extraídas corretamente para "
-"essa máquina \n"
+#: src/frontend/mame/ui/ui.cpp:1374
+msgid "Master Volume"
+msgstr "Volume Principal"
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
-msgstr "Recursos não emulados por completo: "
+#: src/frontend/mame/ui/ui.cpp:1383
+#, c-format
+msgid "%1$s Volume"
+msgstr "Volume com %1$s"
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
+#: src/frontend/mame/ui/ui.cpp:1407
#, c-format
-msgid "%s"
-msgstr "%s"
+msgid "Overclock CPU %1$s"
+msgstr "Overclock CPU %1$s"
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#: src/frontend/mame/ui/info.cpp:275
+#: src/frontend/mame/ui/ui.cpp:1416
#, c-format
-msgid ", %s"
-msgstr ", %s"
+msgid "Overclock %1$s sound"
+msgstr "Overclock %1$s som"
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
-msgstr "Características emuladas imperfeitamente: "
+#: src/frontend/mame/ui/ui.cpp:1437
+#, c-format
+msgid "%1$s Refresh Rate"
+msgstr "Taxa de Atualização da %1$s"
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
-msgstr "O modo coquetel não tem suporte a inversão de tela.\n"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, c-format
+msgid "%1$s Brightness"
+msgstr "Brilho da %1$s"
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
-msgstr "Esta máquina precisa de arquivos externos de arte.\n"
+#: src/frontend/mame/ui/ui.cpp:1444
+#, c-format
+msgid "%1$s Contrast"
+msgstr "Contraste da %1$s"
-#: src/frontend/mame/ui/info.cpp:243
-msgid ""
-"This machine was never completed. It may exhibit strange behavior or missing "
-"elements that are not bugs in the emulation.\n"
-msgstr ""
-"Esta máquina nunca foi terminada. Ela pode apresentar um comportamento "
-"estranho ou faltar alguns elementos que não são erros de emulação.\n"
+#: src/frontend/mame/ui/ui.cpp:1446
+#, c-format
+msgid "%1$s Gamma"
+msgstr "Gama da %1$s"
-#: src/frontend/mame/ui/info.cpp:245
-msgid ""
-"This machine has no sound hardware, MAME will produce no sounds, this is "
-"expected behaviour.\n"
-msgstr ""
-"Esta máquina não tem hardware de som, MAME não irá produzir som algum, isto "
-"já é esperado.\n"
+#: src/frontend/mame/ui/ui.cpp:1450
+#, c-format
+msgid "%1$s Horiz Stretch"
+msgstr "Extensão Horizontal da %1$s"
-#: src/frontend/mame/ui/info.cpp:249
-msgid ""
-"\n"
-"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
-"complete. There is nothing you can do to fix this problem except wait for "
-"the developers to improve the emulation.\n"
-msgstr ""
-"\n"
-"ESTA MÃQUINA NÃO FUNCIONA. A emulação para esta máquina ainda não está "
-"completa. Não há nada que você possa fazer para resolver este problema "
-"exceto aguardar os desenvolvedores melhorarem a emulação.\n"
+#: src/frontend/mame/ui/ui.cpp:1452
+#, c-format
+msgid "%1$s Horiz Position"
+msgstr "Posição Horizontal da %1$s"
-#: src/frontend/mame/ui/info.cpp:251
-msgid ""
-"\n"
-"Elements of this machine cannot be emulated as they requires physical "
-"interaction or consist of mechanical devices. It is not possible to fully "
-"experience this machine.\n"
-msgstr ""
-"\n"
-"Não foi possível emular elementos desta máquina pois necessitam de interação "
-"física ou são dispositivos mecânicos. Não é possível ter uma experiência "
-"completa com esta máquina.\n"
+#: src/frontend/mame/ui/ui.cpp:1454
+#, c-format
+msgid "%1$s Vert Stretch"
+msgstr "Extensão Vertical da %1$s"
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1456
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
-msgstr ""
-"\n"
-"\n"
-"Existem clones que funcionam com esta máquina: %s"
+msgid "%1$s Vert Position"
+msgstr "Posição Vertical da %1$s"
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
-msgstr ""
-"\n"
-"\n"
-"Pressione qualquer tecla para continuar"
+#: src/frontend/mame/ui/ui.cpp:1475
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
+msgstr "Laserdisc '%1$s' Extensão Horizontal"
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/ui.cpp:1477
#, c-format
-msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
-msgstr ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
+msgid "Laserdisc '%1$s' Horiz Position"
+msgstr "Laserdisc '%1$s' Posição Horizontal"
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
-msgstr "MHz"
+#: src/frontend/mame/ui/ui.cpp:1479
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
+msgstr "Laserdisc '%1$s' Extensão Vertical"
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
-msgstr "kHz"
+#: src/frontend/mame/ui/ui.cpp:1481
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
+msgstr "Laserdisc '%1$s' Posição Vertical"
+
+#: src/frontend/mame/ui/ui.cpp:1493
+msgid "Vector Flicker"
+msgstr "Cintilação Vetorial"
+
+#: src/frontend/mame/ui/ui.cpp:1494
+msgid "Beam Width Minimum"
+msgstr "Largura Mínima do Feixe de Luz"
+
+#: src/frontend/mame/ui/ui.cpp:1495
+msgid "Beam Width Maximum"
+msgstr "Largura Máxima do Feixe de Luz"
+
+#: src/frontend/mame/ui/ui.cpp:1496
+msgid "Beam Intensity Weight"
+msgstr "Intensidade do tamanho do Feixe de Luz"
+
+#: src/frontend/mame/ui/ui.cpp:1511
+#, c-format
+msgid "Crosshair Scale %1$s"
+msgstr "Escala da Mira da %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "X"
+msgstr "X"
-#: src/frontend/mame/ui/info.cpp:350
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "Y"
+msgstr "Y"
+
+#: src/frontend/mame/ui/ui.cpp:1513
+#, c-format
+msgid "Crosshair Offset %1$s"
+msgstr "Compensação da Mira %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1601
+#, c-format
+msgid "%1$3ddB"
+msgstr "%1$3ddB"
+
+#: src/frontend/mame/ui/ui.cpp:1645
+#, c-format
+msgid "%1$d%%"
+msgstr "%1$d%%"
+
+#: src/frontend/mame/ui/ui.cpp:1661
+#, c-format
+msgid "%1$3.0f%%"
+msgstr "%1$3.0f%%"
+
+#: src/frontend/mame/ui/ui.cpp:1685
+#, c-format
+msgid "%1$.3ffps"
+msgstr "%1$.3ffps"
+
+#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
+#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
+#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
+#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
+#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
+#: src/frontend/mame/ui/ui.cpp:1927
+#, c-format
+msgid "%1$.3f"
+msgstr "%1$.3f"
+
+#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
+#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
+#, c-format
+msgid "%1$1.2f"
+msgstr "%1$1.2f"
+
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
+msgstr "Escala da Mira X %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
+msgstr "Escala da Mira Y %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
+msgstr "Compensação da Mira X %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
+msgstr "Compensação da Mira Y %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
+msgstr "**Erro ao salvar ui.ini**"
+
+#: src/frontend/mame/ui/ui.cpp:2226
+#, c-format
+msgid "**Error saving %s.ini**"
+msgstr "**Erro ao salvar %s.ini**"
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " COLORS"
+msgstr " CORES"
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " PENS"
+msgstr " CANETAS"
+
+#: src/frontend/mame/ui/devopt.cpp:39
+#, c-format
msgid ""
+"[This option is currently mounted in the running system]\n"
"\n"
-"Sound:\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"The selected option enables the following items:\n"
msgstr ""
+"[Esta opção está montada atualmente no sistema em execução]\n"
"\n"
-"Som:\n"
+"Opção: %1$s\n"
+"Dispositivo: %2$s\n"
+"\n"
+"A opção selecionada ativa os ítens a seguir:\n"
-#: src/frontend/mame/ui/info.cpp:378
+#: src/frontend/mame/ui/devopt.cpp:40
+#, c-format
msgid ""
+"[This option is NOT currently mounted in the running system]\n"
"\n"
-"Video:\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"If you select this option, the following items will be enabled:\n"
msgstr ""
+"[Esta opção NÃO está montada atualmente no sistema em execução]\n"
"\n"
-"Vídeo:\n"
-
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
-msgstr "Nenhum\n"
-
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
-msgstr "Vetorial"
-
-#: src/frontend/mame/ui/info.cpp:400
-#, c-format
-msgid "%1$s: %2$s\n"
-msgstr "%1$s: %2$s\n"
+"Opção: %1$s\n"
+"Dispositivo: %2$s\n"
+"\n"
+"Se você selecionar essa opção, os ítens a seguir serão ativados:\n"
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
-msgstr "%2$s\n"
+#: src/frontend/mame/ui/devopt.cpp:48
+msgid "* CPU:\n"
+msgstr "* CPU:\n"
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
#, c-format
-msgid "Screen '%1$s'"
-msgstr "Tela '%1$s'"
+msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+msgstr " %1$d×%2$s %3$d.%4$06d MHz\n"
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr "Tela"
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
+msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
+msgstr " %1$d×%2$s %5$d.%6$03d kHz\n"
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
-msgstr "Sem suporte"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %3$d.%4$06d MHz\n"
+msgstr " %2$s %3$d.%4$06d MHz\n"
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
-msgstr "Suporte Parcial"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %5$d.%6$03d kHz\n"
+msgstr " %2$s %5$d.%6$03d kHz\n"
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
-msgstr "[vazio]"
+#: src/frontend/mame/ui/devopt.cpp:85
+msgid "* Video:\n"
+msgstr "* Vídeo:\n"
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
-msgstr "Painéis de Controle"
+#: src/frontend/mame/ui/devopt.cpp:90
+#, c-format
+msgid " Screen '%1$s': Vector\n"
+msgstr " Tela '%1$s': Vetor\n"
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
-msgstr "Visualização da Arte"
+#: src/frontend/mame/ui/devopt.cpp:99
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+msgstr " Tela '%1$s': %2$d × %3$d (V) %4$f Hz\n"
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
-msgstr "Fim de Jogo"
+#: src/frontend/mame/ui/devopt.cpp:100
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+msgstr " Tela '%1$s': %2$d × %3$d (H) %4$f Hz\n"
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
-msgstr "Adicionar ou remover favoritos"
+#: src/frontend/mame/ui/devopt.cpp:113
+msgid "* Sound:\n"
+msgstr "* Som:\n"
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
-msgstr "Exportar lista exibida para arquivo"
+#: src/frontend/mame/ui/devopt.cpp:133
+#, c-format
+msgid " %1$d×%2$s\n"
+msgstr " %1$d×%2$s\n"
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
-msgstr "Mostrar visualização de DATs"
+#: src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s\n"
+msgstr " %2$s\n"
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
-msgstr "Seleção por parte de Programa"
+#: src/frontend/mame/ui/devopt.cpp:164
+#, c-format
+msgid ""
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
+msgstr ""
+"* Configurações da BIOS:\n"
+" %1$d opções [padrão: %2$s]\n"
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
-msgstr "Seleção de BIOS:"
+#: src/frontend/mame/ui/devopt.cpp:204 src/frontend/mame/ui/devopt.cpp:220
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " %1$s [default: %2$s]\n"
+msgstr " %1$s [padrão: %2$s]\n"
-#: src/frontend/mame/ui/selmenu.cpp:622
+#: src/frontend/mame/ui/devopt.cpp:209 src/frontend/mame/ui/devopt.cpp:225
#, c-format
-msgid "Software is clone of: %1$-.100s"
-msgstr "Programa é clone de: %1$-.100s"
+msgid " %1$s\n"
+msgstr " %1$s\n"
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
-msgstr "Programa é pai"
+#: src/frontend/mame/ui/devopt.cpp:230
+msgid "* DIP switch settings:\n"
+msgstr "* Configurações das chaves DIP:\n"
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
-msgstr "Há Suporte: Não"
+#: src/frontend/mame/ui/devopt.cpp:232
+msgid "* Configuration settings:\n"
+msgstr "* Definição das configurações:\n"
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
-msgstr "Há Suporte: Parcial"
+#: src/frontend/mame/ui/devopt.cpp:234
+msgid "* Input device(s):\n"
+msgstr "* Dispositivo(s) de entrada:\n"
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
-msgstr "Há Suporte: Sim"
+#: src/frontend/mame/ui/devopt.cpp:236
+#, c-format
+msgid " User inputs [%1$d inputs]\n"
+msgstr " Entradas do usuário [%1$d entradas]\n"
-#: src/frontend/mame/ui/selmenu.cpp:644
+#: src/frontend/mame/ui/devopt.cpp:238
#, c-format
-msgid "romset: %1$-.100s"
-msgstr "romset: %1$-.100s"
+msgid " Mahjong inputs [%1$d inputs]\n"
+msgstr " Entradas Mahjong [%1$d entradas]\n"
-#: src/frontend/mame/ui/selmenu.cpp:660
+#: src/frontend/mame/ui/devopt.cpp:240
#, c-format
-msgid "Driver is clone of: %1$-.100s"
-msgstr "O Driver é clone de: %1$-.100s"
+msgid " Hanafuda inputs [%1$d inputs]\n"
+msgstr " Entrada Hanafuda [%1$d entradas]\n"
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
-msgstr "Driver é pai"
+#: src/frontend/mame/ui/devopt.cpp:242
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
+msgstr " Entradas para jogos de apostas [%1$d entradas]\n"
-#: src/frontend/mame/ui/selmenu.cpp:698
+#: src/frontend/mame/ui/devopt.cpp:244
#, c-format
-msgid "%1$s %2$s"
-msgstr "%1$s %2$s"
+msgid " Analog inputs [%1$d inputs]\n"
+msgstr " Entradas Analógicas [%1$d entradas]\n"
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
-msgstr "Imagens"
+#: src/frontend/mame/ui/devopt.cpp:246
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
+msgstr " Entradas Adjuster [%1$d entradas]\n"
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
-msgstr "Informações"
+#: src/frontend/mame/ui/devopt.cpp:248
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
+msgstr " Entradas de teclado numérico [%1$d entradas]\n"
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
-msgstr "Uso"
+#: src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
+msgstr " Entradas de teclado [%1$d entradas]\n"
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
-msgstr "Informações Gerais"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* Media Options:\n"
+msgstr "* Opções de Mídia:\n"
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
-msgstr "Interface do usuário"
+#: src/frontend/mame/ui/devopt.cpp:257
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
+msgstr " %1$s [tag: %2$s]\n"
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
-msgstr "Outros Controles"
+#: src/frontend/mame/ui/devopt.cpp:263
+msgid "* Slot Options:\n"
+msgstr "* Opções de Slot:\n"
+
+#: src/frontend/mame/ui/devopt.cpp:270
+msgid "[None]\n"
+msgstr "[Nenhum]\n"
#: plugins/timer/init.lua:94
msgid "Current time"
@@ -2761,51 +2680,51 @@ msgstr "Contador de Jogadas"
msgid "Timer"
msgstr "Temporizador"
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:510
msgid "Select cheat to set hotkey"
msgstr "Selecione um atalho para a trapaça"
-#: plugins/cheat/init.lua:534
+#: plugins/cheat/init.lua:516
msgid "Press button for hotkey or wait to clear"
msgstr "Pressione uma tecla para criar um atalho ou aguarde para limpar"
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:528
msgid "None"
msgstr "Sem"
-#: plugins/cheat/init.lua:551
+#: plugins/cheat/init.lua:533
msgid "Done"
msgstr "Feito"
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:547 plugins/cheat/init.lua:561
msgid "Set"
msgstr "Definir"
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:580
msgid "Set hotkeys"
msgstr "Definir teclas de atalho"
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:720
#, lua-format
msgid "Activated: %s = %s"
msgstr "Ativado: %s = %s"
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:723 plugins/cheat/init.lua:781
#, lua-format
msgid "Activated: %s"
msgstr "Ativado: %s"
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:785
#, lua-format
msgid "Enabled: %s"
msgstr "Habilitado: %s"
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:790
#, lua-format
msgid "Disabled: %s"
msgstr "Desabilitado: %s"
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "%s added"
msgstr "%s adicionado"
@@ -2858,347 +2777,226 @@ msgstr "Gameinit"
msgid "MARPScore"
msgstr "MARPScore"
-#: plugins/cheatfind/init.lua:404
+#: plugins/cheatfind/init.lua:373
msgid "Save Cheat"
msgstr "Salvar Trapaça"
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Default"
msgstr "Padrão"
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Custom"
msgstr "Personalizado"
-#: plugins/cheatfind/init.lua:408
+#: plugins/cheatfind/init.lua:377
msgid "Cheat Name"
msgstr "Nome da Trapaça"
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/cheatfind/init.lua:383 plugins/cheatfind/init.lua:748
#, lua-format
msgid "Default name is %s"
msgstr "O nome padrão é %s"
-#: plugins/cheatfind/init.lua:422
+#: plugins/cheatfind/init.lua:391
msgid "Player"
msgstr "Jogador"
-#: plugins/cheatfind/init.lua:427
+#: plugins/cheatfind/init.lua:396
msgid "Type"
msgstr "Tipo"
-#: plugins/cheatfind/init.lua:433
+#: plugins/cheatfind/init.lua:402
msgid "Save"
msgstr "Salvar"
-#: plugins/cheatfind/init.lua:462
+#: plugins/cheatfind/init.lua:429
#, lua-format
msgid "Cheat written to %s and added to cheat.simple"
msgstr "A trapaça foi escrita em %s e foi adicionado ao arquivo cheat.simple"
-#: plugins/cheatfind/init.lua:472
+#: plugins/cheatfind/init.lua:437
msgid "Cheat added to cheat.simple"
msgstr "A trapaça foi adicionada ao arquivo cheat.simple"
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:442
msgid ""
"Unable to write file\n"
"Ensure that cheatpath folder exists"
msgstr ""
"Não é possível escrever no arquivo\n"
-"Tenha certeza que o caminho para o diretório cheatpath exista"
+"Tenha certeza de que o caminho da pasta cheatpath existe"
-#: plugins/cheatfind/init.lua:486
+#: plugins/cheatfind/init.lua:451
msgid "Cancel"
msgstr "Cancelar"
-#: plugins/cheatfind/init.lua:491
+#: plugins/cheatfind/init.lua:456
msgid "CPU or RAM"
msgstr "CPU ou RAM"
-#: plugins/cheatfind/init.lua:495
+#: plugins/cheatfind/init.lua:460
msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
"As mudanças neste ponto só surtem efeito quando \"Iniciar nova pesquisa\" "
"for selecionada"
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
-msgstr ""
+#: plugins/cheatfind/init.lua:479
+msgid "Data cleared and current state saved"
+msgstr "Os dados foram limpos e o estado atual foi salvo"
-#: plugins/cheatfind/init.lua:551
+#: plugins/cheatfind/init.lua:487
msgid "Start new search"
msgstr "Iniciar nova pesquisa"
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
-msgstr ""
+#: plugins/cheatfind/init.lua:497
+msgid "Current state saved"
+msgstr "O estado atual foi salvo"
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
-msgstr ""
+#: plugins/cheatfind/init.lua:504
+msgid "Save current -- #"
+msgstr "Atualmente salvo -- #"
-#: plugins/cheatfind/init.lua:614
+#: plugins/cheatfind/init.lua:536
#, lua-format
msgid "%d total matches found"
msgstr "Um total de %d correspondências foram encontradas"
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
-msgstr ""
+#: plugins/cheatfind/init.lua:543
+msgid "Compare"
+msgstr "Comparar"
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
-msgstr ""
+#: plugins/cheatfind/init.lua:546
+msgid "Left operand"
+msgstr "Operando esquerdo"
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
-msgstr ""
+#: plugins/cheatfind/init.lua:549
+msgid "Current"
+msgstr "Atual"
+
+#: plugins/cheatfind/init.lua:554
+msgid "Operator"
+msgstr "Operador"
+
+#: plugins/cheatfind/init.lua:561
+msgid "Left less than right, value is difference"
+msgstr "Esquerda menor que direita, o valor é a diferença"
+
+#: plugins/cheatfind/init.lua:563
+msgid "Left greater than right, value is difference"
+msgstr "Esquerda maior que direita, o valor é a diferença"
-#: plugins/cheatfind/init.lua:676
+#: plugins/cheatfind/init.lua:565
msgid "Left equal to right"
msgstr "Esquerda igual à direita"
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
-msgstr ""
+#: plugins/cheatfind/init.lua:567
+msgid "Left not equal to right, value is difference"
+msgstr "Esquerda não é igual à direita. o valor é a diferença"
-#: plugins/cheatfind/init.lua:680
+#: plugins/cheatfind/init.lua:569
msgid "Left equal to right with bitmask"
msgstr "Esquerdo igual ao direito com bitmask"
-#: plugins/cheatfind/init.lua:682
+#: plugins/cheatfind/init.lua:571
msgid "Left not equal to right with bitmask"
msgstr "Esquerdo não igual ao direito com bitmask"
-#: plugins/cheatfind/init.lua:684
+#: plugins/cheatfind/init.lua:573
msgid "Left less than value"
msgstr "Esquerdo menor do que o valor"
-#: plugins/cheatfind/init.lua:686
+#: plugins/cheatfind/init.lua:575
msgid "Left greater than value"
msgstr "Esquerdo maior do que o valor"
-#: plugins/cheatfind/init.lua:688
+#: plugins/cheatfind/init.lua:577
msgid "Left equal to value"
msgstr "Esquerda igual ao valor"
-#: plugins/cheatfind/init.lua:690
+#: plugins/cheatfind/init.lua:579
msgid "Left not equal to value"
msgstr "Esquerda não é igual ao valor"
-#: plugins/cheatfind/init.lua:712
+#: plugins/cheatfind/init.lua:590
+msgid "Right operand"
+msgstr "Operando direito"
+
+#: plugins/cheatfind/init.lua:598
msgid "Value"
msgstr "Valor"
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:719
+#: plugins/cheatfind/init.lua:602
msgid "Any"
msgstr "Qualquer"
-#: plugins/cheatfind/init.lua:725
+#: plugins/cheatfind/init.lua:608
msgid "Data Format"
msgstr "Formato do dado"
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:738
-msgid ""
-"Use this if you want to poke the Slot 1 value (eg. You started with "
-"something but lost it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:740
-msgid ""
-"Use this if you want to poke the Last Slot value (eg. You started without an "
-"item but finally got it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:816
+#: plugins/cheatfind/init.lua:632
msgid "Undo last search -- #"
msgstr "Desfazer a última pesquisa -- #"
-#: plugins/cheatfind/init.lua:820
+#: plugins/cheatfind/init.lua:636
msgid "Match block"
msgstr "Bloco com correspondência"
-#: plugins/cheatfind/init.lua:823
+#: plugins/cheatfind/init.lua:639
msgid "All"
msgstr "Todos"
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheatfind/init.lua:690
#, lua-format
-msgid "Test Cheat %08X:%02X"
-msgstr ""
+msgid "Test cheat at addr %08X"
+msgstr "Testar a trapaça no endr %08X"
-#: plugins/cheatfind/init.lua:974
+#: plugins/cheatfind/init.lua:722
msgid "Cheat engine not available"
msgstr "O mecanismo de trapaça não está disponível"
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Test"
msgstr "Teste"
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Write"
msgstr "Escrever"
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Watch"
msgstr "Observador"
-#: plugins/cheatfind/init.lua:1045
+#: plugins/cheatfind/init.lua:788
msgid "Page"
msgstr "Página"
-#: plugins/cheatfind/init.lua:1063
+#: plugins/cheatfind/init.lua:806
msgid "Clear Watches"
msgstr "Limpar pontos de observação"
-#: plugins/cheatfind/init.lua:1078
+#: plugins/cheatfind/init.lua:816
msgid "Cheat Finder"
msgstr "Localizador de Trapaças"
-#: plugins/portname/init.lua:103
+#: plugins/portname/init.lua:69
msgid "Save input names to file"
msgstr "Salvar os nomes de entrada para o arquivo"
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
+#: plugins/portname/init.lua:100 plugins/portname/init.lua:105
+#: plugins/portname/init.lua:121
msgid "Failed to save input name file"
msgstr "Erro ao salvar os nomes de entrada ao arquivo"
-#: plugins/portname/init.lua:167
+#: plugins/portname/init.lua:133
#, lua-format
msgid "Input port name file saved to %s"
msgstr "O Arquivo com o nome das portas de entrada foi salvo em %s"
-#: plugins/portname/init.lua:172
+#: plugins/portname/init.lua:138
msgid "Input ports"
msgstr "Portas de entrada"
-#~ msgid "Data cleared and current state saved"
-#~ msgstr "Os dados foram limpos e o estado atual foi salvo"
-
-#~ msgid "Current state saved"
-#~ msgstr "O estado atual foi salvo"
-
-#~ msgid "Save current -- #"
-#~ msgstr "Atualmente salvo -- #"
-
-#~ msgid "Compare"
-#~ msgstr "Comparar"
-
-#~ msgid "Left operand"
-#~ msgstr "Operando esquerdo"
-
-#~ msgid "Current"
-#~ msgstr "Atual"
-
-#~ msgid "Operator"
-#~ msgstr "Operador"
-
-#~ msgid "Left less than right, value is difference"
-#~ msgstr "Esquerda menor que direita, o valor é a diferença"
-
-#~ msgid "Left greater than right, value is difference"
-#~ msgstr "Esquerda maior que direita, o valor é a diferença"
-
-#~ msgid "Left not equal to right, value is difference"
-#~ msgstr "Esquerda não é igual à direita. o valor é a diferença"
-
-#~ msgid "Right operand"
-#~ msgstr "Operando direito"
-
-#~ msgid "Test cheat at addr %08X"
-#~ msgstr "Testar a trapaça no endr %08X"
-
#~ msgid ""
#~ "ROM Audit Disabled\t\n"
#~ "Samples Audit Disabled\t\n"
diff --git a/language/Romanian/strings.po b/language/Romanian/strings.po
index aa179ec3270..3ceaf8a9f32 100644
--- a/language/Romanian/strings.po
+++ b/language/Romanian/strings.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MAME\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-03-17 13:37+1100\n"
+"POT-Creation-Date: 2018-04-28 15:32+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -19,1144 +19,1041 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
"20)) ? 1 : 2;\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
+#: src/frontend/mame/ui/auditmenu.cpp:96
#, c-format
-msgid "Screen #%d"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Enabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Disabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
-msgid "Marquees"
+#: src/frontend/mame/ui/auditmenu.cpp:99
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/auditmenu.cpp:104
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/auditmenu.cpp:130
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/auditmenu.cpp:142
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/selmenu.cpp:49 src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/selmenu.cpp:50 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/selmenu.cpp:51
+msgid "Control Panels"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/selmenu.cpp:52 src/frontend/mame/ui/dirmenu.cpp:50
+msgid "PCBs"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/selmenu.cpp:53 src/frontend/mame/ui/dirmenu.cpp:47
+msgid "Flyers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/selmenu.cpp:54 src/frontend/mame/ui/dirmenu.cpp:48
+msgid "Titles"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/selmenu.cpp:55 src/frontend/mame/ui/dirmenu.cpp:49
+msgid "Ends"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/selmenu.cpp:56
+msgid "Artwork Preview"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/selmenu.cpp:57 src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Bosses"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/selmenu.cpp:58 src/frontend/mame/ui/dirmenu.cpp:60
+msgid "Logos"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/selmenu.cpp:59 src/frontend/mame/ui/dirmenu.cpp:62
+msgid "Versus"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/selmenu.cpp:60
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/selmenu.cpp:61 src/frontend/mame/ui/dirmenu.cpp:59
+msgid "HowTo"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/selmenu.cpp:62 src/frontend/mame/ui/dirmenu.cpp:61
+msgid "Scores"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/selmenu.cpp:63 src/frontend/mame/ui/dirmenu.cpp:57
+msgid "Select"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/selmenu.cpp:64 src/frontend/mame/ui/dirmenu.cpp:51
+#: src/frontend/mame/ui/videoopt.cpp:224
+msgid "Marquees"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/selmenu.cpp:65 src/frontend/mame/ui/dirmenu.cpp:63
+msgid "Covers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/selmenu.cpp:69
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/selmenu.cpp:70
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/selmenu.cpp:71
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/selmenu.cpp:237
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/selmenu.cpp:343
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/selmenu.cpp:570 src/frontend/mame/ui/selmenu.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:311
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/selmenu.cpp:574
+#, c-format
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/selmenu.cpp:576
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/selmenu.cpp:581
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/selmenu.cpp:586
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/selmenu.cpp:591
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selmenu.cpp:596
+#, c-format
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selmenu.cpp:612
#, c-format
-msgid "Current %1$s Folders"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selmenu.cpp:614
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selmenu.cpp:619
+#: src/frontend/mame/ui/simpleselgame.cpp:330
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selmenu.cpp:621
+#: src/frontend/mame/ui/simpleselgame.cpp:332
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:623
+#: src/frontend/mame/ui/simpleselgame.cpp:334
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:627
+#: src/frontend/mame/ui/simpleselgame.cpp:338
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/selmenu.cpp:629
+#: src/frontend/mame/ui/simpleselgame.cpp:340
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/selmenu.cpp:631
+#: src/frontend/mame/ui/simpleselgame.cpp:342
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/selmenu.cpp:634
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/selmenu.cpp:636
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/selmenu.cpp:638
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/selmenu.cpp:640
+#: src/frontend/mame/ui/simpleselgame.cpp:351
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/selmenu.cpp:650
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/selmenu.cpp:1975
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/selmenu.cpp:1976
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/selmenu.cpp:2386 src/frontend/mame/ui/miscmenu.cpp:826
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/selmenu.cpp:2454
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/selmenu.cpp:2489
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/dirmenu.cpp:35
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/dirmenu.cpp:36
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
-#: src/frontend/mame/ui/slotopt.cpp:220
-msgid "[empty slot]"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/dirmenu.cpp:40
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/dirmenu.cpp:52
+msgid "Controls Panels"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/dirmenu.cpp:53
+msgid "Crosshairs"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Artworks"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks Preview"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "GameOver"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/dirmenu.cpp:116
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/dirmenu.cpp:167
+#, c-format
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/dirmenu.cpp:182
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/dirmenu.cpp:429
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/dirmenu.cpp:513
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/info.cpp:30
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "LAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/info.cpp:180
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/info.cpp:190
+msgid ""
+"There are known problems with this machine\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/info.cpp:195
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/info.cpp:200
+msgid "Completely unemulated features: "
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#, c-format
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#: src/frontend/mame/ui/info.cpp:267
+#, c-format
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/info.cpp:216
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/info.cpp:231
+msgid "Screen flipping in cocktail mode is not supported.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/info.cpp:233
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/info.cpp:235
+msgid ""
+"This machine was never completed. It may exhibit strange behavior or missing "
+"elements that are not bugs in the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/info.cpp:237
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/info.cpp:241
+msgid ""
+"\n"
+"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
+"complete. There is nothing you can do to fix this problem except wait for "
+"the developers to improve the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/info.cpp:243
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they requires physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/info.cpp:265
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/info.cpp:278
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/info.cpp:293
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:149
+#: src/frontend/mame/ui/info.cpp:342
msgid ""
-"The selected game is missing one or more required ROM or CHD images. Please "
-"select a different game.\n"
"\n"
-"Press any key to continue."
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:247
-#, c-format
+#: src/frontend/mame/ui/info.cpp:370
msgid ""
-"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
"\n"
-"If this is your first time using %2$s, please see the config.txt file in the "
-"docs directory for information on configuring %2$s."
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+"Video:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/info.cpp:374
+msgid "None\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/info.cpp:381
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:314
-#: src/frontend/mame/ui/selsoft.cpp:652 src/frontend/mame/ui/selsoft.cpp:659
+#: src/frontend/mame/ui/info.cpp:392
#, c-format
-msgid "%1$-.100s"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:317
-#: src/frontend/mame/ui/selmenu.cpp:618 src/frontend/mame/ui/selmenu.cpp:654
-#, c-format
-msgid "%1$s, %2$-.100s"
+#: src/frontend/mame/ui/info.cpp:392
+msgid "%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
+#: src/frontend/mame/ui/info.cpp:438
#, c-format
-msgid "Driver: %1$-.100s"
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+msgid "Screen '%1$s'"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/info.cpp:440
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/info.cpp:525
+msgid "Not supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/info.cpp:528
+msgid "Partially supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/info.cpp:536
+msgid "[empty]"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/optsmenu.cpp:193
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/optsmenu.cpp:206
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/optsmenu.cpp:207
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/optsmenu.cpp:210 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/optsmenu.cpp:213
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/optsmenu.cpp:216
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/optsmenu.cpp:228
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:337
-msgid "This driver requires images to be loaded in the following device(s): "
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
+msgid "Rewind"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1302
-#, c-format
-msgid ""
-"Are you sure you want to quit?\n"
-"\n"
-"Press ''%1$s'' to quit,\n"
-"Press ''%2$s'' to return to emulation."
+#: src/frontend/mame/ui/inputmap.cpp:53
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/inputmap.cpp:59
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
+#: src/frontend/mame/ui/inputmap.cpp:628 src/frontend/mame/ui/miscmenu.cpp:96
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/selector.cpp:116
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
+#: src/frontend/mame/ui/selector.cpp:124
#, c-format
-msgid "Overclock %1$s sound"
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/filesel.cpp:256
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/swlist.cpp:88
+msgid "[file manager]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/swlist.cpp:228
+msgid "Switch Item Ordering"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
+#: src/frontend/mame/ui/swlist.cpp:259
#, c-format
-msgid "%1$s Horiz Stretch"
+msgid "Switched Order: entries now ordered by %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "shortname"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "description"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/swlist.cpp:389
+msgid "[compatible lists]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/datmenu.cpp:80
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/datmenu.cpp:362
+msgid "Revision: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/simpleselgame.cpp:149
+msgid ""
+"The selected game is missing one or more required ROM or CHD images. Please "
+"select a different game.\n"
+"\n"
+"Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
+#: src/frontend/mame/ui/simpleselgame.cpp:241
#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+msgid ""
+"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
+"\n"
+"If this is your first time using %2$s, please see the config.txt file in the "
+"docs directory for information on configuring %2$s."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/simpleselgame.cpp:271
+#: src/frontend/mame/ui/selgame.cpp:436
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/simpleselgame.cpp:292
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/simpleselgame.cpp:294
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
+#: src/frontend/mame/ui/simpleselgame.cpp:308
+#: src/frontend/mame/ui/selsoft.cpp:564 src/frontend/mame/ui/selsoft.cpp:571
#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/simpleselgame.cpp:314
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
+#: src/frontend/mame/ui/videoopt.cpp:56
#, c-format
-msgid "Crosshair Offset %1$s"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/videoopt.cpp:208
+msgid "Backdrops"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Enabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Disabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
-#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
-#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
-#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
-#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
-#: src/frontend/mame/ui/ui.cpp:1927
-#, c-format
-msgid "%1$.3f"
+#: src/frontend/mame/ui/videoopt.cpp:212
+msgid "Overlays"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
-#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
-#, c-format
-msgid "%1$1.2f"
+#: src/frontend/mame/ui/videoopt.cpp:216
+msgid "Bezels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:220
+msgid "CPanels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "View"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cropped"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Full"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1047
+msgid "No"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
-msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1047
+msgid "Yes"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
-msgid ""
-"Cheat Comment:\n"
-"%s"
+#: src/frontend/mame/ui/filecreate.cpp:171
+msgid "New Image Name:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/filecreate.cpp:177
+msgid "Image Format:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/filecreate.cpp:183
+msgid "Create"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/filecreate.cpp:266
+msgid "Select image format"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Keyboard Mode:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Natural"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Emulated"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
+#: src/frontend/mame/ui/miscmenu.cpp:236
#, c-format
msgid ""
-"%s\n"
-" added to favorites list."
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
+#: src/frontend/mame/ui/miscmenu.cpp:238
#, c-format
msgid ""
-"%s\n"
-" removed from favorites list."
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/miscmenu.cpp:242
+#, c-format
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
+"Tickets dispensed: %1$d\n"
"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
+#: src/frontend/mame/ui/miscmenu.cpp:253
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/miscmenu.cpp:253
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
-#, c-format
-msgid "Driver: \"%1$s\" software list "
+#: src/frontend/mame/ui/miscmenu.cpp:256
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
-#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+#: src/frontend/mame/ui/miscmenu.cpp:503
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/miscmenu.cpp:601
#, c-format
-msgid "Search: %1$s_"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
-msgid "Unfiltered"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
-msgid "Available"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
-msgid "Unavailable"
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
-msgid "Working"
+#: src/frontend/mame/ui/miscmenu.cpp:627
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
-msgid "Not Working"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
-msgid "Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:655
+msgid "Export list in XML format (like -listxml)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
-msgid "Not Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:656
+msgid "Export list in XML format (like -listxml, but exclude devices)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
-msgid "Category"
+#: src/frontend/mame/ui/miscmenu.cpp:657
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
-msgid "Favorites"
+#: src/frontend/mame/ui/miscmenu.cpp:710 src/frontend/mame/ui/ui.cpp:2230
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/miscmenu.cpp:760 src/frontend/mame/ui/utils.cpp:66
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
-msgid "Not BIOS"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
-msgid "Parents"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
-msgid "Clones"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:73
-msgid "Manufacturer"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
-msgid "Year"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:75
-msgid "Save Supported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:76
-msgid "Save Unsupported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:77
-msgid "CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:78
-msgid "No CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:79
-msgid "Vertical Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:80
-msgid "Horizontal Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
-msgid "Custom Filter"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:91
-msgid "Publisher"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:92
-msgid "Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:764
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
-msgid "Partially Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:767
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
-msgid "Unsupported"
+#: src/frontend/mame/ui/miscmenu.cpp:776 src/frontend/mame/ui/mainmenu.cpp:145
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
-msgid "Release Region"
+#: src/frontend/mame/ui/miscmenu.cpp:778 src/frontend/mame/ui/mainmenu.cpp:147
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
-msgid "Device Type"
+#: src/frontend/mame/ui/miscmenu.cpp:781
+msgid "Save machine configuration"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
-msgid "Software List"
+#: src/frontend/mame/ui/miscmenu.cpp:792
+msgid "Configure machine:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
-msgid "<set up filters>"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:736
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:551 plugins/cheatfind/init.lua:619
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
-msgid "Select custom filters:"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:739
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:554 plugins/cheat/init.lua:563
+#: plugins/cheatfind/init.lua:616
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
-#, c-format
-msgid "Filter %1$u"
+#: src/frontend/mame/ui/miscmenu.cpp:909 src/frontend/mame/ui/selgame.cpp:441
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
-msgid "Remove last filter"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
-msgid "Add filter"
+#: src/frontend/mame/ui/barcode.cpp:78
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
-msgid "Select category:"
+#: src/frontend/mame/ui/barcode.cpp:119
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
-msgid "[no category INI files]"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:99
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
-msgid "[no groups in INI file]"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
-msgid "No category INI files found"
+#: src/frontend/mame/ui/mainmenu.cpp:60
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
-msgid "File"
+#: src/frontend/mame/ui/mainmenu.cpp:62
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
-msgid "No groups found in category file"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
-msgid "Group"
+#: src/frontend/mame/ui/mainmenu.cpp:68
+msgid "Dip Switches"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
-msgid "Include clones"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
+#: src/frontend/mame/ui/mainmenu.cpp:78
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/mainmenu.cpp:85
+msgid "Image Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/mainmenu.cpp:96
+msgid "Tape Control"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/mainmenu.cpp:102
+msgid "BIOS Selection"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/mainmenu.cpp:106
+msgid "Slot Devices"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
-#, c-format
-msgid "%s [internal]"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Barcode Reader"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:203 src/frontend/mame/ui/miscmenu.cpp:97
-#: src/frontend/mame/ui/inputmap.cpp:615
-msgid "Reset"
+#: src/frontend/mame/ui/mainmenu.cpp:114
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/mainmenu.cpp:118
+msgid "Keyboard Mode"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/mainmenu.cpp:121
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/mainmenu.cpp:124 src/frontend/mame/ui/submenu.cpp:101
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/mainmenu.cpp:128
+msgid "Crosshair Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/mainmenu.cpp:132 plugins/cheat/init.lua:735
+msgid "Cheat"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:762
-#: plugins/cheat/init.lua:569 plugins/cheatfind/init.lua:792
-#: plugins/cheatfind/init.lua:803
-msgid "On"
+#: src/frontend/mame/ui/mainmenu.cpp:135
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:765
-#: plugins/cheat/init.lua:572 plugins/cheat/init.lua:581
-#: plugins/cheatfind/init.lua:789 plugins/cheatfind/init.lua:800
-msgid "Off"
+#: src/frontend/mame/ui/mainmenu.cpp:139
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/mainmenu.cpp:154
+msgid "Select New Machine"
msgstr ""
#: src/frontend/mame/ui/custui.cpp:31
@@ -1379,1281 +1276,1303 @@ msgstr ""
msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/submenu.cpp:22
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/submenu.cpp:23
+msgid "Re-select last machine played"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/submenu.cpp:24
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:26
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:27
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:28
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:29
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:30
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
-#, c-format
-msgid "%s.txt saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/submenu.cpp:45
+msgid "Refresh speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/submenu.cpp:47
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/submenu.cpp:49
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
-msgid "Configure Machine"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
-#, c-format
-msgid "Romset\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
-#, c-format
-msgid "Year\t%1$s\n"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
-#, c-format
-msgid "Manufacturer\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
-#, c-format
-msgid "Driver is Clone of\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1044
-msgid "Driver is Parent\t\n"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
-msgid "Analog Controls\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Artwork Crop"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
-msgid "Keyboard Inputs\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Use Backdrops"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
-msgid "Overall\tNOT WORKING\n"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Use Overlays"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
-msgid "Overall\tUnemulated Protection\n"
+#: src/frontend/mame/ui/submenu.cpp:60
+msgid "Use Bezels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
-msgid "Overall\tWorking\n"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Use Control Panels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
-msgid "Graphics\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:62
+msgid "Use Marquees"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
-msgid "Graphics\tWrong Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
-msgid "Graphics\tImperfect Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
-msgid "Graphics\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
-msgid "Graphics\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Bilinear snapshot"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
-msgid "Sound\tNone\n"
+#: src/frontend/mame/ui/submenu.cpp:69
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
-msgid "Sound\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
-msgid "Sound\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:72
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
-msgid "Sound\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
-msgid "Capture\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
-msgid "Capture\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
-msgid "Camera\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
-msgid "Camera\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
-msgid "Microphone\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
-msgid "Microphone\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:79
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
-msgid "Controls\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
-msgid "Controls\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
-msgid "Keyboard\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Joystick saturation"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
-msgid "Keyboard\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Natural keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
-msgid "Mouse\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
-msgid "Mouse\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
-msgid "Media\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
-msgid "Media\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Lightgun Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
-msgid "Disk\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Trackball Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
-msgid "Disk\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
-msgid "Printer\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
-msgid "Printer\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
-msgid "Mag. Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:95
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
-msgid "Mag. Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:96
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
-msgid "Punch Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:97
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
-msgid "Punch Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
-msgid "Mag. Drum\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:103
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
-msgid "Mag. Drum\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
-msgid "(EP)ROM\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
-msgid "(EP)ROM\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
-msgid "Communications\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:109
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
-msgid "Communications\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:110
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
-msgid "LAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:111
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
-msgid "LAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:112
+msgid "Enforce Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
-msgid "WAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:113
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
-msgid "WAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:114
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
-msgid "Timing\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
-msgid "Timing\tImperfect\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tYes\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Select position to load from"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tNo\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tYes\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Select position to save to"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tNo\n"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:309 src/frontend/mame/ui/selsoft.cpp:211
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:314 src/frontend/mame/ui/selgame.cpp:320
+#: src/frontend/mame/ui/selsoft.cpp:216
+#, c-format
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:437
+msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:849
+#, c-format
+msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:850
+#, c-format
+msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:851
+#, c-format
+msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:855
+#, c-format
+msgid "Driver is Clone of\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:857
+msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tVertical\n"
+#: src/frontend/mame/ui/selgame.cpp:860
+msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tHorizontal\n"
+#: src/frontend/mame/ui/selgame.cpp:862
+msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:865
+msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:867
+msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
-msgid "ROM Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:869
+msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
-msgid "ROM Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:872
+msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
-msgid "Samples Audit Result\tNone Needed\n"
+#: src/frontend/mame/ui/selgame.cpp:874
+msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
-msgid "Samples Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:876
+msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
-msgid "Samples Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:878
+msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
-msgid ""
-"ROM Audit \tDisabled\n"
-"Samples Audit \tDisabled\n"
+#: src/frontend/mame/ui/selgame.cpp:880
+msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
+#: src/frontend/mame/ui/selgame.cpp:883
+msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1424
-#, c-format
-msgid "Romset: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:885
+msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
-#, c-format
-msgid "System: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:887
+msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1465
-msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
+#: src/frontend/mame/ui/selgame.cpp:889
+msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
+#: src/frontend/mame/ui/selgame.cpp:892
+msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
+#: src/frontend/mame/ui/selgame.cpp:894
+msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
+#: src/frontend/mame/ui/selgame.cpp:897
+msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
+#: src/frontend/mame/ui/selgame.cpp:899
+msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
+#: src/frontend/mame/ui/selgame.cpp:902
+msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selgame.cpp:904
+msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selgame.cpp:907
+msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/selgame.cpp:909
+msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/selgame.cpp:912
+msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/selgame.cpp:914
+msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/selgame.cpp:917
+msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/selgame.cpp:919
+msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/selgame.cpp:922
+msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/selgame.cpp:924
+msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/selgame.cpp:927
+msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/selgame.cpp:929
+msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/selgame.cpp:932
+msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/selgame.cpp:934
+msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/selgame.cpp:937
+msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/selgame.cpp:939
+msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/selgame.cpp:970
+msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/selgame.cpp:972
+msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/selgame.cpp:975
+msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/selgame.cpp:977
+msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/selgame.cpp:979
+msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/selgame.cpp:983
+msgid ""
+"ROM Audit \tDisabled\n"
+"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/selgame.cpp:1167
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/selgame.cpp:1183 src/frontend/mame/ui/selsoft.cpp:555
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/selgame.cpp:1185 src/frontend/mame/ui/selsoft.cpp:557
+#, c-format
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/selgame.cpp:1195
+#, c-format
+msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/selgame.cpp:1202
+#, c-format
+msgid "System: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/selgame.cpp:1239
+msgid ""
+"The selected machine is missing one or more required ROM or CHD images. "
+"Please select a different machine.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/selgame.cpp:1245 src/frontend/mame/ui/selsoft.cpp:462
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/utils.cpp:57 src/frontend/mame/ui/utils.cpp:81
+msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/utils.cpp:58 src/frontend/mame/ui/utils.cpp:82
+msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/utils.cpp:59 src/frontend/mame/ui/utils.cpp:83
+msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/utils.cpp:60
+msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/utils.cpp:61
+msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/utils.cpp:62
+msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:63
+msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:64
+msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:65
+msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:67
+msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:84
+msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/utils.cpp:85
+msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:70
+msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:86
+msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/utils.cpp:72
+msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/utils.cpp:73
+msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/utils.cpp:74
+msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/utils.cpp:75
+msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/utils.cpp:76
+msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/utils.cpp:77
+msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/utils.cpp:78 src/frontend/mame/ui/utils.cpp:94
+msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/utils.cpp:87
+msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/utils.cpp:88
+msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/utils.cpp:89
+msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/utils.cpp:90
+msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/utils.cpp:91
+msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:43
-#, c-format
-msgid ""
-"[This option is currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"The selected option enables the following items:\n"
+#: src/frontend/mame/ui/utils.cpp:92
+msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:44
-#, c-format
-msgid ""
-"[This option is NOT currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"If you select this option, the following items will be enabled:\n"
+#: src/frontend/mame/ui/utils.cpp:93
+msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/utils.cpp:244
+msgid "<set up filters>"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:352
+msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/utils.cpp:503
#, c-format
-msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
-msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:518
+msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %3$d.%4$06d MHz\n"
+#: src/frontend/mame/ui/utils.cpp:520
+msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:959
+msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/utils.cpp:990
+msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/utils.cpp:998
+msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:103
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1032
+msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1037
+msgid "File"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/utils.cpp:1041
+msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
-#, c-format
-msgid " %1$d×%2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1046
+msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1047
+msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:168
-#, c-format
+#: src/frontend/mame/ui/selsoft.cpp:456
msgid ""
-"* BIOS settings:\n"
-" %1$d options [default: %2$s]\n"
+"The selected software is missing one or more required files. Please select a "
+"different software.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:208 src/frontend/mame/ui/devopt.cpp:224
-#: src/frontend/mame/ui/devopt.cpp:269
+#: src/frontend/mame/ui/selsoft.cpp:549
#, c-format
-msgid " %1$s [default: %2$s]\n"
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
+#: src/frontend/mame/ui/selsoft.cpp:550
#, c-format
-msgid " %1$s\n"
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:260
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:419
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/filesel.cpp:515
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:516
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:518
+msgid "Read-write"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
-#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:519
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:520
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:117
+msgid "Cannot save over directory"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:150
+msgid ""
+"The software selected is missing one or more required ROM or CHD images. "
+"Please select a different one."
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:294
+msgid "Return to Machine"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
-#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:299 src/frontend/mame/ui/menu.cpp:301
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+#: src/frontend/mame/ui/menu.cpp:306 src/frontend/mame/ui/menu.cpp:308
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
-#, c-format
-msgid " %1$s [tag: %2$s]\n"
+#: src/frontend/mame/ui/menu.cpp:742
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
+#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:653
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+#: src/frontend/mame/ui/cheatopt.cpp:105
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/cheatopt.cpp:136
+msgid "Autofire Settings"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:581
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:582
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
+#: src/frontend/mame/ui/cheatopt.cpp:273
+msgid "Autofire Status"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
+#: src/frontend/mame/ui/cheatopt.cpp:316
+msgid "No buttons found on this machine!"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+#: src/frontend/mame/ui/cheatopt.cpp:327 src/frontend/mame/ui/cheatopt.cpp:331
+msgid "Autofire Delay"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
-msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
+#: src/frontend/mame/ui/ui.cpp:337
+msgid "This driver requires images to be loaded in the following device(s): "
msgstr ""
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
+#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
+msgid "Keyboard Emulation Status"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
+#: src/frontend/mame/ui/ui.cpp:1086
+msgid "Mode: PARTIAL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
+#: src/frontend/mame/ui/ui.cpp:1087
+msgid "UI: Enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
+#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
+msgid "**Use ScrLock to toggle**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
+#: src/frontend/mame/ui/ui.cpp:1096
+msgid "Mode: FULL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: src/frontend/mame/ui/ui.cpp:1097
+msgid "UI: Disabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
+#: src/frontend/mame/ui/ui.cpp:1249
+msgid "Autofire can't be enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
+#: src/frontend/mame/ui/ui.cpp:1302
+#, c-format
+msgid ""
+"Are you sure you want to quit?\n"
+"\n"
+"Press ''%1$s'' to quit,\n"
+"Press ''%2$s'' to return to emulation."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
+#: src/frontend/mame/ui/ui.cpp:1374
+msgid "Master Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
+#: src/frontend/mame/ui/ui.cpp:1383
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/ui.cpp:1407
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/ui.cpp:1416
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/ui.cpp:1437
+#, c-format
+msgid "%1$s Refresh Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, c-format
+msgid "%1$s Brightness"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1444
+#, c-format
+msgid "%1$s Contrast"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1446
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/ui.cpp:1450
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/ui.cpp:1452
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/ui.cpp:1454
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/ui.cpp:1456
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/ui.cpp:1475
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/ui.cpp:1477
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/ui.cpp:1479
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
-msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+#: src/frontend/mame/ui/ui.cpp:1481
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:198
-msgid ""
-"There are known problems with this machine\n"
-"\n"
+#: src/frontend/mame/ui/ui.cpp:1493
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/ui.cpp:1494
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/ui.cpp:1495
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
+#: src/frontend/mame/ui/ui.cpp:1496
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#: src/frontend/mame/ui/info.cpp:275
+#: src/frontend/mame/ui/ui.cpp:1511
#, c-format
-msgid ", %s"
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
+#: src/frontend/mame/ui/ui.cpp:1513
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:243
-msgid ""
-"This machine was never completed. It may exhibit strange behavior or missing "
-"elements that are not bugs in the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1601
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:245
-msgid ""
-"This machine has no sound hardware, MAME will produce no sounds, this is "
-"expected behaviour.\n"
+#: src/frontend/mame/ui/ui.cpp:1645
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:249
-msgid ""
-"\n"
-"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
-"complete. There is nothing you can do to fix this problem except wait for "
-"the developers to improve the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1661
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:251
-msgid ""
-"\n"
-"Elements of this machine cannot be emulated as they requires physical "
-"interaction or consist of mechanical devices. It is not possible to fully "
-"experience this machine.\n"
+#: src/frontend/mame/ui/ui.cpp:1685
+#, c-format
+msgid "%1$.3ffps"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
+#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
+#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
+#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
+#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
+#: src/frontend/mame/ui/ui.cpp:1927
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
+#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/ui.cpp:2005
#, c-format
-msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/ui.cpp:2226
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " COLORS"
+msgstr ""
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:39
#, c-format
-msgid "%1$s: %2$s\n"
+msgid ""
+"[This option is currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"The selected option enables the following items:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+#: src/frontend/mame/ui/devopt.cpp:40
+#, c-format
+msgid ""
+"[This option is NOT currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"If you select this option, the following items will be enabled:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:48
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
#, c-format
-msgid "Screen '%1$s'"
+msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
+msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:85
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:90
+#, c-format
+msgid " Screen '%1$s': Vector\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:99
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:100
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:113
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:133
+#, c-format
+msgid " %1$d×%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:164
+#, c-format
+msgid ""
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:204 src/frontend/mame/ui/devopt.cpp:220
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
+#: src/frontend/mame/ui/devopt.cpp:209 src/frontend/mame/ui/devopt.cpp:225
#, c-format
-msgid "Software is clone of: %1$-.100s"
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: src/frontend/mame/ui/devopt.cpp:230
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: src/frontend/mame/ui/devopt.cpp:232
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: src/frontend/mame/ui/devopt.cpp:234
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: src/frontend/mame/ui/devopt.cpp:236
+#, c-format
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
+#: src/frontend/mame/ui/devopt.cpp:238
#, c-format
-msgid "romset: %1$-.100s"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
+#: src/frontend/mame/ui/devopt.cpp:240
#, c-format
-msgid "Driver is clone of: %1$-.100s"
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: src/frontend/mame/ui/devopt.cpp:242
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
+#: src/frontend/mame/ui/devopt.cpp:244
#, c-format
-msgid "%1$s %2$s"
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: src/frontend/mame/ui/devopt.cpp:246
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: src/frontend/mame/ui/devopt.cpp:248
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: src/frontend/mame/ui/devopt.cpp:257
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: src/frontend/mame/ui/devopt.cpp:263
+msgid "* Slot Options:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:270
+msgid "[None]\n"
msgstr ""
#: plugins/timer/init.lua:94
@@ -2672,51 +2591,51 @@ msgstr ""
msgid "Timer"
msgstr ""
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:510
msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheat/init.lua:534
+#: plugins/cheat/init.lua:516
msgid "Press button for hotkey or wait to clear"
msgstr ""
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:528
msgid "None"
msgstr ""
-#: plugins/cheat/init.lua:551
+#: plugins/cheat/init.lua:533
msgid "Done"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:547 plugins/cheat/init.lua:561
msgid "Set"
msgstr ""
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:580
msgid "Set hotkeys"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:720
#, lua-format
msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:723 plugins/cheat/init.lua:781
#, lua-format
msgid "Activated: %s"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:785
#, lua-format
msgid "Enabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:790
#, lua-format
msgid "Disabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "%s added"
msgstr ""
@@ -2765,303 +2684,218 @@ msgstr ""
msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:404
+#: plugins/cheatfind/init.lua:373
msgid "Save Cheat"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Default"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Custom"
msgstr ""
-#: plugins/cheatfind/init.lua:408
+#: plugins/cheatfind/init.lua:377
msgid "Cheat Name"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/cheatfind/init.lua:383 plugins/cheatfind/init.lua:748
#, lua-format
msgid "Default name is %s"
msgstr ""
-#: plugins/cheatfind/init.lua:422
+#: plugins/cheatfind/init.lua:391
msgid "Player"
msgstr ""
-#: plugins/cheatfind/init.lua:427
+#: plugins/cheatfind/init.lua:396
msgid "Type"
msgstr ""
-#: plugins/cheatfind/init.lua:433
+#: plugins/cheatfind/init.lua:402
msgid "Save"
msgstr ""
-#: plugins/cheatfind/init.lua:462
+#: plugins/cheatfind/init.lua:429
#, lua-format
msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:472
+#: plugins/cheatfind/init.lua:437
msgid "Cheat added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:442
msgid ""
"Unable to write file\n"
"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/cheatfind/init.lua:486
+#: plugins/cheatfind/init.lua:451
msgid "Cancel"
msgstr ""
-#: plugins/cheatfind/init.lua:491
+#: plugins/cheatfind/init.lua:456
msgid "CPU or RAM"
msgstr ""
-#: plugins/cheatfind/init.lua:495
+#: plugins/cheatfind/init.lua:460
msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:479
+msgid "Data cleared and current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:487
+msgid "Start new search"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:497
+msgid "Current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:504
+msgid "Save current -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
+#: plugins/cheatfind/init.lua:536
#, lua-format
-msgid "Memory State saved to Slot %d"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:543
+msgid "Compare"
msgstr ""
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
+#: plugins/cheatfind/init.lua:546
+msgid "Left operand"
+msgstr ""
+
+#: plugins/cheatfind/init.lua:549
+msgid "Current"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:554
+msgid "Operator"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:561
+msgid "Left less than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:563
+msgid "Left greater than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:676
+#: plugins/cheatfind/init.lua:565
msgid "Left equal to right"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:567
+msgid "Left not equal to right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:680
+#: plugins/cheatfind/init.lua:569
msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:682
+#: plugins/cheatfind/init.lua:571
msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:684
+#: plugins/cheatfind/init.lua:573
msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:686
+#: plugins/cheatfind/init.lua:575
msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:688
+#: plugins/cheatfind/init.lua:577
msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:690
+#: plugins/cheatfind/init.lua:579
msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/cheatfind/init.lua:590
+msgid "Right operand"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/cheatfind/init.lua:598
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:719
+#: plugins/cheatfind/init.lua:602
msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:725
+#: plugins/cheatfind/init.lua:608
msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:738
-msgid ""
-"Use this if you want to poke the Slot 1 value (eg. You started with "
-"something but lost it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:740
-msgid ""
-"Use this if you want to poke the Last Slot value (eg. You started without an "
-"item but finally got it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:816
+#: plugins/cheatfind/init.lua:632
msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:820
+#: plugins/cheatfind/init.lua:636
msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:823
+#: plugins/cheatfind/init.lua:639
msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheatfind/init.lua:690
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Test cheat at addr %08X"
msgstr ""
-#: plugins/cheatfind/init.lua:974
+#: plugins/cheatfind/init.lua:722
msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
+#: plugins/cheatfind/init.lua:788
msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
+#: plugins/cheatfind/init.lua:806
msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
+#: plugins/cheatfind/init.lua:816
msgid "Cheat Finder"
msgstr ""
-#: plugins/portname/init.lua:103
+#: plugins/portname/init.lua:69
msgid "Save input names to file"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
+#: plugins/portname/init.lua:100 plugins/portname/init.lua:105
+#: plugins/portname/init.lua:121
msgid "Failed to save input name file"
msgstr ""
-#: plugins/portname/init.lua:167
+#: plugins/portname/init.lua:133
#, lua-format
msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/portname/init.lua:172
+#: plugins/portname/init.lua:138
msgid "Input ports"
msgstr ""
diff --git a/language/Russian/strings.po b/language/Russian/strings.po
index 9cccdd01649..4b9eacbd899 100644
--- a/language/Russian/strings.po
+++ b/language/Russian/strings.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MAME\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-03-17 13:37+1100\n"
+"POT-Creation-Date: 2018-04-28 15:32+1000\n"
"PO-Revision-Date: 2017-10-23 16:22+0300\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -19,61 +19,236 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
+#: src/frontend/mame/ui/auditmenu.cpp:96
#, c-format
-msgid "Screen #%d"
-msgstr "Экран #%d"
+msgid "Audit ROMs for %1$u machines marked unavailable?"
+msgstr "Проверить ROMÑ‹ Ð´Ð»Ñ %1$u ÑиÑтем, помеченных как недоÑтупные?"
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr "Поворот"
+#: src/frontend/mame/ui/auditmenu.cpp:99
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
+msgstr "Проверить ROMÑ‹ Ð´Ð»Ñ Ð²Ñех %1$u ÑиÑтем?"
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr "Задники"
+#: src/frontend/mame/ui/auditmenu.cpp:104
+#, c-format
+msgid "(results will be saved to %1$s)"
+msgstr "(результаты будут Ñохранены в %1$s)"
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Enabled"
-msgstr "Включен"
+#: src/frontend/mame/ui/auditmenu.cpp:130
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
+msgstr "ПроверÑем ROMÑ‹ Ð´Ð»Ñ ÑиÑтемы %2$u из %3$u...%1$s"
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Disabled"
-msgstr "Выключен"
+#: src/frontend/mame/ui/auditmenu.cpp:142
+msgid "Start Audit"
+msgstr "Ðачать проверку"
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr "Оверлеи"
+#: src/frontend/mame/ui/selmenu.cpp:49 src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Snapshots"
+msgstr "Снимки Ñкрана"
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr "ОбрамлениÑ"
+#: src/frontend/mame/ui/selmenu.cpp:50 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cabinets"
+msgstr "Кабинеты"
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
-msgstr "Панели"
+#: src/frontend/mame/ui/selmenu.cpp:51
+msgid "Control Panels"
+msgstr "Панели управлениÑ"
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
+#: src/frontend/mame/ui/selmenu.cpp:52 src/frontend/mame/ui/dirmenu.cpp:50
+msgid "PCBs"
+msgstr "Платы"
+
+#: src/frontend/mame/ui/selmenu.cpp:53 src/frontend/mame/ui/dirmenu.cpp:47
+msgid "Flyers"
+msgstr "Буклеты"
+
+#: src/frontend/mame/ui/selmenu.cpp:54 src/frontend/mame/ui/dirmenu.cpp:48
+msgid "Titles"
+msgstr "Титулы"
+
+#: src/frontend/mame/ui/selmenu.cpp:55 src/frontend/mame/ui/dirmenu.cpp:49
+msgid "Ends"
+msgstr "Концовки"
+
+#: src/frontend/mame/ui/selmenu.cpp:56
+msgid "Artwork Preview"
+msgstr "ПредпроÑмотр оформлениÑ"
+
+#: src/frontend/mame/ui/selmenu.cpp:57 src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Bosses"
+msgstr "БоÑÑÑ‹"
+
+#: src/frontend/mame/ui/selmenu.cpp:58 src/frontend/mame/ui/dirmenu.cpp:60
+msgid "Logos"
+msgstr "Логотипы"
+
+#: src/frontend/mame/ui/selmenu.cpp:59 src/frontend/mame/ui/dirmenu.cpp:62
+msgid "Versus"
+msgstr "Против"
+
+#: src/frontend/mame/ui/selmenu.cpp:60
+msgid "Game Over"
+msgstr "Игра Окончена"
+
+#: src/frontend/mame/ui/selmenu.cpp:61 src/frontend/mame/ui/dirmenu.cpp:59
+msgid "HowTo"
+msgstr "Обучение"
+
+#: src/frontend/mame/ui/selmenu.cpp:62 src/frontend/mame/ui/dirmenu.cpp:61
+msgid "Scores"
+msgstr "Таблицы рекордов"
+
+#: src/frontend/mame/ui/selmenu.cpp:63 src/frontend/mame/ui/dirmenu.cpp:57
+msgid "Select"
+msgstr "Выбор"
+
+#: src/frontend/mame/ui/selmenu.cpp:64 src/frontend/mame/ui/dirmenu.cpp:51
+#: src/frontend/mame/ui/videoopt.cpp:224
msgid "Marquees"
msgstr "Маркизы"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
-msgstr "Вид"
+#: src/frontend/mame/ui/selmenu.cpp:65 src/frontend/mame/ui/dirmenu.cpp:63
+msgid "Covers"
+msgstr "Обложки"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
-msgstr "Урезанный"
+#: src/frontend/mame/ui/selmenu.cpp:69
+msgid "Add or remove favorites"
+msgstr "Добавить или удалить избранное"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
-msgstr "Полный"
+#: src/frontend/mame/ui/selmenu.cpp:70
+msgid "Export displayed list to file"
+msgstr "ЭкÑпорт отображаемого ÑпиÑка в файл"
+
+#: src/frontend/mame/ui/selmenu.cpp:71
+msgid "Show DATs view"
+msgstr "Показать вид DAT"
+
+#: src/frontend/mame/ui/selmenu.cpp:237
+msgid "Software part selection:"
+msgstr "Выбор чаÑти программы:"
+
+#: src/frontend/mame/ui/selmenu.cpp:343
+msgid "BIOS selection:"
+msgstr "Выбор BIOS:"
+
+#: src/frontend/mame/ui/selmenu.cpp:570 src/frontend/mame/ui/selmenu.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:311
+#, c-format
+msgid "%1$s, %2$-.100s"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:574
+#, c-format
+msgid "Software is clone of: %1$-.100s"
+msgstr "Программа - clone от: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:576
+msgid "Software is parent"
+msgstr "Программа - parent"
+
+#: src/frontend/mame/ui/selmenu.cpp:581
+msgid "Supported: No"
+msgstr "ПоддерживаетÑÑ: Ðет"
+
+#: src/frontend/mame/ui/selmenu.cpp:586
+msgid "Supported: Partial"
+msgstr "ПоддерживаетÑÑ: ЧаÑтично"
+
+#: src/frontend/mame/ui/selmenu.cpp:591
+msgid "Supported: Yes"
+msgstr "ПоддерживаетÑÑ: Да"
+
+#: src/frontend/mame/ui/selmenu.cpp:596
+#, c-format
+msgid "romset: %1$-.100s"
+msgstr "ROM-набор: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:612
+#, c-format
+msgid "Driver is clone of: %1$-.100s"
+msgstr "Драйвер - clone от: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:614
+msgid "Driver is parent"
+msgstr "Драйвер - parent"
+
+#: src/frontend/mame/ui/selmenu.cpp:619
+#: src/frontend/mame/ui/simpleselgame.cpp:330
+msgid "Overall: NOT WORKING"
+msgstr "Ð’ целом: ÐЕ РÐБОТÐЕТ"
+
+#: src/frontend/mame/ui/selmenu.cpp:621
+#: src/frontend/mame/ui/simpleselgame.cpp:332
+msgid "Overall: Unemulated Protection"
+msgstr "Ð’ целом: Ðе ÑмулируетÑÑ Ð·Ð°Ñ‰Ð¸Ñ‚Ð°"
+
+#: src/frontend/mame/ui/selmenu.cpp:623
+#: src/frontend/mame/ui/simpleselgame.cpp:334
+msgid "Overall: Working"
+msgstr "В целом: Работает"
+
+#: src/frontend/mame/ui/selmenu.cpp:627
+#: src/frontend/mame/ui/simpleselgame.cpp:338
+msgid "Graphics: Unimplemented, "
+msgstr "Графика: Ðе ÑмулируетÑÑ, "
+
+#: src/frontend/mame/ui/selmenu.cpp:629
+#: src/frontend/mame/ui/simpleselgame.cpp:340
+msgid "Graphics: Imperfect, "
+msgstr "Графика: Ðе идеально, "
+
+#: src/frontend/mame/ui/selmenu.cpp:631
+#: src/frontend/mame/ui/simpleselgame.cpp:342
+msgid "Graphics: OK, "
+msgstr "Графика: OK, "
+
+#: src/frontend/mame/ui/selmenu.cpp:634
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+msgid "Sound: None"
+msgstr "Звук: ОтÑутÑтвует"
+
+#: src/frontend/mame/ui/selmenu.cpp:636
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+msgid "Sound: Unimplemented"
+msgstr "Звук: Ðе ÑмулируетÑÑ"
+
+#: src/frontend/mame/ui/selmenu.cpp:638
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+msgid "Sound: Imperfect"
+msgstr "Звук: Ðе идеально"
+
+#: src/frontend/mame/ui/selmenu.cpp:640
+#: src/frontend/mame/ui/simpleselgame.cpp:351
+msgid "Sound: OK"
+msgstr "Звук: OK"
+
+#: src/frontend/mame/ui/selmenu.cpp:650
+#, c-format
+msgid "%1$s %2$s"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:1975
+msgid "Images"
+msgstr "ИзображениÑ"
+
+#: src/frontend/mame/ui/selmenu.cpp:1976
+msgid "Infos"
+msgstr "ИнформациÑ"
+
+#: src/frontend/mame/ui/selmenu.cpp:2386 src/frontend/mame/ui/miscmenu.cpp:826
+msgid " (default)"
+msgstr " (по-умолчанию)"
+
+#: src/frontend/mame/ui/selmenu.cpp:2454
+msgid "Usage"
+msgstr "ИÑпользование"
+
+#: src/frontend/mame/ui/selmenu.cpp:2489
+msgid "General Info"
+msgstr "ÐžÐ±Ñ‰Ð°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ"
#: src/frontend/mame/ui/dirmenu.cpp:35
msgid "ROMs"
@@ -115,30 +290,6 @@ msgstr "Иконки"
msgid "Cheats"
msgstr "Читы"
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
-msgstr "Снимки Ñкрана"
-
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
-msgstr "Кабинеты"
-
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
-msgstr "Буклеты"
-
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
-msgstr "Титулы"
-
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
-msgstr "Концовки"
-
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
-msgstr "Платы"
-
#: src/frontend/mame/ui/dirmenu.cpp:52
msgid "Controls Panels"
msgstr "Панели управлениÑ"
@@ -151,42 +302,14 @@ msgstr "Прицелы"
msgid "Artworks"
msgstr "Элементы оформлениÑ"
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
-msgstr "БоÑÑÑ‹"
-
#: src/frontend/mame/ui/dirmenu.cpp:56
msgid "Artworks Preview"
msgstr "ПредпроÑмотр оформлениÑ"
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
-msgstr "Выбор"
-
#: src/frontend/mame/ui/dirmenu.cpp:58
msgid "GameOver"
msgstr "КонецИгры"
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
-msgstr "Обучение"
-
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
-msgstr "Логотипы"
-
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
-msgstr "Таблицы рекордов"
-
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
-msgstr "Против"
-
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
-msgstr "Обложки"
-
#: src/frontend/mame/ui/dirmenu.cpp:116
msgid "Folders Setup"
msgstr "УÑтановки папок"
@@ -227,14 +350,276 @@ msgstr "Ðажмите TAB Ð´Ð»Ñ Ð²Ñ‹Ð±Ð¾Ñ€Ð°"
msgid "Remove %1$s Folder"
msgstr "Убрать папку %1$s"
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
-msgstr "СпиÑок выбора - ПоиÑк: "
+#: src/frontend/mame/ui/info.cpp:30
+msgid "protection"
+msgstr "защита"
+
+#: src/frontend/mame/ui/info.cpp:31
+msgid "color palette"
+msgstr "Ñ†Ð²ÐµÑ‚Ð¾Ð²Ð°Ñ Ð¿Ð°Ð»Ð¸Ñ‚Ñ€Ð°"
+
+#: src/frontend/mame/ui/info.cpp:32
+msgid "graphics"
+msgstr "графика"
+
+#: src/frontend/mame/ui/info.cpp:33
+msgid "sound"
+msgstr "звук"
+
+#: src/frontend/mame/ui/info.cpp:34
+msgid "controls"
+msgstr "управление"
+
+#: src/frontend/mame/ui/info.cpp:35
+msgid "keyboard"
+msgstr "клавиатура"
+
+#: src/frontend/mame/ui/info.cpp:36
+msgid "mouse"
+msgstr "мышь"
+
+#: src/frontend/mame/ui/info.cpp:37
+msgid "microphone"
+msgstr "микрофон"
+
+#: src/frontend/mame/ui/info.cpp:38
+msgid "camera"
+msgstr "камера"
+
+#: src/frontend/mame/ui/info.cpp:39
+msgid "disk"
+msgstr "диÑк"
-#: src/frontend/mame/ui/selector.cpp:123
+#: src/frontend/mame/ui/info.cpp:40
+msgid "printer"
+msgstr "принтер"
+
+#: src/frontend/mame/ui/info.cpp:41
+msgid "LAN"
+msgstr "Ð›Ð¾ÐºÐ°Ð»ÑŒÐ½Ð°Ñ Ñеть"
+
+#: src/frontend/mame/ui/info.cpp:42
+msgid "WAN"
+msgstr "Ð£Ð´Ð°Ð»ÐµÐ½Ð½Ð°Ñ Ñеть"
+
+#: src/frontend/mame/ui/info.cpp:43
+msgid "timing"
+msgstr "ÑкороÑть"
+
+#: src/frontend/mame/ui/info.cpp:180
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
+msgstr ""
+"Один или неÑколько ROMов/CHD Ñтой ÑиÑтемы не верные. Эта ÑиÑтема может "
+"работать не правильно.\n"
+
+#: src/frontend/mame/ui/info.cpp:190
+msgid ""
+"There are known problems with this machine\n"
+"\n"
+msgstr ""
+"ИмеютÑÑ Ð¸Ð·Ð²ÐµÑтные проблемы Ñ Ñтой ÑиÑтемой\n"
+"\n"
+
+#: src/frontend/mame/ui/info.cpp:195
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+msgstr ""
+"Один или неÑколько ROMов/CHD Ñтой ÑиÑтемы не были нормально Ñдамплены.\n"
+
+#: src/frontend/mame/ui/info.cpp:200
+msgid "Completely unemulated features: "
+msgstr "ПолноÑтью не ÑмулируютÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñти: "
+
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
#, c-format
-msgid "Double click or press %1$s to select"
-msgstr "Кликние два раза или нажмите %1$s Ð´Ð»Ñ Ð²Ñ‹Ð±Ð¾Ñ€Ð°"
+msgid "%s"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#: src/frontend/mame/ui/info.cpp:267
+#, c-format
+msgid ", %s"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:216
+msgid "Imperfectly emulated features: "
+msgstr "ÐеÑовершенно Ñмулируемые возможноÑти: "
+
+#: src/frontend/mame/ui/info.cpp:231
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr "Переворот Ñкрана в режиме коктейль-Ñтола не поддерживаетÑÑ.\n"
+
+#: src/frontend/mame/ui/info.cpp:233
+msgid "This machine requires external artwork files.\n"
+msgstr "Эта ÑиÑтема требует внешние графичеÑкие файлы.\n"
+
+#: src/frontend/mame/ui/info.cpp:235
+msgid ""
+"This machine was never completed. It may exhibit strange behavior or missing "
+"elements that are not bugs in the emulation.\n"
+msgstr ""
+"Разработка Ñтой ÑиÑтемы так и не была завершена. Может наблюдатьÑÑ Ñтранное "
+"поведение или отÑутÑвующие Ñлементы. Это не ÑвлÑетÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ°Ð¼Ð¸ ÑмулÑции.\n"
+
+#: src/frontend/mame/ui/info.cpp:237
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
+msgstr ""
+"У Ñтой ÑиÑтемы нет звукового оборудованиÑ, в процеÑÑе ÑмулÑции не будет "
+"никаких звуков, так и должно быть.\n"
+
+#: src/frontend/mame/ui/info.cpp:241
+msgid ""
+"\n"
+"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
+"complete. There is nothing you can do to fix this problem except wait for "
+"the developers to improve the emulation.\n"
+msgstr ""
+"\n"
+"ЭТРСИСТЕМРÐЕ РÐБОТÐЕТ. ЭмулÑÑ†Ð¸Ñ Ñтой ÑиÑтемы пока не завершена. Ð’Ñ‹ никак "
+"не можете иÑправить Ñту проблему, лишь подождать когда разработчики улучшат "
+"ÑмулÑцию.\n"
+
+#: src/frontend/mame/ui/info.cpp:243
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they requires physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
+msgstr ""
+"\n"
+"Элементы Ñтой ÑиÑтемы не могут быть Ñмулированы, поÑкольку они требуют "
+"физичеÑкого взаимодейÑÑ‚Ð²Ð¸Ñ Ð¸Ð»Ð¸ ÑоÑтоÑÑ‚ из механичеÑких уÑтройÑтв. Ðевозможно "
+"полноÑтью ощутить опыт взаимодейÑÑ‚Ð²Ð¸Ñ Ñ Ñтой ÑиÑтемой.\n"
+
+#: src/frontend/mame/ui/info.cpp:265
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
+msgstr ""
+"\n"
+"\n"
+"ИзвеÑтные работающие clones Ñтой ÑиÑтемы: %s"
+
+#: src/frontend/mame/ui/info.cpp:278
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+"\n"
+"\n"
+"Ðажмите любую клавишу Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð´Ð¾Ð»Ð¶ÐµÐ½Ð¸Ñ"
+
+#: src/frontend/mame/ui/info.cpp:293
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
+msgstr ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Драйвер: %4$s\n"
+"\n"
+"ПроцеÑÑор:\n"
+
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "MHz"
+msgstr "МГц"
+
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "kHz"
+msgstr "кГц"
+
+#: src/frontend/mame/ui/info.cpp:342
+msgid ""
+"\n"
+"Sound:\n"
+msgstr ""
+"\n"
+"Звук:\n"
+
+#: src/frontend/mame/ui/info.cpp:370
+msgid ""
+"\n"
+"Video:\n"
+msgstr ""
+"\n"
+"Видео:\n"
+
+#: src/frontend/mame/ui/info.cpp:374
+msgid "None\n"
+msgstr "Ðет\n"
+
+#: src/frontend/mame/ui/info.cpp:381
+msgid "Vector"
+msgstr "Векторный"
+
+#: src/frontend/mame/ui/info.cpp:392
+#, c-format
+msgid "%1$s: %2$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:392
+msgid "%2$s\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:438
+#, c-format
+msgid "Screen '%1$s'"
+msgstr "Экран '%1$s'"
+
+#: src/frontend/mame/ui/info.cpp:440
+msgid "Screen"
+msgstr "Экран"
+
+#: src/frontend/mame/ui/info.cpp:525
+msgid "Not supported"
+msgstr "Ðе поддерживаетÑÑ"
+
+#: src/frontend/mame/ui/info.cpp:528
+msgid "Partially supported"
+msgstr "ЧаÑтично поддерживаетÑÑ"
+
+#: src/frontend/mame/ui/info.cpp:536
+msgid "[empty]"
+msgstr "[пуÑто]"
+
+#: src/frontend/mame/ui/optsmenu.cpp:193
+msgid "Filter"
+msgstr "Фильтр"
+
+#: src/frontend/mame/ui/optsmenu.cpp:206
+msgid "Customize UI"
+msgstr "ÐаÑтройка интерфейÑа"
+
+#: src/frontend/mame/ui/optsmenu.cpp:207
+msgid "Configure Directories"
+msgstr "ÐаÑтройки путей"
+
+#: src/frontend/mame/ui/optsmenu.cpp:210 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
+msgstr "ÐаÑтройки звука"
+
+#: src/frontend/mame/ui/optsmenu.cpp:213
+msgid "General Inputs"
+msgstr "Управление (общее)"
+
+#: src/frontend/mame/ui/optsmenu.cpp:216
+msgid "Save Configuration"
+msgstr "Сохранить наÑтройки"
+
+#: src/frontend/mame/ui/optsmenu.cpp:228
+msgid "Settings"
+msgstr "ÐаÑтройки"
#: src/frontend/mame/ui/tapectrl.cpp:85
msgid "stopped"
@@ -276,8 +661,30 @@ msgstr "Перемотка"
msgid "Fast Forward"
msgstr "БыÑÑ‚Ñ€Ð°Ñ Ð¿ÐµÑ€ÐµÐ¼Ð¾Ñ‚ÐºÐ°"
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
-#: src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/inputmap.cpp:53
+msgid "User Interface"
+msgstr "Ð˜Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ"
+
+#: src/frontend/mame/ui/inputmap.cpp:59
+msgid "Other Controls"
+msgstr "Дополнительное управление"
+
+#: src/frontend/mame/ui/inputmap.cpp:628 src/frontend/mame/ui/miscmenu.cpp:96
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr "СброÑ"
+
+#: src/frontend/mame/ui/selector.cpp:116
+msgid "Selection List - Search: "
+msgstr "СпиÑок выбора - ПоиÑк: "
+
+#: src/frontend/mame/ui/selector.cpp:124
+#, c-format
+msgid "Double click or press %1$s to select"
+msgstr "Кликние два раза или нажмите %1$s Ð´Ð»Ñ Ð²Ñ‹Ð±Ð¾Ñ€Ð°"
+
+#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/filesel.cpp:256
msgid "[empty slot]"
msgstr "[пуÑтой Ñлот]"
@@ -318,182 +725,6 @@ msgstr "ИÑпользование ПО"
msgid "Revision: "
msgstr "РевизиÑ: "
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
-msgstr "Файл уже ÑущеÑтвует - Заменить?"
-
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
-msgstr "Ðет"
-
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
-msgstr "Да"
-
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
-msgstr "Ðовый образ:"
-
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
-msgstr "Формат образа:"
-
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
-msgstr "Создать"
-
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
-msgstr "Введите также раÑширение файла"
-
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
-msgstr "Выберите формат образа"
-
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
-msgstr "Управление (общее)"
-
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
-msgstr "Управление (Ñта ÑиÑтема)"
-
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
-msgstr "Ðналоговое управление"
-
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
-msgstr "DIP-переключатели"
-
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
-msgstr "ÐаÑтройки ÑиÑтемы"
-
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
-msgstr "СтатиÑтика игры"
-
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
-msgstr "Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ ÑиÑтеме"
-
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
-msgstr "Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ образах"
-
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
-msgstr "Файловый менеджер"
-
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
-msgstr "Управление лентой"
-
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
-msgstr "ПÑевдо-терминалы"
-
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
-msgstr "Выбор BIOS"
-
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
-msgstr "Подключаемые уÑтройÑтва"
-
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
-msgstr "Сканер штрих-кодов"
-
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
-msgstr "Сетевые уÑтройÑтва"
-
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
-msgstr "Режим клавиатуры"
-
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
-msgstr "Управление Ñлайдерами"
-
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
-msgstr "ÐаÑтройки видео"
-
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
-msgstr "ÐаÑтройки прицела"
-
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
-msgstr "Читы"
-
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
-msgstr "ÐаÑтройки плагинов"
-
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
-msgstr "ПроÑмотр DAT-файлов"
-
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
-msgstr "Добавить в Избранное"
-
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
-msgstr "Удалить из Избранного"
-
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
-msgstr "Выбрать новую ÑиÑтему"
-
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
-msgstr "Ðовый штрихкод:"
-
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
-msgstr "Введите код"
-
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
-msgstr "Ðе Ð²ÐµÑ€Ð½Ð°Ñ Ð´Ð»Ð¸Ð½Ð° штрих-кода!"
-
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
-msgstr "[не удалоÑÑŒ]"
-
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
-msgstr "ÐаÑтройки звука"
-
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
-msgstr "Управление (общее)"
-
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
-msgstr "Сохранить наÑтройки"
-
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
-msgstr "ÐаÑтройки"
-
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
-msgstr "Фильтр"
-
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
-msgstr "ÐаÑтройка интерфейÑа"
-
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
-msgstr "ÐаÑтройки путей"
-
#: src/frontend/mame/ui/simpleselgame.cpp:149
msgid ""
"The selected game is missing one or more required ROM or CHD images. Please "
@@ -506,7 +737,7 @@ msgstr ""
"\n"
"Ðажмите любую клавишу Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð´Ð¾Ð»Ð¶ÐµÐ½Ð¸Ñ."
-#: src/frontend/mame/ui/simpleselgame.cpp:247
+#: src/frontend/mame/ui/simpleselgame.cpp:241
#, c-format
msgid ""
"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
@@ -520,327 +751,198 @@ msgstr ""
"ЕÑли вы в первый раз иÑпользуете %2$s, пожалуйÑта, поÑмотрите файл config."
"txt в директории docs, чтобы получить информацию о наÑтройке %2$s."
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:271
+#: src/frontend/mame/ui/selgame.cpp:436
msgid "Configure Options"
msgstr "Изменение наÑтроек"
-#: src/frontend/mame/ui/simpleselgame.cpp:298
+#: src/frontend/mame/ui/simpleselgame.cpp:292
#, c-format
msgid "Type name or select: %1$s_"
msgstr "Введите Ð¸Ð¼Ñ Ð¸Ð»Ð¸ выберите: %1$s_"
-#: src/frontend/mame/ui/simpleselgame.cpp:300
+#: src/frontend/mame/ui/simpleselgame.cpp:294
msgid "Type name or select: (random)"
msgstr "Введите Ð¸Ð¼Ñ Ð¸Ð»Ð¸ выберите: (Ñлучайно)"
-#: src/frontend/mame/ui/simpleselgame.cpp:314
-#: src/frontend/mame/ui/selsoft.cpp:652 src/frontend/mame/ui/selsoft.cpp:659
+#: src/frontend/mame/ui/simpleselgame.cpp:308
+#: src/frontend/mame/ui/selsoft.cpp:564 src/frontend/mame/ui/selsoft.cpp:571
#, c-format
msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:317
-#: src/frontend/mame/ui/selmenu.cpp:618 src/frontend/mame/ui/selmenu.cpp:654
-#, c-format
-msgid "%1$s, %2$-.100s"
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:320
+#: src/frontend/mame/ui/simpleselgame.cpp:314
#, c-format
msgid "Driver: %1$-.100s"
msgstr "Драйвер: %1$-.100s"
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
-msgstr "Ð’ целом: ÐЕ РÐБОТÐЕТ"
+#: src/frontend/mame/ui/videoopt.cpp:56
+#, c-format
+msgid "Screen #%d"
+msgstr "Экран #%d"
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
-msgstr "Ð’ целом: Ðе ÑмулируетÑÑ Ð·Ð°Ñ‰Ð¸Ñ‚Ð°"
+#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
+msgid "Rotate"
+msgstr "Поворот"
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
-msgstr "В целом: Работает"
+#: src/frontend/mame/ui/videoopt.cpp:208
+msgid "Backdrops"
+msgstr "Задники"
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
-msgstr "Графика: Ðе ÑмулируетÑÑ, "
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Enabled"
+msgstr "Включен"
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
-msgstr "Графика: Ðе идеально, "
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Disabled"
+msgstr "Выключен"
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
-msgstr "Графика: OK, "
+#: src/frontend/mame/ui/videoopt.cpp:212
+msgid "Overlays"
+msgstr "Оверлеи"
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
-msgstr "Звук: ОтÑутÑтвует"
+#: src/frontend/mame/ui/videoopt.cpp:216
+msgid "Bezels"
+msgstr "ОбрамлениÑ"
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
-msgstr "Звук: Ðе ÑмулируетÑÑ"
+#: src/frontend/mame/ui/videoopt.cpp:220
+msgid "CPanels"
+msgstr "Панели"
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
-msgstr "Звук: Ðе идеально"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "View"
+msgstr "Вид"
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
-msgstr "Звук: OK"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cropped"
+msgstr "Урезанный"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
-msgstr "Загрузить Ñохранение"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Full"
+msgstr "Полный"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
-msgstr "Укажите Ñлот загрузки"
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
+msgstr "Файл уже ÑущеÑтвует - Заменить?"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
-msgstr "ЗапиÑать Ñохранение"
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1047
+msgid "No"
+msgstr "Ðет"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
-msgstr "Укажите Ñлот ÑохранениÑ"
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1047
+msgid "Yes"
+msgstr "Да"
-#: src/frontend/mame/ui/ui.cpp:337
-msgid "This driver requires images to be loaded in the following device(s): "
-msgstr "Этот драйвер требует загрузки образов в Ñледующие уÑтройÑтва: "
+#: src/frontend/mame/ui/filecreate.cpp:171
+msgid "New Image Name:"
+msgstr "Ðовый образ:"
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
-msgstr "СоÑтоÑние ÑмулÑции клавиатуры"
+#: src/frontend/mame/ui/filecreate.cpp:177
+msgid "Image Format:"
+msgstr "Формат образа:"
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
-msgstr "Режим: ЧÐСТИЧÐÐЯ ÑмулÑциÑ"
+#: src/frontend/mame/ui/filecreate.cpp:183
+msgid "Create"
+msgstr "Создать"
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
-msgstr "UI: Включен"
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr "Введите также раÑширение файла"
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
-msgstr "**Ðажмите ScrLock Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ**"
+#: src/frontend/mame/ui/filecreate.cpp:266
+msgid "Select image format"
+msgstr "Выберите формат образа"
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
-msgstr "Режим: ПОЛÐÐЯ ÑмулÑциÑ"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Keyboard Mode:"
+msgstr "Режим клавиатуры:"
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
-msgstr "UI: Выключен"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Natural"
+msgstr "ОбычнаÑ"
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
-msgstr "Ðвто-огонь не может быть включен"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Emulated"
+msgstr "ЭмулируетÑÑ"
-#: src/frontend/mame/ui/ui.cpp:1302
+#: src/frontend/mame/ui/miscmenu.cpp:236
#, c-format
msgid ""
-"Are you sure you want to quit?\n"
+"Uptime: %1$d:%2$02d:%3$02d\n"
"\n"
-"Press ''%1$s'' to quit,\n"
-"Press ''%2$s'' to return to emulation."
msgstr ""
-"Ð’Ñ‹ дейÑтвительно хотите выйти?\n"
+"Ð’Ñ€ÐµÐ¼Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹: %1$d:%2$02d:%3$02d\n"
"\n"
-"Ðажмите ''%1$s'' Ð´Ð»Ñ Ð²Ñ‹Ñ…Ð¾Ð´Ð°,\n"
-"Ðажмите ''%2$s'' Ð´Ð»Ñ Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‚Ð° к ÑмулÑции."
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
-msgstr "ÐžÐ±Ñ‰Ð°Ñ Ð³Ñ€Ð¾Ð¼ÐºÐ¾Ñть"
-
-#: src/frontend/mame/ui/ui.cpp:1383
+#: src/frontend/mame/ui/miscmenu.cpp:238
#, c-format
-msgid "%1$s Volume"
-msgstr "%1$s ГромкоÑть"
-
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
-msgstr "Разгон процеÑÑора %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
-msgstr "Разгон %1$s звука"
-
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
-msgstr "%1$s ЧаÑтота обновлениÑ"
-
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
-msgstr "%1$s ЯркоÑть"
-
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
-msgstr "%1$s КонтраÑÑ‚"
-
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
-msgstr "%1$s Гамма"
-
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
-msgstr "%1$s гориз. размер"
-
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
-msgstr "%1$s гориз. позициÑ"
-
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
-msgstr "%1$s верт. размер"
-
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
-msgstr "%1$s верт. позициÑ"
-
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
-msgstr "ЛазердиÑк '%1$s' гориз. размер"
-
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
-msgstr "ЛазердиÑк '%1$s' гориз. позициÑ"
-
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
-msgstr "ЛазердиÑк '%1$s' верт. размер"
-
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr "ЛазердиÑк '%1$s' верт. позициÑ"
-
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
-msgstr "Мерцание луча"
-
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
-msgstr "ÐœÐ¸Ð½Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ð° луча"
-
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
-msgstr "МакÑÐ¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ð° луча"
-
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
-msgstr "ÐаÑыщенноÑть луча"
-
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr "МаÑштаб прицела %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
+"Ð’Ñ€ÐµÐ¼Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹: %1$d:%2$02d\n"
+"\n"
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
-msgstr "Смещение прицела %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
-msgstr "%1$3dдБ"
-
-#: src/frontend/mame/ui/ui.cpp:1645
+#: src/frontend/mame/ui/miscmenu.cpp:242
#, c-format
-msgid "%1$d%%"
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
msgstr ""
+"Выдано билетов: %1$d\n"
+"\n"
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:253
+msgid "Coin %1$c: NA%3$s\n"
+msgstr "Монетоприемник %1$c: ÐД%3$s\n"
-#: src/frontend/mame/ui/ui.cpp:1685
+#: src/frontend/mame/ui/miscmenu.cpp:253
#, c-format
-msgid "%1$.3ffps"
-msgstr ""
+msgid "Coin %1$c: %2$d%3$s\n"
+msgstr "Монетоприемник %1$c: %2$d%3$s\n"
-#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
-#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
-#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
-#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
-#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
-#: src/frontend/mame/ui/ui.cpp:1927
-#, c-format
-msgid "%1$.3f"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:256
+msgid " (locked)"
+msgstr " (закрыт)"
-#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
-#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
-#, c-format
-msgid "%1$1.2f"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:503
+msgid "Visible Delay"
+msgstr "Ð’Ð¸Ð´Ð¸Ð¼Ð°Ñ Ð·Ð°Ð´ÐµÑ€Ð¶ÐºÐ°"
-#: src/frontend/mame/ui/ui.cpp:2005
+#: src/frontend/mame/ui/miscmenu.cpp:601
#, c-format
-msgid "Crosshair Scale X %1$1.3f"
-msgstr "МаÑштаб прицела X %1$1.3f"
+msgid "%s.xml saved under ui folder."
+msgstr "%s.xml Ñохранен в папку ui."
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
-msgstr "МаÑштаб прицела Y %1$1.3f"
+#: src/frontend/mame/ui/miscmenu.cpp:627
+msgid "Name: Description:\n"
+msgstr "ИмÑ: ОпиÑание:\n"
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/miscmenu.cpp:638
#, c-format
-msgid "Crosshair Offset X %1$1.3f"
-msgstr "Смещение прицела X %1$1.3f"
+msgid "%s.txt saved under ui folder."
+msgstr "%s.txt Ñохранен в папку ui."
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
-msgstr "Смещение прицела Y %1$1.3f"
+#: src/frontend/mame/ui/miscmenu.cpp:655
+msgid "Export list in XML format (like -listxml)"
+msgstr "ЭкÑпортировать ÑпиÑок в формате XML (как -listxml)"
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
-msgstr "**Ошибка ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ ui.ini**"
+#: src/frontend/mame/ui/miscmenu.cpp:656
+msgid "Export list in XML format (like -listxml, but exclude devices)"
+msgstr ""
+"ЭкÑпортировать ÑпиÑок в формате XML (как -listxml, но иÑключить уÑтройÑтва)"
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
-msgstr "**Ошибка ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ %s.ini**"
+#: src/frontend/mame/ui/miscmenu.cpp:657
+msgid "Export list in TXT format (like -listfull)"
+msgstr "ЭкÑпортировать ÑпиÑок в текÑтовом формате (как -listfull)"
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/miscmenu.cpp:710 src/frontend/mame/ui/ui.cpp:2230
msgid ""
"\n"
" Configuration saved \n"
@@ -850,339 +952,160 @@ msgstr ""
" ÐаÑтройки Ñохранены \n"
"\n"
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
-msgid ""
-"Cheat Comment:\n"
-"%s"
-msgstr ""
-"Коментарий чита:\n"
-"%s"
-
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
-msgstr "Ð’Ñе читы перезагружены"
-
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
-msgstr "ÐаÑтройка авто-огнÑ"
-
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
-msgstr "СброÑить вÑе"
-
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
-msgstr "Перезагрузить вÑе"
-
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
-msgstr "СоÑтоÑние"
-
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
-msgstr "У Ñтой ÑиÑтемы нет кнопок огонь!"
-
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
-msgstr "ЧаÑтота"
-
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
-#, c-format
-msgid ""
-"%s\n"
-" added to favorites list."
-msgstr ""
-"%s\n"
-" добавлен в ÑпиÑок избранного."
-
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
-#, c-format
-msgid ""
-"%s\n"
-" removed from favorites list."
-msgstr ""
-"%s\n"
-" убран из ÑпиÑка избранного."
-
-#: src/frontend/mame/ui/selsoft.cpp:507
-msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
-"\n"
-msgstr ""
-"Ð”Ð»Ñ Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ð¾Ð³Ð¾ ПО отÑутÑтвует один или неÑколько необходимых файлов. "
-"ПожалуйÑта, выберите другую программу.\n"
-"\n"
-
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
-msgstr "Ðажмите любую клавишу Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð´Ð¾Ð»Ð¶ÐµÐ½Ð¸Ñ."
-
-#: src/frontend/mame/ui/selsoft.cpp:637
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
-msgstr "%1$s %2$s ( %3$d / %4$d пакетов программ )"
-
-#: src/frontend/mame/ui/selsoft.cpp:638
-#, c-format
-msgid "Driver: \"%1$s\" software list "
-msgstr "Драйвер: \"%1$s\" ÑпиÑков программ "
-
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
-#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
-msgstr "%1$s: %2$s - ПоиÑк: %3$s_"
-
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
-#, c-format
-msgid "Search: %1$s_"
-msgstr "ПоиÑк: %1$s_"
-
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
-msgid "Unfiltered"
-msgstr "Без фильтра"
-
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
-msgid "Available"
-msgstr "ИмеющиеÑÑ"
-
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
-msgid "Unavailable"
-msgstr "ОтÑутÑвующие"
-
-#: src/frontend/mame/ui/utils.cpp:63
-msgid "Working"
-msgstr "Работают"
-
-#: src/frontend/mame/ui/utils.cpp:64
-msgid "Not Working"
-msgstr "Ðе работают"
-
-#: src/frontend/mame/ui/utils.cpp:65
-msgid "Mechanical"
-msgstr "МеханичеÑкие"
-
-#: src/frontend/mame/ui/utils.cpp:66
-msgid "Not Mechanical"
-msgstr "Ðе механичеÑкие"
-
-#: src/frontend/mame/ui/utils.cpp:67
-msgid "Category"
-msgstr "Категории"
-
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
-msgid "Favorites"
-msgstr "Избранное"
-
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/miscmenu.cpp:760 src/frontend/mame/ui/utils.cpp:66
msgid "BIOS"
msgstr "BIOS"
-#: src/frontend/mame/ui/utils.cpp:70
-msgid "Not BIOS"
-msgstr "Ðе BIOS"
-
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
-msgid "Parents"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
-msgid "Clones"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:73
-msgid "Manufacturer"
-msgstr "Производитель"
-
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
-msgid "Year"
-msgstr "Год"
-
-#: src/frontend/mame/ui/utils.cpp:75
-msgid "Save Supported"
-msgstr "ЕÑть ÑохранениÑ"
-
-#: src/frontend/mame/ui/utils.cpp:76
-msgid "Save Unsupported"
-msgstr "Ðет Ñохранений"
-
-#: src/frontend/mame/ui/utils.cpp:77
-msgid "CHD Required"
-msgstr "Требуют CHD"
-
-#: src/frontend/mame/ui/utils.cpp:78
-msgid "No CHD Required"
-msgstr "Ðе требуют CHD"
-
-#: src/frontend/mame/ui/utils.cpp:79
-msgid "Vertical Screen"
-msgstr "Вертикальный Ñкран"
-
-#: src/frontend/mame/ui/utils.cpp:80
-msgid "Horizontal Screen"
-msgstr "Горизонтальный Ñкран"
-
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
-msgid "Custom Filter"
-msgstr "ПользовательÑкий фильтр"
-
-#: src/frontend/mame/ui/utils.cpp:91
-msgid "Publisher"
-msgstr "Издатель"
-
-#: src/frontend/mame/ui/utils.cpp:92
-msgid "Supported"
-msgstr "ПоддерживаетÑÑ"
+#: src/frontend/mame/ui/miscmenu.cpp:764
+msgid "Driver"
+msgstr "Драйвер"
-#: src/frontend/mame/ui/utils.cpp:93
-msgid "Partially Supported"
-msgstr "ЧаÑтично поддерживаетÑÑ"
+#: src/frontend/mame/ui/miscmenu.cpp:767
+msgid "This machine has no BIOS."
+msgstr "У Ñтой ÑиÑтемы нет BIOS."
-#: src/frontend/mame/ui/utils.cpp:94
-msgid "Unsupported"
-msgstr "Ðе поддерживаетÑÑ"
+#: src/frontend/mame/ui/miscmenu.cpp:776 src/frontend/mame/ui/mainmenu.cpp:145
+msgid "Add To Favorites"
+msgstr "Добавить в Избранное"
-#: src/frontend/mame/ui/utils.cpp:95
-msgid "Release Region"
-msgstr "Регион раÑпроÑтранениÑ"
+#: src/frontend/mame/ui/miscmenu.cpp:778 src/frontend/mame/ui/mainmenu.cpp:147
+msgid "Remove From Favorites"
+msgstr "Удалить из Избранного"
-#: src/frontend/mame/ui/utils.cpp:96
-msgid "Device Type"
-msgstr "Тип уÑтройÑтва"
+#: src/frontend/mame/ui/miscmenu.cpp:781
+msgid "Save machine configuration"
+msgstr "Сохранить наÑтройки Ñтой ÑиÑтемы"
-#: src/frontend/mame/ui/utils.cpp:97
-msgid "Software List"
-msgstr "СпиÑок ПО"
+#: src/frontend/mame/ui/miscmenu.cpp:792
+msgid "Configure machine:"
+msgstr "ÐаÑтроить ÑиÑтему:"
-#: src/frontend/mame/ui/utils.cpp:248
-msgid "<set up filters>"
-msgstr "<наÑтроить фильтры>"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:736
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:551 plugins/cheatfind/init.lua:619
+msgid "On"
+msgstr "Вкл"
-#: src/frontend/mame/ui/utils.cpp:356
-msgid "Select custom filters:"
-msgstr "Выберите пользовательÑкие фильтры:"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:739
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:554 plugins/cheat/init.lua:563
+#: plugins/cheatfind/init.lua:616
+msgid "Off"
+msgstr "Выкл"
-#: src/frontend/mame/ui/utils.cpp:507
-#, c-format
-msgid "Filter %1$u"
-msgstr "Фиьтр %1$u"
+#: src/frontend/mame/ui/miscmenu.cpp:909 src/frontend/mame/ui/selgame.cpp:441
+msgid "Plugins"
+msgstr "Плагины"
-#: src/frontend/mame/ui/utils.cpp:522
-msgid "Remove last filter"
-msgstr "Удалить поÑледний фильтр"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
+msgstr "Ðовый штрихкод:"
-#: src/frontend/mame/ui/utils.cpp:524
-msgid "Add filter"
-msgstr "Добавить фильтр"
+#: src/frontend/mame/ui/barcode.cpp:78
+msgid "Enter Code"
+msgstr "Введите код"
-#: src/frontend/mame/ui/utils.cpp:966
-msgid "Select category:"
-msgstr "Выберите категорию:"
+#: src/frontend/mame/ui/barcode.cpp:119
+msgid "Barcode length invalid!"
+msgstr "Ðе Ð²ÐµÑ€Ð½Ð°Ñ Ð´Ð»Ð¸Ð½Ð° штрих-кода!"
-#: src/frontend/mame/ui/utils.cpp:997
-msgid "[no category INI files]"
-msgstr "[INI-файлы без категорий]"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:99
+msgid "Pseudo terminals"
+msgstr "ПÑевдо-терминалы"
-#: src/frontend/mame/ui/utils.cpp:1005
-msgid "[no groups in INI file]"
-msgstr "[нет групп в INI-файле]"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
+msgstr "[не удалоÑÑŒ]"
-#: src/frontend/mame/ui/utils.cpp:1039
-msgid "No category INI files found"
-msgstr "Ðе найдены INI-файлы категорий"
+#: src/frontend/mame/ui/mainmenu.cpp:60
+msgid "Input (general)"
+msgstr "Управление (общее)"
-#: src/frontend/mame/ui/utils.cpp:1044
-msgid "File"
-msgstr "Файл"
+#: src/frontend/mame/ui/mainmenu.cpp:62
+msgid "Input (this Machine)"
+msgstr "Управление (Ñта ÑиÑтема)"
-#: src/frontend/mame/ui/utils.cpp:1048
-msgid "No groups found in category file"
-msgstr "Ðе найдены группы в файле категорий"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Analog Controls"
+msgstr "Ðналоговое управление"
-#: src/frontend/mame/ui/utils.cpp:1053
-msgid "Group"
-msgstr "Группа"
+#: src/frontend/mame/ui/mainmenu.cpp:68
+msgid "Dip Switches"
+msgstr "DIP-переключатели"
-#: src/frontend/mame/ui/utils.cpp:1054
-msgid "Include clones"
-msgstr "Включить clones"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "Machine Configuration"
+msgstr "ÐаÑтройки ÑиÑтемы"
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
-msgstr "[Ñоздать]"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
+msgstr "СтатиÑтика игры"
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:78
+msgid "Machine Information"
+msgstr "Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ ÑиÑтеме"
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
-msgstr "Выберите режим доÑтупа"
+#: src/frontend/mame/ui/mainmenu.cpp:85
+msgid "Image Information"
+msgstr "Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ образах"
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
-msgstr "Только чтение"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
+msgstr "Файловый менеджер"
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
-msgstr "Чтение-запиÑÑŒ"
+#: src/frontend/mame/ui/mainmenu.cpp:96
+msgid "Tape Control"
+msgstr "Управление лентой"
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
-msgstr "Чтение из Ñтого образа, запиÑÑŒ в другой"
+#: src/frontend/mame/ui/mainmenu.cpp:102
+msgid "BIOS Selection"
+msgstr "Выбор BIOS"
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
-msgstr "Чтение из Ñтого образа, запиÑÑŒ в diff"
+#: src/frontend/mame/ui/mainmenu.cpp:106
+msgid "Slot Devices"
+msgstr "Подключаемые уÑтройÑтва"
-#: src/frontend/mame/ui/slotopt.cpp:192
-#, c-format
-msgid "%s [internal]"
-msgstr "%s [внутренний]"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Barcode Reader"
+msgstr "Сканер штрих-кодов"
-#: src/frontend/mame/ui/slotopt.cpp:203 src/frontend/mame/ui/miscmenu.cpp:97
-#: src/frontend/mame/ui/inputmap.cpp:615
-msgid "Reset"
-msgstr "СброÑ"
+#: src/frontend/mame/ui/mainmenu.cpp:114
+msgid "Network Devices"
+msgstr "Сетевые уÑтройÑтва"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
-msgstr " ЦВЕТÐ"
+#: src/frontend/mame/ui/mainmenu.cpp:118
+msgid "Keyboard Mode"
+msgstr "Режим клавиатуры"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
-msgstr " ПЕРЬЯ"
+#: src/frontend/mame/ui/mainmenu.cpp:121
+msgid "Slider Controls"
+msgstr "Управление Ñлайдерами"
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
-msgstr "Возврат к ÑмулÑции"
+#: src/frontend/mame/ui/mainmenu.cpp:124 src/frontend/mame/ui/submenu.cpp:101
+msgid "Video Options"
+msgstr "ÐаÑтройки видео"
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
-msgstr "Выход"
+#: src/frontend/mame/ui/mainmenu.cpp:128
+msgid "Crosshair Options"
+msgstr "ÐаÑтройки прицела"
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
-msgstr "Возврат в предыдущее меню"
+#: src/frontend/mame/ui/mainmenu.cpp:132 plugins/cheat/init.lua:735
+msgid "Cheat"
+msgstr "Читы"
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:762
-#: plugins/cheat/init.lua:569 plugins/cheatfind/init.lua:792
-#: plugins/cheatfind/init.lua:803
-msgid "On"
-msgstr "Вкл"
+#: src/frontend/mame/ui/mainmenu.cpp:135
+msgid "Plugin Options"
+msgstr "ÐаÑтройки плагинов"
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:765
-#: plugins/cheat/init.lua:572 plugins/cheat/init.lua:581
-#: plugins/cheatfind/init.lua:789 plugins/cheatfind/init.lua:800
-msgid "Off"
-msgstr "Выкл"
+#: src/frontend/mame/ui/mainmenu.cpp:139
+msgid "External DAT View"
+msgstr "ПроÑмотр DAT-файлов"
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
-msgstr "Ðвто"
+#: src/frontend/mame/ui/mainmenu.cpp:154
+msgid "Select New Machine"
+msgstr "Выбрать новую ÑиÑтему"
#: src/frontend/mame/ui/custui.cpp:31
msgid "Show All"
@@ -1404,460 +1327,6 @@ msgstr "Желтый"
msgid "Violet"
msgstr "Фиолетовый"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
-msgstr "Режим клавиатуры:"
-
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
-msgstr "ОбычнаÑ"
-
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
-msgstr "ЭмулируетÑÑ"
-
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
-msgstr ""
-"Ð’Ñ€ÐµÐ¼Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹: %1$d:%2$02d:%3$02d\n"
-"\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
-msgstr ""
-"Ð’Ñ€ÐµÐ¼Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹: %1$d:%2$02d\n"
-"\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
-msgstr ""
-"Выдано билетов: %1$d\n"
-"\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
-msgstr "Монетоприемник %1$c: ÐД%3$s\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
-msgstr "Монетоприемник %1$c: %2$d%3$s\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
-msgstr " (закрыт)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
-msgstr "Ð’Ð¸Ð´Ð¸Ð¼Ð°Ñ Ð·Ð°Ð´ÐµÑ€Ð¶ÐºÐ°"
-
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
-msgstr "%s.xml Ñохранен в папку ui."
-
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
-msgstr "ИмÑ: ОпиÑание:\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:639
-#, c-format
-msgid "%s.txt saved under ui folder."
-msgstr "%s.txt Ñохранен в папку ui."
-
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
-msgstr "ЭкÑпортировать ÑпиÑок в формате XML (как -listxml)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
-msgstr ""
-"ЭкÑпортировать ÑпиÑок в формате XML (как -listxml, но иÑключить уÑтройÑтва)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
-msgstr "ЭкÑпортировать ÑпиÑок в текÑтовом формате (как -listfull)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
-msgstr "Драйвер"
-
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
-msgstr "У Ñтой ÑиÑтемы нет BIOS."
-
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
-msgstr "Сохранить наÑтройки Ñтой ÑиÑтемы"
-
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
-msgstr "ÐаÑтроить ÑиÑтему:"
-
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
-msgstr " (по-умолчанию)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
-msgstr "Плагины"
-
-#: src/frontend/mame/ui/selgame.cpp:607
-msgid "Configure Machine"
-msgstr "ÐаÑтройки ÑиÑтемы"
-
-#: src/frontend/mame/ui/selgame.cpp:1036
-#, c-format
-msgid "Romset\t%1$-.100s\n"
-msgstr "ROM-набор\t%1$-.100s\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1037
-#, c-format
-msgid "Year\t%1$s\n"
-msgstr "Год\t%1$s\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1038
-#, c-format
-msgid "Manufacturer\t%1$-.100s\n"
-msgstr "Производитель\t%1$-.100s\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1042
-#, c-format
-msgid "Driver is Clone of\t%1$-.100s\n"
-msgstr "Драйвер - Clone от\t%1$-.100s\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1044
-msgid "Driver is Parent\t\n"
-msgstr "Драйвер - Parent\t\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1047
-msgid "Analog Controls\tYes\n"
-msgstr "Ðналоговое управление\tДа\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1049
-msgid "Keyboard Inputs\tYes\n"
-msgstr "Ввод Ñ ÐºÐ»Ð°Ð²Ð¸Ð°Ñ‚ÑƒÑ€Ñ‹\tДа\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1052
-msgid "Overall\tNOT WORKING\n"
-msgstr "Ð’ целом\tÐЕ РÐБОТÐЕТ\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1054
-msgid "Overall\tUnemulated Protection\n"
-msgstr "Ð’ целом\tÐе ÑмулируетÑÑ Ð·Ð°Ñ‰Ð¸Ñ‚Ð°\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1056
-msgid "Overall\tWorking\n"
-msgstr "В целом\tРаботает\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1059
-msgid "Graphics\tUnimplemented\n"
-msgstr "Графика\tÐе ÑмуируетÑÑ\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1061
-msgid "Graphics\tWrong Colors\n"
-msgstr "Графика\tÐе верные цвета\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1063
-msgid "Graphics\tImperfect Colors\n"
-msgstr "Графика\tÐе точные цвета\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1065
-msgid "Graphics\tImperfect\n"
-msgstr "Графика\tÐе идеально\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1067
-msgid "Graphics\tOK\n"
-msgstr "Графика\tOK\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1070
-msgid "Sound\tNone\n"
-msgstr "Звук\tОтÑутÑтвует\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1072
-msgid "Sound\tUnimplemented\n"
-msgstr "Звук\tÐе ÑмулируетÑÑ\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1074
-msgid "Sound\tImperfect\n"
-msgstr "Звук\tÐе идеально\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1076
-msgid "Sound\tOK\n"
-msgstr "Звук\tOK\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1079
-msgid "Capture\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1081
-msgid "Capture\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1084
-msgid "Camera\tUnimplemented\n"
-msgstr "Камера\tÐе ÑмулируетÑÑ\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1086
-msgid "Camera\tImperfect\n"
-msgstr "Камера\tÐе идеально\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1089
-msgid "Microphone\tUnimplemented\n"
-msgstr "Микрофон\tÐе ÑмулируетÑÑ\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1091
-msgid "Microphone\tImperfect\n"
-msgstr "Микрофон\tÐе идеально\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1094
-msgid "Controls\tUnimplemented\n"
-msgstr "Управление\tÐе ÑмулируетÑÑ\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1096
-msgid "Controls\tImperfect\n"
-msgstr "Управление\tÐе идеально\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1099
-msgid "Keyboard\tUnimplemented\n"
-msgstr "Клавиатура\tÐе ÑмулируетÑÑ\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1101
-msgid "Keyboard\tImperfect\n"
-msgstr "Клавиатура\tÐе идеально\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1104
-msgid "Mouse\tUnimplemented\n"
-msgstr "Мышь\tÐе ÑмулируетÑÑ\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1106
-msgid "Mouse\tImperfect\n"
-msgstr "Мышь\tÐе идеально\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1109
-msgid "Media\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1111
-msgid "Media\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1114
-msgid "Disk\tUnimplemented\n"
-msgstr "ДиÑк\tÐе ÑмулируетÑÑ\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1116
-msgid "Disk\tImperfect\n"
-msgstr "ДиÑк\tÐе идеально\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1119
-msgid "Printer\tUnimplemented\n"
-msgstr "Принтер\tÐе ÑмулируетÑÑ\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1121
-msgid "Printer\tImperfect\n"
-msgstr "Принтер\tÐе идеально\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1124
-msgid "Mag. Tape\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1126
-msgid "Mag. Tape\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1129
-msgid "Punch Tape\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1131
-msgid "Punch Tape\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1134
-msgid "Mag. Drum\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1136
-msgid "Mag. Drum\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1139
-msgid "(EP)ROM\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1141
-msgid "(EP)ROM\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1144
-msgid "Communications\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1146
-msgid "Communications\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1149
-msgid "LAN\tUnimplemented\n"
-msgstr "Ð›Ð¾ÐºÐ°Ð»ÑŒÐ½Ð°Ñ Ñеть\tÐе ÑмулируетÑÑ\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1151
-msgid "LAN\tImperfect\n"
-msgstr "Ð›Ð¾ÐºÐ°Ð»ÑŒÐ½Ð°Ñ Ñеть\tÐе идеально\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1154
-msgid "WAN\tUnimplemented\n"
-msgstr "Ð£Ð´Ð°Ð»ÐµÐ½Ð½Ð°Ñ Ñеть\tÐе ÑмулируетÑÑ\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1156
-msgid "WAN\tImperfect\n"
-msgstr "Ð£Ð´Ð°Ð»ÐµÐ½Ð½Ð°Ñ Ñеть\tÐе идеально\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1159
-msgid "Timing\tUnimplemented\n"
-msgstr "СкороÑть\tÐе ÑмулируетÑÑ\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1161
-msgid "Timing\tImperfect\n"
-msgstr "СкороÑть\tÐе идеально\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tYes\n"
-msgstr "МеханичеÑÐºÐ°Ñ ÑиÑтема\tДа\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tNo\n"
-msgstr "МеханичеÑÐºÐ°Ñ ÑиÑтема\tÐет\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tYes\n"
-msgstr "Требует Ñлементы оформлениÑ\tДа\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tNo\n"
-msgstr "Требует Ñлементы оформлениÑ\tÐет\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tYes\n"
-msgstr "Требует кликабельное оформление\tДа\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tNo\n"
-msgstr "Требует кликабельное оформление\tÐет\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tYes\n"
-msgstr "Поддерживает режим коктейль-Ñтола\tДа\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tNo\n"
-msgstr "Поддерживает режим коктейль-Ñтола\tÐет\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tYes\n"
-msgstr "Драйвер - BIOS\tДа\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tNo\n"
-msgstr "Драйвер - BIOS\tÐет\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tYes\n"
-msgstr "Поддерживает Ñохранение\tДа\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tNo\n"
-msgstr "Поддерживает Ñохранение\tÐет\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tVertical\n"
-msgstr "ÐžÑ€Ð¸ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ Ñкрана\tВертикальнаÑ\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tHorizontal\n"
-msgstr "ÐžÑ€Ð¸ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ Ñкрана\tГоризонтальнаÑ\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tYes\n"
-msgstr "Требует CHD\tДа\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tNo\n"
-msgstr "Требует CHD\tÐет\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1192
-msgid "ROM Audit Result\tOK\n"
-msgstr "Результат проверки ROM\tOK\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1194
-msgid "ROM Audit Result\tBAD\n"
-msgstr "Результат проверки ROM\tÐЕУДÐЧÐО\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1197
-msgid "Samples Audit Result\tNone Needed\n"
-msgstr "Результат проверки ÑÑмплов\tÐе требуетÑÑ\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1199
-msgid "Samples Audit Result\tOK\n"
-msgstr "Результат проверки ÑÑмплов\tOK\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1201
-msgid "Samples Audit Result\tBAD\n"
-msgstr "Результат проверки ÑÑмплов\tÐЕУДÐЧÐО\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1205
-msgid ""
-"ROM Audit \tDisabled\n"
-"Samples Audit \tDisabled\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1396
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
-msgstr "%1$s %2$s ( %3$d / %4$d ÑиÑтем (%5$d BIOS) )"
-
-#: src/frontend/mame/ui/selgame.cpp:1424
-#, c-format
-msgid "Romset: %1$-.100s"
-msgstr "ROM-набор: %1$-.100s"
-
-#: src/frontend/mame/ui/selgame.cpp:1431
-#, c-format
-msgid "System: %1$-.100s"
-msgstr "СиÑтема: %1$-.100s"
-
-#: src/frontend/mame/ui/selgame.cpp:1465
-msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
-msgstr ""
-"Ð”Ð»Ñ Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ð¾Ð¹ машины отÑутÑтвует один или более необходимых образов ROM или "
-"CHD. ПожалуйÑта, выберите другую машину.\n"
-"\n"
-
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
-msgstr "Звук"
-
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
-msgstr "ЧаÑтота звука"
-
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
-msgstr "ИÑпользовать внешние ÑÑмплы"
-
#: src/frontend/mame/ui/submenu.cpp:22
msgid "Miscellaneous Options"
msgstr "Дополнительные наÑтройки"
@@ -2158,193 +1627,564 @@ msgstr "Синхронизированное обновление"
msgid "Wait Vertical Sync"
msgstr "Ожидать вертикальную Ñинхронизацию"
-#: src/frontend/mame/ui/devopt.cpp:43
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Load State"
+msgstr "Загрузить Ñохранение"
+
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Select position to load from"
+msgstr "Укажите Ñлот загрузки"
+
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Save State"
+msgstr "ЗапиÑать Ñохранение"
+
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Select position to save to"
+msgstr "Укажите Ñлот ÑохранениÑ"
+
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
+msgstr "%s [внутренний]"
+
+#: src/frontend/mame/ui/selgame.cpp:309 src/frontend/mame/ui/selsoft.cpp:211
#, c-format
msgid ""
-"[This option is currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"The selected option enables the following items:\n"
+"%s\n"
+" added to favorites list."
msgstr ""
+"%s\n"
+" добавлен в ÑпиÑок избранного."
-#: src/frontend/mame/ui/devopt.cpp:44
+#: src/frontend/mame/ui/selgame.cpp:314 src/frontend/mame/ui/selgame.cpp:320
+#: src/frontend/mame/ui/selsoft.cpp:216
#, c-format
msgid ""
-"[This option is NOT currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"If you select this option, the following items will be enabled:\n"
+"%s\n"
+" removed from favorites list."
msgstr ""
+"%s\n"
+" убран из ÑпиÑка избранного."
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:437
+msgid "Configure Machine"
+msgstr "ÐаÑтройки ÑиÑтемы"
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/selgame.cpp:849
#, c-format
-msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
-msgstr ""
+msgid "Romset\t%1$-.100s\n"
+msgstr "ROM-набор\t%1$-.100s\n"
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
-msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:850
+#, c-format
+msgid "Year\t%1$s\n"
+msgstr "Год\t%1$s\n"
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %3$d.%4$06d MHz\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:851
+#, c-format
+msgid "Manufacturer\t%1$-.100s\n"
+msgstr "Производитель\t%1$-.100s\n"
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:855
+#, c-format
+msgid "Driver is Clone of\t%1$-.100s\n"
+msgstr "Драйвер - Clone от\t%1$-.100s\n"
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:857
+msgid "Driver is Parent\t\n"
+msgstr "Драйвер - Parent\t\n"
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:860
+msgid "Analog Controls\tYes\n"
+msgstr "Ðналоговое управление\tДа\n"
-#: src/frontend/mame/ui/devopt.cpp:103
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:862
+msgid "Keyboard Inputs\tYes\n"
+msgstr "Ввод Ñ ÐºÐ»Ð°Ð²Ð¸Ð°Ñ‚ÑƒÑ€Ñ‹\tДа\n"
-#: src/frontend/mame/ui/devopt.cpp:104
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:865
+msgid "Overall\tNOT WORKING\n"
+msgstr "Ð’ целом\tÐЕ РÐБОТÐЕТ\n"
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:867
+msgid "Overall\tUnemulated Protection\n"
+msgstr "Ð’ целом\tÐе ÑмулируетÑÑ Ð·Ð°Ñ‰Ð¸Ñ‚Ð°\n"
-#: src/frontend/mame/ui/devopt.cpp:137
-#, c-format
-msgid " %1$d×%2$s\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:869
+msgid "Overall\tWorking\n"
+msgstr "В целом\tРаботает\n"
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:872
+msgid "Graphics\tUnimplemented\n"
+msgstr "Графика\tÐе ÑмуируетÑÑ\n"
-#: src/frontend/mame/ui/devopt.cpp:168
-#, c-format
-msgid ""
-"* BIOS settings:\n"
-" %1$d options [default: %2$s]\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:874
+msgid "Graphics\tWrong Colors\n"
+msgstr "Графика\tÐе верные цвета\n"
-#: src/frontend/mame/ui/devopt.cpp:208 src/frontend/mame/ui/devopt.cpp:224
-#: src/frontend/mame/ui/devopt.cpp:269
-#, c-format
-msgid " %1$s [default: %2$s]\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:876
+msgid "Graphics\tImperfect Colors\n"
+msgstr "Графика\tÐе точные цвета\n"
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
-#, c-format
-msgid " %1$s\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:878
+msgid "Graphics\tImperfect\n"
+msgstr "Графика\tÐе идеально\n"
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:880
+msgid "Graphics\tOK\n"
+msgstr "Графика\tOK\n"
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:883
+msgid "Sound\tNone\n"
+msgstr "Звук\tОтÑутÑтвует\n"
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:885
+msgid "Sound\tUnimplemented\n"
+msgstr "Звук\tÐе ÑмулируетÑÑ\n"
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:887
+msgid "Sound\tImperfect\n"
+msgstr "Звук\tÐе идеально\n"
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:889
+msgid "Sound\tOK\n"
+msgstr "Звук\tOK\n"
+
+#: src/frontend/mame/ui/selgame.cpp:892
+msgid "Controls\tUnimplemented\n"
+msgstr "Управление\tÐе ÑмулируетÑÑ\n"
+
+#: src/frontend/mame/ui/selgame.cpp:894
+msgid "Controls\tImperfect\n"
+msgstr "Управление\tÐе идеально\n"
+
+#: src/frontend/mame/ui/selgame.cpp:897
+msgid "Keyboard\tUnimplemented\n"
+msgstr "Клавиатура\tÐе ÑмулируетÑÑ\n"
+
+#: src/frontend/mame/ui/selgame.cpp:899
+msgid "Keyboard\tImperfect\n"
+msgstr "Клавиатура\tÐе идеально\n"
+
+#: src/frontend/mame/ui/selgame.cpp:902
+msgid "Mouse\tUnimplemented\n"
+msgstr "Мышь\tÐе ÑмулируетÑÑ\n"
+
+#: src/frontend/mame/ui/selgame.cpp:904
+msgid "Mouse\tImperfect\n"
+msgstr "Мышь\tÐе идеально\n"
+
+#: src/frontend/mame/ui/selgame.cpp:907
+msgid "Microphone\tUnimplemented\n"
+msgstr "Микрофон\tÐе ÑмулируетÑÑ\n"
+
+#: src/frontend/mame/ui/selgame.cpp:909
+msgid "Microphone\tImperfect\n"
+msgstr "Микрофон\tÐе идеально\n"
+
+#: src/frontend/mame/ui/selgame.cpp:912
+msgid "Camera\tUnimplemented\n"
+msgstr "Камера\tÐе ÑмулируетÑÑ\n"
+
+#: src/frontend/mame/ui/selgame.cpp:914
+msgid "Camera\tImperfect\n"
+msgstr "Камера\tÐе идеально\n"
+
+#: src/frontend/mame/ui/selgame.cpp:917
+msgid "Disk\tUnimplemented\n"
+msgstr "ДиÑк\tÐе ÑмулируетÑÑ\n"
+
+#: src/frontend/mame/ui/selgame.cpp:919
+msgid "Disk\tImperfect\n"
+msgstr "ДиÑк\tÐе идеально\n"
+
+#: src/frontend/mame/ui/selgame.cpp:922
+msgid "Printer\tUnimplemented\n"
+msgstr "Принтер\tÐе ÑмулируетÑÑ\n"
+
+#: src/frontend/mame/ui/selgame.cpp:924
+msgid "Printer\tImperfect\n"
+msgstr "Принтер\tÐе идеально\n"
+
+#: src/frontend/mame/ui/selgame.cpp:927
+msgid "LAN\tUnimplemented\n"
+msgstr "Ð›Ð¾ÐºÐ°Ð»ÑŒÐ½Ð°Ñ Ñеть\tÐе ÑмулируетÑÑ\n"
+
+#: src/frontend/mame/ui/selgame.cpp:929
+msgid "LAN\tImperfect\n"
+msgstr "Ð›Ð¾ÐºÐ°Ð»ÑŒÐ½Ð°Ñ Ñеть\tÐе идеально\n"
+
+#: src/frontend/mame/ui/selgame.cpp:932
+msgid "WAN\tUnimplemented\n"
+msgstr "Ð£Ð´Ð°Ð»ÐµÐ½Ð½Ð°Ñ Ñеть\tÐе ÑмулируетÑÑ\n"
+
+#: src/frontend/mame/ui/selgame.cpp:934
+msgid "WAN\tImperfect\n"
+msgstr "Ð£Ð´Ð°Ð»ÐµÐ½Ð½Ð°Ñ Ñеть\tÐе идеально\n"
+
+#: src/frontend/mame/ui/selgame.cpp:937
+msgid "Timing\tUnimplemented\n"
+msgstr "СкороÑть\tÐе ÑмулируетÑÑ\n"
+
+#: src/frontend/mame/ui/selgame.cpp:939
+msgid "Timing\tImperfect\n"
+msgstr "СкороÑть\tÐе идеально\n"
+
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tYes\n"
+msgstr "МеханичеÑÐºÐ°Ñ ÑиÑтема\tДа\n"
+
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tNo\n"
+msgstr "МеханичеÑÐºÐ°Ñ ÑиÑтема\tÐет\n"
+
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tYes\n"
+msgstr "Требует Ñлементы оформлениÑ\tДа\n"
+
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tNo\n"
+msgstr "Требует Ñлементы оформлениÑ\tÐет\n"
+
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tYes\n"
+msgstr "Требует кликабельное оформление\tДа\n"
+
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tNo\n"
+msgstr "Требует кликабельное оформление\tÐет\n"
+
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tYes\n"
+msgstr "Поддерживает режим коктейль-Ñтола\tДа\n"
+
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tNo\n"
+msgstr "Поддерживает режим коктейль-Ñтола\tÐет\n"
+
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tYes\n"
+msgstr "Драйвер - BIOS\tДа\n"
+
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tNo\n"
+msgstr "Драйвер - BIOS\tÐет\n"
+
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tYes\n"
+msgstr "Поддерживает Ñохранение\tДа\n"
+
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tNo\n"
+msgstr "Поддерживает Ñохранение\tÐет\n"
+
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tVertical\n"
+msgstr "ÐžÑ€Ð¸ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ Ñкрана\tВертикальнаÑ\n"
+
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tHorizontal\n"
+msgstr "ÐžÑ€Ð¸ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ Ñкрана\tГоризонтальнаÑ\n"
+
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tYes\n"
+msgstr "Требует CHD\tДа\n"
+
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tNo\n"
+msgstr "Требует CHD\tÐет\n"
+
+#: src/frontend/mame/ui/selgame.cpp:970
+msgid "ROM Audit Result\tOK\n"
+msgstr "Результат проверки ROM\tOK\n"
+
+#: src/frontend/mame/ui/selgame.cpp:972
+msgid "ROM Audit Result\tBAD\n"
+msgstr "Результат проверки ROM\tÐЕУДÐЧÐО\n"
+
+#: src/frontend/mame/ui/selgame.cpp:975
+msgid "Samples Audit Result\tNone Needed\n"
+msgstr "Результат проверки ÑÑмплов\tÐе требуетÑÑ\n"
+
+#: src/frontend/mame/ui/selgame.cpp:977
+msgid "Samples Audit Result\tOK\n"
+msgstr "Результат проверки ÑÑмплов\tOK\n"
+
+#: src/frontend/mame/ui/selgame.cpp:979
+msgid "Samples Audit Result\tBAD\n"
+msgstr "Результат проверки ÑÑмплов\tÐЕУДÐЧÐО\n"
+
+#: src/frontend/mame/ui/selgame.cpp:983
+msgid ""
+"ROM Audit \tDisabled\n"
+"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
+#: src/frontend/mame/ui/selgame.cpp:1167
#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
-msgstr ""
+msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
+msgstr "%1$s %2$s ( %3$d / %4$d ÑиÑтем (%5$d BIOS) )"
-#: src/frontend/mame/ui/devopt.cpp:246
+#: src/frontend/mame/ui/selgame.cpp:1183 src/frontend/mame/ui/selsoft.cpp:555
#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
-msgstr ""
+msgid "%1$s: %2$s - Search: %3$s_"
+msgstr "%1$s: %2$s - ПоиÑк: %3$s_"
-#: src/frontend/mame/ui/devopt.cpp:248
+#: src/frontend/mame/ui/selgame.cpp:1185 src/frontend/mame/ui/selsoft.cpp:557
#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
-msgstr ""
+msgid "Search: %1$s_"
+msgstr "ПоиÑк: %1$s_"
-#: src/frontend/mame/ui/devopt.cpp:250
+#: src/frontend/mame/ui/selgame.cpp:1195
#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
-msgstr ""
+msgid "Romset: %1$-.100s"
+msgstr "ROM-набор: %1$-.100s"
-#: src/frontend/mame/ui/devopt.cpp:252
+#: src/frontend/mame/ui/selgame.cpp:1202
#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+msgid "System: %1$-.100s"
+msgstr "СиÑтема: %1$-.100s"
+
+#: src/frontend/mame/ui/selgame.cpp:1239
+msgid ""
+"The selected machine is missing one or more required ROM or CHD images. "
+"Please select a different machine.\n"
+"\n"
msgstr ""
+"Ð”Ð»Ñ Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ð¾Ð¹ машины отÑутÑтвует один или более необходимых образов ROM или "
+"CHD. ПожалуйÑта, выберите другую машину.\n"
+"\n"
-#: src/frontend/mame/ui/devopt.cpp:254
-#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:1245 src/frontend/mame/ui/selsoft.cpp:462
+msgid "Press any key to continue."
+msgstr "Ðажмите любую клавишу Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð´Ð¾Ð»Ð¶ÐµÐ½Ð¸Ñ."
+
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
+msgstr "Звук"
+
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
+msgstr "ЧаÑтота звука"
+
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
+msgstr "ИÑпользовать внешние ÑÑмплы"
+
+#: src/frontend/mame/ui/utils.cpp:57 src/frontend/mame/ui/utils.cpp:81
+msgid "Unfiltered"
+msgstr "Без фильтра"
+
+#: src/frontend/mame/ui/utils.cpp:58 src/frontend/mame/ui/utils.cpp:82
+msgid "Available"
+msgstr "ИмеющиеÑÑ"
+
+#: src/frontend/mame/ui/utils.cpp:59 src/frontend/mame/ui/utils.cpp:83
+msgid "Unavailable"
+msgstr "ОтÑутÑвующие"
+
+#: src/frontend/mame/ui/utils.cpp:60
+msgid "Working"
+msgstr "Работают"
+
+#: src/frontend/mame/ui/utils.cpp:61
+msgid "Not Working"
+msgstr "Ðе работают"
+
+#: src/frontend/mame/ui/utils.cpp:62
+msgid "Mechanical"
+msgstr "МеханичеÑкие"
+
+#: src/frontend/mame/ui/utils.cpp:63
+msgid "Not Mechanical"
+msgstr "Ðе механичеÑкие"
+
+#: src/frontend/mame/ui/utils.cpp:64
+msgid "Category"
+msgstr "Категории"
+
+#: src/frontend/mame/ui/utils.cpp:65
+msgid "Favorites"
+msgstr "Избранное"
+
+#: src/frontend/mame/ui/utils.cpp:67
+msgid "Not BIOS"
+msgstr "Ðе BIOS"
+
+#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:84
+msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/utils.cpp:85
+msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/utils.cpp:70
+msgid "Manufacturer"
+msgstr "Производитель"
+
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:86
+msgid "Year"
+msgstr "Год"
+
+#: src/frontend/mame/ui/utils.cpp:72
+msgid "Save Supported"
+msgstr "ЕÑть ÑохранениÑ"
+
+#: src/frontend/mame/ui/utils.cpp:73
+msgid "Save Unsupported"
+msgstr "Ðет Ñохранений"
+
+#: src/frontend/mame/ui/utils.cpp:74
+msgid "CHD Required"
+msgstr "Требуют CHD"
+
+#: src/frontend/mame/ui/utils.cpp:75
+msgid "No CHD Required"
+msgstr "Ðе требуют CHD"
+
+#: src/frontend/mame/ui/utils.cpp:76
+msgid "Vertical Screen"
+msgstr "Вертикальный Ñкран"
+
+#: src/frontend/mame/ui/utils.cpp:77
+msgid "Horizontal Screen"
+msgstr "Горизонтальный Ñкран"
+
+#: src/frontend/mame/ui/utils.cpp:78 src/frontend/mame/ui/utils.cpp:94
+msgid "Custom Filter"
+msgstr "ПользовательÑкий фильтр"
+
+#: src/frontend/mame/ui/utils.cpp:87
+msgid "Publisher"
+msgstr "Издатель"
+
+#: src/frontend/mame/ui/utils.cpp:88
+msgid "Supported"
+msgstr "ПоддерживаетÑÑ"
+
+#: src/frontend/mame/ui/utils.cpp:89
+msgid "Partially Supported"
+msgstr "ЧаÑтично поддерживаетÑÑ"
+
+#: src/frontend/mame/ui/utils.cpp:90
+msgid "Unsupported"
+msgstr "Ðе поддерживаетÑÑ"
+
+#: src/frontend/mame/ui/utils.cpp:91
+msgid "Release Region"
+msgstr "Регион раÑпроÑтранениÑ"
+
+#: src/frontend/mame/ui/utils.cpp:92
+msgid "Device Type"
+msgstr "Тип уÑтройÑтва"
+
+#: src/frontend/mame/ui/utils.cpp:93
+msgid "Software List"
+msgstr "СпиÑок ПО"
+
+#: src/frontend/mame/ui/utils.cpp:244
+msgid "<set up filters>"
+msgstr "<наÑтроить фильтры>"
+
+#: src/frontend/mame/ui/utils.cpp:352
+msgid "Select custom filters:"
+msgstr "Выберите пользовательÑкие фильтры:"
+
+#: src/frontend/mame/ui/utils.cpp:503
#, c-format
-msgid " %1$s [tag: %2$s]\n"
-msgstr ""
+msgid "Filter %1$u"
+msgstr "Фиьтр %1$u"
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
-msgstr ""
+#: src/frontend/mame/ui/utils.cpp:518
+msgid "Remove last filter"
+msgstr "Удалить поÑледний фильтр"
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+#: src/frontend/mame/ui/utils.cpp:520
+msgid "Add filter"
+msgstr "Добавить фильтр"
+
+#: src/frontend/mame/ui/utils.cpp:959
+msgid "Select category:"
+msgstr "Выберите категорию:"
+
+#: src/frontend/mame/ui/utils.cpp:990
+msgid "[no category INI files]"
+msgstr "[INI-файлы без категорий]"
+
+#: src/frontend/mame/ui/utils.cpp:998
+msgid "[no groups in INI file]"
+msgstr "[нет групп в INI-файле]"
+
+#: src/frontend/mame/ui/utils.cpp:1032
+msgid "No category INI files found"
+msgstr "Ðе найдены INI-файлы категорий"
+
+#: src/frontend/mame/ui/utils.cpp:1037
+msgid "File"
+msgstr "Файл"
+
+#: src/frontend/mame/ui/utils.cpp:1041
+msgid "No groups found in category file"
+msgstr "Ðе найдены группы в файле категорий"
+
+#: src/frontend/mame/ui/utils.cpp:1046
+msgid "Group"
+msgstr "Группа"
+
+#: src/frontend/mame/ui/utils.cpp:1047
+msgid "Include clones"
+msgstr "Включить clones"
+
+#: src/frontend/mame/ui/selsoft.cpp:456
+msgid ""
+"The selected software is missing one or more required files. Please select a "
+"different software.\n"
+"\n"
msgstr ""
+"Ð”Ð»Ñ Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ð¾Ð³Ð¾ ПО отÑутÑтвует один или неÑколько необходимых файлов. "
+"ПожалуйÑта, выберите другую программу.\n"
+"\n"
-#: src/frontend/mame/ui/auditmenu.cpp:96
+#: src/frontend/mame/ui/selsoft.cpp:549
#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
-msgstr "Проверить ROMÑ‹ Ð´Ð»Ñ %1$u ÑиÑтем, помеченных как недоÑтупные?"
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgstr "%1$s %2$s ( %3$d / %4$d пакетов программ )"
-#: src/frontend/mame/ui/auditmenu.cpp:99
+#: src/frontend/mame/ui/selsoft.cpp:550
#, c-format
-msgid "Audit ROMs for all %1$u machines?"
-msgstr "Проверить ROMÑ‹ Ð´Ð»Ñ Ð²Ñех %1$u ÑиÑтем?"
+msgid "Driver: \"%1$s\" software list "
+msgstr "Драйвер: \"%1$s\" ÑпиÑков программ "
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
-msgstr "(результаты будут Ñохранены в %1$s)"
+#: src/frontend/mame/ui/filesel.cpp:260
+msgid "[create]"
+msgstr "[Ñоздать]"
-#: src/frontend/mame/ui/auditmenu.cpp:130
+#: src/frontend/mame/ui/filesel.cpp:419
#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
-msgstr "ПроверÑем ROMÑ‹ Ð´Ð»Ñ ÑиÑтемы %2$u из %3$u...%1$s"
+msgid "Error accessing %s"
+msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr "Ðачать проверку"
+#: src/frontend/mame/ui/filesel.cpp:515
+msgid "Select access mode"
+msgstr "Выберите режим доÑтупа"
+
+#: src/frontend/mame/ui/filesel.cpp:516
+msgid "Read-only"
+msgstr "Только чтение"
+
+#: src/frontend/mame/ui/filesel.cpp:518
+msgid "Read-write"
+msgstr "Чтение-запиÑÑŒ"
+
+#: src/frontend/mame/ui/filesel.cpp:519
+msgid "Read this image, write to another image"
+msgstr "Чтение из Ñтого образа, запиÑÑŒ в другой"
+
+#: src/frontend/mame/ui/filesel.cpp:520
+msgid "Read this image, write to diff"
+msgstr "Чтение из Ñтого образа, запиÑÑŒ в diff"
#: src/frontend/mame/ui/imgcntrl.cpp:117
msgid "Cannot save over directory"
@@ -2358,372 +2198,451 @@ msgstr ""
"Ð”Ð»Ñ Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ð¾Ð¹ программы отÑутÑтвует один или неÑколько необходимых образов "
"ROM или CHD. ПожалуйÑта, выберите другую."
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
-msgstr "защита"
-
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
-msgstr "ÑкороÑть"
+#: src/frontend/mame/ui/menu.cpp:294
+msgid "Return to Machine"
+msgstr "Возврат к ÑмулÑции"
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
-msgstr "графика"
+#: src/frontend/mame/ui/menu.cpp:299 src/frontend/mame/ui/menu.cpp:301
+msgid "Exit"
+msgstr "Выход"
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
-msgstr "Ñ†Ð²ÐµÑ‚Ð¾Ð²Ð°Ñ Ð¿Ð°Ð»Ð¸Ñ‚Ñ€Ð°"
+#: src/frontend/mame/ui/menu.cpp:306 src/frontend/mame/ui/menu.cpp:308
+msgid "Return to Previous Menu"
+msgstr "Возврат в предыдущее меню"
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
-msgstr "звук"
+#: src/frontend/mame/ui/menu.cpp:742
+msgid "Auto"
+msgstr "Ðвто"
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:653
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
+"Коментарий чита:\n"
+"%s"
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
-msgstr "камера"
-
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
-msgstr "микрофон"
+#: src/frontend/mame/ui/cheatopt.cpp:105
+msgid "All cheats reloaded"
+msgstr "Ð’Ñе читы перезагружены"
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
-msgstr "управление"
+#: src/frontend/mame/ui/cheatopt.cpp:136
+msgid "Autofire Settings"
+msgstr "ÐаÑтройка авто-огнÑ"
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
-msgstr "клавиатура"
+#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:581
+msgid "Reset All"
+msgstr "СброÑить вÑе"
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
-msgstr "мышь"
+#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:582
+msgid "Reload All"
+msgstr "Перезагрузить вÑе"
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
-msgstr ""
+#: src/frontend/mame/ui/cheatopt.cpp:273
+msgid "Autofire Status"
+msgstr "СоÑтоÑние"
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
-msgstr "диÑк"
+#: src/frontend/mame/ui/cheatopt.cpp:316
+msgid "No buttons found on this machine!"
+msgstr "У Ñтой ÑиÑтемы нет кнопок огонь!"
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
-msgstr "принтер"
+#: src/frontend/mame/ui/cheatopt.cpp:327 src/frontend/mame/ui/cheatopt.cpp:331
+msgid "Autofire Delay"
+msgstr "ЧаÑтота"
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
-msgstr ""
+#: src/frontend/mame/ui/ui.cpp:337
+msgid "This driver requires images to be loaded in the following device(s): "
+msgstr "Этот драйвер требует загрузки образов в Ñледующие уÑтройÑтва: "
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
-msgstr ""
+#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
+msgid "Keyboard Emulation Status"
+msgstr "СоÑтоÑние ÑмулÑции клавиатуры"
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
-msgstr ""
+#: src/frontend/mame/ui/ui.cpp:1086
+msgid "Mode: PARTIAL Emulation"
+msgstr "Режим: ЧÐСТИЧÐÐЯ ÑмулÑциÑ"
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
-msgstr ""
+#: src/frontend/mame/ui/ui.cpp:1087
+msgid "UI: Enabled"
+msgstr "UI: Включен"
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
-msgstr ""
+#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
+msgid "**Use ScrLock to toggle**"
+msgstr "**Ðажмите ScrLock Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ**"
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
-msgstr "Ð›Ð¾ÐºÐ°Ð»ÑŒÐ½Ð°Ñ Ñеть"
+#: src/frontend/mame/ui/ui.cpp:1096
+msgid "Mode: FULL Emulation"
+msgstr "Режим: ПОЛÐÐЯ ÑмулÑциÑ"
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
-msgstr "Ð£Ð´Ð°Ð»ÐµÐ½Ð½Ð°Ñ Ñеть"
+#: src/frontend/mame/ui/ui.cpp:1097
+msgid "UI: Disabled"
+msgstr "UI: Выключен"
-#: src/frontend/mame/ui/info.cpp:188
-msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
-msgstr ""
-"Один или неÑколько ROMов/CHD Ñтой ÑиÑтемы не верные. Эта ÑиÑтема может "
-"работать не правильно.\n"
+#: src/frontend/mame/ui/ui.cpp:1249
+msgid "Autofire can't be enabled"
+msgstr "Ðвто-огонь не может быть включен"
-#: src/frontend/mame/ui/info.cpp:198
+#: src/frontend/mame/ui/ui.cpp:1302
+#, c-format
msgid ""
-"There are known problems with this machine\n"
+"Are you sure you want to quit?\n"
"\n"
+"Press ''%1$s'' to quit,\n"
+"Press ''%2$s'' to return to emulation."
msgstr ""
-"ИмеютÑÑ Ð¸Ð·Ð²ÐµÑтные проблемы Ñ Ñтой ÑиÑтемой\n"
+"Ð’Ñ‹ дейÑтвительно хотите выйти?\n"
"\n"
+"Ðажмите ''%1$s'' Ð´Ð»Ñ Ð²Ñ‹Ñ…Ð¾Ð´Ð°,\n"
+"Ðажмите ''%2$s'' Ð´Ð»Ñ Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‚Ð° к ÑмулÑции."
-#: src/frontend/mame/ui/info.cpp:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
-msgstr ""
-"Один или неÑколько ROMов/CHD Ñтой ÑиÑтемы не были нормально Ñдамплены.\n"
+#: src/frontend/mame/ui/ui.cpp:1374
+msgid "Master Volume"
+msgstr "ÐžÐ±Ñ‰Ð°Ñ Ð³Ñ€Ð¾Ð¼ÐºÐ¾Ñть"
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
-msgstr "ПолноÑтью не ÑмулируютÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñти: "
+#: src/frontend/mame/ui/ui.cpp:1383
+#, c-format
+msgid "%1$s Volume"
+msgstr "%1$s ГромкоÑть"
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
+#: src/frontend/mame/ui/ui.cpp:1407
#, c-format
-msgid "%s"
-msgstr ""
+msgid "Overclock CPU %1$s"
+msgstr "Разгон процеÑÑора %1$s"
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#: src/frontend/mame/ui/info.cpp:275
+#: src/frontend/mame/ui/ui.cpp:1416
#, c-format
-msgid ", %s"
-msgstr ""
+msgid "Overclock %1$s sound"
+msgstr "Разгон %1$s звука"
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
-msgstr "ÐеÑовершенно Ñмулируемые возможноÑти: "
+#: src/frontend/mame/ui/ui.cpp:1437
+#, c-format
+msgid "%1$s Refresh Rate"
+msgstr "%1$s ЧаÑтота обновлениÑ"
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
-msgstr "Переворот Ñкрана в режиме коктейль-Ñтола не поддерживаетÑÑ.\n"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, c-format
+msgid "%1$s Brightness"
+msgstr "%1$s ЯркоÑть"
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
-msgstr "Эта ÑиÑтема требует внешние графичеÑкие файлы.\n"
+#: src/frontend/mame/ui/ui.cpp:1444
+#, c-format
+msgid "%1$s Contrast"
+msgstr "%1$s КонтраÑÑ‚"
-#: src/frontend/mame/ui/info.cpp:243
-msgid ""
-"This machine was never completed. It may exhibit strange behavior or missing "
-"elements that are not bugs in the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1446
+#, c-format
+msgid "%1$s Gamma"
+msgstr "%1$s Гамма"
+
+#: src/frontend/mame/ui/ui.cpp:1450
+#, c-format
+msgid "%1$s Horiz Stretch"
+msgstr "%1$s гориз. размер"
+
+#: src/frontend/mame/ui/ui.cpp:1452
+#, c-format
+msgid "%1$s Horiz Position"
+msgstr "%1$s гориз. позициÑ"
+
+#: src/frontend/mame/ui/ui.cpp:1454
+#, c-format
+msgid "%1$s Vert Stretch"
+msgstr "%1$s верт. размер"
+
+#: src/frontend/mame/ui/ui.cpp:1456
+#, c-format
+msgid "%1$s Vert Position"
+msgstr "%1$s верт. позициÑ"
+
+#: src/frontend/mame/ui/ui.cpp:1475
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
+msgstr "ЛазердиÑк '%1$s' гориз. размер"
+
+#: src/frontend/mame/ui/ui.cpp:1477
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
+msgstr "ЛазердиÑк '%1$s' гориз. позициÑ"
+
+#: src/frontend/mame/ui/ui.cpp:1479
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
+msgstr "ЛазердиÑк '%1$s' верт. размер"
+
+#: src/frontend/mame/ui/ui.cpp:1481
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
+msgstr "ЛазердиÑк '%1$s' верт. позициÑ"
+
+#: src/frontend/mame/ui/ui.cpp:1493
+msgid "Vector Flicker"
+msgstr "Мерцание луча"
+
+#: src/frontend/mame/ui/ui.cpp:1494
+msgid "Beam Width Minimum"
+msgstr "ÐœÐ¸Ð½Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ð° луча"
+
+#: src/frontend/mame/ui/ui.cpp:1495
+msgid "Beam Width Maximum"
+msgstr "МакÑÐ¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ð° луча"
+
+#: src/frontend/mame/ui/ui.cpp:1496
+msgid "Beam Intensity Weight"
+msgstr "ÐаÑыщенноÑть луча"
+
+#: src/frontend/mame/ui/ui.cpp:1511
+#, c-format
+msgid "Crosshair Scale %1$s"
+msgstr "МаÑштаб прицела %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "X"
msgstr ""
-"Разработка Ñтой ÑиÑтемы так и не была завершена. Может наблюдатьÑÑ Ñтранное "
-"поведение или отÑутÑвующие Ñлементы. Это не ÑвлÑетÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ°Ð¼Ð¸ ÑмулÑции.\n"
-#: src/frontend/mame/ui/info.cpp:245
-msgid ""
-"This machine has no sound hardware, MAME will produce no sounds, this is "
-"expected behaviour.\n"
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "Y"
msgstr ""
-"У Ñтой ÑиÑтемы нет звукового оборудованиÑ, в процеÑÑе ÑмулÑции не будет "
-"никаких звуков, так и должно быть.\n"
-#: src/frontend/mame/ui/info.cpp:249
-msgid ""
-"\n"
-"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
-"complete. There is nothing you can do to fix this problem except wait for "
-"the developers to improve the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1513
+#, c-format
+msgid "Crosshair Offset %1$s"
+msgstr "Смещение прицела %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1601
+#, c-format
+msgid "%1$3ddB"
+msgstr "%1$3dдБ"
+
+#: src/frontend/mame/ui/ui.cpp:1645
+#, c-format
+msgid "%1$d%%"
msgstr ""
-"\n"
-"ЭТРСИСТЕМРÐЕ РÐБОТÐЕТ. ЭмулÑÑ†Ð¸Ñ Ñтой ÑиÑтемы пока не завершена. Ð’Ñ‹ никак "
-"не можете иÑправить Ñту проблему, лишь подождать когда разработчики улучшат "
-"ÑмулÑцию.\n"
-#: src/frontend/mame/ui/info.cpp:251
-msgid ""
-"\n"
-"Elements of this machine cannot be emulated as they requires physical "
-"interaction or consist of mechanical devices. It is not possible to fully "
-"experience this machine.\n"
+#: src/frontend/mame/ui/ui.cpp:1661
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-"\n"
-"Элементы Ñтой ÑиÑтемы не могут быть Ñмулированы, поÑкольку они требуют "
-"физичеÑкого взаимодейÑÑ‚Ð²Ð¸Ñ Ð¸Ð»Ð¸ ÑоÑтоÑÑ‚ из механичеÑких уÑтройÑтв. Ðевозможно "
-"полноÑтью ощутить опыт взаимодейÑÑ‚Ð²Ð¸Ñ Ñ Ñтой ÑиÑтемой.\n"
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1685
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid "%1$.3ffps"
msgstr ""
-"\n"
-"\n"
-"ИзвеÑтные работающие clones Ñтой ÑиÑтемы: %s"
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
+#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
+#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
+#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
+#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
+#: src/frontend/mame/ui/ui.cpp:1927
+#, c-format
+msgid "%1$.3f"
msgstr ""
-"\n"
-"\n"
-"Ðажмите любую клавишу Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð´Ð¾Ð»Ð¶ÐµÐ½Ð¸Ñ"
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
+#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
#, c-format
-msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
+msgid "%1$1.2f"
msgstr ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Драйвер: %4$s\n"
-"\n"
-"ПроцеÑÑор:\n"
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
-msgstr "МГц"
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
+msgstr "МаÑштаб прицела X %1$1.3f"
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
-msgstr "кГц"
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
+msgstr "МаÑштаб прицела Y %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
+msgstr "Смещение прицела X %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
+msgstr "Смещение прицела Y %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
+msgstr "**Ошибка ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ ui.ini**"
+
+#: src/frontend/mame/ui/ui.cpp:2226
+#, c-format
+msgid "**Error saving %s.ini**"
+msgstr "**Ошибка ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ %s.ini**"
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " COLORS"
+msgstr " ЦВЕТÐ"
-#: src/frontend/mame/ui/info.cpp:350
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " PENS"
+msgstr " ПЕРЬЯ"
+
+#: src/frontend/mame/ui/devopt.cpp:39
+#, c-format
msgid ""
+"[This option is currently mounted in the running system]\n"
"\n"
-"Sound:\n"
-msgstr ""
+"Option: %1$s\n"
+"Device: %2$s\n"
"\n"
-"Звук:\n"
+"The selected option enables the following items:\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
+#: src/frontend/mame/ui/devopt.cpp:40
+#, c-format
msgid ""
+"[This option is NOT currently mounted in the running system]\n"
"\n"
-"Video:\n"
-msgstr ""
+"Option: %1$s\n"
+"Device: %2$s\n"
"\n"
-"Видео:\n"
-
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
-msgstr "Ðет\n"
-
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
-msgstr "Векторный"
-
-#: src/frontend/mame/ui/info.cpp:400
-#, c-format
-msgid "%1$s: %2$s\n"
+"If you select this option, the following items will be enabled:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+#: src/frontend/mame/ui/devopt.cpp:48
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
#, c-format
-msgid "Screen '%1$s'"
-msgstr "Экран '%1$s'"
+msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr "Экран"
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
+msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
-msgstr "Ðе поддерживаетÑÑ"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %3$d.%4$06d MHz\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
-msgstr "ЧаÑтично поддерживаетÑÑ"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %5$d.%6$03d kHz\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
-msgstr "[пуÑто]"
+#: src/frontend/mame/ui/devopt.cpp:85
+msgid "* Video:\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
-msgstr "Панели управлениÑ"
+#: src/frontend/mame/ui/devopt.cpp:90
+#, c-format
+msgid " Screen '%1$s': Vector\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
-msgstr "ПредпроÑмотр оформлениÑ"
+#: src/frontend/mame/ui/devopt.cpp:99
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
-msgstr "Игра Окончена"
+#: src/frontend/mame/ui/devopt.cpp:100
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
-msgstr "Добавить или удалить избранное"
+#: src/frontend/mame/ui/devopt.cpp:113
+msgid "* Sound:\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
-msgstr "ЭкÑпорт отображаемого ÑпиÑка в файл"
+#: src/frontend/mame/ui/devopt.cpp:133
+#, c-format
+msgid " %1$d×%2$s\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
-msgstr "Показать вид DAT"
+#: src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
-msgstr "Выбор чаÑти программы:"
+#: src/frontend/mame/ui/devopt.cpp:164
+#, c-format
+msgid ""
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
-msgstr "Выбор BIOS:"
+#: src/frontend/mame/ui/devopt.cpp:204 src/frontend/mame/ui/devopt.cpp:220
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " %1$s [default: %2$s]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
+#: src/frontend/mame/ui/devopt.cpp:209 src/frontend/mame/ui/devopt.cpp:225
#, c-format
-msgid "Software is clone of: %1$-.100s"
-msgstr "Программа - clone от: %1$-.100s"
+msgid " %1$s\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
-msgstr "Программа - parent"
+#: src/frontend/mame/ui/devopt.cpp:230
+msgid "* DIP switch settings:\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
-msgstr "ПоддерживаетÑÑ: Ðет"
+#: src/frontend/mame/ui/devopt.cpp:232
+msgid "* Configuration settings:\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
-msgstr "ПоддерживаетÑÑ: ЧаÑтично"
+#: src/frontend/mame/ui/devopt.cpp:234
+msgid "* Input device(s):\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
-msgstr "ПоддерживаетÑÑ: Да"
+#: src/frontend/mame/ui/devopt.cpp:236
+#, c-format
+msgid " User inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
+#: src/frontend/mame/ui/devopt.cpp:238
#, c-format
-msgid "romset: %1$-.100s"
-msgstr "ROM-набор: %1$-.100s"
+msgid " Mahjong inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
+#: src/frontend/mame/ui/devopt.cpp:240
#, c-format
-msgid "Driver is clone of: %1$-.100s"
-msgstr "Драйвер - clone от: %1$-.100s"
+msgid " Hanafuda inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
-msgstr "Драйвер - parent"
+#: src/frontend/mame/ui/devopt.cpp:242
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
+#: src/frontend/mame/ui/devopt.cpp:244
#, c-format
-msgid "%1$s %2$s"
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
-msgstr "ИзображениÑ"
+#: src/frontend/mame/ui/devopt.cpp:246
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
-msgstr "ИнформациÑ"
+#: src/frontend/mame/ui/devopt.cpp:248
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
-msgstr "ИÑпользование"
+#: src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
-msgstr "ÐžÐ±Ñ‰Ð°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* Media Options:\n"
+msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
-msgstr "Ð˜Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ"
+#: src/frontend/mame/ui/devopt.cpp:257
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
+msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
-msgstr "Дополнительное управление"
+#: src/frontend/mame/ui/devopt.cpp:263
+msgid "* Slot Options:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:270
+msgid "[None]\n"
+msgstr ""
#: plugins/timer/init.lua:94
msgid "Current time"
@@ -2741,51 +2660,51 @@ msgstr "КоличеÑтво игр"
msgid "Timer"
msgstr "Таймер"
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:510
msgid "Select cheat to set hotkey"
msgstr "Выбрать чит Ð´Ð»Ñ Ð³Ð¾Ñ€Ñчей клавиши"
-#: plugins/cheat/init.lua:534
+#: plugins/cheat/init.lua:516
msgid "Press button for hotkey or wait to clear"
msgstr "Ðажмите клавишу Ð´Ð»Ñ Ð³Ð¾Ñ€Ñчей клавиши или подождите Ð´Ð»Ñ ÑброÑа"
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:528
msgid "None"
msgstr "ОтÑутÑтвует"
-#: plugins/cheat/init.lua:551
+#: plugins/cheat/init.lua:533
msgid "Done"
msgstr "Готово"
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:547 plugins/cheat/init.lua:561
msgid "Set"
msgstr "УÑтановлено"
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:580
msgid "Set hotkeys"
msgstr "Ðазначить горÑчие клавиши"
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:720
#, lua-format
msgid "Activated: %s = %s"
msgstr "Ðктивировано: %s = %s"
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:723 plugins/cheat/init.lua:781
#, lua-format
msgid "Activated: %s"
msgstr "Ðктивировано: %s"
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:785
#, lua-format
msgid "Enabled: %s"
msgstr "Разрешено: %s"
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:790
#, lua-format
msgid "Disabled: %s"
msgstr "Запрещено: %s"
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "%s added"
msgstr "%s добавлено"
@@ -2838,49 +2757,49 @@ msgstr "Иниц. игры"
msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:404
+#: plugins/cheatfind/init.lua:373
msgid "Save Cheat"
msgstr "Сохранить чит"
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Default"
msgstr "По умолчанию"
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Custom"
msgstr "ПользовательÑкий"
-#: plugins/cheatfind/init.lua:408
+#: plugins/cheatfind/init.lua:377
msgid "Cheat Name"
msgstr "Ð˜Ð¼Ñ Ñ‡Ð¸Ñ‚Ð°"
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/cheatfind/init.lua:383 plugins/cheatfind/init.lua:748
#, lua-format
msgid "Default name is %s"
msgstr "Ð˜Ð¼Ñ Ð¿Ð¾ умолчанию %s"
-#: plugins/cheatfind/init.lua:422
+#: plugins/cheatfind/init.lua:391
msgid "Player"
msgstr "Игрок"
-#: plugins/cheatfind/init.lua:427
+#: plugins/cheatfind/init.lua:396
msgid "Type"
msgstr "Тип"
-#: plugins/cheatfind/init.lua:433
+#: plugins/cheatfind/init.lua:402
msgid "Save"
msgstr "Сохранить"
-#: plugins/cheatfind/init.lua:462
+#: plugins/cheatfind/init.lua:429
#, lua-format
msgid "Cheat written to %s and added to cheat.simple"
msgstr "Чит запиÑан в %s и добавлен в cheat.simple"
-#: plugins/cheatfind/init.lua:472
+#: plugins/cheatfind/init.lua:437
msgid "Cheat added to cheat.simple"
msgstr "Чит добавлен в cheat.simple"
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:442
msgid ""
"Unable to write file\n"
"Ensure that cheatpath folder exists"
@@ -2888,296 +2807,175 @@ msgstr ""
"Ðе удалоÑÑŒ Ñохранить файл\n"
"УбедитеÑÑŒ что папка cheatpath ÑущеÑтвует"
-#: plugins/cheatfind/init.lua:486
+#: plugins/cheatfind/init.lua:451
msgid "Cancel"
msgstr "Отмена"
-#: plugins/cheatfind/init.lua:491
+#: plugins/cheatfind/init.lua:456
msgid "CPU or RAM"
msgstr "ПроцеÑÑор или памÑть"
-#: plugins/cheatfind/init.lua:495
+#: plugins/cheatfind/init.lua:460
msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
"Эти Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð±ÑƒÐ´ÑƒÑ‚ применены только поÑле выбора \"Ðачать новый поиÑк\""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
-msgstr ""
+#: plugins/cheatfind/init.lua:479
+msgid "Data cleared and current state saved"
+msgstr "Данные очищены и текущее ÑоÑтоÑние Ñохранено"
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:551
+#: plugins/cheatfind/init.lua:487
msgid "Start new search"
msgstr "Ðачать новый поиÑк"
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
-msgstr ""
+#: plugins/cheatfind/init.lua:497
+msgid "Current state saved"
+msgstr "Текущее ÑоÑтоÑние Ñохранено"
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
-msgstr ""
+#: plugins/cheatfind/init.lua:504
+msgid "Save current -- #"
+msgstr "Сохранить текущее -- #"
-#: plugins/cheatfind/init.lua:614
+#: plugins/cheatfind/init.lua:536
#, lua-format
msgid "%d total matches found"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
-msgstr ""
+#: plugins/cheatfind/init.lua:543
+msgid "Compare"
+msgstr "Сравнить"
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
-msgstr ""
+#: plugins/cheatfind/init.lua:546
+msgid "Left operand"
+msgstr "Левый операнд"
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
-msgstr ""
+#: plugins/cheatfind/init.lua:549
+msgid "Current"
+msgstr "Текущий"
-#: plugins/cheatfind/init.lua:676
+#: plugins/cheatfind/init.lua:554
+msgid "Operator"
+msgstr "Оператор"
+
+#: plugins/cheatfind/init.lua:561
+msgid "Left less than right, value is difference"
+msgstr "Левый меньше правого, Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð°ÑŽÑ‚ÑÑ"
+
+#: plugins/cheatfind/init.lua:563
+msgid "Left greater than right, value is difference"
+msgstr "Левый больше правого, Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð°ÑŽÑ‚ÑÑ"
+
+#: plugins/cheatfind/init.lua:565
msgid "Left equal to right"
msgstr "Левый равен правому"
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
-msgstr ""
+#: plugins/cheatfind/init.lua:567
+msgid "Left not equal to right, value is difference"
+msgstr "Левый не равен правому, Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð°ÑŽÑ‚ÑÑ"
-#: plugins/cheatfind/init.lua:680
+#: plugins/cheatfind/init.lua:569
msgid "Left equal to right with bitmask"
msgstr "Левый равен правому по маÑке"
-#: plugins/cheatfind/init.lua:682
+#: plugins/cheatfind/init.lua:571
msgid "Left not equal to right with bitmask"
msgstr "Левый не равен правому по маÑке"
-#: plugins/cheatfind/init.lua:684
+#: plugins/cheatfind/init.lua:573
msgid "Left less than value"
msgstr "Левый меньше значениÑ"
-#: plugins/cheatfind/init.lua:686
+#: plugins/cheatfind/init.lua:575
msgid "Left greater than value"
msgstr "Левый больше значениÑ"
-#: plugins/cheatfind/init.lua:688
+#: plugins/cheatfind/init.lua:577
msgid "Left equal to value"
msgstr "Левый равен значению"
-#: plugins/cheatfind/init.lua:690
+#: plugins/cheatfind/init.lua:579
msgid "Left not equal to value"
msgstr "Левый не равен значению"
-#: plugins/cheatfind/init.lua:712
+#: plugins/cheatfind/init.lua:590
+msgid "Right operand"
+msgstr "Правый операнд"
+
+#: plugins/cheatfind/init.lua:598
msgid "Value"
msgstr "Значение"
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:719
+#: plugins/cheatfind/init.lua:602
msgid "Any"
msgstr "Любое"
-#: plugins/cheatfind/init.lua:725
+#: plugins/cheatfind/init.lua:608
msgid "Data Format"
msgstr "Формат данных"
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:738
-msgid ""
-"Use this if you want to poke the Slot 1 value (eg. You started with "
-"something but lost it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:740
-msgid ""
-"Use this if you want to poke the Last Slot value (eg. You started without an "
-"item but finally got it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:816
+#: plugins/cheatfind/init.lua:632
msgid "Undo last search -- #"
msgstr "Отменить поÑледний поиÑк -- #"
-#: plugins/cheatfind/init.lua:820
+#: plugins/cheatfind/init.lua:636
msgid "Match block"
msgstr "Совпадает блок"
-#: plugins/cheatfind/init.lua:823
+#: plugins/cheatfind/init.lua:639
msgid "All"
msgstr "Ð’Ñе"
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheatfind/init.lua:690
#, lua-format
-msgid "Test Cheat %08X:%02X"
-msgstr ""
+msgid "Test cheat at addr %08X"
+msgstr "Проверить чит по адреÑу %08X"
-#: plugins/cheatfind/init.lua:974
+#: plugins/cheatfind/init.lua:722
msgid "Cheat engine not available"
msgstr "Движок читов не доÑтупен"
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Test"
msgstr "ТеÑÑ‚"
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Write"
msgstr "ЗапиÑÑŒ"
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Watch"
msgstr "ПроÑмотр"
-#: plugins/cheatfind/init.lua:1045
+#: plugins/cheatfind/init.lua:788
msgid "Page"
msgstr "Страница"
-#: plugins/cheatfind/init.lua:1063
+#: plugins/cheatfind/init.lua:806
msgid "Clear Watches"
msgstr "ОчиÑтить проÑмотр"
-#: plugins/cheatfind/init.lua:1078
+#: plugins/cheatfind/init.lua:816
msgid "Cheat Finder"
msgstr "ПоиÑк читов"
-#: plugins/portname/init.lua:103
+#: plugins/portname/init.lua:69
msgid "Save input names to file"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
+#: plugins/portname/init.lua:100 plugins/portname/init.lua:105
+#: plugins/portname/init.lua:121
msgid "Failed to save input name file"
msgstr ""
-#: plugins/portname/init.lua:167
+#: plugins/portname/init.lua:133
#, lua-format
msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/portname/init.lua:172
+#: plugins/portname/init.lua:138
msgid "Input ports"
msgstr ""
-#~ msgid "Data cleared and current state saved"
-#~ msgstr "Данные очищены и текущее ÑоÑтоÑние Ñохранено"
-
-#~ msgid "Current state saved"
-#~ msgstr "Текущее ÑоÑтоÑние Ñохранено"
-
-#~ msgid "Save current -- #"
-#~ msgstr "Сохранить текущее -- #"
-
-#~ msgid "Compare"
-#~ msgstr "Сравнить"
-
-#~ msgid "Left operand"
-#~ msgstr "Левый операнд"
-
-#~ msgid "Current"
-#~ msgstr "Текущий"
-
-#~ msgid "Operator"
-#~ msgstr "Оператор"
-
-#~ msgid "Left less than right, value is difference"
-#~ msgstr "Левый меньше правого, Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð°ÑŽÑ‚ÑÑ"
-
-#~ msgid "Left greater than right, value is difference"
-#~ msgstr "Левый больше правого, Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð°ÑŽÑ‚ÑÑ"
-
-#~ msgid "Left not equal to right, value is difference"
-#~ msgstr "Левый не равен правому, Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð°ÑŽÑ‚ÑÑ"
-
-#~ msgid "Right operand"
-#~ msgstr "Правый операнд"
-
-#~ msgid "Test cheat at addr %08X"
-#~ msgstr "Проверить чит по адреÑу %08X"
-
#~ msgid " total matches found"
#~ msgstr " вÑего найдено Ñовпадений"
diff --git a/language/Serbian/strings.po b/language/Serbian/strings.po
index e7ba8b6e90b..4766a3f76d2 100644
--- a/language/Serbian/strings.po
+++ b/language/Serbian/strings.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MAME\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-03-17 13:37+1100\n"
+"POT-Creation-Date: 2018-04-28 15:32+1000\n"
"PO-Revision-Date: 2016-03-02 21:46+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -19,61 +19,236 @@ msgstr ""
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Poedit 1.8.7\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
+#: src/frontend/mame/ui/auditmenu.cpp:96
#, c-format
-msgid "Screen #%d"
-msgstr "Ekran #%d"
+msgid "Audit ROMs for %1$u machines marked unavailable?"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr "Rotiraj"
+#: src/frontend/mame/ui/auditmenu.cpp:99
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr "Kulise (pozadine)"
+#: src/frontend/mame/ui/auditmenu.cpp:104
+#, c-format
+msgid "(results will be saved to %1$s)"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Enabled"
-msgstr "Omogućeno"
+#: src/frontend/mame/ui/auditmenu.cpp:130
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Disabled"
-msgstr "Onemogućeno"
+#: src/frontend/mame/ui/auditmenu.cpp:142
+msgid "Start Audit"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr "Prekrivajuće ilustracije"
+#: src/frontend/mame/ui/selmenu.cpp:49 src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Snapshots"
+msgstr "Snimci ekrana"
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr "Ivice"
+#: src/frontend/mame/ui/selmenu.cpp:50 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cabinets"
+msgstr "Kabineti"
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
-msgstr "Komandni paneli"
+#: src/frontend/mame/ui/selmenu.cpp:51
+msgid "Control Panels"
+msgstr "Kontrolni panel"
+
+#: src/frontend/mame/ui/selmenu.cpp:52 src/frontend/mame/ui/dirmenu.cpp:50
+msgid "PCBs"
+msgstr "PCB (Å¡tampane ploÄice)"
+
+#: src/frontend/mame/ui/selmenu.cpp:53 src/frontend/mame/ui/dirmenu.cpp:47
+msgid "Flyers"
+msgstr "Letci"
+
+#: src/frontend/mame/ui/selmenu.cpp:54 src/frontend/mame/ui/dirmenu.cpp:48
+msgid "Titles"
+msgstr "Naslovni ekrani"
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
+#: src/frontend/mame/ui/selmenu.cpp:55 src/frontend/mame/ui/dirmenu.cpp:49
+msgid "Ends"
+msgstr "Ekrani završetka igre"
+
+#: src/frontend/mame/ui/selmenu.cpp:56
+msgid "Artwork Preview"
+msgstr "Pregled artwork-a"
+
+#: src/frontend/mame/ui/selmenu.cpp:57 src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Bosses"
+msgstr "Finalni protivnici"
+
+#: src/frontend/mame/ui/selmenu.cpp:58 src/frontend/mame/ui/dirmenu.cpp:60
+msgid "Logos"
+msgstr "Logoi"
+
+#: src/frontend/mame/ui/selmenu.cpp:59 src/frontend/mame/ui/dirmenu.cpp:62
+msgid "Versus"
+msgstr "Versus ekrani"
+
+#: src/frontend/mame/ui/selmenu.cpp:60
+msgid "Game Over"
+msgstr "Završni ekran igre"
+
+#: src/frontend/mame/ui/selmenu.cpp:61 src/frontend/mame/ui/dirmenu.cpp:59
+msgid "HowTo"
+msgstr "Uputstvo"
+
+#: src/frontend/mame/ui/selmenu.cpp:62 src/frontend/mame/ui/dirmenu.cpp:61
+msgid "Scores"
+msgstr "Najbolji rezultata"
+
+#: src/frontend/mame/ui/selmenu.cpp:63 src/frontend/mame/ui/dirmenu.cpp:57
+msgid "Select"
+msgstr "Izborni ekrani"
+
+#: src/frontend/mame/ui/selmenu.cpp:64 src/frontend/mame/ui/dirmenu.cpp:51
+#: src/frontend/mame/ui/videoopt.cpp:224
msgid "Marquees"
msgstr "Posteri iznad kabineta"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
-msgstr "Prikaz"
+#: src/frontend/mame/ui/selmenu.cpp:65 src/frontend/mame/ui/dirmenu.cpp:63
+msgid "Covers"
+msgstr "Maske"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
-msgstr "OdseÄeno"
+#: src/frontend/mame/ui/selmenu.cpp:69
+msgid "Add or remove favorites"
+msgstr "Dodavanje ili uklanjanje omiljenih"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
-msgstr "Potpuno"
+#: src/frontend/mame/ui/selmenu.cpp:70
+msgid "Export displayed list to file"
+msgstr "Eksportuj prikazanu listu u fajl"
+
+#: src/frontend/mame/ui/selmenu.cpp:71
+msgid "Show DATs view"
+msgstr "Prikaži DAT"
+
+#: src/frontend/mame/ui/selmenu.cpp:237
+msgid "Software part selection:"
+msgstr "Izbor dela softvera:"
+
+#: src/frontend/mame/ui/selmenu.cpp:343
+msgid "BIOS selection:"
+msgstr "Izbor BIOS-a:"
+
+#: src/frontend/mame/ui/selmenu.cpp:570 src/frontend/mame/ui/selmenu.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:311
+#, c-format
+msgid "%1$s, %2$-.100s"
+msgstr "%1$s, %2$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:574
+#, c-format
+msgid "Software is clone of: %1$-.100s"
+msgstr "Softver je klon od: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:576
+msgid "Software is parent"
+msgstr "Softver je predak"
+
+#: src/frontend/mame/ui/selmenu.cpp:581
+msgid "Supported: No"
+msgstr "Podržano: ne"
+
+#: src/frontend/mame/ui/selmenu.cpp:586
+msgid "Supported: Partial"
+msgstr "Podržano: delimiÄno"
+
+#: src/frontend/mame/ui/selmenu.cpp:591
+msgid "Supported: Yes"
+msgstr "Podržano: da"
+
+#: src/frontend/mame/ui/selmenu.cpp:596
+#, c-format
+msgid "romset: %1$-.100s"
+msgstr "ROM skup: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:612
+#, c-format
+msgid "Driver is clone of: %1$-.100s"
+msgstr "Drajver je klon od: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:614
+msgid "Driver is parent"
+msgstr "Drajver je osnovni"
+
+#: src/frontend/mame/ui/selmenu.cpp:619
+#: src/frontend/mame/ui/simpleselgame.cpp:330
+msgid "Overall: NOT WORKING"
+msgstr "Uopšteno: NE RADI"
+
+#: src/frontend/mame/ui/selmenu.cpp:621
+#: src/frontend/mame/ui/simpleselgame.cpp:332
+msgid "Overall: Unemulated Protection"
+msgstr "Uopšteno: Zaštita nije emulirana"
+
+#: src/frontend/mame/ui/selmenu.cpp:623
+#: src/frontend/mame/ui/simpleselgame.cpp:334
+msgid "Overall: Working"
+msgstr "Uopšteno: radi"
+
+#: src/frontend/mame/ui/selmenu.cpp:627
+#: src/frontend/mame/ui/simpleselgame.cpp:338
+msgid "Graphics: Unimplemented, "
+msgstr "Grafika: nije implementirana, "
+
+#: src/frontend/mame/ui/selmenu.cpp:629
+#: src/frontend/mame/ui/simpleselgame.cpp:340
+msgid "Graphics: Imperfect, "
+msgstr "Grafika: nesavršena, "
+
+#: src/frontend/mame/ui/selmenu.cpp:631
+#: src/frontend/mame/ui/simpleselgame.cpp:342
+msgid "Graphics: OK, "
+msgstr "Grafika: OK, "
+
+#: src/frontend/mame/ui/selmenu.cpp:634
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+msgid "Sound: None"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:636
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+msgid "Sound: Unimplemented"
+msgstr "Zvuk: nije implementiran"
+
+#: src/frontend/mame/ui/selmenu.cpp:638
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+msgid "Sound: Imperfect"
+msgstr "Zvuk: nesavršen"
+
+#: src/frontend/mame/ui/selmenu.cpp:640
+#: src/frontend/mame/ui/simpleselgame.cpp:351
+msgid "Sound: OK"
+msgstr "Zvuk: OK"
+
+#: src/frontend/mame/ui/selmenu.cpp:650
+#, c-format
+msgid "%1$s %2$s"
+msgstr "%1$s %2$s"
+
+#: src/frontend/mame/ui/selmenu.cpp:1975
+msgid "Images"
+msgstr "Programi"
+
+#: src/frontend/mame/ui/selmenu.cpp:1976
+msgid "Infos"
+msgstr "Informacije"
+
+#: src/frontend/mame/ui/selmenu.cpp:2386 src/frontend/mame/ui/miscmenu.cpp:826
+msgid " (default)"
+msgstr " (uobiÄajeno)"
+
+#: src/frontend/mame/ui/selmenu.cpp:2454
+msgid "Usage"
+msgstr "Upotreba"
+
+#: src/frontend/mame/ui/selmenu.cpp:2489
+msgid "General Info"
+msgstr "Opšte informacije"
#: src/frontend/mame/ui/dirmenu.cpp:35
msgid "ROMs"
@@ -115,30 +290,6 @@ msgstr "Ikone"
msgid "Cheats"
msgstr "VaraÇŒa"
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
-msgstr "Snimci ekrana"
-
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
-msgstr "Kabineti"
-
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
-msgstr "Letci"
-
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
-msgstr "Naslovni ekrani"
-
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
-msgstr "Ekrani završetka igre"
-
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
-msgstr "PCB (Å¡tampane ploÄice)"
-
#: src/frontend/mame/ui/dirmenu.cpp:52
msgid "Controls Panels"
msgstr "UpravljaÄki paneli"
@@ -151,42 +302,14 @@ msgstr "Nišani"
msgid "Artworks"
msgstr "Ilustracije"
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
-msgstr "Finalni protivnici"
-
#: src/frontend/mame/ui/dirmenu.cpp:56
msgid "Artworks Preview"
msgstr "UmaÇŒeni prikaz ilustracija"
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
-msgstr "Izborni ekrani"
-
#: src/frontend/mame/ui/dirmenu.cpp:58
msgid "GameOver"
msgstr "Neuspešan kraj igre"
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
-msgstr "Uputstvo"
-
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
-msgstr "Logoi"
-
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
-msgstr "Najbolji rezultata"
-
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
-msgstr "Versus ekrani"
-
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
-msgstr "Maske"
-
#: src/frontend/mame/ui/dirmenu.cpp:116
msgid "Folders Setup"
msgstr "Podešavanje direktorijuma"
@@ -227,14 +350,271 @@ msgstr "Pritisnite TAB da podesite"
msgid "Remove %1$s Folder"
msgstr "Ukloni %1$s direktorijum"
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
-msgstr "Izborna lista - pretraga:"
+#: src/frontend/mame/ui/info.cpp:30
+msgid "protection"
+msgstr "zaštita"
+
+#: src/frontend/mame/ui/info.cpp:31
+msgid "color palette"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:32
+msgid "graphics"
+msgstr "grafika"
+
+#: src/frontend/mame/ui/info.cpp:33
+msgid "sound"
+msgstr "zvuk"
+
+#: src/frontend/mame/ui/info.cpp:34
+msgid "controls"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:35
+msgid "keyboard"
+msgstr "tastatura"
+
+#: src/frontend/mame/ui/info.cpp:36
+msgid "mouse"
+msgstr "miš"
+
+#: src/frontend/mame/ui/info.cpp:37
+msgid "microphone"
+msgstr "mikrofon"
+
+#: src/frontend/mame/ui/info.cpp:38
+msgid "camera"
+msgstr "kamera"
+
+#: src/frontend/mame/ui/info.cpp:39
+msgid "disk"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:40
+msgid "printer"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:41
+msgid "LAN"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:42
+msgid "WAN"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:43
+msgid "timing"
+msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
+#: src/frontend/mame/ui/info.cpp:180
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
+msgstr ""
+"Jedan ili više ROM/CHD fajlova za ovu mašinu su neispravni. Mašina možda "
+"neće ispravno raditi.\n"
+
+#: src/frontend/mame/ui/info.cpp:190
+msgid ""
+"There are known problems with this machine\n"
+"\n"
+msgstr ""
+"Postoje poznati problemi s ovom mašinom\n"
+"\n"
+
+#: src/frontend/mame/ui/info.cpp:195
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+msgstr ""
+"Jedan ili više ROM/CHD fajlova za ovu mašinu nisu ispravno napravljeni.\n"
+
+#: src/frontend/mame/ui/info.cpp:200
+msgid "Completely unemulated features: "
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
#, c-format
-msgid "Double click or press %1$s to select"
-msgstr "Dupli klik ili pritisnite %1$s za selektovaÇŒe"
+msgid "%s"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#: src/frontend/mame/ui/info.cpp:267
+#, c-format
+msgid ", %s"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:216
+msgid "Imperfectly emulated features: "
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:231
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr "Obrtanje ekrana u \"koktel\" modu nije podržano.\n"
+
+#: src/frontend/mame/ui/info.cpp:233
+msgid "This machine requires external artwork files.\n"
+msgstr "Mašina zahteva dodatne ilustracione fajlove.\n"
+
+#: src/frontend/mame/ui/info.cpp:235
+msgid ""
+"This machine was never completed. It may exhibit strange behavior or missing "
+"elements that are not bugs in the emulation.\n"
+msgstr ""
+"MaÅ¡sina nije nikad zavrÅ¡ena. Može se javiti Äudno ponaÅ¡aÇŒe ili nedostatak "
+"elemenata sto ne predstavlja problem s emulacijom.\n"
+
+#: src/frontend/mame/ui/info.cpp:237
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
+msgstr ""
+"MaÅ¡ina ne poseduje ureÄ‘aj za zvuk, MAME neće puÅ¡tati zvuk, ovo je oÄekivano "
+"ponašanje.\n"
+
+#: src/frontend/mame/ui/info.cpp:241
+msgid ""
+"\n"
+"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
+"complete. There is nothing you can do to fix this problem except wait for "
+"the developers to improve the emulation.\n"
+msgstr ""
+"\n"
+"OVA MAŠINA NE RADI. Emulacija ove mašine još nije potpuna. Ne možete ništa "
+"uraditi u vezi s tim, osim da saÄekate programere da unaprede emulaciju.\n"
+
+#: src/frontend/mame/ui/info.cpp:243
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they requires physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:265
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
+msgstr ""
+"\n"
+"\n"
+"Postoji klonovi ove mašine koji rade: %s"
+
+#: src/frontend/mame/ui/info.cpp:278
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+"\n"
+"\n"
+"Pritsnite bilo koji taster za nastavak"
+
+#: src/frontend/mame/ui/info.cpp:293
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
+msgstr ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Drajver: %4$s\n"
+"\n"
+"CPU:\n"
+
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "MHz"
+msgstr "MHz"
+
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "kHz"
+msgstr "kHz"
+
+#: src/frontend/mame/ui/info.cpp:342
+msgid ""
+"\n"
+"Sound:\n"
+msgstr ""
+"\n"
+"Zvuk:\n"
+
+#: src/frontend/mame/ui/info.cpp:370
+msgid ""
+"\n"
+"Video:\n"
+msgstr ""
+"\n"
+"Video:\n"
+
+#: src/frontend/mame/ui/info.cpp:374
+msgid "None\n"
+msgstr "Nijedan\n"
+
+#: src/frontend/mame/ui/info.cpp:381
+msgid "Vector"
+msgstr "Vektor"
+
+#: src/frontend/mame/ui/info.cpp:392
+#, c-format
+msgid "%1$s: %2$s\n"
+msgstr "%1$s: %2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:392
+msgid "%2$s\n"
+msgstr "%2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:438
+#, c-format
+msgid "Screen '%1$s'"
+msgstr "Ekran '%1$s'"
+
+#: src/frontend/mame/ui/info.cpp:440
+msgid "Screen"
+msgstr "Ekran"
+
+#: src/frontend/mame/ui/info.cpp:525
+msgid "Not supported"
+msgstr "Nije podržano"
+
+#: src/frontend/mame/ui/info.cpp:528
+msgid "Partially supported"
+msgstr "DelimiÄno podržano"
+
+#: src/frontend/mame/ui/info.cpp:536
+msgid "[empty]"
+msgstr "[prazno]"
+
+#: src/frontend/mame/ui/optsmenu.cpp:193
+msgid "Filter"
+msgstr "Filter"
+
+#: src/frontend/mame/ui/optsmenu.cpp:206
+msgid "Customize UI"
+msgstr "Prilagodi korisniÄki interfejs"
+
+#: src/frontend/mame/ui/optsmenu.cpp:207
+msgid "Configure Directories"
+msgstr "Konfiguracija direktorijuma"
+
+#: src/frontend/mame/ui/optsmenu.cpp:210 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
+msgstr "Opcije za zvuk"
+
+#: src/frontend/mame/ui/optsmenu.cpp:213
+msgid "General Inputs"
+msgstr "Globalne kontrole"
+
+#: src/frontend/mame/ui/optsmenu.cpp:216
+msgid "Save Configuration"
+msgstr "SaÄuvaj konfiguraciju"
+
+#: src/frontend/mame/ui/optsmenu.cpp:228
+msgid "Settings"
+msgstr "Podešavanja"
#: src/frontend/mame/ui/tapectrl.cpp:85
msgid "stopped"
@@ -276,8 +656,30 @@ msgstr "Premotaj"
msgid "Fast Forward"
msgstr "Premotaj u napred"
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
-#: src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/inputmap.cpp:53
+msgid "User Interface"
+msgstr "KorisniÄki interfejs"
+
+#: src/frontend/mame/ui/inputmap.cpp:59
+msgid "Other Controls"
+msgstr "Ostale kontrole"
+
+#: src/frontend/mame/ui/inputmap.cpp:628 src/frontend/mame/ui/miscmenu.cpp:96
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr "Resetuj"
+
+#: src/frontend/mame/ui/selector.cpp:116
+msgid "Selection List - Search: "
+msgstr "Izborna lista - pretraga:"
+
+#: src/frontend/mame/ui/selector.cpp:124
+#, c-format
+msgid "Double click or press %1$s to select"
+msgstr "Dupli klik ili pritisnite %1$s za selektovaÇŒe"
+
+#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/filesel.cpp:256
msgid "[empty slot]"
msgstr "[prazan slot]"
@@ -318,182 +720,6 @@ msgstr "Upotreba softvera"
msgid "Revision: "
msgstr "Revizija"
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
-msgstr "Fajl već postoji - prepiši?"
-
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
-msgstr "Ne"
-
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
-msgstr "Da"
-
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
-msgstr "Novo ime:"
-
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
-msgstr "Format zapisa:"
-
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
-msgstr "Kreiraj"
-
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
-msgstr "Molim unesite i ekstenziju"
-
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
-msgstr "Odaberi format"
-
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
-msgstr "Podešavanje kontrola (globalno)"
-
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
-msgstr "Podešavanje kontrola (ova mašina)"
-
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
-msgstr "Analogne kontrole"
-
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
-msgstr "DIP prekidaÄi"
-
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
-msgstr "Konfiguracija mašine"
-
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
-msgstr "Informacije o statistici mašine"
-
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
-msgstr "Informacije o mašini"
-
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
-msgstr "Informacije o programu"
-
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
-msgstr "Upravljanje fajlovima"
-
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
-msgstr "Kontrola trake"
-
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
-msgstr "Pseudo terminali"
-
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
-msgstr "Izbor BIOS-a"
-
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
-msgstr "Slot uređaji"
-
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
-msgstr "Barkod ÄitaÄ"
-
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
-msgstr "Mrežni uređaji"
-
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
-msgstr "Mod tastature"
-
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
-msgstr "Kontrole klizaÄa"
-
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
-msgstr "Video opcije"
-
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
-msgstr "Opcije nišana"
-
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
-msgstr "VaraÇŒe"
-
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
-msgstr "Opcije dodataka"
-
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
-msgstr "Prikaz spoljašnjeg DAT"
-
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
-msgstr "Dodaj u listu omiljenih"
-
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
-msgstr "Izbriši iz liste omiljenih"
-
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
-msgstr "Izaberi novu mašinu"
-
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
-msgstr "Novi barkod:"
-
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
-msgstr "Unesite barkod"
-
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
-msgstr "Neodgovarajuća dužina barkoda!"
-
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
-msgstr "[neuspešno]"
-
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
-msgstr "Opcije za zvuk"
-
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
-msgstr "Globalne kontrole"
-
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
-msgstr "SaÄuvaj konfiguraciju"
-
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
-msgstr "Podešavanja"
-
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
-msgstr "Filter"
-
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
-msgstr "Prilagodi korisniÄki interfejs"
-
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
-msgstr "Konfiguracija direktorijuma"
-
#: src/frontend/mame/ui/simpleselgame.cpp:149
msgid ""
"The selected game is missing one or more required ROM or CHD images. Please "
@@ -502,7 +728,7 @@ msgid ""
"Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:247
+#: src/frontend/mame/ui/simpleselgame.cpp:241
#, c-format
msgid ""
"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
@@ -516,327 +742,197 @@ msgstr ""
"Ako je ovo Vaš prvi put da koristite %2$s, molimo Vas pogledajte config.txt "
"fajl u docs direktorijumu za informacije o podešavanju %2$s."
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:271
+#: src/frontend/mame/ui/selgame.cpp:436
msgid "Configure Options"
msgstr "Konfiguracija opcija"
-#: src/frontend/mame/ui/simpleselgame.cpp:298
+#: src/frontend/mame/ui/simpleselgame.cpp:292
#, c-format
msgid "Type name or select: %1$s_"
msgstr "Otkucajte ime ili izaberite: %1$s_"
-#: src/frontend/mame/ui/simpleselgame.cpp:300
+#: src/frontend/mame/ui/simpleselgame.cpp:294
msgid "Type name or select: (random)"
msgstr "Otkucajte ime ili izaberite: (nasumiÄan izbor)"
-#: src/frontend/mame/ui/simpleselgame.cpp:314
-#: src/frontend/mame/ui/selsoft.cpp:652 src/frontend/mame/ui/selsoft.cpp:659
+#: src/frontend/mame/ui/simpleselgame.cpp:308
+#: src/frontend/mame/ui/selsoft.cpp:564 src/frontend/mame/ui/selsoft.cpp:571
#, c-format
msgid "%1$-.100s"
msgstr "%1$-.100s"
-#: src/frontend/mame/ui/simpleselgame.cpp:317
-#: src/frontend/mame/ui/selmenu.cpp:618 src/frontend/mame/ui/selmenu.cpp:654
-#, c-format
-msgid "%1$s, %2$-.100s"
-msgstr "%1$s, %2$-.100s"
-
-#: src/frontend/mame/ui/simpleselgame.cpp:320
+#: src/frontend/mame/ui/simpleselgame.cpp:314
#, c-format
msgid "Driver: %1$-.100s"
msgstr "Drajver: %1$-.100s"
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
-msgstr "Uopšteno: NE RADI"
+#: src/frontend/mame/ui/videoopt.cpp:56
+#, c-format
+msgid "Screen #%d"
+msgstr "Ekran #%d"
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
-msgstr "Uopšteno: Zaštita nije emulirana"
+#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
+msgid "Rotate"
+msgstr "Rotiraj"
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
-msgstr "Uopšteno: radi"
+#: src/frontend/mame/ui/videoopt.cpp:208
+msgid "Backdrops"
+msgstr "Kulise (pozadine)"
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
-msgstr "Grafika: nije implementirana, "
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Enabled"
+msgstr "Omogućeno"
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
-msgstr "Grafika: nesavršena, "
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Disabled"
+msgstr "Onemogućeno"
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
-msgstr "Grafika: OK, "
+#: src/frontend/mame/ui/videoopt.cpp:212
+msgid "Overlays"
+msgstr "Prekrivajuće ilustracije"
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
-msgstr ""
+#: src/frontend/mame/ui/videoopt.cpp:216
+msgid "Bezels"
+msgstr "Ivice"
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
-msgstr "Zvuk: nije implementiran"
+#: src/frontend/mame/ui/videoopt.cpp:220
+msgid "CPanels"
+msgstr "Komandni paneli"
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
-msgstr "Zvuk: nesavršen"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "View"
+msgstr "Prikaz"
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
-msgstr "Zvuk: OK"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cropped"
+msgstr "OdseÄeno"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
-msgstr ""
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Full"
+msgstr "Potpuno"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
-msgstr "Izaberite poziciju sa koje želite da uÄitate"
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
+msgstr "Fajl već postoji - prepiši?"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
-msgstr ""
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1047
+msgid "No"
+msgstr "Ne"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
-msgstr "Izaberite poziciju na koju želite da snimite"
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1047
+msgid "Yes"
+msgstr "Da"
-#: src/frontend/mame/ui/ui.cpp:337
-msgid "This driver requires images to be loaded in the following device(s): "
-msgstr "Za ovaj drajver je neophodno da slike budu uÄitane u sledeće ureÄ‘aje:"
+#: src/frontend/mame/ui/filecreate.cpp:171
+msgid "New Image Name:"
+msgstr "Novo ime:"
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
-msgstr "StaÇŒe emulacije tastature"
+#: src/frontend/mame/ui/filecreate.cpp:177
+msgid "Image Format:"
+msgstr "Format zapisa:"
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
-msgstr "Mod: DELIMIÄŒNA emulacija"
+#: src/frontend/mame/ui/filecreate.cpp:183
+msgid "Create"
+msgstr "Kreiraj"
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
-msgstr "KorisniÄki interfejs: omogućen"
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr "Molim unesite i ekstenziju"
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
-msgstr "**Koristite ScrLock da promenite radno staÇŒe**"
+#: src/frontend/mame/ui/filecreate.cpp:266
+msgid "Select image format"
+msgstr "Odaberi format"
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
-msgstr "Mod: POTPUNA emulacija"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Keyboard Mode:"
+msgstr "Mod tastature:"
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
-msgstr "KorisniÄki interfejs: onesposobljen"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Natural"
+msgstr "Prirodni"
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
-msgstr "Automatsko pucanje ne može da se omogući"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Emulated"
+msgstr "Emulirani"
-#: src/frontend/mame/ui/ui.cpp:1302
+#: src/frontend/mame/ui/miscmenu.cpp:236
#, c-format
msgid ""
-"Are you sure you want to quit?\n"
+"Uptime: %1$d:%2$02d:%3$02d\n"
"\n"
-"Press ''%1$s'' to quit,\n"
-"Press ''%2$s'' to return to emulation."
msgstr ""
-"Da li ste sigurni da želite da napustite program?\n"
+"Vreme rada: %1$d:%2$02d:%3$02d\n"
"\n"
-"Pritisnite ''%s'' za napuštanje programa,\n"
-"Pritisnite ''%s'' za nastavak emulacije."
-
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
-msgstr "Glavna jaÄina zvuka"
-
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
-msgstr "%1$s jaÄina zvuka"
-#: src/frontend/mame/ui/ui.cpp:1407
+#: src/frontend/mame/ui/miscmenu.cpp:238
#, c-format
-msgid "Overclock CPU %1$s"
-msgstr "UbrzaÇŒe osnovnog takta CPU %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
+"Vreme rada: %1$d:%2$02d\n"
+"\n"
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
-msgstr "%1$s frekvencija osvežavanja"
-
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
-msgstr "%1$s osvetljenost"
-
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
-msgstr "%1$s kontrast"
-
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
-msgstr "%1$s gama"
-
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
-msgstr "%1$s rastezaÇŒe po horizontali"
-
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
-msgstr "%1$s horizontalna pozicija"
-
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
-msgstr "%1$s rastezaÇŒe po vertikali"
-
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
-msgstr "%1$s vertikalna pozicija"
-
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
-msgstr "Laserdisc '%1$s' rastezaÇŒe po horizontali"
-
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
-msgstr "Laserdisc '%1$s' horizontalna pozicija"
-
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
-msgstr "Laserdisc '%1$s' rastezaÇŒe po vertikali"
-
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr "Laserdisc '%1$s' vertikalna pozicija"
-
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
-msgstr "TrepereÇŒe vektora"
-
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
-msgstr "Minimalna širina snopa"
-
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
-msgstr "Maksimalna širinia snopa"
-
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
-msgstr "Intenzitet snopa"
-
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr "Razmera nišana %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
-msgstr "X"
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
-msgstr "Y"
-
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
-msgstr "Pomeraj nišana %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
-msgstr "%1$3ddB"
-
-#: src/frontend/mame/ui/ui.cpp:1645
+#: src/frontend/mame/ui/miscmenu.cpp:242
#, c-format
-msgid "%1$d%%"
-msgstr "%1$d%%"
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
+msgstr ""
+"Izdate karte: %1$d\n"
+"\n"
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
-msgstr "%1$3.0f%%"
+#: src/frontend/mame/ui/miscmenu.cpp:253
+msgid "Coin %1$c: NA%3$s\n"
+msgstr "Žeton %1$c: NA%3$s\n"
-#: src/frontend/mame/ui/ui.cpp:1685
+#: src/frontend/mame/ui/miscmenu.cpp:253
#, c-format
-msgid "%1$.3ffps"
-msgstr "%1$.3ffps"
+msgid "Coin %1$c: %2$d%3$s\n"
+msgstr "Žeton %1$c: %2$d%3$s\n"
-#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
-#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
-#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
-#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
-#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
-#: src/frontend/mame/ui/ui.cpp:1927
-#, c-format
-msgid "%1$.3f"
-msgstr "%1$.3f"
+#: src/frontend/mame/ui/miscmenu.cpp:256
+msgid " (locked)"
+msgstr " (zakljuÄano)"
-#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
-#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
-#, c-format
-msgid "%1$1.2f"
-msgstr "%1$1.2f"
+#: src/frontend/mame/ui/miscmenu.cpp:503
+msgid "Visible Delay"
+msgstr "Vidljivo kašnjenje"
-#: src/frontend/mame/ui/ui.cpp:2005
+#: src/frontend/mame/ui/miscmenu.cpp:601
#, c-format
-msgid "Crosshair Scale X %1$1.3f"
-msgstr "Razmera nišana X %1$1.3f"
+msgid "%s.xml saved under ui folder."
+msgstr "%s.xml saÄuvan u ui direktorijum."
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
-msgstr "Razmera nišana Y %1$1.3f"
+#: src/frontend/mame/ui/miscmenu.cpp:627
+msgid "Name: Description:\n"
+msgstr "Ime: Opis:\n"
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/miscmenu.cpp:638
#, c-format
-msgid "Crosshair Offset X %1$1.3f"
-msgstr "Pomeraj nišana X %1$1.3f"
+msgid "%s.txt saved under ui folder."
+msgstr "%s.txt saÄuvan u ui direktorijum."
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
-msgstr "Pomeraj nišana Y %1$1.3f"
+#: src/frontend/mame/ui/miscmenu.cpp:655
+msgid "Export list in XML format (like -listxml)"
+msgstr "Eksportuj listu u XML formatu (kao -listxml)"
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
-msgstr "**Greška prilikom snimanja ui.ini**"
+#: src/frontend/mame/ui/miscmenu.cpp:656
+msgid "Export list in XML format (like -listxml, but exclude devices)"
+msgstr "Eksportuj listu u XML formatu (kao -listxml, ali bez uredjaja)"
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
-msgstr "**Greška prlikom zapisivanja %s.ini**"
+#: src/frontend/mame/ui/miscmenu.cpp:657
+msgid "Export list in TXT format (like -listfull)"
+msgstr "Eksportuj listu u TXT formatu (kao -listfull)"
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/miscmenu.cpp:710 src/frontend/mame/ui/ui.cpp:2230
msgid ""
"\n"
" Configuration saved \n"
@@ -846,339 +942,160 @@ msgstr ""
" Konfiguracija saÄuvana \n"
"\n"
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
-msgid ""
-"Cheat Comment:\n"
-"%s"
-msgstr ""
-"Komentar za varaÇŒe:\n"
-"%s"
-
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
-msgstr "Sva varaÇŒa ponovo uÄitana"
-
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
-msgstr "Podešavanja automatskog pucanja"
-
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
-msgstr "Resetuji sve"
-
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
-msgstr "Ponovo uÄitaj sve"
-
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
-msgstr "StaÇŒe automatskog pucaÇŒa"
-
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
-msgstr "Nema tastera na ovoj mašini!"
-
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
-msgstr "Zadrška automatskog pucanja"
-
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
-#, c-format
-msgid ""
-"%s\n"
-" added to favorites list."
-msgstr ""
-"%s\n"
-" dodato u listu omiljenih"
-
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
-#, c-format
-msgid ""
-"%s\n"
-" removed from favorites list."
-msgstr ""
-"%s\n"
-" izbrisano iz liste omiljenih."
-
-#: src/frontend/mame/ui/selsoft.cpp:507
-msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
-"\n"
-msgstr ""
-"Selektovanom programu nedostaje jedan ili više fajlova. Molim selektujte "
-"drugi program.\n"
-"\n"
-
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
-msgstr "Pritisnite bilo koji taster za nastavak."
-
-#: src/frontend/mame/ui/selsoft.cpp:637
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
-msgstr "%1$s %2$s ( %3$d / %4$d programskih paketa )"
-
-#: src/frontend/mame/ui/selsoft.cpp:638
-#, c-format
-msgid "Driver: \"%1$s\" software list "
-msgstr "Drajver: \"%1$s\" lista programa "
-
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
-#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
-msgstr "%1$s: %2$s - Pretraga: %3$s_"
-
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
-#, c-format
-msgid "Search: %1$s_"
-msgstr "Pretraga: %1$s_"
-
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
-msgid "Unfiltered"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
-msgid "Available"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
-msgid "Unavailable"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:63
-msgid "Working"
-msgstr "Radi"
-
-#: src/frontend/mame/ui/utils.cpp:64
-msgid "Not Working"
-msgstr "Ne radi"
-
-#: src/frontend/mame/ui/utils.cpp:65
-msgid "Mechanical"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:66
-msgid "Not Mechanical"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:67
-msgid "Category"
-msgstr "Kategorija"
-
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
-msgid "Favorites"
-msgstr "Lista omiljenih"
-
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/miscmenu.cpp:760 src/frontend/mame/ui/utils.cpp:66
msgid "BIOS"
msgstr "BIOS"
-#: src/frontend/mame/ui/utils.cpp:70
-msgid "Not BIOS"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
-msgid "Parents"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
-msgid "Clones"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:73
-msgid "Manufacturer"
-msgstr "ProizvoÄ‘aÄ"
-
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
-msgid "Year"
-msgstr "Godina"
-
-#: src/frontend/mame/ui/utils.cpp:75
-msgid "Save Supported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:76
-msgid "Save Unsupported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:77
-msgid "CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:78
-msgid "No CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:79
-msgid "Vertical Screen"
-msgstr "Vertikalni ekran"
-
-#: src/frontend/mame/ui/utils.cpp:80
-msgid "Horizontal Screen"
-msgstr "Horizontalni ekran"
-
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
-msgid "Custom Filter"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:91
-msgid "Publisher"
-msgstr "IzdavaÄ"
-
-#: src/frontend/mame/ui/utils.cpp:92
-msgid "Supported"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:764
+msgid "Driver"
+msgstr "Drajver"
-#: src/frontend/mame/ui/utils.cpp:93
-msgid "Partially Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:767
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
-msgid "Unsupported"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:776 src/frontend/mame/ui/mainmenu.cpp:145
+msgid "Add To Favorites"
+msgstr "Dodaj u listu omiljenih"
-#: src/frontend/mame/ui/utils.cpp:95
-msgid "Release Region"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:778 src/frontend/mame/ui/mainmenu.cpp:147
+msgid "Remove From Favorites"
+msgstr "Izbriši iz liste omiljenih"
-#: src/frontend/mame/ui/utils.cpp:96
-msgid "Device Type"
-msgstr "Tip uredjaja"
+#: src/frontend/mame/ui/miscmenu.cpp:781
+msgid "Save machine configuration"
+msgstr "SaÄuvaj konfiguraciju maÅ¡ine"
-#: src/frontend/mame/ui/utils.cpp:97
-msgid "Software List"
-msgstr "Lista programa"
+#: src/frontend/mame/ui/miscmenu.cpp:792
+msgid "Configure machine:"
+msgstr "Konfiguracija mašine:"
-#: src/frontend/mame/ui/utils.cpp:248
-msgid "<set up filters>"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:736
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:551 plugins/cheatfind/init.lua:619
+msgid "On"
+msgstr "UkljuÄeno"
-#: src/frontend/mame/ui/utils.cpp:356
-msgid "Select custom filters:"
-msgstr "Izbor proizvoljnih filtera"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:739
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:554 plugins/cheat/init.lua:563
+#: plugins/cheatfind/init.lua:616
+msgid "Off"
+msgstr "IskljuÄeno"
-#: src/frontend/mame/ui/utils.cpp:507
-#, c-format
-msgid "Filter %1$u"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:909 src/frontend/mame/ui/selgame.cpp:441
+msgid "Plugins"
+msgstr "Dodatci"
-#: src/frontend/mame/ui/utils.cpp:522
-msgid "Remove last filter"
-msgstr "Ukloni posledÇŒi filter"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
+msgstr "Novi barkod:"
-#: src/frontend/mame/ui/utils.cpp:524
-msgid "Add filter"
-msgstr "Dodaj filter"
+#: src/frontend/mame/ui/barcode.cpp:78
+msgid "Enter Code"
+msgstr "Unesite barkod"
-#: src/frontend/mame/ui/utils.cpp:966
-msgid "Select category:"
-msgstr ""
+#: src/frontend/mame/ui/barcode.cpp:119
+msgid "Barcode length invalid!"
+msgstr "Neodgovarajuća dužina barkoda!"
-#: src/frontend/mame/ui/utils.cpp:997
-msgid "[no category INI files]"
-msgstr ""
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:99
+msgid "Pseudo terminals"
+msgstr "Pseudo terminali"
-#: src/frontend/mame/ui/utils.cpp:1005
-msgid "[no groups in INI file]"
-msgstr ""
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
+msgstr "[neuspešno]"
-#: src/frontend/mame/ui/utils.cpp:1039
-msgid "No category INI files found"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:60
+msgid "Input (general)"
+msgstr "Podešavanje kontrola (globalno)"
-#: src/frontend/mame/ui/utils.cpp:1044
-msgid "File"
-msgstr "Fajl"
+#: src/frontend/mame/ui/mainmenu.cpp:62
+msgid "Input (this Machine)"
+msgstr "Podešavanje kontrola (ova mašina)"
-#: src/frontend/mame/ui/utils.cpp:1048
-msgid "No groups found in category file"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Analog Controls"
+msgstr "Analogne kontrole"
-#: src/frontend/mame/ui/utils.cpp:1053
-msgid "Group"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:68
+msgid "Dip Switches"
+msgstr "DIP prekidaÄi"
-#: src/frontend/mame/ui/utils.cpp:1054
-msgid "Include clones"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "Machine Configuration"
+msgstr "Konfiguracija mašine"
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
-msgstr "[kreiraj]"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
+msgstr "Informacije o statistici mašine"
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:78
+msgid "Machine Information"
+msgstr "Informacije o mašini"
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
-msgstr "Odaberi mod pristupa"
+#: src/frontend/mame/ui/mainmenu.cpp:85
+msgid "Image Information"
+msgstr "Informacije o programu"
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
-msgstr "Samo ÄitaÇŒe"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
+msgstr "Upravljanje fajlovima"
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
-msgstr "ÄŒitaÇŒe-pisaÇŒe"
+#: src/frontend/mame/ui/mainmenu.cpp:96
+msgid "Tape Control"
+msgstr "Kontrola trake"
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
-msgstr "Čitaj ovaj fajl, piši u drugi"
+#: src/frontend/mame/ui/mainmenu.cpp:102
+msgid "BIOS Selection"
+msgstr "Izbor BIOS-a"
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
-msgstr "Čitaj ovaj fajl, piši razlike"
+#: src/frontend/mame/ui/mainmenu.cpp:106
+msgid "Slot Devices"
+msgstr "Slot uređaji"
-#: src/frontend/mame/ui/slotopt.cpp:192
-#, c-format
-msgid "%s [internal]"
-msgstr "%s [interno]"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Barcode Reader"
+msgstr "Barkod ÄitaÄ"
-#: src/frontend/mame/ui/slotopt.cpp:203 src/frontend/mame/ui/miscmenu.cpp:97
-#: src/frontend/mame/ui/inputmap.cpp:615
-msgid "Reset"
-msgstr "Resetuj"
+#: src/frontend/mame/ui/mainmenu.cpp:114
+msgid "Network Devices"
+msgstr "Mrežni uređaji"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
-msgstr " BOJE"
+#: src/frontend/mame/ui/mainmenu.cpp:118
+msgid "Keyboard Mode"
+msgstr "Mod tastature"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
-msgstr " OLOVKE"
+#: src/frontend/mame/ui/mainmenu.cpp:121
+msgid "Slider Controls"
+msgstr "Kontrole klizaÄa"
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
-msgstr "Podešavanje kontrola (ova mašina)"
+#: src/frontend/mame/ui/mainmenu.cpp:124 src/frontend/mame/ui/submenu.cpp:101
+msgid "Video Options"
+msgstr "Video opcije"
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
-msgstr "Izlaz"
+#: src/frontend/mame/ui/mainmenu.cpp:128
+msgid "Crosshair Options"
+msgstr "Opcije nišana"
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
-msgstr "Povratak u prethodni meni"
+#: src/frontend/mame/ui/mainmenu.cpp:132 plugins/cheat/init.lua:735
+msgid "Cheat"
+msgstr "VaraÇŒe"
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:762
-#: plugins/cheat/init.lua:569 plugins/cheatfind/init.lua:792
-#: plugins/cheatfind/init.lua:803
-msgid "On"
-msgstr "UkljuÄeno"
+#: src/frontend/mame/ui/mainmenu.cpp:135
+msgid "Plugin Options"
+msgstr "Opcije dodataka"
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:765
-#: plugins/cheat/init.lua:572 plugins/cheat/init.lua:581
-#: plugins/cheatfind/init.lua:789 plugins/cheatfind/init.lua:800
-msgid "Off"
-msgstr "IskljuÄeno"
+#: src/frontend/mame/ui/mainmenu.cpp:139
+msgid "External DAT View"
+msgstr "Prikaz spoljašnjeg DAT"
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
-msgstr "Automatski"
+#: src/frontend/mame/ui/mainmenu.cpp:154
+msgid "Select New Machine"
+msgstr "Izaberi novu mašinu"
#: src/frontend/mame/ui/custui.cpp:31
msgid "Show All"
@@ -1401,459 +1318,6 @@ msgstr "Žuta"
msgid "Violet"
msgstr "LjubiÄasta"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
-msgstr "Mod tastature:"
-
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
-msgstr "Prirodni"
-
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
-msgstr "Emulirani"
-
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
-msgstr ""
-"Vreme rada: %1$d:%2$02d:%3$02d\n"
-"\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
-msgstr ""
-"Vreme rada: %1$d:%2$02d\n"
-"\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
-msgstr ""
-"Izdate karte: %1$d\n"
-"\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
-msgstr "Žeton %1$c: NA%3$s\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
-msgstr "Žeton %1$c: %2$d%3$s\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
-msgstr " (zakljuÄano)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
-msgstr "Vidljivo kašnjenje"
-
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
-msgstr "%s.xml saÄuvan u ui direktorijum."
-
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
-msgstr "Ime: Opis:\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:639
-#, c-format
-msgid "%s.txt saved under ui folder."
-msgstr "%s.txt saÄuvan u ui direktorijum."
-
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
-msgstr "Eksportuj listu u XML formatu (kao -listxml)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
-msgstr "Eksportuj listu u XML formatu (kao -listxml, ali bez uredjaja)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
-msgstr "Eksportuj listu u TXT formatu (kao -listfull)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
-msgstr "Drajver"
-
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
-msgstr ""
-
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
-msgstr "SaÄuvaj konfiguraciju maÅ¡ine"
-
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
-msgstr "Konfiguracija mašine:"
-
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
-msgstr " (uobiÄajeno)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
-msgstr "Dodatci"
-
-#: src/frontend/mame/ui/selgame.cpp:607
-msgid "Configure Machine"
-msgstr "Konfiguracija mašine"
-
-#: src/frontend/mame/ui/selgame.cpp:1036
-#, c-format
-msgid "Romset\t%1$-.100s\n"
-msgstr "ROM skup\t%1$-.100s\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1037
-#, c-format
-msgid "Year\t%1$s\n"
-msgstr "Godina\t%1$s\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1038
-#, c-format
-msgid "Manufacturer\t%1$-.100s\n"
-msgstr "ProizvoÄ‘aÄ\t%1$-.100s\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1042
-#, c-format
-msgid "Driver is Clone of\t%1$-.100s\n"
-msgstr "Drajver je klon od\t%1$-.100s\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1044
-msgid "Driver is Parent\t\n"
-msgstr "Drajver je predak\t\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1047
-msgid "Analog Controls\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1049
-msgid "Keyboard Inputs\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1052
-msgid "Overall\tNOT WORKING\n"
-msgstr "Uopšteno\tNE RADI\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1054
-msgid "Overall\tUnemulated Protection\n"
-msgstr "Uopšteno\tZaštita nije emulirana\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1056
-msgid "Overall\tWorking\n"
-msgstr "Uopšteno\tradi\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1059
-msgid "Graphics\tUnimplemented\n"
-msgstr "Grafika\tnije implementirana\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1061
-msgid "Graphics\tWrong Colors\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1063
-msgid "Graphics\tImperfect Colors\n"
-msgstr "Grafika\tnesavršene boje\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1065
-msgid "Graphics\tImperfect\n"
-msgstr "Grafika\tnesavršena\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1067
-msgid "Graphics\tOK\n"
-msgstr "Grafika\tOK\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1070
-msgid "Sound\tNone\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1072
-msgid "Sound\tUnimplemented\n"
-msgstr "Zvuk\tnije implementiran\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1074
-msgid "Sound\tImperfect\n"
-msgstr "Zvuk\tnesavršen\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1076
-msgid "Sound\tOK\n"
-msgstr "Zvuk\tOK\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1079
-msgid "Capture\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1081
-msgid "Capture\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1084
-msgid "Camera\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1086
-msgid "Camera\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1089
-msgid "Microphone\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1091
-msgid "Microphone\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1094
-msgid "Controls\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1096
-msgid "Controls\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1099
-msgid "Keyboard\tUnimplemented\n"
-msgstr "Tastatura\tnije implementirana\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1101
-msgid "Keyboard\tImperfect\n"
-msgstr "Tastatura\tnesavršena\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1104
-msgid "Mouse\tUnimplemented\n"
-msgstr "Miš\tnije implementiran\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1106
-msgid "Mouse\tImperfect\n"
-msgstr "Miš\tnesavršen\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1109
-msgid "Media\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1111
-msgid "Media\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1114
-msgid "Disk\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1116
-msgid "Disk\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1119
-msgid "Printer\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1121
-msgid "Printer\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1124
-msgid "Mag. Tape\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1126
-msgid "Mag. Tape\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1129
-msgid "Punch Tape\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1131
-msgid "Punch Tape\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1134
-msgid "Mag. Drum\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1136
-msgid "Mag. Drum\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1139
-msgid "(EP)ROM\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1141
-msgid "(EP)ROM\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1144
-msgid "Communications\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1146
-msgid "Communications\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1149
-msgid "LAN\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1151
-msgid "LAN\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1154
-msgid "WAN\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1156
-msgid "WAN\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1159
-msgid "Timing\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1161
-msgid "Timing\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tNo\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tNo\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tNo\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tNo\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tNo\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tNo\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tVertical\n"
-msgstr "Orijentacija ekrana\tVertikalno\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tHorizontal\n"
-msgstr "Orijentacija ekrana\tHorizontalno\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tNo\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1192
-msgid "ROM Audit Result\tOK\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1194
-msgid "ROM Audit Result\tBAD\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1197
-msgid "Samples Audit Result\tNone Needed\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1199
-msgid "Samples Audit Result\tOK\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1201
-msgid "Samples Audit Result\tBAD\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1205
-msgid ""
-"ROM Audit \tDisabled\n"
-"Samples Audit \tDisabled\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1396
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
-msgstr "%1$s %2$s ( %3$d / %4$d mašine (%5$d BIOS) )"
-
-#: src/frontend/mame/ui/selgame.cpp:1424
-#, c-format
-msgid "Romset: %1$-.100s"
-msgstr "ROM skup: %1$-.100s"
-
-#: src/frontend/mame/ui/selgame.cpp:1431
-#, c-format
-msgid "System: %1$-.100s"
-msgstr "Sistem: %1$-.100s"
-
-#: src/frontend/mame/ui/selgame.cpp:1465
-msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
-msgstr ""
-"Selektovanoj mašini nedostaje jedan ili više ROM ili CHD fajlova. Molim "
-"izaberite drugu mašinu.\n"
-"\n"
-
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
-msgstr "Zvuk"
-
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
-msgstr "UÄestalost uzorkovaÇŒa"
-
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
-msgstr "Koristi dodatne semplove"
-
#: src/frontend/mame/ui/submenu.cpp:22
msgid "Miscellaneous Options"
msgstr ""
@@ -2154,567 +1618,1022 @@ msgstr ""
msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:43
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Load State"
+msgstr ""
+
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Select position to load from"
+msgstr "Izaberite poziciju sa koje želite da uÄitate"
+
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Save State"
+msgstr ""
+
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Select position to save to"
+msgstr "Izaberite poziciju na koju želite da snimite"
+
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
+msgstr "%s [interno]"
+
+#: src/frontend/mame/ui/selgame.cpp:309 src/frontend/mame/ui/selsoft.cpp:211
#, c-format
msgid ""
-"[This option is currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"The selected option enables the following items:\n"
+"%s\n"
+" added to favorites list."
msgstr ""
+"%s\n"
+" dodato u listu omiljenih"
-#: src/frontend/mame/ui/devopt.cpp:44
+#: src/frontend/mame/ui/selgame.cpp:314 src/frontend/mame/ui/selgame.cpp:320
+#: src/frontend/mame/ui/selsoft.cpp:216
#, c-format
msgid ""
-"[This option is NOT currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"If you select this option, the following items will be enabled:\n"
+"%s\n"
+" removed from favorites list."
msgstr ""
+"%s\n"
+" izbrisano iz liste omiljenih."
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:437
+msgid "Configure Machine"
+msgstr "Konfiguracija mašine"
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/selgame.cpp:849
#, c-format
-msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+msgid "Romset\t%1$-.100s\n"
+msgstr "ROM skup\t%1$-.100s\n"
+
+#: src/frontend/mame/ui/selgame.cpp:850
+#, c-format
+msgid "Year\t%1$s\n"
+msgstr "Godina\t%1$s\n"
+
+#: src/frontend/mame/ui/selgame.cpp:851
+#, c-format
+msgid "Manufacturer\t%1$-.100s\n"
+msgstr "ProizvoÄ‘aÄ\t%1$-.100s\n"
+
+#: src/frontend/mame/ui/selgame.cpp:855
+#, c-format
+msgid "Driver is Clone of\t%1$-.100s\n"
+msgstr "Drajver je klon od\t%1$-.100s\n"
+
+#: src/frontend/mame/ui/selgame.cpp:857
+msgid "Driver is Parent\t\n"
+msgstr "Drajver je predak\t\n"
+
+#: src/frontend/mame/ui/selgame.cpp:860
+msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
-msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/selgame.cpp:862
+msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %3$d.%4$06d MHz\n"
+#: src/frontend/mame/ui/selgame.cpp:865
+msgid "Overall\tNOT WORKING\n"
+msgstr "Uopšteno\tNE RADI\n"
+
+#: src/frontend/mame/ui/selgame.cpp:867
+msgid "Overall\tUnemulated Protection\n"
+msgstr "Uopšteno\tZaštita nije emulirana\n"
+
+#: src/frontend/mame/ui/selgame.cpp:869
+msgid "Overall\tWorking\n"
+msgstr "Uopšteno\tradi\n"
+
+#: src/frontend/mame/ui/selgame.cpp:872
+msgid "Graphics\tUnimplemented\n"
+msgstr "Grafika\tnije implementirana\n"
+
+#: src/frontend/mame/ui/selgame.cpp:874
+msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/selgame.cpp:876
+msgid "Graphics\tImperfect Colors\n"
+msgstr "Grafika\tnesavršene boje\n"
+
+#: src/frontend/mame/ui/selgame.cpp:878
+msgid "Graphics\tImperfect\n"
+msgstr "Grafika\tnesavršena\n"
+
+#: src/frontend/mame/ui/selgame.cpp:880
+msgid "Graphics\tOK\n"
+msgstr "Grafika\tOK\n"
+
+#: src/frontend/mame/ui/selgame.cpp:883
+msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/selgame.cpp:885
+msgid "Sound\tUnimplemented\n"
+msgstr "Zvuk\tnije implementiran\n"
+
+#: src/frontend/mame/ui/selgame.cpp:887
+msgid "Sound\tImperfect\n"
+msgstr "Zvuk\tnesavršen\n"
+
+#: src/frontend/mame/ui/selgame.cpp:889
+msgid "Sound\tOK\n"
+msgstr "Zvuk\tOK\n"
+
+#: src/frontend/mame/ui/selgame.cpp:892
+msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/selgame.cpp:894
+msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:103
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+#: src/frontend/mame/ui/selgame.cpp:897
+msgid "Keyboard\tUnimplemented\n"
+msgstr "Tastatura\tnije implementirana\n"
+
+#: src/frontend/mame/ui/selgame.cpp:899
+msgid "Keyboard\tImperfect\n"
+msgstr "Tastatura\tnesavršena\n"
+
+#: src/frontend/mame/ui/selgame.cpp:902
+msgid "Mouse\tUnimplemented\n"
+msgstr "Miš\tnije implementiran\n"
+
+#: src/frontend/mame/ui/selgame.cpp:904
+msgid "Mouse\tImperfect\n"
+msgstr "Miš\tnesavršen\n"
+
+#: src/frontend/mame/ui/selgame.cpp:907
+msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+#: src/frontend/mame/ui/selgame.cpp:909
+msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/selgame.cpp:912
+msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
-#, c-format
-msgid " %1$d×%2$s\n"
+#: src/frontend/mame/ui/selgame.cpp:914
+msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/selgame.cpp:917
+msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:168
-#, c-format
-msgid ""
-"* BIOS settings:\n"
-" %1$d options [default: %2$s]\n"
+#: src/frontend/mame/ui/selgame.cpp:919
+msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:208 src/frontend/mame/ui/devopt.cpp:224
-#: src/frontend/mame/ui/devopt.cpp:269
-#, c-format
-msgid " %1$s [default: %2$s]\n"
+#: src/frontend/mame/ui/selgame.cpp:922
+msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
-#, c-format
-msgid " %1$s\n"
+#: src/frontend/mame/ui/selgame.cpp:924
+msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/selgame.cpp:927
+msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/selgame.cpp:929
+msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/selgame.cpp:932
+msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:934
+msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:937
+msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
-#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:939
+msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
-#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
-#, c-format
-msgid " %1$s [tag: %2$s]\n"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tVertical\n"
+msgstr "Orijentacija ekrana\tVertikalno\n"
+
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tHorizontal\n"
+msgstr "Orijentacija ekrana\tHorizontalno\n"
+
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
-msgstr "Nemoguće snimiti preko direktorijuma"
+#: src/frontend/mame/ui/selgame.cpp:970
+msgid "ROM Audit Result\tOK\n"
+msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
-msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
+#: src/frontend/mame/ui/selgame.cpp:972
+msgid "ROM Audit Result\tBAD\n"
msgstr ""
-"Odabranom programu nedostaje jedan ili više ROM ili CHD fajlova. Molim "
-"odaberite drugi."
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
-msgstr "zaštita"
+#: src/frontend/mame/ui/selgame.cpp:975
+msgid "Samples Audit Result\tNone Needed\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
+#: src/frontend/mame/ui/selgame.cpp:977
+msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
-msgstr "grafika"
+#: src/frontend/mame/ui/selgame.cpp:979
+msgid "Samples Audit Result\tBAD\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
+#: src/frontend/mame/ui/selgame.cpp:983
+msgid ""
+"ROM Audit \tDisabled\n"
+"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
-msgstr "zvuk"
+#: src/frontend/mame/ui/selgame.cpp:1167
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
+msgstr "%1$s %2$s ( %3$d / %4$d mašine (%5$d BIOS) )"
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: src/frontend/mame/ui/selgame.cpp:1183 src/frontend/mame/ui/selsoft.cpp:555
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
+msgstr "%1$s: %2$s - Pretraga: %3$s_"
+
+#: src/frontend/mame/ui/selgame.cpp:1185 src/frontend/mame/ui/selsoft.cpp:557
+#, c-format
+msgid "Search: %1$s_"
+msgstr "Pretraga: %1$s_"
+
+#: src/frontend/mame/ui/selgame.cpp:1195
+#, c-format
+msgid "Romset: %1$-.100s"
+msgstr "ROM skup: %1$-.100s"
+
+#: src/frontend/mame/ui/selgame.cpp:1202
+#, c-format
+msgid "System: %1$-.100s"
+msgstr "Sistem: %1$-.100s"
+
+#: src/frontend/mame/ui/selgame.cpp:1239
+msgid ""
+"The selected machine is missing one or more required ROM or CHD images. "
+"Please select a different machine.\n"
+"\n"
msgstr ""
+"Selektovanoj mašini nedostaje jedan ili više ROM ili CHD fajlova. Molim "
+"izaberite drugu mašinu.\n"
+"\n"
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
-msgstr "kamera"
+#: src/frontend/mame/ui/selgame.cpp:1245 src/frontend/mame/ui/selsoft.cpp:462
+msgid "Press any key to continue."
+msgstr "Pritisnite bilo koji taster za nastavak."
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
-msgstr "mikrofon"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
+msgstr "Zvuk"
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
+msgstr "UÄestalost uzorkovaÇŒa"
+
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
+msgstr "Koristi dodatne semplove"
+
+#: src/frontend/mame/ui/utils.cpp:57 src/frontend/mame/ui/utils.cpp:81
+msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
-msgstr "tastatura"
+#: src/frontend/mame/ui/utils.cpp:58 src/frontend/mame/ui/utils.cpp:82
+msgid "Available"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
-msgstr "miš"
+#: src/frontend/mame/ui/utils.cpp:59 src/frontend/mame/ui/utils.cpp:83
+msgid "Unavailable"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/utils.cpp:60
+msgid "Working"
+msgstr "Radi"
+
+#: src/frontend/mame/ui/utils.cpp:61
+msgid "Not Working"
+msgstr "Ne radi"
+
+#: src/frontend/mame/ui/utils.cpp:62
+msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/utils.cpp:63
+msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/utils.cpp:64
+msgid "Category"
+msgstr "Kategorija"
+
+#: src/frontend/mame/ui/utils.cpp:65
+msgid "Favorites"
+msgstr "Lista omiljenih"
+
+#: src/frontend/mame/ui/utils.cpp:67
+msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:84
+msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/utils.cpp:85
+msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/utils.cpp:70
+msgid "Manufacturer"
+msgstr "ProizvoÄ‘aÄ"
+
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:86
+msgid "Year"
+msgstr "Godina"
+
+#: src/frontend/mame/ui/utils.cpp:72
+msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/utils.cpp:73
+msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/utils.cpp:74
+msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/utils.cpp:75
+msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/utils.cpp:76
+msgid "Vertical Screen"
+msgstr "Vertikalni ekran"
+
+#: src/frontend/mame/ui/utils.cpp:77
+msgid "Horizontal Screen"
+msgstr "Horizontalni ekran"
+
+#: src/frontend/mame/ui/utils.cpp:78 src/frontend/mame/ui/utils.cpp:94
+msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
-msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+#: src/frontend/mame/ui/utils.cpp:87
+msgid "Publisher"
+msgstr "IzdavaÄ"
+
+#: src/frontend/mame/ui/utils.cpp:88
+msgid "Supported"
msgstr ""
-"Jedan ili više ROM/CHD fajlova za ovu mašinu su neispravni. Mašina možda "
-"neće ispravno raditi.\n"
-#: src/frontend/mame/ui/info.cpp:198
-msgid ""
-"There are known problems with this machine\n"
-"\n"
+#: src/frontend/mame/ui/utils.cpp:89
+msgid "Partially Supported"
msgstr ""
-"Postoje poznati problemi s ovom mašinom\n"
-"\n"
-#: src/frontend/mame/ui/info.cpp:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/utils.cpp:90
+msgid "Unsupported"
msgstr ""
-"Jedan ili više ROM/CHD fajlova za ovu mašinu nisu ispravno napravljeni.\n"
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/utils.cpp:91
+msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
+#: src/frontend/mame/ui/utils.cpp:92
+msgid "Device Type"
+msgstr "Tip uredjaja"
+
+#: src/frontend/mame/ui/utils.cpp:93
+msgid "Software List"
+msgstr "Lista programa"
+
+#: src/frontend/mame/ui/utils.cpp:244
+msgid "<set up filters>"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#: src/frontend/mame/ui/info.cpp:275
+#: src/frontend/mame/ui/utils.cpp:352
+msgid "Select custom filters:"
+msgstr "Izbor proizvoljnih filtera"
+
+#: src/frontend/mame/ui/utils.cpp:503
#, c-format
-msgid ", %s"
+msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+#: src/frontend/mame/ui/utils.cpp:518
+msgid "Remove last filter"
+msgstr "Ukloni posledÇŒi filter"
+
+#: src/frontend/mame/ui/utils.cpp:520
+msgid "Add filter"
+msgstr "Dodaj filter"
+
+#: src/frontend/mame/ui/utils.cpp:959
+msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
-msgstr "Obrtanje ekrana u \"koktel\" modu nije podržano.\n"
+#: src/frontend/mame/ui/utils.cpp:990
+msgid "[no category INI files]"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
-msgstr "Mašina zahteva dodatne ilustracione fajlove.\n"
+#: src/frontend/mame/ui/utils.cpp:998
+msgid "[no groups in INI file]"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:243
-msgid ""
-"This machine was never completed. It may exhibit strange behavior or missing "
-"elements that are not bugs in the emulation.\n"
+#: src/frontend/mame/ui/utils.cpp:1032
+msgid "No category INI files found"
msgstr ""
-"MaÅ¡sina nije nikad zavrÅ¡ena. Može se javiti Äudno ponaÅ¡aÇŒe ili nedostatak "
-"elemenata sto ne predstavlja problem s emulacijom.\n"
-#: src/frontend/mame/ui/info.cpp:245
-msgid ""
-"This machine has no sound hardware, MAME will produce no sounds, this is "
-"expected behaviour.\n"
+#: src/frontend/mame/ui/utils.cpp:1037
+msgid "File"
+msgstr "Fajl"
+
+#: src/frontend/mame/ui/utils.cpp:1041
+msgid "No groups found in category file"
msgstr ""
-"MaÅ¡ina ne poseduje ureÄ‘aj za zvuk, MAME neće puÅ¡tati zvuk, ovo je oÄekivano "
-"ponašanje.\n"
-#: src/frontend/mame/ui/info.cpp:249
-msgid ""
-"\n"
-"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
-"complete. There is nothing you can do to fix this problem except wait for "
-"the developers to improve the emulation.\n"
+#: src/frontend/mame/ui/utils.cpp:1046
+msgid "Group"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:1047
+msgid "Include clones"
msgstr ""
-"\n"
-"OVA MAŠINA NE RADI. Emulacija ove mašine još nije potpuna. Ne možete ništa "
-"uraditi u vezi s tim, osim da saÄekate programere da unaprede emulaciju.\n"
-#: src/frontend/mame/ui/info.cpp:251
+#: src/frontend/mame/ui/selsoft.cpp:456
msgid ""
+"The selected software is missing one or more required files. Please select a "
+"different software.\n"
"\n"
-"Elements of this machine cannot be emulated as they requires physical "
-"interaction or consist of mechanical devices. It is not possible to fully "
-"experience this machine.\n"
msgstr ""
+"Selektovanom programu nedostaje jedan ili više fajlova. Molim selektujte "
+"drugi program.\n"
+"\n"
+
+#: src/frontend/mame/ui/selsoft.cpp:549
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgstr "%1$s %2$s ( %3$d / %4$d programskih paketa )"
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/selsoft.cpp:550
#, c-format
+msgid "Driver: \"%1$s\" software list "
+msgstr "Drajver: \"%1$s\" lista programa "
+
+#: src/frontend/mame/ui/filesel.cpp:260
+msgid "[create]"
+msgstr "[kreiraj]"
+
+#: src/frontend/mame/ui/filesel.cpp:419
+#, c-format
+msgid "Error accessing %s"
+msgstr ""
+
+#: src/frontend/mame/ui/filesel.cpp:515
+msgid "Select access mode"
+msgstr "Odaberi mod pristupa"
+
+#: src/frontend/mame/ui/filesel.cpp:516
+msgid "Read-only"
+msgstr "Samo ÄitaÇŒe"
+
+#: src/frontend/mame/ui/filesel.cpp:518
+msgid "Read-write"
+msgstr "ÄŒitaÇŒe-pisaÇŒe"
+
+#: src/frontend/mame/ui/filesel.cpp:519
+msgid "Read this image, write to another image"
+msgstr "Čitaj ovaj fajl, piši u drugi"
+
+#: src/frontend/mame/ui/filesel.cpp:520
+msgid "Read this image, write to diff"
+msgstr "Čitaj ovaj fajl, piši razlike"
+
+#: src/frontend/mame/ui/imgcntrl.cpp:117
+msgid "Cannot save over directory"
+msgstr "Nemoguće snimiti preko direktorijuma"
+
+#: src/frontend/mame/ui/imgcntrl.cpp:150
msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+"The software selected is missing one or more required ROM or CHD images. "
+"Please select a different one."
msgstr ""
-"\n"
-"\n"
-"Postoji klonovi ove mašine koji rade: %s"
+"Odabranom programu nedostaje jedan ili više ROM ili CHD fajlova. Molim "
+"odaberite drugi."
-#: src/frontend/mame/ui/info.cpp:286
+#: src/frontend/mame/ui/menu.cpp:294
+msgid "Return to Machine"
+msgstr "Podešavanje kontrola (ova mašina)"
+
+#: src/frontend/mame/ui/menu.cpp:299 src/frontend/mame/ui/menu.cpp:301
+msgid "Exit"
+msgstr "Izlaz"
+
+#: src/frontend/mame/ui/menu.cpp:306 src/frontend/mame/ui/menu.cpp:308
+msgid "Return to Previous Menu"
+msgstr "Povratak u prethodni meni"
+
+#: src/frontend/mame/ui/menu.cpp:742
+msgid "Auto"
+msgstr "Automatski"
+
+#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:653
+#, c-format, lua-format
msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+"Cheat Comment:\n"
+"%s"
msgstr ""
-"\n"
-"\n"
-"Pritsnite bilo koji taster za nastavak"
+"Komentar za varaÇŒe:\n"
+"%s"
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/cheatopt.cpp:105
+msgid "All cheats reloaded"
+msgstr "Sva varaÇŒa ponovo uÄitana"
+
+#: src/frontend/mame/ui/cheatopt.cpp:136
+msgid "Autofire Settings"
+msgstr "Podešavanja automatskog pucanja"
+
+#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:581
+msgid "Reset All"
+msgstr "Resetuji sve"
+
+#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:582
+msgid "Reload All"
+msgstr "Ponovo uÄitaj sve"
+
+#: src/frontend/mame/ui/cheatopt.cpp:273
+msgid "Autofire Status"
+msgstr "StaÇŒe automatskog pucaÇŒa"
+
+#: src/frontend/mame/ui/cheatopt.cpp:316
+msgid "No buttons found on this machine!"
+msgstr "Nema tastera na ovoj mašini!"
+
+#: src/frontend/mame/ui/cheatopt.cpp:327 src/frontend/mame/ui/cheatopt.cpp:331
+msgid "Autofire Delay"
+msgstr "Zadrška automatskog pucanja"
+
+#: src/frontend/mame/ui/ui.cpp:337
+msgid "This driver requires images to be loaded in the following device(s): "
+msgstr "Za ovaj drajver je neophodno da slike budu uÄitane u sledeće ureÄ‘aje:"
+
+#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
+msgid "Keyboard Emulation Status"
+msgstr "StaÇŒe emulacije tastature"
+
+#: src/frontend/mame/ui/ui.cpp:1086
+msgid "Mode: PARTIAL Emulation"
+msgstr "Mod: DELIMIÄŒNA emulacija"
+
+#: src/frontend/mame/ui/ui.cpp:1087
+msgid "UI: Enabled"
+msgstr "KorisniÄki interfejs: omogućen"
+
+#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
+msgid "**Use ScrLock to toggle**"
+msgstr "**Koristite ScrLock da promenite radno staÇŒe**"
+
+#: src/frontend/mame/ui/ui.cpp:1096
+msgid "Mode: FULL Emulation"
+msgstr "Mod: POTPUNA emulacija"
+
+#: src/frontend/mame/ui/ui.cpp:1097
+msgid "UI: Disabled"
+msgstr "KorisniÄki interfejs: onesposobljen"
+
+#: src/frontend/mame/ui/ui.cpp:1249
+msgid "Autofire can't be enabled"
+msgstr "Automatsko pucanje ne može da se omogući"
+
+#: src/frontend/mame/ui/ui.cpp:1302
#, c-format
msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
+"Are you sure you want to quit?\n"
"\n"
-"CPU:\n"
+"Press ''%1$s'' to quit,\n"
+"Press ''%2$s'' to return to emulation."
msgstr ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Drajver: %4$s\n"
+"Da li ste sigurni da želite da napustite program?\n"
"\n"
-"CPU:\n"
+"Pritisnite ''%s'' za napuštanje programa,\n"
+"Pritisnite ''%s'' za nastavak emulacije."
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
-msgstr "MHz"
+#: src/frontend/mame/ui/ui.cpp:1374
+msgid "Master Volume"
+msgstr "Glavna jaÄina zvuka"
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
-msgstr "kHz"
+#: src/frontend/mame/ui/ui.cpp:1383
+#, c-format
+msgid "%1$s Volume"
+msgstr "%1$s jaÄina zvuka"
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/ui.cpp:1407
+#, c-format
+msgid "Overclock CPU %1$s"
+msgstr "UbrzaÇŒe osnovnog takta CPU %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1416
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-"\n"
-"Zvuk:\n"
-#: src/frontend/mame/ui/info.cpp:378
+#: src/frontend/mame/ui/ui.cpp:1437
+#, c-format
+msgid "%1$s Refresh Rate"
+msgstr "%1$s frekvencija osvežavanja"
+
+#: src/frontend/mame/ui/ui.cpp:1442
+#, c-format
+msgid "%1$s Brightness"
+msgstr "%1$s osvetljenost"
+
+#: src/frontend/mame/ui/ui.cpp:1444
+#, c-format
+msgid "%1$s Contrast"
+msgstr "%1$s kontrast"
+
+#: src/frontend/mame/ui/ui.cpp:1446
+#, c-format
+msgid "%1$s Gamma"
+msgstr "%1$s gama"
+
+#: src/frontend/mame/ui/ui.cpp:1450
+#, c-format
+msgid "%1$s Horiz Stretch"
+msgstr "%1$s rastezaÇŒe po horizontali"
+
+#: src/frontend/mame/ui/ui.cpp:1452
+#, c-format
+msgid "%1$s Horiz Position"
+msgstr "%1$s horizontalna pozicija"
+
+#: src/frontend/mame/ui/ui.cpp:1454
+#, c-format
+msgid "%1$s Vert Stretch"
+msgstr "%1$s rastezaÇŒe po vertikali"
+
+#: src/frontend/mame/ui/ui.cpp:1456
+#, c-format
+msgid "%1$s Vert Position"
+msgstr "%1$s vertikalna pozicija"
+
+#: src/frontend/mame/ui/ui.cpp:1475
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
+msgstr "Laserdisc '%1$s' rastezaÇŒe po horizontali"
+
+#: src/frontend/mame/ui/ui.cpp:1477
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
+msgstr "Laserdisc '%1$s' horizontalna pozicija"
+
+#: src/frontend/mame/ui/ui.cpp:1479
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
+msgstr "Laserdisc '%1$s' rastezaÇŒe po vertikali"
+
+#: src/frontend/mame/ui/ui.cpp:1481
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
+msgstr "Laserdisc '%1$s' vertikalna pozicija"
+
+#: src/frontend/mame/ui/ui.cpp:1493
+msgid "Vector Flicker"
+msgstr "TrepereÇŒe vektora"
+
+#: src/frontend/mame/ui/ui.cpp:1494
+msgid "Beam Width Minimum"
+msgstr "Minimalna širina snopa"
+
+#: src/frontend/mame/ui/ui.cpp:1495
+msgid "Beam Width Maximum"
+msgstr "Maksimalna širinia snopa"
+
+#: src/frontend/mame/ui/ui.cpp:1496
+msgid "Beam Intensity Weight"
+msgstr "Intenzitet snopa"
+
+#: src/frontend/mame/ui/ui.cpp:1511
+#, c-format
+msgid "Crosshair Scale %1$s"
+msgstr "Razmera nišana %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "X"
+msgstr "X"
+
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "Y"
+msgstr "Y"
+
+#: src/frontend/mame/ui/ui.cpp:1513
+#, c-format
+msgid "Crosshair Offset %1$s"
+msgstr "Pomeraj nišana %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1601
+#, c-format
+msgid "%1$3ddB"
+msgstr "%1$3ddB"
+
+#: src/frontend/mame/ui/ui.cpp:1645
+#, c-format
+msgid "%1$d%%"
+msgstr "%1$d%%"
+
+#: src/frontend/mame/ui/ui.cpp:1661
+#, c-format
+msgid "%1$3.0f%%"
+msgstr "%1$3.0f%%"
+
+#: src/frontend/mame/ui/ui.cpp:1685
+#, c-format
+msgid "%1$.3ffps"
+msgstr "%1$.3ffps"
+
+#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
+#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
+#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
+#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
+#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
+#: src/frontend/mame/ui/ui.cpp:1927
+#, c-format
+msgid "%1$.3f"
+msgstr "%1$.3f"
+
+#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
+#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
+#, c-format
+msgid "%1$1.2f"
+msgstr "%1$1.2f"
+
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
+msgstr "Razmera nišana X %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
+msgstr "Razmera nišana Y %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
+msgstr "Pomeraj nišana X %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
+msgstr "Pomeraj nišana Y %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
+msgstr "**Greška prilikom snimanja ui.ini**"
+
+#: src/frontend/mame/ui/ui.cpp:2226
+#, c-format
+msgid "**Error saving %s.ini**"
+msgstr "**Greška prlikom zapisivanja %s.ini**"
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " COLORS"
+msgstr " BOJE"
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " PENS"
+msgstr " OLOVKE"
+
+#: src/frontend/mame/ui/devopt.cpp:39
+#, c-format
msgid ""
+"[This option is currently mounted in the running system]\n"
"\n"
-"Video:\n"
-msgstr ""
+"Option: %1$s\n"
+"Device: %2$s\n"
"\n"
-"Video:\n"
-
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
-msgstr "Nijedan\n"
-
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
-msgstr "Vektor"
+"The selected option enables the following items:\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:40
#, c-format
-msgid "%1$s: %2$s\n"
-msgstr "%1$s: %2$s\n"
+msgid ""
+"[This option is NOT currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"If you select this option, the following items will be enabled:\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
-msgstr "%2$s\n"
+#: src/frontend/mame/ui/devopt.cpp:48
+msgid "* CPU:\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
#, c-format
-msgid "Screen '%1$s'"
-msgstr "Ekran '%1$s'"
+msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr "Ekran"
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
+msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
-msgstr "Nije podržano"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %3$d.%4$06d MHz\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
-msgstr "DelimiÄno podržano"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %5$d.%6$03d kHz\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
-msgstr "[prazno]"
+#: src/frontend/mame/ui/devopt.cpp:85
+msgid "* Video:\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
-msgstr "Kontrolni panel"
+#: src/frontend/mame/ui/devopt.cpp:90
+#, c-format
+msgid " Screen '%1$s': Vector\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
-msgstr "Pregled artwork-a"
+#: src/frontend/mame/ui/devopt.cpp:99
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
-msgstr "Završni ekran igre"
+#: src/frontend/mame/ui/devopt.cpp:100
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
-msgstr "Dodavanje ili uklanjanje omiljenih"
+#: src/frontend/mame/ui/devopt.cpp:113
+msgid "* Sound:\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
-msgstr "Eksportuj prikazanu listu u fajl"
+#: src/frontend/mame/ui/devopt.cpp:133
+#, c-format
+msgid " %1$d×%2$s\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
-msgstr "Prikaži DAT"
+#: src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
-msgstr "Izbor dela softvera:"
+#: src/frontend/mame/ui/devopt.cpp:164
+#, c-format
+msgid ""
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
-msgstr "Izbor BIOS-a:"
+#: src/frontend/mame/ui/devopt.cpp:204 src/frontend/mame/ui/devopt.cpp:220
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " %1$s [default: %2$s]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
+#: src/frontend/mame/ui/devopt.cpp:209 src/frontend/mame/ui/devopt.cpp:225
#, c-format
-msgid "Software is clone of: %1$-.100s"
-msgstr "Softver je klon od: %1$-.100s"
+msgid " %1$s\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
-msgstr "Softver je predak"
+#: src/frontend/mame/ui/devopt.cpp:230
+msgid "* DIP switch settings:\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
-msgstr "Podržano: ne"
+#: src/frontend/mame/ui/devopt.cpp:232
+msgid "* Configuration settings:\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
-msgstr "Podržano: delimiÄno"
+#: src/frontend/mame/ui/devopt.cpp:234
+msgid "* Input device(s):\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
-msgstr "Podržano: da"
+#: src/frontend/mame/ui/devopt.cpp:236
+#, c-format
+msgid " User inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
+#: src/frontend/mame/ui/devopt.cpp:238
#, c-format
-msgid "romset: %1$-.100s"
-msgstr "ROM skup: %1$-.100s"
+msgid " Mahjong inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
+#: src/frontend/mame/ui/devopt.cpp:240
#, c-format
-msgid "Driver is clone of: %1$-.100s"
-msgstr "Drajver je klon od: %1$-.100s"
+msgid " Hanafuda inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
-msgstr "Drajver je osnovni"
+#: src/frontend/mame/ui/devopt.cpp:242
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
+#: src/frontend/mame/ui/devopt.cpp:244
#, c-format
-msgid "%1$s %2$s"
-msgstr "%1$s %2$s"
+msgid " Analog inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
-msgstr "Programi"
+#: src/frontend/mame/ui/devopt.cpp:246
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
-msgstr "Informacije"
+#: src/frontend/mame/ui/devopt.cpp:248
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
-msgstr "Upotreba"
+#: src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
-msgstr "Opšte informacije"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* Media Options:\n"
+msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
-msgstr "KorisniÄki interfejs"
+#: src/frontend/mame/ui/devopt.cpp:257
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
+msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
-msgstr "Ostale kontrole"
+#: src/frontend/mame/ui/devopt.cpp:263
+msgid "* Slot Options:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:270
+msgid "[None]\n"
+msgstr ""
#: plugins/timer/init.lua:94
msgid "Current time"
@@ -2732,51 +2651,51 @@ msgstr ""
msgid "Timer"
msgstr ""
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:510
msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheat/init.lua:534
+#: plugins/cheat/init.lua:516
msgid "Press button for hotkey or wait to clear"
msgstr ""
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:528
msgid "None"
msgstr ""
-#: plugins/cheat/init.lua:551
+#: plugins/cheat/init.lua:533
msgid "Done"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:547 plugins/cheat/init.lua:561
msgid "Set"
msgstr ""
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:580
msgid "Set hotkeys"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:720
#, lua-format
msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:723 plugins/cheat/init.lua:781
#, lua-format
msgid "Activated: %s"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:785
#, lua-format
msgid "Enabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:790
#, lua-format
msgid "Disabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "%s added"
msgstr ""
@@ -2825,304 +2744,219 @@ msgstr "Inicijalizacija"
msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:404
+#: plugins/cheatfind/init.lua:373
msgid "Save Cheat"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Default"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Custom"
msgstr ""
-#: plugins/cheatfind/init.lua:408
+#: plugins/cheatfind/init.lua:377
msgid "Cheat Name"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/cheatfind/init.lua:383 plugins/cheatfind/init.lua:748
#, lua-format
msgid "Default name is %s"
msgstr ""
-#: plugins/cheatfind/init.lua:422
+#: plugins/cheatfind/init.lua:391
msgid "Player"
msgstr ""
-#: plugins/cheatfind/init.lua:427
+#: plugins/cheatfind/init.lua:396
msgid "Type"
msgstr ""
-#: plugins/cheatfind/init.lua:433
+#: plugins/cheatfind/init.lua:402
msgid "Save"
msgstr ""
-#: plugins/cheatfind/init.lua:462
+#: plugins/cheatfind/init.lua:429
#, lua-format
msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:472
+#: plugins/cheatfind/init.lua:437
msgid "Cheat added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:442
msgid ""
"Unable to write file\n"
"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/cheatfind/init.lua:486
+#: plugins/cheatfind/init.lua:451
msgid "Cancel"
msgstr ""
-#: plugins/cheatfind/init.lua:491
+#: plugins/cheatfind/init.lua:456
msgid "CPU or RAM"
msgstr ""
-#: plugins/cheatfind/init.lua:495
+#: plugins/cheatfind/init.lua:460
msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:479
+msgid "Data cleared and current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:487
+msgid "Start new search"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:497
+msgid "Current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:504
+msgid "Save current -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
+#: plugins/cheatfind/init.lua:536
#, lua-format
-msgid "Memory State saved to Slot %d"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:543
+msgid "Compare"
msgstr ""
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
+#: plugins/cheatfind/init.lua:546
+msgid "Left operand"
+msgstr ""
+
+#: plugins/cheatfind/init.lua:549
+msgid "Current"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:554
+msgid "Operator"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:561
+msgid "Left less than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:563
+msgid "Left greater than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:676
+#: plugins/cheatfind/init.lua:565
msgid "Left equal to right"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:567
+msgid "Left not equal to right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:680
+#: plugins/cheatfind/init.lua:569
msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:682
+#: plugins/cheatfind/init.lua:571
msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:684
+#: plugins/cheatfind/init.lua:573
msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:686
+#: plugins/cheatfind/init.lua:575
msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:688
+#: plugins/cheatfind/init.lua:577
msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:690
+#: plugins/cheatfind/init.lua:579
msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/cheatfind/init.lua:590
+msgid "Right operand"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/cheatfind/init.lua:598
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:719
+#: plugins/cheatfind/init.lua:602
msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:725
+#: plugins/cheatfind/init.lua:608
msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:738
-msgid ""
-"Use this if you want to poke the Slot 1 value (eg. You started with "
-"something but lost it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:740
-msgid ""
-"Use this if you want to poke the Last Slot value (eg. You started without an "
-"item but finally got it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:816
+#: plugins/cheatfind/init.lua:632
msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:820
+#: plugins/cheatfind/init.lua:636
msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:823
+#: plugins/cheatfind/init.lua:639
msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheatfind/init.lua:690
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Test cheat at addr %08X"
msgstr ""
-#: plugins/cheatfind/init.lua:974
+#: plugins/cheatfind/init.lua:722
msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
+#: plugins/cheatfind/init.lua:788
msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
+#: plugins/cheatfind/init.lua:806
msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
+#: plugins/cheatfind/init.lua:816
msgid "Cheat Finder"
msgstr ""
-#: plugins/portname/init.lua:103
+#: plugins/portname/init.lua:69
msgid "Save input names to file"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
+#: plugins/portname/init.lua:100 plugins/portname/init.lua:105
+#: plugins/portname/init.lua:121
msgid "Failed to save input name file"
msgstr ""
-#: plugins/portname/init.lua:167
+#: plugins/portname/init.lua:133
#, lua-format
msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/portname/init.lua:172
+#: plugins/portname/init.lua:138
msgid "Input ports"
msgstr ""
diff --git a/language/Serbian_Cyrillic/strings.po b/language/Serbian_Cyrillic/strings.po
index 1dfe8f81c25..61a30eb85a0 100644
--- a/language/Serbian_Cyrillic/strings.po
+++ b/language/Serbian_Cyrillic/strings.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MAME\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-03-17 13:37+1100\n"
+"POT-Creation-Date: 2018-04-28 15:32+1000\n"
"PO-Revision-Date: 2016-02-23 12:43+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -19,61 +19,236 @@ msgstr ""
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Poedit 1.8.7\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
+#: src/frontend/mame/ui/auditmenu.cpp:96
#, c-format
-msgid "Screen #%d"
-msgstr "Екран #%d"
+msgid "Audit ROMs for %1$u machines marked unavailable?"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr "Ротирај"
+#: src/frontend/mame/ui/auditmenu.cpp:99
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr "КулиÑе (позадине)"
+#: src/frontend/mame/ui/auditmenu.cpp:104
+#, c-format
+msgid "(results will be saved to %1$s)"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Enabled"
-msgstr "Омогућено"
+#: src/frontend/mame/ui/auditmenu.cpp:130
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Disabled"
-msgstr "Онемогућено"
+#: src/frontend/mame/ui/auditmenu.cpp:142
+msgid "Start Audit"
+msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr "Прекривајуће илуÑтрације"
+#: src/frontend/mame/ui/selmenu.cpp:49 src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Snapshots"
+msgstr "Снимци екрана"
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr "Ивице"
+#: src/frontend/mame/ui/selmenu.cpp:50 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cabinets"
+msgstr "Кабинети"
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
-msgstr "Командни панели"
+#: src/frontend/mame/ui/selmenu.cpp:51
+msgid "Control Panels"
+msgstr "Контролни панел"
+
+#: src/frontend/mame/ui/selmenu.cpp:52 src/frontend/mame/ui/dirmenu.cpp:50
+msgid "PCBs"
+msgstr "PCB (штампане плочице)"
+
+#: src/frontend/mame/ui/selmenu.cpp:53 src/frontend/mame/ui/dirmenu.cpp:47
+msgid "Flyers"
+msgstr "Летци"
+
+#: src/frontend/mame/ui/selmenu.cpp:54 src/frontend/mame/ui/dirmenu.cpp:48
+msgid "Titles"
+msgstr "ÐаÑловни екрани"
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
+#: src/frontend/mame/ui/selmenu.cpp:55 src/frontend/mame/ui/dirmenu.cpp:49
+msgid "Ends"
+msgstr "Екрани завршетка игре"
+
+#: src/frontend/mame/ui/selmenu.cpp:56
+msgid "Artwork Preview"
+msgstr "Преглед artwork-а"
+
+#: src/frontend/mame/ui/selmenu.cpp:57 src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Bosses"
+msgstr "Финални противници"
+
+#: src/frontend/mame/ui/selmenu.cpp:58 src/frontend/mame/ui/dirmenu.cpp:60
+msgid "Logos"
+msgstr "Логои"
+
+#: src/frontend/mame/ui/selmenu.cpp:59 src/frontend/mame/ui/dirmenu.cpp:62
+msgid "Versus"
+msgstr "ВерÑÑƒÑ ÐµÐºÑ€Ð°Ð½Ð¸"
+
+#: src/frontend/mame/ui/selmenu.cpp:60
+msgid "Game Over"
+msgstr "Завршни екран игре"
+
+#: src/frontend/mame/ui/selmenu.cpp:61 src/frontend/mame/ui/dirmenu.cpp:59
+msgid "HowTo"
+msgstr "УпутÑтво"
+
+#: src/frontend/mame/ui/selmenu.cpp:62 src/frontend/mame/ui/dirmenu.cpp:61
+msgid "Scores"
+msgstr "Ðајбољи резултати"
+
+#: src/frontend/mame/ui/selmenu.cpp:63 src/frontend/mame/ui/dirmenu.cpp:57
+msgid "Select"
+msgstr "Изборни екрани"
+
+#: src/frontend/mame/ui/selmenu.cpp:64 src/frontend/mame/ui/dirmenu.cpp:51
+#: src/frontend/mame/ui/videoopt.cpp:224
msgid "Marquees"
msgstr "ПоÑтери изнад кабинета"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
-msgstr "Приказ"
+#: src/frontend/mame/ui/selmenu.cpp:65 src/frontend/mame/ui/dirmenu.cpp:63
+msgid "Covers"
+msgstr "МаÑке"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
-msgstr "ОдÑечено"
+#: src/frontend/mame/ui/selmenu.cpp:69
+msgid "Add or remove favorites"
+msgstr "Додавање или уклањање омиљених"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
-msgstr "Потпуно"
+#: src/frontend/mame/ui/selmenu.cpp:70
+msgid "Export displayed list to file"
+msgstr "ЕкÑпортуј приказану лиÑту у фајл"
+
+#: src/frontend/mame/ui/selmenu.cpp:71
+msgid "Show DATs view"
+msgstr "Прижи DAT"
+
+#: src/frontend/mame/ui/selmenu.cpp:237
+msgid "Software part selection:"
+msgstr "Избор дела Ñофтвера:"
+
+#: src/frontend/mame/ui/selmenu.cpp:343
+msgid "BIOS selection:"
+msgstr "Избор BIOS-а:"
+
+#: src/frontend/mame/ui/selmenu.cpp:570 src/frontend/mame/ui/selmenu.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:311
+#, c-format
+msgid "%1$s, %2$-.100s"
+msgstr "%1$s, %2$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:574
+#, c-format
+msgid "Software is clone of: %1$-.100s"
+msgstr "Софтвер је клон од: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:576
+msgid "Software is parent"
+msgstr "Софтвер је предак"
+
+#: src/frontend/mame/ui/selmenu.cpp:581
+msgid "Supported: No"
+msgstr "Подржано: не"
+
+#: src/frontend/mame/ui/selmenu.cpp:586
+msgid "Supported: Partial"
+msgstr "Подржано: делимично"
+
+#: src/frontend/mame/ui/selmenu.cpp:591
+msgid "Supported: Yes"
+msgstr "Подржано: да"
+
+#: src/frontend/mame/ui/selmenu.cpp:596
+#, c-format
+msgid "romset: %1$-.100s"
+msgstr "РОМ Ñкуп: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:612
+#, c-format
+msgid "Driver is clone of: %1$-.100s"
+msgstr "Драјвер је клон од: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:614
+msgid "Driver is parent"
+msgstr "Драјвер је оÑновни"
+
+#: src/frontend/mame/ui/selmenu.cpp:619
+#: src/frontend/mame/ui/simpleselgame.cpp:330
+msgid "Overall: NOT WORKING"
+msgstr "Уопштено: ÐЕ РÐДИ"
+
+#: src/frontend/mame/ui/selmenu.cpp:621
+#: src/frontend/mame/ui/simpleselgame.cpp:332
+msgid "Overall: Unemulated Protection"
+msgstr "Уопштено: Заштита није емулирана"
+
+#: src/frontend/mame/ui/selmenu.cpp:623
+#: src/frontend/mame/ui/simpleselgame.cpp:334
+msgid "Overall: Working"
+msgstr "Уопштено: ради"
+
+#: src/frontend/mame/ui/selmenu.cpp:627
+#: src/frontend/mame/ui/simpleselgame.cpp:338
+msgid "Graphics: Unimplemented, "
+msgstr "Графика: није имплементирана, "
+
+#: src/frontend/mame/ui/selmenu.cpp:629
+#: src/frontend/mame/ui/simpleselgame.cpp:340
+msgid "Graphics: Imperfect, "
+msgstr "Графика: неÑавршена, "
+
+#: src/frontend/mame/ui/selmenu.cpp:631
+#: src/frontend/mame/ui/simpleselgame.cpp:342
+msgid "Graphics: OK, "
+msgstr "Графика: ОК, "
+
+#: src/frontend/mame/ui/selmenu.cpp:634
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+msgid "Sound: None"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:636
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+msgid "Sound: Unimplemented"
+msgstr "Звук: није имплементиран"
+
+#: src/frontend/mame/ui/selmenu.cpp:638
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+msgid "Sound: Imperfect"
+msgstr "Звук: неÑавршен"
+
+#: src/frontend/mame/ui/selmenu.cpp:640
+#: src/frontend/mame/ui/simpleselgame.cpp:351
+msgid "Sound: OK"
+msgstr "Звук: ОК"
+
+#: src/frontend/mame/ui/selmenu.cpp:650
+#, c-format
+msgid "%1$s %2$s"
+msgstr ""
+
+#: src/frontend/mame/ui/selmenu.cpp:1975
+msgid "Images"
+msgstr "Програми"
+
+#: src/frontend/mame/ui/selmenu.cpp:1976
+msgid "Infos"
+msgstr "Информације"
+
+#: src/frontend/mame/ui/selmenu.cpp:2386 src/frontend/mame/ui/miscmenu.cpp:826
+msgid " (default)"
+msgstr " (уобичајено)"
+
+#: src/frontend/mame/ui/selmenu.cpp:2454
+msgid "Usage"
+msgstr "Употреба"
+
+#: src/frontend/mame/ui/selmenu.cpp:2489
+msgid "General Info"
+msgstr "Опште информације"
#: src/frontend/mame/ui/dirmenu.cpp:35
msgid "ROMs"
@@ -115,30 +290,6 @@ msgstr "Иконе"
msgid "Cheats"
msgstr "Варања"
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
-msgstr "Снимци екрана"
-
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
-msgstr "Кабинети"
-
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
-msgstr "Летци"
-
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
-msgstr "ÐаÑловни екрани"
-
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
-msgstr "Екрани завршетка игре"
-
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
-msgstr "PCB (штампане плочице)"
-
#: src/frontend/mame/ui/dirmenu.cpp:52
msgid "Controls Panels"
msgstr "Управљачки панели"
@@ -151,42 +302,14 @@ msgstr "Ðишани"
msgid "Artworks"
msgstr "ИлуÑтрације"
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
-msgstr "Финални противници"
-
#: src/frontend/mame/ui/dirmenu.cpp:56
msgid "Artworks Preview"
msgstr "Умањени приказ илуÑтрација"
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
-msgstr "Изборни екрани"
-
#: src/frontend/mame/ui/dirmenu.cpp:58
msgid "GameOver"
msgstr "ÐеуÑпешан крај игре"
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
-msgstr "УпутÑтво"
-
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
-msgstr "Логои"
-
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
-msgstr "Ðајбољи резултати"
-
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
-msgstr "ВерÑÑƒÑ ÐµÐºÑ€Ð°Ð½Ð¸"
-
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
-msgstr "МаÑке"
-
#: src/frontend/mame/ui/dirmenu.cpp:116
msgid "Folders Setup"
msgstr "Подешавање директоријума"
@@ -227,14 +350,271 @@ msgstr "ПритиÑните TAB да подеÑите"
msgid "Remove %1$s Folder"
msgstr "Уклони %1$s директоријум"
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
-msgstr "Изборна лиÑта - претрага:"
+#: src/frontend/mame/ui/info.cpp:30
+msgid "protection"
+msgstr "заштита"
+
+#: src/frontend/mame/ui/info.cpp:31
+msgid "color palette"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:32
+msgid "graphics"
+msgstr "графика"
+
+#: src/frontend/mame/ui/info.cpp:33
+msgid "sound"
+msgstr "звук"
+
+#: src/frontend/mame/ui/info.cpp:34
+msgid "controls"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:35
+msgid "keyboard"
+msgstr "таÑтатура"
+
+#: src/frontend/mame/ui/info.cpp:36
+msgid "mouse"
+msgstr "миш"
+
+#: src/frontend/mame/ui/info.cpp:37
+msgid "microphone"
+msgstr "микрофон"
+
+#: src/frontend/mame/ui/info.cpp:38
+msgid "camera"
+msgstr "камера"
+
+#: src/frontend/mame/ui/info.cpp:39
+msgid "disk"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:40
+msgid "printer"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:41
+msgid "LAN"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:42
+msgid "WAN"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:43
+msgid "timing"
+msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
+#: src/frontend/mame/ui/info.cpp:180
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
+msgstr ""
+"Један или више ROM/CHD фаЈлова за ову машину Ñу неиÑправни. Машина можда "
+"неће иÑправно радити.\n"
+
+#: src/frontend/mame/ui/info.cpp:190
+msgid ""
+"There are known problems with this machine\n"
+"\n"
+msgstr ""
+"ПоÑтоје познати проблеми Ñ Ð¾Ð²Ð¾Ð¼ машином\n"
+"\n"
+
+#: src/frontend/mame/ui/info.cpp:195
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+msgstr ""
+"Један или више ROM/CHD фајлова за ову машину ниÑу иÑправно направљени.\n"
+
+#: src/frontend/mame/ui/info.cpp:200
+msgid "Completely unemulated features: "
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
#, c-format
-msgid "Double click or press %1$s to select"
-msgstr "Дупли клик или притиÑните %1$s за Ñелектовање"
+msgid "%s"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#: src/frontend/mame/ui/info.cpp:267
+#, c-format
+msgid ", %s"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:216
+msgid "Imperfectly emulated features: "
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:231
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr "Обртање екрана у \"коктел\" моду није подржано.\n"
+
+#: src/frontend/mame/ui/info.cpp:233
+msgid "This machine requires external artwork files.\n"
+msgstr "Машина захтева додатне илуÑтрационе фајлове.\n"
+
+#: src/frontend/mame/ui/info.cpp:235
+msgid ""
+"This machine was never completed. It may exhibit strange behavior or missing "
+"elements that are not bugs in the emulation.\n"
+msgstr ""
+"МашÑина није никад завршена. Може Ñе јавити чудно понашање или недоÑтатак "
+"елемената Ñто не предÑтавља проблем Ñ ÐµÐ¼ÑƒÐ»Ð°Ñ†Ð¸Ñ˜Ð¾Ð¼.\n"
+
+#: src/frontend/mame/ui/info.cpp:237
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
+msgstr ""
+"Машина не поÑедује уређај за звук, МÐМЕ неће пуштати звук, ово је очекивано "
+"понашање.\n"
+
+#: src/frontend/mame/ui/info.cpp:241
+msgid ""
+"\n"
+"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
+"complete. There is nothing you can do to fix this problem except wait for "
+"the developers to improve the emulation.\n"
+msgstr ""
+"\n"
+"ОВРМÐШИÐÐ ÐЕ РÐДИ. Емулација ове машине још није потпуна. Ðе можете ништа "
+"урадити у вези Ñ Ñ‚Ð¸Ð¼, оÑим да Ñачекате програмере да унапреде емулацију.\n"
+
+#: src/frontend/mame/ui/info.cpp:243
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they requires physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
+msgstr ""
+
+#: src/frontend/mame/ui/info.cpp:265
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
+msgstr ""
+"\n"
+"\n"
+"ПоÑтоји клонови ове машине који раде: %s"
+
+#: src/frontend/mame/ui/info.cpp:278
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+"\n"
+"\n"
+"ПритиÑните било који таÑтер за наÑтавак"
+
+#: src/frontend/mame/ui/info.cpp:293
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
+msgstr ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Драjвeр: %4$s\n"
+"\n"
+"CPU:\n"
+
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "MHz"
+msgstr "MHz"
+
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "kHz"
+msgstr "kHz"
+
+#: src/frontend/mame/ui/info.cpp:342
+msgid ""
+"\n"
+"Sound:\n"
+msgstr ""
+"\n"
+"Звук:\n"
+
+#: src/frontend/mame/ui/info.cpp:370
+msgid ""
+"\n"
+"Video:\n"
+msgstr ""
+"\n"
+"Видео:\n"
+
+#: src/frontend/mame/ui/info.cpp:374
+msgid "None\n"
+msgstr "Ðиједан\n"
+
+#: src/frontend/mame/ui/info.cpp:381
+msgid "Vector"
+msgstr "Вектор"
+
+#: src/frontend/mame/ui/info.cpp:392
+#, c-format
+msgid "%1$s: %2$s\n"
+msgstr "%1$s: %2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:392
+msgid "%2$s\n"
+msgstr "%2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:438
+#, c-format
+msgid "Screen '%1$s'"
+msgstr "Екран '%1$s'"
+
+#: src/frontend/mame/ui/info.cpp:440
+msgid "Screen"
+msgstr "Екран"
+
+#: src/frontend/mame/ui/info.cpp:525
+msgid "Not supported"
+msgstr "Ðије подржано"
+
+#: src/frontend/mame/ui/info.cpp:528
+msgid "Partially supported"
+msgstr "Делимично подржано"
+
+#: src/frontend/mame/ui/info.cpp:536
+msgid "[empty]"
+msgstr "[празно]"
+
+#: src/frontend/mame/ui/optsmenu.cpp:193
+msgid "Filter"
+msgstr "Филтер"
+
+#: src/frontend/mame/ui/optsmenu.cpp:206
+msgid "Customize UI"
+msgstr "Прилагоди кориÑнички интерфејÑ"
+
+#: src/frontend/mame/ui/optsmenu.cpp:207
+msgid "Configure Directories"
+msgstr "Конфигурација директоријума"
+
+#: src/frontend/mame/ui/optsmenu.cpp:210 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
+msgstr "Опције за звук"
+
+#: src/frontend/mame/ui/optsmenu.cpp:213
+msgid "General Inputs"
+msgstr "Глобалне контроле"
+
+#: src/frontend/mame/ui/optsmenu.cpp:216
+msgid "Save Configuration"
+msgstr "Сачувај конфигурацију"
+
+#: src/frontend/mame/ui/optsmenu.cpp:228
+msgid "Settings"
+msgstr "Подешавања"
#: src/frontend/mame/ui/tapectrl.cpp:85
msgid "stopped"
@@ -276,8 +656,30 @@ msgstr "Премотај"
msgid "Fast Forward"
msgstr "Премотај у напред"
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
-#: src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/inputmap.cpp:53
+msgid "User Interface"
+msgstr "КориÑнички интерфејÑ"
+
+#: src/frontend/mame/ui/inputmap.cpp:59
+msgid "Other Controls"
+msgstr "ОÑтале контроле"
+
+#: src/frontend/mame/ui/inputmap.cpp:628 src/frontend/mame/ui/miscmenu.cpp:96
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr "РеÑетуј"
+
+#: src/frontend/mame/ui/selector.cpp:116
+msgid "Selection List - Search: "
+msgstr "Изборна лиÑта - претрага:"
+
+#: src/frontend/mame/ui/selector.cpp:124
+#, c-format
+msgid "Double click or press %1$s to select"
+msgstr "Дупли клик или притиÑните %1$s за Ñелектовање"
+
+#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/filesel.cpp:256
msgid "[empty slot]"
msgstr "[празан Ñлот]"
@@ -318,182 +720,6 @@ msgstr "Употреба Ñофтвера"
msgid "Revision: "
msgstr "Ревизија"
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
-msgstr "Фајл већ поÑтоји - препиши?"
-
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
-msgstr "Ðе"
-
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
-msgstr "Да"
-
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
-msgstr "Ðово име:"
-
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
-msgstr "Формат запиÑа:"
-
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
-msgstr "Креирај"
-
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
-msgstr "Молим унеÑите и екÑтензију"
-
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
-msgstr "Одабери формат"
-
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
-msgstr "Подешавање контрола (глобално)"
-
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
-msgstr "Подешавање контрола (ова машина)"
-
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
-msgstr "Ðналогне контроле"
-
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
-msgstr "DIP прекидачи"
-
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
-msgstr "Конфигурација машине"
-
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
-msgstr "Информације о књиговодÑтву машине"
-
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
-msgstr "Информације о машини"
-
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
-msgstr "Информације о Ñлици"
-
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
-msgstr "Управљање фајловима"
-
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
-msgstr "Контрола траке"
-
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
-msgstr "ПÑеудо терминали"
-
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
-msgstr "Избор BIOS-а"
-
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
-msgstr "Слот уређаји"
-
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
-msgstr "Баркод читач"
-
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
-msgstr "Мрежни уређаји"
-
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
-msgstr "Мод таÑтатуре"
-
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
-msgstr "Контроле клизача"
-
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
-msgstr "Видео опције"
-
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
-msgstr "Опције нишана"
-
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
-msgstr "Варање"
-
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
-msgstr "Опције додатака"
-
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
-msgstr "Приказ Ñпољашњег DAT"
-
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
-msgstr "Додај у лиÑту омиљених"
-
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
-msgstr "Избриши из лиÑте омиљених"
-
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
-msgstr "Изабери нову машину"
-
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
-msgstr "Ðови баркод:"
-
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
-msgstr "УнеÑите баркод"
-
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
-msgstr "Ðеодговарајућа дужина баркода!"
-
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
-msgstr "[неуÑпечно]"
-
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
-msgstr "Опције за звук"
-
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
-msgstr "Глобалне контроле"
-
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
-msgstr "Сачувај конфигурацију"
-
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
-msgstr "Подешавања"
-
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
-msgstr "Филтер"
-
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
-msgstr "Прилагоди кориÑнички интерфејÑ"
-
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
-msgstr "Конфигурација директоријума"
-
#: src/frontend/mame/ui/simpleselgame.cpp:149
msgid ""
"The selected game is missing one or more required ROM or CHD images. Please "
@@ -502,7 +728,7 @@ msgid ""
"Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:247
+#: src/frontend/mame/ui/simpleselgame.cpp:241
#, c-format
msgid ""
"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
@@ -516,327 +742,197 @@ msgstr ""
"Ðко је ово Ваш први пут да кориÑтите %2$s, молимо Ð’Ð°Ñ Ð¿Ð¾Ð³Ð»ÐµÐ´Ð°Ñ˜Ñ‚Ðµ config.txt "
"фајл у docs директоријуму за информације о подешавању %2$s."
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:271
+#: src/frontend/mame/ui/selgame.cpp:436
msgid "Configure Options"
msgstr "Конфигурација опција"
-#: src/frontend/mame/ui/simpleselgame.cpp:298
+#: src/frontend/mame/ui/simpleselgame.cpp:292
#, c-format
msgid "Type name or select: %1$s_"
msgstr "Откуцајте име или изаберите: %1$s_"
-#: src/frontend/mame/ui/simpleselgame.cpp:300
+#: src/frontend/mame/ui/simpleselgame.cpp:294
msgid "Type name or select: (random)"
msgstr "Откуцајте име или изаберите: (наÑумичан избор)"
-#: src/frontend/mame/ui/simpleselgame.cpp:314
-#: src/frontend/mame/ui/selsoft.cpp:652 src/frontend/mame/ui/selsoft.cpp:659
+#: src/frontend/mame/ui/simpleselgame.cpp:308
+#: src/frontend/mame/ui/selsoft.cpp:564 src/frontend/mame/ui/selsoft.cpp:571
#, c-format
msgid "%1$-.100s"
msgstr "%1$-.100s"
-#: src/frontend/mame/ui/simpleselgame.cpp:317
-#: src/frontend/mame/ui/selmenu.cpp:618 src/frontend/mame/ui/selmenu.cpp:654
-#, c-format
-msgid "%1$s, %2$-.100s"
-msgstr "%1$s, %2$-.100s"
-
-#: src/frontend/mame/ui/simpleselgame.cpp:320
+#: src/frontend/mame/ui/simpleselgame.cpp:314
#, c-format
msgid "Driver: %1$-.100s"
msgstr "Драјвер: %1$-.100s"
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
-msgstr "Уопштено: ÐЕ РÐДИ"
+#: src/frontend/mame/ui/videoopt.cpp:56
+#, c-format
+msgid "Screen #%d"
+msgstr "Екран #%d"
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
-msgstr "Уопштено: Заштита није емулирана"
+#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
+msgid "Rotate"
+msgstr "Ротирај"
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
-msgstr "Уопштено: ради"
+#: src/frontend/mame/ui/videoopt.cpp:208
+msgid "Backdrops"
+msgstr "КулиÑе (позадине)"
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
-msgstr "Графика: није имплементирана, "
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Enabled"
+msgstr "Омогућено"
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
-msgstr "Графика: неÑавршена, "
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Disabled"
+msgstr "Онемогућено"
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
-msgstr "Графика: ОК, "
+#: src/frontend/mame/ui/videoopt.cpp:212
+msgid "Overlays"
+msgstr "Прекривајуће илуÑтрације"
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
-msgstr ""
+#: src/frontend/mame/ui/videoopt.cpp:216
+msgid "Bezels"
+msgstr "Ивице"
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
-msgstr "Звук: није имплементиран"
+#: src/frontend/mame/ui/videoopt.cpp:220
+msgid "CPanels"
+msgstr "Командни панели"
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
-msgstr "Звук: неÑавршен"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "View"
+msgstr "Приказ"
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
-msgstr "Звук: ОК"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cropped"
+msgstr "ОдÑечено"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
-msgstr ""
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Full"
+msgstr "Потпуно"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
-msgstr "Изаберите позицију Ñа које желите да учитате"
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
+msgstr "Фајл већ поÑтоји - препиши?"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
-msgstr ""
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1047
+msgid "No"
+msgstr "Ðе"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
-msgstr "Изаберите позицију на коју желите да Ñнимите"
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1047
+msgid "Yes"
+msgstr "Да"
-#: src/frontend/mame/ui/ui.cpp:337
-msgid "This driver requires images to be loaded in the following device(s): "
-msgstr "За овај драјвер је неопходно да Ñлике буду учитане у Ñледеће уређаје:"
+#: src/frontend/mame/ui/filecreate.cpp:171
+msgid "New Image Name:"
+msgstr "Ðово име:"
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
-msgstr "Стање емулације таÑтатуре"
+#: src/frontend/mame/ui/filecreate.cpp:177
+msgid "Image Format:"
+msgstr "Формат запиÑа:"
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
-msgstr "Мод: ДЕЛИМИЧÐРемулација"
+#: src/frontend/mame/ui/filecreate.cpp:183
+msgid "Create"
+msgstr "Креирај"
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
-msgstr "КориÑнички интерфејÑ: омогућен"
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr "Молим унеÑите и екÑтензију"
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
-msgstr "**КориÑтите ScrLock да промените радно Ñтање**"
+#: src/frontend/mame/ui/filecreate.cpp:266
+msgid "Select image format"
+msgstr "Одабери формат"
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
-msgstr "Мод: ПОТПУÐРемулација"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Keyboard Mode:"
+msgstr "Мод таÑтатуре:"
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
-msgstr "КориÑнички интерфејÑ: онеÑпоÑобљен"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Natural"
+msgstr "Природни"
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
-msgstr "ÐутоматÑко пуцање не може да Ñе омогући"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Emulated"
+msgstr "Емулирани"
-#: src/frontend/mame/ui/ui.cpp:1302
+#: src/frontend/mame/ui/miscmenu.cpp:236
#, c-format
msgid ""
-"Are you sure you want to quit?\n"
+"Uptime: %1$d:%2$02d:%3$02d\n"
"\n"
-"Press ''%1$s'' to quit,\n"
-"Press ''%2$s'' to return to emulation."
msgstr ""
-"Да ли Ñте Ñигурни да желите да напуÑтите програм?\n"
+"Време рада: %1$d:%2$02d:%3$02d\n"
"\n"
-"ПритиÑните ''%s'' за напуштање програма,\n"
-"ПритиÑните ''%s'' за наÑтавак емулације."
-
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
-msgstr "Главна јачина звука"
-
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
-msgstr "%1$s јачина звука"
-#: src/frontend/mame/ui/ui.cpp:1407
+#: src/frontend/mame/ui/miscmenu.cpp:238
#, c-format
-msgid "Overclock CPU %1$s"
-msgstr "Убрзање оÑновног такта CPU %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
+"Време рада: %1$d:%2$02d\n"
+"\n"
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
-msgstr "%1$s фреквенција оÑвежавања"
-
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
-msgstr "%1$s оÑветљеноÑÑ‚"
-
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
-msgstr "%1$s контраÑÑ‚"
-
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
-msgstr "%1$s гама"
-
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
-msgstr "%1$s раÑтезање по хоризонтали"
-
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
-msgstr "%1$s хоризонтална позиција"
-
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
-msgstr "%1$s раÑтезање по вертикали"
-
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
-msgstr "%1$s вертикална позиција"
-
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
-msgstr "Laserdisc '%1$s' раÑтезање по хоризонтали"
-
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
-msgstr "Laserdisc '%1$s' хоризонтална позиција"
-
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
-msgstr "Laserdisc '%1$s' раÑтезање по вертикали"
-
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr "Laserdisc '%1$s' вертикална позиција"
-
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
-msgstr "Треперење вектора"
-
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
-msgstr "Минимална ширина Ñнопа"
-
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
-msgstr "МакÑимална шириниа Ñнопа"
-
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
-msgstr "Интензитет Ñнопа"
-
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr "Размера нишана %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
-msgstr "X"
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
-msgstr "Y"
-
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
-msgstr "Померај нишана %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
-msgstr "%1$3ddB"
-
-#: src/frontend/mame/ui/ui.cpp:1645
+#: src/frontend/mame/ui/miscmenu.cpp:242
#, c-format
-msgid "%1$d%%"
-msgstr "%1$d%%"
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
+msgstr ""
+"Издате карте: %1$d\n"
+"\n"
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
-msgstr "%1$3.0f%%"
+#: src/frontend/mame/ui/miscmenu.cpp:253
+msgid "Coin %1$c: NA%3$s\n"
+msgstr "Жетон %1$c: NA%3$s\n"
-#: src/frontend/mame/ui/ui.cpp:1685
+#: src/frontend/mame/ui/miscmenu.cpp:253
#, c-format
-msgid "%1$.3ffps"
-msgstr "%1$.3ffps"
+msgid "Coin %1$c: %2$d%3$s\n"
+msgstr "Жетон %1$c: %2$d%3$s\n"
-#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
-#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
-#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
-#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
-#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
-#: src/frontend/mame/ui/ui.cpp:1927
-#, c-format
-msgid "%1$.3f"
-msgstr "%1$.3f"
+#: src/frontend/mame/ui/miscmenu.cpp:256
+msgid " (locked)"
+msgstr " (закључано)"
-#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
-#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
-#, c-format
-msgid "%1$1.2f"
-msgstr "%1$1.2f"
+#: src/frontend/mame/ui/miscmenu.cpp:503
+msgid "Visible Delay"
+msgstr "Видљиво кашњење"
-#: src/frontend/mame/ui/ui.cpp:2005
+#: src/frontend/mame/ui/miscmenu.cpp:601
#, c-format
-msgid "Crosshair Scale X %1$1.3f"
-msgstr "Размера нишана X %1$1.3f"
+msgid "%s.xml saved under ui folder."
+msgstr "%s.xml Ñачуван у ui директоријум."
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
-msgstr "Размера нишана Y %1$1.3f"
+#: src/frontend/mame/ui/miscmenu.cpp:627
+msgid "Name: Description:\n"
+msgstr "Име: ОпиÑ:\n"
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/miscmenu.cpp:638
#, c-format
-msgid "Crosshair Offset X %1$1.3f"
-msgstr "Померај нишана X %1$1.3f"
+msgid "%s.txt saved under ui folder."
+msgstr "%s.txt Ñачуван у ui директоријум."
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
-msgstr "Померај нишана Y %1$1.3f"
+#: src/frontend/mame/ui/miscmenu.cpp:655
+msgid "Export list in XML format (like -listxml)"
+msgstr "ЕкÑпортуј лиÑту у XML формату (као -listxml)"
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
-msgstr "**Грешка приликом Ñнимања ui.ini**"
+#: src/frontend/mame/ui/miscmenu.cpp:656
+msgid "Export list in XML format (like -listxml, but exclude devices)"
+msgstr "ЕкÑпортуј лиÑту у XML формату (као -listxml, али без уређаја)"
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
-msgstr "**Грешка прликом запиÑивања %s.ini**"
+#: src/frontend/mame/ui/miscmenu.cpp:657
+msgid "Export list in TXT format (like -listfull)"
+msgstr "ЕкÑпортуј лиÑту у TXT формату (као -listfull)"
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/miscmenu.cpp:710 src/frontend/mame/ui/ui.cpp:2230
msgid ""
"\n"
" Configuration saved \n"
@@ -846,339 +942,160 @@ msgstr ""
" Конфигурација Ñачувана \n"
"\n"
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
-msgid ""
-"Cheat Comment:\n"
-"%s"
-msgstr ""
-"Коментар за варање:\n"
-"%s"
-
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
-msgstr "Сва варања поново учитана"
-
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
-msgstr "Подешавања аутоматÑког пуцања"
-
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
-msgstr "РеÑетуји Ñве"
-
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
-msgstr "Поново учитај Ñве"
-
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
-msgstr "Стање аутоматÑког пуцања"
-
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
-msgstr "Ðема таÑтера на овој машини!"
-
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
-msgstr "Задршка аутоматÑког пуцања"
-
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
-#, c-format
-msgid ""
-"%s\n"
-" added to favorites list."
-msgstr ""
-"%s\n"
-" додато у лиÑту омиљених."
-
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
-#, c-format
-msgid ""
-"%s\n"
-" removed from favorites list."
-msgstr ""
-"%s\n"
-" избриÑано из лиÑте омиљених."
-
-#: src/frontend/mame/ui/selsoft.cpp:507
-msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
-"\n"
-msgstr ""
-"Селектованом програму недоÑтаје један или више фајлова. Молим изаберите "
-"други програм.\n"
-"\n"
-
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
-msgstr "ПритиÑните било који таÑтер за наÑтавак."
-
-#: src/frontend/mame/ui/selsoft.cpp:637
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
-msgstr "%1$s %2$s ( %3$d / %4$d програмÑких пакета )"
-
-#: src/frontend/mame/ui/selsoft.cpp:638
-#, c-format
-msgid "Driver: \"%1$s\" software list "
-msgstr "ДраjвeÑ€: \"%1$s\" лиÑта програма "
-
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
-#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
-msgstr "%1$s: %2$s - Претрага: %3$s_"
-
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
-#, c-format
-msgid "Search: %1$s_"
-msgstr "Претрага: %1$s_"
-
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
-msgid "Unfiltered"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
-msgid "Available"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
-msgid "Unavailable"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:63
-msgid "Working"
-msgstr "Ради"
-
-#: src/frontend/mame/ui/utils.cpp:64
-msgid "Not Working"
-msgstr "Ðе ради"
-
-#: src/frontend/mame/ui/utils.cpp:65
-msgid "Mechanical"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:66
-msgid "Not Mechanical"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:67
-msgid "Category"
-msgstr "Категорија"
-
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
-msgid "Favorites"
-msgstr "ЛиÑта омиљених"
-
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/miscmenu.cpp:760 src/frontend/mame/ui/utils.cpp:66
msgid "BIOS"
msgstr "BIOS"
-#: src/frontend/mame/ui/utils.cpp:70
-msgid "Not BIOS"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
-msgid "Parents"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
-msgid "Clones"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:73
-msgid "Manufacturer"
-msgstr "Произвођач"
-
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
-msgid "Year"
-msgstr "Година"
-
-#: src/frontend/mame/ui/utils.cpp:75
-msgid "Save Supported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:76
-msgid "Save Unsupported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:77
-msgid "CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:78
-msgid "No CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:79
-msgid "Vertical Screen"
-msgstr "Вертикални екран"
-
-#: src/frontend/mame/ui/utils.cpp:80
-msgid "Horizontal Screen"
-msgstr "Хоризонтални екран"
-
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
-msgid "Custom Filter"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:91
-msgid "Publisher"
-msgstr "Издавач"
-
-#: src/frontend/mame/ui/utils.cpp:92
-msgid "Supported"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:764
+msgid "Driver"
+msgstr "Драјвер"
-#: src/frontend/mame/ui/utils.cpp:93
-msgid "Partially Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:767
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
-msgid "Unsupported"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:776 src/frontend/mame/ui/mainmenu.cpp:145
+msgid "Add To Favorites"
+msgstr "Додај у лиÑту омиљених"
-#: src/frontend/mame/ui/utils.cpp:95
-msgid "Release Region"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:778 src/frontend/mame/ui/mainmenu.cpp:147
+msgid "Remove From Favorites"
+msgstr "Избриши из лиÑте омиљених"
-#: src/frontend/mame/ui/utils.cpp:96
-msgid "Device Type"
-msgstr "Тип уређаја"
+#: src/frontend/mame/ui/miscmenu.cpp:781
+msgid "Save machine configuration"
+msgstr "Сачувај конфигурацију машине"
-#: src/frontend/mame/ui/utils.cpp:97
-msgid "Software List"
-msgstr "ЛиÑта програма"
+#: src/frontend/mame/ui/miscmenu.cpp:792
+msgid "Configure machine:"
+msgstr "Конфигурација машине:"
-#: src/frontend/mame/ui/utils.cpp:248
-msgid "<set up filters>"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:736
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:551 plugins/cheatfind/init.lua:619
+msgid "On"
+msgstr "Укључено"
-#: src/frontend/mame/ui/utils.cpp:356
-msgid "Select custom filters:"
-msgstr "Избор произвољних филтера"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:739
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:554 plugins/cheat/init.lua:563
+#: plugins/cheatfind/init.lua:616
+msgid "Off"
+msgstr "ИÑкључено"
-#: src/frontend/mame/ui/utils.cpp:507
-#, c-format
-msgid "Filter %1$u"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:909 src/frontend/mame/ui/selgame.cpp:441
+msgid "Plugins"
+msgstr "Додатци"
-#: src/frontend/mame/ui/utils.cpp:522
-msgid "Remove last filter"
-msgstr "Уклони поÑледњи филтер"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
+msgstr "Ðови баркод:"
-#: src/frontend/mame/ui/utils.cpp:524
-msgid "Add filter"
-msgstr "Додај филтер"
+#: src/frontend/mame/ui/barcode.cpp:78
+msgid "Enter Code"
+msgstr "УнеÑите баркод"
-#: src/frontend/mame/ui/utils.cpp:966
-msgid "Select category:"
-msgstr ""
+#: src/frontend/mame/ui/barcode.cpp:119
+msgid "Barcode length invalid!"
+msgstr "Ðеодговарајућа дужина баркода!"
-#: src/frontend/mame/ui/utils.cpp:997
-msgid "[no category INI files]"
-msgstr ""
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:99
+msgid "Pseudo terminals"
+msgstr "ПÑеудо терминали"
-#: src/frontend/mame/ui/utils.cpp:1005
-msgid "[no groups in INI file]"
-msgstr ""
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
+msgstr "[неуÑпечно]"
-#: src/frontend/mame/ui/utils.cpp:1039
-msgid "No category INI files found"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:60
+msgid "Input (general)"
+msgstr "Подешавање контрола (глобално)"
-#: src/frontend/mame/ui/utils.cpp:1044
-msgid "File"
-msgstr "Фајл"
+#: src/frontend/mame/ui/mainmenu.cpp:62
+msgid "Input (this Machine)"
+msgstr "Подешавање контрола (ова машина)"
-#: src/frontend/mame/ui/utils.cpp:1048
-msgid "No groups found in category file"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Analog Controls"
+msgstr "Ðналогне контроле"
-#: src/frontend/mame/ui/utils.cpp:1053
-msgid "Group"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:68
+msgid "Dip Switches"
+msgstr "DIP прекидачи"
-#: src/frontend/mame/ui/utils.cpp:1054
-msgid "Include clones"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "Machine Configuration"
+msgstr "Конфигурација машине"
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
-msgstr "[креирај]"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
+msgstr "Информације о књиговодÑтву машине"
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:78
+msgid "Machine Information"
+msgstr "Информације о машини"
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
-msgstr "Одабери мод приÑтупа"
+#: src/frontend/mame/ui/mainmenu.cpp:85
+msgid "Image Information"
+msgstr "Информације о Ñлици"
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
-msgstr "Само читање"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
+msgstr "Управљање фајловима"
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
-msgstr "Читање-пиÑање"
+#: src/frontend/mame/ui/mainmenu.cpp:96
+msgid "Tape Control"
+msgstr "Контрола траке"
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
-msgstr "Читај овај фајл, пиши у други"
+#: src/frontend/mame/ui/mainmenu.cpp:102
+msgid "BIOS Selection"
+msgstr "Избор BIOS-а"
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
-msgstr "Читај овај фајл, пиши разлике"
+#: src/frontend/mame/ui/mainmenu.cpp:106
+msgid "Slot Devices"
+msgstr "Слот уређаји"
-#: src/frontend/mame/ui/slotopt.cpp:192
-#, c-format
-msgid "%s [internal]"
-msgstr "%s [интерно]"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Barcode Reader"
+msgstr "Баркод читач"
-#: src/frontend/mame/ui/slotopt.cpp:203 src/frontend/mame/ui/miscmenu.cpp:97
-#: src/frontend/mame/ui/inputmap.cpp:615
-msgid "Reset"
-msgstr "РеÑетуј"
+#: src/frontend/mame/ui/mainmenu.cpp:114
+msgid "Network Devices"
+msgstr "Мрежни уређаји"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
-msgstr " БОЈЕ"
+#: src/frontend/mame/ui/mainmenu.cpp:118
+msgid "Keyboard Mode"
+msgstr "Мод таÑтатуре"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
-msgstr "ОЛОВКЕ"
+#: src/frontend/mame/ui/mainmenu.cpp:121
+msgid "Slider Controls"
+msgstr "Контроле клизача"
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
-msgstr "Подешавање контрола (ова машина)"
+#: src/frontend/mame/ui/mainmenu.cpp:124 src/frontend/mame/ui/submenu.cpp:101
+msgid "Video Options"
+msgstr "Видео опције"
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
-msgstr "Излаз"
+#: src/frontend/mame/ui/mainmenu.cpp:128
+msgid "Crosshair Options"
+msgstr "Опције нишана"
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
-msgstr "Повратак у претходни мени"
+#: src/frontend/mame/ui/mainmenu.cpp:132 plugins/cheat/init.lua:735
+msgid "Cheat"
+msgstr "Варање"
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:762
-#: plugins/cheat/init.lua:569 plugins/cheatfind/init.lua:792
-#: plugins/cheatfind/init.lua:803
-msgid "On"
-msgstr "Укључено"
+#: src/frontend/mame/ui/mainmenu.cpp:135
+msgid "Plugin Options"
+msgstr "Опције додатака"
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:765
-#: plugins/cheat/init.lua:572 plugins/cheat/init.lua:581
-#: plugins/cheatfind/init.lua:789 plugins/cheatfind/init.lua:800
-msgid "Off"
-msgstr "ИÑкључено"
+#: src/frontend/mame/ui/mainmenu.cpp:139
+msgid "External DAT View"
+msgstr "Приказ Ñпољашњег DAT"
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
-msgstr "ÐутоматÑки"
+#: src/frontend/mame/ui/mainmenu.cpp:154
+msgid "Select New Machine"
+msgstr "Изабери нову машину"
#: src/frontend/mame/ui/custui.cpp:31
msgid "Show All"
@@ -1401,459 +1318,6 @@ msgstr "Жута"
msgid "Violet"
msgstr "ЉубичаÑта"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
-msgstr "Мод таÑтатуре:"
-
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
-msgstr "Природни"
-
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
-msgstr "Емулирани"
-
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
-msgstr ""
-"Време рада: %1$d:%2$02d:%3$02d\n"
-"\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
-msgstr ""
-"Време рада: %1$d:%2$02d\n"
-"\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
-msgstr ""
-"Издате карте: %1$d\n"
-"\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
-msgstr "Жетон %1$c: NA%3$s\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
-msgstr "Жетон %1$c: %2$d%3$s\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
-msgstr " (закључано)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
-msgstr "Видљиво кашњење"
-
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
-msgstr "%s.xml Ñачуван у ui директоријум."
-
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
-msgstr "Име: ОпиÑ:\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:639
-#, c-format
-msgid "%s.txt saved under ui folder."
-msgstr "%s.txt Ñачуван у ui директоријум."
-
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
-msgstr "ЕкÑпортуј лиÑту у XML формату (као -listxml)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
-msgstr "ЕкÑпортуј лиÑту у XML формату (као -listxml, али без уређаја)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
-msgstr "ЕкÑпортуј лиÑту у TXT формату (као -listfull)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
-msgstr "Драјвер"
-
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
-msgstr ""
-
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
-msgstr "Сачувај конфигурацију машине"
-
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
-msgstr "Конфигурација машине:"
-
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
-msgstr " (уобичајено)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
-msgstr "Додатци"
-
-#: src/frontend/mame/ui/selgame.cpp:607
-msgid "Configure Machine"
-msgstr "Конфигурација машине"
-
-#: src/frontend/mame/ui/selgame.cpp:1036
-#, c-format
-msgid "Romset\t%1$-.100s\n"
-msgstr "РОМ Ñкуп\t%1$-.100s\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1037
-#, c-format
-msgid "Year\t%1$s\n"
-msgstr "Година\t%1$s\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1038
-#, c-format
-msgid "Manufacturer\t%1$-.100s\n"
-msgstr "Произвођач\t%1$-.100s\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1042
-#, c-format
-msgid "Driver is Clone of\t%1$-.100s\n"
-msgstr "Драјвер је клон од\t%1$-.100s\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1044
-msgid "Driver is Parent\t\n"
-msgstr "Драјвер је предак\t\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1047
-msgid "Analog Controls\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1049
-msgid "Keyboard Inputs\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1052
-msgid "Overall\tNOT WORKING\n"
-msgstr "Уопштено\tÐЕ РÐДИ\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1054
-msgid "Overall\tUnemulated Protection\n"
-msgstr "Уопштено\tЗаштита није емулирана"
-
-#: src/frontend/mame/ui/selgame.cpp:1056
-msgid "Overall\tWorking\n"
-msgstr "Уопштено\tради\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1059
-msgid "Graphics\tUnimplemented\n"
-msgstr "Графика\tније имплементирана\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1061
-msgid "Graphics\tWrong Colors\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1063
-msgid "Graphics\tImperfect Colors\n"
-msgstr "Графика\tнеÑавршене боје\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1065
-msgid "Graphics\tImperfect\n"
-msgstr "Графика\tнеÑавршена\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1067
-msgid "Graphics\tOK\n"
-msgstr "Графика\tОК\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1070
-msgid "Sound\tNone\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1072
-msgid "Sound\tUnimplemented\n"
-msgstr "Звук\tније имплементиран\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1074
-msgid "Sound\tImperfect\n"
-msgstr "Звук\tнеÑавршен\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1076
-msgid "Sound\tOK\n"
-msgstr "Звук\tOK\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1079
-msgid "Capture\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1081
-msgid "Capture\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1084
-msgid "Camera\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1086
-msgid "Camera\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1089
-msgid "Microphone\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1091
-msgid "Microphone\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1094
-msgid "Controls\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1096
-msgid "Controls\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1099
-msgid "Keyboard\tUnimplemented\n"
-msgstr "ТаÑтатура\tније имплементирана\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1101
-msgid "Keyboard\tImperfect\n"
-msgstr "ТаÑтатура\tнеÑавршена\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1104
-msgid "Mouse\tUnimplemented\n"
-msgstr "Миш\tније имплементиран\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1106
-msgid "Mouse\tImperfect\n"
-msgstr "Миш\tнеÑавршен\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1109
-msgid "Media\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1111
-msgid "Media\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1114
-msgid "Disk\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1116
-msgid "Disk\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1119
-msgid "Printer\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1121
-msgid "Printer\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1124
-msgid "Mag. Tape\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1126
-msgid "Mag. Tape\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1129
-msgid "Punch Tape\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1131
-msgid "Punch Tape\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1134
-msgid "Mag. Drum\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1136
-msgid "Mag. Drum\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1139
-msgid "(EP)ROM\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1141
-msgid "(EP)ROM\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1144
-msgid "Communications\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1146
-msgid "Communications\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1149
-msgid "LAN\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1151
-msgid "LAN\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1154
-msgid "WAN\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1156
-msgid "WAN\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1159
-msgid "Timing\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1161
-msgid "Timing\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tNo\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tNo\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tNo\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tNo\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tNo\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tNo\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tVertical\n"
-msgstr "Оријентација екрана\tВертикално\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tHorizontal\n"
-msgstr "Оријентација екрана\tХоризонтално\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tNo\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1192
-msgid "ROM Audit Result\tOK\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1194
-msgid "ROM Audit Result\tBAD\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1197
-msgid "Samples Audit Result\tNone Needed\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1199
-msgid "Samples Audit Result\tOK\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1201
-msgid "Samples Audit Result\tBAD\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1205
-msgid ""
-"ROM Audit \tDisabled\n"
-"Samples Audit \tDisabled\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1396
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
-msgstr "%1$s %2$s ( %3$d / %4$d машине (%5$d BIOS) )"
-
-#: src/frontend/mame/ui/selgame.cpp:1424
-#, c-format
-msgid "Romset: %1$-.100s"
-msgstr "ROM Ñкуп: %1$-.100s"
-
-#: src/frontend/mame/ui/selgame.cpp:1431
-#, c-format
-msgid "System: %1$-.100s"
-msgstr "СиÑтем: %1$-.100s"
-
-#: src/frontend/mame/ui/selgame.cpp:1465
-msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
-msgstr ""
-"Изабрана машина неÑтоаје један или више неопходних ROM или CHD фајлова.Молим "
-"изаберите другу машину.\n"
-"\n"
-
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
-msgstr "Звук"
-
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
-msgstr "УчеÑталоÑÑ‚ узорковања"
-
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
-msgstr "КориÑти додатне Ñемплове"
-
#: src/frontend/mame/ui/submenu.cpp:22
msgid "Miscellaneous Options"
msgstr ""
@@ -2154,567 +1618,1022 @@ msgstr ""
msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:43
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Load State"
+msgstr ""
+
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Select position to load from"
+msgstr "Изаберите позицију Ñа које желите да учитате"
+
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Save State"
+msgstr ""
+
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Select position to save to"
+msgstr "Изаберите позицију на коју желите да Ñнимите"
+
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
+msgstr "%s [интерно]"
+
+#: src/frontend/mame/ui/selgame.cpp:309 src/frontend/mame/ui/selsoft.cpp:211
#, c-format
msgid ""
-"[This option is currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"The selected option enables the following items:\n"
+"%s\n"
+" added to favorites list."
msgstr ""
+"%s\n"
+" додато у лиÑту омиљених."
-#: src/frontend/mame/ui/devopt.cpp:44
+#: src/frontend/mame/ui/selgame.cpp:314 src/frontend/mame/ui/selgame.cpp:320
+#: src/frontend/mame/ui/selsoft.cpp:216
#, c-format
msgid ""
-"[This option is NOT currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"If you select this option, the following items will be enabled:\n"
+"%s\n"
+" removed from favorites list."
msgstr ""
+"%s\n"
+" избриÑано из лиÑте омиљених."
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:437
+msgid "Configure Machine"
+msgstr "Конфигурација машине"
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/selgame.cpp:849
#, c-format
-msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+msgid "Romset\t%1$-.100s\n"
+msgstr "РОМ Ñкуп\t%1$-.100s\n"
+
+#: src/frontend/mame/ui/selgame.cpp:850
+#, c-format
+msgid "Year\t%1$s\n"
+msgstr "Година\t%1$s\n"
+
+#: src/frontend/mame/ui/selgame.cpp:851
+#, c-format
+msgid "Manufacturer\t%1$-.100s\n"
+msgstr "Произвођач\t%1$-.100s\n"
+
+#: src/frontend/mame/ui/selgame.cpp:855
+#, c-format
+msgid "Driver is Clone of\t%1$-.100s\n"
+msgstr "Драјвер је клон од\t%1$-.100s\n"
+
+#: src/frontend/mame/ui/selgame.cpp:857
+msgid "Driver is Parent\t\n"
+msgstr "Драјвер је предак\t\n"
+
+#: src/frontend/mame/ui/selgame.cpp:860
+msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
-msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/selgame.cpp:862
+msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %3$d.%4$06d MHz\n"
+#: src/frontend/mame/ui/selgame.cpp:865
+msgid "Overall\tNOT WORKING\n"
+msgstr "Уопштено\tÐЕ РÐДИ\n"
+
+#: src/frontend/mame/ui/selgame.cpp:867
+msgid "Overall\tUnemulated Protection\n"
+msgstr "Уопштено\tЗаштита није емулирана"
+
+#: src/frontend/mame/ui/selgame.cpp:869
+msgid "Overall\tWorking\n"
+msgstr "Уопштено\tради\n"
+
+#: src/frontend/mame/ui/selgame.cpp:872
+msgid "Graphics\tUnimplemented\n"
+msgstr "Графика\tније имплементирана\n"
+
+#: src/frontend/mame/ui/selgame.cpp:874
+msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/selgame.cpp:876
+msgid "Graphics\tImperfect Colors\n"
+msgstr "Графика\tнеÑавршене боје\n"
+
+#: src/frontend/mame/ui/selgame.cpp:878
+msgid "Graphics\tImperfect\n"
+msgstr "Графика\tнеÑавршена\n"
+
+#: src/frontend/mame/ui/selgame.cpp:880
+msgid "Graphics\tOK\n"
+msgstr "Графика\tОК\n"
+
+#: src/frontend/mame/ui/selgame.cpp:883
+msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/selgame.cpp:885
+msgid "Sound\tUnimplemented\n"
+msgstr "Звук\tније имплементиран\n"
+
+#: src/frontend/mame/ui/selgame.cpp:887
+msgid "Sound\tImperfect\n"
+msgstr "Звук\tнеÑавршен\n"
+
+#: src/frontend/mame/ui/selgame.cpp:889
+msgid "Sound\tOK\n"
+msgstr "Звук\tOK\n"
+
+#: src/frontend/mame/ui/selgame.cpp:892
+msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/selgame.cpp:894
+msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:103
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+#: src/frontend/mame/ui/selgame.cpp:897
+msgid "Keyboard\tUnimplemented\n"
+msgstr "ТаÑтатура\tније имплементирана\n"
+
+#: src/frontend/mame/ui/selgame.cpp:899
+msgid "Keyboard\tImperfect\n"
+msgstr "ТаÑтатура\tнеÑавршена\n"
+
+#: src/frontend/mame/ui/selgame.cpp:902
+msgid "Mouse\tUnimplemented\n"
+msgstr "Миш\tније имплементиран\n"
+
+#: src/frontend/mame/ui/selgame.cpp:904
+msgid "Mouse\tImperfect\n"
+msgstr "Миш\tнеÑавршен\n"
+
+#: src/frontend/mame/ui/selgame.cpp:907
+msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+#: src/frontend/mame/ui/selgame.cpp:909
+msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/selgame.cpp:912
+msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
-#, c-format
-msgid " %1$d×%2$s\n"
+#: src/frontend/mame/ui/selgame.cpp:914
+msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/selgame.cpp:917
+msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:168
-#, c-format
-msgid ""
-"* BIOS settings:\n"
-" %1$d options [default: %2$s]\n"
+#: src/frontend/mame/ui/selgame.cpp:919
+msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:208 src/frontend/mame/ui/devopt.cpp:224
-#: src/frontend/mame/ui/devopt.cpp:269
-#, c-format
-msgid " %1$s [default: %2$s]\n"
+#: src/frontend/mame/ui/selgame.cpp:922
+msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
-#, c-format
-msgid " %1$s\n"
+#: src/frontend/mame/ui/selgame.cpp:924
+msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/selgame.cpp:927
+msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/selgame.cpp:929
+msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/selgame.cpp:932
+msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:934
+msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:937
+msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
-#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:939
+msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
-#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
-#, c-format
-msgid " %1$s [tag: %2$s]\n"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tVertical\n"
+msgstr "Оријентација екрана\tВертикално\n"
+
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tHorizontal\n"
+msgstr "Оријентација екрана\tХоризонтално\n"
+
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
-msgstr "Ðемогуће Ñнимити преко директоријума"
+#: src/frontend/mame/ui/selgame.cpp:970
+msgid "ROM Audit Result\tOK\n"
+msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
-msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
+#: src/frontend/mame/ui/selgame.cpp:972
+msgid "ROM Audit Result\tBAD\n"
msgstr ""
-"Одабраном програму недоÑтаје један или више ROM или CHD фајлова. Молим "
-"одаберите други."
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
-msgstr "заштита"
+#: src/frontend/mame/ui/selgame.cpp:975
+msgid "Samples Audit Result\tNone Needed\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
+#: src/frontend/mame/ui/selgame.cpp:977
+msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
-msgstr "графика"
+#: src/frontend/mame/ui/selgame.cpp:979
+msgid "Samples Audit Result\tBAD\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
+#: src/frontend/mame/ui/selgame.cpp:983
+msgid ""
+"ROM Audit \tDisabled\n"
+"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
-msgstr "звук"
+#: src/frontend/mame/ui/selgame.cpp:1167
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
+msgstr "%1$s %2$s ( %3$d / %4$d машине (%5$d BIOS) )"
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: src/frontend/mame/ui/selgame.cpp:1183 src/frontend/mame/ui/selsoft.cpp:555
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
+msgstr "%1$s: %2$s - Претрага: %3$s_"
+
+#: src/frontend/mame/ui/selgame.cpp:1185 src/frontend/mame/ui/selsoft.cpp:557
+#, c-format
+msgid "Search: %1$s_"
+msgstr "Претрага: %1$s_"
+
+#: src/frontend/mame/ui/selgame.cpp:1195
+#, c-format
+msgid "Romset: %1$-.100s"
+msgstr "ROM Ñкуп: %1$-.100s"
+
+#: src/frontend/mame/ui/selgame.cpp:1202
+#, c-format
+msgid "System: %1$-.100s"
+msgstr "СиÑтем: %1$-.100s"
+
+#: src/frontend/mame/ui/selgame.cpp:1239
+msgid ""
+"The selected machine is missing one or more required ROM or CHD images. "
+"Please select a different machine.\n"
+"\n"
msgstr ""
+"Изабрана машина неÑтоаје један или више неопходних ROM или CHD фајлова.Молим "
+"изаберите другу машину.\n"
+"\n"
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
-msgstr "камера"
+#: src/frontend/mame/ui/selgame.cpp:1245 src/frontend/mame/ui/selsoft.cpp:462
+msgid "Press any key to continue."
+msgstr "ПритиÑните било који таÑтер за наÑтавак."
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
-msgstr "микрофон"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
+msgstr "Звук"
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
+msgstr "УчеÑталоÑÑ‚ узорковања"
+
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
+msgstr "КориÑти додатне Ñемплове"
+
+#: src/frontend/mame/ui/utils.cpp:57 src/frontend/mame/ui/utils.cpp:81
+msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
-msgstr "таÑтатура"
+#: src/frontend/mame/ui/utils.cpp:58 src/frontend/mame/ui/utils.cpp:82
+msgid "Available"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
-msgstr "миш"
+#: src/frontend/mame/ui/utils.cpp:59 src/frontend/mame/ui/utils.cpp:83
+msgid "Unavailable"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/utils.cpp:60
+msgid "Working"
+msgstr "Ради"
+
+#: src/frontend/mame/ui/utils.cpp:61
+msgid "Not Working"
+msgstr "Ðе ради"
+
+#: src/frontend/mame/ui/utils.cpp:62
+msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/utils.cpp:63
+msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/utils.cpp:64
+msgid "Category"
+msgstr "Категорија"
+
+#: src/frontend/mame/ui/utils.cpp:65
+msgid "Favorites"
+msgstr "ЛиÑта омиљених"
+
+#: src/frontend/mame/ui/utils.cpp:67
+msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:84
+msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/utils.cpp:85
+msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/utils.cpp:70
+msgid "Manufacturer"
+msgstr "Произвођач"
+
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:86
+msgid "Year"
+msgstr "Година"
+
+#: src/frontend/mame/ui/utils.cpp:72
+msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/utils.cpp:73
+msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/utils.cpp:74
+msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/utils.cpp:75
+msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/utils.cpp:76
+msgid "Vertical Screen"
+msgstr "Вертикални екран"
+
+#: src/frontend/mame/ui/utils.cpp:77
+msgid "Horizontal Screen"
+msgstr "Хоризонтални екран"
+
+#: src/frontend/mame/ui/utils.cpp:78 src/frontend/mame/ui/utils.cpp:94
+msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
-msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+#: src/frontend/mame/ui/utils.cpp:87
+msgid "Publisher"
+msgstr "Издавач"
+
+#: src/frontend/mame/ui/utils.cpp:88
+msgid "Supported"
msgstr ""
-"Један или више ROM/CHD фаЈлова за ову машину Ñу неиÑправни. Машина можда "
-"неће иÑправно радити.\n"
-#: src/frontend/mame/ui/info.cpp:198
-msgid ""
-"There are known problems with this machine\n"
-"\n"
+#: src/frontend/mame/ui/utils.cpp:89
+msgid "Partially Supported"
msgstr ""
-"ПоÑтоје познати проблеми Ñ Ð¾Ð²Ð¾Ð¼ машином\n"
-"\n"
-#: src/frontend/mame/ui/info.cpp:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/utils.cpp:90
+msgid "Unsupported"
msgstr ""
-"Један или више ROM/CHD фајлова за ову машину ниÑу иÑправно направљени.\n"
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/utils.cpp:91
+msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
+#: src/frontend/mame/ui/utils.cpp:92
+msgid "Device Type"
+msgstr "Тип уређаја"
+
+#: src/frontend/mame/ui/utils.cpp:93
+msgid "Software List"
+msgstr "ЛиÑта програма"
+
+#: src/frontend/mame/ui/utils.cpp:244
+msgid "<set up filters>"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#: src/frontend/mame/ui/info.cpp:275
+#: src/frontend/mame/ui/utils.cpp:352
+msgid "Select custom filters:"
+msgstr "Избор произвољних филтера"
+
+#: src/frontend/mame/ui/utils.cpp:503
#, c-format
-msgid ", %s"
+msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+#: src/frontend/mame/ui/utils.cpp:518
+msgid "Remove last filter"
+msgstr "Уклони поÑледњи филтер"
+
+#: src/frontend/mame/ui/utils.cpp:520
+msgid "Add filter"
+msgstr "Додај филтер"
+
+#: src/frontend/mame/ui/utils.cpp:959
+msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
-msgstr "Обртање екрана у \"коктел\" моду није подржано.\n"
+#: src/frontend/mame/ui/utils.cpp:990
+msgid "[no category INI files]"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
-msgstr "Машина захтева додатне илуÑтрационе фајлове.\n"
+#: src/frontend/mame/ui/utils.cpp:998
+msgid "[no groups in INI file]"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:243
-msgid ""
-"This machine was never completed. It may exhibit strange behavior or missing "
-"elements that are not bugs in the emulation.\n"
+#: src/frontend/mame/ui/utils.cpp:1032
+msgid "No category INI files found"
msgstr ""
-"МашÑина није никад завршена. Може Ñе јавити чудно понашање или недоÑтатак "
-"елемената Ñто не предÑтавља проблем Ñ ÐµÐ¼ÑƒÐ»Ð°Ñ†Ð¸Ñ˜Ð¾Ð¼.\n"
-#: src/frontend/mame/ui/info.cpp:245
-msgid ""
-"This machine has no sound hardware, MAME will produce no sounds, this is "
-"expected behaviour.\n"
+#: src/frontend/mame/ui/utils.cpp:1037
+msgid "File"
+msgstr "Фајл"
+
+#: src/frontend/mame/ui/utils.cpp:1041
+msgid "No groups found in category file"
msgstr ""
-"Машина не поÑедује уређај за звук, МÐМЕ неће пуштати звук, ово је очекивано "
-"понашање.\n"
-#: src/frontend/mame/ui/info.cpp:249
-msgid ""
-"\n"
-"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
-"complete. There is nothing you can do to fix this problem except wait for "
-"the developers to improve the emulation.\n"
+#: src/frontend/mame/ui/utils.cpp:1046
+msgid "Group"
msgstr ""
-"\n"
-"ОВРМÐШИÐÐ ÐЕ РÐДИ. Емулација ове машине још није потпуна. Ðе можете ништа "
-"урадити у вези Ñ Ñ‚Ð¸Ð¼, оÑим да Ñачекате програмере да унапреде емулацију.\n"
-#: src/frontend/mame/ui/info.cpp:251
+#: src/frontend/mame/ui/utils.cpp:1047
+msgid "Include clones"
+msgstr ""
+
+#: src/frontend/mame/ui/selsoft.cpp:456
msgid ""
+"The selected software is missing one or more required files. Please select a "
+"different software.\n"
"\n"
-"Elements of this machine cannot be emulated as they requires physical "
-"interaction or consist of mechanical devices. It is not possible to fully "
-"experience this machine.\n"
msgstr ""
+"Селектованом програму недоÑтаје један или више фајлова. Молим изаберите "
+"други програм.\n"
+"\n"
+
+#: src/frontend/mame/ui/selsoft.cpp:549
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgstr "%1$s %2$s ( %3$d / %4$d програмÑких пакета )"
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/selsoft.cpp:550
#, c-format
+msgid "Driver: \"%1$s\" software list "
+msgstr "ДраjвeÑ€: \"%1$s\" лиÑта програма "
+
+#: src/frontend/mame/ui/filesel.cpp:260
+msgid "[create]"
+msgstr "[креирај]"
+
+#: src/frontend/mame/ui/filesel.cpp:419
+#, c-format
+msgid "Error accessing %s"
+msgstr ""
+
+#: src/frontend/mame/ui/filesel.cpp:515
+msgid "Select access mode"
+msgstr "Одабери мод приÑтупа"
+
+#: src/frontend/mame/ui/filesel.cpp:516
+msgid "Read-only"
+msgstr "Само читање"
+
+#: src/frontend/mame/ui/filesel.cpp:518
+msgid "Read-write"
+msgstr "Читање-пиÑање"
+
+#: src/frontend/mame/ui/filesel.cpp:519
+msgid "Read this image, write to another image"
+msgstr "Читај овај фајл, пиши у други"
+
+#: src/frontend/mame/ui/filesel.cpp:520
+msgid "Read this image, write to diff"
+msgstr "Читај овај фајл, пиши разлике"
+
+#: src/frontend/mame/ui/imgcntrl.cpp:117
+msgid "Cannot save over directory"
+msgstr "Ðемогуће Ñнимити преко директоријума"
+
+#: src/frontend/mame/ui/imgcntrl.cpp:150
msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+"The software selected is missing one or more required ROM or CHD images. "
+"Please select a different one."
msgstr ""
-"\n"
-"\n"
-"ПоÑтоји клонови ове машине који раде: %s"
+"Одабраном програму недоÑтаје један или више ROM или CHD фајлова. Молим "
+"одаберите други."
-#: src/frontend/mame/ui/info.cpp:286
+#: src/frontend/mame/ui/menu.cpp:294
+msgid "Return to Machine"
+msgstr "Подешавање контрола (ова машина)"
+
+#: src/frontend/mame/ui/menu.cpp:299 src/frontend/mame/ui/menu.cpp:301
+msgid "Exit"
+msgstr "Излаз"
+
+#: src/frontend/mame/ui/menu.cpp:306 src/frontend/mame/ui/menu.cpp:308
+msgid "Return to Previous Menu"
+msgstr "Повратак у претходни мени"
+
+#: src/frontend/mame/ui/menu.cpp:742
+msgid "Auto"
+msgstr "ÐутоматÑки"
+
+#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:653
+#, c-format, lua-format
msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+"Cheat Comment:\n"
+"%s"
msgstr ""
-"\n"
-"\n"
-"ПритиÑните било који таÑтер за наÑтавак"
+"Коментар за варање:\n"
+"%s"
+
+#: src/frontend/mame/ui/cheatopt.cpp:105
+msgid "All cheats reloaded"
+msgstr "Сва варања поново учитана"
+
+#: src/frontend/mame/ui/cheatopt.cpp:136
+msgid "Autofire Settings"
+msgstr "Подешавања аутоматÑког пуцања"
+
+#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:581
+msgid "Reset All"
+msgstr "РеÑетуји Ñве"
+
+#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:582
+msgid "Reload All"
+msgstr "Поново учитај Ñве"
+
+#: src/frontend/mame/ui/cheatopt.cpp:273
+msgid "Autofire Status"
+msgstr "Стање аутоматÑког пуцања"
+
+#: src/frontend/mame/ui/cheatopt.cpp:316
+msgid "No buttons found on this machine!"
+msgstr "Ðема таÑтера на овој машини!"
+
+#: src/frontend/mame/ui/cheatopt.cpp:327 src/frontend/mame/ui/cheatopt.cpp:331
+msgid "Autofire Delay"
+msgstr "Задршка аутоматÑког пуцања"
+
+#: src/frontend/mame/ui/ui.cpp:337
+msgid "This driver requires images to be loaded in the following device(s): "
+msgstr "За овај драјвер је неопходно да Ñлике буду учитане у Ñледеће уређаје:"
+
+#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
+msgid "Keyboard Emulation Status"
+msgstr "Стање емулације таÑтатуре"
+
+#: src/frontend/mame/ui/ui.cpp:1086
+msgid "Mode: PARTIAL Emulation"
+msgstr "Мод: ДЕЛИМИЧÐРемулација"
+
+#: src/frontend/mame/ui/ui.cpp:1087
+msgid "UI: Enabled"
+msgstr "КориÑнички интерфејÑ: омогућен"
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
+msgid "**Use ScrLock to toggle**"
+msgstr "**КориÑтите ScrLock да промените радно Ñтање**"
+
+#: src/frontend/mame/ui/ui.cpp:1096
+msgid "Mode: FULL Emulation"
+msgstr "Мод: ПОТПУÐРемулација"
+
+#: src/frontend/mame/ui/ui.cpp:1097
+msgid "UI: Disabled"
+msgstr "КориÑнички интерфејÑ: онеÑпоÑобљен"
+
+#: src/frontend/mame/ui/ui.cpp:1249
+msgid "Autofire can't be enabled"
+msgstr "ÐутоматÑко пуцање не може да Ñе омогући"
+
+#: src/frontend/mame/ui/ui.cpp:1302
#, c-format
msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
+"Are you sure you want to quit?\n"
"\n"
-"CPU:\n"
+"Press ''%1$s'' to quit,\n"
+"Press ''%2$s'' to return to emulation."
msgstr ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Драjвeр: %4$s\n"
+"Да ли Ñте Ñигурни да желите да напуÑтите програм?\n"
"\n"
-"CPU:\n"
+"ПритиÑните ''%s'' за напуштање програма,\n"
+"ПритиÑните ''%s'' за наÑтавак емулације."
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
-msgstr "MHz"
+#: src/frontend/mame/ui/ui.cpp:1374
+msgid "Master Volume"
+msgstr "Главна јачина звука"
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
-msgstr "kHz"
+#: src/frontend/mame/ui/ui.cpp:1383
+#, c-format
+msgid "%1$s Volume"
+msgstr "%1$s јачина звука"
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/ui.cpp:1407
+#, c-format
+msgid "Overclock CPU %1$s"
+msgstr "Убрзање оÑновног такта CPU %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1416
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-"\n"
-"Звук:\n"
-#: src/frontend/mame/ui/info.cpp:378
+#: src/frontend/mame/ui/ui.cpp:1437
+#, c-format
+msgid "%1$s Refresh Rate"
+msgstr "%1$s фреквенција оÑвежавања"
+
+#: src/frontend/mame/ui/ui.cpp:1442
+#, c-format
+msgid "%1$s Brightness"
+msgstr "%1$s оÑветљеноÑÑ‚"
+
+#: src/frontend/mame/ui/ui.cpp:1444
+#, c-format
+msgid "%1$s Contrast"
+msgstr "%1$s контраÑÑ‚"
+
+#: src/frontend/mame/ui/ui.cpp:1446
+#, c-format
+msgid "%1$s Gamma"
+msgstr "%1$s гама"
+
+#: src/frontend/mame/ui/ui.cpp:1450
+#, c-format
+msgid "%1$s Horiz Stretch"
+msgstr "%1$s раÑтезање по хоризонтали"
+
+#: src/frontend/mame/ui/ui.cpp:1452
+#, c-format
+msgid "%1$s Horiz Position"
+msgstr "%1$s хоризонтална позиција"
+
+#: src/frontend/mame/ui/ui.cpp:1454
+#, c-format
+msgid "%1$s Vert Stretch"
+msgstr "%1$s раÑтезање по вертикали"
+
+#: src/frontend/mame/ui/ui.cpp:1456
+#, c-format
+msgid "%1$s Vert Position"
+msgstr "%1$s вертикална позиција"
+
+#: src/frontend/mame/ui/ui.cpp:1475
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
+msgstr "Laserdisc '%1$s' раÑтезање по хоризонтали"
+
+#: src/frontend/mame/ui/ui.cpp:1477
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
+msgstr "Laserdisc '%1$s' хоризонтална позиција"
+
+#: src/frontend/mame/ui/ui.cpp:1479
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
+msgstr "Laserdisc '%1$s' раÑтезање по вертикали"
+
+#: src/frontend/mame/ui/ui.cpp:1481
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
+msgstr "Laserdisc '%1$s' вертикална позиција"
+
+#: src/frontend/mame/ui/ui.cpp:1493
+msgid "Vector Flicker"
+msgstr "Треперење вектора"
+
+#: src/frontend/mame/ui/ui.cpp:1494
+msgid "Beam Width Minimum"
+msgstr "Минимална ширина Ñнопа"
+
+#: src/frontend/mame/ui/ui.cpp:1495
+msgid "Beam Width Maximum"
+msgstr "МакÑимална шириниа Ñнопа"
+
+#: src/frontend/mame/ui/ui.cpp:1496
+msgid "Beam Intensity Weight"
+msgstr "Интензитет Ñнопа"
+
+#: src/frontend/mame/ui/ui.cpp:1511
+#, c-format
+msgid "Crosshair Scale %1$s"
+msgstr "Размера нишана %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "X"
+msgstr "X"
+
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "Y"
+msgstr "Y"
+
+#: src/frontend/mame/ui/ui.cpp:1513
+#, c-format
+msgid "Crosshair Offset %1$s"
+msgstr "Померај нишана %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1601
+#, c-format
+msgid "%1$3ddB"
+msgstr "%1$3ddB"
+
+#: src/frontend/mame/ui/ui.cpp:1645
+#, c-format
+msgid "%1$d%%"
+msgstr "%1$d%%"
+
+#: src/frontend/mame/ui/ui.cpp:1661
+#, c-format
+msgid "%1$3.0f%%"
+msgstr "%1$3.0f%%"
+
+#: src/frontend/mame/ui/ui.cpp:1685
+#, c-format
+msgid "%1$.3ffps"
+msgstr "%1$.3ffps"
+
+#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
+#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
+#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
+#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
+#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
+#: src/frontend/mame/ui/ui.cpp:1927
+#, c-format
+msgid "%1$.3f"
+msgstr "%1$.3f"
+
+#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
+#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
+#, c-format
+msgid "%1$1.2f"
+msgstr "%1$1.2f"
+
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
+msgstr "Размера нишана X %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
+msgstr "Размера нишана Y %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
+msgstr "Померај нишана X %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
+msgstr "Померај нишана Y %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
+msgstr "**Грешка приликом Ñнимања ui.ini**"
+
+#: src/frontend/mame/ui/ui.cpp:2226
+#, c-format
+msgid "**Error saving %s.ini**"
+msgstr "**Грешка прликом запиÑивања %s.ini**"
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " COLORS"
+msgstr " БОЈЕ"
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " PENS"
+msgstr "ОЛОВКЕ"
+
+#: src/frontend/mame/ui/devopt.cpp:39
+#, c-format
msgid ""
+"[This option is currently mounted in the running system]\n"
"\n"
-"Video:\n"
-msgstr ""
+"Option: %1$s\n"
+"Device: %2$s\n"
"\n"
-"Видео:\n"
-
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
-msgstr "Ðиједан\n"
-
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
-msgstr "Вектор"
+"The selected option enables the following items:\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:40
#, c-format
-msgid "%1$s: %2$s\n"
-msgstr "%1$s: %2$s\n"
+msgid ""
+"[This option is NOT currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"If you select this option, the following items will be enabled:\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
-msgstr "%2$s\n"
+#: src/frontend/mame/ui/devopt.cpp:48
+msgid "* CPU:\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
#, c-format
-msgid "Screen '%1$s'"
-msgstr "Екран '%1$s'"
+msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr "Екран"
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
+msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
-msgstr "Ðије подржано"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %3$d.%4$06d MHz\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
-msgstr "Делимично подржано"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %5$d.%6$03d kHz\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
-msgstr "[празно]"
+#: src/frontend/mame/ui/devopt.cpp:85
+msgid "* Video:\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
-msgstr "Контролни панел"
+#: src/frontend/mame/ui/devopt.cpp:90
+#, c-format
+msgid " Screen '%1$s': Vector\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
-msgstr "Преглед artwork-а"
+#: src/frontend/mame/ui/devopt.cpp:99
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
-msgstr "Завршни екран игре"
+#: src/frontend/mame/ui/devopt.cpp:100
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
-msgstr "Додавање или уклањање омиљених"
+#: src/frontend/mame/ui/devopt.cpp:113
+msgid "* Sound:\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
-msgstr "ЕкÑпортуј приказану лиÑту у фајл"
+#: src/frontend/mame/ui/devopt.cpp:133
+#, c-format
+msgid " %1$d×%2$s\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
-msgstr "Прижи DAT"
+#: src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
-msgstr "Избор дела Ñофтвера:"
+#: src/frontend/mame/ui/devopt.cpp:164
+#, c-format
+msgid ""
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
-msgstr "Избор BIOS-а:"
+#: src/frontend/mame/ui/devopt.cpp:204 src/frontend/mame/ui/devopt.cpp:220
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " %1$s [default: %2$s]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
+#: src/frontend/mame/ui/devopt.cpp:209 src/frontend/mame/ui/devopt.cpp:225
#, c-format
-msgid "Software is clone of: %1$-.100s"
-msgstr "Софтвер је клон од: %1$-.100s"
+msgid " %1$s\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
-msgstr "Софтвер је предак"
+#: src/frontend/mame/ui/devopt.cpp:230
+msgid "* DIP switch settings:\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
-msgstr "Подржано: не"
+#: src/frontend/mame/ui/devopt.cpp:232
+msgid "* Configuration settings:\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
-msgstr "Подржано: делимично"
+#: src/frontend/mame/ui/devopt.cpp:234
+msgid "* Input device(s):\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
-msgstr "Подржано: да"
+#: src/frontend/mame/ui/devopt.cpp:236
+#, c-format
+msgid " User inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
+#: src/frontend/mame/ui/devopt.cpp:238
#, c-format
-msgid "romset: %1$-.100s"
-msgstr "РОМ Ñкуп: %1$-.100s"
+msgid " Mahjong inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
+#: src/frontend/mame/ui/devopt.cpp:240
#, c-format
-msgid "Driver is clone of: %1$-.100s"
-msgstr "Драјвер је клон од: %1$-.100s"
+msgid " Hanafuda inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
-msgstr "Драјвер је оÑновни"
+#: src/frontend/mame/ui/devopt.cpp:242
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
+#: src/frontend/mame/ui/devopt.cpp:244
#, c-format
-msgid "%1$s %2$s"
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
-msgstr "Програми"
+#: src/frontend/mame/ui/devopt.cpp:246
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
-msgstr "Информације"
+#: src/frontend/mame/ui/devopt.cpp:248
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
-msgstr "Употреба"
+#: src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
-msgstr "Опште информације"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* Media Options:\n"
+msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
-msgstr "КориÑнички интерфејÑ"
+#: src/frontend/mame/ui/devopt.cpp:257
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
+msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
-msgstr "ОÑтале контроле"
+#: src/frontend/mame/ui/devopt.cpp:263
+msgid "* Slot Options:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:270
+msgid "[None]\n"
+msgstr ""
#: plugins/timer/init.lua:94
msgid "Current time"
@@ -2732,51 +2651,51 @@ msgstr ""
msgid "Timer"
msgstr ""
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:510
msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheat/init.lua:534
+#: plugins/cheat/init.lua:516
msgid "Press button for hotkey or wait to clear"
msgstr ""
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:528
msgid "None"
msgstr ""
-#: plugins/cheat/init.lua:551
+#: plugins/cheat/init.lua:533
msgid "Done"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:547 plugins/cheat/init.lua:561
msgid "Set"
msgstr ""
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:580
msgid "Set hotkeys"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:720
#, lua-format
msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:723 plugins/cheat/init.lua:781
#, lua-format
msgid "Activated: %s"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:785
#, lua-format
msgid "Enabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:790
#, lua-format
msgid "Disabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "%s added"
msgstr ""
@@ -2825,304 +2744,219 @@ msgstr "Иницијализација"
msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:404
+#: plugins/cheatfind/init.lua:373
msgid "Save Cheat"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Default"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Custom"
msgstr ""
-#: plugins/cheatfind/init.lua:408
+#: plugins/cheatfind/init.lua:377
msgid "Cheat Name"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/cheatfind/init.lua:383 plugins/cheatfind/init.lua:748
#, lua-format
msgid "Default name is %s"
msgstr ""
-#: plugins/cheatfind/init.lua:422
+#: plugins/cheatfind/init.lua:391
msgid "Player"
msgstr ""
-#: plugins/cheatfind/init.lua:427
+#: plugins/cheatfind/init.lua:396
msgid "Type"
msgstr ""
-#: plugins/cheatfind/init.lua:433
+#: plugins/cheatfind/init.lua:402
msgid "Save"
msgstr ""
-#: plugins/cheatfind/init.lua:462
+#: plugins/cheatfind/init.lua:429
#, lua-format
msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:472
+#: plugins/cheatfind/init.lua:437
msgid "Cheat added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:442
msgid ""
"Unable to write file\n"
"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/cheatfind/init.lua:486
+#: plugins/cheatfind/init.lua:451
msgid "Cancel"
msgstr ""
-#: plugins/cheatfind/init.lua:491
+#: plugins/cheatfind/init.lua:456
msgid "CPU or RAM"
msgstr ""
-#: plugins/cheatfind/init.lua:495
+#: plugins/cheatfind/init.lua:460
msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:479
+msgid "Data cleared and current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:487
+msgid "Start new search"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:497
+msgid "Current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:504
+msgid "Save current -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
+#: plugins/cheatfind/init.lua:536
#, lua-format
-msgid "Memory State saved to Slot %d"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:543
+msgid "Compare"
msgstr ""
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
+#: plugins/cheatfind/init.lua:546
+msgid "Left operand"
+msgstr ""
+
+#: plugins/cheatfind/init.lua:549
+msgid "Current"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:554
+msgid "Operator"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:561
+msgid "Left less than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:563
+msgid "Left greater than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:676
+#: plugins/cheatfind/init.lua:565
msgid "Left equal to right"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:567
+msgid "Left not equal to right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:680
+#: plugins/cheatfind/init.lua:569
msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:682
+#: plugins/cheatfind/init.lua:571
msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:684
+#: plugins/cheatfind/init.lua:573
msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:686
+#: plugins/cheatfind/init.lua:575
msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:688
+#: plugins/cheatfind/init.lua:577
msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:690
+#: plugins/cheatfind/init.lua:579
msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/cheatfind/init.lua:590
+msgid "Right operand"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/cheatfind/init.lua:598
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:719
+#: plugins/cheatfind/init.lua:602
msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:725
+#: plugins/cheatfind/init.lua:608
msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:738
-msgid ""
-"Use this if you want to poke the Slot 1 value (eg. You started with "
-"something but lost it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:740
-msgid ""
-"Use this if you want to poke the Last Slot value (eg. You started without an "
-"item but finally got it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:816
+#: plugins/cheatfind/init.lua:632
msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:820
+#: plugins/cheatfind/init.lua:636
msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:823
+#: plugins/cheatfind/init.lua:639
msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheatfind/init.lua:690
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Test cheat at addr %08X"
msgstr ""
-#: plugins/cheatfind/init.lua:974
+#: plugins/cheatfind/init.lua:722
msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
+#: plugins/cheatfind/init.lua:788
msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
+#: plugins/cheatfind/init.lua:806
msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
+#: plugins/cheatfind/init.lua:816
msgid "Cheat Finder"
msgstr ""
-#: plugins/portname/init.lua:103
+#: plugins/portname/init.lua:69
msgid "Save input names to file"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
+#: plugins/portname/init.lua:100 plugins/portname/init.lua:105
+#: plugins/portname/init.lua:121
msgid "Failed to save input name file"
msgstr ""
-#: plugins/portname/init.lua:167
+#: plugins/portname/init.lua:133
#, lua-format
msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/portname/init.lua:172
+#: plugins/portname/init.lua:138
msgid "Input ports"
msgstr ""
diff --git a/language/Slovak/strings.po b/language/Slovak/strings.po
index ec7e80b177d..8596637b784 100644
--- a/language/Slovak/strings.po
+++ b/language/Slovak/strings.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MAME\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-03-17 13:37+1100\n"
+"POT-Creation-Date: 2018-04-28 15:32+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -18,1144 +18,1041 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
+#: src/frontend/mame/ui/auditmenu.cpp:96
#, c-format
-msgid "Screen #%d"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Enabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Disabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
-msgid "Marquees"
+#: src/frontend/mame/ui/auditmenu.cpp:99
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/auditmenu.cpp:104
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/auditmenu.cpp:130
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/auditmenu.cpp:142
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/selmenu.cpp:49 src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/selmenu.cpp:50 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/selmenu.cpp:51
+msgid "Control Panels"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/selmenu.cpp:52 src/frontend/mame/ui/dirmenu.cpp:50
+msgid "PCBs"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/selmenu.cpp:53 src/frontend/mame/ui/dirmenu.cpp:47
+msgid "Flyers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/selmenu.cpp:54 src/frontend/mame/ui/dirmenu.cpp:48
+msgid "Titles"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/selmenu.cpp:55 src/frontend/mame/ui/dirmenu.cpp:49
+msgid "Ends"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/selmenu.cpp:56
+msgid "Artwork Preview"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/selmenu.cpp:57 src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Bosses"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/selmenu.cpp:58 src/frontend/mame/ui/dirmenu.cpp:60
+msgid "Logos"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/selmenu.cpp:59 src/frontend/mame/ui/dirmenu.cpp:62
+msgid "Versus"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/selmenu.cpp:60
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/selmenu.cpp:61 src/frontend/mame/ui/dirmenu.cpp:59
+msgid "HowTo"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/selmenu.cpp:62 src/frontend/mame/ui/dirmenu.cpp:61
+msgid "Scores"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/selmenu.cpp:63 src/frontend/mame/ui/dirmenu.cpp:57
+msgid "Select"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/selmenu.cpp:64 src/frontend/mame/ui/dirmenu.cpp:51
+#: src/frontend/mame/ui/videoopt.cpp:224
+msgid "Marquees"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/selmenu.cpp:65 src/frontend/mame/ui/dirmenu.cpp:63
+msgid "Covers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/selmenu.cpp:69
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/selmenu.cpp:70
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/selmenu.cpp:71
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/selmenu.cpp:237
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/selmenu.cpp:343
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/selmenu.cpp:570 src/frontend/mame/ui/selmenu.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:311
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/selmenu.cpp:574
+#, c-format
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/selmenu.cpp:576
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/selmenu.cpp:581
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/selmenu.cpp:586
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/selmenu.cpp:591
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selmenu.cpp:596
+#, c-format
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selmenu.cpp:612
#, c-format
-msgid "Current %1$s Folders"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selmenu.cpp:614
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selmenu.cpp:619
+#: src/frontend/mame/ui/simpleselgame.cpp:330
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selmenu.cpp:621
+#: src/frontend/mame/ui/simpleselgame.cpp:332
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:623
+#: src/frontend/mame/ui/simpleselgame.cpp:334
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:627
+#: src/frontend/mame/ui/simpleselgame.cpp:338
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/selmenu.cpp:629
+#: src/frontend/mame/ui/simpleselgame.cpp:340
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/selmenu.cpp:631
+#: src/frontend/mame/ui/simpleselgame.cpp:342
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/selmenu.cpp:634
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/selmenu.cpp:636
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/selmenu.cpp:638
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/selmenu.cpp:640
+#: src/frontend/mame/ui/simpleselgame.cpp:351
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/selmenu.cpp:650
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/selmenu.cpp:1975
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/selmenu.cpp:1976
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/selmenu.cpp:2386 src/frontend/mame/ui/miscmenu.cpp:826
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/selmenu.cpp:2454
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/selmenu.cpp:2489
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/dirmenu.cpp:35
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/dirmenu.cpp:36
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
-#: src/frontend/mame/ui/slotopt.cpp:220
-msgid "[empty slot]"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/dirmenu.cpp:40
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/dirmenu.cpp:52
+msgid "Controls Panels"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/dirmenu.cpp:53
+msgid "Crosshairs"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Artworks"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks Preview"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "GameOver"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/dirmenu.cpp:116
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/dirmenu.cpp:167
+#, c-format
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/dirmenu.cpp:182
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/dirmenu.cpp:429
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/dirmenu.cpp:513
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/info.cpp:30
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "LAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/info.cpp:180
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/info.cpp:190
+msgid ""
+"There are known problems with this machine\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/info.cpp:195
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/info.cpp:200
+msgid "Completely unemulated features: "
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#, c-format
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#: src/frontend/mame/ui/info.cpp:267
+#, c-format
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/info.cpp:216
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/info.cpp:231
+msgid "Screen flipping in cocktail mode is not supported.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/info.cpp:233
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/info.cpp:235
+msgid ""
+"This machine was never completed. It may exhibit strange behavior or missing "
+"elements that are not bugs in the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/info.cpp:237
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/info.cpp:241
+msgid ""
+"\n"
+"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
+"complete. There is nothing you can do to fix this problem except wait for "
+"the developers to improve the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/info.cpp:243
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they requires physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/info.cpp:265
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/info.cpp:278
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/info.cpp:293
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:149
+#: src/frontend/mame/ui/info.cpp:342
msgid ""
-"The selected game is missing one or more required ROM or CHD images. Please "
-"select a different game.\n"
"\n"
-"Press any key to continue."
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:247
-#, c-format
+#: src/frontend/mame/ui/info.cpp:370
msgid ""
-"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
"\n"
-"If this is your first time using %2$s, please see the config.txt file in the "
-"docs directory for information on configuring %2$s."
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+"Video:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/info.cpp:374
+msgid "None\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/info.cpp:381
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:314
-#: src/frontend/mame/ui/selsoft.cpp:652 src/frontend/mame/ui/selsoft.cpp:659
+#: src/frontend/mame/ui/info.cpp:392
#, c-format
-msgid "%1$-.100s"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:317
-#: src/frontend/mame/ui/selmenu.cpp:618 src/frontend/mame/ui/selmenu.cpp:654
-#, c-format
-msgid "%1$s, %2$-.100s"
+#: src/frontend/mame/ui/info.cpp:392
+msgid "%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
+#: src/frontend/mame/ui/info.cpp:438
#, c-format
-msgid "Driver: %1$-.100s"
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+msgid "Screen '%1$s'"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/info.cpp:440
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/info.cpp:525
+msgid "Not supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/info.cpp:528
+msgid "Partially supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/info.cpp:536
+msgid "[empty]"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/optsmenu.cpp:193
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/optsmenu.cpp:206
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/optsmenu.cpp:207
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/optsmenu.cpp:210 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/optsmenu.cpp:213
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/optsmenu.cpp:216
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/optsmenu.cpp:228
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:337
-msgid "This driver requires images to be loaded in the following device(s): "
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
+msgid "Rewind"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1302
-#, c-format
-msgid ""
-"Are you sure you want to quit?\n"
-"\n"
-"Press ''%1$s'' to quit,\n"
-"Press ''%2$s'' to return to emulation."
+#: src/frontend/mame/ui/inputmap.cpp:53
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/inputmap.cpp:59
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
+#: src/frontend/mame/ui/inputmap.cpp:628 src/frontend/mame/ui/miscmenu.cpp:96
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/selector.cpp:116
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
+#: src/frontend/mame/ui/selector.cpp:124
#, c-format
-msgid "Overclock %1$s sound"
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/filesel.cpp:256
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/swlist.cpp:88
+msgid "[file manager]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/swlist.cpp:228
+msgid "Switch Item Ordering"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
+#: src/frontend/mame/ui/swlist.cpp:259
#, c-format
-msgid "%1$s Horiz Stretch"
+msgid "Switched Order: entries now ordered by %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "shortname"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "description"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/swlist.cpp:389
+msgid "[compatible lists]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/datmenu.cpp:80
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/datmenu.cpp:362
+msgid "Revision: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/simpleselgame.cpp:149
+msgid ""
+"The selected game is missing one or more required ROM or CHD images. Please "
+"select a different game.\n"
+"\n"
+"Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
+#: src/frontend/mame/ui/simpleselgame.cpp:241
#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+msgid ""
+"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
+"\n"
+"If this is your first time using %2$s, please see the config.txt file in the "
+"docs directory for information on configuring %2$s."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/simpleselgame.cpp:271
+#: src/frontend/mame/ui/selgame.cpp:436
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/simpleselgame.cpp:292
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/simpleselgame.cpp:294
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
+#: src/frontend/mame/ui/simpleselgame.cpp:308
+#: src/frontend/mame/ui/selsoft.cpp:564 src/frontend/mame/ui/selsoft.cpp:571
#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/simpleselgame.cpp:314
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
+#: src/frontend/mame/ui/videoopt.cpp:56
#, c-format
-msgid "Crosshair Offset %1$s"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/videoopt.cpp:208
+msgid "Backdrops"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Enabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Disabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
-#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
-#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
-#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
-#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
-#: src/frontend/mame/ui/ui.cpp:1927
-#, c-format
-msgid "%1$.3f"
+#: src/frontend/mame/ui/videoopt.cpp:212
+msgid "Overlays"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
-#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
-#, c-format
-msgid "%1$1.2f"
+#: src/frontend/mame/ui/videoopt.cpp:216
+msgid "Bezels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:220
+msgid "CPanels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "View"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cropped"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Full"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1047
+msgid "No"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
-msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1047
+msgid "Yes"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
-msgid ""
-"Cheat Comment:\n"
-"%s"
+#: src/frontend/mame/ui/filecreate.cpp:171
+msgid "New Image Name:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/filecreate.cpp:177
+msgid "Image Format:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/filecreate.cpp:183
+msgid "Create"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/filecreate.cpp:266
+msgid "Select image format"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Keyboard Mode:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Natural"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Emulated"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
+#: src/frontend/mame/ui/miscmenu.cpp:236
#, c-format
msgid ""
-"%s\n"
-" added to favorites list."
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
+#: src/frontend/mame/ui/miscmenu.cpp:238
#, c-format
msgid ""
-"%s\n"
-" removed from favorites list."
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/miscmenu.cpp:242
+#, c-format
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
+"Tickets dispensed: %1$d\n"
"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
+#: src/frontend/mame/ui/miscmenu.cpp:253
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/miscmenu.cpp:253
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
-#, c-format
-msgid "Driver: \"%1$s\" software list "
+#: src/frontend/mame/ui/miscmenu.cpp:256
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
-#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+#: src/frontend/mame/ui/miscmenu.cpp:503
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/miscmenu.cpp:601
#, c-format
-msgid "Search: %1$s_"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
-msgid "Unfiltered"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
-msgid "Available"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
-msgid "Unavailable"
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
-msgid "Working"
+#: src/frontend/mame/ui/miscmenu.cpp:627
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
-msgid "Not Working"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
-msgid "Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:655
+msgid "Export list in XML format (like -listxml)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
-msgid "Not Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:656
+msgid "Export list in XML format (like -listxml, but exclude devices)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
-msgid "Category"
+#: src/frontend/mame/ui/miscmenu.cpp:657
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
-msgid "Favorites"
+#: src/frontend/mame/ui/miscmenu.cpp:710 src/frontend/mame/ui/ui.cpp:2230
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/miscmenu.cpp:760 src/frontend/mame/ui/utils.cpp:66
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
-msgid "Not BIOS"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
-msgid "Parents"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
-msgid "Clones"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:73
-msgid "Manufacturer"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
-msgid "Year"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:75
-msgid "Save Supported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:76
-msgid "Save Unsupported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:77
-msgid "CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:78
-msgid "No CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:79
-msgid "Vertical Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:80
-msgid "Horizontal Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
-msgid "Custom Filter"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:91
-msgid "Publisher"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:92
-msgid "Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:764
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
-msgid "Partially Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:767
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
-msgid "Unsupported"
+#: src/frontend/mame/ui/miscmenu.cpp:776 src/frontend/mame/ui/mainmenu.cpp:145
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
-msgid "Release Region"
+#: src/frontend/mame/ui/miscmenu.cpp:778 src/frontend/mame/ui/mainmenu.cpp:147
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
-msgid "Device Type"
+#: src/frontend/mame/ui/miscmenu.cpp:781
+msgid "Save machine configuration"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
-msgid "Software List"
+#: src/frontend/mame/ui/miscmenu.cpp:792
+msgid "Configure machine:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
-msgid "<set up filters>"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:736
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:551 plugins/cheatfind/init.lua:619
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
-msgid "Select custom filters:"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:739
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:554 plugins/cheat/init.lua:563
+#: plugins/cheatfind/init.lua:616
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
-#, c-format
-msgid "Filter %1$u"
+#: src/frontend/mame/ui/miscmenu.cpp:909 src/frontend/mame/ui/selgame.cpp:441
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
-msgid "Remove last filter"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
-msgid "Add filter"
+#: src/frontend/mame/ui/barcode.cpp:78
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
-msgid "Select category:"
+#: src/frontend/mame/ui/barcode.cpp:119
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
-msgid "[no category INI files]"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:99
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
-msgid "[no groups in INI file]"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
-msgid "No category INI files found"
+#: src/frontend/mame/ui/mainmenu.cpp:60
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
-msgid "File"
+#: src/frontend/mame/ui/mainmenu.cpp:62
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
-msgid "No groups found in category file"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
-msgid "Group"
+#: src/frontend/mame/ui/mainmenu.cpp:68
+msgid "Dip Switches"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
-msgid "Include clones"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
+#: src/frontend/mame/ui/mainmenu.cpp:78
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/mainmenu.cpp:85
+msgid "Image Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/mainmenu.cpp:96
+msgid "Tape Control"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/mainmenu.cpp:102
+msgid "BIOS Selection"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/mainmenu.cpp:106
+msgid "Slot Devices"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
-#, c-format
-msgid "%s [internal]"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Barcode Reader"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:203 src/frontend/mame/ui/miscmenu.cpp:97
-#: src/frontend/mame/ui/inputmap.cpp:615
-msgid "Reset"
+#: src/frontend/mame/ui/mainmenu.cpp:114
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/mainmenu.cpp:118
+msgid "Keyboard Mode"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/mainmenu.cpp:121
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/mainmenu.cpp:124 src/frontend/mame/ui/submenu.cpp:101
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/mainmenu.cpp:128
+msgid "Crosshair Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/mainmenu.cpp:132 plugins/cheat/init.lua:735
+msgid "Cheat"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:762
-#: plugins/cheat/init.lua:569 plugins/cheatfind/init.lua:792
-#: plugins/cheatfind/init.lua:803
-msgid "On"
+#: src/frontend/mame/ui/mainmenu.cpp:135
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:765
-#: plugins/cheat/init.lua:572 plugins/cheat/init.lua:581
-#: plugins/cheatfind/init.lua:789 plugins/cheatfind/init.lua:800
-msgid "Off"
+#: src/frontend/mame/ui/mainmenu.cpp:139
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/mainmenu.cpp:154
+msgid "Select New Machine"
msgstr ""
#: src/frontend/mame/ui/custui.cpp:31
@@ -1378,1281 +1275,1303 @@ msgstr ""
msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/submenu.cpp:22
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/submenu.cpp:23
+msgid "Re-select last machine played"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/submenu.cpp:24
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:26
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:27
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:28
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:29
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:30
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
-#, c-format
-msgid "%s.txt saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/submenu.cpp:45
+msgid "Refresh speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/submenu.cpp:47
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/submenu.cpp:49
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
-msgid "Configure Machine"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
-#, c-format
-msgid "Romset\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
-#, c-format
-msgid "Year\t%1$s\n"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
-#, c-format
-msgid "Manufacturer\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
-#, c-format
-msgid "Driver is Clone of\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1044
-msgid "Driver is Parent\t\n"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
-msgid "Analog Controls\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Artwork Crop"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
-msgid "Keyboard Inputs\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Use Backdrops"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
-msgid "Overall\tNOT WORKING\n"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Use Overlays"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
-msgid "Overall\tUnemulated Protection\n"
+#: src/frontend/mame/ui/submenu.cpp:60
+msgid "Use Bezels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
-msgid "Overall\tWorking\n"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Use Control Panels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
-msgid "Graphics\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:62
+msgid "Use Marquees"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
-msgid "Graphics\tWrong Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
-msgid "Graphics\tImperfect Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
-msgid "Graphics\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
-msgid "Graphics\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Bilinear snapshot"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
-msgid "Sound\tNone\n"
+#: src/frontend/mame/ui/submenu.cpp:69
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
-msgid "Sound\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
-msgid "Sound\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:72
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
-msgid "Sound\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
-msgid "Capture\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
-msgid "Capture\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
-msgid "Camera\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
-msgid "Camera\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
-msgid "Microphone\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
-msgid "Microphone\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:79
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
-msgid "Controls\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
-msgid "Controls\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
-msgid "Keyboard\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Joystick saturation"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
-msgid "Keyboard\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Natural keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
-msgid "Mouse\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
-msgid "Mouse\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
-msgid "Media\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
-msgid "Media\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Lightgun Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
-msgid "Disk\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Trackball Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
-msgid "Disk\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
-msgid "Printer\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
-msgid "Printer\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
-msgid "Mag. Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:95
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
-msgid "Mag. Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:96
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
-msgid "Punch Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:97
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
-msgid "Punch Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
-msgid "Mag. Drum\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:103
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
-msgid "Mag. Drum\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
-msgid "(EP)ROM\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
-msgid "(EP)ROM\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
-msgid "Communications\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:109
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
-msgid "Communications\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:110
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
-msgid "LAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:111
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
-msgid "LAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:112
+msgid "Enforce Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
-msgid "WAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:113
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
-msgid "WAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:114
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
-msgid "Timing\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
-msgid "Timing\tImperfect\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tYes\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Select position to load from"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tNo\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tYes\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Select position to save to"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tNo\n"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:309 src/frontend/mame/ui/selsoft.cpp:211
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:314 src/frontend/mame/ui/selgame.cpp:320
+#: src/frontend/mame/ui/selsoft.cpp:216
+#, c-format
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:437
+msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:849
+#, c-format
+msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:850
+#, c-format
+msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:851
+#, c-format
+msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:855
+#, c-format
+msgid "Driver is Clone of\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:857
+msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tVertical\n"
+#: src/frontend/mame/ui/selgame.cpp:860
+msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tHorizontal\n"
+#: src/frontend/mame/ui/selgame.cpp:862
+msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:865
+msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:867
+msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
-msgid "ROM Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:869
+msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
-msgid "ROM Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:872
+msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
-msgid "Samples Audit Result\tNone Needed\n"
+#: src/frontend/mame/ui/selgame.cpp:874
+msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
-msgid "Samples Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:876
+msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
-msgid "Samples Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:878
+msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
-msgid ""
-"ROM Audit \tDisabled\n"
-"Samples Audit \tDisabled\n"
+#: src/frontend/mame/ui/selgame.cpp:880
+msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
+#: src/frontend/mame/ui/selgame.cpp:883
+msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1424
-#, c-format
-msgid "Romset: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:885
+msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
-#, c-format
-msgid "System: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:887
+msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1465
-msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
+#: src/frontend/mame/ui/selgame.cpp:889
+msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
+#: src/frontend/mame/ui/selgame.cpp:892
+msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
+#: src/frontend/mame/ui/selgame.cpp:894
+msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
+#: src/frontend/mame/ui/selgame.cpp:897
+msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
+#: src/frontend/mame/ui/selgame.cpp:899
+msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
+#: src/frontend/mame/ui/selgame.cpp:902
+msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selgame.cpp:904
+msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selgame.cpp:907
+msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/selgame.cpp:909
+msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/selgame.cpp:912
+msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/selgame.cpp:914
+msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/selgame.cpp:917
+msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/selgame.cpp:919
+msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/selgame.cpp:922
+msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/selgame.cpp:924
+msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/selgame.cpp:927
+msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/selgame.cpp:929
+msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/selgame.cpp:932
+msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/selgame.cpp:934
+msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/selgame.cpp:937
+msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/selgame.cpp:939
+msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/selgame.cpp:970
+msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/selgame.cpp:972
+msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/selgame.cpp:975
+msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/selgame.cpp:977
+msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/selgame.cpp:979
+msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/selgame.cpp:983
+msgid ""
+"ROM Audit \tDisabled\n"
+"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/selgame.cpp:1167
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/selgame.cpp:1183 src/frontend/mame/ui/selsoft.cpp:555
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/selgame.cpp:1185 src/frontend/mame/ui/selsoft.cpp:557
+#, c-format
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/selgame.cpp:1195
+#, c-format
+msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/selgame.cpp:1202
+#, c-format
+msgid "System: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/selgame.cpp:1239
+msgid ""
+"The selected machine is missing one or more required ROM or CHD images. "
+"Please select a different machine.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/selgame.cpp:1245 src/frontend/mame/ui/selsoft.cpp:462
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/utils.cpp:57 src/frontend/mame/ui/utils.cpp:81
+msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/utils.cpp:58 src/frontend/mame/ui/utils.cpp:82
+msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/utils.cpp:59 src/frontend/mame/ui/utils.cpp:83
+msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/utils.cpp:60
+msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/utils.cpp:61
+msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/utils.cpp:62
+msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:63
+msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:64
+msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:65
+msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:67
+msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:84
+msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/utils.cpp:85
+msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:70
+msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:86
+msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/utils.cpp:72
+msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/utils.cpp:73
+msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/utils.cpp:74
+msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/utils.cpp:75
+msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/utils.cpp:76
+msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/utils.cpp:77
+msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/utils.cpp:78 src/frontend/mame/ui/utils.cpp:94
+msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/utils.cpp:87
+msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/utils.cpp:88
+msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/utils.cpp:89
+msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/utils.cpp:90
+msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/utils.cpp:91
+msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:43
-#, c-format
-msgid ""
-"[This option is currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"The selected option enables the following items:\n"
+#: src/frontend/mame/ui/utils.cpp:92
+msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:44
-#, c-format
-msgid ""
-"[This option is NOT currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"If you select this option, the following items will be enabled:\n"
+#: src/frontend/mame/ui/utils.cpp:93
+msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/utils.cpp:244
+msgid "<set up filters>"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:352
+msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/utils.cpp:503
#, c-format
-msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
-msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:518
+msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %3$d.%4$06d MHz\n"
+#: src/frontend/mame/ui/utils.cpp:520
+msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:959
+msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/utils.cpp:990
+msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/utils.cpp:998
+msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:103
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1032
+msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1037
+msgid "File"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/utils.cpp:1041
+msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
-#, c-format
-msgid " %1$d×%2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1046
+msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1047
+msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:168
-#, c-format
+#: src/frontend/mame/ui/selsoft.cpp:456
msgid ""
-"* BIOS settings:\n"
-" %1$d options [default: %2$s]\n"
+"The selected software is missing one or more required files. Please select a "
+"different software.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:208 src/frontend/mame/ui/devopt.cpp:224
-#: src/frontend/mame/ui/devopt.cpp:269
+#: src/frontend/mame/ui/selsoft.cpp:549
#, c-format
-msgid " %1$s [default: %2$s]\n"
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
+#: src/frontend/mame/ui/selsoft.cpp:550
#, c-format
-msgid " %1$s\n"
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:260
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:419
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/filesel.cpp:515
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:516
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:518
+msgid "Read-write"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
-#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:519
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:520
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:117
+msgid "Cannot save over directory"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:150
+msgid ""
+"The software selected is missing one or more required ROM or CHD images. "
+"Please select a different one."
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:294
+msgid "Return to Machine"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
-#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:299 src/frontend/mame/ui/menu.cpp:301
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+#: src/frontend/mame/ui/menu.cpp:306 src/frontend/mame/ui/menu.cpp:308
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
-#, c-format
-msgid " %1$s [tag: %2$s]\n"
+#: src/frontend/mame/ui/menu.cpp:742
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
+#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:653
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+#: src/frontend/mame/ui/cheatopt.cpp:105
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/cheatopt.cpp:136
+msgid "Autofire Settings"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:581
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:582
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
+#: src/frontend/mame/ui/cheatopt.cpp:273
+msgid "Autofire Status"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
+#: src/frontend/mame/ui/cheatopt.cpp:316
+msgid "No buttons found on this machine!"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+#: src/frontend/mame/ui/cheatopt.cpp:327 src/frontend/mame/ui/cheatopt.cpp:331
+msgid "Autofire Delay"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
-msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
+#: src/frontend/mame/ui/ui.cpp:337
+msgid "This driver requires images to be loaded in the following device(s): "
msgstr ""
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
+#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
+msgid "Keyboard Emulation Status"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
+#: src/frontend/mame/ui/ui.cpp:1086
+msgid "Mode: PARTIAL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
+#: src/frontend/mame/ui/ui.cpp:1087
+msgid "UI: Enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
+#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
+msgid "**Use ScrLock to toggle**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
+#: src/frontend/mame/ui/ui.cpp:1096
+msgid "Mode: FULL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: src/frontend/mame/ui/ui.cpp:1097
+msgid "UI: Disabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
+#: src/frontend/mame/ui/ui.cpp:1249
+msgid "Autofire can't be enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
+#: src/frontend/mame/ui/ui.cpp:1302
+#, c-format
+msgid ""
+"Are you sure you want to quit?\n"
+"\n"
+"Press ''%1$s'' to quit,\n"
+"Press ''%2$s'' to return to emulation."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
+#: src/frontend/mame/ui/ui.cpp:1374
+msgid "Master Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
+#: src/frontend/mame/ui/ui.cpp:1383
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/ui.cpp:1407
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/ui.cpp:1416
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/ui.cpp:1437
+#, c-format
+msgid "%1$s Refresh Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, c-format
+msgid "%1$s Brightness"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1444
+#, c-format
+msgid "%1$s Contrast"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1446
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/ui.cpp:1450
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/ui.cpp:1452
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/ui.cpp:1454
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/ui.cpp:1456
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/ui.cpp:1475
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/ui.cpp:1477
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/ui.cpp:1479
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
-msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+#: src/frontend/mame/ui/ui.cpp:1481
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:198
-msgid ""
-"There are known problems with this machine\n"
-"\n"
+#: src/frontend/mame/ui/ui.cpp:1493
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/ui.cpp:1494
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/ui.cpp:1495
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
+#: src/frontend/mame/ui/ui.cpp:1496
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#: src/frontend/mame/ui/info.cpp:275
+#: src/frontend/mame/ui/ui.cpp:1511
#, c-format
-msgid ", %s"
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
+#: src/frontend/mame/ui/ui.cpp:1513
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:243
-msgid ""
-"This machine was never completed. It may exhibit strange behavior or missing "
-"elements that are not bugs in the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1601
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:245
-msgid ""
-"This machine has no sound hardware, MAME will produce no sounds, this is "
-"expected behaviour.\n"
+#: src/frontend/mame/ui/ui.cpp:1645
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:249
-msgid ""
-"\n"
-"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
-"complete. There is nothing you can do to fix this problem except wait for "
-"the developers to improve the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1661
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:251
-msgid ""
-"\n"
-"Elements of this machine cannot be emulated as they requires physical "
-"interaction or consist of mechanical devices. It is not possible to fully "
-"experience this machine.\n"
+#: src/frontend/mame/ui/ui.cpp:1685
+#, c-format
+msgid "%1$.3ffps"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
+#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
+#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
+#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
+#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
+#: src/frontend/mame/ui/ui.cpp:1927
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
+#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/ui.cpp:2005
#, c-format
-msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/ui.cpp:2226
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " COLORS"
+msgstr ""
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:39
#, c-format
-msgid "%1$s: %2$s\n"
+msgid ""
+"[This option is currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"The selected option enables the following items:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+#: src/frontend/mame/ui/devopt.cpp:40
+#, c-format
+msgid ""
+"[This option is NOT currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"If you select this option, the following items will be enabled:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:48
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
#, c-format
-msgid "Screen '%1$s'"
+msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
+msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:85
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:90
+#, c-format
+msgid " Screen '%1$s': Vector\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:99
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:100
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:113
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:133
+#, c-format
+msgid " %1$d×%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:164
+#, c-format
+msgid ""
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:204 src/frontend/mame/ui/devopt.cpp:220
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
+#: src/frontend/mame/ui/devopt.cpp:209 src/frontend/mame/ui/devopt.cpp:225
#, c-format
-msgid "Software is clone of: %1$-.100s"
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: src/frontend/mame/ui/devopt.cpp:230
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: src/frontend/mame/ui/devopt.cpp:232
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: src/frontend/mame/ui/devopt.cpp:234
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: src/frontend/mame/ui/devopt.cpp:236
+#, c-format
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
+#: src/frontend/mame/ui/devopt.cpp:238
#, c-format
-msgid "romset: %1$-.100s"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
+#: src/frontend/mame/ui/devopt.cpp:240
#, c-format
-msgid "Driver is clone of: %1$-.100s"
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: src/frontend/mame/ui/devopt.cpp:242
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
+#: src/frontend/mame/ui/devopt.cpp:244
#, c-format
-msgid "%1$s %2$s"
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: src/frontend/mame/ui/devopt.cpp:246
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: src/frontend/mame/ui/devopt.cpp:248
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: src/frontend/mame/ui/devopt.cpp:257
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: src/frontend/mame/ui/devopt.cpp:263
+msgid "* Slot Options:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:270
+msgid "[None]\n"
msgstr ""
#: plugins/timer/init.lua:94
@@ -2671,51 +2590,51 @@ msgstr ""
msgid "Timer"
msgstr ""
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:510
msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheat/init.lua:534
+#: plugins/cheat/init.lua:516
msgid "Press button for hotkey or wait to clear"
msgstr ""
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:528
msgid "None"
msgstr ""
-#: plugins/cheat/init.lua:551
+#: plugins/cheat/init.lua:533
msgid "Done"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:547 plugins/cheat/init.lua:561
msgid "Set"
msgstr ""
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:580
msgid "Set hotkeys"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:720
#, lua-format
msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:723 plugins/cheat/init.lua:781
#, lua-format
msgid "Activated: %s"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:785
#, lua-format
msgid "Enabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:790
#, lua-format
msgid "Disabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "%s added"
msgstr ""
@@ -2764,303 +2683,218 @@ msgstr ""
msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:404
+#: plugins/cheatfind/init.lua:373
msgid "Save Cheat"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Default"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Custom"
msgstr ""
-#: plugins/cheatfind/init.lua:408
+#: plugins/cheatfind/init.lua:377
msgid "Cheat Name"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/cheatfind/init.lua:383 plugins/cheatfind/init.lua:748
#, lua-format
msgid "Default name is %s"
msgstr ""
-#: plugins/cheatfind/init.lua:422
+#: plugins/cheatfind/init.lua:391
msgid "Player"
msgstr ""
-#: plugins/cheatfind/init.lua:427
+#: plugins/cheatfind/init.lua:396
msgid "Type"
msgstr ""
-#: plugins/cheatfind/init.lua:433
+#: plugins/cheatfind/init.lua:402
msgid "Save"
msgstr ""
-#: plugins/cheatfind/init.lua:462
+#: plugins/cheatfind/init.lua:429
#, lua-format
msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:472
+#: plugins/cheatfind/init.lua:437
msgid "Cheat added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:442
msgid ""
"Unable to write file\n"
"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/cheatfind/init.lua:486
+#: plugins/cheatfind/init.lua:451
msgid "Cancel"
msgstr ""
-#: plugins/cheatfind/init.lua:491
+#: plugins/cheatfind/init.lua:456
msgid "CPU or RAM"
msgstr ""
-#: plugins/cheatfind/init.lua:495
+#: plugins/cheatfind/init.lua:460
msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:479
+msgid "Data cleared and current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:487
+msgid "Start new search"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:497
+msgid "Current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:504
+msgid "Save current -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
+#: plugins/cheatfind/init.lua:536
#, lua-format
-msgid "Memory State saved to Slot %d"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:543
+msgid "Compare"
msgstr ""
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
+#: plugins/cheatfind/init.lua:546
+msgid "Left operand"
+msgstr ""
+
+#: plugins/cheatfind/init.lua:549
+msgid "Current"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:554
+msgid "Operator"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:561
+msgid "Left less than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:563
+msgid "Left greater than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:676
+#: plugins/cheatfind/init.lua:565
msgid "Left equal to right"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:567
+msgid "Left not equal to right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:680
+#: plugins/cheatfind/init.lua:569
msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:682
+#: plugins/cheatfind/init.lua:571
msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:684
+#: plugins/cheatfind/init.lua:573
msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:686
+#: plugins/cheatfind/init.lua:575
msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:688
+#: plugins/cheatfind/init.lua:577
msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:690
+#: plugins/cheatfind/init.lua:579
msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/cheatfind/init.lua:590
+msgid "Right operand"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/cheatfind/init.lua:598
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:719
+#: plugins/cheatfind/init.lua:602
msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:725
+#: plugins/cheatfind/init.lua:608
msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:738
-msgid ""
-"Use this if you want to poke the Slot 1 value (eg. You started with "
-"something but lost it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:740
-msgid ""
-"Use this if you want to poke the Last Slot value (eg. You started without an "
-"item but finally got it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:816
+#: plugins/cheatfind/init.lua:632
msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:820
+#: plugins/cheatfind/init.lua:636
msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:823
+#: plugins/cheatfind/init.lua:639
msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheatfind/init.lua:690
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Test cheat at addr %08X"
msgstr ""
-#: plugins/cheatfind/init.lua:974
+#: plugins/cheatfind/init.lua:722
msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
+#: plugins/cheatfind/init.lua:788
msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
+#: plugins/cheatfind/init.lua:806
msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
+#: plugins/cheatfind/init.lua:816
msgid "Cheat Finder"
msgstr ""
-#: plugins/portname/init.lua:103
+#: plugins/portname/init.lua:69
msgid "Save input names to file"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
+#: plugins/portname/init.lua:100 plugins/portname/init.lua:105
+#: plugins/portname/init.lua:121
msgid "Failed to save input name file"
msgstr ""
-#: plugins/portname/init.lua:167
+#: plugins/portname/init.lua:133
#, lua-format
msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/portname/init.lua:172
+#: plugins/portname/init.lua:138
msgid "Input ports"
msgstr ""
diff --git a/language/Slovenian/strings.po b/language/Slovenian/strings.po
index f3e6695c98d..e91929e7c98 100644
--- a/language/Slovenian/strings.po
+++ b/language/Slovenian/strings.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MAME\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-03-17 13:37+1100\n"
+"POT-Creation-Date: 2018-04-28 15:32+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -19,1144 +19,1041 @@ msgstr ""
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n"
"%100==4 ? 2 : 3);\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
+#: src/frontend/mame/ui/auditmenu.cpp:96
#, c-format
-msgid "Screen #%d"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Enabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Disabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
-msgid "Marquees"
+#: src/frontend/mame/ui/auditmenu.cpp:99
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/auditmenu.cpp:104
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/auditmenu.cpp:130
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/auditmenu.cpp:142
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/selmenu.cpp:49 src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/selmenu.cpp:50 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/selmenu.cpp:51
+msgid "Control Panels"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/selmenu.cpp:52 src/frontend/mame/ui/dirmenu.cpp:50
+msgid "PCBs"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/selmenu.cpp:53 src/frontend/mame/ui/dirmenu.cpp:47
+msgid "Flyers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/selmenu.cpp:54 src/frontend/mame/ui/dirmenu.cpp:48
+msgid "Titles"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/selmenu.cpp:55 src/frontend/mame/ui/dirmenu.cpp:49
+msgid "Ends"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/selmenu.cpp:56
+msgid "Artwork Preview"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/selmenu.cpp:57 src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Bosses"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/selmenu.cpp:58 src/frontend/mame/ui/dirmenu.cpp:60
+msgid "Logos"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/selmenu.cpp:59 src/frontend/mame/ui/dirmenu.cpp:62
+msgid "Versus"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/selmenu.cpp:60
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/selmenu.cpp:61 src/frontend/mame/ui/dirmenu.cpp:59
+msgid "HowTo"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/selmenu.cpp:62 src/frontend/mame/ui/dirmenu.cpp:61
+msgid "Scores"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/selmenu.cpp:63 src/frontend/mame/ui/dirmenu.cpp:57
+msgid "Select"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/selmenu.cpp:64 src/frontend/mame/ui/dirmenu.cpp:51
+#: src/frontend/mame/ui/videoopt.cpp:224
+msgid "Marquees"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/selmenu.cpp:65 src/frontend/mame/ui/dirmenu.cpp:63
+msgid "Covers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/selmenu.cpp:69
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/selmenu.cpp:70
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/selmenu.cpp:71
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/selmenu.cpp:237
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/selmenu.cpp:343
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/selmenu.cpp:570 src/frontend/mame/ui/selmenu.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:311
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/selmenu.cpp:574
+#, c-format
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/selmenu.cpp:576
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/selmenu.cpp:581
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/selmenu.cpp:586
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/selmenu.cpp:591
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selmenu.cpp:596
+#, c-format
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selmenu.cpp:612
#, c-format
-msgid "Current %1$s Folders"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selmenu.cpp:614
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selmenu.cpp:619
+#: src/frontend/mame/ui/simpleselgame.cpp:330
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selmenu.cpp:621
+#: src/frontend/mame/ui/simpleselgame.cpp:332
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:623
+#: src/frontend/mame/ui/simpleselgame.cpp:334
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:627
+#: src/frontend/mame/ui/simpleselgame.cpp:338
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/selmenu.cpp:629
+#: src/frontend/mame/ui/simpleselgame.cpp:340
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/selmenu.cpp:631
+#: src/frontend/mame/ui/simpleselgame.cpp:342
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/selmenu.cpp:634
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/selmenu.cpp:636
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/selmenu.cpp:638
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/selmenu.cpp:640
+#: src/frontend/mame/ui/simpleselgame.cpp:351
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/selmenu.cpp:650
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/selmenu.cpp:1975
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/selmenu.cpp:1976
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/selmenu.cpp:2386 src/frontend/mame/ui/miscmenu.cpp:826
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/selmenu.cpp:2454
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/selmenu.cpp:2489
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/dirmenu.cpp:35
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/dirmenu.cpp:36
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
-#: src/frontend/mame/ui/slotopt.cpp:220
-msgid "[empty slot]"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/dirmenu.cpp:40
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/dirmenu.cpp:52
+msgid "Controls Panels"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/dirmenu.cpp:53
+msgid "Crosshairs"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Artworks"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks Preview"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "GameOver"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/dirmenu.cpp:116
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/dirmenu.cpp:167
+#, c-format
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/dirmenu.cpp:182
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/dirmenu.cpp:429
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/dirmenu.cpp:513
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/info.cpp:30
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "LAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/info.cpp:180
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/info.cpp:190
+msgid ""
+"There are known problems with this machine\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/info.cpp:195
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/info.cpp:200
+msgid "Completely unemulated features: "
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#, c-format
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#: src/frontend/mame/ui/info.cpp:267
+#, c-format
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/info.cpp:216
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/info.cpp:231
+msgid "Screen flipping in cocktail mode is not supported.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/info.cpp:233
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/info.cpp:235
+msgid ""
+"This machine was never completed. It may exhibit strange behavior or missing "
+"elements that are not bugs in the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/info.cpp:237
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/info.cpp:241
+msgid ""
+"\n"
+"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
+"complete. There is nothing you can do to fix this problem except wait for "
+"the developers to improve the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/info.cpp:243
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they requires physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/info.cpp:265
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/info.cpp:278
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/info.cpp:293
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:149
+#: src/frontend/mame/ui/info.cpp:342
msgid ""
-"The selected game is missing one or more required ROM or CHD images. Please "
-"select a different game.\n"
"\n"
-"Press any key to continue."
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:247
-#, c-format
+#: src/frontend/mame/ui/info.cpp:370
msgid ""
-"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
"\n"
-"If this is your first time using %2$s, please see the config.txt file in the "
-"docs directory for information on configuring %2$s."
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+"Video:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/info.cpp:374
+msgid "None\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/info.cpp:381
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:314
-#: src/frontend/mame/ui/selsoft.cpp:652 src/frontend/mame/ui/selsoft.cpp:659
+#: src/frontend/mame/ui/info.cpp:392
#, c-format
-msgid "%1$-.100s"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:317
-#: src/frontend/mame/ui/selmenu.cpp:618 src/frontend/mame/ui/selmenu.cpp:654
-#, c-format
-msgid "%1$s, %2$-.100s"
+#: src/frontend/mame/ui/info.cpp:392
+msgid "%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
+#: src/frontend/mame/ui/info.cpp:438
#, c-format
-msgid "Driver: %1$-.100s"
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+msgid "Screen '%1$s'"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/info.cpp:440
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/info.cpp:525
+msgid "Not supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/info.cpp:528
+msgid "Partially supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/info.cpp:536
+msgid "[empty]"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/optsmenu.cpp:193
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/optsmenu.cpp:206
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/optsmenu.cpp:207
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/optsmenu.cpp:210 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/optsmenu.cpp:213
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/optsmenu.cpp:216
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/optsmenu.cpp:228
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:337
-msgid "This driver requires images to be loaded in the following device(s): "
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
+msgid "Rewind"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1302
-#, c-format
-msgid ""
-"Are you sure you want to quit?\n"
-"\n"
-"Press ''%1$s'' to quit,\n"
-"Press ''%2$s'' to return to emulation."
+#: src/frontend/mame/ui/inputmap.cpp:53
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/inputmap.cpp:59
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
+#: src/frontend/mame/ui/inputmap.cpp:628 src/frontend/mame/ui/miscmenu.cpp:96
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/selector.cpp:116
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
+#: src/frontend/mame/ui/selector.cpp:124
#, c-format
-msgid "Overclock %1$s sound"
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/filesel.cpp:256
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/swlist.cpp:88
+msgid "[file manager]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/swlist.cpp:228
+msgid "Switch Item Ordering"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
+#: src/frontend/mame/ui/swlist.cpp:259
#, c-format
-msgid "%1$s Horiz Stretch"
+msgid "Switched Order: entries now ordered by %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "shortname"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "description"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/swlist.cpp:389
+msgid "[compatible lists]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/datmenu.cpp:80
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/datmenu.cpp:362
+msgid "Revision: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/simpleselgame.cpp:149
+msgid ""
+"The selected game is missing one or more required ROM or CHD images. Please "
+"select a different game.\n"
+"\n"
+"Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
+#: src/frontend/mame/ui/simpleselgame.cpp:241
#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+msgid ""
+"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
+"\n"
+"If this is your first time using %2$s, please see the config.txt file in the "
+"docs directory for information on configuring %2$s."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/simpleselgame.cpp:271
+#: src/frontend/mame/ui/selgame.cpp:436
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/simpleselgame.cpp:292
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/simpleselgame.cpp:294
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
+#: src/frontend/mame/ui/simpleselgame.cpp:308
+#: src/frontend/mame/ui/selsoft.cpp:564 src/frontend/mame/ui/selsoft.cpp:571
#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/simpleselgame.cpp:314
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
+#: src/frontend/mame/ui/videoopt.cpp:56
#, c-format
-msgid "Crosshair Offset %1$s"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/videoopt.cpp:208
+msgid "Backdrops"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Enabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Disabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
-#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
-#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
-#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
-#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
-#: src/frontend/mame/ui/ui.cpp:1927
-#, c-format
-msgid "%1$.3f"
+#: src/frontend/mame/ui/videoopt.cpp:212
+msgid "Overlays"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
-#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
-#, c-format
-msgid "%1$1.2f"
+#: src/frontend/mame/ui/videoopt.cpp:216
+msgid "Bezels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:220
+msgid "CPanels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "View"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cropped"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Full"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1047
+msgid "No"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
-msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1047
+msgid "Yes"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
-msgid ""
-"Cheat Comment:\n"
-"%s"
+#: src/frontend/mame/ui/filecreate.cpp:171
+msgid "New Image Name:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/filecreate.cpp:177
+msgid "Image Format:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/filecreate.cpp:183
+msgid "Create"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/filecreate.cpp:266
+msgid "Select image format"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Keyboard Mode:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Natural"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Emulated"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
+#: src/frontend/mame/ui/miscmenu.cpp:236
#, c-format
msgid ""
-"%s\n"
-" added to favorites list."
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
+#: src/frontend/mame/ui/miscmenu.cpp:238
#, c-format
msgid ""
-"%s\n"
-" removed from favorites list."
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/miscmenu.cpp:242
+#, c-format
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
+"Tickets dispensed: %1$d\n"
"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
+#: src/frontend/mame/ui/miscmenu.cpp:253
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/miscmenu.cpp:253
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
-#, c-format
-msgid "Driver: \"%1$s\" software list "
+#: src/frontend/mame/ui/miscmenu.cpp:256
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
-#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+#: src/frontend/mame/ui/miscmenu.cpp:503
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/miscmenu.cpp:601
#, c-format
-msgid "Search: %1$s_"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
-msgid "Unfiltered"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
-msgid "Available"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
-msgid "Unavailable"
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
-msgid "Working"
+#: src/frontend/mame/ui/miscmenu.cpp:627
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
-msgid "Not Working"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
-msgid "Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:655
+msgid "Export list in XML format (like -listxml)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
-msgid "Not Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:656
+msgid "Export list in XML format (like -listxml, but exclude devices)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
-msgid "Category"
+#: src/frontend/mame/ui/miscmenu.cpp:657
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
-msgid "Favorites"
+#: src/frontend/mame/ui/miscmenu.cpp:710 src/frontend/mame/ui/ui.cpp:2230
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/miscmenu.cpp:760 src/frontend/mame/ui/utils.cpp:66
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
-msgid "Not BIOS"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
-msgid "Parents"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
-msgid "Clones"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:73
-msgid "Manufacturer"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
-msgid "Year"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:75
-msgid "Save Supported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:76
-msgid "Save Unsupported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:77
-msgid "CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:78
-msgid "No CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:79
-msgid "Vertical Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:80
-msgid "Horizontal Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
-msgid "Custom Filter"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:91
-msgid "Publisher"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:92
-msgid "Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:764
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
-msgid "Partially Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:767
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
-msgid "Unsupported"
+#: src/frontend/mame/ui/miscmenu.cpp:776 src/frontend/mame/ui/mainmenu.cpp:145
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
-msgid "Release Region"
+#: src/frontend/mame/ui/miscmenu.cpp:778 src/frontend/mame/ui/mainmenu.cpp:147
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
-msgid "Device Type"
+#: src/frontend/mame/ui/miscmenu.cpp:781
+msgid "Save machine configuration"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
-msgid "Software List"
+#: src/frontend/mame/ui/miscmenu.cpp:792
+msgid "Configure machine:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
-msgid "<set up filters>"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:736
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:551 plugins/cheatfind/init.lua:619
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
-msgid "Select custom filters:"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:739
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:554 plugins/cheat/init.lua:563
+#: plugins/cheatfind/init.lua:616
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
-#, c-format
-msgid "Filter %1$u"
+#: src/frontend/mame/ui/miscmenu.cpp:909 src/frontend/mame/ui/selgame.cpp:441
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
-msgid "Remove last filter"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
-msgid "Add filter"
+#: src/frontend/mame/ui/barcode.cpp:78
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
-msgid "Select category:"
+#: src/frontend/mame/ui/barcode.cpp:119
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
-msgid "[no category INI files]"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:99
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
-msgid "[no groups in INI file]"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
-msgid "No category INI files found"
+#: src/frontend/mame/ui/mainmenu.cpp:60
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
-msgid "File"
+#: src/frontend/mame/ui/mainmenu.cpp:62
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
-msgid "No groups found in category file"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
-msgid "Group"
+#: src/frontend/mame/ui/mainmenu.cpp:68
+msgid "Dip Switches"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
-msgid "Include clones"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
+#: src/frontend/mame/ui/mainmenu.cpp:78
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/mainmenu.cpp:85
+msgid "Image Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/mainmenu.cpp:96
+msgid "Tape Control"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/mainmenu.cpp:102
+msgid "BIOS Selection"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/mainmenu.cpp:106
+msgid "Slot Devices"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
-#, c-format
-msgid "%s [internal]"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Barcode Reader"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:203 src/frontend/mame/ui/miscmenu.cpp:97
-#: src/frontend/mame/ui/inputmap.cpp:615
-msgid "Reset"
+#: src/frontend/mame/ui/mainmenu.cpp:114
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/mainmenu.cpp:118
+msgid "Keyboard Mode"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/mainmenu.cpp:121
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/mainmenu.cpp:124 src/frontend/mame/ui/submenu.cpp:101
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/mainmenu.cpp:128
+msgid "Crosshair Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/mainmenu.cpp:132 plugins/cheat/init.lua:735
+msgid "Cheat"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:762
-#: plugins/cheat/init.lua:569 plugins/cheatfind/init.lua:792
-#: plugins/cheatfind/init.lua:803
-msgid "On"
+#: src/frontend/mame/ui/mainmenu.cpp:135
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:765
-#: plugins/cheat/init.lua:572 plugins/cheat/init.lua:581
-#: plugins/cheatfind/init.lua:789 plugins/cheatfind/init.lua:800
-msgid "Off"
+#: src/frontend/mame/ui/mainmenu.cpp:139
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/mainmenu.cpp:154
+msgid "Select New Machine"
msgstr ""
#: src/frontend/mame/ui/custui.cpp:31
@@ -1379,1281 +1276,1303 @@ msgstr ""
msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/submenu.cpp:22
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/submenu.cpp:23
+msgid "Re-select last machine played"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/submenu.cpp:24
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:26
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:27
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:28
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:29
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:30
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
-#, c-format
-msgid "%s.txt saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/submenu.cpp:45
+msgid "Refresh speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/submenu.cpp:47
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/submenu.cpp:49
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
-msgid "Configure Machine"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
-#, c-format
-msgid "Romset\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
-#, c-format
-msgid "Year\t%1$s\n"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
-#, c-format
-msgid "Manufacturer\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
-#, c-format
-msgid "Driver is Clone of\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1044
-msgid "Driver is Parent\t\n"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
-msgid "Analog Controls\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Artwork Crop"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
-msgid "Keyboard Inputs\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Use Backdrops"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
-msgid "Overall\tNOT WORKING\n"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Use Overlays"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
-msgid "Overall\tUnemulated Protection\n"
+#: src/frontend/mame/ui/submenu.cpp:60
+msgid "Use Bezels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
-msgid "Overall\tWorking\n"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Use Control Panels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
-msgid "Graphics\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:62
+msgid "Use Marquees"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
-msgid "Graphics\tWrong Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
-msgid "Graphics\tImperfect Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
-msgid "Graphics\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
-msgid "Graphics\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Bilinear snapshot"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
-msgid "Sound\tNone\n"
+#: src/frontend/mame/ui/submenu.cpp:69
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
-msgid "Sound\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
-msgid "Sound\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:72
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
-msgid "Sound\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
-msgid "Capture\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
-msgid "Capture\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
-msgid "Camera\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
-msgid "Camera\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
-msgid "Microphone\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
-msgid "Microphone\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:79
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
-msgid "Controls\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
-msgid "Controls\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
-msgid "Keyboard\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Joystick saturation"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
-msgid "Keyboard\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Natural keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
-msgid "Mouse\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
-msgid "Mouse\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
-msgid "Media\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
-msgid "Media\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Lightgun Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
-msgid "Disk\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Trackball Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
-msgid "Disk\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
-msgid "Printer\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
-msgid "Printer\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
-msgid "Mag. Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:95
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
-msgid "Mag. Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:96
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
-msgid "Punch Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:97
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
-msgid "Punch Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
-msgid "Mag. Drum\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:103
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
-msgid "Mag. Drum\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
-msgid "(EP)ROM\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
-msgid "(EP)ROM\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
-msgid "Communications\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:109
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
-msgid "Communications\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:110
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
-msgid "LAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:111
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
-msgid "LAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:112
+msgid "Enforce Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
-msgid "WAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:113
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
-msgid "WAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:114
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
-msgid "Timing\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
-msgid "Timing\tImperfect\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tYes\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Select position to load from"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tNo\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tYes\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Select position to save to"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tNo\n"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:309 src/frontend/mame/ui/selsoft.cpp:211
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:314 src/frontend/mame/ui/selgame.cpp:320
+#: src/frontend/mame/ui/selsoft.cpp:216
+#, c-format
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:437
+msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:849
+#, c-format
+msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:850
+#, c-format
+msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:851
+#, c-format
+msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:855
+#, c-format
+msgid "Driver is Clone of\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:857
+msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tVertical\n"
+#: src/frontend/mame/ui/selgame.cpp:860
+msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tHorizontal\n"
+#: src/frontend/mame/ui/selgame.cpp:862
+msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:865
+msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:867
+msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
-msgid "ROM Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:869
+msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
-msgid "ROM Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:872
+msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
-msgid "Samples Audit Result\tNone Needed\n"
+#: src/frontend/mame/ui/selgame.cpp:874
+msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
-msgid "Samples Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:876
+msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
-msgid "Samples Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:878
+msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
-msgid ""
-"ROM Audit \tDisabled\n"
-"Samples Audit \tDisabled\n"
+#: src/frontend/mame/ui/selgame.cpp:880
+msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
+#: src/frontend/mame/ui/selgame.cpp:883
+msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1424
-#, c-format
-msgid "Romset: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:885
+msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
-#, c-format
-msgid "System: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:887
+msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1465
-msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
+#: src/frontend/mame/ui/selgame.cpp:889
+msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
+#: src/frontend/mame/ui/selgame.cpp:892
+msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
+#: src/frontend/mame/ui/selgame.cpp:894
+msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
+#: src/frontend/mame/ui/selgame.cpp:897
+msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
+#: src/frontend/mame/ui/selgame.cpp:899
+msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
+#: src/frontend/mame/ui/selgame.cpp:902
+msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selgame.cpp:904
+msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selgame.cpp:907
+msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/selgame.cpp:909
+msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/selgame.cpp:912
+msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/selgame.cpp:914
+msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/selgame.cpp:917
+msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/selgame.cpp:919
+msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/selgame.cpp:922
+msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/selgame.cpp:924
+msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/selgame.cpp:927
+msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/selgame.cpp:929
+msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/selgame.cpp:932
+msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/selgame.cpp:934
+msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/selgame.cpp:937
+msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/selgame.cpp:939
+msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/selgame.cpp:970
+msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/selgame.cpp:972
+msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/selgame.cpp:975
+msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/selgame.cpp:977
+msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/selgame.cpp:979
+msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/selgame.cpp:983
+msgid ""
+"ROM Audit \tDisabled\n"
+"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/selgame.cpp:1167
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/selgame.cpp:1183 src/frontend/mame/ui/selsoft.cpp:555
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/selgame.cpp:1185 src/frontend/mame/ui/selsoft.cpp:557
+#, c-format
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/selgame.cpp:1195
+#, c-format
+msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/selgame.cpp:1202
+#, c-format
+msgid "System: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/selgame.cpp:1239
+msgid ""
+"The selected machine is missing one or more required ROM or CHD images. "
+"Please select a different machine.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/selgame.cpp:1245 src/frontend/mame/ui/selsoft.cpp:462
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/utils.cpp:57 src/frontend/mame/ui/utils.cpp:81
+msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/utils.cpp:58 src/frontend/mame/ui/utils.cpp:82
+msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/utils.cpp:59 src/frontend/mame/ui/utils.cpp:83
+msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/utils.cpp:60
+msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/utils.cpp:61
+msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/utils.cpp:62
+msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:63
+msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:64
+msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:65
+msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:67
+msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:84
+msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/utils.cpp:85
+msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:70
+msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:86
+msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/utils.cpp:72
+msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/utils.cpp:73
+msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/utils.cpp:74
+msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/utils.cpp:75
+msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/utils.cpp:76
+msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/utils.cpp:77
+msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/utils.cpp:78 src/frontend/mame/ui/utils.cpp:94
+msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/utils.cpp:87
+msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/utils.cpp:88
+msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/utils.cpp:89
+msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/utils.cpp:90
+msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/utils.cpp:91
+msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:43
-#, c-format
-msgid ""
-"[This option is currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"The selected option enables the following items:\n"
+#: src/frontend/mame/ui/utils.cpp:92
+msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:44
-#, c-format
-msgid ""
-"[This option is NOT currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"If you select this option, the following items will be enabled:\n"
+#: src/frontend/mame/ui/utils.cpp:93
+msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/utils.cpp:244
+msgid "<set up filters>"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:352
+msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/utils.cpp:503
#, c-format
-msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
-msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:518
+msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %3$d.%4$06d MHz\n"
+#: src/frontend/mame/ui/utils.cpp:520
+msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:959
+msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/utils.cpp:990
+msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/utils.cpp:998
+msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:103
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1032
+msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1037
+msgid "File"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/utils.cpp:1041
+msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
-#, c-format
-msgid " %1$d×%2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1046
+msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1047
+msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:168
-#, c-format
+#: src/frontend/mame/ui/selsoft.cpp:456
msgid ""
-"* BIOS settings:\n"
-" %1$d options [default: %2$s]\n"
+"The selected software is missing one or more required files. Please select a "
+"different software.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:208 src/frontend/mame/ui/devopt.cpp:224
-#: src/frontend/mame/ui/devopt.cpp:269
+#: src/frontend/mame/ui/selsoft.cpp:549
#, c-format
-msgid " %1$s [default: %2$s]\n"
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
+#: src/frontend/mame/ui/selsoft.cpp:550
#, c-format
-msgid " %1$s\n"
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:260
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:419
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/filesel.cpp:515
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:516
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:518
+msgid "Read-write"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
-#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:519
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:520
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:117
+msgid "Cannot save over directory"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:150
+msgid ""
+"The software selected is missing one or more required ROM or CHD images. "
+"Please select a different one."
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:294
+msgid "Return to Machine"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
-#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:299 src/frontend/mame/ui/menu.cpp:301
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+#: src/frontend/mame/ui/menu.cpp:306 src/frontend/mame/ui/menu.cpp:308
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
-#, c-format
-msgid " %1$s [tag: %2$s]\n"
+#: src/frontend/mame/ui/menu.cpp:742
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
+#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:653
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+#: src/frontend/mame/ui/cheatopt.cpp:105
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/cheatopt.cpp:136
+msgid "Autofire Settings"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:581
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:582
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
+#: src/frontend/mame/ui/cheatopt.cpp:273
+msgid "Autofire Status"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
+#: src/frontend/mame/ui/cheatopt.cpp:316
+msgid "No buttons found on this machine!"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+#: src/frontend/mame/ui/cheatopt.cpp:327 src/frontend/mame/ui/cheatopt.cpp:331
+msgid "Autofire Delay"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
-msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
+#: src/frontend/mame/ui/ui.cpp:337
+msgid "This driver requires images to be loaded in the following device(s): "
msgstr ""
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
+#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
+msgid "Keyboard Emulation Status"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
+#: src/frontend/mame/ui/ui.cpp:1086
+msgid "Mode: PARTIAL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
+#: src/frontend/mame/ui/ui.cpp:1087
+msgid "UI: Enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
+#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
+msgid "**Use ScrLock to toggle**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
+#: src/frontend/mame/ui/ui.cpp:1096
+msgid "Mode: FULL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: src/frontend/mame/ui/ui.cpp:1097
+msgid "UI: Disabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
+#: src/frontend/mame/ui/ui.cpp:1249
+msgid "Autofire can't be enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
+#: src/frontend/mame/ui/ui.cpp:1302
+#, c-format
+msgid ""
+"Are you sure you want to quit?\n"
+"\n"
+"Press ''%1$s'' to quit,\n"
+"Press ''%2$s'' to return to emulation."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
+#: src/frontend/mame/ui/ui.cpp:1374
+msgid "Master Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
+#: src/frontend/mame/ui/ui.cpp:1383
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/ui.cpp:1407
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/ui.cpp:1416
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/ui.cpp:1437
+#, c-format
+msgid "%1$s Refresh Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, c-format
+msgid "%1$s Brightness"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1444
+#, c-format
+msgid "%1$s Contrast"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1446
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/ui.cpp:1450
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/ui.cpp:1452
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/ui.cpp:1454
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/ui.cpp:1456
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/ui.cpp:1475
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/ui.cpp:1477
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/ui.cpp:1479
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
-msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+#: src/frontend/mame/ui/ui.cpp:1481
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:198
-msgid ""
-"There are known problems with this machine\n"
-"\n"
+#: src/frontend/mame/ui/ui.cpp:1493
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/ui.cpp:1494
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/ui.cpp:1495
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
+#: src/frontend/mame/ui/ui.cpp:1496
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#: src/frontend/mame/ui/info.cpp:275
+#: src/frontend/mame/ui/ui.cpp:1511
#, c-format
-msgid ", %s"
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
+#: src/frontend/mame/ui/ui.cpp:1513
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:243
-msgid ""
-"This machine was never completed. It may exhibit strange behavior or missing "
-"elements that are not bugs in the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1601
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:245
-msgid ""
-"This machine has no sound hardware, MAME will produce no sounds, this is "
-"expected behaviour.\n"
+#: src/frontend/mame/ui/ui.cpp:1645
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:249
-msgid ""
-"\n"
-"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
-"complete. There is nothing you can do to fix this problem except wait for "
-"the developers to improve the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1661
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:251
-msgid ""
-"\n"
-"Elements of this machine cannot be emulated as they requires physical "
-"interaction or consist of mechanical devices. It is not possible to fully "
-"experience this machine.\n"
+#: src/frontend/mame/ui/ui.cpp:1685
+#, c-format
+msgid "%1$.3ffps"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
+#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
+#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
+#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
+#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
+#: src/frontend/mame/ui/ui.cpp:1927
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
+#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/ui.cpp:2005
#, c-format
-msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/ui.cpp:2226
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " COLORS"
+msgstr ""
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:39
#, c-format
-msgid "%1$s: %2$s\n"
+msgid ""
+"[This option is currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"The selected option enables the following items:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+#: src/frontend/mame/ui/devopt.cpp:40
+#, c-format
+msgid ""
+"[This option is NOT currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"If you select this option, the following items will be enabled:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:48
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
#, c-format
-msgid "Screen '%1$s'"
+msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
+msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:85
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:90
+#, c-format
+msgid " Screen '%1$s': Vector\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:99
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:100
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:113
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:133
+#, c-format
+msgid " %1$d×%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:164
+#, c-format
+msgid ""
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:204 src/frontend/mame/ui/devopt.cpp:220
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
+#: src/frontend/mame/ui/devopt.cpp:209 src/frontend/mame/ui/devopt.cpp:225
#, c-format
-msgid "Software is clone of: %1$-.100s"
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: src/frontend/mame/ui/devopt.cpp:230
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: src/frontend/mame/ui/devopt.cpp:232
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: src/frontend/mame/ui/devopt.cpp:234
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: src/frontend/mame/ui/devopt.cpp:236
+#, c-format
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
+#: src/frontend/mame/ui/devopt.cpp:238
#, c-format
-msgid "romset: %1$-.100s"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
+#: src/frontend/mame/ui/devopt.cpp:240
#, c-format
-msgid "Driver is clone of: %1$-.100s"
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: src/frontend/mame/ui/devopt.cpp:242
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
+#: src/frontend/mame/ui/devopt.cpp:244
#, c-format
-msgid "%1$s %2$s"
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: src/frontend/mame/ui/devopt.cpp:246
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: src/frontend/mame/ui/devopt.cpp:248
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: src/frontend/mame/ui/devopt.cpp:257
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: src/frontend/mame/ui/devopt.cpp:263
+msgid "* Slot Options:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:270
+msgid "[None]\n"
msgstr ""
#: plugins/timer/init.lua:94
@@ -2672,51 +2591,51 @@ msgstr ""
msgid "Timer"
msgstr ""
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:510
msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheat/init.lua:534
+#: plugins/cheat/init.lua:516
msgid "Press button for hotkey or wait to clear"
msgstr ""
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:528
msgid "None"
msgstr ""
-#: plugins/cheat/init.lua:551
+#: plugins/cheat/init.lua:533
msgid "Done"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:547 plugins/cheat/init.lua:561
msgid "Set"
msgstr ""
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:580
msgid "Set hotkeys"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:720
#, lua-format
msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:723 plugins/cheat/init.lua:781
#, lua-format
msgid "Activated: %s"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:785
#, lua-format
msgid "Enabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:790
#, lua-format
msgid "Disabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "%s added"
msgstr ""
@@ -2765,303 +2684,218 @@ msgstr ""
msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:404
+#: plugins/cheatfind/init.lua:373
msgid "Save Cheat"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Default"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Custom"
msgstr ""
-#: plugins/cheatfind/init.lua:408
+#: plugins/cheatfind/init.lua:377
msgid "Cheat Name"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/cheatfind/init.lua:383 plugins/cheatfind/init.lua:748
#, lua-format
msgid "Default name is %s"
msgstr ""
-#: plugins/cheatfind/init.lua:422
+#: plugins/cheatfind/init.lua:391
msgid "Player"
msgstr ""
-#: plugins/cheatfind/init.lua:427
+#: plugins/cheatfind/init.lua:396
msgid "Type"
msgstr ""
-#: plugins/cheatfind/init.lua:433
+#: plugins/cheatfind/init.lua:402
msgid "Save"
msgstr ""
-#: plugins/cheatfind/init.lua:462
+#: plugins/cheatfind/init.lua:429
#, lua-format
msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:472
+#: plugins/cheatfind/init.lua:437
msgid "Cheat added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:442
msgid ""
"Unable to write file\n"
"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/cheatfind/init.lua:486
+#: plugins/cheatfind/init.lua:451
msgid "Cancel"
msgstr ""
-#: plugins/cheatfind/init.lua:491
+#: plugins/cheatfind/init.lua:456
msgid "CPU or RAM"
msgstr ""
-#: plugins/cheatfind/init.lua:495
+#: plugins/cheatfind/init.lua:460
msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:479
+msgid "Data cleared and current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:487
+msgid "Start new search"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:497
+msgid "Current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:504
+msgid "Save current -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
+#: plugins/cheatfind/init.lua:536
#, lua-format
-msgid "Memory State saved to Slot %d"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:543
+msgid "Compare"
msgstr ""
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
+#: plugins/cheatfind/init.lua:546
+msgid "Left operand"
+msgstr ""
+
+#: plugins/cheatfind/init.lua:549
+msgid "Current"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:554
+msgid "Operator"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:561
+msgid "Left less than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:563
+msgid "Left greater than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:676
+#: plugins/cheatfind/init.lua:565
msgid "Left equal to right"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:567
+msgid "Left not equal to right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:680
+#: plugins/cheatfind/init.lua:569
msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:682
+#: plugins/cheatfind/init.lua:571
msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:684
+#: plugins/cheatfind/init.lua:573
msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:686
+#: plugins/cheatfind/init.lua:575
msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:688
+#: plugins/cheatfind/init.lua:577
msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:690
+#: plugins/cheatfind/init.lua:579
msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/cheatfind/init.lua:590
+msgid "Right operand"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/cheatfind/init.lua:598
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:719
+#: plugins/cheatfind/init.lua:602
msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:725
+#: plugins/cheatfind/init.lua:608
msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:738
-msgid ""
-"Use this if you want to poke the Slot 1 value (eg. You started with "
-"something but lost it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:740
-msgid ""
-"Use this if you want to poke the Last Slot value (eg. You started without an "
-"item but finally got it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:816
+#: plugins/cheatfind/init.lua:632
msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:820
+#: plugins/cheatfind/init.lua:636
msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:823
+#: plugins/cheatfind/init.lua:639
msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheatfind/init.lua:690
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Test cheat at addr %08X"
msgstr ""
-#: plugins/cheatfind/init.lua:974
+#: plugins/cheatfind/init.lua:722
msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
+#: plugins/cheatfind/init.lua:788
msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
+#: plugins/cheatfind/init.lua:806
msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
+#: plugins/cheatfind/init.lua:816
msgid "Cheat Finder"
msgstr ""
-#: plugins/portname/init.lua:103
+#: plugins/portname/init.lua:69
msgid "Save input names to file"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
+#: plugins/portname/init.lua:100 plugins/portname/init.lua:105
+#: plugins/portname/init.lua:121
msgid "Failed to save input name file"
msgstr ""
-#: plugins/portname/init.lua:167
+#: plugins/portname/init.lua:133
#, lua-format
msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/portname/init.lua:172
+#: plugins/portname/init.lua:138
msgid "Input ports"
msgstr ""
diff --git a/language/Spanish/strings.po b/language/Spanish/strings.po
index 381afe5bdea..14dc7eb7a65 100644
--- a/language/Spanish/strings.po
+++ b/language/Spanish/strings.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MAME\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-03-17 13:37+1100\n"
+"POT-Creation-Date: 2018-04-28 15:32+1000\n"
"PO-Revision-Date: 2016-03-05 13:02+0100\n"
"Last-Translator: aviloria\n"
"Language-Team: Español; Castellano <>\n"
@@ -21,61 +21,238 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Gtranslator 2.91.7\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
+#: src/frontend/mame/ui/auditmenu.cpp:96
#, c-format
-msgid "Screen #%d"
-msgstr "%dª pantalla"
+msgid "Audit ROMs for %1$u machines marked unavailable?"
+msgstr "¿Auditar ROMs para las %1$u máquinas marcadas como no-disponibles?"
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr "Girar"
+#: src/frontend/mame/ui/auditmenu.cpp:99
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
+msgstr "¿Auditar ROMs para todas las %1$u máquinas?"
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr "Fondos"
+#: src/frontend/mame/ui/auditmenu.cpp:104
+#, c-format
+msgid "(results will be saved to %1$s)"
+msgstr "(los resultados serán guardados en %1$s)"
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Enabled"
-msgstr "Activado"
+#: src/frontend/mame/ui/auditmenu.cpp:130
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
+msgstr ""
+"Auditando ROMs para la máquina %2$u de %3$u...\n"
+"%1$s"
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Disabled"
-msgstr "Desactivado"
+#: src/frontend/mame/ui/auditmenu.cpp:142
+msgid "Start Audit"
+msgstr "Comenzar auditoría"
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr "Sobreimpresiones"
+#: src/frontend/mame/ui/selmenu.cpp:49 src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Snapshots"
+msgstr "Capturas"
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr "Marcos"
+#: src/frontend/mame/ui/selmenu.cpp:50 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cabinets"
+msgstr "Cabinas arcade"
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+#: src/frontend/mame/ui/selmenu.cpp:51
+msgid "Control Panels"
msgstr "Paneles de control"
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
+#: src/frontend/mame/ui/selmenu.cpp:52 src/frontend/mame/ui/dirmenu.cpp:50
+msgid "PCBs"
+msgstr "Circuitos impresos"
+
+#: src/frontend/mame/ui/selmenu.cpp:53 src/frontend/mame/ui/dirmenu.cpp:47
+msgid "Flyers"
+msgstr "Folletos"
+
+#: src/frontend/mame/ui/selmenu.cpp:54 src/frontend/mame/ui/dirmenu.cpp:48
+msgid "Titles"
+msgstr "Títulos"
+
+#: src/frontend/mame/ui/selmenu.cpp:55 src/frontend/mame/ui/dirmenu.cpp:49
+msgid "Ends"
+msgstr "Finales"
+
+#: src/frontend/mame/ui/selmenu.cpp:56
+msgid "Artwork Preview"
+msgstr "Vista previa de arte"
+
+#: src/frontend/mame/ui/selmenu.cpp:57 src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Bosses"
+msgstr "Jefes"
+
+#: src/frontend/mame/ui/selmenu.cpp:58 src/frontend/mame/ui/dirmenu.cpp:60
+msgid "Logos"
+msgstr "Logos"
+
+#: src/frontend/mame/ui/selmenu.cpp:59 src/frontend/mame/ui/dirmenu.cpp:62
+msgid "Versus"
+msgstr "Versus"
+
+#: src/frontend/mame/ui/selmenu.cpp:60
+msgid "Game Over"
+msgstr "Fin del juego"
+
+#: src/frontend/mame/ui/selmenu.cpp:61 src/frontend/mame/ui/dirmenu.cpp:59
+msgid "HowTo"
+msgstr "Manual"
+
+#: src/frontend/mame/ui/selmenu.cpp:62 src/frontend/mame/ui/dirmenu.cpp:61
+msgid "Scores"
+msgstr "Puntuaciones"
+
+#: src/frontend/mame/ui/selmenu.cpp:63 src/frontend/mame/ui/dirmenu.cpp:57
+msgid "Select"
+msgstr "Elegir"
+
+#: src/frontend/mame/ui/selmenu.cpp:64 src/frontend/mame/ui/dirmenu.cpp:51
+#: src/frontend/mame/ui/videoopt.cpp:224
msgid "Marquees"
msgstr "Marquesinas"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
-msgstr "Ver"
+#: src/frontend/mame/ui/selmenu.cpp:65 src/frontend/mame/ui/dirmenu.cpp:63
+msgid "Covers"
+msgstr "Cubiertas"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
-msgstr "Recortado"
+#: src/frontend/mame/ui/selmenu.cpp:69
+msgid "Add or remove favorites"
+msgstr "Añadir o borrar de favoritos"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
-msgstr "Completo"
+#: src/frontend/mame/ui/selmenu.cpp:70
+msgid "Export displayed list to file"
+msgstr "Exportar esta lista a un archivo"
+
+#: src/frontend/mame/ui/selmenu.cpp:71
+msgid "Show DATs view"
+msgstr "Mostrar vista de DATs"
+
+#: src/frontend/mame/ui/selmenu.cpp:237
+msgid "Software part selection:"
+msgstr "Selección de partes de software:"
+
+#: src/frontend/mame/ui/selmenu.cpp:343
+msgid "BIOS selection:"
+msgstr "Selección de BIOS:"
+
+#: src/frontend/mame/ui/selmenu.cpp:570 src/frontend/mame/ui/selmenu.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:311
+#, c-format
+msgid "%1$s, %2$-.100s"
+msgstr "%1$s, %2$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:574
+#, c-format
+msgid "Software is clone of: %1$-.100s"
+msgstr "El software es un clon de: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:576
+msgid "Software is parent"
+msgstr "Es un software padre"
+
+#: src/frontend/mame/ui/selmenu.cpp:581
+msgid "Supported: No"
+msgstr "Soportado: No"
+
+#: src/frontend/mame/ui/selmenu.cpp:586
+msgid "Supported: Partial"
+msgstr "Soportado: Parcialmente"
+
+#: src/frontend/mame/ui/selmenu.cpp:591
+msgid "Supported: Yes"
+msgstr "Soportado: Sí"
+
+#: src/frontend/mame/ui/selmenu.cpp:596
+#, c-format
+msgid "romset: %1$-.100s"
+msgstr "conjunto de ROMs: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:612
+#, c-format
+msgid "Driver is clone of: %1$-.100s"
+msgstr "El controlador es un clon de: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:614
+msgid "Driver is parent"
+msgstr "Es un controlador padre"
+
+#: src/frontend/mame/ui/selmenu.cpp:619
+#: src/frontend/mame/ui/simpleselgame.cpp:330
+msgid "Overall: NOT WORKING"
+msgstr "En general: NO FUNCIONA"
+
+#: src/frontend/mame/ui/selmenu.cpp:621
+#: src/frontend/mame/ui/simpleselgame.cpp:332
+msgid "Overall: Unemulated Protection"
+msgstr "En general: Protección sin emular"
+
+#: src/frontend/mame/ui/selmenu.cpp:623
+#: src/frontend/mame/ui/simpleselgame.cpp:334
+msgid "Overall: Working"
+msgstr "En general: Funcionando"
+
+#: src/frontend/mame/ui/selmenu.cpp:627
+#: src/frontend/mame/ui/simpleselgame.cpp:338
+msgid "Graphics: Unimplemented, "
+msgstr "Gráficos: No implementado, "
+
+#: src/frontend/mame/ui/selmenu.cpp:629
+#: src/frontend/mame/ui/simpleselgame.cpp:340
+msgid "Graphics: Imperfect, "
+msgstr "Gráficos: Imperfectos,"
+
+#: src/frontend/mame/ui/selmenu.cpp:631
+#: src/frontend/mame/ui/simpleselgame.cpp:342
+msgid "Graphics: OK, "
+msgstr "Gráficos: Aceptables, "
+
+#: src/frontend/mame/ui/selmenu.cpp:634
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+msgid "Sound: None"
+msgstr "Sonido: No"
+
+#: src/frontend/mame/ui/selmenu.cpp:636
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+msgid "Sound: Unimplemented"
+msgstr "Sonido: No implementado"
+
+#: src/frontend/mame/ui/selmenu.cpp:638
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+msgid "Sound: Imperfect"
+msgstr "Sonido: Imperfecto"
+
+#: src/frontend/mame/ui/selmenu.cpp:640
+#: src/frontend/mame/ui/simpleselgame.cpp:351
+msgid "Sound: OK"
+msgstr "Sonido: Aceptable"
+
+#: src/frontend/mame/ui/selmenu.cpp:650
+#, c-format
+msgid "%1$s %2$s"
+msgstr "%1$s %2$s"
+
+#: src/frontend/mame/ui/selmenu.cpp:1975
+msgid "Images"
+msgstr "Imágenes"
+
+#: src/frontend/mame/ui/selmenu.cpp:1976
+msgid "Infos"
+msgstr "Informaciones"
+
+#: src/frontend/mame/ui/selmenu.cpp:2386 src/frontend/mame/ui/miscmenu.cpp:826
+msgid " (default)"
+msgstr " (predeterminado)"
+
+#: src/frontend/mame/ui/selmenu.cpp:2454
+msgid "Usage"
+msgstr "Utilización"
+
+#: src/frontend/mame/ui/selmenu.cpp:2489
+msgid "General Info"
+msgstr "Información general"
#: src/frontend/mame/ui/dirmenu.cpp:35
msgid "ROMs"
@@ -117,30 +294,6 @@ msgstr "Iconos"
msgid "Cheats"
msgstr "Trucos"
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
-msgstr "Capturas"
-
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
-msgstr "Cabinas arcade"
-
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
-msgstr "Folletos"
-
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
-msgstr "Títulos"
-
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
-msgstr "Finales"
-
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
-msgstr "Circuitos impresos"
-
#: src/frontend/mame/ui/dirmenu.cpp:52
msgid "Controls Panels"
msgstr "Paneles de control"
@@ -153,42 +306,14 @@ msgstr "Dianas"
msgid "Artworks"
msgstr "Arte"
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
-msgstr "Jefes"
-
#: src/frontend/mame/ui/dirmenu.cpp:56
msgid "Artworks Preview"
msgstr "Vista previa del arte"
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
-msgstr "Elegir"
-
#: src/frontend/mame/ui/dirmenu.cpp:58
msgid "GameOver"
msgstr "Fin de partida"
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
-msgstr "Manual"
-
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
-msgstr "Logos"
-
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
-msgstr "Puntuaciones"
-
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
-msgstr "Versus"
-
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
-msgstr "Cubiertas"
-
#: src/frontend/mame/ui/dirmenu.cpp:116
msgid "Folders Setup"
msgstr "Ajustes de carpeta"
@@ -229,14 +354,275 @@ msgstr "Pulsa TAB para establecer"
msgid "Remove %1$s Folder"
msgstr "Borrar carpeta %1$s"
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
-msgstr "Lista de selección - Buscar: "
+#: src/frontend/mame/ui/info.cpp:30
+msgid "protection"
+msgstr "protección"
+
+#: src/frontend/mame/ui/info.cpp:31
+msgid "color palette"
+msgstr "paleta de color"
+
+#: src/frontend/mame/ui/info.cpp:32
+msgid "graphics"
+msgstr "gráficos"
+
+#: src/frontend/mame/ui/info.cpp:33
+msgid "sound"
+msgstr "sonido"
+
+#: src/frontend/mame/ui/info.cpp:34
+msgid "controls"
+msgstr "controles"
+
+#: src/frontend/mame/ui/info.cpp:35
+msgid "keyboard"
+msgstr "teclado"
+
+#: src/frontend/mame/ui/info.cpp:36
+msgid "mouse"
+msgstr "ratón"
+
+#: src/frontend/mame/ui/info.cpp:37
+msgid "microphone"
+msgstr "micrófono"
+
+#: src/frontend/mame/ui/info.cpp:38
+msgid "camera"
+msgstr "cámara"
+
+#: src/frontend/mame/ui/info.cpp:39
+msgid "disk"
+msgstr "disco"
+
+#: src/frontend/mame/ui/info.cpp:40
+msgid "printer"
+msgstr "impresora"
+
+#: src/frontend/mame/ui/info.cpp:41
+msgid "LAN"
+msgstr "Red local"
+
+#: src/frontend/mame/ui/info.cpp:42
+msgid "WAN"
+msgstr "Red global"
+
+#: src/frontend/mame/ui/info.cpp:43
+msgid "timing"
+msgstr "cronometraje"
-#: src/frontend/mame/ui/selector.cpp:123
+#: src/frontend/mame/ui/info.cpp:180
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
+msgstr ""
+"Uno o más ROMs/CHDs de esta máquina son incorrectos. La máquina podría no "
+"funcionar correctamente.\n"
+
+#: src/frontend/mame/ui/info.cpp:190
+msgid ""
+"There are known problems with this machine\n"
+"\n"
+msgstr ""
+"Existen problemas conocidos con esta máquina\n"
+"\n"
+
+#: src/frontend/mame/ui/info.cpp:195
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+msgstr "Uno o más ROMs/CHDs de esta máquina no se han volcado correctamente.\n"
+
+#: src/frontend/mame/ui/info.cpp:200
+msgid "Completely unemulated features: "
+msgstr "Características no emuladas: "
+
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
#, c-format
-msgid "Double click or press %1$s to select"
-msgstr "Haz doble clic o pulsa %1$s para elegir"
+msgid "%s"
+msgstr "%s"
+
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#: src/frontend/mame/ui/info.cpp:267
+#, c-format
+msgid ", %s"
+msgstr ", %s"
+
+#: src/frontend/mame/ui/info.cpp:216
+msgid "Imperfectly emulated features: "
+msgstr "Características emuladas parcialmente: "
+
+#: src/frontend/mame/ui/info.cpp:231
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr "Voltear la pantalla en modo cóctel no está soportado.\n"
+
+#: src/frontend/mame/ui/info.cpp:233
+msgid "This machine requires external artwork files.\n"
+msgstr "Esta máquina requiere ficheros de arte externos.\n"
+
+#: src/frontend/mame/ui/info.cpp:235
+msgid ""
+"This machine was never completed. It may exhibit strange behavior or missing "
+"elements that are not bugs in the emulation.\n"
+msgstr ""
+"Esta máquina nunca se terminó. Podría comportarse de forma extraña o mostrar "
+"signos de mal funcionamiento que en ningún caso son defectos de emulación.\n"
+
+#: src/frontend/mame/ui/info.cpp:237
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
+msgstr ""
+"Esta máquina no soporta sonido, por lo que MAME no reproducirá audio, este "
+"es el comportamiento esperado.\n"
+
+#: src/frontend/mame/ui/info.cpp:241
+msgid ""
+"\n"
+"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
+"complete. There is nothing you can do to fix this problem except wait for "
+"the developers to improve the emulation.\n"
+msgstr ""
+"\n"
+"ESTA MÃQUINA NO FUNCIONA. La emulación para esta máquina no está todavía "
+"completada. No hay nada que se pueda hacer para arreglar el problema salvo "
+"esperar a que los desarrolladores mejoren la emulación.\n"
+
+#: src/frontend/mame/ui/info.cpp:243
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they requires physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
+msgstr ""
+"\n"
+"Algunos elementos de esta máquina no pueden ser emulados dado que requieren "
+"interacción directa con dispositivos mecánicos. No es posible disfrutar de "
+"una experiencia completa de esta máquina.\n"
+
+#: src/frontend/mame/ui/info.cpp:265
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
+msgstr ""
+"\n"
+"\n"
+"Existen clones funcionales de esta máquina: %s"
+
+#: src/frontend/mame/ui/info.cpp:278
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+"\n"
+"\n"
+"Pulsa cualquier tecla para continuar."
+
+#: src/frontend/mame/ui/info.cpp:293
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
+msgstr ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Controlador: %4$s\n"
+"\n"
+"Procesador:\n"
+
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "MHz"
+msgstr "MHz"
+
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "kHz"
+msgstr "kHz"
+
+#: src/frontend/mame/ui/info.cpp:342
+msgid ""
+"\n"
+"Sound:\n"
+msgstr ""
+"\n"
+"Sonido:\n"
+
+#: src/frontend/mame/ui/info.cpp:370
+msgid ""
+"\n"
+"Video:\n"
+msgstr ""
+"\n"
+"Vídeo:\n"
+
+#: src/frontend/mame/ui/info.cpp:374
+msgid "None\n"
+msgstr "Ninguno\n"
+
+#: src/frontend/mame/ui/info.cpp:381
+msgid "Vector"
+msgstr "Vector"
+
+#: src/frontend/mame/ui/info.cpp:392
+#, c-format
+msgid "%1$s: %2$s\n"
+msgstr "%1$s: %2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:392
+msgid "%2$s\n"
+msgstr "%2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:438
+#, c-format
+msgid "Screen '%1$s'"
+msgstr "Pantalla «%1$s»"
+
+#: src/frontend/mame/ui/info.cpp:440
+msgid "Screen"
+msgstr "Pantalla"
+
+#: src/frontend/mame/ui/info.cpp:525
+msgid "Not supported"
+msgstr "No está soportado"
+
+#: src/frontend/mame/ui/info.cpp:528
+msgid "Partially supported"
+msgstr "Soportado parcialmente"
+
+#: src/frontend/mame/ui/info.cpp:536
+msgid "[empty]"
+msgstr "[vacío]"
+
+#: src/frontend/mame/ui/optsmenu.cpp:193
+msgid "Filter"
+msgstr "Filtro"
+
+#: src/frontend/mame/ui/optsmenu.cpp:206
+msgid "Customize UI"
+msgstr "Personalizar interfaz"
+
+#: src/frontend/mame/ui/optsmenu.cpp:207
+msgid "Configure Directories"
+msgstr "Configurar carpetas"
+
+#: src/frontend/mame/ui/optsmenu.cpp:210 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
+msgstr "Opciones de sonido"
+
+#: src/frontend/mame/ui/optsmenu.cpp:213
+msgid "General Inputs"
+msgstr "Entrada general"
+
+#: src/frontend/mame/ui/optsmenu.cpp:216
+msgid "Save Configuration"
+msgstr "Guardar configuración"
+
+#: src/frontend/mame/ui/optsmenu.cpp:228
+msgid "Settings"
+msgstr "Ajustes"
#: src/frontend/mame/ui/tapectrl.cpp:85
msgid "stopped"
@@ -278,8 +664,30 @@ msgstr "Rebobinar"
msgid "Fast Forward"
msgstr "Avance rápido"
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
-#: src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/inputmap.cpp:53
+msgid "User Interface"
+msgstr "Interfaz de usuario"
+
+#: src/frontend/mame/ui/inputmap.cpp:59
+msgid "Other Controls"
+msgstr "Otros controles"
+
+#: src/frontend/mame/ui/inputmap.cpp:628 src/frontend/mame/ui/miscmenu.cpp:96
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr "Restablecer"
+
+#: src/frontend/mame/ui/selector.cpp:116
+msgid "Selection List - Search: "
+msgstr "Lista de selección - Buscar: "
+
+#: src/frontend/mame/ui/selector.cpp:124
+#, c-format
+msgid "Double click or press %1$s to select"
+msgstr "Haz doble clic o pulsa %1$s para elegir"
+
+#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/filesel.cpp:256
msgid "[empty slot]"
msgstr "[ranura vacía]"
@@ -320,182 +728,6 @@ msgstr "Forma de uso"
msgid "Revision: "
msgstr "Revisión: "
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
-msgstr "El archivo ya existe ¿Quieres sobreescribirlo?"
-
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
-msgstr "No"
-
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
-msgstr "Sí"
-
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
-msgstr "Nuevo nombre de imagen:"
-
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
-msgstr "Formato de imagen:"
-
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
-msgstr "Crear"
-
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
-msgstr "Por favor, introduzca también la extensión del fichero"
-
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
-msgstr "Elige el formato de imagen"
-
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
-msgstr "Entrada (general)"
-
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
-msgstr "Entrada (esta máquina)"
-
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
-msgstr "Controles analógicos"
-
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
-msgstr "Interruptores DIP"
-
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
-msgstr "Configuración de máquina"
-
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
-msgstr "Información contable"
-
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
-msgstr "Información de máquina"
-
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
-msgstr "Información de imagen"
-
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
-msgstr "Administrador de archivos"
-
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
-msgstr "Control de cinta"
-
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
-msgstr "Pseudo-terminales"
-
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
-msgstr "Selección de BIOS"
-
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
-msgstr "Ranuras de monedas"
-
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
-msgstr "Lector de código de barras"
-
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
-msgstr "Dispositivos de red"
-
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
-msgstr "Modo del teclado"
-
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
-msgstr "Controles deslizantes"
-
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
-msgstr "Opciones de vídeo"
-
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
-msgstr "Opciones de diana"
-
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
-msgstr "Truco"
-
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
-msgstr "Configuración del plugin"
-
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
-msgstr "Vista DAT externa"
-
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
-msgstr "Añadir a favoritos"
-
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
-msgstr "Borrar de favoritos"
-
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
-msgstr "Elegir máquina nueva"
-
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
-msgstr "Nuevo código de barras:"
-
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
-msgstr "Escribe el código"
-
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
-msgstr "El tamaño del código de barras no es correcto."
-
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
-msgstr "[falló]"
-
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
-msgstr "Opciones de sonido"
-
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
-msgstr "Entrada general"
-
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
-msgstr "Guardar configuración"
-
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
-msgstr "Ajustes"
-
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
-msgstr "Filtro"
-
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
-msgstr "Personalizar interfaz"
-
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
-msgstr "Configurar carpetas"
-
#: src/frontend/mame/ui/simpleselgame.cpp:149
msgid ""
"The selected game is missing one or more required ROM or CHD images. Please "
@@ -507,7 +739,7 @@ msgstr ""
"favor elige otro distinto.\n"
"Pulsa cualquier tecla para continuar."
-#: src/frontend/mame/ui/simpleselgame.cpp:247
+#: src/frontend/mame/ui/simpleselgame.cpp:241
#, c-format
msgid ""
"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
@@ -522,329 +754,199 @@ msgstr ""
"archivo «config.txt» de la carpeta «docs» para informarte sobre cómo "
"configurar %2$s."
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:271
+#: src/frontend/mame/ui/selgame.cpp:436
msgid "Configure Options"
msgstr "Configurar opciones"
-#: src/frontend/mame/ui/simpleselgame.cpp:298
+#: src/frontend/mame/ui/simpleselgame.cpp:292
#, c-format
msgid "Type name or select: %1$s_"
msgstr "Escribe un nombre o elige: %1$s_"
-#: src/frontend/mame/ui/simpleselgame.cpp:300
+#: src/frontend/mame/ui/simpleselgame.cpp:294
msgid "Type name or select: (random)"
msgstr "Escribe un nombre o elige: (aleatorio)"
-#: src/frontend/mame/ui/simpleselgame.cpp:314
-#: src/frontend/mame/ui/selsoft.cpp:652 src/frontend/mame/ui/selsoft.cpp:659
+#: src/frontend/mame/ui/simpleselgame.cpp:308
+#: src/frontend/mame/ui/selsoft.cpp:564 src/frontend/mame/ui/selsoft.cpp:571
#, c-format
msgid "%1$-.100s"
msgstr "%1$-.100s"
-#: src/frontend/mame/ui/simpleselgame.cpp:317
-#: src/frontend/mame/ui/selmenu.cpp:618 src/frontend/mame/ui/selmenu.cpp:654
-#, c-format
-msgid "%1$s, %2$-.100s"
-msgstr "%1$s, %2$-.100s"
-
-#: src/frontend/mame/ui/simpleselgame.cpp:320
+#: src/frontend/mame/ui/simpleselgame.cpp:314
#, c-format
msgid "Driver: %1$-.100s"
msgstr "Controlador: %1$-.100s"
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
-msgstr "En general: NO FUNCIONA"
+#: src/frontend/mame/ui/videoopt.cpp:56
+#, c-format
+msgid "Screen #%d"
+msgstr "%dª pantalla"
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
-msgstr "En general: Protección sin emular"
+#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
+msgid "Rotate"
+msgstr "Girar"
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
-msgstr "En general: Funcionando"
+#: src/frontend/mame/ui/videoopt.cpp:208
+msgid "Backdrops"
+msgstr "Fondos"
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
-msgstr "Gráficos: No implementado, "
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Enabled"
+msgstr "Activado"
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
-msgstr "Gráficos: Imperfectos,"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Disabled"
+msgstr "Desactivado"
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
-msgstr "Gráficos: Aceptables, "
+#: src/frontend/mame/ui/videoopt.cpp:212
+msgid "Overlays"
+msgstr "Sobreimpresiones"
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
-msgstr "Sonido: No"
+#: src/frontend/mame/ui/videoopt.cpp:216
+msgid "Bezels"
+msgstr "Marcos"
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
-msgstr "Sonido: No implementado"
+#: src/frontend/mame/ui/videoopt.cpp:220
+msgid "CPanels"
+msgstr "Paneles de control"
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
-msgstr "Sonido: Imperfecto"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "View"
+msgstr "Ver"
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
-msgstr "Sonido: Aceptable"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cropped"
+msgstr "Recortado"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
-msgstr "Cargar estado de la máquina"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Full"
+msgstr "Completo"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
-msgstr "Selecciona la posición desde la que cargar"
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
+msgstr "El archivo ya existe ¿Quieres sobreescribirlo?"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
-msgstr "Guardar estado de la máquina"
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1047
+msgid "No"
+msgstr "No"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
-msgstr "Selecciona la posición a la que guardar"
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1047
+msgid "Yes"
+msgstr "Sí"
-#: src/frontend/mame/ui/ui.cpp:337
-msgid "This driver requires images to be loaded in the following device(s): "
-msgstr ""
-"Este controlador necesita que se carguen imágenes en los siguientes "
-"dispositivos: "
+#: src/frontend/mame/ui/filecreate.cpp:171
+msgid "New Image Name:"
+msgstr "Nuevo nombre de imagen:"
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
-msgstr "Estado de la emulación del teclado"
+#: src/frontend/mame/ui/filecreate.cpp:177
+msgid "Image Format:"
+msgstr "Formato de imagen:"
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
-msgstr "Modo: Emulación PARCIAL"
+#: src/frontend/mame/ui/filecreate.cpp:183
+msgid "Create"
+msgstr "Crear"
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
-msgstr "Interfaz: Activada"
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr "Por favor, introduzca también la extensión del fichero"
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
-msgstr "**Utiliza ScrLock para activar y desactivar**"
+#: src/frontend/mame/ui/filecreate.cpp:266
+msgid "Select image format"
+msgstr "Elige el formato de imagen"
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
-msgstr "Modo: Emulación COMPLETA"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Keyboard Mode:"
+msgstr "Modo del teclado:"
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
-msgstr "Interfaz: Desactivada"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Natural"
+msgstr "Natural"
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
-msgstr "No se puede activar el disparo automático"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Emulated"
+msgstr "Emulado"
-#: src/frontend/mame/ui/ui.cpp:1302
+#: src/frontend/mame/ui/miscmenu.cpp:236
#, c-format
msgid ""
-"Are you sure you want to quit?\n"
+"Uptime: %1$d:%2$02d:%3$02d\n"
"\n"
-"Press ''%1$s'' to quit,\n"
-"Press ''%2$s'' to return to emulation."
msgstr ""
-"¿Seguro que quieres salir?\n"
+"Tiempo encendido: %1$d:%2$02d:%3$02d\n"
"\n"
-"Presiona «%1$s» para salir,\n"
-"Presiona «%2$s» para volver al emulador."
-
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
-msgstr "Volumen principal"
-
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
-msgstr "Volumen %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
-msgstr "Acelerar CPU %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
-msgstr "Overclock de sonido %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
-msgstr "Tasa de refresco %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
-msgstr "Brillo %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
-msgstr "Contraste %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
-msgstr "Gamma %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
-msgstr "Estiramiento horizontal %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
-msgstr "Posición horizontal %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
-msgstr "Estiramiento vertical %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
-msgstr "Posición vertical %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
-msgstr "Estiramiento horizontal de Laserdisc «%1$s»"
-
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
-msgstr "Posición horizontal de Laserdisc «%1$s»"
-
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
-msgstr "Estiramiento vertical de Laserdisc «%1$s»"
-
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr "Posición vertical de Laserdisc «%1$s»"
-
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
-msgstr "Vector de parpadeo"
-
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
-msgstr "Anchura mín. del haz"
-
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
-msgstr "Anchura max. del haz"
-
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
-msgstr "Peso de intensidad del haz"
-
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr "Escala de diana %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
-msgstr "Horizontal"
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
-msgstr "Vertical"
-
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
-msgstr "Posición de diana %1$s"
-#: src/frontend/mame/ui/ui.cpp:1601
+#: src/frontend/mame/ui/miscmenu.cpp:238
#, c-format
-msgid "%1$3ddB"
-msgstr "%1$3ddB"
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
+msgstr ""
+"Tiempo encendido: %1$d:%2$02d\n"
+"\n"
-#: src/frontend/mame/ui/ui.cpp:1645
+#: src/frontend/mame/ui/miscmenu.cpp:242
#, c-format
-msgid "%1$d%%"
-msgstr "%1$d%%"
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
+msgstr ""
+"Boletos emitidos: %1$d\n"
+"\n"
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
-msgstr "%1$3.0f%%"
+#: src/frontend/mame/ui/miscmenu.cpp:253
+msgid "Coin %1$c: NA%3$s\n"
+msgstr "Moneda %1$c: NA%3$s\n"
-#: src/frontend/mame/ui/ui.cpp:1685
+#: src/frontend/mame/ui/miscmenu.cpp:253
#, c-format
-msgid "%1$.3ffps"
-msgstr "%1$.3ffps"
+msgid "Coin %1$c: %2$d%3$s\n"
+msgstr "Moneda %1$c: %2$d%3$s\n"
-#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
-#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
-#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
-#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
-#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
-#: src/frontend/mame/ui/ui.cpp:1927
-#, c-format
-msgid "%1$.3f"
-msgstr "%1$.3f"
+#: src/frontend/mame/ui/miscmenu.cpp:256
+msgid " (locked)"
+msgstr " (bloqueado)"
-#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
-#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
-#, c-format
-msgid "%1$1.2f"
-msgstr "%1$1.2f"
+#: src/frontend/mame/ui/miscmenu.cpp:503
+msgid "Visible Delay"
+msgstr "Retardo visible"
-#: src/frontend/mame/ui/ui.cpp:2005
+#: src/frontend/mame/ui/miscmenu.cpp:601
#, c-format
-msgid "Crosshair Scale X %1$1.3f"
-msgstr "Escala horizontal de diana %1$1.3f"
+msgid "%s.xml saved under ui folder."
+msgstr "%s.xml guardado en la carpeta «ui»."
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
-msgstr "Escala vertical de diana %1$1.3f"
+#: src/frontend/mame/ui/miscmenu.cpp:627
+msgid "Name: Description:\n"
+msgstr "Nombre: Descripción:\n"
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/miscmenu.cpp:638
#, c-format
-msgid "Crosshair Offset X %1$1.3f"
-msgstr "Posición horizontal de diana %1$1.3f"
+msgid "%s.txt saved under ui folder."
+msgstr "%s.txt guardado en la carpeta «ui»."
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
-msgstr "Posición vertical de diana %1$1.3f"
+#: src/frontend/mame/ui/miscmenu.cpp:655
+msgid "Export list in XML format (like -listxml)"
+msgstr "Exportar lista en formato XML (igual que -listxml)"
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
-msgstr "**Error al guardar «ui.ini»**"
+#: src/frontend/mame/ui/miscmenu.cpp:656
+msgid "Export list in XML format (like -listxml, but exclude devices)"
+msgstr ""
+"Exportar lista en formato XML (igual que -listxml, pero excluyendo los "
+"dispositivos)"
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
-msgstr "Error al guardar «%s.ini»**"
+#: src/frontend/mame/ui/miscmenu.cpp:657
+msgid "Export list in TXT format (like -listfull)"
+msgstr "Exportar lista en formato TXT (igual que -listfull)"
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/miscmenu.cpp:710 src/frontend/mame/ui/ui.cpp:2230
msgid ""
"\n"
" Configuration saved \n"
@@ -854,339 +956,160 @@ msgstr ""
" Se ha guardado la configuración \n"
"\n"
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
-msgid ""
-"Cheat Comment:\n"
-"%s"
-msgstr ""
-"Comentario del truco:\n"
-"%s"
-
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
-msgstr "Se han recargado todos los trucos"
-
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
-msgstr "Ajustes de disparo automático"
-
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
-msgstr "Reiniciar todo"
-
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
-msgstr "Recargar todo"
-
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
-msgstr "Estado del disparo automático"
-
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
-msgstr "No se han encontrado botones en esta máquina."
-
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
-msgstr "Retardo del disparo automático"
-
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
-#, c-format
-msgid ""
-"%s\n"
-" added to favorites list."
-msgstr ""
-"%s\n"
-" añadido a la lista de favoritos."
-
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
-#, c-format
-msgid ""
-"%s\n"
-" removed from favorites list."
-msgstr ""
-"%s\n"
-" eliminado de la lista de favoritos."
-
-#: src/frontend/mame/ui/selsoft.cpp:507
-msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
-"\n"
-msgstr ""
-"Al software elegido le falta uno o varios archivos necesarios. Por favor, "
-"elige otro software.\n"
-"\n"
-
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
-msgstr "Pulsa cualquier tecla para continuar."
-
-#: src/frontend/mame/ui/selsoft.cpp:637
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
-msgstr "%1$s %2$s ( %3$d / %4$d paquetes de software )"
-
-#: src/frontend/mame/ui/selsoft.cpp:638
-#, c-format
-msgid "Driver: \"%1$s\" software list "
-msgstr "Controlador: \"%1$s\" lista de software "
-
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
-#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
-msgstr "%1$s: %2$s - Buscar: %3$s_"
-
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
-#, c-format
-msgid "Search: %1$s_"
-msgstr "Buscar: %1$s_"
-
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
-msgid "Unfiltered"
-msgstr "Sin filtrar"
-
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
-msgid "Available"
-msgstr "Disponible"
-
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
-msgid "Unavailable"
-msgstr "No disponible"
-
-#: src/frontend/mame/ui/utils.cpp:63
-msgid "Working"
-msgstr "Funciona"
-
-#: src/frontend/mame/ui/utils.cpp:64
-msgid "Not Working"
-msgstr "No Funciona"
-
-#: src/frontend/mame/ui/utils.cpp:65
-msgid "Mechanical"
-msgstr "Mecánica"
-
-#: src/frontend/mame/ui/utils.cpp:66
-msgid "Not Mechanical"
-msgstr "No mecánica"
-
-#: src/frontend/mame/ui/utils.cpp:67
-msgid "Category"
-msgstr "Categoría"
-
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
-msgid "Favorites"
-msgstr "Favoritos"
-
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/miscmenu.cpp:760 src/frontend/mame/ui/utils.cpp:66
msgid "BIOS"
msgstr "BIOS"
-#: src/frontend/mame/ui/utils.cpp:70
-msgid "Not BIOS"
-msgstr "No BIOS"
-
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
-msgid "Parents"
-msgstr "Padres"
-
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
-msgid "Clones"
-msgstr "Clones"
-
-#: src/frontend/mame/ui/utils.cpp:73
-msgid "Manufacturer"
-msgstr "Fabricante"
-
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
-msgid "Year"
-msgstr "Año"
-
-#: src/frontend/mame/ui/utils.cpp:75
-msgid "Save Supported"
-msgstr "Soporta guardado"
-
-#: src/frontend/mame/ui/utils.cpp:76
-msgid "Save Unsupported"
-msgstr "No soporta guardado"
-
-#: src/frontend/mame/ui/utils.cpp:77
-msgid "CHD Required"
-msgstr "Requiere CHD"
-
-#: src/frontend/mame/ui/utils.cpp:78
-msgid "No CHD Required"
-msgstr "No requiere CHD"
-
-#: src/frontend/mame/ui/utils.cpp:79
-msgid "Vertical Screen"
-msgstr "Pantalla vertical"
-
-#: src/frontend/mame/ui/utils.cpp:80
-msgid "Horizontal Screen"
-msgstr "Pantalla horizontal"
-
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
-msgid "Custom Filter"
-msgstr "Filtro personalizado"
-
-#: src/frontend/mame/ui/utils.cpp:91
-msgid "Publisher"
-msgstr "Editor"
-
-#: src/frontend/mame/ui/utils.cpp:92
-msgid "Supported"
-msgstr "Soportado"
+#: src/frontend/mame/ui/miscmenu.cpp:764
+msgid "Driver"
+msgstr "Controlador"
-#: src/frontend/mame/ui/utils.cpp:93
-msgid "Partially Supported"
-msgstr "Parcialmente soportado"
+#: src/frontend/mame/ui/miscmenu.cpp:767
+msgid "This machine has no BIOS."
+msgstr "Esta máquina no tiene BIOS."
-#: src/frontend/mame/ui/utils.cpp:94
-msgid "Unsupported"
-msgstr "No soportado"
+#: src/frontend/mame/ui/miscmenu.cpp:776 src/frontend/mame/ui/mainmenu.cpp:145
+msgid "Add To Favorites"
+msgstr "Añadir a favoritos"
-#: src/frontend/mame/ui/utils.cpp:95
-msgid "Release Region"
-msgstr "Región de la versión"
+#: src/frontend/mame/ui/miscmenu.cpp:778 src/frontend/mame/ui/mainmenu.cpp:147
+msgid "Remove From Favorites"
+msgstr "Borrar de favoritos"
-#: src/frontend/mame/ui/utils.cpp:96
-msgid "Device Type"
-msgstr "Tipo de dispositivo"
+#: src/frontend/mame/ui/miscmenu.cpp:781
+msgid "Save machine configuration"
+msgstr "Guardar ajustes de máquina"
-#: src/frontend/mame/ui/utils.cpp:97
-msgid "Software List"
-msgstr "Lista de software"
+#: src/frontend/mame/ui/miscmenu.cpp:792
+msgid "Configure machine:"
+msgstr "Configurar máquina:"
-#: src/frontend/mame/ui/utils.cpp:248
-msgid "<set up filters>"
-msgstr "<configurar filtros>"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:736
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:551 plugins/cheatfind/init.lua:619
+msgid "On"
+msgstr "Sí"
-#: src/frontend/mame/ui/utils.cpp:356
-msgid "Select custom filters:"
-msgstr "Seleccionar filtros personalizados:"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:739
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:554 plugins/cheat/init.lua:563
+#: plugins/cheatfind/init.lua:616
+msgid "Off"
+msgstr "No"
-#: src/frontend/mame/ui/utils.cpp:507
-#, c-format
-msgid "Filter %1$u"
-msgstr "Filtro %1$u"
+#: src/frontend/mame/ui/miscmenu.cpp:909 src/frontend/mame/ui/selgame.cpp:441
+msgid "Plugins"
+msgstr "Plugins"
-#: src/frontend/mame/ui/utils.cpp:522
-msgid "Remove last filter"
-msgstr "Eliminar último filtro"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
+msgstr "Nuevo código de barras:"
-#: src/frontend/mame/ui/utils.cpp:524
-msgid "Add filter"
-msgstr "Añadir filtro"
+#: src/frontend/mame/ui/barcode.cpp:78
+msgid "Enter Code"
+msgstr "Escribe el código"
-#: src/frontend/mame/ui/utils.cpp:966
-msgid "Select category:"
-msgstr "Selecciona categoria:"
+#: src/frontend/mame/ui/barcode.cpp:119
+msgid "Barcode length invalid!"
+msgstr "El tamaño del código de barras no es correcto."
-#: src/frontend/mame/ui/utils.cpp:997
-msgid "[no category INI files]"
-msgstr "[Sin ficheros INI de categorías]"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:99
+msgid "Pseudo terminals"
+msgstr "Pseudo-terminales"
-#: src/frontend/mame/ui/utils.cpp:1005
-msgid "[no groups in INI file]"
-msgstr "[No hay grupos en el fichero INI]"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
+msgstr "[falló]"
-#: src/frontend/mame/ui/utils.cpp:1039
-msgid "No category INI files found"
-msgstr "No se han encontrado ficheros INI de categorías"
+#: src/frontend/mame/ui/mainmenu.cpp:60
+msgid "Input (general)"
+msgstr "Entrada (general)"
-#: src/frontend/mame/ui/utils.cpp:1044
-msgid "File"
-msgstr "Fichero"
+#: src/frontend/mame/ui/mainmenu.cpp:62
+msgid "Input (this Machine)"
+msgstr "Entrada (esta máquina)"
-#: src/frontend/mame/ui/utils.cpp:1048
-msgid "No groups found in category file"
-msgstr "No se han encontrado grupos en el fichero de categorías"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Analog Controls"
+msgstr "Controles analógicos"
-#: src/frontend/mame/ui/utils.cpp:1053
-msgid "Group"
-msgstr "Grupo"
+#: src/frontend/mame/ui/mainmenu.cpp:68
+msgid "Dip Switches"
+msgstr "Interruptores DIP"
-#: src/frontend/mame/ui/utils.cpp:1054
-msgid "Include clones"
-msgstr "Incluir clones"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "Machine Configuration"
+msgstr "Configuración de máquina"
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
-msgstr "[crear]"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
+msgstr "Información contable"
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
-msgstr "Error al acceder a %s"
+#: src/frontend/mame/ui/mainmenu.cpp:78
+msgid "Machine Information"
+msgstr "Información de máquina"
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
-msgstr "Elige el modo de acceso"
+#: src/frontend/mame/ui/mainmenu.cpp:85
+msgid "Image Information"
+msgstr "Información de imagen"
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
-msgstr "Solo lectura"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
+msgstr "Administrador de archivos"
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
-msgstr "Lectura y escritura"
+#: src/frontend/mame/ui/mainmenu.cpp:96
+msgid "Tape Control"
+msgstr "Control de cinta"
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
-msgstr "Leer esta imagen, escribir en otra imagen"
+#: src/frontend/mame/ui/mainmenu.cpp:102
+msgid "BIOS Selection"
+msgstr "Selección de BIOS"
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
-msgstr "Leer esta imagen, escribir en diferencial"
+#: src/frontend/mame/ui/mainmenu.cpp:106
+msgid "Slot Devices"
+msgstr "Ranuras de monedas"
-#: src/frontend/mame/ui/slotopt.cpp:192
-#, c-format
-msgid "%s [internal]"
-msgstr "%s [interno]"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Barcode Reader"
+msgstr "Lector de código de barras"
-#: src/frontend/mame/ui/slotopt.cpp:203 src/frontend/mame/ui/miscmenu.cpp:97
-#: src/frontend/mame/ui/inputmap.cpp:615
-msgid "Reset"
-msgstr "Restablecer"
+#: src/frontend/mame/ui/mainmenu.cpp:114
+msgid "Network Devices"
+msgstr "Dispositivos de red"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
-msgstr " COLORES"
+#: src/frontend/mame/ui/mainmenu.cpp:118
+msgid "Keyboard Mode"
+msgstr "Modo del teclado"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
-msgstr " PLUMAS"
+#: src/frontend/mame/ui/mainmenu.cpp:121
+msgid "Slider Controls"
+msgstr "Controles deslizantes"
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
-msgstr "Volver a la máquina"
+#: src/frontend/mame/ui/mainmenu.cpp:124 src/frontend/mame/ui/submenu.cpp:101
+msgid "Video Options"
+msgstr "Opciones de vídeo"
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
-msgstr "Salir"
+#: src/frontend/mame/ui/mainmenu.cpp:128
+msgid "Crosshair Options"
+msgstr "Opciones de diana"
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
-msgstr "Volver al menú anterior"
+#: src/frontend/mame/ui/mainmenu.cpp:132 plugins/cheat/init.lua:735
+msgid "Cheat"
+msgstr "Truco"
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:762
-#: plugins/cheat/init.lua:569 plugins/cheatfind/init.lua:792
-#: plugins/cheatfind/init.lua:803
-msgid "On"
-msgstr "Sí"
+#: src/frontend/mame/ui/mainmenu.cpp:135
+msgid "Plugin Options"
+msgstr "Configuración del plugin"
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:765
-#: plugins/cheat/init.lua:572 plugins/cheat/init.lua:581
-#: plugins/cheatfind/init.lua:789 plugins/cheatfind/init.lua:800
-msgid "Off"
-msgstr "No"
+#: src/frontend/mame/ui/mainmenu.cpp:139
+msgid "External DAT View"
+msgstr "Vista DAT externa"
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
-msgstr "Automát."
+#: src/frontend/mame/ui/mainmenu.cpp:154
+msgid "Select New Machine"
+msgstr "Elegir máquina nueva"
#: src/frontend/mame/ui/custui.cpp:31
msgid "Show All"
@@ -1409,419 +1332,595 @@ msgstr "Amarillo"
msgid "Violet"
msgstr "Violeta"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
-msgstr "Modo del teclado:"
+#: src/frontend/mame/ui/submenu.cpp:22
+msgid "Miscellaneous Options"
+msgstr "Otras opciones"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
-msgstr "Natural"
+#: src/frontend/mame/ui/submenu.cpp:23
+msgid "Re-select last machine played"
+msgstr "Elegir última máquina emulada"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
-msgstr "Emulado"
+#: src/frontend/mame/ui/submenu.cpp:24
+msgid "Enlarge images in the right panel"
+msgstr "Agrandar imágenes en el panel derecho"
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
-msgstr ""
-"Tiempo encendido: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:26
+msgid "Show mouse pointer"
+msgstr "Mostrar puntero del ratón"
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:27
+msgid "Confirm quit from machines"
+msgstr "Confirmar salida de máquina"
+
+#: src/frontend/mame/ui/submenu.cpp:28
+msgid "Skip information screen at startup"
+msgstr "Evitar la pantalla de información al inicio"
+
+#: src/frontend/mame/ui/submenu.cpp:29
+msgid "Force 4:3 aspect for snapshot display"
+msgstr "Forzar aspecto 4:3 al capturar la pantalla"
+
+#: src/frontend/mame/ui/submenu.cpp:30
+msgid "Use image as background"
+msgstr "Utilizar imagen de fondo"
+
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Skip BIOS selection menu"
+msgstr "Saltar el menú de selección de BIOS"
+
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip software parts selection menu"
+msgstr "Saltar el menú de selección de software"
+
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Info auto audit"
+msgstr "Información de la auditoría automática"
+
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Hide romless machine from available list"
+msgstr "Ocultar las máquinas sin ROMs de la lista"
+
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Advanced Options"
+msgstr "Opciones avanzadas"
+
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Performance Options"
+msgstr "Opciones de rendimiento"
+
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Auto frame skip"
+msgstr "Salto de frames automático"
+
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Frame skip"
+msgstr "Salto de frame"
+
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Throttle"
+msgstr "Acelerar"
+
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Sleep"
+msgstr "Suspender"
+
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Speed"
+msgstr "Velocidad"
+
+#: src/frontend/mame/ui/submenu.cpp:45
+msgid "Refresh speed"
+msgstr "Velocidad de refresco"
+
+#: src/frontend/mame/ui/submenu.cpp:47
+msgid "Rotation Options"
+msgstr "Opciones de rotación"
+
+#: src/frontend/mame/ui/submenu.cpp:49
+msgid "Rotate right"
+msgstr "Rotar a la derecha"
+
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Rotate left"
+msgstr "Rotar a la izquierda"
+
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Auto rotate right"
+msgstr "Rotar automáticamente a la derecha"
+
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto rotate left"
+msgstr "Rotar automáticamente a la izquierda"
+
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Flip X"
+msgstr "Voltear horizontalmente"
+
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Flip Y"
+msgstr "Voltear verticalmente"
+
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Artwork Options"
+msgstr "Opciones del arte"
+
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Artwork Crop"
+msgstr "Recortes del arte"
+
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Use Backdrops"
+msgstr "Utilizar fondos"
+
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Use Overlays"
+msgstr "Utilizar sobreimpresiones"
+
+#: src/frontend/mame/ui/submenu.cpp:60
+msgid "Use Bezels"
+msgstr "Utilizar marcos"
+
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Use Control Panels"
+msgstr "Utilizar paneles de control"
+
+#: src/frontend/mame/ui/submenu.cpp:62
+msgid "Use Marquees"
+msgstr "Utilizar marquesinas"
+
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "State/Playback Options"
+msgstr "Opciones de estado/reproducción"
+
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Automatic save/restore"
+msgstr "Guardado/recuperación automático/a"
+
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Rewind capacity"
+msgstr "Capacidad de rebobinado"
+
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Bilinear snapshot"
+msgstr "Captura bilineal"
+
+#: src/frontend/mame/ui/submenu.cpp:69
+msgid "Burn-in"
msgstr ""
-"Tiempo encendido: %1$d:%2$02d\n"
-"\n"
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Input Options"
+msgstr "Opciones de entrada"
+
+#: src/frontend/mame/ui/submenu.cpp:72
+msgid "Coin lockout"
+msgstr "Bloqueo de monedas"
+
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "Mouse"
+msgstr "Ratón"
+
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Joystick"
+msgstr "Joystick"
+
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Lightgun"
+msgstr "Pistola de luz"
+
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Multi-keyboard"
+msgstr "Multi-teclado"
+
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Multi-mouse"
+msgstr "Multi-ratón"
+
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Steadykey"
msgstr ""
-"Boletos emitidos: %1$d\n"
-"\n"
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
-msgstr "Moneda %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:79
+msgid "UI active"
+msgstr "Interfaz de usuario activa"
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
-msgstr "Moneda %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Offscreen reload"
+msgstr "Recarga no visible"
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
-msgstr " (bloqueado)"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Joystick deadzone"
+msgstr "Zona muerta de los joysticks"
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
-msgstr "Retardo visible"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Joystick saturation"
+msgstr "Saturación de los joysticks"
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
-msgstr "%s.xml guardado en la carpeta «ui»."
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Natural keyboard"
+msgstr "Teclado natural"
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
-msgstr "Nombre: Descripción:\n"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Simultaneous contradictory"
+msgstr "Entradas contradictorias simultáneas"
-#: src/frontend/mame/ui/miscmenu.cpp:639
-#, c-format
-msgid "%s.txt saved under ui folder."
-msgstr "%s.txt guardado en la carpeta «ui»."
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Coin impulse"
+msgstr "Impulso de monedas"
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
-msgstr "Exportar lista en formato XML (igual que -listxml)"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Device Mapping"
+msgstr "Mapeado de mandos"
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
-msgstr ""
-"Exportar lista en formato XML (igual que -listxml, pero excluyendo los "
-"dispositivos)"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Lightgun Device Assignment"
+msgstr "Asignación de pistolas de luz"
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
-msgstr "Exportar lista en formato TXT (igual que -listfull)"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Trackball Device Assignment"
+msgstr "Asignación de trackballs"
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
-msgstr "Controlador"
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Pedal Device Assignment"
+msgstr "Asignación de pedales"
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
-msgstr "Esta máquina no tiene BIOS."
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Adstick Device Assignment"
+msgstr "Asignación de palancas"
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
-msgstr "Guardar ajustes de máquina"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Paddle Device Assignment"
+msgstr "Asignación de paletas"
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
-msgstr "Configurar máquina:"
+#: src/frontend/mame/ui/submenu.cpp:95
+msgid "Dial Device Assignment"
+msgstr "Asignación de diales"
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
-msgstr " (predeterminado)"
+#: src/frontend/mame/ui/submenu.cpp:96
+msgid "Positional Device Assignment"
+msgstr "Asignación de disp. posicionales"
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
-msgstr "Plugins"
+#: src/frontend/mame/ui/submenu.cpp:97
+msgid "Mouse Device Assignment"
+msgstr "Asignación de ratones"
+
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Video Mode"
+msgstr "Modo de vídeo"
+
+#: src/frontend/mame/ui/submenu.cpp:103
+msgid "Number Of Screens"
+msgstr "Número de pantallas"
+
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Triple Buffering"
+msgstr "Triple búfer"
+
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "HLSL"
+msgstr "HLSL"
+
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "GLSL"
+msgstr "GLSL"
+
+#: src/frontend/mame/ui/submenu.cpp:109
+msgid "Bilinear Filtering"
+msgstr "Filtrado bilineal"
+
+#: src/frontend/mame/ui/submenu.cpp:110
+msgid "Bitmap Prescaling"
+msgstr "Preescalado de texturas"
+
+#: src/frontend/mame/ui/submenu.cpp:111
+msgid "Window Mode"
+msgstr "Modo de ventana"
+
+#: src/frontend/mame/ui/submenu.cpp:112
+msgid "Enforce Aspect Ratio"
+msgstr "Bloquear forma de pantalla"
+
+#: src/frontend/mame/ui/submenu.cpp:113
+msgid "Start Out Maximized"
+msgstr "Comenzar maximizada"
+
+#: src/frontend/mame/ui/submenu.cpp:114
+msgid "Synchronized Refresh"
+msgstr "Actualización síncrona"
+
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Wait Vertical Sync"
+msgstr "Esperar a la sincronización vertical"
+
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Load State"
+msgstr "Cargar estado de la máquina"
+
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Select position to load from"
+msgstr "Selecciona la posición desde la que cargar"
+
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Save State"
+msgstr "Guardar estado de la máquina"
+
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Select position to save to"
+msgstr "Selecciona la posición a la que guardar"
+
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
+msgstr "%s [interno]"
+
+#: src/frontend/mame/ui/selgame.cpp:309 src/frontend/mame/ui/selsoft.cpp:211
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
+msgstr ""
+"%s\n"
+" añadido a la lista de favoritos."
+
+#: src/frontend/mame/ui/selgame.cpp:314 src/frontend/mame/ui/selgame.cpp:320
+#: src/frontend/mame/ui/selsoft.cpp:216
+#, c-format
+msgid ""
+"%s\n"
+" removed from favorites list."
+msgstr ""
+"%s\n"
+" eliminado de la lista de favoritos."
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/selgame.cpp:437
msgid "Configure Machine"
msgstr "Configurar máquina"
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:849
#, c-format
msgid "Romset\t%1$-.100s\n"
msgstr "Conjunto de roms\t%1$-.100s\n"
-#: src/frontend/mame/ui/selgame.cpp:1037
+#: src/frontend/mame/ui/selgame.cpp:850
#, c-format
msgid "Year\t%1$s\n"
msgstr "Año\t%1$s\n"
-#: src/frontend/mame/ui/selgame.cpp:1038
+#: src/frontend/mame/ui/selgame.cpp:851
#, c-format
msgid "Manufacturer\t%1$-.100s\n"
msgstr "Fabricante\t%1$-.100s\n"
-#: src/frontend/mame/ui/selgame.cpp:1042
+#: src/frontend/mame/ui/selgame.cpp:855
#, c-format
msgid "Driver is Clone of\t%1$-.100s\n"
msgstr "El controlador es un clon de\t%1$-.100s\n"
-#: src/frontend/mame/ui/selgame.cpp:1044
+#: src/frontend/mame/ui/selgame.cpp:857
msgid "Driver is Parent\t\n"
msgstr "Es un controlador padre\t\n"
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:860
msgid "Analog Controls\tYes\n"
msgstr "Controles analógicos\tSi\n"
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:862
msgid "Keyboard Inputs\tYes\n"
msgstr "Entradas de teclado\tSi\n"
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:865
msgid "Overall\tNOT WORKING\n"
msgstr "En General\tNO FUNCIONA\n"
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:867
msgid "Overall\tUnemulated Protection\n"
msgstr "En General\tProtección no emulada\n"
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:869
msgid "Overall\tWorking\n"
msgstr "En General\tFunciona\n"
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:872
msgid "Graphics\tUnimplemented\n"
msgstr "Gráficos\tNo implementados\n"
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:874
msgid "Graphics\tWrong Colors\n"
msgstr "Gráficos\tColores erróneos\n"
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:876
msgid "Graphics\tImperfect Colors\n"
msgstr "Gráficos\tColores imperfectos\n"
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:878
msgid "Graphics\tImperfect\n"
msgstr "Gráficos\tImperfectos\n"
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:880
msgid "Graphics\tOK\n"
msgstr "Gráficos\tAceptables"
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:883
msgid "Sound\tNone\n"
msgstr "Sonido\tNo\n"
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:885
msgid "Sound\tUnimplemented\n"
msgstr "Sonido\tNo implementado\n"
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:887
msgid "Sound\tImperfect\n"
msgstr "Sonido\tImperfecto\n"
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:889
msgid "Sound\tOK\n"
msgstr "Sonido\tAceptable\n"
-#: src/frontend/mame/ui/selgame.cpp:1079
-msgid "Capture\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1081
-msgid "Capture\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1084
-msgid "Camera\tUnimplemented\n"
-msgstr "Cámara\tNo implementada\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1086
-msgid "Camera\tImperfect\n"
-msgstr "Cámara\tImperfecta\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1089
-msgid "Microphone\tUnimplemented\n"
-msgstr "Micrófono\tNo implementado\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1091
-msgid "Microphone\tImperfect\n"
-msgstr "Micrófono\tImperfecto\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:892
msgid "Controls\tUnimplemented\n"
msgstr "Controles\tNo implementados\n"
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:894
msgid "Controls\tImperfect\n"
msgstr "Controles\tImperfectos\n"
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:897
msgid "Keyboard\tUnimplemented\n"
msgstr "Teclado\tNo implementado\n"
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:899
msgid "Keyboard\tImperfect\n"
msgstr "Teclado\tImperfecto\n"
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:902
msgid "Mouse\tUnimplemented\n"
msgstr "Ratón\tNo implementado\n"
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:904
msgid "Mouse\tImperfect\n"
msgstr "Ratón\tImperfecto\n"
-#: src/frontend/mame/ui/selgame.cpp:1109
-msgid "Media\tUnimplemented\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:907
+msgid "Microphone\tUnimplemented\n"
+msgstr "Micrófono\tNo implementado\n"
-#: src/frontend/mame/ui/selgame.cpp:1111
-msgid "Media\tImperfect\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:909
+msgid "Microphone\tImperfect\n"
+msgstr "Micrófono\tImperfecto\n"
+
+#: src/frontend/mame/ui/selgame.cpp:912
+msgid "Camera\tUnimplemented\n"
+msgstr "Cámara\tNo implementada\n"
-#: src/frontend/mame/ui/selgame.cpp:1114
+#: src/frontend/mame/ui/selgame.cpp:914
+msgid "Camera\tImperfect\n"
+msgstr "Cámara\tImperfecta\n"
+
+#: src/frontend/mame/ui/selgame.cpp:917
msgid "Disk\tUnimplemented\n"
msgstr "Disco\tNo implementado\n"
-#: src/frontend/mame/ui/selgame.cpp:1116
+#: src/frontend/mame/ui/selgame.cpp:919
msgid "Disk\tImperfect\n"
msgstr "Disco\tImperfecto\n"
-#: src/frontend/mame/ui/selgame.cpp:1119
+#: src/frontend/mame/ui/selgame.cpp:922
msgid "Printer\tUnimplemented\n"
msgstr "Impresora\tNo implementada\n"
-#: src/frontend/mame/ui/selgame.cpp:1121
+#: src/frontend/mame/ui/selgame.cpp:924
msgid "Printer\tImperfect\n"
msgstr "Impresora\tImperfecta\n"
-#: src/frontend/mame/ui/selgame.cpp:1124
-msgid "Mag. Tape\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1126
-msgid "Mag. Tape\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1129
-msgid "Punch Tape\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1131
-msgid "Punch Tape\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1134
-msgid "Mag. Drum\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1136
-msgid "Mag. Drum\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1139
-msgid "(EP)ROM\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1141
-msgid "(EP)ROM\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1144
-msgid "Communications\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1146
-msgid "Communications\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:927
msgid "LAN\tUnimplemented\n"
msgstr "Red local\tNo implementada\n"
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:929
msgid "LAN\tImperfect\n"
msgstr "Red local\tImperfecta"
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:932
msgid "WAN\tUnimplemented\n"
msgstr "Red global\tNo implementada\n"
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:934
msgid "WAN\tImperfect\n"
msgstr "Red global\tImperfecta\n"
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:937
msgid "Timing\tUnimplemented\n"
msgstr "Cronometraje\tNo implementado\n"
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:939
msgid "Timing\tImperfect\n"
msgstr "Cronometraje\tImperfecto\n"
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:941
msgid "Mechanical Machine\tYes\n"
msgstr "Máquina mecánica\tSi\n"
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:941
msgid "Mechanical Machine\tNo\n"
msgstr "Máquina mecánica\tNo\n"
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:942
msgid "Requires Artwork\tYes\n"
msgstr "Requiere arte\tSi\n"
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:942
msgid "Requires Artwork\tNo\n"
msgstr "Requiere arte\tNo\n"
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:943
msgid "Requires Clickable Artwork\tYes\n"
msgstr "Requiere arte clicable\tSi\n"
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:943
msgid "Requires Clickable Artwork\tNo\n"
msgstr "Requiere arte clicable\tNo\n"
-#: src/frontend/mame/ui/selgame.cpp:1166
+#: src/frontend/mame/ui/selgame.cpp:944
msgid "Support Cocktail\tYes\n"
msgstr "Soporta modo cocktail\tSi\n"
-#: src/frontend/mame/ui/selgame.cpp:1166
+#: src/frontend/mame/ui/selgame.cpp:944
msgid "Support Cocktail\tNo\n"
msgstr "Soporta modo cocktail\tNo\n"
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:945
msgid "Driver is BIOS\tYes\n"
msgstr "El controlador es una BIOS\tSi\n"
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:945
msgid "Driver is BIOS\tNo\n"
msgstr "El controlador es una BIOS\tNo\n"
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:946
msgid "Support Save\tYes\n"
msgstr "Soporta guardado\tSi\n"
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:946
msgid "Support Save\tNo\n"
msgstr "Soporta guardado\tNo\n"
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:947
msgid "Screen Orientation\tVertical\n"
msgstr "Orientación de la pantalla\tVertical\n"
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:947
msgid "Screen Orientation\tHorizontal\n"
msgstr "Orientación de la pantalla\tHorizontal\n"
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:957
msgid "Requires CHD\tYes\n"
msgstr "Requiere CHD\tSi\n"
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:957
msgid "Requires CHD\tNo\n"
msgstr "Requiere CHD\tNo\n"
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:970
msgid "ROM Audit Result\tOK\n"
msgstr "Resultado de la auditoría de ROMs\tCORRECTA\n"
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:972
msgid "ROM Audit Result\tBAD\n"
msgstr "Resultado de la auditoría de ROMs\tINCORRECTA\n"
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:975
msgid "Samples Audit Result\tNone Needed\n"
msgstr "Resultado de la auditoría de muestras\tNo necesaria\n"
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:977
msgid "Samples Audit Result\tOK\n"
msgstr "Resultado de la auditoría de muestras\tCORRECTA\n"
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:979
msgid "Samples Audit Result\tBAD\n"
msgstr "Resultado de la auditoría de muestras\tINCORRECTA\n"
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:983
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
@@ -1829,22 +1928,32 @@ msgstr ""
"Auditoría de ROMs \tDesactivada\n"
"Auditoría de muestras \tDesactivada\n"
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1167
#, c-format
msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
msgstr "%1$s %2$s ( %3$d / %4$d máquinas (%5$d BIOS) )"
-#: src/frontend/mame/ui/selgame.cpp:1424
+#: src/frontend/mame/ui/selgame.cpp:1183 src/frontend/mame/ui/selsoft.cpp:555
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
+msgstr "%1$s: %2$s - Buscar: %3$s_"
+
+#: src/frontend/mame/ui/selgame.cpp:1185 src/frontend/mame/ui/selsoft.cpp:557
+#, c-format
+msgid "Search: %1$s_"
+msgstr "Buscar: %1$s_"
+
+#: src/frontend/mame/ui/selgame.cpp:1195
#, c-format
msgid "Romset: %1$-.100s"
msgstr "Conjunto de ROMs: %1$-.100s"
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1202
#, c-format
msgid "System: %1$-.100s"
msgstr "Sistema: %1$-.100s"
-#: src/frontend/mame/ui/selgame.cpp:1465
+#: src/frontend/mame/ui/selgame.cpp:1239
msgid ""
"The selected machine is missing one or more required ROM or CHD images. "
"Please select a different machine.\n"
@@ -1854,6 +1963,10 @@ msgstr ""
"favor, elige otra máquina.\n"
"\n"
+#: src/frontend/mame/ui/selgame.cpp:1245 src/frontend/mame/ui/selsoft.cpp:462
+msgid "Press any key to continue."
+msgstr "Pulsa cualquier tecla para continuar."
+
#: src/frontend/mame/ui/sndmenu.cpp:135
msgid "Sound"
msgstr "Sonido"
@@ -1866,307 +1979,519 @@ msgstr "Tasa de muestreo"
msgid "Use External Samples"
msgstr "Utilizar muestras externas"
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr "Otras opciones"
+#: src/frontend/mame/ui/utils.cpp:57 src/frontend/mame/ui/utils.cpp:81
+msgid "Unfiltered"
+msgstr "Sin filtrar"
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
-msgstr "Elegir última máquina emulada"
+#: src/frontend/mame/ui/utils.cpp:58 src/frontend/mame/ui/utils.cpp:82
+msgid "Available"
+msgstr "Disponible"
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
-msgstr "Agrandar imágenes en el panel derecho"
+#: src/frontend/mame/ui/utils.cpp:59 src/frontend/mame/ui/utils.cpp:83
+msgid "Unavailable"
+msgstr "No disponible"
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
-msgstr "Mostrar puntero del ratón"
+#: src/frontend/mame/ui/utils.cpp:60
+msgid "Working"
+msgstr "Funciona"
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
-msgstr "Confirmar salida de máquina"
+#: src/frontend/mame/ui/utils.cpp:61
+msgid "Not Working"
+msgstr "No Funciona"
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
-msgstr "Evitar la pantalla de información al inicio"
+#: src/frontend/mame/ui/utils.cpp:62
+msgid "Mechanical"
+msgstr "Mecánica"
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
-msgstr "Forzar aspecto 4:3 al capturar la pantalla"
+#: src/frontend/mame/ui/utils.cpp:63
+msgid "Not Mechanical"
+msgstr "No mecánica"
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
-msgstr "Utilizar imagen de fondo"
+#: src/frontend/mame/ui/utils.cpp:64
+msgid "Category"
+msgstr "Categoría"
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
-msgstr "Saltar el menú de selección de BIOS"
+#: src/frontend/mame/ui/utils.cpp:65
+msgid "Favorites"
+msgstr "Favoritos"
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
-msgstr "Saltar el menú de selección de software"
+#: src/frontend/mame/ui/utils.cpp:67
+msgid "Not BIOS"
+msgstr "No BIOS"
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
-msgstr "Información de la auditoría automática"
+#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:84
+msgid "Parents"
+msgstr "Padres"
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
-msgstr "Ocultar las máquinas sin ROMs de la lista"
+#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/utils.cpp:85
+msgid "Clones"
+msgstr "Clones"
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
-msgstr "Opciones avanzadas"
+#: src/frontend/mame/ui/utils.cpp:70
+msgid "Manufacturer"
+msgstr "Fabricante"
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
-msgstr "Opciones de rendimiento"
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:86
+msgid "Year"
+msgstr "Año"
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
-msgstr "Salto de frames automático"
+#: src/frontend/mame/ui/utils.cpp:72
+msgid "Save Supported"
+msgstr "Soporta guardado"
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
-msgstr "Salto de frame"
+#: src/frontend/mame/ui/utils.cpp:73
+msgid "Save Unsupported"
+msgstr "No soporta guardado"
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
-msgstr "Acelerar"
+#: src/frontend/mame/ui/utils.cpp:74
+msgid "CHD Required"
+msgstr "Requiere CHD"
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
-msgstr "Suspender"
+#: src/frontend/mame/ui/utils.cpp:75
+msgid "No CHD Required"
+msgstr "No requiere CHD"
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
-msgstr "Velocidad"
+#: src/frontend/mame/ui/utils.cpp:76
+msgid "Vertical Screen"
+msgstr "Pantalla vertical"
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
-msgstr "Velocidad de refresco"
+#: src/frontend/mame/ui/utils.cpp:77
+msgid "Horizontal Screen"
+msgstr "Pantalla horizontal"
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
-msgstr "Opciones de rotación"
+#: src/frontend/mame/ui/utils.cpp:78 src/frontend/mame/ui/utils.cpp:94
+msgid "Custom Filter"
+msgstr "Filtro personalizado"
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
-msgstr "Rotar a la derecha"
+#: src/frontend/mame/ui/utils.cpp:87
+msgid "Publisher"
+msgstr "Editor"
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
-msgstr "Rotar a la izquierda"
+#: src/frontend/mame/ui/utils.cpp:88
+msgid "Supported"
+msgstr "Soportado"
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
-msgstr "Rotar automáticamente a la derecha"
+#: src/frontend/mame/ui/utils.cpp:89
+msgid "Partially Supported"
+msgstr "Parcialmente soportado"
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
-msgstr "Rotar automáticamente a la izquierda"
+#: src/frontend/mame/ui/utils.cpp:90
+msgid "Unsupported"
+msgstr "No soportado"
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
-msgstr "Voltear horizontalmente"
+#: src/frontend/mame/ui/utils.cpp:91
+msgid "Release Region"
+msgstr "Región de la versión"
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
-msgstr "Voltear verticalmente"
+#: src/frontend/mame/ui/utils.cpp:92
+msgid "Device Type"
+msgstr "Tipo de dispositivo"
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
-msgstr "Opciones del arte"
+#: src/frontend/mame/ui/utils.cpp:93
+msgid "Software List"
+msgstr "Lista de software"
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
-msgstr "Recortes del arte"
+#: src/frontend/mame/ui/utils.cpp:244
+msgid "<set up filters>"
+msgstr "<configurar filtros>"
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
-msgstr "Utilizar fondos"
+#: src/frontend/mame/ui/utils.cpp:352
+msgid "Select custom filters:"
+msgstr "Seleccionar filtros personalizados:"
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
-msgstr "Utilizar sobreimpresiones"
+#: src/frontend/mame/ui/utils.cpp:503
+#, c-format
+msgid "Filter %1$u"
+msgstr "Filtro %1$u"
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
-msgstr "Utilizar marcos"
+#: src/frontend/mame/ui/utils.cpp:518
+msgid "Remove last filter"
+msgstr "Eliminar último filtro"
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
-msgstr "Utilizar paneles de control"
+#: src/frontend/mame/ui/utils.cpp:520
+msgid "Add filter"
+msgstr "Añadir filtro"
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
-msgstr "Utilizar marquesinas"
+#: src/frontend/mame/ui/utils.cpp:959
+msgid "Select category:"
+msgstr "Selecciona categoria:"
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
-msgstr "Opciones de estado/reproducción"
+#: src/frontend/mame/ui/utils.cpp:990
+msgid "[no category INI files]"
+msgstr "[Sin ficheros INI de categorías]"
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
-msgstr "Guardado/recuperación automático/a"
+#: src/frontend/mame/ui/utils.cpp:998
+msgid "[no groups in INI file]"
+msgstr "[No hay grupos en el fichero INI]"
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
-msgstr "Capacidad de rebobinado"
+#: src/frontend/mame/ui/utils.cpp:1032
+msgid "No category INI files found"
+msgstr "No se han encontrado ficheros INI de categorías"
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
-msgstr "Captura bilineal"
+#: src/frontend/mame/ui/utils.cpp:1037
+msgid "File"
+msgstr "Fichero"
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/utils.cpp:1041
+msgid "No groups found in category file"
+msgstr "No se han encontrado grupos en el fichero de categorías"
+
+#: src/frontend/mame/ui/utils.cpp:1046
+msgid "Group"
+msgstr "Grupo"
+
+#: src/frontend/mame/ui/utils.cpp:1047
+msgid "Include clones"
+msgstr "Incluir clones"
+
+#: src/frontend/mame/ui/selsoft.cpp:456
+msgid ""
+"The selected software is missing one or more required files. Please select a "
+"different software.\n"
+"\n"
msgstr ""
+"Al software elegido le falta uno o varios archivos necesarios. Por favor, "
+"elige otro software.\n"
+"\n"
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
-msgstr "Opciones de entrada"
+#: src/frontend/mame/ui/selsoft.cpp:549
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgstr "%1$s %2$s ( %3$d / %4$d paquetes de software )"
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
-msgstr "Bloqueo de monedas"
+#: src/frontend/mame/ui/selsoft.cpp:550
+#, c-format
+msgid "Driver: \"%1$s\" software list "
+msgstr "Controlador: \"%1$s\" lista de software "
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
-msgstr "Ratón"
+#: src/frontend/mame/ui/filesel.cpp:260
+msgid "[create]"
+msgstr "[crear]"
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
-msgstr "Joystick"
+#: src/frontend/mame/ui/filesel.cpp:419
+#, c-format
+msgid "Error accessing %s"
+msgstr "Error al acceder a %s"
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
-msgstr "Pistola de luz"
+#: src/frontend/mame/ui/filesel.cpp:515
+msgid "Select access mode"
+msgstr "Elige el modo de acceso"
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
-msgstr "Multi-teclado"
+#: src/frontend/mame/ui/filesel.cpp:516
+msgid "Read-only"
+msgstr "Solo lectura"
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
-msgstr "Multi-ratón"
+#: src/frontend/mame/ui/filesel.cpp:518
+msgid "Read-write"
+msgstr "Lectura y escritura"
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/filesel.cpp:519
+msgid "Read this image, write to another image"
+msgstr "Leer esta imagen, escribir en otra imagen"
+
+#: src/frontend/mame/ui/filesel.cpp:520
+msgid "Read this image, write to diff"
+msgstr "Leer esta imagen, escribir en diferencial"
+
+#: src/frontend/mame/ui/imgcntrl.cpp:117
+msgid "Cannot save over directory"
+msgstr "No se puede guardar en la carpeta"
+
+#: src/frontend/mame/ui/imgcntrl.cpp:150
+msgid ""
+"The software selected is missing one or more required ROM or CHD images. "
+"Please select a different one."
msgstr ""
+"Al software elegido le falta una o varias ROMs o imágenes CHD necesarias. "
+"Por favor elige otro distinto."
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
-msgstr "Interfaz de usuario activa"
+#: src/frontend/mame/ui/menu.cpp:294
+msgid "Return to Machine"
+msgstr "Volver a la máquina"
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
-msgstr "Recarga no visible"
+#: src/frontend/mame/ui/menu.cpp:299 src/frontend/mame/ui/menu.cpp:301
+msgid "Exit"
+msgstr "Salir"
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
-msgstr "Zona muerta de los joysticks"
+#: src/frontend/mame/ui/menu.cpp:306 src/frontend/mame/ui/menu.cpp:308
+msgid "Return to Previous Menu"
+msgstr "Volver al menú anterior"
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
-msgstr "Saturación de los joysticks"
+#: src/frontend/mame/ui/menu.cpp:742
+msgid "Auto"
+msgstr "Automát."
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
-msgstr "Teclado natural"
+#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:653
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
+msgstr ""
+"Comentario del truco:\n"
+"%s"
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
-msgstr "Entradas contradictorias simultáneas"
+#: src/frontend/mame/ui/cheatopt.cpp:105
+msgid "All cheats reloaded"
+msgstr "Se han recargado todos los trucos"
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
-msgstr "Impulso de monedas"
+#: src/frontend/mame/ui/cheatopt.cpp:136
+msgid "Autofire Settings"
+msgstr "Ajustes de disparo automático"
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
-msgstr "Mapeado de mandos"
+#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:581
+msgid "Reset All"
+msgstr "Reiniciar todo"
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
-msgstr "Asignación de pistolas de luz"
+#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:582
+msgid "Reload All"
+msgstr "Recargar todo"
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
-msgstr "Asignación de trackballs"
+#: src/frontend/mame/ui/cheatopt.cpp:273
+msgid "Autofire Status"
+msgstr "Estado del disparo automático"
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
-msgstr "Asignación de pedales"
+#: src/frontend/mame/ui/cheatopt.cpp:316
+msgid "No buttons found on this machine!"
+msgstr "No se han encontrado botones en esta máquina."
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
-msgstr "Asignación de palancas"
+#: src/frontend/mame/ui/cheatopt.cpp:327 src/frontend/mame/ui/cheatopt.cpp:331
+msgid "Autofire Delay"
+msgstr "Retardo del disparo automático"
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
-msgstr "Asignación de paletas"
+#: src/frontend/mame/ui/ui.cpp:337
+msgid "This driver requires images to be loaded in the following device(s): "
+msgstr ""
+"Este controlador necesita que se carguen imágenes en los siguientes "
+"dispositivos: "
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
-msgstr "Asignación de diales"
+#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
+msgid "Keyboard Emulation Status"
+msgstr "Estado de la emulación del teclado"
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
-msgstr "Asignación de disp. posicionales"
+#: src/frontend/mame/ui/ui.cpp:1086
+msgid "Mode: PARTIAL Emulation"
+msgstr "Modo: Emulación PARCIAL"
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
-msgstr "Asignación de ratones"
+#: src/frontend/mame/ui/ui.cpp:1087
+msgid "UI: Enabled"
+msgstr "Interfaz: Activada"
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
-msgstr "Modo de vídeo"
+#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
+msgid "**Use ScrLock to toggle**"
+msgstr "**Utiliza ScrLock para activar y desactivar**"
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
-msgstr "Número de pantallas"
+#: src/frontend/mame/ui/ui.cpp:1096
+msgid "Mode: FULL Emulation"
+msgstr "Modo: Emulación COMPLETA"
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
-msgstr "Triple búfer"
+#: src/frontend/mame/ui/ui.cpp:1097
+msgid "UI: Disabled"
+msgstr "Interfaz: Desactivada"
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
-msgstr "HLSL"
+#: src/frontend/mame/ui/ui.cpp:1249
+msgid "Autofire can't be enabled"
+msgstr "No se puede activar el disparo automático"
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
-msgstr "GLSL"
+#: src/frontend/mame/ui/ui.cpp:1302
+#, c-format
+msgid ""
+"Are you sure you want to quit?\n"
+"\n"
+"Press ''%1$s'' to quit,\n"
+"Press ''%2$s'' to return to emulation."
+msgstr ""
+"¿Seguro que quieres salir?\n"
+"\n"
+"Presiona «%1$s» para salir,\n"
+"Presiona «%2$s» para volver al emulador."
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
-msgstr "Filtrado bilineal"
+#: src/frontend/mame/ui/ui.cpp:1374
+msgid "Master Volume"
+msgstr "Volumen principal"
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
-msgstr "Preescalado de texturas"
+#: src/frontend/mame/ui/ui.cpp:1383
+#, c-format
+msgid "%1$s Volume"
+msgstr "Volumen %1$s"
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
-msgstr "Modo de ventana"
+#: src/frontend/mame/ui/ui.cpp:1407
+#, c-format
+msgid "Overclock CPU %1$s"
+msgstr "Acelerar CPU %1$s"
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
-msgstr "Bloquear forma de pantalla"
+#: src/frontend/mame/ui/ui.cpp:1416
+#, c-format
+msgid "Overclock %1$s sound"
+msgstr "Overclock de sonido %1$s"
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
-msgstr "Comenzar maximizada"
+#: src/frontend/mame/ui/ui.cpp:1437
+#, c-format
+msgid "%1$s Refresh Rate"
+msgstr "Tasa de refresco %1$s"
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
-msgstr "Actualización síncrona"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, c-format
+msgid "%1$s Brightness"
+msgstr "Brillo %1$s"
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
-msgstr "Esperar a la sincronización vertical"
+#: src/frontend/mame/ui/ui.cpp:1444
+#, c-format
+msgid "%1$s Contrast"
+msgstr "Contraste %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1446
+#, c-format
+msgid "%1$s Gamma"
+msgstr "Gamma %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1450
+#, c-format
+msgid "%1$s Horiz Stretch"
+msgstr "Estiramiento horizontal %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1452
+#, c-format
+msgid "%1$s Horiz Position"
+msgstr "Posición horizontal %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1454
+#, c-format
+msgid "%1$s Vert Stretch"
+msgstr "Estiramiento vertical %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1456
+#, c-format
+msgid "%1$s Vert Position"
+msgstr "Posición vertical %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1475
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
+msgstr "Estiramiento horizontal de Laserdisc «%1$s»"
+
+#: src/frontend/mame/ui/ui.cpp:1477
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
+msgstr "Posición horizontal de Laserdisc «%1$s»"
+
+#: src/frontend/mame/ui/ui.cpp:1479
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
+msgstr "Estiramiento vertical de Laserdisc «%1$s»"
+
+#: src/frontend/mame/ui/ui.cpp:1481
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
+msgstr "Posición vertical de Laserdisc «%1$s»"
+
+#: src/frontend/mame/ui/ui.cpp:1493
+msgid "Vector Flicker"
+msgstr "Vector de parpadeo"
+
+#: src/frontend/mame/ui/ui.cpp:1494
+msgid "Beam Width Minimum"
+msgstr "Anchura mín. del haz"
+
+#: src/frontend/mame/ui/ui.cpp:1495
+msgid "Beam Width Maximum"
+msgstr "Anchura max. del haz"
+
+#: src/frontend/mame/ui/ui.cpp:1496
+msgid "Beam Intensity Weight"
+msgstr "Peso de intensidad del haz"
+
+#: src/frontend/mame/ui/ui.cpp:1511
+#, c-format
+msgid "Crosshair Scale %1$s"
+msgstr "Escala de diana %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "X"
+msgstr "Horizontal"
+
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "Y"
+msgstr "Vertical"
-#: src/frontend/mame/ui/devopt.cpp:43
+#: src/frontend/mame/ui/ui.cpp:1513
+#, c-format
+msgid "Crosshair Offset %1$s"
+msgstr "Posición de diana %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1601
+#, c-format
+msgid "%1$3ddB"
+msgstr "%1$3ddB"
+
+#: src/frontend/mame/ui/ui.cpp:1645
+#, c-format
+msgid "%1$d%%"
+msgstr "%1$d%%"
+
+#: src/frontend/mame/ui/ui.cpp:1661
+#, c-format
+msgid "%1$3.0f%%"
+msgstr "%1$3.0f%%"
+
+#: src/frontend/mame/ui/ui.cpp:1685
+#, c-format
+msgid "%1$.3ffps"
+msgstr "%1$.3ffps"
+
+#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
+#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
+#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
+#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
+#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
+#: src/frontend/mame/ui/ui.cpp:1927
+#, c-format
+msgid "%1$.3f"
+msgstr "%1$.3f"
+
+#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
+#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
+#, c-format
+msgid "%1$1.2f"
+msgstr "%1$1.2f"
+
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
+msgstr "Escala horizontal de diana %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
+msgstr "Escala vertical de diana %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
+msgstr "Posición horizontal de diana %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
+msgstr "Posición vertical de diana %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
+msgstr "**Error al guardar «ui.ini»**"
+
+#: src/frontend/mame/ui/ui.cpp:2226
+#, c-format
+msgid "**Error saving %s.ini**"
+msgstr "Error al guardar «%s.ini»**"
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " COLORS"
+msgstr " COLORES"
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " PENS"
+msgstr " PLUMAS"
+
+#: src/frontend/mame/ui/devopt.cpp:39
#, c-format
msgid ""
"[This option is currently mounted in the running system]\n"
@@ -2183,7 +2508,7 @@ msgstr ""
"\n"
"La opción seleccionada activa los siguientes elementos:\n"
-#: src/frontend/mame/ui/devopt.cpp:44
+#: src/frontend/mame/ui/devopt.cpp:40
#, c-format
msgid ""
"[This option is NOT currently mounted in the running system]\n"
@@ -2200,60 +2525,60 @@ msgstr ""
"\n"
"Si seleccionas esta opción se activarán los siguientes elementos:\n"
-#: src/frontend/mame/ui/devopt.cpp:52
+#: src/frontend/mame/ui/devopt.cpp:48
msgid "* CPU:\n"
msgstr "* Procesador:\n"
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
#, c-format
msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
msgstr " %1$d×%2$s %3$d.%4$06d MHz\n"
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
msgstr " %1$d×%2$s %5$d.%6$03d kHz\n"
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
msgid " %2$s %3$d.%4$06d MHz\n"
msgstr " %2$s %3$d.%4$06d MHz\n"
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
msgid " %2$s %5$d.%6$03d kHz\n"
msgstr " %2$s %5$d.%6$03d kHz\n"
-#: src/frontend/mame/ui/devopt.cpp:89
+#: src/frontend/mame/ui/devopt.cpp:85
msgid "* Video:\n"
msgstr "* Vídeo:\n"
-#: src/frontend/mame/ui/devopt.cpp:94
+#: src/frontend/mame/ui/devopt.cpp:90
#, c-format
msgid " Screen '%1$s': Vector\n"
msgstr " Pantalla '%1$s': Vectorial\n"
-#: src/frontend/mame/ui/devopt.cpp:103
+#: src/frontend/mame/ui/devopt.cpp:99
#, c-format
msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
msgstr " Pantalla '%1$s': %2$d × %3$d (V) %4$f Hz\n"
-#: src/frontend/mame/ui/devopt.cpp:104
+#: src/frontend/mame/ui/devopt.cpp:100
#, c-format
msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
msgstr " Pantalla '%1$s': %2$d × %3$d (H) %4$f Hz\n"
-#: src/frontend/mame/ui/devopt.cpp:117
+#: src/frontend/mame/ui/devopt.cpp:113
msgid "* Sound:\n"
msgstr "* Sonido:\n"
-#: src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/devopt.cpp:133
#, c-format
msgid " %1$d×%2$s\n"
msgstr " %1$d×%2$s\n"
-#: src/frontend/mame/ui/devopt.cpp:138
+#: src/frontend/mame/ui/devopt.cpp:134
msgid " %2$s\n"
msgstr " %2$s\n"
-#: src/frontend/mame/ui/devopt.cpp:168
+#: src/frontend/mame/ui/devopt.cpp:164
#, c-format
msgid ""
"* BIOS settings:\n"
@@ -2262,492 +2587,86 @@ msgstr ""
"* Configuración de la BIOS:\n"
" %1$d opciones [por defecto: %2$s]\n"
-#: src/frontend/mame/ui/devopt.cpp:208 src/frontend/mame/ui/devopt.cpp:224
-#: src/frontend/mame/ui/devopt.cpp:269
+#: src/frontend/mame/ui/devopt.cpp:204 src/frontend/mame/ui/devopt.cpp:220
+#: src/frontend/mame/ui/devopt.cpp:265
#, c-format
msgid " %1$s [default: %2$s]\n"
msgstr " %1$s [por defecto: %2$s]\n"
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
+#: src/frontend/mame/ui/devopt.cpp:209 src/frontend/mame/ui/devopt.cpp:225
#, c-format
msgid " %1$s\n"
msgstr " %1$s\n"
-#: src/frontend/mame/ui/devopt.cpp:234
+#: src/frontend/mame/ui/devopt.cpp:230
msgid "* DIP switch settings:\n"
msgstr "* Configuración de los interruptores DIP:\n"
-#: src/frontend/mame/ui/devopt.cpp:236
+#: src/frontend/mame/ui/devopt.cpp:232
msgid "* Configuration settings:\n"
msgstr "* Configuración:\n"
-#: src/frontend/mame/ui/devopt.cpp:238
+#: src/frontend/mame/ui/devopt.cpp:234
msgid "* Input device(s):\n"
msgstr "* Dispositivo(s) de entrada:\n"
-#: src/frontend/mame/ui/devopt.cpp:240
+#: src/frontend/mame/ui/devopt.cpp:236
#, c-format
msgid " User inputs [%1$d inputs]\n"
msgstr " Entradas de usuario [%1$d entradas]\n"
-#: src/frontend/mame/ui/devopt.cpp:242
+#: src/frontend/mame/ui/devopt.cpp:238
#, c-format
msgid " Mahjong inputs [%1$d inputs]\n"
msgstr " Entradas de Mahjong [%1$d entradas]\n"
-#: src/frontend/mame/ui/devopt.cpp:244
+#: src/frontend/mame/ui/devopt.cpp:240
#, c-format
msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr " Entradas de Hanafuda [%1$d entradas]\n"
-#: src/frontend/mame/ui/devopt.cpp:246
+#: src/frontend/mame/ui/devopt.cpp:242
#, c-format
msgid " Gambling inputs [%1$d inputs]\n"
msgstr " Entradas de Gambling [%1$d entradas]\n"
-#: src/frontend/mame/ui/devopt.cpp:248
+#: src/frontend/mame/ui/devopt.cpp:244
#, c-format
msgid " Analog inputs [%1$d inputs]\n"
msgstr " Entradas analógicas [%1$d entradas]\n"
-#: src/frontend/mame/ui/devopt.cpp:250
+#: src/frontend/mame/ui/devopt.cpp:246
#, c-format
msgid " Adjuster inputs [%1$d inputs]\n"
msgstr " Entradas del regulador [%1$d entradas]\n"
-#: src/frontend/mame/ui/devopt.cpp:252
+#: src/frontend/mame/ui/devopt.cpp:248
#, c-format
msgid " Keypad inputs [%1$d inputs]\n"
msgstr " Entradas del Keypoad [%1$d entradas]\n"
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/devopt.cpp:250
#, c-format
msgid " Keyboard inputs [%1$d inputs]\n"
msgstr " Entradas del teclado [%1$d entradas]\n"
-#: src/frontend/mame/ui/devopt.cpp:259
+#: src/frontend/mame/ui/devopt.cpp:255
msgid "* Media Options:\n"
msgstr "* Opciones de medios:\n"
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/devopt.cpp:257
#, c-format
msgid " %1$s [tag: %2$s]\n"
msgstr " %1$s [reseña: %2$s]\n"
-#: src/frontend/mame/ui/devopt.cpp:267
+#: src/frontend/mame/ui/devopt.cpp:263
msgid "* Slot Options:\n"
msgstr "* Opciones de ranuras:\n"
-#: src/frontend/mame/ui/devopt.cpp:274
+#: src/frontend/mame/ui/devopt.cpp:270
msgid "[None]\n"
msgstr "[Ninguna]\n"
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
-msgstr "¿Auditar ROMs para las %1$u máquinas marcadas como no-disponibles?"
-
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
-msgstr "¿Auditar ROMs para todas las %1$u máquinas?"
-
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
-msgstr "(los resultados serán guardados en %1$s)"
-
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
-msgstr ""
-"Auditando ROMs para la máquina %2$u de %3$u...\n"
-"%1$s"
-
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr "Comenzar auditoría"
-
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
-msgstr "No se puede guardar en la carpeta"
-
-#: src/frontend/mame/ui/imgcntrl.cpp:150
-msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
-msgstr ""
-"Al software elegido le falta una o varias ROMs o imágenes CHD necesarias. "
-"Por favor elige otro distinto."
-
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
-msgstr "protección"
-
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
-msgstr "cronometraje"
-
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
-msgstr "gráficos"
-
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
-msgstr "paleta de color"
-
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
-msgstr "sonido"
-
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
-msgstr "cámara"
-
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
-msgstr "micrófono"
-
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
-msgstr "controles"
-
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
-msgstr "teclado"
-
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
-msgstr "ratón"
-
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
-msgstr "disco"
-
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
-msgstr "impresora"
-
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
-msgstr "Red local"
-
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
-msgstr "Red global"
-
-#: src/frontend/mame/ui/info.cpp:188
-msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
-msgstr ""
-"Uno o más ROMs/CHDs de esta máquina son incorrectos. La máquina podría no "
-"funcionar correctamente.\n"
-
-#: src/frontend/mame/ui/info.cpp:198
-msgid ""
-"There are known problems with this machine\n"
-"\n"
-msgstr ""
-"Existen problemas conocidos con esta máquina\n"
-"\n"
-
-#: src/frontend/mame/ui/info.cpp:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
-msgstr "Uno o más ROMs/CHDs de esta máquina no se han volcado correctamente.\n"
-
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
-msgstr "Características no emuladas: "
-
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
-msgstr "%s"
-
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#: src/frontend/mame/ui/info.cpp:275
-#, c-format
-msgid ", %s"
-msgstr ", %s"
-
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
-msgstr "Características emuladas parcialmente: "
-
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
-msgstr "Voltear la pantalla en modo cóctel no está soportado.\n"
-
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
-msgstr "Esta máquina requiere ficheros de arte externos.\n"
-
-#: src/frontend/mame/ui/info.cpp:243
-msgid ""
-"This machine was never completed. It may exhibit strange behavior or missing "
-"elements that are not bugs in the emulation.\n"
-msgstr ""
-"Esta máquina nunca se terminó. Podría comportarse de forma extraña o mostrar "
-"signos de mal funcionamiento que en ningún caso son defectos de emulación.\n"
-
-#: src/frontend/mame/ui/info.cpp:245
-msgid ""
-"This machine has no sound hardware, MAME will produce no sounds, this is "
-"expected behaviour.\n"
-msgstr ""
-"Esta máquina no soporta sonido, por lo que MAME no reproducirá audio, este "
-"es el comportamiento esperado.\n"
-
-#: src/frontend/mame/ui/info.cpp:249
-msgid ""
-"\n"
-"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
-"complete. There is nothing you can do to fix this problem except wait for "
-"the developers to improve the emulation.\n"
-msgstr ""
-"\n"
-"ESTA MÃQUINA NO FUNCIONA. La emulación para esta máquina no está todavía "
-"completada. No hay nada que se pueda hacer para arreglar el problema salvo "
-"esperar a que los desarrolladores mejoren la emulación.\n"
-
-#: src/frontend/mame/ui/info.cpp:251
-msgid ""
-"\n"
-"Elements of this machine cannot be emulated as they requires physical "
-"interaction or consist of mechanical devices. It is not possible to fully "
-"experience this machine.\n"
-msgstr ""
-"\n"
-"Algunos elementos de esta máquina no pueden ser emulados dado que requieren "
-"interacción directa con dispositivos mecánicos. No es posible disfrutar de "
-"una experiencia completa de esta máquina.\n"
-
-#: src/frontend/mame/ui/info.cpp:273
-#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
-msgstr ""
-"\n"
-"\n"
-"Existen clones funcionales de esta máquina: %s"
-
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
-msgstr ""
-"\n"
-"\n"
-"Pulsa cualquier tecla para continuar."
-
-#: src/frontend/mame/ui/info.cpp:301
-#, c-format
-msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
-msgstr ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Controlador: %4$s\n"
-"\n"
-"Procesador:\n"
-
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
-msgstr "MHz"
-
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
-msgstr "kHz"
-
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
-msgstr ""
-"\n"
-"Sonido:\n"
-
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
-msgstr ""
-"\n"
-"Vídeo:\n"
-
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
-msgstr "Ninguno\n"
-
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
-msgstr "Vector"
-
-#: src/frontend/mame/ui/info.cpp:400
-#, c-format
-msgid "%1$s: %2$s\n"
-msgstr "%1$s: %2$s\n"
-
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
-msgstr "%2$s\n"
-
-#: src/frontend/mame/ui/info.cpp:446
-#, c-format
-msgid "Screen '%1$s'"
-msgstr "Pantalla «%1$s»"
-
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr "Pantalla"
-
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
-msgstr "No está soportado"
-
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
-msgstr "Soportado parcialmente"
-
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
-msgstr "[vacío]"
-
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
-msgstr "Paneles de control"
-
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
-msgstr "Vista previa de arte"
-
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
-msgstr "Fin del juego"
-
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
-msgstr "Añadir o borrar de favoritos"
-
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
-msgstr "Exportar esta lista a un archivo"
-
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
-msgstr "Mostrar vista de DATs"
-
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
-msgstr "Selección de partes de software:"
-
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
-msgstr "Selección de BIOS:"
-
-#: src/frontend/mame/ui/selmenu.cpp:622
-#, c-format
-msgid "Software is clone of: %1$-.100s"
-msgstr "El software es un clon de: %1$-.100s"
-
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
-msgstr "Es un software padre"
-
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
-msgstr "Soportado: No"
-
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
-msgstr "Soportado: Parcialmente"
-
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
-msgstr "Soportado: Sí"
-
-#: src/frontend/mame/ui/selmenu.cpp:644
-#, c-format
-msgid "romset: %1$-.100s"
-msgstr "conjunto de ROMs: %1$-.100s"
-
-#: src/frontend/mame/ui/selmenu.cpp:660
-#, c-format
-msgid "Driver is clone of: %1$-.100s"
-msgstr "El controlador es un clon de: %1$-.100s"
-
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
-msgstr "Es un controlador padre"
-
-#: src/frontend/mame/ui/selmenu.cpp:698
-#, c-format
-msgid "%1$s %2$s"
-msgstr "%1$s %2$s"
-
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
-msgstr "Imágenes"
-
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
-msgstr "Informaciones"
-
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
-msgstr "Utilización"
-
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
-msgstr "Información general"
-
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
-msgstr "Interfaz de usuario"
-
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
-msgstr "Otros controles"
-
#: plugins/timer/init.lua:94
msgid "Current time"
msgstr "Tiempo actual"
@@ -2764,51 +2683,51 @@ msgstr "Contador de ejecuciones"
msgid "Timer"
msgstr "Tiempo"
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:510
msgid "Select cheat to set hotkey"
msgstr "Selecciona truco para configurar la tecla-rápida"
-#: plugins/cheat/init.lua:534
+#: plugins/cheat/init.lua:516
msgid "Press button for hotkey or wait to clear"
msgstr "Pulsa la tecla-rápida o espera para borrar"
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:528
msgid "None"
msgstr "Ninguno"
-#: plugins/cheat/init.lua:551
+#: plugins/cheat/init.lua:533
msgid "Done"
msgstr "Hecho"
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:547 plugins/cheat/init.lua:561
msgid "Set"
msgstr "Configurar"
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:580
msgid "Set hotkeys"
msgstr "Configurar teclas rápidas"
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:720
#, lua-format
msgid "Activated: %s = %s"
msgstr "Activado: %s = %s"
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:723 plugins/cheat/init.lua:781
#, lua-format
msgid "Activated: %s"
msgstr "Activado: %s"
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:785
#, lua-format
msgid "Enabled: %s"
msgstr "Habilitado: %s"
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:790
#, lua-format
msgid "Disabled: %s"
msgstr "Deshabilitado: %s"
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "%s added"
msgstr "%s añadido"
@@ -2861,49 +2780,49 @@ msgstr "Inicio de partida"
msgid "MARPScore"
msgstr "Puntuación MARP"
-#: plugins/cheatfind/init.lua:404
+#: plugins/cheatfind/init.lua:373
msgid "Save Cheat"
msgstr "Guardar Truco"
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Default"
msgstr "Por defecto"
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Custom"
msgstr "Personalizado"
-#: plugins/cheatfind/init.lua:408
+#: plugins/cheatfind/init.lua:377
msgid "Cheat Name"
msgstr "Nombre del Truco"
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/cheatfind/init.lua:383 plugins/cheatfind/init.lua:748
#, lua-format
msgid "Default name is %s"
msgstr "El nombre por defecto es %s"
-#: plugins/cheatfind/init.lua:422
+#: plugins/cheatfind/init.lua:391
msgid "Player"
msgstr "Jugador"
-#: plugins/cheatfind/init.lua:427
+#: plugins/cheatfind/init.lua:396
msgid "Type"
msgstr "Tipo"
-#: plugins/cheatfind/init.lua:433
+#: plugins/cheatfind/init.lua:402
msgid "Save"
msgstr "Guardar"
-#: plugins/cheatfind/init.lua:462
+#: plugins/cheatfind/init.lua:429
#, lua-format
msgid "Cheat written to %s and added to cheat.simple"
msgstr "Truco escrito en %s y añadido a cheat.simple"
-#: plugins/cheatfind/init.lua:472
+#: plugins/cheatfind/init.lua:437
msgid "Cheat added to cheat.simple"
msgstr "Truco añadido a cheat.simple"
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:442
msgid ""
"Unable to write file\n"
"Ensure that cheatpath folder exists"
@@ -2911,297 +2830,176 @@ msgstr ""
"No se ha podido escribir el fichero\n"
"Asegúrese de que existe la ruta de la carpeta cheatpath"
-#: plugins/cheatfind/init.lua:486
+#: plugins/cheatfind/init.lua:451
msgid "Cancel"
msgstr "Cancelar"
-#: plugins/cheatfind/init.lua:491
+#: plugins/cheatfind/init.lua:456
msgid "CPU or RAM"
msgstr "Procesador o Memoria RAM"
-#: plugins/cheatfind/init.lua:495
+#: plugins/cheatfind/init.lua:460
msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
"Los cambios solo tendrán efecto cuando se seleccione \"Comenzar nueva "
"búsqueda\""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
-msgstr ""
+#: plugins/cheatfind/init.lua:479
+msgid "Data cleared and current state saved"
+msgstr "Datos borrados y estado actual guardado"
-#: plugins/cheatfind/init.lua:551
+#: plugins/cheatfind/init.lua:487
msgid "Start new search"
msgstr "Comenzar nueva búsqueda"
-#: plugins/cheatfind/init.lua:564
-#, lua-format
-msgid "Memory State saved to Slot %d"
-msgstr ""
+#: plugins/cheatfind/init.lua:497
+msgid "Current state saved"
+msgstr "Estado actual guardado"
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
-msgstr ""
+#: plugins/cheatfind/init.lua:504
+msgid "Save current -- #"
+msgstr "Guardar actual -- #"
-#: plugins/cheatfind/init.lua:614
+#: plugins/cheatfind/init.lua:536
#, lua-format
msgid "%d total matches found"
msgstr "%d coincidencias encontradas"
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
-msgstr ""
+#: plugins/cheatfind/init.lua:543
+msgid "Compare"
+msgstr "Comparar"
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
-msgstr ""
+#: plugins/cheatfind/init.lua:546
+msgid "Left operand"
+msgstr "Operando izquierdo"
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
-msgstr ""
+#: plugins/cheatfind/init.lua:549
+msgid "Current"
+msgstr "Actual"
+
+#: plugins/cheatfind/init.lua:554
+msgid "Operator"
+msgstr "Operador"
+
+#: plugins/cheatfind/init.lua:561
+msgid "Left less than right, value is difference"
+msgstr "Izquierdo menor que derecho, el valor es la diferencia"
+
+#: plugins/cheatfind/init.lua:563
+msgid "Left greater than right, value is difference"
+msgstr "Izquierdo mayor que derecho, el valor es la diferencia"
-#: plugins/cheatfind/init.lua:676
+#: plugins/cheatfind/init.lua:565
msgid "Left equal to right"
msgstr "Izquierdo igual que derecho"
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
-msgstr ""
+#: plugins/cheatfind/init.lua:567
+msgid "Left not equal to right, value is difference"
+msgstr "Izquierdo distinto que derecho, el valor es la diferencia"
-#: plugins/cheatfind/init.lua:680
+#: plugins/cheatfind/init.lua:569
msgid "Left equal to right with bitmask"
msgstr "Izquierdo igual que derecho con máscara de bits"
-#: plugins/cheatfind/init.lua:682
+#: plugins/cheatfind/init.lua:571
msgid "Left not equal to right with bitmask"
msgstr "Izquierdo distinto que derecho con máscara de bits"
-#: plugins/cheatfind/init.lua:684
+#: plugins/cheatfind/init.lua:573
msgid "Left less than value"
msgstr "Izquierdo menor que el valor"
-#: plugins/cheatfind/init.lua:686
+#: plugins/cheatfind/init.lua:575
msgid "Left greater than value"
msgstr "Izquierdo mayor que el valor"
-#: plugins/cheatfind/init.lua:688
+#: plugins/cheatfind/init.lua:577
msgid "Left equal to value"
msgstr "Izquierdo igual que el valor"
-#: plugins/cheatfind/init.lua:690
+#: plugins/cheatfind/init.lua:579
msgid "Left not equal to value"
msgstr "Izquierdo distinto que el valor"
-#: plugins/cheatfind/init.lua:712
+#: plugins/cheatfind/init.lua:590
+msgid "Right operand"
+msgstr "Operador derecho"
+
+#: plugins/cheatfind/init.lua:598
msgid "Value"
msgstr "Valor"
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:719
+#: plugins/cheatfind/init.lua:602
msgid "Any"
msgstr "Cualquiera"
-#: plugins/cheatfind/init.lua:725
+#: plugins/cheatfind/init.lua:608
msgid "Data Format"
msgstr "Formato de los datos"
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:738
-msgid ""
-"Use this if you want to poke the Slot 1 value (eg. You started with "
-"something but lost it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:740
-msgid ""
-"Use this if you want to poke the Last Slot value (eg. You started without an "
-"item but finally got it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:816
+#: plugins/cheatfind/init.lua:632
msgid "Undo last search -- #"
msgstr "Deshacer última búsqueda -- #"
-#: plugins/cheatfind/init.lua:820
+#: plugins/cheatfind/init.lua:636
msgid "Match block"
msgstr "Coincidir bloque"
-#: plugins/cheatfind/init.lua:823
+#: plugins/cheatfind/init.lua:639
msgid "All"
msgstr "Todo"
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheatfind/init.lua:690
#, lua-format
-msgid "Test Cheat %08X:%02X"
-msgstr ""
+msgid "Test cheat at addr %08X"
+msgstr "Probar truco en la dirección %08X"
-#: plugins/cheatfind/init.lua:974
+#: plugins/cheatfind/init.lua:722
msgid "Cheat engine not available"
msgstr "Motor de trucos no disponible"
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Test"
msgstr "Probar"
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Write"
msgstr "Escribir"
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Watch"
msgstr "Inspeccionar"
-#: plugins/cheatfind/init.lua:1045
+#: plugins/cheatfind/init.lua:788
msgid "Page"
msgstr "Página"
-#: plugins/cheatfind/init.lua:1063
+#: plugins/cheatfind/init.lua:806
msgid "Clear Watches"
msgstr "Limpiar inspecciones"
-#: plugins/cheatfind/init.lua:1078
+#: plugins/cheatfind/init.lua:816
msgid "Cheat Finder"
msgstr "Buscador de Trucos"
-#: plugins/portname/init.lua:103
+#: plugins/portname/init.lua:69
msgid "Save input names to file"
msgstr "Guardar los nombres de entrada a fichero"
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
+#: plugins/portname/init.lua:100 plugins/portname/init.lua:105
+#: plugins/portname/init.lua:121
msgid "Failed to save input name file"
msgstr "Error al guardar el fichero nombres de entrada"
-#: plugins/portname/init.lua:167
+#: plugins/portname/init.lua:133
#, lua-format
msgid "Input port name file saved to %s"
msgstr "Fichero de nombres de puertos de entrada guardado en %s"
-#: plugins/portname/init.lua:172
+#: plugins/portname/init.lua:138
msgid "Input ports"
msgstr "Puertos de entrada"
-#~ msgid "Data cleared and current state saved"
-#~ msgstr "Datos borrados y estado actual guardado"
-
-#~ msgid "Current state saved"
-#~ msgstr "Estado actual guardado"
-
-#~ msgid "Save current -- #"
-#~ msgstr "Guardar actual -- #"
-
-#~ msgid "Compare"
-#~ msgstr "Comparar"
-
-#~ msgid "Left operand"
-#~ msgstr "Operando izquierdo"
-
-#~ msgid "Current"
-#~ msgstr "Actual"
-
-#~ msgid "Operator"
-#~ msgstr "Operador"
-
-#~ msgid "Left less than right, value is difference"
-#~ msgstr "Izquierdo menor que derecho, el valor es la diferencia"
-
-#~ msgid "Left greater than right, value is difference"
-#~ msgstr "Izquierdo mayor que derecho, el valor es la diferencia"
-
-#~ msgid "Left not equal to right, value is difference"
-#~ msgstr "Izquierdo distinto que derecho, el valor es la diferencia"
-
-#~ msgid "Right operand"
-#~ msgstr "Operador derecho"
-
-#~ msgid "Test cheat at addr %08X"
-#~ msgstr "Probar truco en la dirección %08X"
-
#~ msgid ""
#~ "ROM Audit Disabled\t\n"
#~ "Samples Audit Disabled\t\n"
diff --git a/language/Spanish_Mexico/strings.po b/language/Spanish_Mexico/strings.po
index e8038fbf17f..b771a7f7e7a 100644
--- a/language/Spanish_Mexico/strings.po
+++ b/language/Spanish_Mexico/strings.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MAME\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-03-17 13:37+1100\n"
+"POT-Creation-Date: 2018-04-28 15:32+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -18,1144 +18,1041 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
+#: src/frontend/mame/ui/auditmenu.cpp:96
#, c-format
-msgid "Screen #%d"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Enabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Disabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
-msgid "Marquees"
+#: src/frontend/mame/ui/auditmenu.cpp:99
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/auditmenu.cpp:104
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/auditmenu.cpp:130
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/auditmenu.cpp:142
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/selmenu.cpp:49 src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/selmenu.cpp:50 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/selmenu.cpp:51
+msgid "Control Panels"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/selmenu.cpp:52 src/frontend/mame/ui/dirmenu.cpp:50
+msgid "PCBs"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/selmenu.cpp:53 src/frontend/mame/ui/dirmenu.cpp:47
+msgid "Flyers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/selmenu.cpp:54 src/frontend/mame/ui/dirmenu.cpp:48
+msgid "Titles"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/selmenu.cpp:55 src/frontend/mame/ui/dirmenu.cpp:49
+msgid "Ends"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/selmenu.cpp:56
+msgid "Artwork Preview"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/selmenu.cpp:57 src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Bosses"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/selmenu.cpp:58 src/frontend/mame/ui/dirmenu.cpp:60
+msgid "Logos"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/selmenu.cpp:59 src/frontend/mame/ui/dirmenu.cpp:62
+msgid "Versus"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/selmenu.cpp:60
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/selmenu.cpp:61 src/frontend/mame/ui/dirmenu.cpp:59
+msgid "HowTo"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/selmenu.cpp:62 src/frontend/mame/ui/dirmenu.cpp:61
+msgid "Scores"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/selmenu.cpp:63 src/frontend/mame/ui/dirmenu.cpp:57
+msgid "Select"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/selmenu.cpp:64 src/frontend/mame/ui/dirmenu.cpp:51
+#: src/frontend/mame/ui/videoopt.cpp:224
+msgid "Marquees"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/selmenu.cpp:65 src/frontend/mame/ui/dirmenu.cpp:63
+msgid "Covers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/selmenu.cpp:69
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/selmenu.cpp:70
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/selmenu.cpp:71
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/selmenu.cpp:237
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/selmenu.cpp:343
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/selmenu.cpp:570 src/frontend/mame/ui/selmenu.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:311
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/selmenu.cpp:574
+#, c-format
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/selmenu.cpp:576
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/selmenu.cpp:581
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/selmenu.cpp:586
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/selmenu.cpp:591
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selmenu.cpp:596
+#, c-format
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selmenu.cpp:612
#, c-format
-msgid "Current %1$s Folders"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selmenu.cpp:614
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selmenu.cpp:619
+#: src/frontend/mame/ui/simpleselgame.cpp:330
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selmenu.cpp:621
+#: src/frontend/mame/ui/simpleselgame.cpp:332
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:623
+#: src/frontend/mame/ui/simpleselgame.cpp:334
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:627
+#: src/frontend/mame/ui/simpleselgame.cpp:338
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/selmenu.cpp:629
+#: src/frontend/mame/ui/simpleselgame.cpp:340
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/selmenu.cpp:631
+#: src/frontend/mame/ui/simpleselgame.cpp:342
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/selmenu.cpp:634
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/selmenu.cpp:636
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/selmenu.cpp:638
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/selmenu.cpp:640
+#: src/frontend/mame/ui/simpleselgame.cpp:351
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/selmenu.cpp:650
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/selmenu.cpp:1975
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/selmenu.cpp:1976
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/selmenu.cpp:2386 src/frontend/mame/ui/miscmenu.cpp:826
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/selmenu.cpp:2454
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/selmenu.cpp:2489
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/dirmenu.cpp:35
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/dirmenu.cpp:36
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
-#: src/frontend/mame/ui/slotopt.cpp:220
-msgid "[empty slot]"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/dirmenu.cpp:40
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/dirmenu.cpp:52
+msgid "Controls Panels"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/dirmenu.cpp:53
+msgid "Crosshairs"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Artworks"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks Preview"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "GameOver"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/dirmenu.cpp:116
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/dirmenu.cpp:167
+#, c-format
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/dirmenu.cpp:182
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/dirmenu.cpp:429
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/dirmenu.cpp:513
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/info.cpp:30
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "LAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/info.cpp:180
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/info.cpp:190
+msgid ""
+"There are known problems with this machine\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/info.cpp:195
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/info.cpp:200
+msgid "Completely unemulated features: "
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#, c-format
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#: src/frontend/mame/ui/info.cpp:267
+#, c-format
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/info.cpp:216
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/info.cpp:231
+msgid "Screen flipping in cocktail mode is not supported.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/info.cpp:233
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/info.cpp:235
+msgid ""
+"This machine was never completed. It may exhibit strange behavior or missing "
+"elements that are not bugs in the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/info.cpp:237
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/info.cpp:241
+msgid ""
+"\n"
+"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
+"complete. There is nothing you can do to fix this problem except wait for "
+"the developers to improve the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/info.cpp:243
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they requires physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/info.cpp:265
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/info.cpp:278
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/info.cpp:293
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:149
+#: src/frontend/mame/ui/info.cpp:342
msgid ""
-"The selected game is missing one or more required ROM or CHD images. Please "
-"select a different game.\n"
"\n"
-"Press any key to continue."
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:247
-#, c-format
+#: src/frontend/mame/ui/info.cpp:370
msgid ""
-"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
"\n"
-"If this is your first time using %2$s, please see the config.txt file in the "
-"docs directory for information on configuring %2$s."
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+"Video:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/info.cpp:374
+msgid "None\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/info.cpp:381
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:314
-#: src/frontend/mame/ui/selsoft.cpp:652 src/frontend/mame/ui/selsoft.cpp:659
+#: src/frontend/mame/ui/info.cpp:392
#, c-format
-msgid "%1$-.100s"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:317
-#: src/frontend/mame/ui/selmenu.cpp:618 src/frontend/mame/ui/selmenu.cpp:654
-#, c-format
-msgid "%1$s, %2$-.100s"
+#: src/frontend/mame/ui/info.cpp:392
+msgid "%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
+#: src/frontend/mame/ui/info.cpp:438
#, c-format
-msgid "Driver: %1$-.100s"
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+msgid "Screen '%1$s'"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/info.cpp:440
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/info.cpp:525
+msgid "Not supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/info.cpp:528
+msgid "Partially supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/info.cpp:536
+msgid "[empty]"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/optsmenu.cpp:193
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/optsmenu.cpp:206
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/optsmenu.cpp:207
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/optsmenu.cpp:210 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/optsmenu.cpp:213
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/optsmenu.cpp:216
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/optsmenu.cpp:228
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:337
-msgid "This driver requires images to be loaded in the following device(s): "
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
+msgid "Rewind"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1302
-#, c-format
-msgid ""
-"Are you sure you want to quit?\n"
-"\n"
-"Press ''%1$s'' to quit,\n"
-"Press ''%2$s'' to return to emulation."
+#: src/frontend/mame/ui/inputmap.cpp:53
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/inputmap.cpp:59
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
+#: src/frontend/mame/ui/inputmap.cpp:628 src/frontend/mame/ui/miscmenu.cpp:96
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/selector.cpp:116
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
+#: src/frontend/mame/ui/selector.cpp:124
#, c-format
-msgid "Overclock %1$s sound"
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/filesel.cpp:256
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/swlist.cpp:88
+msgid "[file manager]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/swlist.cpp:228
+msgid "Switch Item Ordering"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
+#: src/frontend/mame/ui/swlist.cpp:259
#, c-format
-msgid "%1$s Horiz Stretch"
+msgid "Switched Order: entries now ordered by %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "shortname"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "description"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/swlist.cpp:389
+msgid "[compatible lists]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/datmenu.cpp:80
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/datmenu.cpp:362
+msgid "Revision: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/simpleselgame.cpp:149
+msgid ""
+"The selected game is missing one or more required ROM or CHD images. Please "
+"select a different game.\n"
+"\n"
+"Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
+#: src/frontend/mame/ui/simpleselgame.cpp:241
#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+msgid ""
+"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
+"\n"
+"If this is your first time using %2$s, please see the config.txt file in the "
+"docs directory for information on configuring %2$s."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/simpleselgame.cpp:271
+#: src/frontend/mame/ui/selgame.cpp:436
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/simpleselgame.cpp:292
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/simpleselgame.cpp:294
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
+#: src/frontend/mame/ui/simpleselgame.cpp:308
+#: src/frontend/mame/ui/selsoft.cpp:564 src/frontend/mame/ui/selsoft.cpp:571
#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/simpleselgame.cpp:314
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
+#: src/frontend/mame/ui/videoopt.cpp:56
#, c-format
-msgid "Crosshair Offset %1$s"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/videoopt.cpp:208
+msgid "Backdrops"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Enabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Disabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
-#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
-#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
-#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
-#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
-#: src/frontend/mame/ui/ui.cpp:1927
-#, c-format
-msgid "%1$.3f"
+#: src/frontend/mame/ui/videoopt.cpp:212
+msgid "Overlays"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
-#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
-#, c-format
-msgid "%1$1.2f"
+#: src/frontend/mame/ui/videoopt.cpp:216
+msgid "Bezels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:220
+msgid "CPanels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "View"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cropped"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Full"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1047
+msgid "No"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
-msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1047
+msgid "Yes"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
-msgid ""
-"Cheat Comment:\n"
-"%s"
+#: src/frontend/mame/ui/filecreate.cpp:171
+msgid "New Image Name:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/filecreate.cpp:177
+msgid "Image Format:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/filecreate.cpp:183
+msgid "Create"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/filecreate.cpp:266
+msgid "Select image format"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Keyboard Mode:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Natural"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Emulated"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
+#: src/frontend/mame/ui/miscmenu.cpp:236
#, c-format
msgid ""
-"%s\n"
-" added to favorites list."
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
+#: src/frontend/mame/ui/miscmenu.cpp:238
#, c-format
msgid ""
-"%s\n"
-" removed from favorites list."
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/miscmenu.cpp:242
+#, c-format
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
+"Tickets dispensed: %1$d\n"
"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
+#: src/frontend/mame/ui/miscmenu.cpp:253
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/miscmenu.cpp:253
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
-#, c-format
-msgid "Driver: \"%1$s\" software list "
+#: src/frontend/mame/ui/miscmenu.cpp:256
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
-#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+#: src/frontend/mame/ui/miscmenu.cpp:503
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/miscmenu.cpp:601
#, c-format
-msgid "Search: %1$s_"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
-msgid "Unfiltered"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
-msgid "Available"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
-msgid "Unavailable"
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
-msgid "Working"
+#: src/frontend/mame/ui/miscmenu.cpp:627
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
-msgid "Not Working"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
-msgid "Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:655
+msgid "Export list in XML format (like -listxml)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
-msgid "Not Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:656
+msgid "Export list in XML format (like -listxml, but exclude devices)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
-msgid "Category"
+#: src/frontend/mame/ui/miscmenu.cpp:657
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
-msgid "Favorites"
+#: src/frontend/mame/ui/miscmenu.cpp:710 src/frontend/mame/ui/ui.cpp:2230
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/miscmenu.cpp:760 src/frontend/mame/ui/utils.cpp:66
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
-msgid "Not BIOS"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
-msgid "Parents"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
-msgid "Clones"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:73
-msgid "Manufacturer"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
-msgid "Year"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:75
-msgid "Save Supported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:76
-msgid "Save Unsupported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:77
-msgid "CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:78
-msgid "No CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:79
-msgid "Vertical Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:80
-msgid "Horizontal Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
-msgid "Custom Filter"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:91
-msgid "Publisher"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:92
-msgid "Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:764
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
-msgid "Partially Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:767
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
-msgid "Unsupported"
+#: src/frontend/mame/ui/miscmenu.cpp:776 src/frontend/mame/ui/mainmenu.cpp:145
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
-msgid "Release Region"
+#: src/frontend/mame/ui/miscmenu.cpp:778 src/frontend/mame/ui/mainmenu.cpp:147
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
-msgid "Device Type"
+#: src/frontend/mame/ui/miscmenu.cpp:781
+msgid "Save machine configuration"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
-msgid "Software List"
+#: src/frontend/mame/ui/miscmenu.cpp:792
+msgid "Configure machine:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
-msgid "<set up filters>"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:736
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:551 plugins/cheatfind/init.lua:619
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
-msgid "Select custom filters:"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:739
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:554 plugins/cheat/init.lua:563
+#: plugins/cheatfind/init.lua:616
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
-#, c-format
-msgid "Filter %1$u"
+#: src/frontend/mame/ui/miscmenu.cpp:909 src/frontend/mame/ui/selgame.cpp:441
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
-msgid "Remove last filter"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
-msgid "Add filter"
+#: src/frontend/mame/ui/barcode.cpp:78
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
-msgid "Select category:"
+#: src/frontend/mame/ui/barcode.cpp:119
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
-msgid "[no category INI files]"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:99
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
-msgid "[no groups in INI file]"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
-msgid "No category INI files found"
+#: src/frontend/mame/ui/mainmenu.cpp:60
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
-msgid "File"
+#: src/frontend/mame/ui/mainmenu.cpp:62
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
-msgid "No groups found in category file"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
-msgid "Group"
+#: src/frontend/mame/ui/mainmenu.cpp:68
+msgid "Dip Switches"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
-msgid "Include clones"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
+#: src/frontend/mame/ui/mainmenu.cpp:78
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/mainmenu.cpp:85
+msgid "Image Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/mainmenu.cpp:96
+msgid "Tape Control"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/mainmenu.cpp:102
+msgid "BIOS Selection"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/mainmenu.cpp:106
+msgid "Slot Devices"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
-#, c-format
-msgid "%s [internal]"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Barcode Reader"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:203 src/frontend/mame/ui/miscmenu.cpp:97
-#: src/frontend/mame/ui/inputmap.cpp:615
-msgid "Reset"
+#: src/frontend/mame/ui/mainmenu.cpp:114
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/mainmenu.cpp:118
+msgid "Keyboard Mode"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/mainmenu.cpp:121
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/mainmenu.cpp:124 src/frontend/mame/ui/submenu.cpp:101
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/mainmenu.cpp:128
+msgid "Crosshair Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/mainmenu.cpp:132 plugins/cheat/init.lua:735
+msgid "Cheat"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:762
-#: plugins/cheat/init.lua:569 plugins/cheatfind/init.lua:792
-#: plugins/cheatfind/init.lua:803
-msgid "On"
+#: src/frontend/mame/ui/mainmenu.cpp:135
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:765
-#: plugins/cheat/init.lua:572 plugins/cheat/init.lua:581
-#: plugins/cheatfind/init.lua:789 plugins/cheatfind/init.lua:800
-msgid "Off"
+#: src/frontend/mame/ui/mainmenu.cpp:139
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/mainmenu.cpp:154
+msgid "Select New Machine"
msgstr ""
#: src/frontend/mame/ui/custui.cpp:31
@@ -1378,1281 +1275,1303 @@ msgstr ""
msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/submenu.cpp:22
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/submenu.cpp:23
+msgid "Re-select last machine played"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/submenu.cpp:24
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:26
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:27
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:28
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:29
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:30
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
-#, c-format
-msgid "%s.txt saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/submenu.cpp:45
+msgid "Refresh speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/submenu.cpp:47
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/submenu.cpp:49
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
-msgid "Configure Machine"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
-#, c-format
-msgid "Romset\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
-#, c-format
-msgid "Year\t%1$s\n"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
-#, c-format
-msgid "Manufacturer\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
-#, c-format
-msgid "Driver is Clone of\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1044
-msgid "Driver is Parent\t\n"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
-msgid "Analog Controls\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Artwork Crop"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
-msgid "Keyboard Inputs\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Use Backdrops"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
-msgid "Overall\tNOT WORKING\n"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Use Overlays"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
-msgid "Overall\tUnemulated Protection\n"
+#: src/frontend/mame/ui/submenu.cpp:60
+msgid "Use Bezels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
-msgid "Overall\tWorking\n"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Use Control Panels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
-msgid "Graphics\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:62
+msgid "Use Marquees"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
-msgid "Graphics\tWrong Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
-msgid "Graphics\tImperfect Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
-msgid "Graphics\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
-msgid "Graphics\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Bilinear snapshot"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
-msgid "Sound\tNone\n"
+#: src/frontend/mame/ui/submenu.cpp:69
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
-msgid "Sound\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
-msgid "Sound\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:72
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
-msgid "Sound\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
-msgid "Capture\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
-msgid "Capture\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
-msgid "Camera\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
-msgid "Camera\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
-msgid "Microphone\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
-msgid "Microphone\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:79
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
-msgid "Controls\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
-msgid "Controls\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
-msgid "Keyboard\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Joystick saturation"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
-msgid "Keyboard\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Natural keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
-msgid "Mouse\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
-msgid "Mouse\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
-msgid "Media\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
-msgid "Media\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Lightgun Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
-msgid "Disk\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Trackball Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
-msgid "Disk\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
-msgid "Printer\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
-msgid "Printer\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
-msgid "Mag. Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:95
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
-msgid "Mag. Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:96
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
-msgid "Punch Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:97
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
-msgid "Punch Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
-msgid "Mag. Drum\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:103
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
-msgid "Mag. Drum\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
-msgid "(EP)ROM\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
-msgid "(EP)ROM\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
-msgid "Communications\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:109
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
-msgid "Communications\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:110
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
-msgid "LAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:111
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
-msgid "LAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:112
+msgid "Enforce Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
-msgid "WAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:113
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
-msgid "WAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:114
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
-msgid "Timing\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
-msgid "Timing\tImperfect\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tYes\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Select position to load from"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tNo\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tYes\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Select position to save to"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tNo\n"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:309 src/frontend/mame/ui/selsoft.cpp:211
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:314 src/frontend/mame/ui/selgame.cpp:320
+#: src/frontend/mame/ui/selsoft.cpp:216
+#, c-format
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:437
+msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:849
+#, c-format
+msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:850
+#, c-format
+msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:851
+#, c-format
+msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:855
+#, c-format
+msgid "Driver is Clone of\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:857
+msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tVertical\n"
+#: src/frontend/mame/ui/selgame.cpp:860
+msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tHorizontal\n"
+#: src/frontend/mame/ui/selgame.cpp:862
+msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:865
+msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:867
+msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
-msgid "ROM Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:869
+msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
-msgid "ROM Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:872
+msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
-msgid "Samples Audit Result\tNone Needed\n"
+#: src/frontend/mame/ui/selgame.cpp:874
+msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
-msgid "Samples Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:876
+msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
-msgid "Samples Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:878
+msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
-msgid ""
-"ROM Audit \tDisabled\n"
-"Samples Audit \tDisabled\n"
+#: src/frontend/mame/ui/selgame.cpp:880
+msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
+#: src/frontend/mame/ui/selgame.cpp:883
+msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1424
-#, c-format
-msgid "Romset: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:885
+msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
-#, c-format
-msgid "System: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:887
+msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1465
-msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
+#: src/frontend/mame/ui/selgame.cpp:889
+msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
+#: src/frontend/mame/ui/selgame.cpp:892
+msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
+#: src/frontend/mame/ui/selgame.cpp:894
+msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
+#: src/frontend/mame/ui/selgame.cpp:897
+msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
+#: src/frontend/mame/ui/selgame.cpp:899
+msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
+#: src/frontend/mame/ui/selgame.cpp:902
+msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selgame.cpp:904
+msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selgame.cpp:907
+msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/selgame.cpp:909
+msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/selgame.cpp:912
+msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/selgame.cpp:914
+msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/selgame.cpp:917
+msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/selgame.cpp:919
+msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/selgame.cpp:922
+msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/selgame.cpp:924
+msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/selgame.cpp:927
+msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/selgame.cpp:929
+msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/selgame.cpp:932
+msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/selgame.cpp:934
+msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/selgame.cpp:937
+msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/selgame.cpp:939
+msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/selgame.cpp:970
+msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/selgame.cpp:972
+msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/selgame.cpp:975
+msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/selgame.cpp:977
+msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/selgame.cpp:979
+msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/selgame.cpp:983
+msgid ""
+"ROM Audit \tDisabled\n"
+"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/selgame.cpp:1167
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/selgame.cpp:1183 src/frontend/mame/ui/selsoft.cpp:555
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/selgame.cpp:1185 src/frontend/mame/ui/selsoft.cpp:557
+#, c-format
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/selgame.cpp:1195
+#, c-format
+msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/selgame.cpp:1202
+#, c-format
+msgid "System: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/selgame.cpp:1239
+msgid ""
+"The selected machine is missing one or more required ROM or CHD images. "
+"Please select a different machine.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/selgame.cpp:1245 src/frontend/mame/ui/selsoft.cpp:462
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/utils.cpp:57 src/frontend/mame/ui/utils.cpp:81
+msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/utils.cpp:58 src/frontend/mame/ui/utils.cpp:82
+msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/utils.cpp:59 src/frontend/mame/ui/utils.cpp:83
+msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/utils.cpp:60
+msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/utils.cpp:61
+msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/utils.cpp:62
+msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:63
+msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:64
+msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:65
+msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:67
+msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:84
+msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/utils.cpp:85
+msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:70
+msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:86
+msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/utils.cpp:72
+msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/utils.cpp:73
+msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/utils.cpp:74
+msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/utils.cpp:75
+msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/utils.cpp:76
+msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/utils.cpp:77
+msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/utils.cpp:78 src/frontend/mame/ui/utils.cpp:94
+msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/utils.cpp:87
+msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/utils.cpp:88
+msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/utils.cpp:89
+msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/utils.cpp:90
+msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/utils.cpp:91
+msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:43
-#, c-format
-msgid ""
-"[This option is currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"The selected option enables the following items:\n"
+#: src/frontend/mame/ui/utils.cpp:92
+msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:44
-#, c-format
-msgid ""
-"[This option is NOT currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"If you select this option, the following items will be enabled:\n"
+#: src/frontend/mame/ui/utils.cpp:93
+msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/utils.cpp:244
+msgid "<set up filters>"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:352
+msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/utils.cpp:503
#, c-format
-msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
-msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:518
+msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %3$d.%4$06d MHz\n"
+#: src/frontend/mame/ui/utils.cpp:520
+msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:959
+msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/utils.cpp:990
+msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/utils.cpp:998
+msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:103
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1032
+msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1037
+msgid "File"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/utils.cpp:1041
+msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
-#, c-format
-msgid " %1$d×%2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1046
+msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1047
+msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:168
-#, c-format
+#: src/frontend/mame/ui/selsoft.cpp:456
msgid ""
-"* BIOS settings:\n"
-" %1$d options [default: %2$s]\n"
+"The selected software is missing one or more required files. Please select a "
+"different software.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:208 src/frontend/mame/ui/devopt.cpp:224
-#: src/frontend/mame/ui/devopt.cpp:269
+#: src/frontend/mame/ui/selsoft.cpp:549
#, c-format
-msgid " %1$s [default: %2$s]\n"
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
+#: src/frontend/mame/ui/selsoft.cpp:550
#, c-format
-msgid " %1$s\n"
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:260
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:419
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/filesel.cpp:515
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:516
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:518
+msgid "Read-write"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
-#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:519
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:520
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:117
+msgid "Cannot save over directory"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:150
+msgid ""
+"The software selected is missing one or more required ROM or CHD images. "
+"Please select a different one."
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:294
+msgid "Return to Machine"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
-#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:299 src/frontend/mame/ui/menu.cpp:301
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+#: src/frontend/mame/ui/menu.cpp:306 src/frontend/mame/ui/menu.cpp:308
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
-#, c-format
-msgid " %1$s [tag: %2$s]\n"
+#: src/frontend/mame/ui/menu.cpp:742
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
+#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:653
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+#: src/frontend/mame/ui/cheatopt.cpp:105
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/cheatopt.cpp:136
+msgid "Autofire Settings"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:581
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:582
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
+#: src/frontend/mame/ui/cheatopt.cpp:273
+msgid "Autofire Status"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
+#: src/frontend/mame/ui/cheatopt.cpp:316
+msgid "No buttons found on this machine!"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+#: src/frontend/mame/ui/cheatopt.cpp:327 src/frontend/mame/ui/cheatopt.cpp:331
+msgid "Autofire Delay"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
-msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
+#: src/frontend/mame/ui/ui.cpp:337
+msgid "This driver requires images to be loaded in the following device(s): "
msgstr ""
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
+#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
+msgid "Keyboard Emulation Status"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
+#: src/frontend/mame/ui/ui.cpp:1086
+msgid "Mode: PARTIAL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
+#: src/frontend/mame/ui/ui.cpp:1087
+msgid "UI: Enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
+#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
+msgid "**Use ScrLock to toggle**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
+#: src/frontend/mame/ui/ui.cpp:1096
+msgid "Mode: FULL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: src/frontend/mame/ui/ui.cpp:1097
+msgid "UI: Disabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
+#: src/frontend/mame/ui/ui.cpp:1249
+msgid "Autofire can't be enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
+#: src/frontend/mame/ui/ui.cpp:1302
+#, c-format
+msgid ""
+"Are you sure you want to quit?\n"
+"\n"
+"Press ''%1$s'' to quit,\n"
+"Press ''%2$s'' to return to emulation."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
+#: src/frontend/mame/ui/ui.cpp:1374
+msgid "Master Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
+#: src/frontend/mame/ui/ui.cpp:1383
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/ui.cpp:1407
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/ui.cpp:1416
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/ui.cpp:1437
+#, c-format
+msgid "%1$s Refresh Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, c-format
+msgid "%1$s Brightness"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1444
+#, c-format
+msgid "%1$s Contrast"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1446
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/ui.cpp:1450
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/ui.cpp:1452
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/ui.cpp:1454
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/ui.cpp:1456
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/ui.cpp:1475
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/ui.cpp:1477
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/ui.cpp:1479
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
-msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+#: src/frontend/mame/ui/ui.cpp:1481
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:198
-msgid ""
-"There are known problems with this machine\n"
-"\n"
+#: src/frontend/mame/ui/ui.cpp:1493
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/ui.cpp:1494
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/ui.cpp:1495
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
+#: src/frontend/mame/ui/ui.cpp:1496
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#: src/frontend/mame/ui/info.cpp:275
+#: src/frontend/mame/ui/ui.cpp:1511
#, c-format
-msgid ", %s"
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
+#: src/frontend/mame/ui/ui.cpp:1513
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:243
-msgid ""
-"This machine was never completed. It may exhibit strange behavior or missing "
-"elements that are not bugs in the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1601
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:245
-msgid ""
-"This machine has no sound hardware, MAME will produce no sounds, this is "
-"expected behaviour.\n"
+#: src/frontend/mame/ui/ui.cpp:1645
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:249
-msgid ""
-"\n"
-"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
-"complete. There is nothing you can do to fix this problem except wait for "
-"the developers to improve the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1661
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:251
-msgid ""
-"\n"
-"Elements of this machine cannot be emulated as they requires physical "
-"interaction or consist of mechanical devices. It is not possible to fully "
-"experience this machine.\n"
+#: src/frontend/mame/ui/ui.cpp:1685
+#, c-format
+msgid "%1$.3ffps"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
+#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
+#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
+#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
+#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
+#: src/frontend/mame/ui/ui.cpp:1927
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
+#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/ui.cpp:2005
#, c-format
-msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/ui.cpp:2226
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " COLORS"
+msgstr ""
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:39
#, c-format
-msgid "%1$s: %2$s\n"
+msgid ""
+"[This option is currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"The selected option enables the following items:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+#: src/frontend/mame/ui/devopt.cpp:40
+#, c-format
+msgid ""
+"[This option is NOT currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"If you select this option, the following items will be enabled:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:48
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
#, c-format
-msgid "Screen '%1$s'"
+msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
+msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:85
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:90
+#, c-format
+msgid " Screen '%1$s': Vector\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:99
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:100
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:113
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:133
+#, c-format
+msgid " %1$d×%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:164
+#, c-format
+msgid ""
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:204 src/frontend/mame/ui/devopt.cpp:220
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
+#: src/frontend/mame/ui/devopt.cpp:209 src/frontend/mame/ui/devopt.cpp:225
#, c-format
-msgid "Software is clone of: %1$-.100s"
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: src/frontend/mame/ui/devopt.cpp:230
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: src/frontend/mame/ui/devopt.cpp:232
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: src/frontend/mame/ui/devopt.cpp:234
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: src/frontend/mame/ui/devopt.cpp:236
+#, c-format
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
+#: src/frontend/mame/ui/devopt.cpp:238
#, c-format
-msgid "romset: %1$-.100s"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
+#: src/frontend/mame/ui/devopt.cpp:240
#, c-format
-msgid "Driver is clone of: %1$-.100s"
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: src/frontend/mame/ui/devopt.cpp:242
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
+#: src/frontend/mame/ui/devopt.cpp:244
#, c-format
-msgid "%1$s %2$s"
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: src/frontend/mame/ui/devopt.cpp:246
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: src/frontend/mame/ui/devopt.cpp:248
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: src/frontend/mame/ui/devopt.cpp:257
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: src/frontend/mame/ui/devopt.cpp:263
+msgid "* Slot Options:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:270
+msgid "[None]\n"
msgstr ""
#: plugins/timer/init.lua:94
@@ -2671,51 +2590,51 @@ msgstr ""
msgid "Timer"
msgstr ""
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:510
msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheat/init.lua:534
+#: plugins/cheat/init.lua:516
msgid "Press button for hotkey or wait to clear"
msgstr ""
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:528
msgid "None"
msgstr ""
-#: plugins/cheat/init.lua:551
+#: plugins/cheat/init.lua:533
msgid "Done"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:547 plugins/cheat/init.lua:561
msgid "Set"
msgstr ""
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:580
msgid "Set hotkeys"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:720
#, lua-format
msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:723 plugins/cheat/init.lua:781
#, lua-format
msgid "Activated: %s"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:785
#, lua-format
msgid "Enabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:790
#, lua-format
msgid "Disabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "%s added"
msgstr ""
@@ -2764,303 +2683,218 @@ msgstr ""
msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:404
+#: plugins/cheatfind/init.lua:373
msgid "Save Cheat"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Default"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Custom"
msgstr ""
-#: plugins/cheatfind/init.lua:408
+#: plugins/cheatfind/init.lua:377
msgid "Cheat Name"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/cheatfind/init.lua:383 plugins/cheatfind/init.lua:748
#, lua-format
msgid "Default name is %s"
msgstr ""
-#: plugins/cheatfind/init.lua:422
+#: plugins/cheatfind/init.lua:391
msgid "Player"
msgstr ""
-#: plugins/cheatfind/init.lua:427
+#: plugins/cheatfind/init.lua:396
msgid "Type"
msgstr ""
-#: plugins/cheatfind/init.lua:433
+#: plugins/cheatfind/init.lua:402
msgid "Save"
msgstr ""
-#: plugins/cheatfind/init.lua:462
+#: plugins/cheatfind/init.lua:429
#, lua-format
msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:472
+#: plugins/cheatfind/init.lua:437
msgid "Cheat added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:442
msgid ""
"Unable to write file\n"
"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/cheatfind/init.lua:486
+#: plugins/cheatfind/init.lua:451
msgid "Cancel"
msgstr ""
-#: plugins/cheatfind/init.lua:491
+#: plugins/cheatfind/init.lua:456
msgid "CPU or RAM"
msgstr ""
-#: plugins/cheatfind/init.lua:495
+#: plugins/cheatfind/init.lua:460
msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:479
+msgid "Data cleared and current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:487
+msgid "Start new search"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:497
+msgid "Current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:504
+msgid "Save current -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
+#: plugins/cheatfind/init.lua:536
#, lua-format
-msgid "Memory State saved to Slot %d"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:543
+msgid "Compare"
msgstr ""
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
+#: plugins/cheatfind/init.lua:546
+msgid "Left operand"
+msgstr ""
+
+#: plugins/cheatfind/init.lua:549
+msgid "Current"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:554
+msgid "Operator"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:561
+msgid "Left less than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:563
+msgid "Left greater than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:676
+#: plugins/cheatfind/init.lua:565
msgid "Left equal to right"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:567
+msgid "Left not equal to right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:680
+#: plugins/cheatfind/init.lua:569
msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:682
+#: plugins/cheatfind/init.lua:571
msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:684
+#: plugins/cheatfind/init.lua:573
msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:686
+#: plugins/cheatfind/init.lua:575
msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:688
+#: plugins/cheatfind/init.lua:577
msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:690
+#: plugins/cheatfind/init.lua:579
msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/cheatfind/init.lua:590
+msgid "Right operand"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/cheatfind/init.lua:598
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:719
+#: plugins/cheatfind/init.lua:602
msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:725
+#: plugins/cheatfind/init.lua:608
msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:738
-msgid ""
-"Use this if you want to poke the Slot 1 value (eg. You started with "
-"something but lost it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:740
-msgid ""
-"Use this if you want to poke the Last Slot value (eg. You started without an "
-"item but finally got it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:816
+#: plugins/cheatfind/init.lua:632
msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:820
+#: plugins/cheatfind/init.lua:636
msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:823
+#: plugins/cheatfind/init.lua:639
msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheatfind/init.lua:690
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Test cheat at addr %08X"
msgstr ""
-#: plugins/cheatfind/init.lua:974
+#: plugins/cheatfind/init.lua:722
msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
+#: plugins/cheatfind/init.lua:788
msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
+#: plugins/cheatfind/init.lua:806
msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
+#: plugins/cheatfind/init.lua:816
msgid "Cheat Finder"
msgstr ""
-#: plugins/portname/init.lua:103
+#: plugins/portname/init.lua:69
msgid "Save input names to file"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
+#: plugins/portname/init.lua:100 plugins/portname/init.lua:105
+#: plugins/portname/init.lua:121
msgid "Failed to save input name file"
msgstr ""
-#: plugins/portname/init.lua:167
+#: plugins/portname/init.lua:133
#, lua-format
msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/portname/init.lua:172
+#: plugins/portname/init.lua:138
msgid "Input ports"
msgstr ""
diff --git a/language/Swedish/strings.po b/language/Swedish/strings.po
index 5b8369e7171..4536cd288f0 100644
--- a/language/Swedish/strings.po
+++ b/language/Swedish/strings.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MAME\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-03-17 13:37+1100\n"
+"POT-Creation-Date: 2018-04-28 15:32+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -17,61 +17,238 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
+#: src/frontend/mame/ui/auditmenu.cpp:96
#, c-format
-msgid "Screen #%d"
-msgstr "Skärm #%d"
+msgid "Audit ROMs for %1$u machines marked unavailable?"
+msgstr "Granskning av ROMs för %1$u maskiner markerade som ej tillgängliga?"
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr "Rotera"
+#: src/frontend/mame/ui/auditmenu.cpp:99
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
+msgstr "Granskning av ROMs för alla %1$u maskiner?"
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr "Bakgrunder"
+#: src/frontend/mame/ui/auditmenu.cpp:104
+#, c-format
+msgid "(results will be saved to %1$s)"
+msgstr "(resultat kommer att sparas som %1$s)"
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Enabled"
-msgstr "Aktiverad"
+#: src/frontend/mame/ui/auditmenu.cpp:130
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
+msgstr ""
+"Granskning av ROMs för maskin %2$u av %3$u...\n"
+"%1$s"
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Disabled"
-msgstr "Inaktiverad"
+#: src/frontend/mame/ui/auditmenu.cpp:142
+msgid "Start Audit"
+msgstr "Starta Granskning"
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr "Överlägg"
+#: src/frontend/mame/ui/selmenu.cpp:49 src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Snapshots"
+msgstr "Skärmklipp"
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr "Infattningar"
+#: src/frontend/mame/ui/selmenu.cpp:50 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cabinets"
+msgstr "Kabinett"
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
-msgstr "CPaneler"
+#: src/frontend/mame/ui/selmenu.cpp:51
+msgid "Control Panels"
+msgstr "Kontrollpaneler"
+
+#: src/frontend/mame/ui/selmenu.cpp:52 src/frontend/mame/ui/dirmenu.cpp:50
+msgid "PCBs"
+msgstr "PCBs"
+
+#: src/frontend/mame/ui/selmenu.cpp:53 src/frontend/mame/ui/dirmenu.cpp:47
+msgid "Flyers"
+msgstr "Flygblad"
+
+#: src/frontend/mame/ui/selmenu.cpp:54 src/frontend/mame/ui/dirmenu.cpp:48
+msgid "Titles"
+msgstr "Titlar"
+
+#: src/frontend/mame/ui/selmenu.cpp:55 src/frontend/mame/ui/dirmenu.cpp:49
+msgid "Ends"
+msgstr "Slutar"
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
+#: src/frontend/mame/ui/selmenu.cpp:56
+msgid "Artwork Preview"
+msgstr "Förhandsvisining Grafisk Layout"
+
+#: src/frontend/mame/ui/selmenu.cpp:57 src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Bosses"
+msgstr "Bossar"
+
+#: src/frontend/mame/ui/selmenu.cpp:58 src/frontend/mame/ui/dirmenu.cpp:60
+msgid "Logos"
+msgstr "Logotyper"
+
+#: src/frontend/mame/ui/selmenu.cpp:59 src/frontend/mame/ui/dirmenu.cpp:62
+msgid "Versus"
+msgstr "Mot"
+
+#: src/frontend/mame/ui/selmenu.cpp:60
+msgid "Game Over"
+msgstr "Spelet Slut"
+
+#: src/frontend/mame/ui/selmenu.cpp:61 src/frontend/mame/ui/dirmenu.cpp:59
+msgid "HowTo"
+msgstr "HowTo"
+
+#: src/frontend/mame/ui/selmenu.cpp:62 src/frontend/mame/ui/dirmenu.cpp:61
+msgid "Scores"
+msgstr "Poäng"
+
+#: src/frontend/mame/ui/selmenu.cpp:63 src/frontend/mame/ui/dirmenu.cpp:57
+msgid "Select"
+msgstr "Välj"
+
+#: src/frontend/mame/ui/selmenu.cpp:64 src/frontend/mame/ui/dirmenu.cpp:51
+#: src/frontend/mame/ui/videoopt.cpp:224
msgid "Marquees"
msgstr "Draperier"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
-msgstr "Vy"
+#: src/frontend/mame/ui/selmenu.cpp:65 src/frontend/mame/ui/dirmenu.cpp:63
+msgid "Covers"
+msgstr "Omslagsbilder"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
-msgstr "Beskärd"
+#: src/frontend/mame/ui/selmenu.cpp:69
+msgid "Add or remove favorites"
+msgstr "Redigera favoriter"
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
-msgstr "Full"
+#: src/frontend/mame/ui/selmenu.cpp:70
+msgid "Export displayed list to file"
+msgstr "Exportera listan till fil"
+
+#: src/frontend/mame/ui/selmenu.cpp:71
+msgid "Show DATs view"
+msgstr "Visa DATs vy"
+
+#: src/frontend/mame/ui/selmenu.cpp:237
+msgid "Software part selection:"
+msgstr "Val av mjukvarudel:"
+
+#: src/frontend/mame/ui/selmenu.cpp:343
+msgid "BIOS selection:"
+msgstr "BIOS val:"
+
+#: src/frontend/mame/ui/selmenu.cpp:570 src/frontend/mame/ui/selmenu.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:311
+#, c-format
+msgid "%1$s, %2$-.100s"
+msgstr "%1$s, %2$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:574
+#, c-format
+msgid "Software is clone of: %1$-.100s"
+msgstr "Mjukvaran är klonad från: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:576
+msgid "Software is parent"
+msgstr "Mjukvaran har kloner"
+
+#: src/frontend/mame/ui/selmenu.cpp:581
+msgid "Supported: No"
+msgstr "Stöd: Nej"
+
+#: src/frontend/mame/ui/selmenu.cpp:586
+msgid "Supported: Partial"
+msgstr "Stöd: Delvis"
+
+#: src/frontend/mame/ui/selmenu.cpp:591
+msgid "Supported: Yes"
+msgstr "Stöd: Ja"
+
+#: src/frontend/mame/ui/selmenu.cpp:596
+#, c-format
+msgid "romset: %1$-.100s"
+msgstr "romdistribution: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:612
+#, c-format
+msgid "Driver is clone of: %1$-.100s"
+msgstr "Drivrutinen är klon av: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:614
+msgid "Driver is parent"
+msgstr "Drivrutinen har kloner"
+
+#: src/frontend/mame/ui/selmenu.cpp:619
+#: src/frontend/mame/ui/simpleselgame.cpp:330
+msgid "Overall: NOT WORKING"
+msgstr "Status: FUNGERAR EJ"
+
+#: src/frontend/mame/ui/selmenu.cpp:621
+#: src/frontend/mame/ui/simpleselgame.cpp:332
+msgid "Overall: Unemulated Protection"
+msgstr "Status: Oemulerad skyddsmekanism"
+
+#: src/frontend/mame/ui/selmenu.cpp:623
+#: src/frontend/mame/ui/simpleselgame.cpp:334
+msgid "Overall: Working"
+msgstr "Status: Fungerar"
+
+#: src/frontend/mame/ui/selmenu.cpp:627
+#: src/frontend/mame/ui/simpleselgame.cpp:338
+msgid "Graphics: Unimplemented, "
+msgstr "Grafik: Ej implementerad, "
+
+#: src/frontend/mame/ui/selmenu.cpp:629
+#: src/frontend/mame/ui/simpleselgame.cpp:340
+msgid "Graphics: Imperfect, "
+msgstr "Grafik: Bristfällig, "
+
+#: src/frontend/mame/ui/selmenu.cpp:631
+#: src/frontend/mame/ui/simpleselgame.cpp:342
+msgid "Graphics: OK, "
+msgstr "Grafik: OK, "
+
+#: src/frontend/mame/ui/selmenu.cpp:634
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+msgid "Sound: None"
+msgstr "Ljud: Inget"
+
+#: src/frontend/mame/ui/selmenu.cpp:636
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+msgid "Sound: Unimplemented"
+msgstr "Ljud: Ej implementerat"
+
+#: src/frontend/mame/ui/selmenu.cpp:638
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+msgid "Sound: Imperfect"
+msgstr "Ljud: Bristfälligt"
+
+#: src/frontend/mame/ui/selmenu.cpp:640
+#: src/frontend/mame/ui/simpleselgame.cpp:351
+msgid "Sound: OK"
+msgstr "Ljud: OK"
+
+#: src/frontend/mame/ui/selmenu.cpp:650
+#, c-format
+msgid "%1$s %2$s"
+msgstr "%1$s %2$s"
+
+#: src/frontend/mame/ui/selmenu.cpp:1975
+msgid "Images"
+msgstr "Bilder"
+
+#: src/frontend/mame/ui/selmenu.cpp:1976
+msgid "Infos"
+msgstr "Information"
+
+#: src/frontend/mame/ui/selmenu.cpp:2386 src/frontend/mame/ui/miscmenu.cpp:826
+msgid " (default)"
+msgstr " (standard)"
+
+#: src/frontend/mame/ui/selmenu.cpp:2454
+msgid "Usage"
+msgstr "Användning"
+
+#: src/frontend/mame/ui/selmenu.cpp:2489
+msgid "General Info"
+msgstr "Generell Information"
#: src/frontend/mame/ui/dirmenu.cpp:35
msgid "ROMs"
@@ -113,30 +290,6 @@ msgstr "Ikoner"
msgid "Cheats"
msgstr "Fusk"
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
-msgstr "Skärmklipp"
-
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
-msgstr "Kabinett"
-
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
-msgstr "Flygblad"
-
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
-msgstr "Titlar"
-
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
-msgstr "Slutar"
-
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
-msgstr "PCBs"
-
#: src/frontend/mame/ui/dirmenu.cpp:52
msgid "Controls Panels"
msgstr "Kontrollpaneler"
@@ -149,42 +302,14 @@ msgstr "HÃ¥rkors"
msgid "Artworks"
msgstr "Grafisk Layout"
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
-msgstr "Bossar"
-
#: src/frontend/mame/ui/dirmenu.cpp:56
msgid "Artworks Preview"
msgstr "Förhandsvisning Grafisk Layout"
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
-msgstr "Välj"
-
#: src/frontend/mame/ui/dirmenu.cpp:58
msgid "GameOver"
msgstr "GameOver"
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
-msgstr "HowTo"
-
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
-msgstr "Logotyper"
-
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
-msgstr "Poäng"
-
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
-msgstr "Mot"
-
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
-msgstr "Omslagsbilder"
-
#: src/frontend/mame/ui/dirmenu.cpp:116
msgid "Folders Setup"
msgstr "Katalogkonfiguration"
@@ -225,14 +350,278 @@ msgstr "Tryck TAB för att välja"
msgid "Remove %1$s Folder"
msgstr "Tabort %1$s Katalog"
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
-msgstr "Urvalslista - Sök: "
+#: src/frontend/mame/ui/info.cpp:30
+msgid "protection"
+msgstr "skyddsmekanism"
-#: src/frontend/mame/ui/selector.cpp:123
+#: src/frontend/mame/ui/info.cpp:31
+msgid "color palette"
+msgstr "färgpalett"
+
+#: src/frontend/mame/ui/info.cpp:32
+msgid "graphics"
+msgstr "grafik"
+
+#: src/frontend/mame/ui/info.cpp:33
+msgid "sound"
+msgstr "ljud"
+
+#: src/frontend/mame/ui/info.cpp:34
+msgid "controls"
+msgstr "kontroller"
+
+#: src/frontend/mame/ui/info.cpp:35
+msgid "keyboard"
+msgstr "tangentbord"
+
+#: src/frontend/mame/ui/info.cpp:36
+msgid "mouse"
+msgstr "mus"
+
+#: src/frontend/mame/ui/info.cpp:37
+msgid "microphone"
+msgstr "mikrofon"
+
+#: src/frontend/mame/ui/info.cpp:38
+msgid "camera"
+msgstr "kamera"
+
+#: src/frontend/mame/ui/info.cpp:39
+msgid "disk"
+msgstr "disk"
+
+#: src/frontend/mame/ui/info.cpp:40
+msgid "printer"
+msgstr "skrivare"
+
+#: src/frontend/mame/ui/info.cpp:41
+msgid "LAN"
+msgstr "LAN"
+
+#: src/frontend/mame/ui/info.cpp:42
+msgid "WAN"
+msgstr "WAN"
+
+#: src/frontend/mame/ui/info.cpp:43
+msgid "timing"
+msgstr "timing"
+
+#: src/frontend/mame/ui/info.cpp:180
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
+msgstr ""
+"En eller flera ROMs/CHDs för denna maskin är felaktiga. Maskinen kan uppvisa "
+"fel vid körning.\n"
+
+#: src/frontend/mame/ui/info.cpp:190
+msgid ""
+"There are known problems with this machine\n"
+"\n"
+msgstr ""
+"Det finns kända problem med denna maskin\n"
+"\n"
+
+#: src/frontend/mame/ui/info.cpp:195
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+msgstr ""
+"En eller flera ROMs/CHDs för denna maskin har inte blivit avbildade "
+"korrekt.\n"
+
+#: src/frontend/mame/ui/info.cpp:200
+msgid "Completely unemulated features: "
+msgstr "Helt oemulerade funktioner: "
+
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
#, c-format
-msgid "Double click or press %1$s to select"
-msgstr "Dubbelklicka eller tryck %1$s för att välja"
+msgid "%s"
+msgstr "%s"
+
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#: src/frontend/mame/ui/info.cpp:267
+#, c-format
+msgid ", %s"
+msgstr ", %s"
+
+#: src/frontend/mame/ui/info.cpp:216
+msgid "Imperfectly emulated features: "
+msgstr "Bristfälligt emulerade funtioner: "
+
+#: src/frontend/mame/ui/info.cpp:231
+msgid "Screen flipping in cocktail mode is not supported.\n"
+msgstr "Skärm flippning i cocktail läge stöds ej.\n"
+
+#: src/frontend/mame/ui/info.cpp:233
+msgid "This machine requires external artwork files.\n"
+msgstr "Denna maskin kräver extra filer med grafisk layout.\n"
+
+#: src/frontend/mame/ui/info.cpp:235
+msgid ""
+"This machine was never completed. It may exhibit strange behavior or missing "
+"elements that are not bugs in the emulation.\n"
+msgstr ""
+"Emulering av den här maskinen fullbordades aldrig. Den kan därför uppträda "
+"konstigt eller sakna delar som därför inte är felprogrammering i "
+"emuleringen.\n"
+
+#: src/frontend/mame/ui/info.cpp:237
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
+msgstr ""
+"Den här maskinen har ingen ljudhårdvara, MAME producerar därför inget ljud "
+"och detta är korrekt beteende.\n"
+
+#: src/frontend/mame/ui/info.cpp:241
+msgid ""
+"\n"
+"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
+"complete. There is nothing you can do to fix this problem except wait for "
+"the developers to improve the emulation.\n"
+msgstr ""
+"\n"
+"DENNA MASKIN FUNGERAR EJ. Emuleringen för denna masin är ännu ej komplett. "
+"Det finns inget du kan göra för att fixa detta problem, förutom att vänta på "
+"att utvecklarna förbättrar emuleringen.\n"
+
+#: src/frontend/mame/ui/info.cpp:243
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they requires physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
+msgstr ""
+"\n"
+"Delar av denna maskin kan inte emuleras då de kräver fysisk interaktion "
+"eller består av mekaniska delar. Det är därför inte möjligt att fullt ut "
+"uppleva denna maskin.\n"
+
+#: src/frontend/mame/ui/info.cpp:265
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
+msgstr ""
+"\n"
+"\n"
+"Det finns fungerande varianter av denna maskin: %s"
+
+#: src/frontend/mame/ui/info.cpp:278
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
+msgstr ""
+"\n"
+"\n"
+"Tryck på valfri tangent för att fortsätta"
+
+#: src/frontend/mame/ui/info.cpp:293
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
+msgstr ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Emulering: %4$s\n"
+"\n"
+"CPU:\n"
+
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "MHz"
+msgstr "MHz"
+
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "kHz"
+msgstr "kHz"
+
+#: src/frontend/mame/ui/info.cpp:342
+msgid ""
+"\n"
+"Sound:\n"
+msgstr ""
+"\n"
+"Ljud:\n"
+
+#: src/frontend/mame/ui/info.cpp:370
+msgid ""
+"\n"
+"Video:\n"
+msgstr ""
+"\n"
+"Video:\n"
+
+#: src/frontend/mame/ui/info.cpp:374
+msgid "None\n"
+msgstr "None\n"
+
+#: src/frontend/mame/ui/info.cpp:381
+msgid "Vector"
+msgstr "Vektor"
+
+#: src/frontend/mame/ui/info.cpp:392
+#, c-format
+msgid "%1$s: %2$s\n"
+msgstr "%1$s: %2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:392
+msgid "%2$s\n"
+msgstr "%2$s\n"
+
+#: src/frontend/mame/ui/info.cpp:438
+#, c-format
+msgid "Screen '%1$s'"
+msgstr "Skärm '%1$s'"
+
+#: src/frontend/mame/ui/info.cpp:440
+msgid "Screen"
+msgstr "Skärm"
+
+#: src/frontend/mame/ui/info.cpp:525
+msgid "Not supported"
+msgstr "Stöds Ej"
+
+#: src/frontend/mame/ui/info.cpp:528
+msgid "Partially supported"
+msgstr "Stöds Delvis"
+
+#: src/frontend/mame/ui/info.cpp:536
+msgid "[empty]"
+msgstr "[tom]"
+
+#: src/frontend/mame/ui/optsmenu.cpp:193
+msgid "Filter"
+msgstr "Filter"
+
+#: src/frontend/mame/ui/optsmenu.cpp:206
+msgid "Customize UI"
+msgstr "Skräddarsy UI"
+
+#: src/frontend/mame/ui/optsmenu.cpp:207
+msgid "Configure Directories"
+msgstr "Konfigurera Kataloger"
+
+#: src/frontend/mame/ui/optsmenu.cpp:210 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
+msgstr "Ljudalternativ"
+
+#: src/frontend/mame/ui/optsmenu.cpp:213
+msgid "General Inputs"
+msgstr "Generell Indata"
+
+#: src/frontend/mame/ui/optsmenu.cpp:216
+msgid "Save Configuration"
+msgstr "Spara Konfiguration"
+
+#: src/frontend/mame/ui/optsmenu.cpp:228
+msgid "Settings"
+msgstr "Inställningar"
#: src/frontend/mame/ui/tapectrl.cpp:85
msgid "stopped"
@@ -274,8 +663,30 @@ msgstr "Spola tillbaka"
msgid "Fast Forward"
msgstr "Snabbspola framåt"
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
-#: src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/inputmap.cpp:53
+msgid "User Interface"
+msgstr "Användergränssnitt"
+
+#: src/frontend/mame/ui/inputmap.cpp:59
+msgid "Other Controls"
+msgstr "Andra kontroller"
+
+#: src/frontend/mame/ui/inputmap.cpp:628 src/frontend/mame/ui/miscmenu.cpp:96
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
+msgstr "Återställ"
+
+#: src/frontend/mame/ui/selector.cpp:116
+msgid "Selection List - Search: "
+msgstr "Urvalslista - Sök: "
+
+#: src/frontend/mame/ui/selector.cpp:124
+#, c-format
+msgid "Double click or press %1$s to select"
+msgstr "Dubbelklicka eller tryck %1$s för att välja"
+
+#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/filesel.cpp:256
msgid "[empty slot]"
msgstr "[tom plats]"
@@ -316,182 +727,6 @@ msgstr "Mjukvaruanvändning"
msgid "Revision: "
msgstr "Revision: "
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
-msgstr "Fil Finns Redan - Skriv Över?"
-
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
-msgstr "Nej"
-
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
-msgstr "Ja"
-
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
-msgstr "Nytt Namn på Avbildning:"
-
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
-msgstr "Avbildningsformat:"
-
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
-msgstr "Skapa"
-
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
-msgstr "Skriv in en filändelse också"
-
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
-msgstr "Välj avbildningsformat"
-
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
-msgstr "Input (generell)"
-
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
-msgstr "Input (denna Maskin)"
-
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
-msgstr "Analog Kontroller"
-
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
-msgstr "Dip Switchar"
-
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
-msgstr "Maskin Konfiguration"
-
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
-msgstr "Bokföringsstatus"
-
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
-msgstr "Maskininformation"
-
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
-msgstr "Avbildningsinformation"
-
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
-msgstr "Filhanterare"
-
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
-msgstr "Bandkontroll"
-
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
-msgstr "LÃ¥tsasterminaler"
-
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
-msgstr "BIOS val"
-
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
-msgstr "Slitsenheter"
-
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
-msgstr "Streckkodsläsare"
-
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
-msgstr "Nätverksenheter"
-
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
-msgstr "Tangenbordsläge"
-
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
-msgstr "Reglage Kontroller"
-
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
-msgstr "Videoalternativ"
-
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
-msgstr "HÃ¥rkorsalternativ"
-
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
-msgstr "Fusk"
-
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
-msgstr "Pluginalternativ"
-
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
-msgstr "Extern DAT vy"
-
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
-msgstr "Lägg Till Favoriter"
-
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
-msgstr "Tabort Från Favoriter"
-
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
-msgstr "Välj Ny Maskin"
-
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
-msgstr "Ny streckkod"
-
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
-msgstr "Ange kod"
-
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
-msgstr "Streckkodens längd är felaktig!"
-
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
-msgstr "[misslyckad]"
-
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
-msgstr "Ljudalternativ"
-
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
-msgstr "Generell Indata"
-
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
-msgstr "Spara Konfiguration"
-
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
-msgstr "Inställningar"
-
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
-msgstr "Filter"
-
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
-msgstr "Skräddarsy UI"
-
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
-msgstr "Konfigurera Kataloger"
-
#: src/frontend/mame/ui/simpleselgame.cpp:149
msgid ""
"The selected game is missing one or more required ROM or CHD images. Please "
@@ -504,7 +739,7 @@ msgstr ""
"\n"
"Tryck på valfri tangent för att fortsätta."
-#: src/frontend/mame/ui/simpleselgame.cpp:247
+#: src/frontend/mame/ui/simpleselgame.cpp:241
#, c-format
msgid ""
"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
@@ -517,328 +752,197 @@ msgstr ""
"Om det här är första gången du använder %2$s, läs config.txt filen i docs "
"katalogen för information hur man konfigurerar %2$s."
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:271
+#: src/frontend/mame/ui/selgame.cpp:436
msgid "Configure Options"
msgstr "Konfigurationsalternativ"
-#: src/frontend/mame/ui/simpleselgame.cpp:298
+#: src/frontend/mame/ui/simpleselgame.cpp:292
#, c-format
msgid "Type name or select: %1$s_"
msgstr "Knappa in namn eller välj; %1$s_"
-#: src/frontend/mame/ui/simpleselgame.cpp:300
+#: src/frontend/mame/ui/simpleselgame.cpp:294
msgid "Type name or select: (random)"
msgstr "Knappa in namn eller välj: (slumpmässig)"
-#: src/frontend/mame/ui/simpleselgame.cpp:314
-#: src/frontend/mame/ui/selsoft.cpp:652 src/frontend/mame/ui/selsoft.cpp:659
+#: src/frontend/mame/ui/simpleselgame.cpp:308
+#: src/frontend/mame/ui/selsoft.cpp:564 src/frontend/mame/ui/selsoft.cpp:571
#, c-format
msgid "%1$-.100s"
msgstr "%1$-.100s"
-#: src/frontend/mame/ui/simpleselgame.cpp:317
-#: src/frontend/mame/ui/selmenu.cpp:618 src/frontend/mame/ui/selmenu.cpp:654
-#, c-format
-msgid "%1$s, %2$-.100s"
-msgstr "%1$s, %2$-.100s"
-
-#: src/frontend/mame/ui/simpleselgame.cpp:320
+#: src/frontend/mame/ui/simpleselgame.cpp:314
#, c-format
msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
-msgstr "Status: FUNGERAR EJ"
+#: src/frontend/mame/ui/videoopt.cpp:56
+#, c-format
+msgid "Screen #%d"
+msgstr "Skärm #%d"
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
-msgstr "Status: Oemulerad skyddsmekanism"
+#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
+msgid "Rotate"
+msgstr "Rotera"
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
-msgstr "Status: Fungerar"
+#: src/frontend/mame/ui/videoopt.cpp:208
+msgid "Backdrops"
+msgstr "Bakgrunder"
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
-msgstr "Grafik: Ej implementerad, "
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Enabled"
+msgstr "Aktiverad"
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
-msgstr "Grafik: Bristfällig, "
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Disabled"
+msgstr "Inaktiverad"
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
-msgstr "Grafik: OK, "
+#: src/frontend/mame/ui/videoopt.cpp:212
+msgid "Overlays"
+msgstr "Överlägg"
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
-msgstr "Ljud: Inget"
+#: src/frontend/mame/ui/videoopt.cpp:216
+msgid "Bezels"
+msgstr "Infattningar"
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
-msgstr "Ljud: Ej implementerat"
+#: src/frontend/mame/ui/videoopt.cpp:220
+msgid "CPanels"
+msgstr "CPaneler"
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
-msgstr "Ljud: Bristfälligt"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "View"
+msgstr "Vy"
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
-msgstr "Ljud: OK"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cropped"
+msgstr "Beskärd"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
-msgstr "Ladda läge"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Full"
+msgstr "Full"
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
-msgstr "Välj position att ladda från"
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
+msgstr "Fil Finns Redan - Skriv Över?"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
-msgstr "Spara läge"
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1047
+msgid "No"
+msgstr "Nej"
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
-msgstr "Välj position att spara till"
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1047
+msgid "Yes"
+msgstr "Ja"
-#: src/frontend/mame/ui/ui.cpp:337
-msgid "This driver requires images to be loaded in the following device(s): "
-msgstr ""
-"Den här emuleringen kräver att avbildningar laddas i följande apparat(er): "
+#: src/frontend/mame/ui/filecreate.cpp:171
+msgid "New Image Name:"
+msgstr "Nytt Namn på Avbildning:"
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
-msgstr "Status för Tangentbordsemulering"
+#: src/frontend/mame/ui/filecreate.cpp:177
+msgid "Image Format:"
+msgstr "Avbildningsformat:"
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
-msgstr "Läge: PARTIELL Emulering"
+#: src/frontend/mame/ui/filecreate.cpp:183
+msgid "Create"
+msgstr "Skapa"
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
-msgstr "UI: Aktiverat"
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
+msgstr "Skriv in en filändelse också"
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
-msgstr "**Använd ScrLock för att växla**"
+#: src/frontend/mame/ui/filecreate.cpp:266
+msgid "Select image format"
+msgstr "Välj avbildningsformat"
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
-msgstr "Läge: FULL Emulering"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Keyboard Mode:"
+msgstr "Tangentbordsläge:"
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
-msgstr "UI: Inaktiverad"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Natural"
+msgstr "Naturligt"
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
-msgstr "Autofire kan inte aktiveras"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Emulated"
+msgstr "Emulerat"
-#: src/frontend/mame/ui/ui.cpp:1302
+#: src/frontend/mame/ui/miscmenu.cpp:236
#, c-format
msgid ""
-"Are you sure you want to quit?\n"
+"Uptime: %1$d:%2$02d:%3$02d\n"
"\n"
-"Press ''%1$s'' to quit,\n"
-"Press ''%2$s'' to return to emulation."
msgstr ""
-"Är du säker på att du vill avsluta?\n"
+"Drifttid: %1$d:%2$02d:%3$02d\n"
"\n"
-"Tryck ''%1$s'' för att avsluta,\n"
-"Tryck ''%2$s'' för att återgå till emuleringen."
-
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
-msgstr "Huvud Volym"
-
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
-msgstr "%1$s Volym"
-
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
-msgstr "Överklocka CPU %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
-msgstr "Överklocka %1$s ljud"
-
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
-msgstr "%1$s Uppdateringsfrekvens"
-
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
-msgstr "%1$s Ljusstyrka"
-
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
-msgstr "%1$s Kontrast"
-
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
-msgstr "%1$s Gamma"
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
-msgstr "%1$s Horisontell utsträckning"
-
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
-msgstr "%1$s Horisontell Position"
-
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
-msgstr "%1$s Vertikal utsträckning"
-
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
-msgstr "%1$s Vertikal Position"
-
-#: src/frontend/mame/ui/ui.cpp:1475
+#: src/frontend/mame/ui/miscmenu.cpp:238
#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
-msgstr "Laserdisk '%1$s' Horisontell utsträckning"
-
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
-msgstr "Laserdisk '%1$s' Horisontell Position"
-
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
-msgstr "Laserdisk '%1$s' Vertikal utsträckning"
-
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr "Laserdisk '%1$s' Vertikal Position"
-
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
-msgstr "Vektor Flimmer"
-
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
-msgstr "Stråle Bredd Minimum"
-
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
-msgstr "Elektronstråle Bredd Maximum"
-
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
-msgstr "Elektronstråle Intensitet"
-
-#: src/frontend/mame/ui/ui.cpp:1511
-#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr "HÃ¥rkors Skala %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
-msgstr "X"
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
-msgstr "Y"
-
-#: src/frontend/mame/ui/ui.cpp:1513
-#, c-format
-msgid "Crosshair Offset %1$s"
-msgstr "HÃ¥rkors Offset %1$s"
-
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
-msgstr "%1$3ddB"
+msgid ""
+"Uptime: %1$d:%2$02d\n"
+"\n"
+msgstr ""
+"Drifttid: %1$d:%2$02d\n"
+"\n"
-#: src/frontend/mame/ui/ui.cpp:1645
+#: src/frontend/mame/ui/miscmenu.cpp:242
#, c-format
-msgid "%1$d%%"
-msgstr "%1$d%%"
+msgid ""
+"Tickets dispensed: %1$d\n"
+"\n"
+msgstr ""
+"Biljetter fördelade: %1$d\n"
+"\n"
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
-msgstr "%1$3.0f%%"
+#: src/frontend/mame/ui/miscmenu.cpp:253
+msgid "Coin %1$c: NA%3$s\n"
+msgstr "Mynt %1$c: NA%3$s\n"
-#: src/frontend/mame/ui/ui.cpp:1685
+#: src/frontend/mame/ui/miscmenu.cpp:253
#, c-format
-msgid "%1$.3ffps"
-msgstr "%1$.3ffps"
+msgid "Coin %1$c: %2$d%3$s\n"
+msgstr "Mynt %1$c: %2$d%3$s\n"
-#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
-#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
-#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
-#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
-#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
-#: src/frontend/mame/ui/ui.cpp:1927
-#, c-format
-msgid "%1$.3f"
-msgstr "%1$.3f"
+#: src/frontend/mame/ui/miscmenu.cpp:256
+msgid " (locked)"
+msgstr " (låst)"
-#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
-#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
-#, c-format
-msgid "%1$1.2f"
-msgstr "%1$1.2f"
+#: src/frontend/mame/ui/miscmenu.cpp:503
+msgid "Visible Delay"
+msgstr "Synlig Fördröjning"
-#: src/frontend/mame/ui/ui.cpp:2005
+#: src/frontend/mame/ui/miscmenu.cpp:601
#, c-format
-msgid "Crosshair Scale X %1$1.3f"
-msgstr "HÃ¥rkors Skala X %1$1.3f"
+msgid "%s.xml saved under ui folder."
+msgstr "%s.xml sparad i ui katalog."
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
-msgstr "HÃ¥rkors Skala Y %1$1.3f"
+#: src/frontend/mame/ui/miscmenu.cpp:627
+msgid "Name: Description:\n"
+msgstr "Namn: Beskrivning:\n"
-#: src/frontend/mame/ui/ui.cpp:2024
+#: src/frontend/mame/ui/miscmenu.cpp:638
#, c-format
-msgid "Crosshair Offset X %1$1.3f"
-msgstr "HÃ¥rkors Offset X %1$1.3f"
+msgid "%s.txt saved under ui folder."
+msgstr "%s.txt sparad i ui katalog."
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
-msgstr "HÃ¥rkors Offset Y %1$1.3f"
+#: src/frontend/mame/ui/miscmenu.cpp:655
+msgid "Export list in XML format (like -listxml)"
+msgstr "Exportlista i XML format (som -listxml)"
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
-msgstr "**Fel uppstod när ui.ini sparades**"
+#: src/frontend/mame/ui/miscmenu.cpp:656
+msgid "Export list in XML format (like -listxml, but exclude devices)"
+msgstr "Exportlista i XML format (som -listxml, men utan enheter)"
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
-msgstr "**Fel uppstod när %s.ini sparades**"
+#: src/frontend/mame/ui/miscmenu.cpp:657
+msgid "Export list in TXT format (like -listfull)"
+msgstr "Exportera lista i TXT format (som -listfull)"
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
+#: src/frontend/mame/ui/miscmenu.cpp:710 src/frontend/mame/ui/ui.cpp:2230
msgid ""
"\n"
" Configuration saved \n"
@@ -848,339 +952,160 @@ msgstr ""
" Konfiguration sparad \n"
"\n"
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
-msgid ""
-"Cheat Comment:\n"
-"%s"
-msgstr ""
-"Fusk Kommentar:\n"
-"%s"
-
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
-msgstr "Alla fusk uppdaterade"
-
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
-msgstr "Autofire Inställningar"
-
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
-msgstr "Återställ Alla"
-
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
-msgstr "Ladda Om Alla"
-
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
-msgstr "Autofire Status"
-
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
-msgstr "Inga knappar funna för denna maskin!"
-
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
-msgstr "Autofire Fördröjning"
-
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
-#, c-format
-msgid ""
-"%s\n"
-" added to favorites list."
-msgstr ""
-"%s\n"
-" tillagd i favoritlistan."
-
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
-#, c-format
-msgid ""
-"%s\n"
-" removed from favorites list."
-msgstr ""
-"%s\n"
-" borttagen från favoritlistan."
-
-#: src/frontend/mame/ui/selsoft.cpp:507
-msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
-"\n"
-msgstr ""
-"Den valda mjukvaran saknar en eller flera nödvändiga filer. Välj en annan "
-"mjukvara.\n"
-"\n"
-
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
-msgstr "Tryck på valfri tangent för att fortsätta."
-
-#: src/frontend/mame/ui/selsoft.cpp:637
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
-msgstr "%1$s %2$s ( %3$d / %4$d mjukvarupaket )"
-
-#: src/frontend/mame/ui/selsoft.cpp:638
-#, c-format
-msgid "Driver: \"%1$s\" software list "
-msgstr "Drivrutin: \"%1$s\" mjukvarulista "
-
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
-#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
-msgstr "%1$s: %2$s - Sök: %3$s_"
-
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
-#, c-format
-msgid "Search: %1$s_"
-msgstr "Sök: %1$s_"
-
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
-msgid "Unfiltered"
-msgstr "Ofiltrerat"
-
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
-msgid "Available"
-msgstr "Tillgängliga"
-
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
-msgid "Unavailable"
-msgstr "Ej tillgängliga"
-
-#: src/frontend/mame/ui/utils.cpp:63
-msgid "Working"
-msgstr "Fungerar"
-
-#: src/frontend/mame/ui/utils.cpp:64
-msgid "Not Working"
-msgstr "Fungerar ej"
-
-#: src/frontend/mame/ui/utils.cpp:65
-msgid "Mechanical"
-msgstr "Mekaniska"
-
-#: src/frontend/mame/ui/utils.cpp:66
-msgid "Not Mechanical"
-msgstr "Ej Mekaniska"
-
-#: src/frontend/mame/ui/utils.cpp:67
-msgid "Category"
-msgstr "Kategori"
-
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
-msgid "Favorites"
-msgstr "Favoriter"
-
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/miscmenu.cpp:760 src/frontend/mame/ui/utils.cpp:66
msgid "BIOS"
msgstr "BIOS"
-#: src/frontend/mame/ui/utils.cpp:70
-msgid "Not BIOS"
-msgstr "Ej BIOS"
-
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
-msgid "Parents"
-msgstr "Har Kloner"
-
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
-msgid "Clones"
-msgstr "Är Kloner"
-
-#: src/frontend/mame/ui/utils.cpp:73
-msgid "Manufacturer"
-msgstr "Tillverkare"
-
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
-msgid "Year"
-msgstr "Ã…r"
-
-#: src/frontend/mame/ui/utils.cpp:75
-msgid "Save Supported"
-msgstr "Spara Stödda"
-
-#: src/frontend/mame/ui/utils.cpp:76
-msgid "Save Unsupported"
-msgstr "Spara Ej Stödda"
-
-#: src/frontend/mame/ui/utils.cpp:77
-msgid "CHD Required"
-msgstr "CHD avbildning krävs"
-
-#: src/frontend/mame/ui/utils.cpp:78
-msgid "No CHD Required"
-msgstr "Ingen CHD avbildning krävs"
-
-#: src/frontend/mame/ui/utils.cpp:79
-msgid "Vertical Screen"
-msgstr "Vertikal skärm"
-
-#: src/frontend/mame/ui/utils.cpp:80
-msgid "Horizontal Screen"
-msgstr "Horisontell skärm"
-
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
-msgid "Custom Filter"
-msgstr "Eget filter"
-
-#: src/frontend/mame/ui/utils.cpp:91
-msgid "Publisher"
-msgstr "Utgivare"
-
-#: src/frontend/mame/ui/utils.cpp:92
-msgid "Supported"
-msgstr "Stödd"
+#: src/frontend/mame/ui/miscmenu.cpp:764
+msgid "Driver"
+msgstr "Drivrutin"
-#: src/frontend/mame/ui/utils.cpp:93
-msgid "Partially Supported"
-msgstr "Partiellt Stöd"
+#: src/frontend/mame/ui/miscmenu.cpp:767
+msgid "This machine has no BIOS."
+msgstr "Den här maskinen saknar BIOS."
-#: src/frontend/mame/ui/utils.cpp:94
-msgid "Unsupported"
-msgstr "Ej Stödda"
+#: src/frontend/mame/ui/miscmenu.cpp:776 src/frontend/mame/ui/mainmenu.cpp:145
+msgid "Add To Favorites"
+msgstr "Lägg Till Favoriter"
-#: src/frontend/mame/ui/utils.cpp:95
-msgid "Release Region"
-msgstr "Utgivningsområde"
+#: src/frontend/mame/ui/miscmenu.cpp:778 src/frontend/mame/ui/mainmenu.cpp:147
+msgid "Remove From Favorites"
+msgstr "Tabort Från Favoriter"
-#: src/frontend/mame/ui/utils.cpp:96
-msgid "Device Type"
-msgstr "Typ av apparat"
+#: src/frontend/mame/ui/miscmenu.cpp:781
+msgid "Save machine configuration"
+msgstr "Spara maskinkonfiguration"
-#: src/frontend/mame/ui/utils.cpp:97
-msgid "Software List"
-msgstr "Mjukvarulista"
+#: src/frontend/mame/ui/miscmenu.cpp:792
+msgid "Configure machine:"
+msgstr "Konfigurera maskin:"
-#: src/frontend/mame/ui/utils.cpp:248
-msgid "<set up filters>"
-msgstr "<skapa filter>"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:736
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:551 plugins/cheatfind/init.lua:619
+msgid "On"
+msgstr "PÃ¥"
-#: src/frontend/mame/ui/utils.cpp:356
-msgid "Select custom filters:"
-msgstr "Välj eget filter"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:739
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:554 plugins/cheat/init.lua:563
+#: plugins/cheatfind/init.lua:616
+msgid "Off"
+msgstr "Av"
-#: src/frontend/mame/ui/utils.cpp:507
-#, c-format
-msgid "Filter %1$u"
-msgstr "Filter %1$u"
+#: src/frontend/mame/ui/miscmenu.cpp:909 src/frontend/mame/ui/selgame.cpp:441
+msgid "Plugins"
+msgstr "Tillägg"
-#: src/frontend/mame/ui/utils.cpp:522
-msgid "Remove last filter"
-msgstr "Ta bort senaste filtret"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
+msgstr "Ny streckkod"
-#: src/frontend/mame/ui/utils.cpp:524
-msgid "Add filter"
-msgstr "Lägg till filter"
+#: src/frontend/mame/ui/barcode.cpp:78
+msgid "Enter Code"
+msgstr "Ange kod"
-#: src/frontend/mame/ui/utils.cpp:966
-msgid "Select category:"
-msgstr "Välj kategori:"
+#: src/frontend/mame/ui/barcode.cpp:119
+msgid "Barcode length invalid!"
+msgstr "Streckkodens längd är felaktig!"
-#: src/frontend/mame/ui/utils.cpp:997
-msgid "[no category INI files]"
-msgstr "[ingen kategori INI filer]"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:99
+msgid "Pseudo terminals"
+msgstr "LÃ¥tsasterminaler"
-#: src/frontend/mame/ui/utils.cpp:1005
-msgid "[no groups in INI file]"
-msgstr "[inga grupper i INI fil]"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
+msgstr "[misslyckad]"
-#: src/frontend/mame/ui/utils.cpp:1039
-msgid "No category INI files found"
-msgstr "Inga kategorier INI filer funna"
+#: src/frontend/mame/ui/mainmenu.cpp:60
+msgid "Input (general)"
+msgstr "Input (generell)"
-#: src/frontend/mame/ui/utils.cpp:1044
-msgid "File"
-msgstr "Fil"
+#: src/frontend/mame/ui/mainmenu.cpp:62
+msgid "Input (this Machine)"
+msgstr "Input (denna Maskin)"
-#: src/frontend/mame/ui/utils.cpp:1048
-msgid "No groups found in category file"
-msgstr "Inga grupper funna i kategorifil"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Analog Controls"
+msgstr "Analog Kontroller"
-#: src/frontend/mame/ui/utils.cpp:1053
-msgid "Group"
-msgstr "Grupp"
+#: src/frontend/mame/ui/mainmenu.cpp:68
+msgid "Dip Switches"
+msgstr "Dip Switchar"
-#: src/frontend/mame/ui/utils.cpp:1054
-msgid "Include clones"
-msgstr "Inkludera kloner"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "Machine Configuration"
+msgstr "Maskin Konfiguration"
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
-msgstr "[skapa]"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
+msgstr "Bokföringsstatus"
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:78
+msgid "Machine Information"
+msgstr "Maskininformation"
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
-msgstr "Välj accesstyp"
+#: src/frontend/mame/ui/mainmenu.cpp:85
+msgid "Image Information"
+msgstr "Avbildningsinformation"
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
-msgstr "Enbart läsa"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
+msgstr "Filhanterare"
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
-msgstr "Läsa och skriva"
+#: src/frontend/mame/ui/mainmenu.cpp:96
+msgid "Tape Control"
+msgstr "Bandkontroll"
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
-msgstr "Läs denna skivavbildning, skriv kopia till en annan"
+#: src/frontend/mame/ui/mainmenu.cpp:102
+msgid "BIOS Selection"
+msgstr "BIOS val"
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
-msgstr "Läs denna skivavbildning, skriv skillnader till en annan"
+#: src/frontend/mame/ui/mainmenu.cpp:106
+msgid "Slot Devices"
+msgstr "Slitsenheter"
-#: src/frontend/mame/ui/slotopt.cpp:192
-#, c-format
-msgid "%s [internal]"
-msgstr "%s [intern]"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Barcode Reader"
+msgstr "Streckkodsläsare"
-#: src/frontend/mame/ui/slotopt.cpp:203 src/frontend/mame/ui/miscmenu.cpp:97
-#: src/frontend/mame/ui/inputmap.cpp:615
-msgid "Reset"
-msgstr "Återställ"
+#: src/frontend/mame/ui/mainmenu.cpp:114
+msgid "Network Devices"
+msgstr "Nätverksenheter"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
-msgstr " FÄRGER"
+#: src/frontend/mame/ui/mainmenu.cpp:118
+msgid "Keyboard Mode"
+msgstr "Tangenbordsläge"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
-msgstr " PENNOR"
+#: src/frontend/mame/ui/mainmenu.cpp:121
+msgid "Slider Controls"
+msgstr "Reglage Kontroller"
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
-msgstr "Tillbaka till Emuleringen"
+#: src/frontend/mame/ui/mainmenu.cpp:124 src/frontend/mame/ui/submenu.cpp:101
+msgid "Video Options"
+msgstr "Videoalternativ"
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
-msgstr "Hoppa ur"
+#: src/frontend/mame/ui/mainmenu.cpp:128
+msgid "Crosshair Options"
+msgstr "HÃ¥rkorsalternativ"
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
-msgstr "Tillbaka till Föregående Meny"
+#: src/frontend/mame/ui/mainmenu.cpp:132 plugins/cheat/init.lua:735
+msgid "Cheat"
+msgstr "Fusk"
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:762
-#: plugins/cheat/init.lua:569 plugins/cheatfind/init.lua:792
-#: plugins/cheatfind/init.lua:803
-msgid "On"
-msgstr "PÃ¥"
+#: src/frontend/mame/ui/mainmenu.cpp:135
+msgid "Plugin Options"
+msgstr "Pluginalternativ"
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:765
-#: plugins/cheat/init.lua:572 plugins/cheat/init.lua:581
-#: plugins/cheatfind/init.lua:789 plugins/cheatfind/init.lua:800
-msgid "Off"
-msgstr "Av"
+#: src/frontend/mame/ui/mainmenu.cpp:139
+msgid "External DAT View"
+msgstr "Extern DAT vy"
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
-msgstr "Automatisk"
+#: src/frontend/mame/ui/mainmenu.cpp:154
+msgid "Select New Machine"
+msgstr "Välj Ny Maskin"
#: src/frontend/mame/ui/custui.cpp:31
msgid "Show All"
@@ -1402,459 +1327,6 @@ msgstr "Gul"
msgid "Violet"
msgstr "Lila"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
-msgstr "Tangentbordsläge:"
-
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
-msgstr "Naturligt"
-
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
-msgstr "Emulerat"
-
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
-msgstr ""
-"Drifttid: %1$d:%2$02d:%3$02d\n"
-"\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
-msgstr ""
-"Drifttid: %1$d:%2$02d\n"
-"\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
-msgstr ""
-"Biljetter fördelade: %1$d\n"
-"\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
-msgstr "Mynt %1$c: NA%3$s\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
-msgstr "Mynt %1$c: %2$d%3$s\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
-msgstr " (låst)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
-msgstr "Synlig Fördröjning"
-
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
-msgstr "%s.xml sparad i ui katalog."
-
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
-msgstr "Namn: Beskrivning:\n"
-
-#: src/frontend/mame/ui/miscmenu.cpp:639
-#, c-format
-msgid "%s.txt saved under ui folder."
-msgstr "%s.txt sparad i ui katalog."
-
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
-msgstr "Exportlista i XML format (som -listxml)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
-msgstr "Exportlista i XML format (som -listxml, men utan enheter)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
-msgstr "Exportera lista i TXT format (som -listfull)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
-msgstr "Drivrutin"
-
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
-msgstr "Den här maskinen saknar BIOS."
-
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
-msgstr "Spara maskinkonfiguration"
-
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
-msgstr "Konfigurera maskin:"
-
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
-msgstr " (standard)"
-
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
-msgstr "Tillägg"
-
-#: src/frontend/mame/ui/selgame.cpp:607
-msgid "Configure Machine"
-msgstr "Maskinkonfiguration"
-
-#: src/frontend/mame/ui/selgame.cpp:1036
-#, c-format
-msgid "Romset\t%1$-.100s\n"
-msgstr "Romdistribution\t%1$-.100s\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1037
-#, c-format
-msgid "Year\t%1$s\n"
-msgstr "Ã…r\t%1$s\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1038
-#, c-format
-msgid "Manufacturer\t%1$-.100s\n"
-msgstr "Tillverkare\t%1$-.100s\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1042
-#, c-format
-msgid "Driver is Clone of\t%1$-.100s\n"
-msgstr "Drivrutinen är klon av\t%1$-.100s\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1044
-msgid "Driver is Parent\t\n"
-msgstr "Drivrutinen är oberoende\t\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1047
-msgid "Analog Controls\tYes\n"
-msgstr "Analoga kontroller\tJa\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1049
-msgid "Keyboard Inputs\tYes\n"
-msgstr "Tangentbord\tJa\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1052
-msgid "Overall\tNOT WORKING\n"
-msgstr "Status\tFUNGERAR EJ\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1054
-msgid "Overall\tUnemulated Protection\n"
-msgstr "Status\tOemulerad skyddsmekanism\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1056
-msgid "Overall\tWorking\n"
-msgstr "Status\tFungerar\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1059
-msgid "Graphics\tUnimplemented\n"
-msgstr "Grafik\tEj implementerad\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1061
-msgid "Graphics\tWrong Colors\n"
-msgstr "Grafik\tFel Färger\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1063
-msgid "Graphics\tImperfect Colors\n"
-msgstr "Grafik\tBristfälliga färger\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1065
-msgid "Graphics\tImperfect\n"
-msgstr "Grafik\tBristfällig\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1067
-msgid "Graphics\tOK\n"
-msgstr "Grafik\tOK\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1070
-msgid "Sound\tNone\n"
-msgstr "Ljud\tInget\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1072
-msgid "Sound\tUnimplemented\n"
-msgstr "Ljud\tEj implementerat\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1074
-msgid "Sound\tImperfect\n"
-msgstr "Ljud\tBristfälligt\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1076
-msgid "Sound\tOK\n"
-msgstr "Ljud\tOK\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1079
-msgid "Capture\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1081
-msgid "Capture\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1084
-msgid "Camera\tUnimplemented\n"
-msgstr "Kamera\tEj implementerad\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1086
-msgid "Camera\tImperfect\n"
-msgstr "Kamera\tBristfällig\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1089
-msgid "Microphone\tUnimplemented\n"
-msgstr "Mikrofon\tEj implememterad\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1091
-msgid "Microphone\tImperfect\n"
-msgstr "Mikrofon\tBristfällig\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1094
-msgid "Controls\tUnimplemented\n"
-msgstr "Kontroller\tEj implementerad\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1096
-msgid "Controls\tImperfect\n"
-msgstr "Kontroller\tBristfällig\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1099
-msgid "Keyboard\tUnimplemented\n"
-msgstr "Tangentbord\tEj implementerat\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1101
-msgid "Keyboard\tImperfect\n"
-msgstr "Tangentbord\tBristfälligt\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1104
-msgid "Mouse\tUnimplemented\n"
-msgstr "Mus\tEj implementerad\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1106
-msgid "Mouse\tImperfect\n"
-msgstr "Mus\tBristfällig\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1109
-msgid "Media\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1111
-msgid "Media\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1114
-msgid "Disk\tUnimplemented\n"
-msgstr "Disk\tEj implementerad\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1116
-msgid "Disk\tImperfect\n"
-msgstr "Disk\tBristfällig\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1119
-msgid "Printer\tUnimplemented\n"
-msgstr "Printer\tEj implementerad\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1121
-msgid "Printer\tImperfect\n"
-msgstr "Printer\tBristfällig\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1124
-msgid "Mag. Tape\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1126
-msgid "Mag. Tape\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1129
-msgid "Punch Tape\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1131
-msgid "Punch Tape\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1134
-msgid "Mag. Drum\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1136
-msgid "Mag. Drum\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1139
-msgid "(EP)ROM\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1141
-msgid "(EP)ROM\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1144
-msgid "Communications\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1146
-msgid "Communications\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1149
-msgid "LAN\tUnimplemented\n"
-msgstr "LAN\tEj implementerad\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1151
-msgid "LAN\tImperfect\n"
-msgstr "LAN\tBristfällig\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1154
-msgid "WAN\tUnimplemented\n"
-msgstr "WAN\tEj implementerad\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1156
-msgid "WAN\tImperfect\n"
-msgstr "WAN\tBristfälligt\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1159
-msgid "Timing\tUnimplemented\n"
-msgstr "Timing\tEj implementerad\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1161
-msgid "Timing\tImperfect\n"
-msgstr "Timing\tBristfällig\n"
-
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tNo\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tNo\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tNo\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tNo\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tNo\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tNo\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tVertical\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tHorizontal\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tYes\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tNo\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1192
-msgid "ROM Audit Result\tOK\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1194
-msgid "ROM Audit Result\tBAD\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1197
-msgid "Samples Audit Result\tNone Needed\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1199
-msgid "Samples Audit Result\tOK\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1201
-msgid "Samples Audit Result\tBAD\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1205
-msgid ""
-"ROM Audit \tDisabled\n"
-"Samples Audit \tDisabled\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1396
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
-msgstr "%1$s %2$s ( %3$d / %4$d maskiner (%5$d BIOS) )"
-
-#: src/frontend/mame/ui/selgame.cpp:1424
-#, c-format
-msgid "Romset: %1$-.100s"
-msgstr "Romdistribution: %1$-.100s"
-
-#: src/frontend/mame/ui/selgame.cpp:1431
-#, c-format
-msgid "System: %1$-.100s"
-msgstr "System: %1$-.100s"
-
-#: src/frontend/mame/ui/selgame.cpp:1465
-msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
-msgstr ""
-"Den valda maskinen saknar en eller flera obligtoriska ROM eller CHD "
-"avbildningar. Välj en annan maskin.\n"
-"\n"
-
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
-msgstr "Ljud"
-
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
-msgstr "Samplingshastighet"
-
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
-msgstr "Använd Externa Samplingar"
-
#: src/frontend/mame/ui/submenu.cpp:22
msgid "Miscellaneous Options"
msgstr "Diverse Alternativ"
@@ -2155,195 +1627,564 @@ msgstr "Synkroniserad Uppdatering"
msgid "Wait Vertical Sync"
msgstr "Vänta på Vertikal Synkronisering"
-#: src/frontend/mame/ui/devopt.cpp:43
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Load State"
+msgstr "Ladda läge"
+
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Select position to load from"
+msgstr "Välj position att ladda från"
+
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Save State"
+msgstr "Spara läge"
+
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Select position to save to"
+msgstr "Välj position att spara till"
+
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
+msgstr "%s [intern]"
+
+#: src/frontend/mame/ui/selgame.cpp:309 src/frontend/mame/ui/selsoft.cpp:211
#, c-format
msgid ""
-"[This option is currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"The selected option enables the following items:\n"
+"%s\n"
+" added to favorites list."
msgstr ""
+"%s\n"
+" tillagd i favoritlistan."
-#: src/frontend/mame/ui/devopt.cpp:44
+#: src/frontend/mame/ui/selgame.cpp:314 src/frontend/mame/ui/selgame.cpp:320
+#: src/frontend/mame/ui/selsoft.cpp:216
#, c-format
msgid ""
-"[This option is NOT currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"If you select this option, the following items will be enabled:\n"
+"%s\n"
+" removed from favorites list."
msgstr ""
+"%s\n"
+" borttagen från favoritlistan."
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:437
+msgid "Configure Machine"
+msgstr "Maskinkonfiguration"
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/selgame.cpp:849
#, c-format
-msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+msgid "Romset\t%1$-.100s\n"
+msgstr "Romdistribution\t%1$-.100s\n"
+
+#: src/frontend/mame/ui/selgame.cpp:850
+#, c-format
+msgid "Year\t%1$s\n"
+msgstr "Ã…r\t%1$s\n"
+
+#: src/frontend/mame/ui/selgame.cpp:851
+#, c-format
+msgid "Manufacturer\t%1$-.100s\n"
+msgstr "Tillverkare\t%1$-.100s\n"
+
+#: src/frontend/mame/ui/selgame.cpp:855
+#, c-format
+msgid "Driver is Clone of\t%1$-.100s\n"
+msgstr "Drivrutinen är klon av\t%1$-.100s\n"
+
+#: src/frontend/mame/ui/selgame.cpp:857
+msgid "Driver is Parent\t\n"
+msgstr "Drivrutinen är oberoende\t\n"
+
+#: src/frontend/mame/ui/selgame.cpp:860
+msgid "Analog Controls\tYes\n"
+msgstr "Analoga kontroller\tJa\n"
+
+#: src/frontend/mame/ui/selgame.cpp:862
+msgid "Keyboard Inputs\tYes\n"
+msgstr "Tangentbord\tJa\n"
+
+#: src/frontend/mame/ui/selgame.cpp:865
+msgid "Overall\tNOT WORKING\n"
+msgstr "Status\tFUNGERAR EJ\n"
+
+#: src/frontend/mame/ui/selgame.cpp:867
+msgid "Overall\tUnemulated Protection\n"
+msgstr "Status\tOemulerad skyddsmekanism\n"
+
+#: src/frontend/mame/ui/selgame.cpp:869
+msgid "Overall\tWorking\n"
+msgstr "Status\tFungerar\n"
+
+#: src/frontend/mame/ui/selgame.cpp:872
+msgid "Graphics\tUnimplemented\n"
+msgstr "Grafik\tEj implementerad\n"
+
+#: src/frontend/mame/ui/selgame.cpp:874
+msgid "Graphics\tWrong Colors\n"
+msgstr "Grafik\tFel Färger\n"
+
+#: src/frontend/mame/ui/selgame.cpp:876
+msgid "Graphics\tImperfect Colors\n"
+msgstr "Grafik\tBristfälliga färger\n"
+
+#: src/frontend/mame/ui/selgame.cpp:878
+msgid "Graphics\tImperfect\n"
+msgstr "Grafik\tBristfällig\n"
+
+#: src/frontend/mame/ui/selgame.cpp:880
+msgid "Graphics\tOK\n"
+msgstr "Grafik\tOK\n"
+
+#: src/frontend/mame/ui/selgame.cpp:883
+msgid "Sound\tNone\n"
+msgstr "Ljud\tInget\n"
+
+#: src/frontend/mame/ui/selgame.cpp:885
+msgid "Sound\tUnimplemented\n"
+msgstr "Ljud\tEj implementerat\n"
+
+#: src/frontend/mame/ui/selgame.cpp:887
+msgid "Sound\tImperfect\n"
+msgstr "Ljud\tBristfälligt\n"
+
+#: src/frontend/mame/ui/selgame.cpp:889
+msgid "Sound\tOK\n"
+msgstr "Ljud\tOK\n"
+
+#: src/frontend/mame/ui/selgame.cpp:892
+msgid "Controls\tUnimplemented\n"
+msgstr "Kontroller\tEj implementerad\n"
+
+#: src/frontend/mame/ui/selgame.cpp:894
+msgid "Controls\tImperfect\n"
+msgstr "Kontroller\tBristfällig\n"
+
+#: src/frontend/mame/ui/selgame.cpp:897
+msgid "Keyboard\tUnimplemented\n"
+msgstr "Tangentbord\tEj implementerat\n"
+
+#: src/frontend/mame/ui/selgame.cpp:899
+msgid "Keyboard\tImperfect\n"
+msgstr "Tangentbord\tBristfälligt\n"
+
+#: src/frontend/mame/ui/selgame.cpp:902
+msgid "Mouse\tUnimplemented\n"
+msgstr "Mus\tEj implementerad\n"
+
+#: src/frontend/mame/ui/selgame.cpp:904
+msgid "Mouse\tImperfect\n"
+msgstr "Mus\tBristfällig\n"
+
+#: src/frontend/mame/ui/selgame.cpp:907
+msgid "Microphone\tUnimplemented\n"
+msgstr "Mikrofon\tEj implememterad\n"
+
+#: src/frontend/mame/ui/selgame.cpp:909
+msgid "Microphone\tImperfect\n"
+msgstr "Mikrofon\tBristfällig\n"
+
+#: src/frontend/mame/ui/selgame.cpp:912
+msgid "Camera\tUnimplemented\n"
+msgstr "Kamera\tEj implementerad\n"
+
+#: src/frontend/mame/ui/selgame.cpp:914
+msgid "Camera\tImperfect\n"
+msgstr "Kamera\tBristfällig\n"
+
+#: src/frontend/mame/ui/selgame.cpp:917
+msgid "Disk\tUnimplemented\n"
+msgstr "Disk\tEj implementerad\n"
+
+#: src/frontend/mame/ui/selgame.cpp:919
+msgid "Disk\tImperfect\n"
+msgstr "Disk\tBristfällig\n"
+
+#: src/frontend/mame/ui/selgame.cpp:922
+msgid "Printer\tUnimplemented\n"
+msgstr "Printer\tEj implementerad\n"
+
+#: src/frontend/mame/ui/selgame.cpp:924
+msgid "Printer\tImperfect\n"
+msgstr "Printer\tBristfällig\n"
+
+#: src/frontend/mame/ui/selgame.cpp:927
+msgid "LAN\tUnimplemented\n"
+msgstr "LAN\tEj implementerad\n"
+
+#: src/frontend/mame/ui/selgame.cpp:929
+msgid "LAN\tImperfect\n"
+msgstr "LAN\tBristfällig\n"
+
+#: src/frontend/mame/ui/selgame.cpp:932
+msgid "WAN\tUnimplemented\n"
+msgstr "WAN\tEj implementerad\n"
+
+#: src/frontend/mame/ui/selgame.cpp:934
+msgid "WAN\tImperfect\n"
+msgstr "WAN\tBristfälligt\n"
+
+#: src/frontend/mame/ui/selgame.cpp:937
+msgid "Timing\tUnimplemented\n"
+msgstr "Timing\tEj implementerad\n"
+
+#: src/frontend/mame/ui/selgame.cpp:939
+msgid "Timing\tImperfect\n"
+msgstr "Timing\tBristfällig\n"
+
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
-msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %3$d.%4$06d MHz\n"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:103
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
-#, c-format
-msgid " %1$d×%2$s\n"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:168
-#, c-format
-msgid ""
-"* BIOS settings:\n"
-" %1$d options [default: %2$s]\n"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:208 src/frontend/mame/ui/devopt.cpp:224
-#: src/frontend/mame/ui/devopt.cpp:269
-#, c-format
-msgid " %1$s [default: %2$s]\n"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
-#, c-format
-msgid " %1$s\n"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/selgame.cpp:970
+msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:972
+msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:975
+msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
-#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:977
+msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:979
+msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/selgame.cpp:983
+msgid ""
+"ROM Audit \tDisabled\n"
+"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
+#: src/frontend/mame/ui/selgame.cpp:1167
#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
-msgstr ""
+msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
+msgstr "%1$s %2$s ( %3$d / %4$d maskiner (%5$d BIOS) )"
-#: src/frontend/mame/ui/devopt.cpp:252
+#: src/frontend/mame/ui/selgame.cpp:1183 src/frontend/mame/ui/selsoft.cpp:555
#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
-msgstr ""
+msgid "%1$s: %2$s - Search: %3$s_"
+msgstr "%1$s: %2$s - Sök: %3$s_"
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/selgame.cpp:1185 src/frontend/mame/ui/selsoft.cpp:557
#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
-msgstr ""
+msgid "Search: %1$s_"
+msgstr "Sök: %1$s_"
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:1195
+#, c-format
+msgid "Romset: %1$-.100s"
+msgstr "Romdistribution: %1$-.100s"
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/selgame.cpp:1202
#, c-format
-msgid " %1$s [tag: %2$s]\n"
-msgstr ""
+msgid "System: %1$-.100s"
+msgstr "System: %1$-.100s"
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
+#: src/frontend/mame/ui/selgame.cpp:1239
+msgid ""
+"The selected machine is missing one or more required ROM or CHD images. "
+"Please select a different machine.\n"
+"\n"
msgstr ""
+"Den valda maskinen saknar en eller flera obligtoriska ROM eller CHD "
+"avbildningar. Välj en annan maskin.\n"
+"\n"
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
-msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:1245 src/frontend/mame/ui/selsoft.cpp:462
+msgid "Press any key to continue."
+msgstr "Tryck på valfri tangent för att fortsätta."
-#: src/frontend/mame/ui/auditmenu.cpp:96
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
+msgstr "Ljud"
+
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
+msgstr "Samplingshastighet"
+
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
+msgstr "Använd Externa Samplingar"
+
+#: src/frontend/mame/ui/utils.cpp:57 src/frontend/mame/ui/utils.cpp:81
+msgid "Unfiltered"
+msgstr "Ofiltrerat"
+
+#: src/frontend/mame/ui/utils.cpp:58 src/frontend/mame/ui/utils.cpp:82
+msgid "Available"
+msgstr "Tillgängliga"
+
+#: src/frontend/mame/ui/utils.cpp:59 src/frontend/mame/ui/utils.cpp:83
+msgid "Unavailable"
+msgstr "Ej tillgängliga"
+
+#: src/frontend/mame/ui/utils.cpp:60
+msgid "Working"
+msgstr "Fungerar"
+
+#: src/frontend/mame/ui/utils.cpp:61
+msgid "Not Working"
+msgstr "Fungerar ej"
+
+#: src/frontend/mame/ui/utils.cpp:62
+msgid "Mechanical"
+msgstr "Mekaniska"
+
+#: src/frontend/mame/ui/utils.cpp:63
+msgid "Not Mechanical"
+msgstr "Ej Mekaniska"
+
+#: src/frontend/mame/ui/utils.cpp:64
+msgid "Category"
+msgstr "Kategori"
+
+#: src/frontend/mame/ui/utils.cpp:65
+msgid "Favorites"
+msgstr "Favoriter"
+
+#: src/frontend/mame/ui/utils.cpp:67
+msgid "Not BIOS"
+msgstr "Ej BIOS"
+
+#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:84
+msgid "Parents"
+msgstr "Har Kloner"
+
+#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/utils.cpp:85
+msgid "Clones"
+msgstr "Är Kloner"
+
+#: src/frontend/mame/ui/utils.cpp:70
+msgid "Manufacturer"
+msgstr "Tillverkare"
+
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:86
+msgid "Year"
+msgstr "Ã…r"
+
+#: src/frontend/mame/ui/utils.cpp:72
+msgid "Save Supported"
+msgstr "Spara Stödda"
+
+#: src/frontend/mame/ui/utils.cpp:73
+msgid "Save Unsupported"
+msgstr "Spara Ej Stödda"
+
+#: src/frontend/mame/ui/utils.cpp:74
+msgid "CHD Required"
+msgstr "CHD avbildning krävs"
+
+#: src/frontend/mame/ui/utils.cpp:75
+msgid "No CHD Required"
+msgstr "Ingen CHD avbildning krävs"
+
+#: src/frontend/mame/ui/utils.cpp:76
+msgid "Vertical Screen"
+msgstr "Vertikal skärm"
+
+#: src/frontend/mame/ui/utils.cpp:77
+msgid "Horizontal Screen"
+msgstr "Horisontell skärm"
+
+#: src/frontend/mame/ui/utils.cpp:78 src/frontend/mame/ui/utils.cpp:94
+msgid "Custom Filter"
+msgstr "Eget filter"
+
+#: src/frontend/mame/ui/utils.cpp:87
+msgid "Publisher"
+msgstr "Utgivare"
+
+#: src/frontend/mame/ui/utils.cpp:88
+msgid "Supported"
+msgstr "Stödd"
+
+#: src/frontend/mame/ui/utils.cpp:89
+msgid "Partially Supported"
+msgstr "Partiellt Stöd"
+
+#: src/frontend/mame/ui/utils.cpp:90
+msgid "Unsupported"
+msgstr "Ej Stödda"
+
+#: src/frontend/mame/ui/utils.cpp:91
+msgid "Release Region"
+msgstr "Utgivningsområde"
+
+#: src/frontend/mame/ui/utils.cpp:92
+msgid "Device Type"
+msgstr "Typ av apparat"
+
+#: src/frontend/mame/ui/utils.cpp:93
+msgid "Software List"
+msgstr "Mjukvarulista"
+
+#: src/frontend/mame/ui/utils.cpp:244
+msgid "<set up filters>"
+msgstr "<skapa filter>"
+
+#: src/frontend/mame/ui/utils.cpp:352
+msgid "Select custom filters:"
+msgstr "Välj eget filter"
+
+#: src/frontend/mame/ui/utils.cpp:503
#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
-msgstr "Granskning av ROMs för %1$u maskiner markerade som ej tillgängliga?"
+msgid "Filter %1$u"
+msgstr "Filter %1$u"
-#: src/frontend/mame/ui/auditmenu.cpp:99
+#: src/frontend/mame/ui/utils.cpp:518
+msgid "Remove last filter"
+msgstr "Ta bort senaste filtret"
+
+#: src/frontend/mame/ui/utils.cpp:520
+msgid "Add filter"
+msgstr "Lägg till filter"
+
+#: src/frontend/mame/ui/utils.cpp:959
+msgid "Select category:"
+msgstr "Välj kategori:"
+
+#: src/frontend/mame/ui/utils.cpp:990
+msgid "[no category INI files]"
+msgstr "[ingen kategori INI filer]"
+
+#: src/frontend/mame/ui/utils.cpp:998
+msgid "[no groups in INI file]"
+msgstr "[inga grupper i INI fil]"
+
+#: src/frontend/mame/ui/utils.cpp:1032
+msgid "No category INI files found"
+msgstr "Inga kategorier INI filer funna"
+
+#: src/frontend/mame/ui/utils.cpp:1037
+msgid "File"
+msgstr "Fil"
+
+#: src/frontend/mame/ui/utils.cpp:1041
+msgid "No groups found in category file"
+msgstr "Inga grupper funna i kategorifil"
+
+#: src/frontend/mame/ui/utils.cpp:1046
+msgid "Group"
+msgstr "Grupp"
+
+#: src/frontend/mame/ui/utils.cpp:1047
+msgid "Include clones"
+msgstr "Inkludera kloner"
+
+#: src/frontend/mame/ui/selsoft.cpp:456
+msgid ""
+"The selected software is missing one or more required files. Please select a "
+"different software.\n"
+"\n"
+msgstr ""
+"Den valda mjukvaran saknar en eller flera nödvändiga filer. Välj en annan "
+"mjukvara.\n"
+"\n"
+
+#: src/frontend/mame/ui/selsoft.cpp:549
#, c-format
-msgid "Audit ROMs for all %1$u machines?"
-msgstr "Granskning av ROMs för alla %1$u maskiner?"
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgstr "%1$s %2$s ( %3$d / %4$d mjukvarupaket )"
-#: src/frontend/mame/ui/auditmenu.cpp:104
+#: src/frontend/mame/ui/selsoft.cpp:550
#, c-format
-msgid "(results will be saved to %1$s)"
-msgstr "(resultat kommer att sparas som %1$s)"
+msgid "Driver: \"%1$s\" software list "
+msgstr "Drivrutin: \"%1$s\" mjukvarulista "
-#: src/frontend/mame/ui/auditmenu.cpp:130
+#: src/frontend/mame/ui/filesel.cpp:260
+msgid "[create]"
+msgstr "[skapa]"
+
+#: src/frontend/mame/ui/filesel.cpp:419
#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
+msgid "Error accessing %s"
msgstr ""
-"Granskning av ROMs för maskin %2$u av %3$u...\n"
-"%1$s"
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr "Starta Granskning"
+#: src/frontend/mame/ui/filesel.cpp:515
+msgid "Select access mode"
+msgstr "Välj accesstyp"
+
+#: src/frontend/mame/ui/filesel.cpp:516
+msgid "Read-only"
+msgstr "Enbart läsa"
+
+#: src/frontend/mame/ui/filesel.cpp:518
+msgid "Read-write"
+msgstr "Läsa och skriva"
+
+#: src/frontend/mame/ui/filesel.cpp:519
+msgid "Read this image, write to another image"
+msgstr "Läs denna skivavbildning, skriv kopia till en annan"
+
+#: src/frontend/mame/ui/filesel.cpp:520
+msgid "Read this image, write to diff"
+msgstr "Läs denna skivavbildning, skriv skillnader till en annan"
#: src/frontend/mame/ui/imgcntrl.cpp:117
msgid "Cannot save over directory"
@@ -2357,374 +2198,452 @@ msgstr ""
"Den markerade mjukvaran saknar en eller flera nödvändiga ROM eller CHD "
"avbildningar. Välj en annan."
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
-msgstr "skyddsmekanism"
-
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
-msgstr "timing"
+#: src/frontend/mame/ui/menu.cpp:294
+msgid "Return to Machine"
+msgstr "Tillbaka till Emuleringen"
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
-msgstr "grafik"
+#: src/frontend/mame/ui/menu.cpp:299 src/frontend/mame/ui/menu.cpp:301
+msgid "Exit"
+msgstr "Hoppa ur"
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
-msgstr "färgpalett"
+#: src/frontend/mame/ui/menu.cpp:306 src/frontend/mame/ui/menu.cpp:308
+msgid "Return to Previous Menu"
+msgstr "Tillbaka till Föregående Meny"
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
-msgstr "ljud"
+#: src/frontend/mame/ui/menu.cpp:742
+msgid "Auto"
+msgstr "Automatisk"
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:653
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
+"Fusk Kommentar:\n"
+"%s"
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
-msgstr "kamera"
-
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
-msgstr "mikrofon"
+#: src/frontend/mame/ui/cheatopt.cpp:105
+msgid "All cheats reloaded"
+msgstr "Alla fusk uppdaterade"
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
-msgstr "kontroller"
+#: src/frontend/mame/ui/cheatopt.cpp:136
+msgid "Autofire Settings"
+msgstr "Autofire Inställningar"
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
-msgstr "tangentbord"
+#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:581
+msgid "Reset All"
+msgstr "Återställ Alla"
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
-msgstr "mus"
+#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:582
+msgid "Reload All"
+msgstr "Ladda Om Alla"
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
-msgstr ""
+#: src/frontend/mame/ui/cheatopt.cpp:273
+msgid "Autofire Status"
+msgstr "Autofire Status"
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
-msgstr "disk"
+#: src/frontend/mame/ui/cheatopt.cpp:316
+msgid "No buttons found on this machine!"
+msgstr "Inga knappar funna för denna maskin!"
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
-msgstr "skrivare"
+#: src/frontend/mame/ui/cheatopt.cpp:327 src/frontend/mame/ui/cheatopt.cpp:331
+msgid "Autofire Delay"
+msgstr "Autofire Fördröjning"
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/ui.cpp:337
+msgid "This driver requires images to be loaded in the following device(s): "
msgstr ""
+"Den här emuleringen kräver att avbildningar laddas i följande apparat(er): "
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
-msgstr ""
+#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
+msgid "Keyboard Emulation Status"
+msgstr "Status för Tangentbordsemulering"
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
-msgstr ""
+#: src/frontend/mame/ui/ui.cpp:1086
+msgid "Mode: PARTIAL Emulation"
+msgstr "Läge: PARTIELL Emulering"
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
-msgstr ""
+#: src/frontend/mame/ui/ui.cpp:1087
+msgid "UI: Enabled"
+msgstr "UI: Aktiverat"
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
-msgstr ""
+#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
+msgid "**Use ScrLock to toggle**"
+msgstr "**Använd ScrLock för att växla**"
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
-msgstr "LAN"
+#: src/frontend/mame/ui/ui.cpp:1096
+msgid "Mode: FULL Emulation"
+msgstr "Läge: FULL Emulering"
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
-msgstr "WAN"
+#: src/frontend/mame/ui/ui.cpp:1097
+msgid "UI: Disabled"
+msgstr "UI: Inaktiverad"
-#: src/frontend/mame/ui/info.cpp:188
-msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
-msgstr ""
-"En eller flera ROMs/CHDs för denna maskin är felaktiga. Maskinen kan uppvisa "
-"fel vid körning.\n"
+#: src/frontend/mame/ui/ui.cpp:1249
+msgid "Autofire can't be enabled"
+msgstr "Autofire kan inte aktiveras"
-#: src/frontend/mame/ui/info.cpp:198
+#: src/frontend/mame/ui/ui.cpp:1302
+#, c-format
msgid ""
-"There are known problems with this machine\n"
+"Are you sure you want to quit?\n"
"\n"
+"Press ''%1$s'' to quit,\n"
+"Press ''%2$s'' to return to emulation."
msgstr ""
-"Det finns kända problem med denna maskin\n"
+"Är du säker på att du vill avsluta?\n"
"\n"
+"Tryck ''%1$s'' för att avsluta,\n"
+"Tryck ''%2$s'' för att återgå till emuleringen."
-#: src/frontend/mame/ui/info.cpp:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
-msgstr ""
-"En eller flera ROMs/CHDs för denna maskin har inte blivit avbildade "
-"korrekt.\n"
+#: src/frontend/mame/ui/ui.cpp:1374
+msgid "Master Volume"
+msgstr "Huvud Volym"
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
-msgstr "Helt oemulerade funktioner: "
+#: src/frontend/mame/ui/ui.cpp:1383
+#, c-format
+msgid "%1$s Volume"
+msgstr "%1$s Volym"
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
+#: src/frontend/mame/ui/ui.cpp:1407
#, c-format
-msgid "%s"
-msgstr "%s"
+msgid "Overclock CPU %1$s"
+msgstr "Överklocka CPU %1$s"
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#: src/frontend/mame/ui/info.cpp:275
+#: src/frontend/mame/ui/ui.cpp:1416
#, c-format
-msgid ", %s"
-msgstr ", %s"
+msgid "Overclock %1$s sound"
+msgstr "Överklocka %1$s ljud"
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
-msgstr "Bristfälligt emulerade funtioner: "
+#: src/frontend/mame/ui/ui.cpp:1437
+#, c-format
+msgid "%1$s Refresh Rate"
+msgstr "%1$s Uppdateringsfrekvens"
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
-msgstr "Skärm flippning i cocktail läge stöds ej.\n"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, c-format
+msgid "%1$s Brightness"
+msgstr "%1$s Ljusstyrka"
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
-msgstr "Denna maskin kräver extra filer med grafisk layout.\n"
+#: src/frontend/mame/ui/ui.cpp:1444
+#, c-format
+msgid "%1$s Contrast"
+msgstr "%1$s Kontrast"
-#: src/frontend/mame/ui/info.cpp:243
-msgid ""
-"This machine was never completed. It may exhibit strange behavior or missing "
-"elements that are not bugs in the emulation.\n"
-msgstr ""
-"Emulering av den här maskinen fullbordades aldrig. Den kan därför uppträda "
-"konstigt eller sakna delar som därför inte är felprogrammering i "
-"emuleringen.\n"
+#: src/frontend/mame/ui/ui.cpp:1446
+#, c-format
+msgid "%1$s Gamma"
+msgstr "%1$s Gamma"
-#: src/frontend/mame/ui/info.cpp:245
-msgid ""
-"This machine has no sound hardware, MAME will produce no sounds, this is "
-"expected behaviour.\n"
-msgstr ""
-"Den här maskinen har ingen ljudhårdvara, MAME producerar därför inget ljud "
-"och detta är korrekt beteende.\n"
+#: src/frontend/mame/ui/ui.cpp:1450
+#, c-format
+msgid "%1$s Horiz Stretch"
+msgstr "%1$s Horisontell utsträckning"
-#: src/frontend/mame/ui/info.cpp:249
-msgid ""
-"\n"
-"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
-"complete. There is nothing you can do to fix this problem except wait for "
-"the developers to improve the emulation.\n"
-msgstr ""
-"\n"
-"DENNA MASKIN FUNGERAR EJ. Emuleringen för denna masin är ännu ej komplett. "
-"Det finns inget du kan göra för att fixa detta problem, förutom att vänta på "
-"att utvecklarna förbättrar emuleringen.\n"
+#: src/frontend/mame/ui/ui.cpp:1452
+#, c-format
+msgid "%1$s Horiz Position"
+msgstr "%1$s Horisontell Position"
-#: src/frontend/mame/ui/info.cpp:251
-msgid ""
-"\n"
-"Elements of this machine cannot be emulated as they requires physical "
-"interaction or consist of mechanical devices. It is not possible to fully "
-"experience this machine.\n"
-msgstr ""
-"\n"
-"Delar av denna maskin kan inte emuleras då de kräver fysisk interaktion "
-"eller består av mekaniska delar. Det är därför inte möjligt att fullt ut "
-"uppleva denna maskin.\n"
+#: src/frontend/mame/ui/ui.cpp:1454
+#, c-format
+msgid "%1$s Vert Stretch"
+msgstr "%1$s Vertikal utsträckning"
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1456
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
-msgstr ""
-"\n"
-"\n"
-"Det finns fungerande varianter av denna maskin: %s"
+msgid "%1$s Vert Position"
+msgstr "%1$s Vertikal Position"
+
+#: src/frontend/mame/ui/ui.cpp:1475
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
+msgstr "Laserdisk '%1$s' Horisontell utsträckning"
+
+#: src/frontend/mame/ui/ui.cpp:1477
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
+msgstr "Laserdisk '%1$s' Horisontell Position"
+
+#: src/frontend/mame/ui/ui.cpp:1479
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
+msgstr "Laserdisk '%1$s' Vertikal utsträckning"
+
+#: src/frontend/mame/ui/ui.cpp:1481
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
+msgstr "Laserdisk '%1$s' Vertikal Position"
+
+#: src/frontend/mame/ui/ui.cpp:1493
+msgid "Vector Flicker"
+msgstr "Vektor Flimmer"
+
+#: src/frontend/mame/ui/ui.cpp:1494
+msgid "Beam Width Minimum"
+msgstr "Stråle Bredd Minimum"
+
+#: src/frontend/mame/ui/ui.cpp:1495
+msgid "Beam Width Maximum"
+msgstr "Elektronstråle Bredd Maximum"
+
+#: src/frontend/mame/ui/ui.cpp:1496
+msgid "Beam Intensity Weight"
+msgstr "Elektronstråle Intensitet"
+
+#: src/frontend/mame/ui/ui.cpp:1511
+#, c-format
+msgid "Crosshair Scale %1$s"
+msgstr "HÃ¥rkors Skala %1$s"
-#: src/frontend/mame/ui/info.cpp:286
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "X"
+msgstr "X"
+
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "Y"
+msgstr "Y"
+
+#: src/frontend/mame/ui/ui.cpp:1513
+#, c-format
+msgid "Crosshair Offset %1$s"
+msgstr "HÃ¥rkors Offset %1$s"
+
+#: src/frontend/mame/ui/ui.cpp:1601
+#, c-format
+msgid "%1$3ddB"
+msgstr "%1$3ddB"
+
+#: src/frontend/mame/ui/ui.cpp:1645
+#, c-format
+msgid "%1$d%%"
+msgstr "%1$d%%"
+
+#: src/frontend/mame/ui/ui.cpp:1661
+#, c-format
+msgid "%1$3.0f%%"
+msgstr "%1$3.0f%%"
+
+#: src/frontend/mame/ui/ui.cpp:1685
+#, c-format
+msgid "%1$.3ffps"
+msgstr "%1$.3ffps"
+
+#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
+#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
+#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
+#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
+#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
+#: src/frontend/mame/ui/ui.cpp:1927
+#, c-format
+msgid "%1$.3f"
+msgstr "%1$.3f"
+
+#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
+#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
+#, c-format
+msgid "%1$1.2f"
+msgstr "%1$1.2f"
+
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
+msgstr "HÃ¥rkors Skala X %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
+msgstr "HÃ¥rkors Skala Y %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
+msgstr "HÃ¥rkors Offset X %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
+msgstr "HÃ¥rkors Offset Y %1$1.3f"
+
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
+msgstr "**Fel uppstod när ui.ini sparades**"
+
+#: src/frontend/mame/ui/ui.cpp:2226
+#, c-format
+msgid "**Error saving %s.ini**"
+msgstr "**Fel uppstod när %s.ini sparades**"
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " COLORS"
+msgstr " FÄRGER"
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " PENS"
+msgstr " PENNOR"
+
+#: src/frontend/mame/ui/devopt.cpp:39
+#, c-format
msgid ""
+"[This option is currently mounted in the running system]\n"
"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
"\n"
-"Press any key to continue"
+"The selected option enables the following items:\n"
msgstr ""
-"\n"
-"\n"
-"Tryck på valfri tangent för att fortsätta"
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/devopt.cpp:40
#, c-format
msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
+"[This option is NOT currently mounted in the running system]\n"
"\n"
-"CPU:\n"
-msgstr ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Emulering: %4$s\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
"\n"
-"CPU:\n"
+"If you select this option, the following items will be enabled:\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
-msgstr "MHz"
+#: src/frontend/mame/ui/devopt.cpp:48
+msgid "* CPU:\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
-msgstr "kHz"
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
+#, c-format
+msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
+msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
msgstr ""
-"\n"
-"Ljud:\n"
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %3$d.%4$06d MHz\n"
msgstr ""
-"\n"
-"Video:\n"
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
-msgstr "None\n"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %5$d.%6$03d kHz\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
-msgstr "Vektor"
+#: src/frontend/mame/ui/devopt.cpp:85
+msgid "* Video:\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:90
#, c-format
-msgid "%1$s: %2$s\n"
-msgstr "%1$s: %2$s\n"
-
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
-msgstr "%2$s\n"
+msgid " Screen '%1$s': Vector\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:99
#, c-format
-msgid "Screen '%1$s'"
-msgstr "Skärm '%1$s'"
-
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
-msgstr "Skärm"
-
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
-msgstr "Stöds Ej"
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
-msgstr "Stöds Delvis"
+#: src/frontend/mame/ui/devopt.cpp:100
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
-msgstr "[tom]"
+#: src/frontend/mame/ui/devopt.cpp:113
+msgid "* Sound:\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
-msgstr "Kontrollpaneler"
+#: src/frontend/mame/ui/devopt.cpp:133
+#, c-format
+msgid " %1$d×%2$s\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
-msgstr "Förhandsvisining Grafisk Layout"
+#: src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
-msgstr "Spelet Slut"
+#: src/frontend/mame/ui/devopt.cpp:164
+#, c-format
+msgid ""
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
-msgstr "Redigera favoriter"
+#: src/frontend/mame/ui/devopt.cpp:204 src/frontend/mame/ui/devopt.cpp:220
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " %1$s [default: %2$s]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
-msgstr "Exportera listan till fil"
+#: src/frontend/mame/ui/devopt.cpp:209 src/frontend/mame/ui/devopt.cpp:225
+#, c-format
+msgid " %1$s\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
-msgstr "Visa DATs vy"
+#: src/frontend/mame/ui/devopt.cpp:230
+msgid "* DIP switch settings:\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
-msgstr "Val av mjukvarudel:"
+#: src/frontend/mame/ui/devopt.cpp:232
+msgid "* Configuration settings:\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
-msgstr "BIOS val:"
+#: src/frontend/mame/ui/devopt.cpp:234
+msgid "* Input device(s):\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
+#: src/frontend/mame/ui/devopt.cpp:236
#, c-format
-msgid "Software is clone of: %1$-.100s"
-msgstr "Mjukvaran är klonad från: %1$-.100s"
-
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
-msgstr "Mjukvaran har kloner"
-
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
-msgstr "Stöd: Nej"
-
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
-msgstr "Stöd: Delvis"
+msgid " User inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
-msgstr "Stöd: Ja"
+#: src/frontend/mame/ui/devopt.cpp:238
+#, c-format
+msgid " Mahjong inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
+#: src/frontend/mame/ui/devopt.cpp:240
#, c-format
-msgid "romset: %1$-.100s"
-msgstr "romdistribution: %1$-.100s"
+msgid " Hanafuda inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
+#: src/frontend/mame/ui/devopt.cpp:242
#, c-format
-msgid "Driver is clone of: %1$-.100s"
-msgstr "Drivrutinen är klon av: %1$-.100s"
+msgid " Gambling inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
-msgstr "Drivrutinen har kloner"
+#: src/frontend/mame/ui/devopt.cpp:244
+#, c-format
+msgid " Analog inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
+#: src/frontend/mame/ui/devopt.cpp:246
#, c-format
-msgid "%1$s %2$s"
-msgstr "%1$s %2$s"
+msgid " Adjuster inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
-msgstr "Bilder"
+#: src/frontend/mame/ui/devopt.cpp:248
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
-msgstr "Information"
+#: src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
-msgstr "Användning"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* Media Options:\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
-msgstr "Generell Information"
+#: src/frontend/mame/ui/devopt.cpp:257
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
+msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
-msgstr "Användergränssnitt"
+#: src/frontend/mame/ui/devopt.cpp:263
+msgid "* Slot Options:\n"
+msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
-msgstr "Andra kontroller"
+#: src/frontend/mame/ui/devopt.cpp:270
+msgid "[None]\n"
+msgstr ""
#: plugins/timer/init.lua:94
msgid "Current time"
@@ -2742,51 +2661,51 @@ msgstr ""
msgid "Timer"
msgstr ""
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:510
msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheat/init.lua:534
+#: plugins/cheat/init.lua:516
msgid "Press button for hotkey or wait to clear"
msgstr ""
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:528
msgid "None"
msgstr "Ingen"
-#: plugins/cheat/init.lua:551
+#: plugins/cheat/init.lua:533
msgid "Done"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:547 plugins/cheat/init.lua:561
msgid "Set"
msgstr ""
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:580
msgid "Set hotkeys"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:720
#, lua-format
msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:723 plugins/cheat/init.lua:781
#, lua-format
msgid "Activated: %s"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:785
#, lua-format
msgid "Enabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:790
#, lua-format
msgid "Disabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "%s added"
msgstr ""
@@ -2835,304 +2754,219 @@ msgstr "Spelstart"
msgid "MARPScore"
msgstr "MARPScore"
-#: plugins/cheatfind/init.lua:404
+#: plugins/cheatfind/init.lua:373
msgid "Save Cheat"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Default"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Custom"
msgstr ""
-#: plugins/cheatfind/init.lua:408
+#: plugins/cheatfind/init.lua:377
msgid "Cheat Name"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/cheatfind/init.lua:383 plugins/cheatfind/init.lua:748
#, lua-format
msgid "Default name is %s"
msgstr ""
-#: plugins/cheatfind/init.lua:422
+#: plugins/cheatfind/init.lua:391
msgid "Player"
msgstr ""
-#: plugins/cheatfind/init.lua:427
+#: plugins/cheatfind/init.lua:396
msgid "Type"
msgstr ""
-#: plugins/cheatfind/init.lua:433
+#: plugins/cheatfind/init.lua:402
msgid "Save"
msgstr ""
-#: plugins/cheatfind/init.lua:462
+#: plugins/cheatfind/init.lua:429
#, lua-format
msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:472
+#: plugins/cheatfind/init.lua:437
msgid "Cheat added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:442
msgid ""
"Unable to write file\n"
"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/cheatfind/init.lua:486
+#: plugins/cheatfind/init.lua:451
msgid "Cancel"
msgstr ""
-#: plugins/cheatfind/init.lua:491
+#: plugins/cheatfind/init.lua:456
msgid "CPU or RAM"
msgstr ""
-#: plugins/cheatfind/init.lua:495
+#: plugins/cheatfind/init.lua:460
msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:479
+msgid "Data cleared and current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:487
+msgid "Start new search"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:497
+msgid "Current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:504
+msgid "Save current -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
+#: plugins/cheatfind/init.lua:536
#, lua-format
-msgid "Memory State saved to Slot %d"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:543
+msgid "Compare"
msgstr ""
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
+#: plugins/cheatfind/init.lua:546
+msgid "Left operand"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:549
+msgid "Current"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:554
+msgid "Operator"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:561
+msgid "Left less than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:676
+#: plugins/cheatfind/init.lua:563
+msgid "Left greater than right, value is difference"
+msgstr ""
+
+#: plugins/cheatfind/init.lua:565
msgid "Left equal to right"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:567
+msgid "Left not equal to right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:680
+#: plugins/cheatfind/init.lua:569
msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:682
+#: plugins/cheatfind/init.lua:571
msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:684
+#: plugins/cheatfind/init.lua:573
msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:686
+#: plugins/cheatfind/init.lua:575
msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:688
+#: plugins/cheatfind/init.lua:577
msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:690
+#: plugins/cheatfind/init.lua:579
msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/cheatfind/init.lua:590
+msgid "Right operand"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/cheatfind/init.lua:598
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:719
+#: plugins/cheatfind/init.lua:602
msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:725
+#: plugins/cheatfind/init.lua:608
msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:738
-msgid ""
-"Use this if you want to poke the Slot 1 value (eg. You started with "
-"something but lost it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:740
-msgid ""
-"Use this if you want to poke the Last Slot value (eg. You started without an "
-"item but finally got it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:816
+#: plugins/cheatfind/init.lua:632
msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:820
+#: plugins/cheatfind/init.lua:636
msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:823
+#: plugins/cheatfind/init.lua:639
msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheatfind/init.lua:690
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Test cheat at addr %08X"
msgstr ""
-#: plugins/cheatfind/init.lua:974
+#: plugins/cheatfind/init.lua:722
msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
+#: plugins/cheatfind/init.lua:788
msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
+#: plugins/cheatfind/init.lua:806
msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
+#: plugins/cheatfind/init.lua:816
msgid "Cheat Finder"
msgstr ""
-#: plugins/portname/init.lua:103
+#: plugins/portname/init.lua:69
msgid "Save input names to file"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
+#: plugins/portname/init.lua:100 plugins/portname/init.lua:105
+#: plugins/portname/init.lua:121
msgid "Failed to save input name file"
msgstr ""
-#: plugins/portname/init.lua:167
+#: plugins/portname/init.lua:133
#, lua-format
msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/portname/init.lua:172
+#: plugins/portname/init.lua:138
msgid "Input ports"
msgstr ""
diff --git a/language/Thai/strings.po b/language/Thai/strings.po
index d39d1112a46..6cc80208099 100644
--- a/language/Thai/strings.po
+++ b/language/Thai/strings.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MAME\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-03-17 13:37+1100\n"
+"POT-Creation-Date: 2018-04-28 15:32+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -16,1144 +16,1041 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
+#: src/frontend/mame/ui/auditmenu.cpp:96
#, c-format
-msgid "Screen #%d"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Enabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Disabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
-msgid "Marquees"
+#: src/frontend/mame/ui/auditmenu.cpp:99
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/auditmenu.cpp:104
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/auditmenu.cpp:130
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/auditmenu.cpp:142
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/selmenu.cpp:49 src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/selmenu.cpp:50 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/selmenu.cpp:51
+msgid "Control Panels"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/selmenu.cpp:52 src/frontend/mame/ui/dirmenu.cpp:50
+msgid "PCBs"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/selmenu.cpp:53 src/frontend/mame/ui/dirmenu.cpp:47
+msgid "Flyers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/selmenu.cpp:54 src/frontend/mame/ui/dirmenu.cpp:48
+msgid "Titles"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/selmenu.cpp:55 src/frontend/mame/ui/dirmenu.cpp:49
+msgid "Ends"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/selmenu.cpp:56
+msgid "Artwork Preview"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/selmenu.cpp:57 src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Bosses"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/selmenu.cpp:58 src/frontend/mame/ui/dirmenu.cpp:60
+msgid "Logos"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/selmenu.cpp:59 src/frontend/mame/ui/dirmenu.cpp:62
+msgid "Versus"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/selmenu.cpp:60
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/selmenu.cpp:61 src/frontend/mame/ui/dirmenu.cpp:59
+msgid "HowTo"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/selmenu.cpp:62 src/frontend/mame/ui/dirmenu.cpp:61
+msgid "Scores"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/selmenu.cpp:63 src/frontend/mame/ui/dirmenu.cpp:57
+msgid "Select"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/selmenu.cpp:64 src/frontend/mame/ui/dirmenu.cpp:51
+#: src/frontend/mame/ui/videoopt.cpp:224
+msgid "Marquees"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/selmenu.cpp:65 src/frontend/mame/ui/dirmenu.cpp:63
+msgid "Covers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/selmenu.cpp:69
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/selmenu.cpp:70
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/selmenu.cpp:71
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/selmenu.cpp:237
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/selmenu.cpp:343
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/selmenu.cpp:570 src/frontend/mame/ui/selmenu.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:311
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/selmenu.cpp:574
+#, c-format
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/selmenu.cpp:576
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/selmenu.cpp:581
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/selmenu.cpp:586
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/selmenu.cpp:591
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selmenu.cpp:596
+#, c-format
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selmenu.cpp:612
#, c-format
-msgid "Current %1$s Folders"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selmenu.cpp:614
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selmenu.cpp:619
+#: src/frontend/mame/ui/simpleselgame.cpp:330
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selmenu.cpp:621
+#: src/frontend/mame/ui/simpleselgame.cpp:332
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:623
+#: src/frontend/mame/ui/simpleselgame.cpp:334
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:627
+#: src/frontend/mame/ui/simpleselgame.cpp:338
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/selmenu.cpp:629
+#: src/frontend/mame/ui/simpleselgame.cpp:340
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/selmenu.cpp:631
+#: src/frontend/mame/ui/simpleselgame.cpp:342
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/selmenu.cpp:634
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/selmenu.cpp:636
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/selmenu.cpp:638
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/selmenu.cpp:640
+#: src/frontend/mame/ui/simpleselgame.cpp:351
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/selmenu.cpp:650
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/selmenu.cpp:1975
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/selmenu.cpp:1976
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/selmenu.cpp:2386 src/frontend/mame/ui/miscmenu.cpp:826
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/selmenu.cpp:2454
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/selmenu.cpp:2489
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/dirmenu.cpp:35
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/dirmenu.cpp:36
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
-#: src/frontend/mame/ui/slotopt.cpp:220
-msgid "[empty slot]"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/dirmenu.cpp:40
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/dirmenu.cpp:52
+msgid "Controls Panels"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/dirmenu.cpp:53
+msgid "Crosshairs"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Artworks"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks Preview"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "GameOver"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/dirmenu.cpp:116
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/dirmenu.cpp:167
+#, c-format
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/dirmenu.cpp:182
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/dirmenu.cpp:429
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/dirmenu.cpp:513
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/info.cpp:30
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "LAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/info.cpp:180
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/info.cpp:190
+msgid ""
+"There are known problems with this machine\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/info.cpp:195
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/info.cpp:200
+msgid "Completely unemulated features: "
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#, c-format
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#: src/frontend/mame/ui/info.cpp:267
+#, c-format
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/info.cpp:216
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/info.cpp:231
+msgid "Screen flipping in cocktail mode is not supported.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/info.cpp:233
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/info.cpp:235
+msgid ""
+"This machine was never completed. It may exhibit strange behavior or missing "
+"elements that are not bugs in the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/info.cpp:237
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/info.cpp:241
+msgid ""
+"\n"
+"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
+"complete. There is nothing you can do to fix this problem except wait for "
+"the developers to improve the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/info.cpp:243
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they requires physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/info.cpp:265
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/info.cpp:278
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/info.cpp:293
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:149
+#: src/frontend/mame/ui/info.cpp:342
msgid ""
-"The selected game is missing one or more required ROM or CHD images. Please "
-"select a different game.\n"
"\n"
-"Press any key to continue."
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:247
-#, c-format
+#: src/frontend/mame/ui/info.cpp:370
msgid ""
-"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
"\n"
-"If this is your first time using %2$s, please see the config.txt file in the "
-"docs directory for information on configuring %2$s."
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+"Video:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/info.cpp:374
+msgid "None\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/info.cpp:381
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:314
-#: src/frontend/mame/ui/selsoft.cpp:652 src/frontend/mame/ui/selsoft.cpp:659
+#: src/frontend/mame/ui/info.cpp:392
#, c-format
-msgid "%1$-.100s"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:317
-#: src/frontend/mame/ui/selmenu.cpp:618 src/frontend/mame/ui/selmenu.cpp:654
-#, c-format
-msgid "%1$s, %2$-.100s"
+#: src/frontend/mame/ui/info.cpp:392
+msgid "%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
+#: src/frontend/mame/ui/info.cpp:438
#, c-format
-msgid "Driver: %1$-.100s"
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+msgid "Screen '%1$s'"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/info.cpp:440
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/info.cpp:525
+msgid "Not supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/info.cpp:528
+msgid "Partially supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/info.cpp:536
+msgid "[empty]"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/optsmenu.cpp:193
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/optsmenu.cpp:206
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/optsmenu.cpp:207
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/optsmenu.cpp:210 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/optsmenu.cpp:213
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/optsmenu.cpp:216
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/optsmenu.cpp:228
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:337
-msgid "This driver requires images to be loaded in the following device(s): "
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
+msgid "Rewind"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1302
-#, c-format
-msgid ""
-"Are you sure you want to quit?\n"
-"\n"
-"Press ''%1$s'' to quit,\n"
-"Press ''%2$s'' to return to emulation."
+#: src/frontend/mame/ui/inputmap.cpp:53
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/inputmap.cpp:59
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
+#: src/frontend/mame/ui/inputmap.cpp:628 src/frontend/mame/ui/miscmenu.cpp:96
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/selector.cpp:116
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
+#: src/frontend/mame/ui/selector.cpp:124
#, c-format
-msgid "Overclock %1$s sound"
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/filesel.cpp:256
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/swlist.cpp:88
+msgid "[file manager]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/swlist.cpp:228
+msgid "Switch Item Ordering"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
+#: src/frontend/mame/ui/swlist.cpp:259
#, c-format
-msgid "%1$s Horiz Stretch"
+msgid "Switched Order: entries now ordered by %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "shortname"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "description"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/swlist.cpp:389
+msgid "[compatible lists]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/datmenu.cpp:80
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/datmenu.cpp:362
+msgid "Revision: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/simpleselgame.cpp:149
+msgid ""
+"The selected game is missing one or more required ROM or CHD images. Please "
+"select a different game.\n"
+"\n"
+"Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
+#: src/frontend/mame/ui/simpleselgame.cpp:241
#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+msgid ""
+"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
+"\n"
+"If this is your first time using %2$s, please see the config.txt file in the "
+"docs directory for information on configuring %2$s."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/simpleselgame.cpp:271
+#: src/frontend/mame/ui/selgame.cpp:436
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/simpleselgame.cpp:292
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/simpleselgame.cpp:294
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
+#: src/frontend/mame/ui/simpleselgame.cpp:308
+#: src/frontend/mame/ui/selsoft.cpp:564 src/frontend/mame/ui/selsoft.cpp:571
#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/simpleselgame.cpp:314
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
+#: src/frontend/mame/ui/videoopt.cpp:56
#, c-format
-msgid "Crosshair Offset %1$s"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/videoopt.cpp:208
+msgid "Backdrops"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Enabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Disabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
-#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
-#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
-#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
-#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
-#: src/frontend/mame/ui/ui.cpp:1927
-#, c-format
-msgid "%1$.3f"
+#: src/frontend/mame/ui/videoopt.cpp:212
+msgid "Overlays"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
-#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
-#, c-format
-msgid "%1$1.2f"
+#: src/frontend/mame/ui/videoopt.cpp:216
+msgid "Bezels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:220
+msgid "CPanels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "View"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cropped"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Full"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1047
+msgid "No"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
-msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1047
+msgid "Yes"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
-msgid ""
-"Cheat Comment:\n"
-"%s"
+#: src/frontend/mame/ui/filecreate.cpp:171
+msgid "New Image Name:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/filecreate.cpp:177
+msgid "Image Format:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/filecreate.cpp:183
+msgid "Create"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/filecreate.cpp:266
+msgid "Select image format"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Keyboard Mode:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Natural"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Emulated"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
+#: src/frontend/mame/ui/miscmenu.cpp:236
#, c-format
msgid ""
-"%s\n"
-" added to favorites list."
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
+#: src/frontend/mame/ui/miscmenu.cpp:238
#, c-format
msgid ""
-"%s\n"
-" removed from favorites list."
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/miscmenu.cpp:242
+#, c-format
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
+"Tickets dispensed: %1$d\n"
"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
+#: src/frontend/mame/ui/miscmenu.cpp:253
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/miscmenu.cpp:253
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
-#, c-format
-msgid "Driver: \"%1$s\" software list "
+#: src/frontend/mame/ui/miscmenu.cpp:256
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
-#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+#: src/frontend/mame/ui/miscmenu.cpp:503
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/miscmenu.cpp:601
#, c-format
-msgid "Search: %1$s_"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
-msgid "Unfiltered"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
-msgid "Available"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
-msgid "Unavailable"
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
-msgid "Working"
+#: src/frontend/mame/ui/miscmenu.cpp:627
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
-msgid "Not Working"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
-msgid "Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:655
+msgid "Export list in XML format (like -listxml)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
-msgid "Not Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:656
+msgid "Export list in XML format (like -listxml, but exclude devices)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
-msgid "Category"
+#: src/frontend/mame/ui/miscmenu.cpp:657
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
-msgid "Favorites"
+#: src/frontend/mame/ui/miscmenu.cpp:710 src/frontend/mame/ui/ui.cpp:2230
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/miscmenu.cpp:760 src/frontend/mame/ui/utils.cpp:66
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
-msgid "Not BIOS"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
-msgid "Parents"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
-msgid "Clones"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:73
-msgid "Manufacturer"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
-msgid "Year"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:75
-msgid "Save Supported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:76
-msgid "Save Unsupported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:77
-msgid "CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:78
-msgid "No CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:79
-msgid "Vertical Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:80
-msgid "Horizontal Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
-msgid "Custom Filter"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:91
-msgid "Publisher"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:92
-msgid "Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:764
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
-msgid "Partially Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:767
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
-msgid "Unsupported"
+#: src/frontend/mame/ui/miscmenu.cpp:776 src/frontend/mame/ui/mainmenu.cpp:145
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
-msgid "Release Region"
+#: src/frontend/mame/ui/miscmenu.cpp:778 src/frontend/mame/ui/mainmenu.cpp:147
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
-msgid "Device Type"
+#: src/frontend/mame/ui/miscmenu.cpp:781
+msgid "Save machine configuration"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
-msgid "Software List"
+#: src/frontend/mame/ui/miscmenu.cpp:792
+msgid "Configure machine:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
-msgid "<set up filters>"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:736
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:551 plugins/cheatfind/init.lua:619
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
-msgid "Select custom filters:"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:739
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:554 plugins/cheat/init.lua:563
+#: plugins/cheatfind/init.lua:616
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
-#, c-format
-msgid "Filter %1$u"
+#: src/frontend/mame/ui/miscmenu.cpp:909 src/frontend/mame/ui/selgame.cpp:441
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
-msgid "Remove last filter"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
-msgid "Add filter"
+#: src/frontend/mame/ui/barcode.cpp:78
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
-msgid "Select category:"
+#: src/frontend/mame/ui/barcode.cpp:119
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
-msgid "[no category INI files]"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:99
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
-msgid "[no groups in INI file]"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
-msgid "No category INI files found"
+#: src/frontend/mame/ui/mainmenu.cpp:60
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
-msgid "File"
+#: src/frontend/mame/ui/mainmenu.cpp:62
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
-msgid "No groups found in category file"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
-msgid "Group"
+#: src/frontend/mame/ui/mainmenu.cpp:68
+msgid "Dip Switches"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
-msgid "Include clones"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
+#: src/frontend/mame/ui/mainmenu.cpp:78
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/mainmenu.cpp:85
+msgid "Image Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/mainmenu.cpp:96
+msgid "Tape Control"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/mainmenu.cpp:102
+msgid "BIOS Selection"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/mainmenu.cpp:106
+msgid "Slot Devices"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
-#, c-format
-msgid "%s [internal]"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Barcode Reader"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:203 src/frontend/mame/ui/miscmenu.cpp:97
-#: src/frontend/mame/ui/inputmap.cpp:615
-msgid "Reset"
+#: src/frontend/mame/ui/mainmenu.cpp:114
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/mainmenu.cpp:118
+msgid "Keyboard Mode"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/mainmenu.cpp:121
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/mainmenu.cpp:124 src/frontend/mame/ui/submenu.cpp:101
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/mainmenu.cpp:128
+msgid "Crosshair Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/mainmenu.cpp:132 plugins/cheat/init.lua:735
+msgid "Cheat"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:762
-#: plugins/cheat/init.lua:569 plugins/cheatfind/init.lua:792
-#: plugins/cheatfind/init.lua:803
-msgid "On"
+#: src/frontend/mame/ui/mainmenu.cpp:135
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:765
-#: plugins/cheat/init.lua:572 plugins/cheat/init.lua:581
-#: plugins/cheatfind/init.lua:789 plugins/cheatfind/init.lua:800
-msgid "Off"
+#: src/frontend/mame/ui/mainmenu.cpp:139
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/mainmenu.cpp:154
+msgid "Select New Machine"
msgstr ""
#: src/frontend/mame/ui/custui.cpp:31
@@ -1376,1281 +1273,1303 @@ msgstr ""
msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/submenu.cpp:22
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/submenu.cpp:23
+msgid "Re-select last machine played"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/submenu.cpp:24
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:26
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:27
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:28
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:29
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:30
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
-#, c-format
-msgid "%s.txt saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/submenu.cpp:45
+msgid "Refresh speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/submenu.cpp:47
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/submenu.cpp:49
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
-msgid "Configure Machine"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
-#, c-format
-msgid "Romset\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
-#, c-format
-msgid "Year\t%1$s\n"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
-#, c-format
-msgid "Manufacturer\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
-#, c-format
-msgid "Driver is Clone of\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1044
-msgid "Driver is Parent\t\n"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
-msgid "Analog Controls\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Artwork Crop"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
-msgid "Keyboard Inputs\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Use Backdrops"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
-msgid "Overall\tNOT WORKING\n"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Use Overlays"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
-msgid "Overall\tUnemulated Protection\n"
+#: src/frontend/mame/ui/submenu.cpp:60
+msgid "Use Bezels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
-msgid "Overall\tWorking\n"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Use Control Panels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
-msgid "Graphics\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:62
+msgid "Use Marquees"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
-msgid "Graphics\tWrong Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
-msgid "Graphics\tImperfect Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
-msgid "Graphics\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
-msgid "Graphics\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Bilinear snapshot"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
-msgid "Sound\tNone\n"
+#: src/frontend/mame/ui/submenu.cpp:69
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
-msgid "Sound\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
-msgid "Sound\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:72
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
-msgid "Sound\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
-msgid "Capture\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
-msgid "Capture\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
-msgid "Camera\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
-msgid "Camera\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
-msgid "Microphone\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
-msgid "Microphone\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:79
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
-msgid "Controls\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
-msgid "Controls\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
-msgid "Keyboard\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Joystick saturation"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
-msgid "Keyboard\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Natural keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
-msgid "Mouse\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
-msgid "Mouse\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
-msgid "Media\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
-msgid "Media\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Lightgun Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
-msgid "Disk\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Trackball Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
-msgid "Disk\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
-msgid "Printer\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
-msgid "Printer\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
-msgid "Mag. Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:95
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
-msgid "Mag. Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:96
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
-msgid "Punch Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:97
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
-msgid "Punch Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
-msgid "Mag. Drum\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:103
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
-msgid "Mag. Drum\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
-msgid "(EP)ROM\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
-msgid "(EP)ROM\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
-msgid "Communications\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:109
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
-msgid "Communications\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:110
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
-msgid "LAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:111
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
-msgid "LAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:112
+msgid "Enforce Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
-msgid "WAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:113
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
-msgid "WAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:114
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
-msgid "Timing\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
-msgid "Timing\tImperfect\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tYes\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Select position to load from"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tNo\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tYes\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Select position to save to"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tNo\n"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:309 src/frontend/mame/ui/selsoft.cpp:211
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:314 src/frontend/mame/ui/selgame.cpp:320
+#: src/frontend/mame/ui/selsoft.cpp:216
+#, c-format
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:437
+msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:849
+#, c-format
+msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:850
+#, c-format
+msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:851
+#, c-format
+msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:855
+#, c-format
+msgid "Driver is Clone of\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:857
+msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tVertical\n"
+#: src/frontend/mame/ui/selgame.cpp:860
+msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tHorizontal\n"
+#: src/frontend/mame/ui/selgame.cpp:862
+msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:865
+msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:867
+msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
-msgid "ROM Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:869
+msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
-msgid "ROM Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:872
+msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
-msgid "Samples Audit Result\tNone Needed\n"
+#: src/frontend/mame/ui/selgame.cpp:874
+msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
-msgid "Samples Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:876
+msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
-msgid "Samples Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:878
+msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
-msgid ""
-"ROM Audit \tDisabled\n"
-"Samples Audit \tDisabled\n"
+#: src/frontend/mame/ui/selgame.cpp:880
+msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
+#: src/frontend/mame/ui/selgame.cpp:883
+msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1424
-#, c-format
-msgid "Romset: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:885
+msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
-#, c-format
-msgid "System: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:887
+msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1465
-msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
+#: src/frontend/mame/ui/selgame.cpp:889
+msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
+#: src/frontend/mame/ui/selgame.cpp:892
+msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
+#: src/frontend/mame/ui/selgame.cpp:894
+msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
+#: src/frontend/mame/ui/selgame.cpp:897
+msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
+#: src/frontend/mame/ui/selgame.cpp:899
+msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
+#: src/frontend/mame/ui/selgame.cpp:902
+msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selgame.cpp:904
+msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selgame.cpp:907
+msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/selgame.cpp:909
+msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/selgame.cpp:912
+msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/selgame.cpp:914
+msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/selgame.cpp:917
+msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/selgame.cpp:919
+msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/selgame.cpp:922
+msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/selgame.cpp:924
+msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/selgame.cpp:927
+msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/selgame.cpp:929
+msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/selgame.cpp:932
+msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/selgame.cpp:934
+msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/selgame.cpp:937
+msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/selgame.cpp:939
+msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/selgame.cpp:970
+msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/selgame.cpp:972
+msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/selgame.cpp:975
+msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/selgame.cpp:977
+msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/selgame.cpp:979
+msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/selgame.cpp:983
+msgid ""
+"ROM Audit \tDisabled\n"
+"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/selgame.cpp:1167
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/selgame.cpp:1183 src/frontend/mame/ui/selsoft.cpp:555
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/selgame.cpp:1185 src/frontend/mame/ui/selsoft.cpp:557
+#, c-format
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/selgame.cpp:1195
+#, c-format
+msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/selgame.cpp:1202
+#, c-format
+msgid "System: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/selgame.cpp:1239
+msgid ""
+"The selected machine is missing one or more required ROM or CHD images. "
+"Please select a different machine.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/selgame.cpp:1245 src/frontend/mame/ui/selsoft.cpp:462
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/utils.cpp:57 src/frontend/mame/ui/utils.cpp:81
+msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/utils.cpp:58 src/frontend/mame/ui/utils.cpp:82
+msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/utils.cpp:59 src/frontend/mame/ui/utils.cpp:83
+msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/utils.cpp:60
+msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/utils.cpp:61
+msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/utils.cpp:62
+msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:63
+msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:64
+msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:65
+msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:67
+msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:84
+msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/utils.cpp:85
+msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:70
+msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:86
+msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/utils.cpp:72
+msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/utils.cpp:73
+msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/utils.cpp:74
+msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/utils.cpp:75
+msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/utils.cpp:76
+msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/utils.cpp:77
+msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/utils.cpp:78 src/frontend/mame/ui/utils.cpp:94
+msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/utils.cpp:87
+msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/utils.cpp:88
+msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/utils.cpp:89
+msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/utils.cpp:90
+msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/utils.cpp:91
+msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:43
-#, c-format
-msgid ""
-"[This option is currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"The selected option enables the following items:\n"
+#: src/frontend/mame/ui/utils.cpp:92
+msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:44
-#, c-format
-msgid ""
-"[This option is NOT currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"If you select this option, the following items will be enabled:\n"
+#: src/frontend/mame/ui/utils.cpp:93
+msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/utils.cpp:244
+msgid "<set up filters>"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:352
+msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/utils.cpp:503
#, c-format
-msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
-msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:518
+msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %3$d.%4$06d MHz\n"
+#: src/frontend/mame/ui/utils.cpp:520
+msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:959
+msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/utils.cpp:990
+msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/utils.cpp:998
+msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:103
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1032
+msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1037
+msgid "File"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/utils.cpp:1041
+msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
-#, c-format
-msgid " %1$d×%2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1046
+msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1047
+msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:168
-#, c-format
+#: src/frontend/mame/ui/selsoft.cpp:456
msgid ""
-"* BIOS settings:\n"
-" %1$d options [default: %2$s]\n"
+"The selected software is missing one or more required files. Please select a "
+"different software.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:208 src/frontend/mame/ui/devopt.cpp:224
-#: src/frontend/mame/ui/devopt.cpp:269
+#: src/frontend/mame/ui/selsoft.cpp:549
#, c-format
-msgid " %1$s [default: %2$s]\n"
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
+#: src/frontend/mame/ui/selsoft.cpp:550
#, c-format
-msgid " %1$s\n"
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:260
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:419
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/filesel.cpp:515
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:516
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:518
+msgid "Read-write"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
-#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:519
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:520
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:117
+msgid "Cannot save over directory"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:150
+msgid ""
+"The software selected is missing one or more required ROM or CHD images. "
+"Please select a different one."
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:294
+msgid "Return to Machine"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
-#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:299 src/frontend/mame/ui/menu.cpp:301
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+#: src/frontend/mame/ui/menu.cpp:306 src/frontend/mame/ui/menu.cpp:308
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
-#, c-format
-msgid " %1$s [tag: %2$s]\n"
+#: src/frontend/mame/ui/menu.cpp:742
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
+#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:653
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+#: src/frontend/mame/ui/cheatopt.cpp:105
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/cheatopt.cpp:136
+msgid "Autofire Settings"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:581
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:582
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
+#: src/frontend/mame/ui/cheatopt.cpp:273
+msgid "Autofire Status"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
+#: src/frontend/mame/ui/cheatopt.cpp:316
+msgid "No buttons found on this machine!"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+#: src/frontend/mame/ui/cheatopt.cpp:327 src/frontend/mame/ui/cheatopt.cpp:331
+msgid "Autofire Delay"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
-msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
+#: src/frontend/mame/ui/ui.cpp:337
+msgid "This driver requires images to be loaded in the following device(s): "
msgstr ""
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
+#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
+msgid "Keyboard Emulation Status"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
+#: src/frontend/mame/ui/ui.cpp:1086
+msgid "Mode: PARTIAL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
+#: src/frontend/mame/ui/ui.cpp:1087
+msgid "UI: Enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
+#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
+msgid "**Use ScrLock to toggle**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
+#: src/frontend/mame/ui/ui.cpp:1096
+msgid "Mode: FULL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: src/frontend/mame/ui/ui.cpp:1097
+msgid "UI: Disabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
+#: src/frontend/mame/ui/ui.cpp:1249
+msgid "Autofire can't be enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
+#: src/frontend/mame/ui/ui.cpp:1302
+#, c-format
+msgid ""
+"Are you sure you want to quit?\n"
+"\n"
+"Press ''%1$s'' to quit,\n"
+"Press ''%2$s'' to return to emulation."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
+#: src/frontend/mame/ui/ui.cpp:1374
+msgid "Master Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
+#: src/frontend/mame/ui/ui.cpp:1383
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/ui.cpp:1407
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/ui.cpp:1416
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/ui.cpp:1437
+#, c-format
+msgid "%1$s Refresh Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, c-format
+msgid "%1$s Brightness"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1444
+#, c-format
+msgid "%1$s Contrast"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1446
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/ui.cpp:1450
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/ui.cpp:1452
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/ui.cpp:1454
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/ui.cpp:1456
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/ui.cpp:1475
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/ui.cpp:1477
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/ui.cpp:1479
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
-msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+#: src/frontend/mame/ui/ui.cpp:1481
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:198
-msgid ""
-"There are known problems with this machine\n"
-"\n"
+#: src/frontend/mame/ui/ui.cpp:1493
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/ui.cpp:1494
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/ui.cpp:1495
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
+#: src/frontend/mame/ui/ui.cpp:1496
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#: src/frontend/mame/ui/info.cpp:275
+#: src/frontend/mame/ui/ui.cpp:1511
#, c-format
-msgid ", %s"
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
+#: src/frontend/mame/ui/ui.cpp:1513
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:243
-msgid ""
-"This machine was never completed. It may exhibit strange behavior or missing "
-"elements that are not bugs in the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1601
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:245
-msgid ""
-"This machine has no sound hardware, MAME will produce no sounds, this is "
-"expected behaviour.\n"
+#: src/frontend/mame/ui/ui.cpp:1645
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:249
-msgid ""
-"\n"
-"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
-"complete. There is nothing you can do to fix this problem except wait for "
-"the developers to improve the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1661
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:251
-msgid ""
-"\n"
-"Elements of this machine cannot be emulated as they requires physical "
-"interaction or consist of mechanical devices. It is not possible to fully "
-"experience this machine.\n"
+#: src/frontend/mame/ui/ui.cpp:1685
+#, c-format
+msgid "%1$.3ffps"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
+#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
+#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
+#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
+#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
+#: src/frontend/mame/ui/ui.cpp:1927
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
+#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/ui.cpp:2005
#, c-format
-msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/ui.cpp:2226
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " COLORS"
+msgstr ""
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:39
#, c-format
-msgid "%1$s: %2$s\n"
+msgid ""
+"[This option is currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"The selected option enables the following items:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+#: src/frontend/mame/ui/devopt.cpp:40
+#, c-format
+msgid ""
+"[This option is NOT currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"If you select this option, the following items will be enabled:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:48
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
#, c-format
-msgid "Screen '%1$s'"
+msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
+msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:85
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:90
+#, c-format
+msgid " Screen '%1$s': Vector\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:99
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:100
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:113
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:133
+#, c-format
+msgid " %1$d×%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:164
+#, c-format
+msgid ""
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:204 src/frontend/mame/ui/devopt.cpp:220
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
+#: src/frontend/mame/ui/devopt.cpp:209 src/frontend/mame/ui/devopt.cpp:225
#, c-format
-msgid "Software is clone of: %1$-.100s"
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: src/frontend/mame/ui/devopt.cpp:230
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: src/frontend/mame/ui/devopt.cpp:232
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: src/frontend/mame/ui/devopt.cpp:234
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: src/frontend/mame/ui/devopt.cpp:236
+#, c-format
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
+#: src/frontend/mame/ui/devopt.cpp:238
#, c-format
-msgid "romset: %1$-.100s"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
+#: src/frontend/mame/ui/devopt.cpp:240
#, c-format
-msgid "Driver is clone of: %1$-.100s"
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: src/frontend/mame/ui/devopt.cpp:242
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
+#: src/frontend/mame/ui/devopt.cpp:244
#, c-format
-msgid "%1$s %2$s"
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: src/frontend/mame/ui/devopt.cpp:246
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: src/frontend/mame/ui/devopt.cpp:248
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: src/frontend/mame/ui/devopt.cpp:257
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: src/frontend/mame/ui/devopt.cpp:263
+msgid "* Slot Options:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:270
+msgid "[None]\n"
msgstr ""
#: plugins/timer/init.lua:94
@@ -2669,51 +2588,51 @@ msgstr ""
msgid "Timer"
msgstr ""
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:510
msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheat/init.lua:534
+#: plugins/cheat/init.lua:516
msgid "Press button for hotkey or wait to clear"
msgstr ""
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:528
msgid "None"
msgstr ""
-#: plugins/cheat/init.lua:551
+#: plugins/cheat/init.lua:533
msgid "Done"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:547 plugins/cheat/init.lua:561
msgid "Set"
msgstr ""
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:580
msgid "Set hotkeys"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:720
#, lua-format
msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:723 plugins/cheat/init.lua:781
#, lua-format
msgid "Activated: %s"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:785
#, lua-format
msgid "Enabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:790
#, lua-format
msgid "Disabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "%s added"
msgstr ""
@@ -2762,303 +2681,218 @@ msgstr ""
msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:404
+#: plugins/cheatfind/init.lua:373
msgid "Save Cheat"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Default"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Custom"
msgstr ""
-#: plugins/cheatfind/init.lua:408
+#: plugins/cheatfind/init.lua:377
msgid "Cheat Name"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/cheatfind/init.lua:383 plugins/cheatfind/init.lua:748
#, lua-format
msgid "Default name is %s"
msgstr ""
-#: plugins/cheatfind/init.lua:422
+#: plugins/cheatfind/init.lua:391
msgid "Player"
msgstr ""
-#: plugins/cheatfind/init.lua:427
+#: plugins/cheatfind/init.lua:396
msgid "Type"
msgstr ""
-#: plugins/cheatfind/init.lua:433
+#: plugins/cheatfind/init.lua:402
msgid "Save"
msgstr ""
-#: plugins/cheatfind/init.lua:462
+#: plugins/cheatfind/init.lua:429
#, lua-format
msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:472
+#: plugins/cheatfind/init.lua:437
msgid "Cheat added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:442
msgid ""
"Unable to write file\n"
"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/cheatfind/init.lua:486
+#: plugins/cheatfind/init.lua:451
msgid "Cancel"
msgstr ""
-#: plugins/cheatfind/init.lua:491
+#: plugins/cheatfind/init.lua:456
msgid "CPU or RAM"
msgstr ""
-#: plugins/cheatfind/init.lua:495
+#: plugins/cheatfind/init.lua:460
msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:479
+msgid "Data cleared and current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:487
+msgid "Start new search"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:497
+msgid "Current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:504
+msgid "Save current -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
+#: plugins/cheatfind/init.lua:536
#, lua-format
-msgid "Memory State saved to Slot %d"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:543
+msgid "Compare"
msgstr ""
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
+#: plugins/cheatfind/init.lua:546
+msgid "Left operand"
+msgstr ""
+
+#: plugins/cheatfind/init.lua:549
+msgid "Current"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:554
+msgid "Operator"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:561
+msgid "Left less than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:563
+msgid "Left greater than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:676
+#: plugins/cheatfind/init.lua:565
msgid "Left equal to right"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:567
+msgid "Left not equal to right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:680
+#: plugins/cheatfind/init.lua:569
msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:682
+#: plugins/cheatfind/init.lua:571
msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:684
+#: plugins/cheatfind/init.lua:573
msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:686
+#: plugins/cheatfind/init.lua:575
msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:688
+#: plugins/cheatfind/init.lua:577
msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:690
+#: plugins/cheatfind/init.lua:579
msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/cheatfind/init.lua:590
+msgid "Right operand"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/cheatfind/init.lua:598
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:719
+#: plugins/cheatfind/init.lua:602
msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:725
+#: plugins/cheatfind/init.lua:608
msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:738
-msgid ""
-"Use this if you want to poke the Slot 1 value (eg. You started with "
-"something but lost it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:740
-msgid ""
-"Use this if you want to poke the Last Slot value (eg. You started without an "
-"item but finally got it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:816
+#: plugins/cheatfind/init.lua:632
msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:820
+#: plugins/cheatfind/init.lua:636
msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:823
+#: plugins/cheatfind/init.lua:639
msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheatfind/init.lua:690
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Test cheat at addr %08X"
msgstr ""
-#: plugins/cheatfind/init.lua:974
+#: plugins/cheatfind/init.lua:722
msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
+#: plugins/cheatfind/init.lua:788
msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
+#: plugins/cheatfind/init.lua:806
msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
+#: plugins/cheatfind/init.lua:816
msgid "Cheat Finder"
msgstr ""
-#: plugins/portname/init.lua:103
+#: plugins/portname/init.lua:69
msgid "Save input names to file"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
+#: plugins/portname/init.lua:100 plugins/portname/init.lua:105
+#: plugins/portname/init.lua:121
msgid "Failed to save input name file"
msgstr ""
-#: plugins/portname/init.lua:167
+#: plugins/portname/init.lua:133
#, lua-format
msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/portname/init.lua:172
+#: plugins/portname/init.lua:138
msgid "Input ports"
msgstr ""
diff --git a/language/Turkish/strings.po b/language/Turkish/strings.po
index 7f27db0b790..e1d1e871e40 100644
--- a/language/Turkish/strings.po
+++ b/language/Turkish/strings.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MAME\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-03-17 13:37+1100\n"
+"POT-Creation-Date: 2018-04-28 15:32+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -18,62 +18,237 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
+#: src/frontend/mame/ui/auditmenu.cpp:96
#, c-format
-msgid "Screen #%d"
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
+#: src/frontend/mame/ui/auditmenu.cpp:99
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr ""
+#: src/frontend/mame/ui/auditmenu.cpp:104
+#, c-format
+msgid "(results will be saved to %1$s)"
+msgstr "(sonuçlar %1$s 'a kaydedilecek)"
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Enabled"
+#: src/frontend/mame/ui/auditmenu.cpp:130
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Disabled"
-msgstr ""
+#: src/frontend/mame/ui/auditmenu.cpp:142
+msgid "Start Audit"
+msgstr "Denetlemeyi BaÅŸlat"
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr ""
+#: src/frontend/mame/ui/selmenu.cpp:49 src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Snapshots"
+msgstr "Ekran Görüntüleri"
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
+#: src/frontend/mame/ui/selmenu.cpp:50 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
-msgstr ""
+#: src/frontend/mame/ui/selmenu.cpp:51
+msgid "Control Panels"
+msgstr "Kontrol Panelleri"
+
+#: src/frontend/mame/ui/selmenu.cpp:52 src/frontend/mame/ui/dirmenu.cpp:50
+msgid "PCBs"
+msgstr "Anakartlar"
+
+#: src/frontend/mame/ui/selmenu.cpp:53 src/frontend/mame/ui/dirmenu.cpp:47
+msgid "Flyers"
+msgstr "Posterler"
+
+#: src/frontend/mame/ui/selmenu.cpp:54 src/frontend/mame/ui/dirmenu.cpp:48
+msgid "Titles"
+msgstr "Başlıklar"
+
+#: src/frontend/mame/ui/selmenu.cpp:55 src/frontend/mame/ui/dirmenu.cpp:49
+msgid "Ends"
+msgstr "Sonlar"
+
+#: src/frontend/mame/ui/selmenu.cpp:56
+msgid "Artwork Preview"
+msgstr "Sanat Eseri Önizleme"
+
+#: src/frontend/mame/ui/selmenu.cpp:57 src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Bosses"
+msgstr "Patronlar"
+
+#: src/frontend/mame/ui/selmenu.cpp:58 src/frontend/mame/ui/dirmenu.cpp:60
+msgid "Logos"
+msgstr "Logolar"
+
+#: src/frontend/mame/ui/selmenu.cpp:59 src/frontend/mame/ui/dirmenu.cpp:62
+msgid "Versus"
+msgstr "Karşılaşma"
+
+#: src/frontend/mame/ui/selmenu.cpp:60
+msgid "Game Over"
+msgstr "Oyun Bitti"
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
+#: src/frontend/mame/ui/selmenu.cpp:61 src/frontend/mame/ui/dirmenu.cpp:59
+msgid "HowTo"
+msgstr "Nasıl"
+
+#: src/frontend/mame/ui/selmenu.cpp:62 src/frontend/mame/ui/dirmenu.cpp:61
+msgid "Scores"
+msgstr "Puanlar"
+
+#: src/frontend/mame/ui/selmenu.cpp:63 src/frontend/mame/ui/dirmenu.cpp:57
+msgid "Select"
+msgstr "Seç"
+
+#: src/frontend/mame/ui/selmenu.cpp:64 src/frontend/mame/ui/dirmenu.cpp:51
+#: src/frontend/mame/ui/videoopt.cpp:224
msgid "Marquees"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/selmenu.cpp:65 src/frontend/mame/ui/dirmenu.cpp:63
+msgid "Covers"
+msgstr "Kapaklar"
+
+#: src/frontend/mame/ui/selmenu.cpp:69
+msgid "Add or remove favorites"
+msgstr "Beğenilenlere ekle veya kaldır"
+
+#: src/frontend/mame/ui/selmenu.cpp:70
+msgid "Export displayed list to file"
+msgstr "Gösterilen dosya listesini dışa aktar"
+
+#: src/frontend/mame/ui/selmenu.cpp:71
+msgid "Show DATs view"
+msgstr "DAT görünümünü göster"
+
+#: src/frontend/mame/ui/selmenu.cpp:237
+msgid "Software part selection:"
+msgstr "Yazılım parça seçimi:"
+
+#: src/frontend/mame/ui/selmenu.cpp:343
+msgid "BIOS selection:"
+msgstr "BIOS seçimi:"
+
+#: src/frontend/mame/ui/selmenu.cpp:570 src/frontend/mame/ui/selmenu.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:311
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/selmenu.cpp:574
+#, c-format
+msgid "Software is clone of: %1$-.100s"
+msgstr "Yazılım şunun kopyasıdır: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:576
+msgid "Software is parent"
+msgstr "Yazılım esastır"
+
+#: src/frontend/mame/ui/selmenu.cpp:581
+msgid "Supported: No"
+msgstr "Destekleniyor: Hayır"
+
+#: src/frontend/mame/ui/selmenu.cpp:586
+msgid "Supported: Partial"
+msgstr "Destekleniyor: Kısmen"
+
+#: src/frontend/mame/ui/selmenu.cpp:591
+msgid "Supported: Yes"
+msgstr "Destekleniyor: Evet"
+
+#: src/frontend/mame/ui/selmenu.cpp:596
+#, c-format
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/selmenu.cpp:612
+#, c-format
+msgid "Driver is clone of: %1$-.100s"
+msgstr "Sürücü şunun kopyasıdır: %1$-.100s"
+
+#: src/frontend/mame/ui/selmenu.cpp:614
+msgid "Driver is parent"
+msgstr "Sürücü esastır"
+
+#: src/frontend/mame/ui/selmenu.cpp:619
+#: src/frontend/mame/ui/simpleselgame.cpp:330
+msgid "Overall: NOT WORKING"
+msgstr "Genel olarak: ÇALIŞMIYOR"
+
+#: src/frontend/mame/ui/selmenu.cpp:621
+#: src/frontend/mame/ui/simpleselgame.cpp:332
+msgid "Overall: Unemulated Protection"
+msgstr "Genel olarak: Uygulanmamış Koruma"
+
+#: src/frontend/mame/ui/selmenu.cpp:623
+#: src/frontend/mame/ui/simpleselgame.cpp:334
+msgid "Overall: Working"
+msgstr "Genel olarak: Çalışıyor"
+
+#: src/frontend/mame/ui/selmenu.cpp:627
+#: src/frontend/mame/ui/simpleselgame.cpp:338
+msgid "Graphics: Unimplemented, "
+msgstr "Grafik: Uygulanmamış"
+
+#: src/frontend/mame/ui/selmenu.cpp:629
+#: src/frontend/mame/ui/simpleselgame.cpp:340
+msgid "Graphics: Imperfect, "
+msgstr "Grafik: Kusurlu"
+
+#: src/frontend/mame/ui/selmenu.cpp:631
+#: src/frontend/mame/ui/simpleselgame.cpp:342
+msgid "Graphics: OK, "
+msgstr "Grafik: Tamam"
+
+#: src/frontend/mame/ui/selmenu.cpp:634
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+msgid "Sound: None"
+msgstr "Ses: Yok"
+
+#: src/frontend/mame/ui/selmenu.cpp:636
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+msgid "Sound: Unimplemented"
+msgstr "Ses: Uygulanmamış"
+
+#: src/frontend/mame/ui/selmenu.cpp:638
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+msgid "Sound: Imperfect"
+msgstr "Ses: Kusurlu"
+
+#: src/frontend/mame/ui/selmenu.cpp:640
+#: src/frontend/mame/ui/simpleselgame.cpp:351
+msgid "Sound: OK"
+msgstr "Ses: Tamam"
+
+#: src/frontend/mame/ui/selmenu.cpp:650
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
+#: src/frontend/mame/ui/selmenu.cpp:1975
+msgid "Images"
+msgstr "Görüntüler"
+
+#: src/frontend/mame/ui/selmenu.cpp:1976
+msgid "Infos"
+msgstr "Bilgiler"
+
+#: src/frontend/mame/ui/selmenu.cpp:2386 src/frontend/mame/ui/miscmenu.cpp:826
+msgid " (default)"
+msgstr " (varsayılan)"
+
+#: src/frontend/mame/ui/selmenu.cpp:2454
+msgid "Usage"
+msgstr "Kullanım"
+
+#: src/frontend/mame/ui/selmenu.cpp:2489
+msgid "General Info"
+msgstr "Genel Bilgi"
+
#: src/frontend/mame/ui/dirmenu.cpp:35
msgid "ROMs"
msgstr "ROMlar"
@@ -114,30 +289,6 @@ msgstr "Simgeler"
msgid "Cheats"
msgstr "Hileler"
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
-msgstr "Ekran Görüntüleri"
-
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
-msgstr ""
-
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
-msgstr "Posterler"
-
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
-msgstr "Başlıklar"
-
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
-msgstr "Sonlar"
-
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
-msgstr "Anakartlar"
-
#: src/frontend/mame/ui/dirmenu.cpp:52
msgid "Controls Panels"
msgstr "Kontrol Panelleri"
@@ -150,42 +301,14 @@ msgstr "NiÅŸan"
msgid "Artworks"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
-msgstr "Patronlar"
-
#: src/frontend/mame/ui/dirmenu.cpp:56
msgid "Artworks Preview"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
-msgstr "Seç"
-
#: src/frontend/mame/ui/dirmenu.cpp:58
msgid "GameOver"
msgstr "OyunBitti"
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
-msgstr "Nasıl"
-
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
-msgstr "Logolar"
-
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
-msgstr "Puanlar"
-
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
-msgstr "Karşılaşma"
-
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
-msgstr "Kapaklar"
-
#: src/frontend/mame/ui/dirmenu.cpp:116
msgid "Folders Setup"
msgstr "Dizin Ayarı"
@@ -226,941 +349,715 @@ msgstr "Ayarlamak için TAB'a basın"
msgid "Remove %1$s Folder"
msgstr "%1$s dizini kaldır"
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
-msgstr ""
-
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
-msgstr ""
-
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
-msgstr ""
-
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
-msgstr ""
-
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
-msgstr ""
+#: src/frontend/mame/ui/info.cpp:30
+msgid "protection"
+msgstr "koruma"
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
-msgstr ""
+#: src/frontend/mame/ui/info.cpp:31
+msgid "color palette"
+msgstr "renk paleti"
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
-msgstr ""
+#: src/frontend/mame/ui/info.cpp:32
+msgid "graphics"
+msgstr "grafikler"
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
-msgstr ""
+#: src/frontend/mame/ui/info.cpp:33
+msgid "sound"
+msgstr "ses"
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
-msgstr ""
+#: src/frontend/mame/ui/info.cpp:34
+msgid "controls"
+msgstr "kontroller"
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
-msgstr ""
+#: src/frontend/mame/ui/info.cpp:35
+msgid "keyboard"
+msgstr "klavye"
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
-msgstr ""
+#: src/frontend/mame/ui/info.cpp:36
+msgid "mouse"
+msgstr "fare"
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
-msgstr ""
+#: src/frontend/mame/ui/info.cpp:37
+msgid "microphone"
+msgstr "mikrofon"
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
-#: src/frontend/mame/ui/slotopt.cpp:220
-msgid "[empty slot]"
-msgstr ""
+#: src/frontend/mame/ui/info.cpp:38
+msgid "camera"
+msgstr "kamera"
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
-msgstr ""
+#: src/frontend/mame/ui/info.cpp:39
+msgid "disk"
+msgstr "disk"
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
-msgstr "[yazılım listesi]"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "printer"
+msgstr "yazıcı"
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
-msgstr ""
+#: src/frontend/mame/ui/info.cpp:41
+msgid "LAN"
+msgstr "LAN"
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
-msgstr ""
+#: src/frontend/mame/ui/info.cpp:42
+msgid "WAN"
+msgstr "WAN"
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
-msgstr ""
+#: src/frontend/mame/ui/info.cpp:43
+msgid "timing"
+msgstr "zamanlama"
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/info.cpp:180
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
+"Bu makinenin bir veya daha fazla ROM/CHD'si doğru değil. Makine düzgün "
+"çalışmayabilir.\n"
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/info.cpp:190
+msgid ""
+"There are known problems with this machine\n"
+"\n"
msgstr ""
+"Bu makinenin bilinen problemleri var\n"
+"\n"
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
-msgstr "Yazılım Kullanımı"
+#: src/frontend/mame/ui/info.cpp:195
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+msgstr "Bu makinenin bir veya daha fazla ROM/CHD'si düzgünce aktarılmadı.\n"
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
-msgstr ""
+#: src/frontend/mame/ui/info.cpp:200
+msgid "Completely unemulated features: "
+msgstr "Tamamen uyarlanmamış özellikler: "
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#, c-format
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#: src/frontend/mame/ui/info.cpp:267
+#, c-format
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
-msgstr ""
+#: src/frontend/mame/ui/info.cpp:216
+msgid "Imperfectly emulated features: "
+msgstr "Mükemmel olmayan uyarlanmış özellikler: "
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/info.cpp:231
+msgid "Screen flipping in cocktail mode is not supported.\n"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/info.cpp:233
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
-msgstr "OluÅŸtur"
-
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/info.cpp:235
+msgid ""
+"This machine was never completed. It may exhibit strange behavior or missing "
+"elements that are not bugs in the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/info.cpp:237
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
-msgstr "Girdi (genel)"
-
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
-msgstr "Girdi (bu Makine)"
-
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/info.cpp:241
+msgid ""
+"\n"
+"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
+"complete. There is nothing you can do to fix this problem except wait for "
+"the developers to improve the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/info.cpp:243
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they requires physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
-msgstr "Makine Yapılandırması"
-
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/info.cpp:265
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
-msgstr "Makine Bilgisi"
-
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
-msgstr "İmaj Bilgisi"
-
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
-msgstr "Dosya Yöneticisi"
-
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/info.cpp:278
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/info.cpp:293
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
-msgstr "BIOS Seçimi"
-
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/info.cpp:342
+msgid ""
+"\n"
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
-msgstr "Klavye Modu"
-
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/info.cpp:370
+msgid ""
+"\n"
+"Video:\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
-msgstr "Görüntü Seçenekleri"
-
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/info.cpp:374
+msgid "None\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
-msgstr "Hile"
-
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/info.cpp:381
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/info.cpp:392
+#, c-format
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
-msgstr "Favorilere Ekle"
-
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
-msgstr "Favorilerden kaldır"
-
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
-msgstr "Yeni Makine Seçin"
-
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
-msgstr "Yeni Barkod:"
-
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
-msgstr "Kod Girin"
-
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/info.cpp:392
+msgid "%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/info.cpp:438
+#, c-format
+msgid "Screen '%1$s'"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/info.cpp:440
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/info.cpp:525
+msgid "Not supported"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/info.cpp:528
+msgid "Partially supported"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/info.cpp:536
+msgid "[empty]"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
+#: src/frontend/mame/ui/optsmenu.cpp:193
msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
+#: src/frontend/mame/ui/optsmenu.cpp:206
msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
+#: src/frontend/mame/ui/optsmenu.cpp:207
msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:149
-msgid ""
-"The selected game is missing one or more required ROM or CHD images. Please "
-"select a different game.\n"
-"\n"
-"Press any key to continue."
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:247
-#, c-format
-msgid ""
-"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
-"\n"
-"If this is your first time using %2$s, please see the config.txt file in the "
-"docs directory for information on configuring %2$s."
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+#: src/frontend/mame/ui/optsmenu.cpp:210 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
-msgstr "İsim girin veya seçin: %1$s_"
-
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/optsmenu.cpp:213
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:314
-#: src/frontend/mame/ui/selsoft.cpp:652 src/frontend/mame/ui/selsoft.cpp:659
-#, c-format
-msgid "%1$-.100s"
+#: src/frontend/mame/ui/optsmenu.cpp:216
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:317
-#: src/frontend/mame/ui/selmenu.cpp:618 src/frontend/mame/ui/selmenu.cpp:654
-#, c-format
-msgid "%1$s, %2$-.100s"
+#: src/frontend/mame/ui/optsmenu.cpp:228
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
-#, c-format
-msgid "Driver: %1$-.100s"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
-msgstr "Genel olarak: ÇALIŞMIYOR"
-
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
-msgstr "Genel olarak: Uygulanmamış Koruma"
-
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
-msgstr "Genel olarak: Çalışıyor"
-
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
-msgstr "Grafik: Uygulanmamış"
-
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
-msgstr "Grafik: Kusurlu"
-
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
-msgstr "Grafik: Tamam"
-
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
-msgstr "Ses: Yok"
-
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
-msgstr "Ses: Uygulanmamış"
-
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
-msgstr "Ses: Kusurlu"
-
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
-msgstr "Ses: Tamam"
-
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
-msgstr "Durumu yükle"
-
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
-msgstr "Yüklenecek konumu seçin"
-
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
-msgstr "Durumu kaydet"
-
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
-msgstr "Kaydedilecek konumu seçin"
-
-#: src/frontend/mame/ui/ui.cpp:337
-msgid "This driver requires images to be loaded in the following device(s): "
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
+msgid "Rewind"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1302
-#, c-format
-msgid ""
-"Are you sure you want to quit?\n"
-"\n"
-"Press ''%1$s'' to quit,\n"
-"Press ''%2$s'' to return to emulation."
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
msgstr ""
-"Çıkmak istediğinize emin misiniz?\n"
-"\n"
-"Çıkmak için ''%1$s'' e basın,\n"
-"Dönmek için ''%2$s'' e basın."
-
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
-msgstr "Ana Ses"
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
-msgstr "%1$s Ses"
-
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/inputmap.cpp:53
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
-#, c-format
-msgid "Overclock %1$s sound"
+#: src/frontend/mame/ui/inputmap.cpp:59
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/inputmap.cpp:628 src/frontend/mame/ui/miscmenu.cpp:96
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/selector.cpp:116
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
+#: src/frontend/mame/ui/selector.cpp:124
#, c-format
-msgid "%1$s Contrast"
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/filesel.cpp:256
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
-#, c-format
-msgid "%1$s Horiz Stretch"
+#: src/frontend/mame/ui/swlist.cpp:88
+msgid "[file manager]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
-msgstr ""
+#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
+msgid "[software list]"
+msgstr "[yazılım listesi]"
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/swlist.cpp:228
+msgid "Switch Item Ordering"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
+#: src/frontend/mame/ui/swlist.cpp:259
#, c-format
-msgid "%1$s Vert Position"
+msgid "Switched Order: entries now ordered by %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "shortname"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "description"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/swlist.cpp:389
+msgid "[compatible lists]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
-#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr ""
+#: src/frontend/mame/ui/datmenu.cpp:80
+msgid "Software Usage"
+msgstr "Yazılım Kullanımı"
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+#: src/frontend/mame/ui/datmenu.cpp:362
+msgid "Revision: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/simpleselgame.cpp:149
+msgid ""
+"The selected game is missing one or more required ROM or CHD images. Please "
+"select a different game.\n"
+"\n"
+"Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/simpleselgame.cpp:241
+#, c-format
+msgid ""
+"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
+"\n"
+"If this is your first time using %2$s, please see the config.txt file in the "
+"docs directory for information on configuring %2$s."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/simpleselgame.cpp:271
+#: src/frontend/mame/ui/selgame.cpp:436
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
+#: src/frontend/mame/ui/simpleselgame.cpp:292
#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
-msgstr ""
+msgid "Type name or select: %1$s_"
+msgstr "İsim girin veya seçin: %1$s_"
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/simpleselgame.cpp:294
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
+#: src/frontend/mame/ui/simpleselgame.cpp:308
+#: src/frontend/mame/ui/selsoft.cpp:564 src/frontend/mame/ui/selsoft.cpp:571
#, c-format
-msgid "Crosshair Offset %1$s"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
+#: src/frontend/mame/ui/simpleselgame.cpp:314
#, c-format
-msgid "%1$3ddB"
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
+#: src/frontend/mame/ui/videoopt.cpp:56
#, c-format
-msgid "%1$d%%"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/videoopt.cpp:208
+msgid "Backdrops"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
-#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
-#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
-#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
-#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
-#: src/frontend/mame/ui/ui.cpp:1927
-#, c-format
-msgid "%1$.3f"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Enabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
-#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
-#, c-format
-msgid "%1$1.2f"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Disabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:212
+msgid "Overlays"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:216
+msgid "Bezels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:220
+msgid "CPanels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "View"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cropped"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Full"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
-msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
-msgid ""
-"Cheat Comment:\n"
-"%s"
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1047
+msgid "No"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1047
+msgid "Yes"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/filecreate.cpp:171
+msgid "New Image Name:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/filecreate.cpp:177
+msgid "Image Format:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
-msgstr ""
+#: src/frontend/mame/ui/filecreate.cpp:183
+msgid "Create"
+msgstr "OluÅŸtur"
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/filecreate.cpp:266
+msgid "Select image format"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Keyboard Mode:"
+msgstr "Klavye Kipi"
+
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Natural"
+msgstr "DoÄŸal"
+
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Emulated"
+msgstr "Emule edilmiÅŸ"
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
+#: src/frontend/mame/ui/miscmenu.cpp:236
#, c-format
msgid ""
-"%s\n"
-" added to favorites list."
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
+#: src/frontend/mame/ui/miscmenu.cpp:238
#, c-format
msgid ""
-"%s\n"
-" removed from favorites list."
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/miscmenu.cpp:242
+#, c-format
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
+"Tickets dispensed: %1$d\n"
"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
+#: src/frontend/mame/ui/miscmenu.cpp:253
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/miscmenu.cpp:253
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
-#, c-format
-msgid "Driver: \"%1$s\" software list "
+#: src/frontend/mame/ui/miscmenu.cpp:256
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
-#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:503
+msgid "Visible Delay"
+msgstr "Görünür Gecikme"
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/miscmenu.cpp:601
#, c-format
-msgid "Search: %1$s_"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
-msgid "Unfiltered"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
-msgid "Available"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
-msgid "Unavailable"
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
-msgid "Working"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:627
+msgid "Name: Description:\n"
+msgstr "Ad: Açıklama:\n"
-#: src/frontend/mame/ui/utils.cpp:64
-msgid "Not Working"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
-msgid "Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:655
+msgid "Export list in XML format (like -listxml)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
-msgid "Not Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:656
+msgid "Export list in XML format (like -listxml, but exclude devices)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
-msgid "Category"
+#: src/frontend/mame/ui/miscmenu.cpp:657
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
-msgid "Favorites"
+#: src/frontend/mame/ui/miscmenu.cpp:710 src/frontend/mame/ui/ui.cpp:2230
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/miscmenu.cpp:760 src/frontend/mame/ui/utils.cpp:66
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
-msgid "Not BIOS"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
-msgid "Parents"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
-msgid "Clones"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:73
-msgid "Manufacturer"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
-msgid "Year"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:75
-msgid "Save Supported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:76
-msgid "Save Unsupported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:77
-msgid "CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:78
-msgid "No CHD Required"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:764
+msgid "Driver"
+msgstr "Sürücü"
-#: src/frontend/mame/ui/utils.cpp:79
-msgid "Vertical Screen"
+#: src/frontend/mame/ui/miscmenu.cpp:767
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:80
-msgid "Horizontal Screen"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:776 src/frontend/mame/ui/mainmenu.cpp:145
+msgid "Add To Favorites"
+msgstr "Favorilere Ekle"
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
-msgid "Custom Filter"
-msgstr ""
+#: src/frontend/mame/ui/miscmenu.cpp:778 src/frontend/mame/ui/mainmenu.cpp:147
+msgid "Remove From Favorites"
+msgstr "Favorilerden kaldır"
-#: src/frontend/mame/ui/utils.cpp:91
-msgid "Publisher"
+#: src/frontend/mame/ui/miscmenu.cpp:781
+msgid "Save machine configuration"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:92
-msgid "Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:792
+msgid "Configure machine:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
-msgid "Partially Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:736
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:551 plugins/cheatfind/init.lua:619
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
-msgid "Unsupported"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:739
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:554 plugins/cheat/init.lua:563
+#: plugins/cheatfind/init.lua:616
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
-msgid "Release Region"
+#: src/frontend/mame/ui/miscmenu.cpp:909 src/frontend/mame/ui/selgame.cpp:441
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
-msgid "Device Type"
-msgstr ""
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
+msgstr "Yeni Barkod:"
-#: src/frontend/mame/ui/utils.cpp:97
-msgid "Software List"
-msgstr ""
+#: src/frontend/mame/ui/barcode.cpp:78
+msgid "Enter Code"
+msgstr "Kod Girin"
-#: src/frontend/mame/ui/utils.cpp:248
-msgid "<set up filters>"
+#: src/frontend/mame/ui/barcode.cpp:119
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
-msgid "Select custom filters:"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:99
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
-#, c-format
-msgid "Filter %1$u"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
-msgid "Remove last filter"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:60
+msgid "Input (general)"
+msgstr "Girdi (genel)"
-#: src/frontend/mame/ui/utils.cpp:524
-msgid "Add filter"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:62
+msgid "Input (this Machine)"
+msgstr "Girdi (bu Makine)"
-#: src/frontend/mame/ui/utils.cpp:966
-msgid "Select category:"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
-msgid "[no category INI files]"
+#: src/frontend/mame/ui/mainmenu.cpp:68
+msgid "Dip Switches"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
-msgid "[no groups in INI file]"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "Machine Configuration"
+msgstr "Makine Yapılandırması"
-#: src/frontend/mame/ui/utils.cpp:1039
-msgid "No category INI files found"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
-msgid "File"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:78
+msgid "Machine Information"
+msgstr "Makine Bilgisi"
-#: src/frontend/mame/ui/utils.cpp:1048
-msgid "No groups found in category file"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:85
+msgid "Image Information"
+msgstr "İmaj Bilgisi"
-#: src/frontend/mame/ui/utils.cpp:1053
-msgid "Group"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
+msgstr "Dosya Yöneticisi"
-#: src/frontend/mame/ui/utils.cpp:1054
-msgid "Include clones"
+#: src/frontend/mame/ui/mainmenu.cpp:96
+msgid "Tape Control"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
-msgstr "[oluÅŸtur]"
+#: src/frontend/mame/ui/mainmenu.cpp:102
+msgid "BIOS Selection"
+msgstr "BIOS Seçimi"
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
+#: src/frontend/mame/ui/mainmenu.cpp:106
+msgid "Slot Devices"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
-msgstr "Erişim tipini seçin"
-
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
-msgstr "Salt-okunur"
-
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
-msgstr "Salt-yazılır"
-
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Barcode Reader"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/mainmenu.cpp:114
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
-#, c-format
-msgid "%s [internal]"
-msgstr ""
+#: src/frontend/mame/ui/mainmenu.cpp:118
+msgid "Keyboard Mode"
+msgstr "Klavye Modu"
-#: src/frontend/mame/ui/slotopt.cpp:203 src/frontend/mame/ui/miscmenu.cpp:97
-#: src/frontend/mame/ui/inputmap.cpp:615
-msgid "Reset"
+#: src/frontend/mame/ui/mainmenu.cpp:121
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
-msgstr "RENKLER"
+#: src/frontend/mame/ui/mainmenu.cpp:124 src/frontend/mame/ui/submenu.cpp:101
+msgid "Video Options"
+msgstr "Görüntü Seçenekleri"
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/mainmenu.cpp:128
+msgid "Crosshair Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
-msgstr "Makineye Dön"
-
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
-msgstr "Çıkış"
-
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
-msgstr "Önceki Menüye Dön"
+#: src/frontend/mame/ui/mainmenu.cpp:132 plugins/cheat/init.lua:735
+msgid "Cheat"
+msgstr "Hile"
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:762
-#: plugins/cheat/init.lua:569 plugins/cheatfind/init.lua:792
-#: plugins/cheatfind/init.lua:803
-msgid "On"
+#: src/frontend/mame/ui/mainmenu.cpp:135
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:765
-#: plugins/cheat/init.lua:572 plugins/cheat/init.lua:581
-#: plugins/cheatfind/init.lua:789 plugins/cheatfind/init.lua:800
-msgid "Off"
+#: src/frontend/mame/ui/mainmenu.cpp:139
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
-msgstr "Oto"
+#: src/frontend/mame/ui/mainmenu.cpp:154
+msgid "Select New Machine"
+msgstr "Yeni Makine Seçin"
#: src/frontend/mame/ui/custui.cpp:31
msgid "Show All"
@@ -1382,438 +1279,632 @@ msgstr "Sarı"
msgid "Violet"
msgstr "Mor"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
-msgstr "Klavye Kipi"
+#: src/frontend/mame/ui/submenu.cpp:22
+msgid "Miscellaneous Options"
+msgstr "Çeşitli Seçenekler"
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
-msgstr "DoÄŸal"
+#: src/frontend/mame/ui/submenu.cpp:23
+msgid "Re-select last machine played"
+msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
-msgstr "Emule edilmiÅŸ"
+#: src/frontend/mame/ui/submenu.cpp:24
+msgid "Enlarge images in the right panel"
+msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:26
+msgid "Show mouse pointer"
+msgstr "Fare işaretçisini göster"
+
+#: src/frontend/mame/ui/submenu.cpp:27
+msgid "Confirm quit from machines"
+msgstr "Makinelerden çıkarken onayla"
+
+#: src/frontend/mame/ui/submenu.cpp:28
+msgid "Skip information screen at startup"
+msgstr "Başlangıçta bilgi ekranını atla"
+
+#: src/frontend/mame/ui/submenu.cpp:29
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:30
+msgid "Use image as background"
+msgstr "Görüntüyü arkaplan olarak kullan"
+
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Advanced Options"
+msgstr "Gelişmiş Seçenekler"
+
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Performance Options"
+msgstr "Performans Seçenekleri"
+
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Auto frame skip"
+msgstr "Otomatik çerçeve atlama"
+
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Frame skip"
+msgstr "Çerçeve atlama"
+
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Throttle"
+msgstr "Kısma"
+
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Sleep"
+msgstr "Uyku"
+
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Speed"
+msgstr "Hız"
+
+#: src/frontend/mame/ui/submenu.cpp:45
+msgid "Refresh speed"
+msgstr "Yenileme Hızı"
+
+#: src/frontend/mame/ui/submenu.cpp:47
+msgid "Rotation Options"
+msgstr "Döndürme Seçenekleri"
+
+#: src/frontend/mame/ui/submenu.cpp:49
+msgid "Rotate right"
+msgstr "Sağa döndür"
+
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Rotate left"
+msgstr "Sola döndür"
+
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
-msgstr "Görünür Gecikme"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto rotate left"
+msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
-msgstr "Ad: Açıklama:\n"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Flip Y"
+msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
-#, c-format
-msgid "%s.txt saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Artwork Crop"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Use Backdrops"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Use Overlays"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
-msgstr "Sürücü"
+#: src/frontend/mame/ui/submenu.cpp:60
+msgid "Use Bezels"
+msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Use Control Panels"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/submenu.cpp:62
+msgid "Use Marquees"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
-msgstr " (varsayılan)"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Automatic save/restore"
+msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Rewind capacity"
+msgstr ""
+
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Bilinear snapshot"
+msgstr ""
+
+#: src/frontend/mame/ui/submenu.cpp:69
+msgid "Burn-in"
+msgstr ""
+
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Input Options"
+msgstr ""
+
+#: src/frontend/mame/ui/submenu.cpp:72
+msgid "Coin lockout"
+msgstr ""
+
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "Mouse"
+msgstr "Fare"
+
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Joystick"
+msgstr "Oyun Kolu"
+
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Lightgun"
+msgstr ""
+
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Multi-keyboard"
+msgstr "Çoklu Klavye"
+
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Multi-mouse"
+msgstr "Çoklu fare"
+
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Steadykey"
+msgstr "Yapışkan Tuş"
+
+#: src/frontend/mame/ui/submenu.cpp:79
+msgid "UI active"
+msgstr "Kullanıcı arayüzü aktif"
+
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Offscreen reload"
+msgstr ""
+
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Joystick saturation"
+msgstr ""
+
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Natural keyboard"
+msgstr "DoÄŸal Klavye"
+
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Simultaneous contradictory"
+msgstr ""
+
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Coin impulse"
+msgstr ""
+
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Device Mapping"
+msgstr ""
+
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Lightgun Device Assignment"
+msgstr ""
+
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Trackball Device Assignment"
+msgstr ""
+
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Pedal Device Assignment"
+msgstr ""
+
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Adstick Device Assignment"
+msgstr ""
+
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Paddle Device Assignment"
+msgstr "Pedal Aygıtı Atama"
+
+#: src/frontend/mame/ui/submenu.cpp:95
+msgid "Dial Device Assignment"
+msgstr "Tuşlama Aygıtı Atama"
+
+#: src/frontend/mame/ui/submenu.cpp:96
+msgid "Positional Device Assignment"
+msgstr "Konumsal Aygıt Atama"
+
+#: src/frontend/mame/ui/submenu.cpp:97
+msgid "Mouse Device Assignment"
+msgstr "Fare Aygıtı Atama"
+
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Video Mode"
+msgstr "Görüntü Kipi"
+
+#: src/frontend/mame/ui/submenu.cpp:103
+msgid "Number Of Screens"
+msgstr "Ekran Sayısı"
+
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Triple Buffering"
+msgstr ""
+
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "HLSL"
+msgstr ""
+
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "GLSL"
+msgstr ""
+
+#: src/frontend/mame/ui/submenu.cpp:109
+msgid "Bilinear Filtering"
+msgstr ""
+
+#: src/frontend/mame/ui/submenu.cpp:110
+msgid "Bitmap Prescaling"
+msgstr "Bitmap ön oranlama"
+
+#: src/frontend/mame/ui/submenu.cpp:111
+msgid "Window Mode"
+msgstr "Pencere Kipi"
+
+#: src/frontend/mame/ui/submenu.cpp:112
+msgid "Enforce Aspect Ratio"
+msgstr "En-boy oranını zorla"
+
+#: src/frontend/mame/ui/submenu.cpp:113
+msgid "Start Out Maximized"
+msgstr "Büyütülmüş olarak başlat"
+
+#: src/frontend/mame/ui/submenu.cpp:114
+msgid "Synchronized Refresh"
+msgstr "EÅŸitlenmiÅŸ Yenileme"
+
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Wait Vertical Sync"
+msgstr "Dikey eÅŸitlemeyi bekle"
+
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Load State"
+msgstr "Durumu yükle"
+
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Select position to load from"
+msgstr "Yüklenecek konumu seçin"
+
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Save State"
+msgstr "Durumu kaydet"
+
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Select position to save to"
+msgstr "Kaydedilecek konumu seçin"
+
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:309 src/frontend/mame/ui/selsoft.cpp:211
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:314 src/frontend/mame/ui/selgame.cpp:320
+#: src/frontend/mame/ui/selsoft.cpp:216
+#, c-format
+msgid ""
+"%s\n"
+" removed from favorites list."
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:437
msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
+#: src/frontend/mame/ui/selgame.cpp:849
#, c-format
msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
+#: src/frontend/mame/ui/selgame.cpp:850
#, c-format
msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
+#: src/frontend/mame/ui/selgame.cpp:851
#, c-format
msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
+#: src/frontend/mame/ui/selgame.cpp:855
#, c-format
msgid "Driver is Clone of\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1044
+#: src/frontend/mame/ui/selgame.cpp:857
msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
+#: src/frontend/mame/ui/selgame.cpp:860
msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
+#: src/frontend/mame/ui/selgame.cpp:862
msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
+#: src/frontend/mame/ui/selgame.cpp:865
msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
+#: src/frontend/mame/ui/selgame.cpp:867
msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
+#: src/frontend/mame/ui/selgame.cpp:869
msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
+#: src/frontend/mame/ui/selgame.cpp:872
msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
+#: src/frontend/mame/ui/selgame.cpp:874
msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
+#: src/frontend/mame/ui/selgame.cpp:876
msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
+#: src/frontend/mame/ui/selgame.cpp:878
msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
+#: src/frontend/mame/ui/selgame.cpp:880
msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
+#: src/frontend/mame/ui/selgame.cpp:883
msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
+#: src/frontend/mame/ui/selgame.cpp:885
msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
+#: src/frontend/mame/ui/selgame.cpp:887
msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
+#: src/frontend/mame/ui/selgame.cpp:889
msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
-msgid "Capture\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1081
-msgid "Capture\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1084
-msgid "Camera\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1086
-msgid "Camera\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1089
-msgid "Microphone\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1091
-msgid "Microphone\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1094
+#: src/frontend/mame/ui/selgame.cpp:892
msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
+#: src/frontend/mame/ui/selgame.cpp:894
msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
+#: src/frontend/mame/ui/selgame.cpp:897
msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
+#: src/frontend/mame/ui/selgame.cpp:899
msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
+#: src/frontend/mame/ui/selgame.cpp:902
msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
+#: src/frontend/mame/ui/selgame.cpp:904
msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
-msgid "Media\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1111
-msgid "Media\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1114
-msgid "Disk\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1116
-msgid "Disk\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1119
-msgid "Printer\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1121
-msgid "Printer\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1124
-msgid "Mag. Tape\tUnimplemented\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1126
-msgid "Mag. Tape\tImperfect\n"
-msgstr ""
-
-#: src/frontend/mame/ui/selgame.cpp:1129
-msgid "Punch Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/selgame.cpp:907
+msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
-msgid "Punch Tape\tImperfect\n"
+#: src/frontend/mame/ui/selgame.cpp:909
+msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
-msgid "Mag. Drum\tUnimplemented\n"
+#: src/frontend/mame/ui/selgame.cpp:912
+msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
-msgid "Mag. Drum\tImperfect\n"
+#: src/frontend/mame/ui/selgame.cpp:914
+msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
-msgid "(EP)ROM\tUnimplemented\n"
+#: src/frontend/mame/ui/selgame.cpp:917
+msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
-msgid "(EP)ROM\tImperfect\n"
+#: src/frontend/mame/ui/selgame.cpp:919
+msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
-msgid "Communications\tUnimplemented\n"
+#: src/frontend/mame/ui/selgame.cpp:922
+msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
-msgid "Communications\tImperfect\n"
+#: src/frontend/mame/ui/selgame.cpp:924
+msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
+#: src/frontend/mame/ui/selgame.cpp:927
msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
+#: src/frontend/mame/ui/selgame.cpp:929
msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
+#: src/frontend/mame/ui/selgame.cpp:932
msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
+#: src/frontend/mame/ui/selgame.cpp:934
msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
+#: src/frontend/mame/ui/selgame.cpp:937
msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
+#: src/frontend/mame/ui/selgame.cpp:939
msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:941
msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
+#: src/frontend/mame/ui/selgame.cpp:941
msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:942
msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
+#: src/frontend/mame/ui/selgame.cpp:942
msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:943
msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
+#: src/frontend/mame/ui/selgame.cpp:943
msgid "Requires Clickable Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
+#: src/frontend/mame/ui/selgame.cpp:944
msgid "Support Cocktail\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
+#: src/frontend/mame/ui/selgame.cpp:944
msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:945
msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
+#: src/frontend/mame/ui/selgame.cpp:945
msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:946
msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
+#: src/frontend/mame/ui/selgame.cpp:946
msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:947
msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
+#: src/frontend/mame/ui/selgame.cpp:947
msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:957
msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
+#: src/frontend/mame/ui/selgame.cpp:957
msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
+#: src/frontend/mame/ui/selgame.cpp:970
msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
+#: src/frontend/mame/ui/selgame.cpp:972
msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
+#: src/frontend/mame/ui/selgame.cpp:975
msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
+#: src/frontend/mame/ui/selgame.cpp:977
msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
+#: src/frontend/mame/ui/selgame.cpp:979
msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
+#: src/frontend/mame/ui/selgame.cpp:983
msgid ""
"ROM Audit \tDisabled\n"
"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
+#: src/frontend/mame/ui/selgame.cpp:1167
#, c-format
msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1424
+#: src/frontend/mame/ui/selgame.cpp:1183 src/frontend/mame/ui/selsoft.cpp:555
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:1185 src/frontend/mame/ui/selsoft.cpp:557
+#, c-format
+msgid "Search: %1$s_"
+msgstr ""
+
+#: src/frontend/mame/ui/selgame.cpp:1195
#, c-format
msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
+#: src/frontend/mame/ui/selgame.cpp:1202
#, c-format
msgid "System: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1465
+#: src/frontend/mame/ui/selgame.cpp:1239
msgid ""
"The selected machine is missing one or more required ROM or CHD images. "
"Please select a different machine.\n"
"\n"
msgstr ""
+#: src/frontend/mame/ui/selgame.cpp:1245 src/frontend/mame/ui/selsoft.cpp:462
+msgid "Press any key to continue."
+msgstr ""
+
#: src/frontend/mame/ui/sndmenu.cpp:135
msgid "Sound"
msgstr "Ses"
@@ -1826,841 +1917,669 @@ msgstr ""
msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
-msgstr "Çeşitli Seçenekler"
-
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
+#: src/frontend/mame/ui/utils.cpp:57 src/frontend/mame/ui/utils.cpp:81
+msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/utils.cpp:58 src/frontend/mame/ui/utils.cpp:82
+msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
-msgstr "Fare işaretçisini göster"
-
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
-msgstr "Makinelerden çıkarken onayla"
-
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
-msgstr "Başlangıçta bilgi ekranını atla"
-
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/utils.cpp:59 src/frontend/mame/ui/utils.cpp:83
+msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
-msgstr "Görüntüyü arkaplan olarak kullan"
-
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/utils.cpp:60
+msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/utils.cpp:61
+msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/utils.cpp:62
+msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/utils.cpp:63
+msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
-msgstr "Gelişmiş Seçenekler"
-
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
-msgstr "Performans Seçenekleri"
-
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
-msgstr "Otomatik çerçeve atlama"
-
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
-msgstr "Çerçeve atlama"
-
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
-msgstr "Kısma"
-
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
-msgstr "Uyku"
-
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
-msgstr "Hız"
-
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
-msgstr "Yenileme Hızı"
-
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
-msgstr "Döndürme Seçenekleri"
-
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
-msgstr "Sağa döndür"
-
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
-msgstr "Sola döndür"
-
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/utils.cpp:64
+msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/utils.cpp:65
+msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/utils.cpp:67
+msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:84
+msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/utils.cpp:85
+msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/utils.cpp:70
+msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:86
+msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/utils.cpp:72
+msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/utils.cpp:73
+msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/utils.cpp:74
+msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/utils.cpp:75
+msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/utils.cpp:76
+msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/utils.cpp:77
+msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/utils.cpp:78 src/frontend/mame/ui/utils.cpp:94
+msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/utils.cpp:87
+msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/utils.cpp:88
+msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/utils.cpp:89
+msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/utils.cpp:90
+msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
-msgstr "Fare"
+#: src/frontend/mame/ui/utils.cpp:91
+msgid "Release Region"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
-msgstr "Oyun Kolu"
+#: src/frontend/mame/ui/utils.cpp:92
+msgid "Device Type"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/utils.cpp:93
+msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
-msgstr "Çoklu Klavye"
+#: src/frontend/mame/ui/utils.cpp:244
+msgid "<set up filters>"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
-msgstr "Çoklu fare"
+#: src/frontend/mame/ui/utils.cpp:352
+msgid "Select custom filters:"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
-msgstr "Yapışkan Tuş"
+#: src/frontend/mame/ui/utils.cpp:503
+#, c-format
+msgid "Filter %1$u"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
-msgstr "Kullanıcı arayüzü aktif"
+#: src/frontend/mame/ui/utils.cpp:518
+msgid "Remove last filter"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/utils.cpp:520
+msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/utils.cpp:959
+msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/utils.cpp:990
+msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
-msgstr "DoÄŸal Klavye"
+#: src/frontend/mame/ui/utils.cpp:998
+msgid "[no groups in INI file]"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/utils.cpp:1032
+msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/utils.cpp:1037
+msgid "File"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/utils.cpp:1041
+msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:1046
+msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:1047
+msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/selsoft.cpp:456
+msgid ""
+"The selected software is missing one or more required files. Please select a "
+"different software.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/selsoft.cpp:549
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
-msgstr "Pedal Aygıtı Atama"
+#: src/frontend/mame/ui/selsoft.cpp:550
+#, c-format
+msgid "Driver: \"%1$s\" software list "
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
-msgstr "Tuşlama Aygıtı Atama"
+#: src/frontend/mame/ui/filesel.cpp:260
+msgid "[create]"
+msgstr "[oluÅŸtur]"
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
-msgstr "Konumsal Aygıt Atama"
+#: src/frontend/mame/ui/filesel.cpp:419
+#, c-format
+msgid "Error accessing %s"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
-msgstr "Fare Aygıtı Atama"
+#: src/frontend/mame/ui/filesel.cpp:515
+msgid "Select access mode"
+msgstr "Erişim tipini seçin"
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
-msgstr "Görüntü Kipi"
+#: src/frontend/mame/ui/filesel.cpp:516
+msgid "Read-only"
+msgstr "Salt-okunur"
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
-msgstr "Ekran Sayısı"
+#: src/frontend/mame/ui/filesel.cpp:518
+msgid "Read-write"
+msgstr "Salt-yazılır"
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/filesel.cpp:519
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/filesel.cpp:520
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/imgcntrl.cpp:117
+msgid "Cannot save over directory"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/imgcntrl.cpp:150
+msgid ""
+"The software selected is missing one or more required ROM or CHD images. "
+"Please select a different one."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
-msgstr "Bitmap ön oranlama"
+#: src/frontend/mame/ui/menu.cpp:294
+msgid "Return to Machine"
+msgstr "Makineye Dön"
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
-msgstr "Pencere Kipi"
+#: src/frontend/mame/ui/menu.cpp:299 src/frontend/mame/ui/menu.cpp:301
+msgid "Exit"
+msgstr "Çıkış"
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
-msgstr "En-boy oranını zorla"
+#: src/frontend/mame/ui/menu.cpp:306 src/frontend/mame/ui/menu.cpp:308
+msgid "Return to Previous Menu"
+msgstr "Önceki Menüye Dön"
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
-msgstr "Büyütülmüş olarak başlat"
+#: src/frontend/mame/ui/menu.cpp:742
+msgid "Auto"
+msgstr "Oto"
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
-msgstr "EÅŸitlenmiÅŸ Yenileme"
+#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:653
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
+msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
-msgstr "Dikey eÅŸitlemeyi bekle"
+#: src/frontend/mame/ui/cheatopt.cpp:105
+msgid "All cheats reloaded"
+msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:43
-#, c-format
-msgid ""
-"[This option is currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"The selected option enables the following items:\n"
+#: src/frontend/mame/ui/cheatopt.cpp:136
+msgid "Autofire Settings"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:44
-#, c-format
-msgid ""
-"[This option is NOT currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"If you select this option, the following items will be enabled:\n"
+#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:581
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:582
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
-#, c-format
-msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+#: src/frontend/mame/ui/cheatopt.cpp:273
+msgid "Autofire Status"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
-msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/cheatopt.cpp:316
+msgid "No buttons found on this machine!"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %3$d.%4$06d MHz\n"
+#: src/frontend/mame/ui/cheatopt.cpp:327 src/frontend/mame/ui/cheatopt.cpp:331
+msgid "Autofire Delay"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/ui.cpp:337
+msgid "This driver requires images to be loaded in the following device(s): "
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
+msgid "Keyboard Emulation Status"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/ui.cpp:1086
+msgid "Mode: PARTIAL Emulation"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:103
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+#: src/frontend/mame/ui/ui.cpp:1087
+msgid "UI: Enabled"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
+msgid "**Use ScrLock to toggle**"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/ui.cpp:1096
+msgid "Mode: FULL Emulation"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
-#, c-format
-msgid " %1$d×%2$s\n"
+#: src/frontend/mame/ui/ui.cpp:1097
+msgid "UI: Disabled"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/ui.cpp:1249
+msgid "Autofire can't be enabled"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:168
+#: src/frontend/mame/ui/ui.cpp:1302
#, c-format
msgid ""
-"* BIOS settings:\n"
-" %1$d options [default: %2$s]\n"
+"Are you sure you want to quit?\n"
+"\n"
+"Press ''%1$s'' to quit,\n"
+"Press ''%2$s'' to return to emulation."
msgstr ""
+"Çıkmak istediğinize emin misiniz?\n"
+"\n"
+"Çıkmak için ''%1$s'' e basın,\n"
+"Dönmek için ''%2$s'' e basın."
+
+#: src/frontend/mame/ui/ui.cpp:1374
+msgid "Master Volume"
+msgstr "Ana Ses"
-#: src/frontend/mame/ui/devopt.cpp:208 src/frontend/mame/ui/devopt.cpp:224
-#: src/frontend/mame/ui/devopt.cpp:269
+#: src/frontend/mame/ui/ui.cpp:1383
#, c-format
-msgid " %1$s [default: %2$s]\n"
-msgstr ""
+msgid "%1$s Volume"
+msgstr "%1$s Ses"
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
+#: src/frontend/mame/ui/ui.cpp:1407
#, c-format
-msgid " %1$s\n"
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/ui.cpp:1416
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/ui.cpp:1437
+#, c-format
+msgid "%1$s Refresh Rate"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, c-format
+msgid "%1$s Brightness"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
+#: src/frontend/mame/ui/ui.cpp:1444
#, c-format
-msgid " User inputs [%1$d inputs]\n"
+msgid "%1$s Contrast"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
+#: src/frontend/mame/ui/ui.cpp:1446
#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
+#: src/frontend/mame/ui/ui.cpp:1450
#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
+#: src/frontend/mame/ui/ui.cpp:1452
#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
+#: src/frontend/mame/ui/ui.cpp:1454
#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
+#: src/frontend/mame/ui/ui.cpp:1456
#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
+#: src/frontend/mame/ui/ui.cpp:1475
#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
+#: src/frontend/mame/ui/ui.cpp:1477
#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+#: src/frontend/mame/ui/ui.cpp:1479
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
+#: src/frontend/mame/ui/ui.cpp:1481
#, c-format
-msgid " %1$s [tag: %2$s]\n"
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
+#: src/frontend/mame/ui/ui.cpp:1493
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+#: src/frontend/mame/ui/ui.cpp:1494
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/ui.cpp:1495
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/ui.cpp:1496
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
-msgstr "(sonuçlar %1$s 'a kaydedilecek)"
-
-#: src/frontend/mame/ui/auditmenu.cpp:130
+#: src/frontend/mame/ui/ui.cpp:1511
#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
-msgstr "Denetlemeyi BaÅŸlat"
-
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
-msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
-msgstr "koruma"
-
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
-msgstr "zamanlama"
-
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
-msgstr "grafikler"
-
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
-msgstr "renk paleti"
-
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
-msgstr "ses"
-
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: src/frontend/mame/ui/ui.cpp:1513
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
-msgstr "kamera"
-
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
-msgstr "mikrofon"
-
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
-msgstr "kontroller"
-
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
-msgstr "klavye"
-
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
-msgstr "fare"
-
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/ui.cpp:1601
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
-msgstr "disk"
-
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
-msgstr "yazıcı"
-
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/ui.cpp:1645
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/ui.cpp:1661
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/ui.cpp:1685
+#, c-format
+msgid "%1$.3ffps"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
+#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
+#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
+#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
+#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
+#: src/frontend/mame/ui/ui.cpp:1927
+#, c-format
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
+#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
-msgstr "LAN"
-
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
-msgstr "WAN"
-
-#: src/frontend/mame/ui/info.cpp:188
-msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-"Bu makinenin bir veya daha fazla ROM/CHD'si doğru değil. Makine düzgün "
-"çalışmayabilir.\n"
-#: src/frontend/mame/ui/info.cpp:198
-msgid ""
-"There are known problems with this machine\n"
-"\n"
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-"Bu makinenin bilinen problemleri var\n"
-"\n"
-
-#: src/frontend/mame/ui/info.cpp:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
-msgstr "Bu makinenin bir veya daha fazla ROM/CHD'si düzgünce aktarılmadı.\n"
-
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
-msgstr "Tamamen uyarlanmamış özellikler: "
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
+#: src/frontend/mame/ui/ui.cpp:2024
#, c-format
-msgid "%s"
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#: src/frontend/mame/ui/info.cpp:275
+#: src/frontend/mame/ui/ui.cpp:2024
#, c-format
-msgid ", %s"
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
-msgstr "Mükemmel olmayan uyarlanmış özellikler: "
-
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
+#: src/frontend/mame/ui/ui.cpp:2226
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:243
-msgid ""
-"This machine was never completed. It may exhibit strange behavior or missing "
-"elements that are not bugs in the emulation.\n"
-msgstr ""
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " COLORS"
+msgstr "RENKLER"
-#: src/frontend/mame/ui/info.cpp:245
-msgid ""
-"This machine has no sound hardware, MAME will produce no sounds, this is "
-"expected behaviour.\n"
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:249
+#: src/frontend/mame/ui/devopt.cpp:39
+#, c-format
msgid ""
+"[This option is currently mounted in the running system]\n"
"\n"
-"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
-"complete. There is nothing you can do to fix this problem except wait for "
-"the developers to improve the emulation.\n"
-msgstr ""
-
-#: src/frontend/mame/ui/info.cpp:251
-msgid ""
+"Option: %1$s\n"
+"Device: %2$s\n"
"\n"
-"Elements of this machine cannot be emulated as they requires physical "
-"interaction or consist of mechanical devices. It is not possible to fully "
-"experience this machine.\n"
+"The selected option enables the following items:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/devopt.cpp:40
#, c-format
msgid ""
+"[This option is NOT currently mounted in the running system]\n"
"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
"\n"
-"There are working clones of this machine: %s"
+"If you select this option, the following items will be enabled:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/devopt.cpp:48
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
#, c-format
-msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
+msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
+msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/devopt.cpp:85
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/devopt.cpp:90
+#, c-format
+msgid " Screen '%1$s': Vector\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/devopt.cpp:99
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:100
#, c-format
-msgid "%1$s: %2$s\n"
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+#: src/frontend/mame/ui/devopt.cpp:113
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:133
#, c-format
-msgid "Screen '%1$s'"
+msgid " %1$d×%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
+#: src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+#: src/frontend/mame/ui/devopt.cpp:164
+#, c-format
+msgid ""
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:204 src/frontend/mame/ui/devopt.cpp:220
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:209 src/frontend/mame/ui/devopt.cpp:225
+#, c-format
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
-msgstr "Kontrol Panelleri"
-
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
-msgstr "Sanat Eseri Önizleme"
-
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
-msgstr "Oyun Bitti"
-
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
-msgstr "Beğenilenlere ekle veya kaldır"
-
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
-msgstr "Gösterilen dosya listesini dışa aktar"
-
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
-msgstr "DAT görünümünü göster"
+#: src/frontend/mame/ui/devopt.cpp:230
+msgid "* DIP switch settings:\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
-msgstr "Yazılım parça seçimi:"
+#: src/frontend/mame/ui/devopt.cpp:232
+msgid "* Configuration settings:\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
-msgstr "BIOS seçimi:"
+#: src/frontend/mame/ui/devopt.cpp:234
+msgid "* Input device(s):\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
+#: src/frontend/mame/ui/devopt.cpp:236
#, c-format
-msgid "Software is clone of: %1$-.100s"
-msgstr "Yazılım şunun kopyasıdır: %1$-.100s"
-
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
-msgstr "Yazılım esastır"
-
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
-msgstr "Destekleniyor: Hayır"
-
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
-msgstr "Destekleniyor: Kısmen"
+msgid " User inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
-msgstr "Destekleniyor: Evet"
+#: src/frontend/mame/ui/devopt.cpp:238
+#, c-format
+msgid " Mahjong inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
+#: src/frontend/mame/ui/devopt.cpp:240
#, c-format
-msgid "romset: %1$-.100s"
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
+#: src/frontend/mame/ui/devopt.cpp:242
#, c-format
-msgid "Driver is clone of: %1$-.100s"
-msgstr "Sürücü şunun kopyasıdır: %1$-.100s"
+msgid " Gambling inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
-msgstr "Sürücü esastır"
+#: src/frontend/mame/ui/devopt.cpp:244
+#, c-format
+msgid " Analog inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
+#: src/frontend/mame/ui/devopt.cpp:246
#, c-format
-msgid "%1$s %2$s"
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
-msgstr "Görüntüler"
+#: src/frontend/mame/ui/devopt.cpp:248
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
-msgstr "Bilgiler"
+#: src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
-msgstr "Kullanım"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* Media Options:\n"
+msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
-msgstr "Genel Bilgi"
+#: src/frontend/mame/ui/devopt.cpp:257
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
+msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: src/frontend/mame/ui/devopt.cpp:263
+msgid "* Slot Options:\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: src/frontend/mame/ui/devopt.cpp:270
+msgid "[None]\n"
msgstr ""
#: plugins/timer/init.lua:94
@@ -2679,51 +2598,51 @@ msgstr ""
msgid "Timer"
msgstr ""
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:510
msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheat/init.lua:534
+#: plugins/cheat/init.lua:516
msgid "Press button for hotkey or wait to clear"
msgstr ""
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:528
msgid "None"
msgstr "Hiçbiri"
-#: plugins/cheat/init.lua:551
+#: plugins/cheat/init.lua:533
msgid "Done"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:547 plugins/cheat/init.lua:561
msgid "Set"
msgstr ""
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:580
msgid "Set hotkeys"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:720
#, lua-format
msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:723 plugins/cheat/init.lua:781
#, lua-format
msgid "Activated: %s"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:785
#, lua-format
msgid "Enabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:790
#, lua-format
msgid "Disabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "%s added"
msgstr ""
@@ -2772,304 +2691,219 @@ msgstr ""
msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:404
+#: plugins/cheatfind/init.lua:373
msgid "Save Cheat"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Default"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Custom"
msgstr ""
-#: plugins/cheatfind/init.lua:408
+#: plugins/cheatfind/init.lua:377
msgid "Cheat Name"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/cheatfind/init.lua:383 plugins/cheatfind/init.lua:748
#, lua-format
msgid "Default name is %s"
msgstr ""
-#: plugins/cheatfind/init.lua:422
+#: plugins/cheatfind/init.lua:391
msgid "Player"
msgstr ""
-#: plugins/cheatfind/init.lua:427
+#: plugins/cheatfind/init.lua:396
msgid "Type"
msgstr ""
-#: plugins/cheatfind/init.lua:433
+#: plugins/cheatfind/init.lua:402
msgid "Save"
msgstr ""
-#: plugins/cheatfind/init.lua:462
+#: plugins/cheatfind/init.lua:429
#, lua-format
msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:472
+#: plugins/cheatfind/init.lua:437
msgid "Cheat added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:442
msgid ""
"Unable to write file\n"
"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/cheatfind/init.lua:486
+#: plugins/cheatfind/init.lua:451
msgid "Cancel"
msgstr ""
-#: plugins/cheatfind/init.lua:491
+#: plugins/cheatfind/init.lua:456
msgid "CPU or RAM"
msgstr ""
-#: plugins/cheatfind/init.lua:495
+#: plugins/cheatfind/init.lua:460
msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:479
+msgid "Data cleared and current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:487
+msgid "Start new search"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:497
+msgid "Current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:504
+msgid "Save current -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
+#: plugins/cheatfind/init.lua:536
#, lua-format
-msgid "Memory State saved to Slot %d"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:543
+msgid "Compare"
msgstr ""
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
+#: plugins/cheatfind/init.lua:546
+msgid "Left operand"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:549
+msgid "Current"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:554
+msgid "Operator"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:561
+msgid "Left less than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:676
+#: plugins/cheatfind/init.lua:563
+msgid "Left greater than right, value is difference"
+msgstr ""
+
+#: plugins/cheatfind/init.lua:565
msgid "Left equal to right"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:567
+msgid "Left not equal to right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:680
+#: plugins/cheatfind/init.lua:569
msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:682
+#: plugins/cheatfind/init.lua:571
msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:684
+#: plugins/cheatfind/init.lua:573
msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:686
+#: plugins/cheatfind/init.lua:575
msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:688
+#: plugins/cheatfind/init.lua:577
msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:690
+#: plugins/cheatfind/init.lua:579
msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/cheatfind/init.lua:590
+msgid "Right operand"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/cheatfind/init.lua:598
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:719
+#: plugins/cheatfind/init.lua:602
msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:725
+#: plugins/cheatfind/init.lua:608
msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:738
-msgid ""
-"Use this if you want to poke the Slot 1 value (eg. You started with "
-"something but lost it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:740
-msgid ""
-"Use this if you want to poke the Last Slot value (eg. You started without an "
-"item but finally got it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:816
+#: plugins/cheatfind/init.lua:632
msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:820
+#: plugins/cheatfind/init.lua:636
msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:823
+#: plugins/cheatfind/init.lua:639
msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheatfind/init.lua:690
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Test cheat at addr %08X"
msgstr ""
-#: plugins/cheatfind/init.lua:974
+#: plugins/cheatfind/init.lua:722
msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
+#: plugins/cheatfind/init.lua:788
msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
+#: plugins/cheatfind/init.lua:806
msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
+#: plugins/cheatfind/init.lua:816
msgid "Cheat Finder"
msgstr ""
-#: plugins/portname/init.lua:103
+#: plugins/portname/init.lua:69
msgid "Save input names to file"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
+#: plugins/portname/init.lua:100 plugins/portname/init.lua:105
+#: plugins/portname/init.lua:121
msgid "Failed to save input name file"
msgstr ""
-#: plugins/portname/init.lua:167
+#: plugins/portname/init.lua:133
#, lua-format
msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/portname/init.lua:172
+#: plugins/portname/init.lua:138
msgid "Input ports"
msgstr ""
diff --git a/language/Ukrainian/strings.po b/language/Ukrainian/strings.po
index 0b3d0dbe675..7de56d6de5e 100644
--- a/language/Ukrainian/strings.po
+++ b/language/Ukrainian/strings.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MAME\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-03-17 13:37+1100\n"
+"POT-Creation-Date: 2018-04-28 15:32+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -18,1144 +18,1041 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
+#: src/frontend/mame/ui/auditmenu.cpp:96
#, c-format
-msgid "Screen #%d"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Enabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Disabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
-msgid "Marquees"
+#: src/frontend/mame/ui/auditmenu.cpp:99
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/auditmenu.cpp:104
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/auditmenu.cpp:130
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/auditmenu.cpp:142
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/selmenu.cpp:49 src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/selmenu.cpp:50 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/selmenu.cpp:51
+msgid "Control Panels"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/selmenu.cpp:52 src/frontend/mame/ui/dirmenu.cpp:50
+msgid "PCBs"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/selmenu.cpp:53 src/frontend/mame/ui/dirmenu.cpp:47
+msgid "Flyers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/selmenu.cpp:54 src/frontend/mame/ui/dirmenu.cpp:48
+msgid "Titles"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/selmenu.cpp:55 src/frontend/mame/ui/dirmenu.cpp:49
+msgid "Ends"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/selmenu.cpp:56
+msgid "Artwork Preview"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/selmenu.cpp:57 src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Bosses"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/selmenu.cpp:58 src/frontend/mame/ui/dirmenu.cpp:60
+msgid "Logos"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/selmenu.cpp:59 src/frontend/mame/ui/dirmenu.cpp:62
+msgid "Versus"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/selmenu.cpp:60
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/selmenu.cpp:61 src/frontend/mame/ui/dirmenu.cpp:59
+msgid "HowTo"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/selmenu.cpp:62 src/frontend/mame/ui/dirmenu.cpp:61
+msgid "Scores"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/selmenu.cpp:63 src/frontend/mame/ui/dirmenu.cpp:57
+msgid "Select"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/selmenu.cpp:64 src/frontend/mame/ui/dirmenu.cpp:51
+#: src/frontend/mame/ui/videoopt.cpp:224
+msgid "Marquees"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/selmenu.cpp:65 src/frontend/mame/ui/dirmenu.cpp:63
+msgid "Covers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/selmenu.cpp:69
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/selmenu.cpp:70
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/selmenu.cpp:71
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/selmenu.cpp:237
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/selmenu.cpp:343
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/selmenu.cpp:570 src/frontend/mame/ui/selmenu.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:311
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/selmenu.cpp:574
+#, c-format
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/selmenu.cpp:576
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/selmenu.cpp:581
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/selmenu.cpp:586
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/selmenu.cpp:591
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selmenu.cpp:596
+#, c-format
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selmenu.cpp:612
#, c-format
-msgid "Current %1$s Folders"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selmenu.cpp:614
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selmenu.cpp:619
+#: src/frontend/mame/ui/simpleselgame.cpp:330
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selmenu.cpp:621
+#: src/frontend/mame/ui/simpleselgame.cpp:332
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:623
+#: src/frontend/mame/ui/simpleselgame.cpp:334
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:627
+#: src/frontend/mame/ui/simpleselgame.cpp:338
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/selmenu.cpp:629
+#: src/frontend/mame/ui/simpleselgame.cpp:340
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/selmenu.cpp:631
+#: src/frontend/mame/ui/simpleselgame.cpp:342
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/selmenu.cpp:634
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/selmenu.cpp:636
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/selmenu.cpp:638
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/selmenu.cpp:640
+#: src/frontend/mame/ui/simpleselgame.cpp:351
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/selmenu.cpp:650
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/selmenu.cpp:1975
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/selmenu.cpp:1976
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/selmenu.cpp:2386 src/frontend/mame/ui/miscmenu.cpp:826
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/selmenu.cpp:2454
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/selmenu.cpp:2489
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/dirmenu.cpp:35
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/dirmenu.cpp:36
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
-#: src/frontend/mame/ui/slotopt.cpp:220
-msgid "[empty slot]"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/dirmenu.cpp:40
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/dirmenu.cpp:52
+msgid "Controls Panels"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/dirmenu.cpp:53
+msgid "Crosshairs"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Artworks"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks Preview"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "GameOver"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/dirmenu.cpp:116
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/dirmenu.cpp:167
+#, c-format
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/dirmenu.cpp:182
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/dirmenu.cpp:429
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/dirmenu.cpp:513
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/info.cpp:30
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "LAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/info.cpp:180
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/info.cpp:190
+msgid ""
+"There are known problems with this machine\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/info.cpp:195
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/info.cpp:200
+msgid "Completely unemulated features: "
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#, c-format
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#: src/frontend/mame/ui/info.cpp:267
+#, c-format
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/info.cpp:216
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/info.cpp:231
+msgid "Screen flipping in cocktail mode is not supported.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/info.cpp:233
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/info.cpp:235
+msgid ""
+"This machine was never completed. It may exhibit strange behavior or missing "
+"elements that are not bugs in the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/info.cpp:237
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/info.cpp:241
+msgid ""
+"\n"
+"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
+"complete. There is nothing you can do to fix this problem except wait for "
+"the developers to improve the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/info.cpp:243
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they requires physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/info.cpp:265
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/info.cpp:278
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/info.cpp:293
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:149
+#: src/frontend/mame/ui/info.cpp:342
msgid ""
-"The selected game is missing one or more required ROM or CHD images. Please "
-"select a different game.\n"
"\n"
-"Press any key to continue."
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:247
-#, c-format
+#: src/frontend/mame/ui/info.cpp:370
msgid ""
-"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
"\n"
-"If this is your first time using %2$s, please see the config.txt file in the "
-"docs directory for information on configuring %2$s."
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+"Video:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/info.cpp:374
+msgid "None\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/info.cpp:381
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:314
-#: src/frontend/mame/ui/selsoft.cpp:652 src/frontend/mame/ui/selsoft.cpp:659
+#: src/frontend/mame/ui/info.cpp:392
#, c-format
-msgid "%1$-.100s"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:317
-#: src/frontend/mame/ui/selmenu.cpp:618 src/frontend/mame/ui/selmenu.cpp:654
-#, c-format
-msgid "%1$s, %2$-.100s"
+#: src/frontend/mame/ui/info.cpp:392
+msgid "%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
+#: src/frontend/mame/ui/info.cpp:438
#, c-format
-msgid "Driver: %1$-.100s"
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+msgid "Screen '%1$s'"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/info.cpp:440
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/info.cpp:525
+msgid "Not supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/info.cpp:528
+msgid "Partially supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/info.cpp:536
+msgid "[empty]"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/optsmenu.cpp:193
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/optsmenu.cpp:206
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/optsmenu.cpp:207
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/optsmenu.cpp:210 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/optsmenu.cpp:213
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/optsmenu.cpp:216
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/optsmenu.cpp:228
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:337
-msgid "This driver requires images to be loaded in the following device(s): "
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
+msgid "Rewind"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1302
-#, c-format
-msgid ""
-"Are you sure you want to quit?\n"
-"\n"
-"Press ''%1$s'' to quit,\n"
-"Press ''%2$s'' to return to emulation."
+#: src/frontend/mame/ui/inputmap.cpp:53
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/inputmap.cpp:59
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
+#: src/frontend/mame/ui/inputmap.cpp:628 src/frontend/mame/ui/miscmenu.cpp:96
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/selector.cpp:116
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
+#: src/frontend/mame/ui/selector.cpp:124
#, c-format
-msgid "Overclock %1$s sound"
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/filesel.cpp:256
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/swlist.cpp:88
+msgid "[file manager]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/swlist.cpp:228
+msgid "Switch Item Ordering"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
+#: src/frontend/mame/ui/swlist.cpp:259
#, c-format
-msgid "%1$s Horiz Stretch"
+msgid "Switched Order: entries now ordered by %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "shortname"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "description"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/swlist.cpp:389
+msgid "[compatible lists]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/datmenu.cpp:80
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/datmenu.cpp:362
+msgid "Revision: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/simpleselgame.cpp:149
+msgid ""
+"The selected game is missing one or more required ROM or CHD images. Please "
+"select a different game.\n"
+"\n"
+"Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
+#: src/frontend/mame/ui/simpleselgame.cpp:241
#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+msgid ""
+"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
+"\n"
+"If this is your first time using %2$s, please see the config.txt file in the "
+"docs directory for information on configuring %2$s."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/simpleselgame.cpp:271
+#: src/frontend/mame/ui/selgame.cpp:436
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/simpleselgame.cpp:292
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/simpleselgame.cpp:294
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
+#: src/frontend/mame/ui/simpleselgame.cpp:308
+#: src/frontend/mame/ui/selsoft.cpp:564 src/frontend/mame/ui/selsoft.cpp:571
#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/simpleselgame.cpp:314
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
+#: src/frontend/mame/ui/videoopt.cpp:56
#, c-format
-msgid "Crosshair Offset %1$s"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/videoopt.cpp:208
+msgid "Backdrops"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Enabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Disabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
-#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
-#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
-#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
-#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
-#: src/frontend/mame/ui/ui.cpp:1927
-#, c-format
-msgid "%1$.3f"
+#: src/frontend/mame/ui/videoopt.cpp:212
+msgid "Overlays"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
-#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
-#, c-format
-msgid "%1$1.2f"
+#: src/frontend/mame/ui/videoopt.cpp:216
+msgid "Bezels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:220
+msgid "CPanels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "View"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cropped"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Full"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1047
+msgid "No"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
-msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1047
+msgid "Yes"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
-msgid ""
-"Cheat Comment:\n"
-"%s"
+#: src/frontend/mame/ui/filecreate.cpp:171
+msgid "New Image Name:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/filecreate.cpp:177
+msgid "Image Format:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/filecreate.cpp:183
+msgid "Create"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/filecreate.cpp:266
+msgid "Select image format"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Keyboard Mode:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Natural"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Emulated"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
+#: src/frontend/mame/ui/miscmenu.cpp:236
#, c-format
msgid ""
-"%s\n"
-" added to favorites list."
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
+#: src/frontend/mame/ui/miscmenu.cpp:238
#, c-format
msgid ""
-"%s\n"
-" removed from favorites list."
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/miscmenu.cpp:242
+#, c-format
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
+"Tickets dispensed: %1$d\n"
"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
+#: src/frontend/mame/ui/miscmenu.cpp:253
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/miscmenu.cpp:253
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
-#, c-format
-msgid "Driver: \"%1$s\" software list "
+#: src/frontend/mame/ui/miscmenu.cpp:256
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
-#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+#: src/frontend/mame/ui/miscmenu.cpp:503
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/miscmenu.cpp:601
#, c-format
-msgid "Search: %1$s_"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
-msgid "Unfiltered"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
-msgid "Available"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
-msgid "Unavailable"
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
-msgid "Working"
+#: src/frontend/mame/ui/miscmenu.cpp:627
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
-msgid "Not Working"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
-msgid "Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:655
+msgid "Export list in XML format (like -listxml)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
-msgid "Not Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:656
+msgid "Export list in XML format (like -listxml, but exclude devices)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
-msgid "Category"
+#: src/frontend/mame/ui/miscmenu.cpp:657
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
-msgid "Favorites"
+#: src/frontend/mame/ui/miscmenu.cpp:710 src/frontend/mame/ui/ui.cpp:2230
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/miscmenu.cpp:760 src/frontend/mame/ui/utils.cpp:66
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
-msgid "Not BIOS"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
-msgid "Parents"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
-msgid "Clones"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:73
-msgid "Manufacturer"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
-msgid "Year"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:75
-msgid "Save Supported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:76
-msgid "Save Unsupported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:77
-msgid "CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:78
-msgid "No CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:79
-msgid "Vertical Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:80
-msgid "Horizontal Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
-msgid "Custom Filter"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:91
-msgid "Publisher"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:92
-msgid "Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:764
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
-msgid "Partially Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:767
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
-msgid "Unsupported"
+#: src/frontend/mame/ui/miscmenu.cpp:776 src/frontend/mame/ui/mainmenu.cpp:145
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
-msgid "Release Region"
+#: src/frontend/mame/ui/miscmenu.cpp:778 src/frontend/mame/ui/mainmenu.cpp:147
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
-msgid "Device Type"
+#: src/frontend/mame/ui/miscmenu.cpp:781
+msgid "Save machine configuration"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
-msgid "Software List"
+#: src/frontend/mame/ui/miscmenu.cpp:792
+msgid "Configure machine:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
-msgid "<set up filters>"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:736
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:551 plugins/cheatfind/init.lua:619
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
-msgid "Select custom filters:"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:739
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:554 plugins/cheat/init.lua:563
+#: plugins/cheatfind/init.lua:616
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
-#, c-format
-msgid "Filter %1$u"
+#: src/frontend/mame/ui/miscmenu.cpp:909 src/frontend/mame/ui/selgame.cpp:441
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
-msgid "Remove last filter"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
-msgid "Add filter"
+#: src/frontend/mame/ui/barcode.cpp:78
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
-msgid "Select category:"
+#: src/frontend/mame/ui/barcode.cpp:119
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
-msgid "[no category INI files]"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:99
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
-msgid "[no groups in INI file]"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
-msgid "No category INI files found"
+#: src/frontend/mame/ui/mainmenu.cpp:60
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
-msgid "File"
+#: src/frontend/mame/ui/mainmenu.cpp:62
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
-msgid "No groups found in category file"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
-msgid "Group"
+#: src/frontend/mame/ui/mainmenu.cpp:68
+msgid "Dip Switches"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
-msgid "Include clones"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
+#: src/frontend/mame/ui/mainmenu.cpp:78
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/mainmenu.cpp:85
+msgid "Image Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/mainmenu.cpp:96
+msgid "Tape Control"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/mainmenu.cpp:102
+msgid "BIOS Selection"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/mainmenu.cpp:106
+msgid "Slot Devices"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
-#, c-format
-msgid "%s [internal]"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Barcode Reader"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:203 src/frontend/mame/ui/miscmenu.cpp:97
-#: src/frontend/mame/ui/inputmap.cpp:615
-msgid "Reset"
+#: src/frontend/mame/ui/mainmenu.cpp:114
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/mainmenu.cpp:118
+msgid "Keyboard Mode"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/mainmenu.cpp:121
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/mainmenu.cpp:124 src/frontend/mame/ui/submenu.cpp:101
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/mainmenu.cpp:128
+msgid "Crosshair Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/mainmenu.cpp:132 plugins/cheat/init.lua:735
+msgid "Cheat"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:762
-#: plugins/cheat/init.lua:569 plugins/cheatfind/init.lua:792
-#: plugins/cheatfind/init.lua:803
-msgid "On"
+#: src/frontend/mame/ui/mainmenu.cpp:135
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:765
-#: plugins/cheat/init.lua:572 plugins/cheat/init.lua:581
-#: plugins/cheatfind/init.lua:789 plugins/cheatfind/init.lua:800
-msgid "Off"
+#: src/frontend/mame/ui/mainmenu.cpp:139
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/mainmenu.cpp:154
+msgid "Select New Machine"
msgstr ""
#: src/frontend/mame/ui/custui.cpp:31
@@ -1378,1281 +1275,1303 @@ msgstr ""
msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/submenu.cpp:22
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/submenu.cpp:23
+msgid "Re-select last machine played"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/submenu.cpp:24
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:26
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:27
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:28
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:29
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:30
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
-#, c-format
-msgid "%s.txt saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/submenu.cpp:45
+msgid "Refresh speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/submenu.cpp:47
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/submenu.cpp:49
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
-msgid "Configure Machine"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
-#, c-format
-msgid "Romset\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
-#, c-format
-msgid "Year\t%1$s\n"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
-#, c-format
-msgid "Manufacturer\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
-#, c-format
-msgid "Driver is Clone of\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1044
-msgid "Driver is Parent\t\n"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
-msgid "Analog Controls\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Artwork Crop"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
-msgid "Keyboard Inputs\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Use Backdrops"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
-msgid "Overall\tNOT WORKING\n"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Use Overlays"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
-msgid "Overall\tUnemulated Protection\n"
+#: src/frontend/mame/ui/submenu.cpp:60
+msgid "Use Bezels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
-msgid "Overall\tWorking\n"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Use Control Panels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
-msgid "Graphics\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:62
+msgid "Use Marquees"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
-msgid "Graphics\tWrong Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
-msgid "Graphics\tImperfect Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
-msgid "Graphics\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
-msgid "Graphics\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Bilinear snapshot"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
-msgid "Sound\tNone\n"
+#: src/frontend/mame/ui/submenu.cpp:69
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
-msgid "Sound\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
-msgid "Sound\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:72
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
-msgid "Sound\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
-msgid "Capture\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
-msgid "Capture\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
-msgid "Camera\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
-msgid "Camera\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
-msgid "Microphone\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
-msgid "Microphone\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:79
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
-msgid "Controls\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
-msgid "Controls\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
-msgid "Keyboard\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Joystick saturation"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
-msgid "Keyboard\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Natural keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
-msgid "Mouse\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
-msgid "Mouse\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
-msgid "Media\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
-msgid "Media\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Lightgun Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
-msgid "Disk\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Trackball Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
-msgid "Disk\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
-msgid "Printer\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
-msgid "Printer\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
-msgid "Mag. Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:95
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
-msgid "Mag. Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:96
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
-msgid "Punch Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:97
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
-msgid "Punch Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
-msgid "Mag. Drum\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:103
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
-msgid "Mag. Drum\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
-msgid "(EP)ROM\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
-msgid "(EP)ROM\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
-msgid "Communications\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:109
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
-msgid "Communications\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:110
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
-msgid "LAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:111
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
-msgid "LAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:112
+msgid "Enforce Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
-msgid "WAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:113
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
-msgid "WAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:114
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
-msgid "Timing\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
-msgid "Timing\tImperfect\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tYes\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Select position to load from"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tNo\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tYes\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Select position to save to"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tNo\n"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:309 src/frontend/mame/ui/selsoft.cpp:211
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:314 src/frontend/mame/ui/selgame.cpp:320
+#: src/frontend/mame/ui/selsoft.cpp:216
+#, c-format
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:437
+msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:849
+#, c-format
+msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:850
+#, c-format
+msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:851
+#, c-format
+msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:855
+#, c-format
+msgid "Driver is Clone of\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:857
+msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tVertical\n"
+#: src/frontend/mame/ui/selgame.cpp:860
+msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tHorizontal\n"
+#: src/frontend/mame/ui/selgame.cpp:862
+msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:865
+msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:867
+msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
-msgid "ROM Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:869
+msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
-msgid "ROM Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:872
+msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
-msgid "Samples Audit Result\tNone Needed\n"
+#: src/frontend/mame/ui/selgame.cpp:874
+msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
-msgid "Samples Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:876
+msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
-msgid "Samples Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:878
+msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
-msgid ""
-"ROM Audit \tDisabled\n"
-"Samples Audit \tDisabled\n"
+#: src/frontend/mame/ui/selgame.cpp:880
+msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
+#: src/frontend/mame/ui/selgame.cpp:883
+msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1424
-#, c-format
-msgid "Romset: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:885
+msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
-#, c-format
-msgid "System: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:887
+msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1465
-msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
+#: src/frontend/mame/ui/selgame.cpp:889
+msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
+#: src/frontend/mame/ui/selgame.cpp:892
+msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
+#: src/frontend/mame/ui/selgame.cpp:894
+msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
+#: src/frontend/mame/ui/selgame.cpp:897
+msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
+#: src/frontend/mame/ui/selgame.cpp:899
+msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
+#: src/frontend/mame/ui/selgame.cpp:902
+msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selgame.cpp:904
+msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selgame.cpp:907
+msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/selgame.cpp:909
+msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/selgame.cpp:912
+msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/selgame.cpp:914
+msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/selgame.cpp:917
+msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/selgame.cpp:919
+msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/selgame.cpp:922
+msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/selgame.cpp:924
+msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/selgame.cpp:927
+msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/selgame.cpp:929
+msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/selgame.cpp:932
+msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/selgame.cpp:934
+msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/selgame.cpp:937
+msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/selgame.cpp:939
+msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/selgame.cpp:970
+msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/selgame.cpp:972
+msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/selgame.cpp:975
+msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/selgame.cpp:977
+msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/selgame.cpp:979
+msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/selgame.cpp:983
+msgid ""
+"ROM Audit \tDisabled\n"
+"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/selgame.cpp:1167
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/selgame.cpp:1183 src/frontend/mame/ui/selsoft.cpp:555
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/selgame.cpp:1185 src/frontend/mame/ui/selsoft.cpp:557
+#, c-format
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/selgame.cpp:1195
+#, c-format
+msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/selgame.cpp:1202
+#, c-format
+msgid "System: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/selgame.cpp:1239
+msgid ""
+"The selected machine is missing one or more required ROM or CHD images. "
+"Please select a different machine.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/selgame.cpp:1245 src/frontend/mame/ui/selsoft.cpp:462
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/utils.cpp:57 src/frontend/mame/ui/utils.cpp:81
+msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/utils.cpp:58 src/frontend/mame/ui/utils.cpp:82
+msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/utils.cpp:59 src/frontend/mame/ui/utils.cpp:83
+msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/utils.cpp:60
+msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/utils.cpp:61
+msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/utils.cpp:62
+msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:63
+msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:64
+msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:65
+msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:67
+msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:84
+msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/utils.cpp:85
+msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:70
+msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:86
+msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/utils.cpp:72
+msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/utils.cpp:73
+msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/utils.cpp:74
+msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/utils.cpp:75
+msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/utils.cpp:76
+msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/utils.cpp:77
+msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/utils.cpp:78 src/frontend/mame/ui/utils.cpp:94
+msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/utils.cpp:87
+msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/utils.cpp:88
+msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/utils.cpp:89
+msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/utils.cpp:90
+msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/utils.cpp:91
+msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:43
-#, c-format
-msgid ""
-"[This option is currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"The selected option enables the following items:\n"
+#: src/frontend/mame/ui/utils.cpp:92
+msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:44
-#, c-format
-msgid ""
-"[This option is NOT currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"If you select this option, the following items will be enabled:\n"
+#: src/frontend/mame/ui/utils.cpp:93
+msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/utils.cpp:244
+msgid "<set up filters>"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:352
+msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/utils.cpp:503
#, c-format
-msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
-msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:518
+msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %3$d.%4$06d MHz\n"
+#: src/frontend/mame/ui/utils.cpp:520
+msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:959
+msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/utils.cpp:990
+msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/utils.cpp:998
+msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:103
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1032
+msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1037
+msgid "File"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/utils.cpp:1041
+msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
-#, c-format
-msgid " %1$d×%2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1046
+msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1047
+msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:168
-#, c-format
+#: src/frontend/mame/ui/selsoft.cpp:456
msgid ""
-"* BIOS settings:\n"
-" %1$d options [default: %2$s]\n"
+"The selected software is missing one or more required files. Please select a "
+"different software.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:208 src/frontend/mame/ui/devopt.cpp:224
-#: src/frontend/mame/ui/devopt.cpp:269
+#: src/frontend/mame/ui/selsoft.cpp:549
#, c-format
-msgid " %1$s [default: %2$s]\n"
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
+#: src/frontend/mame/ui/selsoft.cpp:550
#, c-format
-msgid " %1$s\n"
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:260
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:419
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/filesel.cpp:515
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:516
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:518
+msgid "Read-write"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
-#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:519
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:520
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:117
+msgid "Cannot save over directory"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:150
+msgid ""
+"The software selected is missing one or more required ROM or CHD images. "
+"Please select a different one."
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:294
+msgid "Return to Machine"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
-#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:299 src/frontend/mame/ui/menu.cpp:301
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+#: src/frontend/mame/ui/menu.cpp:306 src/frontend/mame/ui/menu.cpp:308
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
-#, c-format
-msgid " %1$s [tag: %2$s]\n"
+#: src/frontend/mame/ui/menu.cpp:742
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
+#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:653
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+#: src/frontend/mame/ui/cheatopt.cpp:105
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/cheatopt.cpp:136
+msgid "Autofire Settings"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:581
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:582
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
+#: src/frontend/mame/ui/cheatopt.cpp:273
+msgid "Autofire Status"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
+#: src/frontend/mame/ui/cheatopt.cpp:316
+msgid "No buttons found on this machine!"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+#: src/frontend/mame/ui/cheatopt.cpp:327 src/frontend/mame/ui/cheatopt.cpp:331
+msgid "Autofire Delay"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
-msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
+#: src/frontend/mame/ui/ui.cpp:337
+msgid "This driver requires images to be loaded in the following device(s): "
msgstr ""
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
+#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
+msgid "Keyboard Emulation Status"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
+#: src/frontend/mame/ui/ui.cpp:1086
+msgid "Mode: PARTIAL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
+#: src/frontend/mame/ui/ui.cpp:1087
+msgid "UI: Enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
+#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
+msgid "**Use ScrLock to toggle**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
+#: src/frontend/mame/ui/ui.cpp:1096
+msgid "Mode: FULL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: src/frontend/mame/ui/ui.cpp:1097
+msgid "UI: Disabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
+#: src/frontend/mame/ui/ui.cpp:1249
+msgid "Autofire can't be enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
+#: src/frontend/mame/ui/ui.cpp:1302
+#, c-format
+msgid ""
+"Are you sure you want to quit?\n"
+"\n"
+"Press ''%1$s'' to quit,\n"
+"Press ''%2$s'' to return to emulation."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
+#: src/frontend/mame/ui/ui.cpp:1374
+msgid "Master Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
+#: src/frontend/mame/ui/ui.cpp:1383
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/ui.cpp:1407
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/ui.cpp:1416
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/ui.cpp:1437
+#, c-format
+msgid "%1$s Refresh Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, c-format
+msgid "%1$s Brightness"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1444
+#, c-format
+msgid "%1$s Contrast"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1446
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/ui.cpp:1450
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/ui.cpp:1452
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/ui.cpp:1454
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/ui.cpp:1456
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/ui.cpp:1475
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/ui.cpp:1477
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/ui.cpp:1479
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
-msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+#: src/frontend/mame/ui/ui.cpp:1481
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:198
-msgid ""
-"There are known problems with this machine\n"
-"\n"
+#: src/frontend/mame/ui/ui.cpp:1493
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/ui.cpp:1494
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/ui.cpp:1495
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
+#: src/frontend/mame/ui/ui.cpp:1496
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#: src/frontend/mame/ui/info.cpp:275
+#: src/frontend/mame/ui/ui.cpp:1511
#, c-format
-msgid ", %s"
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
+#: src/frontend/mame/ui/ui.cpp:1513
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:243
-msgid ""
-"This machine was never completed. It may exhibit strange behavior or missing "
-"elements that are not bugs in the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1601
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:245
-msgid ""
-"This machine has no sound hardware, MAME will produce no sounds, this is "
-"expected behaviour.\n"
+#: src/frontend/mame/ui/ui.cpp:1645
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:249
-msgid ""
-"\n"
-"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
-"complete. There is nothing you can do to fix this problem except wait for "
-"the developers to improve the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1661
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:251
-msgid ""
-"\n"
-"Elements of this machine cannot be emulated as they requires physical "
-"interaction or consist of mechanical devices. It is not possible to fully "
-"experience this machine.\n"
+#: src/frontend/mame/ui/ui.cpp:1685
+#, c-format
+msgid "%1$.3ffps"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
+#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
+#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
+#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
+#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
+#: src/frontend/mame/ui/ui.cpp:1927
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
+#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/ui.cpp:2005
#, c-format
-msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/ui.cpp:2226
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " COLORS"
+msgstr ""
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:39
#, c-format
-msgid "%1$s: %2$s\n"
+msgid ""
+"[This option is currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"The selected option enables the following items:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+#: src/frontend/mame/ui/devopt.cpp:40
+#, c-format
+msgid ""
+"[This option is NOT currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"If you select this option, the following items will be enabled:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:48
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
#, c-format
-msgid "Screen '%1$s'"
+msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
+msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:85
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:90
+#, c-format
+msgid " Screen '%1$s': Vector\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:99
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:100
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:113
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:133
+#, c-format
+msgid " %1$d×%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:164
+#, c-format
+msgid ""
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:204 src/frontend/mame/ui/devopt.cpp:220
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
+#: src/frontend/mame/ui/devopt.cpp:209 src/frontend/mame/ui/devopt.cpp:225
#, c-format
-msgid "Software is clone of: %1$-.100s"
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: src/frontend/mame/ui/devopt.cpp:230
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: src/frontend/mame/ui/devopt.cpp:232
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: src/frontend/mame/ui/devopt.cpp:234
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: src/frontend/mame/ui/devopt.cpp:236
+#, c-format
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
+#: src/frontend/mame/ui/devopt.cpp:238
#, c-format
-msgid "romset: %1$-.100s"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
+#: src/frontend/mame/ui/devopt.cpp:240
#, c-format
-msgid "Driver is clone of: %1$-.100s"
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: src/frontend/mame/ui/devopt.cpp:242
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
+#: src/frontend/mame/ui/devopt.cpp:244
#, c-format
-msgid "%1$s %2$s"
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: src/frontend/mame/ui/devopt.cpp:246
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: src/frontend/mame/ui/devopt.cpp:248
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: src/frontend/mame/ui/devopt.cpp:257
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: src/frontend/mame/ui/devopt.cpp:263
+msgid "* Slot Options:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:270
+msgid "[None]\n"
msgstr ""
#: plugins/timer/init.lua:94
@@ -2671,51 +2590,51 @@ msgstr ""
msgid "Timer"
msgstr ""
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:510
msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheat/init.lua:534
+#: plugins/cheat/init.lua:516
msgid "Press button for hotkey or wait to clear"
msgstr ""
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:528
msgid "None"
msgstr ""
-#: plugins/cheat/init.lua:551
+#: plugins/cheat/init.lua:533
msgid "Done"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:547 plugins/cheat/init.lua:561
msgid "Set"
msgstr ""
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:580
msgid "Set hotkeys"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:720
#, lua-format
msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:723 plugins/cheat/init.lua:781
#, lua-format
msgid "Activated: %s"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:785
#, lua-format
msgid "Enabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:790
#, lua-format
msgid "Disabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "%s added"
msgstr ""
@@ -2764,303 +2683,218 @@ msgstr ""
msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:404
+#: plugins/cheatfind/init.lua:373
msgid "Save Cheat"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Default"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Custom"
msgstr ""
-#: plugins/cheatfind/init.lua:408
+#: plugins/cheatfind/init.lua:377
msgid "Cheat Name"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/cheatfind/init.lua:383 plugins/cheatfind/init.lua:748
#, lua-format
msgid "Default name is %s"
msgstr ""
-#: plugins/cheatfind/init.lua:422
+#: plugins/cheatfind/init.lua:391
msgid "Player"
msgstr ""
-#: plugins/cheatfind/init.lua:427
+#: plugins/cheatfind/init.lua:396
msgid "Type"
msgstr ""
-#: plugins/cheatfind/init.lua:433
+#: plugins/cheatfind/init.lua:402
msgid "Save"
msgstr ""
-#: plugins/cheatfind/init.lua:462
+#: plugins/cheatfind/init.lua:429
#, lua-format
msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:472
+#: plugins/cheatfind/init.lua:437
msgid "Cheat added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:442
msgid ""
"Unable to write file\n"
"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/cheatfind/init.lua:486
+#: plugins/cheatfind/init.lua:451
msgid "Cancel"
msgstr ""
-#: plugins/cheatfind/init.lua:491
+#: plugins/cheatfind/init.lua:456
msgid "CPU or RAM"
msgstr ""
-#: plugins/cheatfind/init.lua:495
+#: plugins/cheatfind/init.lua:460
msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:479
+msgid "Data cleared and current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:487
+msgid "Start new search"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:497
+msgid "Current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:504
+msgid "Save current -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
+#: plugins/cheatfind/init.lua:536
#, lua-format
-msgid "Memory State saved to Slot %d"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:543
+msgid "Compare"
msgstr ""
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
+#: plugins/cheatfind/init.lua:546
+msgid "Left operand"
+msgstr ""
+
+#: plugins/cheatfind/init.lua:549
+msgid "Current"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:554
+msgid "Operator"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:561
+msgid "Left less than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:563
+msgid "Left greater than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:676
+#: plugins/cheatfind/init.lua:565
msgid "Left equal to right"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:567
+msgid "Left not equal to right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:680
+#: plugins/cheatfind/init.lua:569
msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:682
+#: plugins/cheatfind/init.lua:571
msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:684
+#: plugins/cheatfind/init.lua:573
msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:686
+#: plugins/cheatfind/init.lua:575
msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:688
+#: plugins/cheatfind/init.lua:577
msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:690
+#: plugins/cheatfind/init.lua:579
msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/cheatfind/init.lua:590
+msgid "Right operand"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/cheatfind/init.lua:598
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:719
+#: plugins/cheatfind/init.lua:602
msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:725
+#: plugins/cheatfind/init.lua:608
msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:738
-msgid ""
-"Use this if you want to poke the Slot 1 value (eg. You started with "
-"something but lost it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:740
-msgid ""
-"Use this if you want to poke the Last Slot value (eg. You started without an "
-"item but finally got it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:816
+#: plugins/cheatfind/init.lua:632
msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:820
+#: plugins/cheatfind/init.lua:636
msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:823
+#: plugins/cheatfind/init.lua:639
msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheatfind/init.lua:690
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Test cheat at addr %08X"
msgstr ""
-#: plugins/cheatfind/init.lua:974
+#: plugins/cheatfind/init.lua:722
msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
+#: plugins/cheatfind/init.lua:788
msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
+#: plugins/cheatfind/init.lua:806
msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
+#: plugins/cheatfind/init.lua:816
msgid "Cheat Finder"
msgstr ""
-#: plugins/portname/init.lua:103
+#: plugins/portname/init.lua:69
msgid "Save input names to file"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
+#: plugins/portname/init.lua:100 plugins/portname/init.lua:105
+#: plugins/portname/init.lua:121
msgid "Failed to save input name file"
msgstr ""
-#: plugins/portname/init.lua:167
+#: plugins/portname/init.lua:133
#, lua-format
msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/portname/init.lua:172
+#: plugins/portname/init.lua:138
msgid "Input ports"
msgstr ""
diff --git a/language/Vietnamese/strings.po b/language/Vietnamese/strings.po
index 7ae262ba014..8ad439b331e 100644
--- a/language/Vietnamese/strings.po
+++ b/language/Vietnamese/strings.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MAME\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-03-17 13:37+1100\n"
+"POT-Creation-Date: 2018-04-28 15:32+1000\n"
"PO-Revision-Date: 2016-02-20 18:03+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: MAME Language Team\n"
@@ -17,1144 +17,1041 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: src/frontend/mame/ui/videoopt.cpp:56
+#: src/frontend/mame/ui/auditmenu.cpp:96
#, c-format
-msgid "Screen #%d"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
-msgid "Rotate"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208
-msgid "Backdrops"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Enabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
-#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/ui.cpp:1255
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Disabled"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:212
-msgid "Overlays"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:216
-msgid "Bezels"
-msgstr ""
-
-#: src/frontend/mame/ui/videoopt.cpp:220
-msgid "CPanels"
+msgid "Audit ROMs for %1$u machines marked unavailable?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/dirmenu.cpp:51
-#: src/frontend/mame/ui/selmenu.cpp:86
-msgid "Marquees"
+#: src/frontend/mame/ui/auditmenu.cpp:99
+#, c-format
+msgid "Audit ROMs for all %1$u machines?"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "View"
+#: src/frontend/mame/ui/auditmenu.cpp:104
+#, c-format
+msgid "(results will be saved to %1$s)"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Cropped"
+#: src/frontend/mame/ui/auditmenu.cpp:130
+#, c-format
+msgid ""
+"Auditing ROMs for machine %2$u of %3$u...\n"
+"%1$s"
msgstr ""
-#: src/frontend/mame/ui/videoopt.cpp:228
-msgid "Full"
+#: src/frontend/mame/ui/auditmenu.cpp:142
+msgid "Start Audit"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:35
-msgid "ROMs"
+#: src/frontend/mame/ui/selmenu.cpp:49 src/frontend/mame/ui/dirmenu.cpp:45
+msgid "Snapshots"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:36
-msgid "Software Media"
+#: src/frontend/mame/ui/selmenu.cpp:50 src/frontend/mame/ui/dirmenu.cpp:46
+msgid "Cabinets"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:37
-msgid "UI"
+#: src/frontend/mame/ui/selmenu.cpp:51
+msgid "Control Panels"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
-msgid "Language"
+#: src/frontend/mame/ui/selmenu.cpp:52 src/frontend/mame/ui/dirmenu.cpp:50
+msgid "PCBs"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:39
-msgid "Samples"
+#: src/frontend/mame/ui/selmenu.cpp:53 src/frontend/mame/ui/dirmenu.cpp:47
+msgid "Flyers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:40
-msgid "DATs"
+#: src/frontend/mame/ui/selmenu.cpp:54 src/frontend/mame/ui/dirmenu.cpp:48
+msgid "Titles"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:41
-msgid "INIs"
+#: src/frontend/mame/ui/selmenu.cpp:55 src/frontend/mame/ui/dirmenu.cpp:49
+msgid "Ends"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:42
-msgid "Category INIs"
+#: src/frontend/mame/ui/selmenu.cpp:56
+msgid "Artwork Preview"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:43
-msgid "Icons"
+#: src/frontend/mame/ui/selmenu.cpp:57 src/frontend/mame/ui/dirmenu.cpp:55
+msgid "Bosses"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
-msgid "Cheats"
+#: src/frontend/mame/ui/selmenu.cpp:58 src/frontend/mame/ui/dirmenu.cpp:60
+msgid "Logos"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:45 src/frontend/mame/ui/selmenu.cpp:71
-msgid "Snapshots"
+#: src/frontend/mame/ui/selmenu.cpp:59 src/frontend/mame/ui/dirmenu.cpp:62
+msgid "Versus"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:46 src/frontend/mame/ui/selmenu.cpp:72
-msgid "Cabinets"
+#: src/frontend/mame/ui/selmenu.cpp:60
+msgid "Game Over"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:47 src/frontend/mame/ui/selmenu.cpp:75
-msgid "Flyers"
+#: src/frontend/mame/ui/selmenu.cpp:61 src/frontend/mame/ui/dirmenu.cpp:59
+msgid "HowTo"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:48 src/frontend/mame/ui/selmenu.cpp:76
-msgid "Titles"
+#: src/frontend/mame/ui/selmenu.cpp:62 src/frontend/mame/ui/dirmenu.cpp:61
+msgid "Scores"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:49 src/frontend/mame/ui/selmenu.cpp:77
-msgid "Ends"
+#: src/frontend/mame/ui/selmenu.cpp:63 src/frontend/mame/ui/dirmenu.cpp:57
+msgid "Select"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:50 src/frontend/mame/ui/selmenu.cpp:74
-msgid "PCBs"
+#: src/frontend/mame/ui/selmenu.cpp:64 src/frontend/mame/ui/dirmenu.cpp:51
+#: src/frontend/mame/ui/videoopt.cpp:224
+msgid "Marquees"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:52
-msgid "Controls Panels"
+#: src/frontend/mame/ui/selmenu.cpp:65 src/frontend/mame/ui/dirmenu.cpp:63
+msgid "Covers"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:53
-msgid "Crosshairs"
+#: src/frontend/mame/ui/selmenu.cpp:69
+msgid "Add or remove favorites"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:54
-msgid "Artworks"
+#: src/frontend/mame/ui/selmenu.cpp:70
+msgid "Export displayed list to file"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:55 src/frontend/mame/ui/selmenu.cpp:79
-msgid "Bosses"
+#: src/frontend/mame/ui/selmenu.cpp:71
+msgid "Show DATs view"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:56
-msgid "Artworks Preview"
+#: src/frontend/mame/ui/selmenu.cpp:237
+msgid "Software part selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:57 src/frontend/mame/ui/selmenu.cpp:85
-msgid "Select"
+#: src/frontend/mame/ui/selmenu.cpp:343
+msgid "BIOS selection:"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:58
-msgid "GameOver"
+#: src/frontend/mame/ui/selmenu.cpp:570 src/frontend/mame/ui/selmenu.cpp:606
+#: src/frontend/mame/ui/simpleselgame.cpp:311
+#, c-format
+msgid "%1$s, %2$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:59 src/frontend/mame/ui/selmenu.cpp:83
-msgid "HowTo"
+#: src/frontend/mame/ui/selmenu.cpp:574
+#, c-format
+msgid "Software is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:60 src/frontend/mame/ui/selmenu.cpp:80
-msgid "Logos"
+#: src/frontend/mame/ui/selmenu.cpp:576
+msgid "Software is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:61 src/frontend/mame/ui/selmenu.cpp:84
-msgid "Scores"
+#: src/frontend/mame/ui/selmenu.cpp:581
+msgid "Supported: No"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:62 src/frontend/mame/ui/selmenu.cpp:81
-msgid "Versus"
+#: src/frontend/mame/ui/selmenu.cpp:586
+msgid "Supported: Partial"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:63 src/frontend/mame/ui/selmenu.cpp:87
-msgid "Covers"
+#: src/frontend/mame/ui/selmenu.cpp:591
+msgid "Supported: Yes"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:116
-msgid "Folders Setup"
+#: src/frontend/mame/ui/selmenu.cpp:596
+#, c-format
+msgid "romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:167
+#: src/frontend/mame/ui/selmenu.cpp:612
#, c-format
-msgid "Current %1$s Folders"
+msgid "Driver is clone of: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Change Folder"
+#: src/frontend/mame/ui/selmenu.cpp:614
+msgid "Driver is parent"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:179
-msgid "Add Folder"
+#: src/frontend/mame/ui/selmenu.cpp:619
+#: src/frontend/mame/ui/simpleselgame.cpp:330
+msgid "Overall: NOT WORKING"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:182
-msgid "Remove Folder"
+#: src/frontend/mame/ui/selmenu.cpp:621
+#: src/frontend/mame/ui/simpleselgame.cpp:332
+msgid "Overall: Unemulated Protection"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Change %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:623
+#: src/frontend/mame/ui/simpleselgame.cpp:334
+msgid "Overall: Working"
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:418
-#, c-format
-msgid "Add %1$s Folder - Search: %2$s_"
+#: src/frontend/mame/ui/selmenu.cpp:627
+#: src/frontend/mame/ui/simpleselgame.cpp:338
+msgid "Graphics: Unimplemented, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:429
-msgid "Press TAB to set"
+#: src/frontend/mame/ui/selmenu.cpp:629
+#: src/frontend/mame/ui/simpleselgame.cpp:340
+msgid "Graphics: Imperfect, "
msgstr ""
-#: src/frontend/mame/ui/dirmenu.cpp:513
-#, c-format
-msgid "Remove %1$s Folder"
+#: src/frontend/mame/ui/selmenu.cpp:631
+#: src/frontend/mame/ui/simpleselgame.cpp:342
+msgid "Graphics: OK, "
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:115
-msgid "Selection List - Search: "
+#: src/frontend/mame/ui/selmenu.cpp:634
+#: src/frontend/mame/ui/simpleselgame.cpp:345
+msgid "Sound: None"
msgstr ""
-#: src/frontend/mame/ui/selector.cpp:123
-#, c-format
-msgid "Double click or press %1$s to select"
+#: src/frontend/mame/ui/selmenu.cpp:636
+#: src/frontend/mame/ui/simpleselgame.cpp:347
+msgid "Sound: Unimplemented"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:85
-msgid "stopped"
+#: src/frontend/mame/ui/selmenu.cpp:638
+#: src/frontend/mame/ui/simpleselgame.cpp:349
+msgid "Sound: Imperfect"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "playing"
+#: src/frontend/mame/ui/selmenu.cpp:640
+#: src/frontend/mame/ui/simpleselgame.cpp:351
+msgid "Sound: OK"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:87
-msgid "(playing)"
+#: src/frontend/mame/ui/selmenu.cpp:650
+#, c-format
+msgid "%1$s %2$s"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "recording"
+#: src/frontend/mame/ui/selmenu.cpp:1975
+msgid "Images"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:88
-msgid "(recording)"
+#: src/frontend/mame/ui/selmenu.cpp:1976
+msgid "Infos"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:95
-msgid "Pause/Stop"
+#: src/frontend/mame/ui/selmenu.cpp:2386 src/frontend/mame/ui/miscmenu.cpp:826
+msgid " (default)"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:98
-msgid "Play"
+#: src/frontend/mame/ui/selmenu.cpp:2454
+msgid "Usage"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:101
-msgid "Record"
+#: src/frontend/mame/ui/selmenu.cpp:2489
+msgid "General Info"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
-msgid "Rewind"
+#: src/frontend/mame/ui/dirmenu.cpp:35
+msgid "ROMs"
msgstr ""
-#: src/frontend/mame/ui/tapectrl.cpp:107
-msgid "Fast Forward"
+#: src/frontend/mame/ui/dirmenu.cpp:36
+msgid "Software Media"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/filesel.cpp:256
-#: src/frontend/mame/ui/slotopt.cpp:220
-msgid "[empty slot]"
+#: src/frontend/mame/ui/dirmenu.cpp:37
+msgid "UI"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:88
-msgid "[file manager]"
+#: src/frontend/mame/ui/dirmenu.cpp:38 src/frontend/mame/ui/custui.cpp:157
+msgid "Language"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
-msgid "[software list]"
+#: src/frontend/mame/ui/dirmenu.cpp:39
+msgid "Samples"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:228
-msgid "Switch Item Ordering"
+#: src/frontend/mame/ui/dirmenu.cpp:40
+msgid "DATs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-#, c-format
-msgid "Switched Order: entries now ordered by %s"
+#: src/frontend/mame/ui/dirmenu.cpp:41
+msgid "INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "shortname"
+#: src/frontend/mame/ui/dirmenu.cpp:42
+msgid "Category INIs"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:259
-msgid "description"
+#: src/frontend/mame/ui/dirmenu.cpp:43
+msgid "Icons"
msgstr ""
-#: src/frontend/mame/ui/swlist.cpp:389
-msgid "[compatible lists]"
+#: src/frontend/mame/ui/dirmenu.cpp:44 src/frontend/mame/ui/submenu.cpp:25
+msgid "Cheats"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:80
-msgid "Software Usage"
+#: src/frontend/mame/ui/dirmenu.cpp:52
+msgid "Controls Panels"
msgstr ""
-#: src/frontend/mame/ui/datmenu.cpp:362
-msgid "Revision: "
+#: src/frontend/mame/ui/dirmenu.cpp:53
+msgid "Crosshairs"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:79
-msgid "File Already Exists - Override?"
+#: src/frontend/mame/ui/dirmenu.cpp:54
+msgid "Artworks"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1054
-msgid "No"
+#: src/frontend/mame/ui/dirmenu.cpp:56
+msgid "Artworks Preview"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1054
-msgid "Yes"
+#: src/frontend/mame/ui/dirmenu.cpp:58
+msgid "GameOver"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:171
-msgid "New Image Name:"
+#: src/frontend/mame/ui/dirmenu.cpp:116
+msgid "Folders Setup"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:177
-msgid "Image Format:"
+#: src/frontend/mame/ui/dirmenu.cpp:167
+#, c-format
+msgid "Current %1$s Folders"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:183
-msgid "Create"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Change Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:214
-msgid "Please enter a file extension too"
+#: src/frontend/mame/ui/dirmenu.cpp:179
+msgid "Add Folder"
msgstr ""
-#: src/frontend/mame/ui/filecreate.cpp:266
-msgid "Select image format"
+#: src/frontend/mame/ui/dirmenu.cpp:182
+msgid "Remove Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:60
-msgid "Input (general)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Change %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:62
-msgid "Input (this Machine)"
+#: src/frontend/mame/ui/dirmenu.cpp:418
+#, c-format
+msgid "Add %1$s Folder - Search: %2$s_"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:65
-msgid "Analog Controls"
+#: src/frontend/mame/ui/dirmenu.cpp:429
+msgid "Press TAB to set"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:67
-msgid "Dip Switches"
+#: src/frontend/mame/ui/dirmenu.cpp:513
+#, c-format
+msgid "Remove %1$s Folder"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:69
-msgid "Machine Configuration"
+#: src/frontend/mame/ui/info.cpp:30
+msgid "protection"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:71
-msgid "Bookkeeping Info"
+#: src/frontend/mame/ui/info.cpp:31
+msgid "color palette"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:73
-msgid "Machine Information"
+#: src/frontend/mame/ui/info.cpp:32
+msgid "graphics"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:79
-msgid "Image Information"
+#: src/frontend/mame/ui/info.cpp:33
+msgid "sound"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:81
-msgid "File Manager"
+#: src/frontend/mame/ui/info.cpp:34
+msgid "controls"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:88
-msgid "Tape Control"
+#: src/frontend/mame/ui/info.cpp:35
+msgid "keyboard"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:91 src/frontend/mame/ui/info_pty.cpp:30
-msgid "Pseudo terminals"
+#: src/frontend/mame/ui/info.cpp:36
+msgid "mouse"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:94
-msgid "BIOS Selection"
+#: src/frontend/mame/ui/info.cpp:37
+msgid "microphone"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:97
-msgid "Slot Devices"
+#: src/frontend/mame/ui/info.cpp:38
+msgid "camera"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:100
-msgid "Barcode Reader"
+#: src/frontend/mame/ui/info.cpp:39
+msgid "disk"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:103
-msgid "Network Devices"
+#: src/frontend/mame/ui/info.cpp:40
+msgid "printer"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:106
-msgid "Keyboard Mode"
+#: src/frontend/mame/ui/info.cpp:41
+msgid "LAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:108
-msgid "Slider Controls"
+#: src/frontend/mame/ui/info.cpp:42
+msgid "WAN"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:110 src/frontend/mame/ui/submenu.cpp:101
-msgid "Video Options"
+#: src/frontend/mame/ui/info.cpp:43
+msgid "timing"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:113
-msgid "Crosshair Options"
+#: src/frontend/mame/ui/info.cpp:180
+msgid ""
+"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
+"run correctly.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:116 plugins/cheat/init.lua:753
-msgid "Cheat"
+#: src/frontend/mame/ui/info.cpp:190
+msgid ""
+"There are known problems with this machine\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:119
-msgid "Plugin Options"
+#: src/frontend/mame/ui/info.cpp:195
+msgid ""
+"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:122
-msgid "External DAT View"
+#: src/frontend/mame/ui/info.cpp:200
+msgid "Completely unemulated features: "
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:127 src/frontend/mame/ui/miscmenu.cpp:786
-msgid "Add To Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#, c-format
+msgid "%s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:129 src/frontend/mame/ui/miscmenu.cpp:788
-msgid "Remove From Favorites"
+#: src/frontend/mame/ui/info.cpp:206 src/frontend/mame/ui/info.cpp:222
+#: src/frontend/mame/ui/info.cpp:267
+#, c-format
+msgid ", %s"
msgstr ""
-#: src/frontend/mame/ui/mainmenu.cpp:135
-msgid "Select New Machine"
+#: src/frontend/mame/ui/info.cpp:216
+msgid "Imperfectly emulated features: "
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:74
-msgid "New Barcode:"
+#: src/frontend/mame/ui/info.cpp:231
+msgid "Screen flipping in cocktail mode is not supported.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:78
-msgid "Enter Code"
+#: src/frontend/mame/ui/info.cpp:233
+msgid "This machine requires external artwork files.\n"
msgstr ""
-#: src/frontend/mame/ui/barcode.cpp:119
-msgid "Barcode length invalid!"
+#: src/frontend/mame/ui/info.cpp:235
+msgid ""
+"This machine was never completed. It may exhibit strange behavior or missing "
+"elements that are not bugs in the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/info_pty.cpp:39
-msgid "[failed]"
+#: src/frontend/mame/ui/info.cpp:237
+msgid ""
+"This machine has no sound hardware, MAME will produce no sounds, this is "
+"expected behaviour.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:72 src/frontend/mame/ui/sndmenu.cpp:149
-msgid "Sound Options"
+#: src/frontend/mame/ui/info.cpp:241
+msgid ""
+"\n"
+"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
+"complete. There is nothing you can do to fix this problem except wait for "
+"the developers to improve the emulation.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:75
-msgid "General Inputs"
+#: src/frontend/mame/ui/info.cpp:243
+msgid ""
+"\n"
+"Elements of this machine cannot be emulated as they requires physical "
+"interaction or consist of mechanical devices. It is not possible to fully "
+"experience this machine.\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:78
-msgid "Save Configuration"
+#: src/frontend/mame/ui/info.cpp:265
+#, c-format
+msgid ""
+"\n"
+"\n"
+"There are working clones of this machine: %s"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:141
-msgid "Settings"
+#: src/frontend/mame/ui/info.cpp:278
+msgid ""
+"\n"
+"\n"
+"Press any key to continue"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:199
-msgid "Filter"
+#: src/frontend/mame/ui/info.cpp:293
+#, c-format
+msgid ""
+"%1$s\n"
+"%2$s %3$s\n"
+"Driver: %4$s\n"
+"\n"
+"CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:212
-msgid "Customize UI"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "MHz"
msgstr ""
-#: src/frontend/mame/ui/optsmenu.cpp:213
-msgid "Configure Directories"
+#: src/frontend/mame/ui/info.cpp:328 src/frontend/mame/ui/info.cpp:366
+msgid "kHz"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:149
+#: src/frontend/mame/ui/info.cpp:342
msgid ""
-"The selected game is missing one or more required ROM or CHD images. Please "
-"select a different game.\n"
"\n"
-"Press any key to continue."
+"Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:247
-#, c-format
+#: src/frontend/mame/ui/info.cpp:370
msgid ""
-"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
"\n"
-"If this is your first time using %2$s, please see the config.txt file in the "
-"docs directory for information on configuring %2$s."
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:277
-#: src/frontend/mame/ui/selgame.cpp:606
-msgid "Configure Options"
+"Video:\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:298
-#, c-format
-msgid "Type name or select: %1$s_"
+#: src/frontend/mame/ui/info.cpp:374
+msgid "None\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:300
-msgid "Type name or select: (random)"
+#: src/frontend/mame/ui/info.cpp:381
+msgid "Vector"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:314
-#: src/frontend/mame/ui/selsoft.cpp:652 src/frontend/mame/ui/selsoft.cpp:659
+#: src/frontend/mame/ui/info.cpp:392
#, c-format
-msgid "%1$-.100s"
+msgid "%1$s: %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:317
-#: src/frontend/mame/ui/selmenu.cpp:618 src/frontend/mame/ui/selmenu.cpp:654
-#, c-format
-msgid "%1$s, %2$-.100s"
+#: src/frontend/mame/ui/info.cpp:392
+msgid "%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:320
+#: src/frontend/mame/ui/info.cpp:438
#, c-format
-msgid "Driver: %1$-.100s"
-msgstr ""
-
-#: src/frontend/mame/ui/simpleselgame.cpp:336
-#: src/frontend/mame/ui/selmenu.cpp:667
-msgid "Overall: NOT WORKING"
+msgid "Screen '%1$s'"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:338
-#: src/frontend/mame/ui/selmenu.cpp:669
-msgid "Overall: Unemulated Protection"
+#: src/frontend/mame/ui/info.cpp:440
+msgid "Screen"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:340
-#: src/frontend/mame/ui/selmenu.cpp:671
-msgid "Overall: Working"
+#: src/frontend/mame/ui/info.cpp:525
+msgid "Not supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:344
-#: src/frontend/mame/ui/selmenu.cpp:675
-msgid "Graphics: Unimplemented, "
+#: src/frontend/mame/ui/info.cpp:528
+msgid "Partially supported"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:346
-#: src/frontend/mame/ui/selmenu.cpp:677
-msgid "Graphics: Imperfect, "
+#: src/frontend/mame/ui/info.cpp:536
+msgid "[empty]"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:348
-#: src/frontend/mame/ui/selmenu.cpp:679
-msgid "Graphics: OK, "
+#: src/frontend/mame/ui/optsmenu.cpp:193
+msgid "Filter"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:351
-#: src/frontend/mame/ui/selmenu.cpp:682
-msgid "Sound: None"
+#: src/frontend/mame/ui/optsmenu.cpp:206
+msgid "Customize UI"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:353
-#: src/frontend/mame/ui/selmenu.cpp:684
-msgid "Sound: Unimplemented"
+#: src/frontend/mame/ui/optsmenu.cpp:207
+msgid "Configure Directories"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:355
-#: src/frontend/mame/ui/selmenu.cpp:686
-msgid "Sound: Imperfect"
+#: src/frontend/mame/ui/optsmenu.cpp:210 src/frontend/mame/ui/sndmenu.cpp:149
+msgid "Sound Options"
msgstr ""
-#: src/frontend/mame/ui/simpleselgame.cpp:357
-#: src/frontend/mame/ui/selmenu.cpp:688
-msgid "Sound: OK"
+#: src/frontend/mame/ui/optsmenu.cpp:213
+msgid "General Inputs"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Load State"
+#: src/frontend/mame/ui/optsmenu.cpp:216
+msgid "Save Configuration"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:388
-msgid "Select position to load from"
+#: src/frontend/mame/ui/optsmenu.cpp:228
+msgid "Settings"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Save State"
+#: src/frontend/mame/ui/tapectrl.cpp:85
+msgid "stopped"
msgstr ""
-#: src/frontend/mame/ui/state.cpp:412
-msgid "Select position to save to"
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "playing"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:337
-msgid "This driver requires images to be loaded in the following device(s): "
+#: src/frontend/mame/ui/tapectrl.cpp:87
+msgid "(playing)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
-msgid "Keyboard Emulation Status"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "recording"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1086
-msgid "Mode: PARTIAL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:88
+msgid "(recording)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1087
-msgid "UI: Enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:95
+msgid "Pause/Stop"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
-msgid "**Use ScrLock to toggle**"
+#: src/frontend/mame/ui/tapectrl.cpp:98
+msgid "Play"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1096
-msgid "Mode: FULL Emulation"
+#: src/frontend/mame/ui/tapectrl.cpp:101
+msgid "Record"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1097
-msgid "UI: Disabled"
+#: src/frontend/mame/ui/tapectrl.cpp:104 src/frontend/mame/ui/submenu.cpp:66
+msgid "Rewind"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1249
-msgid "Autofire can't be enabled"
+#: src/frontend/mame/ui/tapectrl.cpp:107
+msgid "Fast Forward"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1302
-#, c-format
-msgid ""
-"Are you sure you want to quit?\n"
-"\n"
-"Press ''%1$s'' to quit,\n"
-"Press ''%2$s'' to return to emulation."
+#: src/frontend/mame/ui/inputmap.cpp:53
+msgid "User Interface"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1374
-msgid "Master Volume"
+#: src/frontend/mame/ui/inputmap.cpp:59
+msgid "Other Controls"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1383
-#, c-format
-msgid "%1$s Volume"
+#: src/frontend/mame/ui/inputmap.cpp:628 src/frontend/mame/ui/miscmenu.cpp:96
+#: src/frontend/mame/ui/slotopt.cpp:203
+msgid "Reset"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1407
-#, c-format
-msgid "Overclock CPU %1$s"
+#: src/frontend/mame/ui/selector.cpp:116
+msgid "Selection List - Search: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1416
+#: src/frontend/mame/ui/selector.cpp:124
#, c-format
-msgid "Overclock %1$s sound"
+msgid "Double click or press %1$s to select"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1437
-#, c-format
-msgid "%1$s Refresh Rate"
+#: src/frontend/mame/ui/swlist.cpp:83 src/frontend/mame/ui/slotopt.cpp:220
+#: src/frontend/mame/ui/filesel.cpp:256
+msgid "[empty slot]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1442
-#, c-format
-msgid "%1$s Brightness"
+#: src/frontend/mame/ui/swlist.cpp:88
+msgid "[file manager]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1444
-#, c-format
-msgid "%1$s Contrast"
+#: src/frontend/mame/ui/swlist.cpp:94 src/frontend/mame/ui/filesel.cpp:264
+msgid "[software list]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1446
-#, c-format
-msgid "%1$s Gamma"
+#: src/frontend/mame/ui/swlist.cpp:228
+msgid "Switch Item Ordering"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1450
+#: src/frontend/mame/ui/swlist.cpp:259
#, c-format
-msgid "%1$s Horiz Stretch"
+msgid "Switched Order: entries now ordered by %s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1452
-#, c-format
-msgid "%1$s Horiz Position"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "shortname"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1454
-#, c-format
-msgid "%1$s Vert Stretch"
+#: src/frontend/mame/ui/swlist.cpp:259
+msgid "description"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1456
-#, c-format
-msgid "%1$s Vert Position"
+#: src/frontend/mame/ui/swlist.cpp:389
+msgid "[compatible lists]"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1475
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Stretch"
+#: src/frontend/mame/ui/datmenu.cpp:80
+msgid "Software Usage"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1477
-#, c-format
-msgid "Laserdisc '%1$s' Horiz Position"
+#: src/frontend/mame/ui/datmenu.cpp:362
+msgid "Revision: "
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1479
-#, c-format
-msgid "Laserdisc '%1$s' Vert Stretch"
+#: src/frontend/mame/ui/simpleselgame.cpp:149
+msgid ""
+"The selected game is missing one or more required ROM or CHD images. Please "
+"select a different game.\n"
+"\n"
+"Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1481
+#: src/frontend/mame/ui/simpleselgame.cpp:241
#, c-format
-msgid "Laserdisc '%1$s' Vert Position"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1493
-msgid "Vector Flicker"
+msgid ""
+"No machines found. Please check the rompath specified in the %1$s.ini file.\n"
+"\n"
+"If this is your first time using %2$s, please see the config.txt file in the "
+"docs directory for information on configuring %2$s."
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1494
-msgid "Beam Width Minimum"
+#: src/frontend/mame/ui/simpleselgame.cpp:271
+#: src/frontend/mame/ui/selgame.cpp:436
+msgid "Configure Options"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1495
-msgid "Beam Width Maximum"
+#: src/frontend/mame/ui/simpleselgame.cpp:292
+#, c-format
+msgid "Type name or select: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1496
-msgid "Beam Intensity Weight"
+#: src/frontend/mame/ui/simpleselgame.cpp:294
+msgid "Type name or select: (random)"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511
+#: src/frontend/mame/ui/simpleselgame.cpp:308
+#: src/frontend/mame/ui/selsoft.cpp:564 src/frontend/mame/ui/selsoft.cpp:571
#, c-format
-msgid "Crosshair Scale %1$s"
-msgstr ""
-
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "X"
+msgid "%1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
-msgid "Y"
+#: src/frontend/mame/ui/simpleselgame.cpp:314
+#, c-format
+msgid "Driver: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1513
+#: src/frontend/mame/ui/videoopt.cpp:56
#, c-format
-msgid "Crosshair Offset %1$s"
+msgid "Screen #%d"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1601
-#, c-format
-msgid "%1$3ddB"
+#: src/frontend/mame/ui/videoopt.cpp:204 src/frontend/mame/ui/submenu.cpp:48
+msgid "Rotate"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1645
-#, c-format
-msgid "%1$d%%"
+#: src/frontend/mame/ui/videoopt.cpp:208
+msgid "Backdrops"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1661
-#, c-format
-msgid "%1$3.0f%%"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Enabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1685
-#, c-format
-msgid "%1$.3ffps"
+#: src/frontend/mame/ui/videoopt.cpp:208 src/frontend/mame/ui/videoopt.cpp:212
+#: src/frontend/mame/ui/videoopt.cpp:216 src/frontend/mame/ui/videoopt.cpp:220
+#: src/frontend/mame/ui/videoopt.cpp:224 src/frontend/mame/ui/cheatopt.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1255
+msgid "Disabled"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
-#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
-#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
-#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
-#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
-#: src/frontend/mame/ui/ui.cpp:1927
-#, c-format
-msgid "%1$.3f"
+#: src/frontend/mame/ui/videoopt.cpp:212
+msgid "Overlays"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
-#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
-#, c-format
-msgid "%1$1.2f"
+#: src/frontend/mame/ui/videoopt.cpp:216
+msgid "Bezels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:220
+msgid "CPanels"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2005
-#, c-format
-msgid "Crosshair Scale Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "View"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset X %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Cropped"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2024
-#, c-format
-msgid "Crosshair Offset Y %1$1.3f"
+#: src/frontend/mame/ui/videoopt.cpp:228
+msgid "Full"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2167
-msgid "**Error saving ui.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:79
+msgid "File Already Exists - Override?"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2226
-#, c-format
-msgid "**Error saving %s.ini**"
+#: src/frontend/mame/ui/filecreate.cpp:81 src/frontend/mame/ui/utils.cpp:1047
+msgid "No"
msgstr ""
-#: src/frontend/mame/ui/ui.cpp:2230 src/frontend/mame/ui/miscmenu.cpp:726
-msgid ""
-"\n"
-" Configuration saved \n"
-"\n"
+#: src/frontend/mame/ui/filecreate.cpp:82 src/frontend/mame/ui/utils.cpp:1047
+msgid "Yes"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:671
-#, c-format, lua-format
-msgid ""
-"Cheat Comment:\n"
-"%s"
+#: src/frontend/mame/ui/filecreate.cpp:171
+msgid "New Image Name:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:105
-msgid "All cheats reloaded"
+#: src/frontend/mame/ui/filecreate.cpp:177
+msgid "Image Format:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:136
-msgid "Autofire Settings"
+#: src/frontend/mame/ui/filecreate.cpp:183
+msgid "Create"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:599
-msgid "Reset All"
+#: src/frontend/mame/ui/filecreate.cpp:214
+msgid "Please enter a file extension too"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:600
-msgid "Reload All"
+#: src/frontend/mame/ui/filecreate.cpp:266
+msgid "Select image format"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:273
-msgid "Autofire Status"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Keyboard Mode:"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:306
-msgid "No buttons found on this machine!"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Natural"
msgstr ""
-#: src/frontend/mame/ui/cheatopt.cpp:317 src/frontend/mame/ui/cheatopt.cpp:321
-msgid "Autofire Delay"
+#: src/frontend/mame/ui/miscmenu.cpp:43
+msgid "Emulated"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:228 src/frontend/mame/ui/selgame.cpp:464
+#: src/frontend/mame/ui/miscmenu.cpp:236
#, c-format
msgid ""
-"%s\n"
-" added to favorites list."
+"Uptime: %1$d:%2$02d:%3$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:233 src/frontend/mame/ui/selgame.cpp:469
-#: src/frontend/mame/ui/selgame.cpp:475
+#: src/frontend/mame/ui/miscmenu.cpp:238
#, c-format
msgid ""
-"%s\n"
-" removed from favorites list."
+"Uptime: %1$d:%2$02d\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:507
+#: src/frontend/mame/ui/miscmenu.cpp:242
+#, c-format
msgid ""
-"The selected software is missing one or more required files. Please select a "
-"different software.\n"
+"Tickets dispensed: %1$d\n"
"\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:513 src/frontend/mame/ui/selgame.cpp:1471
-msgid "Press any key to continue."
+#: src/frontend/mame/ui/miscmenu.cpp:253
+msgid "Coin %1$c: NA%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:637
+#: src/frontend/mame/ui/miscmenu.cpp:253
#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d software packages )"
+msgid "Coin %1$c: %2$d%3$s\n"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:638
-#, c-format
-msgid "Driver: \"%1$s\" software list "
+#: src/frontend/mame/ui/miscmenu.cpp:256
+msgid " (locked)"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:643 src/frontend/mame/ui/selgame.cpp:1412
-#, c-format
-msgid "%1$s: %2$s - Search: %3$s_"
+#: src/frontend/mame/ui/miscmenu.cpp:503
+msgid "Visible Delay"
msgstr ""
-#: src/frontend/mame/ui/selsoft.cpp:645 src/frontend/mame/ui/selgame.cpp:1414
+#: src/frontend/mame/ui/miscmenu.cpp:601
#, c-format
-msgid "Search: %1$s_"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:60 src/frontend/mame/ui/utils.cpp:84
-msgid "Unfiltered"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:61 src/frontend/mame/ui/utils.cpp:85
-msgid "Available"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:62 src/frontend/mame/ui/utils.cpp:86
-msgid "Unavailable"
+msgid "%s.xml saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:63
-msgid "Working"
+#: src/frontend/mame/ui/miscmenu.cpp:627
+msgid "Name: Description:\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:64
-msgid "Not Working"
+#: src/frontend/mame/ui/miscmenu.cpp:638
+#, c-format
+msgid "%s.txt saved under ui folder."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:65
-msgid "Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:655
+msgid "Export list in XML format (like -listxml)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:66
-msgid "Not Mechanical"
+#: src/frontend/mame/ui/miscmenu.cpp:656
+msgid "Export list in XML format (like -listxml, but exclude devices)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:67
-msgid "Category"
+#: src/frontend/mame/ui/miscmenu.cpp:657
+msgid "Export list in TXT format (like -listfull)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:87
-msgid "Favorites"
+#: src/frontend/mame/ui/miscmenu.cpp:710 src/frontend/mame/ui/ui.cpp:2230
+msgid ""
+"\n"
+" Configuration saved \n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/miscmenu.cpp:770
+#: src/frontend/mame/ui/miscmenu.cpp:760 src/frontend/mame/ui/utils.cpp:66
msgid "BIOS"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:70
-msgid "Not BIOS"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:88
-msgid "Parents"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:72 src/frontend/mame/ui/utils.cpp:89
-msgid "Clones"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:73
-msgid "Manufacturer"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:74 src/frontend/mame/ui/utils.cpp:90
-msgid "Year"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:75
-msgid "Save Supported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:76
-msgid "Save Unsupported"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:77
-msgid "CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:78
-msgid "No CHD Required"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:79
-msgid "Vertical Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:80
-msgid "Horizontal Screen"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:81 src/frontend/mame/ui/utils.cpp:98
-msgid "Custom Filter"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:91
-msgid "Publisher"
-msgstr ""
-
-#: src/frontend/mame/ui/utils.cpp:92
-msgid "Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:764
+msgid "Driver"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:93
-msgid "Partially Supported"
+#: src/frontend/mame/ui/miscmenu.cpp:767
+msgid "This machine has no BIOS."
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:94
-msgid "Unsupported"
+#: src/frontend/mame/ui/miscmenu.cpp:776 src/frontend/mame/ui/mainmenu.cpp:145
+msgid "Add To Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:95
-msgid "Release Region"
+#: src/frontend/mame/ui/miscmenu.cpp:778 src/frontend/mame/ui/mainmenu.cpp:147
+msgid "Remove From Favorites"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:96
-msgid "Device Type"
+#: src/frontend/mame/ui/miscmenu.cpp:781
+msgid "Save machine configuration"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:97
-msgid "Software List"
+#: src/frontend/mame/ui/miscmenu.cpp:792
+msgid "Configure machine:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:248
-msgid "<set up filters>"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:736
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:551 plugins/cheatfind/init.lua:619
+msgid "On"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:356
-msgid "Select custom filters:"
+#: src/frontend/mame/ui/miscmenu.cpp:895 src/frontend/mame/ui/sndmenu.cpp:135
+#: src/frontend/mame/ui/sndmenu.cpp:137 src/frontend/mame/ui/menu.cpp:739
+#: src/frontend/mame/ui/cheatopt.cpp:299 src/frontend/mame/ui/cheatopt.cpp:305
+#: plugins/cheat/init.lua:554 plugins/cheat/init.lua:563
+#: plugins/cheatfind/init.lua:616
+msgid "Off"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:507
-#, c-format
-msgid "Filter %1$u"
+#: src/frontend/mame/ui/miscmenu.cpp:909 src/frontend/mame/ui/selgame.cpp:441
+msgid "Plugins"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:522
-msgid "Remove last filter"
+#: src/frontend/mame/ui/barcode.cpp:74
+msgid "New Barcode:"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:524
-msgid "Add filter"
+#: src/frontend/mame/ui/barcode.cpp:78
+msgid "Enter Code"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:966
-msgid "Select category:"
+#: src/frontend/mame/ui/barcode.cpp:119
+msgid "Barcode length invalid!"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:997
-msgid "[no category INI files]"
+#: src/frontend/mame/ui/info_pty.cpp:30 src/frontend/mame/ui/mainmenu.cpp:99
+msgid "Pseudo terminals"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1005
-msgid "[no groups in INI file]"
+#: src/frontend/mame/ui/info_pty.cpp:39
+msgid "[failed]"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1039
-msgid "No category INI files found"
+#: src/frontend/mame/ui/mainmenu.cpp:60
+msgid "Input (general)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1044
-msgid "File"
+#: src/frontend/mame/ui/mainmenu.cpp:62
+msgid "Input (this Machine)"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1048
-msgid "No groups found in category file"
+#: src/frontend/mame/ui/mainmenu.cpp:66
+msgid "Analog Controls"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1053
-msgid "Group"
+#: src/frontend/mame/ui/mainmenu.cpp:68
+msgid "Dip Switches"
msgstr ""
-#: src/frontend/mame/ui/utils.cpp:1054
-msgid "Include clones"
+#: src/frontend/mame/ui/mainmenu.cpp:71
+msgid "Machine Configuration"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:260
-msgid "[create]"
+#: src/frontend/mame/ui/mainmenu.cpp:75
+msgid "Bookkeeping Info"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:320
-#, c-format
-msgid "Error accessing %s"
+#: src/frontend/mame/ui/mainmenu.cpp:78
+msgid "Machine Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:536
-msgid "Select access mode"
+#: src/frontend/mame/ui/mainmenu.cpp:85
+msgid "Image Information"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:537
-msgid "Read-only"
+#: src/frontend/mame/ui/mainmenu.cpp:88
+msgid "File Manager"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:539
-msgid "Read-write"
+#: src/frontend/mame/ui/mainmenu.cpp:96
+msgid "Tape Control"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:540
-msgid "Read this image, write to another image"
+#: src/frontend/mame/ui/mainmenu.cpp:102
+msgid "BIOS Selection"
msgstr ""
-#: src/frontend/mame/ui/filesel.cpp:541
-msgid "Read this image, write to diff"
+#: src/frontend/mame/ui/mainmenu.cpp:106
+msgid "Slot Devices"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:192
-#, c-format
-msgid "%s [internal]"
+#: src/frontend/mame/ui/mainmenu.cpp:110
+msgid "Barcode Reader"
msgstr ""
-#: src/frontend/mame/ui/slotopt.cpp:203 src/frontend/mame/ui/miscmenu.cpp:97
-#: src/frontend/mame/ui/inputmap.cpp:615
-msgid "Reset"
+#: src/frontend/mame/ui/mainmenu.cpp:114
+msgid "Network Devices"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " COLORS"
+#: src/frontend/mame/ui/mainmenu.cpp:118
+msgid "Keyboard Mode"
msgstr ""
-#: src/frontend/mame/ui/viewgfx.cpp:407
-msgid " PENS"
+#: src/frontend/mame/ui/mainmenu.cpp:121
+msgid "Slider Controls"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:304
-msgid "Return to Machine"
+#: src/frontend/mame/ui/mainmenu.cpp:124 src/frontend/mame/ui/submenu.cpp:101
+msgid "Video Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:309 src/frontend/mame/ui/menu.cpp:311
-msgid "Exit"
+#: src/frontend/mame/ui/mainmenu.cpp:128
+msgid "Crosshair Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:316 src/frontend/mame/ui/menu.cpp:318
-msgid "Return to Previous Menu"
+#: src/frontend/mame/ui/mainmenu.cpp:132 plugins/cheat/init.lua:735
+msgid "Cheat"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:762
-#: plugins/cheat/init.lua:569 plugins/cheatfind/init.lua:792
-#: plugins/cheatfind/init.lua:803
-msgid "On"
+#: src/frontend/mame/ui/mainmenu.cpp:135
+msgid "Plugin Options"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:430 src/frontend/mame/ui/menu.cpp:765
-#: plugins/cheat/init.lua:572 plugins/cheat/init.lua:581
-#: plugins/cheatfind/init.lua:789 plugins/cheatfind/init.lua:800
-msgid "Off"
+#: src/frontend/mame/ui/mainmenu.cpp:139
+msgid "External DAT View"
msgstr ""
-#: src/frontend/mame/ui/menu.cpp:768
-msgid "Auto"
+#: src/frontend/mame/ui/mainmenu.cpp:154
+msgid "Select New Machine"
msgstr ""
#: src/frontend/mame/ui/custui.cpp:31
@@ -1377,1281 +1274,1303 @@ msgstr ""
msgid "Violet"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Keyboard Mode:"
+#: src/frontend/mame/ui/submenu.cpp:22
+msgid "Miscellaneous Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Natural"
+#: src/frontend/mame/ui/submenu.cpp:23
+msgid "Re-select last machine played"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:44
-msgid "Emulated"
+#: src/frontend/mame/ui/submenu.cpp:24
+msgid "Enlarge images in the right panel"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:237
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d:%3$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:26
+msgid "Show mouse pointer"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:239
-#, c-format
-msgid ""
-"Uptime: %1$d:%2$02d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:27
+msgid "Confirm quit from machines"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:243
-#, c-format
-msgid ""
-"Tickets dispensed: %1$d\n"
-"\n"
+#: src/frontend/mame/ui/submenu.cpp:28
+msgid "Skip information screen at startup"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-msgid "Coin %1$c: NA%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:29
+msgid "Force 4:3 aspect for snapshot display"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:254
-#, c-format
-msgid "Coin %1$c: %2$d%3$s\n"
+#: src/frontend/mame/ui/submenu.cpp:30
+msgid "Use image as background"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:257
-msgid " (locked)"
+#: src/frontend/mame/ui/submenu.cpp:31
+msgid "Skip BIOS selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:504
-msgid "Visible Delay"
+#: src/frontend/mame/ui/submenu.cpp:32
+msgid "Skip software parts selection menu"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:602
-#, c-format
-msgid "%s.xml saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:33
+msgid "Info auto audit"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:628
-msgid "Name: Description:\n"
+#: src/frontend/mame/ui/submenu.cpp:34
+msgid "Hide romless machine from available list"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:639
-#, c-format
-msgid "%s.txt saved under ui folder."
+#: src/frontend/mame/ui/submenu.cpp:38
+msgid "Advanced Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:656
-msgid "Export list in XML format (like -listxml)"
+#: src/frontend/mame/ui/submenu.cpp:39
+msgid "Performance Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:657
-msgid "Export list in XML format (like -listxml, but exclude devices)"
+#: src/frontend/mame/ui/submenu.cpp:40
+msgid "Auto frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:658
-msgid "Export list in TXT format (like -listfull)"
+#: src/frontend/mame/ui/submenu.cpp:41
+msgid "Frame skip"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:774
-msgid "Driver"
+#: src/frontend/mame/ui/submenu.cpp:42
+msgid "Throttle"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:777
-msgid "This machine has no BIOS."
+#: src/frontend/mame/ui/submenu.cpp:43
+msgid "Sleep"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:791
-msgid "Save machine configuration"
+#: src/frontend/mame/ui/submenu.cpp:44
+msgid "Speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:802
-msgid "Configure machine:"
+#: src/frontend/mame/ui/submenu.cpp:45
+msgid "Refresh speed"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:836 src/frontend/mame/ui/selmenu.cpp:2481
-msgid " (default)"
+#: src/frontend/mame/ui/submenu.cpp:47
+msgid "Rotation Options"
msgstr ""
-#: src/frontend/mame/ui/miscmenu.cpp:918 src/frontend/mame/ui/selgame.cpp:611
-msgid "Plugins"
+#: src/frontend/mame/ui/submenu.cpp:49
+msgid "Rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:607
-msgid "Configure Machine"
+#: src/frontend/mame/ui/submenu.cpp:50
+msgid "Rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1036
-#, c-format
-msgid "Romset\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:51
+msgid "Auto rotate right"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1037
-#, c-format
-msgid "Year\t%1$s\n"
+#: src/frontend/mame/ui/submenu.cpp:52
+msgid "Auto rotate left"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1038
-#, c-format
-msgid "Manufacturer\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:53
+msgid "Flip X"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1042
-#, c-format
-msgid "Driver is Clone of\t%1$-.100s\n"
+#: src/frontend/mame/ui/submenu.cpp:54
+msgid "Flip Y"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1044
-msgid "Driver is Parent\t\n"
+#: src/frontend/mame/ui/submenu.cpp:56
+msgid "Artwork Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1047
-msgid "Analog Controls\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:57
+msgid "Artwork Crop"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1049
-msgid "Keyboard Inputs\tYes\n"
+#: src/frontend/mame/ui/submenu.cpp:58
+msgid "Use Backdrops"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1052
-msgid "Overall\tNOT WORKING\n"
+#: src/frontend/mame/ui/submenu.cpp:59
+msgid "Use Overlays"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1054
-msgid "Overall\tUnemulated Protection\n"
+#: src/frontend/mame/ui/submenu.cpp:60
+msgid "Use Bezels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1056
-msgid "Overall\tWorking\n"
+#: src/frontend/mame/ui/submenu.cpp:61
+msgid "Use Control Panels"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1059
-msgid "Graphics\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:62
+msgid "Use Marquees"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1061
-msgid "Graphics\tWrong Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:64
+msgid "State/Playback Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1063
-msgid "Graphics\tImperfect Colors\n"
+#: src/frontend/mame/ui/submenu.cpp:65
+msgid "Automatic save/restore"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1065
-msgid "Graphics\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:67
+msgid "Rewind capacity"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1067
-msgid "Graphics\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:68
+msgid "Bilinear snapshot"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1070
-msgid "Sound\tNone\n"
+#: src/frontend/mame/ui/submenu.cpp:69
+msgid "Burn-in"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1072
-msgid "Sound\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:71
+msgid "Input Options"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1074
-msgid "Sound\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:72
+msgid "Coin lockout"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1076
-msgid "Sound\tOK\n"
+#: src/frontend/mame/ui/submenu.cpp:73
+msgid "Mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1079
-msgid "Capture\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:74
+msgid "Joystick"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1081
-msgid "Capture\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:75
+msgid "Lightgun"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1084
-msgid "Camera\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:76
+msgid "Multi-keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1086
-msgid "Camera\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:77
+msgid "Multi-mouse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1089
-msgid "Microphone\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:78
+msgid "Steadykey"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1091
-msgid "Microphone\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:79
+msgid "UI active"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1094
-msgid "Controls\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:80
+msgid "Offscreen reload"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1096
-msgid "Controls\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:81
+msgid "Joystick deadzone"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1099
-msgid "Keyboard\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:82
+msgid "Joystick saturation"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1101
-msgid "Keyboard\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:83
+msgid "Natural keyboard"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1104
-msgid "Mouse\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:84
+msgid "Simultaneous contradictory"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1106
-msgid "Mouse\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:85
+msgid "Coin impulse"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1109
-msgid "Media\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:89
+msgid "Device Mapping"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1111
-msgid "Media\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:90
+msgid "Lightgun Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1114
-msgid "Disk\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:91
+msgid "Trackball Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1116
-msgid "Disk\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:92
+msgid "Pedal Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1119
-msgid "Printer\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:93
+msgid "Adstick Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1121
-msgid "Printer\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:94
+msgid "Paddle Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1124
-msgid "Mag. Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:95
+msgid "Dial Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1126
-msgid "Mag. Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:96
+msgid "Positional Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1129
-msgid "Punch Tape\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:97
+msgid "Mouse Device Assignment"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1131
-msgid "Punch Tape\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:102
+msgid "Video Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1134
-msgid "Mag. Drum\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:103
+msgid "Number Of Screens"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1136
-msgid "Mag. Drum\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:105
+msgid "Triple Buffering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1139
-msgid "(EP)ROM\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:106
+msgid "HLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1141
-msgid "(EP)ROM\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:108
+msgid "GLSL"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1144
-msgid "Communications\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:109
+msgid "Bilinear Filtering"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1146
-msgid "Communications\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:110
+msgid "Bitmap Prescaling"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1149
-msgid "LAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:111
+msgid "Window Mode"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1151
-msgid "LAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:112
+msgid "Enforce Aspect Ratio"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1154
-msgid "WAN\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:113
+msgid "Start Out Maximized"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1156
-msgid "WAN\tImperfect\n"
+#: src/frontend/mame/ui/submenu.cpp:114
+msgid "Synchronized Refresh"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1159
-msgid "Timing\tUnimplemented\n"
+#: src/frontend/mame/ui/submenu.cpp:115
+msgid "Wait Vertical Sync"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1161
-msgid "Timing\tImperfect\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Load State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tYes\n"
+#: src/frontend/mame/ui/state.cpp:388
+msgid "Select position to load from"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1163
-msgid "Mechanical Machine\tNo\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Save State"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tYes\n"
+#: src/frontend/mame/ui/state.cpp:412
+msgid "Select position to save to"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1164
-msgid "Requires Artwork\tNo\n"
+#: src/frontend/mame/ui/slotopt.cpp:192
+#, c-format
+msgid "%s [internal]"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:309 src/frontend/mame/ui/selsoft.cpp:211
+#, c-format
+msgid ""
+"%s\n"
+" added to favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1165
-msgid "Requires Clickable Artwork\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:314 src/frontend/mame/ui/selgame.cpp:320
+#: src/frontend/mame/ui/selsoft.cpp:216
+#, c-format
+msgid ""
+"%s\n"
+" removed from favorites list."
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:437
+msgid "Configure Machine"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1166
-msgid "Support Cocktail\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:849
+#, c-format
+msgid "Romset\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:850
+#, c-format
+msgid "Year\t%1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1167
-msgid "Driver is BIOS\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:851
+#, c-format
+msgid "Manufacturer\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:855
+#, c-format
+msgid "Driver is Clone of\t%1$-.100s\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1168
-msgid "Support Save\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:857
+msgid "Driver is Parent\t\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tVertical\n"
+#: src/frontend/mame/ui/selgame.cpp:860
+msgid "Analog Controls\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1169
-msgid "Screen Orientation\tHorizontal\n"
+#: src/frontend/mame/ui/selgame.cpp:862
+msgid "Keyboard Inputs\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tYes\n"
+#: src/frontend/mame/ui/selgame.cpp:865
+msgid "Overall\tNOT WORKING\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1179
-msgid "Requires CHD\tNo\n"
+#: src/frontend/mame/ui/selgame.cpp:867
+msgid "Overall\tUnemulated Protection\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1192
-msgid "ROM Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:869
+msgid "Overall\tWorking\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1194
-msgid "ROM Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:872
+msgid "Graphics\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1197
-msgid "Samples Audit Result\tNone Needed\n"
+#: src/frontend/mame/ui/selgame.cpp:874
+msgid "Graphics\tWrong Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1199
-msgid "Samples Audit Result\tOK\n"
+#: src/frontend/mame/ui/selgame.cpp:876
+msgid "Graphics\tImperfect Colors\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1201
-msgid "Samples Audit Result\tBAD\n"
+#: src/frontend/mame/ui/selgame.cpp:878
+msgid "Graphics\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1205
-msgid ""
-"ROM Audit \tDisabled\n"
-"Samples Audit \tDisabled\n"
+#: src/frontend/mame/ui/selgame.cpp:880
+msgid "Graphics\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1396
-#, c-format
-msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
+#: src/frontend/mame/ui/selgame.cpp:883
+msgid "Sound\tNone\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1424
-#, c-format
-msgid "Romset: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:885
+msgid "Sound\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1431
-#, c-format
-msgid "System: %1$-.100s"
+#: src/frontend/mame/ui/selgame.cpp:887
+msgid "Sound\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/selgame.cpp:1465
-msgid ""
-"The selected machine is missing one or more required ROM or CHD images. "
-"Please select a different machine.\n"
-"\n"
+#: src/frontend/mame/ui/selgame.cpp:889
+msgid "Sound\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:135
-msgid "Sound"
+#: src/frontend/mame/ui/selgame.cpp:892
+msgid "Controls\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:136
-msgid "Sample Rate"
+#: src/frontend/mame/ui/selgame.cpp:894
+msgid "Controls\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/sndmenu.cpp:137
-msgid "Use External Samples"
+#: src/frontend/mame/ui/selgame.cpp:897
+msgid "Keyboard\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:22
-msgid "Miscellaneous Options"
+#: src/frontend/mame/ui/selgame.cpp:899
+msgid "Keyboard\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:23
-msgid "Re-select last machine played"
+#: src/frontend/mame/ui/selgame.cpp:902
+msgid "Mouse\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:24
-msgid "Enlarge images in the right panel"
+#: src/frontend/mame/ui/selgame.cpp:904
+msgid "Mouse\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:26
-msgid "Show mouse pointer"
+#: src/frontend/mame/ui/selgame.cpp:907
+msgid "Microphone\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:27
-msgid "Confirm quit from machines"
+#: src/frontend/mame/ui/selgame.cpp:909
+msgid "Microphone\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:28
-msgid "Skip information screen at startup"
+#: src/frontend/mame/ui/selgame.cpp:912
+msgid "Camera\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:29
-msgid "Force 4:3 aspect for snapshot display"
+#: src/frontend/mame/ui/selgame.cpp:914
+msgid "Camera\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:30
-msgid "Use image as background"
+#: src/frontend/mame/ui/selgame.cpp:917
+msgid "Disk\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:31
-msgid "Skip BIOS selection menu"
+#: src/frontend/mame/ui/selgame.cpp:919
+msgid "Disk\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:32
-msgid "Skip software parts selection menu"
+#: src/frontend/mame/ui/selgame.cpp:922
+msgid "Printer\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:33
-msgid "Info auto audit"
+#: src/frontend/mame/ui/selgame.cpp:924
+msgid "Printer\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:34
-msgid "Hide romless machine from available list"
+#: src/frontend/mame/ui/selgame.cpp:927
+msgid "LAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:38
-msgid "Advanced Options"
+#: src/frontend/mame/ui/selgame.cpp:929
+msgid "LAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:39
-msgid "Performance Options"
+#: src/frontend/mame/ui/selgame.cpp:932
+msgid "WAN\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:40
-msgid "Auto frame skip"
+#: src/frontend/mame/ui/selgame.cpp:934
+msgid "WAN\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:41
-msgid "Frame skip"
+#: src/frontend/mame/ui/selgame.cpp:937
+msgid "Timing\tUnimplemented\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:42
-msgid "Throttle"
+#: src/frontend/mame/ui/selgame.cpp:939
+msgid "Timing\tImperfect\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:43
-msgid "Sleep"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:44
-msgid "Speed"
+#: src/frontend/mame/ui/selgame.cpp:941
+msgid "Mechanical Machine\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:45
-msgid "Refresh speed"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:47
-msgid "Rotation Options"
+#: src/frontend/mame/ui/selgame.cpp:942
+msgid "Requires Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:49
-msgid "Rotate right"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:50
-msgid "Rotate left"
+#: src/frontend/mame/ui/selgame.cpp:943
+msgid "Requires Clickable Artwork\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:51
-msgid "Auto rotate right"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:52
-msgid "Auto rotate left"
+#: src/frontend/mame/ui/selgame.cpp:944
+msgid "Support Cocktail\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:53
-msgid "Flip X"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:54
-msgid "Flip Y"
+#: src/frontend/mame/ui/selgame.cpp:945
+msgid "Driver is BIOS\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:56
-msgid "Artwork Options"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:57
-msgid "Artwork Crop"
+#: src/frontend/mame/ui/selgame.cpp:946
+msgid "Support Save\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:58
-msgid "Use Backdrops"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tVertical\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:59
-msgid "Use Overlays"
+#: src/frontend/mame/ui/selgame.cpp:947
+msgid "Screen Orientation\tHorizontal\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:60
-msgid "Use Bezels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tYes\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:61
-msgid "Use Control Panels"
+#: src/frontend/mame/ui/selgame.cpp:957
+msgid "Requires CHD\tNo\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:62
-msgid "Use Marquees"
+#: src/frontend/mame/ui/selgame.cpp:970
+msgid "ROM Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:64
-msgid "State/Playback Options"
+#: src/frontend/mame/ui/selgame.cpp:972
+msgid "ROM Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:65
-msgid "Automatic save/restore"
+#: src/frontend/mame/ui/selgame.cpp:975
+msgid "Samples Audit Result\tNone Needed\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:67
-msgid "Rewind capacity"
+#: src/frontend/mame/ui/selgame.cpp:977
+msgid "Samples Audit Result\tOK\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:68
-msgid "Bilinear snapshot"
+#: src/frontend/mame/ui/selgame.cpp:979
+msgid "Samples Audit Result\tBAD\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:69
-msgid "Burn-in"
+#: src/frontend/mame/ui/selgame.cpp:983
+msgid ""
+"ROM Audit \tDisabled\n"
+"Samples Audit \tDisabled\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:71
-msgid "Input Options"
+#: src/frontend/mame/ui/selgame.cpp:1167
+#, c-format
+msgid "%1$s %2$s ( %3$d / %4$d machines (%5$d BIOS) )"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:72
-msgid "Coin lockout"
+#: src/frontend/mame/ui/selgame.cpp:1183 src/frontend/mame/ui/selsoft.cpp:555
+#, c-format
+msgid "%1$s: %2$s - Search: %3$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:73
-msgid "Mouse"
+#: src/frontend/mame/ui/selgame.cpp:1185 src/frontend/mame/ui/selsoft.cpp:557
+#, c-format
+msgid "Search: %1$s_"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:74
-msgid "Joystick"
+#: src/frontend/mame/ui/selgame.cpp:1195
+#, c-format
+msgid "Romset: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:75
-msgid "Lightgun"
+#: src/frontend/mame/ui/selgame.cpp:1202
+#, c-format
+msgid "System: %1$-.100s"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:76
-msgid "Multi-keyboard"
+#: src/frontend/mame/ui/selgame.cpp:1239
+msgid ""
+"The selected machine is missing one or more required ROM or CHD images. "
+"Please select a different machine.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:77
-msgid "Multi-mouse"
+#: src/frontend/mame/ui/selgame.cpp:1245 src/frontend/mame/ui/selsoft.cpp:462
+msgid "Press any key to continue."
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:78
-msgid "Steadykey"
+#: src/frontend/mame/ui/sndmenu.cpp:135
+msgid "Sound"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:79
-msgid "UI active"
+#: src/frontend/mame/ui/sndmenu.cpp:136
+msgid "Sample Rate"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:80
-msgid "Offscreen reload"
+#: src/frontend/mame/ui/sndmenu.cpp:137
+msgid "Use External Samples"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:81
-msgid "Joystick deadzone"
+#: src/frontend/mame/ui/utils.cpp:57 src/frontend/mame/ui/utils.cpp:81
+msgid "Unfiltered"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:82
-msgid "Joystick saturation"
+#: src/frontend/mame/ui/utils.cpp:58 src/frontend/mame/ui/utils.cpp:82
+msgid "Available"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:83
-msgid "Natural keyboard"
+#: src/frontend/mame/ui/utils.cpp:59 src/frontend/mame/ui/utils.cpp:83
+msgid "Unavailable"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:84
-msgid "Simultaneous contradictory"
+#: src/frontend/mame/ui/utils.cpp:60
+msgid "Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:85
-msgid "Coin impulse"
+#: src/frontend/mame/ui/utils.cpp:61
+msgid "Not Working"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:89
-msgid "Device Mapping"
+#: src/frontend/mame/ui/utils.cpp:62
+msgid "Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:90
-msgid "Lightgun Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:63
+msgid "Not Mechanical"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:91
-msgid "Trackball Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:64
+msgid "Category"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:92
-msgid "Pedal Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:65
+msgid "Favorites"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:93
-msgid "Adstick Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:67
+msgid "Not BIOS"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:94
-msgid "Paddle Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:68 src/frontend/mame/ui/utils.cpp:84
+msgid "Parents"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:95
-msgid "Dial Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:69 src/frontend/mame/ui/utils.cpp:85
+msgid "Clones"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:96
-msgid "Positional Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:70
+msgid "Manufacturer"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:97
-msgid "Mouse Device Assignment"
+#: src/frontend/mame/ui/utils.cpp:71 src/frontend/mame/ui/utils.cpp:86
+msgid "Year"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:102
-msgid "Video Mode"
+#: src/frontend/mame/ui/utils.cpp:72
+msgid "Save Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:103
-msgid "Number Of Screens"
+#: src/frontend/mame/ui/utils.cpp:73
+msgid "Save Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:105
-msgid "Triple Buffering"
+#: src/frontend/mame/ui/utils.cpp:74
+msgid "CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:106
-msgid "HLSL"
+#: src/frontend/mame/ui/utils.cpp:75
+msgid "No CHD Required"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:108
-msgid "GLSL"
+#: src/frontend/mame/ui/utils.cpp:76
+msgid "Vertical Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:109
-msgid "Bilinear Filtering"
+#: src/frontend/mame/ui/utils.cpp:77
+msgid "Horizontal Screen"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:110
-msgid "Bitmap Prescaling"
+#: src/frontend/mame/ui/utils.cpp:78 src/frontend/mame/ui/utils.cpp:94
+msgid "Custom Filter"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:111
-msgid "Window Mode"
+#: src/frontend/mame/ui/utils.cpp:87
+msgid "Publisher"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:112
-msgid "Enforce Aspect Ratio"
+#: src/frontend/mame/ui/utils.cpp:88
+msgid "Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:113
-msgid "Start Out Maximized"
+#: src/frontend/mame/ui/utils.cpp:89
+msgid "Partially Supported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:114
-msgid "Synchronized Refresh"
+#: src/frontend/mame/ui/utils.cpp:90
+msgid "Unsupported"
msgstr ""
-#: src/frontend/mame/ui/submenu.cpp:115
-msgid "Wait Vertical Sync"
+#: src/frontend/mame/ui/utils.cpp:91
+msgid "Release Region"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:43
-#, c-format
-msgid ""
-"[This option is currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"The selected option enables the following items:\n"
+#: src/frontend/mame/ui/utils.cpp:92
+msgid "Device Type"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:44
-#, c-format
-msgid ""
-"[This option is NOT currently mounted in the running system]\n"
-"\n"
-"Option: %1$s\n"
-"Device: %2$s\n"
-"\n"
-"If you select this option, the following items will be enabled:\n"
+#: src/frontend/mame/ui/utils.cpp:93
+msgid "Software List"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:52
-msgid "* CPU:\n"
+#: src/frontend/mame/ui/utils.cpp:244
+msgid "<set up filters>"
+msgstr ""
+
+#: src/frontend/mame/ui/utils.cpp:352
+msgid "Select custom filters:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
+#: src/frontend/mame/ui/utils.cpp:503
#, c-format
-msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
+msgid "Filter %1$u"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:76 src/frontend/mame/ui/devopt.cpp:137
-msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:518
+msgid "Remove last filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %3$d.%4$06d MHz\n"
+#: src/frontend/mame/ui/utils.cpp:520
+msgid "Add filter"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:77 src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s %5$d.%6$03d kHz\n"
+#: src/frontend/mame/ui/utils.cpp:959
+msgid "Select category:"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:89
-msgid "* Video:\n"
+#: src/frontend/mame/ui/utils.cpp:990
+msgid "[no category INI files]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:94
-#, c-format
-msgid " Screen '%1$s': Vector\n"
+#: src/frontend/mame/ui/utils.cpp:998
+msgid "[no groups in INI file]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:103
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1032
+msgid "No category INI files found"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:104
-#, c-format
-msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
+#: src/frontend/mame/ui/utils.cpp:1037
+msgid "File"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:117
-msgid "* Sound:\n"
+#: src/frontend/mame/ui/utils.cpp:1041
+msgid "No groups found in category file"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:137
-#, c-format
-msgid " %1$d×%2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1046
+msgid "Group"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:138
-msgid " %2$s\n"
+#: src/frontend/mame/ui/utils.cpp:1047
+msgid "Include clones"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:168
-#, c-format
+#: src/frontend/mame/ui/selsoft.cpp:456
msgid ""
-"* BIOS settings:\n"
-" %1$d options [default: %2$s]\n"
+"The selected software is missing one or more required files. Please select a "
+"different software.\n"
+"\n"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:208 src/frontend/mame/ui/devopt.cpp:224
-#: src/frontend/mame/ui/devopt.cpp:269
+#: src/frontend/mame/ui/selsoft.cpp:549
#, c-format
-msgid " %1$s [default: %2$s]\n"
+msgid "%1$s %2$s ( %3$d / %4$d software packages )"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:213 src/frontend/mame/ui/devopt.cpp:229
+#: src/frontend/mame/ui/selsoft.cpp:550
#, c-format
-msgid " %1$s\n"
+msgid "Driver: \"%1$s\" software list "
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:234
-msgid "* DIP switch settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:260
+msgid "[create]"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:236
-msgid "* Configuration settings:\n"
+#: src/frontend/mame/ui/filesel.cpp:419
+#, c-format
+msgid "Error accessing %s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:238
-msgid "* Input device(s):\n"
+#: src/frontend/mame/ui/filesel.cpp:515
+msgid "Select access mode"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:240
-#, c-format
-msgid " User inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:516
+msgid "Read-only"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:242
-#, c-format
-msgid " Mahjong inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:518
+msgid "Read-write"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:244
-#, c-format
-msgid " Hanafuda inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:519
+msgid "Read this image, write to another image"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:246
-#, c-format
-msgid " Gambling inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/filesel.cpp:520
+msgid "Read this image, write to diff"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:248
-#, c-format
-msgid " Analog inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:117
+msgid "Cannot save over directory"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:250
-#, c-format
-msgid " Adjuster inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/imgcntrl.cpp:150
+msgid ""
+"The software selected is missing one or more required ROM or CHD images. "
+"Please select a different one."
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:252
-#, c-format
-msgid " Keypad inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:294
+msgid "Return to Machine"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:254
-#, c-format
-msgid " Keyboard inputs [%1$d inputs]\n"
+#: src/frontend/mame/ui/menu.cpp:299 src/frontend/mame/ui/menu.cpp:301
+msgid "Exit"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:259
-msgid "* Media Options:\n"
+#: src/frontend/mame/ui/menu.cpp:306 src/frontend/mame/ui/menu.cpp:308
+msgid "Return to Previous Menu"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:261
-#, c-format
-msgid " %1$s [tag: %2$s]\n"
+#: src/frontend/mame/ui/menu.cpp:742
+msgid "Auto"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:267
-msgid "* Slot Options:\n"
+#: src/frontend/mame/ui/cheatopt.cpp:92 plugins/cheat/init.lua:653
+#, c-format, lua-format
+msgid ""
+"Cheat Comment:\n"
+"%s"
msgstr ""
-#: src/frontend/mame/ui/devopt.cpp:274
-msgid "[None]\n"
+#: src/frontend/mame/ui/cheatopt.cpp:105
+msgid "All cheats reloaded"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:96
-#, c-format
-msgid "Audit ROMs for %1$u machines marked unavailable?"
+#: src/frontend/mame/ui/cheatopt.cpp:136
+msgid "Autofire Settings"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:99
-#, c-format
-msgid "Audit ROMs for all %1$u machines?"
+#: src/frontend/mame/ui/cheatopt.cpp:157 plugins/cheat/init.lua:581
+msgid "Reset All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:104
-#, c-format
-msgid "(results will be saved to %1$s)"
+#: src/frontend/mame/ui/cheatopt.cpp:160 plugins/cheat/init.lua:582
+msgid "Reload All"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:130
-#, c-format
-msgid ""
-"Auditing ROMs for machine %2$u of %3$u...\n"
-"%1$s"
+#: src/frontend/mame/ui/cheatopt.cpp:273
+msgid "Autofire Status"
msgstr ""
-#: src/frontend/mame/ui/auditmenu.cpp:142
-msgid "Start Audit"
+#: src/frontend/mame/ui/cheatopt.cpp:316
+msgid "No buttons found on this machine!"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:117
-msgid "Cannot save over directory"
+#: src/frontend/mame/ui/cheatopt.cpp:327 src/frontend/mame/ui/cheatopt.cpp:331
+msgid "Autofire Delay"
msgstr ""
-#: src/frontend/mame/ui/imgcntrl.cpp:150
-msgid ""
-"The software selected is missing one or more required ROM or CHD images. "
-"Please select a different one."
+#: src/frontend/mame/ui/ui.cpp:337
+msgid "This driver requires images to be loaded in the following device(s): "
msgstr ""
-#: src/frontend/mame/ui/info.cpp:31
-msgid "protection"
+#: src/frontend/mame/ui/ui.cpp:1084 src/frontend/mame/ui/ui.cpp:1094
+msgid "Keyboard Emulation Status"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:32
-msgid "timing"
+#: src/frontend/mame/ui/ui.cpp:1086
+msgid "Mode: PARTIAL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:33
-msgid "graphics"
+#: src/frontend/mame/ui/ui.cpp:1087
+msgid "UI: Enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:34
-msgid "color palette"
+#: src/frontend/mame/ui/ui.cpp:1089 src/frontend/mame/ui/ui.cpp:1099
+msgid "**Use ScrLock to toggle**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:35
-msgid "sound"
+#: src/frontend/mame/ui/ui.cpp:1096
+msgid "Mode: FULL Emulation"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:36
-msgid "capture hardware"
+#: src/frontend/mame/ui/ui.cpp:1097
+msgid "UI: Disabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:37
-msgid "camera"
+#: src/frontend/mame/ui/ui.cpp:1249
+msgid "Autofire can't be enabled"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:38
-msgid "microphone"
+#: src/frontend/mame/ui/ui.cpp:1302
+#, c-format
+msgid ""
+"Are you sure you want to quit?\n"
+"\n"
+"Press ''%1$s'' to quit,\n"
+"Press ''%2$s'' to return to emulation."
msgstr ""
-#: src/frontend/mame/ui/info.cpp:39
-msgid "controls"
+#: src/frontend/mame/ui/ui.cpp:1374
+msgid "Master Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:40
-msgid "keyboard"
+#: src/frontend/mame/ui/ui.cpp:1383
+#, c-format
+msgid "%1$s Volume"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:41
-msgid "mouse"
+#: src/frontend/mame/ui/ui.cpp:1407
+#, c-format
+msgid "Overclock CPU %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:42
-msgid "media"
+#: src/frontend/mame/ui/ui.cpp:1416
+#, c-format
+msgid "Overclock %1$s sound"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:43
-msgid "disk"
+#: src/frontend/mame/ui/ui.cpp:1437
+#, c-format
+msgid "%1$s Refresh Rate"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:44
-msgid "printer"
+#: src/frontend/mame/ui/ui.cpp:1442
+#, c-format
+msgid "%1$s Brightness"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1444
+#, c-format
+msgid "%1$s Contrast"
+msgstr ""
+
+#: src/frontend/mame/ui/ui.cpp:1446
+#, c-format
+msgid "%1$s Gamma"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:45
-msgid "magnetic tape"
+#: src/frontend/mame/ui/ui.cpp:1450
+#, c-format
+msgid "%1$s Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:46
-msgid "punch tape"
+#: src/frontend/mame/ui/ui.cpp:1452
+#, c-format
+msgid "%1$s Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:47
-msgid "magnetic drum"
+#: src/frontend/mame/ui/ui.cpp:1454
+#, c-format
+msgid "%1$s Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:48
-msgid "solid state storage"
+#: src/frontend/mame/ui/ui.cpp:1456
+#, c-format
+msgid "%1$s Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:49
-msgid "communications"
+#: src/frontend/mame/ui/ui.cpp:1475
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:50
-msgid "LAN"
+#: src/frontend/mame/ui/ui.cpp:1477
+#, c-format
+msgid "Laserdisc '%1$s' Horiz Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:51
-msgid "WAN"
+#: src/frontend/mame/ui/ui.cpp:1479
+#, c-format
+msgid "Laserdisc '%1$s' Vert Stretch"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:188
-msgid ""
-"One or more ROMs/CHDs for this machine are incorrect. The machine may not "
-"run correctly.\n"
+#: src/frontend/mame/ui/ui.cpp:1481
+#, c-format
+msgid "Laserdisc '%1$s' Vert Position"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:198
-msgid ""
-"There are known problems with this machine\n"
-"\n"
+#: src/frontend/mame/ui/ui.cpp:1493
+msgid "Vector Flicker"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:203
-msgid ""
-"One or more ROMs/CHDs for this machine have not been correctly dumped.\n"
+#: src/frontend/mame/ui/ui.cpp:1494
+msgid "Beam Width Minimum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:208
-msgid "Completely unemulated features: "
+#: src/frontend/mame/ui/ui.cpp:1495
+msgid "Beam Width Maximum"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#, c-format
-msgid "%s"
+#: src/frontend/mame/ui/ui.cpp:1496
+msgid "Beam Intensity Weight"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:214 src/frontend/mame/ui/info.cpp:230
-#: src/frontend/mame/ui/info.cpp:275
+#: src/frontend/mame/ui/ui.cpp:1511
#, c-format
-msgid ", %s"
+msgid "Crosshair Scale %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:224
-msgid "Imperfectly emulated features: "
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "X"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:239
-msgid "Screen flipping in cocktail mode is not supported.\n"
+#: src/frontend/mame/ui/ui.cpp:1511 src/frontend/mame/ui/ui.cpp:1513
+msgid "Y"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:241
-msgid "This machine requires external artwork files.\n"
+#: src/frontend/mame/ui/ui.cpp:1513
+#, c-format
+msgid "Crosshair Offset %1$s"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:243
-msgid ""
-"This machine was never completed. It may exhibit strange behavior or missing "
-"elements that are not bugs in the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1601
+#, c-format
+msgid "%1$3ddB"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:245
-msgid ""
-"This machine has no sound hardware, MAME will produce no sounds, this is "
-"expected behaviour.\n"
+#: src/frontend/mame/ui/ui.cpp:1645
+#, c-format
+msgid "%1$d%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:249
-msgid ""
-"\n"
-"THIS MACHINE DOESN'T WORK. The emulation for this machine is not yet "
-"complete. There is nothing you can do to fix this problem except wait for "
-"the developers to improve the emulation.\n"
+#: src/frontend/mame/ui/ui.cpp:1661
+#, c-format
+msgid "%1$3.0f%%"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:251
-msgid ""
-"\n"
-"Elements of this machine cannot be emulated as they requires physical "
-"interaction or consist of mechanical devices. It is not possible to fully "
-"experience this machine.\n"
+#: src/frontend/mame/ui/ui.cpp:1685
+#, c-format
+msgid "%1$.3ffps"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:273
+#: src/frontend/mame/ui/ui.cpp:1708 src/frontend/mame/ui/ui.cpp:1730
+#: src/frontend/mame/ui/ui.cpp:1751 src/frontend/mame/ui/ui.cpp:1773
+#: src/frontend/mame/ui/ui.cpp:1795 src/frontend/mame/ui/ui.cpp:1817
+#: src/frontend/mame/ui/ui.cpp:1839 src/frontend/mame/ui/ui.cpp:1861
+#: src/frontend/mame/ui/ui.cpp:1883 src/frontend/mame/ui/ui.cpp:1905
+#: src/frontend/mame/ui/ui.cpp:1927
#, c-format
-msgid ""
-"\n"
-"\n"
-"There are working clones of this machine: %s"
+msgid "%1$.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:286
-msgid ""
-"\n"
-"\n"
-"Press any key to continue"
+#: src/frontend/mame/ui/ui.cpp:1942 src/frontend/mame/ui/ui.cpp:1957
+#: src/frontend/mame/ui/ui.cpp:1972 src/frontend/mame/ui/ui.cpp:1987
+#, c-format
+msgid "%1$1.2f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:301
+#: src/frontend/mame/ui/ui.cpp:2005
#, c-format
-msgid ""
-"%1$s\n"
-"%2$s %3$s\n"
-"Driver: %4$s\n"
-"\n"
-"CPU:\n"
+msgid "Crosshair Scale X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "MHz"
+#: src/frontend/mame/ui/ui.cpp:2005
+#, c-format
+msgid "Crosshair Scale Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:336 src/frontend/mame/ui/info.cpp:374
-msgid "kHz"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset X %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:350
-msgid ""
-"\n"
-"Sound:\n"
+#: src/frontend/mame/ui/ui.cpp:2024
+#, c-format
+msgid "Crosshair Offset Y %1$1.3f"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:378
-msgid ""
-"\n"
-"Video:\n"
+#: src/frontend/mame/ui/ui.cpp:2167
+msgid "**Error saving ui.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:382
-msgid "None\n"
+#: src/frontend/mame/ui/ui.cpp:2226
+#, c-format
+msgid "**Error saving %s.ini**"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:389
-msgid "Vector"
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " COLORS"
+msgstr ""
+
+#: src/frontend/mame/ui/viewgfx.cpp:406
+msgid " PENS"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
+#: src/frontend/mame/ui/devopt.cpp:39
#, c-format
-msgid "%1$s: %2$s\n"
+msgid ""
+"[This option is currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"The selected option enables the following items:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:400
-msgid "%2$s\n"
+#: src/frontend/mame/ui/devopt.cpp:40
+#, c-format
+msgid ""
+"[This option is NOT currently mounted in the running system]\n"
+"\n"
+"Option: %1$s\n"
+"Device: %2$s\n"
+"\n"
+"If you select this option, the following items will be enabled:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:48
+msgid "* CPU:\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:446
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
#, c-format
-msgid "Screen '%1$s'"
+msgid " %1$d×%2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:448
-msgid "Screen"
+#: src/frontend/mame/ui/devopt.cpp:72 src/frontend/mame/ui/devopt.cpp:133
+msgid " %1$d×%2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:533
-msgid "Not supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %3$d.%4$06d MHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:536
-msgid "Partially supported"
+#: src/frontend/mame/ui/devopt.cpp:73 src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s %5$d.%6$03d kHz\n"
msgstr ""
-#: src/frontend/mame/ui/info.cpp:544
-msgid "[empty]"
+#: src/frontend/mame/ui/devopt.cpp:85
+msgid "* Video:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:73
-msgid "Control Panels"
+#: src/frontend/mame/ui/devopt.cpp:90
+#, c-format
+msgid " Screen '%1$s': Vector\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:78
-msgid "Artwork Preview"
+#: src/frontend/mame/ui/devopt.cpp:99
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (V) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:82
-msgid "Game Over"
+#: src/frontend/mame/ui/devopt.cpp:100
+#, c-format
+msgid " Screen '%1$s': %2$d × %3$d (H) %4$f Hz\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:91
-msgid "Add or remove favorites"
+#: src/frontend/mame/ui/devopt.cpp:113
+msgid "* Sound:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:92
-msgid "Export displayed list to file"
+#: src/frontend/mame/ui/devopt.cpp:133
+#, c-format
+msgid " %1$d×%2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:93
-msgid "Show DATs view"
+#: src/frontend/mame/ui/devopt.cpp:134
+msgid " %2$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:261
-msgid "Software part selection:"
+#: src/frontend/mame/ui/devopt.cpp:164
+#, c-format
+msgid ""
+"* BIOS settings:\n"
+" %1$d options [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:367
-msgid "BIOS selection:"
+#: src/frontend/mame/ui/devopt.cpp:204 src/frontend/mame/ui/devopt.cpp:220
+#: src/frontend/mame/ui/devopt.cpp:265
+#, c-format
+msgid " %1$s [default: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:622
+#: src/frontend/mame/ui/devopt.cpp:209 src/frontend/mame/ui/devopt.cpp:225
#, c-format
-msgid "Software is clone of: %1$-.100s"
+msgid " %1$s\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:624
-msgid "Software is parent"
+#: src/frontend/mame/ui/devopt.cpp:230
+msgid "* DIP switch settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:629
-msgid "Supported: No"
+#: src/frontend/mame/ui/devopt.cpp:232
+msgid "* Configuration settings:\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:634
-msgid "Supported: Partial"
+#: src/frontend/mame/ui/devopt.cpp:234
+msgid "* Input device(s):\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:639
-msgid "Supported: Yes"
+#: src/frontend/mame/ui/devopt.cpp:236
+#, c-format
+msgid " User inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:644
+#: src/frontend/mame/ui/devopt.cpp:238
#, c-format
-msgid "romset: %1$-.100s"
+msgid " Mahjong inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:660
+#: src/frontend/mame/ui/devopt.cpp:240
#, c-format
-msgid "Driver is clone of: %1$-.100s"
+msgid " Hanafuda inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:662
-msgid "Driver is parent"
+#: src/frontend/mame/ui/devopt.cpp:242
+#, c-format
+msgid " Gambling inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:698
+#: src/frontend/mame/ui/devopt.cpp:244
#, c-format
-msgid "%1$s %2$s"
+msgid " Analog inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2083
-msgid "Images"
+#: src/frontend/mame/ui/devopt.cpp:246
+#, c-format
+msgid " Adjuster inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2084
-msgid "Infos"
+#: src/frontend/mame/ui/devopt.cpp:248
+#, c-format
+msgid " Keypad inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2549
-msgid "Usage"
+#: src/frontend/mame/ui/devopt.cpp:250
+#, c-format
+msgid " Keyboard inputs [%1$d inputs]\n"
msgstr ""
-#: src/frontend/mame/ui/selmenu.cpp:2584
-msgid "General Info"
+#: src/frontend/mame/ui/devopt.cpp:255
+msgid "* Media Options:\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:55
-msgid "User Interface"
+#: src/frontend/mame/ui/devopt.cpp:257
+#, c-format
+msgid " %1$s [tag: %2$s]\n"
msgstr ""
-#: src/frontend/mame/ui/inputmap.cpp:61
-msgid "Other Controls"
+#: src/frontend/mame/ui/devopt.cpp:263
+msgid "* Slot Options:\n"
+msgstr ""
+
+#: src/frontend/mame/ui/devopt.cpp:270
+msgid "[None]\n"
msgstr ""
#: plugins/timer/init.lua:94
@@ -2670,51 +2589,51 @@ msgstr ""
msgid "Timer"
msgstr ""
-#: plugins/cheat/init.lua:528
+#: plugins/cheat/init.lua:510
msgid "Select cheat to set hotkey"
msgstr ""
-#: plugins/cheat/init.lua:534
+#: plugins/cheat/init.lua:516
msgid "Press button for hotkey or wait to clear"
msgstr ""
-#: plugins/cheat/init.lua:546
+#: plugins/cheat/init.lua:528
msgid "None"
msgstr ""
-#: plugins/cheat/init.lua:551
+#: plugins/cheat/init.lua:533
msgid "Done"
msgstr ""
-#: plugins/cheat/init.lua:565 plugins/cheat/init.lua:579
+#: plugins/cheat/init.lua:547 plugins/cheat/init.lua:561
msgid "Set"
msgstr ""
-#: plugins/cheat/init.lua:598
+#: plugins/cheat/init.lua:580
msgid "Set hotkeys"
msgstr ""
-#: plugins/cheat/init.lua:738
+#: plugins/cheat/init.lua:720
#, lua-format
msgid "Activated: %s = %s"
msgstr ""
-#: plugins/cheat/init.lua:741 plugins/cheat/init.lua:799
+#: plugins/cheat/init.lua:723 plugins/cheat/init.lua:781
#, lua-format
msgid "Activated: %s"
msgstr ""
-#: plugins/cheat/init.lua:803
+#: plugins/cheat/init.lua:785
#, lua-format
msgid "Enabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:808
+#: plugins/cheat/init.lua:790
#, lua-format
msgid "Disabled: %s"
msgstr ""
-#: plugins/cheat/init.lua:867
+#: plugins/cheat/init.lua:849
#, lua-format
msgid "%s added"
msgstr ""
@@ -2763,303 +2682,218 @@ msgstr ""
msgid "MARPScore"
msgstr ""
-#: plugins/cheatfind/init.lua:404
+#: plugins/cheatfind/init.lua:373
msgid "Save Cheat"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Default"
msgstr ""
-#: plugins/cheatfind/init.lua:407
+#: plugins/cheatfind/init.lua:376
msgid "Custom"
msgstr ""
-#: plugins/cheatfind/init.lua:408
+#: plugins/cheatfind/init.lua:377
msgid "Cheat Name"
msgstr ""
-#: plugins/cheatfind/init.lua:414 plugins/cheatfind/init.lua:1005
+#: plugins/cheatfind/init.lua:383 plugins/cheatfind/init.lua:748
#, lua-format
msgid "Default name is %s"
msgstr ""
-#: plugins/cheatfind/init.lua:422
+#: plugins/cheatfind/init.lua:391
msgid "Player"
msgstr ""
-#: plugins/cheatfind/init.lua:427
+#: plugins/cheatfind/init.lua:396
msgid "Type"
msgstr ""
-#: plugins/cheatfind/init.lua:433
+#: plugins/cheatfind/init.lua:402
msgid "Save"
msgstr ""
-#: plugins/cheatfind/init.lua:462
+#: plugins/cheatfind/init.lua:429
#, lua-format
msgid "Cheat written to %s and added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:472
+#: plugins/cheatfind/init.lua:437
msgid "Cheat added to cheat.simple"
msgstr ""
-#: plugins/cheatfind/init.lua:477
+#: plugins/cheatfind/init.lua:442
msgid ""
"Unable to write file\n"
"Ensure that cheatpath folder exists"
msgstr ""
-#: plugins/cheatfind/init.lua:486
+#: plugins/cheatfind/init.lua:451
msgid "Cancel"
msgstr ""
-#: plugins/cheatfind/init.lua:491
+#: plugins/cheatfind/init.lua:456
msgid "CPU or RAM"
msgstr ""
-#: plugins/cheatfind/init.lua:495
+#: plugins/cheatfind/init.lua:460
msgid "Changes to this only take effect when \"Start new search\" is selected"
msgstr ""
-#: plugins/cheatfind/init.lua:504
-msgid "Pause Mode"
+#: plugins/cheatfind/init.lua:479
+msgid "Data cleared and current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:511
-msgid "Manually pause & unpause the game when needed with the pause hotkey"
+#: plugins/cheatfind/init.lua:487
+msgid "Start new search"
msgstr ""
-#: plugins/cheatfind/init.lua:536
-msgid "All slots cleared and current state saved to Slot 1"
+#: plugins/cheatfind/init.lua:497
+msgid "Current state saved"
msgstr ""
-#: plugins/cheatfind/init.lua:551
-msgid "Start new search"
+#: plugins/cheatfind/init.lua:504
+msgid "Save current -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:564
+#: plugins/cheatfind/init.lua:536
#, lua-format
-msgid "Memory State saved to Slot %d"
+msgid "%d total matches found"
msgstr ""
-#: plugins/cheatfind/init.lua:583
-msgid "Save Current Memory State to Slot "
+#: plugins/cheatfind/init.lua:543
+msgid "Compare"
msgstr ""
-#: plugins/cheatfind/init.lua:614
-#, lua-format
-msgid "%d total matches found"
+#: plugins/cheatfind/init.lua:546
+msgid "Left operand"
+msgstr ""
+
+#: plugins/cheatfind/init.lua:549
+msgid "Current"
msgstr ""
-#: plugins/cheatfind/init.lua:655
-msgid "Perform Compare : "
+#: plugins/cheatfind/init.lua:554
+msgid "Operator"
msgstr ""
-#: plugins/cheatfind/init.lua:672
-msgid "Left less than right"
+#: plugins/cheatfind/init.lua:561
+msgid "Left less than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:674
-msgid "Left greater than right"
+#: plugins/cheatfind/init.lua:563
+msgid "Left greater than right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:676
+#: plugins/cheatfind/init.lua:565
msgid "Left equal to right"
msgstr ""
-#: plugins/cheatfind/init.lua:678
-msgid "Left not equal to right"
+#: plugins/cheatfind/init.lua:567
+msgid "Left not equal to right, value is difference"
msgstr ""
-#: plugins/cheatfind/init.lua:680
+#: plugins/cheatfind/init.lua:569
msgid "Left equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:682
+#: plugins/cheatfind/init.lua:571
msgid "Left not equal to right with bitmask"
msgstr ""
-#: plugins/cheatfind/init.lua:684
+#: plugins/cheatfind/init.lua:573
msgid "Left less than value"
msgstr ""
-#: plugins/cheatfind/init.lua:686
+#: plugins/cheatfind/init.lua:575
msgid "Left greater than value"
msgstr ""
-#: plugins/cheatfind/init.lua:688
+#: plugins/cheatfind/init.lua:577
msgid "Left equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:690
+#: plugins/cheatfind/init.lua:579
msgid "Left not equal to value"
msgstr ""
-#: plugins/cheatfind/init.lua:712
-msgid "Value"
+#: plugins/cheatfind/init.lua:590
+msgid "Right operand"
msgstr ""
-#: plugins/cheatfind/init.lua:714
-msgid "Difference"
+#: plugins/cheatfind/init.lua:598
+msgid "Value"
msgstr ""
-#: plugins/cheatfind/init.lua:719
+#: plugins/cheatfind/init.lua:602
msgid "Any"
msgstr ""
-#: plugins/cheatfind/init.lua:725
+#: plugins/cheatfind/init.lua:608
msgid "Data Format"
msgstr ""
-#: plugins/cheatfind/init.lua:731
-msgid "Test/Write Poke Value"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:738
-msgid ""
-"Use this if you want to poke the Slot 1 value (eg. You started with "
-"something but lost it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:740
-msgid ""
-"Use this if you want to poke the Last Slot value (eg. You started without an "
-"item but finally got it)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:742
-msgid "Use this if you want to poke 0x00"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:744
-msgid "Use this if you want to poke 0x01"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:746
-msgid "Use this if you want to poke 0x02"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:748
-msgid "Use this if you want to poke 0x03"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:750
-msgid "Use this if you want to poke 0x04"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:752
-msgid "Use this if you want to poke 0x05"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:754
-msgid "Use this if you want to poke 0x06"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:756
-msgid "Use this if you want to poke 0x07"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:758
-msgid "Use this if you want to poke 0x08"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:760
-msgid "Use this if you want to poke 0x09"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:762
-msgid "Use this if you want to poke 0x63 (Decimal 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:764
-msgid "Use this if you want to poke 0x99 (BCD 99)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:766
-msgid "Use this if you want to poke 0xFF (Decimal 255)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:768
-msgid "Use this if you want to poke 0x3E7 (Decimal 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:770
-msgid "Use this if you want to poke 0x999 (BCD 999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:772
-msgid "Use this if you want to poke 0x270F (Decimal 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:774
-msgid "Use this if you want to poke 0x9999 (BCD 9999)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:776
-msgid "Use this if you want to poke 0xFFFF (Decimal 65535)"
-msgstr ""
-
-#: plugins/cheatfind/init.lua:816
+#: plugins/cheatfind/init.lua:632
msgid "Undo last search -- #"
msgstr ""
-#: plugins/cheatfind/init.lua:820
+#: plugins/cheatfind/init.lua:636
msgid "Match block"
msgstr ""
-#: plugins/cheatfind/init.lua:823
+#: plugins/cheatfind/init.lua:639
msgid "All"
msgstr ""
-#: plugins/cheatfind/init.lua:934
+#: plugins/cheatfind/init.lua:690
#, lua-format
-msgid "Test Cheat %08X:%02X"
+msgid "Test cheat at addr %08X"
msgstr ""
-#: plugins/cheatfind/init.lua:974
+#: plugins/cheatfind/init.lua:722
msgid "Cheat engine not available"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Test"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Write"
msgstr ""
-#: plugins/cheatfind/init.lua:1028
+#: plugins/cheatfind/init.lua:771
msgid "Watch"
msgstr ""
-#: plugins/cheatfind/init.lua:1045
+#: plugins/cheatfind/init.lua:788
msgid "Page"
msgstr ""
-#: plugins/cheatfind/init.lua:1063
+#: plugins/cheatfind/init.lua:806
msgid "Clear Watches"
msgstr ""
-#: plugins/cheatfind/init.lua:1078
+#: plugins/cheatfind/init.lua:816
msgid "Cheat Finder"
msgstr ""
-#: plugins/portname/init.lua:103
+#: plugins/portname/init.lua:69
msgid "Save input names to file"
msgstr ""
-#: plugins/portname/init.lua:134 plugins/portname/init.lua:139
-#: plugins/portname/init.lua:155
+#: plugins/portname/init.lua:100 plugins/portname/init.lua:105
+#: plugins/portname/init.lua:121
msgid "Failed to save input name file"
msgstr ""
-#: plugins/portname/init.lua:167
+#: plugins/portname/init.lua:133
#, lua-format
msgid "Input port name file saved to %s"
msgstr ""
-#: plugins/portname/init.lua:172
+#: plugins/portname/init.lua:138
msgid "Input ports"
msgstr ""
diff --git a/makefile b/makefile
index 71a5b6b1e5c..573ebbba22e 100644
--- a/makefile
+++ b/makefile
@@ -505,10 +505,8 @@ endif
# reverse logic for this one
ifdef USE_BUNDLED_LIB_SDL2
-ifneq '$(USE_BUNDLED_LIB_SDL2)' '0'
PARAMS += --with-bundled-sdl2
endif
-endif
#-------------------------------------------------
# distribution may change things
@@ -973,11 +971,7 @@ FASTBUILD_PARAMS += $(FASTBUILD_TARGET)-x32
endif
endif
else
-ifdef OVERRIDE_CC
-GCC_VERSION := $(shell $(TOOLCHAIN)$(subst @,,$(OVERRIDE_CC)) -dumpversion 2> /dev/null)
-else
GCC_VERSION := $(shell $(TOOLCHAIN)$(subst @,,$(CC)) -dumpversion 2> /dev/null)
-endif
ifneq ($(OS),solaris)
CLANG_VERSION := $(shell $(TOOLCHAIN)$(subst @,,$(CC)) --version 2> /dev/null | head -n 1 | grep -e 'version [0-9]\+\.[0-9]\+\(\.[0-9]\+\)\?' -o | grep -e '[0-9]\+\.[0-9]\+\(\.[0-9]\+\)\?' -o | tail -n 1)
endif
@@ -1174,17 +1168,6 @@ ifdef FASTBUILD
endif
#-------------------------------------------------
-# Visual Studio LLVM
-#-------------------------------------------------
-
-.PHONY: vsllvm
-vsllvm: generate
- $(SILENT) $(GENIE) $(PARAMS) $(TARGET_PARAMS) vsllvm
-ifdef MSBUILD
- $(SILENT) msbuild.exe $(PROJECTDIR_WIN)/vsllvm/$(PROJECT_NAME).sln $(MSBUILD_PARAMS)
-endif
-
-#-------------------------------------------------
# android-ndk
#-------------------------------------------------
@@ -1625,14 +1608,14 @@ endif
ifeq (posix,$(SHELLTYPE))
$(GENDIR)/version.cpp: $(GENDIR)/git_desc | $(GEN_FOLDERS)
- @echo '#define BARE_BUILD_VERSION "0.207"' > $@
+ @echo '#define BARE_BUILD_VERSION "0.205"' > $@
@echo 'extern const char bare_build_version[];' >> $@
@echo 'extern const char build_version[];' >> $@
@echo 'const char bare_build_version[] = BARE_BUILD_VERSION;' >> $@
@echo 'const char build_version[] = BARE_BUILD_VERSION " ($(NEW_GIT_VERSION))";' >> $@
else
$(GENDIR)/version.cpp: $(GENDIR)/git_desc
- @echo #define BARE_BUILD_VERSION "0.207" > $@
+ @echo #define BARE_BUILD_VERSION "0.205" > $@
@echo extern const char bare_build_version[]; >> $@
@echo extern const char build_version[]; >> $@
@echo const char bare_build_version[] = BARE_BUILD_VERSION; >> $@
diff --git a/nl_examples/2N6027.cpp b/nl_examples/2N6027.cpp
deleted file mode 100644
index 8b414317087..00000000000
--- a/nl_examples/2N6027.cpp
+++ /dev/null
@@ -1,101 +0,0 @@
-// license:GPL-2.0+
-// copyright-holders:Couriersud
-
-#include "netlist/devices/net_lib.h"
-
-/*
- * Run with
- * ./nltool -t 1 -f nl_examples/2N6027.cpp -l PUT.A -l PUT.K -l PUT.G -v
- */
-
-/* ----------------------------------------------------------------------------
- * Library section header START
- * ---------------------------------------------------------------------------*/
-
-#ifndef __PLIB_PREPROCESSOR__
-
-#define PUT_2N6027(_name) \
- NET_REGISTER_DEV(G501534_DIP, _name)
-
-//NETLIST_EXTERNAL(ex2N6027)
-NETLIST_EXTERNAL(loc_lib)
-
-#endif
-
-/* ----------------------------------------------------------------------------
- * Library section header END
- * ---------------------------------------------------------------------------*/
-
-NETLIST_START(ex2N6027)
-
- /* This is a circuit pushing the solvers to the limits
- * 50,000 maximum NR loops.
- */
- SOLVER(Solver, 48000)
- PARAM(Solver.ACCURACY, 1e-5)
- PARAM(Solver.DYNAMIC_TS, 1)
- PARAM(Solver.DYNAMIC_MIN_TIMESTEP, 1e-9)
- PARAM(Solver.NR_LOOPS, 50000)
- PARAM(Solver.METHOD, "MAT_CR")
-
- LOCAL_SOURCE(loc_lib)
- INCLUDE(loc_lib)
-
- ANALOG_INPUT(VB, 10)
-
- PUT_2N6027(PUT)
-
- // Figure 3 from datasheet
- RES(R1, RES_K(510))
- RES(R2, RES_K(16))
- RES(R3, RES_K(27))
- RES(R4, 20)
- CAP(C, CAP_U(0.1))
-
- NET_C(VB, R1.1, R2.1)
- NET_C(R1.2, C.1, PUT.A)
- NET_C(PUT.K, R4.1)
- NET_C(PUT.G, R2.2, R3.1)
-
- NET_C(GND, C.2, R4.2, R3.2)
-
-NETLIST_END()
-
-
-NETLIST_START(PUT_2N6027)
-
- NET_MODEL("2N6027_NPN NPN(IS=5E-15 VAF=100 IKF=0.3 ISE=1.85E-12 NE=1.45 RE=0.15 RC=0.15 CJE=7E-10 TF=0.6E-8 CJC=2.2E-10 TR=4.76E-8 XTB=3)")
- NET_MODEL("2N6027_PNP PNP(IS=2E-15 VAF=100 IKF=0.3 ISE=1.90E-12 NE=1.5 RE=0.15 RC=0.15 CJE=7E-10 TF=1.6E-8 CJC=2.2E-10 TR=5.1E-8 XTB=3)")
-
- QBJT_EB(Q1, "2N6027_NPN")
- QBJT_EB(Q2, "2N6027_PNP")
-
- /* The netlist transistor model currently doesn't support
- * BE and BC capacitances.
- * Adding those here significantly reduces NR loops.
- * FIXME: Needs to be removed when added to the
- * transistor EB model.
- */
-#if 0
- CAP(CJE1, CAP_N(1))
- CAP(CJE2, CAP_N(1))
-
- NET_C(CJE1.1, Q1.B)
- NET_C(CJE1.2, Q1.E)
- NET_C(CJE2.1, Q2.B)
- NET_C(CJE2.2, Q2.E)
-#endif
- NET_C(Q1.C, Q2.B)
- NET_C(Q1.B, Q2.C)
-
- ALIAS(G, Q2.B)
- ALIAS(A, Q2.E)
- ALIAS(K, Q1.E)
-
-NETLIST_END()
-
-NETLIST_START(loc_lib)
-
- LOCAL_LIB_ENTRY(PUT_2N6027)
-
-NETLIST_END()
diff --git a/nl_examples/cmos_inverter.cpp b/nl_examples/cmos_inverter.cpp
deleted file mode 100644
index e0936bfd3bc..00000000000
--- a/nl_examples/cmos_inverter.cpp
+++ /dev/null
@@ -1,42 +0,0 @@
-// license:GPL-2.0+
-// copyright-holders:Couriersud
-/*
- * bjt.c
- *
- */
-
-
-#include "netlist/devices/net_lib.h"
-#include "netlist/analog/nld_twoterm.h"
-
-NETLIST_START(cmos_inverter)
- /* Standard stuff */
-
- SOLVER(Solver, 48000)
- PARAM(Solver.ACCURACY, 1e-7)
- PARAM(Solver.NR_LOOPS, 5000)
- PARAM(Solver.METHOD, "MAT_CR")
- ANALOG_INPUT(V5, 5)
-
- VS(IN, 5)
- PARAM(IN.FUNC, "T 5 *")
-
- MOSFET(P, "PMOS(VTO=-1.0 KP=2e-3 LAMBDA=2E-2)")
- MOSFET(M, "NMOS(VTO=1.0 KP=2e-3 LAMBDA=2E-2)")
-
- NET_C(P.S, V5)
- NET_C(P.D, M.D)
- NET_C(GND, M.S, IN.N)
-
- NET_C(IN.P, M.G, P.G)
-
- // capacitance over D - S
-#if 0
- CAP(C, CAP_N(1))
- NET_C(M.D, C.1)
- NET_C(M.S, C.2)
-#endif
- LOG(log_G, M.G)
- LOG(log_D, M.D)
-
-NETLIST_END()
diff --git a/nl_examples/nmos_fet.cpp b/nl_examples/nmos_fet.cpp
deleted file mode 100644
index ffa67c1bf00..00000000000
--- a/nl_examples/nmos_fet.cpp
+++ /dev/null
@@ -1,52 +0,0 @@
-// license:GPL-2.0+
-// copyright-holders:Couriersud
-/*
- * bjt.c
- *
- */
-
-
-#include "netlist/devices/net_lib.h"
-#include "netlist/analog/nld_twoterm.h"
-
-NETLIST_START(bjt)
- /* Standard stuff */
-
- CLOCK(clk, 100) // 100 Hz
- SOLVER(Solver, 48000)
- PARAM(Solver.ACCURACY, 1e-7)
- PARAM(Solver.NR_LOOPS, 5000)
- ANALOG_INPUT(V5, 5)
- ANALOG_INPUT(V3, 3.5)
-
- /* NMOS - example */
-
- NET_MODEL("MM NMOS(VTO=1.0 KP=2e-3 LAMBDA=2E-2)")
- MOSFET(M, "MM")
-
- RES(RB, 1000)
- RES(RC, 10000)
-
- NET_C(RC.1, V5)
- NET_C(RC.2, M.D)
- NET_C(RB.1, clk)
- //NET_C(RB.1, V3)
- NET_C(RB.2, M.G)
- NET_C(M.S, GND)
-
- // put some load on M.D
-
- RES(RCE, 150000)
- NET_C(RCE.1, M.D)
- NET_C(RCE.2, GND)
-
- // capacitance over D - S
-
- CAP(C, CAP_N(1))
- NET_C(M.D, C.1)
- NET_C(M.S, C.2)
-
- LOG(log_G, M.G)
- LOG(log_D, M.D)
-
-NETLIST_END()
diff --git a/plugins/cheatfind/init.lua b/plugins/cheatfind/init.lua
index 276193acc13..86fcf04ca49 100644
--- a/plugins/cheatfind/init.lua
+++ b/plugins/cheatfind/init.lua
@@ -106,9 +106,7 @@ function cheatfind.startplugin()
if not step or step <= 0 then
step = 1
end
- if (olddata.shift < 0) and (step < (1 << -olddata.shift)) then
- step = 1 << -olddata.shift;
- end
+
local cfoper = {
lt = function(a, b, val) return (a < b and val == 0) or (val > 0 and (a + val) == b) end,
gt = function(a, b, val) return (a > b and val == 0) or (val > 0 and (a - val) == b) end,
@@ -194,7 +192,7 @@ function cheatfind.startplugin()
oldval = old,
newval = new,
bitmask = bitmask }
- ref[addr] = #ret
+ ref[ret[#ret].addr] = #ret
end
end
end
@@ -259,35 +257,18 @@ function cheatfind.startplugin()
local devtable = {}
local devsel = 1
local devcur = 1
-
-
- --local formtable = { " I1", " i1", "<I2", ">I2", "<i2", ">i2", "<I4", ">I4", "<i4", ">i4", "<I8", ">I8", "<i8", ">i8", }-- " <f", " >f", " <d", " >d" }
- --local formname = { "u8", "s8", "little u16", "big u16", "little s16", "big s16",
- -- "little u32", "big u32", "little s32", "big s32", "little u64", "big u64", "little s64", "big s64", }
- -- -- "little float", "big float", "little double", "big double" }
- -- Reordered into likelyhood of use order: unsigned byte by big endian unsigned by little endian unsigned then unsigned in same order
- local formtable = { " I1", ">I2", ">I4", ">I8", "<I2", "<I4", "<I8", " i1", ">i2", ">i4", ">i8", "<i2", "<i4", "<i8", }-- " <f", " >f", " <d", " >d" }
- local formname = { "u8", "big u16", "big u32", "big u64", "little u16", "little u32",
- "little u64", "s8", "big s16", "big s32", "big s64", "little s16", "little s32", "little s64", }
-
+ local formtable = { " I1", " i1", "<I2", ">I2", "<i2", ">i2", "<I4", ">I4", "<i4", ">i4", "<I8", ">I8", "<i8", ">i8", }-- " <f", " >f", " <d", " >d" }
+ local formname = { "u8", "s8", "little u16", "big u16", "little s16", "big s16",
+ "little u32", "big u32", "little s32", "big s32", "little u64", "big u64", "little s64", "big s64", }
+ -- "little float", "big float", "little double", "big double" }
local width = 1
local bcd = 0
local align = 0
local optable = { "lt", "gt", "eq", "ne", "beq", "bne", "ltv", "gtv", "eqv", "nev" }
local opsel = 1
local value = 0
- local leftop = 1
+ local leftop = 2
local rightop = 1
- local leftop_text = "Slot 1"
- local rightop_text = "Slot 1"
- local value_text = ""
- local expression_text = "Slot 1 < Slot 1"
- local pausetable = { "Automatic", "Manual" }
- local pausesel = 1
- local pokevaltable = { "Slot 1 Value", "Last Slot Value", "0x00", "0x01", "0x02", "0x03", "0x04", "0x05", "0x06", "0x07", "0x08", "0x09", "0x63 (Decimal 99)", "0x99 (BCD 99)",
- "0xFF (Decimal 255)" , "0x3E7 (Decimal 999)", "0x999 (BCD 999)", "0x270F (Decimal 9999)", "0x9999 (BCD 9999)", "0xFFFF (Decimal 65535)" }
- local pokevalsel = 1
-
local matches = {}
local matchsel = 0
local matchpg = 0
@@ -308,7 +289,7 @@ function cheatfind.startplugin()
bcd = 0
opsel = 1
value = 0
- leftop = 1
+ leftop = 2
rightop = 1
matches = {}
matchsel = 0
@@ -351,14 +332,7 @@ function cheatfind.startplugin()
emu.register_start(start)
- local menu_is_showing = false
- local tabbed_out = false
-
local function menu_populate()
- if pausesel == 1 then
- emu.pause()
- menu_is_showing = true
- end
local menu = {}
local function menu_prepare()
@@ -456,8 +430,6 @@ function cheatfind.startplugin()
file:close()
file = io.open(cheat_save.path .. "/cheat.simple", "a")
file:write(string.format(cheat_save.simple, desc))
- -- old cheat .dat format, write support only (for cheat forum posting of new cheats if posted in simple format)
- file:write(string.format(cheat_save.dat, desc))
file:close()
manager:machine():popmessage(string.format(_("Cheat written to %s and added to cheat.simple"), filename))
end
@@ -466,8 +438,6 @@ function cheatfind.startplugin()
file = io.open(cheat_save.path .. "/cheat.simple", "a")
if file then
file:write(string.format(cheat_save.simple, desc))
- -- old cheat .dat format, write support only (for cheat forum posting of new cheats if posted in simple format)
- file:write(string.format(cheat_save.dat, desc))
file:close()
manager:machine():popmessage(_("Cheat added to cheat.simple"))
written = true
@@ -501,28 +471,6 @@ function cheatfind.startplugin()
end
menu[#menu + 1] = function()
- local m = { _("Pause Mode"), pausetable[pausesel], 0 }
- menu_lim(pausesel, 1, pausetable, m)
- local function f(event)
- if (event == "left" or event == "right") then
- if pausesel == 1 then
- pausesel = 2
- menu_is_showing = false
- manager:machine():popmessage(_("Manually pause & unpause the game when needed with the pause hotkey"))
- else
- pausesel = 1
- emu.pause()
- end
- end
-
- return true
- end
- return m, f
- end
-
-
-
- menu[#menu + 1] = function()
local function f(event)
local ret = false
if event == "select" then
@@ -533,26 +481,16 @@ function cheatfind.startplugin()
menu_blocks[num] = {}
menu_blocks[num][1] = cheat.save(devtable[devcur].space, region.offset, region.size)
end
- manager:machine():popmessage(_("All slots cleared and current state saved to Slot 1"))
+ manager:machine():popmessage(_("Data cleared and current state saved"))
watches = {}
- opsel = 1
- value = 0
- leftop = 1
+ leftop = 2
rightop = 1
- leftop_text = "Slot 1"
- rightop_text = "Slot 1"
- value_text = ""
- expression_text = "Slot 1 < Slot 1"
matchsel = 0
return true
end
end
- local opsel = 1
return { _("Start new search"), "", 0 }, f
end
-
-
-
if #menu_blocks ~= 0 then
menu[#menu + 1] = function() return { "---", "", "off" }, nil end
menu[#menu + 1] = function()
@@ -561,28 +499,15 @@ function cheatfind.startplugin()
for num, region in ipairs(devtable[devcur].ram) do
menu_blocks[num][#menu_blocks[num] + 1] = cheat.save(devtable[devcur].space, region.offset, region.size)
end
- manager:machine():popmessage(string.format(_("Memory State saved to Slot %d"), #menu_blocks[1]))
-
- if (leftop == #menu_blocks[1] - 1 and rightop == #menu_blocks[1] - 2 ) then
- leftop = #menu_blocks[1]
- rightop = #menu_blocks[1]-1
- elseif (leftop == #menu_blocks[1] - 2 and rightop == #menu_blocks[1] - 1 ) then
- leftop = #menu_blocks[1]-1
- rightop = #menu_blocks[1]
- elseif (leftop == #menu_blocks[1] - 1 ) then
- leftop = #menu_blocks[1]
- elseif (rightop == #menu_blocks[1] - 1) then
- rightop = #menu_blocks[1]
- end
- leftop_text = string.format("Slot %d", leftop)
- rightop_text = string.format("Slot %d", rightop)
+ manager:machine():popmessage(_("Current state saved"))
+ leftop = (leftop == #menu_blocks[1]) and #menu_blocks[1] + 1 or leftop
+ rightop = (rightop == #menu_blocks[1] - 1) and #menu_blocks[1] or rightop
devsel = devcur
return true
end
end
- return { _("Save Current Memory State to Slot ") .. #menu_blocks[1] + 1, "", 0 }, f
+ return { _("Save current -- #") .. #menu_blocks[1] + 1, "", 0 }, f
end
- menu[#menu + 1] = function() return { "---", "", "off" }, nil end
menu[#menu + 1] = function()
local function f(event)
if event == "select" then
@@ -598,16 +523,26 @@ function cheatfind.startplugin()
if #matches == 0 then
matches[1] = {}
for num = 1, #menu_blocks do
- matches[1][num] = cheat.comp(menu_blocks[num][leftop], menu_blocks[num][rightop],
- optable[opsel], formtable[width], value, bcd == 1, step)
+ if leftop == #menu_blocks[1] + 1 then
+ matches[1][num] = cheat.compcur(menu_blocks[num][rightop], optable[opsel],
+ formtable[width], value, bcd == 1, step)
+ else
+ matches[1][num] = cheat.comp(menu_blocks[num][leftop], menu_blocks[num][rightop],
+ optable[opsel], formtable[width], value, bcd == 1, step)
+ end
count = count + #matches[1][num]
end
else
lastmatch = matches[#matches]
matches[#matches + 1] = {}
for num = 1, #menu_blocks do
- matches[#matches][num] = cheat.compnext(menu_blocks[num][leftop], menu_blocks[num][rightop],
- lastmatch[num], optable[opsel], formtable[width], value, bcd == 1, step)
+ if leftop == #menu_blocks[1] + 1 then
+ matches[#matches][num] = cheat.compcurnext(menu_blocks[num][rightop], lastmatch[num],
+ optable[opsel], formtable[width], value, bcd == 1, step)
+ else
+ matches[#matches][num] = cheat.compnext(menu_blocks[num][leftop], menu_blocks[num][rightop],
+ lastmatch[num], optable[opsel], formtable[width], value, bcd == 1, step)
+ end
count = count + #matches[#matches][num]
end
end
@@ -618,64 +553,31 @@ function cheatfind.startplugin()
return true
end
end
-
- if optable[opsel] == "lt" then
- if (value == 0 ) then
- expression_text = string.format("%s < %s", leftop_text, rightop_text)
- else
- expression_text = string.format("%s == %s - %d", leftop_text, rightop_text, value)
- end
- elseif optable[opsel] == "gt" then
- if (value == 0 ) then
- expression_text = string.format("%s > %s", leftop_text, rightop_text)
- else
- expression_text = string.format("%s == %s + %d", leftop_text, rightop_text, value)
- end
- elseif optable[opsel] == "eq" then
- expression_text = string.format("%s == %s", leftop_text, rightop_text)
- elseif optable[opsel] == "ne" then
- if (value == 0 ) then
- expression_text = string.format("%s != %s", leftop_text, rightop_text)
- else
- expression_text = string.format("%s == %s +/- %d", leftop_text, rightop_text, value)
- end
- elseif optable[opsel] == "beq" then
- expression_text = string.format("%s BITWISE== %s", leftop_text, rightop_text)
- elseif optable[opsel] == "bne" then
- expression_text = string.format("%s BITWISE!= %s", leftop_text, rightop_text)
- elseif optable[opsel] == "ltv" then
- expression_text = string.format("%s < %d", leftop_text, value)
- elseif optable[opsel] == "gtv" then
- expression_text = string.format("%s > %d", leftop_text, value)
- elseif optable[opsel] == "eqv" then
- expression_text = string.format("%s == %d", leftop_text, value)
- elseif optable[opsel] == "nev" then
- string.format("%s != %d", leftop_text, value)
- end
- return { _("Perform Compare : ") .. expression_text, "", 0 }, f
+ return { _("Compare"), "", 0 }, f
end
- menu[#menu + 1] = function() return { "---", "", "off" }, nil end
menu[#menu + 1] = function()
- local m = { _(leftop), "", 0 }
- menu_lim(leftop, 1, #menu_blocks[1], m)
- m[1] = string.format("Slot %d", leftop)
- return m, function(event) local r leftop, r = incdec(event, leftop, 1, #menu_blocks[1]) leftop_text = "Slot " .. leftop return r end
+ local m = { _("Left operand"), leftop, "" }
+ menu_lim(leftop, 1, #menu_blocks[1] + 1, m)
+ if leftop == #menu_blocks[1] + 1 then
+ m[2] = _("Current")
+ end
+ return m, function(event) local r leftop, r = incdec(event, leftop, 1, #menu_blocks[1] + 1) return r end
end
menu[#menu + 1] = function()
- local m = { _(optable[opsel]), "", 0 }
+ local m = { _("Operator"), optable[opsel], "" }
menu_lim(opsel, 1, #optable, m)
local function f(event)
local r
opsel, r = incdec(event, opsel, 1, #optable)
if event == "left" or event == "right" or event == "comment" then
if optable[opsel] == "lt" then
- manager:machine():popmessage(_("Left less than right"))
+ manager:machine():popmessage(_("Left less than right, value is difference"))
elseif optable[opsel] == "gt" then
- manager:machine():popmessage(_("Left greater than right"))
+ manager:machine():popmessage(_("Left greater than right, value is difference"))
elseif optable[opsel] == "eq" then
manager:machine():popmessage(_("Left equal to right"))
elseif optable[opsel] == "ne" then
- manager:machine():popmessage(_("Left not equal to right"))
+ manager:machine():popmessage(_("Left not equal to right, value is difference"))
elseif optable[opsel] == "beq" then
manager:machine():popmessage(_("Left equal to right with bitmask"))
elseif optable[opsel] == "bne" then
@@ -698,21 +600,15 @@ function cheatfind.startplugin()
if optable[opsel]:sub(3, 3) == "v" then
return nil
end
- local m = { _(rightop), "", 0 }
+ local m = { _("Right operand"), rightop, "" }
menu_lim(rightop, 1, #menu_blocks[1], m)
- m[1] = string.format("Slot %d", rightop)
- return m, function(event) local r rightop, r = incdec(event, rightop, 1, #menu_blocks[1]) rightop_text = "Slot " .. rightop return r end
+ return m, function(event) local r rightop, r = incdec(event, rightop, 1, #menu_blocks[1]) return r end
end
menu[#menu + 1] = function()
if optable[opsel] == "bne" or optable[opsel] == "beq" or optable[opsel] == "eq" then
return nil
end
- local m
- if optable[opsel] == "ltv" or optable[opsel] == "gtv" or optable[opsel] == "eqv" or optable[opsel] == "nev" then
- m = { _("Value"), value, "" }
- else
- m = { _("Difference"), value, "" }
- end
+ local m = { _("Value"), value, "" }
local max = 100 -- max value?
menu_lim(value, 0, max, m)
if value == 0 and optable[opsel]:sub(3, 3) ~= "v" then
@@ -726,62 +622,6 @@ function cheatfind.startplugin()
menu_lim(width, 1, #formtable, m)
return m, function(event) local r width, r = incdec(event, width, 1, #formtable) return r end
end
-
- menu[#menu + 1] = function()
- local m = { _("Test/Write Poke Value"), pokevaltable[pokevalsel], 0 }
- menu_lim(pokevalsel, 1, #pokevaltable, m)
- local function f(event)
- local r
- pokevalsel, r = incdec(event, pokevalsel, 1, #pokevaltable)
- if event == "left" or event == "right" or event == "comment" then
- if pokevalsel == 1 then
- manager:machine():popmessage(_("Use this if you want to poke the Slot 1 value (eg. You started with something but lost it)"))
- elseif pokevalsel == 2 then
- manager:machine():popmessage(_("Use this if you want to poke the Last Slot value (eg. You started without an item but finally got it)"))
- elseif pokevalsel == 3 then
- manager:machine():popmessage(_("Use this if you want to poke 0x00"))
- elseif pokevalsel == 4 then
- manager:machine():popmessage(_("Use this if you want to poke 0x01"))
- elseif pokevalsel == 5 then
- manager:machine():popmessage(_("Use this if you want to poke 0x02"))
- elseif pokevalsel == 6 then
- manager:machine():popmessage(_("Use this if you want to poke 0x03"))
- elseif pokevalsel == 7 then
- manager:machine():popmessage(_("Use this if you want to poke 0x04"))
- elseif pokevalsel == 8 then
- manager:machine():popmessage(_("Use this if you want to poke 0x05"))
- elseif pokevalsel == 9 then
- manager:machine():popmessage(_("Use this if you want to poke 0x06"))
- elseif pokevalsel == 10 then
- manager:machine():popmessage(_("Use this if you want to poke 0x07"))
- elseif pokevalsel == 11 then
- manager:machine():popmessage(_("Use this if you want to poke 0x08"))
- elseif pokevalsel == 12 then
- manager:machine():popmessage(_("Use this if you want to poke 0x09"))
- elseif pokevalsel == 13 then
- manager:machine():popmessage(_("Use this if you want to poke 0x63 (Decimal 99)"))
- elseif pokevalsel == 14 then
- manager:machine():popmessage(_("Use this if you want to poke 0x99 (BCD 99)"))
- elseif pokevalsel == 15 then
- manager:machine():popmessage(_("Use this if you want to poke 0xFF (Decimal 255)"))
- elseif pokevalsel == 16 then
- manager:machine():popmessage(_("Use this if you want to poke 0x3E7 (Decimal 999)"))
- elseif pokevalsel == 17 then
- manager:machine():popmessage(_("Use this if you want to poke 0x999 (BCD 999)"))
- elseif pokevalsel == 18 then
- manager:machine():popmessage(_("Use this if you want to poke 0x270F (Decimal 9999)"))
- elseif pokevalsel == 19 then
- manager:machine():popmessage(_("Use this if you want to poke 0x9999 (BCD 9999)"))
- elseif pokevalsel == 20 then
- manager:machine():popmessage(_("Use this if you want to poke 0xFFFF (Decimal 65535)"))
- end
- end
- return r
- end
- return m, f
- end
-
-
menu[#menu + 1] = function()
if optable[opsel] == "bne" or optable[opsel] == "beq" then
return nil
@@ -873,66 +713,10 @@ function cheatfind.startplugin()
local function match_exec(match)
local dev = devtable[devcur]
-
+ local cheat = { desc = string.format(_("Test cheat at addr %08X"), match.addr), script = {} }
local wid = formtable[width]:sub(3, 3)
local widchar
- local pokevalue
local form
-
- if pokevalsel == 1 then
- pokevalue = match.oldval
- elseif pokevalsel == 2 then
- pokevalue = match.newval
- elseif pokevalsel == 3 then
- pokevalue = 0
- elseif pokevalsel == 4 then
- pokevalue = 1
- elseif pokevalsel == 5 then
- pokevalue = 2
- elseif pokevalsel == 6 then
- pokevalue = 3
- elseif pokevalsel == 7 then
- pokevalue = 4
- elseif pokevalsel == 8 then
- pokevalue = 5
- elseif pokevalsel == 9 then
- pokevalue = 6
- elseif pokevalsel == 10 then
- pokevalue = 7
- elseif pokevalsel == 11 then
- pokevalue = 8
- elseif pokevalsel == 12 then
- pokevalue = 9
- elseif pokevalsel == 13 then
- pokevalue = 99
- elseif pokevalsel == 14 then
- pokevalue = 153
- elseif pokevalsel == 15 then
- pokevalue = 255
- elseif pokevalsel == 16 and wid == "1" then
- pokevalue = 99
- elseif pokevalsel == 17 and wid == "1" then
- pokevalue = 153
- elseif pokevalsel == 18 and wid == "1" then
- pokevalue = 99
- elseif pokevalsel == 19 and wid == "1" then
- pokevalue = 153
- elseif pokevalsel == 20 and wid == "1" then
- pokevalue = 255
- elseif pokevalsel == 16 then
- pokevalue = 999
- elseif pokevalsel == 17 then
- pokevalue = 2457
- elseif pokevalsel == 18 then
- pokevalue = 9999
- elseif pokevalsel == 19 then
- pokevalue = 39321
- elseif pokevalsel == 20 then
- pokevalue = 65535
- end
-
- local cheat = { desc = string.format(_("Test Cheat %08X:%02X"), match.addr, pokevalue), script = {} }
-
if wid == "2" then
wid = "u16"
form = "%08x %04x"
@@ -959,15 +743,16 @@ function cheatfind.startplugin()
widchar = "b"
end
+
if getmetatable(dev.space).__name:match("device_t") then
cheat.ram = { ram = dev.tag }
- cheat.script.run = "ram:write(" .. match.addr .. "," .. pokevalue .. ")"
+ cheat.script.run = "ram:write(" .. match.addr .. "," .. match.newval .. ")"
elseif getmetatable(dev.space).__name:match("memory_share") then
cheat.share = { share = dev.tag }
- cheat.script.run = "share:write_" .. wid .. "(" .. match.addr .. "," .. pokevalue .. ")"
+ cheat.script.run = "share:write_" .. wid .. "(" .. match.addr .. "," .. match.newval .. ")"
else
cheat.space = { cpu = { tag = dev.tag, type = dev.sname } }
- cheat.script.run = "cpu:write_" .. wid .. "(" .. match.addr .. "," .. pokevalue .. ")"
+ cheat.script.run = "cpu:write_" .. wid .. "(" .. match.addr .. "," .. match.newval .. ")"
end
if match.mode == 1 then
if not _G.ce then
@@ -999,9 +784,8 @@ function cheatfind.startplugin()
local json = require("json")
cheat.desc = "%s"
cheat_save.json = json.stringify({[1] = cheat}, {indent = true})
- cheat_save.xml = string.format("<mamecheat version=\"1\">\n <cheat desc=\"%%s\">\n <script state=\"run\">\n <action>%s.pp%s@%X=%X</action>\n </script>\n </cheat>\n</mamecheat>", dev.tag:sub(2), widchar, match.addr, match.newval)
- cheat_save.simple = string.format("%s,%s,%X,%s,%X,%%s\n", setname, dev.tag, match.addr, widchar, pokevalue)
- cheat_save.dat = string.format(":%s:40000000:%X:%08X:FFFFFFFF:%%s\n", setname, match.addr, pokevalue)
+ cheat_save.xml = string.format("<mamecheat version=\"1\">\n<cheat desc=\"%%s\">\n<script state=\"run\">\n<action>%s.pp%s@%X=%X</action>\n</script>\n</cheat>\n</mamecheat>", dev.tag:sub(2), widchar, match.addr, match.newval)
+ cheat_save.simple = string.format("%s,%s,%X,%s,%X,%%s\n", setname, dev.tag, match.addr, widchar, match.newval)
manager:machine():popmessage(string.format(_("Default name is %s"), cheat_save.name))
return true
else
@@ -1045,7 +829,7 @@ function cheatfind.startplugin()
local m = { _("Page"), matchpg, 0 }
local max
if matchsel == 0 then
- max = math.ceil(matches[#matches].count / 100) - 1
+ max = math.ceil(matches[#matches].count / 100)
else
max = #matches[#matches][matchsel]
end
@@ -1068,11 +852,6 @@ function cheatfind.startplugin()
end
local function menu_callback(index, event)
- if event == "cancel" and pausesel == 1 then
- emu.unpause()
- menu_is_showing = false
- return {0,0,0}
- end
return menu_func[index](event)
end
emu.register_menu(menu_callback, menu_populate, _("Cheat Finder"))
@@ -1082,19 +861,7 @@ function cheatfind.startplugin()
for num, watch in ipairs(watches) do
screen:draw_text("left", num * height, string.format(watch.format, watch.addr, watch.func()))
end
- if tabbed_out and manager:ui():is_menu_active() then
- emu.pause()
- menu_is_showing = true
- tabbed_out = false
- end
end)
- emu.register_periodic(function ()
- if menu_is_showing and not manager:ui():is_menu_active() then
- emu.unpause()
- menu_is_showing = false
- tabbed_out = true
- end
- end)
end
return exports
diff --git a/plugins/console/init.lua b/plugins/console/init.lua
index 52d54fdcc1a..3cb75f55528 100644
--- a/plugins/console/init.lua
+++ b/plugins/console/init.lua
@@ -18,16 +18,6 @@ function console.startplugin()
local matches = {}
local lastindex = 0
local consolebuf
- _G.history = function (index)
- local history = ln.historyget()
- if index then
- ln.preload(history[index])
- return
- end
- for num, line in ipairs(history) do
- print(num, line)
- end
- end
print(" _/ _/ _/_/ _/ _/ _/_/_/_/");
print(" _/_/ _/_/ _/ _/ _/_/ _/_/ _/ ");
print(" _/ _/ _/ _/_/_/_/ _/ _/ _/ _/_/_/ ");
@@ -38,7 +28,7 @@ function console.startplugin()
-- linenoise isn't thread safe but that means history can handled here
-- that also means that bad things will happen if anything outside lua tries to use it
-- especially the completion callback
- ln.historysetmaxlen(50)
+ ln.historysetmaxlen(10)
local scr = [[
local ln = require('linenoise')
ln.setcompletion(function(c, str, pos)
diff --git a/plugins/hiscore/hiscore.dat b/plugins/hiscore/hiscore.dat
index dcb14dcd893..a8480580d3e 100644
--- a/plugins/hiscore/hiscore.dat
+++ b/plugins/hiscore/hiscore.dat
@@ -99,43 +99,6 @@ undoukai:
;@s:8080bw.cpp
-alieninvp2:
-cosmicin:
-galmonst:
-invader4:
-invaders:
-invadersem:
-invadrmr:
-invasion:
-invasiona:
-invasiona2:
-invasionb:
-invasionrz:
-invasionrza:
-searthin:
-searthina:
-sicv:
-sicv1:
-sinvemag:
-sinvzen:
-sisv:
-sisv1:
-sisv2:
-sisv3:
-sitv:
-sitv1:
-spaceat2:
-spaceatt:
-spaceatt2k:
-spaceattbp:
-spacecom:
-spacerng:
-spceking:
-superinv:
-ultrainv:
-@:maincpu,program,20f4,02,00,00
-
-
crashrd:
@:maincpu,program,233f,03,01,00
@:maincpu,program,2244,0a,02,1b
@@ -193,6 +156,42 @@ swipeout:
@:maincpu,program,35be,1,41,41
+alieninvp2:
+cosmicin:
+galmonst:
+invader4:
+invaders:
+invadersem:
+invadrmr:
+invasion:
+invasiona:
+invasionb:
+invasionrz:
+invasionrza:
+searthin:
+searthina:
+sicv:
+sicv1:
+sinvemag:
+sinvzen:
+sisv:
+sisv1:
+sisv2:
+sisv3:
+sitv:
+sitv1:
+spaceat2:
+spaceatt:
+spaceatt2k:
+spaceattbp:
+spacecom:
+spacerng:
+spceking:
+superinv:
+ultrainv:
+@:maincpu,program,20f4,02,00,00
+
+
ozmawarsmr:
@:maincpu,program,2043,02,00,00
@:maincpu,program,2023,01,01,01
@@ -1041,7 +1040,7 @@ spacezap:
;gorf:* resetting screws up 2 scores and top score
gorf:
gorfpgm1:
-@:maincpu,:protected_ram/share,0010,22,00,00
+@:maincpu,program,d010,22,00,00
robby:
@@ -1150,7 +1149,6 @@ eto:
earthjkr:
earthjkrp:
-earthjkra:
@:maincpu,program,103204,2f,00,42
@@ -1438,7 +1436,6 @@ bionicc2:
bioniccbl:
bioniccbl2:
topsecrt:
-topsecrt2:
@:maincpu,program,fff9e2,4f,00,4d
@:maincpu,program,ffc57a,4,00,00
@:maincpu,program,fec0d9,1,20,20
@@ -2267,8 +2264,8 @@ cchasm1:
;@s:cclimber.cpp
;rpatrol:******River Patrol (Orca)
-rpatrol:
rpatroln:
+rpatrol:
@:maincpu,program,919b,4,18,0a
@:maincpu,program,91ba,6,00,00
@:maincpu,program,921b,4,18,0a
@@ -2421,7 +2418,6 @@ centiped:
centiped2:
centiped3:
centipedj:
-centipdb2:
@:maincpu,program,000b,0f,10,01
@:maincpu,program,0023,0f,04,12
@@ -2600,8 +2596,7 @@ circusce:
;@s:cischeat.cpp
f1gpstar:
-f1gpstar2:
-f1gpstar3:
+f1gpstaro:
@:cpu1,program,f2803,5e3,04,4d
@@ -2860,12 +2855,6 @@ cosmica2:
;@s:cps1.cpp
-sf2yyc:
-@:maincpu,program,ffd276,28,02,20
-@:maincpu,program,ffd2c6,14,ff,96
-@:maincpu,program,ffd2ee,04,02,53
-
-
;street fighter 2 (US 910318)(clone)(by tamphax)
sf2:
sf2b:
@@ -2899,8 +2888,6 @@ sf2uf:
sf2ug:
sf2ui:
sf2uk:
-sf2ea:
-sf2uh:
@:maincpu,program,ffd28a,30,00,20
@:maincpu,program,ffd302,04,00,00
@@ -2947,6 +2934,7 @@ sf2mdtb:
sf2rb:
sf2rb2:
sf2rb3:
+sf2yyc:
@:maincpu,program,ffd276,28,00,20
@:maincpu,program,ffd2c6,14,ff,96
@:maincpu,program,ffd2ee,04,00,00
@@ -3274,25 +3262,6 @@ lostwrldo:
;@s:cps2.cpp
-;xmcotar1d:******X-Men: Children of the Atom (Euro 950105 Phoenix Edition)
-xmcota:
-xmcotaa:
-xmcotaar1:
-xmcotaar2:
-xmcotab:
-xmcotah:
-xmcotahr1:
-xmcotaj:
-xmcotaj1:
-xmcotaj2:
-xmcotaj3:
-xmcotajr:
-xmcotar1:
-xmcotar1d:
-xmcotau:
-@:maincpu,program,ffec8e,3c,00,01
-
-
ssf2:
ssf2a:
ssf2ar1:
@@ -3312,6 +3281,24 @@ ssf2ud:
@:maincpu,program,ffd61a,4,00,00
+;xmcotar1d:******X-Men: Children of the Atom (Euro 950105 Phoenix Edition)
+xmcota:
+xmcotaa:
+xmcotaar1:
+xmcotab:
+xmcotah:
+xmcotahr1:
+xmcotaj:
+xmcotaj1:
+xmcotaj2:
+xmcotaj3:
+xmcotajr:
+xmcotar1:
+xmcotar1d:
+xmcotau:
+@:maincpu,program,ffec8e,3c,00,01
+
+
;ddsomud:******Dungeons & Dragons: Shadow over Mystara (USA 960619 Phoenix Edition) (bootleg)
ddsom:
ddsoma:
@@ -4952,7 +4939,6 @@ rolcrush:
;*******dragon master
drgnmst:
-drgnmst2:
@:maincpu,program,ff84f0,4,00,00
@:maincpu,program,ff8450,6c,00,01
@@ -5443,7 +5429,6 @@ fantlanda:
;*******galaxy gunners
galaxygn:
-galaxygnh:
@:maincpu,program,01e9c,190,50,00
@:maincpu,program,0202a,1,0a,0a
@@ -5705,21 +5690,20 @@ funkybeeb:
;@s:funkyjet.cpp
+;(sotsugyo shousho) (by GeoMan)
+sotsugyo:
+@:maincpu,program,14269c,10,00,32
+@:maincpu,program,1426ac,50,04,00
+
+
;funkyjetj:******Funky Jet (Japan)
funkyjet:
funkyjeta:
-funkyjetb:
funkyjetj:
@:maincpu,program,143a01,20,00,10
@:maincpu,program,143a21,140,12,00
-;(sotsugyo shousho) (by GeoMan)
-sotsugyo:
-@:maincpu,program,14269c,10,00,32
-@:maincpu,program,1426ac,50,04,00
-
-
;@s:funybubl.cpp
;funybublc:******Funny Bubble (Comad version)
@@ -5943,24 +5927,6 @@ galaxiac:
;@s:galaxian.cpp
-;amidar:[Special thanks to Cananas for enhancing this entry]
-amidar:
-amidar1:
-amidarb:
-amidaro:
-amidaru:
-amigo:
-amigo2:
-scobra:
-scobrab:
-scobrag:
-scobraggi:
-scobras:
-scobrase:
-@:maincpu,program,8200,1e,00,01
-@:maincpu,program,80a8,03,00,01
-
-
;(zero time)
asideral:
astrians:
@@ -6029,6 +5995,23 @@ froggervd:
@:maincpu,program,43ef,0d,63,05
+;amidar:[Special thanks to Cananas for enhancing this entry]
+amidar:
+amidar1:
+amidarb:
+amidaro:
+amidaru:
+amigo:
+amigo2:
+scobra:
+scobrab:
+scobrag:
+scobras:
+scobrase:
+@:maincpu,program,8200,1e,00,01
+@:maincpu,program,80a8,03,00,01
+
+
mshuttlea:
@:maincpu,program,808a,57,00,24
@@ -7039,11 +7022,12 @@ hvyunitu:
;@s:hyperspt.cpp
+;roadf (& clones) fixed thanks to thomas busse
roadf:
roadf2:
roadf3:
@:maincpu,program,3bd0,b0,01,20
-@:maincpu,program,3066,3,01,00
+@:maincpu,program,3004,0,01,01
;@s:hyprduel.cpp
@@ -7203,13 +7187,6 @@ junofrstg:
;@s:kaneko16.cpp
-;(Blaze On) (by tamphax)
-blazeon:
-blazeonj:
-@:maincpu,program,304fb0,77,00,0d
-@:maincpu,program,30020c,8,00,00
-
-
;*******bakuretsu breaker
;******Explosive Breaker
bakubrkr:
@@ -7230,6 +7207,12 @@ wingforc:
@:maincpu,program,30d7e7,13f,00,35
+;(Blaze On) (by tamphax)
+blazeon:
+@:maincpu,program,304fb0,77,00,0d
+@:maincpu,program,30020c,8,00,00
+
+
berlwall:
berlwallk:
berlwallt:
@@ -8033,7 +8016,6 @@ rtypejp:
loht:
lohtb2:
lohtj:
-lohtb3:
@:maincpu,program,a3af4,32,36,20
@:maincpu,program,a3adc,02,36,11
@@ -8575,10 +8557,6 @@ genesis,tf3:
;@s:megadriv_acbl.cpp
-barek3mb:
-@:maincpu,program,e0ff31,99,01,04
-
-
ssf2mdb:
@:maincpu,program,fffcb3,29,00,20
@@ -8930,7 +8908,6 @@ mhavoc:
mikie:
mikiehs:
mikiej:
-mikiek:
@:maincpu,program,2a00,01,1d,1d
@:maincpu,program,2a01,01,2c,2c
@:maincpu,program,2a02,01,1f,1f
@@ -9266,18 +9243,16 @@ mustachei:
;@s:mw8080bw.cpp
-;** lagunar - wait until cars race in attract mode for hi-scores to appear ***
-lagunar:
-@:maincpu,program,2011,9,00,00
-@:maincpu,program,2005,3,00,00
-@:maincpu,program,2031,1,89,89
-
-
blueshrk:
blueshrkmr:
@:maincpu,program,200a,05,00,00
+lagunar:
+@:maincpu,program,2011,9,00,00
+@:maincpu,program,2005,3,00,00
+
+
spcenctr:
@:maincpu,program,26f0,2,0e,0e
@:maincpu,program,202e,2,00,00
@@ -9637,17 +9612,16 @@ blazer:
;@s:namcos11.cpp
-xevi3dg:
-xevi3dga:
-xevi3dgj:
-@:maincpu,program,1512b8,3b,48,4b
-
-
tekken:
tekkenac:
@:maincpu,program,1e0498,17f,04,4b
+xevi3dg:
+xevi3dgj:
+@:maincpu,program,1512b8,3b,48,4b
+
+
tekkenjb:
@:maincpu,program,1e0148,17f,04,4e
@@ -9990,11 +9964,6 @@ hcrashc:
;@s:neogeo.cpp
-viewpoin:
-@:100000:2:42:41
-@:1000c8:3d:00:00
-
-
;******metal slug 2 turbo
;mslug2:******metal slug 2
mslug2:
@@ -10190,15 +10159,6 @@ pclubysa:
;@s:nmk16.cpp
-;(bubble 2000) (by GeoMan)
-;hotbubl:******Hot Bubble
-bubl2000:
-bubl2000a:
-hotbubl:
-hotbubla:
-@:maincpu,program,3c0600,50,00,20
-
-
raphero:
@:maincpu,program,1fe601,5b,01,70
@@ -10224,7 +10184,6 @@ rapheroa:
hachamfa:
-hachamfp:
@:maincpu,program,fc000,3df,01,4e
@@ -10292,6 +10251,14 @@ mangchi:
@:maincpu,program,1c1b02,4c,27,20
+;(bubble 2000) (by GeoMan)
+;hotbubl:******Hot Bubble
+bubl2000:
+hotbubl:
+hotbubla:
+@:maincpu,program,3c0600,50,00,20
+
+
;(many block) (by GeoMan)
manybloc:
@:maincpu,program,f0050,4,00,19
@@ -10561,13 +10528,6 @@ paclandm2:
;@s:pacman.cpp
-;******Crush Roller (Kural TWT)
-crush4:
-crush5:
-@:maincpu,program,4c80,3,00,00
-@:maincpu,program,4c83,1,04,04
-
-
;*** puckman/pacman (and clones) for pacmame & regular mame builds **
;abscam:******Abscam
;mspacmbe:******Ms. Pac-Man (bootleg, (encrypted))
@@ -10770,6 +10730,12 @@ maketrxb:
@:maincpu,program,4e40,1e,4b,00
+;******Crush Roller (Kural TWT)
+crush4:
+@:maincpu,program,4c80,3,00,00
+@:maincpu,program,4c83,1,04,04
+
+
;(dream shopper)
dremshpr:
@:maincpu,program,4c00,f0,00,01
@@ -11457,9 +11423,9 @@ s1945:
s1945a:
s1945bl:
s1945j:
+s1945jn:
s1945k:
s1945n:
-s1945nj:
@:maincpu,program,fe2af8,78,2d,f8
@@ -12135,7 +12101,6 @@ scotrsht:
800fath:
800fatha:
bomber:
-kamikazesp:
knockout:
knockoutb:
knockoutc:
@@ -12559,20 +12524,6 @@ outrundxj:
;@s:segas16a.cpp
-;shinobls:******Shinobi (Star bootleg, System 16A)
-shinobi:
-shinobi1:
-shinobi2:
-shinobi3:
-shinobi4:
-shinobi5:
-shinobi6:
-shinobld:
-shinobls:
-@:maincpu,program,fffc00,142,00,54
-@:maincpu,program,fff010,4,00,00
-
-
fantzone1:
fantzonep:
fantzonepr:
@@ -12629,6 +12580,19 @@ dumpmtmt:
@:maincpu,program,fffcfa,1,03,03
+;shinobls:******Shinobi (Star bootleg, System 16A)
+shinobi:
+shinobi1:
+shinobi2:
+shinobi3:
+shinobi4:
+shinobi5:
+shinobld:
+shinobls:
+@:maincpu,program,fffc00,142,00,54
+@:maincpu,program,fff010,4,00,00
+
+
;(major league) (by GeoMan)
mjleague:
@:maincpu,program,ffe000,50,00,20
@@ -12636,13 +12600,6 @@ mjleague:
;@s:segas16b.cpp
-fantzone:
-fantzonee:
-fantzoneta:
-@:maincpu,program,fffc00,38,00,52
-@:maincpu,program,ffc22c,4,00,00
-
-
;******action fighter (fd1089a 317-0018)
afighter:
afightera:
@@ -12736,6 +12693,12 @@ mvpj:
@:maincpu,program,ff3800,8b,01,01
+fantzone:
+fantzoneta:
+@:maincpu,program,fffc00,38,00,52
+@:maincpu,program,ffc22c,4,00,00
+
+
hwchamp:
hwchampj:
@:maincpu,program,fff400,318,10,00
@@ -13154,10 +13117,6 @@ starforce:
;@s:seta.cpp
-msgundamb:
-@:maincpu,program,20424f,63,01,10
-
-
simpsonjr:
@:maincpu,program,20561e,4f,00,20
@@ -13336,12 +13295,6 @@ pairlove:
;@s:seta2.cpp
-;*******guardians/denjin makai II(By Firebrand)
-grdians:
-grdiansa:
-@:maincpu,program,201581,4b,00,01
-
-
;*******(penguin brothers (japan))
ablast:
penbros:
@@ -13358,6 +13311,11 @@ gundamex:
@:maincpu,program,2078a7,63,01,50
+;*******guardians/denjin makai II(By Firebrand)
+grdians:
+@:maincpu,program,201582,4a,c3,01
+
+
;@s:sf.cpp
sf:
@@ -13654,12 +13612,6 @@ skydiver:
;@s:skyfox.cpp
-skyfox:
-@:maincpu,program,de00,a,00,00
-@:maincpu,program,df00,28,00,00
-@:maincpu,program,c01a,01,79,79
-
-
exerizer:
exerizerb:
@:maincpu,program,de00,a,00,00
@@ -13672,6 +13624,11 @@ exerizerb:
@:maincpu,program,d36a,1,00,00
+skyfox:
+@:maincpu,program,de00,a,00,00
+@:maincpu,program,df00,23,00,00
+
+
;@s:skykid.cpp
;(dragon buster)
@@ -14292,10 +14249,6 @@ sstrangr2:
;@s:ssv.cpp
-pastelis:
-@:maincpu,program,2461,34,a0,04
-
-
;*******ultra x weapons / ultra keibitai
ultrax:
ultraxg:
@@ -14337,7 +14290,6 @@ dynagear:
;eaglshot:******eagle shot golf
eaglshot:
-eaglshotj:
@:maincpu,program,20,62,48,18
@@ -14583,6 +14535,7 @@ superchsu:
;@s:superqix.cpp
+;** this only saves the hiscore table, the top score will stay at default **
sqix:
sqixb1:
sqixb2:
@@ -14590,7 +14543,6 @@ sqixr0:
sqixr1:
sqixu:
@:maincpu,program,f4c0,28,00,03
-@:maincpu,program,f8f1,4,75,00
;********perestroika girls (japan)
@@ -15949,16 +15901,6 @@ horekidb:
;@s:tetrisp2.cpp
-;(tetris plus 2(JAPAN))
-tetrisp2:
-tetrisp2a:
-tetrisp2j:
-tetrisp2ja:
-@:maincpu,program,10dfb7,b3,01,00
-@:maincpu,program,10e065,1,01,01
-@:maincpu,program,10b0f2,460,03,09
-
-
;rocknms:******Rock'n MegaSession (Japan, bootleg)
rocknms:
@:maincpu,program,1043bd,14d,3d,00
@@ -15983,6 +15925,15 @@ rockn3:
@:maincpu,program,1043b1,13b,3d,06
+;(tetris plus 2(JAPAN))
+tetrisp2:
+tetrisp2j:
+tetrisp2ja:
+@:maincpu,program,10dfb7,b3,01,00
+@:maincpu,program,10e065,1,01,01
+@:maincpu,program,10b0f2,460,03,09
+
+
;rockn2:******Rock'n Tread 2 (Japan, bootleg)
rockn2:
@:maincpu,program,104383,13b,3d,06
@@ -16372,18 +16323,6 @@ insectxj:
;@s:toaplan1.cpp
-;fireshrkd:******Fire Shark (Korea, set 1, easier)
-;fireshrkdh:******Fire Shark (Korea, set 2, harder)
-fireshrk:
-fireshrka:
-fireshrkd:
-fireshrkdh:
-samesamecn:
-@:maincpu,program,c1ae8,194,00,01
-@:maincpu,program,c1c29,1,2d,2d
-@:maincpu,program,c1dc5,1d,2d,00
-
-
samesame:
samesamenh:
@:maincpu,program,c1778,194,00,01
@@ -16480,13 +16419,18 @@ hellfire1a:
@:maincpu,program,42357,21,2e,30
-;@s:toaplan2.cpp
+;fireshrkd:******Fire Shark (Korea, set 1, easier)
+;fireshrkdh:******Fire Shark (Korea, set 2, harder)
+fireshrk:
+fireshrka:
+fireshrkd:
+fireshrkdh:
+@:maincpu,program,c1ae8,194,00,01
+@:maincpu,program,c1c29,1,2d,2d
+@:maincpu,program,c1dc5,1d,2d,00
-snowbro2:
-snowbro2b:
-snowbro2b2:
-@:maincpu,program,1000a0,28,00,45
+;@s:toaplan2.cpp
ghoxjo:
@:maincpu,program,805a4,64,00,8e
@@ -16522,6 +16466,11 @@ grindstma:
@:maincpu,program,100438,4,00,00
+snowbro2:
+snowbro2b:
+@:maincpu,program,1000a0,28,00,45
+
+
;batsugun:[Special thanks to Cananas for making this entry work]
batsugun:
batsuguna:
@@ -16818,10 +16767,6 @@ noahsark:
;@s:tumbleb.cpp
-magipur:
-@:maincpu,program,4eda,ac,00,20
-
-
;******Super Trio Thanks to Mr Valtric for this addition ******
suprtrio:
@:maincpu,program,f03308,5a,01,4e
diff --git a/plugins/hiscore/init.lua b/plugins/hiscore/init.lua
index ded3f0e44d2..a89acfb33e3 100644
--- a/plugins/hiscore/init.lua
+++ b/plugins/hiscore/init.lua
@@ -33,7 +33,6 @@ function hiscore.startplugin()
local mem_check_passed = false;
local found_hiscore_entry = false;
local timed_save = true;
- local delaytime = 0;
local positions = {};
-- Configuration file will be searched in the first path defined
@@ -60,34 +59,29 @@ function hiscore.startplugin()
local function parse_table ( dsting )
local _table = {};
for line in string.gmatch(dsting, '([^\n]+)') do
- local delay = line:match('^@delay=([.%d]*)')
- if delay and #delay > 0 then
- delaytime = emu.time() + tonumber(delay)
+ local cpu, mem;
+ local cputag, space, offs, len, chk_st, chk_ed, fill = string.match(line, '^@([^,]+),([^,]+),([^,]+),([^,]+),([^,]+),([^,]+),?(%x?%x?)');
+ cpu = manager:machine().devices[cputag];
+ if not cpu then
+ error(cputag .. " device not found")
+ end
+ local rgnname, rgntype = space:match("([^/]*)/?([^/]*)")
+ if rgntype == "share" then
+ mem = manager:machine():memory().shares[rgnname]
else
- local cpu, mem;
- local cputag, space, offs, len, chk_st, chk_ed, fill = string.match(line, '^@([^,]+),([^,]+),([^,]+),([^,]+),([^,]+),([^,]+),?(%x?%x?)');
- cpu = manager:machine().devices[cputag];
- if not cpu then
- error(cputag .. " device not found")
- end
- local rgnname, rgntype = space:match("([^/]*)/?([^/]*)")
- if rgntype == "share" then
- mem = manager:machine():memory().shares[rgnname]
- else
- mem = cpu.spaces[space]
- end
- if not mem then
- error(space .. " space not found")
- end
- _table[ #_table + 1 ] = {
- mem = mem,
- addr = tonumber(offs, 16),
- size = tonumber(len, 16),
- c_start = tonumber(chk_st, 16),
- c_end = tonumber(chk_ed, 16),
- fill = tonumber(fill, 16)
- };
+ mem = cpu.spaces[space]
+ end
+ if not mem then
+ error(space .. " space not found")
end
+ _table[ #_table + 1 ] = {
+ mem = mem,
+ addr = tonumber(offs, 16),
+ size = tonumber(len, 16),
+ c_start = tonumber(chk_st, 16),
+ c_end = tonumber(chk_ed, 16),
+ fill = tonumber(fill, 16)
+ };
end
return _table;
end
@@ -217,7 +211,7 @@ function hiscore.startplugin()
local function init ()
if not scores_have_been_read then
- if (delaytime <= emu.time()) and check_mem( positions ) then
+ if check_mem( positions ) then
default_checksum = check_scores( positions );
if read_scores( positions ) then
emu.print_verbose( "hiscore: scores read OK" );
diff --git a/regtests/LICENSE b/regtests/LICENSE
index fb9f046cc43..4d9210d10e1 100644
--- a/regtests/LICENSE
+++ b/regtests/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2019, MAME Development Team
+Copyright (c) 2016, MAME Development Team
All rights reserved.
Redistribution and use in source and binary forms, with or without
diff --git a/scripts/build/complay.py b/scripts/build/complay.py
index b89ca98e19a..dff981e65c9 100644
--- a/scripts/build/complay.py
+++ b/scripts/build/complay.py
@@ -455,18 +455,10 @@ class LayoutChecker(Minifyer):
self.handleError('Element %s has inputtag attribute without inputmask attribute' % (name, ))
self.checkTag(attrs['inputtag'], name, 'inputtag')
elif 'inputmask' in attrs:
- self.handleError('Element %s has inputmask attribute without inputtag attribute' % (name, ))
+ self.handleError('Element %s has inputmask attribute without inputtag attirbute' % (name, ))
inputmask = self.checkIntAttribute(name, attrs, 'inputmask', None)
if (inputmask is not None) and (0 == inputmask):
self.handleError('Element %s has attribute inputmask "%s" is zero' % (name, attrs['inputmask']))
- inputraw = self.checkIntAttribute(name, attrs, 'inputraw', None)
- if (inputraw is not None):
- if 'inputmask' not in attrs:
- self.handleError('Element %s has inputraw attribute without inputmask attribute' % (name, ))
- if 'inputtag' not in attrs:
- self.handleError('Element %s has inputraw attribute without inputtag attribute' % (name, ))
- if ((0 > inputraw) or (1 < inputraw)):
- self.handleError('Element %s attribute inputraw "%s" not in valid range 0-1' % (name, attrs['inputraw']))
self.handlers.append((self.objectStartHandler, self.objectEndHandler))
self.have_bounds.append(False)
self.have_orientation.append(False)
diff --git a/scripts/genie.lua b/scripts/genie.lua
index b20b8842a66..2696ad6db96 100644
--- a/scripts/genie.lua
+++ b/scripts/genie.lua
@@ -509,34 +509,6 @@ configuration { "Release", "vs20*" }
"NoIncrementalLink",
}
-configuration { "vsllvm" }
- buildoptions {
- "/bigobj",
- }
- flags {
- "NoPCH",
- "ExtraWarnings",
- }
- if not _OPTIONS["NOWERROR"] then
- flags{
- "FatalWarnings",
- }
- end
-
-
-configuration { "Debug", "vsllvm" }
- flags {
- "Symbols",
- "NoMultiProcessorCompilation",
- }
-
-configuration { "Release", "vsllvm" }
- flags {
- "Optimize",
- "NoEditAndContinue",
- "NoIncrementalLink",
- }
-
-- Force VS2015/17 targets to use bundled SDL2
if string.sub(_ACTION,1,4) == "vs20" and _OPTIONS["osd"]=="sdl" then
if _OPTIONS["with-bundled-sdl2"]==nil then
@@ -1294,15 +1266,6 @@ configuration { "mingw-clang" }
}
end
-configuration { "vsllvm" }
- defines {
- "XML_STATIC",
- "WIN32",
- "_WIN32",
- "_CRT_NONSTDC_NO_DEPRECATE",
- "_CRT_SECURE_NO_DEPRECATE",
- "_CRT_STDIO_LEGACY_WIDE_SPECIFIERS",
- }
configuration { "vs20*" }
defines {
@@ -1313,7 +1276,6 @@ configuration { "vs20*" }
"_CRT_SECURE_NO_DEPRECATE",
"_CRT_STDIO_LEGACY_WIDE_SPECIFIERS",
}
-
-- Windows Store/Phone projects already link against the available libraries.
if _OPTIONS["vs"]==nil or not (string.startswith(_OPTIONS["vs"], "winstore8") or string.startswith(_OPTIONS["vs"], "winphone8")) then
links {
@@ -1455,33 +1417,6 @@ configuration { "winphone8* or winstore8*" }
linkoptions {
"/ignore:4264" -- LNK4264: archiving object file compiled with /ZW into a static library; note that when authoring Windows Runtime types it is not recommended to link with a static library that contains Windows Runtime metadata
}
-configuration { "vsllvm" }
- buildoptions {
- "-Wno-tautological-constant-out-of-range-compare",
- "-Wno-ignored-qualifiers",
- "-Wno-missing-field-initializers",
- "-Wno-ignored-pragma-optimize",
- "-Wno-unknown-warning-option",
- "-Wno-unused-function",
- "-Wno-unused-label",
- "-Wno-unused-local-typedef",
- "-Wno-unused-const-variable",
- "-Wno-unused-parameter",
- "-Wno-unneeded-internal-declaration",
- "-Wno-unused-private-field",
- "-Wno-missing-braces",
- "-Wno-unused-variable",
- "-Wno-tautological-pointer-compare",
- "-Wno-nonportable-include-path",
- "-Wno-enum-conversion",
- "-Wno-pragma-pack",
- "-Wno-new-returns-null",
- "-Wno-sign-compare",
- "-Wno-switch",
- "-Wno-tautological-undefined-compare",
- "-Wno-deprecated-declarations",
- "-Wno-macro-redefined",
- }
-- adding this till we sort out asserts in debug mode
diff --git a/scripts/src/3rdparty.lua b/scripts/src/3rdparty.lua
index 2a31b4ee392..2ccfa749e19 100644
--- a/scripts/src/3rdparty.lua
+++ b/scripts/src/3rdparty.lua
@@ -633,12 +633,6 @@ end
"/wd4456", -- warning C4456: declaration of 'xxx' hides previous local declaration
}
- configuration { "vsllvm" }
- buildoptions {
- "-Wno-unused-function",
- "-Wno-enum-conversion",
- }
-
configuration { }
defines {
"WORDS_BIGENDIAN=0",
@@ -976,12 +970,6 @@ end
"SQLITE_OS_WINRT",
}
- configuration { "vsllvm" }
- buildoptions {
- "-Wno-deprecated-declarations",
- "-Wno-unused-variable",
- }
-
configuration { }
files {
@@ -1228,13 +1216,6 @@ project "bgfx"
"/wd4611", -- warning C4611: interaction between '_setjmp' and C++ object destruction is non-portable
"/wd4310", -- warning C4310: cast truncates constant value
}
-
- configuration { "vsllvm" }
- buildoptions {
- "-Wno-unneeded-internal-declaration",
- "-Wno-unused-const-variable",
- }
-
if _OPTIONS["vs"]=="intel-15" then
buildoptions {
"/Qwd906", -- message #906: effect of this "#pragma pack" directive is local to function "xxx"
@@ -1408,15 +1389,6 @@ project "portaudio"
"/wd4456", -- warning C4456: declaration of 'xxx' hides previous local declaration
}
- configuration { "vsllvm" }
- buildoptions {
- "-Wno-deprecated-declarations",
- "-Wno-missing-braces",
- "-Wno-unused-variable",
- "-Wno-switch",
- "-Wno-unused-function",
- }
-
configuration { "gmake or ninja" }
buildoptions_c {
"-Wno-strict-prototypes",
diff --git a/scripts/src/bus.lua b/scripts/src/bus.lua
index 14130a37ae7..a80e2f6e127 100644
--- a/scripts/src/bus.lua
+++ b/scripts/src/bus.lua
@@ -209,8 +209,6 @@ if (BUSES["APRICOT_EXPANSION"]~=null) then
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",
- MAME_DIR .. "src/devices/bus/apricot/expansion/winchester.cpp",
- MAME_DIR .. "src/devices/bus/apricot/expansion/winchester.h",
}
end
@@ -260,16 +258,6 @@ if (BUSES["ASTROCADE"]~=null) then
MAME_DIR .. "src/devices/bus/astrocde/exp.h",
MAME_DIR .. "src/devices/bus/astrocde/ram.cpp",
MAME_DIR .. "src/devices/bus/astrocde/ram.h",
- MAME_DIR .. "src/devices/bus/astrocde/ctrl.cpp",
- MAME_DIR .. "src/devices/bus/astrocde/ctrl.h",
- MAME_DIR .. "src/devices/bus/astrocde/joy.cpp",
- MAME_DIR .. "src/devices/bus/astrocde/joy.h",
- MAME_DIR .. "src/devices/bus/astrocde/cassette.cpp",
- MAME_DIR .. "src/devices/bus/astrocde/cassette.h",
- MAME_DIR .. "src/devices/bus/astrocde/accessory.cpp",
- MAME_DIR .. "src/devices/bus/astrocde/accessory.h",
- MAME_DIR .. "src/devices/bus/astrocde/lightpen.cpp",
- MAME_DIR .. "src/devices/bus/astrocde/lightpen.h",
}
end
@@ -369,8 +357,6 @@ if (BUSES["BBC_1MHZBUS"]~=null) then
MAME_DIR .. "src/devices/bus/bbc/1mhzbus/m2000.h",
MAME_DIR .. "src/devices/bus/bbc/1mhzbus/opus3.cpp",
MAME_DIR .. "src/devices/bus/bbc/1mhzbus/opus3.h",
- MAME_DIR .. "src/devices/bus/bbc/1mhzbus/sprite.cpp",
- MAME_DIR .. "src/devices/bus/bbc/1mhzbus/sprite.h",
MAME_DIR .. "src/devices/bus/bbc/1mhzbus/cfa3000opt.cpp",
MAME_DIR .. "src/devices/bus/bbc/1mhzbus/cfa3000opt.h",
}
@@ -379,29 +365,6 @@ end
---------------------------------------------------
--
---@src/devices/bus/bbc/rom/slot.h,BUSES["BBC_ROM"] = true
----------------------------------------------------
-
-if (BUSES["BBC_ROM"]~=null) then
- files {
- MAME_DIR .. "src/devices/bus/bbc/rom/slot.cpp",
- MAME_DIR .. "src/devices/bus/bbc/rom/slot.h",
- MAME_DIR .. "src/devices/bus/bbc/rom/rom.cpp",
- MAME_DIR .. "src/devices/bus/bbc/rom/rom.h",
- MAME_DIR .. "src/devices/bus/bbc/rom/ram.cpp",
- MAME_DIR .. "src/devices/bus/bbc/rom/ram.h",
- MAME_DIR .. "src/devices/bus/bbc/rom/dfs.cpp",
- MAME_DIR .. "src/devices/bus/bbc/rom/dfs.h",
- MAME_DIR .. "src/devices/bus/bbc/rom/pal.cpp",
- MAME_DIR .. "src/devices/bus/bbc/rom/pal.h",
- MAME_DIR .. "src/devices/bus/bbc/rom/rtc.cpp",
- MAME_DIR .. "src/devices/bus/bbc/rom/rtc.h",
- }
-end
-
-
----------------------------------------------------
---
--@src/devices/bus/bbc/tube/tube.h,BUSES["BBC_TUBE"] = true
---------------------------------------------------
@@ -409,8 +372,6 @@ if (BUSES["BBC_TUBE"]~=null) then
files {
MAME_DIR .. "src/devices/bus/bbc/tube/tube.cpp",
MAME_DIR .. "src/devices/bus/bbc/tube/tube.h",
- MAME_DIR .. "src/devices/bus/bbc/tube/tube_32016.cpp",
- MAME_DIR .. "src/devices/bus/bbc/tube/tube_32016.h",
MAME_DIR .. "src/devices/bus/bbc/tube/tube_6502.cpp",
MAME_DIR .. "src/devices/bus/bbc/tube/tube_6502.h",
MAME_DIR .. "src/devices/bus/bbc/tube/tube_80186.cpp",
@@ -728,34 +689,24 @@ end
---------------------------------------------------
--
---@src/devices/bus/coleco/controller/ctrl.h,BUSES["COLECO_CONTROLLER"] = true
+--@src/devices/bus/coleco/ctrl.h,BUSES["COLECO"] = true
+--@src/devices/bus/coleco/exp.h,BUSES["COLECO"] = true
---------------------------------------------------
-if (BUSES["COLECO_CONTROLLER"]~=null) then
+if (BUSES["COLECO"]~=null) then
files {
- MAME_DIR .. "src/devices/bus/coleco/controller/ctrl.cpp",
- MAME_DIR .. "src/devices/bus/coleco/controller/ctrl.h",
- MAME_DIR .. "src/devices/bus/coleco/controller/hand.cpp",
- MAME_DIR .. "src/devices/bus/coleco/controller/hand.h",
- MAME_DIR .. "src/devices/bus/coleco/controller/sac.cpp",
- MAME_DIR .. "src/devices/bus/coleco/controller/sac.h",
- }
-end
-
-
----------------------------------------------------
---
---@src/devices/bus/coleco/exp.h,BUSES["COLECO_CART"] = true
----------------------------------------------------
-
-if (BUSES["COLECO_CART"]~=null) then
- files {
- MAME_DIR .. "src/devices/bus/coleco/cartridge/exp.cpp",
- MAME_DIR .. "src/devices/bus/coleco/cartridge/exp.h",
- MAME_DIR .. "src/devices/bus/coleco/cartridge/std.cpp",
- MAME_DIR .. "src/devices/bus/coleco/cartridge/std.h",
- MAME_DIR .. "src/devices/bus/coleco/cartridge/xin1.h",
- MAME_DIR .. "src/devices/bus/coleco/cartridge/xin1.cpp",
+ MAME_DIR .. "src/devices/bus/coleco/ctrl.cpp",
+ MAME_DIR .. "src/devices/bus/coleco/ctrl.h",
+ MAME_DIR .. "src/devices/bus/coleco/hand.cpp",
+ MAME_DIR .. "src/devices/bus/coleco/hand.h",
+ MAME_DIR .. "src/devices/bus/coleco/sac.cpp",
+ MAME_DIR .. "src/devices/bus/coleco/sac.h",
+ MAME_DIR .. "src/devices/bus/coleco/exp.cpp",
+ MAME_DIR .. "src/devices/bus/coleco/exp.h",
+ MAME_DIR .. "src/devices/bus/coleco/std.cpp",
+ MAME_DIR .. "src/devices/bus/coleco/std.h",
+ MAME_DIR .. "src/devices/bus/coleco/xin1.h",
+ MAME_DIR .. "src/devices/bus/coleco/xin1.cpp",
}
end
@@ -860,8 +811,6 @@ if (BUSES["ELECTRON"]~=null) then
MAME_DIR .. "src/devices/bus/electron/fbjoy.h",
MAME_DIR .. "src/devices/bus/electron/plus1.cpp",
MAME_DIR .. "src/devices/bus/electron/plus1.h",
- MAME_DIR .. "src/devices/bus/electron/plus2.cpp",
- MAME_DIR .. "src/devices/bus/electron/plus2.h",
MAME_DIR .. "src/devices/bus/electron/plus3.cpp",
MAME_DIR .. "src/devices/bus/electron/plus3.h",
MAME_DIR .. "src/devices/bus/electron/pwrjoy.cpp",
@@ -889,8 +838,6 @@ if (BUSES["ELECTRON_CART"]~=null) then
MAME_DIR .. "src/devices/bus/electron/cart/abr.h",
MAME_DIR .. "src/devices/bus/electron/cart/ap34.cpp",
MAME_DIR .. "src/devices/bus/electron/cart/ap34.h",
- MAME_DIR .. "src/devices/bus/electron/cart/ap5.cpp",
- MAME_DIR .. "src/devices/bus/electron/cart/ap5.h",
MAME_DIR .. "src/devices/bus/electron/cart/aqr.cpp",
MAME_DIR .. "src/devices/bus/electron/cart/aqr.h",
MAME_DIR .. "src/devices/bus/electron/cart/click.cpp",
@@ -901,8 +848,6 @@ if (BUSES["ELECTRON_CART"]~=null) then
MAME_DIR .. "src/devices/bus/electron/cart/mgc.h",
MAME_DIR .. "src/devices/bus/electron/cart/peg400.cpp",
MAME_DIR .. "src/devices/bus/electron/cart/peg400.h",
- MAME_DIR .. "src/devices/bus/electron/cart/romp144.cpp",
- MAME_DIR .. "src/devices/bus/electron/cart/romp144.h",
MAME_DIR .. "src/devices/bus/electron/cart/sndexp.cpp",
MAME_DIR .. "src/devices/bus/electron/cart/sndexp.h",
MAME_DIR .. "src/devices/bus/electron/cart/sndexp3.cpp",
@@ -913,8 +858,6 @@ if (BUSES["ELECTRON_CART"]~=null) then
MAME_DIR .. "src/devices/bus/electron/cart/std.h",
MAME_DIR .. "src/devices/bus/electron/cart/stlefs.cpp",
MAME_DIR .. "src/devices/bus/electron/cart/stlefs.h",
- MAME_DIR .. "src/devices/bus/electron/cart/tube.cpp",
- MAME_DIR .. "src/devices/bus/electron/cart/tube.h",
}
end
@@ -1218,8 +1161,6 @@ if (BUSES["ISA"]~=null) then
MAME_DIR .. "src/devices/bus/isa/hdc.h",
MAME_DIR .. "src/devices/bus/isa/ibm_mfc.cpp",
MAME_DIR .. "src/devices/bus/isa/ibm_mfc.h",
- MAME_DIR .. "src/devices/bus/isa/cl_sh260.cpp",
- MAME_DIR .. "src/devices/bus/isa/cl_sh260.h",
MAME_DIR .. "src/devices/bus/isa/mpu401.cpp",
MAME_DIR .. "src/devices/bus/isa/mpu401.h",
MAME_DIR .. "src/devices/bus/isa/sblaster.cpp",
@@ -1234,12 +1175,8 @@ if (BUSES["ISA"]~=null) then
MAME_DIR .. "src/devices/bus/isa/xtide.h",
MAME_DIR .. "src/devices/bus/isa/side116.cpp",
MAME_DIR .. "src/devices/bus/isa/side116.h",
- MAME_DIR .. "src/devices/bus/isa/aha1542b.cpp",
- MAME_DIR .. "src/devices/bus/isa/aha1542b.h",
- MAME_DIR .. "src/devices/bus/isa/aha1542c.cpp",
- MAME_DIR .. "src/devices/bus/isa/aha1542c.h",
- MAME_DIR .. "src/devices/bus/isa/aha174x.cpp",
- MAME_DIR .. "src/devices/bus/isa/aha174x.h",
+ MAME_DIR .. "src/devices/bus/isa/aha1542.cpp",
+ MAME_DIR .. "src/devices/bus/isa/aha1542.h",
MAME_DIR .. "src/devices/bus/isa/wd1002a_wx1.cpp",
MAME_DIR .. "src/devices/bus/isa/wd1002a_wx1.h",
MAME_DIR .. "src/devices/bus/isa/wd1007a.cpp",
@@ -1314,12 +1251,6 @@ if (BUSES["ISA"]~=null) then
MAME_DIR .. "src/devices/bus/isa/eis_sad8852.h",
MAME_DIR .. "src/devices/bus/isa/lbaenhancer.cpp",
MAME_DIR .. "src/devices/bus/isa/lbaenhancer.h",
- MAME_DIR .. "src/devices/bus/isa/np600.cpp",
- MAME_DIR .. "src/devices/bus/isa/np600.h",
- MAME_DIR .. "src/devices/bus/isa/bt54x.cpp",
- MAME_DIR .. "src/devices/bus/isa/bt54x.h",
- MAME_DIR .. "src/devices/bus/isa/dcb.cpp",
- MAME_DIR .. "src/devices/bus/isa/dcb.h",
}
end
@@ -1339,19 +1270,6 @@ if (BUSES["ISBX"]~=null) then
}
end
----------------------------------------------------
---
---@src/devices/bus/jakks_gamekey/slot.h,BUSES["JAKKS_GAMEKEY"] = true
----------------------------------------------------
-
-if (BUSES["JAKKS_GAMEKEY"]~=null) then
- files {
- MAME_DIR .. "src/devices/bus/jakks_gamekey/slot.cpp",
- MAME_DIR .. "src/devices/bus/jakks_gamekey/slot.h",
- MAME_DIR .. "src/devices/bus/jakks_gamekey/rom.cpp",
- MAME_DIR .. "src/devices/bus/jakks_gamekey/rom.h",
- }
-end
---------------------------------------------------
--
@@ -1436,21 +1354,6 @@ end
---------------------------------------------------
--
---@src/devices/bus/mtx/exp.h,BUSES["MTX"] = true
----------------------------------------------------
-
-if (BUSES["MTX"]~=null) then
- files {
- MAME_DIR .. "src/devices/bus/mtx/exp.cpp",
- MAME_DIR .. "src/devices/bus/mtx/exp.h",
- MAME_DIR .. "src/devices/bus/mtx/sdx.cpp",
- MAME_DIR .. "src/devices/bus/mtx/sdx.h",
- }
-end
-
-
----------------------------------------------------
---
--@src/devices/bus/kc/kc.h,BUSES["KC"] = true
---------------------------------------------------
@@ -2670,14 +2573,10 @@ if (BUSES["SG1000_EXP"]~=null) then
files {
MAME_DIR .. "src/devices/bus/sg1000_exp/sg1000exp.cpp",
MAME_DIR .. "src/devices/bus/sg1000_exp/sg1000exp.h",
- MAME_DIR .. "src/devices/bus/sg1000_exp/fm_unit.cpp",
- MAME_DIR .. "src/devices/bus/sg1000_exp/fm_unit.h",
MAME_DIR .. "src/devices/bus/sg1000_exp/sk1100.cpp",
MAME_DIR .. "src/devices/bus/sg1000_exp/sk1100.h",
- MAME_DIR .. "src/devices/bus/sg1000_exp/sk1100prn.cpp",
- MAME_DIR .. "src/devices/bus/sg1000_exp/sk1100prn.h",
- MAME_DIR .. "src/devices/bus/sg1000_exp/kblink.cpp",
- MAME_DIR .. "src/devices/bus/sg1000_exp/kblink.h",
+ MAME_DIR .. "src/devices/bus/sg1000_exp/fm_unit.cpp",
+ MAME_DIR .. "src/devices/bus/sg1000_exp/fm_unit.h",
}
end
@@ -3305,8 +3204,6 @@ if (BUSES["SPECTRUM"]~=null) then
files {
MAME_DIR .. "src/devices/bus/spectrum/exp.cpp",
MAME_DIR .. "src/devices/bus/spectrum/exp.h",
- MAME_DIR .. "src/devices/bus/spectrum/beta.cpp",
- MAME_DIR .. "src/devices/bus/spectrum/beta.h",
MAME_DIR .. "src/devices/bus/spectrum/intf1.cpp",
MAME_DIR .. "src/devices/bus/spectrum/intf1.h",
MAME_DIR .. "src/devices/bus/spectrum/intf2.cpp",
@@ -3317,18 +3214,12 @@ if (BUSES["SPECTRUM"]~=null) then
MAME_DIR .. "src/devices/bus/spectrum/kempjoy.h",
MAME_DIR .. "src/devices/bus/spectrum/melodik.cpp",
MAME_DIR .. "src/devices/bus/spectrum/melodik.h",
- MAME_DIR .. "src/devices/bus/spectrum/mface.cpp",
- MAME_DIR .. "src/devices/bus/spectrum/mface.h",
MAME_DIR .. "src/devices/bus/spectrum/mikroplus.cpp",
MAME_DIR .. "src/devices/bus/spectrum/mikroplus.h",
- MAME_DIR .. "src/devices/bus/spectrum/opus.cpp",
- MAME_DIR .. "src/devices/bus/spectrum/opus.h",
MAME_DIR .. "src/devices/bus/spectrum/plus2test.cpp",
MAME_DIR .. "src/devices/bus/spectrum/plus2test.h",
MAME_DIR .. "src/devices/bus/spectrum/protek.cpp",
MAME_DIR .. "src/devices/bus/spectrum/protek.h",
- MAME_DIR .. "src/devices/bus/spectrum/specdrum.cpp",
- MAME_DIR .. "src/devices/bus/spectrum/specdrum.h",
MAME_DIR .. "src/devices/bus/spectrum/uslot.cpp",
MAME_DIR .. "src/devices/bus/spectrum/uslot.h",
MAME_DIR .. "src/devices/bus/spectrum/usource.cpp",
@@ -3340,41 +3231,6 @@ end
---------------------------------------------------
--
---@src/devices/bus/uts_kbd/uts_kbd.h,BUSES["UTS_KBD"] = true
----------------------------------------------------
-
-if (BUSES["UTS_KBD"]~=null) then
- files {
- MAME_DIR .. "src/devices/bus/uts_kbd/400kbd.cpp",
- MAME_DIR .. "src/devices/bus/uts_kbd/400kbd.h",
- MAME_DIR .. "src/devices/bus/uts_kbd/extw.cpp",
- MAME_DIR .. "src/devices/bus/uts_kbd/extw.h",
- MAME_DIR .. "src/devices/bus/uts_kbd/uts_kbd.cpp",
- MAME_DIR .. "src/devices/bus/uts_kbd/uts_kbd.h",
- }
-end
-
----------------------------------------------------
---
---@src/devices/bus/vsmile/vsmile_ctrl.h,BUSES["VSMILE"] = true
---@src/devices/bus/vsmile/vsmile_slot.h,BUSES["VSMILE"] = true
----------------------------------------------------
-
-if (BUSES["VSMILE"]~=null) then
- files {
- MAME_DIR .. "src/devices/bus/vsmile/vsmile_ctrl.cpp",
- MAME_DIR .. "src/devices/bus/vsmile/vsmile_ctrl.h",
- MAME_DIR .. "src/devices/bus/vsmile/pad.cpp",
- MAME_DIR .. "src/devices/bus/vsmile/pad.h",
- MAME_DIR .. "src/devices/bus/vsmile/vsmile_slot.cpp",
- MAME_DIR .. "src/devices/bus/vsmile/vsmile_slot.h",
- MAME_DIR .. "src/devices/bus/vsmile/rom.cpp",
- MAME_DIR .. "src/devices/bus/vsmile/rom.h",
- }
-end
-
----------------------------------------------------
---
--@src/devices/bus/vtech/memexp/memexp.h,BUSES["VTECH_MEMEXP"] = true
---------------------------------------------------
@@ -3641,8 +3497,6 @@ if (BUSES["HP9845_IO"]~=null) then
MAME_DIR .. "src/devices/bus/hp9845_io/98034.h",
MAME_DIR .. "src/devices/bus/hp9845_io/98035.cpp",
MAME_DIR .. "src/devices/bus/hp9845_io/98035.h",
- MAME_DIR .. "src/devices/bus/hp9845_io/hp9885.cpp",
- MAME_DIR .. "src/devices/bus/hp9845_io/hp9885.h",
}
end
diff --git a/scripts/src/cpu.lua b/scripts/src/cpu.lua
index 8c461e0ce16..08fe95f7f68 100644
--- a/scripts/src/cpu.lua
+++ b/scripts/src/cpu.lua
@@ -13,7 +13,7 @@
-- Dynamic recompiler objects
--------------------------------------------------
-DRC_CPUS = { "E1", "SH", "MIPS3", "POWERPC", "RSP", "ARM7", "ADSP21062", "MB86235", "DSP16", "UNSP" }
+DRC_CPUS = { "E1", "SH", "MIPS3", "POWERPC", "RSP", "ARM7", "ADSP21062", "MB86235", "DSP16" }
CPU_INCLUDE_DRC = false
for i, v in ipairs(DRC_CPUS) do
if (CPUS[v]~=null) then
@@ -1087,7 +1087,6 @@ if (CPUS["I386"]~=null) then
files {
MAME_DIR .. "src/devices/cpu/i386/i386.cpp",
MAME_DIR .. "src/devices/cpu/i386/i386.h",
- MAME_DIR .. "src/devices/cpu/i386/cache.h",
MAME_DIR .. "src/devices/cpu/i386/cycles.h",
MAME_DIR .. "src/devices/cpu/i386/i386op16.hxx",
MAME_DIR .. "src/devices/cpu/i386/i386op32.hxx",
@@ -1298,7 +1297,6 @@ end
--------------------------------------------------
-- MIPS R4000 (MIPS III/IV) series
--@src/devices/cpu/mips/mips3.h,CPUS["MIPS3"] = true
---@src/devices/cpu/mips/r4000.h,CPUS["MIPS3"] = true
--------------------------------------------------
if (CPUS["MIPS3"]~=null) then
@@ -1315,8 +1313,6 @@ if (CPUS["MIPS3"]~=null) then
MAME_DIR .. "src/devices/cpu/mips/ps2vu.h",
MAME_DIR .. "src/devices/cpu/mips/ps2vif1.cpp",
MAME_DIR .. "src/devices/cpu/mips/ps2vif1.h",
- MAME_DIR .. "src/devices/cpu/mips/r4000.cpp",
- MAME_DIR .. "src/devices/cpu/mips/r4000.h",
}
end
@@ -2161,10 +2157,6 @@ if (CPUS["UNSP"]~=null) then
files {
MAME_DIR .. "src/devices/cpu/unsp/unsp.cpp",
MAME_DIR .. "src/devices/cpu/unsp/unsp.h",
- MAME_DIR .. "src/devices/cpu/unsp/unspdefs.h",
- MAME_DIR .. "src/devices/cpu/unsp/unspdrc.cpp",
- MAME_DIR .. "src/devices/cpu/unsp/unspfe.cpp",
- MAME_DIR .. "src/devices/cpu/unsp/unspfe.h",
}
end
@@ -2784,71 +2776,3 @@ if (_OPTIONS["with-tools"]) then
table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/nuon/nuondasm.cpp")
table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/nuon/nuondasm.h")
end
-
---------------------------------------------------
--- DEC Alpha (EV4/EV5/EV6/EV7) series
---@src/devices/cpu/alpha/alpha.h,CPUS["ALPHA"] = true
---------------------------------------------------
-
-if (CPUS["ALPHA"]~=null) then
- files {
- MAME_DIR .. "src/devices/cpu/alpha/alpha.cpp",
- MAME_DIR .. "src/devices/cpu/alpha/alpha.h",
- }
-end
-
-if (CPUS["ALPHA"]~=null or _OPTIONS["with-tools"]) then
- table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/alpha/alphad.cpp")
- table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/alpha/alphad.h")
-end
-
---------------------------------------------------
--- National Semiconductor HPC
---@src/devices/cpu/hpc/hpc.h,CPUS["HPC"] = true
---------------------------------------------------
-
-if (CPUS["HPC"]~=null) then
- files {
- MAME_DIR .. "src/devices/cpu/hpc/hpc.cpp",
- MAME_DIR .. "src/devices/cpu/hpc/hpc.h",
- }
-end
-
-if (CPUS["HPC"]~=null or _OPTIONS["with-tools"]) then
- table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/hpc/hpcdasm.cpp")
- table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/hpc/hpcdasm.h")
-end
-
---------------------------------------------------
--- Yamaha Multiple Effects Generator
---@src/devices/sound/meg.h,CPUS["MEG"] = true
---------------------------------------------------
-
-if (CPUS["MEG"]~=null) then
- files {
- MAME_DIR .. "src/devices/sound/meg.cpp",
- MAME_DIR .. "src/devices/sound/meg.h",
- }
-end
-
-if (CPUS["MEG"]~=null or _OPTIONS["with-tools"]) then
- table.insert(disasm_files , MAME_DIR .. "src/devices/sound/megd.cpp")
- table.insert(disasm_files , MAME_DIR .. "src/devices/sound/megd.h")
-end
-
---------------------------------------------------
--- National Semiconductor NS32000 series
---@src/devices/cpu/ns32000/ns32000.h,CPUS["NS32000"] = true
---------------------------------------------------
-
-if (CPUS["NS32000"]~=null) then
- files {
- MAME_DIR .. "src/devices/cpu/ns32000/ns32000.cpp",
- MAME_DIR .. "src/devices/cpu/ns32000/ns32000.h",
- }
-end
-
-if (CPUS["NS32000"]~=null or _OPTIONS["with-tools"]) then
- table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/ns32000/ns32000dasm.cpp")
- table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/ns32000/ns32000dasm.h")
-end
diff --git a/scripts/src/formats.lua b/scripts/src/formats.lua
index 9e7a2a1eb5a..b25909dbb3a 100644
--- a/scripts/src/formats.lua
+++ b/scripts/src/formats.lua
@@ -1147,18 +1147,6 @@ end
--------------------------------------------------
--
---@src/lib/formats/mtx_dsk.h,FORMATS["MTX_DSK"] = true
---------------------------------------------------
-
-if (FORMATS["MTX_DSK"]~=null or _OPTIONS["with-tools"]) then
- files {
- MAME_DIR.. "src/lib/formats/mtx_dsk.cpp",
- MAME_DIR.. "src/lib/formats/mtx_dsk.h",
- }
-end
-
---------------------------------------------------
---
--@src/lib/formats/mz_cas.h,FORMATS["MZ_CAS"] = true
--------------------------------------------------
@@ -1231,18 +1219,6 @@ end
--------------------------------------------------
--
---@src/lib/formats/opd_dsk.h,FORMATS["OPD_DSK"] = true
---------------------------------------------------
-
-if (FORMATS["OPD_DSK"]~=null or _OPTIONS["with-tools"]) then
- files {
- MAME_DIR.. "src/lib/formats/opd_dsk.cpp",
- MAME_DIR.. "src/lib/formats/opd_dsk.h",
- }
-end
-
---------------------------------------------------
---
--@src/lib/formats/orao_cas.h,FORMATS["ORAO_CAS"] = true
--------------------------------------------------
diff --git a/scripts/src/machine.lua b/scripts/src/machine.lua
index fa451ae5dc6..4e74fd9e6c3 100644
--- a/scripts/src/machine.lua
+++ b/scripts/src/machine.lua
@@ -2622,12 +2622,6 @@ if (MACHINES["SPG2XX"]~=null) then
files {
MAME_DIR .. "src/devices/machine/spg2xx.cpp",
MAME_DIR .. "src/devices/machine/spg2xx.h",
- MAME_DIR .. "src/devices/machine/spg2xx_audio.cpp",
- MAME_DIR .. "src/devices/machine/spg2xx_audio.h",
- MAME_DIR .. "src/devices/machine/spg2xx_io.cpp",
- MAME_DIR .. "src/devices/machine/spg2xx_io.h",
- MAME_DIR .. "src/devices/machine/spg110.cpp",
- MAME_DIR .. "src/devices/machine/spg110.h",
}
end
@@ -2918,18 +2912,6 @@ end
---------------------------------------------------
--
---@src/devices/machine/wd1010.h,MACHINES["WD1010"] = true
----------------------------------------------------
-
-if (MACHINES["WD1010"]~=null) then
- files {
- MAME_DIR .. "src/devices/machine/wd1010.cpp",
- MAME_DIR .. "src/devices/machine/wd1010.h",
- }
-end
-
----------------------------------------------------
---
--@src/devices/machine/wd11c00_17.h,MACHINES["WD11C00_17"] = true
---------------------------------------------------
@@ -2954,6 +2936,19 @@ end
---------------------------------------------------
--
+--@src/devices/machine/wd33c93.h,MACHINES["WD33C93"] = true
+---------------------------------------------------
+
+if (MACHINES["WD33C93"]~=null) then
+ MACHINES["SCSI"] = true
+ files {
+ MAME_DIR .. "src/devices/machine/wd33c93.cpp",
+ MAME_DIR .. "src/devices/machine/wd33c93.h",
+ }
+end
+
+---------------------------------------------------
+--
--@src/devices/machine/wd33c9x.h,MACHINES["WD33C9X"] = true
---------------------------------------------------
@@ -3872,28 +3867,4 @@ if (MACHINES["DC7085"]~=null) then
MAME_DIR .. "src/devices/machine/dc7085.cpp",
MAME_DIR .. "src/devices/machine/dc7085.h",
}
-end
-
----------------------------------------------------
---
---@src/devices/machine/i82357.h,MACHINES["I82357"] = true
----------------------------------------------------
-
-if (MACHINES["I82357"]~=null) then
- files {
- MAME_DIR .. "src/devices/machine/i82357.cpp",
- MAME_DIR .. "src/devices/machine/i82357.h",
- }
-end
-
----------------------------------------------------
---
---@src/devices/machine/xc1700e.h,MACHINES["XC1700E"] = true
----------------------------------------------------
-
-if (MACHINES["XC1700E"]~=null) then
- files {
- MAME_DIR .. "src/devices/machine/xc1700e.cpp",
- MAME_DIR .. "src/devices/machine/xc1700e.h",
- }
-end
+end \ No newline at end of file
diff --git a/scripts/src/main.lua b/scripts/src/main.lua
index ad0e1a1d08c..bec62ff6f49 100644
--- a/scripts/src/main.lua
+++ b/scripts/src/main.lua
@@ -256,7 +256,6 @@ end
"utils",
ext_lib("expat"),
"softfloat",
- "softfloat3",
ext_lib("jpeg"),
"7z",
}
@@ -420,13 +419,6 @@ if (STANDALONE~=true) then
"@echo Emitting ".. rctarget .. "vers.rc...",
PYTHON .. " \"" .. path.translate(MAME_DIR .. "scripts/build/verinfo.py","\\") .. "\" -r -b " .. rctarget .. " \"" .. path.translate(GEN_DIR .. "version.cpp","\\") .. "\" > \"" .. path.translate(GEN_DIR .. "resource/" .. rctarget .. "vers.rc", "\\") .. "\"" ,
}
-
- configuration { "vsllvm" }
- prebuildcommands {
- "mkdir \"" .. path.translate(GEN_DIR .. "resource/","\\") .. "\" 2>NUL",
- "@echo Emitting ".. rctarget .. "vers.rc...",
- PYTHON .. " \"" .. path.translate(MAME_DIR .. "scripts/build/verinfo.py","\\") .. "\" -r -b " .. rctarget .. " \"" .. path.translate(GEN_DIR .. "version.cpp","\\") .. "\" > \"" .. path.translate(GEN_DIR .. "resource/" .. rctarget .. "vers.rc", "\\") .. "\"" ,
- }
end
configuration { }
diff --git a/scripts/src/mame/frontend.lua b/scripts/src/mame/frontend.lua
index c8f21daa4a6..60e955f8773 100644
--- a/scripts/src/mame/frontend.lua
+++ b/scripts/src/mame/frontend.lua
@@ -137,7 +137,6 @@ files {
MAME_DIR .. "src/frontend/mame/ui/defimg.ipp",
MAME_DIR .. "src/frontend/mame/ui/dirmenu.cpp",
MAME_DIR .. "src/frontend/mame/ui/dirmenu.h",
- MAME_DIR .. "src/frontend/mame/ui/icorender.cpp",
MAME_DIR .. "src/frontend/mame/ui/icorender.h",
MAME_DIR .. "src/frontend/mame/ui/inifile.cpp",
MAME_DIR .. "src/frontend/mame/ui/inifile.h",
diff --git a/scripts/src/netlist.lua b/scripts/src/netlist.lua
index e24eb2d26ef..29eb931f916 100644
--- a/scripts/src/netlist.lua
+++ b/scripts/src/netlist.lua
@@ -32,7 +32,6 @@ project "netlist"
includedirs {
MAME_DIR .. "src/lib",
- MAME_DIR .. "src/lib/netlist",
}
files {
@@ -48,8 +47,9 @@ project "netlist"
MAME_DIR .. "src/lib/netlist/nl_parser.h",
MAME_DIR .. "src/lib/netlist/nl_setup.cpp",
MAME_DIR .. "src/lib/netlist/nl_setup.h",
- MAME_DIR .. "src/lib/netlist/nl_types.h",
+ MAME_DIR .. "src/lib/netlist/nl_time.h",
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",
@@ -64,7 +64,6 @@ project "netlist"
MAME_DIR .. "src/lib/netlist/plib/pdynlib.h",
MAME_DIR .. "src/lib/netlist/plib/pmain.cpp",
MAME_DIR .. "src/lib/netlist/plib/pmain.h",
- MAME_DIR .. "src/lib/netlist/plib/pmempool.h",
MAME_DIR .. "src/lib/netlist/plib/pomp.h",
MAME_DIR .. "src/lib/netlist/plib/poptions.cpp",
MAME_DIR .. "src/lib/netlist/plib/poptions.h",
@@ -75,9 +74,10 @@ project "netlist"
MAME_DIR .. "src/lib/netlist/plib/pstate.h",
MAME_DIR .. "src/lib/netlist/plib/pstring.cpp",
MAME_DIR .. "src/lib/netlist/plib/pstring.h",
+ MAME_DIR .. "src/lib/netlist/plib/pstring.cpp",
+ MAME_DIR .. "src/lib/netlist/plib/pstring.h",
MAME_DIR .. "src/lib/netlist/plib/pstream.cpp",
MAME_DIR .. "src/lib/netlist/plib/pstream.h",
- MAME_DIR .. "src/lib/netlist/plib/ptime.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",
@@ -85,8 +85,6 @@ project "netlist"
MAME_DIR .. "src/lib/netlist/tools/nl_convert.h",
MAME_DIR .. "src/lib/netlist/analog/nld_bjt.cpp",
MAME_DIR .. "src/lib/netlist/analog/nld_bjt.h",
- MAME_DIR .. "src/lib/netlist/analog/nld_mosfet.cpp",
- MAME_DIR .. "src/lib/netlist/analog/nld_mosfet.h",
MAME_DIR .. "src/lib/netlist/analog/nlid_fourterm.cpp",
MAME_DIR .. "src/lib/netlist/analog/nlid_fourterm.h",
MAME_DIR .. "src/lib/netlist/analog/nld_fourterm.h",
@@ -142,8 +140,6 @@ project "netlist"
MAME_DIR .. "src/lib/netlist/devices/nld_7490.h",
MAME_DIR .. "src/lib/netlist/devices/nld_7493.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_7493.h",
- MAME_DIR .. "src/lib/netlist/devices/nld_7497.cpp",
- MAME_DIR .. "src/lib/netlist/devices/nld_7497.h",
MAME_DIR .. "src/lib/netlist/devices/nld_74107.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_74107.h",
MAME_DIR .. "src/lib/netlist/devices/nld_74123.cpp",
diff --git a/scripts/src/osd/sdl.lua b/scripts/src/osd/sdl.lua
index c9a63dcb24e..9ef57e0ba7c 100644
--- a/scripts/src/osd/sdl.lua
+++ b/scripts/src/osd/sdl.lua
@@ -52,16 +52,16 @@ function maintargetosdoptions(_target,_subtarget)
configuration { "mingw*"}
links {
"SDL2",
- "imm32",
- "version",
- "ole32",
- "oleaut32",
+ "Imm32",
+ "Version",
+ "Ole32",
+ "OleAut32",
}
configuration { "vs*" }
links {
"SDL2",
- "imm32",
- "version",
+ "Imm32",
+ "Version",
}
configuration { }
else
@@ -74,8 +74,8 @@ function maintargetosdoptions(_target,_subtarget)
configuration { "vs*" }
links {
"SDL2",
- "imm32",
- "version",
+ "Imm32",
+ "Version",
}
configuration { }
else
@@ -91,11 +91,11 @@ function maintargetosdoptions(_target,_subtarget)
libdirs {
path.join(_OPTIONS["SDL_INSTALL_ROOT"],"lib","x64")
}
- configuration { }
end
links {
"psapi",
}
+ configuration {}
elseif _OPTIONS["targetos"]=="haiku" then
links {
"network",
@@ -107,7 +107,7 @@ function maintargetosdoptions(_target,_subtarget)
targetprefix "sdl"
links {
"psapi",
- "ole32",
+ "Ole32",
}
configuration { }
diff --git a/scripts/src/osd/windows.lua b/scripts/src/osd/windows.lua
index ecb3030c683..00432b75a8e 100644
--- a/scripts/src/osd/windows.lua
+++ b/scripts/src/osd/windows.lua
@@ -44,7 +44,6 @@ function maintargetosdoptions(_target,_subtarget)
"comdlg32",
"psapi",
"ole32",
- "shlwapi",
}
end
diff --git a/scripts/src/tools.lua b/scripts/src/tools.lua
index 564653f5a4a..4073f9c7336 100644
--- a/scripts/src/tools.lua
+++ b/scripts/src/tools.lua
@@ -499,7 +499,6 @@ links {
includedirs {
MAME_DIR .. "src/lib",
- MAME_DIR .. "src/lib/netlist",
}
files {
@@ -544,7 +543,6 @@ links {
includedirs {
MAME_DIR .. "src/lib",
- MAME_DIR .. "src/lib/netlist",
}
files {
@@ -743,7 +741,6 @@ files {
MAME_DIR .. "src/tools/imgtool/modules/hp48.cpp",
MAME_DIR .. "src/tools/imgtool/modules/hp9845_tape.cpp",
MAME_DIR .. "src/tools/imgtool/modules/hp85_tape.cpp",
- MAME_DIR .. "src/tools/imgtool/modules/rt11.cpp",
}
configuration { "mingw*" or "vs*" }
@@ -794,98 +791,3 @@ if _OPTIONS["targetos"] == "macosx" then
strip()
end
-
---------------------------------------------------
--- testkeys
---------------------------------------------------
-
-if (_OPTIONS["osd"] == "sdl") then
- project("testkeys")
- uuid ("b3f5a5b8-3203-11e9-93e4-670b4f4e359d")
- kind "ConsoleApp"
-
- flags {
- "Symbols", -- always include minimum symbols for executables
- }
-
- if _OPTIONS["SEPARATE_BIN"]~="1" then
- targetdir(MAME_DIR)
- end
-
- links {
- "ocore_" .. _OPTIONS["osd"],
- ext_lib("utf8proc"),
- }
-
- if _OPTIONS["targetos"]=="windows" then
- if _OPTIONS["with-bundled-sdl2"]~=nil then
- configuration { "mingw*"}
- links {
- "SDL2",
- "imm32",
- "version",
- "ole32",
- "oleaut32",
- }
- configuration { "vs*" }
- links {
- "SDL2",
- "imm32",
- "version",
- }
- configuration { }
- else
- if _OPTIONS["USE_LIBSDL"]~="1" then
- configuration { "mingw*"}
- links {
- "SDL2main",
- "SDL2",
- }
- configuration { "vs*" }
- links {
- "SDL2",
- "imm32",
- "version",
- }
- configuration { }
- else
- local str = backtick(sdlconfigcmd() .. " --libs | sed 's/ -lSDLmain//'")
- addlibfromstring(str)
- addoptionsfromstring(str)
- end
- configuration { "x32", "vs*" }
- libdirs {
- path.join(_OPTIONS["SDL_INSTALL_ROOT"],"lib","x86")
- }
- configuration { "x64", "vs*" }
- libdirs {
- path.join(_OPTIONS["SDL_INSTALL_ROOT"],"lib","x64")
- }
- end
- end
-
- if BASE_TARGETOS=="unix" then
- if _OPTIONS["with-bundled-sdl2"]~=nil then
- links {
- "SDL2",
- }
- end
- end
-
- dofile("osd/sdl_cfg.lua")
-
- includedirs {
- MAME_DIR .. "src/osd",
- }
-
- files {
- MAME_DIR .. "src/tools/testkeys.cpp",
- }
-
- configuration { "mingw*" or "vs*" }
- targetextension ".exe"
-
- configuration { }
-
- strip()
-end
diff --git a/scripts/src/video.lua b/scripts/src/video.lua
index 069c2fc802d..6db6cd104e1 100644
--- a/scripts/src/video.lua
+++ b/scripts/src/video.lua
@@ -115,18 +115,6 @@ end
--------------------------------------------------
--
---@src/devices/video/crt9028.h,VIDEOS["CRT9028"] = true
---------------------------------------------------
-
-if (VIDEOS["CRT9028"]~=null) then
- files {
- MAME_DIR .. "src/devices/video/crt9028.cpp",
- MAME_DIR .. "src/devices/video/crt9028.h",
- }
-end
-
---------------------------------------------------
---
--@src/devices/video/crt9212.h,VIDEOS["CRT9212"] = true
--------------------------------------------------
@@ -605,18 +593,6 @@ end
--------------------------------------------------
--
---@src/devices/video/mm5445.h,VIDEOS["MM5445"] = true
---------------------------------------------------
-
-if (VIDEOS["MM5445"]~=null) then
- files {
- MAME_DIR .. "src/devices/video/mm5445.cpp",
- MAME_DIR .. "src/devices/video/mm5445.h",
- }
-end
-
---------------------------------------------------
---
--@src/devices/video/msm6222b.h,VIDEOS["MSM6222B"] = true
--------------------------------------------------
@@ -1172,15 +1148,3 @@ if (VIDEOS["PS2GS"]~=null) then
MAME_DIR .. "src/devices/video/ps2gs.h",
}
end
-
---------------------------------------------------
---
---@src/devices/video/decsfb.h,VIDEOS["DECSFB"] = true
---------------------------------------------------
-if (VIDEOS["DECSFB"]~=null) then
- files {
- MAME_DIR .. "src/devices/video/decsfb.cpp",
- MAME_DIR .. "src/devices/video/decsfb.h",
- }
-end
-
diff --git a/scripts/target/mame/arcade.lua b/scripts/target/mame/arcade.lua
index 4de0b3a2d72..597cd9a5755 100644
--- a/scripts/target/mame/arcade.lua
+++ b/scripts/target/mame/arcade.lua
@@ -133,7 +133,6 @@ CPUS["HMCS40"] = true
--CPUS["SM510"] = true
CPUS["ST62XX"] = true
CPUS["DSPP"] = true
-CPUS["HPC"] = true
--------------------------------------------------
-- specify available sound cores
@@ -286,7 +285,6 @@ VIDEOS["BUFSPRITE"] = true
VIDEOS["CESBLIT"] = true
--VIDEOS["CRT9007"] = true
--VIDEOS["CRT9021"] = true
---VIDEOS["CRT9028"] = true
--VIDEOS["CRT9212"] = true
VIDEOS["CRTC_EGA"] = true
--VIDEOS["DL1416"] = true
@@ -323,7 +321,6 @@ VIDEOS["MB90082"] = true
VIDEOS["MB_VCU"] = true
VIDEOS["MC6845"] = true
--VIDEOS["MC6847"] = true
---VIDEOS["MM5445"] = true
--VIDEOS["MSM6222B"] = true
--VIDEOS["MSM6255"] = true
--VIDEOS["MOS6566"] = true
@@ -531,7 +528,7 @@ MACHINES["MSM6242"] = true
MACHINES["MSM6253"] = true
--MACHINES["NCR5380"] = true
--MACHINES["NCR5380N"] = true
-MACHINES["NCR5390"] = true
+--MACHINES["NCR5390"] = true
MACHINES["NCR539x"] = true
MACHINES["NETLIST"] = true
--MACHINES["NCR53C7XX"] = true
@@ -608,9 +605,9 @@ MACHINES["UPD765"] = true
MACHINES["FDC_PLL"] = true
MACHINES["V3021"] = true
MACHINES["WD_FDC"] = true
---MACHINES["WD1010"] = true
MACHINES["WD11C00_17"] = true
MACHINES["WD2010"] = true
+MACHINES["WD33C93"] = true
MACHINES["WD33C9X"] = true
MACHINES["X2212"] = true
MACHINES["X76F041"] = true
@@ -655,7 +652,6 @@ MACHINES["PS2INTC"] = true
--MACHINES["IOPINTC"] = true
--MACHINES["IOPSIO2"] = true
--MACHINES["IOPTIMER"] = true
-MACHINES["AIC6250"] = true
--------------------------------------------------
-- specify available bus cores
@@ -681,8 +677,7 @@ BUSES["AMIGA_KEYBOARD"] = true
BUSES["CENTRONICS"] = true
--BUSES["CHANNELF"] = true
--BUSES["COCO"] = true
---BUSES["COLECO_CONTROLLER"] = true
---BUSES["COLECO_CART"] = true
+--BUSES["COLECO"] = true
--BUSES["COMPUCOLOR"] = true
--BUSES["COMX35"] = true
--BUSES["CPC"] = true
@@ -747,7 +742,6 @@ BUSES["VECTREX"] = true
--BUSES["VIDBRAIN"] = true
--BUSES["VIP"] = true
--BUSES["VME"] = true
---BUSES["VSMILE"] = true
--BUSES["VTECH_IOEXP"] = true
--BUSES["VTECH_MEMEXP"] = true
--BUSES["WANGPC"] = true
@@ -1200,8 +1194,6 @@ files {
MAME_DIR .. "src/mame/machine/nl_pongd.h",
MAME_DIR .. "src/mame/machine/nl_breakout.cpp",
MAME_DIR .. "src/mame/machine/nl_breakout.h",
- MAME_DIR .. "src/mame/machine/nl_rebound.cpp",
- MAME_DIR .. "src/mame/machine/nl_rebound.h",
MAME_DIR .. "src/mame/drivers/poolshrk.cpp",
MAME_DIR .. "src/mame/includes/poolshrk.h",
MAME_DIR .. "src/mame/audio/poolshrk.cpp",
@@ -4597,7 +4589,6 @@ files {
MAME_DIR .. "src/mame/drivers/coinmstr.cpp",
MAME_DIR .. "src/mame/drivers/coinmvga.cpp",
MAME_DIR .. "src/mame/drivers/comebaby.cpp",
- MAME_DIR .. "src/mame/drivers/cromptons.cpp",
MAME_DIR .. "src/mame/drivers/cupidon.cpp",
MAME_DIR .. "src/mame/drivers/bntyhunt.cpp",
MAME_DIR .. "src/mame/drivers/coolpool.cpp",
@@ -4659,7 +4650,6 @@ files {
MAME_DIR .. "src/mame/drivers/freekick.cpp",
MAME_DIR .. "src/mame/includes/freekick.h",
MAME_DIR .. "src/mame/video/freekick.cpp",
- MAME_DIR .. "src/mame/drivers/freeway.cpp",
MAME_DIR .. "src/mame/drivers/fungames.cpp",
MAME_DIR .. "src/mame/drivers/funkball.cpp",
MAME_DIR .. "src/mame/drivers/gambl186.cpp",
@@ -4754,7 +4744,6 @@ files {
MAME_DIR .. "src/mame/drivers/miniboy7.cpp",
MAME_DIR .. "src/mame/drivers/minivideo.cpp",
MAME_DIR .. "src/mame/drivers/mirax.cpp",
- MAME_DIR .. "src/mame/drivers/missbamby.cpp",
MAME_DIR .. "src/mame/drivers/mjsenpu.cpp",
MAME_DIR .. "src/mame/drivers/mole.cpp",
MAME_DIR .. "src/mame/drivers/mosaic.cpp",
@@ -4872,7 +4861,6 @@ files {
MAME_DIR .. "src/mame/drivers/ice_tbd.cpp",
MAME_DIR .. "src/mame/drivers/umipoker.cpp",
MAME_DIR .. "src/mame/drivers/unkhorse.cpp",
- MAME_DIR .. "src/mame/drivers/unkpoker.cpp",
MAME_DIR .. "src/mame/drivers/usbilliards.cpp",
MAME_DIR .. "src/mame/drivers/usgames.cpp",
MAME_DIR .. "src/mame/includes/usgames.h",
diff --git a/scripts/target/mame/mess.lua b/scripts/target/mame/mess.lua
index 9d42bd1aa43..71baa84e625 100644
--- a/scripts/target/mame/mess.lua
+++ b/scripts/target/mame/mess.lua
@@ -136,11 +136,7 @@ CPUS["MB86901"] = true
CPUS["NANOPROCESSOR"] = true
CPUS["CLIPPER"] = true
CPUS["CAPRICORN"] = true
-CPUS["ALPHA"] = true
-CPUS["NS32000"] = true
--CPUS["DSPP"] = true
-CPUS["HPC"] = true
-CPUS["MEG"] = true
--------------------------------------------------
-- specify available sound cores; some of these are
@@ -300,7 +296,6 @@ VIDEOS["CDP1862"] = true
--VIDEOS["CESBLIT"] = true
VIDEOS["CRT9007"] = true
VIDEOS["CRT9021"] = true
-VIDEOS["CRT9028"] = true
VIDEOS["CRT9212"] = true
VIDEOS["CRTC_EGA"] = true
VIDEOS["DL1416"] = true
@@ -311,9 +306,9 @@ VIDEOS["EF9345"] = true
VIDEOS["EF9364"] = true
VIDEOS["EF9365"] = true
--VIDEOS["EF9369"] = true
-VIDEOS["FIXFREQ"] = true
VIDEOS["GF4500"] = true
--VIDEOS["EPIC12"] = true
+--VIDEOS["FIXFREQ"] = true
VIDEOS["NT7534"] = true
VIDEOS["HD44102"] = true
VIDEOS["HD44352"] = true
@@ -339,7 +334,6 @@ VIDEOS["IMS_CVC"] = true
--VIDEOS["MB_VCU"] = true
VIDEOS["MC6845"] = true
VIDEOS["MC6847"] = true
-VIDEOS["MM5445"] = true
VIDEOS["MSM6222B"] = true
VIDEOS["MSM6255"] = true
VIDEOS["MOS6566"] = true
@@ -380,7 +374,6 @@ VIDEOS["DP8510"] = true
VIDEOS["MB88303"] = true
VIDEOS["PS2GS"] = true
VIDEOS["PS2GIF"] = true
-VIDEOS["DECSFB"] = true
--------------------------------------------------
-- specify available machine cores
@@ -626,9 +619,9 @@ MACHINES["UPD765"] = true
MACHINES["FDC_PLL"] = true
MACHINES["V3021"] = true
MACHINES["WD_FDC"] = true
-MACHINES["WD1010"] = true
MACHINES["WD11C00_17"] = true
MACHINES["WD2010"] = true
+MACHINES["WD33C93"] = true
MACHINES["WD33C9X"] = true
MACHINES["WD7600"] = true
MACHINES["X2201"] = true
@@ -687,8 +680,6 @@ MACHINES["IOPTIMER"] = true
MACHINES["Z8038"] = true
MACHINES["AIC6250"] = true
MACHINES["DC7085"] = true
-MACHINES["I82357"] = true
-MACHINES["XC1700E"] = true
--------------------------------------------------
-- specify available bus cores
@@ -716,7 +707,6 @@ BUSES["BBC_JOYPORT"] = true
BUSES["BBC_1MHZBUS"] = true
BUSES["BBC_TUBE"] = true
BUSES["BBC_USERPORT"] = true
-BUSES["BBC_ROM"] = true
BUSES["BML3"] = true
BUSES["BW2"] = true
BUSES["C64"] = true
@@ -728,8 +718,7 @@ BUSES["CGENIE_EXPANSION"] = true
BUSES["CGENIE_PARALLEL"] = true
BUSES["CHANNELF"] = true
BUSES["COCO"] = true
-BUSES["COLECO_CONTROLLER"] = true
-BUSES["COLECO_CART"] = true
+BUSES["COLECO"] = true
BUSES["COMPIS_GRAPHICS"] = true
BUSES["COMPUCOLOR"] = true
BUSES["COMX35"] = true
@@ -763,7 +752,6 @@ BUSES["INTV_CTRL"] = true
BUSES["IQ151"] = true
BUSES["ISA"] = true
BUSES["ISBX"] = true
-BUSES["JAKKS_GAMEKEY"] = true
BUSES["HP_OPTROM"] = true
BUSES["HP80_OPTROM"] = true
BUSES["HP80_IO"] = true
@@ -775,7 +763,6 @@ BUSES["MACPDS"] = true
BUSES["MIDI"] = true
BUSES["MEGADRIVE"] = true
BUSES["MSX_SLOT"] = true
-BUSES["MTX"] = true
BUSES["NASBUS"] = true
BUSES["NEOGEO"] = true
BUSES["NEOGEO_CTRL"] = true
@@ -824,7 +811,6 @@ BUSES["TI99"] = true
BUSES["TI99X"] = true
BUSES["TIKI100"] = true
BUSES["TVC"] = true
-BUSES["UTS_KBD"] = true
BUSES["VBOY"] = true
BUSES["VC4000"] = true
BUSES["VCS"] = true
@@ -835,7 +821,6 @@ BUSES["VIC20"] = true
BUSES["VIDBRAIN"] = true
BUSES["VIP"] = true
BUSES["VME"] = true
-BUSES["VSMILE"] = true
BUSES["VTECH_IOEXP"] = true
BUSES["VTECH_MEMEXP"] = true
BUSES["WANGPC"] = true
@@ -868,7 +853,6 @@ FORMATS["APPLIX_DSK"] = true
FORMATS["APRIDISK"] = true
FORMATS["AP_DSK35"] = true
FORMATS["ASST128_DSK"] = true
-FORMATS["ASTROCADE_WAV"] = true
FORMATS["ATARI_DSK"] = true
FORMATS["ATOM_DSK"] = true
FORMATS["ATOM_TAP"] = true
@@ -938,14 +922,12 @@ FORMATS["MFM_HD"] = true
FORMATS["MM_DSK"] = true
FORMATS["MS0515_DSK"] = true
FORMATS["MSX_DSK"] = true
-FORMATS["MTX_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["OPD_DSK"] = true
FORMATS["ORAO_CAS"] = true
FORMATS["ORIC_DSK"] = true
FORMATS["ORIC_TAP"] = true
@@ -1043,7 +1025,7 @@ function linkProjects_mame_mess(_target, _subtarget)
"cccp",
"cce",
"ccs",
- "chess",
+ "chessking",
"chromatics",
"chrysler",
"coleco",
@@ -1052,6 +1034,7 @@ function linkProjects_mame_mess(_target, _subtarget)
"comx",
"concept",
"conitec",
+ "cxg",
"cybiko",
"dai",
"ddr",
@@ -1074,6 +1057,7 @@ function linkProjects_mame_mess(_target, _subtarget)
"exidy",
"fairch",
"fairlight",
+ "fidelity",
"force",
"fujitsu",
"funtech",
@@ -1105,7 +1089,6 @@ function linkProjects_mame_mess(_target, _subtarget)
"kontron",
"kurzweil",
"kyocera",
- "leapfrog",
"luxor",
"magnavox",
"makerbot",
@@ -1225,7 +1208,6 @@ function linkProjects_mame_mess(_target, _subtarget)
"vtech",
"wang",
"wavemate",
- "wyse",
"westinghouse",
"xerox",
"xussrpc",
@@ -1561,6 +1543,7 @@ files {
MAME_DIR .. "src/mame/drivers/apollo.cpp",
MAME_DIR .. "src/mame/includes/apollo.h",
MAME_DIR .. "src/mame/machine/apollo.cpp",
+ MAME_DIR .. "src/mame/machine/apollo_dbg.cpp",
MAME_DIR .. "src/mame/machine/apollo_kbd.cpp",
MAME_DIR .. "src/mame/machine/apollo_kbd.h",
MAME_DIR .. "src/mame/video/apollo.cpp",
@@ -1576,8 +1559,6 @@ files {
MAME_DIR .. "src/mame/video/apple2.h",
MAME_DIR .. "src/mame/drivers/tk2000.cpp",
MAME_DIR .. "src/mame/drivers/apple2gs.cpp",
- MAME_DIR .. "src/mame/machine/apple2common.cpp",
- MAME_DIR .. "src/mame/machine/apple2common.h",
MAME_DIR .. "src/mame/drivers/apple3.cpp",
MAME_DIR .. "src/mame/includes/apple3.h",
MAME_DIR .. "src/mame/machine/apple3.cpp",
@@ -1843,44 +1824,9 @@ files {
MAME_DIR .. "src/mame/drivers/ccs300.cpp",
}
-createMESSProjects(_target, _subtarget, "chess")
+createMESSProjects(_target, _subtarget, "chessking")
files {
- MAME_DIR .. "src/mame/machine/chessbase.cpp",
- MAME_DIR .. "src/mame/includes/chessbase.h",
- MAME_DIR .. "src/mame/drivers/ave_arb.cpp",
- MAME_DIR .. "src/mame/drivers/cking_master.cpp",
- MAME_DIR .. "src/mame/drivers/cxg_ch2001.cpp",
-
- MAME_DIR .. "src/mame/machine/fidelbase.cpp",
- MAME_DIR .. "src/mame/includes/fidelbase.h",
- MAME_DIR .. "src/mame/drivers/fidel_as12.cpp",
- MAME_DIR .. "src/mame/drivers/fidel_card.cpp",
- MAME_DIR .. "src/mame/drivers/fidel_cc1.cpp",
- MAME_DIR .. "src/mame/drivers/fidel_cc10.cpp",
- MAME_DIR .. "src/mame/drivers/fidel_cc7.cpp",
- MAME_DIR .. "src/mame/drivers/fidel_chesster.cpp",
- MAME_DIR .. "src/mame/drivers/fidel_csc.cpp",
- MAME_DIR .. "src/mame/drivers/fidel_dames.cpp",
- MAME_DIR .. "src/mame/drivers/fidel_desdis.cpp",
- MAME_DIR .. "src/mame/drivers/fidel_eag68k.cpp",
- MAME_DIR .. "src/mame/drivers/fidel_elite.cpp",
- MAME_DIR .. "src/mame/drivers/fidel_excel.cpp",
- MAME_DIR .. "src/mame/drivers/fidel_phantom.cpp",
- MAME_DIR .. "src/mame/drivers/fidel_sc12.cpp",
- MAME_DIR .. "src/mame/drivers/fidel_sc6.cpp",
- MAME_DIR .. "src/mame/drivers/fidel_sc8.cpp",
- MAME_DIR .. "src/mame/drivers/fidel_sc9.cpp",
- MAME_DIR .. "src/mame/drivers/fidel_vcc.cpp",
- MAME_DIR .. "src/mame/drivers/fidel_vsc.cpp",
-
- MAME_DIR .. "src/mame/machine/novagbase.cpp",
- MAME_DIR .. "src/mame/includes/novagbase.h",
- MAME_DIR .. "src/mame/drivers/novag_cforte.cpp",
- MAME_DIR .. "src/mame/drivers/novag_delta1.cpp",
- MAME_DIR .. "src/mame/drivers/novag_diablo.cpp",
- MAME_DIR .. "src/mame/drivers/novag_presto.cpp",
- MAME_DIR .. "src/mame/drivers/novag_scon.cpp",
- MAME_DIR .. "src/mame/drivers/novag_sexpert.cpp",
+ MAME_DIR .. "src/mame/drivers/ckz80.cpp",
}
createMESSProjects(_target, _subtarget, "chromatics")
@@ -1940,6 +1886,11 @@ files {
MAME_DIR .. "src/mame/machine/prof80mmu.h",
}
+createMESSProjects(_target, _subtarget, "cxg")
+files {
+ MAME_DIR .. "src/mame/drivers/cxgz80.cpp",
+}
+
createMESSProjects(_target, _subtarget, "cybiko")
files {
MAME_DIR .. "src/mame/drivers/cybiko.cpp",
@@ -1993,8 +1944,6 @@ files {
MAME_DIR .. "src/mame/machine/decioga.h",
MAME_DIR .. "src/mame/drivers/dectalk.cpp",
MAME_DIR .. "src/mame/drivers/decwritr.cpp",
- MAME_DIR .. "src/mame/drivers/jensen.cpp",
- MAME_DIR .. "src/mame/includes/jensen.h",
MAME_DIR .. "src/mame/drivers/pdp11.cpp",
MAME_DIR .. "src/mame/drivers/vax11.cpp",
MAME_DIR .. "src/mame/drivers/rainbow.cpp",
@@ -2165,6 +2114,15 @@ files {
MAME_DIR .. "src/mame/audio/cmi01a.h",
}
+createMESSProjects(_target, _subtarget, "fidelity")
+files {
+ MAME_DIR .. "src/mame/drivers/fidelz80.cpp",
+ MAME_DIR .. "src/mame/includes/fidelbase.h",
+ MAME_DIR .. "src/mame/drivers/fidel6502.cpp",
+ MAME_DIR .. "src/mame/drivers/fidel68k.cpp",
+ MAME_DIR .. "src/mame/drivers/fidelmcs48.cpp",
+}
+
createMESSProjects(_target, _subtarget, "force")
files {
MAME_DIR .. "src/mame/drivers/miniforce.cpp",
@@ -2274,7 +2232,6 @@ files {
MAME_DIR .. "src/mame/drivers/sbc6510.cpp",
MAME_DIR .. "src/mame/drivers/sitcom.cpp",
MAME_DIR .. "src/mame/drivers/slc1.cpp",
- MAME_DIR .. "src/mame/drivers/slc1a.cpp",
MAME_DIR .. "src/mame/drivers/uzebox.cpp",
MAME_DIR .. "src/mame/drivers/z80dev.cpp",
}
@@ -2453,12 +2410,6 @@ files {
MAME_DIR .. "src/mame/video/kyocera.cpp",
}
-createMESSProjects(_target, _subtarget, "leapfrog")
-files {
- MAME_DIR .. "src/mame/drivers/leapster.cpp",
- MAME_DIR .. "src/mame/drivers/leapfrog_leappad.cpp",
-}
-
createMESSProjects(_target, _subtarget, "luxor")
files {
MAME_DIR .. "src/mame/drivers/abc80.cpp",
@@ -2755,6 +2706,11 @@ createMESSProjects(_target, _subtarget, "novag")
files {
MAME_DIR .. "src/mame/drivers/mk1.cpp",
MAME_DIR .. "src/mame/drivers/mk2.cpp",
+ MAME_DIR .. "src/mame/drivers/novag6502.cpp",
+ MAME_DIR .. "src/mame/includes/novagbase.h",
+ MAME_DIR .. "src/mame/drivers/novag68k.cpp",
+ MAME_DIR .. "src/mame/drivers/novagf8.cpp",
+ MAME_DIR .. "src/mame/drivers/novagmcs48.cpp",
MAME_DIR .. "src/mame/drivers/ssystem3.cpp",
MAME_DIR .. "src/mame/includes/ssystem3.h",
MAME_DIR .. "src/mame/video/ssystem3.cpp",
@@ -3029,11 +2985,10 @@ files {
MAME_DIR .. "src/mame/drivers/mbc200.cpp",
MAME_DIR .. "src/mame/drivers/mbc55x.cpp",
MAME_DIR .. "src/mame/includes/mbc55x.h",
+ MAME_DIR .. "src/mame/machine/mbc55x.cpp",
MAME_DIR .. "src/mame/video/mbc55x.cpp",
MAME_DIR .. "src/mame/drivers/phc25.cpp",
MAME_DIR .. "src/mame/includes/phc25.h",
- MAME_DIR .. "src/mame/machine/mbc55x_kbd.cpp",
- MAME_DIR .. "src/mame/machine/mbc55x_kbd.h",
}
-- Don't call this project "sega" or it collides with the arcade one
@@ -3054,7 +3009,6 @@ files {
MAME_DIR .. "src/mame/includes/megadriv_rad.h",
MAME_DIR .. "src/mame/drivers/segapico.cpp",
MAME_DIR .. "src/mame/drivers/sega_sawatte.cpp",
- MAME_DIR .. "src/mame/drivers/sega_beena.cpp",
MAME_DIR .. "src/mame/drivers/segapm.cpp",
MAME_DIR .. "src/mame/drivers/sg1000.cpp",
MAME_DIR .. "src/mame/includes/sg1000.h",
@@ -3097,8 +3051,6 @@ files {
MAME_DIR .. "src/mame/drivers/4dpi.cpp",
MAME_DIR .. "src/mame/drivers/indigo.cpp",
MAME_DIR .. "src/mame/drivers/indy_indigo2.cpp",
- MAME_DIR .. "src/mame/video/light.cpp",
- MAME_DIR .. "src/mame/video/light.h",
MAME_DIR .. "src/mame/video/newport.cpp",
MAME_DIR .. "src/mame/video/newport.h",
MAME_DIR .. "src/mame/video/crime.cpp",
@@ -3531,9 +3483,7 @@ files {
MAME_DIR .. "src/mame/audio/rad_eu3a05.h",
MAME_DIR .. "src/mame/machine/rad_eu3a05gpio.cpp",
MAME_DIR .. "src/mame/machine/rad_eu3a05gpio.h",
- MAME_DIR .. "src/mame/drivers/trkfldch.cpp",
MAME_DIR .. "src/mame/drivers/tvgame.cpp",
- MAME_DIR .. "src/mame/drivers/spg110.cpp",
MAME_DIR .. "src/mame/drivers/vii.cpp",
MAME_DIR .. "src/mame/drivers/xavix.cpp",
MAME_DIR .. "src/mame/video/xavix.cpp",
@@ -3544,18 +3494,6 @@ files {
MAME_DIR .. "src/mame/machine/xavix_mtrk_wheel.h",
MAME_DIR .. "src/mame/machine/xavix_madfb_ball.cpp",
MAME_DIR .. "src/mame/machine/xavix_madfb_ball.h",
- MAME_DIR .. "src/mame/machine/xavix_io.cpp",
- MAME_DIR .. "src/mame/machine/xavix_io.h",
- MAME_DIR .. "src/mame/machine/xavix_adc.cpp",
- MAME_DIR .. "src/mame/machine/xavix_adc.h",
- MAME_DIR .. "src/mame/machine/xavix_anport.h",
- MAME_DIR .. "src/mame/machine/xavix_anport.cpp",
- MAME_DIR .. "src/mame/machine/xavix_math.h",
- MAME_DIR .. "src/mame/machine/xavix_math.cpp",
- MAME_DIR .. "src/mame/machine/xavix2002_io.cpp",
- MAME_DIR .. "src/mame/machine/xavix2002_io.h",
- MAME_DIR .. "src/mame/drivers/xavix2.cpp",
- MAME_DIR .. "src/mame/drivers/titan_soc.cpp",
}
createMESSProjects(_target, _subtarget, "ultimachine")
@@ -3607,6 +3545,7 @@ files {
MAME_DIR .. "src/mame/drivers/mc8030.cpp",
MAME_DIR .. "src/mame/drivers/poly880.cpp",
MAME_DIR .. "src/mame/includes/poly880.h",
+ MAME_DIR .. "src/mame/drivers/sc1.cpp",
MAME_DIR .. "src/mame/drivers/sc2.cpp",
}
@@ -3635,8 +3574,6 @@ createMESSProjects(_target, _subtarget, "visual")
files {
MAME_DIR .. "src/mame/drivers/v100.cpp",
MAME_DIR .. "src/mame/drivers/v102.cpp",
- MAME_DIR .. "src/mame/machine/v102_kbd.cpp",
- MAME_DIR .. "src/mame/machine/v102_kbd.h",
MAME_DIR .. "src/mame/drivers/v550.cpp",
MAME_DIR .. "src/mame/drivers/v1050.cpp",
MAME_DIR .. "src/mame/includes/v1050.h",
@@ -3655,7 +3592,6 @@ createMESSProjects(_target, _subtarget, "vtech")
files {
MAME_DIR .. "src/mame/drivers/crvision.cpp",
MAME_DIR .. "src/mame/includes/crvision.h",
- MAME_DIR .. "src/mame/drivers/gamemachine.cpp",
MAME_DIR .. "src/mame/drivers/geniusiq.cpp",
MAME_DIR .. "src/mame/drivers/vtech_unk1.cpp",
MAME_DIR .. "src/mame/drivers/vtech_unk2.cpp",
@@ -3678,11 +3614,7 @@ files {
MAME_DIR .. "src/mame/audio/socrates.cpp",
MAME_DIR .. "src/mame/audio/socrates.h",
MAME_DIR .. "src/mame/drivers/inteladv.cpp",
- MAME_DIR .. "src/mame/includes/vsmile.h",
MAME_DIR .. "src/mame/drivers/vsmile.cpp",
- MAME_DIR .. "src/mame/drivers/vsmileb.cpp",
- MAME_DIR .. "src/mame/drivers/clickstart.cpp",
- MAME_DIR .. "src/mame/drivers/storio.cpp",
}
createMESSProjects(_target, _subtarget, "wang")
@@ -3706,19 +3638,6 @@ files {
MAME_DIR .. "src/mame/includes/jupiter.h",
}
-createMESSProjects(_target, _subtarget, "wyse")
-files {
- MAME_DIR .. "src/mame/drivers/wy100.cpp",
- MAME_DIR .. "src/mame/drivers/wy150.cpp",
- MAME_DIR .. "src/mame/drivers/wy30p.cpp",
- MAME_DIR .. "src/mame/drivers/wy50.cpp",
- MAME_DIR .. "src/mame/drivers/wy55.cpp",
- MAME_DIR .. "src/mame/drivers/wy60.cpp",
- MAME_DIR .. "src/mame/drivers/wy85.cpp",
- MAME_DIR .. "src/mame/machine/wy50kb.cpp",
- MAME_DIR .. "src/mame/machine/wy50kb.h",
-}
-
createMESSProjects(_target, _subtarget, "xerox")
files {
MAME_DIR .. "src/mame/drivers/xerox820.cpp",
@@ -3772,11 +3691,6 @@ files {
MAME_DIR .. "src/mame/drivers/aaa.cpp",
MAME_DIR .. "src/mame/drivers/acd.cpp",
MAME_DIR .. "src/mame/drivers/aceex.cpp",
- MAME_DIR .. "src/mame/drivers/aci_boris.cpp",
- MAME_DIR .. "src/mame/drivers/aci_borisdpl.cpp",
- MAME_DIR .. "src/mame/drivers/adm23.cpp",
- MAME_DIR .. "src/mame/drivers/adm31.cpp",
- MAME_DIR .. "src/mame/drivers/adm36.cpp",
MAME_DIR .. "src/mame/drivers/akaiax80.cpp",
MAME_DIR .. "src/mame/drivers/alcat7100.cpp",
MAME_DIR .. "src/mame/drivers/alesis_qs.cpp",
@@ -3796,7 +3710,6 @@ files {
MAME_DIR .. "src/mame/drivers/ax20.cpp",
MAME_DIR .. "src/mame/drivers/beehive.cpp",
MAME_DIR .. "src/mame/drivers/binbug.cpp",
- MAME_DIR .. "src/mame/drivers/bert.cpp",
MAME_DIR .. "src/mame/drivers/besta.cpp",
MAME_DIR .. "src/mame/drivers/bitgraph.cpp",
MAME_DIR .. "src/mame/drivers/bpmmicro.cpp",
@@ -3805,7 +3718,6 @@ files {
MAME_DIR .. "src/mame/drivers/busicom.cpp",
MAME_DIR .. "src/mame/includes/busicom.h",
MAME_DIR .. "src/mame/video/busicom.cpp",
- MAME_DIR .. "src/mame/drivers/c2color.cpp",
MAME_DIR .. "src/mame/drivers/candela.cpp",
MAME_DIR .. "src/mame/drivers/cardinal.cpp",
MAME_DIR .. "src/mame/drivers/chaos.cpp",
@@ -3882,7 +3794,6 @@ files {
MAME_DIR .. "src/mame/drivers/ikt5a.cpp",
MAME_DIR .. "src/mame/drivers/imsai.cpp",
MAME_DIR .. "src/mame/drivers/indiana.cpp",
- MAME_DIR .. "src/mame/drivers/intellect02.cpp",
MAME_DIR .. "src/mame/drivers/is48x.cpp",
MAME_DIR .. "src/mame/drivers/itt1700.cpp",
MAME_DIR .. "src/mame/machine/itt1700_kbd.cpp",
@@ -3891,6 +3802,7 @@ files {
MAME_DIR .. "src/mame/drivers/jade.cpp",
MAME_DIR .. "src/mame/drivers/jonos.cpp",
MAME_DIR .. "src/mame/drivers/kron.cpp",
+ MAME_DIR .. "src/mame/drivers/leapster.cpp",
MAME_DIR .. "src/mame/drivers/lee1214.cpp",
MAME_DIR .. "src/mame/drivers/learnwin.cpp",
MAME_DIR .. "src/mame/drivers/lft.cpp",
@@ -3904,7 +3816,6 @@ files {
MAME_DIR .. "src/mame/drivers/mice.cpp",
MAME_DIR .. "src/mame/drivers/micral.cpp",
MAME_DIR .. "src/mame/drivers/micro20.cpp",
- MAME_DIR .. "src/mame/drivers/micromon.cpp",
MAME_DIR .. "src/mame/drivers/micronic.cpp",
MAME_DIR .. "src/mame/includes/micronic.h",
MAME_DIR .. "src/mame/drivers/microterm.cpp",
@@ -3997,6 +3908,10 @@ files {
MAME_DIR .. "src/mame/drivers/vp415.cpp",
MAME_DIR .. "src/mame/drivers/vsmilepro.cpp",
MAME_DIR .. "src/mame/drivers/wicat.cpp",
+ MAME_DIR .. "src/mame/drivers/wy100.cpp",
+ MAME_DIR .. "src/mame/drivers/wy50.cpp",
+ MAME_DIR .. "src/mame/drivers/wy85.cpp",
+ MAME_DIR .. "src/mame/drivers/wyse.cpp",
MAME_DIR .. "src/mame/drivers/xor100.cpp",
MAME_DIR .. "src/mame/includes/xor100.h",
MAME_DIR .. "src/mame/drivers/zms8085.cpp",
@@ -4005,11 +3920,6 @@ files {
MAME_DIR .. "src/mame/machine/zorbakbd.cpp",
MAME_DIR .. "src/mame/machine/zorbakbd.h",
MAME_DIR .. "src/mame/drivers/zt8802.cpp",
- MAME_DIR .. "src/mame/drivers/testpat.cpp",
- MAME_DIR .. "src/mame/machine/nl_tp1983.cpp",
- MAME_DIR .. "src/mame/machine/nl_tp1985.cpp",
- MAME_DIR .. "src/mame/drivers/palestra.cpp",
- MAME_DIR .. "src/mame/machine/nl_palestra.cpp",
}
end
diff --git a/scripts/target/mame/nl.lua b/scripts/target/mame/nl.lua
index 48375dfe2ca..226c80a3042 100644
--- a/scripts/target/mame/nl.lua
+++ b/scripts/target/mame/nl.lua
@@ -29,7 +29,6 @@ CPUS["I8085"] = true
--CPUS["M680X0"] = true
--CPUS["TMS9900"] = true
--CPUS["COP400"] = true
-CPUS["F8"] = true
--------------------------------------------------
-- Specify all the sound cores necessary for the
@@ -48,9 +47,7 @@ SOUNDS["TMS5220"] = true
--SOUNDS["YM3812"] = true
--SOUNDS["CEM3394"] = true
--SOUNDS["VOTRAX"] = true
-SOUNDS["BEEP"] = true
SOUNDS["VOLT_REG"] = true
-SOUNDS["SPEAKER"] = true
--------------------------------------------------
-- specify available video cores
@@ -87,7 +84,7 @@ MACHINES["EEPROMDEV"] = true
--MACHINES["Z80CTC"] = true
--MACHINES["68681"] = true
--MACHINES["BANKDEV"] = true
-MACHINES["F3853"] = true
+
--------------------------------------------------
-- specify available bus cores
@@ -131,8 +128,6 @@ files{
MAME_DIR .. "src/mame/machine/nl_pongd.h",
MAME_DIR .. "src/mame/machine/nl_breakout.cpp",
MAME_DIR .. "src/mame/machine/nl_breakout.h",
- MAME_DIR .. "src/mame/machine/nl_rebound.cpp",
- MAME_DIR .. "src/mame/machine/nl_rebound.h",
MAME_DIR .. "src/mame/machine/nl_hazelvid.cpp",
MAME_DIR .. "src/mame/machine/nl_hazelvid.h",
@@ -152,8 +147,6 @@ files{
MAME_DIR .. "src/mame/includes/1942.h",
MAME_DIR .. "src/mame/video/1942.cpp",
- MAME_DIR .. "src/mame/drivers/gamemachine.cpp",
-
MAME_DIR .. "src/mame/drivers/popeye.cpp",
MAME_DIR .. "src/mame/includes/popeye.h",
MAME_DIR .. "src/mame/video/popeye.cpp",
diff --git a/src/devices/bus/a1bus/a1bus.cpp b/src/devices/bus/a1bus/a1bus.cpp
index 1dee51c40b2..b9370c084d6 100644
--- a/src/devices/bus/a1bus/a1bus.cpp
+++ b/src/devices/bus/a1bus/a1bus.cpp
@@ -82,7 +82,7 @@ a1bus_device::a1bus_device(const machine_config &mconfig, const char *tag, devic
a1bus_device::a1bus_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
: device_t(mconfig, type, tag, owner, clock)
- , m_space(*this, finder_base::DUMMY_TAG, -1)
+ , m_maincpu(*this, finder_base::DUMMY_TAG)
, m_out_irq_cb(*this)
, m_out_nmi_cb(*this)
, m_device(nullptr)
@@ -136,13 +136,13 @@ void a1bus_device::set_nmi_line(int state)
void a1bus_device::install_device(offs_t start, offs_t end, read8_delegate rhandler, write8_delegate whandler)
{
- m_space->install_readwrite_handler(start, end, rhandler, whandler);
+ m_maincpu->space(AS_PROGRAM).install_readwrite_handler(start, end, rhandler, whandler);
}
void a1bus_device::install_bank(offs_t start, offs_t end, const char *tag, uint8_t *data)
{
// printf("install_bank: %s @ %x->%x\n", tag, start, end);
- m_space->install_readwrite_bank(start, end, tag);
+ m_maincpu->space(AS_PROGRAM).install_readwrite_bank(start, end, tag);
machine().root_device().membank(siblingtag(tag).c_str())->set_base(data);
}
diff --git a/src/devices/bus/a1bus/a1bus.h b/src/devices/bus/a1bus/a1bus.h
index 7970f150719..484cba5b70f 100644
--- a/src/devices/bus/a1bus/a1bus.h
+++ b/src/devices/bus/a1bus/a1bus.h
@@ -13,6 +13,19 @@
//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_A1BUS_CPU(_cputag) \
+ downcast<a1bus_device &>(*device).set_cputag(_cputag);
+
+#define MCFG_A1BUS_OUT_IRQ_CB(_devcb) \
+ downcast<a1bus_device &>(*device).set_out_irq_callback(DEVCB_##_devcb);
+
+#define MCFG_A1BUS_OUT_NMI_CB(_devcb) \
+ downcast<a1bus_device &>(*device).set_out_nmi_callback(DEVCB_##_devcb);
+
+//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -59,9 +72,9 @@ public:
a1bus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// inline configuration
- template <typename T> void set_space(T &&tag, int spacenum) { m_space.set_tag(std::forward<T>(tag), spacenum); }
- auto out_irq_callback() { return m_out_irq_cb.bind(); }
- auto out_nmi_callback() { return m_out_nmi_cb.bind(); }
+ template <typename T> void set_cputag(T &&tag) { m_maincpu.set_tag(std::forward<T>(tag)); }
+ template <class Object> devcb_base &set_out_irq_callback(Object &&cb) { return m_out_irq_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_out_nmi_callback(Object &&cb) { return m_out_nmi_cb.set_callback(std::forward<Object>(cb)); }
void add_a1bus_card(device_a1bus_card_interface *card);
device_a1bus_card_interface *get_a1bus_card();
@@ -84,7 +97,7 @@ protected:
virtual void device_reset() override;
// internal state
- required_address_space m_space;
+ required_device<cpu_device> m_maincpu;
devcb_write_line m_out_irq_cb;
devcb_write_line m_out_nmi_cb;
diff --git a/src/devices/bus/a1bus/a1cassette.cpp b/src/devices/bus/a1bus/a1cassette.cpp
index 13140382f48..5605e156304 100644
--- a/src/devices/bus/a1bus/a1cassette.cpp
+++ b/src/devices/bus/a1bus/a1cassette.cpp
@@ -36,12 +36,11 @@ ROM_END
/* sound output */
-void a1bus_cassette_device::device_add_mconfig(machine_config &config)
-{
- CASSETTE(config, m_cassette);
- m_cassette->set_default_state(CASSETTE_STOPPED);
- m_cassette->set_interface("apple1_cass");
-}
+MACHINE_CONFIG_START(a1bus_cassette_device::device_add_mconfig)
+ MCFG_CASSETTE_ADD("cassette")
+ MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_STOPPED)
+ MCFG_CASSETTE_INTERFACE("apple1_cass")
+MACHINE_CONFIG_END
const tiny_rom_entry *a1bus_cassette_device::device_rom_region() const
{
diff --git a/src/devices/bus/a2bus/a2alfam2.cpp b/src/devices/bus/a2bus/a2alfam2.cpp
index e97722708da..6817176c202 100644
--- a/src/devices/bus/a2bus/a2alfam2.cpp
+++ b/src/devices/bus/a2bus/a2alfam2.cpp
@@ -39,39 +39,37 @@ DEFINE_DEVICE_TYPE(A2BUS_AESMS, a2bus_aesms_device, "a2aesms", "Applied Engin
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void a2bus_sn76489_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(a2bus_sn76489_device::device_add_mconfig)
SPEAKER(config, "alf_l").front_left();
SPEAKER(config, "alf_r").front_right();
- SN76489(config, m_sn1, 1020484);
- m_sn1->add_route(ALL_OUTPUTS, "alf_l", 0.50);
- SN76489(config, m_sn2, 1020484);
- m_sn2->add_route(ALL_OUTPUTS, "alf_l", 0.50);
- m_sn2->add_route(ALL_OUTPUTS, "alf_r", 0.50);
- SN76489(config, m_sn3, 1020484);
- m_sn3->add_route(ALL_OUTPUTS, "alf_r", 0.50);
-}
+ MCFG_DEVICE_ADD(SN1_TAG, SN76489, 1020484)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "alf_l", 0.50)
+ MCFG_DEVICE_ADD(SN2_TAG, SN76489, 1020484)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "alf_l", 0.50)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "alf_r", 0.50)
+ MCFG_DEVICE_ADD(SN3_TAG, SN76489, 1020484)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "alf_r", 0.50)
+MACHINE_CONFIG_END
-void a2bus_aesms_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(a2bus_aesms_device::device_add_mconfig)
SPEAKER(config, "alf_l").front_left();
SPEAKER(config, "alf_r").front_right();
- SN76489(config, m_sn1, 1020484);
- m_sn1->add_route(ALL_OUTPUTS, "alf_l", 0.50);
+ MCFG_DEVICE_ADD(SN1_TAG, SN76489, 1020484)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "alf_l", 0.50)
- SN76489(config, m_sn2, 1020484);
- m_sn2->add_route(ALL_OUTPUTS, "alf_l", 0.50);
- m_sn2->add_route(ALL_OUTPUTS, "alf_r", 0.50);
+ MCFG_DEVICE_ADD(SN2_TAG, SN76489, 1020484)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "alf_l", 0.50)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "alf_r", 0.50)
- SN76489(config, m_sn3, 1020484);
- m_sn3->add_route(ALL_OUTPUTS, "alf_r", 0.50);
+ MCFG_DEVICE_ADD(SN3_TAG, SN76489, 1020484)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "alf_r", 0.50)
- SN76489(config, m_sn4, 1020484);
- m_sn4->add_route(ALL_OUTPUTS, "alf_l", 0.50);
- m_sn4->add_route(ALL_OUTPUTS, "alf_r", 0.50);
-}
+ MCFG_DEVICE_ADD(SN4_TAG, SN76489, 1020484)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "alf_l", 0.50)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "alf_r", 0.50)
+MACHINE_CONFIG_END
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/a2bus/a2arcadebd.cpp b/src/devices/bus/a2bus/a2arcadebd.cpp
index 169971ea3e5..4bdd0a6911b 100644
--- a/src/devices/bus/a2bus/a2arcadebd.cpp
+++ b/src/devices/bus/a2bus/a2arcadebd.cpp
@@ -97,7 +97,7 @@ uint8_t a2bus_arcboard_device::read_c0nx(uint8_t offset)
return m_tms->register_read();
case 6:
- return m_ay->data_r();
+ return m_ay->read_data();
}
return 0xff;
@@ -118,11 +118,11 @@ void a2bus_arcboard_device::write_c0nx(uint8_t offset, uint8_t data)
break;
case 5:
- m_ay->address_w(data);
+ m_ay->write_address(data);
break;
case 6:
- m_ay->data_w(data);
+ m_ay->write_data(data);
break;
}
}
diff --git a/src/devices/bus/a2bus/a2bus.cpp b/src/devices/bus/a2bus/a2bus.cpp
index 7adcaf368a7..84df6f73b35 100644
--- a/src/devices/bus/a2bus/a2bus.cpp
+++ b/src/devices/bus/a2bus/a2bus.cpp
@@ -145,11 +145,8 @@ a2bus_device::a2bus_device(const machine_config &mconfig, const char *tag, devic
a2bus_device::a2bus_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
: device_t(mconfig, type, tag, owner, clock)
- , m_maincpu_space(*this, finder_base::DUMMY_TAG, -1)
- , m_out_irq_cb(*this)
- , m_out_nmi_cb(*this)
- , m_out_inh_cb(*this)
- , m_out_dma_cb(*this)
+ , m_maincpu(*this, finder_base::DUMMY_TAG), m_maincpu_space(nullptr)
+ , m_out_irq_cb(*this) , m_out_nmi_cb(*this), m_out_inh_cb(*this)
, m_slot_irq_mask(0), m_slot_nmi_mask(0)
{
}
@@ -160,11 +157,12 @@ a2bus_device::a2bus_device(const machine_config &mconfig, device_type type, cons
void a2bus_device::device_resolve_objects()
{
+ m_maincpu_space = &m_maincpu->space(AS_PROGRAM);
+
// resolve callbacks
m_out_irq_cb.resolve_safe();
m_out_nmi_cb.resolve_safe();
m_out_inh_cb.resolve_safe();
- m_out_dma_cb.resolve_safe();
}
void a2bus_device::device_start()
@@ -241,17 +239,27 @@ void a2bus_device::set_nmi_line(int state, int slot)
}
}
-void a2bus_device::set_dma_line(int state)
+void a2bus_device::set_maincpu_halt(int state)
{
- m_out_dma_cb(state);
+ m_maincpu->set_input_line(INPUT_LINE_HALT, state);
+}
+
+uint8_t a2bus_device::dma_r(address_space &space, uint16_t offset)
+{
+ return m_maincpu_space->read_byte(offset);
+}
+
+void a2bus_device::dma_w(address_space &space, uint16_t offset, uint8_t data)
+{
+ m_maincpu_space->write_byte(offset, data);
}
-uint8_t a2bus_device::dma_r(uint16_t offset)
+uint8_t a2bus_device::dma_nospace_r(uint16_t offset)
{
return m_maincpu_space->read_byte(offset);
}
-void a2bus_device::dma_w(uint16_t offset, uint8_t data)
+void a2bus_device::dma_nospace_w(uint16_t offset, uint8_t data)
{
m_maincpu_space->write_byte(offset, data);
}
diff --git a/src/devices/bus/a2bus/a2bus.h b/src/devices/bus/a2bus/a2bus.h
index 502ff72e854..862aeca3803 100644
--- a/src/devices/bus/a2bus/a2bus.h
+++ b/src/devices/bus/a2bus/a2bus.h
@@ -25,6 +25,22 @@
#define INH_READ 0x01
#define INH_WRITE 0x02
+//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_A2BUS_CPU(_cputag) \
+ downcast<a2bus_device &>(*device).set_cputag(_cputag);
+
+#define MCFG_A2BUS_OUT_IRQ_CB(_devcb) \
+ downcast<a2bus_device &>(*device).set_out_irq_callback(DEVCB_##_devcb);
+
+#define MCFG_A2BUS_OUT_NMI_CB(_devcb) \
+ downcast<a2bus_device &>(*device).set_out_nmi_callback(DEVCB_##_devcb);
+
+#define MCFG_A2BUS_OUT_INH_CB(_devcb) \
+ downcast<a2bus_device &>(*device).set_out_inh_callback(DEVCB_##_devcb);
+
// 7M = XTAL(14'318'181) / 2 or XTAL(28'636'363) / 4 (for IIgs)
static constexpr uint32_t A2BUS_7M_CLOCK = 7159090;
@@ -83,11 +99,15 @@ public:
a2bus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// inline configuration
- template <typename T> void set_space(T &&tag, int spacenum) { m_maincpu_space.set_tag(std::forward<T>(tag), spacenum); }
+ template <typename T> void set_cputag(T &&tag) { m_maincpu.set_tag(std::forward<T>(tag)); }
+ template <class Object> devcb_base &set_out_irq_callback(Object &&cb) { return m_out_irq_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_out_nmi_callback(Object &&cb) { return m_out_nmi_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_out_inh_callback(Object &&cb) { return m_out_inh_cb.set_callback(std::forward<Object>(cb)); }
+
+ // devcb3
auto irq_w() { return m_out_irq_cb.bind(); }
auto nmi_w() { return m_out_nmi_cb.bind(); }
auto inh_w() { return m_out_inh_cb.bind(); }
- auto dma_w() { return m_out_dma_cb.bind(); }
void add_a2bus_card(int slot, device_a2bus_card_interface *card);
device_a2bus_card_interface *get_a2bus_card(int slot);
@@ -96,10 +116,12 @@ public:
void set_irq_line(int state, int slot);
void set_nmi_line(int state, int slot);
- void set_dma_line(int state);
+ void set_maincpu_halt(int state);
void recalc_inh(int slot);
- uint8_t dma_r(uint16_t offset);
- void dma_w(uint16_t offset, uint8_t data);
+ uint8_t dma_r(address_space &space, uint16_t offset);
+ void dma_w(address_space &space, uint16_t offset, uint8_t data);
+ uint8_t dma_nospace_r(uint16_t offset);
+ void dma_nospace_w(uint16_t offset, uint8_t data);
DECLARE_WRITE_LINE_MEMBER( irq_w );
DECLARE_WRITE_LINE_MEMBER( nmi_w );
@@ -113,12 +135,12 @@ protected:
virtual void device_reset() override;
// internal state
- required_address_space m_maincpu_space;
+ required_device<cpu_device> m_maincpu;
+ address_space *m_maincpu_space;
devcb_write_line m_out_irq_cb;
devcb_write_line m_out_nmi_cb;
devcb_write8 m_out_inh_cb;
- devcb_write_line m_out_dma_cb;
device_a2bus_card_interface *m_device_list[8];
@@ -159,8 +181,14 @@ public:
void set_a2bus(a2bus_device *a2bus, const char *slottag) { m_a2bus = a2bus; m_a2bus_slottag = slottag; }
template <typename T> void set_onboard(T &&a2bus) { m_a2bus_finder.set_tag(std::forward<T>(a2bus)); m_a2bus_slottag = device().tag(); }
- uint8_t slot_dma_read(uint16_t offset) { return m_a2bus->dma_r(offset); }
- void slot_dma_write(uint16_t offset, uint8_t data) { m_a2bus->dma_w(offset, data); }
+ // pass through the original address space if any for debugger protection
+ // when debugging e.g. coprocessor cards (Z80 SoftCard etc).
+ uint8_t slot_dma_read(address_space &space, uint16_t offset) { return m_a2bus->dma_r(space, offset); }
+ void slot_dma_write(address_space &space, uint16_t offset, uint8_t data) { m_a2bus->dma_w(space, offset, data); }
+
+ // these versions forego that protection for when the DMA isn't coming from a debuggable CPU device
+ uint8_t slot_dma_read_no_space(uint16_t offset) { return m_a2bus->dma_nospace_r(offset); }
+ void slot_dma_write_no_space(uint16_t offset, uint8_t data) { m_a2bus->dma_nospace_w(offset, data); }
protected:
uint32_t get_slotromspace() { return 0xc000 | (m_slot<<8); } // return Cn00 address for this slot
@@ -171,8 +199,7 @@ protected:
void raise_slot_nmi() { m_a2bus->set_nmi_line(ASSERT_LINE, m_slot); }
void lower_slot_nmi() { m_a2bus->set_nmi_line(CLEAR_LINE, m_slot); }
void recalc_slot_inh() { m_a2bus->recalc_inh(m_slot); }
- void raise_slot_dma() { m_a2bus->set_dma_line(ASSERT_LINE); }
- void lower_slot_dma() { m_a2bus->set_dma_line(CLEAR_LINE); }
+ void set_maincpu_halt(int state) { m_a2bus->set_maincpu_halt(state); }
device_a2bus_card_interface(const machine_config &mconfig, device_t &device);
diff --git a/src/devices/bus/a2bus/a2cffa.cpp b/src/devices/bus/a2bus/a2cffa.cpp
index 41c5a1603f6..4eb5c7d2d98 100644
--- a/src/devices/bus/a2bus/a2cffa.cpp
+++ b/src/devices/bus/a2bus/a2cffa.cpp
@@ -56,7 +56,7 @@ void a2bus_cffa2000_device::device_add_mconfig(machine_config &config)
ATA_INTERFACE(config, m_ata).options(ata_devices, "hdd", nullptr, false);
// not yet, the core explodes
-// SOFTWARE_LIST(config, "hdd_list").set_original("apple2gs_hdd");
+// MCFG_SOFTWARE_LIST_ADD("hdd_list", "apple2gs_hdd")
}
//-------------------------------------------------
diff --git a/src/devices/bus/a2bus/a2corvus.cpp b/src/devices/bus/a2bus/a2corvus.cpp
index 3b0af093659..251485d3f28 100644
--- a/src/devices/bus/a2bus/a2corvus.cpp
+++ b/src/devices/bus/a2bus/a2corvus.cpp
@@ -71,14 +71,17 @@ ROM_END
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void a2bus_corvus_device::device_add_mconfig(machine_config &config)
-{
- CORVUS_HDC(config, m_corvushd, 0);
- HARDDISK(config, "harddisk1", "corvus_hdd");
- HARDDISK(config, "harddisk2", "corvus_hdd");
- HARDDISK(config, "harddisk3", "corvus_hdd");
- HARDDISK(config, "harddisk4", "corvus_hdd");
-}
+MACHINE_CONFIG_START(a2bus_corvus_device::device_add_mconfig)
+ MCFG_DEVICE_ADD(CORVUS_HD_TAG, CORVUS_HDC, 0)
+ MCFG_HARDDISK_ADD("harddisk1")
+ MCFG_HARDDISK_INTERFACE("corvus_hdd")
+ MCFG_HARDDISK_ADD("harddisk2")
+ MCFG_HARDDISK_INTERFACE("corvus_hdd")
+ MCFG_HARDDISK_ADD("harddisk3")
+ MCFG_HARDDISK_INTERFACE("corvus_hdd")
+ MCFG_HARDDISK_ADD("harddisk4")
+ MCFG_HARDDISK_INTERFACE("corvus_hdd")
+MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/a2bus/a2diskii.cpp b/src/devices/bus/a2bus/a2diskii.cpp
index 20aff173549..9673abbb1da 100644
--- a/src/devices/bus/a2bus/a2diskii.cpp
+++ b/src/devices/bus/a2bus/a2diskii.cpp
@@ -61,19 +61,15 @@ ROM_END
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void a2bus_floppy_device::device_add_mconfig(machine_config &config)
-{
- APPLEFDC(config, m_fdc, &fdc_interface);
- FLOPPY_APPLE(config, FLOPPY_0, &floppy_interface, 15, 16);
- FLOPPY_APPLE(config, FLOPPY_1, &floppy_interface, 15, 16);
-}
-
-void a2bus_iwmflop_device::device_add_mconfig(machine_config &config)
-{
- IWM(config, m_fdc, &fdc_interface);
- FLOPPY_APPLE(config, FLOPPY_0, &floppy_interface, 15, 16);
- FLOPPY_APPLE(config, FLOPPY_1, &floppy_interface, 15, 16);
-}
+MACHINE_CONFIG_START(a2bus_floppy_device::device_add_mconfig)
+ MCFG_APPLEFDC_ADD(FDC_TAG, fdc_interface)
+ MCFG_LEGACY_FLOPPY_APPLE_2_DRIVES_ADD(floppy_interface,15,16)
+MACHINE_CONFIG_END
+
+MACHINE_CONFIG_START(a2bus_iwmflop_device::device_add_mconfig)
+ MCFG_IWM_ADD(FDC_TAG, fdc_interface)
+ MCFG_LEGACY_FLOPPY_APPLE_2_DRIVES_ADD(floppy_interface,15,16)
+MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/a2bus/a2diskiing.cpp b/src/devices/bus/a2bus/a2diskiing.cpp
index 1846b447a04..28194db0421 100644
--- a/src/devices/bus/a2bus/a2diskiing.cpp
+++ b/src/devices/bus/a2bus/a2diskiing.cpp
@@ -54,19 +54,17 @@ FLOPPY_FORMATS_END
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void diskiing_device::device_add_mconfig(machine_config &config)
-{
- DISKII_FDC(config, m_wozfdc, 1021800*2);
- for (auto &floppy : m_floppy)
- FLOPPY_CONNECTOR(config, floppy, a2_floppies, "525", diskiing_device::floppy_formats);
-}
-
-void a2bus_diskiing13_device::device_add_mconfig(machine_config &config)
-{
- DISKII_FDC(config, m_wozfdc, 1021800*2);
- for (auto &floppy : m_floppy)
- FLOPPY_CONNECTOR(config, floppy, a2_floppies, "525", a2bus_diskiing13_device::floppy_formats);
-}
+MACHINE_CONFIG_START(diskiing_device::device_add_mconfig)
+ MCFG_DEVICE_ADD(WOZFDC_TAG, DISKII_FDC, 1021800*2)
+ MCFG_FLOPPY_DRIVE_ADD("0", a2_floppies, "525", diskiing_device::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD("1", a2_floppies, "525", diskiing_device::floppy_formats)
+MACHINE_CONFIG_END
+
+MACHINE_CONFIG_START(a2bus_diskiing13_device::device_add_mconfig)
+ MCFG_DEVICE_ADD(WOZFDC_TAG, DISKII_FDC, 1021800*2)
+ MCFG_FLOPPY_DRIVE_ADD("0", a2_floppies, "525", a2bus_diskiing13_device::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD("1", a2_floppies, "525", a2bus_diskiing13_device::floppy_formats)
+MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region
@@ -90,7 +88,8 @@ diskiing_device::diskiing_device(const machine_config &mconfig, device_type type
device_t(mconfig, type, tag, owner, clock),
device_a2bus_card_interface(mconfig, *this),
m_wozfdc(*this, WOZFDC_TAG),
- m_floppy(*this, "%u", 0U),
+ floppy0(*this, "0"),
+ floppy1(*this, "1"),
m_rom(nullptr)
{
}
@@ -116,7 +115,7 @@ void diskiing_device::device_start()
void diskiing_device::device_reset()
{
- m_wozfdc->set_floppies(m_floppy[0], m_floppy[1]);
+ m_wozfdc->set_floppies(floppy0, floppy1);
}
/*-------------------------------------------------
diff --git a/src/devices/bus/a2bus/a2diskiing.h b/src/devices/bus/a2bus/a2diskiing.h
index c30d49ebf0d..e6476cb29a7 100644
--- a/src/devices/bus/a2bus/a2diskiing.h
+++ b/src/devices/bus/a2bus/a2diskiing.h
@@ -42,10 +42,11 @@ protected:
virtual void write_c0nx(uint8_t offset, uint8_t data) override;
virtual uint8_t read_cnxx(uint8_t offset) override;
+private:
required_device<diskii_fdc_device> m_wozfdc;
- required_device_array<floppy_connector, 2> m_floppy;
+ required_device<floppy_connector> floppy0;
+ required_device<floppy_connector> floppy1;
-private:
const uint8_t *m_rom;
DECLARE_FLOPPY_FORMATS( floppy_formats );
diff --git a/src/devices/bus/a2bus/a2dx1.cpp b/src/devices/bus/a2bus/a2dx1.cpp
index 9c1a0733405..5efd112a779 100644
--- a/src/devices/bus/a2bus/a2dx1.cpp
+++ b/src/devices/bus/a2bus/a2dx1.cpp
@@ -31,14 +31,14 @@ DEFINE_DEVICE_TYPE(A2BUS_DX1, a2bus_dx1_device, "a2dx1", "Decillonix DX-1")
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void a2bus_dx1_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(a2bus_dx1_device::device_add_mconfig)
SPEAKER(config, "speaker").front_center();
- DAC_8BIT_R2R(config, m_dac, 0).add_route(ALL_OUTPUTS, "speaker", 0.5); // unknown DAC
- DAC_8BIT_R2R(config, m_dacvol, 0).add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT).add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT); // unknown DAC
- voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref"));
- vref.add_route(0, "dacvol", 1.0, DAC_VREF_POS_INPUT);
-}
+ MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC
+ MCFG_DEVICE_ADD("dacvol", DAC_8BIT_R2R, 0) // unknown DAC
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
+ MCFG_SOUND_ROUTE(0, "dacvol", 1.0, DAC_VREF_POS_INPUT)
+MACHINE_CONFIG_END
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/a2bus/a2eauxslot.cpp b/src/devices/bus/a2bus/a2eauxslot.cpp
index 5fab40ba9ae..6885d528128 100644
--- a/src/devices/bus/a2bus/a2eauxslot.cpp
+++ b/src/devices/bus/a2bus/a2eauxslot.cpp
@@ -33,16 +33,20 @@ a2eauxslot_slot_device::a2eauxslot_slot_device(const machine_config &mconfig, co
a2eauxslot_slot_device::a2eauxslot_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
: device_t(mconfig, type, tag, owner, clock)
, device_slot_interface(mconfig, *this)
- , m_a2eauxslot(*this, finder_base::DUMMY_TAG)
+ , m_a2eauxslot_tag(nullptr)
+ , m_a2eauxslot_slottag(nullptr)
{
}
-void a2eauxslot_slot_device::device_resolve_objects()
+//-------------------------------------------------
+// device_start - device-specific startup
+//-------------------------------------------------
+
+void a2eauxslot_slot_device::device_start()
{
device_a2eauxslot_card_interface *dev = dynamic_cast<device_a2eauxslot_card_interface *>(get_card_device());
- if (dev)
- dev->set_a2eauxslot_device(m_a2eauxslot.target());
+ if (dev) dev->set_a2eauxslot_tag(m_a2eauxslot_tag, m_a2eauxslot_slottag);
}
//**************************************************************************
@@ -66,31 +70,34 @@ a2eauxslot_device::a2eauxslot_device(const machine_config &mconfig, const char *
a2eauxslot_device::a2eauxslot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
: device_t(mconfig, type, tag, owner, clock)
- , m_space(*this, finder_base::DUMMY_TAG, -1)
+ , m_maincpu(nullptr)
, m_out_irq_cb(*this)
, m_out_nmi_cb(*this)
, m_device(nullptr)
+ , m_cputag(nullptr)
{
}
-
//-------------------------------------------------
-// device_resolve_objects - resolve objects that
-// may be needed for other devices to set
-// initial conditions at start time
+// device_start - device-specific startup
//-------------------------------------------------
-void a2eauxslot_device::device_resolve_objects()
+void a2eauxslot_device::device_start()
{
+ m_maincpu = machine().device<cpu_device>(m_cputag);
+
// resolve callbacks
m_out_irq_cb.resolve_safe();
m_out_nmi_cb.resolve_safe();
+
+ // clear slot
+ m_device = nullptr;
}
//-------------------------------------------------
-// device_start - device-specific startup
+// device_reset - device-specific reset
//-------------------------------------------------
-void a2eauxslot_device::device_start()
+void a2eauxslot_device::device_reset()
{
}
@@ -134,7 +141,7 @@ WRITE_LINE_MEMBER( a2eauxslot_device::nmi_w ) { m_out_nmi_cb(state); }
device_a2eauxslot_card_interface::device_a2eauxslot_card_interface(const machine_config &mconfig, device_t &device)
: device_slot_card_interface(mconfig, device),
m_a2eauxslot(nullptr),
- m_slot(0), m_next(nullptr)
+ m_a2eauxslot_tag(nullptr), m_a2eauxslot_slottag(nullptr), m_slot(0), m_next(nullptr)
{
}
@@ -147,8 +154,8 @@ device_a2eauxslot_card_interface::~device_a2eauxslot_card_interface()
{
}
-void device_a2eauxslot_card_interface::set_a2eauxslot_device(a2eauxslot_device *a2eauxslot)
+void device_a2eauxslot_card_interface::set_a2eauxslot_device()
{
- m_a2eauxslot = a2eauxslot;
+ m_a2eauxslot = dynamic_cast<a2eauxslot_device *>(device().machine().device(m_a2eauxslot_tag));
m_a2eauxslot->add_a2eauxslot_card(this);
}
diff --git a/src/devices/bus/a2bus/a2eauxslot.h b/src/devices/bus/a2bus/a2eauxslot.h
index 4351bc6112a..1da89b18d7a 100644
--- a/src/devices/bus/a2bus/a2eauxslot.h
+++ b/src/devices/bus/a2bus/a2eauxslot.h
@@ -15,6 +15,25 @@
#include "a2bus.h"
+//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_A2EAUXSLOT_CPU(_cputag) \
+ downcast<a2eauxslot_device &>(*device).set_cputag(_cputag);
+
+#define MCFG_A2EAUXSLOT_OUT_IRQ_CB(_devcb) \
+ downcast<a2eauxslot_device &>(*device).set_out_irq_callback(DEVCB_##_devcb);
+
+#define MCFG_A2EAUXSLOT_OUT_NMI_CB(_devcb) \
+ downcast<a2eauxslot_device &>(*device).set_out_nmi_callback(DEVCB_##_devcb);
+
+#define MCFG_A2EAUXSLOT_SLOT_ADD(_nbtag, _tag, _slot_intf, _def_slot) \
+ MCFG_DEVICE_ADD(_tag, A2EAUXSLOT_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false) \
+ downcast<a2eauxslot_slot_device &>(*device).set_a2eauxslot_slot(_nbtag, _tag);
+#define MCFG_A2EAUXSLOT_SLOT_REMOVE(_tag) \
+ MCFG_DEVICE_REMOVE(_tag)
//**************************************************************************
// TYPE DEFINITIONS
@@ -27,28 +46,19 @@ class a2eauxslot_slot_device : public device_t,
{
public:
// construction/destruction
- template <typename T, typename U>
- a2eauxslot_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&slottag, U &&opts, char const *dflt)
- : a2eauxslot_slot_device(mconfig, tag, owner, 0)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- m_a2eauxslot.set_tag(std::forward<T>(slottag));
- }
-
- a2eauxslot_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+ a2eauxslot_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void device_resolve_objects() override;
- virtual void device_start() override { }
+ virtual void device_start() override;
+
+ // inline configuration
+ void set_a2eauxslot_slot(const char *tag, const char *slottag) { m_a2eauxslot_tag = tag; m_a2eauxslot_slottag = slottag; }
protected:
a2eauxslot_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
// configuration
- required_device<a2eauxslot_device> m_a2eauxslot;
+ const char *m_a2eauxslot_tag, *m_a2eauxslot_slottag;
};
// device type definition
@@ -65,9 +75,9 @@ public:
a2eauxslot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// inline configuration
- template <typename T> void set_space(T &&tag, int spacenum) { m_space.set_tag(std::forward<T>(tag), spacenum); }
- auto out_irq_callback() { return m_out_irq_cb.bind(); }
- auto out_nmi_callback() { return m_out_nmi_cb.bind(); }
+ void set_cputag(const char *tag) { m_cputag = tag; }
+ template <class Object> devcb_base &set_out_irq_callback(Object &&cb) { return m_out_irq_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_out_nmi_callback(Object &&cb) { return m_out_nmi_cb.set_callback(std::forward<Object>(cb)); }
void add_a2eauxslot_card(device_a2eauxslot_card_interface *card);
device_a2eauxslot_card_interface *get_a2eauxslot_card();
@@ -82,16 +92,17 @@ protected:
a2eauxslot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void device_resolve_objects() override;
virtual void device_start() override;
+ virtual void device_reset() override;
// internal state
- required_address_space m_space;
+ cpu_device *m_maincpu;
devcb_write_line m_out_irq_cb;
devcb_write_line m_out_nmi_cb;
device_a2eauxslot_card_interface *m_device;
+ const char *m_cputag;
};
@@ -110,24 +121,28 @@ public:
virtual uint8_t read_auxram(uint16_t offset) { printf("a2eauxslot: unhandled auxram read @ %04x\n", offset); return 0xff; }
virtual void write_auxram(uint16_t offset, uint8_t data) { printf("a2eauxslot: unhandled auxram write %02x @ %04x\n", data, offset); }
- virtual void write_c07x(uint8_t offset, uint8_t data) {}
+ virtual void write_c07x(address_space &space, uint8_t offset, uint8_t data) {}
virtual uint8_t *get_vram_ptr() = 0;
virtual uint8_t *get_auxbank_ptr() = 0;
virtual bool allow_dhr() { return true; }
device_a2eauxslot_card_interface *next() const { return m_next; }
- void set_a2eauxslot_device(a2eauxslot_device *a2eauxslot);
+ void set_a2eauxslot_device();
void raise_slot_irq() { m_a2eauxslot->set_irq_line(ASSERT_LINE); }
void lower_slot_irq() { m_a2eauxslot->set_irq_line(CLEAR_LINE); }
void raise_slot_nmi() { m_a2eauxslot->set_nmi_line(ASSERT_LINE); }
void lower_slot_nmi() { m_a2eauxslot->set_nmi_line(CLEAR_LINE); }
+ // inline configuration
+ void set_a2eauxslot_tag(const char *tag, const char *slottag) { m_a2eauxslot_tag = tag; m_a2eauxslot_slottag = slottag; }
+
protected:
device_a2eauxslot_card_interface(const machine_config &mconfig, device_t &device);
a2eauxslot_device *m_a2eauxslot;
+ const char *m_a2eauxslot_tag, *m_a2eauxslot_slottag;
int m_slot;
device_a2eauxslot_card_interface *m_next;
};
diff --git a/src/devices/bus/a2bus/a2eext80col.cpp b/src/devices/bus/a2bus/a2eext80col.cpp
index 2ddb4a0b476..b98d31c0d5c 100644
--- a/src/devices/bus/a2bus/a2eext80col.cpp
+++ b/src/devices/bus/a2bus/a2eext80col.cpp
@@ -43,6 +43,7 @@ a2eaux_ext80col_device::a2eaux_ext80col_device(const machine_config &mconfig, de
void a2eaux_ext80col_device::device_start()
{
+ set_a2eauxslot_device();
memset(m_ram, 0, sizeof(m_ram));
save_item(NAME(m_ram));
}
diff --git a/src/devices/bus/a2bus/a2eramworks3.cpp b/src/devices/bus/a2bus/a2eramworks3.cpp
index 46ada4066a1..e82225cbd27 100644
--- a/src/devices/bus/a2bus/a2eramworks3.cpp
+++ b/src/devices/bus/a2bus/a2eramworks3.cpp
@@ -45,6 +45,7 @@ a2eaux_ramworks3_device::a2eaux_ramworks3_device(const machine_config &mconfig,
void a2eaux_ramworks3_device::device_start()
{
+ set_a2eauxslot_device();
save_item(NAME(m_ram));
save_item(NAME(m_bank));
}
@@ -87,7 +88,7 @@ uint8_t *a2eaux_ramworks3_device::get_auxbank_ptr()
However, the software will recognize and correctly use a configuration in which
all of banks 00-7F are populated for a total of 8 megabytes. So that's what we do.
*/
-void a2eaux_ramworks3_device::write_c07x(uint8_t offset, uint8_t data)
+void a2eaux_ramworks3_device::write_c07x(address_space &space, uint8_t offset, uint8_t data)
{
// write to C073?
if (offset == 3)
diff --git a/src/devices/bus/a2bus/a2eramworks3.h b/src/devices/bus/a2bus/a2eramworks3.h
index d47d88c37d9..f2b327ebfab 100644
--- a/src/devices/bus/a2bus/a2eramworks3.h
+++ b/src/devices/bus/a2bus/a2eramworks3.h
@@ -36,7 +36,7 @@ protected:
virtual uint8_t *get_vram_ptr() override;
virtual uint8_t *get_auxbank_ptr() override;
virtual bool allow_dhr() override { return true; }
- virtual void write_c07x(uint8_t offset, uint8_t data) override;
+ virtual void write_c07x(address_space &space, uint8_t offset, uint8_t data) override;
private:
uint8_t m_ram[8*1024*1024];
diff --git a/src/devices/bus/a2bus/a2estd80col.cpp b/src/devices/bus/a2bus/a2estd80col.cpp
index 8eecf223c48..e5a9741e7a0 100644
--- a/src/devices/bus/a2bus/a2estd80col.cpp
+++ b/src/devices/bus/a2bus/a2estd80col.cpp
@@ -43,6 +43,7 @@ a2eaux_std80col_device::a2eaux_std80col_device(const machine_config &mconfig, de
void a2eaux_std80col_device::device_start()
{
+ set_a2eauxslot_device();
save_item(NAME(m_ram));
}
diff --git a/src/devices/bus/a2bus/a2hsscsi.cpp b/src/devices/bus/a2bus/a2hsscsi.cpp
index ec4eea8080a..6be63715d88 100644
--- a/src/devices/bus/a2bus/a2hsscsi.cpp
+++ b/src/devices/bus/a2bus/a2hsscsi.cpp
@@ -57,6 +57,14 @@ DEFINE_DEVICE_TYPE(A2BUS_HSSCSI, a2bus_hsscsi_device, "a2hsscsi", "Apple II High
#define SCSI_BUS_TAG "scsibus"
#define SCSI_5380_TAG "scsibus:7:ncr5380"
+void a2bus_hsscsi_device::ncr5380(device_t *device)
+{
+ devcb_base *devcb;
+ (void)devcb;
+ MCFG_DEVICE_CLOCK(10000000)
+ MCFG_NCR5380N_DRQ_HANDLER(WRITELINE("^^", a2bus_hsscsi_device, drq_w))
+}
+
static void hsscsi_devices(device_slot_interface &device)
{
device.option_add("cdrom", NSCSI_CDROM);
@@ -77,21 +85,18 @@ ROM_END
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void a2bus_hsscsi_device::device_add_mconfig(machine_config &config)
-{
- NSCSI_BUS(config, m_scsibus);
- NSCSI_CONNECTOR(config, "scsibus:0", hsscsi_devices, nullptr, false);
- NSCSI_CONNECTOR(config, "scsibus:1", hsscsi_devices, nullptr, false);
- NSCSI_CONNECTOR(config, "scsibus:2", hsscsi_devices, nullptr, false);
- NSCSI_CONNECTOR(config, "scsibus:3", hsscsi_devices, nullptr, false);
- NSCSI_CONNECTOR(config, "scsibus:4", hsscsi_devices, nullptr, false);
- NSCSI_CONNECTOR(config, "scsibus:5", hsscsi_devices, nullptr, false);
- NSCSI_CONNECTOR(config, "scsibus:6", hsscsi_devices, "harddisk", false);
- NSCSI_CONNECTOR(config, "scsibus:7", hsscsi_devices, "ncr5380", true).set_option_machine_config("ncr5380", [this](device_t *device) {
- device->set_clock(10000000);
- downcast<ncr5380n_device &>(*device).drq_handler().set(*this, FUNC(a2bus_hsscsi_device::drq_w));
- });
-}
+MACHINE_CONFIG_START(a2bus_hsscsi_device::device_add_mconfig)
+ MCFG_NSCSI_BUS_ADD(SCSI_BUS_TAG)
+ MCFG_NSCSI_ADD("scsibus:0", hsscsi_devices, nullptr, false)
+ MCFG_NSCSI_ADD("scsibus:1", hsscsi_devices, nullptr, false)
+ MCFG_NSCSI_ADD("scsibus:2", hsscsi_devices, nullptr, false)
+ MCFG_NSCSI_ADD("scsibus:3", hsscsi_devices, nullptr, false)
+ MCFG_NSCSI_ADD("scsibus:4", hsscsi_devices, nullptr, false)
+ MCFG_NSCSI_ADD("scsibus:5", hsscsi_devices, nullptr, false)
+ MCFG_NSCSI_ADD("scsibus:6", hsscsi_devices, "harddisk", false)
+ MCFG_NSCSI_ADD("scsibus:7", hsscsi_devices, "ncr5380", true)
+ MCFG_SLOT_OPTION_MACHINE_CONFIG("ncr5380", ncr5380)
+MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region
@@ -163,7 +168,7 @@ uint8_t a2bus_hsscsi_device::read_c0nx(uint8_t offset)
case 6:
case 7:
// logerror("Read 5380 @ %x\n", offset);
- return m_ncr5380->read(offset);
+ return m_ncr5380->read(machine().dummy_space(), offset);
case 0xc:
return 0x00; // indicate watchdog?
@@ -200,7 +205,7 @@ void a2bus_hsscsi_device::write_c0nx(uint8_t offset, uint8_t data)
case 6:
case 7:
// logerror("%02x to 5380 reg %x\n", data, offset);
- m_ncr5380->write(offset, data);
+ m_ncr5380->write(machine().dummy_space(), offset, data);
break;
#if 0
case 8: // DMA address low
diff --git a/src/devices/bus/a2bus/a2hsscsi.h b/src/devices/bus/a2bus/a2hsscsi.h
index da96b3e8776..c3534ede770 100644
--- a/src/devices/bus/a2bus/a2hsscsi.h
+++ b/src/devices/bus/a2bus/a2hsscsi.h
@@ -30,6 +30,8 @@ public:
DECLARE_WRITE_LINE_MEMBER( drq_w );
+ static void ncr5380(device_t *device);
+
protected:
a2bus_hsscsi_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
diff --git a/src/devices/bus/a2bus/a2mcms.cpp b/src/devices/bus/a2bus/a2mcms.cpp
index 7e2cab57b6b..1442d7d68bc 100644
--- a/src/devices/bus/a2bus/a2mcms.cpp
+++ b/src/devices/bus/a2bus/a2mcms.cpp
@@ -38,6 +38,8 @@ DEFINE_DEVICE_TYPE(A2BUS_MCMS2, a2bus_mcms2_device, "a2mcms2", "Mountain Compute
#define ENGINE_TAG "engine"
+#define MCFG_MCMS_IRQ_CALLBACK(_cb) \
+ downcast<mcms_device &>(*device).set_irq_cb(DEVCB_##_cb);
/***************************************************************************
FUNCTION PROTOTYPES
@@ -47,16 +49,16 @@ DEFINE_DEVICE_TYPE(A2BUS_MCMS2, a2bus_mcms2_device, "a2mcms2", "Mountain Compute
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void a2bus_mcms1_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(a2bus_mcms1_device::device_add_mconfig)
SPEAKER(config, "mcms_l").front_left();
SPEAKER(config, "mcms_r").front_right();
- MCMS(config, m_mcms, 1000000);
- m_mcms->irq_cb().set(FUNC(a2bus_mcms1_device::irq_w));
- m_mcms->add_route(0, "mcms_l", 1.0);
- m_mcms->add_route(1, "mcms_r", 1.0);
-}
+ MCFG_DEVICE_ADD(ENGINE_TAG, MCMS, 1000000)
+ MCFG_MCMS_IRQ_CALLBACK(WRITELINE(*this, a2bus_mcms1_device, irq_w))
+
+ MCFG_SOUND_ROUTE(0, "mcms_l", 1.0)
+ MCFG_SOUND_ROUTE(1, "mcms_r", 1.0)
+MACHINE_CONFIG_END
//**************************************************************************
// LIVE DEVICE - Card 1
@@ -275,7 +277,7 @@ void mcms_device::sound_stream_update(sound_stream &stream, stream_sample_t **in
wptr = (m_table[v]<<8) | (m_acc[v]>>8);
m_rand = (m_acc[v]>>8) & 0x1f;
- sample = (m_pBusDevice->slot_dma_read(wptr) ^ 0x80);
+ sample = (m_pBusDevice->slot_dma_read_no_space(wptr) ^ 0x80);
if (v & 1)
{
mixL += sample * m_vols[v];
diff --git a/src/devices/bus/a2bus/a2mcms.h b/src/devices/bus/a2bus/a2mcms.h
index 9a183a9313d..f1026d97afd 100644
--- a/src/devices/bus/a2bus/a2mcms.h
+++ b/src/devices/bus/a2bus/a2mcms.h
@@ -33,7 +33,7 @@ public:
void set_bus_device(a2bus_mcms1_device *pDev) { m_pBusDevice = pDev; }
- auto irq_cb() { return m_write_irq.bind(); }
+ template<class Object> devcb_base &set_irq_cb(Object &&wr) { return m_write_irq.set_callback(std::forward<Object>(wr)); }
devcb_write_line m_write_irq;
protected:
diff --git a/src/devices/bus/a2bus/a2memexp.cpp b/src/devices/bus/a2bus/a2memexp.cpp
index 6b088a1ea12..a544713abb7 100644
--- a/src/devices/bus/a2bus/a2memexp.cpp
+++ b/src/devices/bus/a2bus/a2memexp.cpp
@@ -46,9 +46,8 @@ ROM_END
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void a2bus_memexp_device::device_add_mconfig(machine_config &config)
-{
-}
+MACHINE_CONFIG_START(a2bus_memexp_device::device_add_mconfig)
+MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/a2bus/a2midi.cpp b/src/devices/bus/a2bus/a2midi.cpp
index dfd6ce71694..d73aaf82bbc 100644
--- a/src/devices/bus/a2bus/a2midi.cpp
+++ b/src/devices/bus/a2bus/a2midi.cpp
@@ -32,8 +32,7 @@ DEFINE_DEVICE_TYPE(A2BUS_MIDI, a2bus_midi_device, "a2midi", "6850 MIDI card")
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void a2bus_midi_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(a2bus_midi_device::device_add_mconfig)
PTM6840(config, m_ptm, 1021800);
m_ptm->set_external_clocks(1021800.0f, 1021800.0f, 1021800.0f);
m_ptm->irq_callback().set(FUNC(a2bus_midi_device::ptm_irq_w));
@@ -42,13 +41,14 @@ void a2bus_midi_device::device_add_mconfig(machine_config &config)
m_acia->txd_handler().set("mdout", FUNC(midi_port_device::write_txd));
m_acia->irq_handler().set(FUNC(a2bus_midi_device::acia_irq_w));
- MIDI_PORT(config, "mdin", midiin_slot, "midiin").rxd_handler().set(m_acia, FUNC(acia6850_device::write_rxd));
+ MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin")
+ MCFG_MIDI_RX_HANDLER(WRITELINE(MIDI_ACIA_TAG, acia6850_device, write_rxd))
- MIDI_PORT(config, "mdout", midiout_slot, "midiout");
+ MCFG_MIDI_PORT_ADD("mdout", midiout_slot, "midiout")
- clock_device &acia_clock(CLOCK(config, "acia_clock", 31250*16));
- acia_clock.signal_handler().set(FUNC(a2bus_midi_device::write_acia_clock));
-}
+ MCFG_DEVICE_ADD("acia_clock", CLOCK, 31250*16)
+ MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(*this, a2bus_midi_device, write_acia_clock))
+MACHINE_CONFIG_END
//**************************************************************************
// LIVE DEVICE
@@ -91,11 +91,11 @@ uint8_t a2bus_midi_device::read_c0nx(uint8_t offset)
if (offset < 8)
{
- return m_ptm->read(offset & 7);
+ return m_ptm->read(machine().dummy_space(), offset & 7);
}
else if (offset == 8 || offset == 9)
{
- return m_acia->read(offset & 1);
+ return m_acia->read(machine().dummy_space(), offset & 1);
}
return 0;
@@ -109,11 +109,11 @@ void a2bus_midi_device::write_c0nx(uint8_t offset, uint8_t data)
{
if (offset < 8)
{
- m_ptm->write(offset & 7, data);
+ m_ptm->write(machine().dummy_space(), offset & 7, data);
}
else if (offset == 8 || offset == 9)
{
- m_acia->write(offset & 1, data);
+ m_acia->write(machine().dummy_space(), offset & 1, data);
}
}
diff --git a/src/devices/bus/a2bus/a2mockingboard.cpp b/src/devices/bus/a2bus/a2mockingboard.cpp
index c4c45b6975b..c1d67bfa7d3 100644
--- a/src/devices/bus/a2bus/a2mockingboard.cpp
+++ b/src/devices/bus/a2bus/a2mockingboard.cpp
@@ -238,7 +238,7 @@ WRITE8_MEMBER( a2bus_ayboard_device::via1_out_b )
{
if (!BIT(data, 2))
{
- m_ay1->reset_w();
+ m_ay1->reset_w(space, 0, 0);
}
else
{
@@ -248,15 +248,15 @@ WRITE8_MEMBER( a2bus_ayboard_device::via1_out_b )
break;
case 1: // BDIR=0, BC1=1 (read PSG)
- m_porta1 = m_ay1->data_r();
+ m_porta1 = m_ay1->read_data();
break;
case 2: // BDIR=1, BC1=0 (write PSG)
- m_ay1->data_w(m_porta1);
+ m_ay1->write_data(m_porta1);
break;
case 3: // BDIR=1, BC1=1 (latch)
- m_ay1->address_w(m_porta1);
+ m_ay1->write_address(m_porta1);
break;
}
}
@@ -266,10 +266,10 @@ WRITE8_MEMBER( a2bus_phasor_device::via1_out_b )
{
if (!(data & 4))
{
- m_ay1->reset_w();
+ m_ay1->reset_w(space, 0, 0);
if (m_native)
{
- m_ay2->reset_w();
+ m_ay2->reset_w(space, 0, 0);
}
}
else
@@ -289,23 +289,23 @@ WRITE8_MEMBER( a2bus_phasor_device::via1_out_b )
case 1: // BDIR=0, BC1=1 (read PSG)
if (BIT(chip_sel, 0))
- m_porta1 = m_ay1->data_r();
+ m_porta1 = m_ay1->read_data();
if (BIT(chip_sel, 1))
- m_porta1 = m_ay2->data_r();
+ m_porta1 = m_ay2->read_data();
break;
case 2: // BDIR=1, BC1=0 (write PSG)
if (BIT(chip_sel, 0))
- m_ay1->data_w(m_porta1);
+ m_ay1->write_data(m_porta1);
if (BIT(chip_sel, 1))
- m_ay2->data_w(m_porta1);
+ m_ay2->write_data(m_porta1);
break;
case 3: // BDIR=1, BC1=1 (latch)
if (BIT(chip_sel, 0))
- m_ay1->address_w(m_porta1);
+ m_ay1->write_address(m_porta1);
if (BIT(chip_sel, 1))
- m_ay2->address_w(m_porta1);
+ m_ay2->write_address(m_porta1);
break;
}
}
@@ -320,7 +320,7 @@ WRITE8_MEMBER( a2bus_ayboard_device::via2_out_b )
{
if (!BIT(data, 2))
{
- m_ay2->reset_w();
+ m_ay2->reset_w(space, 0, 0);
}
else
{
@@ -330,15 +330,15 @@ WRITE8_MEMBER( a2bus_ayboard_device::via2_out_b )
break;
case 1: // BDIR=0, BC1=1 (read PSG)
- m_porta2 = m_ay2->data_r();
+ m_porta2 = m_ay2->read_data();
break;
case 2: // BDIR=1, BC1=0 (write PSG)
- m_ay2->data_w(m_porta2);
+ m_ay2->write_data(m_porta2);
break;
case 3: // BDIR=1, BC1=1 (latch)
- m_ay2->data_w(m_porta2);
+ m_ay2->write_data(m_porta2);
break;
}
}
@@ -350,12 +350,12 @@ WRITE8_MEMBER( a2bus_phasor_device::via2_out_b )
{
if (m_native)
{
- m_ay3->reset_w();
- m_ay4->reset_w();
+ m_ay3->reset_w(space, 0, 0);
+ m_ay4->reset_w(space, 0, 0);
}
else
{
- m_ay2->reset_w();
+ m_ay2->reset_w(space, 0, 0);
}
}
else
@@ -375,23 +375,23 @@ WRITE8_MEMBER( a2bus_phasor_device::via2_out_b )
case 1: // BDIR=0, BC1=1 (read PSG)
if (BIT(chip_sel, 0))
- m_porta2 = m_ay3->data_r();
+ m_porta2 = m_ay3->read_data();
if (BIT(chip_sel, 1))
- m_porta2 = m_ay4->data_r();
+ m_porta2 = m_ay4->read_data();
break;
case 2: // BDIR=1, BC1=0 (write PSG)
if (BIT(chip_sel, 0))
- m_ay3->data_w(m_porta2);
+ m_ay3->write_data(m_porta2);
if (BIT(chip_sel, 1))
- m_ay4->data_w(m_porta2);
+ m_ay4->write_data(m_porta2);
break;
case 3: // BDIR=1, BC1=1 (latch)
if (BIT(chip_sel, 0))
- m_ay3->address_w(m_porta2);
+ m_ay3->write_address(m_porta2);
if (BIT(chip_sel, 1))
- m_ay4->address_w(m_porta2);
+ m_ay4->write_address(m_porta2);
break;
}
}
diff --git a/src/devices/bus/a2bus/a2pic.cpp b/src/devices/bus/a2bus/a2pic.cpp
index 21c749eb50c..218d3ac6892 100644
--- a/src/devices/bus/a2bus/a2pic.cpp
+++ b/src/devices/bus/a2bus/a2pic.cpp
@@ -71,16 +71,14 @@ ioport_constructor a2bus_pic_device::device_input_ports() const
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void a2bus_pic_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(a2bus_pic_device::device_add_mconfig)
CENTRONICS(config, m_ctx, centronics_devices, "printer");
m_ctx->set_data_input_buffer(m_ctx_data_in);
m_ctx->ack_handler().set(FUNC(a2bus_pic_device::ack_w));
INPUT_BUFFER(config, m_ctx_data_in);
- OUTPUT_LATCH(config, m_ctx_data_out);
- m_ctx->set_output_latch(*m_ctx_data_out);
-}
+ MCFG_CENTRONICS_OUTPUT_LATCH_ADD("ctx_data_out", PIC_CENTRONICS_TAG)
+MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/a2bus/a2sam.cpp b/src/devices/bus/a2bus/a2sam.cpp
index 16b8b5affe8..21ea8d1fdca 100644
--- a/src/devices/bus/a2bus/a2sam.cpp
+++ b/src/devices/bus/a2bus/a2sam.cpp
@@ -31,14 +31,12 @@ DEFINE_DEVICE_TYPE(A2BUS_SAM, a2bus_sam_device, "a2sam", "Don't Ask Software S.A
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void a2bus_sam_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(a2bus_sam_device::device_add_mconfig)
SPEAKER(config, "speaker").front_center();
- DAC_8BIT_R2R(config, m_dac, 0).add_route(ALL_OUTPUTS, "speaker", 0.5); // unknown DAC
- voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref"));
- vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
- vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT);
-}
+ MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC
+ MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+MACHINE_CONFIG_END
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/a2bus/a2scsi.cpp b/src/devices/bus/a2bus/a2scsi.cpp
index 014414e7e98..ef3422e9783 100644
--- a/src/devices/bus/a2bus/a2scsi.cpp
+++ b/src/devices/bus/a2bus/a2scsi.cpp
@@ -50,6 +50,14 @@ DEFINE_DEVICE_TYPE(A2BUS_SCSI, a2bus_scsi_device, "a2scsi", "Apple II SCSI Card"
#define SCSI_BUS_TAG "scsibus"
#define SCSI_5380_TAG "scsibus:7:ncr5380"
+void a2bus_scsi_device::ncr5380(device_t *device)
+{
+ devcb_base *devcb;
+ (void)devcb;
+ MCFG_DEVICE_CLOCK(10000000)
+ MCFG_NCR5380N_DRQ_HANDLER(WRITELINE("^^", a2bus_scsi_device, drq_w))
+}
+
static void scsi_devices(device_slot_interface &device)
{
device.option_add("cdrom", NSCSI_CDROM);
@@ -70,21 +78,18 @@ ROM_END
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void a2bus_scsi_device::device_add_mconfig(machine_config &config)
-{
- NSCSI_BUS(config, m_scsibus);
- NSCSI_CONNECTOR(config, "scsibus:0", scsi_devices, nullptr, false);
- NSCSI_CONNECTOR(config, "scsibus:1", scsi_devices, nullptr, false);
- NSCSI_CONNECTOR(config, "scsibus:2", scsi_devices, nullptr, false);
- NSCSI_CONNECTOR(config, "scsibus:3", scsi_devices, nullptr, false);
- NSCSI_CONNECTOR(config, "scsibus:4", scsi_devices, nullptr, false);
- NSCSI_CONNECTOR(config, "scsibus:5", scsi_devices, nullptr, false);
- NSCSI_CONNECTOR(config, "scsibus:6", scsi_devices, "harddisk", false);
- NSCSI_CONNECTOR(config, "scsibus:7", scsi_devices, "ncr5380", true).set_option_machine_config("ncr5380", [this](device_t *device) {
- device->set_clock(10000000);
- downcast<ncr5380n_device &>(*device).drq_handler().set(*this, FUNC(a2bus_scsi_device::drq_w));
- });
-}
+MACHINE_CONFIG_START(a2bus_scsi_device::device_add_mconfig)
+ MCFG_NSCSI_BUS_ADD(SCSI_BUS_TAG)
+ MCFG_NSCSI_ADD("scsibus:0", scsi_devices, nullptr, false)
+ MCFG_NSCSI_ADD("scsibus:1", scsi_devices, nullptr, false)
+ MCFG_NSCSI_ADD("scsibus:2", scsi_devices, nullptr, false)
+ MCFG_NSCSI_ADD("scsibus:3", scsi_devices, nullptr, false)
+ MCFG_NSCSI_ADD("scsibus:4", scsi_devices, nullptr, false)
+ MCFG_NSCSI_ADD("scsibus:5", scsi_devices, nullptr, false)
+ MCFG_NSCSI_ADD("scsibus:6", scsi_devices, "harddisk", false)
+ MCFG_NSCSI_ADD("scsibus:7", scsi_devices, "ncr5380", true)
+ MCFG_SLOT_OPTION_MACHINE_CONFIG("ncr5380", ncr5380)
+MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region
@@ -154,7 +159,7 @@ uint8_t a2bus_scsi_device::read_c0nx(uint8_t offset)
case 6:
case 7:
// logerror("Read 5380 @ %x\n", offset);
- return m_ncr5380->read(offset);
+ return m_ncr5380->read(machine().dummy_space(), offset);
case 8: // read and DACK
return m_ncr5380->dma_r();
@@ -194,7 +199,7 @@ void a2bus_scsi_device::write_c0nx(uint8_t offset, uint8_t data)
case 6:
case 7:
// logerror("%02x to 5380 reg %x\n", data, offset);
- m_ncr5380->write(offset, data);
+ m_ncr5380->write(machine().dummy_space(), offset, data);
break;
case 8: // write and DACK
diff --git a/src/devices/bus/a2bus/a2scsi.h b/src/devices/bus/a2bus/a2scsi.h
index f1a556eeab7..d9d143da6e9 100644
--- a/src/devices/bus/a2bus/a2scsi.h
+++ b/src/devices/bus/a2bus/a2scsi.h
@@ -30,6 +30,8 @@ public:
DECLARE_WRITE_LINE_MEMBER( drq_w );
+ static void ncr5380(device_t *device);
+
protected:
a2bus_scsi_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
diff --git a/src/devices/bus/a2bus/a2softcard.cpp b/src/devices/bus/a2bus/a2softcard.cpp
index d41c84b9425..b8c71153e7b 100644
--- a/src/devices/bus/a2bus/a2softcard.cpp
+++ b/src/devices/bus/a2bus/a2softcard.cpp
@@ -82,7 +82,7 @@ void a2bus_softcard_device::write_cnxx(uint8_t offset, uint8_t data)
if (!m_bEnabled)
{
m_z80->set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
- raise_slot_dma();
+ set_maincpu_halt(ASSERT_LINE);
if (m_FirstZ80Boot)
{
@@ -95,7 +95,7 @@ void a2bus_softcard_device::write_cnxx(uint8_t offset, uint8_t data)
else
{
m_z80->set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
- lower_slot_dma();
+ set_maincpu_halt(CLEAR_LINE);
m_bEnabled = false;
}
}
@@ -106,27 +106,27 @@ READ8_MEMBER( a2bus_softcard_device::dma_r )
{
if (offset <= 0xafff)
{
- return slot_dma_read(offset+0x1000);
+ return slot_dma_read(space, offset+0x1000);
}
else if (offset <= 0xbfff) // LC bank 2 d000-dfff
{
- return slot_dma_read((offset&0xfff) + 0xd000);
+ return slot_dma_read(space, (offset&0xfff) + 0xd000);
}
else if (offset <= 0xcfff) // LC e000-efff
{
- return slot_dma_read((offset&0xfff) + 0xe000);
+ return slot_dma_read(space, (offset&0xfff) + 0xe000);
}
else if (offset <= 0xdfff) // LC f000-ffff (or ROM?)
{
- return slot_dma_read((offset&0xfff) + 0xf000);
+ return slot_dma_read(space, (offset&0xfff) + 0xf000);
}
else if (offset <= 0xefff) // I/O space c000-cfff
{
- return slot_dma_read((offset&0xfff) + 0xc000);
+ return slot_dma_read(space, (offset&0xfff) + 0xc000);
}
else // zero page
{
- return slot_dma_read(offset&0xfff);
+ return slot_dma_read(space, offset&0xfff);
}
}
@@ -144,27 +144,27 @@ WRITE8_MEMBER( a2bus_softcard_device::dma_w )
{
if (offset <= 0xafff)
{
- slot_dma_write(offset+0x1000, data);
+ slot_dma_write(space, offset+0x1000, data);
}
else if (offset <= 0xbfff) // LC bank 2 d000-dfff
{
- slot_dma_write((offset&0xfff) + 0xd000, data);
+ slot_dma_write(space, (offset&0xfff) + 0xd000, data);
}
else if (offset <= 0xcfff) // LC e000-efff
{
- slot_dma_write((offset&0xfff) + 0xe000, data);
+ slot_dma_write(space, (offset&0xfff) + 0xe000, data);
}
else if (offset <= 0xdfff) // LC f000-ffff (or ROM?)
{
- slot_dma_write((offset&0xfff) + 0xf000, data);
+ slot_dma_write(space, (offset&0xfff) + 0xf000, data);
}
else if (offset <= 0xefff) // I/O space c000-cfff
{
- slot_dma_write((offset&0xfff) + 0xc000, data);
+ slot_dma_write(space, (offset&0xfff) + 0xc000, data);
}
else // zero page
{
- slot_dma_write(offset&0xfff, data);
+ slot_dma_write(space, offset&0xfff, data);
}
}
}
diff --git a/src/devices/bus/a2bus/a2ssc.cpp b/src/devices/bus/a2bus/a2ssc.cpp
index 773f4db246f..0261835e1d7 100644
--- a/src/devices/bus/a2bus/a2ssc.cpp
+++ b/src/devices/bus/a2bus/a2ssc.cpp
@@ -189,7 +189,7 @@ uint8_t a2bus_ssc_device::read_c0nx(uint8_t offset)
case 9:
case 0xa:
case 0xb:
- return m_acia->read(offset-8);
+ return m_acia->read(machine().dummy_space(), offset-8);
}
@@ -208,7 +208,7 @@ void a2bus_ssc_device::write_c0nx(uint8_t offset, uint8_t data)
case 9:
case 0xa:
case 0xb:
- m_acia->write(offset-8, data);
+ m_acia->write(machine().dummy_space(), offset-8, data);
break;
}
}
diff --git a/src/devices/bus/a2bus/a2themill.cpp b/src/devices/bus/a2bus/a2themill.cpp
index 14474662ef8..effa5ac9cfb 100644
--- a/src/devices/bus/a2bus/a2themill.cpp
+++ b/src/devices/bus/a2bus/a2themill.cpp
@@ -238,34 +238,34 @@ READ8_MEMBER( a2bus_themill_device::dma_r )
{
if (offset <= 0x7fff)
{
- return slot_dma_read(offset+0x1000);
+ return slot_dma_read(space, offset+0x1000);
}
else if (offset <= 0xafff)
{
- return slot_dma_read((offset&0x3fff) + 0xd000);
+ return slot_dma_read(space, (offset&0x3fff) + 0xd000);
}
else if (offset <= 0xbfff)
{
- return slot_dma_read((offset&0xfff) + 0xc000);
+ return slot_dma_read(space, (offset&0xfff) + 0xc000);
}
else if (offset <= 0xcfff) // 6809 Cxxx -> 6502 ZP
{
- return slot_dma_read((offset&0xfff));
+ return slot_dma_read(space, (offset&0xfff));
}
else // 6809 Dxxx -> 6502 9000
{
- return slot_dma_read((offset-0xd000)+0x9000);
+ return slot_dma_read(space, (offset-0xd000)+0x9000);
}
}
else
{
if (m_flipAddrSpace)
{
- return slot_dma_read(offset^0x8000);
+ return slot_dma_read(space, offset^0x8000);
}
else
{
- return slot_dma_read(offset);
+ return slot_dma_read(space, offset);
}
}
@@ -283,34 +283,34 @@ WRITE8_MEMBER( a2bus_themill_device::dma_w )
{
if (offset <= 0x7fff)
{
- slot_dma_write(offset+0x1000, data);
+ slot_dma_write(space, offset+0x1000, data);
}
else if (offset <= 0xafff)
{
- slot_dma_write((offset&0x3fff) + 0xd000, data);
+ slot_dma_write(space, (offset&0x3fff) + 0xd000, data);
}
else if (offset <= 0xbfff)
{
- slot_dma_write((offset&0xfff) + 0xc000, data);
+ slot_dma_write(space, (offset&0xfff) + 0xc000, data);
}
else if (offset <= 0xcfff)
{
- slot_dma_write((offset&0xfff), data);
+ slot_dma_write(space, (offset&0xfff), data);
}
else // 6809 Dxxx -> 6502 9000
{
- slot_dma_write((offset-0xd000)+0x9000, data);
+ slot_dma_write(space, (offset-0xd000)+0x9000, data);
}
}
else
{
if (m_flipAddrSpace)
{
- slot_dma_write(offset^0x8000, data);
+ slot_dma_write(space, offset^0x8000, data);
}
else
{
- slot_dma_write(offset, data);
+ slot_dma_write(space, offset, data);
}
}
}
diff --git a/src/devices/bus/a2bus/a2ultraterm.cpp b/src/devices/bus/a2bus/a2ultraterm.cpp
index fd8fb2a895a..9ea36ea2496 100644
--- a/src/devices/bus/a2bus/a2ultraterm.cpp
+++ b/src/devices/bus/a2bus/a2ultraterm.cpp
@@ -104,11 +104,10 @@ ROM_END
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void a2bus_videx160_device::device_add_mconfig(machine_config &config)
-{
- screen_device &screen(SCREEN(config, ULTRATERM_SCREEN_NAME, SCREEN_TYPE_RASTER));
- screen.set_raw(CLOCK_LOW, 882, 0, 720, 370, 0, 350);
- screen.set_screen_update(ULTRATERM_MC6845_NAME, FUNC(mc6845_device::screen_update));
+MACHINE_CONFIG_START(a2bus_videx160_device::device_add_mconfig)
+ MCFG_SCREEN_ADD( ULTRATERM_SCREEN_NAME, RASTER)
+ MCFG_SCREEN_RAW_PARAMS(CLOCK_LOW, 882, 0, 720, 370, 0, 350 )
+ MCFG_SCREEN_UPDATE_DEVICE( ULTRATERM_MC6845_NAME, mc6845_device, screen_update )
MC6845(config, m_crtc, CLOCK_LOW/9);
m_crtc->set_screen(ULTRATERM_SCREEN_NAME);
@@ -116,7 +115,7 @@ void a2bus_videx160_device::device_add_mconfig(machine_config &config)
m_crtc->set_char_width(8);
m_crtc->set_update_row_callback(FUNC(a2bus_videx160_device::crtc_update_row), this);
m_crtc->out_vsync_callback().set(FUNC(a2bus_videx160_device::vsync_changed));
-}
+MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region
@@ -195,7 +194,7 @@ uint8_t a2bus_videx160_device::read_c0nx(uint8_t offset)
switch (offset)
{
case 1:
- return m_crtc->register_r(); // status_r?
+ return m_crtc->read_register(); // status_r?
case 2:
return m_ctrl1;
@@ -219,11 +218,11 @@ void a2bus_videx160_device::write_c0nx(uint8_t offset, uint8_t data)
switch (offset)
{
case 0:
- m_crtc->address_w(data);
+ m_crtc->write_address(data);
break;
case 1:
- m_crtc->register_w(data);
+ m_crtc->write_register(data);
break;
case 2:
diff --git a/src/devices/bus/a2bus/a2videoterm.cpp b/src/devices/bus/a2bus/a2videoterm.cpp
index 35cb657afd9..519496b1b1b 100644
--- a/src/devices/bus/a2bus/a2videoterm.cpp
+++ b/src/devices/bus/a2bus/a2videoterm.cpp
@@ -117,11 +117,10 @@ ROM_END
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void a2bus_videx80_device::device_add_mconfig(machine_config &config)
-{
- screen_device &screen(SCREEN(config, VIDEOTERM_SCREEN_NAME, SCREEN_TYPE_RASTER)); // 560x216? (80x24 7x9 characters)
- screen.set_raw(MDA_CLOCK, 882, 0, 720, 370, 0, 350);
- screen.set_screen_update(VIDEOTERM_MC6845_NAME, FUNC(mc6845_device::screen_update));
+MACHINE_CONFIG_START(a2bus_videx80_device::device_add_mconfig)
+ MCFG_SCREEN_ADD( VIDEOTERM_SCREEN_NAME, RASTER) // 560x216? (80x24 7x9 characters)
+ MCFG_SCREEN_RAW_PARAMS(MDA_CLOCK, 882, 0, 720, 370, 0, 350 )
+ MCFG_SCREEN_UPDATE_DEVICE( VIDEOTERM_MC6845_NAME, mc6845_device, screen_update )
MC6845(config, m_crtc, MDA_CLOCK/9);
m_crtc->set_screen(VIDEOTERM_SCREEN_NAME);
@@ -129,7 +128,7 @@ void a2bus_videx80_device::device_add_mconfig(machine_config &config)
m_crtc->set_char_width(8);
m_crtc->set_update_row_callback(FUNC(a2bus_videx80_device::crtc_update_row), this);
m_crtc->out_vsync_callback().set(FUNC(a2bus_videx80_device::vsync_changed));
-}
+MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region
@@ -241,7 +240,7 @@ uint8_t a2bus_videx80_device::read_c0nx(uint8_t offset)
if (offset == 1)
{
- return m_crtc->register_r(); // status_r?
+ return m_crtc->read_register(); // status_r?
}
return 0xff;
@@ -256,11 +255,11 @@ void a2bus_videx80_device::write_c0nx(uint8_t offset, uint8_t data)
{
if (offset == 0)
{
- m_crtc->address_w(data);
+ m_crtc->write_address(data);
}
else if (offset == 1)
{
- m_crtc->register_w(data);
+ m_crtc->write_register(data);
}
m_rambank = ((offset>>2) & 3) * 512;
diff --git a/src/devices/bus/a2bus/a2zipdrive.cpp b/src/devices/bus/a2bus/a2zipdrive.cpp
index 41034fab231..aaeb6ed6219 100644
--- a/src/devices/bus/a2bus/a2zipdrive.cpp
+++ b/src/devices/bus/a2bus/a2zipdrive.cpp
@@ -2,19 +2,16 @@
// copyright-holders:R. Belmont
/*********************************************************************
- a2zipdrive.cpp
+ a2zipdrive.c
ZIP Technologies ZipDrive IDE card
- Parsons Engineering Focus Drive IDE card
- These cards are very, very similar. Maybe Parsons designed both?
-
- NOTE: No known dump exists of the Zip formatter utility and the
+ NOTE: No known dump exists of the formatter utility and the
format of the custom partition record (block 0) that the card
expects has not yet been determined, so this is largely untested
and will work only with a drive dump from real h/w.
- PLEASE use it only on a backup copy of said dump and contact MAMEdev
+ PLEASE use it only on a backup copy of said dump and contact MESSdev
if you have one!
Partition block format:
@@ -32,7 +29,6 @@
//**************************************************************************
DEFINE_DEVICE_TYPE(A2BUS_ZIPDRIVE, a2bus_zipdrive_device, "a2zipdrv", "Zip Technologies ZipDrive")
-DEFINE_DEVICE_TYPE(A2BUS_FOCUSDRIVE, a2bus_focusdrive_device, "a2focdrv", "Parsons Engineering Focus Drive")
#define ZIPDRIVE_ROM_REGION "zipdrive_rom"
#define ZIPDRIVE_ATA_TAG "zipdrive_ata"
@@ -42,11 +38,6 @@ ROM_START( zipdrive )
ROM_LOAD( "zip drive - rom.bin", 0x000000, 0x002000, CRC(fd800a40) SHA1(46636bfed88c864139e3d2826661908a8c07c459) )
ROM_END
-ROM_START( focusdrive )
- ROM_REGION(0x2000, ZIPDRIVE_ROM_REGION, 0)
- ROM_LOAD( "focusrom.bin", 0x001000, 0x001000, CRC(0fd0ba25) SHA1(acf414aa145fcfa1c12aca0269f1f7ada82f1c04) )
-ROM_END
-
/***************************************************************************
FUNCTION PROTOTYPES
***************************************************************************/
@@ -69,11 +60,6 @@ const tiny_rom_entry *a2bus_zipdrivebase_device::device_rom_region() const
return ROM_NAME( zipdrive );
}
-const tiny_rom_entry *a2bus_focusdrive_device::device_rom_region() const
-{
- return ROM_NAME( focusdrive );
-}
-
//**************************************************************************
// LIVE DEVICE
//**************************************************************************
@@ -90,11 +76,6 @@ a2bus_zipdrive_device::a2bus_zipdrive_device(const machine_config &mconfig, cons
{
}
-a2bus_focusdrive_device::a2bus_focusdrive_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- a2bus_zipdrivebase_device(mconfig, A2BUS_FOCUSDRIVE, tag, owner, clock)
-{
-}
-
//-------------------------------------------------
// device_start - device-specific startup
//-------------------------------------------------
@@ -108,12 +89,9 @@ void a2bus_zipdrivebase_device::device_start()
void a2bus_zipdrivebase_device::device_reset()
{
+ popmessage("Zip Drive partition format unknown, contact MESSdev if you have the software or a drive dump!");
}
-void a2bus_focusdrive_device::device_reset()
-{
- m_rom[0x1c6c] = 0x03; // eat 3 IDE words here instead of 1, fixes a bug? in the original ROM
-}
/*-------------------------------------------------
read_c0nx - called for reads from this card's c0nx space
@@ -134,7 +112,7 @@ uint8_t a2bus_zipdrivebase_device::read_c0nx(uint8_t offset)
return m_ata->read_cs0(offset, 0xff);
case 8: // data port
- m_lastdata = m_ata->read_cs0(offset, 0xffff);
+ m_lastdata = m_ata->read_cs0(offset);
// printf("%04x @ IDE data\n", m_lastdata);
return m_lastdata&0xff;
@@ -142,42 +120,13 @@ uint8_t a2bus_zipdrivebase_device::read_c0nx(uint8_t offset)
return (m_lastdata>>8) & 0xff;
default:
- logerror("unhandled read @ C0n%x\n", offset);
+ logerror("a2zipdrive: unhandled read @ C0n%x\n", offset);
break;
}
return 0xff;
}
-uint8_t a2bus_focusdrive_device::read_c0nx(uint8_t offset)
-{
- switch (offset)
- {
- case 8:
- case 9:
- case 0xa:
- case 0xb:
- case 0xc:
- case 0xd:
- case 0xe:
- case 0xf:
- return m_ata->read_cs0(offset&7, 0xff);
-
- case 0: // data port
- m_lastdata = m_ata->read_cs0(offset, 0xffff);
- //printf("%04x @ IDE data\n", m_lastdata);
- return m_lastdata&0xff;
-
- case 1:
- return (m_lastdata>>8) & 0xff;
-
- default:
- logerror("unhandled read @ C0n%x\n", offset);
- break;
- }
-
- return 0xff;
-}
/*-------------------------------------------------
write_c0nx - called for writes to this card's c0nx space
@@ -208,7 +157,7 @@ void a2bus_zipdrivebase_device::write_c0nx(uint8_t offset, uint8_t data)
// printf("%02x to IDE data hi\n", data);
m_lastdata &= 0x00ff;
m_lastdata |= (data << 8);
- m_ata->write_cs0(0, m_lastdata, 0xffff);
+ m_ata->write_cs0(0, m_lastdata);
break;
default:
@@ -217,48 +166,6 @@ void a2bus_zipdrivebase_device::write_c0nx(uint8_t offset, uint8_t data)
}
}
-void a2bus_focusdrive_device::write_c0nx(uint8_t offset, uint8_t data)
-{
- switch (offset)
- {
- case 8:
- case 9:
- case 0xa:
- case 0xb:
- case 0xc:
- case 0xd:
- case 0xe:
- case 0xf:
- // due to a bug in the 6502 firmware, eat data if DRQ is set
- #if 0
- while (m_ata->read_cs0(7, 0xff) & 0x08)
- {
- m_ata->read_cs0(0, 0xffff);
- printf("eating 2 bytes to clear DRQ\n");
- }
- #endif
-// printf("%02x to IDE controller @ %x\n", data, offset);
- m_ata->write_cs0(offset & 7, data, 0xff);
- break;
-
- case 0:
-// printf("%02x to IDE data lo\n", data);
- m_lastdata = data;
- break;
-
- case 1:
-// printf("%02x to IDE data hi\n", data);
- m_lastdata &= 0x00ff;
- m_lastdata |= (data << 8);
- m_ata->write_cs0(0, m_lastdata, 0xffff);
- break;
-
- default:
- printf("focus: write %02x @ unhandled C0n%x\n", data, offset);
- break;
- }
-}
-
/*-------------------------------------------------
read_cnxx - called for reads from this card's cnxx space
-------------------------------------------------*/
diff --git a/src/devices/bus/a2bus/a2zipdrive.h b/src/devices/bus/a2bus/a2zipdrive.h
index 9e3e68e79f2..8187e04cdd2 100644
--- a/src/devices/bus/a2bus/a2zipdrive.h
+++ b/src/devices/bus/a2bus/a2zipdrive.h
@@ -5,9 +5,8 @@
a2zipdrive.h
ZIP Technologies ZipDrive IDE card
- Parsons Engineering Focus Drive IDE card
- See important NOTE at the top of a2zipdrive.cpp!
+ See important NOTE at the top of a2zipdrive.c!
*********************************************************************/
@@ -45,6 +44,8 @@ protected:
required_device<ata_interface_device> m_ata;
uint8_t *m_rom;
+
+private:
uint16_t m_lastdata;
};
@@ -54,20 +55,7 @@ public:
a2bus_zipdrive_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
};
-class a2bus_focusdrive_device : public a2bus_zipdrivebase_device
-{
-public:
- a2bus_focusdrive_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
-protected:
- virtual void device_reset() override;
- virtual const tiny_rom_entry *device_rom_region() const override;
- virtual uint8_t read_c0nx(uint8_t offset) override;
- virtual void write_c0nx(uint8_t offset, uint8_t data) override;
-};
-
// device type definition
DECLARE_DEVICE_TYPE(A2BUS_ZIPDRIVE, a2bus_zipdrive_device)
-DECLARE_DEVICE_TYPE(A2BUS_FOCUSDRIVE, a2bus_focusdrive_device)
#endif // MAME_BUS_A2BUS_ZIPDRIVE_H
diff --git a/src/devices/bus/a2bus/agat7ports.cpp b/src/devices/bus/a2bus/agat7ports.cpp
index 5c24d8fac8f..d7c12ad81d9 100644
--- a/src/devices/bus/a2bus/agat7ports.cpp
+++ b/src/devices/bus/a2bus/agat7ports.cpp
@@ -51,20 +51,18 @@ INPUT_PORTS_END
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void a2bus_agat7_ports_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(a2bus_agat7_ports_device::device_add_mconfig)
I8255(config, m_d9);
m_d9->out_pa_callback().set("cent_data_out", FUNC(output_latch_device::bus_w));
m_d9->out_pb_callback().set(FUNC(a2bus_agat7_ports_device::write_portb));
m_d9->in_pc_callback().set(FUNC(a2bus_agat7_ports_device::read_portc));
- CENTRONICS(config, m_centronics, centronics_devices, "printer");
- m_centronics->busy_handler().set(FUNC(a2bus_agat7_ports_device::write_centronics_busy));
- output_latch_device &cent_data_out(OUTPUT_LATCH(config, "cent_data_out"));
- m_centronics->set_output_latch(cent_data_out);
+ MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
+ MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, a2bus_agat7_ports_device, write_centronics_busy))
+ MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
I8251(config, m_d10, 0);
-}
+MACHINE_CONFIG_END
//-------------------------------------------------
// input_ports - device-specific input ports
diff --git a/src/devices/bus/a2bus/agat840k_hle.cpp b/src/devices/bus/a2bus/agat840k_hle.cpp
index c95d66a09e9..3571513b7d5 100644
--- a/src/devices/bus/a2bus/agat840k_hle.cpp
+++ b/src/devices/bus/a2bus/agat840k_hle.cpp
@@ -51,12 +51,13 @@ static const floppy_interface agat840k_hle_floppy_interface =
"floppy_5_25"
};
-void a2bus_agat840k_hle_device::device_add_mconfig(machine_config &config)
-{
- legacy_floppy_image_device &floppy0(LEGACY_FLOPPY(config, FLOPPY_0, 0, &agat840k_hle_floppy_interface));
- floppy0.out_idx_cb().set(FUNC(a2bus_agat840k_hle_device::index_0_w));
- legacy_floppy_image_device &floppy1(LEGACY_FLOPPY(config, FLOPPY_1, 0, &agat840k_hle_floppy_interface));
- floppy1.out_idx_cb().set(FUNC(a2bus_agat840k_hle_device::index_1_w));
+MACHINE_CONFIG_START(a2bus_agat840k_hle_device::device_add_mconfig)
+ MCFG_DEVICE_ADD(FLOPPY_0, LEGACY_FLOPPY, 0)
+ MCFG_LEGACY_FLOPPY_CONFIG(agat840k_hle_floppy_interface)
+ MCFG_LEGACY_FLOPPY_IDX_CB(WRITELINE(*this, a2bus_agat840k_hle_device, index_0_w))
+ MCFG_DEVICE_ADD(FLOPPY_1, LEGACY_FLOPPY, 0)
+ MCFG_LEGACY_FLOPPY_CONFIG(agat840k_hle_floppy_interface)
+ MCFG_LEGACY_FLOPPY_IDX_CB(WRITELINE(*this, a2bus_agat840k_hle_device, index_1_w))
I8255(config, m_d14);
// PA not connected
@@ -68,7 +69,7 @@ void a2bus_agat840k_hle_device::device_add_mconfig(machine_config &config)
// m_d15->out_pb_callback().set(FUNC(a2bus_agat840k_hle_device::d15_o_b)); // write data
m_d15->in_pc_callback().set(FUNC(a2bus_agat840k_hle_device::d15_i_c));
m_d15->out_pc_callback().set(FUNC(a2bus_agat840k_hle_device::d15_o_c));
-}
+MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/a2bus/corvfdc02.cpp b/src/devices/bus/a2bus/corvfdc02.cpp
index 36f5dbbd09c..7d4bc6ed785 100644
--- a/src/devices/bus/a2bus/corvfdc02.cpp
+++ b/src/devices/bus/a2bus/corvfdc02.cpp
@@ -132,10 +132,10 @@ uint8_t a2bus_corvfdc02_device::read_c0nx(uint8_t offset)
switch (offset)
{
case 0: // 765 FIFO
- return m_fdc->fifo_r();
+ return m_fdc->read_fifo();
case 1: // 765 MSR
- return m_fdc->msr_r();
+ return m_fdc->read_msr();
case 2: // buffer address
return (m_bufptr>>1) & 0xff;
@@ -170,7 +170,7 @@ void a2bus_corvfdc02_device::write_c0nx(uint8_t offset, uint8_t data)
switch (offset)
{
case 0: // FDC FIFO write
- m_fdc->fifo_w(data);
+ m_fdc->write_fifo(data);
break;
case 1: // FDC ???
diff --git a/src/devices/bus/a2bus/ezcgi.cpp b/src/devices/bus/a2bus/ezcgi.cpp
index a9bc648f08e..ec9dce1cad4 100644
--- a/src/devices/bus/a2bus/ezcgi.cpp
+++ b/src/devices/bus/a2bus/ezcgi.cpp
@@ -48,35 +48,33 @@ void a2bus_ezcgi_device::device_add_mconfig(machine_config &config)
SCREEN(config, SCREEN_TAG, SCREEN_TYPE_RASTER);
}
-void a2bus_ezcgi_9938_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(a2bus_ezcgi_9938_device::device_add_mconfig)
V9938(config, m_tms, XTAL(21'477'272)); // typical 9938 clock, not verified
m_tms->set_vram_size(0x30000); // 192K of VRAM
m_tms->set_screen(SCREEN_TAG);
m_tms->int_cb().set(FUNC(a2bus_ezcgi_9938_device::tms_irq_w));
- screen_device &screen(SCREEN(config, SCREEN_TAG, SCREEN_TYPE_RASTER));
- screen.set_video_attributes(VIDEO_UPDATE_BEFORE_VBLANK);
- screen.set_refresh_hz(60);
- screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
- screen.set_size(MSX2_TOTAL_XRES_PIXELS, 262*2);
- screen.set_visarea(MSX2_XBORDER_PIXELS - MSX2_VISIBLE_XBORDER_PIXELS, MSX2_TOTAL_XRES_PIXELS - MSX2_XBORDER_PIXELS + MSX2_VISIBLE_XBORDER_PIXELS - 1, MSX2_YBORDER_PIXELS - MSX2_VISIBLE_YBORDER_PIXELS, MSX2_TOTAL_YRES_PIXELS - MSX2_YBORDER_PIXELS + MSX2_VISIBLE_YBORDER_PIXELS - 1);
-}
+ MCFG_SCREEN_ADD(SCREEN_TAG, RASTER)
+ MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
+ MCFG_SCREEN_REFRESH_RATE(60)
+ MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
+ MCFG_SCREEN_SIZE(MSX2_TOTAL_XRES_PIXELS, 262*2)
+ MCFG_SCREEN_VISIBLE_AREA(MSX2_XBORDER_PIXELS - MSX2_VISIBLE_XBORDER_PIXELS, MSX2_TOTAL_XRES_PIXELS - MSX2_XBORDER_PIXELS + MSX2_VISIBLE_XBORDER_PIXELS - 1, MSX2_YBORDER_PIXELS - MSX2_VISIBLE_YBORDER_PIXELS, MSX2_TOTAL_YRES_PIXELS - MSX2_YBORDER_PIXELS + MSX2_VISIBLE_YBORDER_PIXELS - 1)
+MACHINE_CONFIG_END
-void a2bus_ezcgi_9958_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(a2bus_ezcgi_9958_device::device_add_mconfig)
V9958(config, m_tms, XTAL(21'477'272)); // typical 9938/9958 clock, not verified
m_tms->set_vram_size(0x30000); // 192K of VRAM
m_tms->set_screen(SCREEN_TAG);
m_tms->int_cb().set(FUNC(a2bus_ezcgi_9958_device::tms_irq_w));
- screen_device &screen(SCREEN(config, SCREEN_TAG, SCREEN_TYPE_RASTER));
- screen.set_video_attributes(VIDEO_UPDATE_BEFORE_VBLANK);
- screen.set_refresh_hz(60);
- screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
- screen.set_size(MSX2_TOTAL_XRES_PIXELS, 262*2);
- screen.set_visarea(MSX2_XBORDER_PIXELS - MSX2_VISIBLE_XBORDER_PIXELS, MSX2_TOTAL_XRES_PIXELS - MSX2_XBORDER_PIXELS + MSX2_VISIBLE_XBORDER_PIXELS - 1, MSX2_YBORDER_PIXELS - MSX2_VISIBLE_YBORDER_PIXELS, MSX2_TOTAL_YRES_PIXELS - MSX2_YBORDER_PIXELS + MSX2_VISIBLE_YBORDER_PIXELS - 1);
-}
+ MCFG_SCREEN_ADD(SCREEN_TAG, RASTER)
+ MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
+ MCFG_SCREEN_REFRESH_RATE(60)
+ MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
+ MCFG_SCREEN_SIZE(MSX2_TOTAL_XRES_PIXELS, 262*2)
+ MCFG_SCREEN_VISIBLE_AREA(MSX2_XBORDER_PIXELS - MSX2_VISIBLE_XBORDER_PIXELS, MSX2_TOTAL_XRES_PIXELS - MSX2_XBORDER_PIXELS + MSX2_VISIBLE_XBORDER_PIXELS - 1, MSX2_YBORDER_PIXELS - MSX2_VISIBLE_YBORDER_PIXELS, MSX2_TOTAL_YRES_PIXELS - MSX2_YBORDER_PIXELS + MSX2_VISIBLE_YBORDER_PIXELS - 1)
+MACHINE_CONFIG_END
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/a2bus/laser128.cpp b/src/devices/bus/a2bus/laser128.cpp
index e0c7626aa93..dc7ae4fea21 100644
--- a/src/devices/bus/a2bus/laser128.cpp
+++ b/src/devices/bus/a2bus/laser128.cpp
@@ -32,9 +32,8 @@ DEFINE_DEVICE_TYPE(A2BUS_LASER128, a2bus_laser128_device, "a2laser128", "VTech L
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void a2bus_laser128_device::device_add_mconfig(machine_config &config)
-{
-}
+MACHINE_CONFIG_START(a2bus_laser128_device::device_add_mconfig)
+MACHINE_CONFIG_END
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/a2bus/mouse.cpp b/src/devices/bus/a2bus/mouse.cpp
index a960c74e52c..e95bb6f019a 100644
--- a/src/devices/bus/a2bus/mouse.cpp
+++ b/src/devices/bus/a2bus/mouse.cpp
@@ -203,7 +203,7 @@ void a2bus_mouse_device::device_reset()
uint8_t a2bus_mouse_device::read_c0nx(uint8_t offset)
{
- return m_pia->read(offset & 3);
+ return m_pia->reg_r(offset & 3);
}
/*-------------------------------------------------
@@ -212,7 +212,7 @@ uint8_t a2bus_mouse_device::read_c0nx(uint8_t offset)
void a2bus_mouse_device::write_c0nx(uint8_t offset, uint8_t data)
{
- m_pia->write(offset & 3, data);
+ m_pia->reg_w(offset & 3, data);
}
/*-------------------------------------------------
diff --git a/src/devices/bus/a2bus/pc_xporter.cpp b/src/devices/bus/a2bus/pc_xporter.cpp
index 305da9aa868..6334463533b 100644
--- a/src/devices/bus/a2bus/pc_xporter.cpp
+++ b/src/devices/bus/a2bus/pc_xporter.cpp
@@ -115,15 +115,14 @@ void a2bus_pcxporter_device::pc_io(address_map &map)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void a2bus_pcxporter_device::device_add_mconfig(machine_config &config)
-{
- V30(config, m_v30, A2BUS_7M_CLOCK); // 7.16 MHz as per manual
- m_v30->set_addrmap(AS_PROGRAM, &a2bus_pcxporter_device::pc_map);
- m_v30->set_addrmap(AS_IO, &a2bus_pcxporter_device::pc_io);
- m_v30->set_irq_acknowledge_callback("pic8259", FUNC(pic8259_device::inta_cb));
- m_v30->set_disable();
-
- PIT8253(config, m_pit8253);
+MACHINE_CONFIG_START(a2bus_pcxporter_device::device_add_mconfig)
+ MCFG_DEVICE_ADD(m_v30, V30, A2BUS_7M_CLOCK) // 7.16 MHz as per manual
+ MCFG_DEVICE_PROGRAM_MAP(pc_map)
+ MCFG_DEVICE_IO_MAP(pc_io)
+ MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("pic8259", pic8259_device, inta_cb)
+ MCFG_DEVICE_DISABLE()
+
+ PIT8253(config, m_pit8253, 0);
m_pit8253->set_clk<0>(A2BUS_7M_CLOCK / 6.0); // heartbeat IRQ
m_pit8253->out_handler<0>().set(m_pic8259, FUNC(pic8259_device::ir0_w));
m_pit8253->set_clk<1>(A2BUS_7M_CLOCK / 6.0); // DRAM refresh
@@ -148,12 +147,11 @@ void a2bus_pcxporter_device::device_add_mconfig(machine_config &config)
m_dma8237->out_dack_callback<2>().set(FUNC(a2bus_pcxporter_device::pc_dack2_w));
m_dma8237->out_dack_callback<3>().set(FUNC(a2bus_pcxporter_device::pc_dack3_w));
- PIC8259(config, m_pic8259);
+ PIC8259(config, m_pic8259, 0);
m_pic8259->out_int_callback().set_inputline(m_v30, 0);
ISA8(config, m_isabus, 0);
- m_isabus->set_memspace(m_v30, AS_PROGRAM);
- m_isabus->set_iospace(m_v30, AS_IO);
+ m_isabus->set_cputag(m_v30);
m_isabus->irq2_callback().set(m_pic8259, FUNC(pic8259_device::ir2_w));
m_isabus->irq3_callback().set(m_pic8259, FUNC(pic8259_device::ir3_w));
m_isabus->irq4_callback().set(m_pic8259, FUNC(pic8259_device::ir4_w));
@@ -164,18 +162,18 @@ void a2bus_pcxporter_device::device_add_mconfig(machine_config &config)
m_isabus->drq2_callback().set(m_dma8237, FUNC(am9517a_device::dreq2_w));
m_isabus->drq3_callback().set(m_dma8237, FUNC(am9517a_device::dreq3_w));
- PC_KBDC(config, m_pc_kbdc, 0);
- m_pc_kbdc->out_clock_cb().set(FUNC(a2bus_pcxporter_device::keyboard_clock_w));
- m_pc_kbdc->out_data_cb().set(FUNC(a2bus_pcxporter_device::keyboard_data_w));
- PC_KBDC_SLOT(config, "kbd", pc_xt_keyboards, STR_KBD_KEYTRONIC_PC3270).set_pc_kbdc_slot(m_pc_kbdc);
+ MCFG_DEVICE_ADD(m_pc_kbdc, PC_KBDC, 0)
+ MCFG_PC_KBDC_OUT_CLOCK_CB(WRITELINE(*this, a2bus_pcxporter_device, keyboard_clock_w))
+ MCFG_PC_KBDC_OUT_DATA_CB(WRITELINE(*this, a2bus_pcxporter_device, keyboard_data_w))
+ MCFG_PC_KBDC_SLOT_ADD("pc_kbdc", "kbd", pc_xt_keyboards, STR_KBD_KEYTRONIC_PC3270)
/* sound hardware */
SPEAKER(config, "mono").front_center();
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 1.00);
- ISA8_SLOT(config, "isa1", 0, m_isabus, pc_isa8_cards, "cga", true); // FIXME: determine ISA bus clock
- ISA8_SLOT(config, "isa2", 0, m_isabus, pc_isa8_cards, "fdc_xt", true);
-}
+ MCFG_DEVICE_ADD("isa1", ISA8_SLOT, 0, m_isabus, pc_isa8_cards, "cga", true) // FIXME: determine ISA bus clock
+ MCFG_DEVICE_ADD("isa2", ISA8_SLOT, 0, m_isabus, pc_isa8_cards, "fdc_xt", true)
+MACHINE_CONFIG_END
//**************************************************************************
// LIVE DEVICE
@@ -633,12 +631,5 @@ WRITE_LINE_MEMBER( a2bus_pcxporter_device::keyboard_data_w )
WRITE8_MEMBER( a2bus_pcxporter_device::nmi_enable_w )
{
m_nmi_enabled = BIT(data,7);
- if (!m_nmi_enabled)
- m_v30->set_input_line(INPUT_LINE_NMI, CLEAR_LINE);
-}
-
-WRITE_LINE_MEMBER( a2bus_pcxporter_device::iochck_w )
-{
- if (m_nmi_enabled && !state)
- m_v30->set_input_line(INPUT_LINE_NMI, ASSERT_LINE);
+ m_isabus->set_nmi_state(m_nmi_enabled);
}
diff --git a/src/devices/bus/a2bus/pc_xporter.h b/src/devices/bus/a2bus/pc_xporter.h
index 2a449ed4019..da9aecc6c6c 100644
--- a/src/devices/bus/a2bus/pc_xporter.h
+++ b/src/devices/bus/a2bus/pc_xporter.h
@@ -113,7 +113,6 @@ private:
DECLARE_WRITE8_MEMBER(pc_page_w);
DECLARE_WRITE8_MEMBER(nmi_enable_w);
- DECLARE_WRITE_LINE_MEMBER(iochck_w);
void pc_select_dma_channel(int channel, bool state);
diff --git a/src/devices/bus/a2bus/ssbapple.cpp b/src/devices/bus/a2bus/ssbapple.cpp
index 89165617867..bde53973c13 100644
--- a/src/devices/bus/a2bus/ssbapple.cpp
+++ b/src/devices/bus/a2bus/ssbapple.cpp
@@ -34,12 +34,11 @@ DEFINE_DEVICE_TYPE(A2BUS_SSBAPPLE, a2bus_ssb_device, "a2ssbapl", "Multitech Indu
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void a2bus_ssb_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(a2bus_ssb_device::device_add_mconfig)
SPEAKER(config, "ssbapple").front_center();
- TMS5220(config, m_tms, 640000); // guess - this gives 8 kHz output according to the datasheet
- m_tms->add_route(ALL_OUTPUTS, "ssbapple", 1.0);
-}
+ MCFG_DEVICE_ADD(TMS_TAG, TMS5220, 640000) // guess - this gives 8 kHz output according to the datasheet
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "ssbapple", 1.0)
+MACHINE_CONFIG_END
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/a2bus/ssprite.cpp b/src/devices/bus/a2bus/ssprite.cpp
index 69e12dc98dd..818bde14b89 100644
--- a/src/devices/bus/a2bus/ssprite.cpp
+++ b/src/devices/bus/a2bus/ssprite.cpp
@@ -104,7 +104,7 @@ uint8_t a2bus_ssprite_device::read_c0nx(uint8_t offset)
return 0x1f | m_tms5220->status_r();
case 14:
case 15:
- return m_ay->data_r();
+ return m_ay->read_data();
}
return 0xff;
@@ -125,11 +125,11 @@ void a2bus_ssprite_device::write_c0nx(uint8_t offset, uint8_t data)
break;
case 12:
case 13:
- m_ay->data_w(data);
+ m_ay->write_data(data);
break;
case 14:
case 15:
- m_ay->address_w(data);
+ m_ay->write_address(data);
break;
}
}
diff --git a/src/devices/bus/a2bus/timemasterho.cpp b/src/devices/bus/a2bus/timemasterho.cpp
index 6b7f0b1f5eb..ad0e96f2ab3 100644
--- a/src/devices/bus/a2bus/timemasterho.cpp
+++ b/src/devices/bus/a2bus/timemasterho.cpp
@@ -157,7 +157,7 @@ uint8_t a2bus_timemasterho_device::read_c0nx(uint8_t offset)
{
if (offset <= 3)
{
- return m_pia->read(offset);
+ return m_pia->reg_r(offset);
}
return 0xff;
@@ -172,7 +172,7 @@ void a2bus_timemasterho_device::write_c0nx(uint8_t offset, uint8_t data)
{
if (offset <= 3)
{
- m_pia->write(offset, data);
+ m_pia->reg_w(offset, data);
}
}
diff --git a/src/devices/bus/a2bus/transwarp.cpp b/src/devices/bus/a2bus/transwarp.cpp
index 97e02eb8b4e..06557e28cb0 100644
--- a/src/devices/bus/a2bus/transwarp.cpp
+++ b/src/devices/bus/a2bus/transwarp.cpp
@@ -121,11 +121,10 @@ ioport_constructor a2bus_transwarp_device::device_input_ports() const
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void a2bus_transwarp_device::device_add_mconfig(machine_config &config)
-{
- M65C02(config, m_ourcpu, A2BUS_7M_CLOCK / 2);
- m_ourcpu->set_addrmap(AS_PROGRAM, &a2bus_transwarp_device::m65c02_mem);
-}
+MACHINE_CONFIG_START(a2bus_transwarp_device::device_add_mconfig)
+ MCFG_DEVICE_ADD(CPU_TAG, M65C02, A2BUS_7M_CLOCK / 2)
+ MCFG_DEVICE_PROGRAM_MAP(m65c02_mem)
+MACHINE_CONFIG_END
//**************************************************************************
// LIVE DEVICE
@@ -162,7 +161,7 @@ void a2bus_transwarp_device::device_reset()
{
m_bEnabled = true;
m_bReadA2ROM = false;
- raise_slot_dma();
+ set_maincpu_halt(ASSERT_LINE);
if (!(m_dsw2->read() & 0x80))
{
if (m_dsw1->read() & 0x80)
@@ -190,11 +189,6 @@ void a2bus_transwarp_device::device_timer(emu_timer &timer, device_timer_id id,
READ8_MEMBER( a2bus_transwarp_device::dma_r )
{
- if (offset == 0xc070)
- {
- hit_slot_joy();
- }
-
if ((offset >= 0xc090) && (offset <= 0xc0ff))
{
hit_slot(((offset >> 4) & 0xf) - 8);
@@ -205,7 +199,7 @@ READ8_MEMBER( a2bus_transwarp_device::dma_r )
return m_rom[offset & 0xfff];
}
- return slot_dma_read(offset);
+ return slot_dma_read(space, offset);
}
@@ -217,11 +211,6 @@ WRITE8_MEMBER( a2bus_transwarp_device::dma_w )
{
//if ((offset >= 0xc070) && (offset <= 0xc07f)) printf("%02x to %04x\n", data, offset);
- if (offset == 0xc070)
- {
- hit_slot_joy();
- }
-
if (offset == 0xc072)
{
m_bReadA2ROM = true;
@@ -232,7 +221,7 @@ WRITE8_MEMBER( a2bus_transwarp_device::dma_w )
hit_slot(((offset >> 4) & 0xf) - 8);
}
- slot_dma_write(offset, data);
+ slot_dma_write(space, offset, data);
}
bool a2bus_transwarp_device::take_c800()
@@ -254,15 +243,3 @@ void a2bus_transwarp_device::hit_slot(int slot)
}
}
}
-
-void a2bus_transwarp_device::hit_slot_joy()
-{
- // only do slot slowdown if acceleration is enabled
- if (!(m_dsw2->read() & 0x80))
- {
- // accleration's on
- m_ourcpu->set_unscaled_clock(1021800);
- // PREAD main loop counts up to 11*256 uSec, add 1 to cover the setup
- m_timer->adjust(attotime::from_usec(11*257));
- }
-}
diff --git a/src/devices/bus/a2bus/transwarp.h b/src/devices/bus/a2bus/transwarp.h
index e687ae6d350..8b42aefa7e5 100644
--- a/src/devices/bus/a2bus/transwarp.h
+++ b/src/devices/bus/a2bus/transwarp.h
@@ -54,7 +54,6 @@ private:
void m65c02_mem(address_map &map);
void hit_slot(int slot);
- void hit_slot_joy();
};
// device type definition
diff --git a/src/devices/bus/a7800/cpuwiz.cpp b/src/devices/bus/a7800/cpuwiz.cpp
index 0b76f7b2233..8c39f5bf001 100644
--- a/src/devices/bus/a7800/cpuwiz.cpp
+++ b/src/devices/bus/a7800/cpuwiz.cpp
@@ -120,9 +120,9 @@ WRITE8_MEMBER(a78_megacart_device::write_40xx)
// VersaBoard + POKEY @ 0x0450
-void a78_rom_p450_vb_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(a78_rom_p450_vb_device::device_add_mconfig)
SPEAKER(config, "addon").front_center();
- POKEY(config, m_pokey450, XTAL(14'318'181)/8).add_route(ALL_OUTPUTS, "addon", 1.00);
-}
+ MCFG_DEVICE_ADD("pokey450", POKEY, XTAL(14'318'181)/8)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "addon", 1.00)
+MACHINE_CONFIG_END
diff --git a/src/devices/bus/a7800/cpuwiz.h b/src/devices/bus/a7800/cpuwiz.h
index e9f52a24d4f..1d9b33693d9 100644
--- a/src/devices/bus/a7800/cpuwiz.h
+++ b/src/devices/bus/a7800/cpuwiz.h
@@ -56,8 +56,8 @@ public:
a78_rom_p450_vb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
- virtual DECLARE_READ8_MEMBER(read_04xx) override { if (offset >= 0x50 && offset < 0x60) return m_pokey450->read(offset & 0x0f); else return 0xff; }
- virtual DECLARE_WRITE8_MEMBER(write_04xx) override { if (offset >= 0x50 && offset < 0x60) m_pokey450->write(offset & 0x0f, data); }
+ virtual DECLARE_READ8_MEMBER(read_04xx) override { if (offset >= 0x50 && offset < 0x60) return m_pokey450->read(space, offset & 0x0f); else return 0xff; }
+ virtual DECLARE_WRITE8_MEMBER(write_04xx) override { if (offset >= 0x50 && offset < 0x60) m_pokey450->write(space, offset & 0x0f, data); }
protected:
virtual void device_add_mconfig(machine_config &config) override;
diff --git a/src/devices/bus/a7800/rom.cpp b/src/devices/bus/a7800/rom.cpp
index 362902dbe51..b40eea850c4 100644
--- a/src/devices/bus/a7800/rom.cpp
+++ b/src/devices/bus/a7800/rom.cpp
@@ -229,7 +229,7 @@ READ8_MEMBER(a78_rom_device::read_40xx)
READ8_MEMBER(a78_rom_pokey_device::read_40xx)
{
if (offset < 0x4000)
- return m_pokey->read(offset & 0x0f);
+ return m_pokey->read(space, offset & 0x0f);
if (offset + 0x4000 < m_base_rom)
return 0xff;
@@ -240,16 +240,16 @@ READ8_MEMBER(a78_rom_pokey_device::read_40xx)
WRITE8_MEMBER(a78_rom_pokey_device::write_40xx)
{
if (offset < 0x4000)
- m_pokey->write(offset & 0x0f, data);
+ m_pokey->write(space, offset & 0x0f, data);
}
// TO DO: do we need a PAL variant?!?
-void a78_rom_pokey_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(a78_rom_pokey_device::device_add_mconfig)
SPEAKER(config, "addon").front_center();
- POKEY(config, m_pokey, XTAL(14'318'181)/8).add_route(ALL_OUTPUTS, "addon", 1.00);
-}
+ MCFG_DEVICE_ADD("pokey", POKEY, XTAL(14'318'181)/8)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "addon", 1.00)
+MACHINE_CONFIG_END
/*-------------------------------------------------
@@ -327,7 +327,7 @@ WRITE8_MEMBER(a78_rom_sg_device::write_40xx)
READ8_MEMBER(a78_rom_sg_pokey_device::read_40xx)
{
if (offset < 0x4000)
- return m_pokey->read(offset & 0x0f);
+ return m_pokey->read(space, offset & 0x0f);
else if (offset < 0x8000)
return m_rom[(offset & 0x3fff) + (m_bank * 0x4000)];
else
@@ -337,17 +337,17 @@ READ8_MEMBER(a78_rom_sg_pokey_device::read_40xx)
WRITE8_MEMBER(a78_rom_sg_pokey_device::write_40xx)
{
if (offset < 0x4000)
- m_pokey->write(offset & 0x0f, data);
+ m_pokey->write(space, offset & 0x0f, data);
else if (offset < 0x8000)
m_bank = data & m_bank_mask;
}
-void a78_rom_sg_pokey_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(a78_rom_sg_pokey_device::device_add_mconfig)
SPEAKER(config, "addon").front_center();
- POKEY(config, m_pokey, XTAL(14'318'181)/8).add_route(ALL_OUTPUTS, "addon", 1.00);
-}
+ MCFG_DEVICE_ADD("pokey", POKEY, XTAL(14'318'181)/8)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "addon", 1.00)
+MACHINE_CONFIG_END
/*-------------------------------------------------
@@ -497,33 +497,34 @@ WRITE8_MEMBER(a78_rom_act_device::write_40xx)
// Machine configs for PCB variants with a POKEY at $0450
-void a78_rom_p450_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(a78_rom_p450_device::device_add_mconfig)
SPEAKER(config, "pokey_450").front_center();
- POKEY(config, m_pokey450, XTAL(14'318'181)/8).add_route(ALL_OUTPUTS, "pokey_450", 1.00);
-}
+ MCFG_DEVICE_ADD("pokey450", POKEY, XTAL(14'318'181)/8)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "pokey_450", 1.00)
+MACHINE_CONFIG_END
-void a78_rom_p450_pokey_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(a78_rom_p450_pokey_device::device_add_mconfig)
SPEAKER(config, "addon").front_center();
- POKEY(config, m_pokey, XTAL(14'318'181)/8).add_route(ALL_OUTPUTS, "addon", 1.00);
+ MCFG_DEVICE_ADD("pokey", POKEY, XTAL(14'318'181)/8)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "addon", 1.00)
- POKEY(config, m_pokey450, XTAL(14'318'181)/8).add_route(ALL_OUTPUTS, "addon", 1.00);
-}
+ MCFG_DEVICE_ADD("pokey450", POKEY, XTAL(14'318'181)/8)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "addon", 1.00)
+MACHINE_CONFIG_END
-void a78_rom_p450_sg_ram_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(a78_rom_p450_sg_ram_device::device_add_mconfig)
SPEAKER(config, "pokey_450").front_center();
- POKEY(config, m_pokey450, XTAL(14'318'181)/8).add_route(ALL_OUTPUTS, "pokey_450", 1.00);
-}
+ MCFG_DEVICE_ADD("pokey450", POKEY, XTAL(14'318'181)/8)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "pokey_450", 1.00)
+MACHINE_CONFIG_END
-void a78_rom_p450_sg9_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(a78_rom_p450_sg9_device::device_add_mconfig)
SPEAKER(config, "pokey_450").front_center();
- POKEY(config, m_pokey450, XTAL(14'318'181)/8).add_route(ALL_OUTPUTS, "pokey_450", 1.00);
-}
+ MCFG_DEVICE_ADD("pokey450", POKEY, XTAL(14'318'181)/8)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "pokey_450", 1.00)
+MACHINE_CONFIG_END
diff --git a/src/devices/bus/a7800/rom.h b/src/devices/bus/a7800/rom.h
index 1ad27663b6f..406746c4e93 100644
--- a/src/devices/bus/a7800/rom.h
+++ b/src/devices/bus/a7800/rom.h
@@ -197,8 +197,8 @@ public:
a78_rom_p450_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
- virtual DECLARE_READ8_MEMBER(read_04xx) override { if (offset >= 0x50 && offset < 0x60) return m_pokey450->read(offset & 0x0f); else return 0xff; }
- virtual DECLARE_WRITE8_MEMBER(write_04xx) override { if (offset >= 0x50 && offset < 0x60) m_pokey450->write(offset & 0x0f, data); }
+ virtual DECLARE_READ8_MEMBER(read_04xx) override { if (offset >= 0x50 && offset < 0x60) return m_pokey450->read(space, offset & 0x0f); else return 0xff; }
+ virtual DECLARE_WRITE8_MEMBER(write_04xx) override { if (offset >= 0x50 && offset < 0x60) m_pokey450->write(space, offset & 0x0f, data); }
protected:
virtual void device_add_mconfig(machine_config &config) override;
@@ -216,8 +216,8 @@ public:
a78_rom_p450_pokey_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
- virtual DECLARE_READ8_MEMBER(read_04xx) override { if (offset >= 0x50 && offset < 0x60) return m_pokey450->read(offset & 0x0f); else return 0xff; }
- virtual DECLARE_WRITE8_MEMBER(write_04xx) override { if (offset >= 0x50 && offset < 0x60) m_pokey450->write(offset & 0x0f, data); }
+ virtual DECLARE_READ8_MEMBER(read_04xx) override { if (offset >= 0x50 && offset < 0x60) return m_pokey450->read(space, offset & 0x0f); else return 0xff; }
+ virtual DECLARE_WRITE8_MEMBER(write_04xx) override { if (offset >= 0x50 && offset < 0x60) m_pokey450->write(space, offset & 0x0f, data); }
protected:
virtual void device_add_mconfig(machine_config &config) override;
@@ -235,8 +235,8 @@ public:
a78_rom_p450_sg_ram_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
- virtual DECLARE_READ8_MEMBER(read_04xx) override { if (offset >= 0x50 && offset < 0x60) return m_pokey450->read(offset & 0x0f); else return 0xff; }
- virtual DECLARE_WRITE8_MEMBER(write_04xx) override { if (offset >= 0x50 && offset < 0x60) m_pokey450->write(offset & 0x0f, data); }
+ virtual DECLARE_READ8_MEMBER(read_04xx) override { if (offset >= 0x50 && offset < 0x60) return m_pokey450->read(space, offset & 0x0f); else return 0xff; }
+ virtual DECLARE_WRITE8_MEMBER(write_04xx) override { if (offset >= 0x50 && offset < 0x60) m_pokey450->write(space, offset & 0x0f, data); }
protected:
virtual void device_add_mconfig(machine_config &config) override;
@@ -254,8 +254,8 @@ public:
a78_rom_p450_sg9_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
- virtual DECLARE_READ8_MEMBER(read_04xx) override { if (offset >= 0x50 && offset < 0x60) return m_pokey450->read(offset & 0x0f); else return 0xff; }
- virtual DECLARE_WRITE8_MEMBER(write_04xx) override { if (offset >= 0x50 && offset < 0x60) m_pokey450->write(offset & 0x0f, data); }
+ virtual DECLARE_READ8_MEMBER(read_04xx) override { if (offset >= 0x50 && offset < 0x60) return m_pokey450->read(space, offset & 0x0f); else return 0xff; }
+ virtual DECLARE_WRITE8_MEMBER(write_04xx) override { if (offset >= 0x50 && offset < 0x60) m_pokey450->write(space, offset & 0x0f, data); }
protected:
virtual void device_add_mconfig(machine_config &config) override;
diff --git a/src/devices/bus/a7800/xboard.cpp b/src/devices/bus/a7800/xboard.cpp
index 0005e595a88..d2e610f666e 100644
--- a/src/devices/bus/a7800/xboard.cpp
+++ b/src/devices/bus/a7800/xboard.cpp
@@ -158,7 +158,7 @@ WRITE8_MEMBER(a78_xboard_device::write_40xx)
READ8_MEMBER(a78_xboard_device::read_04xx)
{
if (BIT(m_reg, 4) && offset >= 0x50 && offset < 0x60)
- return m_pokey->read(offset & 0x0f);
+ return m_pokey->read(space, offset & 0x0f);
else if (BIT(m_reg, 4) && offset >= 0x60 && offset < 0x70)
return m_xbslot->read_04xx(space, offset - 0x10); // access second POKEY
else
@@ -168,7 +168,7 @@ READ8_MEMBER(a78_xboard_device::read_04xx)
WRITE8_MEMBER(a78_xboard_device::write_04xx)
{
if (BIT(m_reg, 4) && offset >= 0x50 && offset < 0x60)
- m_pokey->write(offset & 0x0f, data);
+ m_pokey->write(space, offset & 0x0f, data);
else if (BIT(m_reg, 4) && offset >= 0x60 && offset < 0x70)
m_xbslot->write_04xx(space, offset - 0x10, data); // access second POKEY
else if (offset >= 0x70 && offset < 0x80)
@@ -203,9 +203,9 @@ READ8_MEMBER(a78_xm_device::read_30xx)
READ8_MEMBER(a78_xm_device::read_04xx)
{
if (BIT(m_reg, 4) && offset >= 0x50 && offset < 0x60)
- return m_pokey->read(offset & 0x0f);
+ return m_pokey->read(space, offset & 0x0f);
else if (m_ym_enabled && offset >= 0x60 && offset <= 0x61)
- return m_ym->read(offset & 1);
+ return m_ym->read(space, offset & 1);
else if (BIT(m_reg, 4) && offset >= 0x60 && offset < 0x70)
return m_xbslot->read_04xx(space, offset - 0x10); // access second POKEY
else
@@ -215,9 +215,9 @@ READ8_MEMBER(a78_xm_device::read_04xx)
WRITE8_MEMBER(a78_xm_device::write_04xx)
{
if (BIT(m_reg, 4) && offset >= 0x50 && offset < 0x60)
- m_pokey->write(offset & 0x0f, data);
+ m_pokey->write(space, offset & 0x0f, data);
else if (m_ym_enabled && offset >= 0x60 && offset <= 0x61)
- m_ym->write(offset & 1, data);
+ m_ym->write(space, offset & 1, data);
else if (BIT(m_reg, 4) && offset >= 0x60 && offset < 0x70)
m_xbslot->write_04xx(space, offset - 0x10, data); // access second POKEY
else if (offset >= 0x70 && offset < 0x80)
diff --git a/src/devices/bus/a800/cassette.cpp b/src/devices/bus/a800/cassette.cpp
index fb08819e5ae..1545cf434c7 100644
--- a/src/devices/bus/a800/cassette.cpp
+++ b/src/devices/bus/a800/cassette.cpp
@@ -28,13 +28,12 @@ TODO:
DEFINE_DEVICE_TYPE(A8SIO_CASSETTE, a8sio_cassette_device, "a8sio_cass", "Atari 8 bit cassette")
const device_timer_id TIMER_CASSETTE_READ = 1;
-void a8sio_cassette_device::device_add_mconfig(machine_config &config)
-{
- CASSETTE(config, m_cassette);
- //m_cassette->set_default_state(CASSETTE_STOPPED);
- m_cassette->set_default_state(CASSETTE_PLAY);
- m_cassette->set_interface("atari8bit_cass");
-}
+MACHINE_CONFIG_START(a8sio_cassette_device::device_add_mconfig)
+ MCFG_CASSETTE_ADD("cassette")
+ //MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_STOPPED)
+ MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_PLAY)
+ MCFG_CASSETTE_INTERFACE("atari8bit_cass")
+MACHINE_CONFIG_END
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/abcbus/abc890.cpp b/src/devices/bus/abcbus/abc890.cpp
index 27530439929..4807a09a9f5 100644
--- a/src/devices/bus/abcbus/abc890.cpp
+++ b/src/devices/bus/abcbus/abc890.cpp
@@ -27,95 +27,89 @@ DEFINE_DEVICE_TYPE(ABC856, abc856_device, "abc856", "ABC
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void abc890_device::device_add_mconfig(machine_config &config)
-{
- ABCBUS_SLOT(config, "io1", DERIVED_CLOCK(1, 1), abcbus_cards, nullptr);
- ABCBUS_SLOT(config, "io2", DERIVED_CLOCK(1, 1), abcbus_cards, nullptr);
- ABCBUS_SLOT(config, "io3", DERIVED_CLOCK(1, 1), abcbus_cards, nullptr);
- ABCBUS_SLOT(config, "io4", DERIVED_CLOCK(1, 1), abcbus_cards, nullptr);
- ABCBUS_SLOT(config, "mem1", DERIVED_CLOCK(1, 1), abcbus_cards, nullptr);
- ABCBUS_SLOT(config, "mem2", DERIVED_CLOCK(1, 1), abcbus_cards, nullptr);
- ABCBUS_SLOT(config, "mem3", DERIVED_CLOCK(1, 1), abcbus_cards, nullptr);
-}
+MACHINE_CONFIG_START(abc890_device::device_add_mconfig)
+ MCFG_ABCBUS_SLOT_ADD("io1", abcbus_cards, nullptr)
+ MCFG_ABCBUS_SLOT_ADD("io2", abcbus_cards, nullptr)
+ MCFG_ABCBUS_SLOT_ADD("io3", abcbus_cards, nullptr)
+ MCFG_ABCBUS_SLOT_ADD("io4", abcbus_cards, nullptr)
+ MCFG_ABCBUS_SLOT_ADD("mem1", abcbus_cards, nullptr)
+ MCFG_ABCBUS_SLOT_ADD("mem2", abcbus_cards, nullptr)
+ MCFG_ABCBUS_SLOT_ADD("mem3", abcbus_cards, nullptr)
+MACHINE_CONFIG_END
//-------------------------------------------------
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void abc_expansion_unit_device::device_add_mconfig(machine_config &config)
-{
- ABCBUS_SLOT(config, "io1", DERIVED_CLOCK(1, 1), abc80_cards, "abc830");
- ABCBUS_SLOT(config, "io2", DERIVED_CLOCK(1, 1), abc80_cards, nullptr);
- ABCBUS_SLOT(config, "io3", DERIVED_CLOCK(1, 1), abc80_cards, nullptr);
- ABCBUS_SLOT(config, "io4", DERIVED_CLOCK(1, 1), abc80_cards, nullptr);
- ABCBUS_SLOT(config, "mem1", DERIVED_CLOCK(1, 1), abc80_cards, "memcard");
- ABCBUS_SLOT(config, "mem2", DERIVED_CLOCK(1, 1), abc80_cards, "16k");
- ABCBUS_SLOT(config, "mem3", DERIVED_CLOCK(1, 1), abc80_cards, nullptr);
-}
+MACHINE_CONFIG_START(abc_expansion_unit_device::device_add_mconfig)
+ MCFG_ABCBUS_SLOT_ADD("io1", abc80_cards, "abc830")
+ MCFG_ABCBUS_SLOT_ADD("io2", abc80_cards, nullptr)
+ MCFG_ABCBUS_SLOT_ADD("io3", abc80_cards, nullptr)
+ MCFG_ABCBUS_SLOT_ADD("io4", abc80_cards, nullptr)
+ MCFG_ABCBUS_SLOT_ADD("mem1", abc80_cards, "memcard")
+ MCFG_ABCBUS_SLOT_ADD("mem2", abc80_cards, "16k")
+ MCFG_ABCBUS_SLOT_ADD("mem3", abc80_cards, nullptr)
+MACHINE_CONFIG_END
//-------------------------------------------------
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void abc894_device::device_add_mconfig(machine_config &config)
-{
- ABCBUS_SLOT(config, "io1", DERIVED_CLOCK(1, 1), abcbus_cards, nullptr);
- ABCBUS_SLOT(config, "io2", DERIVED_CLOCK(1, 1), abcbus_cards, nullptr);
- ABCBUS_SLOT(config, "io3", DERIVED_CLOCK(1, 1), abcbus_cards, nullptr);
-}
+MACHINE_CONFIG_START(abc894_device::device_add_mconfig)
+ MCFG_ABCBUS_SLOT_ADD("io1", abcbus_cards, nullptr)
+ MCFG_ABCBUS_SLOT_ADD("io2", abcbus_cards, nullptr)
+ MCFG_ABCBUS_SLOT_ADD("io3", abcbus_cards, nullptr)
+MACHINE_CONFIG_END
//-------------------------------------------------
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void abc850_device::device_add_mconfig(machine_config &config)
-{
- ABCBUS_SLOT(config, "io1", DERIVED_CLOCK(1, 1), abcbus_cards, "abc850fdd");
- ABCBUS_SLOT(config, "io2", DERIVED_CLOCK(1, 1), abcbus_cards, "xebec")
- .set_option_default_bios("xebec", "ro202");
- ABCBUS_SLOT(config, "io3", DERIVED_CLOCK(1, 1), abcbus_cards, nullptr);
- ABCBUS_SLOT(config, "io4", DERIVED_CLOCK(1, 1), abcbus_cards, nullptr);
- ABCBUS_SLOT(config, "io5", DERIVED_CLOCK(1, 1), abcbus_cards, nullptr);
- ABCBUS_SLOT(config, "io6", DERIVED_CLOCK(1, 1), abcbus_cards, nullptr);
- ABCBUS_SLOT(config, "io7", DERIVED_CLOCK(1, 1), abcbus_cards, nullptr);
-}
+MACHINE_CONFIG_START(abc850_device::device_add_mconfig)
+ MCFG_ABCBUS_SLOT_ADD("io1", abcbus_cards, "abc850fdd")
+ MCFG_ABCBUS_SLOT_ADD("io2", abcbus_cards, "xebec")
+ MCFG_SLOT_OPTION_DEFAULT_BIOS("xebec", "ro202")
+ MCFG_ABCBUS_SLOT_ADD("io3", abcbus_cards, nullptr)
+ MCFG_ABCBUS_SLOT_ADD("io4", abcbus_cards, nullptr)
+ MCFG_ABCBUS_SLOT_ADD("io5", abcbus_cards, nullptr)
+ MCFG_ABCBUS_SLOT_ADD("io6", abcbus_cards, nullptr)
+ MCFG_ABCBUS_SLOT_ADD("io7", abcbus_cards, nullptr)
+MACHINE_CONFIG_END
//-------------------------------------------------
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void abc852_device::device_add_mconfig(machine_config &config)
-{
- ABCBUS_SLOT(config, "io1", DERIVED_CLOCK(1, 1), abcbus_cards, "abc850fdd");
- ABCBUS_SLOT(config, "io2", DERIVED_CLOCK(1, 1), abcbus_cards, "xebec")
- .set_option_default_bios("xebec", "basf6185");
- ABCBUS_SLOT(config, "io3", DERIVED_CLOCK(1, 1), abcbus_cards, nullptr);
- ABCBUS_SLOT(config, "io4", DERIVED_CLOCK(1, 1), abcbus_cards, nullptr);
- ABCBUS_SLOT(config, "io5", DERIVED_CLOCK(1, 1), abcbus_cards, nullptr);
- ABCBUS_SLOT(config, "io6", DERIVED_CLOCK(1, 1), abcbus_cards, nullptr);
- ABCBUS_SLOT(config, "io7", DERIVED_CLOCK(1, 1), abcbus_cards, nullptr);
-}
+MACHINE_CONFIG_START(abc852_device::device_add_mconfig)
+ MCFG_ABCBUS_SLOT_ADD("io1", abcbus_cards, "abc850fdd")
+ MCFG_ABCBUS_SLOT_ADD("io2", abcbus_cards, "xebec")
+ MCFG_SLOT_OPTION_DEFAULT_BIOS("xebec", "basf6185")
+ MCFG_ABCBUS_SLOT_ADD("io3", abcbus_cards, nullptr)
+ MCFG_ABCBUS_SLOT_ADD("io4", abcbus_cards, nullptr)
+ MCFG_ABCBUS_SLOT_ADD("io5", abcbus_cards, nullptr)
+ MCFG_ABCBUS_SLOT_ADD("io6", abcbus_cards, nullptr)
+ MCFG_ABCBUS_SLOT_ADD("io7", abcbus_cards, nullptr)
+MACHINE_CONFIG_END
//-------------------------------------------------
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void abc856_device::device_add_mconfig(machine_config &config)
-{
- ABCBUS_SLOT(config, "io1", DERIVED_CLOCK(1, 1), abcbus_cards, "abc850fdd");
- ABCBUS_SLOT(config, "io2", DERIVED_CLOCK(1, 1), abcbus_cards, "xebec")
- .set_option_default_bios("xebec", "micr1325");
- ABCBUS_SLOT(config, "io3", DERIVED_CLOCK(1, 1), abcbus_cards, nullptr);
- ABCBUS_SLOT(config, "io4", DERIVED_CLOCK(1, 1), abcbus_cards, nullptr);
- ABCBUS_SLOT(config, "io5", DERIVED_CLOCK(1, 1), abcbus_cards, nullptr);
- ABCBUS_SLOT(config, "io6", DERIVED_CLOCK(1, 1), abcbus_cards, nullptr);
- ABCBUS_SLOT(config, "io7", DERIVED_CLOCK(1, 1), abcbus_cards, nullptr);
-}
+MACHINE_CONFIG_START(abc856_device::device_add_mconfig)
+ MCFG_ABCBUS_SLOT_ADD("io1", abcbus_cards, "abc850fdd")
+ MCFG_ABCBUS_SLOT_ADD("io2", abcbus_cards, "xebec")
+ MCFG_SLOT_OPTION_DEFAULT_BIOS("xebec", "micr1325")
+ MCFG_ABCBUS_SLOT_ADD("io3", abcbus_cards, nullptr)
+ MCFG_ABCBUS_SLOT_ADD("io4", abcbus_cards, nullptr)
+ MCFG_ABCBUS_SLOT_ADD("io5", abcbus_cards, nullptr)
+ MCFG_ABCBUS_SLOT_ADD("io6", abcbus_cards, nullptr)
+ MCFG_ABCBUS_SLOT_ADD("io7", abcbus_cards, nullptr)
+MACHINE_CONFIG_END
diff --git a/src/devices/bus/abcbus/abcbus.h b/src/devices/bus/abcbus/abcbus.h
index 2388fbc73cf..5bd338b05d7 100644
--- a/src/devices/bus/abcbus/abcbus.h
+++ b/src/devices/bus/abcbus/abcbus.h
@@ -111,6 +111,47 @@
//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_ABCBUS_SLOT_ADD(_tag, _slot_intf, _def_slot) \
+ MCFG_DEVICE_ADD(_tag, ABCBUS_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
+
+
+#define MCFG_ABCBUS_SLOT_IRQ_CALLBACK(_irq) \
+ downcast<abcbus_slot_device *>(device)->set_irq_callback(DEVCB_##_irq);
+
+#define MCFG_ABCBUS_SLOT_NMI_CALLBACK(_nmi) \
+ downcast<abcbus_slot_device *>(device)->set_nmi_callback(DEVCB_##_nmi);
+
+#define MCFG_ABCBUS_SLOT_RDY_CALLBACK(_rdy) \
+ downcast<abcbus_slot_device *>(device)->set_rdy_callback(DEVCB_##_rdy);
+
+#define MCFG_ABCBUS_SLOT_RESIN_CALLBACK(_resin) \
+ downcast<abcbus_slot_device *>(device)->set_resin_callback(DEVCB_##_resin);
+
+#define MCFG_ABCBUS_SLOT_PREN_CALLBACK(_pren) \
+ downcast<abcbus_slot_device *>(device)->set_pren_callback(DEVCB_##_pren);
+
+#define MCFG_ABCBUS_SLOT_TRRQ_CALLBACK(_trrq) \
+ downcast<abcbus_slot_device *>(device)->set_trrq_callback(DEVCB_##_trrq);
+
+#define MCFG_ABCBUS_SLOT_XINT2_CALLBACK(_xint2) \
+ downcast<abcbus_slot_device *>(device)->set_xint2_callback(DEVCB_##_xint2);
+
+#define MCFG_ABCBUS_SLOT_XINT3_CALLBACK(_xint3) \
+ downcast<abcbus_slot_device *>(device)->set_xint3_callback(DEVCB_##_xint3);
+
+#define MCFG_ABCBUS_SLOT_XINT4_CALLBACK(_xint4) \
+ downcast<abcbus_slot_device *>(device)->set_xint4_callback(DEVCB_##_xint4);
+
+#define MCFG_ABCBUS_SLOT_XINT5_CALLBACK(_xint5) \
+ downcast<abcbus_slot_device *>(device)->set_xint5_callback(DEVCB_##_xint5);
+
+
+
+//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -166,26 +207,17 @@ class abcbus_slot_device : public device_t,
public:
// construction/destruction
abcbus_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- template <typename T>
- abcbus_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, T &&opts, const char *dflt)
- : abcbus_slot_device(mconfig, tag, owner, clock)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
-
- auto irq_callback() { return m_write_irq.bind(); }
- auto nmi_callback() { return m_write_nmi.bind(); }
- auto rdy_callback() { return m_write_rdy.bind(); }
- auto resin_callback() { return m_write_resin.bind(); }
- auto pren_callback() { return m_write_pren.bind(); }
- auto trrq_callback() { return m_write_trrq.bind(); }
- auto xint2_callback() { return m_write_xint2.bind(); }
- auto xint3_callback() { return m_write_xint3.bind(); }
- auto xint4_callback() { return m_write_xint4.bind(); }
- auto xint5_callback() { return m_write_xint5.bind(); }
+
+ template <class Object> devcb_base &set_irq_callback(Object &&cb) { return m_write_irq.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_nmi_callback(Object &&cb) { return m_write_nmi.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_rdy_callback(Object &&cb) { return m_write_rdy.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_resin_callback(Object &&cb) { return m_write_resin.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_pren_callback(Object &&cb) { return m_write_pren.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_trrq_callback(Object &&cb) { return m_write_trrq.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_xint2_callback(Object &&cb) { return m_write_xint2.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_xint3_callback(Object &&cb) { return m_write_xint3.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_xint4_callback(Object &&cb) { return m_write_xint4.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_xint5_callback(Object &&cb) { return m_write_xint5.set_callback(std::forward<Object>(cb)); }
// computer interface
void write_cs(uint8_t data) { if (m_card) m_card->abcbus_cs(data); }
diff --git a/src/devices/bus/abcbus/cadmouse.cpp b/src/devices/bus/abcbus/cadmouse.cpp
index 7a4d90916f9..9cee7326cf4 100644
--- a/src/devices/bus/abcbus/cadmouse.cpp
+++ b/src/devices/bus/abcbus/cadmouse.cpp
@@ -125,12 +125,11 @@ void abc_cadmouse_device::abc_cadmouse_io(address_map &map)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void abc_cadmouse_device::device_add_mconfig(machine_config &config)
-{
- Z80(config, m_maincpu, XTAL(8'000'000)/2);
- m_maincpu->set_addrmap(AS_PROGRAM, &abc_cadmouse_device::abc_cadmouse_mem);
- m_maincpu->set_addrmap(AS_IO, &abc_cadmouse_device::abc_cadmouse_io);
-}
+MACHINE_CONFIG_START(abc_cadmouse_device::device_add_mconfig)
+ MCFG_DEVICE_ADD(Z80_TAG, Z80, XTAL(8'000'000)/2)
+ MCFG_DEVICE_PROGRAM_MAP(abc_cadmouse_mem)
+ MCFG_DEVICE_IO_MAP(abc_cadmouse_io)
+MACHINE_CONFIG_END
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/abcbus/db411223.cpp b/src/devices/bus/abcbus/db411223.cpp
index 86ba1f22ee9..d9d2906f6d6 100644
--- a/src/devices/bus/abcbus/db411223.cpp
+++ b/src/devices/bus/abcbus/db411223.cpp
@@ -68,12 +68,11 @@ void databoard_4112_23_t::databoard_4112_23_io(address_map &map)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void databoard_4112_23_t::device_add_mconfig(machine_config &config)
-{
- Z80(config, m_maincpu, 4000000);
- m_maincpu->set_addrmap(AS_PROGRAM, &databoard_4112_23_t::databoard_4112_23_mem);
- m_maincpu->set_addrmap(AS_IO, &databoard_4112_23_t::databoard_4112_23_io);
-}
+MACHINE_CONFIG_START(databoard_4112_23_t::device_add_mconfig)
+ MCFG_DEVICE_ADD(Z80_TAG, Z80, 4000000)
+ MCFG_DEVICE_PROGRAM_MAP(databoard_4112_23_mem)
+ MCFG_DEVICE_IO_MAP(databoard_4112_23_io)
+MACHINE_CONFIG_END
//-------------------------------------------------
diff --git a/src/devices/bus/abcbus/unidisk.cpp b/src/devices/bus/abcbus/unidisk.cpp
index 0b068000193..0d5968aa71b 100644
--- a/src/devices/bus/abcbus/unidisk.cpp
+++ b/src/devices/bus/abcbus/unidisk.cpp
@@ -73,12 +73,11 @@ void unidisk_t::unidisk_io(address_map &map)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void unidisk_t::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(unidisk_t::device_add_mconfig)
TMS9995(config, m_maincpu, 12000000);
m_maincpu->set_addrmap(AS_PROGRAM, &unidisk_t::unidisk_mem);
m_maincpu->set_addrmap(AS_IO, &unidisk_t::unidisk_io);
-}
+MACHINE_CONFIG_END
//-------------------------------------------------
diff --git a/src/devices/bus/abckb/abc77.cpp b/src/devices/bus/abckb/abc77.cpp
index 996a5af23c9..87acedf4fb8 100644
--- a/src/devices/bus/abckb/abc77.cpp
+++ b/src/devices/bus/abckb/abc77.cpp
@@ -129,8 +129,7 @@ DISCRETE_SOUND_END
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void abc77_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(abc77_device::device_add_mconfig)
// keyboard cpu
I8035(config, m_maincpu, XTAL(4'608'000));
m_maincpu->set_addrmap(AS_PROGRAM, &abc77_device::abc77_map);
@@ -145,8 +144,9 @@ void abc77_device::device_add_mconfig(machine_config &config)
// discrete sound
SPEAKER(config, "mono").front_center();
- DISCRETE(config, m_discrete, abc77_discrete).add_route(ALL_OUTPUTS, "mono", 0.80);
-}
+ MCFG_DEVICE_ADD(DISCRETE_TAG, DISCRETE, abc77_discrete)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
+MACHINE_CONFIG_END
//-------------------------------------------------
diff --git a/src/devices/bus/abckb/abc99.cpp b/src/devices/bus/abckb/abc99.cpp
index 4b49e73548e..6782fbd8a59 100644
--- a/src/devices/bus/abckb/abc99.cpp
+++ b/src/devices/bus/abckb/abc99.cpp
@@ -169,7 +169,7 @@ void abc99_device::device_add_mconfig(machine_config &config)
m_mousecpu->set_addrmap(AS_PROGRAM, &abc99_device::abc99_z5_mem);
//m_mousecpu->p1_in_cb().set(FUNC(abc99_device::z5_p1_r));
//m_mousecpu->p2_out_cb().set(FUNC(abc99_device::z5_p2_w));
- //m_mousecpu->set_t0_clk_cb(); // Z2 CLK
+ //MCFG_MCS48_PORT_T0_CLK_CUSTOM() // Z2 CLK
//m_mousecpu->t1_in_cb().set(FUNC(abc99_device::z5_t1_r));
m_mousecpu->set_disable(); // HACK fix for broken serial I/O
diff --git a/src/devices/bus/abckb/abckb.h b/src/devices/bus/abckb/abckb.h
index d7ab8b6162a..7ec223fc942 100644
--- a/src/devices/bus/abckb/abckb.h
+++ b/src/devices/bus/abckb/abckb.h
@@ -12,6 +12,27 @@
#pragma once
+
+
+//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_ABC_KEYBOARD_PORT_ADD(_tag, _def_slot) \
+ MCFG_DEVICE_ADD(_tag, ABC_KEYBOARD_PORT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(abc_keyboard_devices, _def_slot, false)
+
+#define MCFG_ABC_KEYBOARD_OUT_RX_HANDLER(_devcb) \
+ downcast<abc_keyboard_port_device &>(*device).set_out_rx_handler(DEVCB_##_devcb);
+
+#define MCFG_ABC_KEYBOARD_OUT_TRXC_HANDLER(_devcb) \
+ downcast<abc_keyboard_port_device &>(*device).set_out_trxc_handler(DEVCB_##_devcb);
+
+#define MCFG_ABC_KEYBOARD_OUT_KEYDOWN_HANDLER(_devcb) \
+ downcast<abc_keyboard_port_device &>(*device).set_out_keydown_handler(DEVCB_##_devcb);
+
+
+
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -22,21 +43,11 @@ class abc_keyboard_port_device : public device_t, public device_slot_interface
{
public:
// construction/destruction
- template <typename T>
- abc_keyboard_port_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt)
- : abc_keyboard_port_device(mconfig, tag, owner, 0)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
-
- abc_keyboard_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
-
- auto out_rx_handler() { return m_out_rx_handler.bind(); }
- auto out_trxc_handler() { return m_out_trxc_handler.bind(); }
- auto out_keydown_handler() { return m_out_keydown_handler.bind(); }
+ abc_keyboard_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+ template <class Object> devcb_base &set_out_rx_handler(Object &&cb) { return m_out_rx_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_out_trxc_handler(Object &&cb) { return m_out_trxc_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_out_keydown_handler(Object &&cb) { return m_out_keydown_handler.set_callback(std::forward<Object>(cb)); }
// computer interface
DECLARE_WRITE_LINE_MEMBER( txd_w );
diff --git a/src/devices/bus/acorn/atom/discpack.cpp b/src/devices/bus/acorn/atom/discpack.cpp
index fd33ec293a6..63a29d403f1 100644
--- a/src/devices/bus/acorn/atom/discpack.cpp
+++ b/src/devices/bus/acorn/atom/discpack.cpp
@@ -84,7 +84,7 @@ void atom_discpack_device::device_start()
address_space &space = m_bus->memspace();
space.install_device(0x0a00, 0x0a03, *m_fdc, &i8271_device::map);
- space.install_readwrite_handler(0x0a04, 0x0a04, 0, 0x1f8, 0, read8smo_delegate(FUNC(i8271_device::data_r), m_fdc.target()), write8smo_delegate(FUNC(i8271_device::data_w), m_fdc.target()));
+ space.install_readwrite_handler(0x0a04, 0x0a04, 0, 0x1f8, 0, read8_delegate(FUNC(i8271_device::data_r), m_fdc.target()), write8_delegate(FUNC(i8271_device::data_w), m_fdc.target()));
space.install_ram(0x2000, 0x23ff);
space.install_ram(0x2400, 0x27ff);
space.install_ram(0x3c00, 0x3fff);
diff --git a/src/devices/bus/acorn/atom/econet.cpp b/src/devices/bus/acorn/atom/econet.cpp
index 5051fd0e8e7..210ca895445 100644
--- a/src/devices/bus/acorn/atom/econet.cpp
+++ b/src/devices/bus/acorn/atom/econet.cpp
@@ -63,7 +63,7 @@ void atom_econet_device::device_start()
{
address_space &space = m_bus->memspace();
- space.install_readwrite_handler(0xb400, 0xb403, read8sm_delegate(FUNC(mc6854_device::read), m_adlc.target()), write8sm_delegate(FUNC(mc6854_device::write), m_adlc.target()));
+ space.install_readwrite_handler(0xb400, 0xb403, read8_delegate(FUNC(mc6854_device::read), m_adlc.target()), write8_delegate(FUNC(mc6854_device::write), m_adlc.target()));
space.install_read_handler(0xb404, 0xb404, read8_delegate(FUNC(atom_econet_device::statid_r), this));
}
diff --git a/src/devices/bus/acorn/atom/sid.cpp b/src/devices/bus/acorn/atom/sid.cpp
index 8b5cd738cfe..950f4de2c58 100644
--- a/src/devices/bus/acorn/atom/sid.cpp
+++ b/src/devices/bus/acorn/atom/sid.cpp
@@ -55,5 +55,5 @@ void atom_sid_device::device_start()
{
address_space &space = m_bus->memspace();
- space.install_readwrite_handler(0xbdc0, 0xbddf, read8sm_delegate(FUNC(mos6581_device::read), m_sid.target()), write8sm_delegate(FUNC(mos6581_device::write), m_sid.target()));
+ space.install_readwrite_handler(0xbdc0, 0xbddf, read8_delegate(FUNC(mos6581_device::read), m_sid.target()), write8_delegate(FUNC(mos6581_device::write), m_sid.target()));
}
diff --git a/src/devices/bus/acorn/bus.cpp b/src/devices/bus/acorn/bus.cpp
index 2ecb509c30f..ed759be82af 100644
--- a/src/devices/bus/acorn/bus.cpp
+++ b/src/devices/bus/acorn/bus.cpp
@@ -80,7 +80,7 @@ DEFINE_DEVICE_TYPE(ACORN_BUS, acorn_bus_device, "acorn_bus", "Acorn Bus")
acorn_bus_device::acorn_bus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
: device_t(mconfig, ACORN_BUS, tag, owner, clock)
- , m_space(*this, finder_base::DUMMY_TAG, -1)
+ , m_maincpu(*this, finder_base::DUMMY_TAG)
, m_out_irq_cb(*this)
, m_out_nmi_cb(*this)
{
diff --git a/src/devices/bus/acorn/bus.h b/src/devices/bus/acorn/bus.h
index 149da10d447..9ebcafdad73 100644
--- a/src/devices/bus/acorn/bus.h
+++ b/src/devices/bus/acorn/bus.h
@@ -64,11 +64,11 @@ public:
acorn_bus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// inline configuration
- template <typename T> void set_space(T &&tag, int spacenum) { m_space.set_tag(std::forward<T>(tag), spacenum); }
+ template <typename T> void set_cputag(T &&tag) { m_maincpu.set_tag(std::forward<T>(tag)); }
auto out_irq_callback() { return m_out_irq_cb.bind(); }
auto out_nmi_callback() { return m_out_nmi_cb.bind(); }
- address_space &memspace() const { return *m_space; }
+ address_space &memspace() const { return m_maincpu->space(AS_PROGRAM); }
DECLARE_WRITE_LINE_MEMBER(irq_w);
DECLARE_WRITE_LINE_MEMBER(nmi_w);
@@ -81,7 +81,7 @@ protected:
virtual void device_reset() override;
// internal state
- required_address_space m_space;
+ required_device<cpu_device> m_maincpu;
devcb_write_line m_out_irq_cb;
devcb_write_line m_out_nmi_cb;
diff --git a/src/devices/bus/acorn/cms/4080term.cpp b/src/devices/bus/acorn/cms/4080term.cpp
index 7bb64493481..0bf9cf5a7ea 100644
--- a/src/devices/bus/acorn/cms/4080term.cpp
+++ b/src/devices/bus/acorn/cms/4080term.cpp
@@ -68,23 +68,22 @@ DEVICE_INPUT_DEFAULTS_END
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void cms_4080term_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(cms_4080term_device::device_add_mconfig)
/* video hardware */
- SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
+ device = &SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_refresh_hz(50);
m_screen->set_size(768, 312);
m_screen->set_visarea(0, 492 - 1, 0, 270 - 1);
- m_screen->set_screen_update("ef9345", FUNC(ef9345_device::screen_update));
+ MCFG_SCREEN_UPDATE_DEVICE("ef9345", ef9345_device, screen_update)
- GFXDECODE(config, "gfxdecode", "palette", gfx_cms_4080term);
- PALETTE(config, "palette").set_entries(8);
+ MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_cms_4080term)
+ MCFG_PALETTE_ADD("palette", 8)
EF9345(config, m_ef9345, 0);
m_ef9345->set_screen("screen");
m_ef9345->set_palette_tag("palette");
- TIMER(config, "scantimer").configure_scanline(FUNC(cms_4080term_device::update_scanline), "screen", 0, 10);
+ MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", cms_4080term_device, update_scanline, "screen", 0, 10)
VIA6522(config, m_via, 1_MHz_XTAL);
m_via->writepa_handler().set("cent_data_out", FUNC(output_latch_device::bus_w));
@@ -108,9 +107,8 @@ void cms_4080term_device::device_add_mconfig(machine_config &config)
/* printer */
CENTRONICS(config, m_centronics, centronics_devices, "printer");
m_centronics->ack_handler().set(m_via, FUNC(via6522_device::write_ca1));
- output_latch_device &cent_data_out(OUTPUT_LATCH(config, "cent_data_out"));
- m_centronics->set_output_latch(cent_data_out);
-}
+ MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
+MACHINE_CONFIG_END
const tiny_rom_entry *cms_4080term_device::device_rom_region() const
@@ -147,9 +145,9 @@ void cms_4080term_device::device_start()
{
address_space &space = m_bus->memspace();
- space.install_readwrite_handler(0xfd20, 0xfd2f, read8sm_delegate(FUNC(ef9345_device::data_r), m_ef9345.target()), write8sm_delegate(FUNC(ef9345_device::data_w), m_ef9345.target()));
+ space.install_readwrite_handler(0xfd20, 0xfd2f, read8_delegate(FUNC(ef9345_device::data_r), m_ef9345.target()), write8_delegate(FUNC(ef9345_device::data_w), m_ef9345.target()));
space.install_readwrite_handler(0xfd30, 0xfd3f, read8sm_delegate(FUNC(via6522_device::read), m_via.target()), write8sm_delegate(FUNC(via6522_device::write), m_via.target()));
- space.install_readwrite_handler(0xfd40, 0xfd4f, read8sm_delegate(FUNC(mos6551_device::read), m_acia.target()), write8sm_delegate(FUNC(mos6551_device::write), m_acia.target()));
+ space.install_readwrite_handler(0xfd40, 0xfd4f, read8_delegate(FUNC(mos6551_device::read), m_acia.target()), write8_delegate(FUNC(mos6551_device::write), m_acia.target()));
uint8_t *FNT = memregion("ef9345")->base();
uint16_t dest = 0x2000;
diff --git a/src/devices/bus/acorn/cms/hires.cpp b/src/devices/bus/acorn/cms/hires.cpp
index 9e6e169737b..d15032bd30c 100644
--- a/src/devices/bus/acorn/cms/hires.cpp
+++ b/src/devices/bus/acorn/cms/hires.cpp
@@ -25,24 +25,23 @@ DEFINE_DEVICE_TYPE(CMS_HIRES, cms_hires_device, "cms_hires", "CMS High Resolutio
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void cms_hires_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(cms_hires_device::device_add_mconfig)
/* video hardware */
- SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
+ device = &SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_size(512, 312);
m_screen->set_visarea(0, 512 - 1, 0, 256 - 1);
m_screen->set_refresh_hz(50);
- m_screen->set_screen_update("ef9366", FUNC(ef9365_device::screen_update));
- PALETTE(config, "palette").set_entries(16);
+ MCFG_SCREEN_UPDATE_DEVICE("ef9366", ef9365_device, screen_update)
+ MCFG_PALETTE_ADD("palette", 16)
- TIMER(config, "flash_rate").configure_periodic(FUNC(cms_hires_device::flash_rate), attotime::from_hz(3)); // from 555 timer (4.7uF, 100K, 470R)
+ MCFG_TIMER_DRIVER_ADD_PERIODIC("flash_rate", cms_hires_device, flash_rate, attotime::from_hz(3)) // from 555 timer (4.7uF, 100K, 470R)
EF9365(config, m_gdp, 14_MHz_XTAL / 8);
m_gdp->set_screen("screen");
m_gdp->set_palette_tag("palette");
m_gdp->set_nb_bitplanes(4);
m_gdp->set_display_mode(ef9365_device::DISPLAY_MODE_512x256);
-}
+MACHINE_CONFIG_END
//**************************************************************************
@@ -71,7 +70,7 @@ void cms_hires_device::device_start()
{
address_space &space = m_bus->memspace();
- space.install_readwrite_handler(0xfc10, 0xfc1f, read8sm_delegate(FUNC(ef9365_device::data_r), m_gdp.target()), write8sm_delegate(FUNC(ef9365_device::data_w), m_gdp.target()));
+ space.install_readwrite_handler(0xfc10, 0xfc1f, read8_delegate(FUNC(ef9365_device::data_r), m_gdp.target()), write8_delegate(FUNC(ef9365_device::data_w), m_gdp.target()));
space.install_write_handler(0xfc20, 0xfc2f, write8_delegate(FUNC(cms_hires_device::colour_reg_w), this));
save_item(NAME(m_flash_state));
diff --git a/src/devices/bus/acorn/system/cass.cpp b/src/devices/bus/acorn/system/cass.cpp
index 6e5b8faf40c..092a72f40a3 100644
--- a/src/devices/bus/acorn/system/cass.cpp
+++ b/src/devices/bus/acorn/system/cass.cpp
@@ -24,16 +24,15 @@ DEFINE_DEVICE_TYPE(ACORN_CASS, acorn_cass_device, "acorn_cass", "Acorn Cassette
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void acorn_cass_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(acorn_cass_device::device_add_mconfig)
/* sound hardware */
SPEAKER(config, "mono").front_center();
WAVE(config, "wave", "cassette").add_route(ALL_OUTPUTS, "mono", 0.25);
CASSETTE(config, "cassette", 0);
- TIMER(config, "cass_c").configure_periodic(FUNC(acorn_cass_device::cass_c), attotime::from_hz(4800));
- TIMER(config, "cass_p").configure_periodic(FUNC(acorn_cass_device::cass_p), attotime::from_hz(40000));
-}
+ MCFG_TIMER_DRIVER_ADD_PERIODIC("cass_c", acorn_cass_device, cass_c, attotime::from_hz(4800))
+ MCFG_TIMER_DRIVER_ADD_PERIODIC("cass_p", acorn_cass_device, cass_p, attotime::from_hz(40000))
+MACHINE_CONFIG_END
//**************************************************************************
diff --git a/src/devices/bus/acorn/system/econet.cpp b/src/devices/bus/acorn/system/econet.cpp
index f8e2c6f0ce4..d6613f35bf7 100644
--- a/src/devices/bus/acorn/system/econet.cpp
+++ b/src/devices/bus/acorn/system/econet.cpp
@@ -72,7 +72,7 @@ void acorn_econet_device::device_reset()
{
address_space &space = m_bus->memspace();
- space.install_readwrite_handler(0x1940, 0x1943, read8sm_delegate(FUNC(mc6854_device::read), m_adlc.target()), write8sm_delegate(FUNC(mc6854_device::write), m_adlc.target()));
+ space.install_readwrite_handler(0x1940, 0x1943, read8_delegate(FUNC(mc6854_device::read), m_adlc.target()), write8_delegate(FUNC(mc6854_device::write), m_adlc.target()));
space.install_read_handler(0x1944, 0x1944, read8_delegate(FUNC(acorn_econet_device::statid_r), this));
}
diff --git a/src/devices/bus/acorn/system/fdc.cpp b/src/devices/bus/acorn/system/fdc.cpp
index 179b914d3cf..398736eab9e 100644
--- a/src/devices/bus/acorn/system/fdc.cpp
+++ b/src/devices/bus/acorn/system/fdc.cpp
@@ -85,7 +85,7 @@ void acorn_fdc_device::device_reset()
address_space &space = m_bus->memspace();
space.install_device(0x0a00, 0x0a03, *m_fdc, &i8271_device::map);
- space.install_readwrite_handler(0x0a04, 0x0a04, 0, 0x1f8, 0, read8smo_delegate(FUNC(i8271_device::data_r), m_fdc.target()), write8smo_delegate(FUNC(i8271_device::data_w), m_fdc.target()));
+ space.install_readwrite_handler(0x0a04, 0x0a04, 0, 0x1f8, 0, read8_delegate(FUNC(i8271_device::data_r), m_fdc.target()), write8_delegate(FUNC(i8271_device::data_w), m_fdc.target()));
}
diff --git a/src/devices/bus/acorn/system/vdu40.cpp b/src/devices/bus/acorn/system/vdu40.cpp
index 4f97b778a5b..93d54819fa5 100644
--- a/src/devices/bus/acorn/system/vdu40.cpp
+++ b/src/devices/bus/acorn/system/vdu40.cpp
@@ -25,13 +25,12 @@ DEFINE_DEVICE_TYPE(ACORN_VDU40, acorn_vdu40_device, "acorn_vdu40", "Acorn 40 Col
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void acorn_vdu40_device::device_add_mconfig(machine_config &config)
-{
- SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
+MACHINE_CONFIG_START(acorn_vdu40_device::device_add_mconfig)
+ device = &SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_raw(12_MHz_XTAL, 768, 132, 612, 311, 20, 270);
- m_screen->set_screen_update("mc6845", FUNC(mc6845_device::screen_update));
+ MCFG_SCREEN_UPDATE_DEVICE("mc6845", mc6845_device, screen_update)
- PALETTE(config, "palette").set_entries(8);
+ MCFG_PALETTE_ADD("palette", 8)
HD6845(config, m_crtc, 12_MHz_XTAL / 6);
m_crtc->set_screen("screen");
@@ -42,7 +41,7 @@ void acorn_vdu40_device::device_add_mconfig(machine_config &config)
SAA5050(config, m_trom, 12_MHz_XTAL / 2);
m_trom->set_screen_size(40, 25, 40);
-}
+MACHINE_CONFIG_END
//**************************************************************************
@@ -82,8 +81,8 @@ void acorn_vdu40_device::device_reset()
address_space &space = m_bus->memspace();
space.install_ram(0x0400, 0x07ff, m_videoram.get());
- space.install_readwrite_handler(0x0800, 0x0800, read8smo_delegate(FUNC(mc6845_device::status_r), m_crtc.target()), write8smo_delegate(FUNC(mc6845_device::address_w), m_crtc.target()));
- space.install_readwrite_handler(0x0801, 0x0801, read8smo_delegate(FUNC(mc6845_device::register_r), m_crtc.target()), write8smo_delegate(FUNC(mc6845_device::register_w), m_crtc.target()));
+ space.install_readwrite_handler(0x0800, 0x0800, read8_delegate(FUNC(mc6845_device::status_r), m_crtc.target()), write8_delegate(FUNC(mc6845_device::address_w), m_crtc.target()));
+ space.install_readwrite_handler(0x0801, 0x0801, read8_delegate(FUNC(mc6845_device::register_r), m_crtc.target()), write8_delegate(FUNC(mc6845_device::register_w), m_crtc.target()));
}
diff --git a/src/devices/bus/acorn/system/vdu80.cpp b/src/devices/bus/acorn/system/vdu80.cpp
index ef6cd463baa..65e22414e94 100644
--- a/src/devices/bus/acorn/system/vdu80.cpp
+++ b/src/devices/bus/acorn/system/vdu80.cpp
@@ -87,14 +87,13 @@ GFXDECODE_END
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void acorn_vdu80_device::device_add_mconfig(machine_config &config)
-{
- SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
+MACHINE_CONFIG_START(acorn_vdu80_device::device_add_mconfig)
+ device = &SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_color(rgb_t::white());
m_screen->set_raw(12_MHz_XTAL, 768, 132, 612, 312, 20, 270);
- m_screen->set_screen_update("mc6845", FUNC(mc6845_device::screen_update));
+ MCFG_SCREEN_UPDATE_DEVICE("mc6845", mc6845_device, screen_update)
- GFXDECODE(config, "gfxdecode", m_palette, gfx_acorn_vdu80);
+ MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_acorn_vdu80)
PALETTE(config, m_palette, palette_device::MONOCHROME);
H46505(config, m_crtc, 2_MHz_XTAL);
@@ -102,7 +101,7 @@ void acorn_vdu80_device::device_add_mconfig(machine_config &config)
m_crtc->set_show_border_area(false);
m_crtc->set_char_width(6);
m_crtc->set_update_row_callback(FUNC(acorn_vdu80_device::crtc_update_row), this);
-}
+MACHINE_CONFIG_END
const tiny_rom_entry *acorn_vdu80_device::device_rom_region() const
@@ -152,15 +151,15 @@ void acorn_vdu80_device::device_reset()
{
space.install_ram(0xf000, 0x0f7ff, m_videoram.get());
- space.install_readwrite_handler(0xe840, 0xe840, 0, 0x3f, 0, read8smo_delegate(FUNC(mc6845_device::status_r), m_crtc.target()), write8smo_delegate(FUNC(mc6845_device::address_w), m_crtc.target()));
- space.install_readwrite_handler(0xe841, 0xe841, 0, 0x3e, 0, read8smo_delegate(FUNC(mc6845_device::register_r), m_crtc.target()), write8smo_delegate(FUNC(mc6845_device::register_w), m_crtc.target()));
+ space.install_readwrite_handler(0xe840, 0xe840, 0, 0x3f, 0, read8_delegate(FUNC(mc6845_device::status_r), m_crtc.target()), write8_delegate(FUNC(mc6845_device::address_w), m_crtc.target()));
+ space.install_readwrite_handler(0xe841, 0xe841, 0, 0x3e, 0, read8_delegate(FUNC(mc6845_device::register_r), m_crtc.target()), write8_delegate(FUNC(mc6845_device::register_w), m_crtc.target()));
}
else
{
space.install_ram(0x1000, 0x017ff, m_videoram.get());
- space.install_readwrite_handler(0x1840, 0x1840, 0, 0x3f, 0, read8smo_delegate(FUNC(mc6845_device::status_r), m_crtc.target()), write8smo_delegate(FUNC(mc6845_device::address_w), m_crtc.target()));
- space.install_readwrite_handler(0x1841, 0x1841, 0, 0x3e, 0, read8smo_delegate(FUNC(mc6845_device::register_r), m_crtc.target()), write8smo_delegate(FUNC(mc6845_device::register_w), m_crtc.target()));
+ space.install_readwrite_handler(0x1840, 0x1840, 0, 0x3f, 0, read8_delegate(FUNC(mc6845_device::status_r), m_crtc.target()), write8_delegate(FUNC(mc6845_device::address_w), m_crtc.target()));
+ space.install_readwrite_handler(0x1841, 0x1841, 0, 0x3e, 0, read8_delegate(FUNC(mc6845_device::register_r), m_crtc.target()), write8_delegate(FUNC(mc6845_device::register_w), m_crtc.target()));
}
}
diff --git a/src/devices/bus/acorn/system/vib.cpp b/src/devices/bus/acorn/system/vib.cpp
index e392225f1e0..69a5d2189a4 100644
--- a/src/devices/bus/acorn/system/vib.cpp
+++ b/src/devices/bus/acorn/system/vib.cpp
@@ -26,8 +26,7 @@ DEFINE_DEVICE_TYPE(ACORN_VIB, acorn_vib_device, "acorn_vib", "Acorn Versatile In
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void acorn_vib_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(acorn_vib_device::device_add_mconfig)
INPUT_MERGER_ANY_HIGH(config, m_irqs).output_handler().set(FUNC(acorn_vib_device::irq_w));
VIA6522(config, m_via6522, XTAL(1'000'000));
@@ -38,8 +37,7 @@ void acorn_vib_device::device_add_mconfig(machine_config &config)
CENTRONICS(config, m_centronics, centronics_devices, "printer");
m_centronics->ack_handler().set(m_via6522, FUNC(via6522_device::write_ca1));
m_centronics->busy_handler().set(m_via6522, FUNC(via6522_device::write_pa7));
- output_latch_device &cent_data_out(OUTPUT_LATCH(config, "cent_data_out"));
- m_centronics->set_output_latch(cent_data_out);
+ MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
I8255(config, m_ppi8255, 0);
@@ -55,7 +53,7 @@ void acorn_vib_device::device_add_mconfig(machine_config &config)
CLOCK(config, m_acia_clock, 1.8432_MHz_XTAL);
m_acia_clock->signal_handler().set(FUNC(acorn_vib_device::write_acia_clock));
-}
+MACHINE_CONFIG_END
//**************************************************************************
// LIVE DEVICE
@@ -96,7 +94,7 @@ void acorn_vib_device::device_reset()
address_space &space = m_bus->memspace();
space.install_readwrite_handler(0x0c00, 0x0c0f, 0, 0x10, 0, read8sm_delegate(FUNC(via6522_device::read), m_via6522.target()), write8sm_delegate(FUNC(via6522_device::write), m_via6522.target()));
- space.install_readwrite_handler(0x0c20, 0x0c21, 0, 0x1e, 0, read8sm_delegate(FUNC(acia6850_device::read), m_acia.target()), write8sm_delegate(FUNC(acia6850_device::write), m_acia.target()));
+ space.install_readwrite_handler(0x0c20, 0x0c21, 0, 0x1e, 0, read8_delegate(FUNC(acia6850_device::read), m_acia.target()), write8_delegate(FUNC(acia6850_device::write), m_acia.target()));
space.install_readwrite_handler(0x0c40, 0x0c43, 0, 0x1c, 0, read8sm_delegate(FUNC(i8255_device::read), m_ppi8255.target()), write8sm_delegate(FUNC(i8255_device::write), m_ppi8255.target()));
}
diff --git a/src/devices/bus/adam/adamlink.cpp b/src/devices/bus/adam/adamlink.cpp
index 4dc2d44b3d7..f4227273421 100644
--- a/src/devices/bus/adam/adamlink.cpp
+++ b/src/devices/bus/adam/adamlink.cpp
@@ -47,7 +47,7 @@ void adamlink_device::device_start()
// adam_bd_r - buffered data read
//-------------------------------------------------
-uint8_t adamlink_device::adam_bd_r(offs_t offset, uint8_t data, int bmreq, int biorq, int aux_rom_cs, int cas1, int cas2)
+uint8_t adamlink_device::adam_bd_r(address_space &space, offs_t offset, uint8_t data, int bmreq, int biorq, int aux_rom_cs, int cas1, int cas2)
{
if (!biorq)
{
@@ -69,7 +69,7 @@ uint8_t adamlink_device::adam_bd_r(offs_t offset, uint8_t data, int bmreq, int b
// adam_bd_w - buffered data write
//-------------------------------------------------
-void adamlink_device::adam_bd_w(offs_t offset, uint8_t data, int bmreq, int biorq, int aux_rom_cs, int cas1, int cas2)
+void adamlink_device::adam_bd_w(address_space &space, offs_t offset, uint8_t data, int bmreq, int biorq, int aux_rom_cs, int cas1, int cas2)
{
if (!biorq)
{
diff --git a/src/devices/bus/adam/adamlink.h b/src/devices/bus/adam/adamlink.h
index 6fb07f81c6f..42fd06490f9 100644
--- a/src/devices/bus/adam/adamlink.h
+++ b/src/devices/bus/adam/adamlink.h
@@ -33,8 +33,8 @@ protected:
virtual void device_start() override;
// device_adam_expansion_slot_card_interface overrides
- virtual uint8_t adam_bd_r(offs_t offset, uint8_t data, int bmreq, int biorq, int aux_rom_cs, int cas1, int cas2) override;
- virtual void adam_bd_w(offs_t offset, uint8_t data, int bmreq, int biorq, int aux_rom_cs, int cas1, int cas2) override;
+ virtual uint8_t adam_bd_r(address_space &space, offs_t offset, uint8_t data, int bmreq, int biorq, int aux_rom_cs, int cas1, int cas2) override;
+ virtual void adam_bd_w(address_space &space, offs_t offset, uint8_t data, int bmreq, int biorq, int aux_rom_cs, int cas1, int cas2) override;
};
diff --git a/src/devices/bus/adam/exp.cpp b/src/devices/bus/adam/exp.cpp
index 4555ed961eb..c9d529a68ab 100644
--- a/src/devices/bus/adam/exp.cpp
+++ b/src/devices/bus/adam/exp.cpp
@@ -123,11 +123,11 @@ std::string adam_expansion_slot_device::get_default_card_software(get_default_ca
// bd_r - buffered data read
//-------------------------------------------------
-uint8_t adam_expansion_slot_device::bd_r(offs_t offset, uint8_t data, int bmreq, int biorq, int aux_rom_cs, int cas1, int cas2)
+uint8_t adam_expansion_slot_device::bd_r(address_space &space, offs_t offset, uint8_t data, int bmreq, int biorq, int aux_rom_cs, int cas1, int cas2)
{
if (m_card != nullptr)
{
- data = m_card->adam_bd_r(offset, data, bmreq, biorq, aux_rom_cs, cas1, cas2);
+ data = m_card->adam_bd_r(space, offset, data, bmreq, biorq, aux_rom_cs, cas1, cas2);
}
return data;
@@ -138,11 +138,11 @@ uint8_t adam_expansion_slot_device::bd_r(offs_t offset, uint8_t data, int bmreq,
// cd_w - cartridge data write
//-------------------------------------------------
-void adam_expansion_slot_device::bd_w(offs_t offset, uint8_t data, int bmreq, int biorq, int aux_rom_cs, int cas1, int cas2)
+void adam_expansion_slot_device::bd_w(address_space &space, offs_t offset, uint8_t data, int bmreq, int biorq, int aux_rom_cs, int cas1, int cas2)
{
if (m_card != nullptr)
{
- m_card->adam_bd_w(offset, data, bmreq, biorq, aux_rom_cs, cas1, cas2);
+ m_card->adam_bd_w(space, offset, data, bmreq, biorq, aux_rom_cs, cas1, cas2);
}
}
diff --git a/src/devices/bus/adam/exp.h b/src/devices/bus/adam/exp.h
index 618bc3d365a..063d28b4271 100644
--- a/src/devices/bus/adam/exp.h
+++ b/src/devices/bus/adam/exp.h
@@ -51,8 +51,8 @@ public:
auto irq() { return m_write_irq.bind(); }
// computer interface
- uint8_t bd_r(offs_t offset, uint8_t data, int bmreq, int biorq, int aux_rom_cs, int cas1, int cas2);
- void bd_w(offs_t offset, uint8_t data, int bmreq, int biorq, int aux_rom_cs, int cas1, int cas2);
+ uint8_t bd_r(address_space &space, offs_t offset, uint8_t data, int bmreq, int biorq, int aux_rom_cs, int cas1, int cas2);
+ void bd_w(address_space &space, offs_t offset, uint8_t data, int bmreq, int biorq, int aux_rom_cs, int cas1, int cas2);
// cartridge interface
DECLARE_WRITE_LINE_MEMBER( irq_w ) { m_write_irq(state); }
@@ -96,8 +96,8 @@ protected:
device_adam_expansion_slot_card_interface(const machine_config &mconfig, device_t &device);
// runtime
- virtual uint8_t adam_bd_r(offs_t offset, uint8_t data, int bmreq, int biorq, int aux_rom_cs, int cas1, int cas2) { return data; }
- virtual void adam_bd_w(offs_t offset, uint8_t data, int bmreq, int biorq, int aux_rom_cs, int cas1, int cas2) { }
+ virtual uint8_t adam_bd_r(address_space &space, offs_t offset, uint8_t data, int bmreq, int biorq, int aux_rom_cs, int cas1, int cas2) { return data; }
+ virtual void adam_bd_w(address_space &space, offs_t offset, uint8_t data, int bmreq, int biorq, int aux_rom_cs, int cas1, int cas2) { }
adam_expansion_slot_device *m_slot;
diff --git a/src/devices/bus/adam/ide.cpp b/src/devices/bus/adam/ide.cpp
index 98078003f4b..fe97b7be512 100644
--- a/src/devices/bus/adam/ide.cpp
+++ b/src/devices/bus/adam/ide.cpp
@@ -103,7 +103,7 @@ void powermate_ide_device::device_start()
// adam_bd_r - buffered data read
//-------------------------------------------------
-uint8_t powermate_ide_device::adam_bd_r(offs_t offset, uint8_t data, int bmreq, int biorq, int aux_rom_cs, int cas1, int cas2)
+uint8_t powermate_ide_device::adam_bd_r(address_space &space, offs_t offset, uint8_t data, int bmreq, int biorq, int aux_rom_cs, int cas1, int cas2)
{
if (!biorq)
{
@@ -164,7 +164,7 @@ uint8_t powermate_ide_device::adam_bd_r(offs_t offset, uint8_t data, int bmreq,
// adam_bd_w - buffered data write
//-------------------------------------------------
-void powermate_ide_device::adam_bd_w(offs_t offset, uint8_t data, int bmreq, int biorq, int aux_rom_cs, int cas1, int cas2)
+void powermate_ide_device::adam_bd_w(address_space &space, offs_t offset, uint8_t data, int bmreq, int biorq, int aux_rom_cs, int cas1, int cas2)
{
if (!biorq)
{
diff --git a/src/devices/bus/adam/ide.h b/src/devices/bus/adam/ide.h
index bfce0f9851f..992b66aee3d 100644
--- a/src/devices/bus/adam/ide.h
+++ b/src/devices/bus/adam/ide.h
@@ -39,8 +39,8 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// device_adam_expansion_slot_card_interface overrides
- virtual uint8_t adam_bd_r(offs_t offset, uint8_t data, int bmreq, int biorq, int aux_rom_cs, int cas1, int cas2) override;
- virtual void adam_bd_w(offs_t offset, uint8_t data, int bmreq, int biorq, int aux_rom_cs, int cas1, int cas2) override;
+ virtual uint8_t adam_bd_r(address_space &space, offs_t offset, uint8_t data, int bmreq, int biorq, int aux_rom_cs, int cas1, int cas2) override;
+ virtual void adam_bd_w(address_space &space, offs_t offset, uint8_t data, int bmreq, int biorq, int aux_rom_cs, int cas1, int cas2) override;
private:
required_device<ata_interface_device> m_ata;
diff --git a/src/devices/bus/adam/ram.cpp b/src/devices/bus/adam/ram.cpp
index a7e79719867..2a756000dc2 100644
--- a/src/devices/bus/adam/ram.cpp
+++ b/src/devices/bus/adam/ram.cpp
@@ -49,7 +49,7 @@ void adam_ram_expansion_device::device_start()
// adam_bd_r - buffered data read
//-------------------------------------------------
-uint8_t adam_ram_expansion_device::adam_bd_r(offs_t offset, uint8_t data, int bmreq, int biorq, int aux_rom_cs, int cas1, int cas2)
+uint8_t adam_ram_expansion_device::adam_bd_r(address_space &space, offs_t offset, uint8_t data, int bmreq, int biorq, int aux_rom_cs, int cas1, int cas2)
{
if (!cas2)
{
@@ -64,7 +64,7 @@ uint8_t adam_ram_expansion_device::adam_bd_r(offs_t offset, uint8_t data, int bm
// adam_bd_w - buffered data write
//-------------------------------------------------
-void adam_ram_expansion_device::adam_bd_w(offs_t offset, uint8_t data, int bmreq, int biorq, int aux_rom_cs, int cas1, int cas2)
+void adam_ram_expansion_device::adam_bd_w(address_space &space, offs_t offset, uint8_t data, int bmreq, int biorq, int aux_rom_cs, int cas1, int cas2)
{
if (!cas2)
{
diff --git a/src/devices/bus/adam/ram.h b/src/devices/bus/adam/ram.h
index 780d51be726..80ec417f3cc 100644
--- a/src/devices/bus/adam/ram.h
+++ b/src/devices/bus/adam/ram.h
@@ -33,8 +33,8 @@ protected:
virtual void device_start() override;
// device_adam_expansion_slot_card_interface overrides
- virtual uint8_t adam_bd_r(offs_t offset, uint8_t data, int bmreq, int biorq, int aux_rom_cs, int cas1, int cas2) override;
- virtual void adam_bd_w(offs_t offset, uint8_t data, int bmreq, int biorq, int aux_rom_cs, int cas1, int cas2) override;
+ virtual uint8_t adam_bd_r(address_space &space, offs_t offset, uint8_t data, int bmreq, int biorq, int aux_rom_cs, int cas1, int cas2) override;
+ virtual void adam_bd_w(address_space &space, offs_t offset, uint8_t data, int bmreq, int biorq, int aux_rom_cs, int cas1, int cas2) override;
private:
optional_shared_ptr<uint8_t> m_ram;
diff --git a/src/devices/bus/adamnet/adamnet.h b/src/devices/bus/adamnet/adamnet.h
index 51fc46a38dd..c9090bf5482 100644
--- a/src/devices/bus/adamnet/adamnet.h
+++ b/src/devices/bus/adamnet/adamnet.h
@@ -21,6 +21,17 @@
#define ADAMNET_TAG "adamnet"
+
+//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_ADAMNET_SLOT_ADD(_tag, _slot_intf, _def_slot) \
+ MCFG_DEVICE_ADD(_tag, ADAMNET_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
+
+
+
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
diff --git a/src/devices/bus/adamnet/ddp.cpp b/src/devices/bus/adamnet/ddp.cpp
index ede3719c910..cf267e95a36 100644
--- a/src/devices/bus/adamnet/ddp.cpp
+++ b/src/devices/bus/adamnet/ddp.cpp
@@ -70,8 +70,7 @@ static const struct CassetteOptions adam_cassette_options =
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void adam_digital_data_pack_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(adam_digital_data_pack_device::device_add_mconfig)
M6801(config, m_maincpu, XTAL(4'000'000));
m_maincpu->set_addrmap(AS_PROGRAM, &adam_digital_data_pack_device::adam_ddp_mem);
m_maincpu->out_p1_cb().set(FUNC(adam_digital_data_pack_device::p1_w));
@@ -80,18 +79,18 @@ void adam_digital_data_pack_device::device_add_mconfig(machine_config &config)
// Port 3 = Multiplexed Address/Data
m_maincpu->in_p4_cb().set(FUNC(adam_digital_data_pack_device::p4_r));
- CASSETTE(config, m_ddp0);
- m_ddp0->set_formats(coleco_adam_cassette_formats);
- m_ddp0->set_create_opts(&adam_cassette_options);
- m_ddp0->set_default_state(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_MUTED);
- m_ddp0->set_interface("adam_cass");
-
- CASSETTE(config, m_ddp1);
- m_ddp1->set_formats(coleco_adam_cassette_formats);
- m_ddp1->set_create_opts(&adam_cassette_options);
- m_ddp1->set_default_state(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_MUTED);
- m_ddp1->set_interface("adam_cass");
-}
+ MCFG_CASSETTE_ADD("cassette")
+ MCFG_CASSETTE_FORMATS(coleco_adam_cassette_formats)
+ MCFG_CASSETTE_CREATE_OPTS(&adam_cassette_options)
+ MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_MUTED)
+ MCFG_CASSETTE_INTERFACE("adam_cass")
+
+ MCFG_CASSETTE_ADD("cassette2")
+ MCFG_CASSETTE_FORMATS(coleco_adam_cassette_formats)
+ MCFG_CASSETTE_CREATE_OPTS(&adam_cassette_options)
+ MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_MUTED)
+ MCFG_CASSETTE_INTERFACE("adam_cass")
+MACHINE_CONFIG_END
diff --git a/src/devices/bus/adamnet/spi.cpp b/src/devices/bus/adamnet/spi.cpp
index 6ad84bbed7c..612bb11c547 100644
--- a/src/devices/bus/adamnet/spi.cpp
+++ b/src/devices/bus/adamnet/spi.cpp
@@ -64,8 +64,7 @@ void adam_spi_device::adam_spi_mem(address_map &map)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void adam_spi_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(adam_spi_device::device_add_mconfig)
M6801(config, m_maincpu, XTAL(4'000'000));
m_maincpu->set_addrmap(AS_PROGRAM, &adam_spi_device::adam_spi_mem);
m_maincpu->in_p2_cb().set(FUNC(adam_spi_device::p2_r));
@@ -79,9 +78,8 @@ void adam_spi_device::device_add_mconfig(machine_config &config)
centronics_device &centronics(CENTRONICS(config, "centronics", centronics_devices, "printer"));
centronics.set_data_input_buffer("cent_data_in");
INPUT_BUFFER(config, "cent_data_in");
- output_latch_device &cent_data_out(OUTPUT_LATCH(config, "cent_data_out"));
- centronics.set_output_latch(cent_data_out);
-}
+ MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
+MACHINE_CONFIG_END
diff --git a/src/devices/bus/amiga/zorro/a2052.cpp b/src/devices/bus/amiga/zorro/a2052.cpp
index 515c568c019..f2cef15b32e 100644
--- a/src/devices/bus/amiga/zorro/a2052.cpp
+++ b/src/devices/bus/amiga/zorro/a2052.cpp
@@ -81,10 +81,10 @@ void a2052_device::autoconfig_base_address(offs_t address)
logerror("-> installing a2052\n");
// stop responding to default autoconfig
- m_slot->space().unmap_readwrite(0xe80000, 0xe8007f);
+ m_slot->m_space->unmap_readwrite(0xe80000, 0xe8007f);
// install access to the rom space
- m_slot->space().install_ram(address, address + m_ram.size()*2 - 1, &m_ram[0]);
+ m_slot->m_space->install_ram(address, address + m_ram.size()*2 - 1, &m_ram[0]);
// we're done
m_slot->cfgout_w(0);
@@ -128,7 +128,7 @@ WRITE_LINE_MEMBER( a2052_device::cfgin_w )
autoconfig_can_shutup(true); // ?
// install autoconfig handler
- m_slot->space().install_readwrite_handler(0xe80000, 0xe8007f,
+ m_slot->m_space->install_readwrite_handler(0xe80000, 0xe8007f,
read16_delegate(FUNC(amiga_autoconfig::autoconfig_read), static_cast<amiga_autoconfig *>(this)),
write16_delegate(FUNC(amiga_autoconfig::autoconfig_write), static_cast<amiga_autoconfig *>(this)), 0xffff);
}
diff --git a/src/devices/bus/amiga/zorro/a2058.cpp b/src/devices/bus/amiga/zorro/a2058.cpp
index e8d6e8c28fb..8fc58669d14 100644
--- a/src/devices/bus/amiga/zorro/a2058.cpp
+++ b/src/devices/bus/amiga/zorro/a2058.cpp
@@ -89,10 +89,10 @@ void a2058_device::autoconfig_base_address(offs_t address)
logerror("-> installing a2058\n");
// stop responding to default autoconfig
- m_slot->space().unmap_readwrite(0xe80000, 0xe8007f);
+ m_slot->m_space->unmap_readwrite(0xe80000, 0xe8007f);
// install access to the rom space
- m_slot->space().install_ram(address, address + (m_ram_size << 20) - 1, m_ram.get());
+ m_slot->m_space->install_ram(address, address + (m_ram_size << 20) - 1, m_ram.get());
// we're done
m_slot->cfgout_w(0);
@@ -140,7 +140,7 @@ WRITE_LINE_MEMBER( a2058_device::cfgin_w )
autoconfig_can_shutup(true); // ?
// install autoconfig handler
- m_slot->space().install_readwrite_handler(0xe80000, 0xe8007f,
+ m_slot->m_space->install_readwrite_handler(0xe80000, 0xe8007f,
read16_delegate(FUNC(amiga_autoconfig::autoconfig_read), static_cast<amiga_autoconfig *>(this)),
write16_delegate(FUNC(amiga_autoconfig::autoconfig_write), static_cast<amiga_autoconfig *>(this)), 0xffff);
}
diff --git a/src/devices/bus/amiga/zorro/a2065.cpp b/src/devices/bus/amiga/zorro/a2065.cpp
index b1b747594cc..9eb0d835db2 100644
--- a/src/devices/bus/amiga/zorro/a2065.cpp
+++ b/src/devices/bus/amiga/zorro/a2065.cpp
@@ -81,20 +81,20 @@ void a2065_device::autoconfig_base_address(offs_t address)
LOG("-> installing a2065\n");
// stop responding to default autoconfig
- m_slot->space().unmap_readwrite(0xe80000, 0xe8007f);
+ m_slot->m_space->unmap_readwrite(0xe80000, 0xe8007f);
// install autoconfig handler to new location
- m_slot->space().install_readwrite_handler(address, address + 0x7f,
+ m_slot->m_space->install_readwrite_handler(address, address + 0x7f,
read16_delegate(FUNC(amiga_autoconfig::autoconfig_read), static_cast<amiga_autoconfig *>(this)),
write16_delegate(FUNC(amiga_autoconfig::autoconfig_write), static_cast<amiga_autoconfig *>(this)), 0xffff);
// install access to lance registers
- m_slot->space().install_readwrite_handler(address + 0x4000, address + 0x4003,
+ m_slot->m_space->install_readwrite_handler(address + 0x4000, address + 0x4003,
read16_delegate(FUNC(am7990_device::regs_r), &(*m_lance)),
write16_delegate(FUNC(am7990_device::regs_w), &(*m_lance)), 0xffff);
// install access to onboard ram (32k)
- m_slot->space().install_readwrite_handler(address + 0x8000, address + 0x8000 + 0x7fff,
+ m_slot->m_space->install_readwrite_handler(address + 0x8000, address + 0x8000 + 0x7fff,
read16_delegate(FUNC(a2065_device::host_ram_r), this),
write16_delegate(FUNC(a2065_device::host_ram_w), this), 0xffff);
@@ -123,7 +123,7 @@ WRITE_LINE_MEMBER( a2065_device::cfgin_w )
autoconfig_can_shutup(true); // ?
// install autoconfig handler
- m_slot->space().install_readwrite_handler(0xe80000, 0xe8007f,
+ m_slot->m_space->install_readwrite_handler(0xe80000, 0xe8007f,
read16_delegate(FUNC(amiga_autoconfig::autoconfig_read), static_cast<amiga_autoconfig *>(this)),
write16_delegate(FUNC(amiga_autoconfig::autoconfig_write), static_cast<amiga_autoconfig *>(this)), 0xffff);
}
diff --git a/src/devices/bus/amiga/zorro/a2232.cpp b/src/devices/bus/amiga/zorro/a2232.cpp
index 24020d7a25d..41334067412 100644
--- a/src/devices/bus/amiga/zorro/a2232.cpp
+++ b/src/devices/bus/amiga/zorro/a2232.cpp
@@ -188,25 +188,25 @@ void a2232_device::autoconfig_base_address(offs_t address)
logerror("-> installing a2232\n");
// stop responding to default autoconfig
- m_slot->space().unmap_readwrite(0xe80000, 0xe8007f);
+ m_slot->m_space->unmap_readwrite(0xe80000, 0xe8007f);
- m_slot->space().install_readwrite_handler(address, address + 0x3fff,
+ m_slot->m_space->install_readwrite_handler(address, address + 0x3fff,
read16_delegate(FUNC(a2232_device::shared_ram_r), this),
write16_delegate(FUNC(a2232_device::shared_ram_w), this), 0xffff);
- m_slot->space().install_readwrite_handler(address + 0x4000, address + 0x4001,
+ m_slot->m_space->install_readwrite_handler(address + 0x4000, address + 0x4001,
read16_delegate(FUNC(a2232_device::irq_ack_r), this),
write16_delegate(FUNC(a2232_device::irq_ack_w), this), 0xffff);
- m_slot->space().install_readwrite_handler(address + 0x8000, address + 0x8001,
+ m_slot->m_space->install_readwrite_handler(address + 0x8000, address + 0x8001,
read16_delegate(FUNC(a2232_device::reset_low_r), this),
write16_delegate(FUNC(a2232_device::reset_low_w), this), 0xffff);
- m_slot->space().install_readwrite_handler(address + 0xa000, address + 0xa001,
+ m_slot->m_space->install_readwrite_handler(address + 0xa000, address + 0xa001,
read16_delegate(FUNC(a2232_device::irq_r), this),
write16_delegate(FUNC(a2232_device::irq_w), this), 0xffff);
- m_slot->space().install_readwrite_handler(address + 0xc000, address + 0xc001,
+ m_slot->m_space->install_readwrite_handler(address + 0xc000, address + 0xc001,
read16_delegate(FUNC(a2232_device::reset_high_r), this),
write16_delegate(FUNC(a2232_device::reset_high_w), this), 0xffff);
@@ -236,7 +236,7 @@ WRITE_LINE_MEMBER( a2232_device::cfgin_w )
autoconfig_can_shutup(true); // ?
// install autoconfig handler
- m_slot->space().install_readwrite_handler(0xe80000, 0xe8007f,
+ m_slot->m_space->install_readwrite_handler(0xe80000, 0xe8007f,
read16_delegate(FUNC(amiga_autoconfig::autoconfig_read), static_cast<amiga_autoconfig *>(this)),
write16_delegate(FUNC(amiga_autoconfig::autoconfig_write), static_cast<amiga_autoconfig *>(this)), 0xffff);
}
@@ -344,13 +344,13 @@ WRITE16_MEMBER( a2232_device::reset_high_w )
template<int N>
READ8_MEMBER( a2232_device::acia_r )
{
- return m_acia[N]->read(offset >> 1);
+ return m_acia[N]->read(space, offset >> 1);
}
template<int N>
WRITE8_MEMBER( a2232_device::acia_w )
{
- m_acia[N]->write(offset >> 1, data);
+ m_acia[N]->write(space, offset >> 1, data);
}
@@ -360,12 +360,12 @@ WRITE8_MEMBER( a2232_device::acia_w )
READ8_MEMBER( a2232_device::cia_r )
{
- return m_cia->read(offset >> 1);
+ return m_cia->read(space, offset >> 1);
}
WRITE8_MEMBER( a2232_device::cia_w )
{
- m_cia->write(offset >> 1, data);
+ m_cia->write(space, offset >> 1, data);
}
READ8_MEMBER( a2232_device::cia_port_a_r )
diff --git a/src/devices/bus/amiga/zorro/a590.cpp b/src/devices/bus/amiga/zorro/a590.cpp
index 045a0eab7c8..32328b2f944 100644
--- a/src/devices/bus/amiga/zorro/a590.cpp
+++ b/src/devices/bus/amiga/zorro/a590.cpp
@@ -10,9 +10,8 @@
#include "emu.h"
#include "a590.h"
-#include "machine/nscsi_bus.h"
-#include "machine/nscsi_cd.h"
-#include "machine/nscsi_hd.h"
+#include "bus/scsi/scsi.h"
+#include "bus/scsi/scsihd.h"
//**************************************************************************
@@ -115,19 +114,6 @@ ioport_constructor a2091_device::device_input_ports() const
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void dmac_hdc_device::scsi_devices(device_slot_interface &device)
-{
- device.option_add("cdrom", NSCSI_CDROM);
- device.option_add("harddisk", NSCSI_HARDDISK);
-}
-
-void dmac_hdc_device::wd33c93(device_t *device)
-{
- device->set_clock(10000000);
- downcast<wd33c93a_device *>(device)->irq_cb().set(*this, FUNC(dmac_hdc_device::scsi_irq_w));
- downcast<wd33c93a_device *>(device)->drq_cb().set(*this, FUNC(dmac_hdc_device::scsi_drq_w));
-}
-
void dmac_hdc_device::device_add_mconfig(machine_config &config)
{
amiga_dmac_device &dmac(AMIGA_DMAC(config, "dmac", 0));
@@ -136,15 +122,12 @@ void dmac_hdc_device::device_add_mconfig(machine_config &config)
dmac.int_handler().set(FUNC(dmac_hdc_device::dmac_int_w));
dmac.cfgout_handler().set(FUNC(dmac_hdc_device::dmac_cfgout_w));
- NSCSI_BUS(config, "scsi", 0);
- NSCSI_CONNECTOR(config, "scsi:0", scsi_devices, nullptr, false);
- NSCSI_CONNECTOR(config, "scsi:1", scsi_devices, "harddisk", false);
- NSCSI_CONNECTOR(config, "scsi:3", scsi_devices, nullptr, false);
- NSCSI_CONNECTOR(config, "scsi:4", scsi_devices, nullptr, false);
- NSCSI_CONNECTOR(config, "scsi:5", scsi_devices, nullptr, false);
- NSCSI_CONNECTOR(config, "scsi:6", scsi_devices, nullptr, false);
- NSCSI_CONNECTOR(config, "scsi:7").option_set("wd33c93", WD33C93A)
- .machine_config([this](device_t *device) { wd33c93(device); });
+ scsi_port_device &scsi(SCSI_PORT(config, "scsi"));
+ scsi.set_slot_device(1, "harddisk", SCSIHD, DEVICE_INPUT_DEFAULTS_NAME(SCSI_ID_1));
+
+ wd33c93_device &scsi_ctrl(WD33C93(config, "wd33c93"));
+ scsi_ctrl.set_scsi_port("scsi");
+ scsi_ctrl.irq_cb().set(FUNC(dmac_hdc_device::scsi_irq_w));
}
@@ -222,7 +205,7 @@ dmac_hdc_device::dmac_hdc_device(const machine_config &mconfig, device_type type
device_t(mconfig, type, tag, owner, clock),
m_int6(false),
m_dmac(*this, "dmac"),
- m_wdc(*this, "scsi:7:wd33c93")
+ m_wdc(*this, "wd33c93")
{
}
@@ -260,7 +243,7 @@ void a590_device::device_start()
set_zorro_device();
// setup DMAC
- m_dmac->set_address_space(&m_slot->space());
+ m_dmac->set_address_space(m_slot->m_space);
m_dmac->set_rom(memregion("bootrom")->base());
}
@@ -269,7 +252,7 @@ void a2091_device::device_start()
set_zorro_device();
// setup DMAC
- m_dmac->set_address_space(&m_slot->space());
+ m_dmac->set_address_space(m_slot->m_space);
m_dmac->set_rom(memregion("bootrom")->base());
}
@@ -344,8 +327,8 @@ READ8_MEMBER( dmac_hdc_device::dmac_scsi_r )
{
switch (offset)
{
- case 0x48: return m_wdc->indir_addr_r();
- case 0x49: return m_wdc->indir_reg_r();
+ case 0x48: return m_wdc->read(space, 0);
+ case 0x49: return m_wdc->read(space, 1);
}
return 0xff;
@@ -355,8 +338,8 @@ WRITE8_MEMBER( dmac_hdc_device::dmac_scsi_w )
{
switch (offset)
{
- case 0x48: m_wdc->indir_addr_w(data); break;
- case 0x49: m_wdc->indir_reg_w(data); break;
+ case 0x48: m_wdc->write(space, 0, data); break;
+ case 0x49: m_wdc->write(space, 1, data); break;
}
}
@@ -373,8 +356,3 @@ WRITE_LINE_MEMBER( dmac_hdc_device::scsi_irq_w )
// should be or'ed with xt-ide IRQ
m_dmac->intx_w(state);
}
-
-WRITE_LINE_MEMBER( dmac_hdc_device::scsi_drq_w )
-{
- m_dmac->xdreq_w(state);
-}
diff --git a/src/devices/bus/amiga/zorro/a590.h b/src/devices/bus/amiga/zorro/a590.h
index 62ea3bd189f..cf051fd30dc 100644
--- a/src/devices/bus/amiga/zorro/a590.h
+++ b/src/devices/bus/amiga/zorro/a590.h
@@ -15,7 +15,7 @@
#include "zorro.h"
#include "machine/dmac.h"
-#include "machine/wd33c9x.h"
+#include "machine/wd33c93.h"
//**************************************************************************
@@ -51,7 +51,7 @@ protected:
// sub-devices
required_device<amiga_dmac_device> m_dmac;
- required_device<wd33c93a_device> m_wdc;
+ required_device<wd33c93_device> m_wdc;
std::vector<uint8_t> m_ram;
@@ -61,10 +61,6 @@ private:
DECLARE_WRITE_LINE_MEMBER( dmac_int_w );
DECLARE_WRITE_LINE_MEMBER( dmac_cfgout_w ) { cfgout_w(state); }
DECLARE_WRITE_LINE_MEMBER( scsi_irq_w );
- DECLARE_WRITE_LINE_MEMBER( scsi_drq_w );
-
- static void scsi_devices(device_slot_interface &device);
- void wd33c93(device_t *device);
};
// ======================> a590_device
diff --git a/src/devices/bus/amiga/zorro/buddha.cpp b/src/devices/bus/amiga/zorro/buddha.cpp
index 376e2824660..b82f2d8818b 100644
--- a/src/devices/bus/amiga/zorro/buddha.cpp
+++ b/src/devices/bus/amiga/zorro/buddha.cpp
@@ -143,18 +143,18 @@ void buddha_device::autoconfig_base_address(offs_t address)
logerror("-> installing buddha\n");
// stop responding to default autoconfig
- m_slot->space().unmap_readwrite(0xe80000, 0xe8007f);
+ m_slot->m_space->unmap_readwrite(0xe80000, 0xe8007f);
// buddha registers
- m_slot->space().install_device(address, address + 0xfff, *this, &buddha_device::mmio_map);
+ m_slot->m_space->install_device(address, address + 0xfff, *this, &buddha_device::mmio_map);
// install autoconfig handler to new location
- m_slot->space().install_readwrite_handler(address, address + 0x7f,
+ m_slot->m_space->install_readwrite_handler(address, address + 0x7f,
read16_delegate(FUNC(amiga_autoconfig::autoconfig_read), static_cast<amiga_autoconfig *>(this)),
write16_delegate(FUNC(amiga_autoconfig::autoconfig_write), static_cast<amiga_autoconfig *>(this)), 0xffff);
// install access to the rom space
- m_slot->space().install_rom(address + 0x1000, address + 0xffff, memregion("bootrom")->base() + 0x1000);
+ m_slot->m_space->install_rom(address + 0x1000, address + 0xffff, memregion("bootrom")->base() + 0x1000);
// we're done
m_slot->cfgout_w(0);
@@ -181,7 +181,7 @@ WRITE_LINE_MEMBER( buddha_device::cfgin_w )
autoconfig_rom_vector(0x1000);
// install autoconfig handler
- m_slot->space().install_readwrite_handler(0xe80000, 0xe8007f,
+ m_slot->m_space->install_readwrite_handler(0xe80000, 0xe8007f,
read16_delegate(FUNC(amiga_autoconfig::autoconfig_read), static_cast<amiga_autoconfig *>(this)),
write16_delegate(FUNC(amiga_autoconfig::autoconfig_write), static_cast<amiga_autoconfig *>(this)), 0xffff);
}
@@ -231,8 +231,8 @@ READ16_MEMBER( buddha_device::ide_0_interrupt_r )
data = m_ide_0_interrupt << 15;
-// if (VERBOSE)
-// logerror("ide_0_interrupt_r %04x [mask = %04x]\n", data, mem_mask);
+ if (VERBOSE && 0)
+ logerror("ide_0_interrupt_r %04x [mask = %04x]\n", data, mem_mask);
return data;
}
@@ -243,8 +243,8 @@ READ16_MEMBER( buddha_device::ide_1_interrupt_r )
data = m_ide_1_interrupt << 15;
-// if (VERBOSE)
-// logerror("ide_1_interrupt_r %04x [mask = %04x]\n", data, mem_mask);
+ if (VERBOSE && 0)
+ logerror("ide_1_interrupt_r %04x [mask = %04x]\n", data, mem_mask);
return data;
}
diff --git a/src/devices/bus/amiga/zorro/zorro.cpp b/src/devices/bus/amiga/zorro/zorro.cpp
index b4f06507d55..fec5d745015 100644
--- a/src/devices/bus/amiga/zorro/zorro.cpp
+++ b/src/devices/bus/amiga/zorro/zorro.cpp
@@ -30,7 +30,7 @@ zorro_slot_device::zorro_slot_device(const machine_config &mconfig, const char *
zorro_slot_device::zorro_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, type, tag, owner, clock),
device_slot_interface(mconfig, *this),
- m_zorro_bus(*this, finder_base::DUMMY_TAG)
+ m_zorro_tag(nullptr)
{
}
@@ -43,7 +43,10 @@ void zorro_slot_device::device_start()
device_zorro_card_interface *dev = dynamic_cast<device_zorro_card_interface *>(get_card_device());
if (dev)
+ {
+ zorro_device *m_zorro_bus = downcast<zorro_device *>(m_owner->subdevice(m_zorro_tag));
m_zorro_bus->add_card(dev);
+ }
}
@@ -57,7 +60,8 @@ void zorro_slot_device::device_start()
zorro_device::zorro_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, type, tag, owner, clock),
- m_space(*this, finder_base::DUMMY_TAG, -1),
+ m_space(nullptr),
+ m_cputag(nullptr),
m_ovr_handler(*this),
m_int2_handler(*this),
m_int6_handler(*this)
@@ -65,27 +69,21 @@ zorro_device::zorro_device(const machine_config &mconfig, device_type type, cons
}
//-------------------------------------------------
-// device_resolve_objects - resolve objects that
-// may be needed for other devices to set
-// initial conditions at start time
+// device_start - device-specific startup
//-------------------------------------------------
-void zorro_device::device_resolve_objects()
+void zorro_device::device_start()
{
+ // get address space
+ device_t *cpu = machine().device(m_cputag);
+ m_space = &cpu->memory().space(AS_PROGRAM);
+
// resolve callbacks
m_ovr_handler.resolve_safe();
m_int2_handler.resolve_safe();
m_int6_handler.resolve_safe();
}
-//-------------------------------------------------
-// device_start - device-specific startup
-//-------------------------------------------------
-
-void zorro_device::device_start()
-{
-}
-
// from slot device
WRITE_LINE_MEMBER( zorro_device::ovr_w ) { m_ovr_handler(state); }
WRITE_LINE_MEMBER( zorro_device::int2_w ) { m_int2_handler(state); }
@@ -117,18 +115,16 @@ exp_slot_device::exp_slot_device(const machine_config &mconfig, device_type type
}
//-------------------------------------------------
-// device_resolve_objects - resolve objects that
-// may be needed for other devices to set
-// initial conditions at start time
+// device_start - device-specific startup
//-------------------------------------------------
-void exp_slot_device::device_resolve_objects()
+void exp_slot_device::device_start()
{
// resolve callbacks
m_ipl_handler.resolve_safe();
- // call base device
- zorro_device::device_resolve_objects();
+ // call base device start
+ zorro_device::device_start();
}
//-------------------------------------------------
@@ -194,12 +190,10 @@ zorro2_device::~zorro2_device()
}
//-------------------------------------------------
-// device_resolve_objects - resolve objects that
-// may be needed for other devices to set
-// initial conditions at start time
+// device_start - device-specific startup
//-------------------------------------------------
-void zorro2_device::device_resolve_objects()
+void zorro2_device::device_start()
{
// resolve callbacks
m_eint1_handler.resolve_safe();
@@ -207,8 +201,8 @@ void zorro2_device::device_resolve_objects()
m_eint5_handler.resolve_safe();
m_eint7_handler.resolve_safe();
- // call base device
- zorro_device::device_resolve_objects();
+ // call base device start
+ zorro_device::device_start();
}
//-------------------------------------------------
diff --git a/src/devices/bus/amiga/zorro/zorro.h b/src/devices/bus/amiga/zorro/zorro.h
index 4ad72da638b..3686f050002 100644
--- a/src/devices/bus/amiga/zorro/zorro.h
+++ b/src/devices/bus/amiga/zorro/zorro.h
@@ -145,6 +145,76 @@
//**************************************************************************
+// CONSTANTS / MACROS
+//**************************************************************************
+
+#define EXP_SLOT_TAG "exp"
+#define ZORROBUS_TAG "zorrobus"
+
+
+//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_ZORRO_SLOT_ADD(_zorrotag, _tag, _slot_intf, _def_slot) \
+ MCFG_DEVICE_ADD(_tag, ZORRO_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false) \
+ downcast<zorro_slot_device &>(*device).set_zorro_slot(this, _zorrotag);
+
+// ======================> expansion slot
+
+#define MCFG_EXPANSION_SLOT_ADD(_cputag, _slot_intf, _def_slot) \
+ MCFG_DEVICE_ADD(EXP_SLOT_TAG, EXP_SLOT, 0) \
+ device_t *temp = device; \
+ downcast<zorro_device &>(*device).set_cputag(_cputag); \
+ MCFG_ZORRO_SLOT_ADD(EXP_SLOT_TAG, "slot", _slot_intf, _def_slot) \
+ device = temp;
+
+// callbacks
+#define MCFG_EXPANSION_SLOT_OVR_HANDLER(_devcb) \
+ downcast<zorro_device &>(*device).set_ovr_handler(DEVCB_##_devcb);
+
+#define MCFG_EXPANSION_SLOT_INT2_HANDLER(_devcb) \
+ downcast<zorro_device &>(*device).set_int2_handler(DEVCB_##_devcb);
+
+#define MCFG_EXPANSION_SLOT_INT6_HANDLER(_devcb) \
+ downcast<zorro_device &>(*device).set_int6_handler(DEVCB_##_devcb);
+
+#define MCFG_EXPANSION_SLOT_IPL_HANDLER(_devcb) \
+ downcast<exp_slot_device &>(*device).set_ipl_handler(DEVCB_##_devcb);
+
+// ======================> zorro 2 bus
+
+#define MCFG_ZORRO2_ADD(_cputag) \
+ MCFG_DEVICE_ADD(ZORROBUS_TAG, ZORRO2, 0) \
+ downcast<zorro_device &>(*device).set_cputag(_cputag);
+
+#define MCFG_ZORRO2_SLOT_ADD(_tag, _slot_intf, _def_slot) \
+ MCFG_ZORRO_SLOT_ADD(ZORROBUS_TAG, _tag, _slot_intf, _def_slot)
+
+#define MCFG_ZORRO2_OVR_HANDLER(_devcb) \
+ downcast<zorro_device &>(*device).set_ovr_handler(DEVCB_##_devcb);
+
+#define MCFG_ZORRO2_INT2_HANDLER(_devcb) \
+ downcast<zorro_device &>(*device).set_int2_handler(DEVCB_##_devcb);
+
+#define MCFG_ZORRO2_INT6_HANDLER(_devcb) \
+ downcast<zorro_device &>(*device).set_int6_handler(DEVCB_##_devcb);
+
+#define MCFG_ZORRO2_EINT1_HANDLER(_devcb) \
+ downcast<zorro2_device &>(*device).set_eint1_handler(DEVCB_##_devcb);
+
+#define MCFG_ZORRO2_EINT4_HANDLER(_devcb) \
+ downcast<zorro2_device &>(*device).set_eint4_handler(DEVCB_##_devcb);
+
+#define MCFG_ZORRO2_EINT5_HANDLER(_devcb) \
+ downcast<zorro2_device &>(*device).set_eint5_handler(DEVCB_##_devcb);
+
+#define MCFG_ZORRO2_EINT7_HANDLER(_devcb) \
+ downcast<zorro2_device &>(*device).set_eint7_handler(DEVCB_##_devcb);
+
+
+//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -152,7 +222,6 @@
class device_zorro_card_interface;
class device_exp_card_interface;
class device_zorro2_card_interface;
-class zorro_device;
// ======================> zorro slot device
@@ -161,28 +230,18 @@ class zorro_slot_device : public device_t, public device_slot_interface
public:
// construction/destruction
zorro_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- template <typename T, typename O>
- zorro_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, T &&zorrotag, O &&opts, const char *dflt)
- : zorro_slot_device(mconfig, tag, owner, 0)
- {
- set_zorro_slot(std::forward<T>(zorrotag));
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
// device-level overrides
virtual void device_start() override;
// inline configuration
- template <class T> void set_zorro_slot(T &&zorro_tag) { m_zorro_bus.set_tag(zorro_tag); }
+ void set_zorro_slot(device_t *owner, const char *zorro_tag) { m_owner = owner; m_zorro_tag = zorro_tag; }
protected:
zorro_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
// configuration
- required_device<zorro_device> m_zorro_bus;
+ const char *m_zorro_tag;
};
// device type definition
@@ -194,11 +253,11 @@ class zorro_device : public device_t
{
public:
// configuration helpers
- template <class T> void set_space(T &&tag, int spacenum) { m_space.set_tag(std::forward<T>(tag), spacenum); }
+ void set_cputag(const char *tag) { m_cputag = tag; }
- auto int2_handler() { return m_int2_handler.bind(); }
- auto int6_handler() { return m_int6_handler.bind(); }
- auto ovr_handler() { return m_ovr_handler.bind(); }
+ template <class Object> devcb_base &set_int2_handler(Object &&cb) { return m_int2_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_int6_handler(Object &&cb) { return m_int6_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_ovr_handler(Object &&cb) { return m_ovr_handler.set_callback(std::forward<Object>(cb)); }
virtual void add_card(device_zorro_card_interface *card) = 0;
@@ -213,18 +272,17 @@ public:
virtual void fc_w(int code) = 0;
// access to the host space
- address_space &space() const { return *m_space; }
+ address_space *m_space;
protected:
// construction/destruction
zorro_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void device_resolve_objects() override;
virtual void device_start() override;
private:
- required_address_space m_space;
+ const char *m_cputag;
devcb_write_line m_ovr_handler;
devcb_write_line m_int2_handler;
@@ -239,7 +297,7 @@ public:
// construction/destruction
exp_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- auto ipl_handler() { return m_ipl_handler.bind(); }
+ template <class Object> devcb_base &set_ipl_handler(Object &&cb) { return m_ipl_handler.set_callback(std::forward<Object>(cb)); }
// the expansion slot can only have a single card
virtual void add_card(device_zorro_card_interface *card) override;
@@ -254,7 +312,7 @@ protected:
exp_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void device_resolve_objects() override;
+ virtual void device_start() override;
virtual void device_reset() override;
private:
@@ -275,10 +333,10 @@ public:
zorro2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
~zorro2_device();
- auto eint1_handler() { return m_eint1_handler.bind(); }
- auto eint4_handler() { return m_eint4_handler.bind(); }
- auto eint5_handler() { return m_eint5_handler.bind(); }
- auto eint7_handler() { return m_eint7_handler.bind(); }
+ template <class Object> devcb_base &set_eint1_handler(Object &&cb) { return m_eint1_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_eint4_handler(Object &&cb) { return m_eint4_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_eint5_handler(Object &&cb) { return m_eint5_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_eint7_handler(Object &&cb) { return m_eint7_handler.set_callback(std::forward<Object>(cb)); }
// the zorro2 bus supports multiple cards
virtual void add_card(device_zorro_card_interface *card) override;
@@ -298,7 +356,7 @@ protected:
zorro2_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void device_resolve_objects() override;
+ virtual void device_start() override;
virtual void device_reset() override;
private:
diff --git a/src/devices/bus/apf/slot.h b/src/devices/bus/apf/slot.h
index 3678124c3e9..92ebbe4ad43 100644
--- a/src/devices/bus/apf/slot.h
+++ b/src/devices/bus/apf/slot.h
@@ -59,17 +59,7 @@ class apf_cart_slot_device : public device_t,
{
public:
// construction/destruction
- template <typename T>
- apf_cart_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt)
- : apf_cart_slot_device(mconfig, tag, owner, 0)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
-
- apf_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+ apf_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~apf_cart_slot_device();
// device-level overrides
@@ -120,4 +110,8 @@ DECLARE_DEVICE_TYPE(APF_CART_SLOT, apf_cart_slot_device)
#define APFSLOT_ROM_REGION_TAG ":cart:rom"
+#define MCFG_APF_CARTRIDGE_ADD(_tag,_slot_intf,_def_slot) \
+ MCFG_DEVICE_ADD(_tag, APF_CART_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
+
#endif // MAME_BUS_APF_SLOT_H
diff --git a/src/devices/bus/apricot/expansion/cards.cpp b/src/devices/bus/apricot/expansion/cards.cpp
index ef0243bf412..d2c35366e42 100644
--- a/src/devices/bus/apricot/expansion/cards.cpp
+++ b/src/devices/bus/apricot/expansion/cards.cpp
@@ -9,12 +9,10 @@
#include "emu.h"
#include "cards.h"
#include "ram.h"
-#include "winchester.h"
void apricot_expansion_cards(device_slot_interface &device)
{
device.option_add("128k", APRICOT_128K_RAM);
device.option_add("256k", APRICOT_256K_RAM);
device.option_add("512k", APRICOT_512K_RAM);
- device.option_add("winchester", APRICOT_WINCHESTER);
}
diff --git a/src/devices/bus/apricot/expansion/expansion.cpp b/src/devices/bus/apricot/expansion/expansion.cpp
index 5a89c9a8868..98141860782 100644
--- a/src/devices/bus/apricot/expansion/expansion.cpp
+++ b/src/devices/bus/apricot/expansion/expansion.cpp
@@ -59,16 +59,18 @@ DEFINE_DEVICE_TYPE(APRICOT_EXPANSION_BUS, apricot_expansion_bus_device, "apricot
apricot_expansion_bus_device::apricot_expansion_bus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, APRICOT_EXPANSION_BUS, tag, owner, clock),
- m_program(*this, finder_base::DUMMY_TAG, -1),
- m_io(*this, finder_base::DUMMY_TAG, -1),
- m_program_iop(*this, finder_base::DUMMY_TAG, -1),
- m_io_iop(*this, finder_base::DUMMY_TAG, -1),
+ m_program(nullptr),
+ m_io(nullptr),
+ m_program_iop(nullptr),
+ m_io_iop(nullptr),
m_dma1_handler(*this),
m_dma2_handler(*this),
m_ext1_handler(*this),
m_ext2_handler(*this),
m_int2_handler(*this),
- m_int3_handler(*this)
+ m_int3_handler(*this),
+ m_cpu(*this, finder_base::DUMMY_TAG),
+ m_iop(*this, finder_base::DUMMY_TAG)
{
}
@@ -97,6 +99,19 @@ void apricot_expansion_bus_device::device_start()
}
//-------------------------------------------------
+// device_reset - device-specific reset
+//-------------------------------------------------
+
+void apricot_expansion_bus_device::device_reset()
+{
+ m_program = &m_cpu->space(AS_PROGRAM);
+ m_io = &m_cpu->space(AS_IO);
+
+ m_program_iop = &m_iop->space(AS_PROGRAM);
+ m_io_iop = &m_iop->space(AS_IO);
+}
+
+//-------------------------------------------------
// add_card - add new card to our bus
//-------------------------------------------------
diff --git a/src/devices/bus/apricot/expansion/expansion.h b/src/devices/bus/apricot/expansion/expansion.h
index 93c529f24e3..85b0e47dc5e 100644
--- a/src/devices/bus/apricot/expansion/expansion.h
+++ b/src/devices/bus/apricot/expansion/expansion.h
@@ -89,14 +89,16 @@ class apricot_expansion_bus_device : public device_t
{
public:
// construction/destruction
+ template <typename T, typename U>
+ apricot_expansion_bus_device(const machine_config &mconfig, const char *tag, device_t *owner, T &&cpu_tag, U &&iop_tag)
+ : apricot_expansion_bus_device(mconfig, tag, owner, (uint32_t)0)
+ {
+ m_cpu.set_tag(std::forward<T>(cpu_tag));
+ m_iop.set_tag(std::forward<U>(iop_tag));
+ }
apricot_expansion_bus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~apricot_expansion_bus_device();
- template <typename T> void set_program_space(T &&tag, int spacenum) { m_program.set_tag(std::forward<T>(tag), spacenum); }
- template <typename T> void set_io_space(T &&tag, int spacenum) { m_io.set_tag(std::forward<T>(tag), spacenum); }
- template <typename T> void set_program_iop_space(T &&tag, int spacenum) { m_program_iop.set_tag(std::forward<T>(tag), spacenum); }
- template <typename T> void set_io_iop_space(T &&tag, int spacenum) { m_io_iop.set_tag(std::forward<T>(tag), spacenum); }
-
auto dma1() { return m_dma1_handler.bind(); }
auto dma2() { return m_dma2_handler.bind(); }
auto ext1() { return m_ext1_handler.bind(); }
@@ -116,26 +118,19 @@ public:
void install_ram(offs_t addrstart, offs_t addrend, void *baseptr);
- template<typename T> void install_io_device(offs_t addrstart, offs_t addrend, T &device, void (T::*map)(class address_map &map), uint64_t unitmask = ~u64(0))
- {
- m_io->install_device(addrstart, addrend, device, map, unitmask);
-
- if (m_io_iop)
- m_io_iop->install_device(addrstart, addrend, device, map, unitmask);
- }
-
protected:
// device-level overrides
virtual void device_start() override;
+ virtual void device_reset() override;
private:
simple_list<device_apricot_expansion_card_interface> m_dev;
// address spaces we have access to
- required_address_space m_program;
- required_address_space m_io;
- optional_address_space m_program_iop;
- optional_address_space m_io_iop;
+ address_space *m_program;
+ address_space *m_io;
+ address_space *m_program_iop;
+ address_space *m_io_iop;
devcb_write_line m_dma1_handler;
devcb_write_line m_dma2_handler;
@@ -143,6 +138,10 @@ private:
devcb_write_line m_ext2_handler;
devcb_write_line m_int2_handler;
devcb_write_line m_int3_handler;
+
+ // configuration
+ required_device<cpu_device> m_cpu;
+ required_device<cpu_device> m_iop;
};
// device type definition
diff --git a/src/devices/bus/apricot/expansion/winchester.cpp b/src/devices/bus/apricot/expansion/winchester.cpp
deleted file mode 100644
index f16752b3ede..00000000000
--- a/src/devices/bus/apricot/expansion/winchester.cpp
+++ /dev/null
@@ -1,254 +0,0 @@
-// license:GPL-2.0+
-// copyright-holders:Dirk Best
-/***************************************************************************
-
- ACT Apricot Winchester Controller
-
- Version Rev 9
-
-***************************************************************************/
-
-#include "emu.h"
-#include "winchester.h"
-#include "imagedev/harddriv.h"
-
-//#define LOG_GENERAL (1U << 0)
-#define LOG_REGS (1U << 1)
-#define LOG_DATA (1U << 2)
-
-//#define VERBOSE (LOG_REGS)
-//#define LOG_OUTPUT_STREAM std::cout
-
-#include "logmacro.h"
-
-#define LOGREGS(...) LOGMASKED(LOG_REGS, __VA_ARGS__)
-#define LOGDATA(...) LOGMASKED(LOG_DATA, __VA_ARGS__)
-
-
-//**************************************************************************
-// DEVICE DEFINITIONS
-//**************************************************************************
-
-DEFINE_DEVICE_TYPE(APRICOT_WINCHESTER, apricot_winchester_device, "apricot_winchester", "Apricot Winchester Controller Board")
-
-//-------------------------------------------------
-// regs - controller register i/o map
-//-------------------------------------------------
-
-void apricot_winchester_device::regs(address_map &map)
-{
- map(0x0e0, 0x0ef).rw(m_hdc, FUNC(wd1010_device::read), FUNC(wd1010_device::write)).umask16(0x00ff);
- map(0x1e0, 0x1e0).rw(FUNC(apricot_winchester_device::int_r), FUNC(apricot_winchester_device::head_w<0>)).umask16(0x00ff);
- map(0x1e2, 0x1e2).w(FUNC(apricot_winchester_device::head_w<1>)).umask16(0x00ff);
- map(0x1e4, 0x1e4).w(FUNC(apricot_winchester_device::head_w<2>)).umask16(0x00ff);
- map(0x1e6, 0x1e6).w(FUNC(apricot_winchester_device::drive_w<0>)).umask16(0x00ff);
- map(0x1e8, 0x1e8).w(FUNC(apricot_winchester_device::xferd_w)).umask16(0x00ff); // transferred
- map(0x1ea, 0x1ea).w(FUNC(apricot_winchester_device::hbcr_w)).umask16(0x00ff); // host buffer clear register
- map(0x1ec, 0x1ec).w(FUNC(apricot_winchester_device::clksel_w)).umask16(0x00ff); // buffer chip read/write clock select (host or wdc)
- map(0x1ee, 0x1ee).w(FUNC(apricot_winchester_device::drive_w<1>)).umask16(0x00ff);
- map(0x1f0, 0x1f0).rw(FUNC(apricot_winchester_device::data_r), FUNC(apricot_winchester_device::data_w)).umask16(0x00ff);
-}
-
-//-------------------------------------------------
-// device_add_mconfig - add device configuration
-//-------------------------------------------------
-
-void apricot_winchester_device::device_add_mconfig(machine_config &config)
-{
- WD1010(config, m_hdc, 5000000);
- m_hdc->out_intrq_callback().set(FUNC(apricot_winchester_device::hdc_intrq_w));
- m_hdc->in_data_callback().set(FUNC(apricot_winchester_device::hdc_data_r));
- m_hdc->out_data_callback().set(FUNC(apricot_winchester_device::hdc_data_w));
-
- HARDDISK(config, "hdc:0", 0);
- HARDDISK(config, "hdc:1", 0);
-}
-
-
-//**************************************************************************
-// LIVE DEVICE
-//**************************************************************************
-
-//-------------------------------------------------
-// apricot_winchester_device - constructor
-//-------------------------------------------------
-
-apricot_winchester_device::apricot_winchester_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, APRICOT_WINCHESTER, tag, owner, clock),
- device_apricot_expansion_card_interface(mconfig, *this),
- m_hdc(*this, "hdc"),
- m_ram_ptr(0),
- m_int(0),
- m_drive(0),
- m_head(0),
- m_hbcr(0),
- m_clksel(0)
-{
-}
-
-//-------------------------------------------------
-// device_start - device-specific startup
-//-------------------------------------------------
-
-void apricot_winchester_device::device_start()
-{
- // allocate 8-bit buffer ram (8k)
- m_ram = std::make_unique<uint8_t[]>(0x2000);
-
- // register for save states
- save_pointer(NAME(m_ram), 0x2000);
- save_item(NAME(m_ram_ptr));
- save_item(NAME(m_int));
- save_item(NAME(m_drive));
- save_item(NAME(m_head));
- save_item(NAME(m_hbcr));
- save_item(NAME(m_clksel));
-}
-
-//-------------------------------------------------
-// device_reset - device-specific reset
-//-------------------------------------------------
-
-void apricot_winchester_device::device_reset()
-{
- m_bus->install_io_device(0x000, 0xfff, *this, &apricot_winchester_device::regs);
-}
-
-
-//**************************************************************************
-// IMPLEMENTATION
-//**************************************************************************
-
-WRITE_LINE_MEMBER( apricot_winchester_device::hdc_intrq_w )
-{
- LOGREGS("hdc_intrq_w: %d\n", state);
-
- m_int = state;
- m_bus->int2_w(state);
-}
-
-READ8_MEMBER( apricot_winchester_device::hdc_data_r )
-{
- uint8_t data = 0xff;
-
- if (m_clksel == 1)
- {
- LOGDATA("hdc_data_r[%04x]\n", m_ram_ptr);
-
- data = m_ram[m_ram_ptr];
- if (m_ram_ptr < 0x1fff)
- m_ram_ptr++;
- }
-
- return data;
-}
-
-WRITE8_MEMBER( apricot_winchester_device::hdc_data_w )
-{
- if (m_clksel == 1)
- {
- LOGDATA("hdc_data_w[%04x] = %02x\n", m_ram_ptr, data);
-
- m_ram[m_ram_ptr] = data;
- if (m_ram_ptr < 0x1fff)
- m_ram_ptr++;
- }
-}
-
-READ8_MEMBER( apricot_winchester_device::int_r )
-{
- return m_int;
-}
-
-template<int N>
-WRITE8_MEMBER( apricot_winchester_device::head_w )
-{
- m_head = (m_head & ~(1 << N)) | (BIT(data, 0) << N);
- LOGREGS("Select head: %d\n", m_head);
-}
-
-template<int N>
-WRITE8_MEMBER( apricot_winchester_device::drive_w )
-{
- m_drive = (m_drive & ~(1 << N)) | (BIT(data, 0) << N);
- LOGREGS("Select drive: %d\n", m_drive);
-
- // forward drive status to the hdc
- harddisk_image_device *drive = nullptr;
-
- switch (m_drive)
- {
- case 0:
- drive = nullptr;
- break;
- case 1:
- drive = m_hdc->subdevice<harddisk_image_device>("0");
- break;
- case 2:
- drive = m_hdc->subdevice<harddisk_image_device>("1");
- break;
- case 3:
- // both (invalid?)
- drive = nullptr;
- break;
- }
-
- m_hdc->drdy_w(drive != nullptr && drive->exists());
-}
-
-WRITE8_MEMBER( apricot_winchester_device::xferd_w )
-{
- LOGREGS("xferd_w: %02x\n", data);
-
- m_hdc->brdy_w(BIT(data, 0));
-}
-
-WRITE8_MEMBER( apricot_winchester_device::hbcr_w )
-{
- LOGREGS("hbcr_w: %02x\n", data);
-
- // reset ram pointer on high->low transition
- if (m_hbcr == 1 && data == 0)
- m_ram_ptr = 0;
-
- m_hbcr = BIT(data, 0);
-}
-
-WRITE8_MEMBER( apricot_winchester_device::clksel_w )
-{
- LOGREGS("clksel_w: %02x\n", data);
-
- m_clksel = BIT(data, 0);
-}
-
-READ8_MEMBER( apricot_winchester_device::data_r )
-{
- uint8_t data = 0xff;
-
- if (m_clksel == 0)
- {
- LOGDATA("data_r[%04x]\n", m_ram_ptr);
-
- data = m_ram[m_ram_ptr];
-
- // wrap or stop at end?
- if (m_ram_ptr < 0x1fff)
- m_ram_ptr++;
- }
-
- return data;
-}
-
-WRITE8_MEMBER( apricot_winchester_device::data_w )
-{
- if (m_clksel == 0)
- {
- LOGDATA("data_w[%04x] = %02x\n", m_ram_ptr, data);
-
- m_ram[m_ram_ptr] = data;
-
- // wrap or stop at end?
- if (m_ram_ptr < 0x1fff)
- m_ram_ptr++;
- }
-}
diff --git a/src/devices/bus/apricot/expansion/winchester.h b/src/devices/bus/apricot/expansion/winchester.h
deleted file mode 100644
index c4c82ab0585..00000000000
--- a/src/devices/bus/apricot/expansion/winchester.h
+++ /dev/null
@@ -1,66 +0,0 @@
-// license:GPL-2.0+
-// copyright-holders:Dirk Best
-/***************************************************************************
-
- ACT Apricot Winchester Controller
-
-***************************************************************************/
-
-#ifndef MAME_BUS_APRICOT_WINCHESTER_H
-#define MAME_BUS_APRICOT_WINCHESTER_H
-
-#pragma once
-
-#include "expansion.h"
-#include "machine/wd1010.h"
-
-
-//**************************************************************************
-// TYPE DEFINITIONS
-//**************************************************************************
-
-// ======================> apricot_winchester_device
-
-class apricot_winchester_device : public device_t, public device_apricot_expansion_card_interface
-{
-public:
- // construction/destruction
- apricot_winchester_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
-protected:
- // device-level overrides
- virtual void device_add_mconfig(machine_config &config) override;
- virtual void device_start() override;
- virtual void device_reset() override;
-
-private:
- DECLARE_WRITE_LINE_MEMBER(hdc_intrq_w);
- DECLARE_READ8_MEMBER(hdc_data_r);
- DECLARE_WRITE8_MEMBER(hdc_data_w);
- DECLARE_READ8_MEMBER(int_r);
- template<int N> DECLARE_WRITE8_MEMBER(head_w);
- template<int N> DECLARE_WRITE8_MEMBER(drive_w);
- DECLARE_WRITE8_MEMBER(xferd_w);
- DECLARE_WRITE8_MEMBER(hbcr_w);
- DECLARE_WRITE8_MEMBER(clksel_w);
- DECLARE_WRITE8_MEMBER(drvsel2_w);
- DECLARE_READ8_MEMBER(data_r);
- DECLARE_WRITE8_MEMBER(data_w);
-
- void regs(address_map &map);
-
- required_device<wd1010_device> m_hdc;
-
- std::unique_ptr<uint8_t[]> m_ram;
- unsigned m_ram_ptr;
- int m_int;
- int m_drive;
- int m_head;
- int m_hbcr;
- int m_clksel;
-};
-
-// device type definition
-DECLARE_DEVICE_TYPE(APRICOT_WINCHESTER, apricot_winchester_device)
-
-#endif // MAME_BUS_APRICOT_WINCHESTER_H
diff --git a/src/devices/bus/apricot/keyboard/hle.cpp b/src/devices/bus/apricot/keyboard/hle.cpp
index 28e98b9fb50..c8df35cd0cb 100644
--- a/src/devices/bus/apricot/keyboard/hle.cpp
+++ b/src/devices/bus/apricot/keyboard/hle.cpp
@@ -6,6 +6,7 @@
TODO:
- MicroScreen emulation
+ - Mouse emulation
- LEDs
Keyboard to System:
@@ -187,17 +188,6 @@ static INPUT_PORTS_START( keyboard )
PORT_START("row_c")
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_ENTER_PAD) PORT_CHAR(UCHAR_MAMEKEY(ENTER_PAD))
-
- PORT_START("mouse_b")
- PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_BUTTON2) PORT_NAME("Mouse Right Button")
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_NAME("Mouse Left Button")
- PORT_BIT(0x0c, IP_ACTIVE_HIGH, IPT_UNUSED)
-
- PORT_START("mouse_x")
- PORT_BIT(0xff, 0x00, IPT_MOUSE_X) PORT_SENSITIVITY(75) PORT_KEYDELTA(5)
-
- PORT_START("mouse_y")
- PORT_BIT(0xff, 0x00, IPT_MOUSE_Y) PORT_SENSITIVITY(50) PORT_KEYDELTA(5)
INPUT_PORTS_END
ioport_constructor apricot_keyboard_hle_device::device_input_ports() const
@@ -205,12 +195,9 @@ ioport_constructor apricot_keyboard_hle_device::device_input_ports() const
return INPUT_PORTS_NAME( keyboard );
}
-void apricot_keyboard_hle_device::device_add_mconfig(machine_config &config)
-{
- MSM5832(config, m_rtc, 32.768_kHz_XTAL);
-
- TIMER(config, "timer").configure_periodic(FUNC(apricot_keyboard_hle_device::mouse_callback), attotime::from_hz(60));
-}
+MACHINE_CONFIG_START(apricot_keyboard_hle_device::device_add_mconfig)
+ MCFG_DEVICE_ADD("rtc", MSM5832, 32.768_kHz_XTAL)
+MACHINE_CONFIG_END
//**************************************************************************
@@ -227,12 +214,7 @@ apricot_keyboard_hle_device::apricot_keyboard_hle_device(const machine_config &m
device_buffered_serial_interface(mconfig, *this),
device_matrix_keyboard_interface(mconfig, *this, "row_0", "row_1", "row_2", "row_3", "row_4", "row_5", "row_6", "row_7", "row_8", "row_9", "row_a", "row_b", "row_c"),
m_rtc(*this, "rtc"),
- m_mouse_b(*this, "mouse_b"),
- m_mouse_x(*this, "mouse_x"),
- m_mouse_y(*this, "mouse_y"),
- m_rtc_index(0),
- m_mouse_enabled(false),
- m_mouse_last_b(0), m_mouse_last_x(0), m_mouse_last_y(0)
+ m_rtc_index(0)
{
}
@@ -242,12 +224,6 @@ apricot_keyboard_hle_device::apricot_keyboard_hle_device(const machine_config &m
void apricot_keyboard_hle_device::device_start()
{
- // register for save states
- save_item(NAME(m_rtc_index));
- save_item(NAME(m_mouse_enabled));
- save_item(NAME(m_mouse_last_b));
- save_item(NAME(m_mouse_last_x));
- save_item(NAME(m_mouse_last_y));
}
//-------------------------------------------------
@@ -332,16 +308,6 @@ void apricot_keyboard_hle_device::received_byte(uint8_t byte)
break;
- case CMD_ENABLE_MOUSE:
- logerror("System enables mouse\n");
- m_mouse_enabled = true;
- break;
-
- case CMD_DISABLE_MOUSE:
- logerror("System disables mouse\n");
- m_mouse_enabled = false;
- break;
-
case CMD_KEYBOARD_RESET:
logerror("System requests keyboard reset\n");
transmit_byte(ACK_DIAGNOSTICS);
@@ -381,44 +347,3 @@ void apricot_keyboard_hle_device::out_w(int state)
{
device_buffered_serial_interface::rx_w(state);
}
-
-//-------------------------------------------------
-// mouse_callback - check for new mouse events
-//-------------------------------------------------
-
-TIMER_DEVICE_CALLBACK_MEMBER( apricot_keyboard_hle_device::mouse_callback )
-{
- if (m_mouse_enabled)
- {
- // get mouse state
- uint8_t buttons = m_mouse_b->read();
- uint8_t x = m_mouse_x->read();
- uint8_t y = m_mouse_y->read();
-
- // anything changed since last time?
- if (buttons != m_mouse_last_b || x != m_mouse_last_x || y != m_mouse_last_y)
- {
- // mouse header
- transmit_byte(0xef);
-
- // button state
- transmit_byte(0x70 | buttons);
-
- int8_t dx = x - m_mouse_last_x;
- int8_t dy = y - m_mouse_last_y;
-
- // y direction change
- transmit_byte(0x70 | ((dy >> 4) & 0x0f));
- transmit_byte(0x70 | ((dy >> 0) & 0x0f));
-
- // x direction change
- transmit_byte(0x70 | ((dx >> 4) & 0x0f));
- transmit_byte(0x70 | ((dx >> 0) & 0x0f));
-
- // save mouse state for next run
- m_mouse_last_b = buttons;
- m_mouse_last_x = x;
- m_mouse_last_y = y;
- }
- }
-}
diff --git a/src/devices/bus/apricot/keyboard/hle.h b/src/devices/bus/apricot/keyboard/hle.h
index c9738598a57..5565ff6026a 100644
--- a/src/devices/bus/apricot/keyboard/hle.h
+++ b/src/devices/bus/apricot/keyboard/hle.h
@@ -14,7 +14,6 @@
#include "keyboard.h"
#include "machine/keyboard.h"
#include "machine/msm5832.h"
-#include "machine/timer.h"
#include "diserial.h"
@@ -52,13 +51,9 @@ protected:
virtual void key_break(uint8_t row, uint8_t column) override;
private:
- TIMER_DEVICE_CALLBACK_MEMBER(mouse_callback);
-
enum {
CMD_REQ_TIME_AND_DATE = 0xe1,
CMD_SET_TIME_AND_DATE = 0xe4,
- CMD_ENABLE_MOUSE = 0xe5,
- CMD_DISABLE_MOUSE = 0xe6,
CMD_KEYBOARD_RESET = 0xe8
};
@@ -67,15 +62,8 @@ private:
};
required_device<msm5832_device> m_rtc;
- required_ioport m_mouse_b;
- required_ioport m_mouse_x;
- required_ioport m_mouse_y;
int m_rtc_index;
- bool m_mouse_enabled;
- uint8_t m_mouse_last_b;
- uint8_t m_mouse_last_x;
- uint8_t m_mouse_last_y;
};
diff --git a/src/devices/bus/astrocde/accessory.cpp b/src/devices/bus/astrocde/accessory.cpp
deleted file mode 100644
index fe7727b855d..00000000000
--- a/src/devices/bus/astrocde/accessory.cpp
+++ /dev/null
@@ -1,112 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Ryan Holtz
-
-#include "emu.h"
-#include "accessory.h"
-
-#include <cassert>
-
-
-//**************************************************************************
-// GLOBAL VARIABLES
-//**************************************************************************
-
-DEFINE_DEVICE_TYPE(ASTROCADE_ACCESSORY_PORT, astrocade_accessory_port_device, "astrocade_accessory_port", "Bally Astrocade Accessory Port")
-
-
-//**************************************************************************
-// Bally Astrocade accessory interface
-//**************************************************************************
-
-device_astrocade_accessory_interface::device_astrocade_accessory_interface(const machine_config &mconfig, device_t &device)
- : device_slot_card_interface(mconfig, device)
- , m_port(dynamic_cast<astrocade_accessory_port_device *>(device.owner()))
-{
-}
-
-device_astrocade_accessory_interface::~device_astrocade_accessory_interface()
-{
-}
-
-void device_astrocade_accessory_interface::interface_validity_check(validity_checker &valid) const
-{
- device_slot_card_interface::interface_validity_check(valid);
-
- if (device().owner() && !m_port)
- {
- osd_printf_error("Owner device %s (%s) is not an astrocade_accessory_port_device\n", device().owner()->tag(), device().owner()->name());
- }
-}
-
-void device_astrocade_accessory_interface::interface_pre_start()
-{
- device_slot_card_interface::interface_pre_start();
-
- if (m_port && !m_port->started())
- throw device_missing_dependencies();
-}
-
-
-//**************************************************************************
-// Bally Astrocade accessory port
-//**************************************************************************
-
-astrocade_accessory_port_device::astrocade_accessory_port_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, ASTROCADE_ACCESSORY_PORT, tag, owner, clock)
- , device_slot_interface(mconfig, *this)
- , m_ltpen(0)
- , m_ltpen_handler(*this)
- , m_screen(*this, finder_base::DUMMY_TAG)
- , m_device(nullptr)
-{
-}
-
-astrocade_accessory_port_device::~astrocade_accessory_port_device()
-{
-}
-
-void astrocade_accessory_port_device::device_validity_check(validity_checker &valid) const
-{
- device_t *const card(get_card_device());
- if (card && !dynamic_cast<device_astrocade_accessory_interface *>(card))
- {
- osd_printf_error("Card device %s (%s) does not implement device_astrocade_accessory_interface\n", card->tag(), card->name());
- }
-}
-
-void astrocade_accessory_port_device::device_resolve_objects()
-{
- device_astrocade_accessory_interface *const card(dynamic_cast<device_astrocade_accessory_interface *>(get_card_device()));
- if (card)
- {
- m_device = card;
- m_device->set_screen(m_screen);
- }
-
- m_ltpen_handler.resolve_safe();
-}
-
-void astrocade_accessory_port_device::device_start()
-{
- device_t *const card(get_card_device());
- if (card)
- {
- if (!m_device)
- {
- throw emu_fatalerror("astrocade_accessory_port_device: card device %s (%s) does not implement device_astrocade_accessory_interface\n", card->tag(), card->name());
- }
- }
-
- save_item(NAME(m_ltpen));
-
- m_ltpen = 0;
-
- m_ltpen_handler(0);
-}
-
-#include "lightpen.h"
-
-void astrocade_accessories(device_slot_interface &device)
-{
- device.option_add("lightpen", ASTROCADE_LIGHTPEN);
-}
diff --git a/src/devices/bus/astrocde/accessory.h b/src/devices/bus/astrocde/accessory.h
deleted file mode 100644
index d745e464cd2..00000000000
--- a/src/devices/bus/astrocde/accessory.h
+++ /dev/null
@@ -1,99 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Ryan Holtz
-#ifndef MAME_BUS_ASTROCDE_ACCESSORY_H
-#define MAME_BUS_ASTROCDE_ACCESSORY_H
-
-#pragma once
-
-#include "screen.h"
-
-
-/***************************************************************************
- FORWARD DECLARATIONS
- ***************************************************************************/
-
-class device_astrocade_accessory_interface;
-
-
-/***************************************************************************
- TYPE DEFINITIONS
- ***************************************************************************/
-
-// ======================> astrocade_accessory_port_device
-
-class astrocade_accessory_port_device : public device_t, public device_slot_interface
-{
-public:
- // construction/destruction
- template <typename T, typename U>
- astrocade_accessory_port_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&screen_tag, U &&opts, char const *dflt)
- : astrocade_accessory_port_device(mconfig, tag, owner, 0U)
- {
- m_screen.set_tag(std::forward<T>(screen_tag));
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
- astrocade_accessory_port_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock = 0U);
- virtual ~astrocade_accessory_port_device();
-
- auto ltpen_handler() { return m_ltpen_handler.bind(); }
-
-protected:
- // device_t implementation
- virtual void device_validity_check(validity_checker &valid) const override ATTR_COLD;
- virtual void device_resolve_objects() override;
- virtual void device_start() override;
-
- int m_ltpen;
- devcb_write_line m_ltpen_handler;
- required_device<screen_device> m_screen;
-
-private:
- device_astrocade_accessory_interface *m_device;
-
- friend class device_astrocade_accessory_interface;
-};
-
-
-// ======================> device_astrocade_accessory_interface
-
-class device_astrocade_accessory_interface : public device_slot_card_interface
-{
-public:
- virtual ~device_astrocade_accessory_interface();
-
- DECLARE_WRITE_LINE_MEMBER( write_ltpen ) { m_port->m_ltpen = state; m_port->m_ltpen_handler(state); }
-
-protected:
- device_astrocade_accessory_interface(machine_config const &mconfig, device_t &device);
-
- // device_interface implementation
- virtual void interface_validity_check(validity_checker &valid) const override ATTR_COLD;
- virtual void interface_pre_start() override;
-
- void set_screen(screen_device *screen) { m_screen = screen; }
- screen_device *m_screen;
-
-private:
- astrocade_accessory_port_device *const m_port;
-
- friend class astrocade_accessory_port_device;
-};
-
-
-/***************************************************************************
- FUNCTIONS
- ***************************************************************************/
-
-void astrocade_accessories(device_slot_interface &device);
-
-
-/***************************************************************************
- DEVICE TYPES
- ***************************************************************************/
-
-DECLARE_DEVICE_TYPE(ASTROCADE_ACCESSORY_PORT, astrocade_accessory_port_device)
-
-#endif // MAME_BUS_ASTROCDE_ACCESSORY_H
diff --git a/src/devices/bus/astrocde/cassette.cpp b/src/devices/bus/astrocde/cassette.cpp
deleted file mode 100644
index 3e4cc80deb8..00000000000
--- a/src/devices/bus/astrocde/cassette.cpp
+++ /dev/null
@@ -1,130 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Ryan Holtz
-//
-// Decoding is done in hardware by an external box, and decoded bits are fed to bit 0 of the controller port,
-// with sync bits being fed to bit 1. The current HLE is not remotely accurate to hardware, but works.
-
-#include "emu.h"
-#include "cassette.h"
-
-//**************************************************************************
-// GLOBAL VARIABLES
-//**************************************************************************
-
-DEFINE_DEVICE_TYPE(ASTROCADE_CASSETTE, astrocade_cassette_device, "astrocade_cass", "Bally Astrocade Cassette")
-
-
-//**************************************************************************
-// Bally Astrocade cassette input
-//**************************************************************************
-
-astrocade_cassette_device::astrocade_cassette_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, ASTROCADE_CASSETTE, tag, owner, clock)
- , device_astrocade_ctrl_interface(mconfig, *this)
- , m_cassette(*this, "cassette")
-{
-}
-
-astrocade_cassette_device::~astrocade_cassette_device()
-{
-}
-
-void astrocade_cassette_device::device_start()
-{
- save_item(NAME(m_cass_wave));
- save_item(NAME(m_cass_delta));
- save_item(NAME(m_cass_wave_ticks));
- save_item(NAME(m_cass_cycles));
- save_item(NAME(m_cass_mark));
-}
-
-void astrocade_cassette_device::device_reset()
-{
- m_cass_wave = 0.0;
- m_cass_delta = 0.0;
- m_cass_wave_ticks = 0;
- m_cass_cycles = 0;
- m_cass_mark = false;
-}
-
-uint8_t astrocade_cassette_device::read_handle()
-{
- if (m_cass_data.size())
- {
- const uint8_t data = m_cass_data.front();
- m_cass_data.pop();
- return data;
- }
- return 0;
-}
-
-uint8_t astrocade_cassette_device::read_knob()
-{
- return 0;
-}
-
-TIMER_DEVICE_CALLBACK_MEMBER(astrocade_cassette_device::check_cassette_wave)
-{
- if (m_cassette->get_state() & CASSETTE_MOTOR_DISABLED)
- return;
-
- double old_cass_wave = m_cass_wave;
- m_cass_wave = m_cassette->input();
-
- bool cycled = false;
- if (old_cass_wave != m_cass_wave)
- {
- double old_delta = m_cass_delta;
- m_cass_delta = m_cass_wave - old_cass_wave;
- if (old_delta < 0.0 && m_cass_delta > 0.0)
- {
- cycled = true;
- }
- }
-
- if (cycled)
- {
- m_cass_mark = m_cass_wave_ticks <= 30;
-
- m_cass_wave_ticks = 0;
-
- m_cass_cycles++;
- if (m_cass_mark)
- {
- if (m_cass_cycles >= 8)
- {
- m_cass_data.push(1);
- m_cass_cycles = 0;
- }
- }
- else
- {
- if (m_cass_cycles >= 4)
- {
- m_cass_data.push(0);
- m_cass_cycles = 0;
- }
- }
- }
-
- m_cass_wave_ticks++;
-}
-
-TIMER_DEVICE_CALLBACK_MEMBER(astrocade_cassette_device::pulse_cassette_clock)
-{
- if (m_cass_data.size())
- {
- write_ltpen(1);
- write_ltpen(0);
- }
-}
-
-void astrocade_cassette_device::device_add_mconfig(machine_config &config)
-{
- CASSETTE(config, m_cassette);
- m_cassette->set_default_state(CASSETTE_STOPPED);
- m_cassette->set_interface("astrocade_cass");
-
- TIMER(config, "kcs_hle").configure_periodic(FUNC(astrocade_cassette_device::check_cassette_wave), attotime::from_hz(48000));
- TIMER(config, "kcs_clk").configure_periodic(FUNC(astrocade_cassette_device::pulse_cassette_clock), attotime::from_hz(300));
-}
diff --git a/src/devices/bus/astrocde/cassette.h b/src/devices/bus/astrocde/cassette.h
deleted file mode 100644
index d36e8a1bfd7..00000000000
--- a/src/devices/bus/astrocde/cassette.h
+++ /dev/null
@@ -1,61 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Ryan Holtz
-#ifndef MAME_BUS_ASTROCDE_CASSETTE_H
-#define MAME_BUS_ASTROCDE_CASSETTE_H
-
-#pragma once
-
-#include "ctrl.h"
-#include "imagedev/cassette.h"
-#include "machine/timer.h"
-
-#include <queue>
-
-
-/***************************************************************************
- TYPE DEFINITIONS
- ***************************************************************************/
-
-// ======================> astrocade_cassette_device
-
-class astrocade_cassette_device : public device_t,
- public device_astrocade_ctrl_interface
-{
-public:
- static constexpr feature_type imperfect_features() { return feature::TAPE; }
-
- // construction/destruction
- astrocade_cassette_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock = 0U);
- virtual ~astrocade_cassette_device();
-
- // device_astrocade_ctrl_interface implementation
- virtual uint8_t read_handle() override;
- virtual uint8_t read_knob() override;
-
-protected:
- // device_t implementation
- virtual void device_start() override;
- virtual void device_reset() override;
- virtual void device_add_mconfig(machine_config &config) override;
-
- TIMER_DEVICE_CALLBACK_MEMBER(check_cassette_wave);
- TIMER_DEVICE_CALLBACK_MEMBER(pulse_cassette_clock);
-
-private:
- required_device<cassette_image_device> m_cassette;
- double m_cass_wave;
- double m_cass_delta;
- uint32_t m_cass_wave_ticks;
- uint32_t m_cass_cycles;
- bool m_cass_mark;
- std::queue<uint8_t> m_cass_data;
-};
-
-
-/***************************************************************************
- DEVICE TYPES
- ***************************************************************************/
-
-DECLARE_DEVICE_TYPE(ASTROCADE_CASSETTE, astrocade_cassette_device)
-
-#endif // MAME_BUS_ASTROCDE_CASSETTE_H
diff --git a/src/devices/bus/astrocde/ctrl.cpp b/src/devices/bus/astrocde/ctrl.cpp
deleted file mode 100644
index 89cd60ca6a5..00000000000
--- a/src/devices/bus/astrocde/ctrl.cpp
+++ /dev/null
@@ -1,120 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Ryan Holtz
-
-#include "emu.h"
-#include "ctrl.h"
-
-#include <cassert>
-
-
-//**************************************************************************
-// GLOBAL VARIABLES
-//**************************************************************************
-
-DEFINE_DEVICE_TYPE(ASTROCADE_CTRL_PORT, astrocade_ctrl_port_device, "astrocade_ctrl_port", "Bally Astrocade Control Port")
-
-
-//**************************************************************************
-// Bally Astrocade controller interface
-//**************************************************************************
-
-device_astrocade_ctrl_interface::device_astrocade_ctrl_interface(const machine_config &mconfig, device_t &device)
- : device_slot_card_interface(mconfig, device)
- , m_port(dynamic_cast<astrocade_ctrl_port_device *>(device.owner()))
-{
-}
-
-device_astrocade_ctrl_interface::~device_astrocade_ctrl_interface()
-{
-}
-
-void device_astrocade_ctrl_interface::interface_validity_check(validity_checker &valid) const
-{
- device_slot_card_interface::interface_validity_check(valid);
-
- if (device().owner() && !m_port)
- {
- osd_printf_error("Owner device %s (%s) is not an astrocade_ctrl_port_device\n", device().owner()->tag(), device().owner()->name());
- }
-}
-
-void device_astrocade_ctrl_interface::interface_pre_start()
-{
- device_slot_card_interface::interface_pre_start();
-
- if (m_port && !m_port->started())
- throw device_missing_dependencies();
-}
-
-
-//**************************************************************************
-// Bally Astrocade controller port
-//**************************************************************************
-
-astrocade_ctrl_port_device::astrocade_ctrl_port_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, ASTROCADE_CTRL_PORT, tag, owner, clock)
- , device_slot_interface(mconfig, *this)
- , m_ltpen(0)
- , m_ltpen_handler(*this)
- , m_device(nullptr)
-{
-}
-
-astrocade_ctrl_port_device::~astrocade_ctrl_port_device()
-{
-}
-
-void astrocade_ctrl_port_device::device_validity_check(validity_checker &valid) const
-{
- device_t *const card(get_card_device());
- if (card && !dynamic_cast<device_astrocade_ctrl_interface *>(card))
- {
- osd_printf_error("Card device %s (%s) does not implement device_astrocade_ctrl_interface\n", card->tag(), card->name());
- }
-}
-
-void astrocade_ctrl_port_device::device_resolve_objects()
-{
- device_astrocade_ctrl_interface *const card(dynamic_cast<device_astrocade_ctrl_interface *>(get_card_device()));
- if (card)
- m_device = card;
-
- m_ltpen_handler.resolve_safe();
-}
-
-void astrocade_ctrl_port_device::device_start()
-{
- device_t *const card(get_card_device());
- if (card)
- {
- if (!m_device)
- {
- throw emu_fatalerror("astrocade_ctrl_port_device: card device %s (%s) does not implement device_astrocade_ctrl_interface\n", card->tag(), card->name());
- }
- }
-
- save_item(NAME(m_ltpen));
-
- m_ltpen = 0;
-
- m_ltpen_handler(0);
-}
-
-uint8_t astrocade_ctrl_port_device::read_handle()
-{
- return m_device ? m_device->read_handle() : 0;
-}
-
-uint8_t astrocade_ctrl_port_device::read_knob()
-{
- return m_device ? m_device->read_knob() : 0;
-}
-
-#include "joy.h"
-#include "cassette.h"
-
-void astrocade_controllers(device_slot_interface &device)
-{
- device.option_add("joy", ASTROCADE_JOY);
- device.option_add("cassette", ASTROCADE_CASSETTE);
-}
diff --git a/src/devices/bus/astrocde/ctrl.h b/src/devices/bus/astrocde/ctrl.h
deleted file mode 100644
index 0cc34ea4dcc..00000000000
--- a/src/devices/bus/astrocde/ctrl.h
+++ /dev/null
@@ -1,98 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Ryan Holtz
-#ifndef MAME_BUS_ASTROCDE_CTRL_H
-#define MAME_BUS_ASTROCDE_CTRL_H
-
-#pragma once
-
-
-/***************************************************************************
- FORWARD DECLARATIONS
- ***************************************************************************/
-
-class device_astrocade_ctrl_interface;
-
-
-/***************************************************************************
- TYPE DEFINITIONS
- ***************************************************************************/
-
-// ======================> astrocade_ctrl_port_device
-
-class astrocade_ctrl_port_device : public device_t, public device_slot_interface
-{
-public:
- // construction/destruction
- template <typename T>
- astrocade_ctrl_port_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt)
- : astrocade_ctrl_port_device(mconfig, tag, owner, 0U)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
- astrocade_ctrl_port_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock = 0U);
- virtual ~astrocade_ctrl_port_device();
-
- auto ltpen_handler() { return m_ltpen_handler.bind(); }
-
- uint8_t read_handle();
- uint8_t read_knob();
-
-protected:
- // device_t implementation
- virtual void device_validity_check(validity_checker &valid) const override ATTR_COLD;
- virtual void device_resolve_objects() override;
- virtual void device_start() override;
-
- int m_ltpen;
- devcb_write_line m_ltpen_handler;
-
-private:
- device_astrocade_ctrl_interface *m_device;
-
- friend class device_astrocade_ctrl_interface;
-};
-
-
-// ======================> device_astrocade_ctrl_interface
-
-class device_astrocade_ctrl_interface : public device_slot_card_interface
-{
-public:
- virtual ~device_astrocade_ctrl_interface();
-
- virtual uint8_t read_handle() { return 0; }
- virtual uint8_t read_knob() { return 0; }
-
- DECLARE_WRITE_LINE_MEMBER( write_ltpen ) { m_port->m_ltpen = state; m_port->m_ltpen_handler(state); }
-
-protected:
- device_astrocade_ctrl_interface(machine_config const &mconfig, device_t &device);
-
- // device_interface implementation
- virtual void interface_validity_check(validity_checker &valid) const override ATTR_COLD;
- virtual void interface_pre_start() override;
-
-private:
- astrocade_ctrl_port_device *const m_port;
-
- friend class astrocade_ctrl_port_device;
-};
-
-
-/***************************************************************************
- FUNCTIONS
- ***************************************************************************/
-
-void astrocade_controllers(device_slot_interface &device);
-
-
-/***************************************************************************
- DEVICE TYPES
- ***************************************************************************/
-
-DECLARE_DEVICE_TYPE(ASTROCADE_CTRL_PORT, astrocade_ctrl_port_device)
-
-#endif // MAME_BUS_ASTROCDE_CTRL_H
diff --git a/src/devices/bus/astrocde/exp.cpp b/src/devices/bus/astrocde/exp.cpp
index 9fe3c9f3fda..40b6fbecbc4 100644
--- a/src/devices/bus/astrocde/exp.cpp
+++ b/src/devices/bus/astrocde/exp.cpp
@@ -74,14 +74,6 @@ READ8_MEMBER(astrocade_exp_device::read)
return 0xff;
}
-READ8_MEMBER(astrocade_exp_device::read_io)
-{
- if (m_card)
- return m_card->read_io(space, offset);
- else
- return 0xff;
-}
-
/*-------------------------------------------------
write
-------------------------------------------------*/
@@ -91,9 +83,3 @@ WRITE8_MEMBER(astrocade_exp_device::write)
if (m_card)
m_card->write(space, offset, data);
}
-
-WRITE8_MEMBER(astrocade_exp_device::write_io)
-{
- if (m_card)
- m_card->write_io(space, offset, data);
-}
diff --git a/src/devices/bus/astrocde/exp.h b/src/devices/bus/astrocde/exp.h
index a01db130974..e6c97862224 100644
--- a/src/devices/bus/astrocde/exp.h
+++ b/src/devices/bus/astrocde/exp.h
@@ -14,8 +14,6 @@ public:
// reading and writing
virtual DECLARE_READ8_MEMBER(read) { return 0xff; }
virtual DECLARE_WRITE8_MEMBER(write) { }
- virtual DECLARE_READ8_MEMBER(read_io) { return 0xff; }
- virtual DECLARE_WRITE8_MEMBER(write_io) { }
protected:
device_astrocade_card_interface(const machine_config &mconfig, device_t &device);
@@ -48,8 +46,6 @@ public:
// reading and writing
virtual DECLARE_READ8_MEMBER(read);
virtual DECLARE_WRITE8_MEMBER(write);
- virtual DECLARE_READ8_MEMBER(read_io);
- virtual DECLARE_WRITE8_MEMBER(write_io);
protected:
bool m_card_mounted;
diff --git a/src/devices/bus/astrocde/joy.cpp b/src/devices/bus/astrocde/joy.cpp
deleted file mode 100644
index cbf75da0c5c..00000000000
--- a/src/devices/bus/astrocde/joy.cpp
+++ /dev/null
@@ -1,56 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Ryan Holtz
-
-#include "emu.h"
-#include "joy.h"
-
-//**************************************************************************
-// GLOBAL VARIABLES
-//**************************************************************************
-
-DEFINE_DEVICE_TYPE(ASTROCADE_JOY, astrocade_joy_device, "astrocade_joy", "Bally Astrocade Joystick")
-
-
-//**************************************************************************
-// Bally Astrocade joystick control
-//**************************************************************************
-
-astrocade_joy_device::astrocade_joy_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, ASTROCADE_JOY, tag, owner, clock)
- , device_astrocade_ctrl_interface(mconfig, *this)
- , m_handle(*this, "HANDLE")
- , m_knob(*this, "KNOB")
-{
-}
-
-astrocade_joy_device::~astrocade_joy_device()
-{
-}
-
-uint8_t astrocade_joy_device::read_handle()
-{
- return m_handle->read();
-}
-
-uint8_t astrocade_joy_device::read_knob()
-{
- return m_knob->read();
-}
-
-static INPUT_PORTS_START( astrocade_joy )
- PORT_START("HANDLE")
- PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP) PORT_8WAY
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN) PORT_8WAY
- PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT) PORT_8WAY
- PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT) PORT_8WAY
- PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_BUTTON1)
- PORT_BIT(0xe0, IP_ACTIVE_HIGH, IPT_UNUSED)
-
- PORT_START("KNOB")
- PORT_BIT(0xff, 0x00, IPT_PADDLE) PORT_INVERT PORT_SENSITIVITY(85) PORT_KEYDELTA(10) PORT_CENTERDELTA(0) PORT_MINMAX(0,255) PORT_CODE_DEC(KEYCODE_Z) PORT_CODE_INC(KEYCODE_X)
-INPUT_PORTS_END
-
-ioport_constructor astrocade_joy_device::device_input_ports() const
-{
- return INPUT_PORTS_NAME( astrocade_joy );
-}
diff --git a/src/devices/bus/astrocde/joy.h b/src/devices/bus/astrocde/joy.h
deleted file mode 100644
index bb8f755c845..00000000000
--- a/src/devices/bus/astrocde/joy.h
+++ /dev/null
@@ -1,45 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Ryan Holtz
-#ifndef MAME_BUS_ASTROCDE_JOY_H
-#define MAME_BUS_ASTROCDE_JOY_H
-
-#pragma once
-
-#include "ctrl.h"
-
-/***************************************************************************
- TYPE DEFINITIONS
- ***************************************************************************/
-
-// ======================> astrocade_joy_device
-
-class astrocade_joy_device : public device_t,
- public device_astrocade_ctrl_interface
-{
-public:
- // construction/destruction
- astrocade_joy_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock = 0U);
- virtual ~astrocade_joy_device();
-
- // device_astrocade_ctrl_interface implementation
- virtual uint8_t read_handle() override;
- virtual uint8_t read_knob() override;
-
-protected:
- // device_t implementation
- virtual ioport_constructor device_input_ports() const override;
- virtual void device_start() override { }
-
-private:
- required_ioport m_handle;
- required_ioport m_knob;
-};
-
-
-/***************************************************************************
- DEVICE TYPES
- ***************************************************************************/
-
-DECLARE_DEVICE_TYPE(ASTROCADE_JOY, astrocade_joy_device)
-
-#endif // MAME_BUS_ASTROCDE_JOY_H
diff --git a/src/devices/bus/astrocde/lightpen.cpp b/src/devices/bus/astrocde/lightpen.cpp
deleted file mode 100644
index e31eed122be..00000000000
--- a/src/devices/bus/astrocde/lightpen.cpp
+++ /dev/null
@@ -1,87 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Ryan Holtz
-
-#include "emu.h"
-#include "lightpen.h"
-
-//**************************************************************************
-// GLOBAL VARIABLES
-//**************************************************************************
-
-DEFINE_DEVICE_TYPE(ASTROCADE_LIGHTPEN, astrocade_lightpen_device, "astrocade_lightpen", "Bally Astrocade Light Pen")
-
-
-//**************************************************************************
-// Bally Astrocade light pen input
-//**************************************************************************
-
-astrocade_lightpen_device::astrocade_lightpen_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, ASTROCADE_LIGHTPEN, tag, owner, clock)
- , device_astrocade_accessory_interface(mconfig, *this)
- , m_trigger(*this, "TRIGGER")
- , m_lightx(*this, "LIGHTX")
- , m_lighty(*this, "LIGHTY")
- , m_pen_timer(nullptr)
-{
-}
-
-astrocade_lightpen_device::~astrocade_lightpen_device()
-{
-}
-
-void astrocade_lightpen_device::device_start()
-{
- m_pen_timer = timer_alloc(TIMER_TRIGGER);
-
- save_item(NAME(m_retrigger));
-}
-
-void astrocade_lightpen_device::device_reset()
-{
- m_pen_timer->adjust(attotime::never);
- m_retrigger = false;
-}
-
-void astrocade_lightpen_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
-{
- if (id == TIMER_TRIGGER)
- {
- write_ltpen(1);
- write_ltpen(0);
- if (m_retrigger)
- m_pen_timer->adjust(m_screen->time_until_pos(m_lighty->read(), m_lightx->read()));
- else
- m_pen_timer->adjust(attotime::never);
- }
-}
-
-INPUT_CHANGED_MEMBER( astrocade_lightpen_device::trigger )
-{
- if (newval)
- {
- m_retrigger = true;
- m_pen_timer->adjust(m_screen->time_until_pos(m_lighty->read(), m_lightx->read()));
- }
- else
- {
- m_retrigger = false;
- m_pen_timer->adjust(attotime::never);
- }
-}
-
-static INPUT_PORTS_START( astrocade_lightpen )
- PORT_START("TRIGGER")
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, astrocade_lightpen_device, trigger, nullptr)
- PORT_BIT( 0xfe, IP_ACTIVE_HIGH, IPT_UNUSED )
-
- PORT_START("LIGHTX")
- PORT_BIT(0x1ff, 0x000, IPT_LIGHTGUN_X) PORT_MINMAX(0x000, 0x15f) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_SENSITIVITY(45) PORT_KEYDELTA(15)
-
- PORT_START("LIGHTY")
- PORT_BIT(0x0ff, 0x000, IPT_LIGHTGUN_Y) PORT_MINMAX(0x000, 0x0f0) PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_SENSITIVITY(45) PORT_KEYDELTA(15)
-INPUT_PORTS_END
-
-ioport_constructor astrocade_lightpen_device::device_input_ports() const
-{
- return INPUT_PORTS_NAME( astrocade_lightpen );
-}
diff --git a/src/devices/bus/astrocde/lightpen.h b/src/devices/bus/astrocde/lightpen.h
deleted file mode 100644
index a0863d5d3e8..00000000000
--- a/src/devices/bus/astrocde/lightpen.h
+++ /dev/null
@@ -1,51 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Ryan Holtz
-#ifndef MAME_BUS_ASTROCDE_LIGHTPEN_H
-#define MAME_BUS_ASTROCDE_LIGHTPEN_H
-
-#pragma once
-
-#include "accessory.h"
-
-
-/***************************************************************************
- TYPE DEFINITIONS
- ***************************************************************************/
-
-// ======================> astrocade_lightpen_device
-
-class astrocade_lightpen_device : public device_t,
- public device_astrocade_accessory_interface
-{
-public:
- // construction/destruction
- astrocade_lightpen_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock = 0U);
- virtual ~astrocade_lightpen_device();
-
- DECLARE_INPUT_CHANGED_MEMBER( trigger );
-
-protected:
- // device_t implementation
- virtual void device_start() override;
- virtual void device_reset() override;
- virtual ioport_constructor device_input_ports() const override;
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
-
- static const device_timer_id TIMER_TRIGGER = 0;
-
-private:
- required_ioport m_trigger;
- required_ioport m_lightx;
- required_ioport m_lighty;
- emu_timer *m_pen_timer;
- bool m_retrigger;
-};
-
-
-/***************************************************************************
- DEVICE TYPES
- ***************************************************************************/
-
-DECLARE_DEVICE_TYPE(ASTROCADE_LIGHTPEN, astrocade_lightpen_device)
-
-#endif // MAME_BUS_ASTROCDE_LIGHTPEN_H
diff --git a/src/devices/bus/astrocde/ram.cpp b/src/devices/bus/astrocde/ram.cpp
index 8f20b0256fa..36d1ed9ab77 100644
--- a/src/devices/bus/astrocde/ram.cpp
+++ b/src/devices/bus/astrocde/ram.cpp
@@ -21,10 +21,10 @@
switch and run it as a cartridge. This is useful for cartridge development.
Blue RAM -- available in 4K, 16K, and 32K. These also use an INS8154 chip,
- which has an additional $80 bytes of RAM mapped immediately after the end of
- the expansion address space (not yet implemented). This memory can't be write
- protected. The INS8154 has I/O features needed for loading tape programs into
- Blue RAM BASIC, as well as running the Blue RAM Utility cart.
+ (not yet implemented) which has an additional $80 bytes of RAM mapped
+ immediately after the end of the expansion address space. This memory
+ can't be write protected. The INS8154 has I/O features needed for loading
+ tape programs into Blue RAM BASIC, as well as running the Blue RAM Utility cart.
4K: $6000 to $6FFF (can't run VIPERSoft BASIC, because this program needs memory
past this range)
16K: $6000 to $9FFF
@@ -69,11 +69,9 @@ DEFINE_DEVICE_TYPE(ASTROCADE_RL64RAM, astrocade_rl64ram_device, "astroca
astrocade_blueram_4k_device::astrocade_blueram_4k_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, type, tag, owner, clock)
- , device_astrocade_card_interface(mconfig, *this)
- , m_write_prot(*this, "RAM_PROTECT")
- , m_ramio(*this, "ramio")
- , m_cassette(*this, "cassette")
+ : device_t(mconfig, type, tag, owner, clock),
+ device_astrocade_card_interface(mconfig, *this),
+ m_write_prot(*this, "RAM_PROTECT")
{
}
@@ -165,35 +163,7 @@ WRITE8_MEMBER(astrocade_blueram_4k_device::write)
m_ram[offset - 0x1000] = data;
}
-READ8_MEMBER(astrocade_blueram_4k_device::read_io)
-{
- return m_ramio->read_io(offset & 0x7f);
-}
-
-WRITE8_MEMBER(astrocade_blueram_4k_device::write_io)
-{
- logerror("write_io: %04x = %02x\n", offset, data);
- m_ramio->write_io(offset & 0x7f, data);
-}
-
-uint8_t astrocade_blueram_4k_device::porta_r()
-{
- return 0;
-}
-
-uint8_t astrocade_blueram_4k_device::portb_r()
-{
- return m_cassette->input() > 0.0 ? 1 : 0;
-}
-
-void astrocade_blueram_4k_device::porta_w(uint8_t data)
-{
-}
-void astrocade_blueram_4k_device::portb_w(uint8_t data)
-{
- m_cassette->output(BIT(data, 0) ? +1 : -1);
-}
// Viper System 1 expansion has RAM in 0x6000-0x9fff
READ8_MEMBER(astrocade_viper_sys1_device::read)
@@ -237,20 +207,3 @@ WRITE8_MEMBER(astrocade_rl64ram_device::write)
if (!m_write_prot->read())
m_ram[offset] = data;
}
-
-/*-------------------------------------------------
- machine configuration
- -------------------------------------------------*/
-
-void astrocade_blueram_4k_device::device_add_mconfig(machine_config &config)
-{
- CASSETTE(config, m_cassette);
- m_cassette->set_default_state(CASSETTE_STOPPED);
- m_cassette->set_interface("astrocade_cass");
-
- INS8154(config, m_ramio);
- m_ramio->out_a().set(FUNC(astrocade_blueram_4k_device::porta_w));
- m_ramio->out_b().set(FUNC(astrocade_blueram_4k_device::portb_w));
- m_ramio->in_a().set(FUNC(astrocade_blueram_4k_device::porta_r));
- m_ramio->in_b().set(FUNC(astrocade_blueram_4k_device::portb_r));
-}
diff --git a/src/devices/bus/astrocde/ram.h b/src/devices/bus/astrocde/ram.h
index ee5ed884ef4..83f9483d2e8 100644
--- a/src/devices/bus/astrocde/ram.h
+++ b/src/devices/bus/astrocde/ram.h
@@ -6,8 +6,6 @@
#pragma once
#include "exp.h"
-#include "imagedev/cassette.h"
-#include "machine/ins8154.h"
// ======================> astrocade_blueram_4k_device
@@ -24,25 +22,15 @@ public:
// reading and writing
virtual DECLARE_READ8_MEMBER(read) override;
virtual DECLARE_WRITE8_MEMBER(write) override;
- virtual DECLARE_READ8_MEMBER(read_io) override;
- virtual DECLARE_WRITE8_MEMBER(write_io) override;
-
- uint8_t porta_r();
- uint8_t portb_r();
- void porta_w(uint8_t data);
- void portb_w(uint8_t data);
protected:
astrocade_blueram_4k_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
virtual void device_start() override { m_ram.resize(0x1000); save_item(NAME(m_ram)); }
virtual void device_reset() override { }
- virtual void device_add_mconfig(machine_config &config) override;
std::vector<uint8_t> m_ram;
required_ioport m_write_prot;
- required_device<ins8154_device> m_ramio;
- required_device<cassette_image_device> m_cassette;
};
// ======================> astrocade_blueram_16k_device
diff --git a/src/devices/bus/astrocde/rom.cpp b/src/devices/bus/astrocde/rom.cpp
index bb5d6912fc2..fcebedfc81d 100644
--- a/src/devices/bus/astrocde/rom.cpp
+++ b/src/devices/bus/astrocde/rom.cpp
@@ -17,10 +17,9 @@
// astrocade_rom_device - constructor
//-------------------------------------------------
-DEFINE_DEVICE_TYPE(ASTROCADE_ROM_STD, astrocade_rom_device, "astrocade_rom", "Bally Astrocade Standard Carts")
-DEFINE_DEVICE_TYPE(ASTROCADE_ROM_256K, astrocade_rom_256k_device, "astrocade_rom_256k", "Bally Astrocade 256K Carts")
-DEFINE_DEVICE_TYPE(ASTROCADE_ROM_512K, astrocade_rom_512k_device, "astrocade_rom_512k", "Bally Astrocade 512K Carts")
-DEFINE_DEVICE_TYPE(ASTROCADE_ROM_CASS, astrocade_rom_cass_device, "astrocade_rom_cass", "Bally Astrocade AstroBASIC Cart")
+DEFINE_DEVICE_TYPE(ASTROCADE_ROM_STD, astrocade_rom_device, "astrocade_rom", "Bally Astrocade Standard Carts")
+DEFINE_DEVICE_TYPE(ASTROCADE_ROM_256K, astrocade_rom_256k_device, "astrocade_256k", "Bally Astrocade 256K Carts")
+DEFINE_DEVICE_TYPE(ASTROCADE_ROM_512K, astrocade_rom_512k_device, "astrocade_512k", "Bally Astrocade 512K Carts")
astrocade_rom_device::astrocade_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
@@ -43,12 +42,6 @@ astrocade_rom_512k_device::astrocade_rom_512k_device(const machine_config &mconf
{
}
-astrocade_rom_cass_device::astrocade_rom_cass_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : astrocade_rom_device(mconfig, ASTROCADE_ROM_CASS, tag, owner, clock)
- , m_cassette(*this, "cassette")
-{
-}
-
void astrocade_rom_256k_device::device_start()
{
@@ -102,31 +95,3 @@ READ8_MEMBER(astrocade_rom_512k_device::read_rom)
else // 0x3fc0-0x3fff
return m_base_bank = offset & 0x7f;
}
-
-READ8_MEMBER(astrocade_rom_cass_device::read_rom)
-{
- if (offset < m_rom_size)
- return m_rom[offset];
- else if ((offset & 0x1c00) == 0x1800)
- {
- m_cassette->output(+1);
- return 0xff;
- }
- else if ((offset & 0x1c00) == 0x1c00)
- {
- m_cassette->output(-1);
- return m_cassette->input() > 0.0 ? 0 : 1;
- }
- return 0xff;
-}
-
-/*-------------------------------------------------
- mapper specific device configuration
- -------------------------------------------------*/
-
-void astrocade_rom_cass_device::device_add_mconfig(machine_config &config)
-{
- CASSETTE(config, m_cassette);
- m_cassette->set_default_state(CASSETTE_STOPPED);
- m_cassette->set_interface("astrocade_cass");
-}
diff --git a/src/devices/bus/astrocde/rom.h b/src/devices/bus/astrocde/rom.h
index efd17b16ded..0471ada8dd1 100644
--- a/src/devices/bus/astrocde/rom.h
+++ b/src/devices/bus/astrocde/rom.h
@@ -6,7 +6,6 @@
#pragma once
#include "slot.h"
-#include "imagedev/cassette.h"
// ======================> astrocade_rom_device
@@ -65,30 +64,10 @@ private:
uint8_t m_base_bank;
};
-// ======================> astrocade_rom_cass_device
-
-class astrocade_rom_cass_device : public astrocade_rom_device
-{
-public:
- // construction/destruction
- astrocade_rom_cass_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
- // reading and writing
- virtual DECLARE_READ8_MEMBER(read_rom) override;
-
-private:
- virtual void device_start() override { }
- virtual void device_reset() override { }
- virtual void device_add_mconfig(machine_config &config) override;
-
- required_device<cassette_image_device> m_cassette;
-};
-
// device type definition
DECLARE_DEVICE_TYPE(ASTROCADE_ROM_STD, astrocade_rom_device)
DECLARE_DEVICE_TYPE(ASTROCADE_ROM_256K, astrocade_rom_256k_device)
DECLARE_DEVICE_TYPE(ASTROCADE_ROM_512K, astrocade_rom_512k_device)
-DECLARE_DEVICE_TYPE(ASTROCADE_ROM_CASS, astrocade_rom_cass_device)
#endif // MAME_BUS_ASTROCADE_ROM_H
diff --git a/src/devices/bus/astrocde/slot.cpp b/src/devices/bus/astrocde/slot.cpp
index 2aa78be98d9..b83b8e576ad 100644
--- a/src/devices/bus/astrocde/slot.cpp
+++ b/src/devices/bus/astrocde/slot.cpp
@@ -104,8 +104,7 @@ static const astrocade_slot slot_list[] =
{
{ ASTROCADE_STD, "rom" },
{ ASTROCADE_256K, "rom_256k" },
- { ASTROCADE_512K, "rom_512k" },
- { ASTROCADE_CASS, "rom_cass" }
+ { ASTROCADE_512K, "rom_512k" }
};
static int astrocade_get_pcb_id(const char *slot)
diff --git a/src/devices/bus/astrocde/slot.h b/src/devices/bus/astrocde/slot.h
index 419f4672985..88c34fa0d8e 100644
--- a/src/devices/bus/astrocde/slot.h
+++ b/src/devices/bus/astrocde/slot.h
@@ -19,8 +19,7 @@ enum
{
ASTROCADE_STD = 0,
ASTROCADE_256K,
- ASTROCADE_512K,
- ASTROCADE_CASS
+ ASTROCADE_512K
};
diff --git a/src/devices/bus/bbc/1mhzbus/1mhzbus.cpp b/src/devices/bus/bbc/1mhzbus/1mhzbus.cpp
index 41e9bc0e8cb..43cabfdfec3 100644
--- a/src/devices/bus/bbc/1mhzbus/1mhzbus.cpp
+++ b/src/devices/bus/bbc/1mhzbus/1mhzbus.cpp
@@ -92,18 +92,18 @@ void bbc_1mhzbus_slot_device::device_reset()
// read
//-------------------------------------------------
-uint8_t bbc_1mhzbus_slot_device::fred_r(offs_t offset)
+READ8_MEMBER(bbc_1mhzbus_slot_device::fred_r)
{
if (m_card)
- return m_card->fred_r(offset);
+ return m_card->fred_r(space, offset);
else
return 0xff;
}
-uint8_t bbc_1mhzbus_slot_device::jim_r(offs_t offset)
+READ8_MEMBER(bbc_1mhzbus_slot_device::jim_r)
{
if (m_card)
- return m_card->jim_r(offset);
+ return m_card->jim_r(space, offset);
else
return 0xff;
}
@@ -112,16 +112,16 @@ uint8_t bbc_1mhzbus_slot_device::jim_r(offs_t offset)
// write
//-------------------------------------------------
-void bbc_1mhzbus_slot_device::fred_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(bbc_1mhzbus_slot_device::fred_w)
{
if (m_card)
- m_card->fred_w(offset, data);
+ m_card->fred_w(space, offset, data);
}
-void bbc_1mhzbus_slot_device::jim_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(bbc_1mhzbus_slot_device::jim_w)
{
if (m_card)
- m_card->jim_w(offset, data);
+ m_card->jim_w(space, offset, data);
}
//-------------------------------------------------
@@ -142,7 +142,6 @@ void bbc_1mhzbus_slot_device::jim_w(offs_t offset, uint8_t data)
//#include "graduate.h"
#include "beebsid.h"
//#include "prisma3.h"
-#include "sprite.h"
#include "cfa3000opt.h"
@@ -162,7 +161,6 @@ void bbc_1mhzbus_devices(device_slot_interface &device)
//device.option_add("graduate", BBC_GRADUATE); /* The Torch Graduate G400/G800 */
device.option_add("beebsid", BBC_BEEBSID); /* BeebSID */
//device.option_add("prisma3", BBC_PRISMA3); /* PRISMA-3 - Millipede 1989 */
- device.option_add("sprite", BBC_SPRITE); /* Logotron Sprite Board */
}
void bbcm_1mhzbus_devices(device_slot_interface &device)
@@ -185,6 +183,5 @@ void bbcm_1mhzbus_devices(device_slot_interface &device)
//device.option_add("graduate", BBC_GRADUATE); /* The Torch Graduate G400/G800 */
device.option_add("beebsid", BBC_BEEBSID); /* BeebSID */
//device.option_add("prisma3", BBC_PRISMA3); /* PRISMA-3 - Millipede 1989 */
- device.option_add("sprite", BBC_SPRITE); /* Logotron Sprite Board */
device.option_add("cfa3000opt", CFA3000_OPT); /* Henson CFA 3000 Option Board */
}
diff --git a/src/devices/bus/bbc/1mhzbus/1mhzbus.h b/src/devices/bus/bbc/1mhzbus/1mhzbus.h
index 80e48425973..ad435876bf0 100644
--- a/src/devices/bus/bbc/1mhzbus/1mhzbus.h
+++ b/src/devices/bus/bbc/1mhzbus/1mhzbus.h
@@ -107,10 +107,10 @@ public:
auto irq_handler() { return m_irq_handler.bind(); }
auto nmi_handler() { return m_nmi_handler.bind(); }
- virtual uint8_t fred_r(offs_t offset);
- virtual void fred_w(offs_t offset, uint8_t data);
- virtual uint8_t jim_r(offs_t offset);
- virtual void jim_w(offs_t offset, uint8_t data);
+ virtual DECLARE_READ8_MEMBER(fred_r);
+ virtual DECLARE_WRITE8_MEMBER(fred_w);
+ virtual DECLARE_READ8_MEMBER(jim_r);
+ virtual DECLARE_WRITE8_MEMBER(jim_w);
DECLARE_WRITE_LINE_MEMBER( irq_w ) { m_irq_handler(state); }
DECLARE_WRITE_LINE_MEMBER( nmi_w ) { m_nmi_handler(state); }
@@ -134,10 +134,10 @@ private:
class device_bbc_1mhzbus_interface : public device_slot_card_interface
{
public:
- virtual uint8_t fred_r(offs_t offset) { return 0xff; }
- virtual void fred_w(offs_t offset, uint8_t data) { }
- virtual uint8_t jim_r(offs_t offset) { return 0xff; }
- virtual void jim_w(offs_t offset, uint8_t data) { }
+ virtual DECLARE_READ8_MEMBER(fred_r) { return 0xff; }
+ virtual DECLARE_WRITE8_MEMBER(fred_w) { }
+ virtual DECLARE_READ8_MEMBER(jim_r) { return 0xff; }
+ virtual DECLARE_WRITE8_MEMBER(jim_w) { }
protected:
device_bbc_1mhzbus_interface(const machine_config &mconfig, device_t &device);
diff --git a/src/devices/bus/bbc/1mhzbus/beebsid.cpp b/src/devices/bus/bbc/1mhzbus/beebsid.cpp
index d50449ede99..c0e6ea62c46 100644
--- a/src/devices/bus/bbc/1mhzbus/beebsid.cpp
+++ b/src/devices/bus/bbc/1mhzbus/beebsid.cpp
@@ -65,40 +65,40 @@ void bbc_beebsid_device::device_start()
// IMPLEMENTATION
//**************************************************************************
-uint8_t bbc_beebsid_device::fred_r(offs_t offset)
+READ8_MEMBER(bbc_beebsid_device::fred_r)
{
uint8_t data = 0xff;
if (offset >= 0x20 && offset < 0x40)
{
- data = m_sid->read(offset);
+ data = m_sid->read(space, offset);
}
- data &= m_1mhzbus->fred_r(offset);
+ data &= m_1mhzbus->fred_r(space, offset);
return data;
}
-void bbc_beebsid_device::fred_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(bbc_beebsid_device::fred_w)
{
if (offset >= 0x20 && offset < 0x40)
{
- m_sid->write(offset, data);
+ m_sid->write(space, offset, data);
}
- m_1mhzbus->fred_w(offset, data);
+ m_1mhzbus->fred_w(space, offset, data);
}
-uint8_t bbc_beebsid_device::jim_r(offs_t offset)
+READ8_MEMBER(bbc_beebsid_device::jim_r)
{
uint8_t data = 0xff;
- data &= m_1mhzbus->jim_r(offset);
+ data &= m_1mhzbus->jim_r(space, offset);
return data;
}
-void bbc_beebsid_device::jim_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(bbc_beebsid_device::jim_w)
{
- m_1mhzbus->jim_w(offset, data);
+ m_1mhzbus->jim_w(space, offset, data);
}
diff --git a/src/devices/bus/bbc/1mhzbus/beebsid.h b/src/devices/bus/bbc/1mhzbus/beebsid.h
index 107e875abde..d78d5486c10 100644
--- a/src/devices/bus/bbc/1mhzbus/beebsid.h
+++ b/src/devices/bus/bbc/1mhzbus/beebsid.h
@@ -34,10 +34,10 @@ protected:
// optional information overrides
virtual void device_add_mconfig(machine_config &config) override;
- virtual uint8_t fred_r(offs_t offset) override;
- virtual void fred_w(offs_t offset, uint8_t data) override;
- virtual uint8_t jim_r(offs_t offset) override;
- virtual void jim_w(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(fred_r) override;
+ virtual DECLARE_WRITE8_MEMBER(fred_w) override;
+ virtual DECLARE_READ8_MEMBER(jim_r) override;
+ virtual DECLARE_WRITE8_MEMBER(jim_w) override;
private:
required_device<bbc_1mhzbus_slot_device> m_1mhzbus;
diff --git a/src/devices/bus/bbc/1mhzbus/cfa3000opt.cpp b/src/devices/bus/bbc/1mhzbus/cfa3000opt.cpp
index e5ac755e006..0946d9cdf82 100644
--- a/src/devices/bus/bbc/1mhzbus/cfa3000opt.cpp
+++ b/src/devices/bus/bbc/1mhzbus/cfa3000opt.cpp
@@ -98,7 +98,7 @@ void cfa3000_opt_device::device_start()
// IMPLEMENTATION
//**************************************************************************
-uint8_t cfa3000_opt_device::fred_r(offs_t offset)
+READ8_MEMBER(cfa3000_opt_device::fred_r)
{
uint8_t data = 0xff;
diff --git a/src/devices/bus/bbc/1mhzbus/cfa3000opt.h b/src/devices/bus/bbc/1mhzbus/cfa3000opt.h
index 64913e95604..5a4e413754b 100644
--- a/src/devices/bus/bbc/1mhzbus/cfa3000opt.h
+++ b/src/devices/bus/bbc/1mhzbus/cfa3000opt.h
@@ -35,7 +35,7 @@ protected:
// optional information overrides
virtual ioport_constructor device_input_ports() const override;
- virtual uint8_t fred_r(offs_t offset) override;
+ virtual DECLARE_READ8_MEMBER(fred_r) override;
private:
required_ioport m_opt;
diff --git a/src/devices/bus/bbc/1mhzbus/emrmidi.cpp b/src/devices/bus/bbc/1mhzbus/emrmidi.cpp
index 6cfbacf23da..9c7c036f44c 100644
--- a/src/devices/bus/bbc/1mhzbus/emrmidi.cpp
+++ b/src/devices/bus/bbc/1mhzbus/emrmidi.cpp
@@ -81,23 +81,23 @@ void bbc_emrmidi_device::device_start()
// IMPLEMENTATION
//**************************************************************************
-uint8_t bbc_emrmidi_device::fred_r(offs_t offset)
+READ8_MEMBER(bbc_emrmidi_device::fred_r)
{
uint8_t data = 0xff;
if (offset >= 0xf0 && offset < 0xf2)
{
- data = m_acia->read(offset & 1);
+ data = m_acia->read(space, offset & 1);
}
return data;
}
-void bbc_emrmidi_device::fred_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(bbc_emrmidi_device::fred_w)
{
if (offset >= 0xf0 && offset < 0xf2)
{
- m_acia->write(offset & 1, data);
+ m_acia->write(space, offset & 1, data);
}
}
diff --git a/src/devices/bus/bbc/1mhzbus/emrmidi.h b/src/devices/bus/bbc/1mhzbus/emrmidi.h
index 341e487ce24..bbc41992948 100644
--- a/src/devices/bus/bbc/1mhzbus/emrmidi.h
+++ b/src/devices/bus/bbc/1mhzbus/emrmidi.h
@@ -36,8 +36,8 @@ protected:
// optional information overrides
virtual void device_add_mconfig(machine_config &config) override;
- virtual uint8_t fred_r(offs_t offset) override;
- virtual void fred_w(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(fred_r) override;
+ virtual DECLARE_WRITE8_MEMBER(fred_w) override;
private:
DECLARE_WRITE_LINE_MEMBER(write_acia_clock);
diff --git a/src/devices/bus/bbc/1mhzbus/ieee488.cpp b/src/devices/bus/bbc/1mhzbus/ieee488.cpp
index 3aae6fe2f54..383ceef537b 100644
--- a/src/devices/bus/bbc/1mhzbus/ieee488.cpp
+++ b/src/devices/bus/bbc/1mhzbus/ieee488.cpp
@@ -54,8 +54,7 @@ ROM_END
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void bbc_ieee488_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(bbc_ieee488_device::device_add_mconfig)
TMS9914(config, m_tms9914, 5_MHz_XTAL);
m_tms9914->int_write_cb().set(DEVICE_SELF_OWNER, FUNC(bbc_1mhzbus_slot_device::irq_w));
m_tms9914->dio_read_cb().set(IEEE488_TAG, FUNC(ieee488_device::dio_r));
@@ -68,25 +67,23 @@ void bbc_ieee488_device::device_add_mconfig(machine_config &config)
m_tms9914->srq_write_cb().set(IEEE488_TAG, FUNC(ieee488_device::host_srq_w));
m_tms9914->atn_write_cb().set(IEEE488_TAG, FUNC(ieee488_device::host_atn_w));
m_tms9914->ren_write_cb().set(IEEE488_TAG, FUNC(ieee488_device::host_ren_w));
-
- IEEE488(config, m_ieee);
- m_ieee->eoi_callback().set(m_tms9914, FUNC(tms9914_device::eoi_w));
- m_ieee->dav_callback().set(m_tms9914, FUNC(tms9914_device::dav_w));
- m_ieee->nrfd_callback().set(m_tms9914, FUNC(tms9914_device::nrfd_w));
- m_ieee->ndac_callback().set(m_tms9914, FUNC(tms9914_device::ndac_w));
- m_ieee->ifc_callback().set(m_tms9914, FUNC(tms9914_device::ifc_w));
- m_ieee->srq_callback().set(m_tms9914, FUNC(tms9914_device::srq_w));
- m_ieee->atn_callback().set(m_tms9914, FUNC(tms9914_device::atn_w));
- m_ieee->ren_callback().set(m_tms9914, FUNC(tms9914_device::ren_w));
- IEEE488_SLOT(config, "ieee_dev", 0, cbm_ieee488_devices, nullptr);
+ MCFG_IEEE488_BUS_ADD()
+ MCFG_IEEE488_EOI_CALLBACK(WRITELINE(m_tms9914, tms9914_device, eoi_w))
+ MCFG_IEEE488_DAV_CALLBACK(WRITELINE(m_tms9914, tms9914_device, dav_w))
+ MCFG_IEEE488_NRFD_CALLBACK(WRITELINE(m_tms9914, tms9914_device, nrfd_w))
+ MCFG_IEEE488_NDAC_CALLBACK(WRITELINE(m_tms9914, tms9914_device, ndac_w))
+ MCFG_IEEE488_IFC_CALLBACK(WRITELINE(m_tms9914, tms9914_device, ifc_w))
+ MCFG_IEEE488_SRQ_CALLBACK(WRITELINE(m_tms9914, tms9914_device, srq_w))
+ MCFG_IEEE488_ATN_CALLBACK(WRITELINE(m_tms9914, tms9914_device, atn_w))
+ MCFG_IEEE488_REN_CALLBACK(WRITELINE(m_tms9914, tms9914_device, ren_w))
+ MCFG_IEEE488_SLOT_ADD("ieee_dev", 0, cbm_ieee488_devices, nullptr)
BBC_1MHZBUS_SLOT(config, m_1mhzbus, DERIVED_CLOCK(1, 1), bbc_1mhzbus_devices, nullptr);
m_1mhzbus->irq_handler().set(DEVICE_SELF_OWNER, FUNC(bbc_1mhzbus_slot_device::irq_w));
m_1mhzbus->nmi_handler().set(DEVICE_SELF_OWNER, FUNC(bbc_1mhzbus_slot_device::nmi_w));
-}
+MACHINE_CONFIG_END
-void bbc_b488_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(bbc_b488_device::device_add_mconfig)
TMS9914(config, m_tms9914, 5_MHz_XTAL); // TODO: verify clock
m_tms9914->int_write_cb().set(DEVICE_SELF_OWNER, FUNC(bbc_1mhzbus_slot_device::irq_w));
m_tms9914->dio_read_cb().set(IEEE488_TAG, FUNC(ieee488_device::dio_r));
@@ -99,37 +96,35 @@ void bbc_b488_device::device_add_mconfig(machine_config &config)
m_tms9914->srq_write_cb().set(IEEE488_TAG, FUNC(ieee488_device::host_srq_w));
m_tms9914->atn_write_cb().set(IEEE488_TAG, FUNC(ieee488_device::host_atn_w));
m_tms9914->ren_write_cb().set(IEEE488_TAG, FUNC(ieee488_device::host_ren_w));
-
- IEEE488(config, m_ieee);
- m_ieee->eoi_callback().set(m_tms9914, FUNC(tms9914_device::eoi_w));
- m_ieee->dav_callback().set(m_tms9914, FUNC(tms9914_device::dav_w));
- m_ieee->nrfd_callback().set(m_tms9914, FUNC(tms9914_device::nrfd_w));
- m_ieee->ndac_callback().set(m_tms9914, FUNC(tms9914_device::ndac_w));
- m_ieee->ifc_callback().set(m_tms9914, FUNC(tms9914_device::ifc_w));
- m_ieee->srq_callback().set(m_tms9914, FUNC(tms9914_device::srq_w));
- m_ieee->atn_callback().set(m_tms9914, FUNC(tms9914_device::atn_w));
- m_ieee->ren_callback().set(m_tms9914, FUNC(tms9914_device::ren_w));
- IEEE488_SLOT(config, "ieee_dev", 0, cbm_ieee488_devices, nullptr);
+ MCFG_IEEE488_BUS_ADD()
+ MCFG_IEEE488_EOI_CALLBACK(WRITELINE(m_tms9914, tms9914_device, eoi_w))
+ MCFG_IEEE488_DAV_CALLBACK(WRITELINE(m_tms9914, tms9914_device, dav_w))
+ MCFG_IEEE488_NRFD_CALLBACK(WRITELINE(m_tms9914, tms9914_device, nrfd_w))
+ MCFG_IEEE488_NDAC_CALLBACK(WRITELINE(m_tms9914, tms9914_device, ndac_w))
+ MCFG_IEEE488_IFC_CALLBACK(WRITELINE(m_tms9914, tms9914_device, ifc_w))
+ MCFG_IEEE488_SRQ_CALLBACK(WRITELINE(m_tms9914, tms9914_device, srq_w))
+ MCFG_IEEE488_ATN_CALLBACK(WRITELINE(m_tms9914, tms9914_device, atn_w))
+ MCFG_IEEE488_REN_CALLBACK(WRITELINE(m_tms9914, tms9914_device, ren_w))
+ MCFG_IEEE488_SLOT_ADD("ieee_dev", 0, cbm_ieee488_devices, nullptr)
// TODO: LED's for ATN, TALK, and DATA
-}
+MACHINE_CONFIG_END
-//void bbc_procyon_device::device_add_mconfig(machine_config &config)
-//{
+//MACHINE_CONFIG_START(bbc_procyon_device::device_add_mconfig)
// TODO: Implement MC68488
- //IEEE488(config, m_ieee);
- //m_ieee->eoi_callback(m_mc68488, FUNC(mc68488_device::eoi_w));
- //m_ieee->dav_callback(m_mc68488, FUNC(mc68488_device::dav_w));
- //m_ieee->nrfd_callback(m_mc68488, FUNC(mc68488_device::nrfd_w));
- //m_ieee->ndac_callback(m_mc68488, FUNC(mc68488_device::ndac_w));
- //m_ieee->ifc_callback(m_mc68488, FUNC(mc68488_device::ifc_w));
- //m_ieee->srq_callback(m_mc68488, FUNC(mc68488_device::srq_w));
- //m_ieee->atn_callback(m_mc68488, FUNC(mc68488_device::atn_w));
- //m_ieee->ren_callback(m_mc68488, FUNC(mc68488_device::ren_w));
- //IEEE488_SLOT(config, "ieee_dev", 0, cbm_ieee488_devices, nullptr);
+ //MCFG_IEEE488_BUS_ADD()
+ //MCFG_IEEE488_EOI_CALLBACK(WRITELINE(m_mc68488, mc68488_device, eoi_w))
+ //MCFG_IEEE488_DAV_CALLBACK(WRITELINE(m_mc68488, mc68488_device, dav_w))
+ //MCFG_IEEE488_NRFD_CALLBACK(WRITELINE(m_mc68488, mc68488_device, nrfd_w))
+ //MCFG_IEEE488_NDAC_CALLBACK(WRITELINE(m_mc68488, mc68488_device, ndac_w))
+ //MCFG_IEEE488_IFC_CALLBACK(WRITELINE(m_mc68488, mc68488_device, ifc_w))
+ //MCFG_IEEE488_SRQ_CALLBACK(WRITELINE(m_mc68488, mc68488_device, srq_w))
+ //MCFG_IEEE488_ATN_CALLBACK(WRITELINE(m_mc68488, mc68488_device, atn_w))
+ //MCFG_IEEE488_REN_CALLBACK(WRITELINE(m_mc68488, mc68488_device, ren_w))
+ //MCFG_IEEE488_SLOT_ADD("ieee_dev", 0, cbm_ieee488_devices, nullptr)
// TODO: LED's for Bus Active, Byte Out, and Byte In
-//}
+//MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region
@@ -197,82 +192,82 @@ void bbc_b488_device::device_start()
// IMPLEMENTATION
//**************************************************************************
-uint8_t bbc_ieee488_device::fred_r(offs_t offset)
+READ8_MEMBER(bbc_ieee488_device::fred_r)
{
uint8_t data = 0xff;
if (offset >= 0x20 && offset < 0x28)
{
- data = m_tms9914->read(offset & 0x07);
+ data = m_tms9914->reg8_r(space, offset & 0x07);
}
- data &= m_1mhzbus->fred_r(offset);
+ data &= m_1mhzbus->fred_r(space, offset);
return data;
}
-void bbc_ieee488_device::fred_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(bbc_ieee488_device::fred_w)
{
if (offset >= 0x20 && offset < 0x28)
{
- m_tms9914->write(offset & 0x07, data);
+ m_tms9914->reg8_w(space, offset & 0x07, data);
}
- m_1mhzbus->fred_w(offset, data);
+ m_1mhzbus->fred_w(space, offset, data);
}
-uint8_t bbc_ieee488_device::jim_r(offs_t offset)
+READ8_MEMBER(bbc_ieee488_device::jim_r)
{
uint8_t data = 0xff;
- data &= m_1mhzbus->jim_r(offset);
+ data &= m_1mhzbus->jim_r(space, offset);
return data;
}
-void bbc_ieee488_device::jim_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(bbc_ieee488_device::jim_w)
{
- m_1mhzbus->jim_w(offset, data);
+ m_1mhzbus->jim_w(space, offset, data);
}
-uint8_t bbc_b488_device::fred_r(offs_t offset)
+READ8_MEMBER(bbc_b488_device::fred_r)
{
uint8_t data = 0xff;
if (offset >= 0x20 && offset < 0x28)
{
- data = m_tms9914->read(offset & 0x07);
+ data = m_tms9914->reg8_r(space, offset & 0x07);
}
return data;
}
-void bbc_b488_device::fred_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(bbc_b488_device::fred_w)
{
if (offset >= 0x20 && offset < 0x28)
{
- m_tms9914->write(offset & 0x07, data);
+ m_tms9914->reg8_w(space, offset & 0x07, data);
}
}
-//uint8_t bbc_procyon_device::fred_r(offs_t offset)
+//READ8_MEMBER(bbc_procyon_device::fred_r)
//{
//uint8_t data = 0xff;
//if (offset >= 0x20 && offset < 0x28)
//{
- // data = mc68488_device->read(offset & 0x07);
+ // data = mc68488_device->reg8_r(space, offset & 0x07);
//}
//return data;
//}
-//void bbc_procyon_device::fred_w(offs_t offset, uint8_t data)
+//WRITE8_MEMBER(bbc_procyon_device::fred_w)
//{
//if (offset >= 0x20 && offset < 0x28)
//{
- // mc68488_device->write(offset & 0x07, data);
+ // mc68488_device->reg8_w(space, offset & 0x07, data);
//}
//}
diff --git a/src/devices/bus/bbc/1mhzbus/ieee488.h b/src/devices/bus/bbc/1mhzbus/ieee488.h
index 9b810b4bf8d..05a9e60c928 100644
--- a/src/devices/bus/bbc/1mhzbus/ieee488.h
+++ b/src/devices/bus/bbc/1mhzbus/ieee488.h
@@ -42,10 +42,10 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
virtual const tiny_rom_entry *device_rom_region() const override;
- virtual uint8_t fred_r(offs_t offset) override;
- virtual void fred_w(offs_t offset, uint8_t data) override;
- virtual uint8_t jim_r(offs_t offset) override;
- virtual void jim_w(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(fred_r) override;
+ virtual DECLARE_WRITE8_MEMBER(fred_w) override;
+ virtual DECLARE_READ8_MEMBER(jim_r) override;
+ virtual DECLARE_WRITE8_MEMBER(jim_w) override;
private:
required_device<ieee488_device> m_ieee;
@@ -69,8 +69,8 @@ protected:
// optional information overrides
virtual void device_add_mconfig(machine_config &config) override;
- virtual uint8_t fred_r(offs_t offset) override;
- virtual void fred_w(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(fred_r) override;
+ virtual DECLARE_WRITE8_MEMBER(fred_w) override;
private:
required_device<ieee488_device> m_ieee;
@@ -94,8 +94,8 @@ private:
// virtual void device_add_mconfig(machine_config &config) override;
// virtual const tiny_rom_entry *device_rom_region() const override;
//
-// virtual uint8_t fred_r(offs_t offset) override;
-// virtual void fred_w(offs_t offset, uint8_t data) override;
+// virtual DECLARE_READ8_MEMBER(fred_r) override;
+// virtual DECLARE_WRITE8_MEMBER(fred_w) override;
//
//private:
// required_device<ieee488_device> m_ieee;
diff --git a/src/devices/bus/bbc/1mhzbus/m2000.cpp b/src/devices/bus/bbc/1mhzbus/m2000.cpp
index 8203cada22e..88a713d1ff8 100644
--- a/src/devices/bus/bbc/1mhzbus/m2000.cpp
+++ b/src/devices/bus/bbc/1mhzbus/m2000.cpp
@@ -91,7 +91,7 @@ void bbc_m2000_device::device_start()
// IMPLEMENTATION
//**************************************************************************
-uint8_t bbc_m2000_device::fred_r(offs_t offset)
+READ8_MEMBER(bbc_m2000_device::fred_r)
{
uint8_t data = 0xff;
@@ -100,59 +100,59 @@ uint8_t bbc_m2000_device::fred_r(offs_t offset)
switch (offset & 0x06)
{
case 0x00:
- data = m_acia1->read(offset & 1);
+ data = m_acia1->read(space, offset & 1);
break;
case 0x02:
- data = m_acia2->read(offset & 1);
+ data = m_acia2->read(space, offset & 1);
break;
case 0x04:
- data = m_acia3->read(offset & 1);
+ data = m_acia3->read(space, offset & 1);
break;
case 0x06:
break;
}
}
- data &= m_1mhzbus->fred_r(offset);
+ data &= m_1mhzbus->fred_r(space, offset);
return data;
}
-void bbc_m2000_device::fred_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(bbc_m2000_device::fred_w)
{
if (offset >= 0x08 && offset < 0x10)
{
switch (offset & 0x06)
{
case 0x00:
- m_acia1->write(offset & 1, data);
+ m_acia1->write(space, offset & 1, data);
break;
case 0x02:
- m_acia2->write(offset & 1, data);
+ m_acia2->write(space, offset & 1, data);
break;
case 0x04:
- m_acia3->write(offset & 1, data);
+ m_acia3->write(space, offset & 1, data);
break;
case 0x06:
break;
}
}
- m_1mhzbus->fred_w(offset, data);
+ m_1mhzbus->fred_w(space, offset, data);
}
-uint8_t bbc_m2000_device::jim_r(offs_t offset)
+READ8_MEMBER(bbc_m2000_device::jim_r)
{
uint8_t data = 0xff;
- data &= m_1mhzbus->jim_r(offset);
+ data &= m_1mhzbus->jim_r(space, offset);
return data;
}
-void bbc_m2000_device::jim_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(bbc_m2000_device::jim_w)
{
- m_1mhzbus->jim_w(offset, data);
+ m_1mhzbus->jim_w(space, offset, data);
}
WRITE_LINE_MEMBER(bbc_m2000_device::write_acia_clock)
diff --git a/src/devices/bus/bbc/1mhzbus/m2000.h b/src/devices/bus/bbc/1mhzbus/m2000.h
index eeee1034a4e..f476c92dac5 100644
--- a/src/devices/bus/bbc/1mhzbus/m2000.h
+++ b/src/devices/bus/bbc/1mhzbus/m2000.h
@@ -38,10 +38,10 @@ protected:
// optional information overrides
virtual void device_add_mconfig(machine_config &config) override;
- virtual uint8_t fred_r(offs_t offset) override;
- virtual void fred_w(offs_t offset, uint8_t data) override;
- virtual uint8_t jim_r(offs_t offset) override;
- virtual void jim_w(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(fred_r) override;
+ virtual DECLARE_WRITE8_MEMBER(fred_w) override;
+ virtual DECLARE_READ8_MEMBER(jim_r) override;
+ virtual DECLARE_WRITE8_MEMBER(jim_w) override;
private:
DECLARE_WRITE_LINE_MEMBER(write_acia_clock);
diff --git a/src/devices/bus/bbc/1mhzbus/opus3.cpp b/src/devices/bus/bbc/1mhzbus/opus3.cpp
index 77f21ac199a..65a8a3134ec 100644
--- a/src/devices/bus/bbc/1mhzbus/opus3.cpp
+++ b/src/devices/bus/bbc/1mhzbus/opus3.cpp
@@ -159,7 +159,7 @@ void bbc_opusa_device::device_start()
// IMPLEMENTATION
//**************************************************************************
-uint8_t bbc_opus3_device::fred_r(offs_t offset)
+READ8_MEMBER(bbc_opus3_device::fred_r)
{
uint8_t data = 0xff;
@@ -175,7 +175,7 @@ uint8_t bbc_opus3_device::fred_r(offs_t offset)
return data;
}
-void bbc_opus3_device::fred_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(bbc_opus3_device::fred_w)
{
floppy_image_device *floppy = nullptr;
@@ -219,7 +219,7 @@ WRITE_LINE_MEMBER(bbc_opus3_device::fdc_drq_w)
m_slot->nmi_w((m_fdc_drq && m_fdc_ie) ? ASSERT_LINE : CLEAR_LINE);
}
-uint8_t bbc_opus3_device::jim_r(offs_t offset)
+READ8_MEMBER(bbc_opus3_device::jim_r)
{
if ((m_ramdisk_page << 8) < m_ramdisk->size())
return m_ramdisk->read((m_ramdisk_page << 8) + offset);
@@ -227,7 +227,7 @@ uint8_t bbc_opus3_device::jim_r(offs_t offset)
return 0xff;
}
-void bbc_opus3_device::jim_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(bbc_opus3_device::jim_w)
{
if ((m_ramdisk_page << 8) < m_ramdisk->size())
m_ramdisk->write((m_ramdisk_page << 8) + offset, data);
diff --git a/src/devices/bus/bbc/1mhzbus/opus3.h b/src/devices/bus/bbc/1mhzbus/opus3.h
index 7d287f1622c..ef7a2174f5c 100644
--- a/src/devices/bus/bbc/1mhzbus/opus3.h
+++ b/src/devices/bus/bbc/1mhzbus/opus3.h
@@ -39,10 +39,10 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
virtual const tiny_rom_entry *device_rom_region() const override;
- virtual uint8_t fred_r(offs_t offset) override;
- virtual void fred_w(offs_t offset, uint8_t data) override;
- virtual uint8_t jim_r(offs_t offset) override;
- virtual void jim_w(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(fred_r) override;
+ virtual DECLARE_WRITE8_MEMBER(fred_w) override;
+ virtual DECLARE_READ8_MEMBER(jim_r) override;
+ virtual DECLARE_WRITE8_MEMBER(jim_w) override;
private:
DECLARE_FLOPPY_FORMATS(floppy_formats);
diff --git a/src/devices/bus/bbc/1mhzbus/sprite.cpp b/src/devices/bus/bbc/1mhzbus/sprite.cpp
deleted file mode 100644
index ee7f5f292e7..00000000000
--- a/src/devices/bus/bbc/1mhzbus/sprite.cpp
+++ /dev/null
@@ -1,99 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Nigel Barnes
-/**********************************************************************
-
- Logotron Sprite Board
-
-**********************************************************************/
-
-
-#include "emu.h"
-#include "sprite.h"
-#include "screen.h"
-
-
-//**************************************************************************
-// DEVICE DEFINITIONS
-//**************************************************************************
-
-DEFINE_DEVICE_TYPE(BBC_SPRITE, bbc_sprite_device, "bbc_sprite", "Logotron Sprite Board");
-
-
-//-------------------------------------------------
-// device_add_mconfig - add device configuration
-//-------------------------------------------------
-
-void bbc_sprite_device::device_add_mconfig(machine_config &config)
-{
- TMS9129(config, m_vdp, 10.738635_MHz_XTAL);
- m_vdp->int_callback().set(DEVICE_SELF_OWNER, FUNC(bbc_1mhzbus_slot_device::irq_w));
- m_vdp->set_screen("screen");
- m_vdp->set_vram_size(0x4000);
-
- SCREEN(config, "screen", SCREEN_TYPE_RASTER);
-}
-
-//**************************************************************************
-// LIVE DEVICE
-//**************************************************************************
-
-//-------------------------------------------------
-// bbc_sprite_device - constructor
-//-------------------------------------------------
-
-bbc_sprite_device::bbc_sprite_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, BBC_SPRITE, tag, owner, clock)
- , device_bbc_1mhzbus_interface(mconfig, *this)
- , m_vdp(*this, "vdp")
-{
-}
-
-//-------------------------------------------------
-// device_start - device-specific startup
-//-------------------------------------------------
-
-void bbc_sprite_device::device_start()
-{
-}
-
-//-------------------------------------------------
-// device_reset - device-specific reset
-//-------------------------------------------------
-
-void bbc_sprite_device::device_reset()
-{
-}
-
-
-//**************************************************************************
-// IMPLEMENTATION
-//**************************************************************************
-
-uint8_t bbc_sprite_device::fred_r(offs_t offset)
-{
- uint8_t data = 0xff;
-
- switch (offset)
- {
- case 0xa0:
- data = m_vdp->vram_read();
- break;
- case 0xa2:
- data = m_vdp->register_read();
- break;
- }
- return data;
-}
-
-void bbc_sprite_device::fred_w(offs_t offset, uint8_t data)
-{
- switch (offset)
- {
- case 0xa1:
- m_vdp->vram_write(data);
- break;
- case 0xa3:
- m_vdp->register_write(data);
- break;
- }
-}
diff --git a/src/devices/bus/bbc/1mhzbus/sprite.h b/src/devices/bus/bbc/1mhzbus/sprite.h
deleted file mode 100644
index 02b0cff5dc2..00000000000
--- a/src/devices/bus/bbc/1mhzbus/sprite.h
+++ /dev/null
@@ -1,49 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Nigel Barnes
-/**********************************************************************
-
- Logotron Sprite Board
-
-**********************************************************************/
-
-
-#ifndef MAME_BUS_BBC_1MHZBUS_SPRITE_H
-#define MAME_BUS_BBC_1MHZBUS_SPRITE_H
-
-#include "1mhzbus.h"
-#include "video/tms9928a.h"
-
-
-//**************************************************************************
-// TYPE DEFINITIONS
-//**************************************************************************
-
-class bbc_sprite_device:
- public device_t,
- public device_bbc_1mhzbus_interface
-{
-public:
- // construction/destruction
- bbc_sprite_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
-protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
- // optional information overrides
- virtual void device_add_mconfig(machine_config &config) override;
-
- virtual uint8_t fred_r(offs_t offset) override;
- virtual void fred_w(offs_t offset, uint8_t data) override;
-
-private:
- required_device<tms9129_device> m_vdp;
-};
-
-
-// device type definition
-DECLARE_DEVICE_TYPE(BBC_SPRITE, bbc_sprite_device);
-
-
-#endif /* MAME_BUS_BBC_1MHZBUS_SPRITE_H */
diff --git a/src/devices/bus/bbc/exp/exp.cpp b/src/devices/bus/bbc/exp/exp.cpp
index 25f19746b72..d2a5cca3611 100644
--- a/src/devices/bus/bbc/exp/exp.cpp
+++ b/src/devices/bus/bbc/exp/exp.cpp
@@ -97,26 +97,26 @@ void bbc_exp_slot_device::device_reset()
// read
//-------------------------------------------------
-uint8_t bbc_exp_slot_device::fred_r(offs_t offset)
+READ8_MEMBER(bbc_exp_slot_device::fred_r)
{
if (m_card)
- return m_card->fred_r(offset);
+ return m_card->fred_r(space, offset);
else
return 0xff;
}
-uint8_t bbc_exp_slot_device::jim_r(offs_t offset)
+READ8_MEMBER(bbc_exp_slot_device::jim_r)
{
if (m_card)
- return m_card->jim_r(offset);
+ return m_card->jim_r(space, offset);
else
return 0xff;
}
-uint8_t bbc_exp_slot_device::sheila_r(offs_t offset)
+READ8_MEMBER(bbc_exp_slot_device::sheila_r)
{
if (m_card)
- return m_card->sheila_r(offset);
+ return m_card->sheila_r(space, offset);
else
return 0xfe;
}
@@ -125,32 +125,32 @@ uint8_t bbc_exp_slot_device::sheila_r(offs_t offset)
// write
//-------------------------------------------------
-void bbc_exp_slot_device::fred_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(bbc_exp_slot_device::fred_w)
{
if (m_card)
- m_card->fred_w(offset, data);
+ m_card->fred_w(space, offset, data);
}
-void bbc_exp_slot_device::jim_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(bbc_exp_slot_device::jim_w)
{
if (m_card)
- m_card->jim_w(offset, data);
+ m_card->jim_w(space, offset, data);
}
-void bbc_exp_slot_device::sheila_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(bbc_exp_slot_device::sheila_w)
{
if (m_card)
- m_card->sheila_w(offset, data);
+ m_card->sheila_w(space, offset, data);
}
//-------------------------------------------------
// pb_r
//-------------------------------------------------
-uint8_t bbc_exp_slot_device::pb_r()
+READ8_MEMBER(bbc_exp_slot_device::pb_r)
{
if (m_card)
- return 0x1f | m_card->pb_r();
+ return 0x1f | m_card->pb_r(space, 0);
else
return 0xff;
}
@@ -160,10 +160,10 @@ uint8_t bbc_exp_slot_device::pb_r()
// pb_w
//-------------------------------------------------
-void bbc_exp_slot_device::pb_w(uint8_t data)
+WRITE8_MEMBER(bbc_exp_slot_device::pb_w)
{
if (m_card)
- m_card->pb_w(data);
+ m_card->pb_w(space, 0, data);
}
//-------------------------------------------------
diff --git a/src/devices/bus/bbc/exp/exp.h b/src/devices/bus/bbc/exp/exp.h
index ef1a0174b1a..5269deb3900 100644
--- a/src/devices/bus/bbc/exp/exp.h
+++ b/src/devices/bus/bbc/exp/exp.h
@@ -75,12 +75,12 @@ public:
auto cb1_handler() { return m_cb1_handler.bind(); }
auto cb2_handler() { return m_cb2_handler.bind(); }
- uint8_t fred_r(offs_t offset);
- void fred_w(offs_t offset, uint8_t data);
- uint8_t jim_r(offs_t offset);
- void jim_w(offs_t offset, uint8_t data);
- uint8_t sheila_r(offs_t offset);
- void sheila_w(offs_t offset, uint8_t data);
+ virtual DECLARE_READ8_MEMBER(fred_r);
+ virtual DECLARE_WRITE8_MEMBER(fred_w);
+ virtual DECLARE_READ8_MEMBER(jim_r);
+ virtual DECLARE_WRITE8_MEMBER(jim_w);
+ virtual DECLARE_READ8_MEMBER(sheila_r);
+ virtual DECLARE_WRITE8_MEMBER(sheila_w);
DECLARE_WRITE_LINE_MEMBER( irq_w ) { m_irq_handler(state); }
DECLARE_WRITE_LINE_MEMBER( nmi_w ) { m_nmi_handler(state); }
@@ -89,8 +89,8 @@ public:
DECLARE_WRITE_LINE_MEMBER(cb1_w) { m_cb1_handler(state); }
DECLARE_WRITE_LINE_MEMBER(cb2_w) { m_cb2_handler(state); }
- uint8_t pb_r();
- void pb_w(uint8_t data);
+ DECLARE_READ8_MEMBER(pb_r);
+ DECLARE_WRITE8_MEMBER(pb_w);
protected:
// device-level overrides
@@ -114,15 +114,15 @@ private:
class device_bbc_exp_interface : public device_slot_card_interface
{
public:
- virtual uint8_t fred_r(offs_t offset) { return 0xff; }
- virtual void fred_w(offs_t offset, uint8_t data) { }
- virtual uint8_t jim_r(offs_t offset) { return 0xff; }
- virtual void jim_w(offs_t offset, uint8_t data) { }
- virtual uint8_t sheila_r(offs_t offset) { return 0xfe; }
- virtual void sheila_w(offs_t offset, uint8_t data) { }
-
- virtual uint8_t pb_r() { return 0xff; }
- virtual void pb_w(uint8_t data) { }
+ virtual DECLARE_READ8_MEMBER(fred_r) { return 0xff; }
+ virtual DECLARE_WRITE8_MEMBER(fred_w) { }
+ virtual DECLARE_READ8_MEMBER(jim_r) { return 0xff; }
+ virtual DECLARE_WRITE8_MEMBER(jim_w) { }
+ virtual DECLARE_READ8_MEMBER(sheila_r) { return 0xfe; }
+ virtual DECLARE_WRITE8_MEMBER(sheila_w) { }
+
+ virtual DECLARE_READ8_MEMBER(pb_r) { return 0xff; }
+ virtual DECLARE_WRITE8_MEMBER(pb_w) { }
protected:
device_bbc_exp_interface(const machine_config &mconfig, device_t &device);
diff --git a/src/devices/bus/bbc/exp/mertec.cpp b/src/devices/bus/bbc/exp/mertec.cpp
index ab9dc3c2f6e..8f896da0359 100644
--- a/src/devices/bus/bbc/exp/mertec.cpp
+++ b/src/devices/bus/bbc/exp/mertec.cpp
@@ -52,7 +52,7 @@ void bbc_mertec_device::device_add_mconfig(machine_config &config)
//m_pia->irq_handler().set("irqs", FUNC(input_merger_device::in_w<0>));
/* adc */
- UPD7002(config, m_upd7002, DERIVED_CLOCK(1, 8));
+ UPD7002(config, m_upd7002, 0);
m_upd7002->set_get_analogue_callback(FUNC(bbc_mertec_device::get_analogue_input), this);
m_upd7002->set_eoc_callback(FUNC(bbc_mertec_device::upd7002_eoc), this);
@@ -114,52 +114,52 @@ void bbc_mertec_device::upd7002_eoc(int data)
//m_via6522_0->write_cb1(data);
}
-uint8_t bbc_mertec_device::fred_r(offs_t offset)
+READ8_MEMBER(bbc_mertec_device::fred_r)
{
- return m_2mhzbus->fred_r(offset);
+ return m_2mhzbus->fred_r(space, offset);
}
-void bbc_mertec_device::fred_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(bbc_mertec_device::fred_w)
{
- m_2mhzbus->fred_w(offset, data);
+ m_2mhzbus->fred_w(space, offset, data);
}
-uint8_t bbc_mertec_device::jim_r(offs_t offset)
+READ8_MEMBER(bbc_mertec_device::jim_r)
{
- return m_2mhzbus->jim_r(offset);
+ return m_2mhzbus->jim_r(space, offset);
}
-void bbc_mertec_device::jim_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(bbc_mertec_device::jim_w)
{
- m_2mhzbus->jim_w(offset, data);
+ m_2mhzbus->jim_w(space, offset, data);
}
-uint8_t bbc_mertec_device::sheila_r(offs_t offset)
+READ8_MEMBER(bbc_mertec_device::sheila_r)
{
uint8_t data = 0xfe;
if (offset >= 0x18 && offset < 0x20)
{
- data = m_upd7002->read(offset & 0x03);
+ data = m_upd7002->read(space, offset & 0x03);
}
return data;
}
-void bbc_mertec_device::sheila_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(bbc_mertec_device::sheila_w)
{
if (offset >= 0x18 && offset < 0x20)
{
- m_upd7002->write(offset & 0x03, data);
+ m_upd7002->write(space, offset & 0x03, data);
}
}
-uint8_t bbc_mertec_device::pb_r()
+READ8_MEMBER(bbc_mertec_device::pb_r)
{
- return m_userport->pb_r();
+ return m_userport->pb_r(space, 0);
}
-void bbc_mertec_device::pb_w(uint8_t data)
+WRITE8_MEMBER(bbc_mertec_device::pb_w)
{
- m_userport->pb_w(data);
+ m_userport->pb_w(space, 0, data);
}
diff --git a/src/devices/bus/bbc/exp/mertec.h b/src/devices/bus/bbc/exp/mertec.h
index 33d71ab2ce9..bd87c0d5398 100644
--- a/src/devices/bus/bbc/exp/mertec.h
+++ b/src/devices/bus/bbc/exp/mertec.h
@@ -40,15 +40,15 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
virtual const tiny_rom_entry *device_rom_region() const override;
- virtual uint8_t fred_r(offs_t offset) override;
- virtual void fred_w(offs_t offset, uint8_t data) override;
- virtual uint8_t jim_r(offs_t offset) override;
- virtual void jim_w(offs_t offset, uint8_t data) override;
- virtual uint8_t sheila_r(offs_t offset) override;
- virtual void sheila_w(offs_t offset, uint8_t data) override;
-
- virtual uint8_t pb_r() override;
- virtual void pb_w(uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(fred_r) override;
+ virtual DECLARE_WRITE8_MEMBER(fred_w) override;
+ virtual DECLARE_READ8_MEMBER(jim_r) override;
+ virtual DECLARE_WRITE8_MEMBER(jim_w) override;
+ virtual DECLARE_READ8_MEMBER(sheila_r) override;
+ virtual DECLARE_WRITE8_MEMBER(sheila_w) override;
+
+ virtual DECLARE_READ8_MEMBER(pb_r) override;
+ virtual DECLARE_WRITE8_MEMBER(pb_w) override;
private:
int get_analogue_input(int channel_number);
diff --git a/src/devices/bus/bbc/fdc/acorn.cpp b/src/devices/bus/bbc/fdc/acorn.cpp
index 0df7b38b076..dd5d8f28559 100644
--- a/src/devices/bus/bbc/fdc/acorn.cpp
+++ b/src/devices/bus/bbc/fdc/acorn.cpp
@@ -166,30 +166,30 @@ void bbc_acorn1770_device::device_start()
// IMPLEMENTATION
//**************************************************************************
-uint8_t bbc_acorn8271_device::read(offs_t offset)
+READ8_MEMBER(bbc_acorn8271_device::read)
{
uint8_t data;
if (offset & 0x04)
{
- data = m_fdc->data_r();
+ data = m_fdc->data_r(space , 0);
}
else
{
- data = m_fdc->read(offset & 0x03);
+ data = m_fdc->read(space, offset & 0x03);
}
return data;
}
-void bbc_acorn8271_device::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(bbc_acorn8271_device::write)
{
if (offset & 0x04)
{
- m_fdc->data_w(data);
+ m_fdc->data_w(space, 0, data);
}
else
{
- m_fdc->write(offset & 0x03, data);
+ m_fdc->write(space, offset & 0x03, data);
}
}
@@ -207,7 +207,7 @@ WRITE_LINE_MEMBER(bbc_acorn8271_device::side_w)
}
-uint8_t bbc_acorn1770_device::read(offs_t offset)
+READ8_MEMBER(bbc_acorn1770_device::read)
{
uint8_t data = 0xff;
@@ -222,7 +222,7 @@ uint8_t bbc_acorn1770_device::read(offs_t offset)
return data;
}
-void bbc_acorn1770_device::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(bbc_acorn1770_device::write)
{
if (offset & 0x04)
{
diff --git a/src/devices/bus/bbc/fdc/acorn.h b/src/devices/bus/bbc/fdc/acorn.h
index 13b434b156b..951b7e33e1d 100644
--- a/src/devices/bus/bbc/fdc/acorn.h
+++ b/src/devices/bus/bbc/fdc/acorn.h
@@ -42,8 +42,8 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
virtual const tiny_rom_entry *device_rom_region() const override;
- virtual uint8_t read(offs_t offset) override;
- virtual void write(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read) override;
+ virtual DECLARE_WRITE8_MEMBER(write) override;
private:
DECLARE_WRITE_LINE_MEMBER(motor_w);
@@ -70,8 +70,8 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
virtual const tiny_rom_entry *device_rom_region() const override;
- virtual uint8_t read(offs_t offset) override;
- virtual void write(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read) override;
+ virtual DECLARE_WRITE8_MEMBER(write) override;
private:
DECLARE_WRITE_LINE_MEMBER(fdc_intrq_w);
diff --git a/src/devices/bus/bbc/fdc/ams.cpp b/src/devices/bus/bbc/fdc/ams.cpp
index db9eb7e3012..02af01be5c5 100644
--- a/src/devices/bus/bbc/fdc/ams.cpp
+++ b/src/devices/bus/bbc/fdc/ams.cpp
@@ -89,30 +89,30 @@ void bbc_ams3_device::device_start()
// IMPLEMENTATION
//**************************************************************************
-uint8_t bbc_ams3_device::read(offs_t offset)
+READ8_MEMBER(bbc_ams3_device::read)
{
uint8_t data;
if (offset & 0x04)
{
- data = m_fdc->data_r();
+ data = m_fdc->data_r(space , 0);
}
else
{
- data = m_fdc->read(offset & 0x03);
+ data = m_fdc->read(space, offset & 0x03);
}
return data;
}
-void bbc_ams3_device::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(bbc_ams3_device::write)
{
if (offset & 0x04)
{
- m_fdc->data_w(data);
+ m_fdc->data_w(space, 0, data);
}
else
{
- m_fdc->write(offset & 0x03, data);
+ m_fdc->write(space, offset & 0x03, data);
}
}
diff --git a/src/devices/bus/bbc/fdc/ams.h b/src/devices/bus/bbc/fdc/ams.h
index 304666b5392..a97a6b762c5 100644
--- a/src/devices/bus/bbc/fdc/ams.h
+++ b/src/devices/bus/bbc/fdc/ams.h
@@ -39,8 +39,8 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
virtual const tiny_rom_entry *device_rom_region() const override;
- virtual uint8_t read(offs_t offset) override;
- virtual void write(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read) override;
+ virtual DECLARE_WRITE8_MEMBER(write) override;
private:
DECLARE_WRITE_LINE_MEMBER(fdc_intrq_w);
diff --git a/src/devices/bus/bbc/fdc/cumana.cpp b/src/devices/bus/bbc/fdc/cumana.cpp
index f4490b1922d..23cecd3ebcf 100644
--- a/src/devices/bus/bbc/fdc/cumana.cpp
+++ b/src/devices/bus/bbc/fdc/cumana.cpp
@@ -137,7 +137,7 @@ void bbc_cumanafdc_device::device_start()
// IMPLEMENTATION
//**************************************************************************
-uint8_t bbc_cumanafdc_device::read(offs_t offset)
+READ8_MEMBER(bbc_cumanafdc_device::read)
{
uint8_t data;
@@ -152,7 +152,7 @@ uint8_t bbc_cumanafdc_device::read(offs_t offset)
return data;
}
-void bbc_cumanafdc_device::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(bbc_cumanafdc_device::write)
{
if (offset & 0x04)
{
diff --git a/src/devices/bus/bbc/fdc/cumana.h b/src/devices/bus/bbc/fdc/cumana.h
index 6e1a4f25011..5b2439000ec 100644
--- a/src/devices/bus/bbc/fdc/cumana.h
+++ b/src/devices/bus/bbc/fdc/cumana.h
@@ -39,8 +39,8 @@ protected:
// device-level overrides
virtual void device_start() override;
- virtual uint8_t read(offs_t offset) override;
- virtual void write(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read) override;
+ virtual DECLARE_WRITE8_MEMBER(write) override;
required_device<mb8877_device> m_fdc;
required_device<floppy_connector> m_floppy0;
diff --git a/src/devices/bus/bbc/fdc/cv1797.cpp b/src/devices/bus/bbc/fdc/cv1797.cpp
index d14098a3fa3..98f54718c42 100644
--- a/src/devices/bus/bbc/fdc/cv1797.cpp
+++ b/src/devices/bus/bbc/fdc/cv1797.cpp
@@ -100,7 +100,7 @@ void bbc_cv1797_device::device_start()
// IMPLEMENTATION
//**************************************************************************
-uint8_t bbc_cv1797_device::read(offs_t offset)
+READ8_MEMBER(bbc_cv1797_device::read)
{
uint8_t data;
@@ -115,7 +115,7 @@ uint8_t bbc_cv1797_device::read(offs_t offset)
return data;
}
-void bbc_cv1797_device::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(bbc_cv1797_device::write)
{
if (offset & 0x04)
{
diff --git a/src/devices/bus/bbc/fdc/cv1797.h b/src/devices/bus/bbc/fdc/cv1797.h
index 86207c8fcd0..a887a1b18a4 100644
--- a/src/devices/bus/bbc/fdc/cv1797.h
+++ b/src/devices/bus/bbc/fdc/cv1797.h
@@ -40,8 +40,8 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
virtual const tiny_rom_entry *device_rom_region() const override;
- virtual uint8_t read(offs_t offset) override;
- virtual void write(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read) override;
+ virtual DECLARE_WRITE8_MEMBER(write) override;
private:
DECLARE_FLOPPY_FORMATS(floppy_formats);
diff --git a/src/devices/bus/bbc/fdc/fdc.cpp b/src/devices/bus/bbc/fdc/fdc.cpp
index 2269bb3370a..10f9131351f 100644
--- a/src/devices/bus/bbc/fdc/fdc.cpp
+++ b/src/devices/bus/bbc/fdc/fdc.cpp
@@ -89,10 +89,10 @@ void bbc_fdc_slot_device::device_reset()
// read
//-------------------------------------------------
-uint8_t bbc_fdc_slot_device::read(offs_t offset)
+READ8_MEMBER(bbc_fdc_slot_device::read)
{
if (m_card)
- return m_card->read(offset);
+ return m_card->read(space, offset);
else
return 0xff;
}
@@ -101,10 +101,10 @@ uint8_t bbc_fdc_slot_device::read(offs_t offset)
// write
//-------------------------------------------------
-void bbc_fdc_slot_device::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(bbc_fdc_slot_device::write)
{
if (m_card)
- m_card->write(offset, data);
+ m_card->write(space, offset, data);
}
//-------------------------------------------------
diff --git a/src/devices/bus/bbc/fdc/fdc.h b/src/devices/bus/bbc/fdc/fdc.h
index 3264172a25d..0cc256961ee 100644
--- a/src/devices/bus/bbc/fdc/fdc.h
+++ b/src/devices/bus/bbc/fdc/fdc.h
@@ -41,8 +41,8 @@ public:
auto intrq_wr_callback() { return m_intrq_cb.bind(); }
auto drq_wr_callback() { return m_drq_cb.bind(); }
- uint8_t read(offs_t offset);
- void write(offs_t offset, uint8_t data);
+ virtual DECLARE_READ8_MEMBER(read);
+ virtual DECLARE_WRITE8_MEMBER(write);
DECLARE_WRITE_LINE_MEMBER( intrq_w ) { m_intrq_cb(state); }
DECLARE_WRITE_LINE_MEMBER( drq_w) { m_drq_cb(state); }
@@ -66,8 +66,8 @@ private:
class device_bbc_fdc_interface : public device_slot_card_interface
{
public:
- virtual uint8_t read(offs_t offset) { return 0xff; }
- virtual void write(offs_t offset, uint8_t data) { }
+ virtual DECLARE_READ8_MEMBER(read) { return 0xff; }
+ virtual DECLARE_WRITE8_MEMBER(write) { }
protected:
device_bbc_fdc_interface(const machine_config &mconfig, device_t &device);
diff --git a/src/devices/bus/bbc/fdc/microware.cpp b/src/devices/bus/bbc/fdc/microware.cpp
index 477ac0f3f9e..29489af382c 100644
--- a/src/devices/bus/bbc/fdc/microware.cpp
+++ b/src/devices/bus/bbc/fdc/microware.cpp
@@ -101,7 +101,7 @@ void bbc_microware_device::device_start()
// IMPLEMENTATION
//**************************************************************************
-uint8_t bbc_microware_device::read(offs_t offset)
+READ8_MEMBER(bbc_microware_device::read)
{
uint8_t data;
@@ -116,7 +116,7 @@ uint8_t bbc_microware_device::read(offs_t offset)
return data;
}
-void bbc_microware_device::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(bbc_microware_device::write)
{
if (offset & 0x04)
{
diff --git a/src/devices/bus/bbc/fdc/microware.h b/src/devices/bus/bbc/fdc/microware.h
index 61c0cb358cf..117159b407d 100644
--- a/src/devices/bus/bbc/fdc/microware.h
+++ b/src/devices/bus/bbc/fdc/microware.h
@@ -42,8 +42,8 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
virtual const tiny_rom_entry *device_rom_region() const override;
- virtual uint8_t read(offs_t offset) override;
- virtual void write(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read) override;
+ virtual DECLARE_WRITE8_MEMBER(write) override;
private:
DECLARE_FLOPPY_FORMATS(floppy_formats);
diff --git a/src/devices/bus/bbc/fdc/opus.cpp b/src/devices/bus/bbc/fdc/opus.cpp
index f6b07df6bcb..f25de315c58 100644
--- a/src/devices/bus/bbc/fdc/opus.cpp
+++ b/src/devices/bus/bbc/fdc/opus.cpp
@@ -212,7 +212,7 @@ void bbc_opusfdc_device::device_start()
// IMPLEMENTATION
//**************************************************************************
-uint8_t bbc_opus8272_device::read(offs_t offset)
+READ8_MEMBER(bbc_opus8272_device::read)
{
uint8_t data = 0xff;
@@ -227,20 +227,20 @@ uint8_t bbc_opus8272_device::read(offs_t offset)
if (m_floppy0->get_device()) m_floppy0->get_device()->mon_w(1);
if (m_floppy1->get_device()) m_floppy1->get_device()->mon_w(1);
case 0x04:
- data = m_fdc->msr_r();
+ data = m_fdc->msr_r(space, 0);
break;
case 0x05:
if (m_floppy0->get_device()) m_floppy0->get_device()->mon_w(0);
if (m_floppy1->get_device()) m_floppy1->get_device()->mon_w(0);
case 0x07:
- data = m_fdc->fifo_r();
+ data = m_fdc->fifo_r(space, 0);
break;
}
return data;
}
-void bbc_opus8272_device::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(bbc_opus8272_device::write)
{
floppy_image_device *floppy = nullptr;
@@ -259,13 +259,13 @@ void bbc_opus8272_device::write(offs_t offset, uint8_t data)
if (m_floppy0->get_device()) m_floppy0->get_device()->mon_w(0);
if (m_floppy1->get_device()) m_floppy1->get_device()->mon_w(0);
case 0x07:
- m_fdc->fifo_w(data);
+ m_fdc->fifo_w(space, 0, data);
break;
}
}
-uint8_t bbc_opusfdc_device::read(offs_t offset)
+READ8_MEMBER(bbc_opusfdc_device::read)
{
uint8_t data;
@@ -280,7 +280,7 @@ uint8_t bbc_opusfdc_device::read(offs_t offset)
return data;
}
-void bbc_opusfdc_device::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(bbc_opusfdc_device::write)
{
if (offset & 0x04)
{
diff --git a/src/devices/bus/bbc/fdc/opus.h b/src/devices/bus/bbc/fdc/opus.h
index 033fccc02c4..721f3ebab5c 100644
--- a/src/devices/bus/bbc/fdc/opus.h
+++ b/src/devices/bus/bbc/fdc/opus.h
@@ -36,8 +36,8 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
virtual const tiny_rom_entry *device_rom_region() const override;
- virtual uint8_t read(offs_t offset) override;
- virtual void write(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read) override;
+ virtual DECLARE_WRITE8_MEMBER(write) override;
private:
required_device<i8272a_device> m_fdc;
@@ -62,8 +62,8 @@ protected:
// device-level overrides
virtual void device_start() override;
- virtual uint8_t read(offs_t offset) override;
- virtual void write(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read) override;
+ virtual DECLARE_WRITE8_MEMBER(write) override;
required_device<wd_fdc_device_base> m_fdc;
required_device<floppy_connector> m_floppy0;
diff --git a/src/devices/bus/bbc/fdc/watford.cpp b/src/devices/bus/bbc/fdc/watford.cpp
index 4c3f31344ee..b888840314f 100644
--- a/src/devices/bus/bbc/fdc/watford.cpp
+++ b/src/devices/bus/bbc/fdc/watford.cpp
@@ -147,7 +147,7 @@ void bbc_weddb3_device::device_start()
// IMPLEMENTATION
//**************************************************************************
-uint8_t bbc_weddb2_device::read(offs_t offset)
+READ8_MEMBER(bbc_weddb2_device::read)
{
uint8_t data;
@@ -162,7 +162,7 @@ uint8_t bbc_weddb2_device::read(offs_t offset)
return data;
}
-void bbc_weddb2_device::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(bbc_weddb2_device::write)
{
if (offset & 0x04)
{
@@ -192,7 +192,7 @@ void bbc_weddb2_device::write(offs_t offset, uint8_t data)
}
}
-uint8_t bbc_weddb3_device::read(offs_t offset)
+READ8_MEMBER(bbc_weddb3_device::read)
{
uint8_t data;
@@ -207,7 +207,7 @@ uint8_t bbc_weddb3_device::read(offs_t offset)
return data;
}
-void bbc_weddb3_device::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(bbc_weddb3_device::write)
{
if (offset & 0x04)
{
diff --git a/src/devices/bus/bbc/fdc/watford.h b/src/devices/bus/bbc/fdc/watford.h
index 2f1cfa65c64..02bbf59f523 100644
--- a/src/devices/bus/bbc/fdc/watford.h
+++ b/src/devices/bus/bbc/fdc/watford.h
@@ -45,8 +45,8 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
virtual const tiny_rom_entry *device_rom_region() const override;
- virtual uint8_t read(offs_t offset) override;
- virtual void write(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read) override;
+ virtual DECLARE_WRITE8_MEMBER(write) override;
private:
required_device<wd_fdc_device_base> m_fdc;
@@ -68,8 +68,8 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
virtual const tiny_rom_entry *device_rom_region() const override;
- virtual uint8_t read(offs_t offset) override;
- virtual void write(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read) override;
+ virtual DECLARE_WRITE8_MEMBER(write) override;
private:
required_device<wd_fdc_device_base> m_fdc;
diff --git a/src/devices/bus/bbc/joyport/joyport.cpp b/src/devices/bus/bbc/joyport/joyport.cpp
index 0c1bae50ee2..5ed3f8d2fff 100644
--- a/src/devices/bus/bbc/joyport/joyport.cpp
+++ b/src/devices/bus/bbc/joyport/joyport.cpp
@@ -91,11 +91,11 @@ void bbc_joyport_slot_device::device_reset()
// pb_r
//-------------------------------------------------
-uint8_t bbc_joyport_slot_device::pb_r()
+READ8_MEMBER(bbc_joyport_slot_device::pb_r)
{
// TODO: Joyport connected to PB0-PB4 only. PB5-PB7 are expansion port.
if (m_device)
- return 0xe0 | m_device->pb_r();
+ return 0xe0 | m_device->pb_r(space, 0);
else
return 0xff;
}
@@ -105,10 +105,10 @@ uint8_t bbc_joyport_slot_device::pb_r()
// pb_w
//-------------------------------------------------
-void bbc_joyport_slot_device::pb_w(uint8_t data)
+WRITE8_MEMBER(bbc_joyport_slot_device::pb_w)
{
if (m_device)
- m_device->pb_w(data);
+ m_device->pb_w(space, 0, data);
}
diff --git a/src/devices/bus/bbc/joyport/joyport.h b/src/devices/bus/bbc/joyport/joyport.h
index 6abda62633d..572e41f7612 100644
--- a/src/devices/bus/bbc/joyport/joyport.h
+++ b/src/devices/bus/bbc/joyport/joyport.h
@@ -64,8 +64,8 @@ public:
DECLARE_WRITE_LINE_MEMBER(cb1_w) { m_cb1_handler(state); }
DECLARE_WRITE_LINE_MEMBER(cb2_w) { m_cb2_handler(state); }
- uint8_t pb_r();
- void pb_w(uint8_t data);
+ DECLARE_READ8_MEMBER(pb_r);
+ DECLARE_WRITE8_MEMBER(pb_w);
protected:
// device-level overrides
@@ -86,8 +86,8 @@ private:
class device_bbc_joyport_interface : public device_slot_card_interface
{
public:
- virtual uint8_t pb_r() { return 0xff; }
- virtual void pb_w(uint8_t data) { }
+ virtual DECLARE_READ8_MEMBER(pb_r) { return 0xff; }
+ virtual DECLARE_WRITE8_MEMBER(pb_w) { }
protected:
device_bbc_joyport_interface(const machine_config &mconfig, device_t &device);
diff --git a/src/devices/bus/bbc/joyport/joystick.cpp b/src/devices/bus/bbc/joyport/joystick.cpp
index d53186f118d..5f4047c13a3 100644
--- a/src/devices/bus/bbc/joyport/joystick.cpp
+++ b/src/devices/bus/bbc/joyport/joystick.cpp
@@ -78,7 +78,7 @@ void bbcmc_joystick_device::device_reset()
// IMPLEMENTATION
//**************************************************************************
-uint8_t bbcmc_joystick_device::pb_r()
+READ8_MEMBER(bbcmc_joystick_device::pb_r)
{
return m_joy->read();
}
diff --git a/src/devices/bus/bbc/joyport/joystick.h b/src/devices/bus/bbc/joyport/joystick.h
index 8d0cc5a0458..0e9cea22716 100644
--- a/src/devices/bus/bbc/joyport/joystick.h
+++ b/src/devices/bus/bbc/joyport/joystick.h
@@ -36,7 +36,7 @@ protected:
virtual void device_start() override;
virtual void device_reset() override;
- virtual uint8_t pb_r() override;
+ virtual DECLARE_READ8_MEMBER(pb_r) override;
private:
required_ioport m_joy;
diff --git a/src/devices/bus/bbc/rom/dfs.cpp b/src/devices/bus/bbc/rom/dfs.cpp
deleted file mode 100644
index 8a3aac6d588..00000000000
--- a/src/devices/bus/bbc/rom/dfs.cpp
+++ /dev/null
@@ -1,63 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Nigel Barnes
-/***************************************************************************
-
- BBC Micro MRM E00 DFS emulation
-
- Comprises of 8K ROM and 2K/4K? RAM on a carrier board, with flying lead
- to RW line to enable writing to RAM.
-
-***************************************************************************/
-
-#include "emu.h"
-#include "dfs.h"
-
-
-//**************************************************************************
-// DEVICE DEFINITIONS
-//**************************************************************************
-
-DEFINE_DEVICE_TYPE(BBC_MRME00, bbc_mrme00_device, "bbc_mrme00", "BBC Micro MRM E00 DFS")
-
-//**************************************************************************
-// LIVE DEVICE
-//**************************************************************************
-
-//-------------------------------------------------
-// bbc_rom_device - constructor
-//-------------------------------------------------
-
-bbc_mrme00_device::bbc_mrme00_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, BBC_MRME00, tag, owner, clock)
- , device_bbc_rom_interface(mconfig, *this)
-{
-}
-
-//-------------------------------------------------
-// device_start - device-specific startup
-//-------------------------------------------------
-
-void bbc_mrme00_device::device_start()
-{
-}
-
-//-------------------------------------------------
-// read
-//-------------------------------------------------
-
-uint8_t bbc_mrme00_device::read(offs_t offset)
-{
- if (offset < get_rom_size())
- return get_rom_base()[offset & (get_rom_size() - 1)];
- else
- return get_ram_base()[offset & (get_ram_size() - 1)];
-}
-
-//-------------------------------------------------
-// write
-//-------------------------------------------------
-
-void bbc_mrme00_device::write(offs_t offset, uint8_t data)
-{
- get_ram_base()[offset & (get_ram_size() - 1)] = data;
-}
diff --git a/src/devices/bus/bbc/rom/dfs.h b/src/devices/bus/bbc/rom/dfs.h
deleted file mode 100644
index b76a7ab26ed..00000000000
--- a/src/devices/bus/bbc/rom/dfs.h
+++ /dev/null
@@ -1,42 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Nigel Barnes
-/***************************************************************************
-
- BBC Micro MRM E00 DFS emulation
-
-***************************************************************************/
-
-#ifndef MAME_BUS_BBC_ROM_DFS_H
-#define MAME_BUS_BBC_ROM_DFS_H
-
-#pragma once
-
-#include "slot.h"
-
-//**************************************************************************
-// TYPE DEFINITIONS
-//**************************************************************************
-
-// ======================> bbc_mrme00_device
-
-class bbc_mrme00_device : public device_t,
- public device_bbc_rom_interface
-{
-public:
- // construction/destruction
- bbc_mrme00_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
-protected:
- // device-level overrides
- virtual void device_start() override;
-
- // device_bbc_rom_interface overrides
- virtual uint8_t read(offs_t offset) override;
- virtual void write(offs_t offset, uint8_t data) override;
-};
-
-// device type definition
-DECLARE_DEVICE_TYPE(BBC_MRME00, bbc_mrme00_device)
-
-
-#endif // MAME_BUS_BBC_ROM_DFS_H
diff --git a/src/devices/bus/bbc/rom/pal.cpp b/src/devices/bus/bbc/rom/pal.cpp
deleted file mode 100644
index 51667f70955..00000000000
--- a/src/devices/bus/bbc/rom/pal.cpp
+++ /dev/null
@@ -1,312 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Nigel Barnes
-/***************************************************************************
-
- BBC Micro PALPROM carrier boards
-
- Computer Concepts PALPROM carrier boards (PAL16R4):
- These were the first to provide a 32K ROM banked into a 16K slot using
- a PAL to perform the switching upon reads from pre-programmed zones. In
- addition to being able to provide larger ROM based applications such
- as Inter-Word and Inter-Base, it also served as copy protection since
- the carrier board and PAL would have to be reproduced to support the
- ROM.
- Other publishers such as Beebug and PMS also used the carrier boards
- and PAL provided by Computer Concepts.
-
- Watford Electronics PALPROM carrier boards (PAL16L8):
- The PALPROM device provides a means of running 32K software within the
- space allocated to a 16K sideways ROM whilst providing a good degree of
- software protection.
- Within a PALPROM, a 32K EPROM is divided into 4 banks of 8K. These are
- arranged in a 3 plus 1 arrangement. Bank 0, which occupies &8000 to
- &9FFF is permanently enabled, whilst banks 1 to 3, which occupy the
- region &A000 to &BFFF, are swapped in one at a time. This swapping is
- made by performing an access to a special switching zone, of which there
- are 8 in total. Accessing a switching zone, which is 32 bytes in length
- and aligned to start on a 32 byte boundary, selects a pre-specified bank
- (1 to 3)
-
- P.R.E.S. PALPROM carrier boards:
- This was based on the Computer Concepts carrier board.
-
- Instant Mini Office 2:
- Not a PALPROM carrier board but a larger ROM carrier containing 4x32K
- and TTL circuits to enable and page each ROM into 16K banks.
-
-***************************************************************************/
-
-#include "emu.h"
-#include "pal.h"
-
-
-//**************************************************************************
-// DEVICE DEFINITIONS
-//**************************************************************************
-
-DEFINE_DEVICE_TYPE(BBC_CCIWORD, bbc_cciword_device, "bbc_cciword", "Computer Concepts 32K ROM Carrier (Inter-Word)")
-DEFINE_DEVICE_TYPE(BBC_CCIBASE, bbc_ccibase_device, "bbc_ccibase", "Computer Concepts 64K ROM Carrier (Inter-Base)")
-DEFINE_DEVICE_TYPE(BBC_CCISPELL, bbc_ccispell_device, "bbc_ccispell", "Computer Concepts 128K ROM Carrier (SpellMaster)")
-DEFINE_DEVICE_TYPE(BBC_PALQST, bbc_palqst_device, "bbc_palqst", "Watford Electronics ROM Carrier (Quest Paint)")
-DEFINE_DEVICE_TYPE(BBC_PALWAP, bbc_palwap_device, "bbc_palwap", "Watford Electronics ROM Carrier (Wapping Editor)")
-DEFINE_DEVICE_TYPE(BBC_PALTED, bbc_palted_device, "bbc_palted", "Watford Electronics ROM Carrier (TED)")
-DEFINE_DEVICE_TYPE(BBC_PALABEP, bbc_palabep_device, "bbc_palabep", "P.R.E.S. 32K ROM Carrier (ABE+)")
-DEFINE_DEVICE_TYPE(BBC_PALABE, bbc_palabe_device, "bbc_palabe", "P.R.E.S. 32K ROM Carrier (ABE)")
-DEFINE_DEVICE_TYPE(BBC_PALMO2, bbc_palmo2_device, "bbc_palmo2", "Instant Mini Office 2 ROM Carrier")
-
-
-//**************************************************************************
-// LIVE DEVICE
-//**************************************************************************
-
-//-------------------------------------------------
-// bbc_palprom_device - constructor
-//-------------------------------------------------
-
-bbc_pal_device::bbc_pal_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, type, tag, owner, clock)
- , device_bbc_rom_interface(mconfig, *this)
- , m_bank(0)
-{
-}
-
-bbc_cciword_device::bbc_cciword_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : bbc_pal_device(mconfig, BBC_CCIWORD, tag, owner, clock)
-{
-}
-
-bbc_ccibase_device::bbc_ccibase_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : bbc_pal_device(mconfig, BBC_CCIBASE, tag, owner, clock)
-{
-}
-
-bbc_ccispell_device::bbc_ccispell_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : bbc_pal_device(mconfig, BBC_CCISPELL, tag, owner, clock)
-{
-}
-
-bbc_palqst_device::bbc_palqst_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : bbc_pal_device(mconfig, BBC_PALQST, tag, owner, clock)
-{
-}
-
-bbc_palwap_device::bbc_palwap_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : bbc_pal_device(mconfig, BBC_PALWAP, tag, owner, clock)
-{
-}
-
-bbc_palted_device::bbc_palted_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : bbc_pal_device(mconfig, BBC_PALTED, tag, owner, clock)
-{
-}
-
-bbc_palabep_device::bbc_palabep_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : bbc_pal_device(mconfig, BBC_PALABEP, tag, owner, clock)
-{
-}
-
-bbc_palabe_device::bbc_palabe_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : bbc_pal_device(mconfig, BBC_PALABE, tag, owner, clock)
-{
-}
-
-bbc_palmo2_device::bbc_palmo2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : bbc_pal_device(mconfig, BBC_PALMO2, tag, owner, clock)
-{
-}
-
-
-//-------------------------------------------------
-// device_start - device-specific startup
-//-------------------------------------------------
-
-void bbc_pal_device::device_start()
-{
- save_item(NAME(m_bank));
-}
-
-//-------------------------------------------------
-// read
-//-------------------------------------------------
-
-uint8_t bbc_cciword_device::read(offs_t offset)
-{
- if (!machine().side_effects_disabled())
- {
- /* switching zones for Inter-Word */
- switch (offset & 0x3fe0)
- {
- case 0x0060:
- case 0x3fc0: m_bank = 0; break;
- case 0x0040:
- case 0x3fa0:
- case 0x3fe0: m_bank = 1; break;
- }
- }
-
- return get_rom_base()[(offset & 0x3fff) | (m_bank << 14)];
-}
-
-uint8_t bbc_ccibase_device::read(offs_t offset)
-{
- if (!machine().side_effects_disabled())
- {
- /* switching zones for Inter-Base */
- switch (offset & 0x3fe0)
- {
- case 0x3f80: m_bank = 0; break;
- case 0x3fa0: m_bank = 1; break;
- case 0x3fc0: m_bank = 2; break;
- case 0x3fe0: m_bank = 3; break;
- }
- }
-
- return get_rom_base()[(offset & 0x3fff) | (m_bank << 14)];
-}
-
-uint8_t bbc_ccispell_device::read(offs_t offset)
-{
- if (!machine().side_effects_disabled())
- {
- /* switching zones for SpellMaster */
- if (offset == 0x3fe0)
- {
- m_bank = 0;
- }
- else if (m_bank == 0)
- {
- switch (offset & 0x3fe0)
- {
- case 0x3fc0: m_bank = 1; break;
- case 0x3fa0: m_bank = 2; break;
- case 0x3f80: m_bank = 3; break;
- case 0x3f60: m_bank = 4; break;
- case 0x3f40: m_bank = 5; break;
- case 0x3f20: m_bank = 6; break;
- case 0x3f00: m_bank = 7; break;
- }
- }
- }
-
- return get_rom_base()[(offset & 0x3fff) | (m_bank << 14)];
-}
-
-uint8_t bbc_palqst_device::read(offs_t offset)
-{
- if (!machine().side_effects_disabled())
- {
- /* switching zones for Quest Paint and ConQuest */
- switch (offset & 0x3fe0)
- {
- case 0x0820: m_bank = 2; break;
- case 0x11e0: m_bank = 1; break;
- case 0x12c0: m_bank = 3; break;
- case 0x1340: m_bank = 0; break;
- }
- }
-
- if (offset & 0x2000)
- {
- return get_rom_base()[(offset & 0x1fff) | (m_bank << 13)];
- }
- else
- {
- return get_rom_base()[offset & 0x1fff];
- }
-}
-
-uint8_t bbc_palwap_device::read(offs_t offset)
-{
- if (!machine().side_effects_disabled())
- {
- /* switching zones for Wapping Editor */
- switch (offset & 0x3fe0)
- {
- case 0x1f00: m_bank = 0; break;
- case 0x1f20: m_bank = 1; break;
- case 0x1f40: m_bank = 2; break;
- case 0x1f60: m_bank = 3; break;
- case 0x1f80: m_bank = 4; break;
- case 0x1fa0: m_bank = 5; break;
- case 0x1fc0: m_bank = 6; break;
- case 0x1fe0: m_bank = 7; break;
- }
- }
-
- if (offset & 0x2000)
- {
- return get_rom_base()[(offset & 0x1fff) | (m_bank << 13)];
- }
- else
- {
- return get_rom_base()[offset & 0x1fff];
- }
-}
-
-uint8_t bbc_palted_device::read(offs_t offset)
-{
- if (!machine().side_effects_disabled())
- {
- /* switching zones for TED */
- switch (offset & 0x3fe0)
- {
- case 0x1f80: m_bank = 0; break;
- case 0x1fa0: m_bank = 1; break;
- case 0x1fc0: m_bank = 2; break;
- case 0x1fe0: m_bank = 3; break;
- }
- }
-
- if (offset & 0x2000)
- {
- return get_rom_base()[(offset & 0x1fff) | (m_bank << 13)];
- }
- else
- {
- return get_rom_base()[offset & 0x1fff];
- }
-}
-
-uint8_t bbc_palabep_device::read(offs_t offset)
-{
- if (!machine().side_effects_disabled())
- {
- /* switching zones for Advanced BASIC Editor Plus */
- switch (offset & 0x3ffc)
- {
- case 0x3ff8: m_bank = 0; break;
- case 0x3ffc: m_bank = 1; break;
- }
- }
-
- return get_rom_base()[(offset & 0x3fff) | (m_bank << 14)];
-}
-
-uint8_t bbc_palabe_device::read(offs_t offset)
-{
- if (!machine().side_effects_disabled())
- {
- /* switching zones for Advanced BASIC Editor */
- switch (offset & 0x3ffc)
- {
- case 0x3ff8: m_bank = 1; break;
- case 0x3ffc: m_bank = 0; break;
- }
- }
-
- return get_rom_base()[(offset & 0x3fff) | (m_bank << 14)];
-}
-
-uint8_t bbc_palmo2_device::read(offs_t offset)
-{
- if (!machine().side_effects_disabled())
- {
- /* switching zones for Instant Mini Office 2 */
- switch (offset & 0x3ff0)
- {
- case 0x2000: m_bank = offset & 0x0f; break;
- }
- }
-
- return get_rom_base()[(offset & 0x3fff) | (m_bank << 13)];
-}
diff --git a/src/devices/bus/bbc/rom/pal.h b/src/devices/bus/bbc/rom/pal.h
deleted file mode 100644
index 31c8dcd0d78..00000000000
--- a/src/devices/bus/bbc/rom/pal.h
+++ /dev/null
@@ -1,167 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Nigel Barnes
-/***************************************************************************
-
- BBC Micro PALPROM carrier boards
-
-***************************************************************************/
-
-#ifndef MAME_BUS_BBC_ROM_PAL_H
-#define MAME_BUS_BBC_ROM_PAL_H
-
-#pragma once
-
-#include "slot.h"
-
-
-//**************************************************************************
-// TYPE DEFINITIONS
-//**************************************************************************
-
-// ======================> bbc_pal_device
-
-class bbc_pal_device : public device_t,
- public device_bbc_rom_interface
-{
-protected:
- // construction/destruction
- bbc_pal_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
-
- // device-level overrides
- virtual void device_start() override;
-
- // device_bbc_rom_interface overrides
- virtual uint32_t get_rom_size() override { return 0x4000; }
-
- uint8_t m_bank;
-};
-
-// ======================> bbc_cciword_device
-
-class bbc_cciword_device : public bbc_pal_device
-{
-public:
- // construction/destruction
- bbc_cciword_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
-protected:
- // device_bbc_rom_interface overrides
- virtual uint8_t read(offs_t offset) override;
-};
-
-// ======================> bbc_ccibase_device
-
-class bbc_ccibase_device : public bbc_pal_device
-{
-public:
- // construction/destruction
- bbc_ccibase_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
-protected:
- // device_bbc_rom_interface overrides
- virtual uint8_t read(offs_t offset) override;
-};
-
-// ======================> bbc_ccispell_device
-
-class bbc_ccispell_device : public bbc_pal_device
-{
-public:
- // construction/destruction
- bbc_ccispell_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
-protected:
- // device_bbc_rom_interface overrides
- virtual uint8_t read(offs_t offset) override;
-};
-
-// ======================> bbc_palqst_device
-
-class bbc_palqst_device : public bbc_pal_device
-{
-public:
- bbc_palqst_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
-protected:
- // device_bbc_rom_interface overrides
- virtual uint8_t read(offs_t offset) override;
-};
-
-// ======================> bbc_palwap_device
-
-class bbc_palwap_device : public bbc_pal_device
-{
-public:
- bbc_palwap_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
-protected:
- // device_bbc_rom_interface overrides
- virtual uint8_t read(offs_t offset) override;
-};
-
-// ======================> bbc_palted_device
-
-class bbc_palted_device : public bbc_pal_device
-{
-public:
- // construction/destruction
- bbc_palted_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
-protected:
- // device_bbc_rom_interface overrides
- virtual uint8_t read(offs_t offset) override;
-};
-
-// ======================> bbc_palabep_device
-
-class bbc_palabep_device : public bbc_pal_device
-{
-public:
- // construction/destruction
- bbc_palabep_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
-protected:
- // device_bbc_rom_interface overrides
- virtual uint8_t read(offs_t offset) override;
-};
-
-// ======================> bbc_palabe_device
-
-class bbc_palabe_device : public bbc_pal_device
-{
-public:
- // construction/destruction
- bbc_palabe_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
-protected:
- // device_bbc_rom_interface overrides
- virtual uint8_t read(offs_t offset) override;
-};
-
-// ======================> bbc_palmo2_device
-
-class bbc_palmo2_device : public bbc_pal_device
-{
-public:
- // construction/destruction
- bbc_palmo2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
-protected:
- // device_bbc_rom_interface overrides
- virtual uint8_t read(offs_t offset) override;
-};
-
-
-// device type definition
-DECLARE_DEVICE_TYPE(BBC_CCIWORD, bbc_cciword_device)
-DECLARE_DEVICE_TYPE(BBC_CCIBASE, bbc_ccibase_device)
-DECLARE_DEVICE_TYPE(BBC_CCISPELL, bbc_ccispell_device)
-DECLARE_DEVICE_TYPE(BBC_PALQST, bbc_palqst_device)
-DECLARE_DEVICE_TYPE(BBC_PALWAP, bbc_palwap_device)
-DECLARE_DEVICE_TYPE(BBC_PALTED, bbc_palted_device)
-DECLARE_DEVICE_TYPE(BBC_PALABEP, bbc_palabep_device)
-DECLARE_DEVICE_TYPE(BBC_PALABE, bbc_palabe_device)
-DECLARE_DEVICE_TYPE(BBC_PALMO2, bbc_palmo2_device)
-
-
-#endif // MAME_BUS_BBC_ROM_PAL_H
diff --git a/src/devices/bus/bbc/rom/ram.cpp b/src/devices/bus/bbc/rom/ram.cpp
deleted file mode 100644
index 0d626955812..00000000000
--- a/src/devices/bus/bbc/rom/ram.cpp
+++ /dev/null
@@ -1,57 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Nigel Barnes
-/***************************************************************************
-
- BBC Micro Sideways RAM emulation
-
-***************************************************************************/
-
-#include "emu.h"
-#include "ram.h"
-
-
-//**************************************************************************
-// DEVICE DEFINITIONS
-//**************************************************************************
-
-DEFINE_DEVICE_TYPE(BBC_RAM, bbc_ram_device, "bbc_ram", "BBC Micro Sideways RAM")
-
-//**************************************************************************
-// LIVE DEVICE
-//**************************************************************************
-
-//-------------------------------------------------
-// bbc_ram_device - constructor
-//-------------------------------------------------
-
-bbc_ram_device::bbc_ram_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, BBC_RAM, tag, owner, clock)
- , device_bbc_rom_interface(mconfig, *this)
-{
-}
-
-//-------------------------------------------------
-// device_start - device-specific startup
-//-------------------------------------------------
-
-void bbc_ram_device::device_start()
-{
-}
-
-//-------------------------------------------------
-// read
-//-------------------------------------------------
-
-uint8_t bbc_ram_device::read(offs_t offset)
-{
- return get_ram_base()[offset & (get_ram_size() - 1)];
-}
-
-//-------------------------------------------------
-// write
-//-------------------------------------------------
-
-void bbc_ram_device::write(offs_t offset, uint8_t data)
-{
- get_ram_base()[offset & (get_ram_size() - 1)] = data;
-}
diff --git a/src/devices/bus/bbc/rom/ram.h b/src/devices/bus/bbc/rom/ram.h
deleted file mode 100644
index 85267147a35..00000000000
--- a/src/devices/bus/bbc/rom/ram.h
+++ /dev/null
@@ -1,42 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Nigel Barnes
-/***************************************************************************
-
- BBC Micro Sideways RAM emulation
-
-***************************************************************************/
-
-#ifndef MAME_BUS_BBC_ROM_RAM_H
-#define MAME_BUS_BBC_ROM_RAM_H
-
-#pragma once
-
-#include "slot.h"
-
-//**************************************************************************
-// TYPE DEFINITIONS
-//**************************************************************************
-
-// ======================> bbc_ram_device
-
-class bbc_ram_device : public device_t,
- public device_bbc_rom_interface
-{
-public:
- // construction/destruction
- bbc_ram_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
-protected:
- // device-level overrides
- virtual void device_start() override;
-
- // device_bbc_rom_interface overrides
- virtual uint8_t read(offs_t offset) override;
- virtual void write(offs_t offset, uint8_t data) override;
-};
-
-
-// device type definition
-DECLARE_DEVICE_TYPE(BBC_RAM, bbc_ram_device)
-
-#endif // MAME_BUS_BBC_ROM_RAM_H
diff --git a/src/devices/bus/bbc/rom/rom.cpp b/src/devices/bus/bbc/rom/rom.cpp
deleted file mode 100644
index f798de11c6a..00000000000
--- a/src/devices/bus/bbc/rom/rom.cpp
+++ /dev/null
@@ -1,50 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Nigel Barnes
-/***************************************************************************
-
- BBC Micro Sideways ROM emulation
-
-***************************************************************************/
-
-#include "emu.h"
-#include "rom.h"
-
-
-//**************************************************************************
-// DEVICE DEFINITIONS
-//**************************************************************************
-
-DEFINE_DEVICE_TYPE(BBC_ROM, bbc_rom_device, "bbc_rom", "BBC Micro Sideways ROM")
-
-//**************************************************************************
-// LIVE DEVICE
-//**************************************************************************
-
-//-------------------------------------------------
-// bbc_rom_device - constructor
-//-------------------------------------------------
-
-bbc_rom_device::bbc_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, BBC_ROM, tag, owner, clock)
- , device_bbc_rom_interface(mconfig, *this)
-{
-}
-
-//-------------------------------------------------
-// device_start - device-specific startup
-//-------------------------------------------------
-
-void bbc_rom_device::device_start()
-{
-}
-
-//-------------------------------------------------
-// read
-//-------------------------------------------------
-
-uint8_t bbc_rom_device::read(offs_t offset)
-{
- uint32_t size = std::min((int32_t)get_rom_size(), 0x4000);
-
- return get_rom_base()[offset & (size - 1)];
-}
diff --git a/src/devices/bus/bbc/rom/rom.h b/src/devices/bus/bbc/rom/rom.h
deleted file mode 100644
index 282e5471781..00000000000
--- a/src/devices/bus/bbc/rom/rom.h
+++ /dev/null
@@ -1,41 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Nigel Barnes
-/***************************************************************************
-
- BBC Micro Sideways ROM emulation
-
-***************************************************************************/
-
-#ifndef MAME_BUS_BBC_ROM_ROM_H
-#define MAME_BUS_BBC_ROM_ROM_H
-
-#pragma once
-
-#include "slot.h"
-
-//**************************************************************************
-// TYPE DEFINITIONS
-//**************************************************************************
-
-// ======================> bbc_rom_device
-
-class bbc_rom_device : public device_t,
- public device_bbc_rom_interface
-{
-public:
- // construction/destruction
- bbc_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
-protected:
- // device-level overrides
- virtual void device_start() override;
-
- // device_bbc_rom_interface overrides
- virtual uint8_t read(offs_t offset) override;
-};
-
-// device type definition
-DECLARE_DEVICE_TYPE(BBC_ROM, bbc_rom_device)
-
-
-#endif // MAME_BUS_BBC_ROM_ROM_H
diff --git a/src/devices/bus/bbc/rom/rtc.cpp b/src/devices/bus/bbc/rom/rtc.cpp
deleted file mode 100644
index 7d73c24b53e..00000000000
--- a/src/devices/bus/bbc/rom/rtc.cpp
+++ /dev/null
@@ -1,124 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Nigel Barnes
-/***************************************************************************
-
- Solidisk Real Time Clock
-
- http://chrisacorns.computinghistory.org.uk/8bit_Upgrades/Solidisk_RTC.html
-
- PMS Genie Watch (RTC for the BBC)
-
-***************************************************************************/
-
-#include "emu.h"
-#include "rtc.h"
-
-
-//**************************************************************************
-// DEVICE DEFINITIONS
-//**************************************************************************
-
-DEFINE_DEVICE_TYPE(BBC_STLRTC, bbc_stlrtc_device, "bbc_stlrtc", "Solidisk Real Time Clock")
-DEFINE_DEVICE_TYPE(BBC_PMSRTC, bbc_pmsrtc_device, "bbc_pmsrtc", "PMS Genie Real Time Clock")
-
-
-//-------------------------------------------------
-// device_add_mconfig - add device configuration
-//-------------------------------------------------
-
-void bbc_stlrtc_device::device_add_mconfig(machine_config &config)
-{
- MC146818(config, m_rtc, 32.768_kHz_XTAL); // TODO: verify clock
-}
-
-void bbc_pmsrtc_device::device_add_mconfig(machine_config &config)
-{
- /* Dallas DS1216 SmartWatch RAM */
- DS1315(config, m_rtc, 0);
-}
-
-//**************************************************************************
-// LIVE DEVICE
-//**************************************************************************
-
-//-------------------------------------------------
-// bbc_stlrtc_device - constructor
-//-------------------------------------------------
-
-bbc_stlrtc_device::bbc_stlrtc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, BBC_STLRTC, tag, owner, clock)
- , device_bbc_rom_interface(mconfig, *this)
- , m_rtc(*this, "rtc")
-{
-}
-
-bbc_pmsrtc_device::bbc_pmsrtc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, BBC_PMSRTC, tag, owner, clock)
- , device_bbc_rom_interface(mconfig, *this)
- , m_rtc(*this, "rtc")
-{
-}
-
-//-------------------------------------------------
-// device_start - device-specific startup
-//-------------------------------------------------
-
-void bbc_stlrtc_device::device_start()
-{
-}
-
-void bbc_pmsrtc_device::device_start()
-{
-}
-
-//-------------------------------------------------
-// read
-//-------------------------------------------------
-
-uint8_t bbc_stlrtc_device::read(offs_t offset)
-{
- uint8_t data = get_rom_base()[offset & 0x3fff];
-
- switch (offset & 0x3fc0)
- {
- case 0x3e00:
- data = m_rtc->read(1);
- break;
- case 0x3e40:
- if (!machine().side_effects_disabled())
- m_rtc->write(0, data);
- break;
- case 0x3e80:
- case 0x3ec0:
- data = m_rtc->read(0);
- break;
- case 0x3f00:
- case 0x3f40:
- case 0x3f80:
- case 0x3fc0:
- if (!machine().side_effects_disabled())
- m_rtc->write(1, data);
- break;
- }
- return data;
-}
-
-uint8_t bbc_pmsrtc_device::read(offs_t offset)
-{
- uint8_t data = get_rom_base()[offset & 0x1fff];
-
- switch (offset)
- {
- case 0x00:
- data |= m_rtc->read_0();
- break;
- case 0x01:
- data |= m_rtc->read_1();
- break;
- case 0x04:
- if (m_rtc->chip_enable())
- data = m_rtc->read_data() & 0x01;
- break;
- }
- return data;
-}
diff --git a/src/devices/bus/bbc/rom/rtc.h b/src/devices/bus/bbc/rom/rtc.h
deleted file mode 100644
index d37b2174b9b..00000000000
--- a/src/devices/bus/bbc/rom/rtc.h
+++ /dev/null
@@ -1,72 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Nigel Barnes
-/***************************************************************************
-
- Solidisk Real Time Clock emulation
-
- PMS Genie Watch (RTC for the BBC)
-
-***************************************************************************/
-
-#ifndef MAME_BUS_BBC_ROM_RTC_H
-#define MAME_BUS_BBC_ROM_RTC_H
-
-#pragma once
-
-#include "slot.h"
-#include "machine/mc146818.h"
-#include "machine/ds1315.h"
-
-//**************************************************************************
-// TYPE DEFINITIONS
-//**************************************************************************
-
-// ======================> bbc_stlrtc_device
-
-class bbc_stlrtc_device : public device_t,
- public device_bbc_rom_interface
-{
-public:
- // construction/destruction
- bbc_stlrtc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
-protected:
- // device-level overrides
- virtual void device_add_mconfig(machine_config &config) override;
-
- virtual void device_start() override;
-
- // device_bbc_rom_interface overrides
- virtual uint8_t read(offs_t offset) override;
-
-private:
- required_device<mc146818_device> m_rtc;
-};
-
-// ======================> bbc_pmsrtc_device
-
-class bbc_pmsrtc_device : public device_t,
- public device_bbc_rom_interface
-{
-public:
- // construction/destruction
- bbc_pmsrtc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
-protected:
- // device-level overrides
- virtual void device_add_mconfig(machine_config &config) override;
-
- virtual void device_start() override;
-
- // device_bbc_rom_interface overrides
- virtual uint8_t read(offs_t offset) override;
-
-private:
- required_device<ds1315_device> m_rtc;
-};
-
-// device type definition
-DECLARE_DEVICE_TYPE(BBC_STLRTC, bbc_stlrtc_device)
-DECLARE_DEVICE_TYPE(BBC_PMSRTC, bbc_pmsrtc_device)
-
-#endif // MAME_BUS_BBC_ROM_RTC_H
diff --git a/src/devices/bus/bbc/rom/slot.cpp b/src/devices/bus/bbc/rom/slot.cpp
deleted file mode 100644
index af8ae212d6d..00000000000
--- a/src/devices/bus/bbc/rom/slot.cpp
+++ /dev/null
@@ -1,234 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Nigel Barnes
-/*********************************************************************
-
- BBC Micro ROM slot emulation
-
-*********************************************************************/
-
-#include "emu.h"
-#include "slot.h"
-
-
-//**************************************************************************
-// GLOBAL VARIABLES
-//**************************************************************************
-
-DEFINE_DEVICE_TYPE(BBC_ROMSLOT16, bbc_romslot16_device, "bbc_romslot16", "BBC Micro 16K ROM Slot")
-DEFINE_DEVICE_TYPE(BBC_ROMSLOT32, bbc_romslot32_device, "bbc_romslot32", "BBC Micro 32K ROM Slot")
-
-
-//**************************************************************************
-// DEVICE BBC_ROMSLOT CARD INTERFACE
-//**************************************************************************
-
-//-------------------------------------------------
-// device_bbc_rom_interface - constructor
-//-------------------------------------------------
-
-device_bbc_rom_interface::device_bbc_rom_interface(const machine_config &mconfig, device_t &device)
- : device_slot_card_interface(mconfig, device)
- , m_rom(nullptr)
- , m_rom_size(0)
-{
-}
-
-
-//-------------------------------------------------
-// ~device_bbc_rom_interface - destructor
-//-------------------------------------------------
-
-device_bbc_rom_interface::~device_bbc_rom_interface()
-{
-}
-
-//-------------------------------------------------
-// rom_alloc - alloc the space for the ROM
-//-------------------------------------------------
-
-void device_bbc_rom_interface::rom_alloc(uint32_t size, const char *tag)
-{
- if (m_rom == nullptr)
- {
- m_rom = device().machine().memory().region_alloc(std::string(tag).append(BBC_ROM_REGION_TAG).c_str(), size, 1, ENDIANNESS_LITTLE)->base();
- m_rom_size = size;
- }
-}
-
-//-------------------------------------------------
-// ram_alloc - alloc the space for the RAM
-//-------------------------------------------------
-
-void device_bbc_rom_interface::ram_alloc(uint32_t size)
-{
- m_ram.resize(size);
- device().save_item(NAME(m_ram));
-}
-
-//-------------------------------------------------
-// nvram_alloc - alloc the space for the NVRAM
-//-------------------------------------------------
-
-void device_bbc_rom_interface::nvram_alloc(uint32_t size)
-{
- m_nvram.resize(size);
-}
-
-//**************************************************************************
-// LIVE DEVICE
-//**************************************************************************
-
-//-------------------------------------------------
-// bbc_romslot_device - constructor
-//-------------------------------------------------
-bbc_romslot_device::bbc_romslot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, type, tag, owner, clock)
- , device_image_interface(mconfig, *this)
- , device_slot_interface(mconfig, *this)
- , m_cart(nullptr)
-{
-}
-
-bbc_romslot16_device::bbc_romslot16_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : bbc_romslot_device(mconfig, BBC_ROMSLOT16, tag, owner, clock)
-{
-}
-
-bbc_romslot32_device::bbc_romslot32_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : bbc_romslot_device(mconfig, BBC_ROMSLOT32, tag, owner, clock)
-{
-}
-
-//-------------------------------------------------
-// device_start - device-specific startup
-//-------------------------------------------------
-
-void bbc_romslot_device::device_start()
-{
- m_cart = dynamic_cast<device_bbc_rom_interface *>(get_card_device());
-}
-
-
-//-------------------------------------------------
-// call load
-//-------------------------------------------------
-
-image_init_result bbc_romslot_device::call_load()
-{
- if (m_cart)
- {
- uint32_t size = !loaded_through_softlist() ? length() : get_software_region_length("rom");
-
- if (size % 0x2000)
- {
- seterror(IMAGE_ERROR_INVALIDIMAGE, "Invalid ROM size");
- return image_init_result::FAIL;
- }
-
- m_cart->rom_alloc(size, tag());
-
- if (!loaded_through_softlist())
- fread(m_cart->get_rom_base(), size);
- else
- memcpy(m_cart->get_rom_base(), get_software_region("rom"), size);
-
- if (get_software_region("ram"))
- m_cart->ram_alloc(get_software_region_length("ram"));
-
- if (get_software_region("nvram"))
- m_cart->nvram_alloc(get_software_region_length("nvram"));
- }
-
- return image_init_result::PASS;
-}
-
-//-------------------------------------------------
-// call_unload
-//-------------------------------------------------
-
-void bbc_romslot_device::call_unload()
-{
- if (m_cart && m_cart->get_nvram_base() && m_cart->get_nvram_size())
- battery_save(m_cart->get_nvram_base(), m_cart->get_nvram_size());
-}
-
-
-//-------------------------------------------------
-// get default card software
-//-------------------------------------------------
-
-std::string bbc_romslot_device::get_default_card_software(get_default_card_software_hook &hook) const
-{
- return software_get_default_slot("rom");
-}
-
-
-//-------------------------------------------------
-// rom size
-//-------------------------------------------------
-
-uint32_t bbc_romslot_device::get_rom_size()
-{
- if (m_cart)
- return m_cart->get_rom_size();
- else
- return 0;
-}
-
-
-//-------------------------------------------------
-// read - rom read
-//-------------------------------------------------
-
-uint8_t bbc_romslot_device::read(offs_t offset)
-{
- if (m_cart)
- return m_cart->read(offset);
- else
- return 0xff;
-}
-
-
-//-------------------------------------------------
-// write - rom write
-//-------------------------------------------------
-
-void bbc_romslot_device::write(offs_t offset, uint8_t data)
-{
- if (m_cart)
- m_cart->write(offset, data);
-}
-
-
-//-------------------------------------------------
-// SLOT_INTERFACE( bbc_rom )
-//-------------------------------------------------
-
-#include "rom.h"
-#include "ram.h"
-#include "dfs.h"
-//#include "genie.h"
-#include "pal.h"
-//#include "replay.h"
-#include "rtc.h"
-
-
-void bbc_rom_devices(device_slot_interface &device)
-{
- device.option_add_internal("rom", BBC_ROM);
- device.option_add_internal("ram", BBC_RAM);
- device.option_add_internal("cciword", BBC_CCIWORD);
- device.option_add_internal("ccibase", BBC_CCIBASE);
- device.option_add_internal("ccispell", BBC_CCISPELL);
- device.option_add_internal("palqst", BBC_PALQST);
- device.option_add_internal("palwap", BBC_PALWAP);
- device.option_add_internal("palted", BBC_PALTED);
- device.option_add_internal("palabep", BBC_PALABEP);
- device.option_add_internal("palabe", BBC_PALABE);
- device.option_add_internal("palmo2", BBC_PALMO2);
- //device.option_add_internal("genie", BBC_PMSGENIE);
- device.option_add_internal("mrme00", BBC_MRME00);
- //device.option_add_internal("replay", BBC_REPLAY);
- device.option_add_internal("stlrtc", BBC_STLRTC);
- device.option_add_internal("pmsrtc", BBC_PMSRTC);
-}
diff --git a/src/devices/bus/bbc/rom/slot.h b/src/devices/bus/bbc/rom/slot.h
deleted file mode 100644
index 40818d9e619..00000000000
--- a/src/devices/bus/bbc/rom/slot.h
+++ /dev/null
@@ -1,155 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Nigel Barnes
-/*********************************************************************
-
- BBC Micro ROM slot emulation
-
-*********************************************************************/
-
-#ifndef MAME_BUS_BBC_ROM_SLOT_H
-#define MAME_BUS_BBC_ROM_SLOT_H
-
-#pragma once
-
-#include "softlist_dev.h"
-
-
-#define BBC_ROM_REGION_TAG ":cart:rom"
-
-/***************************************************************************
- TYPE DEFINITIONS
-***************************************************************************/
-
-// ======================> bbc_romslot_device
-
-class device_bbc_rom_interface;
-
-class bbc_romslot_device : public device_t,
- public device_image_interface,
- public device_slot_interface
-{
-public:
- // image-level overrides
- 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(); }
-
- virtual iodevice_t image_type() const override { return IO_ROM; }
- virtual bool is_readable() const override { return 1; }
- virtual bool is_writeable() const override { return 0; }
- virtual bool is_creatable() const override { return 0; }
- virtual bool must_be_loaded() const override { return 0; }
- virtual bool is_reset_on_load() const override { return 1; }
- virtual const char *image_interface() const override { return "bbc_rom"; }
- virtual const char *file_extensions() const override { return "rom,bin"; }
-
- // slot interface overrides
- virtual std::string get_default_card_software(get_default_card_software_hook &hook) const override;
-
- // reading and writing
- uint8_t read(offs_t offset);
- void write(offs_t offset, uint8_t data);
-
- uint32_t get_rom_size();
- uint32_t get_slot_size() const { return m_slot_size; }
-
-protected:
- // construction/destruction
- bbc_romslot_device(const machine_config &mconfig, device_type type, char const *tag, device_t *owner, uint32_t clock);
-
- // device-level overrides
- virtual void device_start() override;
-
- uint32_t m_slot_size;
-
-private:
- device_bbc_rom_interface* m_cart;
-};
-
-// ======================> bbc_romslot16_device
-
-class bbc_romslot16_device : public bbc_romslot_device
-{
-public:
- // construction/destruction
- template <typename T>
- bbc_romslot16_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&slot_options, char const *default_option)
- : bbc_romslot16_device(mconfig, tag, owner)
- {
- option_reset();
- slot_options(*this);
- set_default_option(default_option);
- set_fixed(false);
- m_slot_size = 0x4000;
- }
-
- bbc_romslot16_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
-};
-
-// ======================> bbc_romslot32_device
-
-class bbc_romslot32_device : public bbc_romslot_device
-{
-public:
- // construction/destruction
- template <typename T>
- bbc_romslot32_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&slot_options, char const *default_option)
- : bbc_romslot32_device(mconfig, tag, owner)
- {
- option_reset();
- slot_options(*this);
- set_default_option(default_option);
- set_fixed(false);
- m_slot_size = 0x8000;
- }
-
- bbc_romslot32_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
-};
-
-
-// ======================> device_bbc_rom_interface
-
-class device_bbc_rom_interface : public device_slot_card_interface
-{
-public:
- // construction/destruction
- virtual ~device_bbc_rom_interface();
-
- // reading and writing
- virtual uint8_t read(offs_t offset) { return 0xff; }
- virtual void write(offs_t offset, uint8_t data) { m_device.logerror("unhandled ROM write to %04X = %02X\n", offset | 0x8000, data); }
-
- void rom_alloc(uint32_t size, const char *tag);
- void ram_alloc(uint32_t size);
- void nvram_alloc(uint32_t size);
-
- uint8_t* get_rom_base() { return m_rom; }
- virtual uint32_t get_rom_size() { return m_rom_size; }
-
- uint8_t* get_ram_base() { return &m_ram[0]; }
- uint32_t get_ram_size() { return m_ram.size(); }
-
- uint8_t* get_nvram_base() { return &m_nvram[0]; }
- uint32_t get_nvram_size() { return m_nvram.size(); }
-
-protected:
- device_bbc_rom_interface(const machine_config &mconfig, device_t &device);
-
- bbc_romslot_device *m_slot;
-
-private:
- // internal state
- uint8_t *m_rom;
- uint32_t m_rom_size;
- std::vector<uint8_t> m_ram;
- std::vector<uint8_t> m_nvram;
-};
-
-
-// device type definition
-DECLARE_DEVICE_TYPE(BBC_ROMSLOT16, bbc_romslot16_device)
-DECLARE_DEVICE_TYPE(BBC_ROMSLOT32, bbc_romslot32_device)
-
-void bbc_rom_devices(device_slot_interface &device);
-
-#endif // MAME_BUS_BBC_ROM_SLOT_H
diff --git a/src/devices/bus/bbc/tube/tube.cpp b/src/devices/bus/bbc/tube/tube.cpp
index 602ea3c845a..2ac1bf5fb15 100644
--- a/src/devices/bus/bbc/tube/tube.cpp
+++ b/src/devices/bus/bbc/tube/tube.cpp
@@ -92,10 +92,10 @@ void bbc_tube_slot_device::device_reset()
// host_r
//-------------------------------------------------
-uint8_t bbc_tube_slot_device::host_r(offs_t offset)
+READ8_MEMBER(bbc_tube_slot_device::host_r)
{
if (m_card)
- return m_card->host_r(offset);
+ return m_card->host_r(space, offset);
else
return 0xfe;
}
@@ -104,15 +104,14 @@ uint8_t bbc_tube_slot_device::host_r(offs_t offset)
// host_w
//-------------------------------------------------
-void bbc_tube_slot_device::host_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(bbc_tube_slot_device::host_w)
{
if (m_card)
- m_card->host_w(offset, data);
+ m_card->host_w(space, offset, data);
}
// slot devices
-#include "tube_32016.h"
#include "tube_6502.h"
#include "tube_80186.h"
#include "tube_80286.h"
@@ -134,7 +133,7 @@ void bbc_tube_devices(device_slot_interface &device)
{
device.option_add("6502", BBC_TUBE_6502); /* Acorn ANC01 6502 2nd processor */
device.option_add("z80", BBC_TUBE_Z80); /* Acorn ANC04 Z80 2nd processor */
- device.option_add("32016", BBC_TUBE_32016); /* Acorn ANC05 32016 2nd processor */
+ //device.option_add("32016", BBC_TUBE_32016); /* Acorn ANC05 32016 2nd processor */
device.option_add("arm", BBC_TUBE_ARM); /* Acorn ANC13 ARM Evaluation System */
device.option_add("80286", BBC_TUBE_80286); /* Acorn 80286 2nd Processor */
//device.option_add("a500", BBC_TUBE_A500); /* Acorn A500 2nd Processor */
@@ -143,8 +142,8 @@ void bbc_tube_devices(device_slot_interface &device)
//device.option_add("hdp68k", BBC_TUBE_HDP68K); /* Torch Unicorn (HDP68K) */
//device.option_add("x25", BBC_TUBE_X25); /* Econet X25 Gateway */
device.option_add("zep100", BBC_TUBE_ZEP100); /* Torch Z80 Communicator (ZEP100) (Torch) */
- //device.option_add("zep100l", BBC_TUBE_ZEP100L); /* Torch Z80 Communicator (ZEP100) (Model B) */
- //device.option_add("zep100w", BBC_TUBE_ZEP100W); /* Torch Z80 Communicator (ZEP100) (Model B+) */
+ //device.option_add("zep100l", BBC_TUBE_ZEP100L); /* Torch Z80 Communicator (ZEP100) (Acorn 8271) */
+ //device.option_add("zep100w", BBC_TUBE_ZEP100W); /* Torch Z80 Communicator (ZEP100) (Acorn 1770) */
/* Acorn ANC21 Universal 2nd Processor Unit */
device.option_add("65c102", BBC_TUBE_65C102); /* Acorn ADC06 65C102 co-processor */
device.option_add("80186", BBC_TUBE_80186); /* Acorn ADC08 80186 co-processor */
@@ -161,12 +160,11 @@ void bbc_extube_devices(device_slot_interface &device)
{
device.option_add("6502", BBC_TUBE_6502); /* Acorn ANC01 6502 2nd processor */
device.option_add("z80", BBC_TUBE_Z80); /* Acorn ANC04 Z80 2nd processor */
- device.option_add("32016", BBC_TUBE_32016); /* Acorn ANC05 32016 2nd processor */
+ //device.option_add("32016", BBC_TUBE_32016); /* Acorn ANC05 32016 2nd processor */
device.option_add("arm", BBC_TUBE_ARM); /* Acorn ANC13 ARM Evaluation System */
device.option_add("80286", BBC_TUBE_80286); /* Acorn 80286 2nd Processor */
//device.option_add("a500", BBC_TUBE_A500); /* Acorn A500 2nd Processor */
//device.option_add("pmsb2p", BBC_TUBE_PMSB2P); /* PMS B2P-6502 */
- //device.option_add("zep100m", BBC_TUBE_ZEP100M); /* Torch Z80 Communicator (ZEP100) (Master) */
/* Acorn ANC21 Universal 2nd Processor Unit */
device.option_add("65c102", BBC_TUBE_65C102); /* Acorn ADC06 65C102 co-processor */
device.option_add("80186", BBC_TUBE_80186); /* Acorn ADC08 80186 co-processor */
@@ -183,6 +181,7 @@ void bbc_intube_devices(device_slot_interface &device)
{
device.option_add("65c102", BBC_TUBE_65C102); /* Acorn ADC06 65C102 co-processor */
device.option_add("80186", BBC_TUBE_80186); /* Acorn ADC08 80186 co-processor */
+ //device.option_add("zep100m", BBC_TUBE_ZEP100M); /* Torch Z80 Communicator (ZEP100) (Master) */
//device.option_add("arm7", BBC_TUBE_ARM7); /* Sprow ARM7 co-processor */
device.option_add("rc6502", BBC_TUBE_RC6502); /* ReCo6502 (6502) */
device.option_add("rc65816", BBC_TUBE_RC65816); /* ReCo6502 (65816) */
@@ -197,7 +196,6 @@ void electron_tube_devices(device_slot_interface &device)
{
device.option_add("6502", BBC_TUBE_6502); /* Acorn ANC01 6502 2nd processor */
device.option_add("z80", BBC_TUBE_Z80); /* Acorn ANC04 Z80 2nd processor */
- device.option_add("32016", BBC_TUBE_32016); /* Acorn ANC05 32016 2nd processor */
device.option_add("arm", BBC_TUBE_ARM); /* Acorn ANC13 ARM Evaluation System */
device.option_add("65c102", BBC_TUBE_65C102); /* Acorn ADC06 65C102 co-processor */
device.option_add("80186", BBC_TUBE_80186); /* Acorn ADC08 80186 co-processor */
diff --git a/src/devices/bus/bbc/tube/tube.h b/src/devices/bus/bbc/tube/tube.h
index e0d66907cb6..954867f0b7f 100644
--- a/src/devices/bus/bbc/tube/tube.h
+++ b/src/devices/bus/bbc/tube/tube.h
@@ -66,8 +66,8 @@ public:
// callbacks
auto irq_handler() { return m_irq_handler.bind(); }
- uint8_t host_r(offs_t offset);
- void host_w(offs_t offset, uint8_t data);
+ DECLARE_READ8_MEMBER( host_r );
+ DECLARE_WRITE8_MEMBER( host_w );
DECLARE_WRITE_LINE_MEMBER( irq_w ) { m_irq_handler(state); }
@@ -90,8 +90,8 @@ class device_bbc_tube_interface : public device_slot_card_interface
{
public:
// reading and writing
- virtual uint8_t host_r(offs_t offset) { return 0xfe; }
- virtual void host_w(offs_t offset, uint8_t data) { }
+ virtual DECLARE_READ8_MEMBER(host_r) { return 0xfe; }
+ virtual DECLARE_WRITE8_MEMBER(host_w) { }
protected:
device_bbc_tube_interface(const machine_config &mconfig, device_t &device);
diff --git a/src/devices/bus/bbc/tube/tube_32016.cpp b/src/devices/bus/bbc/tube/tube_32016.cpp
deleted file mode 100644
index 7b6ac355e42..00000000000
--- a/src/devices/bus/bbc/tube/tube_32016.cpp
+++ /dev/null
@@ -1,210 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Nigel Barnes
-/**********************************************************************
-
- Acorn ANC05 32016 2nd processor
-
- http://chrisacorns.computinghistory.org.uk/8bit_Upgrades/Acorn_ANC05_320162ndproc.html
-
- Acorn ANC06 Cambridge Co-Processor
-
- http://chrisacorns.computinghistory.org.uk/8bit_Upgrades/Acorn_ANC06_CamCoPro.html
-
- IC1 (ULA) TUBE
- IC2 (MMU) NS32082 Not fitted
- IC3 (CPU) NS32016
- IC4 (TCU) NS32201
- IC20 (FPU) NS32081
-
-**********************************************************************/
-
-
-#include "emu.h"
-#include "tube_32016.h"
-#include "softlist_dev.h"
-
-
-//**************************************************************************
-// DEVICE DEFINITIONS
-//**************************************************************************
-
-DEFINE_DEVICE_TYPE(BBC_TUBE_32016, bbc_tube_32016_device, "bbc_tube_32016", "Acorn 32016 2nd processor")
-
-
-//-------------------------------------------------
-// ADDRESS_MAP( tube_32016_mem )
-//-------------------------------------------------
-
-void bbc_tube_32016_device::tube_32016_mem(address_map &map)
-{
- map(0x000000, 0xffffff).rw(FUNC(bbc_tube_32016_device::read), FUNC(bbc_tube_32016_device::write));
- map(0xf90000, 0xf90001).portr("CONFIG");
- map(0xfffff0, 0xffffff).rw("ula", FUNC(tube_device::parasite_r), FUNC(tube_device::parasite_w)).umask32(0x00ff);
-}
-
-//-------------------------------------------------
-// ROM( tube_32016 )
-//-------------------------------------------------
-
-ROM_START(tube_32016)
- ROM_REGION(0x8000, "rom", 0)
- ROM_DEFAULT_BIOS("200")
- ROM_SYSTEM_BIOS(0, "200", "Pandora v2.00")
- ROMX_LOAD("pan200lo.rom", 0x0000, 0x4000, CRC(b1980fd0) SHA1(8084f8896cd22953abefbd43c51e1a422b30e28d), ROM_SKIP(1) | ROM_BIOS(0)) // 0201-764-02 Pandora Lo
- ROMX_LOAD("pan200hi.rom", 0x0001, 0x4000, CRC(cab98d6b) SHA1(dfad1f4180c50757a74fcfe3a0ee7d7b48eb1bee), ROM_SKIP(1) | ROM_BIOS(0)) // 0201-763-02 Pandora Hi
- ROM_SYSTEM_BIOS(1, "100", "Pandora v1.00")
- ROMX_LOAD("pan100.rom", 0x0000, 0x8000, BAD_DUMP CRC(75333006) SHA1(996cd120103039390c9b979b16c327bb95da72e4), ROM_BIOS(1)) // 0201-763-01, 0201-764-01 Pandora
- ROM_SYSTEM_BIOS(2, "061", "Pandora v0.61")
- ROMX_LOAD("pan061lo.rom", 0x0000, 0x4000, CRC(6f801b35) SHA1(ce31f7c10603f3d15a06a8e32bde40df0639e446), ROM_SKIP(1) | ROM_BIOS(2))
- ROMX_LOAD("pan061hi.rom", 0x0001, 0x4000, CRC(c00b1ab0) SHA1(e6a705232278c518340ddc69ea51af91965fa332), ROM_SKIP(1) | ROM_BIOS(2))
-ROM_END
-
-//-------------------------------------------------
-// INPUT_PORTS( tube_32016 )
-//-------------------------------------------------
-
-static INPUT_PORTS_START(tube_32016)
- PORT_START("CONFIG")
- PORT_DIPNAME(0x80, 0x80, "H") PORT_DIPLOCATION("LKS:1")
- PORT_DIPSETTING(0x80, "FPU")
- PORT_DIPSETTING(0x00, "No FPU")
-
- PORT_DIPNAME(0x40, 0x00, "G") PORT_DIPLOCATION("LKS:2")
- PORT_DIPSETTING(0x40, "MMU")
- PORT_DIPSETTING(0x00, "No MMU")
-
- PORT_DIPNAME(0x20, 0x00, "F") PORT_DIPLOCATION("LKS:3")
- PORT_DIPSETTING(0x20, "Reserved")
- PORT_DIPSETTING(0x00, "Reserved")
-
- PORT_DIPNAME(0x10, 0x00, "E") PORT_DIPLOCATION("LKS:4")
- PORT_DIPSETTING(0x10, "Reserved")
- PORT_DIPSETTING(0x00, "Reserved")
-
- PORT_DIPNAME(0x08, 0x00, "D") PORT_DIPLOCATION("LKS:5")
- PORT_DIPSETTING(0x08, "Reserved")
- PORT_DIPSETTING(0x00, "Reserved")
-
- PORT_DIPNAME(0x04, 0x00, "C") PORT_DIPLOCATION("LKS:6")
- PORT_DIPSETTING(0x04, "Reserved")
- PORT_DIPSETTING(0x00, "Reserved")
-
- PORT_DIPNAME(0x02, 0x00, "B") PORT_DIPLOCATION("LKS:7")
- PORT_DIPSETTING(0x02, "Reserved")
- PORT_DIPSETTING(0x00, "Reserved")
-
- PORT_DIPNAME(0x01, 0x00, "A") PORT_DIPLOCATION("LKS:8")
- PORT_DIPSETTING(0x01, "Reserved")
- PORT_DIPSETTING(0x00, "Reserved")
-INPUT_PORTS_END
-
-//-------------------------------------------------
-// device_add_mconfig - add device configuration
-//-------------------------------------------------
-
-void bbc_tube_32016_device::device_add_mconfig(machine_config &config)
-{
- NS32016(config, m_maincpu, 12_MHz_XTAL / 2);
- m_maincpu->set_addrmap(AS_PROGRAM, &bbc_tube_32016_device::tube_32016_mem);
-
- TUBE(config, m_ula);
- m_ula->pnmi_handler().set_inputline(m_maincpu, INPUT_LINE_NMI);
- m_ula->pirq_handler().set_inputline(m_maincpu, INPUT_LINE_IRQ0);
-
- /* internal ram */
- RAM(config, m_ram).set_default_size("1M").set_default_value(0);
-
- /* software lists */
- SOFTWARE_LIST(config, "flop_ls_32016").set_original("bbc_flop_32016");
-}
-
-//-------------------------------------------------
-// rom_region - device-specific ROM region
-//-------------------------------------------------
-
-const tiny_rom_entry *bbc_tube_32016_device::device_rom_region() const
-{
- return ROM_NAME( tube_32016 );
-}
-
-//-------------------------------------------------
-// input_ports - device-specific input ports
-//-------------------------------------------------
-
-ioport_constructor bbc_tube_32016_device::device_input_ports() const
-{
- return INPUT_PORTS_NAME( tube_32016 );
-}
-
-//**************************************************************************
-// LIVE DEVICE
-//**************************************************************************
-
-//-------------------------------------------------
-// bbc_tube_32016_device - constructor
-//-------------------------------------------------
-
-bbc_tube_32016_device::bbc_tube_32016_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, BBC_TUBE_32016, tag, owner, clock)
- , device_bbc_tube_interface(mconfig, *this)
- , m_maincpu(*this, "maincpu")
- , m_ula(*this, "ula")
- , m_ram(*this, "ram")
- , m_rom(*this, "rom")
- , m_rom_enabled(true)
-{
-}
-
-//-------------------------------------------------
-// device_start - device-specific startup
-//-------------------------------------------------
-
-void bbc_tube_32016_device::device_start()
-{
-}
-
-//-------------------------------------------------
-// device_reset - device-specific reset
-//-------------------------------------------------
-
-void bbc_tube_32016_device::device_reset()
-{
- m_rom_enabled = true;
-}
-
-
-//**************************************************************************
-// IMPLEMENTATION
-//**************************************************************************
-
-uint8_t bbc_tube_32016_device::host_r(offs_t offset)
-{
- return m_ula->host_r(offset);
-}
-
-void bbc_tube_32016_device::host_w(offs_t offset, uint8_t data)
-{
- m_ula->host_w(offset, data);
-}
-
-
-READ8_MEMBER(bbc_tube_32016_device::read)
-{
- uint16_t data = 0xffff;
-
- if (m_rom_enabled)
- data = m_rom->base()[offset & 0x3fff];
- else if (offset < m_ram->size())
- data = m_ram->pointer()[offset];
-
- return data;
-}
-
-WRITE8_MEMBER(bbc_tube_32016_device::write)
-{
- /* clear ROM select on first write */
- if (!machine().side_effects_disabled()) m_rom_enabled = false;
-
- if (offset < m_ram->size())
- m_ram->pointer()[offset] = data;
-}
diff --git a/src/devices/bus/bbc/tube/tube_32016.h b/src/devices/bus/bbc/tube/tube_32016.h
deleted file mode 100644
index 864b8173703..00000000000
--- a/src/devices/bus/bbc/tube/tube_32016.h
+++ /dev/null
@@ -1,71 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Nigel Barnes
-/**********************************************************************
-
- Acorn ANC05 32016 2nd processor
-
- http://chrisacorns.computinghistory.org.uk/8bit_Upgrades/Acorn_ANC05_320162ndproc.html
-
- Acorn ANC06 Cambridge Co-Processor
-
- http://chrisacorns.computinghistory.org.uk/8bit_Upgrades/Acorn_ANC06_CamCoPro.html
-
-**********************************************************************/
-
-
-#ifndef MAME_BUS_BBC_TUBE_32016_H
-#define MAME_BUS_BBC_TUBE_32016_H
-
-#include "tube.h"
-#include "cpu/ns32000/ns32000.h"
-#include "machine/ram.h"
-#include "machine/tube.h"
-
-//**************************************************************************
-// TYPE DEFINITIONS
-//**************************************************************************
-
-// ======================> bbc_tube_32016_device
-
-class bbc_tube_32016_device :
- public device_t,
- public device_bbc_tube_interface
-{
-public:
- // construction/destruction
- bbc_tube_32016_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
-protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
- // optional information overrides
- virtual void device_add_mconfig(machine_config &config) override;
- virtual const tiny_rom_entry *device_rom_region() const override;
- virtual ioport_constructor device_input_ports() const override;
-
- virtual uint8_t host_r(offs_t offset) override;
- virtual void host_w(offs_t offset, uint8_t data) override;
-
-private:
- required_device<ns32016_cpu_device> m_maincpu;
- required_device<tube_device> m_ula;
- required_device<ram_device> m_ram;
- required_memory_region m_rom;
-
- DECLARE_READ8_MEMBER(read);
- DECLARE_WRITE8_MEMBER(write);
-
- void tube_32016_mem(address_map &map);
-
- bool m_rom_enabled;
-};
-
-
-
-// device type definition
-DECLARE_DEVICE_TYPE(BBC_TUBE_32016, bbc_tube_32016_device)
-
-
-#endif /* MAME_BUS_BBC_TUBE_32016_H */
diff --git a/src/devices/bus/bbc/tube/tube_6502.cpp b/src/devices/bus/bbc/tube/tube_6502.cpp
index 99852ca8d90..8120ab16812 100644
--- a/src/devices/bus/bbc/tube/tube_6502.cpp
+++ b/src/devices/bus/bbc/tube/tube_6502.cpp
@@ -168,27 +168,27 @@ void bbc_tube_6502_device::device_reset()
// IMPLEMENTATION
//**************************************************************************
-uint8_t bbc_tube_6502_device::host_r(offs_t offset)
+READ8_MEMBER(bbc_tube_6502_device::host_r)
{
- return m_ula->host_r(offset);
+ return m_ula->host_r(space, offset);
}
-void bbc_tube_6502_device::host_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(bbc_tube_6502_device::host_w)
{
- m_ula->host_w(offset, data);
+ m_ula->host_w(space, offset, data);
}
-uint8_t bbc_tube_6502_device::tube_r(offs_t offset)
+READ8_MEMBER(bbc_tube_6502_device::tube_r)
{
// Disable ROM on first access
if (!machine().side_effects_disabled())
m_bankdev->set_bank(1);
- return m_ula->parasite_r(offset);
+ return m_ula->parasite_r(space, offset);
}
-void bbc_tube_6502_device::tube_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(bbc_tube_6502_device::tube_w)
{
- m_ula->parasite_w(offset, data);
+ m_ula->parasite_w(space, offset, data);
}
diff --git a/src/devices/bus/bbc/tube/tube_6502.h b/src/devices/bus/bbc/tube/tube_6502.h
index abb907ef3bd..244eb9f2105 100644
--- a/src/devices/bus/bbc/tube/tube_6502.h
+++ b/src/devices/bus/bbc/tube/tube_6502.h
@@ -52,11 +52,11 @@ protected:
void add_common_devices(machine_config &config);
- virtual uint8_t host_r(offs_t offset) override;
- virtual void host_w(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER( host_r ) override;
+ virtual DECLARE_WRITE8_MEMBER( host_w ) override;
- virtual uint8_t tube_r(offs_t offset);
- virtual void tube_w(offs_t offset, uint8_t data);
+ virtual DECLARE_READ8_MEMBER( tube_r );
+ virtual DECLARE_WRITE8_MEMBER( tube_w );
required_device<cpu_device> m_maincpu;
required_device<address_map_bank_device> m_bankdev;
diff --git a/src/devices/bus/bbc/tube/tube_80186.cpp b/src/devices/bus/bbc/tube/tube_80186.cpp
index 85331ab1b2a..4721d48e534 100644
--- a/src/devices/bus/bbc/tube/tube_80186.cpp
+++ b/src/devices/bus/bbc/tube/tube_80186.cpp
@@ -126,12 +126,12 @@ void bbc_tube_80186_device::device_reset()
// IMPLEMENTATION
//**************************************************************************
-uint8_t bbc_tube_80186_device::host_r(offs_t offset)
+READ8_MEMBER(bbc_tube_80186_device::host_r)
{
- return m_ula->host_r(offset);
+ return m_ula->host_r(space, offset);
}
-void bbc_tube_80186_device::host_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(bbc_tube_80186_device::host_w)
{
- m_ula->host_w(offset, data);
+ m_ula->host_w(space, offset, data);
}
diff --git a/src/devices/bus/bbc/tube/tube_80186.h b/src/devices/bus/bbc/tube/tube_80186.h
index 42f757e75e4..3081acbddac 100644
--- a/src/devices/bus/bbc/tube/tube_80186.h
+++ b/src/devices/bus/bbc/tube/tube_80186.h
@@ -40,8 +40,8 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
virtual const tiny_rom_entry *device_rom_region() const override;
- virtual uint8_t host_r(offs_t offset) override;
- virtual void host_w(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER( host_r ) override;
+ virtual DECLARE_WRITE8_MEMBER( host_w ) override;
private:
required_device<i80186_cpu_device> m_i80186;
diff --git a/src/devices/bus/bbc/tube/tube_80286.cpp b/src/devices/bus/bbc/tube/tube_80286.cpp
index e8ff167d0fb..f38761341f5 100644
--- a/src/devices/bus/bbc/tube/tube_80286.cpp
+++ b/src/devices/bus/bbc/tube/tube_80286.cpp
@@ -129,25 +129,24 @@ void bbc_tube_80286_device::device_reset()
// IMPLEMENTATION
//**************************************************************************
-uint8_t bbc_tube_80286_device::host_r(offs_t offset)
+READ8_MEMBER(bbc_tube_80286_device::host_r)
{
- return m_ula->host_r(offset);
+ return m_ula->host_r(space, offset);
}
-void bbc_tube_80286_device::host_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(bbc_tube_80286_device::host_w)
{
- m_ula->host_w(offset, data);
+ m_ula->host_w(space, offset, data);
}
-uint8_t bbc_tube_80286_device::disable_boot_rom()
+READ8_MEMBER(bbc_tube_80286_device::disable_boot_rom)
{
- if (!machine().side_effects_disabled())
- m_i80286->space(AS_PROGRAM).install_ram(0xc0000, 0xfffff, m_ram->pointer() + 0xc0000);
+ m_i80286->space(AS_PROGRAM).install_ram(0xc0000, 0xfffff, m_ram->pointer() + 0xc0000);
return 0xff;
}
-void bbc_tube_80286_device::irq_latch_w(uint8_t data)
+WRITE8_MEMBER(bbc_tube_80286_device::irq_latch_w)
{
m_irq_latch = data;
}
diff --git a/src/devices/bus/bbc/tube/tube_80286.h b/src/devices/bus/bbc/tube/tube_80286.h
index a6e952d6bf2..da2d807477b 100644
--- a/src/devices/bus/bbc/tube/tube_80286.h
+++ b/src/devices/bus/bbc/tube/tube_80286.h
@@ -38,8 +38,8 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
virtual const tiny_rom_entry *device_rom_region() const override;
- virtual uint8_t host_r(offs_t offset) override;
- virtual void host_w(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER( host_r ) override;
+ virtual DECLARE_WRITE8_MEMBER( host_w ) override;
private:
uint8_t m_irq_latch;
@@ -51,8 +51,8 @@ private:
required_device<ram_device> m_ram;
required_memory_region m_bootstrap;
- uint8_t disable_boot_rom();
- void irq_latch_w(uint8_t data);
+ DECLARE_READ8_MEMBER( disable_boot_rom );
+ DECLARE_WRITE8_MEMBER( irq_latch_w );
void tube_80286_io(address_map &map);
void tube_80286_mem(address_map &map);
diff --git a/src/devices/bus/bbc/tube/tube_arm.cpp b/src/devices/bus/bbc/tube/tube_arm.cpp
index 463a82713be..444e188a657 100644
--- a/src/devices/bus/bbc/tube/tube_arm.cpp
+++ b/src/devices/bus/bbc/tube/tube_arm.cpp
@@ -120,18 +120,18 @@ void bbc_tube_arm_device::device_reset()
// IMPLEMENTATION
//**************************************************************************
-uint8_t bbc_tube_arm_device::host_r(offs_t offset)
+READ8_MEMBER(bbc_tube_arm_device::host_r)
{
- return m_ula->host_r(offset);
+ return m_ula->host_r(space, offset);
}
-void bbc_tube_arm_device::host_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(bbc_tube_arm_device::host_w)
{
- m_ula->host_w(offset, data);
+ m_ula->host_w(space, offset, data);
}
-uint8_t bbc_tube_arm_device::ram_r(offs_t offset)
+READ8_MEMBER(bbc_tube_arm_device::ram_r)
{
uint8_t data;
@@ -143,7 +143,7 @@ uint8_t bbc_tube_arm_device::ram_r(offs_t offset)
return data;
}
-void bbc_tube_arm_device::ram_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(bbc_tube_arm_device::ram_w)
{
/* clear ROM select on first write */
if (!machine().side_effects_disabled()) m_rom_select = false;
diff --git a/src/devices/bus/bbc/tube/tube_arm.h b/src/devices/bus/bbc/tube/tube_arm.h
index 8470fec84ef..7b58d2b40bd 100644
--- a/src/devices/bus/bbc/tube/tube_arm.h
+++ b/src/devices/bus/bbc/tube/tube_arm.h
@@ -38,8 +38,8 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
virtual const tiny_rom_entry *device_rom_region() const override;
- virtual uint8_t host_r(offs_t offset) override;
- virtual void host_w(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER( host_r ) override;
+ virtual DECLARE_WRITE8_MEMBER( host_w ) override;
private:
required_device<arm_cpu_device> m_arm;
@@ -49,8 +49,8 @@ private:
bool m_rom_select;
- uint8_t ram_r(offs_t offset);
- void ram_w(offs_t offset, uint8_t data);
+ DECLARE_READ8_MEMBER( ram_r );
+ DECLARE_WRITE8_MEMBER( ram_w );
void tube_arm_mem(address_map &map);
};
diff --git a/src/devices/bus/bbc/tube/tube_casper.cpp b/src/devices/bus/bbc/tube/tube_casper.cpp
index f6bb4bdce84..db84143f553 100644
--- a/src/devices/bus/bbc/tube/tube_casper.cpp
+++ b/src/devices/bus/bbc/tube/tube_casper.cpp
@@ -109,12 +109,12 @@ void bbc_tube_casper_device::device_start()
// IMPLEMENTATION
//**************************************************************************
-uint8_t bbc_tube_casper_device::host_r(offs_t offset)
+READ8_MEMBER(bbc_tube_casper_device::host_r)
{
return m_via6522_0->read(offset & 0xf);
}
-void bbc_tube_casper_device::host_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(bbc_tube_casper_device::host_w)
{
m_via6522_0->write(offset & 0xf, data);
}
diff --git a/src/devices/bus/bbc/tube/tube_casper.h b/src/devices/bus/bbc/tube/tube_casper.h
index 965ac703355..e464f4a8c68 100644
--- a/src/devices/bus/bbc/tube/tube_casper.h
+++ b/src/devices/bus/bbc/tube/tube_casper.h
@@ -36,8 +36,8 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
virtual const tiny_rom_entry *device_rom_region() const override;
- virtual uint8_t host_r(offs_t offset) override;
- virtual void host_w(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER( host_r ) override;
+ virtual DECLARE_WRITE8_MEMBER( host_w ) override;
private:
required_device<cpu_device> m_m68000;
diff --git a/src/devices/bus/bbc/tube/tube_rc6502.cpp b/src/devices/bus/bbc/tube/tube_rc6502.cpp
index c567be6f98a..80061f8a5ca 100644
--- a/src/devices/bus/bbc/tube/tube_rc6502.cpp
+++ b/src/devices/bus/bbc/tube/tube_rc6502.cpp
@@ -233,23 +233,23 @@ void bbc_tube_rc6502_device::device_reset()
// IMPLEMENTATION
//**************************************************************************
-uint8_t bbc_tube_rc6502_device::host_r(offs_t offset)
+READ8_MEMBER(bbc_tube_rc6502_device::host_r)
{
- return m_ula->host_r(offset);
+ return m_ula->host_r(space, offset);
}
-void bbc_tube_rc6502_device::host_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(bbc_tube_rc6502_device::host_w)
{
- m_ula->host_w(offset, data);
+ m_ula->host_w(space, offset, data);
}
-uint8_t bbc_tube_rc6502_device::config_r()
+READ8_MEMBER(bbc_tube_rc6502_device::config_r)
{
return m_banknum;
}
-void bbc_tube_rc6502_device::register_w(uint8_t data)
+WRITE8_MEMBER(bbc_tube_rc6502_device::register_w)
{
switch (data & 0x06)
{
diff --git a/src/devices/bus/bbc/tube/tube_rc6502.h b/src/devices/bus/bbc/tube/tube_rc6502.h
index eadb460cc96..77542cf4a45 100644
--- a/src/devices/bus/bbc/tube/tube_rc6502.h
+++ b/src/devices/bus/bbc/tube/tube_rc6502.h
@@ -47,11 +47,11 @@ protected:
void add_common_devices(machine_config &config);
- virtual uint8_t host_r(offs_t offset) override;
- virtual void host_w(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER( host_r ) override;
+ virtual DECLARE_WRITE8_MEMBER( host_w ) override;
- uint8_t config_r();
- void register_w(uint8_t data);
+ DECLARE_READ8_MEMBER(config_r);
+ DECLARE_WRITE8_MEMBER(register_w);
void tube_rc6502_bank(address_map &map);
diff --git a/src/devices/bus/bbc/tube/tube_z80.cpp b/src/devices/bus/bbc/tube/tube_z80.cpp
index 06e6931c7a3..cc6f87527bf 100644
--- a/src/devices/bus/bbc/tube/tube_z80.cpp
+++ b/src/devices/bus/bbc/tube/tube_z80.cpp
@@ -134,18 +134,18 @@ void bbc_tube_z80_device::device_reset()
// IMPLEMENTATION
//**************************************************************************
-uint8_t bbc_tube_z80_device::host_r(offs_t offset)
+READ8_MEMBER(bbc_tube_z80_device::host_r)
{
- return m_ula->host_r(offset);
+ return m_ula->host_r(space, offset);
}
-void bbc_tube_z80_device::host_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(bbc_tube_z80_device::host_w)
{
- m_ula->host_w(offset, data);
+ m_ula->host_w(space, offset, data);
}
-uint8_t bbc_tube_z80_device::opcode_r(offs_t offset)
+READ8_MEMBER(bbc_tube_z80_device::opcode_r)
{
if (!machine().side_effects_disabled())
{
@@ -158,7 +158,7 @@ uint8_t bbc_tube_z80_device::opcode_r(offs_t offset)
}
-uint8_t bbc_tube_z80_device::mem_r(offs_t offset)
+READ8_MEMBER(bbc_tube_z80_device::mem_r)
{
uint8_t data;
@@ -170,7 +170,7 @@ uint8_t bbc_tube_z80_device::mem_r(offs_t offset)
return data;
}
-void bbc_tube_z80_device::mem_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(bbc_tube_z80_device::mem_w)
{
m_ram->pointer()[offset] = data;
}
diff --git a/src/devices/bus/bbc/tube/tube_z80.h b/src/devices/bus/bbc/tube/tube_z80.h
index 536e506d43d..e35dfa02ef4 100644
--- a/src/devices/bus/bbc/tube/tube_z80.h
+++ b/src/devices/bus/bbc/tube/tube_z80.h
@@ -40,8 +40,8 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
virtual const tiny_rom_entry *device_rom_region() const override;
- virtual uint8_t host_r(offs_t offset) override;
- virtual void host_w(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER( host_r ) override;
+ virtual DECLARE_WRITE8_MEMBER( host_w ) override;
private:
IRQ_CALLBACK_MEMBER( irq_callback );
@@ -54,9 +54,9 @@ private:
bool m_rom_enabled;
- uint8_t mem_r(offs_t offset);
- void mem_w(offs_t offset, uint8_t data);
- uint8_t opcode_r(offs_t offset);
+ DECLARE_READ8_MEMBER( mem_r );
+ DECLARE_WRITE8_MEMBER( mem_w );
+ DECLARE_READ8_MEMBER( opcode_r );
void tube_z80_fetch(address_map &map);
void tube_z80_io(address_map &map);
diff --git a/src/devices/bus/bbc/tube/tube_zep100.cpp b/src/devices/bus/bbc/tube/tube_zep100.cpp
index f11f0af6415..6ec898bb705 100644
--- a/src/devices/bus/bbc/tube/tube_zep100.cpp
+++ b/src/devices/bus/bbc/tube/tube_zep100.cpp
@@ -146,12 +146,12 @@ void bbc_tube_zep100_device::device_reset()
// IMPLEMENTATION
//**************************************************************************
-uint8_t bbc_tube_zep100_device::host_r(offs_t offset)
+READ8_MEMBER(bbc_tube_zep100_device::host_r)
{
return m_via->read(offset & 0x0f);
}
-void bbc_tube_zep100_device::host_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(bbc_tube_zep100_device::host_w)
{
if (offset & 0x10)
m_z80->reset();
@@ -160,7 +160,7 @@ void bbc_tube_zep100_device::host_w(offs_t offset, uint8_t data)
}
-uint8_t bbc_tube_zep100_device::mem_r(offs_t offset)
+READ8_MEMBER(bbc_tube_zep100_device::mem_r)
{
uint8_t data;
@@ -172,13 +172,13 @@ uint8_t bbc_tube_zep100_device::mem_r(offs_t offset)
return data;
}
-void bbc_tube_zep100_device::mem_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(bbc_tube_zep100_device::mem_w)
{
m_ram->pointer()[offset] = data;
}
-uint8_t bbc_tube_zep100_device::io_r(offs_t offset)
+READ8_MEMBER(bbc_tube_zep100_device::io_r)
{
uint8_t data = 0xff;
@@ -190,23 +190,23 @@ uint8_t bbc_tube_zep100_device::io_r(offs_t offset)
return data;
}
-void bbc_tube_zep100_device::io_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(bbc_tube_zep100_device::io_w)
{
m_ppi->write(offset & 0x03, data);
}
-void bbc_tube_zep100_device::via_pb_w(uint8_t data)
+WRITE8_MEMBER(bbc_tube_zep100_device::via_pb_w)
{
m_port_b = data;
}
-uint8_t bbc_tube_zep100_device::ppi_pb_r()
+READ8_MEMBER(bbc_tube_zep100_device::ppi_pb_r)
{
return m_port_b;
}
-void bbc_tube_zep100_device::ppi_pc_w(uint8_t data)
+WRITE8_MEMBER(bbc_tube_zep100_device::ppi_pc_w)
{
m_via->write_ca1(BIT(data, 7));
m_via->write_cb1(BIT(data, 1));
diff --git a/src/devices/bus/bbc/tube/tube_zep100.h b/src/devices/bus/bbc/tube/tube_zep100.h
index b7f881fcfac..24b07ea4269 100644
--- a/src/devices/bus/bbc/tube/tube_zep100.h
+++ b/src/devices/bus/bbc/tube/tube_zep100.h
@@ -43,8 +43,8 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
virtual const tiny_rom_entry *device_rom_region() const override;
- virtual uint8_t host_r(offs_t offset) override;
- virtual void host_w(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER( host_r ) override;
+ virtual DECLARE_WRITE8_MEMBER( host_w ) override;
bool m_rom_enabled;
@@ -57,14 +57,14 @@ private:
uint8_t m_port_b;
- uint8_t mem_r(offs_t offset);
- void mem_w(offs_t offset, uint8_t data);
- uint8_t io_r(offs_t offset);
- void io_w(offs_t offset, uint8_t data);
+ DECLARE_READ8_MEMBER( mem_r );
+ DECLARE_WRITE8_MEMBER( mem_w );
+ DECLARE_READ8_MEMBER( io_r );
+ DECLARE_WRITE8_MEMBER( io_w );
- void via_pb_w(uint8_t data);
- uint8_t ppi_pb_r();
- void ppi_pc_w(uint8_t data);
+ DECLARE_WRITE8_MEMBER( via_pb_w );
+ DECLARE_READ8_MEMBER( ppi_pb_r );
+ DECLARE_WRITE8_MEMBER( ppi_pc_w );
void tube_zep100_io(address_map &map);
void tube_zep100_mem(address_map &map);
diff --git a/src/devices/bus/bbc/userport/beebspch.cpp b/src/devices/bus/bbc/userport/beebspch.cpp
index 728d8ae6658..291179b54c6 100644
--- a/src/devices/bus/bbc/userport/beebspch.cpp
+++ b/src/devices/bus/bbc/userport/beebspch.cpp
@@ -82,7 +82,7 @@ void bbc_beebspch_device::device_start()
// IMPLEMENTATION
//**************************************************************************
-void bbc_beebspch_device::pb_w(uint8_t data)
+WRITE8_MEMBER(bbc_beebspch_device::pb_w)
{
switch (data & 0xc0)
{
diff --git a/src/devices/bus/bbc/userport/beebspch.h b/src/devices/bus/bbc/userport/beebspch.h
index 79e6abf64ab..94c36b0cc84 100644
--- a/src/devices/bus/bbc/userport/beebspch.h
+++ b/src/devices/bus/bbc/userport/beebspch.h
@@ -38,7 +38,7 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
virtual const tiny_rom_entry *device_rom_region() const override;
- virtual void pb_w(uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(pb_w) override;
private:
required_device<sp0256_device> m_nsp;
diff --git a/src/devices/bus/bbc/userport/cfa3000kbd.cpp b/src/devices/bus/bbc/userport/cfa3000kbd.cpp
index 5b2d5586f56..d07d7b6dd2f 100644
--- a/src/devices/bus/bbc/userport/cfa3000kbd.cpp
+++ b/src/devices/bus/bbc/userport/cfa3000kbd.cpp
@@ -113,7 +113,7 @@ void cfa3000_kbd_device::device_reset()
// IMPLEMENTATION
//**************************************************************************
-uint8_t cfa3000_kbd_device::pb_r()
+READ8_MEMBER(cfa3000_kbd_device::pb_r)
{
uint8_t data = 0x00;
diff --git a/src/devices/bus/bbc/userport/cfa3000kbd.h b/src/devices/bus/bbc/userport/cfa3000kbd.h
index ff9951399c8..2ece3cbf380 100644
--- a/src/devices/bus/bbc/userport/cfa3000kbd.h
+++ b/src/devices/bus/bbc/userport/cfa3000kbd.h
@@ -36,7 +36,7 @@ protected:
// optional information overrides
virtual ioport_constructor device_input_ports() const override;
- virtual uint8_t pb_r() override;
+ virtual DECLARE_READ8_MEMBER(pb_r) override;
private:
required_ioport_array<4> m_kbd;
diff --git a/src/devices/bus/bbc/userport/pointer.cpp b/src/devices/bus/bbc/userport/pointer.cpp
index d8272766d98..9a222388989 100644
--- a/src/devices/bus/bbc/userport/pointer.cpp
+++ b/src/devices/bus/bbc/userport/pointer.cpp
@@ -261,17 +261,17 @@ TIMER_CALLBACK_MEMBER(bbc_pointer_device::pointer_poll)
}
}
-uint8_t bbc_amxmouse_device::pb_r()
+READ8_MEMBER(bbc_amxmouse_device::pb_r)
{
return (m_buttons->read() & 0xe0) | (m_xdir << 0) | (m_ydir << 2) | 0x1a;
}
-uint8_t bbc_m512mouse_device::pb_r()
+READ8_MEMBER(bbc_m512mouse_device::pb_r)
{
return (m_buttons->read() & 0x07) | (m_xdir << 3) | (m_ydir << 4) | 0xe0;
}
-uint8_t bbc_tracker_device::pb_r()
+READ8_MEMBER(bbc_tracker_device::pb_r)
{
return (m_buttons->read() & 0x07) | (m_xdir << 3) | (m_ydir << 4) | 0xe0;
}
diff --git a/src/devices/bus/bbc/userport/pointer.h b/src/devices/bus/bbc/userport/pointer.h
index a6e1bd0a629..5551a2c82dd 100644
--- a/src/devices/bus/bbc/userport/pointer.h
+++ b/src/devices/bus/bbc/userport/pointer.h
@@ -58,7 +58,7 @@ public:
// construction/destruction
bbc_amxmouse_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- uint8_t pb_r() override;
+ DECLARE_READ8_MEMBER(pb_r) override;
// optional information overrides
virtual ioport_constructor device_input_ports() const override;
@@ -73,7 +73,7 @@ public:
// construction/destruction
bbc_m512mouse_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- uint8_t pb_r() override;
+ DECLARE_READ8_MEMBER(pb_r) override;
// optional information overrides
virtual ioport_constructor device_input_ports() const override;
@@ -88,7 +88,7 @@ public:
// construction/destruction
bbc_tracker_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- uint8_t pb_r() override;
+ DECLARE_READ8_MEMBER(pb_r) override;
// optional information overrides
virtual ioport_constructor device_input_ports() const override;
diff --git a/src/devices/bus/bbc/userport/userport.cpp b/src/devices/bus/bbc/userport/userport.cpp
index 601a6845801..a4610217651 100644
--- a/src/devices/bus/bbc/userport/userport.cpp
+++ b/src/devices/bus/bbc/userport/userport.cpp
@@ -89,10 +89,10 @@ void bbc_userport_slot_device::device_reset()
// pb_r
//-------------------------------------------------
-uint8_t bbc_userport_slot_device::pb_r()
+READ8_MEMBER(bbc_userport_slot_device::pb_r)
{
if (m_device)
- return m_device->pb_r();
+ return m_device->pb_r(space, 0);
else
return 0xff;
}
@@ -102,10 +102,10 @@ uint8_t bbc_userport_slot_device::pb_r()
// pb_w
//-------------------------------------------------
-void bbc_userport_slot_device::pb_w(uint8_t data)
+WRITE8_MEMBER(bbc_userport_slot_device::pb_w)
{
if (m_device)
- m_device->pb_w(data);
+ m_device->pb_w(space, 0, data);
}
diff --git a/src/devices/bus/bbc/userport/userport.h b/src/devices/bus/bbc/userport/userport.h
index e3040283a5a..e2807146efe 100644
--- a/src/devices/bus/bbc/userport/userport.h
+++ b/src/devices/bus/bbc/userport/userport.h
@@ -64,8 +64,8 @@ public:
DECLARE_WRITE_LINE_MEMBER(cb1_w) { m_cb1_handler(state); }
DECLARE_WRITE_LINE_MEMBER(cb2_w) { m_cb2_handler(state); }
- uint8_t pb_r();
- void pb_w(uint8_t data);
+ DECLARE_READ8_MEMBER(pb_r);
+ DECLARE_WRITE8_MEMBER(pb_w);
protected:
// device-level overrides
@@ -88,8 +88,8 @@ public:
// construction/destruction
virtual ~device_bbc_userport_interface();
- virtual uint8_t pb_r() { return 0xff; }
- virtual void pb_w(uint8_t data) { }
+ virtual DECLARE_READ8_MEMBER(pb_r) { return 0xff; }
+ virtual DECLARE_WRITE8_MEMBER(pb_w) { }
protected:
device_bbc_userport_interface(const machine_config &mconfig, device_t &device);
diff --git a/src/devices/bus/bml3/bml3bus.cpp b/src/devices/bus/bml3/bml3bus.cpp
index 9acb1b9acb5..e1ff1ad39ab 100644
--- a/src/devices/bus/bml3/bml3bus.cpp
+++ b/src/devices/bus/bml3/bml3bus.cpp
@@ -102,13 +102,13 @@ bml3bus_device::bml3bus_device(const machine_config &mconfig, const char *tag, d
bml3bus_device::bml3bus_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, type, tag, owner, clock),
- m_space(*this, finder_base::DUMMY_TAG, -1, 8),
+ m_maincpu(*this, finder_base::DUMMY_TAG),
m_out_nmi_cb(*this),
m_out_irq_cb(*this),
- m_out_firq_cb(*this)
+ m_out_firq_cb(*this),
+ m_cputag(nullptr)
{
}
-
//-------------------------------------------------
// device_start - device-specific startup
//-------------------------------------------------
diff --git a/src/devices/bus/bml3/bml3bus.h b/src/devices/bus/bml3/bml3bus.h
index 2132d376041..918e7b449b1 100644
--- a/src/devices/bus/bml3/bml3bus.h
+++ b/src/devices/bus/bml3/bml3bus.h
@@ -16,6 +16,33 @@
#define BML3BUS_MAX_SLOTS 6
+//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_BML3BUS_CPU(_cputag) \
+ downcast<bml3bus_device &>(*device).set_cputag(_cputag);
+
+#define MCFG_BML3BUS_OUT_NMI_CB(_devcb) \
+ downcast<bml3bus_device &>(*device).set_out_nmi_callback(DEVCB_##_devcb);
+
+#define MCFG_BML3BUS_OUT_IRQ_CB(_devcb) \
+ downcast<bml3bus_device &>(*device).set_out_irq_callback(DEVCB_##_devcb);
+
+#define MCFG_BML3BUS_OUT_FIRQ_CB(_devcb) \
+ downcast<bml3bus_device &>(*device).set_out_firq_callback(DEVCB_##_devcb);
+
+#define MCFG_BML3BUS_SLOT_ADD(_nbtag, _tag, _slot_intf, _def_slot) \
+ MCFG_DEVICE_ADD(_tag, BML3BUS_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false) \
+ downcast<bml3bus_slot_device &>(*device).set_bml3bus_slot(_nbtag, _tag);
+#define MCFG_BML3BUS_SLOT_REMOVE(_tag) \
+ MCFG_DEVICE_REMOVE(_tag)
+
+#define MCFG_BML3BUS_ONBOARD_ADD(_nbtag, _tag, _dev_type) \
+ MCFG_DEVICE_ADD(_tag, _dev_type, 0) \
+ downcast<device_bml3bus_card_interface &>(*device).set_bml3bus_tag(_nbtag, _tag);
+
//**************************************************************************
// TYPE DEFINITIONS
@@ -28,18 +55,7 @@ class bml3bus_slot_device : public device_t,
{
public:
// construction/destruction
- template <typename T>
- bml3bus_slot_device(machine_config const &mconfig, const char *tag, device_t *owner, const char *nbtag, T &&opts, const char *dflt)
- : bml3bus_slot_device(mconfig, tag, owner, (uint32_t)0)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- set_bml3bus_slot(nbtag, tag);
- }
-
- bml3bus_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+ bml3bus_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
virtual void device_start() override;
@@ -67,10 +83,10 @@ public:
bml3bus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// inline configuration
- template <class Object> void set_space(Object &&tag, int spacenum) { m_space.set_tag(std::forward<Object>(tag), spacenum); }
- auto nmi_callback() { return m_out_nmi_cb.bind(); }
- auto irq_callback() { return m_out_irq_cb.bind(); }
- auto firq_callback() { return m_out_firq_cb.bind(); }
+ void set_cputag(const char *tag) { m_maincpu.set_tag(tag); }
+ template <class Object> devcb_base &set_out_nmi_callback(Object &&cb) { return m_out_nmi_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_out_irq_callback(Object &&cb) { return m_out_irq_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_out_firq_callback(Object &&cb) { return m_out_firq_cb.set_callback(std::forward<Object>(cb)); }
void add_bml3bus_card(int slot, device_bml3bus_card_interface *card);
device_bml3bus_card_interface *get_bml3bus_card(int slot);
@@ -83,7 +99,7 @@ public:
DECLARE_WRITE_LINE_MEMBER( irq_w );
DECLARE_WRITE_LINE_MEMBER( firq_w );
- address_space &space() const { return *m_space; }
+ address_space &space() const { return m_maincpu->space(AS_PROGRAM); }
protected:
bml3bus_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
@@ -93,13 +109,14 @@ protected:
virtual void device_reset() override;
// internal state
- required_address_space m_space;
+ required_device<cpu_device> m_maincpu;
devcb_write_line m_out_nmi_cb;
devcb_write_line m_out_irq_cb;
devcb_write_line m_out_firq_cb;
device_bml3bus_card_interface *m_device_list[BML3BUS_MAX_SLOTS];
+ const char *m_cputag;
};
diff --git a/src/devices/bus/bw2/exp.cpp b/src/devices/bus/bw2/exp.cpp
index 50f776b066e..ae02f1f10fa 100644
--- a/src/devices/bus/bw2/exp.cpp
+++ b/src/devices/bus/bw2/exp.cpp
@@ -95,11 +95,11 @@ void bw2_expansion_slot_device::device_reset()
// cd_r - cartridge data read
//-------------------------------------------------
-uint8_t bw2_expansion_slot_device::cd_r(offs_t offset, uint8_t data, int ram2, int ram3, int ram4, int ram5, int ram6)
+uint8_t bw2_expansion_slot_device::cd_r(address_space &space, offs_t offset, uint8_t data, int ram2, int ram3, int ram4, int ram5, int ram6)
{
if (m_cart != nullptr)
{
- data = m_cart->bw2_cd_r(offset, data, ram2, ram3, ram4, ram5, ram6);
+ data = m_cart->bw2_cd_r(space, offset, data, ram2, ram3, ram4, ram5, ram6);
}
return data;
@@ -110,11 +110,11 @@ uint8_t bw2_expansion_slot_device::cd_r(offs_t offset, uint8_t data, int ram2, i
// cd_w - cartridge data write
//-------------------------------------------------
-void bw2_expansion_slot_device::cd_w(offs_t offset, uint8_t data, int ram2, int ram3, int ram4, int ram5, int ram6)
+void bw2_expansion_slot_device::cd_w(address_space &space, offs_t offset, uint8_t data, int ram2, int ram3, int ram4, int ram5, int ram6)
{
if (m_cart != nullptr)
{
- m_cart->bw2_cd_w(offset, data, ram2, ram3, ram4, ram5, ram6);
+ m_cart->bw2_cd_w(space, offset, data, ram2, ram3, ram4, ram5, ram6);
}
}
@@ -123,13 +123,13 @@ void bw2_expansion_slot_device::cd_w(offs_t offset, uint8_t data, int ram2, int
// slot_r - slot read
//-------------------------------------------------
-uint8_t bw2_expansion_slot_device::slot_r(offs_t offset)
+READ8_MEMBER( bw2_expansion_slot_device::slot_r )
{
uint8_t data = 0xff;
if (m_cart != nullptr)
{
- data = m_cart->bw2_slot_r(offset);
+ data = m_cart->bw2_slot_r(space, offset);
}
return data;
@@ -140,11 +140,11 @@ uint8_t bw2_expansion_slot_device::slot_r(offs_t offset)
// slot_w - slot write
//-------------------------------------------------
-void bw2_expansion_slot_device::slot_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER( bw2_expansion_slot_device::slot_w )
{
if (m_cart != nullptr)
{
- m_cart->bw2_slot_w(offset, data);
+ m_cart->bw2_slot_w(space, offset, data);
}
}
@@ -153,13 +153,13 @@ void bw2_expansion_slot_device::slot_w(offs_t offset, uint8_t data)
// modsel_r - modsel read
//-------------------------------------------------
-uint8_t bw2_expansion_slot_device::modsel_r(offs_t offset)
+READ8_MEMBER( bw2_expansion_slot_device::modsel_r )
{
uint8_t data = 0xff;
if (m_cart != nullptr)
{
- data = m_cart->bw2_modsel_r(offset);
+ data = m_cart->bw2_modsel_r(space, offset);
}
return data;
@@ -170,11 +170,11 @@ uint8_t bw2_expansion_slot_device::modsel_r(offs_t offset)
// modsel_w - modsel write
//-------------------------------------------------
-void bw2_expansion_slot_device::modsel_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER( bw2_expansion_slot_device::modsel_w )
{
if (m_cart != nullptr)
{
- m_cart->bw2_modsel_w(offset, data);
+ m_cart->bw2_modsel_w(space, offset, data);
}
}
diff --git a/src/devices/bus/bw2/exp.h b/src/devices/bus/bw2/exp.h
index d37e5c66879..5bd353c5d35 100644
--- a/src/devices/bus/bw2/exp.h
+++ b/src/devices/bus/bw2/exp.h
@@ -49,6 +49,17 @@
#define BW2_EXPANSION_SLOT_TAG "exp"
+
+//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_BW2_EXPANSION_SLOT_ADD(_tag, _clock, _slot_intf, _def_slot) \
+ MCFG_DEVICE_ADD(_tag, BW2_EXPANSION_SLOT, _clock) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
+
+
+
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -62,28 +73,18 @@ class bw2_expansion_slot_device : public device_t,
{
public:
// construction/destruction
- template <typename T>
- bw2_expansion_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock, T &&opts, char const *dflt)
- : bw2_expansion_slot_device(mconfig, tag, owner, clock)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
-
bw2_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~bw2_expansion_slot_device();
// computer interface
- uint8_t cd_r(offs_t offset, uint8_t data, int ram2, int ram3, int ram4, int ram5, int ram6);
- void cd_w(offs_t offset, uint8_t data, int ram2, int ram3, int ram4, int ram5, int ram6);
+ uint8_t cd_r(address_space &space, offs_t offset, uint8_t data, int ram2, int ram3, int ram4, int ram5, int ram6);
+ void cd_w(address_space &space, offs_t offset, uint8_t data, int ram2, int ram3, int ram4, int ram5, int ram6);
- uint8_t slot_r(offs_t offset);
- void slot_w(offs_t offset, uint8_t data);
+ DECLARE_READ8_MEMBER( slot_r );
+ DECLARE_WRITE8_MEMBER( slot_w );
- uint8_t modsel_r(offs_t offset);
- void modsel_w(offs_t offset, uint8_t data);
+ DECLARE_READ8_MEMBER( modsel_r );
+ DECLARE_WRITE8_MEMBER( modsel_w );
protected:
// device-level overrides
@@ -103,14 +104,14 @@ public:
// construction/destruction
virtual ~device_bw2_expansion_slot_interface();
- virtual uint8_t bw2_cd_r(offs_t offset, uint8_t data, int ram2, int ram3, int ram4, int ram5, int ram6) { return data; }
- virtual void bw2_cd_w(offs_t offset, uint8_t data, int ram2, int ram3, int ram4, int ram5, int ram6) { }
+ virtual uint8_t bw2_cd_r(address_space &space, offs_t offset, uint8_t data, int ram2, int ram3, int ram4, int ram5, int ram6) { return data; };
+ virtual void bw2_cd_w(address_space &space, offs_t offset, uint8_t data, int ram2, int ram3, int ram4, int ram5, int ram6) { };
- virtual uint8_t bw2_slot_r(offs_t offset) { return 0xff; }
- virtual void bw2_slot_w(offs_t offset, uint8_t data) { }
+ virtual uint8_t bw2_slot_r(address_space &space, offs_t offset) { return 0xff; }
+ virtual void bw2_slot_w(address_space &space, offs_t offset, uint8_t data) { }
- virtual uint8_t bw2_modsel_r(offs_t offset) { return 0xff; }
- virtual void bw2_modsel_w(offs_t offset, uint8_t data) { }
+ virtual uint8_t bw2_modsel_r(address_space &space, offs_t offset) { return 0xff; }
+ virtual void bw2_modsel_w(address_space &space, offs_t offset, uint8_t data) { }
protected:
device_bw2_expansion_slot_interface(const machine_config &mconfig, device_t &device);
diff --git a/src/devices/bus/bw2/ramcard.cpp b/src/devices/bus/bw2/ramcard.cpp
index 48de6cffdec..b59159cd5b1 100644
--- a/src/devices/bus/bw2/ramcard.cpp
+++ b/src/devices/bus/bw2/ramcard.cpp
@@ -88,7 +88,7 @@ void bw2_ramcard_device::device_reset()
// bw2_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t bw2_ramcard_device::bw2_cd_r(offs_t offset, uint8_t data, int ram2, int ram3, int ram4, int ram5, int ram6)
+uint8_t bw2_ramcard_device::bw2_cd_r(address_space &space, offs_t offset, uint8_t data, int ram2, int ram3, int ram4, int ram5, int ram6)
{
if (!ram2)
{
@@ -107,7 +107,7 @@ uint8_t bw2_ramcard_device::bw2_cd_r(offs_t offset, uint8_t data, int ram2, int
// bw2_cd_r - cartridge data write
//-------------------------------------------------
-void bw2_ramcard_device::bw2_cd_w(offs_t offset, uint8_t data, int ram2, int ram3, int ram4, int ram5, int ram6)
+void bw2_ramcard_device::bw2_cd_w(address_space &space, offs_t offset, uint8_t data, int ram2, int ram3, int ram4, int ram5, int ram6)
{
if (m_en && !ram5)
{
@@ -120,7 +120,7 @@ void bw2_ramcard_device::bw2_cd_w(offs_t offset, uint8_t data, int ram2, int ram
// bw2_slot_w - slot write
//-------------------------------------------------
-void bw2_ramcard_device::bw2_slot_w(offs_t offset, uint8_t data)
+void bw2_ramcard_device::bw2_slot_w(address_space &space, offs_t offset, uint8_t data)
{
m_en = 1;
m_bank = data & 0x0f;
diff --git a/src/devices/bus/bw2/ramcard.h b/src/devices/bus/bw2/ramcard.h
index 029d9b91feb..9ac2b0433fa 100644
--- a/src/devices/bus/bw2/ramcard.h
+++ b/src/devices/bus/bw2/ramcard.h
@@ -37,9 +37,9 @@ protected:
virtual void device_reset() override;
// device_bw2_expansion_slot_interface overrides
- virtual uint8_t bw2_cd_r(offs_t offset, uint8_t data, int ram2, int ram3, int ram4, int ram5, int ram6) override;
- virtual void bw2_cd_w(offs_t offset, uint8_t data, int ram2, int ram3, int ram4, int ram5, int ram6) override;
- virtual void bw2_slot_w(offs_t offset, uint8_t data) override;
+ virtual uint8_t bw2_cd_r(address_space &space, offs_t offset, uint8_t data, int ram2, int ram3, int ram4, int ram5, int ram6) override;
+ virtual void bw2_cd_w(address_space &space, offs_t offset, uint8_t data, int ram2, int ram3, int ram4, int ram5, int ram6) override;
+ virtual void bw2_slot_w(address_space &space, offs_t offset, uint8_t data) override;
private:
required_memory_region m_rom;
diff --git a/src/devices/bus/c64/16kb.cpp b/src/devices/bus/c64/16kb.cpp
index 4b497f88591..4b23cb663f7 100644
--- a/src/devices/bus/c64/16kb.cpp
+++ b/src/devices/bus/c64/16kb.cpp
@@ -22,12 +22,13 @@ DEFINE_DEVICE_TYPE(C64_16KB, c64_16kb_cartridge_device, "c64_16kb", "C64 16KB EP
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void c64_16kb_cartridge_device::device_add_mconfig(machine_config &config)
-{
- GENERIC_CARTSLOT(config, m_low, generic_linear_slot, nullptr, "rom,bin,80");
+MACHINE_CONFIG_START(c64_16kb_cartridge_device::device_add_mconfig)
+ MCFG_GENERIC_CARTSLOT_ADD("roml", generic_linear_slot, nullptr)
+ MCFG_GENERIC_EXTENSIONS("rom,bin,80")
- GENERIC_CARTSLOT(config, m_high, generic_linear_slot, nullptr, "rom,bin,a0,e0");
-}
+ MCFG_GENERIC_CARTSLOT_ADD("romh", generic_linear_slot, nullptr)
+ MCFG_GENERIC_EXTENSIONS("rom,bin,a0,e0")
+MACHINE_CONFIG_END
//-------------------------------------------------
@@ -98,15 +99,15 @@ void c64_16kb_cartridge_device::device_reset()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_16kb_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_16kb_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!roml)
{
- data = m_low->read_rom(offset & 0x1fff);
+ data = m_low->read_rom(space, offset & 0x1fff);
}
else if (!romh)
{
- data = m_high->read_rom(offset & 0x1fff);
+ data = m_high->read_rom(space, offset & 0x1fff);
}
return data;
diff --git a/src/devices/bus/c64/16kb.h b/src/devices/bus/c64/16kb.h
index db7f294fda0..97afa77f5af 100644
--- a/src/devices/bus/c64/16kb.h
+++ b/src/devices/bus/c64/16kb.h
@@ -41,7 +41,7 @@ protected:
virtual ioport_constructor device_input_ports() const override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
private:
required_ioport m_sw1;
diff --git a/src/devices/bus/c64/c128_comal80.cpp b/src/devices/bus/c64/c128_comal80.cpp
index f1ce8c5c87a..234a3499a19 100644
--- a/src/devices/bus/c64/c128_comal80.cpp
+++ b/src/devices/bus/c64/c128_comal80.cpp
@@ -60,7 +60,7 @@ void c128_comal80_cartridge_device::device_reset()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c128_comal80_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c128_comal80_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!romh)
{
@@ -80,7 +80,7 @@ uint8_t c128_comal80_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c128_comal80_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c128_comal80_cartridge_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!io1)
{
diff --git a/src/devices/bus/c64/c128_comal80.h b/src/devices/bus/c64/c128_comal80.h
index fe413f9bef6..c141cffb69e 100644
--- a/src/devices/bus/c64/c128_comal80.h
+++ b/src/devices/bus/c64/c128_comal80.h
@@ -35,8 +35,8 @@ protected:
virtual void device_reset() override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
private:
uint8_t m_bank;
diff --git a/src/devices/bus/c64/c128_partner.cpp b/src/devices/bus/c64/c128_partner.cpp
index 91b7cf751ab..d5e74cc43cb 100644
--- a/src/devices/bus/c64/c128_partner.cpp
+++ b/src/devices/bus/c64/c128_partner.cpp
@@ -147,7 +147,7 @@ void c128_partner_cartridge_device::device_timer(emu_timer &timer, device_timer_
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c128_partner_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c128_partner_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!roml)
{
@@ -185,7 +185,7 @@ uint8_t c128_partner_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c128_partner_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c128_partner_cartridge_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!io1)
{
diff --git a/src/devices/bus/c64/c128_partner.h b/src/devices/bus/c64/c128_partner.h
index 1f4402d5b22..632e526b035 100644
--- a/src/devices/bus/c64/c128_partner.h
+++ b/src/devices/bus/c64/c128_partner.h
@@ -42,8 +42,8 @@ protected:
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
// device_vcs_control_port_interface overrides
virtual void vcs_joy_w(uint8_t data);
diff --git a/src/devices/bus/c64/comal80.cpp b/src/devices/bus/c64/comal80.cpp
index 0ce6dcbfb5a..24c966eccc1 100644
--- a/src/devices/bus/c64/comal80.cpp
+++ b/src/devices/bus/c64/comal80.cpp
@@ -60,7 +60,7 @@ void c64_comal80_cartridge_device::device_reset()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_comal80_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_comal80_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!roml || !romh)
{
@@ -76,7 +76,7 @@ uint8_t c64_comal80_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c64_comal80_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c64_comal80_cartridge_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!io1)
{
diff --git a/src/devices/bus/c64/comal80.h b/src/devices/bus/c64/comal80.h
index af0958a8940..fb0ceaad303 100644
--- a/src/devices/bus/c64/comal80.h
+++ b/src/devices/bus/c64/comal80.h
@@ -35,8 +35,8 @@ protected:
virtual void device_reset() override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
private:
uint8_t m_bank;
diff --git a/src/devices/bus/c64/cpm.cpp b/src/devices/bus/c64/cpm.cpp
index 7a909f6e920..81b6dd4eea2 100644
--- a/src/devices/bus/c64/cpm.cpp
+++ b/src/devices/bus/c64/cpm.cpp
@@ -161,7 +161,7 @@ void c64_cpm_cartridge_device::device_reset()
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c64_cpm_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c64_cpm_cartridge_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!io1)
{
@@ -201,7 +201,7 @@ READ8_MEMBER( c64_cpm_cartridge_device::dma_r )
{
offs_t addr = (offset + 0x1000) & 0xffff;
- data = m_slot->dma_cd_r(addr);
+ data = m_slot->dma_cd_r(space, addr);
}
return data;
@@ -218,6 +218,6 @@ WRITE8_MEMBER( c64_cpm_cartridge_device::dma_w )
{
offs_t addr = (offset + 0x1000) & 0xffff;
- m_slot->dma_cd_w(addr, data);
+ m_slot->dma_cd_w(space, addr, data);
}
}
diff --git a/src/devices/bus/c64/cpm.h b/src/devices/bus/c64/cpm.h
index 63d3a7123cd..f0da4d6c0f7 100644
--- a/src/devices/bus/c64/cpm.h
+++ b/src/devices/bus/c64/cpm.h
@@ -38,7 +38,7 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// device_c64_expansion_card_interface overrides
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
virtual int c64_game_r(offs_t offset, int sphi2, int ba, int rw) override;
private:
diff --git a/src/devices/bus/c64/currah_speech.cpp b/src/devices/bus/c64/currah_speech.cpp
index 2ce77f2ea04..84d64f2ea2a 100644
--- a/src/devices/bus/c64/currah_speech.cpp
+++ b/src/devices/bus/c64/currah_speech.cpp
@@ -170,7 +170,7 @@ void c64_currah_speech_cartridge_device::device_reset()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_currah_speech_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_currah_speech_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!romh)
{
@@ -210,7 +210,7 @@ uint8_t c64_currah_speech_cartridge_device::c64_cd_r(offs_t offset, uint8_t data
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c64_currah_speech_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c64_currah_speech_cartridge_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!io1)
{
diff --git a/src/devices/bus/c64/currah_speech.h b/src/devices/bus/c64/currah_speech.h
index f856833f659..44d5adb083a 100644
--- a/src/devices/bus/c64/currah_speech.h
+++ b/src/devices/bus/c64/currah_speech.h
@@ -40,8 +40,8 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
private:
inline void set_osc1(int voice, int intonation);
diff --git a/src/devices/bus/c64/dela_ep256.cpp b/src/devices/bus/c64/dela_ep256.cpp
index 107f2828d21..e11b3ae8f53 100644
--- a/src/devices/bus/c64/dela_ep256.cpp
+++ b/src/devices/bus/c64/dela_ep256.cpp
@@ -22,17 +22,24 @@ DEFINE_DEVICE_TYPE(C64_DELA_EP256, c64_dela_ep256_cartridge_device, "delep256",
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void c64_dela_ep256_cartridge_device::device_add_mconfig(machine_config &config)
-{
- GENERIC_SOCKET(config, "rom1", generic_linear_slot, nullptr, "bin,rom");
- GENERIC_SOCKET(config, "rom2", generic_linear_slot, nullptr, "bin,rom");
- GENERIC_SOCKET(config, "rom3", generic_linear_slot, nullptr, "bin,rom");
- GENERIC_SOCKET(config, "rom4", generic_linear_slot, nullptr, "bin,rom");
- GENERIC_SOCKET(config, "rom5", generic_linear_slot, nullptr, "bin,rom");
- GENERIC_SOCKET(config, "rom6", generic_linear_slot, nullptr, "bin,rom");
- GENERIC_SOCKET(config, "rom7", generic_linear_slot, nullptr, "bin,rom");
- GENERIC_SOCKET(config, "rom8", generic_linear_slot, nullptr, "bin,rom");
-}
+MACHINE_CONFIG_START(c64_dela_ep256_cartridge_device::device_add_mconfig)
+ MCFG_GENERIC_SOCKET_ADD("rom1", generic_linear_slot, nullptr)
+ MCFG_GENERIC_EXTENSIONS("bin,rom")
+ MCFG_GENERIC_SOCKET_ADD("rom2", generic_linear_slot, nullptr)
+ MCFG_GENERIC_EXTENSIONS("bin,rom")
+ MCFG_GENERIC_SOCKET_ADD("rom3", generic_linear_slot, nullptr)
+ MCFG_GENERIC_EXTENSIONS("bin,rom")
+ MCFG_GENERIC_SOCKET_ADD("rom4", generic_linear_slot, nullptr)
+ MCFG_GENERIC_EXTENSIONS("bin,rom")
+ MCFG_GENERIC_SOCKET_ADD("rom5", generic_linear_slot, nullptr)
+ MCFG_GENERIC_EXTENSIONS("bin,rom")
+ MCFG_GENERIC_SOCKET_ADD("rom6", generic_linear_slot, nullptr)
+ MCFG_GENERIC_EXTENSIONS("bin,rom")
+ MCFG_GENERIC_SOCKET_ADD("rom7", generic_linear_slot, nullptr)
+ MCFG_GENERIC_EXTENSIONS("bin,rom")
+ MCFG_GENERIC_SOCKET_ADD("rom8", generic_linear_slot, nullptr)
+ MCFG_GENERIC_EXTENSIONS("bin,rom")
+MACHINE_CONFIG_END
@@ -87,7 +94,7 @@ void c64_dela_ep256_cartridge_device::device_reset()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_dela_ep256_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_dela_ep256_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!roml)
{
@@ -98,7 +105,7 @@ uint8_t c64_dela_ep256_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, i
else
{
offs_t addr = (m_bank << 13) | (offset & 0x1fff);
- data = m_eproms[m_socket]->read_rom(addr);
+ data = m_eproms[m_socket]->read_rom(space, addr);
}
}
@@ -110,7 +117,7 @@ uint8_t c64_dela_ep256_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, i
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c64_dela_ep256_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c64_dela_ep256_cartridge_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!io2 && ((offset & 0xf0) == 0xa0))
{
diff --git a/src/devices/bus/c64/dela_ep256.h b/src/devices/bus/c64/dela_ep256.h
index 61501df0790..bcc1992b969 100644
--- a/src/devices/bus/c64/dela_ep256.h
+++ b/src/devices/bus/c64/dela_ep256.h
@@ -40,8 +40,8 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
private:
generic_slot_device *m_eproms[8];
diff --git a/src/devices/bus/c64/dela_ep64.cpp b/src/devices/bus/c64/dela_ep64.cpp
index 5798794f7eb..c9eee384a5a 100644
--- a/src/devices/bus/c64/dela_ep64.cpp
+++ b/src/devices/bus/c64/dela_ep64.cpp
@@ -22,11 +22,12 @@ DEFINE_DEVICE_TYPE(C64_DELA_EP64, c64_dela_ep64_cartridge_device, "c64_dela_ep64
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void c64_dela_ep64_cartridge_device::device_add_mconfig(machine_config &config)
-{
- GENERIC_SOCKET(config, m_eprom1, generic_linear_slot, nullptr, "rom,bin");
- GENERIC_SOCKET(config, m_eprom2, generic_linear_slot, nullptr, "rom,bin");
-}
+MACHINE_CONFIG_START(c64_dela_ep64_cartridge_device::device_add_mconfig)
+ MCFG_GENERIC_SOCKET_ADD("eprom1", generic_linear_slot, nullptr)
+ MCFG_GENERIC_EXTENSIONS("rom,bin")
+ MCFG_GENERIC_SOCKET_ADD("eprom2", generic_linear_slot, nullptr)
+ MCFG_GENERIC_EXTENSIONS("rom,bin")
+MACHINE_CONFIG_END
//**************************************************************************
@@ -77,7 +78,7 @@ void c64_dela_ep64_cartridge_device::device_reset()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_dela_ep64_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_dela_ep64_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!roml)
{
@@ -90,8 +91,8 @@ uint8_t c64_dela_ep64_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, in
offs_t addr = (m_bank << 13) | (offset & 0x1fff);
if (!m_rom0_ce) data |= m_roml[offset & 0x1fff];
- if (!m_rom1_ce) data |= m_eprom1->read_rom(addr);
- if (!m_rom2_ce) data |= m_eprom2->read_rom(addr);
+ if (!m_rom1_ce) data |= m_eprom1->read_rom(space, addr);
+ if (!m_rom2_ce) data |= m_eprom2->read_rom(space, addr);
}
}
@@ -103,7 +104,7 @@ uint8_t c64_dela_ep64_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, in
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c64_dela_ep64_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c64_dela_ep64_cartridge_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!io1)
{
diff --git a/src/devices/bus/c64/dela_ep64.h b/src/devices/bus/c64/dela_ep64.h
index 95ac3440871..a3e2d77bd48 100644
--- a/src/devices/bus/c64/dela_ep64.h
+++ b/src/devices/bus/c64/dela_ep64.h
@@ -40,8 +40,8 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
private:
required_device<generic_slot_device> m_eprom1;
diff --git a/src/devices/bus/c64/dela_ep7x8.cpp b/src/devices/bus/c64/dela_ep7x8.cpp
index 0c71555b880..564e7196449 100644
--- a/src/devices/bus/c64/dela_ep7x8.cpp
+++ b/src/devices/bus/c64/dela_ep7x8.cpp
@@ -22,16 +22,22 @@ DEFINE_DEVICE_TYPE(C64_DELA_EP7X8, c64_dela_ep7x8_cartridge_device, "c64_dela_ep
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void c64_dela_ep7x8_cartridge_device::device_add_mconfig(machine_config &config)
-{
- GENERIC_SOCKET(config, m_eprom[0], generic_linear_slot, nullptr, "bin,rom");
- GENERIC_SOCKET(config, m_eprom[1], generic_linear_slot, nullptr, "bin,rom");
- GENERIC_SOCKET(config, m_eprom[2], generic_linear_slot, nullptr, "bin,rom");
- GENERIC_SOCKET(config, m_eprom[3], generic_linear_slot, nullptr, "bin,rom");
- GENERIC_SOCKET(config, m_eprom[4], generic_linear_slot, nullptr, "bin,rom");
- GENERIC_SOCKET(config, m_eprom[5], generic_linear_slot, nullptr, "bin,rom");
- GENERIC_SOCKET(config, m_eprom[6], generic_linear_slot, nullptr, "bin,rom");
-}
+MACHINE_CONFIG_START(c64_dela_ep7x8_cartridge_device::device_add_mconfig)
+ MCFG_GENERIC_SOCKET_ADD("rom1", generic_linear_slot, nullptr)
+ MCFG_GENERIC_EXTENSIONS("bin,rom")
+ MCFG_GENERIC_SOCKET_ADD("rom2", generic_linear_slot, nullptr)
+ MCFG_GENERIC_EXTENSIONS("bin,rom")
+ MCFG_GENERIC_SOCKET_ADD("rom3", generic_linear_slot, nullptr)
+ MCFG_GENERIC_EXTENSIONS("bin,rom")
+ MCFG_GENERIC_SOCKET_ADD("rom4", generic_linear_slot, nullptr)
+ MCFG_GENERIC_EXTENSIONS("bin,rom")
+ MCFG_GENERIC_SOCKET_ADD("rom5", generic_linear_slot, nullptr)
+ MCFG_GENERIC_EXTENSIONS("bin,rom")
+ MCFG_GENERIC_SOCKET_ADD("rom6", generic_linear_slot, nullptr)
+ MCFG_GENERIC_EXTENSIONS("bin,rom")
+ MCFG_GENERIC_SOCKET_ADD("rom7", generic_linear_slot, nullptr)
+ MCFG_GENERIC_EXTENSIONS("bin,rom")
+MACHINE_CONFIG_END
//**************************************************************************
@@ -45,7 +51,13 @@ void c64_dela_ep7x8_cartridge_device::device_add_mconfig(machine_config &config)
c64_dela_ep7x8_cartridge_device::c64_dela_ep7x8_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, C64_DELA_EP7X8, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this),
- m_eprom(*this, "rom%u", 1U)
+ m_eprom1(*this, "rom1"),
+ m_eprom2(*this, "rom2"),
+ m_eprom3(*this, "rom3"),
+ m_eprom4(*this, "rom4"),
+ m_eprom5(*this, "rom5"),
+ m_eprom6(*this, "rom6"),
+ m_eprom7(*this, "rom7"), m_bank(0)
{
}
@@ -76,20 +88,20 @@ void c64_dela_ep7x8_cartridge_device::device_reset()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_dela_ep7x8_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_dela_ep7x8_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!roml)
{
offs_t addr = offset & 0x1fff;
if (!BIT(m_bank, 0)) data |= m_roml[addr];
- if (!BIT(m_bank, 1)) data |= m_eprom[0]->read_rom(addr);
- if (!BIT(m_bank, 2)) data |= m_eprom[1]->read_rom(addr);
- if (!BIT(m_bank, 3)) data |= m_eprom[2]->read_rom(addr);
- if (!BIT(m_bank, 4)) data |= m_eprom[3]->read_rom(addr);
- if (!BIT(m_bank, 5)) data |= m_eprom[4]->read_rom(addr);
- if (!BIT(m_bank, 6)) data |= m_eprom[5]->read_rom(addr);
- if (!BIT(m_bank, 7)) data |= m_eprom[6]->read_rom(addr);
+ if (!BIT(m_bank, 1)) data |= m_eprom1->read_rom(space, addr);
+ if (!BIT(m_bank, 2)) data |= m_eprom2->read_rom(space, addr);
+ if (!BIT(m_bank, 3)) data |= m_eprom3->read_rom(space, addr);
+ if (!BIT(m_bank, 4)) data |= m_eprom4->read_rom(space, addr);
+ if (!BIT(m_bank, 5)) data |= m_eprom5->read_rom(space, addr);
+ if (!BIT(m_bank, 6)) data |= m_eprom6->read_rom(space, addr);
+ if (!BIT(m_bank, 7)) data |= m_eprom7->read_rom(space, addr);
}
return data;
@@ -100,7 +112,7 @@ uint8_t c64_dela_ep7x8_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, i
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c64_dela_ep7x8_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c64_dela_ep7x8_cartridge_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!io1)
{
diff --git a/src/devices/bus/c64/dela_ep7x8.h b/src/devices/bus/c64/dela_ep7x8.h
index 50e1b3af01e..48146d1c5e1 100644
--- a/src/devices/bus/c64/dela_ep7x8.h
+++ b/src/devices/bus/c64/dela_ep7x8.h
@@ -40,11 +40,17 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
private:
- required_device_array<generic_slot_device, 7> m_eprom;
+ required_device<generic_slot_device> m_eprom1;
+ required_device<generic_slot_device> m_eprom2;
+ required_device<generic_slot_device> m_eprom3;
+ required_device<generic_slot_device> m_eprom4;
+ required_device<generic_slot_device> m_eprom5;
+ required_device<generic_slot_device> m_eprom6;
+ required_device<generic_slot_device> m_eprom7;
uint8_t m_bank;
};
diff --git a/src/devices/bus/c64/dinamic.cpp b/src/devices/bus/c64/dinamic.cpp
index 13d37749335..8ab60892263 100644
--- a/src/devices/bus/c64/dinamic.cpp
+++ b/src/devices/bus/c64/dinamic.cpp
@@ -60,7 +60,7 @@ void c64_dinamic_cartridge_device::device_reset()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_dinamic_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_dinamic_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!roml)
{
diff --git a/src/devices/bus/c64/dinamic.h b/src/devices/bus/c64/dinamic.h
index e204964e4a1..84bd1503503 100644
--- a/src/devices/bus/c64/dinamic.h
+++ b/src/devices/bus/c64/dinamic.h
@@ -35,7 +35,7 @@ protected:
virtual void device_reset() override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
private:
uint8_t m_bank;
diff --git a/src/devices/bus/c64/dqbb.cpp b/src/devices/bus/c64/dqbb.cpp
index 20adedd9057..b9cb32ce1cc 100644
--- a/src/devices/bus/c64/dqbb.cpp
+++ b/src/devices/bus/c64/dqbb.cpp
@@ -78,7 +78,7 @@ void c64_dqbb_cartridge_device::device_reset()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_dqbb_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_dqbb_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!m_cs && (!roml || !romh))
{
@@ -93,7 +93,7 @@ uint8_t c64_dqbb_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sph
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c64_dqbb_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c64_dqbb_cartridge_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!m_cs && m_we && (offset >= 0x8000 && offset < 0xc000))
{
diff --git a/src/devices/bus/c64/dqbb.h b/src/devices/bus/c64/dqbb.h
index aaa8c0e1bf4..6c472eb6696 100644
--- a/src/devices/bus/c64/dqbb.h
+++ b/src/devices/bus/c64/dqbb.h
@@ -42,8 +42,8 @@ protected:
virtual void nvram_write(emu_file &file) override { if (m_nvram != nullptr) { file.write(m_nvram, m_nvram.bytes()); } }
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
private:
int m_cs;
diff --git a/src/devices/bus/c64/easy_calc_result.cpp b/src/devices/bus/c64/easy_calc_result.cpp
index 123870d5d3e..4ddd4cbdac0 100644
--- a/src/devices/bus/c64/easy_calc_result.cpp
+++ b/src/devices/bus/c64/easy_calc_result.cpp
@@ -80,7 +80,7 @@ void c64_easy_calc_result_cartridge_device::device_reset()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_easy_calc_result_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_easy_calc_result_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!roml)
{
@@ -99,7 +99,7 @@ uint8_t c64_easy_calc_result_cartridge_device::c64_cd_r(offs_t offset, uint8_t d
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c64_easy_calc_result_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c64_easy_calc_result_cartridge_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!io1)
{
diff --git a/src/devices/bus/c64/easy_calc_result.h b/src/devices/bus/c64/easy_calc_result.h
index 2d945b7dea2..377bbd12b17 100644
--- a/src/devices/bus/c64/easy_calc_result.h
+++ b/src/devices/bus/c64/easy_calc_result.h
@@ -35,8 +35,8 @@ protected:
virtual void device_reset() override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
private:
int m_bank;
diff --git a/src/devices/bus/c64/easyflash.cpp b/src/devices/bus/c64/easyflash.cpp
index 38cdf9739c6..abdd891572f 100644
--- a/src/devices/bus/c64/easyflash.cpp
+++ b/src/devices/bus/c64/easyflash.cpp
@@ -114,17 +114,17 @@ void c64_easyflash_cartridge_device::device_reset()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_easyflash_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_easyflash_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!roml)
{
offs_t addr = (m_bank << 13) | (offset & 0x1fff);
- data = m_flash_roml->read(addr);
+ data = m_flash_roml->read(space, addr);
}
else if (!romh)
{
offs_t addr = (m_bank << 13) | (offset & 0x1fff);
- data = m_flash_romh->read(addr);
+ data = m_flash_romh->read(space, addr);
}
else if (!io2)
{
@@ -139,17 +139,17 @@ uint8_t c64_easyflash_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, in
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c64_easyflash_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c64_easyflash_cartridge_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!roml)
{
offs_t addr = (m_bank << 13) | (offset & 0x1fff);
- m_flash_roml->write(addr, data);
+ m_flash_roml->write(space, addr, data);
}
else if (!romh)
{
offs_t addr = (m_bank << 13) | (offset & 0x1fff);
- m_flash_romh->write(addr, data);
+ m_flash_romh->write(space, addr, data);
}
else if (!io1)
{
diff --git a/src/devices/bus/c64/easyflash.h b/src/devices/bus/c64/easyflash.h
index 377de25d50d..ef11fa5162d 100644
--- a/src/devices/bus/c64/easyflash.h
+++ b/src/devices/bus/c64/easyflash.h
@@ -40,8 +40,8 @@ protected:
virtual ioport_constructor device_input_ports() const override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
virtual int c64_exrom_r(offs_t offset, int sphi2, int ba, int rw) override;
virtual int c64_game_r(offs_t offset, int sphi2, int ba, int rw) override;
diff --git a/src/devices/bus/c64/epyx_fast_load.cpp b/src/devices/bus/c64/epyx_fast_load.cpp
index 4dced91c76a..d119091555b 100644
--- a/src/devices/bus/c64/epyx_fast_load.cpp
+++ b/src/devices/bus/c64/epyx_fast_load.cpp
@@ -80,7 +80,7 @@ void c64_epyx_fast_load_cartridge_device::device_timer(emu_timer &timer, device_
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_epyx_fast_load_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_epyx_fast_load_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!roml)
{
@@ -107,7 +107,7 @@ uint8_t c64_epyx_fast_load_cartridge_device::c64_cd_r(offs_t offset, uint8_t dat
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c64_epyx_fast_load_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c64_epyx_fast_load_cartridge_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!io1)
{
diff --git a/src/devices/bus/c64/epyx_fast_load.h b/src/devices/bus/c64/epyx_fast_load.h
index 64d23f6febb..42f04254703 100644
--- a/src/devices/bus/c64/epyx_fast_load.h
+++ b/src/devices/bus/c64/epyx_fast_load.h
@@ -36,8 +36,8 @@ protected:
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
private:
emu_timer *m_exrom_timer;
diff --git a/src/devices/bus/c64/exos.cpp b/src/devices/bus/c64/exos.cpp
index 13c5d972642..5c41cd7d6d3 100644
--- a/src/devices/bus/c64/exos.cpp
+++ b/src/devices/bus/c64/exos.cpp
@@ -47,7 +47,7 @@ void c64_exos_cartridge_device::device_start()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_exos_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_exos_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!romh)
{
diff --git a/src/devices/bus/c64/exos.h b/src/devices/bus/c64/exos.h
index 73b9b2699aa..93872e38e7a 100644
--- a/src/devices/bus/c64/exos.h
+++ b/src/devices/bus/c64/exos.h
@@ -34,7 +34,7 @@ protected:
virtual void device_start() override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
virtual int c64_game_r(offs_t offset, int sphi2, int ba, int rw) override;
};
diff --git a/src/devices/bus/c64/exp.cpp b/src/devices/bus/c64/exp.cpp
index 2d4743fe7c4..1dc007f95a0 100644
--- a/src/devices/bus/c64/exp.cpp
+++ b/src/devices/bus/c64/exp.cpp
@@ -225,11 +225,11 @@ std::string c64_expansion_slot_device::get_default_card_software(get_default_car
// cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_expansion_slot_device::cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_expansion_slot_device::cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (m_card != nullptr)
{
- data = m_card->c64_cd_r(offset, data, sphi2, ba, roml, romh, io1, io2);
+ data = m_card->c64_cd_r(space, offset, data, sphi2, ba, roml, romh, io1, io2);
}
return data;
@@ -240,11 +240,11 @@ uint8_t c64_expansion_slot_device::cd_r(offs_t offset, uint8_t data, int sphi2,
// cd_w - cartridge data write
//-------------------------------------------------
-void c64_expansion_slot_device::cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c64_expansion_slot_device::cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (m_card != nullptr)
{
- m_card->c64_cd_w(offset, data, sphi2, ba, roml, romh, io1, io2);
+ m_card->c64_cd_w(space, offset, data, sphi2, ba, roml, romh, io1, io2);
}
}
diff --git a/src/devices/bus/c64/exp.h b/src/devices/bus/c64/exp.h
index 7cba776f683..c188434d1b8 100644
--- a/src/devices/bus/c64/exp.h
+++ b/src/devices/bus/c64/exp.h
@@ -81,14 +81,14 @@ public:
auto dma_callback() { return m_write_dma.bind(); }
// computer interface
- uint8_t cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2);
- void cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2);
+ uint8_t cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2);
+ void cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2);
int game_r(offs_t offset, int sphi2, int ba, int rw, int hiram);
int exrom_r(offs_t offset, int sphi2, int ba, int rw, int hiram);
// cartridge interface
- uint8_t dma_cd_r(offs_t offset) { return m_read_dma_cd(offset); }
- void dma_cd_w(offs_t offset, uint8_t data) { m_write_dma_cd(offset, data); }
+ DECLARE_READ8_MEMBER( dma_cd_r ) { return m_read_dma_cd(offset); }
+ DECLARE_WRITE8_MEMBER( dma_cd_w ) { m_write_dma_cd(offset, data); }
DECLARE_WRITE_LINE_MEMBER( irq_w ) { m_write_irq(state); }
DECLARE_WRITE_LINE_MEMBER( nmi_w ) { m_write_nmi(state); }
DECLARE_WRITE_LINE_MEMBER( dma_w ) { m_write_dma(state); }
@@ -145,8 +145,8 @@ public:
// construction/destruction
virtual ~device_c64_expansion_card_interface();
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) { return data; };
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) { };
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) { return data; };
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) { };
virtual int c64_game_r(offs_t offset, int sphi2, int ba, int rw) { return m_game; }
virtual int c64_exrom_r(offs_t offset, int sphi2, int ba, int rw) { return m_exrom; }
diff --git a/src/devices/bus/c64/fcc.cpp b/src/devices/bus/c64/fcc.cpp
index 24aaa6ec523..77d505e97a3 100644
--- a/src/devices/bus/c64/fcc.cpp
+++ b/src/devices/bus/c64/fcc.cpp
@@ -75,11 +75,10 @@ void c64_final_chesscard_device::c64_fcc_map(address_map &map)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void c64_final_chesscard_device::device_add_mconfig(machine_config &config)
-{
- M65SC02(config, m_maincpu, XTAL(5'000'000));
- m_maincpu->set_addrmap(AS_PROGRAM, &c64_final_chesscard_device::c64_fcc_map);
-}
+MACHINE_CONFIG_START(c64_final_chesscard_device::device_add_mconfig)
+ MCFG_DEVICE_ADD(G65SC02P4_TAG, M65SC02, XTAL(5'000'000))
+ MCFG_DEVICE_PROGRAM_MAP(c64_fcc_map)
+MACHINE_CONFIG_END
//-------------------------------------------------
@@ -148,7 +147,7 @@ void c64_final_chesscard_device::device_reset()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_final_chesscard_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_final_chesscard_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!roml)
{
@@ -174,7 +173,7 @@ uint8_t c64_final_chesscard_device::c64_cd_r(offs_t offset, uint8_t data, int sp
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c64_final_chesscard_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c64_final_chesscard_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!roml)
{
diff --git a/src/devices/bus/c64/fcc.h b/src/devices/bus/c64/fcc.h
index 3988a597fd4..4d548f38528 100644
--- a/src/devices/bus/c64/fcc.h
+++ b/src/devices/bus/c64/fcc.h
@@ -46,8 +46,8 @@ protected:
virtual void nvram_write(emu_file &file) override { if (m_nvram != nullptr) { file.write(m_nvram, m_nvram.bytes()); } }
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
private:
required_device<m65sc02_device> m_maincpu;
diff --git a/src/devices/bus/c64/final.cpp b/src/devices/bus/c64/final.cpp
index 36b8ee1bae6..90be1e6e588 100644
--- a/src/devices/bus/c64/final.cpp
+++ b/src/devices/bus/c64/final.cpp
@@ -94,7 +94,7 @@ void c64_final_cartridge_device::device_reset()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_final_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_final_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!roml || !romh || !io1 || !io2)
{
@@ -120,7 +120,7 @@ uint8_t c64_final_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sp
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c64_final_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c64_final_cartridge_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!io1)
{
diff --git a/src/devices/bus/c64/final.h b/src/devices/bus/c64/final.h
index 6d59e737c02..a8ed113f13b 100644
--- a/src/devices/bus/c64/final.h
+++ b/src/devices/bus/c64/final.h
@@ -40,8 +40,8 @@ protected:
virtual void device_reset() override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
};
diff --git a/src/devices/bus/c64/final3.cpp b/src/devices/bus/c64/final3.cpp
index 23b54a829e0..9a64e7c4172 100644
--- a/src/devices/bus/c64/final3.cpp
+++ b/src/devices/bus/c64/final3.cpp
@@ -104,7 +104,7 @@ void c64_final3_cartridge_device::device_reset()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_final3_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_final3_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!roml || !romh || !io1 || !io2)
{
@@ -120,7 +120,7 @@ uint8_t c64_final3_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int s
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c64_final3_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c64_final3_cartridge_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!m_hidden && !io2 && ((offset & 0xff) == 0xff))
{
diff --git a/src/devices/bus/c64/final3.h b/src/devices/bus/c64/final3.h
index 8b020482560..d424c76537a 100644
--- a/src/devices/bus/c64/final3.h
+++ b/src/devices/bus/c64/final3.h
@@ -40,8 +40,8 @@ protected:
virtual void device_reset() override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
private:
uint8_t m_bank;
diff --git a/src/devices/bus/c64/fun_play.cpp b/src/devices/bus/c64/fun_play.cpp
index 2a211b21ab5..b4b7a7285d2 100644
--- a/src/devices/bus/c64/fun_play.cpp
+++ b/src/devices/bus/c64/fun_play.cpp
@@ -60,7 +60,7 @@ void c64_fun_play_cartridge_device::device_reset()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_fun_play_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_fun_play_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!roml)
{
@@ -76,7 +76,7 @@ uint8_t c64_fun_play_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c64_fun_play_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c64_fun_play_cartridge_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!io1)
{
diff --git a/src/devices/bus/c64/fun_play.h b/src/devices/bus/c64/fun_play.h
index 6fc082164c6..ba62626651a 100644
--- a/src/devices/bus/c64/fun_play.h
+++ b/src/devices/bus/c64/fun_play.h
@@ -35,8 +35,8 @@ protected:
virtual void device_reset() override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
private:
uint8_t m_bank;
diff --git a/src/devices/bus/c64/geocable.cpp b/src/devices/bus/c64/geocable.cpp
index e07734f987f..e740ec0da69 100644
--- a/src/devices/bus/c64/geocable.cpp
+++ b/src/devices/bus/c64/geocable.cpp
@@ -30,11 +30,10 @@ DEFINE_DEVICE_TYPE(C64_GEOCABLE, c64_geocable_device, "c64_geocable", "C64 geoCa
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void c64_geocable_device::device_add_mconfig(machine_config &config)
-{
- CENTRONICS(config, m_centronics, centronics_devices, "printer");
- m_centronics->busy_handler().set(FUNC(c64_geocable_device::output_b));
-}
+MACHINE_CONFIG_START(c64_geocable_device::device_add_mconfig)
+ MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
+ MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, c64_geocable_device, output_b))
+MACHINE_CONFIG_END
diff --git a/src/devices/bus/c64/georam.cpp b/src/devices/bus/c64/georam.cpp
index 6bf8a16a1d8..e82061df80e 100644
--- a/src/devices/bus/c64/georam.cpp
+++ b/src/devices/bus/c64/georam.cpp
@@ -64,7 +64,7 @@ void c64_georam_cartridge_device::device_reset()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_georam_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_georam_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!io1)
{
@@ -80,7 +80,7 @@ uint8_t c64_georam_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int s
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c64_georam_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c64_georam_cartridge_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!io1)
{
diff --git a/src/devices/bus/c64/georam.h b/src/devices/bus/c64/georam.h
index 03967625c23..352ddff6d1b 100644
--- a/src/devices/bus/c64/georam.h
+++ b/src/devices/bus/c64/georam.h
@@ -35,8 +35,8 @@ protected:
virtual void device_reset() override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
private:
optional_shared_ptr<uint8_t> m_ram;
diff --git a/src/devices/bus/c64/ide64.cpp b/src/devices/bus/c64/ide64.cpp
index 1942ce466b5..f70ca03c10a 100644
--- a/src/devices/bus/c64/ide64.cpp
+++ b/src/devices/bus/c64/ide64.cpp
@@ -134,7 +134,7 @@ void c64_ide64_cartridge_device::device_reset()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_ide64_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_ide64_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!m_enable) return data;
@@ -225,7 +225,7 @@ uint8_t c64_ide64_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sp
{
offs_t addr = (m_bank << 14) | (offset & 0x3fff);
- data = m_flash_rom->read(addr);
+ data = m_flash_rom->read(space, addr);
}
else if (!ram_oe)
{
@@ -240,7 +240,7 @@ uint8_t c64_ide64_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sp
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c64_ide64_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c64_ide64_cartridge_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!m_enable) return;
@@ -259,7 +259,7 @@ void c64_ide64_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2
if ((offset >= 0x8000 && offset < 0xc000) && !m_wp)
{
offs_t addr = (m_bank << 14) | (offset & 0x3fff);
- m_flash_rom->write(addr, data);
+ m_flash_rom->write(space, addr, data);
}
if (!io1)
diff --git a/src/devices/bus/c64/ide64.h b/src/devices/bus/c64/ide64.h
index bfabad10c87..b43e7bdaf98 100644
--- a/src/devices/bus/c64/ide64.h
+++ b/src/devices/bus/c64/ide64.h
@@ -43,8 +43,8 @@ protected:
virtual ioport_constructor device_input_ports() const override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
virtual int c64_game_r(offs_t offset, int sphi2, int ba, int rw) override;
virtual int c64_exrom_r(offs_t offset, int sphi2, int ba, int rw) override;
diff --git a/src/devices/bus/c64/ieee488.cpp b/src/devices/bus/c64/ieee488.cpp
index d77e5064dfc..db1558b9766 100644
--- a/src/devices/bus/c64/ieee488.cpp
+++ b/src/devices/bus/c64/ieee488.cpp
@@ -202,9 +202,9 @@ void c64_ieee488_device::device_reset()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_ieee488_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_ieee488_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
- data = m_exp->cd_r(offset, data, sphi2, ba, roml, romh, io1, io2);
+ data = m_exp->cd_r(space, offset, data, sphi2, ba, roml, romh, io1, io2);
if (!roml && m_roml_sel)
{
@@ -212,7 +212,7 @@ uint8_t c64_ieee488_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int
}
else if (!io2)
{
- data = m_tpi->read(offset & 0x07);
+ data = m_tpi->read(space, offset & 0x07);
}
return data;
@@ -223,14 +223,14 @@ uint8_t c64_ieee488_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c64_ieee488_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c64_ieee488_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!io2)
{
- m_tpi->write(offset & 0x07, data);
+ m_tpi->write(space, offset & 0x07, data);
}
- m_exp->cd_w(offset, data, sphi2, ba, roml, romh, io1, io2);
+ m_exp->cd_w(space, offset, data, sphi2, ba, roml, romh, io1, io2);
}
diff --git a/src/devices/bus/c64/ieee488.h b/src/devices/bus/c64/ieee488.h
index ab3c7748b8d..185a2623317 100644
--- a/src/devices/bus/c64/ieee488.h
+++ b/src/devices/bus/c64/ieee488.h
@@ -39,8 +39,8 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
virtual int c64_game_r(offs_t offset, int sphi2, int ba, int rw) override;
private:
diff --git a/src/devices/bus/c64/kingsoft.cpp b/src/devices/bus/c64/kingsoft.cpp
index 510032fb720..84263b71da7 100644
--- a/src/devices/bus/c64/kingsoft.cpp
+++ b/src/devices/bus/c64/kingsoft.cpp
@@ -57,7 +57,7 @@ void c64_kingsoft_cartridge_device::device_reset()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_kingsoft_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_kingsoft_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!roml)
{
@@ -80,7 +80,7 @@ uint8_t c64_kingsoft_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c64_kingsoft_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c64_kingsoft_cartridge_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!io1)
{
diff --git a/src/devices/bus/c64/kingsoft.h b/src/devices/bus/c64/kingsoft.h
index 3a9fda45fef..89b2a4e0367 100644
--- a/src/devices/bus/c64/kingsoft.h
+++ b/src/devices/bus/c64/kingsoft.h
@@ -35,8 +35,8 @@ protected:
virtual void device_reset() override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
virtual int c64_game_r(offs_t offset, int sphi2, int ba, int rw) override;
};
diff --git a/src/devices/bus/c64/mach5.cpp b/src/devices/bus/c64/mach5.cpp
index ddd44407d3e..f312a14e1d4 100644
--- a/src/devices/bus/c64/mach5.cpp
+++ b/src/devices/bus/c64/mach5.cpp
@@ -88,7 +88,7 @@ void c64_mach5_cartridge_device::device_reset()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_mach5_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_mach5_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!roml || !romh || !io1 || !io2)
{
@@ -103,7 +103,7 @@ uint8_t c64_mach5_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sp
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c64_mach5_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c64_mach5_cartridge_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!m_c128)
{
diff --git a/src/devices/bus/c64/mach5.h b/src/devices/bus/c64/mach5.h
index a49e1bec347..affe03a52dc 100644
--- a/src/devices/bus/c64/mach5.h
+++ b/src/devices/bus/c64/mach5.h
@@ -37,8 +37,8 @@ protected:
virtual void device_reset() override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
private:
required_ioport m_s1;
diff --git a/src/devices/bus/c64/magic_desk.cpp b/src/devices/bus/c64/magic_desk.cpp
index 2fe55681966..9f72a1f416f 100644
--- a/src/devices/bus/c64/magic_desk.cpp
+++ b/src/devices/bus/c64/magic_desk.cpp
@@ -60,7 +60,7 @@ void c64_magic_desk_cartridge_device::device_reset()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_magic_desk_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_magic_desk_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!roml)
{
@@ -76,7 +76,7 @@ uint8_t c64_magic_desk_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, i
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c64_magic_desk_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c64_magic_desk_cartridge_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!io1)
{
diff --git a/src/devices/bus/c64/magic_desk.h b/src/devices/bus/c64/magic_desk.h
index 75f76dee732..4082fc5ff56 100644
--- a/src/devices/bus/c64/magic_desk.h
+++ b/src/devices/bus/c64/magic_desk.h
@@ -35,8 +35,8 @@ protected:
virtual void device_reset() override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
private:
uint8_t m_bank;
diff --git a/src/devices/bus/c64/magic_formel.cpp b/src/devices/bus/c64/magic_formel.cpp
index 9ebadc5320b..7575320b765 100644
--- a/src/devices/bus/c64/magic_formel.cpp
+++ b/src/devices/bus/c64/magic_formel.cpp
@@ -206,7 +206,7 @@ void c64_magic_formel_cartridge_device::device_reset()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_magic_formel_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_magic_formel_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!romh)
{
@@ -227,7 +227,7 @@ uint8_t c64_magic_formel_cartridge_device::c64_cd_r(offs_t offset, uint8_t data,
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c64_magic_formel_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c64_magic_formel_cartridge_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!io1 && !m_ram_oe)
{
@@ -239,7 +239,7 @@ void c64_magic_formel_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, in
offs_t addr = (offset >> 6) & 0x03;
uint8_t new_data = (BIT(data, 1) << 7) | (offset & 0x3f);
- m_pia->write(addr, new_data);
+ m_pia->write(space, addr, new_data);
}
else if (offset == 0x0001)
{
diff --git a/src/devices/bus/c64/magic_formel.h b/src/devices/bus/c64/magic_formel.h
index 818342d3c3f..b4427511f32 100644
--- a/src/devices/bus/c64/magic_formel.h
+++ b/src/devices/bus/c64/magic_formel.h
@@ -41,8 +41,8 @@ protected:
virtual ioport_constructor device_input_ports() const override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
virtual int c64_game_r(offs_t offset, int sphi2, int ba, int rw) override;
private:
diff --git a/src/devices/bus/c64/magic_voice.cpp b/src/devices/bus/c64/magic_voice.cpp
index 72d4afe5cf3..8479f56a238 100644
--- a/src/devices/bus/c64/magic_voice.cpp
+++ b/src/devices/bus/c64/magic_voice.cpp
@@ -168,7 +168,7 @@ WRITE8_MEMBER( c64_magic_voice_cartridge_device::tpi_pb_w )
if (!BIT(m_tpi_pb, 4) && BIT(data, 4))
{
- m_vslsi->write(data & 0x0f);
+ m_vslsi->write(space, 0, data & 0x0f);
}
m_tpi_pb = data;
@@ -303,12 +303,12 @@ void c64_magic_voice_cartridge_device::device_reset()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_magic_voice_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_magic_voice_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!io2 && sphi2)
{
m_ca = offset;
- data = m_tpi->read(offset & 0x07);
+ data = m_tpi->read(space, offset & 0x07);
}
if (PB6 && A13 && A15)
@@ -319,7 +319,7 @@ uint8_t c64_magic_voice_cartridge_device::c64_cd_r(offs_t offset, uint8_t data,
int roml2 = !(!roml || (roml && !PB5 && A12 && A13 && !A14 && A15));
int romh2 = !((!romh && !PB6) || (!PB5 && A12 && A13 && !A14 && !A15));
- data = m_exp->cd_r(get_offset(offset), data, sphi2, ba, roml2, romh2, io1, 1);
+ data = m_exp->cd_r(space, get_offset(offset), data, sphi2, ba, roml2, romh2, io1, 1);
return data;
}
@@ -329,17 +329,17 @@ uint8_t c64_magic_voice_cartridge_device::c64_cd_r(offs_t offset, uint8_t data,
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c64_magic_voice_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c64_magic_voice_cartridge_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!io2 && sphi2)
{
- m_tpi->write(offset & 0x07, data);
+ m_tpi->write(space, offset & 0x07, data);
}
int roml2 = !(!roml || (roml && !PB5 && A12 && A13 && !A14 && A15));
int romh2 = !((!romh && !PB6) || (!PB5 && A12 && A13 && !A14 && !A15));
- m_exp->cd_w(get_offset(offset), data, sphi2, ba, roml2, romh2, io1, 1);
+ m_exp->cd_w(space, get_offset(offset), data, sphi2, ba, roml2, romh2, io1, 1);
}
diff --git a/src/devices/bus/c64/magic_voice.h b/src/devices/bus/c64/magic_voice.h
index bf6f081fd67..264c2531197 100644
--- a/src/devices/bus/c64/magic_voice.h
+++ b/src/devices/bus/c64/magic_voice.h
@@ -40,8 +40,8 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
virtual int c64_game_r(offs_t offset, int sphi2, int ba, int rw) override;
private:
diff --git a/src/devices/bus/c64/midi_maplin.cpp b/src/devices/bus/c64/midi_maplin.cpp
index adc8556a7bd..1845f167e33 100644
--- a/src/devices/bus/c64/midi_maplin.cpp
+++ b/src/devices/bus/c64/midi_maplin.cpp
@@ -44,19 +44,19 @@ WRITE_LINE_MEMBER( c64_maplin_midi_cartridge_device::write_acia_clock )
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void c64_maplin_midi_cartridge_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(c64_maplin_midi_cartridge_device::device_add_mconfig)
ACIA6850(config, m_acia, 0);
m_acia->txd_handler().set("mdout", FUNC(midi_port_device::write_txd));
m_acia->irq_handler().set(FUNC(c64_maplin_midi_cartridge_device::acia_irq_w));
- MIDI_PORT(config, "mdin", midiin_slot, "midiin").rxd_handler().set(m_acia, FUNC(acia6850_device::write_rxd));
+ MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin")
+ MCFG_MIDI_RX_HANDLER(WRITELINE(MC6850_TAG, acia6850_device, write_rxd))
- MIDI_PORT(config, "mdout", midiout_slot, "midiout");
+ MCFG_MIDI_PORT_ADD("mdout", midiout_slot, "midiout")
- clock_device &acia_clock(CLOCK(config, "acia_clock", 31250*16));
- acia_clock.signal_handler().set(FUNC(c64_maplin_midi_cartridge_device::write_acia_clock));
-}
+ MCFG_DEVICE_ADD("acia_clock", CLOCK, 31250*16)
+ MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(*this, c64_maplin_midi_cartridge_device, write_acia_clock))
+MACHINE_CONFIG_END
@@ -100,7 +100,7 @@ void c64_maplin_midi_cartridge_device::device_reset()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_maplin_midi_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_maplin_midi_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!io2)
{
@@ -108,7 +108,7 @@ uint8_t c64_maplin_midi_cartridge_device::c64_cd_r(offs_t offset, uint8_t data,
{
case 0:
case 1:
- data = m_acia->read(offset & 1);
+ data = m_acia->read(space, offset & 1);
break;
}
}
@@ -121,7 +121,7 @@ uint8_t c64_maplin_midi_cartridge_device::c64_cd_r(offs_t offset, uint8_t data,
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c64_maplin_midi_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c64_maplin_midi_cartridge_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!io2)
{
@@ -129,7 +129,7 @@ void c64_maplin_midi_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, int
{
case 0:
case 1:
- m_acia->write(offset & 1, data);
+ m_acia->write(space, offset & 1, data);
break;
}
}
diff --git a/src/devices/bus/c64/midi_maplin.h b/src/devices/bus/c64/midi_maplin.h
index eff1129802d..d844d007b36 100644
--- a/src/devices/bus/c64/midi_maplin.h
+++ b/src/devices/bus/c64/midi_maplin.h
@@ -38,8 +38,8 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
private:
DECLARE_WRITE_LINE_MEMBER( acia_irq_w );
diff --git a/src/devices/bus/c64/midi_namesoft.cpp b/src/devices/bus/c64/midi_namesoft.cpp
index d4e7c8b59ac..c572cf4ea55 100644
--- a/src/devices/bus/c64/midi_namesoft.cpp
+++ b/src/devices/bus/c64/midi_namesoft.cpp
@@ -44,19 +44,19 @@ WRITE_LINE_MEMBER( c64_namesoft_midi_cartridge_device::write_acia_clock )
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void c64_namesoft_midi_cartridge_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(c64_namesoft_midi_cartridge_device::device_add_mconfig)
ACIA6850(config, m_acia, 0);
m_acia->txd_handler().set("mdout", FUNC(midi_port_device::write_txd));
m_acia->irq_handler().set(FUNC(c64_namesoft_midi_cartridge_device::acia_irq_w));
- MIDI_PORT(config, "mdin", midiin_slot, "midiin").rxd_handler().set(m_acia, FUNC(acia6850_device::write_rxd));
+ MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin")
+ MCFG_MIDI_RX_HANDLER(WRITELINE(MC6850_TAG, acia6850_device, write_rxd))
- MIDI_PORT(config, "mdout", midiout_slot, "midiout");
+ MCFG_MIDI_PORT_ADD("mdout", midiout_slot, "midiout")
- clock_device &acia_clock(CLOCK(config, "acia_clock", 31250*16));
- acia_clock.signal_handler().set(FUNC(c64_namesoft_midi_cartridge_device::write_acia_clock));
-}
+ MCFG_DEVICE_ADD("acia_clock", CLOCK, 31250*16)
+ MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(*this, c64_namesoft_midi_cartridge_device, write_acia_clock))
+MACHINE_CONFIG_END
@@ -98,7 +98,7 @@ void c64_namesoft_midi_cartridge_device::device_reset()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_namesoft_midi_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_namesoft_midi_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!io1)
{
@@ -106,7 +106,7 @@ uint8_t c64_namesoft_midi_cartridge_device::c64_cd_r(offs_t offset, uint8_t data
{
case 2:
case 3:
- data = m_acia->read(offset & 1);
+ data = m_acia->read(space, offset & 1);
break;
}
}
@@ -119,7 +119,7 @@ uint8_t c64_namesoft_midi_cartridge_device::c64_cd_r(offs_t offset, uint8_t data
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c64_namesoft_midi_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c64_namesoft_midi_cartridge_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!io1)
{
@@ -127,7 +127,7 @@ void c64_namesoft_midi_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, i
{
case 0:
case 1:
- m_acia->write(offset & 1, data);
+ m_acia->write(space, offset & 1, data);
break;
}
}
diff --git a/src/devices/bus/c64/midi_namesoft.h b/src/devices/bus/c64/midi_namesoft.h
index ab5064486c0..fe583e9cac1 100644
--- a/src/devices/bus/c64/midi_namesoft.h
+++ b/src/devices/bus/c64/midi_namesoft.h
@@ -38,8 +38,8 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
private:
DECLARE_WRITE_LINE_MEMBER( acia_irq_w );
diff --git a/src/devices/bus/c64/midi_passport.cpp b/src/devices/bus/c64/midi_passport.cpp
index 05a3fbb1a36..bedab8e52c1 100644
--- a/src/devices/bus/c64/midi_passport.cpp
+++ b/src/devices/bus/c64/midi_passport.cpp
@@ -58,8 +58,7 @@ WRITE_LINE_MEMBER( c64_passport_midi_cartridge_device::write_acia_clock )
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void c64_passport_midi_cartridge_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(c64_passport_midi_cartridge_device::device_add_mconfig)
ACIA6850(config, m_acia, 0);
m_acia->txd_handler().set("mdout", FUNC(midi_port_device::write_txd));
m_acia->irq_handler().set(FUNC(c64_passport_midi_cartridge_device::acia_irq_w));
@@ -68,13 +67,14 @@ void c64_passport_midi_cartridge_device::device_add_mconfig(machine_config &conf
m_ptm->set_external_clocks(1021800.0f, 1021800.0f, 1021800.0f);
m_ptm->irq_callback().set(FUNC(c64_passport_midi_cartridge_device::ptm_irq_w));
- MIDI_PORT(config, "mdin", midiin_slot, "midiin").rxd_handler().set(m_acia, FUNC(acia6850_device::write_rxd));
+ MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin")
+ MCFG_MIDI_RX_HANDLER(WRITELINE(MC6850_TAG, acia6850_device, write_rxd))
- MIDI_PORT(config, "mdout", midiout_slot, "midiout");
+ MCFG_MIDI_PORT_ADD("mdout", midiout_slot, "midiout")
- clock_device &acia_clock(CLOCK(config, "acia_clock", 31250*16)); // TODO: work out if the clock should come from the 6840
- acia_clock.signal_handler().set(FUNC(c64_passport_midi_cartridge_device::write_acia_clock));
-}
+ MCFG_DEVICE_ADD("acia_clock", CLOCK, 31250*16) /// TODO: work out if the clock should come from the 6840
+ MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(*this, c64_passport_midi_cartridge_device, write_acia_clock))
+MACHINE_CONFIG_END
@@ -124,7 +124,7 @@ void c64_passport_midi_cartridge_device::device_reset()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_passport_midi_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_passport_midi_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!io1)
{
@@ -132,11 +132,11 @@ uint8_t c64_passport_midi_cartridge_device::c64_cd_r(offs_t offset, uint8_t data
{
case 0: case 1: case 2: case 3:
case 4: case 5: case 6: case 7:
- data = m_ptm->read(offset & 0x07);
+ data = m_ptm->read(space, offset & 0x07);
break;
case 8: case 9:
- data = m_acia->read(offset & 0x01);
+ data = m_acia->read(space, offset & 0x01);
break;
}
}
@@ -149,7 +149,7 @@ uint8_t c64_passport_midi_cartridge_device::c64_cd_r(offs_t offset, uint8_t data
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c64_passport_midi_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c64_passport_midi_cartridge_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!io1)
{
@@ -157,11 +157,11 @@ void c64_passport_midi_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, i
{
case 0: case 1: case 2: case 3:
case 4: case 5: case 6: case 7:
- m_ptm->write(offset & 0x07, data);
+ m_ptm->write(space, offset & 0x07, data);
break;
case 8: case 9:
- m_acia->write(offset & 0x01, data);
+ m_acia->write(space, offset & 0x01, data);
break;
case 0x30:
diff --git a/src/devices/bus/c64/midi_passport.h b/src/devices/bus/c64/midi_passport.h
index a538d312912..5385e3fff91 100644
--- a/src/devices/bus/c64/midi_passport.h
+++ b/src/devices/bus/c64/midi_passport.h
@@ -39,8 +39,8 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
private:
DECLARE_WRITE_LINE_MEMBER( ptm_irq_w );
diff --git a/src/devices/bus/c64/midi_sci.cpp b/src/devices/bus/c64/midi_sci.cpp
index 14309ee5e7c..9d58052b38a 100644
--- a/src/devices/bus/c64/midi_sci.cpp
+++ b/src/devices/bus/c64/midi_sci.cpp
@@ -44,19 +44,19 @@ WRITE_LINE_MEMBER( c64_sequential_midi_cartridge_device::write_acia_clock )
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void c64_sequential_midi_cartridge_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(c64_sequential_midi_cartridge_device::device_add_mconfig)
ACIA6850(config, m_acia, 0);
m_acia->txd_handler().set("mdout", FUNC(midi_port_device::write_txd));
m_acia->irq_handler().set(FUNC(c64_sequential_midi_cartridge_device::acia_irq_w));
- MIDI_PORT(config, "mdin", midiin_slot, "midiin").rxd_handler().set(m_acia, FUNC(acia6850_device::write_rxd));
+ MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin")
+ MCFG_MIDI_RX_HANDLER(WRITELINE(MC6850_TAG, acia6850_device, write_rxd))
- MIDI_PORT(config, "mdout", midiout_slot, "midiout");
+ MCFG_MIDI_PORT_ADD("mdout", midiout_slot, "midiout")
- clock_device &acia_clock(CLOCK(config, "acia_clock", 31250*16));
- acia_clock.signal_handler().set(FUNC(c64_sequential_midi_cartridge_device::write_acia_clock));
-}
+ MCFG_DEVICE_ADD("acia_clock", CLOCK, 31250*16)
+ MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(*this, c64_sequential_midi_cartridge_device, write_acia_clock))
+MACHINE_CONFIG_END
@@ -99,7 +99,7 @@ void c64_sequential_midi_cartridge_device::device_reset()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_sequential_midi_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_sequential_midi_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!io1)
{
@@ -107,7 +107,7 @@ uint8_t c64_sequential_midi_cartridge_device::c64_cd_r(offs_t offset, uint8_t da
{
case 2:
case 3:
- data = m_acia->read(offset & 1);
+ data = m_acia->read(space, offset & 1);
break;
}
}
@@ -120,7 +120,7 @@ uint8_t c64_sequential_midi_cartridge_device::c64_cd_r(offs_t offset, uint8_t da
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c64_sequential_midi_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c64_sequential_midi_cartridge_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!io1)
{
@@ -128,7 +128,7 @@ void c64_sequential_midi_cartridge_device::c64_cd_w(offs_t offset, uint8_t data,
{
case 0:
case 1:
- m_acia->write(offset & 1, data);
+ m_acia->write(space, offset & 1, data);
break;
}
}
diff --git a/src/devices/bus/c64/midi_sci.h b/src/devices/bus/c64/midi_sci.h
index b0d52a0f70d..2c3dfc7f8ff 100644
--- a/src/devices/bus/c64/midi_sci.h
+++ b/src/devices/bus/c64/midi_sci.h
@@ -38,8 +38,8 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
private:
DECLARE_WRITE_LINE_MEMBER( acia_irq_w );
diff --git a/src/devices/bus/c64/midi_siel.cpp b/src/devices/bus/c64/midi_siel.cpp
index eea7a4b333d..f5338bc6995 100644
--- a/src/devices/bus/c64/midi_siel.cpp
+++ b/src/devices/bus/c64/midi_siel.cpp
@@ -44,19 +44,19 @@ WRITE_LINE_MEMBER( c64_siel_midi_cartridge_device::write_acia_clock )
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void c64_siel_midi_cartridge_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(c64_siel_midi_cartridge_device::device_add_mconfig)
ACIA6850(config, m_acia, 0);
m_acia->txd_handler().set("mdout", FUNC(midi_port_device::write_txd));
m_acia->irq_handler().set(FUNC(c64_siel_midi_cartridge_device::acia_irq_w));
- MIDI_PORT(config, "mdin", midiin_slot, "midiin").rxd_handler().set(m_acia, FUNC(acia6850_device::write_rxd));
+ MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin")
+ MCFG_MIDI_RX_HANDLER(WRITELINE(MC6850_TAG, acia6850_device, write_rxd))
- MIDI_PORT(config, "mdout", midiout_slot, "midiout");
+ MCFG_MIDI_PORT_ADD("mdout", midiout_slot, "midiout")
- clock_device &acia_clock(CLOCK(config, "acia_clock", 31250*16));
- acia_clock.signal_handler().set(FUNC(c64_siel_midi_cartridge_device::write_acia_clock));
-}
+ MCFG_DEVICE_ADD("acia_clock", CLOCK, 31250*16)
+ MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(*this, c64_siel_midi_cartridge_device, write_acia_clock))
+MACHINE_CONFIG_END
@@ -100,7 +100,7 @@ void c64_siel_midi_cartridge_device::device_reset()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_siel_midi_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_siel_midi_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!io1)
{
@@ -108,7 +108,7 @@ uint8_t c64_siel_midi_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, in
{
case 6:
case 7:
- data = m_acia->read(offset & 1);
+ data = m_acia->read(space, offset & 1);
break;
}
}
@@ -121,7 +121,7 @@ uint8_t c64_siel_midi_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, in
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c64_siel_midi_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c64_siel_midi_cartridge_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!io1)
{
@@ -129,7 +129,7 @@ void c64_siel_midi_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, int s
{
case 4:
case 5:
- m_acia->write(offset & 1, data);
+ m_acia->write(space, offset & 1, data);
break;
}
}
diff --git a/src/devices/bus/c64/midi_siel.h b/src/devices/bus/c64/midi_siel.h
index fe38834278e..9e84f5e1852 100644
--- a/src/devices/bus/c64/midi_siel.h
+++ b/src/devices/bus/c64/midi_siel.h
@@ -38,8 +38,8 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
private:
DECLARE_WRITE_LINE_MEMBER( acia_irq_w );
diff --git a/src/devices/bus/c64/mikro_assembler.cpp b/src/devices/bus/c64/mikro_assembler.cpp
index d6c02be7681..fe97c9472d7 100644
--- a/src/devices/bus/c64/mikro_assembler.cpp
+++ b/src/devices/bus/c64/mikro_assembler.cpp
@@ -47,7 +47,7 @@ void c64_mikro_assembler_cartridge_device::device_start()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_mikro_assembler_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_mikro_assembler_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!roml || !romh || !io1 || !io2)
{
diff --git a/src/devices/bus/c64/mikro_assembler.h b/src/devices/bus/c64/mikro_assembler.h
index 754a91385d4..edeb220fd43 100644
--- a/src/devices/bus/c64/mikro_assembler.h
+++ b/src/devices/bus/c64/mikro_assembler.h
@@ -34,7 +34,7 @@ protected:
virtual void device_start() override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
};
diff --git a/src/devices/bus/c64/multiscreen.cpp b/src/devices/bus/c64/multiscreen.cpp
index 890c1a35799..e243a335e50 100644
--- a/src/devices/bus/c64/multiscreen.cpp
+++ b/src/devices/bus/c64/multiscreen.cpp
@@ -112,14 +112,13 @@ void c64_multiscreen_cartridge_device::multiscreen_mem(address_map &map)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void c64_multiscreen_cartridge_device::device_add_mconfig(machine_config &config)
-{
- m6802_cpu_device &cpu(M6802(config, MC6802P_TAG, XTAL(4'000'000)));
- cpu.set_addrmap(AS_PROGRAM, &c64_multiscreen_cartridge_device::multiscreen_mem);
+MACHINE_CONFIG_START(c64_multiscreen_cartridge_device::device_add_mconfig)
+ MCFG_DEVICE_ADD(MC6802P_TAG, M6802, XTAL(4'000'000))
+ MCFG_DEVICE_PROGRAM_MAP(multiscreen_mem)
- PIA6821(config, MC6821P_0_TAG, 0);
- PIA6821(config, MC6821P_1_TAG, 0);
-}
+ MCFG_DEVICE_ADD(MC6821P_0_TAG, PIA6821, 0)
+ MCFG_DEVICE_ADD(MC6821P_1_TAG, PIA6821, 0)
+MACHINE_CONFIG_END
//**************************************************************************
@@ -162,7 +161,7 @@ void c64_multiscreen_cartridge_device::device_reset()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_multiscreen_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_multiscreen_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!roml)
{
@@ -199,7 +198,7 @@ uint8_t c64_multiscreen_cartridge_device::c64_cd_r(offs_t offset, uint8_t data,
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c64_multiscreen_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c64_multiscreen_cartridge_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (offset >= 0x8000 && offset < 0xa000)
{
diff --git a/src/devices/bus/c64/multiscreen.h b/src/devices/bus/c64/multiscreen.h
index 619154d18c5..9d26edb723a 100644
--- a/src/devices/bus/c64/multiscreen.h
+++ b/src/devices/bus/c64/multiscreen.h
@@ -41,8 +41,8 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
private:
uint8_t m_bank;
diff --git a/src/devices/bus/c64/music64.cpp b/src/devices/bus/c64/music64.cpp
index 9e31a26c62b..7042774ec5d 100644
--- a/src/devices/bus/c64/music64.cpp
+++ b/src/devices/bus/c64/music64.cpp
@@ -172,9 +172,9 @@ void c64_music64_cartridge_device::device_reset()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_music64_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_music64_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
- data = m_exp->cd_r(offset, data, sphi2, ba, roml, romh, io1, io2);
+ data = m_exp->cd_r(space, offset, data, sphi2, ba, roml, romh, io1, io2);
if (!io2)
{
@@ -194,9 +194,9 @@ uint8_t c64_music64_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c64_music64_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c64_music64_cartridge_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
- m_exp->cd_w(offset, data, sphi2, ba, roml, romh, io1, io2);
+ m_exp->cd_w(space, offset, data, sphi2, ba, roml, romh, io1, io2);
}
diff --git a/src/devices/bus/c64/music64.h b/src/devices/bus/c64/music64.h
index cf494c481b8..c9ae5414ac9 100644
--- a/src/devices/bus/c64/music64.h
+++ b/src/devices/bus/c64/music64.h
@@ -38,8 +38,8 @@ protected:
virtual ioport_constructor device_input_ports() const override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
virtual int c64_game_r(offs_t offset, int sphi2, int ba, int rw) override;
virtual int c64_exrom_r(offs_t offset, int sphi2, int ba, int rw) override;
diff --git a/src/devices/bus/c64/neoram.cpp b/src/devices/bus/c64/neoram.cpp
index 4cb34cbbb57..a2576cebeeb 100644
--- a/src/devices/bus/c64/neoram.cpp
+++ b/src/devices/bus/c64/neoram.cpp
@@ -64,7 +64,7 @@ void c64_neoram_cartridge_device::device_reset()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_neoram_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_neoram_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!io1)
{
@@ -80,7 +80,7 @@ uint8_t c64_neoram_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int s
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c64_neoram_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c64_neoram_cartridge_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!io1)
{
diff --git a/src/devices/bus/c64/neoram.h b/src/devices/bus/c64/neoram.h
index d5058b878b7..e75a76cd088 100644
--- a/src/devices/bus/c64/neoram.h
+++ b/src/devices/bus/c64/neoram.h
@@ -41,8 +41,8 @@ protected:
virtual void nvram_write(emu_file &file) override { if (m_nvram != nullptr) { file.write(m_nvram, m_nvram.bytes()); } }
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
private:
uint16_t m_bank;
diff --git a/src/devices/bus/c64/ocean.cpp b/src/devices/bus/c64/ocean.cpp
index 92b18de6a51..6f4fecda52f 100644
--- a/src/devices/bus/c64/ocean.cpp
+++ b/src/devices/bus/c64/ocean.cpp
@@ -82,7 +82,7 @@ void c64_ocean_cartridge_device::device_reset()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_ocean_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_ocean_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!roml && m_roml.bytes())
{
@@ -107,7 +107,7 @@ uint8_t c64_ocean_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sp
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c64_ocean_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c64_ocean_cartridge_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!io1)
{
diff --git a/src/devices/bus/c64/ocean.h b/src/devices/bus/c64/ocean.h
index 9a78f5e21f9..1af2101b3fa 100644
--- a/src/devices/bus/c64/ocean.h
+++ b/src/devices/bus/c64/ocean.h
@@ -35,8 +35,8 @@ protected:
virtual void device_reset() override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
private:
uint8_t m_bank;
diff --git a/src/devices/bus/c64/pagefox.cpp b/src/devices/bus/c64/pagefox.cpp
index 80264aab13b..975f64d5408 100644
--- a/src/devices/bus/c64/pagefox.cpp
+++ b/src/devices/bus/c64/pagefox.cpp
@@ -85,7 +85,7 @@ void c64_pagefox_cartridge_device::device_reset()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_pagefox_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_pagefox_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!roml || !romh)
{
@@ -110,7 +110,7 @@ uint8_t c64_pagefox_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c64_pagefox_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c64_pagefox_cartridge_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (offset >= 0x8000 && offset < 0xc000)
{
diff --git a/src/devices/bus/c64/pagefox.h b/src/devices/bus/c64/pagefox.h
index 74ed5a4edf0..25eedac9eb0 100644
--- a/src/devices/bus/c64/pagefox.h
+++ b/src/devices/bus/c64/pagefox.h
@@ -35,8 +35,8 @@ protected:
virtual void device_reset() override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
private:
optional_shared_ptr<uint8_t> m_ram;
diff --git a/src/devices/bus/c64/partner.cpp b/src/devices/bus/c64/partner.cpp
index 55e4d07f3e1..9f198bc1220 100644
--- a/src/devices/bus/c64/partner.cpp
+++ b/src/devices/bus/c64/partner.cpp
@@ -120,7 +120,7 @@ void c64_partner_cartridge_device::device_reset()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_partner_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_partner_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!io1)
{
@@ -154,7 +154,7 @@ uint8_t c64_partner_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c64_partner_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c64_partner_cartridge_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!io1)
{
diff --git a/src/devices/bus/c64/partner.h b/src/devices/bus/c64/partner.h
index 6ecf4503a91..cfd82208a8b 100644
--- a/src/devices/bus/c64/partner.h
+++ b/src/devices/bus/c64/partner.h
@@ -39,8 +39,8 @@ protected:
virtual void device_reset() override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
virtual int c64_game_r(offs_t offset, int sphi2, int ba, int rw) override;
private:
diff --git a/src/devices/bus/c64/prophet64.cpp b/src/devices/bus/c64/prophet64.cpp
index ea5e16a3000..3b84ea81a5d 100644
--- a/src/devices/bus/c64/prophet64.cpp
+++ b/src/devices/bus/c64/prophet64.cpp
@@ -61,7 +61,7 @@ void c64_prophet64_cartridge_device::device_reset()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_prophet64_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_prophet64_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!roml)
{
@@ -77,7 +77,7 @@ uint8_t c64_prophet64_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, in
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c64_prophet64_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c64_prophet64_cartridge_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!io2)
{
diff --git a/src/devices/bus/c64/prophet64.h b/src/devices/bus/c64/prophet64.h
index f58ba30b7b7..af7b1c32544 100644
--- a/src/devices/bus/c64/prophet64.h
+++ b/src/devices/bus/c64/prophet64.h
@@ -34,8 +34,8 @@ protected:
virtual void device_reset() override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
private:
uint8_t m_bank;
diff --git a/src/devices/bus/c64/ps64.cpp b/src/devices/bus/c64/ps64.cpp
index c14008b2c08..b70c8a61c0f 100644
--- a/src/devices/bus/c64/ps64.cpp
+++ b/src/devices/bus/c64/ps64.cpp
@@ -61,14 +61,25 @@ DEFINE_DEVICE_TYPE(C64_PS64, c64_ps64_cartridge_device, "c64_ps64", "C64 PS-64")
//-------------------------------------------------
+// votrax_sc02_interface votrax_intf
+//-------------------------------------------------
+/*
+static struct votrax_sc02_interface votrax_intf =
+{
+ DEVCB_NOOP
+};
+*/
+
+
+//-------------------------------------------------
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void c64_ps64_cartridge_device::device_add_mconfig(machine_config &config)
-{
- //SPEAKER(config, "speaker").front_center();
- //VOTRAX_SC02(config, SSI263_TAG, 2000000).add_route(ALL_OUTPUTS, "mono", 1.00);
-}
+MACHINE_CONFIG_START(c64_ps64_cartridge_device::device_add_mconfig)
+ //MCFG_SPEAKER_STANDARD_MONO("mono")
+ //MCFG_VOTRAX_SC02_ADD(SSI263_TAG, 2000000, votrax_intf)
+ //MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
+MACHINE_CONFIG_END
@@ -109,7 +120,7 @@ void c64_ps64_cartridge_device::device_reset()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_ps64_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_ps64_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!roml)
{
@@ -128,7 +139,7 @@ uint8_t c64_ps64_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sph
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c64_ps64_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c64_ps64_cartridge_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!io1)
{
diff --git a/src/devices/bus/c64/ps64.h b/src/devices/bus/c64/ps64.h
index 69a9c5b0110..4d75432d51a 100644
--- a/src/devices/bus/c64/ps64.h
+++ b/src/devices/bus/c64/ps64.h
@@ -39,8 +39,8 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
};
diff --git a/src/devices/bus/c64/reu.cpp b/src/devices/bus/c64/reu.cpp
index 332ac53f8a8..b7ab238e47e 100644
--- a/src/devices/bus/c64/reu.cpp
+++ b/src/devices/bus/c64/reu.cpp
@@ -31,12 +31,12 @@ DEFINE_DEVICE_TYPE(C64_REU1764, c64_reu1764_cartridge_device, "c64_1764reu", "17
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void c64_reu_cartridge_device::device_add_mconfig(machine_config &config)
-{
- MOS8726(config, m_dmac, 1000000); // dummy clock
+MACHINE_CONFIG_START(c64_reu_cartridge_device::device_add_mconfig)
+ MCFG_MOS8726_ADD(MOS8726R1_TAG)
- GENERIC_SOCKET(config, m_eprom, generic_linear_slot, nullptr, "bin,rom");
-}
+ MCFG_GENERIC_SOCKET_ADD("rom", generic_linear_slot, nullptr)
+ MCFG_GENERIC_EXTENSIONS("bin,rom")
+MACHINE_CONFIG_END
@@ -99,15 +99,15 @@ void c64_reu_cartridge_device::device_reset()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_reu_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_reu_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!m_dmac->romsel_r(roml, romh))
{
- data = m_eprom->read_rom(offset & 0x7fff);
+ data = m_eprom->read_rom(space, offset & 0x7fff);
}
else if (!io2)
{
- data = m_dmac->read(offset);
+ data = m_dmac->read(space, offset);
}
return data;
@@ -118,10 +118,10 @@ uint8_t c64_reu_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c64_reu_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c64_reu_cartridge_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!io2)
{
- m_dmac->write(offset, data);
+ m_dmac->write(space, offset, data);
}
}
diff --git a/src/devices/bus/c64/reu.h b/src/devices/bus/c64/reu.h
index 0cbb67d9576..dd8b9e32d5f 100644
--- a/src/devices/bus/c64/reu.h
+++ b/src/devices/bus/c64/reu.h
@@ -47,8 +47,8 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
required_device<mos8726_device> m_dmac;
required_device<generic_slot_device> m_eprom;
diff --git a/src/devices/bus/c64/rex.cpp b/src/devices/bus/c64/rex.cpp
index 97fecd740af..73bcdaf453a 100644
--- a/src/devices/bus/c64/rex.cpp
+++ b/src/devices/bus/c64/rex.cpp
@@ -57,7 +57,7 @@ void c64_rex_cartridge_device::device_reset()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_rex_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_rex_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!roml)
{
diff --git a/src/devices/bus/c64/rex.h b/src/devices/bus/c64/rex.h
index cc0cccb52da..42d565971ed 100644
--- a/src/devices/bus/c64/rex.h
+++ b/src/devices/bus/c64/rex.h
@@ -35,7 +35,7 @@ protected:
virtual void device_reset() override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
};
diff --git a/src/devices/bus/c64/rex_ep256.cpp b/src/devices/bus/c64/rex_ep256.cpp
index da1f7b601b7..67f1ce015b9 100644
--- a/src/devices/bus/c64/rex_ep256.cpp
+++ b/src/devices/bus/c64/rex_ep256.cpp
@@ -22,17 +22,24 @@ DEFINE_DEVICE_TYPE(C64_REX_EP256, c64_rex_ep256_cartridge_device, "rexexp256", "
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void c64_rex_ep256_cartridge_device::device_add_mconfig(machine_config &config)
-{
- GENERIC_SOCKET(config, "rom1", generic_linear_slot, nullptr, "bin,rom");
- GENERIC_SOCKET(config, "rom2", generic_linear_slot, nullptr, "bin,rom");
- GENERIC_SOCKET(config, "rom3", generic_linear_slot, nullptr, "bin,rom");
- GENERIC_SOCKET(config, "rom4", generic_linear_slot, nullptr, "bin,rom");
- GENERIC_SOCKET(config, "rom5", generic_linear_slot, nullptr, "bin,rom");
- GENERIC_SOCKET(config, "rom6", generic_linear_slot, nullptr, "bin,rom");
- GENERIC_SOCKET(config, "rom7", generic_linear_slot, nullptr, "bin,rom");
- GENERIC_SOCKET(config, "rom8", generic_linear_slot, nullptr, "bin,rom");
-}
+MACHINE_CONFIG_START(c64_rex_ep256_cartridge_device::device_add_mconfig)
+ MCFG_GENERIC_SOCKET_ADD("rom1", generic_linear_slot, nullptr)
+ MCFG_GENERIC_EXTENSIONS("bin,rom")
+ MCFG_GENERIC_SOCKET_ADD("rom2", generic_linear_slot, nullptr)
+ MCFG_GENERIC_EXTENSIONS("bin,rom")
+ MCFG_GENERIC_SOCKET_ADD("rom3", generic_linear_slot, nullptr)
+ MCFG_GENERIC_EXTENSIONS("bin,rom")
+ MCFG_GENERIC_SOCKET_ADD("rom4", generic_linear_slot, nullptr)
+ MCFG_GENERIC_EXTENSIONS("bin,rom")
+ MCFG_GENERIC_SOCKET_ADD("rom5", generic_linear_slot, nullptr)
+ MCFG_GENERIC_EXTENSIONS("bin,rom")
+ MCFG_GENERIC_SOCKET_ADD("rom6", generic_linear_slot, nullptr)
+ MCFG_GENERIC_EXTENSIONS("bin,rom")
+ MCFG_GENERIC_SOCKET_ADD("rom7", generic_linear_slot, nullptr)
+ MCFG_GENERIC_EXTENSIONS("bin,rom")
+ MCFG_GENERIC_SOCKET_ADD("rom8", generic_linear_slot, nullptr)
+ MCFG_GENERIC_EXTENSIONS("bin,rom")
+MACHINE_CONFIG_END
@@ -87,7 +94,7 @@ void c64_rex_ep256_cartridge_device::device_reset()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_rex_ep256_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_rex_ep256_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!roml)
{
@@ -98,7 +105,7 @@ uint8_t c64_rex_ep256_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, in
else
{
offs_t addr = (m_bank << 13) | (offset & 0x1fff);
- data = m_eproms[m_socket]->read_rom(addr);
+ data = m_eproms[m_socket]->read_rom(space, addr);
}
}
else if (!io2)
@@ -121,7 +128,7 @@ uint8_t c64_rex_ep256_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, in
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c64_rex_ep256_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c64_rex_ep256_cartridge_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!io2 && ((offset & 0xf0) == 0xa0))
{
diff --git a/src/devices/bus/c64/rex_ep256.h b/src/devices/bus/c64/rex_ep256.h
index 06f4a4325d5..536929d8cdb 100644
--- a/src/devices/bus/c64/rex_ep256.h
+++ b/src/devices/bus/c64/rex_ep256.h
@@ -40,8 +40,8 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
private:
generic_slot_device *m_eproms[8];
diff --git a/src/devices/bus/c64/ross.cpp b/src/devices/bus/c64/ross.cpp
index 25c1a996df8..827f98f9401 100644
--- a/src/devices/bus/c64/ross.cpp
+++ b/src/devices/bus/c64/ross.cpp
@@ -62,7 +62,7 @@ void c64_ross_cartridge_device::device_reset()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_ross_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_ross_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!roml || !romh)
{
@@ -79,7 +79,7 @@ uint8_t c64_ross_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sph
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c64_ross_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c64_ross_cartridge_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!io1)
{
diff --git a/src/devices/bus/c64/ross.h b/src/devices/bus/c64/ross.h
index 97f2698fb6c..c36e616948d 100644
--- a/src/devices/bus/c64/ross.h
+++ b/src/devices/bus/c64/ross.h
@@ -35,8 +35,8 @@ protected:
virtual void device_reset() override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
private:
uint8_t m_bank;
diff --git a/src/devices/bus/c64/sfx_sound_expander.cpp b/src/devices/bus/c64/sfx_sound_expander.cpp
index 71229014c46..bf55a2994df 100644
--- a/src/devices/bus/c64/sfx_sound_expander.cpp
+++ b/src/devices/bus/c64/sfx_sound_expander.cpp
@@ -206,9 +206,9 @@ void c64_sfx_sound_expander_cartridge_device::device_reset()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_sfx_sound_expander_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_sfx_sound_expander_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
- data = m_exp->cd_r(get_offset(offset, 1), data, sphi2, ba, roml, romh, io1, io2);
+ data = m_exp->cd_r(space, get_offset(offset, 1), data, sphi2, ba, roml, romh, io1, io2);
if (!io2 && sphi2)
{
@@ -219,7 +219,7 @@ uint8_t c64_sfx_sound_expander_cartridge_device::c64_cd_r(offs_t offset, uint8_t
if (BIT(offset, 5))
{
- data = m_opl->read(BIT(offset, 4));
+ data = m_opl->read(space, BIT(offset, 4));
}
}
@@ -231,14 +231,14 @@ uint8_t c64_sfx_sound_expander_cartridge_device::c64_cd_r(offs_t offset, uint8_t
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c64_sfx_sound_expander_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c64_sfx_sound_expander_cartridge_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!io2 && sphi2)
{
- m_opl->write(BIT(offset, 4), data);
+ m_opl->write(space, BIT(offset, 4), data);
}
- m_exp->cd_w(get_offset(offset, 0), data, sphi2, ba, roml, romh, io1, io2);
+ m_exp->cd_w(space, get_offset(offset, 0), data, sphi2, ba, roml, romh, io1, io2);
}
diff --git a/src/devices/bus/c64/sfx_sound_expander.h b/src/devices/bus/c64/sfx_sound_expander.h
index 9380e055c18..eb402bf1e54 100644
--- a/src/devices/bus/c64/sfx_sound_expander.h
+++ b/src/devices/bus/c64/sfx_sound_expander.h
@@ -39,8 +39,8 @@ protected:
virtual ioport_constructor device_input_ports() const override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
virtual int c64_game_r(offs_t offset, int sphi2, int ba, int rw) override;
virtual int c64_exrom_r(offs_t offset, int sphi2, int ba, int rw) override;
diff --git a/src/devices/bus/c64/silverrock.cpp b/src/devices/bus/c64/silverrock.cpp
index f52efc569b6..a34f21d17a7 100644
--- a/src/devices/bus/c64/silverrock.cpp
+++ b/src/devices/bus/c64/silverrock.cpp
@@ -92,7 +92,7 @@ void c64_silverrock_cartridge_device::device_reset()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_silverrock_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_silverrock_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!roml)
{
@@ -109,7 +109,7 @@ uint8_t c64_silverrock_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, i
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c64_silverrock_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c64_silverrock_cartridge_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!io1)
{
diff --git a/src/devices/bus/c64/silverrock.h b/src/devices/bus/c64/silverrock.h
index 3d9c4e015f2..4bd33a4db71 100644
--- a/src/devices/bus/c64/silverrock.h
+++ b/src/devices/bus/c64/silverrock.h
@@ -35,8 +35,8 @@ protected:
virtual void device_reset() override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
private:
uint8_t m_bank;
diff --git a/src/devices/bus/c64/simons_basic.cpp b/src/devices/bus/c64/simons_basic.cpp
index 246e67b8b56..043d43531c0 100644
--- a/src/devices/bus/c64/simons_basic.cpp
+++ b/src/devices/bus/c64/simons_basic.cpp
@@ -57,7 +57,7 @@ void c64_simons_basic_cartridge_device::device_reset()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_simons_basic_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_simons_basic_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!roml)
{
@@ -76,7 +76,7 @@ uint8_t c64_simons_basic_cartridge_device::c64_cd_r(offs_t offset, uint8_t data,
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c64_simons_basic_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c64_simons_basic_cartridge_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!io1)
{
diff --git a/src/devices/bus/c64/simons_basic.h b/src/devices/bus/c64/simons_basic.h
index 63d2dfb5cb9..9f9cd5a1636 100644
--- a/src/devices/bus/c64/simons_basic.h
+++ b/src/devices/bus/c64/simons_basic.h
@@ -35,8 +35,8 @@ protected:
virtual void device_reset() override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
};
diff --git a/src/devices/bus/c64/speakeasy.cpp b/src/devices/bus/c64/speakeasy.cpp
index 23caee3488f..09427458fe7 100644
--- a/src/devices/bus/c64/speakeasy.cpp
+++ b/src/devices/bus/c64/speakeasy.cpp
@@ -31,12 +31,12 @@ DEFINE_DEVICE_TYPE(C64_SPEAKEASY, c64_speakeasy_cartridge_device, "c64_speakeasy
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void c64_speakeasy_cartridge_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(c64_speakeasy_cartridge_device::device_add_mconfig)
SPEAKER(config, "mono").front_center();
- VOTRAX_SC01(config, m_votrax, 720000).add_route(ALL_OUTPUTS, "mono", 0.85);
-}
+ MCFG_DEVICE_ADD(SC01A_TAG, VOTRAX_SC01, 720000)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.85)
+MACHINE_CONFIG_END
@@ -69,7 +69,7 @@ void c64_speakeasy_cartridge_device::device_start()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_speakeasy_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_speakeasy_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!io1)
{
@@ -84,11 +84,11 @@ uint8_t c64_speakeasy_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, in
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c64_speakeasy_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c64_speakeasy_cartridge_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!io1)
{
- m_votrax->write(data & 0x3f);
- m_votrax->inflection_w(data >> 6);
+ m_votrax->write(space, 0, data & 0x3f);
+ m_votrax->inflection_w(space, 0, data >> 6);
}
}
diff --git a/src/devices/bus/c64/speakeasy.h b/src/devices/bus/c64/speakeasy.h
index 0816e4caa2e..8c8ecdc9403 100644
--- a/src/devices/bus/c64/speakeasy.h
+++ b/src/devices/bus/c64/speakeasy.h
@@ -36,8 +36,8 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
private:
required_device<votrax_sc01_device> m_votrax;
diff --git a/src/devices/bus/c64/stardos.cpp b/src/devices/bus/c64/stardos.cpp
index 601ada2778c..c8e47d300e8 100644
--- a/src/devices/bus/c64/stardos.cpp
+++ b/src/devices/bus/c64/stardos.cpp
@@ -138,7 +138,7 @@ void c64_stardos_cartridge_device::device_start()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_stardos_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_stardos_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!roml || !romh)
{
@@ -162,7 +162,7 @@ uint8_t c64_stardos_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c64_stardos_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c64_stardos_cartridge_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!io1)
{
diff --git a/src/devices/bus/c64/stardos.h b/src/devices/bus/c64/stardos.h
index 9be9f599957..d9c8699a991 100644
--- a/src/devices/bus/c64/stardos.h
+++ b/src/devices/bus/c64/stardos.h
@@ -38,8 +38,8 @@ protected:
virtual void device_start() override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
virtual int c64_game_r(offs_t offset, int sphi2, int ba, int rw) override;
virtual int c64_exrom_r(offs_t offset, int sphi2, int ba, int rw) override;
diff --git a/src/devices/bus/c64/std.cpp b/src/devices/bus/c64/std.cpp
index 08f4c1d65e0..fac9d021696 100644
--- a/src/devices/bus/c64/std.cpp
+++ b/src/devices/bus/c64/std.cpp
@@ -47,7 +47,7 @@ void c64_standard_cartridge_device::device_start()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_standard_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_standard_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!roml && m_roml.bytes())
{
diff --git a/src/devices/bus/c64/std.h b/src/devices/bus/c64/std.h
index 391e9ac973f..8a2599fe7bd 100644
--- a/src/devices/bus/c64/std.h
+++ b/src/devices/bus/c64/std.h
@@ -34,7 +34,7 @@ protected:
virtual void device_start() override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
};
diff --git a/src/devices/bus/c64/structured_basic.cpp b/src/devices/bus/c64/structured_basic.cpp
index e7773c772c0..2f968643b7d 100644
--- a/src/devices/bus/c64/structured_basic.cpp
+++ b/src/devices/bus/c64/structured_basic.cpp
@@ -62,7 +62,7 @@ void c64_structured_basic_cartridge_device::device_reset()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_structured_basic_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_structured_basic_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!roml)
{
@@ -79,7 +79,7 @@ uint8_t c64_structured_basic_cartridge_device::c64_cd_r(offs_t offset, uint8_t d
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c64_structured_basic_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c64_structured_basic_cartridge_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!io1)
{
diff --git a/src/devices/bus/c64/structured_basic.h b/src/devices/bus/c64/structured_basic.h
index 44d370cdb3f..7b36402dcf5 100644
--- a/src/devices/bus/c64/structured_basic.h
+++ b/src/devices/bus/c64/structured_basic.h
@@ -35,8 +35,8 @@ protected:
virtual void device_reset() override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
private:
uint8_t m_bank;
diff --git a/src/devices/bus/c64/super_explode.cpp b/src/devices/bus/c64/super_explode.cpp
index 4ed2456bd2a..88e7a9b48ab 100644
--- a/src/devices/bus/c64/super_explode.cpp
+++ b/src/devices/bus/c64/super_explode.cpp
@@ -85,7 +85,7 @@ void c64_super_explode_cartridge_device::device_timer(emu_timer &timer, device_t
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_super_explode_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_super_explode_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!roml)
{
@@ -112,7 +112,7 @@ uint8_t c64_super_explode_cartridge_device::c64_cd_r(offs_t offset, uint8_t data
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c64_super_explode_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c64_super_explode_cartridge_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!io1)
{
diff --git a/src/devices/bus/c64/super_explode.h b/src/devices/bus/c64/super_explode.h
index ca3abdeebf5..74edade0e6e 100644
--- a/src/devices/bus/c64/super_explode.h
+++ b/src/devices/bus/c64/super_explode.h
@@ -36,8 +36,8 @@ protected:
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
private:
uint8_t m_bank;
diff --git a/src/devices/bus/c64/super_games.cpp b/src/devices/bus/c64/super_games.cpp
index 610861c360e..7a58d29cd57 100644
--- a/src/devices/bus/c64/super_games.cpp
+++ b/src/devices/bus/c64/super_games.cpp
@@ -60,7 +60,7 @@ void c64_super_games_cartridge_device::device_reset()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_super_games_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_super_games_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!roml || !romh)
{
@@ -76,7 +76,7 @@ uint8_t c64_super_games_cartridge_device::c64_cd_r(offs_t offset, uint8_t data,
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c64_super_games_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c64_super_games_cartridge_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!io2)
{
diff --git a/src/devices/bus/c64/super_games.h b/src/devices/bus/c64/super_games.h
index 11e4b44046a..64a50f9e240 100644
--- a/src/devices/bus/c64/super_games.h
+++ b/src/devices/bus/c64/super_games.h
@@ -35,8 +35,8 @@ protected:
virtual void device_reset() override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
private:
uint8_t m_bank;
diff --git a/src/devices/bus/c64/supercpu.cpp b/src/devices/bus/c64/supercpu.cpp
index 4e48d77c35c..a517eecb016 100644
--- a/src/devices/bus/c64/supercpu.cpp
+++ b/src/devices/bus/c64/supercpu.cpp
@@ -144,9 +144,9 @@ void c64_supercpu_device::device_reset()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_supercpu_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_supercpu_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
- data = m_exp->cd_r(offset, data, sphi2, ba, roml, romh, io1, io2);
+ data = m_exp->cd_r(space, offset, data, sphi2, ba, roml, romh, io1, io2);
switch (offset)
{
@@ -198,7 +198,7 @@ uint8_t c64_supercpu_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, in
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c64_supercpu_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c64_supercpu_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
switch (offset)
{
@@ -275,7 +275,7 @@ void c64_supercpu_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int b
break;
}
- m_exp->cd_w(offset, data, sphi2, ba, roml, romh, io1, io2);
+ m_exp->cd_w(space, offset, data, sphi2, ba, roml, romh, io1, io2);
}
diff --git a/src/devices/bus/c64/supercpu.h b/src/devices/bus/c64/supercpu.h
index 73982328c31..006449400c1 100644
--- a/src/devices/bus/c64/supercpu.h
+++ b/src/devices/bus/c64/supercpu.h
@@ -40,8 +40,8 @@ protected:
virtual ioport_constructor device_input_ports() const override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
virtual int c64_game_r(offs_t offset, int sphi2, int ba, int rw) override;
virtual int c64_exrom_r(offs_t offset, int sphi2, int ba, int rw) override;
diff --git a/src/devices/bus/c64/sw8k.cpp b/src/devices/bus/c64/sw8k.cpp
index 2f55b223797..ff0e3310101 100644
--- a/src/devices/bus/c64/sw8k.cpp
+++ b/src/devices/bus/c64/sw8k.cpp
@@ -103,7 +103,7 @@ void c64_switchable_8k_cartridge_device::device_reset()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_switchable_8k_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_switchable_8k_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!roml)
{
diff --git a/src/devices/bus/c64/sw8k.h b/src/devices/bus/c64/sw8k.h
index 186e96792d6..94bcb17b5a3 100644
--- a/src/devices/bus/c64/sw8k.h
+++ b/src/devices/bus/c64/sw8k.h
@@ -38,7 +38,7 @@ protected:
virtual void device_reset() override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
private:
required_ioport m_sw;
diff --git a/src/devices/bus/c64/swiftlink.cpp b/src/devices/bus/c64/swiftlink.cpp
index 3855da85ca3..3f807fb13dc 100644
--- a/src/devices/bus/c64/swiftlink.cpp
+++ b/src/devices/bus/c64/swiftlink.cpp
@@ -126,12 +126,12 @@ void c64_swiftlink_cartridge_device::device_reset()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_swiftlink_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_swiftlink_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (((m_cs == DE00) && !io1) || ((m_cs == DF00) && !io2) ||
((m_cs == D700) && ((offset & 0xff00) == 0xd700)))
{
- data = m_acia->read(offset & 0x03);
+ data = m_acia->read(space, offset & 0x03);
}
return data;
@@ -142,12 +142,12 @@ uint8_t c64_swiftlink_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, in
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c64_swiftlink_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c64_swiftlink_cartridge_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (((m_cs == DE00) && !io1) || ((m_cs == DF00) && !io2) ||
((m_cs == D700) && ((offset & 0xff00) == 0xd700)))
{
- m_acia->write(offset & 0x03, data);
+ m_acia->write(space, offset & 0x03, data);
}
}
diff --git a/src/devices/bus/c64/swiftlink.h b/src/devices/bus/c64/swiftlink.h
index 409cfafa33a..0c1f577bafe 100644
--- a/src/devices/bus/c64/swiftlink.h
+++ b/src/devices/bus/c64/swiftlink.h
@@ -41,8 +41,8 @@ protected:
virtual ioport_constructor device_input_ports() const override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
private:
DECLARE_WRITE_LINE_MEMBER( acia_irq_w );
diff --git a/src/devices/bus/c64/system3.cpp b/src/devices/bus/c64/system3.cpp
index f02ef692b3b..7a1fd54ab3e 100644
--- a/src/devices/bus/c64/system3.cpp
+++ b/src/devices/bus/c64/system3.cpp
@@ -60,7 +60,7 @@ void c64_system3_cartridge_device::device_reset()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_system3_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_system3_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!roml)
{
@@ -82,7 +82,7 @@ uint8_t c64_system3_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c64_system3_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c64_system3_cartridge_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!io1)
{
diff --git a/src/devices/bus/c64/system3.h b/src/devices/bus/c64/system3.h
index 024798fc77e..ff5ed78b53d 100644
--- a/src/devices/bus/c64/system3.h
+++ b/src/devices/bus/c64/system3.h
@@ -35,8 +35,8 @@ protected:
virtual void device_reset() override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
private:
uint8_t m_bank;
diff --git a/src/devices/bus/c64/tdos.cpp b/src/devices/bus/c64/tdos.cpp
index b52b61f57a4..a814ccc26a8 100644
--- a/src/devices/bus/c64/tdos.cpp
+++ b/src/devices/bus/c64/tdos.cpp
@@ -230,9 +230,9 @@ void c64_tdos_cartridge_device::device_reset()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_tdos_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_tdos_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
- data = m_exp->cd_r(offset, data, sphi2, ba, roml, romh, io1, io2);
+ data = m_exp->cd_r(space, offset, data, sphi2, ba, roml, romh, io1, io2);
if (m_enabled && !roml)
{
@@ -244,7 +244,7 @@ uint8_t c64_tdos_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sph
switch ((offset >> 1) & 0x7f)
{
case 0:
- data = m_ssda->read(offset & 0x01);
+ data = m_ssda->read(space, offset & 0x01);
break;
case 1:
@@ -277,16 +277,16 @@ uint8_t c64_tdos_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sph
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c64_tdos_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c64_tdos_cartridge_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
- m_exp->cd_w(offset, data, sphi2, ba, roml, romh, io1, io2);
+ m_exp->cd_w(space, offset, data, sphi2, ba, roml, romh, io1, io2);
if (m_enabled && !io2 && sphi2)
{
switch ((offset >> 1) & 0x7f)
{
case 0:
- m_ssda->write(offset & 0x01, data);
+ m_ssda->write(space, offset & 0x01, data);
break;
case 1:
diff --git a/src/devices/bus/c64/tdos.h b/src/devices/bus/c64/tdos.h
index 49c1b07651c..adf2bf874b5 100644
--- a/src/devices/bus/c64/tdos.h
+++ b/src/devices/bus/c64/tdos.h
@@ -39,8 +39,8 @@ protected:
virtual ioport_constructor device_input_ports() const override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
virtual int c64_game_r(offs_t offset, int sphi2, int ba, int rw) override;
virtual int c64_exrom_r(offs_t offset, int sphi2, int ba, int rw) override;
diff --git a/src/devices/bus/c64/turbo232.cpp b/src/devices/bus/c64/turbo232.cpp
index f9113bed1c5..4c6e5f1ebdb 100644
--- a/src/devices/bus/c64/turbo232.cpp
+++ b/src/devices/bus/c64/turbo232.cpp
@@ -128,7 +128,7 @@ void c64_turbo232_cartridge_device::device_reset()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_turbo232_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_turbo232_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (((m_cs == DE00) && !io1) || ((m_cs == DF00) && !io2) ||
((m_cs == D700) && ((offset & 0xff00) == 0xd700)))
@@ -138,7 +138,7 @@ uint8_t c64_turbo232_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int
switch (offset & 0x07)
{
case 0: case 1: case 2: case 3:
- data = m_acia->read(offset & 0x03);
+ data = m_acia->read(space, offset & 0x03);
break;
case 7:
@@ -155,7 +155,7 @@ uint8_t c64_turbo232_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c64_turbo232_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c64_turbo232_cartridge_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (((m_cs == DE00) && !io1) || ((m_cs == DF00) && !io2) ||
((m_cs == D700) && ((offset & 0xff00) == 0xd700)))
@@ -165,11 +165,11 @@ void c64_turbo232_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, int sp
switch (offset & 0x07)
{
case 0: case 1: case 2:
- m_acia->write(offset & 0x03, data);
+ m_acia->write(space, offset & 0x03, data);
break;
case 3:
- m_acia->write(offset & 0x03, data);
+ m_acia->write(space, offset & 0x03, data);
if (data & 0x0f)
m_es &= ~ES_M;
diff --git a/src/devices/bus/c64/turbo232.h b/src/devices/bus/c64/turbo232.h
index 4f5638f88fa..177e044307d 100644
--- a/src/devices/bus/c64/turbo232.h
+++ b/src/devices/bus/c64/turbo232.h
@@ -41,8 +41,8 @@ protected:
virtual ioport_constructor device_input_ports() const override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
private:
DECLARE_WRITE_LINE_MEMBER( acia_irq_w );
diff --git a/src/devices/bus/c64/vizastar.cpp b/src/devices/bus/c64/vizastar.cpp
index 443c232bde7..444ff656b68 100644
--- a/src/devices/bus/c64/vizastar.cpp
+++ b/src/devices/bus/c64/vizastar.cpp
@@ -79,7 +79,7 @@ void c64_vizastar_cartridge_device::device_start()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_vizastar_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_vizastar_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!roml)
{
diff --git a/src/devices/bus/c64/vizastar.h b/src/devices/bus/c64/vizastar.h
index 26ec63cd46b..95453eb6e38 100644
--- a/src/devices/bus/c64/vizastar.h
+++ b/src/devices/bus/c64/vizastar.h
@@ -34,7 +34,7 @@ protected:
virtual void device_start() override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
};
diff --git a/src/devices/bus/c64/vw64.cpp b/src/devices/bus/c64/vw64.cpp
index bf4d584d40d..ea0d3c3dac2 100644
--- a/src/devices/bus/c64/vw64.cpp
+++ b/src/devices/bus/c64/vw64.cpp
@@ -111,7 +111,7 @@ void c64_vizawrite_cartridge_device::device_timer(emu_timer &timer, device_timer
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_vizawrite_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_vizawrite_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!roml)
{
diff --git a/src/devices/bus/c64/vw64.h b/src/devices/bus/c64/vw64.h
index 64287c0c785..abff81acb4b 100644
--- a/src/devices/bus/c64/vw64.h
+++ b/src/devices/bus/c64/vw64.h
@@ -36,7 +36,7 @@ protected:
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
virtual int c64_exrom_r(offs_t offset, int sphi2, int ba, int rw) override { return 0; }
private:
diff --git a/src/devices/bus/c64/warp_speed.cpp b/src/devices/bus/c64/warp_speed.cpp
index ff485c05277..3c266e3618d 100644
--- a/src/devices/bus/c64/warp_speed.cpp
+++ b/src/devices/bus/c64/warp_speed.cpp
@@ -117,7 +117,7 @@ void c64_warp_speed_cartridge_device::device_reset()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_warp_speed_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_warp_speed_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!roml || !romh || !io1 || !io2)
{
@@ -133,7 +133,7 @@ uint8_t c64_warp_speed_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, i
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c64_warp_speed_cartridge_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c64_warp_speed_cartridge_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!io1)
{
diff --git a/src/devices/bus/c64/warp_speed.h b/src/devices/bus/c64/warp_speed.h
index d5c61f50f49..7a3b25cecfc 100644
--- a/src/devices/bus/c64/warp_speed.h
+++ b/src/devices/bus/c64/warp_speed.h
@@ -38,8 +38,8 @@ protected:
virtual void device_reset() override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
};
diff --git a/src/devices/bus/c64/westermann.cpp b/src/devices/bus/c64/westermann.cpp
index ac254733f01..8cb86b39a1c 100644
--- a/src/devices/bus/c64/westermann.cpp
+++ b/src/devices/bus/c64/westermann.cpp
@@ -57,7 +57,7 @@ void c64_westermann_cartridge_device::device_reset()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_westermann_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_westermann_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!roml)
{
diff --git a/src/devices/bus/c64/westermann.h b/src/devices/bus/c64/westermann.h
index 4b7b2e4389f..b9392c52f72 100644
--- a/src/devices/bus/c64/westermann.h
+++ b/src/devices/bus/c64/westermann.h
@@ -35,7 +35,7 @@ protected:
virtual void device_reset() override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
};
diff --git a/src/devices/bus/c64/xl80.cpp b/src/devices/bus/c64/xl80.cpp
index 8e09508e2a3..fbeacd759b3 100644
--- a/src/devices/bus/c64/xl80.cpp
+++ b/src/devices/bus/c64/xl80.cpp
@@ -123,15 +123,14 @@ GFXDECODE_END
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void c64_xl80_device::device_add_mconfig(machine_config &config)
-{
- screen_device &screen(SCREEN(config, MC6845_SCREEN_TAG, SCREEN_TYPE_RASTER, rgb_t::white()));
- screen.set_screen_update(HD46505SP_TAG, FUNC(h46505_device::screen_update));
- screen.set_size(80*8, 24*8);
- screen.set_visarea(0, 80*8-1, 0, 24*8-1);
- screen.set_refresh_hz(50);
-
- GFXDECODE(config, "gfxdecode", m_palette, gfx_c64_xl80);
+MACHINE_CONFIG_START(c64_xl80_device::device_add_mconfig)
+ MCFG_SCREEN_ADD_MONOCHROME(MC6845_SCREEN_TAG, RASTER, rgb_t::white())
+ MCFG_SCREEN_UPDATE_DEVICE(HD46505SP_TAG, h46505_device, screen_update)
+ MCFG_SCREEN_SIZE(80*8, 24*8)
+ MCFG_SCREEN_VISIBLE_AREA(0, 80*8-1, 0, 24*8-1)
+ MCFG_SCREEN_REFRESH_RATE(50)
+
+ MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_c64_xl80)
PALETTE(config, m_palette, palette_device::MONOCHROME);
H46505(config, m_crtc, XTAL(14'318'181) / 8);
@@ -139,7 +138,7 @@ void c64_xl80_device::device_add_mconfig(machine_config &config)
m_crtc->set_show_border_area(true);
m_crtc->set_char_width(8);
m_crtc->set_update_row_callback(FUNC(c64_xl80_device::crtc_update_row), this);
-}
+MACHINE_CONFIG_END
@@ -186,13 +185,13 @@ void c64_xl80_device::device_reset()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_xl80_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_xl80_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!io2 && BIT(offset, 2))
{
if (offset & 0x01)
{
- data = m_crtc->register_r();
+ data = m_crtc->register_r(space, 0);
}
}
else if (offset >= 0x8000 && offset < 0x9000)
@@ -212,7 +211,7 @@ uint8_t c64_xl80_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c64_xl80_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c64_xl80_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (offset >= 0x9800 && offset < 0xa000)
{
@@ -222,11 +221,11 @@ void c64_xl80_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, i
{
if (offset & 0x01)
{
- m_crtc->register_w(data);
+ m_crtc->register_w(space, 0, data);
}
else
{
- m_crtc->address_w(data);
+ m_crtc->address_w(space, 0, data);
}
}
}
diff --git a/src/devices/bus/c64/xl80.h b/src/devices/bus/c64/xl80.h
index 82ebdee51d0..fe406af174b 100644
--- a/src/devices/bus/c64/xl80.h
+++ b/src/devices/bus/c64/xl80.h
@@ -41,8 +41,8 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
virtual int c64_game_r(offs_t offset, int sphi2, int ba, int rw) override { return 1; }
virtual int c64_exrom_r(offs_t offset, int sphi2, int ba, int rw) override { return 0; }
diff --git a/src/devices/bus/c64/zaxxon.cpp b/src/devices/bus/c64/zaxxon.cpp
index d63b05da095..8de226cfb9d 100644
--- a/src/devices/bus/c64/zaxxon.cpp
+++ b/src/devices/bus/c64/zaxxon.cpp
@@ -50,7 +50,7 @@ void c64_zaxxon_cartridge_device::device_start()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_zaxxon_cartridge_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_zaxxon_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!roml)
{
diff --git a/src/devices/bus/c64/zaxxon.h b/src/devices/bus/c64/zaxxon.h
index 8e47d4caff7..dafd293081f 100644
--- a/src/devices/bus/c64/zaxxon.h
+++ b/src/devices/bus/c64/zaxxon.h
@@ -34,7 +34,7 @@ protected:
virtual void device_start() override;
// device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
private:
int m_bank;
diff --git a/src/devices/bus/cbm2/24k.cpp b/src/devices/bus/cbm2/24k.cpp
index c212b2fef83..9517337f8c1 100644
--- a/src/devices/bus/cbm2/24k.cpp
+++ b/src/devices/bus/cbm2/24k.cpp
@@ -49,7 +49,7 @@ void cbm2_24k_cartridge_device::device_start()
// cbm2_bd_r - cartridge data read
//-------------------------------------------------
-uint8_t cbm2_24k_cartridge_device::cbm2_bd_r(offs_t offset, uint8_t data, int csbank1, int csbank2, int csbank3)
+uint8_t cbm2_24k_cartridge_device::cbm2_bd_r(address_space &space, offs_t offset, uint8_t data, int csbank1, int csbank2, int csbank3)
{
if (!csbank1)
{
@@ -72,7 +72,7 @@ uint8_t cbm2_24k_cartridge_device::cbm2_bd_r(offs_t offset, uint8_t data, int cs
// cbm2_bd_w - cartridge data write
//-------------------------------------------------
-void cbm2_24k_cartridge_device::cbm2_bd_w(offs_t offset, uint8_t data, int csbank1, int csbank2, int csbank3)
+void cbm2_24k_cartridge_device::cbm2_bd_w(address_space &space, offs_t offset, uint8_t data, int csbank1, int csbank2, int csbank3)
{
if (!csbank1)
{
diff --git a/src/devices/bus/cbm2/24k.h b/src/devices/bus/cbm2/24k.h
index b1c029c5254..0e40e67d478 100644
--- a/src/devices/bus/cbm2/24k.h
+++ b/src/devices/bus/cbm2/24k.h
@@ -33,8 +33,8 @@ protected:
virtual void device_start() override;
// device_cbm2_expansion_card_interface overrides
- virtual uint8_t cbm2_bd_r(offs_t offset, uint8_t data, int csbank1, int csbank2, int csbank3) override;
- virtual void cbm2_bd_w(offs_t offset, uint8_t data, int csbank1, int csbank2, int csbank3) override;
+ virtual uint8_t cbm2_bd_r(address_space &space, offs_t offset, uint8_t data, int csbank1, int csbank2, int csbank3) override;
+ virtual void cbm2_bd_w(address_space &space, offs_t offset, uint8_t data, int csbank1, int csbank2, int csbank3) override;
optional_shared_ptr<uint8_t> m_ram;
};
diff --git a/src/devices/bus/cbm2/exp.cpp b/src/devices/bus/cbm2/exp.cpp
index bcc2a654060..e4246026a54 100644
--- a/src/devices/bus/cbm2/exp.cpp
+++ b/src/devices/bus/cbm2/exp.cpp
@@ -155,11 +155,11 @@ std::string cbm2_expansion_slot_device::get_default_card_software(get_default_ca
// read - cartridge data read
//-------------------------------------------------
-uint8_t cbm2_expansion_slot_device::read(offs_t offset, uint8_t data, int csbank1, int csbank2, int csbank3)
+uint8_t cbm2_expansion_slot_device::read(address_space &space, offs_t offset, uint8_t data, int csbank1, int csbank2, int csbank3)
{
if (m_card != nullptr)
{
- data = m_card->cbm2_bd_r(offset, data, csbank1, csbank2, csbank3);
+ data = m_card->cbm2_bd_r(space, offset, data, csbank1, csbank2, csbank3);
}
return data;
@@ -170,11 +170,11 @@ uint8_t cbm2_expansion_slot_device::read(offs_t offset, uint8_t data, int csbank
// write - cartridge data write
//-------------------------------------------------
-void cbm2_expansion_slot_device::write(offs_t offset, uint8_t data, int csbank1, int csbank2, int csbank3)
+void cbm2_expansion_slot_device::write(address_space &space, offs_t offset, uint8_t data, int csbank1, int csbank2, int csbank3)
{
if (m_card != nullptr)
{
- m_card->cbm2_bd_w(offset, data, csbank1, csbank2, csbank3);
+ m_card->cbm2_bd_w(space, offset, data, csbank1, csbank2, csbank3);
}
}
diff --git a/src/devices/bus/cbm2/exp.h b/src/devices/bus/cbm2/exp.h
index 4d905225299..51f2cb15119 100644
--- a/src/devices/bus/cbm2/exp.h
+++ b/src/devices/bus/cbm2/exp.h
@@ -40,6 +40,17 @@
#define CBM2_EXPANSION_SLOT_TAG "exp"
+
+//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_CBM2_EXPANSION_SLOT_ADD(_tag, _clock, _slot_intf, _def_slot) \
+ MCFG_DEVICE_ADD(_tag, CBM2_EXPANSION_SLOT, _clock) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
+
+
+
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -66,8 +77,8 @@ public:
cbm2_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
// computer interface
- uint8_t read(offs_t offset, uint8_t data, int csbank1, int csbank2, int csbank3);
- void write(offs_t offset, uint8_t data, int csbank1, int csbank2, int csbank3);
+ uint8_t read(address_space &space, offs_t offset, uint8_t data, int csbank1, int csbank2, int csbank3);
+ void write(address_space &space, offs_t offset, uint8_t data, int csbank1, int csbank2, int csbank3);
// cartridge interface
int phi2() { return clock(); }
@@ -108,8 +119,8 @@ public:
// construction/destruction
virtual ~device_cbm2_expansion_card_interface();
- virtual uint8_t cbm2_bd_r(offs_t offset, uint8_t data, int csbank1, int csbank2, int csbank3) { return data; };
- virtual void cbm2_bd_w(offs_t offset, uint8_t data, int csbank1, int csbank2, int csbank3) { };
+ virtual uint8_t cbm2_bd_r(address_space &space, offs_t offset, uint8_t data, int csbank1, int csbank2, int csbank3) { return data; };
+ virtual void cbm2_bd_w(address_space &space, offs_t offset, uint8_t data, int csbank1, int csbank2, int csbank3) { };
protected:
device_cbm2_expansion_card_interface(const machine_config &mconfig, device_t &device);
diff --git a/src/devices/bus/cbm2/hrg.cpp b/src/devices/bus/cbm2/hrg.cpp
index 166e38e76b2..4956b0a708b 100644
--- a/src/devices/bus/cbm2/hrg.cpp
+++ b/src/devices/bus/cbm2/hrg.cpp
@@ -88,39 +88,37 @@ void cbm2_hrg_b_device::hrg_b_map(address_map &map)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void cbm2_hrg_a_device::device_add_mconfig(machine_config &config)
-{
- screen_device &screen(SCREEN(config, SCREEN_TAG, SCREEN_TYPE_RASTER, rgb_t::green()));
- screen.set_screen_update(EF9365_TAG, FUNC(ef9365_device::screen_update));
- screen.set_size(512, 512);
- screen.set_visarea(0, 512-1, 0, 512-1);
- screen.set_refresh_hz(25);
+MACHINE_CONFIG_START(cbm2_hrg_a_device::device_add_mconfig)
+ MCFG_SCREEN_ADD_MONOCHROME(SCREEN_TAG, RASTER, rgb_t::green())
+ MCFG_SCREEN_UPDATE_DEVICE(EF9365_TAG, ef9365_device, screen_update)
+ MCFG_SCREEN_SIZE(512, 512)
+ MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 512-1)
+ MCFG_SCREEN_REFRESH_RATE(25)
PALETTE(config, "palette", palette_device::MONOCHROME);
- EF9365(config, m_gdc, 1750000);
- m_gdc->set_screen(SCREEN_TAG);
- m_gdc->set_addrmap(0, &cbm2_hrg_a_device::hrg_a_map);
- m_gdc->set_palette_tag("palette");
- m_gdc->set_nb_bitplanes(1);
- m_gdc->set_display_mode(ef9365_device::DISPLAY_MODE_512x512);
-}
-
-void cbm2_hrg_b_device::device_add_mconfig(machine_config &config)
-{
- screen_device &screen(SCREEN(config, SCREEN_TAG, SCREEN_TYPE_RASTER, rgb_t::green()));
- screen.set_screen_update(EF9366_TAG, FUNC(ef9365_device::screen_update));
- screen.set_size(512, 256);
- screen.set_visarea(0, 512-1, 0, 256-1);
- screen.set_refresh_hz(50);
+ MCFG_DEVICE_ADD(EF9365_TAG, EF9365, 1750000)
+ MCFG_VIDEO_SET_SCREEN(SCREEN_TAG)
+ MCFG_DEVICE_ADDRESS_MAP(0, hrg_a_map)
+ MCFG_EF936X_PALETTE("palette")
+ MCFG_EF936X_BITPLANES_CNT(1);
+ MCFG_EF936X_DISPLAYMODE(DISPLAY_MODE_512x512);
+MACHINE_CONFIG_END
+
+MACHINE_CONFIG_START(cbm2_hrg_b_device::device_add_mconfig)
+ MCFG_SCREEN_ADD_MONOCHROME(SCREEN_TAG, RASTER, rgb_t::green())
+ MCFG_SCREEN_UPDATE_DEVICE(EF9366_TAG, ef9365_device, screen_update)
+ MCFG_SCREEN_SIZE(512, 256)
+ MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 256-1)
+ MCFG_SCREEN_REFRESH_RATE(50)
PALETTE(config, "palette", palette_device::MONOCHROME);
- EF9365(config, m_gdc, 1750000); //EF9366
- m_gdc->set_screen(SCREEN_TAG);
- m_gdc->set_addrmap(0, &cbm2_hrg_b_device::hrg_b_map);
- m_gdc->set_palette_tag("palette");
- m_gdc->set_nb_bitplanes(1);
- m_gdc->set_display_mode(ef9365_device::DISPLAY_MODE_512x256);
-}
+ MCFG_DEVICE_ADD(EF9366_TAG, EF9365, 1750000)
+ MCFG_VIDEO_SET_SCREEN(SCREEN_TAG)
+ MCFG_DEVICE_ADDRESS_MAP(0, hrg_b_map)
+ MCFG_EF936X_PALETTE("palette")
+ MCFG_EF936X_BITPLANES_CNT(1);
+ MCFG_EF936X_DISPLAYMODE(DISPLAY_MODE_512x256);
+MACHINE_CONFIG_END
@@ -174,7 +172,7 @@ void cbm2_hrg_device::device_reset()
// cbm2_bd_r - cartridge data read
//-------------------------------------------------
-uint8_t cbm2_hrg_device::cbm2_bd_r(offs_t offset, uint8_t data, int csbank1, int csbank2, int csbank3)
+uint8_t cbm2_hrg_device::cbm2_bd_r(address_space &space, offs_t offset, uint8_t data, int csbank1, int csbank2, int csbank3)
{
if (!csbank3)
{
@@ -205,7 +203,7 @@ uint8_t cbm2_hrg_device::cbm2_bd_r(offs_t offset, uint8_t data, int csbank1, int
}
else if (offset >= 0x7ff0)
{
- data = m_gdc->data_r(offset & 0x0f);
+ data = m_gdc->data_r(space, offset & 0x0f);
}
}
@@ -217,7 +215,7 @@ uint8_t cbm2_hrg_device::cbm2_bd_r(offs_t offset, uint8_t data, int csbank1, int
// cbm2_bd_w - cartridge data write
//-------------------------------------------------
-void cbm2_hrg_device::cbm2_bd_w(offs_t offset, uint8_t data, int csbank1, int csbank2, int csbank3)
+void cbm2_hrg_device::cbm2_bd_w(address_space &space, offs_t offset, uint8_t data, int csbank1, int csbank2, int csbank3)
{
if (!csbank3)
{
@@ -240,7 +238,7 @@ void cbm2_hrg_device::cbm2_bd_w(offs_t offset, uint8_t data, int csbank1, int cs
}
else if (offset >= 0x7ff0)
{
- m_gdc->data_w(offset & 0x0f, data);
+ m_gdc->data_w(space, offset & 0x0f, data);
}
}
}
diff --git a/src/devices/bus/cbm2/hrg.h b/src/devices/bus/cbm2/hrg.h
index 3b6a20c94e8..ccd16dc1b05 100644
--- a/src/devices/bus/cbm2/hrg.h
+++ b/src/devices/bus/cbm2/hrg.h
@@ -38,12 +38,11 @@ protected:
virtual void device_reset() override;
// device_cbm2_expansion_card_interface overrides
- virtual uint8_t cbm2_bd_r(offs_t offset, uint8_t data, int csbank1, int csbank2, int csbank3) override;
- virtual void cbm2_bd_w(offs_t offset, uint8_t data, int csbank1, int csbank2, int csbank3) override;
-
- required_device<ef9365_device> m_gdc;
+ virtual uint8_t cbm2_bd_r(address_space &space, offs_t offset, uint8_t data, int csbank1, int csbank2, int csbank3) override;
+ virtual void cbm2_bd_w(address_space &space, offs_t offset, uint8_t data, int csbank1, int csbank2, int csbank3) override;
private:
+ required_device<ef9365_device> m_gdc;
required_memory_region m_bank3;
};
diff --git a/src/devices/bus/cbm2/std.cpp b/src/devices/bus/cbm2/std.cpp
index f56226028ee..5087e39cd93 100644
--- a/src/devices/bus/cbm2/std.cpp
+++ b/src/devices/bus/cbm2/std.cpp
@@ -47,7 +47,7 @@ void cbm2_standard_cartridge_device::device_start()
// cbm2_bd_r - cartridge data read
//-------------------------------------------------
-uint8_t cbm2_standard_cartridge_device::cbm2_bd_r(offs_t offset, uint8_t data, int csbank1, int csbank2, int csbank3)
+uint8_t cbm2_standard_cartridge_device::cbm2_bd_r(address_space &space, offs_t offset, uint8_t data, int csbank1, int csbank2, int csbank3)
{
if (!csbank1 && m_bank1.bytes())
{
diff --git a/src/devices/bus/cbm2/std.h b/src/devices/bus/cbm2/std.h
index ee941ca580a..beb54e1fb2e 100644
--- a/src/devices/bus/cbm2/std.h
+++ b/src/devices/bus/cbm2/std.h
@@ -33,7 +33,7 @@ protected:
virtual void device_start() override;
// device_cbm2_expansion_card_interface overrides
- virtual uint8_t cbm2_bd_r(offs_t offset, uint8_t data, int csbank1, int csbank2, int csbank3) override;
+ virtual uint8_t cbm2_bd_r(address_space &space, offs_t offset, uint8_t data, int csbank1, int csbank2, int csbank3) override;
};
diff --git a/src/devices/bus/cbm2/user.h b/src/devices/bus/cbm2/user.h
index 6bb6bba33c6..aa963d0dccc 100644
--- a/src/devices/bus/cbm2/user.h
+++ b/src/devices/bus/cbm2/user.h
@@ -42,20 +42,20 @@ class cbm2_user_port_device;
class device_cbm2_user_port_interface : public device_slot_card_interface
{
public:
- virtual uint8_t cbm2_d1_r() { return 0xff; }
- virtual void cbm2_d1_w(uint8_t data) { }
+ virtual uint8_t cbm2_d1_r(address_space &space, offs_t offset) { return 0xff; };
+ virtual void cbm2_d1_w(address_space &space, offs_t offset, uint8_t data) { };
- virtual uint8_t cbm2_d2_r() { return 0xff; }
- virtual void cbm2_d2_w(uint8_t data) { }
+ virtual uint8_t cbm2_d2_r(address_space &space, offs_t offset) { return 0xff; };
+ virtual void cbm2_d2_w(address_space &space, offs_t offset, uint8_t data) { };
virtual int cbm2_pb2_r() { return 1; }
- virtual void cbm2_pb2_w(int state) { }
+ virtual void cbm2_pb2_w(int state) { };
virtual int cbm2_pb3_r() { return 1; }
- virtual void cbm2_pb3_w(int state) { }
+ virtual void cbm2_pb3_w(int state) { };
- virtual void cbm2_pc_w(int state) { }
- virtual void cbm2_cnt_w(int state) { }
- virtual void cbm2_sp_w(int state) { }
+ virtual void cbm2_pc_w(int state) { };
+ virtual void cbm2_cnt_w(int state) { };
+ virtual void cbm2_sp_w(int state) { };
protected:
// construction/destruction
@@ -89,10 +89,10 @@ public:
auto flag_callback() { return m_write_flag.bind(); }
// computer interface
- uint8_t d1_r() { uint8_t data = 0xff; if (m_card != nullptr) data = m_card->cbm2_d1_r(); return data; }
- void d1_w(uint8_t data) { if (m_card != nullptr) m_card->cbm2_d1_w(data); }
- uint8_t d2_r() { uint8_t data = 0xff; if (m_card != nullptr) data = m_card->cbm2_d2_r(); return data; }
- void d2_w(uint8_t data) { if (m_card != nullptr) m_card->cbm2_d2_w(data); }
+ DECLARE_READ8_MEMBER( d1_r ) { uint8_t data = 0xff; if (m_card != nullptr) data = m_card->cbm2_d1_r(space, offset); return data; }
+ DECLARE_WRITE8_MEMBER( d1_w ) { if (m_card != nullptr) m_card->cbm2_d1_w(space, offset, data); }
+ DECLARE_READ8_MEMBER( d2_r ) { uint8_t data = 0xff; if (m_card != nullptr) data = m_card->cbm2_d2_r(space, offset); return data; }
+ DECLARE_WRITE8_MEMBER( d2_w ) { if (m_card != nullptr) m_card->cbm2_d2_w(space, offset, data); }
DECLARE_READ_LINE_MEMBER( pb2_r ) { return m_card ? m_card->cbm2_pb2_r() : 1; }
DECLARE_WRITE_LINE_MEMBER( pb2_w ) { if (m_card != nullptr) m_card->cbm2_pb2_w(state); }
DECLARE_READ_LINE_MEMBER( pb3_r ) { return m_card ? m_card->cbm2_pb3_r() : 1; }
diff --git a/src/devices/bus/cbmiec/c1526.cpp b/src/devices/bus/cbmiec/c1526.cpp
index 7123782d42c..9a5fcc4dbb3 100644
--- a/src/devices/bus/cbmiec/c1526.cpp
+++ b/src/devices/bus/cbmiec/c1526.cpp
@@ -23,8 +23,8 @@
// DEVICE DEFINITIONS
//**************************************************************************
-DEFINE_DEVICE_TYPE(C1526, c1526_device, "c1526", "Commodore 1526/MPS802 Printer")
-DEFINE_DEVICE_TYPE(C4023, c4023_device, "c4023", "Commodore 4023 Printer")
+DEFINE_DEVICE_TYPE(C1526, c1526_device, "c1526", "MPS802/C1526 Printer")
+DEFINE_DEVICE_TYPE(C4023, c4023_device, "c4023", "C4023 Printer")
//-------------------------------------------------
@@ -88,22 +88,20 @@ void c1526_device_base::c1526_mem(address_map &map)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void c1526_device::device_add_mconfig(machine_config &config)
-{
- m6504_device &cpu(M6504(config, M6504_TAG, XTAL(4'000'000)/4));
- cpu.set_addrmap(AS_PROGRAM, &c1526_device::c1526_mem);
-}
+MACHINE_CONFIG_START(c1526_device::device_add_mconfig)
+ MCFG_DEVICE_ADD(M6504_TAG, M6504, XTAL(4'000'000)/4)
+ MCFG_DEVICE_PROGRAM_MAP(c1526_mem)
+MACHINE_CONFIG_END
//-------------------------------------------------
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void c4023_device::device_add_mconfig(machine_config &config)
-{
- m6504_device &cpu(M6504(config, M6504_TAG, XTAL(4'000'000)/4));
- cpu.set_addrmap(AS_PROGRAM, &c4023_device::c1526_mem);
-}
+MACHINE_CONFIG_START(c4023_device::device_add_mconfig)
+ MCFG_DEVICE_ADD(M6504_TAG, M6504, XTAL(4'000'000)/4)
+ MCFG_DEVICE_PROGRAM_MAP(c1526_mem)
+MACHINE_CONFIG_END
//-------------------------------------------------
diff --git a/src/devices/bus/cbmiec/c1541.cpp b/src/devices/bus/cbmiec/c1541.cpp
index 30b5eb8f255..17f2ff59084 100644
--- a/src/devices/bus/cbmiec/c1541.cpp
+++ b/src/devices/bus/cbmiec/c1541.cpp
@@ -161,17 +161,17 @@
// DEVICE DEFINITIONS
//**************************************************************************
-DEFINE_DEVICE_TYPE(C1540, c1540_device, "c1540", "Commodore 1540 Disk Drive")
-DEFINE_DEVICE_TYPE(C1541, c1541_device, "c1541", "Commodore 1541 Disk Drive")
-DEFINE_DEVICE_TYPE(C1541C, c1541c_device, "c1541c", "Commodore 1541C Disk Drive")
-DEFINE_DEVICE_TYPE(C1541II, c1541ii_device, "c1541ii", "Commodore 1541-II Disk Drive")
+DEFINE_DEVICE_TYPE(C1540, c1540_device, "c1540", "C1540 Disk Drive")
+DEFINE_DEVICE_TYPE(C1541, c1541_device, "c1541", "C1541 Disk Drive")
+DEFINE_DEVICE_TYPE(C1541C, c1541c_device, "c1541c", "C1541C Disk Drive")
+DEFINE_DEVICE_TYPE(C1541II, c1541ii_device, "c1541ii", "C1541-II Disk Drive")
DEFINE_DEVICE_TYPE(SX1541, sx1541_device, "sx1541", "SX1541 Disk Drive")
DEFINE_DEVICE_TYPE(FSD1, fsd1_device, "fsd1", "FSD-1 Disk Drive")
DEFINE_DEVICE_TYPE(FSD2, fsd2_device, "fsd2", "FSD-2 Disk Drive")
DEFINE_DEVICE_TYPE(CSD1, csd1_device, "csd1", "CSD-1 Disk Drive")
-DEFINE_DEVICE_TYPE(C1541_DOLPHIN_DOS, c1541_dolphin_dos_device, "c1541dd", "Commodore 1541 Dolphin-DOS 2.0 Disk Drive")
-DEFINE_DEVICE_TYPE(C1541_PROFESSIONAL_DOS_V1, c1541_professional_dos_v1_device, "c1541pd", "Commodore 1541 Professional-DOS v1 Disk Drive")
-DEFINE_DEVICE_TYPE(C1541_PROLOGIC_DOS_CLASSIC, c1541_prologic_dos_classic_device, "c1541pdc", "Commodore 1541 ProLogic-DOS Classic Disk Drive")
+DEFINE_DEVICE_TYPE(C1541_DOLPHIN_DOS, c1541_dolphin_dos_device, "c1541dd", "C1541 Dolphin-DOS 2.0 Disk Drive")
+DEFINE_DEVICE_TYPE(C1541_PROFESSIONAL_DOS_V1, c1541_professional_dos_v1_device, "c1541pd", "C1541 Professional-DOS v1 Disk Drive")
+DEFINE_DEVICE_TYPE(C1541_PROLOGIC_DOS_CLASSIC, c1541_prologic_dos_classic_device, "c1541pdc", "C1541 ProLogic-DOS Classic Disk Drive")
DEFINE_DEVICE_TYPE(INDUS_GT, indus_gt_device, "indusgt", "Indus GT Disk Drive")
@@ -762,12 +762,12 @@ FLOPPY_FORMATS_END
READ8_MEMBER( c1541_prologic_dos_classic_device::pia_r )
{
- return m_pia->read((offset >> 2) & 0x03);
+ return m_pia->read(space, (offset >> 2) & 0x03);
}
WRITE8_MEMBER( c1541_prologic_dos_classic_device::pia_w )
{
- m_pia->write((offset >> 2) & 0x03, data);
+ m_pia->write(space, (offset >> 2) & 0x03, data);
}
WRITE8_MEMBER( c1541_prologic_dos_classic_device::pia_pa_w )
diff --git a/src/devices/bus/cbmiec/c1571.cpp b/src/devices/bus/cbmiec/c1571.cpp
index 568cd646fe7..91fe7d4bd96 100644
--- a/src/devices/bus/cbmiec/c1571.cpp
+++ b/src/devices/bus/cbmiec/c1571.cpp
@@ -44,9 +44,9 @@
// DEVICE DEFINITIONS
//**************************************************************************
-DEFINE_DEVICE_TYPE(C1570, c1570_device, "c1570", "Commodore 1570 Disk Drive")
-DEFINE_DEVICE_TYPE(C1571, c1571_device, "c1571", "Commodore 1571 Disk Drive")
-DEFINE_DEVICE_TYPE(C1571CR, c1571cr_device, "c1571cr", "Commodore 1571CR Disk Drive")
+DEFINE_DEVICE_TYPE(C1570, c1570_device, "c1570", "C1570 Disk Drive")
+DEFINE_DEVICE_TYPE(C1571, c1571_device, "c1571", "C1571 Disk Drive")
+DEFINE_DEVICE_TYPE(C1571CR, c1571cr_device, "c1571cr", "C1571CR Disk Drive")
DEFINE_DEVICE_TYPE(MINI_CHIEF, mini_chief_device, "minichif", "ICT Mini Chief Disk Drive")
@@ -660,7 +660,7 @@ void c1571cr_device::device_add_mconfig(machine_config &config)
m_via0->writepa_handler().set(FUNC(c1571cr_device::via0_pa_w));
m_via0->writepb_handler().set(FUNC(c1571cr_device::via0_pb_w));
- //MOS5710(config, M5710_TAG, 16_MHz_XTAL / 16);
+ //MCFG_MOS5710_ADD(M5710_TAG, 16_MHz_XTAL / 16, 0)
}
@@ -672,8 +672,7 @@ void mini_chief_device::device_add_mconfig(machine_config &config)
m_maincpu->set_addrmap(AS_PROGRAM, &mini_chief_device::mini_chief_mem);
isa8_device &isa8(ISA8(config, ISA_BUS_TAG, 0));
- isa8.set_memspace(m_maincpu, AS_PROGRAM);
- isa8.set_iospace(m_maincpu, AS_PROGRAM);
+ isa8.set_cputag(m_maincpu);
ISA8_SLOT(config, "isa1", 0, ISA_BUS_TAG, mini_chief_isa8_cards, "wd1002a_wx1", false);
}
diff --git a/src/devices/bus/cbmiec/c1581.cpp b/src/devices/bus/cbmiec/c1581.cpp
index f589cb2f427..190cab5cd07 100644
--- a/src/devices/bus/cbmiec/c1581.cpp
+++ b/src/devices/bus/cbmiec/c1581.cpp
@@ -33,8 +33,8 @@
// DEVICE DEFINITIONS
//**************************************************************************
-DEFINE_DEVICE_TYPE(C1563, c1563_device, "c1563", "Commodore 1563 3.5 Disk Drive")
-DEFINE_DEVICE_TYPE(C1581, c1581_device, "c1581", "Commodore 1581 3.5 Disk Drive")
+DEFINE_DEVICE_TYPE(C1563, c1563_device, "c1563", "C1563 Disk Drive")
+DEFINE_DEVICE_TYPE(C1581, c1581_device, "c1581", "C1581 Disk Drive")
//-------------------------------------------------
@@ -267,23 +267,22 @@ FLOPPY_FORMATS_END
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void c1581_device::device_add_mconfig(machine_config &config)
-{
- M6502(config, m_maincpu, 16_MHz_XTAL / 8);
- m_maincpu->set_addrmap(AS_PROGRAM, &c1581_device::c1581_mem);
-
- MOS8520(config, m_cia, 16_MHz_XTAL / 8);
- m_cia->irq_wr_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0);
- m_cia->cnt_wr_callback().set(FUNC(c1581_device::cnt_w));
- m_cia->sp_wr_callback().set(FUNC(c1581_device::sp_w));
- m_cia->pa_rd_callback().set(FUNC(c1581_device::cia_pa_r));
- m_cia->pa_wr_callback().set(FUNC(c1581_device::cia_pa_w));
- m_cia->pb_rd_callback().set(FUNC(c1581_device::cia_pb_r));
- m_cia->pb_wr_callback().set(FUNC(c1581_device::cia_pb_w));
+MACHINE_CONFIG_START(c1581_device::device_add_mconfig)
+ MCFG_DEVICE_ADD(M6502_TAG, M6502, 16_MHz_XTAL / 8)
+ MCFG_DEVICE_PROGRAM_MAP(c1581_mem)
+
+ MCFG_DEVICE_ADD(M8520_TAG, MOS8520, 16_MHz_XTAL / 8)
+ MCFG_MOS6526_IRQ_CALLBACK(INPUTLINE(M6502_TAG, INPUT_LINE_IRQ0))
+ MCFG_MOS6526_CNT_CALLBACK(WRITELINE(*this, c1581_device, cnt_w))
+ MCFG_MOS6526_SP_CALLBACK(WRITELINE(*this, c1581_device, sp_w))
+ MCFG_MOS6526_PA_INPUT_CALLBACK(READ8(*this, c1581_device, cia_pa_r))
+ MCFG_MOS6526_PA_OUTPUT_CALLBACK(WRITE8(*this, c1581_device, cia_pa_w))
+ MCFG_MOS6526_PB_INPUT_CALLBACK(READ8(*this, c1581_device, cia_pb_r))
+ MCFG_MOS6526_PB_OUTPUT_CALLBACK(WRITE8(*this, c1581_device, cia_pb_w))
WD1772(config, m_fdc, 16_MHz_XTAL / 2);
FLOPPY_CONNECTOR(config, WD1772_TAG":0", c1581_floppies, "35dd", c1581_device::floppy_formats, true);
-}
+MACHINE_CONFIG_END
//-------------------------------------------------
diff --git a/src/devices/bus/cbmiec/cbmiec.h b/src/devices/bus/cbmiec/cbmiec.h
index ceb03d44948..4977bfc97be 100644
--- a/src/devices/bus/cbmiec/cbmiec.h
+++ b/src/devices/bus/cbmiec/cbmiec.h
@@ -21,6 +21,46 @@
#define CBM_IEC_TAG "iec_bus"
+
+//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_CBM_IEC_BUS_ADD() \
+ MCFG_DEVICE_ADD(CBM_IEC_TAG, CBM_IEC, 0)
+
+
+#define MCFG_CBM_IEC_BUS_SRQ_CALLBACK(_write) \
+ downcast<cbm_iec_device *>(device)->set_srq_callback(DEVCB_##_write);
+
+#define MCFG_CBM_IEC_BUS_ATN_CALLBACK(_write) \
+ downcast<cbm_iec_device *>(device)->set_atn_callback(DEVCB_##_write);
+
+#define MCFG_CBM_IEC_BUS_CLK_CALLBACK(_write) \
+ downcast<cbm_iec_device *>(device)->set_clk_callback(DEVCB_##_write);
+
+#define MCFG_CBM_IEC_BUS_DATA_CALLBACK(_write) \
+ downcast<cbm_iec_device *>(device)->set_data_callback(DEVCB_##_write);
+
+#define MCFG_CBM_IEC_BUS_RESET_CALLBACK(_write) \
+ downcast<cbm_iec_device *>(device)->set_reset_callback(DEVCB_##_write);
+
+
+#define MCFG_CBM_IEC_SLOT_ADD(_tag, _address, _slot_intf, _def_slot) \
+ MCFG_DEVICE_ADD(_tag, CBM_IEC_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false) \
+ downcast<cbm_iec_slot_device *>(device)->set_address(_address);
+
+
+#define MCFG_CBM_IEC_ADD(_default_drive) \
+ MCFG_CBM_IEC_SLOT_ADD("iec4", 4, cbm_iec_devices, nullptr) \
+ MCFG_CBM_IEC_SLOT_ADD("iec8", 8, cbm_iec_devices, _default_drive) \
+ MCFG_CBM_IEC_SLOT_ADD("iec9", 9, cbm_iec_devices, nullptr) \
+ MCFG_CBM_IEC_SLOT_ADD("iec10", 10, cbm_iec_devices, nullptr) \
+ MCFG_CBM_IEC_SLOT_ADD("iec11", 11, cbm_iec_devices, nullptr) \
+ MCFG_CBM_IEC_BUS_ADD()
+
+
void cbm_iec_devices(device_slot_interface &device);
//**************************************************************************
@@ -38,6 +78,11 @@ public:
// construction/destruction
cbm_iec_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ template <class Object> devcb_base &set_srq_callback(Object &&wr) { return m_write_srq.set_callback(std::forward<Object>(wr)); }
+ template <class Object> devcb_base &set_atn_callback(Object &&wr) { return m_write_atn.set_callback(std::forward<Object>(wr)); }
+ template <class Object> devcb_base &set_clk_callback(Object &&wr) { return m_write_clk.set_callback(std::forward<Object>(wr)); }
+ template <class Object> devcb_base &set_data_callback(Object &&wr) { return m_write_data.set_callback(std::forward<Object>(wr)); }
+ template <class Object> devcb_base &set_reset_callback(Object &&wr) { return m_write_reset.set_callback(std::forward<Object>(wr)); }
auto srq_callback() { return m_write_srq.bind(); }
auto atn_callback() { return m_write_atn.bind(); }
auto clk_callback() { return m_write_clk.bind(); }
diff --git a/src/devices/bus/cbmiec/interpod.cpp b/src/devices/bus/cbmiec/interpod.cpp
index ac87a55cf21..d6111dafe4d 100644
--- a/src/devices/bus/cbmiec/interpod.cpp
+++ b/src/devices/bus/cbmiec/interpod.cpp
@@ -123,17 +123,16 @@ void interpod_device::interpod_mem(address_map &map)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void interpod_device::device_add_mconfig(machine_config &config)
-{
- M6502(config, m_maincpu, 1000000);
- m_maincpu->set_addrmap(AS_PROGRAM, &interpod_device::interpod_mem);
+MACHINE_CONFIG_START(interpod_device::device_add_mconfig)
+ MCFG_DEVICE_ADD(R6502_TAG, M6502, 1000000)
+ MCFG_DEVICE_PROGRAM_MAP(interpod_mem)
- VIA6522(config, m_via, 1000000);
- MOS6532_NEW(config, m_riot, 1000000);
- ACIA6850(config, m_acia, 0);
+ MCFG_DEVICE_ADD(R6522_TAG, VIA6522, 1000000)
+ MCFG_DEVICE_ADD(R6532_TAG, MOS6532_NEW, 1000000)
+ MCFG_DEVICE_ADD(MC6850_TAG, ACIA6850, 0)
- ieee488_device::add_cbm_devices(config, nullptr);
-}
+ MCFG_CBM_IEEE488_ADD(nullptr)
+MACHINE_CONFIG_END
//**************************************************************************
diff --git a/src/devices/bus/cbmiec/interpod.h b/src/devices/bus/cbmiec/interpod.h
index 58c193286cf..cc6e07f7c7a 100644
--- a/src/devices/bus/cbmiec/interpod.h
+++ b/src/devices/bus/cbmiec/interpod.h
@@ -27,6 +27,16 @@
#define INTERPOD_TAG "interpod"
+
+//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_INTERPOD_ADD() \
+ MCFG_DEVICE_ADD(INTERPOD_TAG, INTERPOD, 0)
+
+
+
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
diff --git a/src/devices/bus/cbmiec/serialbox.cpp b/src/devices/bus/cbmiec/serialbox.cpp
index ab8326528d0..b14eca1f389 100644
--- a/src/devices/bus/cbmiec/serialbox.cpp
+++ b/src/devices/bus/cbmiec/serialbox.cpp
@@ -69,11 +69,10 @@ void serial_box_device::serial_box_mem(address_map &map)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void serial_box_device::device_add_mconfig(machine_config &config)
-{
- M65C02(config, m_maincpu, XTAL(4'000'000)/4);
- m_maincpu->set_addrmap(AS_PROGRAM, &serial_box_device::serial_box_mem);
-}
+MACHINE_CONFIG_START(serial_box_device::device_add_mconfig)
+ MCFG_DEVICE_ADD(M6502_TAG, M65C02, XTAL(4'000'000)/4)
+ MCFG_DEVICE_PROGRAM_MAP(serial_box_mem)
+MACHINE_CONFIG_END
diff --git a/src/devices/bus/cbmiec/vic1515.cpp b/src/devices/bus/cbmiec/vic1515.cpp
index 5accd8b6858..1afc47ce807 100644
--- a/src/devices/bus/cbmiec/vic1515.cpp
+++ b/src/devices/bus/cbmiec/vic1515.cpp
@@ -61,12 +61,11 @@ void vic1515_device::vic1515_io(address_map &map)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void vic1515_device::device_add_mconfig(machine_config &config)
-{
- i8039_device &maincpu(I8039(config, "maincpu", XTAL(6'000'000)));
- maincpu.set_addrmap(AS_PROGRAM, &vic1515_device::vic1515_mem);
- maincpu.set_addrmap(AS_IO, &vic1515_device::vic1515_io);
-}
+MACHINE_CONFIG_START(vic1515_device::device_add_mconfig)
+ MCFG_DEVICE_ADD("maincpu", I8039, XTAL(6'000'000))
+ MCFG_DEVICE_PROGRAM_MAP(vic1515_mem)
+ MCFG_DEVICE_IO_MAP(vic1515_io)
+MACHINE_CONFIG_END
//-------------------------------------------------
diff --git a/src/devices/bus/cbmiec/vic1520.cpp b/src/devices/bus/cbmiec/vic1520.cpp
index 8e535c230e6..0f515f8638a 100644
--- a/src/devices/bus/cbmiec/vic1520.cpp
+++ b/src/devices/bus/cbmiec/vic1520.cpp
@@ -94,11 +94,10 @@ void vic1520_device::vic1520_mem(address_map &map)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void vic1520_device::device_add_mconfig(machine_config &config)
-{
- m6502_device &cpu(M6502(config, M6500_1_TAG, XTAL(2'000'000))); // M6500/1
- cpu.set_addrmap(AS_PROGRAM, &vic1520_device::vic1520_mem);
-}
+MACHINE_CONFIG_START(vic1520_device::device_add_mconfig)
+ MCFG_DEVICE_ADD(M6500_1_TAG, M6502, XTAL(2'000'000)) // M6500/1
+ MCFG_DEVICE_PROGRAM_MAP(vic1520_mem)
+MACHINE_CONFIG_END
//-------------------------------------------------
diff --git a/src/devices/bus/cbus/pc9801_118.cpp b/src/devices/bus/cbus/pc9801_118.cpp
index a9271ecb0bf..96f0d0b4091 100644
--- a/src/devices/bus/cbus/pc9801_118.cpp
+++ b/src/devices/bus/cbus/pc9801_118.cpp
@@ -141,7 +141,7 @@ void pc9801_118_device::device_reset()
READ8_MEMBER(pc9801_118_device::opn3_r)
{
if(((offset & 5) == 0) || m_ext_reg)
- return m_opn3->read(offset >> 1);
+ return m_opn3->read(space, offset >> 1);
else // odd
{
//printf("PC9801-118: Read to undefined port [%02x]\n",offset+0x188);
@@ -153,7 +153,7 @@ READ8_MEMBER(pc9801_118_device::opn3_r)
WRITE8_MEMBER(pc9801_118_device::opn3_w)
{
if(((offset & 5) == 0) || m_ext_reg)
- m_opn3->write(offset >> 1,data);
+ m_opn3->write(space, offset >> 1,data);
//else // odd
// printf("PC9801-118: Write to undefined port [%02x] %02x\n",offset+0x188,data);
}
diff --git a/src/devices/bus/cbus/pc9801_26.cpp b/src/devices/bus/cbus/pc9801_26.cpp
index 603ea4a80b3..41141476483 100644
--- a/src/devices/bus/cbus/pc9801_26.cpp
+++ b/src/devices/bus/cbus/pc9801_26.cpp
@@ -146,7 +146,7 @@ READ8_MEMBER(pc9801_26_device::opn_r)
{
if((offset & 1) == 0)
{
- return offset & 4 ? 0xff : m_opn->read(offset >> 1);
+ return offset & 4 ? 0xff : m_opn->read(space, offset >> 1);
}
else // odd
{
@@ -159,7 +159,7 @@ READ8_MEMBER(pc9801_26_device::opn_r)
WRITE8_MEMBER(pc9801_26_device::opn_w)
{
if((offset & 5) == 0)
- m_opn->write(offset >> 1, data);
+ m_opn->write(space, offset >> 1, data);
else // odd
printf("PC9801-26: Write to undefined port [%02x] %02x\n",offset+0x188,data);
}
diff --git a/src/devices/bus/cbus/pc9801_86.cpp b/src/devices/bus/cbus/pc9801_86.cpp
index d9d6150a9fa..04c1feb4cf8 100644
--- a/src/devices/bus/cbus/pc9801_86.cpp
+++ b/src/devices/bus/cbus/pc9801_86.cpp
@@ -47,8 +47,7 @@ WRITE_LINE_MEMBER(pc9801_86_device::sound_irq)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void pc9801_86_device::pc9801_86_config(machine_config &config)
-{
+MACHINE_CONFIG_START(pc9801_86_device::pc9801_86_config)
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
YM2608(config, m_opna, 7.987_MHz_XTAL);
@@ -63,19 +62,16 @@ void pc9801_86_device::pc9801_86_config(machine_config &config)
m_opna->add_route(1, "lspeaker", 1.00);
m_opna->add_route(2, "rspeaker", 1.00);
- DAC_16BIT_R2R_TWOS_COMPLEMENT(config, m_ldac, 0).add_route(ALL_OUTPUTS, "lspeaker", 1.0); // burr brown pcm61p
- DAC_16BIT_R2R_TWOS_COMPLEMENT(config, m_rdac, 0).add_route(ALL_OUTPUTS, "rspeaker", 1.0); // burr brown pcm61p
- voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref"));
- vref.add_route(0, "ldac", 1.0, DAC_VREF_POS_INPUT);
- vref.add_route(0, "ldac", -1.0, DAC_VREF_NEG_INPUT);
- vref.add_route(0, "rdac", 1.0, DAC_VREF_POS_INPUT);
- vref.add_route(0, "rdac", -1.0, DAC_VREF_NEG_INPUT);
-}
+ MCFG_DEVICE_ADD("ldac", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) // burr brown pcm61p
+ MCFG_DEVICE_ADD("rdac", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0) // burr brown pcm61p
+ MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
+ MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
+MACHINE_CONFIG_END
-void pc9801_86_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(pc9801_86_device::device_add_mconfig)
pc9801_86_config(config);
-}
+MACHINE_CONFIG_END
// to load a different bios for slots:
// -cbusX pc9801_86,bios=N
@@ -201,7 +197,7 @@ void pc9801_86_device::device_reset()
READ8_MEMBER(pc9801_86_device::opna_r)
{
if((offset & 1) == 0)
- return m_opna->read(offset >> 1);
+ return m_opna->read(space, offset >> 1);
else // odd
{
logerror("PC9801-86: Read to undefined port [%02x]\n",offset+0x188);
@@ -212,7 +208,7 @@ READ8_MEMBER(pc9801_86_device::opna_r)
WRITE8_MEMBER(pc9801_86_device::opna_w)
{
if((offset & 1) == 0)
- m_opna->write(offset >> 1,data);
+ m_opna->write(space, offset >> 1,data);
else // odd
logerror("PC9801-86: Write to undefined port [%02x] %02x\n",offset+0x188,data);
}
@@ -423,7 +419,7 @@ void pc9801_speakboard_device::device_reset()
READ8_MEMBER(pc9801_speakboard_device::opna_slave_r)
{
if((offset & 1) == 0)
- return m_opna_slave->read(offset >> 1);
+ return m_opna_slave->read(space, offset >> 1);
else // odd
{
logerror("PC9801-SPB: Read to undefined port [%02x]\n",offset+0x588);
@@ -434,7 +430,7 @@ READ8_MEMBER(pc9801_speakboard_device::opna_slave_r)
WRITE8_MEMBER(pc9801_speakboard_device::opna_slave_w)
{
if((offset & 1) == 0)
- m_opna_slave->write(offset >> 1,data);
+ m_opna_slave->write(space, offset >> 1,data);
else // odd
logerror("PC9801-SPB: Write to undefined port [%02x] %02x\n",offset+0x588,data);
}
diff --git a/src/devices/bus/cbus/pc9801_amd98.cpp b/src/devices/bus/cbus/pc9801_amd98.cpp
index ca7b32e7b4e..f7207aabd21 100644
--- a/src/devices/bus/cbus/pc9801_amd98.cpp
+++ b/src/devices/bus/cbus/pc9801_amd98.cpp
@@ -149,9 +149,9 @@ READ8_MEMBER(pc9801_amd98_device::read)
switch(offset)
{
case 2:
- return m_ay1->data_r();
+ return m_ay1->data_r(space,0);
case 3:
- return m_ay2->data_r();
+ return m_ay2->data_r(space,0);
}
printf("%02x\n",offset);
@@ -164,16 +164,16 @@ WRITE8_MEMBER(pc9801_amd98_device::write)
switch(offset)
{
case 0:
- m_ay1->address_w(data);
+ m_ay1->address_w(space,0,data);
break;
case 1:
- m_ay2->address_w(data);
+ m_ay2->address_w(space,0,data);
break;
case 2:
- m_ay1->data_w(data);
+ m_ay1->data_w(space,0,data);
break;
case 3:
- m_ay2->data_w(data);
+ m_ay2->data_w(space,0,data);
break;
default:
printf("%02x %02x\n",offset,data);
@@ -192,11 +192,11 @@ WRITE8_MEMBER(pc9801_amd98_device::ay3_data_latch_w)
{
case 0x47:
//printf("%02x addr\n",m_ay3_latch);
- m_ay3->address_w(m_ay3_latch);
+ m_ay3->address_w(space,0,m_ay3_latch);
break;
case 0x43:
//printf("%02x data\n",m_ay3_latch);
- m_ay3->data_w(m_ay3_latch);
+ m_ay3->data_w(space,0,m_ay3_latch);
break;
}
}
diff --git a/src/devices/bus/cbus/pc9801_cbus.cpp b/src/devices/bus/cbus/pc9801_cbus.cpp
index 5a53eddcce7..eb62af6daaa 100644
--- a/src/devices/bus/cbus/pc9801_cbus.cpp
+++ b/src/devices/bus/cbus/pc9801_cbus.cpp
@@ -55,8 +55,7 @@ device_pc9801cbus_card_interface::~device_pc9801cbus_card_interface()
pc9801_slot_device::pc9801_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, PC9801CBUS_SLOT, tag, owner, clock),
device_slot_interface(mconfig, *this),
- m_memspace(*this, finder_base::DUMMY_TAG, -1),
- m_iospace(*this, finder_base::DUMMY_TAG, -1),
+ m_cpu(*this, finder_base::DUMMY_TAG),
m_int_callback{{*this}, {*this}, {*this}, {*this}, {*this}, {*this}, {*this}}
{
}
@@ -98,17 +97,17 @@ void pc9801_slot_device::device_start()
void pc9801_slot_device::install_io(offs_t start, offs_t end, read8_delegate rhandler, write8_delegate whandler)
{
- int buswidth = m_iospace->data_width();
+ int buswidth = this->io_space().data_width();
switch(buswidth)
{
case 8:
- m_iospace->install_readwrite_handler(start, end, rhandler, whandler, 0);
+ this->io_space().install_readwrite_handler(start, end, rhandler, whandler, 0);
break;
case 16:
- m_iospace->install_readwrite_handler(start, end, rhandler, whandler, 0xffff);
+ this->io_space().install_readwrite_handler(start, end, rhandler, whandler, 0xffff);
break;
case 32:
- m_iospace->install_readwrite_handler(start, end, rhandler, whandler, 0xffffffff);
+ this->io_space().install_readwrite_handler(start, end, rhandler, whandler, 0xffffffff);
break;
default:
fatalerror("PC-9801-26: Bus width %d not supported\n", buswidth);
diff --git a/src/devices/bus/cbus/pc9801_cbus.h b/src/devices/bus/cbus/pc9801_cbus.h
index e094693f06c..400cfa67d27 100644
--- a/src/devices/bus/cbus/pc9801_cbus.h
+++ b/src/devices/bus/cbus/pc9801_cbus.h
@@ -2,60 +2,6 @@
// copyright-holders:Angelo Salese
/**********************************************************************
- <B> <A>
- +------+
- GND |[ 01 ]| GND
- V1 |[ 02 ]| V1
- V2 |[ 03 ]| V2
- DB001 |[ 04 ]| AB001
- DB011 |[ 05 ]| AB011
- DB021 |[ 06 ]| AB021
- DB031 |[ 07 ]| AB031
- DB041 |[ 08 ]| AB041
- DB051 |[ 09 ]| AB051
- DB061 |[ 10 ]| AB061
- GND |[ 11 ]| GND
- DB071 |[ 12 ]| AB071
- DB081 |[ 13 ]| AB081
- DB091 |[ 14 ]| AB091
- DB101 |[ 15 ]| AB101
- DB111 |[ 16 ]| AB111
- DB121 |[ 17 ]| AB121
- DB131 |[ 18 ]| AB131
- DB141 |[ 19 ]| AB141
- DB151 |[ 20 ]| AB151
- GND |[ 21 ]| GND
- +12 V |[ 22 ]| AB161
- +12 V |[ 23 ]| AB171
- "INT0" IR31 |[ 24 ]| AB181
- "INT1" IR51 |[ 25 ]| AB191
- "INT2" IR61 |[ 26 ]| AB201
- "INT3" IR91 |[ 27 ]| AB211
- "INT4" IR101/IR111 |[ 28 ]| AB221
- "INT5" IR121 |[ 29 ]| AB231
- "INT6" IR131 |[ 30 ]| INT0
- GND |[ 31 ]| GND
- -12 V |[ 32 ]| IOCHK0
- -12 V |[ 33 ]| IOR0
- RESET0 |[ 34 ]| IOW0
- DACK00 |[ 35 ]| MRC0
- DACK30/DACK20 |[ 36 ]| MWC0
- DRQ00 |[ 37 ]| S00 (INTA0)
- DRQ30/DRQ20 |[ 38 ]| S10 (NOWAIT0)
- WORD0 |[ 39 ]| S20 (SALE1)
- (EXHRQ10) CPKILL0 |[ 40 ]| LOCK (MACS0)
- GND |[ 41 ]| GND
- (EXHLA10) RQGT0 |[ 42 ]| CPUENB10
- DMATC0 |[ 43 ]| RFSH0
- NMI0 |[ 44 ]| BHE0
- MWE0 |[ 45 ]| IORDY1
- (EXHLA20) HLDA00 |[ 46 ]| SCLK1
- (EXHRQ20) HRQ00 |[ 47 ]| S18CLK1 = 307.2 kHz
- (SUBSRQ1) DMAHLD0 |[ 48 ]| POWER0
- +5 V |[ 49 ]| +5 V
- +5 V |[ 50 ]| +5 V
- +------+
- <B> <A>
**********************************************************************/
#ifndef MAME_MACHINE_PC9801_CBUS_H
@@ -64,6 +10,43 @@
#pragma once
+
+
+//**************************************************************************
+// CONSTANTS
+//**************************************************************************
+
+
+
+//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_PC9801CBUS_CPU(_cputag) \
+ downcast<pc9801_slot_device &>(*device).set_cpu_tag(_cputag);
+
+#define MCFG_PC9801CBUS_INT0_CALLBACK(_devcb) \
+ downcast<pc9801_slot_device &>(*device).set_int_callback<0>(DEVCB_##_devcb);
+
+#define MCFG_PC9801CBUS_INT1_CALLBACK(_devcb) \
+ downcast<pc9801_slot_device &>(*device).set_int_callback<1>(DEVCB_##_devcb);
+
+#define MCFG_PC9801CBUS_INT2_CALLBACK(_devcb) \
+ downcast<pc9801_slot_device &>(*device).set_int_callback<2>(DEVCB_##_devcb);
+
+#define MCFG_PC9801CBUS_INT3_CALLBACK(_devcb) \
+ downcast<pc9801_slot_device &>(*device).set_int_callback<3>(DEVCB_##_devcb);
+
+#define MCFG_PC9801CBUS_INT4_CALLBACK(_devcb) \
+ downcast<pc9801_slot_device &>(*device).set_int_callback<4>(DEVCB_##_devcb);
+
+#define MCFG_PC9801CBUS_INT5_CALLBACK(_devcb) \
+ downcast<pc9801_slot_device &>(*device).set_int_callback<5>(DEVCB_##_devcb);
+
+#define MCFG_PC9801CBUS_INT6_CALLBACK(_devcb) \
+ downcast<pc9801_slot_device &>(*device).set_int_callback<6>(DEVCB_##_devcb);
+
+
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -91,10 +74,11 @@ class pc9801_slot_device : public device_t, public device_slot_interface
{
public:
// construction/destruction
- template <typename T>
- pc9801_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt)
+ template <typename T, typename U>
+ pc9801_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&cpu_tag, U &&opts, char const *dflt)
: pc9801_slot_device(mconfig, tag, owner, (uint32_t)0)
{
+ m_cpu.set_tag(std::forward<T>(cpu_tag));
option_reset();
opts(*this);
set_default_option(dflt);
@@ -102,14 +86,11 @@ public:
}
pc9801_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- template <typename T> void set_memspace(T &&tag, int spacenum) { m_memspace.set_tag(std::forward<T>(tag), spacenum); }
- template <typename T> void set_iospace(T &&tag, int spacenum) { m_iospace.set_tag(std::forward<T>(tag), spacenum); }
-
// configuration access
template<std::size_t Line> auto int_cb() { return m_int_callback[Line].bind(); }
- address_space &program_space() const { return *m_memspace; }
- address_space &io_space() const { return *m_iospace; }
+ address_space &program_space() const { return m_cpu->space(AS_PROGRAM); }
+ address_space &io_space() const { return m_cpu->space(AS_IO); }
template<int I> void int_w(bool state) { m_int_callback[I](state); }
void install_io(offs_t start, offs_t end, read8_delegate rhandler, write8_delegate whandler);
@@ -121,8 +102,7 @@ protected:
private:
// device_pc9801_slot_card_interface *m_card;
- required_address_space m_memspace;
- required_address_space m_iospace;
+ required_device<cpu_device> m_cpu;
devcb_write_line m_int_callback[7];
};
diff --git a/src/devices/bus/centronics/comxpl80.cpp b/src/devices/bus/centronics/comxpl80.cpp
index 17fd3165f8d..afdce31a8bf 100644
--- a/src/devices/bus/centronics/comxpl80.cpp
+++ b/src/devices/bus/centronics/comxpl80.cpp
@@ -86,12 +86,11 @@ void comx_pl80_device::comxpl80_mem(address_map &map)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void comx_pl80_device::device_add_mconfig(machine_config &config)
-{
- m6805_device &cx005(M6805(config, CX005_TAG, 4000000)); // CX005: some kind of MC6805/MC68HC05 clone
- cx005.set_addrmap(AS_PROGRAM, &comx_pl80_device::comxpl80_mem);
- cx005.set_disable();
-}
+MACHINE_CONFIG_START(comx_pl80_device::device_add_mconfig)
+ MCFG_DEVICE_ADD(CX005_TAG, M6805, 4000000) // CX005: some kind of MC6805/MC68HC05 clone
+ MCFG_DEVICE_PROGRAM_MAP(comxpl80_mem)
+ MCFG_DEVICE_DISABLE()
+MACHINE_CONFIG_END
//-------------------------------------------------
diff --git a/src/devices/bus/centronics/covox.cpp b/src/devices/bus/centronics/covox.cpp
index 6cafe74cb42..e508578ffe6 100644
--- a/src/devices/bus/centronics/covox.cpp
+++ b/src/devices/bus/centronics/covox.cpp
@@ -38,15 +38,13 @@ centronics_covox_device::centronics_covox_device(const machine_config &mconfig,
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void centronics_covox_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(centronics_covox_device::device_add_mconfig)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
- DAC_8BIT_R2R(config, m_dac, 0).add_route(ALL_OUTPUTS, "speaker", 0.5); // unknown DAC
- voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref"));
- vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
- vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT);
-}
+ MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC
+ MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+MACHINE_CONFIG_END
void centronics_covox_device::device_start()
{
@@ -89,19 +87,16 @@ centronics_covox_stereo_device::centronics_covox_stereo_device(const machine_con
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void centronics_covox_stereo_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(centronics_covox_stereo_device::device_add_mconfig)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
- DAC_8BIT_R2R(config, m_ldac, 0).add_route(ALL_OUTPUTS, "lspeaker", 0.5); // unknown DAC
- DAC_8BIT_R2R(config, m_rdac, 0).add_route(ALL_OUTPUTS, "rspeaker", 0.5); // unknown DAC
- voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref"));
- vref.add_route(0, "ldac", 1.0, DAC_VREF_POS_INPUT);
- vref.add_route(0, "ldac", -1.0, DAC_VREF_NEG_INPUT);
- vref.add_route(0, "rdac", 1.0, DAC_VREF_POS_INPUT);
- vref.add_route(0, "rdac", -1.0, DAC_VREF_NEG_INPUT);
-}
+ MCFG_DEVICE_ADD("ldac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.5) // unknown DAC
+ MCFG_DEVICE_ADD("rdac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.5) // unknown DAC
+ MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
+ MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
+MACHINE_CONFIG_END
void centronics_covox_stereo_device::device_start()
{
diff --git a/src/devices/bus/centronics/ctronics.h b/src/devices/bus/centronics/ctronics.h
index 7189c465e98..c05d59a94c1 100644
--- a/src/devices/bus/centronics/ctronics.h
+++ b/src/devices/bus/centronics/ctronics.h
@@ -14,6 +14,68 @@
#include "machine/output_latch.h"
+#define MCFG_CENTRONICS_STROBE_HANDLER(_devcb) \
+ downcast<centronics_device &>(*device).set_strobe_handler(DEVCB_##_devcb);
+
+#define MCFG_CENTRONICS_DATA0_HANDLER(_devcb) \
+ downcast<centronics_device &>(*device).set_data0_handler(DEVCB_##_devcb);
+
+#define MCFG_CENTRONICS_DATA1_HANDLER(_devcb) \
+ downcast<centronics_device &>(*device).set_data1_handler(DEVCB_##_devcb);
+
+#define MCFG_CENTRONICS_DATA2_HANDLER(_devcb) \
+ downcast<centronics_device &>(*device).set_data2_handler(DEVCB_##_devcb);
+
+#define MCFG_CENTRONICS_DATA3_HANDLER(_devcb) \
+ downcast<centronics_device &>(*device).set_data3_handler(DEVCB_##_devcb);
+
+#define MCFG_CENTRONICS_DATA4_HANDLER(_devcb) \
+ downcast<centronics_device &>(*device).set_data4_handler(DEVCB_##_devcb);
+
+#define MCFG_CENTRONICS_DATA5_HANDLER(_devcb) \
+ downcast<centronics_device &>(*device).set_data5_handler(DEVCB_##_devcb);
+
+#define MCFG_CENTRONICS_DATA6_HANDLER(_devcb) \
+ downcast<centronics_device &>(*device).set_data6_handler(DEVCB_##_devcb);
+
+#define MCFG_CENTRONICS_DATA7_HANDLER(_devcb) \
+ downcast<centronics_device &>(*device).set_data7_handler(DEVCB_##_devcb);
+
+#define MCFG_CENTRONICS_ACK_HANDLER(_devcb) \
+ downcast<centronics_device &>(*device).set_ack_handler(DEVCB_##_devcb);
+
+#define MCFG_CENTRONICS_BUSY_HANDLER(_devcb) \
+ downcast<centronics_device &>(*device).set_busy_handler(DEVCB_##_devcb);
+
+#define MCFG_CENTRONICS_PERROR_HANDLER(_devcb) \
+ downcast<centronics_device &>(*device).set_perror_handler(DEVCB_##_devcb);
+
+#define MCFG_CENTRONICS_SELECT_HANDLER(_devcb) \
+ downcast<centronics_device &>(*device).set_select_handler(DEVCB_##_devcb);
+
+#define MCFG_CENTRONICS_AUTOFD_HANDLER(_devcb) \
+ downcast<centronics_device &>(*device).set_autofd_handler(DEVCB_##_devcb);
+
+#define MCFG_CENTRONICS_FAULT_HANDLER(_devcb) \
+ downcast<centronics_device &>(*device).set_fault_handler(DEVCB_##_devcb);
+
+#define MCFG_CENTRONICS_INIT_HANDLER(_devcb) \
+ downcast<centronics_device &>(*device).set_init_handler(DEVCB_##_devcb);
+
+#define MCFG_CENTRONICS_SELECT_IN_HANDLER(_devcb) \
+ downcast<centronics_device &>(*device).set_select_in_handler(DEVCB_##_devcb);
+
+#define MCFG_CENTRONICS_OUTPUT_LATCH_ADD(_tag, _centronics_tag) \
+ MCFG_DEVICE_ADD(_tag, OUTPUT_LATCH, 0) \
+ MCFG_OUTPUT_LATCH_BIT0_HANDLER(WRITELINE(_centronics_tag, centronics_device, write_data0)) \
+ MCFG_OUTPUT_LATCH_BIT1_HANDLER(WRITELINE(_centronics_tag, centronics_device, write_data1)) \
+ MCFG_OUTPUT_LATCH_BIT2_HANDLER(WRITELINE(_centronics_tag, centronics_device, write_data2)) \
+ MCFG_OUTPUT_LATCH_BIT3_HANDLER(WRITELINE(_centronics_tag, centronics_device, write_data3)) \
+ MCFG_OUTPUT_LATCH_BIT4_HANDLER(WRITELINE(_centronics_tag, centronics_device, write_data4)) \
+ MCFG_OUTPUT_LATCH_BIT5_HANDLER(WRITELINE(_centronics_tag, centronics_device, write_data5)) \
+ MCFG_OUTPUT_LATCH_BIT6_HANDLER(WRITELINE(_centronics_tag, centronics_device, write_data6)) \
+ MCFG_OUTPUT_LATCH_BIT7_HANDLER(WRITELINE(_centronics_tag, centronics_device, write_data7))
+
DECLARE_DEVICE_TYPE(CENTRONICS, centronics_device)
class device_centronics_peripheral_interface;
@@ -35,6 +97,24 @@ public:
}
centronics_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ template <class Object> devcb_base &set_strobe_handler(Object &&cb) { return m_strobe_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_data0_handler(Object &&cb) { return m_data0_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_data1_handler(Object &&cb) { return m_data1_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_data2_handler(Object &&cb) { return m_data2_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_data3_handler(Object &&cb) { return m_data3_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_data4_handler(Object &&cb) { return m_data4_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_data5_handler(Object &&cb) { return m_data5_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_data6_handler(Object &&cb) { return m_data6_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_data7_handler(Object &&cb) { return m_data7_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_ack_handler(Object &&cb) { return m_ack_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_busy_handler(Object &&cb) { return m_busy_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_perror_handler(Object &&cb) { return m_perror_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_select_handler(Object &&cb) { return m_select_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_autofd_handler(Object &&cb) { return m_autofd_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_fault_handler(Object &&cb) { return m_fault_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_init_handler(Object &&cb) { return m_init_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_select_in_handler(Object &&cb) { return m_select_in_handler.set_callback(std::forward<Object>(cb)); }
+
auto strobe_handler() { return m_strobe_handler.bind(); }
auto ack_handler() { return m_ack_handler.bind(); }
diff --git a/src/devices/bus/centronics/digiblst.cpp b/src/devices/bus/centronics/digiblst.cpp
index 97a37054172..99a046f4d13 100644
--- a/src/devices/bus/centronics/digiblst.cpp
+++ b/src/devices/bus/centronics/digiblst.cpp
@@ -38,15 +38,13 @@ centronics_digiblaster_device::centronics_digiblaster_device(const machine_confi
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void centronics_digiblaster_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(centronics_digiblaster_device::device_add_mconfig)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
- DAC_8BIT_R2R(config, m_dac, 0).add_route(ALL_OUTPUTS, "speaker", 0.5); // unknown DAC
- voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref"));
- vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
- vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT);
-}
+ MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC
+ MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+MACHINE_CONFIG_END
void centronics_digiblaster_device::device_start()
{
diff --git a/src/devices/bus/centronics/epson_lx810l.cpp b/src/devices/bus/centronics/epson_lx810l.cpp
index 0a0d9668cfc..848f1246a90 100644
--- a/src/devices/bus/centronics/epson_lx810l.cpp
+++ b/src/devices/bus/centronics/epson_lx810l.cpp
@@ -142,6 +142,7 @@ void epson_lx810l_device::device_add_mconfig(machine_config &config)
SPEAKER(config, "speaker").front_center();
DAC_1BIT(config, "dac", 0).add_route(ALL_OUTPUTS, "speaker", 0.25);
voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref"));
+ vref.set_output(5.0);
vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
/* gate array */
diff --git a/src/devices/bus/centronics/nec_p72.cpp b/src/devices/bus/centronics/nec_p72.cpp
index c3a9ddd2ab2..cd7914a0bde 100644
--- a/src/devices/bus/centronics/nec_p72.cpp
+++ b/src/devices/bus/centronics/nec_p72.cpp
@@ -49,12 +49,12 @@ void nec_p72_device::p72_mem(address_map &map)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void nec_p72_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(nec_p72_device::device_add_mconfig)
/* basic machine hardware */
- V33(config, m_maincpu, XTAL(16'000'000)/2); /* TODO it's actually a V40 */
- m_maincpu->set_addrmap(AS_PROGRAM, &nec_p72_device::p72_mem);
-}
+ MCFG_DEVICE_ADD("maincpu", V33, XTAL(16'000'000)/2) /* TODO it's actually a V40 */
+ MCFG_DEVICE_PROGRAM_MAP(p72_mem)
+
+MACHINE_CONFIG_END
//-------------------------------------------------
diff --git a/src/devices/bus/centronics/printer.cpp b/src/devices/bus/centronics/printer.cpp
index 484e718d074..129e53426f4 100644
--- a/src/devices/bus/centronics/printer.cpp
+++ b/src/devices/bus/centronics/printer.cpp
@@ -32,11 +32,10 @@ centronics_printer_device::centronics_printer_device(const machine_config &mconf
//-------------------------------------------------
-void centronics_printer_device::device_add_mconfig(machine_config &config)
-{
- PRINTER(config, m_printer, 0);
- m_printer->online_callback().set(FUNC(centronics_printer_device::printer_online));
-}
+MACHINE_CONFIG_START(centronics_printer_device::device_add_mconfig)
+ MCFG_DEVICE_ADD("printer", PRINTER, 0)
+ MCFG_PRINTER_ONLINE_CB(WRITELINE(*this, centronics_printer_device, printer_online))
+MACHINE_CONFIG_END
/*-------------------------------------------------
printer_online - callback that
diff --git a/src/devices/bus/cgenie/expansion/expansion.cpp b/src/devices/bus/cgenie/expansion/expansion.cpp
index 3a7665f7c2b..366b1513aca 100644
--- a/src/devices/bus/cgenie/expansion/expansion.cpp
+++ b/src/devices/bus/cgenie/expansion/expansion.cpp
@@ -30,8 +30,8 @@ DEFINE_DEVICE_TYPE(CG_EXP_SLOT, cg_exp_slot_device, "cg_exp_slot", "Colour Genie
cg_exp_slot_device::cg_exp_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, CG_EXP_SLOT, tag, owner, clock),
device_slot_interface(mconfig, *this),
- m_program(*this, finder_base::DUMMY_TAG, -1),
- m_io(*this, finder_base::DUMMY_TAG, -1),
+ m_program(nullptr),
+ m_io(nullptr),
m_cart(nullptr),
m_int_handler(*this),
m_nmi_handler(*this),
@@ -67,6 +67,24 @@ void cg_exp_slot_device::device_reset()
{
}
+//-------------------------------------------------
+// set_program_space - set address space we are attached to
+//-------------------------------------------------
+
+void cg_exp_slot_device::set_program_space(address_space *program)
+{
+ m_program = program;
+}
+
+//-------------------------------------------------
+// set_io_space - set address space we are attached to
+//-------------------------------------------------
+
+void cg_exp_slot_device::set_io_space(address_space *io)
+{
+ m_io = io;
+}
+
//**************************************************************************
// CARTRIDGE INTERFACE
diff --git a/src/devices/bus/cgenie/expansion/expansion.h b/src/devices/bus/cgenie/expansion/expansion.h
index 3f61b275c19..2dd6f659f5e 100644
--- a/src/devices/bus/cgenie/expansion/expansion.h
+++ b/src/devices/bus/cgenie/expansion/expansion.h
@@ -39,8 +39,24 @@
#pragma once
-// include here so drivers don't need to
-#include "carts.h"
+
+
+//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_CG_EXP_SLOT_ADD(_tag) \
+ MCFG_DEVICE_ADD(_tag, CG_EXP_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(cg_exp_slot_carts, nullptr, false)
+
+#define MCFG_CG_EXP_SLOT_INT_HANDLER(_devcb) \
+ downcast<cg_exp_slot_device &>(*device).set_int_handler(DEVCB_##_devcb);
+
+#define MCFG_CG_EXP_SLOT_NMI_HANDLER(_devcb) \
+ downcast<cg_exp_slot_device &>(*device).set_nmi_handler(DEVCB_##_devcb);
+
+#define MCFG_CG_EXP_SLOT_RESET_HANDLER(_devcb) \
+ downcast<cg_exp_slot_device &>(*device).set_reset_handler(DEVCB_##_devcb);
//**************************************************************************
@@ -53,32 +69,24 @@ class cg_exp_slot_device : public device_t, public device_slot_interface
{
public:
// construction/destruction
- cg_exp_slot_device(machine_config const &mconfig, char const *tag, device_t *owner)
- : cg_exp_slot_device(mconfig, tag, owner, (uint32_t)0)
- {
- option_reset();
- cg_exp_slot_carts(*this);
- set_default_option(nullptr);
- set_fixed(false);
- }
cg_exp_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~cg_exp_slot_device();
- template <typename T> void set_program_space(T &&tag, int spacenum) { m_program.set_tag(std::forward<T>(tag), spacenum); }
- template <typename T> void set_io_space(T &&tag, int spacenum) { m_io.set_tag(std::forward<T>(tag), spacenum); }
+ void set_program_space(address_space *program);
+ void set_io_space(address_space *io);
// callbacks
- auto int_handler() { return m_int_handler.bind(); }
- auto nmi_handler() { return m_nmi_handler.bind(); }
- auto reset_handler() { return m_reset_handler.bind(); }
+ template <class Object> devcb_base &set_int_handler(Object &&cb) { return m_int_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_nmi_handler(Object &&cb) { return m_nmi_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_reset_handler(Object &&cb) { return m_reset_handler.set_callback(std::forward<Object>(cb)); }
// called from cart device
DECLARE_WRITE_LINE_MEMBER( int_w ) { m_int_handler(state); }
DECLARE_WRITE_LINE_MEMBER( nmi_w ) { m_nmi_handler(state); }
DECLARE_WRITE_LINE_MEMBER( reset_w ) { m_reset_handler(state); }
- required_address_space m_program;
- required_address_space m_io;
+ address_space *m_program;
+ address_space *m_io;
protected:
// device-level overrides
@@ -109,4 +117,7 @@ protected:
// device type definition
DECLARE_DEVICE_TYPE(CG_EXP_SLOT, cg_exp_slot_device)
+// include here so drivers don't need to
+#include "carts.h"
+
#endif // MAME_BUS_CGENIE_EXPANSION_EXPANSION_H
diff --git a/src/devices/bus/cgenie/expansion/floppy.cpp b/src/devices/bus/cgenie/expansion/floppy.cpp
index 331fdfd207e..021f00e9f8d 100644
--- a/src/devices/bus/cgenie/expansion/floppy.cpp
+++ b/src/devices/bus/cgenie/expansion/floppy.cpp
@@ -72,23 +72,23 @@ const tiny_rom_entry *cgenie_fdc_device::device_rom_region() const
//-------------------------------------------------
MACHINE_CONFIG_START(cgenie_fdc_device::device_add_mconfig)
- TIMER(config, "timer").configure_periodic(FUNC(cgenie_fdc_device::timer_callback), attotime::from_msec(25));
+ MCFG_TIMER_DRIVER_ADD_PERIODIC("timer", cgenie_fdc_device, timer_callback, attotime::from_msec(25))
FD1793(config, m_fdc, 1_MHz_XTAL);
m_fdc->intrq_wr_callback().set(FUNC(cgenie_fdc_device::intrq_w));
- FLOPPY_CONNECTOR(config, "fd1793:0", cgenie_floppies, "ssdd", cgenie_fdc_device::floppy_formats);
- FLOPPY_CONNECTOR(config, "fd1793:1", cgenie_floppies, "ssdd", cgenie_fdc_device::floppy_formats);
- FLOPPY_CONNECTOR(config, "fd1793:2", cgenie_floppies, nullptr, cgenie_fdc_device::floppy_formats);
- FLOPPY_CONNECTOR(config, "fd1793:3", cgenie_floppies, nullptr, cgenie_fdc_device::floppy_formats);
+ MCFG_FLOPPY_DRIVE_ADD("fd1793:0", cgenie_floppies, "ssdd", cgenie_fdc_device::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD("fd1793:1", cgenie_floppies, "ssdd", cgenie_fdc_device::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD("fd1793:2", cgenie_floppies, nullptr, cgenie_fdc_device::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD("fd1793:3", cgenie_floppies, nullptr, cgenie_fdc_device::floppy_formats)
-// SOFTWARE_LIST(config, "floppy_list").set_original("cgenie_flop");
+// MCFG_SOFTWARE_LIST_ADD("floppy_list", "cgenie_flop")
MCFG_GENERIC_SOCKET_ADD("socket", generic_plain_slot, "cgenie_flop_rom")
MCFG_GENERIC_EXTENSIONS("bin,rom")
MCFG_GENERIC_LOAD(cgenie_fdc_device, socket_load)
- SOFTWARE_LIST(config, "rom_list").set_original("cgenie_flop_rom");
+ MCFG_SOFTWARE_LIST_ADD("rom_list", "cgenie_flop_rom")
MACHINE_CONFIG_END
@@ -137,7 +137,7 @@ void cgenie_fdc_device::device_reset()
// map extra socket
if (m_socket->exists())
{
- m_slot->m_program->install_read_handler(0xe000, 0xefff, read8sm_delegate(FUNC(generic_slot_device::read_rom), (generic_slot_device *) m_socket));
+ m_slot->m_program->install_read_handler(0xe000, 0xefff, read8_delegate(FUNC(generic_slot_device::read_rom), (generic_slot_device *) m_socket));
}
}
diff --git a/src/devices/bus/cgenie/parallel/parallel.h b/src/devices/bus/cgenie/parallel/parallel.h
index b31f8c749f4..9bc8d5665c4 100644
--- a/src/devices/bus/cgenie/parallel/parallel.h
+++ b/src/devices/bus/cgenie/parallel/parallel.h
@@ -24,8 +24,16 @@
#pragma once
-// include here so drivers don't need to
-#include "carts.h"
+
+
+//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_CG_PARALLEL_SLOT_ADD(_tag) \
+ MCFG_DEVICE_ADD(_tag, CG_PARALLEL_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(cg_parallel_slot_carts, nullptr, false)
+
//**************************************************************************
// TYPE DEFINITIONS
@@ -37,14 +45,6 @@ class cg_parallel_slot_device : public device_t, public device_slot_interface
{
public:
// construction/destruction
- cg_parallel_slot_device(machine_config const &mconfig, char const *tag, device_t *owner)
- : cg_parallel_slot_device(mconfig, tag, owner, (uint32_t)0)
- {
- option_reset();
- cg_parallel_slot_carts(*this);
- set_default_option(nullptr);
- set_fixed(false);
- }
cg_parallel_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~cg_parallel_slot_device();
@@ -86,4 +86,7 @@ protected:
// device type definition
DECLARE_DEVICE_TYPE(CG_PARALLEL_SLOT, cg_parallel_slot_device)
+// include here so drivers don't need to
+#include "carts.h"
+
#endif // MAME_BUS_CGENIE_PARALLEL_PARALLEL_H
diff --git a/src/devices/bus/cgenie/parallel/printer.cpp b/src/devices/bus/cgenie/parallel/printer.cpp
index 9a3e9df5dc4..bce52a61c97 100644
--- a/src/devices/bus/cgenie/parallel/printer.cpp
+++ b/src/devices/bus/cgenie/parallel/printer.cpp
@@ -27,17 +27,14 @@ DEFINE_DEVICE_TYPE(CGENIE_PRINTER, cgenie_printer_device, "cgenie_printer", "Pri
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void cgenie_printer_device::device_add_mconfig(machine_config &config)
-{
- CENTRONICS(config, m_centronics, centronics_devices, "printer");
- m_centronics->busy_handler().set(FUNC(cgenie_printer_device::busy_w));
- m_centronics->perror_handler().set(FUNC(cgenie_printer_device::perror_w));
- m_centronics->select_handler().set(FUNC(cgenie_printer_device::select_w));
- m_centronics->fault_handler().set(FUNC(cgenie_printer_device::fault_w));
-
- OUTPUT_LATCH(config, m_latch);
- m_centronics->set_output_latch(*m_latch);
-}
+MACHINE_CONFIG_START(cgenie_printer_device::device_add_mconfig)
+ MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
+ MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, cgenie_printer_device, busy_w))
+ MCFG_CENTRONICS_PERROR_HANDLER(WRITELINE(*this, cgenie_printer_device, perror_w))
+ MCFG_CENTRONICS_SELECT_HANDLER(WRITELINE(*this, cgenie_printer_device, select_w))
+ MCFG_CENTRONICS_FAULT_HANDLER(WRITELINE(*this, cgenie_printer_device, fault_w))
+ MCFG_CENTRONICS_OUTPUT_LATCH_ADD("latch", "centronics")
+MACHINE_CONFIG_END
//**************************************************************************
diff --git a/src/devices/bus/chanf/slot.h b/src/devices/bus/chanf/slot.h
index d2f9654e8cd..289c1b3e600 100644
--- a/src/devices/bus/chanf/slot.h
+++ b/src/devices/bus/chanf/slot.h
@@ -64,17 +64,7 @@ class channelf_cart_slot_device : public device_t,
{
public:
// construction/destruction
- template <typename T>
- channelf_cart_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt)
- : channelf_cart_slot_device(mconfig, tag, owner, 0)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
-
- channelf_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+ channelf_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~channelf_cart_slot_device();
// device-level overrides
@@ -125,4 +115,8 @@ DECLARE_DEVICE_TYPE(CHANF_CART_SLOT, channelf_cart_slot_device)
#define CHANFSLOT_ROM_REGION_TAG ":cart:rom"
+#define MCFG_CHANNELF_CARTRIDGE_ADD(_tag,_slot_intf,_def_slot) \
+ MCFG_DEVICE_ADD(_tag, CHANF_CART_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
+
#endif // MAME_BUS_CHANF_SLOT_H
diff --git a/src/devices/bus/coco/coco_dcmodem.cpp b/src/devices/bus/coco/coco_dcmodem.cpp
index bebd6c275d5..cad760775b7 100644
--- a/src/devices/bus/coco/coco_dcmodem.cpp
+++ b/src/devices/bus/coco/coco_dcmodem.cpp
@@ -58,8 +58,8 @@ namespace
virtual void device_start() override
{
install_readwrite_handler(0xFF6C, 0xFF6F,
- read8sm_delegate(FUNC(mos6551_device::read), (mos6551_device *)m_uart),
- write8sm_delegate(FUNC(mos6551_device::write), (mos6551_device *)m_uart));
+ read8_delegate(FUNC(mos6551_device::read), (mos6551_device *)m_uart),
+ write8_delegate(FUNC(mos6551_device::write), (mos6551_device *)m_uart));
}
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -70,11 +70,6 @@ namespace
return memregion("eprom")->base();
}
- virtual memory_region* get_cart_memregion() override
- {
- return memregion("eprom");
- }
-
private:
// internal state
required_device<mos6551_device> m_uart;
diff --git a/src/devices/bus/coco/coco_fdc.cpp b/src/devices/bus/coco/coco_fdc.cpp
index 79658d27d60..db8df415ee3 100644
--- a/src/devices/bus/coco/coco_fdc.cpp
+++ b/src/devices/bus/coco/coco_fdc.cpp
@@ -180,15 +180,6 @@ uint8_t* coco_family_fdc_device_base::get_cart_base()
return memregion("eprom")->base();
}
-//-------------------------------------------------
-// coco_family_fdc_device_base::get_cart_memregion
-//-------------------------------------------------
-
-memory_region* coco_family_fdc_device_base::get_cart_memregion()
-{
- return memregion("eprom");
-}
-
//***************************************************************************
// COCO FDCs
@@ -343,17 +334,17 @@ READ8_MEMBER(coco_fdc_device_base::scs_read)
case 0x38: /* FF78 */
if (real_time_clock() == rtc_type::CLOUD9)
- m_ds1315->read_0();
+ m_ds1315->read_0(space, offset);
break;
case 0x39: /* FF79 */
if (real_time_clock() == rtc_type::CLOUD9)
- m_ds1315->read_1();
+ m_ds1315->read_1(space, offset);
break;
case 0x3C: /* FF7C */
if (real_time_clock() == rtc_type::CLOUD9)
- result = m_ds1315->read_data();
+ result = m_ds1315->read_data(space, offset);
break;
}
return result;
diff --git a/src/devices/bus/coco/coco_fdc.h b/src/devices/bus/coco/coco_fdc.h
index 2568ed51bd0..a8df8313a7c 100644
--- a/src/devices/bus/coco/coco_fdc.h
+++ b/src/devices/bus/coco/coco_fdc.h
@@ -46,7 +46,6 @@ protected:
// FDC overrides
virtual void update_lines() = 0;
virtual uint8_t* get_cart_base() override;
- virtual memory_region* get_cart_memregion() override;
// accessors
uint8_t dskreg() const { return m_dskreg; }
diff --git a/src/devices/bus/coco/coco_gmc.cpp b/src/devices/bus/coco/coco_gmc.cpp
index 72c9edfdc80..706bdf3cb1b 100644
--- a/src/devices/bus/coco/coco_gmc.cpp
+++ b/src/devices/bus/coco/coco_gmc.cpp
@@ -51,11 +51,11 @@ namespace
};
-void coco_pak_gmc_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(coco_pak_gmc_device::device_add_mconfig)
SPEAKER(config, "gmc_speaker").front_center();
- SN76489A(config, m_psg, 4_MHz_XTAL).add_route(ALL_OUTPUTS, "gmc_speaker", 1.0);
-}
+ MCFG_DEVICE_ADD(SN76489AN_TAG, SN76489A, 4_MHz_XTAL)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "gmc_speaker", 1.0)
+MACHINE_CONFIG_END
//**************************************************************************
diff --git a/src/devices/bus/coco/coco_multi.cpp b/src/devices/bus/coco/coco_multi.cpp
index 628a550fe07..60a2b99286c 100644
--- a/src/devices/bus/coco/coco_multi.cpp
+++ b/src/devices/bus/coco/coco_multi.cpp
@@ -96,6 +96,29 @@ namespace
// construction/destruction
coco_multipak_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ // optional information overrides
+ virtual void device_add_mconfig(machine_config &config) override;
+
+ virtual uint8_t* get_cart_base() override;
+ virtual uint32_t get_cart_size() override;
+
+ // these are only public so they can be in a MACHINE_CONFIG_START
+ // declaration; don't think about them as publically accessable
+ DECLARE_WRITE_LINE_MEMBER(multi_slot1_cart_w);
+ DECLARE_WRITE_LINE_MEMBER(multi_slot1_nmi_w);
+ DECLARE_WRITE_LINE_MEMBER(multi_slot1_halt_w);
+ DECLARE_WRITE_LINE_MEMBER(multi_slot2_cart_w);
+ DECLARE_WRITE_LINE_MEMBER(multi_slot2_nmi_w);
+ DECLARE_WRITE_LINE_MEMBER(multi_slot2_halt_w);
+ DECLARE_WRITE_LINE_MEMBER(multi_slot3_cart_w);
+ DECLARE_WRITE_LINE_MEMBER(multi_slot3_nmi_w);
+ DECLARE_WRITE_LINE_MEMBER(multi_slot3_halt_w);
+ DECLARE_WRITE_LINE_MEMBER(multi_slot4_cart_w);
+ DECLARE_WRITE_LINE_MEMBER(multi_slot4_nmi_w);
+ DECLARE_WRITE_LINE_MEMBER(multi_slot4_halt_w);
+
+ virtual address_space &cartridge_space() override;
+ virtual ioport_constructor device_input_ports() const override;
INPUT_CHANGED_MEMBER( switch_changed );
protected:
@@ -106,15 +129,6 @@ namespace
virtual WRITE8_MEMBER(scs_write) override;
virtual void set_sound_enable(bool sound_enable) override;
- // optional information overrides
- virtual void device_add_mconfig(machine_config &config) override;
-
- virtual uint8_t* get_cart_base() override;
- virtual uint32_t get_cart_size() override;
-
- virtual address_space &cartridge_space() override;
- virtual ioport_constructor device_input_ports() const override;
-
private:
// device references
required_device_array<cococart_slot_device, 4> m_slots;
@@ -135,19 +149,6 @@ namespace
DECLARE_READ8_MEMBER(ff7f_read);
DECLARE_WRITE8_MEMBER(ff7f_write);
void update_line(int slot_number, line ln);
-
- DECLARE_WRITE_LINE_MEMBER(multi_slot1_cart_w);
- DECLARE_WRITE_LINE_MEMBER(multi_slot1_nmi_w);
- DECLARE_WRITE_LINE_MEMBER(multi_slot1_halt_w);
- DECLARE_WRITE_LINE_MEMBER(multi_slot2_cart_w);
- DECLARE_WRITE_LINE_MEMBER(multi_slot2_nmi_w);
- DECLARE_WRITE_LINE_MEMBER(multi_slot2_halt_w);
- DECLARE_WRITE_LINE_MEMBER(multi_slot3_cart_w);
- DECLARE_WRITE_LINE_MEMBER(multi_slot3_nmi_w);
- DECLARE_WRITE_LINE_MEMBER(multi_slot3_halt_w);
- DECLARE_WRITE_LINE_MEMBER(multi_slot4_cart_w);
- DECLARE_WRITE_LINE_MEMBER(multi_slot4_nmi_w);
- DECLARE_WRITE_LINE_MEMBER(multi_slot4_halt_w);
};
};
@@ -181,25 +182,24 @@ static void coco_cart_slot4(device_slot_interface &device)
}
-void coco_multipak_device::device_add_mconfig(machine_config &config)
-{
- COCOCART_SLOT(config, m_slots[0], DERIVED_CLOCK(1, 1), coco_cart_slot1_3, nullptr);
- m_slots[0]->cart_callback().set(FUNC(coco_multipak_device::multi_slot1_cart_w));
- m_slots[0]->nmi_callback().set(FUNC(coco_multipak_device::multi_slot1_nmi_w));
- m_slots[0]->halt_callback().set(FUNC(coco_multipak_device::multi_slot1_halt_w));
- COCOCART_SLOT(config, m_slots[1], DERIVED_CLOCK(1, 1), coco_cart_slot1_3, nullptr);
- m_slots[1]->cart_callback().set(FUNC(coco_multipak_device::multi_slot2_cart_w));
- m_slots[1]->nmi_callback().set(FUNC(coco_multipak_device::multi_slot2_nmi_w));
- m_slots[1]->halt_callback().set(FUNC(coco_multipak_device::multi_slot2_halt_w));
- COCOCART_SLOT(config, m_slots[2], DERIVED_CLOCK(1, 1), coco_cart_slot1_3, nullptr);
- m_slots[2]->cart_callback().set(FUNC(coco_multipak_device::multi_slot3_cart_w));
- m_slots[2]->nmi_callback().set(FUNC(coco_multipak_device::multi_slot3_nmi_w));
- m_slots[2]->halt_callback().set(FUNC(coco_multipak_device::multi_slot3_halt_w));
- COCOCART_SLOT(config, m_slots[3], DERIVED_CLOCK(1, 1), coco_cart_slot4, "fdcv11");
- m_slots[3]->cart_callback().set(FUNC(coco_multipak_device::multi_slot4_cart_w));
- m_slots[3]->nmi_callback().set(FUNC(coco_multipak_device::multi_slot4_nmi_w));
- m_slots[3]->halt_callback().set(FUNC(coco_multipak_device::multi_slot4_halt_w));
-}
+MACHINE_CONFIG_START(coco_multipak_device::device_add_mconfig)
+ MCFG_COCO_CARTRIDGE_ADD(SLOT1_TAG, coco_cart_slot1_3, nullptr)
+ MCFG_COCO_CARTRIDGE_CART_CB(WRITELINE(DEVICE_SELF, coco_multipak_device, multi_slot1_cart_w))
+ MCFG_COCO_CARTRIDGE_NMI_CB(WRITELINE(DEVICE_SELF, coco_multipak_device, multi_slot1_nmi_w))
+ MCFG_COCO_CARTRIDGE_HALT_CB(WRITELINE(DEVICE_SELF, coco_multipak_device, multi_slot1_halt_w))
+ MCFG_COCO_CARTRIDGE_ADD(SLOT2_TAG, coco_cart_slot1_3, nullptr)
+ MCFG_COCO_CARTRIDGE_CART_CB(WRITELINE(DEVICE_SELF, coco_multipak_device, multi_slot2_cart_w))
+ MCFG_COCO_CARTRIDGE_NMI_CB(WRITELINE(DEVICE_SELF, coco_multipak_device, multi_slot2_nmi_w))
+ MCFG_COCO_CARTRIDGE_HALT_CB(WRITELINE(DEVICE_SELF, coco_multipak_device, multi_slot2_halt_w))
+ MCFG_COCO_CARTRIDGE_ADD(SLOT3_TAG, coco_cart_slot1_3, nullptr)
+ MCFG_COCO_CARTRIDGE_CART_CB(WRITELINE(DEVICE_SELF, coco_multipak_device, multi_slot3_cart_w))
+ MCFG_COCO_CARTRIDGE_NMI_CB(WRITELINE(DEVICE_SELF, coco_multipak_device, multi_slot3_nmi_w))
+ MCFG_COCO_CARTRIDGE_HALT_CB(WRITELINE(DEVICE_SELF, coco_multipak_device, multi_slot3_halt_w))
+ MCFG_COCO_CARTRIDGE_ADD(SLOT4_TAG, coco_cart_slot4, "fdcv11")
+ MCFG_COCO_CARTRIDGE_CART_CB(WRITELINE(DEVICE_SELF, coco_multipak_device, multi_slot4_cart_w))
+ MCFG_COCO_CARTRIDGE_NMI_CB(WRITELINE(DEVICE_SELF, coco_multipak_device, multi_slot4_nmi_w))
+ MCFG_COCO_CARTRIDGE_HALT_CB(WRITELINE(DEVICE_SELF, coco_multipak_device, multi_slot4_halt_w))
+MACHINE_CONFIG_END
INPUT_PORTS_START( coco_multipack )
PORT_START( SWITCH_CONFIG_TAG )
diff --git a/src/devices/bus/coco/coco_orch90.cpp b/src/devices/bus/coco/coco_orch90.cpp
index 2ad8afdaae1..979acd423a1 100644
--- a/src/devices/bus/coco/coco_orch90.cpp
+++ b/src/devices/bus/coco/coco_orch90.cpp
@@ -92,11 +92,6 @@ namespace
return memregion("eprom")->base();
}
- virtual memory_region* get_cart_memregion() override
- {
- return memregion("eprom");
- }
-
private:
WRITE8_MEMBER(write_left) { m_ldac->write(data); }
WRITE8_MEMBER(write_right) { m_rdac->write(data); }
@@ -112,16 +107,15 @@ namespace
// MACHINE AND ROM DECLARATIONS
//**************************************************************************
-void coco_orch90_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(coco_orch90_device::device_add_mconfig)
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
- DAC_8BIT_R2R(config, m_ldac, 0).add_route(ALL_OUTPUTS, "lspeaker", 0.5); // ls374.ic5 + r7 (8x20k) + r9 (8x10k)
- DAC_8BIT_R2R(config, m_rdac, 0).add_route(ALL_OUTPUTS, "rspeaker", 0.5); // ls374.ic4 + r6 (8x20k) + r8 (8x10k)
- voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref"));
- vref.add_route(0, "ldac", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "ldac", -1.0, DAC_VREF_NEG_INPUT);
- vref.add_route(0, "rdac", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "rdac", -1.0, DAC_VREF_NEG_INPUT);
-}
+ MCFG_DEVICE_ADD("ldac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.5) // ls374.ic5 + r7 (8x20k) + r9 (8x10k)
+ MCFG_DEVICE_ADD("rdac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.5) // ls374.ic4 + r6 (8x20k) + r8 (8x10k)
+ MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
+ MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
+MACHINE_CONFIG_END
//**************************************************************************
diff --git a/src/devices/bus/coco/coco_rs232.cpp b/src/devices/bus/coco/coco_rs232.cpp
index 5a124986792..802d46251ad 100644
--- a/src/devices/bus/coco/coco_rs232.cpp
+++ b/src/devices/bus/coco/coco_rs232.cpp
@@ -56,8 +56,8 @@ namespace
virtual void device_start() override
{
install_readwrite_handler(0xFF68, 0xFF6B,
- read8sm_delegate(FUNC(mos6551_device::read), (mos6551_device *)m_uart),
- write8sm_delegate(FUNC(mos6551_device::write), (mos6551_device *)m_uart));
+ read8_delegate(FUNC(mos6551_device::read), (mos6551_device *)m_uart),
+ write8_delegate(FUNC(mos6551_device::write), (mos6551_device *)m_uart));
}
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -68,11 +68,6 @@ namespace
return memregion("eprom")->base();
}
- virtual memory_region* get_cart_memregion() override
- {
- return memregion("eprom");
- }
-
private:
// internal state
required_device<mos6551_device> m_uart;
diff --git a/src/devices/bus/coco/coco_ssc.cpp b/src/devices/bus/coco/coco_ssc.cpp
index 6dcd34a8f03..8840df18835 100644
--- a/src/devices/bus/coco/coco_ssc.cpp
+++ b/src/devices/bus/coco/coco_ssc.cpp
@@ -152,8 +152,7 @@ DEFINE_DEVICE_TYPE(COCOSSC_SAC, cocossc_sac_device, "cocossc_sac", "CoCo SSC Sou
// MACHINE FRAGMENTS AND ADDRESS MAPS
//**************************************************************************
-void coco_ssc_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(coco_ssc_device::device_add_mconfig)
TMS7040(config, m_tms7040, DERIVED_CLOCK(2, 1));
m_tms7040->in_porta().set(FUNC(coco_ssc_device::ssc_port_a_r));
m_tms7040->out_portb().set(FUNC(coco_ssc_device::ssc_port_b_w));
@@ -174,9 +173,9 @@ void coco_ssc_device::device_add_mconfig(machine_config &config)
m_ay->set_flags(AY8910_SINGLE_OUTPUT);
m_ay->add_route(ALL_OUTPUTS, "coco_sac_tag", AY8913_GAIN);
- COCOSSC_SAC(config, m_sac, DERIVED_CLOCK(2, 1));
- m_sac->add_route(ALL_OUTPUTS, "ssc_audio", 1.0);
-}
+ MCFG_DEVICE_ADD("coco_sac_tag", COCOSSC_SAC, DERIVED_CLOCK(2, 1))
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "ssc_audio", 1.0)
+MACHINE_CONFIG_END
ROM_START(coco_ssc)
ROM_REGION(0x1000, PIC_TAG, 0)
@@ -438,12 +437,12 @@ WRITE8_MEMBER(coco_ssc_device::ssc_port_c_w)
{
if( (data & (C_BDR|C_BC1)) == (C_BDR|C_BC1) ) /* BDIR = 1, BC1 = 1: latch address */
{
- m_ay->address_w(m_tms7000_portd);
+ m_ay->address_w(space, 0, m_tms7000_portd);
}
if( ((data & C_BDR) == C_BDR) && ((data & C_BC1) == 0) ) /* BDIR = 1, BC1 = 0: write data */
{
- m_ay->data_w(m_tms7000_portd);
+ m_ay->data_w(space, 0, m_tms7000_portd);
}
}
@@ -493,7 +492,7 @@ READ8_MEMBER(coco_ssc_device::ssc_port_d_r)
{
if( ((m_tms7000_portc & C_BDR) == 0) && ((m_tms7000_portc & C_BC1) == C_BC1) ) /* psg read data */
{
- m_tms7000_portd = m_ay->data_r();
+ m_tms7000_portd = m_ay->data_r(space, 0);
}
}
diff --git a/src/devices/bus/coco/coco_t4426.cpp b/src/devices/bus/coco/coco_t4426.cpp
index 11c4499990a..eaa6f651ef2 100644
--- a/src/devices/bus/coco/coco_t4426.cpp
+++ b/src/devices/bus/coco/coco_t4426.cpp
@@ -332,13 +332,16 @@ READ8_MEMBER(coco_t4426_device::scs_read)
if ((offset >= 0x00) && (offset <= 0x07))
{
LOGPIA("- PIA\n");
- result = m_pia->read(offset & 3);
+ result = m_pia->read(space, offset & 3);
LOGPIA("- Offs:%04x Data:%02x\n", offset - 0x04, result);
}
else if ((offset >= 0x08) && (offset <= 0x0f) && (offset & 2))
{
LOGACIA("- ACIA\n");
- result = m_uart->read(offset & 1);
+ if (offset & 1)
+ result = m_uart->status_r(space, offset & 1);
+ else
+ result = m_uart->data_r(space, offset & 1);
LOGACIA("- Offs:%04x Data:%02x\n", offset - 0x04, result);
}
else
@@ -363,12 +366,15 @@ WRITE8_MEMBER(coco_t4426_device::scs_write)
if ((offset >= 0x00) && (offset <= 0x07))
{
LOG("- PIA\n");
- m_pia->write(offset & 3, data);
+ m_pia->write(space, offset & 3, data);
}
else if ((offset >= 0x08) && (offset <= 0x0f) && (offset & 2))
{
LOGACIA("- ACIA");
- m_uart->write(offset & 1, data);
+ if (offset & 1)
+ m_uart->control_w(space, offset & 1, data);
+ else
+ m_uart->data_w(space, offset & 1, data);
LOGACIA(" - Offs:%04x Data:%02x\n", offset & 1, data);
}
else
diff --git a/src/devices/bus/coco/cococart.cpp b/src/devices/bus/coco/cococart.cpp
index 6bf6360d24b..2c009aa8724 100644
--- a/src/devices/bus/coco/cococart.cpp
+++ b/src/devices/bus/coco/cococart.cpp
@@ -412,11 +412,11 @@ image_init_result cococart_slot_device::call_load()
{
memory_region *cart_mem = m_cart->get_cart_memregion();
uint8_t *base = cart_mem->base();
- offs_t read_length, cart_length = cart_mem->bytes();;
+ offs_t read_length, cart_legnth = cart_mem->bytes();;
if (!loaded_through_softlist())
{
- read_length = fread(base, cart_length);
+ read_length = fread(base, cart_legnth);
}
else
{
@@ -424,7 +424,7 @@ image_init_result cococart_slot_device::call_load()
memcpy(base, get_software_region("rom"), read_length);
}
- while (read_length < cart_length)
+ while (read_length < cart_legnth)
{
offs_t len = std::min(read_length, m_cart->get_cart_size() - read_length);
memcpy(base + read_length, base, len);
@@ -597,6 +597,40 @@ address_space &device_cococart_interface::cartridge_space()
//-------------------------------------------------
+// install_read_handler
+//-------------------------------------------------
+
+void device_cococart_interface::install_read_handler(uint16_t addrstart, uint16_t addrend, read8_delegate rhandler)
+{
+ address_space &space(cartridge_space());
+ space.install_read_handler(addrstart, addrend, rhandler);
+}
+
+
+//-------------------------------------------------
+// install_write_handler
+//-------------------------------------------------
+
+void device_cococart_interface::install_write_handler(uint16_t addrstart, uint16_t addrend, write8_delegate whandler)
+{
+ address_space &space(cartridge_space());
+ space.install_write_handler(addrstart, addrend, whandler);
+}
+
+
+//-------------------------------------------------
+// install_readwrite_handler
+//-------------------------------------------------
+
+void device_cococart_interface::install_readwrite_handler(uint16_t addrstart, uint16_t addrend, read8_delegate rhandler, write8_delegate whandler)
+{
+ address_space &space(cartridge_space());
+ space.install_read_handler(addrstart, addrend, rhandler);
+ space.install_write_handler(addrstart, addrend, whandler);
+}
+
+
+//-------------------------------------------------
// set_line_value
//-------------------------------------------------
diff --git a/src/devices/bus/coco/cococart.h b/src/devices/bus/coco/cococart.h
index c559a2eea53..2d5d37fd443 100644
--- a/src/devices/bus/coco/cococart.h
+++ b/src/devices/bus/coco/cococart.h
@@ -25,6 +25,15 @@
// direct region update handler
typedef delegate<void (uint8_t *)> cococart_base_update_delegate;
+#define MCFG_COCO_CARTRIDGE_CART_CB(_devcb) \
+ downcast<cococart_slot_device &>(*device).set_cart_callback(DEVCB_##_devcb);
+
+#define MCFG_COCO_CARTRIDGE_NMI_CB(_devcb) \
+ downcast<cococart_slot_device &>(*device).set_nmi_callback(DEVCB_##_devcb);
+
+#define MCFG_COCO_CARTRIDGE_HALT_CB(_devcb) \
+ downcast<cococart_slot_device &>(*device).set_halt_callback(DEVCB_##_devcb);
+
// ======================> cococart_slot_device
class device_cococart_interface;
@@ -63,6 +72,9 @@ public:
}
cococart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ template <class Object> devcb_base &set_cart_callback(Object &&cb) { return m_cart_callback.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_nmi_callback(Object &&cb) { return m_nmi_callback.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_halt_callback(Object &&cb) { return m_halt_callback.set_callback(std::forward<Object>(cb)); }
auto cart_callback() { return m_cart_callback.bind(); }
auto nmi_callback() { return m_nmi_callback.bind(); }
auto halt_callback() { return m_halt_callback.bind(); }
@@ -187,25 +199,9 @@ protected:
// cartridges (e.g. - Orch-90, Multi-Pak interface) for their control registers, independently
// of the SCS or CTS lines
address_space &cartridge_space();
- template <typename R>
- void install_read_handler(u16 addrstart, u16 addrend, R &&rhandler)
- {
- address_space &space(cartridge_space());
- space.install_read_handler(addrstart, addrend, std::forward<R>(rhandler));
- }
- template <typename W>
- void install_write_handler(u16 addrstart, u16 addrend, W &&whandler)
- {
- address_space &space(cartridge_space());
- space.install_write_handler(addrstart, addrend, std::forward<W>(whandler));
- }
- template <typename R, typename W>
- void install_readwrite_handler(u16 addrstart, u16 addrend, R &&rhandler, W &&whandler)
- {
- address_space &space(cartridge_space());
- space.install_read_handler(addrstart, addrend, std::forward<R>(rhandler));
- space.install_write_handler(addrstart, addrend, std::forward<W>(whandler));
- }
+ void install_read_handler(uint16_t addrstart, uint16_t addrend, read8_delegate rhandler);
+ void install_write_handler(uint16_t addrstart, uint16_t addrend, write8_delegate whandler);
+ void install_readwrite_handler(uint16_t addrstart, uint16_t addrend, read8_delegate rhandler, write8_delegate whandler);
// setting line values
void set_line_value(cococart_slot_device::line line, cococart_slot_device::line_value value);
@@ -220,4 +216,16 @@ private:
device_cococart_host_interface * m_host;
};
+
+/***************************************************************************
+ DEVICE CONFIGURATION MACROS
+***************************************************************************/
+
+#define MCFG_COCO_CARTRIDGE_ADD(_tag,_slot_intf,_def_slot) \
+ MCFG_DEVICE_ADD(_tag, COCOCART_SLOT, DERIVED_CLOCK(1, 1)) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
+
+#define MCFG_COCO_CARTRIDGE_REMOVE(_tag) \
+ MCFG_DEVICE_REMOVE(_tag)
+
#endif // MAME_BUS_COCO_COCOCART_H
diff --git a/src/devices/bus/coco/dragon_jcbsnd.cpp b/src/devices/bus/coco/dragon_jcbsnd.cpp
index efb2bc42a62..8fae5eaf8df 100644
--- a/src/devices/bus/coco/dragon_jcbsnd.cpp
+++ b/src/devices/bus/coco/dragon_jcbsnd.cpp
@@ -22,7 +22,7 @@
ROM_START( dragon_jcbsnd )
- ROM_REGION(0x1000, "eprom", ROMREGION_ERASE00)
+ ROM_REGION(0x8000, "eprom", ROMREGION_ERASE00)
ROM_LOAD("d32sem.rom", 0x0000, 0x1000, CRC(4cd0f30b) SHA1(d07bb9272e3d3928059853730ff656905a80b68e))
ROM_END
@@ -53,8 +53,8 @@ dragon_jcbsnd_device::dragon_jcbsnd_device(const machine_config &mconfig, const
void dragon_jcbsnd_device::device_start()
{
- install_write_handler(0xfefe, 0xfefe, write8smo_delegate(FUNC(ay8910_device::address_w), (ay8910_device *)m_ay8910));
- install_readwrite_handler(0xfeff, 0xfeff, read8smo_delegate(FUNC(ay8910_device::data_r), (ay8910_device *)m_ay8910), write8smo_delegate(FUNC(ay8910_device::data_w), (ay8910_device *)m_ay8910));
+ install_write_handler(0xfefe, 0xfefe, write8_delegate(FUNC(ay8910_device::address_w), (ay8910_device *)m_ay8910));
+ install_readwrite_handler(0xfeff, 0xfeff, read8_delegate(FUNC(ay8910_device::data_r), (ay8910_device *)m_ay8910), write8_delegate(FUNC(ay8910_device::data_w), (ay8910_device *)m_ay8910));
set_line_value(line::CART, line_value::Q);
}
@@ -69,15 +69,6 @@ uint8_t* dragon_jcbsnd_device::get_cart_base()
}
//-------------------------------------------------
-// dragon_jcbsnd_device::get_cart_memregion
-//-------------------------------------------------
-
-memory_region* dragon_jcbsnd_device::get_cart_memregion()
-{
- return memregion("eprom");
-}
-
-//-------------------------------------------------
// device_add_mconfig - add device configuration
//-------------------------------------------------
diff --git a/src/devices/bus/coco/dragon_jcbsnd.h b/src/devices/bus/coco/dragon_jcbsnd.h
index 2ed76628075..35167dd53f8 100644
--- a/src/devices/bus/coco/dragon_jcbsnd.h
+++ b/src/devices/bus/coco/dragon_jcbsnd.h
@@ -29,7 +29,6 @@ protected:
// device-level overrides
virtual void device_start() override;
virtual uint8_t* get_cart_base() override;
- virtual memory_region* get_cart_memregion() override;
// internal state
device_image_interface *m_cart;
diff --git a/src/devices/bus/coleco/controller/ctrl.cpp b/src/devices/bus/coleco/ctrl.cpp
index 330c7c71551..330c7c71551 100644
--- a/src/devices/bus/coleco/controller/ctrl.cpp
+++ b/src/devices/bus/coleco/ctrl.cpp
diff --git a/src/devices/bus/coleco/controller/ctrl.h b/src/devices/bus/coleco/ctrl.h
index 3460dec0b7d..3460dec0b7d 100644
--- a/src/devices/bus/coleco/controller/ctrl.h
+++ b/src/devices/bus/coleco/ctrl.h
diff --git a/src/devices/bus/coleco/cartridge/exp.cpp b/src/devices/bus/coleco/exp.cpp
index eaf3f144322..c2878c4523a 100644
--- a/src/devices/bus/coleco/cartridge/exp.cpp
+++ b/src/devices/bus/coleco/exp.cpp
@@ -118,11 +118,11 @@ std::string colecovision_cartridge_slot_device::get_default_card_software(get_de
// bd_r - cartridge data read
//-------------------------------------------------
-uint8_t colecovision_cartridge_slot_device::bd_r(offs_t offset, uint8_t data, int _8000, int _a000, int _c000, int _e000)
+uint8_t colecovision_cartridge_slot_device::bd_r(address_space &space, offs_t offset, uint8_t data, int _8000, int _a000, int _c000, int _e000)
{
if (m_card != nullptr)
{
- data = m_card->bd_r(offset, data, _8000, _a000, _c000, _e000);
+ data = m_card->bd_r(space, offset, data, _8000, _a000, _c000, _e000);
}
return data;
diff --git a/src/devices/bus/coleco/cartridge/exp.h b/src/devices/bus/coleco/exp.h
index 4da9d2d1d00..a4bf724c6e7 100644
--- a/src/devices/bus/coleco/cartridge/exp.h
+++ b/src/devices/bus/coleco/exp.h
@@ -65,7 +65,7 @@ public:
colecovision_cartridge_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// computer interface
- uint8_t bd_r(offs_t offset, uint8_t data, int _8000, int _a000, int _c000, int _e000);
+ uint8_t bd_r(address_space &space, offs_t offset, uint8_t data, int _8000, int _a000, int _c000, int _e000);
protected:
// device-level overrides
@@ -99,7 +99,7 @@ class device_colecovision_cartridge_interface : public device_slot_card_interfac
friend class colecovision_cartridge_slot_device;
public:
- virtual uint8_t bd_r(offs_t offset, uint8_t data, int _8000, int _a000, int _c000, int _e000) { return 0xff; }
+ virtual uint8_t bd_r(address_space &space, offs_t offset, uint8_t data, int _8000, int _a000, int _c000, int _e000) { return 0xff; }
void rom_alloc(size_t size);
diff --git a/src/devices/bus/coleco/controller/hand.cpp b/src/devices/bus/coleco/hand.cpp
index b8410183b68..b8410183b68 100644
--- a/src/devices/bus/coleco/controller/hand.cpp
+++ b/src/devices/bus/coleco/hand.cpp
diff --git a/src/devices/bus/coleco/controller/hand.h b/src/devices/bus/coleco/hand.h
index f65ad709106..f65ad709106 100644
--- a/src/devices/bus/coleco/controller/hand.h
+++ b/src/devices/bus/coleco/hand.h
diff --git a/src/devices/bus/coleco/controller/sac.cpp b/src/devices/bus/coleco/sac.cpp
index 7b3cef9b114..7b3cef9b114 100644
--- a/src/devices/bus/coleco/controller/sac.cpp
+++ b/src/devices/bus/coleco/sac.cpp
diff --git a/src/devices/bus/coleco/controller/sac.h b/src/devices/bus/coleco/sac.h
index 20078e33ef7..20078e33ef7 100644
--- a/src/devices/bus/coleco/controller/sac.h
+++ b/src/devices/bus/coleco/sac.h
diff --git a/src/devices/bus/coleco/cartridge/std.cpp b/src/devices/bus/coleco/std.cpp
index 24bb815834e..ae490dea2e9 100644
--- a/src/devices/bus/coleco/cartridge/std.cpp
+++ b/src/devices/bus/coleco/std.cpp
@@ -47,7 +47,7 @@ void colecovision_standard_cartridge_device::device_start()
// read - cartridge data read
//-------------------------------------------------
-uint8_t colecovision_standard_cartridge_device::bd_r(offs_t offset, uint8_t data, int _8000, int _a000, int _c000, int _e000)
+uint8_t colecovision_standard_cartridge_device::bd_r(address_space &space, offs_t offset, uint8_t data, int _8000, int _a000, int _c000, int _e000)
{
if (!_8000 || !_a000 || !_c000 || !_e000)
{
diff --git a/src/devices/bus/coleco/cartridge/std.h b/src/devices/bus/coleco/std.h
index 6e0c5206ada..7ee221502a7 100644
--- a/src/devices/bus/coleco/cartridge/std.h
+++ b/src/devices/bus/coleco/std.h
@@ -33,7 +33,7 @@ protected:
virtual void device_start() override;
// device_colecovision_expansion_card_interface overrides
- virtual uint8_t bd_r(offs_t offset, uint8_t data, int _8000, int _a000, int _c000, int _e000) override;
+ virtual uint8_t bd_r(address_space &space, offs_t offset, uint8_t data, int _8000, int _a000, int _c000, int _e000) override;
};
diff --git a/src/devices/bus/coleco/cartridge/xin1.cpp b/src/devices/bus/coleco/xin1.cpp
index 140d2132ee4..3538f93bb90 100644
--- a/src/devices/bus/coleco/cartridge/xin1.cpp
+++ b/src/devices/bus/coleco/xin1.cpp
@@ -58,7 +58,7 @@ void colecovision_xin1_cartridge_device::device_reset()
// read - cartridge data read
//-------------------------------------------------
-uint8_t colecovision_xin1_cartridge_device::bd_r(offs_t offset, uint8_t data, int _8000, int _a000, int _c000, int _e000)
+uint8_t colecovision_xin1_cartridge_device::bd_r(address_space &space, offs_t offset, uint8_t data, int _8000, int _a000, int _c000, int _e000)
{
if (!_8000 || !_a000 || !_c000 || !_e000)
{
diff --git a/src/devices/bus/coleco/cartridge/xin1.h b/src/devices/bus/coleco/xin1.h
index 0e8a7813c9f..c5b0ae49b76 100644
--- a/src/devices/bus/coleco/cartridge/xin1.h
+++ b/src/devices/bus/coleco/xin1.h
@@ -34,7 +34,7 @@ protected:
virtual void device_reset() override;
// device_colecovision_expansion_card_interface overrides
- virtual uint8_t bd_r(offs_t offset, uint8_t data, int _8000, int _a000, int _c000, int _e000) override;
+ virtual uint8_t bd_r(address_space &space, offs_t offset, uint8_t data, int _8000, int _a000, int _c000, int _e000) override;
private:
uint32_t m_current_offset;
diff --git a/src/devices/bus/compis/graphics.h b/src/devices/bus/compis/graphics.h
index 0f3f2b104b1..c5b414d1fab 100644
--- a/src/devices/bus/compis/graphics.h
+++ b/src/devices/bus/compis/graphics.h
@@ -24,16 +24,16 @@ class compis_graphics_slot_device;
class device_compis_graphics_card_interface : public device_slot_card_interface
{
public:
- virtual uint8_t mcs0_r(offs_t offset) { return 0xff; }
- virtual void mcs0_w(offs_t offset, uint8_t data) { }
- virtual uint8_t mcs1_r(offs_t offset) { return 0xff; }
- virtual void mcs1_w(offs_t offset, uint8_t data) { }
- virtual uint16_t pcs3_r(offs_t offset) { return 0xff; }
- virtual void pcs3_w(offs_t offset, uint16_t data) { }
- virtual uint8_t pcs6_6_r(offs_t offset) { return 0xff; }
- virtual void pcs6_6_w(offs_t offset, uint8_t data) { }
- virtual uint8_t dma_ack_r(offs_t offset) { return 0xff; }
- virtual void dma_ack_w(offs_t offset, uint8_t data) { }
+ virtual uint8_t mcs0_r(address_space &space, offs_t offset) { return 0xff; }
+ virtual void mcs0_w(address_space &space, offs_t offset, uint8_t data) { }
+ virtual uint8_t mcs1_r(address_space &space, offs_t offset) { return 0xff; }
+ virtual void mcs1_w(address_space &space, offs_t offset, uint8_t data) { }
+ virtual uint16_t pcs3_r(address_space &space, offs_t offset) { return 0xff; }
+ virtual void pcs3_w(address_space &space, offs_t offset, uint16_t data) { }
+ virtual uint8_t pcs6_6_r(address_space &space, offs_t offset) { return 0xff; }
+ virtual void pcs6_6_w(address_space &space, offs_t offset, uint8_t data) { }
+ virtual uint8_t dma_ack_r(address_space &space, offs_t offset) { return 0xff; }
+ virtual void dma_ack_w(address_space &space, offs_t offset, uint8_t data) { }
protected:
// construction/destruction
@@ -64,16 +64,16 @@ public:
auto drq() { return m_write_dma_request.bind(); }
// computer interface
- uint8_t mcs0_r(offs_t offset) { return m_card ? m_card->mcs0_r(offset) : 0xff; }
- void mcs0_w(offs_t offset, uint8_t data) { if (m_card) m_card->mcs0_w(offset, data); }
- uint8_t mcs1_r(offs_t offset) { return m_card ? m_card->mcs1_r(offset) : 0xff; }
- void mcs1_w(offs_t offset, uint8_t data) { if (m_card) m_card->mcs1_w(offset, data); }
- uint8_t pcs3_r(offs_t offset) { return m_card ? m_card->pcs3_r(offset) : 0xff; }
- void pcs3_w(offs_t offset, uint8_t data) { if (m_card) m_card->pcs3_w(offset, data); }
- uint8_t pcs6_6_r(offs_t offset) { return m_card ? m_card->pcs6_6_r(offset) : 0xff; }
- void pcs6_6_w(offs_t offset, uint8_t data) { if (m_card) m_card->pcs6_6_w(offset, data); }
- uint8_t dma_ack_r(offs_t offset) { return m_card ? m_card->dma_ack_r(offset) : 0xff; }
- void dma_ack_w(offs_t offset, uint8_t data) { if (m_card) m_card->dma_ack_w(offset, data); }
+ DECLARE_READ8_MEMBER( mcs0_r ) { return m_card ? m_card->mcs0_r(space, offset) : 0xff; }
+ DECLARE_WRITE8_MEMBER( mcs0_w ) { if (m_card) m_card->mcs0_w(space, offset, data); }
+ DECLARE_READ8_MEMBER( mcs1_r ) { return m_card ? m_card->mcs1_r(space, offset) : 0xff; }
+ DECLARE_WRITE8_MEMBER( mcs1_w ) { if (m_card) m_card->mcs1_w(space, offset, data); }
+ DECLARE_READ16_MEMBER( pcs3_r ) { return m_card ? m_card->pcs3_r(space, offset) : 0xff; }
+ DECLARE_WRITE16_MEMBER( pcs3_w ) { if (m_card) m_card->pcs3_w(space, offset, data); }
+ DECLARE_READ8_MEMBER( pcs6_6_r ) { return m_card ? m_card->pcs6_6_r(space, offset) : 0xff; }
+ DECLARE_WRITE8_MEMBER( pcs6_6_w ) { if (m_card) m_card->pcs6_6_w(space, offset, data); }
+ DECLARE_READ8_MEMBER( dma_ack_r ) { return m_card ? m_card->dma_ack_r(space, offset) : 0xff; }
+ DECLARE_WRITE8_MEMBER( dma_ack_w ) { if (m_card) m_card->dma_ack_w(space, offset, data); }
// card interface
DECLARE_WRITE_LINE_MEMBER( dma_request_w ) { m_write_dma_request(state); }
diff --git a/src/devices/bus/compis/hrg.cpp b/src/devices/bus/compis/hrg.cpp
index 7aa8aa72f7e..fc1665107fa 100644
--- a/src/devices/bus/compis/hrg.cpp
+++ b/src/devices/bus/compis/hrg.cpp
@@ -77,42 +77,40 @@ UPD7220_DISPLAY_PIXELS_MEMBER( compis_uhrg_device::display_pixels )
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void compis_hrg_device::device_add_mconfig(machine_config &config)
-{
- screen_device &screen(SCREEN(config, SCREEN_TAG, SCREEN_TYPE_RASTER, rgb_t::green()));
- screen.set_video_attributes(VIDEO_UPDATE_BEFORE_VBLANK);
- screen.set_refresh_hz(50);
- screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); // not accurate
- screen.set_size(640, 400);
- screen.set_visarea(0, 640-1, 0, 400-1);
- screen.set_screen_update(UPD7220_TAG, FUNC(upd7220_device::screen_update));
+MACHINE_CONFIG_START(compis_hrg_device::device_add_mconfig)
+ MCFG_SCREEN_ADD_MONOCHROME(SCREEN_TAG, RASTER, rgb_t::green())
+ MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
+ MCFG_SCREEN_REFRESH_RATE(50)
+ MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) // not accurate
+ MCFG_SCREEN_SIZE(640, 400)
+ MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 400-1)
+ MCFG_SCREEN_UPDATE_DEVICE(UPD7220_TAG, upd7220_device, screen_update)
UPD7220(config, m_crtc, 2252500); // unknown clock
m_crtc->set_addrmap(0, &compis_hrg_device::hrg_map);
- m_crtc->set_display_pixels(FUNC(compis_hrg_device::display_pixels));
+ m_crtc->set_display_pixels_callback(FUNC(compis_hrg_device::display_pixels), this);
m_crtc->set_screen(SCREEN_TAG);
PALETTE(config, m_palette, palette_device::MONOCHROME);
-}
+MACHINE_CONFIG_END
-void compis_uhrg_device::device_add_mconfig(machine_config &config)
-{
- screen_device &screen(SCREEN(config, SCREEN_TAG, SCREEN_TYPE_RASTER, rgb_t::green()));
- screen.set_video_attributes(VIDEO_UPDATE_BEFORE_VBLANK);
- screen.set_refresh_hz(50);
- screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); // not accurate
- screen.set_size(1280, 800);
- screen.set_visarea(0, 1280-1, 0, 800-1);
- screen.set_screen_update(UPD7220_TAG, FUNC(upd7220_device::screen_update));
+MACHINE_CONFIG_START(compis_uhrg_device::device_add_mconfig)
+ MCFG_SCREEN_ADD_MONOCHROME(SCREEN_TAG, RASTER, rgb_t::green())
+ MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
+ MCFG_SCREEN_REFRESH_RATE(50)
+ MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) // not accurate
+ MCFG_SCREEN_SIZE(1280, 800)
+ MCFG_SCREEN_VISIBLE_AREA(0, 1280-1, 0, 800-1)
+ MCFG_SCREEN_UPDATE_DEVICE(UPD7220_TAG, upd7220_device, screen_update)
UPD7220(config, m_crtc, 2252500*2); // unknown clock
m_crtc->set_addrmap(0, &compis_uhrg_device::uhrg_map);
- m_crtc->set_display_pixels(FUNC(compis_uhrg_device::display_pixels));
+ m_crtc->set_display_pixels_callback(FUNC(compis_uhrg_device::display_pixels), this);
m_crtc->set_screen(SCREEN_TAG);
PALETTE(config, m_palette, palette_device::MONOCHROME);
-}
+MACHINE_CONFIG_END
//**************************************************************************
@@ -165,12 +163,12 @@ void compis_hrg_device::device_reset()
// pcs6_6_r -
//-------------------------------------------------
-uint8_t compis_hrg_device::pcs6_6_r(offs_t offset)
+uint8_t compis_hrg_device::pcs6_6_r(address_space &space, offs_t offset)
{
uint8_t data = 0xff;
if (offset < 2)
- data = m_crtc->read(offset & 0x01);
+ data = m_crtc->read(space, offset & 0x01);
else
// monochrome only, hblank? vblank?
if(offset == 2)
@@ -202,10 +200,10 @@ uint8_t compis_hrg_device::pcs6_6_r(offs_t offset)
// pcs6_6_w -
//-------------------------------------------------
-void compis_hrg_device::pcs6_6_w(offs_t offset, uint8_t data)
+void compis_hrg_device::pcs6_6_w(address_space &space, offs_t offset, uint8_t data)
{
//logerror("%s PCS 6:6 write %04x : %02x\n", machine().describe_context(), offset, data);
// 0x336 is likely the color plane register
- if (offset < 2) m_crtc->write(offset & 0x01, data);
+ if (offset < 2) m_crtc->write(space, offset & 0x01, data);
}
diff --git a/src/devices/bus/compis/hrg.h b/src/devices/bus/compis/hrg.h
index 98ef784df14..c48830be10c 100644
--- a/src/devices/bus/compis/hrg.h
+++ b/src/devices/bus/compis/hrg.h
@@ -41,8 +41,8 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// device_compis_graphics_card_interface overrides
- virtual uint8_t pcs6_6_r(offs_t offset) override;
- virtual void pcs6_6_w(offs_t offset, uint8_t data) override;
+ virtual uint8_t pcs6_6_r(address_space &space, offs_t offset) override;
+ virtual void pcs6_6_w(address_space &space, offs_t offset, uint8_t data) override;
required_device<upd7220_device> m_crtc;
required_device<palette_device> m_palette;
diff --git a/src/devices/bus/compucolor/floppy.cpp b/src/devices/bus/compucolor/floppy.cpp
index fbe7912f6b6..f454a4f092a 100644
--- a/src/devices/bus/compucolor/floppy.cpp
+++ b/src/devices/bus/compucolor/floppy.cpp
@@ -52,10 +52,9 @@ static void compucolor_floppies(device_slot_interface &device)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void compucolor_floppy_device::device_add_mconfig(machine_config &config)
-{
- FLOPPY_CONNECTOR(config, m_floppy, compucolor_floppies, "525sssd", compucolor_floppy_device::floppy_formats);
-}
+MACHINE_CONFIG_START(compucolor_floppy_device::device_add_mconfig)
+ MCFG_FLOPPY_DRIVE_ADD_FIXED("floppy", compucolor_floppies, "525sssd", compucolor_floppy_device::floppy_formats)
+MACHINE_CONFIG_END
@@ -90,7 +89,7 @@ compucolor_floppy_port_device::compucolor_floppy_port_device(const machine_confi
compucolor_floppy_device::compucolor_floppy_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
: device_t(mconfig, COMPUCOLOR_FLOPPY, tag, owner, clock)
, device_compucolor_floppy_port_interface(mconfig, *this)
- , m_floppy(*this, "floppy")
+ , m_floppy(*this, "floppy:525sssd")
, m_rw(1)
, m_stp(0)
, m_sel(1)
@@ -184,23 +183,19 @@ void compucolor_floppy_device::stepper_w(uint8_t data)
{
if (!m_sel)
{
- floppy_image_device *floppy = m_floppy->get_device();
- if (floppy == nullptr)
- return;
-
if ((m_stp == 1 && data == 4) || (m_stp == 2 && data == 1) || (m_stp == 4 && data == 2))
{
// step in
- floppy->dir_w(1);
- floppy->stp_w(0);
- floppy->stp_w(1);
+ m_floppy->dir_w(1);
+ m_floppy->stp_w(0);
+ m_floppy->stp_w(1);
}
else if ((m_stp == 1 && data == 2) || (m_stp == 2 && data == 4) || (m_stp == 4 && data == 1))
{
// step out
- floppy->dir_w(0);
- floppy->stp_w(0);
- floppy->stp_w(1);
+ m_floppy->dir_w(0);
+ m_floppy->stp_w(0);
+ m_floppy->stp_w(1);
}
}
@@ -214,9 +209,7 @@ void compucolor_floppy_device::stepper_w(uint8_t data)
void compucolor_floppy_device::select_w(int state)
{
- floppy_image_device *floppy = m_floppy->get_device();
- if (floppy != nullptr)
- floppy->mon_w(state);
+ m_floppy->mon_w(state);
if (!m_sel && state)
{
@@ -233,10 +226,8 @@ void compucolor_floppy_device::select_w(int state)
bool compucolor_floppy_device::read_bit()
{
- floppy_image_device *floppy = m_floppy->get_device();
-
attotime when = machine().time();
- attotime edge = (floppy == nullptr) ? attotime::never : floppy->get_next_transition(when);
+ attotime edge = m_floppy->get_next_transition(when);
attotime next = when + m_period;
return (edge.is_never() || edge >= next) ? 0 : 1;
diff --git a/src/devices/bus/compucolor/floppy.h b/src/devices/bus/compucolor/floppy.h
index a4e476eb152..63e9c78782a 100644
--- a/src/devices/bus/compucolor/floppy.h
+++ b/src/devices/bus/compucolor/floppy.h
@@ -91,7 +91,7 @@ protected:
private:
DECLARE_FLOPPY_FORMATS( floppy_formats );
- required_device<floppy_connector> m_floppy;
+ required_device<floppy_image_device> m_floppy;
bool read_bit();
void write_bit(bool bit);
diff --git a/src/devices/bus/comx35/clm.cpp b/src/devices/bus/comx35/clm.cpp
index 745606875f0..333566eda1a 100644
--- a/src/devices/bus/comx35/clm.cpp
+++ b/src/devices/bus/comx35/clm.cpp
@@ -137,16 +137,15 @@ GFXDECODE_END
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void comx_clm_device::device_add_mconfig(machine_config &config)
-{
- screen_device &screen(SCREEN(config, MC6845_SCREEN_TAG, SCREEN_TYPE_RASTER, rgb_t::white()));
- screen.set_screen_update(MC6845_TAG, FUNC(mc6845_device::screen_update));
- screen.set_size(80*8, 24*8);
- screen.set_visarea(0, 80*8-1, 0, 24*8-1);
- screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500));
- screen.set_refresh_hz(50);
-
- GFXDECODE(config, "gfxdecode", m_palette, gfx_comx_clm);
+MACHINE_CONFIG_START(comx_clm_device::device_add_mconfig)
+ MCFG_SCREEN_ADD_MONOCHROME(MC6845_SCREEN_TAG, RASTER, rgb_t::white())
+ MCFG_SCREEN_UPDATE_DEVICE(MC6845_TAG, mc6845_device, screen_update)
+ MCFG_SCREEN_SIZE(80*8, 24*8)
+ MCFG_SCREEN_VISIBLE_AREA(0, 80*8-1, 0, 24*8-1)
+ MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500))
+ MCFG_SCREEN_REFRESH_RATE(50)
+
+ MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_comx_clm)
PALETTE(config, m_palette, palette_device::MONOCHROME);
MC6845(config, m_crtc, XTAL(14'318'181)/7);
@@ -154,7 +153,7 @@ void comx_clm_device::device_add_mconfig(machine_config &config)
m_crtc->set_show_border_area(true);
m_crtc->set_char_width(8);
m_crtc->set_update_row_callback(FUNC(comx_clm_device::crtc_update_row), this);
-}
+MACHINE_CONFIG_END
//**************************************************************************
@@ -215,7 +214,7 @@ int comx_clm_device::comx_ef4_r()
// comx_mrd_r - memory read
//-------------------------------------------------
-uint8_t comx_clm_device::comx_mrd_r(offs_t offset, int *extrom)
+uint8_t comx_clm_device::comx_mrd_r(address_space &space, offs_t offset, int *extrom)
{
uint8_t data = 0xff;
@@ -229,7 +228,7 @@ uint8_t comx_clm_device::comx_mrd_r(offs_t offset, int *extrom)
}
else if (offset == 0xd801)
{
- data = m_crtc->register_r();
+ data = m_crtc->register_r(space, 0);
}
return data;
@@ -240,7 +239,7 @@ uint8_t comx_clm_device::comx_mrd_r(offs_t offset, int *extrom)
// comx_mwr_w - memory write
//-------------------------------------------------
-void comx_clm_device::comx_mwr_w(offs_t offset, uint8_t data)
+void comx_clm_device::comx_mwr_w(address_space &space, offs_t offset, uint8_t data)
{
if (offset >= 0xd000 && offset < 0xd800)
{
@@ -248,10 +247,10 @@ void comx_clm_device::comx_mwr_w(offs_t offset, uint8_t data)
}
else if (offset == 0xd800)
{
- m_crtc->address_w(data);
+ m_crtc->address_w(space, 0, data);
}
else if (offset == 0xd801)
{
- m_crtc->register_w(data);
+ m_crtc->register_w(space, 0, data);
}
}
diff --git a/src/devices/bus/comx35/clm.h b/src/devices/bus/comx35/clm.h
index 9c4845cbbe0..0784ae7bab2 100644
--- a/src/devices/bus/comx35/clm.h
+++ b/src/devices/bus/comx35/clm.h
@@ -42,8 +42,8 @@ protected:
// device_comx_expansion_card_interface overrides
virtual int comx_ef4_r() override;
- virtual uint8_t comx_mrd_r(offs_t offset, int *extrom) override;
- virtual void comx_mwr_w(offs_t offset, uint8_t data) override;
+ virtual uint8_t comx_mrd_r(address_space &space, offs_t offset, int *extrom) override;
+ virtual void comx_mwr_w(address_space &space, offs_t offset, uint8_t data) override;
private:
MC6845_UPDATE_ROW( crtc_update_row );
diff --git a/src/devices/bus/comx35/eprom.cpp b/src/devices/bus/comx35/eprom.cpp
index 0267d7c5b62..5fda7492dd5 100644
--- a/src/devices/bus/comx35/eprom.cpp
+++ b/src/devices/bus/comx35/eprom.cpp
@@ -91,7 +91,7 @@ void comx_epr_device::device_reset()
// comx_mrd_r - memory read
//-------------------------------------------------
-uint8_t comx_epr_device::comx_mrd_r(offs_t offset, int *extrom)
+uint8_t comx_epr_device::comx_mrd_r(address_space &space, offs_t offset, int *extrom)
{
uint8_t data = 0;
@@ -113,7 +113,7 @@ uint8_t comx_epr_device::comx_mrd_r(offs_t offset, int *extrom)
// comx_io_w - I/O write
//-------------------------------------------------
-void comx_epr_device::comx_io_w(offs_t offset, uint8_t data)
+void comx_epr_device::comx_io_w(address_space &space, offs_t offset, uint8_t data)
{
if (offset == 1)
{
diff --git a/src/devices/bus/comx35/eprom.h b/src/devices/bus/comx35/eprom.h
index 90f57e52d3d..c6489dfa774 100644
--- a/src/devices/bus/comx35/eprom.h
+++ b/src/devices/bus/comx35/eprom.h
@@ -37,8 +37,8 @@ protected:
virtual void device_reset() override;
// device_comx_expansion_card_interface overrides
- virtual uint8_t comx_mrd_r(offs_t offset, int *extrom) override;
- virtual void comx_io_w(offs_t offset, uint8_t data) override;
+ virtual uint8_t comx_mrd_r(address_space &space, offs_t offset, int *extrom) override;
+ virtual void comx_io_w(address_space &space, offs_t offset, uint8_t data) override;
private:
required_memory_region m_rom;
diff --git a/src/devices/bus/comx35/exp.cpp b/src/devices/bus/comx35/exp.cpp
index 75036fb6ea8..eb5917dccbf 100644
--- a/src/devices/bus/comx35/exp.cpp
+++ b/src/devices/bus/comx35/exp.cpp
@@ -68,12 +68,12 @@ void comx_expansion_slot_device::device_start()
// mrd_r - memory read
//-------------------------------------------------
-uint8_t comx_expansion_slot_device::mrd_r(offs_t offset, int *extrom)
+uint8_t comx_expansion_slot_device::mrd_r(address_space &space, offs_t offset, int *extrom)
{
uint8_t data = 0;
if (m_card != nullptr)
- data = m_card->comx_mrd_r(offset, extrom);
+ data = m_card->comx_mrd_r(space, offset, extrom);
return data;
}
@@ -83,10 +83,10 @@ uint8_t comx_expansion_slot_device::mrd_r(offs_t offset, int *extrom)
// mwr_w - memory write
//-------------------------------------------------
-void comx_expansion_slot_device::mwr_w(offs_t offset, uint8_t data)
+void comx_expansion_slot_device::mwr_w(address_space &space, offs_t offset, uint8_t data)
{
if (m_card != nullptr)
- m_card->comx_mwr_w(offset, data);
+ m_card->comx_mwr_w(space, offset, data);
}
@@ -94,12 +94,12 @@ void comx_expansion_slot_device::mwr_w(offs_t offset, uint8_t data)
// io_r - I/O read
//-------------------------------------------------
-uint8_t comx_expansion_slot_device::io_r(offs_t offset)
+uint8_t comx_expansion_slot_device::io_r(address_space &space, offs_t offset)
{
uint8_t data = 0;
if (m_card != nullptr)
- data = m_card->comx_io_r(offset);
+ data = m_card->comx_io_r(space, offset);
return data;
}
@@ -109,10 +109,10 @@ uint8_t comx_expansion_slot_device::io_r(offs_t offset)
// sout_w - I/O write
//-------------------------------------------------
-void comx_expansion_slot_device::io_w(offs_t offset, uint8_t data)
+void comx_expansion_slot_device::io_w(address_space &space, offs_t offset, uint8_t data)
{
if (m_card != nullptr)
- m_card->comx_io_w(offset, data);
+ m_card->comx_io_w(space, offset, data);
}
diff --git a/src/devices/bus/comx35/exp.h b/src/devices/bus/comx35/exp.h
index dea67184e06..0629db0a1ac 100644
--- a/src/devices/bus/comx35/exp.h
+++ b/src/devices/bus/comx35/exp.h
@@ -62,11 +62,11 @@ public:
template <class Object> devcb_base &set_irq_wr_callback(Object &&cb) { return m_write_irq.set_callback(std::forward<Object>(cb)); }
auto irq_callback() { return m_write_irq.bind(); }
- uint8_t mrd_r(offs_t offset, int *extrom);
- void mwr_w(offs_t offset, uint8_t data);
+ uint8_t mrd_r(address_space &space, offs_t offset, int *extrom);
+ void mwr_w(address_space &space, offs_t offset, uint8_t data);
- uint8_t io_r(offs_t offset);
- void io_w(offs_t offset, uint8_t data);
+ uint8_t io_r(address_space &space, offs_t offset);
+ void io_w(address_space &space, offs_t offset, uint8_t data);
DECLARE_READ_LINE_MEMBER(ef4_r);
@@ -107,12 +107,12 @@ protected:
virtual void comx_tpb_w(int state) { }
// memory access
- virtual uint8_t comx_mrd_r(offs_t offset, int *extrom) { return 0; }
- virtual void comx_mwr_w(offs_t offset, uint8_t data) { }
+ virtual uint8_t comx_mrd_r(address_space &space, offs_t offset, int *extrom) { return 0; }
+ virtual void comx_mwr_w(address_space &space, offs_t offset, uint8_t data) { }
// I/O access
- virtual uint8_t comx_io_r(offs_t offset) { return 0; }
- virtual void comx_io_w(offs_t offset, uint8_t data) { }
+ virtual uint8_t comx_io_r(address_space &space, offs_t offset) { return 0; }
+ virtual void comx_io_w(address_space &space, offs_t offset, uint8_t data) { }
comx_expansion_slot_device *m_slot;
diff --git a/src/devices/bus/comx35/expbox.cpp b/src/devices/bus/comx35/expbox.cpp
index 65c945274f1..f7c693d4ecf 100644
--- a/src/devices/bus/comx35/expbox.cpp
+++ b/src/devices/bus/comx35/expbox.cpp
@@ -200,7 +200,7 @@ void comx_eb_device::comx_q_w(int state)
// comx_mrd_r - memory read
//-------------------------------------------------
-uint8_t comx_eb_device::comx_mrd_r(offs_t offset, int *extrom)
+uint8_t comx_eb_device::comx_mrd_r(address_space &space, offs_t offset, int *extrom)
{
uint8_t data = 0;
@@ -219,7 +219,7 @@ uint8_t comx_eb_device::comx_mrd_r(offs_t offset, int *extrom)
{
if (BIT(m_select, slot) && m_expansion_slot[slot] != nullptr)
{
- data |= m_expansion_slot[slot]->mrd_r(offset, extrom);
+ data |= m_expansion_slot[slot]->mrd_r(space, offset, extrom);
}
}
}
@@ -232,13 +232,13 @@ uint8_t comx_eb_device::comx_mrd_r(offs_t offset, int *extrom)
// comx_mwr_w - memory write
//-------------------------------------------------
-void comx_eb_device::comx_mwr_w(offs_t offset, uint8_t data)
+void comx_eb_device::comx_mwr_w(address_space &space, offs_t offset, uint8_t data)
{
for (int slot = 0; slot < MAX_EB_SLOTS; slot++)
{
if (BIT(m_select, slot) && m_expansion_slot[slot] != nullptr)
{
- m_expansion_slot[slot]->mwr_w(offset, data);
+ m_expansion_slot[slot]->mwr_w(space, offset, data);
}
}
}
@@ -248,7 +248,7 @@ void comx_eb_device::comx_mwr_w(offs_t offset, uint8_t data)
// comx_io_r - I/O read
//-------------------------------------------------
-uint8_t comx_eb_device::comx_io_r(offs_t offset)
+uint8_t comx_eb_device::comx_io_r(address_space &space, offs_t offset)
{
uint8_t data = 0;
@@ -256,7 +256,7 @@ uint8_t comx_eb_device::comx_io_r(offs_t offset)
{
if (BIT(m_select, slot) && m_expansion_slot[slot] != nullptr)
{
- data |= m_expansion_slot[slot]->io_r(offset);
+ data |= m_expansion_slot[slot]->io_r(space, offset);
}
}
@@ -268,7 +268,7 @@ uint8_t comx_eb_device::comx_io_r(offs_t offset)
// comx_io_w - I/O write
//-------------------------------------------------
-void comx_eb_device::comx_io_w(offs_t offset, uint8_t data)
+void comx_eb_device::comx_io_w(address_space &space, offs_t offset, uint8_t data)
{
if (offset == 1 && !(BIT(data, 0)))
{
@@ -287,7 +287,7 @@ void comx_eb_device::comx_io_w(offs_t offset, uint8_t data)
{
if (BIT(m_select, slot) && m_expansion_slot[slot] != nullptr)
{
- m_expansion_slot[slot]->io_w(offset, data);
+ m_expansion_slot[slot]->io_w(space, offset, data);
}
}
}
diff --git a/src/devices/bus/comx35/expbox.h b/src/devices/bus/comx35/expbox.h
index c4c89b4f2bc..4c806a79b92 100644
--- a/src/devices/bus/comx35/expbox.h
+++ b/src/devices/bus/comx35/expbox.h
@@ -48,10 +48,10 @@ protected:
// device_comx_expansion_card_interface overrides
virtual int comx_ef4_r() override;
virtual void comx_q_w(int state) override;
- virtual uint8_t comx_mrd_r(offs_t offset, int *extrom) override;
- virtual void comx_mwr_w(offs_t offset, uint8_t data) override;
- virtual uint8_t comx_io_r(offs_t offset) override;
- virtual void comx_io_w(offs_t offset, uint8_t data) override;
+ virtual uint8_t comx_mrd_r(address_space &space, offs_t offset, int *extrom) override;
+ virtual void comx_mwr_w(address_space &space, offs_t offset, uint8_t data) override;
+ virtual uint8_t comx_io_r(address_space &space, offs_t offset) override;
+ virtual void comx_io_w(address_space &space, offs_t offset, uint8_t data) override;
void set_irq() { m_slot->irq_w(m_irq[0] || m_irq[1] || m_irq[2] || m_irq[3]); }
diff --git a/src/devices/bus/comx35/fdc.cpp b/src/devices/bus/comx35/fdc.cpp
index da1b6dcc028..27246c37333 100644
--- a/src/devices/bus/comx35/fdc.cpp
+++ b/src/devices/bus/comx35/fdc.cpp
@@ -188,7 +188,7 @@ void comx_fd_device::comx_q_w(int state)
// comx_mrd_r - memory read
//-------------------------------------------------
-uint8_t comx_fd_device::comx_mrd_r(offs_t offset, int *extrom)
+uint8_t comx_fd_device::comx_mrd_r(address_space &space, offs_t offset, int *extrom)
{
uint8_t data = 0xff;
@@ -210,7 +210,7 @@ uint8_t comx_fd_device::comx_mrd_r(offs_t offset, int *extrom)
// comx_io_r - I/O read
//-------------------------------------------------
-uint8_t comx_fd_device::comx_io_r(offs_t offset)
+uint8_t comx_fd_device::comx_io_r(address_space &space, offs_t offset)
{
uint8_t data = 0xff;
@@ -235,7 +235,7 @@ uint8_t comx_fd_device::comx_io_r(offs_t offset)
// comx_io_w - I/O write
//-------------------------------------------------
-void comx_fd_device::comx_io_w(offs_t offset, uint8_t data)
+void comx_fd_device::comx_io_w(address_space &space, offs_t offset, uint8_t data)
{
if (offset == 2)
{
diff --git a/src/devices/bus/comx35/fdc.h b/src/devices/bus/comx35/fdc.h
index 45617bb8580..ad682e97718 100644
--- a/src/devices/bus/comx35/fdc.h
+++ b/src/devices/bus/comx35/fdc.h
@@ -43,9 +43,9 @@ protected:
// device_comx_expansion_card_interface overrides
virtual int comx_ef4_r() override;
virtual void comx_q_w(int state) override;
- virtual uint8_t comx_mrd_r(offs_t offset, int *extrom) override;
- virtual uint8_t comx_io_r(offs_t offset) override;
- virtual void comx_io_w(offs_t offset, uint8_t data) override;
+ virtual uint8_t comx_mrd_r(address_space &space, offs_t offset, int *extrom) override;
+ virtual uint8_t comx_io_r(address_space &space, offs_t offset) override;
+ virtual void comx_io_w(address_space &space, offs_t offset, uint8_t data) override;
private:
DECLARE_FLOPPY_FORMATS( floppy_formats );
diff --git a/src/devices/bus/comx35/joycard.cpp b/src/devices/bus/comx35/joycard.cpp
index e76f20a5be8..4c6e46ff06e 100644
--- a/src/devices/bus/comx35/joycard.cpp
+++ b/src/devices/bus/comx35/joycard.cpp
@@ -98,7 +98,7 @@ void comx_joy_device::device_reset()
// comx_mrd_r - I/O read
//-------------------------------------------------
-uint8_t comx_joy_device::comx_io_r(offs_t offset)
+uint8_t comx_joy_device::comx_io_r(address_space &space, offs_t offset)
{
uint8_t data = 0;
diff --git a/src/devices/bus/comx35/joycard.h b/src/devices/bus/comx35/joycard.h
index 92c41431961..e2d6bb40151 100644
--- a/src/devices/bus/comx35/joycard.h
+++ b/src/devices/bus/comx35/joycard.h
@@ -37,7 +37,7 @@ protected:
virtual void device_reset() override;
// device_comx_expansion_card_interface overrides
- virtual uint8_t comx_io_r(offs_t offset) override;
+ virtual uint8_t comx_io_r(address_space &space, offs_t offset) override;
private:
required_ioport m_joy1;
diff --git a/src/devices/bus/comx35/printer.cpp b/src/devices/bus/comx35/printer.cpp
index 6858d687c0b..24a50e7ed53 100644
--- a/src/devices/bus/comx35/printer.cpp
+++ b/src/devices/bus/comx35/printer.cpp
@@ -55,19 +55,16 @@ const tiny_rom_entry *comx_prn_device::device_rom_region() const
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void comx_prn_device::device_add_mconfig(machine_config &config)
-{
- CENTRONICS(config, m_centronics, centronics_devices, "printer");
- m_centronics->ack_handler().set(m_cent_status_in, FUNC(input_buffer_device::write_bit0));
- m_centronics->busy_handler().set(m_cent_status_in, FUNC(input_buffer_device::write_bit1));
- m_centronics->perror_handler().set(m_cent_status_in, FUNC(input_buffer_device::write_bit2));
- m_centronics->select_handler().set(m_cent_status_in, FUNC(input_buffer_device::write_bit3));
-
- OUTPUT_LATCH(config, m_cent_data_out);
- m_centronics->set_output_latch(*m_cent_data_out);
+MACHINE_CONFIG_START(comx_prn_device::device_add_mconfig)
+ MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
+ MCFG_CENTRONICS_ACK_HANDLER(WRITELINE("cent_status_in", input_buffer_device, write_bit0))
+ MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE("cent_status_in", input_buffer_device, write_bit1))
+ MCFG_CENTRONICS_PERROR_HANDLER(WRITELINE("cent_status_in", input_buffer_device, write_bit2))
+ MCFG_CENTRONICS_SELECT_HANDLER(WRITELINE("cent_status_in", input_buffer_device, write_bit3))
+ MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
- INPUT_BUFFER(config, m_cent_status_in);
-}
+ MCFG_DEVICE_ADD("cent_status_in", INPUT_BUFFER, 0)
+MACHINE_CONFIG_END
@@ -112,7 +109,7 @@ void comx_prn_device::device_reset()
// comx_mrd_r - memory read
//-------------------------------------------------
-uint8_t comx_prn_device::comx_mrd_r(offs_t offset, int *extrom)
+uint8_t comx_prn_device::comx_mrd_r(address_space &space, offs_t offset, int *extrom)
{
uint8_t data = 0;
@@ -129,7 +126,7 @@ uint8_t comx_prn_device::comx_mrd_r(offs_t offset, int *extrom)
// comx_io_r - I/O read
//-------------------------------------------------
-uint8_t comx_prn_device::comx_io_r(offs_t offset)
+uint8_t comx_prn_device::comx_io_r(address_space &space, offs_t offset)
{
/*
Parallel:
@@ -168,7 +165,7 @@ uint8_t comx_prn_device::comx_io_r(offs_t offset)
// comx_io_w - I/O write
//-------------------------------------------------
-void comx_prn_device::comx_io_w(offs_t offset, uint8_t data)
+void comx_prn_device::comx_io_w(address_space &space, offs_t offset, uint8_t data)
{
/*
Parallel:
diff --git a/src/devices/bus/comx35/printer.h b/src/devices/bus/comx35/printer.h
index 1ffa3f66046..dcfd27a7cd1 100644
--- a/src/devices/bus/comx35/printer.h
+++ b/src/devices/bus/comx35/printer.h
@@ -39,9 +39,9 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// device_comx_expansion_card_interface overrides
- virtual uint8_t comx_mrd_r(offs_t offset, int *extrom) override;
- virtual uint8_t comx_io_r(offs_t offset) override;
- virtual void comx_io_w(offs_t offset, uint8_t data) override;
+ virtual uint8_t comx_mrd_r(address_space &space, offs_t offset, int *extrom) override;
+ virtual uint8_t comx_io_r(address_space &space, offs_t offset) override;
+ virtual void comx_io_w(address_space &space, offs_t offset, uint8_t data) override;
private:
required_device<centronics_device> m_centronics;
diff --git a/src/devices/bus/comx35/ram.cpp b/src/devices/bus/comx35/ram.cpp
index b468b6366ff..c09ef729225 100644
--- a/src/devices/bus/comx35/ram.cpp
+++ b/src/devices/bus/comx35/ram.cpp
@@ -66,7 +66,7 @@ void comx_ram_device::device_reset()
// comx_mrd_r - memory read
//-------------------------------------------------
-uint8_t comx_ram_device::comx_mrd_r(offs_t offset, int *extrom)
+uint8_t comx_ram_device::comx_mrd_r(address_space &space, offs_t offset, int *extrom)
{
uint8_t data = 0;
@@ -83,7 +83,7 @@ uint8_t comx_ram_device::comx_mrd_r(offs_t offset, int *extrom)
// comx_mwr_w - memory write
//-------------------------------------------------
-void comx_ram_device::comx_mwr_w(offs_t offset, uint8_t data)
+void comx_ram_device::comx_mwr_w(address_space &space, offs_t offset, uint8_t data)
{
if (offset >= 0xc000 && offset < 0xd000)
{
@@ -96,7 +96,7 @@ void comx_ram_device::comx_mwr_w(offs_t offset, uint8_t data)
// comx_io_w - I/O write
//-------------------------------------------------
-void comx_ram_device::comx_io_w(offs_t offset, uint8_t data)
+void comx_ram_device::comx_io_w(address_space &space, offs_t offset, uint8_t data)
{
if (offset == 1)
{
diff --git a/src/devices/bus/comx35/ram.h b/src/devices/bus/comx35/ram.h
index 3a75e208eb6..251e47e2097 100644
--- a/src/devices/bus/comx35/ram.h
+++ b/src/devices/bus/comx35/ram.h
@@ -34,9 +34,9 @@ protected:
virtual void device_reset() override;
// device_comx_expansion_card_interface overrides
- virtual uint8_t comx_mrd_r(offs_t offset, int *extrom) override;
- virtual void comx_mwr_w(offs_t offset, uint8_t data) override;
- virtual void comx_io_w(offs_t offset, uint8_t data) override;
+ virtual uint8_t comx_mrd_r(address_space &space, offs_t offset, int *extrom) override;
+ virtual void comx_mwr_w(address_space &space, offs_t offset, uint8_t data) override;
+ virtual void comx_io_w(address_space &space, offs_t offset, uint8_t data) override;
private:
optional_shared_ptr<uint8_t> m_ram;
diff --git a/src/devices/bus/comx35/thermal.cpp b/src/devices/bus/comx35/thermal.cpp
index badd1beb8c1..e1d4f0ed8d3 100644
--- a/src/devices/bus/comx35/thermal.cpp
+++ b/src/devices/bus/comx35/thermal.cpp
@@ -82,7 +82,7 @@ void comx_thm_device::device_reset()
// comx_mrd_r - memory read
//-------------------------------------------------
-uint8_t comx_thm_device::comx_mrd_r(offs_t offset, int *extrom)
+uint8_t comx_thm_device::comx_mrd_r(address_space &space, offs_t offset, int *extrom)
{
uint8_t data = 0;
@@ -99,7 +99,7 @@ uint8_t comx_thm_device::comx_mrd_r(offs_t offset, int *extrom)
// comx_io_r - I/O read
//-------------------------------------------------
-uint8_t comx_thm_device::comx_io_r(offs_t offset)
+uint8_t comx_thm_device::comx_io_r(address_space &space, offs_t offset)
{
/*
INP 2 is used for the printer status, where:
@@ -116,7 +116,7 @@ uint8_t comx_thm_device::comx_io_r(offs_t offset)
// comx_io_w - I/O write
//-------------------------------------------------
-void comx_thm_device::comx_io_w(offs_t offset, uint8_t data)
+void comx_thm_device::comx_io_w(address_space &space, offs_t offset, uint8_t data)
{
/*
OUT 2 is used to control the thermal printer where:
diff --git a/src/devices/bus/comx35/thermal.h b/src/devices/bus/comx35/thermal.h
index 645f6bf0213..feb92f7bc45 100644
--- a/src/devices/bus/comx35/thermal.h
+++ b/src/devices/bus/comx35/thermal.h
@@ -37,9 +37,9 @@ protected:
virtual void device_reset() override;
// device_comx_expansion_card_interface overrides
- virtual uint8_t comx_mrd_r(offs_t offset, int *extrom) override;
- virtual uint8_t comx_io_r(offs_t offset) override;
- virtual void comx_io_w(offs_t offset, uint8_t data) override;
+ virtual uint8_t comx_mrd_r(address_space &space, offs_t offset, int *extrom) override;
+ virtual uint8_t comx_io_r(address_space &space, offs_t offset) override;
+ virtual void comx_io_w(address_space &space, offs_t offset, uint8_t data) override;
private:
required_memory_region m_rom;
diff --git a/src/devices/bus/cpc/amdrum.cpp b/src/devices/bus/cpc/amdrum.cpp
index 587577edf52..b0c0610b607 100644
--- a/src/devices/bus/cpc/amdrum.cpp
+++ b/src/devices/bus/cpc/amdrum.cpp
@@ -20,15 +20,13 @@
DEFINE_DEVICE_TYPE(CPC_AMDRUM, cpc_amdrum_device, "cpc_amdrum", "Amdrum")
-void cpc_amdrum_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(cpc_amdrum_device::device_add_mconfig)
SPEAKER(config, "speaker").front_center();
- ZN428E(config, m_dac, 0).add_route(ALL_OUTPUTS, "speaker", 0.5);
- voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref"));
- vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
- vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT);
+ MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC
+ MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
// no pass-through
-}
+MACHINE_CONFIG_END
//**************************************************************************
diff --git a/src/devices/bus/cpc/cpc_rom.cpp b/src/devices/bus/cpc/cpc_rom.cpp
index 69bd7f80035..a3fedd575bc 100644
--- a/src/devices/bus/cpc/cpc_rom.cpp
+++ b/src/devices/bus/cpc/cpc_rom.cpp
@@ -18,23 +18,22 @@ void cpc_exp_cards(device_slot_interface &device);
//**************************************************************************
// device machine config
-void cpc_rom_device::device_add_mconfig(machine_config &config)
-{
- CPC_ROMSLOT(config, m_rom[0], 0);
- CPC_ROMSLOT(config, m_rom[1], 0);
- CPC_ROMSLOT(config, m_rom[2], 0);
- CPC_ROMSLOT(config, m_rom[3], 0);
- CPC_ROMSLOT(config, m_rom[4], 0);
- CPC_ROMSLOT(config, m_rom[5], 0);
- CPC_ROMSLOT(config, m_rom[6], 0);
- CPC_ROMSLOT(config, m_rom[7], 0);
+MACHINE_CONFIG_START(cpc_rom_device::device_add_mconfig)
+ MCFG_CPC_ROMSLOT_ADD("rom1")
+ MCFG_CPC_ROMSLOT_ADD("rom2")
+ MCFG_CPC_ROMSLOT_ADD("rom3")
+ MCFG_CPC_ROMSLOT_ADD("rom4")
+ MCFG_CPC_ROMSLOT_ADD("rom5")
+ MCFG_CPC_ROMSLOT_ADD("rom6")
+ MCFG_CPC_ROMSLOT_ADD("rom7")
+ MCFG_CPC_ROMSLOT_ADD("rom8")
// pass-through
cpc_expansion_slot_device &exp(CPC_EXPANSION_SLOT(config, "exp", DERIVED_CLOCK(1, 1), cpc_exp_cards, nullptr));
exp.irq_callback().set(DEVICE_SELF_OWNER, FUNC(cpc_expansion_slot_device::irq_w));
exp.nmi_callback().set(DEVICE_SELF_OWNER, FUNC(cpc_expansion_slot_device::nmi_w));
exp.romdis_callback().set(DEVICE_SELF_OWNER, FUNC(cpc_expansion_slot_device::romdis_w)); // ROMDIS
-}
+MACHINE_CONFIG_END
//**************************************************************************
diff --git a/src/devices/bus/cpc/cpc_rom.h b/src/devices/bus/cpc/cpc_rom.h
index 67e88cf6137..0128dc79337 100644
--- a/src/devices/bus/cpc/cpc_rom.h
+++ b/src/devices/bus/cpc/cpc_rom.h
@@ -53,6 +53,9 @@ private:
DECLARE_DEVICE_TYPE(CPC_ROMSLOT, cpc_rom_image_device)
+#define MCFG_CPC_ROMSLOT_ADD(_tag) \
+ MCFG_DEVICE_ADD(_tag, CPC_ROMSLOT, 0)
+
/*** ROM box device ***/
class cpc_rom_device : public device_t,
diff --git a/src/devices/bus/cpc/cpcexp.cpp b/src/devices/bus/cpc/cpcexp.cpp
index 3f9f04e89ea..ab92c31a4df 100644
--- a/src/devices/bus/cpc/cpcexp.cpp
+++ b/src/devices/bus/cpc/cpcexp.cpp
@@ -83,7 +83,7 @@ void cpc_expansion_slot_device::device_start()
void cpc_expansion_slot_device::device_config_complete()
{
// for passthrough connectors, use the parent slot's CPU tag
- if ((m_cpu.finder_tag() == finder_base::DUMMY_TAG) && (dynamic_cast<device_cpc_expansion_card_interface *>(owner()) != nullptr))
+ if (strcmp(m_cpu.finder_tag(), finder_base::DUMMY_TAG) == 0 && dynamic_cast<device_cpc_expansion_card_interface *>(owner()) != nullptr)
{
auto parent = dynamic_cast<cpc_expansion_slot_device *>(owner()->owner());
if (parent != nullptr)
diff --git a/src/devices/bus/cpc/ddi1.cpp b/src/devices/bus/cpc/ddi1.cpp
index 76e09d36f34..0202f9374ae 100644
--- a/src/devices/bus/cpc/ddi1.cpp
+++ b/src/devices/bus/cpc/ddi1.cpp
@@ -116,7 +116,7 @@ WRITE8_MEMBER(cpc_ddi1_device::fdc_w)
switch(offset)
{
case 0x01:
- m_fdc->fifo_w(data);
+ m_fdc->fifo_w(space, 0,data);
break;
}
}
@@ -128,10 +128,10 @@ READ8_MEMBER(cpc_ddi1_device::fdc_r)
switch(offset)
{
case 0x00:
- data = m_fdc->msr_r();
+ data = m_fdc->msr_r(space, 0);
break;
case 0x01:
- data = m_fdc->fifo_r();
+ data = m_fdc->fifo_r(space, 0);
break;
}
return data;
diff --git a/src/devices/bus/cpc/doubler.cpp b/src/devices/bus/cpc/doubler.cpp
index e9ed2e5b5f4..ce89c0819dd 100644
--- a/src/devices/bus/cpc/doubler.cpp
+++ b/src/devices/bus/cpc/doubler.cpp
@@ -16,15 +16,14 @@
DEFINE_DEVICE_TYPE(CPC_DOUBLER, cpc_doubler_device, "cpc_doubler", "Draysoft Doubler")
-void cpc_doubler_device::device_add_mconfig(machine_config &config)
-{
- CASSETTE(config, m_tape);
- m_tape->set_formats(cdt_cassette_formats);
- m_tape->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED);
- m_tape->set_interface("cpc_cass");
+MACHINE_CONFIG_START(cpc_doubler_device::device_add_mconfig)
+ MCFG_CASSETTE_ADD( "doubler_tape" )
+ MCFG_CASSETTE_FORMATS(cdt_cassette_formats)
+ MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED)
+ MCFG_CASSETTE_INTERFACE("cpc_cass")
// no pass-through seen on remake PCBs, unknown if actual hardware had a pass-through port or not
-}
+MACHINE_CONFIG_END
//**************************************************************************
diff --git a/src/devices/bus/cpc/hd20.cpp b/src/devices/bus/cpc/hd20.cpp
index c13ffca6b4b..3ad082ee90d 100644
--- a/src/devices/bus/cpc/hd20.cpp
+++ b/src/devices/bus/cpc/hd20.cpp
@@ -15,13 +15,12 @@
DEFINE_DEVICE_TYPE(CPC_HD20, cpc_hd20_device, "cpc_hd20", "Dobbertin HD20")
-void cpc_hd20_device::device_add_mconfig(machine_config &config)
-{
- ST11M_HDC(config, m_hdc,0);
- m_hdc->irq_handler().set(FUNC(cpc_hd20_device::irq_w));
- HARDDISK(config, "hdc:primary");
+MACHINE_CONFIG_START(cpc_hd20_device::device_add_mconfig)
+ MCFG_DEVICE_ADD("hdc",ST11M_HDC,0)
+ MCFG_XTHDC_IRQ_HANDLER(WRITELINE(*this, cpc_hd20_device, irq_w))
+ MCFG_HARDDISK_ADD("hdc:primary")
// no pass-through (?)
-}
+MACHINE_CONFIG_END
ROM_START( cpc_hd20 )
diff --git a/src/devices/bus/cpc/magicsound.cpp b/src/devices/bus/cpc/magicsound.cpp
index 1a85915dca1..f1a940a72c3 100644
--- a/src/devices/bus/cpc/magicsound.cpp
+++ b/src/devices/bus/cpc/magicsound.cpp
@@ -20,8 +20,7 @@
DEFINE_DEVICE_TYPE(AL_MAGICSOUND, al_magicsound_device, "al_magicsound", "Aleste Magic Sound Board")
-void al_magicsound_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(al_magicsound_device::device_add_mconfig)
AM9517A(config, m_dmac, DERIVED_CLOCK(1, 1)); // CLK from expansion port
// According to the schematics, the TC pin (EOP on western chips) is connected to NMI on the expansion port.
// NMIs seem to occur too quickly when this is active, so either EOP is not triggered at the correct time, or
@@ -58,12 +57,11 @@ void al_magicsound_device::device_add_mconfig(machine_config &config)
m_timer2->set_clk<2>(4000000);
SPEAKER(config, "speaker").front_center();
- DAC_8BIT_R2R(config, m_dac, 0).add_route(ALL_OUTPUTS, "speaker", 0.5); // unknown DAC
- voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref"));
- vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
- vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT);
+ MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC
+ MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
// no pass-through(?)
-}
+MACHINE_CONFIG_END
//**************************************************************************
@@ -115,12 +113,12 @@ void al_magicsound_device::device_reset()
READ8_MEMBER(al_magicsound_device::dmac_r)
{
- return m_dmac->read(offset);
+ return m_dmac->read(space,offset);
}
WRITE8_MEMBER(al_magicsound_device::dmac_w)
{
- m_dmac->write(offset,data);
+ m_dmac->write(space,offset,data);
}
WRITE8_MEMBER(al_magicsound_device::timer_w)
diff --git a/src/devices/bus/cpc/playcity.cpp b/src/devices/bus/cpc/playcity.cpp
index 1e6f3b0cfa6..f9d225ef7b6 100644
--- a/src/devices/bus/cpc/playcity.cpp
+++ b/src/devices/bus/cpc/playcity.cpp
@@ -99,32 +99,32 @@ WRITE8_MEMBER(cpc_playcity_device::ctc_w)
WRITE8_MEMBER(cpc_playcity_device::ymz1_address_w)
{
- m_ymz1->address_w(data);
+ m_ymz1->address_w(space,offset,data);
}
WRITE8_MEMBER(cpc_playcity_device::ymz2_address_w)
{
- m_ymz2->address_w(data);
+ m_ymz2->address_w(space,offset,data);
}
WRITE8_MEMBER(cpc_playcity_device::ymz1_data_w)
{
- m_ymz1->data_w(data);
+ m_ymz1->data_w(space,offset,data);
}
WRITE8_MEMBER(cpc_playcity_device::ymz2_data_w)
{
- m_ymz2->data_w(data);
+ m_ymz2->data_w(space,offset,data);
}
READ8_MEMBER(cpc_playcity_device::ymz1_data_r)
{
- return m_ymz1->data_r();
+ return m_ymz1->data_r(space,offset);
}
READ8_MEMBER(cpc_playcity_device::ymz2_data_r)
{
- return m_ymz2->data_r();
+ return m_ymz2->data_r(space,offset);
}
void cpc_playcity_device::update_ymz_clock()
diff --git a/src/devices/bus/cpc/smartwatch.cpp b/src/devices/bus/cpc/smartwatch.cpp
index 272b7ca953e..bd039c40735 100644
--- a/src/devices/bus/cpc/smartwatch.cpp
+++ b/src/devices/bus/cpc/smartwatch.cpp
@@ -71,18 +71,15 @@ void cpc_smartwatch_device::device_reset()
READ8_MEMBER(cpc_smartwatch_device::rtc_w)
{
uint8_t* bank = (uint8_t*)m_bank->base();
- if (!machine().side_effects_disabled())
- {
- if(offset & 1)
- m_rtc->read_1();
- else
- m_rtc->read_0();
- }
+ if(offset & 1)
+ m_rtc->read_1(space,0);
+ else
+ m_rtc->read_0(space,0);
return bank[offset & 1];
}
READ8_MEMBER(cpc_smartwatch_device::rtc_r)
{
uint8_t* bank = (uint8_t*)m_bank->base();
- return ((bank[(offset & 1)+4]) & 0xfe) | (m_rtc->read_data() & 0x01);
+ return ((bank[(offset & 1)+4]) & 0xfe) | (m_rtc->read_data(space,0) & 0x01);
}
diff --git a/src/devices/bus/cpc/symbfac2.cpp b/src/devices/bus/cpc/symbfac2.cpp
index fbdb67f5085..a68ecdbd900 100644
--- a/src/devices/bus/cpc/symbfac2.cpp
+++ b/src/devices/bus/cpc/symbfac2.cpp
@@ -161,12 +161,27 @@ WRITE8_MEMBER(cpc_symbiface2_device::ide_cs1_w)
// #FD14 (read/write) read from or write into selected register
READ8_MEMBER(cpc_symbiface2_device::rtc_r)
{
- return m_rtc->read(~offset & 0x01);
+ switch(offset & 0x01)
+ {
+ case 0x00:
+ return m_rtc->read(space,1);
+ case 0x01:
+ return m_rtc->read(space,0);
+ }
+ return 0;
}
WRITE8_MEMBER(cpc_symbiface2_device::rtc_w)
{
- m_rtc->write(~offset & 0x01, data);
+ switch(offset & 0x01)
+ {
+ case 0x00:
+ m_rtc->write(space,1,data);
+ break;
+ case 0x01:
+ m_rtc->write(space,0,data);
+ break;
+ }
}
// PS/2 Mouse connector
diff --git a/src/devices/bus/dmv/dmvbus.cpp b/src/devices/bus/dmv/dmvbus.cpp
index 7ad4ae3a2bb..80cb8ae748c 100644
--- a/src/devices/bus/dmv/dmvbus.cpp
+++ b/src/devices/bus/dmv/dmvbus.cpp
@@ -201,10 +201,7 @@ dmvcart_slot_device::dmvcart_slot_device(const machine_config &mconfig, const ch
m_prog_write_cb(*this),
m_out_int_cb(*this),
m_out_irq_cb(*this),
- m_out_thold_cb(*this),
- m_memspace(*this, finder_base::DUMMY_TAG, -1),
- m_iospace(*this, finder_base::DUMMY_TAG, -1),
- m_cart(nullptr)
+ m_out_thold_cb(*this), m_cart(nullptr)
{
}
@@ -279,10 +276,10 @@ void dmvcart_slot_device::ram_write(uint8_t cas, offs_t offset, uint8_t data)
IO read
-------------------------------------------------*/
-void dmvcart_slot_device::io_read(int ifsel, offs_t offset, uint8_t &data)
+void dmvcart_slot_device::io_read(address_space &space, int ifsel, offs_t offset, uint8_t &data)
{
if (m_cart)
- m_cart->io_read(ifsel, offset, data);
+ m_cart->io_read(space, ifsel, offset, data);
}
@@ -290,10 +287,10 @@ void dmvcart_slot_device::io_read(int ifsel, offs_t offset, uint8_t &data)
IO write
-------------------------------------------------*/
-void dmvcart_slot_device::io_write(int ifsel, offs_t offset, uint8_t data)
+void dmvcart_slot_device::io_write(address_space &space, int ifsel, offs_t offset, uint8_t data)
{
if (m_cart)
- m_cart->io_write(ifsel, offset, data);
+ m_cart->io_write(space, ifsel, offset, data);
}
/*-------------------------------------------------
diff --git a/src/devices/bus/dmv/dmvbus.h b/src/devices/bus/dmv/dmvbus.h
index 22c81767151..a10eab52bc0 100644
--- a/src/devices/bus/dmv/dmvbus.h
+++ b/src/devices/bus/dmv/dmvbus.h
@@ -25,8 +25,8 @@ public:
virtual bool read(offs_t offset, uint8_t &data) { return false; }
virtual bool write(offs_t offset, uint8_t data) { return false; }
- virtual void io_read(int ifsel, offs_t offset, uint8_t &data) { }
- virtual void io_write(int ifsel, offs_t offset, uint8_t data) { }
+ virtual void io_read(address_space &space, int ifsel, offs_t offset, uint8_t &data) { }
+ virtual void io_write(address_space &space, int ifsel, offs_t offset, uint8_t data) { }
// slot 1
virtual void ram_read(uint8_t cas, offs_t offset, uint8_t &data) { }
@@ -59,25 +59,14 @@ class dmvcart_slot_device : public device_t,
{
public:
// construction/destruction
- template <typename T>
- dmvcart_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt)
- : dmvcart_slot_device(mconfig, tag, owner, (uint32_t)0)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
dmvcart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~dmvcart_slot_device();
- auto prog_read() { return m_prog_read_cb.bind(); }
- auto prog_write() { return m_prog_write_cb.bind(); }
- auto out_int() { return m_out_int_cb.bind(); }
- auto out_irq() { return m_out_irq_cb.bind(); }
- auto out_thold() { return m_out_thold_cb.bind(); }
- template <typename T> void set_memspace(T &&tag, int spacenum) { m_memspace.set_tag(std::forward<T>(tag), spacenum); }
- template <typename T> void set_iospace(T &&tag, int spacenum) { m_iospace.set_tag(std::forward<T>(tag), spacenum); }
+ template <class Object> devcb_base &set_prog_read_callback(Object &&cb) { return m_prog_read_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_prog_write_callback(Object &&cb) { return m_prog_write_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_out_int_callback(Object &&cb) { return m_out_int_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_out_irq_callback(Object &&cb) { return m_out_irq_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_out_thold_callback(Object &&cb) { return m_out_thold_cb.set_callback(std::forward<Object>(cb)); }
// device-level overrides
virtual void device_start() override;
@@ -87,8 +76,8 @@ public:
virtual bool write(offs_t offset, uint8_t data);
virtual void ram_read(uint8_t cas, offs_t offset, uint8_t &data);
virtual void ram_write(uint8_t cas, offs_t offset, uint8_t data);
- virtual void io_read(int ifsel, offs_t offset, uint8_t &data);
- virtual void io_write(int ifsel, offs_t offset, uint8_t data);
+ virtual void io_read(address_space &space, int ifsel, offs_t offset, uint8_t &data);
+ virtual void io_write(address_space &space, int ifsel, offs_t offset, uint8_t data);
virtual void hold_w(int state);
virtual void switch16_w(int state);
virtual void timint_w(int state);
@@ -109,10 +98,6 @@ public:
devcb_write_line m_out_int_cb;
devcb_write_line m_out_irq_cb;
devcb_write_line m_out_thold_cb;
-
- required_address_space m_memspace;
- required_address_space m_iospace;
-
device_dmvslot_interface* m_cart;
};
@@ -120,4 +105,22 @@ public:
// device type definition
DECLARE_DEVICE_TYPE(DMVCART_SLOT, dmvcart_slot_device)
+
+/***************************************************************************
+ DEVICE CONFIGURATION MACROS
+***************************************************************************/
+
+#define MCFG_DMVCART_SLOT_PROGRAM_READWRITE_CB(_read_devcb, _write_devcb) \
+ downcast<dmvcart_slot_device &>(*device).set_prog_read_callback(DEVCB_##_read_devcb); \
+ downcast<dmvcart_slot_device &>(*device).set_prog_write_callback(DEVCB_##_write_devcb);
+
+#define MCFG_DMVCART_SLOT_OUT_INT_CB(_devcb) \
+ downcast<dmvcart_slot_device &>(*device).set_out_int_callback(DEVCB_##_devcb);
+
+#define MCFG_DMVCART_SLOT_OUT_IRQ_CB(_devcb) \
+ downcast<dmvcart_slot_device &>(*device).set_out_irq_callback(DEVCB_##_devcb);
+
+#define MCFG_DMVCART_SLOT_OUT_THOLD_CB(_devcb) \
+ downcast<dmvcart_slot_device &>(*device).set_out_thold_callback(DEVCB_##_devcb);
+
#endif // MAME_BUS_DMV_DMVBUS_H
diff --git a/src/devices/bus/dmv/k210.cpp b/src/devices/bus/dmv/k210.cpp
index d73f2dfb9a9..df16006f19b 100644
--- a/src/devices/bus/dmv/k210.cpp
+++ b/src/devices/bus/dmv/k210.cpp
@@ -73,8 +73,7 @@ void dmv_k210_device::device_timer(emu_timer &timer, device_timer_id tid, int pa
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void dmv_k210_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(dmv_k210_device::device_add_mconfig)
I8255(config, m_ppi, 0);
m_ppi->in_pa_callback().set(FUNC(dmv_k210_device::porta_r));
m_ppi->in_pb_callback().set(FUNC(dmv_k210_device::portb_r));
@@ -94,18 +93,16 @@ void dmv_k210_device::device_add_mconfig(machine_config &config)
m_centronics->init_handler().set(FUNC(dmv_k210_device::cent_init_w));
INPUT_BUFFER(config, m_cent_data_in);
+ MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
+MACHINE_CONFIG_END
- OUTPUT_LATCH(config, m_cent_data_out);
- m_centronics->set_output_latch(*m_cent_data_out);
-}
-
-void dmv_k210_device::io_read(int ifsel, offs_t offset, uint8_t &data)
+void dmv_k210_device::io_read(address_space &space, int ifsel, offs_t offset, uint8_t &data)
{
if (ifsel == 0)
data = m_ppi->read(offset & 0x03);
}
-void dmv_k210_device::io_write(int ifsel, offs_t offset, uint8_t data)
+void dmv_k210_device::io_write(address_space &space, int ifsel, offs_t offset, uint8_t data)
{
if (ifsel == 0)
m_ppi->write(offset & 0x03, data);
diff --git a/src/devices/bus/dmv/k210.h b/src/devices/bus/dmv/k210.h
index 501178f6fcf..dcc51a374ed 100644
--- a/src/devices/bus/dmv/k210.h
+++ b/src/devices/bus/dmv/k210.h
@@ -33,8 +33,8 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// dmvcart_interface overrides
- virtual void io_read(int ifsel, offs_t offset, uint8_t &data) override;
- virtual void io_write(int ifsel, offs_t offset, uint8_t data) override;
+ virtual void io_read(address_space &space, int ifsel, offs_t offset, uint8_t &data) override;
+ virtual void io_write(address_space &space, int ifsel, offs_t offset, uint8_t data) override;
private:
DECLARE_READ8_MEMBER(porta_r);
diff --git a/src/devices/bus/dmv/k220.cpp b/src/devices/bus/dmv/k220.cpp
index 4ad0667f689..4fff4f5b2bf 100644
--- a/src/devices/bus/dmv/k220.cpp
+++ b/src/devices/bus/dmv/k220.cpp
@@ -122,7 +122,6 @@ DEFINE_DEVICE_TYPE(DMV_K220, dmv_k220_device, "dmv_k220", "K220 diagnostic")
dmv_k220_device::dmv_k220_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
: device_t(mconfig, DMV_K220, tag, owner, clock)
, device_dmvslot_interface(mconfig, *this)
- , m_bus(*this, DEVICE_SELF_OWNER)
, m_pit(*this, "pit8253")
, m_ppi(*this, "ppi8255")
, m_ram(*this, "ram")
@@ -138,7 +137,7 @@ dmv_k220_device::dmv_k220_device(const machine_config &mconfig, const char *tag,
void dmv_k220_device::device_start()
{
- address_space &space = *m_bus->m_iospace;
+ address_space &space = machine().device<cpu_device>("maincpu")->space(AS_IO);
space.install_readwrite_handler(0x08, 0x0b, read8sm_delegate(FUNC(pit8253_device::read), &(*m_pit)), write8sm_delegate(FUNC(pit8253_device::write), &(*m_pit)), 0);
space.install_readwrite_handler(0x0c, 0x0f, read8sm_delegate(FUNC(i8255_device::read), &(*m_ppi)), write8sm_delegate(FUNC(i8255_device::write), &(*m_ppi)), 0);
diff --git a/src/devices/bus/dmv/k220.h b/src/devices/bus/dmv/k220.h
index 60edad3b5f3..453b3e49f78 100644
--- a/src/devices/bus/dmv/k220.h
+++ b/src/devices/bus/dmv/k220.h
@@ -44,7 +44,6 @@ private:
DECLARE_WRITE_LINE_MEMBER(write_out1);
DECLARE_WRITE_LINE_MEMBER(write_out2);
- required_device<dmvcart_slot_device> m_bus;
required_device<pit8253_device> m_pit;
required_device<i8255_device> m_ppi;
required_memory_region m_ram;
diff --git a/src/devices/bus/dmv/k230.cpp b/src/devices/bus/dmv/k230.cpp
index b5454fa78db..9104abe2f7b 100644
--- a/src/devices/bus/dmv/k230.cpp
+++ b/src/devices/bus/dmv/k230.cpp
@@ -98,10 +98,7 @@ dmv_k230_device::dmv_k230_device(const machine_config &mconfig, device_type type
: device_t(mconfig, type, tag, owner, clock)
, device_dmvslot_interface(mconfig, *this)
, m_maincpu(*this, "maincpu")
- , m_rom(*this, "rom")
- , m_bus(*this, DEVICE_SELF_OWNER)
- , m_switch16(0)
- , m_hold(0)
+ , m_rom(*this, "rom"), m_bus(nullptr), m_io(nullptr), m_switch16(0), m_hold(0)
{
}
@@ -139,12 +136,14 @@ dmv_k235_device::dmv_k235_device(const machine_config &mconfig, const char *tag,
void dmv_k230_device::device_start()
{
+ m_bus = static_cast<dmvcart_slot_device*>(owner());
+ m_io = &machine().device<cpu_device>("maincpu")->space(AS_IO);
}
void dmv_k234_device::device_start()
{
dmv_k230_device::device_start();
- m_bus->m_iospace->install_readwrite_handler(0xd8, 0xdf, read8_delegate(FUNC(dmv_k234_device::snr_r), this), write8_delegate(FUNC(dmv_k234_device::snr_w), this), 0);
+ m_io->install_readwrite_handler(0xd8, 0xdf, read8_delegate(FUNC(dmv_k234_device::snr_r), this), write8_delegate(FUNC(dmv_k234_device::snr_w), this), 0);
}
//-------------------------------------------------
@@ -248,12 +247,12 @@ READ8_MEMBER(dmv_k230_device::rom_r)
READ8_MEMBER( dmv_k230_device::io_r )
{
- return m_bus->m_iospace->read_byte(offset);
+ return m_io->read_byte(offset);
}
WRITE8_MEMBER( dmv_k230_device::io_w )
{
- m_bus->m_iospace->write_byte(offset, data);
+ m_io->write_byte(offset, data);
}
READ8_MEMBER( dmv_k230_device::program_r )
diff --git a/src/devices/bus/dmv/k230.h b/src/devices/bus/dmv/k230.h
index e8e70fd878a..7021a4a8987 100644
--- a/src/devices/bus/dmv/k230.h
+++ b/src/devices/bus/dmv/k230.h
@@ -51,7 +51,8 @@ protected:
required_device<cpu_device> m_maincpu;
optional_memory_region m_rom;
- required_device<dmvcart_slot_device> m_bus;
+ dmvcart_slot_device * m_bus;
+ address_space * m_io;
int m_switch16;
int m_hold;
diff --git a/src/devices/bus/dmv/k233.cpp b/src/devices/bus/dmv/k233.cpp
index 2c8b13cff00..2ba68d3f53f 100644
--- a/src/devices/bus/dmv/k233.cpp
+++ b/src/devices/bus/dmv/k233.cpp
@@ -54,7 +54,7 @@ void dmv_k233_device::device_reset()
m_enabled = false;
}
-void dmv_k233_device::io_write(int ifsel, offs_t offset, uint8_t data)
+void dmv_k233_device::io_write(address_space &space, int ifsel, offs_t offset, uint8_t data)
{
if (ifsel == 1)
m_enabled = !m_enabled;
diff --git a/src/devices/bus/dmv/k233.h b/src/devices/bus/dmv/k233.h
index e73ae71a9df..8aa2f0d235b 100644
--- a/src/devices/bus/dmv/k233.h
+++ b/src/devices/bus/dmv/k233.h
@@ -27,7 +27,7 @@ protected:
virtual void device_reset() override;
// dmvcart_interface overrides
- virtual void io_write(int ifsel, offs_t offset, uint8_t data) override;
+ virtual void io_write(address_space &space, int ifsel, offs_t offset, uint8_t data) override;
virtual bool read(offs_t offset, uint8_t &data) override;
virtual bool write(offs_t offset, uint8_t data) override;
diff --git a/src/devices/bus/dmv/k801.cpp b/src/devices/bus/dmv/k801.cpp
index 7c4892f4fb0..64098400288 100644
--- a/src/devices/bus/dmv/k801.cpp
+++ b/src/devices/bus/dmv/k801.cpp
@@ -206,7 +206,7 @@ WRITE_LINE_MEMBER(dmv_k801_device::epci_irq_w)
m_bus->m_out_irq_cb(state);
}
-void dmv_k801_device::io_read(int ifsel, offs_t offset, uint8_t &data)
+void dmv_k801_device::io_read(address_space &space, int ifsel, offs_t offset, uint8_t &data)
{
uint8_t dsw = m_dsw->read() & 0x0f;
if ((dsw >> 1) == ifsel && BIT(offset, 3) == BIT(dsw, 0))
@@ -218,7 +218,7 @@ void dmv_k801_device::io_read(int ifsel, offs_t offset, uint8_t &data)
}
}
-void dmv_k801_device::io_write(int ifsel, offs_t offset, uint8_t data)
+void dmv_k801_device::io_write(address_space &space, int ifsel, offs_t offset, uint8_t data)
{
uint8_t dsw = m_dsw->read() & 0x0f;
if ((dsw >> 1) == ifsel && BIT(offset, 3) == BIT(dsw, 0))
@@ -230,7 +230,7 @@ void dmv_k801_device::io_write(int ifsel, offs_t offset, uint8_t data)
}
}
-void dmv_k211_device::io_read(int ifsel, offs_t offset, uint8_t &data)
+void dmv_k211_device::io_read(address_space &space, int ifsel, offs_t offset, uint8_t &data)
{
uint8_t jumpers = m_dsw->read() & 0x03;
if ((BIT(jumpers, 0) && ifsel == 0) || (BIT(jumpers, 1) && ifsel == 1))
@@ -242,7 +242,7 @@ void dmv_k211_device::io_read(int ifsel, offs_t offset, uint8_t &data)
}
}
-void dmv_k211_device::io_write(int ifsel, offs_t offset, uint8_t data)
+void dmv_k211_device::io_write(address_space &space, int ifsel, offs_t offset, uint8_t data)
{
uint8_t jumpers = m_dsw->read() & 0x03;
if ((BIT(jumpers, 0) && ifsel == 0) || (BIT(jumpers, 1) && ifsel == 1))
diff --git a/src/devices/bus/dmv/k801.h b/src/devices/bus/dmv/k801.h
index db4b557bbb1..26f314b2149 100644
--- a/src/devices/bus/dmv/k801.h
+++ b/src/devices/bus/dmv/k801.h
@@ -36,8 +36,8 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// dmvcart_interface overrides
- virtual void io_read(int ifsel, offs_t offset, uint8_t &data) override;
- virtual void io_write(int ifsel, offs_t offset, uint8_t data) override;
+ virtual void io_read(address_space &space, int ifsel, offs_t offset, uint8_t &data) override;
+ virtual void io_write(address_space &space, int ifsel, offs_t offset, uint8_t data) override;
required_device<mc2661_device> m_epci;
required_device<rs232_port_device> m_rs232;
@@ -67,8 +67,8 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// dmvcart_interface overrides
- virtual void io_read(int ifsel, offs_t offset, uint8_t &data) override;
- virtual void io_write(int ifsel, offs_t offset, uint8_t data) override;
+ virtual void io_read(address_space &space, int ifsel, offs_t offset, uint8_t &data) override;
+ virtual void io_write(address_space &space, int ifsel, offs_t offset, uint8_t data) override;
};
// ======================> dmv_k212_device
diff --git a/src/devices/bus/dmv/k803.cpp b/src/devices/bus/dmv/k803.cpp
index d0cf9cff336..04ed7445b0e 100644
--- a/src/devices/bus/dmv/k803.cpp
+++ b/src/devices/bus/dmv/k803.cpp
@@ -75,11 +75,10 @@ void dmv_k803_device::device_reset()
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void dmv_k803_device::device_add_mconfig(machine_config &config)
-{
- MM58167(config, m_rtc, XTAL(32'768));
- m_rtc->irq().set(FUNC(dmv_k803_device::rtc_irq_w));
-}
+MACHINE_CONFIG_START(dmv_k803_device::device_add_mconfig)
+ MCFG_DEVICE_ADD("rtc", MM58167, XTAL(32'768))
+ MCFG_MM58167_IRQ_CALLBACK(WRITELINE(*this, dmv_k803_device, rtc_irq_w))
+MACHINE_CONFIG_END
//-------------------------------------------------
// input_ports - device-specific input ports
@@ -90,23 +89,23 @@ ioport_constructor dmv_k803_device::device_input_ports() const
return INPUT_PORTS_NAME( dmv_k803 );
}
-void dmv_k803_device::io_read(int ifsel, offs_t offset, uint8_t &data)
+void dmv_k803_device::io_read(address_space &space, int ifsel, offs_t offset, uint8_t &data)
{
uint8_t dsw = m_dsw->read() & 0x0f;
if ((dsw >> 1) == ifsel && BIT(offset, 3) == BIT(dsw, 0))
{
if (offset & 0x04)
- data = m_rtc->read(((m_latch & 0x07) << 2) | (offset & 0x03));
+ data = m_rtc->read(space, ((m_latch & 0x07) << 2) | (offset & 0x03));
}
}
-void dmv_k803_device::io_write(int ifsel, offs_t offset, uint8_t data)
+void dmv_k803_device::io_write(address_space &space, int ifsel, offs_t offset, uint8_t data)
{
uint8_t dsw = m_dsw->read() & 0x0f;
if ((dsw >> 1) == ifsel && BIT(offset, 3) == BIT(dsw, 0))
{
if (offset & 0x04)
- m_rtc->write(((m_latch & 0x07) << 2) | (offset & 0x03), data);
+ m_rtc->write(space, ((m_latch & 0x07) << 2) | (offset & 0x03), data);
else
{
m_latch = data;
diff --git a/src/devices/bus/dmv/k803.h b/src/devices/bus/dmv/k803.h
index e8455646d1e..0e1e190e89f 100644
--- a/src/devices/bus/dmv/k803.h
+++ b/src/devices/bus/dmv/k803.h
@@ -31,8 +31,8 @@ protected:
virtual ioport_constructor device_input_ports() const override;
virtual void device_add_mconfig(machine_config &config) override;
- virtual void io_read(int ifsel, offs_t offset, uint8_t &data) override;
- virtual void io_write(int ifsel, offs_t offset, uint8_t data) override;
+ virtual void io_read(address_space &space, int ifsel, offs_t offset, uint8_t &data) override;
+ virtual void io_write(address_space &space, int ifsel, offs_t offset, uint8_t data) override;
void update_int();
diff --git a/src/devices/bus/dmv/k806.cpp b/src/devices/bus/dmv/k806.cpp
index a747efa24f4..62cf3f97ea4 100644
--- a/src/devices/bus/dmv/k806.cpp
+++ b/src/devices/bus/dmv/k806.cpp
@@ -128,19 +128,19 @@ const tiny_rom_entry *dmv_k806_device::device_rom_region() const
return ROM_NAME( dmv_k806 );
}
-void dmv_k806_device::io_read(int ifsel, offs_t offset, uint8_t &data)
+void dmv_k806_device::io_read(address_space &space, int ifsel, offs_t offset, uint8_t &data)
{
uint8_t jumpers = m_jumpers->read();
if (BIT(jumpers, ifsel) && ((!BIT(offset, 3) && BIT(jumpers, 5)) || (BIT(offset, 3) && BIT(jumpers, 6))))
- data = m_mcu->upi41_master_r(machine().dummy_space(), offset & 1);
+ data = m_mcu->upi41_master_r(space, offset & 1);
}
-void dmv_k806_device::io_write(int ifsel, offs_t offset, uint8_t data)
+void dmv_k806_device::io_write(address_space &space, int ifsel, offs_t offset, uint8_t data)
{
uint8_t jumpers = m_jumpers->read();
if (BIT(jumpers, ifsel) && ((!BIT(offset, 3) && BIT(jumpers, 5)) || (BIT(offset, 3) && BIT(jumpers, 6))))
{
- m_mcu->upi41_master_w(machine().dummy_space(), offset & 1, data);
+ m_mcu->upi41_master_w(space, offset & 1, data);
m_bus->m_out_int_cb(CLEAR_LINE);
}
}
diff --git a/src/devices/bus/dmv/k806.h b/src/devices/bus/dmv/k806.h
index 082d56b11a6..da178a2945d 100644
--- a/src/devices/bus/dmv/k806.h
+++ b/src/devices/bus/dmv/k806.h
@@ -35,8 +35,8 @@ protected:
virtual ioport_constructor device_input_ports() const override;
virtual void device_add_mconfig(machine_config &config) override;
- virtual void io_read(int ifsel, offs_t offset, uint8_t &data) override;
- virtual void io_write(int ifsel, offs_t offset, uint8_t data) override;
+ virtual void io_read(address_space &space, int ifsel, offs_t offset, uint8_t &data) override;
+ virtual void io_write(address_space &space, int ifsel, offs_t offset, uint8_t data) override;
private:
DECLARE_READ_LINE_MEMBER(portt1_r);
diff --git a/src/devices/bus/ecbbus/ecbbus.h b/src/devices/bus/ecbbus/ecbbus.h
index c14f1c53de4..f4d53b5cc9a 100644
--- a/src/devices/bus/ecbbus/ecbbus.h
+++ b/src/devices/bus/ecbbus/ecbbus.h
@@ -56,6 +56,27 @@
#define ECBBUS_TAG "ecbbus"
+
+//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_ECBBUS_ADD() \
+ MCFG_DEVICE_ADD(ECBBUS_TAG, ECBBUS, 0)
+#define MCFG_ECBBUS_SLOT_ADD(_num, _tag, _slot_intf, _def_slot) \
+ MCFG_DEVICE_ADD(_tag, ECBBUS_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false) \
+ downcast<ecbbus_slot_device &>(*device).set_ecbbus_slot(ECBBUS_TAG, _num);
+
+
+#define MCFG_ECBBUS_IRQ_CALLBACK(_write) \
+ downcast<ecbbus_device &>(*device).set_irq_wr_callback(DEVCB_##_write);
+
+#define MCFG_ECBBUS_NMI_CALLBACK(_write) \
+ downcast<ecbbus_device &>(*device).set_nmi_wr_callback(DEVCB_##_write);
+
+
+
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -69,17 +90,6 @@ class ecbbus_slot_device : public device_t,
{
public:
// construction/destruction
- template <typename T>
- ecbbus_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, int num, T &&opts, char const *dflt)
- : ecbbus_slot_device(mconfig, tag, owner, 0)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- set_ecbbus_slot(ECBBUS_TAG, num);
- }
-
ecbbus_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
@@ -111,10 +121,10 @@ class ecbbus_device : public device_t
{
public:
// construction/destruction
- ecbbus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+ ecbbus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- auto irq_wr_callback() { return m_write_irq.bind(); }
- auto nmi_wr_callback() { return m_write_nmi.bind(); }
+ template <class Object> devcb_base &set_irq_wr_callback(Object &&cb) { return m_write_irq.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_nmi_wr_callback(Object &&cb) { return m_write_nmi.set_callback(std::forward<Object>(cb)); }
void add_card(device_ecbbus_card_interface *card, int pos);
diff --git a/src/devices/bus/econet/e01.cpp b/src/devices/bus/econet/e01.cpp
index fca4c189033..cb1f385aa86 100644
--- a/src/devices/bus/econet/e01.cpp
+++ b/src/devices/bus/econet/e01.cpp
@@ -647,7 +647,7 @@ WRITE8_MEMBER( econet_e01_device::hdc_irq_enable_w )
READ8_MEMBER( econet_e01_device::rtc_address_r )
{
- return m_rtc->read(0);
+ return m_rtc->read(space, 0);
}
@@ -657,7 +657,7 @@ READ8_MEMBER( econet_e01_device::rtc_address_r )
WRITE8_MEMBER( econet_e01_device::rtc_address_w )
{
- m_rtc->write(0, data);
+ m_rtc->write(space, 0, data);
}
@@ -667,7 +667,7 @@ WRITE8_MEMBER( econet_e01_device::rtc_address_w )
READ8_MEMBER( econet_e01_device::rtc_data_r )
{
- return m_rtc->read(1);
+ return m_rtc->read(space, 1);
}
@@ -677,7 +677,7 @@ READ8_MEMBER( econet_e01_device::rtc_data_r )
WRITE8_MEMBER( econet_e01_device::rtc_data_w )
{
- m_rtc->write(1, data);
+ m_rtc->write(space, 1, data);
}
diff --git a/src/devices/bus/econet/econet.h b/src/devices/bus/econet/econet.h
index dd92811e28b..bbe4167cfa9 100644
--- a/src/devices/bus/econet/econet.h
+++ b/src/devices/bus/econet/econet.h
@@ -21,6 +21,28 @@
#define ECONET_TAG "econet"
+
+//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_ECONET_ADD() \
+ MCFG_DEVICE_ADD(ECONET_TAG, ECONET, 0)
+
+#define MCFG_ECONET_SLOT_ADD(_tag, _num, _slot_intf, _def_slot) \
+ MCFG_DEVICE_ADD(_tag, ECONET_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false) \
+ downcast<econet_slot_device &>(*device).set_slot(_num);
+
+
+#define MCFG_ECONET_CLK_CALLBACK(_write) \
+ downcast<econet_device &>(*device).set_clk_wr_callback(DEVCB_##_write);
+
+#define MCFG_ECONET_DATA_CALLBACK(_write) \
+ downcast<econet_device &>(*device).set_data_wr_callback(DEVCB_##_write);
+
+
+
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -35,6 +57,8 @@ public:
// construction/destruction
econet_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ template <class Object> devcb_base &set_clk_wr_callback(Object &&cb) { return m_write_clk.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_data_wr_callback(Object &&cb) { return m_write_data.set_callback(std::forward<Object>(cb)); }
auto clk_wr_callback() { return m_write_clk.bind(); }
auto data_wr_callback() { return m_write_data.bind(); }
diff --git a/src/devices/bus/einstein/pipe/pipe.cpp b/src/devices/bus/einstein/pipe/pipe.cpp
index d521d146325..b40038e650b 100644
--- a/src/devices/bus/einstein/pipe/pipe.cpp
+++ b/src/devices/bus/einstein/pipe/pipe.cpp
@@ -33,8 +33,8 @@ DEFINE_DEVICE_TYPE(TATUNG_PIPE, tatung_pipe_device, "tatung_pipe", "Tatung Pipe
tatung_pipe_device::tatung_pipe_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, TATUNG_PIPE, tag, owner, clock),
device_slot_interface(mconfig, *this),
- m_program(*this, finder_base::DUMMY_TAG, -1),
- m_io(*this, finder_base::DUMMY_TAG, -1),
+ m_program(nullptr),
+ m_io(nullptr),
m_card(nullptr),
m_int_handler(*this),
m_nmi_handler(*this),
@@ -51,28 +51,6 @@ tatung_pipe_device::~tatung_pipe_device()
}
//-------------------------------------------------
-// device_config_complete - perform any
-// operations now that the configuration is
-// complete
-//-------------------------------------------------
-
-void tatung_pipe_device::device_config_complete()
-{
- // for passthrough connectors, use the parent slot's spaces
- if (dynamic_cast<device_tatung_pipe_interface *>(owner()) != nullptr)
- {
- auto parent = dynamic_cast<tatung_pipe_device *>(owner()->owner());
- if (parent != nullptr)
- {
- if (m_program.finder_tag() == finder_base::DUMMY_TAG)
- m_program.set_tag(parent->m_program, parent->m_program.spacenum());
- if (m_io.finder_tag() == finder_base::DUMMY_TAG)
- m_io.set_tag(parent->m_io, parent->m_io.spacenum());
- }
- }
-}
-
-//-------------------------------------------------
// device_start - device-specific startup
//-------------------------------------------------
@@ -105,6 +83,24 @@ WRITE_LINE_MEMBER( tatung_pipe_device::host_int_w )
m_card->int_w(state);
}
+//-------------------------------------------------
+// set_program_space - set address space we are attached to
+//-------------------------------------------------
+
+void tatung_pipe_device::set_program_space(address_space *program)
+{
+ m_program = program;
+}
+
+//-------------------------------------------------
+// set_io_space - set address space we are attached to
+//-------------------------------------------------
+
+void tatung_pipe_device::set_io_space(address_space *io)
+{
+ m_io = io;
+}
+
//**************************************************************************
// CARD INTERFACE
diff --git a/src/devices/bus/einstein/pipe/pipe.h b/src/devices/bus/einstein/pipe/pipe.h
index f0c32bd0043..e0ce7e9a6f7 100644
--- a/src/devices/bus/einstein/pipe/pipe.h
+++ b/src/devices/bus/einstein/pipe/pipe.h
@@ -68,8 +68,8 @@ public:
}
virtual ~tatung_pipe_device();
- template <typename T> void set_program_space(T &&tag, int spacenum) { m_program.set_tag(std::forward<T>(tag), spacenum); }
- template <typename T> void set_io_space(T &&tag, int spacenum) { m_io.set_tag(std::forward<T>(tag), spacenum); }
+ void set_program_space(address_space *program);
+ void set_io_space(address_space *io);
// callbacks
auto int_handler() { return m_int_handler.bind(); }
@@ -86,12 +86,11 @@ public:
protected:
// device-level overrides
- virtual void device_config_complete() override;
virtual void device_start() override;
virtual void device_reset() override;
- required_address_space m_program;
- required_address_space m_io;
+ address_space *m_program;
+ address_space *m_io;
device_tatung_pipe_interface *m_card;
diff --git a/src/devices/bus/einstein/pipe/speculator.cpp b/src/devices/bus/einstein/pipe/speculator.cpp
index ed35973ab12..75519847e16 100644
--- a/src/devices/bus/einstein/pipe/speculator.cpp
+++ b/src/devices/bus/einstein/pipe/speculator.cpp
@@ -25,8 +25,7 @@ DEFINE_DEVICE_TYPE(EINSTEIN_SPECULATOR, einstein_speculator_device, "einstein_sp
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void einstein_speculator_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(einstein_speculator_device::device_add_mconfig)
TTL74123(config, m_ic5a, 0);
m_ic5a->set_connection_type(TTL74123_NOT_GROUNDED_NO_DIODE);
m_ic5a->set_resistor_value(RES_K(47));
@@ -49,11 +48,11 @@ void einstein_speculator_device::device_add_mconfig(machine_config &config)
WAVE(config, "wave", m_cassette).add_route(ALL_OUTPUTS, "mono", 0.25);
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.50);
- CASSETTE(config, m_cassette);
- m_cassette->set_formats(tzx_cassette_formats);
- m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED);
- m_cassette->set_interface("spectrum_cass");
-}
+ MCFG_CASSETTE_ADD(m_cassette)
+ MCFG_CASSETTE_FORMATS(tzx_cassette_formats)
+ MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED)
+ MCFG_CASSETTE_INTERFACE("spectrum_cass")
+MACHINE_CONFIG_END
//**************************************************************************
diff --git a/src/devices/bus/einstein/pipe/tk02.cpp b/src/devices/bus/einstein/pipe/tk02.cpp
index 311c3099011..d0926f2e320 100644
--- a/src/devices/bus/einstein/pipe/tk02.cpp
+++ b/src/devices/bus/einstein/pipe/tk02.cpp
@@ -159,6 +159,9 @@ void tk02_device::device_start()
void tk02_device::device_reset()
{
+ m_pipe->set_io_space(&io_space());
+ m_pipe->set_program_space(&program_space());
+
io_space().install_device(0x40, 0x4f, *this, &tk02_device::map);
io_space().install_readwrite_handler(0x40, 0x47, 0, 0, 0xff00, read8_delegate(FUNC(tk02_device::ram_r), this), write8_delegate(FUNC(tk02_device::ram_w), this));
}
diff --git a/src/devices/bus/einstein/userport/userport.h b/src/devices/bus/einstein/userport/userport.h
index f5bd8dcfeb3..4bdbaed36d2 100644
--- a/src/devices/bus/einstein/userport/userport.h
+++ b/src/devices/bus/einstein/userport/userport.h
@@ -24,32 +24,32 @@
//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_EINSTEIN_USERPORT_ADD(_tag) \
+ MCFG_DEVICE_ADD(_tag, EINSTEIN_USERPORT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(einstein_userport_cards, nullptr, false)
+
+#define MCFG_EINSTEIN_USERPORT_BSTB_HANDLER(_devcb) \
+ downcast<einstein_userport_device &>(*device).set_bstb_handler(DEVCB_##_devcb);
+
+
+//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
class device_einstein_userport_interface;
-// supported devices
-void einstein_userport_cards(device_slot_interface &device);
-
class einstein_userport_device : public device_t, public device_slot_interface
{
public:
// construction/destruction
- einstein_userport_device(machine_config const &mconfig, char const *tag, device_t *owner)
- : einstein_userport_device(mconfig, tag, owner, (uint32_t)0)
- {
- option_reset();
- einstein_userport_cards(*this);
- set_default_option(nullptr);
- set_fixed(false);
- }
-
einstein_userport_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~einstein_userport_device();
// callbacks
- auto bstb_handler() { return m_bstb_handler.bind(); }
+ template <class Object> devcb_base &set_bstb_handler(Object &&cb) { return m_bstb_handler.set_callback(std::forward<Object>(cb)); }
// called from card device
DECLARE_WRITE_LINE_MEMBER( bstb_w ) { m_bstb_handler(state); }
@@ -89,4 +89,7 @@ protected:
// device type definition
DECLARE_DEVICE_TYPE(EINSTEIN_USERPORT, einstein_userport_device)
+// supported devices
+void einstein_userport_cards(device_slot_interface &device);
+
#endif // MAME_BUS_EINSTEIN_USERPORT_USERPORT_H
diff --git a/src/devices/bus/ekara/rom.cpp b/src/devices/bus/ekara/rom.cpp
index f55fd325d2a..7ba557b0917 100644
--- a/src/devices/bus/ekara/rom.cpp
+++ b/src/devices/bus/ekara/rom.cpp
@@ -10,10 +10,8 @@
DEFINE_DEVICE_TYPE(EKARA_ROM_PLAIN, ekara_rom_plain_device, "ekara_rom_plain", "EKARA Cartridge")
DEFINE_DEVICE_TYPE(EKARA_ROM_I2C_BASE, ekara_rom_i2c_base_device, "ekara_rom_i2c_base", "EKARA Cartridge with I2C")
-DEFINE_DEVICE_TYPE(EKARA_ROM_I2C_24C08_EPITCH, ekara_rom_i2c_24c08_epitch_device, "ekara_rom_i2c_24c08", "EKARA Cartridge with I2C 24C08 (e-pitch)")
DEFINE_DEVICE_TYPE(EKARA_ROM_I2C_24LC04, ekara_rom_i2c_24lc04_device, "ekara_rom_i2c_24lc04", "EKARA Cartridge with I2C 24LC04")
DEFINE_DEVICE_TYPE(EKARA_ROM_I2C_24LC02, ekara_rom_i2c_24lc02_device, "ekara_rom_i2c_24lc02", "EKARA Cartridge with I2C 24LC02")
-DEFINE_DEVICE_TYPE(EKARA_ROM_I2C_24LC02_GC0010, ekara_rom_i2c_24lc02_gc0010_device, "ekara_rom_i2c_24lc02_gc0010", "EKARA Cartridge with I2C 24LC02 (GC0010 direct access)")
ekara_rom_plain_device::ekara_rom_plain_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
@@ -26,24 +24,18 @@ ekara_rom_plain_device::ekara_rom_plain_device(const machine_config &mconfig, co
{
}
-
+ekara_rom_i2c_base_device::ekara_rom_i2c_base_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ ekara_rom_plain_device(mconfig, EKARA_ROM_I2C_BASE, tag, owner, clock),
+ m_i2cmem(*this, "i2cmem")
+{
+}
ekara_rom_i2c_base_device::ekara_rom_i2c_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
ekara_rom_plain_device(mconfig, type, tag, owner, clock),
m_i2cmem(*this, "i2cmem")
{
- m_buscontrol[0] = m_buscontrol[1] = m_buscontrol[2] = 0x00;
}
-ekara_rom_i2c_base_device::ekara_rom_i2c_base_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- ekara_rom_i2c_base_device(mconfig, EKARA_ROM_I2C_BASE, tag, owner, clock)
-{
-}
-
-ekara_rom_i2c_24c08_epitch_device::ekara_rom_i2c_24c08_epitch_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- ekara_rom_i2c_base_device(mconfig, EKARA_ROM_I2C_24C08_EPITCH, tag, owner, clock)
-{
-}
ekara_rom_i2c_24lc04_device::ekara_rom_i2c_24lc04_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
ekara_rom_i2c_base_device(mconfig, EKARA_ROM_I2C_24LC04, tag, owner, clock)
@@ -55,11 +47,6 @@ ekara_rom_i2c_24lc02_device::ekara_rom_i2c_24lc02_device(const machine_config &m
{
}
-ekara_rom_i2c_24lc02_gc0010_device::ekara_rom_i2c_24lc02_gc0010_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- ekara_rom_i2c_base_device(mconfig, EKARA_ROM_I2C_24LC02_GC0010, tag, owner, clock)
-{
-}
-
/*-------------------------------------------------
mapper specific handlers
-------------------------------------------------*/
@@ -88,22 +75,6 @@ WRITE8_MEMBER(ekara_rom_plain_device::write_rom)
// i2c base
-bool ekara_rom_i2c_base_device::is_read_access_not_rom(void)
-{
- return (m_buscontrol[1] & 0x08) ? true : false;
-}
-
-bool ekara_rom_i2c_base_device::is_write_access_not_rom(void)
-{
- return (m_buscontrol[0] & 0x08) ? true : false;
-}
-
-WRITE8_MEMBER(ekara_rom_i2c_base_device::write_bus_control)
-{
- logerror("ekara_rom_i2c_base_device::write_bus_control %08x %02x\n", offset, data);
- m_buscontrol[offset] = data;
-}
-
WRITE8_MEMBER(ekara_rom_i2c_base_device::write_rom)
{
logerror("ekara_rom_i2c_base_device::write_rom %08x %02x\n", offset, data);
@@ -129,85 +100,18 @@ WRITE8_MEMBER(ekara_rom_i2c_base_device::write_extra)
m_i2cmem->write_scl((data & 0x02) >> 1);
}
-// i2c 24c08 (for epitch carts)
-
-bool ekara_rom_i2c_24c08_epitch_device::is_read_access_not_rom(void)
-{
- // write 0x08 before reading from SEEPROM
- // reads from 005fffff, cart does no accress decoding
- return (m_buscontrol[1] & 0x08) ? true : false;
-}
-
-bool ekara_rom_i2c_24c08_epitch_device::is_write_access_not_rom(void)
-{
- // writes 0x05 before writing to SEEPROM
- // actually writes to address 3fffff which is where a mirror of the base ROM sits, but clearly all signals route through the cartridge too
- // cart does no accress decoding
- return (m_buscontrol[1] & 0x04) ? true : false;
-}
-
-void ekara_rom_i2c_24c08_epitch_device::device_add_mconfig(machine_config &config)
-{
- I2CMEM(config, "i2cmem", 0).set_page_size(16).set_data_size(0x400); // 24C08
-}
// i2c 24lc04
-void ekara_rom_i2c_24lc04_device::device_add_mconfig(machine_config &config)
-{
- I2CMEM(config, "i2cmem", 0).set_page_size(16).set_data_size(0x200); // 24LC04
-}
+MACHINE_CONFIG_START(ekara_rom_i2c_24lc04_device::device_add_mconfig)
+ I2CMEM(config, "i2cmem", 0)/*.set_page_size(16)*/.set_data_size(0x200); // 24LC04
+MACHINE_CONFIG_END
// i2c 24lc02
-void ekara_rom_i2c_24lc02_device::device_add_mconfig(machine_config &config)
-{
- I2CMEM(config, "i2cmem", 0).set_page_size(16).set_data_size(0x100); // 24LC02
-}
-
-// i2c 24lc02 with direct IO port access
-
-bool ekara_rom_i2c_24lc02_gc0010_device::is_read_access_not_rom(void)
-{
- return false;
-}
-
-bool ekara_rom_i2c_24lc02_gc0010_device::is_write_access_not_rom(void)
-{
- return false;
-}
-
-READ8_MEMBER(ekara_rom_i2c_24lc02_gc0010_device::read_extra)
-{
- return 0;
-}
-
-WRITE8_MEMBER(ekara_rom_i2c_24lc02_gc0010_device::write_extra)
-{
-}
-
-
-WRITE_LINE_MEMBER(ekara_rom_i2c_24lc02_gc0010_device::write_sda)
-{
- m_i2cmem->write_sda(state);
-}
-
-WRITE_LINE_MEMBER(ekara_rom_i2c_24lc02_gc0010_device::write_scl)
-{
- m_i2cmem->write_scl(state);
-}
-
-READ_LINE_MEMBER(ekara_rom_i2c_24lc02_gc0010_device::read_sda )
-{
- return m_i2cmem->read_sda();
-}
-
-
-
-void ekara_rom_i2c_24lc02_gc0010_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(ekara_rom_i2c_24lc02_device::device_add_mconfig)
I2CMEM(config, "i2cmem", 0)/*.set_page_size(16)*/.set_data_size(0x100); // 24LC02
-}
+MACHINE_CONFIG_END
/*-------------------------------------------------
@@ -217,9 +121,6 @@ void ekara_rom_i2c_24lc02_gc0010_device::device_add_mconfig(machine_config &conf
void ekara_cart(device_slot_interface &device)
{
device.option_add_internal("plain", EKARA_ROM_PLAIN);
- device.option_add_internal("rom_24c08_epitch", EKARA_ROM_I2C_24C08_EPITCH);
device.option_add_internal("rom_24lc04", EKARA_ROM_I2C_24LC04);
- device.option_add_internal("rom_24lc02", EKARA_ROM_I2C_24LC02);
- device.option_add_internal("rom_24lc02_gc0010", EKARA_ROM_I2C_24LC02_GC0010);
-
+ device.option_add_internal("rom_24lc02", EKARA_ROM_I2C_24LC02);
}
diff --git a/src/devices/bus/ekara/rom.h b/src/devices/bus/ekara/rom.h
index 76c5ed45e46..a765f28d6d3 100644
--- a/src/devices/bus/ekara/rom.h
+++ b/src/devices/bus/ekara/rom.h
@@ -54,32 +54,8 @@ protected:
virtual DECLARE_READ8_MEMBER(read_extra) override;
virtual DECLARE_WRITE8_MEMBER(write_extra) override;
-
- virtual DECLARE_WRITE8_MEMBER(write_bus_control) override;
-
- virtual bool is_read_access_not_rom(void) override;
- virtual bool is_write_access_not_rom(void) override;
-
- uint8_t m_buscontrol[3];
};
-
-// ======================> ekara_rom_i2c_24c08_epitch_device
-
-class ekara_rom_i2c_24c08_epitch_device : public ekara_rom_i2c_base_device
-{
-public:
- // construction/destruction
- ekara_rom_i2c_24c08_epitch_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
-protected:
- virtual bool is_read_access_not_rom(void) override;
- virtual bool is_write_access_not_rom(void) override;
-
- virtual void device_add_mconfig(machine_config &config) override;
-};
-
-
// ======================> ekara_rom_i2c_24lc04_device
class ekara_rom_i2c_24lc04_device : public ekara_rom_i2c_base_device
@@ -105,32 +81,10 @@ protected:
};
-// ======================> ekara_rom_i2c_24lc02_gc0010_device
-
-class ekara_rom_i2c_24lc02_gc0010_device : public ekara_rom_i2c_base_device
-{
-public:
- // construction/destruction
- ekara_rom_i2c_24lc02_gc0010_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
-protected:
- virtual void device_add_mconfig(machine_config &config) override;
-
- bool is_read_access_not_rom(void) override;
- bool is_write_access_not_rom(void) override;
- DECLARE_READ8_MEMBER(read_extra) override;
- DECLARE_WRITE8_MEMBER(write_extra) override;
- DECLARE_WRITE_LINE_MEMBER(write_sda) override;
- DECLARE_WRITE_LINE_MEMBER(write_scl) override;
- DECLARE_READ_LINE_MEMBER(read_sda ) override;
-};
-
// device type definition
DECLARE_DEVICE_TYPE(EKARA_ROM_PLAIN, ekara_rom_plain_device)
DECLARE_DEVICE_TYPE(EKARA_ROM_I2C_BASE, ekara_rom_i2c_base_device)
-DECLARE_DEVICE_TYPE(EKARA_ROM_I2C_24C08_EPITCH, ekara_rom_i2c_24c08_epitch_device)
DECLARE_DEVICE_TYPE(EKARA_ROM_I2C_24LC04, ekara_rom_i2c_24lc04_device)
DECLARE_DEVICE_TYPE(EKARA_ROM_I2C_24LC02, ekara_rom_i2c_24lc02_device)
-DECLARE_DEVICE_TYPE(EKARA_ROM_I2C_24LC02_GC0010, ekara_rom_i2c_24lc02_gc0010_device)
#endif // MAME_BUS_EKARA_ROM_H
diff --git a/src/devices/bus/ekara/slot.cpp b/src/devices/bus/ekara/slot.cpp
index 5140e3f28ab..0569bb49a6c 100644
--- a/src/devices/bus/ekara/slot.cpp
+++ b/src/devices/bus/ekara/slot.cpp
@@ -95,7 +95,6 @@ static const ekara_slot slot_list[] =
{
{ EKARA_PLAIN, "plain" },
{ EKARA_I2C_BASE, "i2c_base" },
- { EKARA_I2C_24C08, "rom_24c08" },
{ EKARA_I2C_24LC04, "rom_24lc04" },
{ EKARA_I2C_24LC02, "rom_24lc02" },
};
@@ -238,40 +237,3 @@ WRITE8_MEMBER(ekara_cart_slot_device::write_extra)
m_cart->write_extra(space, offset, data);
}
-/*-------------------------------------------------
- write control
- -------------------------------------------------*/
-
-WRITE8_MEMBER(ekara_cart_slot_device::write_bus_control)
-{
- m_cart->write_bus_control(space, offset, data);
-}
-
-bool ekara_cart_slot_device::is_read_access_not_rom(void)
-{
- return m_cart->is_read_access_not_rom();
-}
-
-bool ekara_cart_slot_device::is_write_access_not_rom(void)
-{
- return m_cart->is_write_access_not_rom();
-}
-
-/*-------------------------------------------------
- direct seeprom access (popira2, gc0010)
- -------------------------------------------------*/
-
-WRITE_LINE_MEMBER(ekara_cart_slot_device::write_sda)
-{
- m_cart->write_sda(state);
-}
-
-WRITE_LINE_MEMBER(ekara_cart_slot_device::write_scl)
-{
- m_cart->write_scl(state);
-}
-
-READ_LINE_MEMBER(ekara_cart_slot_device::read_sda )
-{
- return m_cart->read_sda();
-}
diff --git a/src/devices/bus/ekara/slot.h b/src/devices/bus/ekara/slot.h
index 945a5175d4b..5f871aa1dfc 100644
--- a/src/devices/bus/ekara/slot.h
+++ b/src/devices/bus/ekara/slot.h
@@ -16,7 +16,6 @@ enum
{
EKARA_PLAIN = 0,
EKARA_I2C_BASE,
- EKARA_I2C_24C08,
EKARA_I2C_24LC04,
EKARA_I2C_24LC02,
};
@@ -36,16 +35,6 @@ public:
virtual DECLARE_READ8_MEMBER(read_extra) { return 0xff; }
virtual DECLARE_WRITE8_MEMBER(write_extra) { }
- virtual DECLARE_WRITE_LINE_MEMBER(write_sda) { }
- virtual DECLARE_WRITE_LINE_MEMBER(write_scl) { }
- //virtual DECLARE_WRITE_LINE_MEMBER( write_wc )
- virtual DECLARE_READ_LINE_MEMBER( read_sda ) { return 0; }
-
- virtual DECLARE_WRITE8_MEMBER(write_bus_control) { }
-
- virtual bool is_read_access_not_rom(void) { return false; }
- virtual bool is_write_access_not_rom(void) { return false; }
-
void rom_alloc(uint32_t size, const char *tag);
uint8_t* get_rom_base() { return m_rom; }
uint32_t get_rom_size() { return m_rom_size; }
@@ -107,16 +96,6 @@ public:
virtual DECLARE_READ8_MEMBER(read_extra);
virtual DECLARE_WRITE8_MEMBER(write_extra);
- virtual DECLARE_WRITE_LINE_MEMBER(write_sda);
- virtual DECLARE_WRITE_LINE_MEMBER(write_scl);
- //virtual DECLARE_WRITE_LINE_MEMBER( write_wc );
- virtual DECLARE_READ_LINE_MEMBER( read_sda );
-
- virtual DECLARE_WRITE8_MEMBER(write_bus_control);
-
- virtual bool is_read_access_not_rom(void);
- virtual bool is_write_access_not_rom(void);
-
bool has_cart() { return m_cart ? true : false; }
protected:
diff --git a/src/devices/bus/electron/cart/abr.cpp b/src/devices/bus/electron/cart/abr.cpp
index 1d2455e56c1..c894d5e9c71 100644
--- a/src/devices/bus/electron/cart/abr.cpp
+++ b/src/devices/bus/electron/cart/abr.cpp
@@ -46,13 +46,16 @@ void electron_abr_device::device_start()
// read - cartridge data read
//-------------------------------------------------
-uint8_t electron_abr_device::read(offs_t offset, int infc, int infd, int romqa, int oe, int oe2)
+uint8_t electron_abr_device::read(address_space &space, offs_t offset, int infc, int infd, int romqa)
{
uint8_t data = 0xff;
- if (oe)
+ if (!infc && !infd)
{
- data = m_nvram[(offset & 0x3fff) | (romqa << 14)];
+ if (offset >= 0x0000 && offset < 0x4000)
+ {
+ data = m_nvram[(offset & 0x3fff) | (romqa << 14)];
+ }
}
return data;
@@ -62,7 +65,7 @@ uint8_t electron_abr_device::read(offs_t offset, int infc, int infd, int romqa,
// write - cartridge data write
//-------------------------------------------------
-void electron_abr_device::write(offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2)
+void electron_abr_device::write(address_space &space, offs_t offset, uint8_t data, int infc, int infd, int romqa)
{
if (infc)
{
@@ -82,9 +85,10 @@ void electron_abr_device::write(offs_t offset, uint8_t data, int infc, int infd,
break;
}
}
- else if (oe)
+
+ if (!infc && !infd)
{
- if (!m_bank_locked[romqa])
+ if (offset >= 0x0000 && offset < 0x4000 && !m_bank_locked[romqa])
{
m_nvram[(offset & 0x3fff) | (romqa << 14)] = data;
}
diff --git a/src/devices/bus/electron/cart/abr.h b/src/devices/bus/electron/cart/abr.h
index 3ef92c95a8d..b985db0a44d 100644
--- a/src/devices/bus/electron/cart/abr.h
+++ b/src/devices/bus/electron/cart/abr.h
@@ -32,8 +32,8 @@ protected:
virtual void device_start() override;
// electron_cart_interface overrides
- virtual uint8_t read(offs_t offset, int infc, int infd, int romqa, int oe, int oe2) override;
- virtual void write(offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2) override;
+ virtual uint8_t read(address_space &space, offs_t offset, int infc, int infd, int romqa) override;
+ virtual void write(address_space &space, offs_t offset, uint8_t data, int infc, int infd, int romqa) override;
private:
bool m_bank_locked[2];
diff --git a/src/devices/bus/electron/cart/ap34.cpp b/src/devices/bus/electron/cart/ap34.cpp
index 694df390266..30847c55aa4 100644
--- a/src/devices/bus/electron/cart/ap34.cpp
+++ b/src/devices/bus/electron/cart/ap34.cpp
@@ -47,7 +47,7 @@ void ap34_floppies(device_slot_interface &device)
void electron_ap34_device::device_add_mconfig(machine_config &config)
{
/* fdc */
- WD1770(config, m_fdc, DERIVED_CLOCK(1, 2));
+ WD1770(config, m_fdc, 16_MHz_XTAL / 2);
FLOPPY_CONNECTOR(config, m_floppy0, ap34_floppies, "525qd", electron_ap34_device::floppy_formats).enable_sound(true);
FLOPPY_CONNECTOR(config, m_floppy1, ap34_floppies, nullptr, electron_ap34_device::floppy_formats).enable_sound(true);
}
@@ -81,9 +81,9 @@ void electron_ap34_device::device_start()
// read - cartridge data read
//-------------------------------------------------
-uint8_t electron_ap34_device::read(offs_t offset, int infc, int infd, int romqa, int oe, int oe2)
+uint8_t electron_ap34_device::read(address_space &space, offs_t offset, int infc, int infd, int romqa)
{
- uint8_t data = 0xff;
+ uint8_t data = 0xfe;
if (infc)
{
@@ -97,15 +97,17 @@ uint8_t electron_ap34_device::read(offs_t offset, int infc, int infd, int romqa,
break;
}
}
- else if (oe)
+
+ if (!infc && !infd)
{
- if (m_ram.size() != 0 && romqa == 0 && offset >= 0x3000)
+ if (offset >= 0x0000 && offset < 0x4000)
{
- data = m_ram[offset & 0x0fff];
+ data = m_rom[(offset & 0x3fff) + (romqa * 0x4000)];
}
- else
+
+ if (m_ram.size() != 0 && romqa == 0 && offset >= 0x3000)
{
- data = m_rom[(offset & 0x3fff) | (romqa << 14)];
+ data = m_ram[offset & 0x0fff];
}
}
@@ -116,14 +118,14 @@ uint8_t electron_ap34_device::read(offs_t offset, int infc, int infd, int romqa,
// write - cartridge data write
//-------------------------------------------------
-void electron_ap34_device::write(offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2)
+void electron_ap34_device::write(address_space &space, offs_t offset, uint8_t data, int infc, int infd, int romqa)
{
if (infc)
{
switch (offset & 0xff)
{
case 0xc0:
- wd1770_control_w(data);
+ wd1770_control_w(space, 0, data);
break;
case 0xc4:
case 0xc5:
@@ -133,7 +135,8 @@ void electron_ap34_device::write(offs_t offset, uint8_t data, int infc, int infd
break;
}
}
- else if (oe)
+
+ if (!infc && !infd)
{
if (m_ram.size() != 0 && romqa == 0 && offset >= 0x3000)
{
@@ -147,7 +150,7 @@ void electron_ap34_device::write(offs_t offset, uint8_t data, int infc, int infd
// IMPLEMENTATION
//**************************************************************************
-void electron_ap34_device::wd1770_control_w(uint8_t data)
+WRITE8_MEMBER(electron_ap34_device::wd1770_control_w)
{
floppy_image_device *floppy = nullptr;
@@ -164,7 +167,6 @@ void electron_ap34_device::wd1770_control_w(uint8_t data)
m_fdc->dden_w(BIT(data, 3));
// bit 4: NMI - not connected
- //m_slot->nmi_w(!BIT(data, 4));
// bit 5: reset
if (!BIT(data, 5)) m_fdc->soft_reset();
diff --git a/src/devices/bus/electron/cart/ap34.h b/src/devices/bus/electron/cart/ap34.h
index 69b47514487..b3fb911b8f6 100644
--- a/src/devices/bus/electron/cart/ap34.h
+++ b/src/devices/bus/electron/cart/ap34.h
@@ -36,11 +36,11 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// electron_cart_interface overrides
- virtual uint8_t read(offs_t offset, int infc, int infd, int romqa, int oe, int oe2) override;
- virtual void write(offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2) override;
+ virtual uint8_t read(address_space &space, offs_t offset, int infc, int infd, int romqa) override;
+ virtual void write(address_space &space, offs_t offset, uint8_t data, int infc, int infd, int romqa) override;
private:
- void wd1770_control_w(uint8_t data);
+ DECLARE_WRITE8_MEMBER(wd1770_control_w);
DECLARE_FLOPPY_FORMATS(floppy_formats);
required_device<wd1770_device> m_fdc;
diff --git a/src/devices/bus/electron/cart/ap5.cpp b/src/devices/bus/electron/cart/ap5.cpp
deleted file mode 100644
index 660587c7642..00000000000
--- a/src/devices/bus/electron/cart/ap5.cpp
+++ /dev/null
@@ -1,171 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Nigel Barnes
-/**********************************************************************
-
- ACP Advanced Plus 5
-
-**********************************************************************/
-
-
-#include "emu.h"
-#include "ap5.h"
-
-
-//**************************************************************************
-// DEVICE DEFINITIONS
-//**************************************************************************
-
-DEFINE_DEVICE_TYPE(ELECTRON_AP5, electron_ap5_device, "electron_ap5", "P.R.E.S. Advanced Plus 5")
-
-
-//-------------------------------------------------
-// device_add_mconfig - add device configuration
-//-------------------------------------------------
-
-void electron_ap5_device::device_add_mconfig(machine_config &config)
-{
- /* rom sockets */
- GENERIC_SOCKET(config, m_romslot[0], generic_plain_slot, "electron_rom", "bin,rom"); // ROM SLOT 14
- m_romslot[0]->set_device_load(device_image_load_delegate(&electron_ap5_device::device_image_load_rom1_load, this));
- GENERIC_SOCKET(config, m_romslot[1], generic_plain_slot, "electron_rom", "bin,rom"); // ROM SLOT 15
- m_romslot[1]->set_device_load(device_image_load_delegate(&electron_ap5_device::device_image_load_rom2_load, this));
-
- /* via */
- VIA6522(config, m_via, DERIVED_CLOCK(1, 16));
- m_via->readpb_handler().set(m_userport, FUNC(bbc_userport_slot_device::pb_r));
- m_via->writepb_handler().set(m_userport, FUNC(bbc_userport_slot_device::pb_w));
- m_via->irq_handler().set(DEVICE_SELF_OWNER, FUNC(electron_cartslot_device::irq_w));
-
- /* user port */
- BBC_USERPORT_SLOT(config, m_userport, bbc_userport_devices, nullptr);
- m_userport->cb1_handler().set(m_via, FUNC(via6522_device::write_cb1));
- m_userport->cb2_handler().set(m_via, FUNC(via6522_device::write_cb2));
-
- /* 1mhz bus port */
- BBC_1MHZBUS_SLOT(config, m_1mhzbus, DERIVED_CLOCK(1, 16), bbc_1mhzbus_devices, nullptr);
- m_1mhzbus->irq_handler().set(DEVICE_SELF_OWNER, FUNC(electron_cartslot_device::irq_w));
- m_1mhzbus->nmi_handler().set(DEVICE_SELF_OWNER, FUNC(electron_cartslot_device::nmi_w));
-
- /* tube port */
- BBC_TUBE_SLOT(config, m_tube, electron_tube_devices, nullptr);
- m_tube->irq_handler().set(DEVICE_SELF_OWNER, FUNC(electron_cartslot_device::irq_w));
-}
-
-//**************************************************************************
-// LIVE DEVICE
-//**************************************************************************
-
-//-------------------------------------------------
-// electron_ap5_device - constructor
-//-------------------------------------------------
-
-electron_ap5_device::electron_ap5_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, ELECTRON_AP5, tag, owner, clock)
- , device_electron_cart_interface(mconfig, *this)
- , m_via(*this, "via6522")
- , m_tube(*this, "tube")
- , m_1mhzbus(*this, "1mhzbus")
- , m_userport(*this, "userport")
- , m_romslot(*this, "rom%u", 1)
-{
-}
-
-//-------------------------------------------------
-// device_start - device-specific startup
-//-------------------------------------------------
-
-void electron_ap5_device::device_start()
-{
-}
-
-//-------------------------------------------------
-// read - cartridge data read
-//-------------------------------------------------
-
-uint8_t electron_ap5_device::read(offs_t offset, int infc, int infd, int romqa, int oe, int oe2)
-{
- uint8_t data = 0xff;
-
- if (infc)
- {
- data = m_1mhzbus->fred_r(offset);
-
- switch (offset & 0xf0)
- {
- case 0xb0:
- data &= m_via->read(offset & 0x0f);
- break;
-
- case 0xe0:
- data &= m_tube->host_r(offset & 0x0f);
- break;
- }
- }
- else if (infd)
- {
- data = m_1mhzbus->jim_r(offset);
- }
- else if (oe)
- {
- data = m_romslot[romqa]->read_rom(offset & 0x3fff);
- }
- else if (oe2)
- {
- data = m_rom[offset & 0x1fff];
- }
-
- return data;
-}
-
-//-------------------------------------------------
-// write - cartridge data write
-//-------------------------------------------------
-
-void electron_ap5_device::write(offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2)
-{
- if (infc)
- {
- m_1mhzbus->fred_w(offset, data);
-
- switch (offset & 0xf0)
- {
- case 0xb0:
- m_via->write(offset & 0x0f, data);
- break;
-
- case 0xe0:
- m_tube->host_w(offset & 0x0f, data);
- break;
- }
- }
- else if (infd)
- {
- m_1mhzbus->jim_w(offset, data);
- }
-}
-
-
-//**************************************************************************
-// IMPLEMENTATION
-//**************************************************************************
-
-image_init_result electron_ap5_device::load_rom(device_image_interface &image, generic_slot_device *slot)
-{
- uint32_t size = slot->common_get_size("rom");
-
- // socket accepts 8K and 16K ROM only
- if (size != 0x2000 && size != 0x4000)
- {
- image.seterror(IMAGE_ERROR_UNSPECIFIED, "Invalid size: Only 8K/16K is supported");
- return image_init_result::FAIL;
- }
-
- slot->rom_alloc(0x4000, GENERIC_ROM8_WIDTH, ENDIANNESS_LITTLE);
- slot->common_load_rom(slot->get_rom_base(), size, "rom");
-
- // mirror 8K ROMs
- uint8_t *crt = slot->get_rom_base();
- if (size <= 0x2000) memcpy(crt + 0x2000, crt, 0x2000);
-
- return image_init_result::PASS;
-}
diff --git a/src/devices/bus/electron/cart/ap5.h b/src/devices/bus/electron/cart/ap5.h
deleted file mode 100644
index 846f3fbc649..00000000000
--- a/src/devices/bus/electron/cart/ap5.h
+++ /dev/null
@@ -1,60 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Nigel Barnes
-/**********************************************************************
-
- ACP Advanced Plus 5
-
-**********************************************************************/
-
-#ifndef MAME_BUS_ELECTRON_CART_AP5_H
-#define MAME_BUS_ELECTRON_CART_AP5_H
-
-#include "slot.h"
-#include "machine/6522via.h"
-#include "bus/bbc/1mhzbus/1mhzbus.h"
-#include "bus/bbc/tube/tube.h"
-#include "bus/bbc/userport/userport.h"
-#include "bus/generic/slot.h"
-#include "bus/generic/carts.h"
-
-//**************************************************************************
-// TYPE DEFINITIONS
-//**************************************************************************
-
-class electron_ap5_device :
- public device_t,
- public device_electron_cart_interface
-{
-public:
- // construction/destruction
- electron_ap5_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
-protected:
- // device-level overrides
- virtual void device_start() override;
-
- // optional information overrides
- virtual void device_add_mconfig(machine_config &config) override;
-
- // electron_cart_interface overrides
- virtual uint8_t read(offs_t offset, int infc, int infd, int romqa, int oe, int oe2) override;
- virtual void write(offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2) override;
-
-private:
- image_init_result load_rom(device_image_interface &image, generic_slot_device *slot);
- DECLARE_DEVICE_IMAGE_LOAD_MEMBER(rom1_load) { return load_rom(image, m_romslot[0]); }
- DECLARE_DEVICE_IMAGE_LOAD_MEMBER(rom2_load) { return load_rom(image, m_romslot[1]); }
-
- required_device<via6522_device> m_via;
- required_device<bbc_tube_slot_device> m_tube;
- required_device<bbc_1mhzbus_slot_device> m_1mhzbus;
- required_device<bbc_userport_slot_device> m_userport;
- required_device_array<generic_slot_device, 2> m_romslot;
-};
-
-
-// device type definition
-DECLARE_DEVICE_TYPE(ELECTRON_AP5, electron_ap5_device)
-
-
-#endif // MAME_BUS_ELECTRON_CART_AP5_H
diff --git a/src/devices/bus/electron/cart/aqr.cpp b/src/devices/bus/electron/cart/aqr.cpp
index 8be0176efc4..8a3edebd194 100644
--- a/src/devices/bus/electron/cart/aqr.cpp
+++ b/src/devices/bus/electron/cart/aqr.cpp
@@ -48,13 +48,16 @@ void electron_aqr_device::device_start()
// read - cartridge data read
//-------------------------------------------------
-uint8_t electron_aqr_device::read(offs_t offset, int infc, int infd, int romqa, int oe, int oe2)
+uint8_t electron_aqr_device::read(address_space &space, offs_t offset, int infc, int infd, int romqa)
{
uint8_t data = 0xff;
- if (oe)
+ if (!infc && !infd)
{
- data = m_ram[(offset & 0x3fff) | (m_page_register << 14)];
+ if (offset >= 0x0000 && offset < 0x4000)
+ {
+ data = m_ram[(offset & 0x3fff) | (m_page_register << 14)];
+ }
}
return data;
@@ -64,7 +67,7 @@ uint8_t electron_aqr_device::read(offs_t offset, int infc, int infd, int romqa,
// write - cartridge data write
//-------------------------------------------------
-void electron_aqr_device::write(offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2)
+void electron_aqr_device::write(address_space &space, offs_t offset, uint8_t data, int infc, int infd, int romqa)
{
if (infc)
{
@@ -81,8 +84,12 @@ void electron_aqr_device::write(offs_t offset, uint8_t data, int infc, int infd,
break;
}
}
- else if (oe)
+
+ if (!infc && !infd)
{
- m_ram[(offset & 0x3fff) | (m_page_register << 14)] = data;
+ if (offset >= 0x0000 && offset < 0x4000 && !m_lock_register)
+ {
+ m_ram[(offset & 0x3fff) | (m_page_register << 14)] = data;
+ }
}
}
diff --git a/src/devices/bus/electron/cart/aqr.h b/src/devices/bus/electron/cart/aqr.h
index 820f967b5cf..6ede0b8144d 100644
--- a/src/devices/bus/electron/cart/aqr.h
+++ b/src/devices/bus/electron/cart/aqr.h
@@ -32,8 +32,8 @@ protected:
virtual void device_start() override;
// electron_cart_interface overrides
- virtual uint8_t read(offs_t offset, int infc, int infd, int romqa, int oe, int oe2) override;
- virtual void write(offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2) override;
+ virtual uint8_t read(address_space &space, offs_t offset, int infc, int infd, int romqa) override;
+ virtual void write(address_space &space, offs_t offset, uint8_t data, int infc, int infd, int romqa) override;
private:
uint8_t m_page_register;
diff --git a/src/devices/bus/electron/cart/click.cpp b/src/devices/bus/electron/cart/click.cpp
index bdeebeba79b..a4a0bfd5af2 100644
--- a/src/devices/bus/electron/cart/click.cpp
+++ b/src/devices/bus/electron/cart/click.cpp
@@ -27,7 +27,7 @@ void electron_click_device::device_add_mconfig(machine_config &config)
{
/* rtc */
MC146818(config, m_rtc, 32.768_kHz_XTAL);
- m_rtc->irq().set(DEVICE_SELF_OWNER, FUNC(electron_cartslot_device::irq_w));
+ m_rtc->irq().set(FUNC(electron_click_device::irq_w));
}
//-------------------------------------------------
@@ -88,7 +88,7 @@ void electron_click_device::device_reset()
// read - cartridge data read
//-------------------------------------------------
-uint8_t electron_click_device::read(offs_t offset, int infc, int infd, int romqa, int oe, int oe2)
+uint8_t electron_click_device::read(address_space &space, offs_t offset, int infc, int infd, int romqa)
{
uint8_t data = 0xff;
@@ -98,14 +98,15 @@ uint8_t electron_click_device::read(offs_t offset, int infc, int infd, int romqa
{
case 0xf8:
case 0xf9:
- data = m_rtc->read(offset & 0x01);
+ data = m_rtc->read(space, offset & 0x01);
break;
case 0xfc:
data = m_page_register;
break;
}
}
- else if (oe)
+
+ if (!infc && !infd)
{
offs_t rom_page_offset = (m_page_register & 0x03) * 0x2000;
offs_t ram_page_offset = ((m_page_register & 0x0c) >> 2) * 0x2000;
@@ -127,7 +128,7 @@ uint8_t electron_click_device::read(offs_t offset, int infc, int infd, int romqa
// write - cartridge data write
//-------------------------------------------------
-void electron_click_device::write(offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2)
+void electron_click_device::write(address_space &space, offs_t offset, uint8_t data, int infc, int infd, int romqa)
{
if (infc)
{
@@ -135,14 +136,15 @@ void electron_click_device::write(offs_t offset, uint8_t data, int infc, int inf
{
case 0xf8:
case 0xf9:
- m_rtc->write(offset & 0x01, data);
+ m_rtc->write(space, offset & 0x01, data);
break;
case 0xfc:
m_page_register = data;
break;
}
}
- else if (oe)
+
+ if (!infc && !infd)
{
offs_t ram_page_offset = ((m_page_register & 0x0c) >> 2) * 0x2000;
@@ -164,3 +166,8 @@ INPUT_CHANGED_MEMBER(electron_click_device::click_button)
m_slot->irq_w(CLEAR_LINE);
}
}
+
+WRITE_LINE_MEMBER(electron_click_device::irq_w)
+{
+ m_slot->irq_w(state);
+}
diff --git a/src/devices/bus/electron/cart/click.h b/src/devices/bus/electron/cart/click.h
index cb7dd114687..5fbc18d4759 100644
--- a/src/devices/bus/electron/cart/click.h
+++ b/src/devices/bus/electron/cart/click.h
@@ -41,10 +41,12 @@ protected:
virtual void device_reset() override;
// electron_cart_interface overrides
- virtual uint8_t read(offs_t offset, int infc, int infd, int romqa, int oe, int oe2) override;
- virtual void write(offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2) override;
+ virtual uint8_t read(address_space &space, offs_t offset, int infc, int infd, int romqa) override;
+ virtual void write(address_space &space, offs_t offset, uint8_t data, int infc, int infd, int romqa) override;
private:
+ DECLARE_WRITE_LINE_MEMBER(irq_w);
+
required_device<mc146818_device> m_rtc;
uint8_t m_page_register;
diff --git a/src/devices/bus/electron/cart/cumana.cpp b/src/devices/bus/electron/cart/cumana.cpp
index 8792395b503..80ebeab394b 100644
--- a/src/devices/bus/electron/cart/cumana.cpp
+++ b/src/devices/bus/electron/cart/cumana.cpp
@@ -48,13 +48,12 @@ void cumana_floppies(device_slot_interface &device)
void electron_cumana_device::device_add_mconfig(machine_config &config)
{
/* fdc */
- FD1793(config, m_fdc, DERIVED_CLOCK(1, 16)); // TODO: Not known whether DRQ and INTRQ are connected
+ FD1793(config, m_fdc, 16_MHz_XTAL / 16); // TODO: Not known whether DRQ and INTRQ are connected
FLOPPY_CONNECTOR(config, m_floppy0, cumana_floppies, "525qd", electron_cumana_device::floppy_formats).enable_sound(true);
FLOPPY_CONNECTOR(config, m_floppy1, cumana_floppies, nullptr, electron_cumana_device::floppy_formats).enable_sound(true);
/* rtc */
MC146818(config, m_rtc, 32.768_kHz_XTAL);
- m_rtc->irq().set(DEVICE_SELF_OWNER, FUNC(electron_cartslot_device::irq_w));
}
//**************************************************************************
@@ -87,7 +86,7 @@ void electron_cumana_device::device_start()
// read - cartridge data read
//-------------------------------------------------
-uint8_t electron_cumana_device::read(offs_t offset, int infc, int infd, int romqa, int oe, int oe2)
+uint8_t electron_cumana_device::read(address_space &space, offs_t offset, int infc, int infd, int romqa)
{
uint8_t data = 0xff;
@@ -103,11 +102,12 @@ uint8_t electron_cumana_device::read(offs_t offset, int infc, int infd, int romq
break;
case 0x98:
case 0x9c:
- data = m_rtc->read(BIT(offset, 2));
+ data = m_rtc->read(space, BIT(offset, 2));
break;
}
}
- else if (oe)
+
+ if (!infc && !infd)
{
switch (romqa)
{
@@ -134,7 +134,7 @@ uint8_t electron_cumana_device::read(offs_t offset, int infc, int infd, int romq
// write - cartridge data write
//-------------------------------------------------
-void electron_cumana_device::write(offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2)
+void electron_cumana_device::write(address_space &space, offs_t offset, uint8_t data, int infc, int infd, int romqa)
{
if (infc)
{
@@ -147,15 +147,17 @@ void electron_cumana_device::write(offs_t offset, uint8_t data, int infc, int in
m_fdc->write(offset & 0x03, data);
break;
case 0x94:
- wd1793_control_w(data);
+ wd1793_control_w(space, 0, data);
break;
case 0x98:
case 0x9c:
- m_rtc->write(BIT(offset, 2), data);
+ m_rtc->write(space, BIT(offset, 2), data);
+ break;
break;
}
}
- else if (oe)
+
+ if (!infc && !infd)
{
if (romqa == 0 && offset >= 0x3800)
{
@@ -169,7 +171,7 @@ void electron_cumana_device::write(offs_t offset, uint8_t data, int infc, int in
// IMPLEMENTATION
//**************************************************************************
-void electron_cumana_device::wd1793_control_w(uint8_t data)
+WRITE8_MEMBER(electron_cumana_device::wd1793_control_w)
{
floppy_image_device *floppy = nullptr;
diff --git a/src/devices/bus/electron/cart/cumana.h b/src/devices/bus/electron/cart/cumana.h
index 9a3bc2ab834..9092f82bd65 100644
--- a/src/devices/bus/electron/cart/cumana.h
+++ b/src/devices/bus/electron/cart/cumana.h
@@ -37,11 +37,11 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// electron_cart_interface overrides
- virtual uint8_t read(offs_t offset, int infc, int infd, int romqa, int oe, int oe2) override;
- virtual void write(offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2) override;
+ virtual uint8_t read(address_space &space, offs_t offset, int infc, int infd, int romqa) override;
+ virtual void write(address_space &space, offs_t offset, uint8_t data, int infc, int infd, int romqa) override;
private:
- void wd1793_control_w(uint8_t data);
+ DECLARE_WRITE8_MEMBER(wd1793_control_w);
DECLARE_FLOPPY_FORMATS(floppy_formats);
required_device<fd1793_device> m_fdc;
diff --git a/src/devices/bus/electron/cart/mgc.cpp b/src/devices/bus/electron/cart/mgc.cpp
index 5f80559c47a..41cc29dfbfb 100644
--- a/src/devices/bus/electron/cart/mgc.cpp
+++ b/src/devices/bus/electron/cart/mgc.cpp
@@ -65,14 +65,17 @@ void electron_mgc_device::device_reset()
// read - cartridge data read
//-------------------------------------------------
-uint8_t electron_mgc_device::read(offs_t offset, int infc, int infd, int romqa, int oe, int oe2)
+uint8_t electron_mgc_device::read(address_space &space, offs_t offset, int infc, int infd, int romqa)
{
uint8_t data = 0xff;
- if (oe)
+ if (!infc && !infd)
{
- int m_page_mode = BIT(m_control_latch, 2) ? BIT(m_control_latch, 1) : !romqa;
- data = m_nvram[(offset & 0x3fff) | (m_page_latch << 14) | (m_page_mode << 21)];
+ if (offset >= 0x0000 && offset < 0x4000)
+ {
+ int m_page_mode = BIT(m_control_latch, 2) ? BIT(m_control_latch, 1) : !romqa;
+ data = m_nvram[(offset & 0x3fff) | (m_page_latch << 14) | (m_page_mode << 21)];
+ }
}
return data;
@@ -82,7 +85,7 @@ uint8_t electron_mgc_device::read(offs_t offset, int infc, int infd, int romqa,
// write - cartridge data write
//-------------------------------------------------
-void electron_mgc_device::write(offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2)
+void electron_mgc_device::write(address_space &space, offs_t offset, uint8_t data, int infc, int infd, int romqa)
{
if (infc)
{
@@ -97,9 +100,13 @@ void electron_mgc_device::write(offs_t offset, uint8_t data, int infc, int infd,
break;
}
}
- else if (oe)
+
+ if (!infc && !infd)
{
- int m_page_mode = BIT(m_control_latch, 2) ? BIT(m_control_latch, 1) : !romqa;
- m_nvram[(offset & 0x3fff) | (m_page_latch << 14) | (m_page_mode << 21)] = data;
+ if (offset >= 0x0000 && offset < 0x4000 && BIT(m_control_latch, 0))
+ {
+ int m_page_mode = BIT(m_control_latch, 2) ? BIT(m_control_latch, 1) : !romqa;
+ m_nvram[(offset & 0x3fff) | (m_page_latch << 14) | (m_page_mode << 21)] = data;
+ }
}
}
diff --git a/src/devices/bus/electron/cart/mgc.h b/src/devices/bus/electron/cart/mgc.h
index bf23aa34391..8835a703107 100644
--- a/src/devices/bus/electron/cart/mgc.h
+++ b/src/devices/bus/electron/cart/mgc.h
@@ -33,8 +33,8 @@ protected:
virtual void device_reset() override;
// electron_cart_interface overrides
- virtual uint8_t read(offs_t offset, int infc, int infd, int romqa, int oe, int oe2) override;
- virtual void write(offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2) override;
+ virtual uint8_t read(address_space &space, offs_t offset, int infc, int infd, int romqa) override;
+ virtual void write(address_space &space, offs_t offset, uint8_t data, int infc, int infd, int romqa) override;
private:
uint8_t m_page_latch;
diff --git a/src/devices/bus/electron/cart/peg400.cpp b/src/devices/bus/electron/cart/peg400.cpp
index abca703474a..8d92131aa04 100644
--- a/src/devices/bus/electron/cart/peg400.cpp
+++ b/src/devices/bus/electron/cart/peg400.cpp
@@ -44,7 +44,7 @@ void peg400_floppies(device_slot_interface &device)
void electron_peg400_device::device_add_mconfig(machine_config &config)
{
/* fdc */
- WD1770(config, m_fdc, DERIVED_CLOCK(1, 2));
+ WD1770(config, m_fdc, 16_MHz_XTAL / 2);
m_fdc->drq_wr_callback().set(FUNC(electron_peg400_device::fdc_drq_w));
FLOPPY_CONNECTOR(config, m_floppy0, peg400_floppies, "525qd", electron_peg400_device::floppy_formats).enable_sound(true);
FLOPPY_CONNECTOR(config, m_floppy1, peg400_floppies, nullptr, electron_peg400_device::floppy_formats).enable_sound(true);
@@ -79,7 +79,7 @@ void electron_peg400_device::device_start()
// read - cartridge data read
//-------------------------------------------------
-uint8_t electron_peg400_device::read(offs_t offset, int infc, int infd, int romqa, int oe, int oe2)
+uint8_t electron_peg400_device::read(address_space &space, offs_t offset, int infc, int infd, int romqa)
{
uint8_t data = 0xff;
@@ -95,14 +95,15 @@ uint8_t electron_peg400_device::read(offs_t offset, int infc, int infd, int romq
break;
}
}
- else if (oe)
+
+ if (!infc && !infd)
{
switch (romqa)
{
case 0:
if (offset < 0x3800)
{
- data = m_rom[(offset & 0x3fff) | (romqa << 14)];
+ data = m_rom[(offset & 0x3fff) + (romqa * 0x4000)];
}
else
{
@@ -110,7 +111,7 @@ uint8_t electron_peg400_device::read(offs_t offset, int infc, int infd, int romq
}
break;
case 1:
- data = m_rom[(offset & 0x3fff) | (romqa << 14)];
+ data = m_rom[(offset & 0x3fff) + (romqa * 0x4000)];
break;
}
}
@@ -122,14 +123,14 @@ uint8_t electron_peg400_device::read(offs_t offset, int infc, int infd, int romq
// write - cartridge data write
//-------------------------------------------------
-void electron_peg400_device::write(offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2)
+void electron_peg400_device::write(address_space &space, offs_t offset, uint8_t data, int infc, int infd, int romqa)
{
if (infc)
{
switch (offset & 0xff)
{
case 0xc0:
- wd1770_control_w(data);
+ wd1770_control_w(space, 0, data);
break;
case 0xc4:
case 0xc5:
@@ -139,7 +140,8 @@ void electron_peg400_device::write(offs_t offset, uint8_t data, int infc, int in
break;
}
}
- else if (oe)
+
+ if (!infc && !infd)
{
if (romqa == 0 && offset >= 0x3800)
{
@@ -153,7 +155,7 @@ void electron_peg400_device::write(offs_t offset, uint8_t data, int infc, int in
// IMPLEMENTATION
//**************************************************************************
-void electron_peg400_device::wd1770_control_w(uint8_t data)
+WRITE8_MEMBER(electron_peg400_device::wd1770_control_w)
{
floppy_image_device *floppy = nullptr;
diff --git a/src/devices/bus/electron/cart/peg400.h b/src/devices/bus/electron/cart/peg400.h
index 035947a1e59..8b7a7af9b44 100644
--- a/src/devices/bus/electron/cart/peg400.h
+++ b/src/devices/bus/electron/cart/peg400.h
@@ -34,11 +34,11 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// electron_cart_interface overrides
- virtual uint8_t read(offs_t offset, int infc, int infd, int romqa, int oe, int oe2) override;
- virtual void write(offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2) override;
+ virtual uint8_t read(address_space &space, offs_t offset, int infc, int infd, int romqa) override;
+ virtual void write(address_space &space, offs_t offset, uint8_t data, int infc, int infd, int romqa) override;
private:
- void wd1770_control_w(uint8_t data);
+ DECLARE_WRITE8_MEMBER(wd1770_control_w);
DECLARE_FLOPPY_FORMATS(floppy_formats);
DECLARE_WRITE_LINE_MEMBER(fdc_drq_w);
diff --git a/src/devices/bus/electron/cart/romp144.cpp b/src/devices/bus/electron/cart/romp144.cpp
deleted file mode 100644
index 6e4eb96bd84..00000000000
--- a/src/devices/bus/electron/cart/romp144.cpp
+++ /dev/null
@@ -1,162 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Nigel Barnes
-/**********************************************************************
-
- JAFA Systems ROMPlus-144
-
-**********************************************************************/
-
-
-#include "emu.h"
-#include "romp144.h"
-
-
-//**************************************************************************
-// DEVICE DEFINITIONS
-//**************************************************************************
-
-DEFINE_DEVICE_TYPE(ELECTRON_ROMP144, electron_romp144_device, "electron_romp144", "JAFA Systems ROMPlus-144")
-
-
-//-------------------------------------------------
-// device_add_mconfig - add device configuration
-//-------------------------------------------------
-
-void electron_romp144_device::device_add_mconfig(machine_config &config)
-{
- /* rom sockets */
- GENERIC_SOCKET(config, m_romslot[0], generic_plain_slot, "electron_rom", "bin,rom");
- m_romslot[0]->set_device_load(device_image_load_delegate(&electron_romp144_device::device_image_load_rom0, this));
- GENERIC_SOCKET(config, m_romslot[1], generic_plain_slot, "electron_rom", "bin,rom");
- m_romslot[1]->set_device_load(device_image_load_delegate(&electron_romp144_device::device_image_load_rom1, this));
- GENERIC_SOCKET(config, m_romslot[2], generic_plain_slot, "electron_rom", "bin,rom");
- m_romslot[2]->set_device_load(device_image_load_delegate(&electron_romp144_device::device_image_load_rom2, this));
- GENERIC_SOCKET(config, m_romslot[3], generic_plain_slot, "electron_rom", "bin,rom");
- m_romslot[3]->set_device_load(device_image_load_delegate(&electron_romp144_device::device_image_load_rom3, this));
- GENERIC_SOCKET(config, m_romslot[4], generic_plain_slot, "electron_rom", "bin,rom");
- m_romslot[4]->set_device_load(device_image_load_delegate(&electron_romp144_device::device_image_load_rom4, this));
- GENERIC_SOCKET(config, m_romslot[5], generic_plain_slot, "electron_rom", "bin,rom");
- m_romslot[5]->set_device_load(device_image_load_delegate(&electron_romp144_device::device_image_load_rom5, this));
- GENERIC_SOCKET(config, m_romslot[6], generic_plain_slot, "electron_rom", "bin,rom");
- m_romslot[6]->set_device_load(device_image_load_delegate(&electron_romp144_device::device_image_load_rom6, this));
-}
-
-//**************************************************************************
-// LIVE DEVICE
-//**************************************************************************
-
-//-------------------------------------------------
-// electron_romp144_device - constructor
-//-------------------------------------------------
-
-electron_romp144_device::electron_romp144_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, ELECTRON_ROMP144, tag, owner, clock)
- , device_electron_cart_interface(mconfig, *this)
- , m_romslot(*this, "rom%u", 7)
-{
-}
-
-//-------------------------------------------------
-// device_start - device-specific startup
-//-------------------------------------------------
-
-void electron_romp144_device::device_start()
-{
- m_rom_select = 0xff;
- m_rom_latch = 0xff;
-
- save_item(NAME(m_rom_select));
- save_item(NAME(m_rom_latch));
-}
-
-//-------------------------------------------------
-// read - cartridge data read
-//-------------------------------------------------
-
-uint8_t electron_romp144_device::read(offs_t offset, int infc, int infd, int romqa, int oe, int oe2)
-{
- uint8_t data = 0xff;
-
- if (oe)
- {
- if (romqa)
- {
- if ((m_rom_select & 0x07) == 0x00)
- data = m_ram[offset & 0x3fff];
- else
- data = m_romslot[(m_rom_select & 0x07) - 1]->read_rom(offset & 0x3fff);
- }
- else
- {
- if ((m_rom_select & 0x0f) == 0x08)
- data = m_ram[(offset & 0x3fff) | 0x4000];
- else
- data = m_rom[offset & 0x1fff];
-
- /* roms selected with a read to latch */
- if ((offset & 0x3f00) == 0x3f00)
- {
- m_rom_latch = offset & 0x0f;
- }
- }
- }
-
- return data;
-}
-
-//-------------------------------------------------
-// write - cartridge data write
-//-------------------------------------------------
-
-void electron_romp144_device::write(offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2)
-{
- if (oe)
- {
- if (romqa)
- {
- if ((m_rom_select & 0x07) == 0x00)
- m_ram[offset & 0x3fff] = data;
- }
- else
- {
- if ((m_rom_select & 0x0f) == 0x08)
- m_ram[(offset & 0x3fff) | 0x4000] = data;
-
- /* roms selected with a write to select */
- if ((offset & 0x3f00) == 0x3f00)
- {
- /* does the write match the read (upper RAM cannot be de-selected to protect *RSUBSTITUTE) */
- if (m_rom_latch == (offset & 0x0f) && m_rom_select != 0x08)
- {
- m_rom_select = m_rom_latch;
- }
- }
- }
- }
-}
-
-
-//**************************************************************************
-// IMPLEMENTATION
-//**************************************************************************
-
-image_init_result electron_romp144_device::load_rom(device_image_interface &image, generic_slot_device *slot)
-{
- uint32_t size = slot->common_get_size("rom");
-
- // socket accepts 8K and 16K ROM only
- if (size != 0x2000 && size != 0x4000)
- {
- image.seterror(IMAGE_ERROR_UNSPECIFIED, "Invalid size: Only 8K/16K is supported");
- return image_init_result::FAIL;
- }
-
- slot->rom_alloc(0x4000, GENERIC_ROM8_WIDTH, ENDIANNESS_LITTLE);
- slot->common_load_rom(slot->get_rom_base(), size, "rom");
-
- // mirror 8K ROMs
- uint8_t *crt = slot->get_rom_base();
- if (size <= 0x2000) memcpy(crt + 0x2000, crt, 0x2000);
-
- return image_init_result::PASS;
-}
diff --git a/src/devices/bus/electron/cart/romp144.h b/src/devices/bus/electron/cart/romp144.h
deleted file mode 100644
index 45916a3ab38..00000000000
--- a/src/devices/bus/electron/cart/romp144.h
+++ /dev/null
@@ -1,60 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Nigel Barnes
-/**********************************************************************
-
- JAFA Systems ROMPlus-144
-
-**********************************************************************/
-
-#ifndef MAME_BUS_ELECTRON_CART_ROMP144_H
-#define MAME_BUS_ELECTRON_CART_ROMP144_H
-
-#include "slot.h"
-#include "bus/generic/slot.h"
-#include "bus/generic/carts.h"
-
-//**************************************************************************
-// TYPE DEFINITIONS
-//**************************************************************************
-
-class electron_romp144_device :
- public device_t,
- public device_electron_cart_interface
-{
-public:
- // construction/destruction
- electron_romp144_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
-protected:
- // device-level overrides
- virtual void device_start() override;
-
- // optional information overrides
- virtual void device_add_mconfig(machine_config &config) override;
-
- // electron_cart_interface overrides
- virtual uint8_t read(offs_t offset, int infc, int infd, int romqa, int oe, int oe2) override;
- virtual void write(offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2) override;
-
-private:
- image_init_result load_rom(device_image_interface &image, generic_slot_device *slot);
- DECLARE_DEVICE_IMAGE_LOAD_MEMBER(rom0) { return load_rom(image, m_romslot[0]); }
- DECLARE_DEVICE_IMAGE_LOAD_MEMBER(rom1) { return load_rom(image, m_romslot[1]); }
- DECLARE_DEVICE_IMAGE_LOAD_MEMBER(rom2) { return load_rom(image, m_romslot[2]); }
- DECLARE_DEVICE_IMAGE_LOAD_MEMBER(rom3) { return load_rom(image, m_romslot[3]); }
- DECLARE_DEVICE_IMAGE_LOAD_MEMBER(rom4) { return load_rom(image, m_romslot[4]); }
- DECLARE_DEVICE_IMAGE_LOAD_MEMBER(rom5) { return load_rom(image, m_romslot[5]); }
- DECLARE_DEVICE_IMAGE_LOAD_MEMBER(rom6) { return load_rom(image, m_romslot[6]); }
-
- required_device_array<generic_slot_device, 7> m_romslot;
-
- uint8_t m_rom_select;
- uint8_t m_rom_latch;
-};
-
-
-// device type definition
-DECLARE_DEVICE_TYPE(ELECTRON_ROMP144, electron_romp144_device)
-
-
-#endif // MAME_BUS_ELECTRON_CART_ROMP144_H
diff --git a/src/devices/bus/electron/cart/slot.cpp b/src/devices/bus/electron/cart/slot.cpp
index f8682b9c654..aae2f65594d 100644
--- a/src/devices/bus/electron/cart/slot.cpp
+++ b/src/devices/bus/electron/cart/slot.cpp
@@ -100,6 +100,14 @@ electron_cartslot_device::electron_cartslot_device(const machine_config &mconfig
}
//-------------------------------------------------
+// electron_cartslot_device - destructor
+//-------------------------------------------------
+
+electron_cartslot_device::~electron_cartslot_device()
+{
+}
+
+//-------------------------------------------------
// device_start - device-specific startup
//-------------------------------------------------
@@ -229,13 +237,13 @@ std::string electron_cartslot_device::get_default_card_software(get_default_card
// read - cartridge read
//-------------------------------------------------
-uint8_t electron_cartslot_device::read(offs_t offset, int infc, int infd, int romqa, int oe, int oe2)
+uint8_t electron_cartslot_device::read(address_space &space, offs_t offset, int infc, int infd, int romqa)
{
uint8_t data = 0xff;
if (m_cart != nullptr)
{
- data = m_cart->read(offset, infc, infd, romqa, oe, oe2);
+ data = m_cart->read(space, offset, infc, infd, romqa);
}
return data;
@@ -245,11 +253,11 @@ uint8_t electron_cartslot_device::read(offs_t offset, int infc, int infd, int ro
// write - cartridge write
//-------------------------------------------------
-void electron_cartslot_device::write(offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2)
+void electron_cartslot_device::write(address_space &space, offs_t offset, uint8_t data, int infc, int infd, int romqa)
{
if (m_cart != nullptr)
{
- m_cart->write(offset, data, infc, infd, romqa, oe, oe2);
+ m_cart->write(space, offset, data, infc, infd, romqa);
}
}
@@ -260,20 +268,15 @@ void electron_cartslot_device::write(offs_t offset, uint8_t data, int infc, int
#include "abr.h"
#include "ap34.h"
-#include "ap5.h"
#include "aqr.h"
#include "click.h"
#include "cumana.h"
#include "mgc.h"
#include "peg400.h"
-//#include "pmse2p.h"
-#include "romp144.h"
-//#include "rs423.h"
#include "sndexp.h"
#include "sndexp3.h"
#include "sp64.h"
#include "stlefs.h"
-#include "tube.h"
#include "std.h"
@@ -282,18 +285,13 @@ void electron_cart(device_slot_interface &device)
device.option_add_internal("std", ELECTRON_STDCART);
device.option_add_internal("abr", ELECTRON_ABR);
device.option_add_internal("ap34", ELECTRON_AP34);
- device.option_add_internal("ap5", ELECTRON_AP5);
device.option_add_internal("aqr", ELECTRON_AQR);
device.option_add_internal("click", ELECTRON_CLICK);
device.option_add_internal("cumana", ELECTRON_CUMANA);
device.option_add_internal("mgc", ELECTRON_MGC);
device.option_add_internal("peg400", ELECTRON_PEG400);
- //device.option_add_internal("pmse2p", ELECTRON_PMSE2P);
- device.option_add_internal("romp144", ELECTRON_ROMP144);
- //device.option_add_internal("rs423", ELECTRON_RS423);
device.option_add_internal("sndexp", ELECTRON_SNDEXP);
device.option_add_internal("sndexp3", ELECTRON_SNDEXP3);
device.option_add_internal("sp64", ELECTRON_SP64);
device.option_add_internal("stlefs", ELECTRON_STLEFS);
- device.option_add_internal("tube", ELECTRON_TUBE);
}
diff --git a/src/devices/bus/electron/cart/slot.h b/src/devices/bus/electron/cart/slot.h
index d31bc16258c..9e4b66182f1 100644
--- a/src/devices/bus/electron/cart/slot.h
+++ b/src/devices/bus/electron/cart/slot.h
@@ -105,6 +105,16 @@
#define ELECTRON_CART_ROM_REGION_TAG ":cart:rom"
+#define MCFG_ELECTRON_CARTSLOT_ADD(_tag, _slot_intf, _def_slot) \
+ MCFG_DEVICE_ADD(_tag, ELECTRON_CARTSLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
+
+#define MCFG_ELECTRON_CARTSLOT_IRQ_HANDLER(_devcb) \
+ downcast<electron_cartslot_device &>(*device).set_irq_handler(DEVCB_##_devcb);
+
+#define MCFG_ELECTRON_CARTSLOT_NMI_HANDLER(_devcb) \
+ downcast<electron_cartslot_device &>(*device).set_nmi_handler(DEVCB_##_devcb);
+
//**************************************************************************
// TYPE DEFINITIONS
@@ -120,21 +130,12 @@ class electron_cartslot_device : public device_t,
{
public:
// construction/destruction
- template <typename T>
- electron_cartslot_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock, T &&slot_options, const char *default_option)
- : electron_cartslot_device(mconfig, tag, owner, clock)
- {
- option_reset();
- slot_options(*this);
- set_default_option(default_option);
- set_fixed(false);
- }
-
electron_cartslot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ virtual ~electron_cartslot_device();
// callbacks
- auto irq_handler() { return m_irq_handler.bind(); }
- auto nmi_handler() { return m_nmi_handler.bind(); }
+ template <class Object> devcb_base &set_irq_handler(Object &&cb) { return m_irq_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_nmi_handler(Object &&cb) { return m_nmi_handler.set_callback(std::forward<Object>(cb)); }
// device-level overrides
virtual void device_start() override;
@@ -158,8 +159,8 @@ public:
virtual std::string get_default_card_software(get_default_card_software_hook &hook) const override;
// reading and writing
- virtual uint8_t read(offs_t offset, int infc, int infd, int romqa, int oe, int oe2);
- virtual void write(offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2);
+ virtual uint8_t read(address_space &space, offs_t offset, int infc, int infd, int romqa);
+ virtual void write(address_space &space, offs_t offset, uint8_t data, int infc, int infd, int romqa);
DECLARE_WRITE_LINE_MEMBER(irq_w) { m_irq_handler(state); }
DECLARE_WRITE_LINE_MEMBER(nmi_w) { m_nmi_handler(state); }
@@ -182,8 +183,8 @@ public:
virtual ~device_electron_cart_interface();
// reading and writing
- virtual uint8_t read(offs_t offset, int infc, int infd, int romqa, int oe, int oe2) { return 0xff; }
- virtual void write(offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2) { }
+ virtual uint8_t read(address_space &space, offs_t offset, int infc, int infd, int romqa) { return 0xff; }
+ virtual void write(address_space &space, offs_t offset, uint8_t data, int infc, int infd, int romqa) { }
void rom_alloc(uint32_t size, const char *tag);
void ram_alloc(uint32_t size);
diff --git a/src/devices/bus/electron/cart/sndexp.cpp b/src/devices/bus/electron/cart/sndexp.cpp
index 4ba27cb4825..de0c7704020 100644
--- a/src/devices/bus/electron/cart/sndexp.cpp
+++ b/src/devices/bus/electron/cart/sndexp.cpp
@@ -27,13 +27,11 @@ DEFINE_DEVICE_TYPE(ELECTRON_SNDEXP, electron_sndexp_device, "electron_sndexp", "
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void electron_sndexp_device::device_add_mconfig(machine_config &config)
-{
- /* sound hardware */
+MACHINE_CONFIG_START(electron_sndexp_device::device_add_mconfig)
SPEAKER(config, "mono").front_center();
- SN76489(config, m_sn, DERIVED_CLOCK(1, 4));
- m_sn->add_route(ALL_OUTPUTS, "mono", 1.0);
-}
+ MCFG_DEVICE_ADD("sn76489", SN76489, 16_MHz_XTAL / 4)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
+MACHINE_CONFIG_END
//-------------------------------------------------
// INPUT_PORTS( sndexp )
@@ -89,11 +87,11 @@ void electron_sndexp_device::device_start()
// read - cartridge data read
//-------------------------------------------------
-uint8_t electron_sndexp_device::read(offs_t offset, int infc, int infd, int romqa, int oe, int oe2)
+uint8_t electron_sndexp_device::read(address_space &space, offs_t offset, int infc, int infd, int romqa)
{
uint8_t data = 0xff;
- if (oe)
+ if (!infc && !infd)
{
if (m_jumper->read())
{
@@ -126,7 +124,7 @@ uint8_t electron_sndexp_device::read(offs_t offset, int infc, int infd, int romq
// write - cartridge data write
//-------------------------------------------------
-void electron_sndexp_device::write(offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2)
+void electron_sndexp_device::write(address_space &space, offs_t offset, uint8_t data, int infc, int infd, int romqa)
{
if (infc)
{
@@ -144,7 +142,8 @@ void electron_sndexp_device::write(offs_t offset, uint8_t data, int infc, int in
break;
}
}
- else if (oe)
+
+ if (!infc && !infd)
{
if (m_jumper->read())
{
diff --git a/src/devices/bus/electron/cart/sndexp.h b/src/devices/bus/electron/cart/sndexp.h
index 5627c2ff734..87d94ba84a2 100644
--- a/src/devices/bus/electron/cart/sndexp.h
+++ b/src/devices/bus/electron/cart/sndexp.h
@@ -33,8 +33,8 @@ protected:
virtual ioport_constructor device_input_ports() const override;
// electron_cart_interface overrides
- virtual uint8_t read(offs_t offset, int infc, int infd, int romqa, int oe, int oe2) override;
- virtual void write(offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2) override;
+ virtual uint8_t read(address_space &space, offs_t offset, int infc, int infd, int romqa) override;
+ virtual void write(address_space &space, offs_t offset, uint8_t data, int infc, int infd, int romqa) override;
private:
required_device<sn76489_device> m_sn;
diff --git a/src/devices/bus/electron/cart/sndexp3.cpp b/src/devices/bus/electron/cart/sndexp3.cpp
index afaf927e443..1bf32aa2fb4 100644
--- a/src/devices/bus/electron/cart/sndexp3.cpp
+++ b/src/devices/bus/electron/cart/sndexp3.cpp
@@ -23,13 +23,12 @@ DEFINE_DEVICE_TYPE(ELECTRON_SNDEXP3, electron_sndexp3_device, "electron_sndexp3"
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void electron_sndexp3_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(electron_sndexp3_device::device_add_mconfig)
/* sound hardware */
SPEAKER(config, "mono").front_center();
- SN76489(config, m_sn, DERIVED_CLOCK(1, 4));
- m_sn->add_route(ALL_OUTPUTS, "mono", 1.0);
-}
+ MCFG_DEVICE_ADD("sn76489", SN76489, 16_MHz_XTAL / 4)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
+MACHINE_CONFIG_END
//**************************************************************************
// LIVE DEVICE
@@ -62,11 +61,11 @@ void electron_sndexp3_device::device_start()
// read - cartridge data read
//-------------------------------------------------
-uint8_t electron_sndexp3_device::read(offs_t offset, int infc, int infd, int romqa, int oe, int oe2)
+uint8_t electron_sndexp3_device::read(address_space &space, offs_t offset, int infc, int infd, int romqa)
{
uint8_t data = 0xff;
- if (oe && romqa)
+ if (!infc && !infd && romqa)
{
if (offset < 0x2000)
{
@@ -85,7 +84,7 @@ uint8_t electron_sndexp3_device::read(offs_t offset, int infc, int infd, int rom
// write - cartridge data write
//-------------------------------------------------
-void electron_sndexp3_device::write(offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2)
+void electron_sndexp3_device::write(address_space &space, offs_t offset, uint8_t data, int infc, int infd, int romqa)
{
if (infc)
{
@@ -103,7 +102,8 @@ void electron_sndexp3_device::write(offs_t offset, uint8_t data, int infc, int i
break;
}
}
- else if (oe && romqa)
+
+ if (!infc && !infd && romqa)
{
if (offset >= 0x2000)
{
diff --git a/src/devices/bus/electron/cart/sndexp3.h b/src/devices/bus/electron/cart/sndexp3.h
index 95d437b63e2..2ad0869ca65 100644
--- a/src/devices/bus/electron/cart/sndexp3.h
+++ b/src/devices/bus/electron/cart/sndexp3.h
@@ -32,8 +32,8 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// electron_cart_interface overrides
- virtual uint8_t read(offs_t offset, int infc, int infd, int romqa, int oe, int oe2) override;
- virtual void write(offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2) override;
+ virtual uint8_t read(address_space &space, offs_t offset, int infc, int infd, int romqa) override;
+ virtual void write(address_space &space, offs_t offset, uint8_t data, int infc, int infd, int romqa) override;
private:
required_device<sn76489_device> m_sn;
diff --git a/src/devices/bus/electron/cart/sp64.cpp b/src/devices/bus/electron/cart/sp64.cpp
index 9b5d497999e..11db24fbba6 100644
--- a/src/devices/bus/electron/cart/sp64.cpp
+++ b/src/devices/bus/electron/cart/sp64.cpp
@@ -55,7 +55,7 @@ void electron_sp64_device::device_reset()
// read - cartridge data read
//-------------------------------------------------
-uint8_t electron_sp64_device::read(offs_t offset, int infc, int infd, int romqa, int oe, int oe2)
+uint8_t electron_sp64_device::read(address_space &space, offs_t offset, int infc, int infd, int romqa)
{
uint8_t data = 0xff;
@@ -68,14 +68,15 @@ uint8_t electron_sp64_device::read(offs_t offset, int infc, int infd, int romqa,
break;
}
}
- else if (oe)
+
+ if (!infc && !infd)
{
- offs_t rom_page_offset = m_page_register << 14;
+ offs_t rom_page_offset = m_page_register * 0x4000;
switch (romqa)
{
case 0:
- data = m_rom[rom_page_offset | (offset & 0x3fff)];
+ data = m_rom[rom_page_offset + (offset & 0x3fff)];
break;
case 1:
data = m_ram[offset & 0x1fff];
@@ -90,7 +91,7 @@ uint8_t electron_sp64_device::read(offs_t offset, int infc, int infd, int romqa,
// write - cartridge data write
//-------------------------------------------------
-void electron_sp64_device::write(offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2)
+void electron_sp64_device::write(address_space &space, offs_t offset, uint8_t data, int infc, int infd, int romqa)
{
if (infc)
{
@@ -101,7 +102,8 @@ void electron_sp64_device::write(offs_t offset, uint8_t data, int infc, int infd
break;
}
}
- else if (oe)
+
+ if (!infc && !infd)
{
if (romqa == 1)
{
diff --git a/src/devices/bus/electron/cart/sp64.h b/src/devices/bus/electron/cart/sp64.h
index 68954fc9d30..7e5de9f18f6 100644
--- a/src/devices/bus/electron/cart/sp64.h
+++ b/src/devices/bus/electron/cart/sp64.h
@@ -33,8 +33,8 @@ protected:
virtual void device_reset() override;
// electron_cart_interface overrides
- virtual uint8_t read(offs_t offset, int infc, int infd, int romqa, int oe, int oe2) override;
- virtual void write(offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2) override;
+ virtual uint8_t read(address_space &space, offs_t offset, int infc, int infd, int romqa) override;
+ virtual void write(address_space &space, offs_t offset, uint8_t data, int infc, int infd, int romqa) override;
private:
uint8_t m_page_register;
diff --git a/src/devices/bus/electron/cart/std.cpp b/src/devices/bus/electron/cart/std.cpp
index f2b7333f347..b66e3b2ce0d 100644
--- a/src/devices/bus/electron/cart/std.cpp
+++ b/src/devices/bus/electron/cart/std.cpp
@@ -43,13 +43,13 @@ void electron_stdcart_device::device_start()
// read - cartridge data read
//-------------------------------------------------
-uint8_t electron_stdcart_device::read(offs_t offset, int infc, int infd, int romqa, int oe, int oe2)
+uint8_t electron_stdcart_device::read(address_space &space, offs_t offset, int infc, int infd, int romqa)
{
uint8_t data = 0xff;
- if (oe)
+ if (!infc && !infd)
{
- data = m_rom[(offset & 0x3fff) | (romqa << 14)];
+ data = m_rom[(offset & 0x3fff) + (romqa * 0x4000)];
}
return data;
diff --git a/src/devices/bus/electron/cart/std.h b/src/devices/bus/electron/cart/std.h
index 3fc9cefbcd9..e81e5684ee2 100644
--- a/src/devices/bus/electron/cart/std.h
+++ b/src/devices/bus/electron/cart/std.h
@@ -31,7 +31,7 @@ protected:
virtual void device_start() override;
// electron_cart_interface overrides
- virtual uint8_t read(offs_t offset, int infc, int infd, int romqa, int oe, int oe2) override;
+ virtual uint8_t read(address_space &space, offs_t offset, int infc, int infd, int romqa) override;
};
// device type definition
diff --git a/src/devices/bus/electron/cart/stlefs.cpp b/src/devices/bus/electron/cart/stlefs.cpp
index 47566871a9d..83dbf998f2a 100644
--- a/src/devices/bus/electron/cart/stlefs.cpp
+++ b/src/devices/bus/electron/cart/stlefs.cpp
@@ -47,9 +47,9 @@ void stlefs_floppies(device_slot_interface &device)
void electron_stlefs_device::device_add_mconfig(machine_config &config)
{
/* fdc */
- WD1770(config, m_fdc, DERIVED_CLOCK(1, 2));
- m_fdc->intrq_wr_callback().set(DEVICE_SELF_OWNER, FUNC(electron_cartslot_device::irq_w));
- m_fdc->drq_wr_callback().set(DEVICE_SELF_OWNER, FUNC(electron_cartslot_device::nmi_w));
+ WD1770(config, m_fdc, 16_MHz_XTAL / 2);
+ m_fdc->intrq_wr_callback().set(FUNC(electron_stlefs_device::fdc_intrq_w));
+ m_fdc->drq_wr_callback().set(FUNC(electron_stlefs_device::fdc_drq_w));
FLOPPY_CONNECTOR(config, m_floppy0, stlefs_floppies, "525qd", electron_stlefs_device::floppy_formats).enable_sound(true);
FLOPPY_CONNECTOR(config, m_floppy1, stlefs_floppies, nullptr, electron_stlefs_device::floppy_formats).enable_sound(true);
}
@@ -83,7 +83,7 @@ void electron_stlefs_device::device_start()
// read - cartridge data read
//-------------------------------------------------
-uint8_t electron_stlefs_device::read(offs_t offset, int infc, int infd, int romqa, int oe, int oe2)
+uint8_t electron_stlefs_device::read(address_space &space, offs_t offset, int infc, int infd, int romqa)
{
uint8_t data = 0xff;
@@ -99,9 +99,13 @@ uint8_t electron_stlefs_device::read(offs_t offset, int infc, int infd, int romq
break;
}
}
- else if (oe)
+
+ if (!infc && !infd)
{
- data = m_rom[(offset & 0x3fff) | (romqa << 14)];
+ if (offset >= 0x0000 && offset < 0x4000)
+ {
+ data = m_rom[(offset & 0x3fff) + (romqa * 0x4000)];
+ }
}
return data;
@@ -111,14 +115,14 @@ uint8_t electron_stlefs_device::read(offs_t offset, int infc, int infd, int romq
// write - cartridge data write
//-------------------------------------------------
-void electron_stlefs_device::write(offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2)
+void electron_stlefs_device::write(address_space &space, offs_t offset, uint8_t data, int infc, int infd, int romqa)
{
if (infc)
{
switch (offset & 0xff)
{
case 0xc0:
- wd1770_control_w(data);
+ wd1770_control_w(space, 0, data);
break;
case 0xc4:
case 0xc5:
@@ -137,7 +141,7 @@ void electron_stlefs_device::write(offs_t offset, uint8_t data, int infc, int in
// IMPLEMENTATION
//**************************************************************************
-void electron_stlefs_device::wd1770_control_w(uint8_t data)
+WRITE8_MEMBER(electron_stlefs_device::wd1770_control_w)
{
floppy_image_device *floppy = nullptr;
@@ -156,3 +160,13 @@ void electron_stlefs_device::wd1770_control_w(uint8_t data)
// bit 5: reset
if (!BIT(data, 5)) m_fdc->soft_reset();
}
+
+void electron_stlefs_device::fdc_intrq_w(int state)
+{
+ m_slot->irq_w(state);
+}
+
+void electron_stlefs_device::fdc_drq_w(int state)
+{
+ m_slot->nmi_w(state);
+}
diff --git a/src/devices/bus/electron/cart/stlefs.h b/src/devices/bus/electron/cart/stlefs.h
index 421850943e2..2123261907a 100644
--- a/src/devices/bus/electron/cart/stlefs.h
+++ b/src/devices/bus/electron/cart/stlefs.h
@@ -36,11 +36,13 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// electron_cart_interface overrides
- virtual uint8_t read(offs_t offset, int infc, int infd, int romqa, int oe, int oe2) override;
- virtual void write(offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2) override;
+ virtual uint8_t read(address_space &space, offs_t offset, int infc, int infd, int romqa) override;
+ virtual void write(address_space &space, offs_t offset, uint8_t data, int infc, int infd, int romqa) override;
private:
- void wd1770_control_w(uint8_t data);
+ DECLARE_WRITE8_MEMBER(wd1770_control_w);
+ DECLARE_WRITE_LINE_MEMBER(fdc_intrq_w);
+ DECLARE_WRITE_LINE_MEMBER(fdc_drq_w);
DECLARE_FLOPPY_FORMATS(floppy_formats);
required_device<wd1770_device> m_fdc;
diff --git a/src/devices/bus/electron/cart/tube.cpp b/src/devices/bus/electron/cart/tube.cpp
deleted file mode 100644
index 02dcd00275d..00000000000
--- a/src/devices/bus/electron/cart/tube.cpp
+++ /dev/null
@@ -1,91 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Nigel Barnes
-/**********************************************************************
-
- Acorn Electron Tube Interface
-
-**********************************************************************/
-
-
-#include "emu.h"
-#include "tube.h"
-
-
-//**************************************************************************
-// DEVICE DEFINITIONS
-//**************************************************************************
-
-DEFINE_DEVICE_TYPE(ELECTRON_TUBE, electron_tube_device, "electron_tube", "Acorn Electron Tube Interface")
-
-
-//-------------------------------------------------
-// device_add_mconfig - add device configuration
-//-------------------------------------------------
-
-void electron_tube_device::device_add_mconfig(machine_config &config)
-{
- /* tube port */
- BBC_TUBE_SLOT(config, m_tube, electron_tube_devices, nullptr);
- m_tube->irq_handler().set(DEVICE_SELF_OWNER, FUNC(electron_cartslot_device::irq_w));
-}
-
-//**************************************************************************
-// LIVE DEVICE
-//**************************************************************************
-
-//-------------------------------------------------
-// electron_tube_device - constructor
-//-------------------------------------------------
-
-electron_tube_device::electron_tube_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, ELECTRON_TUBE, tag, owner, clock)
- , device_electron_cart_interface(mconfig, *this)
- , m_tube(*this, "tube")
-{
-}
-
-//-------------------------------------------------
-// device_start - device-specific startup
-//-------------------------------------------------
-
-void electron_tube_device::device_start()
-{
-}
-
-//-------------------------------------------------
-// read - cartridge data read
-//-------------------------------------------------
-
-uint8_t electron_tube_device::read(offs_t offset, int infc, int infd, int romqa, int oe, int oe2)
-{
- uint8_t data = 0xff;
-
- if (infc)
- {
- if (offset >= 0xe0 && offset < 0xf0)
- {
- data = m_tube->host_r(offset & 0x0f);
- }
- }
- else if (oe2)
- {
- data = m_rom[offset & 0x1fff];
- }
-
- return data;
-}
-
-//-------------------------------------------------
-// write - cartridge data write
-//-------------------------------------------------
-
-void electron_tube_device::write(offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2)
-{
- if (infc)
- {
- if (offset >= 0xe0 && offset < 0xf0)
- {
- m_tube->host_w(offset & 0x0f, data);
- }
- }
-}
diff --git a/src/devices/bus/electron/cart/tube.h b/src/devices/bus/electron/cart/tube.h
deleted file mode 100644
index 1d239ef5215..00000000000
--- a/src/devices/bus/electron/cart/tube.h
+++ /dev/null
@@ -1,47 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Nigel Barnes
-/**********************************************************************
-
- Acorn Electron Tube Interface
-
-**********************************************************************/
-
-#ifndef MAME_BUS_ELECTRON_CART_TUBE_H
-#define MAME_BUS_ELECTRON_CART_TUBE_H
-
-#include "slot.h"
-#include "bus/bbc/tube/tube.h"
-
-//**************************************************************************
-// TYPE DEFINITIONS
-//**************************************************************************
-
-class electron_tube_device :
- public device_t,
- public device_electron_cart_interface
-{
-public:
- // construction/destruction
- electron_tube_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
-protected:
- // device-level overrides
- virtual void device_start() override;
-
- // optional information overrides
- virtual void device_add_mconfig(machine_config &config) override;
-
- // electron_cart_interface overrides
- virtual uint8_t read(offs_t offset, int infc, int infd, int romqa, int oe, int oe2) override;
- virtual void write(offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2) override;
-
-private:
- required_device<bbc_tube_slot_device> m_tube;
-};
-
-
-// device type definition
-DECLARE_DEVICE_TYPE(ELECTRON_TUBE, electron_tube_device)
-
-
-#endif // MAME_BUS_ELECTRON_CART_TUBE_H
diff --git a/src/devices/bus/electron/exp.cpp b/src/devices/bus/electron/exp.cpp
index d2cd0abc824..9d78af460a9 100644
--- a/src/devices/bus/electron/exp.cpp
+++ b/src/devices/bus/electron/exp.cpp
@@ -32,6 +32,15 @@ device_electron_expansion_interface::device_electron_expansion_interface(const m
}
+//-------------------------------------------------
+// ~device_electron_expansion_interface - destructor
+//-------------------------------------------------
+
+device_electron_expansion_interface::~device_electron_expansion_interface()
+{
+}
+
+
//**************************************************************************
// LIVE DEVICE
//**************************************************************************
@@ -51,6 +60,15 @@ electron_expansion_slot_device::electron_expansion_slot_device(const machine_con
//-------------------------------------------------
+// expansion_slot_device - destructor
+//-------------------------------------------------
+
+electron_expansion_slot_device::~electron_expansion_slot_device()
+{
+}
+
+
+//-------------------------------------------------
// device_start - device-specific startup
//-------------------------------------------------
@@ -75,13 +93,11 @@ void electron_expansion_slot_device::device_reset()
// expbus_r - expansion data read
//-------------------------------------------------
-uint8_t electron_expansion_slot_device::expbus_r(offs_t offset)
+uint8_t electron_expansion_slot_device::expbus_r(address_space &space, offs_t offset, uint8_t data)
{
- uint8_t data = 0xff;
-
if (m_card != nullptr)
{
- data = m_card->expbus_r(offset);
+ data = m_card->expbus_r(space, offset, data);
}
return data;
@@ -91,11 +107,11 @@ uint8_t electron_expansion_slot_device::expbus_r(offs_t offset)
// expbus_w - expansion data write
//-------------------------------------------------
-void electron_expansion_slot_device::expbus_w(offs_t offset, uint8_t data)
+void electron_expansion_slot_device::expbus_w(address_space &space, offs_t offset, uint8_t data)
{
if (m_card != nullptr)
{
- m_card->expbus_w(offset, data);
+ m_card->expbus_w(space, offset, data);
}
}
@@ -110,7 +126,6 @@ void electron_expansion_slot_device::expbus_w(offs_t offset, uint8_t data)
//#include "fbprint.h"
//#include "jafamode7.h"
#include "plus1.h"
-#include "plus2.h"
#include "plus3.h"
#include "pwrjoy.h"
#include "rombox.h"
@@ -125,7 +140,6 @@ void electron_expansion_devices(device_slot_interface &device)
//device.option_add("fbprint", ELECTRON_FBPRINT);
//device.option_add("jafamode7", ELECTRON_JAFAMODE7);
device.option_add("plus1", ELECTRON_PLUS1);
- device.option_add("plus2", ELECTRON_PLUS2);
device.option_add("plus3", ELECTRON_PLUS3);
device.option_add("pwrjoy", ELECTRON_PWRJOY);
device.option_add("rombox", ELECTRON_ROMBOX);
diff --git a/src/devices/bus/electron/exp.h b/src/devices/bus/electron/exp.h
index a3bfc045b3a..ddac72c4d2b 100644
--- a/src/devices/bus/electron/exp.h
+++ b/src/devices/bus/electron/exp.h
@@ -91,6 +91,33 @@ AC RETURNS (pins 3,4) - adaptor. A total of 6W may be drawn from these lines as
//**************************************************************************
+// CONSTANTS
+//**************************************************************************
+
+#define ELECTRON_EXPANSION_SLOT_TAG "exp"
+
+
+//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_ELECTRON_EXPANSION_SLOT_ADD(_tag, _slot_intf, _def_slot, _fixed) \
+ MCFG_DEVICE_ADD(_tag, ELECTRON_EXPANSION_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, _fixed)
+
+#define MCFG_ELECTRON_PASSTHRU_EXPANSION_SLOT_ADD(_def_slot) \
+ MCFG_ELECTRON_EXPANSION_SLOT_ADD(ELECTRON_EXPANSION_SLOT_TAG, electron_expansion_devices, _def_slot, false) \
+ MCFG_ELECTRON_EXPANSION_SLOT_IRQ_HANDLER(WRITELINE(DEVICE_SELF_OWNER, electron_expansion_slot_device, irq_w)) \
+ MCFG_ELECTRON_EXPANSION_SLOT_NMI_HANDLER(WRITELINE(DEVICE_SELF_OWNER, electron_expansion_slot_device, nmi_w))
+
+#define MCFG_ELECTRON_EXPANSION_SLOT_IRQ_HANDLER(_devcb) \
+ downcast<electron_expansion_slot_device &>(*device).set_irq_handler(DEVCB_##_devcb);
+
+#define MCFG_ELECTRON_EXPANSION_SLOT_NMI_HANDLER(_devcb) \
+ downcast<electron_expansion_slot_device &>(*device).set_nmi_handler(DEVCB_##_devcb);
+
+
+//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -102,23 +129,15 @@ class electron_expansion_slot_device : public device_t, public device_slot_inter
{
public:
// construction/destruction
- template <typename T>
- electron_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, T &&opts, const char *dflt)
- : electron_expansion_slot_device(mconfig, tag, owner, clock)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
electron_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ virtual ~electron_expansion_slot_device();
// callbacks
- auto irq_handler() { return m_irq_handler.bind(); }
- auto nmi_handler() { return m_nmi_handler.bind(); }
+ template <class Object> devcb_base &set_irq_handler(Object &&cb) { return m_irq_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_nmi_handler(Object &&cb) { return m_nmi_handler.set_callback(std::forward<Object>(cb)); }
- uint8_t expbus_r(offs_t offset);
- void expbus_w(offs_t offset, uint8_t data);
+ uint8_t expbus_r(address_space &space, offs_t offset, uint8_t data);
+ void expbus_w(address_space &space, offs_t offset, uint8_t data);
DECLARE_WRITE_LINE_MEMBER( irq_w ) { m_irq_handler(state); }
DECLARE_WRITE_LINE_MEMBER( nmi_w ) { m_nmi_handler(state); }
@@ -141,8 +160,11 @@ private:
class device_electron_expansion_interface : public device_slot_card_interface
{
public:
- virtual uint8_t expbus_r(offs_t offset) { return 0xff; }
- virtual void expbus_w(offs_t offset, uint8_t data) { }
+ // construction/destruction
+ virtual ~device_electron_expansion_interface();
+
+ virtual uint8_t expbus_r(address_space &space, offs_t offset, uint8_t data) { return data; }
+ virtual void expbus_w(address_space &space, offs_t offset, uint8_t data) { }
protected:
device_electron_expansion_interface(const machine_config &mconfig, device_t &device);
diff --git a/src/devices/bus/electron/fbjoy.cpp b/src/devices/bus/electron/fbjoy.cpp
index e5a4042cfeb..6c4939edbf5 100644
--- a/src/devices/bus/electron/fbjoy.cpp
+++ b/src/devices/bus/electron/fbjoy.cpp
@@ -67,10 +67,8 @@ void electron_fbjoy_device::device_start()
// expbus_r - expansion data read
//-------------------------------------------------
-uint8_t electron_fbjoy_device::expbus_r(offs_t offset)
+uint8_t electron_fbjoy_device::expbus_r(address_space &space, offs_t offset, uint8_t data)
{
- uint8_t data = 0xff;
-
if (offset == 0xfcc0)
{
data = m_joy->read() | 0xe0;
diff --git a/src/devices/bus/electron/fbjoy.h b/src/devices/bus/electron/fbjoy.h
index d9faaa6cd15..b45c242d907 100644
--- a/src/devices/bus/electron/fbjoy.h
+++ b/src/devices/bus/electron/fbjoy.h
@@ -33,7 +33,7 @@ public:
// optional information overrides
virtual ioport_constructor device_input_ports() const override;
- virtual uint8_t expbus_r(offs_t offset) override;
+ virtual uint8_t expbus_r(address_space &space, offs_t offset, uint8_t data) override;
protected:
// device-level overrides
diff --git a/src/devices/bus/electron/m2105.cpp b/src/devices/bus/electron/m2105.cpp
index a5edb8e3232..abc652d6fdf 100644
--- a/src/devices/bus/electron/m2105.cpp
+++ b/src/devices/bus/electron/m2105.cpp
@@ -59,27 +59,27 @@ void electron_m2105_device::device_add_mconfig(machine_config &config)
/* sound hardware */
SPEAKER(config, "mono").front_center();
- INPUT_MERGER_ANY_HIGH(config, m_irqs).output_handler().set(DEVICE_SELF_OWNER, FUNC(electron_expansion_slot_device::irq_w));
-
- /* nvram */
- RAM(config, m_ram).set_default_size("64K");
+ INPUT_MERGER_ANY_HIGH(config, m_irqs);
+ m_irqs->output_handler().set(FUNC(electron_m2105_device::intrq_w));
/* system via */
- VIA6522(config, m_via6522_0, DERIVED_CLOCK(1, 16));
- //m_via6522_0->readpa_handler().set(FUNC(electron_m2105_device::m2105_via_system_read_porta));
- m_via6522_0->readpb_handler().set(m_tms, FUNC(tms5220_device::status_r));
- //m_via6522_0->writepa_handler().set(FUNC(electron_m2105_device::m2105_via_system_write_porta));
- m_via6522_0->writepb_handler().set(m_tms, FUNC(tms5220_device::data_w));
+ VIA6522(config, m_via6522_0, 1000000);
+ /*m_via6522_0->readpa_handler().set(FUNC(electron_m2105_device::m2105_via_system_read_porta));
+ m_via6522_0->readpb_handler().set(FUNC(electron_m2105_device::m2105_via_system_read_portb));
+ m_via6522_0->writepa_handler().set(FUNC(electron_m2105_device::m2105_via_system_write_porta));
+ m_via6522_0->writepb_handler().set(FUNC(electron_m2105_device::m2105_via_system_write_portb));*/
m_via6522_0->irq_handler().set(m_irqs, FUNC(input_merger_device::in_w<0>));
/* user via */
- VIA6522(config, m_via6522_1, DERIVED_CLOCK(1, 16));
- m_via6522_1->writepb_handler().set("cent_data_out", FUNC(output_latch_device::bus_w));
+ VIA6522(config, m_via6522_1, 1000000);
+ //m_via6522_1->readpb_handler().set(FUNC(electron_m2105_device::m2105_via_user_read_portb));
+ m_via6522_1->writepa_handler().set("cent_data_out", FUNC(output_latch_device::bus_w));
+ //m_via6522_1->writepb_handler().set(FUNC(electron_m2105_device::m2105_via_user_write_portb));
m_via6522_1->ca2_handler().set(m_centronics, FUNC(centronics_device::write_strobe));
m_via6522_1->irq_handler().set(m_irqs, FUNC(input_merger_device::in_w<1>));
- /* duart */
- SCN2681(config, m_duart, XTAL(3'686'400)); // TODO: confirm clock
+ /* duart */
+ SCN2681(config, m_duart, XTAL(3'686'400));
m_duart->irq_cb().set(m_irqs, FUNC(input_merger_device::in_w<2>));
m_duart->a_tx_cb().set("rs232", FUNC(rs232_port_device::write_txd));
//m_duart->outport_cb().set(FUNC(electron_m2105_device::sio_out_w));
@@ -93,14 +93,10 @@ void electron_m2105_device::device_add_mconfig(machine_config &config)
output_latch_device &latch(OUTPUT_LATCH(config, "cent_data_out"));
m_centronics->set_output_latch(latch);
- /* AM7910 modem */
-
/* speech hardware */
SPEECHROM(config, "vsm", 0);
TMS5220(config, m_tms, 640000);
m_tms->set_speechrom_tag("vsm");
- //m_tms->irq_handler().set(m_via6522_0, FUNC(via6522_device::write_cb1));
- //m_tms->readyq_handler().set(m_via6522_0, FUNC(via6522_device::write_cb2));
m_tms->add_route(ALL_OUTPUTS, "mono", 1.0);
}
@@ -121,14 +117,12 @@ electron_m2105_device::electron_m2105_device(const machine_config &mconfig, cons
: device_t(mconfig, ELECTRON_M2105, tag, owner, clock)
, device_electron_expansion_interface(mconfig, *this)
, m_exp_rom(*this, "exp_rom")
- , m_ram(*this, RAM_TAG)
, m_via6522_0(*this, "via6522_0")
, m_via6522_1(*this, "via6522_1")
, m_duart(*this, "duart")
, m_tms(*this, "tms5220")
, m_centronics(*this, "centronics")
, m_irqs(*this, "irqs")
- , m_ram_page(0)
, m_romsel(0)
{
}
@@ -139,7 +133,7 @@ electron_m2105_device::electron_m2105_device(const machine_config &mconfig, cons
void electron_m2105_device::device_start()
{
- save_item(NAME(m_ram_page));
+ m_slot = dynamic_cast<electron_expansion_slot_device *>(owner());
}
//-------------------------------------------------
@@ -154,58 +148,38 @@ void electron_m2105_device::device_reset()
// expbus_r - expansion data read
//-------------------------------------------------
-uint8_t electron_m2105_device::expbus_r(offs_t offset)
+uint8_t electron_m2105_device::expbus_r(address_space &space, offs_t offset, uint8_t data)
{
- uint8_t data = 0xff;
-
- switch (offset >> 12)
+ if (offset >= 0x8000 && offset < 0xc000)
{
- case 0x8:
- case 0x9:
- case 0xa:
- case 0xb:
switch (m_romsel)
{
case 0:
- data = m_exp_rom->base()[0x8000 | (offset & 0x3fff)];
+ data = m_exp_rom->base()[0x8000 + (offset & 0x3fff)];
break;
case 2:
- data = m_exp_rom->base()[0xc000 | (offset & 0x3fff)];
+ data = m_exp_rom->base()[0xc000 + (offset & 0x3fff)];
break;
case 12:
- data = m_exp_rom->base()[0x0000 | (offset & 0x3fff)];
+ data = m_exp_rom->base()[0x0000 + (offset & 0x3fff)];
break;
case 13:
- data = m_exp_rom->base()[0x4000 | (offset & 0x3fff)];
- break;
- }
- break;
-
- case 0xf:
- switch (offset >> 8)
- {
- case 0xfc:
- logerror("read %04x\n", offset);
- if (offset >= 0xfc50 && offset < 0xfc60)
- {
- data = m_duart->read(offset & 0x0f);
- }
- else if (offset >= 0xfc60 && offset < 0xfc70)
- {
- data = m_via6522_1->read(offset & 0x0f);
- }
- else if (offset >= 0xfc70 && offset < 0xfc80)
- {
- data = m_via6522_0->read(offset & 0x0f);
- }
- break;
-
- case 0xfd:
- //if (m_ram_page < 0x80)
- data = m_ram->pointer()[(m_ram_page << 8) | (offset & 0xff)];
+ data = m_exp_rom->base()[0x4000 + (offset & 0x3fff)];
break;
}
}
+ else if (offset >= 0xfc40 && offset < 0xfc60)
+ {
+ data = m_via6522_1->read(offset);
+ }
+ else if (offset >= 0xfc60 && offset < 0xfc70)
+ {
+ data = m_duart->read(offset & 0x0f);
+ }
+ else if (offset >= 0xfc70 && offset < 0xfc90)
+ {
+ data = m_via6522_0->read(offset);
+ }
return data;
}
@@ -214,44 +188,36 @@ uint8_t electron_m2105_device::expbus_r(offs_t offset)
// expbus_w - expansion data write
//-------------------------------------------------
-void electron_m2105_device::expbus_w(offs_t offset, uint8_t data)
+void electron_m2105_device::expbus_w(address_space &space, offs_t offset, uint8_t data)
{
- switch (offset >> 12)
+ if (offset >= 0x8000 && offset < 0xc000)
{
- case 0xf:
- switch (offset >> 8)
- {
- case 0xfc:
- logerror("write %04x %02x\n", offset, data);
- if (offset >= 0xfc50 && offset < 0xfc60)
- {
- m_duart->write(offset & 0x0f, data);
- }
- else if (offset >= 0xfc60 && offset < 0xfc70)
- {
- m_via6522_1->write(offset & 0x0f, data);
- }
- else if (offset >= 0xfc70 && offset < 0xfc80)
- {
- m_via6522_0->write(offset & 0x0f, data);
- }
- else if (offset == 0xfcff)
- {
- m_ram_page = data;
- }
- break;
+ logerror("write ram bank %d\n", m_romsel);
+ }
+ else if (offset >= 0xfc40 && offset < 0xfc60)
+ {
+ m_via6522_1->write(offset, data);
+ }
+ else if (offset >= 0xfc60 && offset < 0xfc70)
+ {
+ m_duart->write(offset & 0x0f, data);
+ }
+ else if (offset >= 0xfc70 && offset < 0xfc90)
+ {
+ m_via6522_0->write(offset, data);
+ }
+ else if (offset == 0xfe05)
+ {
+ m_romsel = data & 0x0f;
+ }
+}
- case 0xfd:
- //if (m_ram_page < 0x80)
- m_ram->pointer()[(m_ram_page << 8) | (offset & 0xff)] = data;
- break;
- case 0xfe:
- if (offset == 0xfe05)
- {
- m_romsel = data & 0x0f;
- }
- break;
- }
- }
+//**************************************************************************
+// IMPLEMENTATION
+//**************************************************************************
+
+WRITE_LINE_MEMBER(electron_m2105_device::intrq_w)
+{
+ m_slot->irq_w(state);
}
diff --git a/src/devices/bus/electron/m2105.h b/src/devices/bus/electron/m2105.h
index c09f4722eab..3fab3b52128 100644
--- a/src/devices/bus/electron/m2105.h
+++ b/src/devices/bus/electron/m2105.h
@@ -12,7 +12,6 @@
#pragma once
#include "exp.h"
-#include "machine/ram.h"
#include "machine/6522via.h"
#include "machine/mc68681.h"
#include "machine/input_merger.h"
@@ -41,12 +40,13 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
virtual const tiny_rom_entry *device_rom_region() const override;
- virtual uint8_t expbus_r(offs_t offset) override;
- virtual void expbus_w(offs_t offset, uint8_t data) override;
+ virtual uint8_t expbus_r(address_space &space, offs_t offset, uint8_t data) override;
+ virtual void expbus_w(address_space &space, offs_t offset, uint8_t data) override;
private:
+ DECLARE_WRITE_LINE_MEMBER(intrq_w);
+
required_memory_region m_exp_rom;
- required_device<ram_device> m_ram;
required_device<via6522_device> m_via6522_0;
required_device<via6522_device> m_via6522_1;
required_device<scn2681_device> m_duart;
@@ -54,7 +54,6 @@ private:
required_device<centronics_device> m_centronics;
required_device<input_merger_device> m_irqs;
- uint8_t m_ram_page;
uint8_t m_romsel;
};
diff --git a/src/devices/bus/electron/plus1.cpp b/src/devices/bus/electron/plus1.cpp
index a96ad20c656..9bb500b586d 100644
--- a/src/devices/bus/electron/plus1.cpp
+++ b/src/devices/bus/electron/plus1.cpp
@@ -90,13 +90,11 @@ ioport_constructor electron_plus1_device::device_input_ports() const
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void electron_plus1_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(electron_plus1_device::device_add_mconfig)
/* printer */
- CENTRONICS(config, m_centronics, centronics_devices, "printer");
- m_centronics->busy_handler().set(FUNC(electron_plus1_device::busy_w));
- output_latch_device &latch(OUTPUT_LATCH(config, "cent_data_out"));
- m_centronics->set_output_latch(latch);
+ MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
+ MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, electron_plus1_device, busy_w))
+ MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
/* adc */
ADC0844(config, m_adc);
@@ -107,13 +105,13 @@ void electron_plus1_device::device_add_mconfig(machine_config &config)
m_adc->ch4_callback().set_ioport("JOY4");
/* cartridges */
- ELECTRON_CARTSLOT(config, m_cart_sk1, DERIVED_CLOCK(1, 1), electron_cart, nullptr);
- m_cart_sk1->irq_handler().set(DEVICE_SELF_OWNER, FUNC(electron_expansion_slot_device::irq_w));
- m_cart_sk1->nmi_handler().set(DEVICE_SELF_OWNER, FUNC(electron_expansion_slot_device::nmi_w));
- ELECTRON_CARTSLOT(config, m_cart_sk2, DERIVED_CLOCK(1, 1), electron_cart, nullptr);
- m_cart_sk2->irq_handler().set(DEVICE_SELF_OWNER, FUNC(electron_expansion_slot_device::irq_w));
- m_cart_sk2->nmi_handler().set(DEVICE_SELF_OWNER, FUNC(electron_expansion_slot_device::nmi_w));
-}
+ MCFG_ELECTRON_CARTSLOT_ADD("cart_sk1", electron_cart, nullptr)
+ MCFG_ELECTRON_CARTSLOT_IRQ_HANDLER(WRITELINE(*this, electron_plus1_device, irq_w))
+ MCFG_ELECTRON_CARTSLOT_NMI_HANDLER(WRITELINE(*this, electron_plus1_device, nmi_w))
+ MCFG_ELECTRON_CARTSLOT_ADD("cart_sk2", electron_cart, nullptr)
+ MCFG_ELECTRON_CARTSLOT_IRQ_HANDLER(WRITELINE(*this, electron_plus1_device, irq_w))
+ MCFG_ELECTRON_CARTSLOT_NMI_HANDLER(WRITELINE(*this, electron_plus1_device, nmi_w))
+MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region
@@ -156,6 +154,7 @@ electron_plus1_device::electron_plus1_device(const machine_config &mconfig, cons
void electron_plus1_device::device_start()
{
+ m_slot = dynamic_cast<electron_expansion_slot_device *>(owner());
}
@@ -163,10 +162,8 @@ void electron_plus1_device::device_start()
// expbus_r - expansion data read
//-------------------------------------------------
-uint8_t electron_plus1_device::expbus_r(offs_t offset)
+uint8_t electron_plus1_device::expbus_r(address_space &space, offs_t offset, uint8_t data)
{
- uint8_t data = 0xff;
-
switch (offset >> 12)
{
case 0x8:
@@ -177,19 +174,15 @@ uint8_t electron_plus1_device::expbus_r(offs_t offset)
{
case 0:
case 1:
- data = m_cart_sk2->read(offset & 0x3fff, 0, 0, m_romsel & 0x01, 1, 0);
+ data = m_cart_sk2->read(space, offset & 0x3fff, 0, 0, m_romsel & 0x01);
break;
case 2:
case 3:
- data = m_cart_sk1->read(offset & 0x3fff, 0, 0, m_romsel & 0x01, 1, 0);
+ data = m_cart_sk1->read(space, offset & 0x3fff, 0, 0, m_romsel & 0x01);
break;
case 12:
data = m_exp_rom->base()[offset & 0x1fff];
break;
- case 13:
- data &= m_cart_sk1->read(offset & 0x3fff, 0, 0, m_romsel & 0x01, 0, 1);
- data &= m_cart_sk2->read(offset & 0x3fff, 0, 0, m_romsel & 0x01, 0, 1);
- break;
}
break;
@@ -197,22 +190,22 @@ uint8_t electron_plus1_device::expbus_r(offs_t offset)
switch (offset >> 8)
{
case 0xfc:
- data &= m_cart_sk1->read(offset & 0xff, 1, 0, m_romsel & 0x01, 0, 0);
- data &= m_cart_sk2->read(offset & 0xff, 1, 0, m_romsel & 0x01, 0, 0);
+ data &= m_cart_sk1->read(space, offset & 0xff, 1, 0, m_romsel & 0x01);
+ data &= m_cart_sk2->read(space, offset & 0xff, 1, 0, m_romsel & 0x01);
if (offset == 0xfc70)
{
- data &= m_adc->read();
+ data &= m_adc->read(space, offset);
}
else if (offset == 0xfc72)
{
- data &= status_r();
+ data &= status_r(space, offset);
}
break;
case 0xfd:
- data &= m_cart_sk1->read(offset & 0xff, 0, 1, m_romsel & 0x01, 0, 0);
- data &= m_cart_sk2->read(offset & 0xff, 0, 1, m_romsel & 0x01, 0, 0);
+ data &= m_cart_sk1->read(space, offset & 0xff, 0, 1, m_romsel & 0x01);
+ data &= m_cart_sk2->read(space, offset & 0xff, 0, 1, m_romsel & 0x01);
break;
}
}
@@ -225,7 +218,7 @@ uint8_t electron_plus1_device::expbus_r(offs_t offset)
// expbus_w - expansion data write
//-------------------------------------------------
-void electron_plus1_device::expbus_w(offs_t offset, uint8_t data)
+void electron_plus1_device::expbus_w(address_space &space, offs_t offset, uint8_t data)
{
switch (offset >> 12)
{
@@ -237,11 +230,11 @@ void electron_plus1_device::expbus_w(offs_t offset, uint8_t data)
{
case 0:
case 1:
- m_cart_sk2->write(offset & 0x3fff, data, 0, 0, m_romsel & 0x01, 1, 0);
+ m_cart_sk2->write(space, offset & 0x3fff, data, 0, 0, m_romsel & 0x01);
break;
case 2:
case 3:
- m_cart_sk1->write(offset & 0x3fff, data, 0, 0, m_romsel & 0x01, 1, 0);
+ m_cart_sk1->write(space, offset & 0x3fff, data, 0, 0, m_romsel & 0x01);
break;
}
break;
@@ -250,12 +243,12 @@ void electron_plus1_device::expbus_w(offs_t offset, uint8_t data)
switch (offset >> 8)
{
case 0xfc:
- m_cart_sk1->write(offset & 0xff, data, 1, 0, m_romsel & 0x01, 0, 0);
- m_cart_sk2->write(offset & 0xff, data, 1, 0, m_romsel & 0x01, 0, 0);
+ m_cart_sk1->write(space, offset & 0xff, data, 1, 0, m_romsel & 0x01);
+ m_cart_sk2->write(space, offset & 0xff, data, 1, 0, m_romsel & 0x01);
if (offset == 0xfc70)
{
- m_adc->write(data);
+ m_adc->write(space, offset, data);
}
else if (offset == 0xfc71)
{
@@ -264,8 +257,8 @@ void electron_plus1_device::expbus_w(offs_t offset, uint8_t data)
break;
case 0xfd:
- m_cart_sk1->write(offset & 0xff, data, 0, 1, m_romsel & 0x01, 0, 0);
- m_cart_sk2->write(offset & 0xff, data, 0, 1, m_romsel & 0x01, 0, 0);
+ m_cart_sk1->write(space, offset & 0xff, data, 0, 1, m_romsel & 0x01);
+ m_cart_sk2->write(space, offset & 0xff, data, 0, 1, m_romsel & 0x01);
break;
case 0xfe:
@@ -283,9 +276,9 @@ void electron_plus1_device::expbus_w(offs_t offset, uint8_t data)
// IMPLEMENTATION
//**************************************************************************
-u8 electron_plus1_device::status_r()
+READ8_MEMBER(electron_plus1_device::status_r)
{
- u8 data = 0x0f;
+ uint8_t data = 0x0f;
// Status: b7: printer Busy
// b6: ADC conversion end
// b5: Fire Button 1
@@ -306,3 +299,13 @@ WRITE_LINE_MEMBER(electron_plus1_device::ready_w)
{
m_adc_ready = !state;
}
+
+WRITE_LINE_MEMBER(electron_plus1_device::irq_w)
+{
+ m_slot->irq_w(state);
+}
+
+WRITE_LINE_MEMBER(electron_plus1_device::nmi_w)
+{
+ m_slot->nmi_w(state);
+}
diff --git a/src/devices/bus/electron/plus1.h b/src/devices/bus/electron/plus1.h
index e211594a2c6..415797905fd 100644
--- a/src/devices/bus/electron/plus1.h
+++ b/src/devices/bus/electron/plus1.h
@@ -37,13 +37,15 @@ protected:
virtual const tiny_rom_entry *device_rom_region() const override;
virtual ioport_constructor device_input_ports() const override;
- virtual uint8_t expbus_r(offs_t offset) override;
- virtual void expbus_w(offs_t offset, uint8_t data) override;
+ virtual uint8_t expbus_r(address_space &space, offs_t offset, uint8_t data) override;
+ virtual void expbus_w(address_space &space, offs_t offset, uint8_t data) override;
private:
- u8 status_r();
+ DECLARE_READ8_MEMBER(status_r);
DECLARE_WRITE_LINE_MEMBER(busy_w);
DECLARE_WRITE_LINE_MEMBER(ready_w);
+ DECLARE_WRITE_LINE_MEMBER(irq_w);
+ DECLARE_WRITE_LINE_MEMBER(nmi_w);
required_memory_region m_exp_rom;
required_device<electron_cartslot_device> m_cart_sk1;
diff --git a/src/devices/bus/electron/plus2.cpp b/src/devices/bus/electron/plus2.cpp
deleted file mode 100644
index 040ec58eb35..00000000000
--- a/src/devices/bus/electron/plus2.cpp
+++ /dev/null
@@ -1,236 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Nigel Barnes
-/**********************************************************************
-
- Slogger Plus 2
-
- The Plus 2 interface from Slogger has been designed to compliment
- the Slogger Rombox Plus and Acorn Plus 1 by offering further
- expansion capabilities. This has been achieved by providing two
- extra cartridge slots, three ROM sockets and connections for a
- Usr Port and even further expansion via two expansion points.
-
-**********************************************************************/
-
-
-#include "emu.h"
-#include "plus2.h"
-
-
-//**************************************************************************
-// DEVICE DEFINITIONS
-//**************************************************************************
-
-DEFINE_DEVICE_TYPE(ELECTRON_PLUS2, electron_plus2_device, "electron_plus2", "Slogger Plus 2 Expansion")
-
-
-
-//-------------------------------------------------
-// device_add_mconfig - add device configuration
-//-------------------------------------------------
-
-void electron_plus2_device::device_add_mconfig(machine_config &config)
-{
- /* rom sockets */
- GENERIC_SOCKET(config, m_rom[0], generic_plain_slot, "electron_rom", "bin,rom"); // ROM SLOT 13
- m_rom[0]->set_device_load(device_image_load_delegate(&electron_plus2_device::device_image_load_rom1_load, this));
- GENERIC_SOCKET(config, m_rom[1], generic_plain_slot, "electron_rom", "bin,rom"); // ROM SLOT 14
- m_rom[1]->set_device_load(device_image_load_delegate(&electron_plus2_device::device_image_load_rom2_load, this));
- GENERIC_SOCKET(config, m_rom[2], generic_plain_slot, "electron_rom", "bin,rom"); // ROM SLOT 15
- m_rom[2]->set_device_load(device_image_load_delegate(&electron_plus2_device::device_image_load_rom3_load, this));
-
- /* cartridges */
- ELECTRON_CARTSLOT(config, m_cart[0], DERIVED_CLOCK(1, 1), electron_cart, nullptr);
- m_cart[0]->irq_handler().set(DEVICE_SELF_OWNER, FUNC(electron_expansion_slot_device::irq_w));
- m_cart[0]->nmi_handler().set(DEVICE_SELF_OWNER, FUNC(electron_expansion_slot_device::nmi_w));
- ELECTRON_CARTSLOT(config, m_cart[1], DERIVED_CLOCK(1, 1), electron_cart, nullptr);
- m_cart[1]->irq_handler().set(DEVICE_SELF_OWNER, FUNC(electron_expansion_slot_device::irq_w));
- m_cart[1]->nmi_handler().set(DEVICE_SELF_OWNER, FUNC(electron_expansion_slot_device::nmi_w));
-
- /* via */
- VIA6522(config, m_via, DERIVED_CLOCK(1, 16));
- m_via->readpb_handler().set(m_userport, FUNC(bbc_userport_slot_device::pb_r));
- m_via->writepb_handler().set(m_userport, FUNC(bbc_userport_slot_device::pb_w));
- m_via->irq_handler().set(DEVICE_SELF_OWNER, FUNC(electron_expansion_slot_device::irq_w));
-
- /* user port */
- BBC_USERPORT_SLOT(config, m_userport, bbc_userport_devices, nullptr);
- m_userport->cb1_handler().set(m_via, FUNC(via6522_device::write_cb1));
- m_userport->cb2_handler().set(m_via, FUNC(via6522_device::write_cb2));
-
- /* pass-through */
- ELECTRON_EXPANSION_SLOT(config, m_exp, DERIVED_CLOCK(1, 1), electron_expansion_devices, nullptr);
- m_exp->irq_handler().set(DEVICE_SELF_OWNER, FUNC(electron_expansion_slot_device::irq_w));
- m_exp->nmi_handler().set(DEVICE_SELF_OWNER, FUNC(electron_expansion_slot_device::nmi_w));
-}
-
-//**************************************************************************
-// LIVE DEVICE
-//**************************************************************************
-
-//-------------------------------------------------
-// electron_plus2_device - constructor
-//-------------------------------------------------
-
-electron_plus2_device::electron_plus2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, ELECTRON_PLUS2, tag, owner, clock)
- , device_electron_expansion_interface(mconfig, *this)
- , m_exp(*this, "exp")
- , m_via(*this, "via6522")
- , m_rom(*this, "rom%u", 1)
- , m_cart(*this, "cart%u", 1)
- , m_userport(*this, "userport")
- , m_romsel(0)
-{
-}
-
-
-//-------------------------------------------------
-// device_start - device-specific startup
-//-------------------------------------------------
-
-void electron_plus2_device::device_start()
-{
-}
-
-
-//-------------------------------------------------
-// expbus_r - expansion data read
-//-------------------------------------------------
-
-uint8_t electron_plus2_device::expbus_r(offs_t offset)
-{
- uint8_t data = 0xff;
-
- switch (offset >> 12)
- {
- case 0x8:
- case 0x9:
- case 0xa:
- case 0xb:
- switch (m_romsel)
- {
- case 4:
- case 5:
- data = m_cart[1]->read(offset & 0x3fff, 0, 0, m_romsel & 0x01, 1, 0);
- break;
- case 6:
- case 7:
- data = m_cart[0]->read(offset & 0x3fff, 0, 0, m_romsel & 0x01, 1, 0);
- break;
- case 13:
- data &= m_cart[0]->read(offset & 0x3fff, 0, 0, m_romsel & 0x01, 0, 1);
- data &= m_cart[1]->read(offset & 0x3fff, 0, 0, m_romsel & 0x01, 0, 1);
- case 14:
- case 15:
- data &= m_rom[m_romsel - 13]->read_rom(offset & 0x3fff);
- break;
- }
- break;
-
- case 0xf:
- switch (offset >> 8)
- {
- case 0xfc:
- data &= m_cart[0]->read(offset & 0xff, 1, 0, m_romsel & 0x01, 0, 0);
- data &= m_cart[1]->read(offset & 0xff, 1, 0, m_romsel & 0x01, 0, 0);
-
- if (offset >= 0xfcb0 && offset < 0xfcc0)
- {
- data &= m_via->read(offset & 0x0f);
- }
- break;
-
- case 0xfd:
- data &= m_cart[0]->read(offset & 0xff, 0, 1, m_romsel & 0x01, 0, 0);
- data &= m_cart[1]->read(offset & 0xff, 0, 1, m_romsel & 0x01, 0, 0);
- break;
- }
- }
-
- data &= m_exp->expbus_r(offset);
-
- return data;
-}
-
-
-//-------------------------------------------------
-// expbus_w - expansion data write
-//-------------------------------------------------
-
-void electron_plus2_device::expbus_w(offs_t offset, uint8_t data)
-{
- switch (offset >> 12)
- {
- case 0x8:
- case 0x9:
- case 0xa:
- case 0xb:
- switch (m_romsel)
- {
- case 4:
- case 5:
- m_cart[1]->write(offset & 0x3fff, data, 0, 0, m_romsel & 0x01, 1, 0);
- break;
- case 6:
- case 7:
- m_cart[0]->write(offset & 0x3fff, data, 0, 0, m_romsel & 0x01, 1, 0);
- break;
- }
- break;
-
- case 0xf:
- switch (offset >> 8)
- {
- case 0xfc:
- m_cart[0]->write(offset & 0xff, data, 1, 0, m_romsel & 0x01, 0, 0);
- m_cart[1]->write(offset & 0xff, data, 1, 0, m_romsel & 0x01, 0, 0);
-
- if (offset >= 0xfcb0 && offset < 0xfcc0)
- {
- m_via->write(offset & 0x0f, data);
- }
- break;
-
- case 0xfd:
- m_cart[0]->write(offset & 0xff, data, 0, 1, m_romsel & 0x01, 0, 0);
- m_cart[1]->write(offset & 0xff, data, 0, 1, m_romsel & 0x01, 0, 0);
- break;
-
- case 0xfe:
- if (offset == 0xfe05)
- {
- m_romsel = data & 0x0f;
- }
- break;
- }
- }
-
- m_exp->expbus_w(offset, data);
-}
-
-
-//**************************************************************************
-// IMPLEMENTATION
-//**************************************************************************
-
-image_init_result electron_plus2_device::load_rom(device_image_interface &image, generic_slot_device *slot)
-{
- uint32_t size = slot->common_get_size("rom");
-
- // socket accepts 8K and 16K ROM only
- if (size != 0x2000 && size != 0x4000)
- {
- image.seterror(IMAGE_ERROR_UNSPECIFIED, "Invalid size: Only 8K/16K is supported");
- return image_init_result::FAIL;
- }
-
- slot->rom_alloc(0x4000, GENERIC_ROM8_WIDTH, ENDIANNESS_LITTLE);
- slot->common_load_rom(slot->get_rom_base(), size, "rom");
-
- // mirror 8K ROMs
- uint8_t *crt = slot->get_rom_base();
- if (size <= 0x2000) memcpy(crt + 0x2000, crt, 0x2000);
-
- return image_init_result::PASS;
-}
diff --git a/src/devices/bus/electron/plus2.h b/src/devices/bus/electron/plus2.h
deleted file mode 100644
index 235ecd4f218..00000000000
--- a/src/devices/bus/electron/plus2.h
+++ /dev/null
@@ -1,62 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Nigel Barnes
-/**********************************************************************
-
- Slogger Plus 2
-
-**********************************************************************/
-
-
-#ifndef MAME_BUS_ELECTRON_PLUS2_H
-#define MAME_BUS_ELECTRON_PLUS2_H
-
-#include "exp.h"
-#include "machine/6522via.h"
-#include "bus/electron/cart/slot.h"
-#include "bus/bbc/userport/userport.h"
-#include "bus/generic/slot.h"
-#include "bus/generic/carts.h"
-
-//**************************************************************************
-// TYPE DEFINITIONS
-//**************************************************************************
-
-class electron_plus2_device:
- public device_t,
- public device_electron_expansion_interface
-{
-public:
- // construction/destruction
- electron_plus2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
-protected:
- // device-level overrides
- virtual void device_start() override;
-
- // optional information overrides
- virtual void device_add_mconfig(machine_config &config) override;
-
- virtual uint8_t expbus_r(offs_t offset) override;
- virtual void expbus_w(offs_t offset, uint8_t data) override;
-
-private:
- image_init_result load_rom(device_image_interface &image, generic_slot_device *slot);
- DECLARE_DEVICE_IMAGE_LOAD_MEMBER(rom1_load) { return load_rom(image, m_rom[0]); }
- DECLARE_DEVICE_IMAGE_LOAD_MEMBER(rom2_load) { return load_rom(image, m_rom[1]); }
- DECLARE_DEVICE_IMAGE_LOAD_MEMBER(rom3_load) { return load_rom(image, m_rom[2]); }
-
- required_device<electron_expansion_slot_device> m_exp;
- required_device<via6522_device> m_via;
- required_device_array<generic_slot_device, 3> m_rom;
- required_device_array<electron_cartslot_device, 2> m_cart;
- required_device<bbc_userport_slot_device> m_userport;
-
- uint8_t m_romsel;
-};
-
-
-// device type definition
-DECLARE_DEVICE_TYPE(ELECTRON_PLUS2, electron_plus2_device)
-
-
-#endif /* MAME_BUS_ELECTRON_PLUS2_H */
diff --git a/src/devices/bus/electron/plus3.cpp b/src/devices/bus/electron/plus3.cpp
index 5996e357389..532594eb5cf 100644
--- a/src/devices/bus/electron/plus3.cpp
+++ b/src/devices/bus/electron/plus3.cpp
@@ -65,20 +65,15 @@ ROM_END
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void electron_plus3_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(electron_plus3_device::device_add_mconfig)
/* fdc */
- WD1770(config, m_fdc, DERIVED_CLOCK(1, 2));
- FLOPPY_CONNECTOR(config, m_floppy0, electron_floppies, "35dd", floppy_formats).set_fixed(true);
- m_floppy0->enable_sound(true);
- FLOPPY_CONNECTOR(config, m_floppy1, electron_floppies, nullptr, floppy_formats);
- m_floppy1->enable_sound(true);
+ WD1770(config, m_fdc, 16_MHz_XTAL / 2);
+ FLOPPY_CONNECTOR(config, m_floppy0, electron_floppies, "35dd", floppy_formats, true).enable_sound(true);
+ FLOPPY_CONNECTOR(config, m_floppy1, electron_floppies, nullptr, floppy_formats).enable_sound(true);
/* pass-through */
- ELECTRON_EXPANSION_SLOT(config, m_exp, DERIVED_CLOCK(1, 1), electron_expansion_devices, nullptr);
- m_exp->irq_handler().set(DEVICE_SELF_OWNER, FUNC(electron_expansion_slot_device::irq_w));
- m_exp->nmi_handler().set(DEVICE_SELF_OWNER, FUNC(electron_expansion_slot_device::nmi_w));
-}
+ MCFG_ELECTRON_PASSTHRU_EXPANSION_SLOT_ADD(nullptr)
+MACHINE_CONFIG_END
const tiny_rom_entry *electron_plus3_device::device_rom_region() const
{
@@ -117,10 +112,8 @@ void electron_plus3_device::device_start()
// expbus_r - expansion data read
//-------------------------------------------------
-uint8_t electron_plus3_device::expbus_r(offs_t offset)
+uint8_t electron_plus3_device::expbus_r(address_space &space, offs_t offset, uint8_t data)
{
- uint8_t data = 0xff;
-
if (offset >= 0x8000 && offset < 0xc000)
{
if (m_romsel == 4)
@@ -137,7 +130,7 @@ uint8_t electron_plus3_device::expbus_r(offs_t offset)
data = m_fdc->read(offset & 0x03);
}
- data &= m_exp->expbus_r(offset);
+ data &= m_exp->expbus_r(space, offset, data);
return data;
}
@@ -146,13 +139,13 @@ uint8_t electron_plus3_device::expbus_r(offs_t offset)
// expbus_w - expansion data write
//-------------------------------------------------
-void electron_plus3_device::expbus_w(offs_t offset, uint8_t data)
+void electron_plus3_device::expbus_w(address_space &space, offs_t offset, uint8_t data)
{
- m_exp->expbus_w(offset, data);
+ m_exp->expbus_w(space, offset, data);
if (offset == 0xfcc0)
{
- wd1770_status_w(data);
+ wd1770_status_w(space, offset, data);
}
else if (offset >= 0xfcc4 && offset < 0xfcc8)
{
@@ -169,7 +162,7 @@ void electron_plus3_device::expbus_w(offs_t offset, uint8_t data)
// IMPLEMENTATION
//**************************************************************************
-void electron_plus3_device::wd1770_status_w(uint8_t data)
+WRITE8_MEMBER(electron_plus3_device::wd1770_status_w)
{
floppy_image_device *floppy = nullptr;
diff --git a/src/devices/bus/electron/plus3.h b/src/devices/bus/electron/plus3.h
index 44de595a3db..c6a53805783 100644
--- a/src/devices/bus/electron/plus3.h
+++ b/src/devices/bus/electron/plus3.h
@@ -34,11 +34,11 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
virtual const tiny_rom_entry *device_rom_region() const override;
- virtual uint8_t expbus_r(offs_t offset) override;
- virtual void expbus_w(offs_t offset, uint8_t data) override;
+ virtual uint8_t expbus_r(address_space &space, offs_t offset, uint8_t data) override;
+ virtual void expbus_w(address_space &space, offs_t offset, uint8_t data) override;
private:
- void wd1770_status_w(uint8_t data);
+ DECLARE_WRITE8_MEMBER(wd1770_status_w);
DECLARE_FLOPPY_FORMATS(floppy_formats);
required_device<electron_expansion_slot_device> m_exp;
diff --git a/src/devices/bus/electron/pwrjoy.cpp b/src/devices/bus/electron/pwrjoy.cpp
index 1ff7ab79566..2791f700372 100644
--- a/src/devices/bus/electron/pwrjoy.cpp
+++ b/src/devices/bus/electron/pwrjoy.cpp
@@ -78,10 +78,8 @@ void electron_pwrjoy_device::device_start()
// expbus_r - expansion data read
//-------------------------------------------------
-uint8_t electron_pwrjoy_device::expbus_r(offs_t offset)
+uint8_t electron_pwrjoy_device::expbus_r(address_space &space, offs_t offset, uint8_t data)
{
- uint8_t data = 0xff;
-
if (offset >= 0x8000 && offset < 0xc000)
{
if (m_romsel == 15)
@@ -102,7 +100,7 @@ uint8_t electron_pwrjoy_device::expbus_r(offs_t offset)
// expbus_w - expansion data write
//-------------------------------------------------
-void electron_pwrjoy_device::expbus_w(offs_t offset, uint8_t data)
+void electron_pwrjoy_device::expbus_w(address_space &space, offs_t offset, uint8_t data)
{
if (offset == 0xfe05)
{
diff --git a/src/devices/bus/electron/pwrjoy.h b/src/devices/bus/electron/pwrjoy.h
index abc91cf3e2b..be392a1c622 100644
--- a/src/devices/bus/electron/pwrjoy.h
+++ b/src/devices/bus/electron/pwrjoy.h
@@ -32,8 +32,8 @@ public:
virtual const tiny_rom_entry *device_rom_region() const override;
virtual ioport_constructor device_input_ports() const override;
- virtual uint8_t expbus_r(offs_t offset) override;
- virtual void expbus_w(offs_t offset, uint8_t data) override;
+ virtual uint8_t expbus_r(address_space &space, offs_t offset, uint8_t data) override;
+ virtual void expbus_w(address_space &space, offs_t offset, uint8_t data) override;
protected:
// device-level overrides
diff --git a/src/devices/bus/electron/rombox.cpp b/src/devices/bus/electron/rombox.cpp
index 35f94b08d13..2ae1967c743 100644
--- a/src/devices/bus/electron/rombox.cpp
+++ b/src/devices/bus/electron/rombox.cpp
@@ -51,31 +51,36 @@ ioport_constructor electron_rombox_device::device_input_ports() const
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void electron_rombox_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(electron_rombox_device::device_add_mconfig)
/* rom sockets */
- GENERIC_SOCKET(config, m_rom[0], generic_plain_slot, "electron_rom", "bin,rom");
- m_rom[0]->set_device_load(device_image_load_delegate(&electron_rombox_device::device_image_load_rom1_load, this));
- GENERIC_SOCKET(config, m_rom[1], generic_plain_slot, "electron_rom", "bin,rom");
- m_rom[1]->set_device_load(device_image_load_delegate(&electron_rombox_device::device_image_load_rom2_load, this));
- GENERIC_SOCKET(config, m_rom[2], generic_plain_slot, "electron_rom", "bin,rom");
- m_rom[2]->set_device_load(device_image_load_delegate(&electron_rombox_device::device_image_load_rom3_load, this));
- GENERIC_SOCKET(config, m_rom[3], generic_plain_slot, "electron_rom", "bin,rom");
- m_rom[3]->set_device_load(device_image_load_delegate(&electron_rombox_device::device_image_load_rom4_load, this));
- GENERIC_SOCKET(config, m_rom[4], generic_plain_slot, "electron_rom", "bin,rom");
- m_rom[4]->set_device_load(device_image_load_delegate(&electron_rombox_device::device_image_load_rom5_load, this));
- GENERIC_SOCKET(config, m_rom[5], generic_plain_slot, "electron_rom", "bin,rom");
- m_rom[5]->set_device_load(device_image_load_delegate(&electron_rombox_device::device_image_load_rom6_load, this));
- GENERIC_SOCKET(config, m_rom[6], generic_plain_slot, "electron_rom", "bin,rom");
- m_rom[6]->set_device_load(device_image_load_delegate(&electron_rombox_device::device_image_load_rom7_load, this));
- GENERIC_SOCKET(config, m_rom[7], generic_plain_slot, "electron_rom", "bin,rom");
- m_rom[7]->set_device_load(device_image_load_delegate(&electron_rombox_device::device_image_load_rom8_load, this));
+ MCFG_GENERIC_SOCKET_ADD("rom1", generic_plain_slot, "electron_rom")
+ MCFG_GENERIC_EXTENSIONS("bin,rom")
+ MCFG_GENERIC_LOAD(electron_rombox_device, rom1_load)
+ MCFG_GENERIC_SOCKET_ADD("rom2", generic_plain_slot, "electron_rom")
+ MCFG_GENERIC_EXTENSIONS("bin,rom")
+ MCFG_GENERIC_LOAD(electron_rombox_device, rom2_load)
+ MCFG_GENERIC_SOCKET_ADD("rom3", generic_plain_slot, "electron_rom")
+ MCFG_GENERIC_EXTENSIONS("bin,rom")
+ MCFG_GENERIC_LOAD(electron_rombox_device, rom3_load)
+ MCFG_GENERIC_SOCKET_ADD("rom4", generic_plain_slot, "electron_rom")
+ MCFG_GENERIC_EXTENSIONS("bin,rom")
+ MCFG_GENERIC_LOAD(electron_rombox_device, rom4_load)
+ MCFG_GENERIC_SOCKET_ADD("rom5", generic_plain_slot, "electron_rom")
+ MCFG_GENERIC_EXTENSIONS("bin,rom")
+ MCFG_GENERIC_LOAD(electron_rombox_device, rom5_load)
+ MCFG_GENERIC_SOCKET_ADD("rom6", generic_plain_slot, "electron_rom")
+ MCFG_GENERIC_EXTENSIONS("bin,rom")
+ MCFG_GENERIC_LOAD(electron_rombox_device, rom6_load)
+ MCFG_GENERIC_SOCKET_ADD("rom7", generic_plain_slot, "electron_rom")
+ MCFG_GENERIC_EXTENSIONS("bin,rom")
+ MCFG_GENERIC_LOAD(electron_rombox_device, rom7_load)
+ MCFG_GENERIC_SOCKET_ADD("rom8", generic_plain_slot, "electron_rom")
+ MCFG_GENERIC_EXTENSIONS("bin,rom")
+ MCFG_GENERIC_LOAD(electron_rombox_device, rom8_load)
/* pass-through */
- ELECTRON_EXPANSION_SLOT(config, m_exp, DERIVED_CLOCK(1, 1), electron_expansion_devices, nullptr);
- m_exp->irq_handler().set(DEVICE_SELF_OWNER, FUNC(electron_expansion_slot_device::irq_w));
- m_exp->nmi_handler().set(DEVICE_SELF_OWNER, FUNC(electron_expansion_slot_device::nmi_w));
-}
+ MCFG_ELECTRON_PASSTHRU_EXPANSION_SLOT_ADD(nullptr)
+MACHINE_CONFIG_END
//**************************************************************************
// LIVE DEVICE
@@ -117,10 +122,8 @@ void electron_rombox_device::device_reset()
// expbus_r - expansion data read
//-------------------------------------------------
-uint8_t electron_rombox_device::expbus_r(offs_t offset)
+uint8_t electron_rombox_device::expbus_r(address_space &space, offs_t offset, uint8_t data)
{
- uint8_t data = 0xff;
-
if (offset >= 0x8000 && offset < 0xc000)
{
switch (m_romsel)
@@ -131,7 +134,7 @@ uint8_t electron_rombox_device::expbus_r(offs_t offset)
case 3:
if (m_rom_base == 0 && m_rom[m_romsel + 4]->exists())
{
- data = m_rom[m_romsel + 4]->read_rom(offset & 0x3fff);
+ data = m_rom[m_romsel + 4]->read_rom(space, offset & 0x3fff);
}
break;
case 4:
@@ -140,7 +143,7 @@ uint8_t electron_rombox_device::expbus_r(offs_t offset)
case 7:
if (m_rom[m_romsel - 4]->exists())
{
- data = m_rom[m_romsel - 4]->read_rom(offset & 0x3fff);
+ data = m_rom[m_romsel - 4]->read_rom(space, offset & 0x3fff);
}
break;
case 12:
@@ -149,13 +152,13 @@ uint8_t electron_rombox_device::expbus_r(offs_t offset)
case 15:
if (m_rom_base == 12 && m_rom[m_romsel - 8]->exists())
{
- data = m_rom[m_romsel - 8]->read_rom(offset & 0x3fff);
+ data = m_rom[m_romsel - 8]->read_rom(space, offset & 0x3fff);
}
break;
}
}
- data &= m_exp->expbus_r(offset);
+ data &= m_exp->expbus_r(space, offset, data);
return data;
}
@@ -164,9 +167,9 @@ uint8_t electron_rombox_device::expbus_r(offs_t offset)
// expbus_w - expansion data write
//-------------------------------------------------
-void electron_rombox_device::expbus_w(offs_t offset, uint8_t data)
+void electron_rombox_device::expbus_w(address_space &space, offs_t offset, uint8_t data)
{
- m_exp->expbus_w(offset, data);
+ m_exp->expbus_w(space, offset, data);
if (offset == 0xfe05)
{
diff --git a/src/devices/bus/electron/rombox.h b/src/devices/bus/electron/rombox.h
index 65ed2fa80d8..045db388838 100644
--- a/src/devices/bus/electron/rombox.h
+++ b/src/devices/bus/electron/rombox.h
@@ -35,8 +35,8 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
virtual ioport_constructor device_input_ports() const override;
- virtual uint8_t expbus_r(offs_t offset) override;
- virtual void expbus_w(offs_t offset, uint8_t data) override;
+ virtual uint8_t expbus_r(address_space &space, offs_t offset, uint8_t data) override;
+ virtual void expbus_w(address_space &space, offs_t offset, uint8_t data) override;
private:
image_init_result load_rom(device_image_interface &image, generic_slot_device *slot);
diff --git a/src/devices/bus/electron/romboxp.cpp b/src/devices/bus/electron/romboxp.cpp
index 7917ae3d539..d3ca80d43f4 100644
--- a/src/devices/bus/electron/romboxp.cpp
+++ b/src/devices/bus/electron/romboxp.cpp
@@ -84,32 +84,34 @@ ioport_constructor electron_romboxp_device::device_input_ports() const
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void electron_romboxp_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(electron_romboxp_device::device_add_mconfig)
/* printer */
- CENTRONICS(config, m_centronics, centronics_devices, "printer");
- m_centronics->busy_handler().set(FUNC(electron_romboxp_device::busy_w));
- output_latch_device &latch(OUTPUT_LATCH(config, "cent_data_out"));
- m_centronics->set_output_latch(latch);
+ MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
+ MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, electron_romboxp_device, busy_w))
+ MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
/* rom sockets */
- GENERIC_SOCKET(config, m_rom[0], generic_plain_slot, "electron_rom", "bin,rom"); // ROM SLOT 4/12
- m_rom[0]->set_device_load(device_image_load_delegate(&electron_romboxp_device::device_image_load_rom1_load, this));
- GENERIC_SOCKET(config, m_rom[1], generic_plain_slot, "electron_rom", "bin,rom"); // ROM SLOT 5/13
- m_rom[1]->set_device_load(device_image_load_delegate(&electron_romboxp_device::device_image_load_rom2_load, this));
- GENERIC_SOCKET(config, m_rom[2], generic_plain_slot, "electron_rom", "bin,rom"); // ROM SLOT 6/14 also ROM/RAM
- m_rom[2]->set_device_load(device_image_load_delegate(&electron_romboxp_device::device_image_load_rom3_load, this));
- GENERIC_SOCKET(config, m_rom[3], generic_plain_slot, "electron_rom", "bin,rom"); // ROM SLOT 7/15
- m_rom[3]->set_device_load(device_image_load_delegate(&electron_romboxp_device::device_image_load_rom4_load, this));
+ MCFG_GENERIC_SOCKET_ADD("rom1", generic_plain_slot, "electron_rom") // ROM SLOT 4/12
+ MCFG_GENERIC_EXTENSIONS("bin,rom")
+ MCFG_GENERIC_LOAD(electron_romboxp_device, rom1_load)
+ MCFG_GENERIC_SOCKET_ADD("rom2", generic_plain_slot, "electron_rom") // ROM SLOT 5/13
+ MCFG_GENERIC_EXTENSIONS("bin,rom")
+ MCFG_GENERIC_LOAD(electron_romboxp_device, rom2_load)
+ MCFG_GENERIC_SOCKET_ADD("rom3", generic_plain_slot, "electron_rom") // ROM SLOT 6/14 also ROM/RAM
+ MCFG_GENERIC_EXTENSIONS("bin,rom")
+ MCFG_GENERIC_LOAD(electron_romboxp_device, rom3_load)
+ MCFG_GENERIC_SOCKET_ADD("rom4", generic_plain_slot, "electron_rom") // ROM SLOT 7/15
+ MCFG_GENERIC_EXTENSIONS("bin,rom")
+ MCFG_GENERIC_LOAD(electron_romboxp_device, rom4_load)
/* cartridges */
- ELECTRON_CARTSLOT(config, m_cart[0], DERIVED_CLOCK(1, 1), electron_cart, nullptr); // ROM SLOT 0/1
- m_cart[0]->irq_handler().set(DEVICE_SELF_OWNER, FUNC(electron_expansion_slot_device::irq_w));
- m_cart[0]->nmi_handler().set(DEVICE_SELF_OWNER, FUNC(electron_expansion_slot_device::nmi_w));
- ELECTRON_CARTSLOT(config, m_cart[1], DERIVED_CLOCK(1, 1), electron_cart, nullptr); // ROM SLOT 2/3
- m_cart[1]->irq_handler().set(DEVICE_SELF_OWNER, FUNC(electron_expansion_slot_device::irq_w));
- m_cart[1]->nmi_handler().set(DEVICE_SELF_OWNER, FUNC(electron_expansion_slot_device::nmi_w));
-}
+ MCFG_ELECTRON_CARTSLOT_ADD("cart1", electron_cart, nullptr) // ROM SLOT 0/1
+ MCFG_ELECTRON_CARTSLOT_IRQ_HANDLER(WRITELINE(*this, electron_romboxp_device, irq_w))
+ MCFG_ELECTRON_CARTSLOT_NMI_HANDLER(WRITELINE(*this, electron_romboxp_device, nmi_w))
+ MCFG_ELECTRON_CARTSLOT_ADD("cart2", electron_cart, nullptr) // ROM SLOT 2/3
+ MCFG_ELECTRON_CARTSLOT_IRQ_HANDLER(WRITELINE(*this, electron_romboxp_device, irq_w))
+ MCFG_ELECTRON_CARTSLOT_NMI_HANDLER(WRITELINE(*this, electron_romboxp_device, nmi_w))
+MACHINE_CONFIG_END
const tiny_rom_entry *electron_romboxp_device::device_rom_region() const
{
@@ -145,6 +147,7 @@ electron_romboxp_device::electron_romboxp_device(const machine_config &mconfig,
void electron_romboxp_device::device_start()
{
+ m_slot = dynamic_cast<electron_expansion_slot_device *>(owner());
}
//-------------------------------------------------
@@ -160,10 +163,8 @@ void electron_romboxp_device::device_reset()
// expbus_r - expansion data read
//-------------------------------------------------
-uint8_t electron_romboxp_device::expbus_r(offs_t offset)
+uint8_t electron_romboxp_device::expbus_r(address_space &space, offs_t offset, uint8_t data)
{
- uint8_t data = 0xff;
-
switch (offset >> 12)
{
case 0x8:
@@ -174,11 +175,11 @@ uint8_t electron_romboxp_device::expbus_r(offs_t offset)
{
case 0:
case 1:
- data = m_cart[1]->read(offset & 0x3fff, 0, 0, m_romsel & 0x01, 1, 0);
+ data = m_cart[1]->read(space, offset & 0x3fff, 0, 0, m_romsel & 0x01);
break;
case 2:
case 3:
- data = m_cart[0]->read(offset & 0x3fff, 0, 0, m_romsel & 0x01, 1, 0);
+ data = m_cart[0]->read(space, offset & 0x3fff, 0, 0, m_romsel & 0x01);
break;
case 4:
case 5:
@@ -186,20 +187,18 @@ uint8_t electron_romboxp_device::expbus_r(offs_t offset)
case 7:
if (m_rom_base == 4)
{
- data = m_rom[m_romsel - 4]->read_rom(offset & 0x3fff);
+ data = m_rom[m_romsel - 4]->read_rom(space, offset & 0x3fff);
}
break;
case 12:
data = m_exp_rom->base()[offset & 0x1fff];
break;
case 13:
- data &= m_cart[0]->read(offset & 0x3fff, 0, 0, m_romsel & 0x01, 0, 1);
- data &= m_cart[1]->read(offset & 0x3fff, 0, 0, m_romsel & 0x01, 0, 1);
case 14:
case 15:
if (m_rom_base == 12)
{
- data = m_rom[m_romsel - 12]->read_rom(offset & 0x3fff);
+ data = m_rom[m_romsel - 12]->read_rom(space, offset & 0x3fff);
}
break;
}
@@ -209,18 +208,18 @@ uint8_t electron_romboxp_device::expbus_r(offs_t offset)
switch (offset >> 8)
{
case 0xfc:
- data &= m_cart[0]->read(offset & 0xff, 1, 0, m_romsel & 0x01, 0, 0);
- data &= m_cart[1]->read(offset & 0xff, 1, 0, m_romsel & 0x01, 0, 0);
+ data &= m_cart[0]->read(space, offset & 0xff, 1, 0, m_romsel & 0x01);
+ data &= m_cart[1]->read(space, offset & 0xff, 1, 0, m_romsel & 0x01);
if (offset == 0xfc72)
{
- data &= status_r();
+ data &= status_r(space, offset);
}
break;
case 0xfd:
- data &= m_cart[0]->read(offset & 0xff, 0, 1, m_romsel & 0x01, 0, 0);
- data &= m_cart[1]->read(offset & 0xff, 0, 1, m_romsel & 0x01, 0, 0);
+ data &= m_cart[0]->read(space, offset & 0xff, 0, 1, m_romsel & 0x01);
+ data &= m_cart[1]->read(space, offset & 0xff, 0, 1, m_romsel & 0x01);
break;
}
}
@@ -232,7 +231,7 @@ uint8_t electron_romboxp_device::expbus_r(offs_t offset)
// expbus_w - expansion data write
//-------------------------------------------------
-void electron_romboxp_device::expbus_w(offs_t offset, uint8_t data)
+void electron_romboxp_device::expbus_w(address_space &space, offs_t offset, uint8_t data)
{
switch (offset >> 12)
{
@@ -244,11 +243,11 @@ void electron_romboxp_device::expbus_w(offs_t offset, uint8_t data)
{
case 0:
case 1:
- m_cart[1]->write(offset & 0x3fff, data, 0, 0, m_romsel & 0x01, 1, 0);
+ m_cart[1]->write(space, offset & 0x3fff, data, 0, 0, m_romsel & 0x01);
break;
case 2:
case 3:
- m_cart[0]->write(offset & 0x3fff, data, 0, 0, m_romsel & 0x01, 1, 0);
+ m_cart[0]->write(space, offset & 0x3fff, data, 0, 0, m_romsel & 0x01);
break;
}
break;
@@ -257,8 +256,8 @@ void electron_romboxp_device::expbus_w(offs_t offset, uint8_t data)
switch (offset >> 8)
{
case 0xfc:
- m_cart[0]->write(offset & 0xff, data, 1, 0, m_romsel & 0x01, 0, 0);
- m_cart[1]->write(offset & 0xff, data, 1, 0, m_romsel & 0x01, 0, 0);
+ m_cart[0]->write(space, offset & 0xff, data, 1, 0, m_romsel & 0x01);
+ m_cart[1]->write(space, offset & 0xff, data, 1, 0, m_romsel & 0x01);
if (offset == 0xfc71)
{
@@ -267,8 +266,8 @@ void electron_romboxp_device::expbus_w(offs_t offset, uint8_t data)
break;
case 0xfd:
- m_cart[0]->write(offset & 0xff, data, 0, 1, m_romsel & 0x01, 0, 0);
- m_cart[1]->write(offset & 0xff, data, 0, 1, m_romsel & 0x01, 0, 0);
+ m_cart[0]->write(space, offset & 0xff, data, 0, 1, m_romsel & 0x01);
+ m_cart[1]->write(space, offset & 0xff, data, 0, 1, m_romsel & 0x01);
break;
case 0xfe:
@@ -285,7 +284,7 @@ void electron_romboxp_device::expbus_w(offs_t offset, uint8_t data)
// IMPLEMENTATION
//**************************************************************************
-uint8_t electron_romboxp_device::status_r()
+READ8_MEMBER(electron_romboxp_device::status_r)
{
// Status: b7: printer Busy
return (m_centronics_busy << 7) | 0x7f;
@@ -318,3 +317,13 @@ image_init_result electron_romboxp_device::load_rom(device_image_interface &imag
return image_init_result::PASS;
}
+
+WRITE_LINE_MEMBER(electron_romboxp_device::irq_w)
+{
+ m_slot->irq_w(state);
+}
+
+WRITE_LINE_MEMBER(electron_romboxp_device::nmi_w)
+{
+ m_slot->nmi_w(state);
+}
diff --git a/src/devices/bus/electron/romboxp.h b/src/devices/bus/electron/romboxp.h
index f5905bc47bf..e350954eb18 100644
--- a/src/devices/bus/electron/romboxp.h
+++ b/src/devices/bus/electron/romboxp.h
@@ -40,12 +40,14 @@ protected:
virtual const tiny_rom_entry *device_rom_region() const override;
virtual ioport_constructor device_input_ports() const override;
- virtual uint8_t expbus_r(offs_t offset) override;
- virtual void expbus_w(offs_t offset, uint8_t data) override;
+ virtual uint8_t expbus_r(address_space &space, offs_t offset, uint8_t data) override;
+ virtual void expbus_w(address_space &space, offs_t offset, uint8_t data) override;
private:
- uint8_t status_r();
+ DECLARE_READ8_MEMBER(status_r);
DECLARE_WRITE_LINE_MEMBER(busy_w);
+ DECLARE_WRITE_LINE_MEMBER(irq_w);
+ DECLARE_WRITE_LINE_MEMBER(nmi_w);
image_init_result load_rom(device_image_interface &image, generic_slot_device *slot);
DECLARE_DEVICE_IMAGE_LOAD_MEMBER(rom1_load) { return load_rom(image, m_rom[0]); }
diff --git a/src/devices/bus/ep64/exp.cpp b/src/devices/bus/ep64/exp.cpp
index c241fb68c08..32ef220519d 100644
--- a/src/devices/bus/ep64/exp.cpp
+++ b/src/devices/bus/ep64/exp.cpp
@@ -49,8 +49,7 @@ ep64_expansion_bus_slot_device::ep64_expansion_bus_slot_device(const machine_con
, m_write_irq(*this)
, m_write_nmi(*this)
, m_write_wait(*this)
- , m_program_space(*this, finder_base::DUMMY_TAG, -1)
- , m_io_space(*this, finder_base::DUMMY_TAG, -1)
+ , m_dave(*this, finder_base::DUMMY_TAG)
, m_card(nullptr)
{
}
diff --git a/src/devices/bus/ep64/exp.h b/src/devices/bus/ep64/exp.h
index 88d3b4e61b9..cb29bab5049 100644
--- a/src/devices/bus/ep64/exp.h
+++ b/src/devices/bus/ep64/exp.h
@@ -47,10 +47,40 @@
#pragma once
+#include "sound/dave.h"
+
void ep64_expansion_bus_cards(device_slot_interface &device);
//**************************************************************************
+// MACROS / CONSTANTS
+//**************************************************************************
+
+#define EP64_EXPANSION_BUS_TAG "exp"
+
+//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_EP64_EXPANSION_BUS_SLOT_ADD(_tag, _def_slot) \
+ MCFG_DEVICE_ADD(_tag, EP64_EXPANSION_BUS_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(ep64_expansion_bus_cards, _def_slot, false)
+
+#define MCFG_EP64_EXPANSION_BUS_SLOT_DAVE(_tag) \
+ downcast<ep64_expansion_bus_slot_device &>(*device).set_dave_tag(_tag);
+
+#define MCFG_EP64_EXPANSION_BUS_SLOT_IRQ_CALLBACK(_write) \
+ downcast<ep64_expansion_bus_slot_device &>(*device).set_irq_wr_callback(DEVCB_##_write);
+
+#define MCFG_EP64_EXPANSION_BUS_SLOT_NMI_CALLBACK(_write) \
+ downcast<ep64_expansion_bus_slot_device &>(*device).set_nmi_wr_callback(DEVCB_##_write);
+
+#define MCFG_EP64_EXPANSION_BUS_SLOT_WAIT_CALLBACK(_write) \
+ downcast<ep64_expansion_bus_slot_device &>(*device).set_wait_wr_callback(DEVCB_##_write);
+
+
+
+//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -75,8 +105,7 @@ public:
}
ep64_expansion_bus_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- template <typename T> void set_program_space(T &&tag, int spacenum) { m_program_space.set_tag(std::forward<T>(tag), spacenum); }
- template <typename T> void set_io_space(T &&tag, int spacenum) { m_io_space.set_tag(std::forward<T>(tag), spacenum); }
+ template <typename T> void set_dave_tag(T &&dave_tag) { m_dave.set_tag(std::forward<T>(dave_tag)); }
auto irq_wr() { return m_write_irq.bind(); }
auto nmi_wr() { return m_write_nmi.bind(); }
auto wait_wr() { return m_write_wait.bind(); }
@@ -85,8 +114,8 @@ public:
DECLARE_WRITE_LINE_MEMBER( nmi_w ) { m_write_nmi(state); }
DECLARE_WRITE_LINE_MEMBER( wait_w ) { m_write_wait(state); }
- address_space &program() { return *m_program_space; }
- address_space &io() { return *m_io_space; }
+ address_space& program() { return m_dave->space(AS_PROGRAM); }
+ address_space& io() { return m_dave->space(AS_IO); }
protected:
// device-level overrides
@@ -99,8 +128,7 @@ private:
devcb_write_line m_write_nmi;
devcb_write_line m_write_wait;
- required_address_space m_program_space;
- required_address_space m_io_space;
+ required_device<dave_device> m_dave;
device_ep64_expansion_bus_card_interface *m_card;
};
diff --git a/src/devices/bus/epson_sio/epson_sio.h b/src/devices/bus/epson_sio/epson_sio.h
index 5d93c42ba74..189e36c5bdf 100644
--- a/src/devices/bus/epson_sio/epson_sio.h
+++ b/src/devices/bus/epson_sio/epson_sio.h
@@ -12,35 +12,40 @@
#pragma once
+
+//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_EPSON_SIO_ADD(_tag, _def_slot) \
+ MCFG_DEVICE_ADD(_tag, EPSON_SIO, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(epson_sio_devices, _def_slot, false)
+
+#define MCFG_EPSON_SIO_RX(_rx) \
+ downcast<epson_sio_device *>(device)->set_rx_callback(DEVCB_##_rx);
+
+#define MCFG_EPSON_SIO_PIN(_pin) \
+ downcast<epson_sio_device *>(device)->set_pin_callback(DEVCB_##_pin);
+
+
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
class device_epson_sio_interface;
-// supported devices
-void epson_sio_devices(device_slot_interface &device);
class epson_sio_device : public device_t,
public device_slot_interface
{
public:
// construction/destruction
- epson_sio_device(machine_config const &mconfig, char const *tag, device_t *owner, char const *dflt)
- : epson_sio_device(mconfig, tag, owner, (uint32_t)0)
- {
- option_reset();
- epson_sio_devices(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
-
- epson_sio_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+ epson_sio_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~epson_sio_device();
// callbacks
- auto rx_callback() { return m_write_rx.bind(); }
- auto pin_callback() { return m_write_pin.bind(); }
+ template <class Object> devcb_base &set_rx_callback(Object &&rx) { return m_write_rx.set_callback(std::forward<Object>(rx)); }
+ template <class Object> devcb_base &set_pin_callback(Object &&pin) { return m_write_pin.set_callback(std::forward<Object>(pin)); }
// called from owner
DECLARE_WRITE_LINE_MEMBER( tx_w );
@@ -83,4 +88,9 @@ protected:
// device type definition
DECLARE_DEVICE_TYPE(EPSON_SIO, epson_sio_device)
+
+// supported devices
+void epson_sio_devices(device_slot_interface &device);
+
+
#endif // MAME_BUS_EPSON_SIO_EPSON_SIO_H
diff --git a/src/devices/bus/epson_sio/pf10.cpp b/src/devices/bus/epson_sio/pf10.cpp
index f986bb5d4c2..462de5ecaa3 100644
--- a/src/devices/bus/epson_sio/pf10.cpp
+++ b/src/devices/bus/epson_sio/pf10.cpp
@@ -12,6 +12,7 @@
#include "emu.h"
#include "pf10.h"
+#include "imagedev/floppy.h"
//**************************************************************************
@@ -60,8 +61,7 @@ static void pf10_floppies(device_slot_interface &device)
device.option_add("smd165", EPSON_SMD_165);
}
-void epson_pf10_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(epson_pf10_device::device_add_mconfig)
HD6303Y(config, m_cpu, XTAL(4'915'200)); // HD63A03XF
m_cpu->set_addrmap(AS_PROGRAM, &epson_pf10_device::cpu_mem);
m_cpu->in_p1_cb().set(FUNC(epson_pf10_device::port1_r));
@@ -71,12 +71,12 @@ void epson_pf10_device::device_add_mconfig(machine_config &config)
m_cpu->out_ser_tx_cb().set(FUNC(epson_pf10_device::hd6303_tx_w));
UPD765A(config, m_fdc, 4'000'000, false, true);
- FLOPPY_CONNECTOR(config, m_floppy, pf10_floppies, "smd165", floppy_image_device::default_floppy_formats);
+ MCFG_FLOPPY_DRIVE_ADD("upd765a:0", pf10_floppies, "smd165", floppy_image_device::default_floppy_formats)
- EPSON_SIO(config, m_sio_output, nullptr);
- m_sio_output->rx_callback().set(DEVICE_SELF, FUNC(epson_pf10_device::rxc_w));
- m_sio_output->pin_callback().set(DEVICE_SELF, FUNC(epson_pf10_device::pinc_w));
-}
+ MCFG_EPSON_SIO_ADD("sio", nullptr)
+ MCFG_EPSON_SIO_RX(WRITELINE(DEVICE_SELF, epson_pf10_device, rxc_w))
+ MCFG_EPSON_SIO_PIN(WRITELINE(DEVICE_SELF, epson_pf10_device, pinc_w))
+MACHINE_CONFIG_END
//**************************************************************************
@@ -92,9 +92,7 @@ epson_pf10_device::epson_pf10_device(const machine_config &mconfig, const char *
device_epson_sio_interface(mconfig, *this),
m_cpu(*this, "maincpu"),
m_fdc(*this, "upd765a"),
- m_sio_output(*this, "sio"),
- m_floppy(*this, "upd765a:0"),
- m_timer(nullptr),
+ m_sio_output(*this, "sio"), m_floppy(nullptr), m_timer(nullptr),
m_port1(0xff),
m_port2(0xff),
m_rxc(1), m_hd6303_tx(0), m_pinc(0)
@@ -110,6 +108,7 @@ epson_pf10_device::epson_pf10_device(const machine_config &mconfig, const char *
void epson_pf10_device::device_start()
{
m_timer = timer_alloc(0, nullptr);
+ m_floppy = subdevice<floppy_connector>("upd765a:0")->get_device();
}
//-------------------------------------------------
@@ -159,8 +158,7 @@ READ8_MEMBER( epson_pf10_device::port2_r )
WRITE8_MEMBER( epson_pf10_device::port2_w )
{
- if (m_floppy->get_device() != nullptr)
- m_floppy->get_device()->mon_w(data & PORT2_MON);
+ m_floppy->mon_w(data & PORT2_MON);
logerror("%s: port2_w(%02x)\n", tag(), data);
}
diff --git a/src/devices/bus/epson_sio/pf10.h b/src/devices/bus/epson_sio/pf10.h
index 7f305bed8c9..b75f596b615 100644
--- a/src/devices/bus/epson_sio/pf10.h
+++ b/src/devices/bus/epson_sio/pf10.h
@@ -15,7 +15,6 @@
#include "epson_sio.h"
#include "cpu/m6800/m6801.h"
-#include "imagedev/floppy.h"
#include "machine/upd765.h"
@@ -68,9 +67,9 @@ private:
required_device<hd6303y_cpu_device> m_cpu;
required_device<upd765a_device> m_fdc;
required_device<epson_sio_device> m_sio_output;
- required_device<floppy_connector> m_floppy;
epson_sio_device *m_sio_input;
+ floppy_image_device *m_floppy;
emu_timer *m_timer;
diff --git a/src/devices/bus/epson_sio/tf20.cpp b/src/devices/bus/epson_sio/tf20.cpp
index 1fb12a66c0e..22959af2730 100644
--- a/src/devices/bus/epson_sio/tf20.cpp
+++ b/src/devices/bus/epson_sio/tf20.cpp
@@ -14,6 +14,7 @@
#include "emu.h"
#include "tf20.h"
+#include "imagedev/floppy.h"
#define XTAL_CR1 XTAL(8'000'000)
#define XTAL_CR2 XTAL(4'915'200)
@@ -86,12 +87,11 @@ static void tf20_floppies(device_slot_interface &device)
device.option_add("sd320", EPSON_SD_320);
}
-void epson_tf20_device::device_add_mconfig(machine_config &config)
-{
- Z80(config, m_cpu, XTAL_CR1 / 2); /* uPD780C */
- m_cpu->set_addrmap(AS_PROGRAM, &epson_tf20_device::cpu_mem);
- m_cpu->set_addrmap(AS_IO, &epson_tf20_device::cpu_io);
- m_cpu->set_irq_acknowledge_callback(FUNC(epson_tf20_device::irq_callback));
+MACHINE_CONFIG_START(epson_tf20_device::device_add_mconfig)
+ MCFG_DEVICE_ADD("19b", Z80, XTAL_CR1 / 2) /* uPD780C */
+ MCFG_DEVICE_PROGRAM_MAP(cpu_mem)
+ MCFG_DEVICE_IO_MAP(cpu_io)
+ MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE(DEVICE_SELF, epson_tf20_device, irq_callback)
// 64k internal ram
RAM(config, "ram").set_default_size("64K");
@@ -106,14 +106,14 @@ void epson_tf20_device::device_add_mconfig(machine_config &config)
m_fdc->intrq_wr_callback().set_inputline(m_cpu, INPUT_LINE_IRQ0);
// floppy drives
- for (auto &fd : m_fd)
- FLOPPY_CONNECTOR(config, fd, tf20_floppies, "sd320", floppy_image_device::default_floppy_formats);
+ MCFG_FLOPPY_DRIVE_ADD("5a:0", tf20_floppies, "sd320", floppy_image_device::default_floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD("5a:1", tf20_floppies, "sd320", floppy_image_device::default_floppy_formats)
// serial interface to another device
- EPSON_SIO(config, m_sio_output, nullptr);
- m_sio_output->rx_callback().set(DEVICE_SELF, FUNC(epson_tf20_device::rxc_w));
- m_sio_output->pin_callback().set(DEVICE_SELF, FUNC(epson_tf20_device::pinc_w));
-}
+ MCFG_EPSON_SIO_ADD("sio", nullptr)
+ MCFG_EPSON_SIO_RX(WRITELINE(DEVICE_SELF, epson_tf20_device, rxc_w))
+ MCFG_EPSON_SIO_PIN(WRITELINE(DEVICE_SELF, epson_tf20_device, pinc_w))
+MACHINE_CONFIG_END
//**************************************************************************
@@ -131,9 +131,7 @@ epson_tf20_device::epson_tf20_device(const machine_config &mconfig, const char *
m_ram(*this, "ram"),
m_fdc(*this, "5a"),
m_mpsc(*this, "3a"),
- m_sio_output(*this, "sio"),
- m_fd(*this, "5a:%u", 0U),
- m_timer_serial(nullptr), m_timer_tc(nullptr),
+ m_sio_output(*this, "sio"), m_fd0(nullptr), m_fd1(nullptr), m_timer_serial(nullptr), m_timer_tc(nullptr),
m_rxc(1), m_txda(0), m_dtra(0), m_pinc(0)
{
m_sio_input = dynamic_cast<epson_sio_device *>(owner);
@@ -152,6 +150,9 @@ void epson_tf20_device::device_start()
m_timer_serial = timer_alloc(0, nullptr);
m_timer_tc = timer_alloc(1, nullptr);
+ m_fd0 = subdevice<floppy_connector>("5a:0")->get_device();
+ m_fd1 = subdevice<floppy_connector>("5a:1")->get_device();
+
// enable second half of ram
m_cpu->space(AS_PROGRAM).install_ram(0x8000, 0xffff, m_ram->pointer() + 0x8000);
@@ -247,9 +248,8 @@ WRITE8_MEMBER( epson_tf20_device::fdc_control_w )
logerror("%s: tf20_fdc_control_w(%02x)\n", machine().describe_context(), data);
// bit 0, motor on signal
- for (auto &fd : m_fd)
- if (fd->get_device() != nullptr)
- fd->get_device()->mon_w(!BIT(data, 0));
+ m_fd0->mon_w(!BIT(data, 0));
+ m_fd1->mon_w(!BIT(data, 0));
}
diff --git a/src/devices/bus/epson_sio/tf20.h b/src/devices/bus/epson_sio/tf20.h
index 236cd2e9059..0a9023f51d5 100644
--- a/src/devices/bus/epson_sio/tf20.h
+++ b/src/devices/bus/epson_sio/tf20.h
@@ -15,7 +15,6 @@
#include "epson_sio.h"
#include "cpu/z80/z80.h"
-#include "imagedev/floppy.h"
#include "machine/ram.h"
#include "machine/upd765.h"
#include "machine/z80dart.h"
@@ -68,7 +67,9 @@ private:
required_device<upd765a_device> m_fdc;
required_device<upd7201_device> m_mpsc;
required_device<epson_sio_device> m_sio_output;
- required_device_array<floppy_connector, 2> m_fd;
+
+ floppy_image_device *m_fd0;
+ floppy_image_device *m_fd1;
emu_timer *m_timer_serial;
emu_timer *m_timer_tc;
diff --git a/src/devices/bus/gamate/rom.cpp b/src/devices/bus/gamate/rom.cpp
index 74af9e76160..cda37716b5f 100644
--- a/src/devices/bus/gamate/rom.cpp
+++ b/src/devices/bus/gamate/rom.cpp
@@ -168,10 +168,9 @@ WRITE8_MEMBER(gamate_rom_4in1_device::write_rom)
}
}
-void gamate_rom_plain_device::device_add_mconfig(machine_config &config)
-{
- GAMATE_PROT(config, m_protection, 0);
-}
+MACHINE_CONFIG_START(gamate_rom_plain_device::device_add_mconfig)
+ MCFG_DEVICE_ADD("protection", GAMATE_PROT, 0)
+MACHINE_CONFIG_END
/*-------------------------------------------------
diff --git a/src/devices/bus/gamate/slot.h b/src/devices/bus/gamate/slot.h
index 3606ac32c69..0f48c490478 100644
--- a/src/devices/bus/gamate/slot.h
+++ b/src/devices/bus/gamate/slot.h
@@ -51,17 +51,7 @@ class gamate_cart_slot_device : public device_t,
{
public:
// construction/destruction
- template <typename T>
- gamate_cart_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt)
- : gamate_cart_slot_device(mconfig, tag, owner, 0)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
-
- gamate_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+ gamate_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~gamate_cart_slot_device();
// image-level overrides
@@ -105,6 +95,10 @@ DECLARE_DEVICE_TYPE(GAMATE_CART_SLOT, gamate_cart_slot_device)
#define GAMATESLOT_ROM_REGION_TAG ":cart:rom"
+#define MCFG_GAMATE_CARTRIDGE_ADD(_tag,_slot_intf,_def_slot) \
+ MCFG_DEVICE_ADD(_tag, GAMATE_CART_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
+
void gamate_cart(device_slot_interface &device);
#endif // MAME_BUS_GAMATE_SLOT_H
diff --git a/src/devices/bus/gameboy/gb_slot.cpp b/src/devices/bus/gameboy/gb_slot.cpp
index a72eedc24d5..7ce626e67c7 100644
--- a/src/devices/bus/gameboy/gb_slot.cpp
+++ b/src/devices/bus/gameboy/gb_slot.cpp
@@ -624,18 +624,18 @@ std::string megaduck_cart_slot_device::get_default_card_software(get_default_car
read
-------------------------------------------------*/
-uint8_t gb_cart_slot_device_base::read_rom(offs_t offset)
+READ8_MEMBER(gb_cart_slot_device_base::read_rom)
{
if (m_cart)
- return m_cart->read_rom(offset);
+ return m_cart->read_rom(space, offset);
else
return 0xff;
}
-uint8_t gb_cart_slot_device_base::read_ram(offs_t offset)
+READ8_MEMBER(gb_cart_slot_device_base::read_ram)
{
if (m_cart)
- return m_cart->read_ram(offset);
+ return m_cart->read_ram(space, offset);
else
return 0xff;
}
@@ -645,16 +645,16 @@ uint8_t gb_cart_slot_device_base::read_ram(offs_t offset)
write
-------------------------------------------------*/
-void gb_cart_slot_device_base::write_bank(offs_t offset, uint8_t data)
+WRITE8_MEMBER(gb_cart_slot_device_base::write_bank)
{
if (m_cart)
- m_cart->write_bank(offset, data);
+ m_cart->write_bank(space, offset, data);
}
-void gb_cart_slot_device_base::write_ram(offs_t offset, uint8_t data)
+WRITE8_MEMBER(gb_cart_slot_device_base::write_ram)
{
if (m_cart)
- m_cart->write_ram(offset, data);
+ m_cart->write_ram(space, offset, data);
}
diff --git a/src/devices/bus/gameboy/gb_slot.h b/src/devices/bus/gameboy/gb_slot.h
index 5f420c60823..ef734e6f99e 100644
--- a/src/devices/bus/gameboy/gb_slot.h
+++ b/src/devices/bus/gameboy/gb_slot.h
@@ -58,10 +58,10 @@ public:
virtual ~device_gb_cart_interface();
// reading and writing
- virtual uint8_t read_rom(offs_t offset) { return 0xff; }
- virtual void write_bank(offs_t offset, uint8_t data) {}
- virtual uint8_t read_ram(offs_t offset) { return 0xff; }
- virtual void write_ram(offs_t offset, uint8_t data) {}
+ virtual DECLARE_READ8_MEMBER(read_rom) { return 0xff; }
+ virtual DECLARE_WRITE8_MEMBER(write_bank) {}
+ virtual DECLARE_READ8_MEMBER(read_ram) { return 0xff; }
+ virtual DECLARE_WRITE8_MEMBER(write_ram) {}
void rom_alloc(uint32_t size, const char *tag);
void ram_alloc(uint32_t size);
@@ -145,10 +145,10 @@ public:
virtual std::string get_default_card_software(get_default_card_software_hook &hook) const override;
// reading and writing
- virtual uint8_t read_rom(offs_t offset);
- virtual void write_bank(offs_t offset, uint8_t data);
- virtual uint8_t read_ram(offs_t offset);
- virtual void write_ram(offs_t offset, uint8_t data);
+ virtual DECLARE_READ8_MEMBER(read_rom);
+ virtual DECLARE_WRITE8_MEMBER(write_bank);
+ virtual DECLARE_READ8_MEMBER(read_ram);
+ virtual DECLARE_WRITE8_MEMBER(write_ram);
protected:
diff --git a/src/devices/bus/gameboy/mbc.cpp b/src/devices/bus/gameboy/mbc.cpp
index bd57a4da23b..286c2d90a1e 100644
--- a/src/devices/bus/gameboy/mbc.cpp
+++ b/src/devices/bus/gameboy/mbc.cpp
@@ -347,12 +347,12 @@ void gb_rom_camera_device::device_reset()
mapper specific handlers
-------------------------------------------------*/
-uint8_t gb_rom_mbc_device::read_rom(offs_t offset)
+READ8_MEMBER(gb_rom_mbc_device::read_rom)
{
return m_rom[rom_bank_map[m_latch_bank] + offset];
}
-uint8_t gb_rom_mbc_device::read_ram(offs_t offset)
+READ8_MEMBER(gb_rom_mbc_device::read_ram)
{
if (!m_ram.empty())
return m_ram[ram_bank_map[m_ram_bank] * 0x2000 + offset];
@@ -360,7 +360,7 @@ uint8_t gb_rom_mbc_device::read_ram(offs_t offset)
return 0xff;
}
-void gb_rom_mbc_device::write_ram(offs_t offset, uint8_t data)
+WRITE8_MEMBER(gb_rom_mbc_device::write_ram)
{
if (!m_ram.empty())
m_ram[ram_bank_map[m_ram_bank] * 0x2000 + offset] = data;
@@ -369,7 +369,7 @@ void gb_rom_mbc_device::write_ram(offs_t offset, uint8_t data)
// MBC1
-uint8_t gb_rom_mbc1_device::read_rom(offs_t offset)
+READ8_MEMBER(gb_rom_mbc1_device::read_rom)
{
if (offset & 0x4000) /* RB1 */
return m_rom[rom_bank_map[(m_ram_bank << (5 + m_shift)) | m_latch_bank2] * 0x4000 + (offset & 0x3fff)];
@@ -380,7 +380,7 @@ uint8_t gb_rom_mbc1_device::read_rom(offs_t offset)
}
}
-void gb_rom_mbc1_device::write_bank(offs_t offset, uint8_t data)
+WRITE8_MEMBER(gb_rom_mbc1_device::write_bank)
{
// the mapper only uses inputs A15..A13
switch (offset & 0xe000)
@@ -402,7 +402,7 @@ void gb_rom_mbc1_device::write_bank(offs_t offset, uint8_t data)
}
}
-uint8_t gb_rom_mbc1_device::read_ram(offs_t offset)
+READ8_MEMBER(gb_rom_mbc1_device::read_ram)
{
if (!m_ram.empty() && m_ram_enable)
{
@@ -413,7 +413,7 @@ uint8_t gb_rom_mbc1_device::read_ram(offs_t offset)
return 0xff;
}
-void gb_rom_mbc1_device::write_ram(offs_t offset, uint8_t data)
+WRITE8_MEMBER(gb_rom_mbc1_device::write_ram)
{
if (!m_ram.empty() && m_ram_enable)
{
@@ -425,7 +425,7 @@ void gb_rom_mbc1_device::write_ram(offs_t offset, uint8_t data)
// MBC2
-uint8_t gb_rom_mbc2_device::read_rom(offs_t offset)
+READ8_MEMBER(gb_rom_mbc2_device::read_rom)
{
if (offset & 0x4000) /* RB1 */
return m_rom[rom_bank_map[m_latch_bank2] * 0x4000 + (offset & 0x3fff)];
@@ -433,7 +433,7 @@ uint8_t gb_rom_mbc2_device::read_rom(offs_t offset)
return m_rom[rom_bank_map[m_latch_bank] * 0x4000 + (offset & 0x3fff)];
}
-void gb_rom_mbc2_device::write_bank(offs_t offset, uint8_t data)
+WRITE8_MEMBER(gb_rom_mbc2_device::write_bank)
{
// the mapper only has data lines D3..D0
data &= 0x0f;
@@ -450,7 +450,7 @@ void gb_rom_mbc2_device::write_bank(offs_t offset, uint8_t data)
}
}
-uint8_t gb_rom_mbc2_device::read_ram(offs_t offset)
+READ8_MEMBER(gb_rom_mbc2_device::read_ram)
{
if (!m_ram.empty() && m_ram_enable)
return m_ram[ram_bank_map[m_ram_bank] * 0x2000 + (offset & 0x01ff)] | 0xf0;
@@ -458,7 +458,7 @@ uint8_t gb_rom_mbc2_device::read_ram(offs_t offset)
return 0xff;
}
-void gb_rom_mbc2_device::write_ram(offs_t offset, uint8_t data)
+WRITE8_MEMBER(gb_rom_mbc2_device::write_ram)
{
if (!m_ram.empty() && m_ram_enable)
m_ram[ram_bank_map[m_ram_bank] * 0x2000 + (offset & 0x01ff)] = data & 0x0f;
@@ -479,7 +479,7 @@ void gb_rom_mbc3_device::update_rtc()
m_rtc_regs[4] = (m_rtc_regs[4] & 0xf0) | (curtime.local_time.day >> 8);
}
-uint8_t gb_rom_mbc3_device::read_rom(offs_t offset)
+READ8_MEMBER(gb_rom_mbc3_device::read_rom)
{
if (offset < 0x4000)
return m_rom[rom_bank_map[m_latch_bank] * 0x4000 + (offset & 0x3fff)];
@@ -487,7 +487,7 @@ uint8_t gb_rom_mbc3_device::read_rom(offs_t offset)
return m_rom[rom_bank_map[m_latch_bank2] * 0x4000 + (offset & 0x3fff)];
}
-void gb_rom_mbc3_device::write_bank(offs_t offset, uint8_t data)
+WRITE8_MEMBER(gb_rom_mbc3_device::write_bank)
{
if (offset < 0x2000)
m_ram_enable = ((data & 0x0f) == 0x0a) ? 1 : 0;
@@ -517,7 +517,7 @@ void gb_rom_mbc3_device::write_bank(offs_t offset, uint8_t data)
}
}
-uint8_t gb_rom_mbc3_device::read_ram(offs_t offset)
+READ8_MEMBER(gb_rom_mbc3_device::read_ram)
{
if (m_ram_bank < 4 && m_ram_enable)
{
@@ -534,7 +534,7 @@ uint8_t gb_rom_mbc3_device::read_ram(offs_t offset)
return 0xff;
}
-void gb_rom_mbc3_device::write_ram(offs_t offset, uint8_t data)
+WRITE8_MEMBER(gb_rom_mbc3_device::write_ram)
{
if (m_ram_bank < 4 && m_ram_enable)
{
@@ -552,7 +552,7 @@ void gb_rom_mbc3_device::write_ram(offs_t offset, uint8_t data)
// MBC5
-uint8_t gb_rom_mbc5_device::read_rom(offs_t offset)
+READ8_MEMBER(gb_rom_mbc5_device::read_rom)
{
if (offset < 0x4000)
return m_rom[rom_bank_map[m_latch_bank] * 0x4000 + (offset & 0x3fff)];
@@ -560,7 +560,7 @@ uint8_t gb_rom_mbc5_device::read_rom(offs_t offset)
return m_rom[rom_bank_map[m_latch_bank2] * 0x4000 + (offset & 0x3fff)];
}
-void gb_rom_mbc5_device::write_bank(offs_t offset, uint8_t data)
+WRITE8_MEMBER(gb_rom_mbc5_device::write_bank)
{
if (offset < 0x2000)
m_ram_enable = ((data & 0x0f) == 0x0a) ? 1 : 0;
@@ -588,7 +588,7 @@ void gb_rom_mbc5_device::write_bank(offs_t offset, uint8_t data)
}
}
-uint8_t gb_rom_mbc5_device::read_ram(offs_t offset)
+READ8_MEMBER(gb_rom_mbc5_device::read_ram)
{
if (!m_ram.empty() && m_ram_enable)
return m_ram[ram_bank_map[m_ram_bank] * 0x2000 + (offset & 0x1fff)];
@@ -596,7 +596,7 @@ uint8_t gb_rom_mbc5_device::read_ram(offs_t offset)
return 0xff;
}
-void gb_rom_mbc5_device::write_ram(offs_t offset, uint8_t data)
+WRITE8_MEMBER(gb_rom_mbc5_device::write_ram)
{
if (!m_ram.empty() && m_ram_enable)
m_ram[ram_bank_map[m_ram_bank] * 0x2000 + (offset & 0x1fff)] = data;
@@ -604,7 +604,7 @@ void gb_rom_mbc5_device::write_ram(offs_t offset, uint8_t data)
// MBC6
-uint8_t gb_rom_mbc6_device::read_rom(offs_t offset)
+READ8_MEMBER(gb_rom_mbc6_device::read_rom)
{
if (offset < 0x4000)
return m_rom[rom_bank_map[m_latch_bank] * 0x4000 + (offset & 0x3fff)];
@@ -614,7 +614,7 @@ uint8_t gb_rom_mbc6_device::read_rom(offs_t offset)
return m_rom[rom_bank_map[m_bank_6000 >> 1] * 0x4000 + (m_bank_6000 & 0x01) * 0x2000 + (offset & 0x1fff)];
}
-void gb_rom_mbc6_device::write_bank(offs_t offset, uint8_t data)
+WRITE8_MEMBER(gb_rom_mbc6_device::write_bank)
{
if (offset < 0x2000)
{
@@ -636,7 +636,7 @@ void gb_rom_mbc6_device::write_bank(offs_t offset, uint8_t data)
}
}
-uint8_t gb_rom_mbc6_device::read_ram(offs_t offset)
+READ8_MEMBER(gb_rom_mbc6_device::read_ram)
{
if (!m_ram.empty())
return m_ram[ram_bank_map[m_ram_bank] * 0x2000 + (offset & 0x1fff)];
@@ -644,7 +644,7 @@ uint8_t gb_rom_mbc6_device::read_ram(offs_t offset)
return 0xff;
}
-void gb_rom_mbc6_device::write_ram(offs_t offset, uint8_t data)
+WRITE8_MEMBER(gb_rom_mbc6_device::write_ram)
{
if (!m_ram.empty())
m_ram[ram_bank_map[m_ram_bank] * 0x2000 + (offset & 0x1fff)] = data;
@@ -652,7 +652,7 @@ void gb_rom_mbc6_device::write_ram(offs_t offset, uint8_t data)
// MBC7
-uint8_t gb_rom_mbc7_device::read_rom(offs_t offset)
+READ8_MEMBER(gb_rom_mbc7_device::read_rom)
{
if (offset < 0x4000)
return m_rom[rom_bank_map[m_latch_bank] * 0x4000 + (offset & 0x3fff)];
@@ -660,7 +660,7 @@ uint8_t gb_rom_mbc7_device::read_rom(offs_t offset)
return m_rom[rom_bank_map[m_latch_bank2] * 0x4000 + (offset & 0x3fff)];
}
-void gb_rom_mbc7_device::write_bank(offs_t offset, uint8_t data)
+WRITE8_MEMBER(gb_rom_mbc7_device::write_bank)
{
if (offset < 0x2000)
{
@@ -693,7 +693,7 @@ void gb_rom_mbc7_device::write_bank(offs_t offset, uint8_t data)
}
}
-uint8_t gb_rom_mbc7_device::read_ram(offs_t offset)
+READ8_MEMBER(gb_rom_mbc7_device::read_ram)
{
if (!m_ram.empty())
return m_ram[ram_bank_map[m_ram_bank] * 0x2000 + (offset & 0x1fff)];
@@ -701,7 +701,7 @@ uint8_t gb_rom_mbc7_device::read_ram(offs_t offset)
return 0xff;
}
-void gb_rom_mbc7_device::write_ram(offs_t offset, uint8_t data)
+WRITE8_MEMBER(gb_rom_mbc7_device::write_ram)
{
if (!m_ram.empty())
m_ram[ram_bank_map[m_ram_bank] * 0x2000 + (offset & 0x1fff)] = data;
@@ -710,12 +710,12 @@ void gb_rom_mbc7_device::write_ram(offs_t offset, uint8_t data)
// M161
-uint8_t gb_rom_m161_device::read_rom(offs_t offset)
+READ8_MEMBER(gb_rom_m161_device::read_rom)
{
return m_rom[rom_bank_map[m_base_bank] * 0x4000 + (offset & 0x7fff)];
}
-void gb_rom_m161_device::write_bank(offs_t offset, uint8_t data)
+WRITE8_MEMBER(gb_rom_m161_device::write_bank)
{
// the mapper (74HC161A) only has data lines D2..D0
data &= 0x07;
@@ -736,7 +736,7 @@ void gb_rom_m161_device::write_bank(offs_t offset, uint8_t data)
// MMM01
-uint8_t gb_rom_mmm01_device::read_rom(offs_t offset)
+READ8_MEMBER(gb_rom_mmm01_device::read_rom)
{
uint16_t romb = m_romb & ~(0x1e0 | m_romb_nwe);
uint16_t romb_base = m_romb & (0x1e0 | m_romb_nwe);
@@ -765,7 +765,7 @@ uint8_t gb_rom_mmm01_device::read_rom(offs_t offset)
return m_rom[rom_bank_map[romb] * 0x4000 + (offset & 0x3fff)];
}
-void gb_rom_mmm01_device::write_bank(offs_t offset, uint8_t data)
+WRITE8_MEMBER(gb_rom_mmm01_device::write_bank)
{
// the mapper only has data lines D6..D0
data &= 0x7f;
@@ -810,7 +810,7 @@ void gb_rom_mmm01_device::write_bank(offs_t offset, uint8_t data)
}
}
-uint8_t gb_rom_mmm01_device::read_ram(offs_t offset)
+READ8_MEMBER(gb_rom_mmm01_device::read_ram)
{
uint8_t ramb_masked = ((offset & 0x4000) | m_mode ? m_ramb : m_ramb & ~0x03);
uint8_t ramb = ramb_masked;
@@ -827,7 +827,7 @@ uint8_t gb_rom_mmm01_device::read_ram(offs_t offset)
return 0xff;
}
-void gb_rom_mmm01_device::write_ram(offs_t offset, uint8_t data)
+WRITE8_MEMBER(gb_rom_mmm01_device::write_ram)
{
uint8_t ramb_masked = ((offset & 0x4000) | m_mode ? m_ramb : m_ramb & ~0x03);
uint8_t ramb = ramb_masked;
@@ -844,7 +844,7 @@ void gb_rom_mmm01_device::write_ram(offs_t offset, uint8_t data)
// Sachen MMC1
-uint8_t gb_rom_sachen_mmc1_device::read_rom(offs_t offset)
+READ8_MEMBER(gb_rom_sachen_mmc1_device::read_rom)
{
uint16_t off_edit = offset;
@@ -875,7 +875,7 @@ uint8_t gb_rom_sachen_mmc1_device::read_rom(offs_t offset)
return m_rom[rom_bank_map[(m_base_bank & m_mask) | (m_latch_bank & ~m_mask)] * 0x4000 + (off_edit & 0x3fff)];
}
-void gb_rom_sachen_mmc1_device::write_bank(offs_t offset, uint8_t data)
+WRITE8_MEMBER(gb_rom_sachen_mmc1_device::write_bank)
{
/* Only A15..A6, A4, A1..A0 are connected */
/* We only decode upper three bits */
@@ -916,7 +916,7 @@ void gb_rom_sachen_mmc1_device::write_bank(offs_t offset, uint8_t data)
// Sachen MMC2
-uint8_t gb_rom_sachen_mmc2_device::read_rom(offs_t offset)
+READ8_MEMBER(gb_rom_sachen_mmc2_device::read_rom)
{
uint16_t off_edit = offset;
@@ -954,7 +954,7 @@ uint8_t gb_rom_sachen_mmc2_device::read_rom(offs_t offset)
return m_rom[rom_bank_map[(m_base_bank & m_mask) | (m_latch_bank & ~m_mask)] * 0x4000 + (off_edit & 0x3fff)];
}
-uint8_t gb_rom_sachen_mmc2_device::read_ram(offs_t offset)
+READ8_MEMBER(gb_rom_sachen_mmc2_device::read_ram)
{
if (m_mode == MODE_LOCKED_DMG) {
m_unlock_cnt = 0x00;
@@ -964,7 +964,7 @@ uint8_t gb_rom_sachen_mmc2_device::read_ram(offs_t offset)
}
-void gb_rom_sachen_mmc2_device::write_ram(offs_t offset, uint8_t data)
+WRITE8_MEMBER(gb_rom_sachen_mmc2_device::write_ram)
{
if (m_mode == MODE_LOCKED_DMG) {
m_unlock_cnt = 0x00;
@@ -976,7 +976,7 @@ void gb_rom_sachen_mmc2_device::write_ram(offs_t offset, uint8_t data)
// 188 in 1 pirate (only preliminary)
-uint8_t gb_rom_188in1_device::read_rom(offs_t offset)
+READ8_MEMBER(gb_rom_188in1_device::read_rom)
{
if (offset < 0x4000)
return m_rom[m_game_base + rom_bank_map[m_latch_bank] * 0x4000 + (offset & 0x3fff)];
@@ -984,7 +984,7 @@ uint8_t gb_rom_188in1_device::read_rom(offs_t offset)
return m_rom[m_game_base + rom_bank_map[m_latch_bank2] * 0x4000 + (offset & 0x3fff)];
}
-void gb_rom_188in1_device::write_bank(offs_t offset, uint8_t data)
+WRITE8_MEMBER(gb_rom_188in1_device::write_bank)
{
if (offset == 0x7b00)
{
@@ -1003,24 +1003,24 @@ void gb_rom_188in1_device::write_bank(offs_t offset, uint8_t data)
printf("write to 0x%X data 0x%X\n", offset, data);
}
else
- gb_rom_mbc1_device::write_bank(offset, data);
+ gb_rom_mbc1_device::write_bank(space, offset, data);
}
// MBC5 variant used by Li Cheng / Niutoude games
-void gb_rom_licheng_device::write_bank(offs_t offset, uint8_t data)
+WRITE8_MEMBER(gb_rom_licheng_device::write_bank)
{
if (offset > 0x2100 && offset < 0x3000)
return;
- gb_rom_mbc5_device::write_bank(offset, data);
+ gb_rom_mbc5_device::write_bank(space, offset, data);
}
// MBC5 variant used by Chong Wu Xiao Jing Ling (this appears to be a re-release of a Li Cheng / Niutoude game,
// given that it contains the Niutoude logo, with most protection checks patched out)
-uint8_t gb_rom_chongwu_device::read_rom(offs_t offset)
+READ8_MEMBER(gb_rom_chongwu_device::read_rom)
{
// protection check at the first read here...
if (offset == 0x41c3 && !m_protection_checked)
@@ -1056,7 +1056,7 @@ void gb_rom_sintax_device::set_xor_for_bank(uint8_t bank)
}
}
-uint8_t gb_rom_sintax_device::read_rom(offs_t offset)
+READ8_MEMBER(gb_rom_sintax_device::read_rom)
{
if (offset < 0x4000)
return m_rom[rom_bank_map[m_latch_bank] * 0x4000 + (offset & 0x3fff)];
@@ -1064,7 +1064,7 @@ uint8_t gb_rom_sintax_device::read_rom(offs_t offset)
return m_rom[rom_bank_map[m_latch_bank2] * 0x4000 + (offset & 0x3fff)] ^ m_currentxor;
}
-void gb_rom_sintax_device::write_bank(offs_t offset, uint8_t data)
+WRITE8_MEMBER(gb_rom_sintax_device::write_bank)
{
if (offset < 0x2000)
m_ram_enable = ((data & 0x0f) == 0x0a) ? 1 : 0;
@@ -1113,7 +1113,7 @@ void gb_rom_sintax_device::write_bank(offs_t offset, uint8_t data)
if (!m_sintax_mode)
{
m_sintax_mode = data;
- write_bank(0x2000, 1); //force a fake bank switch
+ write_bank(space, 0x2000, 1); //force a fake bank switch
}
// printf("sintax mode %x\n", m_sintax_mode & 0xf);
}
@@ -1141,7 +1141,7 @@ void gb_rom_sintax_device::write_bank(offs_t offset, uint8_t data)
}
-uint8_t gb_rom_sintax_device::read_ram(offs_t offset)
+READ8_MEMBER(gb_rom_sintax_device::read_ram)
{
if (!m_ram.empty() && m_ram_enable)
return m_ram[ram_bank_map[m_ram_bank] * 0x2000 + (offset & 0x1fff)];
@@ -1149,7 +1149,7 @@ uint8_t gb_rom_sintax_device::read_ram(offs_t offset)
return 0xff;
}
-void gb_rom_sintax_device::write_ram(offs_t offset, uint8_t data)
+WRITE8_MEMBER(gb_rom_sintax_device::write_ram)
{
if (!m_ram.empty() && m_ram_enable)
m_ram[ram_bank_map[m_ram_bank] * 0x2000 + (offset & 0x1fff)] = data;
@@ -1169,7 +1169,7 @@ void gb_rom_sintax_device::write_ram(offs_t offset, uint8_t data)
// MBC5 variant used by Digimon 2 (and maybe 4?)
-uint8_t gb_rom_digimon_device::read_rom(offs_t offset)
+READ8_MEMBER(gb_rom_digimon_device::read_rom)
{
if (offset < 0x4000)
return m_rom[rom_bank_map[m_latch_bank] * 0x4000 + (offset & 0x3fff)];
@@ -1177,7 +1177,7 @@ uint8_t gb_rom_digimon_device::read_rom(offs_t offset)
return m_rom[rom_bank_map[m_latch_bank2] * 0x4000 + (offset & 0x3fff)];
}
-void gb_rom_digimon_device::write_bank(offs_t offset, uint8_t data)
+WRITE8_MEMBER(gb_rom_digimon_device::write_bank)
{
if (offset < 0x2000)
m_ram_enable = ((data & 0x0f) == 0x0a) ? 1 : 0;
@@ -1206,7 +1206,7 @@ void gb_rom_digimon_device::write_bank(offs_t offset, uint8_t data)
// printf("written $07 %X at %X\n", data, offset);
}
-uint8_t gb_rom_digimon_device::read_ram(offs_t offset)
+READ8_MEMBER(gb_rom_digimon_device::read_ram)
{
if (!m_ram.empty() && m_ram_enable)
return m_ram[ram_bank_map[m_ram_bank] * 0x2000 + (offset & 0x1fff)];
@@ -1214,7 +1214,7 @@ uint8_t gb_rom_digimon_device::read_ram(offs_t offset)
return 0xff;
}
-void gb_rom_digimon_device::write_ram(offs_t offset, uint8_t data)
+WRITE8_MEMBER(gb_rom_digimon_device::write_ram)
{
if (!m_ram.empty() && m_ram_enable)
m_ram[ram_bank_map[m_ram_bank] * 0x2000 + (offset & 0x1fff)] = data;
@@ -1223,7 +1223,7 @@ void gb_rom_digimon_device::write_ram(offs_t offset, uint8_t data)
// MBC1 variant used by Yong Yong for Rockman 8
-uint8_t gb_rom_rockman8_device::read_rom(offs_t offset)
+READ8_MEMBER(gb_rom_rockman8_device::read_rom)
{
if (offset < 0x4000)
return m_rom[m_latch_bank * 0x4000 + (offset & 0x3fff)];
@@ -1231,7 +1231,7 @@ uint8_t gb_rom_rockman8_device::read_rom(offs_t offset)
return m_rom[m_latch_bank2 * 0x4000 + (offset & 0x3fff)];
}
-void gb_rom_rockman8_device::write_bank(offs_t offset, uint8_t data)
+WRITE8_MEMBER(gb_rom_rockman8_device::write_bank)
{
if (offset < 0x2000)
return;
@@ -1248,7 +1248,7 @@ void gb_rom_rockman8_device::write_bank(offs_t offset, uint8_t data)
}
}
-uint8_t gb_rom_rockman8_device::read_ram(offs_t offset)
+READ8_MEMBER(gb_rom_rockman8_device::read_ram)
{
if (!m_ram.empty())
return m_ram[offset];
@@ -1256,7 +1256,7 @@ uint8_t gb_rom_rockman8_device::read_ram(offs_t offset)
return 0xff;
}
-void gb_rom_rockman8_device::write_ram(offs_t offset, uint8_t data)
+WRITE8_MEMBER(gb_rom_rockman8_device::write_ram)
{
if (!m_ram.empty())
m_ram[offset] = data;
@@ -1291,7 +1291,7 @@ static uint8_t smb3_table1[0x20] =
// however, no such a write ever happen (only bit4 is written, but changing mode with
// bit4 breaks the gfx...)
-uint8_t gb_rom_sm3sp_device::read_rom(offs_t offset)
+READ8_MEMBER(gb_rom_sm3sp_device::read_rom)
{
if (offset < 0x4000)
return m_rom[rom_bank_map[0] * 0x4000 + (offset & 0x3fff)];
@@ -1299,7 +1299,7 @@ uint8_t gb_rom_sm3sp_device::read_rom(offs_t offset)
return m_rom[m_latch_bank2 * 0x4000 + (offset & 0x3fff)];
}
-void gb_rom_sm3sp_device::write_bank(offs_t offset, uint8_t data)
+WRITE8_MEMBER(gb_rom_sm3sp_device::write_bank)
{
// printf("write 0x%x at %x\n", data, offset);
if (offset < 0x2000)
@@ -1352,11 +1352,11 @@ void gb_rom_sm3sp_device::write_bank(offs_t offset, uint8_t data)
{
// printf("write mode %x\n", data);
m_mode = BIT(data, 5);
-// write_bank(0x2000, 1);
+// write_bank(space, 0x2000, 1);
}
}
-uint8_t gb_rom_sm3sp_device::read_ram(offs_t offset)
+READ8_MEMBER(gb_rom_sm3sp_device::read_ram)
{
if (!m_ram.empty())
return m_ram[offset];
@@ -1364,7 +1364,7 @@ uint8_t gb_rom_sm3sp_device::read_ram(offs_t offset)
return 0xff;
}
-void gb_rom_sm3sp_device::write_ram(offs_t offset, uint8_t data)
+WRITE8_MEMBER(gb_rom_sm3sp_device::write_ram)
{
if (!m_ram.empty())
m_ram[offset] = data;
@@ -1375,7 +1375,7 @@ void gb_rom_camera_device::update_camera()
m_camera_regs[0] &= ~0x1;
}
-uint8_t gb_rom_camera_device::read_rom(offs_t offset)
+READ8_MEMBER(gb_rom_camera_device::read_rom)
{
if (offset < 0x4000)
return m_rom[rom_bank_map[m_latch_bank] * 0x4000 + (offset & 0x3fff)];
@@ -1383,7 +1383,7 @@ uint8_t gb_rom_camera_device::read_rom(offs_t offset)
return m_rom[rom_bank_map[m_latch_bank2] * 0x4000 + (offset & 0x3fff)];
}
-void gb_rom_camera_device::write_bank(offs_t offset, uint8_t data)
+WRITE8_MEMBER(gb_rom_camera_device::write_bank)
{
if (offset < 0x2000)
m_ram_enable = ((data & 0x0f) == 0x0a) ? 1 : 0;
@@ -1403,7 +1403,7 @@ void gb_rom_camera_device::write_bank(offs_t offset, uint8_t data)
}
}
-uint8_t gb_rom_camera_device::read_ram(offs_t offset)
+READ8_MEMBER(gb_rom_camera_device::read_ram)
{
if ((m_ram_bank & 0x10) != 0)
return (offset == 0) ? (m_camera_regs[0] & 0x7) : 0;
@@ -1417,7 +1417,7 @@ uint8_t gb_rom_camera_device::read_ram(offs_t offset)
return 0;
}
-void gb_rom_camera_device::write_ram(offs_t offset, uint8_t data)
+WRITE8_MEMBER(gb_rom_camera_device::write_ram)
{
if ((m_ram_bank & 0x10) != 0)
{
diff --git a/src/devices/bus/gameboy/mbc.h b/src/devices/bus/gameboy/mbc.h
index 9658369d6fb..4bc169488bf 100644
--- a/src/devices/bus/gameboy/mbc.h
+++ b/src/devices/bus/gameboy/mbc.h
@@ -13,9 +13,9 @@ class gb_rom_mbc_device : public device_t,
{
public:
// reading and writing
- virtual uint8_t read_rom(offs_t offset) override;
- virtual uint8_t read_ram(offs_t offset) override;
- virtual void write_ram(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_rom) override;
+ virtual DECLARE_READ8_MEMBER(read_ram) override;
+ virtual DECLARE_WRITE8_MEMBER(write_ram) override;
protected:
// construction/destruction
@@ -40,10 +40,10 @@ public:
// construction/destruction
gb_rom_mbc1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_rom(offs_t offset) override;
- virtual void write_bank(offs_t offset, uint8_t data) override;
- virtual uint8_t read_ram(offs_t offset) override;
- virtual void write_ram(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_rom) override;
+ virtual DECLARE_WRITE8_MEMBER(write_bank) override;
+ virtual DECLARE_READ8_MEMBER(read_ram) override;
+ virtual DECLARE_WRITE8_MEMBER(write_ram) override;
protected:
enum {
@@ -70,10 +70,10 @@ public:
// construction/destruction
gb_rom_mbc2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_rom(offs_t offset) override;
- virtual void write_bank(offs_t offset, uint8_t data) override;
- virtual uint8_t read_ram(offs_t offset) override;
- virtual void write_ram(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_rom) override;
+ virtual DECLARE_WRITE8_MEMBER(write_bank) override;
+ virtual DECLARE_READ8_MEMBER(read_ram) override;
+ virtual DECLARE_WRITE8_MEMBER(write_ram) override;
protected:
// device-level overrides
@@ -89,10 +89,10 @@ public:
// construction/destruction
gb_rom_mbc3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_rom(offs_t offset) override;
- virtual void write_bank(offs_t offset, uint8_t data) override;
- virtual uint8_t read_ram(offs_t offset) override;
- virtual void write_ram(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_rom) override;
+ virtual DECLARE_WRITE8_MEMBER(write_bank) override;
+ virtual DECLARE_READ8_MEMBER(read_ram) override;
+ virtual DECLARE_WRITE8_MEMBER(write_ram) override;
protected:
// device-level overrides
@@ -113,10 +113,10 @@ public:
// construction/destruction
gb_rom_mbc5_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_rom(offs_t offset) override;
- virtual void write_bank(offs_t offset, uint8_t data) override;
- virtual uint8_t read_ram(offs_t offset) override;
- virtual void write_ram(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_rom) override;
+ virtual DECLARE_WRITE8_MEMBER(write_bank) override;
+ virtual DECLARE_READ8_MEMBER(read_ram) override;
+ virtual DECLARE_WRITE8_MEMBER(write_ram) override;
protected:
gb_rom_mbc5_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
@@ -134,10 +134,10 @@ public:
// construction/destruction
gb_rom_mbc6_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_rom(offs_t offset) override;
- virtual void write_bank(offs_t offset, uint8_t data) override;
- virtual uint8_t read_ram(offs_t offset) override;
- virtual void write_ram(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_rom) override;
+ virtual DECLARE_WRITE8_MEMBER(write_bank) override;
+ virtual DECLARE_READ8_MEMBER(read_ram) override;
+ virtual DECLARE_WRITE8_MEMBER(write_ram) override;
protected:
// device-level overrides
@@ -156,10 +156,10 @@ public:
// construction/destruction
gb_rom_mbc7_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_rom(offs_t offset) override;
- virtual void write_bank(offs_t offset, uint8_t data) override;
- virtual uint8_t read_ram(offs_t offset) override;
- virtual void write_ram(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_rom) override;
+ virtual DECLARE_WRITE8_MEMBER(write_bank) override;
+ virtual DECLARE_READ8_MEMBER(read_ram) override;
+ virtual DECLARE_WRITE8_MEMBER(write_ram) override;
protected:
// device-level overrides
@@ -175,10 +175,10 @@ public:
// construction/destruction
gb_rom_m161_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_rom(offs_t offset) override;
- virtual void write_bank(offs_t offset, uint8_t data) override;
- virtual uint8_t read_ram(offs_t offset) override { return 0xff; }
- virtual void write_ram(offs_t offset, uint8_t data) override { }
+ virtual DECLARE_READ8_MEMBER(read_rom) override;
+ virtual DECLARE_WRITE8_MEMBER(write_bank) override;
+ virtual DECLARE_READ8_MEMBER(read_ram) override { return 0xff; }
+ virtual DECLARE_WRITE8_MEMBER(write_ram) override { }
protected:
// device-level overrides
@@ -197,10 +197,10 @@ public:
gb_rom_mmm01_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
- virtual uint8_t read_rom(offs_t offset) override;
- virtual void write_bank(offs_t offset, uint8_t data) override;
- virtual uint8_t read_ram(offs_t offset) override;
- virtual void write_ram(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_rom) override;
+ virtual DECLARE_WRITE8_MEMBER(write_bank) override;
+ virtual DECLARE_READ8_MEMBER(read_ram) override;
+ virtual DECLARE_WRITE8_MEMBER(write_ram) override;
protected:
// device-level overrides
@@ -225,10 +225,10 @@ public:
// construction/destruction
gb_rom_sachen_mmc1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_rom(offs_t offset) override;
- virtual void write_bank(offs_t offset, uint8_t data) override;
- virtual uint8_t read_ram(offs_t offset) override { return 0xff; }
- virtual void write_ram(offs_t offset, uint8_t data) override { }
+ virtual DECLARE_READ8_MEMBER(read_rom) override;
+ virtual DECLARE_WRITE8_MEMBER(write_bank) override;
+ virtual DECLARE_READ8_MEMBER(read_ram) override { return 0xff; }
+ virtual DECLARE_WRITE8_MEMBER(write_ram) override { }
protected:
enum {
@@ -253,9 +253,9 @@ public:
// construction/destruction
gb_rom_sachen_mmc2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_rom(offs_t offset) override;
- virtual uint8_t read_ram(offs_t offset) override;
- virtual void write_ram(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_rom) override;
+ virtual DECLARE_READ8_MEMBER(read_ram) override;
+ virtual DECLARE_WRITE8_MEMBER(write_ram) override;
protected:
enum {
@@ -277,8 +277,8 @@ public:
gb_rom_188in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
- virtual uint8_t read_rom(offs_t offset) override;
- virtual void write_bank(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_rom) override;
+ virtual DECLARE_WRITE8_MEMBER(write_bank) override;
protected:
// device-level overrides
@@ -297,10 +297,10 @@ public:
gb_rom_sintax_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
- virtual uint8_t read_rom(offs_t offset) override;
- virtual void write_bank(offs_t offset, uint8_t data) override;
- virtual uint8_t read_ram(offs_t offset) override;
- virtual void write_ram(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_rom) override;
+ virtual DECLARE_WRITE8_MEMBER(write_bank) override;
+ virtual DECLARE_READ8_MEMBER(read_ram) override;
+ virtual DECLARE_WRITE8_MEMBER(write_ram) override;
protected:
// device-level overrides
@@ -321,7 +321,7 @@ public:
// construction/destruction
gb_rom_chongwu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_rom(offs_t offset) override;
+ virtual DECLARE_READ8_MEMBER(read_rom) override;
protected:
// device-level overrides
@@ -339,7 +339,7 @@ public:
// construction/destruction
gb_rom_licheng_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_bank(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_bank) override;
};
// ======================> gb_rom_digimon_device
@@ -350,15 +350,15 @@ public:
// construction/destruction
gb_rom_digimon_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_rom(offs_t offset) override;
- virtual void write_bank(offs_t offset, uint8_t data) override;
- virtual uint8_t read_ram(offs_t offset) override;
+ virtual DECLARE_READ8_MEMBER(read_rom) override;
+ virtual DECLARE_WRITE8_MEMBER(write_bank) override;
+ virtual DECLARE_READ8_MEMBER(read_ram) override;
protected:
// device-level overrides
virtual void device_start() override { shared_start(); }
virtual void device_reset() override { shared_reset(); }
- virtual void write_ram(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_ram) override;
};
// ======================> gb_rom_rockman8_device
@@ -369,10 +369,10 @@ public:
gb_rom_rockman8_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
- virtual uint8_t read_rom(offs_t offset) override;
- virtual void write_bank(offs_t offset, uint8_t data) override;
- virtual uint8_t read_ram(offs_t offset) override;
- virtual void write_ram(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_rom) override;
+ virtual DECLARE_WRITE8_MEMBER(write_bank) override;
+ virtual DECLARE_READ8_MEMBER(read_ram) override;
+ virtual DECLARE_WRITE8_MEMBER(write_ram) override;
protected:
// device-level overrides
@@ -390,10 +390,10 @@ public:
gb_rom_sm3sp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
- virtual uint8_t read_rom(offs_t offset) override;
- virtual void write_bank(offs_t offset, uint8_t data) override;
- virtual uint8_t read_ram(offs_t offset) override;
- virtual void write_ram(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_rom) override;
+ virtual DECLARE_WRITE8_MEMBER(write_bank) override;
+ virtual DECLARE_READ8_MEMBER(read_ram) override;
+ virtual DECLARE_WRITE8_MEMBER(write_ram) override;
protected:
// device-level overrides
@@ -410,10 +410,10 @@ public:
// construction/destruction
gb_rom_camera_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_rom(offs_t offset) override;
- virtual void write_bank(offs_t offset, uint8_t data) override;
- virtual uint8_t read_ram(offs_t offset) override;
- virtual void write_ram(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_rom) override;
+ virtual DECLARE_WRITE8_MEMBER(write_bank) override;
+ virtual DECLARE_READ8_MEMBER(read_ram) override;
+ virtual DECLARE_WRITE8_MEMBER(write_ram) override;
protected:
// device-level overrides
diff --git a/src/devices/bus/gameboy/rom.cpp b/src/devices/bus/gameboy/rom.cpp
index d3e90d73f51..47049bcd836 100644
--- a/src/devices/bus/gameboy/rom.cpp
+++ b/src/devices/bus/gameboy/rom.cpp
@@ -145,13 +145,13 @@ void megaduck_rom_device::device_reset()
mapper specific handlers
-------------------------------------------------*/
-uint8_t gb_rom_device::read_rom(offs_t offset)
+READ8_MEMBER(gb_rom_device::read_rom)
{
m_latch_bank = offset / 0x4000;
return m_rom[rom_bank_map[m_latch_bank] * 0x4000 + (offset & 0x3fff)];
}
-uint8_t gb_rom_device::read_ram(offs_t offset)
+READ8_MEMBER(gb_rom_device::read_ram)
{
if (!m_ram.empty())
return m_ram[ram_bank_map[m_ram_bank] * 0x2000 + offset];
@@ -159,7 +159,7 @@ uint8_t gb_rom_device::read_ram(offs_t offset)
return 0xff;
}
-void gb_rom_device::write_ram(offs_t offset, uint8_t data)
+WRITE8_MEMBER(gb_rom_device::write_ram)
{
if (!m_ram.empty())
m_ram[ram_bank_map[m_ram_bank] * 0x2000 + offset] = data;
@@ -168,7 +168,7 @@ void gb_rom_device::write_ram(offs_t offset, uint8_t data)
// Tamagotchi
-uint8_t gb_rom_tama5_device::read_rom(offs_t offset)
+READ8_MEMBER(gb_rom_tama5_device::read_rom)
{
if (offset < 0x4000)
return m_rom[rom_bank_map[m_latch_bank] * 0x4000 + (offset & 0x3fff)];
@@ -176,12 +176,12 @@ uint8_t gb_rom_tama5_device::read_rom(offs_t offset)
return m_rom[rom_bank_map[m_latch_bank2] * 0x4000 + (offset & 0x3fff)];
}
-uint8_t gb_rom_tama5_device::read_ram(offs_t offset)
+READ8_MEMBER(gb_rom_tama5_device::read_ram)
{
return m_rtc_reg;
}
-void gb_rom_tama5_device::write_ram(offs_t offset, uint8_t data)
+WRITE8_MEMBER(gb_rom_tama5_device::write_ram)
{
switch (offset & 0x0001)
{
@@ -259,12 +259,12 @@ void gb_rom_tama5_device::write_ram(offs_t offset, uint8_t data)
// Wisdom Tree
-uint8_t gb_rom_wisdom_device::read_rom(offs_t offset)
+READ8_MEMBER(gb_rom_wisdom_device::read_rom)
{
return m_rom[rom_bank_map[m_latch_bank] * 0x4000 + offset];
}
-void gb_rom_wisdom_device::write_bank(offs_t offset, uint8_t data)
+WRITE8_MEMBER(gb_rom_wisdom_device::write_bank)
{
if (offset < 0x4000)
m_latch_bank = (offset << 1) & 0x1ff;
@@ -273,7 +273,7 @@ void gb_rom_wisdom_device::write_bank(offs_t offset, uint8_t data)
// Yong Yong pirate
-uint8_t gb_rom_yong_device::read_rom(offs_t offset)
+READ8_MEMBER(gb_rom_yong_device::read_rom)
{
if (offset < 0x4000)
return m_rom[rom_bank_map[m_latch_bank] * 0x4000 + (offset & 0x3fff)];
@@ -281,7 +281,7 @@ uint8_t gb_rom_yong_device::read_rom(offs_t offset)
return m_rom[rom_bank_map[m_latch_bank2] * 0x4000 + (offset & 0x3fff)];
}
-void gb_rom_yong_device::write_bank(offs_t offset, uint8_t data)
+WRITE8_MEMBER(gb_rom_yong_device::write_bank)
{
if (offset == 0x2000)
m_latch_bank2 = data;
@@ -290,7 +290,7 @@ void gb_rom_yong_device::write_bank(offs_t offset, uint8_t data)
// ATV Racin pirate (incomplete)
-uint8_t gb_rom_atvrac_device::read_rom(offs_t offset)
+READ8_MEMBER(gb_rom_atvrac_device::read_rom)
{
if (offset < 0x4000)
return m_rom[rom_bank_map[m_latch_bank] * 0x4000 + (offset & 0x3fff)];
@@ -298,7 +298,7 @@ uint8_t gb_rom_atvrac_device::read_rom(offs_t offset)
return m_rom[rom_bank_map[m_latch_bank2] * 0x4000 + (offset & 0x3fff)];
}
-void gb_rom_atvrac_device::write_bank(offs_t offset, uint8_t data)
+WRITE8_MEMBER(gb_rom_atvrac_device::write_bank)
{
if (offset == 0x3f00)
{
@@ -312,7 +312,7 @@ void gb_rom_atvrac_device::write_bank(offs_t offset, uint8_t data)
// La Sa Ma pirate (incomplete)
-uint8_t gb_rom_lasama_device::read_rom(offs_t offset)
+READ8_MEMBER(gb_rom_lasama_device::read_rom)
{
if (offset < 0x4000)
return m_rom[rom_bank_map[m_latch_bank] * 0x4000 + (offset & 0x3fff)];
@@ -320,7 +320,7 @@ uint8_t gb_rom_lasama_device::read_rom(offs_t offset)
return m_rom[rom_bank_map[m_latch_bank2] * 0x4000 + (offset & 0x3fff)];
}
-void gb_rom_lasama_device::write_bank(offs_t offset, uint8_t data)
+WRITE8_MEMBER(gb_rom_lasama_device::write_bank)
{
if (offset == 0x2080)
{
@@ -341,7 +341,7 @@ void gb_rom_lasama_device::write_bank(offs_t offset, uint8_t data)
// MegaDuck carts
-uint8_t megaduck_rom_device::read_rom(offs_t offset)
+READ8_MEMBER(megaduck_rom_device::read_rom)
{
if (offset < 0x4000)
return m_rom[rom_bank_map[m_latch_bank] * 0x4000 + (offset & 0x3fff)];
@@ -349,13 +349,13 @@ uint8_t megaduck_rom_device::read_rom(offs_t offset)
return m_rom[rom_bank_map[m_latch_bank2] * 0x4000 + (offset & 0x3fff)];
}
-void megaduck_rom_device::write_bank(offs_t offset, uint8_t data)
+WRITE8_MEMBER(megaduck_rom_device::write_bank)
{
if (offset == 0x0001)
m_latch_bank2 = data;
}
-void megaduck_rom_device::write_ram(offs_t offset, uint8_t data)
+WRITE8_MEMBER(megaduck_rom_device::write_ram)
{
m_latch_bank = data * 2;
m_latch_bank2 = data * 2 + 1;
diff --git a/src/devices/bus/gameboy/rom.h b/src/devices/bus/gameboy/rom.h
index f2388446863..a5439fba598 100644
--- a/src/devices/bus/gameboy/rom.h
+++ b/src/devices/bus/gameboy/rom.h
@@ -16,9 +16,9 @@ public:
gb_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
- virtual uint8_t read_rom(offs_t offset) override;
- virtual uint8_t read_ram(offs_t offset) override;
- virtual void write_ram(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_rom) override;
+ virtual DECLARE_READ8_MEMBER(read_ram) override;
+ virtual DECLARE_WRITE8_MEMBER(write_ram) override;
protected:
gb_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
@@ -39,9 +39,9 @@ public:
gb_rom_tama5_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
- virtual uint8_t read_rom(offs_t offset) override;
- virtual uint8_t read_ram(offs_t offset) override;
- virtual void write_ram(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_rom) override;
+ virtual DECLARE_READ8_MEMBER(read_ram) override;
+ virtual DECLARE_WRITE8_MEMBER(write_ram) override;
protected:
// device-level overrides
@@ -61,8 +61,8 @@ public:
gb_rom_wisdom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
- virtual uint8_t read_rom(offs_t offset) override;
- virtual void write_bank(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_rom) override;
+ virtual DECLARE_WRITE8_MEMBER(write_bank) override;
protected:
// device-level overrides
@@ -78,8 +78,8 @@ public:
gb_rom_yong_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
- virtual uint8_t read_rom(offs_t offset) override;
- virtual void write_bank(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_rom) override;
+ virtual DECLARE_WRITE8_MEMBER(write_bank) override;
protected:
// device-level overrides
@@ -95,8 +95,8 @@ public:
gb_rom_atvrac_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
- virtual uint8_t read_rom(offs_t offset) override;
- virtual void write_bank(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_rom) override;
+ virtual DECLARE_WRITE8_MEMBER(write_bank) override;
protected:
// device-level overrides
@@ -112,8 +112,8 @@ public:
gb_rom_lasama_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
- virtual uint8_t read_rom(offs_t offset) override;
- virtual void write_bank(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_rom) override;
+ virtual DECLARE_WRITE8_MEMBER(write_bank) override;
protected:
// device-level overrides
@@ -131,9 +131,9 @@ public:
megaduck_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
- virtual uint8_t read_rom(offs_t offset) override;
- virtual void write_bank(offs_t offset, uint8_t data) override;
- virtual void write_ram(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_rom) override;
+ virtual DECLARE_WRITE8_MEMBER(write_bank) override;
+ virtual DECLARE_WRITE8_MEMBER(write_ram) override;
protected:
megaduck_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
diff --git a/src/devices/bus/gamegear/ggext.h b/src/devices/bus/gamegear/ggext.h
index 1eed1545bed..71d6ecfcf72 100644
--- a/src/devices/bus/gamegear/ggext.h
+++ b/src/devices/bus/gamegear/ggext.h
@@ -16,6 +16,28 @@
#pragma once
+
+
+//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_GG_EXT_PORT_ADD(_tag, _slot_intf, _def_slot) \
+ MCFG_DEVICE_ADD(_tag, GG_EXT_PORT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
+#define MCFG_GG_EXT_PORT_MODIFY(_tag) \
+ MCFG_DEVICE_MODIFY(_tag)
+
+
+#define MCFG_GG_EXT_PORT_TH_INPUT_HANDLER(_devcb) \
+ downcast<gg_ext_port_device &>(*device).set_th_input_handler(DEVCB_##_devcb);
+
+
+#define MCFG_GG_EXT_PORT_PIXEL_HANDLER(_devcb) \
+ downcast<gg_ext_port_device &>(*device).set_pixel_handler(DEVCB_##_devcb);
+
+
+
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -28,23 +50,13 @@ class gg_ext_port_device : public device_t, public device_slot_interface
{
public:
// construction/destruction
- template <typename T>
- gg_ext_port_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt)
- : gg_ext_port_device(mconfig, tag, owner, 0)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
-
- gg_ext_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+ gg_ext_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~gg_ext_port_device();
// static configuration helpers
- auto th_input_handler() { return m_th_pin_handler.bind(); }
+ template <class Object> devcb_base &set_th_input_handler(Object &&cb) { return m_th_pin_handler.set_callback(std::forward<Object>(cb)); }
- auto pixel_handler() { return m_pixel_handler.bind(); }
+ template <class Object> devcb_base &set_pixel_handler(Object &&cb) { return m_pixel_handler.set_callback(std::forward<Object>(cb)); }
// Currently, only the support for SMS Controller Adaptor is emulated,
// for when SMS Compatibility mode is enabled. In that mode, the 10 pins
diff --git a/src/devices/bus/gamegear/smsctrladp.cpp b/src/devices/bus/gamegear/smsctrladp.cpp
index 0b380cba8a0..7a5eee4ba4b 100644
--- a/src/devices/bus/gamegear/smsctrladp.cpp
+++ b/src/devices/bus/gamegear/smsctrladp.cpp
@@ -80,10 +80,9 @@ READ32_MEMBER( sms_ctrl_adaptor_device::pixel_r )
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void sms_ctrl_adaptor_device::device_add_mconfig(machine_config &config)
-{
- SMS_CONTROL_PORT(config, m_subctrl_port, sms_control_port_devices, "joypad");
- m_subctrl_port->th_input_handler().set(FUNC(sms_ctrl_adaptor_device::th_pin_w));
- m_subctrl_port->pixel_handler().set(FUNC(sms_ctrl_adaptor_device::pixel_r));
-}
+MACHINE_CONFIG_START(sms_ctrl_adaptor_device::device_add_mconfig)
+ MCFG_SMS_CONTROL_PORT_ADD("ctrl", sms_control_port_devices, "joypad")
+ MCFG_SMS_CONTROL_PORT_TH_INPUT_HANDLER(WRITELINE(*this, sms_ctrl_adaptor_device, th_pin_w))
+ MCFG_SMS_CONTROL_PORT_PIXEL_HANDLER(READ32(*this, sms_ctrl_adaptor_device, pixel_r))
+MACHINE_CONFIG_END
diff --git a/src/devices/bus/gba/gba_slot.h b/src/devices/bus/gba/gba_slot.h
index b26891c6589..c946fd71c57 100644
--- a/src/devices/bus/gba/gba_slot.h
+++ b/src/devices/bus/gba/gba_slot.h
@@ -84,17 +84,7 @@ class gba_cart_slot_device : public device_t,
{
public:
// construction/destruction
- template <typename T>
- gba_cart_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt)
- : gba_cart_slot_device(mconfig, tag, owner, 0)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
-
- gba_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+ gba_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~gba_cart_slot_device();
// device-level overrides
@@ -153,6 +143,11 @@ DECLARE_DEVICE_TYPE(GBA_CART_SLOT, gba_cart_slot_device)
#define GBASLOT_ROM_REGION_TAG ":cart:rom"
#define GBAHELP_ROM_REGION_TAG ":cart:romhlp"
+#define MCFG_GBA_CARTRIDGE_ADD(_tag,_slot_intf,_def_slot) \
+ MCFG_DEVICE_ADD(_tag, GBA_CART_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
+
+
//------------------------------------------------------------------------
//
diff --git a/src/devices/bus/gba/rom.cpp b/src/devices/bus/gba/rom.cpp
index e1c61ec0f49..1471d43a430 100644
--- a/src/devices/bus/gba/rom.cpp
+++ b/src/devices/bus/gba/rom.cpp
@@ -417,13 +417,13 @@ READ32_MEMBER(gba_rom_flash_device::read_ram)
offset &= m_flash_mask;
if (mem_mask & 0xff)
- rv |= m_flash->read(offset * 4);
+ rv |= m_flash->read(space, offset * 4);
if (mem_mask & 0xff00)
- rv |= m_flash->read((offset * 4) + 1) << 8;
+ rv |= m_flash->read(space, (offset * 4) + 1) << 8;
if (mem_mask & 0xff0000)
- rv |= m_flash->read((offset * 4) + 2) << 16;
+ rv |= m_flash->read(space, (offset * 4) + 2) << 16;
if (mem_mask & 0xff000000)
- rv |= m_flash->read((offset * 4) + 3) << 24;
+ rv |= m_flash->read(space, (offset * 4) + 3) << 24;
return rv;
}
@@ -435,16 +435,16 @@ WRITE32_MEMBER(gba_rom_flash_device::write_ram)
switch (mem_mask)
{
case 0xff:
- m_flash->write(offset * 4, data & 0xff);
+ m_flash->write(space, offset * 4, data & 0xff);
break;
case 0xff00:
- m_flash->write((offset * 4) + 1, (data >> 8) & 0xff);
+ m_flash->write(space, (offset * 4) + 1, (data >> 8) & 0xff);
break;
case 0xff0000:
- m_flash->write((offset * 4) + 2, (data >> 16) & 0xff);
+ m_flash->write(space, (offset * 4) + 2, (data >> 16) & 0xff);
break;
case 0xff000000:
- m_flash->write((offset * 4) + 3, (data >> 24) & 0xff);
+ m_flash->write(space, (offset * 4) + 3, (data >> 24) & 0xff);
break;
default:
fatalerror("Unknown mem_mask for GBA flash write %x\n", mem_mask);
@@ -464,13 +464,13 @@ READ32_MEMBER(gba_rom_flash1m_device::read_ram)
offset &= m_flash_mask;
if (mem_mask & 0xff)
- rv |= m_flash->read(offset * 4);
+ rv |= m_flash->read(space, offset * 4);
if (mem_mask & 0xff00)
- rv |= m_flash->read((offset * 4) + 1) << 8;
+ rv |= m_flash->read(space, (offset * 4) + 1) << 8;
if (mem_mask & 0xff0000)
- rv |= m_flash->read((offset * 4) + 2) << 16;
+ rv |= m_flash->read(space, (offset * 4) + 2) << 16;
if (mem_mask & 0xff000000)
- rv |= m_flash->read((offset * 4) + 3) << 24;
+ rv |= m_flash->read(space, (offset * 4) + 3) << 24;
return rv;
}
@@ -482,16 +482,16 @@ WRITE32_MEMBER(gba_rom_flash1m_device::write_ram)
switch (mem_mask)
{
case 0xff:
- m_flash->write(offset * 4, data & 0xff);
+ m_flash->write(space, offset * 4, data & 0xff);
break;
case 0xff00:
- m_flash->write((offset * 4) + 1, (data >> 8) & 0xff);
+ m_flash->write(space, (offset * 4) + 1, (data >> 8) & 0xff);
break;
case 0xff0000:
- m_flash->write((offset * 4) + 2, (data >> 16) & 0xff);
+ m_flash->write(space, (offset * 4) + 2, (data >> 16) & 0xff);
break;
case 0xff000000:
- m_flash->write((offset * 4) + 3, (data >> 24) & 0xff);
+ m_flash->write(space, (offset * 4) + 3, (data >> 24) & 0xff);
break;
default:
fatalerror("Unknown mem_mask for GBA flash write %x\n", mem_mask);
diff --git a/src/devices/bus/generic/ram.cpp b/src/devices/bus/generic/ram.cpp
index 1c9a63d7306..601db4d0470 100644
--- a/src/devices/bus/generic/ram.cpp
+++ b/src/devices/bus/generic/ram.cpp
@@ -97,7 +97,7 @@ void generic_ram_linear_device::device_start()
mapper specific handlers
-------------------------------------------------*/
-uint8_t generic_ram_plain_device::read_ram(offs_t offset)
+READ8_MEMBER(generic_ram_plain_device::read_ram)
{
if (offset < m_ram.size())
return m_ram[offset];
@@ -105,19 +105,19 @@ uint8_t generic_ram_plain_device::read_ram(offs_t offset)
return 0xff;
}
-void generic_ram_plain_device::write_ram(offs_t offset, uint8_t data)
+WRITE8_MEMBER(generic_ram_plain_device::write_ram)
{
if (offset < m_ram.size())
m_ram[offset] = data;
}
-uint8_t generic_ram_linear_device::read_ram(offs_t offset)
+READ8_MEMBER(generic_ram_linear_device::read_ram)
{
return m_ram[offset % m_ram.size()];
}
-void generic_ram_linear_device::write_ram(offs_t offset, uint8_t data)
+WRITE8_MEMBER(generic_ram_linear_device::write_ram)
{
m_ram[offset % m_ram.size()] = data;
}
diff --git a/src/devices/bus/generic/ram.h b/src/devices/bus/generic/ram.h
index 5cd8c8092b0..aa8323ba8af 100644
--- a/src/devices/bus/generic/ram.h
+++ b/src/devices/bus/generic/ram.h
@@ -14,8 +14,8 @@ class generic_ram_plain_device : public device_t, public device_generic_cart_int
{
public:
// reading and writing
- virtual uint8_t read_ram(offs_t offset) override;
- virtual void write_ram(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_ram) override;
+ virtual DECLARE_WRITE8_MEMBER(write_ram) override;
protected:
// construction/destruction
@@ -35,8 +35,8 @@ class generic_ram_linear_device : public device_t, public device_generic_cart_in
{
public:
// reading and writing
- virtual uint8_t read_ram(offs_t offset) override;
- virtual void write_ram(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_ram) override;
+ virtual DECLARE_WRITE8_MEMBER(write_ram) override;
protected:
// construction/destruction
diff --git a/src/devices/bus/generic/rom.cpp b/src/devices/bus/generic/rom.cpp
index e52854d5b64..3a63b1f90dc 100644
--- a/src/devices/bus/generic/rom.cpp
+++ b/src/devices/bus/generic/rom.cpp
@@ -61,7 +61,7 @@ generic_romram_plain_device::generic_romram_plain_device(const machine_config &m
mapper specific handlers
-------------------------------------------------*/
-uint8_t generic_rom_plain_device::read_rom(offs_t offset)
+READ8_MEMBER(generic_rom_plain_device::read_rom)
{
if (offset < m_rom_size)
return m_rom[offset];
@@ -69,7 +69,7 @@ uint8_t generic_rom_plain_device::read_rom(offs_t offset)
return 0xff;
}
-uint16_t generic_rom_plain_device::read16_rom(offs_t offset, uint16_t mem_mask)
+READ16_MEMBER(generic_rom_plain_device::read16_rom)
{
uint16_t *ROM = (uint16_t *)m_rom;
if (offset < m_rom_size/2)
@@ -78,7 +78,7 @@ uint16_t generic_rom_plain_device::read16_rom(offs_t offset, uint16_t mem_mask)
return 0xffff;
}
-uint32_t generic_rom_plain_device::read32_rom(offs_t offset, uint32_t mem_mask)
+READ32_MEMBER(generic_rom_plain_device::read32_rom)
{
uint32_t *ROM = (uint32_t *)m_rom;
if (offset < m_rom_size/4)
@@ -88,25 +88,25 @@ uint32_t generic_rom_plain_device::read32_rom(offs_t offset, uint32_t mem_mask)
}
-uint8_t generic_rom_linear_device::read_rom(offs_t offset)
+READ8_MEMBER(generic_rom_linear_device::read_rom)
{
return m_rom[offset % m_rom_size];
}
-uint16_t generic_rom_linear_device::read16_rom(offs_t offset, uint16_t mem_mask)
+READ16_MEMBER(generic_rom_linear_device::read16_rom)
{
uint16_t *ROM = (uint16_t *)m_rom;
return ROM[offset % (m_rom_size/2)];
}
-uint32_t generic_rom_linear_device::read32_rom(offs_t offset, uint32_t mem_mask)
+READ32_MEMBER(generic_rom_linear_device::read32_rom)
{
uint32_t *ROM = (uint32_t *)m_rom;
return ROM[offset % (m_rom_size/4)];
}
-uint8_t generic_romram_plain_device::read_ram(offs_t offset)
+READ8_MEMBER(generic_romram_plain_device::read_ram)
{
if (offset < m_ram.size())
return m_ram[offset];
@@ -114,7 +114,7 @@ uint8_t generic_romram_plain_device::read_ram(offs_t offset)
return 0xff;
}
-void generic_romram_plain_device::write_ram(offs_t offset, uint8_t data)
+WRITE8_MEMBER(generic_romram_plain_device::write_ram)
{
if (offset < m_ram.size())
m_ram[offset] = data;
diff --git a/src/devices/bus/generic/rom.h b/src/devices/bus/generic/rom.h
index 6c5df5d4bf4..2fc1011c25b 100644
--- a/src/devices/bus/generic/rom.h
+++ b/src/devices/bus/generic/rom.h
@@ -30,9 +30,9 @@ public:
generic_rom_plain_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
- virtual uint8_t read_rom(offs_t offset) override;
- virtual uint16_t read16_rom(offs_t offset, uint16_t mem_mask) override;
- virtual uint32_t read32_rom(offs_t offset, uint32_t mem_mask) override;
+ virtual DECLARE_READ8_MEMBER(read_rom) override;
+ virtual DECLARE_READ16_MEMBER(read16_rom) override;
+ virtual DECLARE_READ32_MEMBER(read32_rom) override;
protected:
generic_rom_plain_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
@@ -48,8 +48,8 @@ public:
generic_romram_plain_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
- virtual uint8_t read_ram(offs_t offset) override;
- virtual void write_ram(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_ram) override;
+ virtual DECLARE_WRITE8_MEMBER(write_ram) override;
};
@@ -62,9 +62,9 @@ public:
generic_rom_linear_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
- virtual uint8_t read_rom(offs_t offset) override;
- virtual uint16_t read16_rom(offs_t offset, uint16_t mem_mask) override;
- virtual uint32_t read32_rom(offs_t offset, uint32_t mem_mask) override;
+ virtual DECLARE_READ8_MEMBER(read_rom) override;
+ virtual DECLARE_READ16_MEMBER(read16_rom) override;
+ virtual DECLARE_READ32_MEMBER(read32_rom) override;
};
diff --git a/src/devices/bus/generic/slot.cpp b/src/devices/bus/generic/slot.cpp
index 557e1d8dcef..8e7e3a4cdab 100644
--- a/src/devices/bus/generic/slot.cpp
+++ b/src/devices/bus/generic/slot.cpp
@@ -216,10 +216,10 @@ void generic_slot_device::common_load_rom(uint8_t *ROM, uint32_t len, const char
read_rom
-------------------------------------------------*/
-uint8_t generic_slot_device::read_rom(offs_t offset)
+READ8_MEMBER(generic_slot_device::read_rom)
{
if (m_cart)
- return m_cart->read_rom(offset);
+ return m_cart->read_rom(space, offset);
else
return 0xff;
}
@@ -228,10 +228,10 @@ uint8_t generic_slot_device::read_rom(offs_t offset)
read16_rom
-------------------------------------------------*/
-uint16_t generic_slot_device::read16_rom(offs_t offset, uint16_t mem_mask)
+READ16_MEMBER(generic_slot_device::read16_rom)
{
if (m_cart)
- return m_cart->read16_rom(offset, mem_mask);
+ return m_cart->read16_rom(space, offset, mem_mask);
else
return 0xffff;
}
@@ -240,10 +240,10 @@ uint16_t generic_slot_device::read16_rom(offs_t offset, uint16_t mem_mask)
read32_rom
-------------------------------------------------*/
-uint32_t generic_slot_device::read32_rom(offs_t offset, uint32_t mem_mask)
+READ32_MEMBER(generic_slot_device::read32_rom)
{
if (m_cart)
- return m_cart->read32_rom(offset, mem_mask);
+ return m_cart->read32_rom(space, offset, mem_mask);
else
return 0xffffffff;
}
@@ -252,10 +252,10 @@ uint32_t generic_slot_device::read32_rom(offs_t offset, uint32_t mem_mask)
read_ram
-------------------------------------------------*/
-uint8_t generic_slot_device::read_ram(offs_t offset)
+READ8_MEMBER(generic_slot_device::read_ram)
{
if (m_cart)
- return m_cart->read_ram(offset);
+ return m_cart->read_ram(space, offset);
else
return 0xff;
}
@@ -264,8 +264,8 @@ uint8_t generic_slot_device::read_ram(offs_t offset)
write_ram
-------------------------------------------------*/
-void generic_slot_device::write_ram(offs_t offset, uint8_t data)
+WRITE8_MEMBER(generic_slot_device::write_ram)
{
if (m_cart)
- m_cart->write_ram(offset, data);
+ m_cart->write_ram(space, offset, data);
}
diff --git a/src/devices/bus/generic/slot.h b/src/devices/bus/generic/slot.h
index 3fac098afb7..d0c0d84a053 100644
--- a/src/devices/bus/generic/slot.h
+++ b/src/devices/bus/generic/slot.h
@@ -22,12 +22,12 @@ public:
virtual ~device_generic_cart_interface();
// reading and writing
- virtual uint8_t read_rom(offs_t offset) { return 0xff; }
- virtual uint16_t read16_rom(offs_t offset, uint16_t mem_mask) { return 0xffff; }
- virtual uint32_t read32_rom(offs_t offset, uint32_t mem_mask) { return 0xffffffff; }
+ virtual DECLARE_READ8_MEMBER(read_rom) { return 0xff; }
+ virtual DECLARE_READ16_MEMBER(read16_rom) { return 0xffff; }
+ virtual DECLARE_READ32_MEMBER(read32_rom) { return 0xffffffff; }
- virtual uint8_t read_ram(offs_t offset) { return 0xff; }
- virtual void write_ram(offs_t offset, uint8_t data) {}
+ virtual DECLARE_READ8_MEMBER(read_ram) { return 0xff; }
+ virtual DECLARE_WRITE8_MEMBER(write_ram) {};
virtual void rom_alloc(size_t size, int width, endianness_t end, const char *tag);
virtual void ram_alloc(uint32_t size);
@@ -138,12 +138,12 @@ public:
virtual std::string get_default_card_software(get_default_card_software_hook &hook) const override;
// reading and writing
- virtual uint8_t read_rom(offs_t offset);
- virtual uint16_t read16_rom(offs_t offset, uint16_t mem_mask = 0xffff);
- virtual uint32_t read32_rom(offs_t offset, uint32_t mem_mask = 0xffffffff);
+ virtual DECLARE_READ8_MEMBER(read_rom);
+ virtual DECLARE_READ16_MEMBER(read16_rom);
+ virtual DECLARE_READ32_MEMBER(read32_rom);
- virtual uint8_t read_ram(offs_t offset);
- virtual void write_ram(offs_t offset, uint8_t data);
+ virtual DECLARE_READ8_MEMBER(read_ram);
+ virtual DECLARE_WRITE8_MEMBER(write_ram);
virtual void rom_alloc(size_t size, int width, endianness_t end) { if (m_cart) m_cart->rom_alloc(size, width, end, tag()); }
virtual void ram_alloc(uint32_t size) { if (m_cart) m_cart->ram_alloc(size); }
diff --git a/src/devices/bus/hexbus/hx5102.cpp b/src/devices/bus/hexbus/hx5102.cpp
index 0cfd70c7dac..bf0f9d541cb 100644
--- a/src/devices/bus/hexbus/hx5102.cpp
+++ b/src/devices/bus/hexbus/hx5102.cpp
@@ -121,7 +121,8 @@ void hx5102_device::memmap(address_map &map)
*/
void hx5102_device::crumap(address_map &map)
{
- map(0x17e0, 0x17ff).rw(FUNC(hx5102_device::cruread), FUNC(hx5102_device::cruwrite));
+ map(0x17e0>>4, 0x17fe>>4).r(FUNC(hx5102_device::cruread));
+ map(0x17e0>>1, 0x17fe>>1).w(FUNC(hx5102_device::cruwrite));
}
hx5102_device::hx5102_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock):
@@ -373,12 +374,12 @@ READ8_MEMBER(hx5102_device::fdc_read)
{
case 0:
// Main status register
- val = m_floppy_ctrl->msr_r();
+ val = m_floppy_ctrl->read_msr();
LOGMASKED(LOG_STATUS, "i8272A.msr -> %02x\n", val);
break;
case 4:
// FIFO read
- val = m_floppy_ctrl->fifo_r();
+ val = m_floppy_ctrl->read_fifo();
LOGMASKED(LOG_FIFO, "i8272A.fifo -> %02x\n", val);
break;
}
@@ -397,7 +398,7 @@ WRITE8_MEMBER(hx5102_device::fdc_write)
case 0x08:
// Command register (FIFO write)
LOGMASKED(LOG_STATUS, "i8272A.fifo <- %02x\n", data);
- m_floppy_ctrl->fifo_w(data);
+ m_floppy_ctrl->write_fifo(data);
break;
case 0x0c:
// DMA lock
@@ -474,7 +475,7 @@ READ8_MEMBER(hx5102_device::cruread)
crubits |= ((ioport("HXDIP")->read())<<4);
- return BIT(crubits, offset);
+ return crubits;
}
/*
diff --git a/src/devices/bus/hp80_io/hp80_io.h b/src/devices/bus/hp80_io/hp80_io.h
index 886e7ce414a..11025d30d03 100644
--- a/src/devices/bus/hp80_io/hp80_io.h
+++ b/src/devices/bus/hp80_io/hp80_io.h
@@ -13,6 +13,16 @@
#pragma once
+#define MCFG_HP80_IO_SLOT_ADD(_tag , _idx) \
+ MCFG_DEVICE_ADD(_tag, HP80_IO_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(hp80_io_slot_devices, nullptr, false) \
+ downcast<hp80_io_slot_device &>(*device).set_slot_no(_idx);
+
+#define MCFG_HP80_IO_IRL_CB(_devcb) \
+ downcast<hp80_io_slot_device &>(*device).set_irl_cb_func(DEVCB_##_devcb);
+
+#define MCFG_HP80_IO_HALT_CB(_devcb) \
+ downcast<hp80_io_slot_device &>(*device).set_halt_cb_func(DEVCB_##_devcb);
#define HP80_IO_FIRST_SC 3 // Lowest SC used by I/O cards
@@ -28,22 +38,11 @@
PORT_CONFSETTING(6 , "9")\
PORT_CONFSETTING(7 , "10")
-void hp80_io_slot_devices(device_slot_interface &device);
-
class hp80_io_slot_device : public device_t,
public device_slot_interface
{
public:
// construction/destruction
- hp80_io_slot_device(machine_config const &mconfig, char const *tag, device_t *owner)
- : hp80_io_slot_device(mconfig, tag, owner, (uint32_t)0)
- {
- option_reset();
- hp80_io_slot_devices(*this);
- set_default_option(nullptr);
- set_fixed(false);
- }
-
hp80_io_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~hp80_io_slot_device();
@@ -54,8 +53,8 @@ public:
virtual void device_start() override;
// Callback setups
- auto irl_cb() { return m_irl_cb_func.bind(); }
- auto halt_cb() { return m_halt_cb_func.bind(); }
+ template <class Object> devcb_base &set_irl_cb_func(Object &&cb) { return m_irl_cb_func.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_halt_cb_func(Object &&cb) { return m_halt_cb_func.set_callback(std::forward<Object>(cb)); }
// SC getter
uint8_t get_sc() const;
@@ -103,4 +102,6 @@ protected:
// device type definition
DECLARE_DEVICE_TYPE(HP80_IO_SLOT, hp80_io_slot_device)
+void hp80_io_slot_devices(device_slot_interface &device);
+
#endif // MAME_BUS_HP80_IO_HP80_IO_H
diff --git a/src/devices/bus/hp80_optroms/hp80_optrom.h b/src/devices/bus/hp80_optroms/hp80_optrom.h
index 33bd800027c..cb8dbd4903b 100644
--- a/src/devices/bus/hp80_optroms/hp80_optrom.h
+++ b/src/devices/bus/hp80_optroms/hp80_optrom.h
@@ -18,8 +18,6 @@
// Size of optional ROMs (8k)
static constexpr offs_t HP80_OPTROM_SIZE = 0x2000;
-void hp80_optrom_slot_devices(device_slot_interface &device);
-
class hp80_optrom_cart_device : public device_t,
public device_slot_card_interface
{
@@ -40,15 +38,6 @@ class hp80_optrom_slot_device : public device_t,
{
public:
// construction/destruction
- hp80_optrom_slot_device(machine_config const &mconfig, char const *tag, device_t *owner)
- : hp80_optrom_slot_device(mconfig, tag, owner, (uint32_t)0)
- {
- option_reset();
- hp80_optrom_slot_devices(*this);
- set_default_option(nullptr);
- set_fixed(false);
- }
-
hp80_optrom_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~hp80_optrom_slot_device();
@@ -83,4 +72,6 @@ protected:
DECLARE_DEVICE_TYPE(HP80_OPTROM_SLOT, hp80_optrom_slot_device)
DECLARE_DEVICE_TYPE(HP80_OPTROM_CART, hp80_optrom_cart_device)
+void hp80_optrom_slot_devices(device_slot_interface &device);
+
#endif // MAME_BUS_HP80_OPTROMS_HP80_OPTROM_H
diff --git a/src/devices/bus/hp9845_io/98032.cpp b/src/devices/bus/hp9845_io/98032.cpp
index fc55a786fe2..c4838331b87 100644
--- a/src/devices/bus/hp9845_io/98032.cpp
+++ b/src/devices/bus/hp9845_io/98032.cpp
@@ -13,7 +13,6 @@
#include "emu.h"
#include "98032.h"
-#include "hp9885.h"
// Debugging
#define VERBOSE 0
@@ -56,13 +55,12 @@ hp98032_io_card_device::~hp98032_io_card_device()
{
}
-void hp98032_io_card_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(hp98032_io_card_device::device_add_mconfig)
HP98032_GPIO_SLOT(config , m_gpio , 0);
m_gpio->pflg_cb().set(FUNC(hp98032_io_card_device::pflg_w));
m_gpio->psts_cb().set(FUNC(hp98032_io_card_device::psts_w));
m_gpio->eir_cb().set(FUNC(hp98032_io_card_device::eir_w));
-}
+MACHINE_CONFIG_END
static INPUT_PORTS_START(hp98032_port)
MCFG_HP9845_IO_SC(2)
@@ -355,7 +353,6 @@ hp98032_gpio_slot_device::hp98032_gpio_slot_device(const machine_config &mconfig
{
option_reset();
option_add("loopback" , HP98032_GPIO_LOOPBACK);
- option_add("hp9885" , HP9885);
set_default_option(nullptr);
set_fixed(false);
}
diff --git a/src/devices/bus/hp9845_io/98034.cpp b/src/devices/bus/hp9845_io/98034.cpp
index ab2985db6e2..b82935a9762 100644
--- a/src/devices/bus/hp9845_io/98034.cpp
+++ b/src/devices/bus/hp9845_io/98034.cpp
@@ -363,10 +363,9 @@ const tiny_rom_entry *hp98034_io_card_device::device_rom_region() const
return ROM_NAME(hp98034);
}
-void hp98034_io_card_device::device_add_mconfig(machine_config &config)
-{
- // Clock for NP is generated by a RC oscillator. Manual says its typical frequency
- // is around 2 MHz.
+MACHINE_CONFIG_START(hp98034_io_card_device::device_add_mconfig)
+// Clock for NP is generated by a RC oscillator. Manual says its typical frequency
+// is around 2 MHz.
HP_NANOPROCESSOR(config, m_cpu, 2000000);
m_cpu->set_addrmap(AS_PROGRAM, &hp98034_io_card_device::np_program_map);
m_cpu->set_addrmap(AS_IO, &hp98034_io_card_device::np_io_map);
@@ -374,12 +373,12 @@ void hp98034_io_card_device::device_add_mconfig(machine_config &config)
m_cpu->read_dc().set(FUNC(hp98034_io_card_device::dc_r));
m_cpu->set_irq_acknowledge_callback(FUNC(hp98034_io_card_device::irq_callback));
- IEEE488_SLOT(config , "ieee_dev" , 0 , hp_ieee488_devices , nullptr);
- IEEE488_SLOT(config , "ieee_rem" , 0 , remote488_devices , nullptr);
- IEEE488(config, m_ieee488);
- m_ieee488->ifc_callback().set(FUNC(hp98034_io_card_device::ieee488_ctrl_w));
- m_ieee488->atn_callback().set(FUNC(hp98034_io_card_device::ieee488_ctrl_w));
-}
+ MCFG_IEEE488_SLOT_ADD("ieee_dev" , 0 , hp_ieee488_devices , nullptr)
+ MCFG_IEEE488_SLOT_ADD("ieee_rem" , 0 , remote488_devices , nullptr)
+ MCFG_IEEE488_BUS_ADD()
+ MCFG_IEEE488_IFC_CALLBACK(WRITELINE(*this, hp98034_io_card_device , ieee488_ctrl_w))
+ MCFG_IEEE488_ATN_CALLBACK(WRITELINE(*this, hp98034_io_card_device , ieee488_ctrl_w))
+MACHINE_CONFIG_END
// device type definition
DEFINE_DEVICE_TYPE(HP98034_IO_CARD, hp98034_io_card_device, "hp98034", "HP98034 card")
diff --git a/src/devices/bus/hp9845_io/hp9885.cpp b/src/devices/bus/hp9845_io/hp9885.cpp
deleted file mode 100644
index e4a2fc9f33c..00000000000
--- a/src/devices/bus/hp9845_io/hp9885.cpp
+++ /dev/null
@@ -1,974 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders: F. Ulivi
-/*********************************************************************
-
- hp9885.cpp
-
- HP9885M 8" floppy drive
- =======================
-
- This driver implements HLE of HP9885 floppy drive.
- The HP9885M is a single-disk 8" floppy drive. It connects to
- main system through a HP98032 GPIO module. The controller in a
- HP9885M can drive 3 more external HP9885S drives. The "M" or "S"
- in the name stand for master and slave, respectively.
- The enclosure of HP9885M contains the floppy drive, the controller
- electronics and the power supply whereas the HP9885S only has the
- drive and the power supply. A master unit interfaces to slave units
- through a standard daisy-chained Shugart bus.
- The controller is based on a HP Nanoprocessor with a 2 kB FW ROM.
- Unfortunately no dumps are available of the ROM, AFAIK, so the HLE
- is needed.
- The HP9885 supports a single disk format having these characteristics:
- - Single side
- - HP MMFM modulation
- - 30 256-byte sectors per track
- - 77 tracks (only 67 are actually used)
- - 360 RPM
- - A total capacity of 514560 bytes per disk.
-
- Summary of the command words I identified
- =========================================
-
- *READ*
-
- +-----------------------------------------------+
- |15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0|
- +-----+-----+-----------------------------------+
- | 0 X|Unit#| Sector count |
- +-----+-----+-----------------------------------+
-
- Bit 14 selects tighter margin for data reading (not emulated here)
-
- *WRITE*
-
- +-----------------------------------------------+
- |15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0|
- +-----+-----+-----------------------------------+
- | 1 0|Unit#| Sector count |
- +-----+-----+-----------------------------------+
-
- *SEEK*
-
- +-----------------------------------------------+
- |15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0|
- +-----+-----+--------------------+--------------+
- | 1 1|Unit#| Track # [0..76] |Sector#[0..29]|
- +-----+-----+--------------------+--------------+
-
- *FORMAT TRACK* (not implemented yet)
-
- +-----------------------------------------------+
- |15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0|
- +-----+-----+--------------------+--------------+
- | 1 1|Unit#| Track # [0..76] | 0x1e |
- +-----+-----+--------------------+--------------+
-
- *STEP IN*
-
- +-----------------------------------------------+
- |15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0|
- +-----+-----+--------------------+--------------+
- | 1 1|Unit#| 0x7c | 0x1f |
- +-----+-----+--------------------+--------------+
-
- *ERASE TRACK* (not implemented yet)
-
- +-----------------------------------------------+
- |15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0|
- +-----+-----+--------------------+--------------+
- | 1 1|Unit#| 0x7d | 0x1f |
- +-----+-----+--------------------+--------------+
-
- *READ STATUS*
-
- +-----------------------------------------------+
- |15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0|
- +-----+-----+--------------------+--------------+
- | 1 1|Unit#| 0x7f | 0x1f |
- +-----+-----+--------------------+--------------+
-
- This is the structure of the status word:
-
- +-----------------------------------------------+
- |15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0|
- +-----------------------+--+--+--+--+--+--+-----+
- | Error code (0=OK) |--|XC|SC|NR|WP|DC|Unit#|
- +-----------------------+--+--+--+--+--+--+-----+
-
- DC: Disk changed
- WP: Write protection
- NR: Not ready
- SC: Seek completed
- XC: Transfer completed
-
- Usage on HP9825
- ===============
-
- -slot0 98032_gpio -slot0:98032_gpio:gpio hp9885 -flop <floppy image>
-
- Usage on HP9845
- ===============
-
- -slot0 98032_gpio -slot0:98032_gpio:gpio hp9885 -rom1 massd -flop <floppy image>
-
- Note on floppy images
- =====================
-
- Images can be in two formats: MFI & HPI.
- A pre-formatted image must be used as formatting is not supported.
- It's not possible to format images for two reasons: the format
- command is not implemented yet and no dump of the disk system tape
- cartridge (HP part no. 09885-90035) is available.
- The latter is needed during format operation to create the so-called
- bootstraps on disk, which in turn are needed by 9825 systems.
- A pre-formatted image (9825_empty.hpi) is available here:
- http://www.hpmuseum.net/software/9825_discs.zip
-
- TODO
- ====
-
- + Implement missing commands
- + PRESET
-
- Acknowledgments
- ===============
-
- Thanks to Dyke Shaffer for publishing a lot of HP internal docs
- and source files regarding the HP9885.
-
- Fun fact: data I/O between disk and 98032 module is not buffered
- as there is no RAM in the controller. DMA must be used to keep
- data flow at disk speed and avoid underruns. The nominal disk
- data rate is one word every 32 µs.
-
-*********************************************************************/
-
-#include "emu.h"
-#include "hp9885.h"
-#include "formats/hpi_dsk.h"
-
-// Debugging
-#include "logmacro.h"
-#define LOG_TIMER_MASK (LOG_GENERAL << 1)
-#define LOG_TIMER(...) LOGMASKED(LOG_TIMER_MASK, __VA_ARGS__)
-#define LOG_HS_MASK (LOG_TIMER_MASK << 1)
-#define LOG_HS(...) LOGMASKED(LOG_HS_MASK, __VA_ARGS__)
-#define LOG_HEAD_MASK (LOG_HS_MASK << 1)
-#define LOG_HEAD(...) LOGMASKED(LOG_HEAD_MASK, __VA_ARGS__)
-#define LOG_DISK_MASK (LOG_HEAD_MASK << 1)
-#define LOG_DISK(...) LOGMASKED(LOG_DISK_MASK, __VA_ARGS__)
-
-#undef VERBOSE
-//#define VERBOSE (LOG_GENERAL | LOG_HS_MASK | LOG_HEAD_MASK)
-#define VERBOSE 0
-
-// Bit manipulation
-namespace {
- template<typename T> constexpr T BIT_MASK(unsigned n)
- {
- return (T)1U << n;
- }
-
- template<typename T> void BIT_CLR(T& w , unsigned n)
- {
- w &= ~BIT_MASK<T>(n);
- }
-
- template<typename T> void BIT_SET(T& w , unsigned n)
- {
- w |= BIT_MASK<T>(n);
- }
-}
-
-// device type definition
-DEFINE_DEVICE_TYPE(HP9885, hp9885_device, "hp9885" , "HP9885 floppy drive")
-
-// Timers
-enum {
- FSM_TMR_ID,
- HEAD_TMR_ID,
- BIT_BYTE_TMR_ID
-};
-
-// Constants
-constexpr unsigned MAX_TRACK = 76; // Maximum valid track
-constexpr unsigned MAX_SECTOR = 29; // Maximum valid sector
-constexpr unsigned UNKNOWN_TRACK= 0xff; // Current track unknown
-constexpr unsigned STEP_MS = 8; // Step time (ms)
-constexpr unsigned SETTLING_MS = 8; // Settling time (ms)
-constexpr unsigned HEAD_TO_MS = 415; // Head unload timeout (ms)
-constexpr unsigned HD_SETTLE_MS = 50; // Head settling time (ms)
-constexpr uint16_t PASSWORD = 0xae87; // "Password" to enable commands
-constexpr unsigned HALF_CELL_US = 1; // Half bit cell duration (µs)
-constexpr unsigned STATUS_DELAY_US = 100; // Status delay (µs)
-constexpr unsigned MISSED_ID_REVS = 2; // Disk rotations to stop ID search
-
-// Bits in status word
-constexpr unsigned STS_DISK_CHANGED = 2; // Disk changed
-constexpr unsigned STS_WRITE_PROTECT= 3; // Write protection
-constexpr unsigned STS_NOT_RDY = 4; // Drive not ready
-constexpr unsigned STS_SEEK_COMPLETE= 5; // Seek completed
-constexpr unsigned STS_XFER_COMPLETE= 6; // Data transfer completed
-
-// Error codes
-enum : unsigned {
- ERR_NONE = 0,
- ERR_NOT_POWERED = 1,
- ERR_DOOR_OPEN = 2,
- ERR_NO_DISK = 3,
- ERR_WR_DISABLED = 4,
- ERR_ID_ERROR = 5,
- ERR_TRACK_ERROR = 6,
- ERR_CRC_ERROR = 7,
- ERR_HW_FAILURE = 8
-};
-
-hp9885_device::hp9885_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : hp98032_gpio_card_device(mconfig , HP9885 , tag , owner , clock)
- , m_drive_connector{*this , "floppy"}
-{
-}
-
-hp9885_device::~hp9885_device()
-{
-}
-
-uint16_t hp9885_device::get_jumpers() const
-{
- return hp98032_gpio_slot_device::JUMPER_2 |
- hp98032_gpio_slot_device::JUMPER_7 |
- hp98032_gpio_slot_device::JUMPER_8 |
- hp98032_gpio_slot_device::JUMPER_B |
- hp98032_gpio_slot_device::JUMPER_E |
- hp98032_gpio_slot_device::JUMPER_F;
-}
-
-uint16_t hp9885_device::input_r() const
-{
- uint16_t tmp = m_input;
- if (m_obf) {
- tmp |= m_output;
- LOG_HS("DATA OUT %04x\n" , tmp);
- }
- return tmp;
-}
-
-uint8_t hp9885_device::ext_status_r() const
-{
- return 0;
-}
-
-void hp9885_device::output_w(uint16_t data)
-{
- m_input = data;
-}
-
-void hp9885_device::ext_control_w(uint8_t data)
-{
- LOG_HS("EXT CTRL %u\n" , data);
- if (BIT(data , 0) &&
- !BIT(m_status , STS_XFER_COMPLETE) &&
- (m_op == OP_READ || m_op == OP_WRITE)) {
- // CTL0 terminates current data transfer
- LOG("xfer terminated\n");
- BIT_SET(m_status , STS_XFER_COMPLETE);
- // Prepare to output status
- set_output();
- }
-}
-
-WRITE_LINE_MEMBER(hp9885_device::pctl_w)
-{
- m_pctl = state;
- if (m_pctl) {
- if (!m_outputting) {
- set_ibf(true);
- }
- } else {
- LOG_HS("DATA IN %04x\n" , m_input);
- new_word();
- }
- update_busy();
-}
-
-WRITE_LINE_MEMBER(hp9885_device::io_w)
-{
- LOG_HS("I/O = %d\n" , state);
-}
-
-WRITE_LINE_MEMBER(hp9885_device::preset_w)
-{
- LOG("PRESET = %d\n" , state);
-}
-
-static const floppy_format_type hp9885_floppy_formats[] = {
- FLOPPY_MFI_FORMAT,
- FLOPPY_HPI_FORMAT,
- nullptr
-};
-
-void hp9885_device::device_add_mconfig(machine_config &config)
-{
- FLOPPY_CONNECTOR(config , "floppy" , "8ssdd" , FLOPPY_8_SSDD , true , hp9885_floppy_formats).set_fixed(true);
-}
-
-void hp9885_device::device_start()
-{
- save_item(NAME(m_input));
- save_item(NAME(m_output));
- save_item(NAME(m_status));
- save_item(NAME(m_fsm_state));
- save_item(NAME(m_head_state));
- save_item(NAME(m_op));
- save_item(NAME(m_pctl));
- save_item(NAME(m_ibf));
- save_item(NAME(m_obf));
- save_item(NAME(m_outputting));
- save_item(NAME(m_had_transition));
- save_item(NAME(m_dskchg));
- save_item(NAME(m_track));
- save_item(NAME(m_seek_track));
- save_item(NAME(m_seek_sector));
- save_item(NAME(m_sector_cnt));
- save_item(NAME(m_word_cnt));
- save_item(NAME(m_rev_cnt));
- save_item(NAME(m_am_detector));
- save_item(NAME(m_crc));
-
- m_fsm_timer = timer_alloc(FSM_TMR_ID);
- m_head_timer = timer_alloc(HEAD_TMR_ID);
- m_bit_byte_timer = timer_alloc(BIT_BYTE_TMR_ID);
-
- m_drive = m_drive_connector->get_device();
-
- m_drive->setup_ready_cb(floppy_image_device::ready_cb(&hp9885_device::floppy_ready_cb , this));
- m_drive->setup_index_pulse_cb(floppy_image_device::index_pulse_cb(&hp9885_device::floppy_index_cb , this));
-}
-
-void hp9885_device::device_reset()
-{
- eir_w(0);
- psts_w(1);
- m_dskchg = true;
- m_obf = false;
- recalibrate();
- m_seek_track = 0;
- m_seek_sector = 0;
- m_fsm_state = FSM_RECALIBRATING;
- set_state(FSM_IDLE);
-}
-
-void hp9885_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
-{
- LOG_TIMER("Tmr %.06f ID %d FSM %d HD %d\n" , machine().time().as_double() , id , m_fsm_state , m_head_state);
-
- switch (id) {
- case FSM_TMR_ID:
- do_FSM();
- break;
-
- case HEAD_TMR_ID:
- if (m_head_state == HEAD_SETTLING) {
- LOG_HEAD("%.06f Head loaded\n" , machine().time().as_double());
- m_head_state = HEAD_LOADED;
- // Trigger actions to be done on head loading
- do_FSM();
- m_head_timer->adjust(attotime::from_msec(HEAD_TO_MS - HD_SETTLE_MS));
- } else {
- LOG_HEAD("%.06f Head unloaded\n" , machine().time().as_double());
- m_head_state = HEAD_UNLOADED;
- }
- break;
-
- case BIT_BYTE_TMR_ID:
- {
- switch (m_fsm_state) {
- case FSM_WAIT_ID_AM:
- case FSM_WAIT_DATA_AM:
- {
- attotime edge;
- attotime tm;
- edge = m_drive->get_next_transition(m_pll.ctime);
- bool half_bit = m_pll.feed_read_data(tm , edge , attotime::never);
- m_am_detector <<= 1;
- m_am_detector |= half_bit;
- if (m_am_detector == 0x55552a54) {
- // ID AM
- // CDCDCDCDCDCDCDCD
- // 0 0 0 0 1 1 1 0
- // 0 1 1 1 0 0 0 0
- LOG_DISK("Got ID AM\n");
- preset_crc();
- m_word_cnt = 2;
- set_state(FSM_RD_ID);
- } else if (m_am_detector == 0x55552a44) {
- // DATA AM
- // CDCDCDCDCDCDCDCD
- // 0 0 0 0 1 0 1 0
- // 0 1 1 1 0 0 0 0
- LOG_DISK("Got Data AM\n");
- if (m_fsm_state == FSM_WAIT_DATA_AM) {
- m_rev_cnt = 0;
- if (BIT(m_status , STS_XFER_COMPLETE)) {
- output_status();
- return;
- } else {
- preset_crc();
- m_word_cnt = 129;
- if (m_op == OP_READ) {
- set_state(FSM_RD_DATA);
- } else {
- set_state(FSM_WR_DATA);
- m_pll.start_writing(m_pll.ctime);
- m_had_transition = false;
- wr_word(m_input);
- set_ibf(false);
- }
- }
- }
- }
- }
- break;
-
- case FSM_RD_ID:
- {
- // This is needed when state is switched to one of the AM waiting states
- m_am_detector = 0;
- auto word = rd_word();
- m_word_cnt--;
- LOG_DISK("W %04x C %u\n" , word , m_word_cnt);
- if (m_word_cnt && word != ((m_seek_sector << 8) | m_track)) {
- set_state(FSM_WAIT_ID_AM);
- } else if (m_word_cnt == 0) {
- if (m_crc) {
- LOG_DISK("Wrong CRC in ID\n");
- set_state(FSM_WAIT_ID_AM);
- } else {
- LOG_DISK("Sector found\n");
- set_state(FSM_WAIT_DATA_AM);
- }
- }
- }
- break;
-
- case FSM_RD_DATA:
- {
- auto word = rd_word();
- m_word_cnt--;
- LOG_DISK("W %04x C %u\n" , word , m_word_cnt);
- if (m_word_cnt >= 1) {
- if (!BIT(m_status , STS_XFER_COMPLETE)) {
- m_output = word;
- m_obf = true;
- update_busy();
- }
- } else if (m_word_cnt == 0) {
- if (m_crc) {
- LOG_DISK("Wrong CRC in data\n");
- }
- // Move to next sector
- adv_sector();
- if (BIT(m_status , STS_XFER_COMPLETE) || m_sector_cnt == 0) {
- BIT_SET(m_status , STS_XFER_COMPLETE);
- output_status();
- } else {
- set_state(FSM_POSITIONING);
- do_FSM();
- }
- return;
- }
- }
- break;
-
- case FSM_WR_DATA:
- {
- m_word_cnt--;
- if (m_word_cnt > 1) {
- if (BIT(m_status , STS_XFER_COMPLETE)) {
- wr_word(0);
- } else {
- wr_word(m_input);
- if (m_word_cnt > 2) {
- set_ibf(false);
- }
- }
- } else if (m_word_cnt == 1) {
- wr_word(m_crc);
- } else {
- m_pll.stop_writing(m_drive , m_pll.ctime);
- // Move to next sector
- adv_sector();
- if (BIT(m_status , STS_XFER_COMPLETE) || m_sector_cnt == 0) {
- BIT_SET(m_status , STS_XFER_COMPLETE);
- output_status();
- } else {
- set_ibf(false);
- set_state(FSM_POSITIONING);
- do_FSM();
- }
- return;
- }
- }
- break;
-
- default:
- LOG("Invalid FSM state %d\n" , m_fsm_state);
- set_state(FSM_IDLE);
- return;
- }
- timer.adjust(m_pll.ctime - machine().time());
- }
- break;
- }
-}
-
-void hp9885_device::floppy_ready_cb(floppy_image_device *floppy , int state)
-{
- LOG("ready %d\n" , state);
- if (state) {
- // drive not ready
- m_dskchg = true;
- }
-}
-
-void hp9885_device::floppy_index_cb(floppy_image_device *floppy , int state)
-{
- if (state && m_rev_cnt && --m_rev_cnt == 0) {
- // Sector not found
- LOG("Sector not found\n");
- stop_rdwr();
- set_error(ERR_ID_ERROR);
- output_status(true);
- }
-}
-
-void hp9885_device::set_state(int new_state)
-{
- if (m_fsm_state != new_state) {
- LOG("%.06f FSM %d->%d\n" , machine().time().as_double() , m_fsm_state , new_state);
- m_fsm_state = new_state;
- if (m_fsm_state == FSM_IDLE) {
- m_op = OP_NONE;
- m_outputting = false;
- set_ibf(false);
- m_fsm_timer->reset();
- stop_rdwr();
- m_rev_cnt = 0;
- }
- }
-}
-
-void hp9885_device::init_status(unsigned unit_no)
-{
- m_status = unit_no & 3;
- if (unit_no == 0) {
- if (m_drive->ready_r()) {
- BIT_SET(m_status , STS_NOT_RDY);
- }
- if (m_dskchg) {
- BIT_SET(m_status , STS_DISK_CHANGED);
- }
- if (m_drive->wpt_r()) {
- BIT_SET(m_status , STS_WRITE_PROTECT);
- }
- } else {
- // Units 1,2,3 are not present
- BIT_SET(m_status , STS_NOT_RDY);
- }
-}
-
-void hp9885_device::encode_error(bool writing)
-{
- if (m_status & 3) {
- set_error(ERR_NOT_POWERED);
- } else if (writing && BIT(m_status , STS_WRITE_PROTECT)) {
- set_error(ERR_WR_DISABLED);
- } else if (BIT(m_status , STS_NOT_RDY)) {
- set_error(ERR_NO_DISK);
- }
-}
-
-void hp9885_device::set_error(unsigned error_code)
-{
- m_status = (m_status & 0xff) | (error_code << 8);
- if (error_code != ERR_NONE) {
- LOG_HS("EIR 1\n");
- eir_w(1);
- psts_w(0);
- } else {
- LOG_HS("EIR 0\n");
- eir_w(0);
- psts_w(1);
- }
-}
-
-void hp9885_device::new_word()
-{
- unsigned unit_no = (m_input >> 12) & 3;
-
- switch (m_fsm_state) {
- case FSM_IDLE:
- if (m_input == PASSWORD) {
- LOG("Got PW\n");
- set_state(FSM_GOT_PW);
- } else {
- LOG("Wrong sequence\n");
- // TODO:
- // It probably does nothing IRL
- }
- set_ibf(false);
- break;
-
- case FSM_GOT_PW:
- // Decode new command
- switch (m_input & 0xc000) {
- case 0x0000:
- case 0x4000:
- // Read
- init_status(unit_no);
- if (!BIT(m_status , STS_NOT_RDY)) {
- m_sector_cnt = m_input & 0x0fff;
- LOG("Read %u sectors @%u:%u\n" , m_sector_cnt , m_seek_track , m_seek_sector);
- m_op = OP_READ;
- set_state(FSM_POSITIONING);
- if (load_head()) {
- m_fsm_timer->adjust(attotime::zero);
- }
- set_output();
- } else {
- encode_error(false);
- output_status();
- }
- break;
-
- case 0x8000:
- // Write
- init_status(unit_no);
- if (!BIT(m_status , STS_NOT_RDY) && !BIT(m_status , STS_WRITE_PROTECT)) {
- m_sector_cnt = m_input & 0x0fff;
- LOG("Write %u sectors @%u:%u\n" , m_sector_cnt , m_seek_track , m_seek_sector);
- m_op = OP_WRITE;
- set_state(FSM_POSITIONING);
- if (load_head()) {
- m_fsm_timer->adjust(attotime::zero);
- }
- set_ibf(false);
- } else {
- encode_error(true);
- output_status(true);
- }
- break;
-
- case 0xc000:
- {
- // Seek & other commands
- uint8_t track_no = (m_input >> 5) & 0x7f;
- uint8_t sect_no = m_input & 0x1f;
- if (sect_no == 0x1e) {
- // Format
- LOG("Format\n");
- // TODO:
- } else if (sect_no == 0x1f) {
- switch (track_no) {
- case 0x7c:
- // Step in
- init_status(unit_no);
- if (!BIT(m_status , STS_NOT_RDY)) {
- LOG("Step in\n");
- m_seek_track = m_track + 1;
- m_op = OP_STEP_IN;
- set_state(FSM_SEEKING);
- if (load_head()) {
- m_fsm_timer->adjust(attotime::zero);
- }
- } else {
- encode_error(false);
- output_status();
- }
- break;
-
- case 0x7d:
- // Write all track
- LOG("Write all track\n");
- // TODO:
- break;
-
- case 0x7f:
- // Read status
- init_status(unit_no);
- if (!BIT(m_status , STS_NOT_RDY) && BIT(m_status , STS_DISK_CHANGED)) {
- LOG("Get status DSKCHG\n");
- m_op = OP_GET_STATUS;
- set_state(FSM_POSITIONING);
- if (load_head()) {
- m_fsm_timer->adjust(attotime::zero);
- }
- } else {
- LOG("Get status !DSKCHG\n");
- encode_error(false);
- output_status();
- }
- break;
-
- default:
- LOG("Unknown command %02x\n" , track_no);
- }
- } else {
- // Plain seek
- LOG("Seek to %u:%u\n" , track_no , sect_no);
- m_seek_track = track_no;
- m_seek_sector = sect_no;
- set_state(FSM_IDLE);
- }
- }
- break;
- }
- break;
-
- case FSM_RD_STATUS1:
- set_error(ERR_NONE);
- set_state(FSM_RD_STATUS2);
- m_outputting = false;
- m_obf = false;
- break;
-
- case FSM_RD_STATUS2:
- set_state(FSM_IDLE);
- break;
-
- case FSM_RD_DATA:
- m_obf = false;
- break;
-
- default:
- if (m_op != OP_WRITE) {
- LOG("Got data in state %d!\n" , m_fsm_state);
- }
- }
-}
-
-void hp9885_device::do_FSM()
-{
- switch (m_fsm_state) {
- case FSM_RECALIBRATING:
- // Keep head loaded
- load_head();
- if (m_drive->trk00_r()) {
- one_step(true);
- } else {
- set_state(FSM_POSITIONING);
- m_fsm_timer->adjust(attotime::from_msec(SETTLING_MS));
- m_track = 0;
- }
- break;
-
- case FSM_SETTLING:
- if (m_op == OP_READ || m_op == OP_WRITE) {
- // Set seek complete
- BIT_SET(m_status , STS_SEEK_COMPLETE);
- if (m_sector_cnt--) {
- m_rev_cnt = MISSED_ID_REVS;
- set_state(FSM_WAIT_ID_AM);
- start_rd();
- } else {
- output_status();
- }
- } else if (m_op == OP_STEP_IN) {
- // Step IN
- // Set seek complete
- BIT_SET(m_status , STS_SEEK_COMPLETE);
- output_status();
- } else {
- // Get status
- output_status();
- }
- break;
-
- case FSM_POSITIONING:
- case FSM_SEEKING:
- // Keep head loaded
- load_head();
- // Need recalibration?
- if (m_track == UNKNOWN_TRACK) {
- set_state(FSM_RECALIBRATING);
- m_fsm_timer->adjust(attotime::zero);
- } else if (m_seek_track != m_track) {
- set_state(FSM_SEEKING);
- one_step(m_seek_track < m_track);
- } else {
- if (m_fsm_state == FSM_SEEKING) {
- m_fsm_timer->adjust(attotime::from_msec(SETTLING_MS));
- } else {
- m_fsm_timer->adjust(attotime::zero);
- }
- set_state(FSM_SETTLING);
- }
- break;
-
- case FSM_STATUS_DELAY:
- output_status();
- break;
-
- default:
- LOG("Invalid state=%d\n" , m_fsm_state);
- set_state(FSM_IDLE);
- }
- update_busy();
-}
-
-bool hp9885_device::load_head()
-{
- m_dskchg = false;
-
- switch (m_head_state) {
- case HEAD_UNLOADED:
- case HEAD_SETTLING:
- LOG_HEAD("%.06f Loading head..\n" , machine().time().as_double());
- m_head_state = HEAD_SETTLING;
- m_head_timer->adjust(attotime::from_msec(HD_SETTLE_MS));
- return false;
-
- case HEAD_LOADED:
- LOG_HEAD("%.06f Keep head loaded\n" , machine().time().as_double());
- m_head_timer->adjust(attotime::from_msec(HEAD_TO_MS));
- return true;
-
- default:
- LOG("Invalid head state %d\n" , m_head_state);
- m_head_state = HEAD_UNLOADED;
- return false;
- }
-}
-
-void hp9885_device::recalibrate()
-{
- m_track = UNKNOWN_TRACK;
-}
-
-void hp9885_device::one_step(bool outward)
-{
- if (outward) {
- if (m_track > 0) {
- m_track--;
- }
- } else {
- if (m_track < MAX_TRACK) {
- m_track++;
- }
- }
- LOG_HEAD("%.06f Step to trk %u\n" , machine().time().as_double() , m_track);
- m_drive->dir_w(outward);
- m_drive->stp_w(0);
- m_drive->stp_w(1);
- m_fsm_timer->adjust(attotime::from_msec(STEP_MS));
-}
-
-void hp9885_device::adv_sector()
-{
- if (++m_seek_sector > MAX_SECTOR) {
- m_seek_sector = 0;
- if (m_seek_track < MAX_TRACK) {
- m_seek_track++;
- }
- }
-}
-
-void hp9885_device::start_rd()
-{
- m_pll.set_clock(attotime::from_usec(HALF_CELL_US));
- m_pll.read_reset(machine().time());
- m_bit_byte_timer->adjust(attotime::zero);
- m_am_detector = 0;
-}
-
-void hp9885_device::stop_rdwr()
-{
- m_bit_byte_timer->reset();
-}
-
-uint16_t hp9885_device::rd_word()
-{
- uint16_t word = 0;
- for (unsigned i = 0; i < 16; ++i) {
- attotime edge;
- attotime tm;
- edge = m_drive->get_next_transition(m_pll.ctime);
- // Read & discard clock bit
- m_pll.feed_read_data(tm , edge , attotime::never);
- edge = m_drive->get_next_transition(m_pll.ctime);
- bool data_bit = m_pll.feed_read_data(tm , edge , attotime::never);
- word >>= 1;
- if (data_bit) {
- BIT_SET(word , 15);
- }
- update_crc(data_bit);
- }
- return word;
-}
-
-void hp9885_device::wr_word(uint16_t word)
-{
- for (unsigned i = 0; i < 16; ++i) {
- bool data_bit = BIT(word , i);
- bool clock_bit = !data_bit && !m_had_transition;
- m_had_transition = data_bit || clock_bit;
- attotime dummy;
-
- m_pll.write_next_bit(clock_bit , dummy , nullptr , attotime::never);
- m_pll.write_next_bit(data_bit , dummy , nullptr , attotime::never);
- update_crc(data_bit);
- }
- m_pll.commit(m_drive , m_pll.ctime);
-}
-
-void hp9885_device::preset_crc()
-{
- m_crc = ~0;
-}
-
-void hp9885_device::update_crc(bool bit)
-{
- bool crc_x15 = BIT(m_crc , 0);
- m_crc >>= 1;
- if (bit ^ crc_x15) {
- m_crc ^= 0x8408;
- }
-}
-
-void hp9885_device::set_ibf(bool state)
-{
- m_ibf = state;
- update_busy();
-}
-
-void hp9885_device::set_output()
-{
- m_outputting = true;
- m_obf = false;
- set_ibf(false);
-}
-
-void hp9885_device::output_status(bool delayed)
-{
- stop_rdwr();
- if (delayed) {
- set_output();
- set_state(FSM_STATUS_DELAY);
- m_fsm_timer->adjust(attotime::from_usec(STATUS_DELAY_US));
- } else {
- set_state(FSM_RD_STATUS1);
- m_outputting = true;
- m_obf = true;
- // Set status in output buffer
- m_output = m_status;
- set_ibf(false);
- }
-}
-
-void hp9885_device::update_busy()
-{
- bool busy = (!m_outputting && m_ibf) || (m_outputting && m_pctl && m_obf);
- LOG_HS("PCTL %d BUSY %d OUT %d IBF %d OBF %d\n" , m_pctl , busy , m_outputting , m_ibf , m_obf);
- pflg_w(!busy);
-}
diff --git a/src/devices/bus/hp9845_io/hp9885.h b/src/devices/bus/hp9845_io/hp9885.h
deleted file mode 100644
index edb705c2504..00000000000
--- a/src/devices/bus/hp9845_io/hp9885.h
+++ /dev/null
@@ -1,136 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders: F. Ulivi
-/*********************************************************************
-
- hp9885.h
-
- HP9885M 8" floppy drive
-
-*********************************************************************/
-
-#ifndef MAME_BUS_HP9845_IO_HP9885_H
-#define MAME_BUS_HP9845_IO_HP9885_H
-
-#pragma once
-
-#include "98032.h"
-#include "imagedev/floppy.h"
-#include "machine/fdc_pll.h"
-
-class hp9885_device : public hp98032_gpio_card_device
-{
-public:
- hp9885_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual ~hp9885_device();
-
- // hp98032_gpio_card_device overrides
- virtual uint16_t get_jumpers() const override;
- virtual uint16_t input_r() const override;
- virtual uint8_t ext_status_r() const override;
- virtual void output_w(uint16_t data) override;
- virtual void ext_control_w(uint8_t data) override;
- virtual DECLARE_WRITE_LINE_MEMBER(pctl_w) override;
- virtual DECLARE_WRITE_LINE_MEMBER(io_w) override;
- virtual DECLARE_WRITE_LINE_MEMBER(preset_w) override;
-
-protected:
- // device-level overrides
- virtual void device_add_mconfig(machine_config &config) override;
- virtual void device_start() override;
- virtual void device_reset() override;
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
-
-private:
- // FSM states
- enum {
- FSM_IDLE,
- FSM_RECALIBRATING,
- FSM_SETTLING,
- FSM_GOT_PW,
- FSM_POSITIONING,
- FSM_SEEKING,
- FSM_STATUS_DELAY,
- FSM_RD_STATUS1,
- FSM_RD_STATUS2,
- FSM_WAIT_ID_AM,
- FSM_RD_ID,
- FSM_WAIT_DATA_AM,
- FSM_RD_DATA,
- FSM_WR_DATA
- };
-
- // Head states
- enum {
- HEAD_UNLOADED,
- HEAD_SETTLING,
- HEAD_LOADED
- };
-
- // Operations
- enum {
- OP_NONE,
- OP_READ,
- OP_WRITE,
- OP_STEP_IN,
- OP_GET_STATUS
- };
-
- required_device<floppy_connector> m_drive_connector;
- floppy_image_device *m_drive;
- uint16_t m_input;
- uint16_t m_output;
- uint16_t m_status;
- int m_fsm_state;
- int m_head_state;
- int m_op;
- bool m_pctl;
- bool m_ibf;
- bool m_obf;
- bool m_outputting;
- bool m_had_transition;
- bool m_dskchg;
- unsigned m_track;
- unsigned m_seek_track;
- unsigned m_seek_sector;
- unsigned m_sector_cnt;
- unsigned m_word_cnt;
- unsigned m_rev_cnt;
- uint32_t m_am_detector;
- uint16_t m_crc; // x^15 is stored in LSB
-
- // Timers
- emu_timer *m_fsm_timer;
- emu_timer *m_head_timer;
- emu_timer *m_bit_byte_timer;
-
- // PLL
- fdc_pll_t m_pll;
-
- void floppy_ready_cb(floppy_image_device *floppy , int state);
- void floppy_index_cb(floppy_image_device *floppy , int state);
-
- void set_state(int new_state);
- void init_status(unsigned unit_no);
- void encode_error(bool writing);
- void set_error(unsigned error_code);
- void new_word();
- void do_FSM();
- bool load_head();
- void recalibrate();
- void one_step(bool outward);
- void adv_sector();
- void start_rd();
- void stop_rdwr();
- uint16_t rd_word();
- void wr_word(uint16_t word);
- void preset_crc();
- void update_crc(bool bit);
- void set_ibf(bool state);
- void set_output();
- void output_status(bool delayed = false);
- void update_busy();
-};
-
-DECLARE_DEVICE_TYPE(HP9885 , hp9885_device)
-
-#endif /* MAME_BUS_HP9845_IO_HP9885_H */
diff --git a/src/devices/bus/hp_dio/hp98265a.cpp b/src/devices/bus/hp_dio/hp98265a.cpp
index c5c28eeda6b..baafc4e14eb 100644
--- a/src/devices/bus/hp_dio/hp98265a.cpp
+++ b/src/devices/bus/hp_dio/hp98265a.cpp
@@ -168,12 +168,12 @@ void dio16_98265a_device::device_reset()
code &= REG_SW1_SELECT_CODE_MASK;
if (!m_installed_io) {
- program_space().install_readwrite_handler(
+ program_space()->install_readwrite_handler(
0x600000 + (code * 0x10000),
0x6007ff + (code * 0x10000),
read16_delegate(FUNC(dio16_98265a_device::io_r), this),
write16_delegate(FUNC(dio16_98265a_device::io_w), this));
- program_space().install_device(0x6e0020, 0x6e003f, *m_spc, &mb87030_device::map, 0x00ff00ff);
+ program_space()->install_device(0x6e0020, 0x6e003f, *m_spc, &mb87030_device::map, 0x00ff00ff);
m_installed_io = true;
}
m_control = 0;
diff --git a/src/devices/bus/hp_dio/hp98603a.cpp b/src/devices/bus/hp_dio/hp98603a.cpp
index ac04f7479bd..bcd5fe3536c 100644
--- a/src/devices/bus/hp_dio/hp98603a.cpp
+++ b/src/devices/bus/hp_dio/hp98603a.cpp
@@ -39,9 +39,8 @@ ROM_START(hp98603a)
ROM_LOAD16_BYTE("98603_80016.bin", 0x70000, 32768, CRC(d887acab) SHA1(a9cbbaa5f053f374d6cbda614b727df35a61ace1))
ROM_END
-void dio16_98603a_device::device_add_mconfig(machine_config &config)
-{
-}
+MACHINE_CONFIG_START(dio16_98603a_device::device_add_mconfig)
+MACHINE_CONFIG_END
const tiny_rom_entry *dio16_98603a_device::device_rom_region() const
{
diff --git a/src/devices/bus/hp_dio/hp98603b.cpp b/src/devices/bus/hp_dio/hp98603b.cpp
index 6c8cff6b95a..4da45470d0e 100644
--- a/src/devices/bus/hp_dio/hp98603b.cpp
+++ b/src/devices/bus/hp_dio/hp98603b.cpp
@@ -34,9 +34,8 @@ ROM_START(hp98603b)
ROM_LOAD16_BYTE("u14.bin", 0xa0001, 65536, CRC(96527d4e) SHA1(6706ab97eab4465ea4fa2d6b07e8107468e83818))
ROM_END
-void dio16_98603b_device::device_add_mconfig(machine_config &config)
-{
-}
+MACHINE_CONFIG_START(dio16_98603b_device::device_add_mconfig)
+MACHINE_CONFIG_END
const tiny_rom_entry *dio16_98603b_device::device_rom_region() const
{
diff --git a/src/devices/bus/hp_dio/hp98620.cpp b/src/devices/bus/hp_dio/hp98620.cpp
index fcd0e9d95aa..2fdc8e0f932 100644
--- a/src/devices/bus/hp_dio/hp98620.cpp
+++ b/src/devices/bus/hp_dio/hp98620.cpp
@@ -74,7 +74,7 @@ void dio16_98620_device::device_reset()
{
if (!m_installed_io)
{
- program_space().install_readwrite_handler(0x500000, 0x50020f,
+ program_space()->install_readwrite_handler(0x500000, 0x50020f,
read16_delegate(FUNC(dio16_98620_device::dma_r), this),
write16_delegate(FUNC(dio16_98620_device::dma_w), this));
m_installed_io = true;
@@ -343,9 +343,9 @@ void dio16_98620_device::dma_transfer(int channel)
if (m_regs[channel].dma_out) {
- dmack_w_out(channel, program_space().read_byte(m_regs[channel].address++));
+ dmack_w_out(channel, program_space()->read_byte(m_regs[channel].address++));
} else {
- program_space().write_byte(m_regs[channel].address++, dmack_r_out(channel));
+ program_space()->write_byte(m_regs[channel].address++, dmack_r_out(channel));
}
diff --git a/src/devices/bus/hp_dio/hp98643.cpp b/src/devices/bus/hp_dio/hp98643.cpp
index 57bc4d1a283..5a439144d6d 100644
--- a/src/devices/bus/hp_dio/hp98643.cpp
+++ b/src/devices/bus/hp_dio/hp98643.cpp
@@ -105,7 +105,7 @@ void dio16_98643_device::device_reset()
uint32_t baseaddr = 0x600000 + (code << 16);
- program_space().install_device(baseaddr, baseaddr + 0xffff,
+ program_space()->install_device(baseaddr, baseaddr + 0xffff,
*this, &dio16_98643_device::addrmap);
m_installed_io = true;
}
diff --git a/src/devices/bus/hp_dio/hp_dio.cpp b/src/devices/bus/hp_dio/hp_dio.cpp
index c2cbfa8e941..dfa228dc8af 100644
--- a/src/devices/bus/hp_dio/hp_dio.cpp
+++ b/src/devices/bus/hp_dio/hp_dio.cpp
@@ -104,7 +104,8 @@ dio16_device::dio16_device(const machine_config &mconfig, const char *tag, devic
dio16_device::dio16_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, type, tag, owner, clock),
- m_prgspace(*this, finder_base::DUMMY_TAG, -1),
+ m_maincpu(*this, finder_base::DUMMY_TAG),
+ m_prgspace(nullptr),
m_irq1_out_cb(*this),
m_irq2_out_cb(*this),
m_irq3_out_cb(*this),
@@ -135,7 +136,8 @@ void dio16_device::device_start()
m_dmar0_out_cb.resolve_safe();
m_dmar1_out_cb.resolve_safe();
- m_prgwidth = m_prgspace->data_width();
+ m_prgspace = &m_maincpu->space(AS_PROGRAM);
+ m_prgwidth = m_maincpu->space_config(AS_PROGRAM)->data_width();
save_item(NAME(m_irq));
save_item(NAME(m_dmar));
diff --git a/src/devices/bus/hp_dio/hp_dio.h b/src/devices/bus/hp_dio/hp_dio.h
index ee680b08d4b..ddf95e9570c 100644
--- a/src/devices/bus/hp_dio/hp_dio.h
+++ b/src/devices/bus/hp_dio/hp_dio.h
@@ -65,7 +65,7 @@ public:
// construction/destruction
dio16_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// inline configuration
- template <typename T> void set_program_space(T &&tag, int spacenum) { m_prgspace.set_tag(std::forward<T>(tag), spacenum); }
+ template <typename T> void set_cputag(T &&tag) { m_maincpu.set_tag(std::forward<T>(tag)); }
// callback configuration
auto dmar0_out_cb() { return m_dmar0_out_cb.bind(); }
@@ -89,7 +89,7 @@ public:
void unmap_bank(offs_t start, offs_t end);
void unmap_rom(offs_t start, offs_t end);
- address_space &program_space() { return *m_prgspace; }
+ address_space *program_space() { return m_prgspace; }
// IRQs 1, 2, and 7 are reserved for non-bus usage.
@@ -137,10 +137,11 @@ protected:
virtual void device_reset() override;
// internal state
+ required_device<cpu_device> m_maincpu;
std::list<device_dio16_card_interface *> m_cards;
// address spaces
- required_address_space m_prgspace;
+ address_space *m_prgspace;
int m_bus_index;
// packed line states
@@ -186,7 +187,7 @@ protected:
virtual void interface_pre_start() override;
int get_index() { return m_index; };
- address_space &program_space() { return m_dio_dev->program_space(); }
+ address_space *program_space() { return m_dio_dev->program_space(); }
DECLARE_WRITE_LINE_MEMBER(irq1_out) { m_dio_dev->set_irq(m_index, 0, state); }
DECLARE_WRITE_LINE_MEMBER(irq2_out) { m_dio_dev->set_irq(m_index, 1, state); }
diff --git a/src/devices/bus/hp_dio/human_interface.cpp b/src/devices/bus/hp_dio/human_interface.cpp
index d7cfad37d50..9c58672e11d 100644
--- a/src/devices/bus/hp_dio/human_interface.cpp
+++ b/src/devices/bus/hp_dio/human_interface.cpp
@@ -114,11 +114,11 @@ human_interface_device::human_interface_device(const machine_config &mconfig, de
void human_interface_device::device_start()
{
- program_space().install_readwrite_handler(0x420000, 0x420003, 0x0003, 0xfffc, 0,
+ program_space()->install_readwrite_handler(0x420000, 0x420003, 0x0003, 0xfffc, 0,
read8_delegate(FUNC(upi41_cpu_device::upi41_master_r), &(*m_iocpu)),
write8_delegate(FUNC(upi41_cpu_device::upi41_master_w), &(*m_iocpu)), 0x00ff00ff);
- program_space().install_readwrite_handler(0x470000, 0x47001f, 0x1f, 0xffe0, 0,
+ program_space()->install_readwrite_handler(0x470000, 0x47001f, 0x1f, 0xffe0, 0,
read8_delegate(FUNC(human_interface_device::gpib_r), this),
write8_delegate(FUNC(human_interface_device::gpib_w), this), 0x00ff00ff);
@@ -194,7 +194,7 @@ WRITE8_MEMBER(human_interface_device::ieee488_dio_w)
WRITE8_MEMBER(human_interface_device::gpib_w)
{
if (offset & 0x08) {
- m_tms9914->write(offset & 0x07, data);
+ m_tms9914->reg8_w(space, offset & 0x07, data);
return;
}
@@ -234,7 +234,7 @@ READ8_MEMBER(human_interface_device::gpib_r)
uint8_t data = 0xff;
if (offset & 0x8) {
- data = m_tms9914->read(offset & 0x07);
+ data = m_tms9914->reg8_r(space, offset & 0x07);
return data;
}
@@ -360,14 +360,14 @@ void human_interface_device::dmack_w_in(int channel, uint8_t data)
{
if (channel)
return;
- m_tms9914->write(7, data);
+ m_tms9914->reg8_w(*program_space(), 7, data);
}
uint8_t human_interface_device::dmack_r_in(int channel)
{
if (channel || !m_gpib_dma_enable)
return 0xff;
- return m_tms9914->read(7);
+ return m_tms9914->reg8_r(machine().dummy_space(), 7);
}
} // namespace bus::hp_dio
diff --git a/src/devices/bus/ieee488/c2040fdc.h b/src/devices/bus/ieee488/c2040fdc.h
index 64239991222..c73e9826fbf 100644
--- a/src/devices/bus/ieee488/c2040fdc.h
+++ b/src/devices/bus/ieee488/c2040fdc.h
@@ -18,6 +18,22 @@
#include "imagedev/floppy.h"
+
+//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_C2040_SYNC_CALLBACK(_write) \
+ downcast<c2040_fdc_device &>(*device).set_sync_wr_callback(DEVCB_##_write);
+
+#define MCFG_C2040_READY_CALLBACK(_write) \
+ downcast<c2040_fdc_device &>(*device).set_ready_wr_callback(DEVCB_##_write);
+
+#define MCFG_C2040_ERROR_CALLBACK(_write) \
+ downcast<c2040_fdc_device &>(*device).set_error_wr_callback(DEVCB_##_write);
+
+
+
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -30,6 +46,9 @@ public:
// construction/destruction
c2040_fdc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ template <class Object> devcb_base &set_sync_wr_callback(Object &&cb) { return m_write_sync.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_ready_wr_callback(Object &&cb) { return m_write_ready.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_error_wr_callback(Object &&cb) { return m_write_error.set_callback(std::forward<Object>(cb)); }
auto sync_wr_callback() { return m_write_sync.bind(); }
auto ready_wr_callback() { return m_write_ready.bind(); }
auto error_wr_callback() { return m_write_error.bind(); }
diff --git a/src/devices/bus/ieee488/c8280.cpp b/src/devices/bus/ieee488/c8280.cpp
index 63b5cbe2506..51293bda1d7 100644
--- a/src/devices/bus/ieee488/c8280.cpp
+++ b/src/devices/bus/ieee488/c8280.cpp
@@ -293,31 +293,30 @@ FLOPPY_FORMATS_END
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void c8280_device::device_add_mconfig(machine_config &config)
-{
- M6502(config, m_maincpu, XTAL(12'000'000)/8);
- m_maincpu->set_addrmap(AS_PROGRAM, &c8280_device::c8280_main_mem);
+MACHINE_CONFIG_START(c8280_device::device_add_mconfig)
+ MCFG_DEVICE_ADD(M6502_DOS_TAG, M6502, XTAL(12'000'000)/8)
+ MCFG_DEVICE_PROGRAM_MAP(c8280_main_mem)
- MOS6532_NEW(config, m_riot0, XTAL(12'000'000)/8);
- m_riot0->pa_rd_callback().set(FUNC(c8280_device::dio_r));
- m_riot0->pb_wr_callback().set(FUNC(c8280_device::dio_w));
+ MCFG_DEVICE_ADD(M6532_0_TAG, MOS6532_NEW, XTAL(12'000'000)/8)
+ MCFG_MOS6530n_IN_PA_CB(READ8(*this, c8280_device, dio_r))
+ MCFG_MOS6530n_OUT_PB_CB(WRITE8(*this, c8280_device, dio_w))
- MOS6532_NEW(config, m_riot1, XTAL(12'000'000)/8);
- m_riot1->pa_rd_callback().set(FUNC(c8280_device::riot1_pa_r));
- m_riot1->pa_wr_callback().set(FUNC(c8280_device::riot1_pa_w));
- m_riot1->pb_rd_callback().set(FUNC(c8280_device::riot1_pb_r));
- m_riot1->pb_wr_callback().set(FUNC(c8280_device::riot1_pb_w));
- m_riot1->irq_wr_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0);
+ MCFG_DEVICE_ADD(M6532_1_TAG, MOS6532_NEW, XTAL(12'000'000)/8)
+ MCFG_MOS6530n_IN_PA_CB(READ8(*this, c8280_device, riot1_pa_r))
+ MCFG_MOS6530n_OUT_PA_CB(WRITE8(*this, c8280_device, riot1_pa_w))
+ MCFG_MOS6530n_IN_PB_CB(READ8(*this, c8280_device, riot1_pb_r))
+ MCFG_MOS6530n_OUT_PB_CB(WRITE8(*this, c8280_device, riot1_pb_w))
+ MCFG_MOS6530n_IRQ_CB(INPUTLINE(M6502_DOS_TAG, INPUT_LINE_IRQ0))
- M6502(config, m_fdccpu, XTAL(12'000'000)/8);
- m_fdccpu->set_addrmap(AS_PROGRAM, &c8280_device::c8280_fdc_mem);
+ MCFG_DEVICE_ADD(M6502_FDC_TAG, M6502, XTAL(12'000'000)/8)
+ MCFG_DEVICE_PROGRAM_MAP(c8280_fdc_mem)
FD1797(config, m_fdc, XTAL(12'000'000)/6);
m_fdc->intrq_wr_callback().set_inputline(m_fdccpu, M6502_IRQ_LINE);
m_fdc->drq_wr_callback().set_inputline(m_fdccpu, M6502_SET_OVERFLOW);
FLOPPY_CONNECTOR(config, m_floppy0, c8280_floppies, "8dsdd", c8280_device::floppy_formats);
FLOPPY_CONNECTOR(config, m_floppy1, c8280_floppies, "8dsdd", c8280_device::floppy_formats);
-}
+MACHINE_CONFIG_END
//-------------------------------------------------
diff --git a/src/devices/bus/ieee488/hardbox.cpp b/src/devices/bus/ieee488/hardbox.cpp
index 0b982ee772d..677037c5ba7 100644
--- a/src/devices/bus/ieee488/hardbox.cpp
+++ b/src/devices/bus/ieee488/hardbox.cpp
@@ -267,12 +267,11 @@ WRITE8_MEMBER( hardbox_device::ppi1_pc_w )
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void hardbox_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(hardbox_device::device_add_mconfig)
// basic machine hardware
- Z80(config, m_maincpu, XTAL(8'000'000)/2);
- m_maincpu->set_addrmap(AS_PROGRAM, &hardbox_device::hardbox_mem);
- m_maincpu->set_addrmap(AS_IO, &hardbox_device::hardbox_io);
+ MCFG_DEVICE_ADD(Z80_TAG, Z80, XTAL(8'000'000)/2)
+ MCFG_DEVICE_PROGRAM_MAP(hardbox_mem)
+ MCFG_DEVICE_IO_MAP(hardbox_io)
// devices
i8255_device &ppi0(I8255A(config, I8255_0_TAG));
@@ -286,12 +285,16 @@ void hardbox_device::device_add_mconfig(machine_config &config)
ppi1.in_pc_callback().set(FUNC(hardbox_device::ppi1_pc_r));
ppi1.out_pc_callback().set(FUNC(hardbox_device::ppi1_pc_w));
- CORVUS_HDC(config, m_hdc, 0);
- HARDDISK(config, "harddisk1", "corvus_hdd");
- HARDDISK(config, "harddisk2", "corvus_hdd");
- HARDDISK(config, "harddisk3", "corvus_hdd");
- HARDDISK(config, "harddisk4", "corvus_hdd");
-}
+ MCFG_DEVICE_ADD(CORVUS_HDC_TAG, CORVUS_HDC, 0)
+ MCFG_HARDDISK_ADD("harddisk1")
+ MCFG_HARDDISK_INTERFACE("corvus_hdd")
+ MCFG_HARDDISK_ADD("harddisk2")
+ MCFG_HARDDISK_INTERFACE("corvus_hdd")
+ MCFG_HARDDISK_ADD("harddisk3")
+ MCFG_HARDDISK_INTERFACE("corvus_hdd")
+ MCFG_HARDDISK_ADD("harddisk4")
+ MCFG_HARDDISK_INTERFACE("corvus_hdd")
+MACHINE_CONFIG_END
//-------------------------------------------------
diff --git a/src/devices/bus/ieee488/hp9122c.cpp b/src/devices/bus/ieee488/hp9122c.cpp
index 808deae2069..9d7f77fed51 100644
--- a/src/devices/bus/ieee488/hp9122c.cpp
+++ b/src/devices/bus/ieee488/hp9122c.cpp
@@ -376,14 +376,13 @@ void hp9122c_device::cpu_map(address_map &map)
map(0xc000, 0xffff).rom().region("cpu", 0);
}
-void hp9122c_device::device_add_mconfig(machine_config &config)
-{
- MC6809(config, m_cpu, XTAL(8'000'000));
- m_cpu->set_addrmap(AS_PROGRAM, &hp9122c_device::cpu_map);
+MACHINE_CONFIG_START(hp9122c_device::device_add_mconfig)
+ MCFG_DEVICE_ADD("cpu" , MC6809 , XTAL(8'000'000))
+ MCFG_DEVICE_PROGRAM_MAP(cpu_map)
// without this flag, 'DMA' transfer via SYNC instruction
// will not work
- config.m_perfect_cpu_quantum = subtag("cpu");
+ MCFG_QUANTUM_PERFECT_CPU("cpu")
MB8876(config, m_fdc, 8_MHz_XTAL / 4);
m_fdc->intrq_wr_callback().set(FUNC(hp9122c_device::fdc_intrq_w));
@@ -400,7 +399,11 @@ void hp9122c_device::device_add_mconfig(machine_config &config)
m_i8291a->int_write().set(FUNC(hp9122c_device::i8291a_int_w));
m_i8291a->dreq_write().set(FUNC(hp9122c_device::i8291a_dreq_w));
- FLOPPY_CONNECTOR(config, "floppy0" , hp9122c_floppies , "35hd" , hp9122c_floppy_formats, true).enable_sound(true);
- FLOPPY_CONNECTOR(config, "floppy1" , hp9122c_floppies , "35hd" , hp9122c_floppy_formats, true).enable_sound(true);
+ MCFG_FLOPPY_DRIVE_ADD("floppy0" , hp9122c_floppies , "35hd" , hp9122c_floppy_formats)
+ MCFG_FLOPPY_DRIVE_SOUND(true)
+ MCFG_SLOT_FIXED(true)
+ MCFG_FLOPPY_DRIVE_ADD("floppy1" , hp9122c_floppies , "35hd" , hp9122c_floppy_formats)
+ MCFG_FLOPPY_DRIVE_SOUND(true)
+ MCFG_SLOT_FIXED(true)
config.set_default_layout(layout_hp9122c);
-}
+MACHINE_CONFIG_END
diff --git a/src/devices/bus/ieee488/ieee488.h b/src/devices/bus/ieee488/ieee488.h
index cb29783d294..e734b356d5b 100644
--- a/src/devices/bus/ieee488/ieee488.h
+++ b/src/devices/bus/ieee488/ieee488.h
@@ -12,12 +12,8 @@
#pragma once
-void cbm_ieee488_devices(device_slot_interface &device);
-void hp_ieee488_devices(device_slot_interface &device);
-void remote488_devices(device_slot_interface &device);
-DECLARE_DEVICE_TYPE(IEEE488, ieee488_device)
-DECLARE_DEVICE_TYPE(IEEE488_SLOT, ieee488_slot_device)
+
//**************************************************************************
// MACROS / CONSTANTS
@@ -28,6 +24,65 @@ DECLARE_DEVICE_TYPE(IEEE488_SLOT, ieee488_slot_device)
//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_IEEE488_BUS_ADD() \
+ MCFG_DEVICE_ADD(IEEE488_TAG, IEEE488, 0)
+
+
+#define MCFG_IEEE488_EOI_CALLBACK(_write) \
+ downcast<ieee488_device *>(device)->set_eoi_callback(DEVCB_##_write);
+
+#define MCFG_IEEE488_DAV_CALLBACK(_write) \
+ downcast<ieee488_device *>(device)->set_dav_callback(DEVCB_##_write);
+
+#define MCFG_IEEE488_NRFD_CALLBACK(_write) \
+ downcast<ieee488_device *>(device)->set_nrfd_callback(DEVCB_##_write);
+
+#define MCFG_IEEE488_NDAC_CALLBACK(_write) \
+ downcast<ieee488_device *>(device)->set_ndac_callback(DEVCB_##_write);
+
+#define MCFG_IEEE488_IFC_CALLBACK(_write) \
+ downcast<ieee488_device *>(device)->set_ifc_callback(DEVCB_##_write);
+
+#define MCFG_IEEE488_SRQ_CALLBACK(_write) \
+ downcast<ieee488_device *>(device)->set_srq_callback(DEVCB_##_write);
+
+#define MCFG_IEEE488_ATN_CALLBACK(_write) \
+ downcast<ieee488_device *>(device)->set_atn_callback(DEVCB_##_write);
+
+#define MCFG_IEEE488_REN_CALLBACK(_write) \
+ downcast<ieee488_device *>(device)->set_ren_callback(DEVCB_##_write);
+
+// This CB reports changes to the DIO lines on the bus (whose value comes from
+// ANDing the DIO lines of each device on the bus)
+// This CB is needed by those controllers that start a parallel poll and wait
+// for some condition to be set by devices on the DIO lines (e.g. PHI controller).
+#define MCFG_IEEE488_DIO_CALLBACK(_write) \
+ downcast<ieee488_device *>(device)->set_dio_callback(DEVCB_##_write);
+
+#define MCFG_IEEE488_SLOT_ADD(_tag, _address, _slot_intf, _def_slot) \
+ MCFG_DEVICE_ADD(_tag, IEEE488_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false) \
+ downcast<ieee488_slot_device *>(device)->set_address(_address);
+
+
+#define MCFG_CBM_IEEE488_ADD(_default_drive) \
+ MCFG_IEEE488_SLOT_ADD("ieee4", 4, cbm_ieee488_devices, nullptr) \
+ MCFG_IEEE488_SLOT_ADD("ieee8", 8, cbm_ieee488_devices, _default_drive) \
+ MCFG_IEEE488_SLOT_ADD("ieee9", 9, cbm_ieee488_devices, nullptr) \
+ MCFG_IEEE488_SLOT_ADD("ieee10", 10, cbm_ieee488_devices, nullptr) \
+ MCFG_IEEE488_SLOT_ADD("ieee11", 11, cbm_ieee488_devices, nullptr) \
+ MCFG_IEEE488_SLOT_ADD("ieee12", 12, cbm_ieee488_devices, nullptr) \
+ MCFG_IEEE488_SLOT_ADD("ieee13", 13, cbm_ieee488_devices, nullptr) \
+ MCFG_IEEE488_SLOT_ADD("ieee14", 14, cbm_ieee488_devices, nullptr) \
+ MCFG_IEEE488_SLOT_ADD("ieee15", 15, cbm_ieee488_devices, nullptr) \
+ MCFG_IEEE488_BUS_ADD()
+
+
+
+//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -40,7 +95,17 @@ class ieee488_device : public device_t
{
public:
// construction/destruction
- ieee488_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+ ieee488_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+ template <class Object> devcb_base &set_eoi_callback(Object &&cb) { return m_write_eoi.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_dav_callback(Object &&cb) { return m_write_dav.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_nrfd_callback(Object &&cb) { return m_write_nrfd.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_ndac_callback(Object &&cb) { return m_write_ndac.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_ifc_callback(Object &&cb) { return m_write_ifc.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_srq_callback(Object &&cb) { return m_write_srq.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_atn_callback(Object &&cb) { return m_write_atn.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_ren_callback(Object &&cb) { return m_write_ren.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_dio_callback(Object &&cb) { return m_write_dio.set_callback(std::forward<Object>(cb)); }
auto eoi_callback() { return m_write_eoi.bind(); }
auto dav_callback() { return m_write_dav.bind(); }
@@ -50,11 +115,6 @@ public:
auto srq_callback() { return m_write_srq.bind(); }
auto atn_callback() { return m_write_atn.bind(); }
auto ren_callback() { return m_write_ren.bind(); }
-
- // This CB reports changes to the DIO lines on the bus (whose value comes from
- // ANDing the DIO lines of each device on the bus)
- // This CB is needed by those controllers that start a parallel poll and wait
- // for some condition to be set by devices on the DIO lines (e.g. PHI controller).
auto dio_callback() { return m_write_dio.bind(); }
void add_device(ieee488_slot_device *slot, device_t *target);
@@ -94,20 +154,6 @@ public:
void atn_w(device_t *device, int state) { set_signal(device, ATN, state); }
void ren_w(device_t *device, int state) { set_signal(device, REN, state); }
- // helper functions
- static void add_cbm_devices(machine_config &config, const char *_default_drive)
- {
- IEEE488_SLOT(config, "ieee4", 4, cbm_ieee488_devices, nullptr);
- IEEE488_SLOT(config, "ieee8", 8, cbm_ieee488_devices, _default_drive);
- IEEE488_SLOT(config, "ieee9", 9, cbm_ieee488_devices, nullptr);
- IEEE488_SLOT(config, "ieee10", 10, cbm_ieee488_devices, nullptr);
- IEEE488_SLOT(config, "ieee11", 11, cbm_ieee488_devices, nullptr);
- IEEE488_SLOT(config, "ieee12", 12, cbm_ieee488_devices, nullptr);
- IEEE488_SLOT(config, "ieee13", 13, cbm_ieee488_devices, nullptr);
- IEEE488_SLOT(config, "ieee14", 14, cbm_ieee488_devices, nullptr);
- IEEE488_SLOT(config, "ieee15", 15, cbm_ieee488_devices, nullptr);
- IEEE488(config, IEEE488_TAG);
- }
protected:
enum
{
@@ -162,6 +208,8 @@ private:
uint8_t m_dio;
};
+DECLARE_DEVICE_TYPE(IEEE488, ieee488_device)
+
// ======================> ieee488_slot_device
@@ -170,16 +218,6 @@ class ieee488_slot_device : public device_t,
{
public:
// construction/destruction
- template <typename T>
- ieee488_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, int address, T &&opts, char const *dflt)
- : ieee488_slot_device(mconfig, tag, owner, (uint32_t)0)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- set_address(address);
- }
ieee488_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
static void add_cbm_slot(machine_config &config, const char *_tag, int _address, const char *_def_slot);
@@ -206,6 +244,8 @@ protected:
int m_address;
};
+DECLARE_DEVICE_TYPE(IEEE488_SLOT, ieee488_slot_device)
+
// ======================> device_ieee488_interface
@@ -240,4 +280,10 @@ private:
device_ieee488_interface *m_next;
};
+
+void cbm_ieee488_devices(device_slot_interface &device);
+void hp_ieee488_devices(device_slot_interface &device);
+void remote488_devices(device_slot_interface &device);
+
+
#endif // MAME_BUS_IEEE488_IEEE488_H
diff --git a/src/devices/bus/ieee488/remote488.cpp b/src/devices/bus/ieee488/remote488.cpp
index b5eb0041632..a9baafc9320 100644
--- a/src/devices/bus/ieee488/remote488.cpp
+++ b/src/devices/bus/ieee488/remote488.cpp
@@ -249,10 +249,9 @@ remote488_device::remote488_device(const machine_config &mconfig, const char *ta
{
}
-void remote488_device::device_add_mconfig(machine_config &config)
-{
- BITBANGER(config, m_stream, 0);
-}
+MACHINE_CONFIG_START(remote488_device::device_add_mconfig)
+ MCFG_DEVICE_ADD("stream", BITBANGER, 0)
+MACHINE_CONFIG_END
void remote488_device::ieee488_eoi(int state)
{
diff --git a/src/devices/bus/ieee488/softbox.cpp b/src/devices/bus/ieee488/softbox.cpp
index e2041d3e4e2..63208f7ce9e 100644
--- a/src/devices/bus/ieee488/softbox.cpp
+++ b/src/devices/bus/ieee488/softbox.cpp
@@ -232,12 +232,11 @@ DEVICE_INPUT_DEFAULTS_END
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void softbox_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(softbox_device::device_add_mconfig)
// basic machine hardware
- Z80(config, m_maincpu, XTAL(8'000'000)/2);
- m_maincpu->set_addrmap(AS_PROGRAM, &softbox_device::softbox_mem);
- m_maincpu->set_addrmap(AS_IO, &softbox_device::softbox_io);
+ MCFG_DEVICE_ADD(Z80_TAG, Z80, XTAL(8'000'000)/2)
+ MCFG_DEVICE_PROGRAM_MAP(softbox_mem)
+ MCFG_DEVICE_IO_MAP(softbox_io)
// devices
i8251_device &i8251(I8251(config, I8251_TAG, 0));
@@ -265,13 +264,17 @@ void softbox_device::device_add_mconfig(machine_config &config)
m_dbrg->fr_handler().set(I8251_TAG, FUNC(i8251_device::write_rxc));
m_dbrg->ft_handler().set(I8251_TAG, FUNC(i8251_device::write_txc));
- CORVUS_HDC(config, m_hdc, 0);
- HARDDISK(config, "harddisk1", "corvus_hdd");
- HARDDISK(config, "harddisk2", "corvus_hdd");
- HARDDISK(config, "harddisk3", "corvus_hdd");
- HARDDISK(config, "harddisk4", "corvus_hdd");
- //imi7000_bus_device::add_config(config, "imi5000h", nullptr, nullptr, nullptr);
-}
+ MCFG_DEVICE_ADD(m_hdc, CORVUS_HDC, 0)
+ MCFG_HARDDISK_ADD("harddisk1")
+ MCFG_HARDDISK_INTERFACE("corvus_hdd")
+ MCFG_HARDDISK_ADD("harddisk2")
+ MCFG_HARDDISK_INTERFACE("corvus_hdd")
+ MCFG_HARDDISK_ADD("harddisk3")
+ MCFG_HARDDISK_INTERFACE("corvus_hdd")
+ MCFG_HARDDISK_ADD("harddisk4")
+ MCFG_HARDDISK_INTERFACE("corvus_hdd")
+ //MCFG_IMI7000_BUS_ADD("imi5000h", nullptr, nullptr, nullptr)
+MACHINE_CONFIG_END
//-------------------------------------------------
@@ -378,6 +381,6 @@ void softbox_device::ieee488_ifc(int state)
WRITE8_MEMBER( softbox_device::dbrg_w )
{
- m_dbrg->str_w(data & 0x0f);
- m_dbrg->stt_w(data >> 4);
+ m_dbrg->write_str(data & 0x0f);
+ m_dbrg->write_stt(data >> 4);
}
diff --git a/src/devices/bus/imi7000/imi7000.h b/src/devices/bus/imi7000/imi7000.h
index 38de3341ae5..0559a565285 100644
--- a/src/devices/bus/imi7000/imi7000.h
+++ b/src/devices/bus/imi7000/imi7000.h
@@ -31,10 +31,8 @@
#pragma once
-void imi7000_devices(device_slot_interface &device);
-DECLARE_DEVICE_TYPE(IMI7000_BUS, imi7000_bus_device)
-DECLARE_DEVICE_TYPE(IMI7000_SLOT, imi7000_slot_device)
+
//**************************************************************************
// CONSTANTS
@@ -45,6 +43,23 @@ DECLARE_DEVICE_TYPE(IMI7000_SLOT, imi7000_slot_device)
//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_IMI7000_BUS_ADD(_def_slot1, _def_slot2, _def_slot3, _def_slot4) \
+ MCFG_DEVICE_ADD(IMI7000_BUS_TAG, IMI7000_BUS, 0) \
+ MCFG_DEVICE_ADD(IMI7000_BUS_TAG":0", IMI7000_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(imi7000_devices, _def_slot1, false) \
+ MCFG_DEVICE_ADD(IMI7000_BUS_TAG":1", IMI7000_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(imi7000_devices, _def_slot2, false) \
+ MCFG_DEVICE_ADD(IMI7000_BUS_TAG":2", IMI7000_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(imi7000_devices, _def_slot3, false) \
+ MCFG_DEVICE_ADD(IMI7000_BUS_TAG":3", IMI7000_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(imi7000_devices, _def_slot4, false)
+
+
+
+//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -58,17 +73,7 @@ class imi7000_bus_device : public device_t
{
public:
// construction/destruction
- imi7000_bus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
-
- template <typename T, typename U, typename V, typename W>
- static void add_config(machine_config &config, T &&_def_slot1, U &&_def_slot2, V &&_def_slot3, W &&_def_slot4)
- {
- IMI7000_BUS(config, IMI7000_BUS_TAG);
- IMI7000_SLOT(config, IMI7000_BUS_TAG":0", imi7000_devices, std::forward<T>(_def_slot1));
- IMI7000_SLOT(config, IMI7000_BUS_TAG":1", imi7000_devices, std::forward<U>(_def_slot2));
- IMI7000_SLOT(config, IMI7000_BUS_TAG":2", imi7000_devices, std::forward<V>(_def_slot3));
- IMI7000_SLOT(config, IMI7000_BUS_TAG":3", imi7000_devices, std::forward<W>(_def_slot4));
- }
+ imi7000_bus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
protected:
// device-level overrides
@@ -85,15 +90,6 @@ class imi7000_slot_device : public device_t,
{
public:
// construction/destruction
- template <typename T>
- imi7000_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt)
- : imi7000_slot_device(mconfig, tag, owner, (uint32_t)0)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
imi7000_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
protected:
@@ -117,4 +113,13 @@ protected:
imi7000_slot_device *m_slot;
};
+
+// device type definition
+DECLARE_DEVICE_TYPE(IMI7000_BUS, imi7000_bus_device)
+DECLARE_DEVICE_TYPE(IMI7000_SLOT, imi7000_slot_device)
+
+
+// slot interface
+void imi7000_devices(device_slot_interface &device);
+
#endif // MAME_BUS_IMI7000_IMI7000_H
diff --git a/src/devices/bus/intellec4/intellec4.cpp b/src/devices/bus/intellec4/intellec4.cpp
index c3742062454..82cf6702144 100644
--- a/src/devices/bus/intellec4/intellec4.cpp
+++ b/src/devices/bus/intellec4/intellec4.cpp
@@ -58,11 +58,16 @@ void univ_slot_device::device_start()
univ_bus_device::univ_bus_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock)
: device_t(mconfig, INTELLEC4_UNIV_BUS, tag, owner, clock)
- , m_rom_space(*this, finder_base::DUMMY_TAG, -1)
- , m_rom_ports_space(*this, finder_base::DUMMY_TAG, -1)
- , m_memory_space(*this, finder_base::DUMMY_TAG, -1)
- , m_status_space(*this, finder_base::DUMMY_TAG, -1)
- , m_ram_ports_space(*this, finder_base::DUMMY_TAG, -1)
+ , m_rom_device(*this, finder_base::DUMMY_TAG)
+ , m_rom_ports_device(*this, finder_base::DUMMY_TAG)
+ , m_memory_device(*this, finder_base::DUMMY_TAG)
+ , m_status_device(*this, finder_base::DUMMY_TAG)
+ , m_ram_ports_device(*this, finder_base::DUMMY_TAG)
+ , m_rom_space(-1)
+ , m_rom_ports_space(-1)
+ , m_memory_space(-1)
+ , m_status_space(-1)
+ , m_ram_ports_space(-1)
, m_test_out_cb(*this)
, m_stop_out_cb(*this)
, m_reset_4002_out_cb(*this)
@@ -118,6 +123,20 @@ WRITE_LINE_MEMBER(univ_bus_device::cpu_reset_in)
device_t implementation
----------------------------------*/
+void univ_bus_device::device_validity_check(validity_checker &valid) const
+{
+ if (m_rom_device && !m_rom_device->space_config(m_rom_space))
+ osd_printf_error("ROM space device %s (%s) lacks address space %d config\n", m_rom_device->device().tag(), m_rom_device->device().name(), m_rom_space);
+ if (m_rom_ports_device && !m_rom_ports_device->space_config(m_rom_ports_space))
+ osd_printf_error("ROM ports space device %s (%s) lacks address space %d config\n", m_rom_ports_device->device().tag(), m_rom_ports_device->device().name(), m_rom_ports_space);
+ if (m_memory_device && !m_memory_device->space_config(m_memory_space))
+ osd_printf_error("Memory space device %s (%s) lacks address space %d config\n", m_memory_device->device().tag(), m_memory_device->device().name(), m_memory_space);
+ if (m_status_device && !m_status_device->space_config(m_status_space))
+ osd_printf_error("Status space device %s (%s) lacks address space %d config\n", m_status_device->device().tag(), m_status_device->device().name(), m_status_space);
+ if (m_ram_ports_device && !m_ram_ports_device->space_config(m_ram_ports_space))
+ osd_printf_error("RAM ports space device %s (%s) lacks address space %d config\n", m_ram_ports_device->device().tag(), m_ram_ports_device->device().name(), m_ram_ports_space);
+}
+
void univ_bus_device::device_start()
{
m_test_out_cb.resolve_safe();
diff --git a/src/devices/bus/intellec4/intellec4.h b/src/devices/bus/intellec4/intellec4.h
index 68fa8a8080a..55cc06a263a 100644
--- a/src/devices/bus/intellec4/intellec4.h
+++ b/src/devices/bus/intellec4/intellec4.h
@@ -153,11 +153,11 @@ public:
friend class device_univ_card_interface;
// address space configuration
- template <typename T> void set_rom_space(T &&tag, int space) { m_rom_space.set_tag(std::forward<T>(tag), space); }
- template <typename T> void set_rom_ports_space(T &&tag, int space) { m_rom_ports_space.set_tag(std::forward<T>(tag), space); }
- template <typename T> void set_memory_space(T &&tag, int space) { m_memory_space.set_tag(std::forward<T>(tag), space); }
- template <typename T> void set_status_space(T &&tag, int space) { m_status_space.set_tag(std::forward<T>(tag), space); }
- template <typename T> void set_ram_ports_space(T &&tag, int space) { m_ram_ports_space.set_tag(std::forward<T>(tag), space); }
+ template <typename T> void set_rom_space(T &&tag, int space) { m_rom_device.set_tag(std::forward<T>(tag)); m_rom_space = space; }
+ template <typename T> void set_rom_ports_space(T &&tag, int space) { m_rom_ports_device.set_tag(std::forward<T>(tag)); m_rom_ports_space = space; }
+ template <typename T> void set_memory_space(T &&tag, int space) { m_memory_device.set_tag(std::forward<T>(tag)); m_memory_space = space; }
+ template <typename T> void set_status_space(T &&tag, int space) { m_status_device.set_tag(std::forward<T>(tag)); m_status_space = space; }
+ template <typename T> void set_ram_ports_space(T &&tag, int space) { m_ram_ports_device.set_tag(std::forward<T>(tag)); m_ram_ports_space = space; }
// callback configuration
auto stop_out_cb() { return m_stop_out_cb.bind(); }
@@ -183,6 +183,7 @@ public:
protected:
// device_t implementation
+ virtual void device_validity_check(validity_checker &valid) const override ATTR_COLD;
virtual void device_start() override;
private:
@@ -194,8 +195,10 @@ private:
void set_user_reset(unsigned index, int state);
// finding address spaces
- required_address_space m_rom_space, m_rom_ports_space;
- required_address_space m_memory_space, m_status_space, m_ram_ports_space;
+ required_device<device_memory_interface> m_rom_device, m_rom_ports_device;
+ required_device<device_memory_interface> m_memory_device, m_status_device, m_ram_ports_device;
+ int m_rom_space, m_rom_ports_space;
+ int m_memory_space, m_status_space, m_ram_ports_space;
// output line callbacks
devcb_write_line m_test_out_cb;
@@ -222,11 +225,11 @@ protected:
// device_interface implementation
void interface_pre_start() override;
- address_space &rom_space() { return *m_bus->m_rom_space; }
- address_space &rom_ports_space() { return *m_bus->m_rom_ports_space; }
- address_space &memory_space() { return *m_bus->m_memory_space; }
- address_space &status_space() { return *m_bus->m_status_space; }
- address_space &ram_ports_space() { return *m_bus->m_ram_ports_space; }
+ address_space &rom_space() { return m_bus->m_rom_device->space(m_bus->m_rom_space); }
+ address_space &rom_ports_space() { return m_bus->m_rom_ports_device->space(m_bus->m_rom_ports_space); }
+ address_space &memory_space() { return m_bus->m_memory_device->space(m_bus->m_memory_space); }
+ address_space &status_space() { return m_bus->m_status_device->space(m_bus->m_status_space); }
+ address_space &ram_ports_space() { return m_bus->m_ram_ports_device->space(m_bus->m_ram_ports_space); }
DECLARE_WRITE_LINE_MEMBER(test_out) { m_bus->set_test(m_index, state); }
DECLARE_WRITE_LINE_MEMBER(stop_out) { m_bus->set_stop(m_index, state); }
diff --git a/src/devices/bus/interpro/keyboard/hle.cpp b/src/devices/bus/interpro/keyboard/hle.cpp
index 15dd262eddf..670e5bd975c 100644
--- a/src/devices/bus/interpro/keyboard/hle.cpp
+++ b/src/devices/bus/interpro/keyboard/hle.cpp
@@ -277,11 +277,11 @@ WRITE_LINE_MEMBER(hle_device_base::input_txd)
device_buffered_serial_interface::rx_w(state);
}
-void hle_device_base::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(hle_device_base::device_add_mconfig)
SPEAKER(config, "bell").front_center();
- BEEP(config, m_beeper, ATTOSECONDS_TO_HZ(480 * ATTOSECONDS_PER_MICROSECOND)).add_route(ALL_OUTPUTS, "bell", 1.0);
-}
+ MCFG_DEVICE_ADD("beeper", BEEP, ATTOSECONDS_TO_HZ(480 * ATTOSECONDS_PER_MICROSECOND))
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "bell", 1.0)
+MACHINE_CONFIG_END
void hle_device_base::device_start()
{
diff --git a/src/devices/bus/interpro/sr/edge.cpp b/src/devices/bus/interpro/sr/edge.cpp
index 390b3459079..eb680532d3b 100644
--- a/src/devices/bus/interpro/sr/edge.cpp
+++ b/src/devices/bus/interpro/sr/edge.cpp
@@ -475,7 +475,7 @@ void mpcb828_device::device_add_mconfig(machine_config &config)
TMS32030(config, m_dsp, 30_MHz_XTAL);
m_dsp->holda().set(FUNC(mpcb828_device::holda));
m_dsp->set_disable();
- //m_dsp->set_addrmap(0, map_dynamic<2>);
+ //MCFG_DEVICE_ADDRESS_MAP(0, map_dynamic<2>)
BT458(config, "ramdac", 83'020'800);
@@ -484,7 +484,7 @@ void mpcb828_device::device_add_mconfig(machine_config &config)
m_scc->out_txda_callback().set("kbd", FUNC(interpro_keyboard_port_device::write_txd));
INTERPRO_KEYBOARD_PORT(config, "kbd", interpro_keyboard_devices, "hle_en_us").rxd_handler_cb().set(m_scc, FUNC(z80scc_device::rxa_w));
-}
+MACHINE_CONFIG_END
/*
* MPCB849: EDGE-1 graphics, 2 megapixels, single screen, 60Hz refresh.
diff --git a/src/devices/bus/interpro/sr/sr.cpp b/src/devices/bus/interpro/sr/sr.cpp
index 82071af86d2..6d6d76bee42 100644
--- a/src/devices/bus/interpro/sr/sr.cpp
+++ b/src/devices/bus/interpro/sr/sr.cpp
@@ -267,6 +267,9 @@ DEFINE_DEVICE_TYPE(SRX_SLOT, srx_slot_device, "srx_slot", "InterPro SRX slot")
void interpro_bus_device::device_resolve_objects()
{
+ m_main_space = &m_maincpu->space(0);
+ m_io_space = &m_maincpu->space(1);
+
// resolve callbacks
m_out_irq0_cb.resolve_safe();
m_out_irq1_cb.resolve_safe();
diff --git a/src/devices/bus/interpro/sr/sr.h b/src/devices/bus/interpro/sr/sr.h
index 858590f5075..0fcecc086f8 100644
--- a/src/devices/bus/interpro/sr/sr.h
+++ b/src/devices/bus/interpro/sr/sr.h
@@ -9,10 +9,6 @@
class interpro_bus_device : public device_t
{
public:
- // space configuration
- template <typename T> void set_main_space(T &&tag, int spacenum) { m_main_space.set_tag(std::forward<T>(tag), spacenum); }
- template <typename T> void set_io_space(T &&tag, int spacenum) { m_io_space.set_tag(std::forward<T>(tag), spacenum); }
-
// callback configuration
auto out_irq0_cb() { return m_out_irq0_cb.bind(); }
auto out_irq1_cb() { return m_out_irq1_cb.bind(); }
@@ -28,8 +24,9 @@ protected:
// construction/destruction
interpro_bus_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock)
: device_t(mconfig, type, tag, owner, clock)
- , m_main_space(*this, finder_base::DUMMY_TAG, -1)
- , m_io_space(*this, finder_base::DUMMY_TAG, -1)
+ , m_maincpu(*this, finder_base::DUMMY_TAG)
+ , m_main_space(nullptr)
+ , m_io_space(nullptr)
, m_out_irq0_cb(*this)
, m_out_irq1_cb(*this)
, m_out_irq2_cb(*this)
@@ -41,8 +38,9 @@ protected:
virtual void device_resolve_objects() override;
// internal state
- required_address_space m_main_space;
- required_address_space m_io_space;
+ required_device<cpu_device> m_maincpu;
+ address_space *m_main_space;
+ address_space *m_io_space;
private:
devcb_write_line m_out_irq0_cb;
@@ -57,6 +55,12 @@ class cbus_bus_device : public interpro_bus_device
{
public:
// construction/destruction
+ template <typename T>
+ cbus_bus_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock, T &&cpu_device)
+ : cbus_bus_device(mconfig, tag, owner, clock)
+ {
+ m_maincpu.set_tag(std::forward<T>(cpu_device));
+ }
cbus_bus_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
static const u32 CBUS_BASE = 0x87000000;
@@ -154,6 +158,12 @@ class srx_bus_device : public interpro_bus_device
{
public:
// construction/destruction
+ template <typename T>
+ srx_bus_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock, T &&cpu_device)
+ : srx_bus_device(mconfig, tag, owner, clock)
+ {
+ m_maincpu.set_tag(std::forward<T>(cpu_device));
+ }
srx_bus_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
static const u32 SRX_BASE = 0x8f000000;
diff --git a/src/devices/bus/intv/ecs.cpp b/src/devices/bus/intv/ecs.cpp
index 6fd321af36b..e1d7f9b0b98 100644
--- a/src/devices/bus/intv/ecs.cpp
+++ b/src/devices/bus/intv/ecs.cpp
@@ -94,8 +94,7 @@ void intv_ecs_device::late_subslot_setup()
//-------------------------------------------------
-void intv_ecs_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(intv_ecs_device::device_add_mconfig)
SPEAKER(config, "mono_ecs").front_center();
AY8914(config, m_snd, XTAL(3'579'545)/2);
@@ -104,9 +103,9 @@ void intv_ecs_device::device_add_mconfig(machine_config &config)
m_snd->port_a_write_callback().set("ctrl_port", FUNC(intvecs_control_port_device::portA_w));
m_snd->add_route(ALL_OUTPUTS, "mono_ecs", 0.33);
- INTVECS_CONTROL_PORT(config, "ctrl_port", intvecs_control_port_devices, "keybd");
- INTV_CART_SLOT(config, m_subslot, intv_cart, nullptr);
-}
+ MCFG_INTVECS_CONTROL_PORT_ADD("ctrl_port", intvecs_control_port_devices, "keybd")
+ MCFG_INTV_CARTRIDGE_ADD("subslot", intv_cart, nullptr)
+MACHINE_CONFIG_END
ROM_START( ecs )
@@ -126,7 +125,7 @@ const tiny_rom_entry *intv_ecs_device::device_rom_region() const
Paged ROM handling
-------------------------------------------------*/
-uint16_t intv_ecs_device::read_rom20(offs_t offset)
+READ16_MEMBER(intv_ecs_device::read_rom20)
{
if (m_bank_base[2])
return INTV_ROM16_READ(offset + 0x2000);
@@ -134,7 +133,7 @@ uint16_t intv_ecs_device::read_rom20(offs_t offset)
return 0xffff;
}
-uint16_t intv_ecs_device::read_rom70(offs_t offset)
+READ16_MEMBER(intv_ecs_device::read_rom70)
{
if (m_bank_base[7])
return 0xffff;
@@ -142,21 +141,21 @@ uint16_t intv_ecs_device::read_rom70(offs_t offset)
return INTV_ROM16_READ(offset + 0x7000);
}
-uint16_t intv_ecs_device::read_rome0(offs_t offset)
+READ16_MEMBER(intv_ecs_device::read_rome0)
{
if (m_bank_base[14])
return INTV_ROM16_READ(offset + 0xe000);
else // if WSMLB is loaded, it shall go here, otherwise 0xffff
- return m_subslot->read_rome0(offset);
+ return m_subslot->read_rome0(space, offset, mem_mask);
}
-uint16_t intv_ecs_device::read_romf0(offs_t offset)
+READ16_MEMBER(intv_ecs_device::read_romf0)
{
// only WSMLB should come here with bank_base = 1
if (m_bank_base[15])
- return m_subslot->read_romf0(offset + 0x1000);
+ return m_subslot->read_romf0(space, offset + 0x1000, mem_mask);
else
- return m_subslot->read_romf0(offset);
+ return m_subslot->read_romf0(space, offset, mem_mask);
}
@@ -164,40 +163,44 @@ uint16_t intv_ecs_device::read_romf0(offs_t offset)
read_audio
-------------------------------------------------*/
-uint16_t intv_ecs_device::read_ay(offs_t offset)
+READ16_MEMBER(intv_ecs_device::read_ay)
{
- return 0xff00 | m_snd->read(offset);
+ if (ACCESSING_BITS_0_7)
+ return m_snd->read(space, offset, mem_mask);
+ else
+ return 0xffff;
}
/*-------------------------------------------------
write_audio
-------------------------------------------------*/
-void intv_ecs_device::write_ay(offs_t offset, uint16_t data)
+WRITE16_MEMBER(intv_ecs_device::write_ay)
{
- return m_snd->write(offset, data & 0x00ff);
+ if (ACCESSING_BITS_0_7)
+ return m_snd->write(space, offset, data, mem_mask);
}
-uint16_t intv_ecs_device::read_rom80(offs_t offset)
+READ16_MEMBER(intv_ecs_device::read_rom80)
{
if (m_ram88_enabled && offset >= 0x800)
- return m_subslot->read_ram(offset & 0x7ff);
+ return m_subslot->read_ram(space, offset & 0x7ff, mem_mask);
else
- return m_subslot->read_rom80(offset);
+ return m_subslot->read_rom80(space, offset, mem_mask);
}
-uint16_t intv_ecs_device::read_romd0(offs_t offset)
+READ16_MEMBER(intv_ecs_device::read_romd0)
{
if (m_ramd0_enabled && offset < 0x800)
- return m_subslot->read_ram(offset);
+ return m_subslot->read_ram(space, offset, mem_mask);
else
- return m_subslot->read_romd0(offset);
+ return m_subslot->read_romd0(space, offset, mem_mask);
}
-void intv_ecs_device::write_rom20(offs_t offset, uint16_t data)
+WRITE16_MEMBER(intv_ecs_device::write_rom20)
{
if (offset == 0xfff)
{
@@ -208,7 +211,7 @@ void intv_ecs_device::write_rom20(offs_t offset, uint16_t data)
}
}
-void intv_ecs_device::write_rom70(offs_t offset, uint16_t data)
+WRITE16_MEMBER(intv_ecs_device::write_rom70)
{
if (offset == 0xfff)
{
@@ -219,7 +222,7 @@ void intv_ecs_device::write_rom70(offs_t offset, uint16_t data)
}
}
-void intv_ecs_device::write_rome0(offs_t offset, uint16_t data)
+WRITE16_MEMBER(intv_ecs_device::write_rome0)
{
if (offset == 0xfff)
{
@@ -230,7 +233,7 @@ void intv_ecs_device::write_rome0(offs_t offset, uint16_t data)
}
}
-void intv_ecs_device::write_romf0(offs_t offset, uint16_t data)
+WRITE16_MEMBER(intv_ecs_device::write_romf0)
{
if (offset == 0xfff)
{
diff --git a/src/devices/bus/intv/ecs.h b/src/devices/bus/intv/ecs.h
index 68911831c0a..943a768fe03 100644
--- a/src/devices/bus/intv/ecs.h
+++ b/src/devices/bus/intv/ecs.h
@@ -23,41 +23,41 @@ public:
// actual ECS accesses
// paged ROMs
- virtual uint16_t read_rom20(offs_t offset) override;
- virtual uint16_t read_rom70(offs_t offset) override;
- virtual uint16_t read_rome0(offs_t offset) override;
- virtual uint16_t read_romf0(offs_t offset) override;
+ virtual DECLARE_READ16_MEMBER(read_rom20) override;
+ virtual DECLARE_READ16_MEMBER(read_rom70) override;
+ virtual DECLARE_READ16_MEMBER(read_rome0) override;
+ virtual DECLARE_READ16_MEMBER(read_romf0) override;
// RAM
- virtual uint16_t read_ram(offs_t offset) override { return (int)m_ram[offset & (m_ram.size() - 1)]; }
- virtual void write_ram(offs_t offset, uint16_t data) override { m_ram[offset & (m_ram.size() - 1)] = data & 0xff; }
+ virtual DECLARE_READ16_MEMBER(read_ram) override { return (int)m_ram[offset & (m_ram.size() - 1)]; }
+ virtual DECLARE_WRITE16_MEMBER(write_ram) override { m_ram[offset & (m_ram.size() - 1)] = data & 0xff; }
// AY8914
- virtual uint16_t read_ay(offs_t offset) override;
- virtual void write_ay(offs_t offset, uint16_t data) override;
+ virtual DECLARE_READ16_MEMBER(read_ay) override;
+ virtual DECLARE_WRITE16_MEMBER(write_ay) override;
// passthru accesses
- virtual uint16_t read_rom04(offs_t offset) override { return m_subslot->read_rom04(offset); }
- virtual uint16_t read_rom40(offs_t offset) override { return m_subslot->read_rom40(offset); }
- virtual uint16_t read_rom48(offs_t offset) override { return m_subslot->read_rom48(offset); }
- virtual uint16_t read_rom50(offs_t offset) override { return m_subslot->read_rom50(offset); }
- virtual uint16_t read_rom60(offs_t offset) override { return m_subslot->read_rom60(offset); }
- virtual uint16_t read_rom80(offs_t offset) override;
- virtual uint16_t read_rom90(offs_t offset) override { return m_subslot->read_rom90(offset); }
- virtual uint16_t read_roma0(offs_t offset) override { return m_subslot->read_roma0(offset); }
- virtual uint16_t read_romb0(offs_t offset) override { return m_subslot->read_romb0(offset); }
- virtual uint16_t read_romc0(offs_t offset) override { return m_subslot->read_romc0(offset); }
- virtual uint16_t read_romd0(offs_t offset) override;
+ virtual DECLARE_READ16_MEMBER(read_rom04) override { return m_subslot->read_rom04(space, offset, mem_mask); }
+ virtual DECLARE_READ16_MEMBER(read_rom40) override { return m_subslot->read_rom40(space, offset, mem_mask); }
+ virtual DECLARE_READ16_MEMBER(read_rom48) override { return m_subslot->read_rom48(space, offset, mem_mask); }
+ virtual DECLARE_READ16_MEMBER(read_rom50) override { return m_subslot->read_rom50(space, offset, mem_mask); }
+ virtual DECLARE_READ16_MEMBER(read_rom60) override { return m_subslot->read_rom60(space, offset, mem_mask); }
+ virtual DECLARE_READ16_MEMBER(read_rom80) override;
+ virtual DECLARE_READ16_MEMBER(read_rom90) override { return m_subslot->read_rom90(space, offset, mem_mask); }
+ virtual DECLARE_READ16_MEMBER(read_roma0) override { return m_subslot->read_roma0(space, offset, mem_mask); }
+ virtual DECLARE_READ16_MEMBER(read_romb0) override { return m_subslot->read_romb0(space, offset, mem_mask); }
+ virtual DECLARE_READ16_MEMBER(read_romc0) override { return m_subslot->read_romc0(space, offset, mem_mask); }
+ virtual DECLARE_READ16_MEMBER(read_romd0) override;
// paged ROM banking
- virtual void write_rom20(offs_t offset, uint16_t data) override;
- virtual void write_rom70(offs_t offset, uint16_t data) override;
- virtual void write_rome0(offs_t offset, uint16_t data) override;
- virtual void write_romf0(offs_t offset, uint16_t data) override;
+ virtual DECLARE_WRITE16_MEMBER(write_rom20) override;
+ virtual DECLARE_WRITE16_MEMBER(write_rom70) override;
+ virtual DECLARE_WRITE16_MEMBER(write_rome0) override;
+ virtual DECLARE_WRITE16_MEMBER(write_romf0) override;
// RAM passthru write
- virtual void write_88(offs_t offset, uint16_t data) override { if (m_ram88_enabled) m_subslot->write_ram(offset, data); }
- virtual void write_d0(offs_t offset, uint16_t data) override { if (m_ramd0_enabled) m_subslot->write_ram(offset, data); }
+ virtual DECLARE_WRITE16_MEMBER(write_88) override { if (m_ram88_enabled) m_subslot->write_ram(space, offset, data, mem_mask); }
+ virtual DECLARE_WRITE16_MEMBER(write_d0) override { if (m_ramd0_enabled) m_subslot->write_ram(space, offset, data, mem_mask); }
// IntelliVoice passthru
- virtual uint16_t read_speech(offs_t offset) override { if (m_voice_enabled) return m_subslot->read_speech(offset); else return 0xffff; }
- virtual void write_speech(offs_t offset, uint16_t data) override { if (m_voice_enabled) m_subslot->write_speech(offset, data); }
+ virtual DECLARE_READ16_MEMBER(read_speech) override { if (m_voice_enabled) return m_subslot->read_speech(space, offset, mem_mask); else return 0xffff; }
+ virtual DECLARE_WRITE16_MEMBER(write_speech) override { if (m_voice_enabled) m_subslot->write_speech(space, offset, data, mem_mask); }
virtual void late_subslot_setup() override;
diff --git a/src/devices/bus/intv/rom.h b/src/devices/bus/intv/rom.h
index 5266220e1ec..7b83b2709fe 100644
--- a/src/devices/bus/intv/rom.h
+++ b/src/devices/bus/intv/rom.h
@@ -16,21 +16,21 @@ public:
intv_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
- virtual uint16_t read_rom04(offs_t offset) override { return INTV_ROM16_READ(offset + 0x0400); }
- virtual uint16_t read_rom20(offs_t offset) override { return INTV_ROM16_READ(offset + 0x2000); }
- virtual uint16_t read_rom40(offs_t offset) override { return INTV_ROM16_READ(offset + 0x4000); }
- virtual uint16_t read_rom48(offs_t offset) override { return INTV_ROM16_READ(offset + 0x4800); }
- virtual uint16_t read_rom50(offs_t offset) override { return INTV_ROM16_READ(offset + 0x5000); }
- virtual uint16_t read_rom60(offs_t offset) override { return INTV_ROM16_READ(offset + 0x6000); }
- virtual uint16_t read_rom70(offs_t offset) override { return INTV_ROM16_READ(offset + 0x7000); }
- virtual uint16_t read_rom80(offs_t offset) override { return INTV_ROM16_READ(offset + 0x8000); }
- virtual uint16_t read_rom90(offs_t offset) override { return INTV_ROM16_READ(offset + 0x9000); }
- virtual uint16_t read_roma0(offs_t offset) override { return INTV_ROM16_READ(offset + 0xa000); }
- virtual uint16_t read_romb0(offs_t offset) override { return INTV_ROM16_READ(offset + 0xb000); }
- virtual uint16_t read_romc0(offs_t offset) override { return INTV_ROM16_READ(offset + 0xc000); }
- virtual uint16_t read_romd0(offs_t offset) override { return INTV_ROM16_READ(offset + 0xd000); }
- virtual uint16_t read_rome0(offs_t offset) override { return INTV_ROM16_READ(offset + 0xe000); }
- virtual uint16_t read_romf0(offs_t offset) override { return INTV_ROM16_READ(offset + 0xf000); }
+ virtual DECLARE_READ16_MEMBER(read_rom04) override { return INTV_ROM16_READ(offset + 0x0400); }
+ virtual DECLARE_READ16_MEMBER(read_rom20) override { return INTV_ROM16_READ(offset + 0x2000); }
+ virtual DECLARE_READ16_MEMBER(read_rom40) override { return INTV_ROM16_READ(offset + 0x4000); }
+ virtual DECLARE_READ16_MEMBER(read_rom48) override { return INTV_ROM16_READ(offset + 0x4800); }
+ virtual DECLARE_READ16_MEMBER(read_rom50) override { return INTV_ROM16_READ(offset + 0x5000); }
+ virtual DECLARE_READ16_MEMBER(read_rom60) override { return INTV_ROM16_READ(offset + 0x6000); }
+ virtual DECLARE_READ16_MEMBER(read_rom70) override { return INTV_ROM16_READ(offset + 0x7000); }
+ virtual DECLARE_READ16_MEMBER(read_rom80) override { return INTV_ROM16_READ(offset + 0x8000); }
+ virtual DECLARE_READ16_MEMBER(read_rom90) override { return INTV_ROM16_READ(offset + 0x9000); }
+ virtual DECLARE_READ16_MEMBER(read_roma0) override { return INTV_ROM16_READ(offset + 0xa000); }
+ virtual DECLARE_READ16_MEMBER(read_romb0) override { return INTV_ROM16_READ(offset + 0xb000); }
+ virtual DECLARE_READ16_MEMBER(read_romc0) override { return INTV_ROM16_READ(offset + 0xc000); }
+ virtual DECLARE_READ16_MEMBER(read_romd0) override { return INTV_ROM16_READ(offset + 0xd000); }
+ virtual DECLARE_READ16_MEMBER(read_rome0) override { return INTV_ROM16_READ(offset + 0xe000); }
+ virtual DECLARE_READ16_MEMBER(read_romf0) override { return INTV_ROM16_READ(offset + 0xf000); }
protected:
intv_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
@@ -49,8 +49,8 @@ public:
intv_ram_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
- virtual uint16_t read_ram(offs_t offset) override { return (int)m_ram[offset & (m_ram.size() - 1)]; }
- virtual void write_ram(offs_t offset, uint16_t data) override { m_ram[offset & (m_ram.size() - 1)] = data & 0xff; }
+ virtual DECLARE_READ16_MEMBER(read_ram) override { return (int)m_ram[offset & (m_ram.size() - 1)]; }
+ virtual DECLARE_WRITE16_MEMBER(write_ram) override { m_ram[offset & (m_ram.size() - 1)] = data & 0xff; }
};
// ======================> intv_gfact_device
@@ -62,8 +62,8 @@ public:
intv_gfact_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
- virtual uint16_t read_ram(offs_t offset) override { return (int)m_ram[offset & (m_ram.size() - 1)]; }
- virtual void write_ram(offs_t offset, uint16_t data) override { m_ram[offset & (m_ram.size() - 1)] = data & 0xff; }
+ virtual DECLARE_READ16_MEMBER(read_ram) override { return (int)m_ram[offset & (m_ram.size() - 1)]; }
+ virtual DECLARE_WRITE16_MEMBER(write_ram) override { m_ram[offset & (m_ram.size() - 1)] = data & 0xff; }
};
// ======================> intv_wsmlb_device
diff --git a/src/devices/bus/intv/slot.cpp b/src/devices/bus/intv/slot.cpp
index 0c4ddae593a..0161c90b258 100644
--- a/src/devices/bus/intv/slot.cpp
+++ b/src/devices/bus/intv/slot.cpp
@@ -488,10 +488,10 @@ std::string intv_cart_slot_device::get_default_card_software(get_default_card_so
read_ay
-------------------------------------------------*/
-uint16_t intv_cart_slot_device::read_ay(offs_t offset)
+READ16_MEMBER(intv_cart_slot_device::read_ay)
{
if (m_cart)
- return m_cart->read_ay(offset);
+ return m_cart->read_ay(space, offset, mem_mask);
else
return 0xffff;
}
@@ -500,20 +500,20 @@ uint16_t intv_cart_slot_device::read_ay(offs_t offset)
write_ay
-------------------------------------------------*/
-void intv_cart_slot_device::write_ay(offs_t offset, uint16_t data)
+WRITE16_MEMBER(intv_cart_slot_device::write_ay)
{
if (m_cart)
- m_cart->write_ay(offset, data);
+ m_cart->write_ay(space, offset, data, mem_mask);
}
/*-------------------------------------------------
read_speech
-------------------------------------------------*/
-uint16_t intv_cart_slot_device::read_speech(offs_t offset)
+READ16_MEMBER(intv_cart_slot_device::read_speech)
{
if (m_cart)
- return m_cart->read_speech(offset);
+ return m_cart->read_speech(space, offset, mem_mask);
else
return 0xffff;
}
@@ -522,10 +522,10 @@ uint16_t intv_cart_slot_device::read_speech(offs_t offset)
write_speech
-------------------------------------------------*/
-void intv_cart_slot_device::write_speech(offs_t offset, uint16_t data)
+WRITE16_MEMBER(intv_cart_slot_device::write_speech)
{
if (m_cart)
- m_cart->write_speech(offset, data);
+ m_cart->write_speech(space, offset, data, mem_mask);
}
diff --git a/src/devices/bus/intv/slot.h b/src/devices/bus/intv/slot.h
index ec79b148375..bdec54dab76 100644
--- a/src/devices/bus/intv/slot.h
+++ b/src/devices/bus/intv/slot.h
@@ -39,36 +39,36 @@ public:
virtual ~device_intv_cart_interface();
// reading and writing
- virtual uint16_t read_rom04(offs_t offset) { return 0xffff; }
- virtual uint16_t read_rom20(offs_t offset) { return 0xffff; }
- virtual uint16_t read_rom40(offs_t offset) { return 0xffff; }
- virtual uint16_t read_rom48(offs_t offset) { return 0xffff; }
- virtual uint16_t read_rom50(offs_t offset) { return 0xffff; }
- virtual uint16_t read_rom60(offs_t offset) { return 0xffff; }
- virtual uint16_t read_rom70(offs_t offset) { return 0xffff; }
- virtual uint16_t read_rom80(offs_t offset) { return 0xffff; }
- virtual uint16_t read_rom90(offs_t offset) { return 0xffff; }
- virtual uint16_t read_roma0(offs_t offset) { return 0xffff; }
- virtual uint16_t read_romb0(offs_t offset) { return 0xffff; }
- virtual uint16_t read_romc0(offs_t offset) { return 0xffff; }
- virtual uint16_t read_romd0(offs_t offset) { return 0xffff; }
- virtual uint16_t read_rome0(offs_t offset) { return 0xffff; }
- virtual uint16_t read_romf0(offs_t offset) { return 0xffff; }
-
- virtual uint16_t read_ram(offs_t offset) { return 0xffff; }
- virtual void write_ram(offs_t offset, uint16_t data) {}
+ virtual DECLARE_READ16_MEMBER(read_rom04) { return 0xffff; }
+ virtual DECLARE_READ16_MEMBER(read_rom20) { return 0xffff; }
+ virtual DECLARE_READ16_MEMBER(read_rom40) { return 0xffff; }
+ virtual DECLARE_READ16_MEMBER(read_rom48) { return 0xffff; }
+ virtual DECLARE_READ16_MEMBER(read_rom50) { return 0xffff; }
+ virtual DECLARE_READ16_MEMBER(read_rom60) { return 0xffff; }
+ virtual DECLARE_READ16_MEMBER(read_rom70) { return 0xffff; }
+ virtual DECLARE_READ16_MEMBER(read_rom80) { return 0xffff; }
+ virtual DECLARE_READ16_MEMBER(read_rom90) { return 0xffff; }
+ virtual DECLARE_READ16_MEMBER(read_roma0) { return 0xffff; }
+ virtual DECLARE_READ16_MEMBER(read_romb0) { return 0xffff; }
+ virtual DECLARE_READ16_MEMBER(read_romc0) { return 0xffff; }
+ virtual DECLARE_READ16_MEMBER(read_romd0) { return 0xffff; }
+ virtual DECLARE_READ16_MEMBER(read_rome0) { return 0xffff; }
+ virtual DECLARE_READ16_MEMBER(read_romf0) { return 0xffff; }
+
+ virtual DECLARE_READ16_MEMBER(read_ram) { return 0xffff; }
+ virtual DECLARE_WRITE16_MEMBER(write_ram) {}
// Used by IntelliVoice & ECS
- virtual uint16_t read_ay(offs_t offset) { return 0xffff; }
- virtual void write_ay(offs_t offset, uint16_t data) {}
- virtual uint16_t read_speech(offs_t offset) { return 0xffff; }
- virtual void write_speech(offs_t offset, uint16_t data) {}
- virtual void write_d0(offs_t offset, uint16_t data) {}
- virtual void write_88(offs_t offset, uint16_t data) {}
- virtual void write_rom20(offs_t offset, uint16_t data) {}
- virtual void write_rom70(offs_t offset, uint16_t data) {}
- virtual void write_rome0(offs_t offset, uint16_t data) {}
- virtual void write_romf0(offs_t offset, uint16_t data) {}
+ virtual DECLARE_READ16_MEMBER(read_ay) { return 0xffff; }
+ virtual DECLARE_WRITE16_MEMBER(write_ay) {}
+ virtual DECLARE_READ16_MEMBER(read_speech) { return 0xffff; }
+ virtual DECLARE_WRITE16_MEMBER(write_speech) {}
+ virtual DECLARE_WRITE16_MEMBER(write_d0) {}
+ virtual DECLARE_WRITE16_MEMBER(write_88) {}
+ virtual DECLARE_WRITE16_MEMBER(write_rom20) {}
+ virtual DECLARE_WRITE16_MEMBER(write_rom70) {}
+ virtual DECLARE_WRITE16_MEMBER(write_rome0) {}
+ virtual DECLARE_WRITE16_MEMBER(write_romf0) {}
void rom_alloc(uint32_t size, const char *tag);
void ram_alloc(uint32_t size);
@@ -98,17 +98,7 @@ class intv_cart_slot_device : public device_t,
{
public:
// construction/destruction
- template <typename T>
- intv_cart_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt)
- : intv_cart_slot_device(mconfig, tag, owner, 0)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
-
- intv_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+ intv_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~intv_cart_slot_device();
// image-level overrides
@@ -134,40 +124,40 @@ public:
virtual std::string get_default_card_software(get_default_card_software_hook &hook) const override;
// reading and writing
- uint16_t read_rom04(offs_t offset) { if (m_cart) return m_cart->read_rom04(offset); else return 0xffff; }
- uint16_t read_rom20(offs_t offset) { if (m_cart) return m_cart->read_rom20(offset); else return 0xffff; }
- uint16_t read_rom40(offs_t offset) { if (m_cart) return m_cart->read_rom40(offset); else return 0xffff; }
- uint16_t read_rom48(offs_t offset) { if (m_cart) return m_cart->read_rom48(offset); else return 0xffff; }
- uint16_t read_rom50(offs_t offset) { if (m_cart) return m_cart->read_rom50(offset); else return 0xffff; }
- uint16_t read_rom60(offs_t offset) { if (m_cart) return m_cart->read_rom60(offset); else return 0xffff; }
- uint16_t read_rom70(offs_t offset) { if (m_cart) return m_cart->read_rom70(offset); else return 0xffff; }
- uint16_t read_rom80(offs_t offset) { if (m_cart) return m_cart->read_rom80(offset); else return 0xffff; }
- uint16_t read_rom90(offs_t offset) { if (m_cart) return m_cart->read_rom90(offset); else return 0xffff; }
- uint16_t read_roma0(offs_t offset) { if (m_cart) return m_cart->read_roma0(offset); else return 0xffff; }
- uint16_t read_romb0(offs_t offset) { if (m_cart) return m_cart->read_romb0(offset); else return 0xffff; }
- uint16_t read_romc0(offs_t offset) { if (m_cart) return m_cart->read_romc0(offset); else return 0xffff; }
- uint16_t read_romd0(offs_t offset) { if (m_cart) return m_cart->read_romd0(offset); else return 0xffff; }
- uint16_t read_rome0(offs_t offset) { if (m_cart) return m_cart->read_rome0(offset); else return 0xffff; }
- uint16_t read_romf0(offs_t offset) { if (m_cart) return m_cart->read_romf0(offset); else return 0xffff; }
-
- uint16_t read_ay(offs_t offset);
- void write_ay(offs_t offset, uint16_t data);
- uint16_t read_speech(offs_t offset);
- void write_speech(offs_t offset, uint16_t data);
- uint16_t read_ram(offs_t offset) { if (m_cart) return m_cart->read_ram(offset); else return 0xffff; }
- void write_ram(offs_t offset, uint16_t data) { if (m_cart) m_cart->write_ram(offset, data); }
+ virtual DECLARE_READ16_MEMBER(read_rom04) { if (m_cart) return m_cart->read_rom04(space, offset, mem_mask); else return 0xffff; }
+ virtual DECLARE_READ16_MEMBER(read_rom20) { if (m_cart) return m_cart->read_rom20(space, offset, mem_mask); else return 0xffff; }
+ virtual DECLARE_READ16_MEMBER(read_rom40) { if (m_cart) return m_cart->read_rom40(space, offset, mem_mask); else return 0xffff; }
+ virtual DECLARE_READ16_MEMBER(read_rom48) { if (m_cart) return m_cart->read_rom48(space, offset, mem_mask); else return 0xffff; }
+ virtual DECLARE_READ16_MEMBER(read_rom50) { if (m_cart) return m_cart->read_rom50(space, offset, mem_mask); else return 0xffff; }
+ virtual DECLARE_READ16_MEMBER(read_rom60) { if (m_cart) return m_cart->read_rom60(space, offset, mem_mask); else return 0xffff; }
+ virtual DECLARE_READ16_MEMBER(read_rom70) { if (m_cart) return m_cart->read_rom70(space, offset, mem_mask); else return 0xffff; }
+ virtual DECLARE_READ16_MEMBER(read_rom80) { if (m_cart) return m_cart->read_rom80(space, offset, mem_mask); else return 0xffff; }
+ virtual DECLARE_READ16_MEMBER(read_rom90) { if (m_cart) return m_cart->read_rom90(space, offset, mem_mask); else return 0xffff; }
+ virtual DECLARE_READ16_MEMBER(read_roma0) { if (m_cart) return m_cart->read_roma0(space, offset, mem_mask); else return 0xffff; }
+ virtual DECLARE_READ16_MEMBER(read_romb0) { if (m_cart) return m_cart->read_romb0(space, offset, mem_mask); else return 0xffff; }
+ virtual DECLARE_READ16_MEMBER(read_romc0) { if (m_cart) return m_cart->read_romc0(space, offset, mem_mask); else return 0xffff; }
+ virtual DECLARE_READ16_MEMBER(read_romd0) { if (m_cart) return m_cart->read_romd0(space, offset, mem_mask); else return 0xffff; }
+ virtual DECLARE_READ16_MEMBER(read_rome0) { if (m_cart) return m_cart->read_rome0(space, offset, mem_mask); else return 0xffff; }
+ virtual DECLARE_READ16_MEMBER(read_romf0) { if (m_cart) return m_cart->read_romf0(space, offset, mem_mask); else return 0xffff; }
+
+ virtual DECLARE_READ16_MEMBER(read_ay);
+ virtual DECLARE_WRITE16_MEMBER(write_ay);
+ virtual DECLARE_READ16_MEMBER(read_speech);
+ virtual DECLARE_WRITE16_MEMBER(write_speech);
+ virtual DECLARE_READ16_MEMBER(read_ram) { if (m_cart) return m_cart->read_ram(space, offset, mem_mask); else return 0xffff; }
+ virtual DECLARE_WRITE16_MEMBER(write_ram) { if (m_cart) m_cart->write_ram(space, offset, data, mem_mask); }
virtual void late_subslot_setup() { if (m_cart) return m_cart->late_subslot_setup(); }
// these RAM accessors are needed to deal with IntelliVoice and ECS mounting RAM-equipped carts
- void write_d0(offs_t offset, uint16_t data) { if (m_cart) m_cart->write_d0(offset, data); }
- void write_88(offs_t offset, uint16_t data) { if (m_cart) m_cart->write_88(offset, data); }
+ virtual DECLARE_WRITE16_MEMBER(write_d0) { if (m_cart) m_cart->write_d0(space, offset, data, mem_mask); }
+ virtual DECLARE_WRITE16_MEMBER(write_88) { if (m_cart) m_cart->write_88(space, offset, data, mem_mask); }
// ECS paged roms need these
- void write_rom20(offs_t offset, uint16_t data) { if (m_cart) m_cart->write_rom20(offset, data); }
- void write_rom70(offs_t offset, uint16_t data) { if (m_cart) m_cart->write_rom70(offset, data); }
- void write_rome0(offs_t offset, uint16_t data) { if (m_cart) m_cart->write_rome0(offset, data); }
- void write_romf0(offs_t offset, uint16_t data) { if (m_cart) m_cart->write_romf0(offset, data); }
+ virtual DECLARE_WRITE16_MEMBER(write_rom20) { if (m_cart) m_cart->write_rom20(space, offset, data, mem_mask); }
+ virtual DECLARE_WRITE16_MEMBER(write_rom70) { if (m_cart) m_cart->write_rom70(space, offset, data, mem_mask); }
+ virtual DECLARE_WRITE16_MEMBER(write_rome0) { if (m_cart) m_cart->write_rome0(space, offset, data, mem_mask); }
+ virtual DECLARE_WRITE16_MEMBER(write_romf0) { if (m_cart) m_cart->write_romf0(space, offset, data, mem_mask); }
protected:
// device-level overrides
@@ -189,6 +179,10 @@ DECLARE_DEVICE_TYPE(INTV_CART_SLOT, intv_cart_slot_device)
#define INTVSLOT_ROM_REGION_TAG ":cart:rom"
+#define MCFG_INTV_CARTRIDGE_ADD(_tag,_slot_intf,_def_slot) \
+ MCFG_DEVICE_ADD(_tag, INTV_CART_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
+
void intv_cart(device_slot_interface &device);
#endif // MAME_BUS_INTV_SLOT_H
diff --git a/src/devices/bus/intv/voice.cpp b/src/devices/bus/intv/voice.cpp
index b8b07d84d34..7cc62da7856 100644
--- a/src/devices/bus/intv/voice.cpp
+++ b/src/devices/bus/intv/voice.cpp
@@ -69,16 +69,15 @@ void intv_voice_device::late_subslot_setup()
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void intv_voice_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(intv_voice_device::device_add_mconfig)
SPEAKER(config, "mono_voice").front_center();
SP0256(config, m_speech, 3120000);
/* The Intellivoice uses a speaker with its own volume control so the relative volumes to use are subjective */
m_speech->add_route(ALL_OUTPUTS, "mono_voice", 1.00);
- INTV_CART_SLOT(config, m_subslot, intv_cart, nullptr);
-}
+ MCFG_INTV_CARTRIDGE_ADD("subslot", intv_cart, nullptr)
+MACHINE_CONFIG_END
ROM_START( intellivoice )
@@ -96,33 +95,37 @@ const tiny_rom_entry *intv_voice_device::device_rom_region() const
read_audio
-------------------------------------------------*/
-uint16_t intv_voice_device::read_speech(offs_t offset)
+READ16_MEMBER(intv_voice_device::read_speech)
{
- return 0xff00 | m_speech->spb640_r(offset);
+ if (ACCESSING_BITS_0_7)
+ return m_speech->spb640_r(offset);
+ else
+ return 0xff;
}
/*-------------------------------------------------
write_audio
-------------------------------------------------*/
-void intv_voice_device::write_speech(offs_t offset, uint16_t data)
+WRITE16_MEMBER(intv_voice_device::write_speech)
{
- m_speech->spb640_w(offset, data & 0x00ff);
+ if (ACCESSING_BITS_0_7)
+ return m_speech->spb640_w(offset, data);
}
-uint16_t intv_voice_device::read_rom80(offs_t offset)
+READ16_MEMBER(intv_voice_device::read_rom80)
{
if (m_ram88_enabled && offset >= 0x800)
- return m_subslot->read_ram(offset & 0x7ff);
+ return m_subslot->read_ram(space, offset & 0x7ff, mem_mask);
else
- return m_subslot->read_rom80(offset);
+ return m_subslot->read_rom80(space, offset, mem_mask);
}
-uint16_t intv_voice_device::read_romd0(offs_t offset)
+READ16_MEMBER(intv_voice_device::read_romd0)
{
if (m_ramd0_enabled && offset < 0x800)
- return m_subslot->read_ram(offset);
+ return m_subslot->read_ram(space, offset, mem_mask);
else
- return m_subslot->read_romd0(offset);
+ return m_subslot->read_romd0(space, offset, mem_mask);
}
diff --git a/src/devices/bus/intv/voice.h b/src/devices/bus/intv/voice.h
index 7369058c435..d99b31573a3 100644
--- a/src/devices/bus/intv/voice.h
+++ b/src/devices/bus/intv/voice.h
@@ -18,31 +18,31 @@ public:
// reading and writing
// actual IntelliVoice access
- virtual uint16_t read_speech(offs_t offset) override;
- virtual void write_speech(offs_t offset, uint16_t data) override;
+ virtual DECLARE_READ16_MEMBER(read_speech) override;
+ virtual DECLARE_WRITE16_MEMBER(write_speech) override;
// passthru access
- virtual uint16_t read_rom04(offs_t offset) override { return m_subslot->read_rom04(offset); }
- virtual uint16_t read_rom20(offs_t offset) override { return m_subslot->read_rom20(offset); }
- virtual uint16_t read_rom40(offs_t offset) override { return m_subslot->read_rom40(offset); }
- virtual uint16_t read_rom48(offs_t offset) override { return m_subslot->read_rom48(offset); }
- virtual uint16_t read_rom50(offs_t offset) override { return m_subslot->read_rom50(offset); }
- virtual uint16_t read_rom60(offs_t offset) override { return m_subslot->read_rom60(offset); }
- virtual uint16_t read_rom70(offs_t offset) override { return m_subslot->read_rom70(offset); }
- virtual uint16_t read_rom80(offs_t offset) override;
- virtual uint16_t read_rom90(offs_t offset) override { return m_subslot->read_rom90(offset); }
- virtual uint16_t read_roma0(offs_t offset) override { return m_subslot->read_roma0(offset); }
- virtual uint16_t read_romb0(offs_t offset) override { return m_subslot->read_romb0(offset); }
- virtual uint16_t read_romc0(offs_t offset) override { return m_subslot->read_romc0(offset); }
- virtual uint16_t read_romd0(offs_t offset) override;
- virtual uint16_t read_rome0(offs_t offset) override { return m_subslot->read_rome0(offset); }
- virtual uint16_t read_romf0(offs_t offset) override { return m_subslot->read_romf0(offset); }
+ virtual DECLARE_READ16_MEMBER(read_rom04) override { return m_subslot->read_rom04(space, offset, mem_mask); }
+ virtual DECLARE_READ16_MEMBER(read_rom20) override { return m_subslot->read_rom20(space, offset, mem_mask); }
+ virtual DECLARE_READ16_MEMBER(read_rom40) override { return m_subslot->read_rom40(space, offset, mem_mask); }
+ virtual DECLARE_READ16_MEMBER(read_rom48) override { return m_subslot->read_rom48(space, offset, mem_mask); }
+ virtual DECLARE_READ16_MEMBER(read_rom50) override { return m_subslot->read_rom50(space, offset, mem_mask); }
+ virtual DECLARE_READ16_MEMBER(read_rom60) override { return m_subslot->read_rom60(space, offset, mem_mask); }
+ virtual DECLARE_READ16_MEMBER(read_rom70) override { return m_subslot->read_rom70(space, offset, mem_mask); }
+ virtual DECLARE_READ16_MEMBER(read_rom80) override;
+ virtual DECLARE_READ16_MEMBER(read_rom90) override { return m_subslot->read_rom90(space, offset, mem_mask); }
+ virtual DECLARE_READ16_MEMBER(read_roma0) override { return m_subslot->read_roma0(space, offset, mem_mask); }
+ virtual DECLARE_READ16_MEMBER(read_romb0) override { return m_subslot->read_romb0(space, offset, mem_mask); }
+ virtual DECLARE_READ16_MEMBER(read_romc0) override { return m_subslot->read_romc0(space, offset, mem_mask); }
+ virtual DECLARE_READ16_MEMBER(read_romd0) override;
+ virtual DECLARE_READ16_MEMBER(read_rome0) override { return m_subslot->read_rome0(space, offset, mem_mask); }
+ virtual DECLARE_READ16_MEMBER(read_romf0) override { return m_subslot->read_romf0(space, offset, mem_mask); }
// RAM passthru write
- virtual void write_88(offs_t offset, uint16_t data) override { if (m_ram88_enabled) m_subslot->write_ram(offset, data); }
- virtual void write_d0(offs_t offset, uint16_t data) override { if (m_ramd0_enabled) m_subslot->write_ram(offset, data); }
- virtual uint16_t read_ram(offs_t offset) override { return m_subslot->read_ram(offset); }
- virtual void write_ram(offs_t offset, uint16_t data) override { m_subslot->write_ram(offset, data); }
+ virtual DECLARE_WRITE16_MEMBER(write_88) override { if (m_ram88_enabled) m_subslot->write_ram(space, offset, data, mem_mask); }
+ virtual DECLARE_WRITE16_MEMBER(write_d0) override { if (m_ramd0_enabled) m_subslot->write_ram(space, offset, data, mem_mask); }
+ virtual DECLARE_READ16_MEMBER(read_ram) override { return m_subslot->read_ram(space, offset, mem_mask); }
+ virtual DECLARE_WRITE16_MEMBER(write_ram) override { m_subslot->write_ram(space, offset, data, mem_mask); }
virtual void late_subslot_setup() override;
diff --git a/src/devices/bus/intv_ctrl/ctrl.h b/src/devices/bus/intv_ctrl/ctrl.h
index 1cf3968f933..4a3ce67a688 100644
--- a/src/devices/bus/intv_ctrl/ctrl.h
+++ b/src/devices/bus/intv_ctrl/ctrl.h
@@ -41,17 +41,7 @@ class intv_control_port_device : public device_t,
{
public:
// construction/destruction
- template <typename T>
- intv_control_port_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt)
- : intv_control_port_device(mconfig, tag, owner, 0)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
-
- intv_control_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+ intv_control_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~intv_control_port_device();
DECLARE_READ8_MEMBER( ctrl_r ) { return read_ctrl(); }
@@ -68,6 +58,17 @@ protected:
// device type definition
DECLARE_DEVICE_TYPE(INTV_CONTROL_PORT, intv_control_port_device)
+
+//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_INTV_CONTROL_PORT_ADD(_tag, _slot_intf, _def_slot) \
+ MCFG_DEVICE_ADD(_tag, INTV_CONTROL_PORT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
+
+
+
void intv_control_port_devices(device_slot_interface &device);
diff --git a/src/devices/bus/intv_ctrl/ecs_ctrl.cpp b/src/devices/bus/intv_ctrl/ecs_ctrl.cpp
index 3f6afda5f4b..e90292de645 100644
--- a/src/devices/bus/intv_ctrl/ecs_ctrl.cpp
+++ b/src/devices/bus/intv_ctrl/ecs_ctrl.cpp
@@ -145,11 +145,10 @@ static void intvecs_controller(device_slot_interface &device)
device.option_add("handctrl", INTV_HANDCTRL);
}
-void intvecs_ctrls_device::device_add_mconfig(machine_config &config)
-{
- INTV_CONTROL_PORT(config, m_hand1, intvecs_controller, "handctrl");
- INTV_CONTROL_PORT(config, m_hand2, intvecs_controller, "handctrl");
-}
+MACHINE_CONFIG_START(intvecs_ctrls_device::device_add_mconfig)
+ MCFG_INTV_CONTROL_PORT_ADD("port1", intvecs_controller, "handctrl")
+ MCFG_INTV_CONTROL_PORT_ADD("port2", intvecs_controller, "handctrl")
+MACHINE_CONFIG_END
intvecs_ctrls_device::intvecs_ctrls_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
diff --git a/src/devices/bus/intv_ctrl/ecs_ctrl.h b/src/devices/bus/intv_ctrl/ecs_ctrl.h
index 8a723c64949..923b5785358 100644
--- a/src/devices/bus/intv_ctrl/ecs_ctrl.h
+++ b/src/devices/bus/intv_ctrl/ecs_ctrl.h
@@ -46,17 +46,7 @@ class intvecs_control_port_device : public device_t,
{
public:
// construction/destruction
- template <typename T>
- intvecs_control_port_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt)
- : intvecs_control_port_device(mconfig, tag, owner, 0)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
-
- intvecs_control_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+ intvecs_control_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~intvecs_control_port_device();
DECLARE_READ8_MEMBER( portA_r ) { return read_portA(); }
@@ -78,6 +68,16 @@ protected:
DECLARE_DEVICE_TYPE(INTVECS_CONTROL_PORT, intvecs_control_port_device)
+//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_INTVECS_CONTROL_PORT_ADD(_tag, _slot_intf, _def_slot) \
+ MCFG_DEVICE_ADD(_tag, INTVECS_CONTROL_PORT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
+
+
+
void intvecs_control_port_devices(device_slot_interface &device);
diff --git a/src/devices/bus/iq151/disc2.cpp b/src/devices/bus/iq151/disc2.cpp
index 0fde6792d40..db9919ef516 100644
--- a/src/devices/bus/iq151/disc2.cpp
+++ b/src/devices/bus/iq151/disc2.cpp
@@ -95,7 +95,7 @@ const tiny_rom_entry *iq151_disc2_device::device_rom_region() const
void iq151_disc2_device::read(offs_t offset, uint8_t &data)
{
- // internal ROM is mapped at 0xe000-0xe7ff
+ // interal ROM is mapped at 0xe000-0xe7ff
if (offset >= 0xe000 && offset < 0xe800 && m_rom_enabled)
data = m_rom[offset & 0x7ff];
}
@@ -107,10 +107,12 @@ void iq151_disc2_device::read(offs_t offset, uint8_t &data)
void iq151_disc2_device::io_read(offs_t offset, uint8_t &data)
{
+ /* This is gross */
+ address_space *space = nullptr;
if (offset == 0xaa)
- data = m_fdc->msr_r();
+ data = m_fdc->msr_r(*space, 0, 0xff);
else if (offset == 0xab)
- data = m_fdc->fifo_r();
+ data = m_fdc->fifo_r(*space, 0, 0xff);
}
//-------------------------------------------------
@@ -119,8 +121,9 @@ void iq151_disc2_device::io_read(offs_t offset, uint8_t &data)
void iq151_disc2_device::io_write(offs_t offset, uint8_t data)
{
+ address_space *space = nullptr;
if (offset == 0xab)
- m_fdc->fifo_w(data);
+ m_fdc->fifo_w(*space, 0, data, 0xff);
else if (offset == 0xac)
m_rom_enabled = (data == 0x01);
}
diff --git a/src/devices/bus/iq151/iq151.h b/src/devices/bus/iq151/iq151.h
index 306fef47ee6..e68d27a007d 100644
--- a/src/devices/bus/iq151/iq151.h
+++ b/src/devices/bus/iq151/iq151.h
@@ -87,26 +87,16 @@ class iq151cart_slot_device : public device_t,
{
public:
// construction/destruction
- template <typename T>
- iq151cart_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt)
- : iq151cart_slot_device(mconfig, tag, owner, 0)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
-
- iq151cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+ iq151cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~iq151cart_slot_device();
- template <typename T> void set_screen_tag(T &&tag) { m_screen.set_tag(std::forward<T>(tag)); }
- auto out_irq0_callback() { return m_out_irq0_cb.bind(); }
- auto out_irq1_callback() { return m_out_irq1_cb.bind(); }
- auto out_irq2_callback() { return m_out_irq2_cb.bind(); }
- auto out_irq3_callback() { return m_out_irq3_cb.bind(); }
- auto out_irq4_callback() { return m_out_irq4_cb.bind(); }
- auto out_drq_callback() { return m_out_drq_cb.bind(); }
+ void set_screen_tag(const char *tag) { m_screen.set_tag(tag); }
+ template <class Object> devcb_base &set_out_irq0_callback(Object &&cb) { return m_out_irq0_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_out_irq1_callback(Object &&cb) { return m_out_irq1_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_out_irq2_callback(Object &&cb) { return m_out_irq2_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_out_irq3_callback(Object &&cb) { return m_out_irq3_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_out_irq4_callback(Object &&cb) { return m_out_irq4_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_out_drq_callback(Object &&cb) { return m_out_drq_cb.set_callback(std::forward<Object>(cb)); }
// device-level overrides
virtual void device_start() override;
@@ -149,4 +139,30 @@ public:
// device type definition
DECLARE_DEVICE_TYPE(IQ151CART_SLOT, iq151cart_slot_device)
+
+/***************************************************************************
+ DEVICE CONFIGURATION MACROS
+***************************************************************************/
+
+#define MCFG_IQ151CART_SLOT_OUT_IRQ0_CB(_devcb) \
+ downcast<iq151cart_slot_device &>(*device).set_out_irq0_callback(DEVCB_##_devcb);
+
+#define MCFG_IQ151CART_SLOT_OUT_IRQ1_CB(_devcb) \
+ downcast<iq151cart_slot_device &>(*device).set_out_irq1_callback(DEVCB_##_devcb);
+
+#define MCFG_IQ151CART_SLOT_OUT_IRQ2_CB(_devcb) \
+ downcast<iq151cart_slot_device &>(*device).set_out_irq2_callback(DEVCB_##_devcb);
+
+#define MCFG_IQ151CART_SLOT_OUT_IRQ3_CB(_devcb) \
+ downcast<iq151cart_slot_device &>(*device).set_out_irq3_callback(DEVCB_##_devcb);
+
+#define MCFG_IQ151CART_SLOT_OUT_IRQ4_CB(_devcb) \
+ downcast<iq151cart_slot_device &>(*device).set_out_irq4_callback(DEVCB_##_devcb);
+
+#define MCFG_IQ151CART_SLOT_OUT_DRQ_CB(_devcb) \
+ downcast<iq151cart_slot_device &>(*device).set_out_drq_callback(DEVCB_##_devcb);
+
+#define MCFG_IQ151CART_SLOT_SCREEN_TAG(screen_tag) \
+ downcast<iq151cart_slot_device &>(*device).set_screen_tag(screen_tag);
+
#endif // MAME_BUS_IQ151_IQ151_H
diff --git a/src/devices/bus/isa/3c503.cpp b/src/devices/bus/isa/3c503.cpp
index 34202e2246d..424ce8bb082 100644
--- a/src/devices/bus/isa/3c503.cpp
+++ b/src/devices/bus/isa/3c503.cpp
@@ -5,13 +5,12 @@
#define SADDR 0xcc000
-void el2_3c503_device::device_add_mconfig(machine_config &config)
-{
- DP8390D(config, m_dp8390, 0);
- m_dp8390->irq_callback().set(FUNC(el2_3c503_device::el2_3c503_irq_w));
- m_dp8390->mem_read_callback().set(FUNC(el2_3c503_device::el2_3c503_mem_r));
- m_dp8390->mem_write_callback().set(FUNC(el2_3c503_device::el2_3c503_mem_w));
-}
+MACHINE_CONFIG_START(el2_3c503_device::device_add_mconfig)
+ MCFG_DEVICE_ADD("dp8390d", DP8390D, 0)
+ MCFG_DP8390D_IRQ_CB(WRITELINE(*this, el2_3c503_device, el2_3c503_irq_w))
+ MCFG_DP8390D_MEM_READ_CB(READ8(*this, el2_3c503_device, el2_3c503_mem_r))
+ MCFG_DP8390D_MEM_WRITE_CB(WRITE8(*this, el2_3c503_device, el2_3c503_mem_w))
+MACHINE_CONFIG_END
DEFINE_DEVICE_TYPE(EL2_3C503, el2_3c503_device, "el2_3c503", "3C503 Network Adapter")
diff --git a/src/devices/bus/isa/3c505.cpp b/src/devices/bus/isa/3c505.cpp
index 37cd5ef346a..71548dcbdaa 100644
--- a/src/devices/bus/isa/3c505.cpp
+++ b/src/devices/bus/isa/3c505.cpp
@@ -1644,9 +1644,7 @@ READ16_MEMBER(threecom3c505_device::read)
// omit excessive logging
if (data == last_data)
{
- // FIXME: space.device().state().pcbase() will crash mame with SIGSEGV (since mame0197)
- uint32_t pc = 0; // space.device().state().pcbase();
-
+ uint32_t pc = space.device().state().pcbase();
if (pc == last_pc)
{
return data;
diff --git a/src/devices/bus/isa/adlib.cpp b/src/devices/bus/isa/adlib.cpp
index 6a900b0e09d..814fdeaaf58 100644
--- a/src/devices/bus/isa/adlib.cpp
+++ b/src/devices/bus/isa/adlib.cpp
@@ -20,7 +20,7 @@ READ8_MEMBER( isa8_adlib_device::ym3812_16_r )
uint8_t retVal = 0xff;
switch(offset)
{
- case 0 : retVal = m_ym3812->status_port_r(); break;
+ case 0 : retVal = m_ym3812->status_port_r( space, offset ); break;
}
return retVal;
}
@@ -29,8 +29,8 @@ WRITE8_MEMBER( isa8_adlib_device::ym3812_16_w )
{
switch(offset)
{
- case 0 : m_ym3812->control_port_w(data); break;
- case 1 : m_ym3812->write_port_w(data); break;
+ case 0 : m_ym3812->control_port_w( space, offset, data ); break;
+ case 1 : m_ym3812->write_port_w( space, offset, data ); break;
}
}
@@ -44,11 +44,11 @@ DEFINE_DEVICE_TYPE(ISA8_ADLIB, isa8_adlib_device, "isa_adlib", "Ad Lib Sound Car
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void isa8_adlib_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(isa8_adlib_device::device_add_mconfig)
SPEAKER(config, "mono").front_center();
- YM3812(config, m_ym3812, ym3812_StdClock).add_route(ALL_OUTPUTS, "mono", 3.00);
-}
+ MCFG_DEVICE_ADD("ym3812", YM3812, ym3812_StdClock)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 3.00)
+MACHINE_CONFIG_END
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/isa/aga.cpp b/src/devices/bus/isa/aga.cpp
index e1c26328c44..9aa2810431b 100644
--- a/src/devices/bus/isa/aga.cpp
+++ b/src/devices/bus/isa/aga.cpp
@@ -273,13 +273,12 @@ MC6845_UPDATE_ROW( isa8_aga_device::aga_update_row )
}
-void isa8_aga_device::device_add_mconfig(machine_config &config)
-{
- screen_device &screen(SCREEN(config, AGA_SCREEN_NAME, SCREEN_TYPE_RASTER));
- screen.set_raw(XTAL(14'318'181), 912, 0, 640, 262, 0, 200);
- screen.set_screen_update(AGA_MC6845_NAME, FUNC(mc6845_device::screen_update));
+MACHINE_CONFIG_START(isa8_aga_device::device_add_mconfig)
+ MCFG_SCREEN_ADD( AGA_SCREEN_NAME, RASTER )
+ MCFG_SCREEN_RAW_PARAMS( XTAL(14'318'181),912,0,640,262,0,200 )
+ MCFG_SCREEN_UPDATE_DEVICE( AGA_MC6845_NAME, mc6845_device, screen_update )
- PALETTE(config, m_palette).set_entries(/* CGA_PALETTE_SETS * 16*/ 65536);
+ MCFG_PALETTE_ADD( "palette", /* CGA_PALETTE_SETS * 16*/ 65536 )
MC6845(config, m_mc6845, XTAL(14'318'181)/8);
m_mc6845->set_screen(AGA_SCREEN_NAME);
@@ -288,7 +287,7 @@ void isa8_aga_device::device_add_mconfig(machine_config &config)
m_mc6845->set_update_row_callback(FUNC(isa8_aga_device::aga_update_row), this);
m_mc6845->out_hsync_callback().set(FUNC(isa8_aga_device::hsync_changed));
m_mc6845->out_vsync_callback().set(FUNC(isa8_aga_device::vsync_changed));
-}
+MACHINE_CONFIG_END
/*************************************
@@ -690,7 +689,7 @@ READ8_MEMBER ( isa8_aga_device::pc_aga_mda_r )
/* return last written mc6845 address value here? */
break;
case 1: case 3: case 5: case 7:
- data = m_mc6845->register_r();
+ data = m_mc6845->register_r(space, offset);
break;
case 10:
data = m_vsync | 0x08 | m_hsync;
@@ -707,10 +706,10 @@ WRITE8_MEMBER ( isa8_aga_device::pc_aga_mda_w )
switch( offset )
{
case 0: case 2: case 4: case 6:
- m_mc6845->address_w(data);
+ m_mc6845->address_w( space, offset, data );
break;
case 1: case 3: case 5: case 7:
- m_mc6845->register_w(data);
+ m_mc6845->register_w( space, offset, data );
break;
case 8:
m_mda_mode_control = data;
@@ -741,7 +740,7 @@ READ8_MEMBER ( isa8_aga_device::pc_aga_cga_r )
/* return last written mc6845 address value here? */
break;
case 1: case 3: case 5: case 7:
- data = m_mc6845->register_r();
+ data = m_mc6845->register_r( space, offset);
break;
case 10:
data = m_vsync | ( ( data & 0x40 ) >> 4 ) | m_hsync;
@@ -792,10 +791,10 @@ WRITE8_MEMBER (isa8_aga_device:: pc_aga_cga_w )
if ( m_mode == AGA_COLOR ) {
switch(offset) {
case 0: case 2: case 4: case 6:
- m_mc6845->address_w(data);
+ m_mc6845->address_w( space, offset, data );
break;
case 1: case 3: case 5: case 7:
- m_mc6845->register_w(data);
+ m_mc6845->register_w( space, offset, data );
break;
case 8:
m_cga_mode_control = data;
diff --git a/src/devices/bus/isa/aha1542.cpp b/src/devices/bus/isa/aha1542.cpp
new file mode 100644
index 00000000000..8e260347eee
--- /dev/null
+++ b/src/devices/bus/isa/aha1542.cpp
@@ -0,0 +1,200 @@
+// license:BSD-3-Clause
+// copyright-holders:Darkstar
+/**********************************************************************
+ *
+ * Adaptec AHA-1542{,C,CF} SCSI Controller
+ *
+ **********************************************************************/
+
+/*
+ PCB layout
+ ----------
+ Floppy SCSI
+ +-----------+ +------------------+ +-
+ +-----+-----------+-+------------------+--+
+ | |
+ | DIPSW DS1 |\
+ | +-----+ | |
+ | | | Y1 +---+ TRM TRM | |
+ | | U3 | |U5 | |S|
+ | U8 +-----+ +---+ |C|
+ | +---+ +------+ +-------+ |S|
+ | |U13| |U15 | Y2 | | |I|
+ | +---+ +------+ | | | |
+ | |U16 | |U17 | | |
+ | +------+ +-------+ |/
+ +-----------------------------------------+
+ ||||||||| ||||||||||||||||||||||||| |
+
+
+ DIPSW sw1 - sw8
+ U3 Intel chip labelled "AHA-1542CF/552800-01 D/9346", probably FDC (82077)
+ U5 Z84C0010VEC
+ U8 EEPROM(?) labelled 545120A
+ U13 CXK5864CM-10LL (64kbit SRAM)
+ U15 M27C256B labelled "ADAPTEC INC/553801-00 C/MCODE 563D/(C) 1993"
+ U16 M27C256B labelled "ADAPTEC INC/553601-00 C/BIOS C38D/(C) 1993"
+ U17 AIC-7970Q
+ Y1 XTAL SRX4054 93-38
+ Y2 XTAL SRX4053 93-40
+ TRM Dallas DS2107AS (SCSI termination)
+ DS1 LED
+
+*/
+
+/*
+ * The PCB has a couple of DIP switches:
+ *
+ * sw1 on enable termination
+ * off software-controlled termination
+ *
+ * sw2 sw3 sw4 I/O Port
+ * off off off 0x330 - 0x333 (default)
+ * on off off 0x334 - 0x337
+ * off on off 0x230 - 0x233
+ * on on off 0x234 - 0x237
+ * off off on 0x130 - 0x133
+ * on off on 0x134 - 0x137
+ * off on on reserved
+ * on on on reserved
+ *
+ * sw5 on disable floppy interface
+ * off enable floppy interface
+ *
+ * sw6 sw7 sw8 BIOS base address
+ * off off off 0xdc000 (default)
+ * on off off 0xd8000
+ * off on off 0xd4000
+ * on on off 0xd0000
+ * off off on 0xcc000
+ * on off on 0xc8000
+ * off on on reserved
+ * on on on BIOS disabled
+ *
+ * source: http://download.adaptec.com/pdfs/installation_guides/1540cfig.pdf
+ */
+
+#include "emu.h"
+#include "aha1542.h"
+#include "cpu/z80/z80.h"
+
+// I/O Port interface
+// READ Port x+0: STATUS
+// WRITE Port x+0: CONTROL
+//
+// READ Port x+1: DATA
+// WRITE Port x+1: COMMAND
+//
+// READ Port x+2: INTERRUPT STATUS
+// WRITE Port x+2: (undefined?)
+//
+// R/W Port x+3: (undefined)
+
+// READ STATUS flags
+#define STAT_STST 0x80 // self-test in progress
+#define STAT_DIAGF 0x40 // internal diagnostic failure
+#define STAT_INIT 0x20 // mailbox initialization required
+#define STAT_IDLE 0x10 // HBA is idle
+#define STAT_CDFULL 0x08 // Command/Data output port is full
+#define STAT_DFULL 0x04 // Data input port is full
+#define STAT_INVCMD 0x01 // Invalid command
+
+// READ INTERRUPT STATUS flags
+#define INTR_ANY 0x80 // any interrupt
+#define INTR_SRCD 0x08 // SCSI reset detected
+#define INTR_HACC 0x04 // HA command complete
+#define INTR_MBOA 0x02 // MBO empty
+#define INTR_MBIF 0x01 // MBI full
+
+// WRITE CONTROL commands
+#define CTRL_HRST 0x80 // Hard reset
+#define CTRL_SRST 0x40 // Soft reset
+#define CTRL_IRST 0x20 // interrupt reset
+#define CTRL_SCRST 0x10 // SCSI bus reset
+
+// READ/WRITE DATA commands
+#define CMD_NOP 0x00 // No operation
+#define CMD_MBINIT 0x01 // mailbox initialization
+#define CMD_START_SCSI 0x02 // Start SCSI command
+#define CMD_BIOSCMD 0x03 // undocumented BIOS conmmand (shadow RAM etc.)
+#define CMD_INQUIRY 0x04 // Adapter inquiry
+#define CMD_EMBOI 0x05 // enable Mailbox Out Interrupt
+#define CMD_SELTIMEOUT 0x06 // Set SEL timeout
+#define CMD_BUSON_TIME 0x07 // set bus-On time
+#define CMD_BUSOFF_TIME 0x08 // set bus-off time
+#define CMD_DMASPEED 0x09 // set ISA DMA speed
+#define CMD_RETDEVS 0x0a // return installed devices
+#define CMD_RETCONF 0x0b // return configuration data
+#define CMD_TARGET 0x0c // set HBA to target mode
+#define CMD_RETSETUP 0x0d // return setup data
+#define CMD_ECHO 0x1f // ECHO command data (NetBSD says it is 0x1e)
+
+// these are for 1541C only:
+#define CMD_RETDEVSHI 0x23 // return devices 8-15 (from NetBSD)
+#define CMD_EXTBIOS 0x28 // return extended BIOS information
+#define CMD_MBENABLE 0x29 // set mailbox interface enable
+
+DEFINE_DEVICE_TYPE(AHA1542, aha1542_device, "aha1542", "AHA1542 SCSI Controller")
+
+#define Z84C0010_TAG "u5"
+
+READ8_MEMBER( aha1542_device::aha1542_r )
+{
+ logerror("%s aha1542_r(): offset=%d\n", machine().describe_context(), offset);
+ return 0xff;
+}
+
+WRITE8_MEMBER( aha1542_device::aha1542_w )
+{
+ logerror("%s aha1542_w(): offset=%d data=0x%02x\n", machine().describe_context(), offset, data);
+}
+
+//-------------------------------------------------
+// ROM( aha1542 )
+//-------------------------------------------------
+
+ROM_START( aha1542 )
+ ROM_REGION( 0x8000, "aha1542", 0 )
+ ROM_LOAD( "553601-00.u16", 0x0000, 0x8000, CRC(ab22fc02) SHA1(f9f783e0272fc14ba3de32316997f1f6cadc67d0) ) /* Adaptec 1540CF/1542CF BIOS v2.01 */
+
+ ROM_REGION( 0x8000, Z84C0010_TAG, 0 )
+ ROM_LOAD( "553801-00.u15", 0x0000, 0x8000, CRC(7824397e) SHA1(35bc2c8fab31aad3190a478f2dc8f3a72958cf04) ) /* ADAPTEC, INC MCODE */
+ROM_END
+
+void aha1542_device::z84c0010_mem(address_map &map)
+{
+ map(0x0000, 0x7fff).rom().region(Z84C0010_TAG, 0);
+ map(0x8000, 0x800f).noprw(); // something is mapped there
+ map(0x9000, 0xafff).ram(); // 2kb RAM chip
+ map(0xe000, 0xe0ff).ram(); // probably PC<->Z80 communication area
+ map(0xb000, 0xb000).noprw(); // something?
+}
+
+const tiny_rom_entry *aha1542_device::device_rom_region() const
+{
+ return ROM_NAME( aha1542 );
+}
+
+MACHINE_CONFIG_START(aha1542_device::device_add_mconfig)
+ MCFG_DEVICE_ADD(Z84C0010_TAG, Z80, XTAL(12'000'000))
+ MCFG_DEVICE_PROGRAM_MAP( z84c0010_mem )
+MACHINE_CONFIG_END
+
+aha1542_device::aha1542_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, AHA1542, tag, owner, clock),
+ device_isa16_card_interface(mconfig, *this)
+{
+}
+
+void aha1542_device::device_start()
+{
+ set_isa_device();
+ m_isa->install_rom(this, 0xdc000, 0xdffff, "aha1542", "aha1542");
+ m_isa->install_device(0x330, 0x333, read8_delegate(FUNC( aha1542_device::aha1542_r ), this),
+ write8_delegate(FUNC( aha1542_device::aha1542_w ), this) );
+}
+
+
+void aha1542_device::device_reset()
+{
+}
diff --git a/src/devices/bus/isa/aha1542.h b/src/devices/bus/isa/aha1542.h
new file mode 100644
index 00000000000..cc84c2ea55b
--- /dev/null
+++ b/src/devices/bus/isa/aha1542.h
@@ -0,0 +1,54 @@
+// license:BSD-3-Clause
+// copyright-holders:Darkstar
+/**********************************************************************
+ *
+ * Adaptec AHA-1542{,C,CF} SCSI Controller
+ *
+ **********************************************************************
+
+
+
+ **********************************************************************/
+
+#ifndef MAME_BUS_AHA1542_H
+#define MAME_BUS_AHA1542_H
+
+#pragma once
+
+
+#include "isa.h"
+
+//*********************************************************************
+// TYPE DEFINITIONS
+//*********************************************************************
+
+// ====================> aha1542_device
+
+class aha1542_device : public device_t,
+ public device_isa16_card_interface
+{
+public:
+ static constexpr feature_type unemulated_features() { return feature::DISK; }
+ // construction/destruction
+ aha1542_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+ DECLARE_READ8_MEMBER( aha1542_r );
+ DECLARE_WRITE8_MEMBER( aha1542_w );
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
+ // optional information overrides
+ virtual const tiny_rom_entry *device_rom_region() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
+
+private:
+ void z84c0010_mem(address_map &map);
+};
+
+// device type definition
+DECLARE_DEVICE_TYPE(AHA1542, aha1542_device)
+
+#endif // MAME_BUS_AHA1542_H
diff --git a/src/devices/bus/isa/aha1542b.cpp b/src/devices/bus/isa/aha1542b.cpp
deleted file mode 100644
index e0073cbbd68..00000000000
--- a/src/devices/bus/isa/aha1542b.cpp
+++ /dev/null
@@ -1,126 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:AJR
-/***************************************************************************
-
- Adaptec AHA-1540/42A and AHA-1540/42B SCSI controllers
-
- The alternate BIOSes using port 334h instead of 330h are provided due
- to certain MIDI cards requiring the 330h port.
-
-***************************************************************************/
-
-#include "emu.h"
-#include "aha1542b.h"
-
-#include "cpu/i8085/i8085.h"
-#include "machine/aic6250.h"
-#include "machine/nscsi_bus.h"
-#include "machine/nscsi_hd.h"
-
-
-DEFINE_DEVICE_TYPE(AHA1542A, aha1542a_device, "aha1542a", "AHA-1542A SCSI Controller")
-DEFINE_DEVICE_TYPE(AHA1542B, aha1542b_device, "aha1542b", "AHA-1542B SCSI Controller")
-
-
-aha154x_device::aha154x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock)
- : device_t(mconfig, type, tag, owner, clock)
- , device_isa16_card_interface(mconfig, *this)
- , m_fdc(*this, "fdc")
- , m_bios(*this, "bios")
-{
-}
-
-aha1542a_device::aha1542a_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
- : aha154x_device(mconfig, AHA1542A, tag, owner, clock)
-{
-}
-
-aha1542b_device::aha1542b_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
- : aha154x_device(mconfig, AHA1542B, tag, owner, clock)
-{
-}
-
-void aha154x_device::device_start()
-{
-}
-
-void aha154x_device::i8085_map(address_map &map)
-{
- map(0x0000, 0x3fff).rom().region("mcode", 0);
- map(0x8000, 0x800f).m("scsi:7:scsic", FUNC(aic6250_device::map));
- map(0xe000, 0xe7ff).ram();
-}
-
-static void aha154x_scsi_devices(device_slot_interface &device)
-{
- device.option_add("harddisk", NSCSI_HARDDISK);
- device.option_add_internal("scsic", AIC6250);
-}
-
-void aha154x_device::scsic_config(device_t *device)
-{
- device->set_clock(20'000'000);
- downcast<aic6250_device &>(*device).int_cb().set_inputline("^^localcpu", I8085_RST65_LINE);
-}
-
-void aha154x_device::device_add_mconfig(machine_config &config)
-{
- i8085a_cpu_device &localcpu(I8085A(config, "localcpu", 10'000'000));
- localcpu.set_addrmap(AS_PROGRAM, &aha154x_device::i8085_map);
-
- NSCSI_BUS(config, "scsi");
- NSCSI_CONNECTOR(config, "scsi:0", aha154x_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:1", aha154x_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:2", aha154x_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:3", aha154x_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:4", aha154x_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:5", aha154x_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:6", aha154x_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:7", aha154x_scsi_devices, "scsic", true)
- .set_option_machine_config("scsic", [this] (device_t *device) { scsic_config(device); });
-
- DP8473(config, m_fdc, 24_MHz_XTAL);
-}
-
-
-ROM_START(aha1542a)
- ROM_REGION(0x4000, "bios", 0)
- ROM_LOAD("b_9700.bin", 0x0000, 0x4000, CRC(35f546e9) SHA1(f559b08f52044f53836021a83f56f628e32216bd))
-
- ROM_REGION(0x4000, "mcode", 0)
- ROM_LOAD("m_e7bc.bin", 0x0000, 0x4000, CRC(985b7a31) SHA1(bba0d84fa1b67ea71905953c25201fa2020cf465))
-ROM_END
-
-ROM_START(aha1542b)
- ROM_REGION(0x4000, "bios", 0)
- ROM_SYSTEM_BIOS(0, "v310", "AT/SCSI BIOS Version 3.10")
- ROMX_LOAD("adaptec_inc_420412-00_b_bios_bc00_1990.bin", 0x0000, 0x4000, CRC(bd3f74e7) SHA1(c38d82fd50e5439812fa093e0d4f5fd136c63844), ROM_BIOS(0))
- ROM_SYSTEM_BIOS(1, "v310a", "AT/SCSI BIOS Version 3.10A (port 334h)")
- ROMX_LOAD("154xp334.bin", 0x0000, 0x4000, CRC(4911f232) SHA1(2e24ce380c6f7694c45484019857cb919e2a9965), ROM_BIOS(1))
- ROM_SYSTEM_BIOS(2, "v311", "AT/SCSI BIOS Version 3.11")
- ROMX_LOAD("bios_c900.u13", 0x0000, 0x4000, CRC(4660d0c1) SHA1(a581291de96836b6f6cc0b6244b8fa1ee333346a), ROM_BIOS(2))
- ROM_SYSTEM_BIOS(3, "v320g", "AT/SCSI BIOS Version 3.20 (> 1 GB support)")
- ROMX_LOAD("b_bd00.bin", 0x0000, 0x4000, CRC(2387197b) SHA1(703e1fe1ba924c02d617ac37ec7a20e12bef1cc7), ROM_BIOS(3))
- ROM_SYSTEM_BIOS(4, "v320gt", "AT/SCSI BIOS Version 3.20 (extended timeout)")
- ROMX_LOAD("b_b300.bin", 0x0000, 0x4000, CRC(4c5b07d8) SHA1(692e824f916f55519c9905839f5f6609f5e8c0a5), ROM_BIOS(4))
- ROM_SYSTEM_BIOS(5, "v320a", "AT/SCSI BIOS Version 3.20Alt (port 334h)")
- ROMX_LOAD("b_ac00.bin", 0x0000, 0x4000, CRC(becd6d08) SHA1(b5e7cbdeb241c1ff57602291e87c58ac0ee72d54), ROM_BIOS(5))
-
- ROM_REGION(0x4000, "mcode", 0)
- ROMX_LOAD("adaptec_inc_434108-00_a_mcode_fc8a_1990.bin", 0x0000, 0x4000, CRC(6801f89e) SHA1(33d36bc93734105b950414e7c433a283032838e9), ROM_BIOS(0))
- ROMX_LOAD("adaptec_inc_434108-00_a_mcode_fc8a_1990.bin", 0x0000, 0x4000, CRC(6801f89e) SHA1(33d36bc93734105b950414e7c433a283032838e9), ROM_BIOS(1)) // assumed compatible with v310a BIOS
- ROMX_LOAD("firmware_62d3.u12", 0x0000, 0x4000, CRC(6056ca33) SHA1(8dd4aaffcb107dbcc85ac87d878fa6093b904a20), ROM_BIOS(2))
- ROMX_LOAD("m_3054.bin", 0x0000, 0x4000, CRC(461b1885) SHA1(50dc49b0fd88b116b83e3c71f58c758b618d1ddf), ROM_BIOS(3))
- ROMX_LOAD("m_5d98.bin", 0x0000, 0x4000, CRC(f7d51536) SHA1(5ad1bb4bde3e8c30380b05d32ac273c781ab12a8), ROM_BIOS(4)) // also provided with v320g BIOS
- ROMX_LOAD("m_3054.bin", 0x0000, 0x4000, CRC(461b1885) SHA1(50dc49b0fd88b116b83e3c71f58c758b618d1ddf), ROM_BIOS(5))
-ROM_END
-
-const tiny_rom_entry *aha1542a_device::device_rom_region() const
-{
- return ROM_NAME(aha1542a);
-}
-
-const tiny_rom_entry *aha1542b_device::device_rom_region() const
-{
- return ROM_NAME(aha1542b);
-}
diff --git a/src/devices/bus/isa/aha1542b.h b/src/devices/bus/isa/aha1542b.h
deleted file mode 100644
index 95e379cb137..00000000000
--- a/src/devices/bus/isa/aha1542b.h
+++ /dev/null
@@ -1,57 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:AJR
-/***************************************************************************
-
- Adaptec AHA-1540/42A and AHA-1540/42B SCSI controllers
-
-***************************************************************************/
-
-#ifndef MAME_BUS_ISA_AHA1542B_H
-#define MAME_BUS_ISA_AHA1542B_H
-
-#pragma once
-
-#include "isa.h"
-#include "machine/upd765.h"
-
-class aha154x_device : public device_t, public device_isa16_card_interface
-{
-protected:
- aha154x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock);
-
- virtual void device_start() override;
- virtual void device_add_mconfig(machine_config &config) override;
-
- void i8085_map(address_map &map);
- void scsic_config(device_t *device);
-
- required_device<upd765_family_device> m_fdc;
- required_region_ptr<u8> m_bios;
-};
-
-class aha1542a_device : public aha154x_device
-{
-public:
- aha1542a_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
-
- static constexpr feature_type unemulated_features() { return feature::DISK; }
-
-protected:
- virtual const tiny_rom_entry *device_rom_region() const override;
-};
-
-class aha1542b_device : public aha154x_device
-{
-public:
- aha1542b_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
-
- static constexpr feature_type unemulated_features() { return feature::DISK; }
-
-protected:
- virtual const tiny_rom_entry *device_rom_region() const override;
-};
-
-DECLARE_DEVICE_TYPE(AHA1542A, aha1542a_device)
-DECLARE_DEVICE_TYPE(AHA1542B, aha1542b_device)
-
-#endif // MAME_BUS_ISA_AHA1542B_H
diff --git a/src/devices/bus/isa/aha1542c.cpp b/src/devices/bus/isa/aha1542c.cpp
deleted file mode 100644
index efb8181061c..00000000000
--- a/src/devices/bus/isa/aha1542c.cpp
+++ /dev/null
@@ -1,323 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Darkstar
-/**********************************************************************
- *
- * Adaptec AHA-1542{C,CF,CP} SCSI Controller
- *
- **********************************************************************/
-
-/*
-Hardware info by Guru
-
-Adaptec 1993
-
-PCB Layout
-----------
-
-Adaptec AHA-1542CF/1542CF
-FCC ID: FGT1542CF
-FAB 545107-00 REV C
-ASSY 545106-00
-
-|-------|---------------|---|-------------------|--|
-| J1 | FLOPPY34 | | SCSI50 | |
-| |---------------| |-------------------| |
-| S1 DS1 |
-| |
-| |------| DS2107AS DS2107AS |--|
-| |PC8477| 24MHz Z84C0010 | |
-| PAL |BV-1 | |S |
-| | | |----------| | |
-| |------| | | |C |
-| 93C46.U11 20MHz | | | |
-| UM6264 MCODE.U15 |ADAPTEC | |S |
-| |AIC-7970Q | | |
-| BIOS.U16 | | |I |
-| | | | |
-| |----------| |--|
-| |
-|-| |--| |----|
- |--------------| |-------------------------|
-
-Notes:
- J1 - 4-position header for drive activity external LED connection
- S1 - 8-position DIP Switch (See Table A)
- PC8477BV-1 - National Semiconductor PC8477BV-1 'SuperFDC' Advanced Floppy Disk Controller (PLCC68)
- This is software compatible with NEC uPD765 and pin compatible with Intel 82077AA
- Labelled "AHA-1542CF/552800-01 F/9513"
- Clock input 24.000MHz
- SCSI - 50-pin Centronics style external SCSI connector (DDK 57AE-40500-21D)
- Z84C0010 - Zilog Z84C0010VEC Z80 CPU. Clock input 20/2 [10.000MHz] sourced from AIC-7970Q (PLCC44)
- 93C46.U11 - Atmel 93C46 128b x8-bit / 64b x16-bit (1kB) EEPROM labelled '545120A' (SOIC8)
- 6264 - Unicorn Microelectronics UM6264BM-10L 8k x8-bit Static RAM (SOJ28)
- MCODE.U15 - ST Microelectronics M27C256B 32k x8-bit EPROM labelled 'ADAPTEC INC 553801-00 E MCODE 4B81' (DIP28)
- BIOS.U16 - ST Microelectronics M27C256B 32k x8-bit EPROM labelled 'ADAPTEC INC 553601-00 E BIOS 7600' (DIP28)
- BIOS 0x7600h is revision 2.10
- PAL - AMD PALCE16V8H-15JC/4 PAL (SOJ20)
- AIC-7970Q - Adaptec AIC-7970Q Fast SCSI Controller IC. Clock input 20.000MHz (QFP144)
- DS2107AS - Dallas DS2107AS SCSI Active Terminator (SOIC16)
- DS1 - Internal Drive Activity LED
- SCSI50 - 50-pin Right Angled Flat Cable Connector With Support For Up To 7 SCSI Drives
- FLOPPY34 - 34-pin Right Angled Flat Cable Connector With Support For Up To 2 Floppy Drives (360kb,720kb,1.2MB,1.44MB)
-
-
-Table A - S1 DIP Switch Description
------------------------------------
-
-Default: All DIP Switches OFF (i.e. Settings changed via BIOS and saved in EEPROM)
-Software Defaults = *
-----------------------+-----+-----+-----+-----+-----+-----+-----+-----+
- | SW1 | SW2 | SW3 | SW4 | SW5 | SW6 | SW7 | SW8 |
-----------------------|-----+-----+-----+-----+-----+-----+-----+-----+
-Termination Enabled | ON | | | | | | | |
- Set In BIOS*| OFF | | | | | | | |
-----------------------+-----+-----+-----+-----+ | | | |
-I/O Port 330H*| | OFF | OFF | OFF | | | | |
- 334H | | ON | OFF | OFF | | | | |
- 230H | | OFF | ON | OFF | | | | |
- 234H | | ON | ON | OFF | | | | |
- 130H | | OFF | OFF | ON | | | | |
- 134H | | ON | OFF | ON | | | | |
- Reserved | | OFF | ON | ON | | | | |
- Reserved | | ON | ON | ON | | | | |
-----------------------+-----+-----+-----+-----+-----+ | | |
-Enable Floppy Yes*| | OFF | | | |
- No | | ON | | | |
-----------------------+-----------------------+-----+-----+-----+-----+
-BIOS Address DC000H*| | OFF | OFF | OFF |
- D8000H | | ON | OFF | OFF |
- D4000H | | OFF | ON | OFF |
- D0000H | | ON | ON | OFF |
- CC000H | | OFF | OFF | ON |
- C8000H | | ON | OFF | ON |
- Reserved | | OFF | ON | ON |
- BIOS Disabled | | ON | ON | ON |
-----------------------+-----------------------------+-----+-----+-----+
-
-Documentation:
-Adaptec AHA-1540CF/1542CF Installation Guide
-http://download.adaptec.com/pdfs/installation_guides/aha1540cf_ig.pdf
- */
-
-#include "emu.h"
-#include "aha1542c.h"
-#include "cpu/z80/z80.h"
-
-// I/O Port interface
-// READ Port x+0: STATUS
-// WRITE Port x+0: CONTROL
-//
-// READ Port x+1: DATA
-// WRITE Port x+1: COMMAND
-//
-// READ Port x+2: INTERRUPT STATUS
-// WRITE Port x+2: (undefined?)
-//
-// R/W Port x+3: (undefined)
-
-// READ STATUS flags
-#define STAT_STST 0x80 // self-test in progress
-#define STAT_DIAGF 0x40 // internal diagnostic failure
-#define STAT_INIT 0x20 // mailbox initialization required
-#define STAT_IDLE 0x10 // HBA is idle
-#define STAT_CDFULL 0x08 // Command/Data output port is full
-#define STAT_DFULL 0x04 // Data input port is full
-#define STAT_INVCMD 0x01 // Invalid command
-
-// READ INTERRUPT STATUS flags
-#define INTR_ANY 0x80 // any interrupt
-#define INTR_SRCD 0x08 // SCSI reset detected
-#define INTR_HACC 0x04 // HA command complete
-#define INTR_MBOA 0x02 // MBO empty
-#define INTR_MBIF 0x01 // MBI full
-
-// WRITE CONTROL commands
-#define CTRL_HRST 0x80 // Hard reset
-#define CTRL_SRST 0x40 // Soft reset
-#define CTRL_IRST 0x20 // interrupt reset
-#define CTRL_SCRST 0x10 // SCSI bus reset
-
-// READ/WRITE DATA commands
-#define CMD_NOP 0x00 // No operation
-#define CMD_MBINIT 0x01 // mailbox initialization
-#define CMD_START_SCSI 0x02 // Start SCSI command
-#define CMD_BIOSCMD 0x03 // undocumented BIOS conmmand (shadow RAM etc.)
-#define CMD_INQUIRY 0x04 // Adapter inquiry
-#define CMD_EMBOI 0x05 // enable Mailbox Out Interrupt
-#define CMD_SELTIMEOUT 0x06 // Set SEL timeout
-#define CMD_BUSON_TIME 0x07 // set bus-On time
-#define CMD_BUSOFF_TIME 0x08 // set bus-off time
-#define CMD_DMASPEED 0x09 // set ISA DMA speed
-#define CMD_RETDEVS 0x0a // return installed devices
-#define CMD_RETCONF 0x0b // return configuration data
-#define CMD_TARGET 0x0c // set HBA to target mode
-#define CMD_RETSETUP 0x0d // return setup data
-#define CMD_ECHO 0x1f // ECHO command data (NetBSD says it is 0x1e)
-
-// these are for 1541C only:
-#define CMD_RETDEVSHI 0x23 // return devices 8-15 (from NetBSD)
-#define CMD_EXTBIOS 0x28 // return extended BIOS information
-#define CMD_MBENABLE 0x29 // set mailbox interface enable
-
-DEFINE_DEVICE_TYPE(AHA1542C, aha1542c_device, "aha1542c", "AHA-1542C SCSI Controller")
-DEFINE_DEVICE_TYPE(AHA1542CF, aha1542cf_device, "aha1542cf", "AHA-1542CF SCSI Controller")
-DEFINE_DEVICE_TYPE(AHA1542CP, aha1542cp_device, "aha1542cp", "AHA-1542CP SCSI Controller")
-
-#define Z84C0010_TAG "z84c0010"
-
-READ8_MEMBER( aha1542c_device::aha1542_r )
-{
- logerror("%s aha1542_r(): offset=%d\n", machine().describe_context(), offset);
- return 0xff;
-}
-
-WRITE8_MEMBER( aha1542c_device::aha1542_w )
-{
- logerror("%s aha1542_w(): offset=%d data=0x%02x\n", machine().describe_context(), offset, data);
-}
-
-
-ROM_START( aha1542c )
- ROM_REGION( 0x8000, "aha1542", 0 )
- ROM_SYSTEM_BIOS( 0, "v101", "AHA-1540C/1542C BIOS v1.01" )
- ROMX_LOAD( "adaptec_inc_534201-00_d_bios_144c_1993.u15", 0x0000, 0x8000, CRC(35178004) SHA1(2b38f2e40cd02a1b32966ead7b202b0fca130cb8), ROM_BIOS(0) )
- ROM_SYSTEM_BIOS( 1, "v102", "AHA-1540C/1542C BIOS v1.02" )
- ROMX_LOAD( "b_91c5.bin", 0x0000, 0x8000, CRC(076ac252) SHA1(d640b980e85d07029d8ce11a52fa26ba0f93c5de), ROM_BIOS(1) )
-
- ROM_REGION( 0x8000, Z84C0010_TAG, 0 )
- ROMX_LOAD( "adaptec_inc_534001-00_d_mcode_a3c2_1993.u5", 0x0000, 0x8000, CRC(220dd5a2) SHA1(4fc51c9dd63b45a50edcd56baa706d61decbef38), ROM_BIOS(0) )
- ROMX_LOAD( "m_866a.bin", 0x0000, 0x8000, CRC(ef09053a) SHA1(ae7900653357d5f32a2734bc13d9ec63bd805597), ROM_BIOS(1) )
-ROM_END
-
-ROM_START( aha1542cf )
- ROM_REGION( 0x8000, "aha1542", 0 )
- ROM_SYSTEM_BIOS( 0, "v201", "Adaptec 1540CF/1542CF BIOS v2.01" )
- ROMX_LOAD( "adaptec_inc_553601-00_c_bios_c38d_1993.u16", 0x0000, 0x8000, CRC(ab22fc02) SHA1(f9f783e0272fc14ba3de32316997f1f6cadc67d0), ROM_BIOS(0) )
- ROM_SYSTEM_BIOS( 1, "v210", "Adaptec 1540CF/1542CF BIOS v2.10" )
- ROMX_LOAD( "adaptec_inc_553601-00_e_bios_7600_1994.u16", 0x0000, 0x8000, CRC(8f3a2692) SHA1(b9dbd49baeec55098195131d0ed1a9bfe8463640), ROM_BIOS(1) )
- ROM_SYSTEM_BIOS( 2, "v211", "Adaptec 1540CF/1542CF BIOS v2.11" )
- ROMX_LOAD( "adaptec_inc_553601-00_g_bios_b402_1995.u16", 0x0000, 0x8000, CRC(fddd0b83) SHA1(aabd227cb338d8812e0bb5c17c08ea06c5aedd36), ROM_BIOS(2) )
-
- ROM_REGION( 0x8000, Z84C0010_TAG, 0 )
- ROMX_LOAD( "adaptec_inc_553801-00_c_mcode_563d_1993.u15", 0x0000, 0x8000, CRC(7824397e) SHA1(35bc2c8fab31aad3190a478f2dc8f3a72958cf04), ROM_BIOS(0) )
- ROMX_LOAD( "adaptec_inc_553801-00_e_mcode_4b81_1994.u15", 0x0000, 0x8000, CRC(dd651476) SHA1(cda508281302be53ebdcf8daa61754c89ad12111), ROM_BIOS(1) )
- ROMX_LOAD( "adaptec_inc_553801-00_g_mcode_2cde_1995.u15", 0x0000, 0x8000, CRC(896873cd) SHA1(6edbdd9b0b15ef31ca0741cac31556d2d5266b6e), ROM_BIOS(2) )
-ROM_END
-
-ROM_START( aha1542cp )
- ROM_REGION( 0x8000, "aha1542", 0 )
- ROM_LOAD( "adaptec_inc_908501-00_d_bios_a91e_1995.u7", 0x0000, 0x8000, CRC(0646c35e) SHA1(3a7c2731abd8295438cfa1f2a525be53e9512b1a) )
-
- ROM_REGION( 0x8000, Z84C0010_TAG, 0 )
- ROM_LOAD( "908301-00_f_mcode_17c9.u12", 0x0000, 0x8000, CRC(04494022) SHA1(431dfc26312556ddd24fccc429b2b3e93bac5c2f) )
-ROM_END
-
-
-u8 aha1542c_device::local_status_r()
-{
- return m_eeprom->do_read() << 7;
-}
-
-void aha1542c_device::local_latch_w(u8 data)
-{
- m_eeprom->cs_write(BIT(data, 2));
- m_eeprom->clk_write(BIT(data, 1));
- m_eeprom->di_write(BIT(data, 0));
- // TODO: several other bits are used
-}
-
-void aha1542c_device::z84c0010_mem(address_map &map)
-{
- map(0x0000, 0x7fff).rom().region(Z84C0010_TAG, 0);
- map(0x8000, 0x9fff).ram(); // 2kb RAM chip
- map(0xa000, 0xa000).r(FUNC(aha1542c_device::local_status_r));
- map(0xb000, 0xb000).w(FUNC(aha1542c_device::local_latch_w));
- map(0xe000, 0xe0ff).ram(); // probably PC<->Z80 communication area
- map(0xe003, 0xe003).lr8("e003_r", []() { return 0x20; });
-}
-
-u8 aha1542cp_device::eeprom_r()
-{
- return m_eeprom->do_read();
-}
-
-void aha1542cp_device::eeprom_w(u8 data)
-{
- m_eeprom->cs_write(BIT(data, 2));
- m_eeprom->clk_write(BIT(data, 1));
- m_eeprom->di_write(BIT(data, 0));
-}
-
-void aha1542cp_device::local_mem(address_map &map)
-{
- map(0x0000, 0x7fff).rom().region(Z84C0010_TAG, 0);
- map(0x8000, 0x9fff).ram();
- map(0xc001, 0xc001).rw(FUNC(aha1542cp_device::eeprom_r), FUNC(aha1542cp_device::eeprom_w));
- map(0xe003, 0xe003).nopr();
-}
-
-const tiny_rom_entry *aha1542c_device::device_rom_region() const
-{
- return ROM_NAME( aha1542c );
-}
-
-const tiny_rom_entry *aha1542cf_device::device_rom_region() const
-{
- return ROM_NAME( aha1542cf );
-}
-
-const tiny_rom_entry *aha1542cp_device::device_rom_region() const
-{
- return ROM_NAME( aha1542cp );
-}
-
-void aha1542c_device::device_add_mconfig(machine_config &config)
-{
- z80_device &cpu(Z80(config, Z84C0010_TAG, 10'000'000));
- cpu.set_addrmap(AS_PROGRAM, &aha1542c_device::z84c0010_mem);
-
- EEPROM_93C46_16BIT(config, m_eeprom);
-}
-
-void aha1542cp_device::device_add_mconfig(machine_config &config)
-{
- z80_device &cpu(Z80(config, Z84C0010_TAG, 10'000'000));
- cpu.set_addrmap(AS_PROGRAM, &aha1542cp_device::local_mem);
-
- EEPROM_93C46_16BIT(config, m_eeprom);
-}
-
-aha1542c_device::aha1542c_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock)
- : device_t(mconfig, type, tag, owner, clock)
- , device_isa16_card_interface(mconfig, *this)
- , m_eeprom(*this, "eeprom")
-{
-}
-
-aha1542c_device::aha1542c_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
- : aha1542c_device(mconfig, AHA1542C, tag, owner, clock)
-{
-}
-
-aha1542cf_device::aha1542cf_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
- : aha1542c_device(mconfig, AHA1542CF, tag, owner, clock)
-{
-}
-
-aha1542cp_device::aha1542cp_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
- : aha1542c_device(mconfig, AHA1542CP, tag, owner, clock)
-{
-}
-
-void aha1542c_device::device_start()
-{
- set_isa_device();
- m_isa->install_rom(this, 0xdc000, 0xdffff, "aha1542", "aha1542");
- m_isa->install_device(0x330, 0x333, read8_delegate(FUNC( aha1542cf_device::aha1542_r ), this),
- write8_delegate(FUNC( aha1542cf_device::aha1542_w ), this) );
-}
-
-
-void aha1542c_device::device_reset()
-{
-}
diff --git a/src/devices/bus/isa/aha1542c.h b/src/devices/bus/isa/aha1542c.h
deleted file mode 100644
index 2294096bde7..00000000000
--- a/src/devices/bus/isa/aha1542c.h
+++ /dev/null
@@ -1,95 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Darkstar
-/**********************************************************************
- *
- * Adaptec AHA-1542{C,CF,CP} SCSI Controller
- *
- **********************************************************************
-
-
-
- **********************************************************************/
-
-#ifndef MAME_BUS_AHA1542C_H
-#define MAME_BUS_AHA1542C_H
-
-#pragma once
-
-
-#include "isa.h"
-#include "machine/eepromser.h"
-
-//*********************************************************************
-// TYPE DEFINITIONS
-//*********************************************************************
-
-// ====================> aha1542cf_device
-
-class aha1542c_device : public device_t,
- public device_isa16_card_interface
-{
-public:
- static constexpr feature_type unemulated_features() { return feature::DISK; }
- // construction/destruction
- aha1542c_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
-
- DECLARE_READ8_MEMBER( aha1542_r );
- DECLARE_WRITE8_MEMBER( aha1542_w );
-
-protected:
- aha1542c_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
-
- u8 local_status_r();
- void local_latch_w(u8 data);
-
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
- // optional information overrides
- virtual const tiny_rom_entry *device_rom_region() const override;
- virtual void device_add_mconfig(machine_config &config) override;
-
- required_device<eeprom_serial_93cxx_device> m_eeprom;
-
-private:
- void z84c0010_mem(address_map &map);
-};
-
-// ====================> aha1542cf_device
-
-class aha1542cf_device : public aha1542c_device
-{
-public:
- // construction/destruction
- aha1542cf_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
-
-protected:
- virtual const tiny_rom_entry *device_rom_region() const override;
-};
-
-// ====================> aha1542cp_device
-
-class aha1542cp_device : public aha1542c_device
-{
-public:
- // construction/destruction
- aha1542cp_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
-
-protected:
- virtual void device_add_mconfig(machine_config &config) override;
- virtual const tiny_rom_entry *device_rom_region() const override;
-
-private:
- u8 eeprom_r();
- void eeprom_w(u8 data);
-
- void local_mem(address_map &map);
-};
-
-// device type definitions
-DECLARE_DEVICE_TYPE(AHA1542C, aha1542c_device)
-DECLARE_DEVICE_TYPE(AHA1542CF, aha1542cf_device)
-DECLARE_DEVICE_TYPE(AHA1542CP, aha1542cp_device)
-
-#endif // MAME_BUS_AHA1542C_H
diff --git a/src/devices/bus/isa/aha174x.cpp b/src/devices/bus/isa/aha174x.cpp
deleted file mode 100644
index 06b6ddf5f62..00000000000
--- a/src/devices/bus/isa/aha174x.cpp
+++ /dev/null
@@ -1,160 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:AJR
-/***************************************************************************
-
- Adaptec AHA-1740/44 and AHA-1740A/42A Fast SCSI host adapters
-
- These are actually EISA cards, though they also have a compatibility
- mode that provides an interface like the older ISA AHA-154X series.
-
- On the AHA-1740 and AHA-1744, the HPC microcode is stored in an EEPROM
- (of unknown type), allowing it to be reprogrammed by the host. This is
- not possible on the AHA-1740A and AHA-1744A, which use a conventional
- 27C256 EPROM for the microcode. In both cases the HPC copies the code
- to and then executes it out of RAM.
-
- Though the AHA-1740 and AHA-1740A have different board layouts, they
- share the following ICs:
-
- AIC-565 Bus Auxiliary Interface Chip
- AIC-575 EISA Configuration Chip
- AIC-4600 HPC (HPC46003V20)
- AIC-6251A SCSI Interface and Protocol Chip
- IDT7201 512x9 FIFO (2 on board)
- Intel 82355 Bus Master Interface Controller
-
- AHA-1742A is the same as AHA-1740A, only with the FDC populated.
-
- AHA-1744 uses the same layout as AHA-1740, but populates the area
- around the SCSI port with DS36F95J differential drivers.
-
-***************************************************************************/
-
-#include "emu.h"
-#include "aha174x.h"
-
-#include "machine/aic6250.h"
-//#include "machine/i82355.h"
-#include "machine/nscsi_bus.h"
-#include "machine/nscsi_hd.h"
-
-DEFINE_DEVICE_TYPE(AHA1740, aha1740_device, "aha1740", "AHA-1740 Fast SCSI Host Adapter")
-DEFINE_DEVICE_TYPE(AHA1742A, aha1742a_device, "aha1742a", "AHA-1742A Fast SCSI Host Adapter")
-
-
-aha174x_device::aha174x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock)
- : device_t(mconfig, type, tag, owner, clock)
- , device_isa16_card_interface(mconfig, *this)
- , m_hpc(*this, "hpc")
- , m_bios(*this, "bios")
-{
-}
-
-aha1740_device::aha1740_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
- : aha174x_device(mconfig, AHA1740, tag, owner, clock)
-{
-}
-
-aha1742a_device::aha1742a_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
- : aha174x_device(mconfig, AHA1742A, tag, owner, clock)
- , m_fdc(*this, "fdc")
-{
-}
-
-void aha174x_device::device_start()
-{
-}
-
-
-void aha174x_device::hpc_map(address_map &map)
-{
- map(0x5000, 0x500f).m("scsi:7:scsic", FUNC(aic6251a_device::map));
- map(0x8000, 0xffff).rom().region("mcode", 0);
-}
-
-static void aha174x_scsi_devices(device_slot_interface &device)
-{
- device.option_add("harddisk", NSCSI_HARDDISK);
- device.option_add_internal("scsic", AIC6251A);
-}
-
-void aha174x_device::scsic_config(device_t *device)
-{
- device->set_clock(40_MHz_XTAL / 2); // divider not verified
-}
-
-void aha1740_device::device_add_mconfig(machine_config &config)
-{
- HPC46003(config, m_hpc, 40_MHz_XTAL / 2);
- m_hpc->set_addrmap(AS_PROGRAM, &aha1740_device::hpc_map);
-
- NSCSI_BUS(config, "scsi");
- NSCSI_CONNECTOR(config, "scsi:0", aha174x_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:1", aha174x_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:2", aha174x_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:3", aha174x_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:4", aha174x_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:5", aha174x_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:6", aha174x_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:7", aha174x_scsi_devices, "scsic", true)
- .set_option_machine_config("scsic", [this] (device_t *device) { scsic_config(device); });
-}
-
-void aha1742a_device::device_add_mconfig(machine_config &config)
-{
- HPC46003(config, m_hpc, 40_MHz_XTAL / 2);
- m_hpc->set_addrmap(AS_PROGRAM, &aha1742a_device::hpc_map);
-
- NSCSI_BUS(config, "scsi");
- NSCSI_CONNECTOR(config, "scsi:0", aha174x_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:1", aha174x_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:2", aha174x_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:3", aha174x_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:4", aha174x_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:5", aha174x_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:6", aha174x_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:7", aha174x_scsi_devices, "scsic", true)
- .set_option_machine_config("scsic", [this] (device_t *device) { scsic_config(device); });
-
- N82077AA(config, m_fdc, 24_MHz_XTAL);
-}
-
-
-ROM_START(aha1740)
- ROM_REGION(0x4000, "bios", 0)
- ROM_LOAD("b_dc00.bin", 0x0000, 0x4000, CRC(056d75ec) SHA1(8ca143adfc7d20ad5d49f14dedabc8276454bf9e))
-
- ROM_REGION16_LE(0x8000, "mcode", 0)
- ROM_SYSTEM_BIOS(0, "v140st", "BIOS v1.40 (Standard Mode)")
- ROMX_LOAD("standard.bin", 0x0000, 0x8000, CRC(8c15c6a2) SHA1(77e15b0244e3a814f53f957270e6474a8a839955), ROM_BIOS(0))
- ROM_SYSTEM_BIOS(1, "v140en", "BIOS v1.40 (Enhanced Mode)")
- ROMX_LOAD("enhanced.bin", 0x0000, 0x8000, CRC(84b3df89) SHA1(a718c3ea5443a609b4b20bfe48be18193737ad25), ROM_BIOS(1))
- // Adaptec's help file claims that "the EEPROM on the board can hold firmware for both modes simultaneously."
- // The AHA-174XA firmware images obviously have this, but the files provided here do not agree.
-ROM_END
-
-ROM_START(aha1742a)
- ROM_REGION(0x4000, "bios", 0)
- ROM_DEFAULT_BIOS("v140")
- ROM_SYSTEM_BIOS(0, "v134", "BIOS v1.34")
- ROMX_LOAD("adaptec_inc_450214-00_a_bios_8800_1991.u47", 0x0000, 0x4000, CRC(6cf06151) SHA1(0da45634b12b33fc886920d065cc8ffb2cf376b8), ROM_BIOS(0))
- ROM_SYSTEM_BIOS(1, "v140", "BIOS v1.40")
- ROMX_LOAD("adaptec_inc_450216-00_a_bios_dc00_1992.u47", 0x0000, 0x4000, CRC(056d75ec) SHA1(8ca143adfc7d20ad5d49f14dedabc8276454bf9e), ROM_BIOS(1))
- ROM_SYSTEM_BIOS(2, "v140s", "BIOS v1.40 (Extended Timeout)")
- ROMX_LOAD("b_f100.bin", 0x0000, 0x4000, CRC(b695acc0) SHA1(683112fafdf83d5eb89237d9215f7d6eacc6eeaf), ROM_BIOS(2))
-
- ROM_REGION16_LE(0x8000, "mcode", 0)
- ROMX_LOAD("adaptec_inc_450117-00_c_mcode_23a8_1991.u10", 0x0000, 0x8000, NO_DUMP, ROM_BIOS(0))
- ROMX_LOAD("adaptec_inc_450113-00_d_mcode_b7d6_1992.u10", 0x0000, 0x8000, CRC(0a55a555) SHA1(ff400f56b33f0ad94e34564d7715a0773b335844), ROM_BIOS(1))
- ROMX_LOAD("m_c7b8.bin", 0x0000, 0x8000, CRC(21282e86) SHA1(18cb3960dc47f2c14beb88f9680c1f66c4652b04), ROM_BIOS(2))
-ROM_END
-
-const tiny_rom_entry *aha1740_device::device_rom_region() const
-{
- return ROM_NAME(aha1740);
-}
-
-const tiny_rom_entry *aha1742a_device::device_rom_region() const
-{
- return ROM_NAME(aha1742a);
-}
diff --git a/src/devices/bus/isa/aha174x.h b/src/devices/bus/isa/aha174x.h
deleted file mode 100644
index f65ee7de93a..00000000000
--- a/src/devices/bus/isa/aha174x.h
+++ /dev/null
@@ -1,61 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:AJR
-/***************************************************************************
-
- Adaptec AHA-1540/42A and AHA-1540/42B SCSI controllers
-
-***************************************************************************/
-
-#ifndef MAME_BUS_ISA_AHA174X_H
-#define MAME_BUS_ISA_AHA174X_H
-
-#pragma once
-
-#include "isa.h"
-#include "cpu/hpc/hpc.h"
-#include "machine/upd765.h"
-
-class aha174x_device : public device_t, public device_isa16_card_interface
-{
-protected:
- aha174x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock);
-
- virtual void device_start() override;
-
- void hpc_map(address_map &map);
- void scsic_config(device_t *device);
-
- required_device<hpc46003_device> m_hpc;
- required_region_ptr<u8> m_bios;
-};
-
-class aha1740_device : public aha174x_device
-{
-public:
- aha1740_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
-
- static constexpr feature_type unemulated_features() { return feature::DISK; }
-
-protected:
- virtual void device_add_mconfig(machine_config &config) override;
- virtual const tiny_rom_entry *device_rom_region() const override;
-};
-
-class aha1742a_device : public aha174x_device
-{
-public:
- aha1742a_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
-
- static constexpr feature_type unemulated_features() { return feature::DISK; }
-
-protected:
- virtual void device_add_mconfig(machine_config &config) override;
- virtual const tiny_rom_entry *device_rom_region() const override;
-
- required_device<upd765_family_device> m_fdc;
-};
-
-DECLARE_DEVICE_TYPE(AHA1740, aha1740_device)
-DECLARE_DEVICE_TYPE(AHA1742A, aha1742a_device)
-
-#endif // MAME_BUS_ISA_AHA174X_H
diff --git a/src/devices/bus/isa/bt54x.cpp b/src/devices/bus/isa/bt54x.cpp
deleted file mode 100644
index d8ef31a848f..00000000000
--- a/src/devices/bus/isa/bt54x.cpp
+++ /dev/null
@@ -1,201 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:AJR
-/***************************************************************************
-
- BusTek/BusLogic BT-54x series PC/AT SCSI host adapters
-
- The earlier version of the BT-542B, with BusTek labels, has a NCR 86C05
- bus controller where a later version has the 80C20 ASIC instead. It is
- believed that these chips are largely compatible with each other, as
- are the NCR 53CF94 and Emulex FAS216 SCSI controllers.
-
- 2.41/2.21 is the last BIOS version compatible with revisions A-G of
- the BT-542B.
-
-***************************************************************************/
-
-#include "emu.h"
-#include "bt54x.h"
-
-#include "machine/ncr5390.h"
-//#include "machine/ncr86c05.h"
-#include "machine/nscsi_cd.h"
-#include "machine/nscsi_hd.h"
-
-DEFINE_DEVICE_TYPE(BT542B, bt542b_device, "bt542b", "BusTek BT-542B SCSI Host Adapter") // Rev. G or earlier
-DEFINE_DEVICE_TYPE(BT542BH, bt542bh_device, "bt542bh", "BusLogic BT-542B SCSI Host Adapter (Rev. H)")
-DEFINE_DEVICE_TYPE(BT545S, bt545s_device, "bt545s", "BusLogic BT-545S Fast SCSI Host Adapter")
-
-bt54x_device::bt54x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock)
- : device_t(mconfig, type, tag, owner, clock)
- , device_isa16_card_interface(mconfig, *this)
- , m_mpu(*this, "mpu")
- , m_fdc(*this, "fdc")
- , m_bios(*this, "bios")
-{
-}
-
-bt542b_device::bt542b_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
- : bt54x_device(mconfig, BT542B, tag, owner, clock)
-{
-}
-
-bt542bh_device::bt542bh_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
- : bt54x_device(mconfig, BT542BH, tag, owner, clock)
-{
-}
-
-bt545s_device::bt545s_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
- : bt54x_device(mconfig, BT545S, tag, owner, clock)
-{
-}
-
-void bt54x_device::device_start()
-{
-}
-
-u8 bt54x_device::local_status_r()
-{
- return 0;
-}
-
-void bt54x_device::local_map(address_map &map)
-{
- map(0x00000, 0x01fff).ram();
- //map(0x02000, 0x0201f).rw("busintf", FUNC(ncr86c05_device::local_read), FUNC(ncr86c05_device::local_write));
- map(0x02080, 0x0208f).m("scsi:7:scsic", FUNC(ncr53cf94_device::map));
- map(0x02180, 0x02180).r(FUNC(bt54x_device::local_status_r));
- map(0xf8000, 0xfffff).rom().region("mpu", 0);
-}
-
-static void scsi_devices(device_slot_interface &device)
-{
- device.option_add("cdrom", NSCSI_CDROM);
- device.option_add("harddisk", NSCSI_HARDDISK);
- device.option_add_internal("scsic", NCR53C94);
-}
-
-static void fast_scsi_devices(device_slot_interface &device)
-{
- device.option_add("cdrom", NSCSI_CDROM);
- device.option_add("harddisk", NSCSI_HARDDISK);
- device.option_add_internal("scsic", NCR53CF94); // FAS216
-}
-
-void bt54x_device::asc_config(device_t *device)
-{
- ncr53c94_device &asc = downcast<ncr53c94_device &>(*device);
-
- asc.set_clock(25_MHz_XTAL); // not verified; perhaps selectable? (40 MHz XTAL also on board)
-
- asc.irq_handler_cb().set(m_mpu, FUNC(i80188_cpu_device::int0_w));
- //asc.drq_handler_cb().set("busintf", FUNC(ncr86c05_device::dma_req_w));
-}
-
-void bt54x_device::fsc_config(device_t *device)
-{
- ncr53cf94_device &fsc = downcast<ncr53cf94_device &>(*device);
-
- fsc.set_clock(40_MHz_XTAL);
-
- fsc.irq_handler_cb().set(m_mpu, FUNC(i80188_cpu_device::int0_w)); // mostly polled on BT-545S
- //fsc.drq_handler_cb().set("busintf", FUNC(ncr86c05_device::dma_req_w));
-}
-
-void bt54x_device::fsc_base(machine_config &config)
-{
- //ncr86c05_device &busintf(NCR86C05(config, "busintf", 0));
- //busintf.mint_callback().set(m_mpu, FUNC(i80188_cpu_device::int1_w));
- //busintf.dma_ack_callback().set("scsi:7:scsic", FUNC(ncr53cf94_device::dma_w));
-
- NSCSI_BUS(config, "scsi");
- NSCSI_CONNECTOR(config, "scsi:0", fast_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:1", fast_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:2", fast_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:3", fast_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:4", fast_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:5", fast_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:6", fast_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:7", fast_scsi_devices, "scsic", true).set_option_machine_config("scsic", [this] (device_t *device) { fsc_config(device); });
-}
-
-void bt542b_device::device_add_mconfig(machine_config &config)
-{
- I80188(config, m_mpu, 16_MHz_XTAL);
- m_mpu->set_addrmap(AS_PROGRAM, &bt542b_device::local_map);
-
- //ncr86c05_device &busintf(NCR86C05(config, "busintf", 0));
- //busintf.mint_callback().set(m_mpu, FUNC(i80188_cpu_device::int1_w));
- //busintf.dma_ack_callback().set("scsi:7:scsic", FUNC(ncr53c94_device::dma_w));
-
- NSCSI_BUS(config, "scsi");
- NSCSI_CONNECTOR(config, "scsi:0", scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:1", scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:2", scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:3", scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:4", scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:5", scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:6", scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:7", scsi_devices, "scsic", true).set_option_machine_config("scsic", [this] (device_t *device) { asc_config(device); });
-
- DP8473(config, m_fdc, 24_MHz_XTAL);
-}
-
-void bt542bh_device::device_add_mconfig(machine_config &config)
-{
- I80188(config, m_mpu, 40_MHz_XTAL / 2); // clock guessed
- m_mpu->set_addrmap(AS_PROGRAM, &bt542bh_device::local_map);
-
- fsc_base(config);
-
- DP8473(config, m_fdc, 24_MHz_XTAL);
-}
-
-void bt545s_device::device_add_mconfig(machine_config &config)
-{
- I80188(config, m_mpu, 40_MHz_XTAL / 2); // SAB80188-1-N; clock guessed
- m_mpu->set_addrmap(AS_PROGRAM, &bt545s_device::local_map);
-
- fsc_base(config);
-
- PC8477A(config, m_fdc, 24_MHz_XTAL); // actually PC8477BV
-}
-
-ROM_START(bt542b)
- ROM_REGION(0x4000, "bios", 0) // "(C) Copyright 1991 BIOS Version 2.41"
- ROM_LOAD("1000006-2.41_bustek.u15", 0x0000, 0x4000, CRC(5eb00d0f) SHA1(74a8bbae1c2b42f0c605b0ac98660f1e16ac5c4e))
-
- ROM_REGION(0x8000, "mpu", 0) // "(C) Copyright 1991 BusTek Corporation 542B 91/12/14"
- ROM_LOAD("1000005-2.21_bustek.u2", 0x0000, 0x8000, CRC(c2c66653) SHA1(054ba1ea71b2aaab31ab9dd5aca955d861f5333b))
-ROM_END
-
-ROM_START(bt542bh)
- ROM_REGION(0x8000, "bios", 0) // "(C) Copyright 1992 BIOS Version 4.70M"
- ROM_LOAD("5000006-4.70_buslogic.u15", 0x0000, 0x8000, CRC(f5a5e116) SHA1(d7b73015532838dc694edf24308ebbab6f4dd5bb))
-
- ROM_REGION(0x8000, "mpu", 0) // "(C) Copyright 1992 BusLogic Inc. 542BH93/05/23"
- ROM_LOAD("5000005-3.35_buslogic.u2", 0x0000, 0x8000, CRC(181966c3) SHA1(b9b327d50cd13f3e5b5b53892b18f233aff065b7))
-ROM_END
-
-ROM_START(bt545s)
- ROM_REGION(0x4000, "bios", 0) // "(C) Copyright 1992 BIOS Version 4.50"
- ROM_LOAD("u15_27128_5002026-4.50.bin", 0x0000, 0x4000, CRC(1bd3247b) SHA1(9d46a99f4b3057e94ef422f387218de2c4553c1a))
-
- ROM_REGION(0x8000, "mpu", 0) // "(C) Copyright 1992 BusLogic Inc. 542BH92/10/05"
- ROM_LOAD("u2_27256_5002005-3.31.bin", 0x0000, 0x8000, CRC(20473714) SHA1(797a8dba182049949f7a5c14d8bef4b4e908305b))
-ROM_END
-
-const tiny_rom_entry *bt542b_device::device_rom_region() const
-{
- return ROM_NAME(bt542b);
-}
-
-const tiny_rom_entry *bt542bh_device::device_rom_region() const
-{
- return ROM_NAME(bt542bh);
-}
-
-const tiny_rom_entry *bt545s_device::device_rom_region() const
-{
- return ROM_NAME(bt545s);
-}
diff --git a/src/devices/bus/isa/bt54x.h b/src/devices/bus/isa/bt54x.h
deleted file mode 100644
index dfdd0009416..00000000000
--- a/src/devices/bus/isa/bt54x.h
+++ /dev/null
@@ -1,74 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:AJR
-/***************************************************************************
-
- BusTek/BusLogic BT-54x series PC/AT SCSI host adapters
-
-***************************************************************************/
-
-#ifndef MAME_BUS_ISA_BT54X_H
-#define MAME_BUS_ISA_BT54X_H
-
-#pragma once
-
-#include "isa.h"
-#include "cpu/i86/i186.h"
-#include "machine/upd765.h"
-
-class bt54x_device : public device_t, public device_isa16_card_interface
-{
-public:
- static constexpr feature_type unemulated_features() { return feature::DISK; }
-
-protected:
- bt54x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock);
-
- virtual void device_start() override;
-
- u8 local_status_r();
-
- void local_map(address_map &map);
- void asc_config(device_t *device);
- void fsc_config(device_t *device);
- void fsc_base(machine_config &config);
-
- required_device<i80188_cpu_device> m_mpu;
- required_device<upd765_family_device> m_fdc;
- required_region_ptr<u8> m_bios;
-};
-
-class bt542b_device : public bt54x_device
-{
-public:
- bt542b_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
-
-protected:
- virtual void device_add_mconfig(machine_config &config) override;
- virtual const tiny_rom_entry *device_rom_region() const override;
-};
-
-class bt542bh_device : public bt54x_device
-{
-public:
- bt542bh_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
-
-protected:
- virtual void device_add_mconfig(machine_config &config) override;
- virtual const tiny_rom_entry *device_rom_region() const override;
-};
-
-class bt545s_device : public bt54x_device
-{
-public:
- bt545s_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
-
-protected:
- virtual void device_add_mconfig(machine_config &config) override;
- virtual const tiny_rom_entry *device_rom_region() const override;
-};
-
-DECLARE_DEVICE_TYPE(BT542B, bt542b_device)
-DECLARE_DEVICE_TYPE(BT542BH, bt542bh_device)
-DECLARE_DEVICE_TYPE(BT545S, bt545s_device)
-
-#endif // MAME_BUS_ISA_BT54X_H
diff --git a/src/devices/bus/isa/cga.cpp b/src/devices/bus/isa/cga.cpp
index eac981b4100..f5fb8f185d7 100644
--- a/src/devices/bus/isa/cga.cpp
+++ b/src/devices/bus/isa/cga.cpp
@@ -261,13 +261,12 @@ DEFINE_DEVICE_TYPE(ISA8_CGA, isa8_cga_device, "cga", "IBM Color/Graphics Monitor
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void isa8_cga_device::device_add_mconfig(machine_config &config)
-{
- screen_device &screen(SCREEN(config, CGA_SCREEN_NAME, SCREEN_TYPE_RASTER));
- screen.set_raw(XTAL(14'318'181), 912, 0, 640, 262, 0, 200);
- screen.set_screen_update(FUNC(isa8_cga_device::screen_update));
+MACHINE_CONFIG_START(isa8_cga_device::device_add_mconfig)
+ MCFG_SCREEN_ADD(CGA_SCREEN_NAME, RASTER)
+ MCFG_SCREEN_RAW_PARAMS(XTAL(14'318'181),912,0,640,262,0,200)
+ MCFG_SCREEN_UPDATE_DEVICE( DEVICE_SELF, isa8_cga_device, screen_update )
- PALETTE(config, m_palette).set_entries(/* CGA_PALETTE_SETS * 16*/ 65536);
+ MCFG_PALETTE_ADD("palette", /* CGA_PALETTE_SETS * 16*/ 65536 )
MC6845(config, m_crtc, XTAL(14'318'181)/16);
m_crtc->set_screen(nullptr);
@@ -277,7 +276,7 @@ void isa8_cga_device::device_add_mconfig(machine_config &config)
m_crtc->out_hsync_callback().set(FUNC(isa8_cga_device::hsync_changed));
m_crtc->out_vsync_callback().set(FUNC(isa8_cga_device::vsync_changed));
m_crtc->set_reconfigure_callback(FUNC(isa8_cga_device::reconfigure), this);
-}
+MACHINE_CONFIG_END
ioport_constructor isa8_cga_device::device_input_ports() const
{
@@ -913,7 +912,7 @@ READ8_MEMBER( isa8_cga_device::io_read )
/* return last written mc6845 address value here? */
break;
case 1: case 3: case 5: case 7:
- data = m_crtc->register_r();
+ data = m_crtc->register_r( space, offset );
break;
case 10:
data = m_vsync | ( ( data & 0x40 ) >> 4 ) | m_hsync;
@@ -928,10 +927,10 @@ WRITE8_MEMBER( isa8_cga_device::io_write )
{
switch(offset) {
case 0: case 2: case 4: case 6:
- m_crtc->address_w(data);
+ m_crtc->address_w( space, offset, data );
break;
case 1: case 3: case 5: case 7:
- m_crtc->register_w(data);
+ m_crtc->register_w( space, offset, data );
break;
case 8:
mode_control_w(data);
@@ -1170,14 +1169,14 @@ WRITE8_MEMBER( isa8_cga_pc1512_device::io_write )
{
case 0: case 2: case 4: case 6:
data &= 0x1F;
- m_crtc->address_w(data);
+ m_crtc->address_w( space, offset, data );
m_mc6845_address = data;
break;
case 1: case 3: case 5: case 7:
if ( ! m_mc6845_locked_register[m_mc6845_address] )
{
- m_crtc->register_w(data);
+ m_crtc->register_w( space, offset, data );
if ( isa8_cga_pc1512_device::mc6845_writeonce_register[m_mc6845_address] )
{
m_mc6845_locked_register[m_mc6845_address] = 1;
@@ -1694,13 +1693,13 @@ const tiny_rom_entry *isa8_cga_mc1502_device::device_rom_region() const
DEFINE_DEVICE_TYPE(ISA8_CGA_M24, isa8_cga_m24_device, "cga_m24", "Olivetti M24 CGA")
-void isa8_cga_m24_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(isa8_cga_m24_device::device_add_mconfig)
isa8_cga_device::device_add_mconfig(config);
- subdevice<screen_device>(CGA_SCREEN_NAME)->set_raw(XTAL(14'318'181), 912, 0, 640, 462, 0, 400);
+ MCFG_DEVICE_MODIFY(CGA_SCREEN_NAME)
+ MCFG_SCREEN_RAW_PARAMS(XTAL(14'318'181),912,0,640,462,0,400)
m_crtc->set_reconfigure_callback(FUNC(isa8_cga_m24_device::reconfigure), this);
-}
+MACHINE_CONFIG_END
isa8_cga_m24_device::isa8_cga_m24_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
isa8_cga_m24_device(mconfig, ISA8_CGA_M24, tag, owner, clock)
@@ -1747,7 +1746,7 @@ WRITE8_MEMBER( isa8_cga_m24_device::io_write )
{
case 0: case 2: case 4: case 6:
m_index = data;
- m_crtc->address_w(data);
+ m_crtc->address_w( space, offset, data );
break;
case 1: case 3: case 5: case 7:
switch(m_index & 0x1f) // TODO: this is handled by a pal and prom
@@ -1766,7 +1765,7 @@ WRITE8_MEMBER( isa8_cga_m24_device::io_write )
data <<= 1;
break;
}
- m_crtc->register_w(data);
+ m_crtc->register_w( space, offset, data );
break;
case 0x0e:
m_mode2 = data;
@@ -1887,12 +1886,12 @@ MC6845_UPDATE_ROW( isa8_cga_m24_device::m24_gfx_1bpp_m24_update_row )
DEFINE_DEVICE_TYPE(ISA8_CGA_CPORTIII, isa8_cga_cportiii_device, "cga_cportiii", "Compaq Portable III CGA")
-void isa8_cga_cportiii_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(isa8_cga_cportiii_device::device_add_mconfig)
isa8_cga_m24_device::device_add_mconfig(config);
- subdevice<screen_device>(CGA_SCREEN_NAME)->set_color(rgb_t(255, 125, 0));
-}
+ MCFG_DEVICE_MODIFY(CGA_SCREEN_NAME)
+ MCFG_SCREEN_COLOR(rgb_t(255, 125, 0))
+MACHINE_CONFIG_END
isa8_cga_cportiii_device::isa8_cga_cportiii_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
isa8_cga_m24_device(mconfig, ISA8_CGA_CPORTIII, tag, owner, clock)
diff --git a/src/devices/bus/isa/cl_sh260.cpp b/src/devices/bus/isa/cl_sh260.cpp
deleted file mode 100644
index f8fb39249f5..00000000000
--- a/src/devices/bus/isa/cl_sh260.cpp
+++ /dev/null
@@ -1,93 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:AJR
-/***************************************************************************
-
- ISA 16-bit disk controllers based on the Cirrus Logic CL-SH260-15PC-D
- * Everex EV-346
- * Joincom Electronic JC-1310
-
-***************************************************************************/
-
-#include "emu.h"
-#include "cl_sh260.h"
-
-#include "cpu/mcs51/mcs51.h"
-
-DEFINE_DEVICE_TYPE(EV346, isa16_ev346_device, "ev346", "Everex EV-346 disk controller")
-DEFINE_DEVICE_TYPE(JC1310, isa16_jc1310_device, "jc1310", "Joincom JC-1310 disk controller")
-
-isa16_cl_sh260_device::isa16_cl_sh260_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock)
- : device_t(mconfig, type, tag, owner, clock)
- , device_isa16_card_interface(mconfig, *this)
- , m_fdc(*this, "fdc")
-{
-}
-
-isa16_ev346_device::isa16_ev346_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
- : isa16_cl_sh260_device(mconfig, EV346, tag, owner, clock)
-{
-}
-
-isa16_jc1310_device::isa16_jc1310_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
- : isa16_cl_sh260_device(mconfig, JC1310, tag, owner, clock)
-{
-}
-
-void isa16_cl_sh260_device::device_start()
-{
-}
-
-void isa16_cl_sh260_device::i8031_map(address_map &map)
-{
- map(0x0000, 0x1fff).rom().region("mcu", 0);
-}
-
-void isa16_ev346_device::ext_map(address_map &map)
-{
- map.global_mask(0xff);
- map(0x00, 0xff).noprw(); // CL-SH260 interface
-}
-
-void isa16_jc1310_device::ext_map(address_map &map)
-{
- map(0xc000, 0xc0ff).noprw(); // CL-SH260 interface
-}
-
-void isa16_ev346_device::device_add_mconfig(machine_config &config)
-{
- i8031_device &mcu(I8031(config, "mcu", 12_MHz_XTAL)); // SCN8031HCCN40
- mcu.set_addrmap(AS_PROGRAM, &isa16_ev346_device::i8031_map);
- mcu.set_addrmap(AS_IO, &isa16_ev346_device::ext_map);
-
- DP8473(config, m_fdc, 24_MHz_XTAL);
-}
-
-void isa16_jc1310_device::device_add_mconfig(machine_config &config)
-{
- i8031_device &mcu(I8031(config, "mcu", 10_MHz_XTAL)); // P8031AH
- mcu.set_addrmap(AS_PROGRAM, &isa16_jc1310_device::i8031_map);
- mcu.set_addrmap(AS_IO, &isa16_jc1310_device::ext_map);
-
- WD37C65C(config, m_fdc, 16_MHz_XTAL); // WD37C65B-PL
- //m_fdc->set_clock2(9.6_MHz_XTAL);
-}
-
-ROM_START(ev346)
- ROM_REGION(0x2000, "mcu", 0)
- ROM_LOAD("everex_ev346_vers_3.2.bin", 0x0000, 0x2000, CRC(49b10ca7) SHA1(ef31b62f5ac38db7cacfc4d30e203a4cc1414913))
-ROM_END
-
-ROM_START(jc1310)
- ROM_REGION(0x2000, "mcu", 0) // "(C) COPYRIGHT JOINCOM ELECTRONIC CORP. 9/16/1988 JC1310"
- ROM_LOAD("jc-1310 - apr-c 89.u3", 0x0000, 0x2000, CRC(e044f5e1) SHA1(5a32d2001bb1a489657f9488136b5d621f803703)) // TMS 2764-20JL
-ROM_END
-
-const tiny_rom_entry *isa16_ev346_device::device_rom_region() const
-{
- return ROM_NAME(ev346);
-}
-
-const tiny_rom_entry *isa16_jc1310_device::device_rom_region() const
-{
- return ROM_NAME(jc1310);
-}
diff --git a/src/devices/bus/isa/cl_sh260.h b/src/devices/bus/isa/cl_sh260.h
deleted file mode 100644
index 18612ab6456..00000000000
--- a/src/devices/bus/isa/cl_sh260.h
+++ /dev/null
@@ -1,64 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:AJR
-/***************************************************************************
-
- ISA 16-bit disk controllers based on the Cirrus Logic CL-SH260-15PC-D
- * Everex EV-346
- * Joincom Electronic JC-1310
-
-***************************************************************************/
-
-#ifndef MAME_BUS_ISA_CL_SH260_H
-#define MAME_BUS_ISA_CL_SH260_H
-
-#pragma once
-
-#include "isa.h"
-#include "machine/upd765.h"
-
-class isa16_cl_sh260_device : public device_t, public device_isa16_card_interface
-{
-protected:
- isa16_cl_sh260_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock);
-
- virtual void device_start() override;
-
- void i8031_map(address_map &map);
-
- required_device<upd765_family_device> m_fdc;
-};
-
-class isa16_ev346_device : public isa16_cl_sh260_device
-{
-public:
- isa16_ev346_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
-
- static constexpr feature_type unemulated_features() { return feature::DISK; }
-
-protected:
- virtual void device_add_mconfig(machine_config &config) override;
- virtual const tiny_rom_entry *device_rom_region() const override;
-
-private:
- void ext_map(address_map &map);
-};
-
-class isa16_jc1310_device : public isa16_cl_sh260_device
-{
-public:
- isa16_jc1310_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
-
- static constexpr feature_type unemulated_features() { return feature::DISK; }
-
-protected:
- virtual void device_add_mconfig(machine_config &config) override;
- virtual const tiny_rom_entry *device_rom_region() const override;
-
-private:
- void ext_map(address_map &map);
-};
-
-DECLARE_DEVICE_TYPE(EV346, isa16_ev346_device)
-DECLARE_DEVICE_TYPE(JC1310, isa16_jc1310_device)
-
-#endif // MAME_BUS_ISA_CL_SH260_H
diff --git a/src/devices/bus/isa/dcb.cpp b/src/devices/bus/isa/dcb.cpp
deleted file mode 100644
index db5768d6758..00000000000
--- a/src/devices/bus/isa/dcb.cpp
+++ /dev/null
@@ -1,70 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:AJR
-/***************************************************************************
-
- Novell Disk Coprocessor Board (DCB)
-
- This special SCSI host adapter, later acquired by ADIC, was designed
- for use with Novell NetWare.
-
-***************************************************************************/
-
-#include "emu.h"
-#include "dcb.h"
-
-DEFINE_DEVICE_TYPE(NOVELL_DCB, novell_dcb_device, "novell_dcb", "Novell Disk Coprocessor Board (#738-133-001)")
-
-novell_dcb_device::novell_dcb_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
- : device_t(mconfig, NOVELL_DCB, tag, owner, clock)
- , device_isa16_card_interface(mconfig, *this)
- , m_localcpu(*this, "localcpu")
- , m_eeprom(*this, "eeprom")
-{
-}
-
-void novell_dcb_device::device_start()
-{
-}
-
-void novell_dcb_device::eeprom_w(u8 data)
-{
- m_eeprom->cs_write(BIT(data, 5));
- m_eeprom->clk_write(BIT(data, 6));
- m_eeprom->di_write(BIT(data, 7));
-}
-
-u8 novell_dcb_device::misc_r()
-{
- return m_eeprom->do_read() << 7;
-}
-
-void novell_dcb_device::mem_map(address_map &map)
-{
- map(0x00000, 0x03fff).ram();
- map(0xfe000, 0xfffff).rom().region("localcpu", 0);
-}
-
-void novell_dcb_device::io_map(address_map &map)
-{
- map(0x0100, 0x0100).w(FUNC(novell_dcb_device::eeprom_w));
- map(0x0180, 0x0180).r(FUNC(novell_dcb_device::misc_r));
-}
-
-void novell_dcb_device::device_add_mconfig(machine_config &config)
-{
- I80188(config, m_localcpu, 16_MHz_XTAL);
- m_localcpu->set_addrmap(AS_PROGRAM, &novell_dcb_device::mem_map);
- m_localcpu->set_addrmap(AS_IO, &novell_dcb_device::io_map);
-
- EEPROM_93C06_16BIT(config, m_eeprom); // NMC9306
-}
-
-ROM_START(novell_dcb)
- ROM_REGION(0x2000, "localcpu", 0)
- ROM_LOAD("817-186-001_rev_e_5800_11-04-86.bin", 0x0000, 0x2000, CRC(2e2037f4) SHA1(a13c0aab46084a0805256f1d2b8b8beaccc9e253))
-ROM_END
-
-const tiny_rom_entry *novell_dcb_device::device_rom_region() const
-{
- return ROM_NAME(novell_dcb);
-}
diff --git a/src/devices/bus/isa/dcb.h b/src/devices/bus/isa/dcb.h
deleted file mode 100644
index fbca0303978..00000000000
--- a/src/devices/bus/isa/dcb.h
+++ /dev/null
@@ -1,43 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:AJR
-/***************************************************************************
-
- Novell Disk Coprocessor Board (DCB)
-
-***************************************************************************/
-
-#ifndef MAME_BUS_ISA_DCB_H
-#define MAME_BUS_ISA_DCB_H
-
-#pragma once
-
-#include "isa.h"
-#include "cpu/i86/i186.h"
-#include "machine/eepromser.h"
-
-class novell_dcb_device : public device_t, public device_isa16_card_interface
-{
-public:
- novell_dcb_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
-
- static constexpr feature_type unemulated_features() { return feature::DISK; }
-
-protected:
- virtual void device_add_mconfig(machine_config &config) override;
- virtual const tiny_rom_entry *device_rom_region() const override;
- virtual void device_start() override;
-
-private:
- void eeprom_w(u8 data);
- u8 misc_r();
-
- void mem_map(address_map &map);
- void io_map(address_map &map);
-
- required_device<i80188_cpu_device> m_localcpu;
- required_device<eeprom_serial_93cxx_device> m_eeprom;
-};
-
-DECLARE_DEVICE_TYPE(NOVELL_DCB, novell_dcb_device)
-
-#endif // MAME_BUS_ISA_DCB_H
diff --git a/src/devices/bus/isa/dectalk.cpp b/src/devices/bus/isa/dectalk.cpp
index da45a2ec18b..d8ad57d57d3 100644
--- a/src/devices/bus/isa/dectalk.cpp
+++ b/src/devices/bus/isa/dectalk.cpp
@@ -172,6 +172,7 @@ void dectalk_isa_device::device_add_mconfig(machine_config &config)
SPEAKER(config, "speaker").front_center();
DAC_12BIT_R2R(config, m_dac, 0).add_route(0, "speaker", 1.0); // unknown DAC
voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref", 0));
+ vref.set_output(5.0);
vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT);
}
diff --git a/src/devices/bus/isa/ega.cpp b/src/devices/bus/isa/ega.cpp
index 5da3c263384..01c73066088 100644
--- a/src/devices/bus/isa/ega.cpp
+++ b/src/devices/bus/isa/ega.cpp
@@ -528,24 +528,23 @@ DEFINE_DEVICE_TYPE(ISA8_EGA, isa8_ega_device, "ega", "IBM Enhanced Graphics Adap
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void isa8_ega_device::device_add_mconfig(machine_config &config)
-{
- screen_device &screen(SCREEN(config, EGA_SCREEN_NAME, SCREEN_TYPE_RASTER));
- screen.set_raw(16.257_MHz_XTAL, 912, 0, 640, 262, 0, 200);
- screen.set_screen_update(EGA_CRTC_NAME, FUNC(crtc_ega_device::screen_update));
- screen.set_palette(m_palette);
-
- PALETTE(config, m_palette).set_entries(64);
-
- CRTC_EGA(config, m_crtc_ega, 16.257_MHz_XTAL/8);
- m_crtc_ega->set_screen(EGA_SCREEN_NAME);
- m_crtc_ega->config_set_hpixels_per_column(8);
- m_crtc_ega->set_row_update_callback(FUNC(isa8_ega_device::ega_update_row), this);
- m_crtc_ega->res_out_de_callback().set(FUNC(isa8_ega_device::de_changed));
- m_crtc_ega->res_out_hsync_callback().set(FUNC(isa8_ega_device::hsync_changed));
- m_crtc_ega->res_out_vsync_callback().set(FUNC(isa8_ega_device::vsync_changed));
- m_crtc_ega->res_out_vblank_callback().set(FUNC(isa8_ega_device::vblank_changed));
-}
+MACHINE_CONFIG_START(isa8_ega_device::device_add_mconfig)
+ MCFG_SCREEN_ADD(EGA_SCREEN_NAME, RASTER)
+ MCFG_SCREEN_RAW_PARAMS(16257000,912,0,640,262,0,200)
+ MCFG_SCREEN_UPDATE_DEVICE(EGA_CRTC_NAME, crtc_ega_device, screen_update)
+ MCFG_SCREEN_PALETTE("palette")
+
+ MCFG_PALETTE_ADD( "palette", 64 )
+
+ MCFG_DEVICE_ADD(EGA_CRTC_NAME, CRTC_EGA, 16257000/8)
+ MCFG_CRTC_EGA_SET_SCREEN(EGA_SCREEN_NAME)
+ MCFG_CRTC_EGA_HPIXELS_PER_COLUMN(8)
+ MCFG_CRTC_EGA_ROW_UPDATE_CB(isa8_ega_device, ega_update_row)
+ MCFG_CRTC_EGA_RES_OUT_DE_CB(WRITELINE(*this, isa8_ega_device, de_changed))
+ MCFG_CRTC_EGA_RES_OUT_HSYNC_CB(WRITELINE(*this, isa8_ega_device, hsync_changed))
+ MCFG_CRTC_EGA_RES_OUT_VSYNC_CB(WRITELINE(*this, isa8_ega_device, vsync_changed))
+ MCFG_CRTC_EGA_RES_OUT_VBLANK_CB(WRITELINE(*this, isa8_ega_device, vblank_changed))
+MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region
@@ -577,7 +576,7 @@ isa8_ega_device::isa8_ega_device(const machine_config &mconfig, const char *tag,
isa8_ega_device::isa8_ega_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, type, tag, owner, clock),
device_isa8_card_interface(mconfig, *this),
- m_crtc_ega(*this, EGA_CRTC_NAME), m_videoram(nullptr), m_charA(nullptr), m_charB(nullptr),
+ m_crtc_ega(nullptr), m_videoram(nullptr), m_charA(nullptr), m_charB(nullptr),
m_misc_output(0), m_feature_control(0), m_frame_cnt(0), m_hsync(0), m_vsync(0), m_vblank(0), m_display_enable(0), m_video_mode(0),
m_palette(*this, "palette")
{
@@ -627,6 +626,8 @@ void isa8_ega_device::device_start()
m_plane[2] = m_videoram + 0x20000;
m_plane[3] = m_videoram + 0x30000;
+ m_crtc_ega = subdevice<crtc_ega_device>(EGA_CRTC_NAME);
+
m_isa->install_rom(this, 0xc0000, 0xc3fff, "ega", "user2");
m_isa->install_device(0x3b0, 0x3bf, read8_delegate(FUNC(isa8_ega_device::pc_ega8_3b0_r), this), write8_delegate(FUNC(isa8_ega_device::pc_ega8_3b0_w), this));
m_isa->install_device(0x3c0, 0x3cf, read8_delegate(FUNC(isa8_ega_device::pc_ega8_3c0_r), this), write8_delegate(FUNC(isa8_ega_device::pc_ega8_3c0_w), this));
@@ -1169,7 +1170,7 @@ READ8_MEMBER( isa8_ega_device::pc_ega8_3X0_r )
/* CRT Controller - data register */
case 1: case 3: case 5: case 7:
- data = m_crtc_ega->register_r();
+ data = m_crtc_ega->register_r( space, offset );
break;
/* Input Status Register 1 */
@@ -1204,12 +1205,12 @@ WRITE8_MEMBER( isa8_ega_device::pc_ega8_3X0_w )
{
/* CRT Controller - address register */
case 0: case 2: case 4: case 6:
- m_crtc_ega->address_w(data);
+ m_crtc_ega->address_w( space, offset, data );
break;
/* CRT Controller - data register */
case 1: case 3: case 5: case 7:
- m_crtc_ega->register_w(data);
+ m_crtc_ega->register_w( space, offset, data );
break;
/* Set Light Pen Flip Flop */
diff --git a/src/devices/bus/isa/ega.h b/src/devices/bus/isa/ega.h
index 4334604b9a8..4e7bc4394a3 100644
--- a/src/devices/bus/isa/ega.h
+++ b/src/devices/bus/isa/ega.h
@@ -58,7 +58,7 @@ private:
CRTC_EGA_ROW_UPDATE(ega_update_row);
public:
- required_device<crtc_ega_device> m_crtc_ega;
+ crtc_ega_device *m_crtc_ega;
void install_banks();
void change_mode();
diff --git a/src/devices/bus/isa/eis_sad8852.cpp b/src/devices/bus/isa/eis_sad8852.cpp
index f4d634d1033..4f2b5a0c856 100644
--- a/src/devices/bus/isa/eis_sad8852.cpp
+++ b/src/devices/bus/isa/eis_sad8852.cpp
@@ -199,14 +199,13 @@ ioport_constructor isa16_sad8852_device::device_input_ports() const
//-------------------------------------------------
// Board configuration
//-------------------------------------------------
-void isa16_sad8852_device::device_add_mconfig(machine_config &config)
-{
- i80188_cpu_device &cpu(I80188(config, I80188_TAG, XTAL(12'000'000) / 2)); // Chip revision is 6 MHz
- cpu.set_addrmap(AS_PROGRAM, &isa16_sad8852_device::sad8852_mem);
- cpu.set_addrmap(AS_IO, &isa16_sad8852_device::sad8852_io);
+MACHINE_CONFIG_START(isa16_sad8852_device::device_add_mconfig)
+ MCFG_DEVICE_ADD(I80188_TAG, I80188, XTAL(12'000'000) / 2) // Chip revision is 6 MHz
+ MCFG_DEVICE_PROGRAM_MAP( sad8852_mem )
+ MCFG_DEVICE_IO_MAP(sad8852_io)
I8274_NEW(config, "terminal", XTAL(12'000'000) / 3); // Needs verification
-}
+MACHINE_CONFIG_END
isa16_sad8852_device::isa16_sad8852_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, ISA16_SAD8852, tag, owner, clock)
diff --git a/src/devices/bus/isa/fdc.cpp b/src/devices/bus/isa/fdc.cpp
index 9c9f52d7a1d..f31b0f5f9dd 100644
--- a/src/devices/bus/isa/fdc.cpp
+++ b/src/devices/bus/isa/fdc.cpp
@@ -72,11 +72,6 @@ void isa8_fdc_device::dack_w(int line, uint8_t data)
return m_fdc->dma_w(data);
}
-void isa8_fdc_device::dack_line_w(int line, int state)
-{
- //m_fdc->dack_w(state);
-}
-
void isa8_fdc_device::eop_w(int state)
{
m_fdc->tc_w(state == ASSERT_LINE);
diff --git a/src/devices/bus/isa/fdc.h b/src/devices/bus/isa/fdc.h
index cec5f7dd06e..7a1781cdc69 100644
--- a/src/devices/bus/isa/fdc.h
+++ b/src/devices/bus/isa/fdc.h
@@ -40,7 +40,6 @@ protected:
virtual uint8_t dack_r(int line) override;
virtual void dack_w(int line, uint8_t data) override;
- virtual void dack_line_w(int line, int state) override;
virtual void eop_w(int state) override;
required_device<pc_fdc_interface> m_fdc;
diff --git a/src/devices/bus/isa/finalchs.cpp b/src/devices/bus/isa/finalchs.cpp
index f9e6f37dc8f..e79dee39686 100644
--- a/src/devices/bus/isa/finalchs.cpp
+++ b/src/devices/bus/isa/finalchs.cpp
@@ -71,11 +71,10 @@ DEFINE_DEVICE_TYPE(ISA8_FINALCHS, isa8_finalchs_device, "isa_finalchs", "Final C
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void isa8_finalchs_device::device_add_mconfig(machine_config &config)
-{
- m65c02_device &cpu(M65C02(config, "maincpu", 5000000));
- cpu.set_addrmap(AS_PROGRAM, &isa8_finalchs_device::finalchs_mem);
-}
+MACHINE_CONFIG_START(isa8_finalchs_device::device_add_mconfig)
+ MCFG_DEVICE_ADD("maincpu",M65C02,5000000)
+ MCFG_DEVICE_PROGRAM_MAP(finalchs_mem)
+MACHINE_CONFIG_END
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/isa/gus.cpp b/src/devices/bus/isa/gus.cpp
index 423c1e3629f..99404470140 100644
--- a/src/devices/bus/isa/gus.cpp
+++ b/src/devices/bus/isa/gus.cpp
@@ -1250,8 +1250,7 @@ INPUT_PORTS_END
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void isa16_gus_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(isa16_gus_device::device_add_mconfig)
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
GGF1(config, m_gf1, GF1_CLOCK);
@@ -1271,13 +1270,14 @@ void isa16_gus_device::device_add_mconfig(machine_config &config)
m_gf1->drq2_handler().set(FUNC(isa16_gus_device::drq2_w));
m_gf1->nmi_handler().set(FUNC(isa16_gus_device::nmi_w));
- MIDI_PORT(config, "mdin", midiin_slot, "midiin").rxd_handler().set(m_gf1, FUNC(acia6850_device::write_rxd));
+ MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin")
+ MCFG_MIDI_RX_HANDLER(WRITELINE("gf1", acia6850_device, write_rxd))
- MIDI_PORT(config, "mdout", midiout_slot, "midiout");
+ MCFG_MIDI_PORT_ADD("mdout", midiout_slot, "midiout")
- clock_device &acia_clock(CLOCK(config, "acia_clock", 31250*16));
- acia_clock.signal_handler().set(FUNC(isa16_gus_device::write_acia_clock));
-}
+ MCFG_DEVICE_ADD("acia_clock", CLOCK, 31250*16)
+ MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(*this, isa16_gus_device, write_acia_clock))
+MACHINE_CONFIG_END
ioport_constructor isa16_gus_device::device_input_ports() const
{
@@ -1384,9 +1384,9 @@ READ8_MEMBER(isa16_gus_device::synth_r)
switch(offset)
{
case 0x00:
- return m_gf1->status_r();
+ return m_gf1->status_r(space,0);
case 0x01:
- return m_gf1->data_r();
+ return m_gf1->data_r(space,0);
case 0x02:
case 0x03:
return m_gf1->global_reg_select_r(space,offset-2);
@@ -1407,10 +1407,10 @@ WRITE8_MEMBER(isa16_gus_device::synth_w)
switch(offset)
{
case 0x00:
- m_gf1->control_w(data);
+ m_gf1->control_w(space,0,data);
break;
case 0x01:
- m_gf1->data_w(data);
+ m_gf1->data_w(space,0,data);
break;
case 0x02:
case 0x03:
diff --git a/src/devices/bus/isa/gus.h b/src/devices/bus/isa/gus.h
index 0009510b81f..493893a62e0 100644
--- a/src/devices/bus/isa/gus.h
+++ b/src/devices/bus/isa/gus.h
@@ -45,6 +45,38 @@
#include "isa.h"
#include "machine/6850acia.h"
+#define MCFG_GF1_TXIRQ_HANDLER(_devcb) \
+ downcast<gf1_device &>(*device).set_txirq_handler(DEVCB_##_devcb);
+
+#define MCFG_GF1_RXIRQ_HANDLER(_devcb) \
+ downcast<gf1_device &>(*device).set_rxirq_handler(DEVCB_##_devcb);
+
+#define MCFG_GF1_WAVE_IRQ_HANDLER(_devcb) \
+ downcast<gf1_device &>(*device).set_wave_irq_handler(DEVCB_##_devcb);
+
+#define MCFG_GF1_RAMP_IRQ_HANDLER(_devcb) \
+ downcast<gf1_device &>(*device).set_ramp_irq_handler(DEVCB_##_devcb);
+
+#define MCFG_GF1_TIMER1_IRQ_HANDLER(_devcb) \
+ downcast<gf1_device &>(*device).set_timer1_irq_handler(DEVCB_##_devcb);
+
+#define MCFG_GF1_TIMER2_IRQ_HANDLER(_devcb) \
+ downcast<gf1_device &>(*device).set_timer2_irq_handler(DEVCB_##_devcb);
+
+#define MCFG_GF1_SB_IRQ_HANDLER(_devcb) \
+ downcast<gf1_device &>(*device).set_sb_irq_handler(DEVCB_##_devcb);
+
+#define MCFG_GF1_DMA_IRQ_HANDLER(_devcb) \
+ downcast<gf1_device &>(*device).set_dma_irq_handler(DEVCB_##_devcb);
+
+#define MCFG_GF1_DRQ1_HANDLER(_devcb) \
+ downcast<gf1_device &>(*device).set_drq1_handler(DEVCB_##_devcb);
+
+#define MCFG_GF1_DRQ2_HANDLER(_devcb) \
+ downcast<gf1_device &>(*device).set_drq2_handler(DEVCB_##_devcb);
+
+#define MCFG_GF1_NMI_HANDLER(_devcb) \
+ downcast<gf1_device &>(*device).set_nmi_handler(DEVCB_##_devcb);
//**************************************************************************
// TYPE DEFINITIONS
@@ -80,6 +112,17 @@ public:
// construction/destruction
gf1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ template <class Object> devcb_base &set_txirq_handler(Object &&cb) { return m_txirq_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_rxirq_handler(Object &&cb) { return m_rxirq_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_wave_irq_handler(Object &&cb) { return m_wave_irq_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_ramp_irq_handler(Object &&cb) { return m_ramp_irq_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_timer1_irq_handler(Object &&cb) { return m_timer1_irq_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_timer2_irq_handler(Object &&cb) { return m_timer2_irq_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_sb_irq_handler(Object &&cb) { return m_sb_irq_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_dma_irq_handler(Object &&cb) { return m_dma_irq_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_drq1_handler(Object &&cb) { return m_drq1_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_drq2_handler(Object &&cb) { return m_drq2_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_nmi_handler(Object &&cb) { return m_nmi_handler.set_callback(std::forward<Object>(cb)); }
auto txirq_handler() { return m_txirq_handler.bind(); }
auto rxirq_handler() { return m_rxirq_handler.bind(); }
auto wave_irq_handler() { return m_wave_irq_handler.bind(); }
diff --git a/src/devices/bus/isa/hdc.cpp b/src/devices/bus/isa/hdc.cpp
index 2492d0eaa89..040f72f98c3 100644
--- a/src/devices/bus/isa/hdc.cpp
+++ b/src/devices/bus/isa/hdc.cpp
@@ -918,23 +918,21 @@ DEFINE_DEVICE_TYPE(ISA8_HDC_EC1841, isa8_hdc_ec1841_device, "isa_hdc_ec1841", "E
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void isa8_hdc_device::device_add_mconfig(machine_config &config)
-{
- XT_HDC(config, m_hdc,0);
- m_hdc->irq_handler().set(FUNC(isa8_hdc_device::irq_w));
- m_hdc->drq_handler().set(FUNC(isa8_hdc_device::drq_w));
- HARDDISK(config, "hdc:primary");
- HARDDISK(config, "hdc:slave");
-}
-
-void isa8_hdc_ec1841_device::device_add_mconfig(machine_config &config)
-{
- EC1841_HDC(config, m_hdc,0);
- m_hdc->irq_handler().set(FUNC(isa8_hdc_ec1841_device::irq_w));
- m_hdc->drq_handler().set(FUNC(isa8_hdc_ec1841_device::drq_w));
- HARDDISK(config, "hdc:primary");
- HARDDISK(config, "hdc:slave");
-}
+MACHINE_CONFIG_START(isa8_hdc_device::device_add_mconfig)
+ MCFG_DEVICE_ADD("hdc",XT_HDC,0)
+ MCFG_XTHDC_IRQ_HANDLER(WRITELINE(*this, isa8_hdc_device,irq_w))
+ MCFG_XTHDC_DRQ_HANDLER(WRITELINE(*this, isa8_hdc_device,drq_w))
+ MCFG_HARDDISK_ADD("hdc:primary")
+ MCFG_HARDDISK_ADD("hdc:slave")
+MACHINE_CONFIG_END
+
+MACHINE_CONFIG_START(isa8_hdc_ec1841_device::device_add_mconfig)
+ MCFG_DEVICE_ADD("hdc",EC1841_HDC,0)
+ MCFG_XTHDC_IRQ_HANDLER(WRITELINE(*this, isa8_hdc_ec1841_device,irq_w))
+ MCFG_XTHDC_DRQ_HANDLER(WRITELINE(*this, isa8_hdc_ec1841_device,drq_w))
+ MCFG_HARDDISK_ADD("hdc:primary")
+ MCFG_HARDDISK_ADD("hdc:slave")
+MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/isa/hdc.h b/src/devices/bus/isa/hdc.h
index 7d60d40b7a5..3e91c57d063 100644
--- a/src/devices/bus/isa/hdc.h
+++ b/src/devices/bus/isa/hdc.h
@@ -19,6 +19,11 @@
// XT HD controller device
+#define MCFG_XTHDC_IRQ_HANDLER(_devcb) \
+ downcast<xt_hdc_device &>(*device).set_irq_handler(DEVCB_##_devcb);
+
+#define MCFG_XTHDC_DRQ_HANDLER(_devcb) \
+ downcast<xt_hdc_device &>(*device).set_drq_handler(DEVCB_##_devcb);
class xt_hdc_device :
public device_t
@@ -27,8 +32,8 @@ public:
// construction/destruction
xt_hdc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- auto irq_handler() { return m_irq_handler.bind(); }
- auto drq_handler() { return m_drq_handler.bind(); }
+ template <class Object> devcb_base &set_irq_handler(Object &&cb) { return m_irq_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_drq_handler(Object &&cb) { return m_drq_handler.set_callback(std::forward<Object>(cb)); }
int dack_r();
int dack_rs();
diff --git a/src/devices/bus/isa/ibm_mfc.cpp b/src/devices/bus/isa/ibm_mfc.cpp
index 40ce54ff6fc..30a638d1c27 100644
--- a/src/devices/bus/isa/ibm_mfc.cpp
+++ b/src/devices/bus/isa/ibm_mfc.cpp
@@ -374,11 +374,10 @@ ROM_END
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void isa8_ibm_mfc_device::device_add_mconfig(machine_config &config)
-{
- Z80(config, m_cpu, XTAL(11'800'000) / 2);
- m_cpu->set_addrmap(AS_PROGRAM, &isa8_ibm_mfc_device::prg_map);
- m_cpu->set_addrmap(AS_IO, &isa8_ibm_mfc_device::io_map);
+MACHINE_CONFIG_START(isa8_ibm_mfc_device::device_add_mconfig)
+ MCFG_DEVICE_ADD("ibm_mfc", Z80, XTAL(11'800'000) / 2)
+ MCFG_DEVICE_PROGRAM_MAP(prg_map)
+ MCFG_DEVICE_IO_MAP(io_map)
I8255(config, m_d71055c_0);
m_d71055c_0->in_pa_callback().set(FUNC(isa8_ibm_mfc_device::ppi0_i_a));
@@ -391,10 +390,10 @@ void isa8_ibm_mfc_device::device_add_mconfig(machine_config &config)
m_d71055c_1->in_pb_callback().set(FUNC(isa8_ibm_mfc_device::ppi1_i_b));
m_d71055c_1->out_pc_callback().set(FUNC(isa8_ibm_mfc_device::ppi1_o_c));
- I8251(config, m_d71051, 0);
+ I8251(config, "d71051", 0);
- clock_device &usart_clock(CLOCK(config, "usart_clock", XTAL(4'000'000) / 8)); // 500KHz
- usart_clock.signal_handler().set(FUNC(isa8_ibm_mfc_device::write_usart_clock));
+ MCFG_DEVICE_ADD("usart_clock", CLOCK, XTAL(4'000'000) / 8) // 500KHz
+ MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(*this, isa8_ibm_mfc_device, write_usart_clock))
PIT8253(config, m_d8253, 0);
m_d8253->set_clk<0>(XTAL(4'000'000) / 8);
@@ -410,7 +409,7 @@ void isa8_ibm_mfc_device::device_add_mconfig(machine_config &config)
m_ym2151->irq_handler().set(FUNC(isa8_ibm_mfc_device::ibm_mfc_ym_irq));
m_ym2151->add_route(0, "ymleft", 1.00);
m_ym2151->add_route(1, "ymright", 1.00);
-}
+MACHINE_CONFIG_END
//-------------------------------------------------
diff --git a/src/devices/bus/isa/isa.cpp b/src/devices/bus/isa/isa.cpp
index 92ead5df95b..417e354180c 100644
--- a/src/devices/bus/isa/isa.cpp
+++ b/src/devices/bus/isa/isa.cpp
@@ -111,10 +111,11 @@ isa8_device::isa8_device(const machine_config &mconfig, device_type type, const
m_io_config("ISA 8-bit I/O", ENDIANNESS_LITTLE, 8, 16, 0, address_map_constructor()),
m_mem16_config("ISA 16-bit mem", ENDIANNESS_LITTLE, 16, 24, 0, address_map_constructor()),
m_io16_config("ISA 16-bit I/O", ENDIANNESS_LITTLE, 16, 16, 0, address_map_constructor()),
- m_memspace(*this, finder_base::DUMMY_TAG, -1),
- m_iospace(*this, finder_base::DUMMY_TAG, -1),
- m_memwidth(0),
+ m_maincpu(*this, finder_base::DUMMY_TAG),
+ m_iospace(nullptr),
+ m_memspace(nullptr),
m_iowidth(0),
+ m_memwidth(0),
m_allocspaces(false),
m_out_irq2_cb(*this),
m_out_irq3_cb(*this),
@@ -125,6 +126,7 @@ isa8_device::isa8_device(const machine_config &mconfig, device_type type, const
m_out_drq1_cb(*this),
m_out_drq2_cb(*this),
m_out_drq3_cb(*this),
+ m_nmi_enabled(false),
m_write_iochck(*this)
{
std::fill(std::begin(m_dma_device), std::end(m_dma_device), nullptr);
@@ -200,27 +202,10 @@ void isa8_device::remap(int space_id, offs_t start, offs_t end)
}
//-------------------------------------------------
-// device_config_complete - - perform any
-// operations now that the configuration is
-// complete
-//-------------------------------------------------
-
-void isa8_device::device_config_complete()
-{
- if (m_allocspaces)
- {
- m_memspace.set_tag(*this, DEVICE_SELF, AS_ISA_MEM);
- m_iospace.set_tag(*this, DEVICE_SELF, AS_ISA_IO);
- }
-}
-
-//-------------------------------------------------
-// device_resolve_objects - resolve objects that
-// may be needed for other devices to set
-// initial conditions at start time
+// device_start - device-specific startup
//-------------------------------------------------
-void isa8_device::device_resolve_objects()
+void isa8_device::device_start()
{
// resolve callbacks
m_write_iochck.resolve_safe();
@@ -235,16 +220,20 @@ void isa8_device::device_resolve_objects()
m_out_drq2_cb.resolve_safe();
m_out_drq3_cb.resolve_safe();
- m_iowidth = m_iospace->data_width();
- m_memwidth = m_memspace->data_width();
-}
-
-//-------------------------------------------------
-// device_start - device-specific startup
-//-------------------------------------------------
-
-void isa8_device::device_start()
-{
+ if (m_allocspaces)
+ {
+ m_iospace = &space(AS_ISA_IO);
+ m_memspace = &space(AS_ISA_MEM);
+ m_iowidth = m_iospace->data_width();
+ m_memwidth = m_memspace->data_width();
+ }
+ else // use host CPU's program and I/O spaces directly
+ {
+ m_iospace = &m_maincpu->space(AS_IO);
+ m_iowidth = m_maincpu->space_config(AS_IO)->data_width();
+ m_memspace = &m_maincpu->space(AS_PROGRAM);
+ m_memwidth = m_maincpu->space_config(AS_PROGRAM)->data_width();
+ }
}
//-------------------------------------------------
@@ -263,12 +252,12 @@ template<typename R, typename W> void isa8_device::install_space(int spacenum, o
if (spacenum == AS_ISA_IO)
{
- space = m_iospace.target();
+ space = m_iospace;
buswidth = m_iowidth;
}
else if (spacenum == AS_ISA_MEM)
{
- space = m_memspace.target();
+ space = m_memspace;
buswidth = m_memwidth;
}
else
@@ -389,18 +378,12 @@ uint8_t isa8_device::dack_r(int line)
return 0xff;
}
-void isa8_device::dack_w(int line, uint8_t data)
+void isa8_device::dack_w(int line,uint8_t data)
{
if (m_dma_device[line])
return m_dma_device[line]->dack_w(line,data);
}
-void isa8_device::dack_line_w(int line, int state)
-{
- if (m_dma_device[line])
- m_dma_device[line]->dack_line_w(line, state);
-}
-
void isa8_device::eop_w(int channel, int state)
{
if (m_dma_eop[channel] && m_dma_device[channel])
@@ -409,9 +392,18 @@ void isa8_device::eop_w(int channel, int state)
void isa8_device::nmi()
{
- // active low pulse
- m_write_iochck(0);
- m_write_iochck(1);
+ if (m_write_iochck.isnull())
+ {
+ if (m_nmi_enabled)
+ {
+ m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero);
+ }
+ }
+ else
+ {
+ m_write_iochck(0);
+ m_write_iochck(1);
+ }
}
//**************************************************************************
@@ -446,15 +438,9 @@ uint8_t device_isa8_card_interface::dack_r(int line)
{
return 0;
}
-
-void device_isa8_card_interface::dack_w(int line, uint8_t data)
+void device_isa8_card_interface::dack_w(int line,uint8_t data)
{
}
-
-void device_isa8_card_interface::dack_line_w(int line, int state)
-{
-}
-
void device_isa8_card_interface::eop_w(int state)
{
}
@@ -607,7 +593,7 @@ uint16_t isa16_device::dack16_r(int line)
return 0xffff;
}
-void isa16_device::dack16_w(int line, uint16_t data)
+void isa16_device::dack16_w(int line,uint16_t data)
{
if (m_dma_device[line])
return dynamic_cast<device_isa16_card_interface *>(m_dma_device[line])->dack16_w(line,data);
@@ -661,6 +647,6 @@ uint16_t device_isa16_card_interface::dack16_r(int line)
return 0;
}
-void device_isa16_card_interface::dack16_w(int line, uint16_t data)
+void device_isa16_card_interface::dack16_w(int line,uint16_t data)
{
}
diff --git a/src/devices/bus/isa/isa.h b/src/devices/bus/isa/isa.h
index fff65de82f6..3dc15c9df59 100644
--- a/src/devices/bus/isa/isa.h
+++ b/src/devices/bus/isa/isa.h
@@ -123,8 +123,7 @@ public:
isa8_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// inline configuration
- template <typename T> void set_memspace(T &&tag, int spacenum) { m_memspace.set_tag(std::forward<T>(tag), spacenum); }
- template <typename T> void set_iospace(T &&tag, int spacenum) { m_iospace.set_tag(std::forward<T>(tag), spacenum); }
+ template <typename T> void set_cputag(T &&tag) { m_maincpu.set_tag(std::forward<T>(tag)); }
auto iochck_callback() { return m_write_iochck.bind(); }
auto irq2_callback() { return m_out_irq2_cb.bind(); }
auto irq3_callback() { return m_out_irq3_cb.bind(); }
@@ -157,7 +156,7 @@ public:
bool is_option_rom_space_available(offs_t start, int size);
// FIXME: shouldn't need to expose this
- address_space &memspace() const { return *m_memspace; }
+ address_space &memspace() const { return m_maincpu->space(AS_PROGRAM); }
DECLARE_WRITE_LINE_MEMBER( irq2_w );
DECLARE_WRITE_LINE_MEMBER( irq3_w );
@@ -177,11 +176,11 @@ public:
DECLARE_WRITE8_MEMBER(io_w);
uint8_t dack_r(int line);
- void dack_w(int line, uint8_t data);
- void dack_line_w(int line, int state);
+ void dack_w(int line,uint8_t data);
void eop_w(int channels, int state);
void nmi();
+ void set_nmi_state(bool enabled) { m_nmi_enabled = enabled; }
virtual void set_dma_channel(uint8_t channel, device_isa8_card_interface *dev, bool do_eop);
@@ -197,14 +196,15 @@ protected:
template<typename R, typename W> void install_space(int spacenum, offs_t start, offs_t end, R rhandler, W whandler);
// device-level overrides
- virtual void device_config_complete() override;
- virtual void device_resolve_objects() override;
virtual void device_start() override;
virtual void device_reset() override;
+ // internal state
+ required_device<cpu_device> m_maincpu;
+
// address spaces
- required_address_space m_memspace, m_iospace;
- int m_memwidth, m_iowidth;
+ address_space *m_iospace, *m_memspace;
+ int m_iowidth, m_memwidth;
bool m_allocspaces;
devcb_write_line m_out_irq2_cb;
@@ -219,6 +219,7 @@ protected:
device_isa8_card_interface *m_dma_device[8];
bool m_dma_eop[8];
+ bool m_nmi_enabled;
std::forward_list<device_slot_interface *> m_slot_list;
private:
@@ -245,8 +246,7 @@ public:
void set_isa_device();
// configuration access
virtual uint8_t dack_r(int line);
- virtual void dack_w(int line, uint8_t data);
- virtual void dack_line_w(int line, int state);
+ virtual void dack_w(int line,uint8_t data);
virtual void eop_w(int state);
virtual void remap(int space_id, offs_t start, offs_t end) {}
@@ -325,7 +325,7 @@ public:
DECLARE_WRITE_LINE_MEMBER( drq7_w );
uint16_t dack16_r(int line);
- void dack16_w(int line, uint16_t data);
+ void dack16_w(int line,uint16_t data);
virtual void remap(int space_id, offs_t start, offs_t end) override;
// 16 bit accessors for ISA-defined address spaces
@@ -370,7 +370,7 @@ public:
// construction/destruction
virtual ~device_isa16_card_interface();
virtual uint16_t dack16_r(int line);
- virtual void dack16_w(int line, uint16_t data);
+ virtual void dack16_w(int line,uint16_t data);
void set_isa_device();
diff --git a/src/devices/bus/isa/isa_cards.cpp b/src/devices/bus/isa/isa_cards.cpp
index 8ab0832c03d..fbbafc0bc69 100644
--- a/src/devices/bus/isa/isa_cards.cpp
+++ b/src/devices/bus/isa/isa_cards.cpp
@@ -31,16 +31,11 @@
#include "ide.h"
#include "xtide.h"
#include "side116.h"
-#include "aha1542b.h"
-#include "aha1542c.h"
-#include "aha174x.h"
+#include "aha1542.h"
#include "wd1002a_wx1.h"
#include "wd1007a.h"
#include "mcd.h"
#include "lbaenhancer.h"
-#include "cl_sh260.h"
-#include "bt54x.h"
-#include "dcb.h"
// sound
#include "adlib.h"
@@ -60,7 +55,6 @@
#include "ne2000.h"
#include "3c505.h"
#include "eis_sad8852.h"
-#include "np600.h"
// communication ports
#include "lpt.h"
@@ -156,13 +150,7 @@ void pc_isa16_cards(device_slot_interface &device)
// 16-bit
device.option_add("ide", ISA16_IDE);
device.option_add("ne2000", NE2000);
- device.option_add("aha1542a", AHA1542A);
- device.option_add("aha1542b", AHA1542B);
- device.option_add("aha1542c", AHA1542C);
- device.option_add("aha1542cf", AHA1542CF);
- device.option_add("aha1542cp", AHA1542CP);
- device.option_add("aha1740", AHA1740); // actually an EISA card
- device.option_add("aha1742a", AHA1742A); // actually an EISA card
+ device.option_add("aha1542", AHA1542);
device.option_add("gus",ISA16_GUS);
device.option_add("sblaster_16", ISA16_SOUND_BLASTER_16);
device.option_add("svga_s3", ISA16_SVGA_S3);
@@ -179,12 +167,5 @@ void pc_isa16_cards(device_slot_interface &device)
device.option_add("sb16_lle", ISA16_SB16);
device.option_add("mcd", ISA16_MCD);
device.option_add("sad8852", ISA16_SAD8852);
- device.option_add("np600a3", NP600A3);
device.option_add("wd1007a", WD1007A);
- device.option_add("ev346", EV346);
- device.option_add("jc1310", JC1310);
- device.option_add("bt542b", BT542B);
- device.option_add("bt542bh", BT542BH);
- device.option_add("bt545s", BT545S);
- device.option_add("dcb", NOVELL_DCB);
}
diff --git a/src/devices/bus/isa/lbaenhancer.cpp b/src/devices/bus/isa/lbaenhancer.cpp
index f8ebedb130c..14bd28826ef 100644
--- a/src/devices/bus/isa/lbaenhancer.cpp
+++ b/src/devices/bus/isa/lbaenhancer.cpp
@@ -84,10 +84,9 @@ const tiny_rom_entry *lba_enhancer_device::device_rom_region() const
//-------------------------------------------------
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void lba_enhancer_device::device_add_mconfig(machine_config &config)
-{
-// lba_enhancer(config, "lba_enhancer", 0);
-}
+MACHINE_CONFIG_START( lba_enhancer_device::device_add_mconfig )
+// MCFG_DEVICE_ADD("lba_enhancer", lba_enhancer, 0)
+MACHINE_CONFIG_END
//-------------------------------------------------
diff --git a/src/devices/bus/isa/mc1502_fdc.cpp b/src/devices/bus/isa/mc1502_fdc.cpp
index 3f85534a72b..1b04c6be91e 100644
--- a/src/devices/bus/isa/mc1502_fdc.cpp
+++ b/src/devices/bus/isa/mc1502_fdc.cpp
@@ -12,6 +12,18 @@
#include "cpu/i86/i86.h"
#include "formats/pc_dsk.h"
+#define VERBOSE_DBG 0
+
+#define DBG_LOG(N,M,A) \
+ do { \
+ if(VERBOSE_DBG>=N) \
+ { \
+ if( M ) \
+ logerror("%11.6f: %-24s",machine().time().as_double(),(char*)M ); \
+ logerror A; \
+ } \
+ } while (0)
+
//**************************************************************************
// DEVICE DEFINITIONS
diff --git a/src/devices/bus/isa/mda.cpp b/src/devices/bus/isa/mda.cpp
index f1f6cae6257..35e382cc981 100644
--- a/src/devices/bus/isa/mda.cpp
+++ b/src/devices/bus/isa/mda.cpp
@@ -22,7 +22,7 @@
#define VERBOSE_MDA 0 /* MDA (Monochrome Display Adapter) */
-#define MDA_CLOCK 16.257_MHz_XTAL
+#define MDA_CLOCK 16257000
#define MDA_LOG(N,M,A) \
do { \
@@ -107,13 +107,12 @@ DEFINE_DEVICE_TYPE(ISA8_MDA, isa8_mda_device, "isa_ibm_mda", "IBM Monochrome Dis
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void isa8_mda_device::device_add_mconfig(machine_config &config)
-{
- screen_device &screen(SCREEN(config, MDA_SCREEN_NAME, SCREEN_TYPE_RASTER));
- screen.set_raw(MDA_CLOCK, 882, 0, 720, 370, 0, 350);
- screen.set_screen_update(MC6845_NAME, FUNC(mc6845_device::screen_update));
+MACHINE_CONFIG_START(isa8_mda_device::device_add_mconfig)
+ MCFG_SCREEN_ADD( MDA_SCREEN_NAME, RASTER)
+ MCFG_SCREEN_RAW_PARAMS(MDA_CLOCK, 882, 0, 720, 370, 0, 350 )
+ MCFG_SCREEN_UPDATE_DEVICE( MC6845_NAME, mc6845_device, screen_update )
- PALETTE(config, m_palette).set_entries(4);
+ MCFG_PALETTE_ADD( "palette", 4 )
MC6845(config, m_crtc, MDA_CLOCK/9);
m_crtc->set_screen(MDA_SCREEN_NAME);
@@ -123,11 +122,11 @@ void isa8_mda_device::device_add_mconfig(machine_config &config)
m_crtc->out_hsync_callback().set(FUNC(isa8_mda_device::hsync_changed));
m_crtc->out_vsync_callback().set(FUNC(isa8_mda_device::vsync_changed));
- GFXDECODE(config, "gfxdecode", m_palette, gfx_pcmda);
+ MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_pcmda)
PC_LPT(config, m_lpt);
m_lpt->irq_handler().set(FUNC(isa8_mda_device::pc_cpu_line));
-}
+MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region
@@ -463,10 +462,10 @@ WRITE8_MEMBER( isa8_mda_device::io_write)
switch( offset )
{
case 0: case 2: case 4: case 6:
- m_crtc->address_w(data);
+ m_crtc->address_w( space, offset, data );
break;
case 1: case 3: case 5: case 7:
- m_crtc->register_w(data);
+ m_crtc->register_w( space, offset, data );
break;
case 8:
mode_control_w(space, offset, data);
@@ -486,7 +485,7 @@ READ8_MEMBER( isa8_mda_device::io_read)
/* return last written mc6845 address value here? */
break;
case 1: case 3: case 5: case 7:
- data = m_crtc->register_r();
+ data = m_crtc->register_r( space, offset );
break;
case 10:
data = status_r(space, offset);
@@ -533,13 +532,12 @@ DEFINE_DEVICE_TYPE(ISA8_HERCULES, isa8_hercules_device, "isa_hercules", "Hercule
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void isa8_hercules_device::device_add_mconfig(machine_config &config)
-{
- screen_device &screen(SCREEN(config, HERCULES_SCREEN_NAME, SCREEN_TYPE_RASTER));
- screen.set_raw(MDA_CLOCK, 882, 0, 720, 370, 0, 350);
- screen.set_screen_update(MC6845_NAME, FUNC(mc6845_device::screen_update));
+MACHINE_CONFIG_START(isa8_hercules_device::device_add_mconfig)
+ MCFG_SCREEN_ADD( HERCULES_SCREEN_NAME, RASTER)
+ MCFG_SCREEN_RAW_PARAMS(MDA_CLOCK, 882, 0, 720, 370, 0, 350 )
+ MCFG_SCREEN_UPDATE_DEVICE( MC6845_NAME, mc6845_device, screen_update )
- PALETTE(config, m_palette).set_entries(4);
+ MCFG_PALETTE_ADD( "palette", 4 )
MC6845(config, m_crtc, MDA_CLOCK/9);
m_crtc->set_screen(HERCULES_SCREEN_NAME);
@@ -549,11 +547,11 @@ void isa8_hercules_device::device_add_mconfig(machine_config &config)
m_crtc->out_hsync_callback().set(FUNC(isa8_mda_device::hsync_changed));
m_crtc->out_vsync_callback().set(FUNC(isa8_mda_device::vsync_changed));
- GFXDECODE(config, "gfxdecode", m_palette, gfx_pcherc);
+ MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_pcherc)
PC_LPT(config, m_lpt);
m_lpt->irq_handler().set(FUNC(isa8_mda_device::pc_cpu_line));
-}
+MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region
@@ -679,10 +677,10 @@ WRITE8_MEMBER( isa8_hercules_device::io_write )
switch( offset )
{
case 0: case 2: case 4: case 6:
- m_crtc->address_w(data);
+ m_crtc->address_w( space, offset, data );
break;
case 1: case 3: case 5: case 7:
- m_crtc->register_w(data);
+ m_crtc->register_w( space, offset, data );
break;
case 8:
mode_control_w(space, offset, data);
@@ -726,7 +724,7 @@ READ8_MEMBER( isa8_hercules_device::io_read )
/* return last written mc6845 address value here? */
break;
case 1: case 3: case 5: case 7:
- data = m_crtc->register_r();
+ data = m_crtc->register_r( space, offset );
break;
case 10:
data = status_r(space, offset);
@@ -747,13 +745,12 @@ DEFINE_DEVICE_TYPE(ISA8_EC1840_0002, isa8_ec1840_0002_device, "ec1840_0002", "EC
//-------------------------------------------------
// XXX
-void isa8_ec1840_0002_device::device_add_mconfig(machine_config &config)
-{
- screen_device &screen(SCREEN(config, MDA_SCREEN_NAME, SCREEN_TYPE_RASTER));
- screen.set_raw(MDA_CLOCK, 792, 0, 640, 370, 0, 350);
- screen.set_screen_update(MC6845_NAME, FUNC(mc6845_device::screen_update));
+MACHINE_CONFIG_START(isa8_ec1840_0002_device::device_add_mconfig)
+ MCFG_SCREEN_ADD( MDA_SCREEN_NAME, RASTER)
+ MCFG_SCREEN_RAW_PARAMS(MDA_CLOCK, 792, 0, 640, 370, 0, 350 )
+ MCFG_SCREEN_UPDATE_DEVICE( MC6845_NAME, mc6845_device, screen_update )
- PALETTE(config, m_palette).set_entries(4);
+ MCFG_PALETTE_ADD( "palette", 4 )
MC6845(config, m_crtc, MDA_CLOCK/8);
m_crtc->set_screen(MDA_SCREEN_NAME);
@@ -762,7 +759,7 @@ void isa8_ec1840_0002_device::device_add_mconfig(machine_config &config)
m_crtc->set_update_row_callback(FUNC(isa8_mda_device::crtc_update_row), this);
m_crtc->out_hsync_callback().set(FUNC(isa8_mda_device::hsync_changed));
m_crtc->out_vsync_callback().set(FUNC(isa8_mda_device::vsync_changed));
-}
+MACHINE_CONFIG_END
//-------------------------------------------------
// isa8_ec1840_0002_device - constructor
diff --git a/src/devices/bus/isa/mufdc.cpp b/src/devices/bus/isa/mufdc.cpp
index 3e40653e175..8930a080d8f 100644
--- a/src/devices/bus/isa/mufdc.cpp
+++ b/src/devices/bus/isa/mufdc.cpp
@@ -195,11 +195,6 @@ void mufdc_device::dack_w(int line, uint8_t data)
return m_fdc->dma_w(data);
}
-void mufdc_device::dack_line_w(int line, int state)
-{
- //m_fdc->dack_w(state);
-}
-
void mufdc_device::eop_w(int state)
{
m_fdc->tc_w(state == ASSERT_LINE);
diff --git a/src/devices/bus/isa/mufdc.h b/src/devices/bus/isa/mufdc.h
index 2fa000757e4..4d042a58834 100644
--- a/src/devices/bus/isa/mufdc.h
+++ b/src/devices/bus/isa/mufdc.h
@@ -47,7 +47,6 @@ protected:
// device_isa8_card_interface
virtual uint8_t dack_r(int line) override;
virtual void dack_w(int line, uint8_t data) override;
- virtual void dack_line_w(int line, int state) override;
virtual void eop_w(int state) override;
private:
diff --git a/src/devices/bus/isa/ne1000.cpp b/src/devices/bus/isa/ne1000.cpp
index 1eaef942105..7723ad75a88 100644
--- a/src/devices/bus/isa/ne1000.cpp
+++ b/src/devices/bus/isa/ne1000.cpp
@@ -6,13 +6,12 @@
DEFINE_DEVICE_TYPE(NE1000, ne1000_device, "ne1000", "NE1000 Network Adapter")
-void ne1000_device::device_add_mconfig(machine_config &config)
-{
- DP8390D(config, m_dp8390, 0);
- m_dp8390->irq_callback().set(FUNC(ne1000_device::ne1000_irq_w));
- m_dp8390->mem_read_callback().set(FUNC(ne1000_device::ne1000_mem_read));
- m_dp8390->mem_write_callback().set(FUNC(ne1000_device::ne1000_mem_write));
-}
+MACHINE_CONFIG_START(ne1000_device::device_add_mconfig)
+ MCFG_DEVICE_ADD("dp8390d", DP8390D, 0)
+ MCFG_DP8390D_IRQ_CB(WRITELINE(*this, ne1000_device, ne1000_irq_w))
+ MCFG_DP8390D_MEM_READ_CB(READ8(*this, ne1000_device, ne1000_mem_read))
+ MCFG_DP8390D_MEM_WRITE_CB(WRITE8(*this, ne1000_device, ne1000_mem_write))
+MACHINE_CONFIG_END
ne1000_device::ne1000_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
: device_t(mconfig, NE1000, tag, owner, clock),
diff --git a/src/devices/bus/isa/ne2000.cpp b/src/devices/bus/isa/ne2000.cpp
index 3ad2cc592ef..5de941accc2 100644
--- a/src/devices/bus/isa/ne2000.cpp
+++ b/src/devices/bus/isa/ne2000.cpp
@@ -6,13 +6,12 @@
DEFINE_DEVICE_TYPE(NE2000, ne2000_device, "ne2000", "NE2000 Network Adapter")
-void ne2000_device::device_add_mconfig(machine_config &config)
-{
- DP8390D(config, m_dp8390, 0);
- m_dp8390->irq_callback().set(FUNC(ne2000_device::ne2000_irq_w));
- m_dp8390->mem_read_callback().set(FUNC(ne2000_device::ne2000_mem_read));
- m_dp8390->mem_write_callback().set(FUNC(ne2000_device::ne2000_mem_write));
-}
+MACHINE_CONFIG_START(ne2000_device::device_add_mconfig)
+ MCFG_DEVICE_ADD("dp8390d", DP8390D, 0)
+ MCFG_DP8390D_IRQ_CB(WRITELINE(*this, ne2000_device, ne2000_irq_w))
+ MCFG_DP8390D_MEM_READ_CB(READ8(*this, ne2000_device, ne2000_mem_read))
+ MCFG_DP8390D_MEM_WRITE_CB(WRITE8(*this, ne2000_device, ne2000_mem_write))
+MACHINE_CONFIG_END
ne2000_device::ne2000_device(const machine_config& mconfig, const char* tag, device_t* owner, uint32_t clock)
: device_t(mconfig, NE2000, tag, owner, clock),
diff --git a/src/devices/bus/isa/np600.cpp b/src/devices/bus/isa/np600.cpp
deleted file mode 100644
index 064c1d40191..00000000000
--- a/src/devices/bus/isa/np600.cpp
+++ /dev/null
@@ -1,76 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:AJR
-/*********************************************************************
-
- InterLan NP600 Intelligent Protocol Processor
-
-*********************************************************************/
-
-#include "emu.h"
-#include "np600.h"
-
-#include "cpu/i86/i186.h"
-#include "machine/74259.h"
-//#include "machine/i82586.h"
-
-DEFINE_DEVICE_TYPE(NP600A3, np600a3_device, "np600a3", "InterLan NP600A-3 Intelligent Protocol Processor")
-
-np600a3_device::np600a3_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
- : device_t(mconfig, NP600A3, tag, owner, clock)
- , device_isa16_card_interface(mconfig, *this)
- , m_npcpu(*this, "npcpu")
-{
-}
-
-void np600a3_device::device_start()
-{
-}
-
-u16 np600a3_device::status_r()
-{
- return 0;
-}
-
-void np600a3_device::mem_map(address_map &map)
-{
- map(0x00000, 0x7ffff).ram(); // GM71256-12 x16
- map(0xfc000, 0xfffff).rom().region("npcpu", 0);
-}
-
-void np600a3_device::io_map(address_map &map)
-{
- map(0x0070, 0x007f).w("latch70", FUNC(ls259_device::write_a0));
- map(0x0080, 0x0081).r(FUNC(np600a3_device::status_r));
-}
-
-void np600a3_device::device_add_mconfig(machine_config &config)
-{
- I80186(config, m_npcpu, 16_MHz_XTAL);
- m_npcpu->set_addrmap(AS_PROGRAM, &np600a3_device::mem_map);
- m_npcpu->set_addrmap(AS_IO, &np600a3_device::io_map);
-
- LS259(config, "latch70"); // U28
-
- //I82586(config, "enet", 20_MHz_XTAL);
-}
-
-ROM_START(np600a3)
- ROM_REGION(0x4000, "npcpu", 0)
- ROM_LOAD16_BYTE("258-0032-00_rev_ba.u38", 0x0000, 0x2000, CRC(84ccb317) SHA1(3ecc8e265336f5d3b0f276f18dd1b7001778f2c3))
- ROM_LOAD16_BYTE("258-0033-00_rev_ba.u39", 0x0001, 0x2000, CRC(0e0f726c) SHA1(520773e235a826438b025381cd3861df86d4965d))
-
- // Undumped small devices (mostly or all PLDs):
- // 258-0037-00 REV AA (U17, 20 pins)
- // 258-0027-01 REV AB (U20, 20 pins)
- // 020701079BFA (U29, 16 pins)
- // 258-0031-00 REV AC (U34, PAL20xx, 24 pins)
- // 258-0030-00 REV AA (U36, 20 pins)
- // 258-0028-01 REV AA (U44, 20 pins)
- // 258-0029-01 REV AA (U46, 20 pins)
- // 258-0089-00 REV AA (U48, 20 pins)
-ROM_END
-
-const tiny_rom_entry *np600a3_device::device_rom_region() const
-{
- return ROM_NAME(np600a3);
-}
diff --git a/src/devices/bus/isa/np600.h b/src/devices/bus/isa/np600.h
deleted file mode 100644
index 7831d804922..00000000000
--- a/src/devices/bus/isa/np600.h
+++ /dev/null
@@ -1,39 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:AJR
-/*********************************************************************
-
- InterLan NP600 Intelligent Protocol Processor
-
-*********************************************************************/
-
-#ifndef MAME_BUS_ISA_NP600_H
-#define MAME_BUS_ISA_NP600_H
-
-#pragma once
-
-#include "isa.h"
-
-class np600a3_device : public device_t, public device_isa16_card_interface
-{
-public:
- np600a3_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
-
- static constexpr feature_type unemulated_features() { return feature::LAN; }
-
-protected:
- virtual void device_start() override;
- virtual void device_add_mconfig(machine_config &config) override;
- virtual const tiny_rom_entry *device_rom_region() const override;
-
-private:
- u16 status_r();
-
- void mem_map(address_map &map);
- void io_map(address_map &map);
-
- required_device<cpu_device> m_npcpu;
-};
-
-DECLARE_DEVICE_TYPE(NP600A3, np600a3_device)
-
-#endif // MAME_BUS_ISA_NP600_H
diff --git a/src/devices/bus/isa/num9rev.cpp b/src/devices/bus/isa/num9rev.cpp
index ebe44a379f4..baf30cca586 100644
--- a/src/devices/bus/isa/num9rev.cpp
+++ b/src/devices/bus/isa/num9rev.cpp
@@ -53,20 +53,19 @@ UPD7220_DISPLAY_PIXELS_MEMBER( isa8_number_9_rev_device::hgdc_display_pixels )
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void isa8_number_9_rev_device::device_add_mconfig(machine_config &config)
-{
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
- screen.set_size(512, 448);
- screen.set_visarea(0, 512-1, 0, 448-1);
- screen.set_refresh_hz(60);
- screen.set_screen_update(FUNC(isa8_number_9_rev_device::screen_update));
- PALETTE(config, m_palette).set_entries(4096);
+MACHINE_CONFIG_START(isa8_number_9_rev_device::device_add_mconfig)
+ MCFG_SCREEN_ADD("screen", RASTER)
+ MCFG_SCREEN_SIZE(512, 448)
+ MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 448-1)
+ MCFG_SCREEN_REFRESH_RATE(60)
+ MCFG_SCREEN_UPDATE_DRIVER(isa8_number_9_rev_device, screen_update)
+ MCFG_PALETTE_ADD("palette", 4096)
UPD7220(config, m_upd7220, XTAL(4'433'619)/2); // unknown clock
m_upd7220->set_addrmap(0, &isa8_number_9_rev_device::upd7220_map);
- m_upd7220->set_display_pixels(FUNC(isa8_number_9_rev_device::hgdc_display_pixels));
+ m_upd7220->set_display_pixels_callback(FUNC(isa8_number_9_rev_device::hgdc_display_pixels), this);
m_upd7220->set_screen("screen");
-}
+MACHINE_CONFIG_END
//**************************************************************************
// LIVE DEVICE
@@ -94,7 +93,7 @@ void isa8_number_9_rev_device::device_start()
{
set_isa_device();
- m_isa->install_memory(0xc0000, 0xc0001, read8sm_delegate(FUNC(upd7220_device::read), (upd7220_device *)m_upd7220), write8sm_delegate(FUNC(upd7220_device::write), (upd7220_device *)m_upd7220));
+ m_isa->install_memory(0xc0000, 0xc0001, read8_delegate(FUNC(upd7220_device::read), (upd7220_device *)m_upd7220), write8_delegate(FUNC(upd7220_device::write), (upd7220_device *)m_upd7220));
m_isa->install_memory(0xc0100, 0xc03ff, read8_delegate(FUNC(isa8_number_9_rev_device::pal8_r), this), write8_delegate(FUNC(isa8_number_9_rev_device::pal8_w), this));
m_isa->install_memory(0xc0400, 0xc0401, read8_delegate(FUNC(isa8_number_9_rev_device::bank_r), this), write8_delegate(FUNC(isa8_number_9_rev_device::bank_w), this));
m_isa->install_memory(0xc0500, 0xc06ff, read8_delegate(FUNC(isa8_number_9_rev_device::overlay_r), this), write8_delegate(FUNC(isa8_number_9_rev_device::overlay_w), this));
diff --git a/src/devices/bus/isa/omti8621.cpp b/src/devices/bus/isa/omti8621.cpp
index bea87f420ee..9eebabb188f 100644
--- a/src/devices/bus/isa/omti8621.cpp
+++ b/src/devices/bus/isa/omti8621.cpp
@@ -1285,11 +1285,6 @@ void omti8621_device::dack_w(int line, uint8_t data)
return m_fdc->dma_w(data);
}
-void omti8621_device::dack_line_w(int line, int state)
-{
- //m_fdc->dack_w(state);
-}
-
void omti8621_device::eop_w(int state)
{
m_fdc->tc_w(state == ASSERT_LINE);
diff --git a/src/devices/bus/isa/omti8621.h b/src/devices/bus/isa/omti8621.h
index 1258af71854..070ae2dbe70 100644
--- a/src/devices/bus/isa/omti8621.h
+++ b/src/devices/bus/isa/omti8621.h
@@ -56,7 +56,6 @@ protected:
virtual uint8_t dack_r(int line) override;
virtual void dack_w(int line, uint8_t data) override;
- virtual void dack_line_w(int line, int state) override;
virtual void eop_w(int state) override;
void set_interrupt(enum line_state line_state);
diff --git a/src/devices/bus/isa/p1_fdc.cpp b/src/devices/bus/isa/p1_fdc.cpp
index 9b62451e65a..df53cdb7629 100644
--- a/src/devices/bus/isa/p1_fdc.cpp
+++ b/src/devices/bus/isa/p1_fdc.cpp
@@ -12,6 +12,18 @@
#include "cpu/i86/i86.h"
#include "formats/pc_dsk.h"
+#define VERBOSE_DBG 0
+
+#define DBG_LOG(N,M,A) \
+ do { \
+ if(VERBOSE_DBG>=N) \
+ { \
+ if( M ) \
+ logerror("%11.6f: %-24s",machine().time().as_double(),(char*)M ); \
+ logerror A; \
+ } \
+ } while (0)
+
//**************************************************************************
// DEVICE DEFINITIONS
@@ -75,6 +87,7 @@ const tiny_rom_entry *p1_fdc_device::device_rom_region() const
uint8_t p1_fdc_device::p1_wd17xx_motor_r()
{
+ DBG_LOG(1, "p1_fdc_motor_r", ("R = $%02x\n", 0));
// XXX always on for now
return 0;
}
@@ -105,6 +118,8 @@ uint8_t p1_fdc_device::p1_wd17xx_aux_r()
*/
void p1_fdc_device::p1_wd17xx_aux_w(int data)
{
+ DBG_LOG(1, "p1_fdc_aux_w", ("W $%02x\n", data));
+
floppy_image_device *floppy0 = m_fdc->subdevice<floppy_connector>("0")->get_device();
floppy_image_device *floppy1 = m_fdc->subdevice<floppy_connector>("1")->get_device();
floppy_image_device *floppy = ((data & 2) ? floppy1 : floppy0);
diff --git a/src/devices/bus/isa/p1_hdc.cpp b/src/devices/bus/isa/p1_hdc.cpp
index 129c7a6ce37..d0971e6c3c6 100644
--- a/src/devices/bus/isa/p1_hdc.cpp
+++ b/src/devices/bus/isa/p1_hdc.cpp
@@ -14,14 +14,17 @@
// MACROS / CONSTANTS
//**************************************************************************
-//#define LOG_GENERAL (1U << 0) //defined in logmacro.h already
-#define LOG_DEBUG (1U << 1)
+#define VERBOSE_DBG 1
-//#define VERBOSE (LOG_DEBUG)
-//#define LOG_OUTPUT_FUNC printf
-#include "logmacro.h"
-
-#define LOGDBG(...) LOGMASKED(LOG_DEBUG, __VA_ARGS__)
+#define DBG_LOG(N,M,A) \
+ do { \
+ if(VERBOSE_DBG>=N) \
+ { \
+ if( M ) \
+ logerror("%11.6f: %-24s",machine().time().as_double(),(char*)M ); \
+ logerror A; \
+ } \
+ } while (0)
//**************************************************************************
@@ -89,21 +92,20 @@ READ8_MEMBER(p1_hdc_device::p1_HDC_r)
switch (offset >> 8)
{
case 8:
- data = m_hdc->read(offset & 255);
+ data = m_hdc->read(space, offset & 255);
}
- LOG("hdc R $%04x == $%02x\n", offset, data);
+ DBG_LOG(1, "hdc", ("R $%04x == $%02x\n", offset, data));
return data;
}
WRITE8_MEMBER(p1_hdc_device::p1_HDC_w)
{
- LOG("hdc W $%04x <- $%02x\n", offset, data);
-
+ DBG_LOG(1, "hdc", ("W $%04x <- $%02x\n", offset, data));
switch (offset >> 8)
{
case 8:
- m_hdc->write(offset & 255, data);
+ m_hdc->write(space, offset & 255, data, 0);
}
}
diff --git a/src/devices/bus/isa/p1_sound.cpp b/src/devices/bus/isa/p1_sound.cpp
index b8e37a57368..485dca5205e 100644
--- a/src/devices/bus/isa/p1_sound.cpp
+++ b/src/devices/bus/isa/p1_sound.cpp
@@ -29,15 +29,15 @@ DEFINE_DEVICE_TYPE(P1_SOUND, p1_sound_device, "p1_sound", "Poisk-1 sound card (B
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void p1_sound_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(p1_sound_device::device_add_mconfig)
I8251(config, m_midi, 0);
m_midi->txd_handler().set("mdout", FUNC(midi_port_device::write_txd));
m_midi->rxrdy_handler().set(":isa", FUNC(isa8_device::irq3_w));
- MIDI_PORT(config, "mdin", midiin_slot, "midiin").rxd_handler().set(m_midi, FUNC(i8251_device::write_rxd));
+ MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin")
+ MCFG_MIDI_RX_HANDLER(WRITELINE("midi", i8251_device, write_rxd))
- MIDI_PORT(config, "mdout", midiout_slot, "midiout");
+ MCFG_MIDI_PORT_ADD("mdout", midiout_slot, "midiout")
PIT8253(config, m_d14, 0);
m_d14->set_clk<0>(XTAL(12'500'000)/10);
@@ -65,12 +65,12 @@ void p1_sound_device::device_add_mconfig(machine_config &config)
// m_d17->out_handler<2>().set(FUNC(XXX));
SPEAKER(config, "speaker").front_center();
- FILTER_RC(config, m_filter).add_route(ALL_OUTPUTS, "speaker", 1.0);
- DAC_8BIT_R2R(config, m_dac, 0).add_route(ALL_OUTPUTS, "filter", 0.5); // unknown DAC
- voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref"));
- vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
- vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT);
-}
+ MCFG_DEVICE_ADD("filter", FILTER_RC)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0)
+ MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "filter", 0.5) // unknown DAC
+ MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+MACHINE_CONFIG_END
//**************************************************************************
diff --git a/src/devices/bus/isa/pc1640_iga.cpp b/src/devices/bus/isa/pc1640_iga.cpp
index dfab59f2e76..04ef54c2d42 100644
--- a/src/devices/bus/isa/pc1640_iga.cpp
+++ b/src/devices/bus/isa/pc1640_iga.cpp
@@ -28,6 +28,8 @@
//**************************************************************************
#define PEGA1A_TAG "ic910"
+#define EGA_CRTC_NAME "crtc_ega_ega"
+
//**************************************************************************
@@ -101,6 +103,8 @@ void isa8_pc1640_iga_device::device_start()
m_plane[2] = m_videoram + 0x20000;
m_plane[3] = m_videoram + 0x30000;
+ m_crtc_ega = subdevice<crtc_ega_device>(EGA_CRTC_NAME);
+
m_isa->install_rom(this, 0xc0000, 0xc7fff, "ega", "iga");
m_isa->install_device(0x3b0, 0x3bf, read8_delegate(FUNC(isa8_ega_device::pc_ega8_3b0_r), this), write8_delegate(FUNC(isa8_ega_device::pc_ega8_3b0_w), this));
m_isa->install_device(0x3c0, 0x3cf, read8_delegate(FUNC(isa8_ega_device::pc_ega8_3c0_r), this), write8_delegate(FUNC(isa8_ega_device::pc_ega8_3c0_w), this));
diff --git a/src/devices/bus/isa/pds.cpp b/src/devices/bus/isa/pds.cpp
index 65a35db2b14..45dffd9904e 100644
--- a/src/devices/bus/isa/pds.cpp
+++ b/src/devices/bus/isa/pds.cpp
@@ -56,7 +56,6 @@ void isa8_pds_device::device_stop()
{
}
-void isa8_pds_device::device_add_mconfig(machine_config &config)
-{
- I8255(config, m_ppi);
-}
+MACHINE_CONFIG_START(isa8_pds_device::device_add_mconfig)
+ MCFG_DEVICE_ADD("pds_ppi", I8255, 0)
+MACHINE_CONFIG_END
diff --git a/src/devices/bus/isa/pgc.cpp b/src/devices/bus/isa/pgc.cpp
index d90badaeae7..ab242877e01 100644
--- a/src/devices/bus/isa/pgc.cpp
+++ b/src/devices/bus/isa/pgc.cpp
@@ -151,31 +151,30 @@ DEFINE_DEVICE_TYPE(ISA8_PGC, isa8_pgc_device, "isa_ibm_pgc", "IBM Professional G
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void isa8_pgc_device::device_add_mconfig(machine_config &config)
-{
- I8088(config, m_cpu, XTAL(24'000'000)/3);
- m_cpu->set_addrmap(AS_PROGRAM, &isa8_pgc_device::pgc_map);
+MACHINE_CONFIG_START(isa8_pgc_device::device_add_mconfig)
+ MCFG_DEVICE_ADD("maincpu", I8088, XTAL(24'000'000)/3)
+ MCFG_DEVICE_PROGRAM_MAP(pgc_map)
#if 0
- m_cpu->set_irq_acknowledge_callback(FUNC(isa8_pgc_device::irq_callback));
+ MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(isa8_pgc_device, irq_callback)
#endif
- timer_device &scantimer(TIMER(config, "scantimer"));
- scantimer.configure_periodic(FUNC(isa8_pgc_device::scanline_callback), attotime::from_hz(60*PGC_TOTAL_VERT));
- scantimer.set_start_delay(attotime::from_hz(XTAL(50'000'000)/(2*PGC_HORZ_START)));
+ MCFG_TIMER_DRIVER_ADD_PERIODIC("scantimer", isa8_pgc_device, scanline_callback,
+ attotime::from_hz(60*PGC_TOTAL_VERT))
+ MCFG_TIMER_START_DELAY(attotime::from_hz(XTAL(50'000'000)/(2*PGC_HORZ_START)))
- SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
- m_screen->set_raw(XTAL(50'000'000)/2,
+ MCFG_SCREEN_ADD(PGC_SCREEN_NAME, RASTER)
+ MCFG_SCREEN_RAW_PARAMS(XTAL(50'000'000)/2,
PGC_TOTAL_HORZ, PGC_HORZ_START, PGC_HORZ_START+PGC_DISP_HORZ,
- PGC_TOTAL_VERT, PGC_VERT_START, PGC_VERT_START+PGC_DISP_VERT);
- m_screen->set_screen_update(FUNC(isa8_pgc_device::screen_update));
- m_screen->set_palette(m_palette);
+ PGC_TOTAL_VERT, PGC_VERT_START, PGC_VERT_START+PGC_DISP_VERT)
+ MCFG_SCREEN_UPDATE_DRIVER(isa8_pgc_device, screen_update)
+ MCFG_SCREEN_PALETTE("palette")
#if 0
- m_screen->screen_vblank().set(FUNC(isa8_pgc_device::vblank_irq));
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, isa8_pgc_device, vblank_irq))
#endif
- GFXDECODE(config, "gfxdecode", m_palette, gfx_pgc);
- PALETTE(config, m_palette).set_entries(256);
-}
+ MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_pgc)
+ MCFG_PALETTE_ADD( "palette", 256 )
+MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/isa/sb16.cpp b/src/devices/bus/isa/sb16.cpp
index 6bce4b4198c..be8cce9c644 100644
--- a/src/devices/bus/isa/sb16.cpp
+++ b/src/devices/bus/isa/sb16.cpp
@@ -711,9 +711,9 @@ void sb16_lle_device::device_start()
m_isa->install_device(0x022c, 0x022d, read8_delegate(FUNC(sb16_lle_device::dsp_wbuf_status_r), this), write8_delegate(FUNC(sb16_lle_device::host_cmd_w), this) );
m_isa->install_device(0x022e, 0x022f, read8_delegate(FUNC(sb16_lle_device::dsp_rbuf_status_r), this), write8_delegate(FUNC(sb16_lle_device::invalid_w), this) );
m_isa->install_device(0x0330, 0x0331, read8_delegate(FUNC(sb16_lle_device::mpu401_r), this), write8_delegate(FUNC(sb16_lle_device::mpu401_w), this));
- m_isa->install_device(0x0388, 0x0389, read8sm_delegate(FUNC(ymf262_device::read), ymf262), write8sm_delegate(FUNC(ymf262_device::write), ymf262));
- m_isa->install_device(0x0220, 0x0223, read8sm_delegate(FUNC(ymf262_device::read), ymf262), write8sm_delegate(FUNC(ymf262_device::write), ymf262));
- m_isa->install_device(0x0228, 0x0229, read8sm_delegate(FUNC(ymf262_device::read), ymf262), write8sm_delegate(FUNC(ymf262_device::write), ymf262));
+ m_isa->install_device(0x0388, 0x0389, read8_delegate(FUNC(ymf262_device::read), ymf262), write8_delegate(FUNC(ymf262_device::write), ymf262));
+ m_isa->install_device(0x0220, 0x0223, read8_delegate(FUNC(ymf262_device::read), ymf262), write8_delegate(FUNC(ymf262_device::write), ymf262));
+ m_isa->install_device(0x0228, 0x0229, read8_delegate(FUNC(ymf262_device::read), ymf262), write8_delegate(FUNC(ymf262_device::write), ymf262));
m_isa->set_dma_channel(1, this, false);
m_isa->set_dma_channel(5, this, false);
m_timer = timer_alloc();
diff --git a/src/devices/bus/isa/sblaster.cpp b/src/devices/bus/isa/sblaster.cpp
index d8a47349918..74f1e0f8dd4 100644
--- a/src/devices/bus/isa/sblaster.cpp
+++ b/src/devices/bus/isa/sblaster.cpp
@@ -66,7 +66,7 @@ static const int m_cmd_fifo_length[256] =
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, /* 6x */
-1, -1, -1, -1, 3, 3, 3, 3, -1, -1, -1, -1, -1, 1, -1, 1, /* 7x */
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, /* 8x */
- 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, /* 9x */
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, /* 9x */
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, /* Ax */
4, -1, -1, -1, -1, -1, 4, -1, 4, -1, -1, -1, -1, -1, 4, -1, /* Bx */
4, -1, -1, -1, -1, -1, 4, -1, 4, -1, -1, -1, -1, -1, 4, -1, /* Cx */
@@ -82,7 +82,7 @@ READ8_MEMBER( sb8_device::ym3812_16_r )
uint8_t retVal = 0xff;
switch(offset)
{
- case 0 : retVal = m_ym3812->status_port_r(); break;
+ case 0 : retVal = m_ym3812->status_port_r( space, offset ); break;
}
return retVal;
}
@@ -91,8 +91,8 @@ WRITE8_MEMBER( sb8_device::ym3812_16_w )
{
switch(offset)
{
- case 0 : m_ym3812->control_port_w(data); break;
- case 1 : m_ym3812->write_port_w(data); break;
+ case 0 : m_ym3812->control_port_w( space, offset, data ); break;
+ case 1 : m_ym3812->write_port_w( space, offset, data ); break;
}
}
@@ -356,7 +356,6 @@ void sb_device::process_fifo(uint8_t cmd)
break;
case 0x1c: // 8-bit DMA with autoinit
- case 0x90: // 8-bit DMA with autoinit, high speed. XXX only on DSP 3.xx
// printf("Start DMA (autoinit, size = %x)\n", m_dsp.dma_length);
m_dsp.dma_transferred = 0;
m_dsp.dma_autoinit = 1;
@@ -584,12 +583,6 @@ void sb_device::process_fifo(uint8_t cmd)
mode = m_dsp.fifo[1];
m_dsp.flags = 0;
m_dsp.dma_length = (m_dsp.fifo[2] + (m_dsp.fifo[3]<<8)) + 1;
- if(cmd & 0x04)
- m_dsp.dma_autoinit = 1;
- if(mode & 0x10)
- m_dsp.flags |= SIGNED;
- if(mode & 0x20)
- m_dsp.flags |= STEREO;
if((cmd & 0xf0) == 0xb0)
{
m_dsp.flags |= SIXTEENBIT;
@@ -598,6 +591,15 @@ void sb_device::process_fifo(uint8_t cmd)
}
else
drq_w(1);
+ if(cmd & 0x04)
+ m_dsp.dma_autoinit = 1;
+ if(mode & 0x10)
+ m_dsp.flags |= SIGNED;
+ if(mode & 0x20)
+ {
+ m_dsp.flags |= STEREO;
+ m_dsp.dma_length <<= 1;
+ }
m_dsp.dma_transferred = 0;
m_dsp.dma_timer_started = false;
m_dsp.dma_throttled = false;
@@ -1147,6 +1149,7 @@ void sb_device::common(machine_config &config)
DAC_16BIT_R2R(config, m_ldac, 0).add_route(ALL_OUTPUTS, "lspeaker", 0.5); // unknown DAC
DAC_16BIT_R2R(config, m_rdac, 0).add_route(ALL_OUTPUTS, "rspeaker", 0.5); // unknown DAC
voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref", 0));
+ vref.set_output(5.0);
vref.add_route(0, "ldac", 1.0, DAC_VREF_POS_INPUT);
vref.add_route(0, "ldac", -1.0, DAC_VREF_NEG_INPUT);
vref.add_route(0, "rdac", 1.0, DAC_VREF_POS_INPUT);
@@ -1260,9 +1263,9 @@ void sb8_device::device_start()
{
ymf262_device *ymf262 = subdevice<ymf262_device>("ymf262");
- m_isa->install_device(0x0388, 0x038b, read8sm_delegate(FUNC(ymf262_device::read), ymf262), write8sm_delegate(FUNC(ymf262_device::write), ymf262));
- m_isa->install_device(0x0220, 0x0223, read8sm_delegate(FUNC(ymf262_device::read), ymf262), write8sm_delegate(FUNC(ymf262_device::write), ymf262));
- m_isa->install_device(0x0228, 0x0229, read8sm_delegate(FUNC(ymf262_device::read), ymf262), write8sm_delegate(FUNC(ymf262_device::write), ymf262));
+ m_isa->install_device(0x0388, 0x038b, read8_delegate(FUNC(ymf262_device::read), ymf262), write8_delegate(FUNC(ymf262_device::write), ymf262));
+ m_isa->install_device(0x0220, 0x0223, read8_delegate(FUNC(ymf262_device::read), ymf262), write8_delegate(FUNC(ymf262_device::write), ymf262));
+ m_isa->install_device(0x0228, 0x0229, read8_delegate(FUNC(ymf262_device::read), ymf262), write8_delegate(FUNC(ymf262_device::write), ymf262));
}
else
{
@@ -1303,9 +1306,9 @@ void sb16_device::device_start()
m_isa->install_device(0x022e, 0x022f, read8_delegate(FUNC(sb_device::dsp_rbuf_status_r), this), write8_delegate(FUNC(sb_device::dsp_rbuf_status_w), this) );
m_isa->install_device(0x0224, 0x0225, read8_delegate(FUNC(sb16_device::mixer_r), this), write8_delegate(FUNC(sb16_device::mixer_w), this));
m_isa->install_device(0x0330, 0x0331, read8_delegate(FUNC(sb16_device::mpu401_r), this), write8_delegate(FUNC(sb16_device::mpu401_w), this));
- m_isa->install_device(0x0388, 0x038b, read8sm_delegate(FUNC(ymf262_device::read), ymf262), write8sm_delegate(FUNC(ymf262_device::write), ymf262));
- m_isa->install_device(0x0220, 0x0223, read8sm_delegate(FUNC(ymf262_device::read), ymf262), write8sm_delegate(FUNC(ymf262_device::write), ymf262));
- m_isa->install_device(0x0228, 0x0229, read8sm_delegate(FUNC(ymf262_device::read), ymf262), write8sm_delegate(FUNC(ymf262_device::write), ymf262));
+ m_isa->install_device(0x0388, 0x038b, read8_delegate(FUNC(ymf262_device::read), ymf262), write8_delegate(FUNC(ymf262_device::write), ymf262));
+ m_isa->install_device(0x0220, 0x0223, read8_delegate(FUNC(ymf262_device::read), ymf262), write8_delegate(FUNC(ymf262_device::write), ymf262));
+ m_isa->install_device(0x0228, 0x0229, read8_delegate(FUNC(ymf262_device::read), ymf262), write8_delegate(FUNC(ymf262_device::write), ymf262));
save_item(NAME(m_mixer.data));
save_item(NAME(m_mixer.status));
diff --git a/src/devices/bus/isa/sc499.cpp b/src/devices/bus/isa/sc499.cpp
index 92f049f0402..e9ace1ddb83 100644
--- a/src/devices/bus/isa/sc499.cpp
+++ b/src/devices/bus/isa/sc499.cpp
@@ -177,10 +177,9 @@ static INPUT_PORTS_START( sc499_port )
INPUT_PORTS_END
-void sc499_device::device_add_mconfig(machine_config &config)
-{
- SC499_CTAPE(config, m_image, 0);
-}
+MACHINE_CONFIG_START(sc499_device::device_add_mconfig)
+ MCFG_DEVICE_ADD(SC499_CTAPE_TAG, SC499_CTAPE, 0)
+MACHINE_CONFIG_END
//**************************************************************************
diff --git a/src/devices/bus/isa/ssi2001.cpp b/src/devices/bus/isa/ssi2001.cpp
index 2c433321847..55adf04b0a2 100644
--- a/src/devices/bus/isa/ssi2001.cpp
+++ b/src/devices/bus/isa/ssi2001.cpp
@@ -30,7 +30,7 @@ void ssi2001_device::device_start()
{
set_isa_device();
m_isa->install_device(0x0200, 0x0207, read8_delegate(FUNC(pc_joy_device::joy_port_r), subdevice<pc_joy_device>("pc_joy")), write8_delegate(FUNC(pc_joy_device::joy_port_w), subdevice<pc_joy_device>("pc_joy")));
- m_isa->install_device(0x0280, 0x029F, read8sm_delegate(FUNC(mos6581_device::read), subdevice<mos6581_device>("sid6581")), write8sm_delegate(FUNC(mos6581_device::write), subdevice<mos6581_device>("sid6581")));
+ m_isa->install_device(0x0280, 0x029F, read8_delegate(FUNC(mos6581_device::read), subdevice<mos6581_device>("sid6581")), write8_delegate(FUNC(mos6581_device::write), subdevice<mos6581_device>("sid6581")));
}
diff --git a/src/devices/bus/isa/stereo_fx.cpp b/src/devices/bus/isa/stereo_fx.cpp
index b23a0dbe454..c38d3aace80 100644
--- a/src/devices/bus/isa/stereo_fx.cpp
+++ b/src/devices/bus/isa/stereo_fx.cpp
@@ -134,6 +134,7 @@ void stereo_fx_device::device_add_mconfig(machine_config &config)
DAC_8BIT_R2R(config, "ldac", 0).add_route(ALL_OUTPUTS, "lspeaker", 0.5); // unknown DAC
DAC_8BIT_R2R(config, "rdac", 0).add_route(ALL_OUTPUTS, "rspeaker", 0.5); // unknown DAC
voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref", 0));
+ vref.set_output(5.0);
vref.add_route(0, "ldac", 1.0, DAC_VREF_POS_INPUT);
vref.add_route(0, "ldac", -1.0, DAC_VREF_NEG_INPUT);
vref.add_route(0, "rdac", 1.0, DAC_VREF_POS_INPUT);
@@ -215,8 +216,8 @@ void stereo_fx_device::device_start()
m_isa->install_device(0x022a, 0x022b, read8_delegate(FUNC(stereo_fx_device::dsp_data_r), this), write8_delegate(FUNC(stereo_fx_device::invalid_w), this) );
m_isa->install_device(0x022c, 0x022d, read8_delegate(FUNC(stereo_fx_device::dsp_wbuf_status_r), this), write8_delegate(FUNC(stereo_fx_device::dsp_cmd_w), this) );
m_isa->install_device(0x022e, 0x022f, read8_delegate(FUNC(stereo_fx_device::dsp_rbuf_status_r), this), write8_delegate(FUNC(stereo_fx_device::invalid_w), this) );
- m_isa->install_device(0x0388, 0x0389, read8sm_delegate(FUNC(ym3812_device::read), ym3812), write8sm_delegate(FUNC(ym3812_device::write), ym3812));
- m_isa->install_device(0x0228, 0x0229, read8sm_delegate(FUNC(ym3812_device::read), ym3812), write8sm_delegate(FUNC(ym3812_device::write), ym3812));
+ m_isa->install_device(0x0388, 0x0389, read8_delegate(FUNC(ym3812_device::read), ym3812), write8_delegate(FUNC(ym3812_device::write), ym3812));
+ m_isa->install_device(0x0228, 0x0229, read8_delegate(FUNC(ym3812_device::read), ym3812), write8_delegate(FUNC(ym3812_device::write), ym3812));
m_timer = timer_alloc();
m_timer->adjust(attotime::from_hz(2000000), 0, attotime::from_hz(2000000));
m_isa->set_dma_channel(1, this, false);
diff --git a/src/devices/bus/isa/svga_cirrus.cpp b/src/devices/bus/isa/svga_cirrus.cpp
index bcb6b4995a1..444acac7c1a 100644
--- a/src/devices/bus/isa/svga_cirrus.cpp
+++ b/src/devices/bus/isa/svga_cirrus.cpp
@@ -30,14 +30,14 @@ DEFINE_DEVICE_TYPE(ISA16_SVGA_CIRRUS_GD542X, isa16_svga_cirrus_gd542x_device, "c
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void isa16_svga_cirrus_device::device_add_mconfig(machine_config &config)
-{
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
- screen.set_raw(XTAL(25'174'800), 900, 0, 640, 526, 0, 480);
- screen.set_screen_update("vga", FUNC(cirrus_gd5430_device::screen_update));
+MACHINE_CONFIG_START(isa16_svga_cirrus_device::device_add_mconfig)
+ MCFG_SCREEN_ADD("screen", RASTER)
+ MCFG_SCREEN_RAW_PARAMS(XTAL(25'174'800),900,0,640,526,0,480)
+ MCFG_SCREEN_UPDATE_DEVICE("vga", cirrus_gd5430_device, screen_update)
- CIRRUS_GD5430(config, "vga", 0).set_screen("screen");
-}
+ MCFG_DEVICE_ADD("vga", CIRRUS_GD5430, 0)
+ MCFG_VIDEO_SET_SCREEN("screen")
+MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region
@@ -110,14 +110,14 @@ ROM_END
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void isa16_svga_cirrus_gd542x_device::device_add_mconfig(machine_config &config)
-{
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
- screen.set_raw(XTAL(25'174'800), 900, 0, 640, 526, 0, 480);
- screen.set_screen_update("vga", FUNC(cirrus_gd5428_device::screen_update));
+MACHINE_CONFIG_START(isa16_svga_cirrus_gd542x_device::device_add_mconfig)
+ MCFG_SCREEN_ADD("screen", RASTER)
+ MCFG_SCREEN_RAW_PARAMS(XTAL(25'174'800),900,0,640,526,0,480)
+ MCFG_SCREEN_UPDATE_DEVICE("vga", cirrus_gd5428_device, screen_update)
- CIRRUS_GD5428(config, "vga", 0).set_screen("screen");
-}
+ MCFG_DEVICE_ADD("vga", CIRRUS_GD5428, 0)
+ MCFG_VIDEO_SET_SCREEN("screen")
+MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/isa/svga_s3.cpp b/src/devices/bus/isa/svga_s3.cpp
index d5a2cde30bf..1c97abc3b62 100644
--- a/src/devices/bus/isa/svga_s3.cpp
+++ b/src/devices/bus/isa/svga_s3.cpp
@@ -40,14 +40,14 @@ DEFINE_DEVICE_TYPE(ISA16_SVGA_S3, isa16_svga_s3_device, "s3_764", "Number Nine 9
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void isa16_svga_s3_device::device_add_mconfig(machine_config &config)
-{
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
- screen.set_raw(XTAL(25'174'800), 900, 0, 640, 526, 0, 480);
- screen.set_screen_update("vga", FUNC(s3_vga_device::screen_update));
+MACHINE_CONFIG_START(isa16_svga_s3_device::device_add_mconfig)
+ MCFG_SCREEN_ADD("screen", RASTER)
+ MCFG_SCREEN_RAW_PARAMS(XTAL(25'174'800),900,0,640,526,0,480)
+ MCFG_SCREEN_UPDATE_DEVICE("vga", s3_vga_device, screen_update)
- S3_VGA(config, "vga", 0).set_screen("screen");
-}
+ MCFG_DEVICE_ADD("vga", S3_VGA, 0)
+ MCFG_VIDEO_SET_SCREEN("screen")
+MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region
@@ -146,14 +146,14 @@ DEFINE_DEVICE_TYPE(ISA16_S3VIRGE, isa16_s3virge_device, "s3virge", "S3 ViRGE Gra
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void isa16_s3virge_device::device_add_mconfig(machine_config &config)
-{
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
- screen.set_raw(XTAL(25'174'800), 900, 0, 640, 526, 0, 480);
- screen.set_screen_update("vga", FUNC(s3virge_vga_device::screen_update));
+MACHINE_CONFIG_START(isa16_s3virge_device::device_add_mconfig)
+ MCFG_SCREEN_ADD("screen", RASTER)
+ MCFG_SCREEN_RAW_PARAMS(XTAL(25'174'800),900,0,640,526,0,480)
+ MCFG_SCREEN_UPDATE_DEVICE("vga", s3virge_vga_device, screen_update)
- S3VIRGE(config, "vga", 0).set_screen("screen");
-}
+ MCFG_DEVICE_ADD("vga", S3VIRGE, 0)
+ MCFG_VIDEO_SET_SCREEN("screen")
+MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region
@@ -227,14 +227,14 @@ DEFINE_DEVICE_TYPE(ISA16_S3VIRGEDX, isa16_s3virgedx_device, "s3virgedx", "S3 ViR
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void isa16_s3virgedx_device::device_add_mconfig(machine_config &config)
-{
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
- screen.set_raw(XTAL(25'174'800), 900, 0, 640, 526, 0, 480);
- screen.set_screen_update("vga", FUNC(s3virgedx_vga_device::screen_update));
+MACHINE_CONFIG_START(isa16_s3virgedx_device::device_add_mconfig)
+ MCFG_SCREEN_ADD("screen", RASTER)
+ MCFG_SCREEN_RAW_PARAMS(XTAL(25'174'800),900,0,640,526,0,480)
+ MCFG_SCREEN_UPDATE_DEVICE("vga", s3virgedx_vga_device, screen_update)
- S3VIRGEDX(config, "vga", 0).set_screen("screen");
-}
+ MCFG_DEVICE_ADD("vga", S3VIRGEDX, 0)
+ MCFG_VIDEO_SET_SCREEN("screen")
+MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region
@@ -309,14 +309,14 @@ DEFINE_DEVICE_TYPE(ISA16_DMS3D2KPRO, isa16_stealth3d2kpro_device, "dms3d2kp", "D
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void isa16_stealth3d2kpro_device::device_add_mconfig(machine_config &config)
-{
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
- screen.set_raw(XTAL(25'174'800), 900, 0, 640, 526, 0, 480);
- screen.set_screen_update("vga", FUNC(s3virgedx_rev1_vga_device::screen_update));
+MACHINE_CONFIG_START(isa16_stealth3d2kpro_device::device_add_mconfig)
+ MCFG_SCREEN_ADD("screen", RASTER)
+ MCFG_SCREEN_RAW_PARAMS(XTAL(25'174'800),900,0,640,526,0,480)
+ MCFG_SCREEN_UPDATE_DEVICE("vga", s3virgedx_rev1_vga_device, screen_update)
- S3VIRGEDX1(config, "vga", 0).set_screen("screen");
-}
+ MCFG_DEVICE_ADD("vga", S3VIRGEDX1, 0)
+ MCFG_VIDEO_SET_SCREEN("screen")
+MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/isa/svga_trident.cpp b/src/devices/bus/isa/svga_trident.cpp
index aa7fc90b489..79aa1dfd55f 100644
--- a/src/devices/bus/isa/svga_trident.cpp
+++ b/src/devices/bus/isa/svga_trident.cpp
@@ -30,14 +30,14 @@ DEFINE_DEVICE_TYPE(ISA16_SVGA_TGUI9680, isa16_svga_tgui9680_device, "tgui9680",
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void isa16_svga_tgui9680_device::device_add_mconfig(machine_config &config)
-{
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
- screen.set_raw(XTAL(25'174'800), 900, 0, 640, 526, 0, 480);
- screen.set_screen_update("vga", FUNC(trident_vga_device::screen_update));
-
- TRIDENT_VGA(config, "vga", 0).set_screen("screen");
-}
+MACHINE_CONFIG_START(isa16_svga_tgui9680_device::device_add_mconfig)
+ MCFG_SCREEN_ADD("screen", RASTER)
+ MCFG_SCREEN_RAW_PARAMS(XTAL(25'174'800),900,0,640,526,0,480)
+ MCFG_SCREEN_UPDATE_DEVICE("vga", trident_vga_device, screen_update)
+
+ MCFG_DEVICE_ADD("vga", TRIDENT_VGA, 0)
+ MCFG_VIDEO_SET_SCREEN("screen")
+MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/isa/svga_tseng.cpp b/src/devices/bus/isa/svga_tseng.cpp
index dfe39a39d8e..fd232b01d8d 100644
--- a/src/devices/bus/isa/svga_tseng.cpp
+++ b/src/devices/bus/isa/svga_tseng.cpp
@@ -29,14 +29,14 @@ DEFINE_DEVICE_TYPE(ISA8_SVGA_ET4K, isa8_svga_et4k_device, "et4000", "SVGA Tseng
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void isa8_svga_et4k_device::device_add_mconfig(machine_config &config)
-{
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
- screen.set_raw(XTAL(25'174'800), 900, 0, 640, 526, 0, 480);
- screen.set_screen_update("vga", FUNC(tseng_vga_device::screen_update));
-
- TSENG_VGA(config, "vga", 0).set_screen("screen");
-}
+MACHINE_CONFIG_START(isa8_svga_et4k_device::device_add_mconfig)
+ MCFG_SCREEN_ADD("screen", RASTER)
+ MCFG_SCREEN_RAW_PARAMS(XTAL(25'174'800),900,0,640,526,0,480)
+ MCFG_SCREEN_UPDATE_DEVICE("vga", tseng_vga_device, screen_update)
+
+ MCFG_DEVICE_ADD("vga", TSENG_VGA, 0)
+ MCFG_VIDEO_SET_SCREEN("screen")
+MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/isa/vga.cpp b/src/devices/bus/isa/vga.cpp
index 0419ecdd255..b8a86adbfe3 100644
--- a/src/devices/bus/isa/vga.cpp
+++ b/src/devices/bus/isa/vga.cpp
@@ -27,14 +27,14 @@ DEFINE_DEVICE_TYPE(ISA8_VGA, isa8_vga_device, "ibm_vga", "IBM VGA Graphics Card"
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void isa8_vga_device::device_add_mconfig(machine_config &config)
-{
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
- screen.set_raw(XTAL(25'174'800), 900, 0, 640, 526, 0, 480);
- screen.set_screen_update("vga", FUNC(vga_device::screen_update));
-
- VGA(config, "vga", 0).set_screen("screen");
-}
+MACHINE_CONFIG_START(isa8_vga_device::device_add_mconfig)
+ MCFG_SCREEN_ADD("screen", RASTER)
+ MCFG_SCREEN_RAW_PARAMS(XTAL(25'174'800),900,0,640,526,0,480)
+ MCFG_SCREEN_UPDATE_DEVICE("vga", vga_device, screen_update)
+
+ MCFG_DEVICE_ADD("vga", VGA, 0)
+ MCFG_VIDEO_SET_SCREEN("screen")
+MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/isa/vga_ati.cpp b/src/devices/bus/isa/vga_ati.cpp
index bad1a47a479..650a686d4fc 100644
--- a/src/devices/bus/isa/vga_ati.cpp
+++ b/src/devices/bus/isa/vga_ati.cpp
@@ -76,33 +76,32 @@ DEFINE_DEVICE_TYPE(ISA16_SVGA_MACH64, isa16_vga_mach64_device, "mach64
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void isa16_vga_gfxultra_device::device_add_mconfig(machine_config &config)
-{
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
- screen.set_raw(XTAL(25'174'800), 900, 0, 640, 526, 0, 480);
- screen.set_screen_update("vga", FUNC(ati_vga_device::screen_update));
-
- ATI_VGA(config, "vga", 0).set_screen("screen");
-}
-
-void isa16_vga_gfxultrapro_device::device_add_mconfig(machine_config &config)
-{
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
- screen.set_raw(XTAL(25'174'800), 900, 0, 640, 526, 0, 480);
- screen.set_screen_update("vga", FUNC(mach32_device::screen_update));
-
- ATIMACH32(config, "vga", 0).set_screen("screen");
-}
-
-void isa16_vga_mach64_device::device_add_mconfig(machine_config &config)
-{
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
- screen.set_raw(XTAL(25'174'800), 900, 0, 640, 526, 0, 480);
- screen.set_screen_update("vga", FUNC(mach64_device::screen_update));
-
- ATIMACH64(config, "vga", 0).set_screen("screen");
-}
-
+MACHINE_CONFIG_START(isa16_vga_gfxultra_device::device_add_mconfig)
+ MCFG_SCREEN_ADD("screen", RASTER)
+ MCFG_SCREEN_RAW_PARAMS(XTAL(25'174'800),900,0,640,526,0,480)
+ MCFG_SCREEN_UPDATE_DEVICE("vga", ati_vga_device, screen_update)
+
+ MCFG_DEVICE_ADD("vga", ATI_VGA, 0)
+ MCFG_VIDEO_SET_SCREEN("screen")
+MACHINE_CONFIG_END
+
+MACHINE_CONFIG_START(isa16_vga_gfxultrapro_device::device_add_mconfig)
+ MCFG_SCREEN_ADD("screen", RASTER)
+ MCFG_SCREEN_RAW_PARAMS(XTAL(25'174'800),900,0,640,526,0,480)
+ MCFG_SCREEN_UPDATE_DEVICE("vga", mach32_device, screen_update)
+
+ MCFG_DEVICE_ADD("vga", ATIMACH32, 0)
+ MCFG_VIDEO_SET_SCREEN("screen")
+MACHINE_CONFIG_END
+
+MACHINE_CONFIG_START(isa16_vga_mach64_device::device_add_mconfig)
+ MCFG_SCREEN_ADD("screen", RASTER)
+ MCFG_SCREEN_RAW_PARAMS(XTAL(25'174'800),900,0,640,526,0,480)
+ MCFG_SCREEN_UPDATE_DEVICE("vga", mach64_device, screen_update)
+
+ MCFG_DEVICE_ADD("vga", ATIMACH64, 0)
+ MCFG_VIDEO_SET_SCREEN("screen")
+MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/isa/wd1007a.cpp b/src/devices/bus/isa/wd1007a.cpp
index 22d9863e392..3db2db1d776 100644
--- a/src/devices/bus/isa/wd1007a.cpp
+++ b/src/devices/bus/isa/wd1007a.cpp
@@ -45,10 +45,9 @@ wd1007a_device::wd1007a_device(const machine_config &mconfig, const char *tag, d
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void wd1007a_device::device_add_mconfig(machine_config &config)
-{
- AM8753(config, "mcu", 10_MHz_XTAL);
-}
+MACHINE_CONFIG_START(wd1007a_device::device_add_mconfig)
+ MCFG_DEVICE_ADD("mcu", AM8753, 10_MHz_XTAL)
+MACHINE_CONFIG_END
//-------------------------------------------------
diff --git a/src/devices/bus/isa/wdxt_gen.cpp b/src/devices/bus/isa/wdxt_gen.cpp
index 57dec00af89..690bc161f7f 100644
--- a/src/devices/bus/isa/wdxt_gen.cpp
+++ b/src/devices/bus/isa/wdxt_gen.cpp
@@ -237,16 +237,6 @@ void wdxt_gen_device::dack_w(int line, uint8_t data)
//-------------------------------------------------
-// dack_line_w -
-//-------------------------------------------------
-
-void wdxt_gen_device::dack_line_w(int line, int state)
-{
- m_host->dack3_w(state);
-}
-
-
-//-------------------------------------------------
// wd1015_t1_r -
//-------------------------------------------------
diff --git a/src/devices/bus/isa/wdxt_gen.h b/src/devices/bus/isa/wdxt_gen.h
index d909b7bd155..89d3aa5774f 100644
--- a/src/devices/bus/isa/wdxt_gen.h
+++ b/src/devices/bus/isa/wdxt_gen.h
@@ -52,7 +52,6 @@ protected:
// device_isa8_card_interface
virtual uint8_t dack_r(int line) override;
virtual void dack_w(int line, uint8_t data) override;
- virtual void dack_line_w(int line, int state) override;
private:
DECLARE_WRITE_LINE_MEMBER( irq5_w );
diff --git a/src/devices/bus/isbx/compis_fdc.cpp b/src/devices/bus/isbx/compis_fdc.cpp
index fea0e7f59b5..e1d464a37c2 100644
--- a/src/devices/bus/isbx/compis_fdc.cpp
+++ b/src/devices/bus/isbx/compis_fdc.cpp
@@ -106,14 +106,14 @@ void compis_fdc_device::device_reset()
// mcs0_r - chip select 0 read
//-------------------------------------------------
-uint8_t compis_fdc_device::mcs0_r(offs_t offset)
+uint8_t compis_fdc_device::mcs0_r(address_space &space, offs_t offset)
{
uint8_t data = 0xff;
switch (BIT(offset, 0))
{
- case 0: data = m_fdc->msr_r(); break;
- case 1: data = m_fdc->fifo_r(); break;
+ case 0: data = m_fdc->msr_r(space, 0); break;
+ case 1: data = m_fdc->fifo_r(space, 0); break;
}
return data;
@@ -124,11 +124,11 @@ uint8_t compis_fdc_device::mcs0_r(offs_t offset)
// mcs0_w - chip select 0 write
//-------------------------------------------------
-void compis_fdc_device::mcs0_w(offs_t offset, uint8_t data)
+void compis_fdc_device::mcs0_w(address_space &space, offs_t offset, uint8_t data)
{
switch (BIT(offset, 0))
{
- case 1: m_fdc->fifo_w(data); break;
+ case 1: m_fdc->fifo_w(space, 0, data); break;
}
}
@@ -137,7 +137,7 @@ void compis_fdc_device::mcs0_w(offs_t offset, uint8_t data)
// mdack_r - DMA acknowledge read
//-------------------------------------------------
-uint8_t compis_fdc_device::mdack_r(offs_t offset)
+uint8_t compis_fdc_device::mdack_r(address_space &space, offs_t offset)
{
return m_fdc->dma_r();
}
@@ -147,7 +147,7 @@ uint8_t compis_fdc_device::mdack_r(offs_t offset)
// mdack_w - DMA acknowledge write
//-------------------------------------------------
-void compis_fdc_device::mdack_w(offs_t offset, uint8_t data)
+void compis_fdc_device::mdack_w(address_space &space, offs_t offset, uint8_t data)
{
m_fdc->dma_w(data);
}
diff --git a/src/devices/bus/isbx/compis_fdc.h b/src/devices/bus/isbx/compis_fdc.h
index af1d71a3af2..7f33cdd1160 100644
--- a/src/devices/bus/isbx/compis_fdc.h
+++ b/src/devices/bus/isbx/compis_fdc.h
@@ -40,10 +40,10 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// device_isbx_card_interface overrides
- virtual uint8_t mcs0_r(offs_t offset) override;
- virtual void mcs0_w(offs_t offset, uint8_t data) override;
- virtual uint8_t mdack_r(offs_t offset) override;
- virtual void mdack_w(offs_t offset, uint8_t data) override;
+ virtual uint8_t mcs0_r(address_space &space, offs_t offset) override;
+ virtual void mcs0_w(address_space &space, offs_t offset, uint8_t data) override;
+ virtual uint8_t mdack_r(address_space &space, offs_t offset) override;
+ virtual void mdack_w(address_space &space, offs_t offset, uint8_t data) override;
virtual void opt0_w(int state) override;
virtual void opt1_w(int state) override;
diff --git a/src/devices/bus/isbx/isbc_218a.cpp b/src/devices/bus/isbx/isbc_218a.cpp
index 0a1cff5f235..9b142fa95ae 100644
--- a/src/devices/bus/isbx/isbc_218a.cpp
+++ b/src/devices/bus/isbx/isbc_218a.cpp
@@ -111,14 +111,14 @@ void isbc_218a_device::device_reset()
// mcs0_r - chip select 0 read
//-------------------------------------------------
-uint8_t isbc_218a_device::mcs0_r(offs_t offset)
+uint8_t isbc_218a_device::mcs0_r(address_space &space, offs_t offset)
{
uint8_t data = 0xff;
switch (BIT(offset, 0))
{
- case 0: data = m_fdc->msr_r(); break;
- case 1: data = m_fdc->fifo_r(); break;
+ case 0: data = m_fdc->msr_r(space, 0); break;
+ case 1: data = m_fdc->fifo_r(space, 0); break;
}
return data;
@@ -129,11 +129,11 @@ uint8_t isbc_218a_device::mcs0_r(offs_t offset)
// mcs0_w - chip select 0 write
//-------------------------------------------------
-void isbc_218a_device::mcs0_w(offs_t offset, uint8_t data)
+void isbc_218a_device::mcs0_w(address_space &space, offs_t offset, uint8_t data)
{
switch (BIT(offset, 0))
{
- case 1: m_fdc->fifo_w(data); break;
+ case 1: m_fdc->fifo_w(space, 0, data); break;
}
}
@@ -142,7 +142,7 @@ void isbc_218a_device::mcs0_w(offs_t offset, uint8_t data)
// mcs1_r - chip select 1 read
//-------------------------------------------------
-uint8_t isbc_218a_device::mcs1_r(offs_t offset)
+uint8_t isbc_218a_device::mcs1_r(address_space &space, offs_t offset)
{
uint8_t data = 0xff;
@@ -159,7 +159,7 @@ uint8_t isbc_218a_device::mcs1_r(offs_t offset)
// mcs1_w - chip select 1 write
//-------------------------------------------------
-void isbc_218a_device::mcs1_w(offs_t offset, uint8_t data)
+void isbc_218a_device::mcs1_w(address_space &space, offs_t offset, uint8_t data)
{
switch (offset)
{
@@ -182,7 +182,7 @@ void isbc_218a_device::mcs1_w(offs_t offset, uint8_t data)
// mdack_r - DMA acknowledge read
//-------------------------------------------------
-uint8_t isbc_218a_device::mdack_r(offs_t offset)
+uint8_t isbc_218a_device::mdack_r(address_space &space, offs_t offset)
{
return m_fdc->dma_r();
}
@@ -192,7 +192,7 @@ uint8_t isbc_218a_device::mdack_r(offs_t offset)
// mdack_w - DMA acknowledge write
//-------------------------------------------------
-void isbc_218a_device::mdack_w(offs_t offset, uint8_t data)
+void isbc_218a_device::mdack_w(address_space &space, offs_t offset, uint8_t data)
{
m_fdc->dma_w(data);
}
diff --git a/src/devices/bus/isbx/isbc_218a.h b/src/devices/bus/isbx/isbc_218a.h
index bdf37c52806..5d0a617e989 100644
--- a/src/devices/bus/isbx/isbc_218a.h
+++ b/src/devices/bus/isbx/isbc_218a.h
@@ -40,12 +40,12 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// device_isbx_card_interface overrides
- virtual uint8_t mcs0_r(offs_t offset) override;
- virtual void mcs0_w(offs_t offset, uint8_t data) override;
- virtual uint8_t mcs1_r(offs_t offset) override;
- virtual void mcs1_w(offs_t offset, uint8_t data) override;
- virtual uint8_t mdack_r(offs_t offset) override;
- virtual void mdack_w(offs_t offset, uint8_t data) override;
+ virtual uint8_t mcs0_r(address_space &space, offs_t offset) override;
+ virtual void mcs0_w(address_space &space, offs_t offset, uint8_t data) override;
+ virtual uint8_t mcs1_r(address_space &space, offs_t offset) override;
+ virtual void mcs1_w(address_space &space, offs_t offset, uint8_t data) override;
+ virtual uint8_t mdack_r(address_space &space, offs_t offset) override;
+ virtual void mdack_w(address_space &space, offs_t offset, uint8_t data) override;
virtual void opt0_w(int state) override;
private:
diff --git a/src/devices/bus/isbx/isbx.h b/src/devices/bus/isbx/isbx.h
index 0535e461cd7..d62d9515fe1 100644
--- a/src/devices/bus/isbx/isbx.h
+++ b/src/devices/bus/isbx/isbx.h
@@ -47,12 +47,12 @@ class isbx_slot_device;
class device_isbx_card_interface : public device_slot_card_interface
{
public:
- virtual uint8_t mcs0_r(offs_t offset) { return 0xff; }
- virtual void mcs0_w(offs_t offset, uint8_t data) { }
- virtual uint8_t mcs1_r(offs_t offset) { return 0xff; }
- virtual void mcs1_w(offs_t offset, uint8_t data) { }
- virtual uint8_t mdack_r(offs_t offset) { return 0xff; }
- virtual void mdack_w(offs_t offset, uint8_t data) { }
+ virtual uint8_t mcs0_r(address_space &space, offs_t offset) { return 0xff; }
+ virtual void mcs0_w(address_space &space, offs_t offset, uint8_t data) { }
+ virtual uint8_t mcs1_r(address_space &space, offs_t offset) { return 0xff; }
+ virtual void mcs1_w(address_space &space, offs_t offset, uint8_t data) { }
+ virtual uint8_t mdack_r(address_space &space, offs_t offset) { return 0xff; }
+ virtual void mdack_w(address_space &space, offs_t offset, uint8_t data) { }
virtual int opt0_r() { return 1; }
virtual void opt0_w(int state) { }
virtual int opt1_r() { return 1; }
@@ -92,12 +92,12 @@ public:
auto mwait() { return m_write_mwait.bind(); }
// computer interface
- uint8_t mcs0_r(offs_t offset) { return m_card ? m_card->mcs0_r(offset) : 0xff; }
- void mcs0_w(offs_t offset, uint8_t data) { if (m_card) m_card->mcs0_w(offset, data); }
- uint8_t mcs1_r(offs_t offset) { return m_card ? m_card->mcs1_r(offset) : 0xff; }
- void mcs1_w(offs_t offset, uint8_t data) { if (m_card) m_card->mcs1_w(offset, data); }
- uint8_t mdack_r(offs_t offset) { return m_card ? m_card->mdack_r(offset) : 0xff; }
- void mdack_w(offs_t offset, uint8_t data) { if (m_card) m_card->mdack_w(offset, data); }
+ DECLARE_READ8_MEMBER( mcs0_r ) { return m_card ? m_card->mcs0_r(space, offset) : 0xff; }
+ DECLARE_WRITE8_MEMBER( mcs0_w ) { if (m_card) m_card->mcs0_w(space, offset, data); }
+ DECLARE_READ8_MEMBER( mcs1_r ) { return m_card ? m_card->mcs1_r(space, offset) : 0xff; }
+ DECLARE_WRITE8_MEMBER( mcs1_w ) { if (m_card) m_card->mcs1_w(space, offset, data); }
+ DECLARE_READ8_MEMBER( mdack_r ) { return m_card ? m_card->mdack_r(space, offset) : 0xff; }
+ DECLARE_WRITE8_MEMBER( mdack_w ) { if (m_card) m_card->mdack_w(space, offset, data); }
DECLARE_READ_LINE_MEMBER( mpst_r ) { return m_card == nullptr; }
DECLARE_READ_LINE_MEMBER( opt0_r ) { return m_card ? m_card->opt0_r() : 1; }
DECLARE_WRITE_LINE_MEMBER( opt0_w ) { if (m_card) m_card->opt0_w(state); }
diff --git a/src/devices/bus/jakks_gamekey/rom.cpp b/src/devices/bus/jakks_gamekey/rom.cpp
deleted file mode 100644
index 0ca9b7024d9..00000000000
--- a/src/devices/bus/jakks_gamekey/rom.cpp
+++ /dev/null
@@ -1,111 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:David Haywood
-
-#include "emu.h"
-#include "rom.h"
-
-//-------------------------------------------------
-// jakks_gamekey_rom_device - constructor
-//-------------------------------------------------
-
-DEFINE_DEVICE_TYPE(JAKKS_GAMEKEY_ROM_PLAIN, jakks_gamekey_rom_plain_device, "jakks_gamekey_rom_plain", "JAKKS Pacific GameKey")
-DEFINE_DEVICE_TYPE(JAKKS_GAMEKEY_ROM_I2C_BASE, jakks_gamekey_rom_i2c_base_device, "jakks_gamekey_rom_i2c_base", "JAKKS Pacific GameKey with I2C")
-DEFINE_DEVICE_TYPE(JAKKS_GAMEKEY_ROM_I2C_24LC04, jakks_gamekey_rom_i2c_24lc04_device, "jakks_gamekey_rom_i2c_24lc04", "JAKKS Pacific GameKey with I2C 24LC04")
-
-
-jakks_gamekey_rom_plain_device::jakks_gamekey_rom_plain_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, type, tag, owner, clock), device_jakks_gamekey_interface(mconfig, *this)
-{
-}
-
-jakks_gamekey_rom_plain_device::jakks_gamekey_rom_plain_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- jakks_gamekey_rom_plain_device(mconfig, JAKKS_GAMEKEY_ROM_PLAIN, tag, owner, clock)
-{
-}
-
-jakks_gamekey_rom_i2c_base_device::jakks_gamekey_rom_i2c_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
- jakks_gamekey_rom_plain_device(mconfig, type, tag, owner, clock),
- m_i2cmem(*this, "i2cmem")
-{
-}
-
-jakks_gamekey_rom_i2c_base_device::jakks_gamekey_rom_i2c_base_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- jakks_gamekey_rom_i2c_base_device(mconfig, JAKKS_GAMEKEY_ROM_I2C_BASE, tag, owner, clock)
-{
-}
-
-jakks_gamekey_rom_i2c_24lc04_device::jakks_gamekey_rom_i2c_24lc04_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- jakks_gamekey_rom_i2c_base_device(mconfig, JAKKS_GAMEKEY_ROM_I2C_24LC04, tag, owner, clock)
-{
-}
-
-/*-------------------------------------------------
- mapper specific handlers
- -------------------------------------------------*/
-
-// plain
-
-READ16_MEMBER(jakks_gamekey_rom_plain_device::read_cart)
-{
- return read_rom(space, offset, mem_mask);
-}
-
-READ16_MEMBER(jakks_gamekey_rom_plain_device::read_rom)
-{
- return m_rom[offset & (m_rom_size-1)];
-}
-
-WRITE16_MEMBER(jakks_gamekey_rom_plain_device::write_cart)
-{
- write_rom(space, offset, data, mem_mask);
-}
-
-WRITE16_MEMBER(jakks_gamekey_rom_plain_device::write_rom)
-{
- logerror("jakks_gamekey_rom_plain_device::write_rom %08x %02x\n", offset, data);
-}
-
-// i2c base
-
-WRITE16_MEMBER(jakks_gamekey_rom_i2c_base_device::write_rom)
-{
- logerror("jakks_gamekey_rom_i2c_base_device::write_rom %08x %02x\n", offset, data);
-}
-
-READ16_MEMBER(jakks_gamekey_rom_i2c_base_device::read_rom)
-{
- return m_rom[offset & (m_rom_size - 1)];
-}
-
-uint8_t jakks_gamekey_rom_i2c_base_device::read_cart_seeprom(void)
-{
- logerror("jakks_gamekey_rom_i2c_base_device::read_cart_seeprom\n");
-
- return m_i2cmem->read_sda();
-}
-
-WRITE16_MEMBER(jakks_gamekey_rom_i2c_base_device::write_cart_seeprom)
-{
- if (BIT(mem_mask, 1))
- m_i2cmem->write_scl(BIT(data, 1));
- if (BIT(mem_mask, 0))
- m_i2cmem->write_sda(BIT(data, 0));
-}
-
-// i2c 24lc04
-
-void jakks_gamekey_rom_i2c_24lc04_device::device_add_mconfig(machine_config &config)
-{
- I2CMEM(config, "i2cmem", 0)/*.set_page_size(16)*/.set_data_size(0x200); // 24LC04
-}
-
-
-/*-------------------------------------------------
- slot interface
- -------------------------------------------------*/
-
-void jakks_gamekey(device_slot_interface &device)
-{
- device.option_add_internal("plain", JAKKS_GAMEKEY_ROM_PLAIN);
- device.option_add_internal("rom_24lc04", JAKKS_GAMEKEY_ROM_I2C_24LC04);
-}
diff --git a/src/devices/bus/jakks_gamekey/rom.h b/src/devices/bus/jakks_gamekey/rom.h
deleted file mode 100644
index 7f85e9f21fb..00000000000
--- a/src/devices/bus/jakks_gamekey/rom.h
+++ /dev/null
@@ -1,77 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:David Haywood
-#ifndef MAME_BUS_JAKKS_GAMEKEY_ROM_H
-#define MAME_BUS_JAKKS_GAMEKEY_ROM_H
-
-#pragma once
-
-#include "slot.h"
-#include "machine/i2cmem.h"
-
-// ======================> jakks_gamekey_rom_plain_device
-
-class jakks_gamekey_rom_plain_device : public device_t,
- public device_jakks_gamekey_interface
-{
-public:
- // construction/destruction
- jakks_gamekey_rom_plain_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
- // reading and writing
- virtual DECLARE_READ16_MEMBER(read_cart) override;
- virtual DECLARE_WRITE16_MEMBER(write_cart) override;
-
- virtual uint8_t read_cart_seeprom(void) override { return 1; };
- virtual DECLARE_WRITE16_MEMBER(write_cart_seeprom) override { };
-
- virtual READ16_MEMBER(read_rom);
- virtual WRITE16_MEMBER(write_rom);
-
-protected:
- jakks_gamekey_rom_plain_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
-
- // device-level overrides
- virtual void device_start() override { }
- virtual void device_reset() override { }
-};
-
-// ======================> jakks_gamekey_rom_i2c_base_device
-
-class jakks_gamekey_rom_i2c_base_device : public jakks_gamekey_rom_plain_device
-{
-public:
- // construction/destruction
- jakks_gamekey_rom_i2c_base_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
-protected:
- jakks_gamekey_rom_i2c_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
-
- // reading and writing
- virtual READ16_MEMBER(read_rom) override;
- virtual WRITE16_MEMBER(write_rom) override;
-
- optional_device<i2cmem_device> m_i2cmem;
-
- virtual uint8_t read_cart_seeprom(void) override;
- virtual DECLARE_WRITE16_MEMBER(write_cart_seeprom) override;
-};
-
-
-// ======================> jakks_gamekey_rom_i2c_24lc04_device
-
-class jakks_gamekey_rom_i2c_24lc04_device : public jakks_gamekey_rom_i2c_base_device
-{
-public:
- // construction/destruction
- jakks_gamekey_rom_i2c_24lc04_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
-protected:
- virtual void device_add_mconfig(machine_config &config) override;
-};
-
-// device type definition
-DECLARE_DEVICE_TYPE(JAKKS_GAMEKEY_ROM_PLAIN, jakks_gamekey_rom_plain_device)
-DECLARE_DEVICE_TYPE(JAKKS_GAMEKEY_ROM_I2C_BASE, jakks_gamekey_rom_i2c_base_device)
-DECLARE_DEVICE_TYPE(JAKKS_GAMEKEY_ROM_I2C_24LC04, jakks_gamekey_rom_i2c_24lc04_device)
-
-#endif // MAME_BUS_JAKKS_GAMEKEY_ROM_H
diff --git a/src/devices/bus/jakks_gamekey/slot.cpp b/src/devices/bus/jakks_gamekey/slot.cpp
deleted file mode 100644
index 6a5196875b1..00000000000
--- a/src/devices/bus/jakks_gamekey/slot.cpp
+++ /dev/null
@@ -1,237 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:David Haywood
-
-#include "emu.h"
-#include "slot.h"
-
-//**************************************************************************
-// GLOBAL VARIABLES
-//**************************************************************************
-
-DEFINE_DEVICE_TYPE(JAKKS_GAMEKEY_SLOT, jakks_gamekey_slot_device, "jakks_gamekey_slot", "JAKKS Pacific Gamekey Slot")
-
-//**************************************************************************
-// JAKKS GAMEKEY cartridges Interface
-//**************************************************************************
-
-//-------------------------------------------------
-// device_jakks_gamekey_interface - constructor
-//-------------------------------------------------
-
-device_jakks_gamekey_interface::device_jakks_gamekey_interface(const machine_config &mconfig, device_t &device)
- : device_slot_card_interface(mconfig, device),
- m_rom(nullptr),
- m_rom_size(0)
-{
-}
-
-
-//-------------------------------------------------
-// ~device_jakks_gamekey_interface - destructor
-//-------------------------------------------------
-
-device_jakks_gamekey_interface::~device_jakks_gamekey_interface()
-{
-}
-
-//-------------------------------------------------
-// rom_alloc - alloc the space for the cart
-//-------------------------------------------------
-
-void device_jakks_gamekey_interface::rom_alloc(uint32_t size, const char *tag)
-{
- if (m_rom == nullptr)
- {
- m_rom = device().machine().memory().region_alloc(std::string(tag).append(JAKKSSLOT_ROM_REGION_TAG).c_str(), size, 1, ENDIANNESS_BIG)->base();
- m_rom_size = size;
- }
-}
-
-//**************************************************************************
-// LIVE DEVICE
-//**************************************************************************
-
-//-------------------------------------------------
-// jakks_gamekey_slot_device - constructor
-//-------------------------------------------------
-jakks_gamekey_slot_device::jakks_gamekey_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, JAKKS_GAMEKEY_SLOT, tag, owner, clock),
- device_image_interface(mconfig, *this),
- device_slot_interface(mconfig, *this),
- m_type(JAKKS_GAMEKEY_PLAIN),
- m_cart(nullptr)
-{
-}
-
-//-------------------------------------------------
-// jakks_gamekey_slot_device - destructor
-//-------------------------------------------------
-
-jakks_gamekey_slot_device::~jakks_gamekey_slot_device()
-{
-}
-
-//-------------------------------------------------
-// device_start - device-specific startup
-//-------------------------------------------------
-
-void jakks_gamekey_slot_device::device_start()
-{
- m_cart = dynamic_cast<device_jakks_gamekey_interface *>(get_card_device());
-}
-
-//-------------------------------------------------
-// JAKKS GAMEKEY PCB
-//-------------------------------------------------
-
-struct jakks_gamekey_slot
-{
- int pcb_id;
- const char *slot_option;
-};
-
-// Here, we take the feature attribute from .xml (i.e. the PCB name) and we assign a unique ID to it
-static const jakks_gamekey_slot slot_list[] =
-{
- { JAKKS_GAMEKEY_PLAIN, "plain" },
- { JAKKS_GAMEKEY_I2C_BASE, "i2c_base" },
- { JAKKS_GAMEKEY_I2C_24LC04, "rom_24lc04" },
-};
-
-static int jakks_gamekey_get_pcb_id(const char *slot)
-{
- for (auto & elem : slot_list)
- {
- if (!core_stricmp(elem.slot_option, slot))
- return elem.pcb_id;
- }
-
- return 0;
-}
-
-static const char *jakks_gamekey_get_slot(int type)
-{
- for (auto & elem : slot_list)
- {
- if (elem.pcb_id == type)
- return elem.slot_option;
- }
-
- return "plain";
-}
-
-
-/*-------------------------------------------------
- call load
- -------------------------------------------------*/
-
-image_init_result jakks_gamekey_slot_device::call_load()
-{
- if (m_cart)
- {
- uint8_t *ROM;
- uint32_t len = !loaded_through_softlist() ? length() : get_software_region_length("rom");
-
- m_cart->rom_alloc(len, tag());
-
- ROM = m_cart->get_rom_base();
-
- if (!loaded_through_softlist())
- fread(ROM, len);
- else
- memcpy(ROM, get_software_region("rom"), len);
-
- if (!loaded_through_softlist())
- {
- // attempt to detect cart type without softlist assistance
- m_type = get_cart_type(ROM, len);
- }
- else
- {
- // or for softlist loading, use the type specified
- const char *pcb_name = get_feature("slot");
- if (pcb_name)
- m_type = jakks_gamekey_get_pcb_id(pcb_name);
- }
-
- return image_init_result::PASS;
- }
-
- return image_init_result::PASS;
-}
-
-
-/*-------------------------------------------------
- get_cart_type - code to detect cart type from
- fullpath
- -------------------------------------------------*/
-
-int jakks_gamekey_slot_device::get_cart_type(const uint8_t *ROM, uint32_t len)
-{
- // without code analysis we have no way of knowing.
- int type = JAKKS_GAMEKEY_PLAIN;
- return type;
-}
-
-
-/*-------------------------------------------------
- get default card software
- -------------------------------------------------*/
-
-std::string jakks_gamekey_slot_device::get_default_card_software(get_default_card_software_hook &hook) const
-{
- if (hook.image_file())
- {
- const char *slot_string;
- uint32_t len = hook.image_file()->size();
- std::vector<uint8_t> rom(len);
- int type;
-
- hook.image_file()->read(&rom[0], len);
-
- type = get_cart_type(&rom[0], len);
- slot_string = jakks_gamekey_get_slot(type);
-
- printf("type: %s\n", slot_string);
-
- return std::string(slot_string);
- }
-
- return software_get_default_slot("plain");
-}
-
-/*-------------------------------------------------
- read
- -------------------------------------------------*/
-
-READ16_MEMBER(jakks_gamekey_slot_device::read_cart)
-{
- return m_cart->read_cart(space, offset);
-}
-
-/*-------------------------------------------------
- write
- -------------------------------------------------*/
-
-WRITE16_MEMBER(jakks_gamekey_slot_device::write_cart)
-{
- m_cart->write_cart(space, offset, data);
-}
-
-/*-------------------------------------------------
- read seeprom
- -------------------------------------------------*/
-
-uint8_t jakks_gamekey_slot_device::read_cart_seeprom(void)
-{
- return m_cart->read_cart_seeprom();
-}
-
-/*-------------------------------------------------
- write seeprom
- -------------------------------------------------*/
-
-WRITE16_MEMBER(jakks_gamekey_slot_device::write_cart_seeprom)
-{
- m_cart->write_cart_seeprom(space, offset, data);
-}
diff --git a/src/devices/bus/jakks_gamekey/slot.h b/src/devices/bus/jakks_gamekey/slot.h
deleted file mode 100644
index 8fd0961aad8..00000000000
--- a/src/devices/bus/jakks_gamekey/slot.h
+++ /dev/null
@@ -1,119 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:David Haywood
-#ifndef MAME_BUS_JAKKS_GAMEKEY_SLOT_H
-#define MAME_BUS_JAKKS_GAMEKEY_SLOT_H
-
-#pragma once
-
-#include "softlist_dev.h"
-
-/***************************************************************************
- TYPE DEFINITIONS
- ***************************************************************************/
-
-/* PCB */
-enum
-{
- JAKKS_GAMEKEY_PLAIN = 0,
- JAKKS_GAMEKEY_I2C_BASE,
- JAKKS_GAMEKEY_I2C_24LC04,
-};
-
-// ======================> device_jakks_gamekey_interface
-
-class device_jakks_gamekey_interface : public device_slot_card_interface
-{
-public:
- // construction/destruction
- virtual ~device_jakks_gamekey_interface();
-
- // reading and writing
- virtual DECLARE_READ16_MEMBER(read_cart) { return 0xffff; }
- virtual DECLARE_WRITE16_MEMBER(write_cart) { }
-
- virtual uint8_t read_cart_seeprom(void) { return 1; }
- virtual DECLARE_WRITE16_MEMBER(write_cart_seeprom) { }
-
- void rom_alloc(uint32_t size, const char *tag);
- uint8_t* get_rom_base() { return m_rom; }
- uint32_t get_rom_size() { return m_rom_size; }
-
-protected:
- device_jakks_gamekey_interface(const machine_config &mconfig, device_t &device);
-
- // internal state
- uint8_t *m_rom;
- uint32_t m_rom_size;
-};
-
-// ======================> jakks_gamekey_slot_device
-
-class jakks_gamekey_slot_device : public device_t,
- public device_image_interface,
- public device_slot_interface
-{
-public:
- // construction/destruction
- jakks_gamekey_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
- template <typename T>
- jakks_gamekey_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, T &&opts, const char *dflt)
- : jakks_gamekey_slot_device(mconfig, tag, owner, clock)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
-
- virtual ~jakks_gamekey_slot_device();
-
- // image-level overrides
- 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(); }
-
- int get_type() { return m_type; }
- static int get_cart_type(const uint8_t *ROM, uint32_t len);
-
- virtual iodevice_t image_type() const override { return IO_CARTSLOT; }
- virtual bool is_readable() const override { return 1; }
- virtual bool is_writeable() const override { return 0; }
- virtual bool is_creatable() const override { return 0; }
- virtual bool must_be_loaded() const override { return 0; }
- virtual bool is_reset_on_load() const override { return 1; }
- virtual const char *image_interface() const override { return "jakks_gamekey"; }
- virtual const char *file_extensions() const override { return "bin,u1"; }
-
- // slot interface overrides
- virtual std::string get_default_card_software(get_default_card_software_hook &hook) const override;
-
- // reading and writing
- virtual DECLARE_READ16_MEMBER(read_cart);
- virtual DECLARE_WRITE16_MEMBER(write_cart);
-
- virtual uint8_t read_cart_seeprom(void);
- virtual DECLARE_WRITE16_MEMBER(write_cart_seeprom);
-
- bool has_cart() { return m_cart ? true : false; }
-
-protected:
- // device-level overrides
- virtual void device_start() override;
-
- int m_type;
- device_jakks_gamekey_interface* m_cart;
-};
-
-// device type definition
-DECLARE_DEVICE_TYPE(JAKKS_GAMEKEY_SLOT, jakks_gamekey_slot_device)
-
-/***************************************************************************
- DEVICE CONFIGURATION MACROS
- ***************************************************************************/
-
-#define JAKKSSLOT_ROM_REGION_TAG ":cart:rom"
-
-void jakks_gamekey(device_slot_interface &device);
-
-#endif // MAME_BUS_JAKKS_GAMEKEY_SLOT_H
diff --git a/src/devices/bus/kc/d002.cpp b/src/devices/bus/kc/d002.cpp
index 03dc9fb8f3b..24a361a8f2d 100644
--- a/src/devices/bus/kc/d002.cpp
+++ b/src/devices/bus/kc/d002.cpp
@@ -109,36 +109,40 @@ void kc_d002_device::device_reset()
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void kc_d002_device::device_add_mconfig(machine_config &config)
-{
- KCCART_SLOT(config, m_expansions[0], kc85_cart, nullptr);
- m_expansions[0]->set_next_slot("m4");
- m_expansions[0]->irq().set(FUNC(kc_d002_device::out_irq_w));
- m_expansions[0]->nmi().set(FUNC(kc_d002_device::out_nmi_w));
- m_expansions[0]->halt().set(FUNC(kc_d002_device::out_halt_w));
- KCCART_SLOT(config, m_expansions[1], kc85_cart, nullptr);
- m_expansions[1]->set_next_slot("m8");
- m_expansions[1]->irq().set(FUNC(kc_d002_device::out_irq_w));
- m_expansions[1]->nmi().set(FUNC(kc_d002_device::out_nmi_w));
- m_expansions[1]->halt().set(FUNC(kc_d002_device::out_halt_w));
- KCCART_SLOT(config, m_expansions[2], kc85_cart, nullptr);
- m_expansions[2]->set_next_slot("mc");
- m_expansions[2]->irq().set(FUNC(kc_d002_device::out_irq_w));
- m_expansions[2]->nmi().set(FUNC(kc_d002_device::out_nmi_w));
- m_expansions[2]->halt().set(FUNC(kc_d002_device::out_halt_w));
- KCCART_SLOT(config, m_expansions[3], kc85_cart, nullptr);
- m_expansions[3]->set_next_slot("exp");
- m_expansions[3]->irq().set(FUNC(kc_d002_device::out_irq_w));
- m_expansions[3]->nmi().set(FUNC(kc_d002_device::out_nmi_w));
- m_expansions[3]->halt().set(FUNC(kc_d002_device::out_halt_w));
+MACHINE_CONFIG_START(kc_d002_device::device_add_mconfig)
+ MCFG_DEVICE_ADD("m0", KCCART_SLOT, 0)
+ MCFG_DEVICE_SLOT_INTERFACE(kc85_cart, nullptr, false)
+ MCFG_KCCART_SLOT_NEXT_SLOT("m4")
+ MCFG_KCCART_SLOT_OUT_IRQ_CB(WRITELINE(*this, kc_d002_device, out_irq_w))
+ MCFG_KCCART_SLOT_OUT_NMI_CB(WRITELINE(*this, kc_d002_device, out_nmi_w))
+ MCFG_KCCART_SLOT_OUT_HALT_CB(WRITELINE(*this, kc_d002_device, out_halt_w))
+ MCFG_DEVICE_ADD("m4", KCCART_SLOT, 0)
+ MCFG_DEVICE_SLOT_INTERFACE(kc85_cart, nullptr, false)
+ MCFG_KCCART_SLOT_NEXT_SLOT("m8")
+ MCFG_KCCART_SLOT_OUT_IRQ_CB(WRITELINE(*this, kc_d002_device, out_irq_w))
+ MCFG_KCCART_SLOT_OUT_NMI_CB(WRITELINE(*this, kc_d002_device, out_nmi_w))
+ MCFG_KCCART_SLOT_OUT_HALT_CB(WRITELINE(*this, kc_d002_device, out_halt_w))
+ MCFG_DEVICE_ADD("m8", KCCART_SLOT, 0)
+ MCFG_DEVICE_SLOT_INTERFACE(kc85_cart, nullptr, false)
+ MCFG_KCCART_SLOT_NEXT_SLOT("mc")
+ MCFG_KCCART_SLOT_OUT_IRQ_CB(WRITELINE(*this, kc_d002_device, out_irq_w))
+ MCFG_KCCART_SLOT_OUT_NMI_CB(WRITELINE(*this, kc_d002_device, out_nmi_w))
+ MCFG_KCCART_SLOT_OUT_HALT_CB(WRITELINE(*this, kc_d002_device, out_halt_w))
+ MCFG_DEVICE_ADD("mc", KCCART_SLOT, 0)
+ MCFG_DEVICE_SLOT_INTERFACE(kc85_cart, nullptr, false)
+ MCFG_KCCART_SLOT_NEXT_SLOT("exp")
+ MCFG_KCCART_SLOT_OUT_IRQ_CB(WRITELINE(*this, kc_d002_device, out_irq_w))
+ MCFG_KCCART_SLOT_OUT_NMI_CB(WRITELINE(*this, kc_d002_device, out_nmi_w))
+ MCFG_KCCART_SLOT_OUT_HALT_CB(WRITELINE(*this, kc_d002_device, out_halt_w))
// expansion interface
- KCCART_SLOT(config, m_expansions[4], kc85_exp, nullptr);
- m_expansions[4]->set_next_slot(nullptr);
- m_expansions[4]->irq().set(FUNC(kc_d002_device::out_irq_w));
- m_expansions[4]->nmi().set(FUNC(kc_d002_device::out_nmi_w));
- m_expansions[4]->halt().set(FUNC(kc_d002_device::out_halt_w));
-}
+ MCFG_DEVICE_ADD("exp", KCCART_SLOT, 0)
+ MCFG_DEVICE_SLOT_INTERFACE(kc85_exp, nullptr, false)
+ MCFG_KCEXP_SLOT_NEXT_SLOT(nullptr)
+ MCFG_KCEXP_SLOT_OUT_IRQ_CB(WRITELINE(*this, kc_d002_device, out_irq_w))
+ MCFG_KCEXP_SLOT_OUT_NMI_CB(WRITELINE(*this, kc_d002_device, out_nmi_w))
+ MCFG_KCEXP_SLOT_OUT_HALT_CB(WRITELINE(*this, kc_d002_device, out_halt_w))
+MACHINE_CONFIG_END
//-------------------------------------------------
// input_ports - device-specific input ports
diff --git a/src/devices/bus/kc/d004.cpp b/src/devices/bus/kc/d004.cpp
index f07b6de1695..188166640cd 100644
--- a/src/devices/bus/kc/d004.cpp
+++ b/src/devices/bus/kc/d004.cpp
@@ -33,7 +33,7 @@ void kc_d004_device::kc_d004_io(address_map &map)
map.unmap_value_high();
map.global_mask(0xff);
map(0xf0, 0xf1).m(UPD765_TAG, FUNC(upd765a_device::map));
- map(0xf2, 0xf3).rw(UPD765_TAG, FUNC(upd765a_device::dma_r), FUNC(upd765a_device::dma_w));
+ map(0xf2, 0xf3).rw(UPD765_TAG, FUNC(upd765a_device::mdma_r), FUNC(upd765a_device::mdma_w));
map(0xf4, 0xf4).r(FUNC(kc_d004_device::hw_input_gate_r));
map(0xf6, 0xf7).w(FUNC(kc_d004_device::fdd_select_w));
map(0xf8, 0xf9).w(FUNC(kc_d004_device::hw_terminal_count_w));
@@ -45,7 +45,7 @@ void kc_d004_gide_device::kc_d004_gide_io(address_map &map)
map.unmap_value_high();
map(0x0000, 0xffff).rw(FUNC(kc_d004_gide_device::gide_r), FUNC(kc_d004_gide_device::gide_w));
map(0x00f0, 0x00f1).mirror(0xff00).m(UPD765_TAG, FUNC(upd765a_device::map));
- map(0x00f2, 0x00f3).mirror(0xff00).rw(UPD765_TAG, FUNC(upd765a_device::dma_r), FUNC(upd765a_device::dma_w));
+ map(0x00f2, 0x00f3).mirror(0xff00).rw(UPD765_TAG, FUNC(upd765a_device::mdma_r), FUNC(upd765a_device::mdma_w));
map(0x00f4, 0x00f4).mirror(0xff00).r(FUNC(kc_d004_gide_device::hw_input_gate_r));
map(0x00f6, 0x00f7).mirror(0xff00).w(FUNC(kc_d004_gide_device::fdd_select_w));
map(0x00f8, 0x00f9).mirror(0xff00).w(FUNC(kc_d004_gide_device::hw_terminal_count_w));
diff --git a/src/devices/bus/kc/kc.h b/src/devices/bus/kc/kc.h
index 0c14a8ef5d3..0689169c5ee 100644
--- a/src/devices/bus/kc/kc.h
+++ b/src/devices/bus/kc/kc.h
@@ -48,21 +48,12 @@ class kcexp_slot_device : public device_t,
{
public:
// construction/destruction
- template <typename T>
- kcexp_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt)
- : kcexp_slot_device(mconfig, tag, owner, (uint32_t)0)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
kcexp_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~kcexp_slot_device();
- auto irq() { return m_out_irq_cb.bind(); }
- auto nmi() { return m_out_nmi_cb.bind(); }
- auto halt() { return m_out_halt_cb.bind(); }
+ template <class Object> devcb_base &set_out_irq_callback(Object &&cb) { return m_out_irq_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_out_nmi_callback(Object &&cb) { return m_out_nmi_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_out_halt_callback(Object &&cb) { return m_out_halt_cb.set_callback(std::forward<Object>(cb)); }
// inline configuration
void set_next_slot(const char *next_module_tag) { m_next_slot_tag = next_module_tag; }
@@ -100,15 +91,6 @@ class kccart_slot_device : public kcexp_slot_device,
{
public:
// construction/destruction
- template <typename T>
- kccart_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt)
- : kccart_slot_device(mconfig, tag, owner, (uint32_t)0)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
kccart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~kccart_slot_device();
@@ -133,4 +115,42 @@ public:
DECLARE_DEVICE_TYPE(KCEXP_SLOT, kcexp_slot_device)
DECLARE_DEVICE_TYPE(KCCART_SLOT, kccart_slot_device)
+
+/***************************************************************************
+ DEVICE CONFIGURATION MACROS
+***************************************************************************/
+
+#define MCFG_KCEXP_SLOT_OUT_IRQ_CB(_devcb) \
+ downcast<kcexp_slot_device &>(*device).set_out_irq_callback(DEVCB_##_devcb);
+
+#define MCFG_KCEXP_SLOT_OUT_NMI_CB(_devcb) \
+ downcast<kcexp_slot_device &>(*device).set_out_nmi_callback(DEVCB_##_devcb);
+
+#define MCFG_KCEXP_SLOT_OUT_HALT_CB(_devcb) \
+ downcast<kcexp_slot_device &>(*device).set_out_halt_callback(DEVCB_##_devcb);
+
+#define MCFG_KCEXP_SLOT_NEXT_SLOT(_next_slot_tag) \
+ downcast<kcexp_slot_device &>(*device).set_next_slot(_next_slot_tag);
+
+
+#define MCFG_KCCART_SLOT_OUT_IRQ_CB(_devcb) \
+ downcast<kccart_slot_device &>(*device).set_out_irq_callback(DEVCB_##_devcb);
+
+#define MCFG_KCCART_SLOT_OUT_NMI_CB(_devcb) \
+ downcast<kccart_slot_device &>(*device).set_out_nmi_callback(DEVCB_##_devcb);
+
+#define MCFG_KCCART_SLOT_OUT_HALT_CB(_devcb) \
+ downcast<kccart_slot_device &>(*device).set_out_halt_callback(DEVCB_##_devcb);
+
+#define MCFG_KCCART_SLOT_NEXT_SLOT(_next_slot_tag) \
+ downcast<kccart_slot_device &>(*device).set_next_slot(_next_slot_tag);
+
+// #define MCFG_KC85_EXPANSION_ADD(_tag,_next_slot_tag,_config,_slot_intf,_def_slot)
+// MCFG_DEVICE_ADD(_tag, KCEXP_SLOT, 0)
+// MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
+
+// #define MCFG_KC85_CARTRIDGE_ADD(_tag,_next_slot_tag,_config,_slot_intf,_def_slot)
+// MCFG_DEVICE_ADD(_tag, KCCART_SLOT, 0)
+// MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
+
#endif // MAME_BUS_KC_KC_H
diff --git a/src/devices/bus/lpci/mpc105.cpp b/src/devices/bus/lpci/mpc105.cpp
index 5816153f134..bf1583add8d 100644
--- a/src/devices/bus/lpci/mpc105.cpp
+++ b/src/devices/bus/lpci/mpc105.cpp
@@ -32,10 +32,11 @@ DEFINE_DEVICE_TYPE(MPC105, mpc105_device, "mpc105", "Motorola MPC105")
mpc105_device::mpc105_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
: device_t(mconfig, MPC105, tag, owner, clock),
pci_device_interface( mconfig, *this ),
+ m_cpu_tag(nullptr),
m_bank_base_default(0),
m_bank_base(0),
m_bank_enable(0),
- m_maincpu(*this, finder_base::DUMMY_TAG)
+ m_maincpu(nullptr)
{
}
@@ -45,6 +46,7 @@ mpc105_device::mpc105_device(const machine_config &mconfig, const char *tag, dev
void mpc105_device::device_start()
{
+ m_maincpu = machine().device<cpu_device>(m_cpu_tag);
}
//-------------------------------------------------
diff --git a/src/devices/bus/lpci/mpc105.h b/src/devices/bus/lpci/mpc105.h
index 94f9181a2d7..65ab5a59637 100644
--- a/src/devices/bus/lpci/mpc105.h
+++ b/src/devices/bus/lpci/mpc105.h
@@ -17,6 +17,11 @@
#define MPC105_MEMORYBANK_COUNT 8
+#define MCFG_MPC105_CPU( _tag ) \
+ downcast<mpc105_device &>(*device).set_cpu(_tag);
+
+#define MCFG_MPC105_BANK_BASE_DEFAULT( bank_base_default ) \
+ downcast<mpc105_device &>(*device).set_bank_base_default(bank_base_default);
// ======================> mpc105_device
@@ -27,7 +32,7 @@ public:
// construction/destruction
mpc105_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- template <typename T> void set_cpu(T &&tag) { m_maincpu.set_tag(std::forward<T>(tag)); }
+ void set_cpu(const char *tag) { m_cpu_tag = tag; }
void set_bank_base_default(int bank_base_default) { m_bank_base_default = bank_base_default; }
virtual uint32_t pci_read(pci_bus_device *pcibus, int function, int offset, uint32_t mem_mask) override;
@@ -41,12 +46,13 @@ protected:
void update_memory();
private:
+ const char *m_cpu_tag;
int m_bank_base_default;
int m_bank_base;
uint8_t m_bank_enable;
uint32_t m_bank_registers[8];
- required_device<cpu_device> m_maincpu;
+ cpu_device* m_maincpu;
};
diff --git a/src/devices/bus/lpci/pci.h b/src/devices/bus/lpci/pci.h
index 7f93875fcfb..6f7da915176 100644
--- a/src/devices/bus/lpci/pci.h
+++ b/src/devices/bus/lpci/pci.h
@@ -114,4 +114,20 @@ private:
// device type definition
DECLARE_DEVICE_TYPE(PCI_BUS, pci_bus_device)
+
+/***************************************************************************
+ DEVICE CONFIGURATION MACROS
+***************************************************************************/
+
+#define MCFG_PCI_BUS_ADD(_tag, _busnum) \
+ MCFG_DEVICE_ADD(_tag, PCI_BUS, 0) \
+ downcast<pci_bus_device *>(device)->set_busnum(_busnum);
+#define MCFG_PCI_BUS_DEVICE(_tag, _slot_intf, _def_slot, _fixed) \
+ MCFG_DEVICE_ADD(_tag, PCI_CONNECTOR, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, _fixed)
+
+#define MCFG_PCI_BUS_SIBLING(_father_tag) \
+ downcast<pci_bus_device *>(device)->set_father(_father_tag);
+
+
#endif // MAME_BUS_LPCI_PCI_H
diff --git a/src/devices/bus/lpci/southbridge.cpp b/src/devices/bus/lpci/southbridge.cpp
index c4ce2257ed1..01228cddc3b 100644
--- a/src/devices/bus/lpci/southbridge.cpp
+++ b/src/devices/bus/lpci/southbridge.cpp
@@ -90,8 +90,7 @@ void southbridge_device::device_add_mconfig(machine_config &config)
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.50);
ISA16(config, m_isabus, 0);
- m_isabus->set_memspace(":maincpu", AS_PROGRAM);
- m_isabus->set_iospace(":maincpu", AS_IO);
+ m_isabus->set_cputag(":maincpu");
m_isabus->irq3_callback().set("pic8259_master", FUNC(pic8259_device::ir3_w));
m_isabus->irq4_callback().set("pic8259_master", FUNC(pic8259_device::ir4_w));
m_isabus->irq5_callback().set("pic8259_master", FUNC(pic8259_device::ir5_w));
@@ -110,7 +109,6 @@ void southbridge_device::device_add_mconfig(machine_config &config)
m_isabus->drq5_callback().set("dma8237_2", FUNC(am9517a_device::dreq1_w));
m_isabus->drq6_callback().set("dma8237_2", FUNC(am9517a_device::dreq2_w));
m_isabus->drq7_callback().set("dma8237_2", FUNC(am9517a_device::dreq3_w));
- m_isabus->iochck_callback().set(FUNC(southbridge_device::iochck_w));
}
southbridge_device::southbridge_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
@@ -217,9 +215,9 @@ WRITE8_MEMBER(southbridge_device::eisa_irq_write)
void southbridge_device::device_start()
{
- spaceio = &m_maincpu->space(AS_IO);
+ spaceio = &machine().device(":maincpu")->memory().space(AS_IO);
- spaceio->install_readwrite_handler(0x0000, 0x001f, read8sm_delegate(FUNC(am9517a_device::read), &(*m_dma8237_1)), write8sm_delegate(FUNC(am9517a_device::write), &(*m_dma8237_1)), 0xffffffff);
+ spaceio->install_readwrite_handler(0x0000, 0x001f, read8_delegate(FUNC(am9517a_device::read), &(*m_dma8237_1)), write8_delegate(FUNC(am9517a_device::write), &(*m_dma8237_1)), 0xffffffff);
spaceio->install_readwrite_handler(0x0020, 0x003f, read8sm_delegate(FUNC(pic8259_device::read), &(*m_pic8259_master)), write8sm_delegate(FUNC(pic8259_device::write), &(*m_pic8259_master)), 0xffffffff);
spaceio->install_readwrite_handler(0x0040, 0x005f, read8sm_delegate(FUNC(pit8254_device::read), &(*m_pit8254)), write8sm_delegate(FUNC(pit8254_device::write), &(*m_pit8254)), 0xffffffff);
spaceio->install_readwrite_handler(0x0060, 0x0063, read8_delegate(FUNC(southbridge_device::at_portb_r), this), write8_delegate(FUNC(southbridge_device::at_portb_w), this), 0x0000ff00);
@@ -481,24 +479,17 @@ WRITE8_MEMBER( southbridge_device::at_portb_w )
m_pit8254->write_gate2(BIT(data, 0));
at_speaker_set_spkrdata( BIT(data, 1));
m_channel_check = BIT(data, 3);
- if (m_channel_check)
- m_maincpu->set_input_line(INPUT_LINE_NMI, CLEAR_LINE);
-}
-
-WRITE_LINE_MEMBER( southbridge_device::iochck_w )
-{
- if (!state && !m_channel_check && m_nmi_enabled)
- m_maincpu->set_input_line(INPUT_LINE_NMI, ASSERT_LINE);
+ m_isabus->set_nmi_state((m_nmi_enabled==0) && (m_channel_check==0));
}
READ8_MEMBER( southbridge_device::at_dma8237_2_r )
{
- return m_dma8237_2->read(offset / 2);
+ return m_dma8237_2->read( space, offset / 2);
}
WRITE8_MEMBER( southbridge_device::at_dma8237_2_w )
{
- m_dma8237_2->write(offset / 2, data);
+ m_dma8237_2->write( space, offset / 2, data);
}
/***************************************************************************
@@ -516,8 +507,7 @@ static void pc_isa_onboard(device_slot_interface &device)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void southbridge_extended_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(southbridge_extended_device::device_add_mconfig)
southbridge_device::device_add_mconfig(config);
at_keyboard_controller_device &keybc(AT_KEYBOARD_CONTROLLER(config, "keybc", XTAL(12'000'000)));
@@ -527,20 +517,20 @@ void southbridge_extended_device::device_add_mconfig(machine_config &config)
keybc.kbd_clk().set("pc_kbdc", FUNC(pc_kbdc_device::clock_write_from_mb));
keybc.kbd_data().set("pc_kbdc", FUNC(pc_kbdc_device::data_write_from_mb));
- PC_KBDC(config, m_pc_kbdc, 0);
- m_pc_kbdc->out_clock_cb().set(m_keybc, FUNC(at_keyboard_controller_device::kbd_clk_w));
- m_pc_kbdc->out_data_cb().set(m_keybc, FUNC(at_keyboard_controller_device::kbd_data_w));
- PC_KBDC_SLOT(config, "kbd", pc_at_keyboards, STR_KBD_MICROSOFT_NATURAL).set_pc_kbdc_slot(m_pc_kbdc);
+ MCFG_DEVICE_ADD("pc_kbdc", PC_KBDC, 0)
+ MCFG_PC_KBDC_OUT_CLOCK_CB(WRITELINE("keybc", at_keyboard_controller_device, kbd_clk_w))
+ MCFG_PC_KBDC_OUT_DATA_CB(WRITELINE("keybc", at_keyboard_controller_device, kbd_data_w))
+ MCFG_PC_KBDC_SLOT_ADD("pc_kbdc", "kbd", pc_at_keyboards, STR_KBD_MICROSOFT_NATURAL)
ds12885_device &rtc(DS12885(config, "rtc"));
rtc.irq().set("pic8259_slave", FUNC(pic8259_device::ir0_w));
rtc.set_century_index(0x32);
// on board devices
- ISA16_SLOT(config, "board1", 0, "isabus", pc_isa_onboard, "fdcsmc", true); // FIXME: determine ISA bus clock
- ISA16_SLOT(config, "board2", 0, "isabus", pc_isa_onboard, "comat", true);
- ISA16_SLOT(config, "board3", 0, "isabus", pc_isa_onboard, "lpt", true);
-}
+ MCFG_DEVICE_ADD("board1", ISA16_SLOT, 0, "isabus", pc_isa_onboard, "fdcsmc", true) // FIXME: determine ISA bus clock
+ MCFG_DEVICE_ADD("board2", ISA16_SLOT, 0, "isabus", pc_isa_onboard, "comat", true)
+ MCFG_DEVICE_ADD("board3", ISA16_SLOT, 0, "isabus", pc_isa_onboard, "lpt", true)
+MACHINE_CONFIG_END
southbridge_extended_device::southbridge_extended_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
: southbridge_device(mconfig, type, tag, owner, clock),
@@ -556,13 +546,13 @@ southbridge_extended_device::southbridge_extended_device(const machine_config &m
void southbridge_extended_device::device_start()
{
- address_space& spaceio = m_maincpu->space(AS_IO);
+ address_space& spaceio = machine().device(":maincpu")->memory().space(AS_IO);
southbridge_device::device_start();
- spaceio.install_readwrite_handler(0x0060, 0x0063, read8smo_delegate(FUNC(at_keyboard_controller_device::data_r), &(*m_keybc)), write8smo_delegate(FUNC(at_keyboard_controller_device::data_w), &(*m_keybc)), 0x000000ff);
- spaceio.install_readwrite_handler(0x0064, 0x0067, read8smo_delegate(FUNC(at_keyboard_controller_device::status_r), &(*m_keybc)), write8smo_delegate(FUNC(at_keyboard_controller_device::command_w), &(*m_keybc)), 0xffffffff);
- spaceio.install_readwrite_handler(0x0070, 0x007f, read8sm_delegate(FUNC(ds12885_device::read), &(*m_ds12885)), write8sm_delegate(FUNC(ds12885_device::write), &(*m_ds12885)), 0xffffffff);
+ spaceio.install_readwrite_handler(0x0060, 0x0063, read8_delegate(FUNC(at_keyboard_controller_device::data_r), &(*m_keybc)), write8_delegate(FUNC(at_keyboard_controller_device::data_w), &(*m_keybc)), 0x000000ff);
+ spaceio.install_readwrite_handler(0x0064, 0x0067, read8_delegate(FUNC(at_keyboard_controller_device::status_r), &(*m_keybc)), write8_delegate(FUNC(at_keyboard_controller_device::command_w), &(*m_keybc)), 0xffffffff);
+ spaceio.install_readwrite_handler(0x0070, 0x007f, read8_delegate(FUNC(ds12885_device::read), &(*m_ds12885)), write8_delegate(FUNC(ds12885_device::write), &(*m_ds12885)), 0xffffffff);
}
//-------------------------------------------------
@@ -578,11 +568,10 @@ WRITE8_MEMBER( southbridge_extended_device::write_rtc )
{
if (offset==0) {
m_nmi_enabled = BIT(data,7);
- if (!m_nmi_enabled)
- m_maincpu->set_input_line(INPUT_LINE_NMI, CLEAR_LINE);
- m_ds12885->write(0,data);
+ m_isabus->set_nmi_state((m_nmi_enabled==0) && (m_channel_check==0));
+ m_ds12885->write(space,0,data);
}
else {
- m_ds12885->write(offset,data);
+ m_ds12885->write(space,offset,data);
}
}
diff --git a/src/devices/bus/lpci/southbridge.h b/src/devices/bus/lpci/southbridge.h
index 7c2c8f3760f..0e25c8392f4 100644
--- a/src/devices/bus/lpci/southbridge.h
+++ b/src/devices/bus/lpci/southbridge.h
@@ -87,7 +87,6 @@ private:
DECLARE_WRITE8_MEMBER(at_page8_w);
DECLARE_READ8_MEMBER(at_portb_r);
DECLARE_WRITE8_MEMBER(at_portb_w);
- DECLARE_WRITE_LINE_MEMBER(iochck_w);
DECLARE_READ8_MEMBER(get_slave_ack);
DECLARE_WRITE_LINE_MEMBER(at_pit8254_out0_changed);
DECLARE_WRITE_LINE_MEMBER(at_pit8254_out1_changed);
diff --git a/src/devices/bus/m5/slot.h b/src/devices/bus/m5/slot.h
index e2a835238b9..48cb4d15124 100644
--- a/src/devices/bus/m5/slot.h
+++ b/src/devices/bus/m5/slot.h
@@ -66,17 +66,7 @@ class m5_cart_slot_device : public device_t,
{
public:
// construction/destruction
- template <typename T>
- m5_cart_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt)
- : m5_cart_slot_device(mconfig, tag, owner, 0)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
-
- m5_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+ m5_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~m5_cart_slot_device();
// device-level overrides
@@ -126,4 +116,9 @@ DECLARE_DEVICE_TYPE(M5_CART_SLOT, m5_cart_slot_device)
#define M5SLOT_ROM_REGION_TAG ":cart:rom"
+#define MCFG_M5_CARTRIDGE_ADD(_tag,_slot_intf,_def_slot) \
+ MCFG_DEVICE_ADD(_tag, M5_CART_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
+
+
#endif // MAME_BUS_M5_SLOT_H
diff --git a/src/devices/bus/macpds/macpds.h b/src/devices/bus/macpds/macpds.h
index 2354549afd5..d37a393a78a 100644
--- a/src/devices/bus/macpds/macpds.h
+++ b/src/devices/bus/macpds/macpds.h
@@ -14,6 +14,22 @@
#pragma once
+
+//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_MACPDS_SLOT_REMOVE(_tag) \
+ MCFG_DEVICE_REMOVE(_tag)
+
+#define MCFG_MACPDS_ONBOARD_ADD(_nbtag, _tag, _dev_type, _def_inp) \
+ MCFG_DEVICE_ADD(_tag, _dev_type, 0) \
+ MCFG_DEVICE_INPUT_DEFAULTS(_def_inp) \
+ downcast<device_macpds_card_interface &>(*device).set_macpds_tag(_nbtag, _tag);
+
+#define MCFG_MACPDS_BUS_REMOVE(_tag) \
+ MCFG_DEVICE_REMOVE(_tag)
+
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
diff --git a/src/devices/bus/macpds/pds_tpdfpd.cpp b/src/devices/bus/macpds/pds_tpdfpd.cpp
index 1a3f2671e5c..aba55746cc2 100644
--- a/src/devices/bus/macpds/pds_tpdfpd.cpp
+++ b/src/devices/bus/macpds/pds_tpdfpd.cpp
@@ -58,12 +58,13 @@ DEFINE_DEVICE_TYPE(PDS_SEDISPLAY, macpds_sedisplay_device, "pds_sefp", "Radius S
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void macpds_sedisplay_device::device_add_mconfig(machine_config &config)
-{
- screen_device &screen(SCREEN(config, SEDISPLAY_SCREEN_NAME, SCREEN_TYPE_RASTER));
- screen.set_screen_update(FUNC(macpds_sedisplay_device::screen_update));
- screen.set_raw(55_MHz_XTAL, 800, 0, 640, 1024, 0, 870);
-}
+MACHINE_CONFIG_START(macpds_sedisplay_device::device_add_mconfig)
+ MCFG_SCREEN_ADD( SEDISPLAY_SCREEN_NAME, RASTER)
+ MCFG_SCREEN_UPDATE_DEVICE(DEVICE_SELF, macpds_sedisplay_device, screen_update)
+ MCFG_SCREEN_SIZE(1280, 960)
+ MCFG_SCREEN_REFRESH_RATE(70)
+ MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 870-1)
+MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/megadrive/eeprom.cpp b/src/devices/bus/megadrive/eeprom.cpp
index 32787dec152..a39daf4fb52 100644
--- a/src/devices/bus/megadrive/eeprom.cpp
+++ b/src/devices/bus/megadrive/eeprom.cpp
@@ -107,40 +107,33 @@ md_eeprom_blara_device::md_eeprom_blara_device(const machine_config &mconfig, co
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void md_std_eeprom_device::device_add_mconfig(machine_config &config)
-{
- I2C_24C01(config, m_i2cmem);
-}
+MACHINE_CONFIG_START(md_std_eeprom_device::device_add_mconfig)
+ MCFG_24C01_ADD("i2cmem")
+MACHINE_CONFIG_END
-void md_eeprom_nbajam_device::device_add_mconfig(machine_config &config)
-{
- I2C_24C02(config, m_i2cmem);
-}
+MACHINE_CONFIG_START(md_eeprom_nbajam_device::device_add_mconfig)
+ MCFG_24C02_ADD("i2cmem")
+MACHINE_CONFIG_END
-void md_eeprom_nbajamte_device::device_add_mconfig(machine_config &config)
-{
- I2C_24C01(config, m_i2cmem);
-}
+MACHINE_CONFIG_START(md_eeprom_nbajamte_device::device_add_mconfig)
+ MCFG_24C02_ADD("i2cmem")
+MACHINE_CONFIG_END
-void md_eeprom_cslam_device::device_add_mconfig(machine_config &config)
-{
- I2C_24C64(config, m_i2cmem);
-}
+MACHINE_CONFIG_START(md_eeprom_cslam_device::device_add_mconfig)
+ MCFG_24C64_ADD("i2cmem")
+MACHINE_CONFIG_END
-void md_eeprom_nflqb_device::device_add_mconfig(machine_config &config)
-{
- I2C_24C16(config, m_i2cmem);
-}
+MACHINE_CONFIG_START(md_eeprom_nflqb_device::device_add_mconfig)
+ MCFG_24C16_ADD("i2cmem")
+MACHINE_CONFIG_END
-void md_eeprom_nhlpa_device::device_add_mconfig(machine_config &config)
-{
- I2C_24C01(config, m_i2cmem);
-}
+MACHINE_CONFIG_START(md_eeprom_nhlpa_device::device_add_mconfig)
+ MCFG_24C01_ADD("i2cmem")
+MACHINE_CONFIG_END
-void md_eeprom_blara_device::device_add_mconfig(machine_config &config)
-{
- I2C_24C64(config, m_i2cmem);
-}
+MACHINE_CONFIG_START(md_eeprom_blara_device::device_add_mconfig)
+ MCFG_24C64_ADD("i2cmem")
+MACHINE_CONFIG_END
void md_std_eeprom_device::device_start()
{
diff --git a/src/devices/bus/megadrive/ggenie.cpp b/src/devices/bus/megadrive/ggenie.cpp
index 17dbb78fc1d..a6001971529 100644
--- a/src/devices/bus/megadrive/ggenie.cpp
+++ b/src/devices/bus/megadrive/ggenie.cpp
@@ -172,8 +172,7 @@ static void ggenie_sub_cart(device_slot_interface &device)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void md_rom_ggenie_device::device_add_mconfig(machine_config &config)
-{
- MD_CART_SLOT(config, m_exp, ggenie_sub_cart, nullptr);
- m_exp->set_must_be_loaded(false);
-}
+MACHINE_CONFIG_START(md_rom_ggenie_device::device_add_mconfig)
+ MCFG_MD_CARTRIDGE_ADD("subslot", ggenie_sub_cart, nullptr)
+ MCFG_MD_CARTRIDGE_NOT_MANDATORY
+MACHINE_CONFIG_END
diff --git a/src/devices/bus/megadrive/jcart.cpp b/src/devices/bus/megadrive/jcart.cpp
index 76f38ff0dd3..aa6d763e517 100644
--- a/src/devices/bus/megadrive/jcart.cpp
+++ b/src/devices/bus/megadrive/jcart.cpp
@@ -81,15 +81,13 @@ md_seprom_mm96_device::md_seprom_mm96_device(const machine_config &mconfig, cons
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void md_seprom_codemast_device::device_add_mconfig(machine_config &config)
-{
- I2C_24C08(config, m_i2cmem);
-}
+MACHINE_CONFIG_START(md_seprom_codemast_device::device_add_mconfig)
+ MCFG_24C08_ADD("i2cmem")
+MACHINE_CONFIG_END
-void md_seprom_mm96_device::device_add_mconfig(machine_config &config)
-{
- I2C_24C16A(config, m_i2cmem);
-}
+MACHINE_CONFIG_START(md_seprom_mm96_device::device_add_mconfig)
+ MCFG_24C16A_ADD("i2cmem")
+MACHINE_CONFIG_END
static INPUT_PORTS_START( jcart_ipt )
diff --git a/src/devices/bus/megadrive/md_slot.h b/src/devices/bus/megadrive/md_slot.h
index 42fd2503f76..c9372ada7df 100644
--- a/src/devices/bus/megadrive/md_slot.h
+++ b/src/devices/bus/megadrive/md_slot.h
@@ -211,16 +211,6 @@ class md_cart_slot_device : public base_md_cart_slot_device
{
public:
// construction/destruction
- template <typename T>
- md_cart_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt)
- : md_cart_slot_device(mconfig, tag, owner, (uint32_t)0)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
-
md_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual const char *image_interface() const override { return "megadriv_cart"; }
virtual const char *file_extensions() const override { return "smd,bin,md,gen"; }
@@ -279,4 +269,12 @@ DECLARE_DEVICE_TYPE(COPERA_CART_SLOT, copera_cart_slot_device)
#define MDSLOT_ROM_REGION_TAG ":cart:rom"
+#define MCFG_MD_CARTRIDGE_ADD(_tag,_slot_intf,_def_slot) \
+ MCFG_DEVICE_ADD(_tag, MD_CART_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
+
+#define MCFG_MD_CARTRIDGE_NOT_MANDATORY \
+ static_cast<md_cart_slot_device *>(device)->set_must_be_loaded(false);
+
+
#endif // MAME_BUS_MEGADRIVE_MD_SLOT_H
diff --git a/src/devices/bus/megadrive/sk.cpp b/src/devices/bus/megadrive/sk.cpp
index c45574ff1a3..b48163e9b94 100644
--- a/src/devices/bus/megadrive/sk.cpp
+++ b/src/devices/bus/megadrive/sk.cpp
@@ -79,8 +79,7 @@ static void sk_sub_cart(device_slot_interface &device)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void md_rom_sk_device::device_add_mconfig(machine_config &config)
-{
- MD_CART_SLOT(config, m_exp, sk_sub_cart, nullptr);
- m_exp->set_must_be_loaded(false);
-}
+MACHINE_CONFIG_START(md_rom_sk_device::device_add_mconfig)
+ MCFG_MD_CARTRIDGE_ADD("subslot", sk_sub_cart, nullptr)
+ MCFG_MD_CARTRIDGE_NOT_MANDATORY
+MACHINE_CONFIG_END
diff --git a/src/devices/bus/megadrive/svp.cpp b/src/devices/bus/megadrive/svp.cpp
index fe4ae33536e..2ed4e40ba1f 100644
--- a/src/devices/bus/megadrive/svp.cpp
+++ b/src/devices/bus/megadrive/svp.cpp
@@ -347,12 +347,11 @@ void md_rom_svp_device::md_svp_ext_map(address_map &map)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void md_rom_svp_device::device_add_mconfig(machine_config &config)
-{
- SSP1601(config, m_svp, MASTER_CLOCK_NTSC / 7 * 3); /* ~23 MHz (guessed) */
- m_svp->set_addrmap(AS_PROGRAM, &md_rom_svp_device::md_svp_ssp_map);
- m_svp->set_addrmap(AS_IO, &md_rom_svp_device::md_svp_ext_map);
-}
+MACHINE_CONFIG_START(md_rom_svp_device::device_add_mconfig)
+ MCFG_DEVICE_ADD("svp", SSP1601, MASTER_CLOCK_NTSC / 7 * 3) /* ~23 MHz (guessed) */
+ MCFG_DEVICE_PROGRAM_MAP(md_svp_ssp_map)
+ MCFG_DEVICE_IO_MAP(md_svp_ext_map)
+MACHINE_CONFIG_END
ioport_constructor md_rom_svp_device::device_input_ports() const
{
diff --git a/src/devices/bus/midi/midi.h b/src/devices/bus/midi/midi.h
index 162d2d7545e..e85a69b9b35 100644
--- a/src/devices/bus/midi/midi.h
+++ b/src/devices/bus/midi/midi.h
@@ -6,6 +6,13 @@
#pragma once
+#define MCFG_MIDI_PORT_ADD(_tag, _slot_intf, _def_slot) \
+ MCFG_DEVICE_ADD(_tag, MIDI_PORT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
+
+#define MCFG_MIDI_RX_HANDLER(_devcb) \
+ downcast<midi_port_device &>(*device).set_rx_handler(DEVCB_##_devcb);
+
class device_midi_port_interface;
class midi_port_device : public device_t,
@@ -27,6 +34,7 @@ public:
virtual ~midi_port_device();
// static configuration helpers
+ template <class Object> devcb_base &set_rx_handler(Object &&cb) { return m_rxd_handler.set_callback(std::forward<Object>(cb)); }
auto rxd_handler() { return m_rxd_handler.bind(); }
DECLARE_WRITE_LINE_MEMBER( write_txd );
diff --git a/src/devices/bus/midi/midiinport.cpp b/src/devices/bus/midi/midiinport.cpp
index bad75b6959e..81bbeb80f1c 100644
--- a/src/devices/bus/midi/midiinport.cpp
+++ b/src/devices/bus/midi/midiinport.cpp
@@ -20,8 +20,7 @@ midiin_port_device::midiin_port_device(const machine_config &mconfig, const char
{
}
-void midiin_port_device::device_add_mconfig(machine_config &config)
-{
- MIDIIN(config, m_midiin, 0);
- m_midiin->input_callback().set(FUNC(midiin_port_device::read));
-}
+MACHINE_CONFIG_START(midiin_port_device::device_add_mconfig)
+ MCFG_DEVICE_ADD("midiinimg", MIDIIN, 0)
+ MCFG_MIDIIN_INPUT_CB(WRITELINE(*this, midiin_port_device, read))
+MACHINE_CONFIG_END
diff --git a/src/devices/bus/midi/midioutport.cpp b/src/devices/bus/midi/midioutport.cpp
index 7f15c79fc70..449b85b4649 100644
--- a/src/devices/bus/midi/midioutport.cpp
+++ b/src/devices/bus/midi/midioutport.cpp
@@ -20,7 +20,6 @@ midiout_port_device::midiout_port_device(const machine_config &mconfig, const ch
{
}
-void midiout_port_device::device_add_mconfig(machine_config &config)
-{
- MIDIOUT(config, m_midiout, 0);
-}
+MACHINE_CONFIG_START(midiout_port_device::device_add_mconfig)
+ MCFG_MIDIOUT_ADD("midioutimg")
+MACHINE_CONFIG_END
diff --git a/src/devices/bus/msx_cart/arc.cpp b/src/devices/bus/msx_cart/arc.cpp
index 406ec8f4de3..3504071ec4c 100644
--- a/src/devices/bus/msx_cart/arc.cpp
+++ b/src/devices/bus/msx_cart/arc.cpp
@@ -18,8 +18,9 @@ msx_cart_arc_device::msx_cart_arc_device(const machine_config &mconfig, const ch
void msx_cart_arc_device::device_start()
{
// Install IO read/write handlers
- io_space().install_write_handler(0x7f, 0x7f, write8smo_delegate(FUNC(msx_cart_arc_device::io_7f_w), this));
- io_space().install_read_handler(0x7f, 0x7f, read8smo_delegate(FUNC(msx_cart_arc_device::io_7f_r), this));
+ address_space &space = machine().device<cpu_device>("maincpu")->space(AS_IO);
+ space.install_write_handler(0x7f, 0x7f, write8_delegate(FUNC(msx_cart_arc_device::io_7f_w), this));
+ space.install_read_handler(0x7f, 0x7f, read8_delegate(FUNC(msx_cart_arc_device::io_7f_r), this));
}
@@ -38,7 +39,7 @@ void msx_cart_arc_device::initialize_cartridge()
}
-uint8_t msx_cart_arc_device::read_cart(offs_t offset)
+READ8_MEMBER(msx_cart_arc_device::read_cart)
{
if (offset >= 0x4000 && offset < 0xc000)
{
@@ -48,7 +49,7 @@ uint8_t msx_cart_arc_device::read_cart(offs_t offset)
}
-void msx_cart_arc_device::io_7f_w(uint8_t data)
+WRITE8_MEMBER(msx_cart_arc_device::io_7f_w)
{
if (data == 0x35)
{
@@ -57,7 +58,7 @@ void msx_cart_arc_device::io_7f_w(uint8_t data)
}
-uint8_t msx_cart_arc_device::io_7f_r()
+READ8_MEMBER(msx_cart_arc_device::io_7f_r)
{
return ((m_7f & 0x03) == 0x03) ? 0xda : 0xff;
}
diff --git a/src/devices/bus/msx_cart/arc.h b/src/devices/bus/msx_cart/arc.h
index 69f4427a01f..308589961fd 100644
--- a/src/devices/bus/msx_cart/arc.h
+++ b/src/devices/bus/msx_cart/arc.h
@@ -18,7 +18,10 @@ public:
virtual void initialize_cartridge() override;
- virtual uint8_t read_cart(offs_t offset) override;
+ virtual DECLARE_READ8_MEMBER(read_cart) override;
+
+ DECLARE_WRITE8_MEMBER(io_7f_w);
+ DECLARE_READ8_MEMBER(io_7f_r);
protected:
// device-level overrides
@@ -26,9 +29,6 @@ protected:
virtual void device_reset() override;
private:
- void io_7f_w(uint8_t data);
- uint8_t io_7f_r();
-
uint8_t m_7f;
};
diff --git a/src/devices/bus/msx_cart/ascii.cpp b/src/devices/bus/msx_cart/ascii.cpp
index 7d1b354b404..c7598a8ccc0 100644
--- a/src/devices/bus/msx_cart/ascii.cpp
+++ b/src/devices/bus/msx_cart/ascii.cpp
@@ -27,12 +27,8 @@ msx_cart_ascii8_device::msx_cart_ascii8_device(const machine_config &mconfig, co
void msx_cart_ascii8_device::device_start()
{
save_item(NAME(m_selected_bank));
-}
-
-void msx_cart_ascii8_device::device_post_load()
-{
- restore_banks();
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_ascii8_device::restore_banks), this));
}
@@ -76,7 +72,7 @@ void msx_cart_ascii8_device::initialize_cartridge()
}
-uint8_t msx_cart_ascii8_device::read_cart(offs_t offset)
+READ8_MEMBER(msx_cart_ascii8_device::read_cart)
{
if ( offset >= 0x4000 && offset < 0xC000 )
{
@@ -86,7 +82,7 @@ uint8_t msx_cart_ascii8_device::read_cart(offs_t offset)
}
-void msx_cart_ascii8_device::write_cart(offs_t offset, uint8_t data)
+WRITE8_MEMBER(msx_cart_ascii8_device::write_cart)
{
if (offset >= 0x6000 && offset < 0x8000)
{
@@ -115,12 +111,8 @@ msx_cart_ascii16_device::msx_cart_ascii16_device(const machine_config &mconfig,
void msx_cart_ascii16_device::device_start()
{
save_item(NAME(m_selected_bank));
-}
-
-void msx_cart_ascii16_device::device_post_load()
-{
- restore_banks();
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_ascii16_device::restore_banks), this));
}
@@ -164,7 +156,7 @@ void msx_cart_ascii16_device::initialize_cartridge()
}
-uint8_t msx_cart_ascii16_device::read_cart(offs_t offset)
+READ8_MEMBER(msx_cart_ascii16_device::read_cart)
{
if ( offset >= 0x4000 && offset < 0xC000 )
{
@@ -174,7 +166,7 @@ uint8_t msx_cart_ascii16_device::read_cart(offs_t offset)
}
-void msx_cart_ascii16_device::write_cart(offs_t offset, uint8_t data)
+WRITE8_MEMBER(msx_cart_ascii16_device::write_cart)
{
if (offset >= 0x6000 && offset < 0x6800)
{
@@ -210,12 +202,8 @@ msx_cart_ascii8_sram_device::msx_cart_ascii8_sram_device(const machine_config &m
void msx_cart_ascii8_sram_device::device_start()
{
save_item(NAME(m_selected_bank));
-}
-
-void msx_cart_ascii8_sram_device::device_post_load()
-{
- restore_banks();
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_ascii8_sram_device::restore_banks), this));
}
@@ -284,7 +272,7 @@ void msx_cart_ascii8_sram_device::initialize_cartridge()
}
-uint8_t msx_cart_ascii8_sram_device::read_cart(offs_t offset)
+READ8_MEMBER(msx_cart_ascii8_sram_device::read_cart)
{
if ( offset >= 0x4000 && offset < 0xC000 )
{
@@ -299,7 +287,7 @@ uint8_t msx_cart_ascii8_sram_device::read_cart(offs_t offset)
}
-void msx_cart_ascii8_sram_device::write_cart(offs_t offset, uint8_t data)
+WRITE8_MEMBER(msx_cart_ascii8_sram_device::write_cart)
{
if (offset >= 0x6000 && offset < 0x8000)
{
@@ -339,12 +327,8 @@ msx_cart_ascii16_sram_device::msx_cart_ascii16_sram_device(const machine_config
void msx_cart_ascii16_sram_device::device_start()
{
save_item(NAME(m_selected_bank));
-}
-
-void msx_cart_ascii16_sram_device::device_post_load()
-{
- restore_banks();
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_ascii16_sram_device::restore_banks), this));
}
@@ -413,7 +397,7 @@ void msx_cart_ascii16_sram_device::initialize_cartridge()
}
-uint8_t msx_cart_ascii16_sram_device::read_cart(offs_t offset)
+READ8_MEMBER(msx_cart_ascii16_sram_device::read_cart)
{
if ( offset >= 0x4000 && offset < 0xC000 )
{
@@ -435,7 +419,7 @@ uint8_t msx_cart_ascii16_sram_device::read_cart(offs_t offset)
}
-void msx_cart_ascii16_sram_device::write_cart(offs_t offset, uint8_t data)
+WRITE8_MEMBER(msx_cart_ascii16_sram_device::write_cart)
{
if (offset >= 0x6000 && offset < 0x6800)
{
@@ -477,12 +461,8 @@ msx_cart_msxwrite_device::msx_cart_msxwrite_device(const machine_config &mconfig
void msx_cart_msxwrite_device::device_start()
{
save_item(NAME(m_selected_bank));
-}
-
-void msx_cart_msxwrite_device::device_post_load()
-{
- restore_banks();
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_msxwrite_device::restore_banks), this));
}
@@ -526,7 +506,7 @@ void msx_cart_msxwrite_device::initialize_cartridge()
}
-uint8_t msx_cart_msxwrite_device::read_cart(offs_t offset)
+READ8_MEMBER(msx_cart_msxwrite_device::read_cart)
{
if ( offset >= 0x4000 && offset < 0xC000 )
{
@@ -536,7 +516,7 @@ uint8_t msx_cart_msxwrite_device::read_cart(offs_t offset)
}
-void msx_cart_msxwrite_device::write_cart(offs_t offset, uint8_t data)
+WRITE8_MEMBER(msx_cart_msxwrite_device::write_cart)
{
// The rom writes to 6fff and 7fff for banking, unknown whether
// other locations also trigger banking.
diff --git a/src/devices/bus/msx_cart/ascii.h b/src/devices/bus/msx_cart/ascii.h
index 0c5898fed40..2df178dc31d 100644
--- a/src/devices/bus/msx_cart/ascii.h
+++ b/src/devices/bus/msx_cart/ascii.h
@@ -22,14 +22,13 @@ public:
virtual void initialize_cartridge() override;
- virtual uint8_t read_cart(offs_t offset) override;
- virtual void write_cart(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_cart) override;
+ virtual DECLARE_WRITE8_MEMBER(write_cart) override;
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
- virtual void device_post_load() override;
void restore_banks();
@@ -47,14 +46,13 @@ public:
virtual void initialize_cartridge() override;
- virtual uint8_t read_cart(offs_t offset) override;
- virtual void write_cart(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_cart) override;
+ virtual DECLARE_WRITE8_MEMBER(write_cart) override;
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
- virtual void device_post_load() override;
void restore_banks();
@@ -72,14 +70,13 @@ public:
virtual void initialize_cartridge() override;
- virtual uint8_t read_cart(offs_t offset) override;
- virtual void write_cart(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_cart) override;
+ virtual DECLARE_WRITE8_MEMBER(write_cart) override;
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
- virtual void device_post_load() override;
void restore_banks();
@@ -100,14 +97,13 @@ public:
virtual void initialize_cartridge() override;
- virtual uint8_t read_cart(offs_t offset) override;
- virtual void write_cart(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_cart) override;
+ virtual DECLARE_WRITE8_MEMBER(write_cart) override;
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
- virtual void device_post_load() override;
void restore_banks();
@@ -128,14 +124,13 @@ public:
virtual void initialize_cartridge() override;
- virtual uint8_t read_cart(offs_t offset) override;
- virtual void write_cart(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_cart) override;
+ virtual DECLARE_WRITE8_MEMBER(write_cart) override;
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
- virtual void device_post_load() override;
void restore_banks();
diff --git a/src/devices/bus/msx_cart/bm_012.cpp b/src/devices/bus/msx_cart/bm_012.cpp
index f38215ac6cc..db354b1e65c 100644
--- a/src/devices/bus/msx_cart/bm_012.cpp
+++ b/src/devices/bus/msx_cart/bm_012.cpp
@@ -39,8 +39,7 @@ void msx_cart_bm_012_device::bm_012_memory_map(address_map &map)
}
-void msx_cart_bm_012_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_cart_bm_012_device::device_add_mconfig)
// 12MHz XTAL @ X1
// Toshiba TMPZ84C015AF-6 (@U5) components:
// - Z80
@@ -70,12 +69,13 @@ void msx_cart_bm_012_device::device_add_mconfig(machine_config &config)
m_bm012_pio->out_brdy_callback().set("tmpz84c015af", FUNC(tmpz84c015_device::strobe_b));
// MIDI ports
- MIDI_PORT(config, "mdin", midiin_slot, "midiin").rxd_handler().set(FUNC(msx_cart_bm_012_device::midi_in));
+ MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin")
+ MCFG_MIDI_RX_HANDLER(WRITELINE(*this, msx_cart_bm_012_device, midi_in))
- MIDI_PORT(config, "mdthru", midiout_slot, "midiout");
+ MCFG_MIDI_PORT_ADD("mdthru", midiout_slot, "midiout")
- MIDI_PORT(config, "mdout", midiout_slot, "midiout");
-}
+ MCFG_MIDI_PORT_ADD("mdout", midiout_slot, "midiout")
+MACHINE_CONFIG_END
ROM_START( msx_cart_bm_012 )
@@ -94,8 +94,9 @@ const tiny_rom_entry *msx_cart_bm_012_device::device_rom_region() const
void msx_cart_bm_012_device::device_start()
{
// Install IO read/write handlers
- io_space().install_write_handler(0x70, 0x73, write8_delegate(FUNC(z80pio_device::write_alt), m_bm012_pio.target()));
- io_space().install_read_handler(0x70, 0x73, read8_delegate(FUNC(z80pio_device::read_alt), m_bm012_pio.target()));
+ address_space &space = machine().device<cpu_device>("maincpu")->space(AS_IO);
+ space.install_write_handler(0x70, 0x73, write8_delegate(FUNC(z80pio_device::write_alt), m_bm012_pio.target()));
+ space.install_read_handler(0x70, 0x73, read8_delegate(FUNC(z80pio_device::read_alt), m_bm012_pio.target()));
}
diff --git a/src/devices/bus/msx_cart/cartridge.cpp b/src/devices/bus/msx_cart/cartridge.cpp
index 3a3af30d191..9c722e74872 100644
--- a/src/devices/bus/msx_cart/cartridge.cpp
+++ b/src/devices/bus/msx_cart/cartridge.cpp
@@ -26,8 +26,6 @@
#include "super_swangi.h"
#include "yamaha.h"
-#include "bus/msx_slot/cartridge.h"
-
void msx_cart(device_slot_interface &device)
{
@@ -74,7 +72,7 @@ void msx_cart(device_slot_interface &device)
msx_cart_interface::msx_cart_interface(const machine_config &mconfig, device_t &device)
: device_slot_card_interface(mconfig, device)
- , m_exp(nullptr)
+ , m_out_irq_cb(*this)
{
}
@@ -102,21 +100,6 @@ void msx_cart_interface::sram_alloc(uint32_t size)
std::fill_n(m_sram.begin(), size, 0x00);
}
-WRITE_LINE_MEMBER(msx_cart_interface::irq_out)
-{
- m_exp->irq_out(state);
-}
-
-address_space &msx_cart_interface::memory_space() const
-{
- return m_exp->memory_space();
-}
-
-address_space &msx_cart_interface::io_space() const
-{
- return m_exp->io_space();
-}
-
// Several yamaha machines had 60 pin expansion slots. The pinouts of these slots was
// exactly the same as the regular 50 pin cartridge slots. The lowest 10 pins are simply
diff --git a/src/devices/bus/msx_cart/cartridge.h b/src/devices/bus/msx_cart/cartridge.h
index 529d2f0a081..381ec09e566 100644
--- a/src/devices/bus/msx_cart/cartridge.h
+++ b/src/devices/bus/msx_cart/cartridge.h
@@ -10,26 +10,19 @@ void msx_cart(device_slot_interface &device);
void msx_yamaha_60pin(device_slot_interface &device); // 60 pin expansion slots as found in yamaha machines
-class msx_slot_cartridge_device;
-
class msx_cart_interface : public device_slot_card_interface
{
- friend class msx_slot_cartridge_device;
-
public:
+ template <class Object> void set_out_irq_cb(Object &&cb) { m_out_irq_cb.set_callback(std::forward<Object>(cb)); }
+
// This is called after loading cartridge contents and allows the cartridge
// implementation to perform some additional initialization based on the
// cartridge contents.
virtual void initialize_cartridge() { }
- virtual void interface_pre_start() override { assert(m_exp != nullptr); }
// reading and writing
- virtual uint8_t read_cart(offs_t offset) { return 0xff; }
- virtual void write_cart(offs_t offset, uint8_t data) { }
-
- DECLARE_WRITE_LINE_MEMBER(irq_out);
- address_space &memory_space() const;
- address_space &io_space() const;
+ virtual DECLARE_READ8_MEMBER(read_cart) { return 0xff; }
+ virtual DECLARE_WRITE8_MEMBER(write_cart) { }
// ROM/RAM/SRAM management
// Mainly used by the cartridge slot when loading images
@@ -50,13 +43,13 @@ public:
protected:
msx_cart_interface(const machine_config &mconfig, device_t &device);
+ virtual void interface_pre_start() override { m_out_irq_cb.resolve_safe(); }
+
std::vector<uint8_t> m_rom;
std::vector<uint8_t> m_ram;
std::vector<uint8_t> m_rom_vlm5030;
std::vector<uint8_t> m_sram;
-
-private:
- msx_slot_cartridge_device *m_exp;
+ devcb_write_line m_out_irq_cb;
};
diff --git a/src/devices/bus/msx_cart/crossblaim.cpp b/src/devices/bus/msx_cart/crossblaim.cpp
index 6494e492f5b..dfd7907ac46 100644
--- a/src/devices/bus/msx_cart/crossblaim.cpp
+++ b/src/devices/bus/msx_cart/crossblaim.cpp
@@ -21,12 +21,8 @@ msx_cart_crossblaim_device::msx_cart_crossblaim_device(const machine_config &mco
void msx_cart_crossblaim_device::device_start()
{
save_item(NAME(m_selected_bank));
-}
-
-void msx_cart_crossblaim_device::device_post_load()
-{
- restore_banks();
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_crossblaim_device::restore_banks), this));
}
@@ -62,7 +58,7 @@ void msx_cart_crossblaim_device::initialize_cartridge()
}
-uint8_t msx_cart_crossblaim_device::read_cart(offs_t offset)
+READ8_MEMBER(msx_cart_crossblaim_device::read_cart)
{
uint8_t *bank_base = m_bank_base[offset >> 14];
@@ -75,7 +71,7 @@ uint8_t msx_cart_crossblaim_device::read_cart(offs_t offset)
}
-void msx_cart_crossblaim_device::write_cart(offs_t offset, uint8_t data)
+WRITE8_MEMBER(msx_cart_crossblaim_device::write_cart)
{
m_selected_bank = data & 3;
if (m_selected_bank == 0)
diff --git a/src/devices/bus/msx_cart/crossblaim.h b/src/devices/bus/msx_cart/crossblaim.h
index 04a44c1d905..a1321dd06df 100644
--- a/src/devices/bus/msx_cart/crossblaim.h
+++ b/src/devices/bus/msx_cart/crossblaim.h
@@ -18,14 +18,13 @@ public:
virtual void initialize_cartridge() override;
- virtual uint8_t read_cart(offs_t offset) override;
- virtual void write_cart(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_cart) override;
+ virtual DECLARE_WRITE8_MEMBER(write_cart) override;
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
- virtual void device_post_load() override;
void restore_banks();
diff --git a/src/devices/bus/msx_cart/disk.cpp b/src/devices/bus/msx_cart/disk.cpp
index 7bbbdd292c0..a0e03e54920 100644
--- a/src/devices/bus/msx_cart/disk.cpp
+++ b/src/devices/bus/msx_cart/disk.cpp
@@ -197,8 +197,7 @@ void msx_cart_disk_device::initialize_cartridge()
}
-void msx_cart_vy0010_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_cart_vy0010_device::device_add_mconfig)
// From VY-0010 schematic:
// HLT pulled high
// SSO/-ENMF + -DDEN + ENP + -5/8 - pulled low
@@ -207,63 +206,60 @@ void msx_cart_vy0010_device::device_add_mconfig(machine_config &config)
m_fdc->set_force_ready(true);
// Single sided 3.5" floppy drive
- FLOPPY_CONNECTOR(config, "fdc:0", msx_floppies, "35ssdd", msx_cart_disk_device::floppy_formats);
+ MCFG_FLOPPY_DRIVE_ADD("fdc:0", msx_floppies, "35ssdd", msx_cart_disk_device::floppy_formats)
// Attach software lists
// We do not know in what kind of machine the user has inserted the floppy interface
// so we list all msx floppy software lists.
//
- SOFTWARE_LIST(config, "flop_list").set_original("msx2_flop");
- SOFTWARE_LIST(config, "msx1_flop_list").set_compatible("msx1_flop");
-}
+ MCFG_SOFTWARE_LIST_ADD("flop_list","msx2_flop")
+ MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("msx1_flop_list","msx1_flop")
+MACHINE_CONFIG_END
-void msx_cart_fsfd1_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_cart_fsfd1_device::device_add_mconfig)
WD2793(config, m_fdc, 4_MHz_XTAL / 4);
// Double sided 3.5" floppy drive
- FLOPPY_CONNECTOR(config, "fdc:0", msx_floppies, "35dd", msx_cart_disk_device::floppy_formats);
+ MCFG_FLOPPY_DRIVE_ADD("fdc:0", msx_floppies, "35dd", msx_cart_disk_device::floppy_formats)
// Attach software lists
// We do not know in what kind of machine the user has inserted the floppy interface
// so we list all msx floppy software lists.
//
- SOFTWARE_LIST(config, "flop_list").set_original("msx2_flop");
- SOFTWARE_LIST(config, "msx1_flop_list").set_compatible("msx1_flop");
-}
+ MCFG_SOFTWARE_LIST_ADD("flop_list","msx2_flop")
+ MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("msx1_flop_list","msx1_flop")
+MACHINE_CONFIG_END
-void msx_cart_fsfd1a_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_cart_fsfd1a_device::device_add_mconfig)
TC8566AF(config, m_fdc, 16'000'000);
// Double sided 3.5" floppy drive
- FLOPPY_CONNECTOR(config, "fdc:0", msx_floppies, "35dd", msx_cart_disk_device::floppy_formats);
+ MCFG_FLOPPY_DRIVE_ADD("fdc:0", msx_floppies, "35dd", msx_cart_disk_device::floppy_formats)
// Attach software lists
// We do not know in what kind of machine the user has inserted the floppy interface
// so we list all msx floppy software lists.
//
- SOFTWARE_LIST(config, "flop_list").set_original("msx2_flop");
- SOFTWARE_LIST(config, "msx1_flop_list").set_compatible("msx1_flop");
-}
+ MCFG_SOFTWARE_LIST_ADD("flop_list","msx2_flop")
+ MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("msx1_flop_list","msx1_flop")
+MACHINE_CONFIG_END
-void msx_cart_fscf351_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_cart_fscf351_device::device_add_mconfig)
MB8877(config, m_fdc, 4_MHz_XTAL / 4);
m_fdc->set_force_ready(true);
// Double sided 3.5" floppy drive
- FLOPPY_CONNECTOR(config, "fdc:0", msx_floppies, "35dd", msx_cart_disk_device::floppy_formats);
+ MCFG_FLOPPY_DRIVE_ADD("fdc:0", msx_floppies, "35dd", msx_cart_disk_device::floppy_formats)
// Attach software lists
// We do not know in what kind of machine the user has inserted the floppy interface
// so we list all msx floppy software lists.
//
- SOFTWARE_LIST(config, "flop_list").set_original("msx2_flop");
- SOFTWARE_LIST(config, "msx1_flop_list").set_compatible("msx1_flop");
-}
+ MCFG_SOFTWARE_LIST_ADD("flop_list","msx2_flop")
+ MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("msx1_flop_list","msx1_flop")
+MACHINE_CONFIG_END
void msx_cart_disk_type1_device::device_start()
@@ -272,10 +268,12 @@ void msx_cart_disk_type1_device::device_start()
save_item(NAME(m_side_control));
save_item(NAME(m_control));
+
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_disk_type1_device::post_load), this));
}
-void msx_cart_disk_type1_device::device_post_load()
+void msx_cart_disk_type1_device::post_load()
{
uint8_t data = m_control;
@@ -340,7 +338,7 @@ void msx_cart_disk_type1_device::device_reset()
}
-uint8_t msx_cart_disk_type1_device::read_cart(offs_t offset)
+READ8_MEMBER(msx_cart_disk_type1_device::read_cart)
{
switch (offset)
{
@@ -381,7 +379,7 @@ uint8_t msx_cart_disk_type1_device::read_cart(offs_t offset)
}
-void msx_cart_disk_type1_device::write_cart(offs_t offset, uint8_t data)
+WRITE8_MEMBER(msx_cart_disk_type1_device::write_cart)
{
switch (offset)
{
@@ -427,6 +425,8 @@ void msx_cart_disk_type2_device::device_start()
m_led.resolve();
save_item(NAME(m_control));
+
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_disk_type2_device::post_load), this));
}
@@ -436,7 +436,7 @@ void msx_cart_disk_type2_device::device_reset()
}
-void msx_cart_disk_type2_device::device_post_load()
+void msx_cart_disk_type2_device::post_load()
{
uint8_t data = m_control;
@@ -483,7 +483,7 @@ void msx_cart_disk_type2_device::set_control(uint8_t data)
}
-uint8_t msx_cart_disk_type2_device::read_cart(offs_t offset)
+READ8_MEMBER(msx_cart_disk_type2_device::read_cart)
{
switch (offset)
{
@@ -516,7 +516,7 @@ uint8_t msx_cart_disk_type2_device::read_cart(offs_t offset)
}
-void msx_cart_disk_type2_device::write_cart(offs_t offset, uint8_t data)
+WRITE8_MEMBER(msx_cart_disk_type2_device::write_cart)
{
switch (offset)
{
@@ -564,17 +564,17 @@ void msx_cart_fsfd1a_device::device_reset()
}
-uint8_t msx_cart_fsfd1a_device::read_cart(offs_t offset)
+READ8_MEMBER(msx_cart_fsfd1a_device::read_cart)
{
switch (offset)
{
case 0x7ffa:
case 0xbffa:
- return m_fdc->msr_r();
+ return m_fdc->msr_r(space, 4);
case 0x7ffb:
case 0xbffb:
- return m_fdc->fifo_r();
+ return m_fdc->fifo_r(space, 5);
}
if (offset >= 0x4000 && offset < 0x8000)
@@ -585,23 +585,23 @@ uint8_t msx_cart_fsfd1a_device::read_cart(offs_t offset)
}
-void msx_cart_fsfd1a_device::write_cart(offs_t offset, uint8_t data)
+WRITE8_MEMBER(msx_cart_fsfd1a_device::write_cart)
{
switch (offset)
{
case 0x7ff8:
case 0xbff8:
- m_fdc->dor_w(data);
+ m_fdc->dor_w(space, 2, data);
break;
case 0x7ff9:
case 0xbff9:
- m_fdc->cr1_w(data);
+ m_fdc->cr1_w(space, 3, data);
break;
case 0x7ffb:
case 0xbffb:
- m_fdc->fifo_w(data);
+ m_fdc->fifo_w(space, 5, data);
break;
default:
diff --git a/src/devices/bus/msx_cart/disk.h b/src/devices/bus/msx_cart/disk.h
index ce238992349..908f2ef7229 100644
--- a/src/devices/bus/msx_cart/disk.h
+++ b/src/devices/bus/msx_cart/disk.h
@@ -45,8 +45,8 @@ protected:
class msx_cart_disk_type1_device : public msx_cart_disk_wd_device
{
public:
- virtual uint8_t read_cart(offs_t offset) override;
- virtual void write_cart(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_cart) override;
+ virtual DECLARE_WRITE8_MEMBER(write_cart) override;
protected:
msx_cart_disk_type1_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
@@ -54,7 +54,8 @@ protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
- virtual void device_post_load() override;
+
+ void post_load();
output_finder<> m_led;
uint8_t m_side_control;
@@ -68,8 +69,8 @@ protected:
class msx_cart_disk_type2_device : public msx_cart_disk_wd_device
{
public:
- virtual uint8_t read_cart(offs_t offset) override;
- virtual void write_cart(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_cart) override;
+ virtual DECLARE_WRITE8_MEMBER(write_cart) override;
protected:
msx_cart_disk_type2_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
@@ -77,7 +78,8 @@ protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
- virtual void device_post_load() override;
+
+ void post_load();
output_finder<> m_led;
uint8_t m_control;
@@ -137,8 +139,8 @@ protected:
// device-level overrides
virtual void device_add_mconfig(machine_config &config) override;
- virtual uint8_t read_cart(offs_t offset) override;
- virtual void write_cart(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_cart) override;
+ virtual DECLARE_WRITE8_MEMBER(write_cart) override;
};
diff --git a/src/devices/bus/msx_cart/dooly.cpp b/src/devices/bus/msx_cart/dooly.cpp
index a0c4c7b4f83..d1d3ad9ff39 100644
--- a/src/devices/bus/msx_cart/dooly.cpp
+++ b/src/devices/bus/msx_cart/dooly.cpp
@@ -36,7 +36,7 @@ void msx_cart_dooly_device::initialize_cartridge()
}
-uint8_t msx_cart_dooly_device::read_cart(offs_t offset)
+READ8_MEMBER(msx_cart_dooly_device::read_cart)
{
if (offset >= 0x4000 && offset < 0xc000)
{
@@ -54,7 +54,7 @@ uint8_t msx_cart_dooly_device::read_cart(offs_t offset)
}
-void msx_cart_dooly_device::write_cart(offs_t offset, uint8_t data)
+WRITE8_MEMBER(msx_cart_dooly_device::write_cart)
{
if (offset >= 0x4000 && offset < 0xc000)
{
diff --git a/src/devices/bus/msx_cart/dooly.h b/src/devices/bus/msx_cart/dooly.h
index 76f58ae762d..3ef7b365c82 100644
--- a/src/devices/bus/msx_cart/dooly.h
+++ b/src/devices/bus/msx_cart/dooly.h
@@ -18,8 +18,8 @@ public:
virtual void initialize_cartridge() override;
- virtual uint8_t read_cart(offs_t offset) override;
- virtual void write_cart(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_cart) override;
+ virtual DECLARE_WRITE8_MEMBER(write_cart) override;
protected:
// device-level overrides
diff --git a/src/devices/bus/msx_cart/fmpac.cpp b/src/devices/bus/msx_cart/fmpac.cpp
index a5229a6c61e..7054c8c366a 100644
--- a/src/devices/bus/msx_cart/fmpac.cpp
+++ b/src/devices/bus/msx_cart/fmpac.cpp
@@ -29,12 +29,12 @@ msx_cart_fmpac_device::msx_cart_fmpac_device(const machine_config &mconfig, cons
}
-void msx_cart_fmpac_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_cart_fmpac_device::device_add_mconfig)
// This is actually incorrect. The sound output is passed back into the MSX machine where it is mixed internally and output through the system 'speaker'.
SPEAKER(config, "mono").front_center();
- YM2413(config, m_ym2413, XTAL(10'738'635)/3).add_route(ALL_OUTPUTS, "mono", 0.40);
-}
+ MCFG_DEVICE_ADD("ym2413", YM2413, XTAL(10'738'635)/3)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
+MACHINE_CONFIG_END
void msx_cart_fmpac_device::device_start()
@@ -46,14 +46,11 @@ void msx_cart_fmpac_device::device_start()
save_item(NAME(m_1fff));
save_item(NAME(m_7ff6));
- // Install IO read/write handlers
- io_space().install_write_handler(0x7c, 0x7d, write8sm_delegate(FUNC(msx_cart_fmpac_device::write_ym2413), this));
-}
-
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_fmpac_device::restore_banks), this));
-void msx_cart_fmpac_device::device_post_load()
-{
- restore_banks();
+ // Install IO read/write handlers
+ address_space &space = machine().device<cpu_device>("maincpu")->space(AS_IO);
+ space.install_write_handler(0x7c, 0x7d, write8_delegate(FUNC(msx_cart_fmpac_device::write_ym2413), this));
}
@@ -90,7 +87,7 @@ void msx_cart_fmpac_device::initialize_cartridge()
}
-uint8_t msx_cart_fmpac_device::read_cart(offs_t offset)
+READ8_MEMBER(msx_cart_fmpac_device::read_cart)
{
if (offset >= 0x4000 && offset < 0x8000)
{
@@ -119,7 +116,7 @@ uint8_t msx_cart_fmpac_device::read_cart(offs_t offset)
}
-void msx_cart_fmpac_device::write_cart(offs_t offset, uint8_t data)
+WRITE8_MEMBER(msx_cart_fmpac_device::write_cart)
{
if (offset >= 0x4000 && offset < 0x6000)
{
@@ -144,7 +141,7 @@ void msx_cart_fmpac_device::write_cart(offs_t offset, uint8_t data)
case 0x7ff5:
if (m_opll_active)
{
- m_ym2413->write(offset & 1, data);
+ m_ym2413->write(space, offset & 1, data);
}
break;
@@ -162,10 +159,10 @@ void msx_cart_fmpac_device::write_cart(offs_t offset, uint8_t data)
}
-void msx_cart_fmpac_device::write_ym2413(offs_t offset, uint8_t data)
+WRITE8_MEMBER(msx_cart_fmpac_device::write_ym2413)
{
if (m_opll_active)
{
- m_ym2413->write(offset & 1, data);
+ m_ym2413->write(space, offset & 1, data);
}
}
diff --git a/src/devices/bus/msx_cart/fmpac.h b/src/devices/bus/msx_cart/fmpac.h
index a0f660b1620..7100fe4a07c 100644
--- a/src/devices/bus/msx_cart/fmpac.h
+++ b/src/devices/bus/msx_cart/fmpac.h
@@ -19,13 +19,14 @@ public:
virtual void initialize_cartridge() override;
- virtual uint8_t read_cart(offs_t offset) override;
- virtual void write_cart(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_cart) override;
+ virtual DECLARE_WRITE8_MEMBER(write_cart) override;
+
+ DECLARE_WRITE8_MEMBER(write_ym2413);
protected:
virtual void device_start() override;
virtual void device_reset() override;
- virtual void device_post_load() override;
// device-level overrides
virtual void device_add_mconfig(machine_config &config) override;
@@ -33,8 +34,6 @@ protected:
void restore_banks();
private:
- void write_ym2413(offs_t offset, uint8_t data);
-
required_device<ym2413_device> m_ym2413;
uint8_t m_selected_bank;
diff --git a/src/devices/bus/msx_cart/fs_sr022.cpp b/src/devices/bus/msx_cart/fs_sr022.cpp
index bb84a759214..7e0eac793df 100644
--- a/src/devices/bus/msx_cart/fs_sr022.cpp
+++ b/src/devices/bus/msx_cart/fs_sr022.cpp
@@ -38,7 +38,7 @@ void msx_cart_fs_sr022_device::initialize_cartridge()
}
-uint8_t msx_cart_fs_sr022_device::read_cart(offs_t offset)
+READ8_MEMBER(msx_cart_fs_sr022_device::read_cart)
{
if (offset >= 0x4000 && offset < 0xc000)
{
@@ -52,7 +52,7 @@ uint8_t msx_cart_fs_sr022_device::read_cart(offs_t offset)
}
-void msx_cart_fs_sr022_device::write_cart(offs_t offset, uint8_t data)
+WRITE8_MEMBER(msx_cart_fs_sr022_device::write_cart)
{
switch (offset)
{
diff --git a/src/devices/bus/msx_cart/fs_sr022.h b/src/devices/bus/msx_cart/fs_sr022.h
index 2456b90a101..bf3259090e1 100644
--- a/src/devices/bus/msx_cart/fs_sr022.h
+++ b/src/devices/bus/msx_cart/fs_sr022.h
@@ -18,8 +18,8 @@ public:
virtual void initialize_cartridge() override;
- virtual uint8_t read_cart(offs_t offset) override;
- virtual void write_cart(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_cart) override;
+ virtual DECLARE_WRITE8_MEMBER(write_cart) override;
protected:
// device-level overrides
diff --git a/src/devices/bus/msx_cart/halnote.cpp b/src/devices/bus/msx_cart/halnote.cpp
index 43f7947ec2c..013d2b83680 100644
--- a/src/devices/bus/msx_cart/halnote.cpp
+++ b/src/devices/bus/msx_cart/halnote.cpp
@@ -19,12 +19,8 @@ msx_cart_halnote_device::msx_cart_halnote_device(const machine_config &mconfig,
void msx_cart_halnote_device::device_start()
{
save_item(NAME(m_selected_bank));
-}
-
-void msx_cart_halnote_device::device_post_load()
-{
- restore_banks();
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_halnote_device::restore_banks), this));
}
@@ -88,7 +84,7 @@ void msx_cart_halnote_device::initialize_cartridge()
}
-uint8_t msx_cart_halnote_device::read_cart(offs_t offset)
+READ8_MEMBER(msx_cart_halnote_device::read_cart)
{
if (offset >= 0xc000)
{
@@ -110,7 +106,7 @@ uint8_t msx_cart_halnote_device::read_cart(offs_t offset)
}
-void msx_cart_halnote_device::write_cart(offs_t offset, uint8_t data)
+WRITE8_MEMBER(msx_cart_halnote_device::write_cart)
{
if (offset < 0x4000)
{
diff --git a/src/devices/bus/msx_cart/halnote.h b/src/devices/bus/msx_cart/halnote.h
index a9c1972afeb..ad64d2539ee 100644
--- a/src/devices/bus/msx_cart/halnote.h
+++ b/src/devices/bus/msx_cart/halnote.h
@@ -18,14 +18,13 @@ public:
virtual void initialize_cartridge() override;
- virtual uint8_t read_cart(offs_t offset) override;
- virtual void write_cart(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_cart) override;
+ virtual DECLARE_WRITE8_MEMBER(write_cart) override;
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
- virtual void device_post_load() override;
void restore_banks();
diff --git a/src/devices/bus/msx_cart/hfox.cpp b/src/devices/bus/msx_cart/hfox.cpp
index 181d9710fcc..d7fb793e42d 100644
--- a/src/devices/bus/msx_cart/hfox.cpp
+++ b/src/devices/bus/msx_cart/hfox.cpp
@@ -19,12 +19,8 @@ msx_cart_hfox_device::msx_cart_hfox_device(const machine_config &mconfig, const
void msx_cart_hfox_device::device_start()
{
save_item(NAME(m_selected_bank));
-}
-
-void msx_cart_hfox_device::device_post_load()
-{
- restore_banks();
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_hfox_device::restore_banks), this));
}
@@ -52,7 +48,7 @@ void msx_cart_hfox_device::initialize_cartridge()
}
-uint8_t msx_cart_hfox_device::read_cart(offs_t offset)
+READ8_MEMBER(msx_cart_hfox_device::read_cart)
{
if (offset >= 0x4000 && offset < 0xc000)
{
@@ -62,7 +58,7 @@ uint8_t msx_cart_hfox_device::read_cart(offs_t offset)
}
-void msx_cart_hfox_device::write_cart(offs_t offset, uint8_t data)
+WRITE8_MEMBER(msx_cart_hfox_device::write_cart)
{
switch (offset)
{
diff --git a/src/devices/bus/msx_cart/hfox.h b/src/devices/bus/msx_cart/hfox.h
index 6254bae3610..debcbc31308 100644
--- a/src/devices/bus/msx_cart/hfox.h
+++ b/src/devices/bus/msx_cart/hfox.h
@@ -16,14 +16,13 @@ public:
virtual void initialize_cartridge() override;
- virtual uint8_t read_cart(offs_t offset) override;
- virtual void write_cart(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_cart) override;
+ virtual DECLARE_WRITE8_MEMBER(write_cart) override;
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
- virtual void device_post_load() override;
void restore_banks();
diff --git a/src/devices/bus/msx_cart/holy_quran.cpp b/src/devices/bus/msx_cart/holy_quran.cpp
index 046ed194502..4c44656a9e3 100644
--- a/src/devices/bus/msx_cart/holy_quran.cpp
+++ b/src/devices/bus/msx_cart/holy_quran.cpp
@@ -30,12 +30,8 @@ void msx_cart_holy_quran_device::device_start()
{
save_item(NAME(m_selected_bank));
save_item(NAME(m_decrypt));
-}
-
-void msx_cart_holy_quran_device::device_post_load()
-{
- restore_banks();
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_holy_quran_device::restore_banks), this));
}
@@ -68,7 +64,7 @@ void msx_cart_holy_quran_device::initialize_cartridge()
}
-uint8_t msx_cart_holy_quran_device::read_cart(offs_t offset)
+READ8_MEMBER(msx_cart_holy_quran_device::read_cart)
{
if (offset >= 0x4000 && offset < 0xc000)
{
@@ -92,7 +88,7 @@ uint8_t msx_cart_holy_quran_device::read_cart(offs_t offset)
}
-void msx_cart_holy_quran_device::write_cart(offs_t offset, uint8_t data)
+WRITE8_MEMBER(msx_cart_holy_quran_device::write_cart)
{
switch (offset)
{
diff --git a/src/devices/bus/msx_cart/holy_quran.h b/src/devices/bus/msx_cart/holy_quran.h
index 8d63a8271d9..b805282790c 100644
--- a/src/devices/bus/msx_cart/holy_quran.h
+++ b/src/devices/bus/msx_cart/holy_quran.h
@@ -18,14 +18,13 @@ public:
virtual void initialize_cartridge() override;
- virtual uint8_t read_cart(offs_t offset) override;
- virtual void write_cart(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_cart) override;
+ virtual DECLARE_WRITE8_MEMBER(write_cart) override;
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
- virtual void device_post_load() override;
void restore_banks();
diff --git a/src/devices/bus/msx_cart/konami.cpp b/src/devices/bus/msx_cart/konami.cpp
index f5ac42be362..e1d4e35321f 100644
--- a/src/devices/bus/msx_cart/konami.cpp
+++ b/src/devices/bus/msx_cart/konami.cpp
@@ -35,12 +35,8 @@ msx_cart_konami_device::msx_cart_konami_device(const machine_config &mconfig, co
void msx_cart_konami_device::device_start()
{
save_item(NAME(m_selected_bank));
-}
-
-void msx_cart_konami_device::device_post_load()
-{
- restore_banks();
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_konami_device::restore_banks), this));
}
@@ -88,13 +84,13 @@ void msx_cart_konami_device::initialize_cartridge()
}
-uint8_t msx_cart_konami_device::read_cart(offs_t offset)
+READ8_MEMBER(msx_cart_konami_device::read_cart)
{
return m_bank_base[offset >> 13][offset & 0x1fff];
}
-void msx_cart_konami_device::write_cart(offs_t offset, uint8_t data)
+WRITE8_MEMBER(msx_cart_konami_device::write_cart)
{
switch (offset & 0xe000)
{
@@ -145,24 +141,20 @@ msx_cart_konami_scc_device::msx_cart_konami_scc_device(const machine_config &mco
}
-void msx_cart_konami_scc_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_cart_konami_scc_device::device_add_mconfig)
// This is actually incorrect. The sound output is passed back into the MSX machine where it is mixed internally and output through the system 'speaker'.
SPEAKER(config, "mono").front_center();
- K051649(config, m_k051649, XTAL(10'738'635)/3/2).add_route(ALL_OUTPUTS, "mono", 0.15);
-}
+ MCFG_DEVICE_ADD("k051649", K051649, XTAL(10'738'635)/3/2)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.15)
+MACHINE_CONFIG_END
void msx_cart_konami_scc_device::device_start()
{
save_item(NAME(m_selected_bank));
save_item(NAME(m_scc_active));
-}
-
-void msx_cart_konami_scc_device::device_post_load()
-{
- restore_banks();
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_konami_scc_device::restore_banks), this));
}
@@ -211,7 +203,7 @@ void msx_cart_konami_scc_device::initialize_cartridge()
}
-uint8_t msx_cart_konami_scc_device::read_cart(offs_t offset)
+READ8_MEMBER(msx_cart_konami_scc_device::read_cart)
{
if ( m_scc_active && offset >= 0x9800 && offset < 0xa000 )
{
@@ -219,13 +211,13 @@ uint8_t msx_cart_konami_scc_device::read_cart(offs_t offset)
{
if ((offset & 0xff) >= 0xe0)
{
- return m_k051649->k051649_test_r();
+ return m_k051649->k051649_test_r(space, offset & 0xff);
}
return 0xff;
}
else
{
- return m_k051649->k051649_waveform_r(offset & 0x7f);
+ return m_k051649->k051649_waveform_r(space, offset & 0x7f);
}
}
@@ -233,7 +225,7 @@ uint8_t msx_cart_konami_scc_device::read_cart(offs_t offset)
}
-void msx_cart_konami_scc_device::write_cart(offs_t offset, uint8_t data)
+WRITE8_MEMBER(msx_cart_konami_scc_device::write_cart)
{
switch (offset & 0xf800)
{
@@ -263,27 +255,27 @@ void msx_cart_konami_scc_device::write_cart(offs_t offset, uint8_t data)
if (offset < 0x80)
{
- m_k051649->k051649_waveform_w(offset, data);
+ m_k051649->k051649_waveform_w(space, offset, data);
}
else if (offset < 0xa0)
{
offset &= 0x0f;
if (offset < 0x0a)
{
- m_k051649->k051649_frequency_w(offset, data);
+ m_k051649->k051649_frequency_w(space, offset, data);
}
else if (offset < 0x0f)
{
- m_k051649->k051649_volume_w(offset - 0xa, data);
+ m_k051649->k051649_volume_w(space, offset - 0xa, data);
}
else
{
- m_k051649->k051649_keyonoff_w(data);
+ m_k051649->k051649_keyonoff_w(space, 0, data);
}
}
else if (offset >= 0xe0)
{
- m_k051649->k051649_test_w(data);
+ m_k051649->k051649_test_w(space, offset, data);
}
}
break;
@@ -319,12 +311,8 @@ msx_cart_gamemaster2_device::msx_cart_gamemaster2_device(const machine_config &m
void msx_cart_gamemaster2_device::device_start()
{
save_item(NAME(m_selected_bank));
-}
-
-void msx_cart_gamemaster2_device::device_post_load()
-{
- restore_banks();
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_gamemaster2_device::restore_banks), this));
}
@@ -409,7 +397,7 @@ void msx_cart_gamemaster2_device::initialize_cartridge()
}
-uint8_t msx_cart_gamemaster2_device::read_cart(offs_t offset)
+READ8_MEMBER(msx_cart_gamemaster2_device::read_cart)
{
uint8_t bank = offset >> 13;
@@ -443,7 +431,7 @@ uint8_t msx_cart_gamemaster2_device::read_cart(offs_t offset)
}
-void msx_cart_gamemaster2_device::write_cart(offs_t offset, uint8_t data)
+WRITE8_MEMBER(msx_cart_gamemaster2_device::write_cart)
{
switch (offset & 0xf000)
{
@@ -484,15 +472,13 @@ msx_cart_synthesizer_device::msx_cart_synthesizer_device(const machine_config &m
}
-void msx_cart_synthesizer_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_cart_synthesizer_device::device_add_mconfig)
// This is actually incorrect. The sound output is passed back into the MSX machine where it is mixed internally and output through the system 'speaker'.
SPEAKER(config, "speaker").front_center();
- DAC_8BIT_R2R(config, m_dac, 0).add_route(ALL_OUTPUTS, "speaker", 0.1); // unknown DAC
- voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref"));
- vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
- vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT);
-}
+ MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.1) // unknown DAC
+ MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+MACHINE_CONFIG_END
void msx_cart_synthesizer_device::device_start()
@@ -511,7 +497,7 @@ void msx_cart_synthesizer_device::initialize_cartridge()
}
-uint8_t msx_cart_synthesizer_device::read_cart(offs_t offset)
+READ8_MEMBER(msx_cart_synthesizer_device::read_cart)
{
if (offset >= 0x4000 && offset < 0xc000 )
{
@@ -521,7 +507,7 @@ uint8_t msx_cart_synthesizer_device::read_cart(offs_t offset)
}
-void msx_cart_synthesizer_device::write_cart(offs_t offset, uint8_t data)
+WRITE8_MEMBER(msx_cart_synthesizer_device::write_cart)
{
if ((offset & 0xc010) == 0x4000)
{
@@ -559,12 +545,12 @@ msx_cart_konami_sound_device::msx_cart_konami_sound_device(const machine_config
}
-void msx_cart_konami_sound_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_cart_konami_sound_device::device_add_mconfig)
// This is actually incorrect. The sound output is passed back into the MSX machine where it is mixed internally and output through the system 'speaker'.
SPEAKER(config, "mono").front_center();
- K051649(config, m_k052539, XTAL(10'738'635)/3/2).add_route(ALL_OUTPUTS, "mono", 0.15);
-}
+ MCFG_DEVICE_ADD("k052539", K051649, XTAL(10'738'635)/3/2)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.15)
+MACHINE_CONFIG_END
void msx_cart_konami_sound_device::device_start()
@@ -573,12 +559,8 @@ void msx_cart_konami_sound_device::device_start()
save_item(NAME(m_scc_active));
save_item(NAME(m_sccplus_active));
save_item(NAME(m_ram_enabled));
-}
-
-void msx_cart_konami_sound_device::device_post_load()
-{
- restore_banks();
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_konami_sound_device::restore_banks), this));
}
@@ -636,14 +618,14 @@ void msx_cart_konami_sound_device::initialize_cartridge()
}
-uint8_t msx_cart_konami_sound_device::read_cart(offs_t offset)
+READ8_MEMBER(msx_cart_konami_sound_device::read_cart)
{
if ( m_scc_active && offset >= 0x9800 && offset < 0x9fe0 )
{
offset &= 0xff;
if (offset < 0x80)
{
- return m_k052539->k051649_waveform_r(offset);
+ return m_k052539->k051649_waveform_r(space, offset);
}
if (offset < 0xa0)
{
@@ -651,11 +633,11 @@ uint8_t msx_cart_konami_sound_device::read_cart(offs_t offset)
}
if (offset < 0xc0)
{
- return m_k052539->k051649_waveform_r(offset & 0x9f);
+ return m_k052539->k051649_waveform_r(space, offset & 0x9f);
}
if (offset < 0xe0)
{
- return m_k052539->k051649_test_r();
+ return m_k052539->k051649_test_r(space, offset & 0xff);
}
return 0xff;
}
@@ -665,11 +647,11 @@ uint8_t msx_cart_konami_sound_device::read_cart(offs_t offset)
if (offset < 0xa0)
{
- return m_k052539->k052539_waveform_r(offset);
+ return m_k052539->k052539_waveform_r(space, offset);
}
if (offset >= 0xc0 && offset < 0xe0)
{
- return m_k052539->k051649_test_r();
+ return m_k052539->k051649_test_r(space, offset);
}
return 0xff;
}
@@ -684,7 +666,7 @@ uint8_t msx_cart_konami_sound_device::read_cart(offs_t offset)
}
-void msx_cart_konami_sound_device::write_cart(offs_t offset, uint8_t data)
+WRITE8_MEMBER(msx_cart_konami_sound_device::write_cart)
{
switch (offset & 0xe000)
{
@@ -732,27 +714,27 @@ void msx_cart_konami_sound_device::write_cart(offs_t offset, uint8_t data)
if (offset < 0x80)
{
- m_k052539->k051649_waveform_w(offset, data);
+ m_k052539->k051649_waveform_w(space, offset, data);
}
else if (offset < 0xa0)
{
offset &= 0x0f;
if (offset < 0x0a)
{
- m_k052539->k051649_frequency_w(offset, data);
+ m_k052539->k051649_frequency_w(space, offset, data);
}
else if (offset < 0x0f)
{
- m_k052539->k051649_volume_w(offset - 0xa, data);
+ m_k052539->k051649_volume_w(space, offset - 0xa, data);
}
else
{
- m_k052539->k051649_keyonoff_w(data);
+ m_k052539->k051649_keyonoff_w(space, 0, data);
}
}
else if (offset >= 0xe0)
{
- m_k052539->k051649_test_w(data);
+ m_k052539->k051649_test_w(space, offset, data);
}
}
break;
@@ -795,27 +777,27 @@ void msx_cart_konami_sound_device::write_cart(offs_t offset, uint8_t data)
offset &= 0xff;
if (offset < 0xa0)
{
- m_k052539->k052539_waveform_w(offset, data);
+ m_k052539->k052539_waveform_w(space, offset, data);
}
else if (offset < 0xc0)
{
offset &= 0x0f;
if (offset < 0x0a)
{
- m_k052539->k051649_frequency_w(offset, data);
+ m_k052539->k051649_frequency_w(space, offset, data);
}
else if (offset < 0x0f)
{
- m_k052539->k051649_volume_w(offset - 0x0a, data);
+ m_k052539->k051649_volume_w(space, offset - 0x0a, data);
}
else if (offset == 0x0f)
{
- m_k052539->k051649_keyonoff_w(data);
+ m_k052539->k051649_keyonoff_w(space, 0, data);
}
}
else if (offset < 0xe0)
{
- m_k052539->k051649_test_w(data);
+ m_k052539->k051649_test_w(space, offset, data);
}
}
}
@@ -890,22 +872,22 @@ void msx_cart_keyboard_master_device::vlm_map(address_map &map)
}
-void msx_cart_keyboard_master_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_cart_keyboard_master_device::device_add_mconfig)
// This is actually incorrect. The sound output is passed back into the MSX machine where it is mixed internally and output through the system 'speaker'.
SPEAKER(config, "mono").front_center();
- VLM5030(config, m_vlm5030, XTAL(3'579'545));
- m_vlm5030->add_route(ALL_OUTPUTS, "mono", 0.40);
- m_vlm5030->set_addrmap(0, &msx_cart_keyboard_master_device::vlm_map);
-}
+ MCFG_DEVICE_ADD("vlm5030", VLM5030, XTAL(3'579'545))
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
+ MCFG_DEVICE_ADDRESS_MAP(0, vlm_map)
+MACHINE_CONFIG_END
void msx_cart_keyboard_master_device::device_start()
{
// Install IO read/write handlers
- io_space().install_write_handler(0x00, 0x00, write8smo_delegate(FUNC(vlm5030_device::data_w), m_vlm5030.target()));
- io_space().install_write_handler(0x20, 0x20, write8smo_delegate(FUNC(msx_cart_keyboard_master_device::io_20_w), this));
- io_space().install_read_handler(0x00, 0x00, read8smo_delegate(FUNC(msx_cart_keyboard_master_device::io_00_r), this));
+ address_space &space = machine().device<cpu_device>("maincpu")->space(AS_IO);
+ space.install_write_handler(0x00, 0x00, write8_delegate(FUNC(vlm5030_device::data_w), m_vlm5030.target()));
+ space.install_write_handler(0x20, 0x20, write8_delegate(FUNC(msx_cart_keyboard_master_device::io_20_w), this));
+ space.install_read_handler(0x00, 0x00, read8_delegate(FUNC(msx_cart_keyboard_master_device::io_00_r), this));
}
@@ -918,7 +900,7 @@ void msx_cart_keyboard_master_device::initialize_cartridge()
}
-uint8_t msx_cart_keyboard_master_device::read_cart(offs_t offset)
+READ8_MEMBER(msx_cart_keyboard_master_device::read_cart)
{
if (offset >= 0x4000 && offset < 0x8000)
{
@@ -928,13 +910,13 @@ uint8_t msx_cart_keyboard_master_device::read_cart(offs_t offset)
}
-uint8_t msx_cart_keyboard_master_device::read_vlm(offs_t offset)
+READ8_MEMBER(msx_cart_keyboard_master_device::read_vlm)
{
return m_rom_vlm5030[offset];
}
-void msx_cart_keyboard_master_device::io_20_w(uint8_t data)
+WRITE8_MEMBER(msx_cart_keyboard_master_device::io_20_w)
{
m_vlm5030->rst((data & 0x01) ? 1 : 0);
m_vlm5030->vcu((data & 0x04) ? 1 : 0);
@@ -942,7 +924,7 @@ void msx_cart_keyboard_master_device::io_20_w(uint8_t data)
}
-uint8_t msx_cart_keyboard_master_device::io_00_r()
+READ8_MEMBER(msx_cart_keyboard_master_device::io_00_r)
{
return m_vlm5030->bsy() ? 0x10 : 0x00;
}
diff --git a/src/devices/bus/msx_cart/konami.h b/src/devices/bus/msx_cart/konami.h
index 58ad4f3cfb7..3985884f568 100644
--- a/src/devices/bus/msx_cart/konami.h
+++ b/src/devices/bus/msx_cart/konami.h
@@ -25,14 +25,13 @@ public:
virtual void initialize_cartridge() override;
- virtual uint8_t read_cart(offs_t offset) override;
- virtual void write_cart(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_cart) override;
+ virtual DECLARE_WRITE8_MEMBER(write_cart) override;
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
- virtual void device_post_load() override;
void restore_banks();
@@ -50,14 +49,13 @@ public:
virtual void initialize_cartridge() override;
- virtual uint8_t read_cart(offs_t offset) override;
- virtual void write_cart(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_cart) override;
+ virtual DECLARE_WRITE8_MEMBER(write_cart) override;
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
- virtual void device_post_load() override;
virtual void device_add_mconfig(machine_config &config) override;
@@ -80,14 +78,13 @@ public:
virtual void initialize_cartridge() override;
- virtual uint8_t read_cart(offs_t offset) override;
- virtual void write_cart(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_cart) override;
+ virtual DECLARE_WRITE8_MEMBER(write_cart) override;
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
- virtual void device_post_load() override;
void restore_banks();
@@ -106,8 +103,8 @@ public:
virtual void initialize_cartridge() override;
- virtual uint8_t read_cart(offs_t offset) override;
- virtual void write_cart(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_cart) override;
+ virtual DECLARE_WRITE8_MEMBER(write_cart) override;
protected:
// device-level overrides
@@ -126,8 +123,8 @@ class msx_cart_konami_sound_device : public device_t, public msx_cart_interface
public:
virtual void initialize_cartridge() override;
- virtual uint8_t read_cart(offs_t offset) override;
- virtual void write_cart(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_cart) override;
+ virtual DECLARE_WRITE8_MEMBER(write_cart) override;
protected:
msx_cart_konami_sound_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
@@ -135,7 +132,6 @@ protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
- virtual void device_post_load() override;
virtual void device_add_mconfig(machine_config &config) override;
@@ -190,14 +186,14 @@ protected:
virtual void initialize_cartridge() override;
- virtual uint8_t read_cart(offs_t offset) override;
+ virtual DECLARE_READ8_MEMBER(read_cart) override;
private:
required_device<vlm5030_device> m_vlm5030;
- uint8_t read_vlm(offs_t offset);
- void io_20_w(uint8_t data);
- uint8_t io_00_r();
+ DECLARE_READ8_MEMBER(read_vlm);
+ DECLARE_WRITE8_MEMBER(io_20_w);
+ DECLARE_READ8_MEMBER(io_00_r);
void vlm_map(address_map &map);
};
diff --git a/src/devices/bus/msx_cart/korean.cpp b/src/devices/bus/msx_cart/korean.cpp
index 1906a5eb51b..cfa96ecb7aa 100644
--- a/src/devices/bus/msx_cart/korean.cpp
+++ b/src/devices/bus/msx_cart/korean.cpp
@@ -21,12 +21,8 @@ msx_cart_korean_80in1_device::msx_cart_korean_80in1_device(const machine_config
void msx_cart_korean_80in1_device::device_start()
{
save_item(NAME(m_selected_bank));
-}
-
-void msx_cart_korean_80in1_device::device_post_load()
-{
- restore_banks();
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_korean_80in1_device::restore_banks), this));
}
@@ -76,7 +72,7 @@ void msx_cart_korean_80in1_device::initialize_cartridge()
}
-uint8_t msx_cart_korean_80in1_device::read_cart(offs_t offset)
+READ8_MEMBER(msx_cart_korean_80in1_device::read_cart)
{
if (offset >= 0x4000 && offset < 0xc000)
{
@@ -87,7 +83,7 @@ uint8_t msx_cart_korean_80in1_device::read_cart(offs_t offset)
}
-void msx_cart_korean_80in1_device::write_cart(offs_t offset, uint8_t data)
+WRITE8_MEMBER(msx_cart_korean_80in1_device::write_cart)
{
if (offset >= 0x4000 && offset < 0x4004)
{
@@ -116,14 +112,11 @@ void msx_cart_korean_90in1_device::device_start()
{
save_item(NAME(m_selected_bank));
- // Install IO read/write handlers
- io_space().install_write_handler(0x77, 0x77, write8smo_delegate(FUNC(msx_cart_korean_90in1_device::banking), this));
-}
-
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_korean_90in1_device::restore_banks), this));
-void msx_cart_korean_90in1_device::device_post_load()
-{
- restore_banks();
+ // Install IO read/write handlers
+ address_space &space = machine().device<cpu_device>("maincpu")->space(AS_IO);
+ space.install_write_handler(0x77, 0x77, write8_delegate(FUNC(msx_cart_korean_90in1_device::banking), this));
}
@@ -188,7 +181,7 @@ void msx_cart_korean_90in1_device::initialize_cartridge()
}
-uint8_t msx_cart_korean_90in1_device::read_cart(offs_t offset)
+READ8_MEMBER(msx_cart_korean_90in1_device::read_cart)
{
if (offset >= 0x4000 && offset < 0xc000)
{
@@ -199,7 +192,7 @@ uint8_t msx_cart_korean_90in1_device::read_cart(offs_t offset)
}
-void msx_cart_korean_90in1_device::banking(uint8_t data)
+WRITE8_MEMBER(msx_cart_korean_90in1_device::banking)
{
m_selected_bank = data;
restore_banks();
@@ -222,12 +215,8 @@ msx_cart_korean_126in1_device::msx_cart_korean_126in1_device(const machine_confi
void msx_cart_korean_126in1_device::device_start()
{
save_item(NAME(m_selected_bank));
-}
-
-void msx_cart_korean_126in1_device::device_post_load()
-{
- restore_banks();
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_korean_126in1_device::restore_banks), this));
}
@@ -277,7 +266,7 @@ void msx_cart_korean_126in1_device::initialize_cartridge()
}
-uint8_t msx_cart_korean_126in1_device::read_cart(offs_t offset)
+READ8_MEMBER(msx_cart_korean_126in1_device::read_cart)
{
if (offset >= 0x4000 && offset < 0xc000)
{
@@ -288,7 +277,7 @@ uint8_t msx_cart_korean_126in1_device::read_cart(offs_t offset)
}
-void msx_cart_korean_126in1_device::write_cart(offs_t offset, uint8_t data)
+WRITE8_MEMBER(msx_cart_korean_126in1_device::write_cart)
{
if (offset >= 0x4000 && offset < 0x4002)
{
diff --git a/src/devices/bus/msx_cart/korean.h b/src/devices/bus/msx_cart/korean.h
index 62c5a6ba82b..b34438da13e 100644
--- a/src/devices/bus/msx_cart/korean.h
+++ b/src/devices/bus/msx_cart/korean.h
@@ -20,14 +20,13 @@ public:
virtual void initialize_cartridge() override;
- virtual uint8_t read_cart(offs_t offset) override;
- virtual void write_cart(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_cart) override;
+ virtual DECLARE_WRITE8_MEMBER(write_cart) override;
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
- virtual void device_post_load() override;
private:
void restore_banks();
@@ -46,17 +45,16 @@ public:
virtual void initialize_cartridge() override;
- virtual uint8_t read_cart(offs_t offset) override;
+ virtual DECLARE_READ8_MEMBER(read_cart) override;
+
+ DECLARE_WRITE8_MEMBER(banking);
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
- virtual void device_post_load() override;
private:
- void banking(uint8_t data);
-
void restore_banks();
uint8_t m_bank_mask;
@@ -72,14 +70,13 @@ public:
virtual void initialize_cartridge() override;
- virtual uint8_t read_cart(offs_t offset) override;
- virtual void write_cart(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_cart) override;
+ virtual DECLARE_WRITE8_MEMBER(write_cart) override;
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
- virtual void device_post_load() override;
private:
void restore_banks();
diff --git a/src/devices/bus/msx_cart/majutsushi.cpp b/src/devices/bus/msx_cart/majutsushi.cpp
index 66efee9188f..ef76b62af2a 100644
--- a/src/devices/bus/msx_cart/majutsushi.cpp
+++ b/src/devices/bus/msx_cart/majutsushi.cpp
@@ -26,26 +26,20 @@ msx_cart_majutsushi_device::msx_cart_majutsushi_device(const machine_config &mco
}
-void msx_cart_majutsushi_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_cart_majutsushi_device::device_add_mconfig)
// This is actually incorrect. The sound output is passed back into the MSX machine where it is mixed internally and output through the system 'speaker'.
SPEAKER(config, "speaker").front_center();
- DAC_8BIT_R2R(config, m_dac, 0).add_route(ALL_OUTPUTS, "speaker", 0.05); // unknown DAC
- voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref"));
- vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
- vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT);
-}
+ MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.05) // unknown DAC
+ MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+MACHINE_CONFIG_END
void msx_cart_majutsushi_device::device_start()
{
save_item(NAME(m_selected_bank));
-}
-
-void msx_cart_majutsushi_device::device_post_load()
-{
- restore_banks();
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_majutsushi_device::restore_banks), this));
}
@@ -82,13 +76,13 @@ void msx_cart_majutsushi_device::initialize_cartridge()
}
-uint8_t msx_cart_majutsushi_device::read_cart(offs_t offset)
+READ8_MEMBER(msx_cart_majutsushi_device::read_cart)
{
return m_bank_base[offset >> 13][offset & 0x1fff];
}
-void msx_cart_majutsushi_device::write_cart(offs_t offset, uint8_t data)
+WRITE8_MEMBER(msx_cart_majutsushi_device::write_cart)
{
switch (offset & 0xe000)
{
diff --git a/src/devices/bus/msx_cart/majutsushi.h b/src/devices/bus/msx_cart/majutsushi.h
index ebdf549272e..596fac47050 100644
--- a/src/devices/bus/msx_cart/majutsushi.h
+++ b/src/devices/bus/msx_cart/majutsushi.h
@@ -19,14 +19,13 @@ public:
virtual void initialize_cartridge() override;
- virtual uint8_t read_cart(offs_t offset) override;
- virtual void write_cart(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_cart) override;
+ virtual DECLARE_WRITE8_MEMBER(write_cart) override;
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
- virtual void device_post_load() override;
virtual void device_add_mconfig(machine_config &config) override;
diff --git a/src/devices/bus/msx_cart/moonsound.cpp b/src/devices/bus/msx_cart/moonsound.cpp
index e01498c57bc..d8b1fda9a5e 100644
--- a/src/devices/bus/msx_cart/moonsound.cpp
+++ b/src/devices/bus/msx_cart/moonsound.cpp
@@ -67,10 +67,13 @@ const tiny_rom_entry *msx_cart_moonsound_device::device_rom_region() const
void msx_cart_moonsound_device::device_start()
{
+ m_out_irq_cb.resolve_safe();
+
// Install IO read/write handlers
- io_space().install_readwrite_handler(0x7e, 0x7f, read8sm_delegate(FUNC(msx_cart_moonsound_device::read_ymf278b_pcm), this), write8sm_delegate(FUNC(msx_cart_moonsound_device::write_ymf278b_pcm), this));
- io_space().install_readwrite_handler(0xc4, 0xc7, read8sm_delegate(FUNC(msx_cart_moonsound_device::read_ymf278b_fm), this), write8sm_delegate(FUNC(msx_cart_moonsound_device::write_ymf278b_fm), this));
- io_space().install_read_handler(0xc0, 0xc0, read8smo_delegate(FUNC(msx_cart_moonsound_device::read_c0), this));
+ address_space &space = machine().device<cpu_device>("maincpu")->space(AS_IO);
+ space.install_readwrite_handler(0x7e, 0x7f, read8_delegate(FUNC(msx_cart_moonsound_device::read_ymf278b_pcm), this), write8_delegate(FUNC(msx_cart_moonsound_device::write_ymf278b_pcm), this));
+ space.install_readwrite_handler(0xc4, 0xc7, read8_delegate(FUNC(msx_cart_moonsound_device::read_ymf278b_fm), this), write8_delegate(FUNC(msx_cart_moonsound_device::write_ymf278b_fm), this));
+ space.install_read_handler(0xc0, 0xc0, read8_delegate(FUNC(msx_cart_moonsound_device::read_c0), this));
}
@@ -82,40 +85,40 @@ void msx_cart_moonsound_device::device_reset()
WRITE_LINE_MEMBER(msx_cart_moonsound_device::irq_w)
{
LOG("moonsound: irq state %d\n", state);
- irq_out(state);
+ m_out_irq_cb(state);
}
-void msx_cart_moonsound_device::write_ymf278b_fm(offs_t offset, uint8_t data)
+WRITE8_MEMBER(msx_cart_moonsound_device::write_ymf278b_fm)
{
LOG("moonsound: write 0x%02x, data 0x%02x\n", 0xc4 + offset, data);
- m_ymf278b->write(offset, data);
+ m_ymf278b->write(space, offset, data);
}
-uint8_t msx_cart_moonsound_device::read_ymf278b_fm(offs_t offset)
+READ8_MEMBER(msx_cart_moonsound_device::read_ymf278b_fm)
{
LOG("moonsound: read 0x%02x\n", 0xc4 + offset);
- return m_ymf278b->read(offset);
+ return m_ymf278b->read(space, offset);
}
-void msx_cart_moonsound_device::write_ymf278b_pcm(offs_t offset, uint8_t data)
+WRITE8_MEMBER(msx_cart_moonsound_device::write_ymf278b_pcm)
{
LOG("moonsound: write 0x%02x, data 0x%02x\n", 0x7e + offset, data);
- m_ymf278b->write(4 + offset, data);
+ m_ymf278b->write(space, 4 + offset, data);
}
-uint8_t msx_cart_moonsound_device::read_ymf278b_pcm(offs_t offset)
+READ8_MEMBER(msx_cart_moonsound_device::read_ymf278b_pcm)
{
LOG("moonsound: read 0x%02x\n", 0x7e + offset);
- return m_ymf278b->read(4 + offset);
+ return m_ymf278b->read(space, 4 + offset);
}
// For detecting presence of moonsound cartridge
-uint8_t msx_cart_moonsound_device::read_c0()
+READ8_MEMBER(msx_cart_moonsound_device::read_c0)
{
LOG("moonsound: read 0xc0\n");
return 0x00;
diff --git a/src/devices/bus/msx_cart/moonsound.h b/src/devices/bus/msx_cart/moonsound.h
index ca30dfb5c35..02f16c94ed3 100644
--- a/src/devices/bus/msx_cart/moonsound.h
+++ b/src/devices/bus/msx_cart/moonsound.h
@@ -27,11 +27,11 @@ protected:
private:
DECLARE_WRITE_LINE_MEMBER(irq_w);
- void write_ymf278b_fm(offs_t offset, uint8_t data);
- uint8_t read_ymf278b_fm(offs_t offset);
- void write_ymf278b_pcm(offs_t offset, uint8_t data);
- uint8_t read_ymf278b_pcm(offs_t offset);
- uint8_t read_c0();
+ DECLARE_WRITE8_MEMBER(write_ymf278b_fm);
+ DECLARE_READ8_MEMBER(read_ymf278b_fm);
+ DECLARE_WRITE8_MEMBER(write_ymf278b_pcm);
+ DECLARE_READ8_MEMBER(read_ymf278b_pcm);
+ DECLARE_READ8_MEMBER(read_c0);
void ymf278b_map(address_map &map);
diff --git a/src/devices/bus/msx_cart/msx_audio.cpp b/src/devices/bus/msx_cart/msx_audio.cpp
index 679c035b014..61f96ff1eaa 100644
--- a/src/devices/bus/msx_cart/msx_audio.cpp
+++ b/src/devices/bus/msx_cart/msx_audio.cpp
@@ -96,8 +96,9 @@ void msx_cart_msx_audio_hxmu900_device::device_add_mconfig(machine_config &confi
void msx_cart_msx_audio_hxmu900_device::device_start()
{
// Install IO read/write handlers
- io_space().install_write_handler(0xc0, 0xc1, write8sm_delegate(FUNC(y8950_device::write), m_y8950.target()));
- io_space().install_read_handler(0xc0, 0xc1, read8sm_delegate(FUNC(y8950_device::read), m_y8950.target()));
+ address_space &space = machine().device<cpu_device>("maincpu")->space(AS_IO);
+ space.install_write_handler(0xc0, 0xc1, write8_delegate(FUNC(y8950_device::write), m_y8950.target()));
+ space.install_read_handler(0xc0, 0xc1, read8_delegate(FUNC(y8950_device::read), m_y8950.target()));
}
@@ -110,7 +111,7 @@ void msx_cart_msx_audio_hxmu900_device::initialize_cartridge()
}
-uint8_t msx_cart_msx_audio_hxmu900_device::read_cart(offs_t offset)
+READ8_MEMBER(msx_cart_msx_audio_hxmu900_device::read_cart)
{
if (offset >= 0x4000 && offset < 0xC000)
{
@@ -200,10 +201,11 @@ WRITE_LINE_MEMBER(msx_cart_msx_audio_nms1205_device::midi_in)
void msx_cart_msx_audio_nms1205_device::device_start()
{
// Install IO read/write handlers
- io_space().install_write_handler(0xc0, 0xc1, write8sm_delegate(FUNC(y8950_device::write), m_y8950.target()));
- io_space().install_read_handler(0xc0, 0xc1, read8sm_delegate(FUNC(y8950_device::read), m_y8950.target()));
- io_space().install_write_handler(0x00, 0x01, write8sm_delegate(FUNC(acia6850_device::write), m_acia6850.target()));
- io_space().install_read_handler(0x04, 0x05, read8sm_delegate(FUNC(acia6850_device::read), m_acia6850.target()));
+ address_space &space = machine().device<cpu_device>("maincpu")->space(AS_IO);
+ space.install_write_handler(0xc0, 0xc1, write8_delegate(FUNC(y8950_device::write), m_y8950.target()));
+ space.install_read_handler(0xc0, 0xc1, read8_delegate(FUNC(y8950_device::read), m_y8950.target()));
+ space.install_write_handler(0x00, 0x01, write8_delegate(FUNC(acia6850_device::write), m_acia6850.target()));
+ space.install_read_handler(0x04, 0x05, read8_delegate(FUNC(acia6850_device::read), m_acia6850.target()));
}
@@ -216,7 +218,7 @@ void msx_cart_msx_audio_nms1205_device::initialize_cartridge()
}
-uint8_t msx_cart_msx_audio_nms1205_device::read_cart(offs_t offset)
+READ8_MEMBER(msx_cart_msx_audio_nms1205_device::read_cart)
{
if (offset >= 0x4000 && offset < 0xC000)
{
@@ -287,8 +289,9 @@ const tiny_rom_entry *msx_cart_msx_audio_fsca1_device::device_rom_region() const
void msx_cart_msx_audio_fsca1_device::device_start()
{
// Install IO read/write handlers
- io_space().install_write_handler(0xc0, 0xc3, write8sm_delegate(FUNC(msx_cart_msx_audio_fsca1_device::write_y8950), this));
- io_space().install_read_handler(0xc0, 0xc3, read8sm_delegate(FUNC(msx_cart_msx_audio_fsca1_device::read_y8950), this));
+ address_space &space = machine().device<cpu_device>("maincpu")->space(AS_IO);
+ space.install_write_handler(0xc0, 0xc3, write8_delegate(FUNC(msx_cart_msx_audio_fsca1_device::write_y8950), this));
+ space.install_read_handler(0xc0, 0xc3, read8_delegate(FUNC(msx_cart_msx_audio_fsca1_device::read_y8950), this));
}
@@ -301,7 +304,7 @@ void msx_cart_msx_audio_fsca1_device::initialize_cartridge()
}
-uint8_t msx_cart_msx_audio_fsca1_device::read_cart(offs_t offset)
+READ8_MEMBER(msx_cart_msx_audio_fsca1_device::read_cart)
{
if (m_7ffe == 0 && (offset & 0xB000) == 0x3000)
{
@@ -311,7 +314,7 @@ uint8_t msx_cart_msx_audio_fsca1_device::read_cart(offs_t offset)
}
-void msx_cart_msx_audio_fsca1_device::write_cart(offs_t offset, uint8_t data)
+WRITE8_MEMBER(msx_cart_msx_audio_fsca1_device::write_cart)
{
if (offset == 0x7ffe)
{
@@ -335,45 +338,45 @@ void msx_cart_msx_audio_fsca1_device::write_cart(offs_t offset, uint8_t data)
}
-void msx_cart_msx_audio_fsca1_device::write_y8950(offs_t offset, uint8_t data)
+WRITE8_MEMBER(msx_cart_msx_audio_fsca1_device::write_y8950)
{
if (offset & 2)
{
if (m_7fff & 0x02)
{
- m_y8950->write(offset, data);
+ m_y8950->write(space, offset, data);
}
}
else
{
if (m_7fff & 0x01)
{
- m_y8950->write(offset, data);
+ m_y8950->write(space, offset, data);
}
}
}
-uint8_t msx_cart_msx_audio_fsca1_device::read_y8950(offs_t offset)
+READ8_MEMBER(msx_cart_msx_audio_fsca1_device::read_y8950)
{
if (offset & 2)
{
- return (m_7fff & 0x02) ? m_y8950->read(offset) : 0xff;
+ return (m_7fff & 0x02) ? m_y8950->read(space, offset) : 0xff;
}
else
{
- return (m_7fff & 0x01) ? m_y8950->read(offset) : 0xff;
+ return (m_7fff & 0x01) ? m_y8950->read(space, offset) : 0xff;
}
}
-void msx_cart_msx_audio_fsca1_device::y8950_io_w(uint8_t data)
+WRITE8_MEMBER(msx_cart_msx_audio_fsca1_device::y8950_io_w)
{
logerror("msx_fsca1::y8950_io_w: %02x\n", data);
}
-uint8_t msx_cart_msx_audio_fsca1_device::y8950_io_r()
+READ8_MEMBER(msx_cart_msx_audio_fsca1_device::y8950_io_r)
{
return m_io_config->read();
}
diff --git a/src/devices/bus/msx_cart/msx_audio.h b/src/devices/bus/msx_cart/msx_audio.h
index 3aeee7cddf1..d9fc89baa8c 100644
--- a/src/devices/bus/msx_cart/msx_audio.h
+++ b/src/devices/bus/msx_cart/msx_audio.h
@@ -23,7 +23,7 @@ public:
virtual void initialize_cartridge() override;
- virtual uint8_t read_cart(offs_t offset) override;
+ virtual DECLARE_READ8_MEMBER(read_cart) override;
protected:
virtual void device_start() override;
@@ -44,7 +44,7 @@ public:
virtual void initialize_cartridge() override;
- virtual uint8_t read_cart(offs_t offset) override;
+ virtual DECLARE_READ8_MEMBER(read_cart) override;
protected:
virtual void device_start() override;
@@ -71,8 +71,8 @@ public:
virtual void initialize_cartridge() override;
- virtual uint8_t read_cart(offs_t offset) override;
- virtual void write_cart(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_cart) override;
+ virtual DECLARE_WRITE8_MEMBER(write_cart) override;
protected:
virtual void device_start() override;
@@ -82,12 +82,12 @@ protected:
virtual ioport_constructor device_input_ports() const override;
virtual const tiny_rom_entry *device_rom_region() const override;
-private:
- void write_y8950(offs_t offset, uint8_t data);
- uint8_t read_y8950(offs_t offset);
+ DECLARE_WRITE8_MEMBER(write_y8950);
+ DECLARE_READ8_MEMBER(read_y8950);
- void y8950_io_w(uint8_t data);
- uint8_t y8950_io_r();
+private:
+ DECLARE_WRITE8_MEMBER(y8950_io_w);
+ DECLARE_READ8_MEMBER(y8950_io_r);
required_device<y8950_device> m_y8950;
required_ioport m_io_config;
diff --git a/src/devices/bus/msx_cart/msx_audio_kb.cpp b/src/devices/bus/msx_cart/msx_audio_kb.cpp
index 68303c56667..9bbae0aab93 100644
--- a/src/devices/bus/msx_cart/msx_audio_kb.cpp
+++ b/src/devices/bus/msx_cart/msx_audio_kb.cpp
@@ -21,20 +21,20 @@ void msx_audio_kbdc_port_device::device_start()
}
-void msx_audio_kbdc_port_device::write(uint8_t data)
+WRITE8_MEMBER(msx_audio_kbdc_port_device::write)
{
if (m_keyboard)
{
- m_keyboard->write(data);
+ m_keyboard->write(space, offset, data);
}
}
-uint8_t msx_audio_kbdc_port_device::read()
+READ8_MEMBER(msx_audio_kbdc_port_device::read)
{
if (m_keyboard)
{
- return m_keyboard->read();
+ return m_keyboard->read(space, offset);
}
return 0xff;
}
@@ -57,7 +57,7 @@ public:
virtual ioport_constructor device_input_ports() const override;
- virtual uint8_t read() override
+ virtual DECLARE_READ8_MEMBER(read) override
{
uint8_t result = 0xff;
@@ -71,7 +71,7 @@ public:
return result;
}
- virtual void write(uint8_t data) override
+ virtual DECLARE_WRITE8_MEMBER(write) override
{
m_row = data;
}
@@ -187,7 +187,7 @@ public:
virtual ioport_constructor device_input_ports() const override;
- virtual uint8_t read() override
+ virtual DECLARE_READ8_MEMBER(read) override
{
uint8_t result = 0xff;
@@ -201,7 +201,7 @@ public:
return result;
}
- virtual void write(uint8_t data) override
+ virtual DECLARE_WRITE8_MEMBER(write) override
{
logerror("msx_nms1160::write %02x\n", data);
m_row = data;
diff --git a/src/devices/bus/msx_cart/msx_audio_kb.h b/src/devices/bus/msx_cart/msx_audio_kb.h
index 93a2d026214..25f0a2d24f8 100644
--- a/src/devices/bus/msx_cart/msx_audio_kb.h
+++ b/src/devices/bus/msx_cart/msx_audio_kb.h
@@ -10,8 +10,9 @@ DECLARE_DEVICE_TYPE(MSX_AUDIO_KBDC_PORT, msx_audio_kbdc_port_device)
class msx_audio_kb_port_interface : public device_slot_card_interface
{
public:
- virtual uint8_t read() { return 0xff; }
- virtual void write(uint8_t data) { }
+
+ virtual DECLARE_READ8_MEMBER(read) { return 0xff; }
+ virtual DECLARE_WRITE8_MEMBER(write) { }
protected:
// construction/destruction
@@ -38,8 +39,8 @@ public:
virtual void device_start() override;
// Physical connection simply consists of 8 input and 8 output lines split across 2 connectors
- void write(uint8_t data);
- uint8_t read();
+ DECLARE_WRITE8_MEMBER(write);
+ DECLARE_READ8_MEMBER(read);
protected:
diff --git a/src/devices/bus/msx_cart/msxdos2.cpp b/src/devices/bus/msx_cart/msxdos2.cpp
index 7f3e506b007..f4e391f66e9 100644
--- a/src/devices/bus/msx_cart/msxdos2.cpp
+++ b/src/devices/bus/msx_cart/msxdos2.cpp
@@ -18,12 +18,8 @@ msx_cart_msxdos2_device::msx_cart_msxdos2_device(const machine_config &mconfig,
void msx_cart_msxdos2_device::device_start()
{
save_item(NAME(m_selected_bank));
-}
-
-void msx_cart_msxdos2_device::device_post_load()
-{
- restore_banks();
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_msxdos2_device::restore_banks), this));
}
@@ -50,7 +46,7 @@ void msx_cart_msxdos2_device::initialize_cartridge()
}
-uint8_t msx_cart_msxdos2_device::read_cart(offs_t offset)
+READ8_MEMBER(msx_cart_msxdos2_device::read_cart)
{
if (offset >= 0x4000 && offset < 0x8000)
{
@@ -61,7 +57,7 @@ uint8_t msx_cart_msxdos2_device::read_cart(offs_t offset)
}
-void msx_cart_msxdos2_device::write_cart(offs_t offset, uint8_t data)
+WRITE8_MEMBER(msx_cart_msxdos2_device::write_cart)
{
if (offset == 0x6000)
{
diff --git a/src/devices/bus/msx_cart/msxdos2.h b/src/devices/bus/msx_cart/msxdos2.h
index dd5eb51d245..b30fbb70bd8 100644
--- a/src/devices/bus/msx_cart/msxdos2.h
+++ b/src/devices/bus/msx_cart/msxdos2.h
@@ -18,14 +18,13 @@ public:
virtual void initialize_cartridge() override;
- virtual uint8_t read_cart(offs_t offset) override;
- virtual void write_cart(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_cart) override;
+ virtual DECLARE_WRITE8_MEMBER(write_cart) override;
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
- virtual void device_post_load() override;
void restore_banks();
diff --git a/src/devices/bus/msx_cart/nomapper.cpp b/src/devices/bus/msx_cart/nomapper.cpp
index 24ebbb38e0d..5152464cbc4 100644
--- a/src/devices/bus/msx_cart/nomapper.cpp
+++ b/src/devices/bus/msx_cart/nomapper.cpp
@@ -84,7 +84,7 @@ void msx_cart_nomapper_device::initialize_cartridge()
m_end_address = std::min<uint32_t>(m_start_address + size, 0x10000);
}
-uint8_t msx_cart_nomapper_device::read_cart(offs_t offset)
+READ8_MEMBER(msx_cart_nomapper_device::read_cart)
{
if ( offset >= m_start_address && offset < m_end_address )
{
diff --git a/src/devices/bus/msx_cart/nomapper.h b/src/devices/bus/msx_cart/nomapper.h
index eb5e40e1d08..7b29b6a69b3 100644
--- a/src/devices/bus/msx_cart/nomapper.h
+++ b/src/devices/bus/msx_cart/nomapper.h
@@ -21,7 +21,7 @@ public:
virtual void initialize_cartridge() override;
- virtual uint8_t read_cart(offs_t offset) override;
+ virtual DECLARE_READ8_MEMBER(read_cart) override;
private:
uint32_t m_start_address;
diff --git a/src/devices/bus/msx_cart/rtype.cpp b/src/devices/bus/msx_cart/rtype.cpp
index 6cda0efb4e8..3853cfeed9a 100644
--- a/src/devices/bus/msx_cart/rtype.cpp
+++ b/src/devices/bus/msx_cart/rtype.cpp
@@ -21,12 +21,8 @@ msx_cart_rtype_device::msx_cart_rtype_device(const machine_config &mconfig, cons
void msx_cart_rtype_device::device_start()
{
save_item(NAME(m_selected_bank));
-}
-
-void msx_cart_rtype_device::device_post_load()
-{
- restore_banks();
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_rtype_device::restore_banks), this));
}
@@ -58,7 +54,7 @@ void msx_cart_rtype_device::initialize_cartridge()
}
-uint8_t msx_cart_rtype_device::read_cart(offs_t offset)
+READ8_MEMBER(msx_cart_rtype_device::read_cart)
{
if (offset >= 0x4000 && offset < 0xc000)
{
@@ -68,7 +64,7 @@ uint8_t msx_cart_rtype_device::read_cart(offs_t offset)
}
-void msx_cart_rtype_device::write_cart(offs_t offset, uint8_t data)
+WRITE8_MEMBER(msx_cart_rtype_device::write_cart)
{
if (offset >= 0x7000 && offset < 0x8000)
{
diff --git a/src/devices/bus/msx_cart/rtype.h b/src/devices/bus/msx_cart/rtype.h
index 31583455a0a..435d8666273 100644
--- a/src/devices/bus/msx_cart/rtype.h
+++ b/src/devices/bus/msx_cart/rtype.h
@@ -18,14 +18,13 @@ public:
virtual void initialize_cartridge() override;
- virtual uint8_t read_cart(offs_t offset) override;
- virtual void write_cart(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_cart) override;
+ virtual DECLARE_WRITE8_MEMBER(write_cart) override;
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
- virtual void device_post_load() override;
void restore_banks();
diff --git a/src/devices/bus/msx_cart/super_swangi.cpp b/src/devices/bus/msx_cart/super_swangi.cpp
index a64b0648195..75ee75be6a0 100644
--- a/src/devices/bus/msx_cart/super_swangi.cpp
+++ b/src/devices/bus/msx_cart/super_swangi.cpp
@@ -19,12 +19,8 @@ msx_cart_super_swangi_device::msx_cart_super_swangi_device(const machine_config
void msx_cart_super_swangi_device::device_start()
{
save_item(NAME(m_selected_bank));
-}
-
-void msx_cart_super_swangi_device::device_post_load()
-{
- restore_banks();
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_super_swangi_device::restore_banks), this));
}
@@ -52,7 +48,7 @@ void msx_cart_super_swangi_device::initialize_cartridge()
}
-uint8_t msx_cart_super_swangi_device::read_cart(offs_t offset)
+READ8_MEMBER(msx_cart_super_swangi_device::read_cart)
{
if (offset >= 0x4000 && offset < 0xc000)
{
@@ -62,7 +58,7 @@ uint8_t msx_cart_super_swangi_device::read_cart(offs_t offset)
}
-void msx_cart_super_swangi_device::write_cart(offs_t offset, uint8_t data)
+WRITE8_MEMBER(msx_cart_super_swangi_device::write_cart)
{
if (offset == 0x8000)
{
diff --git a/src/devices/bus/msx_cart/super_swangi.h b/src/devices/bus/msx_cart/super_swangi.h
index f0f5ee216bd..cf3b9f3b7c9 100644
--- a/src/devices/bus/msx_cart/super_swangi.h
+++ b/src/devices/bus/msx_cart/super_swangi.h
@@ -18,14 +18,13 @@ public:
virtual void initialize_cartridge() override;
- virtual uint8_t read_cart(offs_t offset) override;
- virtual void write_cart(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_cart) override;
+ virtual DECLARE_WRITE8_MEMBER(write_cart) override;
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
- virtual void device_post_load() override;
void restore_banks();
diff --git a/src/devices/bus/msx_cart/superloderunner.cpp b/src/devices/bus/msx_cart/superloderunner.cpp
index b846a935953..51289c24f10 100644
--- a/src/devices/bus/msx_cart/superloderunner.cpp
+++ b/src/devices/bus/msx_cart/superloderunner.cpp
@@ -19,14 +19,11 @@ void msx_cart_superloderunner_device::device_start()
{
save_item(NAME(m_selected_bank));
- // Install evil memory write handler
- memory_space().install_write_handler(0x0000, 0x0000, write8smo_delegate(FUNC(msx_cart_superloderunner_device::banking), this));
-}
-
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_superloderunner_device::restore_banks), this));
-void msx_cart_superloderunner_device::device_post_load()
-{
- restore_banks();
+ // Install evil memory write handler
+ address_space &space = machine().device<cpu_device>("maincpu")->space(AS_PROGRAM);
+ space.install_write_handler(0x0000, 0x0000, write8_delegate(FUNC(msx_cart_superloderunner_device::banking), this));
}
@@ -47,7 +44,7 @@ void msx_cart_superloderunner_device::initialize_cartridge()
}
-uint8_t msx_cart_superloderunner_device::read_cart(offs_t offset)
+READ8_MEMBER(msx_cart_superloderunner_device::read_cart)
{
if (offset >= 0x8000 && offset < 0xc000)
{
@@ -58,7 +55,7 @@ uint8_t msx_cart_superloderunner_device::read_cart(offs_t offset)
}
-void msx_cart_superloderunner_device::banking(uint8_t data)
+WRITE8_MEMBER(msx_cart_superloderunner_device::banking)
{
m_selected_bank = data;
restore_banks();
diff --git a/src/devices/bus/msx_cart/superloderunner.h b/src/devices/bus/msx_cart/superloderunner.h
index bd763ca2c08..b8e73535ebf 100644
--- a/src/devices/bus/msx_cart/superloderunner.h
+++ b/src/devices/bus/msx_cart/superloderunner.h
@@ -18,18 +18,17 @@ public:
virtual void initialize_cartridge() override;
- virtual uint8_t read_cart(offs_t offset) override;
+ virtual DECLARE_READ8_MEMBER(read_cart) override;
+
+ DECLARE_WRITE8_MEMBER(banking);
protected:
// device-level overrides
virtual void device_start() override;
- virtual void device_post_load() override;
void restore_banks();
private:
- void banking(uint8_t data);
-
uint8_t m_selected_bank;
uint8_t *m_bank_base;
};
diff --git a/src/devices/bus/msx_cart/yamaha.cpp b/src/devices/bus/msx_cart/yamaha.cpp
index 9296779f1b3..e6f7dc844fe 100644
--- a/src/devices/bus/msx_cart/yamaha.cpp
+++ b/src/devices/bus/msx_cart/yamaha.cpp
@@ -131,22 +131,22 @@ void msx_cart_sfg_device::check_irq()
{
if (m_ym2151_irq_state != CLEAR_LINE || m_ym2148_irq_state != CLEAR_LINE)
{
- irq_out(ASSERT_LINE);
+ m_out_irq_cb(ASSERT_LINE);
}
else
{
- irq_out(CLEAR_LINE);
+ m_out_irq_cb(CLEAR_LINE);
}
}
-uint8_t msx_cart_sfg_device::read_cart(offs_t offset)
+READ8_MEMBER(msx_cart_sfg_device::read_cart)
{
switch (offset & 0x3fff)
{
case 0x3ff0: // YM-2151 status read
case 0x3ff1: // YM-2151 status read mirror?
- return m_ym2151->status_r();
+ return m_ym2151->status_r(space, 0);
case 0x3ff2: // YM-2148 keyboard column read
case 0x3ff3: // YM-2148 --
@@ -155,7 +155,7 @@ uint8_t msx_cart_sfg_device::read_cart(offs_t offset)
case 0x3ff6: // YM-2148 MIDI UART status register
// ------x- - 1 = received a byte/receive buffer full?
// -------x - 1 = ready to send next byte/send buffer empty?
- return m_ym2148->read(offset & 7);
+ return m_ym2148->read(space, offset & 7);
}
if (offset < 0x8000)
@@ -167,16 +167,16 @@ uint8_t msx_cart_sfg_device::read_cart(offs_t offset)
}
-void msx_cart_sfg_device::write_cart(offs_t offset, uint8_t data)
+WRITE8_MEMBER(msx_cart_sfg_device::write_cart)
{
switch (offset & 0x3fff)
{
case 0x3ff0: // YM-2151 register
- m_ym2151->register_w(data);
+ m_ym2151->register_w(space, 0, data);
break;
case 0x3ff1: // YM-2151 data
- m_ym2151->data_w(data);
+ m_ym2151->data_w(space, 0, data);
break;
case 0x3ff2: // YM-2148 write keyboard row
@@ -191,7 +191,7 @@ void msx_cart_sfg_device::write_cart(offs_t offset, uint8_t data)
// x------- - 1 = reset
// -----x-- - 1 = enable receiving / sending midi data
// -------x - 1 = enable receiving / sending midi data
- m_ym2148->write(offset & 7, data);
+ m_ym2148->write(space, offset & 7, data);
break;
default:
diff --git a/src/devices/bus/msx_cart/yamaha.h b/src/devices/bus/msx_cart/yamaha.h
index e5072dc5dcf..b8f30bf057f 100644
--- a/src/devices/bus/msx_cart/yamaha.h
+++ b/src/devices/bus/msx_cart/yamaha.h
@@ -18,9 +18,8 @@ DECLARE_DEVICE_TYPE(MSX_CART_SFG05, msx_cart_sfg05_device)
class msx_cart_sfg_device : public device_t, public msx_cart_interface
{
public:
- virtual uint8_t read_cart(offs_t offset) override;
- virtual void write_cart(offs_t offset, uint8_t data) override;
-
+ virtual DECLARE_READ8_MEMBER(read_cart) override;
+ virtual DECLARE_WRITE8_MEMBER(write_cart) override;
protected:
msx_cart_sfg_device(const machine_config &mconfig, const device_type type, const char *tag, device_t *owner, uint32_t clock);
diff --git a/src/devices/bus/msx_slot/bunsetsu.cpp b/src/devices/bus/msx_slot/bunsetsu.cpp
index 79a07b2e53a..a2f8a131a54 100644
--- a/src/devices/bus/msx_slot/bunsetsu.cpp
+++ b/src/devices/bus/msx_slot/bunsetsu.cpp
@@ -25,17 +25,17 @@ void msx_slot_bunsetsu_device::device_reset()
}
-uint8_t msx_slot_bunsetsu_device::read(offs_t offset)
+READ8_MEMBER(msx_slot_bunsetsu_device::read)
{
if (offset == 0xbfff)
{
return m_bunsetsu_region[m_bunsetsu_address++ & 0x1ffff];
}
- return msx_slot_rom_device::read(offset);
+ return msx_slot_rom_device::read(space, offset);
}
-void msx_slot_bunsetsu_device::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(msx_slot_bunsetsu_device::write)
{
switch (offset)
{
diff --git a/src/devices/bus/msx_slot/bunsetsu.h b/src/devices/bus/msx_slot/bunsetsu.h
index df0bcedb32f..70649340824 100644
--- a/src/devices/bus/msx_slot/bunsetsu.h
+++ b/src/devices/bus/msx_slot/bunsetsu.h
@@ -12,6 +12,11 @@
DECLARE_DEVICE_TYPE(MSX_SLOT_BUNSETSU, msx_slot_bunsetsu_device)
+#define MCFG_MSX_SLOT_BUNSETSU_ADD(_tag, _startpage, _numpages, _region, _offset, _bunsetsu_region_tag) \
+ MCFG_MSX_INTERNAL_SLOT_ADD(_tag, MSX_SLOT_BUNSETSU, _startpage, _numpages) \
+ downcast<msx_slot_rom_device &>(*device).set_rom_start(_region, _offset); \
+ downcast<msx_slot_bunsetsu_device &>(*device).set_bunsetsu_region_tag(_bunsetsu_region_tag);
+
class msx_slot_bunsetsu_device : public msx_slot_rom_device
{
public:
@@ -20,8 +25,8 @@ public:
// configuration helpers
void set_bunsetsu_region_tag(const char *tag) { m_bunsetsu_region.set_tag(tag); }
- virtual uint8_t read(offs_t offset) override;
- virtual void write(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read) override;
+ virtual DECLARE_WRITE8_MEMBER(write) override;
protected:
virtual void device_reset() override;
diff --git a/src/devices/bus/msx_slot/cartridge.cpp b/src/devices/bus/msx_slot/cartridge.cpp
index 87b89f93c78..522ea6f4548 100644
--- a/src/devices/bus/msx_slot/cartridge.cpp
+++ b/src/devices/bus/msx_slot/cartridge.cpp
@@ -43,7 +43,7 @@ msx_slot_cartridge_device::msx_slot_cartridge_device(const machine_config &mconf
: device_t(mconfig, type, tag, owner, clock)
, device_image_interface(mconfig, *this)
, device_slot_interface(mconfig, *this)
- , msx_internal_slot_interface(mconfig, *this)
+ , msx_internal_slot_interface()
, m_irq_handler(*this)
, m_cartridge(nullptr)
{
@@ -90,17 +90,10 @@ static const char *msx_cart_get_slot_option(int type)
}
-void msx_slot_cartridge_device::device_resolve_objects()
+void msx_slot_cartridge_device::device_start()
{
m_irq_handler.resolve_safe();
m_cartridge = dynamic_cast<msx_cart_interface *>(get_card_device());
- if (m_cartridge)
- m_cartridge->m_exp = this;
-}
-
-
-void msx_slot_cartridge_device::device_start()
-{
}
@@ -176,7 +169,7 @@ image_init_result msx_slot_cartridge_device::call_load()
}
}
- m_cartridge->m_exp = this;
+ m_cartridge->set_out_irq_cb(DEVCB_WRITELINE(*this, msx_slot_cartridge_device, irq_out));
m_cartridge->initialize_cartridge();
if (m_cartridge->get_sram_size() > 0)
@@ -338,21 +331,21 @@ std::string msx_slot_cartridge_device::get_default_card_software(get_default_car
}
-uint8_t msx_slot_cartridge_device::read(offs_t offset)
+READ8_MEMBER(msx_slot_cartridge_device::read)
{
if ( m_cartridge )
{
- return m_cartridge->read_cart(offset);
+ return m_cartridge->read_cart(space, offset);
}
return 0xFF;
}
-void msx_slot_cartridge_device::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(msx_slot_cartridge_device::write)
{
if ( m_cartridge )
{
- m_cartridge->write_cart(offset, data);
+ m_cartridge->write_cart(space, offset, data);
}
}
@@ -367,4 +360,8 @@ msx_slot_yamaha_expansion_device::msx_slot_yamaha_expansion_device(const machine
void msx_slot_yamaha_expansion_device::device_start()
{
+ m_irq_handler.resolve_safe();
+ m_cartridge = dynamic_cast<msx_cart_interface *>(get_card_device());
+ if (m_cartridge)
+ m_cartridge->set_out_irq_cb(DEVCB_WRITELINE(*this, msx_slot_cartridge_device, irq_out));
}
diff --git a/src/devices/bus/msx_slot/cartridge.h b/src/devices/bus/msx_slot/cartridge.h
index faabf394042..be0856e8d82 100644
--- a/src/devices/bus/msx_slot/cartridge.h
+++ b/src/devices/bus/msx_slot/cartridge.h
@@ -14,6 +14,18 @@ DECLARE_DEVICE_TYPE(MSX_SLOT_CARTRIDGE, msx_slot_cartridge_device)
DECLARE_DEVICE_TYPE(MSX_SLOT_YAMAHA_EXPANSION, msx_slot_yamaha_expansion_device)
+#define MCFG_MSX_SLOT_CARTRIDGE_ADD(_tag, _devcb) \
+ MCFG_DEVICE_ADD(_tag, MSX_SLOT_CARTRIDGE, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(msx_cart, nullptr, false) \
+ downcast<msx_slot_cartridge_device &>(*device).set_irq_handler(DEVCB_##_devcb);
+
+
+#define MCFG_MSX_SLOT_YAMAHA_EXPANSION_ADD(_tag, _devcb, _default) \
+ MCFG_DEVICE_ADD(_tag, MSX_SLOT_YAMAHA_EXPANSION, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(msx_yamaha_60pin, _default, false) \
+ downcast<msx_slot_cartridge_device &>(*device).set_irq_handler(DEVCB_##_devcb);
+
+
class msx_slot_cartridge_device : public device_t
, public device_image_interface
, public device_slot_interface
@@ -23,8 +35,8 @@ public:
// construction/destruction
msx_slot_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // configuration helpers
- auto irq_handler() { return m_irq_handler.bind(); }
+ // static configuration helpers
+ template <class Object> devcb_base &set_irq_handler(Object &&cb) { return m_irq_handler.set_callback(std::forward<Object>(cb)); }
// image-level overrides
virtual image_init_result call_load() override;
@@ -45,8 +57,8 @@ public:
virtual std::string get_default_card_software(get_default_card_software_hook &hook) const override;
// msx_internal_slot-level overrides
- virtual uint8_t read(offs_t offset) override;
- virtual void write(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read) override;
+ virtual DECLARE_WRITE8_MEMBER(write) override;
DECLARE_WRITE_LINE_MEMBER(irq_out);
@@ -54,7 +66,6 @@ protected:
msx_slot_cartridge_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void device_resolve_objects() override;
virtual void device_start() override;
devcb_write_line m_irq_handler;
diff --git a/src/devices/bus/msx_slot/disk.cpp b/src/devices/bus/msx_slot/disk.cpp
index 309b7f2d80f..39ec248e3f2 100644
--- a/src/devices/bus/msx_slot/disk.cpp
+++ b/src/devices/bus/msx_slot/disk.cpp
@@ -137,6 +137,8 @@ void msx_slot_disk1_device::device_start()
save_item(NAME(m_side_control));
save_item(NAME(m_control));
+
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_slot_disk1_device::post_load), this));
}
@@ -146,7 +148,7 @@ void msx_slot_disk1_device::device_reset()
}
-void msx_slot_disk1_device::device_post_load()
+void msx_slot_disk1_device::post_load()
{
uint8_t data = m_control;
@@ -205,7 +207,7 @@ void msx_slot_disk1_device::set_control(uint8_t data)
}
-uint8_t msx_slot_disk1_device::read(offs_t offset)
+READ8_MEMBER(msx_slot_disk1_device::read)
{
switch (offset)
{
@@ -238,11 +240,11 @@ uint8_t msx_slot_disk1_device::read(offs_t offset)
return 0x3f | (m_fdc->intrq_r() ? 0 : 0x40) | (m_fdc->drq_r() ? 0 : 0x80);
}
- return msx_slot_rom_device::read(offset);
+ return msx_slot_rom_device::read(space, offset);
}
-void msx_slot_disk1_device::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(msx_slot_disk1_device::write)
{
switch (offset)
{
@@ -296,6 +298,8 @@ void msx_slot_disk2_device::device_start()
msx_slot_wd_disk_device::device_start();
save_item(NAME(m_control));
+
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_slot_disk2_device::post_load), this));
}
@@ -305,7 +309,7 @@ void msx_slot_disk2_device::device_reset()
}
-void msx_slot_disk2_device::device_post_load()
+void msx_slot_disk2_device::post_load()
{
uint8_t data = m_control;
@@ -352,7 +356,7 @@ void msx_slot_disk2_device::set_control(uint8_t data)
}
-uint8_t msx_slot_disk2_device::read(offs_t offset)
+READ8_MEMBER(msx_slot_disk2_device::read)
{
switch (offset)
{
@@ -377,11 +381,11 @@ uint8_t msx_slot_disk2_device::read(offs_t offset)
return 0x3f | (m_fdc->drq_r() ? 0 : 0x40) | (m_fdc->intrq_r() ? 0x80 : 0);
}
- return msx_slot_rom_device::read(offset);
+ return msx_slot_rom_device::read(space, offset);
}
-void msx_slot_disk2_device::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(msx_slot_disk2_device::write)
{
switch (offset)
{
@@ -427,20 +431,20 @@ msx_slot_disk3_device::msx_slot_disk3_device(const machine_config &mconfig, cons
}
-void msx_slot_disk3_device::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(msx_slot_disk3_device::write)
{
switch (offset)
{
case 0x7ff8: // CR0 : 0 - 0 - MEN1 - MEN0 - 0 - -FRST - 0 - DSA
- m_fdc->dor_w(data);
+ m_fdc->dor_w(space, 2, data);
break;
case 0x7ff9: // CR1 : 0 - 0 - C4E - C4 - SBME - SBM - TCE - FDCTC
- m_fdc->cr1_w(data);
+ m_fdc->cr1_w(space, 3, data);
break;
case 0x7ffb: // Data Register
- m_fdc->fifo_w(data);
+ m_fdc->fifo_w(space, 5, data);
break;
default:
@@ -450,17 +454,17 @@ void msx_slot_disk3_device::write(offs_t offset, uint8_t data)
}
-uint8_t msx_slot_disk3_device::read(offs_t offset)
+READ8_MEMBER(msx_slot_disk3_device::read)
{
switch (offset)
{
case 0x7ffa: // Status Register
- return m_fdc->msr_r();
+ return m_fdc->msr_r(space, 4);
case 0x7ffb: // Data Register
- return m_fdc->fifo_r();
+ return m_fdc->fifo_r(space, 5);
}
- return msx_slot_rom_device::read(offset);
+ return msx_slot_rom_device::read(space, offset);
}
@@ -473,7 +477,7 @@ msx_slot_disk4_device::msx_slot_disk4_device(const machine_config &mconfig, cons
}
-void msx_slot_disk4_device::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(msx_slot_disk4_device::write)
{
switch (offset)
{
@@ -481,15 +485,15 @@ void msx_slot_disk4_device::write(offs_t offset, uint8_t data)
break;
case 0x7ff2: // CR0 : 0 - 0 - MEN1 - MEN0 - 0 - -FRST - 0 - DSA
- m_fdc->dor_w(data);
+ m_fdc->dor_w(space, 2, data);
break;
case 0x7ff3: // CR1 : 0 - 0 - C4E - C4 - SBME - SBM - TCE - FDCTC
- m_fdc->cr1_w(data);
+ m_fdc->cr1_w(space, 3, data);
break;
case 0x7ff5: // Data Register
- m_fdc->fifo_w(data);
+ m_fdc->fifo_w(space, 5, data);
break;
default:
@@ -499,7 +503,7 @@ void msx_slot_disk4_device::write(offs_t offset, uint8_t data)
}
-uint8_t msx_slot_disk4_device::read(offs_t offset)
+READ8_MEMBER(msx_slot_disk4_device::read)
{
switch (offset)
{
@@ -508,12 +512,12 @@ uint8_t msx_slot_disk4_device::read(offs_t offset)
break;
case 0x7ff4: // Status Register
- return m_fdc->msr_r();
+ return m_fdc->msr_r(space, 4);
case 0x7ff5: // Data Register
- return m_fdc->fifo_r();
+ return m_fdc->fifo_r(space, 5);
}
- return msx_slot_rom_device::read(offset);
+ return msx_slot_rom_device::read(space, offset);
}
@@ -532,9 +536,12 @@ void msx_slot_disk5_device::device_start()
save_item(NAME(m_control));
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_slot_disk5_device::post_load), this));
+
// Install IO read/write handlers
- io_space().install_write_handler(0xd0, 0xd4, write8sm_delegate(FUNC(msx_slot_disk5_device::io_write), this));
- io_space().install_read_handler(0xd0, 0xd4, read8sm_delegate(FUNC(msx_slot_disk5_device::io_read), this));
+ address_space &space = machine().device<cpu_device>("maincpu")->space(AS_IO);
+ space.install_write_handler(0xd0, 0xd4, write8_delegate(FUNC(msx_slot_disk5_device::io_write), this));
+ space.install_read_handler(0xd0, 0xd4, read8_delegate(FUNC(msx_slot_disk5_device::io_read), this));
}
@@ -544,7 +551,7 @@ void msx_slot_disk5_device::device_reset()
}
-void msx_slot_disk5_device::device_post_load()
+void msx_slot_disk5_device::post_load()
{
set_control(m_control);
}
@@ -587,7 +594,7 @@ void msx_slot_disk5_device::set_control(uint8_t control)
}
-uint8_t msx_slot_disk5_device::io_read(offs_t offset)
+READ8_MEMBER(msx_slot_disk5_device::io_read)
{
switch (offset)
{
@@ -611,7 +618,7 @@ uint8_t msx_slot_disk5_device::io_read(offs_t offset)
}
-void msx_slot_disk5_device::io_write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(msx_slot_disk5_device::io_write)
{
switch (offset)
{
@@ -655,6 +662,8 @@ void msx_slot_disk6_device::device_start()
save_item(NAME(m_side_motor));
save_item(NAME(m_drive_select0));
save_item(NAME(m_drive_select1));
+
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_slot_disk6_device::post_load), this));
}
@@ -664,7 +673,7 @@ void msx_slot_disk6_device::device_reset()
}
-void msx_slot_disk6_device::device_post_load()
+void msx_slot_disk6_device::post_load()
{
select_drive();
}
@@ -706,7 +715,7 @@ void msx_slot_disk6_device::set_side_motor()
}
-uint8_t msx_slot_disk6_device::read(offs_t offset)
+READ8_MEMBER(msx_slot_disk6_device::read)
{
switch (offset)
{
@@ -748,11 +757,11 @@ uint8_t msx_slot_disk6_device::read(offs_t offset)
return 0x3f | (m_fdc->intrq_r() ? 0 : 0x40) | (m_fdc->drq_r() ? 0 : 0x80);
}
- return msx_slot_rom_device::read(offset);
+ return msx_slot_rom_device::read(space, offset);
}
-void msx_slot_disk6_device::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(msx_slot_disk6_device::write)
{
switch (offset)
{
diff --git a/src/devices/bus/msx_slot/disk.h b/src/devices/bus/msx_slot/disk.h
index 184ea2caf66..3b949f159e2 100644
--- a/src/devices/bus/msx_slot/disk.h
+++ b/src/devices/bus/msx_slot/disk.h
@@ -26,6 +26,51 @@ DECLARE_DEVICE_TYPE(MSX_SLOT_DISK5, msx_slot_disk5_device)
DECLARE_DEVICE_TYPE(MSX_SLOT_DISK6, msx_slot_disk6_device)
+#define MCFG_MSX_SLOT_DISK1_ADD(_tag, _startpage, _numpages, _region, _offset, _fdc_tag, _floppy0_tag, _floppy1_tag) \
+ MCFG_MSX_INTERNAL_SLOT_ADD(_tag, MSX_SLOT_DISK1, _startpage, _numpages) \
+ downcast<msx_slot_rom_device &>(*device).set_rom_start(_region, _offset); \
+ downcast<msx_slot_disk_device &>(*device).set_fdc_tag(_fdc_tag); \
+ downcast<msx_slot_disk_device &>(*device).set_floppy0_tag(_floppy0_tag); \
+ downcast<msx_slot_disk_device &>(*device).set_floppy1_tag(_floppy1_tag);
+
+#define MCFG_MSX_SLOT_DISK2_ADD(_tag, _startpage, _numpages, _region, _offset, _fdc_tag, _floppy0_tag, _floppy1_tag) \
+ MCFG_MSX_INTERNAL_SLOT_ADD(_tag, MSX_SLOT_DISK2, _startpage, _numpages) \
+ downcast<msx_slot_rom_device &>(*device).set_rom_start(_region, _offset); \
+ downcast<msx_slot_disk_device &>(*device).set_fdc_tag(_fdc_tag); \
+ downcast<msx_slot_disk_device &>(*device).set_floppy0_tag(_floppy0_tag); \
+ downcast<msx_slot_disk_device &>(*device).set_floppy1_tag(_floppy1_tag);
+
+#define MCFG_MSX_SLOT_DISK3_ADD(_tag, _startpage, _numpages, _region, _offset, _fdc_tag, _floppy0_tag, _floppy1_tag) \
+ MCFG_MSX_INTERNAL_SLOT_ADD(_tag, MSX_SLOT_DISK3, _startpage, _numpages) \
+ downcast<msx_slot_rom_device &>(*device).set_rom_start(_region, _offset); \
+ downcast<msx_slot_disk_device &>(*device).set_fdc_tag(_fdc_tag); \
+ downcast<msx_slot_disk_device &>(*device).set_floppy0_tag(_floppy0_tag); \
+ downcast<msx_slot_disk_device &>(*device).set_floppy1_tag(_floppy1_tag);
+
+#define MCFG_MSX_SLOT_DISK4_ADD(_tag, _startpage, _numpages, _region, _offset, _fdc_tag, _floppy0_tag, _floppy1_tag) \
+ MCFG_MSX_INTERNAL_SLOT_ADD(_tag, MSX_SLOT_DISK4, _startpage, _numpages) \
+ downcast<msx_slot_rom_device &>(*device).set_rom_start(_region, _offset); \
+ downcast<msx_slot_disk_device &>(*device).set_fdc_tag(_fdc_tag); \
+ downcast<msx_slot_disk_device &>(*device).set_floppy0_tag(_floppy0_tag); \
+ downcast<msx_slot_disk_device &>(*device).set_floppy1_tag(_floppy1_tag);
+
+#define MCFG_MSX_SLOT_DISK5_ADD(_tag, _startpage, _numpages, _region, _offset, _fdc_tag, _floppy0_tag, _floppy1_tag, _floppy2_tag, _floppy3_tag) \
+ MCFG_MSX_INTERNAL_SLOT_ADD(_tag, MSX_SLOT_DISK5, _startpage, _numpages) \
+ downcast<msx_slot_rom_device &>(*device).set_rom_start(_region, _offset); \
+ downcast<msx_slot_disk_device &>(*device).set_fdc_tag(_fdc_tag); \
+ downcast<msx_slot_disk_device &>(*device).set_floppy0_tag(_floppy0_tag); \
+ downcast<msx_slot_disk_device &>(*device).set_floppy1_tag(_floppy1_tag); \
+ downcast<msx_slot_disk_device &>(*device).set_floppy2_tag(_floppy2_tag); \
+ downcast<msx_slot_disk_device &>(*device).set_floppy3_tag(_floppy3_tag);
+
+#define MCFG_MSX_SLOT_DISK6_ADD(_tag, _startpage, _numpages, _region, _offset, _fdc_tag, _floppy0_tag, _floppy1_tag) \
+ MCFG_MSX_INTERNAL_SLOT_ADD(_tag, MSX_SLOT_DISK6, _startpage, _numpages) \
+ downcast<msx_slot_rom_device &>(*device).set_rom_start(_region, _offset); \
+ downcast<msx_slot_disk_device &>(*device).set_fdc_tag(_fdc_tag); \
+ downcast<msx_slot_disk_device &>(*device).set_floppy0_tag(_floppy0_tag); \
+ downcast<msx_slot_disk_device &>(*device).set_floppy1_tag(_floppy1_tag);
+
+
class msx_slot_disk_device : public msx_slot_rom_device
{
public:
@@ -36,21 +81,6 @@ public:
void set_floppy2_tag(const char *tag) { m_floppy2_tag = tag; }
void set_floppy3_tag(const char *tag) { m_floppy3_tag = tag; }
- void set_tags(const char *fdc_tag, const char *floppy0_tag, const char *floppy1_tag)
- {
- m_fdc_tag = fdc_tag;
- m_floppy0_tag = floppy0_tag;
- m_floppy1_tag = floppy1_tag;
- }
- void set_tags(const char *fdc_tag, const char *floppy0_tag, const char *floppy1_tag, const char *floppy2_tag, const char *floppy3_tag)
- {
- m_fdc_tag = fdc_tag;
- m_floppy0_tag = floppy0_tag;
- m_floppy1_tag = floppy1_tag;
- m_floppy2_tag = floppy2_tag;
- m_floppy3_tag = floppy3_tag;
- }
-
protected:
msx_slot_disk_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
@@ -98,13 +128,14 @@ class msx_slot_disk1_device : public msx_slot_wd_disk_device
public:
msx_slot_disk1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read(offs_t offset) override;
- virtual void write(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read) override;
+ virtual DECLARE_WRITE8_MEMBER(write) override;
protected:
virtual void device_start() override;
virtual void device_reset() override;
- virtual void device_post_load() override;
+
+ void post_load();
private:
uint8_t m_side_control;
@@ -120,13 +151,14 @@ class msx_slot_disk2_device : public msx_slot_wd_disk_device
public:
msx_slot_disk2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read(offs_t offset) override;
- virtual void write(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read) override;
+ virtual DECLARE_WRITE8_MEMBER(write) override;
protected:
virtual void device_start() override;
virtual void device_reset() override;
- virtual void device_post_load() override;
+
+ void post_load();
private:
uint8_t m_control;
@@ -140,8 +172,8 @@ class msx_slot_disk3_device : public msx_slot_tc8566_disk_device
public:
msx_slot_disk3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read(offs_t offset) override;
- virtual void write(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read) override;
+ virtual DECLARE_WRITE8_MEMBER(write) override;
};
@@ -150,8 +182,8 @@ class msx_slot_disk4_device : public msx_slot_tc8566_disk_device
public:
msx_slot_disk4_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read(offs_t offset) override;
- virtual void write(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read) override;
+ virtual DECLARE_WRITE8_MEMBER(write) override;
};
@@ -160,15 +192,16 @@ class msx_slot_disk5_device : public msx_slot_wd_disk_device
public:
msx_slot_disk5_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ DECLARE_READ8_MEMBER(io_read);
+ DECLARE_WRITE8_MEMBER(io_write);
+
protected:
virtual void device_start() override;
virtual void device_reset() override;
- virtual void device_post_load() override;
-private:
- uint8_t io_read(offs_t offset);
- void io_write(offs_t offset, uint8_t data);
+ void post_load();
+private:
uint8_t m_control;
void set_control(uint8_t control);
@@ -180,13 +213,14 @@ class msx_slot_disk6_device : public msx_slot_wd_disk_device
public:
msx_slot_disk6_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read(offs_t offset) override;
- virtual void write(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read) override;
+ virtual DECLARE_WRITE8_MEMBER(write) override;
protected:
virtual void device_start() override;
virtual void device_reset() override;
- virtual void device_post_load() override;
+
+ void post_load();
private:
uint8_t m_side_motor;
diff --git a/src/devices/bus/msx_slot/fs4600.cpp b/src/devices/bus/msx_slot/fs4600.cpp
index a7470fc2a78..dc975cdd4ba 100644
--- a/src/devices/bus/msx_slot/fs4600.cpp
+++ b/src/devices/bus/msx_slot/fs4600.cpp
@@ -13,7 +13,7 @@ DEFINE_DEVICE_TYPE(MSX_SLOT_FS4600, msx_slot_fs4600_device, "msx_slot_fs4600", "
msx_slot_fs4600_device::msx_slot_fs4600_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
: device_t(mconfig, MSX_SLOT_FS4600, tag, owner, clock)
- , msx_internal_slot_interface(mconfig, *this)
+ , msx_internal_slot_interface()
, m_nvram(*this, "nvram")
, m_rom_region(*this, finder_base::DUMMY_TAG)
, m_region_offset(0)
@@ -48,12 +48,8 @@ void msx_slot_fs4600_device::device_start()
save_item(NAME(m_sram_address));
save_item(NAME(m_control));
- restore_banks();
-}
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_slot_fs4600_device::restore_banks), this));
-
-void msx_slot_fs4600_device::device_post_load()
-{
restore_banks();
}
@@ -67,7 +63,7 @@ void msx_slot_fs4600_device::restore_banks()
}
-uint8_t msx_slot_fs4600_device::read(offs_t offset)
+READ8_MEMBER(msx_slot_fs4600_device::read)
{
if ((m_control & 0x02) && ((offset & 0x3fff) == 0x3ffd))
{
@@ -81,7 +77,7 @@ uint8_t msx_slot_fs4600_device::read(offs_t offset)
}
-void msx_slot_fs4600_device::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(msx_slot_fs4600_device::write)
{
if (offset == 0x7ff9)
{
diff --git a/src/devices/bus/msx_slot/fs4600.h b/src/devices/bus/msx_slot/fs4600.h
index 4b571c2ef56..c92bd7a3a1f 100644
--- a/src/devices/bus/msx_slot/fs4600.h
+++ b/src/devices/bus/msx_slot/fs4600.h
@@ -12,6 +12,10 @@
DECLARE_DEVICE_TYPE(MSX_SLOT_FS4600, msx_slot_fs4600_device)
+#define MCFG_MSX_SLOT_FS4600_ADD(_tag, _startpage, _numpages, _region, _offset) \
+ MCFG_MSX_INTERNAL_SLOT_ADD(_tag, MSX_SLOT_FS4600, _startpage, _numpages) \
+ downcast<msx_slot_fs4600_device &>(*device).set_rom_start(_region, _offset);
+
class msx_slot_fs4600_device : public device_t, public msx_internal_slot_interface
{
public:
@@ -20,12 +24,11 @@ public:
// configuration helpers
void set_rom_start(const char *region, uint32_t offset) { m_rom_region.set_tag(region); m_region_offset = offset; }
- virtual uint8_t read(offs_t offset) override;
- virtual void write(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read) override;
+ virtual DECLARE_WRITE8_MEMBER(write) override;
protected:
virtual void device_start() override;
- virtual void device_post_load() override;
virtual void device_add_mconfig(machine_config &config) override;
diff --git a/src/devices/bus/msx_slot/music.cpp b/src/devices/bus/msx_slot/music.cpp
index 0e3ae00b0f3..1e526dab7eb 100644
--- a/src/devices/bus/msx_slot/music.cpp
+++ b/src/devices/bus/msx_slot/music.cpp
@@ -32,17 +32,18 @@ void msx_slot_music_device::device_start()
}
// Install IO read/write handlers
- io_space().install_write_handler(0x7c, 0x7d, write8sm_delegate(FUNC(msx_slot_music_device::write_ym2413), this));
+ address_space &space = machine().device<cpu_device>("maincpu")->space(AS_IO);
+ space.install_write_handler(0x7c, 0x7d, write8_delegate(FUNC(msx_slot_music_device::write_ym2413), this));
}
-uint8_t msx_slot_music_device::read(offs_t offset)
+READ8_MEMBER(msx_slot_music_device::read)
{
- return msx_slot_rom_device::read(offset);
+ return msx_slot_rom_device::read(space, offset);
}
-void msx_slot_music_device::write_ym2413(offs_t offset, uint8_t data)
+WRITE8_MEMBER(msx_slot_music_device::write_ym2413)
{
- m_ym2413->write(offset & 1, data);
+ m_ym2413->write(space, offset & 1, data);
}
diff --git a/src/devices/bus/msx_slot/music.h b/src/devices/bus/msx_slot/music.h
index 385e568c4e5..ae2ddc979d0 100644
--- a/src/devices/bus/msx_slot/music.h
+++ b/src/devices/bus/msx_slot/music.h
@@ -13,6 +13,11 @@
DECLARE_DEVICE_TYPE(MSX_SLOT_MUSIC, msx_slot_music_device)
+#define MCFG_MSX_SLOT_MUSIC_ADD(_tag, _startpage, _numpages, _region, _offset, _ym2413_tag) \
+ MCFG_MSX_INTERNAL_SLOT_ADD(_tag, MSX_SLOT_MUSIC, _startpage, _numpages) \
+ downcast<msx_slot_rom_device &>(*device).set_rom_start(_region, _offset); \
+ downcast<msx_slot_music_device &>(*device).set_ym2413_tag(_ym2413_tag);
+
class msx_slot_music_device : public msx_slot_rom_device
{
public:
@@ -21,14 +26,14 @@ public:
// configuration helpers
void set_ym2413_tag(const char *tag) { m_ym2413_tag = tag; }
- virtual uint8_t read(offs_t offset) override;
+ virtual DECLARE_READ8_MEMBER(read) override;
+
+ DECLARE_WRITE8_MEMBER(write_ym2413);
protected:
virtual void device_start() override;
private:
- void write_ym2413(offs_t offset, uint8_t data);
-
ym2413_device *m_ym2413;
const char *m_ym2413_tag;
};
diff --git a/src/devices/bus/msx_slot/panasonic08.cpp b/src/devices/bus/msx_slot/panasonic08.cpp
index 0c46350051e..450f4fce1de 100644
--- a/src/devices/bus/msx_slot/panasonic08.cpp
+++ b/src/devices/bus/msx_slot/panasonic08.cpp
@@ -18,7 +18,7 @@ DEFINE_DEVICE_TYPE(MSX_SLOT_PANASONIC08, msx_slot_panasonic08_device, "msx_slot_
msx_slot_panasonic08_device::msx_slot_panasonic08_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
: device_t(mconfig, MSX_SLOT_PANASONIC08, tag, owner, clock)
- , msx_internal_slot_interface(mconfig, *this)
+ , msx_internal_slot_interface()
, m_nvram(*this, "nvram")
, m_rom_region(*this, finder_base::DUMMY_TAG)
, m_region_offset(0)
@@ -56,12 +56,8 @@ void msx_slot_panasonic08_device::device_start()
save_item(NAME(m_selected_bank));
save_item(NAME(m_control));
- restore_banks();
-}
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_slot_panasonic08_device::restore_banks), this));
-
-void msx_slot_panasonic08_device::device_post_load()
-{
restore_banks();
}
@@ -89,7 +85,7 @@ void msx_slot_panasonic08_device::restore_banks()
}
-uint8_t msx_slot_panasonic08_device::read(offs_t offset)
+READ8_MEMBER(msx_slot_panasonic08_device::read)
{
if (m_control & 0x04)
{
@@ -108,7 +104,7 @@ uint8_t msx_slot_panasonic08_device::read(offs_t offset)
}
-void msx_slot_panasonic08_device::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(msx_slot_panasonic08_device::write)
{
if ((offset & 0xc000) == 0x8000 || (offset & 0xc000) == 0x0000)
{
diff --git a/src/devices/bus/msx_slot/panasonic08.h b/src/devices/bus/msx_slot/panasonic08.h
index b21a4964e3b..33da0b6620b 100644
--- a/src/devices/bus/msx_slot/panasonic08.h
+++ b/src/devices/bus/msx_slot/panasonic08.h
@@ -12,6 +12,10 @@
DECLARE_DEVICE_TYPE(MSX_SLOT_PANASONIC08, msx_slot_panasonic08_device)
+#define MCFG_MSX_SLOT_PANASONIC08_ADD(_tag, _startpage, _numpages, _region, _offset) \
+ MCFG_MSX_INTERNAL_SLOT_ADD(_tag, MSX_SLOT_PANASONIC08, _startpage, _numpages) \
+ downcast<msx_slot_panasonic08_device &>(*device).set_rom_start(_region, _offset);
+
class msx_slot_panasonic08_device : public device_t, public msx_internal_slot_interface
{
public:
@@ -20,12 +24,11 @@ public:
// configuration helpers
void set_rom_start(const char *region, uint32_t offset) { m_rom_region.set_tag(region); m_region_offset = offset; }
- virtual uint8_t read(offs_t offset) override;
- virtual void write(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read) override;
+ virtual DECLARE_WRITE8_MEMBER(write) override;
protected:
virtual void device_start() override;
- virtual void device_post_load() override;
virtual void device_add_mconfig(machine_config &config) override;
diff --git a/src/devices/bus/msx_slot/ram.cpp b/src/devices/bus/msx_slot/ram.cpp
index 835a5551b92..a113dab1d39 100644
--- a/src/devices/bus/msx_slot/ram.cpp
+++ b/src/devices/bus/msx_slot/ram.cpp
@@ -8,7 +8,7 @@ DEFINE_DEVICE_TYPE(MSX_SLOT_RAM, msx_slot_ram_device, "msx_slot_ram", "MSX Inter
msx_slot_ram_device::msx_slot_ram_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
: device_t(mconfig, MSX_SLOT_RAM, tag, owner, clock)
- , msx_internal_slot_interface(mconfig, *this)
+ , msx_internal_slot_interface()
{
}
@@ -18,7 +18,7 @@ void msx_slot_ram_device::device_start()
save_item(NAME(m_ram));
}
-uint8_t msx_slot_ram_device::read(offs_t offset)
+READ8_MEMBER(msx_slot_ram_device::read)
{
if ( offset >= m_start_address && offset < m_end_address )
{
@@ -27,7 +27,7 @@ uint8_t msx_slot_ram_device::read(offs_t offset)
return 0xFF;
}
-void msx_slot_ram_device::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(msx_slot_ram_device::write)
{
if ( offset >= m_start_address && offset < m_end_address )
{
diff --git a/src/devices/bus/msx_slot/ram.h b/src/devices/bus/msx_slot/ram.h
index f96271ad066..17bff978148 100644
--- a/src/devices/bus/msx_slot/ram.h
+++ b/src/devices/bus/msx_slot/ram.h
@@ -5,17 +5,23 @@
#include "slot.h"
+#define MCFG_MSX_SLOT_RAM_ADD(_tag, _startpage, _numpages) \
+ MCFG_MSX_INTERNAL_SLOT_ADD(_tag, MSX_SLOT_RAM, _startpage, _numpages)
+
+#define MCFG_MSX_SLOT_RAM_8KB \
+ downcast<msx_slot_ram_device &>(*device).force_start_address(0xe000);
+
+
class msx_slot_ram_device : public device_t,
public msx_internal_slot_interface
{
public:
msx_slot_ram_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // Set to 0xe000 for 8KB RAM
void force_start_address(uint16_t start) { m_start_address = start; }
- virtual uint8_t read(offs_t offset) override;
- virtual void write(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read) override;
+ virtual DECLARE_WRITE8_MEMBER(write) override;
protected:
virtual void device_start() override;
diff --git a/src/devices/bus/msx_slot/ram_mm.cpp b/src/devices/bus/msx_slot/ram_mm.cpp
index ade67f6eb66..1b765c832f2 100644
--- a/src/devices/bus/msx_slot/ram_mm.cpp
+++ b/src/devices/bus/msx_slot/ram_mm.cpp
@@ -7,7 +7,7 @@ DEFINE_DEVICE_TYPE(MSX_SLOT_RAM_MM, msx_slot_ram_mm_device, "msx_slot_ram_mm", "
msx_slot_ram_mm_device::msx_slot_ram_mm_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
: device_t(mconfig, MSX_SLOT_RAM_MM, tag, owner, clock)
- , msx_internal_slot_interface(mconfig, *this)
+ , msx_internal_slot_interface()
, m_total_size(0)
, m_bank_mask(0)
, m_ramio_set_bits(0)
@@ -40,14 +40,12 @@ void msx_slot_ram_mm_device::device_start()
save_item(NAME(m_ram));
save_item(NAME(m_bank_selected));
- // Install IO read/write handlers
- io_space().install_read_handler(0xFC, 0xFF, read8sm_delegate(FUNC(msx_slot_ram_mm_device::read_mapper_bank), this));
- io_space().install_write_handler(0xFC, 0xFF, write8sm_delegate(FUNC(msx_slot_ram_mm_device::write_mapper_bank), this));
-}
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_slot_ram_mm_device::restore_banks), this));
-void msx_slot_ram_mm_device::device_post_load()
-{
- restore_banks();
+ // Install IO read/write handlers
+ address_space &space = machine().device<cpu_device>("maincpu")->space(AS_IO);
+ space.install_read_handler(0xFC, 0xFF, read8_delegate(FUNC(msx_slot_ram_mm_device::read_mapper_bank), this));
+ space.install_write_handler(0xFC, 0xFF, write8_delegate(FUNC(msx_slot_ram_mm_device::write_mapper_bank), this));
}
void msx_slot_ram_mm_device::restore_banks()
@@ -58,22 +56,22 @@ void msx_slot_ram_mm_device::restore_banks()
}
}
-uint8_t msx_slot_ram_mm_device::read(offs_t offset)
+READ8_MEMBER(msx_slot_ram_mm_device::read)
{
return m_bank_base[offset >> 14][offset & 0x3fff];
}
-void msx_slot_ram_mm_device::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(msx_slot_ram_mm_device::write)
{
m_bank_base[offset >> 14][offset & 0x3fff] = data;
}
-uint8_t msx_slot_ram_mm_device::read_mapper_bank(offs_t offset)
+READ8_MEMBER(msx_slot_ram_mm_device::read_mapper_bank)
{
return m_bank_selected[offset & 3] | m_ramio_set_bits;
}
-void msx_slot_ram_mm_device::write_mapper_bank(offs_t offset, uint8_t data)
+WRITE8_MEMBER(msx_slot_ram_mm_device::write_mapper_bank)
{
offset &= 3;
diff --git a/src/devices/bus/msx_slot/ram_mm.h b/src/devices/bus/msx_slot/ram_mm.h
index 55f13659a4c..87837909b2d 100644
--- a/src/devices/bus/msx_slot/ram_mm.h
+++ b/src/devices/bus/msx_slot/ram_mm.h
@@ -5,27 +5,33 @@
#include "slot.h"
+#define MCFG_MSX_SLOT_RAM_MM_ADD(_tag, _total_size) \
+ MCFG_MSX_INTERNAL_SLOT_ADD(_tag, MSX_SLOT_RAM_MM, 0, 4) \
+ downcast<msx_slot_ram_mm_device &>(*device).set_total_size(_total_size);
+
+#define MCFG_MSX_SLOT_RAMM_SET_RAMIO_BITS(_ramio_set_bits) \
+ downcast<msx_slot_ram_mm_device &>(*device).set_ramio_set_bits(_ramio_set_bits);
+
class msx_slot_ram_mm_device : public device_t, public msx_internal_slot_interface
{
public:
msx_slot_ram_mm_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- msx_slot_ram_mm_device &set_total_size(uint32_t total_size) { m_total_size = total_size; return *this; }
- msx_slot_ram_mm_device &set_ramio_bits(uint8_t ramio_set_bits) { m_ramio_set_bits = ramio_set_bits; return *this; }
+ void set_total_size(uint32_t total_size) { m_total_size = total_size; }
+ void set_ramio_set_bits(uint8_t ramio_set_bits) { m_ramio_set_bits = ramio_set_bits; }
- virtual uint8_t read(offs_t offset) override;
- virtual void write(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read) override;
+ virtual DECLARE_WRITE8_MEMBER(write) override;
+
+ DECLARE_READ8_MEMBER(read_mapper_bank);
+ DECLARE_WRITE8_MEMBER(write_mapper_bank);
protected:
virtual void device_start() override;
- virtual void device_post_load() override;
void restore_banks();
private:
- uint8_t read_mapper_bank(offs_t offset);
- void write_mapper_bank(offs_t offset, uint8_t data);
-
std::vector<uint8_t> m_ram;
uint32_t m_total_size;
uint8_t m_bank_mask;
diff --git a/src/devices/bus/msx_slot/rom.cpp b/src/devices/bus/msx_slot/rom.cpp
index aafc37b345b..186077edb55 100644
--- a/src/devices/bus/msx_slot/rom.cpp
+++ b/src/devices/bus/msx_slot/rom.cpp
@@ -15,7 +15,7 @@ msx_slot_rom_device::msx_slot_rom_device(const machine_config &mconfig, const ch
msx_slot_rom_device::msx_slot_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
: device_t(mconfig, type, tag, owner, clock)
- , msx_internal_slot_interface(mconfig, *this)
+ , msx_internal_slot_interface()
, m_rom_region(*this, finder_base::DUMMY_TAG)
, m_region_offset(0)
, m_rom(nullptr)
@@ -35,7 +35,7 @@ void msx_slot_rom_device::device_start()
}
-uint8_t msx_slot_rom_device::read(offs_t offset)
+READ8_MEMBER(msx_slot_rom_device::read)
{
if (offset >= m_start_address && offset < m_end_address)
{
diff --git a/src/devices/bus/msx_slot/rom.h b/src/devices/bus/msx_slot/rom.h
index 6bcd480a5a3..eee554a362a 100644
--- a/src/devices/bus/msx_slot/rom.h
+++ b/src/devices/bus/msx_slot/rom.h
@@ -7,6 +7,10 @@
#include "slot.h"
+#define MCFG_MSX_SLOT_ROM_ADD(_tag, _startpage, _numpages, _region, _offset) \
+ MCFG_MSX_INTERNAL_SLOT_ADD(_tag, MSX_SLOT_ROM, _startpage, _numpages) \
+ downcast<msx_slot_rom_device &>(*device).set_rom_start(_region, _offset);
+
class msx_slot_rom_device : public device_t,
public msx_internal_slot_interface
{
@@ -16,7 +20,7 @@ public:
// configuration helpers
void set_rom_start(const char *region, uint32_t offset) { m_rom_region.set_tag(region); m_region_offset = offset; }
- virtual uint8_t read(offs_t offset) override;
+ virtual DECLARE_READ8_MEMBER(read) override;
protected:
msx_slot_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
diff --git a/src/devices/bus/msx_slot/slot.cpp b/src/devices/bus/msx_slot/slot.cpp
index 345cf6e0a5c..3b826c87fa2 100644
--- a/src/devices/bus/msx_slot/slot.cpp
+++ b/src/devices/bus/msx_slot/slot.cpp
@@ -13,12 +13,9 @@ pages; and multiple pieces of rom/ram/components can occur in a single slot.
#include "emu.h"
#include "slot.h"
-msx_internal_slot_interface::msx_internal_slot_interface(const machine_config &mconfig, device_t &device)
- : m_mem_space(device, finder_base::DUMMY_TAG, -1)
- , m_io_space(device, finder_base::DUMMY_TAG, -1)
- , m_start_address(0)
+msx_internal_slot_interface::msx_internal_slot_interface()
+ : m_start_address(0)
, m_size(0)
, m_end_address(0)
{
- (void)mconfig;
}
diff --git a/src/devices/bus/msx_slot/slot.h b/src/devices/bus/msx_slot/slot.h
index 3a95c7b6b75..ad51f0c4f9d 100644
--- a/src/devices/bus/msx_slot/slot.h
+++ b/src/devices/bus/msx_slot/slot.h
@@ -15,29 +15,25 @@ pages; and multiple pieces of rom/ram/components can occur in a single slot.
#pragma once
+#define MCFG_MSX_INTERNAL_SLOT_ADD(_tag, _type, _startpage, _numpages) \
+ MCFG_DEVICE_ADD(_tag, _type, 0) \
+ dynamic_cast<msx_internal_slot_interface &>(*device).set_start_address(_startpage * 0x4000); \
+ dynamic_cast<msx_internal_slot_interface &>(*device).set_size(_numpages * 0x4000);
+
class msx_internal_slot_interface
{
public:
- msx_internal_slot_interface(const machine_config &mconfig, device_t &device);
- msx_internal_slot_interface(const msx_internal_slot_interface &device) = delete;
+ msx_internal_slot_interface();
virtual ~msx_internal_slot_interface() { }
// configuration helpers
- template <typename T> void set_memory_space(T &&tag, int spacenum) { m_mem_space.set_tag(std::forward<T>(tag), spacenum); }
- template <typename T> void set_io_space(T &&tag, int spacenum) { m_io_space.set_tag(std::forward<T>(tag), spacenum); }
void set_start_address(uint32_t start_address) { m_start_address = start_address; m_end_address = m_start_address + m_size; }
void set_size(uint32_t size) { m_size = size; m_end_address = m_start_address + m_size; }
- virtual uint8_t read(offs_t offset) { return 0xFF; }
- virtual void write(offs_t offset, uint8_t data) { }
-
- address_space &memory_space() const { return *m_mem_space; }
- address_space &io_space() const { return *m_io_space; }
+ virtual DECLARE_READ8_MEMBER(read) { return 0xFF; }
+ virtual DECLARE_WRITE8_MEMBER(write) { }
protected:
- required_address_space m_mem_space;
- required_address_space m_io_space;
-
uint32_t m_start_address;
uint32_t m_size;
uint32_t m_end_address;
diff --git a/src/devices/bus/msx_slot/sony08.cpp b/src/devices/bus/msx_slot/sony08.cpp
index 652ed134457..96f3f0fdedc 100644
--- a/src/devices/bus/msx_slot/sony08.cpp
+++ b/src/devices/bus/msx_slot/sony08.cpp
@@ -15,7 +15,7 @@ DEFINE_DEVICE_TYPE(MSX_SLOT_SONY08, msx_slot_sony08_device, "msx_slot_sony08", "
msx_slot_sony08_device::msx_slot_sony08_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
: device_t(mconfig, MSX_SLOT_SONY08, tag, owner, clock)
- , msx_internal_slot_interface(mconfig, *this)
+ , msx_internal_slot_interface()
, m_nvram(*this, "nvram")
, m_rom_region(*this, finder_base::DUMMY_TAG)
, m_region_offset(0)
@@ -50,12 +50,8 @@ void msx_slot_sony08_device::device_start()
save_item(NAME(m_selected_bank));
- restore_banks();
-}
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_slot_sony08_device::restore_banks), this));
-
-void msx_slot_sony08_device::device_post_load()
-{
restore_banks();
}
@@ -100,7 +96,7 @@ void msx_slot_sony08_device::restore_banks()
}
-uint8_t msx_slot_sony08_device::read(offs_t offset)
+READ8_MEMBER(msx_slot_sony08_device::read)
{
if (offset >= 0xc000)
{
@@ -122,7 +118,7 @@ uint8_t msx_slot_sony08_device::read(offs_t offset)
}
-void msx_slot_sony08_device::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(msx_slot_sony08_device::write)
{
if (offset < 0x4000)
{
diff --git a/src/devices/bus/msx_slot/sony08.h b/src/devices/bus/msx_slot/sony08.h
index 74c8fd95f35..8dfd0297951 100644
--- a/src/devices/bus/msx_slot/sony08.h
+++ b/src/devices/bus/msx_slot/sony08.h
@@ -12,6 +12,10 @@
DECLARE_DEVICE_TYPE(MSX_SLOT_SONY08, msx_slot_sony08_device)
+#define MCFG_MSX_SLOT_SONY08_ADD(_tag, _startpage, _numpages, _region, _offset) \
+ MCFG_MSX_INTERNAL_SLOT_ADD(_tag, MSX_SLOT_SONY08, _startpage, _numpages) \
+ downcast<msx_slot_sony08_device &>(*device).set_rom_start(_region, _offset);
+
class msx_slot_sony08_device : public device_t, public msx_internal_slot_interface
{
public:
@@ -20,12 +24,11 @@ public:
// configuration helpers
void set_rom_start(const char *region, uint32_t offset) { m_rom_region.set_tag(region); m_region_offset = offset; }
- virtual uint8_t read(offs_t offset) override;
- virtual void write(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read) override;
+ virtual DECLARE_WRITE8_MEMBER(write) override;
protected:
virtual void device_start() override;
- virtual void device_post_load() override;
virtual void device_add_mconfig(machine_config &config) override;
diff --git a/src/devices/bus/mtx/exp.cpp b/src/devices/bus/mtx/exp.cpp
deleted file mode 100644
index 1bfd5068679..00000000000
--- a/src/devices/bus/mtx/exp.cpp
+++ /dev/null
@@ -1,109 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Nigel Barnes
-/**********************************************************************
-
- MTX expansion emulation
-
-**********************************************************************/
-
-#include "emu.h"
-#include "exp.h"
-
-
-//**************************************************************************
-// DEVICE DEFINITIONS
-//**************************************************************************
-
-DEFINE_DEVICE_TYPE(MTX_EXP_SLOT, mtx_exp_slot_device, "mtx_exp_slot", "MTX expansion slot")
-
-
-//**************************************************************************
-// DEVICE MTX_BUS PORT INTERFACE
-//**************************************************************************
-
-//-------------------------------------------------
-// device_mtx_exp_interface - constructor
-//-------------------------------------------------
-
-device_mtx_exp_interface::device_mtx_exp_interface(const machine_config &mconfig, device_t &device)
- : device_slot_card_interface(mconfig, device)
-{
- m_slot = dynamic_cast<mtx_exp_slot_device *>(device.owner());
-}
-
-
-//**************************************************************************
-// LIVE DEVICE
-//**************************************************************************
-
-//-------------------------------------------------
-// mtx_exp_slot_device - constructor
-//-------------------------------------------------
-
-mtx_exp_slot_device::mtx_exp_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MTX_EXP_SLOT, tag, owner, clock)
- , device_slot_interface(mconfig, *this)
- , m_program(*this, finder_base::DUMMY_TAG, -1)
- , m_io(*this, finder_base::DUMMY_TAG, -1)
- , m_card(nullptr)
- , m_busreq_handler(*this)
- , m_int_handler(*this)
- , m_nmi_handler(*this)
-{
-}
-
-
-//-------------------------------------------------
-// device_validity_check -
-//-------------------------------------------------
-
-void mtx_exp_slot_device::device_validity_check(validity_checker &valid) const
-{
- device_t *const carddev = get_card_device();
- if (carddev && !dynamic_cast<device_mtx_exp_interface *>(carddev))
- osd_printf_error("Card device %s (%s) does not implement device_mtx_exp_interface\n", carddev->tag(), carddev->name());
-}
-
-
-//-------------------------------------------------
-// device_start - device-specific startup
-//-------------------------------------------------
-
-void mtx_exp_slot_device::device_start()
-{
- device_t *const carddev = get_card_device();
- if (carddev && !dynamic_cast<device_mtx_exp_interface *>(carddev))
- osd_printf_error("Card device %s (%s) does not implement device_mtx_exp_interface\n", carddev->tag(), carddev->name());
-
- // resolve callbacks
- m_busreq_handler.resolve_safe();
- m_int_handler.resolve_safe();
- m_nmi_handler.resolve_safe();
-}
-
-
-//-------------------------------------------------
-// device_reset - device-specific reset
-//-------------------------------------------------
-
-void mtx_exp_slot_device::device_reset()
-{
-}
-
-
-//-------------------------------------------------
-// SLOT_INTERFACE( mtx_exp_devices )
-//-------------------------------------------------
-
-
-// slot devices
-//#include "fdx.h"
-#include "sdx.h"
-
-
-void mtx_expansion_devices(device_slot_interface &device)
-{
- //device.option_add("fdx", MTX_FDX); /* FDX Floppy Disc System */
- device.option_add("sdxbas", MTX_SDXBAS); /* SDX Floppy Disc System (SDX ROM)*/
- device.option_add("sdxcpm", MTX_SDXCPM); /* SDX Floppy Disc System (CP/M ROM and 80 column card) */
-}
diff --git a/src/devices/bus/mtx/exp.h b/src/devices/bus/mtx/exp.h
deleted file mode 100644
index d4e05f2f9c9..00000000000
--- a/src/devices/bus/mtx/exp.h
+++ /dev/null
@@ -1,93 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Nigel Barnes
-/**********************************************************************
-
- MTX expansion emulation
-
-**********************************************************************/
-
-
-#ifndef MAME_BUS_MTX_EXP_H
-#define MAME_BUS_MTX_EXP_H
-
-#pragma once
-
-
-//**************************************************************************
-// TYPE DEFINITIONS
-//**************************************************************************
-
-// ======================> mtx_exp_slot_device
-
-class device_mtx_exp_interface;
-
-class mtx_exp_slot_device : public device_t, public device_slot_interface
-{
-public:
- // construction/destruction
- template <typename T>
- mtx_exp_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&slot_options, const char *default_option)
- : mtx_exp_slot_device(mconfig, tag, owner)
- {
- option_reset();
- slot_options(*this);
- set_default_option(default_option);
- set_fixed(false);
- }
-
- mtx_exp_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock = 0);
-
- template <typename T> void set_program_space(T &&tag, int spacenum) { m_program.set_tag(std::forward<T>(tag), spacenum); }
- template <typename T> void set_io_space(T &&tag, int spacenum) { m_io.set_tag(std::forward<T>(tag), spacenum); }
-
- // callbacks
- auto busreq_handler() { return m_busreq_handler.bind(); }
- auto int_handler() { return m_int_handler.bind(); }
- auto nmi_handler() { return m_nmi_handler.bind(); }
-
- DECLARE_WRITE_LINE_MEMBER( busreq_w ) { m_busreq_handler(state); }
- DECLARE_WRITE_LINE_MEMBER( int_w ) { m_int_handler(state); }
- DECLARE_WRITE_LINE_MEMBER( nmi_w ) { m_nmi_handler(state); }
-
- // address spaces we are attached to
- required_address_space m_program;
- required_address_space m_io;
-
-protected:
- // device-level overrides
- virtual void device_validity_check(validity_checker &valid) const override;
- virtual void device_start() override;
- virtual void device_reset() override;
-
- device_mtx_exp_interface *m_card;
-
-private:
- devcb_write_line m_busreq_handler;
- devcb_write_line m_int_handler;
- devcb_write_line m_nmi_handler;
-};
-
-
-// ======================> device_mtx_exp_interface
-
-class device_mtx_exp_interface : public device_slot_card_interface
-{
-public:
- // construction/destruction
- device_mtx_exp_interface(const machine_config &mconfig, device_t &device);
-
-protected:
- address_space &program_space() { return *m_slot->m_program; }
- address_space &io_space() { return *m_slot->m_io; }
-
- mtx_exp_slot_device *m_slot;
-};
-
-
-// device type definition
-DECLARE_DEVICE_TYPE(MTX_EXP_SLOT, mtx_exp_slot_device)
-
-void mtx_expansion_devices(device_slot_interface &device);
-
-
-#endif // MAME_BUS_MTX_EXP_H
diff --git a/src/devices/bus/mtx/sdx.cpp b/src/devices/bus/mtx/sdx.cpp
deleted file mode 100644
index 44687e09f08..00000000000
--- a/src/devices/bus/mtx/sdx.cpp
+++ /dev/null
@@ -1,425 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Nigel Barnes
-/**********************************************************************
-
- MTX SDX Controller
-
-**********************************************************************/
-
-
-#include "emu.h"
-#include "sdx.h"
-
-
-//**************************************************************************
-// DEVICE DEFINITIONS
-//**************************************************************************
-
-DEFINE_DEVICE_TYPE(MTX_SDXBAS, mtx_sdxbas_device, "mtx_sdxbas", "MTX SDX Controller (BASIC)")
-DEFINE_DEVICE_TYPE(MTX_SDXCPM, mtx_sdxcpm_device, "mtx_sdxcpm", "MTX SDX Controller (CP/M)")
-
-
-//-------------------------------------------------
-// SLOT_INTERFACE( sdx_floppies )
-//-------------------------------------------------
-
-static void sdx_floppies(device_slot_interface &device)
-{
- device.option_add("35dd", FLOPPY_35_DD);
- device.option_add("525qd", FLOPPY_525_QD);
-}
-
-FLOPPY_FORMATS_MEMBER(mtx_sdx_device::floppy_formats)
- FLOPPY_MTX_FORMAT
-FLOPPY_FORMATS_END
-
-//-------------------------------------------------
-// ROM( sdx )
-//-------------------------------------------------
-
-ROM_START( sdxbas )
- ROM_REGION(0x2000, "sdx_rom", ROMREGION_ERASE00)
- ROM_DEFAULT_BIOS("sdx07")
- ROM_SYSTEM_BIOS(0, "sdx07", "Type 07")
- ROMX_LOAD("sdxbas07.rom", 0x0000, 0x2000, CRC(db88b245) SHA1(05c89db8e39ec3165b4620432f48e1d59abe10dd), ROM_BIOS(0))
- ROM_SYSTEM_BIOS(1, "sdx03", "Type 03")
- ROMX_LOAD("sdxbas03.rom", 0x0000, 0x2000, CRC(2fc46a46) SHA1(f08e6a8cffbb3ca39633be6e9958bec85d1e5981), ROM_BIOS(1))
-ROM_END
-
-ROM_START( sdxcpm )
- ROM_REGION(0x2000, "sdx_rom", ROMREGION_ERASE00)
- ROM_DEFAULT_BIOS("sdx07")
- ROM_SYSTEM_BIOS(0, "sdx07", "SDX07 CP/M")
- ROMX_LOAD("sdxcpm07.rom", 0x0000, 0x2000, CRC(622a04ea) SHA1(c633ce1054b45afda53116e0c6e272a1ae6a2155), ROM_BIOS(0))
-
- ROM_REGION(0x2000, "chargen", 0)
- ROM_LOAD("80z_7a.bin", 0x0000, 0x1000, CRC(ea6fe865) SHA1(f84883f79bed34501e5828336894fad929bddbb5)) // alpha
- ROM_LOAD("80z_9a.bin", 0x1000, 0x1000, NO_DUMP) // graphic
-ROM_END
-
-//-------------------------------------------------
-// INPUT_PORTS( sdx )
-//-------------------------------------------------
-
-INPUT_PORTS_START( sdx )
- PORT_START("DSW0")
- PORT_DIPNAME(0x01, 0x00, "Drive A: Head-load solenoid present") PORT_DIPLOCATION("SW1:1")
- PORT_DIPSETTING(0x00, DEF_STR(Yes))
- PORT_DIPSETTING(0x01, DEF_STR(No))
- PORT_DIPNAME(0x02, 0x00, "Drive A: Double-sided drive") PORT_DIPLOCATION("SW1:2")
- PORT_DIPSETTING(0x00, DEF_STR(Yes))
- PORT_DIPSETTING(0x02, DEF_STR(No))
- PORT_DIPNAME(0x04, 0x00, "Drive A: 96 TPI drive") PORT_DIPLOCATION("SW1:3")
- PORT_DIPSETTING(0x00, DEF_STR(Yes))
- PORT_DIPSETTING(0x04, DEF_STR(No))
- PORT_DIPNAME(0x08, 0x00, "Drive A: Stepping rate") PORT_DIPLOCATION("SW1:4")
- PORT_DIPSETTING(0x00, "Stepping rate 6ms")
- PORT_DIPSETTING(0x08, "Stepping rate 12ms")
-
- PORT_START("DSW1")
- PORT_DIPNAME(0x01, 0x00, "Drive B: Head-load solenoid present") PORT_DIPLOCATION("SW2:1")
- PORT_DIPSETTING(0x00, DEF_STR(Yes))
- PORT_DIPSETTING(0x01, DEF_STR(No))
- PORT_DIPNAME(0x02, 0x00, "Drive B: Double-sided drive") PORT_DIPLOCATION("SW2:2")
- PORT_DIPSETTING(0x00, DEF_STR(Yes))
- PORT_DIPSETTING(0x02, DEF_STR(No))
- PORT_DIPNAME(0x04, 0x00, "Drive B: 96 TPI drive") PORT_DIPLOCATION("SW2:3")
- PORT_DIPSETTING(0x00, DEF_STR(Yes))
- PORT_DIPSETTING(0x04, DEF_STR(No))
- PORT_DIPNAME(0x08, 0x00, "Drive B: Stepping rate") PORT_DIPLOCATION("SW2:4")
- PORT_DIPSETTING(0x00, "Stepping rate 6ms")
- PORT_DIPSETTING(0x08, "Stepping rate 12ms")
-INPUT_PORTS_END
-
-//-------------------------------------------------
-// input_ports - device-specific input ports
-//-------------------------------------------------
-
-ioport_constructor mtx_sdx_device::device_input_ports() const
-{
- return INPUT_PORTS_NAME(sdx);
-}
-
-//-------------------------------------------------
-// gfx_layout mtx_sdx_charlayout
-//-------------------------------------------------
-
-static const gfx_layout mtx_sdx_charlayout =
-{
- 8, 10, /* 8 x 10 characters */
- 256, /* 256 characters */
- 1, /* 1 bits per pixel */
- { 0 }, /* no bitplanes */
- /* x offsets */
- { 0, 1, 2, 3, 4, 5, 6, 7 },
- /* y offsets */
- { 0 * 8, 1 * 8, 2 * 8, 3 * 8, 4 * 8, 5 * 8, 6 * 8, 7 * 8, 8 * 8, 9 * 8 },
- 8 * 16 /* every char takes 16 bytes */
-};
-
-//-------------------------------------------------
-// GFXDECODE( gfx_mtx_sdx )
-//-------------------------------------------------
-
-static GFXDECODE_START(gfx_mtx_sdx)
- GFXDECODE_ENTRY("chargen", 0, mtx_sdx_charlayout, 0, 8)
-GFXDECODE_END
-
-//-------------------------------------------------
-// device_add_mconfig - add device configuration
-//-------------------------------------------------
-
-void mtx_sdxbas_device::device_add_mconfig(machine_config &config)
-{
- /* fdc */
- MB8877(config, m_fdc, 8_MHz_XTAL / 8);
- m_fdc->hld_wr_callback().set(FUNC(mtx_sdx_device::motor_w));
-
- FLOPPY_CONNECTOR(config, "fdc:0", sdx_floppies, "525qd", mtx_sdx_device::floppy_formats).enable_sound(true);
- FLOPPY_CONNECTOR(config, "fdc:1", sdx_floppies, "525qd", mtx_sdx_device::floppy_formats).enable_sound(true);
-}
-
-void mtx_sdxcpm_device::device_add_mconfig(machine_config &config)
-{
- /* fdc */
- MB8877(config, m_fdc, 8_MHz_XTAL / 8);
- m_fdc->hld_wr_callback().set(FUNC(mtx_sdx_device::motor_w));
-
- FLOPPY_CONNECTOR(config, "fdc:0", sdx_floppies, "525qd", mtx_sdx_device::floppy_formats).enable_sound(true);
- FLOPPY_CONNECTOR(config, "fdc:1", sdx_floppies, "525qd", mtx_sdx_device::floppy_formats).enable_sound(true);
-
- /* 80 column video card - required to be installed in MTX internally */
- SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
- m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
- m_screen->set_refresh_hz(50);
- m_screen->set_size(960, 313);
- m_screen->set_visarea(00, 640 - 1, 0, 240 - 1);
- m_screen->set_screen_update("crtc", FUNC(hd6845_device::screen_update));
-
- GFXDECODE(config, "gfxdecode", "palette", gfx_mtx_sdx);
- PALETTE(config, "palette", palette_device::RGB_3BIT);
-
- HD6845(config, m_crtc, 15_MHz_XTAL / 8);
- m_crtc->set_screen("screen");
- m_crtc->set_show_border_area(false);
- m_crtc->set_char_width(8);
- m_crtc->set_update_row_callback(FUNC(mtx_sdxcpm_device::crtc_update_row), this);
-}
-
-
-const tiny_rom_entry *mtx_sdxbas_device::device_rom_region() const
-{
- return ROM_NAME( sdxbas );
-}
-
-const tiny_rom_entry *mtx_sdxcpm_device::device_rom_region() const
-{
- return ROM_NAME( sdxcpm );
-}
-
-//**************************************************************************
-// LIVE DEVICE
-//**************************************************************************
-
-//-------------------------------------------------
-// mtx_sdx_device - constructor
-//-------------------------------------------------
-
-mtx_sdx_device::mtx_sdx_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, type, tag, owner, clock)
- , device_mtx_exp_interface(mconfig, *this)
- , m_sdx_rom(*this, "sdx_rom")
- , m_fdc(*this, "fdc")
- , m_floppy0(*this, "fdc:0")
- , m_floppy1(*this, "fdc:1")
- , m_dsw(*this, "DSW%u", 0)
-{
-}
-
-mtx_sdxbas_device::mtx_sdxbas_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : mtx_sdx_device(mconfig, MTX_SDXBAS, tag, owner, clock)
-{
-}
-
-mtx_sdxcpm_device::mtx_sdxcpm_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : mtx_sdx_device(mconfig, MTX_SDXCPM, tag, owner, clock)
- , m_screen(*this, "screen")
- , m_palette(*this, "palette")
- , m_crtc(*this, "crtc")
- , m_char_rom(*this, "chargen")
-{
-}
-
-//-------------------------------------------------
-// device_start - device-specific startup
-//-------------------------------------------------
-
-void mtx_sdxbas_device::device_start()
-{
- save_item(NAME(m_control));
-}
-
-void mtx_sdxcpm_device::device_start()
-{
- save_item(NAME(m_control));
- save_item(NAME(m_80col_ascii));
- save_item(NAME(m_80col_attr));
- save_item(NAME(m_80col_addr));
- save_item(NAME(m_80col_char_ram));
- save_item(NAME(m_80col_attr_ram));
-}
-
-
-//-------------------------------------------------
-// device_reset - device-specific reset
-//-------------------------------------------------
-
-void mtx_sdxbas_device::device_reset()
-{
- machine().root_device().membank("rommap_bank1")->configure_entry(3, m_sdx_rom->base());
-
- /* SDX FDC */
- io_space().install_readwrite_handler(0x10, 0x13, read8sm_delegate(FUNC(mb8877_device::read), m_fdc.target()), write8sm_delegate(FUNC(mb8877_device::write), m_fdc.target()));
- io_space().install_readwrite_handler(0x14, 0x14, read8_delegate(FUNC(mtx_sdx_device::sdx_status_r), this), write8_delegate(FUNC(mtx_sdx_device::sdx_control_w), this));
-}
-
-void mtx_sdxcpm_device::device_reset()
-{
- machine().root_device().membank("rommap_bank1")->configure_entry(3, m_sdx_rom->base());
-
- /* SDX FDC */
- io_space().install_readwrite_handler(0x10, 0x13, read8sm_delegate(FUNC(mb8877_device::read), m_fdc.target()), write8sm_delegate(FUNC(mb8877_device::write), m_fdc.target()));
- io_space().install_readwrite_handler(0x14, 0x14, read8_delegate(FUNC(mtx_sdx_device::sdx_status_r), this), write8_delegate(FUNC(mtx_sdx_device::sdx_control_w), this));
-
- /* 80 column */
- io_space().install_readwrite_handler(0x30, 0x33, read8_delegate(FUNC(mtx_sdxcpm_device::mtx_80col_r), this), write8_delegate(FUNC(mtx_sdxcpm_device::mtx_80col_w), this));
- io_space().install_readwrite_handler(0x38, 0x38, read8smo_delegate(FUNC(mc6845_device::status_r), m_crtc.target()), write8smo_delegate(FUNC(mc6845_device::address_w), m_crtc.target()));
- io_space().install_readwrite_handler(0x39, 0x39, read8smo_delegate(FUNC(mc6845_device::register_r), m_crtc.target()), write8smo_delegate(FUNC(mc6845_device::register_w), m_crtc.target()));
-
- memset(m_80col_char_ram, 0, sizeof(m_80col_char_ram));
- memset(m_80col_attr_ram, 0, sizeof(m_80col_attr_ram));
-}
-
-
-//**************************************************************************
-// IMPLEMENTATION
-//**************************************************************************
-
-READ8_MEMBER(mtx_sdx_device::sdx_status_r)
-{
- /*
- bit description
- 0 Head load: 1 - head load on drive
- 1 Double-sided: 1 if drive double-sided
- 2 TPI: 0 - 48 TPI drive. 1 - 96 TPI drive
- 3 Track stepping rate: 0 - 12ms, 1 - 6ms
- 4 No. of drives: 0 - 1 drive, 1 - 2 drives
- 5 Ready: 1 - drive ready
- 6 Interrupt: 1 - FDC interrupt request
- 7 Data request: 1 - FDC data request
- */
-
- uint8_t data = 0x00;
-
- data |= m_dsw[BIT(m_control, 0)].read_safe(0x0f) & 0x0f;
-
- data |= (m_floppy0->get_device() && m_floppy1->get_device()) ? 0x10 : 0x00;
-
- if (m_floppy)
- data |= m_floppy->ready_r() ? 0x00 : 0x20;
-
- data |= m_fdc->intrq_r() ? 0x40 : 0x00;
- data |= m_fdc->drq_r() ? 0x80 : 0x00;
-
- return data;
-}
-
-WRITE8_MEMBER(mtx_sdx_device::sdx_control_w)
-{
- /*
- bit description
- 0 Drive select: 0 - drive A, 1 - drive B
- 1 Side select: 0 - side 0, 1 - side 1
- 2 Motor on: 1 - turns drive motor on
- 3 Motor ready: 1 - drive motor ready
- 4 Density: 0 - FM, 1 - MFM
- */
-
- m_control = data;
-
- /* bit 0: drive select */
- m_floppy = BIT(data, 0) ? m_floppy1->get_device() : m_floppy0->get_device();
-
- m_fdc->set_floppy(m_floppy);
-
- if (m_floppy)
- {
- /* bit 1: side select */
- m_floppy->ss_w(BIT(data, 1));
- logerror("motor on %d\n", BIT(data, 2));
- /* bit 2: motor on */
- m_floppy->mon_w(!(BIT(data, 2) || m_fdc->hld_r()));
- logerror("head load %d\n", m_fdc->hld_r());
- /* bit 3: motor ready */
- //if (BIT(data, 3))
- //m_floppy->mon_w(!BIT(data, 2));
- //m_floppy->mon_w(!BIT(data, 3));
- logerror("motor ready %d\n", BIT(data, 3));
- }
-
- /* bit 4: density */
- m_fdc->dden_w(!BIT(data, 4));
-}
-
-WRITE_LINE_MEMBER(mtx_sdx_device::motor_w)
-{
- if (m_floppy0->get_device()) m_floppy0->get_device()->mon_w(0);
- if (m_floppy1->get_device()) m_floppy1->get_device()->mon_w(0);
-}
-
-//-------------------------------------------------
-// 80 column video board
-//-------------------------------------------------
-
-READ8_MEMBER(mtx_sdxcpm_device::mtx_80col_r)
-{
- uint8_t data = 0xff;
-
- switch (offset)
- {
- case 0:
- /* ring the bell */
- break;
- case 2:
- if (!BIT(m_80col_addr, 15))
- data = m_80col_char_ram[m_80col_addr & 0x07ff];
- break;
- case 3:
- if (!BIT(m_80col_addr, 15))
- data = m_80col_attr_ram[m_80col_addr & 0x07ff];
- break;
- }
- return data;
-}
-
-WRITE8_MEMBER(mtx_sdxcpm_device::mtx_80col_w)
-{
- switch (offset)
- {
- case 0:
- m_80col_addr = (m_80col_addr & 0xff00) | data;
- /* write to ram */
- if (BIT(m_80col_addr, 15))
- {
- /* write enable ascii ram */
- if (BIT(m_80col_addr, 14))
- m_80col_char_ram[m_80col_addr & 0x07ff] = m_80col_ascii;
-
- /* write enable attribute ram */
- if (BIT(m_80col_addr, 13))
- m_80col_attr_ram[m_80col_addr & 0x07ff] = m_80col_attr;
- }
- break;
- case 1:
- m_80col_addr = (data << 8) | (m_80col_addr & 0x00ff);
- break;
- case 2:
- m_80col_ascii = data;
- break;
- case 3:
- m_80col_attr = data;
- break;
- }
-}
-
-MC6845_UPDATE_ROW(mtx_sdxcpm_device::crtc_update_row)
-{
- const pen_t *pen = m_palette->pens();
-
- for (int column = 0; column < x_count; column++)
- {
- uint8_t code = m_80col_char_ram[(ma + column) & 0x7ff];
- uint8_t attr = m_80col_attr_ram[(ma + column) & 0x7ff];
- offs_t addr = (code << 4) | (ra & 0x0f);
- uint8_t data = m_char_rom->base()[addr];
-
- if (column == cursor_x)
- {
- data = 0xff;
- attr = 0x07;
- }
-
- for (int bit = 0; bit < 8; bit++)
- {
- int x = (column * 8) + bit;
- int fg = attr & 0x07;
- int bg = attr & 0x38;
-
- int color = BIT(data, 7) ? fg : bg;
-
- bitmap.pix32(y, x) = pen[de ? color : 0];
-
- data <<= 1;
- }
- }
-}
diff --git a/src/devices/bus/mtx/sdx.h b/src/devices/bus/mtx/sdx.h
deleted file mode 100644
index dff83358dd4..00000000000
--- a/src/devices/bus/mtx/sdx.h
+++ /dev/null
@@ -1,105 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Nigel Barnes
-/**********************************************************************
-
- MTX SDX Controller
-
-**********************************************************************/
-
-
-#ifndef MAME_BUS_MTX_EXP_SDX_H
-#define MAME_BUS_MTX_EXP_SDX_H
-
-#include "exp.h"
-#include "imagedev/floppy.h"
-#include "machine/wd_fdc.h"
-#include "video/mc6845.h"
-#include "formats/mtx_dsk.h"
-#include "emupal.h"
-#include "screen.h"
-
-//**************************************************************************
-// TYPE DEFINITIONS
-//**************************************************************************
-
-class mtx_sdx_device :
- public device_t,
- public device_mtx_exp_interface
-{
-public:
- DECLARE_FLOPPY_FORMATS(floppy_formats);
-
- // optional information overrides
- virtual ioport_constructor device_input_ports() const override;
-
- DECLARE_READ8_MEMBER(sdx_status_r);
- DECLARE_WRITE8_MEMBER(sdx_control_w);
- DECLARE_WRITE_LINE_MEMBER(motor_w);
-
-protected:
- // construction/destruction
- mtx_sdx_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
-
- required_memory_region m_sdx_rom;
- required_device<mb8877_device> m_fdc;
- required_device<floppy_connector> m_floppy0;
- required_device<floppy_connector> m_floppy1;
- required_ioport_array<2> m_dsw;
- floppy_image_device *m_floppy;
- uint8_t m_control;
-};
-
-class mtx_sdxbas_device : public mtx_sdx_device
-{
-public:
- // construction/destruction
- mtx_sdxbas_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
-protected:
- // optional information overrides
- virtual void device_add_mconfig(machine_config &config) override;
- virtual const tiny_rom_entry *device_rom_region() const override;
-
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-};
-
-class mtx_sdxcpm_device : public mtx_sdx_device
-{
-public:
- // construction/destruction
- mtx_sdxcpm_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
-protected:
- // optional information overrides
- virtual void device_add_mconfig(machine_config &config) override;
- virtual const tiny_rom_entry *device_rom_region() const override;
-
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
-private:
- DECLARE_READ8_MEMBER(mtx_80col_r);
- DECLARE_WRITE8_MEMBER(mtx_80col_w);
- MC6845_UPDATE_ROW(crtc_update_row);
-
- required_device<screen_device> m_screen;
- required_device<palette_device> m_palette;
- required_device<mc6845_device> m_crtc;
- required_memory_region m_char_rom;
- uint8_t m_80col_char_ram[0x800];
- uint8_t m_80col_attr_ram[0x800];
- uint8_t m_80col_ascii, m_80col_attr;
- uint16_t m_80col_addr;
-};
-
-
-
-// device type definition
-DECLARE_DEVICE_TYPE(MTX_SDXBAS, mtx_sdxbas_device)
-DECLARE_DEVICE_TYPE(MTX_SDXCPM, mtx_sdxcpm_device)
-
-
-#endif // MAME_BUS_MTX_EXP_SDX_H
diff --git a/src/devices/bus/nasbus/avc.cpp b/src/devices/bus/nasbus/avc.cpp
index 4aacc354567..a0a71da3666 100644
--- a/src/devices/bus/nasbus/avc.cpp
+++ b/src/devices/bus/nasbus/avc.cpp
@@ -22,11 +22,10 @@ DEFINE_DEVICE_TYPE(NASCOM_AVC, nascom_avc_device, "nascom_avc", "Nascom Advanced
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void nascom_avc_device::device_add_mconfig(machine_config &config)
-{
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
- screen.set_raw(16250000, 1024, 0, 768, 320, 0, 256);
- screen.set_screen_update("mc6845", FUNC(mc6845_device::screen_update));
+MACHINE_CONFIG_START(nascom_avc_device::device_add_mconfig)
+ MCFG_SCREEN_ADD("screen", RASTER)
+ MCFG_SCREEN_RAW_PARAMS(16250000, 1024, 0, 768, 320, 0, 256)
+ MCFG_SCREEN_UPDATE_DEVICE("mc6845", mc6845_device, screen_update)
PALETTE(config, m_palette, palette_device::RGB_3BIT);
@@ -35,7 +34,7 @@ void nascom_avc_device::device_add_mconfig(machine_config &config)
m_crtc->set_show_border_area(false);
m_crtc->set_char_width(6);
m_crtc->set_update_row_callback(FUNC(nascom_avc_device::crtc_update_row), this);
-}
+MACHINE_CONFIG_END
//**************************************************************************
@@ -78,8 +77,8 @@ void nascom_avc_device::device_start()
void nascom_avc_device::device_reset()
{
- io_space().install_write_handler(0xb0, 0xb0, write8smo_delegate(FUNC(mc6845_device::address_w), m_crtc.target()));
- io_space().install_readwrite_handler(0xb1, 0xb1, read8smo_delegate(FUNC(mc6845_device::register_r), m_crtc.target()), write8smo_delegate(FUNC(mc6845_device::register_w), m_crtc.target()));
+ io_space().install_write_handler(0xb0, 0xb0, write8_delegate(FUNC(mc6845_device::address_w), m_crtc.target()));
+ io_space().install_readwrite_handler(0xb1, 0xb1, read8_delegate(FUNC(mc6845_device::register_r), m_crtc.target()), write8_delegate(FUNC(mc6845_device::register_w), m_crtc.target()));
io_space().install_write_handler(0xb2, 0xb2, write8_delegate(FUNC(nascom_avc_device::control_w), this));
}
diff --git a/src/devices/bus/nasbus/nasbus.cpp b/src/devices/bus/nasbus/nasbus.cpp
index ed6cf27bc7a..585b1043c07 100644
--- a/src/devices/bus/nasbus/nasbus.cpp
+++ b/src/devices/bus/nasbus/nasbus.cpp
@@ -22,14 +22,15 @@ DEFINE_DEVICE_TYPE(NASBUS_SLOT, nasbus_slot_device, "nasbus_slot", "NASBUS Slot"
// nasbus_slot_device - constructor
//-------------------------------------------------
-nasbus_slot_device::nasbus_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nasbus_slot_device(mconfig, NASBUS_SLOT, tag, owner, clock)
+nasbus_slot_device::nasbus_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ nasbus_slot_device(mconfig, NASBUS_SLOT, tag, owner, clock)
{
}
-nasbus_slot_device::nasbus_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, type, tag, owner, clock)
- , device_slot_interface(mconfig, *this)
+nasbus_slot_device::nasbus_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
+ device_slot_interface(mconfig, *this),
+ m_nasbus_tag(nullptr)
{
}
@@ -43,7 +44,7 @@ void nasbus_slot_device::device_start()
if (dev)
{
- nasbus_device *m_nasbus = downcast<nasbus_device *>(owner()->subdevice(NASBUS_TAG));
+ nasbus_device *m_nasbus = downcast<nasbus_device *>(m_owner->subdevice(m_nasbus_tag));
m_nasbus->add_card(dev);
}
}
@@ -61,8 +62,8 @@ DEFINE_DEVICE_TYPE(NASBUS, nasbus_device, "nasbus", "NASBUS Backplane")
nasbus_device::nasbus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, NASBUS, tag, owner, clock),
- m_program(*this, finder_base::DUMMY_TAG, -1),
- m_io(*this, finder_base::DUMMY_TAG, -1),
+ m_program(nullptr),
+ m_io(nullptr),
m_ram_disable_handler(*this)
{
}
@@ -104,6 +105,24 @@ void nasbus_device::add_card(device_nasbus_card_interface *card)
m_dev.append(*card);
}
+//-------------------------------------------------
+// set_program_space - set address space we are attached to
+//-------------------------------------------------
+
+void nasbus_device::set_program_space(address_space *program)
+{
+ m_program = program;
+}
+
+//-------------------------------------------------
+// set_io_space - set address space we are attached to
+//-------------------------------------------------
+
+void nasbus_device::set_io_space(address_space *io)
+{
+ m_io = io;
+}
+
// callbacks from slot device to the host
WRITE_LINE_MEMBER( nasbus_device::ram_disable_w ) { m_ram_disable_handler(state); }
diff --git a/src/devices/bus/nasbus/nasbus.h b/src/devices/bus/nasbus/nasbus.h
index c2c11e2db9a..8a0a1d3775f 100644
--- a/src/devices/bus/nasbus/nasbus.h
+++ b/src/devices/bus/nasbus/nasbus.h
@@ -102,6 +102,22 @@
//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_NASBUS_ADD(_tag) \
+ MCFG_DEVICE_ADD(_tag, NASBUS, 0)
+
+#define MCFG_NASBUS_SLOT_ADD(_tag, _slot_intf, _def_slot) \
+ MCFG_DEVICE_ADD(_tag, NASBUS_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false) \
+ downcast<nasbus_slot_device &>(*device).set_nasbus_slot(this, NASBUS_TAG);
+
+#define MCFG_NASBUS_RAM_DISABLE_HANDLER(_devcb) \
+ downcast<nasbus_device &>(*device).set_ram_disable_handler(DEVCB_##_devcb);
+
+
+//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -114,22 +130,18 @@ class nasbus_slot_device : public device_t, public device_slot_interface
{
public:
// construction/destruction
- template <typename T>
- nasbus_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt)
- : nasbus_slot_device(mconfig, tag, owner, (uint32_t)0)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
nasbus_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ // inline configuration
+ void set_nasbus_slot(device_t *owner, const char *nasbus_tag) { m_owner = owner; m_nasbus_tag = nasbus_tag; }
protected:
nasbus_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
virtual void device_start() override;
+
+ // configuration
+ const char *m_nasbus_tag;
};
// device type definition
@@ -142,15 +154,15 @@ class nasbus_device : public device_t
friend class device_nasbus_card_interface;
public:
// construction/destruction
- nasbus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+ nasbus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~nasbus_device();
- auto ram_disable() { return m_ram_disable_handler.bind(); }
+ template <class Object> devcb_base &set_ram_disable_handler(Object &&cb) { return m_ram_disable_handler.set_callback(std::forward<Object>(cb)); }
void add_card(device_nasbus_card_interface *card);
- template <typename T> void set_program_space(T &&tag, int spacenum) { m_program.set_tag(std::forward<T>(tag), spacenum); }
- template <typename T> void set_io_space(T &&tag, int spacenum) { m_io.set_tag(std::forward<T>(tag), spacenum); }
+ void set_program_space(address_space *program);
+ void set_io_space(address_space *io);
// from cards
DECLARE_WRITE_LINE_MEMBER( ram_disable_w );
@@ -161,8 +173,8 @@ protected:
virtual void device_reset() override;
private:
- required_address_space m_program;
- required_address_space m_io;
+ address_space *m_program;
+ address_space *m_io;
simple_list<device_nasbus_card_interface> m_dev;
diff --git a/src/devices/bus/neogeo/boot_cthd.cpp b/src/devices/bus/neogeo/boot_cthd.cpp
index 70c4d891ad5..2f6659fddbe 100644
--- a/src/devices/bus/neogeo/boot_cthd.cpp
+++ b/src/devices/bus/neogeo/boot_cthd.cpp
@@ -48,10 +48,9 @@ void neogeo_cthd2k3_cart_device::device_reset()
mapper specific handlers
-------------------------------------------------*/
-void neogeo_cthd2k3_cart_device::device_add_mconfig(machine_config &config)
-{
- NG_CTHD_PROT(config, m_prot);
-}
+MACHINE_CONFIG_START(neogeo_cthd2k3_cart_device::device_add_mconfig)
+ MCFG_CTHD_PROT_ADD("cthd_prot")
+MACHINE_CONFIG_END
/*************************************************
@@ -123,9 +122,8 @@ void neogeo_matrimbl_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
}
-void neogeo_matrimbl_cart_device::device_add_mconfig(machine_config &config)
-{
- NG_KOF2002_PROT(config, m_kof2k2_prot);
- NG_CMC_PROT(config, m_cmc_prot);
- NG_CTHD_PROT(config, m_prot);
-}
+ MACHINE_CONFIG_START(neogeo_matrimbl_cart_device::device_add_mconfig)
+ MCFG_KOF2002_PROT_ADD("kof2k2_prot")
+ MCFG_CMC_PROT_ADD("cmc_prot")
+ MCFG_CTHD_PROT_ADD("cthd_prot")
+MACHINE_CONFIG_END
diff --git a/src/devices/bus/neogeo/boot_kof10th.cpp b/src/devices/bus/neogeo/boot_kof10th.cpp
index d1dd9c925f5..1fa9aeb1d84 100644
--- a/src/devices/bus/neogeo/boot_kof10th.cpp
+++ b/src/devices/bus/neogeo/boot_kof10th.cpp
@@ -48,10 +48,9 @@ void neogeo_kof10th_cart_device::device_reset()
mapper specific handlers
-------------------------------------------------*/
-void neogeo_kof10th_cart_device::device_add_mconfig(machine_config &config)
-{
- NEOBOOT_PROT(config, m_prot);
-}
+MACHINE_CONFIG_START(neogeo_kof10th_cart_device::device_add_mconfig)
+ MCFG_NEOBOOT_PROT_ADD("bootleg_prot")
+MACHINE_CONFIG_END
void neogeo_kof10th_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
diff --git a/src/devices/bus/neogeo/boot_kof2k2.cpp b/src/devices/bus/neogeo/boot_kof2k2.cpp
index 8bbf3ab0962..611ff47a382 100644
--- a/src/devices/bus/neogeo/boot_kof2k2.cpp
+++ b/src/devices/bus/neogeo/boot_kof2k2.cpp
@@ -12,27 +12,24 @@
#include "boot_kof2k2.h"
-void neogeo_kof2002b_cart_device::device_add_mconfig(machine_config &config)
-{
- NEOBOOT_PROT(config, m_prot);
- NG_CMC_PROT(config, m_cmc_prot);
- NG_PCM2_PROT(config, m_pcm2_prot);
- NG_KOF2002_PROT(config, m_kof2k2_prot);
-}
-
-void neogeo_kf2k2mp_cart_device::device_add_mconfig(machine_config &config)
-{
- NEOBOOT_PROT(config, m_prot);
- NG_CMC_PROT(config, m_cmc_prot);
- NG_PCM2_PROT(config, m_pcm2_prot);
-}
-
-void neogeo_kf2k2mp2_cart_device::device_add_mconfig(machine_config &config)
-{
- NEOBOOT_PROT(config, m_prot);
- NG_CMC_PROT(config, m_cmc_prot);
- NG_PCM2_PROT(config, m_pcm2_prot);
-}
+MACHINE_CONFIG_START(neogeo_kof2002b_cart_device::device_add_mconfig)
+ MCFG_NEOBOOT_PROT_ADD("bootleg_prot")
+ MCFG_CMC_PROT_ADD("cmc_prot")
+ MCFG_PCM2_PROT_ADD("pcm2_prot")
+ MCFG_KOF2002_PROT_ADD("kof2k2_prot")
+MACHINE_CONFIG_END
+
+MACHINE_CONFIG_START(neogeo_kf2k2mp_cart_device::device_add_mconfig)
+ MCFG_NEOBOOT_PROT_ADD("bootleg_prot")
+ MCFG_CMC_PROT_ADD("cmc_prot")
+ MCFG_PCM2_PROT_ADD("pcm2_prot")
+MACHINE_CONFIG_END
+
+MACHINE_CONFIG_START(neogeo_kf2k2mp2_cart_device::device_add_mconfig)
+ MCFG_NEOBOOT_PROT_ADD("bootleg_prot")
+ MCFG_CMC_PROT_ADD("cmc_prot")
+ MCFG_PCM2_PROT_ADD("pcm2_prot")
+MACHINE_CONFIG_END
/*************************************************
kof2002b
diff --git a/src/devices/bus/neogeo/boot_kof2k3.cpp b/src/devices/bus/neogeo/boot_kof2k3.cpp
index 172a0ad56db..2c0f4f375a3 100644
--- a/src/devices/bus/neogeo/boot_kof2k3.cpp
+++ b/src/devices/bus/neogeo/boot_kof2k3.cpp
@@ -12,29 +12,26 @@
#include "boot_kof2k3.h"
-void neogeo_kf2k3bl_cart_device::device_add_mconfig(machine_config &config)
-{
- NEOBOOT_PROT(config, m_prot);
- NG_CMC_PROT(config, m_cmc_prot);
- NG_PCM2_PROT(config, m_pcm2_prot);
- NG_KOF2K3BL_PROT(config, m_kof2k3bl_prot);
-}
-
-void neogeo_kf2k3pl_cart_device::device_add_mconfig(machine_config &config)
-{
- NEOBOOT_PROT(config, m_prot);
- NG_CMC_PROT(config, m_cmc_prot);
- NG_PCM2_PROT(config, m_pcm2_prot);
- NG_KOF2K3BL_PROT(config, m_kof2k3bl_prot);
-}
-
-void neogeo_kf2k3upl_cart_device::device_add_mconfig(machine_config &config)
-{
- NEOBOOT_PROT(config, m_prot);
- NG_CMC_PROT(config, m_cmc_prot);
- NG_PCM2_PROT(config, m_pcm2_prot);
- NG_KOF2K3BL_PROT(config, m_kof2k3bl_prot);
-}
+MACHINE_CONFIG_START(neogeo_kf2k3bl_cart_device::device_add_mconfig)
+ MCFG_NEOBOOT_PROT_ADD("bootleg_prot")
+ MCFG_CMC_PROT_ADD("cmc_prot")
+ MCFG_PCM2_PROT_ADD("pcm2_prot")
+ MCFG_KOF2K3BL_PROT_ADD("kof2k3bl_prot")
+MACHINE_CONFIG_END
+
+MACHINE_CONFIG_START(neogeo_kf2k3pl_cart_device::device_add_mconfig)
+ MCFG_NEOBOOT_PROT_ADD("bootleg_prot")
+ MCFG_CMC_PROT_ADD("cmc_prot")
+ MCFG_PCM2_PROT_ADD("pcm2_prot")
+ MCFG_KOF2K3BL_PROT_ADD("kof2k3bl_prot")
+MACHINE_CONFIG_END
+
+MACHINE_CONFIG_START(neogeo_kf2k3upl_cart_device::device_add_mconfig)
+ MCFG_NEOBOOT_PROT_ADD("bootleg_prot")
+ MCFG_CMC_PROT_ADD("cmc_prot")
+ MCFG_PCM2_PROT_ADD("pcm2_prot")
+ MCFG_KOF2K3BL_PROT_ADD("kof2k3bl_prot")
+MACHINE_CONFIG_END
/*************************************************
kf2k3bl
diff --git a/src/devices/bus/neogeo/boot_misc.cpp b/src/devices/bus/neogeo/boot_misc.cpp
index b544fa93976..f22a0236ebf 100644
--- a/src/devices/bus/neogeo/boot_misc.cpp
+++ b/src/devices/bus/neogeo/boot_misc.cpp
@@ -48,10 +48,9 @@ void neogeo_bootleg_cart_device::device_reset()
mapper specific handlers
-------------------------------------------------*/
-void neogeo_bootleg_cart_device::device_add_mconfig(machine_config &config)
-{
- NEOBOOT_PROT(config, m_prot);
-}
+MACHINE_CONFIG_START(neogeo_bootleg_cart_device::device_add_mconfig)
+ MCFG_NEOBOOT_PROT_ADD("bootleg_prot")
+MACHINE_CONFIG_END
/*************************************************
@@ -208,11 +207,10 @@ void neogeo_mslug3b6_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
m_cmc_prot->cmc42_gfx_decrypt(spr_region, spr_region_size, MSLUG3_GFX_KEY);
}
-void neogeo_mslug3b6_cart_device::device_add_mconfig(machine_config &config)
-{
- NG_CMC_PROT(config, m_cmc_prot);
- NEOBOOT_PROT(config, m_prot);
-}
+MACHINE_CONFIG_START(neogeo_mslug3b6_cart_device::device_add_mconfig)
+ MCFG_CMC_PROT_ADD("cmc_prot")
+ MCFG_NEOBOOT_PROT_ADD("bootleg_prot")
+MACHINE_CONFIG_END
/*************************************************
@@ -236,12 +234,11 @@ void neogeo_ms5plus_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
m_prot->sx_decrypt(fix_region, fix_region_size, 1);
}
-void neogeo_ms5plus_cart_device::device_add_mconfig(machine_config &config)
-{
- NEOBOOT_PROT(config, m_prot);
- NG_CMC_PROT(config, m_cmc_prot);
- NG_PCM2_PROT(config, m_pcm2_prot);
-}
+MACHINE_CONFIG_START(neogeo_ms5plus_cart_device::device_add_mconfig)
+ MCFG_NEOBOOT_PROT_ADD("bootleg_prot")
+ MCFG_CMC_PROT_ADD("cmc_prot")
+ MCFG_PCM2_PROT_ADD("pcm2_prot")
+MACHINE_CONFIG_END
/*************************************************
diff --git a/src/devices/bus/neogeo/boot_svc.cpp b/src/devices/bus/neogeo/boot_svc.cpp
index aac306be5ce..dac4a8aedad 100644
--- a/src/devices/bus/neogeo/boot_svc.cpp
+++ b/src/devices/bus/neogeo/boot_svc.cpp
@@ -30,11 +30,10 @@ void neogeo_svcboot_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
m_prot->svcboot_cx_decrypt(spr_region, spr_region_size);
}
-void neogeo_svcboot_cart_device::device_add_mconfig(machine_config &config)
-{
- NEOBOOT_PROT(config, m_prot);
- NG_PVC_PROT(config, m_pvc_prot);
-}
+MACHINE_CONFIG_START(neogeo_svcboot_cart_device::device_add_mconfig)
+ MCFG_NEOBOOT_PROT_ADD("bootleg_prot")
+ MCFG_PVC_PROT_ADD("pvc_prot")
+MACHINE_CONFIG_END
/*************************************************
@@ -97,8 +96,7 @@ void neogeo_svcsplus_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
}
-void neogeo_svcsplus_cart_device::device_add_mconfig(machine_config &config)
-{
- NEOBOOT_PROT(config, m_prot);
- NG_PVC_PROT(config, m_pvc_prot);
-}
+MACHINE_CONFIG_START(neogeo_svcsplus_cart_device::device_add_mconfig)
+ MCFG_NEOBOOT_PROT_ADD("bootleg_prot")
+ MCFG_PVC_PROT_ADD("pvc_prot")
+MACHINE_CONFIG_END
diff --git a/src/devices/bus/neogeo/cmc.cpp b/src/devices/bus/neogeo/cmc.cpp
index d1fb1b699f8..841244c478e 100644
--- a/src/devices/bus/neogeo/cmc.cpp
+++ b/src/devices/bus/neogeo/cmc.cpp
@@ -44,10 +44,9 @@ void neogeo_cmc_cart_device::device_reset()
}
-void neogeo_cmc_cart_device::device_add_mconfig(machine_config &config)
-{
- NG_CMC_PROT(config, m_prot);
-}
+MACHINE_CONFIG_START(neogeo_cmc_cart_device::device_add_mconfig)
+ MCFG_CMC_PROT_ADD("cmc_prot")
+MACHINE_CONFIG_END
/*************************************************
@@ -252,23 +251,19 @@ void neogeo_cmc_kof2000n_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
DEFINE_DEVICE_TYPE(NEOGEO_CMC_JOCKEYGP_CART, neogeo_cmc_jockeygp_cart_device, "neocart_jockeygp", "Neo Geo Jockey GP CMC50 Cart")
neogeo_cmc_jockeygp_cart_device::neogeo_cmc_jockeygp_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_cmc_cart_device(mconfig, NEOGEO_CMC_JOCKEYGP_CART, tag, owner, clock),
- m_nvram(*this, "nvram")
+ neogeo_cmc_cart_device(mconfig, NEOGEO_CMC_JOCKEYGP_CART, tag, owner, clock)
{
}
void neogeo_cmc_jockeygp_cart_device::device_start()
{
- m_ram = make_unique_clear<uint16_t[]>(0x2000/2);
- m_nvram->set_base(m_ram.get(), 0x2000);
- save_pointer(NAME(m_ram), 0x2000/2);
+ save_item(NAME(m_ram));
}
-void neogeo_cmc_jockeygp_cart_device::device_add_mconfig(machine_config &config)
+void neogeo_cmc_jockeygp_cart_device::device_reset()
{
- neogeo_cmc_cart_device::device_add_mconfig(config);
- NVRAM(config, m_nvram);
+ memset(m_ram, 0, 0x2000);
}
void neogeo_cmc_jockeygp_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
diff --git a/src/devices/bus/neogeo/cmc.h b/src/devices/bus/neogeo/cmc.h
index bba8251d2e5..88b1c27cd9f 100644
--- a/src/devices/bus/neogeo/cmc.h
+++ b/src/devices/bus/neogeo/cmc.h
@@ -8,7 +8,6 @@
#include "slot.h"
#include "rom.h"
#include "prot_cmc.h"
-#include "machine/nvram.h"
// ======================> neogeo_cmc_cart_device
@@ -219,13 +218,10 @@ public:
protected:
virtual void device_start() override;
-
- virtual void device_add_mconfig(machine_config &config) override;
+ virtual void device_reset() override;
private:
- std::unique_ptr<uint16_t[]> m_ram;
-
- required_device<nvram_device> m_nvram;
+ uint16_t m_ram[0x1000];
};
DECLARE_DEVICE_TYPE(NEOGEO_CMC_JOCKEYGP_CART, neogeo_cmc_jockeygp_cart_device)
diff --git a/src/devices/bus/neogeo/fatfury2.cpp b/src/devices/bus/neogeo/fatfury2.cpp
index 66fcfdc98a1..b3c9dea575e 100644
--- a/src/devices/bus/neogeo/fatfury2.cpp
+++ b/src/devices/bus/neogeo/fatfury2.cpp
@@ -43,7 +43,6 @@ void neogeo_fatfury2_cart_device::device_reset()
mapper specific handlers
-------------------------------------------------*/
-void neogeo_fatfury2_cart_device::device_add_mconfig(machine_config &config)
-{
- NG_FATFURY2_PROT(config, m_prot);
-}
+MACHINE_CONFIG_START(neogeo_fatfury2_cart_device::device_add_mconfig)
+ MCFG_FATFURY2_PROT_ADD("fatfury2_prot")
+MACHINE_CONFIG_END
diff --git a/src/devices/bus/neogeo/kof2k2.cpp b/src/devices/bus/neogeo/kof2k2.cpp
index 8ff5f040d3a..e313c93034a 100644
--- a/src/devices/bus/neogeo/kof2k2.cpp
+++ b/src/devices/bus/neogeo/kof2k2.cpp
@@ -3,7 +3,7 @@
/***********************************************************************************************************
Neo Geo cart emulation
- The King of Fighters 2002 cart type (CMC + PCM2 + Additional CPU encryption)
+ The King of Fighers 2002 cart type (CMC + PCM2 + Additional CPU encryption)
***********************************************************************************************************/
@@ -50,12 +50,11 @@ void neogeo_kof2k2type_cart_device::device_reset()
mapper specific handlers
-------------------------------------------------*/
-void neogeo_kof2k2type_cart_device::device_add_mconfig(machine_config &config)
-{
- NG_CMC_PROT(config, m_cmc_prot);
- NG_PCM2_PROT(config, m_pcm2_prot);
- NG_KOF2002_PROT(config, m_kof2k2_prot);
-}
+MACHINE_CONFIG_START(neogeo_kof2k2type_cart_device::device_add_mconfig)
+ MCFG_CMC_PROT_ADD("cmc_prot")
+ MCFG_PCM2_PROT_ADD("pcm2_prot")
+ MCFG_KOF2002_PROT_ADD("kof2002_prot")
+MACHINE_CONFIG_END
/*************************************************
diff --git a/src/devices/bus/neogeo/kof98.cpp b/src/devices/bus/neogeo/kof98.cpp
index 52f6b5fe523..bc53a930bac 100644
--- a/src/devices/bus/neogeo/kof98.cpp
+++ b/src/devices/bus/neogeo/kof98.cpp
@@ -43,10 +43,9 @@ void neogeo_kof98_cart_device::device_reset()
mapper specific handlers
-------------------------------------------------*/
-void neogeo_kof98_cart_device::device_add_mconfig(machine_config &config)
-{
- NG_KOF98_PROT(config, m_prot);
-}
+MACHINE_CONFIG_START(neogeo_kof98_cart_device::device_add_mconfig)
+ MCFG_KOF98_PROT_ADD("kof98_prot")
+MACHINE_CONFIG_END
void neogeo_kof98_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
diff --git a/src/devices/bus/neogeo/mslugx.cpp b/src/devices/bus/neogeo/mslugx.cpp
index 2917841cac3..521f5636a1b 100644
--- a/src/devices/bus/neogeo/mslugx.cpp
+++ b/src/devices/bus/neogeo/mslugx.cpp
@@ -43,7 +43,6 @@ void neogeo_mslugx_cart_device::device_reset()
mapper specific handlers
-------------------------------------------------*/
-void neogeo_mslugx_cart_device::device_add_mconfig(machine_config &config)
-{
- NG_MSLUGX_PROT(config, m_prot);
-}
+MACHINE_CONFIG_START(neogeo_mslugx_cart_device::device_add_mconfig)
+ MCFG_MSLUGX_PROT_ADD("mslugx_prot")
+MACHINE_CONFIG_END
diff --git a/src/devices/bus/neogeo/pcm2.cpp b/src/devices/bus/neogeo/pcm2.cpp
index 521c796d59a..e098d796229 100644
--- a/src/devices/bus/neogeo/pcm2.cpp
+++ b/src/devices/bus/neogeo/pcm2.cpp
@@ -49,11 +49,10 @@ void neogeo_pcm2_cart_device::device_reset()
mapper specific handlers
-------------------------------------------------*/
-void neogeo_pcm2_cart_device::device_add_mconfig(machine_config &config)
-{
- NG_CMC_PROT(config, m_cmc_prot);
- NG_PCM2_PROT(config, m_pcm2_prot);
-}
+MACHINE_CONFIG_START(neogeo_pcm2_cart_device::device_add_mconfig)
+ MCFG_CMC_PROT_ADD("cmc_prot")
+ MCFG_PCM2_PROT_ADD("pcm2_prot")
+MACHINE_CONFIG_END
/*************************************************
diff --git a/src/devices/bus/neogeo/prot_cmc.h b/src/devices/bus/neogeo/prot_cmc.h
index 2853c71aa8f..46a6a6c6766 100644
--- a/src/devices/bus/neogeo/prot_cmc.h
+++ b/src/devices/bus/neogeo/prot_cmc.h
@@ -9,6 +9,9 @@
DECLARE_DEVICE_TYPE(NG_CMC_PROT, cmc_prot_device)
+#define MCFG_CMC_PROT_ADD(_tag) \
+ MCFG_DEVICE_ADD(_tag, NG_CMC_PROT, 0)
+
// cmc42
#define KOF99_GFX_KEY (0x00)
#define GAROU_GFX_KEY (0x06)
@@ -41,7 +44,7 @@ class cmc_prot_device : public device_t
{
public:
// construction/destruction
- cmc_prot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+ cmc_prot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
void decrypt(uint8_t *r0, uint8_t *r1,
uint8_t c0, uint8_t c1,
diff --git a/src/devices/bus/neogeo/prot_cthd.h b/src/devices/bus/neogeo/prot_cthd.h
index 95ae38289b3..455674a56c8 100644
--- a/src/devices/bus/neogeo/prot_cthd.h
+++ b/src/devices/bus/neogeo/prot_cthd.h
@@ -8,11 +8,15 @@
DECLARE_DEVICE_TYPE(NG_CTHD_PROT, cthd_prot_device)
+#define MCFG_CTHD_PROT_ADD(_tag) \
+ MCFG_DEVICE_ADD(_tag, NG_CTHD_PROT, 0)
+
+
class cthd_prot_device : public device_t
{
public:
// construction/destruction
- cthd_prot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+ cthd_prot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
void fix_do(uint8_t* sprrom, uint32_t sprrom_size, int start, int end, int bit3shift, int bit2shift, int bit1shift, int bit0shift);
void gfx_address_fix(uint8_t* sprrom, uint32_t sprrom_size, int start, int end);
diff --git a/src/devices/bus/neogeo/prot_fatfury2.h b/src/devices/bus/neogeo/prot_fatfury2.h
index bb33d1c10c1..8c75e7f5d46 100644
--- a/src/devices/bus/neogeo/prot_fatfury2.h
+++ b/src/devices/bus/neogeo/prot_fatfury2.h
@@ -8,12 +8,15 @@
DECLARE_DEVICE_TYPE(NG_FATFURY2_PROT, fatfury2_prot_device)
+#define MCFG_FATFURY2_PROT_ADD(_tag) \
+ MCFG_DEVICE_ADD(_tag, NG_FATFURY2_PROT, 0)
+
class fatfury2_prot_device : public device_t
{
public:
// construction/destruction
- fatfury2_prot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+ fatfury2_prot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
DECLARE_READ16_MEMBER( protection_r );
DECLARE_WRITE16_MEMBER( protection_w );
diff --git a/src/devices/bus/neogeo/prot_kof2k2.h b/src/devices/bus/neogeo/prot_kof2k2.h
index 324da5a8918..4eb764f006d 100644
--- a/src/devices/bus/neogeo/prot_kof2k2.h
+++ b/src/devices/bus/neogeo/prot_kof2k2.h
@@ -9,12 +9,15 @@
DECLARE_DEVICE_TYPE(NG_KOF2002_PROT, kof2002_prot_device)
+#define MCFG_KOF2002_PROT_ADD(_tag) \
+ MCFG_DEVICE_ADD(_tag, NG_KOF2002_PROT, 0)
+
class kof2002_prot_device : public device_t
{
public:
// construction/destruction
- kof2002_prot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+ kof2002_prot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
void kof2002_decrypt_68k(uint8_t* cpurom, uint32_t cpurom_size);
void matrim_decrypt_68k(uint8_t* cpurom, uint32_t cpurom_size);
diff --git a/src/devices/bus/neogeo/prot_kof2k3bl.h b/src/devices/bus/neogeo/prot_kof2k3bl.h
index 52d87e87bfe..8520bd90716 100644
--- a/src/devices/bus/neogeo/prot_kof2k3bl.h
+++ b/src/devices/bus/neogeo/prot_kof2k3bl.h
@@ -8,12 +8,15 @@
DECLARE_DEVICE_TYPE(NG_KOF2K3BL_PROT, kof2k3bl_prot_device)
+#define MCFG_KOF2K3BL_PROT_ADD(_tag) \
+ MCFG_DEVICE_ADD(_tag, NG_KOF2K3BL_PROT, 0)
+
class kof2k3bl_prot_device : public device_t
{
public:
// construction/destruction
- kof2k3bl_prot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+ kof2k3bl_prot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
DECLARE_READ16_MEMBER(protection_r);
DECLARE_WRITE16_MEMBER(kof2003_w);
diff --git a/src/devices/bus/neogeo/prot_kof98.h b/src/devices/bus/neogeo/prot_kof98.h
index 652e098898a..ff0783e29ad 100644
--- a/src/devices/bus/neogeo/prot_kof98.h
+++ b/src/devices/bus/neogeo/prot_kof98.h
@@ -9,12 +9,15 @@
DECLARE_DEVICE_TYPE(NG_KOF98_PROT, kof98_prot_device)
+#define MCFG_KOF98_PROT_ADD(_tag) \
+ MCFG_DEVICE_ADD(_tag, NG_KOF98_PROT, 0)
+
class kof98_prot_device : public device_t
{
public:
// construction/destruction
- kof98_prot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+ kof98_prot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
void decrypt_68k(uint8_t* cpurom, uint32_t cpurom_size);
DECLARE_WRITE16_MEMBER(protection_w);
diff --git a/src/devices/bus/neogeo/prot_misc.h b/src/devices/bus/neogeo/prot_misc.h
index e1525fc44f6..f2b0c1f06d6 100644
--- a/src/devices/bus/neogeo/prot_misc.h
+++ b/src/devices/bus/neogeo/prot_misc.h
@@ -8,12 +8,15 @@
DECLARE_DEVICE_TYPE(NEOBOOT_PROT, neoboot_prot_device)
+#define MCFG_NEOBOOT_PROT_ADD(_tag) \
+ MCFG_DEVICE_ADD(_tag, NEOBOOT_PROT, 0)
+
class neoboot_prot_device : public device_t
{
public:
// construction/destruction
- neoboot_prot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+ neoboot_prot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
void cx_decrypt(uint8_t* sprrom, uint32_t sprrom_size);
void sx_decrypt(uint8_t* fixed, uint32_t fixed_size, int value);
diff --git a/src/devices/bus/neogeo/prot_mslugx.h b/src/devices/bus/neogeo/prot_mslugx.h
index 106bce3ad84..91ab71e463d 100644
--- a/src/devices/bus/neogeo/prot_mslugx.h
+++ b/src/devices/bus/neogeo/prot_mslugx.h
@@ -9,12 +9,15 @@
DECLARE_DEVICE_TYPE(NG_MSLUGX_PROT, mslugx_prot_device)
+#define MCFG_MSLUGX_PROT_ADD(_tag) \
+ MCFG_DEVICE_ADD(_tag, NG_MSLUGX_PROT, 0)
+
class mslugx_prot_device : public device_t
{
public:
// construction/destruction
- mslugx_prot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+ mslugx_prot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
DECLARE_WRITE16_MEMBER( protection_w );
DECLARE_READ16_MEMBER( protection_r );
diff --git a/src/devices/bus/neogeo/prot_pcm2.h b/src/devices/bus/neogeo/prot_pcm2.h
index 707e9ab94b4..666b38b4bee 100644
--- a/src/devices/bus/neogeo/prot_pcm2.h
+++ b/src/devices/bus/neogeo/prot_pcm2.h
@@ -9,12 +9,15 @@
DECLARE_DEVICE_TYPE(NG_PCM2_PROT, pcm2_prot_device)
+#define MCFG_PCM2_PROT_ADD(_tag) \
+ MCFG_DEVICE_ADD(_tag, NG_PCM2_PROT, 0)
+
class pcm2_prot_device : public device_t
{
public:
// construction/destruction
- pcm2_prot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+ pcm2_prot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
void decrypt(uint8_t* ymrom, uint32_t ymsize, int value);
void swap(uint8_t* ymrom, uint32_t ymsize, int value);
diff --git a/src/devices/bus/neogeo/prot_pvc.h b/src/devices/bus/neogeo/prot_pvc.h
index d2855808331..4f7d73f4020 100644
--- a/src/devices/bus/neogeo/prot_pvc.h
+++ b/src/devices/bus/neogeo/prot_pvc.h
@@ -8,12 +8,15 @@
DECLARE_DEVICE_TYPE(NG_PVC_PROT, pvc_prot_device)
+#define MCFG_PVC_PROT_ADD(_tag) \
+ MCFG_DEVICE_ADD(_tag, NG_PVC_PROT, 0)
+
class pvc_prot_device : public device_t
{
public:
// construction/destruction
- pvc_prot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+ pvc_prot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
void pvc_write_unpack_color();
void pvc_write_pack_color();
diff --git a/src/devices/bus/neogeo/prot_sma.h b/src/devices/bus/neogeo/prot_sma.h
index c36af941132..f0ee9733bd0 100644
--- a/src/devices/bus/neogeo/prot_sma.h
+++ b/src/devices/bus/neogeo/prot_sma.h
@@ -9,12 +9,15 @@
DECLARE_DEVICE_TYPE(NG_SMA_PROT, sma_prot_device)
+#define MCFG_SMA_PROT_ADD(_tag) \
+ MCFG_DEVICE_ADD(_tag, NG_SMA_PROT, 0)
+
class sma_prot_device : public device_t
{
public:
// construction/destruction
- sma_prot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+ sma_prot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
//DECLARE_WRITE16_MEMBER( kof99_bankswitch_w );
//DECLARE_WRITE16_MEMBER( garou_bankswitch_w );
diff --git a/src/devices/bus/neogeo/pvc.cpp b/src/devices/bus/neogeo/pvc.cpp
index 26987ab33dc..bb9d0098159 100644
--- a/src/devices/bus/neogeo/pvc.cpp
+++ b/src/devices/bus/neogeo/pvc.cpp
@@ -50,12 +50,11 @@ void neogeo_pvc_cart_device::device_reset()
mapper specific handlers
-------------------------------------------------*/
-void neogeo_pvc_cart_device::device_add_mconfig(machine_config &config)
-{
- NG_CMC_PROT(config, m_cmc_prot);
- NG_PCM2_PROT(config, m_pcm2_prot);
- NG_PVC_PROT(config, m_pvc_prot);
-}
+MACHINE_CONFIG_START(neogeo_pvc_cart_device::device_add_mconfig)
+ MCFG_CMC_PROT_ADD("cmc_prot")
+ MCFG_PCM2_PROT_ADD("pcm2_prot")
+ MCFG_PVC_PROT_ADD("pvc_prot")
+MACHINE_CONFIG_END
/*************************************************
diff --git a/src/devices/bus/neogeo/rom.cpp b/src/devices/bus/neogeo/rom.cpp
index 0f54a808cef..10c61858386 100644
--- a/src/devices/bus/neogeo/rom.cpp
+++ b/src/devices/bus/neogeo/rom.cpp
@@ -73,19 +73,17 @@ WRITE16_MEMBER(neogeo_rom_device::banksel_w)
DEFINE_DEVICE_TYPE(NEOGEO_VLINER_CART, neogeo_vliner_cart_device, "neocart_vliner", "Neo Geo V-Liner Cart")
neogeo_vliner_cart_device::neogeo_vliner_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_rom_device(mconfig, NEOGEO_VLINER_CART, tag, owner, clock),
- m_nvram(*this, "nvram")
+ neogeo_rom_device(mconfig, NEOGEO_VLINER_CART, tag, owner, clock)
{
}
+
void neogeo_vliner_cart_device::device_start()
{
- m_cart_ram = make_unique_clear<uint16_t[]>(0x2000/2);
- m_nvram->set_base(m_cart_ram.get(), 0x2000);
- save_pointer(NAME(m_cart_ram), 0x2000/2);
+ save_item(NAME(m_cart_ram));
}
-void neogeo_vliner_cart_device::device_add_mconfig(machine_config &config)
+void neogeo_vliner_cart_device::device_reset()
{
- NVRAM(config, m_nvram);
+ memset(m_cart_ram, 0, 0x2000);
}
diff --git a/src/devices/bus/neogeo/rom.h b/src/devices/bus/neogeo/rom.h
index 1f62a890859..17efc4da4a7 100644
--- a/src/devices/bus/neogeo/rom.h
+++ b/src/devices/bus/neogeo/rom.h
@@ -6,7 +6,6 @@
#pragma once
#include "slot.h"
-#include "machine/nvram.h"
// ======================> neogeo_rom_device
@@ -51,13 +50,10 @@ public:
protected:
virtual void device_start() override;
-
- virtual void device_add_mconfig(machine_config &config) override;
+ virtual void device_reset() override;
private:
- std::unique_ptr<uint16_t[]> m_cart_ram;
-
- required_device<nvram_device> m_nvram;
+ uint16_t m_cart_ram[0x1000];
};
DECLARE_DEVICE_TYPE(NEOGEO_VLINER_CART, neogeo_vliner_cart_device)
diff --git a/src/devices/bus/neogeo/slot.h b/src/devices/bus/neogeo/slot.h
index b5be4c5e901..edeb2452a1d 100644
--- a/src/devices/bus/neogeo/slot.h
+++ b/src/devices/bus/neogeo/slot.h
@@ -190,15 +190,6 @@ class neogeo_cart_slot_device : public device_t,
{
public:
// construction/destruction
- template <typename T>
- neogeo_cart_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt)
- : neogeo_cart_slot_device(mconfig, tag, owner, (uint16_t)0)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
neogeo_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock);
virtual ~neogeo_cart_slot_device();
@@ -347,4 +338,15 @@ private:
// device type definition
DECLARE_DEVICE_TYPE(NEOGEO_CART_SLOT, neogeo_cart_slot_device)
+
+/***************************************************************************
+ DEVICE CONFIGURATION MACROS
+ ***************************************************************************/
+
+
+#define MCFG_NEOGEO_CARTRIDGE_ADD(_tag,_slot_intf,_def_slot) \
+ MCFG_DEVICE_ADD(_tag, NEOGEO_CART_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
+
+
#endif // MAME_BUS_NEOGEO_SLOT_H
diff --git a/src/devices/bus/neogeo/sma.cpp b/src/devices/bus/neogeo/sma.cpp
index ee031e4f44f..70b03aa0a28 100644
--- a/src/devices/bus/neogeo/sma.cpp
+++ b/src/devices/bus/neogeo/sma.cpp
@@ -55,11 +55,10 @@ void neogeo_sma_cart_device::device_reset()
mapper specific handlers
-------------------------------------------------*/
-void neogeo_sma_cart_device::device_add_mconfig(machine_config &config)
-{
- NG_SMA_PROT(config, m_sma_prot);
- NG_CMC_PROT(config, m_cmc_prot);
-}
+MACHINE_CONFIG_START(neogeo_sma_cart_device::device_add_mconfig)
+ MCFG_SMA_PROT_ADD("sma_prot")
+ MCFG_CMC_PROT_ADD("cmc_prot")
+MACHINE_CONFIG_END
/*************************************************
diff --git a/src/devices/bus/neogeo_ctrl/ctrl.h b/src/devices/bus/neogeo_ctrl/ctrl.h
index bfe568d9b7e..aee534d61ad 100644
--- a/src/devices/bus/neogeo_ctrl/ctrl.h
+++ b/src/devices/bus/neogeo_ctrl/ctrl.h
@@ -42,15 +42,6 @@ class neogeo_control_port_device : public device_t, public device_slot_interface
{
public:
// construction/destruction
- template <typename T>
- neogeo_control_port_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt, bool const fixed)
- : neogeo_control_port_device(mconfig, tag, owner, (uint32_t)0)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(fixed);
- }
neogeo_control_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~neogeo_control_port_device();
@@ -92,15 +83,6 @@ class neogeo_ctrl_edge_port_device : public device_t, public device_slot_interfa
{
public:
// construction/destruction
- template <typename T>
- neogeo_ctrl_edge_port_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt, bool const fixed)
- : neogeo_ctrl_edge_port_device(mconfig, tag, owner, (uint32_t)0)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(fixed);
- }
neogeo_ctrl_edge_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~neogeo_ctrl_edge_port_device();
@@ -122,6 +104,20 @@ DECLARE_DEVICE_TYPE(NEOGEO_CONTROL_PORT, neogeo_control_port_device)
DECLARE_DEVICE_TYPE(NEOGEO_CTRL_EDGE_CONNECTOR, neogeo_ctrl_edge_port_device)
+//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_NEOGEO_CONTROL_PORT_ADD(_tag, _slot_intf, _def_slot, _fixed) \
+ MCFG_DEVICE_ADD(_tag, NEOGEO_CONTROL_PORT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, _fixed)
+
+#define MCFG_NEOGEO_CONTROL_EDGE_CONNECTOR_ADD(_tag, _slot_intf, _def_slot, _fixed) \
+ MCFG_DEVICE_ADD(_tag, NEOGEO_CTRL_EDGE_CONNECTOR, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, _fixed)
+
+
+
void neogeo_controls(device_slot_interface &device);
void neogeo_arc_edge(device_slot_interface &device);
void neogeo_arc_edge_fixed(device_slot_interface &device);
diff --git a/src/devices/bus/nes/2a03pur.cpp b/src/devices/bus/nes/2a03pur.cpp
index 87e364b1638..ddb3820770d 100644
--- a/src/devices/bus/nes/2a03pur.cpp
+++ b/src/devices/bus/nes/2a03pur.cpp
@@ -91,7 +91,7 @@ void nes_2a03pur_device::pcb_reset()
This has been assigned to iNES mapper 31.
-------------------------------------------------*/
-void nes_2a03pur_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_2a03pur_device::write_l)
{
LOG_MMC(("2a03 puritans write_l, offset: %04x, data: %02x\n", offset, data));
offset += 0x100;
@@ -99,7 +99,7 @@ void nes_2a03pur_device::write_l(offs_t offset, uint8_t data)
m_reg[offset & 7] = data & ((m_prg_chunks << 2) - 1);
}
-uint8_t nes_2a03pur_device::read_h(offs_t offset)
+READ8_MEMBER(nes_2a03pur_device::read_h)
{
LOG_MMC(("2a03 puritans read_h, offset: %04x\n", offset));
diff --git a/src/devices/bus/nes/2a03pur.h b/src/devices/bus/nes/2a03pur.h
index 970898ff128..2ec647ccc4a 100644
--- a/src/devices/bus/nes/2a03pur.h
+++ b/src/devices/bus/nes/2a03pur.h
@@ -16,8 +16,8 @@ public:
// construction/destruction
nes_2a03pur_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_h(offs_t offset) override;
- virtual void write_l(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_h) override;
+ virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/act53.cpp b/src/devices/bus/nes/act53.cpp
index 2a441c36153..f163be268fd 100644
--- a/src/devices/bus/nes/act53.cpp
+++ b/src/devices/bus/nes/act53.cpp
@@ -158,7 +158,7 @@ void nes_action53_device::update_mirr()
}
}
-void nes_action53_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_action53_device::write_l)
{
LOG_MMC(("action 53 write_l, offset: %04x, data: %02x\n", offset, data));
offset += 0x100;
@@ -167,7 +167,7 @@ void nes_action53_device::write_l(offs_t offset, uint8_t data)
}
-void nes_action53_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_action53_device::write_h)
{
LOG_MMC(("action 53 write_h, offset: %04x, data: %02x\n", offset, data));
diff --git a/src/devices/bus/nes/act53.h b/src/devices/bus/nes/act53.h
index 8e4b1c3b073..1f299a5a5da 100644
--- a/src/devices/bus/nes/act53.h
+++ b/src/devices/bus/nes/act53.h
@@ -14,8 +14,8 @@ public:
// construction/destruction
nes_action53_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_l(offs_t offset, uint8_t data) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_l) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/aladdin.cpp b/src/devices/bus/nes/aladdin.cpp
index db57b61ff00..e9d81555a72 100644
--- a/src/devices/bus/nes/aladdin.cpp
+++ b/src/devices/bus/nes/aladdin.cpp
@@ -52,7 +52,7 @@ aladdin_cart_interface::~aladdin_cart_interface()
{
}
-uint8_t aladdin_cart_interface::read(offs_t offset)
+READ8_MEMBER(aladdin_cart_interface::read)
{
if (offset < 0x4000)
return m_rom[(m_lobank * 0x4000) + (offset & 0x3fff)];
@@ -84,10 +84,10 @@ void nes_aladdin_slot_device::device_start()
m_cart = dynamic_cast<aladdin_cart_interface *>(get_card_device());
}
-uint8_t nes_aladdin_slot_device::read(offs_t offset)
+READ8_MEMBER(nes_aladdin_slot_device::read)
{
if (m_cart)
- return m_cart->read(offset);
+ return m_cart->read(space, offset, mem_mask);
return 0xff;
}
@@ -296,19 +296,19 @@ void nes_aladdin_device::pcb_reset()
-------------------------------------------------*/
-uint8_t nes_aladdin_device::read_h(offs_t offset)
+READ8_MEMBER(nes_aladdin_device::read_h)
{
LOG_MMC(("aladdin read_h, offset: %04x\n", offset));
// this shall be the proper code, but it's a bit slower, so we access directly the subcart below
- //return m_subslot->read(offset);
+ //return m_subslot->read(space, offset, mem_mask);
if (m_subslot->m_cart)
- return m_subslot->m_cart->read(offset);
+ return m_subslot->m_cart->read(space, offset, mem_mask);
else // this is "fake" in the sense that we fill CPU space with 0xff if no Aladdin cart is loaded
return hi_access_rom(offset);
}
-void nes_aladdin_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_aladdin_device::write_h)
{
LOG_MMC(("aladdin write_h, offset: %04x, data: %02x\n", offset, data));
m_subslot->write_prg(offset, data);
@@ -325,7 +325,6 @@ static void ade_cart(device_slot_interface &device)
}
-void nes_aladdin_device::device_add_mconfig(machine_config &config)
-{
- NES_ALADDIN_SLOT(config, m_subslot, ade_cart);
-}
+MACHINE_CONFIG_START(nes_aladdin_device::device_add_mconfig)
+ MCFG_ALADDIN_MINICART_ADD("ade_slot", ade_cart)
+MACHINE_CONFIG_END
diff --git a/src/devices/bus/nes/aladdin.h b/src/devices/bus/nes/aladdin.h
index 9014bf6969a..de6725bb9f1 100644
--- a/src/devices/bus/nes/aladdin.h
+++ b/src/devices/bus/nes/aladdin.h
@@ -24,7 +24,7 @@ public:
virtual ~aladdin_cart_interface();
// reading and writing
- virtual uint8_t read(offs_t offset);
+ virtual DECLARE_READ8_MEMBER(read);
uint8_t *get_cart_base() { return m_rom; }
void set_cart_size(uint32_t size) { m_rom_size = size; m_rom_mask = (size / 0x4000) - 1; }
@@ -50,16 +50,6 @@ class nes_aladdin_slot_device : public device_t,
friend class nes_aladdin_device;
public:
// construction/destruction
- template <typename T>
- nes_aladdin_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, T &&opts)
- : nes_aladdin_slot_device(mconfig, tag, owner, (uint32_t)0)
- {
- option_reset();
- opts(*this);
- set_default_option(nullptr);
- set_fixed(false);
- }
-
nes_aladdin_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~nes_aladdin_slot_device();
@@ -82,7 +72,7 @@ public:
// slot interface overrides
virtual std::string get_default_card_software(get_default_card_software_hook &hook) const override;
- uint8_t read(offs_t offset);
+ virtual DECLARE_READ8_MEMBER(read);
void write_prg(uint32_t offset, uint8_t data) { if (m_cart) m_cart->write_prg(offset, data); }
protected:
@@ -93,6 +83,11 @@ protected:
DECLARE_DEVICE_TYPE(NES_ALADDIN_SLOT, nes_aladdin_slot_device)
+#define MCFG_ALADDIN_MINICART_ADD(_tag, _slot_intf) \
+ MCFG_DEVICE_ADD(_tag, NES_ALADDIN_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, nullptr, false)
+
+
//----------------------------------
//
// Aladdin Minicart implementation
@@ -160,8 +155,8 @@ public:
// construction/destruction
nes_aladdin_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_h(offs_t offset) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_h) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/ave.cpp b/src/devices/bus/nes/ave.cpp
index 2e93ea17501..823d66e2e57 100644
--- a/src/devices/bus/nes/ave.cpp
+++ b/src/devices/bus/nes/ave.cpp
@@ -122,7 +122,7 @@ void nes_maxi15_device::pcb_reset()
-------------------------------------------------*/
-void nes_nina001_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_nina001_device::write_m)
{
LOG_MMC(("nina-001 write_m, offset: %04x, data: %02x\n", offset, data));
@@ -155,7 +155,7 @@ void nes_nina001_device::write_m(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_nina006_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_nina006_device::write_l)
{
LOG_MMC(("nina-006 write_l, offset: %04x, data: %02x\n", offset, data));
@@ -192,7 +192,7 @@ void nes_maxi15_device::update_banks()
}
}
-uint8_t nes_maxi15_device::read_h(offs_t offset)
+READ8_MEMBER(nes_maxi15_device::read_h)
{
LOG_MMC(("Maxi 15 read_h, offset: %04x\n", offset));
diff --git a/src/devices/bus/nes/ave.h b/src/devices/bus/nes/ave.h
index b40d2ed6d9d..5fdd233b3c3 100644
--- a/src/devices/bus/nes/ave.h
+++ b/src/devices/bus/nes/ave.h
@@ -16,7 +16,7 @@ public:
// construction/destruction
nes_nina001_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void pcb_reset() override;
@@ -34,7 +34,7 @@ public:
// construction/destruction
nes_nina006_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_l(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual void pcb_reset() override;
@@ -52,7 +52,7 @@ public:
// construction/destruction
nes_maxi15_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_h(offs_t offset) override;
+ virtual DECLARE_READ8_MEMBER(read_h) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/bandai.cpp b/src/devices/bus/nes/bandai.cpp
index 1dd82f1747d..ff87be980d5 100644
--- a/src/devices/bus/nes/bandai.cpp
+++ b/src/devices/bus/nes/bandai.cpp
@@ -205,7 +205,7 @@ void nes_fjump2_device::pcb_reset()
-------------------------------------------------*/
-void nes_oekakids_device::nt_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_oekakids_device::nt_w)
{
int page = ((offset & 0xc00) >> 10);
@@ -220,7 +220,7 @@ void nes_oekakids_device::nt_w(offs_t offset, uint8_t data)
m_nt_access[page][offset & 0x3ff] = data;
}
-uint8_t nes_oekakids_device::nt_r(offs_t offset)
+READ8_MEMBER(nes_oekakids_device::nt_r)
{
int page = ((offset & 0xc00) >> 10);
@@ -253,7 +253,7 @@ void nes_oekakids_device::ppu_latch(offs_t offset)
#endif
}
-void nes_oekakids_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_oekakids_device::write_h)
{
LOG_MMC(("oeka kids write_h, offset: %04x, data: %02x\n", offset, data));
@@ -308,7 +308,7 @@ void nes_fcg_device::device_timer(emu_timer &timer, device_timer_id id, int para
}
}
-void nes_fcg_device::fcg_write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_fcg_device::fcg_write)
{
LOG_MMC(("lz93d50_write, offset: %04x, data: %02x\n", offset, data));
@@ -346,12 +346,12 @@ void nes_fcg_device::fcg_write(offs_t offset, uint8_t data)
}
}
-void nes_fcg_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_fcg_device::write_m)
{
LOG_MMC(("lz93d50 write_m, offset: %04x, data: %02x\n", offset, data));
if (m_battery.empty() && m_prgram.empty())
- fcg_write(offset & 0x0f, data);
+ fcg_write(space, offset & 0x0f, data, mem_mask);
else if (!m_battery.empty())
m_battery[offset] = data;
else
@@ -361,7 +361,7 @@ void nes_fcg_device::write_m(offs_t offset, uint8_t data)
// FCG board does not access regs in 0x8000-0xffff space!
// only later design lz93d50 (and its variants do)!
-void nes_lz93d50_24c01_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_lz93d50_24c01_device::write_h)
{
LOG_MMC(("lz93d50_24c01 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -373,12 +373,12 @@ void nes_lz93d50_24c01_device::write_h(offs_t offset, uint8_t data)
m_i2c_dir = BIT(data, 7);
break;
default:
- fcg_write(offset & 0x0f, data);
+ fcg_write(space, offset & 0x0f, data, mem_mask);
break;
}
}
-uint8_t nes_lz93d50_24c01_device::read_m(offs_t offset)
+READ8_MEMBER(nes_lz93d50_24c01_device::read_m)
{
LOG_MMC(("lz93d50 EEPROM read, offset: %04x\n", offset));
if (m_i2c_dir)
@@ -391,15 +391,13 @@ uint8_t nes_lz93d50_24c01_device::read_m(offs_t offset)
// SERIAL I2C DEVICE
//-------------------------------------------------
-void nes_lz93d50_24c01_device::device_add_mconfig(machine_config &config)
-{
- I2C_24C01(config, m_i2cmem);
-}
+MACHINE_CONFIG_START(nes_lz93d50_24c01_device::device_add_mconfig)
+ MCFG_24C01_ADD("i2cmem")
+MACHINE_CONFIG_END
-void nes_lz93d50_24c02_device::device_add_mconfig(machine_config &config)
-{
- I2C_24C02(config, m_i2cmem);
-}
+MACHINE_CONFIG_START(nes_lz93d50_24c02_device::device_add_mconfig)
+ MCFG_24C02_ADD("i2cmem")
+MACHINE_CONFIG_END
/*-------------------------------------------------
@@ -430,19 +428,19 @@ void nes_fjump2_device::set_prg()
prg16_cdef(prg_base | 0x0f);
}
-uint8_t nes_fjump2_device::read_m(offs_t offset)
+READ8_MEMBER(nes_fjump2_device::read_m)
{
LOG_MMC(("fjump2 read_m, offset: %04x\n", offset));
return m_battery[offset & (m_battery.size() - 1)];
}
-void nes_fjump2_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_fjump2_device::write_m)
{
LOG_MMC(("fjump2 write_m, offset: %04x, data: %02x\n", offset, data));
m_battery[offset & (m_battery.size() - 1)] = data;
}
-void nes_fjump2_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_fjump2_device::write_h)
{
LOG_MMC(("fjump2 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -460,7 +458,7 @@ void nes_fjump2_device::write_h(offs_t offset, uint8_t data)
set_prg();
break;
default:
- fcg_write(offset & 0x0f, data);
+ fcg_write(space, offset & 0x0f, data, mem_mask);
break;
}
}
diff --git a/src/devices/bus/nes/bandai.h b/src/devices/bus/nes/bandai.h
index e7cb0a1d0cd..e44ff99de20 100644
--- a/src/devices/bus/nes/bandai.h
+++ b/src/devices/bus/nes/bandai.h
@@ -17,9 +17,9 @@ public:
// construction/destruction
nes_oekakids_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
- virtual uint8_t nt_r(offs_t offset) override;
- virtual void nt_w(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual DECLARE_READ8_MEMBER(nt_r) override;
+ virtual DECLARE_WRITE8_MEMBER(nt_w) override;
virtual void pcb_reset() override;
@@ -46,8 +46,8 @@ public:
nes_fcg_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
- void fcg_write(offs_t offset, uint8_t data);
- virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(fcg_write);
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void pcb_reset() override;
@@ -75,7 +75,7 @@ public:
nes_lz93d50_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void write_h(offs_t offset, uint8_t data) override { fcg_write(offset, data); }
+ virtual DECLARE_WRITE8_MEMBER(write_h) override { fcg_write(space, offset, data, mem_mask); }
protected:
nes_lz93d50_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
@@ -90,8 +90,8 @@ public:
// construction/destruction
nes_lz93d50_24c01_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_m(offs_t offset) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -131,9 +131,9 @@ public:
// construction/destruction
nes_fjump2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_m(offs_t offset) override;
- virtual void write_m(offs_t offset, uint8_t data) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/benshieng.cpp b/src/devices/bus/nes/benshieng.cpp
index 2b3c7818f58..921d7c5b56f 100644
--- a/src/devices/bus/nes/benshieng.cpp
+++ b/src/devices/bus/nes/benshieng.cpp
@@ -86,7 +86,7 @@ void nes_benshieng_device::update_banks()
chr2_6(m_mmc_vrom_bank[3], CHRROM);
}
-void nes_benshieng_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_benshieng_device::write_h)
{
uint8_t helper = (offset & 0xc00) >> 10;
LOG_MMC(("benshieng write_h, offset: %04x, data: %02x\n", offset, data));
diff --git a/src/devices/bus/nes/benshieng.h b/src/devices/bus/nes/benshieng.h
index 599de5a6e9c..c25aba92508 100644
--- a/src/devices/bus/nes/benshieng.h
+++ b/src/devices/bus/nes/benshieng.h
@@ -16,7 +16,7 @@ public:
// construction/destruction
nes_benshieng_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/bootleg.cpp b/src/devices/bus/nes/bootleg.cpp
index d585a8df9de..49cccaa6a3b 100644
--- a/src/devices/bus/nes/bootleg.cpp
+++ b/src/devices/bus/nes/bootleg.cpp
@@ -570,7 +570,7 @@ void nes_ax5705_device::set_prg()
prg8_ab(m_mmc_prg_bank[1]);
}
-void nes_ax5705_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_ax5705_device::write_h)
{
uint8_t bank;
LOG_MMC(("ax5705 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -652,7 +652,7 @@ void nes_sc127_device::hblank_irq(int scanline, int vblank, int blanked)
}
}
-void nes_sc127_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_sc127_device::write_h)
{
LOG_MMC(("sc127 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -715,7 +715,7 @@ void nes_mbaby_device::device_timer(emu_timer &timer, device_timer_id id, int pa
}
}
-void nes_mbaby_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_mbaby_device::write_h)
{
LOG_MMC(("Mario Baby write_h, offset: %04x, data: %02x\n", offset, data));
@@ -746,7 +746,7 @@ void nes_mbaby_device::write_h(offs_t offset, uint8_t data)
}
}
-uint8_t nes_mbaby_device::read_m(offs_t offset)
+READ8_MEMBER(nes_mbaby_device::read_m)
{
LOG_MMC(("Mario Baby read_m, offset: %04x\n", offset));
return m_prg[(m_latch * 0x2000) + (offset & 0x1fff)];
@@ -764,7 +764,7 @@ uint8_t nes_mbaby_device::read_m(offs_t offset)
-------------------------------------------------*/
-void nes_asn_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_asn_device::write_h)
{
LOG_MMC(("Ai Senshi Nicol write_h, offset: %04x, data: %02x\n", offset, data));
@@ -775,7 +775,7 @@ void nes_asn_device::write_h(offs_t offset, uint8_t data)
m_latch = data;
}
-uint8_t nes_asn_device::read_m(offs_t offset)
+READ8_MEMBER(nes_asn_device::read_m)
{
LOG_MMC(("Ai Senshi Nicol read_m, offset: %04x\n", offset));
return m_prg[((m_latch * 0x2000) + (offset & 0x1fff)) & (m_prg_size - 1)];
@@ -811,7 +811,7 @@ void nes_smb3p_device::device_timer(emu_timer &timer, device_timer_id id, int pa
}
}
-void nes_smb3p_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_smb3p_device::write_h)
{
LOG_MMC(("btl_smb3_w, offset: %04x, data: %02x\n", offset, data));
switch (offset & 0x0f)
@@ -879,7 +879,7 @@ void nes_btl_dn_device::hblank_irq(int scanline, int vblank, int blanked )
hold_irq_line();
}
-void nes_btl_dn_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_btl_dn_device::write_h)
{
uint8_t bank;
LOG_MMC(("btl_dn write_h, offset: %04x, data: %02x\n", offset, data));
@@ -933,13 +933,13 @@ void nes_btl_dn_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_whirl2706_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_whirl2706_device::write_h)
{
LOG_MMC(("whirl2706 write_h, offset: %04x, data: %02x\n", offset, data));
m_latch = data;
}
-uint8_t nes_whirl2706_device::read_m(offs_t offset)
+READ8_MEMBER(nes_whirl2706_device::read_m)
{
LOG_MMC(("whirl2706 read_m, offset: %04x\n", offset));
return m_prg[(m_latch * 0x2000 + (offset & 0x1fff)) & (m_prg_size - 1)];
@@ -975,7 +975,7 @@ void nes_smb2j_device::device_timer(emu_timer &timer, device_timer_id id, int pa
}
}
-void nes_smb2j_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_smb2j_device::write_l)
{
LOG_MMC(("smb2j write_l, offset: %04x, data: %02x\n", offset, data));
offset += 0x100;
@@ -984,7 +984,7 @@ void nes_smb2j_device::write_l(offs_t offset, uint8_t data)
m_irq_enable = data & 3; // maybe also m_irq_count = 0?!?
}
-void nes_smb2j_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_smb2j_device::write_h)
{
LOG_MMC(("smb2j write_h, offset: %04x, data: %02x\n", offset, data));
@@ -992,7 +992,7 @@ void nes_smb2j_device::write_h(offs_t offset, uint8_t data)
m_irq_enable = data & 3;
}
-void nes_smb2j_device::write_ex(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_smb2j_device::write_ex)
{
LOG_MMC(("smb2j write_ex, offset: %04x, data: %02x\n", offset, data));
@@ -1010,7 +1010,7 @@ void nes_smb2j_device::write_ex(offs_t offset, uint8_t data)
}
}
-uint8_t nes_smb2j_device::read_l(offs_t offset)
+READ8_MEMBER(nes_smb2j_device::read_l)
{
LOG_MMC(("smb2j read_l, offset: %04x\n", offset));
offset += 0x100;
@@ -1018,10 +1018,10 @@ uint8_t nes_smb2j_device::read_l(offs_t offset)
if (offset >= 0x1000)
return m_prg[0x10000 + (offset & 0x0fff)];
- return get_open_bus(); // open bus
+ return m_open_bus; // open bus
}
-uint8_t nes_smb2j_device::read_m(offs_t offset)
+READ8_MEMBER(nes_smb2j_device::read_m)
{
LOG_MMC(("smb2j read_m, offset: %04x\n", offset));
return m_prg[0x4000 + offset];
@@ -1057,7 +1057,7 @@ void nes_smb2ja_device::device_timer(emu_timer &timer, device_timer_id id, int p
}
}
-void nes_smb2ja_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_smb2ja_device::write_h)
{
LOG_MMC(("smb2ja write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1076,7 +1076,7 @@ void nes_smb2ja_device::write_h(offs_t offset, uint8_t data)
}
}
-uint8_t nes_smb2ja_device::read_m(offs_t offset)
+READ8_MEMBER(nes_smb2ja_device::read_m)
{
LOG_MMC(("smb2ja read_m, offset: %04x\n", offset));
return m_prg[(0xfe * 0x2000 + (offset & 0x1fff)) & (m_prg_size - 1)];
@@ -1114,7 +1114,7 @@ void nes_smb2jb_device::device_timer(emu_timer &timer, device_timer_id id, int p
}
}
-void nes_smb2jb_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_smb2jb_device::write_l)
{
uint8_t prg;
LOG_MMC(("smb2jb write_l, offset: %04x, data: %02x\n", offset, data));
@@ -1134,14 +1134,14 @@ void nes_smb2jb_device::write_l(offs_t offset, uint8_t data)
}
}
-uint8_t nes_smb2jb_device::read_m(offs_t offset)
+READ8_MEMBER(nes_smb2jb_device::read_m)
{
LOG_MMC(("smb2jb read_m, offset: %04x\n", offset));
return m_prg[((0x0f * 0x2000) + (offset & 0x1fff)) & (m_prg_size - 1)];
}
/* This goes to 0x4020-0x403f & 0x40a0-0x40bf */
-void nes_smb2jb_device::write_ex(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_smb2jb_device::write_ex)
{
uint8_t prg;
LOG_MMC(("smb2jb write_ex, offset: %04x, data: %02x\n", offset, data));
@@ -1169,7 +1169,7 @@ void nes_smb2jb_device::write_ex(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_09034a_device::write_ex(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_09034a_device::write_ex)
{
LOG_MMC(("09-034a write_ex, offset: %04x, data: %02x\n", offset, data));
@@ -1177,7 +1177,7 @@ void nes_09034a_device::write_ex(offs_t offset, uint8_t data)
m_reg = data & 1;
}
-uint8_t nes_09034a_device::read_m(offs_t offset)
+READ8_MEMBER(nes_09034a_device::read_m)
{
LOG_MMC(("09-034a read_m, offset: %04x\n", offset));
// in 0x6000-0x7fff is mapped the 2nd PRG chip which starts after 32K (hence the +4)
@@ -1198,7 +1198,7 @@ uint8_t nes_09034a_device::read_m(offs_t offset)
-------------------------------------------------*/
-void nes_tobidase_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_tobidase_device::write_l)
{
LOG_MMC(("tobidase write_h, offset: %04x, data: %02x\n", offset, data));
offset += 0x4100;
@@ -1207,7 +1207,7 @@ void nes_tobidase_device::write_l(offs_t offset, uint8_t data)
m_latch = data & 0x0f;
}
-uint8_t nes_tobidase_device::read_m(offs_t offset)
+READ8_MEMBER(nes_tobidase_device::read_m)
{
LOG_MMC(("tobidase read_m, offset: %04x\n", offset));
if (m_latch >= 0x0c)
@@ -1229,13 +1229,13 @@ uint8_t nes_tobidase_device::read_m(offs_t offset)
-------------------------------------------------*/
-uint8_t nes_lh32_device::read_m(offs_t offset)
+READ8_MEMBER(nes_lh32_device::read_m)
{
LOG_MMC(("lh32 read_m, offset: %04x\n", offset));
return m_prg[(m_latch * 0x2000) + (offset & 0x1fff)];
}
-uint8_t nes_lh32_device::read_h(offs_t offset)
+READ8_MEMBER(nes_lh32_device::read_h)
{
// LOG_MMC(("lh32 read_h, offset: %04x\n", offset));
@@ -1245,7 +1245,7 @@ uint8_t nes_lh32_device::read_h(offs_t offset)
return hi_access_rom(offset);
}
-void nes_lh32_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_lh32_device::write_m)
{
LOG_MMC(("lh32 write_m, offset: %04x, data: %02x\n", offset, data));
@@ -1256,7 +1256,7 @@ void nes_lh32_device::write_m(offs_t offset, uint8_t data)
}
}
-void nes_lh32_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_lh32_device::write_h)
{
LOG_MMC(("lh32 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1285,13 +1285,13 @@ void nes_lh10_device::update_prg()
prg8_ab(m_reg[7]);
}
-uint8_t nes_lh10_device::read_m(offs_t offset)
+READ8_MEMBER(nes_lh10_device::read_m)
{
LOG_MMC(("lh10 read_m, offset: %04x\n", offset));
return m_prg[(0x0e * 0x2000) + (offset & 0x1fff)];
}
-uint8_t nes_lh10_device::read_h(offs_t offset)
+READ8_MEMBER(nes_lh10_device::read_h)
{
// LOG_MMC(("lh10 read_h, offset: %04x\n", offset));
@@ -1301,7 +1301,7 @@ uint8_t nes_lh10_device::read_h(offs_t offset)
return hi_access_rom(offset);
}
-void nes_lh10_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_lh10_device::write_h)
{
LOG_MMC(("lh10 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1354,13 +1354,13 @@ void nes_lh53_device::device_timer(emu_timer &timer, device_timer_id id, int par
}
}
-uint8_t nes_lh53_device::read_m(offs_t offset)
+READ8_MEMBER(nes_lh53_device::read_m)
{
LOG_MMC(("lh53 read_m, offset: %04x\n", offset));
return m_prg[(m_reg * 0x2000) + (offset & 0x1fff)];
}
-uint8_t nes_lh53_device::read_h(offs_t offset)
+READ8_MEMBER(nes_lh53_device::read_h)
{
// LOG_MMC(("lh53 read_h, offset: %04x\n", offset));
@@ -1370,7 +1370,7 @@ uint8_t nes_lh53_device::read_h(offs_t offset)
return hi_access_rom(offset);
}
-void nes_lh53_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_lh53_device::write_h)
{
LOG_MMC(("lh53 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1412,7 +1412,7 @@ void nes_lh53_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-uint8_t nes_2708_device::read_m(offs_t offset)
+READ8_MEMBER(nes_2708_device::read_m)
{
LOG_MMC(("btl-2708 read_m, offset: %04x\n", offset));
if (!m_reg[1])
@@ -1421,14 +1421,14 @@ uint8_t nes_2708_device::read_m(offs_t offset)
return m_prg[(m_reg[0] * 0x2000) + (offset & 0x1fff)];
}
-void nes_2708_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_2708_device::write_m)
{
LOG_MMC(("btl-2708 write_m, offset: %04x, data: %02x\n", offset, data));
// if (!m_reg[1])
m_prgram[offset] = data; // lower 8K of WRAM
}
-uint8_t nes_2708_device::read_h(offs_t offset)
+READ8_MEMBER(nes_2708_device::read_h)
{
// LOG_MMC(("btl-2708 read_h, offset: %04x\n", offset));
@@ -1438,7 +1438,7 @@ uint8_t nes_2708_device::read_h(offs_t offset)
return hi_access_rom(offset);
}
-void nes_2708_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_2708_device::write_h)
{
LOG_MMC(("btl-2708 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1475,20 +1475,20 @@ void nes_2708_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_ac08_device::write_ex(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_ac08_device::write_ex)
{
LOG_MMC(("AC-08 write_ex, offset: %04x, data: %02x\n", offset, data));
if (offset == 5) // $4025
set_nt_mirroring(!BIT(data, 3) ? PPU_MIRROR_VERT : PPU_MIRROR_HORZ);
}
-uint8_t nes_ac08_device::read_m(offs_t offset)
+READ8_MEMBER(nes_ac08_device::read_m)
{
LOG_MMC(("AC-08 read_m, offset: %04x\n", offset));
return m_prg[(m_latch * 0x2000) + (offset & 0x1fff)];
}
-void nes_ac08_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_ac08_device::write_h)
{
LOG_MMC(("AC-08 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1511,13 +1511,13 @@ void nes_ac08_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-uint8_t nes_unl_bb_device::read_m(offs_t offset)
+READ8_MEMBER(nes_unl_bb_device::read_m)
{
LOG_MMC(("unl-bb read_m, offset: %04x\n", offset));
return m_prg[(((m_reg[0] & 3 & m_prg_mask) * 0x2000) + (offset & 0x1fff))];
}
-void nes_unl_bb_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_unl_bb_device::write_h)
{
LOG_MMC(("unl-bb write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1549,7 +1549,7 @@ void nes_unl_bb_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-uint8_t nes_mmalee_device::read_m(offs_t offset)
+READ8_MEMBER(nes_mmalee_device::read_m)
{
LOG_MMC(("mmalee read_m, offset: %04x\n", offset));
@@ -1561,7 +1561,7 @@ uint8_t nes_mmalee_device::read_m(offs_t offset)
return ((offset + 0x6000) & 0xff00) >> 8;
}
-void nes_mmalee_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_mmalee_device::write_m)
{
LOG_MMC(("mmalee write_m, offset: %04x, data: %02x\n", offset, data));
@@ -1594,7 +1594,7 @@ void nes_shuiguan_device::device_timer(emu_timer &timer, device_timer_id id, int
}
}
-void nes_shuiguan_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_shuiguan_device::write_h)
{
int bank;
LOG_MMC(("shuiguan write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1646,7 +1646,7 @@ void nes_shuiguan_device::write_h(offs_t offset, uint8_t data)
}
}
-uint8_t nes_shuiguan_device::read_m(offs_t offset)
+READ8_MEMBER(nes_shuiguan_device::read_m)
{
// always first bank??
LOG_MMC(("shuiguan read_m, offset: %04x\n", offset));
@@ -1670,7 +1670,7 @@ uint8_t nes_shuiguan_device::read_m(offs_t offset)
-------------------------------------------------*/
-uint8_t nes_rt01_device::read_h(offs_t offset)
+READ8_MEMBER(nes_rt01_device::read_h)
{
// LOG_MMC(("rt01 read_h, offset: %04x\n", offset));
diff --git a/src/devices/bus/nes/bootleg.h b/src/devices/bus/nes/bootleg.h
index 42213b131b8..a048f0955d4 100644
--- a/src/devices/bus/nes/bootleg.h
+++ b/src/devices/bus/nes/bootleg.h
@@ -14,7 +14,7 @@ public:
// construction/destruction
nes_ax5705_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -36,7 +36,7 @@ class nes_sc127_device : public nes_nrom_device
public:
// construction/destruction
nes_sc127_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void hblank_irq(int scanline, int vblank, int blanked) override;
virtual void pcb_reset() override;
@@ -58,8 +58,8 @@ class nes_mbaby_device : public nes_nrom_device
public:
// construction/destruction
nes_mbaby_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_m(offs_t offset) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -87,8 +87,8 @@ public:
// construction/destruction
nes_asn_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_m(offs_t offset) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -109,7 +109,7 @@ public:
// construction/destruction
nes_smb3p_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -134,7 +134,7 @@ class nes_btl_dn_device : public nes_nrom_device
public:
// construction/destruction
nes_btl_dn_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void hblank_irq(int scanline, int vblank, int blanked) override;
virtual void pcb_reset() override;
@@ -156,8 +156,8 @@ public:
// construction/destruction
nes_whirl2706_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_m(offs_t offset) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -178,11 +178,11 @@ public:
// construction/destruction
nes_smb2j_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_l(offs_t offset) override;
- virtual uint8_t read_m(offs_t offset) override;
- virtual void write_ex(offs_t offset, uint8_t data) override;
- virtual void write_l(offs_t offset, uint8_t data) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_l) override;
+ virtual DECLARE_READ8_MEMBER(read_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_ex) override;
+ virtual DECLARE_WRITE8_MEMBER(write_l) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -207,8 +207,8 @@ class nes_smb2ja_device : public nes_nrom_device
public:
// construction/destruction
nes_smb2ja_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_m(offs_t offset) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -233,9 +233,9 @@ class nes_smb2jb_device : public nes_nrom_device
public:
// construction/destruction
nes_smb2jb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_m(offs_t offset) override;
- virtual void write_l(offs_t offset, uint8_t data) override;
- virtual void write_ex(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_l) override;
+ virtual DECLARE_WRITE8_MEMBER(write_ex) override;
virtual void pcb_reset() override;
@@ -261,8 +261,8 @@ public:
// construction/destruction
nes_09034a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_ex(offs_t offset, uint8_t data) override;
- virtual uint8_t read_m(offs_t offset) override;
+ virtual DECLARE_WRITE8_MEMBER(write_ex) override;
+ virtual DECLARE_READ8_MEMBER(read_m) override;
virtual void pcb_reset() override;
@@ -283,8 +283,8 @@ public:
// construction/destruction
nes_tobidase_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_m(offs_t offset) override;
- virtual void write_l(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual void pcb_reset() override;
@@ -305,10 +305,10 @@ public:
// construction/destruction
nes_lh32_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_m(offs_t offset) override;
- virtual uint8_t read_h(offs_t offset) override;
- virtual void write_m(offs_t offset, uint8_t data) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_m) override;
+ virtual DECLARE_READ8_MEMBER(read_h) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -329,9 +329,9 @@ public:
// construction/destruction
nes_lh10_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_h(offs_t offset) override;
- virtual uint8_t read_m(offs_t offset) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_h) override;
+ virtual DECLARE_READ8_MEMBER(read_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -354,10 +354,10 @@ public:
// construction/destruction
nes_lh53_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_m(offs_t offset) override;
- virtual uint8_t read_h(offs_t offset) override;
- virtual void write_m(offs_t offset, uint8_t data) override {}
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_m) override;
+ virtual DECLARE_READ8_MEMBER(read_h) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override {}
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -385,10 +385,10 @@ public:
// construction/destruction
nes_2708_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_m(offs_t offset) override;
- virtual uint8_t read_h(offs_t offset) override;
- virtual void write_m(offs_t offset, uint8_t data) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_m) override;
+ virtual DECLARE_READ8_MEMBER(read_h) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -408,9 +408,9 @@ public:
// nes_ac08_device/destruction
nes_ac08_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_m(offs_t offset) override;
- virtual void write_ex(offs_t offset, uint8_t data) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_ex) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -429,8 +429,8 @@ class nes_unl_bb_device : public nes_nrom_device
public:
// construction/destruction
nes_unl_bb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_m(offs_t offset) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -450,8 +450,8 @@ public:
// construction/destruction
nes_mmalee_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_m(offs_t offset) override;
- virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void pcb_reset() override;
@@ -468,8 +468,8 @@ public:
// construction/destruction
nes_shuiguan_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_m(offs_t offset) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -496,7 +496,7 @@ public:
// construction/destruction
nes_rt01_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_h(offs_t offset) override;
+ virtual DECLARE_READ8_MEMBER(read_h) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/camerica.cpp b/src/devices/bus/nes/camerica.cpp
index 5870b2911ab..7b9d413f6c9 100644
--- a/src/devices/bus/nes/camerica.cpp
+++ b/src/devices/bus/nes/camerica.cpp
@@ -136,7 +136,7 @@ void nes_golden5_device::pcb_reset()
-------------------------------------------------*/
-void nes_bf9093_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_bf9093_device::write_h)
{
LOG_MMC(("bf9093 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -174,7 +174,7 @@ void nes_bf9093_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_bf9096_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_bf9096_device::write_h)
{
LOG_MMC(("bf9096 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -203,7 +203,7 @@ void nes_bf9096_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_golden5_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_golden5_device::write_h)
{
LOG_MMC(("golden5 write_h, offset: %04x, data: %02x\n", offset, data));
diff --git a/src/devices/bus/nes/camerica.h b/src/devices/bus/nes/camerica.h
index 7688249a64c..b7a4782c342 100644
--- a/src/devices/bus/nes/camerica.h
+++ b/src/devices/bus/nes/camerica.h
@@ -16,7 +16,7 @@ public:
// construction/destruction
nes_bf9093_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -34,8 +34,8 @@ public:
// construction/destruction
nes_bf9096_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
- virtual void write_m(offs_t offset, uint8_t data) override { write_h(offset, data); }
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override { write_h(space, offset, data, mem_mask); }
virtual void pcb_reset() override;
@@ -56,7 +56,7 @@ public:
// construction/destruction
nes_golden5_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/cne.cpp b/src/devices/bus/nes/cne.cpp
index c81e7a2bdc8..1f0ad793937 100644
--- a/src/devices/bus/nes/cne.cpp
+++ b/src/devices/bus/nes/cne.cpp
@@ -112,7 +112,7 @@ void nes_cne_shlz_device::pcb_reset()
-------------------------------------------------*/
-void nes_cne_decathl_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_cne_decathl_device::write_h)
{
LOG_MMC(("cne_decathl_w, offset: %04x, data: %02x\n", offset, data));
@@ -146,7 +146,7 @@ void nes_cne_decathl_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_cne_fsb_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_cne_fsb_device::write_m)
{
LOG_MMC(("cne_fsb write_m, offset: %04x, data: %02x\n", offset, data));
@@ -184,7 +184,7 @@ void nes_cne_fsb_device::write_m(offs_t offset, uint8_t data)
m_battery[offset] = data;
}
-uint8_t nes_cne_fsb_device::read_m(offs_t offset)
+READ8_MEMBER(nes_cne_fsb_device::read_m)
{
LOG_MMC(("cne_fsb read_m, offset: %04x\n", offset));
@@ -211,7 +211,7 @@ uint8_t nes_cne_fsb_device::read_m(offs_t offset)
-------------------------------------------------*/
-void nes_cne_shlz_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_cne_shlz_device::write_l)
{
LOG_MMC(("cne_shlz write_l, offset: %04x, data: %02x\n", offset, data));
diff --git a/src/devices/bus/nes/cne.h b/src/devices/bus/nes/cne.h
index da0623cbde3..d5e117c791a 100644
--- a/src/devices/bus/nes/cne.h
+++ b/src/devices/bus/nes/cne.h
@@ -16,7 +16,7 @@ public:
// construction/destruction
nes_cne_decathl_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -34,8 +34,8 @@ public:
// construction/destruction
nes_cne_fsb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_m(offs_t offset) override;
- virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void pcb_reset() override;
@@ -53,7 +53,7 @@ public:
// construction/destruction
nes_cne_shlz_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_l(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/cony.cpp b/src/devices/bus/nes/cony.cpp
index e42ae833f82..78c89a57141 100644
--- a/src/devices/bus/nes/cony.cpp
+++ b/src/devices/bus/nes/cony.cpp
@@ -174,7 +174,7 @@ void nes_cony_device::device_timer(emu_timer &timer, device_timer_id id, int par
}
}
-void nes_cony_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_cony_device::write_l)
{
LOG_MMC(("cony write_l, offset: %04x, data: %02x\n", offset, data));
@@ -182,7 +182,7 @@ void nes_cony_device::write_l(offs_t offset, uint8_t data)
m_low_reg[offset & 0x03] = data;
}
-uint8_t nes_cony_device::read_l(offs_t offset)
+READ8_MEMBER(nes_cony_device::read_l)
{
LOG_MMC(("cony read_l, offset: %04x\n", offset));
@@ -229,7 +229,7 @@ void nes_cony_device::set_chr()
}
}
-void nes_cony_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_cony_device::write_h)
{
LOG_MMC(("cony write_h, offset: %04x, data: %02x\n", offset, data));
@@ -310,7 +310,7 @@ void nes_cony_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_yoko_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_yoko_device::write_l)
{
LOG_MMC(("yoko write_l, offset: %04x, data: %02x\n", offset, data));
@@ -318,7 +318,7 @@ void nes_yoko_device::write_l(offs_t offset, uint8_t data)
m_low_reg[offset & 0x03] = data;
}
-uint8_t nes_yoko_device::read_l(offs_t offset)
+READ8_MEMBER(nes_yoko_device::read_l)
{
LOG_MMC(("yoko read_l, offset: %04x\n", offset));
@@ -359,7 +359,7 @@ void nes_yoko_device::set_chr()
chr2_6(m_reg[7], CHRROM);
}
-void nes_yoko_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_yoko_device::write_h)
{
LOG_MMC(("yoko write_h, offset: %04x, data: %02x\n", offset, data));
diff --git a/src/devices/bus/nes/cony.h b/src/devices/bus/nes/cony.h
index aa767a88c13..b7b759a7fe1 100644
--- a/src/devices/bus/nes/cony.h
+++ b/src/devices/bus/nes/cony.h
@@ -16,9 +16,9 @@ public:
// construction/destruction
nes_cony_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_l(offs_t offset) override;
- virtual void write_l(offs_t offset, uint8_t data) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_l) override;
+ virtual DECLARE_WRITE8_MEMBER(write_l) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -54,9 +54,9 @@ public:
// construction/destruction
nes_yoko_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_l(offs_t offset) override;
- virtual void write_l(offs_t offset, uint8_t data) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_l) override;
+ virtual DECLARE_WRITE8_MEMBER(write_l) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/datach.cpp b/src/devices/bus/nes/datach.cpp
index 5262b6d927a..c8549924f68 100644
--- a/src/devices/bus/nes/datach.cpp
+++ b/src/devices/bus/nes/datach.cpp
@@ -52,7 +52,7 @@ datach_cart_interface::~datach_cart_interface()
{
}
-uint8_t datach_cart_interface::read(offs_t offset)
+READ8_MEMBER(datach_cart_interface::read)
{
if (offset < 0x4000)
return m_rom[(m_bank * 0x4000) + (offset & 0x3fff)];
@@ -84,10 +84,10 @@ void nes_datach_slot_device::device_start()
m_cart = dynamic_cast<datach_cart_interface *>(get_card_device());
}
-uint8_t nes_datach_slot_device::read(offs_t offset)
+READ8_MEMBER(nes_datach_slot_device::read)
{
if (m_cart)
- return m_cart->read(offset);
+ return m_cart->read(space, offset, mem_mask);
return 0xff;
}
@@ -201,10 +201,9 @@ uint8_t *nes_datach_rom_device::get_cart_base()
}
-void nes_datach_24c01_device::device_add_mconfig(machine_config &config)
-{
- I2C_24C01(config, m_i2cmem);
-}
+MACHINE_CONFIG_START(nes_datach_24c01_device::device_add_mconfig)
+ MCFG_24C01_ADD("i2cmem")
+MACHINE_CONFIG_END
//---------------------------------
@@ -284,7 +283,7 @@ void nes_datach_device::pcb_reset()
-------------------------------------------------*/
-uint8_t nes_datach_device::read_m(offs_t offset)
+READ8_MEMBER(nes_datach_device::read_m)
{
LOG_MMC(("Datach read_m, offset: %04x\n", offset));
uint8_t i2c_val = 0;
@@ -301,19 +300,19 @@ uint8_t nes_datach_device::read_m(offs_t offset)
}
-uint8_t nes_datach_device::read_h(offs_t offset)
+READ8_MEMBER(nes_datach_device::read_h)
{
LOG_MMC(("Datach read_h, offset: %04x\n", offset));
// this shall be the proper code, but it's a bit slower, so we access directly the subcart below
- //return m_subslot->read(offset);
+ //return m_subslot->read(space, offset, mem_mask);
if (m_subslot->m_cart)
- return m_subslot->m_cart->read(offset);
+ return m_subslot->m_cart->read(space, offset, mem_mask);
else // this is "fake" in the sense that we fill CPU space with 0xff if no Datach cart is loaded
return hi_access_rom(offset);
}
-void nes_datach_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_datach_device::write_h)
{
LOG_MMC(("Datach write_h, offset: %04x, data: %02x\n", offset, data));
@@ -353,7 +352,7 @@ void nes_datach_device::write_h(offs_t offset, uint8_t data)
#endif
break;
default:
- fcg_write(offset & 0x0f, data);
+ fcg_write(space, offset & 0x0f, data, mem_mask);
break;
}
}
@@ -369,12 +368,11 @@ static void datach_cart(device_slot_interface &device)
}
-void nes_datach_device::device_add_mconfig(machine_config &config)
-{
- BARCODE_READER(config, m_reader, 0);
- NES_DATACH_SLOT(config, m_subslot, 0, datach_cart);
- I2C_24C02(config, m_i2cmem);
-}
+MACHINE_CONFIG_START(nes_datach_device::device_add_mconfig)
+ BARCODE_READER(config, "datach", 0);
+ MCFG_DATACH_MINICART_ADD("datach_slot", datach_cart)
+ MCFG_24C02_ADD("i2cmem")
+MACHINE_CONFIG_END
//-------------------------------------------------
diff --git a/src/devices/bus/nes/datach.h b/src/devices/bus/nes/datach.h
index 81865baa69f..5d4decd64fa 100644
--- a/src/devices/bus/nes/datach.h
+++ b/src/devices/bus/nes/datach.h
@@ -25,7 +25,7 @@ public:
virtual ~datach_cart_interface();
// reading and writing
- virtual uint8_t read(offs_t offset);
+ virtual DECLARE_READ8_MEMBER(read);
uint8_t *get_cart_base() { return m_rom; }
void write_prg_bank(uint8_t bank) { m_bank = bank; }
@@ -52,15 +52,6 @@ class nes_datach_slot_device : public device_t,
friend class nes_datach_device;
public:
// construction/destruction
- template <typename T>
- nes_datach_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock, T &&opts)
- : nes_datach_slot_device(mconfig, tag, owner, clock)
- {
- option_reset();
- opts(*this);
- set_default_option(nullptr);
- set_fixed(false);
- }
nes_datach_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~nes_datach_slot_device();
@@ -83,7 +74,7 @@ public:
// slot interface overrides
virtual std::string get_default_card_software(get_default_card_software_hook &hook) const override;
- uint8_t read(offs_t offset);
+ virtual DECLARE_READ8_MEMBER(read);
void write_prg_bank(uint8_t bank) { if (m_cart) m_cart->write_prg_bank(bank); }
protected:
@@ -94,6 +85,11 @@ protected:
DECLARE_DEVICE_TYPE(NES_DATACH_SLOT, nes_datach_slot_device)
+#define MCFG_DATACH_MINICART_ADD(_tag, _slot_intf) \
+ MCFG_DEVICE_ADD(_tag, NES_DATACH_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, nullptr, false)
+
+
//--------------------------------
//
// Datach Minicart implementation
@@ -152,9 +148,9 @@ public:
// construction/destruction
nes_datach_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_m(offs_t offset) override;
- virtual uint8_t read_h(offs_t offset) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_m) override;
+ virtual DECLARE_READ8_MEMBER(read_h) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/discrete.cpp b/src/devices/bus/nes/discrete.cpp
index 2fb7883d063..2e1f6a4c81b 100644
--- a/src/devices/bus/nes/discrete.cpp
+++ b/src/devices/bus/nes/discrete.cpp
@@ -134,7 +134,7 @@ void nes_74x161x138_device::pcb_reset()
-------------------------------------------------*/
// there are two 'variants' depending on hardwired or mapper ctrl mirroring
-void nes_74x161x161x32_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_74x161x161x32_device::write_h)
{
LOG_MMC(("74x161x161x32 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -155,7 +155,7 @@ void nes_74x161x161x32_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_74x139x74_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_74x139x74_device::write_m)
{
LOG_MMC(("74x139x74 write_m, offset: %04x, data: %02x\n", offset, data));
@@ -179,7 +179,7 @@ void nes_74x139x74_device::write_m(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_74x377_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_74x377_device::write_h)
{
LOG_MMC(("74x377 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -200,7 +200,7 @@ void nes_74x377_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_74x161x138_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_74x161x138_device::write_m)
{
LOG_MMC(("74x161x138 write_m, offset: %04x, data: %02x\n", offset, data));
diff --git a/src/devices/bus/nes/discrete.h b/src/devices/bus/nes/discrete.h
index 861b8b643bf..51576a77e41 100644
--- a/src/devices/bus/nes/discrete.h
+++ b/src/devices/bus/nes/discrete.h
@@ -16,7 +16,7 @@ public:
// construction/destruction
nes_74x161x161x32_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -34,7 +34,7 @@ public:
// construction/destruction
nes_74x139x74_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void pcb_reset() override;
@@ -52,7 +52,7 @@ public:
// construction/destruction
nes_74x377_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -70,7 +70,7 @@ public:
// construction/destruction
nes_74x161x138_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/disksys.cpp b/src/devices/bus/nes/disksys.cpp
index 71101492822..0f350fb7922 100644
--- a/src/devices/bus/nes/disksys.cpp
+++ b/src/devices/bus/nes/disksys.cpp
@@ -51,10 +51,9 @@ static const floppy_interface nes_floppy_interface =
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void nes_disksys_device::device_add_mconfig(machine_config &config)
-{
- LEGACY_FLOPPY(config, FLOPPY_0, 0, &nes_floppy_interface);
-}
+MACHINE_CONFIG_START(nes_disksys_device::device_add_mconfig)
+ MCFG_LEGACY_FLOPPY_DRIVE_ADD(FLOPPY_0, nes_floppy_interface)
+MACHINE_CONFIG_END
ROM_START( disksys )
@@ -173,7 +172,7 @@ void nes_disksys_device::pcb_reset()
-------------------------------------------------*/
-void nes_disksys_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_disksys_device::write_h)
{
LOG_MMC(("Famicom Disk System write_h, offset %04x, data: %02x\n", offset, data));
@@ -181,7 +180,7 @@ void nes_disksys_device::write_h(offs_t offset, uint8_t data)
m_prgram[offset + 0x2000] = data;
}
-uint8_t nes_disksys_device::read_h(offs_t offset)
+READ8_MEMBER(nes_disksys_device::read_h)
{
LOG_MMC(("Famicom Disk System read_h, offset: %04x\n", offset));
@@ -191,13 +190,13 @@ uint8_t nes_disksys_device::read_h(offs_t offset)
return m_2c33_rom[offset & 0x1fff];
}
-void nes_disksys_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_disksys_device::write_m)
{
LOG_MMC(("Famicom Disk System write_m, offset: %04x, data: %02x\n", offset, data));
m_prgram[offset] = data;
}
-uint8_t nes_disksys_device::read_m(offs_t offset)
+READ8_MEMBER(nes_disksys_device::read_m)
{
LOG_MMC(("Famicom Disk System read_m, offset: %04x\n", offset));
return m_prgram[offset];
@@ -209,7 +208,7 @@ void nes_disksys_device::hblank_irq(int scanline, int vblank, int blanked)
hold_irq_line();
}
-void nes_disksys_device::write_ex(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_disksys_device::write_ex)
{
LOG_MMC(("Famicom Disk System write_ex, offset: %04x, data: %02x\n", offset, data));
@@ -281,7 +280,7 @@ void nes_disksys_device::write_ex(offs_t offset, uint8_t data)
}
}
-uint8_t nes_disksys_device::read_ex(offs_t offset)
+READ8_MEMBER(nes_disksys_device::read_ex)
{
LOG_MMC(("Famicom Disk System read_ex, offset: %04x\n", offset));
uint8_t ret;
diff --git a/src/devices/bus/nes/disksys.h b/src/devices/bus/nes/disksys.h
index 1e3e45afb1e..907ee06abef 100644
--- a/src/devices/bus/nes/disksys.h
+++ b/src/devices/bus/nes/disksys.h
@@ -17,12 +17,12 @@ public:
// construction/destruction
nes_disksys_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_ex(offs_t offset) override;
- virtual uint8_t read_m(offs_t offset) override;
- virtual uint8_t read_h(offs_t offset) override;
- virtual void write_ex(offs_t offset, uint8_t data) override;
- virtual void write_m(offs_t offset, uint8_t data) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_ex) override;
+ virtual DECLARE_READ8_MEMBER(read_m) override;
+ virtual DECLARE_READ8_MEMBER(read_h) override;
+ virtual DECLARE_WRITE8_MEMBER(write_ex) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void disk_flip_side() override;
diff --git a/src/devices/bus/nes/ggenie.cpp b/src/devices/bus/nes/ggenie.cpp
index bb5866feac7..462c9c5da37 100644
--- a/src/devices/bus/nes/ggenie.cpp
+++ b/src/devices/bus/nes/ggenie.cpp
@@ -80,7 +80,7 @@ void nes_ggenie_device::pcb_reset()
-------------------------------------------------*/
-void nes_ggenie_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_ggenie_device::write_h)
{
// LOG_MMC(("axrom write_h, offset: %04x, data: %02x\n", offset, data));
if (!m_gg_bypass)
@@ -150,22 +150,22 @@ void nes_ggenie_device::write_h(offs_t offset, uint8_t data)
}
}
else
- m_ggslot->write_h(offset, data);
+ m_ggslot->write_h(space, offset, data, mem_mask);
}
-void nes_ggenie_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_ggenie_device::write_m)
{
if (m_gg_bypass && m_ggslot)
- m_ggslot->write_m(offset, data);
+ m_ggslot->write_m(space, offset, data, mem_mask);
}
-void nes_ggenie_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_ggenie_device::write_l)
{
if (m_gg_bypass && m_ggslot)
- m_ggslot->write_l(offset, data);
+ m_ggslot->write_l(space, offset, data, mem_mask);
}
-uint8_t nes_ggenie_device::read_h(offs_t offset)
+READ8_MEMBER(nes_ggenie_device::read_h)
{
if (m_gg_bypass && m_ggslot->m_cart)
{
@@ -186,29 +186,29 @@ uint8_t nes_ggenie_device::read_h(offs_t offset)
return hi_access_rom(offset);
}
-uint8_t nes_ggenie_device::read_m(offs_t offset)
+READ8_MEMBER(nes_ggenie_device::read_m)
{
if (m_gg_bypass && m_ggslot->m_cart)
- return m_ggslot->m_cart->read_m(offset);
+ return m_ggslot->m_cart->read_m(space, offset, mem_mask);
return 0xff;
}
-uint8_t nes_ggenie_device::read_l(offs_t offset)
+READ8_MEMBER(nes_ggenie_device::read_l)
{
if (m_gg_bypass && m_ggslot->m_cart)
- return m_ggslot->m_cart->read_l(offset);
+ return m_ggslot->m_cart->read_l(space, offset, mem_mask);
return 0xff;
}
-void nes_ggenie_device::chr_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_ggenie_device::chr_w)
{
int bank = offset >> 10;
if (m_gg_bypass && m_ggslot->m_cart)
{
- m_ggslot->m_cart->chr_w(offset, data);
+ m_ggslot->m_cart->chr_w(space, offset, data, mem_mask);
return;
}
@@ -216,24 +216,24 @@ void nes_ggenie_device::chr_w(offs_t offset, uint8_t data)
m_chr_access[bank][offset & 0x3ff] = data;
}
-uint8_t nes_ggenie_device::chr_r(offs_t offset)
+READ8_MEMBER(nes_ggenie_device::chr_r)
{
int bank = offset >> 10;
if (m_gg_bypass && m_ggslot->m_cart)
- return m_ggslot->m_cart->chr_r(offset);
+ return m_ggslot->m_cart->chr_r(space, offset, mem_mask);
return m_chr_access[bank][offset & 0x3ff];
}
-void nes_ggenie_device::nt_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_ggenie_device::nt_w)
{
int page = ((offset & 0xc00) >> 10);
if (m_gg_bypass && m_ggslot->m_cart)
{
- m_ggslot->m_cart->nt_w(offset, data);
+ m_ggslot->m_cart->nt_w(space, offset, data, mem_mask);
return;
}
@@ -243,12 +243,12 @@ void nes_ggenie_device::nt_w(offs_t offset, uint8_t data)
m_nt_access[page][offset & 0x3ff] = data;
}
-uint8_t nes_ggenie_device::nt_r(offs_t offset)
+READ8_MEMBER(nes_ggenie_device::nt_r)
{
int page = ((offset & 0xc00) >> 10);
if (m_gg_bypass && m_ggslot->m_cart)
- return m_ggslot->m_cart->nt_r(offset);
+ return m_ggslot->m_cart->nt_r(space, offset, mem_mask);
return m_nt_access[page][offset & 0x3ff];
}
diff --git a/src/devices/bus/nes/ggenie.h b/src/devices/bus/nes/ggenie.h
index 2d6974be849..1ca577ec7b0 100644
--- a/src/devices/bus/nes/ggenie.h
+++ b/src/devices/bus/nes/ggenie.h
@@ -16,17 +16,17 @@ public:
// construction/destruction
nes_ggenie_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_l(offs_t offset) override;
- virtual uint8_t read_m(offs_t offset) override;
- virtual uint8_t read_h(offs_t offset) override;
- virtual void write_l(offs_t offset, uint8_t data) override;
- virtual void write_m(offs_t offset, uint8_t data) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
-
- virtual uint8_t chr_r(offs_t offset) override;
- virtual void chr_w(offs_t offset, uint8_t data) override;
- virtual uint8_t nt_r(offs_t offset) override;
- virtual void nt_w(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_l) override;
+ virtual DECLARE_READ8_MEMBER(read_m) override;
+ virtual DECLARE_READ8_MEMBER(read_h) override;
+ virtual DECLARE_WRITE8_MEMBER(write_l) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
+
+ virtual DECLARE_READ8_MEMBER(chr_r) override;
+ virtual DECLARE_WRITE8_MEMBER(chr_w) override;
+ virtual DECLARE_READ8_MEMBER(nt_r) override;
+ virtual DECLARE_WRITE8_MEMBER(nt_w) override;
void hblank_irq(int scanline, int vblank, int blanked) override { if (m_gg_bypass && m_ggslot->m_cart) m_ggslot->m_cart->hblank_irq(scanline, vblank, blanked); }
void scanline_irq(int scanline, int vblank, int blanked) override { if (m_gg_bypass && m_ggslot->m_cart) m_ggslot->m_cart->scanline_irq(scanline, vblank, blanked); }
diff --git a/src/devices/bus/nes/henggedianzi.cpp b/src/devices/bus/nes/henggedianzi.cpp
index 0f9acd05d45..5d75850a0c8 100644
--- a/src/devices/bus/nes/henggedianzi.cpp
+++ b/src/devices/bus/nes/henggedianzi.cpp
@@ -135,7 +135,7 @@ void nes_hengg_shjy3_device::pcb_reset()
-------------------------------------------------*/
-void nes_hengg_srich_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_hengg_srich_device::write_h)
{
LOG_MMC(("hengg_srich write_h, offset: %04x, data: %02x\n", offset, data));
@@ -162,7 +162,7 @@ void nes_hengg_srich_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_hengg_xhzs_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_hengg_xhzs_device::write_l)
{
LOG_MMC(("hengg_xhzs write_l, offset: %04x, data: %02x\n", offset, data));
offset += 0x4100;
@@ -171,7 +171,7 @@ void nes_hengg_xhzs_device::write_l(offs_t offset, uint8_t data)
prg32(data >> 1);
}
-void nes_hengg_xhzs_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_hengg_xhzs_device::write_h)
{
LOG_MMC(("hengg_xhzs write_h, offset: %04x, data: %02x\n", offset, data));
@@ -225,7 +225,7 @@ void nes_hengg_shjy3_device::update_banks()
}
}
-void nes_hengg_shjy3_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_hengg_shjy3_device::write_h)
{
LOG_MMC(("shjy3 write_h, offset: %04x, data: %02x\n", offset, data));
diff --git a/src/devices/bus/nes/henggedianzi.h b/src/devices/bus/nes/henggedianzi.h
index 0bf0b2faebc..d74da743425 100644
--- a/src/devices/bus/nes/henggedianzi.h
+++ b/src/devices/bus/nes/henggedianzi.h
@@ -16,7 +16,7 @@ public:
// construction/destruction
nes_hengg_srich_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -34,8 +34,8 @@ public:
// construction/destruction
nes_hengg_xhzs_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_l(offs_t offset, uint8_t data) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_l) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -53,7 +53,7 @@ public:
// construction/destruction
nes_hengg_shjy3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void hblank_irq(int scanline, int vblank, int blanked) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/hes.cpp b/src/devices/bus/nes/hes.cpp
index 946ea1f9585..8d1d3a7a590 100644
--- a/src/devices/bus/nes/hes.cpp
+++ b/src/devices/bus/nes/hes.cpp
@@ -73,7 +73,7 @@ void nes_hes_device::pcb_reset()
-------------------------------------------------*/
-void nes_hes_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_hes_device::write_l)
{
LOG_MMC(("hes write_l, offset: %04x, data: %02x\n", offset, data));
diff --git a/src/devices/bus/nes/hes.h b/src/devices/bus/nes/hes.h
index ea72578ad98..d45d20a1a3f 100644
--- a/src/devices/bus/nes/hes.h
+++ b/src/devices/bus/nes/hes.h
@@ -16,7 +16,7 @@ public:
// construction/destruction
nes_hes_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_l(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/hosenkan.cpp b/src/devices/bus/nes/hosenkan.cpp
index ae7749b7e9a..4200655897e 100644
--- a/src/devices/bus/nes/hosenkan.cpp
+++ b/src/devices/bus/nes/hosenkan.cpp
@@ -105,7 +105,7 @@ void nes_hosenkan_device::hblank_irq( int scanline, int vblank, int blanked )
m_irq_clear = 0;
}
-void nes_hosenkan_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_hosenkan_device::write_h)
{
LOG_MMC(("hosenkan write_h, offset: %04x, data: %02x\n", offset, data));
diff --git a/src/devices/bus/nes/hosenkan.h b/src/devices/bus/nes/hosenkan.h
index 163aef76edc..153638a9cbe 100644
--- a/src/devices/bus/nes/hosenkan.h
+++ b/src/devices/bus/nes/hosenkan.h
@@ -16,7 +16,7 @@ public:
// construction/destruction
nes_hosenkan_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void hblank_irq(int scanline, int vblank, int blanked) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/irem.cpp b/src/devices/bus/nes/irem.cpp
index c55cb588506..15ef687dbea 100644
--- a/src/devices/bus/nes/irem.cpp
+++ b/src/devices/bus/nes/irem.cpp
@@ -166,7 +166,7 @@ void nes_h3001_device::pcb_reset()
-------------------------------------------------*/
-void nes_lrog017_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_lrog017_device::write_h)
{
LOG_MMC(("lrog017 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -185,7 +185,7 @@ void nes_lrog017_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_holydivr_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_holydivr_device::write_h)
{
LOG_MMC(("holy diver write_h, offset: %04x, data: %02x\n", offset, data));
@@ -209,7 +209,7 @@ void nes_holydivr_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_tam_s1_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_tam_s1_device::write_h)
{
LOG_MMC(("tam s1 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -233,7 +233,7 @@ void nes_tam_s1_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_g101_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_g101_device::write_h)
{
LOG_MMC(("g101 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -299,7 +299,7 @@ void nes_h3001_device::device_timer(emu_timer &timer, device_timer_id id, int pa
}
}
-void nes_h3001_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_h3001_device::write_h)
{
LOG_MMC(("h3001 write_h, offset %04x, data: %02x\n", offset, data));
diff --git a/src/devices/bus/nes/irem.h b/src/devices/bus/nes/irem.h
index 82fd0815c38..a50077e70a3 100644
--- a/src/devices/bus/nes/irem.h
+++ b/src/devices/bus/nes/irem.h
@@ -16,7 +16,7 @@ public:
// construction/destruction
nes_lrog017_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -34,7 +34,7 @@ public:
// construction/destruction
nes_holydivr_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -52,7 +52,7 @@ public:
// construction/destruction
nes_tam_s1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -70,7 +70,7 @@ public:
// construction/destruction
nes_g101_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -90,7 +90,7 @@ public:
// construction/destruction
nes_h3001_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/jaleco.cpp b/src/devices/bus/nes/jaleco.cpp
index 740c3c799b8..907580d6a1e 100644
--- a/src/devices/bus/nes/jaleco.cpp
+++ b/src/devices/bus/nes/jaleco.cpp
@@ -253,7 +253,7 @@ void nes_ss88006_device::pcb_reset()
-------------------------------------------------*/
-void nes_jf11_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_jf11_device::write_m)
{
LOG_MMC(("jf11 write_m, offset: %04x, data: %02x\n", offset, data));
chr8(data, CHRROM);
@@ -274,7 +274,7 @@ void nes_jf11_device::write_m(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_jf13_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_jf13_device::write_m)
{
LOG_MMC(("jf13 write_m, offset: %04x, data: %02x\n", offset, data));
@@ -301,7 +301,7 @@ void nes_jf13_device::write_m(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_jf16_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_jf16_device::write_h)
{
LOG_MMC(("jf16 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -330,7 +330,7 @@ void nes_jf16_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_jf17_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_jf17_device::write_h)
{
LOG_MMC(("jf17 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -345,7 +345,7 @@ void nes_jf17_device::write_h(offs_t offset, uint8_t data)
m_latch = data;
}
-void nes_jf17_adpcm_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_jf17_adpcm_device::write_h)
{
LOG_MMC(("jf17 + ADPCM write_h, offset: %04x, data: %02x\n", offset, data));
@@ -379,7 +379,7 @@ void nes_jf17_adpcm_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_jf19_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_jf19_device::write_h)
{
LOG_MMC(("jf19 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -392,7 +392,7 @@ void nes_jf19_device::write_h(offs_t offset, uint8_t data)
chr8(data & 0x0f, CHRROM);
}
-void nes_jf19_adpcm_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_jf19_adpcm_device::write_h)
{
LOG_MMC(("jf19 + ADPCM write_h, offset: %04x, data: %02x\n", offset, data));
@@ -474,7 +474,7 @@ void nes_ss88006_device::device_timer(emu_timer &timer, device_timer_id id, int
}
}
-void nes_ss88006_device::ss88006_write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_ss88006_device::ss88006_write)
{
uint8_t bank;
LOG_MMC(("ss88006 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -564,7 +564,7 @@ void nes_ss88006_device::ss88006_write(offs_t offset, uint8_t data)
// bits2-bits6 are sample number, bit1 is setup/enable/disable
// program first write sample # + bit1 set to 'init' the sample
// then it writes sample # + bit1 clear to 'start' the sample
-void nes_ss88006_adpcm_device::ss88006_adpcm_write(offs_t offset, uint8_t data, samples_device &dev)
+void nes_ss88006_adpcm_device::ss88006_adpcm_write(address_space &space, offs_t offset, uint8_t data, samples_device *dev)
{
LOG_MMC(("ss88006 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -575,13 +575,13 @@ void nes_ss88006_adpcm_device::ss88006_adpcm_write(offs_t offset, uint8_t data,
{
// printf("sample write: data: %02x\n", data);
if ((m_latch & 2) && !(data & 2))
- dev.start((data >> 2) & 0x1f, (data >> 2) & 0x1f);
+ dev->start((data >> 2) & 0x1f, (data >> 2) & 0x1f);
}
m_latch = data;
break;
default:
- ss88006_write(offset, data);
+ ss88006_write(space, offset, data);
break;
}
}
diff --git a/src/devices/bus/nes/jaleco.h b/src/devices/bus/nes/jaleco.h
index 53cc5716ce3..ed8c04da7a0 100644
--- a/src/devices/bus/nes/jaleco.h
+++ b/src/devices/bus/nes/jaleco.h
@@ -17,7 +17,7 @@ public:
// construction/destruction
nes_jf11_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void pcb_reset() override;
@@ -35,7 +35,7 @@ public:
// construction/destruction
nes_jf13_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void pcb_reset() override;
@@ -58,7 +58,7 @@ public:
// construction/destruction
nes_jf16_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -76,7 +76,7 @@ public:
// construction/destruction
nes_jf17_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -98,7 +98,7 @@ public:
// construction/destruction
nes_jf17_adpcm_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
protected:
virtual void device_add_mconfig(machine_config &config) override;
@@ -116,7 +116,7 @@ public:
// construction/destruction
nes_jf19_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -136,7 +136,7 @@ public:
// construction/destruction
nes_jf19_adpcm_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
protected:
virtual void device_add_mconfig(machine_config &config) override;
@@ -154,8 +154,8 @@ public:
// construction/destruction
nes_ss88006_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- void ss88006_write(offs_t offset, uint8_t data);
- virtual void write_h(offs_t offset, uint8_t data) override { ss88006_write(offset, data); }
+ virtual DECLARE_WRITE8_MEMBER(ss88006_write);
+ virtual DECLARE_WRITE8_MEMBER(write_h) override { ss88006_write(space, offset, data, mem_mask); }
virtual void pcb_reset() override;
@@ -188,7 +188,7 @@ protected:
// construction/destruction
nes_ss88006_adpcm_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
- void ss88006_adpcm_write(offs_t offset, uint8_t data, samples_device &dev);
+ void ss88006_adpcm_write(address_space &space, offs_t offset, uint8_t data, samples_device *dev);
};
@@ -204,7 +204,7 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
private:
- virtual void write_h(offs_t offset, uint8_t data) override { ss88006_adpcm_write(offset, data, *m_samples); }
+ virtual DECLARE_WRITE8_MEMBER(write_h) override { ss88006_adpcm_write(space, offset, data, m_samples); }
required_device<samples_device> m_samples;
};
@@ -222,7 +222,7 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
private:
- virtual void write_h(offs_t offset, uint8_t data) override { ss88006_adpcm_write(offset, data, *m_samples); }
+ virtual DECLARE_WRITE8_MEMBER(write_h) override { ss88006_adpcm_write(space, offset, data, m_samples); }
required_device<samples_device> m_samples;
};
@@ -240,7 +240,7 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
private:
- virtual void write_h(offs_t offset, uint8_t data) override { ss88006_adpcm_write(offset, data, *m_samples); }
+ virtual DECLARE_WRITE8_MEMBER(write_h) override { ss88006_adpcm_write(space, offset, data, m_samples); }
required_device<samples_device> m_samples;
};
@@ -258,7 +258,7 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
private:
- virtual void write_h(offs_t offset, uint8_t data) override { ss88006_adpcm_write(offset, data, *m_samples); }
+ virtual DECLARE_WRITE8_MEMBER(write_h) override { ss88006_adpcm_write(space, offset, data, m_samples); }
required_device<samples_device> m_samples;
};
diff --git a/src/devices/bus/nes/jy.cpp b/src/devices/bus/nes/jy.cpp
index 8a54624cd5a..33c1e6e6cac 100644
--- a/src/devices/bus/nes/jy.cpp
+++ b/src/devices/bus/nes/jy.cpp
@@ -144,14 +144,14 @@ void nes_jy_typea_device::pcb_reset()
-------------------------------------------------*/
-uint8_t nes_jy_typea_device::nt_r(offs_t offset)
+READ8_MEMBER(nes_jy_typea_device::nt_r)
{
int page = ((offset & 0xc00) >> 10);
irq_clock(0, 2);
return m_nt_access[page][offset & 0x3ff];
}
-uint8_t nes_jy_typea_device::chr_r(offs_t offset)
+READ8_MEMBER(nes_jy_typea_device::chr_r)
{
int bank = offset >> 10;
irq_clock(0, 2);
@@ -241,7 +241,7 @@ void nes_jy_typea_device::scanline_irq(int scanline, int vblank, int blanked)
// 0x5000-0x5fff : sort of protection?
-uint8_t nes_jy_typea_device::read_l(offs_t offset)
+READ8_MEMBER(nes_jy_typea_device::read_l)
{
LOG_MMC(("JY Company write_m, offset: %04x\n", offset));
offset += 0x100;
@@ -249,7 +249,7 @@ uint8_t nes_jy_typea_device::read_l(offs_t offset)
if (offset >= 0x1000 && offset < 0x1800)
{
// bit6/bit7 DSW read
- return get_open_bus() & 0x3f;
+ return m_open_bus & 0x3f;
}
if (offset >= 0x1800)
@@ -262,10 +262,10 @@ uint8_t nes_jy_typea_device::read_l(offs_t offset)
return m_latch;
}
- return get_open_bus(); // open bus
+ return m_open_bus; // open bus
}
-void nes_jy_typea_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_jy_typea_device::write_l)
{
LOG_MMC(("JY Company write_m, offset: %04x, data: %02x\n", offset, data));
offset += 0x100;
@@ -282,14 +282,14 @@ void nes_jy_typea_device::write_l(offs_t offset, uint8_t data)
}
// 0x6000-0x7fff : WRAM or open bus
-uint8_t nes_jy_typea_device::read_m(offs_t offset)
+READ8_MEMBER(nes_jy_typea_device::read_m)
{
LOG_MMC(("JY Company write_m, offset: %04x\n", offset));
if (m_reg[0] & 0x80)
return m_prg[(m_bank_6000 & m_prg_mask) * 0x2000 + (offset & 0x1fff)];
- return get_open_bus(); // open bus
+ return m_open_bus; // open bus
}
@@ -425,7 +425,7 @@ void nes_jy_typea_device::update_banks(int reg)
}
-void nes_jy_typea_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_jy_typea_device::write_h)
{
LOG_MMC(("JY Company write_m, offset: %04x, data: %02x\n", offset, data));
@@ -569,7 +569,7 @@ void nes_jy_typec_device::update_mirror_typec()
update_mirror_typea();
}
-uint8_t nes_jy_typec_device::chr_r(offs_t offset)
+READ8_MEMBER(nes_jy_typec_device::chr_r)
{
int bank = offset >> 10;
diff --git a/src/devices/bus/nes/jy.h b/src/devices/bus/nes/jy.h
index d318bfae60a..80be5d98631 100644
--- a/src/devices/bus/nes/jy.h
+++ b/src/devices/bus/nes/jy.h
@@ -16,13 +16,13 @@ public:
// construction/destruction
nes_jy_typea_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_l(offs_t offset) override;
- virtual uint8_t read_m(offs_t offset) override;
- virtual void write_l(offs_t offset, uint8_t data) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_l) override;
+ virtual DECLARE_READ8_MEMBER(read_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_l) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
- virtual uint8_t chr_r(offs_t offset) override;
- virtual uint8_t nt_r(offs_t offset) override;
+ virtual DECLARE_READ8_MEMBER(chr_r) override;
+ virtual DECLARE_READ8_MEMBER(nt_r) override;
virtual void scanline_irq(int scanline, int vblank, int blanked) override;
virtual void pcb_reset() override;
@@ -90,7 +90,7 @@ public:
// construction/destruction
nes_jy_typec_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t chr_r(offs_t offset) override;
+ virtual DECLARE_READ8_MEMBER(chr_r) override;
protected:
void update_mirror_typec();
diff --git a/src/devices/bus/nes/kaiser.cpp b/src/devices/bus/nes/kaiser.cpp
index 52690376e4b..2e228782785 100644
--- a/src/devices/bus/nes/kaiser.cpp
+++ b/src/devices/bus/nes/kaiser.cpp
@@ -295,7 +295,7 @@ void nes_ks7037_device::pcb_reset()
-------------------------------------------------*/
-void nes_ks7058_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_ks7058_device::write_h)
{
LOG_MMC(("ks7058 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -322,7 +322,7 @@ void nes_ks7058_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_ks7022_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_ks7022_device::write_h)
{
LOG_MMC(("ks7022 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -333,7 +333,7 @@ void nes_ks7022_device::write_h(offs_t offset, uint8_t data)
m_latch = data & 0x0f;
}
-uint8_t nes_ks7022_device::read_h(offs_t offset)
+READ8_MEMBER(nes_ks7022_device::read_h)
{
LOG_MMC(("ks7022 read_h, offset: %04x\n", offset));
@@ -388,7 +388,7 @@ void nes_ks7032_device::prg_update()
prg8_cd(m_reg[3]);
}
-void nes_ks7032_device::ks7032_write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_ks7032_device::ks7032_write)
{
LOG_MMC(("ks7032_write, offset: %04x, data: %02x\n", offset, data));
@@ -419,7 +419,7 @@ void nes_ks7032_device::ks7032_write(offs_t offset, uint8_t data)
}
}
-uint8_t nes_ks7032_device::read_m(offs_t offset)
+READ8_MEMBER(nes_ks7032_device::read_m)
{
LOG_MMC(("ks7032 read_m, offset: %04x\n", offset));
return m_prg[((m_reg[4] * 0x2000) + (offset & 0x1fff)) & (m_prg_size - 1)];
@@ -438,7 +438,7 @@ uint8_t nes_ks7032_device::read_m(offs_t offset)
-------------------------------------------------*/
-void nes_ks202_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_ks202_device::write_h)
{
LOG_MMC(("ks202 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -458,12 +458,12 @@ void nes_ks202_device::write_h(offs_t offset, uint8_t data)
}
break;
default:
- ks7032_write(offset, data);
+ ks7032_write(space, offset, data, mem_mask);
break;
}
}
-uint8_t nes_ks202_device::read_m(offs_t offset)
+READ8_MEMBER(nes_ks202_device::read_m)
{
LOG_MMC(("ks202 read_m, offset: %04x\n", offset));
return m_prgram[offset & 0x1fff];
@@ -499,7 +499,7 @@ void nes_ks7017_device::device_timer(emu_timer &timer, device_timer_id id, int p
}
}
-void nes_ks7017_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_ks7017_device::write_l)
{
LOG_MMC(("ks7017 write_l, offset: %04x, data: %02x\n", offset, data));
@@ -512,7 +512,7 @@ void nes_ks7017_device::write_l(offs_t offset, uint8_t data)
prg16_89ab(m_latch);
}
-void nes_ks7017_device::write_ex(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_ks7017_device::write_ex)
{
LOG_MMC(("ks7017 write_ex, offset: %04x, data: %02x\n", offset, data));
offset += 0x20;
@@ -530,7 +530,7 @@ void nes_ks7017_device::write_ex(offs_t offset, uint8_t data)
set_nt_mirroring(BIT(data, 3) ? PPU_MIRROR_HORZ : PPU_MIRROR_VERT);
}
-uint8_t nes_ks7017_device::read_ex(offs_t offset)
+READ8_MEMBER(nes_ks7017_device::read_ex)
{
LOG_MMC(("ks7017 read_ex, offset: %04x\n", offset));
offset += 0x20;
@@ -542,7 +542,7 @@ uint8_t nes_ks7017_device::read_ex(offs_t offset)
return temp;
}
- return get_open_bus(); // open bus
+ return m_open_bus; // open bus
}
/*-------------------------------------------------
@@ -557,7 +557,7 @@ uint8_t nes_ks7017_device::read_ex(offs_t offset)
-------------------------------------------------*/
-void nes_ks7012_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_ks7012_device::write_h)
{
LOG_MMC(("ks7012 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -580,13 +580,13 @@ void nes_ks7012_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_ks7013b_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_ks7013b_device::write_m)
{
LOG_MMC(("ks7013b write_l, offset: %04x, data: %02x\n", offset, data));
prg16_89ab(data);
}
-void nes_ks7013b_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_ks7013b_device::write_h)
{
LOG_MMC(("ks7013b write_h, offset: %04x, data: %02x\n", offset, data));
set_nt_mirroring((data & 1) ? PPU_MIRROR_HORZ : PPU_MIRROR_VERT);
@@ -613,20 +613,20 @@ void nes_ks7013b_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-uint8_t nes_ks7031_device::read_m(offs_t offset)
+READ8_MEMBER(nes_ks7031_device::read_m)
{
// LOG_MMC(("ks7031 read_m, offset: %04x\n", offset));
return m_prg[(m_reg[(offset >> 11) & 3] * 0x0800) + (offset & 0x7ff)];
}
-uint8_t nes_ks7031_device::read_h(offs_t offset)
+READ8_MEMBER(nes_ks7031_device::read_h)
{
// here the first 32K are accessed, but in 16x2K blocks loaded in reverse order
int accessed_2k = (offset >> 11) & 0x0f;
return m_prg[((0x0f - accessed_2k) * 0x0800) + (offset & 0x7ff)];
}
-void nes_ks7031_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_ks7031_device::write_h)
{
LOG_MMC(("ks7031 write_h, offset: %04x, data: %02x\n", offset, data));
m_reg[(offset >> 11) & 3] = data & 0x3f;
@@ -646,13 +646,13 @@ void nes_ks7031_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-uint8_t nes_ks7016_device::read_m(offs_t offset)
+READ8_MEMBER(nes_ks7016_device::read_m)
{
// LOG_MMC(("ks7016 read_m, offset: %04x\n", offset));
return m_prg[((m_reg * 0x2000) + (offset & 0x1fff)) & (m_prg_size - 1)];
}
-void nes_ks7016_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_ks7016_device::write_h)
{
LOG_MMC(("ks7016 write_h, offset: %04x, data: %02x\n", offset, data));
uint8_t mask = offset & 0x30;
@@ -692,7 +692,7 @@ void nes_ks7037_device::update_prg()
set_nt_page(3, CIRAM, m_reg[5] & 1, 1);
}
-uint8_t nes_ks7037_device::read_m(offs_t offset)
+READ8_MEMBER(nes_ks7037_device::read_m)
{
// LOG_MMC(("ks7037 read_m, offset: %04x\n", offset));
if (offset < 0x1000)
@@ -701,14 +701,14 @@ uint8_t nes_ks7037_device::read_m(offs_t offset)
return m_prg[(0x1e * 0x1000) + (offset & 0x0fff)];
}
-void nes_ks7037_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_ks7037_device::write_m)
{
LOG_MMC(("ks7037 write_m, offset: %04x, data: %02x\n", offset, data));
if (offset < 0x1000)
m_prgram[offset & 0x0fff] = data;
}
-uint8_t nes_ks7037_device::read_h(offs_t offset)
+READ8_MEMBER(nes_ks7037_device::read_h)
{
// LOG_MMC(("ks7037 read_h, offset: %04x\n", offset));
@@ -718,7 +718,7 @@ uint8_t nes_ks7037_device::read_h(offs_t offset)
return hi_access_rom(offset);
}
-void nes_ks7037_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_ks7037_device::write_h)
{
LOG_MMC(("ks7037 write_h, offset: %04x, data: %02x\n", offset, data));
diff --git a/src/devices/bus/nes/kaiser.h b/src/devices/bus/nes/kaiser.h
index e0e31658cdb..8c544059aa9 100644
--- a/src/devices/bus/nes/kaiser.h
+++ b/src/devices/bus/nes/kaiser.h
@@ -16,7 +16,7 @@ public:
// construction/destruction
nes_ks7058_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -34,8 +34,8 @@ public:
// construction/destruction
nes_ks7022_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_h(offs_t offset) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_h) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -56,9 +56,9 @@ public:
// construction/destruction
nes_ks7032_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_m(offs_t offset) override;
- void ks7032_write(offs_t offset, uint8_t data);
- virtual void write_h(offs_t offset, uint8_t data) override { ks7032_write(offset, data); }
+ virtual DECLARE_READ8_MEMBER(read_m) override;
+ virtual DECLARE_WRITE8_MEMBER(ks7032_write);
+ virtual DECLARE_WRITE8_MEMBER(write_h) override { ks7032_write(space, offset, data, mem_mask); }
virtual void pcb_reset() override;
@@ -91,8 +91,8 @@ public:
nes_ks202_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual uint8_t read_m(offs_t offset) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
};
@@ -104,9 +104,9 @@ public:
// construction/destruction
nes_ks7017_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_ex(offs_t offset) override;
- virtual void write_ex(offs_t offset, uint8_t data) override;
- virtual void write_l(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_ex) override;
+ virtual DECLARE_WRITE8_MEMBER(write_ex) override;
+ virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual void pcb_reset() override;
@@ -135,7 +135,7 @@ public:
// construction/destruction
nes_ks7012_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -152,8 +152,8 @@ public:
// construction/destruction
nes_ks7013b_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_m(offs_t offset, uint8_t data) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -171,9 +171,9 @@ public:
// construction/destruction
nes_ks7031_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_m(offs_t offset) override;
- virtual uint8_t read_h(offs_t offset) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_m) override;
+ virtual DECLARE_READ8_MEMBER(read_h) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -194,8 +194,8 @@ public:
// construction/destruction
nes_ks7016_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_m(offs_t offset) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -215,10 +215,10 @@ public:
// construction/destruction
nes_ks7037_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_m(offs_t offset) override;
- virtual uint8_t read_h(offs_t offset) override;
- virtual void write_m(offs_t offset, uint8_t data) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_m) override;
+ virtual DECLARE_READ8_MEMBER(read_h) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/karastudio.cpp b/src/devices/bus/nes/karastudio.cpp
index fc98a658213..1b828001078 100644
--- a/src/devices/bus/nes/karastudio.cpp
+++ b/src/devices/bus/nes/karastudio.cpp
@@ -60,7 +60,7 @@ kstudio_cart_interface::~kstudio_cart_interface()
{
}
-uint8_t kstudio_cart_interface::read(offs_t offset)
+READ8_MEMBER(kstudio_cart_interface::read)
{
return m_rom[(m_bank * 0x4000) + (offset & 0x3fff)];
}
@@ -89,10 +89,10 @@ void nes_kstudio_slot_device::device_start()
m_cart = dynamic_cast<kstudio_cart_interface *>(get_card_device());
}
-uint8_t nes_kstudio_slot_device::read(offs_t offset)
+READ8_MEMBER(nes_kstudio_slot_device::read)
{
if (m_cart)
- return m_cart->read(offset);
+ return m_cart->read(space, offset, mem_mask);
return 0xff;
}
@@ -225,29 +225,29 @@ void nes_karaokestudio_device::pcb_reset()
-------------------------------------------------*/
-uint8_t nes_karaokestudio_device::read_m(offs_t offset)
+READ8_MEMBER(nes_karaokestudio_device::read_m)
{
LOG_MMC(("karaoke studio read_m, offset: %04x\n", offset));
return m_mic_ipt->read();
}
-uint8_t nes_karaokestudio_device::read_h(offs_t offset)
+READ8_MEMBER(nes_karaokestudio_device::read_h)
{
LOG_MMC(("karaoke studio read_h, offset: %04x\n", offset));
// this shall be the proper code, but it's a bit slower, so we access directly the subcart below
- //return m_subslot->read(offset);
+ //return m_subslot->read(space, offset, mem_mask);
// access expansion cart only if all of the followings are verified
// * we are in $8000-$bfff range
// * there has been a bankswitch write to map the expansion to such range
// * there actually is an expansion cart mounted
if (offset < 0x4000 && m_exp_active && m_subslot->m_cart)
- return m_subslot->m_cart->read(offset);
+ return m_subslot->m_cart->read(space, offset, mem_mask);
else
return hi_access_rom(offset);
}
-void nes_karaokestudio_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_karaokestudio_device::write_h)
{
LOG_MMC(("karaoke studio write_h, offset: %04x, data: %02x\n", offset, data));
// bit3 1 = M ROM (main unit), 0=E ROM (expansion)
@@ -296,7 +296,6 @@ static void karaoke_studio_cart(device_slot_interface &device)
}
-void nes_karaokestudio_device::device_add_mconfig(machine_config &config)
-{
- NES_KSEXPANSION_SLOT(config, m_subslot, karaoke_studio_cart);
-}
+MACHINE_CONFIG_START(nes_karaokestudio_device::device_add_mconfig)
+ MCFG_KSTUDIO_MINICART_ADD("exp_slot", karaoke_studio_cart)
+MACHINE_CONFIG_END
diff --git a/src/devices/bus/nes/karastudio.h b/src/devices/bus/nes/karastudio.h
index fcb481f046e..bd712722fe9 100644
--- a/src/devices/bus/nes/karastudio.h
+++ b/src/devices/bus/nes/karastudio.h
@@ -24,7 +24,7 @@ public:
virtual ~kstudio_cart_interface();
// reading and writing
- virtual uint8_t read(offs_t offset);
+ virtual DECLARE_READ8_MEMBER(read);
uint8_t *get_cart_base() { return m_rom; }
void write_prg_bank(uint8_t bank) { m_bank = bank; }
@@ -49,16 +49,6 @@ class nes_kstudio_slot_device : public device_t,
friend class nes_karaokestudio_device;
public:
// construction/destruction
- template <typename T>
- nes_kstudio_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, T &&opts)
- : nes_kstudio_slot_device(mconfig, tag, owner, (uint32_t)0)
- {
- option_reset();
- opts(*this);
- set_default_option(nullptr);
- set_fixed(false);
- }
-
nes_kstudio_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~nes_kstudio_slot_device();
@@ -78,7 +68,7 @@ public:
// slot interface overrides
virtual std::string get_default_card_software(get_default_card_software_hook &hook) const override;
- uint8_t read(offs_t offset);
+ virtual DECLARE_READ8_MEMBER(read);
void write_prg_bank(uint8_t bank) { if (m_cart) m_cart->write_prg_bank(bank); }
protected:
@@ -92,6 +82,11 @@ protected:
DECLARE_DEVICE_TYPE(NES_KSEXPANSION_SLOT, nes_kstudio_slot_device)
+#define MCFG_KSTUDIO_MINICART_ADD(_tag, _slot_intf) \
+ MCFG_DEVICE_ADD(_tag, NES_KSEXPANSION_SLOT, 0) \
+MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, nullptr, false)
+
+
//-----------------------------------------------
//
// Karaoke Studio Expansion cart implementation
@@ -135,9 +130,9 @@ public:
// construction/destruction
nes_karaokestudio_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_m(offs_t offset) override;
- virtual uint8_t read_h(offs_t offset) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_m) override;
+ virtual DECLARE_READ8_MEMBER(read_h) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/konami.cpp b/src/devices/bus/nes/konami.cpp
index 2d3f20863cb..320ceb1eb9b 100644
--- a/src/devices/bus/nes/konami.cpp
+++ b/src/devices/bus/nes/konami.cpp
@@ -81,7 +81,7 @@ nes_konami_vrc6_device::nes_konami_vrc6_device(const machine_config &mconfig, co
}
nes_konami_vrc7_device::nes_konami_vrc7_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_konami_vrc4_device(mconfig, NES_VRC7, tag, owner, clock), m_vrc7snd(*this, "vrc7snd")
+ : nes_konami_vrc4_device(mconfig, NES_VRC7, tag, owner, clock), m_ym2413(*this, "ym")
{
}
@@ -239,7 +239,7 @@ void nes_konami_vrc7_device::pcb_reset()
-------------------------------------------------*/
-void nes_konami_vrc1_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_konami_vrc1_device::write_h)
{
LOG_MMC(("VRC-1 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -280,7 +280,7 @@ void nes_konami_vrc1_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-uint8_t nes_konami_vrc2_device::read_m(offs_t offset)
+READ8_MEMBER(nes_konami_vrc2_device::read_m)
{
LOG_MMC(("VRC-2 read_m, offset: %04x\n", offset));
@@ -289,10 +289,10 @@ uint8_t nes_konami_vrc2_device::read_m(offs_t offset)
else if (!m_prgram.empty())
return m_prgram[offset & (m_prgram.size() - 1)];
else // sort of protection? it returns open bus in $7000-$7fff and (open bus & 0xfe) | m_latch in $6000-$6fff
- return (offset < 0x1000) ? ((get_open_bus() & 0xfe) | (m_latch & 1)) : get_open_bus();
+ return (offset < 0x1000) ? ((m_open_bus & 0xfe) | (m_latch & 1)) : m_open_bus;
}
-void nes_konami_vrc2_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_konami_vrc2_device::write_m)
{
LOG_MMC(("VRC-2 write_m, offset: %04x, data: %02x\n", offset, data));
@@ -304,7 +304,7 @@ void nes_konami_vrc2_device::write_m(offs_t offset, uint8_t data)
m_latch = data;
}
-void nes_konami_vrc2_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_konami_vrc2_device::write_h)
{
uint8_t bank, shift, mask;
uint16_t add_lines = ((offset << (9 - m_vrc_ls_prg_a)) & 0x200) | ((offset << (8 - m_vrc_ls_prg_b)) & 0x100);
@@ -385,7 +385,7 @@ void nes_konami_vrc3_device::device_timer(emu_timer &timer, device_timer_id id,
}
}
-void nes_konami_vrc3_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_konami_vrc3_device::write_h)
{
LOG_MMC(("VRC-3 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -482,7 +482,7 @@ void nes_konami_vrc4_device::set_prg()
}
}
-void nes_konami_vrc4_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_konami_vrc4_device::write_h)
{
uint8_t bank, shift, mask;
uint16_t add_lines = ((offset << (9 - m_vrc_ls_prg_a)) & 0x200) | ((offset << (8 - m_vrc_ls_prg_b)) & 0x100);
@@ -564,7 +564,7 @@ void nes_konami_vrc4_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_konami_vrc6_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_konami_vrc6_device::write_h)
{
uint8_t bank;
uint16_t add_lines = ((offset << (9 - m_vrc_ls_prg_a)) & 0x200) | ((offset << (8 - m_vrc_ls_prg_b)) & 0x100);
@@ -579,10 +579,10 @@ void nes_konami_vrc6_device::write_h(offs_t offset, uint8_t data)
prg8_cd(data);
break;
case 0x1000: // pulse 1 & global control
- m_vrc6snd->write(add_lines>>8, data);
+ m_vrc6snd->write(space, add_lines>>8, data);
break;
case 0x2000: // pulse 2
- m_vrc6snd->write((add_lines>>8) | 0x100, data);
+ m_vrc6snd->write(space, (add_lines>>8) | 0x100, data);
break;
case 0x3000:
if (add_lines == 0x300)
@@ -596,7 +596,7 @@ void nes_konami_vrc6_device::write_h(offs_t offset, uint8_t data)
}
}
else // saw
- m_vrc6snd->write((add_lines>>8) | 0x200, data);
+ m_vrc6snd->write(space, (add_lines>>8) | 0x200, data);
break;
case 0x5000:
case 0x6000:
@@ -637,15 +637,16 @@ void nes_konami_vrc6_device::write_h(offs_t offset, uint8_t data)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void nes_konami_vrc6_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(nes_konami_vrc6_device::device_add_mconfig)
+
// additional sound hardware
SPEAKER(config, "addon").front_center();
// TODO: this is not how VRC6 clock signaling works!
// The board uses the CLK pin in reality, not hardcoded NTSC values!
- VRC6(config, m_vrc6snd, XTAL(21'477'272)/12).add_route(ALL_OUTPUTS, "addon", 0.5);
-}
+ MCFG_DEVICE_ADD("vrc6snd", VRC6, XTAL(21'477'272)/12)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "addon", 0.5)
+MACHINE_CONFIG_END
/*-------------------------------------------------
@@ -659,7 +660,7 @@ void nes_konami_vrc6_device::device_add_mconfig(machine_config &config)
-------------------------------------------------*/
-void nes_konami_vrc7_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_konami_vrc7_device::write_h)
{
uint8_t bank;
LOG_MMC(("VRC-7 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -681,11 +682,11 @@ void nes_konami_vrc7_device::write_h(offs_t offset, uint8_t data)
case 0x1010:
case 0x1018:
- m_vrc7snd->register_port_w(data);
+ m_ym2413->register_port_w(space, 0, data);
break;
case 0x1030:
case 0x1038:
- m_vrc7snd->data_port_w(data);
+ m_ym2413->data_port_w(space, 0, data);
break;
case 0x2000:
@@ -758,12 +759,15 @@ void nes_konami_vrc7_device::write_h(offs_t offset, uint8_t data)
// and has one output pin for audio, multiplexed for all 6 channels; OPLL has two output pins, one for
// FM and one for Rhythm, and has no special status pin.
-void nes_konami_vrc7_device::device_add_mconfig(machine_config &config)
-{
+// FIXME: we currently emulate this as a base YM2413!
+
+MACHINE_CONFIG_START(nes_konami_vrc7_device::device_add_mconfig)
+
// additional sound hardware
SPEAKER(config, "addon").front_center();
// TODO: this is not how VRC7 clock signaling works!
// The board uses the CLK pin in reality, not hardcoded NTSC values!
- VRC7(config, m_vrc7snd, XTAL(21'477'272)/6).add_route(0, "addon", 1.0).add_route(1, "addon", 0.0);
-}
+ MCFG_DEVICE_ADD("ym", YM2413, XTAL(21'477'272)/12)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "addon", 0.5)
+MACHINE_CONFIG_END
diff --git a/src/devices/bus/nes/konami.h b/src/devices/bus/nes/konami.h
index 86afa1832e1..db269170f53 100644
--- a/src/devices/bus/nes/konami.h
+++ b/src/devices/bus/nes/konami.h
@@ -18,7 +18,7 @@ public:
// construction/destruction
nes_konami_vrc1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -39,9 +39,9 @@ public:
// construction/destruction
nes_konami_vrc2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_m(offs_t offset) override;
- virtual void write_m(offs_t offset, uint8_t data) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -63,7 +63,7 @@ public:
// construction/destruction
nes_konami_vrc3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -91,7 +91,7 @@ public:
// construction/destruction
nes_konami_vrc4_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -126,7 +126,7 @@ public:
// construction/destruction
nes_konami_vrc6_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
protected:
// device-level overrides
@@ -146,7 +146,7 @@ public:
// construction/destruction
nes_konami_vrc7_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -157,7 +157,7 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
private:
- required_device<vrc7snd_device> m_vrc7snd;
+ required_device<ym2413_device> m_ym2413;
};
diff --git a/src/devices/bus/nes/legacy.cpp b/src/devices/bus/nes/legacy.cpp
index a3ab9377082..d2b1c697296 100644
--- a/src/devices/bus/nes/legacy.cpp
+++ b/src/devices/bus/nes/legacy.cpp
@@ -136,7 +136,7 @@ void nes_ffe8_device::pcb_reset()
-------------------------------------------------*/
-void nes_ffe3_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_ffe3_device::write_h)
{
LOG_MMC(("mapper8 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -174,7 +174,7 @@ void nes_ffe4_device::device_timer(emu_timer &timer, device_timer_id id, int par
}
}
-void nes_ffe4_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_ffe4_device::write_l)
{
LOG_MMC(("mapper6 write_l, offset: %04x, data: %02x\n", offset, data));
@@ -202,7 +202,7 @@ void nes_ffe4_device::write_l(offs_t offset, uint8_t data)
}
}
-void nes_ffe4_device::chr_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_ffe4_device::chr_w)
{
int bank = offset >> 10;
if (m_exram_enabled)
@@ -212,7 +212,7 @@ void nes_ffe4_device::chr_w(offs_t offset, uint8_t data)
m_chr_access[bank][offset & 0x3ff] = data;
}
-uint8_t nes_ffe4_device::chr_r(offs_t offset)
+READ8_MEMBER(nes_ffe4_device::chr_r)
{
int bank = offset >> 10;
if (m_exram_enabled)
@@ -222,7 +222,7 @@ uint8_t nes_ffe4_device::chr_r(offs_t offset)
}
-void nes_ffe4_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_ffe4_device::write_h)
{
LOG_MMC(("mapper6 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -257,7 +257,7 @@ void nes_ffe4_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_ffe8_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_ffe8_device::write_l)
{
LOG_MMC(("mapper17 write_l, offset: %04x, data: %02x\n", offset, data));
diff --git a/src/devices/bus/nes/legacy.h b/src/devices/bus/nes/legacy.h
index 92722c0591c..91b44e108c0 100644
--- a/src/devices/bus/nes/legacy.h
+++ b/src/devices/bus/nes/legacy.h
@@ -16,7 +16,7 @@ public:
// construction/destruction
nes_ffe3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -34,10 +34,10 @@ public:
// construction/destruction
nes_ffe4_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_l(offs_t offset, uint8_t data) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
- virtual uint8_t chr_r(offs_t offset) override;
- virtual void chr_w(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_l) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual DECLARE_READ8_MEMBER(chr_r) override;
+ virtual DECLARE_WRITE8_MEMBER(chr_w) override;
virtual void pcb_reset() override;
@@ -71,8 +71,8 @@ public:
nes_ffe8_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void write_l(offs_t offset, uint8_t data) override;
- virtual void write_h(offs_t offset, uint8_t data) override {}
+ virtual DECLARE_WRITE8_MEMBER(write_l) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override {}
virtual void pcb_reset() override;
};
diff --git a/src/devices/bus/nes/mmc1.cpp b/src/devices/bus/nes/mmc1.cpp
index 9a27c601b4c..d324c153782 100644
--- a/src/devices/bus/nes/mmc1.cpp
+++ b/src/devices/bus/nes/mmc1.cpp
@@ -219,7 +219,7 @@ void nes_sxrom_device::update_regs(int reg)
}
}
-void nes_sxrom_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER( nes_sxrom_device::write_h )
{
LOG_MMC(("sxrom write_h, offset: %04x, data: %02x\n", offset, data));
@@ -265,7 +265,7 @@ void nes_sxrom_device::write_h(offs_t offset, uint8_t data)
}
}
-void nes_sxrom_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_sxrom_device::write_m)
{
uint8_t bank = (m_reg[1] >> 2) & 3;
LOG_MMC(("sxrom write_m, offset: %04x, data: %02x\n", offset, data));
@@ -279,7 +279,7 @@ void nes_sxrom_device::write_m(offs_t offset, uint8_t data)
}
}
-uint8_t nes_sxrom_device::read_m(offs_t offset)
+READ8_MEMBER(nes_sxrom_device::read_m)
{
uint8_t bank = (m_reg[1] >> 2) & 3;
LOG_MMC(("sxrom read_m, offset: %04x\n", offset));
@@ -292,11 +292,11 @@ uint8_t nes_sxrom_device::read_m(offs_t offset)
return m_prgram[((bank * 0x2000) + offset) & (m_prgram.size() - 1)];
}
- return get_open_bus(); // open bus
+ return m_open_bus; // open bus
}
// SOROM has two RAM banks, the first is not battery backed up, the second is.
-void nes_sorom_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_sorom_device::write_m)
{
uint8_t type = BIT(m_reg[0], 4) ? BIT(m_reg[1], 4) : BIT(m_reg[1], 3);
LOG_MMC(("sorom write_m, offset: %04x, data: %02x\n", offset, data));
@@ -310,7 +310,7 @@ void nes_sorom_device::write_m(offs_t offset, uint8_t data)
}
}
-uint8_t nes_sorom_device::read_m(offs_t offset)
+READ8_MEMBER(nes_sorom_device::read_m)
{
uint8_t type = BIT(m_reg[0], 4) ? BIT(m_reg[1], 4) : BIT(m_reg[1], 3);
LOG_MMC(("sorom read_m, offset: %04x\n", offset));
@@ -323,11 +323,11 @@ uint8_t nes_sorom_device::read_m(offs_t offset)
return m_prgram[offset & (m_prgram.size() - 1)];
}
- return get_open_bus(); // open bus
+ return m_open_bus; // open bus
}
// MMC1A boards have no wram enable/disable bit
-void nes_sxrom_a_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_sxrom_a_device::write_m)
{
uint8_t bank = (m_reg[1] >> 2) & 3;
LOG_MMC(("sxrom_a write_m, offset: %04x, data: %02x\n", offset, data));
@@ -338,7 +338,7 @@ void nes_sxrom_a_device::write_m(offs_t offset, uint8_t data)
m_prgram[((bank * 0x2000) + offset) & (m_prgram.size() - 1)] = data;
}
-uint8_t nes_sxrom_a_device::read_m(offs_t offset)
+READ8_MEMBER(nes_sxrom_a_device::read_m)
{
uint8_t bank = (m_reg[1] >> 2) & 3;
LOG_MMC(("sxrom_a read_m, offset: %04x\n", offset));
@@ -348,10 +348,10 @@ uint8_t nes_sxrom_a_device::read_m(offs_t offset)
if (!m_prgram.empty())
return m_prgram[((bank * 0x2000) + offset) & (m_prgram.size() - 1)];
- return get_open_bus(); // open bus
+ return m_open_bus; // open bus
}
-void nes_sorom_a_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_sorom_a_device::write_m)
{
uint8_t type = BIT(m_reg[0], 4) ? BIT(m_reg[1], 4) : BIT(m_reg[1], 3);
LOG_MMC(("sorom_a write_m, offset: %04x, data: %02x\n", offset, data));
@@ -362,7 +362,7 @@ void nes_sorom_a_device::write_m(offs_t offset, uint8_t data)
m_prgram[offset & (m_prgram.size() - 1)] = data;
}
-uint8_t nes_sorom_a_device::read_m(offs_t offset)
+READ8_MEMBER(nes_sorom_a_device::read_m)
{
uint8_t type = BIT(m_reg[0], 4) ? BIT(m_reg[1], 4) : BIT(m_reg[1], 3);
LOG_MMC(("sorom_a read_m, offset: %04x\n", offset));
diff --git a/src/devices/bus/nes/mmc1.h b/src/devices/bus/nes/mmc1.h
index c8ccb835d76..dd9ecccac75 100644
--- a/src/devices/bus/nes/mmc1.h
+++ b/src/devices/bus/nes/mmc1.h
@@ -16,9 +16,9 @@ public:
// construction/destruction
nes_sxrom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_m(offs_t offset) override;
- virtual void write_m(offs_t offset, uint8_t data) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -46,8 +46,8 @@ public:
// construction/destruction
nes_sorom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_m(offs_t offset) override;
- virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void pcb_reset() override;
};
@@ -58,8 +58,8 @@ public:
// construction/destruction
nes_sxrom_a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_m(offs_t offset) override;
- virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
};
class nes_sorom_a_device : public nes_sxrom_device
@@ -68,8 +68,8 @@ public:
// construction/destruction
nes_sorom_a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_m(offs_t offset) override;
- virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void pcb_reset() override;
};
diff --git a/src/devices/bus/nes/mmc2.cpp b/src/devices/bus/nes/mmc2.cpp
index 8be7b04d2d7..1055ce98921 100644
--- a/src/devices/bus/nes/mmc2.cpp
+++ b/src/devices/bus/nes/mmc2.cpp
@@ -130,7 +130,7 @@ void nes_pxrom_device::ppu_latch(offs_t offset)
}
}
-void nes_pxrom_device::pxrom_write(offs_t offset, uint8_t data)
+WRITE8_MEMBER( nes_pxrom_device::pxrom_write )
{
LOG_MMC(("pxrom write_h, offset: %04x, data: %02x\n", offset, data));
switch (offset & 0x7000)
@@ -182,7 +182,7 @@ void nes_pxrom_device::pxrom_write(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_fxrom_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER( nes_fxrom_device::write_h )
{
LOG_MMC(("fxrom write_h, offset: %04x, data: %02x\n", offset, data));
switch (offset & 0x7000)
@@ -191,7 +191,7 @@ void nes_fxrom_device::write_h(offs_t offset, uint8_t data)
prg16_89ab(data);
break;
default:
- pxrom_write(offset, data);
+ pxrom_write(space, offset, data, mem_mask);
break;
}
}
diff --git a/src/devices/bus/nes/mmc2.h b/src/devices/bus/nes/mmc2.h
index 9f4d100d2f6..cfd81aa87d3 100644
--- a/src/devices/bus/nes/mmc2.h
+++ b/src/devices/bus/nes/mmc2.h
@@ -16,8 +16,8 @@ public:
// construction/destruction
nes_pxrom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void pxrom_write(offs_t offset, uint8_t data);
- virtual void write_h(offs_t offset, uint8_t data) override { pxrom_write(offset, data); }
+ virtual DECLARE_WRITE8_MEMBER(pxrom_write);
+ virtual DECLARE_WRITE8_MEMBER(write_h) override { pxrom_write(space, offset, data, mem_mask); }
virtual void ppu_latch(offs_t offset) override;
virtual void pcb_reset() override;
@@ -42,7 +42,7 @@ public:
nes_fxrom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
};
diff --git a/src/devices/bus/nes/mmc3.cpp b/src/devices/bus/nes/mmc3.cpp
index d6f7f37dc4a..f8497dbd42d 100644
--- a/src/devices/bus/nes/mmc3.cpp
+++ b/src/devices/bus/nes/mmc3.cpp
@@ -244,7 +244,7 @@ void nes_txrom_device::set_chr( uint8_t chr, int chr_base, int chr_mask )
chr_cb(chr_page ^ 7, chr_base | (m_mmc_vrom_bank[5] & chr_mask), chr);
}
-void nes_txrom_device::txrom_write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_txrom_device::txrom_write)
{
uint8_t mmc_helper, cmd;
@@ -313,7 +313,7 @@ void nes_txrom_device::txrom_write(offs_t offset, uint8_t data)
}
}
-void nes_txrom_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_txrom_device::write_m)
{
LOG_MMC(("txrom write_m, offset: %04x, data: %02x\n", offset, data));
@@ -326,7 +326,7 @@ void nes_txrom_device::write_m(offs_t offset, uint8_t data)
}
}
-uint8_t nes_txrom_device::read_m(offs_t offset)
+READ8_MEMBER(nes_txrom_device::read_m)
{
LOG_MMC(("txrom read_m, offset: %04x\n", offset));
@@ -338,7 +338,7 @@ uint8_t nes_txrom_device::read_m(offs_t offset)
return m_prgram[offset & (m_prgram.size() - 1)];
}
- return get_open_bus(); // open bus
+ return m_open_bus; // open bus
}
@@ -350,7 +350,7 @@ uint8_t nes_txrom_device::read_m(offs_t offset)
-------------------------------------------------*/
-void nes_hkrom_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_hkrom_device::write_m)
{
uint8_t write_hi, write_lo;
LOG_MMC(("hkrom write_m, offset: %04x, data: %02x\n", offset, data));
@@ -369,15 +369,15 @@ void nes_hkrom_device::write_m(offs_t offset, uint8_t data)
m_mmc6_ram[offset & 0x3ff] = data;
}
-uint8_t nes_hkrom_device::read_m(offs_t offset)
+READ8_MEMBER(nes_hkrom_device::read_m)
{
LOG_MMC(("hkrom read_m, offset: %04x\n", offset));
if (offset < 0x1000)
- return get_open_bus(); // open bus
+ return m_open_bus; // open bus
if (!(m_mmc6_reg & 0xa0))
- return get_open_bus(); // open bus
+ return m_open_bus; // open bus
if (BIT(offset, 9) && BIT(m_mmc6_reg, 7)) // access to upper half of 1k when upper read is enabled
return m_mmc6_ram[offset & 0x3ff];
@@ -389,7 +389,7 @@ uint8_t nes_hkrom_device::read_m(offs_t offset)
return 0x00;
}
-void nes_hkrom_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_hkrom_device::write_h)
{
uint8_t mmc6_helper;
LOG_MMC(("hkrom write_h, offset: %04x, data: %02x\n", offset, data));
@@ -423,7 +423,7 @@ void nes_hkrom_device::write_h(offs_t offset, uint8_t data)
break;
default:
- txrom_write(offset, data);
+ txrom_write(space, offset, data, mem_mask);
break;
}
}
@@ -465,7 +465,7 @@ void nes_txsrom_device::chr_cb( int start, int bank, int source )
chr1_x(start, bank, source);
}
-void nes_txsrom_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_txsrom_device::write_h)
{
LOG_MMC(("txsrom write_h, offset: %04x, data: %02x\n", offset, data));
@@ -475,7 +475,7 @@ void nes_txsrom_device::write_h(offs_t offset, uint8_t data)
break;
default:
- txrom_write(offset, data);
+ txrom_write(space, offset, data, mem_mask);
break;
}
}
@@ -524,7 +524,7 @@ void nes_tqrom_device::set_chr( uint8_t chr, int chr_base, int chr_mask )
-------------------------------------------------*/
-void nes_qj_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_qj_device::write_m)
{
LOG_MMC(("qj write_m, offset: %04x, data: %02x\n", offset, data));
@@ -546,7 +546,7 @@ void nes_qj_device::write_m(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_zz_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_zz_device::write_m)
{
uint8_t mmc_helper = data & 0x07;
LOG_MMC(("zz write_m, offset: %04x, data: %02x\n", offset, data));
diff --git a/src/devices/bus/nes/mmc3.h b/src/devices/bus/nes/mmc3.h
index 5ef9e8dbdaa..d16a0000268 100644
--- a/src/devices/bus/nes/mmc3.h
+++ b/src/devices/bus/nes/mmc3.h
@@ -16,10 +16,10 @@ public:
// construction/destruction
nes_txrom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_m(offs_t offset) override;
- virtual void write_m(offs_t offset, uint8_t data) override;
- virtual void txrom_write(offs_t offset, uint8_t data);
- virtual void write_h(offs_t offset, uint8_t data) override { txrom_write(offset, data); }
+ virtual DECLARE_READ8_MEMBER(read_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual DECLARE_WRITE8_MEMBER(txrom_write);
+ virtual DECLARE_WRITE8_MEMBER(write_h) override { txrom_write(space, offset, data, mem_mask); }
virtual void prg_cb(int start, int bank);
virtual void chr_cb(int start, int bank, int source);
@@ -62,9 +62,9 @@ public:
// construction/destruction
nes_hkrom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_m(offs_t offset) override;
- virtual void write_m(offs_t offset, uint8_t data) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -89,7 +89,7 @@ public:
nes_txsrom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void chr_cb(int start, int bank, int source) override;
protected:
@@ -119,7 +119,7 @@ public:
nes_qj_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void pcb_reset() override;
};
@@ -133,7 +133,7 @@ public:
nes_zz_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void pcb_reset() override;
};
diff --git a/src/devices/bus/nes/mmc3_clones.cpp b/src/devices/bus/nes/mmc3_clones.cpp
index 9be591c7d9f..5c578c0fcbd 100644
--- a/src/devices/bus/nes/mmc3_clones.cpp
+++ b/src/devices/bus/nes/mmc3_clones.cpp
@@ -637,11 +637,11 @@ void nes_pjoy84_device::pcb_reset()
-------------------------------------------------*/
-void nes_nitra_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_nitra_device::write_h)
{
LOG_MMC(("nitra write_h, offset: %04x, data: %02x\n", offset, data));
- txrom_write((offset & 0x6000) | ((offset & 0x400) >> 10), offset & 0xff);
+ txrom_write(space, (offset & 0x6000) | ((offset & 0x400) >> 10), offset & 0xff, mem_mask);
}
/*-------------------------------------------------
@@ -656,12 +656,12 @@ void nes_nitra_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_ks7057_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_ks7057_device::write_h)
{
LOG_MMC(("ks7057 write_h, offset: %04x, data: %02x\n", offset, data));
offset = (BIT(offset, 0) << 1) | BIT(offset, 1) | (offset & ~0x03);
- txrom_write(offset, data);
+ txrom_write(space, offset, data, mem_mask);
}
/*-------------------------------------------------
@@ -679,11 +679,11 @@ void nes_ks7057_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_sbros11_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_sbros11_device::write_h)
{
LOG_MMC(("smb11 write_h, offset: %04x, data: %02x\n", offset, data));
- txrom_write((offset & 0x6000) | ((offset & 0x04) >> 2), data);
+ txrom_write(space, (offset & 0x6000) | ((offset & 0x04) >> 2), data, mem_mask);
}
/*-------------------------------------------------
@@ -711,14 +711,14 @@ void nes_malisb_device::chr_cb(int start, int bank, int source)
chr1_x(start, bank, source);
}
-void nes_malisb_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_malisb_device::write_h)
{
LOG_MMC(("malisb write_h, offset: %04x, data: %02x\n", offset, data));
if (offset > 0x4000)
- txrom_write((offset & 0xfffe) | ((offset & 0x04) >> 2) | ((offset & 0x08) >> 3), data);
+ txrom_write(space, (offset & 0xfffe) | ((offset & 0x04) >> 2) | ((offset & 0x08) >> 3), data, mem_mask);
else
- txrom_write((offset & 0xfffe) | ((offset & 0x08) >> 3), data);
+ txrom_write(space, (offset & 0xfffe) | ((offset & 0x08) >> 3), data, mem_mask);
}
/*-------------------------------------------------
@@ -736,7 +736,7 @@ void nes_malisb_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_family4646_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_family4646_device::write_m)
{
LOG_MMC(("family4646 write_m, offset: %04x, data: %02x\n", offset, data));
@@ -763,7 +763,7 @@ void nes_family4646_device::write_m(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_pikay2k_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_pikay2k_device::write_h)
{
LOG_MMC(("pikay2k write_h, offset: %04x, data: %02x\n", offset, data));
@@ -776,20 +776,20 @@ void nes_pikay2k_device::write_h(offs_t offset, uint8_t data)
case 0x2000:
m_reg[0] = 0;
default:
- txrom_write(offset, data);
+ txrom_write(space, offset, data, mem_mask);
break;
}
}
// strange WRAM usage: it is protected at start, and gets unprotected after the first write to 0xa000
-void nes_pikay2k_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_pikay2k_device::write_m)
{
LOG_MMC(("pikay2k write_m, offset: %04x, data: %02x\n", offset, data));
m_prgram[offset & 0x1fff] = data;
}
-uint8_t nes_pikay2k_device::read_m(offs_t offset)
+READ8_MEMBER(nes_pikay2k_device::read_m)
{
LOG_MMC(("pikay2k read_m, offset: %04x\n", offset));
@@ -820,7 +820,7 @@ void nes_8237_device::chr_cb(int start, int bank, int source)
chr1_x(start, bank, source);
}
-void nes_8237_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_8237_device::write_l)
{
LOG_MMC(("unl_8237 write_l, offset: %04x, data: %02x\n", offset, data));
offset += 0x100;
@@ -854,7 +854,7 @@ void nes_8237_device::write_l(offs_t offset, uint8_t data)
}
}
-void nes_8237_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_8237_device::write_h)
{
static const uint8_t conv_table[8] = {0, 2, 6, 1, 7, 3, 4, 5};
LOG_MMC(("unl_8237 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -870,7 +870,7 @@ void nes_8237_device::write_h(offs_t offset, uint8_t data)
case 0x3000:
m_cd_enable = 1;
data = (data & 0xc0) | conv_table[data & 0x07];
- txrom_write(0x0000, data);
+ txrom_write(space, 0x0000, data, mem_mask);
break;
case 0x4000:
@@ -878,7 +878,7 @@ void nes_8237_device::write_h(offs_t offset, uint8_t data)
if (m_cd_enable)
{
m_cd_enable = 0;
- txrom_write(0x0001, data);
+ txrom_write(space, 0x0001, data, mem_mask);
}
break;
@@ -886,9 +886,9 @@ void nes_8237_device::write_h(offs_t offset, uint8_t data)
break;
case 0x7000:
- txrom_write(0x6001, data);
- txrom_write(0x4000, data);
- txrom_write(0x4001, data);
+ txrom_write(space, 0x6001, data, mem_mask);
+ txrom_write(space, 0x4000, data, mem_mask);
+ txrom_write(space, 0x4001, data, mem_mask);
break;
}
}
@@ -907,7 +907,7 @@ void nes_8237_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_sglionk_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_sglionk_device::write_m)
{
LOG_MMC(("sglionk write_m, offset: %04x, data: %02x\n", offset, data));
@@ -923,7 +923,7 @@ void nes_sglionk_device::write_m(offs_t offset, uint8_t data)
}
-void nes_sglionk_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_sglionk_device::write_h)
{
static const uint8_t conv_table[8] = {0, 3, 1, 5, 6, 7, 2, 4};
LOG_MMC(("sglionk write_h, offset: %04x, data: %02x\n", offset, data));
@@ -938,13 +938,13 @@ void nes_sglionk_device::write_h(offs_t offset, uint8_t data)
case 0x2000:
m_reg_enabled = 1;
data = (data & 0xc0) | conv_table[data & 0x07];
- txrom_write(0x0000, data);
+ txrom_write(space, 0x0000, data, mem_mask);
break;
case 0x4000:
if (m_reg_enabled && (m_reg & 0x80) == 0)
{
m_reg_enabled = 0;
- txrom_write(0x0001, data);
+ txrom_write(space, 0x0001, data, mem_mask);
}
break;
}
@@ -954,12 +954,12 @@ void nes_sglionk_device::write_h(offs_t offset, uint8_t data)
switch (offset & 0x03)
{
case 0x02:
- txrom_write(0x6000, data);
+ txrom_write(space, 0x6000, data, mem_mask);
break;
case 0x03:
- txrom_write(0x6001, data);
- txrom_write(0x4000, data);
- txrom_write(0x4001, data);
+ txrom_write(space, 0x6001, data, mem_mask);
+ txrom_write(space, 0x4000, data, mem_mask);
+ txrom_write(space, 0x4001, data, mem_mask);
break;
}
}
@@ -1022,7 +1022,7 @@ void nes_sgboog_device::set_prg(int prg_base, int prg_mask)
}
}
-void nes_sgboog_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_sgboog_device::write_l)
{
LOG_MMC(("sgboog write_l, offset: %04x, data: %02x\n", offset, data));
offset += 0x100;
@@ -1046,7 +1046,7 @@ void nes_sgboog_device::write_l(offs_t offset, uint8_t data)
}
}
-void nes_sgboog_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_sgboog_device::write_m)
{
LOG_MMC(("sgboog write_m, offset: %04x, data: %02x\n", offset, data));
@@ -1069,7 +1069,7 @@ void nes_sgboog_device::write_m(offs_t offset, uint8_t data)
}
}
-void nes_sgboog_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_sgboog_device::write_h)
{
static const uint8_t conv_table[8] = {0,2,5,3,6,1,7,4};
LOG_MMC(("sgboog write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1085,14 +1085,14 @@ void nes_sgboog_device::write_h(offs_t offset, uint8_t data)
if (m_reg[2] && ((m_reg[0] & 0x80) == 0 || (m_latch & 0x07) < 6)) // if we use the prg16 banks and cmd=6,7 DON'T enter!
{
m_reg[2] = 0;
- txrom_write(0x0001, data);
+ txrom_write(space, 0x0001, data, mem_mask);
}
break;
case 0x2000:
data = (data & 0xc0) | conv_table[data & 0x07];
m_reg[2] = 1;
- txrom_write(0x0000, data);
+ txrom_write(space, 0x0000, data, mem_mask);
break;
case 0x4000:
@@ -1100,21 +1100,21 @@ void nes_sgboog_device::write_h(offs_t offset, uint8_t data)
break;
case 0x4001:
- txrom_write(0x6001, data);
+ txrom_write(space, 0x6001, data, mem_mask);
break;
case 0x6001:
- txrom_write(0x4000, data);
- txrom_write(0x4001, data);
+ txrom_write(space, 0x4000, data, mem_mask);
+ txrom_write(space, 0x4001, data, mem_mask);
break;
default:
- txrom_write(offset, data);
+ txrom_write(space, offset, data, mem_mask);
break;
}
}
else
- txrom_write(offset, data);
+ txrom_write(space, offset, data, mem_mask);
}
/*-------------------------------------------------
@@ -1140,7 +1140,7 @@ void nes_kasing_device::prg_cb(int start, int bank)
prg8_x(start, bank);
}
-void nes_kasing_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_kasing_device::write_m)
{
LOG_MMC(("kasing write_m, offset: %04x, data: %02x\n", offset, data));
@@ -1172,7 +1172,7 @@ void nes_kasing_device::write_m(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_kay_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_kay_device::write_l)
{
LOG_MMC(("kay write_l, offset: %04x, data: %02x\n", offset, data));
offset += 0x100;
@@ -1195,7 +1195,7 @@ void nes_kay_device::write_l(offs_t offset, uint8_t data)
}
}
-uint8_t nes_kay_device::read_l(offs_t offset)
+READ8_MEMBER(nes_kay_device::read_l)
{
LOG_MMC(("kay read_l, offset: %04x\n", offset));
offset += 0x100;
@@ -1269,14 +1269,14 @@ void nes_kay_device::chr_cb(int start, int bank, int source)
chr1_x(start, bank, source);
}
-void nes_kay_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_kay_device::write_h)
{
LOG_MMC(("kay write_h, offset: %04x, data: %02x\n", offset, data));
switch (offset & 0x6003)
{
case 0x0000:
- txrom_write(offset, data);
+ txrom_write(space, offset, data, mem_mask);
set_prg(m_prg_base, m_prg_mask);
break;
@@ -1285,19 +1285,19 @@ void nes_kay_device::write_h(offs_t offset, uint8_t data)
| (BIT(data, 3) << 2) | (BIT(data, 4) << 1) | BIT(data, 5);
if (!m_reg[7])
update_regs();
- txrom_write(offset, data);
+ txrom_write(space, offset, data, mem_mask);
set_prg(m_prg_base, m_prg_mask);
break;
case 0x0003:
m_reg[5] = data;
update_regs();
- txrom_write(0x0000, data);
+ txrom_write(space, 0x0000, data, mem_mask);
set_prg(m_prg_base, m_prg_mask);
break;
default:
- txrom_write(offset, data);
+ txrom_write(space, offset, data, mem_mask);
break;
}
}
@@ -1314,7 +1314,7 @@ void nes_h2288_device::prg_cb(int start, int bank)
prg8_x(start, bank);
}
-void nes_h2288_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_h2288_device::write_l)
{
LOG_MMC(("h2288 write_l, offset: %04x, data: %02x\n", offset, data));
offset += 0x100;
@@ -1334,7 +1334,7 @@ void nes_h2288_device::write_l(offs_t offset, uint8_t data)
}
}
-uint8_t nes_h2288_device::read_l(offs_t offset)
+READ8_MEMBER(nes_h2288_device::read_l)
{
LOG_MMC(("h2288 read_l, offset: %04x\n", offset));
offset += 0x100;
@@ -1351,7 +1351,7 @@ uint8_t nes_h2288_device::read_l(offs_t offset)
return 0;
}
-void nes_h2288_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_h2288_device::write_h)
{
static const uint8_t conv_table[8] = {0, 3, 1, 5, 6, 7, 2, 4};
LOG_MMC(("h2288 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1359,11 +1359,11 @@ void nes_h2288_device::write_h(offs_t offset, uint8_t data)
switch (offset & 0x6001)
{
case 0x0000:
- txrom_write(0x0000, (data & 0xc0) | conv_table[data & 0x07]);
+ txrom_write(space, 0x0000, (data & 0xc0) | conv_table[data & 0x07], mem_mask);
break;
default:
- txrom_write(offset, data);
+ txrom_write(space, offset, data, mem_mask);
break;
}
}
@@ -1378,7 +1378,7 @@ void nes_h2288_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_6035052_device::write_ex(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_6035052_device::write_ex)
{
LOG_MMC(("6035052 write_ex, offset: %04x, data: %02x\n", offset, data));
m_prot = data & 0x03;
@@ -1386,7 +1386,7 @@ void nes_6035052_device::write_ex(offs_t offset, uint8_t data)
m_prot = 2;
}
-uint8_t nes_6035052_device::read_ex(offs_t offset)
+READ8_MEMBER(nes_6035052_device::read_ex)
{
LOG_MMC(("6035052 read_ex, offset: %04x\n", offset));
return m_prot;
@@ -1406,7 +1406,7 @@ uint8_t nes_6035052_device::read_ex(offs_t offset)
-------------------------------------------------*/
-void nes_txc_tw_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_txc_tw_device::write_l)
{
LOG_MMC(("txc_tw write_l, offset: %04x, data: %02x\n", offset, data));
@@ -1436,22 +1436,22 @@ inline uint8_t kof97_unscramble( uint8_t data )
return ((data >> 1) & 0x01) | ((data >> 4) & 0x02) | ((data << 2) & 0x04) | ((data >> 0) & 0xd8) | ((data << 3) & 0x20);
}
-void nes_kof97_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_kof97_device::write_h)
{
LOG_MMC(("kof97 write_h, offset: %04x, data: %02x\n", offset, data));
/* Addresses 0x9000, 0xa000, 0xd000 & 0xf000 behaves differently than MMC3 */
if (offset == 0x1000)
- txrom_write(0x0001, kof97_unscramble(data));
+ txrom_write(space, 0x0001, kof97_unscramble(data), mem_mask);
else if (offset == 0x2000)
- txrom_write(0x0000, kof97_unscramble(data));
+ txrom_write(space, 0x0000, kof97_unscramble(data), mem_mask);
else if (offset == 0x5000)
- txrom_write(0x4001, kof97_unscramble(data));
+ txrom_write(space, 0x4001, kof97_unscramble(data), mem_mask);
else if (offset == 0x7000)
- txrom_write(0x6001, kof97_unscramble(data));
+ txrom_write(space, 0x6001, kof97_unscramble(data), mem_mask);
/* Other addresses behaves like MMC3, up to unscrambling data */
else
- txrom_write(offset, kof97_unscramble(data));
+ txrom_write(space, offset, kof97_unscramble(data), mem_mask);
}
/*-------------------------------------------------
@@ -1485,7 +1485,7 @@ void nes_kof96_device::chr_cb(int start, int bank, int source)
chr1_x(start, bank, source);
}
-void nes_kof96_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_kof96_device::write_l)
{
uint8_t new_bank;
LOG_MMC(("kof96 write_l, offset: %04x, data: %02x\n", offset, data));
@@ -1532,11 +1532,11 @@ void nes_kof96_device::write_l(offs_t offset, uint8_t data)
if (!m_reg[3] && offset > 0x1000)
{
m_reg[3] = 1;
- poke(0x4017, 0x40); // FIXME
+ space.write_byte(0x4017, 0x40);
}
}
-uint8_t nes_kof96_device::read_l(offs_t offset)
+READ8_MEMBER(nes_kof96_device::read_l)
{
LOG_MMC(("kof96 read_l, offset: %04x\n", offset));
offset += 0x100;
@@ -1547,7 +1547,7 @@ uint8_t nes_kof96_device::read_l(offs_t offset)
return 0;
}
-void nes_kof96_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_kof96_device::write_h)
{
LOG_MMC(("kof96 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1555,12 +1555,12 @@ void nes_kof96_device::write_h(offs_t offset, uint8_t data)
{
case 0x0000:
m_reg[2] = 1;
- txrom_write(0x0000, data);
+ txrom_write(space, 0x0000, data, mem_mask);
break;
case 0x0001:
if (m_reg[2])
- txrom_write(0x0001, data);
+ txrom_write(space, 0x0001, data, mem_mask);
break;
case 0x0002:
@@ -1576,7 +1576,7 @@ void nes_kof96_device::write_h(offs_t offset, uint8_t data)
break;
default:
- txrom_write(offset, data);
+ txrom_write(space, offset, data, mem_mask);
break;
}
}
@@ -1600,7 +1600,7 @@ void nes_sf3_device::set_chr(uint8_t chr_source, int chr_base, int chr_mask)
chr2_6(chr_base | (m_mmc_vrom_bank[2] & chr_mask), chr_source);
}
-void nes_sf3_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_sf3_device::write_h)
{
uint8_t cmd;
LOG_MMC(("sf3 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1624,7 +1624,7 @@ void nes_sf3_device::write_h(offs_t offset, uint8_t data)
break;
default:
- txrom_write(offset, data);
+ txrom_write(space, offset, data, mem_mask);
break;
}
}
@@ -1643,7 +1643,7 @@ void nes_sf3_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_gouder_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_gouder_device::write_l)
{
static const uint8_t conv_table[256] =
{
@@ -1675,7 +1675,7 @@ void nes_gouder_device::write_l(offs_t offset, uint8_t data)
prg32(((data >> 3) & 0x02) | (data & 0x01));
}
-uint8_t nes_gouder_device::read_l(offs_t offset)
+READ8_MEMBER(nes_gouder_device::read_l)
{
LOG_MMC(("gouder read_l, offset: %04x\n", offset));
@@ -1722,7 +1722,7 @@ void nes_sa9602b_device::prg_cb(int start, int bank)
}
-void nes_sa9602b_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER( nes_sa9602b_device::write_h )
{
LOG_MMC(("sa9602b write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1738,7 +1738,7 @@ void nes_sa9602b_device::write_h(offs_t offset, uint8_t data)
break;
}
- txrom_write(offset, data);
+ txrom_write(space, offset, data, mem_mask);
}
/*-------------------------------------------------
@@ -1762,7 +1762,7 @@ void nes_sachen_shero_device::chr_cb( int start, int bank, int source )
}
-void nes_sachen_shero_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER( nes_sachen_shero_device::write_l )
{
LOG_MMC(("shero write_l, offset: %04x, data: %02x\n", offset, data));
offset += 0x4100;
@@ -1777,7 +1777,7 @@ void nes_sachen_shero_device::write_l(offs_t offset, uint8_t data)
}
}
-uint8_t nes_sachen_shero_device::read_l(offs_t offset)
+READ8_MEMBER( nes_sachen_shero_device::read_l )
{
LOG_MMC(("shero read_l, offset: %04x\n", offset));
offset += 0x4100;
@@ -1786,7 +1786,7 @@ uint8_t nes_sachen_shero_device::read_l(offs_t offset)
{
// DSW read!
}
- return get_open_bus(); // open bus
+ return m_open_bus; // open bus
}
@@ -1886,7 +1886,7 @@ void nes_fk23c_device::fk23c_set_chr()
}
}
-void nes_fk23c_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_fk23c_device::write_l)
{
LOG_MMC(("fk23c write_l, offset: %04x, data: %02x\n", offset, data));
offset += 0x100;
@@ -1903,7 +1903,7 @@ void nes_fk23c_device::write_l(offs_t offset, uint8_t data)
}
}
-void nes_fk23c_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_fk23c_device::write_h)
{
LOG_MMC(("fk23c write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1929,7 +1929,7 @@ void nes_fk23c_device::write_h(offs_t offset, uint8_t data)
fk23c_set_chr();
}
else
- txrom_write(offset, data);
+ txrom_write(space, offset, data, mem_mask);
break;
case 0x2000:
@@ -1937,7 +1937,7 @@ void nes_fk23c_device::write_h(offs_t offset, uint8_t data)
break;
default:
- txrom_write(offset, data);
+ txrom_write(space, offset, data, mem_mask);
break;
}
}
@@ -1971,7 +1971,7 @@ void nes_s24in1sc03_device::chr_cb(int start, int bank, int source)
chr1_x(start, chr_base | bank, chr);
}
-void nes_s24in1sc03_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_s24in1sc03_device::write_l)
{
LOG_MMC(("s24in1sc03 write_l, offset: %04x, data: %02x\n", offset, data));
offset += 0x100;
@@ -2009,7 +2009,7 @@ void nes_s24in1sc03_device::write_l(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_bmc_15in1_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_bmc_15in1_device::write_m)
{
LOG_MMC(("bmc_15in1 write_m, offset: %04x, data: %02x\n", offset, data));
@@ -2037,7 +2037,7 @@ void nes_bmc_15in1_device::write_m(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_bmc_sbig7_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_bmc_sbig7_device::write_h)
{
uint8_t page;
LOG_MMC(("bmc_sbig7 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -2058,7 +2058,7 @@ void nes_bmc_sbig7_device::write_h(offs_t offset, uint8_t data)
break;
default:
- txrom_write(offset, data);
+ txrom_write(space, offset, data, mem_mask);
break;
}
}
@@ -2076,7 +2076,7 @@ void nes_bmc_sbig7_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_bmc_hik8_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_bmc_hik8_device::write_m)
{
LOG_MMC(("bmc_hik8 write_m, offset: %04x, data: %02x\n", offset, data));
@@ -2123,7 +2123,7 @@ void nes_bmc_hik8_device::write_m(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_bmc_hik4_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_bmc_hik4_device::write_m)
{
LOG_MMC(("bmc_hik4 write_m, offset: %04x, data: %02x\n", offset, data));
@@ -2162,7 +2162,7 @@ void nes_bmc_hik4_device::write_m(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_bmc_mario7in1_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_bmc_mario7in1_device::write_m)
{
uint8_t helper1, helper2;
LOG_MMC(("bmc_mario7in1 write_m, offset: %04x, data: %02x\n", offset, data));
@@ -2204,7 +2204,7 @@ void nes_bmc_mario7in1_device::write_m(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_bmc_gold7in1_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_bmc_gold7in1_device::write_m)
{
uint8_t helper1, helper2;
LOG_MMC(("bmc_gold7in1 write_m, offset: %04x, data: %02x\n", offset, data));
@@ -2265,7 +2265,7 @@ void nes_bmc_gc6in1_device::chr_cb(int start, int bank, int source)
chr1_x(start, ((m_reg[1] & 0x03) << 8) | bank, source);
}
-void nes_bmc_gc6in1_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_bmc_gc6in1_device::write_l)
{
uint8_t bank;
LOG_MMC(("bmc_gc6in1 write_l, offset: %04x, data: %02x\n", offset, data));
@@ -2294,7 +2294,7 @@ void nes_bmc_gc6in1_device::write_l(offs_t offset, uint8_t data)
}
}
-void nes_bmc_gc6in1_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_bmc_gc6in1_device::write_h)
{
uint8_t cmd;
static const uint8_t conv_table[8] = {0, 6, 3, 7, 5, 2, 4, 1};
@@ -2303,20 +2303,20 @@ void nes_bmc_gc6in1_device::write_h(offs_t offset, uint8_t data)
if (!m_reg[2])
{
// in this case we act like MMC3, only with alt prg/chr handlers
- txrom_write(offset, data);
+ txrom_write(space, offset, data, mem_mask);
}
else
{
switch (offset & 0x6001)
{
case 0x0000:
- txrom_write(0x4000, data);
+ txrom_write(space, 0x4000, data, mem_mask);
break;
case 0x0001:
data = (data & 0xc0) | conv_table[data & 0x07];
m_reg[3] = 1;
- txrom_write(0x0000, data);
+ txrom_write(space, 0x0000, data, mem_mask);
break;
case 0x2000:
@@ -2346,7 +2346,7 @@ void nes_bmc_gc6in1_device::write_h(offs_t offset, uint8_t data)
break;
default:
- txrom_write(offset, data);
+ txrom_write(space, offset, data, mem_mask);
break;
}
}
@@ -2377,7 +2377,7 @@ void nes_bmc_411120c_device::chr_cb(int start, int bank, int source)
chr1_x(start, bank | ((m_reg & 3) << 7), source);
}
-void nes_bmc_411120c_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_bmc_411120c_device::write_m)
{
LOG_MMC(("bmc_411120c write_m, offset: %04x, data: %02x\n", offset, data));
@@ -2422,7 +2422,7 @@ void nes_bmc_830118c_device::chr_cb(int start, int bank, int source)
chr1_x(start, (bank & 0x7f) | ((m_reg & 0x0c) << 5), source);
}
-void nes_bmc_830118c_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_bmc_830118c_device::write_m)
{
LOG_MMC(("bmc_830118c write_m, offset: %04x, data: %02x\n", offset, data));
@@ -2478,7 +2478,7 @@ inline void nes_pjoy84_device::set_base_mask()
m_chr_mask = BIT(m_reg[0], 7) ? 0x7f : 0xff;
}
-void nes_pjoy84_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_pjoy84_device::write_m)
{
LOG_MMC(("pjoy84 write_m, offset: %04x, data: %02x\n", offset, data));
@@ -2523,7 +2523,7 @@ void nes_coolboy_device::chr_cb(int start, int bank, int source)
chr1_x(start, bank, source);
}
-void nes_coolboy_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_coolboy_device::write_m)
{
LOG_MMC(("coolboy write_m, offset: %04x, data: %02x\n", offset, data));
@@ -2593,7 +2593,7 @@ void nes_a9746_device::update_banks(uint8_t value)
}
}
-void nes_a9746_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_a9746_device::write_h)
{
LOG_MMC(("unl_a9746 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -2619,7 +2619,7 @@ void nes_a9746_device::write_h(offs_t offset, uint8_t data)
break;
default:
- txrom_write(offset, data);
+ txrom_write(space, offset, data, mem_mask);
break;
}
}
diff --git a/src/devices/bus/nes/mmc3_clones.h b/src/devices/bus/nes/mmc3_clones.h
index 680e86b4c9c..b6102e8fd62 100644
--- a/src/devices/bus/nes/mmc3_clones.h
+++ b/src/devices/bus/nes/mmc3_clones.h
@@ -17,7 +17,7 @@ public:
nes_nitra_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
};
@@ -30,7 +30,7 @@ public:
nes_ks7057_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
};
@@ -43,7 +43,7 @@ public:
nes_sbros11_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
};
@@ -56,7 +56,7 @@ public:
nes_malisb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void prg_cb(int start, int bank) override;
virtual void chr_cb(int start, int bank, int source) override;
};
@@ -71,7 +71,7 @@ public:
nes_family4646_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void pcb_reset() override;
};
@@ -85,9 +85,9 @@ public:
// construction/destruction
nes_pikay2k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_m(offs_t offset) override;
- virtual void write_m(offs_t offset, uint8_t data) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -110,8 +110,8 @@ public:
// device-level overrides
virtual void device_start() override;
- virtual void write_l(offs_t offset, uint8_t data) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_l) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void prg_cb(int start, int bank) override;
virtual void chr_cb(int start, int bank, int source) override;
@@ -131,8 +131,8 @@ public:
// construction/destruction
nes_sglionk_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_m(offs_t offset, uint8_t data) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -154,9 +154,9 @@ public:
// construction/destruction
nes_sgboog_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_l(offs_t offset, uint8_t data) override;
- virtual void write_m(offs_t offset, uint8_t data) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_l) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void prg_cb(int start, int bank) override;
virtual void chr_cb(int start, int bank, int source) override;
@@ -181,7 +181,7 @@ public:
// construction/destruction
nes_kasing_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void prg_cb(int start, int bank) override;
virtual void pcb_reset() override;
@@ -203,9 +203,9 @@ public:
// construction/destruction
nes_kay_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_l(offs_t offset) override;
- virtual void write_l(offs_t offset, uint8_t data) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_l) override;
+ virtual DECLARE_WRITE8_MEMBER(write_l) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void prg_cb(int start, int bank) override;
virtual void chr_cb(int start, int bank, int source) override;
@@ -230,9 +230,9 @@ public:
// construction/destruction
nes_h2288_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_l(offs_t offset) override;
- virtual void write_l(offs_t offset, uint8_t data) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_l) override;
+ virtual DECLARE_WRITE8_MEMBER(write_l) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void prg_cb(int start, int bank) override;
virtual void pcb_reset() override;
@@ -254,12 +254,12 @@ public:
// construction/destruction
nes_6035052_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_ex(offs_t offset) override;
- virtual void write_ex(offs_t offset, uint8_t data) override;
- virtual uint8_t read_l(offs_t offset) override { return read_ex(offset); }
- virtual uint8_t read_m(offs_t offset) override { return read_ex(offset); }
- virtual void write_l(offs_t offset, uint8_t data) override { write_ex(offset, data); }
- virtual void write_m(offs_t offset, uint8_t data) override { write_ex(offset, data); }
+ virtual DECLARE_READ8_MEMBER(read_ex) override;
+ virtual DECLARE_WRITE8_MEMBER(write_ex) override;
+ virtual DECLARE_READ8_MEMBER(read_l) override { return read_ex(space, offset, mem_mask); }
+ virtual DECLARE_READ8_MEMBER(read_m) override { return read_ex(space, offset, mem_mask); }
+ virtual DECLARE_WRITE8_MEMBER(write_l) override { write_ex(space, offset, data, mem_mask); }
+ virtual DECLARE_WRITE8_MEMBER(write_m) override { write_ex(space, offset, data, mem_mask); }
virtual void pcb_reset() override;
@@ -281,8 +281,8 @@ public:
nes_txc_tw_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void write_l(offs_t offset, uint8_t data) override;
- virtual void write_m(offs_t offset, uint8_t data) override { write_l(offset & 0xff, data); } // offset does not really count for this mapper }
+ virtual DECLARE_WRITE8_MEMBER(write_l) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override { write_l(space, offset & 0xff, data, mem_mask); } // offset does not really count for this mapper }
virtual void prg_cb(int start, int bank) override;
};
@@ -296,7 +296,7 @@ public:
nes_kof97_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
};
@@ -308,9 +308,9 @@ public:
// construction/destruction
nes_kof96_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_l(offs_t offset) override;
- virtual void write_l(offs_t offset, uint8_t data) override;
- virtual void write_h(offs_t offset, uint8_t data) override; // offset does not really count for this mapper
+ virtual DECLARE_READ8_MEMBER(read_l) override;
+ virtual DECLARE_WRITE8_MEMBER(write_l) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override; // offset does not really count for this mapper
virtual void prg_cb(int start, int bank) override;
virtual void chr_cb(int start, int bank, int source) override;
@@ -334,7 +334,7 @@ public:
nes_sf3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
protected:
virtual void set_chr(uint8_t chr, int chr_base, int chr_mask) override;
@@ -349,8 +349,8 @@ public:
// construction/destruction
nes_gouder_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_l(offs_t offset) override;
- virtual void write_l(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_l) override;
+ virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual void prg_cb(int start, int bank) override;
virtual void pcb_reset() override;
@@ -372,7 +372,7 @@ public:
// construction/destruction
nes_sa9602b_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void prg_cb(int start, int bank) override;
virtual void pcb_reset() override;
@@ -395,8 +395,8 @@ public:
// construction/destruction
nes_sachen_shero_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_l(offs_t offset) override;
- virtual void write_l(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_l) override;
+ virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual void chr_cb(int start, int bank, int source) override;
virtual void pcb_reset() override;
@@ -418,7 +418,7 @@ public:
// construction/destruction
nes_a9746_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset();
@@ -441,8 +441,8 @@ public:
// construction/destruction
nes_fk23c_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_l(offs_t offset, uint8_t data) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_l) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void prg_cb(int start, int bank) override;
virtual void chr_cb(int start, int bank, int source) override;
@@ -481,7 +481,7 @@ public:
// construction/destruction
nes_s24in1sc03_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_l(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual void prg_cb(int start, int bank) override;
virtual void chr_cb(int start, int bank, int source) override;
@@ -505,7 +505,7 @@ public:
nes_bmc_15in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void pcb_reset() override;
};
@@ -520,7 +520,7 @@ public:
nes_bmc_sbig7_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
};
@@ -534,7 +534,7 @@ public:
// construction/destruction
nes_bmc_hik8_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void pcb_reset() override;
@@ -557,7 +557,7 @@ public:
nes_bmc_hik4_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void pcb_reset() override;
};
@@ -571,7 +571,7 @@ public:
// construction/destruction
nes_bmc_mario7in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void pcb_reset() override;
@@ -592,7 +592,7 @@ public:
// construction/destruction
nes_bmc_gold7in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void pcb_reset() override;
@@ -613,8 +613,8 @@ public:
// construction/destruction
nes_bmc_gc6in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_l(offs_t offset, uint8_t data) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_l) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void prg_cb(int start, int bank) override;
virtual void chr_cb(int start, int bank, int source) override;
@@ -637,7 +637,7 @@ public:
// construction/destruction
nes_bmc_411120c_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void prg_cb(int start, int bank) override;
virtual void chr_cb(int start, int bank, int source) override;
@@ -660,7 +660,7 @@ public:
// construction/destruction
nes_bmc_830118c_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void prg_cb(int start, int bank) override;
virtual void chr_cb(int start, int bank, int source) override;
@@ -683,7 +683,7 @@ public:
// construction/destruction
nes_pjoy84_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void prg_cb(int start, int bank) override;
virtual void chr_cb(int start, int bank, int source) override;
@@ -707,7 +707,7 @@ public:
nes_coolboy_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void prg_cb(int start, int bank) override;
virtual void chr_cb(int start, int bank, int source) override;
diff --git a/src/devices/bus/nes/mmc5.cpp b/src/devices/bus/nes/mmc5.cpp
index b512f914e8b..681b9491ef2 100644
--- a/src/devices/bus/nes/mmc5.cpp
+++ b/src/devices/bus/nes/mmc5.cpp
@@ -287,7 +287,7 @@ inline bool nes_exrom_device::in_split()
return false;
}
-uint8_t nes_exrom_device::nt_r(offs_t offset)
+READ8_MEMBER(nes_exrom_device::nt_r)
{
int page = ((offset & 0xc00) >> 10);
@@ -339,7 +339,7 @@ uint8_t nes_exrom_device::nt_r(offs_t offset)
}
}
-void nes_exrom_device::nt_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_exrom_device::nt_w)
{
int page = ((offset & 0xc00) >> 10);
@@ -397,7 +397,7 @@ inline uint8_t nes_exrom_device::bg_ex1_chr_r(uint32_t offset)
return m_vrom[helper & (m_vrom_size - 1)];
}
-uint8_t nes_exrom_device::chr_r(offs_t offset)
+READ8_MEMBER(nes_exrom_device::chr_r)
{
int bank = offset >> 10;
@@ -425,7 +425,7 @@ uint8_t nes_exrom_device::chr_r(offs_t offset)
}
-uint8_t nes_exrom_device::read_l(offs_t offset)
+READ8_MEMBER(nes_exrom_device::read_l)
{
int value;
LOG_MMC(("exrom read_l, offset: %04x\n", offset));
@@ -437,7 +437,7 @@ uint8_t nes_exrom_device::read_l(offs_t offset)
if (BIT(m_exram_control, 1)) // Modes 2,3 = read
return m_exram[offset - 0x1c00];
else
- return get_open_bus(); // Modes 0,1 = open bus
+ return m_open_bus; // Modes 0,1 = open bus
}
switch (offset)
@@ -455,12 +455,12 @@ uint8_t nes_exrom_device::read_l(offs_t offset)
default:
logerror("MMC5 uncaught read, offset: %04x\n", offset + 0x4100);
- return get_open_bus();
+ return m_open_bus;
}
}
-void nes_exrom_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_exrom_device::write_l)
{
LOG_MMC(("exrom write_l, offset: %04x, data: %02x\n", offset, data));
offset += 0x100;
@@ -618,7 +618,7 @@ void nes_exrom_device::write_l(offs_t offset, uint8_t data)
// bit3 select the chip (2 of them can be accessed, each up to 32KB)
// bit1 & bit2 select the 8KB banks inside the chip
// same mechanism is used also when "WRAM" is mapped in higher banks
-uint8_t nes_exrom_device::read_m(offs_t offset)
+READ8_MEMBER(nes_exrom_device::read_m)
{
LOG_MMC(("exrom read_m, offset: %04x\n", offset));
if (!m_battery.empty() && !m_prgram.empty()) // 2 chips present: first is BWRAM, second is WRAM
@@ -633,10 +633,10 @@ uint8_t nes_exrom_device::read_m(offs_t offset)
else if (!m_battery.empty()) // 1 chip, BWRAM
return m_battery[(offset + (m_wram_base & 0x03) * 0x2000) & (m_battery.size() - 1)];
else
- return get_open_bus();
+ return m_open_bus;
}
-void nes_exrom_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_exrom_device::write_m)
{
LOG_MMC(("exrom write_m, offset: %04x, data: %02x\n", offset, data));
if (m_wram_protect_1 != 0x02 || m_wram_protect_2 != 0x01)
@@ -649,7 +649,7 @@ void nes_exrom_device::write_m(offs_t offset, uint8_t data)
}
// some games (e.g. Bandit Kings of Ancient China) write to PRG-RAM through 0x8000-0xdfff
-uint8_t nes_exrom_device::read_h(offs_t offset)
+READ8_MEMBER(nes_exrom_device::read_h)
{
LOG_MMC(("exrom read_h, offset: %04x\n", offset));
int bank = offset / 0x2000;
@@ -665,7 +665,7 @@ uint8_t nes_exrom_device::read_h(offs_t offset)
return hi_access_rom(offset);
}
-void nes_exrom_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_exrom_device::write_h)
{
LOG_MMC(("exrom write_h, offset: %04x, data: %02x\n", offset, data));
int bank = offset / 0x2000;
diff --git a/src/devices/bus/nes/mmc5.h b/src/devices/bus/nes/mmc5.h
index 093a64471d0..c0c07cb07a9 100644
--- a/src/devices/bus/nes/mmc5.h
+++ b/src/devices/bus/nes/mmc5.h
@@ -20,16 +20,16 @@ public:
nes_exrom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
~nes_exrom_device();
- virtual uint8_t read_l(offs_t offset) override;
- virtual uint8_t read_m(offs_t offset) override;
- virtual uint8_t read_h(offs_t offset) override;
- virtual void write_l(offs_t offset, uint8_t data) override;
- virtual void write_m(offs_t offset, uint8_t data) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
-
- virtual uint8_t chr_r(offs_t offset) override;
- virtual uint8_t nt_r(offs_t offset) override;
- virtual void nt_w(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_l) override;
+ virtual DECLARE_READ8_MEMBER(read_m) override;
+ virtual DECLARE_READ8_MEMBER(read_h) override;
+ virtual DECLARE_WRITE8_MEMBER(write_l) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
+
+ virtual DECLARE_READ8_MEMBER(chr_r) override;
+ virtual DECLARE_READ8_MEMBER(nt_r) override;
+ virtual DECLARE_WRITE8_MEMBER(nt_w) override;
virtual void hblank_irq(int scanline, int vblank, int blanked) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/multigame.cpp b/src/devices/bus/nes/multigame.cpp
index c117520afe5..6971e68ac61 100644
--- a/src/devices/bus/nes/multigame.cpp
+++ b/src/devices/bus/nes/multigame.cpp
@@ -1016,7 +1016,7 @@ void nes_bmc_42in1reset_device::pcb_reset()
-------------------------------------------------*/
-void nes_action52_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_action52_device::write_h)
{
uint8_t pmode = offset & 0x20;
int pbank = (offset & 0x1fc0) >> 6;
@@ -1048,7 +1048,7 @@ void nes_action52_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_caltron_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_caltron_device::write_m)
{
LOG_MMC(("caltron write_m, offset: %04x, data: %02x\n", offset, data));
@@ -1057,7 +1057,7 @@ void nes_caltron_device::write_m(offs_t offset, uint8_t data)
prg32(offset & 0x07);
}
-void nes_caltron_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_caltron_device::write_h)
{
LOG_MMC(("caltron write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1077,7 +1077,7 @@ void nes_caltron_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_rumblestat_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_rumblestat_device::write_m)
{
LOG_MMC(("rumblestation write_m, offset: %04x, data: %02x\n", offset, data));
@@ -1087,7 +1087,7 @@ void nes_rumblestat_device::write_m(offs_t offset, uint8_t data)
chr8(m_chr, CHRROM);
}
-void nes_rumblestat_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_rumblestat_device::write_h)
{
LOG_MMC(("rumblestation write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1129,14 +1129,14 @@ void nes_svision16_device::update_prg()
}
-uint8_t nes_svision16_device::read_m(offs_t offset)
+READ8_MEMBER(nes_svision16_device::read_m)
{
int bank = (((m_latch1 & 0x0f) << 4) | 0x0f) + 4 ; // +4 due to the eeprom
LOG_MMC(("svision16 read_m, offset: %04x\n", offset));
return m_prg[((bank * 0x2000) + (offset & 0x1fff)) & m_prg_mask];
}
-void nes_svision16_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_svision16_device::write_m)
{
LOG_MMC(("svision16 write_m, offset: %04x, data: %02x\n", offset, data));
@@ -1145,7 +1145,7 @@ void nes_svision16_device::write_m(offs_t offset, uint8_t data)
set_nt_mirroring(BIT(data, 5) ? PPU_MIRROR_HORZ : PPU_MIRROR_VERT);
}
-void nes_svision16_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_svision16_device::write_h)
{
LOG_MMC(("svision16 write_h, offset: %04x, data: %02x\n", offset, data));
m_latch2 = data;
@@ -1175,7 +1175,7 @@ void nes_n625092_device::set_prg(uint8_t reg1, uint8_t reg2)
prg16_cdef(helper2 | ((reg1 & 0x70) >> 1));
}
-void nes_n625092_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_n625092_device::write_h)
{
LOG_MMC(("n625092 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1213,7 +1213,7 @@ void nes_n625092_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_a65as_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_a65as_device::write_h)
{
uint8_t helper = (data & 0x30) >> 1;
LOG_MMC(("a65as write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1242,7 +1242,7 @@ void nes_a65as_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_t262_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_t262_device::write_h)
{
uint8_t mmc_helper;
LOG_MMC(("t262 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1281,7 +1281,7 @@ void nes_t262_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
// Are this correct or should they work the same?
-void nes_novel1_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_novel1_device::write_h)
{
LOG_MMC(("novel1 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1289,7 +1289,7 @@ void nes_novel1_device::write_h(offs_t offset, uint8_t data)
chr8(offset & 0x07, CHRROM);
}
-void nes_novel2_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_novel2_device::write_h)
{
LOG_MMC(("novel2 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1311,7 +1311,7 @@ void nes_novel2_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_studyngame_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_studyngame_device::write_h)
{
LOG_MMC(("studyngame write_h, offset: %04x, data: %02x\n", offset, data));
prg32(data);
@@ -1330,7 +1330,7 @@ void nes_studyngame_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_sgun20in1_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_sgun20in1_device::write_h)
{
LOG_MMC(("supergun20in1 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1345,7 +1345,7 @@ void nes_sgun20in1_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_vt5201_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_vt5201_device::write_h)
{
LOG_MMC(("vt5201 wirte_h, offset: %04x, data: %02x\n", offset, data));
@@ -1364,7 +1364,7 @@ void nes_vt5201_device::write_h(offs_t offset, uint8_t data)
chr8(offset, CHRROM);
}
-uint8_t nes_vt5201_device::read_h(offs_t offset)
+READ8_MEMBER(nes_vt5201_device::read_h)
{
LOG_MMC(("bmc_vt5201 read_h, offset: %04x\n", offset));
// m_dipsetting = ioport("CARTDIPS")->read();
@@ -1383,7 +1383,7 @@ uint8_t nes_vt5201_device::read_h(offs_t offset)
-------------------------------------------------*/
-void nes_810544c_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_810544c_device::write_h)
{
uint8_t bank = (offset >> 7);
LOG_MMC(("810544 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1407,7 +1407,7 @@ void nes_810544c_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_ntd03_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_ntd03_device::write_h)
{
uint8_t pbank = (offset >> 10) & 0x1e;
uint8_t cbank = ((offset & 0x300) >> 5) | (offset & 0x07);
@@ -1434,7 +1434,7 @@ void nes_ntd03_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_bmc_gb63_device::chr_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_bmc_gb63_device::chr_w)
{
int bank = offset >> 10;
@@ -1459,7 +1459,7 @@ void nes_bmc_gb63_device::update_banks()
// m_vram_disable = BIT(m_reg[1], 1) ? 0 : 1;
}
-void nes_bmc_gb63_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_bmc_gb63_device::write_h)
{
LOG_MMC(("bmc_gb63 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1468,13 +1468,13 @@ void nes_bmc_gb63_device::write_h(offs_t offset, uint8_t data)
update_banks();
}
-uint8_t nes_bmc_gb63_device::read_h(offs_t offset)
+READ8_MEMBER(nes_bmc_gb63_device::read_h)
{
LOG_MMC(("bmc_gb63 read_h, offset: %04x\n", offset));
// m_dipsetting = ioport("CARTDIPS")->read();
if (m_latch == 1)
- return get_open_bus(); // open bus
+ return m_open_bus; // open bus
else
return hi_access_rom(offset);
}
@@ -1493,7 +1493,7 @@ uint8_t nes_bmc_gb63_device::read_h(offs_t offset)
-------------------------------------------------*/
-void nes_bmc_gka_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_bmc_gka_device::write_h)
{
LOG_MMC(("bmc_gka write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1529,7 +1529,7 @@ void nes_bmc_gka_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_bmc_gkb_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_bmc_gkb_device::write_h)
{
uint8_t bank = (offset & 0x40) ? 0 : 1;
LOG_MMC(("bmc_gkb write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1551,7 +1551,7 @@ void nes_bmc_gkb_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_bmc_ws_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_bmc_ws_device::write_m)
{
uint8_t mmc_helper;
LOG_MMC(("bmc_ws write_m, offset: %04x, data: %02x\n", offset, data));
@@ -1588,7 +1588,7 @@ void nes_bmc_ws_device::write_m(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_bmc_11160_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_bmc_11160_device::write_h)
{
LOG_MMC(("bmc_11160 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1607,7 +1607,7 @@ void nes_bmc_11160_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_bmc_g146_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_bmc_g146_device::write_h)
{
LOG_MMC(("bmc_g146 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1640,7 +1640,7 @@ void nes_bmc_g146_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_bmc_8157_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_bmc_8157_device::write_h)
{
LOG_MMC(("bmc_8157 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1653,7 +1653,7 @@ void nes_bmc_8157_device::write_h(offs_t offset, uint8_t data)
set_nt_mirroring(!BIT(offset, 1) ? PPU_MIRROR_HORZ : PPU_MIRROR_VERT);
}
-uint8_t nes_bmc_8157_device::read_h(offs_t offset)
+READ8_MEMBER(nes_bmc_8157_device::read_h)
{
LOG_MMC(("bmc_8157 read_h, offset: %04x\n", offset));
// m_dipsetting = ioport("CARTDIPS")->read();
@@ -1678,7 +1678,7 @@ uint8_t nes_bmc_8157_device::read_h(offs_t offset)
-------------------------------------------------*/
-void nes_bmc_hik300_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_bmc_hik300_device::write_h)
{
LOG_MMC(("bmc_hik300 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1707,7 +1707,7 @@ void nes_bmc_hik300_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_bmc_s700_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_bmc_s700_device::write_h)
{
LOG_MMC(("bmc_s700 write_h, offset :%04x, data: %02x\n", offset, data));
@@ -1754,7 +1754,7 @@ void nes_bmc_ball11_device::set_banks()
}
}
-void nes_bmc_ball11_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_bmc_ball11_device::write_m)
{
LOG_MMC(("bmc_ball11 write_m, offset: %04x, data: %02x\n", offset, data));
@@ -1762,7 +1762,7 @@ void nes_bmc_ball11_device::write_m(offs_t offset, uint8_t data)
set_banks();
}
-void nes_bmc_ball11_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_bmc_ball11_device::write_h)
{
LOG_MMC(("bmc_ball11 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1793,7 +1793,7 @@ void nes_bmc_ball11_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_bmc_22games_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_bmc_22games_device::write_h)
{
LOG_MMC(("bmc_22games write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1846,7 +1846,7 @@ void nes_bmc_64y2k_device::set_prg()
prg16_cdef(helper2);
}
-void nes_bmc_64y2k_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_bmc_64y2k_device::write_l)
{
LOG_MMC(("bmc64y2k write_l, offset: %04x, data: %02x\n", offset, data));
offset += 0x100;
@@ -1866,7 +1866,7 @@ void nes_bmc_64y2k_device::write_l(offs_t offset, uint8_t data)
set_nt_mirroring(BIT(data, 5) ? PPU_MIRROR_HORZ : PPU_MIRROR_VERT);
}
-void nes_bmc_64y2k_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_bmc_64y2k_device::write_h)
{
LOG_MMC(("bmc64y2k write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1904,7 +1904,7 @@ void nes_bmc_12in1_device::update_banks()
set_nt_mirroring(BIT(m_reg[2], 2) ? PPU_MIRROR_HORZ : PPU_MIRROR_VERT);
}
-void nes_bmc_12in1_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_bmc_12in1_device::write_h)
{
LOG_MMC(("bmc_12in1 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1930,7 +1930,7 @@ void nes_bmc_12in1_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_bmc_20in1_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_bmc_20in1_device::write_h)
{
LOG_MMC(("bmc_20in1 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1953,7 +1953,7 @@ void nes_bmc_20in1_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_bmc_21in1_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_bmc_21in1_device::write_h)
{
LOG_MMC(("bmc_21in1 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1974,7 +1974,7 @@ void nes_bmc_21in1_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_bmc_31in1_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_bmc_31in1_device::write_h)
{
LOG_MMC(("bmc_31in1 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -2006,7 +2006,7 @@ void nes_bmc_31in1_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_bmc_35in1_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_bmc_35in1_device::write_h)
{
LOG_MMC(("bmc_35in1 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -2028,7 +2028,7 @@ void nes_bmc_35in1_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_bmc_36in1_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_bmc_36in1_device::write_h)
{
LOG_MMC(("bmc_36in1 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -2052,7 +2052,7 @@ void nes_bmc_36in1_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_bmc_64in1_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_bmc_64in1_device::write_h)
{
int bank = (offset >> 1) & (offset >> 2) & 0x01;
@@ -2082,7 +2082,7 @@ void nes_bmc_64in1_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_bmc_70in1_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_bmc_70in1_device::write_h)
{
LOG_MMC(("bmc70in1 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -2105,7 +2105,7 @@ void nes_bmc_70in1_device::write_h(offs_t offset, uint8_t data)
}
}
-uint8_t nes_bmc_70in1_device::read_h(offs_t offset)
+READ8_MEMBER(nes_bmc_70in1_device::read_h)
{
LOG_MMC(("bmc70in1 read_h, offset: %04x\n", offset));
@@ -2128,7 +2128,7 @@ uint8_t nes_bmc_70in1_device::read_h(offs_t offset)
-------------------------------------------------*/
-void nes_bmc_72in1_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_bmc_72in1_device::write_h)
{
int hi_bank = offset & 0x40;
int size_16 = offset & 0x1000;
@@ -2165,7 +2165,7 @@ void nes_bmc_72in1_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
// does this work for super42in1 as well?!?
-void nes_bmc_76in1_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_bmc_76in1_device::write_h)
{
int hi_bank;
int size_16;
@@ -2210,7 +2210,7 @@ void nes_bmc_76in1_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_bmc_110in1_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_bmc_110in1_device::write_h)
{
uint8_t helper1 = (offset >> 12) ? 0 : 1;
uint8_t helper2 = ((offset >> 8) & 0x40) | ((offset >> 6) & 0x3f);
@@ -2237,7 +2237,7 @@ void nes_bmc_110in1_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_bmc_150in1_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_bmc_150in1_device::write_h)
{
int bank = (offset >> 1) & 0x07;
@@ -2261,7 +2261,7 @@ void nes_bmc_150in1_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_bmc_190in1_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_bmc_190in1_device::write_h)
{
LOG_MMC(("bmc190in1 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -2287,7 +2287,7 @@ void nes_bmc_190in1_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_bmc_800in1_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_bmc_800in1_device::write_h)
{
LOG_MMC(("bmc800in1 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -2312,7 +2312,7 @@ void nes_bmc_800in1_device::write_h(offs_t offset, uint8_t data)
prg16_cdef(m_reg[1]);
}
-uint8_t nes_bmc_800in1_device::read_h(offs_t offset)
+READ8_MEMBER(nes_bmc_800in1_device::read_h)
{
LOG_MMC(("bmc800in1 read_h, offset: %04x\n", offset));
@@ -2335,7 +2335,7 @@ uint8_t nes_bmc_800in1_device::read_h(offs_t offset)
-------------------------------------------------*/
-void nes_bmc_1200in1_device::chr_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_bmc_1200in1_device::chr_w)
{
int bank = offset >> 10;
@@ -2344,7 +2344,7 @@ void nes_bmc_1200in1_device::chr_w(offs_t offset, uint8_t data)
}
-void nes_bmc_1200in1_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_bmc_1200in1_device::write_h)
{
int bank = ((offset >> 2) & 0x1f) | ((offset & 0x0100) >> 3);
@@ -2390,7 +2390,7 @@ void nes_bmc_1200in1_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_bmc_gold260_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_bmc_gold260_device::write_h)
{
int bank = (offset & 0x1f) | ((offset & 0x0300) >> 3);
LOG_MMC(("bmc_gold260 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -2428,7 +2428,7 @@ void nes_bmc_gold260_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_bmc_gold150_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_bmc_gold150_device::write_h)
{
int bank = (offset & 0x1f) | ((offset & 0x0200) >> 4);
LOG_MMC(("bmc_gold150 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -2450,12 +2450,12 @@ void nes_bmc_gold150_device::write_h(offs_t offset, uint8_t data)
prg32(bank);
}
-uint8_t nes_bmc_gold150_device::read_h(offs_t offset)
+READ8_MEMBER(nes_bmc_gold150_device::read_h)
{
LOG_MMC(("bmc_gold150 read_h, offset: %04x\n", offset));
if (m_latch) // open bus
- return get_open_bus();
+ return m_open_bus;
else
return hi_access_rom(offset);
}
@@ -2475,7 +2475,7 @@ uint8_t nes_bmc_gold150_device::read_h(offs_t offset)
-------------------------------------------------*/
-void nes_bmc_ch001_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_bmc_ch001_device::write_h)
{
int bank = ((offset >> 1) & 0x1fc);
LOG_MMC(("bmc_ch001 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -2503,12 +2503,12 @@ void nes_bmc_ch001_device::write_h(offs_t offset, uint8_t data)
prg8_ef((offset & 0x07c ) | ((offset & 0x6) ? 0x3 : 0x1));
}
-uint8_t nes_bmc_ch001_device::read_h(offs_t offset)
+READ8_MEMBER(nes_bmc_ch001_device::read_h)
{
LOG_MMC(("bmc_ch001 read_h, offset: %04x\n", offset));
if (m_latch && offset < 0x4000) // open bus
- return get_open_bus();
+ return m_open_bus;
else
return hi_access_rom(offset);
}
@@ -2528,7 +2528,7 @@ uint8_t nes_bmc_ch001_device::read_h(offs_t offset)
-------------------------------------------------*/
-void nes_bmc_super22_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_bmc_super22_device::write_h)
{
LOG_MMC(("bmc_super22 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -2581,7 +2581,7 @@ void nes_bmc_super22_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_bmc_42in1reset_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_bmc_42in1reset_device::write_h)
{
int bank;
LOG_MMC(("bmc_42in1reset write_h, offset: %04x, data: %02x\n", offset, data));
diff --git a/src/devices/bus/nes/multigame.h b/src/devices/bus/nes/multigame.h
index 51db3e9f821..e88ec21be58 100644
--- a/src/devices/bus/nes/multigame.h
+++ b/src/devices/bus/nes/multigame.h
@@ -16,7 +16,7 @@ public:
// construction/destruction
nes_action52_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -34,8 +34,8 @@ public:
// construction/destruction
nes_caltron_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_m(offs_t offset, uint8_t data) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -56,8 +56,8 @@ public:
// construction/destruction
nes_rumblestat_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_m(offs_t offset, uint8_t data) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -78,9 +78,9 @@ public:
// construction/destruction
nes_svision16_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_m(offs_t offset) override;
- virtual void write_m(offs_t offset, uint8_t data) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -102,7 +102,7 @@ public:
// construction/destruction
nes_n625092_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -124,7 +124,7 @@ public:
// construction/destruction
nes_a65as_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -142,7 +142,7 @@ public:
// construction/destruction
nes_t262_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -163,7 +163,7 @@ public:
// construction/destruction
nes_novel1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -181,7 +181,7 @@ public:
// construction/destruction
nes_novel2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -199,7 +199,7 @@ public:
// construction/destruction
nes_studyngame_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -217,7 +217,7 @@ public:
// construction/destruction
nes_sgun20in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -235,8 +235,8 @@ public:
// construction/destruction
nes_vt5201_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_h(offs_t offset) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_h) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -257,7 +257,7 @@ public:
// construction/destruction
nes_810544c_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -275,7 +275,7 @@ public:
// construction/destruction
nes_ntd03_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -293,9 +293,9 @@ public:
// construction/destruction
nes_bmc_gb63_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_h(offs_t offset) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
- virtual void chr_w(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_h) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual DECLARE_WRITE8_MEMBER(chr_w) override;
virtual void pcb_reset() override;
@@ -318,7 +318,7 @@ public:
// construction/destruction
nes_bmc_gka_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -339,7 +339,7 @@ public:
// construction/destruction
nes_bmc_gkb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -357,7 +357,7 @@ public:
// construction/destruction
nes_bmc_ws_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void pcb_reset() override;
@@ -378,7 +378,7 @@ public:
// construction/destruction
nes_bmc_11160_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -396,7 +396,7 @@ public:
// construction/destruction
nes_bmc_g146_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -414,8 +414,8 @@ public:
// construction/destruction
nes_bmc_8157_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_h(offs_t offset) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_h) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -433,7 +433,7 @@ public:
// construction/destruction
nes_bmc_hik300_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -451,7 +451,7 @@ public:
// construction/destruction
nes_bmc_s700_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -469,8 +469,8 @@ public:
// construction/destruction
nes_bmc_ball11_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_m(offs_t offset, uint8_t data) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -492,7 +492,7 @@ public:
// construction/destruction
nes_bmc_22games_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -510,8 +510,8 @@ public:
// construction/destruction
nes_bmc_64y2k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_l(offs_t offset, uint8_t data) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_l) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -533,7 +533,7 @@ public:
// construction/destruction
nes_bmc_12in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -555,7 +555,7 @@ public:
// construction/destruction
nes_bmc_20in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -573,7 +573,7 @@ public:
// construction/destruction
nes_bmc_21in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -591,7 +591,7 @@ public:
// construction/destruction
nes_bmc_31in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -609,7 +609,7 @@ public:
// construction/destruction
nes_bmc_35in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -627,7 +627,7 @@ public:
// construction/destruction
nes_bmc_36in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -645,7 +645,7 @@ public:
// construction/destruction
nes_bmc_64in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -663,8 +663,8 @@ public:
// construction/destruction
nes_bmc_70in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_h(offs_t offset) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_h) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -686,7 +686,7 @@ public:
// construction/destruction
nes_bmc_72in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -704,7 +704,7 @@ public:
// construction/destruction
nes_bmc_76in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -725,7 +725,7 @@ public:
// construction/destruction
nes_bmc_110in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -743,7 +743,7 @@ public:
// construction/destruction
nes_bmc_150in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -761,7 +761,7 @@ public:
// construction/destruction
nes_bmc_190in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -779,8 +779,8 @@ public:
// construction/destruction
nes_bmc_800in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_h(offs_t offset) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_h) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -802,8 +802,8 @@ public:
// construction/destruction
nes_bmc_1200in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
- virtual void chr_w(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual DECLARE_WRITE8_MEMBER(chr_w) override;
virtual void pcb_reset() override;
@@ -824,8 +824,8 @@ public:
// construction/destruction
nes_bmc_gold150_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_h(offs_t offset) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_h) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -846,7 +846,7 @@ public:
// construction/destruction
nes_bmc_gold260_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -864,8 +864,8 @@ public:
// construction/destruction
nes_bmc_ch001_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_h(offs_t offset) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_h) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -886,7 +886,7 @@ public:
// construction/destruction
nes_bmc_super22_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -922,7 +922,7 @@ public:
// construction/destruction
nes_bmc_42in1reset_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/namcot.cpp b/src/devices/bus/nes/namcot.cpp
index e2898d6b9ba..84b41996272 100644
--- a/src/devices/bus/nes/namcot.cpp
+++ b/src/devices/bus/nes/namcot.cpp
@@ -246,7 +246,7 @@ void nes_namcot163_device::pcb_reset()
-------------------------------------------------*/
-void nes_namcot3433_device::dxrom_write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_namcot3433_device::dxrom_write)
{
LOG_MMC(("dxrom_write, offset: %04x, data: %02x\n", offset, data));
@@ -290,7 +290,7 @@ void nes_namcot3433_device::dxrom_write(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_namcot3446_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_namcot3446_device::write_h)
{
LOG_MMC(("namcot3446 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -334,7 +334,7 @@ void nes_namcot3446_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_namcot3425_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_namcot3425_device::write_h)
{
uint8_t mode;
LOG_MMC(("namcot3425 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -407,7 +407,7 @@ void nes_namcot340_device::device_timer(emu_timer &timer, device_timer_id id, in
}
}
-void nes_namcot340_device::n340_lowrite(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_namcot340_device::n340_lowrite)
{
LOG_MMC(("n340_lowrite, offset: %04x, data: %02x\n", offset, data));
offset += 0x100;
@@ -426,7 +426,7 @@ void nes_namcot340_device::n340_lowrite(offs_t offset, uint8_t data)
}
}
-uint8_t nes_namcot340_device::n340_loread(offs_t offset)
+READ8_MEMBER(nes_namcot340_device::n340_loread)
{
LOG_MMC(("n340_loread, offset: %04x\n", offset));
offset += 0x100;
@@ -444,7 +444,7 @@ uint8_t nes_namcot340_device::n340_loread(offs_t offset)
}
}
-void nes_namcot340_device::n340_hiwrite(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_namcot340_device::n340_hiwrite)
{
LOG_MMC(("n340_hiwrite, offset: %04x, data: %02x\n", offset, data));
@@ -505,17 +505,17 @@ void nes_namcot340_device::n340_hiwrite(offs_t offset, uint8_t data)
-------------------------------------------------*/
-uint8_t nes_namcot175_device::read_m(offs_t offset)
+READ8_MEMBER(nes_namcot175_device::read_m)
{
// the only game supporting this is Family Circuit '91, and it has 2KB of battery
// but it's mirrored up to 8KB (see Sprint Race -> Back Up menu breakage if not)
if (!m_battery.empty() && !m_wram_protect)
return m_battery[offset & (m_battery.size() - 1)];
- return get_open_bus(); // open bus
+ return m_open_bus; // open bus
}
-void nes_namcot175_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_namcot175_device::write_m)
{
// the only game supporting this is Family Circuit '91, and it has 2KB of battery
// but it's mirrored up to 8KB (see Sprint Race -> Back Up menu breakage if not)
@@ -523,7 +523,7 @@ void nes_namcot175_device::write_m(offs_t offset, uint8_t data)
m_battery[offset & (m_battery.size() - 1)] = data;
}
-void nes_namcot175_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_namcot175_device::write_h)
{
LOG_MMC(("namcot175 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -536,7 +536,7 @@ void nes_namcot175_device::write_h(offs_t offset, uint8_t data)
prg8_89(data & 0x3f);
break;
default:
- n340_hiwrite(offset, data);
+ n340_hiwrite(space, offset, data, mem_mask);
break;
}
}
@@ -560,7 +560,7 @@ void nes_namcot175_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_namcot163_device::chr_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_namcot163_device::chr_w)
{
int bank = offset >> 10;
@@ -576,7 +576,7 @@ void nes_namcot163_device::chr_w(offs_t offset, uint8_t data)
// or ROM, so no write
}
-uint8_t nes_namcot163_device::chr_r(offs_t offset)
+READ8_MEMBER(nes_namcot163_device::chr_r)
{
int bank = offset >> 10;
if (!(m_latch & 0x40) && m_chr_bank >= 0xe0)
@@ -590,15 +590,15 @@ uint8_t nes_namcot163_device::chr_r(offs_t offset)
}
-uint8_t nes_namcot163_device::read_m(offs_t offset)
+READ8_MEMBER(nes_namcot163_device::read_m)
{
if (!m_battery.empty() && offset < m_battery.size())
return m_battery[offset & (m_battery.size() - 1)];
- return get_open_bus(); // open bus
+ return m_open_bus; // open bus
}
-void nes_namcot163_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_namcot163_device::write_m)
{
// the pcb can separately protect each 2KB chunk of the external wram from writes
int bank = (offset & 0x1800) >> 11;
@@ -606,7 +606,7 @@ void nes_namcot163_device::write_m(offs_t offset, uint8_t data)
m_battery[offset & (m_battery.size() - 1)] = data;
}
-void nes_namcot163_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_namcot163_device::write_l)
{
LOG_MMC(("namcot163 write_l, offset: %04x, data: %02x\n", offset, data));
offset += 0x100;
@@ -617,12 +617,12 @@ void nes_namcot163_device::write_l(offs_t offset, uint8_t data)
LOG_MMC(("Namcot-163 sound reg write, data: %02x\n", data));
break;
default:
- n340_lowrite(offset, data);
+ n340_lowrite(space, offset, data, mem_mask);
break;
}
}
-uint8_t nes_namcot163_device::read_l(offs_t offset)
+READ8_MEMBER(nes_namcot163_device::read_l)
{
LOG_MMC(("namcot163 read_l, offset: %04x\n", offset));
offset += 0x100;
@@ -633,7 +633,7 @@ uint8_t nes_namcot163_device::read_l(offs_t offset)
LOG_MMC(("Namcot-163 sound reg read\n"));
return 0;
default:
- return n340_loread(offset);
+ return n340_loread(space, offset, mem_mask);
}
}
@@ -645,7 +645,7 @@ void nes_namcot163_device::set_mirror(uint8_t page, uint8_t data)
set_nt_page(page, CIRAM, data & 0x01, 1);
}
-void nes_namcot163_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_namcot163_device::write_h)
{
int page;
LOG_MMC(("namcot163 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -680,7 +680,7 @@ void nes_namcot163_device::write_h(offs_t offset, uint8_t data)
LOG_MMC(("Namcot-163 sound address write, data: %02x\n", data));
break;
default:
- n340_hiwrite(offset, data);
+ n340_hiwrite(space, offset, data, mem_mask);
break;
}
}
diff --git a/src/devices/bus/nes/namcot.h b/src/devices/bus/nes/namcot.h
index bcf72f5bad4..a4ab64084e1 100644
--- a/src/devices/bus/nes/namcot.h
+++ b/src/devices/bus/nes/namcot.h
@@ -16,8 +16,8 @@ public:
// construction/destruction
nes_namcot3433_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- void dxrom_write(offs_t offset, uint8_t data);
- virtual void write_h(offs_t offset, uint8_t data) override { dxrom_write(offset, data); }
+ virtual DECLARE_WRITE8_MEMBER(dxrom_write);
+ virtual DECLARE_WRITE8_MEMBER(write_h) override { dxrom_write(space, offset, data, mem_mask); }
virtual void pcb_reset() override;
@@ -40,7 +40,7 @@ public:
// construction/destruction
nes_namcot3446_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -61,7 +61,7 @@ public:
// construction/destruction
nes_namcot3425_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -83,12 +83,12 @@ public:
// construction/destruction
nes_namcot340_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- uint8_t n340_loread(offs_t offset);
- void n340_lowrite(offs_t offset, uint8_t data);
- void n340_hiwrite(offs_t offset, uint8_t data);
- virtual uint8_t read_l(offs_t offset) override { return n340_loread(offset); }
- virtual void write_l(offs_t offset, uint8_t data) override { n340_lowrite(offset, data); }
- virtual void write_h(offs_t offset, uint8_t data) override { n340_hiwrite(offset, data); }
+ virtual DECLARE_READ8_MEMBER(n340_loread);
+ virtual DECLARE_WRITE8_MEMBER(n340_lowrite);
+ virtual DECLARE_WRITE8_MEMBER(n340_hiwrite);
+ virtual DECLARE_READ8_MEMBER(read_l) override { return n340_loread(space, offset, mem_mask); }
+ virtual DECLARE_WRITE8_MEMBER(write_l) override { n340_lowrite(space, offset, data, mem_mask); }
+ virtual DECLARE_WRITE8_MEMBER(write_h) override { n340_hiwrite(space, offset, data, mem_mask); }
virtual void pcb_reset() override;
@@ -122,9 +122,9 @@ public:
// device-level overrides
virtual void device_start() override;
- virtual uint8_t read_m(offs_t offset) override;
- virtual void write_m(offs_t offset, uint8_t data) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -141,15 +141,15 @@ public:
// construction/destruction
nes_namcot163_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_l(offs_t offset) override;
- virtual uint8_t read_m(offs_t offset) override;
- virtual void write_l(offs_t offset, uint8_t data) override;
- virtual void write_m(offs_t offset, uint8_t data) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_l) override;
+ virtual DECLARE_READ8_MEMBER(read_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_l) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
// we have to overwrite these to allow CIRAM to be used for VRAM, even if it's not clear which game(s) use this
- virtual uint8_t chr_r(offs_t offset) override;
- virtual void chr_w(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(chr_r) override;
+ virtual DECLARE_WRITE8_MEMBER(chr_w) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/nanjing.cpp b/src/devices/bus/nes/nanjing.cpp
index 9719816beb2..26a7e20f97c 100644
--- a/src/devices/bus/nes/nanjing.cpp
+++ b/src/devices/bus/nes/nanjing.cpp
@@ -111,7 +111,7 @@ void nes_nanjing_device::hblank_irq(int scanline, int vblank, int blanked)
}
-void nes_nanjing_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_nanjing_device::write_l)
{
LOG_MMC(("nanjing write_l, offset: %04x, data: %02x\n", offset, data));
@@ -154,7 +154,7 @@ void nes_nanjing_device::write_l(offs_t offset, uint8_t data)
prg32((m_reg[0] & 0x0f) | ((m_reg[1] & 0x0f) << 4));
}
-uint8_t nes_nanjing_device::read_l(offs_t offset)
+READ8_MEMBER(nes_nanjing_device::read_l)
{
uint8_t value = 0;
LOG_MMC(("nanjing read_l, offset: %04x\n", offset));
diff --git a/src/devices/bus/nes/nanjing.h b/src/devices/bus/nes/nanjing.h
index c5a71032573..a231872a124 100644
--- a/src/devices/bus/nes/nanjing.h
+++ b/src/devices/bus/nes/nanjing.h
@@ -19,8 +19,8 @@ public:
nes_nanjing_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
~nes_nanjing_device();
- virtual uint8_t read_l(offs_t offset) override;
- virtual void write_l(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_l) override;
+ virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual void hblank_irq(int scanline, int vblank, int blanked) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/nes_slot.cpp b/src/devices/bus/nes/nes_slot.cpp
index ab8235ccc55..c3d036b8493 100644
--- a/src/devices/bus/nes/nes_slot.cpp
+++ b/src/devices/bus/nes/nes_slot.cpp
@@ -592,12 +592,6 @@ void device_nes_cart_interface::reset_cpu()
m_maincpu->set_pc(0xfffc);
}
-void device_nes_cart_interface::poke(offs_t offset, uint8_t data)
-{
- // even worse hack
- m_maincpu->space(AS_PROGRAM).write_byte(offset, data);
-}
-
//-------------------------------------------------
// Other helpers
//-------------------------------------------------
@@ -630,7 +624,7 @@ uint8_t device_nes_cart_interface::account_bus_conflict(uint32_t offset, uint8_t
// PPU accessors
//-------------------------------------------------
-void device_nes_cart_interface::chr_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(device_nes_cart_interface::chr_w)
{
int bank = offset >> 10;
@@ -638,14 +632,14 @@ void device_nes_cart_interface::chr_w(offs_t offset, uint8_t data)
m_chr_access[bank][offset & 0x3ff] = data;
}
-uint8_t device_nes_cart_interface::chr_r(offs_t offset)
+READ8_MEMBER(device_nes_cart_interface::chr_r)
{
int bank = offset >> 10;
return m_chr_access[bank][offset & 0x3ff];
}
-void device_nes_cart_interface::nt_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(device_nes_cart_interface::nt_w)
{
int page = ((offset & 0xc00) >> 10);
@@ -655,7 +649,7 @@ void device_nes_cart_interface::nt_w(offs_t offset, uint8_t data)
m_nt_access[page][offset & 0x3ff] = data;
}
-uint8_t device_nes_cart_interface::nt_r(offs_t offset)
+READ8_MEMBER(device_nes_cart_interface::nt_r)
{
int page = ((offset & 0xc00) >> 10);
return m_nt_access[page][offset & 0x3ff];
@@ -671,26 +665,26 @@ uint8_t device_nes_cart_interface::nt_r(offs_t offset)
// source)
//-------------------------------------------------
-uint8_t device_nes_cart_interface::read_l(offs_t offset)
+READ8_MEMBER(device_nes_cart_interface::read_l)
{
- return get_open_bus();
+ return m_open_bus;
}
-uint8_t device_nes_cart_interface::read_m(offs_t offset)
+READ8_MEMBER(device_nes_cart_interface::read_m)
{
if (!m_battery.empty())
return m_battery[offset & (m_battery.size() - 1)];
if (!m_prgram.empty())
return m_prgram[offset & (m_prgram.size() - 1)];
- return get_open_bus();
+ return m_open_bus;
}
-void device_nes_cart_interface::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(device_nes_cart_interface::write_l)
{
}
-void device_nes_cart_interface::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(device_nes_cart_interface::write_m)
{
if (!m_battery.empty())
m_battery[offset & (m_battery.size() - 1)] = data;
@@ -698,7 +692,7 @@ void device_nes_cart_interface::write_m(offs_t offset, uint8_t data)
m_prgram[offset & (m_prgram.size() - 1)] = data;
}
-void device_nes_cart_interface::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(device_nes_cart_interface::write_h)
{
}
@@ -746,9 +740,6 @@ void device_nes_cart_interface::pcb_start(running_machine &machine, uint8_t *cir
device().save_item(NAME(m_vram));
if (!m_battery.empty())
device().save_item(NAME(m_battery));
-
- // open bus
- device().save_item(NAME(m_open_bus));
}
void device_nes_cart_interface::pcb_reg_postload(running_machine &machine)
@@ -952,11 +943,11 @@ std::string nes_cart_slot_device::get_default_card_software(get_default_card_sof
read
-------------------------------------------------*/
-uint8_t nes_cart_slot_device::read_l(offs_t offset)
+READ8_MEMBER(nes_cart_slot_device::read_l)
{
if (m_cart)
{
- uint8_t val = m_cart->read_l(offset);
+ uint8_t val = m_cart->read_l(space, offset);
// update open bus
m_cart->set_open_bus(((offset + 0x4100) & 0xff00) >> 8);
return val;
@@ -965,11 +956,11 @@ uint8_t nes_cart_slot_device::read_l(offs_t offset)
return 0xff;
}
-uint8_t nes_cart_slot_device::read_m(offs_t offset)
+READ8_MEMBER(nes_cart_slot_device::read_m)
{
if (m_cart)
{
- uint8_t val = m_cart->read_m(offset);
+ uint8_t val = m_cart->read_m(space, offset);
// update open bus
m_cart->set_open_bus(((offset + 0x6000) & 0xff00) >> 8);
return val;
@@ -978,11 +969,11 @@ uint8_t nes_cart_slot_device::read_m(offs_t offset)
return 0xff;
}
-uint8_t nes_cart_slot_device::read_h(offs_t offset)
+READ8_MEMBER(nes_cart_slot_device::read_h)
{
if (m_cart)
{
- uint8_t val = m_cart->read_h(offset);
+ uint8_t val = m_cart->read_h(space, offset);
// update open bus
m_cart->set_open_bus(((offset + 0x8000) & 0xff00) >> 8);
return val;
@@ -991,11 +982,11 @@ uint8_t nes_cart_slot_device::read_h(offs_t offset)
return 0xff;
}
-uint8_t nes_cart_slot_device::read_ex(offs_t offset)
+READ8_MEMBER(nes_cart_slot_device::read_ex)
{
if (m_cart)
{
- uint8_t val = m_cart->read_ex(offset);
+ uint8_t val = m_cart->read_ex(space, offset);
// update open bus
m_cart->set_open_bus(((offset + 0x4020) & 0xff00) >> 8);
return val;
@@ -1009,41 +1000,41 @@ uint8_t nes_cart_slot_device::read_ex(offs_t offset)
write
-------------------------------------------------*/
-void nes_cart_slot_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_cart_slot_device::write_l)
{
if (m_cart)
{
- m_cart->write_l(offset, data);
+ m_cart->write_l(space, offset, data);
// update open bus
m_cart->set_open_bus(((offset + 0x4100) & 0xff00) >> 8);
}
}
-void nes_cart_slot_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_cart_slot_device::write_m)
{
if (m_cart)
{
- m_cart->write_m(offset, data);
+ m_cart->write_m(space, offset, data);
// update open bus
m_cart->set_open_bus(((offset + 0x6000) & 0xff00) >> 8);
}
}
-void nes_cart_slot_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_cart_slot_device::write_h)
{
if (m_cart)
{
- m_cart->write_h(offset, data);
+ m_cart->write_h(space, offset, data);
// update open bus
m_cart->set_open_bus(((offset + 0x8000) & 0xff00) >> 8);
}
}
-void nes_cart_slot_device::write_ex(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_cart_slot_device::write_ex)
{
if (m_cart)
{
- m_cart->write_ex(offset, data);
+ m_cart->write_ex(space, offset, data);
// update open bus
m_cart->set_open_bus(((offset + 0x4020) & 0xff00) >> 8);
}
diff --git a/src/devices/bus/nes/nes_slot.h b/src/devices/bus/nes/nes_slot.h
index 952ffd74b1f..b86dbfb1e41 100644
--- a/src/devices/bus/nes/nes_slot.h
+++ b/src/devices/bus/nes/nes_slot.h
@@ -166,19 +166,19 @@ public:
virtual ~device_nes_cart_interface();
// reading and writing
- virtual uint8_t read_l(offs_t offset);
- virtual uint8_t read_m(offs_t offset);
- virtual uint8_t read_h(offs_t offset) { return 0xff; }
- virtual uint8_t read_ex(offs_t offset) { return 0xff; }
- virtual void write_l(offs_t offset, uint8_t data);
- virtual void write_m(offs_t offset, uint8_t data);
- virtual void write_h(offs_t offset, uint8_t data);
- virtual void write_ex(offs_t offset, uint8_t data) { }
-
- virtual uint8_t chr_r(offs_t offset);
- virtual void chr_w(offs_t offset, uint8_t data);
- virtual uint8_t nt_r(offs_t offset);
- virtual void nt_w(offs_t offset, uint8_t data);
+ virtual DECLARE_READ8_MEMBER(read_l);
+ virtual DECLARE_READ8_MEMBER(read_m);
+ virtual DECLARE_READ8_MEMBER(read_h) { return 0xff; }
+ virtual DECLARE_READ8_MEMBER(read_ex) { return 0xff; }
+ virtual DECLARE_WRITE8_MEMBER(write_l);
+ virtual DECLARE_WRITE8_MEMBER(write_m);
+ virtual DECLARE_WRITE8_MEMBER(write_h);
+ virtual DECLARE_WRITE8_MEMBER(write_ex) { }
+
+ virtual DECLARE_READ8_MEMBER(chr_r);
+ virtual DECLARE_WRITE8_MEMBER(chr_w);
+ virtual DECLARE_READ8_MEMBER(nt_r);
+ virtual DECLARE_WRITE8_MEMBER(nt_w);
// hack until disk system is made modern!
virtual void disk_flip_side() { }
@@ -202,7 +202,6 @@ public:
void set_vrc_lines(int PRG_A, int PRG_B, int CHR) { m_vrc_ls_prg_a = PRG_A; m_vrc_ls_prg_b = PRG_B; m_vrc_ls_chr = CHR; }
void set_x1_005_alt(bool val) { m_x1_005_alt_mirroring = val; }
void set_bus_conflict(bool val) { m_bus_conflict = val; }
- uint8_t get_open_bus() { return m_open_bus; }
void set_open_bus(uint8_t val) { m_open_bus = val; }
uint8_t *get_prg_base() { return m_prg; }
@@ -238,7 +237,6 @@ protected:
DECLARE_WRITE_LINE_MEMBER(set_irq_line);
void hold_irq_line();
void reset_cpu();
- void poke(offs_t offset, uint8_t data);
// internal state
uint8_t *m_prg;
@@ -272,10 +270,8 @@ protected:
bool m_pcb_ctrl_mirror, m_four_screen_vram, m_has_trainer;
bool m_x1_005_alt_mirroring; // temp hack for two kind of mirroring in Taito X1-005 boards (to be replaced with pin checking)
bool m_bus_conflict;
-private:
uint8_t m_open_bus;
-public:
// PRG
inline int prg_8k_bank_num(int bank);
inline void update_prg_banks(int prg_bank_start, int prg_bank_end);
@@ -392,14 +388,14 @@ public:
int nes_get_pcb_id(const char *slot);
// reading and writing
- virtual uint8_t read_l(offs_t offset);
- virtual uint8_t read_m(offs_t offset);
- virtual uint8_t read_h(offs_t offset);
- virtual uint8_t read_ex(offs_t offset);
- virtual void write_l(offs_t offset, uint8_t data);
- virtual void write_m(offs_t offset, uint8_t data);
- virtual void write_h(offs_t offset, uint8_t data);
- virtual void write_ex(offs_t offset, uint8_t data);
+ virtual DECLARE_READ8_MEMBER(read_l);
+ virtual DECLARE_READ8_MEMBER(read_m);
+ virtual DECLARE_READ8_MEMBER(read_h);
+ virtual DECLARE_READ8_MEMBER(read_ex);
+ virtual DECLARE_WRITE8_MEMBER(write_l);
+ virtual DECLARE_WRITE8_MEMBER(write_m);
+ virtual DECLARE_WRITE8_MEMBER(write_h);
+ virtual DECLARE_WRITE8_MEMBER(write_ex);
// hack until disk system is made modern!
virtual void disk_flip_side() { if (m_cart) m_cart->disk_flip_side(); }
@@ -433,4 +429,9 @@ DECLARE_DEVICE_TYPE(NES_CART_SLOT, nes_cart_slot_device)
#define NESSLOT_PRGROM_REGION_TAG ":cart:prg_rom"
#define NESSLOT_CHRROM_REGION_TAG ":cart:chr_rom"
+
+#define MCFG_NES_CARTRIDGE_NOT_MANDATORY \
+ static_cast<nes_cart_slot_device *>(device)->set_must_be_loaded(false);
+
+
#endif // MAME_BUS_NES_NES_SLOT_H
diff --git a/src/devices/bus/nes/ntdec.cpp b/src/devices/bus/nes/ntdec.cpp
index 6fbcd6f31ef..5ea3458e8f3 100644
--- a/src/devices/bus/nes/ntdec.cpp
+++ b/src/devices/bus/nes/ntdec.cpp
@@ -102,7 +102,7 @@ void nes_ntdec_fh_device::pcb_reset()
-------------------------------------------------*/
-void nes_ntdec_asder_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_ntdec_asder_device::write_h)
{
LOG_MMC(("ntdec_asder write_h, offset: %04x, data: %02x\n", offset, data));
@@ -165,7 +165,7 @@ void nes_ntdec_asder_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_ntdec_fh_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_ntdec_fh_device::write_m)
{
LOG_MMC(("ntdec_fh write_m, offset: %04x, data: %02x\n", offset, data));
diff --git a/src/devices/bus/nes/ntdec.h b/src/devices/bus/nes/ntdec.h
index 062c5d7dcec..1e5e8ef6cbb 100644
--- a/src/devices/bus/nes/ntdec.h
+++ b/src/devices/bus/nes/ntdec.h
@@ -16,7 +16,7 @@ public:
// construction/destruction
nes_ntdec_asder_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -37,7 +37,7 @@ public:
// construction/destruction
nes_ntdec_fh_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/nxrom.cpp b/src/devices/bus/nes/nxrom.cpp
index 352b7534250..e78fd6d1527 100644
--- a/src/devices/bus/nes/nxrom.cpp
+++ b/src/devices/bus/nes/nxrom.cpp
@@ -145,6 +145,9 @@ void nes_nrom_device::common_start()
save_item(NAME(m_nt_src));
save_item(NAME(m_nt_orig));
save_item(NAME(m_nt_writable));
+
+ // open bus
+ save_item(NAME(m_open_bus));
}
void nes_nrom_device::pcb_reset()
@@ -288,23 +291,23 @@ void nes_un1rom_device::pcb_reset()
-------------------------------------------------*/
-uint8_t nes_nrom368_device::read_l(offs_t offset)
+READ8_MEMBER(nes_nrom368_device::read_l)
{
LOG_MMC(("nrom368 read_l, offset: %04x\n", offset));
offset += 0x100;
if (offset >= 0x800)
return m_prg[offset - 0x800];
else
- return get_open_bus();
+ return m_open_bus;
}
-uint8_t nes_nrom368_device::read_m(offs_t offset)
+READ8_MEMBER(nes_nrom368_device::read_m)
{
LOG_MMC(("nrom368 read_m, offset: %04x\n", offset));
return m_prg[0x1800 + (offset & 0x1fff)];
}
-uint8_t nes_nrom368_device::read_h(offs_t offset)
+READ8_MEMBER(nes_nrom368_device::read_h)
{
LOG_MMC(("nrom368 read_h, offset: %04x\n", offset));
return m_prg[0x3800 + (offset & 0x7fff)];
@@ -331,7 +334,7 @@ uint8_t nes_nrom368_device::read_h(offs_t offset)
-------------------------------------------------*/
-void nes_axrom_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_axrom_device::write_h)
{
LOG_MMC(("axrom write_h, offset: %04x, data: %02x\n", offset, data));
@@ -352,7 +355,7 @@ void nes_axrom_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_bxrom_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_bxrom_device::write_h)
{
/* This portion of the mapper is nearly identical to Mapper 7, except no one-screen mirroring */
/* Deadly Towers is really a BxROM game - the demo screens look wrong using mapper 7. */
@@ -388,7 +391,7 @@ void nes_bxrom_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_cnrom_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_cnrom_device::write_h)
{
LOG_MMC(("cxrom write_h, offset: %04x, data: %02x\n", offset, data));
@@ -409,7 +412,7 @@ void nes_cnrom_device::write_h(offs_t offset, uint8_t data)
chr8(data, CHRROM);
}
-uint8_t nes_cnrom_device::chr_r(offs_t offset)
+READ8_MEMBER(nes_cnrom_device::chr_r)
{
int bank = offset >> 10;
@@ -418,7 +421,7 @@ uint8_t nes_cnrom_device::chr_r(offs_t offset)
// give actual VROM content or open bus values.
// For most boards, chr_open_bus remains always zero.
if (m_chr_open_bus)
- return get_open_bus();
+ return m_open_bus;
return m_chr_access[bank][offset & 0x3ff];
}
@@ -438,7 +441,7 @@ uint8_t nes_cnrom_device::chr_r(offs_t offset)
-------------------------------------------------*/
-void nes_cprom_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_cprom_device::write_h)
{
LOG_MMC(("cprom write_h, offset: %04x, data: %02x\n", offset, data));
@@ -459,7 +462,7 @@ void nes_cprom_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_gxrom_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_gxrom_device::write_h)
{
LOG_MMC(("gxrom write_h, offset %04x, data: %02x\n", offset, data));
@@ -485,7 +488,7 @@ void nes_gxrom_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_uxrom_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_uxrom_device::write_h)
{
LOG_MMC(("uxrom write_h, offset: %04x, data: %02x\n", offset, data));
@@ -511,7 +514,7 @@ void nes_uxrom_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_uxrom_cc_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_uxrom_cc_device::write_h)
{
LOG_MMC(("uxrom_cc write_h, offset: %04x, data: %02x\n", offset, data));
@@ -532,7 +535,7 @@ void nes_uxrom_cc_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_un1rom_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_un1rom_device::write_h)
{
LOG_MMC(("un1rom write_h, offset: %04x, data: %02x\n", offset, data));
@@ -555,7 +558,7 @@ void nes_un1rom_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_nochr_device::chr_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_nochr_device::chr_w)
{
int mirr = get_mirroring();
if (mirr == PPU_MIRROR_HIGH)
@@ -566,7 +569,7 @@ void nes_nochr_device::chr_w(offs_t offset, uint8_t data)
m_ciram[offset & 0x7ff] = data; // not sure here, since there is no software to test...
}
-uint8_t nes_nochr_device::chr_r(offs_t offset)
+READ8_MEMBER(nes_nochr_device::chr_r)
{
int mirr = get_mirroring();
if (mirr == PPU_MIRROR_HIGH)
diff --git a/src/devices/bus/nes/nxrom.h b/src/devices/bus/nes/nxrom.h
index 382abf05390..721ed5b5e98 100644
--- a/src/devices/bus/nes/nxrom.h
+++ b/src/devices/bus/nes/nxrom.h
@@ -36,9 +36,9 @@ public:
// construction/destruction
nes_nrom368_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_l(offs_t offset) override;
- virtual uint8_t read_m(offs_t offset) override;
- virtual uint8_t read_h(offs_t offset) override;
+ virtual DECLARE_READ8_MEMBER(read_l) override;
+ virtual DECLARE_READ8_MEMBER(read_m) override;
+ virtual DECLARE_READ8_MEMBER(read_h) override;
};
@@ -62,7 +62,7 @@ public:
// construction/destruction
nes_axrom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -80,7 +80,7 @@ public:
// construction/destruction
nes_bxrom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -98,8 +98,8 @@ public:
// construction/destruction
nes_cnrom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t chr_r(offs_t offset) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(chr_r) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -122,7 +122,7 @@ public:
// construction/destruction
nes_cprom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -140,7 +140,7 @@ public:
// construction/destruction
nes_gxrom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -158,7 +158,7 @@ public:
// construction/destruction
nes_uxrom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -176,7 +176,7 @@ public:
// construction/destruction
nes_uxrom_cc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -194,7 +194,7 @@ public:
// construction/destruction
nes_un1rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -213,8 +213,8 @@ public:
nes_nochr_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual uint8_t chr_r(offs_t offset) override;
- virtual void chr_w(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(chr_r) override;
+ virtual DECLARE_WRITE8_MEMBER(chr_w) override;
};
diff --git a/src/devices/bus/nes/pirate.cpp b/src/devices/bus/nes/pirate.cpp
index acda901ecca..1d2035a9b91 100644
--- a/src/devices/bus/nes/pirate.cpp
+++ b/src/devices/bus/nes/pirate.cpp
@@ -423,7 +423,7 @@ void nes_cityfight_device::pcb_reset()
-------------------------------------------------*/
-void nes_agci_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_agci_device::write_h)
{
LOG_MMC(("agci write_h, offset: %04x, data: %02x\n", offset, data));
@@ -445,7 +445,7 @@ void nes_agci_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_dreamtech_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_dreamtech_device::write_l)
{
LOG_MMC(("dreamtech write_l, offset: %04x, data: %02x\n", offset, data));
offset += 0x100;
@@ -467,7 +467,7 @@ void nes_dreamtech_device::write_l(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_fukutake_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_fukutake_device::write_l)
{
LOG_MMC(("fukutake write_l, offset: %04x, data: %02x\n", offset, data));
offset += 0x100;
@@ -483,7 +483,7 @@ void nes_fukutake_device::write_l(offs_t offset, uint8_t data)
m_ram[offset - 0x400] = data;
}
-uint8_t nes_fukutake_device::read_l(offs_t offset)
+READ8_MEMBER(nes_fukutake_device::read_l)
{
LOG_MMC(("fukutake read_l, offset: %04x\n", offset));
offset += 0x100;
@@ -503,13 +503,13 @@ uint8_t nes_fukutake_device::read_l(offs_t offset)
return 0;
}
-void nes_fukutake_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_fukutake_device::write_m)
{
LOG_MMC(("fukutake write_m, offset: %04x, data: %02x\n", offset, data));
m_prgram[((m_latch * 0x2000) + offset) & (m_prgram.size() - 1)] = data;
}
-uint8_t nes_fukutake_device::read_m(offs_t offset)
+READ8_MEMBER(nes_fukutake_device::read_m)
{
LOG_MMC(("fukutake read_m, offset: %04x\n", offset));
return m_prgram[((m_latch * 0x2000) + offset) & (m_prgram.size() - 1)];
@@ -540,7 +540,7 @@ void nes_futuremedia_device::hblank_irq(int scanline, int vblank, int blanked)
}
}
-void nes_futuremedia_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_futuremedia_device::write_h)
{
LOG_MMC(("futuremedia write_h, offset: %04x, data: %02x\n", offset, data));
@@ -603,7 +603,7 @@ void nes_futuremedia_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_magseries_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_magseries_device::write_h)
{
LOG_MMC(("magseries write_h, offset: %04x, data: %02x\n", offset, data));
@@ -626,7 +626,7 @@ void nes_magseries_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_daou306_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_daou306_device::write_h)
{
LOG_MMC(("daou306 write_h, offset: %04x, data: %02x\n", offset, data));
int reg = BIT(offset, 2) ? 8 : 0;
@@ -695,7 +695,7 @@ void nes_daou306_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_cc21_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_cc21_device::write_h)
{
LOG_MMC(("cc21 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -718,7 +718,7 @@ void nes_cc21_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_xiaozy_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_xiaozy_device::write_l)
{
LOG_MMC(("xiaozy write_l, offset: %04x, data: %02x\n", offset, data));
@@ -739,7 +739,7 @@ void nes_xiaozy_device::write_l(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_edu2k_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_edu2k_device::write_h)
{
LOG_MMC(("edu2k write_h, offset: %04x, data: %02x\n", offset, data));
@@ -747,13 +747,13 @@ void nes_edu2k_device::write_h(offs_t offset, uint8_t data)
m_latch = (data & 0xc0) >> 6;
}
-void nes_edu2k_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_edu2k_device::write_m)
{
LOG_MMC(("edu2k write_m, offset: %04x, data: %02x\n", offset, data));
m_prgram[((m_latch * 0x2000) + offset) & (m_prgram.size() - 1)] = data;
}
-uint8_t nes_edu2k_device::read_m(offs_t offset)
+READ8_MEMBER(nes_edu2k_device::read_m)
{
LOG_MMC(("edu2k read_m, offset: %04x\n", offset));
return m_prgram[((m_latch * 0x2000) + offset) & (m_prgram.size() - 1)];
@@ -787,7 +787,7 @@ void nes_t230_device::hblank_irq(int scanline, int vblank, int blanked)
}
}
-void nes_t230_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_t230_device::write_h)
{
LOG_MMC(("t230 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -869,7 +869,7 @@ void nes_mk2_device::hblank_irq( int scanline, int vblank, int blanked )
m_irq_clear = 0;
}
-void nes_mk2_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_mk2_device::write_m)
{
LOG_MMC(("mk2 write_m, offset: %04x, data: %02x\n", offset, data));
@@ -921,7 +921,7 @@ void nes_whero_device::hblank_irq(int scanline, int vblank, int blanked)
}
}
-void nes_whero_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_whero_device::write_h)
{
int bank, shift, mask1, mask2;
LOG_MMC(("World Hero write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1005,7 +1005,7 @@ void nes_whero_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_43272_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_43272_device::write_h)
{
LOG_MMC(("unl_43272 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1016,7 +1016,7 @@ void nes_43272_device::write_h(offs_t offset, uint8_t data)
}
-uint8_t nes_43272_device::read_h(offs_t offset)
+READ8_MEMBER(nes_43272_device::read_h)
{
uint8_t mask = (m_latch & 0x400) ? 0xfe : 0xff;
LOG_MMC(("unl_43272 read_h, offset: %04x\n", offset));
@@ -1054,7 +1054,7 @@ void nes_tf1201_device::update_prg()
prg8_cd(m_swap ? m_prg : 0xff );
}
-void nes_tf1201_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_tf1201_device::write_h)
{
int bank;
LOG_MMC(("unl_tf1201 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1139,7 +1139,7 @@ void nes_cityfight_device::update_prg()
prg8_cd(m_prg_reg);
}
-void nes_cityfight_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_cityfight_device::write_h)
{
int bank;
LOG_MMC(("unl_cityfight write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1244,7 +1244,7 @@ void nes_fujiya_device::pcb_reset()
m_latch = 0;
}
-void nes_fujiya_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_fujiya_device::write_m)
{
LOG_MMC(("fujiya write_m, offset: %04x, data: %02x\n", offset, data));
offset += 0x6000;
@@ -1253,7 +1253,7 @@ void nes_fujiya_device::write_m(offs_t offset, uint8_t data)
m_latch = (data & 0x40) << 1;
}
-uint8_t nes_fujiya_device::read_m(offs_t offset)
+READ8_MEMBER(nes_fujiya_device::read_m)
{
LOG_MMC(("fujiya read_m, offset: %04x\n", offset));
offset += 0x6000;
@@ -1261,6 +1261,6 @@ uint8_t nes_fujiya_device::read_m(offs_t offset)
if (offset == 0x7001 || offset == 0x7777)
return m_latch | ((offset >> 8) & 0x7f);
- return get_open_bus(); // open bus
+ return m_open_bus; // open bus
}
#endif
diff --git a/src/devices/bus/nes/pirate.h b/src/devices/bus/nes/pirate.h
index e99bd703aec..91424d32e25 100644
--- a/src/devices/bus/nes/pirate.h
+++ b/src/devices/bus/nes/pirate.h
@@ -16,7 +16,7 @@ public:
// construction/destruction
nes_agci_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -34,7 +34,7 @@ public:
// construction/destruction
nes_dreamtech_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_l(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual void pcb_reset() override;
@@ -52,10 +52,10 @@ public:
// construction/destruction
nes_fukutake_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_l(offs_t offset) override;
- virtual uint8_t read_m(offs_t offset) override;
- virtual void write_l(offs_t offset, uint8_t data) override;
- virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_l) override;
+ virtual DECLARE_READ8_MEMBER(read_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_l) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void pcb_reset() override;
@@ -77,7 +77,7 @@ public:
// construction/destruction
nes_futuremedia_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void hblank_irq(int scanline, int vblank, int blanked) override;
virtual void pcb_reset() override;
@@ -101,7 +101,7 @@ public:
// construction/destruction
nes_magseries_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -119,7 +119,7 @@ public:
// construction/destruction
nes_daou306_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -140,7 +140,7 @@ public:
// construction/destruction
nes_cc21_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -158,7 +158,7 @@ public:
// construction/destruction
nes_xiaozy_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_l(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual void pcb_reset() override;
@@ -176,9 +176,9 @@ public:
// construction/destruction
nes_edu2k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_m(offs_t offset) override;
- virtual void write_m(offs_t offset, uint8_t data) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -199,7 +199,7 @@ public:
// construction/destruction
nes_t230_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void hblank_irq(int scanline, int vblank, int blanked) override;
virtual void pcb_reset() override;
@@ -225,7 +225,7 @@ public:
// construction/destruction
nes_mk2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void hblank_irq(int scanline, int vblank, int blanked) override;
virtual void pcb_reset() override;
@@ -249,7 +249,7 @@ public:
// construction/destruction
nes_whero_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void hblank_irq(int scanline, int vblank, int blanked) override;
virtual void pcb_reset() override;
@@ -276,8 +276,8 @@ public:
// construction/destruction
nes_43272_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_h(offs_t offset) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_h) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -298,7 +298,7 @@ public:
// construction/destruction
nes_tf1201_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void hblank_irq(int scanline, int vblank, int blanked) override;
virtual void pcb_reset() override;
@@ -325,7 +325,7 @@ public:
// construction/destruction
nes_cityfight_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -359,8 +359,8 @@ public:
// construction/destruction
nes_fujiya_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_m(offs_t offset) override;
- virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(read_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/pt554.cpp b/src/devices/bus/nes/pt554.cpp
index db16ca42e37..98524a04bc7 100644
--- a/src/devices/bus/nes/pt554.cpp
+++ b/src/devices/bus/nes/pt554.cpp
@@ -59,7 +59,7 @@ nes_bandai_pt554_device::nes_bandai_pt554_device(const machine_config &mconfig,
-------------------------------------------------*/
-void nes_bandai_pt554_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_bandai_pt554_device::write_m)
{
LOG_MMC(("Bandai PT-554 Sound write, data: %02x\n", data));
diff --git a/src/devices/bus/nes/pt554.h b/src/devices/bus/nes/pt554.h
index 746750c52ed..f25281ea4f0 100644
--- a/src/devices/bus/nes/pt554.h
+++ b/src/devices/bus/nes/pt554.h
@@ -16,7 +16,7 @@ public:
// construction/destruction
nes_bandai_pt554_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
protected:
// device-level overrides
diff --git a/src/devices/bus/nes/racermate.cpp b/src/devices/bus/nes/racermate.cpp
index 111cb997dd0..5b578da0e09 100644
--- a/src/devices/bus/nes/racermate.cpp
+++ b/src/devices/bus/nes/racermate.cpp
@@ -81,7 +81,7 @@ void nes_racermate_device::update_banks()
prg16_89ab(m_latch >> 6);
}
-void nes_racermate_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_racermate_device::write_h)
{
LOG_MMC(("racermate write_h, offset: %04x, data: %02x\n", offset, data));
diff --git a/src/devices/bus/nes/racermate.h b/src/devices/bus/nes/racermate.h
index cb74a06a6b0..5366ec1a6ea 100644
--- a/src/devices/bus/nes/racermate.h
+++ b/src/devices/bus/nes/racermate.h
@@ -16,7 +16,7 @@ public:
// device-level overrides
virtual void device_start() override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/rcm.cpp b/src/devices/bus/nes/rcm.cpp
index fdd07830381..5c861922afb 100644
--- a/src/devices/bus/nes/rcm.cpp
+++ b/src/devices/bus/nes/rcm.cpp
@@ -161,7 +161,7 @@ void nes_3dblock_device::pcb_reset()
-------------------------------------------------*/
-void nes_gs2015_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_gs2015_device::write_h)
{
LOG_MMC(("gs2015 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -169,7 +169,7 @@ void nes_gs2015_device::write_h(offs_t offset, uint8_t data)
chr8(offset >> 1, m_chr_source);
}
-uint8_t nes_gs2015_device::read_m(offs_t offset)
+READ8_MEMBER(nes_gs2015_device::read_m)
{
LOG_MMC(("gs2015 read_m, offset: %04x\n", offset));
return 0; // Videopoker Bonza needs this (sort of protection? or related to inputs?)
@@ -186,7 +186,7 @@ uint8_t nes_gs2015_device::read_m(offs_t offset)
-------------------------------------------------*/
-void nes_gs2004_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_gs2004_device::write_h)
{
LOG_MMC(("gs2004 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -204,7 +204,7 @@ void nes_gs2004_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_gs2013_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_gs2013_device::write_h)
{
LOG_MMC(("gs2013 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -232,7 +232,7 @@ void nes_gs2013_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_tf9_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_tf9_device::write_h)
{
LOG_MMC(("tetrisfam write_h, offset: %04x, data: %02x\n", offset, data));
@@ -279,7 +279,7 @@ void nes_3dblock_device::hblank_irq(int scanline, int vblank, int blanked)
}
}
-void nes_3dblock_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_3dblock_device::write_l)
{
LOG_MMC(("3dblock write_l, offset: %04x, data: %02x\n", offset, data));
offset += 0x100;
diff --git a/src/devices/bus/nes/rcm.h b/src/devices/bus/nes/rcm.h
index 005869fe09c..f37a6074432 100644
--- a/src/devices/bus/nes/rcm.h
+++ b/src/devices/bus/nes/rcm.h
@@ -16,9 +16,9 @@ public:
// construction/destruction
nes_gs2015_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_l(offs_t offset) override { return read_m(offset); }
- virtual uint8_t read_m(offs_t offset) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_l) override { return read_m(space, offset, mem_mask); }
+ virtual DECLARE_READ8_MEMBER(read_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -36,7 +36,7 @@ public:
// construction/destruction
nes_gs2004_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -54,7 +54,7 @@ public:
// construction/destruction
nes_gs2013_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -72,7 +72,7 @@ public:
// construction/destruction
nes_tf9_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -90,7 +90,7 @@ public:
// construction/destruction
nes_3dblock_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_l(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual void hblank_irq(int scanline, int vblank, int blanked) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/rexsoft.cpp b/src/devices/bus/nes/rexsoft.cpp
index c10b88afe01..3d868a0c970 100644
--- a/src/devices/bus/nes/rexsoft.cpp
+++ b/src/devices/bus/nes/rexsoft.cpp
@@ -112,7 +112,7 @@ void nes_rex_sl1632_device::pcb_reset()
-------------------------------------------------*/
-void nes_rex_dbz5_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_rex_dbz5_device::write_l)
{
LOG_MMC(("rex_dbz write_l, offset: %04x, data: %02x\n", offset, data));
@@ -121,7 +121,7 @@ void nes_rex_dbz5_device::write_l(offs_t offset, uint8_t data)
}
/* we would need to use this read handler in 0x6000-0x7fff as well */
-uint8_t nes_rex_dbz5_device::read_l(offs_t offset)
+READ8_MEMBER(nes_rex_dbz5_device::read_l)
{
LOG_MMC(("rex_dbz read_l, offset: %04x\n", offset));
return 0x01;
@@ -208,7 +208,7 @@ void nes_rex_sl1632_device::set_chr(uint8_t chr, int chr_base, int chr_mask)
chr1_x(chr_page ^ 7, chr_base2[7] | (bank[7] & chr_mask), chr);
}
-void nes_rex_sl1632_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_rex_sl1632_device::write_h)
{
uint8_t helper1, helper2;
LOG_MMC(("rex_sl1632 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -232,7 +232,7 @@ void nes_rex_sl1632_device::write_h(offs_t offset, uint8_t data)
break;
default:
- txrom_write(offset, data);
+ txrom_write(space, offset, data, mem_mask);
break;
}
}
diff --git a/src/devices/bus/nes/rexsoft.h b/src/devices/bus/nes/rexsoft.h
index 0c44c73139d..61fe876633a 100644
--- a/src/devices/bus/nes/rexsoft.h
+++ b/src/devices/bus/nes/rexsoft.h
@@ -16,10 +16,10 @@ public:
// construction/destruction
nes_rex_dbz5_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_l(offs_t offset) override;
- virtual uint8_t read_m(offs_t offset) override { return read_l(offset); }
- virtual void write_l(offs_t offset, uint8_t data) override;
- virtual void chr_cb(int start, int bank, int source) override;
+ virtual DECLARE_READ8_MEMBER(read_l) override;
+ virtual DECLARE_READ8_MEMBER(read_m) override { return read_l(space, offset, mem_mask); }
+ virtual DECLARE_WRITE8_MEMBER(write_l) override;
+ virtual void chr_cb( int start, int bank, int source ) override;
virtual void pcb_reset() override;
@@ -40,7 +40,7 @@ public:
// construction/destruction
nes_rex_sl1632_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/sachen.cpp b/src/devices/bus/nes/sachen.cpp
index 0622bfec8d4..369c4cde885 100644
--- a/src/devices/bus/nes/sachen.cpp
+++ b/src/devices/bus/nes/sachen.cpp
@@ -308,7 +308,7 @@ void nes_sachen_8259d_device::pcb_reset()
-------------------------------------------------*/
-void nes_sachen_sa009_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_sachen_sa009_device::write_l)
{
LOG_MMC(("SA009 write_l, offset: %04x, data: %02x\n", offset, data));
@@ -327,7 +327,7 @@ void nes_sachen_sa009_device::write_l(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_sachen_sa0036_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_sachen_sa0036_device::write_h)
{
LOG_MMC(("sa0036 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -346,7 +346,7 @@ void nes_sachen_sa0036_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_sachen_sa0037_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_sachen_sa0037_device::write_h)
{
LOG_MMC(("sa0037 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -369,7 +369,7 @@ void nes_sachen_sa0037_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_sachen_sa72007_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_sachen_sa72007_device::write_l)
{
LOG_MMC(("SA72007 write_l, offset: %04x, data: %02x\n", offset, data));
@@ -390,7 +390,7 @@ void nes_sachen_sa72007_device::write_l(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_sachen_sa72008_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_sachen_sa72008_device::write_l)
{
LOG_MMC(("SA72008 write_l, offset: %04x, data: %02x\n", offset, data));
@@ -410,7 +410,7 @@ void nes_sachen_sa72008_device::write_l(offs_t offset, uint8_t data)
-------------------------------------------------*/
-uint8_t nes_sachen_tca01_device::read_l(offs_t offset)
+READ8_MEMBER(nes_sachen_tca01_device::read_l)
{
LOG_MMC(("TCA-01 read_l, offset: %04x\n", offset));
@@ -433,7 +433,7 @@ uint8_t nes_sachen_tca01_device::read_l(offs_t offset)
-------------------------------------------------*/
-void nes_sachen_tcu01_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_sachen_tcu01_device::write_l)
{
LOG_MMC(("TCU-01 write_l, offset: %04x, data: %02x\n", offset, data));
@@ -456,7 +456,7 @@ void nes_sachen_tcu01_device::write_l(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_sachen_tcu02_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_sachen_tcu02_device::write_l)
{
LOG_MMC(("TCU-02 write_l, offset: %04x, data: %02x\n", offset, data));
@@ -467,7 +467,7 @@ void nes_sachen_tcu02_device::write_l(offs_t offset, uint8_t data)
}
}
-uint8_t nes_sachen_tcu02_device::read_l(offs_t offset)
+READ8_MEMBER(nes_sachen_tcu02_device::read_l)
{
LOG_MMC(("TCU-02 read_l, offset: %04x\n", offset));
@@ -512,7 +512,7 @@ void nes_sachen_74x374_device::set_mirror(uint8_t nt) // also used by mappers 13
}
-void nes_sachen_74x374_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_sachen_74x374_device::write_l)
{
LOG_MMC(("Sachen 74*374 write_l, offset: %04x, data: %02x\n", offset, data));
@@ -551,7 +551,7 @@ void nes_sachen_74x374_device::write_l(offs_t offset, uint8_t data)
}
}
-uint8_t nes_sachen_74x374_device::read_l(offs_t offset)
+READ8_MEMBER(nes_sachen_74x374_device::read_l)
{
LOG_MMC(("Sachen 74*374 read_l, offset: %04x", offset));
@@ -562,7 +562,7 @@ uint8_t nes_sachen_74x374_device::read_l(offs_t offset)
return 0;
}
-void nes_sachen_74x374_alt_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_sachen_74x374_alt_device::write_l)
{
LOG_MMC(("Sachen 74*374 Alt write_l, offset: %04x, data: %02x\n", offset, data));
@@ -626,7 +626,7 @@ void nes_sachen_8259a_device::chr_update()
}
}
-void nes_sachen_8259a_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_sachen_8259a_device::write_l)
{
LOG_MMC(("Sachen 8259 write_l, offset: %04x, data: %02x\n", offset, data));
diff --git a/src/devices/bus/nes/sachen.h b/src/devices/bus/nes/sachen.h
index b23599345b3..cfec9363bdc 100644
--- a/src/devices/bus/nes/sachen.h
+++ b/src/devices/bus/nes/sachen.h
@@ -16,7 +16,7 @@ public:
// construction/destruction
nes_sachen_sa009_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_l(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual void pcb_reset() override;
@@ -34,7 +34,7 @@ public:
// construction/destruction
nes_sachen_sa0036_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -52,7 +52,7 @@ public:
// construction/destruction
nes_sachen_sa0037_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -70,7 +70,7 @@ public:
// construction/destruction
nes_sachen_sa72007_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_l(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual void pcb_reset() override;
@@ -88,7 +88,7 @@ public:
// construction/destruction
nes_sachen_sa72008_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_l(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual void pcb_reset() override;
@@ -106,7 +106,7 @@ public:
// construction/destruction
nes_sachen_tca01_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_l(offs_t offset) override;
+ virtual DECLARE_READ8_MEMBER(read_l) override;
virtual void pcb_reset() override;
@@ -124,9 +124,9 @@ public:
// construction/destruction
nes_sachen_tcu01_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_l(offs_t offset, uint8_t data) override;
- virtual void write_m(offs_t offset, uint8_t data) override { write_l((offset + 0x100) & 0xfff, data); }
- virtual void write_h(offs_t offset, uint8_t data) override { write_l((offset + 0x100) & 0xfff, data); }
+ virtual DECLARE_WRITE8_MEMBER(write_l) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override { write_l(space, (offset + 0x100) & 0xfff, data, mem_mask); }
+ virtual DECLARE_WRITE8_MEMBER(write_h) override { write_l(space, (offset + 0x100) & 0xfff, data, mem_mask); }
virtual void pcb_reset() override;
@@ -144,8 +144,8 @@ public:
// construction/destruction
nes_sachen_tcu02_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_l(offs_t offset) override;
- virtual void write_l(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_l) override;
+ virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual void pcb_reset() override;
@@ -166,8 +166,8 @@ public:
// construction/destruction
nes_sachen_74x374_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_l(offs_t offset) override;
- virtual void write_l(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_l) override;
+ virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual void pcb_reset() override;
@@ -191,8 +191,8 @@ public:
nes_sachen_74x374_alt_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual uint8_t read_l(offs_t offset) override { return 0xff; } // no read_l here
- virtual void write_l(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_l) override { return 0xff; } // no read_l here
+ virtual DECLARE_WRITE8_MEMBER(write_l) override;
};
@@ -204,8 +204,8 @@ public:
// construction/destruction
nes_sachen_8259a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_l(offs_t offset, uint8_t data) override;
- virtual void write_m(offs_t offset, uint8_t data) override { write_l((offset + 0x100) & 0xfff, data); }
+ virtual DECLARE_WRITE8_MEMBER(write_l) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override { write_l(space, (offset + 0x100) & 0xfff, data, mem_mask); }
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/somari.cpp b/src/devices/bus/nes/somari.cpp
index c517a4fae16..f4a5c2e7f40 100644
--- a/src/devices/bus/nes/somari.cpp
+++ b/src/devices/bus/nes/somari.cpp
@@ -157,7 +157,7 @@ void nes_somari_device::pcb_reset()
-------------------------------------------------*/
// MMC1 Mode emulation
-void nes_somari_device::mmc1_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_somari_device::mmc1_w)
{
assert(m_board_mode == 2);
@@ -191,7 +191,7 @@ void nes_somari_device::mmc1_w(offs_t offset, uint8_t data)
}
// MMC3 Mode emulation
-void nes_somari_device::mmc3_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_somari_device::mmc3_w)
{
uint8_t mmc_helper, cmd;
@@ -240,7 +240,7 @@ void nes_somari_device::mmc3_w(offs_t offset, uint8_t data)
}
// VRC2 Mode emulation
-void nes_somari_device::vrc2_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_somari_device::vrc2_w)
{
uint8_t bank, shift;
@@ -381,15 +381,15 @@ void nes_somari_device::update_mirror()
}
-void nes_somari_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_somari_device::write_h)
{
LOG_MMC(("somari write_h, mode %d, offset: %04x, data: %02x\n", m_board_mode, offset, data));
switch (m_board_mode)
{
- case SOMARI_VRC2_MODE: vrc2_w(offset, data); break;
- case SOMARI_MMC3_MODE: mmc3_w(offset, data); break;
- case SOMARI_MMC1_MODE: mmc1_w(offset, data); break;
+ case SOMARI_VRC2_MODE: vrc2_w(space, offset, data, mem_mask); break;
+ case SOMARI_MMC3_MODE: mmc3_w(space, offset, data, mem_mask); break;
+ case SOMARI_MMC1_MODE: mmc1_w(space, offset, data, mem_mask); break;
}
}
@@ -409,7 +409,7 @@ void nes_somari_device::bank_update_switchmode()
update_chr();
}
-void nes_somari_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_somari_device::write_m)
{
LOG_MMC(("somari write_m, offset: %04x, data: %02x\n", offset, data));
diff --git a/src/devices/bus/nes/somari.h b/src/devices/bus/nes/somari.h
index dda299b3a99..7b5d2920923 100644
--- a/src/devices/bus/nes/somari.h
+++ b/src/devices/bus/nes/somari.h
@@ -16,12 +16,12 @@ public:
// construction/destruction
nes_somari_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_l(offs_t offset, uint8_t data) override { write_m(offset + 0x100, data); }
- virtual void write_m(offs_t offset, uint8_t data) override;
- void mmc1_w(offs_t offset, uint8_t data);
- void mmc3_w(offs_t offset, uint8_t data);
- void vrc2_w(offs_t offset, uint8_t data);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_l) override { write_m(space, offset + 0x100, data, mem_mask); }
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual DECLARE_WRITE8_MEMBER(mmc1_w);
+ virtual DECLARE_WRITE8_MEMBER(mmc3_w);
+ virtual DECLARE_WRITE8_MEMBER(vrc2_w);
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/subor.cpp b/src/devices/bus/nes/subor.cpp
index 0fa25b2b5bb..c15e8761112 100644
--- a/src/devices/bus/nes/subor.cpp
+++ b/src/devices/bus/nes/subor.cpp
@@ -183,7 +183,7 @@ void nes_subor2_device::ppu_latch(offs_t offset)
nt
-------------------------------------------------*/
-uint8_t nes_subor2_device::nt_r(offs_t offset)
+READ8_MEMBER(nes_subor2_device::nt_r)
{
int page = ((offset & 0xc00) >> 10);
@@ -234,7 +234,7 @@ void nes_subor2_device::update_banks()
read
-------------------------------------------------*/
-uint8_t nes_subor2_device::read_l(offs_t offset)
+READ8_MEMBER(nes_subor2_device::read_l)
{
LOG_MMC("subor2 read_l, offset: %04x\n", offset);
@@ -242,14 +242,14 @@ uint8_t nes_subor2_device::read_l(offs_t offset)
{
return 0x8F;
}
- return get_open_bus();
+ return m_open_bus;
}
/*-------------------------------------------------
write
-------------------------------------------------*/
-void nes_subor0_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_subor0_device::write_h)
{
uint8_t subor_helper1, subor_helper2;
LOG_MMC("subor0 write_h, offset: %04x, data: %02x\n", offset, data);
@@ -279,7 +279,7 @@ void nes_subor0_device::write_h(offs_t offset, uint8_t data)
prg16_cdef(subor_helper2);
}
-void nes_subor1_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_subor1_device::write_h)
{
uint8_t subor_helper1, subor_helper2;
LOG_MMC("subor1 write_h, offset: %04x, data: %02x\n", offset, data);
@@ -309,7 +309,7 @@ void nes_subor1_device::write_h(offs_t offset, uint8_t data)
prg16_cdef(subor_helper2);
}
-void nes_subor2_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_subor2_device::write_l)
{
LOG_MMC("subor2 write_l, offset: %04x, data: %02x\n", offset, data);
diff --git a/src/devices/bus/nes/subor.h b/src/devices/bus/nes/subor.h
index a4ffc13a553..93e542cf481 100644
--- a/src/devices/bus/nes/subor.h
+++ b/src/devices/bus/nes/subor.h
@@ -20,7 +20,7 @@ public:
// construction/destruction
nes_subor0_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -41,7 +41,7 @@ public:
// construction/destruction
nes_subor1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -62,9 +62,9 @@ public:
// construction/destruction
nes_subor2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t nt_r(offs_t offset) override;
- virtual void write_l(offs_t offset, uint8_t data) override;
- virtual uint8_t read_l(offs_t offset) override;
+ virtual DECLARE_READ8_MEMBER(nt_r) override;
+ virtual DECLARE_WRITE8_MEMBER(write_l) override;
+ virtual DECLARE_READ8_MEMBER(read_l) override;
virtual void ppu_latch(offs_t offset) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/sunsoft.cpp b/src/devices/bus/nes/sunsoft.cpp
index be90e36e535..f62fa24e67d 100644
--- a/src/devices/bus/nes/sunsoft.cpp
+++ b/src/devices/bus/nes/sunsoft.cpp
@@ -209,7 +209,7 @@ void nes_sunsoft_fme7_device::pcb_reset()
-------------------------------------------------*/
-void nes_sunsoft_1_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_sunsoft_1_device::write_m)
{
LOG_MMC(("Sunsoft 1 write_m, offset: %04x, data: %02x\n", offset, data));
@@ -235,7 +235,7 @@ void nes_sunsoft_1_device::write_m(offs_t offset, uint8_t data)
// there are two 'variants' depending on hardwired or mapper ctrl mirroring
-void nes_sunsoft_2_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_sunsoft_2_device::write_h)
{
uint8_t helper = (data & 0x07) | ((data & 0x80) ? 0x08 : 0x00);
LOG_MMC(("Sunsoft 2 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -282,7 +282,7 @@ void nes_sunsoft_3_device::device_timer(emu_timer &timer, device_timer_id id, in
}
}
-void nes_sunsoft_3_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_sunsoft_3_device::write_h)
{
LOG_MMC(("Sunsoft 3 write_h, offset %04x, data: %02x\n", offset, data));
@@ -384,7 +384,7 @@ void nes_sunsoft_4_device::sun4_mirror( int mirror, int mirr0, int mirr1 )
}
}
-void nes_sunsoft_4_device::sun4_write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_sunsoft_4_device::sun4_write)
{
LOG_MMC(("Sunsoft 4 write_h, offset %04x, data: %02x\n", offset, data));
@@ -424,7 +424,7 @@ void nes_sunsoft_4_device::sun4_write(offs_t offset, uint8_t data)
}
}
-void nes_sunsoft_4_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_sunsoft_4_device::write_m)
{
LOG_MMC(("Sunsoft 4 write_m, offset: %04x, data: %02x\n", offset, data));
@@ -434,7 +434,7 @@ void nes_sunsoft_4_device::write_m(offs_t offset, uint8_t data)
m_prgram[offset & (m_prgram.size() - 1)] = data;
}
-uint8_t nes_sunsoft_4_device::read_m(offs_t offset)
+READ8_MEMBER(nes_sunsoft_4_device::read_m)
{
LOG_MMC(("Sunsoft 4 read_m, offset: %04x\n", offset));
@@ -443,7 +443,7 @@ uint8_t nes_sunsoft_4_device::read_m(offs_t offset)
if (!m_prgram.empty() && m_wram_enable)
return m_prgram[offset & (m_prgram.size() - 1)];
- return get_open_bus(); // open bus
+ return m_open_bus; // open bus
}
/*-------------------------------------------------
@@ -475,7 +475,7 @@ void nes_sunsoft_fme7_device::device_timer(emu_timer &timer, device_timer_id id,
}
}
-void nes_sunsoft_fme7_device::fme7_write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_sunsoft_fme7_device::fme7_write)
{
LOG_MMC(("fme7_write, offset %04x, data: %02x\n", offset, data));
@@ -533,7 +533,7 @@ void nes_sunsoft_fme7_device::fme7_write(offs_t offset, uint8_t data)
}
}
-void nes_sunsoft_fme7_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_sunsoft_fme7_device::write_m)
{
uint8_t bank = m_wram_bank & 0x3f;
LOG_MMC(("Sunsoft FME7 write_m, offset: %04x, data: %02x\n", offset, data));
@@ -549,7 +549,7 @@ void nes_sunsoft_fme7_device::write_m(offs_t offset, uint8_t data)
}
}
-uint8_t nes_sunsoft_fme7_device::read_m(offs_t offset)
+READ8_MEMBER(nes_sunsoft_fme7_device::read_m)
{
uint8_t bank = m_wram_bank & 0x3f;
LOG_MMC(("Sunsoft FME7 read_m, offset: %04x\n", offset));
@@ -564,7 +564,7 @@ uint8_t nes_sunsoft_fme7_device::read_m(offs_t offset)
return m_prgram[((bank * 0x2000) + offset) & (m_prgram.size() - 1)];
}
- return get_open_bus(); // open bus
+ return m_open_bus; // open bus
}
@@ -578,20 +578,20 @@ uint8_t nes_sunsoft_fme7_device::read_m(offs_t offset)
-------------------------------------------------*/
-void nes_sunsoft_5_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_sunsoft_5_device::write_h)
{
LOG_MMC(("sunsoft 5 write_h, offset %04x, data: %02x\n", offset, data));
switch (offset & 0x6000)
{
case 0x4000:
- m_ym2149->address_w(data & 0x0f);
+ m_ym2149->address_w(space, 0, data & 0x0f);
break;
case 0x6000:
- m_ym2149->data_w(data);
+ m_ym2149->data_w(space, 0, data);
break;
default:
- fme7_write(offset, data);
+ fme7_write(space, offset, data, mem_mask);
break;
}
}
diff --git a/src/devices/bus/nes/sunsoft.h b/src/devices/bus/nes/sunsoft.h
index c02b94647cf..b4b035d515d 100644
--- a/src/devices/bus/nes/sunsoft.h
+++ b/src/devices/bus/nes/sunsoft.h
@@ -17,7 +17,7 @@ public:
// construction/destruction
nes_sunsoft_1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void pcb_reset() override;
@@ -35,7 +35,7 @@ public:
// construction/destruction
nes_sunsoft_2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -53,7 +53,7 @@ public:
// construction/destruction
nes_sunsoft_3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -78,10 +78,10 @@ public:
// construction/destruction
nes_sunsoft_4_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_m(offs_t offset) override;
- virtual void write_m(offs_t offset, uint8_t data) override;
- void sun4_write(offs_t offset, uint8_t data);
- virtual void write_h(offs_t offset, uint8_t data) override { sun4_write(offset, data); }
+ virtual DECLARE_READ8_MEMBER(read_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual DECLARE_WRITE8_MEMBER(sun4_write);
+ virtual DECLARE_WRITE8_MEMBER(write_h) override { sun4_write(space, offset, data, mem_mask); }
virtual void pcb_reset() override;
@@ -104,10 +104,10 @@ public:
// construction/destruction
nes_sunsoft_fme7_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_m(offs_t offset) override;
- virtual void write_m(offs_t offset, uint8_t data) override;
- void fme7_write(offs_t offset, uint8_t data);
- virtual void write_h(offs_t offset, uint8_t data) override { fme7_write(offset, data); }
+ virtual DECLARE_READ8_MEMBER(read_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual DECLARE_WRITE8_MEMBER(fme7_write);
+ virtual DECLARE_WRITE8_MEMBER(write_h) override { fme7_write(space, offset, data, mem_mask); }
virtual void pcb_reset() override;
@@ -138,7 +138,7 @@ public:
// construction/destruction
nes_sunsoft_5_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
protected:
virtual void device_add_mconfig(machine_config &config) override;
diff --git a/src/devices/bus/nes/sunsoft_dcs.cpp b/src/devices/bus/nes/sunsoft_dcs.cpp
index 23c81894666..5df2c6557d2 100644
--- a/src/devices/bus/nes/sunsoft_dcs.cpp
+++ b/src/devices/bus/nes/sunsoft_dcs.cpp
@@ -68,10 +68,10 @@ void nes_ntb_slot_device::device_start()
m_cart = dynamic_cast<ntb_cart_interface *>(get_card_device());
}
-uint8_t nes_ntb_slot_device::read(offs_t offset)
+READ8_MEMBER(nes_ntb_slot_device::read)
{
if (m_cart)
- return m_cart->read(offset);
+ return m_cart->read(space, offset, mem_mask);
return 0xff;
}
@@ -212,7 +212,7 @@ void nes_sunsoft_dcs_device::pcb_reset()
-------------------------------------------------*/
-void nes_sunsoft_dcs_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_sunsoft_dcs_device::write_h)
{
LOG_MMC(("Sunsoft DCS write_h, offset %04x, data: %02x\n", offset, data));
@@ -224,27 +224,27 @@ void nes_sunsoft_dcs_device::write_h(offs_t offset, uint8_t data)
m_wram_enable = BIT(data, 4);
break;
default:
- sun4_write(offset, data);
+ sun4_write(space, offset, data, mem_mask);
break;
}
}
-uint8_t nes_sunsoft_dcs_device::read_h(offs_t offset)
+READ8_MEMBER(nes_sunsoft_dcs_device::read_h)
{
LOG_MMC(("Sunsoft DCS read_h, offset: %04x\n", offset));
if (m_exrom_enable && m_subslot->m_cart && offset < 0x4000)
{
if (m_timer_on)
- return m_subslot->m_cart->read(offset);
+ return m_subslot->m_cart->read(space, offset, mem_mask);
else
- return get_open_bus(); // after the timer is off, this returns open bus...
+ return m_open_bus; // after the timer is off, this returns open bus...
}
else
return hi_access_rom(offset);
}
-void nes_sunsoft_dcs_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_sunsoft_dcs_device::write_m)
{
LOG_MMC(("Sunsoft DCS write_m, offset: %04x, data: %02x\n", offset, data));
@@ -260,7 +260,7 @@ void nes_sunsoft_dcs_device::write_m(offs_t offset, uint8_t data)
}
}
-uint8_t nes_sunsoft_dcs_device::read_m(offs_t offset)
+READ8_MEMBER(nes_sunsoft_dcs_device::read_m)
{
LOG_MMC(("Sunsoft DCS read_m, offset: %04x\n", offset));
@@ -269,7 +269,7 @@ uint8_t nes_sunsoft_dcs_device::read_m(offs_t offset)
if (!m_prgram.empty() && m_wram_enable)
return m_prgram[offset & (m_prgram.size() - 1)];
- return get_open_bus(); // open bus
+ return m_open_bus; // open bus
}
@@ -285,10 +285,9 @@ static void ntb_cart(device_slot_interface &device)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void nes_sunsoft_dcs_device::device_add_mconfig(machine_config &config)
-{
- NES_NTB_SLOT(config, m_subslot, ntb_cart);
-}
+MACHINE_CONFIG_START(nes_sunsoft_dcs_device::device_add_mconfig)
+ MCFG_NTB_MINICART_ADD("ntb_slot", ntb_cart)
+MACHINE_CONFIG_END
//-------------------------------------------------
diff --git a/src/devices/bus/nes/sunsoft_dcs.h b/src/devices/bus/nes/sunsoft_dcs.h
index 51a11b22ae4..f14d9f9c8c1 100644
--- a/src/devices/bus/nes/sunsoft_dcs.h
+++ b/src/devices/bus/nes/sunsoft_dcs.h
@@ -24,7 +24,7 @@ public:
virtual ~ntb_cart_interface();
// reading and writing
- virtual uint8_t read(offs_t offset) { return m_rom[offset]; }
+ virtual DECLARE_READ8_MEMBER(read) { return m_rom[offset]; }
uint8_t *get_cart_base() { return m_rom; }
@@ -46,16 +46,6 @@ class nes_ntb_slot_device : public device_t,
friend class nes_sunsoft_dcs_device;
public:
// construction/destruction
- template <typename T>
- nes_ntb_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, T &&opts)
- : nes_ntb_slot_device(mconfig, tag, owner, (uint32_t)0)
- {
- option_reset();
- opts(*this);
- set_default_option(nullptr);
- set_fixed(false);
- }
-
nes_ntb_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~nes_ntb_slot_device();
@@ -78,7 +68,7 @@ public:
// slot interface overrides
virtual std::string get_default_card_software(get_default_card_software_hook &hook) const override;
- virtual uint8_t read(offs_t offset);
+ virtual DECLARE_READ8_MEMBER(read);
protected:
ntb_cart_interface* m_cart;
@@ -88,6 +78,11 @@ protected:
DECLARE_DEVICE_TYPE(NES_NTB_SLOT, nes_ntb_slot_device)
+#define MCFG_NTB_MINICART_ADD(_tag, _slot_intf) \
+ MCFG_DEVICE_ADD(_tag, NES_NTB_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, nullptr, false)
+
+
//-----------------------------------------------
//
// Nantettate!! Baseball Minicart implementation
@@ -133,10 +128,10 @@ public:
// construction/destruction
nes_sunsoft_dcs_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_m(offs_t offset) override;
- virtual uint8_t read_h(offs_t offset) override;
- virtual void write_m(offs_t offset, uint8_t data) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_m) override;
+ virtual DECLARE_READ8_MEMBER(read_h) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/taito.cpp b/src/devices/bus/nes/taito.cpp
index 28c37b6109c..2868bfea1dc 100644
--- a/src/devices/bus/nes/taito.cpp
+++ b/src/devices/bus/nes/taito.cpp
@@ -172,7 +172,7 @@ void nes_x1_017_device::pcb_reset()
-------------------------------------------------*/
-void nes_tc0190fmc_device::tc0190fmc_write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_tc0190fmc_device::tc0190fmc_write)
{
LOG_MMC(("tc0190fmc_write, offset: %04x, data: %02x\n", offset, data));
@@ -240,7 +240,7 @@ void nes_tc0190fmc_pal16r4_device::hblank_irq( int scanline, int vblank, int bla
}
}
-void nes_tc0190fmc_pal16r4_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_tc0190fmc_pal16r4_device::write_h)
{
LOG_MMC(("tc0190fmc pal16r4 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -256,7 +256,7 @@ void nes_tc0190fmc_pal16r4_device::write_h(offs_t offset, uint8_t data)
case 0x2001:
case 0x2002:
case 0x2003:
- tc0190fmc_write(offset, data);
+ tc0190fmc_write(space, offset, data, mem_mask);
break;
case 0x4000:
m_irq_count_latch = (0x100 - data) & 0xff;
@@ -291,7 +291,7 @@ void nes_tc0190fmc_pal16r4_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_x1_005_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_x1_005_device::write_m)
{
LOG_MMC(("x1_005 write_m, offset: %04x, data: %02x\n", offset, data));
@@ -355,14 +355,14 @@ void nes_x1_005_device::write_m(offs_t offset, uint8_t data)
m_x1_005_ram[offset & 0x7f] = data;
}
-uint8_t nes_x1_005_device::read_m(offs_t offset)
+READ8_MEMBER(nes_x1_005_device::read_m)
{
LOG_MMC(("x1_005 read_m, offset: %04x\n", offset));
if (offset >= 0x1f00 && m_latch == 0xa3)
return m_x1_005_ram[offset & 0x7f];
- return get_open_bus(); // open bus
+ return m_open_bus; // open bus
}
/*-------------------------------------------------
@@ -399,7 +399,7 @@ void nes_x1_017_device::set_chr()
chr1_x(7 ^ m_latch, m_mmc_vrom_bank[5], CHRROM);
}
-void nes_x1_017_device::write_m(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_x1_017_device::write_m)
{
LOG_MMC(("x1017 write_m, offset: %04x, data: %02x\n", offset, data));
@@ -453,7 +453,7 @@ void nes_x1_017_device::write_m(offs_t offset, uint8_t data)
m_x1_017_ram[0x1000 + (offset & 0x3ff)] = data;
}
-uint8_t nes_x1_017_device::read_m(offs_t offset)
+READ8_MEMBER(nes_x1_017_device::read_m)
{
LOG_MMC(("x1017 read_m, offset: %04x\n", offset));
@@ -465,5 +465,5 @@ uint8_t nes_x1_017_device::read_m(offs_t offset)
if (offset < 0x1400 && m_reg[2] == 0x84)
return m_x1_017_ram[0x1000 + (offset & 0x3ff)];
- return get_open_bus(); // open bus
+ return m_open_bus; // open bus
}
diff --git a/src/devices/bus/nes/taito.h b/src/devices/bus/nes/taito.h
index b4efa553c86..8f3ccb2a8ee 100644
--- a/src/devices/bus/nes/taito.h
+++ b/src/devices/bus/nes/taito.h
@@ -16,8 +16,8 @@ public:
// construction/destruction
nes_tc0190fmc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- void tc0190fmc_write(offs_t offset, uint8_t data);
- virtual void write_h(offs_t offset, uint8_t data) override { tc0190fmc_write(offset, data); }
+ virtual DECLARE_WRITE8_MEMBER(tc0190fmc_write);
+ virtual DECLARE_WRITE8_MEMBER(write_h) override { tc0190fmc_write(space, offset, data, mem_mask); }
virtual void pcb_reset() override;
@@ -37,7 +37,7 @@ public:
// construction/destruction
nes_tc0190fmc_pal16r4_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void hblank_irq(int scanline, int vblank, int blanked) override;
virtual void pcb_reset() override;
@@ -60,8 +60,8 @@ public:
// construction/destruction
nes_x1_005_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_m(offs_t offset) override;
- virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void pcb_reset() override;
@@ -84,8 +84,8 @@ public:
// construction/destruction
nes_x1_017_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_m(offs_t offset) override;
- virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_m) override;
+ virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/tengen.cpp b/src/devices/bus/nes/tengen.cpp
index f6228685796..9cef09434a0 100644
--- a/src/devices/bus/nes/tengen.cpp
+++ b/src/devices/bus/nes/tengen.cpp
@@ -126,7 +126,7 @@ void nes_tengen032_device::pcb_reset()
-------------------------------------------------*/
-void nes_tengen008_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_tengen008_device::write_h)
{
LOG_MMC(("tengen008 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -240,7 +240,7 @@ void nes_tengen032_device::set_chr()
chr_cb(7 ^ chr_page, m_mmc_vrom_bank[5], CHRROM);
}
-void nes_tengen032_device::tengen032_write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_tengen032_device::tengen032_write)
{
uint8_t helper, cmd;
LOG_MMC(("tengen032_write, offset: %04x, data: %02x\n", offset, data));
@@ -359,7 +359,7 @@ void nes_tengen037_device::chr_cb( int start, int bank, int source )
}
-void nes_tengen037_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_tengen037_device::write_h)
{
LOG_MMC(("tengen037 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -369,7 +369,7 @@ void nes_tengen037_device::write_h(offs_t offset, uint8_t data)
break;
default:
- tengen032_write(offset, data);
+ tengen032_write(space, offset, data, mem_mask);
break;
}
}
diff --git a/src/devices/bus/nes/tengen.h b/src/devices/bus/nes/tengen.h
index 6d651339f86..dce41f4fbb4 100644
--- a/src/devices/bus/nes/tengen.h
+++ b/src/devices/bus/nes/tengen.h
@@ -14,7 +14,7 @@ public:
// construction/destruction
nes_tengen008_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -32,8 +32,8 @@ public:
// construction/destruction
nes_tengen032_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- void tengen032_write(offs_t offset, uint8_t data);
- virtual void write_h(offs_t offset, uint8_t data) override { tengen032_write(offset, data); }
+ virtual DECLARE_WRITE8_MEMBER(tengen032_write);
+ virtual DECLARE_WRITE8_MEMBER(write_h) override { tengen032_write(space, offset, data, mem_mask); }
virtual void hblank_irq(int scanline, int vblank, int blanked) override;
virtual void pcb_reset() override;
@@ -74,7 +74,7 @@ public:
nes_tengen037_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void chr_cb(int start, int bank, int source) override;
protected:
diff --git a/src/devices/bus/nes/txc.cpp b/src/devices/bus/nes/txc.cpp
index 4149c6262a3..f3ab8efc5f9 100644
--- a/src/devices/bus/nes/txc.cpp
+++ b/src/devices/bus/nes/txc.cpp
@@ -139,7 +139,7 @@ void nes_txc_commandos_device::pcb_reset()
-------------------------------------------------*/
-void nes_txc_22211_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_txc_22211_device::write_l)
{
LOG_MMC(("TXC 22111 write_l, offset: %04x, data: %02x\n", offset, data));
@@ -147,7 +147,7 @@ void nes_txc_22211_device::write_l(offs_t offset, uint8_t data)
m_reg[offset & 0x03] = data;
}
-uint8_t nes_txc_22211_device::read_l(offs_t offset)
+READ8_MEMBER(nes_txc_22211_device::read_l)
{
LOG_MMC(("TXC 22111 read_l, offset: %04x\n", offset));
@@ -157,7 +157,7 @@ uint8_t nes_txc_22211_device::read_l(offs_t offset)
return 0x00;
}
-void nes_txc_22211_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_txc_22211_device::write_h)
{
LOG_MMC(("TXC 22111 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -180,7 +180,7 @@ void nes_txc_22211_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_txc_dumarc_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_txc_dumarc_device::write_h)
{
LOG_MMC(("TXC Du Ma Racing write_h, offset: %04x, data: %02x\n", offset, data));
@@ -203,7 +203,7 @@ void nes_txc_dumarc_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-uint8_t nes_txc_mjblock_device::read_l(offs_t offset)
+READ8_MEMBER(nes_txc_mjblock_device::read_l)
{
LOG_MMC(("TXC mjblock read_l, offset: %04x\n", offset));
@@ -226,7 +226,7 @@ uint8_t nes_txc_mjblock_device::read_l(offs_t offset)
-------------------------------------------------*/
-void nes_txc_strikew_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_txc_strikew_device::write_h)
{
LOG_MMC(("TXC Strike Wolf write_h, offset: %04x, data: %02x\n", offset, data));
@@ -256,12 +256,12 @@ void nes_txc_strikew_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-uint8_t nes_txc_commandos_device::read_l(offs_t offset)
+READ8_MEMBER(nes_txc_commandos_device::read_l)
{
return 0x50;
}
-void nes_txc_commandos_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_txc_commandos_device::write_h)
{
LOG_MMC(("TXC Commandos write_h, offset: %04x, data: %02x\n", offset, data));
diff --git a/src/devices/bus/nes/txc.h b/src/devices/bus/nes/txc.h
index 9ad5e2807dc..f4b875b51ba 100644
--- a/src/devices/bus/nes/txc.h
+++ b/src/devices/bus/nes/txc.h
@@ -16,9 +16,9 @@ public:
// construction/destruction
nes_txc_22211_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_l(offs_t offset) override;
- virtual void write_l(offs_t offset, uint8_t data) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_l) override;
+ virtual DECLARE_WRITE8_MEMBER(write_l) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -41,7 +41,7 @@ public:
nes_txc_dumarc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
};
@@ -54,7 +54,7 @@ public:
nes_txc_mjblock_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual uint8_t read_l(offs_t offset) override;
+ virtual DECLARE_READ8_MEMBER(read_l) override;
};
@@ -66,7 +66,7 @@ public:
// construction/destruction
nes_txc_strikew_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -84,8 +84,8 @@ public:
// construction/destruction
nes_txc_commandos_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_l(offs_t offset) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_l) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/waixing.cpp b/src/devices/bus/nes/waixing.cpp
index 3706d64b26e..791779f0a76 100644
--- a/src/devices/bus/nes/waixing.cpp
+++ b/src/devices/bus/nes/waixing.cpp
@@ -433,7 +433,7 @@ void nes_waixing_a1_device::chr_cb(int start, int bank, int source)
chr1_x(start, bank, chr_src);
}
-void nes_waixing_a_device::waixing_write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_waixing_a_device::waixing_write)
{
LOG_MMC(("waixing_write, offset: %04x, data: %02x\n", offset, data));
@@ -447,12 +447,12 @@ void nes_waixing_a_device::waixing_write(offs_t offset, uint8_t data)
break;
default:
- txrom_write(offset, data);
+ txrom_write(space, offset, data, mem_mask);
break;
}
}
-uint8_t nes_waixing_a_device::read_l(offs_t offset)
+READ8_MEMBER(nes_waixing_a_device::read_l)
{
LOG_MMC(("waixing read_l, offset: %04x\n", offset));
offset += 0x100;
@@ -462,7 +462,7 @@ uint8_t nes_waixing_a_device::read_l(offs_t offset)
return 0xff;
}
-void nes_waixing_a_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_waixing_a_device::write_l)
{
LOG_MMC(("waixing write_l, offset: %04x, data: %02x\n", offset, data));
offset += 0x100;
@@ -597,7 +597,7 @@ void nes_waixing_f_device::set_prg( int prg_base, int prg_mask )
prg_cb(3, m_mmc_prg_bank[3]);
}
-void nes_waixing_f_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_waixing_f_device::write_h)
{
uint8_t cmd;
LOG_MMC(("waixing_f write_h, offset: %04x, data: %02x\n", offset, data));
@@ -628,7 +628,7 @@ void nes_waixing_f_device::write_h(offs_t offset, uint8_t data)
break;
default:
- waixing_write(offset, data);
+ waixing_write(space, offset, data, mem_mask);
break;
}
}
@@ -668,7 +668,7 @@ void nes_waixing_g_device::set_chr(uint8_t chr, int chr_base, int chr_mask)
chr_cb(chr_page ^ 7, chr_base | (m_mmc_vrom_bank[5] & chr_mask), chr);
}
-void nes_waixing_g_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_waixing_g_device::write_h)
{
uint8_t cmd;
LOG_MMC(("waixing_g write_h, offset: %04x, data: %02x\n", offset, data));
@@ -699,7 +699,7 @@ void nes_waixing_g_device::write_h(offs_t offset, uint8_t data)
break;
default:
- waixing_write(offset, data);
+ waixing_write(space, offset, data, mem_mask);
break;
}
}
@@ -731,7 +731,7 @@ void nes_waixing_h_device::chr_cb(int start, int bank, int source)
chr1_x(start, bank, source);
}
-void nes_waixing_h_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_waixing_h_device::write_h)
{
uint8_t cmd;
LOG_MMC(("waixing_h write_h, offset: %04x, data: %02x\n", offset, data));
@@ -767,12 +767,12 @@ void nes_waixing_h_device::write_h(offs_t offset, uint8_t data)
break;
default:
- txrom_write(offset, data);
+ txrom_write(space, offset, data, mem_mask);
break;
}
}
-void nes_waixing_h1_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_waixing_h1_device::write_h)
{
uint8_t cmd;
LOG_MMC(("waixing_h1 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -805,7 +805,7 @@ void nes_waixing_h1_device::write_h(offs_t offset, uint8_t data)
break;
default:
- txrom_write(offset, data);
+ txrom_write(space, offset, data, mem_mask);
break;
}
}
@@ -832,7 +832,7 @@ void nes_waixing_j_device::set_prg( int prg_base, int prg_mask )
prg_cb(3, m_reg[3]);
}
-void nes_waixing_j_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_waixing_j_device::write_h)
{
uint8_t cmd;
LOG_MMC(("waixing_f write_h, offset: %04x, data: %02x\n", offset, data));
@@ -862,7 +862,7 @@ void nes_waixing_j_device::write_h(offs_t offset, uint8_t data)
// break;
default:
- waixing_write(offset, data);
+ waixing_write(space, offset, data, mem_mask);
break;
}
}
@@ -887,7 +887,7 @@ void nes_waixing_sh2_device::chr_cb(int start, int bank, int source)
chr4_4(m_reg[1], m_reg[1] ? CHRRAM : CHRROM);
}
-uint8_t nes_waixing_sh2_device::chr_r(offs_t offset)
+READ8_MEMBER(nes_waixing_sh2_device::chr_r)
{
int bank = offset >> 10;
uint8_t val = m_chr_access[bank][offset & 0x3ff]; // this would be usual return value
@@ -940,7 +940,7 @@ void nes_waixing_sec_device::chr_cb(int start, int bank, int source)
chr1_x(start, bank, source);
}
-void nes_waixing_sec_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_waixing_sec_device::write_l)
{
LOG_MMC(("waixing_sec write_l, offset: %04x, data: %02x\n", offset, data));
offset += 0x100;
@@ -979,7 +979,7 @@ void nes_waixing_sgz_device::hblank_irq(int scanline, int vblank, int blanked)
}
}
-void nes_waixing_sgz_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_waixing_sgz_device::write_h)
{
uint8_t helper, bank;
LOG_MMC(("waixing_sgz write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1047,7 +1047,7 @@ void nes_waixing_sgz_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_waixing_sgzlz_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_waixing_sgzlz_device::write_l)
{
LOG_MMC(("waixing_sgzlz write_l, offset: %04x, data: %02x\n", offset, data));
if (offset >= 0x700 && offset <= 0xEFF)
@@ -1112,7 +1112,7 @@ void nes_waixing_sgzlz_device::write_l(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_waixing_ffv_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_waixing_ffv_device::write_l)
{
uint8_t helper;
LOG_MMC(("waixing_ffv write_l, offset: %04x, data: %02x\n", offset, data));
@@ -1161,7 +1161,7 @@ void nes_waixing_ffv_device::write_l(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_waixing_wxzs_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_waixing_wxzs_device::write_h)
{
LOG_MMC(("waixing_zs write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1191,7 +1191,7 @@ void nes_waixing_wxzs_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_waixing_dq8_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_waixing_dq8_device::write_h)
{
LOG_MMC(("waixing_dq8 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1212,7 +1212,7 @@ void nes_waixing_dq8_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_waixing_wxzs2_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_waixing_wxzs2_device::write_h)
{
uint8_t flip = (data & 0x80) >> 7;
uint8_t helper = (data & 0x7f) << 1;
@@ -1265,7 +1265,7 @@ void nes_waixing_wxzs2_device::write_h(offs_t offset, uint8_t data)
-------------------------------------------------*/
-void nes_waixing_fs304_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_waixing_fs304_device::write_l)
{
LOG_MMC(("fs304 write_l, offset: %04x, data: %02x\n", offset, data));
int bank;
diff --git a/src/devices/bus/nes/waixing.h b/src/devices/bus/nes/waixing.h
index bb6fcaf831a..5488973a14c 100644
--- a/src/devices/bus/nes/waixing.h
+++ b/src/devices/bus/nes/waixing.h
@@ -16,10 +16,10 @@ public:
// construction/destruction
nes_waixing_a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_l(offs_t offset) override;
- virtual void write_l(offs_t offset, uint8_t data) override;
- virtual void waixing_write(offs_t offset, uint8_t data);
- virtual void write_h(offs_t offset, uint8_t data) override { waixing_write(offset, data); }
+ virtual DECLARE_READ8_MEMBER(read_l) override;
+ virtual DECLARE_WRITE8_MEMBER(write_l) override;
+ virtual DECLARE_WRITE8_MEMBER(waixing_write);
+ virtual DECLARE_WRITE8_MEMBER(write_h) override { waixing_write(space, offset, data, mem_mask); }
virtual void chr_cb(int start, int bank, int source) override;
virtual void pcb_reset() override;
@@ -109,7 +109,7 @@ public:
nes_waixing_f_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void prg_cb(int start, int bank) override;
virtual void chr_cb(int start, int bank, int source) override;
@@ -129,7 +129,7 @@ public:
nes_waixing_g_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void chr_cb(int start, int bank, int source) override;
virtual void pcb_reset() override;
@@ -155,7 +155,7 @@ protected:
nes_waixing_h_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
};
@@ -168,7 +168,7 @@ public:
nes_waixing_h1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
// This variant does not ignore the wram protect!
};
@@ -194,7 +194,7 @@ public:
// construction/destruction
nes_waixing_j_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -217,7 +217,7 @@ public:
// device-level overrides
virtual void device_start() override;
- virtual uint8_t chr_r(offs_t offset) override;
+ virtual DECLARE_READ8_MEMBER(chr_r) override;
virtual void chr_cb(int start, int bank, int source) override;
virtual void pcb_reset() override;
@@ -235,7 +235,7 @@ public:
// construction/destruction
nes_waixing_sec_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_l(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual void prg_cb(int start, int bank) override;
virtual void chr_cb(int start, int bank, int source) override;
@@ -257,7 +257,7 @@ public:
// construction/destruction
nes_waixing_sgz_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void hblank_irq(int scanline, int vblank, int blanked) override;
virtual void pcb_reset() override;
@@ -281,7 +281,7 @@ public:
// construction/destruction
nes_waixing_sgzlz_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_l(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual void pcb_reset() override;
@@ -301,7 +301,7 @@ public:
// construction/destruction
nes_waixing_ffv_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_l(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual void pcb_reset() override;
@@ -321,7 +321,7 @@ public:
// construction/destruction
nes_waixing_wxzs_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -339,7 +339,7 @@ public:
// construction/destruction
nes_waixing_dq8_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -357,7 +357,7 @@ public:
// construction/destruction
nes_waixing_wxzs2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
@@ -375,7 +375,7 @@ public:
// construction/destruction
nes_waixing_fs304_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void write_l(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/zemina.cpp b/src/devices/bus/nes/zemina.cpp
index 22741967572..bb4b3b61bc0 100644
--- a/src/devices/bus/nes/zemina.cpp
+++ b/src/devices/bus/nes/zemina.cpp
@@ -80,7 +80,7 @@ void nes_zemina_device::pcb_reset()
write
-------------------------------------------------*/
-void nes_zemina_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nes_zemina_device::write_h)
{
LOG_MMC("zemina write_h, offset: %04x, data: %02x\n", offset, data);
diff --git a/src/devices/bus/nes/zemina.h b/src/devices/bus/nes/zemina.h
index 752c7f1382d..87d170d053d 100644
--- a/src/devices/bus/nes/zemina.h
+++ b/src/devices/bus/nes/zemina.h
@@ -20,7 +20,7 @@ public:
// device-level overrides
virtual void device_start() override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
};
diff --git a/src/devices/bus/nes_ctrl/fckeybrd.cpp b/src/devices/bus/nes_ctrl/fckeybrd.cpp
index 5633254c8fb..9c81fbea67e 100644
--- a/src/devices/bus/nes_ctrl/fckeybrd.cpp
+++ b/src/devices/bus/nes_ctrl/fckeybrd.cpp
@@ -123,12 +123,11 @@ ioport_constructor nes_fckeybrd_device::device_input_ports() const
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void nes_fckeybrd_device::device_add_mconfig(machine_config &config)
-{
- CASSETTE(config, m_cassette);
- m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED);
- m_cassette->set_interface("fc_cass");
-}
+MACHINE_CONFIG_START(nes_fckeybrd_device::device_add_mconfig)
+ MCFG_CASSETTE_ADD("tape")
+ MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED)
+ MCFG_CASSETTE_INTERFACE("fc_cass")
+MACHINE_CONFIG_END
//**************************************************************************
diff --git a/src/devices/bus/nes_ctrl/miracle.cpp b/src/devices/bus/nes_ctrl/miracle.cpp
index d9f445f58ef..6f41774f1e0 100644
--- a/src/devices/bus/nes_ctrl/miracle.cpp
+++ b/src/devices/bus/nes_ctrl/miracle.cpp
@@ -22,12 +22,12 @@
DEFINE_DEVICE_TYPE(NES_MIRACLE, nes_miracle_device, "nes_miracle", "NES Miracle Piano Controller")
-void nes_miracle_device::device_add_mconfig(machine_config &config)
-{
- MIDI_PORT(config, "mdin", midiin_slot, "midiin").rxd_handler().set(FUNC(nes_miracle_device::rx_w));
+MACHINE_CONFIG_START(nes_miracle_device::device_add_mconfig)
+ MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin")
+ MCFG_MIDI_RX_HANDLER(WRITELINE(*this, nes_miracle_device, rx_w))
- MIDI_PORT(config, "mdout", midiout_slot, "midiout");
-}
+ MCFG_MIDI_PORT_ADD("mdout", midiout_slot, "midiout")
+MACHINE_CONFIG_END
//-------------------------------------------------
diff --git a/src/devices/bus/newbrain/eim.cpp b/src/devices/bus/newbrain/eim.cpp
index 3f0b7a19ee0..2bafd008eb6 100644
--- a/src/devices/bus/newbrain/eim.cpp
+++ b/src/devices/bus/newbrain/eim.cpp
@@ -67,15 +67,14 @@ const tiny_rom_entry *newbrain_eim_device::device_rom_region() const
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void newbrain_eim_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(newbrain_eim_device::device_add_mconfig)
// devices
Z80CTC(config, m_ctc, XTAL(16'000'000)/8);
m_ctc->zc_callback<0>().set(m_acia, FUNC(acia6850_device::write_rxc));
m_ctc->zc_callback<1>().set(m_acia, FUNC(acia6850_device::write_txc));
m_ctc->zc_callback<2>().set(FUNC(newbrain_eim_device::ctc_z2_w));
- TIMER(config, "z80ctc_c2").configure_periodic(FUNC(newbrain_eim_device::ctc_c2_tick), attotime::from_hz(XTAL(16'000'000)/4/13));
+ MCFG_TIMER_DRIVER_ADD_PERIODIC("z80ctc_c2", newbrain_eim_device, ctc_c2_tick, attotime::from_hz(XTAL(16'000'000)/4/13))
adc0809_device &adc(ADC0809(config, ADC0809_TAG, 500000));
adc.eoc_callback().set(FUNC(newbrain_eim_device::adc_eoc_w));
@@ -93,11 +92,11 @@ void newbrain_eim_device::device_add_mconfig(machine_config &config)
RS232_PORT(config, RS232_TAG, default_rs232_devices, nullptr);
- NEWBRAIN_EXPANSION_SLOT(config, m_exp, XTAL(16'000'000)/8, newbrain_expansion_cards, "fdc");
+ MCFG_NEWBRAIN_EXPANSION_SLOT_ADD(NEWBRAIN_EXPANSION_SLOT_TAG, XTAL(16'000'000)/8, newbrain_expansion_cards, "fdc")
// internal ram
RAM(config, RAM_TAG).set_default_size("96K");
-}
+MACHINE_CONFIG_END
//**************************************************************************
@@ -145,9 +144,9 @@ void newbrain_eim_device::device_reset()
// mreq_r - memory request read
//-------------------------------------------------
-uint8_t newbrain_eim_device::mreq_r(offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh)
+uint8_t newbrain_eim_device::mreq_r(address_space &space, offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh)
{
- return m_exp->mreq_r(offset, data, romov, exrm, raminh);
+ return m_exp->mreq_r(space, offset, data, romov, exrm, raminh);
}
@@ -155,9 +154,9 @@ uint8_t newbrain_eim_device::mreq_r(offs_t offset, uint8_t data, bool &romov, in
// mreq_w - memory request write
//-------------------------------------------------
-void newbrain_eim_device::mreq_w(offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh)
+void newbrain_eim_device::mreq_w(address_space &space, offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh)
{
- m_exp->mreq_w(offset, data, romov, exrm, raminh);
+ m_exp->mreq_w(space, offset, data, romov, exrm, raminh);
}
@@ -165,9 +164,9 @@ void newbrain_eim_device::mreq_w(offs_t offset, uint8_t data, bool &romov, int &
// iorq_r - I/O request read
//-------------------------------------------------
-uint8_t newbrain_eim_device::iorq_r(offs_t offset, uint8_t data, bool &prtov)
+uint8_t newbrain_eim_device::iorq_r(address_space &space, offs_t offset, uint8_t data, bool &prtov)
{
- return m_exp->iorq_r(offset, data, prtov);
+ return m_exp->iorq_r(space, offset, data, prtov);
}
@@ -175,9 +174,9 @@ uint8_t newbrain_eim_device::iorq_r(offs_t offset, uint8_t data, bool &prtov)
// iorq_w - I/O request write
//-------------------------------------------------
-void newbrain_eim_device::iorq_w(offs_t offset, uint8_t data, bool &prtov)
+void newbrain_eim_device::iorq_w(address_space &space, offs_t offset, uint8_t data, bool &prtov)
{
- m_exp->iorq_w(offset, data, prtov);
+ m_exp->iorq_w(space, offset, data, prtov);
}
diff --git a/src/devices/bus/newbrain/eim.h b/src/devices/bus/newbrain/eim.h
index 19b456338fd..3e83b22112e 100644
--- a/src/devices/bus/newbrain/eim.h
+++ b/src/devices/bus/newbrain/eim.h
@@ -48,10 +48,10 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// device_newbrain_expansion_slot_interface overrides
- virtual uint8_t mreq_r(offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh) override;
- virtual void mreq_w(offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh) override;
- virtual uint8_t iorq_r(offs_t offset, uint8_t data, bool &prtov) override;
- virtual void iorq_w(offs_t offset, uint8_t data, bool &prtov) override;
+ virtual uint8_t mreq_r(address_space &space, offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh) override;
+ virtual void mreq_w(address_space &space, offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh) override;
+ virtual uint8_t iorq_r(address_space &space, offs_t offset, uint8_t data, bool &prtov) override;
+ virtual void iorq_w(address_space &space, offs_t offset, uint8_t data, bool &prtov) override;
private:
DECLARE_WRITE_LINE_MEMBER( acia_interrupt );
diff --git a/src/devices/bus/newbrain/exp.cpp b/src/devices/bus/newbrain/exp.cpp
index a1a9e2210ed..b4675c3b89f 100644
--- a/src/devices/bus/newbrain/exp.cpp
+++ b/src/devices/bus/newbrain/exp.cpp
@@ -77,11 +77,11 @@ void newbrain_expansion_slot_device::device_reset()
// mreq_r - memory request read
//-------------------------------------------------
-uint8_t newbrain_expansion_slot_device::mreq_r(offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh)
+uint8_t newbrain_expansion_slot_device::mreq_r(address_space &space, offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh)
{
if (m_card != nullptr)
{
- data = m_card->mreq_r(offset, data, romov, exrm, raminh);
+ data = m_card->mreq_r(space, offset, data, romov, exrm, raminh);
}
return data;
@@ -92,11 +92,11 @@ uint8_t newbrain_expansion_slot_device::mreq_r(offs_t offset, uint8_t data, bool
// mreq_w - memory request write
//-------------------------------------------------
-void newbrain_expansion_slot_device::mreq_w(offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh)
+void newbrain_expansion_slot_device::mreq_w(address_space &space, offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh)
{
if (m_card != nullptr)
{
- m_card->mreq_w(offset, data, romov, exrm, raminh);
+ m_card->mreq_w(space, offset, data, romov, exrm, raminh);
}
}
@@ -105,11 +105,11 @@ void newbrain_expansion_slot_device::mreq_w(offs_t offset, uint8_t data, bool &r
// iorq_r - I/O request read
//-------------------------------------------------
-uint8_t newbrain_expansion_slot_device::iorq_r(offs_t offset, uint8_t data, bool &prtov)
+uint8_t newbrain_expansion_slot_device::iorq_r(address_space &space, offs_t offset, uint8_t data, bool &prtov)
{
if (m_card != nullptr)
{
- data = m_card->iorq_r(offset, data, prtov);
+ data = m_card->iorq_r(space, offset, data, prtov);
}
return data;
@@ -120,11 +120,11 @@ uint8_t newbrain_expansion_slot_device::iorq_r(offs_t offset, uint8_t data, bool
// iorq_w - I/O request write
//-------------------------------------------------
-void newbrain_expansion_slot_device::iorq_w(offs_t offset, uint8_t data, bool &prtov)
+void newbrain_expansion_slot_device::iorq_w(address_space &space, offs_t offset, uint8_t data, bool &prtov)
{
if (m_card != nullptr)
{
- m_card->iorq_w(offset, data, prtov);
+ m_card->iorq_w(space, offset, data, prtov);
}
}
diff --git a/src/devices/bus/newbrain/exp.h b/src/devices/bus/newbrain/exp.h
index e9e56c1bd66..e3ab89a35ef 100644
--- a/src/devices/bus/newbrain/exp.h
+++ b/src/devices/bus/newbrain/exp.h
@@ -49,6 +49,17 @@
#define NEWBRAIN_EXPANSION_SLOT_TAG "exp"
+
+//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_NEWBRAIN_EXPANSION_SLOT_ADD(_tag, _clock, _slot_intf, _def_slot) \
+ MCFG_DEVICE_ADD(_tag, NEWBRAIN_EXPANSION_SLOT, _clock) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
+
+
+
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -62,24 +73,14 @@ class newbrain_expansion_slot_device : public device_t,
{
public:
// construction/destruction
- template <typename T>
- newbrain_expansion_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock, T &&opts, char const *dflt)
- : newbrain_expansion_slot_device(mconfig, tag, owner, clock)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
-
newbrain_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// computer interface
- uint8_t mreq_r(offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh);
- void mreq_w(offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh);
+ uint8_t mreq_r(address_space &space, offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh);
+ void mreq_w(address_space &space, offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh);
- uint8_t iorq_r(offs_t offset, uint8_t data, bool &prtov);
- void iorq_w(offs_t offset, uint8_t data, bool &prtov);
+ uint8_t iorq_r(address_space &space, offs_t offset, uint8_t data, bool &prtov);
+ void iorq_w(address_space &space, offs_t offset, uint8_t data, bool &prtov);
protected:
// device-level overrides
@@ -97,12 +98,12 @@ class device_newbrain_expansion_slot_interface : public device_slot_card_interfa
{
public:
// memory access
- virtual uint8_t mreq_r(offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh) { return data; }
- virtual void mreq_w(offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh) { }
+ virtual uint8_t mreq_r(address_space &space, offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh) { return data; }
+ virtual void mreq_w(address_space &space, offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh) { }
// I/O access
- virtual uint8_t iorq_r(offs_t offset, uint8_t data, bool &prtov) { return data; }
- virtual void iorq_w(offs_t offset, uint8_t data, bool &prtov) { }
+ virtual uint8_t iorq_r(address_space &space, offs_t offset, uint8_t data, bool &prtov) { return data; }
+ virtual void iorq_w(address_space &space, offs_t offset, uint8_t data, bool &prtov) { }
protected:
// construction/destruction
diff --git a/src/devices/bus/newbrain/fdc.cpp b/src/devices/bus/newbrain/fdc.cpp
index 7cadbd0bddd..597def0509b 100644
--- a/src/devices/bus/newbrain/fdc.cpp
+++ b/src/devices/bus/newbrain/fdc.cpp
@@ -104,22 +104,21 @@ static void newbrain_floppies(device_slot_interface &device)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void newbrain_fdc_device::device_add_mconfig(machine_config &config)
-{
- Z80(config, m_maincpu, XTAL(4'000'000));
- m_maincpu->set_addrmap(AS_PROGRAM, &newbrain_fdc_device::newbrain_fdc_mem);
- m_maincpu->set_addrmap(AS_IO, &newbrain_fdc_device::newbrain_fdc_io);
+MACHINE_CONFIG_START(newbrain_fdc_device::device_add_mconfig)
+ MCFG_DEVICE_ADD(Z80_TAG, Z80, XTAL(4'000'000))
+ MCFG_DEVICE_PROGRAM_MAP(newbrain_fdc_mem)
+ MCFG_DEVICE_IO_MAP(newbrain_fdc_io)
UPD765A(config, m_fdc, 8'000'000, false, true);
m_fdc->intrq_wr_callback().set(FUNC(newbrain_fdc_device::fdc_int_w));
- FLOPPY_CONNECTOR(config, UPD765_TAG ":0", newbrain_floppies, "525dd", floppy_image_device::default_floppy_formats);
- FLOPPY_CONNECTOR(config, UPD765_TAG ":1", newbrain_floppies, "525dd", floppy_image_device::default_floppy_formats);
- FLOPPY_CONNECTOR(config, UPD765_TAG ":2", newbrain_floppies, nullptr, floppy_image_device::default_floppy_formats);
- FLOPPY_CONNECTOR(config, UPD765_TAG ":3", newbrain_floppies, nullptr, floppy_image_device::default_floppy_formats);
+ MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":0", newbrain_floppies, "525dd", floppy_image_device::default_floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":1", newbrain_floppies, "525dd", floppy_image_device::default_floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":2", newbrain_floppies, nullptr, floppy_image_device::default_floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":3", newbrain_floppies, nullptr, floppy_image_device::default_floppy_formats)
- NEWBRAIN_EXPANSION_SLOT(config, m_exp, XTAL(16'000'000)/8, newbrain_expansion_cards, nullptr);
-}
+ MCFG_NEWBRAIN_EXPANSION_SLOT_ADD(NEWBRAIN_EXPANSION_SLOT_TAG, XTAL(16'000'000)/8, newbrain_expansion_cards, nullptr)
+MACHINE_CONFIG_END
//**************************************************************************
@@ -177,9 +176,9 @@ void newbrain_fdc_device::device_reset()
// mreq_r - memory request read
//-------------------------------------------------
-uint8_t newbrain_fdc_device::mreq_r(offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh)
+uint8_t newbrain_fdc_device::mreq_r(address_space &space, offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh)
{
- return m_exp->mreq_r(offset, data, romov, exrm, raminh);
+ return m_exp->mreq_r(space, offset, data, romov, exrm, raminh);
}
@@ -187,9 +186,9 @@ uint8_t newbrain_fdc_device::mreq_r(offs_t offset, uint8_t data, bool &romov, in
// mreq_w - memory request write
//-------------------------------------------------
-void newbrain_fdc_device::mreq_w(offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh)
+void newbrain_fdc_device::mreq_w(address_space &space, offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh)
{
- m_exp->mreq_w(offset, data, romov, exrm, raminh);
+ m_exp->mreq_w(space, offset, data, romov, exrm, raminh);
}
@@ -197,9 +196,9 @@ void newbrain_fdc_device::mreq_w(offs_t offset, uint8_t data, bool &romov, int &
// iorq_r - I/O request read
//-------------------------------------------------
-uint8_t newbrain_fdc_device::iorq_r(offs_t offset, uint8_t data, bool &prtov)
+uint8_t newbrain_fdc_device::iorq_r(address_space &space, offs_t offset, uint8_t data, bool &prtov)
{
- return m_exp->iorq_r(offset, data, prtov);
+ return m_exp->iorq_r(space, offset, data, prtov);
}
@@ -207,13 +206,13 @@ uint8_t newbrain_fdc_device::iorq_r(offs_t offset, uint8_t data, bool &prtov)
// iorq_w - I/O request write
//-------------------------------------------------
-void newbrain_fdc_device::iorq_w(offs_t offset, uint8_t data, bool &prtov)
+void newbrain_fdc_device::iorq_w(address_space &space, offs_t offset, uint8_t data, bool &prtov)
{
- m_exp->iorq_w(offset, data, prtov);
+ m_exp->iorq_w(space, offset, data, prtov);
if ((offset & 0x20f) == 0x20f)
{
- io_dec_w(data);
+ io_dec_w(space, 0, data);
}
}
@@ -245,7 +244,7 @@ WRITE_LINE_MEMBER( newbrain_fdc_device::fdc_int_w )
// fdc_auxiliary_w -
//-------------------------------------------------
-void newbrain_fdc_device::fdc_auxiliary_w(uint8_t data)
+WRITE8_MEMBER( newbrain_fdc_device::fdc_auxiliary_w )
{
/*
@@ -279,7 +278,7 @@ void newbrain_fdc_device::fdc_auxiliary_w(uint8_t data)
// fdc_control_r -
//-------------------------------------------------
-uint8_t newbrain_fdc_device::fdc_control_r()
+READ8_MEMBER( newbrain_fdc_device::fdc_control_r )
{
/*
@@ -304,7 +303,7 @@ uint8_t newbrain_fdc_device::fdc_control_r()
// io_dec_w - 0x20f
//-------------------------------------------------
-void newbrain_fdc_device::io_dec_w(uint8_t data)
+WRITE8_MEMBER( newbrain_fdc_device::io_dec_w )
{
/*
diff --git a/src/devices/bus/newbrain/fdc.h b/src/devices/bus/newbrain/fdc.h
index e5d6665a078..e5a40ae0748 100644
--- a/src/devices/bus/newbrain/fdc.h
+++ b/src/devices/bus/newbrain/fdc.h
@@ -40,17 +40,17 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// device_newbrain_expansion_slot_interface overrides
- virtual uint8_t mreq_r(offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh) override;
- virtual void mreq_w(offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh) override;
- virtual uint8_t iorq_r(offs_t offset, uint8_t data, bool &prtov) override;
- virtual void iorq_w(offs_t offset, uint8_t data, bool &prtov) override;
+ virtual uint8_t mreq_r(address_space &space, offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh) override;
+ virtual void mreq_w(address_space &space, offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh) override;
+ virtual uint8_t iorq_r(address_space &space, offs_t offset, uint8_t data, bool &prtov) override;
+ virtual void iorq_w(address_space &space, offs_t offset, uint8_t data, bool &prtov) override;
private:
DECLARE_WRITE_LINE_MEMBER( fdc_int_w );
- void fdc_auxiliary_w(uint8_t data);
- uint8_t fdc_control_r();
- void io_dec_w(uint8_t data);
+ DECLARE_WRITE8_MEMBER( fdc_auxiliary_w );
+ DECLARE_READ8_MEMBER( fdc_control_r );
+ DECLARE_WRITE8_MEMBER( io_dec_w );
void newbrain_fdc_io(address_map &map);
void newbrain_fdc_mem(address_map &map);
diff --git a/src/devices/bus/nubus/nubus.cpp b/src/devices/bus/nubus/nubus.cpp
index dc7db80a2ef..b0fc2a4667d 100644
--- a/src/devices/bus/nubus/nubus.cpp
+++ b/src/devices/bus/nubus/nubus.cpp
@@ -70,24 +70,23 @@ nubus_device::nubus_device(const machine_config &mconfig, const char *tag, devic
nubus_device::nubus_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, type, tag, owner, clock),
- m_space(*this, finder_base::DUMMY_TAG, -1),
+ m_maincpu(nullptr),
m_out_irq9_cb(*this),
m_out_irqa_cb(*this),
m_out_irqb_cb(*this),
m_out_irqc_cb(*this),
m_out_irqd_cb(*this),
- m_out_irqe_cb(*this)
+ m_out_irqe_cb(*this),
+ m_cputag(nullptr)
{
}
-
//-------------------------------------------------
-// device_resolve_objects - resolve objects that
-// may be needed for other devices to set
-// initial conditions at start time
+// device_start - device-specific startup
//-------------------------------------------------
-void nubus_device::device_resolve_objects()
+void nubus_device::device_start()
{
+ m_maincpu = machine().device<cpu_device>(m_cputag);
// resolve callbacks
m_out_irq9_cb.resolve_safe();
m_out_irqa_cb.resolve_safe();
@@ -98,10 +97,10 @@ void nubus_device::device_resolve_objects()
}
//-------------------------------------------------
-// device_start - device-specific startup
+// device_reset - device-specific reset
//-------------------------------------------------
-void nubus_device::device_start()
+void nubus_device::device_reset()
{
}
@@ -112,14 +111,15 @@ void nubus_device::add_nubus_card(device_nubus_card_interface *card)
void nubus_device::install_device(offs_t start, offs_t end, read8_delegate rhandler, write8_delegate whandler, uint32_t mask)
{
- int buswidth = m_space->data_width();
+ m_maincpu = machine().device<cpu_device>(m_cputag);
+ int buswidth = m_maincpu->space_config(AS_PROGRAM)->data_width();
switch(buswidth)
{
case 32:
- m_space->install_readwrite_handler(start, end, rhandler, whandler, mask);
+ m_maincpu->space(AS_PROGRAM).install_readwrite_handler(start, end, rhandler, whandler, mask);
break;
case 64:
- m_space->install_readwrite_handler(start, end, rhandler, whandler, ((uint64_t)mask<<32)|mask);
+ m_maincpu->space(AS_PROGRAM).install_readwrite_handler(start, end, rhandler, whandler, ((uint64_t)mask<<32)|mask);
break;
default:
fatalerror("NUBUS: Bus width %d not supported\n", buswidth);
@@ -128,14 +128,15 @@ void nubus_device::install_device(offs_t start, offs_t end, read8_delegate rhand
void nubus_device::install_device(offs_t start, offs_t end, read16_delegate rhandler, write16_delegate whandler, uint32_t mask)
{
- int buswidth = m_space->data_width();
+ m_maincpu = machine().device<cpu_device>(m_cputag);
+ int buswidth = m_maincpu->space_config(AS_PROGRAM)->data_width();
switch(buswidth)
{
case 32:
- m_space->install_readwrite_handler(start, end, rhandler, whandler, mask);
+ m_maincpu->space(AS_PROGRAM).install_readwrite_handler(start, end, rhandler, whandler, mask);
break;
case 64:
- m_space->install_readwrite_handler(start, end, rhandler, whandler, ((uint64_t)mask<<32)|mask);
+ m_maincpu->space(AS_PROGRAM).install_readwrite_handler(start, end, rhandler, whandler, ((uint64_t)mask<<32)|mask);
break;
default:
fatalerror("NUBUS: Bus width %d not supported\n", buswidth);
@@ -144,14 +145,15 @@ void nubus_device::install_device(offs_t start, offs_t end, read16_delegate rhan
void nubus_device::install_device(offs_t start, offs_t end, read32_delegate rhandler, write32_delegate whandler, uint32_t mask)
{
- int buswidth = m_space->data_width();
+ m_maincpu = machine().device<cpu_device>(m_cputag);
+ int buswidth = m_maincpu->space_config(AS_PROGRAM)->data_width();
switch(buswidth)
{
case 32:
- m_space->install_readwrite_handler(start, end, rhandler, whandler, mask);
+ m_maincpu->space(AS_PROGRAM).install_readwrite_handler(start, end, rhandler, whandler, mask);
break;
case 64:
- m_space->install_readwrite_handler(start, end, rhandler, whandler, ((uint64_t)mask<<32)|mask);
+ m_maincpu->space(AS_PROGRAM).install_readwrite_handler(start, end, rhandler, whandler, ((uint64_t)mask<<32)|mask);
break;
default:
fatalerror("NUBUS: Bus width %d not supported\n", buswidth);
@@ -160,14 +162,15 @@ void nubus_device::install_device(offs_t start, offs_t end, read32_delegate rhan
void nubus_device::install_readonly_device(offs_t start, offs_t end, read32_delegate rhandler, uint32_t mask)
{
- int buswidth = m_space->data_width();
+ m_maincpu = machine().device<cpu_device>(m_cputag);
+ int buswidth = m_maincpu->space_config(AS_PROGRAM)->data_width();
switch(buswidth)
{
case 32:
- m_space->install_read_handler(start, end, rhandler, mask);
+ m_maincpu->space(AS_PROGRAM).install_read_handler(start, end, rhandler, mask);
break;
case 64:
- m_space->install_read_handler(start, end, rhandler, ((uint64_t)mask<<32)|mask);
+ m_maincpu->space(AS_PROGRAM).install_read_handler(start, end, rhandler, ((uint64_t)mask<<32)|mask);
break;
default:
fatalerror("NUBUS: Bus width %d not supported\n", buswidth);
@@ -176,14 +179,15 @@ void nubus_device::install_readonly_device(offs_t start, offs_t end, read32_dele
void nubus_device::install_writeonly_device(offs_t start, offs_t end, write32_delegate whandler, uint32_t mask)
{
- int buswidth = m_space->data_width();
+ m_maincpu = machine().device<cpu_device>(m_cputag);
+ int buswidth = m_maincpu->space_config(AS_PROGRAM)->data_width();
switch(buswidth)
{
case 32:
- m_space->install_write_handler(start, end, whandler, mask);
+ m_maincpu->space(AS_PROGRAM).install_write_handler(start, end, whandler, mask);
break;
case 64:
- m_space->install_write_handler(start, end, whandler, ((uint64_t)mask<<32)|mask);
+ m_maincpu->space(AS_PROGRAM).install_write_handler(start, end, whandler, ((uint64_t)mask<<32)|mask);
break;
default:
fatalerror("NUBUS: Bus width %d not supported\n", buswidth);
@@ -193,7 +197,9 @@ void nubus_device::install_writeonly_device(offs_t start, offs_t end, write32_de
void nubus_device::install_bank(offs_t start, offs_t end, const char *tag, uint8_t *data)
{
// printf("install_bank: %s @ %x->%x\n", tag, start, end);
- m_space->install_readwrite_bank(start, end, 0, tag);
+ m_maincpu = machine().device<cpu_device>(m_cputag);
+ address_space &space = m_maincpu->space(AS_PROGRAM);
+ space.install_readwrite_bank(start, end, 0, tag );
machine().root_device().membank(siblingtag(tag).c_str())->set_base(data);
}
diff --git a/src/devices/bus/nubus/nubus.h b/src/devices/bus/nubus/nubus.h
index a1b9496fcf8..919f989ebfb 100644
--- a/src/devices/bus/nubus/nubus.h
+++ b/src/devices/bus/nubus/nubus.h
@@ -14,6 +14,44 @@
#pragma once
+
+//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_NUBUS_CPU(_cputag) \
+ downcast<nubus_device &>(*device).set_cputag(_cputag);
+
+#define MCFG_NUBUS_OUT_IRQ9_CB(_devcb) \
+ downcast<nubus_device &>(*device).set_out_irq9_callback(DEVCB_##_devcb);
+
+#define MCFG_NUBUS_OUT_IRQA_CB(_devcb) \
+ downcast<nubus_device &>(*device).set_out_irqa_callback(DEVCB_##_devcb);
+
+#define MCFG_NUBUS_OUT_IRQB_CB(_devcb) \
+ downcast<nubus_device &>(*device).set_out_irqb_callback(DEVCB_##_devcb);
+
+#define MCFG_NUBUS_OUT_IRQC_CB(_devcb) \
+ downcast<nubus_device &>(*device).set_out_irqc_callback(DEVCB_##_devcb);
+
+#define MCFG_NUBUS_OUT_IRQD_CB(_devcb) \
+ downcast<nubus_device &>(*device).set_out_irqd_callback(DEVCB_##_devcb);
+
+#define MCFG_NUBUS_OUT_IRQE_CB(_devcb) \
+ downcast<nubus_device &>(*device).set_out_irqe_callback(DEVCB_##_devcb);
+
+#define MCFG_NUBUS_SLOT_ADD(_nbtag, _tag, _slot_intf, _def_slot) \
+ MCFG_DEVICE_ADD(_tag, NUBUS_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false) \
+ downcast<nubus_slot_device &>(*device).set_nubus_slot(_nbtag, _tag);
+#define MCFG_NUBUS_SLOT_REMOVE(_tag) \
+ MCFG_DEVICE_REMOVE(_tag)
+
+#define MCFG_NUBUS_ONBOARD_ADD(_nbtag, _tag, _dev_type, _def_inp) \
+ MCFG_DEVICE_ADD(_tag, _dev_type, 0) \
+ MCFG_DEVICE_INPUT_DEFAULTS(_def_inp) \
+ downcast<device_nubus_card_interface &>(*device).set_nubus_tag(_nbtag, _tag);
+
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -62,7 +100,13 @@ public:
~nubus_device() { m_device_list.detach_all(); }
// inline configuration
- template <typename T> void set_space(T &&tag, int spacenum) { m_space.set_tag(std::forward<T>(tag), spacenum); }
+ void set_cputag(const char *tag) { m_cputag = tag; }
+ template <class Object> devcb_base &set_out_irq9_callback(Object &&cb) { return m_out_irq9_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_out_irqa_callback(Object &&cb) { return m_out_irqa_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_out_irqb_callback(Object &&cb) { return m_out_irqb_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_out_irqc_callback(Object &&cb) { return m_out_irqc_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_out_irqd_callback(Object &&cb) { return m_out_irqd_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_out_irqe_callback(Object &&cb) { return m_out_irqe_cb.set_callback(std::forward<Object>(cb)); }
auto out_irq9_callback() { return m_out_irq9_cb.bind(); }
auto out_irqa_callback() { return m_out_irqa_cb.bind(); }
auto out_irqb_callback() { return m_out_irqb_cb.bind(); }
@@ -90,11 +134,11 @@ protected:
nubus_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void device_resolve_objects() override;
virtual void device_start() override;
+ virtual void device_reset() override;
// internal state
- required_address_space m_space;
+ cpu_device *m_maincpu;
devcb_write_line m_out_irq9_cb;
devcb_write_line m_out_irqa_cb;
@@ -104,6 +148,7 @@ protected:
devcb_write_line m_out_irqe_cb;
simple_list<device_nubus_card_interface> m_device_list;
+ const char *m_cputag;
};
diff --git a/src/devices/bus/nubus/nubus_48gc.cpp b/src/devices/bus/nubus/nubus_48gc.cpp
index 86f4fca21ec..e089e1986db 100644
--- a/src/devices/bus/nubus/nubus_48gc.cpp
+++ b/src/devices/bus/nubus/nubus_48gc.cpp
@@ -39,16 +39,15 @@ DEFINE_DEVICE_TYPE(NUBUS_824GC, nubus_824gc_device, "nb_824gc", "Apple 8*24 vide
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void jmfb_device::device_add_mconfig(machine_config &config)
-{
- screen_device &screen(SCREEN(config, GC48_SCREEN_NAME, SCREEN_TYPE_RASTER));
- screen.set_screen_update(FUNC(jmfb_device::screen_update));
- screen.set_raw(25175000, 800, 0, 640, 525, 0, 480);
-// screen.set_size(1152, 870);
-// screen.set_visarea(0, 1152-1, 0, 870-1);
-// screen.set_refresh_hz(75);
-// screen.set_vblank_time(ATTOSECONDS_IN_USEC(1260));
-}
+MACHINE_CONFIG_START(jmfb_device::device_add_mconfig)
+ MCFG_SCREEN_ADD(GC48_SCREEN_NAME, RASTER)
+ MCFG_SCREEN_UPDATE_DEVICE(DEVICE_SELF, jmfb_device, screen_update)
+ MCFG_SCREEN_RAW_PARAMS(25175000, 800, 0, 640, 525, 0, 480)
+// MCFG_SCREEN_SIZE(1152, 870)
+// MCFG_SCREEN_VISIBLE_AREA(0, 1152-1, 0, 870-1)
+// MCFG_SCREEN_REFRESH_RATE(75)
+// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(1260))
+MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/nubus/nubus_asntmc3b.cpp b/src/devices/bus/nubus/nubus_asntmc3b.cpp
index f6c0135af5f..46f9d382eb8 100644
--- a/src/devices/bus/nubus/nubus_asntmc3b.cpp
+++ b/src/devices/bus/nubus/nubus_asntmc3b.cpp
@@ -41,13 +41,12 @@ DEFINE_DEVICE_TYPE(NUBUS_APPLEENET, nubus_appleenet_device, "nb_aenet", "Apple N
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void nubus_mac8390_device::device_add_mconfig(machine_config &config)
-{
- DP8390D(config, m_dp83902, 0);
- m_dp83902->irq_callback().set(FUNC(nubus_mac8390_device::dp_irq_w));
- m_dp83902->mem_read_callback().set(FUNC(nubus_mac8390_device::dp_mem_read));
- m_dp83902->mem_write_callback().set(FUNC(nubus_mac8390_device::dp_mem_write));
-}
+MACHINE_CONFIG_START(nubus_mac8390_device::device_add_mconfig)
+ MCFG_DEVICE_ADD(MAC8390_839X, DP8390D, 0)
+ MCFG_DP8390D_IRQ_CB(WRITELINE(*this, nubus_mac8390_device, dp_irq_w))
+ MCFG_DP8390D_MEM_READ_CB(READ8(*this, nubus_mac8390_device, dp_mem_read))
+ MCFG_DP8390D_MEM_WRITE_CB(WRITE8(*this, nubus_mac8390_device, dp_mem_write))
+MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/nubus/nubus_cb264.cpp b/src/devices/bus/nubus/nubus_cb264.cpp
index 01bff0877da..9efb5e6d088 100644
--- a/src/devices/bus/nubus/nubus_cb264.cpp
+++ b/src/devices/bus/nubus/nubus_cb264.cpp
@@ -40,14 +40,13 @@ DEFINE_DEVICE_TYPE(NUBUS_CB264, nubus_cb264_device, "nb_c264", "RasterOps ColorB
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void nubus_cb264_device::device_add_mconfig(machine_config &config)
-{
- screen_device &screen(SCREEN(config, CB264_SCREEN_NAME, SCREEN_TYPE_RASTER));
- screen.set_screen_update(FUNC(nubus_cb264_device::screen_update));
- screen.set_raw(25175000, 800, 0, 640, 525, 0, 480);
- screen.set_size(1024, 768);
- screen.set_visarea(0, 640-1, 0, 480-1);
-}
+MACHINE_CONFIG_START(nubus_cb264_device::device_add_mconfig)
+ MCFG_SCREEN_ADD( CB264_SCREEN_NAME, RASTER)
+ MCFG_SCREEN_UPDATE_DEVICE(DEVICE_SELF, nubus_cb264_device, screen_update)
+ MCFG_SCREEN_RAW_PARAMS(25175000, 800, 0, 640, 525, 0, 480)
+ MCFG_SCREEN_SIZE(1024,768)
+ MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
+MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/nubus/nubus_image.cpp b/src/devices/bus/nubus/nubus_image.cpp
index 8e2d39fb943..1618bda4da7 100644
--- a/src/devices/bus/nubus/nubus_image.cpp
+++ b/src/devices/bus/nubus/nubus_image.cpp
@@ -130,10 +130,9 @@ DEFINE_DEVICE_TYPE(NUBUS_IMAGE, nubus_image_device, "nb_image", "NuBus Disk Imag
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void nubus_image_device::device_add_mconfig(machine_config &config)
-{
- MESSIMG_DISK(config, IMAGE_DISK0_TAG, 0);
-}
+MACHINE_CONFIG_START(nubus_image_device::device_add_mconfig)
+ MCFG_DEVICE_ADD(IMAGE_DISK0_TAG, MESSIMG_DISK, 0)
+MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/nubus/nubus_m2hires.cpp b/src/devices/bus/nubus/nubus_m2hires.cpp
index c575f7d94b1..6ac472eeb5b 100644
--- a/src/devices/bus/nubus/nubus_m2hires.cpp
+++ b/src/devices/bus/nubus/nubus_m2hires.cpp
@@ -36,14 +36,13 @@ DEFINE_DEVICE_TYPE(NUBUS_M2HIRES, nubus_m2hires_device, "nb_m2hr", "Macintosh II
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void nubus_m2hires_device::device_add_mconfig(machine_config &config)
-{
- screen_device &screen(SCREEN(config, M2HIRES_SCREEN_NAME, SCREEN_TYPE_RASTER));
- screen.set_screen_update(FUNC(nubus_m2hires_device::screen_update));
- screen.set_raw(25175000, 800, 0, 640, 525, 0, 480);
- screen.set_size(1024, 768);
- screen.set_visarea(0, 640-1, 0, 480-1);
-}
+MACHINE_CONFIG_START(nubus_m2hires_device::device_add_mconfig)
+ MCFG_SCREEN_ADD( M2HIRES_SCREEN_NAME, RASTER)
+ MCFG_SCREEN_UPDATE_DEVICE(DEVICE_SELF, nubus_m2hires_device, screen_update)
+ MCFG_SCREEN_RAW_PARAMS(25175000, 800, 0, 640, 525, 0, 480)
+ MCFG_SCREEN_SIZE(1024,768)
+ MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
+MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/nubus/nubus_m2video.cpp b/src/devices/bus/nubus/nubus_m2video.cpp
index b16391b640d..d7eea8cf22e 100644
--- a/src/devices/bus/nubus/nubus_m2video.cpp
+++ b/src/devices/bus/nubus/nubus_m2video.cpp
@@ -38,14 +38,13 @@ DEFINE_DEVICE_TYPE(NUBUS_M2VIDEO, nubus_m2video_device, "nb_m2vc", "Macintosh II
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void nubus_m2video_device::device_add_mconfig(machine_config &config)
-{
- screen_device &screen(SCREEN(config, M2VIDEO_SCREEN_NAME, SCREEN_TYPE_RASTER));
- screen.set_screen_update(FUNC(nubus_m2video_device::screen_update));
- screen.set_raw(25175000, 800, 0, 640, 525, 0, 480);
- screen.set_size(1024, 768);
- screen.set_visarea(0, 640-1, 0, 480-1);
-}
+MACHINE_CONFIG_START(nubus_m2video_device::device_add_mconfig)
+ MCFG_SCREEN_ADD(M2VIDEO_SCREEN_NAME, RASTER)
+ MCFG_SCREEN_UPDATE_DEVICE(DEVICE_SELF, nubus_m2video_device, screen_update)
+ MCFG_SCREEN_RAW_PARAMS(25175000, 800, 0, 640, 525, 0, 480)
+ MCFG_SCREEN_SIZE(1024,768)
+ MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
+MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/nubus/nubus_radiustpd.cpp b/src/devices/bus/nubus/nubus_radiustpd.cpp
index 1ee2e0cb7fb..98a3ab3e514 100644
--- a/src/devices/bus/nubus/nubus_radiustpd.cpp
+++ b/src/devices/bus/nubus/nubus_radiustpd.cpp
@@ -37,12 +37,13 @@ DEFINE_DEVICE_TYPE(NUBUS_RADIUSTPD, nubus_radiustpd_device, "nb_rtpd", "Radius T
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void nubus_radiustpd_device::device_add_mconfig(machine_config &config)
-{
- screen_device &screen(SCREEN(config, RADIUSTPD_SCREEN_NAME, SCREEN_TYPE_RASTER));
- screen.set_screen_update(FUNC(nubus_radiustpd_device::screen_update));
- screen.set_raw(99.522_MHz_XTAL, 1536, 0, 1152, 900, 0, 880); // 64.79 kHz horizontal, 72 Hz refresh
-}
+MACHINE_CONFIG_START(nubus_radiustpd_device::device_add_mconfig)
+ MCFG_SCREEN_ADD( RADIUSTPD_SCREEN_NAME, RASTER)
+ MCFG_SCREEN_UPDATE_DEVICE(DEVICE_SELF, nubus_radiustpd_device, screen_update)
+ MCFG_SCREEN_SIZE(1280, 960)
+ MCFG_SCREEN_REFRESH_RATE(70)
+ MCFG_SCREEN_VISIBLE_AREA(0, 1152-1, 0, 880-1)
+MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/nubus/nubus_spec8.cpp b/src/devices/bus/nubus/nubus_spec8.cpp
index 1353d3b9a9d..d3d45d9b076 100644
--- a/src/devices/bus/nubus/nubus_spec8.cpp
+++ b/src/devices/bus/nubus/nubus_spec8.cpp
@@ -40,14 +40,13 @@ DEFINE_DEVICE_TYPE(NUBUS_SPEC8S3, nubus_spec8s3_device, "nb_sp8s3", "SuperMac Sp
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void nubus_spec8s3_device::device_add_mconfig(machine_config &config)
-{
- screen_device &screen(SCREEN(config, SPEC8S3_SCREEN_NAME, SCREEN_TYPE_RASTER));
- screen.set_screen_update(FUNC(nubus_spec8s3_device::screen_update));
- screen.set_raw(25175000, 800, 0, 640, 525, 0, 480);
- screen.set_size(1024, 768);
- screen.set_visarea(0, 1024-1, 0, 768-1);
-}
+MACHINE_CONFIG_START(nubus_spec8s3_device::device_add_mconfig)
+ MCFG_SCREEN_ADD( SPEC8S3_SCREEN_NAME, RASTER)
+ MCFG_SCREEN_UPDATE_DEVICE(DEVICE_SELF, nubus_spec8s3_device, screen_update)
+ MCFG_SCREEN_RAW_PARAMS(25175000, 800, 0, 640, 525, 0, 480)
+ MCFG_SCREEN_SIZE(1024,768)
+ MCFG_SCREEN_VISIBLE_AREA(0, 1024-1, 0, 768-1)
+MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/nubus/nubus_specpdq.cpp b/src/devices/bus/nubus/nubus_specpdq.cpp
index 2e09a258bd2..d9e463e7fbf 100644
--- a/src/devices/bus/nubus/nubus_specpdq.cpp
+++ b/src/devices/bus/nubus/nubus_specpdq.cpp
@@ -29,9 +29,6 @@
#include "nubus_specpdq.h"
#include "screen.h"
-//#define VERBOSE 1
-#include "logmacro.h"
-
#define SPECPDQ_SCREEN_NAME "specpdq_screen"
#define SPECPDQ_ROM_REGION "specpdq_rom"
@@ -54,16 +51,15 @@ DEFINE_DEVICE_TYPE(NUBUS_SPECPDQ, nubus_specpdq_device, "nb_spdq", "SuperMac Spe
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void nubus_specpdq_device::device_add_mconfig(machine_config &config)
-{
- screen_device &screen(SCREEN(config, SPECPDQ_SCREEN_NAME, SCREEN_TYPE_RASTER));
- screen.set_screen_update(FUNC(nubus_specpdq_device::screen_update));
- screen.set_raw(25175000, 800, 0, 640, 525, 0, 480);
- screen.set_size(1280, 1024);
- screen.set_visarea(0, 1152-1, 0, 844-1);
+MACHINE_CONFIG_START(nubus_specpdq_device::device_add_mconfig)
+ MCFG_SCREEN_ADD( SPECPDQ_SCREEN_NAME, RASTER)
+ MCFG_SCREEN_UPDATE_DEVICE(DEVICE_SELF, nubus_specpdq_device, screen_update)
+ MCFG_SCREEN_RAW_PARAMS(25175000, 800, 0, 640, 525, 0, 480)
+ MCFG_SCREEN_SIZE(1280,1024)
+ MCFG_SCREEN_VISIBLE_AREA(0, 1152-1, 0, 844-1)
- PALETTE(config, m_palette).set_entries(256);
-}
+ MCFG_PALETTE_ADD("palette", 256)
+MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region
@@ -246,7 +242,7 @@ WRITE32_MEMBER( nubus_specpdq_device::specpdq_w )
switch (offset)
{
case 0xc0054: // mode 1
- LOG("%x to mode1\n", data);
+// logerror("%x to mode1\n", data);
break;
case 0xc005c: // interrupt control
@@ -265,7 +261,7 @@ WRITE32_MEMBER( nubus_specpdq_device::specpdq_w )
break;
case 0xc007a:
- LOG("%x to mode2\n", data);
+// logerror("%x to mode2\n", data);
switch (data)
{
@@ -282,11 +278,11 @@ WRITE32_MEMBER( nubus_specpdq_device::specpdq_w )
break;
}
- LOG("m_mode = %d\n", m_mode);
+// logerror("m_mode = %d\n", m_mode);
break;
case 0x120000: // DAC address
- LOG("%08x to DAC control %s\n", data,machine().describe_context());
+// logerror("%08x to DAC control %s\n", data,machine().describe_context());
m_clutoffs = ((data>>8)&0xff)^0xff;
break;
@@ -295,7 +291,7 @@ WRITE32_MEMBER( nubus_specpdq_device::specpdq_w )
if (m_count == 3)
{
- LOG("RAMDAC: color %d = %02x %02x %02x %s\n", m_clutoffs, m_colors[0], m_colors[1], m_colors[2], machine().describe_context());
+// logerror("RAMDAC: color %d = %02x %02x %02x %s\n", m_clutoffs, m_colors[0], m_colors[1], m_colors[2], machine().describe_context());
m_palette->set_pen_color(m_clutoffs, rgb_t(m_colors[0], m_colors[1], m_colors[2]));
m_palette_val[m_clutoffs] = rgb_t(m_colors[0], m_colors[1], m_colors[2]);
m_clutoffs++;
@@ -372,10 +368,7 @@ WRITE32_MEMBER( nubus_specpdq_device::specpdq_w )
case 0x18103d:
case 0x18103e:
case 0x18103f:
- if(offset == 0x181000) {
- machine().debug_break();
- LOG("Pattern %08x @ %x\n", data ^ 0xffffffff, offset);
- }
+// logerror("Pattern %08x @ %x\n", data ^ 0xffffffff, offset);
m_fillbytes[((offset&0x3f)*4)] = ((data>>24) & 0xff) ^ 0xff;
m_fillbytes[((offset&0x3f)*4)+1] = ((data>>16) & 0xff) ^ 0xff;
m_fillbytes[((offset&0x3f)*4)+2] = ((data>>8) & 0xff) ^ 0xff;
@@ -384,107 +377,81 @@ WRITE32_MEMBER( nubus_specpdq_device::specpdq_w )
// blitter control
case 0x182006:
- LOG("%08x (%d) to blitter ctrl 1 %s rectangle\n", data^0xffffffff, data^0xffffffff, machine().describe_context());
+// logerror("%08x (%d) to blitter ctrl 1 %s\n", data^0xffffffff, data^0xffffffff, machine().describe_context());
break;
case 0x182008:
- LOG("%08x (%d) to blitter ctrl 2 %s rectangle\n", data^0xffffffff, data^0xffffffff, machine().describe_context());
+// logerror("%08x (%d) to blitter ctrl 2 %s\n", data^0xffffffff, data^0xffffffff, machine().describe_context());
m_patofsx = (data ^ 0xffffffff) & 7;
m_patofsy = ((data ^ 0xffffffff)>>3) & 7;
break;
case 0x18200e:
- LOG("%08x (%d) to blitter ctrl 3 %s\n", data^0xffffffff, data^0xffffffff, machine().describe_context());
+// logerror("%08x (%d) to blitter ctrl 3 %s\n", data^0xffffffff, data^0xffffffff, machine().describe_context());
m_width = data ^ 0xffffffff;
break;
case 0x18200b:
- LOG("%08x (%d) to blitter ctrl 4 %s\n", data^0xffffffff, data^0xffffffff, machine().describe_context());
+// logerror("%08x (%d) to blitter ctrl 4 %s\n", data^0xffffffff, data^0xffffffff, machine().describe_context());
m_height = (data ^ 0xffffffff) & 0xffff;
break;
case 0x18200a:
data ^= 0xffffffff;
- LOG("%08x to blitter ctrl 5 %s\n", data, machine().describe_context());
+// logerror("%08x to blitter ctrl 5 %s\n", data, machine().describe_context());
m_vram_src = data>>2;
break;
case 0x182009:
data ^= 0xffffffff;
- LOG("%08x to blitter ctrl 6 %s\n", data, machine().describe_context());
+// logerror("%08x to blitter ctrl 6 %s\n", data, machine().describe_context());
m_vram_addr = data>>2;
break;
case 0x182007:
data ^= 0xffffffff;
- LOG("%08x to blitter ctrl 7 %s\n", data, machine().describe_context());
+// logerror("%08x to blitter ctrl 7 %s\n", data, machine().describe_context());
// fill rectangle
if (data == 2)
{
int x, y;
- uint8_t *vram = &m_vram[m_vram_addr & ~3];
-
- int ddx = m_vram_addr & 3;
-
- LOG("Fill rectangle with %02x %02x %02x %02x, adr %x (%d, %d) width %d height %d delta %d %d\n", m_fillbytes[0], m_fillbytes[1], m_fillbytes[2], m_fillbytes[3], m_vram_addr, m_vram_addr % 1152, m_vram_addr / 1152, m_width, m_height, m_patofsx, m_patofsy);
-
- for (y = 0; y <= m_height; y++)
- {
- for (x = 0; x <= m_width; x++)
- {
- vram[(y * 1152)+BYTE4_XOR_BE(x + ddx)] = m_fillbytes[((m_patofsx + x) & 0x1f)+(((m_patofsy + y) & 0x7) << 5)];
- }
- }
- }
- else if (data == 0x100)
- {
- int x, y;
- uint8_t *vram = &m_vram[m_vram_addr & ~3];
- uint8_t *vramsrc = &m_vram[m_vram_src & ~3];
+ uint8_t *vram = &m_vram[m_vram_addr + m_patofsx]; // m_vram_addr is missing the low 2 bits, we add them back here
- int sdx = m_vram_src & 3;
- int ddx = m_vram_addr & 3;
+// logerror("Fill rectangle with %02x %02x %02x %02x, width %d height %d\n", m_fillbytes[0], m_fillbytes[1], m_fillbytes[2], m_fillbytes[3], m_width, m_height);
- LOG("Copy rectangle forwards, width %d height %d dst %x (%d, %d) src %x (%d, %d)\n", m_width, m_height, m_vram_addr, m_vram_addr % 1152, m_vram_addr / 1152, m_vram_src, m_vram_src % 1152, m_vram_src / 1152);
-
- for (y = 0; y <= m_height; y++)
+ for (y = 0; y < m_height; y++)
{
- for (x = 0; x <= m_width; x++)
+ for (x = 0; x < m_width; x++)
{
- vram[(y * 1152)+BYTE4_XOR_BE(x + ddx)] = vramsrc[(y * 1152)+BYTE4_XOR_BE(x + sdx)];
+ vram[(y * 1152)+x] = m_fillbytes[((m_patofsx + x) & 0x1f)+(((m_patofsy + y) & 0x7)*32)];
}
}
- (void)vramsrc; (void)sdx;
}
- else if (data == 0x101)
+ else if ((data == 0x101) || (data == 0x100))
{
int x, y;
- uint8_t *vram = &m_vram[m_vram_addr & ~3];
- uint8_t *vramsrc = &m_vram[m_vram_src & ~3];
-
- int sdx = m_vram_src & 3;
- int ddx = m_vram_addr & 3;
+ uint8_t *vram = &m_vram[m_vram_addr];
+ uint8_t *vramsrc = &m_vram[m_vram_src];
- LOG("Copy rectangle backwards, width %d height %d dst %x (%d, %d) src %x (%d, %d)\n", m_width, m_height, m_vram_addr, m_vram_addr % 1152, m_vram_addr / 1152, m_vram_src, m_vram_src % 1152, m_vram_src / 1152);
+// logerror("Copy rectangle, width %d height %d src %x dst %x\n", m_width, m_height, m_vram_addr, m_vram_src);
for (y = 0; y < m_height; y++)
{
for (x = 0; x < m_width; x++)
{
- vram[(-y * 1152)+BYTE4_XOR_BE(-x + ddx)] = vramsrc[(-y * 1152)+BYTE4_XOR_BE(-x + sdx)];
+ vram[(y * 1152)+x] = vramsrc[(y * 1152)+x];
}
}
- (void)vramsrc; (void)sdx;
}
else
{
- LOG("Unknown blitter command %08x\n", data);
+ logerror("Unknown blitter command %08x\n", data);
}
break;
default:
- LOG("specpdq_w: %08x @ %x (mask %08x %s)\n", data^0xffffffff, offset, mem_mask, machine().describe_context());
+// logerror("specpdq_w: %08x @ %x (mask %08x %s)\n", data^0xffffffff, offset, mem_mask, machine().describe_context());
break;
}
}
diff --git a/src/devices/bus/nubus/nubus_vikbw.cpp b/src/devices/bus/nubus/nubus_vikbw.cpp
index ab3af18fe72..040f452b2d2 100644
--- a/src/devices/bus/nubus/nubus_vikbw.cpp
+++ b/src/devices/bus/nubus/nubus_vikbw.cpp
@@ -36,14 +36,13 @@ DEFINE_DEVICE_TYPE(NUBUS_VIKBW, nubus_vikbw_device, "nb_vikbw", "Moniterm Viking
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void nubus_vikbw_device::device_add_mconfig(machine_config &config)
-{
- screen_device &screen(SCREEN(config, VIKBW_SCREEN_NAME, SCREEN_TYPE_RASTER));
- screen.set_screen_update(FUNC(nubus_vikbw_device::screen_update));
- screen.set_size(1024, 768);
- screen.set_visarea(0, 1024-1, 0, 768-1);
- screen.set_refresh_hz(70);
-}
+MACHINE_CONFIG_START(nubus_vikbw_device::device_add_mconfig)
+ MCFG_SCREEN_ADD( VIKBW_SCREEN_NAME, RASTER)
+ MCFG_SCREEN_UPDATE_DEVICE(DEVICE_SELF, nubus_vikbw_device, screen_update)
+ MCFG_SCREEN_SIZE(1024,768)
+ MCFG_SCREEN_VISIBLE_AREA(0, 1024-1, 0, 768-1)
+ MCFG_SCREEN_REFRESH_RATE(70)
+MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/nubus/nubus_wsportrait.cpp b/src/devices/bus/nubus/nubus_wsportrait.cpp
index 12702c052a6..19c25347738 100644
--- a/src/devices/bus/nubus/nubus_wsportrait.cpp
+++ b/src/devices/bus/nubus/nubus_wsportrait.cpp
@@ -39,14 +39,13 @@ DEFINE_DEVICE_TYPE(NUBUS_WSPORTRAIT, nubus_wsportrait_device, "nb_wspt", "Macint
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void nubus_wsportrait_device::device_add_mconfig(machine_config &config)
-{
- screen_device &screen(SCREEN(config, WSPORTRAIT_SCREEN_NAME, SCREEN_TYPE_RASTER));
- screen.set_screen_update(FUNC(nubus_wsportrait_device::screen_update));
- screen.set_size(1024, 960);
- screen.set_refresh_hz(75.0);
- screen.set_visarea(0, 640-1, 0, 870-1);
-}
+MACHINE_CONFIG_START(nubus_wsportrait_device::device_add_mconfig)
+ MCFG_SCREEN_ADD( WSPORTRAIT_SCREEN_NAME, RASTER)
+ MCFG_SCREEN_UPDATE_DEVICE(DEVICE_SELF, nubus_wsportrait_device, screen_update)
+ MCFG_SCREEN_SIZE(1024,960)
+ MCFG_SCREEN_REFRESH_RATE(75.0)
+ MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 870-1)
+MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/nubus/pds30_30hr.cpp b/src/devices/bus/nubus/pds30_30hr.cpp
index 190872708f6..8888c50b5fa 100644
--- a/src/devices/bus/nubus/pds30_30hr.cpp
+++ b/src/devices/bus/nubus/pds30_30hr.cpp
@@ -39,14 +39,13 @@ DEFINE_DEVICE_TYPE(PDS030_XCEED30HR, nubus_xceed30hr_device, "pd3_30hr", "Micron
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void nubus_xceed30hr_device::device_add_mconfig(machine_config &config)
-{
- screen_device &screen(SCREEN(config, XCEED30HR_SCREEN_NAME, SCREEN_TYPE_RASTER));
- screen.set_screen_update(FUNC(nubus_xceed30hr_device::screen_update));
- screen.set_raw(25175000, 800, 0, 640, 525, 0, 480);
- screen.set_size(1024, 768);
- screen.set_visarea(0, 640-1, 0, 480-1);
-}
+MACHINE_CONFIG_START(nubus_xceed30hr_device::device_add_mconfig)
+ MCFG_SCREEN_ADD( XCEED30HR_SCREEN_NAME, RASTER)
+ MCFG_SCREEN_UPDATE_DEVICE(DEVICE_SELF, nubus_xceed30hr_device, screen_update)
+ MCFG_SCREEN_RAW_PARAMS(25175000, 800, 0, 640, 525, 0, 480)
+ MCFG_SCREEN_SIZE(1024,768)
+ MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
+MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/nubus/pds30_cb264.cpp b/src/devices/bus/nubus/pds30_cb264.cpp
index 4d153596fe0..6ec398a5257 100644
--- a/src/devices/bus/nubus/pds30_cb264.cpp
+++ b/src/devices/bus/nubus/pds30_cb264.cpp
@@ -32,14 +32,13 @@ DEFINE_DEVICE_TYPE(PDS030_CB264SE30, nubus_cb264se30_device, "pd3_c264", "Raster
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void nubus_cb264se30_device::device_add_mconfig(machine_config &config)
-{
- screen_device &screen(SCREEN(config, CB264SE30_SCREEN_NAME, SCREEN_TYPE_RASTER));
- screen.set_screen_update(FUNC(nubus_cb264se30_device::screen_update));
- screen.set_raw(25175000, 800, 0, 640, 525, 0, 480);
- screen.set_size(1024, 768);
- screen.set_visarea(0, 640-1, 0, 480-1);
-}
+MACHINE_CONFIG_START(nubus_cb264se30_device::device_add_mconfig)
+ MCFG_SCREEN_ADD( CB264SE30_SCREEN_NAME, RASTER)
+ MCFG_SCREEN_UPDATE_DEVICE(DEVICE_SELF, nubus_cb264se30_device, screen_update)
+ MCFG_SCREEN_RAW_PARAMS(25175000, 800, 0, 640, 525, 0, 480)
+ MCFG_SCREEN_SIZE(1024,768)
+ MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
+MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/nubus/pds30_mc30.cpp b/src/devices/bus/nubus/pds30_mc30.cpp
index 6770b517deb..a314b7f9981 100644
--- a/src/devices/bus/nubus/pds30_mc30.cpp
+++ b/src/devices/bus/nubus/pds30_mc30.cpp
@@ -35,14 +35,13 @@ DEFINE_DEVICE_TYPE(PDS030_XCEEDMC30, nubus_xceedmc30_device, "pd3_mclr", "Micron
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void nubus_xceedmc30_device::device_add_mconfig(machine_config &config)
-{
- screen_device &screen(SCREEN(config, XCEEDMC30_SCREEN_NAME, SCREEN_TYPE_RASTER));
- screen.set_screen_update(FUNC(nubus_xceedmc30_device::screen_update));
- screen.set_raw(25175000, 800, 0, 640, 525, 0, 480);
- screen.set_size(1024, 768);
- screen.set_visarea(0, 640-1, 0, 480-1);
-}
+MACHINE_CONFIG_START(nubus_xceedmc30_device::device_add_mconfig)
+ MCFG_SCREEN_ADD( XCEEDMC30_SCREEN_NAME, RASTER)
+ MCFG_SCREEN_UPDATE_DEVICE(DEVICE_SELF, nubus_xceedmc30_device, screen_update)
+ MCFG_SCREEN_RAW_PARAMS(25175000, 800, 0, 640, 525, 0, 480)
+ MCFG_SCREEN_SIZE(1024,768)
+ MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
+MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/nubus/pds30_procolor816.cpp b/src/devices/bus/nubus/pds30_procolor816.cpp
index 440ba6c86d7..db1c02fea31 100644
--- a/src/devices/bus/nubus/pds30_procolor816.cpp
+++ b/src/devices/bus/nubus/pds30_procolor816.cpp
@@ -38,14 +38,13 @@ DEFINE_DEVICE_TYPE(PDS030_PROCOLOR816, nubus_procolor816_device, "pd3_pc16", "La
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void nubus_procolor816_device::device_add_mconfig(machine_config &config)
-{
- screen_device &screen(SCREEN(config, PROCOLOR816_SCREEN_NAME, SCREEN_TYPE_RASTER));
- screen.set_screen_update(FUNC(nubus_procolor816_device::screen_update));
- screen.set_raw(25175000, 800, 0, 640, 525, 0, 480);
- screen.set_size(1024, 768);
- screen.set_visarea(0, 640-1, 0, 480-1);
-}
+MACHINE_CONFIG_START(nubus_procolor816_device::device_add_mconfig)
+ MCFG_SCREEN_ADD( PROCOLOR816_SCREEN_NAME, RASTER)
+ MCFG_SCREEN_UPDATE_DEVICE(DEVICE_SELF, nubus_procolor816_device, screen_update)
+ MCFG_SCREEN_RAW_PARAMS(25175000, 800, 0, 640, 525, 0, 480)
+ MCFG_SCREEN_SIZE(1024,768)
+ MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
+MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/nubus/pds30_sigmalview.cpp b/src/devices/bus/nubus/pds30_sigmalview.cpp
index 51f27a03713..ea05362d8ea 100644
--- a/src/devices/bus/nubus/pds30_sigmalview.cpp
+++ b/src/devices/bus/nubus/pds30_sigmalview.cpp
@@ -32,14 +32,13 @@ DEFINE_DEVICE_TYPE(PDS030_LVIEW, nubus_lview_device, "pd3_lviw", "Sigma Designs
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void nubus_lview_device::device_add_mconfig(machine_config &config)
-{
- screen_device &screen(SCREEN(config, LVIEW_SCREEN_NAME, SCREEN_TYPE_RASTER));
- screen.set_screen_update(FUNC(nubus_lview_device::screen_update));
- screen.set_size(832, 600);
- screen.set_refresh_hz(70);
- screen.set_visarea(0, 832-1, 0, 600-1);
-}
+MACHINE_CONFIG_START(nubus_lview_device::device_add_mconfig)
+ MCFG_SCREEN_ADD( LVIEW_SCREEN_NAME, RASTER)
+ MCFG_SCREEN_UPDATE_DEVICE(DEVICE_SELF, nubus_lview_device, screen_update)
+ MCFG_SCREEN_SIZE(832,600)
+ MCFG_SCREEN_REFRESH_RATE(70)
+ MCFG_SCREEN_VISIBLE_AREA(0, 832-1, 0, 600-1)
+MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/odyssey2/chess.cpp b/src/devices/bus/odyssey2/chess.cpp
index 44890a394ce..d2ba5d05f5f 100644
--- a/src/devices/bus/odyssey2/chess.cpp
+++ b/src/devices/bus/odyssey2/chess.cpp
@@ -45,9 +45,8 @@ void o2_chess_device::chess_io(address_map &map)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void o2_chess_device::device_add_mconfig(machine_config &config)
-{
- NSC800(config, m_cpu, XTAL(4'000'000));
- m_cpu->set_addrmap(AS_PROGRAM, &o2_chess_device::chess_mem);
- m_cpu->set_addrmap(AS_IO, &o2_chess_device::chess_io);
-}
+MACHINE_CONFIG_START(o2_chess_device::device_add_mconfig)
+ MCFG_DEVICE_ADD("subcpu", NSC800, XTAL(4'000'000))
+ MCFG_DEVICE_PROGRAM_MAP(chess_mem)
+ MCFG_DEVICE_IO_MAP(chess_io)
+MACHINE_CONFIG_END
diff --git a/src/devices/bus/odyssey2/slot.h b/src/devices/bus/odyssey2/slot.h
index bfb10c025bd..28192aa3457 100644
--- a/src/devices/bus/odyssey2/slot.h
+++ b/src/devices/bus/odyssey2/slot.h
@@ -65,17 +65,7 @@ class o2_cart_slot_device : public device_t,
{
public:
// construction/destruction
- template <typename T>
- o2_cart_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt)
- : o2_cart_slot_device(mconfig, tag, owner, 0)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
-
- o2_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+ o2_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~o2_cart_slot_device();
// device-level overrides
@@ -124,6 +114,10 @@ DECLARE_DEVICE_TYPE(O2_CART_SLOT, o2_cart_slot_device)
#define O2SLOT_ROM_REGION_TAG ":cart:rom"
+#define MCFG_O2_CARTRIDGE_ADD(_tag,_slot_intf,_def_slot) \
+ MCFG_DEVICE_ADD(_tag, O2_CART_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
+
void o2_cart(device_slot_interface &device);
#endif // MAME_BUS_ODYSSEY2_SLOT_H
diff --git a/src/devices/bus/odyssey2/voice.cpp b/src/devices/bus/odyssey2/voice.cpp
index 83c199f7431..073b4a83173 100644
--- a/src/devices/bus/odyssey2/voice.cpp
+++ b/src/devices/bus/odyssey2/voice.cpp
@@ -43,8 +43,7 @@ void o2_voice_device::device_start()
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void o2_voice_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(o2_voice_device::device_add_mconfig)
SPEAKER(config, "mono").front_center();
SP0256(config, m_speech, 3120000);
@@ -52,8 +51,8 @@ void o2_voice_device::device_add_mconfig(machine_config &config)
// The Voice uses a speaker with its own volume control so the relative volumes to use are subjective, these sound good
m_speech->add_route(ALL_OUTPUTS, "mono", 1.00);
- O2_CART_SLOT(config, m_subslot, o2_cart, nullptr);
-}
+ MCFG_O2_CARTRIDGE_ADD("subslot", o2_cart, nullptr)
+MACHINE_CONFIG_END
ROM_START( o2voice )
diff --git a/src/devices/bus/pc1512/mouse.h b/src/devices/bus/pc1512/mouse.h
index 9c71eb4d89d..db432598a98 100644
--- a/src/devices/bus/pc1512/mouse.h
+++ b/src/devices/bus/pc1512/mouse.h
@@ -32,6 +32,23 @@
#define PC1512_MOUSE_PORT_TAG "mous"
+#define MCFG_PC1512_MOUSE_PORT_ADD(_tag, _slot_intf, _def_slot) \
+ MCFG_DEVICE_ADD(_tag, PC1512_MOUSE_PORT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
+
+#define MCFG_PC1512_MOUSE_PORT_X_CB(_write) \
+ downcast<pc1512_mouse_port_device &>(*device).set_x_wr_callback(DEVCB_##_write);
+
+#define MCFG_PC1512_MOUSE_PORT_Y_CB(_write) \
+ downcast<pc1512_mouse_port_device &>(*device).set_y_wr_callback(DEVCB_##_write);
+
+#define MCFG_PC1512_MOUSE_PORT_M1_CB(_write) \
+ downcast<pc1512_mouse_port_device &>(*device).set_m1_wr_callback(DEVCB_##_write);
+
+#define MCFG_PC1512_MOUSE_PORT_M2_CB(_write) \
+ downcast<pc1512_mouse_port_device &>(*device).set_m2_wr_callback(DEVCB_##_write);
+
+
//**************************************************************************
// TYPE DEFINITIONS
@@ -61,23 +78,13 @@ class pc1512_mouse_port_device : public device_t, public device_slot_interface
{
public:
// construction/destruction
- template <typename T>
- pc1512_mouse_port_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt)
- : pc1512_mouse_port_device(mconfig, tag, owner, 0)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
-
- pc1512_mouse_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+ pc1512_mouse_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// static configuration helpers
- auto x_wr_callback() { return m_write_x.bind(); }
- auto y_wr_callback() { return m_write_y.bind(); }
- auto m1_wr_callback() { return m_write_m1.bind(); }
- auto m2_wr_callback() { return m_write_m2.bind(); }
+ template <class Object> devcb_base &set_x_wr_callback(Object &&cb) { return m_write_x.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_y_wr_callback(Object &&cb) { return m_write_y.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_m1_wr_callback(Object &&cb) { return m_write_m1.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_m2_wr_callback(Object &&cb) { return m_write_m2.set_callback(std::forward<Object>(cb)); }
// peripheral interface
void x_w(uint8_t data) { m_write_x(data); }
diff --git a/src/devices/bus/pc_kbd/ec1841.cpp b/src/devices/bus/pc_kbd/ec1841.cpp
index 2a36345e1fa..51822723c7e 100644
--- a/src/devices/bus/pc_kbd/ec1841.cpp
+++ b/src/devices/bus/pc_kbd/ec1841.cpp
@@ -34,17 +34,17 @@
#include "emu.h"
#include "ec1841.h"
+#define VERBOSE_DBG 0 /* general debug messages */
-//#define LOG_GENERAL (1U << 0) //defined in logmacro.h already
-#define LOG_KEYBOARD (1U << 1)
-#define LOG_DEBUG (1U << 2)
+#define DBG_LOG(N,M,A) \
+ do { \
+ if(VERBOSE_DBG>=N) \
+ { \
+ logerror("%11.6f at %s: ",machine().time().as_double(),machine().describe_context()); \
+ logerror A; \
+ } \
+ } while (0)
-//#define VERBOSE (LOG_DEBUG)
-//#define LOG_OUTPUT_FUNC printf
-#include "logmacro.h"
-
-#define LOGKBD(...) LOGMASKED(LOG_KEYBOARD, __VA_ARGS__)
-#define LOGDBG(...) LOGMASKED(LOG_DEBUG, __VA_ARGS__)
//**************************************************************************
@@ -54,6 +54,7 @@
#define I8048_TAG "i8048"
+
//**************************************************************************
// DEVICE DEFINITIONS
//**************************************************************************
@@ -326,7 +327,7 @@ void ec_1841_keyboard_device::device_reset()
WRITE_LINE_MEMBER( ec_1841_keyboard_device::clock_write )
{
- LOG("clock write %d\n", state);
+ DBG_LOG(1,0,( "%s: clock write %d\n", tag(), state));
}
@@ -336,7 +337,7 @@ WRITE_LINE_MEMBER( ec_1841_keyboard_device::clock_write )
WRITE_LINE_MEMBER( ec_1841_keyboard_device::data_write )
{
- LOG("data write %d\n", state);
+ DBG_LOG(1,0,( "%s: data write %d\n", tag(), state));
}
@@ -346,7 +347,7 @@ WRITE_LINE_MEMBER( ec_1841_keyboard_device::data_write )
WRITE8_MEMBER( ec_1841_keyboard_device::bus_w )
{
- LOGDBG("bus_w %02x\n", data);
+ DBG_LOG(2,0,( "%s: bus_w %02x\n", tag(), data));
m_bus = data;
}
@@ -378,7 +379,7 @@ READ8_MEMBER( ec_1841_keyboard_device::p1_r )
data |= clock_signal();
data |= data_signal() << 1;
- LOG("p1_r %02x\n", data);
+ DBG_LOG(1,0,( "%s: p1_r %02x\n", tag(), data));
return data;
}
@@ -402,7 +403,7 @@ WRITE8_MEMBER( ec_1841_keyboard_device::p1_w )
6 LED XXX
7 LED XXX
*/
- LOG("p1_w %02x\n", data);
+ DBG_LOG(1,0,( "%s: p1_w %02x\n", tag(), data));
m_p1 = data;
}
@@ -426,7 +427,7 @@ WRITE8_MEMBER( ec_1841_keyboard_device::p2_w )
6 XXX CLOCK out 2?
7 XXX
*/
- LOG("p2_w %02x\n", data);
+ DBG_LOG(1,0,( "%s: p2_w %02x\n", tag(), data));
m_pc_kbdc->data_write_from_kb(BIT(data, 2));
m_pc_kbdc->clock_write_from_kb(BIT(data, 1));
@@ -449,7 +450,7 @@ READ_LINE_MEMBER( ec_1841_keyboard_device::t1_r )
m_q = BIT(sense, (m_bus >> 4) & 7);
}
- LOG("bus %02X t1_r %d\n", m_bus, m_q);
+ DBG_LOG(1,0,( "%s: bus %02X t1_r %d\n", tag(), m_bus, m_q));
return m_q;
}
diff --git a/src/devices/bus/pc_kbd/iskr1030.cpp b/src/devices/bus/pc_kbd/iskr1030.cpp
index 3f91451d9ab..e55eabcfc20 100644
--- a/src/devices/bus/pc_kbd/iskr1030.cpp
+++ b/src/devices/bus/pc_kbd/iskr1030.cpp
@@ -9,17 +9,17 @@
#include "emu.h"
#include "iskr1030.h"
+#define VERBOSE_DBG 1 /* general debug messages */
-//#define LOG_GENERAL (1U << 0) //defined in logmacro.h already
-#define LOG_KEYBOARD (1U << 1)
-#define LOG_DEBUG (1U << 2)
+#define DBG_LOG(N,M,A) \
+ do { \
+ if(VERBOSE_DBG>=N) \
+ { \
+ logerror("%11.6f at %s: ",machine().time().as_double(),machine().describe_context()); \
+ logerror A; \
+ } \
+ } while (0)
-//#define VERBOSE (LOG_DEBUG)
-//#define LOG_OUTPUT_FUNC printf
-#include "logmacro.h"
-
-#define LOGKBD(...) LOGMASKED(LOG_KEYBOARD, __VA_ARGS__)
-#define LOGDBG(...) LOGMASKED(LOG_DEBUG, __VA_ARGS__)
//**************************************************************************
@@ -29,6 +29,7 @@
#define I8048_TAG "i8048"
+
//**************************************************************************
// DEVICE DEFINITIONS
//**************************************************************************
@@ -319,7 +320,7 @@ void iskr_1030_keyboard_device::device_reset()
WRITE_LINE_MEMBER( iskr_1030_keyboard_device::clock_write )
{
- LOG("clock write %d\n", state);
+ DBG_LOG(1,0,( "%s: clock write %d\n", tag(), state));
m_maincpu->set_input_line(MCS48_INPUT_IRQ, state ? CLEAR_LINE : ASSERT_LINE);
}
@@ -330,7 +331,7 @@ WRITE_LINE_MEMBER( iskr_1030_keyboard_device::clock_write )
WRITE_LINE_MEMBER( iskr_1030_keyboard_device::data_write )
{
- LOG("data write %d\n", state);
+ DBG_LOG(1,0,( "%s: data write %d\n", tag(), state));
}
@@ -344,12 +345,12 @@ READ_LINE_MEMBER( iskr_1030_keyboard_device::t1_r )
uint8_t bias = m_p1 & 15;
if (!BIT(m_p1, 7)) {
- LOGDBG("t1_r (l) %d\n", data);
+ DBG_LOG(2,0,( "%s: t1_r (l) %d\n", tag(), data));
return data;
}
if (bias) {
- LOGDBG("t1_r (b) %d\n", bias);
+ DBG_LOG(2,0,( "%s: t1_r (b) %d\n", tag(), bias));
return 1;
}
@@ -383,7 +384,7 @@ READ_LINE_MEMBER( iskr_1030_keyboard_device::t1_r )
}
data = BIT(data, m_bus&3);
- LOGDBG("t1_r (k r%d c%d) %d\n", m_bus&3, m_bus>>2, data);
+ DBG_LOG(2,0,( "%s: t1_r (k r%d c%d) %d\n", tag(), m_bus&3, m_bus>>2, data));
return data;
}
@@ -394,7 +395,7 @@ READ_LINE_MEMBER( iskr_1030_keyboard_device::t1_r )
WRITE8_MEMBER( iskr_1030_keyboard_device::ram_w )
{
- LOGDBG("ram_w[%02x] <- %02x\n", offset, data);
+ DBG_LOG(2,0,( "%s: ram_w[%02x] <- %02x\n", tag(), offset, data));
m_bus = offset;
m_ram[offset] = data;
@@ -407,7 +408,7 @@ WRITE8_MEMBER( iskr_1030_keyboard_device::ram_w )
READ8_MEMBER( iskr_1030_keyboard_device::ram_r )
{
- LOGDBG("ram_r[%02x] = %02x\n", offset, m_ram[offset]);
+ DBG_LOG(2,0,( "%s: ram_r[%02x] = %02x\n", tag(), offset, m_ram[offset]));
return m_ram[offset];
}
@@ -434,7 +435,7 @@ READ8_MEMBER( iskr_1030_keyboard_device::p1_r )
uint8_t data = 0;
- LOG("p1_r %02x\n", data);
+ DBG_LOG(1,0,( "%s: p1_r %02x\n", tag(), data));
return data;
}
@@ -458,7 +459,7 @@ WRITE8_MEMBER( iskr_1030_keyboard_device::p2_w )
6 LED NLK
7 LED CLK
*/
- LOG("p2_w %02x\n", data);
+ DBG_LOG(1,0,( "%s: p2_w %02x\n", tag(), data));
m_p2 = data;
}
@@ -485,7 +486,7 @@ WRITE8_MEMBER( iskr_1030_keyboard_device::p1_w )
m_p1 = data;
- LOG("p1_w %02x (c %d d %d bias %d)\n", data, BIT(data, 4), BIT(data, 5), data&15);
+ DBG_LOG(1,0,( "%s: p1_w %02x (c %d d %d bias %d)\n", tag(), data, BIT(data, 4), BIT(data, 5), data&15));
m_pc_kbdc->data_write_from_kb(BIT(data, 5));
m_pc_kbdc->clock_write_from_kb(BIT(data, 4));
diff --git a/src/devices/bus/pc_kbd/pc_kbdc.cpp b/src/devices/bus/pc_kbd/pc_kbdc.cpp
index 5e99056adbe..6d28227bca2 100644
--- a/src/devices/bus/pc_kbd/pc_kbdc.cpp
+++ b/src/devices/bus/pc_kbd/pc_kbdc.cpp
@@ -118,12 +118,9 @@ void pc_kbdc_device::update_clock_state()
// We first set our state to prevent possible endless loops
m_clock_state = new_clock_state;
- // Send state to keyboard interface logic on mainboard
- m_out_clock_cb(m_clock_state);
-
// Send state to keyboard
if (m_keyboard)
- m_keyboard->clock_write(m_clock_state);
+ m_keyboard->clock_write( m_clock_state );
}
}
@@ -137,9 +134,6 @@ void pc_kbdc_device::update_data_state()
// We first set our state to prevent possible endless loops
m_data_state = new_data_state;
- // Send state to keyboard interface logic on mainboard
- m_out_data_cb(m_data_state);
-
// Send state to keyboard
if (m_keyboard)
m_keyboard->data_write(m_data_state);
@@ -163,15 +157,23 @@ WRITE_LINE_MEMBER(pc_kbdc_device::data_write_from_mb)
WRITE_LINE_MEMBER(pc_kbdc_device::clock_write_from_kb)
{
- m_kb_clock_state = state;
- update_clock_state();
+ state = state ? 1 : 0;
+ if (state != m_kb_clock_state)
+ {
+ m_out_clock_cb(m_kb_clock_state = state);
+ update_clock_state();
+ }
}
WRITE_LINE_MEMBER(pc_kbdc_device::data_write_from_kb)
{
- m_kb_data_state = state;
- update_data_state();
+ state = state ? 1 : 0;
+ if (state != m_kb_data_state)
+ {
+ m_out_data_cb(m_kb_data_state = state);
+ update_data_state();
+ }
}
diff --git a/src/devices/bus/pc_kbd/pc_kbdc.h b/src/devices/bus/pc_kbd/pc_kbdc.h
index ff1168c314c..dac06daf60f 100644
--- a/src/devices/bus/pc_kbd/pc_kbdc.h
+++ b/src/devices/bus/pc_kbd/pc_kbdc.h
@@ -17,6 +17,21 @@ set the data line and then set the clock line.
//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_PC_KBDC_OUT_CLOCK_CB(_devcb) \
+ downcast<pc_kbdc_device &>(*device).set_out_clock_callback(DEVCB_##_devcb);
+
+#define MCFG_PC_KBDC_OUT_DATA_CB(_devcb) \
+ downcast<pc_kbdc_device &>(*device).set_out_data_callback(DEVCB_##_devcb);
+
+#define MCFG_PC_KBDC_SLOT_ADD(_kbdc_tag, _tag, _slot_intf, _def_slot) \
+ MCFG_DEVICE_ADD(_tag, PC_KBDC_SLOT, 0 ) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false) \
+ downcast<pc_kbdc_slot_device &>(*device).set_pc_kbdc_slot(subdevice(_kbdc_tag) );
+
+//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -61,6 +76,8 @@ public:
// construction/destruction
pc_kbdc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ template <class Object> devcb_base &set_out_clock_callback(Object &&cb) { return m_out_clock_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_out_data_callback(Object &&cb) { return m_out_data_cb.set_callback(std::forward<Object>(cb)); }
auto out_clock_cb() { return m_out_clock_cb.bind(); }
auto out_data_cb() { return m_out_data_cb.bind(); }
diff --git a/src/devices/bus/pce/pce_slot.h b/src/devices/bus/pce/pce_slot.h
index add982a534b..658384cb82b 100644
--- a/src/devices/bus/pce/pce_slot.h
+++ b/src/devices/bus/pce/pce_slot.h
@@ -65,17 +65,6 @@ class pce_cart_slot_device : public device_t,
{
public:
// construction/destruction
- template <typename T>
- pce_cart_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt, const char *interface)
- : pce_cart_slot_device(mconfig, tag, owner, (uint32_t)0)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- set_intf(interface);
- }
-
pce_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~pce_cart_slot_device();
@@ -126,4 +115,15 @@ DECLARE_DEVICE_TYPE(PCE_CART_SLOT, pce_cart_slot_device)
#define PCESLOT_ROM_REGION_TAG ":cart:rom"
+#define MCFG_PCE_CARTRIDGE_ADD(_tag,_slot_intf,_def_slot) \
+ MCFG_DEVICE_ADD(_tag, PCE_CART_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false) \
+ static_cast<pce_cart_slot_device *>(device)->set_intf("pce_cart");
+
+#define MCFG_TG16_CARTRIDGE_ADD(_tag,_slot_intf,_def_slot) \
+ MCFG_DEVICE_ADD(_tag, PCE_CART_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false) \
+ static_cast<pce_cart_slot_device *>(device)->set_intf("tg16_cart");
+
+
#endif // MAME_BUS_PCE_PCE_SLOT_H
diff --git a/src/devices/bus/pet/2joysnd.cpp b/src/devices/bus/pet/2joysnd.cpp
index 7bc3915a283..b89ca59f7f8 100644
--- a/src/devices/bus/pet/2joysnd.cpp
+++ b/src/devices/bus/pet/2joysnd.cpp
@@ -93,13 +93,12 @@ ioport_constructor pet_userport_joystick_and_sound_device::device_input_ports()
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void pet_userport_joystick_and_sound_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(pet_userport_joystick_and_sound_device::device_add_mconfig)
SPEAKER(config, "speaker").front_center();
- DAC_1BIT(config, m_dac, 0).add_route(ALL_OUTPUTS, "speaker", 0.99);
- voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref"));
- vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
-}
+ MCFG_DEVICE_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.99)
+ MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+MACHINE_CONFIG_END
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/pet/64k.cpp b/src/devices/bus/pet/64k.cpp
index 85f91114386..34249220f3e 100644
--- a/src/devices/bus/pet/64k.cpp
+++ b/src/devices/bus/pet/64k.cpp
@@ -113,7 +113,7 @@ void pet_64k_expansion_device::device_reset()
// pet_norom_r - NO ROM read
//-------------------------------------------------
-int pet_64k_expansion_device::pet_norom_r(offs_t offset, int sel)
+int pet_64k_expansion_device::pet_norom_r(address_space &space, offs_t offset, int sel)
{
return !BIT(m_ctrl, 7);
}
@@ -123,7 +123,7 @@ int pet_64k_expansion_device::pet_norom_r(offs_t offset, int sel)
// pet_bd_r - buffered data read
//-------------------------------------------------
-uint8_t pet_64k_expansion_device::pet_bd_r(offs_t offset, uint8_t data, int &sel)
+uint8_t pet_64k_expansion_device::pet_bd_r(address_space &space, offs_t offset, uint8_t data, int &sel)
{
if (BIT(m_ctrl, 7))
{
@@ -164,7 +164,7 @@ uint8_t pet_64k_expansion_device::pet_bd_r(offs_t offset, uint8_t data, int &sel
// pet_bd_w - buffered data write
//-------------------------------------------------
-void pet_64k_expansion_device::pet_bd_w(offs_t offset, uint8_t data, int &sel)
+void pet_64k_expansion_device::pet_bd_w(address_space &space, offs_t offset, uint8_t data, int &sel)
{
if (BIT(m_ctrl, 7))
{
diff --git a/src/devices/bus/pet/64k.h b/src/devices/bus/pet/64k.h
index 7cf03cd621b..82f50cab77a 100644
--- a/src/devices/bus/pet/64k.h
+++ b/src/devices/bus/pet/64k.h
@@ -33,9 +33,9 @@ protected:
virtual void device_reset() override;
// device_pet_expansion_card_interface overrides
- virtual int pet_norom_r(offs_t offset, int sel) override;
- virtual uint8_t pet_bd_r(offs_t offset, uint8_t data, int &sel) override;
- virtual void pet_bd_w(offs_t offset, uint8_t data, int &sel) override;
+ virtual int pet_norom_r(address_space &space, offs_t offset, int sel) override;
+ virtual uint8_t pet_bd_r(address_space &space, offs_t offset, uint8_t data, int &sel) override;
+ virtual void pet_bd_w(address_space &space, offs_t offset, uint8_t data, int &sel) override;
private:
inline uint8_t read_ram(offs_t offset);
diff --git a/src/devices/bus/pet/c2n.cpp b/src/devices/bus/pet/c2n.cpp
index e7ac6e27c28..1212f46c3ca 100644
--- a/src/devices/bus/pet/c2n.cpp
+++ b/src/devices/bus/pet/c2n.cpp
@@ -24,13 +24,12 @@ DEFINE_DEVICE_TYPE(C1531, c1531_device, "c1531", "Commodore 1531 Datassette")
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void c2n_device::device_add_mconfig(machine_config &config)
-{
- CASSETTE(config, m_cassette);
- m_cassette->set_formats(cbm_cassette_formats);
- m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_MUTED);
- m_cassette->set_interface("cbm_cass");
-}
+MACHINE_CONFIG_START(c2n_device::device_add_mconfig)
+ MCFG_CASSETTE_ADD("cassette" )
+ MCFG_CASSETTE_FORMATS(cbm_cassette_formats)
+ MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_MUTED)
+ MCFG_CASSETTE_INTERFACE("cbm_cass")
+MACHINE_CONFIG_END
diff --git a/src/devices/bus/pet/cass.h b/src/devices/bus/pet/cass.h
index babfdf2058d..d5a43fee19c 100644
--- a/src/devices/bus/pet/cass.h
+++ b/src/devices/bus/pet/cass.h
@@ -31,6 +31,18 @@
#define PET_DATASSETTE_PORT2_TAG "tape2"
+
+//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_PET_DATASSETTE_PORT_ADD(_tag, _slot_intf, _def_slot, _devcb) \
+ MCFG_DEVICE_ADD(_tag, PET_DATASSETTE_PORT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false) \
+ downcast<pet_datassette_port_device &>(*device).set_read_handler(DEVCB_##_devcb);
+
+
+
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -56,6 +68,7 @@ public:
virtual ~pet_datassette_port_device();
// static configuration helpers
+ template <class Object> devcb_base &set_read_handler(Object &&cb) { return m_read_handler.set_callback(std::forward<Object>(cb)); }
auto read_handler() { return m_read_handler.bind(); }
// computer interface
diff --git a/src/devices/bus/pet/cb2snd.cpp b/src/devices/bus/pet/cb2snd.cpp
index fffbb70923e..a9f5ccb480a 100644
--- a/src/devices/bus/pet/cb2snd.cpp
+++ b/src/devices/bus/pet/cb2snd.cpp
@@ -26,13 +26,12 @@ DEFINE_DEVICE_TYPE(PET_USERPORT_CB2_SOUND_DEVICE, pet_userport_cb2_sound_device,
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void pet_userport_cb2_sound_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(pet_userport_cb2_sound_device::device_add_mconfig)
SPEAKER(config, "speaker").front_center();
- DAC_1BIT(config, m_dac, 0).add_route(ALL_OUTPUTS, "speaker", 0.99);
- voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref"));
- vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
-}
+ MCFG_DEVICE_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.99)
+ MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+MACHINE_CONFIG_END
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/pet/exp.cpp b/src/devices/bus/pet/exp.cpp
index 07aa7155b93..ab7cc9e04dd 100644
--- a/src/devices/bus/pet/exp.cpp
+++ b/src/devices/bus/pet/exp.cpp
@@ -115,9 +115,9 @@ void pet_expansion_slot_device::device_reset()
// norom_r - NO ROM read
//-------------------------------------------------
-int pet_expansion_slot_device::norom_r(offs_t offset, int sel)
+int pet_expansion_slot_device::norom_r(address_space &space, offs_t offset, int sel)
{
- return m_card ? m_card->pet_norom_r(offset, sel) : 1;
+ return m_card ? m_card->pet_norom_r(space, offset, sel) : 1;
}
@@ -125,11 +125,11 @@ int pet_expansion_slot_device::norom_r(offs_t offset, int sel)
// read - buffered data read
//-------------------------------------------------
-uint8_t pet_expansion_slot_device::read(offs_t offset, uint8_t data, int &sel)
+uint8_t pet_expansion_slot_device::read(address_space &space, offs_t offset, uint8_t data, int &sel)
{
if (m_card != nullptr)
{
- data = m_card->pet_bd_r(offset, data, sel);
+ data = m_card->pet_bd_r(space, offset, data, sel);
}
return data;
@@ -140,11 +140,11 @@ uint8_t pet_expansion_slot_device::read(offs_t offset, uint8_t data, int &sel)
// write - buffered data write
//-------------------------------------------------
-void pet_expansion_slot_device::write(offs_t offset, uint8_t data, int &sel)
+void pet_expansion_slot_device::write(address_space &space, offs_t offset, uint8_t data, int &sel)
{
if (m_card != nullptr)
{
- m_card->pet_bd_w(offset, data, sel);
+ m_card->pet_bd_w(space, offset, data, sel);
}
}
diff --git a/src/devices/bus/pet/exp.h b/src/devices/bus/pet/exp.h
index 39309b65f4c..d44dcea6d19 100644
--- a/src/devices/bus/pet/exp.h
+++ b/src/devices/bus/pet/exp.h
@@ -23,6 +23,21 @@
#define PET_EXPANSION_SLOT_TAG "exp"
+
+//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_PET_EXPANSION_SLOT_ADD(_tag, _clock, _slot_intf, _def_slot) \
+ MCFG_DEVICE_ADD(_tag, PET_EXPANSION_SLOT, _clock) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
+
+
+#define MCFG_PET_EXPANSION_SLOT_DMA_CALLBACKS(_read, _write) \
+ downcast<pet_expansion_slot_device *>(device)->set_callbacks(DEVCB_##_read, DEVCB_##_write);
+
+
+
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -48,13 +63,18 @@ public:
pet_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~pet_expansion_slot_device();
+ template <class Read, class Write> void set_callbacks(Read &&rd, Write &&wr) {
+ m_read_dma.set_callback(std::forward<Read>(rd));
+ m_write_dma.set_callback(std::forward<Write>(wr));
+ }
+
auto dma_read_callback() { return m_read_dma.bind(); }
auto dma_write_callback() { return m_write_dma.bind(); }
// computer interface
- int norom_r(offs_t offset, int sel);
- uint8_t read(offs_t offset, uint8_t data, int &sel);
- void write(offs_t offset, uint8_t data, int &sel);
+ int norom_r(address_space &space, offs_t offset, int sel);
+ uint8_t read(address_space &space, offs_t offset, uint8_t data, int &sel);
+ void write(address_space &space, offs_t offset, uint8_t data, int &sel);
DECLARE_READ_LINE_MEMBER( diag_r );
DECLARE_WRITE_LINE_MEMBER( irq_w );
@@ -111,9 +131,9 @@ protected:
device_pet_expansion_card_interface(const machine_config &mconfig, device_t &device);
// runtime
- virtual int pet_norom_r(offs_t offset, int sel) { return 1; }
- virtual uint8_t pet_bd_r(offs_t offset, uint8_t data, int &sel) { return data; };
- virtual void pet_bd_w(offs_t offset, uint8_t data, int &sel) { };
+ virtual int pet_norom_r(address_space &space, offs_t offset, int sel) { return 1; }
+ virtual uint8_t pet_bd_r(address_space &space, offs_t offset, uint8_t data, int &sel) { return data; };
+ virtual void pet_bd_w(address_space &space, offs_t offset, uint8_t data, int &sel) { };
virtual int pet_diag_r() { return 1; }
virtual void pet_irq_w(int state) { }
diff --git a/src/devices/bus/pet/hsg.cpp b/src/devices/bus/pet/hsg.cpp
index 7c6e7c657d6..5288b632174 100644
--- a/src/devices/bus/pet/hsg.cpp
+++ b/src/devices/bus/pet/hsg.cpp
@@ -91,39 +91,37 @@ void cbm8000_hsg_b_device::hsg_b_map(address_map &map)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void cbm8000_hsg_a_device::device_add_mconfig(machine_config &config)
-{
- screen_device &screen(SCREEN(config, SCREEN_TAG, SCREEN_TYPE_RASTER, rgb_t::green()));
- screen.set_screen_update(EF9365_TAG, FUNC(ef9365_device::screen_update));
- screen.set_size(512, 512);
- screen.set_visarea(0, 512-1, 0, 512-1);
- screen.set_refresh_hz(25);
+MACHINE_CONFIG_START(cbm8000_hsg_a_device::device_add_mconfig)
+ MCFG_SCREEN_ADD_MONOCHROME(SCREEN_TAG, RASTER, rgb_t::green())
+ MCFG_SCREEN_UPDATE_DEVICE(EF9365_TAG, ef9365_device, screen_update)
+ MCFG_SCREEN_SIZE(512, 512)
+ MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 512-1)
+ MCFG_SCREEN_REFRESH_RATE(25)
PALETTE(config, "palette", palette_device::MONOCHROME);
- EF9365(config, m_gdc, 1750000);
- m_gdc->set_screen(SCREEN_TAG);
- m_gdc->set_addrmap(0, &cbm8000_hsg_a_device::hsg_a_map);
- m_gdc->set_palette_tag("palette");
- m_gdc->set_nb_bitplanes(1);
- m_gdc->set_display_mode(ef9365_device::DISPLAY_MODE_512x512);
-}
-
-void cbm8000_hsg_b_device::device_add_mconfig(machine_config &config)
-{
- screen_device &screen(SCREEN(config, SCREEN_TAG, SCREEN_TYPE_RASTER, rgb_t::green()));
- screen.set_screen_update(EF9366_TAG, FUNC(ef9365_device::screen_update));
- screen.set_size(512, 256);
- screen.set_visarea(0, 512-1, 0, 256-1);
- screen.set_refresh_hz(50);
+ MCFG_DEVICE_ADD(EF9365_TAG, EF9365, 1750000)
+ MCFG_VIDEO_SET_SCREEN(SCREEN_TAG)
+ MCFG_DEVICE_ADDRESS_MAP(0, hsg_a_map)
+ MCFG_EF936X_PALETTE("palette")
+ MCFG_EF936X_BITPLANES_CNT(1);
+ MCFG_EF936X_DISPLAYMODE(DISPLAY_MODE_512x512);
+MACHINE_CONFIG_END
+
+MACHINE_CONFIG_START(cbm8000_hsg_b_device::device_add_mconfig)
+ MCFG_SCREEN_ADD_MONOCHROME(SCREEN_TAG, RASTER, rgb_t::green())
+ MCFG_SCREEN_UPDATE_DEVICE(EF9366_TAG, ef9365_device, screen_update)
+ MCFG_SCREEN_SIZE(512, 256)
+ MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 256-1)
+ MCFG_SCREEN_REFRESH_RATE(50)
PALETTE(config, "palette", palette_device::MONOCHROME);
- EF9365(config, m_gdc, 1750000); //EF9366
- m_gdc->set_screen(SCREEN_TAG);
- m_gdc->set_addrmap(0, &cbm8000_hsg_b_device::hsg_b_map);
- m_gdc->set_palette_tag("palette");
- m_gdc->set_nb_bitplanes(1);
- m_gdc->set_display_mode(ef9365_device::DISPLAY_MODE_512x256);
-}
+ MCFG_DEVICE_ADD(EF9366_TAG, EF9365, 1750000)
+ MCFG_VIDEO_SET_SCREEN(SCREEN_TAG)
+ MCFG_DEVICE_ADDRESS_MAP(0, hsg_b_map)
+ MCFG_EF936X_PALETTE("palette")
+ MCFG_EF936X_BITPLANES_CNT(1);
+ MCFG_EF936X_DISPLAYMODE(DISPLAY_MODE_512x256);
+MACHINE_CONFIG_END
@@ -178,7 +176,7 @@ void cbm8000_hsg_device::device_reset()
// pet_norom_r - NO ROM read
//-------------------------------------------------
-int cbm8000_hsg_device::pet_norom_r(offs_t offset, int sel)
+int cbm8000_hsg_device::pet_norom_r(address_space &space, offs_t offset, int sel)
{
return !(offset >= 0x9000 && offset < 0xaf00);
}
@@ -188,7 +186,7 @@ int cbm8000_hsg_device::pet_norom_r(offs_t offset, int sel)
// pet_bd_r - buffered data read
//-------------------------------------------------
-uint8_t cbm8000_hsg_device::pet_bd_r(offs_t offset, uint8_t data, int &sel)
+uint8_t cbm8000_hsg_device::pet_bd_r(address_space &space, offs_t offset, uint8_t data, int &sel)
{
switch (sel)
{
@@ -224,7 +222,7 @@ uint8_t cbm8000_hsg_device::pet_bd_r(offs_t offset, uint8_t data, int &sel)
}
else if (offset >= 0xaf70 && offset < 0xaf80)
{
- data = m_gdc->data_r(offset & 0x0f);
+ data = m_gdc->data_r(space, offset & 0x0f);
}
break;
}
@@ -237,7 +235,7 @@ uint8_t cbm8000_hsg_device::pet_bd_r(offs_t offset, uint8_t data, int &sel)
// pet_bd_w - buffered data write
//-------------------------------------------------
-void cbm8000_hsg_device::pet_bd_w(offs_t offset, uint8_t data, int &sel)
+void cbm8000_hsg_device::pet_bd_w(address_space &space, offs_t offset, uint8_t data, int &sel)
{
if (offset == 0xaf00)
{
@@ -258,6 +256,6 @@ void cbm8000_hsg_device::pet_bd_w(offs_t offset, uint8_t data, int &sel)
}
else if (offset >= 0xaf70 && offset < 0xaf80)
{
- m_gdc->data_w(offset & 0x0f, data);
+ m_gdc->data_w(space, offset & 0x0f, data);
}
}
diff --git a/src/devices/bus/pet/hsg.h b/src/devices/bus/pet/hsg.h
index e86cb101ac3..44abebbf9ef 100644
--- a/src/devices/bus/pet/hsg.h
+++ b/src/devices/bus/pet/hsg.h
@@ -36,13 +36,12 @@ protected:
virtual const tiny_rom_entry *device_rom_region() const override;
// device_pet_expansion_card_interface overrides
- virtual int pet_norom_r(offs_t offset, int sel) override;
- virtual uint8_t pet_bd_r(offs_t offset, uint8_t data, int &sel) override;
- virtual void pet_bd_w(offs_t offset, uint8_t data, int &sel) override;
-
- required_device<ef9365_device> m_gdc;
+ virtual int pet_norom_r(address_space &space, offs_t offset, int sel) override;
+ virtual uint8_t pet_bd_r(address_space &space, offs_t offset, uint8_t data, int &sel) override;
+ virtual void pet_bd_w(address_space &space, offs_t offset, uint8_t data, int &sel) override;
private:
+ required_device<ef9365_device> m_gdc;
required_memory_region m_9000;
required_memory_region m_a000;
};
diff --git a/src/devices/bus/pet/superpet.cpp b/src/devices/bus/pet/superpet.cpp
index ab518bec49f..1aa3ed05014 100644
--- a/src/devices/bus/pet/superpet.cpp
+++ b/src/devices/bus/pet/superpet.cpp
@@ -225,7 +225,7 @@ void superpet_device::device_reset()
// pet_norom_r - NO ROM read
//-------------------------------------------------
-int superpet_device::pet_norom_r(offs_t offset, int sel)
+int superpet_device::pet_norom_r(address_space &space, offs_t offset, int sel)
{
return BIT(m_system, 0);
}
@@ -235,9 +235,9 @@ int superpet_device::pet_norom_r(offs_t offset, int sel)
// pet_bd_r - buffered data read
//-------------------------------------------------
-uint8_t superpet_device::pet_bd_r(offs_t offset, uint8_t data, int &sel)
+uint8_t superpet_device::pet_bd_r(address_space &space, offs_t offset, uint8_t data, int &sel)
{
- int norom = pet_norom_r(offset, sel);
+ int norom = pet_norom_r(space, offset, sel);
switch (sel)
{
@@ -277,14 +277,14 @@ uint8_t superpet_device::pet_bd_r(offs_t offset, uint8_t data, int &sel)
case 0xefe1:
case 0xefe2:
case 0xefe3:
- data = m_dongle->read(offset & 0x03);
+ data = m_dongle->read(space, offset & 0x03);
break;
case 0xeff0:
case 0xeff1:
case 0xeff2:
case 0xeff3:
- data = m_acia->read(offset & 0x03);
+ data = m_acia->read(space, offset & 0x03);
break;
}
@@ -296,7 +296,7 @@ uint8_t superpet_device::pet_bd_r(offs_t offset, uint8_t data, int &sel)
// pet_bd_w - buffered data write
//-------------------------------------------------
-void superpet_device::pet_bd_w(offs_t offset, uint8_t data, int &sel)
+void superpet_device::pet_bd_w(address_space &space, offs_t offset, uint8_t data, int &sel)
{
switch (sel)
{
@@ -314,7 +314,7 @@ void superpet_device::pet_bd_w(offs_t offset, uint8_t data, int &sel)
case 0xefe1:
case 0xefe2:
case 0xefe3:
- m_dongle->write(offset & 0x03, data);
+ m_dongle->write(space, offset & 0x03, data);
printf("6702 %u %02x\n", offset & 0x03, data);
break;
@@ -322,7 +322,7 @@ void superpet_device::pet_bd_w(offs_t offset, uint8_t data, int &sel)
case 0xeff1:
case 0xeff2:
case 0xeff3:
- m_acia->write(offset & 0x03, data);
+ m_acia->write(space, offset & 0x03, data);
break;
case 0xeff8:
diff --git a/src/devices/bus/pet/superpet.h b/src/devices/bus/pet/superpet.h
index 6a6dfde0889..35c74af8ab0 100644
--- a/src/devices/bus/pet/superpet.h
+++ b/src/devices/bus/pet/superpet.h
@@ -41,9 +41,9 @@ protected:
virtual ioport_constructor device_input_ports() const override;
// device_pet_expansion_card_interface overrides
- virtual int pet_norom_r(offs_t offset, int sel) override;
- virtual uint8_t pet_bd_r(offs_t offset, uint8_t data, int &sel) override;
- virtual void pet_bd_w(offs_t offset, uint8_t data, int &sel) override;
+ virtual int pet_norom_r(address_space &space, offs_t offset, int sel) override;
+ virtual uint8_t pet_bd_r(address_space &space, offs_t offset, uint8_t data, int &sel) override;
+ virtual void pet_bd_w(address_space &space, offs_t offset, uint8_t data, int &sel) override;
virtual int pet_diag_r() override;
virtual void pet_irq_w(int state) override;
diff --git a/src/devices/bus/plus4/c1551.cpp b/src/devices/bus/plus4/c1551.cpp
index 333dea55fb0..63cda307f2b 100644
--- a/src/devices/bus/plus4/c1551.cpp
+++ b/src/devices/bus/plus4/c1551.cpp
@@ -57,7 +57,7 @@ const tiny_rom_entry *c1551_device::device_rom_region() const
// M6510_INTERFACE( cpu_intf )
//-------------------------------------------------
-uint8_t c1551_device::port_r()
+READ8_MEMBER( c1551_device::port_r )
{
/*
@@ -85,7 +85,7 @@ uint8_t c1551_device::port_r()
return data;
}
-void c1551_device::port_w(uint8_t data)
+WRITE8_MEMBER( c1551_device::port_w )
{
/*
@@ -120,7 +120,7 @@ void c1551_device::port_w(uint8_t data)
// tpi6525_interface tpi0_intf
//-------------------------------------------------
-uint8_t c1551_device::tcbm_data_r()
+READ8_MEMBER( c1551_device::tcbm_data_r )
{
/*
@@ -140,7 +140,7 @@ uint8_t c1551_device::tcbm_data_r()
return m_tcbm_data;
}
-void c1551_device::tcbm_data_w(uint8_t data)
+WRITE8_MEMBER( c1551_device::tcbm_data_w )
{
/*
@@ -160,9 +160,9 @@ void c1551_device::tcbm_data_w(uint8_t data)
m_tcbm_data = data;
}
-uint8_t c1551_device::tpi0_r(offs_t offset)
+READ8_MEMBER( c1551_device::tpi0_r )
{
- uint8_t data = m_tpi0->read(offset);
+ uint8_t data = m_tpi0->read(space, offset);
m_ga->ted_w(0);
m_ga->ted_w(1);
@@ -170,15 +170,15 @@ uint8_t c1551_device::tpi0_r(offs_t offset)
return data;
}
-void c1551_device::tpi0_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER( c1551_device::tpi0_w )
{
- m_tpi0->write(offset, data);
+ m_tpi0->write(space, offset, data);
m_ga->ted_w(0);
m_ga->ted_w(1);
}
-uint8_t c1551_device::tpi0_pc_r()
+READ8_MEMBER( c1551_device::tpi0_pc_r )
{
/*
@@ -209,7 +209,7 @@ uint8_t c1551_device::tpi0_pc_r()
return data;
}
-void c1551_device::tpi0_pc_w(uint8_t data)
+WRITE8_MEMBER( c1551_device::tpi0_pc_w )
{
/*
@@ -243,7 +243,7 @@ void c1551_device::tpi0_pc_w(uint8_t data)
// tpi6525_interface tpi1_intf
//-------------------------------------------------
-uint8_t c1551_device::tpi1_pb_r()
+READ8_MEMBER( c1551_device::tpi1_pb_r )
{
/*
@@ -263,7 +263,7 @@ uint8_t c1551_device::tpi1_pb_r()
return m_status & 0x03;
}
-uint8_t c1551_device::tpi1_pc_r()
+READ8_MEMBER( c1551_device::tpi1_pc_r )
{
/*
@@ -288,7 +288,7 @@ uint8_t c1551_device::tpi1_pc_r()
return data;
}
-void c1551_device::tpi1_pc_w(uint8_t data)
+WRITE8_MEMBER( c1551_device::tpi1_pc_w )
{
/*
@@ -524,13 +524,13 @@ bool c1551_device::tpi1_selected(offs_t offset)
// plus4_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c1551_device::plus4_cd_r(offs_t offset, uint8_t data, int ba, int cs0, int c1l, int c2l, int cs1, int c1h, int c2h)
+uint8_t c1551_device::plus4_cd_r(address_space &space, offs_t offset, uint8_t data, int ba, int cs0, int c1l, int c2l, int cs1, int c1h, int c2h)
{
- data = m_exp->cd_r(offset, data, ba, cs0, c1l, c2l, cs1, c1h, c2h);
+ data = m_exp->cd_r(space, offset, data, ba, cs0, c1l, c2l, cs1, c1h, c2h);
if (tpi1_selected(offset))
{
- data = m_tpi1->read(offset & 0x07);
+ data = m_tpi1->read(space, offset & 0x07);
}
return data;
@@ -541,12 +541,12 @@ uint8_t c1551_device::plus4_cd_r(offs_t offset, uint8_t data, int ba, int cs0, i
// plus4_cd_w - cartridge data write
//-------------------------------------------------
-void c1551_device::plus4_cd_w(offs_t offset, uint8_t data, int ba, int cs0, int c1l, int c2l, int cs1, int c1h, int c2h)
+void c1551_device::plus4_cd_w(address_space &space, offs_t offset, uint8_t data, int ba, int cs0, int c1l, int c2l, int cs1, int c1h, int c2h)
{
if (tpi1_selected(offset))
{
- m_tpi1->write(offset & 0x07, data);
+ m_tpi1->write(space, offset & 0x07, data);
}
- m_exp->cd_w(offset, data, ba, cs0, c1l, c2l, cs1, c1h, c2h);
+ m_exp->cd_w(space, offset, data, ba, cs0, c1l, c2l, cs1, c1h, c2h);
}
diff --git a/src/devices/bus/plus4/c1551.h b/src/devices/bus/plus4/c1551.h
index 3fce289461c..b108fc94ef1 100644
--- a/src/devices/bus/plus4/c1551.h
+++ b/src/devices/bus/plus4/c1551.h
@@ -44,24 +44,24 @@ protected:
virtual ioport_constructor device_input_ports() const override;
// device_plus4_expansion_card_interface overrides
- virtual uint8_t plus4_cd_r(offs_t offset, uint8_t data, int ba, int cs0, int c1l, int c2l, int cs1, int c1h, int c2h) override;
- virtual void plus4_cd_w(offs_t offset, uint8_t data, int ba, int cs0, int c1l, int c2l, int cs1, int c1h, int c2h) override;
+ virtual uint8_t plus4_cd_r(address_space &space, offs_t offset, uint8_t data, int ba, int cs0, int c1l, int c2l, int cs1, int c1h, int c2h) override;
+ virtual void plus4_cd_w(address_space &space, offs_t offset, uint8_t data, int ba, int cs0, int c1l, int c2l, int cs1, int c1h, int c2h) override;
private:
- uint8_t port_r();
- void port_w(uint8_t data);
+ DECLARE_READ8_MEMBER( port_r );
+ DECLARE_WRITE8_MEMBER( port_w );
- uint8_t tcbm_data_r();
- void tcbm_data_w(uint8_t data);
- uint8_t tpi0_pc_r();
- void tpi0_pc_w(uint8_t data);
+ DECLARE_READ8_MEMBER( tcbm_data_r );
+ DECLARE_WRITE8_MEMBER( tcbm_data_w );
+ DECLARE_READ8_MEMBER( tpi0_pc_r );
+ DECLARE_WRITE8_MEMBER( tpi0_pc_w );
- uint8_t tpi1_pb_r();
- uint8_t tpi1_pc_r();
- void tpi1_pc_w(uint8_t data);
+ DECLARE_READ8_MEMBER( tpi1_pb_r );
+ DECLARE_READ8_MEMBER( tpi1_pc_r );
+ DECLARE_WRITE8_MEMBER( tpi1_pc_w );
- uint8_t tpi0_r(offs_t offset);
- void tpi0_w(offs_t offset, uint8_t data);
+ DECLARE_READ8_MEMBER( tpi0_r );
+ DECLARE_WRITE8_MEMBER( tpi0_w );
void c1551_mem(address_map &map);
diff --git a/src/devices/bus/plus4/exp.cpp b/src/devices/bus/plus4/exp.cpp
index 83e8ad4277a..d9ee8642eba 100644
--- a/src/devices/bus/plus4/exp.cpp
+++ b/src/devices/bus/plus4/exp.cpp
@@ -167,11 +167,11 @@ std::string plus4_expansion_slot_device::get_default_card_software(get_default_c
// cd_r - cartridge data read
//-------------------------------------------------
-uint8_t plus4_expansion_slot_device::cd_r(offs_t offset, uint8_t data, int ba, int cs0, int c1l, int c2l, int cs1, int c1h, int c2h)
+uint8_t plus4_expansion_slot_device::cd_r(address_space &space, offs_t offset, uint8_t data, int ba, int cs0, int c1l, int c2l, int cs1, int c1h, int c2h)
{
if (m_card != nullptr)
{
- data = m_card->plus4_cd_r(offset, data, ba, cs0, c1l, c1h, cs1, c2l, c2h);
+ data = m_card->plus4_cd_r(space, offset, data, ba, cs0, c1l, c1h, cs1, c2l, c2h);
}
return data;
@@ -182,11 +182,11 @@ uint8_t plus4_expansion_slot_device::cd_r(offs_t offset, uint8_t data, int ba, i
// cd_w - cartridge data write
//-------------------------------------------------
-void plus4_expansion_slot_device::cd_w(offs_t offset, uint8_t data, int ba, int cs0, int c1l, int c2l, int cs1, int c1h, int c2h)
+void plus4_expansion_slot_device::cd_w(address_space &space, offs_t offset, uint8_t data, int ba, int cs0, int c1l, int c2l, int cs1, int c1h, int c2h)
{
if (m_card != nullptr)
{
- m_card->plus4_cd_w(offset, data, ba, cs0, c1l, c1h, cs1, c2l, c2h);
+ m_card->plus4_cd_w(space, offset, data, ba, cs0, c1l, c1h, cs1, c2l, c2h);
}
}
diff --git a/src/devices/bus/plus4/exp.h b/src/devices/bus/plus4/exp.h
index 9f625442d99..e61755a497e 100644
--- a/src/devices/bus/plus4/exp.h
+++ b/src/devices/bus/plus4/exp.h
@@ -49,6 +49,37 @@
#define PLUS4_EXPANSION_SLOT_TAG "exp"
+
+//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_PLUS4_EXPANSION_SLOT_ADD(_tag, _clock, _slot_intf, _def_slot) \
+ MCFG_DEVICE_ADD(_tag, PLUS4_EXPANSION_SLOT, _clock) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
+
+#define MCFG_PLUS4_PASSTHRU_EXPANSION_SLOT_ADD() \
+ MCFG_PLUS4_EXPANSION_SLOT_ADD(PLUS4_EXPANSION_SLOT_TAG, 0, plus4_expansion_cards, nullptr) \
+ MCFG_PLUS4_EXPANSION_SLOT_IRQ_CALLBACK(WRITELINE(DEVICE_SELF_OWNER, plus4_expansion_slot_device, irq_w)) \
+ MCFG_PLUS4_EXPANSION_SLOT_CD_INPUT_CALLBACK(READ8(DEVICE_SELF_OWNER, plus4_expansion_slot_device, dma_cd_r)) \
+ MCFG_PLUS4_EXPANSION_SLOT_CD_OUTPUT_CALLBACK(WRITE8(DEVICE_SELF_OWNER, plus4_expansion_slot_device, dma_cd_w)) \
+ MCFG_PLUS4_EXPANSION_SLOT_AEC_CALLBACK(WRITELINE(DEVICE_SELF_OWNER, plus4_expansion_slot_device, aec_w))
+
+
+#define MCFG_PLUS4_EXPANSION_SLOT_IRQ_CALLBACK(_write) \
+ downcast<plus4_expansion_slot_device &>(*device).set_irq_wr_callback(DEVCB_##_write);
+
+#define MCFG_PLUS4_EXPANSION_SLOT_CD_INPUT_CALLBACK(_read) \
+ downcast<plus4_expansion_slot_device &>(*device).set_cd_rd_callback(DEVCB_##_read);
+
+#define MCFG_PLUS4_EXPANSION_SLOT_CD_OUTPUT_CALLBACK(_write) \
+ downcast<plus4_expansion_slot_device &>(*device).set_cd_wr_callback(DEVCB_##_write);
+
+#define MCFG_PLUS4_EXPANSION_SLOT_AEC_CALLBACK(_write) \
+ downcast<plus4_expansion_slot_device &>(*device).set_aec_wr_callback(DEVCB_##_write);
+
+
+
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -80,12 +111,12 @@ public:
auto aec_wr_callback() { return m_write_aec.bind(); }
// computer interface
- uint8_t cd_r(offs_t offset, uint8_t data, int ba, int cs0, int c1l, int c2l, int cs1, int c1h, int c2h);
- void cd_w(offs_t offset, uint8_t data, int ba, int cs0, int c1l, int c2l, int cs1, int c1h, int c2h);
+ uint8_t cd_r(address_space &space, offs_t offset, uint8_t data, int ba, int cs0, int c1l, int c2l, int cs1, int c1h, int c2h);
+ void cd_w(address_space &space, offs_t offset, uint8_t data, int ba, int cs0, int c1l, int c2l, int cs1, int c1h, int c2h);
// cartridge interface
- uint8_t dma_cd_r(offs_t offset) { return m_read_dma_cd(offset); }
- void dma_cd_w(offs_t offset, uint8_t data) { m_write_dma_cd(offset, data); }
+ DECLARE_READ8_MEMBER( dma_cd_r ) { return m_read_dma_cd(offset); }
+ DECLARE_WRITE8_MEMBER( dma_cd_w ) { m_write_dma_cd(offset, data); }
DECLARE_WRITE_LINE_MEMBER( irq_w ) { m_write_irq(state); }
DECLARE_WRITE_LINE_MEMBER( aec_w ) { m_write_aec(state); }
int phi2() { return clock(); }
@@ -133,8 +164,8 @@ public:
virtual ~device_plus4_expansion_card_interface();
// runtime
- virtual uint8_t plus4_cd_r(offs_t offset, uint8_t data, int ba, int cs0, int c1l, int c2l, int cs1, int c1h, int c2h) { return data; }
- virtual void plus4_cd_w(offs_t offset, uint8_t data, int ba, int cs0, int c1l, int c2l, int cs1, int c1h, int c2h) { }
+ virtual uint8_t plus4_cd_r(address_space &space, offs_t offset, uint8_t data, int ba, int cs0, int c1l, int c2l, int cs1, int c1h, int c2h) { return data; }
+ virtual void plus4_cd_w(address_space &space, offs_t offset, uint8_t data, int ba, int cs0, int c1l, int c2l, int cs1, int c1h, int c2h) { }
protected:
device_plus4_expansion_card_interface(const machine_config &mconfig, device_t &device);
diff --git a/src/devices/bus/plus4/sid.cpp b/src/devices/bus/plus4/sid.cpp
index 1ebfdafd657..f97deec6310 100644
--- a/src/devices/bus/plus4/sid.cpp
+++ b/src/devices/bus/plus4/sid.cpp
@@ -64,13 +64,13 @@ const tiny_rom_entry *plus4_sid_cartridge_device::device_rom_region() const
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void plus4_sid_cartridge_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(plus4_sid_cartridge_device::device_add_mconfig)
SPEAKER(config, "speaker").front_center();
- MOS8580(config, m_sid, XTAL(17'734'470)/20).add_route(ALL_OUTPUTS, "speaker", 1.0);
+ MCFG_DEVICE_ADD(MOS8580_TAG, MOS8580, XTAL(17'734'470)/20)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0)
- VCS_CONTROL_PORT(config, m_joy, vcs_control_port_devices, nullptr);
-}
+ MCFG_VCS_CONTROL_PORT_ADD(CONTROL1_TAG, vcs_control_port_devices, nullptr)
+MACHINE_CONFIG_END
@@ -114,15 +114,15 @@ void plus4_sid_cartridge_device::device_reset()
// plus4_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t plus4_sid_cartridge_device::plus4_cd_r(offs_t offset, uint8_t data, int ba, int cs0, int c1l, int c2l, int cs1, int c1h, int c2h)
+uint8_t plus4_sid_cartridge_device::plus4_cd_r(address_space &space, offs_t offset, uint8_t data, int ba, int cs0, int c1l, int c2l, int cs1, int c1h, int c2h)
{
if ((offset >= 0xfe80 && offset < 0xfea0) || (offset >= 0xfd40 && offset < 0xfd60))
{
- data = m_sid->read(offset & 0x1f);
+ data = m_sid->read(space, offset & 0x1f);
}
else if (offset >= 0xfd80 && offset < 0xfd90)
{
- data = m_joy->joy_r(machine().dummy_space(), 0);
+ data = m_joy->joy_r(space, 0);
}
return data;
@@ -133,11 +133,11 @@ uint8_t plus4_sid_cartridge_device::plus4_cd_r(offs_t offset, uint8_t data, int
// plus4_cd_w - cartridge data write
//-------------------------------------------------
-void plus4_sid_cartridge_device::plus4_cd_w(offs_t offset, uint8_t data, int ba, int cs0, int c1l, int c2l, int cs1, int c1h, int c2h)
+void plus4_sid_cartridge_device::plus4_cd_w(address_space &space, offs_t offset, uint8_t data, int ba, int cs0, int c1l, int c2l, int cs1, int c1h, int c2h)
{
if ((offset >= 0xfe80 && offset < 0xfea0) || (offset >= 0xfd40 && offset < 0xfd60))
{
- m_sid->write(offset & 0x1f, data);
+ m_sid->write(space, offset & 0x1f, data);
}
}
diff --git a/src/devices/bus/plus4/sid.h b/src/devices/bus/plus4/sid.h
index 1566381e6d2..90a22fa15c8 100644
--- a/src/devices/bus/plus4/sid.h
+++ b/src/devices/bus/plus4/sid.h
@@ -40,8 +40,8 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// device_plus4_expansion_card_interface overrides
- virtual uint8_t plus4_cd_r(offs_t offset, uint8_t data, int ba, int cs0, int c1l, int c2l, int cs1, int c1h, int c2h) override;
- virtual void plus4_cd_w(offs_t offset, uint8_t data, int ba, int cs0, int c1l, int c2l, int cs1, int c1h, int c2h) override;
+ virtual uint8_t plus4_cd_r(address_space &space, offs_t offset, uint8_t data, int ba, int cs0, int c1l, int c2l, int cs1, int c1h, int c2h) override;
+ virtual void plus4_cd_w(address_space &space, offs_t offset, uint8_t data, int ba, int cs0, int c1l, int c2l, int cs1, int c1h, int c2h) override;
virtual void plus4_breset_w(int state);
private:
diff --git a/src/devices/bus/plus4/std.cpp b/src/devices/bus/plus4/std.cpp
index c8efe4b679f..835ecac7d4a 100644
--- a/src/devices/bus/plus4/std.cpp
+++ b/src/devices/bus/plus4/std.cpp
@@ -47,7 +47,7 @@ void plus4_standard_cartridge_device::device_start()
// plus4_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t plus4_standard_cartridge_device::plus4_cd_r(offs_t offset, uint8_t data, int ba, int cs0, int c1l, int c2l, int cs1, int c1h, int c2h)
+uint8_t plus4_standard_cartridge_device::plus4_cd_r(address_space &space, offs_t offset, uint8_t data, int ba, int cs0, int c1l, int c2l, int cs1, int c1h, int c2h)
{
if (!c1l && m_c1l.bytes())
{
diff --git a/src/devices/bus/plus4/std.h b/src/devices/bus/plus4/std.h
index f1f3ae75328..d154f0bcadc 100644
--- a/src/devices/bus/plus4/std.h
+++ b/src/devices/bus/plus4/std.h
@@ -33,7 +33,7 @@ protected:
virtual void device_start() override;
// device_plus4_expansion_card_interface overrides
- virtual uint8_t plus4_cd_r(offs_t offset, uint8_t data, int ba, int cs0, int c1l, int c2l, int cs1, int c1h, int c2h) override;
+ virtual uint8_t plus4_cd_r(address_space &space, offs_t offset, uint8_t data, int ba, int cs0, int c1l, int c2l, int cs1, int c1h, int c2h) override;
};
diff --git a/src/devices/bus/pofo/ccm.h b/src/devices/bus/pofo/ccm.h
index 42bfcb4356d..b7deab09c69 100644
--- a/src/devices/bus/pofo/ccm.h
+++ b/src/devices/bus/pofo/ccm.h
@@ -60,6 +60,17 @@
#define PORTFOLIO_MEMORY_CARD_SLOT_B_TAG "ccmb"
+
+//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_PORTFOLIO_MEMORY_CARD_SLOT_ADD(_tag, _slot_intf, _def_slot) \
+ MCFG_DEVICE_ADD(_tag, PORTFOLIO_MEMORY_CARD_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
+
+
+
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -75,8 +86,8 @@ class device_portfolio_memory_card_slot_interface : public device_slot_card_inte
public:
virtual bool cdet() { return 1; }
- virtual uint8_t nrdi_r(offs_t offset) { return 0xff; }
- virtual void nwri_w(offs_t offset, uint8_t data) { }
+ virtual uint8_t nrdi_r(address_space &space, offs_t offset) { return 0xff; }
+ virtual void nwri_w(address_space &space, offs_t offset, uint8_t data) { }
protected:
// construction/destruction
@@ -97,23 +108,13 @@ class portfolio_memory_card_slot_device : public device_t,
{
public:
// construction/destruction
- template <typename T>
- portfolio_memory_card_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt)
- : portfolio_memory_card_slot_device(mconfig, tag, owner, 0)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
-
- portfolio_memory_card_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+ portfolio_memory_card_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// computer interface
bool cdet_r() { return (m_card != nullptr) ? m_card->cdet() : 1; }
- uint8_t nrdi_r(offs_t offset) { return (m_card != nullptr) ? m_card->nrdi_r(offset) : 0xff; }
- void nwri_w(offs_t offset, uint8_t data) { if (m_card != nullptr) m_card->nwri_w(offset, data); }
+ DECLARE_READ8_MEMBER( nrdi_r ) { return (m_card != nullptr) ? m_card->nrdi_r(space, offset) : 0xff; }
+ DECLARE_WRITE8_MEMBER( nwri_w ) { if (m_card != nullptr) m_card->nwri_w(space, offset, data); }
protected:
// device-level overrides
diff --git a/src/devices/bus/pofo/exp.h b/src/devices/bus/pofo/exp.h
index 2206d5af2fe..ab0685d28ca 100644
--- a/src/devices/bus/pofo/exp.h
+++ b/src/devices/bus/pofo/exp.h
@@ -54,6 +54,26 @@
#define PORTFOLIO_EXPANSION_SLOT_TAG "exp"
+
+//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_PORTFOLIO_EXPANSION_SLOT_ADD(_tag, _clock, _slot_intf, _def_slot) \
+ MCFG_DEVICE_ADD(_tag, PORTFOLIO_EXPANSION_SLOT, _clock) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
+
+#define MCFG_PORTFOLIO_EXPANSION_SLOT_EINT_CALLBACK(_write) \
+ downcast<portfolio_expansion_slot_device &>(*device).set_eint_wr_callback(DEVCB_##_write);
+
+#define MCFG_PORTFOLIO_EXPANSION_SLOT_NMIO_CALLBACK(_write) \
+ downcast<portfolio_expansion_slot_device &>(*device).set_nmio_wr_callback(DEVCB_##_write);
+
+#define MCFG_PORTFOLIO_EXPANSION_SLOT_WAKE_CALLBACK(_write) \
+ downcast<portfolio_expansion_slot_device &>(*device).set_wake_wr_callback(DEVCB_##_write);
+
+
+
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -72,8 +92,8 @@ public:
virtual uint8_t iack_r() { return 0xff; }
virtual uint8_t eack_r() { return 0xff; }
- virtual uint8_t nrdi_r(offs_t offset, uint8_t data, bool iom, bool bcom, bool ncc1) { return data; }
- virtual void nwri_w(offs_t offset, uint8_t data, bool iom, bool bcom, bool ncc1) { }
+ virtual uint8_t nrdi_r(address_space &space, offs_t offset, uint8_t data, bool iom, bool bcom, bool ncc1) { return data; }
+ virtual void nwri_w(address_space &space, offs_t offset, uint8_t data, bool iom, bool bcom, bool ncc1) { }
virtual WRITE_LINE_MEMBER( iint_w ) { }
@@ -95,21 +115,11 @@ class portfolio_expansion_slot_device : public device_t, public device_slot_inte
{
public:
// construction/destruction
- template <typename T>
- portfolio_expansion_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock, T &&opts, char const *dflt)
- : portfolio_expansion_slot_device(mconfig, tag, owner, clock)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
-
portfolio_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- auto eint_wr_callback() { return m_write_eint.bind(); }
- auto nmio_wr_callback() { return m_write_nmio.bind(); }
- auto wake_wr_callback() { return m_write_wake.bind(); }
+ template <class Object> devcb_base &set_eint_wr_callback(Object &&cb) { return m_write_eint.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_nmio_wr_callback(Object &&cb) { return m_write_nmio.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_wake_wr_callback(Object &&cb) { return m_write_wake.set_callback(std::forward<Object>(cb)); }
// computer interface
bool nmd1_r() { return (m_card != nullptr) ? m_card->nmd1() : 1; }
@@ -119,8 +129,8 @@ public:
uint8_t iack_r() { return (m_card != nullptr) ? m_card->iack_r() : 0xff; };
uint8_t eack_r() { return (m_card != nullptr) ? m_card->eack_r() : 0xff; };
- uint8_t nrdi_r(offs_t offset, uint8_t data, bool iom, bool bcom, bool ncc1) { return (m_card != nullptr) ? m_card->nrdi_r(offset, data, iom, bcom, ncc1) : data; }
- void nwri_w(offs_t offset, uint8_t data, bool iom, bool bcom, bool ncc1) { if (m_card != nullptr) m_card->nwri_w(offset, data, iom, bcom, ncc1); }
+ uint8_t nrdi_r(address_space &space, offs_t offset, uint8_t data, bool iom, bool bcom, bool ncc1) { return (m_card != nullptr) ? m_card->nrdi_r(space, offset, data, iom, bcom, ncc1) : data; }
+ void nwri_w(address_space &space, offs_t offset, uint8_t data, bool iom, bool bcom, bool ncc1) { if (m_card != nullptr) m_card->nwri_w(space, offset, data, iom, bcom, ncc1); }
WRITE_LINE_MEMBER( iint_w ) { if (m_card != nullptr) m_card->iint_w(state); }
diff --git a/src/devices/bus/pofo/hpc101.cpp b/src/devices/bus/pofo/hpc101.cpp
index d62f1002f7d..93268e95bb6 100644
--- a/src/devices/bus/pofo/hpc101.cpp
+++ b/src/devices/bus/pofo/hpc101.cpp
@@ -33,31 +33,28 @@ DEFINE_DEVICE_TYPE(POFO_HPC101, pofo_hpc101_device, "pofo_hpc101", "Atari Portfo
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void pofo_hpc101_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(pofo_hpc101_device::device_add_mconfig)
I8255A(config, m_ppi);
m_ppi->out_pa_callback().set("cent_data_out", FUNC(output_latch_device::bus_w));
m_ppi->out_pb_callback().set("cent_ctrl_out", FUNC(output_latch_device::bus_w));
m_ppi->in_pc_callback().set("cent_status_in", FUNC(input_buffer_device::bus_r));
- centronics_device &centronics(CENTRONICS(config, CENTRONICS_TAG, centronics_devices, "printer"));
- centronics.ack_handler().set("cent_status_in", FUNC(input_buffer_device::write_bit5));
- centronics.busy_handler().set("cent_status_in", FUNC(input_buffer_device::write_bit4));
- centronics.fault_handler().set("cent_status_in", FUNC(input_buffer_device::write_bit3));
- centronics.select_handler().set("cent_status_in", FUNC(input_buffer_device::write_bit1));
- centronics.perror_handler().set("cent_status_in", FUNC(input_buffer_device::write_bit0));
-
- output_latch_device &cent_data_out(OUTPUT_LATCH(config, "cent_data_out"));
- centronics.set_output_latch(cent_data_out);
+ MCFG_DEVICE_ADD(CENTRONICS_TAG, CENTRONICS, centronics_devices, "printer")
+ MCFG_CENTRONICS_ACK_HANDLER(WRITELINE("cent_status_in", input_buffer_device, write_bit5))
+ MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE("cent_status_in", input_buffer_device, write_bit4))
+ MCFG_CENTRONICS_FAULT_HANDLER(WRITELINE("cent_status_in", input_buffer_device, write_bit3))
+ MCFG_CENTRONICS_SELECT_HANDLER(WRITELINE("cent_status_in", input_buffer_device, write_bit1))
+ MCFG_CENTRONICS_PERROR_HANDLER(WRITELINE("cent_status_in", input_buffer_device, write_bit0))
- INPUT_BUFFER(config, "cent_status_in");
+ MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG)
+ MCFG_DEVICE_ADD("cent_status_in", INPUT_BUFFER, 0)
- output_latch_device &cent_ctrl_out(OUTPUT_LATCH(config, "cent_ctrl_out"));
- cent_ctrl_out.bit_handler<0>().set(CENTRONICS_TAG, FUNC(centronics_device::write_strobe));
- cent_ctrl_out.bit_handler<1>().set(CENTRONICS_TAG, FUNC(centronics_device::write_autofd));
- cent_ctrl_out.bit_handler<2>().set(CENTRONICS_TAG, FUNC(centronics_device::write_init));
- cent_ctrl_out.bit_handler<3>().set(CENTRONICS_TAG, FUNC(centronics_device::write_select_in));
-}
+ MCFG_DEVICE_ADD("cent_ctrl_out", OUTPUT_LATCH, 0)
+ MCFG_OUTPUT_LATCH_BIT0_HANDLER(WRITELINE(CENTRONICS_TAG, centronics_device, write_strobe))
+ MCFG_OUTPUT_LATCH_BIT1_HANDLER(WRITELINE(CENTRONICS_TAG, centronics_device, write_autofd))
+ MCFG_OUTPUT_LATCH_BIT2_HANDLER(WRITELINE(CENTRONICS_TAG, centronics_device, write_init))
+ MCFG_OUTPUT_LATCH_BIT3_HANDLER(WRITELINE(CENTRONICS_TAG, centronics_device, write_select_in))
+MACHINE_CONFIG_END
//**************************************************************************
@@ -99,7 +96,7 @@ void pofo_hpc101_device::device_reset()
// nrdi_r - read
//-------------------------------------------------
-uint8_t pofo_hpc101_device::nrdi_r(offs_t offset, uint8_t data, bool iom, bool bcom, bool ncc1)
+uint8_t pofo_hpc101_device::nrdi_r(address_space &space, offs_t offset, uint8_t data, bool iom, bool bcom, bool ncc1)
{
if (!bcom)
{
@@ -122,7 +119,7 @@ uint8_t pofo_hpc101_device::nrdi_r(offs_t offset, uint8_t data, bool iom, bool b
// nwri_w - write
//-------------------------------------------------
-void pofo_hpc101_device::nwri_w(offs_t offset, uint8_t data, bool iom, bool bcom, bool ncc1)
+void pofo_hpc101_device::nwri_w(address_space &space, offs_t offset, uint8_t data, bool iom, bool bcom, bool ncc1)
{
if (!bcom)
{
diff --git a/src/devices/bus/pofo/hpc101.h b/src/devices/bus/pofo/hpc101.h
index fa18b5d6d4d..797f95c32d3 100644
--- a/src/devices/bus/pofo/hpc101.h
+++ b/src/devices/bus/pofo/hpc101.h
@@ -40,8 +40,8 @@ protected:
// device_portfolio_expansion_slot_interface overrides
bool pdet() override { return 1; }
- virtual uint8_t nrdi_r(offs_t offset, uint8_t data, bool iom, bool bcom, bool ncc1) override;
- virtual void nwri_w(offs_t offset, uint8_t data, bool iom, bool bcom, bool ncc1) override;
+ virtual uint8_t nrdi_r(address_space &space, offs_t offset, uint8_t data, bool iom, bool bcom, bool ncc1) override;
+ virtual void nwri_w(address_space &space, offs_t offset, uint8_t data, bool iom, bool bcom, bool ncc1) override;
private:
required_device<i8255_device> m_ppi;
diff --git a/src/devices/bus/pofo/hpc102.cpp b/src/devices/bus/pofo/hpc102.cpp
index 42bc8b550fe..298b36c7cbe 100644
--- a/src/devices/bus/pofo/hpc102.cpp
+++ b/src/devices/bus/pofo/hpc102.cpp
@@ -99,7 +99,7 @@ uint8_t pofo_hpc102_device::eack_r()
// nrdi_r - read
//-------------------------------------------------
-uint8_t pofo_hpc102_device::nrdi_r(offs_t offset, uint8_t data, bool iom, bool bcom, bool ncc1)
+uint8_t pofo_hpc102_device::nrdi_r(address_space &space, offs_t offset, uint8_t data, bool iom, bool bcom, bool ncc1)
{
if (!bcom)
{
@@ -110,7 +110,7 @@ uint8_t pofo_hpc102_device::nrdi_r(offs_t offset, uint8_t data, bool iom, bool b
if (!(offset & 0x08))
{
- data = m_uart->ins8250_r(machine().dummy_space(), offset & 0x07);
+ data = m_uart->ins8250_r(space, offset & 0x07);
}
}
@@ -122,7 +122,7 @@ uint8_t pofo_hpc102_device::nrdi_r(offs_t offset, uint8_t data, bool iom, bool b
// nwri_w - write
//-------------------------------------------------
-void pofo_hpc102_device::nwri_w(offs_t offset, uint8_t data, bool iom, bool bcom, bool ncc1)
+void pofo_hpc102_device::nwri_w(address_space &space, offs_t offset, uint8_t data, bool iom, bool bcom, bool ncc1)
{
if (!bcom)
{
@@ -133,7 +133,7 @@ void pofo_hpc102_device::nwri_w(offs_t offset, uint8_t data, bool iom, bool bcom
if (!(offset & 0x08))
{
- m_uart->ins8250_w(machine().dummy_space(), offset & 0x07, data);
+ m_uart->ins8250_w(space, offset & 0x07, data);
}
}
}
diff --git a/src/devices/bus/pofo/hpc102.h b/src/devices/bus/pofo/hpc102.h
index c7168b12787..bfe91e9f459 100644
--- a/src/devices/bus/pofo/hpc102.h
+++ b/src/devices/bus/pofo/hpc102.h
@@ -42,8 +42,8 @@ protected:
virtual uint8_t eack_r() override;
- virtual uint8_t nrdi_r(offs_t offset, uint8_t data, bool iom, bool bcom, bool ncc1) override;
- virtual void nwri_w(offs_t offset, uint8_t data, bool iom, bool bcom, bool ncc1) override;
+ virtual uint8_t nrdi_r(address_space &space, offs_t offset, uint8_t data, bool iom, bool bcom, bool ncc1) override;
+ virtual void nwri_w(address_space &space, offs_t offset, uint8_t data, bool iom, bool bcom, bool ncc1) override;
private:
required_device<ins8250_device> m_uart;
diff --git a/src/devices/bus/pofo/hpc104.cpp b/src/devices/bus/pofo/hpc104.cpp
index a6e66f13da8..a6de6852e78 100644
--- a/src/devices/bus/pofo/hpc104.cpp
+++ b/src/devices/bus/pofo/hpc104.cpp
@@ -31,15 +31,14 @@ DEFINE_DEVICE_TYPE(POFO_HPC104_2, pofo_hpc104_2_device, "pofo_hpc104_2", "Atari
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void pofo_hpc104_device::device_add_mconfig(machine_config &config)
-{
- PORTFOLIO_MEMORY_CARD_SLOT(config, m_ccm, portfolio_memory_cards, nullptr);
+MACHINE_CONFIG_START(pofo_hpc104_device::device_add_mconfig)
+ MCFG_PORTFOLIO_MEMORY_CARD_SLOT_ADD(PORTFOLIO_MEMORY_CARD_SLOT_B_TAG, portfolio_memory_cards, nullptr)
- PORTFOLIO_EXPANSION_SLOT(config, m_exp, XTAL(4'915'200), portfolio_expansion_cards, nullptr);
- m_exp->eint_wr_callback().set(DEVICE_SELF_OWNER, FUNC(portfolio_expansion_slot_device::eint_w));
- m_exp->nmio_wr_callback().set(DEVICE_SELF_OWNER, FUNC(portfolio_expansion_slot_device::nmio_w));
- m_exp->wake_wr_callback().set(DEVICE_SELF_OWNER, FUNC(portfolio_expansion_slot_device::wake_w));
-}
+ MCFG_PORTFOLIO_EXPANSION_SLOT_ADD(PORTFOLIO_EXPANSION_SLOT_TAG, XTAL(4'915'200), portfolio_expansion_cards, nullptr)
+ MCFG_PORTFOLIO_EXPANSION_SLOT_EINT_CALLBACK(WRITELINE(DEVICE_SELF_OWNER, portfolio_expansion_slot_device, eint_w))
+ MCFG_PORTFOLIO_EXPANSION_SLOT_NMIO_CALLBACK(WRITELINE(DEVICE_SELF_OWNER, portfolio_expansion_slot_device, nmio_w))
+ MCFG_PORTFOLIO_EXPANSION_SLOT_WAKE_CALLBACK(WRITELINE(DEVICE_SELF_OWNER, portfolio_expansion_slot_device, wake_w))
+MACHINE_CONFIG_END
//-------------------------------------------------
@@ -147,15 +146,15 @@ void pofo_hpc104_device::device_reset()
// nrdi_r - read
//-------------------------------------------------
-uint8_t pofo_hpc104_device::nrdi_r(offs_t offset, uint8_t data, bool iom, bool bcom, bool ncc1)
+uint8_t pofo_hpc104_device::nrdi_r(address_space &space, offs_t offset, uint8_t data, bool iom, bool bcom, bool ncc1)
{
- data = m_exp->nrdi_r(offset, data, iom, bcom, m_ncc1_out || ncc1);
+ data = m_exp->nrdi_r(space, offset, data, iom, bcom, m_ncc1_out || ncc1);
if (!iom)
{
if (!(!m_ncc1_out || ncc1))
{
- data = m_ccm->nrdi_r(offset & 0x1ffff);
+ data = m_ccm->nrdi_r(space, offset & 0x1ffff);
if (LOG) logerror("%s %s CCM1 read %05x:%02x\n", machine().time().as_string(), machine().describe_context(), offset & 0x1ffff, data);
}
@@ -184,9 +183,9 @@ uint8_t pofo_hpc104_device::nrdi_r(offs_t offset, uint8_t data, bool iom, bool b
// nwri_w - write
//-------------------------------------------------
-void pofo_hpc104_device::nwri_w(offs_t offset, uint8_t data, bool iom, bool bcom, bool ncc1)
+void pofo_hpc104_device::nwri_w(address_space &space, offs_t offset, uint8_t data, bool iom, bool bcom, bool ncc1)
{
- m_exp->nwri_w(offset, data, iom, bcom, m_ncc1_out || ncc1);
+ m_exp->nwri_w(space, offset, data, iom, bcom, m_ncc1_out || ncc1);
if (!iom)
{
@@ -194,7 +193,7 @@ void pofo_hpc104_device::nwri_w(offs_t offset, uint8_t data, bool iom, bool bcom
{
if (LOG) logerror("%s %s CCM1 write %05x:%02x\n", machine().time().as_string(), machine().describe_context(), offset & 0x1ffff, data);
- m_ccm->nwri_w(offset & 0x1ffff, data);
+ m_ccm->nwri_w(space, offset & 0x1ffff, data);
}
if (m_sw1)
diff --git a/src/devices/bus/pofo/hpc104.h b/src/devices/bus/pofo/hpc104.h
index 042bece210e..f863a45f39b 100644
--- a/src/devices/bus/pofo/hpc104.h
+++ b/src/devices/bus/pofo/hpc104.h
@@ -50,8 +50,8 @@ protected:
// device_portfolio_expansion_slot_interface overrides
virtual bool nmd1() override { return m_ccm->cdet_r(); }
- virtual uint8_t nrdi_r(offs_t offset, uint8_t data, bool iom, bool bcom, bool ncc1) override;
- virtual void nwri_w(offs_t offset, uint8_t data, bool iom, bool bcom, bool ncc1) override;
+ virtual uint8_t nrdi_r(address_space &space, offs_t offset, uint8_t data, bool iom, bool bcom, bool ncc1) override;
+ virtual void nwri_w(address_space &space, offs_t offset, uint8_t data, bool iom, bool bcom, bool ncc1) override;
virtual WRITE_LINE_MEMBER( iint_w ) override { m_exp->iint_w(state); }
diff --git a/src/devices/bus/pofo/ram.cpp b/src/devices/bus/pofo/ram.cpp
index 5498a9b8c32..6ef861a0b5d 100644
--- a/src/devices/bus/pofo/ram.cpp
+++ b/src/devices/bus/pofo/ram.cpp
@@ -48,7 +48,7 @@ void portfolio_ram_card_device::device_start()
// nrdi_r - read
//-------------------------------------------------
-uint8_t portfolio_ram_card_device::nrdi_r(offs_t offset)
+uint8_t portfolio_ram_card_device::nrdi_r(address_space &space, offs_t offset)
{
return m_nvram[offset];
}
@@ -58,7 +58,7 @@ uint8_t portfolio_ram_card_device::nrdi_r(offs_t offset)
// nwri_w - write
//-------------------------------------------------
-void portfolio_ram_card_device::nwri_w(offs_t offset, uint8_t data)
+void portfolio_ram_card_device::nwri_w(address_space &space, offs_t offset, uint8_t data)
{
m_nvram[offset] = data;
}
diff --git a/src/devices/bus/pofo/ram.h b/src/devices/bus/pofo/ram.h
index 2c19f807816..9d126b51a2c 100644
--- a/src/devices/bus/pofo/ram.h
+++ b/src/devices/bus/pofo/ram.h
@@ -42,8 +42,8 @@ protected:
// device_portfolio_memory_card_slot_interface overrides
virtual bool cdet() override { return 0; }
- virtual uint8_t nrdi_r(offs_t offset) override;
- virtual void nwri_w(offs_t offset, uint8_t data) override;
+ virtual uint8_t nrdi_r(address_space &space, offs_t offset) override;
+ virtual void nwri_w(address_space &space, offs_t offset, uint8_t data) override;
};
diff --git a/src/devices/bus/pofo/rom.cpp b/src/devices/bus/pofo/rom.cpp
index ac336eb0b77..8155444783a 100644
--- a/src/devices/bus/pofo/rom.cpp
+++ b/src/devices/bus/pofo/rom.cpp
@@ -46,7 +46,7 @@ void portfolio_rom_card_device::device_start()
// nrdi_r - read
//-------------------------------------------------
-uint8_t portfolio_rom_card_device::nrdi_r(offs_t offset)
+uint8_t portfolio_rom_card_device::nrdi_r(address_space &space, offs_t offset)
{
return m_rom[offset];
}
diff --git a/src/devices/bus/pofo/rom.h b/src/devices/bus/pofo/rom.h
index 6df19402a36..eab0ff1fde4 100644
--- a/src/devices/bus/pofo/rom.h
+++ b/src/devices/bus/pofo/rom.h
@@ -35,7 +35,7 @@ protected:
// device_portfolio_memory_card_slot_interface overrides
virtual bool cdet() override { return 0; }
- virtual uint8_t nrdi_r(offs_t offset) override;
+ virtual uint8_t nrdi_r(address_space &space, offs_t offset) override;
};
diff --git a/src/devices/bus/psi_kbd/ergoline.cpp b/src/devices/bus/psi_kbd/ergoline.cpp
index 7b892cf861b..20c02052221 100644
--- a/src/devices/bus/psi_kbd/ergoline.cpp
+++ b/src/devices/bus/psi_kbd/ergoline.cpp
@@ -58,12 +58,11 @@ const tiny_rom_entry *ergoline_keyboard_device::device_rom_region() const
return ROM_NAME(kbd_pcb);
}
-void ergoline_keyboard_device::device_add_mconfig(machine_config &config)
-{
- i8031_device &maincpu(I8031(config, "maincpu", XTAL(5'529'600)));
- maincpu.set_addrmap(AS_PROGRAM, &ergoline_keyboard_device::kbd_mem);
- maincpu.set_addrmap(AS_IO, &ergoline_keyboard_device::kbd_io);
-}
+MACHINE_CONFIG_START(ergoline_keyboard_device::device_add_mconfig)
+ MCFG_DEVICE_ADD("maincpu", I8031, XTAL(5'529'600))
+ MCFG_DEVICE_PROGRAM_MAP(kbd_mem)
+ MCFG_DEVICE_IO_MAP(kbd_io)
+MACHINE_CONFIG_END
//**************************************************************************
diff --git a/src/devices/bus/psi_kbd/psi_kbd.h b/src/devices/bus/psi_kbd/psi_kbd.h
index 39aaa84d9d3..8e62b1df17b 100644
--- a/src/devices/bus/psi_kbd/psi_kbd.h
+++ b/src/devices/bus/psi_kbd/psi_kbd.h
@@ -30,8 +30,21 @@
#pragma once
-// supported devices
-void psi_keyboard_devices(device_slot_interface &device);
+
+//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_PSI_KEYBOARD_INTERFACE_ADD(_tag, _def_slot) \
+ MCFG_DEVICE_ADD(_tag, PSI_KEYBOARD_INTERFACE, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(psi_keyboard_devices, _def_slot, false)
+
+#define MCFG_PSI_KEYBOARD_RX_HANDLER(_devcb) \
+ downcast<psi_keyboard_bus_device &>(*device).set_rx_handler(DEVCB_##_devcb);
+
+#define MCFG_PSI_KEYBOARD_KEY_STROBE_HANDLER(_devcb) \
+ downcast<psi_keyboard_bus_device &>(*device).set_key_strobe_handler(DEVCB_##_devcb);
+
//**************************************************************************
// TYPE DEFINITIONS
@@ -45,20 +58,12 @@ class psi_keyboard_bus_device : public device_t, public device_slot_interface
{
public:
// construction/destruction
- psi_keyboard_bus_device(const machine_config &mconfig, const char *tag, device_t *owner, const char *dflt)
- : psi_keyboard_bus_device(mconfig, tag, owner, (uint32_t)0)
- {
- option_reset();
- psi_keyboard_devices(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
psi_keyboard_bus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~psi_keyboard_bus_device();
// callbacks
- auto rx() { return m_rx_handler.bind(); }
- auto key_strobe() { return m_key_strobe_handler.bind(); }
+ template <class Object> devcb_base &set_rx_handler(Object &&cb) { return m_rx_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_key_strobe_handler(Object &&cb) { return m_key_strobe_handler.set_callback(std::forward<Object>(cb)); }
// called from keyboard
DECLARE_WRITE_LINE_MEMBER( rx_w ) { m_rx_handler(state); }
@@ -99,7 +104,12 @@ protected:
psi_keyboard_bus_device *m_host;
};
+
// device type definition
DECLARE_DEVICE_TYPE(PSI_KEYBOARD_INTERFACE, psi_keyboard_bus_device)
+// supported devices
+void psi_keyboard_devices(device_slot_interface &device);
+
+
#endif // MAME_BUS_PSI_KBD_PSI_KBD_H
diff --git a/src/devices/bus/psx/ctlrport.cpp b/src/devices/bus/psx/ctlrport.cpp
index 05aae5c5b72..b3c34f8b2b5 100644
--- a/src/devices/bus/psx/ctlrport.cpp
+++ b/src/devices/bus/psx/ctlrport.cpp
@@ -25,10 +25,9 @@ void psx_controller_port_device::device_config_complete()
m_dev = dynamic_cast<device_psx_controller_interface *>(get_card_device());
}
-void psx_controller_port_device::device_add_mconfig(machine_config &config)
-{
- PSXCARD(config, m_card, 0);
-}
+MACHINE_CONFIG_START(psx_controller_port_device::device_add_mconfig)
+ MCFG_PSXCARD_ADD("card")
+MACHINE_CONFIG_END
void psx_controller_port_device::disable_card(bool state)
{
diff --git a/src/devices/bus/psx/ctlrport.h b/src/devices/bus/psx/ctlrport.h
index 2058cf4868c..718ac8fb35d 100644
--- a/src/devices/bus/psx/ctlrport.h
+++ b/src/devices/bus/psx/ctlrport.h
@@ -77,6 +77,11 @@ private:
required_ioport m_pad1;
};
+#define MCFG_PSX_CONTROLLER_PORTS_DSR_HANDLER(_devcb) \
+ downcast<psxcontrollerports_device &>(*device).set_dsr_handler(DEVCB_##_devcb);
+
+#define MCFG_PSX_CONTROLLER_PORTS_RXD_HANDLER(_devcb) \
+ downcast<psxcontrollerports_device &>(*device).set_rxd_handler(DEVCB_##_devcb);
class psxcontrollerports_device : public device_t
{
diff --git a/src/devices/bus/psx/gamebooster.cpp b/src/devices/bus/psx/gamebooster.cpp
index 309ff1949a3..3513f7714e2 100644
--- a/src/devices/bus/psx/gamebooster.cpp
+++ b/src/devices/bus/psx/gamebooster.cpp
@@ -82,8 +82,8 @@ READ16_MEMBER(psx_gamebooster_device::exp_r)
offset -= 0x20000;
uint16_t retval = 0;;
- if (mem_mask & 0xff00) retval |= (m_cartslot->read_rom((offset*2)+1))<<8;
- if (mem_mask & 0x00ff) retval |= m_cartslot->read_rom((offset*2)+0);
+ if (mem_mask & 0xff00) retval |= (m_cartslot->read_rom(space, (offset*2)+1))<<8;
+ if (mem_mask & 0x00ff) retval |= m_cartslot->read_rom(space, (offset*2)+0);
return retval;
}
@@ -107,8 +107,8 @@ WRITE16_MEMBER(psx_gamebooster_device::exp_w)
offset -= 0x20000;
logerror("%s: psx_gamebooster_device::exp_w %04x %04x\n", machine().describe_context(), offset*2, data);
- if (mem_mask & 0xff00) m_cartslot->write_bank((offset*2)+1, data>>8);
- if (mem_mask & 0x00ff) m_cartslot->write_bank((offset*2)+0, data); // send this 2nd or it erases the bank with the above
+ if (mem_mask & 0xff00) m_cartslot->write_bank(space, (offset*2)+1, data>>8);
+ if (mem_mask & 0x00ff) m_cartslot->write_bank(space, (offset*2)+0, data); // send this 2nd or it erases the bank with the above
}
else
diff --git a/src/devices/bus/psx/memcard.h b/src/devices/bus/psx/memcard.h
index e292d89e589..51ac4f044ba 100644
--- a/src/devices/bus/psx/memcard.h
+++ b/src/devices/bus/psx/memcard.h
@@ -8,6 +8,8 @@
class psx_controller_port_device;
+#define MCFG_PSXCARD_ADD(_tag) \
+ MCFG_DEVICE_ADD(_tag, PSXCARD, 0)
class psxcard_device : public device_t,
public device_image_interface
diff --git a/src/devices/bus/ql/cst_q_plus4.cpp b/src/devices/bus/ql/cst_q_plus4.cpp
index 96269dc6ef5..52f1602ba5b 100644
--- a/src/devices/bus/ql/cst_q_plus4.cpp
+++ b/src/devices/bus/ql/cst_q_plus4.cpp
@@ -50,22 +50,21 @@ const tiny_rom_entry *cst_q_plus4_device::device_rom_region() const
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void cst_q_plus4_device::device_add_mconfig(machine_config &config)
-{
- PIA6821(config, MC6821_TAG, 0);
+MACHINE_CONFIG_START(cst_q_plus4_device::device_add_mconfig)
+ MCFG_DEVICE_ADD(MC6821_TAG, PIA6821, 0)
- QL_EXPANSION_SLOT(config, m_exp1, DERIVED_CLOCK(1, 1), ql_expansion_cards, nullptr);
- m_exp1->extintl_wr_callback().set(FUNC(cst_q_plus4_device::exp1_extintl_w));
+ MCFG_DEVICE_ADD("exp1", QL_EXPANSION_SLOT, DERIVED_CLOCK(1, 1), ql_expansion_cards, nullptr)
+ MCFG_QL_EXPANSION_SLOT_EXTINTL_CALLBACK(WRITELINE(*this, cst_q_plus4_device, exp1_extintl_w))
- QL_EXPANSION_SLOT(config, m_exp2, DERIVED_CLOCK(1, 1), ql_expansion_cards, nullptr);
- m_exp2->extintl_wr_callback().set(FUNC(cst_q_plus4_device::exp2_extintl_w));
+ MCFG_DEVICE_ADD("exp2", QL_EXPANSION_SLOT, DERIVED_CLOCK(1, 1), ql_expansion_cards, nullptr)
+ MCFG_QL_EXPANSION_SLOT_EXTINTL_CALLBACK(WRITELINE(*this, cst_q_plus4_device, exp2_extintl_w))
- QL_EXPANSION_SLOT(config, m_exp3, DERIVED_CLOCK(1, 1), ql_expansion_cards, nullptr);
- m_exp3->extintl_wr_callback().set(FUNC(cst_q_plus4_device::exp3_extintl_w));
+ MCFG_DEVICE_ADD("exp3", QL_EXPANSION_SLOT, DERIVED_CLOCK(1, 1), ql_expansion_cards, nullptr)
+ MCFG_QL_EXPANSION_SLOT_EXTINTL_CALLBACK(WRITELINE(*this, cst_q_plus4_device, exp3_extintl_w))
- QL_EXPANSION_SLOT(config, m_exp4, DERIVED_CLOCK(1, 1), ql_expansion_cards, nullptr);
- m_exp4->extintl_wr_callback().set(FUNC(cst_q_plus4_device::exp4_extintl_w));
-}
+ MCFG_DEVICE_ADD("exp4", QL_EXPANSION_SLOT, DERIVED_CLOCK(1, 1), ql_expansion_cards, nullptr)
+ MCFG_QL_EXPANSION_SLOT_EXTINTL_CALLBACK(WRITELINE(*this, cst_q_plus4_device, exp4_extintl_w))
+MACHINE_CONFIG_END
@@ -106,17 +105,17 @@ void cst_q_plus4_device::device_start()
// read -
//-------------------------------------------------
-uint8_t cst_q_plus4_device::read(offs_t offset, uint8_t data)
+uint8_t cst_q_plus4_device::read(address_space &space, offs_t offset, uint8_t data)
{
if (offset >= 0xc000 && offset < 0xc200)
{
data = m_rom->base()[offset & 0x1fff];
}
- data = m_exp1->read(offset, data);
- data = m_exp2->read(offset, data);
- data = m_exp3->read(offset, data);
- data = m_exp4->read(offset, data);
+ data = m_exp1->read(space, offset, data);
+ data = m_exp2->read(space, offset, data);
+ data = m_exp3->read(space, offset, data);
+ data = m_exp4->read(space, offset, data);
return data;
}
@@ -126,10 +125,10 @@ uint8_t cst_q_plus4_device::read(offs_t offset, uint8_t data)
// write -
//-------------------------------------------------
-void cst_q_plus4_device::write(offs_t offset, uint8_t data)
+void cst_q_plus4_device::write(address_space &space, offs_t offset, uint8_t data)
{
- m_exp1->write(offset, data);
- m_exp2->write(offset, data);
- m_exp3->write(offset, data);
- m_exp4->write(offset, data);
+ m_exp1->write(space, offset, data);
+ m_exp2->write(space, offset, data);
+ m_exp3->write(space, offset, data);
+ m_exp4->write(space, offset, data);
}
diff --git a/src/devices/bus/ql/cst_q_plus4.h b/src/devices/bus/ql/cst_q_plus4.h
index 4c8ea616f51..0eff45e3840 100644
--- a/src/devices/bus/ql/cst_q_plus4.h
+++ b/src/devices/bus/ql/cst_q_plus4.h
@@ -37,8 +37,8 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// device_ql_expansion_card_interface overrides
- virtual uint8_t read(offs_t offset, uint8_t data) override;
- virtual void write(offs_t offset, uint8_t data) override;
+ virtual uint8_t read(address_space &space, offs_t offset, uint8_t data) override;
+ virtual void write(address_space &space, offs_t offset, uint8_t data) override;
private:
DECLARE_WRITE_LINE_MEMBER( exp1_extintl_w ) { m_exp1_extinl = state; update_extintl(); }
diff --git a/src/devices/bus/ql/cst_qdisc.cpp b/src/devices/bus/ql/cst_qdisc.cpp
index 2fe46dc4f5e..a3940d41b1a 100644
--- a/src/devices/bus/ql/cst_qdisc.cpp
+++ b/src/devices/bus/ql/cst_qdisc.cpp
@@ -71,7 +71,7 @@ void cst_ql_disc_interface_device::device_start()
// read -
//-------------------------------------------------
-uint8_t cst_ql_disc_interface_device::read(offs_t offset, uint8_t data)
+uint8_t cst_ql_disc_interface_device::read(address_space &space, offs_t offset, uint8_t data)
{
return data;
}
@@ -81,6 +81,6 @@ uint8_t cst_ql_disc_interface_device::read(offs_t offset, uint8_t data)
// write -
//-------------------------------------------------
-void cst_ql_disc_interface_device::write(offs_t offset, uint8_t data)
+void cst_ql_disc_interface_device::write(address_space &space, offs_t offset, uint8_t data)
{
}
diff --git a/src/devices/bus/ql/cst_qdisc.h b/src/devices/bus/ql/cst_qdisc.h
index fdd492f1230..4bbcbd0913f 100644
--- a/src/devices/bus/ql/cst_qdisc.h
+++ b/src/devices/bus/ql/cst_qdisc.h
@@ -36,8 +36,8 @@ protected:
virtual void device_start() override;
// device_ql_expansion_card_interface overrides
- virtual uint8_t read(offs_t offset, uint8_t data) override;
- virtual void write(offs_t offset, uint8_t data) override;
+ virtual uint8_t read(address_space &space, offs_t offset, uint8_t data) override;
+ virtual void write(address_space &space, offs_t offset, uint8_t data) override;
};
diff --git a/src/devices/bus/ql/cumana_fdi.cpp b/src/devices/bus/ql/cumana_fdi.cpp
index 204dea12608..a8d1b7c376b 100644
--- a/src/devices/bus/ql/cumana_fdi.cpp
+++ b/src/devices/bus/ql/cumana_fdi.cpp
@@ -71,7 +71,7 @@ void cumana_floppy_disk_interface_device::device_start()
// read -
//-------------------------------------------------
-uint8_t cumana_floppy_disk_interface_device::read(offs_t offset, uint8_t data)
+uint8_t cumana_floppy_disk_interface_device::read(address_space &space, offs_t offset, uint8_t data)
{
return data;
}
@@ -81,6 +81,6 @@ uint8_t cumana_floppy_disk_interface_device::read(offs_t offset, uint8_t data)
// write -
//-------------------------------------------------
-void cumana_floppy_disk_interface_device::write(offs_t offset, uint8_t data)
+void cumana_floppy_disk_interface_device::write(address_space &space, offs_t offset, uint8_t data)
{
}
diff --git a/src/devices/bus/ql/cumana_fdi.h b/src/devices/bus/ql/cumana_fdi.h
index 2080251fcf3..a0da6952cab 100644
--- a/src/devices/bus/ql/cumana_fdi.h
+++ b/src/devices/bus/ql/cumana_fdi.h
@@ -35,8 +35,8 @@ protected:
virtual void device_start() override;
// device_ql_expansion_card_interface overrides
- virtual uint8_t read(offs_t offset, uint8_t data) override;
- virtual void write(offs_t offset, uint8_t data) override;
+ virtual uint8_t read(address_space &space, offs_t offset, uint8_t data) override;
+ virtual void write(address_space &space, offs_t offset, uint8_t data) override;
};
diff --git a/src/devices/bus/ql/exp.h b/src/devices/bus/ql/exp.h
index 43e8a7b77d5..ed5febc4854 100644
--- a/src/devices/bus/ql/exp.h
+++ b/src/devices/bus/ql/exp.h
@@ -49,6 +49,24 @@
//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_QL_EXPANSION_SLOT_IPL0L_CALLBACK(_write) \
+ downcast<ql_expansion_slot_device &>(*device).set_ipl0l_wr_callback(DEVCB_##_write);
+
+#define MCFG_QL_EXPANSION_SLOT_IPL1L_CALLBACK(_write) \
+ downcast<ql_expansion_slot_device &>(*device).set_ipl1l_wr_callback(DEVCB_##_write);
+
+#define MCFG_QL_EXPANSION_SLOT_BERRL_CALLBACK(_write) \
+ downcast<ql_expansion_slot_device &>(*device).set_berrl_wr_callback(DEVCB_##_write);
+
+#define MCFG_QL_EXPANSION_SLOT_EXTINTL_CALLBACK(_write) \
+ downcast<ql_expansion_slot_device &>(*device).set_extintl_wr_callback(DEVCB_##_write);
+
+
+
+//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -62,8 +80,8 @@ class device_ql_expansion_card_interface : public device_slot_card_interface
public:
virtual void romoeh_w(int state) { m_romoeh = state; }
- virtual uint8_t read(offs_t offset, uint8_t data) { return data; }
- virtual void write(offs_t offset, uint8_t data) { }
+ virtual uint8_t read(address_space &space, offs_t offset, uint8_t data) { return data; }
+ virtual void write(address_space &space, offs_t offset, uint8_t data) { }
protected:
// construction/destruction
@@ -94,14 +112,14 @@ public:
}
ql_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- auto ipl0l_wr_callback() { return m_write_ipl0l.bind(); }
- auto ipl1l_wr_callback() { return m_write_ipl1l.bind(); }
- auto berrl_wr_callback() { return m_write_berrl.bind(); }
- auto extintl_wr_callback() { return m_write_extintl.bind(); }
+ template <class Object> devcb_base &set_ipl0l_wr_callback(Object &&cb) { return m_write_ipl0l.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_ipl1l_wr_callback(Object &&cb) { return m_write_ipl1l.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_berrl_wr_callback(Object &&cb) { return m_write_berrl.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_extintl_wr_callback(Object &&cb) { return m_write_extintl.set_callback(std::forward<Object>(cb)); }
// computer interface
- uint8_t read(offs_t offset, uint8_t data) { if (m_card) data = m_card->read(offset, data); return data; }
- void write(offs_t offset, uint8_t data) { if (m_card) m_card->write(offset, data); }
+ uint8_t read(address_space &space, offs_t offset, uint8_t data) { if (m_card) data = m_card->read(space, offset, data); return data; }
+ void write(address_space &space, offs_t offset, uint8_t data) { if (m_card) m_card->write(space, offset, data); }
DECLARE_WRITE_LINE_MEMBER( romoeh_w ) { if (m_card) m_card->romoeh_w(state); }
// card interface
diff --git a/src/devices/bus/ql/kempston_di.cpp b/src/devices/bus/ql/kempston_di.cpp
index 1535f171ff6..599e9bebcc7 100644
--- a/src/devices/bus/ql/kempston_di.cpp
+++ b/src/devices/bus/ql/kempston_di.cpp
@@ -69,7 +69,7 @@ void kempston_disk_interface_device::device_start()
// read -
//-------------------------------------------------
-uint8_t kempston_disk_interface_device::read(offs_t offset, uint8_t data)
+uint8_t kempston_disk_interface_device::read(address_space &space, offs_t offset, uint8_t data)
{
return data;
}
@@ -79,6 +79,6 @@ uint8_t kempston_disk_interface_device::read(offs_t offset, uint8_t data)
// write -
//-------------------------------------------------
-void kempston_disk_interface_device::write(offs_t offset, uint8_t data)
+void kempston_disk_interface_device::write(address_space &space, offs_t offset, uint8_t data)
{
}
diff --git a/src/devices/bus/ql/kempston_di.h b/src/devices/bus/ql/kempston_di.h
index cc75a5fe0fc..e37c3d7f6b7 100644
--- a/src/devices/bus/ql/kempston_di.h
+++ b/src/devices/bus/ql/kempston_di.h
@@ -35,8 +35,8 @@ protected:
virtual void device_start() override;
// device_ql_expansion_card_interface overrides
- virtual uint8_t read(offs_t offset, uint8_t data) override;
- virtual void write(offs_t offset, uint8_t data) override;
+ virtual uint8_t read(address_space &space, offs_t offset, uint8_t data) override;
+ virtual void write(address_space &space, offs_t offset, uint8_t data) override;
};
diff --git a/src/devices/bus/ql/miracle_gold_card.cpp b/src/devices/bus/ql/miracle_gold_card.cpp
index bf6be7fe136..a7acd24e2d7 100644
--- a/src/devices/bus/ql/miracle_gold_card.cpp
+++ b/src/devices/bus/ql/miracle_gold_card.cpp
@@ -71,7 +71,7 @@ void miracle_gold_card_device::device_start()
// read -
//-------------------------------------------------
-uint8_t miracle_gold_card_device::read(offs_t offset, uint8_t data)
+uint8_t miracle_gold_card_device::read(address_space &space, offs_t offset, uint8_t data)
{
return data;
}
@@ -81,6 +81,6 @@ uint8_t miracle_gold_card_device::read(offs_t offset, uint8_t data)
// write -
//-------------------------------------------------
-void miracle_gold_card_device::write(offs_t offset, uint8_t data)
+void miracle_gold_card_device::write(address_space &space, offs_t offset, uint8_t data)
{
}
diff --git a/src/devices/bus/ql/miracle_gold_card.h b/src/devices/bus/ql/miracle_gold_card.h
index 7ed9d0e2eb8..feea55de78c 100644
--- a/src/devices/bus/ql/miracle_gold_card.h
+++ b/src/devices/bus/ql/miracle_gold_card.h
@@ -35,8 +35,8 @@ protected:
virtual void device_start() override;
// device_ql_expansion_card_interface overrides
- virtual uint8_t read(offs_t offset, uint8_t data) override;
- virtual void write(offs_t offset, uint8_t data) override;
+ virtual uint8_t read(address_space &space, offs_t offset, uint8_t data) override;
+ virtual void write(address_space &space, offs_t offset, uint8_t data) override;
};
diff --git a/src/devices/bus/ql/miracle_hd.cpp b/src/devices/bus/ql/miracle_hd.cpp
index f2f16715c72..146945737a2 100644
--- a/src/devices/bus/ql/miracle_hd.cpp
+++ b/src/devices/bus/ql/miracle_hd.cpp
@@ -69,7 +69,7 @@ void miracle_hard_disk_device::device_start()
// read -
//-------------------------------------------------
-uint8_t miracle_hard_disk_device::read(offs_t offset, uint8_t data)
+uint8_t miracle_hard_disk_device::read(address_space &space, offs_t offset, uint8_t data)
{
return data;
}
@@ -79,6 +79,6 @@ uint8_t miracle_hard_disk_device::read(offs_t offset, uint8_t data)
// write -
//-------------------------------------------------
-void miracle_hard_disk_device::write(offs_t offset, uint8_t data)
+void miracle_hard_disk_device::write(address_space &space, offs_t offset, uint8_t data)
{
}
diff --git a/src/devices/bus/ql/miracle_hd.h b/src/devices/bus/ql/miracle_hd.h
index 983dce66f8b..0bcd260bb87 100644
--- a/src/devices/bus/ql/miracle_hd.h
+++ b/src/devices/bus/ql/miracle_hd.h
@@ -36,8 +36,8 @@ protected:
virtual void device_start() override;
// device_ql_rom_cartridge_card_interface overrides
- virtual uint8_t read(offs_t offset, uint8_t data) override;
- virtual void write(offs_t offset, uint8_t data) override;
+ virtual uint8_t read(address_space &space, offs_t offset, uint8_t data) override;
+ virtual void write(address_space &space, offs_t offset, uint8_t data) override;
};
diff --git a/src/devices/bus/ql/mp_fdi.cpp b/src/devices/bus/ql/mp_fdi.cpp
index 4e2a90ce52d..06324a4be67 100644
--- a/src/devices/bus/ql/mp_fdi.cpp
+++ b/src/devices/bus/ql/mp_fdi.cpp
@@ -69,7 +69,7 @@ void micro_peripherals_floppy_disk_interface_device::device_start()
// read -
//-------------------------------------------------
-uint8_t micro_peripherals_floppy_disk_interface_device::read(offs_t offset, uint8_t data)
+uint8_t micro_peripherals_floppy_disk_interface_device::read(address_space &space, offs_t offset, uint8_t data)
{
return data;
}
@@ -79,6 +79,6 @@ uint8_t micro_peripherals_floppy_disk_interface_device::read(offs_t offset, uint
// write -
//-------------------------------------------------
-void micro_peripherals_floppy_disk_interface_device::write(offs_t offset, uint8_t data)
+void micro_peripherals_floppy_disk_interface_device::write(address_space &space, offs_t offset, uint8_t data)
{
}
diff --git a/src/devices/bus/ql/mp_fdi.h b/src/devices/bus/ql/mp_fdi.h
index 3fc9d9d8c83..9939e540ba7 100644
--- a/src/devices/bus/ql/mp_fdi.h
+++ b/src/devices/bus/ql/mp_fdi.h
@@ -34,8 +34,8 @@ protected:
virtual void device_start() override;
// device_ql_expansion_card_interface overrides
- virtual uint8_t read(offs_t offset, uint8_t data) override;
- virtual void write(offs_t offset, uint8_t data) override;
+ virtual uint8_t read(address_space &space, offs_t offset, uint8_t data) override;
+ virtual void write(address_space &space, offs_t offset, uint8_t data) override;
};
diff --git a/src/devices/bus/ql/opd_basic_master.cpp b/src/devices/bus/ql/opd_basic_master.cpp
index b3b6f18dc19..015fca91a37 100644
--- a/src/devices/bus/ql/opd_basic_master.cpp
+++ b/src/devices/bus/ql/opd_basic_master.cpp
@@ -67,7 +67,7 @@ void opd_basic_master_device::device_start()
// read -
//-------------------------------------------------
-uint8_t opd_basic_master_device::read(offs_t offset, uint8_t data)
+uint8_t opd_basic_master_device::read(address_space &space, offs_t offset, uint8_t data)
{
return data;
}
@@ -77,6 +77,6 @@ uint8_t opd_basic_master_device::read(offs_t offset, uint8_t data)
// write -
//-------------------------------------------------
-void opd_basic_master_device::write(offs_t offset, uint8_t data)
+void opd_basic_master_device::write(address_space &space, offs_t offset, uint8_t data)
{
}
diff --git a/src/devices/bus/ql/opd_basic_master.h b/src/devices/bus/ql/opd_basic_master.h
index 3592823dd2b..d22b50eff8c 100644
--- a/src/devices/bus/ql/opd_basic_master.h
+++ b/src/devices/bus/ql/opd_basic_master.h
@@ -35,8 +35,8 @@ protected:
virtual void device_start() override;
// device_ql_expansion_card_interface overrides
- virtual uint8_t read(offs_t offset, uint8_t data) override;
- virtual void write(offs_t offset, uint8_t data) override;
+ virtual uint8_t read(address_space &space, offs_t offset, uint8_t data) override;
+ virtual void write(address_space &space, offs_t offset, uint8_t data) override;
};
diff --git a/src/devices/bus/ql/pcml_qdisk.cpp b/src/devices/bus/ql/pcml_qdisk.cpp
index ed92c569509..7b3d7b25e6c 100644
--- a/src/devices/bus/ql/pcml_qdisk.cpp
+++ b/src/devices/bus/ql/pcml_qdisk.cpp
@@ -69,7 +69,7 @@ void pcml_q_disk_interface_device::device_start()
// read -
//-------------------------------------------------
-uint8_t pcml_q_disk_interface_device::read(offs_t offset, uint8_t data)
+uint8_t pcml_q_disk_interface_device::read(address_space &space, offs_t offset, uint8_t data)
{
return data;
}
@@ -79,6 +79,6 @@ uint8_t pcml_q_disk_interface_device::read(offs_t offset, uint8_t data)
// write -
//-------------------------------------------------
-void pcml_q_disk_interface_device::write(offs_t offset, uint8_t data)
+void pcml_q_disk_interface_device::write(address_space &space, offs_t offset, uint8_t data)
{
}
diff --git a/src/devices/bus/ql/pcml_qdisk.h b/src/devices/bus/ql/pcml_qdisk.h
index cedd3f953f7..e9904df6eb0 100644
--- a/src/devices/bus/ql/pcml_qdisk.h
+++ b/src/devices/bus/ql/pcml_qdisk.h
@@ -35,8 +35,8 @@ protected:
virtual void device_start() override;
// device_ql_expansion_card_interface overrides
- virtual uint8_t read(offs_t offset, uint8_t data) override;
- virtual void write(offs_t offset, uint8_t data) override;
+ virtual uint8_t read(address_space &space, offs_t offset, uint8_t data) override;
+ virtual void write(address_space &space, offs_t offset, uint8_t data) override;
};
diff --git a/src/devices/bus/ql/qubide.cpp b/src/devices/bus/ql/qubide.cpp
index 10583d28023..e88493048d9 100644
--- a/src/devices/bus/ql/qubide.cpp
+++ b/src/devices/bus/ql/qubide.cpp
@@ -202,7 +202,7 @@ void qubide_device::device_reset()
// read -
//-------------------------------------------------
-uint8_t qubide_device::read(offs_t offset, uint8_t data)
+uint8_t qubide_device::read(address_space &space, offs_t offset, uint8_t data)
{
if ((offset & 0xfc000) == m_base)
{
@@ -247,7 +247,7 @@ uint8_t qubide_device::read(offs_t offset, uint8_t data)
// write -
//-------------------------------------------------
-void qubide_device::write(offs_t offset, uint8_t data)
+void qubide_device::write(address_space &space, offs_t offset, uint8_t data)
{
if ((offset & 0xfc000) == m_base)
{
diff --git a/src/devices/bus/ql/qubide.h b/src/devices/bus/ql/qubide.h
index 5e1ac6d1860..680e5e6b655 100644
--- a/src/devices/bus/ql/qubide.h
+++ b/src/devices/bus/ql/qubide.h
@@ -39,8 +39,8 @@ protected:
virtual ioport_constructor device_input_ports() const override;
// device_ql_expansion_card_interface overrides
- virtual uint8_t read(offs_t offset, uint8_t data) override;
- virtual void write(offs_t offset, uint8_t data) override;
+ virtual uint8_t read(address_space &space, offs_t offset, uint8_t data) override;
+ virtual void write(address_space &space, offs_t offset, uint8_t data) override;
private:
required_device<ata_interface_device> m_ata;
diff --git a/src/devices/bus/ql/rom.h b/src/devices/bus/ql/rom.h
index 0c8ec4a6bca..e337fb9f096 100644
--- a/src/devices/bus/ql/rom.h
+++ b/src/devices/bus/ql/rom.h
@@ -50,8 +50,8 @@ public:
virtual ~device_ql_rom_cartridge_card_interface();
virtual void romoeh_w(int state) { m_romoeh = state; }
- virtual uint8_t read(offs_t offset, uint8_t data) { return data; }
- virtual void write(offs_t offset, uint8_t data) { }
+ virtual uint8_t read(address_space &space, offs_t offset, uint8_t data) { return data; }
+ virtual void write(address_space &space, offs_t offset, uint8_t data) { }
protected:
device_ql_rom_cartridge_card_interface(const machine_config &mconfig, device_t &device);
@@ -86,8 +86,8 @@ public:
ql_rom_cartridge_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
// computer interface
- uint8_t read(offs_t offset, uint8_t data) { if (m_card) data = m_card->read(offset, data); return data; }
- void write(offs_t offset, uint8_t data) { if (m_card) m_card->write(offset, data); }
+ uint8_t read(address_space &space, offs_t offset, uint8_t data) { if (m_card) data = m_card->read(space, offset, data); return data; }
+ void write(address_space &space, offs_t offset, uint8_t data) { if (m_card) m_card->write(space, offset, data); }
DECLARE_WRITE_LINE_MEMBER( romoeh_w ) { if (m_card) m_card->romoeh_w(state); }
protected:
diff --git a/src/devices/bus/ql/sandy_superdisk.cpp b/src/devices/bus/ql/sandy_superdisk.cpp
index 1af96f2de81..19ee4ebbc9c 100644
--- a/src/devices/bus/ql/sandy_superdisk.cpp
+++ b/src/devices/bus/ql/sandy_superdisk.cpp
@@ -149,7 +149,7 @@ void sandy_super_disk_device::device_reset()
// read -
//-------------------------------------------------
-uint8_t sandy_super_disk_device::read(offs_t offset, uint8_t data)
+uint8_t sandy_super_disk_device::read(address_space &space, offs_t offset, uint8_t data)
{
if ((offset & 0xf0000) == 0xc0000)
{
@@ -195,7 +195,7 @@ uint8_t sandy_super_disk_device::read(offs_t offset, uint8_t data)
// write -
//-------------------------------------------------
-void sandy_super_disk_device::write(offs_t offset, uint8_t data)
+void sandy_super_disk_device::write(address_space &space, offs_t offset, uint8_t data)
{
if ((offset & 0xf0000) == 0xc0000)
{
diff --git a/src/devices/bus/ql/sandy_superdisk.h b/src/devices/bus/ql/sandy_superdisk.h
index 5a264272e12..1bc7192aad5 100644
--- a/src/devices/bus/ql/sandy_superdisk.h
+++ b/src/devices/bus/ql/sandy_superdisk.h
@@ -41,8 +41,8 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// device_ql_expansion_card_interface overrides
- virtual uint8_t read(offs_t offset, uint8_t data) override;
- virtual void write(offs_t offset, uint8_t data) override;
+ virtual uint8_t read(address_space &space, offs_t offset, uint8_t data) override;
+ virtual void write(address_space &space, offs_t offset, uint8_t data) override;
private:
WRITE_LINE_MEMBER( busy_w );
diff --git a/src/devices/bus/ql/sandy_superqboard.cpp b/src/devices/bus/ql/sandy_superqboard.cpp
index bc8f4c78478..05ff550c47d 100644
--- a/src/devices/bus/ql/sandy_superqboard.cpp
+++ b/src/devices/bus/ql/sandy_superqboard.cpp
@@ -285,7 +285,7 @@ void sandy_superqboard_device::device_reset()
// read -
//-------------------------------------------------
-uint8_t sandy_superqboard_device::read(offs_t offset, uint8_t data)
+uint8_t sandy_superqboard_device::read(address_space &space, offs_t offset, uint8_t data)
{
if ((offset & 0xf0000) == 0xc0000)
{
@@ -345,7 +345,7 @@ uint8_t sandy_superqboard_device::read(offs_t offset, uint8_t data)
// write -
//-------------------------------------------------
-void sandy_superqboard_device::write(offs_t offset, uint8_t data)
+void sandy_superqboard_device::write(address_space &space, offs_t offset, uint8_t data)
{
if ((offset & 0xf0000) == 0xc0000)
{
diff --git a/src/devices/bus/ql/sandy_superqboard.h b/src/devices/bus/ql/sandy_superqboard.h
index 94bfe0c7dad..94d2066020b 100644
--- a/src/devices/bus/ql/sandy_superqboard.h
+++ b/src/devices/bus/ql/sandy_superqboard.h
@@ -46,8 +46,8 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// device_ql_expansion_card_interface overrides
- virtual uint8_t read(offs_t offset, uint8_t data) override;
- virtual void write(offs_t offset, uint8_t data) override;
+ virtual uint8_t read(address_space &space, offs_t offset, uint8_t data) override;
+ virtual void write(address_space &space, offs_t offset, uint8_t data) override;
private:
WRITE_LINE_MEMBER( busy_w );
diff --git a/src/devices/bus/ql/std.cpp b/src/devices/bus/ql/std.cpp
index b1171c46336..5e13a0ff32f 100644
--- a/src/devices/bus/ql/std.cpp
+++ b/src/devices/bus/ql/std.cpp
@@ -47,7 +47,7 @@ void ql_standard_rom_cartridge_device::device_start()
// read - cartridge data read
//-------------------------------------------------
-uint8_t ql_standard_rom_cartridge_device::read(offs_t offset, uint8_t data)
+uint8_t ql_standard_rom_cartridge_device::read(address_space &space, offs_t offset, uint8_t data)
{
if (m_romoeh && m_rom.bytes())
{
diff --git a/src/devices/bus/ql/std.h b/src/devices/bus/ql/std.h
index 823c3a70008..b1b4e404c4c 100644
--- a/src/devices/bus/ql/std.h
+++ b/src/devices/bus/ql/std.h
@@ -32,7 +32,7 @@ protected:
virtual void device_start() override;
// device_ql_rom_cartridge_card_interface overrides
- virtual uint8_t read(offs_t offset, uint8_t data) override;
+ virtual uint8_t read(address_space &space, offs_t offset, uint8_t data) override;
};
diff --git a/src/devices/bus/ql/trumpcard.cpp b/src/devices/bus/ql/trumpcard.cpp
index 473fc9bb78e..bc515b7da9c 100644
--- a/src/devices/bus/ql/trumpcard.cpp
+++ b/src/devices/bus/ql/trumpcard.cpp
@@ -167,7 +167,7 @@ void ql_trump_card_device::device_reset()
// read -
//-------------------------------------------------
-uint8_t ql_trump_card_device::read(offs_t offset, uint8_t data)
+uint8_t ql_trump_card_device::read(address_space &space, offs_t offset, uint8_t data)
{
if (offset >= 0xc000 && offset < 0x10000)
{
@@ -220,7 +220,7 @@ uint8_t ql_trump_card_device::read(offs_t offset, uint8_t data)
// write -
//-------------------------------------------------
-void ql_trump_card_device::write(offs_t offset, uint8_t data)
+void ql_trump_card_device::write(address_space &space, offs_t offset, uint8_t data)
{
if (offset >= 0x1c000 && offset <= 0x1c003)
{
diff --git a/src/devices/bus/ql/trumpcard.h b/src/devices/bus/ql/trumpcard.h
index d9926160928..4dc18ceccd4 100644
--- a/src/devices/bus/ql/trumpcard.h
+++ b/src/devices/bus/ql/trumpcard.h
@@ -42,8 +42,8 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// device_ql_expansion_card_interface overrides
- virtual uint8_t read(offs_t offset, uint8_t data) override;
- virtual void write(offs_t offset, uint8_t data) override;
+ virtual uint8_t read(address_space &space, offs_t offset, uint8_t data) override;
+ virtual void write(address_space &space, offs_t offset, uint8_t data) override;
private:
diff --git a/src/devices/bus/rs232/null_modem.cpp b/src/devices/bus/rs232/null_modem.cpp
index 08366b01df9..def7bd2a315 100644
--- a/src/devices/bus/rs232/null_modem.cpp
+++ b/src/devices/bus/rs232/null_modem.cpp
@@ -22,10 +22,9 @@ null_modem_device::null_modem_device(const machine_config &mconfig, const char *
{
}
-void null_modem_device::device_add_mconfig(machine_config &config)
-{
- BITBANGER(config, m_stream, 0);
-}
+MACHINE_CONFIG_START(null_modem_device::device_add_mconfig)
+ MCFG_DEVICE_ADD("stream", BITBANGER, 0)
+MACHINE_CONFIG_END
static INPUT_PORTS_START(null_modem)
MCFG_RS232_BAUD("RS232_TXBAUD", RS232_BAUD_9600, "TX Baud", null_modem_device, update_serial)
diff --git a/src/devices/bus/rs232/printer.cpp b/src/devices/bus/rs232/printer.cpp
index fb87c9ead79..b8b1ec87d34 100644
--- a/src/devices/bus/rs232/printer.cpp
+++ b/src/devices/bus/rs232/printer.cpp
@@ -16,11 +16,10 @@ serial_printer_device::serial_printer_device(const machine_config &mconfig, cons
{
}
-void serial_printer_device::device_add_mconfig(machine_config &config)
-{
- PRINTER(config, m_printer, 0);
- m_printer->online_callback().set(FUNC(serial_printer_device::printer_online));
-}
+MACHINE_CONFIG_START(serial_printer_device::device_add_mconfig)
+ MCFG_DEVICE_ADD("printer", PRINTER, 0)
+ MCFG_PRINTER_ONLINE_CB(WRITELINE(*this, serial_printer_device, printer_online))
+MACHINE_CONFIG_END
static INPUT_PORTS_START(serial_printer)
MCFG_RS232_BAUD("RS232_RXBAUD", RS232_BAUD_9600, "RX Baud", serial_printer_device, update_serial)
diff --git a/src/devices/bus/rs232/xvd701.cpp b/src/devices/bus/rs232/xvd701.cpp
index b2635d21c02..ef9ca09c258 100644
--- a/src/devices/bus/rs232/xvd701.cpp
+++ b/src/devices/bus/rs232/xvd701.cpp
@@ -12,9 +12,8 @@ jvc_xvd701_device::jvc_xvd701_device(const machine_config &mconfig, const char *
{
}
-void jvc_xvd701_device::device_add_mconfig(machine_config &config)
-{
-}
+MACHINE_CONFIG_START(jvc_xvd701_device::device_add_mconfig)
+MACHINE_CONFIG_END
static INPUT_PORTS_START(xvd701)
INPUT_PORTS_END
diff --git a/src/devices/bus/s100/dj2db.cpp b/src/devices/bus/s100/dj2db.cpp
index 7c33182ea5d..f3cff259db3 100644
--- a/src/devices/bus/s100/dj2db.cpp
+++ b/src/devices/bus/s100/dj2db.cpp
@@ -301,7 +301,7 @@ void s100_dj2db_device::device_reset()
// s100_smemr_r - memory read
//-------------------------------------------------
-uint8_t s100_dj2db_device::s100_smemr_r(offs_t offset)
+uint8_t s100_dj2db_device::s100_smemr_r(address_space &space, offs_t offset)
{
uint8_t data = 0;
@@ -380,7 +380,7 @@ uint8_t s100_dj2db_device::s100_smemr_r(offs_t offset)
// s100_mwrt_w - memory write
//-------------------------------------------------
-void s100_dj2db_device::s100_mwrt_w(offs_t offset, uint8_t data)
+void s100_dj2db_device::s100_mwrt_w(address_space &space, offs_t offset, uint8_t data)
{
// if (!(m_board_enbl & m_phantom)) return;
@@ -473,7 +473,7 @@ void s100_dj2db_device::s100_mwrt_w(offs_t offset, uint8_t data)
// s100_sinp_r - I/O read
//-------------------------------------------------
-uint8_t s100_dj2db_device::s100_sinp_r(offs_t offset)
+uint8_t s100_dj2db_device::s100_sinp_r(address_space &space, offs_t offset)
{
return 0xff;
}
@@ -483,7 +483,7 @@ uint8_t s100_dj2db_device::s100_sinp_r(offs_t offset)
// s100_sout_w - I/O write
//-------------------------------------------------
-void s100_dj2db_device::s100_sout_w(offs_t offset, uint8_t data)
+void s100_dj2db_device::s100_sout_w(address_space &space, offs_t offset, uint8_t data)
{
if (offset == 0x41)
{
diff --git a/src/devices/bus/s100/dj2db.h b/src/devices/bus/s100/dj2db.h
index 616113bb038..e82b4431095 100644
--- a/src/devices/bus/s100/dj2db.h
+++ b/src/devices/bus/s100/dj2db.h
@@ -42,10 +42,10 @@ protected:
virtual ioport_constructor device_input_ports() const override;
// device_s100_card_interface overrides
- virtual uint8_t s100_smemr_r(offs_t offset) override;
- virtual void s100_mwrt_w(offs_t offset, uint8_t data) override;
- virtual uint8_t s100_sinp_r(offs_t offset) override;
- virtual void s100_sout_w(offs_t offset, uint8_t data) override;
+ virtual uint8_t s100_smemr_r(address_space &space, offs_t offset) override;
+ virtual void s100_mwrt_w(address_space &space, offs_t offset, uint8_t data) override;
+ virtual uint8_t s100_sinp_r(address_space &space, offs_t offset) override;
+ virtual void s100_sout_w(address_space &space, offs_t offset, uint8_t data) override;
virtual void s100_phantom_w(int state) override;
private:
diff --git a/src/devices/bus/s100/djdma.cpp b/src/devices/bus/s100/djdma.cpp
index 0ee7dab0a0c..39522d321b4 100644
--- a/src/devices/bus/s100/djdma.cpp
+++ b/src/devices/bus/s100/djdma.cpp
@@ -146,7 +146,7 @@ void s100_djdma_device::device_reset()
// s100_sout_w - I/O write
//-------------------------------------------------
-void s100_djdma_device::s100_sout_w(offs_t offset, uint8_t data)
+void s100_djdma_device::s100_sout_w(address_space &space, offs_t offset, uint8_t data)
{
// O4 = /ATTN (responds to address EF only)
if (!BIT(m_cmdaddr[offset & 0xff], 3))
diff --git a/src/devices/bus/s100/djdma.h b/src/devices/bus/s100/djdma.h
index d9453aef25c..29d07c5860f 100644
--- a/src/devices/bus/s100/djdma.h
+++ b/src/devices/bus/s100/djdma.h
@@ -34,7 +34,7 @@ protected:
virtual void device_reset() override;
// bus-level overrides;
- virtual void s100_sout_w(offs_t offset, uint8_t data) override;
+ virtual void s100_sout_w(address_space &space, offs_t offset, uint8_t data) override;
// optional information overrides
virtual void device_add_mconfig(machine_config &config) override;
diff --git a/src/devices/bus/s100/mm65k16s.cpp b/src/devices/bus/s100/mm65k16s.cpp
index ae098a2e29c..27cdc021d39 100644
--- a/src/devices/bus/s100/mm65k16s.cpp
+++ b/src/devices/bus/s100/mm65k16s.cpp
@@ -233,7 +233,7 @@ void s100_mm65k16s_device::device_reset()
// s100_smemr_r - memory read
//-------------------------------------------------
-uint8_t s100_mm65k16s_device::s100_smemr_r(offs_t offset)
+uint8_t s100_mm65k16s_device::s100_smemr_r(address_space &space, offs_t offset)
{
uint8_t data = 0xff;
@@ -250,7 +250,7 @@ uint8_t s100_mm65k16s_device::s100_smemr_r(offs_t offset)
// s100_mwrt_w - memory write
//-------------------------------------------------
-void s100_mm65k16s_device::s100_mwrt_w(offs_t offset, uint8_t data)
+void s100_mm65k16s_device::s100_mwrt_w(address_space &space, offs_t offset, uint8_t data)
{
if (offset < 0xf800)
{
diff --git a/src/devices/bus/s100/mm65k16s.h b/src/devices/bus/s100/mm65k16s.h
index 10fa1daff7a..e46d13f955e 100644
--- a/src/devices/bus/s100/mm65k16s.h
+++ b/src/devices/bus/s100/mm65k16s.h
@@ -38,8 +38,8 @@ protected:
virtual void device_reset() override;
// device_s100_card_interface overrides
- virtual uint8_t s100_smemr_r(offs_t offset) override;
- virtual void s100_mwrt_w(offs_t offset, uint8_t data) override;
+ virtual uint8_t s100_smemr_r(address_space &space, offs_t offset) override;
+ virtual void s100_mwrt_w(address_space &space, offs_t offset, uint8_t data) override;
virtual void s100_phantom_w(int state) override;
private:
diff --git a/src/devices/bus/s100/nsmdsa.cpp b/src/devices/bus/s100/nsmdsa.cpp
index 90d19b3fcb3..8efa1c9f392 100644
--- a/src/devices/bus/s100/nsmdsa.cpp
+++ b/src/devices/bus/s100/nsmdsa.cpp
@@ -57,11 +57,10 @@ static void mds_a_floppies(device_slot_interface &device)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void s100_mds_a_device::device_add_mconfig(machine_config &config)
-{
- for (auto &floppy : m_floppy)
- FLOPPY_CONNECTOR(config, floppy, mds_a_floppies, "525sd", floppy_image_device::default_floppy_formats);
-}
+MACHINE_CONFIG_START(s100_mds_a_device::device_add_mconfig)
+ MCFG_FLOPPY_DRIVE_ADD("floppy0", mds_a_floppies, "525sd", floppy_image_device::default_floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD("floppy1", mds_a_floppies, "525sd", floppy_image_device::default_floppy_formats)
+MACHINE_CONFIG_END
@@ -76,7 +75,8 @@ void s100_mds_a_device::device_add_mconfig(machine_config &config)
s100_mds_a_device::s100_mds_a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, S100_MDS_A, tag, owner, clock),
device_s100_card_interface(mconfig, *this),
- m_floppy(*this, "floppy%u", 0U),
+ m_floppy0(*this, "floppy0"),
+ m_floppy1(*this, "floppy1"),
m_psel_rom(*this, "psel"),
m_pgm_rom(*this, "pgm")
{
@@ -105,7 +105,7 @@ void s100_mds_a_device::device_reset()
// s100_smemr_r - memory read
//-------------------------------------------------
-uint8_t s100_mds_a_device::s100_smemr_r(offs_t offset)
+uint8_t s100_mds_a_device::s100_smemr_r(address_space &space, offs_t offset)
{
return 0xff;
}
diff --git a/src/devices/bus/s100/nsmdsa.h b/src/devices/bus/s100/nsmdsa.h
index a36f39127ec..5bcaf7505c0 100644
--- a/src/devices/bus/s100/nsmdsa.h
+++ b/src/devices/bus/s100/nsmdsa.h
@@ -39,10 +39,11 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// device_s100_card_interface overrides
- virtual uint8_t s100_smemr_r(offs_t offset) override;
+ virtual uint8_t s100_smemr_r(address_space &space, offs_t offset) override;
private:
- required_device_array<floppy_connector, 2> m_floppy;
+ required_device<floppy_connector> m_floppy0;
+ required_device<floppy_connector> m_floppy1;
required_memory_region m_psel_rom;
required_memory_region m_pgm_rom;
};
diff --git a/src/devices/bus/s100/nsmdsad.cpp b/src/devices/bus/s100/nsmdsad.cpp
index d1358e85bf0..d13f6a7f748 100644
--- a/src/devices/bus/s100/nsmdsad.cpp
+++ b/src/devices/bus/s100/nsmdsad.cpp
@@ -58,11 +58,10 @@ static void mds_ad_floppies(device_slot_interface &device)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void s100_mds_ad_device::device_add_mconfig(machine_config &config)
-{
- for (auto &floppy : m_floppy)
- FLOPPY_CONNECTOR(config, floppy, mds_ad_floppies, "525dd", floppy_image_device::default_floppy_formats);
-}
+MACHINE_CONFIG_START(s100_mds_ad_device::device_add_mconfig)
+ MCFG_FLOPPY_DRIVE_ADD("floppy0", mds_ad_floppies, "525dd", floppy_image_device::default_floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD("floppy1", mds_ad_floppies, "525dd", floppy_image_device::default_floppy_formats)
+MACHINE_CONFIG_END
@@ -77,7 +76,8 @@ void s100_mds_ad_device::device_add_mconfig(machine_config &config)
s100_mds_ad_device::s100_mds_ad_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, S100_MDS_AD, tag, owner, clock),
device_s100_card_interface(mconfig, *this),
- m_floppy(*this, "floppy%u", 0U),
+ m_floppy0(*this, "floppy0"),
+ m_floppy1(*this, "floppy1"),
m_dsel_rom(*this, "dsel"),
m_dpgm_rom(*this, "dpgm"),
m_dwe_rom(*this, "dwe")
@@ -107,7 +107,7 @@ void s100_mds_ad_device::device_reset()
// s100_smemr_r - memory read
//-------------------------------------------------
-uint8_t s100_mds_ad_device::s100_smemr_r(offs_t offset)
+uint8_t s100_mds_ad_device::s100_smemr_r(address_space &space, offs_t offset)
{
return 0xff;
}
diff --git a/src/devices/bus/s100/nsmdsad.h b/src/devices/bus/s100/nsmdsad.h
index ce5a248d553..f10d3c0af23 100644
--- a/src/devices/bus/s100/nsmdsad.h
+++ b/src/devices/bus/s100/nsmdsad.h
@@ -39,10 +39,11 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// device_s100_card_interface overrides
- virtual uint8_t s100_smemr_r(offs_t offset) override;
+ virtual uint8_t s100_smemr_r(address_space &space, offs_t offset) override;
private:
- required_device_array<floppy_connector, 2> m_floppy;
+ required_device<floppy_connector> m_floppy0;
+ required_device<floppy_connector> m_floppy1;
required_memory_region m_dsel_rom;
required_memory_region m_dpgm_rom;
required_memory_region m_dwe_rom;
diff --git a/src/devices/bus/s100/s100.cpp b/src/devices/bus/s100/s100.cpp
index 23333ce500f..dd28ca385d3 100644
--- a/src/devices/bus/s100/s100.cpp
+++ b/src/devices/bus/s100/s100.cpp
@@ -135,7 +135,7 @@ void s100_bus_device::add_card(device_s100_card_interface *card)
// smemr_r - memory read
//-------------------------------------------------
-uint8_t s100_bus_device::smemr_r(offs_t offset)
+READ8_MEMBER( s100_bus_device::smemr_r )
{
uint8_t data = 0xff;
@@ -143,7 +143,7 @@ uint8_t s100_bus_device::smemr_r(offs_t offset)
while (entry)
{
- data &= entry->s100_smemr_r(offset);
+ data &= entry->s100_smemr_r(space, offset);
entry = entry->next();
}
@@ -155,13 +155,13 @@ uint8_t s100_bus_device::smemr_r(offs_t offset)
// mwrt_w - memory write
//-------------------------------------------------
-void s100_bus_device::mwrt_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER( s100_bus_device::mwrt_w )
{
device_s100_card_interface *entry = m_device_list.first();
while (entry)
{
- entry->s100_mwrt_w(offset, data);
+ entry->s100_mwrt_w(space, offset, data);
entry = entry->next();
}
}
@@ -171,7 +171,7 @@ void s100_bus_device::mwrt_w(offs_t offset, uint8_t data)
// sinp_r - I/O read
//-------------------------------------------------
-uint8_t s100_bus_device::sinp_r(offs_t offset)
+READ8_MEMBER( s100_bus_device::sinp_r )
{
uint8_t data = 0xff;
@@ -179,7 +179,7 @@ uint8_t s100_bus_device::sinp_r(offs_t offset)
while (entry)
{
- data &= entry->s100_sinp_r(offset);
+ data &= entry->s100_sinp_r(space, offset);
entry = entry->next();
}
@@ -191,13 +191,13 @@ uint8_t s100_bus_device::sinp_r(offs_t offset)
// sout_w - I/O write
//-------------------------------------------------
-void s100_bus_device::sout_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER( s100_bus_device::sout_w )
{
device_s100_card_interface *entry = m_device_list.first();
while (entry)
{
- entry->s100_sout_w(offset, data);
+ entry->s100_sout_w(space, offset, data);
entry = entry->next();
}
}
diff --git a/src/devices/bus/s100/s100.h b/src/devices/bus/s100/s100.h
index f231520f694..6336be291e4 100644
--- a/src/devices/bus/s100/s100.h
+++ b/src/devices/bus/s100/s100.h
@@ -68,6 +68,68 @@
//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_S100_SLOT_ADD(_tag, _slot_intf, _def_slot) \
+ MCFG_DEVICE_ADD(_tag, S100_SLOT, DERIVED_CLOCK(1, 1)) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
+
+
+#define MCFG_S100_IRQ_CALLBACK(_write) \
+ downcast<s100_bus_device &>(*device).set_irq_wr_callback(DEVCB_##_write);
+
+#define MCFG_S100_NMI_CALLBACK(_write) \
+ downcast<s100_bus_device &>(*device).set_nmi_wr_callback(DEVCB_##_write);
+
+#define MCFG_S100_VI0_CALLBACK(_write) \
+ downcast<s100_bus_device &>(*device).set_vi0_wr_callback(DEVCB_##_write);
+
+#define MCFG_S100_VI1_CALLBACK(_write) \
+ downcast<s100_bus_device &>(*device).set_vi1_wr_callback(DEVCB_##_write);
+
+#define MCFG_S100_VI2_CALLBACK(_write) \
+ downcast<s100_bus_device &>(*device).set_vi2_wr_callback(DEVCB_##_write);
+
+#define MCFG_S100_VI3_CALLBACK(_write) \
+ downcast<s100_bus_device &>(*device).set_vi3_wr_callback(DEVCB_##_write);
+
+#define MCFG_S100_VI4_CALLBACK(_write) \
+ downcast<s100_bus_device &>(*device).set_vi4_wr_callback(DEVCB_##_write);
+
+#define MCFG_S100_VI5_CALLBACK(_write) \
+ downcast<s100_bus_device &>(*device).set_vi5_wr_callback(DEVCB_##_write);
+
+#define MCFG_S100_VI6_CALLBACK(_write) \
+ downcast<s100_bus_device &>(*device).set_vi6_wr_callback(DEVCB_##_write);
+
+#define MCFG_S100_VI7_CALLBACK(_write) \
+ downcast<s100_bus_device &>(*device).set_vi7_wr_callback(DEVCB_##_write);
+
+#define MCFG_S100_DMA0_CALLBACK(_write) \
+ downcast<s100_bus_device &>(*device).set_dma0_wr_callback(DEVCB_##_write);
+
+#define MCFG_S100_DMA1_CALLBACK(_write) \
+ downcast<s100_bus_device &>(*device).set_dma1_wr_callback(DEVCB_##_write);
+
+#define MCFG_S100_DMA2_CALLBACK(_write) \
+ downcast<s100_bus_device &>(*device).set_dma2_wr_callback(DEVCB_##_write);
+
+#define MCFG_S100_DMA3_CALLBACK(_write) \
+ downcast<s100_bus_device &>(*device).set_dma3_wr_callback(DEVCB_##_write);
+
+#define MCFG_S100_RDY_CALLBACK(_write) \
+ downcast<s100_bus_device &>(*device).set_rdy_wr_callback(DEVCB_##_write);
+
+#define MCFG_S100_HOLD_CALLBACK(_write) \
+ downcast<s100_bus_device &>(*device).set_hold_wr_callback(DEVCB_##_write);
+
+#define MCFG_S100_ERROR_CALLBACK(_write) \
+ downcast<s100_bus_device &>(*device).set_error_wr_callback(DEVCB_##_write);
+
+
+
+//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -99,12 +161,12 @@ public:
virtual void s100_vi7_w(int state) { }
// memory access
- virtual uint8_t s100_smemr_r(offs_t offset) { return 0xff; }
- virtual void s100_mwrt_w(offs_t offset, uint8_t data) { }
+ virtual uint8_t s100_smemr_r(address_space &space, offs_t offset) { return 0xff; }
+ virtual void s100_mwrt_w(address_space &space, offs_t offset, uint8_t data) { }
// I/O access
- virtual uint8_t s100_sinp_r(offs_t offset) { return 0xff; }
- virtual void s100_sout_w(offs_t offset, uint8_t data) { }
+ virtual uint8_t s100_sinp_r(address_space &space, offs_t offset) { return 0xff; }
+ virtual void s100_sout_w(address_space &space, offs_t offset, uint8_t data) { }
// configuration access
virtual void s100_phlda_w(int state) { }
@@ -139,31 +201,31 @@ public:
s100_bus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
~s100_bus_device() { m_device_list.detach_all(); }
- auto irq() { return m_write_irq.bind(); }
- auto nmi() { return m_write_nmi.bind(); }
- auto vi0() { return m_write_vi0.bind(); }
- auto vi1() { return m_write_vi1.bind(); }
- auto vi2() { return m_write_vi2.bind(); }
- auto vi3() { return m_write_vi3.bind(); }
- auto vi4() { return m_write_vi4.bind(); }
- auto vi5() { return m_write_vi5.bind(); }
- auto vi6() { return m_write_vi6.bind(); }
- auto vi7() { return m_write_vi7.bind(); }
- auto dma0() { return m_write_dma0.bind(); }
- auto dma1() { return m_write_dma1.bind(); }
- auto dma2() { return m_write_dma2.bind(); }
- auto dma3() { return m_write_dma3.bind(); }
- auto rdy() { return m_write_rdy.bind(); }
- auto hold() { return m_write_hold.bind(); }
- auto error() { return m_write_error.bind(); }
+ template <class Object> devcb_base &set_irq_wr_callback(Object &&cb) { return m_write_irq.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_nmi_wr_callback(Object &&cb) { return m_write_nmi.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_vi0_wr_callback(Object &&cb) { return m_write_vi0.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_vi1_wr_callback(Object &&cb) { return m_write_vi1.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_vi2_wr_callback(Object &&cb) { return m_write_vi2.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_vi3_wr_callback(Object &&cb) { return m_write_vi3.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_vi4_wr_callback(Object &&cb) { return m_write_vi4.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_vi5_wr_callback(Object &&cb) { return m_write_vi5.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_vi6_wr_callback(Object &&cb) { return m_write_vi6.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_vi7_wr_callback(Object &&cb) { return m_write_vi7.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_dma0_wr_callback(Object &&cb) { return m_write_dma0.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_dma1_wr_callback(Object &&cb) { return m_write_dma1.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_dma2_wr_callback(Object &&cb) { return m_write_dma2.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_dma3_wr_callback(Object &&cb) { return m_write_dma3.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_rdy_wr_callback(Object &&cb) { return m_write_rdy.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_hold_wr_callback(Object &&cb) { return m_write_hold.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_error_wr_callback(Object &&cb) { return m_write_error.set_callback(std::forward<Object>(cb)); }
void add_card(device_s100_card_interface *card);
- uint8_t smemr_r(offs_t offset);
- void mwrt_w(offs_t offset, uint8_t data);
+ DECLARE_READ8_MEMBER( smemr_r );
+ DECLARE_WRITE8_MEMBER( mwrt_w );
- uint8_t sinp_r(offs_t offset);
- void sout_w(offs_t offset, uint8_t data);
+ DECLARE_READ8_MEMBER( sinp_r );
+ DECLARE_WRITE8_MEMBER( sout_w );
DECLARE_WRITE_LINE_MEMBER( irq_w ) { m_write_irq(state); }
DECLARE_WRITE_LINE_MEMBER( nmi_w ) { m_write_nmi(state); }
@@ -217,15 +279,6 @@ class s100_slot_device : public device_t, public device_slot_interface
{
public:
// construction/destruction
- template <typename T>
- s100_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt)
- : s100_slot_device(mconfig, tag, owner, DERIVED_CLOCK(1, 1))
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
s100_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
diff --git a/src/devices/bus/s100/seals8k.cpp b/src/devices/bus/s100/seals8k.cpp
index 949c7d6d2c5..9191f8566df 100644
--- a/src/devices/bus/s100/seals8k.cpp
+++ b/src/devices/bus/s100/seals8k.cpp
@@ -51,8 +51,8 @@ protected:
virtual void device_start() override;
// S-100 memory access handlers
- virtual u8 s100_smemr_r(offs_t offset) override;
- virtual void s100_mwrt_w(offs_t offset, u8 data) override;
+ virtual u8 s100_smemr_r(address_space &space, offs_t offset) override;
+ virtual void s100_mwrt_w(address_space &space, offs_t offset, u8 data) override;
// internal state
std::unique_ptr<u8[]> m_ram;
@@ -203,7 +203,7 @@ bool s100_8k_sc_device::board_selected(offs_t offset) const
// s100_smemr_r - memory read
//-------------------------------------------------
-u8 s100_8k_sc_device::s100_smemr_r(offs_t offset)
+u8 s100_8k_sc_device::s100_smemr_r(address_space &space, offs_t offset)
{
if (board_selected(offset))
return m_ram[offset & 0x1fff];
@@ -216,7 +216,7 @@ u8 s100_8k_sc_device::s100_smemr_r(offs_t offset)
// s100_mwrt_w - memory write
//-------------------------------------------------
-void s100_8k_sc_device::s100_mwrt_w(offs_t offset, u8 data)
+void s100_8k_sc_device::s100_mwrt_w(address_space &space, offs_t offset, u8 data)
{
if (board_selected(offset))
m_ram[offset & 0x1fff] = data;
diff --git a/src/devices/bus/s100/wunderbus.cpp b/src/devices/bus/s100/wunderbus.cpp
index c7db4417dcb..9d307d9053b 100644
--- a/src/devices/bus/s100/wunderbus.cpp
+++ b/src/devices/bus/s100/wunderbus.cpp
@@ -300,7 +300,7 @@ void s100_wunderbus_device::s100_vi2_w(int state)
// s100_sinp_r - I/O read
//-------------------------------------------------
-uint8_t s100_wunderbus_device::s100_sinp_r(offs_t offset)
+uint8_t s100_wunderbus_device::s100_sinp_r(address_space &space, offs_t offset)
{
uint8_t address = (m_7c->read() & 0x3e) << 2;
if ((offset & 0xf8) != address) return 0xff;
@@ -388,15 +388,15 @@ uint8_t s100_wunderbus_device::s100_sinp_r(offs_t offset)
break;
case 1:
- data = m_ace1->ins8250_r(machine().dummy_space(), offset & 0x07);
+ data = m_ace1->ins8250_r(space, offset & 0x07);
break;
case 2:
- data = m_ace2->ins8250_r(machine().dummy_space(), offset & 0x07);
+ data = m_ace2->ins8250_r(space, offset & 0x07);
break;
case 3:
- data = m_ace3->ins8250_r(machine().dummy_space(), offset & 0x07);
+ data = m_ace3->ins8250_r(space, offset & 0x07);
break;
}
}
@@ -409,7 +409,7 @@ uint8_t s100_wunderbus_device::s100_sinp_r(offs_t offset)
// s100_sout_w - I/O write
//-------------------------------------------------
-void s100_wunderbus_device::s100_sout_w(offs_t offset, uint8_t data)
+void s100_wunderbus_device::s100_sout_w(address_space &space, offs_t offset, uint8_t data)
{
uint8_t address = (m_7c->read() & 0x3e) << 2;
if ((offset & 0xf8) != address) return;
@@ -511,15 +511,15 @@ void s100_wunderbus_device::s100_sout_w(offs_t offset, uint8_t data)
break;
case 1:
- m_ace1->ins8250_w(machine().dummy_space(), offset & 0x07, data);
+ m_ace1->ins8250_w(space, offset & 0x07, data);
break;
case 2:
- m_ace2->ins8250_w(machine().dummy_space(), offset & 0x07, data);
+ m_ace2->ins8250_w(space, offset & 0x07, data);
break;
case 3:
- m_ace3->ins8250_w(machine().dummy_space(), offset & 0x07, data);
+ m_ace3->ins8250_w(space, offset & 0x07, data);
break;
}
}
diff --git a/src/devices/bus/s100/wunderbus.h b/src/devices/bus/s100/wunderbus.h
index ca9a6d0e641..540c5cd8b6c 100644
--- a/src/devices/bus/s100/wunderbus.h
+++ b/src/devices/bus/s100/wunderbus.h
@@ -44,8 +44,8 @@ protected:
virtual void s100_vi0_w(int state) override;
virtual void s100_vi1_w(int state) override;
virtual void s100_vi2_w(int state) override;
- virtual uint8_t s100_sinp_r(offs_t offset) override;
- virtual void s100_sout_w(offs_t offset, uint8_t data) override;
+ virtual uint8_t s100_sinp_r(address_space &space, offs_t offset) override;
+ virtual void s100_sout_w(address_space &space, offs_t offset, uint8_t data) override;
private:
DECLARE_WRITE_LINE_MEMBER( pic_int_w );
diff --git a/src/devices/bus/saturn/sat_slot.h b/src/devices/bus/saturn/sat_slot.h
index 63a9ae0dbca..4d94ea472d6 100644
--- a/src/devices/bus/saturn/sat_slot.h
+++ b/src/devices/bus/saturn/sat_slot.h
@@ -67,16 +67,7 @@ class sat_cart_slot_device : public device_t,
{
public:
// construction/destruction
- template <typename T>
- sat_cart_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt)
- : sat_cart_slot_device(mconfig, tag, owner, 0)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
- sat_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+ sat_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~sat_cart_slot_device();
// image-level overrides
@@ -126,4 +117,9 @@ DECLARE_DEVICE_TYPE(SATURN_CART_SLOT, sat_cart_slot_device)
#define SATSLOT_ROM_REGION_TAG ":cart:rom"
+#define MCFG_SATURN_CARTRIDGE_ADD(_tag,_slot_intf,_def_slot) \
+ MCFG_DEVICE_ADD(_tag, SATURN_CART_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
+
+
#endif // MAME_BUS_SATURN_SAT_SLOT_H
diff --git a/src/devices/bus/sbus/cgthree.cpp b/src/devices/bus/sbus/cgthree.cpp
index 091efef3b21..02ddaba688f 100644
--- a/src/devices/bus/sbus/cgthree.cpp
+++ b/src/devices/bus/sbus/cgthree.cpp
@@ -36,7 +36,9 @@ void sbus_cgthree_device::device_add_mconfig(machine_config &config)
{
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_screen_update(FUNC(sbus_cgthree_device::screen_update));
- m_screen->set_raw(92.9405_MHz_XTAL, 1504, 0, 1152, 937, 0, 900);
+ m_screen->set_size(1152, 900);
+ m_screen->set_visarea(0, 1152-1, 0, 900-1);
+ m_screen->set_refresh_hz(72);
BT458(config, m_ramdac, 0);
}
diff --git a/src/devices/bus/scsi/omti5100.cpp b/src/devices/bus/scsi/omti5100.cpp
index 519aa723a0b..415b68bb4ed 100644
--- a/src/devices/bus/scsi/omti5100.cpp
+++ b/src/devices/bus/scsi/omti5100.cpp
@@ -176,8 +176,7 @@ void omti5100_device::WriteData( uint8_t *data, int dataLength )
}
}
-void omti5100_device::device_add_mconfig(machine_config &config)
-{
- HARDDISK(config, m_image0);
- HARDDISK(config, m_image1);
-}
+MACHINE_CONFIG_START(omti5100_device::device_add_mconfig)
+ MCFG_HARDDISK_ADD("image0")
+ MCFG_HARDDISK_ADD("image1")
+MACHINE_CONFIG_END
diff --git a/src/devices/bus/scsi/s1410.cpp b/src/devices/bus/scsi/s1410.cpp
index 5416089fd9d..e05cfe73014 100644
--- a/src/devices/bus/scsi/s1410.cpp
+++ b/src/devices/bus/scsi/s1410.cpp
@@ -165,15 +165,14 @@ void s1410_device::s1410_io(address_map &map)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void s1410_device::device_add_mconfig(machine_config &config)
-{
- z80_device &z8400a(Z80(config, Z8400A_TAG, XTAL(16'000'000)/4));
- z8400a.set_addrmap(AS_PROGRAM, &s1410_device::s1410_mem);
- z8400a.set_addrmap(AS_IO, &s1410_device::s1410_io);
- z8400a.set_disable();
-
- HARDDISK(config, "image");
-}
+MACHINE_CONFIG_START(s1410_device::device_add_mconfig)
+ MCFG_DEVICE_ADD(Z8400A_TAG, Z80, XTAL(16'000'000)/4)
+ MCFG_DEVICE_PROGRAM_MAP(s1410_mem)
+ MCFG_DEVICE_IO_MAP(s1410_io)
+ MCFG_DEVICE_DISABLE()
+
+ MCFG_HARDDISK_ADD("image")
+MACHINE_CONFIG_END
diff --git a/src/devices/bus/scsi/sa1403d.cpp b/src/devices/bus/scsi/sa1403d.cpp
index 5ab22288835..902b69f5b63 100644
--- a/src/devices/bus/scsi/sa1403d.cpp
+++ b/src/devices/bus/scsi/sa1403d.cpp
@@ -57,10 +57,9 @@ const tiny_rom_entry *sa1403d_device::device_rom_region() const
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void sa1403d_device::device_add_mconfig(machine_config &config)
-{
- HARDDISK(config, "image");
-}
+MACHINE_CONFIG_START(sa1403d_device::device_add_mconfig)
+ MCFG_HARDDISK_ADD("image")
+MACHINE_CONFIG_END
//-------------------------------------------------
diff --git a/src/devices/bus/scsi/scsi.h b/src/devices/bus/scsi/scsi.h
index 66ddae370d6..e5995f970ab 100644
--- a/src/devices/bus/scsi/scsi.h
+++ b/src/devices/bus/scsi/scsi.h
@@ -17,6 +17,77 @@
#define SCSI_PORT_DEVICE6 "6"
#define SCSI_PORT_DEVICE7 "7"
+#define MCFG_SCSI_BSY_HANDLER(_devcb) \
+ downcast<scsi_port_device &>(*device).set_bsy_handler(DEVCB_##_devcb);
+
+#define MCFG_SCSI_SEL_HANDLER(_devcb) \
+ downcast<scsi_port_device &>(*device).set_sel_handler(DEVCB_##_devcb);
+
+#define MCFG_SCSI_CD_HANDLER(_devcb) \
+ downcast<scsi_port_device &>(*device).set_cd_handler(DEVCB_##_devcb);
+
+#define MCFG_SCSI_IO_HANDLER(_devcb) \
+ downcast<scsi_port_device &>(*device).set_io_handler(DEVCB_##_devcb);
+
+#define MCFG_SCSI_MSG_HANDLER(_devcb) \
+ downcast<scsi_port_device &>(*device).set_msg_handler(DEVCB_##_devcb);
+
+#define MCFG_SCSI_REQ_HANDLER(_devcb) \
+ downcast<scsi_port_device &>(*device).set_req_handler(DEVCB_##_devcb);
+
+#define MCFG_SCSI_ACK_HANDLER(_devcb) \
+ downcast<scsi_port_device &>(*device).set_ack_handler(DEVCB_##_devcb);
+
+#define MCFG_SCSI_ATN_HANDLER(_devcb) \
+ downcast<scsi_port_device &>(*device).set_atn_handler(DEVCB_##_devcb);
+
+#define MCFG_SCSI_RST_HANDLER(_devcb) \
+ downcast<scsi_port_device &>(*device).set_rst_handler(DEVCB_##_devcb);
+
+#define MCFG_SCSI_DATA0_HANDLER(_devcb) \
+ downcast<scsi_port_device &>(*device).set_data0_handler(DEVCB_##_devcb);
+
+#define MCFG_SCSI_DATA1_HANDLER(_devcb) \
+ downcast<scsi_port_device &>(*device).set_data1_handler(DEVCB_##_devcb);
+
+#define MCFG_SCSI_DATA2_HANDLER(_devcb) \
+ downcast<scsi_port_device &>(*device).set_data2_handler(DEVCB_##_devcb);
+
+#define MCFG_SCSI_DATA3_HANDLER(_devcb) \
+ downcast<scsi_port_device &>(*device).set_data3_handler(DEVCB_##_devcb);
+
+#define MCFG_SCSI_DATA4_HANDLER(_devcb) \
+ downcast<scsi_port_device &>(*device).set_data4_handler(DEVCB_##_devcb);
+
+#define MCFG_SCSI_DATA5_HANDLER(_devcb) \
+ downcast<scsi_port_device &>(*device).set_data5_handler(DEVCB_##_devcb);
+
+#define MCFG_SCSI_DATA6_HANDLER(_devcb) \
+ downcast<scsi_port_device &>(*device).set_data6_handler(DEVCB_##_devcb);
+
+#define MCFG_SCSI_DATA7_HANDLER(_devcb) \
+ downcast<scsi_port_device &>(*device).set_data7_handler(DEVCB_##_devcb);
+
+#define MCFG_SCSI_OUTPUT_LATCH_ADD(_tag, scsi_port_tag) \
+ MCFG_DEVICE_ADD(_tag, OUTPUT_LATCH, 0) \
+ MCFG_OUTPUT_LATCH_BIT0_HANDLER(WRITELINE(scsi_port_tag, scsi_port_device, write_data0)) \
+ MCFG_OUTPUT_LATCH_BIT1_HANDLER(WRITELINE(scsi_port_tag, scsi_port_device, write_data1)) \
+ MCFG_OUTPUT_LATCH_BIT2_HANDLER(WRITELINE(scsi_port_tag, scsi_port_device, write_data2)) \
+ MCFG_OUTPUT_LATCH_BIT3_HANDLER(WRITELINE(scsi_port_tag, scsi_port_device, write_data3)) \
+ MCFG_OUTPUT_LATCH_BIT4_HANDLER(WRITELINE(scsi_port_tag, scsi_port_device, write_data4)) \
+ MCFG_OUTPUT_LATCH_BIT5_HANDLER(WRITELINE(scsi_port_tag, scsi_port_device, write_data5)) \
+ MCFG_OUTPUT_LATCH_BIT6_HANDLER(WRITELINE(scsi_port_tag, scsi_port_device, write_data6)) \
+ MCFG_OUTPUT_LATCH_BIT7_HANDLER(WRITELINE(scsi_port_tag, scsi_port_device, write_data7))
+
+#define MCFG_SCSI_DATA_INPUT_BUFFER(_tag) \
+ MCFG_SCSI_DATA0_HANDLER(WRITELINE(_tag, input_buffer_device, write_bit0)) \
+ MCFG_SCSI_DATA1_HANDLER(WRITELINE(_tag, input_buffer_device, write_bit1)) \
+ MCFG_SCSI_DATA2_HANDLER(WRITELINE(_tag, input_buffer_device, write_bit2)) \
+ MCFG_SCSI_DATA3_HANDLER(WRITELINE(_tag, input_buffer_device, write_bit3)) \
+ MCFG_SCSI_DATA4_HANDLER(WRITELINE(_tag, input_buffer_device, write_bit4)) \
+ MCFG_SCSI_DATA5_HANDLER(WRITELINE(_tag, input_buffer_device, write_bit5)) \
+ MCFG_SCSI_DATA6_HANDLER(WRITELINE(_tag, input_buffer_device, write_bit6)) \
+ MCFG_SCSI_DATA7_HANDLER(WRITELINE(_tag, input_buffer_device, write_bit7))
class scsi_port_slot_device;
class scsi_port_interface;
@@ -29,6 +100,23 @@ public:
// construction/destruction
scsi_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+ template <class Object> devcb_base &set_bsy_handler(Object &&cb) { return m_bsy_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_sel_handler(Object &&cb) { return m_sel_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_cd_handler(Object &&cb) { return m_cd_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_io_handler(Object &&cb) { return m_io_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_msg_handler(Object &&cb) { return m_msg_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_req_handler(Object &&cb) { return m_req_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_ack_handler(Object &&cb) { return m_ack_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_atn_handler(Object &&cb) { return m_atn_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_rst_handler(Object &&cb) { return m_rst_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_data0_handler(Object &&cb) { return m_data0_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_data1_handler(Object &&cb) { return m_data1_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_data2_handler(Object &&cb) { return m_data2_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_data3_handler(Object &&cb) { return m_data3_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_data4_handler(Object &&cb) { return m_data4_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_data5_handler(Object &&cb) { return m_data5_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_data6_handler(Object &&cb) { return m_data6_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_data7_handler(Object &&cb) { return m_data7_handler.set_callback(std::forward<Object>(cb)); }
auto bsy_handler() { return m_bsy_handler.bind(); }
auto sel_handler() { return m_sel_handler.bind(); }
auto cd_handler() { return m_cd_handler.bind(); }
diff --git a/src/devices/bus/scsi/scsicd.cpp b/src/devices/bus/scsi/scsicd.cpp
index 0f577ea44d3..1a5e6f8002d 100644
--- a/src/devices/bus/scsi/scsicd.cpp
+++ b/src/devices/bus/scsi/scsicd.cpp
@@ -30,8 +30,8 @@ void scsicd_device::device_start()
scsihle_device::device_start();
}
-void scsicd_device::device_add_mconfig(machine_config &config)
-{
- CDROM(config, "image").set_interface("cdrom");
- CDDA(config, "cdda");
-}
+MACHINE_CONFIG_START(scsicd_device::device_add_mconfig)
+ MCFG_CDROM_ADD("image")
+ MCFG_CDROM_INTERFACE("cdrom")
+ MCFG_DEVICE_ADD("cdda", CDDA)
+MACHINE_CONFIG_END
diff --git a/src/devices/bus/scsi/scsihd.cpp b/src/devices/bus/scsi/scsihd.cpp
index 4fb01e02130..b63bafeb098 100644
--- a/src/devices/bus/scsi/scsihd.cpp
+++ b/src/devices/bus/scsi/scsihd.cpp
@@ -29,7 +29,7 @@ void scsihd_device::device_start()
scsihle_device::device_start();
}
-void scsihd_device::device_add_mconfig(machine_config &config)
-{
- HARDDISK(config, "image", "scsi_hdd");
-}
+MACHINE_CONFIG_START(scsihd_device::device_add_mconfig)
+ MCFG_HARDDISK_ADD("image")
+ MCFG_HARDDISK_INTERFACE("scsi_hdd")
+MACHINE_CONFIG_END
diff --git a/src/devices/bus/scsi/scsihle.h b/src/devices/bus/scsi/scsihle.h
index e98e38122e7..bce047ae474 100644
--- a/src/devices/bus/scsi/scsihle.h
+++ b/src/devices/bus/scsi/scsihle.h
@@ -84,4 +84,10 @@ extern const input_device_default DEVICE_INPUT_DEFAULTS_NAME(SCSI_ID_5)[];
extern const input_device_default DEVICE_INPUT_DEFAULTS_NAME(SCSI_ID_6)[];
extern const input_device_default DEVICE_INPUT_DEFAULTS_NAME(SCSI_ID_7)[];
+#define MCFG_SCSIDEV_ADD(_tag, _option, _type, _id) \
+ MCFG_DEVICE_MODIFY(_tag ) \
+ MCFG_SLOT_OPTION_ADD( _option, _type ) \
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS( _option, _id ) \
+ MCFG_SLOT_DEFAULT_OPTION( _option )
+
#endif // MAME_BUS_SCSI_SCSIHLE_H
diff --git a/src/devices/bus/scv/slot.h b/src/devices/bus/scv/slot.h
index 357c593c404..5dc3ec6e5b7 100644
--- a/src/devices/bus/scv/slot.h
+++ b/src/devices/bus/scv/slot.h
@@ -66,17 +66,7 @@ class scv_cart_slot_device : public device_t,
{
public:
// construction/destruction
- template <typename T>
- scv_cart_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt)
- : scv_cart_slot_device(mconfig, tag, owner, 0)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
-
- scv_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+ scv_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~scv_cart_slot_device();
// image-level overrides
@@ -126,4 +116,8 @@ DECLARE_DEVICE_TYPE(SCV_CART_SLOT, scv_cart_slot_device)
#define SCVSLOT_ROM_REGION_TAG ":cart:rom"
+#define MCFG_SCV_CARTRIDGE_ADD(_tag,_slot_intf,_def_slot) \
+ MCFG_DEVICE_ADD(_tag, SCV_CART_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
+
#endif // MAME_BUS_SCV_SLOT_H
diff --git a/src/devices/bus/sega8/ccatch.cpp b/src/devices/bus/sega8/ccatch.cpp
index 1180e7a793b..cbe9840bae7 100644
--- a/src/devices/bus/sega8/ccatch.cpp
+++ b/src/devices/bus/sega8/ccatch.cpp
@@ -53,7 +53,6 @@ static void sg1000_card(device_slot_interface &device)
device.option_add_internal("rom", SEGA8_ROM_STD);
}
-void sega8_cardcatch_device::device_add_mconfig(machine_config &config)
-{
- SG1000_CARD_SLOT(config, "cardslot", sg1000_card, nullptr);
-}
+MACHINE_CONFIG_START(sega8_cardcatch_device::device_add_mconfig)
+ MCFG_SG1000_CARD_ADD("cardslot", sg1000_card, nullptr)
+MACHINE_CONFIG_END
diff --git a/src/devices/bus/sega8/mgear.cpp b/src/devices/bus/sega8/mgear.cpp
index 46fb6a4ad52..977ea1f18e7 100644
--- a/src/devices/bus/sega8/mgear.cpp
+++ b/src/devices/bus/sega8/mgear.cpp
@@ -38,8 +38,7 @@ void sega8_mgear_device::device_reset()
}
-void sega8_mgear_device::device_add_mconfig(machine_config &config)
-{
- SMS_CART_SLOT(config, "subslot", sms_cart, nullptr);
- SOFTWARE_LIST(config, "cart_list").set_original("sms");
-}
+MACHINE_CONFIG_START(sega8_mgear_device::device_add_mconfig)
+ MCFG_SMS_CARTRIDGE_ADD("subslot", sms_cart, nullptr)
+ MCFG_SOFTWARE_LIST_ADD("cart_list","sms")
+MACHINE_CONFIG_END
diff --git a/src/devices/bus/sega8/rom.cpp b/src/devices/bus/sega8/rom.cpp
index 1f039361a12..72017b5c795 100644
--- a/src/devices/bus/sega8/rom.cpp
+++ b/src/devices/bus/sega8/rom.cpp
@@ -42,9 +42,6 @@ DEFINE_DEVICE_TYPE(SEGA8_ROM_KOREAN, sega8_korean_device, "sega8_kor
DEFINE_DEVICE_TYPE(SEGA8_ROM_KOREAN_NB, sega8_korean_nb_device, "sega8_korean_nb", "SMS Korean No-Bank Mapper Carts")
DEFINE_DEVICE_TYPE(SEGA8_ROM_SEOJIN, sega8_seojin_device, "sega8_seojin", "SMS Seo Jin Multi-cart")
-// Specific SC-3000 cart types
-DEFINE_DEVICE_TYPE(SEGA8_ROM_MULTICART, sega8_multicart_device, "sega8_multicart", "SC-3000 MkII Multicart Cart")
-DEFINE_DEVICE_TYPE(SEGA8_ROM_MEGACART, sega8_megacart_device, "sega8_megacart", "SC-3000 Megacart Cart")
sega8_rom_device::sega8_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
@@ -188,18 +185,6 @@ sega8_seojin_device::sega8_seojin_device(const machine_config &mconfig, const ch
}
-sega8_multicart_device::sega8_multicart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sega8_rom_device(mconfig, SEGA8_ROM_MULTICART, tag, owner, clock)
-{
-}
-
-
-sega8_megacart_device::sega8_megacart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sega8_rom_device(mconfig, SEGA8_ROM_MEGACART, tag, owner, clock)
-{
-}
-
-
void sega8_rom_device::device_start()
{
save_item(NAME(m_rom_bank_base));
@@ -283,28 +268,6 @@ void sega8_zemina_device::device_reset()
}
-void sega8_multicart_device::device_start()
-{
- save_item(NAME(m_block));
-}
-
-void sega8_multicart_device::device_reset()
-{
- m_block = 0xff;
-}
-
-
-void sega8_megacart_device::device_start()
-{
- save_item(NAME(m_block));
-}
-
-void sega8_megacart_device::device_reset()
-{
- m_block = 0xff;
-}
-
-
// initial bank setup needs to know how many 16K banks are available, so it needs to be called during cart loading...
void sega8_rom_device::late_bank_setup()
@@ -1060,78 +1023,3 @@ READ8_MEMBER(sega8_seojin_device::read_ram)
return m_ram[offset & 0x3fff];
}
-/*-------------------------------------------------
-
- SC-3000 Survivors MkII Multicart
-
--------------------------------------------------*/
-
-READ8_MEMBER(sega8_multicart_device::read_cart)
-{
- // 16K of RAM sits in 0x8000-0xbfff
- if (offset >= 0x8000)
- return m_ram[offset & 0x3fff];
-
- return m_rom[(offset & 0x7fff) | (m_block << 15) % m_rom_size];
-}
-
-WRITE8_MEMBER(sega8_multicart_device::write_cart)
-{
- // 16K of RAM sits in 0x8000-0xbfff
- if (offset >= 0x8000)
- m_ram[offset & 0x3fff] = data;
-}
-
-READ8_MEMBER(sega8_multicart_device::read_ram)
-{
- return m_ram[0x4000 + (offset & 0x3fff)];
-}
-
-WRITE8_MEMBER(sega8_multicart_device::write_ram)
-{
- m_ram[0x4000 + (offset & 0x3fff)] = data;
-}
-
-WRITE8_MEMBER(sega8_multicart_device::write_io)
-{
- if ((offset & 0xe0) == 0xe0)
- m_block = (data & 0x80) ? ((data & 0x1f) | ((data & 0x40) ? 0x20 : 0x00)) : 0x3f;
-}
-
-/*-------------------------------------------------
-
- SC-3000 Survivors Megacart
-
--------------------------------------------------*/
-
-READ8_MEMBER(sega8_megacart_device::read_cart)
-{
- // 16K of RAM sits in 0x8000-0xbfff
- if (offset >= 0x8000)
- return m_ram[offset & 0x3fff];
-
- return m_rom[(offset & 0x7fff) | (m_block << 15) % m_rom_size];
-}
-
-WRITE8_MEMBER(sega8_megacart_device::write_cart)
-{
- // 16K of RAM sits in 0x8000-0xbfff
- if (offset >= 0x8000)
- m_ram[offset & 0x3fff] = data;
-}
-
-READ8_MEMBER(sega8_megacart_device::read_ram)
-{
- return m_ram[0x4000 + (offset & 0x3fff)];
-}
-
-WRITE8_MEMBER(sega8_megacart_device::write_ram)
-{
- m_ram[0x4000 + (offset & 0x3fff)] = data;
-}
-
-WRITE8_MEMBER(sega8_megacart_device::write_io)
-{
- if ((offset & 0xe0) == 0xe0)
- m_block = (data & 0x1f) | (data & 0xc0) >> 1;
-}
diff --git a/src/devices/bus/sega8/rom.h b/src/devices/bus/sega8/rom.h
index 4f9dc80d967..c299ff261c5 100644
--- a/src/devices/bus/sega8/rom.h
+++ b/src/devices/bus/sega8/rom.h
@@ -397,60 +397,6 @@ protected:
};
-// ======================> sega8_multicart_device
-
-class sega8_multicart_device : public sega8_rom_device
-{
-public:
- // construction/destruction
- sega8_multicart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
- // reading and writing
- virtual DECLARE_READ8_MEMBER(read_cart) override;
- virtual DECLARE_WRITE8_MEMBER(write_cart) override;
- virtual DECLARE_WRITE8_MEMBER(write_io) override;
-
- // has internal RAM which overwrites the system one!
- virtual DECLARE_READ8_MEMBER(read_ram) override;
- virtual DECLARE_WRITE8_MEMBER(write_ram) override;
-
-protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
-private:
- uint8_t m_block;
-};
-
-
-// ======================> sega8_megacart_device
-
-class sega8_megacart_device : public sega8_rom_device
-{
-public:
- // construction/destruction
- sega8_megacart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
- // reading and writing
- virtual DECLARE_READ8_MEMBER(read_cart) override;
- virtual DECLARE_WRITE8_MEMBER(write_cart) override;
- virtual DECLARE_WRITE8_MEMBER(write_io) override;
-
- // has internal RAM which overwrites the system one!
- virtual DECLARE_READ8_MEMBER(read_ram) override;
- virtual DECLARE_WRITE8_MEMBER(write_ram) override;
-
-protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
-private:
- uint8_t m_block;
-};
-
-
// device type definition
DECLARE_DEVICE_TYPE(SEGA8_ROM_STD, sega8_rom_device)
DECLARE_DEVICE_TYPE(SEGA8_ROM_OTHELLO, sega8_othello_device)
@@ -470,7 +416,5 @@ DECLARE_DEVICE_TYPE(SEGA8_ROM_HICOM, sega8_hicom_device)
DECLARE_DEVICE_TYPE(SEGA8_ROM_KOREAN, sega8_korean_device)
DECLARE_DEVICE_TYPE(SEGA8_ROM_KOREAN_NB, sega8_korean_nb_device)
DECLARE_DEVICE_TYPE(SEGA8_ROM_SEOJIN, sega8_seojin_device)
-DECLARE_DEVICE_TYPE(SEGA8_ROM_MULTICART, sega8_multicart_device)
-DECLARE_DEVICE_TYPE(SEGA8_ROM_MEGACART, sega8_megacart_device)
#endif // MAME_BUS_SEGA8_ROM_H
diff --git a/src/devices/bus/sega8/sega8_slot.cpp b/src/devices/bus/sega8/sega8_slot.cpp
index e897f6c53e8..3242654b829 100644
--- a/src/devices/bus/sega8/sega8_slot.cpp
+++ b/src/devices/bus/sega8/sega8_slot.cpp
@@ -40,16 +40,6 @@
DEFINE_DEVICE_TYPE(SEGA8_CART_SLOT, sega8_cart_slot_device, "sega8_cart_slot", "Sega Master System / Game Gear / SG-1000 Cartridge Slot")
DEFINE_DEVICE_TYPE(SEGA8_CARD_SLOT, sega8_card_slot_device, "sega8_card_slot", "Sega Master System / Game Gear / SG-1000 Card Slot")
-DEFINE_DEVICE_TYPE(SG1000_CART_SLOT, sg1000_cart_slot_device, "sg1000_cart_slot", "Sega SG-1000 Cartridge Slot")
-DEFINE_DEVICE_TYPE(OMV_CART_SLOT, omv_cart_slot_device, "omv_cart_slot", "Tsukuda Original Othello Multivision FG-1000 / FG-2000 Cartridge Slot")
-DEFINE_DEVICE_TYPE(SC3000_CART_SLOT, sc3000_cart_slot_device, "sc3000_cart_slot", "Sega SC-3000 Cartridge Slot")
-DEFINE_DEVICE_TYPE(SG1000MK3_CART_SLOT, sg1000mk3_cart_slot_device, "sg1000mk3_cart_slot", "Sega SG-1000 Mark III Cartridge Slot")
-DEFINE_DEVICE_TYPE(SMS_CART_SLOT, sms_cart_slot_device, "sms_cart_slot", "Sega Master System Cartridge Slot")
-DEFINE_DEVICE_TYPE(GAMEGEAR_CART_SLOT, gamegear_cart_slot_device, "gamegear_cart_slot", "Sega Game Gear Cartridge Slot")
-
-DEFINE_DEVICE_TYPE(SMS_CARD_SLOT, sms_card_slot_device, "sms_card_slot", "Sega Master System Card Slot")
-DEFINE_DEVICE_TYPE(SG1000_CARD_SLOT, sg1000_card_slot_device, "sg1000_card_slot", "Sega SG-1000 Card Slot")
-
//**************************************************************************
// SMS cartridges Interface
@@ -122,7 +112,10 @@ sega8_cart_slot_device::sega8_cart_slot_device(const machine_config &mconfig, de
, device_image_interface(mconfig, *this)
, device_slot_interface(mconfig, *this)
, m_type(SEGA8_BASE_ROM)
+ , m_must_be_loaded(false)
, m_is_card(is_card)
+ , m_interface("sms_cart")
+ , m_extensions("bin")
, m_cart(nullptr)
{
}
@@ -132,57 +125,11 @@ sega8_cart_slot_device::sega8_cart_slot_device(const machine_config &mconfig, co
{
}
-sega8_card_slot_device::sega8_card_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
- : sega8_cart_slot_device(mconfig, type, tag, owner, clock, true)
-{
-}
-
sega8_card_slot_device::sega8_card_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sega8_card_slot_device(mconfig, SEGA8_CARD_SLOT, tag, owner, clock)
-{
-}
-
-
-sg1000_cart_slot_device::sg1000_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sega8_cart_slot_device(mconfig, SG1000_CART_SLOT, tag, owner, clock)
-{
-}
-
-omv_cart_slot_device::omv_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sega8_cart_slot_device(mconfig, OMV_CART_SLOT, tag, owner, clock)
-{
-}
-
-sc3000_cart_slot_device::sc3000_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sega8_cart_slot_device(mconfig, SC3000_CART_SLOT, tag, owner, clock)
-{
-}
-
-sg1000mk3_cart_slot_device::sg1000mk3_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sega8_cart_slot_device(mconfig, SG1000MK3_CART_SLOT, tag, owner, clock)
-{
-}
-
-sms_cart_slot_device::sms_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sega8_cart_slot_device(mconfig, SMS_CART_SLOT, tag, owner, clock)
+ : sega8_cart_slot_device(mconfig, SEGA8_CARD_SLOT, tag, owner, clock, true)
{
}
-gamegear_cart_slot_device::gamegear_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sega8_cart_slot_device(mconfig, GAMEGEAR_CART_SLOT, tag, owner, clock)
-{
-}
-
-
-sms_card_slot_device::sms_card_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sega8_card_slot_device(mconfig, SMS_CARD_SLOT, tag, owner, clock)
-{
-}
-
-sg1000_card_slot_device::sg1000_card_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sega8_card_slot_device(mconfig, SG1000_CARD_SLOT, tag, owner, clock)
-{
-}
//-------------------------------------------------
// sega8_cart_slot_device - destructor
@@ -231,9 +178,7 @@ static const sega8_slot slot_list[] =
{ SEGA8_MUSIC_EDITOR, "music_editor" },
{ SEGA8_DAHJEE_TYPEA, "dahjee_typea" },
{ SEGA8_DAHJEE_TYPEB, "dahjee_typeb" },
- { SEGA8_SEOJIN, "seojin" },
- { SEGA8_MULTICART, "multicart" },
- { SEGA8_MEGACART, "megacart" }
+ { SEGA8_SEOJIN, "seojin" }
};
static int sega8_get_pcb_id(const char *slot)
@@ -332,7 +277,7 @@ void sega8_cart_slot_device::setup_ram()
m_cart->ram_alloc(0x800);
m_cart->set_has_battery(false);
}
- else if (m_type == SEGA8_BASIC_L3 || m_type == SEGA8_MULTICART || m_type == SEGA8_MEGACART)
+ else if (m_type == SEGA8_BASIC_L3)
{
m_cart->ram_alloc(0x8000);
m_cart->set_has_battery(false);
@@ -639,14 +584,6 @@ int sega8_cart_slot_device::get_cart_type(const uint8_t *ROM, uint32_t len) cons
type = SEGA8_MUSIC_EDITOR;
}
- // SC-3000 Survivors Multicart
- if (len == 0x200000)
- type = SEGA8_MULTICART;
-
- // SC-3000 Survivors Megacart
- if (len == 0x400000)
- type = SEGA8_MEGACART;
-
return type;
}
@@ -701,14 +638,6 @@ READ8_MEMBER(sega8_cart_slot_device::read_ram)
return 0xff;
}
-READ8_MEMBER(sega8_cart_slot_device::read_io)
-{
- if (m_cart)
- return m_cart->read_io(space, offset);
- else
- return 0xff;
-}
-
/*-------------------------------------------------
write
@@ -732,12 +661,6 @@ WRITE8_MEMBER(sega8_cart_slot_device::write_ram)
m_cart->write_ram(space, offset, data);
}
-WRITE8_MEMBER(sega8_cart_slot_device::write_io)
-{
- if (m_cart)
- m_cart->write_io(space, offset, data);
-}
-
/*-------------------------------------------------
Internal header logging
@@ -894,8 +817,6 @@ void sg1000_cart(device_slot_interface &device)
device.option_add_internal("dahjee_typea", SEGA8_ROM_DAHJEE_TYPEA);
device.option_add_internal("dahjee_typeb", SEGA8_ROM_DAHJEE_TYPEB);
device.option_add_internal("cardcatcher", SEGA8_ROM_CARDCATCH);
- device.option_add_internal("multicart", SEGA8_ROM_MULTICART);
- device.option_add_internal("megacart", SEGA8_ROM_MEGACART);
}
void sg1000mk3_cart(device_slot_interface &device)
diff --git a/src/devices/bus/sega8/sega8_slot.h b/src/devices/bus/sega8/sega8_slot.h
index ca3ebdc6172..9b653d4887b 100644
--- a/src/devices/bus/sega8/sega8_slot.h
+++ b/src/devices/bus/sega8/sega8_slot.h
@@ -32,9 +32,7 @@ enum
SEGA8_MUSIC_EDITOR,
SEGA8_DAHJEE_TYPEA,
SEGA8_DAHJEE_TYPEB,
- SEGA8_SEOJIN,
- SEGA8_MULTICART,
- SEGA8_MEGACART
+ SEGA8_SEOJIN
};
@@ -58,9 +56,6 @@ public:
// a few carts (for SG1000) acts as a RAM expansion, taking control of the system RAM in 0xc000-0xffff
virtual DECLARE_READ8_MEMBER(read_ram) { return 0xff; }
virtual DECLARE_WRITE8_MEMBER(write_ram) { }
- // the SC3000 has I/OR, I/OW lines connected
- virtual DECLARE_READ8_MEMBER(read_io) { return 0xff; }
- virtual DECLARE_WRITE8_MEMBER(write_io) { }
void rom_alloc(uint32_t size, const char *tag);
void ram_alloc(uint32_t size);
@@ -131,14 +126,18 @@ public:
void save_ram() { if (m_cart && m_cart->get_ram_size()) m_cart->save_ram(); }
+ void set_mandatory(bool val) { m_must_be_loaded = val; }
+ void set_intf(const char * interface) { m_interface = interface; }
+ void set_ext(const char * extensions) { m_extensions = extensions; }
+
virtual iodevice_t image_type() const override { return IO_CARTSLOT; }
virtual bool is_readable() const override { return 1; }
virtual bool is_writeable() const override { return 0; }
virtual bool is_creatable() const override { return 0; }
+ virtual bool must_be_loaded() const override { return m_must_be_loaded; }
virtual bool is_reset_on_load() const override { return 1; }
- virtual bool must_be_loaded() const override { return false; }
- virtual const char *image_interface() const override { return "sms_cart"; }
- virtual const char *file_extensions() const override { return "bin"; }
+ virtual const char *image_interface() const override { return m_interface; }
+ virtual const char *file_extensions() const override { return m_extensions; }
// slot interface overrides
virtual std::string get_default_card_software(get_default_card_software_hook &hook) const override;
@@ -149,20 +148,20 @@ public:
virtual DECLARE_WRITE8_MEMBER(write_mapper);
virtual DECLARE_READ8_MEMBER(read_ram);
virtual DECLARE_WRITE8_MEMBER(write_ram);
- virtual DECLARE_READ8_MEMBER(read_io);
- virtual DECLARE_WRITE8_MEMBER(write_io);
int get_lphaser_xoffs() { return m_cart ? m_cart->get_lphaser_xoffs() : -1; }
int get_sms_mode() { return m_cart->get_sms_mode(); }
protected:
- sega8_cart_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, bool is_card = false);
+ sega8_cart_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, bool is_card);
// device-level overrides
virtual void device_start() override;
int m_type;
- bool m_is_card;
+ bool m_must_be_loaded, m_is_card;
+ const char *m_interface;
+ const char *m_extensions;
device_sega8_cart_interface* m_cart;
};
@@ -176,188 +175,8 @@ public:
virtual const char *custom_instance_name() const override { return "card"; }
virtual const char *custom_brief_instance_name() const override { return "card"; }
-
-protected:
- // construction/destruction
- sega8_card_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
-};
-
-// ======================> sg1000_cart_slot_device
-
-class sg1000_cart_slot_device : public sega8_cart_slot_device
-{
-public:
- // construction/destruction
- template <typename T>
- sg1000_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, T &&opts, const char *dflt)
- : sg1000_cart_slot_device(mconfig, tag, owner, u32(0))
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
- sg1000_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual bool must_be_loaded() const override { return true; }
- virtual const char *image_interface() const override { return "sg1000_cart"; }
- virtual const char *file_extensions() const override { return "bin,sg"; }
-};
-
-// ======================> omv_cart_slot_device
-
-class omv_cart_slot_device : public sega8_cart_slot_device
-{
-public:
- // construction/destruction
- template <typename T>
- omv_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, T &&opts, const char *dflt)
- : omv_cart_slot_device(mconfig, tag, owner, u32(0))
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
- omv_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual bool must_be_loaded() const override { return false; }
- virtual const char *image_interface() const override { return "sg1000_cart"; }
- virtual const char *file_extensions() const override { return "bin,sg"; }
-};
-
-// ======================> sc3000_cart_slot_device
-
-class sc3000_cart_slot_device : public sega8_cart_slot_device
-{
-public:
- // construction/destruction
- template <typename T>
- sc3000_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, T &&opts, const char *dflt)
- : sc3000_cart_slot_device(mconfig, tag, owner, u32(0))
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
- sc3000_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual bool must_be_loaded() const override { return true; }
- virtual const char *image_interface() const override { return "sg1000_cart"; }
- virtual const char *file_extensions() const override { return "bin,sg,sc"; }
-};
-
-// ======================> sg1000mk3_cart_slot_device
-
-class sg1000mk3_cart_slot_device : public sega8_cart_slot_device
-{
-public:
- // construction/destruction
- template <typename T>
- sg1000mk3_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, T &&opts, const char *dflt)
- : sg1000mk3_cart_slot_device(mconfig, tag, owner, u32(0))
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
- sg1000mk3_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual bool must_be_loaded() const override { return false; }
- virtual const char *image_interface() const override { return "sms_cart,sg1000_cart"; }
- virtual const char *file_extensions() const override { return "bin,sms,sg"; }
};
-// ======================> sms_cart_slot_device
-
-class sms_cart_slot_device : public sega8_cart_slot_device
-{
-public:
- // construction/destruction
- template <typename T>
- sms_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, T &&opts, const char *dflt)
- : sms_cart_slot_device(mconfig, tag, owner, u32(0))
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
- sms_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual bool must_be_loaded() const override { return false; }
- virtual const char *image_interface() const override { return "sms_cart"; }
- virtual const char *file_extensions() const override { return "bin,sms"; }
-};
-
-// ======================> gamegear_cart_slot_device
-
-class gamegear_cart_slot_device : public sega8_cart_slot_device
-{
-public:
- // construction/destruction
- template <typename T>
- gamegear_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, T &&opts, const char *dflt)
- : gamegear_cart_slot_device(mconfig, tag, owner, u32(0))
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
- gamegear_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual bool must_be_loaded() const override { return true; }
- virtual const char *image_interface() const override { return "gamegear_cart"; }
- virtual const char *file_extensions() const override { return "bin,gg"; }
-};
-
-
-// ======================> sms_card_slot_device
-
-class sms_card_slot_device : public sega8_card_slot_device
-{
-public:
- // construction/destruction
- template <typename T>
- sms_card_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, T &&opts, const char *dflt)
- : sms_card_slot_device(mconfig, tag, owner, u32(0))
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
- sms_card_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual bool must_be_loaded() const override { return false; }
- virtual const char *image_interface() const override { return "sms_card"; }
- virtual const char *file_extensions() const override { return "bin"; }
-};
-
-// ======================> sg1000_card_slot_device
-
-class sg1000_card_slot_device : public sega8_card_slot_device
-{
-public:
- // construction/destruction
- template <typename T>
- sg1000_card_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, T &&opts, const char *dflt)
- : sg1000_card_slot_device(mconfig, tag, owner, u32(0))
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
- sg1000_card_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual const char *image_interface() const override { return "sg1000_cart"; }
- virtual const char *file_extensions() const override { return "bin,sg"; }
-};
-
-DECLARE_DEVICE_TYPE(SG1000_CART_SLOT, sg1000_cart_slot_device)
-DECLARE_DEVICE_TYPE(OMV_CART_SLOT, omv_cart_slot_device)
-DECLARE_DEVICE_TYPE(SC3000_CART_SLOT, sc3000_cart_slot_device)
-DECLARE_DEVICE_TYPE(SG1000MK3_CART_SLOT, sg1000mk3_cart_slot_device)
-DECLARE_DEVICE_TYPE(SMS_CART_SLOT, sms_cart_slot_device)
-DECLARE_DEVICE_TYPE(GAMEGEAR_CART_SLOT, gamegear_cart_slot_device)
-DECLARE_DEVICE_TYPE(SMS_CARD_SLOT, sms_card_slot_device)
-DECLARE_DEVICE_TYPE(SG1000_CARD_SLOT, sg1000_card_slot_device)
/***************************************************************************
DEVICE CONFIGURATION MACROS
@@ -366,6 +185,63 @@ DECLARE_DEVICE_TYPE(SG1000_CARD_SLOT, sg1000_card_slot_device)
#define S8SLOT_ROM_REGION_TAG ":cart:rom"
+#define MCFG_SG1000_CARTRIDGE_ADD(_tag,_slot_intf,_def_slot) \
+ MCFG_DEVICE_ADD(_tag, SEGA8_CART_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false) \
+ static_cast<sega8_cart_slot_device *>(device)->set_mandatory(true); \
+ static_cast<sega8_cart_slot_device *>(device)->set_intf("sg1000_cart"); \
+ static_cast<sega8_cart_slot_device *>(device)->set_ext("bin,sg");
+
+#define MCFG_OMV_CARTRIDGE_ADD(_tag,_slot_intf,_def_slot) \
+ MCFG_DEVICE_ADD(_tag, SEGA8_CART_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false) \
+ static_cast<sega8_cart_slot_device *>(device)->set_mandatory(false); \
+ static_cast<sega8_cart_slot_device *>(device)->set_intf("sg1000_cart"); \
+ static_cast<sega8_cart_slot_device *>(device)->set_ext("bin,sg");
+
+#define MCFG_SC3000_CARTRIDGE_ADD(_tag,_slot_intf,_def_slot) \
+ MCFG_DEVICE_ADD(_tag, SEGA8_CART_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false) \
+ static_cast<sega8_cart_slot_device *>(device)->set_mandatory(true); \
+ static_cast<sega8_cart_slot_device *>(device)->set_intf("sg1000_cart"); \
+ static_cast<sega8_cart_slot_device *>(device)->set_ext("bin,sg,sc");
+
+#define MCFG_SG1000MK3_CARTRIDGE_ADD(_tag,_slot_intf,_def_slot) \
+ MCFG_DEVICE_ADD(_tag, SEGA8_CART_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false) \
+ static_cast<sega8_cart_slot_device *>(device)->set_mandatory(false); \
+ static_cast<sega8_cart_slot_device *>(device)->set_intf("sms_cart,sg1000_cart"); \
+ static_cast<sega8_cart_slot_device *>(device)->set_ext("bin,sms,sg");
+
+#define MCFG_SMS_CARTRIDGE_ADD(_tag,_slot_intf,_def_slot) \
+ MCFG_DEVICE_ADD(_tag, SEGA8_CART_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false) \
+ static_cast<sega8_cart_slot_device *>(device)->set_mandatory(false); \
+ static_cast<sega8_cart_slot_device *>(device)->set_intf("sms_cart"); \
+ static_cast<sega8_cart_slot_device *>(device)->set_ext("bin,sms");
+
+#define MCFG_GG_CARTRIDGE_ADD(_tag,_slot_intf,_def_slot) \
+ MCFG_DEVICE_ADD(_tag, SEGA8_CART_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false) \
+ static_cast<sega8_cart_slot_device *>(device)->set_mandatory(true); \
+ static_cast<sega8_cart_slot_device *>(device)->set_intf("gamegear_cart"); \
+ static_cast<sega8_cart_slot_device *>(device)->set_ext("bin,gg");
+
+
+
+#define MCFG_SMS_CARD_ADD(_tag,_slot_intf,_def_slot) \
+ MCFG_DEVICE_ADD(_tag, SEGA8_CARD_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false) \
+ static_cast<sega8_card_slot_device *>(device)->set_mandatory(false); \
+ static_cast<sega8_card_slot_device *>(device)->set_intf("sms_card"); \
+ static_cast<sega8_card_slot_device *>(device)->set_ext("bin");
+#define MCFG_SG1000_CARD_ADD(_tag,_slot_intf,_def_slot) \
+ MCFG_DEVICE_ADD(_tag, SEGA8_CARD_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false) \
+ static_cast<sega8_card_slot_device *>(device)->set_intf("sg1000_cart"); \
+ static_cast<sega8_card_slot_device *>(device)->set_ext("bin,sg");
+
+
// slot interfaces
void sg1000_cart(device_slot_interface &device);
void sg1000mk3_cart(device_slot_interface &device);
diff --git a/src/devices/bus/sg1000_exp/fm_unit.cpp b/src/devices/bus/sg1000_exp/fm_unit.cpp
index a7bdc4bcc5d..ab759994f30 100644
--- a/src/devices/bus/sg1000_exp/fm_unit.cpp
+++ b/src/devices/bus/sg1000_exp/fm_unit.cpp
@@ -50,13 +50,12 @@ SMS version is not playing PSG sound on his Mark III with the FM unit.
DEFINE_DEVICE_TYPE(SEGA_FM_UNIT, sega_fm_unit_device, "sega_fm_unit", "SG-1000 FM Sound Unit")
-void sega_fm_unit_device::device_add_mconfig(machine_config &config)
-{
- YM2413(config, m_ym, XTAL(10'738'635)/3);
+MACHINE_CONFIG_START(sega_fm_unit_device::device_add_mconfig)
+ MCFG_DEVICE_ADD("ym2413", YM2413, XTAL(10'738'635)/3)
// if this output gain is changed, the gain set when unmute the output need
// to be changed too, probably along the gain set for SMSJ/SMSKRFM drivers.
- m_ym->add_route(ALL_OUTPUTS, ":mono", 1.00);
-}
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, ":mono", 1.00)
+MACHINE_CONFIG_END
//**************************************************************************
@@ -123,10 +122,10 @@ WRITE8_MEMBER(sega_fm_unit_device::peripheral_w)
switch (offset)
{
case 0: // register port
- m_ym->write(0, data & 0x3f);
+ m_ym->write(space, 0, data & 0x3f);
break;
case 1: // data port
- m_ym->write(1, data);
+ m_ym->write(space, 1, data);
break;
case 2: // control port
case 3: // mirror
diff --git a/src/devices/bus/sg1000_exp/kblink.cpp b/src/devices/bus/sg1000_exp/kblink.cpp
deleted file mode 100644
index 039c7f91196..00000000000
--- a/src/devices/bus/sg1000_exp/kblink.cpp
+++ /dev/null
@@ -1,179 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Enik Land
-/**********************************************************************
-
- Sega SK-1100 keyboard link cable emulation
-
-The cable is used only to link two Mark III's through keyboard, what
-is supported by the game F-16 Fighting Falcon for its 2 players mode.
-
-Keyboard link cable info (originally from http://homepage3.nifty.com/st-2/,
-but taken from http://www.smspower.org/Games/F16FightingFalcon-SMS-Talk):
-
-- Cable is 7-pin DIN.
-- Crossover scheme of the cable to connect pins
-
- From To
- 1 1
- 2 6
- 3 3
- 4 5
- 5 4
- 6 2
- 7 7
-
-Pinout of the printer port (from Charles MacDonald's sc3000h-20040729.txt
-document, with the function of pin 6 corrected to /FAULT).
-Numbering in counterclockwise/anticlockwise direction:
-
- 1 : Unused (not connected to anything)
- 2 : PPI PC5 (DATA output)
- 3 : PPI PC7 (/FEED output)
- 4 : PPI PB6 (BUSY input)
- 5 : PPI PC6 (/RESET output)
- 6 : PPI PB5 (/FAULT input)
- 7 : GND
-
-**********************************************************************/
-
-#include "emu.h"
-#include "kblink.h"
-
-
-
-//**************************************************************************
-// DEVICE DEFINITIONS
-//**************************************************************************
-
-DEFINE_DEVICE_TYPE(SK1100_LINK_CABLE, sk1100_link_cable_device, "sk1100_link_cable", "SK-1100 Link Cable")
-
-
-//**************************************************************************
-// LIVE DEVICE
-//**************************************************************************
-
-//-------------------------------------------------
-// sk1100_link_cable_device - constructor
-//-------------------------------------------------
-
-sk1100_link_cable_device::sk1100_link_cable_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
- device_t(mconfig, SK1100_LINK_CABLE, tag, owner, clock),
- device_sk1100_printer_port_interface(mconfig, *this),
- m_stream(*this, "stream"),
- m_input_count(0),
- m_input_index(0),
- m_timer_poll(nullptr),
- m_timer_send(nullptr),
- m_timer_read(nullptr),
- m_update_received_data(true),
- m_data(0),
- m_reset(0),
- m_feed(0),
- m_busy(0),
- m_fault(0)
-{
-}
-
-
-//-------------------------------------------------
-// device_start - device-specific startup
-//-------------------------------------------------
-
-void sk1100_link_cable_device::device_start()
-{
- m_timer_poll = timer_alloc(TIMER_POLL);
- m_timer_send = timer_alloc(TIMER_SEND);
- m_timer_read = timer_alloc(TIMER_READ);
-
- /* register for state saving */
- save_item(NAME(m_data));
- save_item(NAME(m_reset));
- save_item(NAME(m_feed));
- save_item(NAME(m_busy));
- save_item(NAME(m_fault));
- save_item(NAME(m_update_received_data));
- save_item(NAME(m_input_count));
- save_item(NAME(m_input_index));
- save_pointer(NAME(m_input_buffer), sizeof(m_input_buffer));
-}
-
-//-------------------------------------------------
-// device_reset - device-specific reset
-//-------------------------------------------------
-
-void sk1100_link_cable_device::device_reset()
-{
- queue();
-}
-
-
-//-------------------------------------------------
-// device_add_mconfig - add device configuration
-//-------------------------------------------------
-
-void sk1100_link_cable_device::device_add_mconfig(machine_config &config)
-{
- BITBANGER(config, m_stream, 0);
-}
-
-
-void sk1100_link_cable_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
-{
- switch (id)
- {
- case TIMER_POLL:
- queue();
- break;
-
- case TIMER_SEND:
- m_stream->output(u8(param));
- break;
-
- case TIMER_READ:
- m_update_received_data = true;
- break;
-
- default:
- break;
- }
-}
-
-void sk1100_link_cable_device::queue()
-{
- if (m_input_index == m_input_count)
- {
- m_input_index = 0;
- m_input_count = m_stream->input(m_input_buffer, sizeof(m_input_buffer));
- if (!m_input_count)
- {
- m_timer_poll->adjust(attotime::from_hz(XTAL(10'738'635)/3));
- }
- }
-}
-
-void sk1100_link_cable_device::set_data_read()
-{
- // Check if a new byte from the input buffer was read for this timeslice.
- if (m_update_received_data == true)
- {
- if (m_input_count != 0)
- {
- u8 byte = m_input_buffer[m_input_index++];
- // there is no way to read what was sent from peer as feed bit.
- m_fault = BIT(byte, 0); // sent from peer as data bit
- m_busy = BIT(byte, 1); // sent from peer as reset bit
- queue();
- }
- // Set to read next byte only after the end of this timeslice.
- m_update_received_data = false;
- m_timer_read->adjust(attotime::zero);
- }
-}
-
-void sk1100_link_cable_device::set_data_transfer()
-{
- u8 byte = (m_feed << 2) | (m_reset << 1) | m_data;
- m_timer_send->adjust(attotime::zero, byte);
-}
-
-
diff --git a/src/devices/bus/sg1000_exp/kblink.h b/src/devices/bus/sg1000_exp/kblink.h
deleted file mode 100644
index 65e5782f4a2..00000000000
--- a/src/devices/bus/sg1000_exp/kblink.h
+++ /dev/null
@@ -1,82 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Enik Land
-/**********************************************************************
-
- Sega SK-1100 keyboard link cable emulation
-
-The cable is used only to link two Mark III's through keyboard, what
-is supported by the game F-16 Fighting Falcon for its 2 players mode.
-
-**********************************************************************/
-
-#ifndef MAME_BUS_SG1000_EXP_SK1100_KBLINK_H
-#define MAME_BUS_SG1000_EXP_SK1100_KBLINK_H
-
-#pragma once
-
-
-#include "sk1100prn.h"
-#include "imagedev/bitbngr.h"
-
-
-
-//**************************************************************************
-// TYPE DEFINITIONS
-//**************************************************************************
-
-// ======================> sk1100_link_cable_device
-
-class sk1100_link_cable_device : public device_t,
- public device_sk1100_printer_port_interface
-{
-public:
- // construction/destruction
- sk1100_link_cable_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
-
-protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
- virtual void device_add_mconfig(machine_config &config) override;
-
- // device_sk1100_link_cable_interface overrides
-
- virtual DECLARE_WRITE_LINE_MEMBER( input_data ) override { m_data = state; set_data_transfer(); }
- virtual DECLARE_WRITE_LINE_MEMBER( input_reset ) override { m_reset = state; set_data_transfer(); }
- virtual DECLARE_WRITE_LINE_MEMBER( input_feed ) override { m_feed = state; set_data_transfer(); }
-
- virtual DECLARE_READ_LINE_MEMBER( output_fault ) override { set_data_read(); return m_fault; }
- virtual DECLARE_READ_LINE_MEMBER( output_busy ) override { set_data_read(); return m_busy; }
-
-private:
- static constexpr int TIMER_POLL = 1;
- static constexpr int TIMER_SEND = 2;
- static constexpr int TIMER_READ = 3;
-
- void queue();
- void set_data_transfer();
- void set_data_read();
-
- required_device<bitbanger_device> m_stream;
-
- u8 m_input_buffer[1000];
- u32 m_input_count;
- u32 m_input_index;
- emu_timer *m_timer_poll;
- emu_timer *m_timer_send;
- emu_timer *m_timer_read;
- bool m_update_received_data;
- int m_data;
- int m_reset;
- int m_feed;
- int m_busy;
- int m_fault;
-};
-
-
-// device type definition
-DECLARE_DEVICE_TYPE(SK1100_LINK_CABLE, sk1100_link_cable_device)
-
-
-#endif // MAME_BUS_SG1000_EXP_SK1100_KBLINK_H
diff --git a/src/devices/bus/sg1000_exp/sg1000exp.h b/src/devices/bus/sg1000_exp/sg1000exp.h
index c132b48d9dd..9a21c263407 100644
--- a/src/devices/bus/sg1000_exp/sg1000exp.h
+++ b/src/devices/bus/sg1000_exp/sg1000exp.h
@@ -15,6 +15,20 @@
#pragma once
+
+
+//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_SG1000_EXPANSION_ADD(_tag, _slot_intf, _def_slot, _fixed) \
+ MCFG_DEVICE_ADD(_tag, SG1000_EXPANSION_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, _fixed)
+#define MCFG_SG1000_EXPANSION_MODIFY(_tag) \
+ MCFG_DEVICE_MODIFY(_tag)
+
+
+
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -27,17 +41,7 @@ class sg1000_expansion_slot_device : public device_t, public device_slot_interfa
{
public:
// construction/destruction
- template <typename T>
- sg1000_expansion_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt, bool const fixed)
- : sg1000_expansion_slot_device(mconfig, tag, owner, 0)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(fixed);
- }
-
- sg1000_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+ sg1000_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~sg1000_expansion_slot_device();
DECLARE_READ8_MEMBER(read);
diff --git a/src/devices/bus/sg1000_exp/sk1100.cpp b/src/devices/bus/sg1000_exp/sk1100.cpp
index 1bb0a01adfd..e23fe34caed 100644
--- a/src/devices/bus/sg1000_exp/sk1100.cpp
+++ b/src/devices/bus/sg1000_exp/sk1100.cpp
@@ -12,6 +12,7 @@ Release data from the Sega Retro project:
TODO:
- SP-400 serial printer
+- Link between two Mark III's through keyboard, supported by F-16 Fighting Falcon
**********************************************************************/
@@ -109,23 +110,23 @@ static INPUT_PORTS_START( sk1100_keys )
PORT_START("PB0")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_8) PORT_CHAR('8') PORT_CHAR('(')
- PORT_BIT( 0x0e, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x06, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("PB1")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_9) PORT_CHAR('9') PORT_CHAR(')')
- PORT_BIT( 0x0e, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x06, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("PB2")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_0) PORT_CHAR('0')
- PORT_BIT( 0x0e, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x06, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("PB3")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_MINUS) PORT_CHAR('-') PORT_CHAR('=')
- PORT_BIT( 0x0e, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x06, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("PB4")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_BACKSLASH2) PORT_CHAR('^')
- PORT_BIT( 0x0e, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x06, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("PB5")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("\xc2\xa5") PORT_CODE(KEYCODE_TILDE) PORT_CHAR(0x00a5)
@@ -153,25 +154,24 @@ ioport_constructor sega_sk1100_device::device_input_ports() const
}
-void sega_sk1100_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(sega_sk1100_device::device_add_mconfig)
/* devices */
I8255(config, m_ppi);
m_ppi->in_pa_callback().set(FUNC(sega_sk1100_device::ppi_pa_r));
m_ppi->in_pb_callback().set(FUNC(sega_sk1100_device::ppi_pb_r));
m_ppi->out_pc_callback().set(FUNC(sega_sk1100_device::ppi_pc_w));
- CASSETTE(config, m_cassette);
- m_cassette->set_formats(sc3000_cassette_formats);
- m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED);
- m_cassette->set_interface("sc3000_cass");
+// MCFG_PRINTER_ADD("sp400") /* serial printer */
- SK1100_PRINTER_PORT(config, m_printer_port, sk1100_printer_port_devices, nullptr);
+ MCFG_CASSETTE_ADD("cassette")
+ MCFG_CASSETTE_FORMATS(sc3000_cassette_formats)
+ MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED)
+ MCFG_CASSETTE_INTERFACE("sc3000_cass")
/* software lists */
- SOFTWARE_LIST(config, "sc3k_cart_list").set_original("sc3000_cart");
- SOFTWARE_LIST(config, "cass_list").set_original("sc3000_cass");
-}
+ MCFG_SOFTWARE_LIST_ADD("sc3k_cart_list","sc3000_cart")
+ MCFG_SOFTWARE_LIST_ADD("cass_list","sc3000_cass")
+MACHINE_CONFIG_END
//**************************************************************************
// LIVE DEVICE
@@ -186,7 +186,6 @@ sega_sk1100_device::sega_sk1100_device(const machine_config &mconfig, const char
device_sg1000_expansion_slot_interface(mconfig, *this),
m_cassette(*this, "cassette"),
m_ppi(*this, UPD9255_0_TAG),
- m_printer_port(*this, "printer"),
m_pa(*this, {"PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7"}),
m_pb(*this, {"PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7"}),
m_keylatch(0)
@@ -263,7 +262,7 @@ READ8_MEMBER( sega_sk1100_device::ppi_pb_r )
PB2 Keyboard input
PB3 Keyboard input
PB4 /CONT input from cartridge terminal B-11
- PB5 /FAULT input from printer
+ PB5 FAULT input from printer
PB6 BUSY input from printer
PB7 Cassette tape input
*/
@@ -274,9 +273,8 @@ READ8_MEMBER( sega_sk1100_device::ppi_pb_r )
/* cartridge contact */
data |= 0x10;
- /* printer port */
- data |= m_printer_port->fault_r() << 5;
- data |= m_printer_port->busy_r() << 6;
+ /* printer */
+ data |= 0x60;
/* tape input */
if (m_cassette->input() > +0.0) data |= 0x80;
@@ -303,10 +301,7 @@ WRITE8_MEMBER( sega_sk1100_device::ppi_pc_w )
m_keylatch = data & 0x07;
/* cassette */
- m_cassette->output(BIT(data, 4) ? +1.0 : -1.0);
+ m_cassette->output( BIT(data, 4) ? +1.0 : -1.0);
- /* printer port */
- m_printer_port->data_w(BIT(data, 5));
- m_printer_port->reset_w(BIT(data, 6));
- m_printer_port->feed_w(BIT(data, 7));
+ /* TODO printer */
}
diff --git a/src/devices/bus/sg1000_exp/sk1100.h b/src/devices/bus/sg1000_exp/sk1100.h
index 13ff5780f64..4845fe09e1c 100644
--- a/src/devices/bus/sg1000_exp/sk1100.h
+++ b/src/devices/bus/sg1000_exp/sk1100.h
@@ -13,9 +13,9 @@
#include "sg1000exp.h"
-#include "sk1100prn.h"
#include "formats/sc3000_bit.h"
#include "imagedev/cassette.h"
+#include "imagedev/printer.h"
#include "machine/i8255.h"
@@ -55,7 +55,6 @@ private:
required_device<cassette_image_device> m_cassette;
required_device<i8255_device> m_ppi;
- required_device<sk1100_printer_port_device> m_printer_port;
required_ioport_array<8> m_pa;
required_ioport_array<8> m_pb;
diff --git a/src/devices/bus/sg1000_exp/sk1100prn.cpp b/src/devices/bus/sg1000_exp/sk1100prn.cpp
deleted file mode 100644
index b902ce3992f..00000000000
--- a/src/devices/bus/sg1000_exp/sk1100prn.cpp
+++ /dev/null
@@ -1,125 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Enik Land
-/**********************************************************************
-
- Sega SK-1100 keyboard printer port emulation
-
-**********************************************************************/
-
-#include "emu.h"
-#include "sk1100prn.h"
-// slot devices
-//#include "sp400.h"
-#include "kblink.h"
-
-
-
-//**************************************************************************
-// GLOBAL VARIABLES
-//**************************************************************************
-
-DEFINE_DEVICE_TYPE(SK1100_PRINTER_PORT, sk1100_printer_port_device, "sk1100_printer_port", "Sega SK-1100 Printer Port")
-
-
-
-//**************************************************************************
-// CARD INTERFACE
-//**************************************************************************
-
-//-------------------------------------------------
-// device_sk1100_printer_port_interface - constructor
-//-------------------------------------------------
-
-device_sk1100_printer_port_interface::device_sk1100_printer_port_interface(const machine_config &mconfig, device_t &device)
- : device_slot_card_interface(mconfig,device)
-{
-}
-
-
-//-------------------------------------------------
-// ~device_sk1100_printer_port_interface - destructor
-//-------------------------------------------------
-
-device_sk1100_printer_port_interface::~device_sk1100_printer_port_interface()
-{
-}
-
-
-
-//**************************************************************************
-// LIVE DEVICE
-//**************************************************************************
-
-//-------------------------------------------------
-// sk1100_printer_port_device - constructor
-//-------------------------------------------------
-
-sk1100_printer_port_device::sk1100_printer_port_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
- device_t(mconfig, SK1100_PRINTER_PORT, tag, owner, clock),
- device_slot_interface(mconfig, *this),
- m_device(nullptr)
-{
-}
-
-
-//-------------------------------------------------
-// sk1100_printer_port_device - destructor
-//-------------------------------------------------
-
-sk1100_printer_port_device::~sk1100_printer_port_device()
-{
-}
-
-
-//-------------------------------------------------
-// device_start - device-specific startup
-//-------------------------------------------------
-
-void sk1100_printer_port_device::device_start()
-{
- m_device = dynamic_cast<device_sk1100_printer_port_interface *>(get_card_device());
-}
-
-WRITE_LINE_MEMBER(sk1100_printer_port_device::data_w)
-{
- if (m_device)
- m_device->input_data(state);
-}
-
-WRITE_LINE_MEMBER(sk1100_printer_port_device::reset_w)
-{
- if (m_device)
- m_device->input_reset(state);
-}
-
-WRITE_LINE_MEMBER(sk1100_printer_port_device::feed_w)
-{
- if (m_device)
- m_device->input_feed(state);
-}
-
-READ_LINE_MEMBER(sk1100_printer_port_device::fault_r)
-{
- if (m_device)
- return m_device->output_fault();
- else
- return 1;
-}
-
-READ_LINE_MEMBER(sk1100_printer_port_device::busy_r)
-{
- if (m_device)
- return m_device->output_busy();
- else
- return 1;
-}
-
-//-------------------------------------------------
-// SLOT_INTERFACE( sk1100_printer_port_devices )
-//-------------------------------------------------
-
-void sk1100_printer_port_devices(device_slot_interface &device)
-{
- //device.option_add("sp400", SP400_PRINTER); /* serial printer */
- device.option_add("kblink", SK1100_LINK_CABLE);
-}
diff --git a/src/devices/bus/sg1000_exp/sk1100prn.h b/src/devices/bus/sg1000_exp/sk1100prn.h
deleted file mode 100644
index b926f311f29..00000000000
--- a/src/devices/bus/sg1000_exp/sk1100prn.h
+++ /dev/null
@@ -1,88 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Enik Land
-/**********************************************************************
-
- Sega SK-1100 keyboard printer port emulation
-
-**********************************************************************
-
-
-**********************************************************************/
-
-#ifndef MAME_BUS_SG1000_EXP_SK1100_PRN_H
-#define MAME_BUS_SG1000_EXP_SK1100_PRN_H
-
-#pragma once
-
-
-//**************************************************************************
-// TYPE DEFINITIONS
-//**************************************************************************
-
-// ======================> sk1100_printer_port_device
-
-class device_sk1100_printer_port_interface;
-
-class sk1100_printer_port_device : public device_t, public device_slot_interface
-{
-public:
- // construction/destruction
- template <typename T>
- sk1100_printer_port_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt)
- : sk1100_printer_port_device(mconfig, tag, owner, 0)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
-
- sk1100_printer_port_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock = 0);
- virtual ~sk1100_printer_port_device();
-
- DECLARE_READ_LINE_MEMBER(fault_r);
- DECLARE_READ_LINE_MEMBER(busy_r);
-
- DECLARE_WRITE_LINE_MEMBER(data_w);
- DECLARE_WRITE_LINE_MEMBER(reset_w);
- DECLARE_WRITE_LINE_MEMBER(feed_w);
-
-protected:
- // device-level overrides
- virtual void device_start() override;
-
-private:
- device_sk1100_printer_port_interface *m_device;
-};
-
-
-// ======================> device_sk1100_printer_port_interface
-
-// class representing interface-specific live sk1100_printer_port peripheral
-class device_sk1100_printer_port_interface : public device_slot_card_interface
-{
- friend class sk1100_printer_port_device;
-public:
- // construction/destruction
- virtual ~device_sk1100_printer_port_interface();
-
-protected:
- device_sk1100_printer_port_interface(const machine_config &mconfig, device_t &device);
-
- virtual DECLARE_WRITE_LINE_MEMBER( input_data ) { }
- virtual DECLARE_WRITE_LINE_MEMBER( input_reset ) { }
- virtual DECLARE_WRITE_LINE_MEMBER( input_feed ) { }
-
- virtual DECLARE_READ_LINE_MEMBER( output_fault ) { return 1; }
- virtual DECLARE_READ_LINE_MEMBER( output_busy ) { return 1; }
-};
-
-
-// device type definition
-DECLARE_DEVICE_TYPE(SK1100_PRINTER_PORT, sk1100_printer_port_device)
-
-
-void sk1100_printer_port_devices(device_slot_interface &device);
-
-
-#endif // MAME_BUS_SG1000_EXP_SK1100_PRN_H
diff --git a/src/devices/bus/sms_ctrl/multitap.cpp b/src/devices/bus/sms_ctrl/multitap.cpp
index 88dbe01acf4..56e7144cbd5 100644
--- a/src/devices/bus/sms_ctrl/multitap.cpp
+++ b/src/devices/bus/sms_ctrl/multitap.cpp
@@ -129,16 +129,15 @@ READ32_MEMBER( sms_multitap_device::pixel_r )
}
-void sms_multitap_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(sms_multitap_device::device_add_mconfig)
// Controller subports setup, without the TH callback declaration,
// because the circuit scheme shows TH of subports without connection.
- SMS_CONTROL_PORT(config, m_subctrl1_port, sms_control_port_devices, "joypad");
- m_subctrl1_port->pixel_handler().set(FUNC(sms_multitap_device::pixel_r));
- SMS_CONTROL_PORT(config, m_subctrl2_port, sms_control_port_devices, "joypad");
- m_subctrl2_port->pixel_handler().set(FUNC(sms_multitap_device::pixel_r));
- SMS_CONTROL_PORT(config, m_subctrl3_port, sms_control_port_devices, "joypad");
- m_subctrl3_port->pixel_handler().set(FUNC(sms_multitap_device::pixel_r));
- SMS_CONTROL_PORT(config, m_subctrl4_port, sms_control_port_devices, "joypad");
- m_subctrl4_port->pixel_handler().set(FUNC(sms_multitap_device::pixel_r));
-}
+ MCFG_SMS_CONTROL_PORT_ADD("ctrl1", sms_control_port_devices, "joypad")
+ MCFG_SMS_CONTROL_PORT_PIXEL_HANDLER(READ32(*this, sms_multitap_device, pixel_r))
+ MCFG_SMS_CONTROL_PORT_ADD("ctrl2", sms_control_port_devices, "joypad")
+ MCFG_SMS_CONTROL_PORT_PIXEL_HANDLER(READ32(*this, sms_multitap_device, pixel_r))
+ MCFG_SMS_CONTROL_PORT_ADD("ctrl3", sms_control_port_devices, "joypad")
+ MCFG_SMS_CONTROL_PORT_PIXEL_HANDLER(READ32(*this, sms_multitap_device, pixel_r))
+ MCFG_SMS_CONTROL_PORT_ADD("ctrl4", sms_control_port_devices, "joypad")
+ MCFG_SMS_CONTROL_PORT_PIXEL_HANDLER(READ32(*this, sms_multitap_device, pixel_r))
+MACHINE_CONFIG_END
diff --git a/src/devices/bus/sms_ctrl/rfu.cpp b/src/devices/bus/sms_ctrl/rfu.cpp
index 36a081abcd1..7b51da5983a 100644
--- a/src/devices/bus/sms_ctrl/rfu.cpp
+++ b/src/devices/bus/sms_ctrl/rfu.cpp
@@ -138,9 +138,8 @@ READ32_MEMBER( sms_rapid_fire_device::pixel_r )
}
-void sms_rapid_fire_device::device_add_mconfig(machine_config &config)
-{
- SMS_CONTROL_PORT(config, m_subctrl_port, sms_control_port_devices, "joypad");
- m_subctrl_port->th_input_handler().set(FUNC(sms_rapid_fire_device::th_pin_w));
- m_subctrl_port->pixel_handler().set(FUNC(sms_rapid_fire_device::pixel_r));
-}
+MACHINE_CONFIG_START(sms_rapid_fire_device::device_add_mconfig)
+ MCFG_SMS_CONTROL_PORT_ADD("ctrl", sms_control_port_devices, "joypad")
+ MCFG_SMS_CONTROL_PORT_TH_INPUT_HANDLER(WRITELINE(*this, sms_rapid_fire_device, th_pin_w))
+ MCFG_SMS_CONTROL_PORT_PIXEL_HANDLER(READ32(*this, sms_rapid_fire_device, pixel_r))
+MACHINE_CONFIG_END
diff --git a/src/devices/bus/sms_ctrl/smsctrl.h b/src/devices/bus/sms_ctrl/smsctrl.h
index 3d11b4e60bd..d116f2c769d 100644
--- a/src/devices/bus/sms_ctrl/smsctrl.h
+++ b/src/devices/bus/sms_ctrl/smsctrl.h
@@ -16,6 +16,26 @@
//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_SMS_CONTROL_PORT_ADD(_tag, _slot_intf, _def_slot) \
+ MCFG_DEVICE_ADD(_tag, SMS_CONTROL_PORT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
+#define MCFG_SMS_CONTROL_PORT_MODIFY(_tag) \
+ MCFG_DEVICE_MODIFY(_tag)
+
+
+#define MCFG_SMS_CONTROL_PORT_TH_INPUT_HANDLER(_devcb) \
+ downcast<sms_control_port_device &>(*device).set_th_input_handler(DEVCB_##_devcb);
+
+
+#define MCFG_SMS_CONTROL_PORT_PIXEL_HANDLER(_devcb) \
+ downcast<sms_control_port_device &>(*device).set_pixel_handler(DEVCB_##_devcb);
+
+
+
+//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -28,23 +48,13 @@ class sms_control_port_device : public device_t,
{
public:
// construction/destruction
- template <typename T>
- sms_control_port_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt)
- : sms_control_port_device(mconfig, tag, owner, 0)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
-
sms_control_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~sms_control_port_device();
// static configuration helpers
- auto th_input_handler() { return m_th_pin_handler.bind(); }
+ template <class Object> devcb_base &set_th_input_handler(Object &&cb) { return m_th_pin_handler.set_callback(std::forward<Object>(cb)); }
- auto pixel_handler() { return m_pixel_handler.bind(); }
+ template <class Object> devcb_base &set_pixel_handler(Object &&cb) { return m_pixel_handler.set_callback(std::forward<Object>(cb)); }
// Physical DE-9 connector interface
diff --git a/src/devices/bus/sms_exp/gender.cpp b/src/devices/bus/sms_exp/gender.cpp
index 227aae8a1da..b6279fb8dff 100644
--- a/src/devices/bus/sms_exp/gender.cpp
+++ b/src/devices/bus/sms_exp/gender.cpp
@@ -95,7 +95,6 @@ WRITE8_MEMBER(sms_gender_adapter_device::write_ram)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void sms_gender_adapter_device::device_add_mconfig(machine_config &config)
-{
- SMS_CART_SLOT(config, "subslot", sms_cart, nullptr);
-}
+MACHINE_CONFIG_START(sms_gender_adapter_device::device_add_mconfig)
+ MCFG_SMS_CARTRIDGE_ADD("subslot", sms_cart, nullptr)
+MACHINE_CONFIG_END
diff --git a/src/devices/bus/sms_exp/smsexp.h b/src/devices/bus/sms_exp/smsexp.h
index 6933b9a9df8..b53027af51e 100644
--- a/src/devices/bus/sms_exp/smsexp.h
+++ b/src/devices/bus/sms_exp/smsexp.h
@@ -15,6 +15,18 @@
#pragma once
+
+
+//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_SMS_EXPANSION_ADD(_tag, _slot_intf, _def_slot) \
+ MCFG_DEVICE_ADD(_tag, SMS_EXPANSION_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
+
+
+
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -49,16 +61,7 @@ class sms_expansion_slot_device : public device_t,
{
public:
// construction/destruction
- template <typename T>
- sms_expansion_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt)
- : sms_expansion_slot_device(mconfig, tag, owner, 0)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
- sms_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+ sms_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~sms_expansion_slot_device();
// reading and writing
diff --git a/src/devices/bus/snes/bsx.cpp b/src/devices/bus/snes/bsx.cpp
index 6aacaa3ed2c..1f6efc1af6c 100644
--- a/src/devices/bus/snes/bsx.cpp
+++ b/src/devices/bus/snes/bsx.cpp
@@ -283,13 +283,13 @@ void sns_rom_bsx_device::access_update()
}
}
-uint8_t sns_rom_bsx_device::read_l(offs_t offset)
+READ8_MEMBER(sns_rom_bsx_device::read_l)
{
if (offset < 0x200000 && access_00_1f)
{
// 0x00-0x1f:0x8000-0xffff -> CART
if (m_slot->m_cart && m_slot->m_cart->get_rom_size())
- return m_slot->m_cart->read_l(offset);
+ return m_slot->m_cart->read_l(space, offset);
}
if (offset >= 0x200000 && offset < 0x400000)
{
@@ -334,13 +334,13 @@ uint8_t sns_rom_bsx_device::read_l(offs_t offset)
}
-uint8_t sns_rom_bsx_device::read_h(offs_t offset)
+READ8_MEMBER(sns_rom_bsx_device::read_h)
{
if (offset < 0x200000 && access_80_9f)
{
// 0x80-0x9f:0x8000-0xffff -> CART
if (m_slot->m_cart && m_slot->m_cart->get_rom_size())
- return m_slot->m_cart->read_l(offset);
+ return m_slot->m_cart->read_l(space, offset);
}
// if not in any of the cases above...
@@ -358,7 +358,7 @@ uint8_t sns_rom_bsx_device::read_h(offs_t offset)
//return 0x00;
}
-void sns_rom_bsx_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(sns_rom_bsx_device::write_l)
{
if (offset < 0x200000 && access_00_1f)
{
@@ -400,7 +400,7 @@ void sns_rom_bsx_device::write_l(offs_t offset, uint8_t data)
}
-void sns_rom_bsx_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(sns_rom_bsx_device::write_h)
{
if (offset < 0x200000 && access_80_9f)
{
@@ -416,7 +416,7 @@ void sns_rom_bsx_device::write_h(offs_t offset, uint8_t data)
}
-uint8_t sns_rom_bsx_device::chip_read(offs_t offset)
+READ8_MEMBER(sns_rom_bsx_device::chip_read)
{
if ((offset & 0xffff) >= 0x2188 && (offset & 0xffff) < 0x21a0)
return m_base_unit->read(offset & 0xffff);
@@ -435,7 +435,7 @@ uint8_t sns_rom_bsx_device::chip_read(offs_t offset)
return 0x00;
}
-void sns_rom_bsx_device::chip_write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(sns_rom_bsx_device::chip_write)
{
if ((offset & 0xffff) >= 0x2188 && (offset & 0xffff) < 0x21a0)
m_base_unit->write(offset & 0xffff, data);
@@ -457,7 +457,7 @@ void sns_rom_bsx_device::chip_write(offs_t offset, uint8_t data)
// LoROM cart w/BS-X slot
-uint8_t sns_rom_bsxlo_device::read_l(offs_t offset)
+READ8_MEMBER(sns_rom_bsxlo_device::read_l)
{
if (offset < 0x400000)
{
@@ -469,7 +469,7 @@ uint8_t sns_rom_bsxlo_device::read_l(offs_t offset)
return 0x00;
}
-uint8_t sns_rom_bsxlo_device::read_h(offs_t offset)
+READ8_MEMBER(sns_rom_bsxlo_device::read_h)
{
if (offset < 0x400000)
{
@@ -481,7 +481,7 @@ uint8_t sns_rom_bsxlo_device::read_h(offs_t offset)
else if (offset < 0x700000)
{
if (m_slot->m_cart && m_slot->m_cart->get_rom_size())
- return m_slot->m_cart->read_h(offset);
+ return m_slot->m_cart->read_h(space, offset);
}
// RAM [70-7f]
return 0x00;
@@ -490,12 +490,12 @@ uint8_t sns_rom_bsxlo_device::read_h(offs_t offset)
// HiROM cart w/BS-X slot
-uint8_t sns_rom_bsxhi_device::read_l(offs_t offset)
+READ8_MEMBER(sns_rom_bsxhi_device::read_l)
{
- return read_h(offset);
+ return read_h(space, offset);
}
-uint8_t sns_rom_bsxhi_device::read_h(offs_t offset)
+READ8_MEMBER(sns_rom_bsxhi_device::read_h)
{
if (offset < 0x200000 && (offset & 0xffff) >= 0x8000)
{
@@ -505,7 +505,7 @@ uint8_t sns_rom_bsxhi_device::read_h(offs_t offset)
if (offset >= 0x200000 && offset < 0x400000)
{
if (m_slot->m_cart && m_slot->m_cart->get_rom_size() && (offset & 0xffff) >= 0x8000)
- return m_slot->m_cart->read_h(offset);
+ return m_slot->m_cart->read_h(space, offset);
}
if (offset >= 0x400000 && offset < 0x600000)
{
@@ -516,7 +516,7 @@ uint8_t sns_rom_bsxhi_device::read_h(offs_t offset)
if (offset >= 0x600000)
{
if (m_slot->m_cart && m_slot->m_cart->get_rom_size())
- return m_slot->m_cart->read_h(offset);
+ return m_slot->m_cart->read_h(space, offset);
}
return 0xff;
}
@@ -530,18 +530,18 @@ uint8_t sns_rom_bsxhi_device::read_h(offs_t offset)
// Hence, we use low read handler for ROM access in the 0x8000-0xffff range (i.e. mempack mapped as LoROM) and
// hi read handler for ROM access in the 0x0000-0xffff range (i.e. mempack mapped as HiROM)...
-uint8_t sns_rom_bsmempak_device::read_l(offs_t offset)
+READ8_MEMBER(sns_rom_bsmempak_device::read_l)
{
int bank = offset / 0x10000;
return m_rom[rom_bank_map[bank] * 0x8000 + (offset & 0x7fff)];
}
-uint8_t sns_rom_bsmempak_device::read_h(offs_t offset)
+READ8_MEMBER(sns_rom_bsmempak_device::read_h)
{
int bank = offset / 0x8000;
return m_rom[rom_bank_map[bank] * 0x8000 + (offset & 0x7fff)];
}
-void sns_rom_bsmempak_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(sns_rom_bsmempak_device::write_l)
{
}
diff --git a/src/devices/bus/snes/bsx.h b/src/devices/bus/snes/bsx.h
index e144ff118ff..24ce7b9f691 100644
--- a/src/devices/bus/snes/bsx.h
+++ b/src/devices/bus/snes/bsx.h
@@ -18,12 +18,12 @@ public:
sns_rom_bsx_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// additional reading and writing
- virtual uint8_t read_l(offs_t offset) override;
- virtual uint8_t read_h(offs_t offset) override;
- virtual void write_l(offs_t offset, uint8_t data) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
- virtual uint8_t chip_read(offs_t offset) override;
- virtual void chip_write(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_l) override;
+ virtual DECLARE_READ8_MEMBER(read_h) override;
+ virtual DECLARE_WRITE8_MEMBER(write_l) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual DECLARE_READ8_MEMBER(chip_read) override;
+ virtual DECLARE_WRITE8_MEMBER(chip_write) override;
protected:
class bsx_base
@@ -84,8 +84,8 @@ public:
sns_rom_bsxlo_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// additional reading and writing
- virtual uint8_t read_l(offs_t offset) override;
- virtual uint8_t read_h(offs_t offset) override;
+ virtual DECLARE_READ8_MEMBER(read_l) override;
+ virtual DECLARE_READ8_MEMBER(read_h) override;
protected:
// device-level overrides
@@ -106,8 +106,8 @@ public:
sns_rom_bsxhi_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// additional reading and writing
- virtual uint8_t read_l(offs_t offset) override;
- virtual uint8_t read_h(offs_t offset) override;
+ virtual DECLARE_READ8_MEMBER(read_l) override;
+ virtual DECLARE_READ8_MEMBER(read_h) override;
protected:
// device-level overrides
@@ -129,12 +129,12 @@ public:
sns_rom_bsmempak_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// additional reading and writing
- virtual uint8_t read_l(offs_t offset) override;
- virtual uint8_t read_h(offs_t offset) override;
- virtual void write_l(offs_t offset, uint8_t data) override;
-// virtual void write_h(offs_t offset, uint8_t data) override;
-// virtual uint8_t chip_read(offs_t offset) override;
-// virtual void chip_write(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_l) override;
+ virtual DECLARE_READ8_MEMBER(read_h) override;
+ virtual DECLARE_WRITE8_MEMBER(write_l) override;
+// virtual DECLARE_WRITE8_MEMBER(write_h);
+// virtual DECLARE_READ8_MEMBER(chip_read);
+// virtual DECLARE_WRITE8_MEMBER(chip_write);
protected:
// device-level overrides
diff --git a/src/devices/bus/snes/event.cpp b/src/devices/bus/snes/event.cpp
index 3591a2a679a..7131807edab 100644
--- a/src/devices/bus/snes/event.cpp
+++ b/src/devices/bus/snes/event.cpp
@@ -60,7 +60,7 @@ void sns_pfest94_device::device_reset()
mapper specific handlers
-------------------------------------------------*/
-uint8_t sns_pfest94_device::read_l(offs_t offset)
+READ8_MEMBER(sns_pfest94_device::read_l)
{
// menu
if ((offset & 0x208000) == 0x208000)
@@ -77,7 +77,7 @@ uint8_t sns_pfest94_device::read_l(offs_t offset)
}
}
-uint8_t sns_pfest94_device::read_h(offs_t offset)
+READ8_MEMBER(sns_pfest94_device::read_h)
{
// menu
if ((offset & 0x208000) == 0x208000)
@@ -103,7 +103,7 @@ uint8_t sns_pfest94_device::read_h(offs_t offset)
// these are used for two diff effects: both to select game from menu and to access the DSP when running SMK!
-uint8_t sns_pfest94_device::chip_read(offs_t offset)
+READ8_MEMBER( sns_pfest94_device::chip_read )
{
if (offset & 0x8000)
{
@@ -119,7 +119,7 @@ uint8_t sns_pfest94_device::chip_read(offs_t offset)
}
-void sns_pfest94_device::chip_write(offs_t offset, uint8_t data)
+WRITE8_MEMBER( sns_pfest94_device::chip_write )
{
if (offset & 0x8000)
{
@@ -186,12 +186,12 @@ void sns_pfest94_device::speedup_addon_bios_access()
// DSP dump contains prg at offset 0 and data at offset 0x2000
-uint32_t sns_pfest94_device::necdsp_prg_r(offs_t offset)
+READ32_MEMBER( sns_pfest94_device::necdsp_prg_r )
{
return get_prg(&m_bios[0], offset);
}
-uint16_t sns_pfest94_device::necdsp_data_r(offs_t offset)
+READ16_MEMBER( sns_pfest94_device::necdsp_data_r )
{
return get_data(&m_bios[0], offset + 0x2000/2);
}
@@ -221,12 +221,11 @@ void sns_pfest94_device::dsp_data_map_lorom(address_map &map)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void sns_pfest94_device::device_add_mconfig(machine_config &config)
-{
- UPD7725(config, m_upd7725, 8000000);
- m_upd7725->set_addrmap(AS_PROGRAM, &sns_pfest94_device::dsp_prg_map_lorom);
- m_upd7725->set_addrmap(AS_DATA, &sns_pfest94_device::dsp_data_map_lorom);
-}
+MACHINE_CONFIG_START(sns_pfest94_device::device_add_mconfig)
+ MCFG_DEVICE_ADD("dsp", UPD7725, 8000000)
+ MCFG_DEVICE_PROGRAM_MAP(dsp_prg_map_lorom)
+ MCFG_DEVICE_DATA_MAP(dsp_data_map_lorom)
+MACHINE_CONFIG_END
//-------------------------------------------------
// Dipswitch
diff --git a/src/devices/bus/snes/event.h b/src/devices/bus/snes/event.h
index dedd18f921a..812022b3799 100644
--- a/src/devices/bus/snes/event.h
+++ b/src/devices/bus/snes/event.h
@@ -32,13 +32,13 @@ protected:
virtual void speedup_addon_bios_access() override;
// reading and writing
- virtual uint8_t read_l(offs_t offset) override;
- virtual uint8_t read_h(offs_t offset) override;
- virtual uint8_t chip_read(offs_t offset) override;
- virtual void chip_write(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_l) override;
+ virtual DECLARE_READ8_MEMBER(read_h) override;
+ virtual DECLARE_READ8_MEMBER(chip_read) override;
+ virtual DECLARE_WRITE8_MEMBER(chip_write) override;
- virtual uint32_t necdsp_prg_r(offs_t offset);
- virtual uint16_t necdsp_data_r(offs_t offset);
+ virtual DECLARE_READ32_MEMBER(necdsp_prg_r);
+ virtual DECLARE_READ16_MEMBER(necdsp_data_r);
private:
required_device<upd7725_device> m_upd7725;
diff --git a/src/devices/bus/snes/rom.cpp b/src/devices/bus/snes/rom.cpp
index 3308808a008..bae27f21fad 100644
--- a/src/devices/bus/snes/rom.cpp
+++ b/src/devices/bus/snes/rom.cpp
@@ -174,12 +174,12 @@ void sns_rom_20col_device::device_start()
mapper specific handlers
-------------------------------------------------*/
-uint8_t sns_rom_device::read_l(offs_t offset)
+READ8_MEMBER(sns_rom_device::read_l)
{
- return read_h(offset);
+ return read_h(space, offset);
}
-uint8_t sns_rom_device::read_h(offs_t offset)
+READ8_MEMBER(sns_rom_device::read_h)
{
int bank = offset / 0x10000;
return m_rom[rom_bank_map[bank] * 0x8000 + (offset & 0x7fff)];
@@ -200,7 +200,7 @@ uint8_t sns_rom_device::read_h(offs_t offset)
***********************************************************************************************************/
-uint8_t sns_rom_obc1_device::chip_read(offs_t offset)
+READ8_MEMBER( sns_rom_obc1_device::chip_read )
{
uint16_t address = offset & 0x1fff;
uint8_t value;
@@ -236,7 +236,7 @@ uint8_t sns_rom_obc1_device::chip_read(offs_t offset)
}
-void sns_rom_obc1_device::chip_write(offs_t offset, uint8_t data)
+WRITE8_MEMBER( sns_rom_obc1_device::chip_write )
{
uint16_t address = offset & 0x1fff;
uint8_t temp;
@@ -289,12 +289,12 @@ void sns_rom_obc1_device::chip_write(offs_t offset, uint8_t data)
// Pokemon (and many others): a byte is written and a permutation of its bits must be returned.
// Address range for read/write depends on the game (check snes.xml)
-uint8_t sns_rom_pokemon_device::chip_read(offs_t offset)
+READ8_MEMBER( sns_rom_pokemon_device::chip_read )
{
return bitswap<8>(m_latch,0,6,7,1,2,3,4,5);
}
-void sns_rom_pokemon_device::chip_write(offs_t offset, uint8_t data)
+WRITE8_MEMBER( sns_rom_pokemon_device::chip_write )
{
m_latch = data;
}
@@ -340,7 +340,7 @@ void sns_rom_tekken2_device::update_prot(uint32_t offset)
}
}
-uint8_t sns_rom_tekken2_device::chip_read(offs_t offset)
+READ8_MEMBER( sns_rom_tekken2_device::chip_read )
{
update_prot(offset);
@@ -362,10 +362,10 @@ uint8_t sns_rom_tekken2_device::chip_read(offs_t offset)
}
}
- return read_open_bus();
+ return 0xff; // should be open_bus
}
-void sns_rom_tekken2_device::chip_write(offs_t offset, uint8_t data)
+WRITE8_MEMBER( sns_rom_tekken2_device::chip_write )
{
update_prot(offset);
}
@@ -373,7 +373,7 @@ void sns_rom_tekken2_device::chip_write(offs_t offset, uint8_t data)
// Soul Blade: Adresses $xxx0-$xxx3 in banks $80-$bf always read $55, $0f, $aa, $f0.
// Banks $c0-$ff return open bus.
-uint8_t sns_rom_soulblad_device::chip_read(offs_t offset)
+READ8_MEMBER( sns_rom_soulblad_device::chip_read )
{
uint8_t value;
offset &= 3;
@@ -401,36 +401,36 @@ uint8_t sns_rom_soulblad_device::chip_read(offs_t offset)
// The actual banks depends on the last 8bits of the address accessed.
// Type 1: bits0-4 of the address are used as base bank (256KB chunks)
-uint8_t sns_rom_mcpirate1_device::read_l(offs_t offset)
+READ8_MEMBER(sns_rom_mcpirate1_device::read_l)
{
- return read_h(offset);
+ return read_h(space, offset);
}
-uint8_t sns_rom_mcpirate1_device::read_h(offs_t offset)
+READ8_MEMBER(sns_rom_mcpirate1_device::read_h)
{
int bank = (offset / 0x10000) + (m_base_bank * 8);
return m_rom[rom_bank_map[bank] * 0x8000 + (offset & 0x7fff)];
}
-void sns_rom_mcpirate1_device::chip_write(offs_t offset, uint8_t data)
+WRITE8_MEMBER( sns_rom_mcpirate1_device::chip_write )
{
m_base_bank = offset & 0x1f;
// printf("offset %X data %X bank %X\n", offset, data, m_base_bank);
}
// Type 2: bits0-3 & bit5 of the address are used as base bank (256KB chunks)
-uint8_t sns_rom_mcpirate2_device::read_l(offs_t offset)
+READ8_MEMBER(sns_rom_mcpirate2_device::read_l)
{
- return read_h(offset);
+ return read_h(space, offset);
}
-uint8_t sns_rom_mcpirate2_device::read_h(offs_t offset)
+READ8_MEMBER(sns_rom_mcpirate2_device::read_h)
{
int bank = (offset / 0x10000) + (m_base_bank * 8);
return m_rom[rom_bank_map[bank] * 0x8000 + (offset & 0x7fff)];
}
-void sns_rom_mcpirate2_device::chip_write(offs_t offset, uint8_t data)
+WRITE8_MEMBER( sns_rom_mcpirate2_device::chip_write )
{
m_base_bank = (offset & 0x0f) | ((offset & 0x20) >> 1);
// printf("offset %X data %X bank %X\n", offset, data, m_base_bank);
@@ -443,19 +443,19 @@ void sns_rom_mcpirate2_device::chip_write(offs_t offset, uint8_t data)
// accesses in [01-3f] don't go to the only 32KB bank)
// - bit 5 is always 0
// it's worth to notice that for FC games size of bank is twice the size of original FC PRG
-uint8_t sns_rom_20col_device::read_l(offs_t offset)
+READ8_MEMBER(sns_rom_20col_device::read_l)
{
- return read_h(offset);
+ return read_h(space, offset);
}
-uint8_t sns_rom_20col_device::read_h(offs_t offset)
+READ8_MEMBER(sns_rom_20col_device::read_h)
{
int prg32k = (!BIT(m_base_bank, 6) && BIT(m_base_bank, 7));
int bank = prg32k ? 0 : (offset / 0x10000);
return m_rom[((m_base_bank & 0x1f) + bank) * 0x8000 + (offset & 0x7fff)];
}
-void sns_rom_20col_device::chip_write(offs_t offset, uint8_t data)
+WRITE8_MEMBER( sns_rom_20col_device::chip_write )
{
// [#] game - written bank value
// [01] spartan x - c6
@@ -486,23 +486,23 @@ void sns_rom_20col_device::chip_write(offs_t offset, uint8_t data)
// Work in progress (probably very wrong)
-uint8_t sns_rom_banana_device::chip_read(offs_t offset)
+READ8_MEMBER( sns_rom_banana_device::chip_read )
{
return bitswap<8>(m_latch[0xf],0,6,7,1,2,3,4,5);
}
-void sns_rom_banana_device::chip_write(offs_t offset, uint8_t data)
+WRITE8_MEMBER( sns_rom_banana_device::chip_write )
{
// printf("write addr %X data %X\n", offset, data);
m_latch[0xf] = data;
}
-uint8_t sns_rom_bugs_device::chip_read(offs_t offset)
+READ8_MEMBER( sns_rom_bugs_device::chip_read )
{
return bitswap<8>(m_latch[offset & 0xff],0,6,7,1,2,3,4,5);
}
-void sns_rom_bugs_device::chip_write(offs_t offset, uint8_t data)
+WRITE8_MEMBER( sns_rom_bugs_device::chip_write )
{
m_latch[offset & 0xff] = data;
}
diff --git a/src/devices/bus/snes/rom.h b/src/devices/bus/snes/rom.h
index d2a09b774c1..9e95e4b8e00 100644
--- a/src/devices/bus/snes/rom.h
+++ b/src/devices/bus/snes/rom.h
@@ -17,8 +17,8 @@ public:
sns_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
- virtual uint8_t read_l(offs_t offset) override;
- virtual uint8_t read_h(offs_t offset) override;
+ virtual DECLARE_READ8_MEMBER(read_l) override;
+ virtual DECLARE_READ8_MEMBER(read_h) override;
protected:
sns_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
@@ -36,8 +36,8 @@ public:
sns_rom_obc1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// additional reading and writing
- virtual uint8_t chip_read(offs_t offset) override;
- virtual void chip_write(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(chip_read) override;
+ virtual DECLARE_WRITE8_MEMBER(chip_write) override;
protected:
// device-level overrides
@@ -60,9 +60,9 @@ public:
// construction/destruction
sns_rom_pokemon_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // reading and writing (protection device)
- virtual uint8_t chip_read(offs_t offset) override;
- virtual void chip_write(offs_t offset, uint8_t data) override;
+ // reading and writing
+ virtual DECLARE_READ8_MEMBER(chip_read) override; // protection device
+ virtual DECLARE_WRITE8_MEMBER(chip_write) override; // protection device
protected:
// device-level overrides
@@ -80,9 +80,9 @@ public:
// construction/destruction
sns_rom_tekken2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // reading and writing (protection device)
- virtual uint8_t chip_read(offs_t offset) override;
- virtual void chip_write(offs_t offset, uint8_t data) override;
+ // reading and writing
+ virtual DECLARE_READ8_MEMBER(chip_read) override; // protection device
+ virtual DECLARE_WRITE8_MEMBER(chip_write) override; // protection device
protected:
// device-level overrides
@@ -104,8 +104,8 @@ public:
// construction/destruction
sns_rom_soulblad_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // reading and writing (protection device)
- virtual uint8_t chip_read(offs_t offset) override;
+ // reading and writing
+ virtual DECLARE_READ8_MEMBER(chip_read) override; // protection device
};
// ======================> sns_rom_mcpirate1_device
@@ -117,9 +117,9 @@ public:
sns_rom_mcpirate1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
- virtual uint8_t read_l(offs_t offset) override;
- virtual uint8_t read_h(offs_t offset) override;
- virtual void chip_write(offs_t offset, uint8_t data) override; // bankswitch device
+ virtual DECLARE_READ8_MEMBER(read_l) override;
+ virtual DECLARE_READ8_MEMBER(read_h) override;
+ virtual DECLARE_WRITE8_MEMBER(chip_write) override; // bankswitch device
protected:
// device-level overrides
@@ -138,9 +138,9 @@ public:
sns_rom_mcpirate2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
- virtual uint8_t read_l(offs_t offset) override;
- virtual uint8_t read_h(offs_t offset) override;
- virtual void chip_write(offs_t offset, uint8_t data) override; // bankswitch device
+ virtual DECLARE_READ8_MEMBER(read_l) override;
+ virtual DECLARE_READ8_MEMBER(read_h) override;
+ virtual DECLARE_WRITE8_MEMBER(chip_write) override; // bankswitch device
protected:
// device-level overrides
@@ -159,9 +159,9 @@ public:
sns_rom_20col_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
- virtual uint8_t read_l(offs_t offset) override;
- virtual uint8_t read_h(offs_t offset) override;
- virtual void chip_write(offs_t offset, uint8_t data) override; // bankswitch device
+ virtual DECLARE_READ8_MEMBER(read_l) override;
+ virtual DECLARE_READ8_MEMBER(read_h) override;
+ virtual DECLARE_WRITE8_MEMBER(chip_write) override; // bankswitch device
protected:
// device-level overrides
@@ -178,9 +178,9 @@ public:
// construction/destruction
sns_rom_banana_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // reading and writing (protection device)
- virtual uint8_t chip_read(offs_t offset) override;
- virtual void chip_write(offs_t offset, uint8_t data) override;
+ // reading and writing
+ virtual DECLARE_READ8_MEMBER(chip_read) override; // protection device
+ virtual DECLARE_WRITE8_MEMBER(chip_write) override; // protection device
protected:
// device-level overrides
@@ -198,9 +198,9 @@ public:
// construction/destruction
sns_rom_bugs_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // reading and writing (protection device)
- virtual uint8_t chip_read(offs_t offset) override;
- virtual void chip_write(offs_t offset, uint8_t data) override;
+ // reading and writing
+ virtual DECLARE_READ8_MEMBER(chip_read) override; // protection device
+ virtual DECLARE_WRITE8_MEMBER(chip_write) override; // protection device
protected:
// device-level overrides
diff --git a/src/devices/bus/snes/rom21.cpp b/src/devices/bus/snes/rom21.cpp
index 8cc1f6fddb6..91c61394688 100644
--- a/src/devices/bus/snes/rom21.cpp
+++ b/src/devices/bus/snes/rom21.cpp
@@ -66,14 +66,14 @@ void sns_rom21_srtc_device::device_reset()
// low and hi reads are not the same! (different ROM banks are accessed)
-uint8_t sns_rom21_device::read_l(offs_t offset)
+READ8_MEMBER(sns_rom21_device::read_l)
{
// here ROM banks from 128 to 255, mirrored twice
int bank = (offset & 0x3fffff) / 0x8000;
return m_rom[rom_bank_map[bank + 0x80] * 0x8000 + (offset & 0x7fff)];
}
-uint8_t sns_rom21_device::read_h(offs_t offset)
+READ8_MEMBER(sns_rom21_device::read_h)
{
// here ROM banks from 0 to 127, mirrored twice
int bank = (offset & 0x3fffff) / 0x8000;
@@ -173,7 +173,7 @@ uint8_t sns_rom21_srtc_device::srtc_weekday( uint32_t year, uint32_t month, uint
// this gets called only for accesses at 0x2800,
// because for 0x2801 open bus gets returned...
-uint8_t sns_rom21_srtc_device::chip_read(offs_t offset)
+READ8_MEMBER(sns_rom21_srtc_device::chip_read)
{
if (m_mode != RTCM_Read)
return 0x00;
@@ -194,7 +194,7 @@ uint8_t sns_rom21_srtc_device::chip_read(offs_t offset)
}
// this gets called only for accesses at 0x2801
-void sns_rom21_srtc_device::chip_write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(sns_rom21_srtc_device::chip_write)
{
data &= 0x0f; // Only the low four bits are used
diff --git a/src/devices/bus/snes/rom21.h b/src/devices/bus/snes/rom21.h
index fb9b0b6c65a..545e2457ef3 100644
--- a/src/devices/bus/snes/rom21.h
+++ b/src/devices/bus/snes/rom21.h
@@ -18,8 +18,8 @@ public:
sns_rom21_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
- virtual uint8_t read_l(offs_t offset) override;
- virtual uint8_t read_h(offs_t offset) override;
+ virtual DECLARE_READ8_MEMBER(read_l) override;
+ virtual DECLARE_READ8_MEMBER(read_h) override;
protected:
sns_rom21_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
@@ -38,8 +38,8 @@ public:
sns_rom21_srtc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
- virtual uint8_t chip_read(offs_t offset) override;
- virtual void chip_write(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(chip_read) override;
+ virtual DECLARE_WRITE8_MEMBER(chip_write) override;
protected:
// S-RTC specific variables
diff --git a/src/devices/bus/snes/sa1.cpp b/src/devices/bus/snes/sa1.cpp
index 487f176fd86..aaf7024ce5f 100644
--- a/src/devices/bus/snes/sa1.cpp
+++ b/src/devices/bus/snes/sa1.cpp
@@ -204,7 +204,7 @@ void sns_sa1_device::recalc_irqs()
// handle this separately to avoid accessing recursively the regs?
-uint8_t sns_sa1_device::var_length_read(uint32_t offset)
+uint8_t sns_sa1_device::var_length_read(address_space &space, uint32_t offset)
{
// handle 0xffea/0xffeb/0xffee/0xffef
if ((offset & 0xffffe0) == 0x00ffe0)
@@ -216,13 +216,13 @@ uint8_t sns_sa1_device::var_length_read(uint32_t offset)
}
if ((offset & 0xc08000) == 0x008000) //$00-3f:8000-ffff
- return read_l(offset & 0x7fffff);
+ return read_l(space, (offset & 0x7fffff));
if ((offset & 0xc08000) == 0x808000) //$80-bf:8000-ffff
- return read_h(offset & 0x7fffff);
+ return read_h(space, (offset & 0x7fffff));
if ((offset & 0xc00000) == 0xc00000) //$c0-ff:0000-ffff
- return read_h(offset & 0x7fffff);
+ return read_h(space, (offset & 0x7fffff));
if ((offset & 0x40e000) == 0x006000) //$00-3f|80-bf:6000-7fff
return read_bwram((m_bwram_snes * 0x2000) + (offset & 0x1fff));
@@ -239,7 +239,7 @@ uint8_t sns_sa1_device::var_length_read(uint32_t offset)
return 0;
}
-void sns_sa1_device::dma_transfer()
+void sns_sa1_device::dma_transfer(address_space &space)
{
// printf("DMA src %08x (%d), dst %08x (%d) cnt %d\n", m_src_addr, m_dma_ctrl & 3, m_dst_addr, m_dma_ctrl & 4, m_dma_cnt);
@@ -260,15 +260,15 @@ void sns_sa1_device::dma_transfer()
case 0: // ROM
if ((dma_src & 0x408000) == 0x008000 && (dma_src & 0x800000) == 0x000000)
{
- data = read_l(dma_src & 0x7fffff);
+ data = read_l(space, (dma_src & 0x7fffff));
}
if ((dma_src & 0x408000) == 0x008000 && (dma_src & 0x800000) == 0x800000)
{
- data = read_h(dma_src & 0x7fffff);
+ data = read_h(space, (dma_src & 0x7fffff));
}
if ((dma_src & 0xc00000) == 0xc00000)
{
- data = read_h(dma_src & 0x7fffff);
+ data = read_h(space, (dma_src & 0x7fffff));
}
break;
@@ -311,17 +311,17 @@ void sns_sa1_device::dma_transfer()
recalc_irqs();
}
-void sns_sa1_device::dma_cctype1_transfer()
+void sns_sa1_device::dma_cctype1_transfer(address_space &space)
{
m_scpu_flags |= SCPU_IRQ_CHARCONV;
recalc_irqs();
}
-void sns_sa1_device::dma_cctype2_transfer()
+void sns_sa1_device::dma_cctype2_transfer(address_space &space)
{
}
-uint8_t sns_sa1_device::read_regs(uint32_t offset)
+uint8_t sns_sa1_device::read_regs(address_space &space, uint32_t offset)
{
uint8_t value = 0xff;
offset &= 0x1ff; // $2200 + offset gives the reg value to compare with docs
@@ -383,8 +383,8 @@ uint8_t sns_sa1_device::read_regs(uint32_t offset)
case 0x10c:
// Var-Length Read Port Low
{
- uint32_t data = (var_length_read(m_vda + 0) << 0) | (var_length_read(m_vda + 1) << 8)
- | (var_length_read(m_vda + 2) << 16);
+ uint32_t data = (var_length_read(space, m_vda + 0) << 0) | (var_length_read(space, m_vda + 1) << 8)
+ | (var_length_read(space, m_vda + 2) << 16);
data >>= m_vbit;
value = (data >> 0) & 0xff;
}
@@ -392,8 +392,8 @@ uint8_t sns_sa1_device::read_regs(uint32_t offset)
case 0x10d:
// Var-Length Read Port High
{
- uint32_t data = (var_length_read(m_vda + 0) << 0) | (var_length_read(m_vda + 1) << 8)
- | (var_length_read(m_vda + 2) << 16);
+ uint32_t data = (var_length_read(space, m_vda + 0) << 0) | (var_length_read(space, m_vda + 1) << 8)
+ | (var_length_read(space, m_vda + 2) << 16);
data >>= m_vbit;
if (m_drm == 1)
@@ -417,7 +417,7 @@ uint8_t sns_sa1_device::read_regs(uint32_t offset)
return value;
}
-void sns_sa1_device::write_regs(uint32_t offset, uint8_t data)
+void sns_sa1_device::write_regs(address_space &space, uint32_t offset, uint8_t data)
{
offset &= 0x1ff; // $2200 + offset gives the reg value to compare with docs
@@ -669,14 +669,14 @@ void sns_sa1_device::write_regs(uint32_t offset, uint8_t data)
{
if (!(m_dma_ctrl & 0x20) && !(m_dma_ctrl & 0x04)) // Normal DMA to IRAM
{
- dma_transfer();
+ dma_transfer(space);
// printf("SA-1: normal DMA to IRAM\n");
}
if (m_dma_ctrl & 0x20 && m_dma_ctrl & 0x10) // CC DMA Type 1
{
// printf("SA-1: CC DMA type 1\n");
- dma_cctype1_transfer();
+ dma_cctype1_transfer(space);
}
}
break;
@@ -688,7 +688,7 @@ void sns_sa1_device::write_regs(uint32_t offset, uint8_t data)
if (!(m_dma_ctrl & 0x20) && m_dma_ctrl & 0x04) // Normal DMA to BWRAM
{
// printf("SA-1: normal DMA to BWRAM\n");
- dma_transfer();
+ dma_transfer(space);
}
}
break;
@@ -729,7 +729,7 @@ void sns_sa1_device::write_regs(uint32_t offset, uint8_t data)
if (m_dma_ctrl & 0x20 && !(m_dma_ctrl & 0x10)) // CC DMA Type 2
{
// printf("SA-1: CC DMA type 2\n");
- dma_cctype2_transfer();
+ dma_cctype2_transfer(space);
}
}
break;
@@ -901,7 +901,7 @@ void sns_sa1_device::write_bwram(uint32_t offset, uint8_t data)
-------------------------------------------------*/
-uint8_t sns_sa1_device::read_l(offs_t offset)
+READ8_MEMBER(sns_sa1_device::read_l)
{
int bank;
@@ -936,7 +936,7 @@ uint8_t sns_sa1_device::read_l(offs_t offset)
return 0; // this should not happen (the driver should only call read_l in the above case)
}
-uint8_t sns_sa1_device::read_h(offs_t offset)
+READ8_MEMBER(sns_sa1_device::read_h)
{
int bank;
@@ -972,20 +972,20 @@ uint8_t sns_sa1_device::read_h(offs_t offset)
return m_rom[rom_bank_map[(m_bank_f_rom * 0x20) + ((offset - 0x700000) / 0x8000)] * 0x8000 + (offset & 0x7fff)];
}
-void sns_sa1_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(sns_sa1_device::write_l)
{
}
-void sns_sa1_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(sns_sa1_device::write_h)
{
}
-uint8_t sns_sa1_device::chip_read(offs_t offset)
+READ8_MEMBER( sns_sa1_device::chip_read )
{
uint16_t address = offset & 0xffff;
if (offset < 0x400000 && address >= 0x2200 && address < 0x2400)
- return read_regs(address & 0x1ff); // SA-1 Regs
+ return read_regs(space, address & 0x1ff); // SA-1 Regs
if (offset < 0x400000 && address >= 0x3000 && address < 0x3800)
return read_iram(address & 0x7ff); // Internal SA-1 RAM (2K)
@@ -1000,12 +1000,12 @@ uint8_t sns_sa1_device::chip_read(offs_t offset)
}
-void sns_sa1_device::chip_write(offs_t offset, uint8_t data)
+WRITE8_MEMBER( sns_sa1_device::chip_write )
{
uint16_t address = offset & 0xffff;
if (offset < 0x400000 && address >= 0x2200 && address < 0x2400)
- write_regs(address & 0x1ff, data); // SA-1 Regs
+ write_regs(space, address & 0x1ff, data); // SA-1 Regs
if (offset < 0x400000 && address >= 0x3000 && address < 0x3800)
write_iram(address & 0x7ff, data); // Internal SA-1 RAM (2K)
@@ -1026,7 +1026,7 @@ void sns_sa1_device::chip_write(offs_t offset, uint8_t data)
// I/O regs or WRAM, and there are a few additional accesses to IRAM (in [00-3f][0000-07ff])
// and to BWRAM (in [60-6f][0000-ffff], so-called bitmap mode)
-uint8_t sns_sa1_device::sa1_hi_r(offs_t offset)
+READ8_MEMBER( sns_sa1_device::sa1_hi_r )
{
uint16_t address = offset & 0xffff;
@@ -1037,22 +1037,22 @@ uint8_t sns_sa1_device::sa1_hi_r(offs_t offset)
if (address < 0x0800)
return read_iram(offset); // Internal SA-1 RAM (2K)
else if (address >= 0x2200 && address < 0x2400)
- return read_regs(offset & 0x1ff); // SA-1 Regs
+ return read_regs(space, offset & 0x1ff); // SA-1 Regs
else if (address >= 0x3000 && address < 0x3800)
return read_iram(offset); // Internal SA-1 RAM (2K)
}
else if (address < 0x8000)
return read_bwram((m_bwram_sa1 * 0x2000) + (offset & 0x1fff) + (m_bwram_sa1_source * 0x100000)); // SA-1 BWRAM
else
- return read_h(offset); // ROM
+ return read_h(space, offset); // ROM
return 0xff; // maybe open bus? same as the main system one or diff? (currently not accessible from carts anyway...)
}
else
- return read_h(offset); // ROM
+ return read_h(space, offset); // ROM
}
-uint8_t sns_sa1_device::sa1_lo_r(offs_t offset)
+READ8_MEMBER( sns_sa1_device::sa1_lo_r )
{
uint16_t address = offset & 0xffff;
@@ -1063,7 +1063,7 @@ uint8_t sns_sa1_device::sa1_lo_r(offs_t offset)
if (address < 0x0800)
return read_iram(offset); // Internal SA-1 RAM (2K)
else if (address >= 0x2200 && address < 0x2400)
- return read_regs(offset & 0x1ff); // SA-1 Regs
+ return read_regs(space, offset & 0x1ff); // SA-1 Regs
else if (address >= 0x3000 && address < 0x3800)
return read_iram(offset); // Internal SA-1 RAM (2K)
}
@@ -1094,7 +1094,7 @@ uint8_t sns_sa1_device::sa1_lo_r(offs_t offset)
return m_sa1_reset>>8;
}
else
- return read_l(offset); // ROM
+ return read_l(space, offset); // ROM
return 0xff; // maybe open bus? same as the main system one or diff? (currently not accessible from carts anyway...)
}
@@ -1106,7 +1106,7 @@ uint8_t sns_sa1_device::sa1_lo_r(offs_t offset)
return 0xff; // nothing should be mapped here, so maybe open bus?
}
-void sns_sa1_device::sa1_hi_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER( sns_sa1_device::sa1_hi_w )
{
uint16_t address = offset & 0xffff;
if (offset < 0x400000)
@@ -1116,7 +1116,7 @@ void sns_sa1_device::sa1_hi_w(offs_t offset, uint8_t data)
if (address < 0x0800)
write_iram(offset, data); // Internal SA-1 RAM (2K)
else if (address >= 0x2200 && address < 0x2400)
- write_regs(offset & 0x1ff, data); // SA-1 Regs
+ write_regs(space, offset & 0x1ff, data); // SA-1 Regs
else if (address >= 0x3000 && address < 0x3800)
write_iram(offset, data); // Internal SA-1 RAM (2K)
}
@@ -1125,14 +1125,14 @@ void sns_sa1_device::sa1_hi_w(offs_t offset, uint8_t data)
}
}
-void sns_sa1_device::sa1_lo_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER( sns_sa1_device::sa1_lo_w )
{
if (offset >= 0x400000 && offset < 0x500000)
write_bwram(offset & 0xfffff, data); // SA-1 BWRAM (not mirrored above!)
else if (offset >= 0x600000 && offset < 0x700000)
write_bwram((offset & 0xfffff) + 0x100000, data); // SA-1 BWRAM Bitmap mode
else
- sa1_hi_w(offset, data);
+ sa1_hi_w(space, offset, data);
}
void sns_sa1_device::sa1_map(address_map &map)
@@ -1143,8 +1143,7 @@ void sns_sa1_device::sa1_map(address_map &map)
}
-void sns_sa1_device::device_add_mconfig(machine_config &config)
-{
- G65816(config, m_sa1, 10000000);
- m_sa1->set_addrmap(AS_PROGRAM, &sns_sa1_device::sa1_map);
-}
+MACHINE_CONFIG_START(sns_sa1_device::device_add_mconfig)
+ MCFG_DEVICE_ADD("sa1cpu", G65816, 10000000)
+ MCFG_DEVICE_PROGRAM_MAP(sa1_map)
+MACHINE_CONFIG_END
diff --git a/src/devices/bus/snes/sa1.h b/src/devices/bus/snes/sa1.h
index e4fb646385a..6ea8ae9b15a 100644
--- a/src/devices/bus/snes/sa1.h
+++ b/src/devices/bus/snes/sa1.h
@@ -26,25 +26,25 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// reading and writing
- virtual uint8_t read_l(offs_t offset) override;
- virtual uint8_t read_h(offs_t offset) override;
- virtual void write_l(offs_t offset, uint8_t data) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_l) override;
+ virtual DECLARE_READ8_MEMBER(read_h) override;
+ virtual DECLARE_WRITE8_MEMBER(write_l) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
// additional reading and writing
- virtual uint8_t chip_read(offs_t offset) override;
- virtual void chip_write(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(chip_read) override;
+ virtual DECLARE_WRITE8_MEMBER(chip_write) override;
private:
- uint8_t var_length_read(uint32_t offset);
- void dma_transfer();
- void dma_cctype1_transfer();
- void dma_cctype2_transfer();
+ uint8_t var_length_read(address_space &space, uint32_t offset);
+ void dma_transfer(address_space &space);
+ void dma_cctype1_transfer(address_space &space);
+ void dma_cctype2_transfer(address_space &space);
- uint8_t read_regs(uint32_t offset);
+ uint8_t read_regs(address_space &space, uint32_t offset);
uint8_t read_iram(uint32_t offset);
uint8_t read_bwram(uint32_t offset);
- void write_regs(uint32_t offset, uint8_t data);
+ void write_regs(address_space &space, uint32_t offset, uint8_t data);
void write_iram(uint32_t offset, uint8_t data);
void write_bwram(uint32_t offset, uint8_t data);
void recalc_irqs();
@@ -103,10 +103,10 @@ private:
// $2302-$2305
uint16_t m_hcr, m_vcr;
- uint8_t sa1_lo_r(offs_t offset);
- uint8_t sa1_hi_r(offs_t offset);
- void sa1_lo_w(offs_t offset, uint8_t data);
- void sa1_hi_w(offs_t offset, uint8_t data);
+ DECLARE_READ8_MEMBER(sa1_lo_r);
+ DECLARE_READ8_MEMBER(sa1_hi_r);
+ DECLARE_WRITE8_MEMBER(sa1_lo_w);
+ DECLARE_WRITE8_MEMBER(sa1_hi_w);
void sa1_map(address_map &map);
};
diff --git a/src/devices/bus/snes/sdd1.cpp b/src/devices/bus/snes/sdd1.cpp
index 94374d07681..6d13fcd97a8 100644
--- a/src/devices/bus/snes/sdd1.cpp
+++ b/src/devices/bus/snes/sdd1.cpp
@@ -470,7 +470,7 @@ void sns_rom_sdd1_device::device_reset()
mapper specific handlers
-------------------------------------------------*/
-uint8_t sns_rom_sdd1_device::chip_read(offs_t offset)
+READ8_MEMBER( sns_rom_sdd1_device::chip_read )
{
uint16_t addr = offset & 0xffff;
@@ -491,7 +491,7 @@ uint8_t sns_rom_sdd1_device::chip_read(offs_t offset)
}
-void sns_rom_sdd1_device::chip_write(offs_t offset, uint8_t data)
+WRITE8_MEMBER( sns_rom_sdd1_device::chip_write )
{
uint16_t addr = offset & 0xffff;
@@ -589,7 +589,7 @@ uint8_t sns_rom_sdd1_device::read_helper(uint32_t addr)
return m_rom[m_mmc[(addr >> 20) & 3] + (addr & 0x0fffff)];
}
-uint8_t sns_rom_sdd1_device::read_l(offs_t offset)
+READ8_MEMBER(sns_rom_sdd1_device::read_l)
{
if (offset < 0x400000)
return m_rom[rom_bank_map[offset / 0x10000] * 0x8000 + (offset & 0x7fff)];
@@ -597,21 +597,21 @@ uint8_t sns_rom_sdd1_device::read_l(offs_t offset)
return m_rom[rom_bank_map[(offset - 0x400000) / 0x8000] * 0x8000 + (offset & 0x7fff)];
}
-uint8_t sns_rom_sdd1_device::read_h(offs_t offset)
+READ8_MEMBER(sns_rom_sdd1_device::read_h)
{
if (offset >= 0x400000)
return read_helper(offset - 0x400000);
else
- return read_l(offset);
+ return read_l(space, offset);
}
-uint8_t sns_rom_sdd1_device::read_ram(offs_t offset)
+READ8_MEMBER( sns_rom_sdd1_device::read_ram )
{
return m_nvram[offset & 0x1fff];
}
-void sns_rom_sdd1_device::write_ram(offs_t offset, uint8_t data)
+WRITE8_MEMBER( sns_rom_sdd1_device::write_ram )
{
m_nvram[offset & 0x1fff] = data;
}
diff --git a/src/devices/bus/snes/sdd1.h b/src/devices/bus/snes/sdd1.h
index 5164a169f65..6265e630bdc 100644
--- a/src/devices/bus/snes/sdd1.h
+++ b/src/devices/bus/snes/sdd1.h
@@ -19,12 +19,12 @@ public:
sns_rom_sdd1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
- virtual uint8_t read_l(offs_t offset) override;
- virtual uint8_t read_h(offs_t offset) override;
- virtual uint8_t read_ram(offs_t offset) override;
- virtual void write_ram(offs_t offset, uint8_t data) override;
- virtual uint8_t chip_read(offs_t offset) override;
- virtual void chip_write(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_l) override;
+ virtual DECLARE_READ8_MEMBER(read_h) override;
+ virtual DECLARE_READ8_MEMBER(read_ram) override;
+ virtual DECLARE_WRITE8_MEMBER(write_ram) override;
+ virtual DECLARE_READ8_MEMBER(chip_read) override;
+ virtual DECLARE_WRITE8_MEMBER(chip_write) override;
protected:
sns_rom_sdd1_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
diff --git a/src/devices/bus/snes/sfx.cpp b/src/devices/bus/snes/sfx.cpp
index 59908b9b06e..cf9942ada4d 100644
--- a/src/devices/bus/snes/sfx.cpp
+++ b/src/devices/bus/snes/sfx.cpp
@@ -40,30 +40,30 @@ void sns_rom_superfx_device::device_reset()
// LoROM + SuperFX (GSU-1,2)
// TODO: mask sfx_ram based on the actual RAM...
-uint8_t sns_rom_superfx_device::superfx_r_bank1(offs_t offset)
+READ8_MEMBER( sns_rom_superfx_device::superfx_r_bank1 )
{
return m_rom[rom_bank_map[offset / 0x10000] * 0x8000 + (offset & 0x7fff)];
}
-uint8_t sns_rom_superfx_device::superfx_r_bank2(offs_t offset)
+READ8_MEMBER( sns_rom_superfx_device::superfx_r_bank2 )
{
return m_rom[rom_bank_map[offset / 0x8000] * 0x8000 + (offset & 0x7fff)];
}
-uint8_t sns_rom_superfx_device::superfx_r_bank3(offs_t offset)
+READ8_MEMBER( sns_rom_superfx_device::superfx_r_bank3 )
{
return sfx_ram[offset & 0xfffff];
}
-void sns_rom_superfx_device::superfx_w_bank1(offs_t offset, uint8_t data)
+WRITE8_MEMBER( sns_rom_superfx_device::superfx_w_bank1 )
{
}
-void sns_rom_superfx_device::superfx_w_bank2(offs_t offset, uint8_t data)
+WRITE8_MEMBER( sns_rom_superfx_device::superfx_w_bank2 )
{
}
-void sns_rom_superfx_device::superfx_w_bank3(offs_t offset, uint8_t data)
+WRITE8_MEMBER( sns_rom_superfx_device::superfx_w_bank3 )
{
sfx_ram[offset & 0xfffff] = data;
}
@@ -92,23 +92,23 @@ void sns_rom_superfx_device::device_add_mconfig(machine_config &config)
m_superfx->irq().set(FUNC(sns_rom_superfx_device::snes_extern_irq_w)); /* IRQ line from cart */
}
-uint8_t sns_rom_superfx_device::chip_read(offs_t offset)
+READ8_MEMBER( sns_rom_superfx_device::chip_read )
{
return m_superfx->mmio_read(offset);
}
-void sns_rom_superfx_device::chip_write(offs_t offset, uint8_t data)
+WRITE8_MEMBER( sns_rom_superfx_device::chip_write )
{
m_superfx->mmio_write(offset, data);
}
-uint8_t sns_rom_superfx_device::read_l(offs_t offset)
+READ8_MEMBER( sns_rom_superfx_device::read_l )
{
- return read_h(offset);
+ return read_h(space, offset);
}
-uint8_t sns_rom_superfx_device::read_h(offs_t offset)
+READ8_MEMBER(sns_rom_superfx_device::read_h)
{
if (offset < 0x400000)
return m_rom[rom_bank_map[offset / 0x10000] * 0x8000 + (offset & 0x7fff)];
@@ -130,14 +130,14 @@ uint8_t sns_rom_superfx_device::read_h(offs_t offset)
return 0xff; // this handler should never be called for [60-7f]/[e0-ff] ranges
}
-uint8_t sns_rom_superfx_device::read_ram(offs_t offset)
+READ8_MEMBER( sns_rom_superfx_device::read_ram )
{
if (m_superfx->access_ram())
return sfx_ram[offset & 0xfffff];
return 0xff; // should be open bus...
}
-void sns_rom_superfx_device::write_ram(offs_t offset, uint8_t data)
+WRITE8_MEMBER( sns_rom_superfx_device::write_ram )
{
if (m_superfx->access_ram())
sfx_ram[offset & 0xfffff] = data;
diff --git a/src/devices/bus/snes/sfx.h b/src/devices/bus/snes/sfx.h
index 7c92e411749..253084be139 100644
--- a/src/devices/bus/snes/sfx.h
+++ b/src/devices/bus/snes/sfx.h
@@ -26,19 +26,19 @@ protected:
virtual DECLARE_WRITE_LINE_MEMBER(snes_extern_irq_w);
// additional reading and writing
- virtual uint8_t read_l(offs_t offset) override;
- virtual uint8_t read_h(offs_t offset) override;
- virtual uint8_t read_ram(offs_t offset) override;
- virtual void write_ram(offs_t offset, uint8_t data) override;
- virtual uint8_t chip_read(offs_t offset) override;
- virtual void chip_write(offs_t offset, uint8_t data) override;
-
- uint8_t superfx_r_bank1(offs_t offset);
- uint8_t superfx_r_bank2(offs_t offset);
- uint8_t superfx_r_bank3(offs_t offset);
- void superfx_w_bank1(offs_t offset, uint8_t data);
- void superfx_w_bank2(offs_t offset, uint8_t data);
- void superfx_w_bank3(offs_t offset, uint8_t data);
+ virtual DECLARE_READ8_MEMBER(read_l) override;
+ virtual DECLARE_READ8_MEMBER(read_h) override;
+ virtual DECLARE_READ8_MEMBER(read_ram) override;
+ virtual DECLARE_WRITE8_MEMBER(write_ram) override;
+ virtual DECLARE_READ8_MEMBER(chip_read) override;
+ virtual DECLARE_WRITE8_MEMBER(chip_write) override;
+
+ virtual DECLARE_READ8_MEMBER(superfx_r_bank1);
+ virtual DECLARE_READ8_MEMBER(superfx_r_bank2);
+ virtual DECLARE_READ8_MEMBER(superfx_r_bank3);
+ virtual DECLARE_WRITE8_MEMBER(superfx_w_bank1);
+ virtual DECLARE_WRITE8_MEMBER(superfx_w_bank2);
+ virtual DECLARE_WRITE8_MEMBER(superfx_w_bank3);
private:
required_device<superfx_device> m_superfx;
diff --git a/src/devices/bus/snes/sgb.cpp b/src/devices/bus/snes/sgb.cpp
index 6c790a1c773..1a50f504f01 100644
--- a/src/devices/bus/snes/sgb.cpp
+++ b/src/devices/bus/snes/sgb.cpp
@@ -74,55 +74,55 @@ void sns_rom_sgb_device::device_reset()
// ADDRESS_MAP( supergb_map )
//-------------------------------------------------
-uint8_t sns_rom_sgb_device::gb_cart_r(offs_t offset)
+READ8_MEMBER(sns_rom_sgb_device::gb_cart_r)
{
if (offset < 0x100 && !m_bios_disabled)
{
return m_region_bios->base()[offset];
}
- return m_cartslot->read_rom(offset);
+ return m_cartslot->read_rom(space, offset);
}
-void sns_rom_sgb_device::gb_bank_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(sns_rom_sgb_device::gb_bank_w)
{
- m_cartslot->write_bank(offset, data);
+ m_cartslot->write_bank(space, offset, data);
}
-uint8_t sns_rom_sgb_device::gb_ram_r(offs_t offset)
+READ8_MEMBER(sns_rom_sgb_device::gb_ram_r)
{
- return m_cartslot->read_ram(offset);
+ return m_cartslot->read_ram(space, offset);
}
-void sns_rom_sgb_device::gb_ram_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(sns_rom_sgb_device::gb_ram_w)
{
- m_cartslot->write_ram(offset, data);
+ m_cartslot->write_ram(space, offset, data);
}
-uint8_t sns_rom_sgb_device::gb_echo_r(offs_t offset)
+READ8_MEMBER(sns_rom_sgb_device::gb_echo_r)
{
- return m_sgb_cpu->space(AS_PROGRAM).read_byte(0xc000 + offset);
+ return space.read_byte(0xc000 + offset);
}
-void sns_rom_sgb_device::gb_echo_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(sns_rom_sgb_device::gb_echo_w)
{
- return m_sgb_cpu->space(AS_PROGRAM).write_byte(0xc000 + offset, data);
+ return space.write_byte(0xc000 + offset, data);
}
-uint8_t sns_rom_sgb_device::gb_io_r(offs_t offset)
+READ8_MEMBER(sns_rom_sgb_device::gb_io_r)
{
return 0;
}
-void sns_rom_sgb_device::gb_io_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(sns_rom_sgb_device::gb_io_w)
{
}
-uint8_t sns_rom_sgb_device::gb_ie_r(offs_t offset)
+READ8_MEMBER(sns_rom_sgb_device::gb_ie_r)
{
return m_sgb_cpu->get_ie();
}
-void sns_rom_sgb_device::gb_ie_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(sns_rom_sgb_device::gb_ie_w)
{
m_sgb_cpu->set_ie(data);
}
@@ -149,7 +149,7 @@ void sns_rom_sgb_device::supergb_map(address_map &map)
-void sns_rom_sgb_device::gb_timer_callback(uint8_t data)
+WRITE8_MEMBER( sns_rom_sgb_device::gb_timer_callback )
{
}
@@ -220,18 +220,18 @@ const tiny_rom_entry *sns_rom_sgb2_device::device_rom_region() const
-------------------------------------------------*/
-uint8_t sns_rom_sgb_device::read_l(offs_t offset)
+READ8_MEMBER(sns_rom_sgb_device::read_l)
{
- return read_h(offset);
+ return read_h(space, offset);
}
-uint8_t sns_rom_sgb_device::read_h(offs_t offset)
+READ8_MEMBER(sns_rom_sgb_device::read_h)
{
int bank = offset / 0x10000;
return m_rom[rom_bank_map[bank] * 0x8000 + (offset & 0x7fff)];
}
-uint8_t sns_rom_sgb_device::chip_read(offs_t offset)
+READ8_MEMBER( sns_rom_sgb_device::chip_read )
{
uint16_t address = offset & 0xffff;
@@ -299,7 +299,7 @@ void sns_rom_sgb_device::lcd_render(uint32_t *source)
}
}
-void sns_rom_sgb_device::chip_write(offs_t offset, uint8_t data)
+WRITE8_MEMBER( sns_rom_sgb_device::chip_write )
{
uint16_t address = offset & 0xffff;
diff --git a/src/devices/bus/snes/sgb.h b/src/devices/bus/snes/sgb.h
index db6782ddb98..c49ebaa44e3 100644
--- a/src/devices/bus/snes/sgb.h
+++ b/src/devices/bus/snes/sgb.h
@@ -21,7 +21,8 @@
class sns_rom_sgb_device : public sns_rom_device
{
public:
- void gb_timer_callback(uint8_t data);
+
+ virtual DECLARE_WRITE8_MEMBER(gb_timer_callback);
protected:
// construction/destruction
@@ -32,21 +33,21 @@ protected:
virtual void device_reset() override;
// reading and writing
- virtual uint8_t read_l(offs_t offset) override;
- virtual uint8_t read_h(offs_t offset) override;
- virtual uint8_t chip_read(offs_t offset) override;
- virtual void chip_write(offs_t offset, uint8_t data) override;
-
- uint8_t gb_cart_r(offs_t offset);
- void gb_bank_w(offs_t offset, uint8_t data);
- uint8_t gb_ram_r(offs_t offset);
- void gb_ram_w(offs_t offset, uint8_t data);
- uint8_t gb_echo_r(offs_t offset);
- void gb_echo_w(offs_t offset, uint8_t data);
- uint8_t gb_io_r(offs_t offset);
- void gb_io_w(offs_t offset, uint8_t data);
- uint8_t gb_ie_r(offs_t offset);
- void gb_ie_w(offs_t offset, uint8_t data);
+ virtual DECLARE_READ8_MEMBER(read_l) override;
+ virtual DECLARE_READ8_MEMBER(read_h) override;
+ virtual DECLARE_READ8_MEMBER(chip_read) override;
+ virtual DECLARE_WRITE8_MEMBER(chip_write) override;
+
+ virtual DECLARE_READ8_MEMBER(gb_cart_r);
+ virtual DECLARE_WRITE8_MEMBER(gb_bank_w);
+ virtual DECLARE_READ8_MEMBER(gb_ram_r);
+ virtual DECLARE_WRITE8_MEMBER(gb_ram_w);
+ virtual DECLARE_READ8_MEMBER(gb_echo_r);
+ virtual DECLARE_WRITE8_MEMBER(gb_echo_w);
+ virtual DECLARE_READ8_MEMBER(gb_io_r);
+ virtual DECLARE_WRITE8_MEMBER(gb_io_w);
+ virtual DECLARE_READ8_MEMBER(gb_ie_r);
+ virtual DECLARE_WRITE8_MEMBER(gb_ie_w);
void supergb_map(address_map &map);
diff --git a/src/devices/bus/snes/snes_slot.cpp b/src/devices/bus/snes/snes_slot.cpp
index 7af674e9f6d..f85f198f257 100644
--- a/src/devices/bus/snes/snes_slot.cpp
+++ b/src/devices/bus/snes/snes_slot.cpp
@@ -177,18 +177,6 @@ WRITE_LINE_MEMBER(device_sns_cart_interface::write_irq)
m_slot->write_irq(state);
}
-//-------------------------------------------------
-// read_open_bus - read from the open bus
-//-------------------------------------------------
-
-uint8_t device_sns_cart_interface::read_open_bus()
-{
- if (m_slot != nullptr)
- return m_slot->read_open_bus();
-
- return 0xff;
-}
-
//**************************************************************************
// LIVE DEVICE
//**************************************************************************
@@ -203,8 +191,7 @@ base_sns_cart_slot_device::base_sns_cart_slot_device(const machine_config &mconf
m_addon(ADDON_NONE),
m_type(SNES_MODE20),
m_cart(nullptr),
- m_irq_callback(*this),
- m_open_bus_callback(*this)
+ m_irq_callback(*this)
{
}
@@ -238,11 +225,9 @@ base_sns_cart_slot_device::~base_sns_cart_slot_device()
void base_sns_cart_slot_device::device_start()
{
m_cart = dynamic_cast<device_sns_cart_interface *>(get_card_device());
- if (m_cart != nullptr)
- m_cart->m_slot = this;
+ m_cart->m_slot = this;
m_irq_callback.resolve_safe();
- m_open_bus_callback.resolve_safe(0xff);
}
@@ -1075,34 +1060,34 @@ std::string base_sns_cart_slot_device::get_default_card_software(get_default_car
read
-------------------------------------------------*/
-uint8_t base_sns_cart_slot_device::read_l(offs_t offset)
+READ8_MEMBER(base_sns_cart_slot_device::read_l)
{
if (m_cart)
- return m_cart->read_l(offset);
+ return m_cart->read_l(space, offset);
else
return 0xff;
}
-uint8_t base_sns_cart_slot_device::read_h(offs_t offset)
+READ8_MEMBER(base_sns_cart_slot_device::read_h)
{
if (m_cart)
- return m_cart->read_h(offset);
+ return m_cart->read_h(space, offset);
else
return 0xff;
}
-uint8_t base_sns_cart_slot_device::read_ram(offs_t offset)
+READ8_MEMBER(base_sns_cart_slot_device::read_ram)
{
if (m_cart)
- return m_cart->read_ram(offset);
+ return m_cart->read_ram(space, offset);
else
return 0xff;
}
-uint8_t base_sns_cart_slot_device::chip_read(offs_t offset)
+READ8_MEMBER(base_sns_cart_slot_device::chip_read)
{
if (m_cart)
- return m_cart->chip_read(offset);
+ return m_cart->chip_read(space, offset);
else
return 0xff;
}
@@ -1111,28 +1096,28 @@ uint8_t base_sns_cart_slot_device::chip_read(offs_t offset)
write
-------------------------------------------------*/
-void base_sns_cart_slot_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(base_sns_cart_slot_device::write_l)
{
if (m_cart)
- m_cart->write_l(offset, data);
+ m_cart->write_l(space, offset, data);
}
-void base_sns_cart_slot_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(base_sns_cart_slot_device::write_h)
{
if (m_cart)
- m_cart->write_h(offset, data);
+ m_cart->write_h(space, offset, data);
}
-void base_sns_cart_slot_device::write_ram(offs_t offset, uint8_t data)
+WRITE8_MEMBER(base_sns_cart_slot_device::write_ram)
{
if (m_cart)
- m_cart->write_ram(offset, data);
+ m_cart->write_ram(space, offset, data);
}
-void base_sns_cart_slot_device::chip_write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(base_sns_cart_slot_device::chip_write)
{
if (m_cart)
- m_cart->chip_write(offset, data);
+ m_cart->chip_write(space, offset, data);
}
diff --git a/src/devices/bus/snes/snes_slot.h b/src/devices/bus/snes/snes_slot.h
index 9d63a1ba9c2..91f61e88f4d 100644
--- a/src/devices/bus/snes/snes_slot.h
+++ b/src/devices/bus/snes/snes_slot.h
@@ -111,14 +111,14 @@ public:
virtual ~device_sns_cart_interface();
// reading and writing
- virtual uint8_t read_l(offs_t offset) { return 0xff; } // ROM access in range [00-7f]
- virtual uint8_t read_h(offs_t offset) { return 0xff; } // ROM access in range [80-ff]
- virtual uint8_t read_ram(offs_t offset) { if (!m_nvram.empty()) return m_nvram[offset & (m_nvram.size()-1)]; else return 0xff; } // NVRAM access
- virtual void write_l(offs_t offset, uint8_t data) { } // used by carts with subslots
- virtual void write_h(offs_t offset, uint8_t data) { } // used by carts with subslots
- virtual void write_ram(offs_t offset, uint8_t data) { if (!m_nvram.empty()) m_nvram[offset & (m_nvram.size()-1)] = data; } // NVRAM access
- virtual uint8_t chip_read(offs_t offset) { return 0xff; }
- virtual void chip_write(offs_t offset, uint8_t data) { }
+ virtual DECLARE_READ8_MEMBER(read_l) { return 0xff; } // ROM access in range [00-7f]
+ virtual DECLARE_READ8_MEMBER(read_h) { return 0xff; } // ROM access in range [80-ff]
+ virtual DECLARE_READ8_MEMBER(read_ram) { if (!m_nvram.empty()) return m_nvram[offset & (m_nvram.size()-1)]; else return 0xff; } // NVRAM access
+ virtual DECLARE_WRITE8_MEMBER(write_l) { } // used by carts with subslots
+ virtual DECLARE_WRITE8_MEMBER(write_h) { } // used by carts with subslots
+ virtual DECLARE_WRITE8_MEMBER(write_ram) { if (!m_nvram.empty()) m_nvram[offset & (m_nvram.size()-1)] = data; } // NVRAM access
+ virtual DECLARE_READ8_MEMBER(chip_read) { return 0xff; }
+ virtual DECLARE_WRITE8_MEMBER(chip_write) { }
virtual void speedup_addon_bios_access() {}
void rom_alloc(uint32_t size, const char *tag);
@@ -142,7 +142,6 @@ protected:
device_sns_cart_interface(const machine_config &mconfig, device_t &device);
DECLARE_WRITE_LINE_MEMBER(write_irq);
- uint8_t read_open_bus();
// internal state
uint8_t *m_rom;
@@ -169,7 +168,6 @@ public:
// configuration
auto irq_callback() { return m_irq_callback.bind(); }
- auto open_bus_callback() { return m_open_bus_callback.bind(); }
// device-level overrides
virtual void device_start() override;
@@ -200,17 +198,16 @@ public:
virtual std::string get_default_card_software(get_default_card_software_hook &hook) const override;
// reading and writing
- uint8_t read_l(offs_t offset);
- uint8_t read_h(offs_t offset);
- uint8_t read_ram(offs_t offset);
- void write_l(offs_t offset, uint8_t data);
- void write_h(offs_t offset, uint8_t data);
- void write_ram(offs_t offset, uint8_t data);
- uint8_t chip_read(offs_t offset);
- void chip_write(offs_t offset, uint8_t data);
+ DECLARE_READ8_MEMBER(read_l);
+ DECLARE_READ8_MEMBER(read_h);
+ DECLARE_READ8_MEMBER(read_ram);
+ DECLARE_WRITE8_MEMBER(write_l);
+ DECLARE_WRITE8_MEMBER(write_h);
+ DECLARE_WRITE8_MEMBER(write_ram);
+ DECLARE_READ8_MEMBER(chip_read);
+ DECLARE_WRITE8_MEMBER(chip_write);
DECLARE_WRITE_LINE_MEMBER(write_irq) { m_irq_callback(state); }
- uint8_t read_open_bus() { return m_open_bus_callback(); }
// in order to support legacy dumps + add-on CPU dump appended at the end of the file, we
// check if the required data is present and update bank map accordingly
@@ -233,7 +230,6 @@ protected:
private:
devcb_write_line m_irq_callback;
- devcb_read8 m_open_bus_callback;
};
// ======================> sns_cart_slot_device
diff --git a/src/devices/bus/snes/spc7110.cpp b/src/devices/bus/snes/spc7110.cpp
index 20d59dc681a..a88c06e9250 100644
--- a/src/devices/bus/snes/spc7110.cpp
+++ b/src/devices/bus/snes/spc7110.cpp
@@ -1076,7 +1076,7 @@ void sns_rom_spc7110_device::spc7110_update_time(uint8_t offset)
}
}
-uint8_t sns_rom_spc7110_device::chip_read(offs_t offset)
+READ8_MEMBER(sns_rom_spc7110_device::chip_read)
{
uint8_t *ROM = get_rom_base();
uint32_t len = get_rom_size();
@@ -1262,7 +1262,7 @@ uint8_t sns_rom_spc7110_device::chip_read(offs_t offset)
return 0xff;
}
-void sns_rom_spc7110_device::chip_write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(sns_rom_spc7110_device::chip_write)
{
uint8_t *ROM = get_rom_base();
uint32_t len = get_rom_size();
@@ -1648,7 +1648,7 @@ void sns_rom_spc7110_device::chip_write(offs_t offset, uint8_t data)
}
}
-uint8_t sns_rom_spc7110_device::read_l(offs_t offset)
+READ8_MEMBER(sns_rom_spc7110_device::read_l)
{
if (offset < 0x400000)
return m_rom[rom_bank_map[offset / 0x8000] * 0x8000 + (offset & 0x7fff)];
@@ -1656,7 +1656,7 @@ uint8_t sns_rom_spc7110_device::read_l(offs_t offset)
return 0xff;
}
-uint8_t sns_rom_spc7110_device::read_h(offs_t offset)
+READ8_MEMBER(sns_rom_spc7110_device::read_h)
{
uint16_t address = offset & 0xfffff;
@@ -1683,12 +1683,12 @@ uint8_t sns_rom_spc7110_device::read_h(offs_t offset)
}
-uint8_t sns_rom_spc7110_device::read_ram(offs_t offset)
+READ8_MEMBER( sns_rom_spc7110_device::read_ram )
{
return m_nvram[offset & 0x1fff];
}
-void sns_rom_spc7110_device::write_ram(offs_t offset, uint8_t data)
+WRITE8_MEMBER( sns_rom_spc7110_device::write_ram )
{
m_nvram[offset & 0x1fff] = data;
}
diff --git a/src/devices/bus/snes/spc7110.h b/src/devices/bus/snes/spc7110.h
index a7c798244c1..249944c8ae7 100644
--- a/src/devices/bus/snes/spc7110.h
+++ b/src/devices/bus/snes/spc7110.h
@@ -18,13 +18,13 @@ public:
sns_rom_spc7110_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
- virtual uint8_t read_l(offs_t offset) override;
- virtual uint8_t read_h(offs_t offset) override;
- virtual uint8_t read_ram(offs_t offset) override;
- virtual void write_ram(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_l) override;
+ virtual DECLARE_READ8_MEMBER(read_h) override;
+ virtual DECLARE_READ8_MEMBER(read_ram) override;
+ virtual DECLARE_WRITE8_MEMBER(write_ram) override;
- virtual uint8_t chip_read(offs_t offset) override;
- virtual void chip_write(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(chip_read) override;
+ virtual DECLARE_WRITE8_MEMBER(chip_write) override;
protected:
sns_rom_spc7110_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
@@ -199,11 +199,11 @@ public:
// reading and writing
// we just use the spc7110 ones for the moment, pending the split of regs 0x4840-0x4842 (RTC) from the base add-on
-// virtual uint8_t read_l(offs_t offset);
-// virtual uint8_t read_h(offs_t offset);
+// virtual DECLARE_READ8_MEMBER(read_l);
+// virtual DECLARE_READ8_MEMBER(read_h);
-// virtual uint8_t chip_read(offs_t offset);
-// virtual void chip_write(offs_t offset, uint8_t data);
+// virtual DECLARE_READ8_MEMBER(chip_read);
+// virtual DECLARE_WRITE8_MEMBER(chip_write);
protected:
// device-level overrides
diff --git a/src/devices/bus/snes/sufami.cpp b/src/devices/bus/snes/sufami.cpp
index 7589fb84fa4..3e163e150e5 100644
--- a/src/devices/bus/snes/sufami.cpp
+++ b/src/devices/bus/snes/sufami.cpp
@@ -66,12 +66,12 @@ void sns_rom_sufami_device::device_add_mconfig(machine_config &config)
mapper specific handlers
-------------------------------------------------*/
-uint8_t sns_rom_sufami_device::read_l(offs_t offset)
+READ8_MEMBER(sns_rom_sufami_device::read_l)
{
- return read_h(offset);
+ return read_h(space, offset);
}
-uint8_t sns_rom_sufami_device::read_h(offs_t offset)
+READ8_MEMBER(sns_rom_sufami_device::read_h)
{
int bank;
@@ -82,11 +82,11 @@ uint8_t sns_rom_sufami_device::read_h(offs_t offset)
}
if (offset >= 0x200000 && offset < 0x400000) // SLOT1 STROM
{
- return m_slot1->read_l(offset - 0x200000);
+ return m_slot1->read_l(space, offset - 0x200000);
}
if (offset >= 0x400000 && offset < 0x600000) // SLOT2 STROM
{
- return m_slot2->read_l(offset - 0x400000);
+ return m_slot2->read_l(space, offset - 0x400000);
}
if (offset >= 0x600000 && offset < 0x640000) // SLOT1 RAM
{
@@ -94,7 +94,7 @@ uint8_t sns_rom_sufami_device::read_h(offs_t offset)
{
offset -= 0x600000;
bank = offset / 0x10000;
- return m_slot1->read_ram(bank * 0x8000 + (offset & 0x7fff));
+ return m_slot1->read_ram(space, bank * 0x8000 + (offset & 0x7fff));
}
}
if (offset >= 0x700000 && offset < 0x740000) // SLOT2 RAM
@@ -103,19 +103,19 @@ uint8_t sns_rom_sufami_device::read_h(offs_t offset)
{
offset -= 0x700000;
bank = offset / 0x10000;
- return m_slot2->read_ram(bank * 0x8000 + (offset & 0x7fff));
+ return m_slot2->read_ram(space, bank * 0x8000 + (offset & 0x7fff));
}
}
return 0xff;
}
-void sns_rom_sufami_device::write_l(offs_t offset, uint8_t data)
+WRITE8_MEMBER(sns_rom_sufami_device::write_l)
{
- write_h(offset, data);
+ write_h(space, offset, data);
}
-void sns_rom_sufami_device::write_h(offs_t offset, uint8_t data)
+WRITE8_MEMBER(sns_rom_sufami_device::write_h)
{
int bank;
if (offset >= 0x600000 && offset < 0x640000) // SLOT1 RAM
@@ -124,7 +124,7 @@ void sns_rom_sufami_device::write_h(offs_t offset, uint8_t data)
{
offset -= 0x600000;
bank = offset / 0x10000;
- m_slot1->write_ram(bank * 0x8000 + (offset & 0x7fff), data);
+ m_slot1->write_ram(space, bank * 0x8000 + (offset & 0x7fff), data);
}
}
@@ -134,7 +134,7 @@ void sns_rom_sufami_device::write_h(offs_t offset, uint8_t data)
{
offset -= 0x700000;
bank = offset / 0x10000;
- m_slot2->write_ram(bank * 0x8000 + (offset & 0x7fff), data);
+ m_slot2->write_ram(space, bank * 0x8000 + (offset & 0x7fff), data);
}
}
@@ -144,7 +144,7 @@ void sns_rom_sufami_device::write_h(offs_t offset, uint8_t data)
Sufami Turbo 'minicart' emulation
-------------------------------------------------*/
-uint8_t sns_rom_strom_device::read_l(offs_t offset)
+READ8_MEMBER(sns_rom_strom_device::read_l)
{
if (offset < 0x200000)
{
diff --git a/src/devices/bus/snes/sufami.h b/src/devices/bus/snes/sufami.h
index 1b231131a2b..6b4b3df3bea 100644
--- a/src/devices/bus/snes/sufami.h
+++ b/src/devices/bus/snes/sufami.h
@@ -18,10 +18,10 @@ public:
sns_rom_sufami_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// additional reading and writing
- virtual uint8_t read_l(offs_t offset) override;
- virtual uint8_t read_h(offs_t offset) override;
- virtual void write_l(offs_t offset, uint8_t data) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_l) override;
+ virtual DECLARE_READ8_MEMBER(read_h) override;
+ virtual DECLARE_WRITE8_MEMBER(write_l) override;
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
protected:
// device-level overrides
@@ -43,7 +43,7 @@ public:
sns_rom_strom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// additional reading and writing
- virtual uint8_t read_l(offs_t offset) override;
+ virtual DECLARE_READ8_MEMBER(read_l) override;
protected:
// device-level overrides
diff --git a/src/devices/bus/snes/upd.cpp b/src/devices/bus/snes/upd.cpp
index 70396938e89..462ab0faf98 100644
--- a/src/devices/bus/snes/upd.cpp
+++ b/src/devices/bus/snes/upd.cpp
@@ -97,12 +97,12 @@ void sns_rom_setadsp_device::device_start()
// Lo-ROM
// DSP dump contains prg at offset 0 and data at offset 0x2000
-uint32_t sns_rom20_necdsp_device::necdsp_prg_r(offs_t offset)
+READ32_MEMBER( sns_rom20_necdsp_device::necdsp_prg_r )
{
return get_prg(&m_bios[0], offset);
}
-uint16_t sns_rom20_necdsp_device::necdsp_data_r(offs_t offset)
+READ16_MEMBER( sns_rom20_necdsp_device::necdsp_data_r )
{
return get_data(&m_bios[0], offset + 0x2000/2);
}
@@ -132,21 +132,20 @@ void sns_rom20_necdsp_device::dsp_data_map_lorom(address_map &map)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void sns_rom20_necdsp_device::device_add_mconfig(machine_config &config)
-{
- UPD7725(config, m_upd7725, 8000000);
- m_upd7725->set_addrmap(AS_PROGRAM, &sns_rom20_necdsp_device::dsp_prg_map_lorom);
- m_upd7725->set_addrmap(AS_DATA, &sns_rom20_necdsp_device::dsp_data_map_lorom);
-}
+MACHINE_CONFIG_START(sns_rom20_necdsp_device::device_add_mconfig)
+ MCFG_DEVICE_ADD("dsp", UPD7725, 8000000)
+ MCFG_DEVICE_PROGRAM_MAP(dsp_prg_map_lorom)
+ MCFG_DEVICE_DATA_MAP(dsp_data_map_lorom)
+MACHINE_CONFIG_END
-uint8_t sns_rom20_necdsp_device::chip_read(offs_t offset)
+READ8_MEMBER( sns_rom20_necdsp_device::chip_read )
{
offset &= 0x7fff;
return m_upd7725->snesdsp_read(offset < 0x4000);
}
-void sns_rom20_necdsp_device::chip_write(offs_t offset, uint8_t data)
+WRITE8_MEMBER( sns_rom20_necdsp_device::chip_write )
{
offset &= 0x7fff;
m_upd7725->snesdsp_write(offset < 0x4000, data);
@@ -156,12 +155,12 @@ void sns_rom20_necdsp_device::chip_write(offs_t offset, uint8_t data)
// Hi-ROM
// DSP dump contains prg at offset 0 and data at offset 0x2000
-uint32_t sns_rom21_necdsp_device::necdsp_prg_r(offs_t offset)
+READ32_MEMBER( sns_rom21_necdsp_device::necdsp_prg_r )
{
return get_prg(&m_bios[0], offset);
}
-uint16_t sns_rom21_necdsp_device::necdsp_data_r(offs_t offset)
+READ16_MEMBER( sns_rom21_necdsp_device::necdsp_data_r )
{
return get_data(&m_bios[0], offset + 0x2000/2);
}
@@ -190,21 +189,20 @@ void sns_rom21_necdsp_device::dsp_data_map_hirom(address_map &map)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void sns_rom21_necdsp_device::device_add_mconfig(machine_config &config)
-{
- UPD7725(config, m_upd7725, 8000000);
- m_upd7725->set_addrmap(AS_PROGRAM, &sns_rom21_necdsp_device::dsp_prg_map_hirom);
- m_upd7725->set_addrmap(AS_DATA, &sns_rom21_necdsp_device::dsp_data_map_hirom);
-}
+MACHINE_CONFIG_START(sns_rom21_necdsp_device::device_add_mconfig)
+ MCFG_DEVICE_ADD("dsp", UPD7725, 8000000)
+ MCFG_DEVICE_PROGRAM_MAP(dsp_prg_map_hirom)
+ MCFG_DEVICE_DATA_MAP(dsp_data_map_hirom)
+MACHINE_CONFIG_END
-uint8_t sns_rom21_necdsp_device::chip_read(offs_t offset)
+READ8_MEMBER( sns_rom21_necdsp_device::chip_read )
{
offset &= 0x1fff;
return m_upd7725->snesdsp_read(offset < 0x1000);
}
-void sns_rom21_necdsp_device::chip_write(offs_t offset, uint8_t data)
+WRITE8_MEMBER( sns_rom21_necdsp_device::chip_write )
{
offset &= 0x1fff;
m_upd7725->snesdsp_write(offset < 0x1000, data);
@@ -217,7 +215,7 @@ void sns_rom21_necdsp_device::chip_write(offs_t offset, uint8_t data)
// same as above but additional read/write handling for the add-on chip
-uint8_t sns_rom_setadsp_device::chip_read(offs_t offset)
+READ8_MEMBER( sns_rom_setadsp_device::chip_read )
{
if (offset >= 0x600000 && offset < 0x680000 && (offset & 0xffff) < 0x4000)
m_upd96050->snesdsp_read((offset & 0x01) ? false : true);
@@ -236,7 +234,7 @@ uint8_t sns_rom_setadsp_device::chip_read(offs_t offset)
}
-void sns_rom_setadsp_device::chip_write(offs_t offset, uint8_t data)
+WRITE8_MEMBER( sns_rom_setadsp_device::chip_write )
{
if (offset >= 0x600000 && offset < 0x680000 && (offset & 0xffff) < 0x4000)
{
@@ -267,12 +265,12 @@ void sns_rom_setadsp_device::chip_write(offs_t offset, uint8_t data)
// DSP dump contains prg at offset 0 and data at offset 0x10000
-uint32_t sns_rom_setadsp_device::setadsp_prg_r(offs_t offset)
+READ32_MEMBER( sns_rom_setadsp_device::setadsp_prg_r )
{
return get_prg(&m_bios[0], offset);
}
-uint16_t sns_rom_setadsp_device::setadsp_data_r(offs_t offset)
+READ16_MEMBER( sns_rom_setadsp_device::setadsp_data_r )
{
return get_data(&m_bios[0], offset + 0x10000/2);
}
@@ -302,20 +300,18 @@ void sns_rom_setadsp_device::st01x_data_map(address_map &map)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void sns_rom_seta10dsp_device::device_add_mconfig(machine_config &config)
-{
- UPD96050(config, m_upd96050, 10000000);
- m_upd96050->set_addrmap(AS_PROGRAM, &sns_rom_seta10dsp_device::st01x_prg_map);
- m_upd96050->set_addrmap(AS_DATA, &sns_rom_seta10dsp_device::st01x_data_map);
-}
+MACHINE_CONFIG_START(sns_rom_seta10dsp_device::device_add_mconfig)
+ MCFG_DEVICE_ADD("dsp", UPD96050, 10000000)
+ MCFG_DEVICE_PROGRAM_MAP(st01x_prg_map)
+ MCFG_DEVICE_DATA_MAP(st01x_data_map)
+MACHINE_CONFIG_END
-void sns_rom_seta11dsp_device::device_add_mconfig(machine_config &config)
-{
- UPD96050(config, m_upd96050, 15000000);
- m_upd96050->set_addrmap(AS_PROGRAM, &sns_rom_seta11dsp_device::st01x_prg_map);
- m_upd96050->set_addrmap(AS_DATA, &sns_rom_seta11dsp_device::st01x_data_map);
-}
+MACHINE_CONFIG_START(sns_rom_seta11dsp_device::device_add_mconfig)
+ MCFG_DEVICE_ADD("dsp", UPD96050, 15000000)
+ MCFG_DEVICE_PROGRAM_MAP(st01x_prg_map)
+ MCFG_DEVICE_DATA_MAP(st01x_data_map)
+MACHINE_CONFIG_END
// To make faster DSP access to its internal rom, let's install read banks and map m_bios there with correct byte order
@@ -415,61 +411,53 @@ sns_rom_seta11dsp_legacy_device::sns_rom_seta11dsp_legacy_device(const machine_c
}
-void sns_rom20_necdsp1_legacy_device::device_add_mconfig(machine_config &config)
-{
- UPD7725(config, m_upd7725, 8000000);
- m_upd7725->set_addrmap(AS_PROGRAM, &sns_rom20_necdsp1_legacy_device::dsp_prg_map_lorom);
- m_upd7725->set_addrmap(AS_DATA, &sns_rom20_necdsp1_legacy_device::dsp_data_map_lorom);
-}
-
-void sns_rom20_necdsp1b_legacy_device::device_add_mconfig(machine_config &config)
-{
- UPD7725(config, m_upd7725, 8000000);
- m_upd7725->set_addrmap(AS_PROGRAM, &sns_rom20_necdsp1b_legacy_device::dsp_prg_map_lorom);
- m_upd7725->set_addrmap(AS_DATA, &sns_rom20_necdsp1b_legacy_device::dsp_data_map_lorom);
-}
-
-void sns_rom20_necdsp2_legacy_device::device_add_mconfig(machine_config &config)
-{
- UPD7725(config, m_upd7725, 8000000);
- m_upd7725->set_addrmap(AS_PROGRAM, &sns_rom20_necdsp2_legacy_device::dsp_prg_map_lorom);
- m_upd7725->set_addrmap(AS_DATA, &sns_rom20_necdsp2_legacy_device::dsp_data_map_lorom);
-}
-
-void sns_rom20_necdsp3_legacy_device::device_add_mconfig(machine_config &config)
-{
- UPD7725(config, m_upd7725, 8000000);
- m_upd7725->set_addrmap(AS_PROGRAM, &sns_rom20_necdsp3_legacy_device::dsp_prg_map_lorom);
- m_upd7725->set_addrmap(AS_DATA, &sns_rom20_necdsp3_legacy_device::dsp_data_map_lorom);
-}
-
-void sns_rom20_necdsp4_legacy_device::device_add_mconfig(machine_config &config)
-{
- UPD7725(config, m_upd7725, 8000000);
- m_upd7725->set_addrmap(AS_PROGRAM, &sns_rom20_necdsp4_legacy_device::dsp_prg_map_lorom);
- m_upd7725->set_addrmap(AS_DATA, &sns_rom20_necdsp4_legacy_device::dsp_data_map_lorom);
-}
-
-void sns_rom21_necdsp1_legacy_device::device_add_mconfig(machine_config &config)
-{
- UPD7725(config, m_upd7725, 8000000);
- m_upd7725->set_addrmap(AS_PROGRAM, &sns_rom21_necdsp1_legacy_device::dsp_prg_map_hirom);
- m_upd7725->set_addrmap(AS_DATA, &sns_rom21_necdsp1_legacy_device::dsp_data_map_hirom);
-}
-
-void sns_rom_seta10dsp_legacy_device::device_add_mconfig(machine_config &config)
-{
- UPD96050(config, m_upd96050, 10000000);
- m_upd96050->set_addrmap(AS_PROGRAM, &sns_rom_seta10dsp_legacy_device::st01x_prg_map);
- m_upd96050->set_addrmap(AS_DATA, &sns_rom_seta10dsp_legacy_device::st01x_data_map);
-}
-
-void sns_rom_seta11dsp_legacy_device::device_add_mconfig(machine_config &config)
-{
- UPD96050(config, m_upd96050, 15000000);
- m_upd96050->set_addrmap(AS_PROGRAM, &sns_rom_seta11dsp_legacy_device::st01x_prg_map);
- m_upd96050->set_addrmap(AS_DATA, &sns_rom_seta11dsp_legacy_device::st01x_data_map);
-}
+MACHINE_CONFIG_START(sns_rom20_necdsp1_legacy_device::device_add_mconfig)
+ MCFG_DEVICE_ADD("dsp", UPD7725, 8000000)
+ MCFG_DEVICE_PROGRAM_MAP(dsp_prg_map_lorom)
+ MCFG_DEVICE_DATA_MAP(dsp_data_map_lorom)
+MACHINE_CONFIG_END
+
+MACHINE_CONFIG_START(sns_rom20_necdsp1b_legacy_device::device_add_mconfig)
+ MCFG_DEVICE_ADD("dsp", UPD7725, 8000000)
+ MCFG_DEVICE_PROGRAM_MAP(dsp_prg_map_lorom)
+ MCFG_DEVICE_DATA_MAP(dsp_data_map_lorom)
+MACHINE_CONFIG_END
+
+MACHINE_CONFIG_START(sns_rom20_necdsp2_legacy_device::device_add_mconfig)
+ MCFG_DEVICE_ADD("dsp", UPD7725, 8000000)
+ MCFG_DEVICE_PROGRAM_MAP(dsp_prg_map_lorom)
+ MCFG_DEVICE_DATA_MAP(dsp_data_map_lorom)
+MACHINE_CONFIG_END
+
+MACHINE_CONFIG_START(sns_rom20_necdsp3_legacy_device::device_add_mconfig)
+ MCFG_DEVICE_ADD("dsp", UPD7725, 8000000)
+ MCFG_DEVICE_PROGRAM_MAP(dsp_prg_map_lorom)
+ MCFG_DEVICE_DATA_MAP(dsp_data_map_lorom)
+MACHINE_CONFIG_END
+
+MACHINE_CONFIG_START(sns_rom20_necdsp4_legacy_device::device_add_mconfig)
+ MCFG_DEVICE_ADD("dsp", UPD7725, 8000000)
+ MCFG_DEVICE_PROGRAM_MAP(dsp_prg_map_lorom)
+ MCFG_DEVICE_DATA_MAP(dsp_data_map_lorom)
+MACHINE_CONFIG_END
+
+MACHINE_CONFIG_START(sns_rom21_necdsp1_legacy_device::device_add_mconfig)
+ MCFG_DEVICE_ADD("dsp", UPD7725, 8000000)
+ MCFG_DEVICE_PROGRAM_MAP(dsp_prg_map_hirom)
+ MCFG_DEVICE_DATA_MAP(dsp_data_map_hirom)
+MACHINE_CONFIG_END
+
+MACHINE_CONFIG_START(sns_rom_seta10dsp_legacy_device::device_add_mconfig)
+ MCFG_DEVICE_ADD("dsp", UPD96050, 10000000)
+ MCFG_DEVICE_PROGRAM_MAP(st01x_prg_map)
+ MCFG_DEVICE_DATA_MAP(st01x_data_map)
+MACHINE_CONFIG_END
+
+MACHINE_CONFIG_START(sns_rom_seta11dsp_legacy_device::device_add_mconfig)
+ MCFG_DEVICE_ADD("dsp", UPD96050, 15000000)
+ MCFG_DEVICE_PROGRAM_MAP(st01x_prg_map)
+ MCFG_DEVICE_DATA_MAP(st01x_data_map)
+MACHINE_CONFIG_END
ROM_START( snes_dsp1 )
diff --git a/src/devices/bus/snes/upd.h b/src/devices/bus/snes/upd.h
index 65dd780c725..dfc55466225 100644
--- a/src/devices/bus/snes/upd.h
+++ b/src/devices/bus/snes/upd.h
@@ -28,18 +28,18 @@ protected:
virtual void speedup_addon_bios_access() override;
// additional reading and writing
- virtual uint8_t chip_read(offs_t offset) override;
- virtual void chip_write(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(chip_read) override;
+ virtual DECLARE_WRITE8_MEMBER(chip_write) override;
- uint32_t necdsp_prg_r(offs_t offset);
- uint16_t necdsp_data_r(offs_t offset);
+ virtual DECLARE_READ32_MEMBER(necdsp_prg_r);
+ virtual DECLARE_READ16_MEMBER(necdsp_data_r);
void dsp_data_map_lorom(address_map &map);
void dsp_prg_map_lorom(address_map &map);
+private:
required_device<upd7725_device> m_upd7725;
-private:
std::vector<uint32_t> m_dsp_prg;
std::vector<uint16_t> m_dsp_data;
};
@@ -62,18 +62,18 @@ protected:
virtual void speedup_addon_bios_access() override;
// additional reading and writing
- virtual uint8_t chip_read(offs_t offset) override;
- virtual void chip_write(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(chip_read) override;
+ virtual DECLARE_WRITE8_MEMBER(chip_write) override;
- uint32_t necdsp_prg_r(offs_t offset);
- uint16_t necdsp_data_r(offs_t offset);
+ virtual DECLARE_READ32_MEMBER(necdsp_prg_r);
+ virtual DECLARE_READ16_MEMBER(necdsp_data_r);
void dsp_data_map_hirom(address_map &map);
void dsp_prg_map_hirom(address_map &map);
+private:
required_device<upd7725_device> m_upd7725;
-private:
std::vector<uint32_t> m_dsp_prg;
std::vector<uint16_t> m_dsp_data;
};
@@ -93,18 +93,18 @@ protected:
virtual void device_start() override;
// additional reading and writing
- virtual uint8_t chip_read(offs_t offset) override;
- virtual void chip_write(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(chip_read) override;
+ virtual DECLARE_WRITE8_MEMBER(chip_write) override;
- virtual uint32_t setadsp_prg_r(offs_t offset);
- virtual uint16_t setadsp_data_r(offs_t offset);
+ virtual DECLARE_READ32_MEMBER(setadsp_prg_r);
+ virtual DECLARE_READ16_MEMBER(setadsp_data_r);
void st01x_data_map(address_map &map);
void st01x_prg_map(address_map &map);
+private:
required_device<upd96050_device> m_upd96050;
-private:
std::vector<uint32_t> m_dsp_prg;
std::vector<uint16_t> m_dsp_data;
};
diff --git a/src/devices/bus/snes_ctrl/ctrl.h b/src/devices/bus/snes_ctrl/ctrl.h
index 37db69537cc..686db2f29e2 100644
--- a/src/devices/bus/snes_ctrl/ctrl.h
+++ b/src/devices/bus/snes_ctrl/ctrl.h
@@ -51,7 +51,7 @@ public:
// construction/destruction
template <typename T>
snes_control_port_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt)
- : snes_control_port_device(mconfig, tag, owner, 0)
+ : snes_control_port_device(mconfig, tag, owner, (uint32_t)0)
{
option_reset();
opts(*this);
@@ -61,8 +61,8 @@ public:
snes_control_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
virtual ~snes_control_port_device();
- template <typename... T> void set_onscreen_callback(T &&... args) { m_onscreen_cb = snesctrl_onscreen_delegate(std::forward<T>(args)...); }
- template <typename... T> void set_gunlatch_callback(T &&... args) { m_gunlatch_cb = snesctrl_gunlatch_delegate(std::forward<T>(args)...); }
+ template <typename Object> void set_onscreen_callback(Object &&cb) { m_onscreen_cb = std::forward<Object>(cb); }
+ template <typename Object> void set_gunlatch_callback(Object &&cb) { m_gunlatch_cb = std::forward<Object>(cb); }
uint8_t read_pin4();
uint8_t read_pin5();
@@ -87,6 +87,22 @@ protected:
// device type definition
DECLARE_DEVICE_TYPE(SNES_CONTROL_PORT, snes_control_port_device)
+
+//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_SNES_CONTROL_PORT_ADD(_tag, _slot_intf, _def_slot) \
+ MCFG_DEVICE_ADD(_tag, SNES_CONTROL_PORT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
+
+#define MCFG_SNESCTRL_ONSCREEN_CB(_class, _method) \
+ downcast<snes_control_port_device &>(*device).set_onscreen_callback(snesctrl_onscreen_delegate(&_class::_method, #_class "::" #_method, this));
+
+#define MCFG_SNESCTRL_GUNLATCH_CB(_class, _method) \
+ downcast<snes_control_port_device &>(*device).set_gunlatch_callback(snesctrl_gunlatch_delegate(&_class::_method, #_class "::" #_method, this));
+
+
void snes_control_port_devices(device_slot_interface &device);
diff --git a/src/devices/bus/snes_ctrl/miracle.cpp b/src/devices/bus/snes_ctrl/miracle.cpp
index a0d9c70874c..a20a6743709 100644
--- a/src/devices/bus/snes_ctrl/miracle.cpp
+++ b/src/devices/bus/snes_ctrl/miracle.cpp
@@ -23,12 +23,12 @@
DEFINE_DEVICE_TYPE(SNES_MIRACLE, snes_miracle_device, "snes_miracle", "Miracle Piano SNES Cable")
-void snes_miracle_device::device_add_mconfig(machine_config &config)
-{
- MIDI_PORT(config, "mdin", midiin_slot, "midiin").rxd_handler().set(FUNC(snes_miracle_device::rx_w));
+MACHINE_CONFIG_START(snes_miracle_device::device_add_mconfig)
+ MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin")
+ MCFG_MIDI_RX_HANDLER(WRITELINE(*this, snes_miracle_device, rx_w))
- MIDI_PORT(config, "mdout", midiout_slot, "midiout");
-}
+ MCFG_MIDI_PORT_ADD("mdout", midiout_slot, "midiout")
+MACHINE_CONFIG_END
//-------------------------------------------------
diff --git a/src/devices/bus/snes_ctrl/multitap.cpp b/src/devices/bus/snes_ctrl/multitap.cpp
index ef630439276..262ef56fd26 100644
--- a/src/devices/bus/snes_ctrl/multitap.cpp
+++ b/src/devices/bus/snes_ctrl/multitap.cpp
@@ -47,13 +47,12 @@ static void snes_multitap(device_slot_interface &device)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void snes_multitap_device::device_add_mconfig(machine_config &config)
-{
- SNES_CONTROL_PORT(config, m_port1, snes_multitap, "joypad");
- SNES_CONTROL_PORT(config, m_port2, snes_multitap, "joypad");
- SNES_CONTROL_PORT(config, m_port3, snes_multitap, "joypad");
- SNES_CONTROL_PORT(config, m_port4, snes_multitap, "joypad");
-}
+MACHINE_CONFIG_START(snes_multitap_device::device_add_mconfig)
+ MCFG_SNES_CONTROL_PORT_ADD("port1", snes_multitap, "joypad")
+ MCFG_SNES_CONTROL_PORT_ADD("port2", snes_multitap, "joypad")
+ MCFG_SNES_CONTROL_PORT_ADD("port3", snes_multitap, "joypad")
+ MCFG_SNES_CONTROL_PORT_ADD("port4", snes_multitap, "joypad")
+MACHINE_CONFIG_END
//**************************************************************************
diff --git a/src/devices/bus/spc1000/exp.h b/src/devices/bus/spc1000/exp.h
index d10fe516401..b281e7a560c 100644
--- a/src/devices/bus/spc1000/exp.h
+++ b/src/devices/bus/spc1000/exp.h
@@ -28,15 +28,6 @@ class spc1000_exp_device : public device_t, public device_slot_interface
{
public:
// construction/destruction
- template <typename T>
- spc1000_exp_device(const machine_config &mconfig, const char *tag, device_t *owner, T &&opts)
- : spc1000_exp_device(mconfig, tag, owner, (uint32_t)0)
- {
- opts(*this);
- set_default_option(nullptr);
- set_fixed(false);
- }
-
spc1000_exp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~spc1000_exp_device();
diff --git a/src/devices/bus/spectrum/beta.cpp b/src/devices/bus/spectrum/beta.cpp
deleted file mode 100644
index e48bed34e52..00000000000
--- a/src/devices/bus/spectrum/beta.cpp
+++ /dev/null
@@ -1,256 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Nigel Barnes
-/*********************************************************************
-
- Technology Research Beta 128 Disk interface
-
-*********************************************************************/
-
-#include "emu.h"
-#include "beta.h"
-
-
-/***************************************************************************
- DEVICE DEFINITIONS
-***************************************************************************/
-
-DEFINE_DEVICE_TYPE(SPECTRUM_BETA128, spectrum_beta128_device, "spectrum_beta128", "TR Beta 128 Disk Interface")
-
-
-//-------------------------------------------------
-// INPUT_PORTS( beta128 )
-//-------------------------------------------------
-
-INPUT_PORTS_START(beta128)
- PORT_START("BUTTON")
- PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_NAME("Magic Button") PORT_CODE(KEYCODE_F12) PORT_CHANGED_MEMBER(DEVICE_SELF, spectrum_beta128_device, magic_button, nullptr)
-
- PORT_START("SWITCH")
- PORT_CONFNAME(0x03, 0x01, "System Switch") //PORT_CHANGED_MEMBER(DEVICE_SELF, spectrum_beta128_device, switch_changed, 0)
- PORT_CONFSETTING(0x00, "Off (128)")
- PORT_CONFSETTING(0x01, "Normal (auto-boot)")
- //PORT_CONFSETTING(0x02, "Reset") // TODO: implement RESET callback
-INPUT_PORTS_END
-
-//-------------------------------------------------
-// input_ports - device-specific input ports
-//-------------------------------------------------
-
-ioport_constructor spectrum_beta128_device::device_input_ports() const
-{
- return INPUT_PORTS_NAME(beta128);
-}
-
-//-------------------------------------------------
-// SLOT_INTERFACE( beta_floppies )
-//-------------------------------------------------
-
-static void beta_floppies(device_slot_interface &device)
-{
- device.option_add("525qd", FLOPPY_525_QD);
-}
-
-//-------------------------------------------------
-// floppy_format_type floppy_formats
-//-------------------------------------------------
-
-FLOPPY_FORMATS_MEMBER(spectrum_beta128_device::floppy_formats)
- FLOPPY_TRD_FORMAT
-FLOPPY_FORMATS_END
-
-//-------------------------------------------------
-// ROM( beta )
-//-------------------------------------------------
-
-ROM_START(beta128)
- ROM_REGION(0x4000, "rom", 0)
- ROM_DEFAULT_BIOS("trd504")
- ROM_SYSTEM_BIOS(0, "trd501", "TR-DOS v5.01")
- ROMX_LOAD("trd501.rom", 0x0000, 0x4000, CRC(3e3cdd4c) SHA1(8303ba0cc79daa6c04cd1e6ce27e8b6886a3f0de), ROM_BIOS(0))
- ROM_SYSTEM_BIOS(1, "trd503", "TR-DOS v5.03")
- ROMX_LOAD("trd503.rom", 0x0000, 0x4000, CRC(10751aba) SHA1(21695e3f2a8f796386ce66eea8a246b0ac44810c), ROM_BIOS(1))
- ROM_SYSTEM_BIOS(2, "trd504", "TR-DOS v5.04")
- ROMX_LOAD("trd504.rom", 0x0000, 0x4000, CRC(ba310874) SHA1(05e55e37df8eee6c68601ba9cf6c92195852ce3f), ROM_BIOS(2))
-ROM_END
-
-//-------------------------------------------------
-// device_add_mconfig - add device configuration
-//-------------------------------------------------
-
-void spectrum_beta128_device::device_add_mconfig(machine_config &config)
-{
- FD1793(config, m_fdc, 4_MHz_XTAL / 4);
- FLOPPY_CONNECTOR(config, "fdc:0", beta_floppies, "525qd", spectrum_beta128_device::floppy_formats).enable_sound(true);
- FLOPPY_CONNECTOR(config, "fdc:1", beta_floppies, "525qd", spectrum_beta128_device::floppy_formats).enable_sound(true);
- FLOPPY_CONNECTOR(config, "fdc:2", beta_floppies, nullptr, spectrum_beta128_device::floppy_formats).enable_sound(true);
- FLOPPY_CONNECTOR(config, "fdc:3", beta_floppies, nullptr, spectrum_beta128_device::floppy_formats).enable_sound(true);
-
- // passthru
- SPECTRUM_EXPANSION_SLOT(config, m_exp, spectrum_expansion_devices, nullptr);
- m_exp->irq_handler().set(DEVICE_SELF_OWNER, FUNC(spectrum_expansion_slot_device::irq_w));
- m_exp->nmi_handler().set(DEVICE_SELF_OWNER, FUNC(spectrum_expansion_slot_device::nmi_w));
-}
-
-const tiny_rom_entry *spectrum_beta128_device::device_rom_region() const
-{
- return ROM_NAME(beta128);
-}
-
-
-//**************************************************************************
-// LIVE DEVICE
-//**************************************************************************
-
-//-------------------------------------------------
-// spectrum_beta128_device - constructor
-//-------------------------------------------------
-
-spectrum_beta128_device::spectrum_beta128_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, SPECTRUM_BETA128, tag, owner, clock)
- , device_spectrum_expansion_interface(mconfig, *this)
- , m_rom(*this, "rom")
- , m_fdc(*this, "fdc")
- , m_floppy(*this, "fdc:%u", 0)
- , m_exp(*this, "exp")
- , m_switch(*this, "SWITCH")
-{
-}
-
-//-------------------------------------------------
-// device_start - device-specific startup
-//-------------------------------------------------
-
-void spectrum_beta128_device::device_start()
-{
- save_item(NAME(m_romcs));
-}
-
-//-------------------------------------------------
-// device_reset - device-specific reset
-//-------------------------------------------------
-
-void spectrum_beta128_device::device_reset()
-{
- // Page in the ROM if auto-boot is selected
- if (m_switch->read() == 0x01)
- m_romcs = 1;
- else
- m_romcs = 0;
-}
-
-//**************************************************************************
-// IMPLEMENTATION
-//**************************************************************************
-
-READ_LINE_MEMBER(spectrum_beta128_device::romcs)
-{
- return m_romcs | m_exp->romcs();
-}
-
-
-void spectrum_beta128_device::opcode_fetch(offs_t offset)
-{
- m_exp->opcode_fetch(offset);
-
- if (!machine().side_effects_disabled())
- {
- if ((offset == 0x0066) || (offset & 0xff00) == 0x3d00)
- m_romcs = 1;
- else if (offset >= 0x4000)
- m_romcs = 0;
- }
-}
-
-uint8_t spectrum_beta128_device::iorq_r(offs_t offset)
-{
- uint8_t data = m_exp->iorq_r(offset);
-
- if (m_romcs)
- {
- switch (offset & 0xff)
- {
- case 0x1f: case 0x3f: case 0x5f: case 0x7f:
- data = m_fdc->read((offset >> 5) & 0x03);
- break;
-
- case 0xff:
- data &= 0x3f; // actually open bus
- data |= m_fdc->drq_r() ? 0x40 : 0;
- data |= m_fdc->intrq_r() ? 0x80 : 0;
- break;
- }
- }
- return data;
-}
-
-void spectrum_beta128_device::iorq_w(offs_t offset, uint8_t data)
-{
- if (m_romcs)
- {
- switch (offset & 0xff)
- {
- case 0x1f: case 0x3f: case 0x5f: case 0x7f:
- m_fdc->write((offset >> 5) & 0x03, data);
- break;
-
- case 0xff:
- floppy_image_device* floppy = m_floppy[data & 3]->get_device();
-
- m_fdc->set_floppy(floppy);
- if (floppy)
- floppy->ss_w(BIT(data, 4) ? 0 : 1);
- m_fdc->dden_w(BIT(data, 6));
-
- // bit 3 connected to pin 23 "HLT" of FDC and via diode to INDEX
- //m_fdc->hlt_w(BIT(data, 3)); // not handled in current wd_fdc
-
- if (BIT(data, 2) == 0) // reset
- {
- m_fdc->reset();
- if (floppy)
- floppy->mon_w(ASSERT_LINE);
- }
- else
- {
- // TODO: implement correct motor control, FDD motor and RDY FDC pin controlled by HLD pin of FDC
- if (floppy)
- floppy->mon_w(CLEAR_LINE);
- }
- break;
- }
- }
- m_exp->iorq_w(offset, data);
-}
-
-uint8_t spectrum_beta128_device::mreq_r(offs_t offset)
-{
- uint8_t data = 0xff;
-
- if (m_romcs)
- {
- data = m_rom->base()[offset & 0x3fff];
- }
-
- if (m_exp->romcs())
- data &= m_exp->mreq_r(offset);
-
- return data;
-}
-
-void spectrum_beta128_device::mreq_w(offs_t offset, uint8_t data)
-{
- if (m_exp->romcs())
- m_exp->mreq_w(offset, data);
-}
-
-INPUT_CHANGED_MEMBER(spectrum_beta128_device::magic_button)
-{
- if (newval && !oldval)
- {
- m_slot->nmi_w(ASSERT_LINE);
- }
- else
- {
- m_slot->nmi_w(CLEAR_LINE);
- }
-}
diff --git a/src/devices/bus/spectrum/beta.h b/src/devices/bus/spectrum/beta.h
deleted file mode 100644
index b759201d35d..00000000000
--- a/src/devices/bus/spectrum/beta.h
+++ /dev/null
@@ -1,64 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Nigel Barnes
-/*********************************************************************
-
- Technology Research Beta 128 Disk interface
-
-*********************************************************************/
-#ifndef MAME_BUS_SPECTRUM_BETA_H
-#define MAME_BUS_SPECTRUM_BETA_H
-
-#include "exp.h"
-#include "softlist.h"
-#include "imagedev/floppy.h"
-#include "machine/wd_fdc.h"
-#include "formats/trd_dsk.h"
-
-//**************************************************************************
-// TYPE DEFINITIONS
-//**************************************************************************
-
-class spectrum_beta128_device :
- public device_t,
- public device_spectrum_expansion_interface
-
-{
-public:
- // construction/destruction
- spectrum_beta128_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
- DECLARE_FLOPPY_FORMATS(floppy_formats);
- DECLARE_INPUT_CHANGED_MEMBER(magic_button);
-
-protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
- // optional information overrides
- virtual void device_add_mconfig(machine_config &config) override;
- virtual const tiny_rom_entry *device_rom_region() const override;
- virtual ioport_constructor device_input_ports() const override;
-
- virtual void opcode_fetch(offs_t offset) override;
- virtual uint8_t mreq_r(offs_t offset) override;
- virtual void mreq_w(offs_t offset, uint8_t data) override;
- virtual uint8_t iorq_r(offs_t offset) override;
- virtual void iorq_w(offs_t offset, uint8_t data) override;
- virtual DECLARE_READ_LINE_MEMBER(romcs) override;
-
- required_memory_region m_rom;
- required_device<fd1793_device> m_fdc;
- required_device_array<floppy_connector, 4> m_floppy;
- required_device<spectrum_expansion_slot_device> m_exp;
- required_ioport m_switch;
-
- int m_romcs;
-};
-
-
-// device type definition
-DECLARE_DEVICE_TYPE(SPECTRUM_BETA128, spectrum_beta128_device)
-
-
-#endif // MAME_BUS_SPECTRUM_BETA_H
diff --git a/src/devices/bus/spectrum/exp.cpp b/src/devices/bus/spectrum/exp.cpp
index 850b9f88384..73e1d4a3a9a 100644
--- a/src/devices/bus/spectrum/exp.cpp
+++ b/src/devices/bus/spectrum/exp.cpp
@@ -43,6 +43,7 @@ device_spectrum_expansion_interface::device_spectrum_expansion_interface(const m
spectrum_expansion_slot_device::spectrum_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, SPECTRUM_EXPANSION_SLOT, tag, owner, clock),
device_slot_interface(mconfig, *this),
+ m_io(nullptr),
m_card(nullptr),
m_irq_handler(*this),
m_nmi_handler(*this)
@@ -86,57 +87,46 @@ void spectrum_expansion_slot_device::device_reset()
}
//-------------------------------------------------
-// romcs
-//-------------------------------------------------
-
-READ_LINE_MEMBER(spectrum_expansion_slot_device::romcs)
-{
- if (m_card)
- return m_card->romcs();
- else
- return 0;
-}
-
-//-------------------------------------------------
-// fetch_r
+// set_io_space - set address space we are attached to
//-------------------------------------------------
-void spectrum_expansion_slot_device::opcode_fetch(offs_t offset)
+void spectrum_expansion_slot_device::set_io_space(address_space *io)
{
- if (m_card)
- m_card->opcode_fetch(offset);
+ m_io = io;
}
//-------------------------------------------------
-// iorq_r
+// port_fe_r
//-------------------------------------------------
-uint8_t spectrum_expansion_slot_device::iorq_r(offs_t offset)
+READ8_MEMBER(spectrum_expansion_slot_device::port_fe_r)
{
if (m_card)
- return m_card->iorq_r(offset);
+ return m_card->port_fe_r(space, offset);
else
return 0xff;
}
//-------------------------------------------------
-// iorq_w
+// romcs
//-------------------------------------------------
-void spectrum_expansion_slot_device::iorq_w(offs_t offset, uint8_t data)
+READ_LINE_MEMBER(spectrum_expansion_slot_device::romcs)
{
if (m_card)
- m_card->iorq_w(offset, data);
+ return m_card->romcs();
+ else
+ return 0;
}
//-------------------------------------------------
// mreq_r
//-------------------------------------------------
-uint8_t spectrum_expansion_slot_device::mreq_r(offs_t offset)
+READ8_MEMBER(spectrum_expansion_slot_device::mreq_r)
{
if (m_card)
- return m_card->mreq_r(offset);
+ return m_card->mreq_r(space, offset);
else
return 0xff;
}
@@ -145,10 +135,10 @@ uint8_t spectrum_expansion_slot_device::mreq_r(offs_t offset)
// mreq_w
//-------------------------------------------------
-void spectrum_expansion_slot_device::mreq_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(spectrum_expansion_slot_device::mreq_w)
{
if (m_card)
- m_card->mreq_w(offset, data);
+ m_card->mreq_w(space, offset, data);
}
@@ -158,20 +148,14 @@ void spectrum_expansion_slot_device::mreq_w(offs_t offset, uint8_t data)
// slot devices
-#include "beta.h"
-//#include "disciple.h"
#include "intf1.h"
#include "intf2.h"
#include "fuller.h"
#include "kempjoy.h"
#include "melodik.h"
-#include "mface.h"
#include "mikroplus.h"
-#include "opus.h"
#include "plus2test.h"
-//#include "plusd.h"
#include "protek.h"
-#include "specdrum.h"
#include "uslot.h"
#include "usource.h"
#include "uspeech.h"
@@ -179,21 +163,13 @@ void spectrum_expansion_slot_device::mreq_w(offs_t offset, uint8_t data)
void spectrum_expansion_devices(device_slot_interface &device)
{
- device.option_add("beta128", SPECTRUM_BETA128);
- //device.option_add("disciple", SPECTRUM_DISCIPLE);
device.option_add("intf1", SPECTRUM_INTF1);
device.option_add("intf2", SPECTRUM_INTF2);
device.option_add("fuller", SPECTRUM_FULLER);
device.option_add("kempjoy", SPECTRUM_KEMPJOY);
device.option_add("melodik", SPECTRUM_MELODIK);
- device.option_add("mface1", SPECTRUM_MFACE1);
- device.option_add("mface128", SPECTRUM_MFACE128);
device.option_add("mikroplus", SPECTRUM_MIKROPLUS);
- device.option_add("mprint", SPECTRUM_MPRINT);
- device.option_add("opus", SPECTRUM_OPUS);
- //device.option_add("plusd", SPECTRUM_PLUSD);
device.option_add("protek", SPECTRUM_PROTEK);
- device.option_add("specdrum", SPECTRUM_SPECDRUM);
device.option_add("uslot", SPECTRUM_USLOT);
device.option_add("usource", SPECTRUM_USOURCE);
device.option_add("uspeech", SPECTRUM_USPEECH);
@@ -201,22 +177,15 @@ void spectrum_expansion_devices(device_slot_interface &device)
void spec128_expansion_devices(device_slot_interface &device)
{
- device.option_add("beta128", SPECTRUM_BETA128);
- //device.option_add("disciple", SPECTRUM_DISCIPLE);
device.option_add("intf1", SPECTRUM_INTF1);
device.option_add("intf2", SPECTRUM_INTF2);
device.option_add("kempjoy", SPECTRUM_KEMPJOY);
- device.option_add("mface128", SPECTRUM_MFACE128);
device.option_add("mikroplus", SPECTRUM_MIKROPLUS);
- device.option_add("mprint", SPECTRUM_MPRINT);
- device.option_add("opus", SPECTRUM_OPUS);
device.option_add("plus2test", SPECTRUM_PLUS2TEST);
device.option_add("protek", SPECTRUM_PROTEK);
- device.option_add("specdrum", SPECTRUM_SPECDRUM);
}
void specpls3_expansion_devices(device_slot_interface &device)
{
- device.option_add("mface3", SPECTRUM_MFACE3);
}
diff --git a/src/devices/bus/spectrum/exp.h b/src/devices/bus/spectrum/exp.h
index aee398d1ab4..1d8eb5f21f2 100644
--- a/src/devices/bus/spectrum/exp.h
+++ b/src/devices/bus/spectrum/exp.h
@@ -69,20 +69,22 @@ public:
spectrum_expansion_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock = 0);
+ void set_io_space(address_space *io);
+
// callbacks
auto irq_handler() { return m_irq_handler.bind(); }
auto nmi_handler() { return m_nmi_handler.bind(); }
- void opcode_fetch(offs_t offset);
- uint8_t mreq_r(offs_t offset);
- void mreq_w(offs_t offset, uint8_t data);
- uint8_t iorq_r(offs_t offset);
- void iorq_w(offs_t offset, uint8_t data);
+ DECLARE_READ8_MEMBER( mreq_r );
+ DECLARE_WRITE8_MEMBER( mreq_w );
+ DECLARE_READ8_MEMBER( port_fe_r );
DECLARE_READ_LINE_MEMBER( romcs );
DECLARE_WRITE_LINE_MEMBER( irq_w ) { m_irq_handler(state); }
DECLARE_WRITE_LINE_MEMBER( nmi_w ) { m_nmi_handler(state); }
+ address_space *m_io;
+
protected:
// device-level overrides
virtual void device_validity_check(validity_checker &valid) const override;
@@ -106,14 +108,14 @@ public:
device_spectrum_expansion_interface(const machine_config &mconfig, device_t &device);
// reading and writing
- virtual void opcode_fetch(offs_t offset) { };
- virtual uint8_t mreq_r(offs_t offset) { return 0xff; }
- virtual void mreq_w(offs_t offset, uint8_t data) { }
- virtual uint8_t iorq_r(offs_t offset) { return 0xff; }
- virtual void iorq_w(offs_t offset, uint8_t data) { }
+ virtual DECLARE_READ8_MEMBER(mreq_r) { return 0xff; }
+ virtual DECLARE_WRITE8_MEMBER(mreq_w) { }
+ virtual DECLARE_READ8_MEMBER(port_fe_r) { return 0xff; }
virtual DECLARE_READ_LINE_MEMBER(romcs) { return 0; }
protected:
+ address_space &io_space() { return *m_slot->m_io; }
+
spectrum_expansion_slot_device *m_slot;
};
diff --git a/src/devices/bus/spectrum/fuller.cpp b/src/devices/bus/spectrum/fuller.cpp
index 636967cbdd6..36275ccc4cd 100644
--- a/src/devices/bus/spectrum/fuller.cpp
+++ b/src/devices/bus/spectrum/fuller.cpp
@@ -84,62 +84,51 @@ void spectrum_fuller_device::device_start()
}
+//-------------------------------------------------
+// device_reset - device-specific reset
+//-------------------------------------------------
+
+void spectrum_fuller_device::device_reset()
+{
+ m_exp->set_io_space(&io_space());
+
+ io_space().install_write_handler(0x3f, 0x3f, 0, 0xff00, 0, write8_delegate(FUNC(ay8910_device::address_w), m_psg.target()));
+ io_space().install_readwrite_handler(0x5f, 0x5f, 0, 0xff00, 0, read8_delegate(FUNC(ay8910_device::data_r), m_psg.target()), write8_delegate(FUNC(ay8910_device::data_w), m_psg.target()));
+ io_space().install_read_handler(0x7f, 0x7f, 0, 0xff00, 0, read8_delegate(FUNC(spectrum_fuller_device::joystick_r), this));
+}
+
+
//**************************************************************************
// IMPLEMENTATION
//**************************************************************************
+READ8_MEMBER(spectrum_fuller_device::joystick_r)
+{
+ return m_joy->read() | (0xff ^ 0x8f);
+}
+
READ_LINE_MEMBER(spectrum_fuller_device::romcs)
{
return m_exp->romcs();
}
-void spectrum_fuller_device::opcode_fetch(offs_t offset)
+READ8_MEMBER(spectrum_fuller_device::mreq_r)
{
- m_exp->opcode_fetch(offset);
+ return m_exp->mreq_r(space, offset);
}
-uint8_t spectrum_fuller_device::mreq_r(offs_t offset)
+WRITE8_MEMBER(spectrum_fuller_device::mreq_w)
{
- uint8_t data = 0xff;
-
if (m_exp->romcs())
- data &= m_exp->mreq_r(offset);
-
- return data;
+ m_exp->mreq_w(space, offset, data);
}
-void spectrum_fuller_device::mreq_w(offs_t offset, uint8_t data)
+READ8_MEMBER(spectrum_fuller_device::port_fe_r)
{
+ uint8_t data = 0xff;
+
if (m_exp->romcs())
- m_exp->mreq_w(offset, data);
-}
+ data &= m_exp->port_fe_r(space, offset);
-uint8_t spectrum_fuller_device::iorq_r(offs_t offset)
-{
- uint8_t data = m_exp->iorq_r(offset);
-
- switch (offset & 0xff)
- {
- case 0x5f:
- data &= m_psg->data_r();
- break;
- case 0x7f:
- data &= m_joy->read() | (0xff ^ 0x8f);
- break;
- }
return data;
}
-
-void spectrum_fuller_device::iorq_w(offs_t offset, uint8_t data)
-{
- switch (offset & 0xff)
- {
- case 0x3f:
- m_psg->address_w(data);
- break;
- case 0x5f:
- m_psg->data_w(data);
- break;
- }
- m_exp->iorq_w(offset, data);
-}
diff --git a/src/devices/bus/spectrum/fuller.h b/src/devices/bus/spectrum/fuller.h
index 12f7805eff0..b0431121424 100644
--- a/src/devices/bus/spectrum/fuller.h
+++ b/src/devices/bus/spectrum/fuller.h
@@ -32,19 +32,20 @@ public:
protected:
// device-level overrides
virtual void device_start() override;
+ virtual void device_reset() override;
// optional information overrides
virtual void device_add_mconfig(machine_config &config) override;
virtual ioport_constructor device_input_ports() const override;
- virtual void opcode_fetch(offs_t offset) override;
- virtual uint8_t mreq_r(offs_t offset) override;
- virtual void mreq_w(offs_t offset, uint8_t data) override;
- virtual uint8_t iorq_r(offs_t offset) override;
- virtual void iorq_w(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(mreq_r) override;
+ virtual DECLARE_WRITE8_MEMBER(mreq_w) override;
+ virtual DECLARE_READ8_MEMBER(port_fe_r) override;
virtual DECLARE_READ_LINE_MEMBER(romcs) override;
private:
+ DECLARE_READ8_MEMBER(joystick_r);
+
required_device<spectrum_expansion_slot_device> m_exp;
required_device<ay8910_device> m_psg;
required_ioport m_joy;
diff --git a/src/devices/bus/spectrum/intf1.cpp b/src/devices/bus/spectrum/intf1.cpp
index 344aaf61841..d324e931e2c 100644
--- a/src/devices/bus/spectrum/intf1.cpp
+++ b/src/devices/bus/spectrum/intf1.cpp
@@ -85,7 +85,6 @@ spectrum_intf1_device::spectrum_intf1_device(const machine_config &mconfig, cons
void spectrum_intf1_device::device_start()
{
- save_item(NAME(m_romcs));
}
//-------------------------------------------------
@@ -94,6 +93,8 @@ void spectrum_intf1_device::device_start()
void spectrum_intf1_device::device_reset()
{
+ m_exp->set_io_space(&io_space());
+
m_romcs = 0;
}
@@ -106,49 +107,45 @@ READ_LINE_MEMBER(spectrum_intf1_device::romcs)
return m_romcs | m_exp->romcs();
}
-void spectrum_intf1_device::opcode_fetch(offs_t offset)
+READ8_MEMBER(spectrum_intf1_device::mreq_r)
{
- m_exp->opcode_fetch(offset);
+ uint8_t temp;
+ uint8_t data = 0xff;
if (!machine().side_effects_disabled())
{
- switch (offset)
- {
- case 0x0008: case 0x1708:
+ if (offset == 0x0008 || offset == 0x1708)
m_romcs = 1;
- break;
- case 0x0700:
- m_romcs = 0;
- break;
- }
}
-}
-uint8_t spectrum_intf1_device::mreq_r(offs_t offset)
-{
- uint8_t data = 0xff;
+ temp = m_exp->mreq_r(space, offset);
+ if (m_exp->romcs())
+ data &= temp;
if (m_romcs)
data &= m_rom->base()[offset & 0x1fff];
- if (m_exp->romcs())
- data &= m_exp->mreq_r(offset);
+ if (!machine().side_effects_disabled())
+ {
+ if (offset == 0x0700)
+ m_romcs = 0;
+ }
return data;
}
-void spectrum_intf1_device::mreq_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(spectrum_intf1_device::mreq_w)
{
if (m_exp->romcs())
- m_exp->mreq_w(offset, data);
+ m_exp->mreq_w(space, offset, data);
}
-uint8_t spectrum_intf1_device::iorq_r(offs_t offset)
+READ8_MEMBER(spectrum_intf1_device::port_fe_r)
{
- return m_exp->iorq_r(offset);
-}
+ uint8_t data = 0xff;
-void spectrum_intf1_device::iorq_w(offs_t offset, uint8_t data)
-{
- m_exp->iorq_w(offset, data);
+ if (m_exp->romcs())
+ data &= m_exp->port_fe_r(space, offset);
+
+ return data;
}
diff --git a/src/devices/bus/spectrum/intf1.h b/src/devices/bus/spectrum/intf1.h
index 6b0ddb32804..5a21cd9927d 100644
--- a/src/devices/bus/spectrum/intf1.h
+++ b/src/devices/bus/spectrum/intf1.h
@@ -36,11 +36,9 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
virtual const tiny_rom_entry *device_rom_region() const override;
- virtual void opcode_fetch(offs_t offset) override;
- virtual uint8_t mreq_r(offs_t offset) override;
- virtual void mreq_w(offs_t offset, uint8_t data) override;
- virtual uint8_t iorq_r(offs_t offset) override;
- virtual void iorq_w(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(mreq_r) override;
+ virtual DECLARE_WRITE8_MEMBER(mreq_w) override;
+ virtual DECLARE_READ8_MEMBER(port_fe_r) override;
virtual DECLARE_READ_LINE_MEMBER(romcs) override;
private:
diff --git a/src/devices/bus/spectrum/intf2.cpp b/src/devices/bus/spectrum/intf2.cpp
index 789be29717d..2700c2787d0 100644
--- a/src/devices/bus/spectrum/intf2.cpp
+++ b/src/devices/bus/spectrum/intf2.cpp
@@ -117,7 +117,7 @@ READ_LINE_MEMBER(spectrum_intf2_device::romcs)
return 0;
}
-uint8_t spectrum_intf2_device::mreq_r(offs_t offset)
+READ8_MEMBER(spectrum_intf2_device::mreq_r)
{
if (m_cart && m_cart->exists())
return m_cart->get_rom_base()[offset & 0x3fff];
@@ -125,20 +125,17 @@ uint8_t spectrum_intf2_device::mreq_r(offs_t offset)
return 0xff;
}
-uint8_t spectrum_intf2_device::iorq_r(offs_t offset)
+READ8_MEMBER(spectrum_intf2_device::port_fe_r)
{
uint8_t data = 0xff;
- switch (offset & 0xff)
- {
- case 0xfe:
- if (((offset >> 8) & 8) == 0)
- data = m_exp_line3->read() | (0xff ^ 0x1f);
+ uint8_t lines = offset >> 8;
- if (((offset >> 8) & 16) == 0)
- data = m_exp_line4->read() | (0xff ^ 0x1f);
- break;
- }
+ if ((lines & 8) == 0)
+ data = m_exp_line3->read() | (0xff ^ 0x1f);
+
+ if ((lines & 16) == 0)
+ data = m_exp_line4->read() | (0xff ^ 0x1f);
return data;
}
diff --git a/src/devices/bus/spectrum/intf2.h b/src/devices/bus/spectrum/intf2.h
index fd131112a3c..826e4b8fb3e 100644
--- a/src/devices/bus/spectrum/intf2.h
+++ b/src/devices/bus/spectrum/intf2.h
@@ -35,8 +35,8 @@ protected:
virtual ioport_constructor device_input_ports() const override;
virtual DECLARE_READ_LINE_MEMBER(romcs) override;
- virtual uint8_t mreq_r(offs_t offset) override;
- virtual uint8_t iorq_r(offs_t offset) override;
+ virtual DECLARE_READ8_MEMBER(mreq_r) override;
+ virtual DECLARE_READ8_MEMBER(port_fe_r) override;
private:
image_init_result load_cart(device_image_interface &image, generic_slot_device *slot);
diff --git a/src/devices/bus/spectrum/kempjoy.cpp b/src/devices/bus/spectrum/kempjoy.cpp
index a433d615e8c..ac7d5698bd7 100644
--- a/src/devices/bus/spectrum/kempjoy.cpp
+++ b/src/devices/bus/spectrum/kempjoy.cpp
@@ -65,17 +65,21 @@ void spectrum_kempjoy_device::device_start()
}
+//-------------------------------------------------
+// device_reset - device-specific reset
+//-------------------------------------------------
+
+void spectrum_kempjoy_device::device_reset()
+{
+ io_space().install_read_handler(0x1f, 0x1f, 0, 0xff00, 0, read8_delegate(FUNC(spectrum_kempjoy_device::joystick_r), this));
+}
+
+
//**************************************************************************
// IMPLEMENTATION
//**************************************************************************
-uint8_t spectrum_kempjoy_device::iorq_r(offs_t offset)
+READ8_MEMBER(spectrum_kempjoy_device::joystick_r)
{
- uint8_t data = 0xff;
-
- if (offset == 0x1f)
- {
- data = m_joy->read() & 0x1f;
- }
- return data;
+ return m_joy->read() & 0x1f;
}
diff --git a/src/devices/bus/spectrum/kempjoy.h b/src/devices/bus/spectrum/kempjoy.h
index 466dceb7517..555fb67643a 100644
--- a/src/devices/bus/spectrum/kempjoy.h
+++ b/src/devices/bus/spectrum/kempjoy.h
@@ -31,13 +31,14 @@ public:
protected:
// device-level overrides
virtual void device_start() override;
+ virtual void device_reset() override;
// optional information overrides
virtual ioport_constructor device_input_ports() const override;
- virtual uint8_t iorq_r(offs_t offset) override;
-
private:
+ DECLARE_READ8_MEMBER(joystick_r);
+
required_ioport m_joy;
};
diff --git a/src/devices/bus/spectrum/melodik.cpp b/src/devices/bus/spectrum/melodik.cpp
index f6abc0f98d6..8303d4c436c 100644
--- a/src/devices/bus/spectrum/melodik.cpp
+++ b/src/devices/bus/spectrum/melodik.cpp
@@ -60,6 +60,18 @@ void spectrum_melodik_device::device_start()
}
+//-------------------------------------------------
+// device_reset - device-specific reset
+//-------------------------------------------------
+
+void spectrum_melodik_device::device_reset()
+{
+ m_exp->set_io_space(&io_space());
+
+ io_space().install_write_handler(0x8000, 0x8000, 0, 0x3ffd, 0, write8_delegate(FUNC(ay8910_device::address_w), m_psg.target()));
+ io_space().install_readwrite_handler(0xc000, 0xc000, 0, 0x3ffd, 0, read8_delegate(FUNC(ay8910_device::data_r), m_psg.target()), write8_delegate(FUNC(ay8910_device::data_w), m_psg.target()));
+}
+
//**************************************************************************
// IMPLEMENTATION
//**************************************************************************
@@ -69,50 +81,23 @@ READ_LINE_MEMBER(spectrum_melodik_device::romcs)
return m_exp->romcs();
}
-void spectrum_melodik_device::opcode_fetch(offs_t offset)
+READ8_MEMBER(spectrum_melodik_device::mreq_r)
{
- m_exp->opcode_fetch(offset);
+ return m_exp->mreq_r(space, offset);
}
-uint8_t spectrum_melodik_device::mreq_r(offs_t offset)
+WRITE8_MEMBER(spectrum_melodik_device::mreq_w)
{
- uint8_t data = 0xff;
-
if (m_exp->romcs())
- data &= m_exp->mreq_r(offset);
-
- return data;
+ m_exp->mreq_w(space, offset, data);
}
-void spectrum_melodik_device::mreq_w(offs_t offset, uint8_t data)
+READ8_MEMBER(spectrum_melodik_device::port_fe_r)
{
+ uint8_t data = 0xff;
+
if (m_exp->romcs())
- m_exp->mreq_w(offset, data);
-}
+ data &= m_exp->port_fe_r(space, offset);
-uint8_t spectrum_melodik_device::iorq_r(offs_t offset)
-{
- uint8_t data = m_exp->iorq_r(offset);
-
- switch (offset & 0xc002)
- {
- case 0xc000:
- data &= m_psg->data_r();
- break;
- }
return data;
}
-
-void spectrum_melodik_device::iorq_w(offs_t offset, uint8_t data)
-{
- switch (offset & 0xc002)
- {
- case 0x8000:
- m_psg->address_w(data);
- break;
- case 0xc000:
- m_psg->data_w(data);
- break;
- }
- m_exp->iorq_w(offset, data);
-}
diff --git a/src/devices/bus/spectrum/melodik.h b/src/devices/bus/spectrum/melodik.h
index 4300d946cd4..2dc3c547836 100644
--- a/src/devices/bus/spectrum/melodik.h
+++ b/src/devices/bus/spectrum/melodik.h
@@ -32,15 +32,14 @@ public:
protected:
// device-level overrides
virtual void device_start() override;
+ virtual void device_reset() override;
// optional information overrides
virtual void device_add_mconfig(machine_config &config) override;
- virtual void opcode_fetch(offs_t offset) override;
- virtual uint8_t mreq_r(offs_t offset) override;
- virtual void mreq_w(offs_t offset, uint8_t data) override;
- virtual uint8_t iorq_r(offs_t offset) override;
- virtual void iorq_w(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(mreq_r) override;
+ virtual DECLARE_WRITE8_MEMBER(mreq_w) override;
+ virtual DECLARE_READ8_MEMBER(port_fe_r) override;
virtual DECLARE_READ_LINE_MEMBER(romcs) override;
private:
diff --git a/src/devices/bus/spectrum/mface.cpp b/src/devices/bus/spectrum/mface.cpp
deleted file mode 100644
index 559dd9ae1e6..00000000000
--- a/src/devices/bus/spectrum/mface.cpp
+++ /dev/null
@@ -1,321 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Nigel Barnes
-/*********************************************************************
-
- Romantic Robot Multiface One/128/3
-
-*********************************************************************/
-
-#include "emu.h"
-#include "mface.h"
-
-
-/***************************************************************************
- DEVICE DEFINITIONS
-***************************************************************************/
-
-DEFINE_DEVICE_TYPE(SPECTRUM_MFACE1, spectrum_mface1_device, "spectrum_mface1", "Multiface One")
-DEFINE_DEVICE_TYPE(SPECTRUM_MFACE128, spectrum_mface128_device, "spectrum_mface128", "Multiface 128")
-DEFINE_DEVICE_TYPE(SPECTRUM_MFACE3, spectrum_mface3_device, "spectrum_mface3", "Multiface 3")
-DEFINE_DEVICE_TYPE(SPECTRUM_MPRINT, spectrum_mprint_device, "spectrum_mprint", "MultiPrint")
-
-
-//-------------------------------------------------
-// INPUT_PORTS( mface )
-//-------------------------------------------------
-
-INPUT_PORTS_START(mface)
- PORT_START("BUTTON")
- PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_NAME("Multiface") PORT_CODE(KEYCODE_F12) PORT_CHANGED_MEMBER(DEVICE_SELF, spectrum_mface1_device, magic_button, nullptr)
-INPUT_PORTS_END
-
-//-------------------------------------------------
-// input_ports - device-specific input ports
-//-------------------------------------------------
-
-ioport_constructor spectrum_mface1_device::device_input_ports() const
-{
- return INPUT_PORTS_NAME(mface);
-}
-
-//-------------------------------------------------
-// ROM( mface1 )
-//-------------------------------------------------
-
-ROM_START(mface1)
- ROM_REGION(0x2000, "rom", 0)
- ROM_DEFAULT_BIOS("mu21e7")
- ROM_SYSTEM_BIOS(0, "mu20fe", "MU 2.0 FE")
- ROMX_LOAD("mf1_20_fe.rom", 0x0000, 0x2000, CRC(fa1b8b0d) SHA1(20cd508b0143166558a7238c7a9ccfbe37b90b0d), ROM_BIOS(0))
- ROM_SYSTEM_BIOS(1, "mu2167", "MU 2.1 67")
- ROMX_LOAD("mf1_21_67.rom", 0x0000, 0x2000, CRC(d720ec1b) SHA1(91a40d8f503ef825df3e2ed712897dbf4ca3671d), ROM_BIOS(1))
- ROM_SYSTEM_BIOS(2, "mu21e4", "MU 2.1 E4")
- ROMX_LOAD("mf1_21_e4.rom", 0x0000, 0x2000, CRC(4b31a971) SHA1(ba28754a3cc31a4ca579829ed4310c313409cf5d), ROM_BIOS(2))
- ROM_SYSTEM_BIOS(3, "mu21e7", "MU 2.1 E7")
- ROMX_LOAD("mf1_21_e7.rom", 0x0000, 0x2000, CRC(670f0ec2) SHA1(50fba2d628f3a2e9219f72980e4efd62fc9ec1f8), ROM_BIOS(3))
-ROM_END
-
-ROM_START(mface128)
- ROM_REGION(0x2000, "rom", 0)
- ROM_DEFAULT_BIOS("v363c")
- ROM_SYSTEM_BIOS(0, "v363c", "87.2 V36 3C")
- ROMX_LOAD("mf128_36_3c.rom", 0x0000, 0x2000, CRC(78ec8cfd) SHA1(8df204ab490b87c389971ce0c7fb5f9cbd281f14), ROM_BIOS(0))
-ROM_END
-
-ROM_START(mface3)
- ROM_REGION(0x2000, "rom", 0)
- ROM_DEFAULT_BIOS("v50fe")
- ROM_SYSTEM_BIOS(0, "v5013", "V50 13")
- ROMX_LOAD("mf3_50_13.rom", 0x0000, 0x2000, CRC(2d594640) SHA1(5d74d2e2e5a537639da92ff120f8a6d86f474495), ROM_BIOS(0))
- ROM_SYSTEM_BIOS(1, "v50fe", "V50 FE")
- ROMX_LOAD("mf3_50_fe.rom", 0x0000, 0x2000, CRC(b5c00f28) SHA1(983699a07665186f498f5827f9b35c442c2178ba), ROM_BIOS(1))
-ROM_END
-
-ROM_START(mprint)
- ROM_REGION(0x2000, "rom", 0)
- ROM_DEFAULT_BIOS("mpa8")
- ROM_SYSTEM_BIOS(0, "mp5a", "MP 5A")
- ROMX_LOAD("mprint_5a.rom", 0x0000, 0x2000, CRC(3a26e84b) SHA1(4714469bf25f69291f61188f52bfb11fbb8d0b33), ROM_BIOS(0))
- ROM_SYSTEM_BIOS(1, "mpa8", "MP A8")
- ROMX_LOAD("mprint_a8.rom", 0x0000, 0x2000, CRC(a5c58022) SHA1(1356bfae3264b952f83a33e25af536c0f13f50e7), ROM_BIOS(1))
-ROM_END
-
-//-------------------------------------------------
-// device_add_mconfig - add device configuration
-//-------------------------------------------------
-
-void spectrum_mface1_device::device_add_mconfig(machine_config &config)
-{
- /* passthru */
- SPECTRUM_EXPANSION_SLOT(config, m_exp, spectrum_expansion_devices, nullptr);
- m_exp->irq_handler().set(DEVICE_SELF_OWNER, FUNC(spectrum_expansion_slot_device::irq_w));
- m_exp->nmi_handler().set(DEVICE_SELF_OWNER, FUNC(spectrum_expansion_slot_device::nmi_w));
-}
-
-const tiny_rom_entry *spectrum_mface1_device::device_rom_region() const
-{
- return ROM_NAME(mface1);
-}
-
-const tiny_rom_entry *spectrum_mface128_device::device_rom_region() const
-{
- return ROM_NAME(mface128);
-}
-
-const tiny_rom_entry *spectrum_mface3_device::device_rom_region() const
-{
- return ROM_NAME(mface3);
-}
-
-const tiny_rom_entry *spectrum_mprint_device::device_rom_region() const
-{
- return ROM_NAME(mprint);
-}
-
-
-//**************************************************************************
-// LIVE DEVICE
-//**************************************************************************
-
-//-------------------------------------------------
-// spectrum_opus_device - constructor
-//-------------------------------------------------
-
-spectrum_mface1_device::spectrum_mface1_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, type, tag, owner, clock)
- , device_spectrum_expansion_interface(mconfig, *this)
- , m_rom(*this, "rom")
- , m_exp(*this, "exp")
-{
-}
-
-spectrum_mface1_device::spectrum_mface1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : spectrum_mface1_device(mconfig, SPECTRUM_MFACE1, tag, owner, clock)
-{
-}
-
-spectrum_mface128_device::spectrum_mface128_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : spectrum_mface1_device(mconfig, SPECTRUM_MFACE128, tag, owner, clock)
-{
-}
-
-spectrum_mface3_device::spectrum_mface3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : spectrum_mface1_device(mconfig, SPECTRUM_MFACE3, tag, owner, clock)
-{
-}
-
-spectrum_mprint_device::spectrum_mprint_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : spectrum_mface1_device(mconfig, SPECTRUM_MPRINT, tag, owner, clock)
-{
-}
-
-//-------------------------------------------------
-// device_start - device-specific startup
-//-------------------------------------------------
-
-void spectrum_mface1_device::device_start()
-{
- save_item(NAME(m_romcs));
-}
-
-//-------------------------------------------------
-// device_reset - device-specific reset
-//-------------------------------------------------
-
-void spectrum_mface1_device::device_reset()
-{
- m_romcs = 0;
-}
-
-
-//**************************************************************************
-// IMPLEMENTATION
-//**************************************************************************
-
-READ_LINE_MEMBER(spectrum_mface1_device::romcs)
-{
- return m_romcs | m_exp->romcs();
-}
-
-void spectrum_mface1_device::opcode_fetch(offs_t offset)
-{
- m_exp->opcode_fetch(offset);
-
- if (!machine().side_effects_disabled())
- {
- if (offset == 0x0066)
- m_romcs = 1;
- }
-}
-
-uint8_t spectrum_mface1_device::iorq_r(offs_t offset)
-{
- uint8_t data = m_exp->iorq_r(offset);
-
- if (!machine().side_effects_disabled())
- {
- switch (offset & 0xff)
- {
- case 0x1f:
- m_romcs = 0;
- break;
- case 0x9f:
- m_romcs = 1;
- break;
- }
- }
- return data;
-}
-
-uint8_t spectrum_mface128_device::iorq_r(offs_t offset)
-{
- uint8_t data = m_exp->iorq_r(offset);
-
- if (!machine().side_effects_disabled())
- {
- switch (offset & 0xff)
- {
- case 0xbf:
- m_romcs = 1;
- break;
- case 0x3f:
- m_romcs = 0;
- break;
- }
- }
- return data;
-}
-
-uint8_t spectrum_mface3_device::iorq_r(offs_t offset)
-{
- uint8_t data = m_exp->iorq_r(offset);
-
- if (!machine().side_effects_disabled())
- {
- switch (offset & 0xff)
- {
- case 0x3f:
- m_romcs = 1;
- break;
- case 0xbf:
- m_romcs = 0;
- break;
- }
- }
- return data;
-}
-
-uint8_t spectrum_mprint_device::iorq_r(offs_t offset)
-{
- uint8_t data = m_exp->iorq_r(offset);
-
- if (!machine().side_effects_disabled())
- {
- switch (offset & 0xff)
- {
- case 0xbb:
- m_romcs = 1;
- break;
- case 0xbf:
- m_romcs = 0;
- break;
- }
- }
- return data;
-}
-
-void spectrum_mface1_device::iorq_w(offs_t offset, uint8_t data)
-{
- m_exp->iorq_w(offset, data);
-}
-
-uint8_t spectrum_mface1_device::mreq_r(offs_t offset)
-{
- uint8_t data = 0xff;
-
- if (m_romcs)
- {
- switch (offset & 0xe000)
- {
- case 0x0000:
- data = m_rom->base()[offset & 0x1fff];
- break;
- case 0x2000:
- data = m_ram[offset & 0x1fff];
- break;
- }
- }
-
- if (m_exp->romcs())
- data &= m_exp->mreq_r(offset);
-
- return data;
-}
-
-void spectrum_mface1_device::mreq_w(offs_t offset, uint8_t data)
-{
- if (m_romcs)
- {
- switch (offset & 0xe000)
- {
- case 0x2000:
- m_ram[offset & 0x1fff] = data;
- break;
- }
- }
-
- if (m_exp->romcs())
- m_exp->mreq_w(offset, data);
-}
-
-INPUT_CHANGED_MEMBER(spectrum_mface1_device::magic_button)
-{
- if (newval && !oldval)
- {
- m_slot->nmi_w(ASSERT_LINE);
- }
- else
- {
- m_slot->nmi_w(CLEAR_LINE);
- }
-}
diff --git a/src/devices/bus/spectrum/mface.h b/src/devices/bus/spectrum/mface.h
deleted file mode 100644
index bbe8311808c..00000000000
--- a/src/devices/bus/spectrum/mface.h
+++ /dev/null
@@ -1,100 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Nigel Barnes
-/*********************************************************************
-
- Romantic Robot Multiface One/128/3
-
-*********************************************************************/
-#ifndef MAME_BUS_SPECTRUM_MFACE_H
-#define MAME_BUS_SPECTRUM_MFACE_H
-
-#include "exp.h"
-
-
-//**************************************************************************
-// TYPE DEFINITIONS
-//**************************************************************************
-
-class spectrum_mface1_device :
- public device_t,
- public device_spectrum_expansion_interface
-
-{
-public:
- // construction/destruction
- spectrum_mface1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
- DECLARE_INPUT_CHANGED_MEMBER(magic_button);
-
-protected:
- spectrum_mface1_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
-
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
- // optional information overrides
- virtual void device_add_mconfig(machine_config &config) override;
- virtual const tiny_rom_entry *device_rom_region() const override;
- virtual ioport_constructor device_input_ports() const override;
-
- virtual void opcode_fetch(offs_t offset) override;
- virtual uint8_t mreq_r(offs_t offset) override;
- virtual void mreq_w(offs_t offset, uint8_t data) override;
- virtual uint8_t iorq_r(offs_t offset) override;
- virtual void iorq_w(offs_t offset, uint8_t data) override;
- virtual DECLARE_READ_LINE_MEMBER(romcs) override;
-
- required_memory_region m_rom;
- required_device<spectrum_expansion_slot_device> m_exp;
-
- uint8_t m_ram[8 * 1024];
- int m_romcs;
-};
-
-class spectrum_mface128_device : public spectrum_mface1_device
-{
-public:
- spectrum_mface128_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
-protected:
- // optional information overrides
- virtual const tiny_rom_entry *device_rom_region() const override;
-
- virtual uint8_t iorq_r(offs_t offset) override;
-};
-
-class spectrum_mface3_device : public spectrum_mface1_device
-{
-public:
- spectrum_mface3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
-protected:
- // optional information overrides
- virtual const tiny_rom_entry *device_rom_region() const override;
-
- virtual uint8_t iorq_r(offs_t offset) override;
-};
-
-class spectrum_mprint_device : public spectrum_mface1_device
-{
-public:
- spectrum_mprint_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
-protected:
- // optional information overrides
- virtual const tiny_rom_entry *device_rom_region() const override;
-
- virtual uint8_t iorq_r(offs_t offset) override;
-};
-
-
-// device type definition
-DECLARE_DEVICE_TYPE(SPECTRUM_MFACE1, spectrum_mface1_device)
-DECLARE_DEVICE_TYPE(SPECTRUM_MFACE128, spectrum_mface128_device)
-DECLARE_DEVICE_TYPE(SPECTRUM_MFACE3, spectrum_mface3_device)
-DECLARE_DEVICE_TYPE(SPECTRUM_MPRINT, spectrum_mprint_device)
-
-
-
-#endif // MAME_BUS_SPECTRUM_MFACE_H
diff --git a/src/devices/bus/spectrum/mikroplus.cpp b/src/devices/bus/spectrum/mikroplus.cpp
index 87552f79bf3..b0f0676aaee 100644
--- a/src/devices/bus/spectrum/mikroplus.cpp
+++ b/src/devices/bus/spectrum/mikroplus.cpp
@@ -85,19 +85,23 @@ void spectrum_mikroplus_device::device_start()
}
+//-------------------------------------------------
+// device_reset - device-specific reset
+//-------------------------------------------------
+
+void spectrum_mikroplus_device::device_reset()
+{
+ io_space().install_read_handler(0xdf, 0xdf, 0, 0xff00, 0, read8_delegate(FUNC(spectrum_mikroplus_device::joystick_r), this));
+}
+
+
//**************************************************************************
// IMPLEMENTATION
//**************************************************************************
-uint8_t spectrum_mikroplus_device::iorq_r(offs_t offset)
+READ8_MEMBER(spectrum_mikroplus_device::joystick_r)
{
- uint8_t data = 0xff;
-
- if (offset == 0xdf)
- {
- data = m_joy->read() | (0xff ^ 0x1f);
- }
- return data;
+ return m_joy->read() | (0xff ^ 0x1f);
}
READ_LINE_MEMBER(spectrum_mikroplus_device::romcs)
@@ -105,7 +109,7 @@ READ_LINE_MEMBER(spectrum_mikroplus_device::romcs)
return 1;
}
-uint8_t spectrum_mikroplus_device::mreq_r(offs_t offset)
+READ8_MEMBER(spectrum_mikroplus_device::mreq_r)
{
return m_rom->base()[offset & 0x3fff];
}
diff --git a/src/devices/bus/spectrum/mikroplus.h b/src/devices/bus/spectrum/mikroplus.h
index e06cb38bb2c..927cff5f56a 100644
--- a/src/devices/bus/spectrum/mikroplus.h
+++ b/src/devices/bus/spectrum/mikroplus.h
@@ -31,16 +31,18 @@ public:
protected:
// device-level overrides
virtual void device_start() override;
+ virtual void device_reset() override;
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
virtual ioport_constructor device_input_ports() const override;
virtual DECLARE_READ_LINE_MEMBER(romcs) override;
- virtual uint8_t mreq_r(offs_t offset) override;
- virtual uint8_t iorq_r(offs_t offset) override;
+ virtual DECLARE_READ8_MEMBER(mreq_r) override;
private:
+ DECLARE_READ8_MEMBER(joystick_r);
+
required_memory_region m_rom;
required_ioport m_joy;
};
diff --git a/src/devices/bus/spectrum/opus.cpp b/src/devices/bus/spectrum/opus.cpp
deleted file mode 100644
index be73ef01e92..00000000000
--- a/src/devices/bus/spectrum/opus.cpp
+++ /dev/null
@@ -1,289 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Nigel Barnes
-/**********************************************************************
-
- Opus Discovery disc system
-
-**********************************************************************/
-
-
-#include "emu.h"
-#include "opus.h"
-
-
-//**************************************************************************
-// DEVICE DEFINITIONS
-//**************************************************************************
-
-DEFINE_DEVICE_TYPE(SPECTRUM_OPUS, spectrum_opus_device, "spectrum_opus", "Opus Discovery")
-
-
-//-------------------------------------------------
-// INPUT_PORTS( opus )
-//-------------------------------------------------
-
-static INPUT_PORTS_START( opus )
- PORT_START("JOY")
- PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT) PORT_8WAY
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT) PORT_8WAY
- PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN) PORT_8WAY
- PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP) PORT_8WAY
- PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_BUTTON1)
-INPUT_PORTS_END
-
-//-------------------------------------------------
-// input_ports - device-specific input ports
-//-------------------------------------------------
-
-ioport_constructor spectrum_opus_device::device_input_ports() const
-{
- return INPUT_PORTS_NAME( opus );
-}
-
-//-------------------------------------------------
-// MACHINE_DRIVER( opus )
-//-------------------------------------------------
-
-FLOPPY_FORMATS_MEMBER( spectrum_opus_device::floppy_formats )
- FLOPPY_OPD_FORMAT
-FLOPPY_FORMATS_END
-
-static void spectrum_floppies(device_slot_interface &device)
-{
- device.option_add("35ssdd", FLOPPY_35_SSDD);
- device.option_add("35dd", FLOPPY_35_DD);
-}
-
-ROM_START(opus)
- ROM_REGION(0x2000, "rom", 0)
- ROM_DEFAULT_BIOS("opus22")
- ROM_SYSTEM_BIOS(0, "opus22", "Opus v2.2")
- ROMX_LOAD("opus-22.rom", 0x0000, 0x2000, CRC(50f0eae0) SHA1(0eee1c503f71709fce8b7560dadc2d07d15edb80), ROM_BIOS(0))
- ROM_SYSTEM_BIOS(1, "opus21", "Opus v2.1")
- ROMX_LOAD("opus-21.rom", 0x0000, 0x2000, CRC(619973f9) SHA1(31999a68901392bba907cf5a15e264b6759f1a29), ROM_BIOS(1))
- ROM_SYSTEM_BIOS(2, "opus222", "Opus v2.22")
- ROMX_LOAD("opus-222.rom", 0x0000, 0x2000, CRC(08ce9949) SHA1(71f1c8a8b923f7751d1ff48d30b8e18a15b92591), ROM_BIOS(2))
- ROM_SYSTEM_BIOS(3, "quickdos", "QuickDOS v2.31") // MegaSoft
- ROMX_LOAD("quickdos-231.rom", 0x0000, 0x2000, CRC(d042b32a) SHA1(2975f7eb61d44e898cdd6e3196893e95637f17ff), ROM_BIOS(3))
- ROM_SYSTEM_BIOS(4, "excom", "EXCOM v2.28") // Paul Cheffings
- ROMX_LOAD("excom-228.rom", 0x0000, 0x2000, CRC(29257418) SHA1(098a812c4707251f647553a2abc1436afa38f43c), ROM_BIOS(4))
-ROM_END
-
-
-//-------------------------------------------------
-// device_add_mconfig - add device configuration
-//-------------------------------------------------
-
-void spectrum_opus_device::device_add_mconfig(machine_config &config)
-{
- WD1770(config, m_fdc, 16_MHz_XTAL / 2);
- m_fdc->drq_wr_callback().set(DEVICE_SELF_OWNER, FUNC(spectrum_expansion_slot_device::nmi_w));
-
- FLOPPY_CONNECTOR(config, "fdc:0", spectrum_floppies, "35dd", spectrum_opus_device::floppy_formats).enable_sound(true);
- FLOPPY_CONNECTOR(config, "fdc:1", spectrum_floppies, "35dd", spectrum_opus_device::floppy_formats).enable_sound(true);
-
- /* parallel printer port */
- CENTRONICS(config, m_centronics, centronics_devices, "printer");
- m_centronics->ack_handler().set(m_pia, FUNC(pia6821_device::ca2_w));
- m_centronics->busy_handler().set(FUNC(spectrum_opus_device::busy_w));
-
- /* pia */
- PIA6821(config, m_pia, 0);
- m_pia->writepa_handler().set(FUNC(spectrum_opus_device::pia_out_a));
- m_pia->writepb_handler().set(FUNC(spectrum_opus_device::pia_out_b));
- m_pia->cb2_handler().set("centronics", FUNC(centronics_device::write_strobe));
-
- /* software list */
- SOFTWARE_LIST(config, "flop_list").set_original("spectrum_flop_opus");
-
- /* passthru without NMI */
- SPECTRUM_EXPANSION_SLOT(config, m_exp, spectrum_expansion_devices, nullptr);
- m_exp->irq_handler().set(DEVICE_SELF_OWNER, FUNC(spectrum_expansion_slot_device::irq_w));
-}
-
-const tiny_rom_entry *spectrum_opus_device::device_rom_region() const
-{
- return ROM_NAME( opus );
-}
-
-
-//**************************************************************************
-// LIVE DEVICE
-//**************************************************************************
-
-//-------------------------------------------------
-// spectrum_opus_device - constructor
-//-------------------------------------------------
-
-spectrum_opus_device::spectrum_opus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, SPECTRUM_OPUS, tag, owner, clock)
- , device_spectrum_expansion_interface(mconfig, *this)
- , m_joy(*this, "JOY")
- , m_rom(*this, "rom")
- , m_pia(*this, "pia")
- , m_fdc(*this, "fdc")
- , m_floppy0(*this, "fdc:0")
- , m_floppy1(*this, "fdc:1")
- , m_centronics(*this, "centronics")
- , m_exp(*this, "exp")
-{
-}
-
-//-------------------------------------------------
-// device_start - device-specific startup
-//-------------------------------------------------
-
-void spectrum_opus_device::device_start()
-{
- memset(m_ram, 0, sizeof(m_ram));
-
- save_item(NAME(m_romcs));
- save_item(NAME(m_ram));
- save_item(NAME(m_last_pc));
-}
-
-//-------------------------------------------------
-// device_reset - device-specific reset
-//-------------------------------------------------
-
-void spectrum_opus_device::device_reset()
-{
- m_romcs = 0;
- m_last_pc = 0x0000;
-}
-
-
-//**************************************************************************
-// IMPLEMENTATION
-//**************************************************************************
-
-READ_LINE_MEMBER(spectrum_opus_device::romcs)
-{
- return m_romcs | m_exp->romcs();
-}
-
-void spectrum_opus_device::opcode_fetch(offs_t offset)
-{
- m_exp->opcode_fetch(offset);
-
- if (!machine().side_effects_disabled())
- {
- switch (m_last_pc)
- {
- case 0x0008: case 0x0048: case 0x1708:
- m_romcs = 1;
- break;
- case 0x1748:
- m_romcs = 0;
- break;
- }
- }
- m_last_pc = offset;
-}
-
-uint8_t spectrum_opus_device::iorq_r(offs_t offset)
-{
- uint8_t data = m_exp->iorq_r(offset);
-
- // PIA bit 7 is enable joystick and selected on A5 only
- if (!BIT(m_pia->a_output(), 7) && (~offset & 0x20))
- {
- data &= m_joy->read() & 0x1f;
- }
- return data;
-}
-
-void spectrum_opus_device::iorq_w(offs_t offset, uint8_t data)
-{
- m_exp->iorq_w(offset, data);
-}
-
-uint8_t spectrum_opus_device::mreq_r(offs_t offset)
-{
- uint8_t data = 0xff;
-
- if (m_romcs)
- {
- switch (offset & 0xf800)
- {
- case 0x0000: case 0x0800: case 0x1000: case 0x1800:
- data = m_rom->base()[offset & 0x1fff];
- break;
- case 0x2000:
- data = m_ram[offset & 0x7ff];
- break;
- case 0x2800:
- data = m_fdc->read(offset & 0x03);
- break;
- case 0x3000:
- data = m_pia->read(offset & 0x03);
- break;
- case 0x3800: // Extra 2K described in QuickDOS manual - not used
- data = m_ram[offset & 0xfff];
- break;
- }
- }
-
- if (m_exp->romcs())
- data &= m_exp->mreq_r(offset);
-
- return data;
-}
-
-void spectrum_opus_device::mreq_w(offs_t offset, uint8_t data)
-{
- if (m_romcs)
- {
- switch (offset & 0xf800)
- {
- case 0x2000:
- m_ram[offset & 0x7ff] = data;
- break;
- case 0x2800:
- m_fdc->write(offset & 0x03, data);
- break;
- case 0x3000:
- m_pia->write(offset & 0x03, data);
- break;
- case 0x3800: // Extra 2K described in QuickDOS manual - not used
- m_ram[offset & 0xfff] = data;
- break;
- }
- }
-
- if (m_exp->romcs())
- m_exp->mreq_w(offset, data);
-}
-
-WRITE8_MEMBER(spectrum_opus_device::pia_out_a)
-{
- floppy_image_device *floppy = nullptr;
-
- // bit 0, 1: drive select
- if (!BIT(data, 0)) floppy = m_floppy1->get_device();
- if (!BIT(data, 1)) floppy = m_floppy0->get_device();
- m_fdc->set_floppy(floppy);
-
- // bit 4: side select
- if (floppy)
- floppy->ss_w(BIT(data, 4));
-
- // bit 5: density
- m_fdc->dden_w(BIT(data, 5));
-}
-
-WRITE8_MEMBER(spectrum_opus_device::pia_out_b)
-{
- m_centronics->write_data1(BIT(data, 1));
- m_centronics->write_data2(BIT(data, 2));
- m_centronics->write_data3(BIT(data, 3));
- m_centronics->write_data4(BIT(data, 4));
- m_centronics->write_data5(BIT(data, 5));
- m_centronics->write_data6(BIT(data, 6));
- m_centronics->write_data7(BIT(data, 7));
-}
-
-WRITE_LINE_MEMBER(spectrum_opus_device::busy_w)
-{
- m_pia->set_a_input(state << 6, 0xbf);
-}
diff --git a/src/devices/bus/spectrum/opus.h b/src/devices/bus/spectrum/opus.h
deleted file mode 100644
index 8d72d8be94b..00000000000
--- a/src/devices/bus/spectrum/opus.h
+++ /dev/null
@@ -1,75 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Nigel Barnes
-/**********************************************************************
-
- Opus Discovery disc system
-
-**********************************************************************/
-
-#ifndef MAME_BUS_SPECTRUM_OPUS_H
-#define MAME_BUS_SPECTRUM_OPUS_H
-
-#include "exp.h"
-#include "softlist.h"
-#include "imagedev/floppy.h"
-#include "machine/wd_fdc.h"
-#include "machine/6821pia.h"
-#include "bus/centronics/ctronics.h"
-#include "formats/opd_dsk.h"
-
-//**************************************************************************
-// TYPE DEFINITIONS
-//**************************************************************************
-
-class spectrum_opus_device:
- public device_t,
- public device_spectrum_expansion_interface
-
-{
-public:
- // construction/destruction
- spectrum_opus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
- DECLARE_FLOPPY_FORMATS(floppy_formats);
-
-protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
- // optional information overrides
- virtual void device_add_mconfig(machine_config &config) override;
- virtual ioport_constructor device_input_ports() const override;
- virtual const tiny_rom_entry *device_rom_region() const override;
-
- virtual void opcode_fetch(offs_t offset) override;
- virtual uint8_t mreq_r(offs_t offset) override;
- virtual void mreq_w(offs_t offset, uint8_t data) override;
- virtual uint8_t iorq_r(offs_t offset) override;
- virtual void iorq_w(offs_t offset, uint8_t data) override;
- virtual DECLARE_READ_LINE_MEMBER(romcs) override;
-
-private:
- DECLARE_WRITE8_MEMBER(pia_out_a);
- DECLARE_WRITE8_MEMBER(pia_out_b);
- DECLARE_WRITE_LINE_MEMBER(busy_w);
-
- required_ioport m_joy;
- required_memory_region m_rom;
- required_device<pia6821_device> m_pia;
- required_device<wd_fdc_device_base> m_fdc;
- required_device<floppy_connector> m_floppy0;
- required_device<floppy_connector> m_floppy1;
- required_device<centronics_device> m_centronics;
- required_device<spectrum_expansion_slot_device> m_exp;
-
- int m_romcs;
- uint8_t m_ram[4 * 1024];
- offs_t m_last_pc;
-};
-
-
-// device type definition
-DECLARE_DEVICE_TYPE(SPECTRUM_OPUS, spectrum_opus_device)
-
-#endif // MAME_BUS_SPECTRUM_OPUS_H
diff --git a/src/devices/bus/spectrum/plus2test.cpp b/src/devices/bus/spectrum/plus2test.cpp
index 3d90ed4dee3..a734a76f775 100644
--- a/src/devices/bus/spectrum/plus2test.cpp
+++ b/src/devices/bus/spectrum/plus2test.cpp
@@ -68,7 +68,7 @@ READ_LINE_MEMBER(spectrum_plus2test_device::romcs)
return 1;
}
-uint8_t spectrum_plus2test_device::mreq_r(offs_t offset)
+READ8_MEMBER(spectrum_plus2test_device::mreq_r)
{
return m_rom->base()[offset & 0x3fff];
}
diff --git a/src/devices/bus/spectrum/plus2test.h b/src/devices/bus/spectrum/plus2test.h
index f8caad2fa26..234e82a95f0 100644
--- a/src/devices/bus/spectrum/plus2test.h
+++ b/src/devices/bus/spectrum/plus2test.h
@@ -36,7 +36,7 @@ protected:
virtual const tiny_rom_entry *device_rom_region() const override;
virtual DECLARE_READ_LINE_MEMBER(romcs) override;
- virtual uint8_t mreq_r(offs_t offset) override;
+ virtual DECLARE_READ8_MEMBER(mreq_r) override;
private:
required_memory_region m_rom;
diff --git a/src/devices/bus/spectrum/protek.cpp b/src/devices/bus/spectrum/protek.cpp
index d1e122d8dbb..a3f3a1838f8 100644
--- a/src/devices/bus/spectrum/protek.cpp
+++ b/src/devices/bus/spectrum/protek.cpp
@@ -72,20 +72,17 @@ void spectrum_protek_device::device_start()
// IMPLEMENTATION
//**************************************************************************
-uint8_t spectrum_protek_device::iorq_r(offs_t offset)
+READ8_MEMBER(spectrum_protek_device::port_fe_r)
{
uint8_t data = 0xff;
- switch (offset & 0xff)
- {
- case 0xfe:
- if (((offset >> 8) & 8) == 0)
- data = m_exp_line3->read() | (0xff ^ 0x10);
+ uint8_t lines = offset >> 8;
- if (((offset >> 8) & 16) == 0)
- data = m_exp_line4->read() | (0xff ^ 0x1d);
- break;
- }
+ if ((lines & 8) == 0)
+ data = m_exp_line3->read() | (0xff ^ 0x10);
+
+ if ((lines & 16) == 0)
+ data = m_exp_line4->read() | (0xff ^ 0x1d);
return data;
}
diff --git a/src/devices/bus/spectrum/protek.h b/src/devices/bus/spectrum/protek.h
index 9edd5a82f29..503a041a0d3 100644
--- a/src/devices/bus/spectrum/protek.h
+++ b/src/devices/bus/spectrum/protek.h
@@ -35,7 +35,7 @@ protected:
// optional information overrides
virtual ioport_constructor device_input_ports() const override;
- virtual uint8_t iorq_r(offs_t offset) override;
+ virtual DECLARE_READ8_MEMBER(port_fe_r) override;
private:
required_ioport m_exp_line3;
diff --git a/src/devices/bus/spectrum/specdrum.cpp b/src/devices/bus/spectrum/specdrum.cpp
deleted file mode 100644
index 9c809a1b36a..00000000000
--- a/src/devices/bus/spectrum/specdrum.cpp
+++ /dev/null
@@ -1,73 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Nigel Barnes
-/**********************************************************************
-
- Cheetah Marketing SpecDrum emulation
-
-**********************************************************************/
-
-#include "emu.h"
-#include "specdrum.h"
-#include "sound/volt_reg.h"
-#include "speaker.h"
-
-
-//**************************************************************************
-// DEVICE DEFINITIONS
-//**************************************************************************
-
-DEFINE_DEVICE_TYPE(SPECTRUM_SPECDRUM, spectrum_specdrum_device, "spectrum_specdrum", "SpecDrum")
-
-
-//-------------------------------------------------
-// device_add_mconfig - add device configuration
-//-------------------------------------------------
-
-void spectrum_specdrum_device::device_add_mconfig(machine_config &config)
-{
- SPEAKER(config, "speaker").front_center();
- ZN428E(config, m_dac, 0).add_route(ALL_OUTPUTS, "speaker", 0.5);
- voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref"));
- vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
- vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT);
-}
-
-
-//**************************************************************************
-// LIVE DEVICE
-//**************************************************************************
-
-//-------------------------------------------------
-// spectrum_specdrum_device - constructor
-//-------------------------------------------------
-
-spectrum_specdrum_device::spectrum_specdrum_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, SPECTRUM_SPECDRUM, tag, owner, clock)
- , device_spectrum_expansion_interface(mconfig, *this)
- , m_dac(*this, "dac")
-{
-}
-
-
-//-------------------------------------------------
-// device_start - device-specific startup
-//-------------------------------------------------
-
-void spectrum_specdrum_device::device_start()
-{
-}
-
-
-//**************************************************************************
-// IMPLEMENTATION
-//**************************************************************************
-
-void spectrum_specdrum_device::iorq_w(offs_t offset, uint8_t data)
-{
- switch (offset & 0x00ff)
- {
- case 0xdf:
- m_dac->write(data);
- break;
- }
-}
diff --git a/src/devices/bus/spectrum/specdrum.h b/src/devices/bus/spectrum/specdrum.h
deleted file mode 100644
index 7412a8509c0..00000000000
--- a/src/devices/bus/spectrum/specdrum.h
+++ /dev/null
@@ -1,51 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Nigel Barnes
-/**********************************************************************
-
- Cheetah Marketing SpecDrum emulation
-
-**********************************************************************/
-
-#ifndef MAME_BUS_SPECTRUM_SPECDRUM_H
-#define MAME_BUS_SPECTRUM_SPECDRUM_H
-
-#pragma once
-
-
-#include "exp.h"
-#include "sound/dac.h"
-
-
-//**************************************************************************
-// TYPE DEFINITIONS
-//**************************************************************************
-
-// ======================> spectrum_specdrum_device
-
-class spectrum_specdrum_device :
- public device_t,
- public device_spectrum_expansion_interface
-{
-public:
- // construction/destruction
- spectrum_specdrum_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
-protected:
- // device-level overrides
- virtual void device_start() override;
-
- // optional information overrides
- virtual void device_add_mconfig(machine_config &config) override;
-
- virtual void iorq_w(offs_t offset, uint8_t data) override;
-
-private:
- required_device<dac_byte_interface> m_dac;
-};
-
-
-// device type definition
-DECLARE_DEVICE_TYPE(SPECTRUM_SPECDRUM, spectrum_specdrum_device)
-
-
-#endif // MAME_BUS_SPECTRUM_SPECDRUM_H
diff --git a/src/devices/bus/spectrum/uslot.cpp b/src/devices/bus/spectrum/uslot.cpp
index d27f1ec572d..d2d75d6a72c 100644
--- a/src/devices/bus/spectrum/uslot.cpp
+++ b/src/devices/bus/spectrum/uslot.cpp
@@ -64,6 +64,8 @@ void spectrum_uslot_device::device_start()
void spectrum_uslot_device::device_reset()
{
+ m_exp1->set_io_space(&io_space());
+ m_exp2->set_io_space(&io_space());
}
@@ -76,41 +78,41 @@ READ_LINE_MEMBER(spectrum_uslot_device::romcs)
return m_exp1->romcs() | m_exp2->romcs();
}
-void spectrum_uslot_device::opcode_fetch(offs_t offset)
-{
- m_exp1->opcode_fetch(offset);
- m_exp2->opcode_fetch(offset);
-}
-uint8_t spectrum_uslot_device::mreq_r(offs_t offset)
+READ8_MEMBER(spectrum_uslot_device::mreq_r)
{
+ uint8_t temp;
uint8_t data = 0xff;
+ temp = m_exp1->mreq_r(space, offset);
if (m_exp1->romcs())
- data &= m_exp1->mreq_r(offset);
+ data &= temp;
+ temp = m_exp2->mreq_r(space, offset);
if (m_exp2->romcs())
- data &= m_exp2->mreq_r(offset);
+ data &= temp;
return data;
}
-void spectrum_uslot_device::mreq_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(spectrum_uslot_device::mreq_w)
{
if (m_exp1->romcs())
- m_exp1->mreq_w(offset, data);
+ m_exp1->mreq_w(space, offset, data);
if (m_exp2->romcs())
- m_exp2->mreq_w(offset, data);
+ m_exp2->mreq_w(space, offset, data);
}
-uint8_t spectrum_uslot_device::iorq_r(offs_t offset)
+READ8_MEMBER(spectrum_uslot_device::port_fe_r)
{
- return m_exp1->iorq_r(offset) & m_exp2->iorq_r(offset);
-}
+ uint8_t data = 0xff;
-void spectrum_uslot_device::iorq_w(offs_t offset, uint8_t data)
-{
- m_exp1->iorq_w(offset, data);
- m_exp2->iorq_w(offset, data);
+ if (m_exp1->romcs())
+ data &= m_exp1->port_fe_r(space, offset);
+
+ if (m_exp2->romcs())
+ data &= m_exp2->port_fe_r(space, offset);
+
+ return data;
}
diff --git a/src/devices/bus/spectrum/uslot.h b/src/devices/bus/spectrum/uslot.h
index 6cfa90c45e9..536f7c75bc4 100644
--- a/src/devices/bus/spectrum/uslot.h
+++ b/src/devices/bus/spectrum/uslot.h
@@ -36,11 +36,9 @@ protected:
// optional information overrides
virtual void device_add_mconfig(machine_config &config) override;
- virtual void opcode_fetch(offs_t offset) override;
- virtual uint8_t mreq_r(offs_t offset) override;
- virtual void mreq_w(offs_t offset, uint8_t data) override;
- virtual uint8_t iorq_r(offs_t offset) override;
- virtual void iorq_w(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(mreq_r) override;
+ virtual DECLARE_WRITE8_MEMBER(mreq_w) override;
+ virtual DECLARE_READ8_MEMBER(port_fe_r) override;
virtual DECLARE_READ_LINE_MEMBER(romcs) override;
private:
diff --git a/src/devices/bus/spectrum/usource.cpp b/src/devices/bus/spectrum/usource.cpp
index 13f302b14c5..b4fb9c5797a 100644
--- a/src/devices/bus/spectrum/usource.cpp
+++ b/src/devices/bus/spectrum/usource.cpp
@@ -60,7 +60,6 @@ spectrum_usource_device::spectrum_usource_device(const machine_config &mconfig,
void spectrum_usource_device::device_start()
{
- save_item(NAME(m_romcs));
}
@@ -83,15 +82,17 @@ READ_LINE_MEMBER(spectrum_usource_device::romcs)
return m_romcs;
}
-void spectrum_usource_device::opcode_fetch(offs_t offset)
+
+READ8_MEMBER(spectrum_usource_device::mreq_r)
{
+ uint8_t data;
+
if (!machine().side_effects_disabled() && (offset == 0x2bae))
{
m_romcs = !m_romcs;
}
-}
-uint8_t spectrum_usource_device::mreq_r(offs_t offset)
-{
- return m_rom->base()[offset & 0x1fff];
+ data = m_rom->base()[offset & 0x1fff];
+
+ return data;
}
diff --git a/src/devices/bus/spectrum/usource.h b/src/devices/bus/spectrum/usource.h
index daf792f076f..607cf0737a6 100644
--- a/src/devices/bus/spectrum/usource.h
+++ b/src/devices/bus/spectrum/usource.h
@@ -38,9 +38,8 @@ protected:
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
- virtual void opcode_fetch(offs_t offset) override;
virtual DECLARE_READ_LINE_MEMBER(romcs) override;
- virtual uint8_t mreq_r(offs_t offset) override;
+ virtual DECLARE_READ8_MEMBER(mreq_r) override;
private:
required_memory_region m_rom;
diff --git a/src/devices/bus/spectrum/uspeech.cpp b/src/devices/bus/spectrum/uspeech.cpp
index 60374fd3c2c..87f66ca0182 100644
--- a/src/devices/bus/spectrum/uspeech.cpp
+++ b/src/devices/bus/spectrum/uspeech.cpp
@@ -76,7 +76,6 @@ spectrum_uspeech_device::spectrum_uspeech_device(const machine_config &mconfig,
void spectrum_uspeech_device::device_start()
{
- save_item(NAME(m_romcs));
}
@@ -99,59 +98,46 @@ READ_LINE_MEMBER(spectrum_uspeech_device::romcs)
return m_romcs;
}
-void spectrum_uspeech_device::opcode_fetch(offs_t offset)
-{
- if (!machine().side_effects_disabled() && (offset == 0x0038))
- {
- m_romcs = !m_romcs;
- }
-}
-uint8_t spectrum_uspeech_device::iorq_r(offs_t offset)
+READ8_MEMBER(spectrum_uspeech_device::mreq_r)
{
- if (!machine().side_effects_disabled() && (offset == 0x0038))
+ uint8_t data;
+
+ if (!machine().side_effects_disabled() && (offset == 0x38))
{
m_romcs = !m_romcs;
}
- return 0xff;
-}
-
-uint8_t spectrum_uspeech_device::mreq_r(offs_t offset)
-{
- uint8_t data = 0xff;
-
- switch (offset & 0xf000)
+ switch (offset)
{
- case 0x0000:
- data = m_rom->base()[offset & 0x7ff];
- break;
case 0x1000:
- data = !m_nsp->lrq_r();
+ data = !m_nsp->lrq_r(); // (m_nsp->lrq_r() && (m_nsp->sby_r() != 0)) ? 0x00 : 0x01;
+ break;
+ default:
+ data = m_rom->base()[offset & 0x7ff];
break;
}
return data;
}
-void spectrum_uspeech_device::mreq_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(spectrum_uspeech_device::mreq_w)
{
- switch (offset & 0xf001)
+ switch (offset)
{
case 0x1000:
- case 0x1001:
// allophone
m_nsp->ald_w(data & 0x3f);
break;
case 0x3000:
// intonation low
- m_nsp->set_clock(3050000); // oscillator frequency read from hardware
+ m_nsp->set_clock(3500000); // CK / 4 ??
break;
case 0x3001:
// intonation high
- m_nsp->set_clock(3260000); // oscillator frequency read from hardware
+ m_nsp->set_clock(3800000); // TODO: the exact frequency is unknown
break;
}
}
diff --git a/src/devices/bus/spectrum/uspeech.h b/src/devices/bus/spectrum/uspeech.h
index 8013abf9222..b3209f80331 100644
--- a/src/devices/bus/spectrum/uspeech.h
+++ b/src/devices/bus/spectrum/uspeech.h
@@ -40,11 +40,9 @@ protected:
virtual const tiny_rom_entry *device_rom_region() const override;
virtual void device_add_mconfig(machine_config &config) override;
- virtual void opcode_fetch(offs_t offset) override;
virtual DECLARE_READ_LINE_MEMBER(romcs) override;
- virtual uint8_t mreq_r(offs_t offset) override;
- virtual void mreq_w(offs_t offset, uint8_t data) override;
- virtual uint8_t iorq_r(offs_t offset) override;
+ virtual DECLARE_READ8_MEMBER(mreq_r) override;
+ virtual DECLARE_WRITE8_MEMBER(mreq_w) override;
private:
required_device<sp0256_device> m_nsp;
diff --git a/src/devices/bus/ss50/interface.cpp b/src/devices/bus/ss50/interface.cpp
index a811c790ef9..b17f54f9c68 100644
--- a/src/devices/bus/ss50/interface.cpp
+++ b/src/devices/bus/ss50/interface.cpp
@@ -139,22 +139,22 @@ void ss50_interface_port_device::device_start()
// read - interface read access (pre-decoded)
//-------------------------------------------------
-u8 ss50_interface_port_device::read(offs_t offset)
+READ8_MEMBER(ss50_interface_port_device::read)
{
if (m_card == nullptr)
{
logerror("%s: Read from unspecified interface (RS = %X)\n", machine().describe_context(), offset);
- return 0xff;
+ return space.unmap();
}
- return m_card->register_read(offset);
+ return m_card->register_read(space, offset);
}
//-------------------------------------------------
// write - interface write access (pre-decoded)
//-------------------------------------------------
-void ss50_interface_port_device::write(offs_t offset, u8 data)
+WRITE8_MEMBER(ss50_interface_port_device::write)
{
if (m_card == nullptr)
{
@@ -162,7 +162,7 @@ void ss50_interface_port_device::write(offs_t offset, u8 data)
return;
}
- m_card->register_write(offset, data);
+ m_card->register_write(space, offset, data);
}
//-------------------------------------------------
diff --git a/src/devices/bus/ss50/interface.h b/src/devices/bus/ss50/interface.h
index 0be5f422c98..1865eda6324 100644
--- a/src/devices/bus/ss50/interface.h
+++ b/src/devices/bus/ss50/interface.h
@@ -11,6 +11,19 @@
#ifndef MAME_DEVICES_BUS_SS50_INTERFACE_H
#define MAME_DEVICES_BUS_SS50_INTERFACE_H
+//**************************************************************************
+// CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_SS50_INTERFACE_PORT_ADD(_tag, _slot_intf, _def_slot) \
+ MCFG_DEVICE_ADD(_tag, SS50_INTERFACE, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(ss50_##_slot_intf, _def_slot, false)
+
+#define MCFG_SS50_INTERFACE_IRQ_CALLBACK(_devcb) \
+ downcast<ss50_interface_port_device &>(*device).set_irq_cb(DEVCB_##_devcb);
+
+#define MCFG_SS50_INTERFACE_FIRQ_CALLBACK(_devcb) \
+ downcast<ss50_interface_port_device &>(*device).set_firq_cb(DEVCB_##_devcb);
//**************************************************************************
// TYPE DEFINITIONS
@@ -27,25 +40,15 @@ class ss50_interface_port_device : public device_t, public device_slot_interface
public:
// construction/destruction
- template <typename T>
- ss50_interface_port_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt)
- : ss50_interface_port_device(mconfig, tag, owner, 0)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
-
- ss50_interface_port_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock = 0);
+ ss50_interface_port_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
// static configuration
- auto irq_cb() { return m_irq_cb.bind(); }
- auto firq_cb() { return m_firq_cb.bind(); }
+ template<class Object> devcb_base &set_irq_cb(Object &&object) { return m_irq_cb.set_callback(std::forward<Object>(object)); }
+ template<class Object> devcb_base &set_firq_cb(Object &&object) { return m_firq_cb.set_callback(std::forward<Object>(object)); }
// memory accesses
- u8 read(offs_t offset);
- void write(offs_t offset, u8 data);
+ DECLARE_READ8_MEMBER(read);
+ DECLARE_WRITE8_MEMBER(write);
// baud rates
DECLARE_WRITE_LINE_MEMBER(f110_w);
@@ -79,8 +82,8 @@ protected:
ss50_card_interface(const machine_config &mconfig, device_t &device);
// required overrides
- virtual u8 register_read(offs_t offset) = 0;
- virtual void register_write(offs_t offset, u8 data) = 0;
+ virtual DECLARE_READ8_MEMBER(register_read) = 0;
+ virtual DECLARE_WRITE8_MEMBER(register_write) = 0;
// optional overrides
virtual DECLARE_WRITE_LINE_MEMBER(f110_w) { }
diff --git a/src/devices/bus/ss50/mpc.cpp b/src/devices/bus/ss50/mpc.cpp
index ba05d80e8e3..eeff1928e92 100644
--- a/src/devices/bus/ss50/mpc.cpp
+++ b/src/devices/bus/ss50/mpc.cpp
@@ -42,8 +42,8 @@ protected:
virtual void device_start() override;
// interface-specific overrides
- virtual u8 register_read(offs_t offset) override;
- virtual void register_write(offs_t offset, u8 data) override;
+ virtual DECLARE_READ8_MEMBER(register_read) override;
+ virtual DECLARE_WRITE8_MEMBER(register_write) override;
virtual DECLARE_WRITE_LINE_MEMBER(f110_w) override;
virtual DECLARE_WRITE_LINE_MEMBER(f300_w) override;
@@ -100,8 +100,7 @@ DEVICE_INPUT_DEFAULTS_END
// machine configuration
//-------------------------------------------------
-void ss50_mpc_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(ss50_mpc_device::device_add_mconfig)
PIA6821(config, m_pia, 0); // actually MC6820
m_pia->writepa_handler().set("outgate", FUNC(input_merger_device::in_w<0>)).bit(0);
m_pia->cb2_handler().set(FUNC(ss50_mpc_device::reader_control_w));
@@ -116,13 +115,15 @@ void ss50_mpc_device::device_add_mconfig(machine_config &config)
rs232.rxd_handler().set(FUNC(ss50_mpc_device::serial_input_w));
rs232.set_option_device_input_defaults("terminal", DEVICE_INPUT_DEFAULTS_NAME(terminal));
- INPUT_MERGER_ALL_HIGH(config, "outgate").output_handler().set("rs232", FUNC(rs232_port_device::write_txd));
+ MCFG_INPUT_MERGER_ALL_HIGH("outgate")
+ MCFG_INPUT_MERGER_OUTPUT_HANDLER(WRITELINE("rs232", rs232_port_device, write_txd))
- INPUT_MERGER_ANY_HIGH(config, m_loopback).output_handler().set("outgate", FUNC(input_merger_device::in_w<1>));
+ MCFG_INPUT_MERGER_ANY_HIGH("loopback")
+ MCFG_INPUT_MERGER_OUTPUT_HANDLER(WRITELINE("outgate", input_merger_device, in_w<1>))
RIPPLE_COUNTER(config, m_counter); // CD4024AE (IC3)
m_counter->set_stages(7); // only Q5 (÷32) and Q4 (÷16) are actually used
-}
+MACHINE_CONFIG_END
//-------------------------------------------------
@@ -161,18 +162,18 @@ WRITE_LINE_MEMBER(ss50_mpc_device::count_select_w)
// register_read - read from a port register
//-------------------------------------------------
-u8 ss50_mpc_device::register_read(offs_t offset)
+READ8_MEMBER(ss50_mpc_device::register_read)
{
- return m_pia->read(offset & 3);
+ return m_pia->read(space, offset & 3, 0);
}
//-------------------------------------------------
// register_write - write to a port register
//-------------------------------------------------
-void ss50_mpc_device::register_write(offs_t offset, u8 data)
+WRITE8_MEMBER(ss50_mpc_device::register_write)
{
- m_pia->write(offset & 3, data);
+ m_pia->write(space, offset & 3, data);
}
WRITE_LINE_MEMBER(ss50_mpc_device::f110_w)
diff --git a/src/devices/bus/ss50/mps.cpp b/src/devices/bus/ss50/mps.cpp
index d66dd3b767e..dab93db2cd3 100644
--- a/src/devices/bus/ss50/mps.cpp
+++ b/src/devices/bus/ss50/mps.cpp
@@ -38,8 +38,8 @@ protected:
virtual void device_start() override { }
// interface-specific overrides
- virtual u8 register_read(offs_t offset) override;
- virtual void register_write(offs_t offset, u8 data) override;
+ virtual DECLARE_READ8_MEMBER(register_read) override;
+ virtual DECLARE_WRITE8_MEMBER(register_write) override;
virtual DECLARE_WRITE_LINE_MEMBER(f110_w) override;
virtual DECLARE_WRITE_LINE_MEMBER(f150_9600_w) override;
virtual DECLARE_WRITE_LINE_MEMBER(f300_w) override;
@@ -113,18 +113,18 @@ void ss50_mps_device::device_add_mconfig(machine_config &config)
// register_read - read from a port register
//-------------------------------------------------
-u8 ss50_mps_device::register_read(offs_t offset)
+READ8_MEMBER(ss50_mps_device::register_read)
{
- return m_acia->read(offset & 1);
+ return m_acia->read(space, offset & 1, 0);
}
//-------------------------------------------------
// register_write - write to a port register
//-------------------------------------------------
-void ss50_mps_device::register_write(offs_t offset, u8 data)
+WRITE8_MEMBER(ss50_mps_device::register_write)
{
- m_acia->write(offset & 1, data);
+ m_acia->write(space, offset & 1, data);
}
WRITE_LINE_MEMBER(ss50_mps_device::f110_w)
diff --git a/src/devices/bus/sunkbd/hlekbd.cpp b/src/devices/bus/sunkbd/hlekbd.cpp
index 21f4de349ed..2cb5547947e 100644
--- a/src/devices/bus/sunkbd/hlekbd.cpp
+++ b/src/devices/bus/sunkbd/hlekbd.cpp
@@ -789,11 +789,11 @@ WRITE_LINE_MEMBER( hle_device_base::input_txd )
add machine configuration
--------------------------------------------------*/
-void hle_device_base::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(hle_device_base::device_add_mconfig)
SPEAKER(config, "bell").front_center();
- BEEP(config, m_beeper, ATTOSECONDS_TO_HZ(480 * ATTOSECONDS_PER_MICROSECOND)).add_route(ALL_OUTPUTS, "bell", 1.0);
-}
+ MCFG_DEVICE_ADD("beeper", BEEP, ATTOSECONDS_TO_HZ(480 * ATTOSECONDS_PER_MICROSECOND))
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "bell", 1.0)
+MACHINE_CONFIG_END
/*--------------------------------------------------
diff --git a/src/devices/bus/svi3x8/expander/expander.cpp b/src/devices/bus/svi3x8/expander/expander.cpp
index e9653827fcf..481789516ff 100644
--- a/src/devices/bus/svi3x8/expander/expander.cpp
+++ b/src/devices/bus/svi3x8/expander/expander.cpp
@@ -80,38 +80,38 @@ void svi_expander_device::device_reset()
// host to module interface
//-------------------------------------------------
-uint8_t svi_expander_device::mreq_r(offs_t offset)
+READ8_MEMBER( svi_expander_device::mreq_r )
{
romdis_w(1);
ramdis_w(1);
if (m_module)
- return m_module->mreq_r(offset);
+ return m_module->mreq_r(space, offset);
return 0xff;
}
-void svi_expander_device::mreq_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER( svi_expander_device::mreq_w )
{
romdis_w(1);
ramdis_w(1);
if (m_module)
- m_module->mreq_w(offset, data);
+ m_module->mreq_w(space, offset, data);
}
-uint8_t svi_expander_device::iorq_r(offs_t offset)
+READ8_MEMBER( svi_expander_device::iorq_r )
{
if (m_module)
- return m_module->iorq_r(offset);
+ return m_module->iorq_r(space, offset);
return 0xff;
}
-void svi_expander_device::iorq_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER( svi_expander_device::iorq_w )
{
if (m_module)
- m_module->iorq_w(offset, data);
+ m_module->iorq_w(space, offset, data);
}
WRITE_LINE_MEMBER( svi_expander_device::bk21_w )
diff --git a/src/devices/bus/svi3x8/expander/expander.h b/src/devices/bus/svi3x8/expander/expander.h
index cc7e75f6332..549a17c5970 100644
--- a/src/devices/bus/svi3x8/expander/expander.h
+++ b/src/devices/bus/svi3x8/expander/expander.h
@@ -40,6 +40,36 @@
#pragma once
+
+//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_SVI_EXPANDER_BUS_ADD(_tag) \
+ MCFG_DEVICE_ADD(_tag, SVI_EXPANDER, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(svi_expander_modules, nullptr, false)
+#define MCFG_SVI_EXPANDER_INT_HANDLER(_devcb) \
+ downcast<svi_expander_device &>(*device).set_int_handler(DEVCB_##_devcb);
+
+#define MCFG_SVI_EXPANDER_ROMDIS_HANDLER(_devcb) \
+ downcast<svi_expander_device &>(*device).set_romdis_handler(DEVCB_##_devcb);
+
+#define MCFG_SVI_EXPANDER_RAMDIS_HANDLER(_devcb) \
+ downcast<svi_expander_device &>(*device).set_ramdis_handler(DEVCB_##_devcb);
+
+#define MCFG_SVI_EXPANDER_CTRL1_HANDLER(_devcb) \
+ downcast<svi_expander_device &>(*device).set_ctrl1_handler(DEVCB_##_devcb);
+
+#define MCFG_SVI_EXPANDER_CTRL2_HANDLER(_devcb) \
+ downcast<svi_expander_device &>(*device).set_ctrl2_handler(DEVCB_##_devcb);
+
+#define MCFG_SVI_EXPANDER_EXCSR_HANDLER(_devcb) \
+ downcast<svi_expander_device &>(*device).set_excsr_handler(DEVCB_##_devcb);
+
+#define MCFG_SVI_EXPANDER_EXCSW_HANDLER(_devcb) \
+ downcast<svi_expander_device &>(*device).set_excsw_handler(DEVCB_##_devcb);
+
+
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -52,27 +82,17 @@ class svi_expander_device : public device_t, public device_slot_interface
{
public:
// construction/destruction
- template <typename T>
- svi_expander_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts)
- : svi_expander_device(mconfig, tag, owner, uint32_t(0))
- {
- option_reset();
- opts(*this);
- set_default_option(nullptr);
- set_fixed(false);
- }
-
svi_expander_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~svi_expander_device();
// callbacks
- auto int_handler() { return m_int_handler.bind(); }
- auto romdis_handler() { return m_romdis_handler.bind(); }
- auto ramdis_handler() { return m_ramdis_handler.bind(); }
- auto ctrl1_handler() { return m_ctrl1_handler.bind(); }
- auto ctrl2_handler() { return m_ctrl2_handler.bind(); }
- auto excsr_handler() { return m_excsr_handler.bind(); }
- auto excsw_handler() { return m_excsw_handler.bind(); }
+ template <class Object> devcb_base &set_int_handler(Object &&cb) { return m_int_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_romdis_handler(Object &&cb) { return m_romdis_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_ramdis_handler(Object &&cb) { return m_ramdis_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_ctrl1_handler(Object &&cb) { return m_ctrl1_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_ctrl2_handler(Object &&cb) { return m_ctrl2_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_excsr_handler(Object &&cb) { return m_excsr_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_excsw_handler(Object &&cb) { return m_excsw_handler.set_callback(std::forward<Object>(cb)); }
// called from cart device
DECLARE_WRITE_LINE_MEMBER( int_w ) { m_int_handler(state); }
@@ -81,14 +101,14 @@ public:
DECLARE_WRITE_LINE_MEMBER( ctrl1_w ) { m_ctrl1_handler(state); }
DECLARE_WRITE_LINE_MEMBER( ctrl2_w ) { m_ctrl2_handler(state); }
- uint8_t excs_r(offs_t offset) { return m_excsr_handler(offset); }
- void excs_w(offs_t offset, uint8_t data) { m_excsw_handler(offset, data); }
+ DECLARE_READ8_MEMBER( excs_r ) { return m_excsr_handler(space, offset); }
+ DECLARE_WRITE8_MEMBER( excs_w ) { m_excsw_handler(space, offset, data); }
// called from host
- uint8_t mreq_r(offs_t offset);
- void mreq_w(offs_t offset, uint8_t data);
- uint8_t iorq_r(offs_t offset);
- void iorq_w(offs_t offset, uint8_t data);
+ DECLARE_READ8_MEMBER( mreq_r );
+ DECLARE_WRITE8_MEMBER( mreq_w );
+ DECLARE_READ8_MEMBER( iorq_r );
+ DECLARE_WRITE8_MEMBER( iorq_w );
DECLARE_WRITE_LINE_MEMBER( bk21_w );
DECLARE_WRITE_LINE_MEMBER( bk22_w );
@@ -121,10 +141,10 @@ public:
// construction/destruction
virtual ~device_svi_expander_interface();
- virtual uint8_t mreq_r(offs_t offset) { return 0xff; }
- virtual void mreq_w(offs_t offset, uint8_t data) { }
- virtual uint8_t iorq_r(offs_t offset) { return 0xff; }
- virtual void iorq_w(offs_t offset, uint8_t data) { }
+ virtual DECLARE_READ8_MEMBER( mreq_r ) { return 0xff; }
+ virtual DECLARE_WRITE8_MEMBER( mreq_w ) { }
+ virtual DECLARE_READ8_MEMBER( iorq_r ) { return 0xff; }
+ virtual DECLARE_WRITE8_MEMBER( iorq_w ) { }
virtual void bk21_w(int state) { }
virtual void bk22_w(int state) { }
diff --git a/src/devices/bus/svi3x8/expander/sv601.cpp b/src/devices/bus/svi3x8/expander/sv601.cpp
index aec81c79ae6..51a51241897 100644
--- a/src/devices/bus/svi3x8/expander/sv601.cpp
+++ b/src/devices/bus/svi3x8/expander/sv601.cpp
@@ -20,20 +20,19 @@ DEFINE_DEVICE_TYPE(SV601, sv601_device, "sv601", "SV-601 Super Expander")
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void sv601_device::device_add_mconfig(machine_config &config)
-{
- SVI_SLOT_BUS(config, m_slotbus, 0);
- m_slotbus->int_handler().set(FUNC(sv601_device::int_w));
- m_slotbus->romdis_handler().set(FUNC(sv601_device::romdis_w));
- m_slotbus->ramdis_handler().set(FUNC(sv601_device::ramdis_w));
- SVI_SLOT(config, "0", svi_slot_cards, nullptr);
- SVI_SLOT(config, "1", svi_slot_cards, nullptr);
- SVI_SLOT(config, "2", svi_slot_cards, nullptr);
- SVI_SLOT(config, "3", svi_slot_cards, nullptr);
- SVI_SLOT(config, "4", svi_slot_cards, nullptr);
- SVI_SLOT(config, "5", svi_slot_cards, nullptr);
- SVI_SLOT(config, "6", svi_slot_cards, nullptr);
-}
+MACHINE_CONFIG_START(sv601_device::device_add_mconfig)
+ MCFG_SVI_SLOT_BUS_ADD
+ MCFG_SVI_SLOT_INT_HANDLER(WRITELINE(*this, sv601_device, int_w))
+ MCFG_SVI_SLOT_ROMDIS_HANDLER(WRITELINE(*this, sv601_device, romdis_w))
+ MCFG_SVI_SLOT_RAMDIS_HANDLER(WRITELINE(*this, sv601_device, ramdis_w))
+ MCFG_SVI_SLOT_ADD("0", svi_slot_cards, nullptr)
+ MCFG_SVI_SLOT_ADD("1", svi_slot_cards, nullptr)
+ MCFG_SVI_SLOT_ADD("2", svi_slot_cards, nullptr)
+ MCFG_SVI_SLOT_ADD("3", svi_slot_cards, nullptr)
+ MCFG_SVI_SLOT_ADD("4", svi_slot_cards, nullptr)
+ MCFG_SVI_SLOT_ADD("5", svi_slot_cards, nullptr)
+ MCFG_SVI_SLOT_ADD("6", svi_slot_cards, nullptr)
+MACHINE_CONFIG_END
//**************************************************************************
@@ -68,10 +67,10 @@ WRITE_LINE_MEMBER( sv601_device::int_w ) { m_expander->int_w(state); }
WRITE_LINE_MEMBER( sv601_device::romdis_w ) { m_expander->romdis_w(state); }
WRITE_LINE_MEMBER( sv601_device::ramdis_w ) { m_expander->ramdis_w(state); }
-uint8_t sv601_device::mreq_r(offs_t offset) { return m_slotbus->mreq_r(offset); }
-void sv601_device::mreq_w(offs_t offset, uint8_t data) { m_slotbus->mreq_w(offset, data); }
-uint8_t sv601_device::iorq_r(offs_t offset) { return m_slotbus->iorq_r(offset); }
-void sv601_device::iorq_w(offs_t offset, uint8_t data) { m_slotbus->iorq_w(offset, data); }
+READ8_MEMBER( sv601_device::mreq_r ) { return m_slotbus->mreq_r(space, offset); }
+WRITE8_MEMBER( sv601_device::mreq_w ) { m_slotbus->mreq_w(space, offset, data); }
+READ8_MEMBER( sv601_device::iorq_r ) { return m_slotbus->iorq_r(space, offset); }
+WRITE8_MEMBER( sv601_device::iorq_w ) { m_slotbus->iorq_w(space, offset, data); }
void sv601_device::bk21_w(int state) { m_slotbus->bk21_w(state); }
void sv601_device::bk22_w(int state) { m_slotbus->bk22_w(state); }
diff --git a/src/devices/bus/svi3x8/expander/sv601.h b/src/devices/bus/svi3x8/expander/sv601.h
index 692191a7ea9..7918bc82441 100644
--- a/src/devices/bus/svi3x8/expander/sv601.h
+++ b/src/devices/bus/svi3x8/expander/sv601.h
@@ -33,10 +33,10 @@ public:
WRITE_LINE_MEMBER( ramdis_w );
// from host
- virtual uint8_t mreq_r(offs_t offset) override;
- virtual void mreq_w(offs_t offset, uint8_t data) override;
- virtual uint8_t iorq_r(offs_t offset) override;
- virtual void iorq_w(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER( mreq_r ) override;
+ virtual DECLARE_WRITE8_MEMBER( mreq_w ) override;
+ virtual DECLARE_READ8_MEMBER( iorq_r ) override;
+ virtual DECLARE_WRITE8_MEMBER( iorq_w ) override;
virtual void bk21_w(int state) override;
virtual void bk22_w(int state) override;
diff --git a/src/devices/bus/svi3x8/expander/sv602.cpp b/src/devices/bus/svi3x8/expander/sv602.cpp
index 25624a83e9a..b7c657bddce 100644
--- a/src/devices/bus/svi3x8/expander/sv602.cpp
+++ b/src/devices/bus/svi3x8/expander/sv602.cpp
@@ -20,14 +20,13 @@ DEFINE_DEVICE_TYPE(SV602, sv602_device, "sv602", "SV-602 Single Slot Expander")
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void sv602_device::device_add_mconfig(machine_config &config)
-{
- SVI_SLOT_BUS(config, m_slotbus, 0);
- m_slotbus->int_handler().set(FUNC(sv602_device::int_w));
- m_slotbus->romdis_handler().set(FUNC(sv602_device::romdis_w));
- m_slotbus->ramdis_handler().set(FUNC(sv602_device::ramdis_w));
- SVI_SLOT(config, "0", sv602_slot_cards, nullptr);
-}
+MACHINE_CONFIG_START(sv602_device::device_add_mconfig)
+ MCFG_SVI_SLOT_BUS_ADD
+ MCFG_SVI_SLOT_INT_HANDLER(WRITELINE(*this, sv602_device, int_w))
+ MCFG_SVI_SLOT_ROMDIS_HANDLER(WRITELINE(*this, sv602_device, romdis_w))
+ MCFG_SVI_SLOT_RAMDIS_HANDLER(WRITELINE(*this, sv602_device, ramdis_w))
+ MCFG_SVI_SLOT_ADD("0", sv602_slot_cards, nullptr)
+MACHINE_CONFIG_END
//**************************************************************************
@@ -62,10 +61,10 @@ WRITE_LINE_MEMBER( sv602_device::int_w ) { m_expander->int_w(state); }
WRITE_LINE_MEMBER( sv602_device::romdis_w ) { m_expander->romdis_w(state); }
WRITE_LINE_MEMBER( sv602_device::ramdis_w ) { m_expander->ramdis_w(state); }
-uint8_t sv602_device::mreq_r(offs_t offset) { return m_slotbus->mreq_r(offset); }
-void sv602_device::mreq_w(offs_t offset, uint8_t data) { m_slotbus->mreq_w(offset, data); }
-uint8_t sv602_device::iorq_r(offs_t offset) { return m_slotbus->iorq_r(offset); }
-void sv602_device::iorq_w(offs_t offset, uint8_t data) { m_slotbus->iorq_w(offset, data); }
+READ8_MEMBER( sv602_device::mreq_r ) { return m_slotbus->mreq_r(space, offset); }
+WRITE8_MEMBER( sv602_device::mreq_w ) { m_slotbus->mreq_w(space, offset, data); }
+READ8_MEMBER( sv602_device::iorq_r ) { return m_slotbus->iorq_r(space, offset); }
+WRITE8_MEMBER( sv602_device::iorq_w ) { m_slotbus->iorq_w(space, offset, data); }
void sv602_device::bk21_w(int state) { m_slotbus->bk21_w(state); }
void sv602_device::bk22_w(int state) { m_slotbus->bk22_w(state); }
diff --git a/src/devices/bus/svi3x8/expander/sv602.h b/src/devices/bus/svi3x8/expander/sv602.h
index 607d1cf6c17..bb59b93c7ee 100644
--- a/src/devices/bus/svi3x8/expander/sv602.h
+++ b/src/devices/bus/svi3x8/expander/sv602.h
@@ -28,10 +28,10 @@ public:
sv602_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// from host
- virtual uint8_t mreq_r(offs_t offset) override;
- virtual void mreq_w(offs_t offset, uint8_t data) override;
- virtual uint8_t iorq_r(offs_t offset) override;
- virtual void iorq_w(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER( mreq_r ) override;
+ virtual DECLARE_WRITE8_MEMBER( mreq_w ) override;
+ virtual DECLARE_READ8_MEMBER( iorq_r ) override;
+ virtual DECLARE_WRITE8_MEMBER( iorq_w ) override;
virtual void bk21_w(int state) override;
virtual void bk22_w(int state) override;
diff --git a/src/devices/bus/svi3x8/expander/sv603.cpp b/src/devices/bus/svi3x8/expander/sv603.cpp
index fc8e8c86d96..a35b46e3f84 100644
--- a/src/devices/bus/svi3x8/expander/sv603.cpp
+++ b/src/devices/bus/svi3x8/expander/sv603.cpp
@@ -8,6 +8,7 @@
#include "emu.h"
#include "sv603.h"
+
#include "softlist.h"
#include "speaker.h"
@@ -36,20 +37,31 @@ const tiny_rom_entry *sv603_device::device_rom_region() const
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void sv603_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(sv603_device::device_add_mconfig)
SPEAKER(config, "mono").front_center();
- SN76489A(config, m_snd, XTAL(10'738'635) / 3).add_route(ALL_OUTPUTS, "mono", 1.00);
-
- // controller ports
- COLECOVISION_CONTROL_PORT(config, m_joy[0], colecovision_control_port_devices, "hand");
- m_joy[0]->irq().set(FUNC(sv603_device::joy_irq_w<0>));
- COLECOVISION_CONTROL_PORT(config, m_joy[1], colecovision_control_port_devices, nullptr);
- m_joy[1]->irq().set(FUNC(sv603_device::joy_irq_w<1>));
+ MCFG_DEVICE_ADD("snd", SN76489A, XTAL(10'738'635) / 3)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
// cartridge slot
- COLECOVISION_CARTRIDGE_SLOT(config, m_cart, colecovision_cartridges, nullptr);
- SOFTWARE_LIST(config, "cart_list").set_original("coleco");
+ MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "coleco_cart")
+ MCFG_GENERIC_EXTENSIONS("bin,rom,col")
+ MCFG_GENERIC_LOAD(sv603_device, cartridge)
+ MCFG_SOFTWARE_LIST_ADD("cart_list", "coleco")
+MACHINE_CONFIG_END
+
+
+//**************************************************************************
+// CARTRIDGE
+//**************************************************************************
+
+DEVICE_IMAGE_LOAD_MEMBER( sv603_device, cartridge )
+{
+ uint32_t size = m_cart_rom->common_get_size("rom");
+
+ m_cart_rom->rom_alloc(size, GENERIC_ROM8_WIDTH, ENDIANNESS_LITTLE);
+ m_cart_rom->common_load_rom(m_cart_rom->get_rom_base(), size, "rom");
+
+ return image_init_result::PASS;
}
@@ -66,8 +78,7 @@ sv603_device::sv603_device(const machine_config &mconfig, const char *tag, devic
device_svi_expander_interface(mconfig, *this),
m_bios(*this, "bios"),
m_snd(*this, "snd"),
- m_joy{ {*this, "joy1"}, {*this, "joy2"} },
- m_cart(*this, COLECOVISION_CARTRIDGE_SLOT_TAG)
+ m_cart_rom(*this, "cartslot")
{
}
@@ -93,84 +104,40 @@ void sv603_device::device_reset()
// IMPLEMENTATION
//**************************************************************************
-template<int N>
-WRITE_LINE_MEMBER( sv603_device::joy_irq_w )
+READ8_MEMBER( sv603_device::mreq_r )
{
- m_expander->int_w(state);
-}
-
-uint8_t sv603_device::mreq_r(offs_t offset)
-{
- uint8_t data = 0xff;
-
- // ls138 (active low)
- int ccs1 = ((offset >> 13) == 0) ? 0 : 1;
- int ccs2 = ((offset >> 13) == 1) ? 0 : 1;
- int ccs3 = ((offset >> 13) == 2) ? 0 : 1;
- int ccs4 = ((offset >> 13) == 3) ? 0 : 1;
- int bios = ((offset >> 13) == 4) ? 0 : 1;
- // 5, 6, 7: not connected
-
m_expander->romdis_w(0);
- m_expander->ramdis_w(bios);
- data &= m_cart->bd_r(offset, data, ccs1, ccs2, ccs3, ccs4);
+ if (offset < 0x8000)
+ return m_cart_rom->read_rom(space, offset);
- if (bios == 0)
- data &= m_bios->as_u8(offset & 0x1fff);
+ if (offset >= 0x8000 && offset < 0xa000)
+ {
+ m_expander->ramdis_w(0);
+ return m_bios->as_u8(offset & 0x1fff);
+ }
- return data;
+ return 0xff;
}
-void sv603_device::mreq_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER( sv603_device::mreq_w )
{
m_expander->romdis_w(0);
}
-uint8_t sv603_device::iorq_r(offs_t offset)
+READ8_MEMBER( sv603_device::iorq_r )
{
- uint8_t data = 0xff;
-
- switch (offset & 0xe0)
- {
- case 0xa0:
- data = m_expander->excs_r(offset);
- break;
-
- case 0xe0:
- data = m_joy[BIT(offset, 1)]->read();
- break;
- }
+ if (offset >= 0xa0 && offset <= 0xbf)
+ return m_expander->excs_r(space, offset);
- return data;
+ return 0xff;
}
-void sv603_device::iorq_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER( sv603_device::iorq_w )
{
- switch (offset & 0xe0)
- {
- case 0x80:
- // keypad mode
- m_joy[0]->common0_w(1);
- m_joy[0]->common1_w(0);
- m_joy[1]->common0_w(1);
- m_joy[1]->common1_w(0);
- break;
-
- case 0xa0:
- m_expander->excs_w(offset, data);
- break;
-
- case 0xc0:
- // joystick mode
- m_joy[0]->common0_w(0);
- m_joy[0]->common1_w(1);
- m_joy[1]->common0_w(0);
- m_joy[1]->common1_w(1);
- break;
-
- case 0xe0:
+ if (offset >= 0xa0 && offset <= 0xbf)
+ m_expander->excs_w(space, offset, data);
+
+ if (offset >= 0xe0 && offset <= 0xff)
m_snd->write(data);
- break;
- }
}
diff --git a/src/devices/bus/svi3x8/expander/sv603.h b/src/devices/bus/svi3x8/expander/sv603.h
index a6b3fde21b8..57d16521c17 100644
--- a/src/devices/bus/svi3x8/expander/sv603.h
+++ b/src/devices/bus/svi3x8/expander/sv603.h
@@ -13,8 +13,8 @@
#include "expander.h"
#include "sound/sn76496.h"
-#include "bus/coleco/cartridge/exp.h"
-#include "bus/coleco/controller/ctrl.h"
+#include "bus/generic/slot.h"
+#include "bus/generic/carts.h"
//**************************************************************************
@@ -30,12 +30,12 @@ public:
sv603_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// from host
- virtual uint8_t mreq_r(offs_t offset) override;
- virtual void mreq_w(offs_t offset, uint8_t data) override;
- virtual uint8_t iorq_r(offs_t offset) override;
- virtual void iorq_w(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER( mreq_r ) override;
+ virtual DECLARE_WRITE8_MEMBER( mreq_w ) override;
+ virtual DECLARE_READ8_MEMBER( iorq_r ) override;
+ virtual DECLARE_WRITE8_MEMBER( iorq_w ) override;
- template<int N> DECLARE_WRITE_LINE_MEMBER( joy_irq_w );
+ DECLARE_DEVICE_IMAGE_LOAD_MEMBER(cartridge);
protected:
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -46,8 +46,7 @@ protected:
private:
required_memory_region m_bios;
required_device<sn76489a_device> m_snd;
- required_device<colecovision_control_port_device> m_joy[2];
- required_device<colecovision_cartridge_slot_device> m_cart;
+ required_device<generic_slot_device> m_cart_rom;
};
// device type definition
diff --git a/src/devices/bus/svi3x8/slot/slot.cpp b/src/devices/bus/svi3x8/slot/slot.cpp
index eb2137ce629..c345d864f4b 100644
--- a/src/devices/bus/svi3x8/slot/slot.cpp
+++ b/src/devices/bus/svi3x8/slot/slot.cpp
@@ -20,11 +20,11 @@ DEFINE_DEVICE_TYPE(SVI_SLOT_BUS, svi_slot_bus_device, "svislotbus", "SVI Slot Bu
// svi_slot_bus_device - constructor
//-------------------------------------------------
-svi_slot_bus_device::svi_slot_bus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, SVI_SLOT_BUS, tag, owner, clock)
- , m_int_handler(*this)
- , m_romdis_handler(*this)
- , m_ramdis_handler(*this)
+svi_slot_bus_device::svi_slot_bus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, SVI_SLOT_BUS, tag, owner, clock),
+ m_int_handler(*this),
+ m_romdis_handler(*this),
+ m_ramdis_handler(*this)
{
}
@@ -71,14 +71,14 @@ void svi_slot_bus_device::add_card(device_svi_slot_interface *card)
// mreq_r - memory read from slot
//-------------------------------------------------
-uint8_t svi_slot_bus_device::mreq_r(offs_t offset)
+READ8_MEMBER( svi_slot_bus_device::mreq_r )
{
device_svi_slot_interface *entry = m_dev.first();
uint8_t data = 0xff;
while (entry)
{
- data &= entry->mreq_r(offset);
+ data &= entry->mreq_r(space, offset);
entry = entry->next();
}
@@ -89,13 +89,13 @@ uint8_t svi_slot_bus_device::mreq_r(offs_t offset)
// mreq_w - memory write to slot
//-------------------------------------------------
-void svi_slot_bus_device::mreq_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER( svi_slot_bus_device::mreq_w )
{
device_svi_slot_interface *entry = m_dev.first();
while (entry)
{
- entry->mreq_w(offset, data);
+ entry->mreq_w(space, offset, data);
entry = entry->next();
}
}
@@ -104,14 +104,14 @@ void svi_slot_bus_device::mreq_w(offs_t offset, uint8_t data)
// iorq_r - memory read from slot
//-------------------------------------------------
-uint8_t svi_slot_bus_device::iorq_r(offs_t offset)
+READ8_MEMBER( svi_slot_bus_device::iorq_r )
{
device_svi_slot_interface *entry = m_dev.first();
uint8_t data = 0xff;
while (entry)
{
- data &= entry->iorq_r(offset);
+ data &= entry->iorq_r(space, offset);
entry = entry->next();
}
@@ -122,13 +122,13 @@ uint8_t svi_slot_bus_device::iorq_r(offs_t offset)
// iorq_w - memory write to slot
//-------------------------------------------------
-void svi_slot_bus_device::iorq_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER( svi_slot_bus_device::iorq_w )
{
device_svi_slot_interface *entry = m_dev.first();
while (entry)
{
- entry->iorq_w(offset, data);
+ entry->iorq_w(space, offset, data);
entry = entry->next();
}
}
@@ -204,9 +204,10 @@ DEFINE_DEVICE_TYPE(SVI_SLOT, svi_slot_device, "svislot", "SVI Slot")
// svi_slot_device - constructor
//-------------------------------------------------
-svi_slot_device::svi_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, SVI_SLOT, tag, owner, clock)
- , device_slot_interface(mconfig, *this)
+svi_slot_device::svi_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, SVI_SLOT, tag, owner, clock),
+ device_slot_interface(mconfig, *this),
+ m_bus_tag(nullptr)
{
}
@@ -220,7 +221,7 @@ void svi_slot_device::device_start()
if (dev)
{
- svi_slot_bus_device *bus = downcast<svi_slot_bus_device *>(owner()->subdevice(SVIBUS_TAG));
+ svi_slot_bus_device *bus = downcast<svi_slot_bus_device *>(m_owner->subdevice(m_bus_tag));
bus->add_card(dev);
}
}
diff --git a/src/devices/bus/svi3x8/slot/slot.h b/src/devices/bus/svi3x8/slot/slot.h
index 756f17658fd..702c005b770 100644
--- a/src/devices/bus/svi3x8/slot/slot.h
+++ b/src/devices/bus/svi3x8/slot/slot.h
@@ -40,11 +40,27 @@
#pragma once
+
//**************************************************************************
-// CONSTANTS / MACROS
+// INTERFACE CONFIGURATION MACROS
//**************************************************************************
-#define SVIBUS_TAG "slot_bux"
+#define MCFG_SVI_SLOT_BUS_ADD \
+ MCFG_DEVICE_ADD("slotbus", SVI_SLOT_BUS, 0)
+
+#define MCFG_SVI_SLOT_ADD(_tag, _slot_intf, _def_slot) \
+ MCFG_DEVICE_ADD(_tag, SVI_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false) \
+ downcast<svi_slot_device &>(*device).set_bus(this, "slotbus");
+
+#define MCFG_SVI_SLOT_INT_HANDLER(_devcb) \
+ downcast<svi_slot_bus_device &>(*device).set_int_handler(DEVCB_##_devcb);
+
+#define MCFG_SVI_SLOT_ROMDIS_HANDLER(_devcb) \
+ downcast<svi_slot_bus_device &>(*device).set_romdis_handler(DEVCB_##_devcb);
+
+#define MCFG_SVI_SLOT_RAMDIS_HANDLER(_devcb) \
+ downcast<svi_slot_bus_device &>(*device).set_ramdis_handler(DEVCB_##_devcb);
//**************************************************************************
@@ -63,9 +79,9 @@ public:
virtual ~svi_slot_bus_device();
// callbacks
- auto int_handler() { return m_int_handler.bind(); }
- auto romdis_handler() { return m_romdis_handler.bind(); }
- auto ramdis_handler() { return m_ramdis_handler.bind(); }
+ template <class Object> devcb_base &set_int_handler(Object &&cb) { return m_int_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_romdis_handler(Object &&cb) { return m_romdis_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_ramdis_handler(Object &&cb) { return m_ramdis_handler.set_callback(std::forward<Object>(cb)); }
void add_card(device_svi_slot_interface *card);
@@ -75,10 +91,10 @@ public:
DECLARE_WRITE_LINE_MEMBER( ramdis_w ) { m_ramdis_handler(state); };
// from host
- uint8_t mreq_r(offs_t offset);
- void mreq_w(offs_t offset, uint8_t data);
- uint8_t iorq_r(offs_t offset);
- void iorq_w(offs_t offset, uint8_t data);
+ DECLARE_READ8_MEMBER( mreq_r );
+ DECLARE_WRITE8_MEMBER( mreq_w );
+ DECLARE_READ8_MEMBER( iorq_r );
+ DECLARE_WRITE8_MEMBER( iorq_w );
DECLARE_WRITE_LINE_MEMBER( bk21_w );
DECLARE_WRITE_LINE_MEMBER( bk22_w );
@@ -106,18 +122,11 @@ class svi_slot_device : public device_t, public device_slot_interface
{
public:
// construction/destruction
- template <typename T>
- svi_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt)
- : svi_slot_device(mconfig, tag, owner, 0)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
-
svi_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ // inline configuration
+ void set_bus(device_t *owner, const char *bus_tag) { m_owner = owner; m_bus_tag = bus_tag; }
+
protected:
// device-level overrides
virtual void device_start() override;
@@ -143,10 +152,10 @@ public:
device_svi_slot_interface *next() const { return m_next; }
- virtual uint8_t mreq_r(offs_t offset) { return 0xff; }
- virtual void mreq_w(offs_t offset, uint8_t data) { }
- virtual uint8_t iorq_r(offs_t offset) { return 0xff; }
- virtual void iorq_w(offs_t offset, uint8_t data) { }
+ virtual DECLARE_READ8_MEMBER( mreq_r ) { return 0xff; }
+ virtual DECLARE_WRITE8_MEMBER( mreq_w ) { }
+ virtual DECLARE_READ8_MEMBER( iorq_r ) { return 0xff; }
+ virtual DECLARE_WRITE8_MEMBER( iorq_w ) { }
virtual DECLARE_WRITE_LINE_MEMBER( bk21_w ) { }
virtual DECLARE_WRITE_LINE_MEMBER( bk22_w ) { }
diff --git a/src/devices/bus/svi3x8/slot/sv801.cpp b/src/devices/bus/svi3x8/slot/sv801.cpp
index 9d73b62aec1..48881ffc9e1 100644
--- a/src/devices/bus/svi3x8/slot/sv801.cpp
+++ b/src/devices/bus/svi3x8/slot/sv801.cpp
@@ -97,7 +97,7 @@ WRITE_LINE_MEMBER( sv801_device::drq_w )
m_drq = state;
}
-void sv801_device::motor_w(uint8_t data)
+WRITE8_MEMBER( sv801_device::motor_w )
{
m_floppy = nullptr;
@@ -112,7 +112,7 @@ void sv801_device::motor_w(uint8_t data)
m_floppy1->get_device()->mon_w(!BIT(data, 3));
}
-uint8_t sv801_device::iorq_r(offs_t offset)
+READ8_MEMBER( sv801_device::iorq_r )
{
switch (offset)
{
@@ -126,7 +126,7 @@ uint8_t sv801_device::iorq_r(offs_t offset)
return 0xff;
}
-void sv801_device::iorq_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER( sv801_device::iorq_w )
{
switch (offset)
{
@@ -134,7 +134,7 @@ void sv801_device::iorq_w(offs_t offset, uint8_t data)
case 0x31: m_fdc->track_w(data); break;
case 0x32: m_fdc->sector_w(data); break;
case 0x33: m_fdc->data_w(data); break;
- case 0x34: motor_w(data); break;
+ case 0x34: motor_w(space, 0, data); break;
case 0x38:
m_fdc->dden_w(BIT(data, 0));
if (m_floppy)
diff --git a/src/devices/bus/svi3x8/slot/sv801.h b/src/devices/bus/svi3x8/slot/sv801.h
index 29c2014b872..38dea1e55d0 100644
--- a/src/devices/bus/svi3x8/slot/sv801.h
+++ b/src/devices/bus/svi3x8/slot/sv801.h
@@ -28,8 +28,8 @@ public:
// construction/destruction
sv801_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t iorq_r(offs_t offset) override;
- virtual void iorq_w(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER( iorq_r ) override;
+ virtual DECLARE_WRITE8_MEMBER( iorq_w ) override;
protected:
virtual void device_add_mconfig(machine_config &config) override;
@@ -37,7 +37,7 @@ protected:
virtual void device_reset() override;
private:
- void motor_w(uint8_t data);
+ DECLARE_WRITE8_MEMBER( motor_w );
DECLARE_WRITE_LINE_MEMBER( intrq_w );
DECLARE_WRITE_LINE_MEMBER( drq_w );
diff --git a/src/devices/bus/svi3x8/slot/sv802.cpp b/src/devices/bus/svi3x8/slot/sv802.cpp
index 909ed2fa712..2cc905d472c 100644
--- a/src/devices/bus/svi3x8/slot/sv802.cpp
+++ b/src/devices/bus/svi3x8/slot/sv802.cpp
@@ -20,14 +20,12 @@ DEFINE_DEVICE_TYPE(SV802, sv802_device, "sv802", "SV-802 Centronics Printer Inte
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void sv802_device::device_add_mconfig(machine_config &config)
-{
- CENTRONICS(config, m_centronics, centronics_devices, "printer");
- m_centronics->busy_handler().set(FUNC(sv802_device::busy_w));
+MACHINE_CONFIG_START(sv802_device::device_add_mconfig)
+ MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
+ MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, sv802_device, busy_w))
- OUTPUT_LATCH(config, m_cent_data_out);
- m_centronics->set_output_latch(*m_cent_data_out);
-}
+ MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
+MACHINE_CONFIG_END
//**************************************************************************
@@ -62,7 +60,7 @@ void sv802_device::device_start()
// IMPLEMENTATION
//**************************************************************************
-uint8_t sv802_device::iorq_r(offs_t offset)
+READ8_MEMBER( sv802_device::iorq_r )
{
if (offset == 0x12)
return 0xfe | m_busy;
@@ -70,7 +68,7 @@ uint8_t sv802_device::iorq_r(offs_t offset)
return 0xff;
}
-void sv802_device::iorq_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER( sv802_device::iorq_w )
{
switch (offset)
{
diff --git a/src/devices/bus/svi3x8/slot/sv802.h b/src/devices/bus/svi3x8/slot/sv802.h
index aabea33bbaf..2a06329c966 100644
--- a/src/devices/bus/svi3x8/slot/sv802.h
+++ b/src/devices/bus/svi3x8/slot/sv802.h
@@ -28,8 +28,8 @@ public:
// construction/destruction
sv802_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t iorq_r(offs_t offset) override;
- virtual void iorq_w(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER( iorq_r ) override;
+ virtual DECLARE_WRITE8_MEMBER( iorq_w ) override;
protected:
virtual void device_add_mconfig(machine_config &config) override;
diff --git a/src/devices/bus/svi3x8/slot/sv803.cpp b/src/devices/bus/svi3x8/slot/sv803.cpp
index 6adc07fd193..db79801530c 100644
--- a/src/devices/bus/svi3x8/slot/sv803.cpp
+++ b/src/devices/bus/svi3x8/slot/sv803.cpp
@@ -56,7 +56,7 @@ void sv803_device::device_reset()
// IMPLEMENTATION
//**************************************************************************
-uint8_t sv803_device::mreq_r(offs_t offset)
+READ8_MEMBER( sv803_device::mreq_r )
{
if (offset >= 0x8000 && offset <= 0xbfff)
return m_ram[offset - 0x8000];
@@ -64,7 +64,7 @@ uint8_t sv803_device::mreq_r(offs_t offset)
return 0xff;
}
-void sv803_device::mreq_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER( sv803_device::mreq_w )
{
if (offset >= 0x8000 && offset <= 0xbfff)
m_ram[offset - 0x8000] = data;
diff --git a/src/devices/bus/svi3x8/slot/sv803.h b/src/devices/bus/svi3x8/slot/sv803.h
index 8cae18acf64..6fd1d2b635a 100644
--- a/src/devices/bus/svi3x8/slot/sv803.h
+++ b/src/devices/bus/svi3x8/slot/sv803.h
@@ -26,8 +26,8 @@ public:
// construction/destruction
sv803_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t mreq_r(offs_t offset) override;
- virtual void mreq_w(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER( mreq_r ) override;
+ virtual DECLARE_WRITE8_MEMBER( mreq_w ) override;
protected:
virtual void device_start() override;
diff --git a/src/devices/bus/svi3x8/slot/sv805.cpp b/src/devices/bus/svi3x8/slot/sv805.cpp
index cdcaee6f167..bc4dc77c19f 100644
--- a/src/devices/bus/svi3x8/slot/sv805.cpp
+++ b/src/devices/bus/svi3x8/slot/sv805.cpp
@@ -65,7 +65,7 @@ void sv805_device::device_start()
// IMPLEMENTATION
//**************************************************************************
-uint8_t sv805_device::iorq_r(offs_t offset)
+READ8_MEMBER( sv805_device::iorq_r )
{
switch (offset)
{
@@ -77,13 +77,13 @@ uint8_t sv805_device::iorq_r(offs_t offset)
case 0x2d:
case 0x2e:
case 0x2f:
- return m_uart->ins8250_r(machine().dummy_space(), offset & 0x07);
+ return m_uart->ins8250_r(space, offset & 0x07);
}
return 0xff;
}
-void sv805_device::iorq_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER( sv805_device::iorq_w )
{
switch (offset)
{
@@ -95,7 +95,7 @@ void sv805_device::iorq_w(offs_t offset, uint8_t data)
case 0x2d:
case 0x2e:
case 0x2f:
- m_uart->ins8250_w(machine().dummy_space(), offset & 0x07, data);
+ m_uart->ins8250_w(space, offset & 0x07, data);
}
}
diff --git a/src/devices/bus/svi3x8/slot/sv805.h b/src/devices/bus/svi3x8/slot/sv805.h
index 892dc23b432..3a6f350a490 100644
--- a/src/devices/bus/svi3x8/slot/sv805.h
+++ b/src/devices/bus/svi3x8/slot/sv805.h
@@ -28,8 +28,8 @@ public:
// construction/destruction
sv805_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t iorq_r(offs_t offset) override;
- virtual void iorq_w(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER( iorq_r ) override;
+ virtual DECLARE_WRITE8_MEMBER( iorq_w ) override;
protected:
virtual void device_add_mconfig(machine_config &config) override;
diff --git a/src/devices/bus/svi3x8/slot/sv806.cpp b/src/devices/bus/svi3x8/slot/sv806.cpp
index aed4fb80bda..5408aa8738c 100644
--- a/src/devices/bus/svi3x8/slot/sv806.cpp
+++ b/src/devices/bus/svi3x8/slot/sv806.cpp
@@ -114,7 +114,7 @@ MC6845_UPDATE_ROW( sv806_device::crtc_update_row )
}
}
-uint8_t sv806_device::mreq_r(offs_t offset)
+READ8_MEMBER( sv806_device::mreq_r )
{
if (offset >= 0xf000 && m_ram_enabled)
{
@@ -125,7 +125,7 @@ uint8_t sv806_device::mreq_r(offs_t offset)
return 0xff;
}
-void sv806_device::mreq_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER( sv806_device::mreq_w )
{
if (offset >= 0xf000 && m_ram_enabled)
{
@@ -134,20 +134,20 @@ void sv806_device::mreq_w(offs_t offset, uint8_t data)
}
}
-uint8_t sv806_device::iorq_r(offs_t offset)
+READ8_MEMBER( sv806_device::iorq_r )
{
if (offset == 0x51)
- return m_crtc->register_r();
+ return m_crtc->register_r(space, 0);
return 0xff;
}
-void sv806_device::iorq_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER( sv806_device::iorq_w )
{
switch (offset)
{
- case 0x50: m_crtc->address_w(data); break;
- case 0x51: m_crtc->register_w(data); break;
+ case 0x50: m_crtc->address_w(space, 0, data); break;
+ case 0x51: m_crtc->register_w(space, 0, data); break;
case 0x58: m_ram_enabled = data; break;
}
}
diff --git a/src/devices/bus/svi3x8/slot/sv806.h b/src/devices/bus/svi3x8/slot/sv806.h
index e6af5071c56..868117b8565 100644
--- a/src/devices/bus/svi3x8/slot/sv806.h
+++ b/src/devices/bus/svi3x8/slot/sv806.h
@@ -28,10 +28,10 @@ public:
// construction/destruction
sv806_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t mreq_r(offs_t offset) override;
- virtual void mreq_w(offs_t offset, uint8_t data) override;
- virtual uint8_t iorq_r(offs_t offset) override;
- virtual void iorq_w(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER( mreq_r ) override;
+ virtual DECLARE_WRITE8_MEMBER( mreq_w ) override;
+ virtual DECLARE_READ8_MEMBER( iorq_r ) override;
+ virtual DECLARE_WRITE8_MEMBER( iorq_w ) override;
protected:
virtual const tiny_rom_entry *device_rom_region() const override;
diff --git a/src/devices/bus/svi3x8/slot/sv807.cpp b/src/devices/bus/svi3x8/slot/sv807.cpp
index 281b7845c64..6ea6a77a6bc 100644
--- a/src/devices/bus/svi3x8/slot/sv807.cpp
+++ b/src/devices/bus/svi3x8/slot/sv807.cpp
@@ -118,7 +118,7 @@ void sv807_device::device_reset()
// test setup: S2 = enabled (22), S3 = enabled (31)
-uint8_t sv807_device::mreq_r(offs_t offset)
+READ8_MEMBER( sv807_device::mreq_r )
{
if ((BK21_ACTIVE || BK31_ACTIVE) && offset < 0x8000)
{
@@ -135,7 +135,7 @@ uint8_t sv807_device::mreq_r(offs_t offset)
return 0xff;
}
-void sv807_device::mreq_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER( sv807_device::mreq_w )
{
if ((BK21_ACTIVE || BK31_ACTIVE) && offset < 0x8000)
{
diff --git a/src/devices/bus/svi3x8/slot/sv807.h b/src/devices/bus/svi3x8/slot/sv807.h
index 8d12befff79..e3f12201d37 100644
--- a/src/devices/bus/svi3x8/slot/sv807.h
+++ b/src/devices/bus/svi3x8/slot/sv807.h
@@ -29,8 +29,8 @@ public:
// optional information overrides
virtual ioport_constructor device_input_ports() const override;
- virtual uint8_t mreq_r(offs_t offset) override;
- virtual void mreq_w(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER( mreq_r ) override;
+ virtual DECLARE_WRITE8_MEMBER( mreq_w ) override;
virtual void bk21_w(int state) override;
virtual void bk22_w(int state) override;
diff --git a/src/devices/bus/ti8x/bitsocket.cpp b/src/devices/bus/ti8x/bitsocket.cpp
index bfe7849aa40..e9394788d94 100644
--- a/src/devices/bus/ti8x/bitsocket.cpp
+++ b/src/devices/bus/ti8x/bitsocket.cpp
@@ -25,10 +25,9 @@ bit_socket_device::bit_socket_device(
}
-void bit_socket_device::device_add_mconfig(machine_config &config)
-{
- BITBANGER(config, m_stream, 0);
-}
+MACHINE_CONFIG_START(bit_socket_device::device_add_mconfig)
+ MCFG_DEVICE_ADD("stream", BITBANGER, 0)
+MACHINE_CONFIG_END
void bit_socket_device::device_start()
diff --git a/src/devices/bus/ti8x/teeconn.cpp b/src/devices/bus/ti8x/teeconn.cpp
index 7277d4af93e..a251ee1ca4b 100644
--- a/src/devices/bus/ti8x/teeconn.cpp
+++ b/src/devices/bus/ti8x/teeconn.cpp
@@ -61,16 +61,15 @@ WRITE_LINE_MEMBER(tee_connector_device::ring_b_w)
}
-void tee_connector_device::device_add_mconfig(machine_config &config)
-{
- TI8X_LINK_PORT(config, m_port_a, default_ti8x_link_devices, nullptr);
- m_port_a->tip_handler().set(FUNC(tee_connector_device::tip_a_w));
- m_port_a->ring_handler().set(FUNC(tee_connector_device::ring_a_w));
-
- TI8X_LINK_PORT(config, m_port_b, default_ti8x_link_devices, nullptr);
- m_port_b->tip_handler().set(FUNC(tee_connector_device::tip_b_w));
- m_port_b->ring_handler().set(FUNC(tee_connector_device::ring_b_w));
-}
+MACHINE_CONFIG_START(tee_connector_device::device_add_mconfig)
+ MCFG_DEVICE_ADD(m_port_a, TI8X_LINK_PORT, default_ti8x_link_devices, nullptr)
+ MCFG_TI8X_LINK_TIP_HANDLER(WRITELINE(*this, tee_connector_device, tip_a_w))
+ MCFG_TI8X_LINK_RING_HANDLER(WRITELINE(*this, tee_connector_device, ring_a_w))
+
+ MCFG_DEVICE_ADD(m_port_b, TI8X_LINK_PORT, default_ti8x_link_devices, nullptr)
+ MCFG_TI8X_LINK_TIP_HANDLER(WRITELINE(*this, tee_connector_device, tip_b_w))
+ MCFG_TI8X_LINK_RING_HANDLER(WRITELINE(*this, tee_connector_device, ring_b_w))
+MACHINE_CONFIG_END
void tee_connector_device::device_start()
diff --git a/src/devices/bus/ti8x/ti8x.h b/src/devices/bus/ti8x/ti8x.h
index e81a4fc5a9e..1a01aeda2e3 100644
--- a/src/devices/bus/ti8x/ti8x.h
+++ b/src/devices/bus/ti8x/ti8x.h
@@ -42,6 +42,13 @@
DECLARE_DEVICE_TYPE(TI8X_LINK_PORT, ti8x_link_port_device)
+#define MCFG_TI8X_LINK_TIP_HANDLER(cb) \
+ downcast<ti8x_link_port_device &>(*device).set_tip_handler(DEVCB_##cb);
+
+#define MCFG_TI8X_LINK_RING_HANDLER(cb) \
+ downcast<ti8x_link_port_device &>(*device).set_ring_handler(DEVCB_##cb);
+
+
class device_ti8x_link_port_interface;
@@ -60,8 +67,8 @@ public:
ti8x_link_port_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock = 0);
// static configuration helpers
- auto tip_handler() { return m_tip_handler.bind(); }
- auto ring_handler() { return m_ring_handler.bind(); }
+ template <class Object> devcb_base &set_tip_handler(Object &&cb) { return m_tip_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_ring_handler(Object &&cb) { return m_ring_handler.set_callback(std::forward<Object>(cb)); }
DECLARE_WRITE_LINE_MEMBER(tip_w);
DECLARE_WRITE_LINE_MEMBER(ring_w);
diff --git a/src/devices/bus/ti8x/tispeaker.cpp b/src/devices/bus/ti8x/tispeaker.cpp
index ed9ec36a5ec..17d81fe10b9 100644
--- a/src/devices/bus/ti8x/tispeaker.cpp
+++ b/src/devices/bus/ti8x/tispeaker.cpp
@@ -26,15 +26,16 @@ stereo_speaker_device::stereo_speaker_device(
}
-void stereo_speaker_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(stereo_speaker_device::device_add_mconfig)
SPEAKER(config, "outl").front_left();
SPEAKER(config, "outr").front_right();
- SPEAKER_SOUND(config, m_left_speaker, 0).add_route(ALL_OUTPUTS, "outl", 0.50);
+ MCFG_DEVICE_ADD("lspkr", SPEAKER_SOUND, 0)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "outl", 0.50)
- SPEAKER_SOUND(config, m_right_speaker, 0).add_route(ALL_OUTPUTS, "outr", 0.50);
-}
+ MCFG_DEVICE_ADD("rspkr", SPEAKER_SOUND, 0)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "outr", 0.50)
+MACHINE_CONFIG_END
void stereo_speaker_device::device_start()
@@ -69,12 +70,12 @@ mono_speaker_device::mono_speaker_device(
}
-void mono_speaker_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(mono_speaker_device::device_add_mconfig)
SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker, 0).add_route(ALL_OUTPUTS, "mono", 0.50);
-}
+ MCFG_DEVICE_ADD("spkr", SPEAKER_SOUND, 0)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
+MACHINE_CONFIG_END
void mono_speaker_device::device_start()
diff --git a/src/devices/bus/ti99/gromport/cartridges.cpp b/src/devices/bus/ti99/gromport/cartridges.cpp
index d3f3f75a10a..7e93029f97f 100644
--- a/src/devices/bus/ti99/gromport/cartridges.cpp
+++ b/src/devices/bus/ti99/gromport/cartridges.cpp
@@ -341,23 +341,23 @@ void ti99_cartridge_device::set_slot(int i)
READ8Z_MEMBER(ti99_cartridge_device::readz)
{
if (m_pcb != nullptr)
- m_pcb->readz(offset, value);
+ m_pcb->readz(space, offset, value);
}
-void ti99_cartridge_device::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(ti99_cartridge_device::write)
{
if (m_pcb != nullptr)
- m_pcb->write(offset, data);
+ m_pcb->write(space, offset, data);
}
READ8Z_MEMBER(ti99_cartridge_device::crureadz)
{
- if (m_pcb != nullptr) m_pcb->crureadz(offset, value);
+ if (m_pcb != nullptr) m_pcb->crureadz(space, offset, value);
}
-void ti99_cartridge_device::cruwrite(offs_t offset, uint8_t data)
+WRITE8_MEMBER(ti99_cartridge_device::cruwrite)
{
- if (m_pcb != nullptr) m_pcb->cruwrite(offset, data);
+ if (m_pcb != nullptr) m_pcb->cruwrite(space, offset, data);
}
WRITE_LINE_MEMBER( ti99_cartridge_device::ready_line )
@@ -509,7 +509,7 @@ READ8Z_MEMBER(ti99_cartridge_pcb::readz)
}
}
-void ti99_cartridge_pcb::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(ti99_cartridge_pcb::write)
{
if (m_romspace_selected)
{
@@ -526,7 +526,7 @@ READ8Z_MEMBER(ti99_cartridge_pcb::crureadz)
{
}
-void ti99_cartridge_pcb::cruwrite(offs_t offset, uint8_t data)
+WRITE8_MEMBER(ti99_cartridge_pcb::cruwrite)
{
}
@@ -614,7 +614,7 @@ READ8Z_MEMBER(ti99_paged12k_cartridge::readz)
}
}
-void ti99_paged12k_cartridge::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(ti99_paged12k_cartridge::write)
{
if (m_romspace_selected)
{
@@ -663,7 +663,7 @@ READ8Z_MEMBER(ti99_paged16k_cartridge::readz)
}
}
-void ti99_paged16k_cartridge::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(ti99_paged16k_cartridge::write)
{
if (m_romspace_selected)
{
@@ -720,7 +720,7 @@ READ8Z_MEMBER(ti99_minimem_cartridge::readz)
}
/* Write function for the minimem cartridge. */
-void ti99_minimem_cartridge::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(ti99_minimem_cartridge::write)
{
if (m_romspace_selected)
{
@@ -788,7 +788,7 @@ READ8Z_MEMBER(ti99_super_cartridge::readz)
}
/* Write function for the super cartridge. */
-void ti99_super_cartridge::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(ti99_super_cartridge::write)
{
if (m_romspace_selected)
{
@@ -826,15 +826,19 @@ READ8Z_MEMBER(ti99_super_cartridge::crureadz)
// SRL R0,1 Restore Bank Number (optional)
// RT
+ // Our implementation in MESS always gets 8 bits in one go. Also, the address
+ // is twice the bit number. That is, the offset value is always a multiple
+ // of 0x10.
+
if ((offset & 0xfff0) == 0x0800)
{
LOGMASKED(LOG_CRU, "CRU accessed at %04x\n", offset);
uint8_t val = 0x02 << (m_ram_page << 1);
- *value = BIT(val, (offset & 0x000e) >> 1);
+ *value = (val >> ((offset - 0x0800)>>1)) & 0xff;
}
}
-void ti99_super_cartridge::cruwrite(offs_t offset, uint8_t data)
+WRITE8_MEMBER(ti99_super_cartridge::cruwrite)
{
if ((offset & 0xfff0) == 0x0800)
{
@@ -919,7 +923,7 @@ READ8Z_MEMBER(ti99_mbx_cartridge::readz)
}
/* Write function for the mbx cartridge. */
-void ti99_mbx_cartridge::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(ti99_mbx_cartridge::write)
{
if (m_romspace_selected)
{
@@ -995,7 +999,7 @@ READ8Z_MEMBER(ti99_paged7_cartridge::readz)
}
/* Write function for the paged7 cartridge. */
-void ti99_paged7_cartridge::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(ti99_paged7_cartridge::write)
{
if (m_romspace_selected)
{
@@ -1067,7 +1071,7 @@ READ8Z_MEMBER(ti99_paged379i_cartridge::readz)
}
/* Write function for the paged379i cartridge. Only used to set the bank. */
-void ti99_paged379i_cartridge::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(ti99_paged379i_cartridge::write)
{
// Bits: 011x xxxx xxxb bbbx
// x = don't care, bbbb = bank
@@ -1118,7 +1122,7 @@ READ8Z_MEMBER(ti99_paged378_cartridge::readz)
}
/* Write function for the paged378 cartridge. Only used to set the bank. */
-void ti99_paged378_cartridge::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(ti99_paged378_cartridge::write)
{
// Bits: 011x xxxx xbbb bbbx
// x = don't care, bbbb = bank
@@ -1158,7 +1162,7 @@ READ8Z_MEMBER(ti99_paged377_cartridge::readz)
}
/* Write function for the paged377 cartridge. Only used to set the bank. */
-void ti99_paged377_cartridge::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(ti99_paged377_cartridge::write)
{
// Bits: 011x xxxb bbbb bbbx
// x = don't care, bbbb = bank
@@ -1212,7 +1216,7 @@ READ8Z_MEMBER(ti99_pagedcru_cartridge::readz)
}
/* Write function for the pagedcru cartridge. No effect. */
-void ti99_pagedcru_cartridge::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(ti99_pagedcru_cartridge::write)
{
return;
}
@@ -1227,11 +1231,11 @@ READ8Z_MEMBER(ti99_pagedcru_cartridge::crureadz)
{
page = page-(bit/2); // 4 page flags per 8 bits
}
- *value = (offset & 0x000e) == (page * 4 + 2) ? 1 : 0;
+ *value = 1 << (page*2+1);
}
}
-void ti99_pagedcru_cartridge::cruwrite(offs_t offset, uint8_t data)
+WRITE8_MEMBER(ti99_pagedcru_cartridge::cruwrite)
{
if ((offset & 0xf800)==0x0800)
{
@@ -1303,7 +1307,7 @@ READ8Z_MEMBER(ti99_gromemu_cartridge::readz)
{
if (m_grom_selected)
{
- if (m_grom_read_mode) gromemureadz(offset, value);
+ if (m_grom_read_mode) gromemureadz(space, offset, value, mem_mask);
}
else
{
@@ -1323,7 +1327,7 @@ READ8Z_MEMBER(ti99_gromemu_cartridge::readz)
}
}
-void ti99_gromemu_cartridge::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(ti99_gromemu_cartridge::write)
{
if (m_romspace_selected)
{
@@ -1344,7 +1348,7 @@ void ti99_gromemu_cartridge::write(offs_t offset, uint8_t data)
// Will not change anything when not selected (preceding gsq=ASSERT)
if (m_grom_selected)
{
- if (!m_grom_read_mode) gromemuwrite(offset, data);
+ if (!m_grom_read_mode) gromemuwrite(space, offset, data, mem_mask);
}
}
}
@@ -1369,7 +1373,7 @@ READ8Z_MEMBER(ti99_gromemu_cartridge::gromemureadz)
m_waddr_LSB = false;
}
-void ti99_gromemu_cartridge::gromemuwrite(offs_t offset, uint8_t data)
+WRITE8_MEMBER(ti99_gromemu_cartridge::gromemuwrite)
{
// Set GROM address
if (m_grom_address_mode)
diff --git a/src/devices/bus/ti99/gromport/cartridges.h b/src/devices/bus/ti99/gromport/cartridges.h
index e2e729f2d59..b969e65eccf 100644
--- a/src/devices/bus/ti99/gromport/cartridges.h
+++ b/src/devices/bus/ti99/gromport/cartridges.h
@@ -66,9 +66,9 @@ public:
ti99_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
DECLARE_READ8Z_MEMBER(readz);
- void write(offs_t offset, uint8_t data);
+ DECLARE_WRITE8_MEMBER(write);
DECLARE_READ8Z_MEMBER(crureadz);
- void cruwrite(offs_t offset, uint8_t data);
+ DECLARE_WRITE8_MEMBER(cruwrite);
DECLARE_WRITE_LINE_MEMBER(ready_line);
DECLARE_WRITE_LINE_MEMBER(romgq_line);
@@ -213,9 +213,9 @@ public:
protected:
virtual DECLARE_READ8Z_MEMBER(readz);
- virtual void write(offs_t offset, uint8_t data);
+ virtual DECLARE_WRITE8_MEMBER(write);
virtual DECLARE_READ8Z_MEMBER(crureadz);
- virtual void cruwrite(offs_t offset, uint8_t data);
+ virtual DECLARE_WRITE8_MEMBER(cruwrite);
DECLARE_WRITE_LINE_MEMBER(romgq_line);
virtual void set_gromlines(line_state mline, line_state moline, line_state gsq);
@@ -263,7 +263,7 @@ class ti99_paged12k_cartridge : public ti99_cartridge_pcb
{
public:
DECLARE_READ8Z_MEMBER(readz) override;
- void write(offs_t offset, uint8_t data) override;
+ DECLARE_WRITE8_MEMBER(write) override;
};
/*********** Paged cartridge (others) ********************/
@@ -272,7 +272,7 @@ class ti99_paged16k_cartridge : public ti99_cartridge_pcb
{
public:
DECLARE_READ8Z_MEMBER(readz) override;
- void write(offs_t offset, uint8_t data) override;
+ DECLARE_WRITE8_MEMBER(write) override;
};
/*********** Paged7 cartridge (late carts) ********************/
@@ -281,7 +281,7 @@ class ti99_paged7_cartridge : public ti99_cartridge_pcb
{
public:
DECLARE_READ8Z_MEMBER(readz) override;
- void write(offs_t offset, uint8_t data) override;
+ DECLARE_WRITE8_MEMBER(write) override;
};
/********************** Mini Memory ***********************************/
@@ -290,7 +290,7 @@ class ti99_minimem_cartridge : public ti99_cartridge_pcb
{
public:
DECLARE_READ8Z_MEMBER(readz) override;
- void write(offs_t offset, uint8_t data) override;
+ DECLARE_WRITE8_MEMBER(write) override;
};
/********************* Super Space II *********************************/
@@ -299,9 +299,9 @@ class ti99_super_cartridge : public ti99_cartridge_pcb
{
public:
DECLARE_READ8Z_MEMBER(readz) override;
- void write(offs_t offset, uint8_t data) override;
+ DECLARE_WRITE8_MEMBER(write) override;
DECLARE_READ8Z_MEMBER(crureadz) override;
- void cruwrite(offs_t offset, uint8_t data) override;
+ DECLARE_WRITE8_MEMBER(cruwrite) override;
};
/************************* MBX ***************************************/
@@ -310,7 +310,7 @@ class ti99_mbx_cartridge : public ti99_cartridge_pcb
{
public:
DECLARE_READ8Z_MEMBER(readz) override;
- void write(offs_t offset, uint8_t data) override;
+ DECLARE_WRITE8_MEMBER(write) override;
};
/********************** Paged 379i ************************************/
@@ -319,7 +319,7 @@ class ti99_paged379i_cartridge : public ti99_cartridge_pcb
{
public:
DECLARE_READ8Z_MEMBER(readz) override;
- void write(offs_t offset, uint8_t data) override;
+ DECLARE_WRITE8_MEMBER(write) override;
private:
int get_paged379i_bank(int rompage);
};
@@ -330,7 +330,7 @@ class ti99_paged378_cartridge : public ti99_cartridge_pcb
{
public:
DECLARE_READ8Z_MEMBER(readz) override;
- void write(offs_t offset, uint8_t data) override;
+ DECLARE_WRITE8_MEMBER(write) override;
};
/********************** Paged 377 ************************************/
@@ -339,7 +339,7 @@ class ti99_paged377_cartridge : public ti99_cartridge_pcb
{
public:
DECLARE_READ8Z_MEMBER(readz) override;
- void write(offs_t offset, uint8_t data) override;
+ DECLARE_WRITE8_MEMBER(write) override;
};
/********************** Paged CRU ************************************/
@@ -348,9 +348,9 @@ class ti99_pagedcru_cartridge : public ti99_cartridge_pcb
{
public:
DECLARE_READ8Z_MEMBER(readz) override;
- void write(offs_t offset, uint8_t data) override;
+ DECLARE_WRITE8_MEMBER(write) override;
DECLARE_READ8Z_MEMBER(crureadz) override;
- void cruwrite(offs_t offset, uint8_t data) override;
+ DECLARE_WRITE8_MEMBER(cruwrite) override;
};
/********************** GROM emulation cartridge ************************************/
@@ -361,9 +361,9 @@ public:
ti99_gromemu_cartridge(): m_waddr_LSB(false), m_grom_selected(false), m_grom_read_mode(false), m_grom_address_mode(false)
{ m_grom_address = 0; }
DECLARE_READ8Z_MEMBER(readz) override;
- void write(offs_t offset, uint8_t data) override;
+ DECLARE_WRITE8_MEMBER(write) override;
DECLARE_READ8Z_MEMBER(gromemureadz);
- void gromemuwrite(offs_t offset, uint8_t data);
+ DECLARE_WRITE8_MEMBER(gromemuwrite);
void set_gromlines(line_state mline, line_state moline, line_state gsq) override;
private:
diff --git a/src/devices/bus/ti99/gromport/gkracker.cpp b/src/devices/bus/ti99/gromport/gkracker.cpp
index 57ccfbc87e1..d9de20949b2 100644
--- a/src/devices/bus/ti99/gromport/gkracker.cpp
+++ b/src/devices/bus/ti99/gromport/gkracker.cpp
@@ -227,18 +227,18 @@ READ8Z_MEMBER(ti99_gkracker_device::readz)
uint8_t val1 = *value;
// Read from the guest cartridge.
- m_cartridge->readz(offset, value);
+ m_cartridge->readz(space, offset, value, mem_mask);
if (val1 != *value)
LOGMASKED(LOG_GKRACKER, "Read (from guest) %04x -> %02x\n", offset, *value);
}
}
-void ti99_gkracker_device::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(ti99_gkracker_device::write)
{
// write to the guest cartridge if present
if (m_cartridge != nullptr)
{
- m_cartridge->write(offset, data);
+ m_cartridge->write(space, offset, data, mem_mask);
}
if (m_grom_selected)
@@ -307,12 +307,12 @@ void ti99_gkracker_device::write(offs_t offset, uint8_t data)
READ8Z_MEMBER( ti99_gkracker_device::crureadz )
{
- if (m_cartridge != nullptr) m_cartridge->crureadz(offset, value);
+ if (m_cartridge != nullptr) m_cartridge->crureadz(space, offset, value);
}
-void ti99_gkracker_device::cruwrite(offs_t offset, uint8_t data)
+WRITE8_MEMBER( ti99_gkracker_device::cruwrite )
{
- if (m_cartridge != nullptr) m_cartridge->cruwrite(offset, data);
+ if (m_cartridge != nullptr) m_cartridge->cruwrite(space, offset, data);
}
INPUT_CHANGED_MEMBER( ti99_gkracker_device::gk_changed )
diff --git a/src/devices/bus/ti99/gromport/gkracker.h b/src/devices/bus/ti99/gromport/gkracker.h
index 34b267bf640..bb3d278d57a 100644
--- a/src/devices/bus/ti99/gromport/gkracker.h
+++ b/src/devices/bus/ti99/gromport/gkracker.h
@@ -19,9 +19,9 @@ public:
ti99_gkracker_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
DECLARE_READ8Z_MEMBER(readz) override;
- void write(offs_t offset, uint8_t data) override;
+ DECLARE_WRITE8_MEMBER(write) override;
DECLARE_READ8Z_MEMBER(crureadz) override;
- void cruwrite(offs_t offset, uint8_t data) override;
+ DECLARE_WRITE8_MEMBER(cruwrite) override;
DECLARE_WRITE_LINE_MEMBER(romgq_line) override;
void set_gromlines(line_state mline, line_state moline, line_state gsq) override;
diff --git a/src/devices/bus/ti99/gromport/gromport.cpp b/src/devices/bus/ti99/gromport/gromport.cpp
index 5f893aa4423..b6fa23e1111 100644
--- a/src/devices/bus/ti99/gromport/gromport.cpp
+++ b/src/devices/bus/ti99/gromport/gromport.cpp
@@ -143,7 +143,7 @@ READ8Z_MEMBER(gromport_device::readz)
{
if (m_connector != nullptr)
{
- m_connector->readz(offset & m_mask, value);
+ m_connector->readz(space, offset & m_mask, value);
if (m_romgq) LOGMASKED(LOG_READ, "Read %04x -> %02x\n", offset | 0x6000, *value);
}
}
@@ -152,25 +152,25 @@ READ8Z_MEMBER(gromport_device::readz)
Writing via the GROM port. Only 13 address lines are passed through
on the TI-99/4A, and 14 lines on the TI-99/8.
*/
-void gromport_device::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(gromport_device::write)
{
if (m_connector != nullptr)
{
if (m_romgq) LOGMASKED(LOG_WRITE, "Write %04x <- %02x\n", offset | 0x6000, data);
- m_connector->write(offset & m_mask, data);
+ m_connector->write(space, offset & m_mask, data);
}
}
READ8Z_MEMBER(gromport_device::crureadz)
{
if (m_connector != nullptr)
- m_connector->crureadz(offset, value);
+ m_connector->crureadz(space, offset, value);
}
-void gromport_device::cruwrite(offs_t offset, uint8_t data)
+WRITE8_MEMBER(gromport_device::cruwrite)
{
if (m_connector != nullptr)
- m_connector->cruwrite(offset, data);
+ m_connector->cruwrite(space, offset, data);
}
WRITE_LINE_MEMBER(gromport_device::ready_line)
diff --git a/src/devices/bus/ti99/gromport/gromport.h b/src/devices/bus/ti99/gromport/gromport.h
index 9c04ef5a8b8..8d5c61ce78d 100644
--- a/src/devices/bus/ti99/gromport/gromport.h
+++ b/src/devices/bus/ti99/gromport/gromport.h
@@ -39,11 +39,10 @@ public:
}
gromport_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
DECLARE_READ8Z_MEMBER(readz);
- void write(offs_t offset, uint8_t data);
+ DECLARE_WRITE8_MEMBER(write);
DECLARE_READ8Z_MEMBER(crureadz);
- void cruwrite(offs_t offset, uint8_t data);
+ DECLARE_WRITE8_MEMBER(cruwrite);
DECLARE_WRITE_LINE_MEMBER(ready_line);
DECLARE_WRITE_LINE_MEMBER(romgq_line);
void set_gromlines(line_state mline, line_state moline, line_state gsq);
@@ -77,11 +76,11 @@ class cartridge_connector_device : public device_t
{
public:
virtual DECLARE_READ8Z_MEMBER(readz) = 0;
- virtual void write(offs_t offset, uint8_t data) = 0;
+ virtual DECLARE_WRITE8_MEMBER(write) = 0;
virtual DECLARE_SETADDRESS_DBIN_MEMBER( setaddress_dbin ) { }
virtual DECLARE_READ8Z_MEMBER(crureadz) = 0;
- virtual void cruwrite(offs_t offset, uint8_t data) = 0;
+ virtual DECLARE_WRITE8_MEMBER(cruwrite) = 0;
virtual DECLARE_WRITE_LINE_MEMBER(romgq_line) = 0;
virtual void set_gromlines(line_state mline, line_state moline, line_state gsq) =0;
diff --git a/src/devices/bus/ti99/gromport/multiconn.cpp b/src/devices/bus/ti99/gromport/multiconn.cpp
index 191853f1029..efaf57d649d 100644
--- a/src/devices/bus/ti99/gromport/multiconn.cpp
+++ b/src/devices/bus/ti99/gromport/multiconn.cpp
@@ -195,7 +195,7 @@ READ8Z_MEMBER(ti99_multi_cart_conn_device::readz)
if (m_cartridge[i] != nullptr)
{
uint8_t newval = *value;
- m_cartridge[i]->readz(offset, &newval);
+ m_cartridge[i]->readz(space, offset, &newval, 0xff);
if (i==slot)
{
*value = newval;
@@ -207,12 +207,12 @@ READ8Z_MEMBER(ti99_multi_cart_conn_device::readz)
{
if (slot < NUMBER_OF_CARTRIDGE_SLOTS && m_cartridge[slot] != nullptr)
{
- m_cartridge[slot]->readz(offset, value);
+ m_cartridge[slot]->readz(space, offset, value, 0xff);
}
}
}
-void ti99_multi_cart_conn_device::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(ti99_multi_cart_conn_device::write)
{
// Same issue as above (read)
// We don't have GRAM cartridges, anyway, so it's just used for setting the address.
@@ -222,7 +222,7 @@ void ti99_multi_cart_conn_device::write(offs_t offset, uint8_t data)
{
if (elem != nullptr)
{
- elem->write(offset, data);
+ elem->write(space, offset, data, 0xff);
}
}
}
@@ -232,7 +232,7 @@ void ti99_multi_cart_conn_device::write(offs_t offset, uint8_t data)
if (slot < NUMBER_OF_CARTRIDGE_SLOTS && m_cartridge[slot] != nullptr)
{
// logerror("writing %04x (slot %d) <- %02x\n", offset, slot, data);
- m_cartridge[slot]->write(offset, data);
+ m_cartridge[slot]->write(space, offset, data, 0xff);
}
}
}
@@ -246,11 +246,11 @@ READ8Z_MEMBER(ti99_multi_cart_conn_device::crureadz)
if (m_cartridge[slot] != nullptr)
{
- m_cartridge[slot]->crureadz(offset, value);
+ m_cartridge[slot]->crureadz(space, offset, value);
}
}
-void ti99_multi_cart_conn_device::cruwrite(offs_t offset, uint8_t data)
+WRITE8_MEMBER(ti99_multi_cart_conn_device::cruwrite)
{
int slot = get_active_slot(true, offset);
@@ -260,7 +260,7 @@ void ti99_multi_cart_conn_device::cruwrite(offs_t offset, uint8_t data)
if (m_cartridge[slot] != nullptr)
{
- m_cartridge[slot]->cruwrite(offset, data);
+ m_cartridge[slot]->cruwrite(space, offset, data);
}
}
diff --git a/src/devices/bus/ti99/gromport/multiconn.h b/src/devices/bus/ti99/gromport/multiconn.h
index 56a5915cfb2..97b9308eb36 100644
--- a/src/devices/bus/ti99/gromport/multiconn.h
+++ b/src/devices/bus/ti99/gromport/multiconn.h
@@ -24,9 +24,9 @@ public:
ti99_multi_cart_conn_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
DECLARE_READ8Z_MEMBER(readz) override;
- void write(offs_t offset, uint8_t data) override;
+ DECLARE_WRITE8_MEMBER(write) override;
DECLARE_READ8Z_MEMBER(crureadz) override;
- void cruwrite(offs_t offset, uint8_t data) override;
+ DECLARE_WRITE8_MEMBER(cruwrite) override;
DECLARE_WRITE_LINE_MEMBER(romgq_line) override;
void set_gromlines(line_state mline, line_state moline, line_state gsq) override;
DECLARE_WRITE_LINE_MEMBER(gclock_in) override;
diff --git a/src/devices/bus/ti99/gromport/singleconn.cpp b/src/devices/bus/ti99/gromport/singleconn.cpp
index 9a0b905a9e7..c967cf503f2 100644
--- a/src/devices/bus/ti99/gromport/singleconn.cpp
+++ b/src/devices/bus/ti99/gromport/singleconn.cpp
@@ -22,25 +22,25 @@ ti99_single_cart_conn_device::ti99_single_cart_conn_device(const machine_config
READ8Z_MEMBER(ti99_single_cart_conn_device::readz)
{
// Pass through
- m_cartridge->readz(offset, value);
+ m_cartridge->readz(space, offset, value);
}
-void ti99_single_cart_conn_device::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(ti99_single_cart_conn_device::write)
{
// Pass through
- m_cartridge->write(offset, data);
+ m_cartridge->write(space, offset, data);
}
READ8Z_MEMBER(ti99_single_cart_conn_device::crureadz)
{
// Pass through
- m_cartridge->crureadz(offset, value);
+ m_cartridge->crureadz(space, offset, value);
}
-void ti99_single_cart_conn_device::cruwrite(offs_t offset, uint8_t data)
+WRITE8_MEMBER(ti99_single_cart_conn_device::cruwrite)
{
// Pass through
- m_cartridge->cruwrite(offset, data);
+ m_cartridge->cruwrite(space, offset, data);
}
WRITE_LINE_MEMBER(ti99_single_cart_conn_device::romgq_line)
diff --git a/src/devices/bus/ti99/gromport/singleconn.h b/src/devices/bus/ti99/gromport/singleconn.h
index 831d70ffb18..10f1062f223 100644
--- a/src/devices/bus/ti99/gromport/singleconn.h
+++ b/src/devices/bus/ti99/gromport/singleconn.h
@@ -20,9 +20,9 @@ public:
ti99_single_cart_conn_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
DECLARE_READ8Z_MEMBER(readz) override;
- void write(offs_t offset, uint8_t data) override;
+ DECLARE_WRITE8_MEMBER(write) override;
DECLARE_READ8Z_MEMBER(crureadz) override;
- void cruwrite(offs_t offset, uint8_t data) override;
+ DECLARE_WRITE8_MEMBER(cruwrite) override;
DECLARE_WRITE_LINE_MEMBER(romgq_line) override;
void set_gromlines(line_state mline, line_state moline, line_state gsq) override;
DECLARE_WRITE_LINE_MEMBER(gclock_in) override;
diff --git a/src/devices/bus/ti99/internal/992board.cpp b/src/devices/bus/ti99/internal/992board.cpp
index 071526016f2..330bcee4566 100644
--- a/src/devices/bus/ti99/internal/992board.cpp
+++ b/src/devices/bus/ti99/internal/992board.cpp
@@ -456,15 +456,15 @@ void io992_device::device_start()
m_set_rom_bank.resolve();
}
-uint8_t io992_device::cruread(offs_t offset)
+READ8_MEMBER(io992_device::cruread)
{
- int address = offset << 1;
+ int address = offset << 4;
uint8_t value = 0x7f; // All Hexbus lines high
double inp = 0;
int i;
uint8_t bit = 1;
- switch (address & 0xf800)
+ switch (address)
{
case 0xe000:
// CRU E000-E7fE: Keyboard
@@ -494,10 +494,10 @@ uint8_t io992_device::cruread(offs_t offset)
LOGMASKED(LOG_CRU, "CRU %04x -> %02x\n", address, value);
- return BIT(value, offset & 7);
+ return value;
}
-void io992_device::cruwrite(offs_t offset, uint8_t data)
+WRITE8_MEMBER(io992_device::cruwrite)
{
int address = (offset << 1) & 0xf80e;
diff --git a/src/devices/bus/ti99/internal/992board.h b/src/devices/bus/ti99/internal/992board.h
index 5b99519f81f..b9946ebe9c4 100644
--- a/src/devices/bus/ti99/internal/992board.h
+++ b/src/devices/bus/ti99/internal/992board.h
@@ -107,8 +107,8 @@ class io992_device : public bus::hexbus::hexbus_chained_device
public:
io992_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- uint8_t cruread(offs_t offset);
- void cruwrite(offs_t offset, uint8_t data);
+ DECLARE_READ8_MEMBER( cruread );
+ DECLARE_WRITE8_MEMBER( cruwrite );
void device_start() override;
ioport_constructor device_input_ports() const override;
auto rombank_cb() { return m_set_rom_bank.bind(); }
diff --git a/src/devices/bus/ti99/internal/998board.cpp b/src/devices/bus/ti99/internal/998board.cpp
index 96f1c3d07f3..b81eeb01c59 100644
--- a/src/devices/bus/ti99/internal/998board.cpp
+++ b/src/devices/bus/ti99/internal/998board.cpp
@@ -198,7 +198,7 @@ mainboard8_device::mainboard8_device(const machine_config &mconfig, const char *
// Debugger support
// The memory accesses by the debugger are routed around the custom chip logic
-uint8_t mainboard8_device::debugger_read(offs_t offset)
+READ8_MEMBER( mainboard8_device::debugger_read )
{
int logical_address = offset;
bool compat_mode = (m_crus_debug==ASSERT_LINE);
@@ -243,7 +243,7 @@ uint8_t mainboard8_device::debugger_read(offs_t offset)
if (m_mofetta->hexbus_access_debug()) return m_rom1[(physical_address & 0x1fff) | 0x6000];
if (m_mofetta->intdsr_access_debug()) return m_rom1[(physical_address & 0x1fff) | 0x4000];
m_ioport->memen_in(ASSERT_LINE);
- m_ioport->readz(physical_address & 0xffff, &value);
+ m_ioport->readz(space, physical_address & 0xffff, &value);
m_ioport->memen_in(CLEAR_LINE);
return value;
}
@@ -251,7 +251,7 @@ uint8_t mainboard8_device::debugger_read(offs_t offset)
{
// Cartridge space lower 8
m_gromport->romgq_line(ASSERT_LINE);
- m_gromport->readz(physical_address & 0x1fff, &value);
+ m_gromport->readz(space, physical_address & 0x1fff, &value);
m_gromport->romgq_line(CLEAR_LINE);
return value;
}
@@ -259,7 +259,7 @@ uint8_t mainboard8_device::debugger_read(offs_t offset)
{
// Cartridge space upper 8
m_gromport->romgq_line(ASSERT_LINE);
- m_gromport->readz((physical_address & 0x1fff) | 0x2000, &value);
+ m_gromport->readz(space, (physical_address & 0x1fff) | 0x2000, &value);
m_gromport->romgq_line(CLEAR_LINE);
return value;
}
@@ -276,7 +276,7 @@ uint8_t mainboard8_device::debugger_read(offs_t offset)
return 0;
}
-void mainboard8_device::debugger_write(offs_t offset, uint8_t data)
+WRITE8_MEMBER( mainboard8_device::debugger_write )
{
int logical_address = offset;
bool compat_mode = (m_crus_debug==ASSERT_LINE);
@@ -324,14 +324,14 @@ void mainboard8_device::debugger_write(offs_t offset, uint8_t data)
if (m_mofetta->hexbus_access_debug()) return;
if (m_mofetta->intdsr_access_debug()) return;
m_ioport->memen_in(ASSERT_LINE);
- m_ioport->write(physical_address & 0xffff, data & 0xff);
+ m_ioport->write(space, physical_address & 0xffff, data & 0xff);
m_ioport->memen_in(CLEAR_LINE); return;
}
if ((physical_address & 0x00ffe000)==0x00ff6000)
{
// Cartridge space lower 8
m_gromport->romgq_line(ASSERT_LINE);
- m_gromport->write(physical_address & 0x1fff, data & 0xff);
+ m_gromport->write(space, physical_address & 0x1fff, data & 0xff);
m_gromport->romgq_line(CLEAR_LINE);
return;
}
@@ -339,7 +339,7 @@ void mainboard8_device::debugger_write(offs_t offset, uint8_t data)
{
// Cartridge space upper 8
m_gromport->romgq_line(ASSERT_LINE);
- m_gromport->write((physical_address & 0x1fff) | 0x2000, data & 0xff);
+ m_gromport->write(space, (physical_address & 0x1fff) | 0x2000, data & 0xff);
m_gromport->romgq_line(CLEAR_LINE);
return;
}
@@ -352,16 +352,16 @@ void mainboard8_device::debugger_write(offs_t offset, uint8_t data)
READ8Z_MEMBER(mainboard8_device::crureadz)
{
- m_ioport->crureadz(offset, value);
+ m_ioport->crureadz(space, offset, value);
}
/*
CRU handling. Mofetta is the only chip that bothers to handle it, beside the PEB
*/
-void mainboard8_device::cruwrite(offs_t offset, uint8_t data)
+WRITE8_MEMBER(mainboard8_device::cruwrite)
{
- m_mofetta->cruwrite(offset, data);
- m_ioport->cruwrite(offset, data);
+ m_mofetta->cruwrite(space, offset, data);
+ m_ioport->cruwrite(space, offset, data);
}
// =============== Memory bus access ==================
@@ -371,7 +371,7 @@ WRITE_LINE_MEMBER( mainboard8_device::dbin_in )
m_dbin_level = (line_state)state;
}
-uint8_t mainboard8_device::setoffset(offs_t offset)
+READ8_MEMBER( mainboard8_device::setoffset )
{
LOGMASKED(LOG_ADDRESS, "set %s %04x\n", (m_dbin_level==ASSERT_LINE)? "R" : "W", offset);
@@ -390,7 +390,7 @@ uint8_t mainboard8_device::setoffset(offs_t offset)
m_A14_set = ((m_logical_address & 2)!=0); // Needed for clock_in
// Check for match in logical space
- m_vaquerro->set_address(m_logical_address, m_dbin_level);
+ m_vaquerro->set_address(space, m_logical_address, m_dbin_level);
// Select GROMs if addressed
select_groms();
@@ -405,7 +405,7 @@ uint8_t mainboard8_device::setoffset(offs_t offset)
m_mofetta->lascs_in(lasreq);
// Need to set the address in any case so that the lines can be cleared
- m_amigo->set_address(m_logical_address);
+ m_amigo->set_address(space, m_logical_address);
// AMIGO is the one to control the READY line to the CPU
// MOFETTA does not contribute to READY
@@ -539,7 +539,7 @@ WRITE_LINE_MEMBER( mainboard8_device::clock_in )
if (m_mofetta->alccs_out()==ASSERT_LINE)
{
- m_oso->write(m_physical_address>>1, m_latched_data);
+ m_oso->write(*m_space, m_physical_address>>1, m_latched_data);
m_pending_write = false;
LOGMASKED(LOG_MEM, "Write %04x (phys %06x, OSO) <- %02x\n", m_logical_address, m_physical_address, m_latched_data);
}
@@ -547,7 +547,7 @@ WRITE_LINE_MEMBER( mainboard8_device::clock_in )
if (m_mofetta->cmas_out()==ASSERT_LINE)
{
m_gromport->romgq_line(ASSERT_LINE);
- m_gromport->write(m_physical_address & 0x3fff, m_latched_data);
+ m_gromport->write(*m_space, m_physical_address & 0x3fff, m_latched_data);
m_pending_write = false;
LOGMASKED(LOG_MEM, "Write %04x (phys %06x, cartridge) <- %02x\n", m_logical_address, m_physical_address, m_latched_data);
}
@@ -558,7 +558,7 @@ WRITE_LINE_MEMBER( mainboard8_device::clock_in )
if (m_mofetta->dbc_out()==ASSERT_LINE)
{
- m_ioport->write(m_physical_address, m_latched_data);
+ m_ioport->write(*m_space, m_physical_address, m_latched_data);
m_pending_write = false;
LOGMASKED(LOG_MEM, "Write %04x (phys %06x, PEB) <- %02x\n", m_logical_address, m_physical_address, m_latched_data);
}
@@ -635,7 +635,7 @@ void mainboard8_device::select_groms()
m_sgrom1->write(m_latched_data);
m_sgrom2->write(m_latched_data);
LOGMASKED(LOG_MEM, "Write GS <- %02x\n", m_latched_data);
- m_gromport->write(0, m_latched_data);
+ m_gromport->write(*m_space, 0, m_latched_data);
break;
case TSGSEL:
@@ -682,8 +682,8 @@ void mainboard8_device::set_paddress(int address)
m_physical_address = (m_physical_address << 16) | address;
LOGMASKED(LOG_DETAIL, "Setting physical address %06x\n", m_physical_address);
- m_mofetta->set_address(address, m_dbin_level);
- m_ioport->setaddress_dbin(address, m_dbin_level);
+ m_mofetta->set_address(*m_space, address, m_dbin_level);
+ m_ioport->setaddress_dbin(*m_space, address, m_dbin_level);
}
WRITE_LINE_MEMBER( mainboard8_device::msast_in )
@@ -701,14 +701,14 @@ WRITE_LINE_MEMBER( mainboard8_device::msast_in )
}
-uint8_t mainboard8_device::read(offs_t offset)
+READ8_MEMBER( mainboard8_device::read )
{
uint8_t value = 0;
const char* what;
if (machine().side_effects_disabled())
{
- return debugger_read(offset);
+ return debugger_read(space, offset);
}
// =================================================
@@ -716,7 +716,7 @@ uint8_t mainboard8_device::read(offs_t offset)
// =================================================
if (m_amigo->mapper_accessed())
{
- value = m_amigo->read();
+ value = m_amigo->read(space, 0);
what = "mapper";
goto readdone;
}
@@ -762,7 +762,7 @@ uint8_t mainboard8_device::read(offs_t offset)
m_sgrom0->readz(&value);
m_sgrom1->readz(&value);
m_sgrom2->readz(&value);
- m_gromport->readz(0, &value);
+ m_gromport->readz(space, 0, &value);
if (!m_A14_set) LOGMASKED(LOG_GROM, "GS>%04x\n", m_sgrom0->debug_get_address()-1);
what = "system GROM";
goto readdone;
@@ -843,7 +843,7 @@ uint8_t mainboard8_device::read(offs_t offset)
if (m_mofetta->alccs_out()==ASSERT_LINE)
{
- value = m_oso->read(m_physical_address>>1);
+ value = m_oso->read(*m_space, m_physical_address>>1);
what = "OSO";
goto readdonephys;
}
@@ -858,14 +858,14 @@ uint8_t mainboard8_device::read(offs_t offset)
if (m_mofetta->cmas_out()==ASSERT_LINE)
{
m_gromport->romgq_line(ASSERT_LINE);
- m_gromport->readz(m_physical_address & 0x3fff, &value);
+ m_gromport->readz(*m_space, m_physical_address & 0x3fff, &value);
what = "Cartridge";
goto readdonephys;
}
if (m_mofetta->dbc_out()==ASSERT_LINE)
{
- m_ioport->readz(m_physical_address & 0xffff, &value);
+ m_ioport->readz(*m_space, m_physical_address & 0xffff, &value);
what = "PEB";
goto readdonephys;
}
@@ -905,14 +905,14 @@ void mainboard8_device::cycle_end()
If the READY line is pulled down due to the mapping process, we must
store the data bus value until the physical address is available.
*/
-void mainboard8_device::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER( mainboard8_device::write )
{
m_latched_data = data;
m_pending_write = true;
if (machine().side_effects_disabled())
{
- return debugger_write(offset, data);
+ return debugger_write(space, offset, data);
}
// Some logical space devices can be written immediately
@@ -920,7 +920,7 @@ void mainboard8_device::write(offs_t offset, uint8_t data)
if (m_amigo->mapper_accessed())
{
LOGMASKED(LOG_MEM, "Write %04x (mapper) <- %02x\n", m_logical_address, data);
- m_amigo->write(data);
+ m_amigo->write(space, 0, data);
m_pending_write = false;
}
@@ -1064,6 +1064,10 @@ void mainboard8_device::device_reset()
m_A14_set = false;
// Configure RAM and AMIGO
m_amigo->connect_sram(m_sram->pointer());
+
+ // Get the pointer to the address space; we need it outside of the
+ // usual memory functions. TODO: Possibly not anymore.
+ m_space = &m_maincpu->space(AS_PROGRAM);
}
void mainboard8_device::device_add_mconfig(machine_config &config)
@@ -1731,7 +1735,7 @@ bool mofetta_device::intdsr_access_debug()
return m_txspg;
}
-void mofetta_device::cruwrite(offs_t offset, uint8_t data)
+WRITE8_MEMBER(mofetta_device::cruwrite)
{
if ((offset & 0xff00)==0x2700)
{
@@ -1996,7 +2000,7 @@ WRITE_LINE_MEMBER( amigo_device::lascs_in )
3. Set the physical address bus with the second 16 bits of the physical
address. Clear the MSAST line. Forward any incoming READY=0 to the CPU.
*/
-uint8_t amigo_device::set_address(offs_t offset)
+READ8_MEMBER( amigo_device::set_address )
{
// Check whether the mapper itself is accessed
int mapaddr = (m_crus==ASSERT_LINE)? 0x8810 : 0xf870;
@@ -2049,7 +2053,7 @@ uint8_t amigo_device::set_address(offs_t offset)
/*
Read the mapper status bits
*/
-uint8_t amigo_device::read()
+READ8_MEMBER( amigo_device::read )
{
// Read the protection status bits and reset them
uint8_t value = m_protflag;
@@ -2060,7 +2064,7 @@ uint8_t amigo_device::read()
/*
Configure the mapper. This is the only reason to write to the AMIGO.
*/
-void amigo_device::write(uint8_t data)
+WRITE8_MEMBER( amigo_device::write )
{
// Load or save map file
if ((data & 0xf0)==0x00)
@@ -2291,7 +2295,7 @@ oso_device::oso_device(const machine_config &mconfig, const char *tag, device_t
m_hexbus_outbound = nullptr;
}
-uint8_t oso_device::read(offs_t offset)
+READ8_MEMBER( oso_device::read )
{
int value = 0;
offset &= 0x03;
@@ -2327,7 +2331,7 @@ uint8_t oso_device::read(offs_t offset)
return value;
}
-void oso_device::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER( oso_device::write )
{
offset &= 0x03;
switch (offset)
diff --git a/src/devices/bus/ti99/internal/998board.h b/src/devices/bus/ti99/internal/998board.h
index 227a2dc4a7b..c0baf6589df 100644
--- a/src/devices/bus/ti99/internal/998board.h
+++ b/src/devices/bus/ti99/internal/998board.h
@@ -101,6 +101,7 @@ public:
line_state ready();
void treset();
+ DECLARE_READ8_MEMBER( read );
DECLARE_SETADDRESS_DBIN_MEMBER( set_address );
DECLARE_READ_LINE_MEMBER( sprd_out );
@@ -247,7 +248,7 @@ public:
void device_start() override;
void device_reset() override;
- void cruwrite(offs_t offset, uint8_t data);
+ DECLARE_WRITE8_MEMBER( cruwrite );
DECLARE_SETADDRESS_DBIN_MEMBER( set_address );
// Debugger support
@@ -260,6 +261,7 @@ public:
DECLARE_WRITE_LINE_MEMBER( pmemen_in );
DECLARE_WRITE_LINE_MEMBER( skdrcs_in );
+ DECLARE_READ8_MEMBER( rom1cs_out );
DECLARE_READ_LINE_MEMBER( gromclk_out );
DECLARE_READ_LINE_MEMBER( alccs_out );
@@ -333,9 +335,9 @@ public:
void device_start() override;
void device_reset() override;
- uint8_t read();
- void write(uint8_t data);
- uint8_t set_address(offs_t offset);
+ DECLARE_READ8_MEMBER( read );
+ DECLARE_WRITE8_MEMBER( write );
+ DECLARE_READ8_MEMBER( set_address );
// Debugger support
int get_physical_address_debug(offs_t offset);
@@ -451,8 +453,8 @@ class oso_device : public bus::hexbus::hexbus_chained_device
{
public:
oso_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- uint8_t read(offs_t offset);
- void write(offs_t offset, uint8_t data);
+ DECLARE_READ8_MEMBER( read );
+ DECLARE_WRITE8_MEMBER( write );
void device_start() override;
void hexbus_value_changed(uint8_t data) override;
@@ -539,17 +541,17 @@ public:
mainboard8_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// Memory space
- uint8_t read(offs_t offset);
- void write(offs_t offset, uint8_t data);
- uint8_t setoffset(offs_t offset);
+ DECLARE_READ8_MEMBER( read );
+ DECLARE_WRITE8_MEMBER( write );
+ DECLARE_READ8_MEMBER( setoffset );
// Memory space for debugger access
- uint8_t debugger_read(offs_t offset);
- void debugger_write(offs_t offset, uint8_t data);
+ DECLARE_READ8_MEMBER( debugger_read );
+ DECLARE_WRITE8_MEMBER( debugger_write );
// I/O space
DECLARE_READ8Z_MEMBER( crureadz );
- void cruwrite(offs_t offset, uint8_t data);
+ DECLARE_WRITE8_MEMBER( cruwrite );
// Control lines
DECLARE_WRITE_LINE_MEMBER( clock_in );
@@ -596,6 +598,9 @@ private:
// Mapped physical address.
int m_physical_address;
+ // Hold the address space value so that we can use it in other methods.
+ address_space* m_space;
+
// Indicates that a byte is waiting on the data bus (see m_latched_data)
bool m_pending_write;
diff --git a/src/devices/bus/ti99/internal/datamux.cpp b/src/devices/bus/ti99/internal/datamux.cpp
index f6ba06d99b2..fa1b4de2dad 100644
--- a/src/devices/bus/ti99/internal/datamux.cpp
+++ b/src/devices/bus/ti99/internal/datamux.cpp
@@ -97,6 +97,7 @@ datamux_device::datamux_device(const machine_config &mconfig, const char *tag, d
m_ram16b(*owner, TI99_EXPRAM_TAG),
m_padram(*owner, TI99_PADRAM_TAG),
m_cpu(*owner, "maincpu"),
+ m_spacep(nullptr),
m_ready(*this),
m_addr_buf(0),
m_dbin(CLEAR_LINE),
@@ -117,7 +118,7 @@ datamux_device::datamux_device(const machine_config &mconfig, const char *tag, d
DEVICE ACCESSOR FUNCTIONS
***************************************************************************/
-void datamux_device::read_all(uint16_t addr, uint8_t *value)
+void datamux_device::read_all(address_space& space, uint16_t addr, uint8_t *value)
{
// Valid access
bool validaccess = ((addr & 0x0400)==0);
@@ -135,7 +136,7 @@ void datamux_device::read_all(uint16_t addr, uint8_t *value)
}
}
// GROMport (GROMs)
- m_gromport->readz(addr, value);
+ m_gromport->readz(space, addr, value);
m_grom_idle = false;
}
@@ -143,20 +144,20 @@ void datamux_device::read_all(uint16_t addr, uint8_t *value)
if ((addr & 0xf801)==0x8800)
{
// Forward to VDP unless we have an EVPC
- if (m_video != nullptr) *value = m_video->read(addr>>1); // A14 determines data or register read
+ if (m_video != nullptr) *value = m_video->read(space, addr>>1); // A14 determines data or register read
}
}
// GROMport (ROMs)
- if ((addr & 0xe000)==0x6000) m_gromport->readz(addr, value);
+ if ((addr & 0xe000)==0x6000) m_gromport->readz(space, addr, value);
// I/O port gets all accesses
- m_ioport->readz(addr, value);
+ m_ioport->readz(space, addr, value);
m_ioport->memen_in(CLEAR_LINE);
m_memen_state = CLEAR_LINE;
}
-void datamux_device::write_all(uint16_t addr, uint8_t value)
+void datamux_device::write_all(address_space& space, uint16_t addr, uint8_t value)
{
// GROM access
if ((addr & 0xf801)==0x9800)
@@ -167,12 +168,12 @@ void datamux_device::write_all(uint16_t addr, uint8_t value)
m_grom[i]->write(value);
}
// GROMport
- m_gromport->write(addr, value);
+ m_gromport->write(space, addr, value);
m_grom_idle = false;
}
// Cartridge port and sound
- if ((addr & 0xe000)==0x6000) m_gromport->write(addr, value);
+ if ((addr & 0xe000)==0x6000) m_gromport->write(space, addr, value);
// Only if the sound chip has not been removed
if ((addr & 0xfc01)==0x8400)
@@ -184,16 +185,16 @@ void datamux_device::write_all(uint16_t addr, uint8_t value)
if ((addr & 0xf801)==0x8800)
{
// Forward to VDP unless we have an EVPC
- if (m_video != nullptr) m_video->write(addr>>1, value); // A14 determines data or register write
+ if (m_video != nullptr) m_video->write(space, addr>>1, value); // A14 determines data or register write
}
// I/O port gets all accesses
- m_ioport->write(addr, value);
+ m_ioport->write(space, addr, value);
m_ioport->memen_in(CLEAR_LINE);
m_memen_state = CLEAR_LINE;
}
-void datamux_device::setaddress_all(uint16_t addr)
+void datamux_device::setaddress_all(address_space& space, uint16_t addr)
{
line_state a14 = ((addr & 2)!=0)? ASSERT_LINE : CLEAR_LINE;
@@ -226,7 +227,7 @@ void datamux_device::setaddress_all(uint16_t addr)
// I/O port gets all accesses
m_memen_state = ASSERT_LINE;
m_ioport->memen_in(m_memen_state);
- m_ioport->setaddress_dbin(addr, m_dbin);
+ m_ioport->setaddress_dbin(space, addr, m_dbin);
}
/*
@@ -235,7 +236,7 @@ void datamux_device::setaddress_all(uint16_t addr)
mapped devices are excluded because their state would be changed
unpredictably by the debugger access.
*/
-uint16_t datamux_device::debugger_read(uint16_t addr)
+uint16_t datamux_device::debugger_read(address_space& space, uint16_t addr)
{
uint16_t addrb = addr << 1;
uint16_t value = 0;
@@ -266,13 +267,13 @@ uint16_t datamux_device::debugger_read(uint16_t addr)
if ((addrb & 0xe000)==0x6000)
{
m_gromport->romgq_line(ASSERT_LINE);
- m_gromport->readz(addrb+1, &lval);
- m_gromport->readz(addrb, &hval);
+ m_gromport->readz(space, addrb+1, &lval);
+ m_gromport->readz(space, addrb, &hval);
m_gromport->romgq_line(m_romgq_state); // reset to previous state
}
m_ioport->memen_in(ASSERT_LINE);
- m_ioport->readz(addrb+1, &lval);
- m_ioport->readz(addrb, &hval);
+ m_ioport->readz(space, addrb+1, &lval);
+ m_ioport->readz(space, addrb, &hval);
m_ioport->memen_in(m_memen_state); // reset to previous state
value = ((hval << 8)&0xff00) | (lval & 0xff);
}
@@ -281,7 +282,7 @@ uint16_t datamux_device::debugger_read(uint16_t addr)
return value;
}
-void datamux_device::debugger_write(uint16_t addr, uint16_t data)
+void datamux_device::debugger_write(address_space& space, uint16_t addr, uint16_t data)
{
uint16_t addrb = addr << 1;
@@ -311,14 +312,14 @@ void datamux_device::debugger_write(uint16_t addr, uint16_t data)
if ((addrb & 0xe000)==0x6000)
{
m_gromport->romgq_line(ASSERT_LINE);
- m_gromport->write(addr+1, data & 0xff);
- m_gromport->write(addr, (data>>8) & 0xff);
+ m_gromport->write(space, addr+1, data & 0xff);
+ m_gromport->write(space, addr, (data>>8) & 0xff);
m_gromport->romgq_line(m_romgq_state); // reset to previous state
}
m_ioport->memen_in(ASSERT_LINE);
- m_ioport->write(addr+1, data & 0xff);
- m_ioport->write(addr, (data>>8) & 0xff);
+ m_ioport->write(space, addr+1, data & 0xff);
+ m_ioport->write(space, addr, (data>>8) & 0xff);
m_ioport->memen_in(m_memen_state); // reset to previous state
}
}
@@ -329,16 +330,16 @@ void datamux_device::debugger_write(uint16_t addr, uint16_t data)
accesses must not occur within the loop. So we have one access on the bus,
a delay, and then the second access.
- mem_mask is irrelevant for TMS processors (cannot control bus width)
+ mem_mask is always ffff on TMS processors (cannot control bus width)
*/
-uint16_t datamux_device::read(offs_t offset)
+READ16_MEMBER( datamux_device::read )
{
uint16_t value = 0;
// Care for debugger
if (machine().side_effects_disabled())
{
- return debugger_read(offset);
+ return debugger_read(space, offset);
}
// Addresses below 0x2000 are ROM (no wait states)
@@ -370,7 +371,7 @@ uint16_t datamux_device::read(offs_t offset)
// The byte from the odd address has already been read into the latch
// Reading the even address now (addr)
uint8_t hbyte = 0;
- read_all(m_addr_buf, &hbyte);
+ read_all(space, m_addr_buf, &hbyte);
LOGMASKED(LOG_ACCESS, "Read even byte from address %04x -> %02x\n", m_addr_buf, hbyte);
value = (hbyte<<8) | m_latch;
@@ -383,11 +384,11 @@ uint16_t datamux_device::read(offs_t offset)
/*
Write access.
*/
-void datamux_device::write(offs_t offset, uint16_t data)
+WRITE16_MEMBER( datamux_device::write )
{
if (machine().side_effects_disabled())
{
- debugger_write(offset, data);
+ debugger_write(space, offset, data);
return;
}
@@ -419,7 +420,7 @@ void datamux_device::write(offs_t offset, uint16_t data)
// write odd byte
LOGMASKED(LOG_ACCESS, "Write odd byte to address %04x <- %02x\n", m_addr_buf+1, data & 0xff);
- write_all(m_addr_buf+1, data & 0xff);
+ write_all(space, m_addr_buf+1, data & 0xff);
}
}
@@ -427,7 +428,7 @@ void datamux_device::write(offs_t offset, uint16_t data)
Called when the memory access starts by setting the address bus. From that
point on, we suspend the CPU until all operations are done.
*/
-uint8_t datamux_device::setoffset(offs_t offset)
+READ8_MEMBER( datamux_device::setoffset )
{
m_addr_buf = offset;
m_waitcount = 0;
@@ -463,7 +464,7 @@ uint8_t datamux_device::setoffset(offs_t offset)
{
// propagate the setaddress operation
// First the odd address
- setaddress_all(m_addr_buf+1);
+ setaddress_all(space, m_addr_buf+1);
m_muxready = CLEAR_LINE;
ready_join();
}
@@ -501,10 +502,10 @@ WRITE_LINE_MEMBER( datamux_device::clock_in )
if (m_waitcount==2)
{
// read odd byte
- read_all(m_addr_buf+1, &m_latch);
+ read_all(*m_spacep, m_addr_buf+1, &m_latch);
LOGMASKED(LOG_ACCESS, "Read odd byte from address %04x -> %02x\n", m_addr_buf+1, m_latch);
// do the setaddress for the even address
- setaddress_all(m_addr_buf);
+ setaddress_all(*m_spacep, m_addr_buf);
}
}
}
@@ -523,10 +524,10 @@ WRITE_LINE_MEMBER( datamux_device::clock_in )
if (m_waitcount==2)
{
// do the setaddress for the even address
- setaddress_all(m_addr_buf);
+ setaddress_all(*m_spacep, m_addr_buf);
// write even byte
LOGMASKED(LOG_ACCESS, "Write even byte to address %04x <- %02x\n", m_addr_buf, m_latch);
- write_all(m_addr_buf, m_latch);
+ write_all(*m_spacep, m_addr_buf, m_latch);
}
}
}
@@ -614,6 +615,10 @@ void datamux_device::device_reset(void)
m_latch = 0;
m_dbin = CLEAR_LINE;
+
+ // Get the pointer to the address space already here, because we cannot
+ // save that pointer to a savestate, and we need it on restore
+ m_spacep = &m_cpu->space(AS_PROGRAM);
}
void datamux_device::device_config_complete()
diff --git a/src/devices/bus/ti99/internal/datamux.h b/src/devices/bus/ti99/internal/datamux.h
index 6c36c7f8963..4ddc39e09e6 100644
--- a/src/devices/bus/ti99/internal/datamux.h
+++ b/src/devices/bus/ti99/internal/datamux.h
@@ -33,9 +33,9 @@ class datamux_device : public device_t
{
public:
datamux_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- uint16_t read(offs_t offset);
- void write(offs_t offset, uint16_t data);
- uint8_t setoffset(offs_t offset);
+ DECLARE_READ16_MEMBER( read );
+ DECLARE_WRITE16_MEMBER( write );
+ DECLARE_READ8_MEMBER( setoffset );
DECLARE_WRITE_LINE_MEMBER( clock_in );
DECLARE_WRITE_LINE_MEMBER( dbin_in );
@@ -75,6 +75,9 @@ private:
// Link to the CPU
required_device<cpu_device> m_cpu;
+ // Keeps the address space pointer
+ address_space* m_spacep;
+
// Console ROM
uint16_t* m_consolerom;
@@ -82,17 +85,17 @@ private:
tmc0430_device* m_grom[3];
// Common read routine
- void read_all(uint16_t addr, uint8_t *target);
+ void read_all(address_space& space, uint16_t addr, uint8_t *target);
// Common write routine
- void write_all(uint16_t addr, uint8_t value);
+ void write_all(address_space& space, uint16_t addr, uint8_t value);
// Common set address method
- void setaddress_all(uint16_t addr);
+ void setaddress_all(address_space& space, uint16_t addr);
// Debugger access
- uint16_t debugger_read(uint16_t addr);
- void debugger_write(uint16_t addr, uint16_t data);
+ uint16_t debugger_read(address_space& space, uint16_t addr);
+ void debugger_write(address_space& space, uint16_t addr, uint16_t data);
// Join own READY and external READY
void ready_join();
diff --git a/src/devices/bus/ti99/internal/genboard.cpp b/src/devices/bus/ti99/internal/genboard.cpp
index dd9ab0ee3db..861e0655200 100644
--- a/src/devices/bus/ti99/internal/genboard.cpp
+++ b/src/devices/bus/ti99/internal/genboard.cpp
@@ -329,7 +329,7 @@ INPUT_CHANGED_MEMBER( genmod_mapper_device::setgm_changed )
within the gate array. Unlike with real GROMs, no address wrapping occurs,
and the complete 64K space is available.
*/
-uint8_t geneve_mapper_device::read_grom(offs_t offset)
+READ8_MEMBER( geneve_mapper_device::read_grom )
{
uint8_t reply;
if (offset & 0x0002)
@@ -364,7 +364,7 @@ uint8_t geneve_mapper_device::read_grom(offs_t offset)
Simulates GROM. The real Geneve does not use GROMs but simulates them
within the gate array.
*/
-void geneve_mapper_device::write_grom(offs_t offset, uint8_t data)
+WRITE8_MEMBER( geneve_mapper_device::write_grom )
{
if (offset & 0x0002)
{
@@ -468,7 +468,7 @@ void geneve_mapper_device::set_extra_waitstates(bool wait)
SETOFFSET method, and we re-use the values stored there to quickly
access the appropriate component.
*/
-uint8_t geneve_mapper_device::readm(offs_t offset)
+READ8_MEMBER( geneve_mapper_device::readm )
{
uint8_t value = 0;
@@ -492,7 +492,7 @@ uint8_t geneve_mapper_device::readm(offs_t offset)
if (dec->function == MBOX)
{
m_peribox->memen_in(ASSERT_LINE);
- m_peribox->setaddress_dbin(dec->physaddr, true);
+ m_peribox->setaddress_dbin(space, dec->physaddr, true);
}
}
else
@@ -509,7 +509,7 @@ uint8_t geneve_mapper_device::readm(offs_t offset)
case MLVIDEO:
if (!machine().side_effects_disabled())
{
- value = m_video->read(dec->offset>>1);
+ value = m_video->read(space, dec->offset>>1);
LOGMASKED(LOG_READ, "Read video %04x -> %02x\n", dec->offset, value);
// Video wait states are created *after* the access
// Accordingly, they have no effect when execution is in onchip RAM
@@ -538,7 +538,7 @@ uint8_t geneve_mapper_device::readm(offs_t offset)
// Needs more investigation. We might as well ignore this,
// as the high nibble is obviously undefined and takes some past
// value floating around.
- value = m_clock->read(dec->offset & 0x000f);
+ value = m_clock->read(space, dec->offset & 0x000f);
if (m_geneve_mode) value |= 0xf0;
else value |= ((dec->offset & 0x000f)==0x000f)? 0x20 : 0x10;
LOGMASKED(LOG_READ, "Read clock %04x -> %02x\n", dec->offset, value);
@@ -548,7 +548,7 @@ uint8_t geneve_mapper_device::readm(offs_t offset)
// grom simulation
// ++++ ++-- ---- ---+
// 1001 1000 0000 00x0
- if (!machine().side_effects_disabled()) value = read_grom(dec->offset);
+ if (!machine().side_effects_disabled()) value = read_grom(space, dec->offset, 0xff);
LOGMASKED(LOG_READ, "Read GROM %04x -> %02x\n", dec->offset, value);
break;
@@ -571,7 +571,7 @@ uint8_t geneve_mapper_device::readm(offs_t offset)
case MPEPROM:
// 1 111. ..xx xxxx xxxx xxxx on-board eprom (16K)
// mirrored for f0, f2, f4, ...; f1, f3, f5, ...
- value = boot_rom(dec->physaddr);
+ value = boot_rom(space, dec->physaddr, 0xff);
break;
case MPSRAM:
@@ -593,7 +593,7 @@ uint8_t geneve_mapper_device::readm(offs_t offset)
// 0x000000-0x07ffff for the stock Geneve (AMC,AMB,AMA,A0 ...,A15)
// 0x000000-0x1fffff for the GenMod.(AME,AMD,AMC,AMB,AMA,A0 ...,A15)
- m_peribox->readz(dec->physaddr, &value);
+ m_peribox->readz(space, dec->physaddr, &value, 0xff);
m_peribox->memen_in(CLEAR_LINE);
LOGMASKED(LOG_READ, "Read P-Box %04x (%06x) -> %02x\n", dec->offset, dec->physaddr, value);
break;
@@ -605,7 +605,7 @@ uint8_t geneve_mapper_device::readm(offs_t offset)
return value;
}
-void geneve_mapper_device::writem(offs_t offset, uint8_t data)
+WRITE8_MEMBER( geneve_mapper_device::writem )
{
decdata *dec;
decdata debug;
@@ -627,7 +627,7 @@ void geneve_mapper_device::writem(offs_t offset, uint8_t data)
if (dec->function == MBOX)
{
m_peribox->memen_in(ASSERT_LINE);
- m_peribox->setaddress_dbin(dec->physaddr, false);
+ m_peribox->setaddress_dbin(space, dec->physaddr, false);
}
}
else
@@ -650,7 +650,7 @@ void geneve_mapper_device::writem(offs_t offset, uint8_t data)
if (!machine().side_effects_disabled())
{
- m_video->write(dec->offset>>1, data);
+ m_video->write(space, dec->offset>>1, data);
LOGMASKED(LOG_WRITE, "Write video %04x <- %02x\n", offset, data);
// See above
if (m_video_waitstates) set_video_waitcount(15);
@@ -666,7 +666,7 @@ void geneve_mapper_device::writem(offs_t offset, uint8_t data)
case MLCLOCK:
// clock
// ++++ ++++ ++++ ----
- m_clock->write(dec->offset & 0x000f, data);
+ m_clock->write(space, dec->offset & 0x000f, data);
LOGMASKED(LOG_WRITE, "Write clock %04x <- %02x\n", offset, data);
break;
@@ -679,7 +679,7 @@ void geneve_mapper_device::writem(offs_t offset, uint8_t data)
case MLGROM:
// The GROM simulator is only available in TI Mode
- write_grom(dec->offset, data);
+ write_grom(space, dec->offset, data, 0xff);
LOGMASKED(LOG_WRITE, "Write GROM %04x <- %02x\n", offset, data);
break;
@@ -700,7 +700,7 @@ void geneve_mapper_device::writem(offs_t offset, uint8_t data)
// 1 111. ..xx xxxx xxxx xxxx on-board eprom (16K)
// mirrored for f0, f2, f4, ...; f1, f3, f5, ...
// Ignore EPROM write (unless PFM)
- if (m_boot_rom != GENEVE_EPROM) write_to_pfm(dec->physaddr, data);
+ if (m_boot_rom != GENEVE_EPROM) write_to_pfm(space, dec->physaddr, data, 0xff);
else
LOGMASKED(LOG_WARN, "Write EPROM %04x (%06x) <- %02x, ignored\n", offset, dec->physaddr, data);
break;
@@ -720,7 +720,7 @@ void geneve_mapper_device::writem(offs_t offset, uint8_t data)
case MBOX:
// Route everything else to the P-Box
LOGMASKED(LOG_WRITE, "Write P-Box %04x (%06x) <- %02x\n", offset, dec->physaddr, data);
- m_peribox->write(dec->physaddr, data);
+ m_peribox->write(space, dec->physaddr, data, 0xff);
m_peribox->memen_in(CLEAR_LINE);
break;
@@ -854,7 +854,7 @@ void genmod_mapper_device::decode_mod(geneve_mapper_device::decdata* dec)
/*
Boot ROM handling, from EPROM or PFM.
*/
-uint8_t geneve_mapper_device::boot_rom(offs_t offset)
+READ8_MEMBER( geneve_mapper_device::boot_rom )
{
uint8_t value;
int pfmaddress = (offset & 0x01ffff) | (m_pfm_bank<<17);
@@ -866,10 +866,10 @@ uint8_t geneve_mapper_device::boot_rom(offs_t offset)
LOGMASKED(LOG_READ, "Read EPROM %04x -> %02x\n", offset & 0x003fff, value);
return value;
case GENEVE_PFM512:
- value = m_pfm512->read(pfmaddress);
+ value = m_pfm512->read(space, pfmaddress, mem_mask);
break;
case GENEVE_PFM512A:
- value = m_pfm512a->read(pfmaddress);
+ value = m_pfm512a->read(space, pfmaddress, mem_mask);
break;
default:
LOGMASKED(LOG_WARN, "Illegal mode for reading boot ROM: %d\n", m_boot_rom);
@@ -881,7 +881,7 @@ uint8_t geneve_mapper_device::boot_rom(offs_t offset)
return value;
}
-void geneve_mapper_device::write_to_pfm(offs_t offset, uint8_t data)
+WRITE8_MEMBER( geneve_mapper_device::write_to_pfm )
{
// Nota bene: The PFM must be write protected on startup, or the RESET
// of the 9995 will attempt to write the return vector into the flash EEPROM
@@ -891,10 +891,10 @@ void geneve_mapper_device::write_to_pfm(offs_t offset, uint8_t data)
switch (m_boot_rom)
{
case GENEVE_PFM512:
- m_pfm512->write(address, data);
+ m_pfm512->write(space, address, data, mem_mask);
break;
case GENEVE_PFM512A:
- m_pfm512a->write(address, data);
+ m_pfm512a->write(space, address, data, mem_mask);
break;
default:
LOGMASKED(LOG_WARN, "Illegal mode for writing to PFM: %d\n", m_boot_rom);
@@ -907,7 +907,7 @@ void geneve_mapper_device::write_to_pfm(offs_t offset, uint8_t data)
This decoding will later be used in the READ/WRITE member functions. Also,
we initiate wait state creation here.
*/
-uint8_t geneve_mapper_device::setoffset(offs_t offset)
+READ8_MEMBER( geneve_mapper_device::setoffset )
{
LOGMASKED(LOG_DETAIL, "setoffset = %04x\n", offset);
m_debug_no_ws = false;
@@ -926,7 +926,7 @@ uint8_t geneve_mapper_device::setoffset(offs_t offset)
if (m_decoded.function == MBOX)
{
m_peribox->memen_in(ASSERT_LINE);
- m_peribox->setaddress_dbin(m_decoded.physaddr, m_read_mode);
+ m_peribox->setaddress_dbin(space, m_decoded.physaddr, m_read_mode);
}
return 0;
}
diff --git a/src/devices/bus/ti99/internal/genboard.h b/src/devices/bus/ti99/internal/genboard.h
index baccf7463a9..875f9f8bd51 100644
--- a/src/devices/bus/ti99/internal/genboard.h
+++ b/src/devices/bus/ti99/internal/genboard.h
@@ -121,9 +121,9 @@ public:
void set_video_waitstates(bool wait);
void set_extra_waitstates(bool wait);
- uint8_t readm(offs_t offset);
- void writem(offs_t offset, uint8_t data);
- uint8_t setoffset(offs_t offset);
+ DECLARE_READ8_MEMBER( readm );
+ DECLARE_WRITE8_MEMBER( writem );
+ DECLARE_READ8_MEMBER( setoffset );
DECLARE_INPUT_CHANGED_MEMBER( settings_changed );
@@ -147,8 +147,8 @@ protected:
bool m_gromwaddr_LSB;
bool m_gromraddr_LSB;
int m_grom_address;
- uint8_t read_grom(offs_t offset);
- void write_grom(offs_t offset, uint8_t data);
+ DECLARE_READ8_MEMBER( read_grom );
+ DECLARE_WRITE8_MEMBER( write_grom );
// wait states
void set_wait(int min);
@@ -256,8 +256,8 @@ protected:
virtual void decode_mod(decdata* dec) { };
// PFM mod (0 = none, 1 = AT29C040, 2 = AT29C040A)
- uint8_t boot_rom(offs_t offset);
- void write_to_pfm(offs_t offset, uint8_t data);
+ DECLARE_READ8_MEMBER( boot_rom );
+ DECLARE_WRITE8_MEMBER( write_to_pfm );
int m_boot_rom;
int m_pfm_bank;
bool m_pfm_output_enable;
diff --git a/src/devices/bus/ti99/internal/ioport.cpp b/src/devices/bus/ti99/internal/ioport.cpp
index a855fd3bf41..3e769086141 100644
--- a/src/devices/bus/ti99/internal/ioport.cpp
+++ b/src/devices/bus/ti99/internal/ioport.cpp
@@ -96,31 +96,31 @@ ioport_device::ioport_device(const machine_config &mconfig, const char *tag, dev
READ8Z_MEMBER(ioport_device::readz)
{
if (m_connected != nullptr)
- m_connected->readz(offset, value);
+ m_connected->readz(space, offset, value);
}
-void ioport_device::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(ioport_device::write)
{
if (m_connected != nullptr)
- m_connected->write(offset, data);
+ m_connected->write(space, offset, data);
}
SETADDRESS_DBIN_MEMBER(ioport_device::setaddress_dbin)
{
if (m_connected != nullptr)
- m_connected->setaddress_dbin(offset, state);
+ m_connected->setaddress_dbin(space, offset, state);
}
READ8Z_MEMBER(ioport_device::crureadz)
{
if (m_connected != nullptr)
- m_connected->crureadz(offset, value);
+ m_connected->crureadz(space, offset, value);
}
-void ioport_device::cruwrite(offs_t offset, uint8_t data)
+WRITE8_MEMBER(ioport_device::cruwrite)
{
if (m_connected != nullptr)
- m_connected->cruwrite(offset, data);
+ m_connected->cruwrite(space, offset, data);
}
WRITE_LINE_MEMBER(ioport_device::memen_in)
diff --git a/src/devices/bus/ti99/internal/ioport.h b/src/devices/bus/ti99/internal/ioport.h
index 6b468007eda..aa30c51da77 100644
--- a/src/devices/bus/ti99/internal/ioport.h
+++ b/src/devices/bus/ti99/internal/ioport.h
@@ -29,14 +29,14 @@ public:
{ }
// Methods called from the console / ioport
- virtual DECLARE_READ8Z_MEMBER( readz ) { }
- virtual void write(offs_t offset, uint8_t data) { }
- virtual DECLARE_SETADDRESS_DBIN_MEMBER( setaddress_dbin ) { }
- virtual DECLARE_READ8Z_MEMBER( crureadz ) { }
- virtual void cruwrite(offs_t offset, uint8_t data) { }
- virtual DECLARE_WRITE_LINE_MEMBER( memen_in ) { }
- virtual DECLARE_WRITE_LINE_MEMBER( msast_in ) { }
- virtual DECLARE_WRITE_LINE_MEMBER( clock_in ) { }
+ virtual DECLARE_READ8Z_MEMBER( readz ) { };
+ virtual DECLARE_WRITE8_MEMBER( write ) { };
+ virtual DECLARE_SETADDRESS_DBIN_MEMBER( setaddress_dbin ) { };
+ virtual DECLARE_READ8Z_MEMBER( crureadz ) { };
+ virtual DECLARE_WRITE8_MEMBER( cruwrite ) { };
+ virtual DECLARE_WRITE_LINE_MEMBER( memen_in ) { };
+ virtual DECLARE_WRITE_LINE_MEMBER( msast_in ) { };
+ virtual DECLARE_WRITE_LINE_MEMBER( clock_in ) { };
void set_ioport(ioport_device* ioport) { m_ioport = ioport; }
@@ -71,10 +71,10 @@ public:
// Methods called from the console
DECLARE_READ8Z_MEMBER( readz );
- void write(offs_t offset, uint8_t data);
+ DECLARE_WRITE8_MEMBER( write );
DECLARE_SETADDRESS_DBIN_MEMBER( setaddress_dbin );
DECLARE_READ8Z_MEMBER( crureadz );
- void cruwrite(offs_t offset, uint8_t data);
+ DECLARE_WRITE8_MEMBER( cruwrite );
DECLARE_WRITE_LINE_MEMBER( memen_in );
DECLARE_WRITE_LINE_MEMBER( msast_in );
DECLARE_WRITE_LINE_MEMBER( clock_in );
diff --git a/src/devices/bus/ti99/joyport/handset.cpp b/src/devices/bus/ti99/joyport/handset.cpp
index 829b5bca087..304cdffe239 100644
--- a/src/devices/bus/ti99/joyport/handset.cpp
+++ b/src/devices/bus/ti99/joyport/handset.cpp
@@ -38,6 +38,7 @@
#include "emu.h"
#include "handset.h"
+#include "machine/tms9901.h"
#define LOG_WARN (1U<<1) // Warnings
#define LOG_CONFIG (1U<<2) // Configuration
diff --git a/src/devices/bus/ti99/peb/bwg.cpp b/src/devices/bus/ti99/peb/bwg.cpp
index f2a23fea518..c7aa2c903b7 100644
--- a/src/devices/bus/ti99/peb/bwg.cpp
+++ b/src/devices/bus/ti99/peb/bwg.cpp
@@ -228,7 +228,7 @@ READ8Z_MEMBER(snug_bwg_device::readz)
if (m_RTCsel)
{
// .... ..11 111x xxx0
- *value = m_clock->read((m_address & 0x001e) >> 1);
+ *value = m_clock->read(space, (m_address & 0x001e) >> 1);
LOGMASKED(LOG_RW, "read RTC: %04x -> %02x\n", m_address & 0xffff, *value);
}
else
@@ -275,7 +275,7 @@ READ8Z_MEMBER(snug_bwg_device::readz)
5c00 - 5fdf: RAM
5fe0 - 5fff: Clock (even addr)
*/
-void snug_bwg_device::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(snug_bwg_device::write)
{
if (machine().side_effects_disabled())
{
@@ -293,7 +293,7 @@ void snug_bwg_device::write(offs_t offset, uint8_t data)
{
// .... ..11 111x xxx0
LOGMASKED(LOG_RW, "write RTC: %04x <- %02x\n", m_address & 0xffff, data);
- m_clock->write((m_address & 0x001e) >> 1, data);
+ m_clock->write(space, (m_address & 0x001e) >> 1, data);
}
else
{
@@ -338,7 +338,7 @@ READ8Z_MEMBER(snug_bwg_device::crureadz)
if ((offset & 0xff00)==m_cru_base)
{
- if ((offset & 0x00f0)==0)
+ if ((offset & 0x00ff)==0)
{
// Check what drives are not connected
reply = ((m_floppy[0] != nullptr)? 0 : 0x02) // DSK1
@@ -355,7 +355,7 @@ READ8Z_MEMBER(snug_bwg_device::crureadz)
reply |= (m_dip34 << 6);
// Invert all
- *value = ~BIT(reply, (offset >> 1) & 7);
+ *value = ~reply;
}
else
*value = 0;
@@ -363,7 +363,7 @@ READ8Z_MEMBER(snug_bwg_device::crureadz)
}
}
-void snug_bwg_device::cruwrite(offs_t offset, uint8_t data)
+WRITE8_MEMBER(snug_bwg_device::cruwrite)
{
// int drive, drivebit;
diff --git a/src/devices/bus/ti99/peb/bwg.h b/src/devices/bus/ti99/peb/bwg.h
index 2a53f45c75b..a25d844a563 100644
--- a/src/devices/bus/ti99/peb/bwg.h
+++ b/src/devices/bus/ti99/peb/bwg.h
@@ -30,11 +30,11 @@ public:
snug_bwg_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
DECLARE_READ8Z_MEMBER(readz) override;
- void write(offs_t offset, uint8_t data) override;
+ DECLARE_WRITE8_MEMBER(write) override;
DECLARE_SETADDRESS_DBIN_MEMBER(setaddress_dbin) override;
DECLARE_READ8Z_MEMBER(crureadz) override;
- void cruwrite(offs_t offset, uint8_t data) override;
+ DECLARE_WRITE8_MEMBER(cruwrite) override;
protected:
void device_start() override;
diff --git a/src/devices/bus/ti99/peb/evpc.cpp b/src/devices/bus/ti99/peb/evpc.cpp
index 6b17d75ef74..fc5591112d5 100644
--- a/src/devices/bus/ti99/peb/evpc.cpp
+++ b/src/devices/bus/ti99/peb/evpc.cpp
@@ -213,7 +213,7 @@ READ8Z_MEMBER(snug_enhanced_video_device::readz)
if (m_video_accessed)
{
- *value = m_video->read(m_address>>1);
+ *value = m_video->read(space, m_address>>1);
}
}
@@ -223,7 +223,7 @@ READ8Z_MEMBER(snug_enhanced_video_device::readz)
0x5f00 - 0x5fef NOVRAM
0x5ff0 - 0x5fff Palette (5ff8, 5ffa, 5ffc, 5ffe)
*/
-void snug_enhanced_video_device::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(snug_enhanced_video_device::write)
{
if (m_selected && m_inDsrArea)
{
@@ -296,7 +296,7 @@ void snug_enhanced_video_device::write(offs_t offset, uint8_t data)
if (m_video_accessed)
{
- m_video->write(m_address>>1, data);
+ m_video->write(space, m_address>>1, data);
}
if (m_sound_accessed)
@@ -323,9 +323,8 @@ READ8Z_MEMBER(snug_enhanced_video_device::crureadz)
{
if ((offset & 0x00f0)==0) // offset 0 delivers bits 0-7 (address 00-0f)
{
- uint8_t p = ~(ioport("EVPC-SW1")->read() | (ioport("EVPC-SW3")->read()<<2)
+ *value = ~(ioport("EVPC-SW1")->read() | (ioport("EVPC-SW3")->read()<<2)
| (ioport("EVPC-SW4")->read()<<3) | (ioport("EVPC-SW8")->read()<<7));
- *value = BIT(p, (offset >> 1) & 7);
}
}
}
@@ -341,7 +340,7 @@ READ8Z_MEMBER(snug_enhanced_video_device::crureadz)
Bit 6: -
Bit 7: -
*/
-void snug_enhanced_video_device::cruwrite(offs_t offset, uint8_t data)
+WRITE8_MEMBER(snug_enhanced_video_device::cruwrite)
{
if ((offset & 0xff00)==EVPC_CRU_BASE)
{
diff --git a/src/devices/bus/ti99/peb/evpc.h b/src/devices/bus/ti99/peb/evpc.h
index 2e89c2fa405..a52e73b963c 100644
--- a/src/devices/bus/ti99/peb/evpc.h
+++ b/src/devices/bus/ti99/peb/evpc.h
@@ -32,11 +32,11 @@ class snug_enhanced_video_device : public device_t, public device_ti99_peribox_c
public:
snug_enhanced_video_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
DECLARE_READ8Z_MEMBER(readz) override;
- void write(offs_t offset, uint8_t data) override;
+ DECLARE_WRITE8_MEMBER(write) override;
DECLARE_SETADDRESS_DBIN_MEMBER(setaddress_dbin) override;
DECLARE_READ8Z_MEMBER(crureadz) override;
- void cruwrite(offs_t offset, uint8_t data) override;
+ DECLARE_WRITE8_MEMBER(cruwrite) override;
TIMER_DEVICE_CALLBACK_MEMBER( hblank_interrupt );
diff --git a/src/devices/bus/ti99/peb/hfdc.cpp b/src/devices/bus/ti99/peb/hfdc.cpp
index 6a9a89726b2..97ac8d403ab 100644
--- a/src/devices/bus/ti99/peb/hfdc.cpp
+++ b/src/devices/bus/ti99/peb/hfdc.cpp
@@ -223,14 +223,14 @@ READ8Z_MEMBER(myarc_hfdc_device::readz)
if (m_HDCsel)
{
- *value = m_hdc9234->read((m_address>>2)&1);
+ *value = m_hdc9234->read(space, (m_address>>2)&1, 0xff);
LOGMASKED(LOG_COMP, "%04x[HDC] -> %02x\n", m_address & 0xffff, *value);
return;
}
if (m_RTCsel)
{
- *value = m_clock->read((m_address & 0x001e) >> 1);
+ *value = m_clock->read(space, (m_address & 0x001e) >> 1);
LOGMASKED(LOG_COMP, "%04x[CLK] -> %02x\n", m_address & 0xffff, *value);
return;
}
@@ -278,7 +278,7 @@ READ8Z_MEMBER(myarc_hfdc_device::readz)
0x5800 - 0x5bff static RAM page any of 32 pages
0x5c00 - 0x5fff static RAM page any of 32 pages
*/
-void myarc_hfdc_device::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER( myarc_hfdc_device::write )
{
if (machine().side_effects_disabled())
{
@@ -297,14 +297,14 @@ void myarc_hfdc_device::write(offs_t offset, uint8_t data)
if (m_HDCsel)
{
LOGMASKED(LOG_COMP, "%04x[HDC] <- %02x\n", m_address & 0xffff, data);
- m_hdc9234->write((m_address>>2)&1, data);
+ m_hdc9234->write(space, (m_address>>2)&1, data, 0xff);
return;
}
if (m_RTCsel)
{
LOGMASKED(LOG_COMP, "%04x[CLK] <- %02x\n", m_address & 0xffff, data);
- m_clock->write((m_address & 0x001e) >> 1, data);
+ m_clock->write(space, (m_address & 0x001e) >> 1, data);
return;
}
@@ -376,7 +376,7 @@ READ8Z_MEMBER(myarc_hfdc_device::crureadz)
uint8_t reply;
if ((offset & 0xff00)==m_cru_base)
{
- if ((offset & 0x00f0)==0) // CRU bits 0-7
+ if ((offset & 0x00ff)==0) // CRU bits 0-7
{
if (m_see_switches)
{
@@ -390,7 +390,7 @@ READ8Z_MEMBER(myarc_hfdc_device::crureadz)
if (!m_motor_running) reply |= 0x04;
if (m_wait_for_hd1) reply |= 0x08;
}
- *value = BIT(reply, (offset >> 1) & 7);
+ *value = reply;
}
else // CRU bits 8+
{
@@ -425,7 +425,7 @@ READ8Z_MEMBER(myarc_hfdc_device::crureadz)
HFDC manual p. 43
*/
-void myarc_hfdc_device::cruwrite(offs_t offset, uint8_t data)
+WRITE8_MEMBER(myarc_hfdc_device::cruwrite)
{
if ((offset & 0xff00)==m_cru_base)
{
@@ -627,7 +627,7 @@ void myarc_hfdc_device::signal_drive_status()
(1,0) = OUTPUT1
(1,1) = OUTPUT2
*/
-void myarc_hfdc_device::auxbus_out(offs_t offset, uint8_t data)
+WRITE8_MEMBER( myarc_hfdc_device::auxbus_out )
{
int index;
switch (offset)
@@ -848,7 +848,7 @@ WRITE_LINE_MEMBER( myarc_hfdc_device::dip_w )
/*
Read a byte from the onboard SRAM. This is called from the HDC9234.
*/
-uint8_t myarc_hfdc_device::read_buffer()
+READ8_MEMBER( myarc_hfdc_device::read_buffer )
{
LOGMASKED(LOG_DMA, "Read access to onboard SRAM at %04x\n", m_dma_address);
if (m_dma_address > 0x8000) LOGMASKED(LOG_WARN, "Read access beyond RAM size: %06x\n", m_dma_address);
@@ -860,7 +860,7 @@ uint8_t myarc_hfdc_device::read_buffer()
/*
Write a byte to the onboard SRAM. This is called from the HDC9234.
*/
-void myarc_hfdc_device::write_buffer(uint8_t data)
+WRITE8_MEMBER( myarc_hfdc_device::write_buffer )
{
LOGMASKED(LOG_DMA, "Write access to onboard SRAM at %04x: %02x\n", m_dma_address, data);
if (m_dma_address > 0x8000) LOGMASKED(LOG_WARN, "Write access beyond RAM size: %06x\n", m_dma_address);
diff --git a/src/devices/bus/ti99/peb/hfdc.h b/src/devices/bus/ti99/peb/hfdc.h
index 88648105eb5..1ac9ec925bd 100644
--- a/src/devices/bus/ti99/peb/hfdc.h
+++ b/src/devices/bus/ti99/peb/hfdc.h
@@ -38,10 +38,10 @@ public:
myarc_hfdc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
DECLARE_READ8Z_MEMBER(readz) override;
- void write(offs_t offset, uint8_t data) override;
+ DECLARE_WRITE8_MEMBER(write) override;
DECLARE_SETADDRESS_DBIN_MEMBER(setaddress_dbin) override;
DECLARE_READ8Z_MEMBER(crureadz) override;
- void cruwrite(offs_t offset, uint8_t data) override;
+ DECLARE_WRITE8_MEMBER(cruwrite) override;
protected:
void device_config_complete() override;
@@ -58,9 +58,9 @@ private:
DECLARE_WRITE_LINE_MEMBER( dmarq_w );
DECLARE_WRITE_LINE_MEMBER( intrq_w );
DECLARE_WRITE_LINE_MEMBER( dip_w );
- void auxbus_out(offs_t offset, uint8_t data);
- uint8_t read_buffer();
- void write_buffer(uint8_t data);
+ DECLARE_WRITE8_MEMBER( auxbus_out );
+ DECLARE_READ8_MEMBER( read_buffer );
+ DECLARE_WRITE8_MEMBER( write_buffer );
DECLARE_FLOPPY_FORMATS( floppy_formats );
diff --git a/src/devices/bus/ti99/peb/horizon.cpp b/src/devices/bus/ti99/peb/horizon.cpp
index fdf4b5f97c1..da5135f70bf 100644
--- a/src/devices/bus/ti99/peb/horizon.cpp
+++ b/src/devices/bus/ti99/peb/horizon.cpp
@@ -219,7 +219,7 @@ READ8Z_MEMBER(horizon_ramdisk_device::readz)
}
}
-void horizon_ramdisk_device::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(horizon_ramdisk_device::write)
{
// 32K expansion
// According to the manual, "this memory is not affected by the HIDE switch"
@@ -303,7 +303,7 @@ void horizon_ramdisk_device::setbit(int& page, int pattern, bool set)
}
}
-void horizon_ramdisk_device::cruwrite(offs_t offset, uint8_t data)
+WRITE8_MEMBER(horizon_ramdisk_device::cruwrite)
{
int size = ioport("HORIZONSIZE")->read();
int split_bit = size + 10;
diff --git a/src/devices/bus/ti99/peb/horizon.h b/src/devices/bus/ti99/peb/horizon.h
index f72e9f109fc..76895f0c586 100644
--- a/src/devices/bus/ti99/peb/horizon.h
+++ b/src/devices/bus/ti99/peb/horizon.h
@@ -26,10 +26,10 @@ class horizon_ramdisk_device : public device_t, public device_ti99_peribox_card_
public:
horizon_ramdisk_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
DECLARE_READ8Z_MEMBER(readz) override;
- void write(offs_t offset, uint8_t data) override;
+ DECLARE_WRITE8_MEMBER(write) override;
DECLARE_READ8Z_MEMBER(crureadz) override;
- void cruwrite(offs_t offset, uint8_t data) override;
+ DECLARE_WRITE8_MEMBER(cruwrite) override;
DECLARE_INPUT_CHANGED_MEMBER( hs_changed );
diff --git a/src/devices/bus/ti99/peb/hsgpl.cpp b/src/devices/bus/ti99/peb/hsgpl.cpp
index 11f40c4d1c8..f9f631726e2 100644
--- a/src/devices/bus/ti99/peb/hsgpl.cpp
+++ b/src/devices/bus/ti99/peb/hsgpl.cpp
@@ -191,7 +191,7 @@ READ8Z_MEMBER(snug_high_speed_gpl_device::crureadz)
/*
Write hsgpl CRU interface
*/
-void snug_high_speed_gpl_device::cruwrite(offs_t offset, uint8_t data)
+WRITE8_MEMBER(snug_high_speed_gpl_device::cruwrite)
{
// SuperCart handling - see gromport.c
if (m_supercart_enabled && ((offset & 0xfff0)==SUPERCART_BASE))
@@ -272,46 +272,46 @@ READ8Z_MEMBER(snug_high_speed_gpl_device::readz)
{
if ((offset & 0x7e000)==0x74000)
{
- dsrspace_readz(offset & 0xffff, value);
+ dsrspace_readz(space, offset & 0xffff, value, mem_mask);
}
if ((offset & 0x7e000)==0x76000)
{
- cartspace_readz(offset & 0xffff, value);
+ cartspace_readz(space, offset & 0xffff, value, mem_mask);
}
// 1001 1wbb bbbb bba0
if ((offset & 0x7fc01)==0x79800)
{
- grom_readz(offset & 0xffff, value);
+ grom_readz(space, offset & 0xffff, value, mem_mask);
}
}
/*
Memory write
*/
-void snug_high_speed_gpl_device::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(snug_high_speed_gpl_device::write)
{
if ((offset & 0x7e000)==0x76000)
{
- cartspace_write(offset & 0xffff, data);
+ cartspace_write(space, offset & 0xffff, data, mem_mask);
}
// 1001 1wbb bbbb bba0
if ((offset & 0x7fc01)==0x79c00)
{
- grom_write(offset & 0xffff, data);
+ grom_write(space, offset & 0xffff, data, mem_mask);
}
}
/*
Specific read access: dsrspace
*/
-void snug_high_speed_gpl_device::dsrspace_readz(offs_t offset, uint8_t* value)
+void snug_high_speed_gpl_device::dsrspace_readz(address_space& space, offs_t offset, uint8_t* value, uint8_t mem_mask)
{
if (m_dsr_enabled)
{
- *value = m_dsr_eeprom->read((offset & 0x1fff) | (m_dsr_page<<13));
+ *value = m_dsr_eeprom->read(space, (offset & 0x1fff) | (m_dsr_page<<13), mem_mask);
LOGMASKED(LOG_READ, "read dsr %04x[%02x] -> %02x\n", offset, m_dsr_page, *value);
}
}
@@ -319,7 +319,7 @@ void snug_high_speed_gpl_device::dsrspace_readz(offs_t offset, uint8_t* value)
/*
Specific read access: cartspace
*/
-void snug_high_speed_gpl_device::cartspace_readz(offs_t offset, uint8_t* value)
+void snug_high_speed_gpl_device::cartspace_readz(address_space& space, offs_t offset, uint8_t* value, uint8_t mem_mask)
{
if (!m_card_enabled || m_flash_mode)
{
@@ -329,7 +329,7 @@ void snug_high_speed_gpl_device::cartspace_readz(offs_t offset, uint8_t* value)
if (m_module_bank < 16)
{
- *value = m_rom6_eeprom->read((offset & 0x1fff) | (m_current_bank<<13) | (m_current_grom_port<<15));
+ *value = m_rom6_eeprom->read(space, (offset & 0x1fff) | (m_current_bank<<13) | (m_current_grom_port<<15), mem_mask);
LOGMASKED(LOG_READ, "cartridge space read %04x -> %02x\n", offset, *value);
}
else
@@ -351,7 +351,7 @@ void snug_high_speed_gpl_device::cartspace_readz(offs_t offset, uint8_t* value)
it here - which is indeed closer to reality, since the real HSGPL also
emulates GROM instead of using proper ones.
*/
-void snug_high_speed_gpl_device::grom_readz(offs_t offset, uint8_t* value)
+void snug_high_speed_gpl_device::grom_readz(address_space& space, offs_t offset, uint8_t* value, uint8_t mem_mask)
{
if (machine().side_effects_disabled()) return;
@@ -397,7 +397,7 @@ void snug_high_speed_gpl_device::grom_readz(offs_t offset, uint8_t* value)
{
if (!m_flash_mode)
{
- *value = m_grom_a_eeprom->read(m_grom_address | (port<<16));
+ *value = m_grom_a_eeprom->read(space, m_grom_address | (port<<16), mem_mask);
m_module_bank = port;
if (bNew) LOGMASKED(LOG_PORT, "GROM read access at %04x - switch to bank %d\n", offset & 0xffff, m_module_bank);
}
@@ -406,7 +406,7 @@ void snug_high_speed_gpl_device::grom_readz(offs_t offset, uint8_t* value)
{
if (port < 16)
{
- *value = m_grom_b_eeprom->read(m_grom_address | ((port-8)<<16));
+ *value = m_grom_b_eeprom->read(space, m_grom_address | ((port-8)<<16), mem_mask);
m_module_bank = port;
if (bNew) LOGMASKED(LOG_PORT, "GROM read access at %04x - switch to bank %d\n", offset & 0xffff, m_module_bank);
}
@@ -416,7 +416,7 @@ void snug_high_speed_gpl_device::grom_readz(offs_t offset, uint8_t* value)
{
// 9840-985c
// DSR banks 0-63 (8 KiB per bank, 8 banks per port)
- *value = m_dsr_eeprom->read(m_grom_address | ((port-16)<<16));
+ *value = m_dsr_eeprom->read(space, m_grom_address | ((port-16)<<16), mem_mask);
// Don't change the module port
if (bNew) LOGMASKED(LOG_DSR, "read access to DSR bank %d-%d (%04x)\n", (port-16)<<3, ((port-16)<<3)+7, offset);
}
@@ -427,7 +427,7 @@ void snug_high_speed_gpl_device::grom_readz(offs_t offset, uint8_t* value)
// 9860-987c (ports 24-31)
// Each ROM6 is available as 4 (sub)banks (switchable via 6000, 6002, 6004, 6006)
// Accordingly, each port has two complete sets
- *value = m_rom6_eeprom->read(m_grom_address | ((port-24)<<16));
+ *value = m_rom6_eeprom->read(space, m_grom_address | ((port-24)<<16), mem_mask);
if (bNew) LOGMASKED(LOG_PORT, "ROM6 read access for module bank %d-%d (%04x)\n", (port-24)<<1, ((port-24)<<1)+1, offset & 0xffff);
}
else
@@ -469,7 +469,7 @@ void snug_high_speed_gpl_device::grom_readz(offs_t offset, uint8_t* value)
/*
Specific write access: cartspace
*/
-void snug_high_speed_gpl_device::cartspace_write(offs_t offset, uint8_t data)
+void snug_high_speed_gpl_device::cartspace_write(address_space& space, offs_t offset, uint8_t data, uint8_t mem_mask)
{
if (!m_card_enabled || m_flash_mode)
{
@@ -537,7 +537,7 @@ void snug_high_speed_gpl_device::cartspace_write(offs_t offset, uint8_t data)
/*
Specific write access: grom_write
*/
-void snug_high_speed_gpl_device::grom_write(offs_t offset, uint8_t data)
+void snug_high_speed_gpl_device::grom_write(address_space& space, offs_t offset, uint8_t data, uint8_t mem_mask)
{
if (machine().side_effects_disabled()) return;
@@ -583,7 +583,7 @@ void snug_high_speed_gpl_device::grom_write(offs_t offset, uint8_t data)
{
if (port < 8)
{
- m_grom_a_eeprom->write(m_grom_address | (port<<16), data);
+ m_grom_a_eeprom->write(space, m_grom_address | (port<<16), data, mem_mask);
m_module_bank = port;
if (bNew) LOGMASKED(LOG_PORT, "GROM write access at %04x - switch to bank %d\n", offset & 0xffff, port);
}
@@ -591,7 +591,7 @@ void snug_high_speed_gpl_device::grom_write(offs_t offset, uint8_t data)
{
if (port < 16)
{
- m_grom_b_eeprom->write(m_grom_address | ((port-8)<<16), data);
+ m_grom_b_eeprom->write(space, m_grom_address | ((port-8)<<16), data, mem_mask);
m_module_bank = port;
if (bNew) LOGMASKED(LOG_PORT, "GROM write access at %04x - switch to bank %d\n", offset & 0xffff, port);
}
@@ -599,14 +599,14 @@ void snug_high_speed_gpl_device::grom_write(offs_t offset, uint8_t data)
{
if (port < 24)
{
- m_dsr_eeprom->write(m_grom_address | ((port-16)<<16), data);
+ m_dsr_eeprom->write(space, m_grom_address | ((port-16)<<16), data, mem_mask);
if (bNew) LOGMASKED(LOG_DSR, "write access to DSR bank %d-%d (%04x)\n", (port-16)<<3, ((port-16)<<3)+7, offset);
}
else
{
if (port < 32)
{
- m_rom6_eeprom->write(m_grom_address | ((port-24)<<16), data);
+ m_rom6_eeprom->write(space, m_grom_address | ((port-24)<<16), data, mem_mask);
if (bNew) LOGMASKED(LOG_PORT, "ROM6 write access for module bank %d-%d (%04x)\n", (port-24)<<1, ((port-24)<<1)+1,offset & 0xffff);
}
else
diff --git a/src/devices/bus/ti99/peb/hsgpl.h b/src/devices/bus/ti99/peb/hsgpl.h
index 7248436963f..65cca91a081 100644
--- a/src/devices/bus/ti99/peb/hsgpl.h
+++ b/src/devices/bus/ti99/peb/hsgpl.h
@@ -29,10 +29,10 @@ class snug_high_speed_gpl_device : public device_t, public device_ti99_peribox_c
public:
snug_high_speed_gpl_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
DECLARE_READ8Z_MEMBER(readz) override;
- void write(offs_t offset, uint8_t data) override;
+ DECLARE_WRITE8_MEMBER(write) override;
DECLARE_READ8Z_MEMBER(crureadz) override;
- void cruwrite(offs_t offset, uint8_t data) override;
+ DECLARE_WRITE8_MEMBER(cruwrite) override;
protected:
virtual void device_start() override;
@@ -51,12 +51,12 @@ private:
required_device<ram_device> m_ram6_memory;
required_device<ram_device> m_gram_memory;
- void dsrspace_readz(offs_t offset, uint8_t* value);
- void cartspace_readz(offs_t offset, uint8_t* value);
- void grom_readz(offs_t offset, uint8_t* value);
+ void dsrspace_readz(address_space& space, offs_t offset, uint8_t* value, uint8_t mem_mask);
+ void cartspace_readz(address_space& space, offs_t offset, uint8_t* value, uint8_t mem_mask);
+ void grom_readz(address_space& space, offs_t offset, uint8_t* value, uint8_t mem_mask);
- void cartspace_write(offs_t offset, uint8_t data);
- void grom_write(offs_t offset, uint8_t data);
+ void cartspace_write(address_space& space, offs_t offset, uint8_t data, uint8_t mem_mask);
+ void grom_write(address_space& space, offs_t offset, uint8_t data, uint8_t mem_mask);
bool m_dsr_enabled;
bool m_gram_enabled;
diff --git a/src/devices/bus/ti99/peb/memex.cpp b/src/devices/bus/ti99/peb/memex.cpp
index 3a3116d262d..1d770a9b224 100644
--- a/src/devices/bus/ti99/peb/memex.cpp
+++ b/src/devices/bus/ti99/peb/memex.cpp
@@ -101,7 +101,7 @@ READ8Z_MEMBER( geneve_memex_device::readz )
/*
Memory write
*/
-void geneve_memex_device::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER( geneve_memex_device::write )
{
/* If not Genmod, add the upper two address bits 10 */
if (!m_genmod) offset |= 0x100000;
@@ -152,12 +152,11 @@ INPUT_PORTS_START( memex )
PORT_DIPSETTING( MDIP8, "Lock out pages FC-FF")
INPUT_PORTS_END
-void geneve_memex_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(geneve_memex_device::device_add_mconfig)
RAM(config, m_ram, 0);
m_ram->set_default_size("2M");
m_ram->set_default_value(0);
-}
+MACHINE_CONFIG_END
ioport_constructor geneve_memex_device::device_input_ports() const
{
diff --git a/src/devices/bus/ti99/peb/memex.h b/src/devices/bus/ti99/peb/memex.h
index fb7ca27a1ad..3aa44429dc0 100644
--- a/src/devices/bus/ti99/peb/memex.h
+++ b/src/devices/bus/ti99/peb/memex.h
@@ -26,10 +26,10 @@ class geneve_memex_device : public device_t, public device_ti99_peribox_card_int
public:
geneve_memex_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
DECLARE_READ8Z_MEMBER(readz) override;
- void write(offs_t offset, uint8_t data) override;
+ DECLARE_WRITE8_MEMBER(write) override;
DECLARE_READ8Z_MEMBER(crureadz) override { }
- void cruwrite(offs_t offset, uint8_t data) override { }
+ DECLARE_WRITE8_MEMBER(cruwrite) override { }
protected:
void device_start() override;
diff --git a/src/devices/bus/ti99/peb/myarcmem.cpp b/src/devices/bus/ti99/peb/myarcmem.cpp
index 79add7a6c72..ccb8f0091cf 100644
--- a/src/devices/bus/ti99/peb/myarcmem.cpp
+++ b/src/devices/bus/ti99/peb/myarcmem.cpp
@@ -101,7 +101,7 @@ READ8Z_MEMBER(myarc_memory_expansion_device::readz)
/*
Memory write access. DSRROM does not allow writing.
*/
-void myarc_memory_expansion_device::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(myarc_memory_expansion_device::write)
{
int base = get_base(offset);
@@ -142,7 +142,7 @@ READ8Z_MEMBER(myarc_memory_expansion_device::crureadz)
1006 = bit 2 of RAM bank value (512K)
1008 = bit 3 of RAM bank value (512K)
*/
-void myarc_memory_expansion_device::cruwrite(offs_t offset, uint8_t data)
+WRITE8_MEMBER(myarc_memory_expansion_device::cruwrite)
{
if (((offset & 0xff00)==MYARCMEM_CRU_BASE1)||((offset & 0xff00)==MYARCMEM_CRU_BASE2))
{
diff --git a/src/devices/bus/ti99/peb/myarcmem.h b/src/devices/bus/ti99/peb/myarcmem.h
index 175b8d60344..3ea9d52419a 100644
--- a/src/devices/bus/ti99/peb/myarcmem.h
+++ b/src/devices/bus/ti99/peb/myarcmem.h
@@ -25,10 +25,10 @@ class myarc_memory_expansion_device : public device_t, public device_ti99_peribo
public:
myarc_memory_expansion_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
DECLARE_READ8Z_MEMBER(readz) override;
- void write(offs_t offset, uint8_t data) override;
+ DECLARE_WRITE8_MEMBER(write) override;
DECLARE_READ8Z_MEMBER(crureadz) override;
- void cruwrite(offs_t offset, uint8_t data) override;
+ DECLARE_WRITE8_MEMBER(cruwrite) override;
protected:
void device_start() override;
diff --git a/src/devices/bus/ti99/peb/pcode.cpp b/src/devices/bus/ti99/peb/pcode.cpp
index dbdd7c9f1a9..f0a24ad1646 100644
--- a/src/devices/bus/ti99/peb/pcode.cpp
+++ b/src/devices/bus/ti99/peb/pcode.cpp
@@ -142,7 +142,7 @@ SETADDRESS_DBIN_MEMBER( ti_pcode_card_device::setaddress_dbin )
}
}
-void ti_pcode_card_device::debugger_read(uint16_t offset, uint8_t& value)
+void ti_pcode_card_device::debugger_read(address_space& space, uint16_t offset, uint8_t& value)
{
// The debuger does not call setaddress
if (m_active && ((offset & m_select_mask)==m_select_value))
@@ -160,7 +160,7 @@ READ8Z_MEMBER( ti_pcode_card_device::readz )
// Care for debugger
if (machine().side_effects_disabled())
{
- debugger_read(offset, *value);
+ debugger_read(space, offset, *value);
}
if (m_active && m_inDsrArea && m_selected)
@@ -200,7 +200,7 @@ READ8Z_MEMBER( ti_pcode_card_device::readz )
Write a byte in P-Code ROM space. This is only used for setting the
GROM address.
*/
-void ti_pcode_card_device::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER( ti_pcode_card_device::write )
{
if (machine().side_effects_disabled()) return;
if (m_active && m_isgrom && m_selected)
@@ -253,7 +253,7 @@ READ8Z_MEMBER(ti_pcode_card_device::crureadz)
A8, A13, and A14 so bit 0 is at 0x1f00, but bit 4 is at 0x1f80. Accordingly,
bit 7 would be 0x1f86 but it is not used.
*/
-void ti_pcode_card_device::cruwrite(offs_t offset, uint8_t data)
+WRITE8_MEMBER(ti_pcode_card_device::cruwrite)
{
if ((offset & 0xff00)==CRU_BASE)
m_crulatch->write_bit((offset & 0x80) >> 5 | (offset & 0x06) >> 1, data);
diff --git a/src/devices/bus/ti99/peb/pcode.h b/src/devices/bus/ti99/peb/pcode.h
index 5e7a2cb6ce0..96462dba527 100644
--- a/src/devices/bus/ti99/peb/pcode.h
+++ b/src/devices/bus/ti99/peb/pcode.h
@@ -28,9 +28,9 @@ class ti_pcode_card_device : public device_t, public device_ti99_peribox_card_in
public:
ti_pcode_card_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
DECLARE_READ8Z_MEMBER(readz) override;
- void write(offs_t offset, uint8_t data) override;
+ DECLARE_WRITE8_MEMBER(write) override;
DECLARE_READ8Z_MEMBER(crureadz) override;
- void cruwrite(offs_t offset, uint8_t data) override;
+ DECLARE_WRITE8_MEMBER(cruwrite) override;
DECLARE_SETADDRESS_DBIN_MEMBER(setaddress_dbin) override;
DECLARE_WRITE_LINE_MEMBER(clock_in) override;
@@ -51,7 +51,7 @@ private:
DECLARE_WRITE_LINE_MEMBER(pcpage_w);
DECLARE_WRITE_LINE_MEMBER(ekrpg_w);
- void debugger_read(uint16_t addr, uint8_t& value);
+ void debugger_read(address_space& space, uint16_t addr, uint8_t& value);
required_device_array<tmc0430_device, 8> m_groms;
diff --git a/src/devices/bus/ti99/peb/peribox.cpp b/src/devices/bus/ti99/peb/peribox.cpp
index b75a15a49ed..80da29f6dd4 100644
--- a/src/devices/bus/ti99/peb/peribox.cpp
+++ b/src/devices/bus/ti99/peb/peribox.cpp
@@ -272,15 +272,15 @@ READ8Z_MEMBER(peribox_device::readz)
{
for (int i=2; i <= 8; i++)
{
- if (m_slot[i]!=nullptr) m_slot[i]->readz(offset | m_address_prefix, value);
+ if (m_slot[i]!=nullptr) m_slot[i]->readz(space, offset | m_address_prefix, value, mem_mask);
}
}
-void peribox_device::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(peribox_device::write)
{
for (int i=2; i <= 8; i++)
{
- if (m_slot[i]!=nullptr) m_slot[i]->write(offset | m_address_prefix, data);
+ if (m_slot[i]!=nullptr) m_slot[i]->write(space, offset | m_address_prefix, data, mem_mask);
}
}
@@ -291,7 +291,7 @@ SETADDRESS_DBIN_MEMBER(peribox_device::setaddress_dbin)
for (int i=2; i <= 8; i++)
{
- if (m_slot[i]!=nullptr) m_slot[i]->setaddress_dbin(offset | m_address_prefix, state);
+ if (m_slot[i]!=nullptr) m_slot[i]->setaddress_dbin(space, offset | m_address_prefix, state);
}
}
@@ -299,15 +299,15 @@ READ8Z_MEMBER(peribox_device::crureadz)
{
for (int i=2; i <= 8; i++)
{
- if (m_slot[i]!=nullptr) m_slot[i]->crureadz(offset, value);
+ if (m_slot[i]!=nullptr) m_slot[i]->crureadz(space, offset, value);
}
}
-void peribox_device::cruwrite(offs_t offset, uint8_t data)
+WRITE8_MEMBER(peribox_device::cruwrite)
{
for (int i=2; i <= 8; i++)
{
- if (m_slot[i]!=nullptr) m_slot[i]->cruwrite(offset, data);
+ if (m_slot[i]!=nullptr) m_slot[i]->cruwrite(space, offset, data);
}
}
@@ -647,27 +647,27 @@ peribox_slot_device::peribox_slot_device(const machine_config &mconfig, const ch
READ8Z_MEMBER(peribox_slot_device::readz)
{
- m_card->readz(offset, value);
+ m_card->readz(space, offset, value, mem_mask);
}
-void peribox_slot_device::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(peribox_slot_device::write)
{
- m_card->write(offset, data);
+ m_card->write(space, offset, data, mem_mask);
}
SETADDRESS_DBIN_MEMBER(peribox_slot_device::setaddress_dbin)
{
- m_card->setaddress_dbin(offset, state);
+ m_card->setaddress_dbin(space, offset, state);
}
READ8Z_MEMBER(peribox_slot_device::crureadz)
{
- m_card->crureadz(offset, value);
+ m_card->crureadz(space, offset, value);
}
-void peribox_slot_device::cruwrite(offs_t offset, uint8_t data)
+WRITE8_MEMBER(peribox_slot_device::cruwrite)
{
- m_card->cruwrite(offset, data);
+ m_card->cruwrite(space, offset, data);
}
WRITE_LINE_MEMBER( peribox_slot_device::senila )
diff --git a/src/devices/bus/ti99/peb/peribox.h b/src/devices/bus/ti99/peb/peribox.h
index 405ded3338e..a936a5346ef 100644
--- a/src/devices/bus/ti99/peb/peribox.h
+++ b/src/devices/bus/ti99/peb/peribox.h
@@ -36,11 +36,11 @@ public:
// Next eight methods are called from the console
DECLARE_READ8Z_MEMBER(readz) override;
- void write(offs_t offset, uint8_t data) override;
+ DECLARE_WRITE8_MEMBER(write) override;
DECLARE_SETADDRESS_DBIN_MEMBER(setaddress_dbin) override;
DECLARE_READ8Z_MEMBER(crureadz) override;
- void cruwrite(offs_t offset, uint8_t data) override;
+ DECLARE_WRITE8_MEMBER(cruwrite) override;
DECLARE_WRITE_LINE_MEMBER(senila);
DECLARE_WRITE_LINE_MEMBER(senilb);
@@ -176,9 +176,9 @@ class device_ti99_peribox_card_interface : public device_slot_card_interface
public:
virtual DECLARE_READ8Z_MEMBER(readz) = 0;
- virtual void write(offs_t offset, uint8_t data) = 0;
+ virtual DECLARE_WRITE8_MEMBER(write) = 0;
virtual DECLARE_READ8Z_MEMBER(crureadz) = 0;
- virtual void cruwrite(offs_t offset, uint8_t data) = 0;
+ virtual DECLARE_WRITE8_MEMBER(cruwrite) = 0;
virtual DECLARE_SETADDRESS_DBIN_MEMBER(setaddress_dbin) { };
virtual DECLARE_WRITE_LINE_MEMBER(clock_in) { }
@@ -231,7 +231,7 @@ public:
// Called from the box (direction to card)
DECLARE_READ8Z_MEMBER(readz);
- void write(offs_t offset, uint8_t data);
+ DECLARE_WRITE8_MEMBER(write);
DECLARE_SETADDRESS_DBIN_MEMBER(setaddress_dbin);
DECLARE_WRITE_LINE_MEMBER(senila);
@@ -245,7 +245,7 @@ public:
DECLARE_WRITE_LINE_MEMBER( set_ready );
DECLARE_READ8Z_MEMBER(crureadz);
- void cruwrite(offs_t offset, uint8_t data);
+ DECLARE_WRITE8_MEMBER(cruwrite);
// called from the box itself
void set_genmod(bool set);
diff --git a/src/devices/bus/ti99/peb/samsmem.cpp b/src/devices/bus/ti99/peb/samsmem.cpp
index dff96b57198..1bc315fed1f 100644
--- a/src/devices/bus/ti99/peb/samsmem.cpp
+++ b/src/devices/bus/ti99/peb/samsmem.cpp
@@ -70,7 +70,7 @@ READ8Z_MEMBER(sams_memory_expansion_device::readz)
}
}
-void sams_memory_expansion_device::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(sams_memory_expansion_device::write)
{
int base;
@@ -104,7 +104,7 @@ READ8Z_MEMBER(sams_memory_expansion_device::crureadz)
/*
CRU write. Turns on the mapper and allows to change it.
*/
-void sams_memory_expansion_device::cruwrite(offs_t offset, uint8_t data)
+WRITE8_MEMBER(sams_memory_expansion_device::cruwrite)
{
if ((offset & 0xff00)==SAMS_CRU_BASE)
m_crulatch->write_bit((offset & 0x000e) >> 1, data);
diff --git a/src/devices/bus/ti99/peb/samsmem.h b/src/devices/bus/ti99/peb/samsmem.h
index da05b58438e..c002252d773 100644
--- a/src/devices/bus/ti99/peb/samsmem.h
+++ b/src/devices/bus/ti99/peb/samsmem.h
@@ -28,10 +28,10 @@ class sams_memory_expansion_device : public device_t, public device_ti99_peribox
public:
sams_memory_expansion_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
DECLARE_READ8Z_MEMBER(readz) override;
- void write(offs_t offset, uint8_t data) override;
+ DECLARE_WRITE8_MEMBER(write) override;
DECLARE_READ8Z_MEMBER(crureadz) override;
- void cruwrite(offs_t offset, uint8_t data) override;
+ DECLARE_WRITE8_MEMBER(cruwrite) override;
protected:
void device_start() override;
diff --git a/src/devices/bus/ti99/peb/spchsyn.cpp b/src/devices/bus/ti99/peb/spchsyn.cpp
index b4bcebf3c94..0f10eea1f33 100644
--- a/src/devices/bus/ti99/peb/spchsyn.cpp
+++ b/src/devices/bus/ti99/peb/spchsyn.cpp
@@ -67,14 +67,14 @@ READ8Z_MEMBER( ti_speech_synthesizer_device::readz )
// lines by setting the address bus to a different value, but the
// Geneve may behave differently. This may not 100% reflect the real
// situation, but it ensures a safe processing.
- m_vsp->combined_rsq_wsq_w(machine().dummy_space(), 0, ~0);
+ m_vsp->combined_rsq_wsq_w(space, 0, ~0);
}
}
/*
Memory write
*/
-void ti_speech_synthesizer_device::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER( ti_speech_synthesizer_device::write )
{
if (machine().side_effects_disabled()) return;
@@ -92,6 +92,7 @@ SETADDRESS_DBIN_MEMBER( ti_speech_synthesizer_device::setaddress_dbin )
// 1001 00xx xxxx xxx0 DBIN=1
// 1001 01xx xxxx xxx0 DBIN=0
// 1111 1000 0000 0001 mask
+ m_space = &space;
m_reading = (state==ASSERT_LINE);
bool valid = (((offset & 0x0400)==0) == m_reading);
@@ -106,11 +107,11 @@ SETADDRESS_DBIN_MEMBER( ti_speech_synthesizer_device::setaddress_dbin )
// both RS* and WS* are active, which is illegal.
// Alternatively, we'll use the combined settings method
- m_vsp->combined_rsq_wsq_w(machine().dummy_space(), 0, m_reading ? ~tms5220_device::RS : ~tms5220_device::WS);
+ m_vsp->combined_rsq_wsq_w(space, 0, m_reading ? ~tms5220_device::RS : ~tms5220_device::WS);
}
else
// If other address, turn off RS* and WS* (negative logic!)
- m_vsp->combined_rsq_wsq_w(machine().dummy_space(), 0, ~0);
+ m_vsp->combined_rsq_wsq_w(space, 0, ~0);
}
/****************************************************************************/
@@ -125,11 +126,13 @@ WRITE_LINE_MEMBER( ti_speech_synthesizer_device::speech_ready )
if ((state==0) && !m_reading)
// Clear the lines only when we are done with writing.
- m_vsp->combined_rsq_wsq_w(machine().dummy_space(), 0, ~0);
+ m_vsp->combined_rsq_wsq_w(*m_space, 0, ~0);
}
void ti_speech_synthesizer_device::device_start()
{
+ // We don't need to save m_space because the calling method
+ // combined_rsq_wsq_w only needs the address space formally.
save_item(NAME(m_reading));
save_item(NAME(m_sbe));
}
diff --git a/src/devices/bus/ti99/peb/spchsyn.h b/src/devices/bus/ti99/peb/spchsyn.h
index 8efee71aed7..35bf0f680e8 100644
--- a/src/devices/bus/ti99/peb/spchsyn.h
+++ b/src/devices/bus/ti99/peb/spchsyn.h
@@ -26,11 +26,11 @@ class ti_speech_synthesizer_device : public device_t, public device_ti99_peribox
public:
ti_speech_synthesizer_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
DECLARE_READ8Z_MEMBER(readz) override;
- void write(offs_t offset, uint8_t data) override;
+ DECLARE_WRITE8_MEMBER(write) override;
DECLARE_SETADDRESS_DBIN_MEMBER(setaddress_dbin) override;
DECLARE_READ8Z_MEMBER(crureadz) override { }
- void cruwrite(offs_t offset, uint8_t data) override { }
+ DECLARE_WRITE8_MEMBER(cruwrite) override { }
protected:
virtual void device_start() override;
@@ -41,6 +41,7 @@ protected:
private:
DECLARE_WRITE_LINE_MEMBER( speech_ready );
+ address_space* m_space;
required_device<cd2501e_device> m_vsp;
bool m_reading;
bool m_sbe; // Signal "Speech block enable"
diff --git a/src/devices/bus/ti99/peb/ti_32kmem.cpp b/src/devices/bus/ti99/peb/ti_32kmem.cpp
index b25c7d65784..fce434c70d7 100644
--- a/src/devices/bus/ti99/peb/ti_32kmem.cpp
+++ b/src/devices/bus/ti99/peb/ti_32kmem.cpp
@@ -82,7 +82,7 @@ READ8Z_MEMBER(ti_32k_expcard_device::readz)
}
}
-void ti_32k_expcard_device::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(ti_32k_expcard_device::write)
{
bool select = ((offset & 0xfc000)==0x7c000) | ((offset & 0xf6000)==0x72000); // PAL output pin 14 [1]
@@ -100,11 +100,10 @@ void ti_32k_expcard_device::device_start()
{
}
-void ti_32k_expcard_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(ti_32k_expcard_device::device_add_mconfig)
RAM(config, m_ram, 0);
m_ram->set_default_size("32k");
m_ram->set_default_value(0);
-}
+MACHINE_CONFIG_END
} } } // end namespace bus::ti99::peb
diff --git a/src/devices/bus/ti99/peb/ti_32kmem.h b/src/devices/bus/ti99/peb/ti_32kmem.h
index 5ed0faac87c..0ff492ca1c7 100644
--- a/src/devices/bus/ti99/peb/ti_32kmem.h
+++ b/src/devices/bus/ti99/peb/ti_32kmem.h
@@ -26,10 +26,10 @@ class ti_32k_expcard_device : public device_t, public device_ti99_peribox_card_i
public:
ti_32k_expcard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
DECLARE_READ8Z_MEMBER(readz) override;
- void write(offs_t offset, uint8_t data) override;
+ DECLARE_WRITE8_MEMBER(write) override;
DECLARE_READ8Z_MEMBER(crureadz) override { }
- void cruwrite(offs_t offset, uint8_t data) override { }
+ DECLARE_WRITE8_MEMBER(cruwrite) override { }
protected:
void device_start() override;
diff --git a/src/devices/bus/ti99/peb/ti_fdc.cpp b/src/devices/bus/ti99/peb/ti_fdc.cpp
index 79d27cd5460..530dc71d987 100644
--- a/src/devices/bus/ti99/peb/ti_fdc.cpp
+++ b/src/devices/bus/ti99/peb/ti_fdc.cpp
@@ -160,7 +160,7 @@ READ8Z_MEMBER(ti_fdc_device::readz)
}
}
-void ti_fdc_device::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(ti_fdc_device::write)
{
if (machine().side_effects_disabled()) return;
@@ -201,7 +201,7 @@ READ8Z_MEMBER(ti_fdc_device::crureadz)
if ((offset & 0xff00)==m_cru_base)
{
uint8_t reply = 0;
- if ((offset & 0x0070) == 0)
+ if ((offset & 0x07) == 0)
{
// Selected drive
reply |= ((m_DSEL)<<1);
@@ -212,12 +212,12 @@ READ8Z_MEMBER(ti_fdc_device::crureadz)
// Selected side
if (m_SIDSEL==ASSERT_LINE) reply |= 0x80;
}
- *value = BIT(reply, (offset >> 1) & 0x07);
+ *value = reply;
LOGMASKED(LOG_CRU, "Read CRU = %02x\n", *value);
}
}
-void ti_fdc_device::cruwrite(offs_t offset, uint8_t data)
+WRITE8_MEMBER(ti_fdc_device::cruwrite)
{
if ((offset & 0xff00)==m_cru_base)
m_crulatch->write_bit((offset >> 1) & 0x07, BIT(data, 0));
diff --git a/src/devices/bus/ti99/peb/ti_fdc.h b/src/devices/bus/ti99/peb/ti_fdc.h
index 4c07bcb142e..f7312661080 100644
--- a/src/devices/bus/ti99/peb/ti_fdc.h
+++ b/src/devices/bus/ti99/peb/ti_fdc.h
@@ -28,11 +28,11 @@ class ti_fdc_device : public device_t, public device_ti99_peribox_card_interface
public:
ti_fdc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
DECLARE_READ8Z_MEMBER(readz) override;
- void write(offs_t offset, uint8_t data) override;
+ DECLARE_WRITE8_MEMBER(write) override;
DECLARE_SETADDRESS_DBIN_MEMBER(setaddress_dbin) override;
DECLARE_READ8Z_MEMBER(crureadz) override;
- void cruwrite(offs_t offset, uint8_t data) override;
+ DECLARE_WRITE8_MEMBER(cruwrite) override;
// bool dvena_r();
diff --git a/src/devices/bus/ti99/peb/ti_rs232.cpp b/src/devices/bus/ti99/peb/ti_rs232.cpp
index cbc164bbcb2..8f2ed3f4c45 100644
--- a/src/devices/bus/ti99/peb/ti_rs232.cpp
+++ b/src/devices/bus/ti99/peb/ti_rs232.cpp
@@ -254,17 +254,17 @@ READ8Z_MEMBER(ti_rs232_pio_device::crureadz)
if ((m_signals[0] & tms9902_device::CTS)!=0) reply |= 0x20;
if ((m_signals[1] & tms9902_device::CTS)!=0) reply |= 0x40;
if (m_led) reply |= 0x80;
- *value = BIT(reply, (offset>>1) & 7);
+ *value = reply;
return;
}
if ((offset & 0x00c0)==0x0040)
{
- *value = m_uart0->cruread(offset>>1);
+ *value = m_uart0->cruread(space, offset>>4, 0xff);
return;
}
if ((offset & 0x00c0)==0x0080)
{
- *value = m_uart1->cruread(offset>>1);
+ *value = m_uart1->cruread(space, offset>>4, 0xff);
return;
}
}
@@ -273,18 +273,18 @@ READ8Z_MEMBER(ti_rs232_pio_device::crureadz)
/*
CRU write
*/
-void ti_rs232_pio_device::cruwrite(offs_t offset, uint8_t data)
+WRITE8_MEMBER(ti_rs232_pio_device::cruwrite)
{
if ((offset & 0xff00)==m_cru_base)
{
if ((offset & 0x00c0)==0x0040)
{
- m_uart0->cruwrite(offset>>1, data);
+ m_uart0->cruwrite(space, offset>>1, data, 0xff);
return;
}
if ((offset & 0x00c0)==0x0080)
{
- m_uart1->cruwrite(offset>>1, data);
+ m_uart1->cruwrite(space, offset>>1, data, 0xff);
return;
}
@@ -403,7 +403,7 @@ READ8Z_MEMBER( ti_rs232_pio_device::readz )
/*
Memory write
*/
-void ti_rs232_pio_device::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER( ti_rs232_pio_device::write )
{
if (((offset & m_select_mask)==m_select_value) && m_selected)
{
@@ -967,12 +967,12 @@ WRITE_LINE_MEMBER( ti_rs232_pio_device::rcv1_callback )
receive_data_or_line_state(1);
}
-void ti_rs232_pio_device::xmit0_callback(uint8_t data)
+WRITE8_MEMBER( ti_rs232_pio_device::xmit0_callback )
{
transmit_data(0, data);
}
-void ti_rs232_pio_device::xmit1_callback(uint8_t data)
+WRITE8_MEMBER( ti_rs232_pio_device::xmit1_callback )
{
transmit_data(1, data);
}
@@ -998,12 +998,12 @@ void ti_rs232_pio_device::ctrl_callback(int uartind, int offset, uint8_t data)
}
}
-void ti_rs232_pio_device::ctrl0_callback(offs_t offset, uint8_t data)
+WRITE8_MEMBER( ti_rs232_pio_device::ctrl0_callback )
{
ctrl_callback(0, offset, data);
}
-void ti_rs232_pio_device::ctrl1_callback(offs_t offset, uint8_t data)
+WRITE8_MEMBER( ti_rs232_pio_device::ctrl1_callback )
{
ctrl_callback(1, offset, data);
}
@@ -1101,8 +1101,7 @@ INPUT_PORTS_START( ti_rs232 )
PORT_CONFSETTING( 0x02, "5-20" )
INPUT_PORTS_END
-void ti_rs232_pio_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(ti_rs232_pio_device::device_add_mconfig)
TMS9902(config, m_uart0, 3000000);
m_uart0->int_cb().set(FUNC(ti_rs232_pio_device::int0_callback));
m_uart0->rcv_cb().set(FUNC(ti_rs232_pio_device::rcv0_callback));
@@ -1129,7 +1128,7 @@ void ti_rs232_pio_device::device_add_mconfig(machine_config &config)
m_crulatch->q_out_cb<5>().set(FUNC(ti_rs232_pio_device::cts0_w));
m_crulatch->q_out_cb<6>().set(FUNC(ti_rs232_pio_device::cts1_w));
m_crulatch->q_out_cb<7>().set(FUNC(ti_rs232_pio_device::led_w));
-}
+MACHINE_CONFIG_END
const tiny_rom_entry *ti_rs232_pio_device::device_rom_region() const
{
diff --git a/src/devices/bus/ti99/peb/ti_rs232.h b/src/devices/bus/ti99/peb/ti_rs232.h
index 3c3b1e89d4b..75e6ff582df 100644
--- a/src/devices/bus/ti99/peb/ti_rs232.h
+++ b/src/devices/bus/ti99/peb/ti_rs232.h
@@ -32,10 +32,10 @@ class ti_rs232_pio_device : public device_t, public device_ti99_peribox_card_int
public:
ti_rs232_pio_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
DECLARE_READ8Z_MEMBER(readz) override;
- void write(offs_t offset, uint8_t data) override;
+ DECLARE_WRITE8_MEMBER(write) override;
DECLARE_READ8Z_MEMBER(crureadz) override;
- void cruwrite(offs_t offset, uint8_t data) override;
+ DECLARE_WRITE8_MEMBER(cruwrite) override;
protected:
void device_start() override;
@@ -50,10 +50,10 @@ private:
DECLARE_WRITE_LINE_MEMBER(int1_callback);
DECLARE_WRITE_LINE_MEMBER(rcv0_callback);
DECLARE_WRITE_LINE_MEMBER(rcv1_callback);
- void xmit0_callback(uint8_t data);
- void xmit1_callback(uint8_t data);
- void ctrl0_callback(offs_t offset, uint8_t data);
- void ctrl1_callback(offs_t offset, uint8_t data);
+ DECLARE_WRITE8_MEMBER(xmit0_callback);
+ DECLARE_WRITE8_MEMBER(xmit1_callback);
+ DECLARE_WRITE8_MEMBER(ctrl0_callback);
+ DECLARE_WRITE8_MEMBER(ctrl1_callback);
DECLARE_WRITE_LINE_MEMBER(selected_w);
DECLARE_WRITE_LINE_MEMBER(pio_direction_in_w);
diff --git a/src/devices/bus/ti99/peb/tn_ide.cpp b/src/devices/bus/ti99/peb/tn_ide.cpp
index 4654a926791..243450fd34f 100644
--- a/src/devices/bus/ti99/peb/tn_ide.cpp
+++ b/src/devices/bus/ti99/peb/tn_ide.cpp
@@ -71,7 +71,9 @@ READ8Z_MEMBER(nouspikel_ide_interface_device::crureadz)
uint8_t reply = 0;
if ((offset & 0xff00)==m_cru_base)
{
- if ((offset & 0x0070) == 0)
+ int bit = (offset >> 4) & 7;
+
+ if (bit==0)
{
reply = m_cru_register & 0x30;
reply |= 8; /* IDE bus IORDY always set */
@@ -82,14 +84,14 @@ READ8Z_MEMBER(nouspikel_ide_interface_device::crureadz)
if (!m_ata_irq)
reply |= 1;
}
- *value = BIT(reply, (offset >> 1) & 7);
+ *value = reply;
}
}
/*
CRU write
*/
-void nouspikel_ide_interface_device::cruwrite(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nouspikel_ide_interface_device::cruwrite)
{
if ((offset & 0xff00)==m_cru_base)
{
@@ -144,18 +146,18 @@ READ8Z_MEMBER(nouspikel_ide_interface_device::readz)
case 0: /* RTC RAM */
if (addr & 0x80)
/* RTC RAM page register */
- reply = m_rtc->xram_r((addr & 0x1f) | 0x20);
+ reply = m_rtc->xram_r(machine().dummy_space(), (addr & 0x1f) | 0x20);
else
/* RTC RAM read */
- reply = m_rtc->xram_r(addr);
+ reply = m_rtc->xram_r(machine().dummy_space(), addr);
break;
case 1: /* RTC registers */
if (addr & 0x10)
/* register data */
- reply = m_rtc->rtc_r(1);
+ reply = m_rtc->rtc_r(machine().dummy_space(), 1);
else
/* register select */
- reply = m_rtc->rtc_r(0);
+ reply = m_rtc->rtc_r(machine().dummy_space(), 0);
break;
case 2: /* IDE registers set 1 (CS1Fx) */
if (m_tms9995_mode ? (!(addr & 1)) : (addr & 1))
@@ -195,7 +197,7 @@ READ8Z_MEMBER(nouspikel_ide_interface_device::readz)
/*
Memory write. The controller is 16 bit, so we need to demultiplex again.
*/
-void nouspikel_ide_interface_device::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nouspikel_ide_interface_device::write)
{
if (machine().side_effects_disabled()) return;
@@ -215,18 +217,18 @@ void nouspikel_ide_interface_device::write(offs_t offset, uint8_t data)
case 0: /* RTC RAM */
if (addr & 0x80)
/* RTC RAM page register */
- m_rtc->xram_w((addr & 0x1f) | 0x20, data);
+ m_rtc->xram_w(machine().dummy_space(), (addr & 0x1f) | 0x20, data);
else
/* RTC RAM write */
- m_rtc->xram_w(addr, data);
+ m_rtc->xram_w(machine().dummy_space(), addr, data);
break;
case 1: /* RTC registers */
if (addr & 0x10)
/* register data */
- m_rtc->rtc_w(1, data);
+ m_rtc->rtc_w(machine().dummy_space(), 1, data);
else
/* register select */
- m_rtc->rtc_w(0, data);
+ m_rtc->rtc_w(machine().dummy_space(), 0, data);
break;
case 2: /* IDE registers set 1 (CS1Fx) */
/*
diff --git a/src/devices/bus/ti99/peb/tn_ide.h b/src/devices/bus/ti99/peb/tn_ide.h
index 51d516d5af0..b4aa66f2fe3 100644
--- a/src/devices/bus/ti99/peb/tn_ide.h
+++ b/src/devices/bus/ti99/peb/tn_ide.h
@@ -28,10 +28,10 @@ class nouspikel_ide_interface_device : public device_t, public device_ti99_perib
public:
nouspikel_ide_interface_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
DECLARE_READ8Z_MEMBER(readz) override;
- void write(offs_t offset, uint8_t data) override;
+ DECLARE_WRITE8_MEMBER(write) override;
DECLARE_READ8Z_MEMBER(crureadz) override;
- void cruwrite(offs_t offset, uint8_t data) override;
+ DECLARE_WRITE8_MEMBER(cruwrite) override;
void do_inta(int state);
bool m_ata_irq;
diff --git a/src/devices/bus/ti99/peb/tn_usbsm.cpp b/src/devices/bus/ti99/peb/tn_usbsm.cpp
index 77f933667e9..813ced0eb0d 100644
--- a/src/devices/bus/ti99/peb/tn_usbsm.cpp
+++ b/src/devices/bus/ti99/peb/tn_usbsm.cpp
@@ -93,8 +93,9 @@ READ8Z_MEMBER(nouspikel_usb_smartmedia_device::crureadz)
if ((offset & 0xff00)==m_cru_base)
{
uint8_t reply = 0;
+ offset &= 3;
- if ((offset & 0x0030) == 0)
+ if (offset == 0)
{
// bit
// 0 >1x00 0: USB Host controller requests interrupt.
@@ -116,14 +117,14 @@ READ8Z_MEMBER(nouspikel_usb_smartmedia_device::crureadz)
else if (!m_smartmedia->is_protected())
reply |= 0x80;
}
- *value = BIT(reply, (offset >> 1) & 7);
+ *value = reply;
}
}
/*
CRU write
*/
-void nouspikel_usb_smartmedia_device::cruwrite(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nouspikel_usb_smartmedia_device::cruwrite)
{
if ((offset & 0xff00)==m_cru_base)
{
@@ -211,7 +212,7 @@ READ8Z_MEMBER(nouspikel_usb_smartmedia_device::readz)
{
// FEEPROM
if (!m_write_flash)
- m_input_latch = m_flash->read16((offset>>1)&0xffff);
+ m_input_latch = m_flash->read16(space, (offset>>1)&0xffff);
}
}
else
@@ -239,7 +240,7 @@ READ8Z_MEMBER(nouspikel_usb_smartmedia_device::readz)
/*
Memory write. The controller is 16 bit, so we need to demultiplex again.
*/
-void nouspikel_usb_smartmedia_device::write(offs_t offset, uint8_t data)
+WRITE8_MEMBER(nouspikel_usb_smartmedia_device::write)
{
if (machine().side_effects_disabled()) return;
@@ -279,7 +280,7 @@ void nouspikel_usb_smartmedia_device::write(offs_t offset, uint8_t data)
else
{ // FEEPROM
if (m_write_flash)
- m_flash->write16((offset>>1)&0xffff, m_output_latch);
+ m_flash->write16(space, (offset>>1)&0xffff, m_output_latch);
}
}
else
@@ -365,13 +366,12 @@ INPUT_PORTS_START( tn_usbsm )
PORT_DIPSETTING( 0x01, "Geneve mode")
INPUT_PORTS_END
-void nouspikel_usb_smartmedia_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(nouspikel_usb_smartmedia_device::device_add_mconfig)
SMARTMEDIA(config, "smartmedia", 0);
STRATAFLASH(config, STRATA_TAG, 0);
RAM(config, RAM1_TAG).set_default_size("512K").set_default_value(0);
RAM(config, RAM2_TAG).set_default_size("512K").set_default_value(0);
-}
+MACHINE_CONFIG_END
ioport_constructor nouspikel_usb_smartmedia_device::device_input_ports() const
{
diff --git a/src/devices/bus/ti99/peb/tn_usbsm.h b/src/devices/bus/ti99/peb/tn_usbsm.h
index 52c2690f3ed..a379d67102c 100644
--- a/src/devices/bus/ti99/peb/tn_usbsm.h
+++ b/src/devices/bus/ti99/peb/tn_usbsm.h
@@ -28,10 +28,10 @@ class nouspikel_usb_smartmedia_device : public device_t, public device_ti99_peri
public:
nouspikel_usb_smartmedia_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
DECLARE_READ8Z_MEMBER(readz) override;
- void write(offs_t offset, uint8_t data) override;
+ DECLARE_WRITE8_MEMBER(write) override;
DECLARE_READ8Z_MEMBER(crureadz) override;
- void cruwrite(offs_t offset, uint8_t data) override;
+ DECLARE_WRITE8_MEMBER(cruwrite) override;
protected:
virtual void device_start() override;
diff --git a/src/devices/bus/ti99/ti99defs.h b/src/devices/bus/ti99/ti99defs.h
index 46bb67aaae9..32d7c88ed38 100644
--- a/src/devices/bus/ti99/ti99defs.h
+++ b/src/devices/bus/ti99/ti99defs.h
@@ -52,8 +52,8 @@
devices as in the real machine, and only the active device changes the bus lines.
*/
-#define READ8Z_MEMBER(name) void name(ATTR_UNUSED offs_t offset, ATTR_UNUSED uint8_t *value)
-#define DECLARE_READ8Z_MEMBER(name) void name(ATTR_UNUSED offs_t offset, ATTR_UNUSED uint8_t *value)
+#define READ8Z_MEMBER(name) void name(ATTR_UNUSED address_space &space, ATTR_UNUSED offs_t offset, ATTR_UNUSED uint8_t *value, ATTR_UNUSED uint8_t mem_mask)
+#define DECLARE_READ8Z_MEMBER(name) void name(ATTR_UNUSED address_space &space, ATTR_UNUSED offs_t offset, ATTR_UNUSED uint8_t *value, ATTR_UNUSED uint8_t mem_mask = 0xff)
/*
For almost all applications of setoffset, we also need the data bus
@@ -61,7 +61,7 @@
that this is a general rule, we use new macros here which contain the
DBIN setting.
*/
-#define SETADDRESS_DBIN_MEMBER(name) void name(ATTR_UNUSED offs_t offset, ATTR_UNUSED int state)
-#define DECLARE_SETADDRESS_DBIN_MEMBER(name) void name(ATTR_UNUSED offs_t offset, ATTR_UNUSED int state)
+#define SETADDRESS_DBIN_MEMBER(name) void name(ATTR_UNUSED address_space &space, ATTR_UNUSED offs_t offset, ATTR_UNUSED int state)
+#define DECLARE_SETADDRESS_DBIN_MEMBER(name) void name(ATTR_UNUSED address_space &space, ATTR_UNUSED offs_t offset, ATTR_UNUSED int state)
#endif // MAME_BUS_TI99_TI99DEFS_H
diff --git a/src/devices/bus/ti99x/990_dk.cpp b/src/devices/bus/ti99x/990_dk.cpp
index a634bba7a24..118804ddb2b 100644
--- a/src/devices/bus/ti99x/990_dk.cpp
+++ b/src/devices/bus/ti99x/990_dk.cpp
@@ -709,16 +709,19 @@ READ8_MEMBER( fd800_legacy_device::cru_r )
{
int reply = 0;
- offset &= 31;
- if (offset < 16)
+ switch (offset)
{
+ case 0:
+ case 1:
// receive buffer
- reply = BIT(m_recv_buf, offset);
- }
- else
- {
+ reply = m_recv_buf >> (offset*8);
+ break;
+
+ case 2:
+ case 3:
// status register
- reply = BIT(m_stat_reg, offset - 16);
+ reply = m_stat_reg >> ((offset-2)*8);
+ break;
}
return reply;
diff --git a/src/devices/bus/ti99x/990_hd.cpp b/src/devices/bus/ti99x/990_hd.cpp
index c17f63b807e..9bfef6e075b 100644
--- a/src/devices/bus/ti99x/990_hd.cpp
+++ b/src/devices/bus/ti99x/990_hd.cpp
@@ -463,7 +463,7 @@ void ti990_hdc_device::store_registers()
if (! (m_w[1] & w1_transfer_inhibit))
for (i=0; i<real_word_count; i++)
{
- m_memory_space->write_word(dma_address, buffer[i]);
+ machine().device("maincpu")->memory().space(AS_PROGRAM).write_word(dma_address, buffer[i]);
dma_address = (dma_address + 2) & 0x1ffffe;
}
@@ -618,7 +618,7 @@ void ti990_hdc_device::read_data()
if (! (m_w[1] & w1_transfer_inhibit))
for (i=0; i<bytes_read; i+=2)
{
- m_memory_space->write_word(dma_address, (((int) buffer[i]) << 8) | buffer[i+1]);
+ machine().device("maincpu")->memory().space(AS_PROGRAM).write_word(dma_address, (((int) buffer[i]) << 8) | buffer[i+1]);
dma_address = (dma_address + 2) & 0x1ffffe;
}
@@ -714,7 +714,7 @@ void ti990_hdc_device::write_data()
/* DMA */
for (i=0; (i<byte_count) && (i<m_d[dsk_sel].bytes_per_sector); i+=2)
{
- word = m_memory_space->read_word(dma_address);
+ word = machine().device("maincpu")->memory().space(AS_PROGRAM).read_word(dma_address);
buffer[i] = word >> 8;
buffer[i+1] = word & 0xff;
@@ -821,7 +821,7 @@ void ti990_hdc_device::unformatted_read()
if (! (m_w[1] & w1_transfer_inhibit))
for (i=0; i<real_word_count; i++)
{
- m_memory_space->write_word(dma_address, buffer[i]);
+ machine().device("maincpu")->memory().space(AS_PROGRAM).write_word(dma_address, buffer[i]);
dma_address = (dma_address + 2) & 0x1ffffe;
}
@@ -962,9 +962,7 @@ WRITE16_MEMBER(ti990_hdc_device::write)
DEFINE_DEVICE_TYPE(TI990_HDC, ti990_hdc_device, "ti990_hdc", "Generic TI-990 Hard Disk Controller")
ti990_hdc_device::ti990_hdc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, TI990_HDC, tag, owner, clock)
- , m_memory_space(*this, finder_base::DUMMY_TAG, -1)
- , m_interrupt_callback(*this)
+ : device_t(mconfig, TI990_HDC, tag, owner, clock), m_interrupt_callback(*this)
{
}
diff --git a/src/devices/bus/ti99x/990_hd.h b/src/devices/bus/ti99x/990_hd.h
index 803e9ca7c79..47fe5d947f6 100644
--- a/src/devices/bus/ti99x/990_hd.h
+++ b/src/devices/bus/ti99x/990_hd.h
@@ -23,7 +23,6 @@ public:
DECLARE_DEVICE_IMAGE_LOAD_MEMBER( ti990_hd );
DECLARE_DEVICE_IMAGE_UNLOAD_MEMBER( ti990_hd );
- template <typename T> void set_memory_space(T &&tag, int spacenum) { m_memory_space.set_tag(std::forward<T>(tag), spacenum); }
auto int_cb() { return m_interrupt_callback.bind(); }
protected:
@@ -73,8 +72,6 @@ private:
uint16_t m_w[8];
- required_address_space m_memory_space;
-
devcb_write_line m_interrupt_callback;
hd_unit_t m_d[MAX_DISK_UNIT];
diff --git a/src/devices/bus/ti99x/990_tap.cpp b/src/devices/bus/ti99x/990_tap.cpp
index cafefbffda8..db41dc94c2b 100644
--- a/src/devices/bus/ti99x/990_tap.cpp
+++ b/src/devices/bus/ti99x/990_tap.cpp
@@ -257,7 +257,7 @@ void tap_990_device::cmd_read_binary_forward()
/* DMA */
for (i=0; i<bytes_read; i+=2)
{
- m_memory_space->write_word(dma_address, (((int) buffer[i]) << 8) | buffer[i+1]);
+ machine().device("maincpu")->memory().space(AS_PROGRAM).write_word(dma_address, (((int) buffer[i]) << 8) | buffer[i+1]);
dma_address = (dma_address + 2) & 0x1ffffe;
}
@@ -956,13 +956,14 @@ void ti990_tape_image_device::call_unload()
tpc->set_tape(tape_get_id(), this, false, false, true);
}
+#define MCFG_TI990_TAPE_ADD(_tag) \
+ MCFG_DEVICE_ADD((_tag), TI990_TAPE, 0)
+
DEFINE_DEVICE_TYPE(TI990_TAPE_CTRL, tap_990_device, "ti990_tap", "Generic TI-900 Tape Controller")
tap_990_device::tap_990_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, TI990_TAPE_CTRL, tag, owner, clock)
- , m_memory_space(*this, finder_base::DUMMY_TAG, -1)
- , m_int_line(*this)
+ : device_t(mconfig, TI990_TAPE_CTRL, tag, owner, clock), m_int_line(*this)
{
}
@@ -986,10 +987,9 @@ void tap_990_device::device_start()
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void tap_990_device::device_add_mconfig(machine_config &config)
-{
- TI990_TAPE(config, "tape0", 0);
- TI990_TAPE(config, "tape1", 0);
- TI990_TAPE(config, "tape2", 0);
- TI990_TAPE(config, "tape3", 0);
-}
+MACHINE_CONFIG_START(tap_990_device::device_add_mconfig)
+ MCFG_TI990_TAPE_ADD("tape0")
+ MCFG_TI990_TAPE_ADD("tape1")
+ MCFG_TI990_TAPE_ADD("tape2")
+ MCFG_TI990_TAPE_ADD("tape3")
+MACHINE_CONFIG_END
diff --git a/src/devices/bus/ti99x/990_tap.h b/src/devices/bus/ti99x/990_tap.h
index 3be370a9f5a..a35a09b26a4 100644
--- a/src/devices/bus/ti99x/990_tap.h
+++ b/src/devices/bus/ti99x/990_tap.h
@@ -26,7 +26,6 @@ public:
m_tape[id].wp = wp;
}
- template <typename T> void set_memory_space(T &&tag, int spacenum) { m_memory_space.set_tag(std::forward<T>(tag), spacenum); }
auto int_cb() { return m_int_line.bind(); }
protected:
@@ -55,8 +54,6 @@ private:
void read_transport_status();
void execute_command();
- required_address_space m_memory_space;
-
devcb_write_line m_int_line;
uint16_t m_w[8];
diff --git a/src/devices/bus/tiki100/8088.cpp b/src/devices/bus/tiki100/8088.cpp
index 0a940fcbc2c..f3a0e5d0dfd 100644
--- a/src/devices/bus/tiki100/8088.cpp
+++ b/src/devices/bus/tiki100/8088.cpp
@@ -64,15 +64,14 @@ void tiki100_8088_device::i8088_io(address_map &map)
//-------------------------------------------------
-// device_add_mconfig()
+// MACHINE_CONFIG_START( tiki100_8088 )
//-------------------------------------------------
-void tiki100_8088_device::device_add_mconfig(machine_config &config)
-{
- I8088(config, m_maincpu, 6000000);
- m_maincpu->set_addrmap(AS_PROGRAM, &tiki100_8088_device::i8088_mem);
- m_maincpu->set_addrmap(AS_IO, &tiki100_8088_device::i8088_io);
-}
+MACHINE_CONFIG_START(tiki100_8088_device::device_add_mconfig)
+ MCFG_DEVICE_ADD(I8088_TAG, I8088, 6000000)
+ MCFG_DEVICE_PROGRAM_MAP(i8088_mem)
+ MCFG_DEVICE_IO_MAP(i8088_io)
+MACHINE_CONFIG_END
@@ -118,7 +117,7 @@ void tiki100_8088_device::device_reset()
// tiki100bus_iorq_r - I/O read
//-------------------------------------------------
-uint8_t tiki100_8088_device::iorq_r(offs_t offset, uint8_t data)
+uint8_t tiki100_8088_device::iorq_r(address_space &space, offs_t offset, uint8_t data)
{
if ((offset & 0xff) == 0x7f)
{
@@ -133,7 +132,7 @@ uint8_t tiki100_8088_device::iorq_r(offs_t offset, uint8_t data)
// tiki100bus_iorq_w - I/O write
//-------------------------------------------------
-void tiki100_8088_device::iorq_w(offs_t offset, uint8_t data)
+void tiki100_8088_device::iorq_w(address_space &space, offs_t offset, uint8_t data)
{
if ((offset & 0xff) == 0x7f)
{
diff --git a/src/devices/bus/tiki100/8088.h b/src/devices/bus/tiki100/8088.h
index 2e4e6966172..c9fcca86807 100644
--- a/src/devices/bus/tiki100/8088.h
+++ b/src/devices/bus/tiki100/8088.h
@@ -37,8 +37,8 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// device_tiki100bus_card_interface overrides
- virtual uint8_t iorq_r(offs_t offset, uint8_t data) override;
- virtual void iorq_w(offs_t offset, uint8_t data) override;
+ virtual uint8_t iorq_r(address_space &space, offs_t offset, uint8_t data) override;
+ virtual void iorq_w(address_space &space, offs_t offset, uint8_t data) override;
private:
required_device<i8088_cpu_device> m_maincpu;
diff --git a/src/devices/bus/tiki100/exp.cpp b/src/devices/bus/tiki100/exp.cpp
index 2d3dfc22031..95aff70d106 100644
--- a/src/devices/bus/tiki100/exp.cpp
+++ b/src/devices/bus/tiki100/exp.cpp
@@ -99,13 +99,13 @@ void tiki100_bus_device::add_card(device_tiki100bus_card_interface *card)
// mrq_r - memory read
//-------------------------------------------------
-uint8_t tiki100_bus_device::mrq_r(offs_t offset, uint8_t data, bool &mdis)
+uint8_t tiki100_bus_device::mrq_r(address_space &space, offs_t offset, uint8_t data, bool &mdis)
{
device_tiki100bus_card_interface *entry = m_device_list.first();
while (entry)
{
- data &= entry->mrq_r(offset, data, mdis);
+ data &= entry->mrq_r(space, offset, data, mdis);
entry = entry->next();
}
@@ -117,13 +117,13 @@ uint8_t tiki100_bus_device::mrq_r(offs_t offset, uint8_t data, bool &mdis)
// mrq_w - memory write
//-------------------------------------------------
-void tiki100_bus_device::mrq_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER( tiki100_bus_device::mrq_w )
{
device_tiki100bus_card_interface *entry = m_device_list.first();
while (entry)
{
- entry->mrq_w(offset, data);
+ entry->mrq_w(space, offset, data);
entry = entry->next();
}
}
@@ -133,13 +133,13 @@ void tiki100_bus_device::mrq_w(offs_t offset, uint8_t data)
// iorq_r - I/O read
//-------------------------------------------------
-uint8_t tiki100_bus_device::iorq_r(offs_t offset, uint8_t data)
+uint8_t tiki100_bus_device::iorq_r(address_space &space, offs_t offset, uint8_t data)
{
device_tiki100bus_card_interface *entry = m_device_list.first();
while (entry)
{
- data &= entry->iorq_r(offset, data);
+ data &= entry->iorq_r(space, offset, data);
entry = entry->next();
}
@@ -151,13 +151,13 @@ uint8_t tiki100_bus_device::iorq_r(offs_t offset, uint8_t data)
// iorq_w - I/O write
//-------------------------------------------------
-void tiki100_bus_device::iorq_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER( tiki100_bus_device::iorq_w )
{
device_tiki100bus_card_interface *entry = m_device_list.first();
while (entry)
{
- entry->iorq_w(offset, data);
+ entry->iorq_w(space, offset, data);
entry = entry->next();
}
}
diff --git a/src/devices/bus/tiki100/exp.h b/src/devices/bus/tiki100/exp.h
index 9b0375daaa9..fb82a62fdce 100644
--- a/src/devices/bus/tiki100/exp.h
+++ b/src/devices/bus/tiki100/exp.h
@@ -25,6 +25,36 @@
#define TIKI100_BUS_TAG "tiki100bus"
+
+//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_TIKI100_BUS_ADD() \
+ MCFG_DEVICE_ADD(TIKI100_BUS_TAG, TIKI100_BUS, 0)
+
+#define MCFG_TIKI100_BUS_SLOT_ADD(_tag, _def_slot) \
+ MCFG_DEVICE_ADD(_tag, TIKI100_BUS_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(tiki100_cards, _def_slot, false)
+
+
+#define MCFG_TIKI100_BUS_IRQ_CALLBACK(_write) \
+ downcast<tiki100_bus_device &>(*device).set_irq_wr_callback(DEVCB_##_write);
+
+#define MCFG_TIKI100_BUS_NMI_CALLBACK(_write) \
+ downcast<tiki100_bus_device &>(*device).set_nmi_wr_callback(DEVCB_##_write);
+
+#define MCFG_TIKI100_BUS_BUSRQ_CALLBACK(_write) \
+ downcast<tiki100_bus_device &>(*device).set_busrq_wr_callback(DEVCB_##_write);
+
+#define MCFG_TIKI100_BUS_IN_MREQ_CALLBACK(_read) \
+ downcast<tiki100_bus_device &>(*device).set_mrq_rd_callback(DEVCB_##_read);
+
+#define MCFG_TIKI100_BUS_OUT_MREQ_CALLBACK(_write) \
+ downcast<tiki100_bus_device &>(*device).set_mrq_wr_callback(DEVCB_##_write);
+
+
+
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -46,12 +76,12 @@ public:
device_tiki100bus_card_interface *next() const { return m_next; }
// memory access
- virtual uint8_t mrq_r(offs_t offset, uint8_t data, bool &mdis) { mdis = 1; return data; }
- virtual void mrq_w(offs_t offset, uint8_t data) { }
+ virtual uint8_t mrq_r(address_space &space, offs_t offset, uint8_t data, bool &mdis) { mdis = 1; return data; }
+ virtual void mrq_w(address_space &space, offs_t offset, uint8_t data) { }
// I/O access
- virtual uint8_t iorq_r(offs_t offset, uint8_t data) { return data; }
- virtual void iorq_w(offs_t offset, uint8_t data) { }
+ virtual uint8_t iorq_r(address_space &space, offs_t offset, uint8_t data) { return data; }
+ virtual void iorq_w(address_space &space, offs_t offset, uint8_t data) { }
virtual void busak_w(int state) { m_busak = state; }
@@ -81,17 +111,7 @@ class tiki100_bus_slot_device : public device_t,
{
public:
// construction/destruction
- template <typename T>
- tiki100_bus_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, T &&opts, const char *dflt)
- : tiki100_bus_slot_device(mconfig, tag, owner, 0)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
-
- tiki100_bus_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+ tiki100_bus_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
virtual void device_start() override;
@@ -122,20 +142,20 @@ public:
tiki100_bus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
~tiki100_bus_device() { m_device_list.detach_all(); }
- auto irq_wr_callback() { return m_irq_cb.bind(); }
- auto nmi_wr_callback() { return m_nmi_cb.bind(); }
- auto busrq_wr_callback() { return m_busrq_cb.bind(); }
- auto mrq_rd_callback() { return m_in_mrq_cb.bind(); }
- auto mrq_wr_callback() { return m_out_mrq_cb.bind(); }
+ template <class Object> devcb_base &set_irq_wr_callback(Object &&cb) { return m_irq_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_nmi_wr_callback(Object &&cb) { return m_nmi_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_busrq_wr_callback(Object &&cb) { return m_busrq_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_mrq_rd_callback(Object &&cb) { return m_in_mrq_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_mrq_wr_callback(Object &&cb) { return m_out_mrq_cb.set_callback(std::forward<Object>(cb)); }
void add_card(device_tiki100bus_card_interface *card);
// computer interface
- uint8_t mrq_r(offs_t offset, uint8_t data, bool &mdis);
- void mrq_w(offs_t offset, uint8_t data);
+ uint8_t mrq_r(address_space &space, offs_t offset, uint8_t data, bool &mdis);
+ DECLARE_WRITE8_MEMBER( mrq_w );
- uint8_t iorq_r(offs_t offset, uint8_t data);
- void iorq_w(offs_t offset, uint8_t data);
+ uint8_t iorq_r(address_space &space, offs_t offset, uint8_t data);
+ DECLARE_WRITE8_MEMBER( iorq_w );
DECLARE_WRITE_LINE_MEMBER( busak_w );
@@ -143,8 +163,8 @@ public:
DECLARE_WRITE_LINE_MEMBER( irq_w ) { m_irq_cb(state); }
DECLARE_WRITE_LINE_MEMBER( nmi_w ) { m_nmi_cb(state); }
DECLARE_WRITE_LINE_MEMBER( busrq_w ) { m_busrq_cb(state); }
- uint8_t exin_mrq_r(offs_t offset) { return m_in_mrq_cb(offset); }
- void exin_mrq_w(offs_t offset, uint8_t data) { m_out_mrq_cb(offset, data); }
+ DECLARE_READ8_MEMBER( exin_mrq_r ) { return m_in_mrq_cb(offset); }
+ DECLARE_WRITE8_MEMBER( exin_mrq_w ) { m_out_mrq_cb(offset, data); }
protected:
// device-level overrides
diff --git a/src/devices/bus/tiki100/hdc.cpp b/src/devices/bus/tiki100/hdc.cpp
index a351d83daca..9a997119935 100644
--- a/src/devices/bus/tiki100/hdc.cpp
+++ b/src/devices/bus/tiki100/hdc.cpp
@@ -85,11 +85,11 @@ void tiki100_hdc_device::device_reset()
// tiki100bus_iorq_r - I/O read
//-------------------------------------------------
-uint8_t tiki100_hdc_device::iorq_r(offs_t offset, uint8_t data)
+uint8_t tiki100_hdc_device::iorq_r(address_space &space, offs_t offset, uint8_t data)
{
if ((offset & 0xf8) == 0x20)
{
- data = m_hdc->read(offset & 0x07);
+ data = m_hdc->read(space, offset & 0x07);
}
return data;
@@ -100,10 +100,10 @@ uint8_t tiki100_hdc_device::iorq_r(offs_t offset, uint8_t data)
// tiki100bus_iorq_w - I/O write
//-------------------------------------------------
-void tiki100_hdc_device::iorq_w(offs_t offset, uint8_t data)
+void tiki100_hdc_device::iorq_w(address_space &space, offs_t offset, uint8_t data)
{
if ((offset & 0xf8) == 0x20)
{
- m_hdc->write(offset, data);
+ m_hdc->write(space, offset, data);
}
}
diff --git a/src/devices/bus/tiki100/hdc.h b/src/devices/bus/tiki100/hdc.h
index d38927ff004..1c0447acff5 100644
--- a/src/devices/bus/tiki100/hdc.h
+++ b/src/devices/bus/tiki100/hdc.h
@@ -36,8 +36,8 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// device_tiki100bus_card_interface overrides
- virtual uint8_t iorq_r(offs_t offset, uint8_t data) override;
- virtual void iorq_w(offs_t offset, uint8_t data) override;
+ virtual uint8_t iorq_r(address_space &space, offs_t offset, uint8_t data) override;
+ virtual void iorq_w(address_space &space, offs_t offset, uint8_t data) override;
private:
required_device<wd2010_device> m_hdc;
diff --git a/src/devices/bus/tmc600/euro.h b/src/devices/bus/tmc600/euro.h
index 51a4e435f2f..7fe8c3c0ff6 100644
--- a/src/devices/bus/tmc600/euro.h
+++ b/src/devices/bus/tmc600/euro.h
@@ -56,6 +56,17 @@
#define TMC600_EURO_BUS_TAG "bus"
+
+//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_TMC600_EURO_BUS_SLOT_ADD(_tag, _slot_intf, _def_slot) \
+ MCFG_DEVICE_ADD(_tag, TMC600_EURO_BUS_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
+
+
+
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -85,17 +96,7 @@ class tmc600_euro_bus_slot_t : public device_t,
{
public:
// construction/destruction
- template <typename T>
- tmc600_euro_bus_slot_t(const machine_config &mconfig, const char *tag, device_t *owner, T &&opts, const char *dflt)
- : tmc600_euro_bus_slot_t(mconfig, tag, owner, 0)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
-
- tmc600_euro_bus_slot_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+ tmc600_euro_bus_slot_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
protected:
// device-level overrides
diff --git a/src/devices/bus/tvc/tvc.h b/src/devices/bus/tvc/tvc.h
index 09ba7b35ffd..584e121f428 100644
--- a/src/devices/bus/tvc/tvc.h
+++ b/src/devices/bus/tvc/tvc.h
@@ -91,21 +91,11 @@ class tvcexp_slot_device : public device_t,
{
public:
// construction/destruction
- template <typename T>
- tvcexp_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, T &&opts, const char *dflt)
- : tvcexp_slot_device(mconfig, tag, owner, 0)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
-
- tvcexp_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+ tvcexp_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~tvcexp_slot_device();
- auto out_irq_callback() { return m_out_irq_cb.bind(); }
- auto out_nmi_callback() { return m_out_nmi_cb.bind(); }
+ template <class Object> devcb_base &set_out_irq_callback(Object &&cb) { return m_out_irq_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_out_nmi_callback(Object &&cb) { return m_out_nmi_cb.set_callback(std::forward<Object>(cb)); }
// reading and writing
virtual uint8_t id_r();
@@ -130,4 +120,14 @@ protected:
DECLARE_DEVICE_TYPE(TVCEXP_SLOT, tvcexp_slot_device)
+/***************************************************************************
+ DEVICE CONFIGURATION MACROS
+***************************************************************************/
+
+#define MCFG_TVCEXP_SLOT_OUT_IRQ_CB(_devcb) \
+ downcast<tvcexp_slot_device &>(*device).set_out_irq_callback(DEVCB_##_devcb);
+
+#define MCFG_TVCEXP_SLOT_OUT_NMI_CB(_devcb) \
+ downcast<tvcexp_slot_device &>(*device).set_out_nmi_callback(DEVCB_##_devcb);
+
#endif // MAME_BUS_TVC_TVC_H
diff --git a/src/devices/bus/uts_kbd/400kbd.cpp b/src/devices/bus/uts_kbd/400kbd.cpp
deleted file mode 100644
index 38d35fda607..00000000000
--- a/src/devices/bus/uts_kbd/400kbd.cpp
+++ /dev/null
@@ -1,275 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:AJR
-/***************************************************************************
-
- Sperry Univac UTS 400-Format Keyboard
-
- This was called the "400-Mode Keyboard" in the 1981 UTS 20 Single
- Station Operator's Guide. The 1983 System Description also describes a
- Katakana/English Keyboard with a similar but not identical layout.
-
- Of this keyboard's 113 keys, several have no function on the UTS 20,
- though all but the modifier keys produce codes. It is totally
- incompatible with the UTS 10, which fails to properly recognize codes
- corresponding to the top two rows of the alphanumeric layout.
-
- The presently dumped unit, a 1984 Keytronic product, was obtained with
- many extra functions labeled (and some incompletely erased) on the tops
- and sides of the keys, and also identifies the punctuation keys in a
- way that disagrees with emulated behavior of the UTS 20. The port names
- are therefore mostly based on those described in UTS 20 manuals, except
- for two keys which are apparently normally blank.
-
-***************************************************************************/
-
-#include "emu.h"
-#include "bus/uts_kbd/400kbd.h"
-
-#include "cpu/mcs48/mcs48.h"
-
-
-DEFINE_DEVICE_TYPE(UTS_400_KEYBOARD, uts_400_keyboard_device, "uts_400kbd", "UTS 400-Format Keyboard (F3621-04-000)")
-
-uts_400_keyboard_device::uts_400_keyboard_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
- : device_t(mconfig, UTS_400_KEYBOARD, tag, owner, clock)
- , device_uts_keyboard_interface(mconfig, *this)
- , m_keys(*this, "KEY%X", 0U)
- , m_shift_led(*this, "shift_led")
- , m_p2_output(0xff)
- , m_input_select(0)
- , m_ready_line(true)
- , m_prog_line(true)
-{
-}
-
-void uts_400_keyboard_device::device_start()
-{
- m_shift_led.resolve();
-
- save_item(NAME(m_p2_output));
- save_item(NAME(m_input_select));
- save_item(NAME(m_ready_line));
- save_item(NAME(m_prog_line));
-}
-
-WRITE_LINE_MEMBER(uts_400_keyboard_device::ready_w)
-{
- m_ready_line = bool(state);
-}
-
-u8 uts_400_keyboard_device::bus_r()
-{
- return m_keys[m_input_select]->read();
-}
-
-void uts_400_keyboard_device::p1_w(u8 data)
-{
- write_rxd(BIT(data, 1));
- m_shift_led = BIT(data, 4);
-
- // P10 = hysteresis control?
- // P12 = duplicate of P11?
-}
-
-void uts_400_keyboard_device::p2_w(u8 data)
-{
- // P22 = ? (lowered and strobed with RD after key is transmitted)
- m_p2_output = data;
-}
-
-READ_LINE_MEMBER(uts_400_keyboard_device::t1_r)
-{
- return m_ready_line;
-}
-
-WRITE_LINE_MEMBER(uts_400_keyboard_device::prog_w)
-{
- if (!m_prog_line && state)
- m_input_select = m_p2_output & 0x0f;
-
- m_prog_line = bool(state);
-}
-
-static INPUT_PORTS_START(uts_400kbd)
- PORT_START("KEY0")
- PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Right Shift") PORT_CODE(KEYCODE_RSHIFT)
- PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Left Shift") PORT_CHAR(UCHAR_SHIFT_1) PORT_CODE(KEYCODE_LSHIFT)
- PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Shift Lock") PORT_CHAR(UCHAR_MAMEKEY(CAPSLOCK)) PORT_CODE(KEYCODE_CAPSLOCK)
- PORT_BIT(0x78, IP_ACTIVE_LOW, IPT_UNUSED)
- PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Upper Function") PORT_CHAR(UCHAR_SHIFT_2) PORT_CODE(KEYCODE_LCONTROL)
-
- PORT_START("KEY1")
- PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Space")
- PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_UNUSED)
- PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(';') PORT_CHAR('+') PORT_CODE(KEYCODE_COLON)
- PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(':') PORT_CHAR('*') PORT_CODE(KEYCODE_QUOTE)
- PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('o') PORT_CHAR('O') PORT_CODE(KEYCODE_O)
- PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('p') PORT_CHAR('P') PORT_CODE(KEYCODE_P)
- PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('9') PORT_CHAR(')') PORT_CODE(KEYCODE_9)
- PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('0') PORT_CODE(KEYCODE_0)
-
- PORT_START("KEY2")
- PORT_BIT(0x03, IP_ACTIVE_LOW, IPT_UNUSED)
- PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(']') PORT_CHAR('}') PORT_CODE(KEYCODE_CLOSEBRACE)
- PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Return") PORT_CHAR(0x0d) PORT_CODE(KEYCODE_ENTER)
- PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('`') PORT_CHAR('@') PORT_CODE(KEYCODE_EQUALS)
- PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('[') PORT_CHAR('{') PORT_CODE(KEYCODE_OPENBRACE)
- PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('-') PORT_CHAR('=') PORT_CODE(KEYCODE_MINUS)
- PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('^') PORT_CHAR('~') PORT_CODE(KEYCODE_TILDE)
-
- PORT_START("KEY3")
- PORT_BIT(0x0f, IP_ACTIVE_LOW, IPT_UNUSED)
- PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('_') PORT_CODE(KEYCODE_RCONTROL)
- PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(UCHAR_MAMEKEY(7_PAD)) PORT_CODE(KEYCODE_7_PAD)
- PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('\\') PORT_CHAR('|') PORT_CODE(KEYCODE_BACKSLASH)
- PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Right Back Space") PORT_CHAR(0x08) PORT_CODE(KEYCODE_BACKSPACE)
-
- PORT_START("KEY4")
- PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(UCHAR_MAMEKEY(1_PAD)) PORT_CODE(KEYCODE_1_PAD)
- PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(UCHAR_MAMEKEY(2_PAD)) PORT_CODE(KEYCODE_2_PAD)
- PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(UCHAR_MAMEKEY(4_PAD)) PORT_CODE(KEYCODE_4_PAD)
- PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(UCHAR_MAMEKEY(5_PAD)) PORT_CODE(KEYCODE_5_PAD)
- PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(UCHAR_MAMEKEY(8_PAD)) PORT_CODE(KEYCODE_8_PAD)
- PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(UCHAR_MAMEKEY(9_PAD)) PORT_CODE(KEYCODE_9_PAD)
- PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(UCHAR_MAMEKEY(PLUS_PAD)) PORT_CODE(KEYCODE_PLUS_PAD)
- PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(UCHAR_MAMEKEY(MINUS_PAD)) PORT_CODE(KEYCODE_MINUS_PAD)
-
- PORT_START("KEY5")
- PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(UCHAR_MAMEKEY(3_PAD)) PORT_CODE(KEYCODE_3_PAD)
- PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Tab Back") PORT_CODE(KEYCODE_LALT)
- PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(UCHAR_MAMEKEY(6_PAD)) PORT_CODE(KEYCODE_6_PAD)
- PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Space Bar") PORT_CHAR(' ') PORT_CODE(KEYCODE_SPACE)
- PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Tab Fwd") PORT_CHAR(0x09) PORT_CODE(KEYCODE_RALT)
- PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(UCHAR_MAMEKEY(0_PAD)) PORT_CODE(KEYCODE_0_PAD)
- PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(UCHAR_MAMEKEY(DEL_PAD)) PORT_CODE(KEYCODE_DEL_PAD)
- PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Print")
-
- PORT_START("KEY6")
- PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Xmit")
- PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Keyboard Unlock")
- PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Control Page") PORT_CODE(KEYCODE_F10)
- PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Xfer")
- PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Msg Wait FCC Generate") PORT_CODE(KEYCODE_F9)
- PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Status FCC Reenable") PORT_CODE(KEYCODE_F8)
- PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Search FCC Clear") PORT_CODE(KEYCODE_F7)
- PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Rep Adr FCC Locate") PORT_CODE(KEYCODE_F6)
-
- PORT_START("KEY7")
- PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("(Help)")
- PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("F13 F22")
- PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("F11 F20")
- PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("F12 F21")
- PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("F10 F19")
- PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("F9 F18")
- PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("F8 F17")
- PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("F7 F16")
-
- PORT_START("KEY8")
- PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("F6 F15")
- PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("F5 F14")
- PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("(Xchg " UTF8_DOWN " Xchg " UTF8_UP ")")
- PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Disp 1-2")
- PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Hang Up")
- PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Ws Mode Sys Mode")
- PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Insert in Dis Line Dup")
- PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Delete in Dis Erase Dis")
-
- PORT_START("KEY9")
- PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("BOB Clr Chg") PORT_CODE(KEYCODE_F5)
- PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("FF F4") PORT_CODE(KEYCODE_F4)
- PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("LF F3") PORT_CODE(KEYCODE_F3)
- PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Tab Set F2") PORT_CODE(KEYCODE_F2)
- PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Erase to EOF F1") PORT_CODE(KEYCODE_F1)
- PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Erase to EOL Erase to EOD")
- PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Insert in Line Insert Line") PORT_CHAR(UCHAR_MAMEKEY(INSERT))
- PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Delete in Line Delete Line") PORT_CHAR(UCHAR_MAMEKEY(DEL))
-
- PORT_START("KEYA")
- PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('z') PORT_CHAR('Z') PORT_CODE(KEYCODE_Z)
- PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('x') PORT_CHAR('X') PORT_CODE(KEYCODE_X)
- PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Cursor to Home") PORT_CHAR(UCHAR_MAMEKEY(HOME)) PORT_CODE(KEYCODE_HOME)
- PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('a') PORT_CHAR('A') PORT_CODE(KEYCODE_A)
- PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("(Cursor \xe2\x86\x99)") // ↙
- PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Left Back Space") PORT_CODE(KEYCODE_TAB)
- PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("SOE \xe2\x96\xb6") // â–¶
- PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Erase Char") PORT_CODE(KEYCODE_ESC)
-
- PORT_START("KEYB")
- PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('c') PORT_CHAR('C') PORT_CODE(KEYCODE_C)
- PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('v') PORT_CHAR('V') PORT_CODE(KEYCODE_V)
- PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('s') PORT_CHAR('S') PORT_CODE(KEYCODE_S)
- PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('d') PORT_CHAR('D') PORT_CODE(KEYCODE_D)
- PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('q') PORT_CHAR('Q') PORT_CODE(KEYCODE_Q)
- PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('w') PORT_CHAR('W') PORT_CODE(KEYCODE_W)
- PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('1') PORT_CHAR('!') PORT_CODE(KEYCODE_1)
- PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('2') PORT_CHAR('"') PORT_CODE(KEYCODE_2)
-
- PORT_START("KEYC")
- PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('b') PORT_CHAR('B') PORT_CODE(KEYCODE_B)
- PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('n') PORT_CHAR('N') PORT_CODE(KEYCODE_N)
- PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('f') PORT_CHAR('F') PORT_CODE(KEYCODE_F)
- PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('g') PORT_CHAR('G') PORT_CODE(KEYCODE_G)
- PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('e') PORT_CHAR('E') PORT_CODE(KEYCODE_E)
- PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('r') PORT_CHAR('R') PORT_CODE(KEYCODE_R)
- PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('3') PORT_CHAR('#') PORT_CODE(KEYCODE_3)
- PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('4') PORT_CHAR('$') PORT_CODE(KEYCODE_4)
-
- PORT_START("KEYD")
- PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('m') PORT_CHAR('M') PORT_CODE(KEYCODE_M)
- PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(',') PORT_CHAR('<') PORT_CODE(KEYCODE_COMMA)
- PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('h') PORT_CHAR('H') PORT_CODE(KEYCODE_H)
- PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('j') PORT_CHAR('J') PORT_CODE(KEYCODE_J)
- PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('t') PORT_CHAR('T') PORT_CODE(KEYCODE_T)
- PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('y') PORT_CHAR('Y') PORT_CODE(KEYCODE_Y)
- PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('5') PORT_CHAR('%') PORT_CODE(KEYCODE_5)
- PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('6') PORT_CHAR('&') PORT_CODE(KEYCODE_6)
-
- PORT_START("KEYE")
- PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('.') PORT_CHAR('>') PORT_CODE(KEYCODE_STOP)
- PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('/') PORT_CHAR('?') PORT_CODE(KEYCODE_SLASH)
- PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('k') PORT_CHAR('K') PORT_CODE(KEYCODE_K)
- PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('l') PORT_CHAR('L') PORT_CODE(KEYCODE_L)
- PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('u') PORT_CHAR('U') PORT_CODE(KEYCODE_U)
- PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('i') PORT_CHAR('I') PORT_CODE(KEYCODE_I)
- PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('7') PORT_CHAR('\'') PORT_CODE(KEYCODE_7)
- PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('8') PORT_CHAR('(') PORT_CODE(KEYCODE_8)
-
- PORT_START("KEYF")
- PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(UCHAR_MAMEKEY(RIGHT)) PORT_CODE(KEYCODE_RIGHT)
- PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(UCHAR_MAMEKEY(LEFT)) PORT_CODE(KEYCODE_LEFT)
- PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(UCHAR_MAMEKEY(DOWN)) PORT_CODE(KEYCODE_DOWN)
- PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(UCHAR_MAMEKEY(UP)) PORT_CODE(KEYCODE_UP)
- PORT_BIT(0xf0, IP_ACTIVE_LOW, IPT_UNUSED)
-INPUT_PORTS_END
-
-ioport_constructor uts_400_keyboard_device::device_input_ports() const
-{
- return INPUT_PORTS_NAME(uts_400kbd);
-}
-
-void uts_400_keyboard_device::ext_map(address_map &map)
-{
- map(0x00, 0xff).noprw(); // read as above; written only at reset time
-}
-
-void uts_400_keyboard_device::device_add_mconfig(machine_config &config)
-{
- mcs48_cpu_device &kbdc(I8048(config, "kbdc", 4.608_MHz_XTAL)); // SCN8048A
- // XTAL is marked "4608 / 300-007 / KSS39"
- kbdc.set_addrmap(AS_IO, &uts_400_keyboard_device::ext_map);
- kbdc.bus_in_cb().set(FUNC(uts_400_keyboard_device::bus_r));
- kbdc.p1_out_cb().set(FUNC(uts_400_keyboard_device::p1_w));
- kbdc.p2_out_cb().set(FUNC(uts_400_keyboard_device::p2_w));
- kbdc.t1_in_cb().set(FUNC(uts_400_keyboard_device::t1_r));
- kbdc.prog_out_cb().set(FUNC(uts_400_keyboard_device::prog_w));
-}
-
-ROM_START(uts_400kbd)
- ROM_REGION(0x400, "kbdc", 0)
- ROM_LOAD("sperry_20-8048-118.bin", 0x000, 0x400, CRC(ae54503e) SHA1(84081e108aa5801047851b435fd4b043922b2f6e))
-ROM_END
-
-const tiny_rom_entry *uts_400_keyboard_device::device_rom_region() const
-{
- return ROM_NAME(uts_400kbd);
-}
diff --git a/src/devices/bus/uts_kbd/400kbd.h b/src/devices/bus/uts_kbd/400kbd.h
deleted file mode 100644
index 8e73bc10dbd..00000000000
--- a/src/devices/bus/uts_kbd/400kbd.h
+++ /dev/null
@@ -1,44 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:AJR
-
-#ifndef MAME_BUS_UTS_KBD_400KBD_H
-#define MAME_BUS_UTS_KBD_400KBD_H
-
-#pragma once
-
-#include "bus/uts_kbd/uts_kbd.h"
-
-class uts_400_keyboard_device : public device_t, public device_uts_keyboard_interface
-{
-public:
- uts_400_keyboard_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
-
-protected:
- virtual DECLARE_WRITE_LINE_MEMBER(ready_w) override;
-
- virtual ioport_constructor device_input_ports() const override;
- virtual void device_start() override;
- virtual void device_add_mconfig(machine_config &config) override;
- virtual const tiny_rom_entry *device_rom_region() const override;
-
-private:
- u8 bus_r();
- void p1_w(u8 data);
- void p2_w(u8 data);
- DECLARE_READ_LINE_MEMBER(t1_r);
- DECLARE_WRITE_LINE_MEMBER(prog_w);
-
- void ext_map(address_map &map);
-
- required_ioport_array<16> m_keys;
- output_finder<> m_shift_led;
-
- u8 m_p2_output;
- u8 m_input_select;
- bool m_ready_line;
- bool m_prog_line;
-};
-
-DECLARE_DEVICE_TYPE(UTS_400_KEYBOARD, uts_400_keyboard_device)
-
-#endif // MAME_BUS_UTS_KBD_400KBD_H
diff --git a/src/devices/bus/uts_kbd/extw.cpp b/src/devices/bus/uts_kbd/extw.cpp
deleted file mode 100644
index 950d8b244f2..00000000000
--- a/src/devices/bus/uts_kbd/extw.cpp
+++ /dev/null
@@ -1,290 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:AJR
-/***************************************************************************
-
- Sperry Univac UTS Expanded Typewriter Keyboard
-
- This is the default keyboard for the UTS 10 and UTS 20, though the
- latter's manual claims that "SYS MODE" and "WS MODE" have no function.
-
- User beware: the - and / keys are swapped from their respective
- positions on most keyboards.
-
- The LED is located on the LOCK key, but also responds to either shift
- key being pressed (which also releases the shift lock).
-
- The keyboard controller is a custom 48-pin DIP marked:
-
- P60515
- L7340660
- 20-90039-000
- © INTEL '84
-
- This is likely a hybrid ASIC integrating a high-speed 8035-like core
- with at least one of the custom drivers/receivers present in other
- Keytronic keyboards.
-
- There seems to be a slight timing error in the transmit routine which
- causes data bits to be shifted out one 64th of a bit time too quickly.
-
-***************************************************************************/
-
-#include "emu.h"
-#include "bus/uts_kbd/extw.h"
-
-#include "cpu/mcs48/mcs48.h"
-
-
-DEFINE_DEVICE_TYPE(UTS_EXTW_KEYBOARD, uts_extw_keyboard_device, "uts_extw", "UTS Expanded Typewriter Keyboard (F4725-25)")
-
-uts_extw_keyboard_device::uts_extw_keyboard_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
- : device_t(mconfig, UTS_EXTW_KEYBOARD, tag, owner, clock)
- , device_uts_keyboard_interface(mconfig, *this)
- , m_keys(*this, "KEY%X", 0U)
- , m_shift_led(*this, "shift_led")
- , m_p1_output(0xff)
- , m_p2_output(0xff)
- , m_shift_register(0xff)
- , m_ready_line(true)
- , m_prog_line(true)
-{
-}
-
-void uts_extw_keyboard_device::device_start()
-{
- m_shift_led.resolve();
-
- save_item(NAME(m_p1_output));
- save_item(NAME(m_p2_output));
- save_item(NAME(m_shift_register));
- save_item(NAME(m_ready_line));
- save_item(NAME(m_prog_line));
-}
-
-WRITE_LINE_MEMBER(uts_extw_keyboard_device::ready_w)
-{
- m_ready_line = bool(state);
-}
-
-u8 uts_extw_keyboard_device::p1_r()
-{
- return m_ready_line ? 0xf7 : 0xff;
-}
-
-void uts_extw_keyboard_device::p1_w(u8 data)
-{
- write_rxd(!BIT(data, 2));
-
- if (!BIT(m_p1_output, 0) && BIT(data, 0))
- m_shift_register = (m_shift_register >> 1) | (m_shift_register & 0x01) << 7;
-
- // P11 = hysteresis control?
-
- m_p1_output = data;
-}
-
-void uts_extw_keyboard_device::p2_w(u8 data)
-{
- m_shift_led = !BIT(data, 4);
- m_p2_output = data;
-}
-
-void uts_extw_keyboard_device::t0_clock(u32 clk)
-{
-}
-
-READ_LINE_MEMBER(uts_extw_keyboard_device::t1_r)
-{
- return BIT(m_shift_register, 7);
-}
-
-WRITE_LINE_MEMBER(uts_extw_keyboard_device::prog_w)
-{
- if (!m_prog_line && state)
- {
- u8 n = m_p2_output & 0x0f;
- m_shift_register = m_keys[n]->read();
- }
-
- m_prog_line = bool(state);
-}
-
-static INPUT_PORTS_START(uts_extw)
- PORT_START("KEY0")
- PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("E F15") PORT_CHAR('e') PORT_CHAR('E') PORT_CHAR(UCHAR_MAMEKEY(F15)) PORT_CODE(KEYCODE_E)
- PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('3') PORT_CHAR('#') PORT_CHAR(UCHAR_MAMEKEY(F3)) PORT_CODE(KEYCODE_3)
- PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('2') PORT_CHAR('"') PORT_CHAR(UCHAR_MAMEKEY(F2)) PORT_CODE(KEYCODE_2)
- PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("W F14") PORT_CHAR('w') PORT_CHAR('W') PORT_CHAR(UCHAR_MAMEKEY(F14)) PORT_CODE(KEYCODE_W)
- PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("S") PORT_CHAR('s') PORT_CHAR('S') PORT_CODE(KEYCODE_S)
- PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("A") PORT_CHAR('a') PORT_CHAR('A') PORT_CODE(KEYCODE_A)
- PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("X") PORT_CHAR('x') PORT_CHAR('X') PORT_CODE(KEYCODE_X)
- PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Z") PORT_CHAR('z') PORT_CHAR('Z') PORT_CODE(KEYCODE_Z)
-
- PORT_START("KEY1")
- PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Tab Back") PORT_CODE(KEYCODE_RCONTROL) // ⇤
- PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(0x08) PORT_CODE(KEYCODE_BACKSPACE) // doesn't work on uts10?
- PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('^') PORT_CHAR('~') PORT_CHAR(UCHAR_MAMEKEY(F12)) PORT_CODE(KEYCODE_EQUALS)
- PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("[ { Ws Mode") PORT_CHAR('[') PORT_CHAR('{') PORT_CODE(KEYCODE_CLOSEBRACE)
- PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(']') PORT_CHAR('}') PORT_CODE(KEYCODE_BACKSLASH) // between : and return key
- PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(':') PORT_CHAR('*') PORT_CODE(KEYCODE_QUOTE)
- PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(0x0d) PORT_CODE(KEYCODE_ENTER) // ↵
- PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Right Shift") PORT_CODE(KEYCODE_RSHIFT)
-
- PORT_START("KEY2")
- PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("@ \\ Sys Mode") PORT_CHAR('@') PORT_CHAR('\\') PORT_CODE(KEYCODE_OPENBRACE)
- PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('/') PORT_CHAR('?') PORT_CHAR(UCHAR_MAMEKEY(F11)) PORT_CODE(KEYCODE_MINUS)
- PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('0') PORT_CHAR('=') PORT_CHAR(UCHAR_MAMEKEY(F10)) PORT_CODE(KEYCODE_0)
- PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("P F22") PORT_CHAR('p') PORT_CHAR('P') PORT_CODE(KEYCODE_P)
- PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(';') PORT_CHAR('+') PORT_CODE(KEYCODE_COLON)
- PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME(", ,") PORT_CHAR(',') PORT_CODE(KEYCODE_COMMA)
- PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('-') PORT_CHAR('_') PORT_CODE(KEYCODE_SLASH)
- PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME(". .") PORT_CHAR('.') PORT_CODE(KEYCODE_STOP)
-
- PORT_START("KEY3")
- PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("U F19") PORT_CHAR('u') PORT_CHAR('U') PORT_CHAR(UCHAR_MAMEKEY(F19)) PORT_CODE(KEYCODE_U)
- PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('7') PORT_CHAR('\'') PORT_CHAR(UCHAR_MAMEKEY(F7)) PORT_CODE(KEYCODE_7)
- PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('6') PORT_CHAR('&') PORT_CHAR(UCHAR_MAMEKEY(F6)) PORT_CODE(KEYCODE_6)
- PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Y F18") PORT_CHAR('y') PORT_CHAR('Y') PORT_CHAR(UCHAR_MAMEKEY(F18)) PORT_CODE(KEYCODE_Y)
- PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("H") PORT_CHAR('h') PORT_CHAR('H') PORT_CODE(KEYCODE_H)
- PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("G") PORT_CHAR('g') PORT_CHAR('G') PORT_CODE(KEYCODE_G)
- PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("N") PORT_CHAR('n') PORT_CHAR('N') PORT_CODE(KEYCODE_N)
- PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("B") PORT_CHAR('b') PORT_CHAR('B') PORT_CODE(KEYCODE_B)
-
- PORT_START("KEY4")
- PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("SOE \xe2\x96\xb6 Tab Set") PORT_CODE(KEYCODE_LALT) // â–¶
- PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Insert in Line Insert in Disp") PORT_CHAR(UCHAR_MAMEKEY(INSERT)) PORT_CODE(KEYCODE_INSERT)
- PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Delete in Line Delete in Disp") PORT_CHAR(UCHAR_MAMEKEY(DEL)) PORT_CODE(KEYCODE_DEL)
- PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Cursor to Home") PORT_CHAR(UCHAR_MAMEKEY(HOME)) PORT_CODE(KEYCODE_HOME) // ↖
- PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(UCHAR_MAMEKEY(UP)) PORT_CODE(KEYCODE_UP)
- PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(UCHAR_MAMEKEY(LEFT)) PORT_CODE(KEYCODE_LEFT)
- PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(UCHAR_MAMEKEY(RIGHT)) PORT_CODE(KEYCODE_RIGHT)
- PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(UCHAR_MAMEKEY(DOWN)) PORT_CODE(KEYCODE_DOWN)
-
- PORT_START("KEY5")
- PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(UCHAR_MAMEKEY(5_PAD)) PORT_CODE(KEYCODE_5_PAD)
- PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(UCHAR_MAMEKEY(4_PAD)) PORT_CODE(KEYCODE_4_PAD)
- PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(UCHAR_MAMEKEY(7_PAD)) PORT_CODE(KEYCODE_7_PAD)
- PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(UCHAR_MAMEKEY(1_PAD)) PORT_CODE(KEYCODE_1_PAD)
- PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(UCHAR_MAMEKEY(2_PAD)) PORT_CODE(KEYCODE_2_PAD)
- PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(UCHAR_MAMEKEY(8_PAD)) PORT_CODE(KEYCODE_8_PAD)
- PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_UNUSED)
- PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(UCHAR_MAMEKEY(0_PAD)) PORT_CODE(KEYCODE_0_PAD)
-
- PORT_START("KEY6")
- PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(UCHAR_MAMEKEY(PLUS_PAD)) PORT_CODE(KEYCODE_PLUS_PAD)
- PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(UCHAR_MAMEKEY(6_PAD)) PORT_CODE(KEYCODE_6_PAD)
- PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(UCHAR_MAMEKEY(9_PAD)) PORT_CODE(KEYCODE_9_PAD)
- PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(UCHAR_MAMEKEY(3_PAD)) PORT_CODE(KEYCODE_3_PAD)
- PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_UNUSED)
- PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(UCHAR_MAMEKEY(MINUS_PAD)) PORT_CODE(KEYCODE_MINUS_PAD)
- PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(UCHAR_MAMEKEY(DEL_PAD)) PORT_CODE(KEYCODE_DEL_PAD)
- PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(UCHAR_MAMEKEY(TAB_PAD)) PORT_CODE(KEYCODE_ENTER_PAD) // ⇥
-
- PORT_START("KEY7")
- PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Q F13") PORT_CHAR('q') PORT_CHAR('Q') PORT_CHAR(UCHAR_MAMEKEY(F13)) PORT_CODE(KEYCODE_Q)
- PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('1') PORT_CHAR('!') PORT_CHAR(UCHAR_MAMEKEY(F1)) PORT_CODE(KEYCODE_1)
- PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('|') PORT_CHAR('`') PORT_CODE(KEYCODE_TILDE)
- PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Tab Forward") PORT_CHAR(0x09) PORT_CODE(KEYCODE_TAB) // ⇥
- PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Fctn") PORT_CHAR(UCHAR_SHIFT_2) PORT_CODE(KEYCODE_LCONTROL)
- PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Lock") PORT_CHAR(UCHAR_MAMEKEY(CAPSLOCK)) PORT_CODE(KEYCODE_CAPSLOCK)
- PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('<') PORT_CHAR('>') PORT_CODE(KEYCODE_BACKSLASH2)
- PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Left Shift") PORT_CHAR(UCHAR_SHIFT_1) PORT_CODE(KEYCODE_LSHIFT)
-
- PORT_START("KEY8")
- PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("FF Disp 1-2") PORT_CODE(KEYCODE_F3)
- PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Clr Chg") PORT_CODE(KEYCODE_F4)
- PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("FCC Locate") PORT_CODE(KEYCODE_F5)
- PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("LF Hang Up") PORT_CODE(KEYCODE_F2)
- PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Line Dup") PORT_CODE(KEYCODE_F1)
- PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Delete Line Insert Line") PORT_CODE(KEYCODE_ESC)
- PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Erase EOL Erase EOD") PORT_CODE(KEYCODE_END)
- PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Erase to EOF Erase Display") PORT_CODE(KEYCODE_PGDN)
-
- PORT_START("KEY9")
- PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("T F17") PORT_CHAR('t') PORT_CHAR('T') PORT_CHAR(UCHAR_MAMEKEY(F17)) PORT_CODE(KEYCODE_T)
- PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('5') PORT_CHAR('%') PORT_CHAR(UCHAR_MAMEKEY(F5)) PORT_CODE(KEYCODE_5)
- PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('4') PORT_CHAR('$') PORT_CHAR(UCHAR_MAMEKEY(F4)) PORT_CODE(KEYCODE_4)
- PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("R F16") PORT_CHAR('r') PORT_CHAR('R') PORT_CHAR(UCHAR_MAMEKEY(F16)) PORT_CODE(KEYCODE_R)
- PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("F") PORT_CHAR('f') PORT_CHAR('F') PORT_CODE(KEYCODE_F)
- PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("D") PORT_CHAR('d') PORT_CHAR('D') PORT_CODE(KEYCODE_D)
- PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("V") PORT_CHAR('v') PORT_CHAR('V') PORT_CODE(KEYCODE_V)
- PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("C") PORT_CHAR('c') PORT_CHAR('C') PORT_CODE(KEYCODE_C)
-
- PORT_START("KEYA")
- PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Msg Wait Unlock") PORT_CODE(KEYCODE_F11)
- PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("FCC Clear") PORT_CODE(KEYCODE_F6)
- PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Xmit") PORT_CODE(KEYCODE_F12)
- PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Print Ctl Page") PORT_CODE(KEYCODE_F10)
- PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("FCC Gen") PORT_CODE(KEYCODE_F8)
- PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("FCC Enable") PORT_CODE(KEYCODE_F7)
- PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Xfer Char Erase") PORT_CODE(KEYCODE_F9)
- PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR(' ') PORT_CODE(KEYCODE_SPACE)
-
- PORT_START("KEYB")
- PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("O F21") PORT_CHAR('o') PORT_CHAR('O') PORT_CODE(KEYCODE_O)
- PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('9') PORT_CHAR(')') PORT_CHAR(UCHAR_MAMEKEY(F9)) PORT_CODE(KEYCODE_9)
- PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHAR('8') PORT_CHAR('(') PORT_CHAR(UCHAR_MAMEKEY(F8)) PORT_CODE(KEYCODE_8)
- PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("I F20") PORT_CHAR('i') PORT_CHAR('I') PORT_CHAR(UCHAR_MAMEKEY(F20)) PORT_CODE(KEYCODE_I)
- PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("K") PORT_CHAR('k') PORT_CHAR('K') PORT_CODE(KEYCODE_K)
- PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("L") PORT_CHAR('l') PORT_CHAR('L') PORT_CODE(KEYCODE_L)
- PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("J") PORT_CHAR('j') PORT_CHAR('J') PORT_CODE(KEYCODE_J)
- PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("M") PORT_CHAR('m') PORT_CHAR('M') PORT_CODE(KEYCODE_M)
-
- PORT_START("KEYC")
- PORT_BIT(0xff, IP_ACTIVE_LOW, IPT_UNUSED)
-
- PORT_START("KEYD")
- PORT_BIT(0xff, IP_ACTIVE_LOW, IPT_UNUSED)
-
- PORT_START("KEYE")
- PORT_BIT(0xff, IP_ACTIVE_LOW, IPT_UNUSED)
-
- PORT_START("KEYF")
- PORT_DIPNAME(0x0f, 0x0f, "National Layout") // stored as a 4-bit value even though only 7 of the first 8 are valid
- PORT_DIPSETTING(0x0f, "USA/UK English")
- PORT_DIPSETTING(0x0d, "German (QWERTZ)")
- PORT_DIPSETTING(0x0c, "European A")
- PORT_DIPSETTING(0x0b, "European B") // Swedish/Finnish?
- PORT_DIPSETTING(0x0a, "European C")
- PORT_DIPSETTING(0x09, "European D") // Spanish?
- PORT_DIPSETTING(0x08, "European E")
- PORT_BIT(0xf0, IP_ACTIVE_LOW, IPT_UNUSED)
-INPUT_PORTS_END
-
-ioport_constructor uts_extw_keyboard_device::device_input_ports() const
-{
- return INPUT_PORTS_NAME(uts_extw);
-}
-
-void uts_extw_keyboard_device::prog_map(address_map &map)
-{
- map(0x000, 0x7ff).rom().region("kbdc", 0);
-}
-
-void uts_extw_keyboard_device::ext_map(address_map &map)
-{
- map(0x00, 0xff).nopr(); // read only once, at reset time
-}
-
-void uts_extw_keyboard_device::device_add_mconfig(machine_config &config)
-{
- mcs48_cpu_device &kbdc(I8035(config, "kbdc", 9.216_MHz_XTAL)); // not a standard 8035; see notes
- kbdc.set_addrmap(AS_PROGRAM, &uts_extw_keyboard_device::prog_map);
- kbdc.set_addrmap(AS_IO, &uts_extw_keyboard_device::ext_map);
- kbdc.p1_in_cb().set(FUNC(uts_extw_keyboard_device::p1_r));
- kbdc.p1_out_cb().set(FUNC(uts_extw_keyboard_device::p1_w));
- kbdc.p2_out_cb().set(FUNC(uts_extw_keyboard_device::p2_w));
- kbdc.set_t0_clk_cb(FUNC(uts_extw_keyboard_device::t0_clock));
- kbdc.t1_in_cb().set(FUNC(uts_extw_keyboard_device::t1_r));
- kbdc.prog_out_cb().set(FUNC(uts_extw_keyboard_device::prog_w));
-}
-
-ROM_START(uts_extw)
- ROM_REGION(0x800, "kbdc", 0)
- ROM_LOAD("2716264.bin", 0x000, 0x800, CRC(75e188aa) SHA1(a6486576525f7eec617fd7f9db469063f8c357fc)) // "© 1985 Keytronic"
-ROM_END
-
-const tiny_rom_entry *uts_extw_keyboard_device::device_rom_region() const
-{
- return ROM_NAME(uts_extw);
-}
diff --git a/src/devices/bus/uts_kbd/extw.h b/src/devices/bus/uts_kbd/extw.h
deleted file mode 100644
index 21599139ec1..00000000000
--- a/src/devices/bus/uts_kbd/extw.h
+++ /dev/null
@@ -1,47 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:AJR
-
-#ifndef MAME_BUS_UTS_KBD_EXTW_H
-#define MAME_BUS_UTS_KBD_EXTW_H
-
-#pragma once
-
-#include "bus/uts_kbd/uts_kbd.h"
-
-class uts_extw_keyboard_device : public device_t, public device_uts_keyboard_interface
-{
-public:
- uts_extw_keyboard_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
-
-protected:
- virtual DECLARE_WRITE_LINE_MEMBER(ready_w) override;
-
- virtual ioport_constructor device_input_ports() const override;
- virtual void device_start() override;
- virtual void device_add_mconfig(machine_config &config) override;
- virtual const tiny_rom_entry *device_rom_region() const override;
-
-private:
- u8 p1_r();
- void p1_w(u8 data);
- void p2_w(u8 data);
- void t0_clock(u32 clk);
- DECLARE_READ_LINE_MEMBER(t1_r);
- DECLARE_WRITE_LINE_MEMBER(prog_w);
-
- void prog_map(address_map &map);
- void ext_map(address_map &map);
-
- required_ioport_array<16> m_keys;
- output_finder<> m_shift_led;
-
- u8 m_p1_output;
- u8 m_p2_output;
- u8 m_shift_register;
- bool m_ready_line;
- bool m_prog_line;
-};
-
-DECLARE_DEVICE_TYPE(UTS_EXTW_KEYBOARD, uts_extw_keyboard_device)
-
-#endif // MAME_BUS_UTS_KBD_EXTW_H
diff --git a/src/devices/bus/uts_kbd/uts_kbd.cpp b/src/devices/bus/uts_kbd/uts_kbd.cpp
deleted file mode 100644
index d652dbfca80..00000000000
--- a/src/devices/bus/uts_kbd/uts_kbd.cpp
+++ /dev/null
@@ -1,89 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:AJR
-/***************************************************************************
-
- Sperry Univac UTS series keyboard port
-
- The UTS 20 System Description presents four types of keyboards that
- may be connected to the terminal as auxiliary input devices:
- - Typewriter Keyboard
- - Expanded Typewriter Keyboard
- - Katakana/English Keyboard
- - UTS 400-Format Keyboard
-
- A Magnetic Stripe Reader which can read ABA or IATA data is another
- device which can be connected to the keyboard input. This apparently
- includes a pass-through keyboard connector.
-
- Keyboard input is transmitted serially at 9600 baud, using 8 data bits,
- 1 stop bit and odd parity. A two-byte sequence is sent for each key,
- with the (non-ASCII) keycode being contained in the second byte. The
- only other active line appears to be a ready signal (assumed to be
- active high), which the terminal drives to synchronize transmissions.
- This might even be a single line driven bidirectionally. There appear
- to be at most four wires attached to the DE-9 connector.
-
-***************************************************************************/
-
-#include "emu.h"
-#include "bus/uts_kbd/uts_kbd.h"
-
-#include "bus/uts_kbd/extw.h"
-#include "bus/uts_kbd/400kbd.h"
-
-//**************************************************************************
-// UTS KEYBOARD PORT DEVICE
-//**************************************************************************
-
-DEFINE_DEVICE_TYPE(UTS_KEYBOARD, uts_keyboard_port_device, "uts_kbd", "UTS Keyboard Port")
-
-uts_keyboard_port_device::uts_keyboard_port_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
- : device_t(mconfig, UTS_KEYBOARD, tag, owner, clock)
- , device_slot_interface(mconfig, *this)
- , m_rxd_callback(*this)
- , m_kbd(nullptr)
-{
-}
-
-void uts_keyboard_port_device::device_config_complete()
-{
- m_kbd = dynamic_cast<device_uts_keyboard_interface *>(get_card_device());
-}
-
-void uts_keyboard_port_device::device_resolve_objects()
-{
- m_rxd_callback.resolve_safe();
-}
-
-void uts_keyboard_port_device::device_start()
-{
-}
-
-//**************************************************************************
-// UTS KEYBOARD INTERFACE
-//**************************************************************************
-
-device_uts_keyboard_interface::device_uts_keyboard_interface(const machine_config &mconfig, device_t &device)
- : device_slot_card_interface(mconfig, device)
- , m_port(device, DEVICE_SELF_OWNER)
-{
-}
-
-device_uts_keyboard_interface::~device_uts_keyboard_interface()
-{
-}
-
-//**************************************************************************
-// KEYBOARD OPTIONS
-//**************************************************************************
-
-void uts10_keyboards(device_slot_interface &slot)
-{
- slot.option_add("extw", UTS_EXTW_KEYBOARD);
-}
-
-void uts20_keyboards(device_slot_interface &slot)
-{
- uts10_keyboards(slot);
- slot.option_add("uts400", UTS_400_KEYBOARD);
-}
diff --git a/src/devices/bus/uts_kbd/uts_kbd.h b/src/devices/bus/uts_kbd/uts_kbd.h
deleted file mode 100644
index 7cfff95c0fe..00000000000
--- a/src/devices/bus/uts_kbd/uts_kbd.h
+++ /dev/null
@@ -1,101 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:AJR
-/***************************************************************************
-
- Sperry Univac UTS series keyboard port
-
-***************************************************************************/
-
-#ifndef MAME_BUS_UTS_KBD_UTS_KBD_H
-#define MAME_BUS_UTS_KBD_UTS_KBD_H
-
-#pragma once
-
-
-//**************************************************************************
-// TYPE DEFINITIONS
-//**************************************************************************
-
-// forward declaration
-class device_uts_keyboard_interface;
-
-// ======================> uts_keyboard_port_device
-
-class uts_keyboard_port_device : public device_t, public device_slot_interface
-{
- friend class device_uts_keyboard_interface;
-
-public:
- // construction/destruction
- uts_keyboard_port_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
- template <typename T>
- uts_keyboard_port_device(const machine_config &mconfig, const char *tag, device_t *owner, T &&opts, const char *dflt)
- : uts_keyboard_port_device(mconfig, tag, owner, 0U)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
-
- // configuration
- auto rxd_callback() { return m_rxd_callback.bind(); }
-
- // line handler
- inline DECLARE_WRITE_LINE_MEMBER(ready_w);
-
-protected:
- // device-level overrides
- virtual void device_config_complete() override;
- virtual void device_resolve_objects() override;
- virtual void device_start() override;
-
- // called from keyboard
- DECLARE_WRITE_LINE_MEMBER(write_rxd) { m_rxd_callback(state); }
-
-private:
- // user callback
- devcb_write_line m_rxd_callback;
-
- // selected keyboard
- device_uts_keyboard_interface *m_kbd;
-};
-
-// ======================> device_uts_keyboard_interface
-
-class device_uts_keyboard_interface : public device_slot_card_interface
-{
- friend class uts_keyboard_port_device;
-
-protected:
- // construction/destruction
- device_uts_keyboard_interface(const machine_config &mconfig, device_t &device);
- virtual ~device_uts_keyboard_interface();
-
- DECLARE_WRITE_LINE_MEMBER(write_rxd) { m_port->write_rxd(state); }
-
- virtual DECLARE_WRITE_LINE_MEMBER(ready_w) = 0;
-
-private:
- // parent port
- required_device<uts_keyboard_port_device> m_port;
-};
-
-// type definition
-DECLARE_DEVICE_TYPE(UTS_KEYBOARD, uts_keyboard_port_device)
-
-// standard options
-extern void uts20_keyboards(device_slot_interface &slot);
-extern void uts10_keyboards(device_slot_interface &slot);
-
-//**************************************************************************
-// INLINE FUNCTIONS
-//**************************************************************************
-
-WRITE_LINE_MEMBER(uts_keyboard_port_device::ready_w)
-{
- if (m_kbd != nullptr)
- m_kbd->ready_w(state);
-}
-
-#endif // MAME_BUS_UTS_KBD_UTS_KBD_H
diff --git a/src/devices/bus/vboy/slot.h b/src/devices/bus/vboy/slot.h
index 547f09b8523..a81efa07519 100644
--- a/src/devices/bus/vboy/slot.h
+++ b/src/devices/bus/vboy/slot.h
@@ -62,16 +62,7 @@ class vboy_cart_slot_device : public device_t,
{
public:
// construction/destruction
- template <typename T>
- vboy_cart_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt)
- : vboy_cart_slot_device(mconfig, tag, owner, 0)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
- vboy_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+ vboy_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~vboy_cart_slot_device();
// image-level overrides
@@ -119,4 +110,8 @@ DECLARE_DEVICE_TYPE(VBOY_CART_SLOT, vboy_cart_slot_device)
#define VBOYSLOT_ROM_REGION_TAG ":cart:rom"
+#define MCFG_VBOY_CARTRIDGE_ADD(_tag,_slot_intf,_def_slot) \
+ MCFG_DEVICE_ADD(_tag, VBOY_CART_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
+
#endif // MAME_BUS_VBOY_SLOT_H
diff --git a/src/devices/bus/vc4000/rom.cpp b/src/devices/bus/vc4000/rom.cpp
index ffd9a21ffb5..0e41b2638ed 100644
--- a/src/devices/bus/vc4000/rom.cpp
+++ b/src/devices/bus/vc4000/rom.cpp
@@ -228,7 +228,7 @@ vc4000_chess2_device::vc4000_chess2_device(const machine_config &mconfig, const
mapper specific handlers
-------------------------------------------------*/
-uint8_t vc4000_rom_device::read_rom(offs_t offset)
+READ8_MEMBER(vc4000_rom_device::read_rom)
{
if (offset < m_rom_size)
return m_rom[offset];
@@ -237,18 +237,18 @@ uint8_t vc4000_rom_device::read_rom(offs_t offset)
}
-uint8_t vc4000_ram1k_device::read_ram(offs_t offset)
+READ8_MEMBER(vc4000_ram1k_device::read_ram)
{
return m_ram[offset & (m_ram.size() - 1)];
}
-void vc4000_ram1k_device::write_ram(offs_t offset, uint8_t data)
+WRITE8_MEMBER(vc4000_ram1k_device::write_ram)
{
m_ram[offset & (m_ram.size() - 1)] = data;
}
-uint8_t vc4000_chess2_device::extra_rom(offs_t offset)
+READ8_MEMBER(vc4000_chess2_device::extra_rom)
{
if (offset < (m_rom_size - 0x2000))
return m_rom[offset + 0x2000];
@@ -256,12 +256,12 @@ uint8_t vc4000_chess2_device::extra_rom(offs_t offset)
return 0xff;
}
-uint8_t vc4000_chess2_device::read_ram(offs_t offset)
+READ8_MEMBER(vc4000_chess2_device::read_ram)
{
return m_ram[offset & (m_ram.size() - 1)];
}
-void vc4000_chess2_device::write_ram(offs_t offset, uint8_t data)
+WRITE8_MEMBER(vc4000_chess2_device::write_ram)
{
m_ram[offset & (m_ram.size() - 1)] = data;
}
diff --git a/src/devices/bus/vc4000/rom.h b/src/devices/bus/vc4000/rom.h
index 623e4c248c9..a8d524f2989 100644
--- a/src/devices/bus/vc4000/rom.h
+++ b/src/devices/bus/vc4000/rom.h
@@ -16,7 +16,7 @@ public:
vc4000_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
- virtual uint8_t read_rom(offs_t offset) override;
+ virtual DECLARE_READ8_MEMBER(read_rom) override;
protected:
vc4000_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
@@ -44,8 +44,8 @@ public:
vc4000_ram1k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
- virtual uint8_t read_ram(offs_t offset) override;
- virtual void write_ram(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_ram) override;
+ virtual DECLARE_WRITE8_MEMBER(write_ram) override;
};
// ======================> vc4000_chess2_device
@@ -57,9 +57,9 @@ public:
vc4000_chess2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
- virtual uint8_t extra_rom(offs_t offset) override;
- virtual uint8_t read_ram(offs_t offset) override;
- virtual void write_ram(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(extra_rom) override;
+ virtual DECLARE_READ8_MEMBER(read_ram) override;
+ virtual DECLARE_WRITE8_MEMBER(write_ram) override;
};
diff --git a/src/devices/bus/vc4000/slot.cpp b/src/devices/bus/vc4000/slot.cpp
index 892213c5aef..68c7ca15f4b 100644
--- a/src/devices/bus/vc4000/slot.cpp
+++ b/src/devices/bus/vc4000/slot.cpp
@@ -251,10 +251,10 @@ std::string vc4000_cart_slot_device::get_default_card_software(get_default_card_
read
-------------------------------------------------*/
-uint8_t vc4000_cart_slot_device::read_rom(offs_t offset)
+READ8_MEMBER(vc4000_cart_slot_device::read_rom)
{
if (m_cart)
- return m_cart->read_rom(offset);
+ return m_cart->read_rom(space, offset);
else
return 0xff;
}
@@ -263,10 +263,10 @@ uint8_t vc4000_cart_slot_device::read_rom(offs_t offset)
read
-------------------------------------------------*/
-uint8_t vc4000_cart_slot_device::extra_rom(offs_t offset)
+READ8_MEMBER(vc4000_cart_slot_device::extra_rom)
{
if (m_cart)
- return m_cart->extra_rom(offset);
+ return m_cart->extra_rom(space, offset);
else
return 0xff;
}
@@ -275,10 +275,10 @@ uint8_t vc4000_cart_slot_device::extra_rom(offs_t offset)
read
-------------------------------------------------*/
-uint8_t vc4000_cart_slot_device::read_ram(offs_t offset)
+READ8_MEMBER(vc4000_cart_slot_device::read_ram)
{
if (m_cart)
- return m_cart->read_ram(offset);
+ return m_cart->read_ram(space, offset);
else
return 0xff;
}
@@ -287,8 +287,8 @@ uint8_t vc4000_cart_slot_device::read_ram(offs_t offset)
write
-------------------------------------------------*/
-void vc4000_cart_slot_device::write_ram(offs_t offset, uint8_t data)
+WRITE8_MEMBER(vc4000_cart_slot_device::write_ram)
{
if (m_cart)
- m_cart->write_ram(offset, data);
+ m_cart->write_ram(space, offset, data);
}
diff --git a/src/devices/bus/vc4000/slot.h b/src/devices/bus/vc4000/slot.h
index 2ad52b2c7e0..a5015766545 100644
--- a/src/devices/bus/vc4000/slot.h
+++ b/src/devices/bus/vc4000/slot.h
@@ -27,10 +27,10 @@ public:
virtual ~device_vc4000_cart_interface();
// reading and writing
- virtual uint8_t read_rom(offs_t offset) { return 0xff; }
- virtual uint8_t extra_rom(offs_t offset) { return 0xff; }
- virtual uint8_t read_ram(offs_t offset) { return 0xff; }
- virtual void write_ram(offs_t offset, uint8_t data) {}
+ virtual DECLARE_READ8_MEMBER(read_rom) { return 0xff; }
+ virtual DECLARE_READ8_MEMBER(extra_rom) { return 0xff; }
+ virtual DECLARE_READ8_MEMBER(read_ram) { return 0xff; }
+ virtual DECLARE_WRITE8_MEMBER(write_ram) {}
void rom_alloc(uint32_t size, const char *tag);
void ram_alloc(uint32_t size);
@@ -93,10 +93,10 @@ public:
virtual std::string get_default_card_software(get_default_card_software_hook &hook) const override;
// reading and writing
- virtual uint8_t read_rom(offs_t offset);
- virtual uint8_t extra_rom(offs_t offset);
- virtual uint8_t read_ram(offs_t offset);
- virtual void write_ram(offs_t offset, uint8_t data);
+ virtual DECLARE_READ8_MEMBER(read_rom);
+ virtual DECLARE_READ8_MEMBER(extra_rom);
+ virtual DECLARE_READ8_MEMBER(read_ram);
+ virtual DECLARE_WRITE8_MEMBER(write_ram);
protected:
// device-level overrides
diff --git a/src/devices/bus/vcs/dpc.cpp b/src/devices/bus/vcs/dpc.cpp
index 525f9e77085..aa452ba2957 100644
--- a/src/devices/bus/vcs/dpc.cpp
+++ b/src/devices/bus/vcs/dpc.cpp
@@ -266,10 +266,9 @@ void a26_rom_dpc_device::setup_addon_ptr(uint8_t *ptr)
}
-void a26_rom_dpc_device::device_add_mconfig(machine_config &config)
-{
- ATARI_DPC(config, m_dpc, 0);
-}
+MACHINE_CONFIG_START(a26_rom_dpc_device::device_add_mconfig)
+ MCFG_DEVICE_ADD("dpc", ATARI_DPC, 0)
+MACHINE_CONFIG_END
READ8_MEMBER(a26_rom_dpc_device::read_rom)
{
diff --git a/src/devices/bus/vcs/harmony_melody.cpp b/src/devices/bus/vcs/harmony_melody.cpp
index a38d0c74fdc..38f2b92dd94 100644
--- a/src/devices/bus/vcs/harmony_melody.cpp
+++ b/src/devices/bus/vcs/harmony_melody.cpp
@@ -82,11 +82,10 @@ void a26_rom_harmony_device::harmony_arm7_map(address_map &map)
{
}
-void a26_rom_harmony_device::device_add_mconfig(machine_config &config)
-{
- LPC2103(config, m_cpu, 70000000);
- m_cpu->set_addrmap(AS_PROGRAM, &a26_rom_harmony_device::harmony_arm7_map);
-}
+MACHINE_CONFIG_START(a26_rom_harmony_device::device_add_mconfig)
+ MCFG_DEVICE_ADD("arm", LPC2103, 70000000)
+ MCFG_DEVICE_PROGRAM_MAP(harmony_arm7_map)
+MACHINE_CONFIG_END
// actually if the ARM code is doing this and providing every opcode to the main CPU based
// on bus activity then we shouldn't be doing and of this here (if the ROM is actually
diff --git a/src/devices/bus/vcs/scharger.cpp b/src/devices/bus/vcs/scharger.cpp
index 7c42fc9003c..36a9ee65acc 100644
--- a/src/devices/bus/vcs/scharger.cpp
+++ b/src/devices/bus/vcs/scharger.cpp
@@ -87,15 +87,15 @@ void a26_rom_ss_device::device_reset()
}
-void a26_rom_ss_device::device_add_mconfig(machine_config &config)
-{
- CASSETTE(config, m_cassette);
- m_cassette->set_formats(a26_cassette_formats);
- m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED);
- m_cassette->set_interface("a2600_cass");
-
-// WAVE(config, "wave", m_cassette).add_route(ALL_OUTPUTS, "mono", 0.25);
-}
+MACHINE_CONFIG_START(a26_rom_ss_device::device_add_mconfig)
+ MCFG_CASSETTE_ADD("cassette")
+ MCFG_CASSETTE_FORMATS(a26_cassette_formats)
+ MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED)
+ MCFG_CASSETTE_INTERFACE("a2600_cass")
+
+// MCFG_SOUND_WAVE_ADD("wave", "cassette")
+// MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
+MACHINE_CONFIG_END
inline uint8_t a26_rom_ss_device::read_byte(uint32_t offset)
{
diff --git a/src/devices/bus/vcs_ctrl/ctrl.h b/src/devices/bus/vcs_ctrl/ctrl.h
index 574a7dc3ae8..31f371d2fa8 100644
--- a/src/devices/bus/vcs_ctrl/ctrl.h
+++ b/src/devices/bus/vcs_ctrl/ctrl.h
@@ -15,6 +15,22 @@
#pragma once
+
+
+//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_VCS_CONTROL_PORT_ADD(_tag, _slot_intf, _def_slot) \
+ MCFG_DEVICE_ADD(_tag, VCS_CONTROL_PORT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
+
+
+#define MCFG_VCS_CONTROL_PORT_TRIGGER_CALLBACK(_write) \
+ downcast<vcs_control_port_device &>(*device).set_trigger_wr_callback(DEVCB_##_write);
+
+
+
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -63,6 +79,7 @@ public:
vcs_control_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
// static configuration helpers
+ template <class Object> devcb_base &set_trigger_wr_callback(Object &&cb) { return m_write_trigger.set_callback(std::forward<Object>(cb)); }
auto trigger_wr_callback() { return m_write_trigger.bind(); }
// computer interface
diff --git a/src/devices/bus/vectrex/slot.h b/src/devices/bus/vectrex/slot.h
index f779bf5d514..605e273875f 100644
--- a/src/devices/bus/vectrex/slot.h
+++ b/src/devices/bus/vectrex/slot.h
@@ -112,4 +112,8 @@ DECLARE_DEVICE_TYPE(VECTREX_CART_SLOT, vectrex_cart_slot_device)
#define VECSLOT_ROM_REGION_TAG ":cart:rom"
+#define MCFG_VECTREX_CARTRIDGE_ADD(_tag,_slot_intf,_def_slot) \
+ MCFG_DEVICE_ADD(_tag, VECTREX_CART_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
+
#endif // MAME_BUS_VECTREX_SLOT_H
diff --git a/src/devices/bus/vic10/exp.cpp b/src/devices/bus/vic10/exp.cpp
index 26ad1980448..e3af1609567 100644
--- a/src/devices/bus/vic10/exp.cpp
+++ b/src/devices/bus/vic10/exp.cpp
@@ -198,11 +198,11 @@ std::string vic10_expansion_slot_device::get_default_card_software(get_default_c
// cd_r - cartridge data read
//-------------------------------------------------
-uint8_t vic10_expansion_slot_device::cd_r(offs_t offset, uint8_t data, int lorom, int uprom, int exram)
+uint8_t vic10_expansion_slot_device::cd_r(address_space &space, offs_t offset, uint8_t data, int lorom, int uprom, int exram)
{
if (m_card != nullptr)
{
- data = m_card->vic10_cd_r(offset, data, lorom, uprom, exram);
+ data = m_card->vic10_cd_r(space, offset, data, lorom, uprom, exram);
}
return data;
@@ -213,11 +213,11 @@ uint8_t vic10_expansion_slot_device::cd_r(offs_t offset, uint8_t data, int lorom
// cd_w - cartridge data write
//-------------------------------------------------
-void vic10_expansion_slot_device::cd_w(offs_t offset, uint8_t data, int lorom, int uprom, int exram)
+void vic10_expansion_slot_device::cd_w(address_space &space, offs_t offset, uint8_t data, int lorom, int uprom, int exram)
{
if (m_card != nullptr)
{
- m_card->vic10_cd_w(offset, data, lorom, uprom, exram);
+ m_card->vic10_cd_w(space, offset, data, lorom, uprom, exram);
}
}
diff --git a/src/devices/bus/vic10/exp.h b/src/devices/bus/vic10/exp.h
index 710b25bbd49..24da3f392dc 100644
--- a/src/devices/bus/vic10/exp.h
+++ b/src/devices/bus/vic10/exp.h
@@ -79,8 +79,8 @@ public:
auto sp_callback() { return m_write_sp.bind(); }
// computer interface
- uint8_t cd_r(offs_t offset, uint8_t data, int lorom, int uprom, int exram);
- void cd_w(offs_t offset, uint8_t data, int lorom, int uprom, int exram);
+ uint8_t cd_r(address_space &space, offs_t offset, uint8_t data, int lorom, int uprom, int exram);
+ void cd_w(address_space &space, offs_t offset, uint8_t data, int lorom, int uprom, int exram);
DECLARE_READ_LINE_MEMBER( p0_r );
DECLARE_WRITE_LINE_MEMBER( p0_w );
@@ -133,8 +133,8 @@ public:
// construction/destruction
virtual ~device_vic10_expansion_card_interface();
- virtual uint8_t vic10_cd_r(offs_t offset, uint8_t data, int lorom, int uprom, int exram) { return data; }
- virtual void vic10_cd_w(offs_t offset, uint8_t data, int lorom, int uprom, int exram) { }
+ virtual uint8_t vic10_cd_r(address_space &space, offs_t offset, uint8_t data, int lorom, int uprom, int exram) { return data; }
+ virtual void vic10_cd_w(address_space &space, offs_t offset, uint8_t data, int lorom, int uprom, int exram) { }
virtual int vic10_p0_r() { return 0; }
virtual void vic10_p0_w(int state) { }
virtual void vic10_sp_w(int state) { }
diff --git a/src/devices/bus/vic10/multimax.cpp b/src/devices/bus/vic10/multimax.cpp
index 98f67a48187..f103ad0ce59 100644
--- a/src/devices/bus/vic10/multimax.cpp
+++ b/src/devices/bus/vic10/multimax.cpp
@@ -59,7 +59,7 @@ void vic10_multimax_device::device_reset()
// vic10_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t vic10_multimax_device::vic10_cd_r(offs_t offset, uint8_t data, int lorom, int uprom, int exram)
+uint8_t vic10_multimax_device::vic10_cd_r(address_space &space, offs_t offset, uint8_t data, int lorom, int uprom, int exram)
{
if (!lorom)
{
@@ -85,7 +85,7 @@ uint8_t vic10_multimax_device::vic10_cd_r(offs_t offset, uint8_t data, int lorom
// vic10_cd_w - cartridge data write
//-------------------------------------------------
-void vic10_multimax_device::vic10_cd_w(offs_t offset, uint8_t data, int lorom, int uprom, int exram)
+void vic10_multimax_device::vic10_cd_w(address_space &space, offs_t offset, uint8_t data, int lorom, int uprom, int exram)
{
if (!exram)
{
diff --git a/src/devices/bus/vic10/multimax.h b/src/devices/bus/vic10/multimax.h
index 51175fc7bd8..170ed34fb22 100644
--- a/src/devices/bus/vic10/multimax.h
+++ b/src/devices/bus/vic10/multimax.h
@@ -33,8 +33,8 @@ protected:
virtual void device_reset() override;
// device_vic10_expansion_card_interface overrides
- virtual uint8_t vic10_cd_r(offs_t offset, uint8_t data, int lorom, int uprom, int exram) override;
- virtual void vic10_cd_w(offs_t offset, uint8_t data, int lorom, int uprom, int exram) override;
+ virtual uint8_t vic10_cd_r(address_space &space, offs_t offset, uint8_t data, int lorom, int uprom, int exram) override;
+ virtual void vic10_cd_w(address_space &space, offs_t offset, uint8_t data, int lorom, int uprom, int exram) override;
private:
uint8_t m_latch;
diff --git a/src/devices/bus/vic10/std.cpp b/src/devices/bus/vic10/std.cpp
index de4ba6ff8b6..0257ea11d98 100644
--- a/src/devices/bus/vic10/std.cpp
+++ b/src/devices/bus/vic10/std.cpp
@@ -46,7 +46,7 @@ void vic10_standard_cartridge_device::device_start()
// vic10_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t vic10_standard_cartridge_device::vic10_cd_r(offs_t offset, uint8_t data, int lorom, int uprom, int exram)
+uint8_t vic10_standard_cartridge_device::vic10_cd_r(address_space &space, offs_t offset, uint8_t data, int lorom, int uprom, int exram)
{
if (!lorom && m_lorom.bytes())
{
@@ -69,7 +69,7 @@ uint8_t vic10_standard_cartridge_device::vic10_cd_r(offs_t offset, uint8_t data,
// vic10_cd_w - cartridge data write
//-------------------------------------------------
-void vic10_standard_cartridge_device::vic10_cd_w(offs_t offset, uint8_t data, int lorom, int uprom, int exram)
+void vic10_standard_cartridge_device::vic10_cd_w(address_space &space, offs_t offset, uint8_t data, int lorom, int uprom, int exram)
{
if (!exram && m_exram.bytes())
{
diff --git a/src/devices/bus/vic10/std.h b/src/devices/bus/vic10/std.h
index 3279a58333c..1d1ebf7ae33 100644
--- a/src/devices/bus/vic10/std.h
+++ b/src/devices/bus/vic10/std.h
@@ -33,8 +33,8 @@ protected:
virtual void device_start() override;
// device_vic10_expansion_card_interface overrides
- virtual uint8_t vic10_cd_r(offs_t offset, uint8_t data, int lorom, int uprom, int exram) override;
- virtual void vic10_cd_w(offs_t offset, uint8_t data, int lorom, int uprom, int exram) override;
+ virtual uint8_t vic10_cd_r(address_space &space, offs_t offset, uint8_t data, int lorom, int uprom, int exram) override;
+ virtual void vic10_cd_w(address_space &space, offs_t offset, uint8_t data, int lorom, int uprom, int exram) override;
};
diff --git a/src/devices/bus/vic20/exp.cpp b/src/devices/bus/vic20/exp.cpp
index c472f7408fd..4bc6136553b 100644
--- a/src/devices/bus/vic20/exp.cpp
+++ b/src/devices/bus/vic20/exp.cpp
@@ -178,11 +178,11 @@ std::string vic20_expansion_slot_device::get_default_card_software(get_default_c
// cd_r - cartridge data read
//-------------------------------------------------
-uint8_t vic20_expansion_slot_device::cd_r(offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3)
+uint8_t vic20_expansion_slot_device::cd_r(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3)
{
if (m_card != nullptr)
{
- data = m_card->vic20_cd_r(offset, data, ram1, ram2, ram3, blk1, blk2, blk3, blk5, io2, io3);
+ data = m_card->vic20_cd_r(space, offset, data, ram1, ram2, ram3, blk1, blk2, blk3, blk5, io2, io3);
}
return data;
@@ -193,11 +193,11 @@ uint8_t vic20_expansion_slot_device::cd_r(offs_t offset, uint8_t data, int ram1,
// cd_w - cartridge data write
//-------------------------------------------------
-void vic20_expansion_slot_device::cd_w(offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3)
+void vic20_expansion_slot_device::cd_w(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3)
{
if (m_card != nullptr)
{
- m_card->vic20_cd_w(offset, data, ram1, ram2, ram3, blk1, blk2, blk3, blk5, io2, io3);
+ m_card->vic20_cd_w(space, offset, data, ram1, ram2, ram3, blk1, blk2, blk3, blk5, io2, io3);
}
}
diff --git a/src/devices/bus/vic20/exp.h b/src/devices/bus/vic20/exp.h
index f7e51b0ee57..b6b0dbd1346 100644
--- a/src/devices/bus/vic20/exp.h
+++ b/src/devices/bus/vic20/exp.h
@@ -79,8 +79,8 @@ public:
auto res_wr_callback() { return m_write_res.bind(); }
// computer interface
- uint8_t cd_r(offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3);
- void cd_w(offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3);
+ uint8_t cd_r(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3);
+ void cd_w(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3);
// cartridge interface
DECLARE_WRITE_LINE_MEMBER( irq_w ) { m_write_irq(state); }
@@ -129,8 +129,8 @@ public:
// construction/destruction
virtual ~device_vic20_expansion_card_interface();
- virtual uint8_t vic20_cd_r(offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3) { return data; };
- virtual void vic20_cd_w(offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3) { };
+ virtual uint8_t vic20_cd_r(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3) { return data; };
+ virtual void vic20_cd_w(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3) { };
protected:
device_vic20_expansion_card_interface(const machine_config &mconfig, device_t &device);
diff --git a/src/devices/bus/vic20/fe3.cpp b/src/devices/bus/vic20/fe3.cpp
index f008bec3cb8..57b7df49e91 100644
--- a/src/devices/bus/vic20/fe3.cpp
+++ b/src/devices/bus/vic20/fe3.cpp
@@ -140,7 +140,7 @@ void vic20_final_expansion_3_device::device_reset()
// vic20_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t vic20_final_expansion_3_device::vic20_cd_r(offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3)
+uint8_t vic20_final_expansion_3_device::vic20_cd_r(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3)
{
switch (m_reg1 & REG1_MODE_MASK)
{
@@ -148,7 +148,7 @@ uint8_t vic20_final_expansion_3_device::vic20_cd_r(offs_t offset, uint8_t data,
// read from ROM
if (!blk5)
{
- data = m_flash_rom->read(get_address(0, 3, offset));
+ data = m_flash_rom->read(space, get_address(0, 3, offset));
m_lockbit = 1;
}
@@ -170,19 +170,19 @@ uint8_t vic20_final_expansion_3_device::vic20_cd_r(offs_t offset, uint8_t data,
// read from ROM
if (!blk1 && !BLK1_HIDDEN)
{
- data = m_flash_rom->read(get_address(REG1_BANK, 0, offset));
+ data = m_flash_rom->read(space, get_address(REG1_BANK, 0, offset));
}
if (!blk2 && !BLK2_HIDDEN)
{
- data = m_flash_rom->read(get_address(REG1_BANK, 1, offset));
+ data = m_flash_rom->read(space, get_address(REG1_BANK, 1, offset));
}
if (!blk3 && !BLK3_HIDDEN)
{
- data = m_flash_rom->read(get_address(REG1_BANK, 2, offset));
+ data = m_flash_rom->read(space, get_address(REG1_BANK, 2, offset));
}
if (!blk5 && !BLK5_HIDDEN)
{
- data = m_flash_rom->read(get_address(REG1_BANK, 3, offset));
+ data = m_flash_rom->read(space, get_address(REG1_BANK, 3, offset));
}
// read from registers
@@ -298,19 +298,19 @@ uint8_t vic20_final_expansion_3_device::vic20_cd_r(offs_t offset, uint8_t data,
// read from ROM bank 0 or RAM bank 1
if (!blk1 && !BLK1_HIDDEN)
{
- data = (m_reg1 & REG1_BLK1) ? m_flash_rom->read(get_address(0, 0, offset)) : m_ram[get_address(1, 0, offset)];
+ data = (m_reg1 & REG1_BLK1) ? m_flash_rom->read(space, get_address(0, 0, offset)) : m_ram[get_address(1, 0, offset)];
}
if (!blk2 && !BLK2_HIDDEN)
{
- data = (m_reg1 & REG1_BLK2) ? m_flash_rom->read(get_address(0, 1, offset)) : m_ram[get_address(1, 1, offset)];
+ data = (m_reg1 & REG1_BLK2) ? m_flash_rom->read(space, get_address(0, 1, offset)) : m_ram[get_address(1, 1, offset)];
}
if (!blk3 && !BLK3_HIDDEN)
{
- data = (m_reg1 & REG1_BLK3) ? m_flash_rom->read(get_address(0, 2, offset)) : m_ram[get_address(1, 2, offset)];
+ data = (m_reg1 & REG1_BLK3) ? m_flash_rom->read(space, get_address(0, 2, offset)) : m_ram[get_address(1, 2, offset)];
}
if (!blk5 && !BLK5_HIDDEN)
{
- data = (m_reg1 & REG1_BLK5) ? m_flash_rom->read(get_address(0, 3, offset)) : m_ram[get_address(1, 3, offset)];
+ data = (m_reg1 & REG1_BLK5) ? m_flash_rom->read(space, get_address(0, 3, offset)) : m_ram[get_address(1, 3, offset)];
}
// read from registers
@@ -330,19 +330,19 @@ uint8_t vic20_final_expansion_3_device::vic20_cd_r(offs_t offset, uint8_t data,
// read from ROM
if (!blk1 && !BLK1_HIDDEN)
{
- data = m_flash_rom->read(get_address(REG1_BANK, 0, offset));
+ data = m_flash_rom->read(space, get_address(REG1_BANK, 0, offset));
}
if (!blk2 && !BLK2_HIDDEN)
{
- data = m_flash_rom->read(get_address(REG1_BANK, 1, offset));
+ data = m_flash_rom->read(space, get_address(REG1_BANK, 1, offset));
}
if (!blk3 && !BLK3_HIDDEN)
{
- data = m_flash_rom->read(get_address(REG1_BANK, 2, offset));
+ data = m_flash_rom->read(space, get_address(REG1_BANK, 2, offset));
}
if (!blk5 && !BLK5_HIDDEN)
{
- data = m_flash_rom->read(get_address(REG1_BANK, 3, offset));
+ data = m_flash_rom->read(space, get_address(REG1_BANK, 3, offset));
}
// read from registers
@@ -361,7 +361,7 @@ uint8_t vic20_final_expansion_3_device::vic20_cd_r(offs_t offset, uint8_t data,
// vic20_cd_w - cartridge data write
//-------------------------------------------------
-void vic20_final_expansion_3_device::vic20_cd_w(offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3)
+void vic20_final_expansion_3_device::vic20_cd_w(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3)
{
switch (m_reg1 & REG1_MODE_MASK)
{
@@ -551,19 +551,19 @@ void vic20_final_expansion_3_device::vic20_cd_w(offs_t offset, uint8_t data, int
// write to ROM
if (!blk1 && !BLK1_HIDDEN)
{
- m_flash_rom->write(get_address(REG1_BANK, 0, offset), data);
+ m_flash_rom->write(space, get_address(REG1_BANK, 0, offset), data);
}
if (!blk2 && !BLK2_HIDDEN)
{
- m_flash_rom->write(get_address(REG1_BANK, 1, offset), data);
+ m_flash_rom->write(space, get_address(REG1_BANK, 1, offset), data);
}
if (!blk3 && !BLK3_HIDDEN)
{
- m_flash_rom->write(get_address(REG1_BANK, 2, offset), data);
+ m_flash_rom->write(space, get_address(REG1_BANK, 2, offset), data);
}
if (!blk5 && !BLK5_HIDDEN)
{
- m_flash_rom->write(get_address(REG1_BANK, 3, offset), data);
+ m_flash_rom->write(space, get_address(REG1_BANK, 3, offset), data);
}
// write to registers
diff --git a/src/devices/bus/vic20/fe3.h b/src/devices/bus/vic20/fe3.h
index 018ef2617b6..e65a97bfd1f 100644
--- a/src/devices/bus/vic20/fe3.h
+++ b/src/devices/bus/vic20/fe3.h
@@ -39,8 +39,8 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// device_vic20_expansion_card_interface overrides
- virtual uint8_t vic20_cd_r(offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3) override;
- virtual void vic20_cd_w(offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3) override;
+ virtual uint8_t vic20_cd_r(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3) override;
+ virtual void vic20_cd_w(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3) override;
private:
enum
diff --git a/src/devices/bus/vic20/megacart.cpp b/src/devices/bus/vic20/megacart.cpp
index 8094adfba2b..fea4153457e 100644
--- a/src/devices/bus/vic20/megacart.cpp
+++ b/src/devices/bus/vic20/megacart.cpp
@@ -22,9 +22,10 @@ DEFINE_DEVICE_TYPE(VIC20_MEGACART, vic20_megacart_device, "vic20_megacart", "VIC
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void vic20_megacart_device::device_add_mconfig(machine_config &config)
-{
-}
+MACHINE_CONFIG_START(vic20_megacart_device::device_add_mconfig)
+
+MACHINE_CONFIG_END
+
//**************************************************************************
@@ -70,7 +71,7 @@ void vic20_megacart_device::device_reset()
// vic20_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t vic20_megacart_device::vic20_cd_r(offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3)
+uint8_t vic20_megacart_device::vic20_cd_r(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3)
{
if (!ram1 || !ram2 || !ram3 || !io2 || !io3)
{
@@ -94,7 +95,7 @@ uint8_t vic20_megacart_device::vic20_cd_r(offs_t offset, uint8_t data, int ram1,
// vic20_cd_w - cartridge data write
//-------------------------------------------------
-void vic20_megacart_device::vic20_cd_w(offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3)
+void vic20_megacart_device::vic20_cd_w(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3)
{
if (!ram1 || !ram2 || !ram3 || !io2)
{
diff --git a/src/devices/bus/vic20/megacart.h b/src/devices/bus/vic20/megacart.h
index 52f5182fc3c..6e66382b2c7 100644
--- a/src/devices/bus/vic20/megacart.h
+++ b/src/devices/bus/vic20/megacart.h
@@ -43,8 +43,8 @@ protected:
virtual void nvram_write(emu_file &file) override { file.write(m_nvram, m_nvram.bytes()); }
// device_vic20_expansion_card_interface overrides
- virtual uint8_t vic20_cd_r(offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3) override;
- virtual void vic20_cd_w(offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3) override;
+ virtual uint8_t vic20_cd_r(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3) override;
+ virtual void vic20_cd_w(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3) override;
private:
int m_nvram_en;
diff --git a/src/devices/bus/vic20/speakeasy.cpp b/src/devices/bus/vic20/speakeasy.cpp
index 6128852d540..4a068b2daaf 100644
--- a/src/devices/bus/vic20/speakeasy.cpp
+++ b/src/devices/bus/vic20/speakeasy.cpp
@@ -33,12 +33,12 @@ DEFINE_DEVICE_TYPE(VIC20_SPEAKEASY, vic20_speakeasy_device, "vic20_speakeasy", "
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void vic20_speakeasy_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(vic20_speakeasy_device::device_add_mconfig)
SPEAKER(config, "mono").front_center();
- VOTRAX_SC01(config, m_votrax, 720000).add_route(ALL_OUTPUTS, "mono", 0.85);
-}
+ MCFG_DEVICE_ADD(SC01A_TAG, VOTRAX_SC01, 720000)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.85)
+MACHINE_CONFIG_END
@@ -71,7 +71,7 @@ void vic20_speakeasy_device::device_start()
// vic20_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t vic20_speakeasy_device::vic20_cd_r(offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3)
+uint8_t vic20_speakeasy_device::vic20_cd_r(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3)
{
if (!io2)
{
@@ -86,11 +86,11 @@ uint8_t vic20_speakeasy_device::vic20_cd_r(offs_t offset, uint8_t data, int ram1
// vic20_cd_w - cartridge data write
//-------------------------------------------------
-void vic20_speakeasy_device::vic20_cd_w(offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3)
+void vic20_speakeasy_device::vic20_cd_w(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3)
{
if (!io2)
{
- m_votrax->write(data & 0x3f);
- m_votrax->inflection_w(data >> 6);
+ m_votrax->write(space, 0, data & 0x3f);
+ m_votrax->inflection_w(space, 0, data >> 6);
}
}
diff --git a/src/devices/bus/vic20/speakeasy.h b/src/devices/bus/vic20/speakeasy.h
index 6df3880d2df..823963804be 100644
--- a/src/devices/bus/vic20/speakeasy.h
+++ b/src/devices/bus/vic20/speakeasy.h
@@ -38,8 +38,8 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// device_vic20_expansion_card_interface overrides
- virtual uint8_t vic20_cd_r(offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3) override;
- virtual void vic20_cd_w(offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3) override;
+ virtual uint8_t vic20_cd_r(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3) override;
+ virtual void vic20_cd_w(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3) override;
private:
required_device<votrax_sc01_device> m_votrax;
diff --git a/src/devices/bus/vic20/std.cpp b/src/devices/bus/vic20/std.cpp
index 988540719d8..7b4823dfcdf 100644
--- a/src/devices/bus/vic20/std.cpp
+++ b/src/devices/bus/vic20/std.cpp
@@ -46,7 +46,7 @@ void vic20_standard_cartridge_device::device_start()
// vic20_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t vic20_standard_cartridge_device::vic20_cd_r(offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3)
+uint8_t vic20_standard_cartridge_device::vic20_cd_r(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3)
{
if (!blk1 && (m_blk1 != nullptr))
{
diff --git a/src/devices/bus/vic20/std.h b/src/devices/bus/vic20/std.h
index 0318f80aa54..2362a9c1c4c 100644
--- a/src/devices/bus/vic20/std.h
+++ b/src/devices/bus/vic20/std.h
@@ -33,7 +33,7 @@ protected:
virtual void device_start() override;
// device_vic20_expansion_card_interface overrides
- virtual uint8_t vic20_cd_r(offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3) override;
+ virtual uint8_t vic20_cd_r(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3) override;
};
diff --git a/src/devices/bus/vic20/vic1010.cpp b/src/devices/bus/vic20/vic1010.cpp
index 651ac37156e..3c00365a4bc 100644
--- a/src/devices/bus/vic20/vic1010.cpp
+++ b/src/devices/bus/vic20/vic1010.cpp
@@ -75,11 +75,11 @@ void vic1010_device::device_reset()
// vic20_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t vic1010_device::vic20_cd_r(offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3)
+uint8_t vic1010_device::vic20_cd_r(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3)
{
for (auto elem : m_expansion_slot)
{
- uint8_t slot_data = elem->cd_r(offset, data, ram1, ram2, ram3, blk1, blk2, blk3, blk5, io2, io3);
+ uint8_t slot_data = elem->cd_r(space, offset, data, ram1, ram2, ram3, blk1, blk2, blk3, blk5, io2, io3);
if (data != slot_data)
{
@@ -95,10 +95,10 @@ uint8_t vic1010_device::vic20_cd_r(offs_t offset, uint8_t data, int ram1, int ra
// vic20_cd_w - cartridge data write
//-------------------------------------------------
-void vic1010_device::vic20_cd_w(offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3)
+void vic1010_device::vic20_cd_w(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3)
{
for (auto & elem : m_expansion_slot)
{
- elem->cd_w(offset, data, ram1, ram2, ram3, blk1, blk2, blk3, blk5, io2, io3);
+ elem->cd_w(space, offset, data, ram1, ram2, ram3, blk1, blk2, blk3, blk5, io2, io3);
}
}
diff --git a/src/devices/bus/vic20/vic1010.h b/src/devices/bus/vic20/vic1010.h
index af85f4bfc3c..f2014041f94 100644
--- a/src/devices/bus/vic20/vic1010.h
+++ b/src/devices/bus/vic20/vic1010.h
@@ -37,8 +37,8 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// device_vic20_expansion_card_interface overrides
- virtual uint8_t vic20_cd_r(offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3) override;
- virtual void vic20_cd_w(offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3) override;
+ virtual uint8_t vic20_cd_r(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3) override;
+ virtual void vic20_cd_w(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3) override;
private:
static constexpr unsigned MAX_SLOTS = 6;
diff --git a/src/devices/bus/vic20/vic1110.cpp b/src/devices/bus/vic20/vic1110.cpp
index 9b2d0c192d9..8edd2179bf9 100644
--- a/src/devices/bus/vic20/vic1110.cpp
+++ b/src/devices/bus/vic20/vic1110.cpp
@@ -90,7 +90,7 @@ void vic1110_device::device_start()
// vic20_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t vic1110_device::vic20_cd_r(offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3)
+uint8_t vic1110_device::vic20_cd_r(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3)
{
uint8_t sw = m_sw->read();
@@ -107,7 +107,7 @@ uint8_t vic1110_device::vic20_cd_r(offs_t offset, uint8_t data, int ram1, int ra
// vic20_cd_w - cartridge data write
//-------------------------------------------------
-void vic1110_device::vic20_cd_w(offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3)
+void vic1110_device::vic20_cd_w(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3)
{
uint8_t sw = m_sw->read();
diff --git a/src/devices/bus/vic20/vic1110.h b/src/devices/bus/vic20/vic1110.h
index 9ec1ea2791a..d1467c995bc 100644
--- a/src/devices/bus/vic20/vic1110.h
+++ b/src/devices/bus/vic20/vic1110.h
@@ -36,8 +36,8 @@ protected:
virtual void device_start() override;
// device_vic20_expansion_card_interface overrides
- virtual uint8_t vic20_cd_r(offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3) override;
- virtual void vic20_cd_w(offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3) override;
+ virtual uint8_t vic20_cd_r(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3) override;
+ virtual void vic20_cd_w(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3) override;
private:
optional_shared_ptr<uint8_t> m_ram;
diff --git a/src/devices/bus/vic20/vic1111.cpp b/src/devices/bus/vic20/vic1111.cpp
index 1f8fa215078..ccfbabccd48 100644
--- a/src/devices/bus/vic20/vic1111.cpp
+++ b/src/devices/bus/vic20/vic1111.cpp
@@ -50,7 +50,7 @@ void vic1111_device::device_start()
// vic20_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t vic1111_device::vic20_cd_r(offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3)
+uint8_t vic1111_device::vic20_cd_r(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3)
{
if (!blk1)
{
@@ -69,7 +69,7 @@ uint8_t vic1111_device::vic20_cd_r(offs_t offset, uint8_t data, int ram1, int ra
// vic20_cd_w - cartridge data write
//-------------------------------------------------
-void vic1111_device::vic20_cd_w(offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3)
+void vic1111_device::vic20_cd_w(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3)
{
if (!blk1)
{
diff --git a/src/devices/bus/vic20/vic1111.h b/src/devices/bus/vic20/vic1111.h
index eb42db2f149..21f439534e9 100644
--- a/src/devices/bus/vic20/vic1111.h
+++ b/src/devices/bus/vic20/vic1111.h
@@ -33,8 +33,8 @@ protected:
virtual void device_start() override;
// device_vic20_expansion_card_interface overrides
- virtual uint8_t vic20_cd_r(offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3) override;
- virtual void vic20_cd_w(offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3) override;
+ virtual uint8_t vic20_cd_r(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3) override;
+ virtual void vic20_cd_w(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3) override;
private:
optional_shared_ptr<uint8_t> m_ram;
diff --git a/src/devices/bus/vic20/vic1112.cpp b/src/devices/bus/vic20/vic1112.cpp
index 77b421f51d8..e8d55e1e89b 100644
--- a/src/devices/bus/vic20/vic1112.cpp
+++ b/src/devices/bus/vic20/vic1112.cpp
@@ -164,7 +164,7 @@ void vic1112_device::device_reset()
// vic20_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t vic1112_device::vic20_cd_r(offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3)
+uint8_t vic1112_device::vic20_cd_r(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3)
{
if (!io2)
{
@@ -184,7 +184,7 @@ uint8_t vic1112_device::vic20_cd_r(offs_t offset, uint8_t data, int ram1, int ra
// vic20_cd_w - cartridge data write
//-------------------------------------------------
-void vic1112_device::vic20_cd_w(offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3)
+void vic1112_device::vic20_cd_w(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3)
{
if (!io2)
{
diff --git a/src/devices/bus/vic20/vic1112.h b/src/devices/bus/vic20/vic1112.h
index 5c4e05446a0..6108a328ca8 100644
--- a/src/devices/bus/vic20/vic1112.h
+++ b/src/devices/bus/vic20/vic1112.h
@@ -42,8 +42,8 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// device_vic20_expansion_card_interface overrides
- virtual uint8_t vic20_cd_r(offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3) override;
- virtual void vic20_cd_w(offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3) override;
+ virtual uint8_t vic20_cd_r(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3) override;
+ virtual void vic20_cd_w(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3) override;
private:
DECLARE_WRITE_LINE_MEMBER( via0_irq_w );
diff --git a/src/devices/bus/vic20/vic1210.cpp b/src/devices/bus/vic20/vic1210.cpp
index 6fa2a917254..81e5d75cc1d 100644
--- a/src/devices/bus/vic20/vic1210.cpp
+++ b/src/devices/bus/vic20/vic1210.cpp
@@ -51,7 +51,7 @@ void vic1210_device::device_start()
// vic20_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t vic1210_device::vic20_cd_r(offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3)
+uint8_t vic1210_device::vic20_cd_r(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3)
{
if (!ram1 || !ram2 || !ram3)
{
@@ -70,7 +70,7 @@ uint8_t vic1210_device::vic20_cd_r(offs_t offset, uint8_t data, int ram1, int ra
// vic20_cd_w - cartridge data write
//-------------------------------------------------
-void vic1210_device::vic20_cd_w(offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3)
+void vic1210_device::vic20_cd_w(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3)
{
if (!ram1 || !ram2 || !ram3)
{
diff --git a/src/devices/bus/vic20/vic1210.h b/src/devices/bus/vic20/vic1210.h
index f890d5ad61e..9fa0ea48a99 100644
--- a/src/devices/bus/vic20/vic1210.h
+++ b/src/devices/bus/vic20/vic1210.h
@@ -34,8 +34,8 @@ protected:
virtual void device_start() override;
// device_vic20_expansion_card_interface overrides
- virtual uint8_t vic20_cd_r(offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3) override;
- virtual void vic20_cd_w(offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3) override;
+ virtual uint8_t vic20_cd_r(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3) override;
+ virtual void vic20_cd_w(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3) override;
private:
optional_shared_ptr<uint8_t> m_ram;
diff --git a/src/devices/bus/vic20/videopak.cpp b/src/devices/bus/vic20/videopak.cpp
index 849f9a00a3b..841d4265a1b 100644
--- a/src/devices/bus/vic20/videopak.cpp
+++ b/src/devices/bus/vic20/videopak.cpp
@@ -97,15 +97,14 @@ GFXDECODE_END
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void vic20_video_pak_device::device_add_mconfig(machine_config &config)
-{
- screen_device &screen(SCREEN(config, MC6845_SCREEN_TAG, SCREEN_TYPE_RASTER, rgb_t::white()));
- screen.set_screen_update(MC6845_TAG, FUNC(h46505_device::screen_update));
- screen.set_size(80*8, 24*8);
- screen.set_visarea(0, 80*8-1, 0, 24*8-1);
- screen.set_refresh_hz(50);
-
- GFXDECODE(config, "gfxdecode", m_palette, gfx_vic20_video_pak);
+MACHINE_CONFIG_START(vic20_video_pak_device::device_add_mconfig)
+ MCFG_SCREEN_ADD_MONOCHROME(MC6845_SCREEN_TAG, RASTER, rgb_t::white())
+ MCFG_SCREEN_UPDATE_DEVICE(MC6845_TAG, h46505_device, screen_update)
+ MCFG_SCREEN_SIZE(80*8, 24*8)
+ MCFG_SCREEN_VISIBLE_AREA(0, 80*8-1, 0, 24*8-1)
+ MCFG_SCREEN_REFRESH_RATE(50)
+
+ MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_vic20_video_pak)
PALETTE(config, m_palette, palette_device::MONOCHROME);
H46505(config, m_crtc, XTAL(14'318'181) / 8);
@@ -113,7 +112,7 @@ void vic20_video_pak_device::device_add_mconfig(machine_config &config)
m_crtc->set_show_border_area(true);
m_crtc->set_char_width(8);
m_crtc->set_update_row_callback(FUNC(vic20_video_pak_device::crtc_update_row), this);
-}
+MACHINE_CONFIG_END
@@ -162,7 +161,7 @@ void vic20_video_pak_device::device_reset()
// vic20_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t vic20_video_pak_device::vic20_cd_r(offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3)
+uint8_t vic20_video_pak_device::vic20_cd_r(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3)
{
if (!m_ram_enable)
{
@@ -221,7 +220,7 @@ uint8_t vic20_video_pak_device::vic20_cd_r(offs_t offset, uint8_t data, int ram1
{
if (offset == 0x1bf9)
{
- data = m_crtc->register_r();
+ data = m_crtc->register_r(space, 0);
}
}
@@ -233,7 +232,7 @@ uint8_t vic20_video_pak_device::vic20_cd_r(offs_t offset, uint8_t data, int ram1
// vic20_cd_w - cartridge data write
//-------------------------------------------------
-void vic20_video_pak_device::vic20_cd_w(offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3)
+void vic20_video_pak_device::vic20_cd_w(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3)
{
if (!m_ram_enable)
{
@@ -293,11 +292,11 @@ void vic20_video_pak_device::vic20_cd_w(offs_t offset, uint8_t data, int ram1, i
switch (offset)
{
case 0x1bf8:
- m_crtc->address_w(data);
+ m_crtc->address_w(space, 0, data);
break;
case 0x1bf9:
- m_crtc->register_w(data);
+ m_crtc->register_w(space, 0, data);
break;
case 0x1bfc:
diff --git a/src/devices/bus/vic20/videopak.h b/src/devices/bus/vic20/videopak.h
index 084e57689dc..def121f2c55 100644
--- a/src/devices/bus/vic20/videopak.h
+++ b/src/devices/bus/vic20/videopak.h
@@ -42,8 +42,8 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// device_vic20_expansion_card_interface overrides
- virtual uint8_t vic20_cd_r(offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3) override;
- virtual void vic20_cd_w(offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3) override;
+ virtual uint8_t vic20_cd_r(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3) override;
+ virtual void vic20_cd_w(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3) override;
private:
MC6845_UPDATE_ROW( crtc_update_row );
diff --git a/src/devices/bus/vidbrain/exp.cpp b/src/devices/bus/vidbrain/exp.cpp
index 808907678cc..c490c0605b2 100644
--- a/src/devices/bus/vidbrain/exp.cpp
+++ b/src/devices/bus/vidbrain/exp.cpp
@@ -153,13 +153,13 @@ std::string videobrain_expansion_slot_device::get_default_card_software(get_defa
// bo_r - cartridge data read
//-------------------------------------------------
-uint8_t videobrain_expansion_slot_device::bo_r(offs_t offset, int cs1, int cs2)
+uint8_t videobrain_expansion_slot_device::bo_r(address_space &space, offs_t offset, int cs1, int cs2)
{
uint8_t data = 0;
if (m_cart != nullptr)
{
- data = m_cart->videobrain_bo_r(offset, cs1, cs2);
+ data = m_cart->videobrain_bo_r(space, offset, cs1, cs2);
}
return data;
@@ -170,11 +170,11 @@ uint8_t videobrain_expansion_slot_device::bo_r(offs_t offset, int cs1, int cs2)
// bo_w - cartridge data write
//-------------------------------------------------
-void videobrain_expansion_slot_device::bo_w(offs_t offset, uint8_t data, int cs1, int cs2)
+void videobrain_expansion_slot_device::bo_w(address_space &space, offs_t offset, uint8_t data, int cs1, int cs2)
{
if (m_cart != nullptr)
{
- m_cart->videobrain_bo_w(offset, data, cs1, cs2);
+ m_cart->videobrain_bo_w(space, offset, data, cs1, cs2);
}
}
diff --git a/src/devices/bus/vidbrain/exp.h b/src/devices/bus/vidbrain/exp.h
index e841df6c32c..fdb4b6a6ac7 100644
--- a/src/devices/bus/vidbrain/exp.h
+++ b/src/devices/bus/vidbrain/exp.h
@@ -49,6 +49,21 @@
#define VIDEOBRAIN_EXPANSION_SLOT_TAG "exp"
+
+//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_VIDEOBRAIN_EXPANSION_SLOT_ADD(_tag, _slot_intf, _def_slot) \
+ MCFG_DEVICE_ADD(_tag, VIDEOBRAIN_EXPANSION_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
+
+
+#define MCFG_VIDEOBRAIN_EXPANSION_SLOT_EXTRES_CALLBACK(_write) \
+ downcast<videobrain_expansion_slot_device &>(*device).set_extres_wr_callback(DEVCB_##_write);
+
+
+
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -73,8 +88,8 @@ protected:
virtual uint8_t* videobrain_ram_pointer(running_machine &machine, size_t size);
// runtime
- virtual uint8_t videobrain_bo_r(offs_t offset, int cs1, int cs2) { return 0; }
- virtual void videobrain_bo_w(offs_t offset, uint8_t data, int cs1, int cs2) { }
+ virtual uint8_t videobrain_bo_r(address_space &space, offs_t offset, int cs1, int cs2) { return 0; }
+ virtual void videobrain_bo_w(address_space &space, offs_t offset, uint8_t data, int cs1, int cs2) { }
virtual void videobrain_extres_w() { }
videobrain_expansion_slot_device *m_slot;
@@ -95,29 +110,20 @@ class videobrain_expansion_slot_device : public device_t,
{
public:
// construction/destruction
- template <typename T>
- videobrain_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, T &&opts, char const* dflt)
- : videobrain_expansion_slot_device(mconfig, tag, owner, 0)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
- videobrain_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
-
- auto extres_wr_callback() { return m_write_extres.bind(); }
+ videobrain_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+ template <class Object> devcb_base &set_extres_wr_callback(Object &&cb) { return m_write_extres.set_callback(std::forward<Object>(cb)); }
// computer interface
- uint8_t bo_r(offs_t offset, int cs1, int cs2);
- void bo_w(offs_t offset, uint8_t data, int cs1, int cs2);
-
- uint8_t cs1_r(offs_t offset) { return bo_r(offset + 0x1000, 0, 1); }
- void cs1_w(offs_t offset, uint8_t data) { bo_w(offset + 0x1000, data, 0, 1); }
- uint8_t cs2_r(offs_t offset) { return bo_r(offset + 0x1800, 1, 0); }
- void cs2_w(offs_t offset, uint8_t data) { bo_w(offset + 0x1800, data, 1, 0); }
- uint8_t unmap_r(offs_t offset) { return bo_r(offset + 0x3000, 1, 0); }
- void unmap_w(offs_t offset, uint8_t data) { bo_w(offset + 0x3000, data, 1, 0); }
+ uint8_t bo_r(address_space &space, offs_t offset, int cs1, int cs2);
+ void bo_w(address_space &space, offs_t offset, uint8_t data, int cs1, int cs2);
+
+ DECLARE_READ8_MEMBER( cs1_r ) { return bo_r(space, offset + 0x1000, 0, 1); }
+ DECLARE_WRITE8_MEMBER( cs1_w ) { bo_w(space, offset + 0x1000, data, 0, 1); }
+ DECLARE_READ8_MEMBER( cs2_r ) { return bo_r(space, offset + 0x1800, 1, 0); }
+ DECLARE_WRITE8_MEMBER( cs2_w ) { bo_w(space, offset + 0x1800, data, 1, 0); }
+ DECLARE_READ8_MEMBER( unmap_r ) { return bo_r(space, offset + 0x3000, 1, 0); }
+ DECLARE_WRITE8_MEMBER( unmap_w ) { bo_w(space, offset + 0x3000, data, 1, 0); }
// cartridge interface
DECLARE_WRITE_LINE_MEMBER( extres_w ) { m_write_extres(state); }
diff --git a/src/devices/bus/vidbrain/money_minder.cpp b/src/devices/bus/vidbrain/money_minder.cpp
index b0f4826ca5d..81220a499b6 100644
--- a/src/devices/bus/vidbrain/money_minder.cpp
+++ b/src/devices/bus/vidbrain/money_minder.cpp
@@ -47,7 +47,7 @@ void videobrain_money_minder_cartridge_device::device_start()
// videobrain_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t videobrain_money_minder_cartridge_device::videobrain_bo_r(offs_t offset, int cs1, int cs2)
+uint8_t videobrain_money_minder_cartridge_device::videobrain_bo_r(address_space &space, offs_t offset, int cs1, int cs2)
{
uint8_t data = 0;
@@ -68,7 +68,7 @@ uint8_t videobrain_money_minder_cartridge_device::videobrain_bo_r(offs_t offset,
// videobrain_bo_w - cartridge data write
//-------------------------------------------------
-void videobrain_money_minder_cartridge_device::videobrain_bo_w(offs_t offset, uint8_t data, int cs1, int cs2)
+void videobrain_money_minder_cartridge_device::videobrain_bo_w(address_space &space, offs_t offset, uint8_t data, int cs1, int cs2)
{
if (offset >= 0x3800)
{
diff --git a/src/devices/bus/vidbrain/money_minder.h b/src/devices/bus/vidbrain/money_minder.h
index 23f219c4962..20ead06960e 100644
--- a/src/devices/bus/vidbrain/money_minder.h
+++ b/src/devices/bus/vidbrain/money_minder.h
@@ -33,8 +33,8 @@ protected:
virtual void device_start() override;
// device_videobrain_expansion_card_interface overrides
- virtual uint8_t videobrain_bo_r(offs_t offset, int cs1, int cs2) override;
- virtual void videobrain_bo_w(offs_t offset, uint8_t data, int cs1, int cs2) override;
+ virtual uint8_t videobrain_bo_r(address_space &space, offs_t offset, int cs1, int cs2) override;
+ virtual void videobrain_bo_w(address_space &space, offs_t offset, uint8_t data, int cs1, int cs2) override;
};
diff --git a/src/devices/bus/vidbrain/std.cpp b/src/devices/bus/vidbrain/std.cpp
index 55b5c3ce22d..82a6fc2761e 100644
--- a/src/devices/bus/vidbrain/std.cpp
+++ b/src/devices/bus/vidbrain/std.cpp
@@ -47,7 +47,7 @@ void videobrain_standard_cartridge_device::device_start()
// videobrain_bo_r - cartridge data read
//-------------------------------------------------
-uint8_t videobrain_standard_cartridge_device::videobrain_bo_r(offs_t offset, int cs1, int cs2)
+uint8_t videobrain_standard_cartridge_device::videobrain_bo_r(address_space &space, offs_t offset, int cs1, int cs2)
{
uint8_t data = 0;
diff --git a/src/devices/bus/vidbrain/std.h b/src/devices/bus/vidbrain/std.h
index 7939501909f..2dbbde3231f 100644
--- a/src/devices/bus/vidbrain/std.h
+++ b/src/devices/bus/vidbrain/std.h
@@ -33,7 +33,7 @@ protected:
virtual void device_start() override;
// device_videobrain_expansion_card_interface overrides
- virtual uint8_t videobrain_bo_r(offs_t offset, int cs1, int cs2) override;
+ virtual uint8_t videobrain_bo_r(address_space &space, offs_t offset, int cs1, int cs2) override;
};
diff --git a/src/devices/bus/vidbrain/timeshare.cpp b/src/devices/bus/vidbrain/timeshare.cpp
index 709f16f5c74..f4997a55ddc 100644
--- a/src/devices/bus/vidbrain/timeshare.cpp
+++ b/src/devices/bus/vidbrain/timeshare.cpp
@@ -47,7 +47,7 @@ void videobrain_timeshare_cartridge_device::device_start()
// videobrain_bo_r - cartridge data read
//-------------------------------------------------
-uint8_t videobrain_timeshare_cartridge_device::videobrain_bo_r(offs_t offset, int cs1, int cs2)
+uint8_t videobrain_timeshare_cartridge_device::videobrain_bo_r(address_space &space, offs_t offset, int cs1, int cs2)
{
uint8_t data = 0;
@@ -67,7 +67,7 @@ uint8_t videobrain_timeshare_cartridge_device::videobrain_bo_r(offs_t offset, in
// videobrain_bo_w - cartridge data write
//-------------------------------------------------
-void videobrain_timeshare_cartridge_device::videobrain_bo_w(offs_t offset, uint8_t data, int cs1, int cs2)
+void videobrain_timeshare_cartridge_device::videobrain_bo_w(address_space &space, offs_t offset, uint8_t data, int cs1, int cs2)
{
if (!cs2)
{
diff --git a/src/devices/bus/vidbrain/timeshare.h b/src/devices/bus/vidbrain/timeshare.h
index 7885772149d..971c5674320 100644
--- a/src/devices/bus/vidbrain/timeshare.h
+++ b/src/devices/bus/vidbrain/timeshare.h
@@ -33,8 +33,8 @@ protected:
virtual void device_start() override;
// device_videobrain_expansion_card_interface overrides
- virtual uint8_t videobrain_bo_r(offs_t offset, int cs1, int cs2) override;
- virtual void videobrain_bo_w(offs_t offset, uint8_t data, int cs1, int cs2) override;
+ virtual uint8_t videobrain_bo_r(address_space &space, offs_t offset, int cs1, int cs2) override;
+ virtual void videobrain_bo_w(address_space &space, offs_t offset, uint8_t data, int cs1, int cs2) override;
};
diff --git a/src/devices/bus/vip/byteio.h b/src/devices/bus/vip/byteio.h
index f2b12ca49f2..d2190214a2d 100644
--- a/src/devices/bus/vip/byteio.h
+++ b/src/devices/bus/vip/byteio.h
@@ -45,6 +45,18 @@
#define VIP_BYTEIO_PORT_TAG "byteio"
+
+//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_VIP_BYTEIO_PORT_ADD(_tag, _slot_intf, _def_slot, _inst) \
+ MCFG_DEVICE_ADD(_tag, VIP_BYTEIO_PORT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false) \
+ downcast<vip_byteio_port_device *>(device)->set_inst_callback(DEVCB_##_inst);
+
+
+
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -58,19 +70,9 @@ class vip_byteio_port_device : public device_t,
{
public:
// construction/destruction
- template <typename T>
- vip_byteio_port_device(const machine_config &mconfig, const char *tag, device_t *owner, T &&opts, const char *dflt)
- : vip_byteio_port_device(mconfig, tag, owner, 0)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
-
- vip_byteio_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
-
- auto inst_callback() { return m_write_inst.bind(); }
+ vip_byteio_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+ template <class Object> void set_inst_callback(Object &&inst) { m_write_inst.set_callback(std::forward<Object>(inst)); }
// computer interface
uint8_t in_r();
diff --git a/src/devices/bus/vip/exp.cpp b/src/devices/bus/vip/exp.cpp
index 132a4d753ef..70467c57839 100644
--- a/src/devices/bus/vip/exp.cpp
+++ b/src/devices/bus/vip/exp.cpp
@@ -80,13 +80,13 @@ void vip_expansion_slot_device::device_start()
// program_r - program read
//-------------------------------------------------
-uint8_t vip_expansion_slot_device::program_r(offs_t offset, int cs, int cdef, int *minh)
+uint8_t vip_expansion_slot_device::program_r(address_space &space, offs_t offset, int cs, int cdef, int *minh)
{
uint8_t data = 0;
if (m_card != nullptr)
{
- data = m_card->vip_program_r(offset, cs, cdef, minh);
+ data = m_card->vip_program_r(space, offset, cs, cdef, minh);
}
return data;
@@ -97,11 +97,11 @@ uint8_t vip_expansion_slot_device::program_r(offs_t offset, int cs, int cdef, in
// program_w - program write
//-------------------------------------------------
-void vip_expansion_slot_device::program_w(offs_t offset, uint8_t data, int cdef, int *minh)
+void vip_expansion_slot_device::program_w(address_space &space, offs_t offset, uint8_t data, int cdef, int *minh)
{
if (m_card != nullptr)
{
- m_card->vip_program_w(offset, data, cdef, minh);
+ m_card->vip_program_w(space, offset, data, cdef, minh);
}
}
@@ -110,13 +110,13 @@ void vip_expansion_slot_device::program_w(offs_t offset, uint8_t data, int cdef,
// io_r - io read
//-------------------------------------------------
-uint8_t vip_expansion_slot_device::io_r(offs_t offset)
+uint8_t vip_expansion_slot_device::io_r(address_space &space, offs_t offset)
{
uint8_t data = 0;
if (m_card != nullptr)
{
- data = m_card->vip_io_r(offset);
+ data = m_card->vip_io_r(space, offset);
}
return data;
@@ -127,11 +127,11 @@ uint8_t vip_expansion_slot_device::io_r(offs_t offset)
// io_w - io write
//-------------------------------------------------
-void vip_expansion_slot_device::io_w(offs_t offset, uint8_t data)
+void vip_expansion_slot_device::io_w(address_space &space, offs_t offset, uint8_t data)
{
if (m_card != nullptr)
{
- m_card->vip_io_w(offset, data);
+ m_card->vip_io_w(space, offset, data);
}
}
@@ -140,13 +140,13 @@ void vip_expansion_slot_device::io_w(offs_t offset, uint8_t data)
// dma_r - dma read
//-------------------------------------------------
-uint8_t vip_expansion_slot_device::dma_r(offs_t offset)
+READ8_MEMBER(vip_expansion_slot_device::dma_r)
{
uint8_t data = 0;
if (m_card != nullptr)
{
- data = m_card->vip_dma_r(offset);
+ data = m_card->vip_dma_r(space, offset);
}
return data;
@@ -157,11 +157,11 @@ uint8_t vip_expansion_slot_device::dma_r(offs_t offset)
// dma_w - dma write
//-------------------------------------------------
-void vip_expansion_slot_device::dma_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(vip_expansion_slot_device::dma_w)
{
if (m_card != nullptr)
{
- m_card->vip_dma_w(offset, data);
+ m_card->vip_dma_w(space, offset, data);
}
}
@@ -206,7 +206,7 @@ READ_LINE_MEMBER(vip_expansion_slot_device::ef4_r)
return state;
}
-void vip_expansion_slot_device::sc_w(offs_t offset, uint8_t data)
+WRITE8_MEMBER(vip_expansion_slot_device::sc_w)
{
if (m_card != nullptr)
m_card->vip_sc_w(offset, data);
diff --git a/src/devices/bus/vip/exp.h b/src/devices/bus/vip/exp.h
index 9073dafee0d..dfca23fc038 100644
--- a/src/devices/bus/vip/exp.h
+++ b/src/devices/bus/vip/exp.h
@@ -46,6 +46,27 @@
#define VIP_EXPANSION_SLOT_TAG "exp"
+
+//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_VIP_EXPANSION_SLOT_ADD(_tag, _clock, _slot_intf, _def_slot) \
+ MCFG_DEVICE_ADD(_tag, VIP_EXPANSION_SLOT, _clock) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
+
+
+#define MCFG_VIP_EXPANSION_SLOT_INT_CALLBACK(_write) \
+ downcast<vip_expansion_slot_device &>(*device).set_int_wr_callback(DEVCB_##_write);
+
+#define MCFG_VIP_EXPANSION_SLOT_DMA_OUT_CALLBACK(_write) \
+ downcast<vip_expansion_slot_device &>(*device).set_dma_out_wr_callback(DEVCB_##_write);
+
+#define MCFG_VIP_EXPANSION_SLOT_DMA_IN_CALLBACK(_write) \
+ downcast<vip_expansion_slot_device &>(*device).set_dma_in_wr_callback(DEVCB_##_write);
+
+
+
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -59,33 +80,24 @@ class vip_expansion_slot_device : public device_t,
{
public:
// construction/destruction
- template <typename T>
- vip_expansion_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock, T &&opts, char const *dflt)
- : vip_expansion_slot_device(mconfig, tag, owner, clock)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
vip_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- auto int_wr_callback() { return m_write_int.bind(); }
- auto dma_out_wr_callback() { return m_write_dma_out.bind(); }
- auto dma_in_wr_callback() { return m_write_dma_in.bind(); }
+ template <class Object> devcb_base &set_int_wr_callback(Object &&cb) { return m_write_int.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_dma_out_wr_callback(Object &&cb) { return m_write_dma_out.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_dma_in_wr_callback(Object &&cb) { return m_write_dma_in.set_callback(std::forward<Object>(cb)); }
// computer interface
- uint8_t program_r(offs_t offset, int cs, int cdef, int *minh);
- void program_w(offs_t offset, uint8_t data, int cdef, int *minh);
- uint8_t io_r(offs_t offset);
- void io_w(offs_t offset, uint8_t data);
- uint8_t dma_r(offs_t offset);
- void dma_w(offs_t offset, uint8_t data);
+ uint8_t program_r(address_space &space, offs_t offset, int cs, int cdef, int *minh);
+ void program_w(address_space &space, offs_t offset, uint8_t data, int cdef, int *minh);
+ uint8_t io_r(address_space &space, offs_t offset);
+ void io_w(address_space &space, offs_t offset, uint8_t data);
+ DECLARE_READ8_MEMBER(dma_r);
+ DECLARE_WRITE8_MEMBER(dma_w);
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
DECLARE_READ_LINE_MEMBER(ef1_r);
DECLARE_READ_LINE_MEMBER(ef3_r);
DECLARE_READ_LINE_MEMBER(ef4_r);
- void sc_w(offs_t offset, uint8_t data);
+ DECLARE_WRITE8_MEMBER(sc_w);
DECLARE_WRITE_LINE_MEMBER(q_w);
DECLARE_WRITE_LINE_MEMBER(tpb_w);
DECLARE_WRITE_LINE_MEMBER(run_w);
@@ -118,14 +130,14 @@ protected:
device_vip_expansion_card_interface(const machine_config &mconfig, device_t &device);
// runtime
- virtual uint8_t vip_program_r(offs_t offset, int cs, int cdef, int *minh) { return 0xff; }
- virtual void vip_program_w(offs_t offset, uint8_t data, int cdef, int *minh) { }
+ virtual uint8_t vip_program_r(address_space &space, offs_t offset, int cs, int cdef, int *minh) { return 0xff; }
+ virtual void vip_program_w(address_space &space, offs_t offset, uint8_t data, int cdef, int *minh) { }
- virtual uint8_t vip_io_r(offs_t offset) { return 0xff; }
- virtual void vip_io_w(offs_t offset, uint8_t data) { }
+ virtual uint8_t vip_io_r(address_space &space, offs_t offset) { return 0xff; }
+ virtual void vip_io_w(address_space &space, offs_t offset, uint8_t data) { }
- virtual uint8_t vip_dma_r(offs_t offset) { return 0xff; }
- virtual void vip_dma_w(offs_t offset, uint8_t data) { }
+ virtual uint8_t vip_dma_r(address_space &space, offs_t offset) { return 0xff; }
+ virtual void vip_dma_w(address_space &space, offs_t offset, uint8_t data) { }
virtual uint32_t vip_screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) { return 0; }
diff --git a/src/devices/bus/vip/vp550.cpp b/src/devices/bus/vip/vp550.cpp
index 6d1e36f57d7..a8285c53adc 100644
--- a/src/devices/bus/vip/vp550.cpp
+++ b/src/devices/bus/vip/vp550.cpp
@@ -47,7 +47,7 @@ DEFINE_DEVICE_TYPE(VP550, vp550_device, "vp550", "VP-550 Super Sound")
//-------------------------------------------------
-// machine_config( vp550 )
+// MACHINE_CONFIG_START( vp550 )
//-------------------------------------------------
void vp550_device::device_add_mconfig(machine_config &config)
@@ -112,7 +112,7 @@ void vp550_device::device_timer(emu_timer &timer, device_timer_id id, int param,
// vip_program_w - program write
//-------------------------------------------------
-void vp550_device::vip_program_w(offs_t offset, uint8_t data, int cdef, int *minh)
+void vp550_device::vip_program_w(address_space &space, offs_t offset, uint8_t data, int cdef, int *minh)
{
if (BIT(offset, 15))
{
@@ -122,14 +122,14 @@ void vp550_device::vip_program_w(offs_t offset, uint8_t data, int cdef, int *min
{
case 1: m_pfg_a->write_str(data); break;
case 2: m_pfg_b->write_str(data); break;
- case 3: octave_w(data); break;
+ case 3: octave_w(space, offset, data); break;
}
switch ((offset >> 4) & 0x03)
{
- case 1: vlmna_w(data); break;
- case 2: vlmnb_w(data); break;
- case 3: sync_w(data); break;
+ case 1: vlmna_w(space, offset, data); break;
+ case 2: vlmnb_w(space, offset, data); break;
+ case 3: sync_w(space, offset, data); break;
}
}
}
@@ -179,7 +179,7 @@ void vp550_device::vip_run_w(int state)
// octave_w - octave select write
//-------------------------------------------------
-void vp550_device::octave_w(uint8_t data)
+WRITE8_MEMBER( vp550_device::octave_w )
{
int channel = (data >> 2) & 0x03;
int clock2 = 0;
@@ -209,7 +209,7 @@ void vp550_device::octave_w(uint8_t data)
// vlmna_w - channel A amplitude write
//-------------------------------------------------
-void vp550_device::vlmna_w(uint8_t data)
+WRITE8_MEMBER( vp550_device::vlmna_w )
{
if (LOG) logerror("VP550 '%s' A Volume: %u\n", tag(), data & 0x0f);
@@ -223,7 +223,7 @@ void vp550_device::vlmna_w(uint8_t data)
// vlmnb_w - channel B amplitude write
//-------------------------------------------------
-void vp550_device::vlmnb_w(uint8_t data)
+WRITE8_MEMBER( vp550_device::vlmnb_w )
{
if (LOG) logerror("VP550 '%s' B Volume: %u\n", tag(), data & 0x0f);
@@ -237,7 +237,7 @@ void vp550_device::vlmnb_w(uint8_t data)
// sync_w - interrupt enable write
//-------------------------------------------------
-void vp550_device::sync_w(uint8_t data)
+WRITE8_MEMBER( vp550_device::sync_w )
{
if (LOG) logerror("VP550 '%s' Interrupt Enable: %u\n", tag(), BIT(data, 0));
diff --git a/src/devices/bus/vip/vp550.h b/src/devices/bus/vip/vp550.h
index d881063ba2c..20b2cf8e8de 100644
--- a/src/devices/bus/vip/vp550.h
+++ b/src/devices/bus/vip/vp550.h
@@ -36,16 +36,16 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// device_vip_expansion_card_interface overrides
- virtual void vip_program_w(offs_t offset, uint8_t data, int cdef, int *minh) override;
+ virtual void vip_program_w(address_space &space, offs_t offset, uint8_t data, int cdef, int *minh) override;
virtual void vip_sc_w(int n, int sc) override;
virtual void vip_q_w(int state) override;
virtual void vip_run_w(int state) override;
private:
- void octave_w(uint8_t data);
- void vlmna_w(uint8_t data);
- void vlmnb_w(uint8_t data);
- void sync_w(uint8_t data);
+ DECLARE_WRITE8_MEMBER( octave_w );
+ DECLARE_WRITE8_MEMBER( vlmna_w );
+ DECLARE_WRITE8_MEMBER( vlmnb_w );
+ DECLARE_WRITE8_MEMBER( sync_w );
required_device<cdp1863_device> m_pfg_a;
required_device<cdp1863_device> m_pfg_b;
diff --git a/src/devices/bus/vip/vp570.cpp b/src/devices/bus/vip/vp570.cpp
index f9473bd2f87..e01d427649b 100644
--- a/src/devices/bus/vip/vp570.cpp
+++ b/src/devices/bus/vip/vp570.cpp
@@ -84,7 +84,7 @@ void vp570_device::device_start()
// vip_program_r - program read
//-------------------------------------------------
-uint8_t vp570_device::vip_program_r(offs_t offset, int cs, int cdef, int *minh)
+uint8_t vp570_device::vip_program_r(address_space &space, offs_t offset, int cs, int cdef, int *minh)
{
uint8_t data = 0xff;
@@ -105,7 +105,7 @@ uint8_t vp570_device::vip_program_r(offs_t offset, int cs, int cdef, int *minh)
// vip_program_w - program write
//-------------------------------------------------
-void vp570_device::vip_program_w(offs_t offset, uint8_t data, int cdef, int *minh)
+void vp570_device::vip_program_w(address_space &space, offs_t offset, uint8_t data, int cdef, int *minh)
{
offs_t base = m_base->read() << 12;
diff --git a/src/devices/bus/vip/vp570.h b/src/devices/bus/vip/vp570.h
index 04ad752d804..004be88a8bf 100644
--- a/src/devices/bus/vip/vp570.h
+++ b/src/devices/bus/vip/vp570.h
@@ -36,8 +36,8 @@ protected:
virtual void device_start() override;
// device_vip_expansion_card_interface overrides
- virtual uint8_t vip_program_r(offs_t offset, int cs, int cdef, int *minh) override;
- virtual void vip_program_w(offs_t offset, uint8_t data, int cdef, int *minh) override;
+ virtual uint8_t vip_program_r(address_space &space, offs_t offset, int cs, int cdef, int *minh) override;
+ virtual void vip_program_w(address_space &space, offs_t offset, uint8_t data, int cdef, int *minh) override;
private:
optional_shared_ptr<uint8_t> m_ram;
diff --git a/src/devices/bus/vip/vp575.cpp b/src/devices/bus/vip/vp575.cpp
index 685c05be7c6..c69ccc5bade 100644
--- a/src/devices/bus/vip/vp575.cpp
+++ b/src/devices/bus/vip/vp575.cpp
@@ -42,36 +42,35 @@ void vp575_device::update_interrupts()
//-------------------------------------------------
-// machine_config( vp575 )
+// MACHINE_CONFIG_START( vp575 )
//-------------------------------------------------
-void vp575_device::device_add_mconfig(machine_config &config)
-{
- VIP_EXPANSION_SLOT(config, m_expansion_slot[0], XTAL(3'521'280)/2, vip_expansion_cards, nullptr);
- m_expansion_slot[0]->int_wr_callback().set(FUNC(vp575_device::exp1_int_w));
- m_expansion_slot[0]->dma_out_wr_callback().set(FUNC(vp575_device::exp1_dma_out_w));
- m_expansion_slot[0]->dma_in_wr_callback().set(FUNC(vp575_device::exp1_dma_in_w));
-
- VIP_EXPANSION_SLOT(config, m_expansion_slot[1], XTAL(3'521'280)/2, vip_expansion_cards, nullptr);
- m_expansion_slot[1]->int_wr_callback().set(FUNC(vp575_device::exp2_int_w));
- m_expansion_slot[1]->dma_out_wr_callback().set(FUNC(vp575_device::exp2_dma_out_w));
- m_expansion_slot[1]->dma_in_wr_callback().set(FUNC(vp575_device::exp2_dma_in_w));
-
- VIP_EXPANSION_SLOT(config, m_expansion_slot[2], XTAL(3'521'280)/2, vip_expansion_cards, nullptr);
- m_expansion_slot[2]->int_wr_callback().set(FUNC(vp575_device::exp3_int_w));
- m_expansion_slot[2]->dma_out_wr_callback().set(FUNC(vp575_device::exp3_dma_out_w));
- m_expansion_slot[2]->dma_in_wr_callback().set(FUNC(vp575_device::exp3_dma_in_w));
-
- VIP_EXPANSION_SLOT(config, m_expansion_slot[3], XTAL(3'521'280)/2, vip_expansion_cards, nullptr);
- m_expansion_slot[3]->int_wr_callback().set(FUNC(vp575_device::exp4_int_w));
- m_expansion_slot[3]->dma_out_wr_callback().set(FUNC(vp575_device::exp4_dma_out_w));
- m_expansion_slot[3]->dma_in_wr_callback().set(FUNC(vp575_device::exp4_dma_in_w));
-
- VIP_EXPANSION_SLOT(config, m_expansion_slot[4], XTAL(3'521'280)/2, vip_expansion_cards, nullptr);
- m_expansion_slot[4]->int_wr_callback().set(FUNC(vp575_device::exp5_int_w));
- m_expansion_slot[4]->dma_out_wr_callback().set(FUNC(vp575_device::exp5_dma_out_w));
- m_expansion_slot[4]->dma_in_wr_callback().set(FUNC(vp575_device::exp5_dma_in_w));
-}
+MACHINE_CONFIG_START(vp575_device::device_add_mconfig)
+ MCFG_VIP_EXPANSION_SLOT_ADD("exp1", XTAL(3'521'280)/2, vip_expansion_cards, nullptr)
+ MCFG_VIP_EXPANSION_SLOT_INT_CALLBACK(WRITELINE(*this, vp575_device, exp1_int_w))
+ MCFG_VIP_EXPANSION_SLOT_DMA_OUT_CALLBACK(WRITELINE(*this, vp575_device, exp1_dma_out_w))
+ MCFG_VIP_EXPANSION_SLOT_DMA_IN_CALLBACK(WRITELINE(*this, vp575_device, exp1_dma_in_w))
+
+ MCFG_VIP_EXPANSION_SLOT_ADD("exp2", XTAL(3'521'280)/2, vip_expansion_cards, nullptr)
+ MCFG_VIP_EXPANSION_SLOT_INT_CALLBACK(WRITELINE(*this, vp575_device, exp2_int_w))
+ MCFG_VIP_EXPANSION_SLOT_DMA_OUT_CALLBACK(WRITELINE(*this, vp575_device, exp2_dma_out_w))
+ MCFG_VIP_EXPANSION_SLOT_DMA_IN_CALLBACK(WRITELINE(*this, vp575_device, exp2_dma_in_w))
+
+ MCFG_VIP_EXPANSION_SLOT_ADD("exp3", XTAL(3'521'280)/2, vip_expansion_cards, nullptr)
+ MCFG_VIP_EXPANSION_SLOT_INT_CALLBACK(WRITELINE(*this, vp575_device, exp3_int_w))
+ MCFG_VIP_EXPANSION_SLOT_DMA_OUT_CALLBACK(WRITELINE(*this, vp575_device, exp3_dma_out_w))
+ MCFG_VIP_EXPANSION_SLOT_DMA_IN_CALLBACK(WRITELINE(*this, vp575_device, exp3_dma_in_w))
+
+ MCFG_VIP_EXPANSION_SLOT_ADD("exp4", XTAL(3'521'280)/2, vip_expansion_cards, nullptr)
+ MCFG_VIP_EXPANSION_SLOT_INT_CALLBACK(WRITELINE(*this, vp575_device, exp4_int_w))
+ MCFG_VIP_EXPANSION_SLOT_DMA_OUT_CALLBACK(WRITELINE(*this, vp575_device, exp4_dma_out_w))
+ MCFG_VIP_EXPANSION_SLOT_DMA_IN_CALLBACK(WRITELINE(*this, vp575_device, exp4_dma_in_w))
+
+ MCFG_VIP_EXPANSION_SLOT_ADD("exp5", XTAL(3'521'280)/2, vip_expansion_cards, nullptr)
+ MCFG_VIP_EXPANSION_SLOT_INT_CALLBACK(WRITELINE(*this, vp575_device, exp5_int_w))
+ MCFG_VIP_EXPANSION_SLOT_DMA_OUT_CALLBACK(WRITELINE(*this, vp575_device, exp5_dma_out_w))
+ MCFG_VIP_EXPANSION_SLOT_DMA_IN_CALLBACK(WRITELINE(*this, vp575_device, exp5_dma_in_w))
+MACHINE_CONFIG_END
@@ -110,13 +109,13 @@ void vp575_device::device_start()
// vip_program_r - program read
//-------------------------------------------------
-uint8_t vp575_device::vip_program_r(offs_t offset, int cs, int cdef, int *minh)
+uint8_t vp575_device::vip_program_r(address_space &space, offs_t offset, int cs, int cdef, int *minh)
{
uint8_t data = 0xff;
for (auto & elem : m_expansion_slot)
{
- data &= elem->program_r(offset, cs, cdef, minh);
+ data &= elem->program_r(space, offset, cs, cdef, minh);
}
return data;
@@ -127,11 +126,11 @@ uint8_t vp575_device::vip_program_r(offs_t offset, int cs, int cdef, int *minh)
// vip_program_w - program write
//-------------------------------------------------
-void vp575_device::vip_program_w(offs_t offset, uint8_t data, int cdef, int *minh)
+void vp575_device::vip_program_w(address_space &space, offs_t offset, uint8_t data, int cdef, int *minh)
{
for (auto & elem : m_expansion_slot)
{
- elem->program_w(offset, data, cdef, minh);
+ elem->program_w(space, offset, data, cdef, minh);
}
}
@@ -140,13 +139,13 @@ void vp575_device::vip_program_w(offs_t offset, uint8_t data, int cdef, int *min
// vip_io_r - I/O read
//-------------------------------------------------
-uint8_t vp575_device::vip_io_r(offs_t offset)
+uint8_t vp575_device::vip_io_r(address_space &space, offs_t offset)
{
uint8_t data = 0xff;
for (auto & elem : m_expansion_slot)
{
- data &= elem->io_r(offset);
+ data &= elem->io_r(space, offset);
}
return data;
@@ -157,11 +156,11 @@ uint8_t vp575_device::vip_io_r(offs_t offset)
// vip_io_w - I/O write
//-------------------------------------------------
-void vp575_device::vip_io_w(offs_t offset, uint8_t data)
+void vp575_device::vip_io_w(address_space &space, offs_t offset, uint8_t data)
{
for (auto & elem : m_expansion_slot)
{
- elem->io_w(offset, data);
+ elem->io_w(space, offset, data);
}
}
@@ -170,13 +169,13 @@ void vp575_device::vip_io_w(offs_t offset, uint8_t data)
// vip_dma_r - DMA read
//-------------------------------------------------
-uint8_t vp575_device::vip_dma_r(offs_t offset)
+uint8_t vp575_device::vip_dma_r(address_space &space, offs_t offset)
{
uint8_t data = 0xff;
for (auto & elem : m_expansion_slot)
{
- data &= elem->dma_r(offset);
+ data &= elem->dma_r(space, offset);
}
return data;
@@ -187,11 +186,11 @@ uint8_t vp575_device::vip_dma_r(offs_t offset)
// vip_dma_w - DMA write
//-------------------------------------------------
-void vp575_device::vip_dma_w(offs_t offset, uint8_t data)
+void vp575_device::vip_dma_w(address_space &space, offs_t offset, uint8_t data)
{
for (auto & elem : m_expansion_slot)
{
- elem->dma_w(offset, data);
+ elem->dma_w(space, offset, data);
}
}
@@ -270,9 +269,10 @@ int vp575_device::vip_ef4_r()
void vp575_device::vip_sc_w(int n, int sc)
{
+ address_space &space = machine().dummy_space();
for (auto & elem : m_expansion_slot)
{
- elem->sc_w(n, sc);
+ elem->sc_w(space, n, sc);
}
}
diff --git a/src/devices/bus/vip/vp575.h b/src/devices/bus/vip/vp575.h
index fb5c22f5628..41a18053276 100644
--- a/src/devices/bus/vip/vp575.h
+++ b/src/devices/bus/vip/vp575.h
@@ -34,12 +34,12 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// device_vip_expansion_card_interface overrides
- virtual uint8_t vip_program_r(offs_t offset, int cs, int cdef, int *minh) override;
- virtual void vip_program_w(offs_t offset, uint8_t data, int cdef, int *minh) override;
- virtual uint8_t vip_io_r(offs_t offset) override;
- virtual void vip_io_w(offs_t offset, uint8_t data) override;
- virtual uint8_t vip_dma_r(offs_t offset) override;
- virtual void vip_dma_w(offs_t offset, uint8_t data) override;
+ virtual uint8_t vip_program_r(address_space &space, offs_t offset, int cs, int cdef, int *minh) override;
+ virtual void vip_program_w(address_space &space, offs_t offset, uint8_t data, int cdef, int *minh) override;
+ virtual uint8_t vip_io_r(address_space &space, offs_t offset) override;
+ virtual void vip_io_w(address_space &space, offs_t offset, uint8_t data) override;
+ virtual uint8_t vip_dma_r(address_space &space, offs_t offset) override;
+ virtual void vip_dma_w(address_space &space, offs_t offset, uint8_t data) override;
virtual uint32_t vip_screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) override;
virtual int vip_ef1_r() override;
virtual int vip_ef3_r() override;
diff --git a/src/devices/bus/vip/vp585.cpp b/src/devices/bus/vip/vp585.cpp
index 2112637ae6b..47a1115097a 100644
--- a/src/devices/bus/vip/vp585.cpp
+++ b/src/devices/bus/vip/vp585.cpp
@@ -105,7 +105,7 @@ void vp585_device::device_start()
// vip_io_w - I/O write
//-------------------------------------------------
-void vp585_device::vip_io_w(offs_t offset, uint8_t data)
+void vp585_device::vip_io_w(address_space &space, offs_t offset, uint8_t data)
{
if (offset == 0x02)
{
diff --git a/src/devices/bus/vip/vp585.h b/src/devices/bus/vip/vp585.h
index f32bf055e91..a3511def5d0 100644
--- a/src/devices/bus/vip/vp585.h
+++ b/src/devices/bus/vip/vp585.h
@@ -36,7 +36,7 @@ protected:
virtual void device_start() override;
// device_vip_expansion_card_interface overrides
- virtual void vip_io_w(offs_t offset, uint8_t data) override;
+ virtual void vip_io_w(address_space &space, offs_t offset, uint8_t data) override;
virtual int vip_ef3_r() override;
virtual int vip_ef4_r() override;
diff --git a/src/devices/bus/vip/vp590.cpp b/src/devices/bus/vip/vp590.cpp
index 3fd9185c5d1..0f7599f6f99 100644
--- a/src/devices/bus/vip/vp590.cpp
+++ b/src/devices/bus/vip/vp590.cpp
@@ -50,11 +50,10 @@ READ_LINE_MEMBER( vp590_device::gd_r )
//-------------------------------------------------
-// machine_config( vp590 )
+// MACHINE_CONFIG_START( vp590 )
//-------------------------------------------------
-void vp590_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(vp590_device::device_add_mconfig)
CDP1862(config, m_cgc, 7.15909_MHz_XTAL);
m_cgc->rdata_cb().set(FUNC(vp590_device::rd_r));
m_cgc->bdata_cb().set(FUNC(vp590_device::bd_r));
@@ -62,7 +61,7 @@ void vp590_device::device_add_mconfig(machine_config &config)
m_cgc->set_luminance(RES_R(510), RES_R(360), RES_K(1), RES_K(1.5)); // R3, R4, R5, R6
m_cgc->set_chrominance(RES_K(3.9), RES_K(10), RES_K(2), RES_K(3.3)); // R7, R8, R9, R10
m_cgc->set_screen(SCREEN_TAG);
-}
+MACHINE_CONFIG_END
//-------------------------------------------------
@@ -159,7 +158,7 @@ void vp590_device::device_start()
// vip_program_w - program write
//-------------------------------------------------
-void vp590_device::vip_program_w(offs_t offset, uint8_t data, int cdef, int *minh)
+void vp590_device::vip_program_w(address_space &space, offs_t offset, uint8_t data, int cdef, int *minh)
{
if (offset >= 0xc000 && offset < 0xe000)
{
@@ -185,7 +184,7 @@ void vp590_device::vip_program_w(offs_t offset, uint8_t data, int cdef, int *min
// vip_io_w - I/O write
//-------------------------------------------------
-void vp590_device::vip_io_w(offs_t offset, uint8_t data)
+void vp590_device::vip_io_w(address_space &space, offs_t offset, uint8_t data)
{
switch (offset)
{
@@ -205,7 +204,7 @@ void vp590_device::vip_io_w(offs_t offset, uint8_t data)
// vip_dma_w - DMA write
//-------------------------------------------------
-void vp590_device::vip_dma_w(offs_t offset, uint8_t data)
+void vp590_device::vip_dma_w(address_space &space, offs_t offset, uint8_t data)
{
uint8_t mask = 0xff;
@@ -217,7 +216,7 @@ void vp590_device::vip_dma_w(offs_t offset, uint8_t data)
m_color = m_color_ram[offset & mask];
- m_cgc->dma_w(data);
+ m_cgc->dma_w(space, offset, data);
}
diff --git a/src/devices/bus/vip/vp590.h b/src/devices/bus/vip/vp590.h
index 230b7d8d02d..2dfdece5ab7 100644
--- a/src/devices/bus/vip/vp590.h
+++ b/src/devices/bus/vip/vp590.h
@@ -37,9 +37,9 @@ protected:
virtual ioport_constructor device_input_ports() const override;
// device_vip_expansion_card_interface overrides
- virtual void vip_program_w(offs_t offset, uint8_t data, int cdef, int *minh) override;
- virtual void vip_io_w(offs_t offset, uint8_t data) override;
- virtual void vip_dma_w(offs_t offset, uint8_t data) override;
+ virtual void vip_program_w(address_space &space, offs_t offset, uint8_t data, int cdef, int *minh) override;
+ virtual void vip_io_w(address_space &space, offs_t offset, uint8_t data) override;
+ virtual void vip_dma_w(address_space &space, offs_t offset, uint8_t data) override;
virtual uint32_t vip_screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) override;
virtual int vip_ef3_r() override;
virtual int vip_ef4_r() override;
diff --git a/src/devices/bus/vip/vp595.cpp b/src/devices/bus/vip/vp595.cpp
index 1dab7f4a49f..0d8e2306182 100644
--- a/src/devices/bus/vip/vp595.cpp
+++ b/src/devices/bus/vip/vp595.cpp
@@ -30,7 +30,7 @@ DEFINE_DEVICE_TYPE(VP595, vp595_device, "vp595", "VP-595 Simple Sound")
//-------------------------------------------------
-// machine_config( vp595 )
+// MACHINE_CONFIG_START( vp595 )
//-------------------------------------------------
void vp595_device::device_add_mconfig(machine_config &config)
@@ -73,7 +73,7 @@ void vp595_device::device_start()
// vip_io_w - I/O write
//-------------------------------------------------
-void vp595_device::vip_io_w(offs_t offset, uint8_t data)
+void vp595_device::vip_io_w(address_space &space, offs_t offset, uint8_t data)
{
if (offset == 0x03)
{
diff --git a/src/devices/bus/vip/vp595.h b/src/devices/bus/vip/vp595.h
index 5c98b33fe7c..9de9c8a6071 100644
--- a/src/devices/bus/vip/vp595.h
+++ b/src/devices/bus/vip/vp595.h
@@ -35,7 +35,7 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// device_vip_expansion_card_interface overrides
- virtual void vip_io_w(offs_t offset, uint8_t data) override;
+ virtual void vip_io_w(address_space &space, offs_t offset, uint8_t data) override;
virtual void vip_q_w(int state) override;
private:
diff --git a/src/devices/bus/vip/vp620.cpp b/src/devices/bus/vip/vp620.cpp
index ba6a938f660..643a8856481 100644
--- a/src/devices/bus/vip/vp620.cpp
+++ b/src/devices/bus/vip/vp620.cpp
@@ -33,7 +33,7 @@ void vp620_device::kb_w(uint8_t data)
}
//-------------------------------------------------
-// machine_config( vp620 )
+// MACHINE_CONFIG_START( vp620 )
//-------------------------------------------------
void vp620_device::device_add_mconfig(machine_config &config)
diff --git a/src/devices/bus/vip/vp700.cpp b/src/devices/bus/vip/vp700.cpp
index f64574a23fc..4b7dbab2839 100644
--- a/src/devices/bus/vip/vp700.cpp
+++ b/src/devices/bus/vip/vp700.cpp
@@ -67,7 +67,7 @@ void vp700_device::device_start()
// vip_program_r - program read
//-------------------------------------------------
-uint8_t vp700_device::vip_program_r(offs_t offset, int cs, int cdef, int *minh)
+uint8_t vp700_device::vip_program_r(address_space &space, offs_t offset, int cs, int cdef, int *minh)
{
uint8_t data = 0xff;
diff --git a/src/devices/bus/vip/vp700.h b/src/devices/bus/vip/vp700.h
index 4927005742e..16e7cd2f78e 100644
--- a/src/devices/bus/vip/vp700.h
+++ b/src/devices/bus/vip/vp700.h
@@ -37,7 +37,7 @@ protected:
virtual void device_start() override;
// device_vip_expansion_card_interface overrides
- virtual uint8_t vip_program_r(offs_t offset, int cs, int cdef, int *minh) override;
+ virtual uint8_t vip_program_r(address_space &space, offs_t offset, int cs, int cdef, int *minh) override;
private:
required_memory_region m_rom;
diff --git a/src/devices/bus/vme/vme.cpp b/src/devices/bus/vme/vme.cpp
index 757874abae2..f6254e32366 100644
--- a/src/devices/bus/vme/vme.cpp
+++ b/src/devices/bus/vme/vme.cpp
@@ -329,36 +329,6 @@ void vme_device::install_device(vme_amod_t amod, offs_t start, offs_t end, read8
}
}
-void vme_device::install_device(vme_amod_t amod, offs_t start, offs_t end, read8sm_delegate rhandler, write8sm_delegate whandler, uint32_t mask)
-{
- LOG("%s %s AM%d D%02x\n", tag(), FUNCNAME, amod, m_prgwidth);
-
- LOG(" - width:%d\n", m_prgwidth);
-
- // TODO: support address modifiers and buscycles other than single access cycles
- switch(amod)
- {
- case A16_SC: break;
- case A24_SC: break;
- case A32_SC: break;
- default: fatalerror("VME D8: Non supported Address modifier: AM%02x\n", amod);
- }
-
- switch(m_prgwidth)
- {
- case 16:
- m_prgspace->install_readwrite_handler(start, end, rhandler, whandler, (uint16_t)(mask & 0x0000ffff));
- break;
- case 24:
- m_prgspace->install_readwrite_handler(start, end, rhandler, whandler, (uint32_t)(mask & 0x00ffffff));
- break;
- case 32:
- m_prgspace->install_readwrite_handler(start, end, rhandler, whandler, mask);
- break;
- default: fatalerror("VME D8: Bus width %d not supported\n", m_prgwidth);
- }
-}
-
// D16 bit devices in A16, A24 and A32
void vme_device::install_device(vme_amod_t amod, offs_t start, offs_t end, read16_delegate rhandler, write16_delegate whandler, uint32_t mask)
{
diff --git a/src/devices/bus/vme/vme.h b/src/devices/bus/vme/vme.h
index 755330f7689..a2b2ab944eb 100644
--- a/src/devices/bus/vme/vme.h
+++ b/src/devices/bus/vme/vme.h
@@ -57,6 +57,10 @@
#define VME_BUS_TAG "vme"
+// Callbacks to the board from the VME bus comes through here
+#define MCFG_VME_J1_CB(_devcb) \
+ downcast<vme_slot_device &>(*device).set_vme_j1_callback(DEVCB_##_devcb);
+
//void vme_slot1(device_slot_interface &device); // Disabled until we know how to combine a board driver and a slot device.
void vme_slots(device_slot_interface &device);
@@ -85,22 +89,9 @@ public:
};
// construction/destruction
- template <typename T>
- vme_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt, uint32_t slot_nbr, char const *bus_tag)
- : vme_slot_device(mconfig, tag, owner, 0)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- set_vme_slot(bus_tag, tag);
- update_vme_chains(slot_nbr);
- }
-
vme_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // Callbacks to the board from the VME bus comes through here
- auto vme_j1_callback() { return m_vme_j1_callback.bind(); }
+ template <class Object> devcb_base &set_vme_j1_callback(Object &&cb) { return m_vme_j1_callback.set_callback(std::forward<Object>(cb)); }
void set_vme_slot(const char *tag, const char *slottag);
void update_vme_chains(uint32_t slot_nbr);
@@ -125,6 +116,18 @@ protected:
DECLARE_DEVICE_TYPE(VME, vme_device)
+//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_VME_DEVICE_ADD(_tag) \
+ MCFG_DEVICE_ADD(_tag, VME, 0)
+
+#define MCFG_VME_CPU(_cputag) \
+ downcast<vme_device &>(*device).set_cputag(_cputag);
+
+#define MCFG_VME_BUS_OWNER_SPACES() \
+ downcast<vme_device &>(*device).use_owner_spaces();
class vme_card_interface;
@@ -182,7 +185,6 @@ public:
AMOD_STANDARD_SUPERVIS_BLK = 0x3F
};
void install_device(vme_amod_t amod, offs_t start, offs_t end, read8_delegate rhandler, write8_delegate whandler, uint32_t mask);
- void install_device(vme_amod_t amod, offs_t start, offs_t end, read8sm_delegate rhandler, write8sm_delegate whandler, uint32_t mask);
// void install_device(vme_amod_t amod, offs_t start, offs_t end, read8_delegate rhandler, write8_delegate whandler);
void install_device(vme_amod_t amod, offs_t start, offs_t end, read16_delegate rhandler, write16_delegate whandler, uint32_t mask);
void install_device(vme_amod_t amod, offs_t start, offs_t end, read32_delegate rhandler, write32_delegate whandler, uint32_t mask);
@@ -239,4 +241,15 @@ private:
device_vme_card_interface *m_next;
};
+#define MCFG_VME_SLOT_ADD(_tag, _slotnbr, _slot_intf,_def_slot) \
+ { std::string stag = "slot" + std::to_string(_slotnbr); \
+ MCFG_DEVICE_ADD(stag.c_str(), VME_SLOT, 0); \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false); \
+ downcast<vme_slot_device &>(*device).set_vme_slot(_tag, stag.c_str()); \
+ downcast<vme_slot_device &>(*device).update_vme_chains(_slotnbr); \
+ }
+
+#define MCFG_VME_SLOT_REMOVE(_tag) \
+ MCFG_DEVICE_REMOVE(_tag)
+
#endif // MAME_BUS_VME_VME_H
diff --git a/src/devices/bus/vme/vme_fccpu20.cpp b/src/devices/bus/vme/vme_fccpu20.cpp
index d6f5ab56d30..d6e6f075fe8 100644
--- a/src/devices/bus/vme/vme_fccpu20.cpp
+++ b/src/devices/bus/vme/vme_fccpu20.cpp
@@ -252,12 +252,11 @@ static DEVICE_INPUT_DEFAULTS_START( terminal )
DEVICE_INPUT_DEFAULTS( "RS232_STOPBITS", 0xff, RS232_STOPBITS_2 )
DEVICE_INPUT_DEFAULTS_END
-void vme_fccpu20_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(vme_fccpu20_device::device_add_mconfig)
/* basic machine hardware */
- M68020(config, m_maincpu, CLOCK50 / 3); /* Crytstal verified from picture HCI */
- m_maincpu->set_addrmap(AS_PROGRAM, &vme_fccpu20_device::cpu20_mem);
- m_maincpu->set_irq_acknowledge_callback("bim", FUNC(bim68153_device::iack));
+ MCFG_DEVICE_ADD("maincpu", M68020, CLOCK50 / 3) /* Crytstal verified from picture HCI */
+ MCFG_DEVICE_PROGRAM_MAP (cpu20_mem)
+ MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("bim", bim68153_device, iack)
/* PIT Parallel Interface and Timer device, assumed strapped for on board clock */
PIT68230(config, m_pit, CLOCK32 / 4); /* Crystal not verified */
@@ -313,60 +312,59 @@ void vme_fccpu20_device::device_add_mconfig(machine_config &config)
rs232_port_device &rs232p3(RS232_PORT(config, RS232P3_TAG, default_rs232_devices, nullptr));
rs232p3.rxd_handler().set(m_mpcc3, FUNC(mpcc68561_device::write_rx));
rs232p3.cts_handler().set(m_mpcc3, FUNC(mpcc68561_device::cts_w));
-}
+MACHINE_CONFIG_END
-void vme_fccpu20_card_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(vme_fccpu20_card_device::device_add_mconfig)
vme_fccpu20_device::device_add_mconfig(config);
-}
+MACHINE_CONFIG_END
// SYS68K/CPU-21S Part No.1 01 041 - 68020 CPU board + FPU 68881 at 12.5 MHz, 512 KB RAM
-void vme_fccpu21s_card_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(vme_fccpu21s_card_device::device_add_mconfig)
vme_fccpu20_device::device_add_mconfig(config);
- m_maincpu->set_clock(CLOCK50 / 4);
-}
+ MCFG_DEVICE_MODIFY("maincpu")
+ MCFG_DEVICE_CLOCK(CLOCK50 / 4)
+MACHINE_CONFIG_END
// SYS68K/CPU-21 Part No.1 01 001 - 68020 CPU board (CPU-20) + FPU 68881 at 16.7 MHz, 512 KB RAM
-void vme_fccpu21_card_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(vme_fccpu21_card_device::device_add_mconfig)
vme_fccpu20_device::device_add_mconfig(config);
- m_maincpu->set_clock(CLOCK50 / 3);
-}
+ MCFG_DEVICE_MODIFY("maincpu")
+ MCFG_DEVICE_CLOCK(CLOCK50 / 3)
+MACHINE_CONFIG_END
// SYS68K/CPU-21A Part No.1 01 011 - 68020 CPU board + FPU 68881 at 20 MHz, 512 KB RAM
-void vme_fccpu21a_card_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(vme_fccpu21a_card_device::device_add_mconfig)
vme_fccpu20_device::device_add_mconfig(config);
- m_maincpu->set_clock(CLOCK40 / 2);
-}
+ MCFG_DEVICE_MODIFY("maincpu")
+ MCFG_DEVICE_CLOCK(CLOCK40 / 2)
+MACHINE_CONFIG_END
// SYS68K/CPU-21YA Part No.1 01 061 - 68020 CPU board + FPU 68881 at 20 MHz, 2048 KB RAM
-void vme_fccpu21ya_card_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(vme_fccpu21ya_card_device::device_add_mconfig)
vme_fccpu20_device::device_add_mconfig(config);
- m_maincpu->set_clock(CLOCK40 / 2);
-}
+ MCFG_DEVICE_MODIFY("maincpu")
+ MCFG_DEVICE_CLOCK(CLOCK40 / 2)
+MACHINE_CONFIG_END
// SYS68K/CPU-21B Part No.1 01 021 - 68020 CPU board + FPU 68881 at 25 MHz, 512 KB RAM
-void vme_fccpu21b_card_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(vme_fccpu21b_card_device::device_add_mconfig)
vme_fccpu20_device::device_add_mconfig(config);
- m_maincpu->set_clock(CLOCK50 / 2);
-}
+ MCFG_DEVICE_MODIFY("maincpu")
+ MCFG_DEVICE_CLOCK(CLOCK50 / 2)
+MACHINE_CONFIG_END
// SYS68K/CPU-21YB Part No.1 01 071 - 68020 CPU board + FPU 68881 at 25 MHz, 2048 KB RAM
-void vme_fccpu21yb_card_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(vme_fccpu21yb_card_device::device_add_mconfig)
vme_fccpu20_device::device_add_mconfig(config);
- m_maincpu->set_clock(CLOCK50 / 2);
-}
+ MCFG_DEVICE_MODIFY("maincpu")
+ MCFG_DEVICE_CLOCK(CLOCK50 / 2)
+MACHINE_CONFIG_END
//**************************************************************************
diff --git a/src/devices/bus/vme/vme_fccpu20.h b/src/devices/bus/vme/vme_fccpu20.h
index 4be52d07477..bab05fd987f 100644
--- a/src/devices/bus/vme/vme_fccpu20.h
+++ b/src/devices/bus/vme/vme_fccpu20.h
@@ -54,8 +54,6 @@ protected:
emu_timer *m_arbiter_start; // Need a startup delay because it is hooked up to the sense inputs of the PIT
- required_device<cpu_device> m_maincpu;
-
private:
DECLARE_WRITE_LINE_MEMBER(bim_irq_callback);
@@ -70,6 +68,7 @@ private:
void cpu20_mem(address_map &map);
+ required_device<cpu_device> m_maincpu;
required_device<pit68230_device> m_pit;
required_device<bim68153_device> m_bim;
required_device<mpcc68561_device> m_mpcc;
diff --git a/src/devices/bus/vme/vme_hcpu30.h b/src/devices/bus/vme/vme_hcpu30.h
index b4e387ace22..98e0691b6fe 100644
--- a/src/devices/bus/vme/vme_hcpu30.h
+++ b/src/devices/bus/vme/vme_hcpu30.h
@@ -11,7 +11,7 @@
#include "machine/68230pit.h"
#include "machine/scnxx562.h"
#include "machine/terminal.h"
-#include "machine/wd33c9x.h"
+#include "machine/wd33c93.h"
DECLARE_DEVICE_TYPE(VME_HCPU30, vme_hcpu30_card_device)
diff --git a/src/devices/bus/vme/vme_mvme350.cpp b/src/devices/bus/vme/vme_mvme350.cpp
index b433620b6fe..f1bb9d5dc46 100644
--- a/src/devices/bus/vme/vme_mvme350.cpp
+++ b/src/devices/bus/vme/vme_mvme350.cpp
@@ -189,14 +189,13 @@ ROM_END
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void vme_mvme350_card_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(vme_mvme350_card_device::device_add_mconfig)
/* basic machine hardware */
- m68010_device &cpu(M68010(config, MVME350_CPU_TAG, XTAL(10'000'000)));
- cpu.set_addrmap(AS_PROGRAM, &vme_mvme350_card_device::mvme350_mem);
+ MCFG_DEVICE_ADD (MVME350_CPU_TAG, M68010, XTAL(10'000'000))
+ MCFG_DEVICE_PROGRAM_MAP (mvme350_mem)
/* PIT Parallel Interface and Timer device, assuming strapped for on board clock */
- PIT68230(config, "pit", XTAL(16'000'000) / 2);
-}
+ MCFG_DEVICE_ADD("pit", PIT68230, XTAL(16'000'000) / 2)
+MACHINE_CONFIG_END
const tiny_rom_entry *vme_mvme350_card_device::device_rom_region() const
{
diff --git a/src/devices/bus/vme/vme_mzr8105.cpp b/src/devices/bus/vme/vme_mzr8105.cpp
index fe63e92ee28..985f6bad905 100644
--- a/src/devices/bus/vme/vme_mzr8105.cpp
+++ b/src/devices/bus/vme/vme_mzr8105.cpp
@@ -36,13 +36,13 @@ DEFINE_DEVICE_TYPE(VME_MZR8105, vme_mzr8105_card_device, "mzr8105", "Mizar 8105
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void vme_mzr8105_card_device::device_add_mconfig(machine_config &config)
+MACHINE_CONFIG_START(vme_mzr8105_card_device::device_add_mconfig)
{
- M68000(config, m_maincpu, XTAL(10'000'000))
- m_maincpu->set_addrmap(AS_PROGRAM, &vme_mzr8105_card_device::mzr8105_mem);
-
- VME(config, "vme", 0).use_owner_spaces();
- VME_SLOT(config, "slot1", mzr8105_vme_cards, "mzr8300", 1, "vme");
+ MCFG_DEVICE_ADD ("maincpu", M68000, XTAL(10'000'000))
+ MCFG_DEVICE_PROGRAM_MAP (mzr8105_mem)
+ MCFG_VME_DEVICE_ADD("vme")
+ MCFG_VME_BUS_OWNER_SPACES()
+ MCFG_VME_SLOT_ADD ("vme", 1, mzr8105_vme_cards, "mzr8300")
}
vme_mzr8105_card_device::vme_mzr8105_card_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
diff --git a/src/devices/bus/vme/vme_mzr8300.cpp b/src/devices/bus/vme/vme_mzr8300.cpp
index 362beef2546..ca00a00a674 100644
--- a/src/devices/bus/vme/vme_mzr8300.cpp
+++ b/src/devices/bus/vme/vme_mzr8300.cpp
@@ -187,8 +187,8 @@ void vme_mzr8300_card_device::device_start()
read8_delegate(FUNC(z80sio_device::ca_r), subdevice<z80sio_device>("sio0")),
write8_delegate(FUNC(z80sio_device::ca_w), subdevice<z80sio_device>("sio0")), 0x00ff);
m_vme->install_device(vme_device::A16_SC, base + 0x10, base + 0x13, // Am9513
- read8sm_delegate(FUNC(am9513_device::read8), subdevice<am9513_device>("stc")),
- write8sm_delegate(FUNC(am9513_device::write8), subdevice<am9513_device>("stc")), 0x00ff);
+ read8_delegate(FUNC(am9513_device::read8), subdevice<am9513_device>("stc")),
+ write8_delegate(FUNC(am9513_device::write8), subdevice<am9513_device>("stc")), 0x00ff);
}
void vme_mzr8300_card_device::device_reset()
diff --git a/src/devices/bus/vsmile/pad.cpp b/src/devices/bus/vsmile/pad.cpp
deleted file mode 100644
index a301c65b9e2..00000000000
--- a/src/devices/bus/vsmile/pad.cpp
+++ /dev/null
@@ -1,275 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Ryan Holtz, Vas Crabb
-
-#include "emu.h"
-#include "pad.h"
-
-#include <algorithm>
-
-//#define VERBOSE 1
-#include "logmacro.h"
-
-
-//**************************************************************************
-// GLOBAL VARIABLES
-//**************************************************************************
-
-DEFINE_DEVICE_TYPE(VSMILE_PAD, vsmile_pad_device, "vsmile_pad", "V.Smile Joystick")
-
-
-//**************************************************************************
-// V.Smile control pad
-//**************************************************************************
-
-DECLARE_ENUM_BITWISE_OPERATORS(vsmile_pad_device::stale_inputs)
-ALLOW_SAVE_TYPE(vsmile_pad_device::stale_inputs);
-
-vsmile_pad_device::vsmile_pad_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock)
- : vsmile_ctrl_device_base(mconfig, VSMILE_PAD, tag, owner, clock)
- , m_io_joy(*this, "JOY")
- , m_io_colors(*this, "COLORS")
- , m_io_buttons(*this, "BUTTONS")
- , m_idle_timer(nullptr)
- , m_sent_joy(0x00U)
- , m_sent_colors(0x00U)
- , m_sent_buttons(0x00U)
- , m_stale(STALE_ALL)
- , m_active(false)
-{
- std::fill(std::begin(m_ctrl_probe_history), std::end(m_ctrl_probe_history), 0U);
-}
-
-vsmile_pad_device::~vsmile_pad_device()
-{
-}
-
-void vsmile_pad_device::device_start()
-{
- vsmile_ctrl_device_base::device_start();
-
- m_idle_timer = machine().scheduler().timer_alloc(
- timer_expired_delegate(FUNC(vsmile_pad_device::handle_idle), this));
- m_idle_timer->adjust(attotime::from_seconds(1));
-
- m_sent_joy = 0x00U;
- m_sent_colors = 0x00U;
- m_sent_buttons = 0x00U;
- m_stale = STALE_ALL;
- m_active = false;
-
- save_item(NAME(m_sent_joy));
- save_item(NAME(m_sent_colors));
- save_item(NAME(m_sent_buttons));
- save_item(NAME(m_stale));
- save_item(NAME(m_active));
- save_item(NAME(m_ctrl_probe_history));
-}
-
-void vsmile_pad_device::tx_complete()
-{
- // update joystick
- if ((m_stale & STALE_JOY) != STALE_NONE)
- {
- m_sent_joy = m_io_joy->read();
- if ((m_stale & STALE_UP_DOWN) != STALE_NONE)
- {
- if (BIT(m_sent_joy, 0))
- uart_tx_fifo_push(0x87); // up
- else if (BIT(m_sent_joy, 1))
- uart_tx_fifo_push(0x8f); // down
- else
- uart_tx_fifo_push(0x80);
- }
- if ((m_stale & STALE_LEFT_RIGHT) != STALE_NONE)
- {
- if (BIT(m_sent_joy, 2))
- uart_tx_fifo_push(0xcf); // left
- else if (BIT(m_sent_joy, 3))
- uart_tx_fifo_push(0xc7); // right
- else
- uart_tx_fifo_push(0xc0);
- }
- }
-
- // update colors
- if ((m_stale & STALE_COLORS) != STALE_NONE)
- {
- m_sent_colors = m_io_colors->read();
- uart_tx_fifo_push(0x90 | m_sent_colors);
- }
-
- // update buttons
- if ((m_stale & STALE_BUTTONS) != STALE_NONE)
- {
- m_sent_buttons = m_io_buttons->read();
- if (((m_stale & STALE_OK) != STALE_NONE) && BIT(m_sent_buttons, 0))
- uart_tx_fifo_push(0xa1);
- if (((m_stale & STALE_QUIT) != STALE_NONE) && BIT(m_sent_buttons, 1))
- uart_tx_fifo_push(0xa2);
- if (((m_stale & STALE_HELP) != STALE_NONE) && BIT(m_sent_buttons, 2))
- uart_tx_fifo_push(0xa3);
- if (((m_stale & STALE_ABC) != STALE_NONE) && BIT(m_sent_buttons, 3))
- uart_tx_fifo_push(0xa4);
- if (!m_sent_buttons)
- uart_tx_fifo_push(0xa0);
- }
-
- // if nothing happens in the next second we'll queue a keep-alive
- if (!m_active)
- LOG("entered active state\n");
- m_idle_timer->adjust(attotime::from_seconds(1));
- m_active = true;
- m_stale = STALE_NONE;
-}
-
-void vsmile_pad_device::tx_timeout()
-{
- if (m_active)
- {
- m_idle_timer->reset();
- m_active = false;
- m_stale = STALE_ALL;
- std::fill(std::begin(m_ctrl_probe_history), std::end(m_ctrl_probe_history), 0U);
- LOG("left active state\n");
- }
- uart_tx_fifo_push(0x55);
-}
-
-void vsmile_pad_device::rx_complete(uint8_t data, bool select)
-{
- if (select)
- {
- if (((data & 0xf0) == 0x70) || ((data & 0xf0) == 0xb0))
- {
- m_ctrl_probe_history[0] = ((data & 0xf0) == 0x70) ? 0 : m_ctrl_probe_history[1];
- m_ctrl_probe_history[1] = data;
- uint8_t const response = ((m_ctrl_probe_history[0] + m_ctrl_probe_history[1] + 0x0f) & 0x0f) ^ 0x05;
- LOG(
- "%s: received probe %02X, %02X, sending response %02X\n",
- machine().describe_context(),
- m_ctrl_probe_history[0],
- m_ctrl_probe_history[1],
- 0xb0 | response);
- uart_tx_fifo_push(0xb0 | response);
- }
- }
-}
-
-void vsmile_pad_device::uart_tx_fifo_push(uint8_t data)
-{
- m_idle_timer->reset();
- queue_tx(data);
-}
-
-TIMER_CALLBACK_MEMBER(vsmile_pad_device::handle_idle)
-{
- LOG("idle timer expired, sending keep-alive 55\n");
- queue_tx(0x55);
-}
-
-INPUT_CHANGED_MEMBER(vsmile_pad_device::pad_joy_changed)
-{
- if (m_active)
- {
- if (!is_tx_empty())
- {
- LOG("joy changed while transmission in progress, marking stale\n");
- m_stale |= stale_inputs(uintptr_t(param));
- }
- else
- {
- uint8_t const joy = m_io_joy->read();
- if ((joy ^ m_sent_joy) & 0x03)
- {
- if (BIT(joy, 0))
- uart_tx_fifo_push(0x87); // up
- else if (BIT(joy, 1))
- uart_tx_fifo_push(0x8f); // down
- else
- uart_tx_fifo_push(0x80);
- }
- if ((joy ^ m_sent_joy) & 0x0c)
- {
- if (BIT(joy, 2))
- uart_tx_fifo_push(0xcf); // left
- else if (BIT(joy, 3))
- uart_tx_fifo_push(0xc7); // right
- else
- uart_tx_fifo_push(0xc0);
- }
- m_sent_joy = joy;
- }
- }
-}
-
-INPUT_CHANGED_MEMBER(vsmile_pad_device::pad_color_changed)
-{
- if (m_active)
- {
- if (!is_tx_empty())
- {
- LOG("colors changed while transmission in progress, marking stale\n");
- m_stale |= STALE_COLORS;
- }
- else
- {
- m_sent_colors = m_io_colors->read();
- uart_tx_fifo_push(0x90 | m_sent_colors);
- }
- }
-}
-
-INPUT_CHANGED_MEMBER(vsmile_pad_device::pad_button_changed)
-{
- if (m_active)
- {
- if (!is_tx_empty())
- {
- LOG("buttons changed while transmission in progress, marking stale\n");
- m_stale |= stale_inputs(uintptr_t(param));
- }
- else
- {
- uint8_t const buttons = m_io_buttons->read();
- if (BIT((m_sent_buttons ^ buttons) & buttons, 0))
- uart_tx_fifo_push(0xa1);
- if (BIT((m_sent_buttons ^ buttons) & buttons, 1))
- uart_tx_fifo_push(0xa2);
- if (BIT((m_sent_buttons ^ buttons) & buttons, 2))
- uart_tx_fifo_push(0xa3);
- if (BIT((m_sent_buttons ^ buttons) & buttons, 3))
- uart_tx_fifo_push(0xa4);
- if (!buttons)
- uart_tx_fifo_push(0xa0);
- m_sent_buttons = buttons;
- }
- }
-}
-
-static INPUT_PORTS_START( vsmile_pad )
- PORT_START("JOY")
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_CHANGED_MEMBER(DEVICE_SELF, vsmile_pad_device, pad_joy_changed, vsmile_pad_device::STALE_UP_DOWN) PORT_NAME("Joypad Up")
- PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_CHANGED_MEMBER(DEVICE_SELF, vsmile_pad_device, pad_joy_changed, vsmile_pad_device::STALE_UP_DOWN) PORT_NAME("Joypad Down")
- PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_CHANGED_MEMBER(DEVICE_SELF, vsmile_pad_device, pad_joy_changed, vsmile_pad_device::STALE_LEFT_RIGHT) PORT_NAME("Joypad Left")
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_CHANGED_MEMBER(DEVICE_SELF, vsmile_pad_device, pad_joy_changed, vsmile_pad_device::STALE_LEFT_RIGHT) PORT_NAME("Joypad Right")
- PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED )
-
- PORT_START("COLORS")
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, vsmile_pad_device, pad_color_changed, vsmile_pad_device::STALE_COLORS) PORT_NAME("Green")
- PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_CHANGED_MEMBER(DEVICE_SELF, vsmile_pad_device, pad_color_changed, vsmile_pad_device::STALE_COLORS) PORT_NAME("Blue")
- PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_CHANGED_MEMBER(DEVICE_SELF, vsmile_pad_device, pad_color_changed, vsmile_pad_device::STALE_COLORS) PORT_NAME("Yellow")
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_CHANGED_MEMBER(DEVICE_SELF, vsmile_pad_device, pad_color_changed, vsmile_pad_device::STALE_COLORS) PORT_NAME("Red")
- PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED )
-
- PORT_START("BUTTONS")
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_CHANGED_MEMBER(DEVICE_SELF, vsmile_pad_device, pad_button_changed, vsmile_pad_device::STALE_OK) PORT_NAME("OK")
- PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON6 ) PORT_CHANGED_MEMBER(DEVICE_SELF, vsmile_pad_device, pad_button_changed, vsmile_pad_device::STALE_QUIT) PORT_NAME("Quit")
- PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON7 ) PORT_CHANGED_MEMBER(DEVICE_SELF, vsmile_pad_device, pad_button_changed, vsmile_pad_device::STALE_HELP) PORT_NAME("Help")
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON8 ) PORT_CHANGED_MEMBER(DEVICE_SELF, vsmile_pad_device, pad_button_changed, vsmile_pad_device::STALE_ABC) PORT_NAME("ABC")
- PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED )
-INPUT_PORTS_END
-
-ioport_constructor vsmile_pad_device::device_input_ports() const
-{
- return INPUT_PORTS_NAME( vsmile_pad );
-}
diff --git a/src/devices/bus/vsmile/pad.h b/src/devices/bus/vsmile/pad.h
deleted file mode 100644
index 5e2515c2b58..00000000000
--- a/src/devices/bus/vsmile/pad.h
+++ /dev/null
@@ -1,78 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Ryan Holtz, Vas Crabb
-#ifndef MAME_BUS_VSMILE_PAD_H
-#define MAME_BUS_VSMILE_PAD_H
-
-#pragma once
-
-#include "vsmile_ctrl.h"
-
-/***************************************************************************
- TYPE DEFINITIONS
- ***************************************************************************/
-
-// ======================> vsmile_pad_device
-
-class vsmile_pad_device : public vsmile_ctrl_device_base
-{
-public:
- enum stale_inputs : uint8_t
- {
- STALE_NONE = 0U,
- STALE_LEFT_RIGHT = 1U << 0,
- STALE_UP_DOWN = 1U << 1,
- STALE_COLORS = 1U << 2,
- STALE_OK = 1U << 3,
- STALE_QUIT = 1U << 4,
- STALE_HELP = 1U << 5,
- STALE_ABC = 1U << 6,
-
- STALE_JOY = STALE_LEFT_RIGHT | STALE_UP_DOWN,
- STALE_BUTTONS = STALE_OK | STALE_QUIT | STALE_HELP | STALE_ABC,
- STALE_ALL = STALE_JOY | STALE_COLORS | STALE_BUTTONS
- };
-
- // construction/destruction
- vsmile_pad_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock = 0U);
- virtual ~vsmile_pad_device();
-
- // input handlers
- DECLARE_INPUT_CHANGED_MEMBER(pad_joy_changed);
- DECLARE_INPUT_CHANGED_MEMBER(pad_color_changed);
- DECLARE_INPUT_CHANGED_MEMBER(pad_button_changed);
-
-protected:
- // device_t implementation
- virtual ioport_constructor device_input_ports() const override;
- virtual void device_start() override;
-
- // vsmile_ctrl_device_base implementation
- virtual void tx_complete() override;
- virtual void tx_timeout() override;
- virtual void rx_complete(uint8_t data, bool cts) override;
-
-private:
- void uart_tx_fifo_push(uint8_t data);
-
- TIMER_CALLBACK_MEMBER(handle_idle);
-
- required_ioport m_io_joy;
- required_ioport m_io_colors;
- required_ioport m_io_buttons;
-
- emu_timer *m_idle_timer;
-
- uint8_t m_sent_joy, m_sent_colors, m_sent_buttons;
- stale_inputs m_stale;
- bool m_active;
- uint8_t m_ctrl_probe_history[2];
-};
-
-
-/***************************************************************************
- DEVICE TYPES
- ***************************************************************************/
-
-DECLARE_DEVICE_TYPE(VSMILE_PAD, vsmile_pad_device)
-
-#endif // MAME_BUS_VSMILE_PAD_H
diff --git a/src/devices/bus/vsmile/rom.cpp b/src/devices/bus/vsmile/rom.cpp
deleted file mode 100644
index 584a8cfe058..00000000000
--- a/src/devices/bus/vsmile/rom.cpp
+++ /dev/null
@@ -1,86 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Ryan Holtz
-/***********************************************************************************************************
-
- V.Smile cart emulation
-
- We support standard carts and one with on-board NVRAM
-
- ***********************************************************************************************************/
-
-
-#include "emu.h"
-#include "rom.h"
-
-
-//-------------------------------------------------
-// vsmile_rom_device - constructor
-//-------------------------------------------------
-
-DEFINE_DEVICE_TYPE(VSMILE_ROM_STD, vsmile_rom_device, "vsmile_rom", "V.Smile Cart")
-DEFINE_DEVICE_TYPE(VSMILE_ROM_NVRAM, vsmile_rom_nvram_device, "vsmile_rom_nvram", "V.Smile Cart + NVRAM")
-
-
-vsmile_rom_device::vsmile_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, type, tag, owner, clock)
- , device_vsmile_cart_interface(mconfig, *this)
-{
-}
-
-vsmile_rom_device::vsmile_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : vsmile_rom_device(mconfig, VSMILE_ROM_STD, tag, owner, clock)
-{
-}
-
-vsmile_rom_nvram_device::vsmile_rom_nvram_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
- : vsmile_rom_device(mconfig, type, tag, owner, clock)
-{
-}
-
-vsmile_rom_nvram_device::vsmile_rom_nvram_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : vsmile_rom_nvram_device(mconfig, VSMILE_ROM_NVRAM, tag, owner, clock)
-{
-}
-
-
-//-------------------------------------------------
-// mapper specific start/reset
-//-------------------------------------------------
-
-void vsmile_rom_device::device_start()
-{
- save_item(NAME(m_bank_offset));
-}
-
-void vsmile_rom_device::device_reset()
-{
- m_bank_offset = 0;
-}
-
-
-/*-------------------------------------------------
- Cart with NVRAM
- -------------------------------------------------*/
-
-READ16_MEMBER(vsmile_rom_nvram_device::bank2_r)
-{
- if (!m_nvram.empty() && offset < m_nvram.size())
- return m_nvram[offset];
- else // this cannot actually happen...
- return 0;
-}
-
-WRITE16_MEMBER(vsmile_rom_nvram_device::bank2_w)
-{
- if (!m_nvram.empty() && offset < m_nvram.size())
- COMBINE_DATA(&m_nvram[offset]);
-}
-
-/*-------------------------------------------------
- CS2 bankswitching
- -------------------------------------------------*/
-
-void vsmile_rom_device::set_cs2(bool cs2)
-{
- m_bank_offset = cs2 ? 0x400000 : 0x000000;
-}
diff --git a/src/devices/bus/vsmile/rom.h b/src/devices/bus/vsmile/rom.h
deleted file mode 100644
index ec39f1f743e..00000000000
--- a/src/devices/bus/vsmile/rom.h
+++ /dev/null
@@ -1,59 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Ryan Holtz
-#ifndef MAME_BUS_VSMILE_ROM_H
-#define MAME_BUS_VSMILE_ROM_H
-
-#pragma once
-
-#include "vsmile_slot.h"
-
-// ======================> vsmile_rom_device
-
-class vsmile_rom_device : public device_t, public device_vsmile_cart_interface
-{
-public:
- // construction/destruction
- vsmile_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
- // reading and writing
- virtual DECLARE_READ16_MEMBER(bank0_r) override { return m_rom[m_bank_offset + 0x000000 + offset]; }
- virtual DECLARE_READ16_MEMBER(bank1_r) override { return m_rom[m_bank_offset + 0x100000 + offset]; }
- virtual DECLARE_READ16_MEMBER(bank2_r) override { return m_rom[m_bank_offset + 0x200000 + offset]; }
- virtual DECLARE_READ16_MEMBER(bank3_r) override { return m_rom[m_bank_offset + 0x300000 + offset]; }
-
- // banking
- virtual void set_cs2(bool cs2) override;
-
-protected:
- vsmile_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
-
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
- uint32_t m_bank_offset;
-};
-
-
-// ======================> vsmile_rom_nvram_device
-
-class vsmile_rom_nvram_device : public vsmile_rom_device
-{
-public:
- // construction/destruction
- vsmile_rom_nvram_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
- virtual DECLARE_READ16_MEMBER(bank2_r) override;
- virtual DECLARE_WRITE16_MEMBER(bank2_w) override;
-
-protected:
- vsmile_rom_nvram_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
-};
-
-
-// device type definition
-DECLARE_DEVICE_TYPE(VSMILE_ROM_STD, vsmile_rom_device)
-DECLARE_DEVICE_TYPE(VSMILE_ROM_NVRAM, vsmile_rom_nvram_device)
-
-
-#endif // MAME_BUS_VSMILE_ROM_H
diff --git a/src/devices/bus/vsmile/vsmile_ctrl.cpp b/src/devices/bus/vsmile/vsmile_ctrl.cpp
deleted file mode 100644
index a8cbf25278b..00000000000
--- a/src/devices/bus/vsmile/vsmile_ctrl.cpp
+++ /dev/null
@@ -1,315 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Vas Crabb
-
-#include "emu.h"
-#include "vsmile_ctrl.h"
-
-#include <algorithm>
-#include <cassert>
-
-//#define VERBOSE 1
-#include "logmacro.h"
-
-
-//**************************************************************************
-// GLOBAL VARIABLES
-//**************************************************************************
-
-DEFINE_DEVICE_TYPE(VSMILE_CTRL_PORT, vsmile_ctrl_port_device, "vsmile_ctrl_port", "V.Smile Controller Port")
-
-
-//**************************************************************************
-// V.Smile controller interface
-//**************************************************************************
-
-device_vsmile_ctrl_interface::device_vsmile_ctrl_interface(const machine_config &mconfig, device_t &device)
- : device_slot_card_interface(mconfig, device)
- , m_port(dynamic_cast<vsmile_ctrl_port_device *>(device.owner()))
-{
-}
-
-device_vsmile_ctrl_interface::~device_vsmile_ctrl_interface()
-{
-}
-
-void device_vsmile_ctrl_interface::interface_validity_check(validity_checker &valid) const
-{
- device_slot_card_interface::interface_validity_check(valid);
-
- if (device().owner() && !m_port)
- {
- osd_printf_error(
- "Owner device %s (%s) is not a vsmile_ctrl_port_device\n",
- device().owner()->tag(),
- device().owner()->name());
- }
-}
-
-void device_vsmile_ctrl_interface::interface_pre_start()
-{
- device_slot_card_interface::interface_pre_start();
-
- if (m_port && !m_port->started())
- throw device_missing_dependencies();
-}
-
-
-//**************************************************************************
-// V.Smile controller port
-//**************************************************************************
-
-vsmile_ctrl_port_device::vsmile_ctrl_port_device(
- machine_config const &mconfig,
- char const *tag,
- device_t *owner,
- uint32_t clock)
- : device_t(mconfig, VSMILE_CTRL_PORT, tag, owner, clock)
- , device_slot_interface(mconfig, *this)
- , m_rts_cb(*this)
- , m_data_cb(*this)
-{
-}
-
-vsmile_ctrl_port_device::~vsmile_ctrl_port_device()
-{
-}
-
-void vsmile_ctrl_port_device::device_validity_check(validity_checker &valid) const
-{
- device_t *const card(get_card_device());
- if (card && !dynamic_cast<device_vsmile_ctrl_interface *>(card))
- {
- osd_printf_error(
- "Card device %s (%s) does not implement device_vsmile_ctrl_interface\n",
- card->tag(),
- card->name());
- }
-}
-
-void vsmile_ctrl_port_device::device_resolve_objects()
-{
- device_vsmile_ctrl_interface *const card(dynamic_cast<device_vsmile_ctrl_interface *>(get_card_device()));
- if (card)
- m_device = card;
-
- m_rts_cb.resolve_safe();
- m_data_cb.resolve_safe();
-}
-
-void vsmile_ctrl_port_device::device_start()
-{
- device_t *const card(get_card_device());
- if (card)
- {
- if (!m_device)
- {
- throw emu_fatalerror(
- "vsmile_ctrl_port_device: card device %s (%s) does not implement device_vsmile_ctrl_interface\n",
- card->tag(),
- card->name());
- }
- else
- {
- m_device->select_w(0);
- }
- }
-}
-
-
-//**************************************************************************
-// V.Smile controller HLE base
-//**************************************************************************
-
-vsmile_ctrl_device_base::vsmile_ctrl_device_base(
- machine_config const &mconfig,
- device_type type,
- char const *tag,
- device_t *owner,
- uint32_t clock)
- : device_t(mconfig, type, tag, owner, clock)
- , device_vsmile_ctrl_interface(mconfig, *this)
- , m_tx_timer(nullptr)
- , m_rts_timer(nullptr)
- , m_tx_fifo_head(0U)
- , m_tx_fifo_tail(0U)
- , m_tx_fifo_empty(true)
- , m_tx_active(false)
- , m_select(false)
-{
- std::fill(std::begin(m_tx_fifo), std::end(m_tx_fifo), 0);
-}
-
-vsmile_ctrl_device_base::~vsmile_ctrl_device_base()
-{
-}
-
-void vsmile_ctrl_device_base::device_start()
-{
- // allocate a timer to limit transmit rate to something realistic
- m_tx_timer = machine().scheduler().timer_alloc(
- timer_expired_delegate(FUNC(vsmile_ctrl_device_base::tx_timer_expired), this));
-
- // allocate a timer for RTS timeouts
- m_rts_timer = machine().scheduler().timer_alloc(
- timer_expired_delegate(FUNC(vsmile_ctrl_device_base::rts_timer_expired), this));
-
- // start with transmit queue empty
- m_tx_fifo_head = m_tx_fifo_tail = 0U;
- m_tx_fifo_empty = true;
- m_tx_active = false;
-
- // register for save states
- save_item(NAME(m_tx_fifo));
- save_item(NAME(m_tx_fifo_head));
- save_item(NAME(m_tx_fifo_tail));
- save_item(NAME(m_tx_fifo_empty));
- save_item(NAME(m_select));
-}
-
-bool vsmile_ctrl_device_base::queue_tx(uint8_t data)
-{
- // return false on overrun and drop byte
- bool const was_empty(m_tx_fifo_empty);
- if (!was_empty && (m_tx_fifo_head == m_tx_fifo_tail))
- {
- LOG(
- "%s: discarding byte %02X because FIFO is full (length %u, Tx %sactive)\n",
- machine().describe_context(),
- data,
- ARRAY_LENGTH(m_tx_fifo),
- m_tx_active ? "" : "in");
- return false;
- }
-
- // queue the byte
- m_tx_fifo[m_tx_fifo_tail] = data;
- m_tx_fifo_tail = (m_tx_fifo_tail + 1) % ARRAY_LENGTH(m_tx_fifo);
- m_tx_fifo_empty = false;
-
- // assert RTS and start transmitting if necessary
- if (was_empty)
- {
- rts_out(1);
- if (m_select)
- {
- LOG("%s: transmitting byte %02X immediately (Tx was %sactive)\n", machine().describe_context(), data, m_tx_active ? "" : "in");
- m_tx_active = true;
- m_tx_timer->adjust(attotime::from_hz(9600 / 10));
- }
- else
- {
- LOG("%s: asserting RTS to transmit byte %02X\n", machine().describe_context(), data);
- m_rts_timer->adjust(attotime::from_msec(500));
- }
- }
- else
- {
- unsigned const fifo_used((m_tx_fifo_tail + ARRAY_LENGTH(m_tx_fifo) - m_tx_fifo_head) % ARRAY_LENGTH(m_tx_fifo));
- LOG("%s: queued byte %02X (%u bytes queued, Tx %sactive)\n", machine().describe_context(), data, fifo_used, m_tx_active ? "" : "in");
- }
-
- // data was queued
- return true;
-}
-
-void vsmile_ctrl_device_base::select_w(int state)
-{
- if (bool(state) != m_select)
- {
- if (state && !m_tx_fifo_empty && !m_tx_active)
- {
- m_rts_timer->reset();
- unsigned const fifo_used((m_tx_fifo_tail + ARRAY_LENGTH(m_tx_fifo) - m_tx_fifo_head) % ARRAY_LENGTH(m_tx_fifo));
- LOG("%s: select asserted, starting transmission (%u bytes queued)\n", machine().describe_context(), fifo_used);
- m_tx_active = true;
- m_tx_timer->adjust(attotime::from_hz(9600 / 10));
- }
- else
- {
- LOG("%s: select %sasserted (Tx %sactive)\n", machine().describe_context(), state ? "" : "de", m_tx_active ? "" : "in");
- }
- m_select = bool(state);
- }
-}
-
-void vsmile_ctrl_device_base::data_w(uint8_t data)
-{
- LOG(
- "%s: received byte %02X (select %sasserted, Tx %sactive)\n",
- machine().describe_context(),
- data,
- m_select ? "" : "de",
- m_tx_active ? "" : "in");
- rx_complete(data, m_select);
-}
-
-TIMER_CALLBACK_MEMBER(vsmile_ctrl_device_base::tx_timer_expired)
-{
- assert(!m_tx_fifo_empty);
- assert(m_tx_active);
-
- // deliver the byte to the host (bits have shifted out now)
- uint8_t const data(m_tx_fifo[m_tx_fifo_head]);
- m_tx_fifo_head = (m_tx_fifo_head + 1) % ARRAY_LENGTH(m_tx_fifo);
- if (m_tx_fifo_head == m_tx_fifo_tail)
- m_tx_fifo_empty = true;
- data_out(data);
-
- // if queue is drained give implmentation a chance to queue more before dropping RTS
- if (m_tx_fifo_empty)
- {
- LOG("transmitted byte %02X, queue empty (select %sasserted)\n", data, m_select ? "" : "de");
- tx_complete();
- }
- else
- {
- unsigned const fifo_used((m_tx_fifo_tail + ARRAY_LENGTH(m_tx_fifo) - m_tx_fifo_head) % ARRAY_LENGTH(m_tx_fifo));
- LOG("transmitted byte %02X (%u bytes queued, select %sasserted)\n", data, fifo_used, m_select ? "" : "de");
- }
-
- // drop RTS if no more data, otherwise keep transmitting if CTS is still high
- if (m_tx_fifo_empty)
- {
- LOG("nothing to transmit, deasserting RTS\n");
- m_tx_active = false;
- rts_out(0);
- }
- else if (m_select)
- {
- LOG("select asserted, transmitting next byte %02X\n", m_tx_fifo[m_tx_fifo_head]);
- m_tx_timer->adjust(attotime::from_hz(9600 / 10));
- }
- else
- {
- LOG("select deasserted, waiting to transmit\n");
- m_tx_active = false;
- m_rts_timer->adjust(attotime::from_msec(500));
- }
-}
-
-
-TIMER_CALLBACK_MEMBER(vsmile_ctrl_device_base::rts_timer_expired)
-{
- assert(!m_tx_fifo_empty);
- assert(!m_tx_active);
-
- // clear out anything queued and let the implementation deal with it
- if (!m_tx_fifo_empty)
- {
- unsigned const fifo_used((m_tx_fifo_tail + ARRAY_LENGTH(m_tx_fifo) - m_tx_fifo_head) % ARRAY_LENGTH(m_tx_fifo));
- LOG("timeout waiting for select after asserting RTS (%u bytes queued)\n", fifo_used);
- m_tx_fifo_head = m_tx_fifo_tail = 0U;
- m_tx_fifo_empty = true;
- tx_timeout();
- if (m_tx_fifo_empty)
- rts_out(0);
- }
-}
-
-
-#include "pad.h"
-
-void vsmile_controllers(device_slot_interface &device)
-{
- device.option_add("joy", VSMILE_PAD);
-}
diff --git a/src/devices/bus/vsmile/vsmile_ctrl.h b/src/devices/bus/vsmile/vsmile_ctrl.h
deleted file mode 100644
index 66921ce817a..00000000000
--- a/src/devices/bus/vsmile/vsmile_ctrl.h
+++ /dev/null
@@ -1,153 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Vas Crabb
-#ifndef MAME_BUS_VSMILE_VSMILE_CTRL_H
-#define MAME_BUS_VSMILE_VSMILE_CTRL_H
-
-#pragma once
-
-
-/***************************************************************************
- FORWARD DECLARATIONS
- ***************************************************************************/
-
-class vsmile_ctrl_port_device;
-
-
-/***************************************************************************
- TYPE DEFINITIONS
- ***************************************************************************/
-
-// ======================> device_vsmile_ctrl_interface
-
-class device_vsmile_ctrl_interface : public device_slot_card_interface
-{
-public:
- virtual ~device_vsmile_ctrl_interface();
-
-protected:
- device_vsmile_ctrl_interface(machine_config const &mconfig, device_t &device);
-
- // device_interface implementation
- virtual void interface_validity_check(validity_checker &valid) const override ATTR_COLD;
- virtual void interface_pre_start() override;
-
- // otuput signals
- void rts_out(int state);
- void data_out(uint8_t data);
-
-private:
- // input signal handlers for implementataions to override
- virtual void select_w(int state) = 0;
- virtual void data_w(uint8_t data) = 0;
-
- vsmile_ctrl_port_device *const m_port;
-
- friend class vsmile_ctrl_port_device;
-};
-
-
-// ======================> vsmile_ctrl_port_device
-
-class vsmile_ctrl_port_device : public device_t, public device_slot_interface
-{
-public:
- // configuration
- auto rts_cb() { return m_rts_cb.bind(); }
- auto data_cb() { return m_data_cb.bind(); }
-
- // construction/destruction
- template <typename T>
- vsmile_ctrl_port_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt)
- : vsmile_ctrl_port_device(mconfig, tag, owner, 0U)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
- vsmile_ctrl_port_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock = 0U);
- virtual ~vsmile_ctrl_port_device();
-
- // input signals
- void select_w(int state) { if (m_device) m_device->select_w(state); }
- void data_w(uint8_t data) { if (m_device) m_device->data_w(data); }
-
-protected:
- // device_t implementation
- virtual void device_validity_check(validity_checker &valid) const override ATTR_COLD;
- virtual void device_resolve_objects() override;
- virtual void device_start() override;
-
-private:
- device_vsmile_ctrl_interface *m_device;
- devcb_write_line m_rts_cb;
- devcb_write8 m_data_cb;
-
- friend class device_vsmile_ctrl_interface;
-};
-
-
-// ======================> vsmile_ctrl_device_base
-
-class vsmile_ctrl_device_base : public device_t, public device_vsmile_ctrl_interface
-{
-public:
- // destruction
- virtual ~vsmile_ctrl_device_base();
-
-protected:
- // construction
- vsmile_ctrl_device_base(machine_config const &mconfig, device_type type, char const *tag, device_t *owner, uint32_t clock);
-
- // device_t implementation
- virtual void device_start() override;
-
- // UART simulation helpers
- bool is_tx_empty() const { return m_tx_fifo_empty; }
- bool queue_tx(uint8_t data);
-
-private:
- // device_vsmile_ctrl_interfaceA implementation
- virtual void select_w(int state) override;
- virtual void data_w(uint8_t data) override;
-
- // UART simulation handlers
- virtual void tx_complete() = 0;
- virtual void tx_timeout() = 0;
- virtual void rx_complete(uint8_t data, bool select) = 0;
-
- // internal helpers
- TIMER_CALLBACK_MEMBER(tx_timer_expired);
- TIMER_CALLBACK_MEMBER(rts_timer_expired);
-
- emu_timer *m_tx_timer, *m_rts_timer;
-
- uint8_t m_tx_fifo[32];
- uint8_t m_tx_fifo_head, m_tx_fifo_tail;
- bool m_tx_fifo_empty, m_tx_active;
- bool m_select;
-};
-
-
-/***************************************************************************
- INLINE FUNCTIONS
- ***************************************************************************/
-
-inline void device_vsmile_ctrl_interface::rts_out(int state) { m_port->m_rts_cb(state); }
-inline void device_vsmile_ctrl_interface::data_out(uint8_t data) { m_port->m_data_cb(data); }
-
-
-/***************************************************************************
- FUNCTIONS
- ***************************************************************************/
-
-void vsmile_controllers(device_slot_interface &device);
-
-
-/***************************************************************************
- DEVICE TYPES
- ***************************************************************************/
-
-DECLARE_DEVICE_TYPE(VSMILE_CTRL_PORT, vsmile_ctrl_port_device)
-
-#endif // MAME_BUS_VSMILE_VSMILE_CTRL_H
diff --git a/src/devices/bus/vsmile/vsmile_slot.cpp b/src/devices/bus/vsmile/vsmile_slot.cpp
deleted file mode 100644
index 61d7873b63f..00000000000
--- a/src/devices/bus/vsmile/vsmile_slot.cpp
+++ /dev/null
@@ -1,254 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Ryan Holtz
-/***********************************************************************************************************
-
- V.Smile cart emulation
- (through slot devices)
-
- ***********************************************************************************************************/
-
-
-#include "emu.h"
-#include "vsmile_slot.h"
-
-//**************************************************************************
-// GLOBAL VARIABLES
-//**************************************************************************
-
-DEFINE_DEVICE_TYPE(VSMILE_CART_SLOT, vsmile_cart_slot_device, "vsmile_cart_slot", "V.Smile Cartridge Slot")
-
-//**************************************************************************
-// V.Smile cartridge interface
-//**************************************************************************
-
-//-------------------------------------------------
-// device_vsmile_cart_interface - constructor
-//-------------------------------------------------
-
-device_vsmile_cart_interface::device_vsmile_cart_interface(const machine_config &mconfig, device_t &device)
- : device_slot_card_interface(mconfig, device)
- , m_rom(nullptr)
- , m_rom_size(0)
-{
-}
-
-
-//-------------------------------------------------
-// ~device_vsmile_cart_interface - destructor
-//-------------------------------------------------
-
-device_vsmile_cart_interface::~device_vsmile_cart_interface()
-{
-}
-
-//-------------------------------------------------
-// rom_alloc - alloc the space for the cart
-//-------------------------------------------------
-
-void device_vsmile_cart_interface::rom_alloc(uint32_t size, const char *tag)
-{
- if (m_rom == nullptr)
- {
- // We always alloc 8MB of ROM region
- m_rom = (uint16_t *)device().machine().memory().region_alloc(std::string(tag).append(VSMILE_SLOT_ROM_REGION_TAG).c_str(), size, 2, ENDIANNESS_BIG)->base();
- m_rom_size = size;
- }
-}
-
-
-//-------------------------------------------------
-// nvram_alloc - alloc the space for the nvram
-//-------------------------------------------------
-
-void device_vsmile_cart_interface::nvram_alloc(uint32_t size)
-{
- m_nvram.resize(size / sizeof(uint16_t));
-}
-
-
-//**************************************************************************
-// LIVE DEVICE
-//**************************************************************************
-
-//-------------------------------------------------
-// vsmile_cart_slot_device - constructor
-//-------------------------------------------------
-vsmile_cart_slot_device::vsmile_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, VSMILE_CART_SLOT, tag, owner, clock),
- device_image_interface(mconfig, *this),
- device_slot_interface(mconfig, *this),
- m_type(VSMILE_STD),
- m_cart(nullptr)
-{
-}
-
-
-//-------------------------------------------------
-// vsmile_cart_slot_device - destructor
-//-------------------------------------------------
-
-vsmile_cart_slot_device::~vsmile_cart_slot_device()
-{
-}
-
-//-------------------------------------------------
-// device_start - device-specific startup
-//-------------------------------------------------
-
-void vsmile_cart_slot_device::device_start()
-{
- m_cart = dynamic_cast<device_vsmile_cart_interface *>(get_card_device());
-}
-
-
-//-------------------------------------------------
-// V.Smile PCB
-//-------------------------------------------------
-
-struct vsmile_slot
-{
- int pcb_id;
- const char *slot_option;
-};
-
-// Here, we take the feature attribute from .xml (i.e. the PCB name) and we assign a unique ID to it
-static const vsmile_slot slot_list[] =
-{
- { VSMILE_STD, "vsmile_rom" },
- { VSMILE_NVRAM, "vsmile_nvram" },
-};
-
-static int vsmile_get_pcb_id(const char *slot)
-{
- for (auto & elem : slot_list)
- {
- if (!core_stricmp(elem.slot_option, slot))
- return elem.pcb_id;
- }
-
- return 0;
-}
-
-/*-------------------------------------------------
- call load
- -------------------------------------------------*/
-
-image_init_result vsmile_cart_slot_device::call_load()
-{
- if (m_cart)
- {
- uint32_t size = loaded_through_softlist() ? get_software_region_length("rom") : length();
- if (size > 0x1000000)
- {
- seterror(IMAGE_ERROR_UNSPECIFIED, "Attempted loading a cart larger than 16MB");
- return image_init_result::FAIL;
- }
-
- m_cart->rom_alloc(size, tag());
- uint8_t *rom = (uint8_t *)m_cart->get_rom_base();
-
- if (!loaded_through_softlist())
- {
- fread(rom, size);
- m_type = VSMILE_STD;
- }
- else
- {
- const char *pcb_name = get_feature("slot");
-
- memcpy(rom, get_software_region("rom"), size);
-
- if (pcb_name)
- m_type = vsmile_get_pcb_id(pcb_name);
-
- osd_printf_info("V.Smile: Detected (XML) %s\n", pcb_name ? pcb_name : "NONE");
- }
-
- if (m_type == VSMILE_NVRAM)
- {
- m_cart->nvram_alloc(0x200000);
- }
-
- if (m_cart->get_nvram_size())
- {
- battery_load(m_cart->get_nvram_base(), m_cart->get_nvram_size(), 0x00);
- }
-
- return image_init_result::PASS;
- }
-
- return image_init_result::PASS;
-}
-
-
-/*-------------------------------------------------
- call_unload
- -------------------------------------------------*/
-
-void vsmile_cart_slot_device::call_unload()
-{
- if (m_cart && m_cart->get_nvram_size())
- {
- battery_save(m_cart->get_nvram_base(), m_cart->get_nvram_size());
- }
-}
-
-
-/*-------------------------------------------------
- get default card software
- -------------------------------------------------*/
-
-std::string vsmile_cart_slot_device::get_default_card_software(get_default_card_software_hook &hook) const
-{
- return software_get_default_slot("vsmile_rom");
-}
-
-
-/*-------------------------------------------------
- cart accessors
- -------------------------------------------------*/
-
-READ16_MEMBER(vsmile_cart_slot_device::bank0_r)
-{
- return m_cart->bank0_r(space, offset, mem_mask);
-}
-
-READ16_MEMBER(vsmile_cart_slot_device::bank1_r)
-{
- return m_cart->bank1_r(space, offset, mem_mask);
-}
-
-READ16_MEMBER(vsmile_cart_slot_device::bank2_r)
-{
- return m_cart->bank2_r(space, offset, mem_mask);
-}
-
-READ16_MEMBER(vsmile_cart_slot_device::bank3_r)
-{
- return m_cart->bank3_r(space, offset, mem_mask);
-}
-
-WRITE16_MEMBER(vsmile_cart_slot_device::bank0_w)
-{
- m_cart->bank0_w(space, offset, data, mem_mask);
-}
-
-WRITE16_MEMBER(vsmile_cart_slot_device::bank1_w)
-{
- m_cart->bank1_w(space, offset, data, mem_mask);
-}
-
-WRITE16_MEMBER(vsmile_cart_slot_device::bank2_w)
-{
- m_cart->bank2_w(space, offset, data, mem_mask);
-}
-
-WRITE16_MEMBER(vsmile_cart_slot_device::bank3_w)
-{
- m_cart->bank3_w(space, offset, data, mem_mask);
-}
-
-void vsmile_cart_slot_device::set_cs2(bool cs2)
-{
- m_cart->set_cs2(cs2);
-}
diff --git a/src/devices/bus/vsmile/vsmile_slot.h b/src/devices/bus/vsmile/vsmile_slot.h
deleted file mode 100644
index 7d800677214..00000000000
--- a/src/devices/bus/vsmile/vsmile_slot.h
+++ /dev/null
@@ -1,128 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Ryan Holtz
-#ifndef MAME_BUS_VSMILE_VSMILE_SLOT_H
-#define MAME_BUS_VSMILE_VSMILE_SLOT_H
-
-#pragma once
-
-#include "softlist_dev.h"
-
-
-/***************************************************************************
- TYPE DEFINITIONS
- ***************************************************************************/
-
-#define VSMILE_SLOT_ROM_REGION_TAG ":cart:rom"
-
-enum
-{
- VSMILE_STD = 0,
- VSMILE_NVRAM
-};
-
-// ======================> device_vsmile_cart_interface
-
-class device_vsmile_cart_interface : public device_slot_card_interface
-{
-public:
- // construction/destruction
- virtual ~device_vsmile_cart_interface();
-
- // reading and writing
- virtual DECLARE_READ16_MEMBER(bank0_r) { return 0; }
- virtual DECLARE_READ16_MEMBER(bank1_r) { return 0; }
- virtual DECLARE_READ16_MEMBER(bank2_r) { return 0; }
- virtual DECLARE_READ16_MEMBER(bank3_r) { return 0; }
- virtual DECLARE_WRITE16_MEMBER(bank0_w) { }
- virtual DECLARE_WRITE16_MEMBER(bank1_w) { }
- virtual DECLARE_WRITE16_MEMBER(bank2_w) { }
- virtual DECLARE_WRITE16_MEMBER(bank3_w) { }
-
- // banking
- virtual void set_cs2(bool cs2) = 0;
-
- void rom_alloc(uint32_t size, const char *tag);
- void nvram_alloc(uint32_t size);
- uint16_t* get_rom_base() { return m_rom; }
- uint16_t* get_nvram_base() { return &m_nvram[0]; }
- uint32_t get_rom_size() { return m_rom_size; }
- uint32_t get_nvram_size() { return m_nvram.size() * sizeof(uint16_t); }
- void set_rom_size(uint32_t val) { m_rom_size = val; }
-
- void save_nvram() { device().save_item(NAME(m_nvram)); }
-
-protected:
- device_vsmile_cart_interface(const machine_config &mconfig, device_t &device);
-
- // internal state
- uint16_t *m_rom; // this points to the cart rom region
- uint32_t m_rom_size; // this is the actual game size, not the rom region size!
- std::vector<uint16_t> m_nvram;
-};
-
-
-// ======================> vsmile_cart_slot_device
-
-class vsmile_cart_slot_device : public device_t,
- public device_image_interface,
- public device_slot_interface
-{
-public:
- // construction/destruction
- template <typename T>
- vsmile_cart_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt)
- : vsmile_cart_slot_device(mconfig, tag, owner, (uint32_t)0)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
- vsmile_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual ~vsmile_cart_slot_device();
-
- // device-level overrides
- virtual void device_start() override;
-
- // image-level overrides
- 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(); }
-
- void save_nvram() { if (m_cart && m_cart->get_nvram_size()) m_cart->save_nvram(); }
- uint32_t get_rom_size() { if (m_cart) return m_cart->get_rom_size(); return 0; }
-
- virtual iodevice_t image_type() const override { return IO_CARTSLOT; }
- virtual bool is_readable() const override { return 1; }
- virtual bool is_writeable() const override { return 0; }
- virtual bool is_creatable() const override { return 0; }
- virtual bool must_be_loaded() const override { return 0; }
- virtual bool is_reset_on_load() const override { return 1; }
- virtual const char *image_interface() const override { return "vsmile_cart"; }
- virtual const char *file_extensions() const override { return "u1,u3,bin"; }
-
- // slot interface overrides
- virtual std::string get_default_card_software(get_default_card_software_hook &hook) const override;
-
- // reading and writing
- virtual DECLARE_READ16_MEMBER(bank0_r);
- virtual DECLARE_READ16_MEMBER(bank1_r);
- virtual DECLARE_READ16_MEMBER(bank2_r);
- virtual DECLARE_READ16_MEMBER(bank3_r);
- virtual DECLARE_WRITE16_MEMBER(bank0_w);
- virtual DECLARE_WRITE16_MEMBER(bank1_w);
- virtual DECLARE_WRITE16_MEMBER(bank2_w);
- virtual DECLARE_WRITE16_MEMBER(bank3_w);
-
- // banking
- void set_cs2(bool cs2);
-
-protected:
- int m_type;
- device_vsmile_cart_interface* m_cart;
-};
-
-// device type definition
-DECLARE_DEVICE_TYPE(VSMILE_CART_SLOT, vsmile_cart_slot_device)
-
-#endif // MAME_BUS_VSMILE_VSMILE_SLOT_H
diff --git a/src/devices/bus/vtech/ioexp/ioexp.cpp b/src/devices/bus/vtech/ioexp/ioexp.cpp
index 897b0dba95b..c2916a0ba14 100644
--- a/src/devices/bus/vtech/ioexp/ioexp.cpp
+++ b/src/devices/bus/vtech/ioexp/ioexp.cpp
@@ -30,7 +30,7 @@ DEFINE_DEVICE_TYPE(VTECH_IOEXP_SLOT, vtech_ioexp_slot_device, "vtech_ioexp_slot"
vtech_ioexp_slot_device::vtech_ioexp_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, VTECH_IOEXP_SLOT, tag, owner, clock),
device_slot_interface(mconfig, *this),
- m_io(*this, finder_base::DUMMY_TAG, -1),
+ m_io(nullptr),
m_cart(nullptr)
{
}
@@ -59,6 +59,15 @@ void vtech_ioexp_slot_device::device_reset()
{
}
+//-------------------------------------------------
+// set_io_space - set address space we are attached to
+//-------------------------------------------------
+
+void vtech_ioexp_slot_device::set_io_space(address_space *io)
+{
+ m_io = io;
+}
+
//**************************************************************************
// CARTRIDGE INTERFACE
diff --git a/src/devices/bus/vtech/ioexp/ioexp.h b/src/devices/bus/vtech/ioexp/ioexp.h
index 9a78f861478..0c2a3d2d431 100644
--- a/src/devices/bus/vtech/ioexp/ioexp.h
+++ b/src/devices/bus/vtech/ioexp/ioexp.h
@@ -54,14 +54,14 @@ public:
vtech_ioexp_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~vtech_ioexp_slot_device();
- template <typename T> void set_io_space(T &&tag, int spacenum) { m_io.set_tag(std::forward<T>(tag), spacenum); }
+ void set_io_space(address_space *io);
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
- required_address_space m_io;
+ address_space *m_io;
device_vtech_ioexp_interface *m_cart;
};
diff --git a/src/devices/bus/vtech/ioexp/printer.cpp b/src/devices/bus/vtech/ioexp/printer.cpp
index b927f41d3c4..66967668703 100644
--- a/src/devices/bus/vtech/ioexp/printer.cpp
+++ b/src/devices/bus/vtech/ioexp/printer.cpp
@@ -23,14 +23,11 @@ DEFINE_DEVICE_TYPE(VTECH_PRINTER_INTERFACE, vtech_printer_interface_device, "vte
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void vtech_printer_interface_device::device_add_mconfig(machine_config &config)
-{
- CENTRONICS(config, m_centronics, centronics_devices, "printer");
- m_centronics->busy_handler().set(FUNC(vtech_printer_interface_device::busy_w));
-
- OUTPUT_LATCH(config, m_latch);
- m_centronics->set_output_latch(*m_latch);
-}
+MACHINE_CONFIG_START(vtech_printer_interface_device::device_add_mconfig)
+ MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
+ MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, vtech_printer_interface_device, busy_w))
+ MCFG_CENTRONICS_OUTPUT_LATCH_ADD("latch", "centronics")
+MACHINE_CONFIG_END
//**************************************************************************
diff --git a/src/devices/bus/vtech/memexp/floppy.cpp b/src/devices/bus/vtech/memexp/floppy.cpp
index 5807588ec27..bf7a3175594 100644
--- a/src/devices/bus/vtech/memexp/floppy.cpp
+++ b/src/devices/bus/vtech/memexp/floppy.cpp
@@ -107,6 +107,9 @@ void vtech_floppy_controller_device::device_start()
void vtech_floppy_controller_device::device_reset()
{
+ m_memexp->set_io_space(&io_space());
+ m_memexp->set_program_space(&program_space());
+
program_space().install_rom(0x4000, 0x5fff, memregion("software")->base());
io_space().install_device(0x10, 0x1f, *this, &vtech_floppy_controller_device::map);
diff --git a/src/devices/bus/vtech/memexp/memexp.cpp b/src/devices/bus/vtech/memexp/memexp.cpp
index 90f51da7345..e7f61e5d048 100644
--- a/src/devices/bus/vtech/memexp/memexp.cpp
+++ b/src/devices/bus/vtech/memexp/memexp.cpp
@@ -30,8 +30,8 @@ DEFINE_DEVICE_TYPE(VTECH_MEMEXP_SLOT, vtech_memexp_slot_device, "vtech_memexp_sl
vtech_memexp_slot_device::vtech_memexp_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, VTECH_MEMEXP_SLOT, tag, owner, clock),
device_slot_interface(mconfig, *this),
- m_program(*this, finder_base::DUMMY_TAG, -1),
- m_io(*this, finder_base::DUMMY_TAG, -1),
+ m_program(nullptr),
+ m_io(nullptr),
m_cart(nullptr),
m_int_handler(*this),
m_nmi_handler(*this),
@@ -48,28 +48,6 @@ vtech_memexp_slot_device::~vtech_memexp_slot_device()
}
//-------------------------------------------------
-// device_config_complete - perform any
-// operations now that the configuration is
-// complete
-//-------------------------------------------------
-
-void vtech_memexp_slot_device::device_config_complete()
-{
- // for passthrough connectors, use the parent slot's spaces
- if (dynamic_cast<device_vtech_memexp_interface *>(owner()) != nullptr)
- {
- auto parent = dynamic_cast<vtech_memexp_slot_device *>(owner()->owner());
- if (parent != nullptr)
- {
- if (m_program.finder_tag() == finder_base::DUMMY_TAG)
- m_program.set_tag(parent->m_program, parent->m_program.spacenum());
- if (m_io.finder_tag() == finder_base::DUMMY_TAG)
- m_io.set_tag(parent->m_io, parent->m_io.spacenum());
- }
- }
-}
-
-//-------------------------------------------------
// device_start - device-specific startup
//-------------------------------------------------
@@ -89,6 +67,24 @@ void vtech_memexp_slot_device::device_reset()
{
}
+//-------------------------------------------------
+// set_program_space - set address space we are attached to
+//-------------------------------------------------
+
+void vtech_memexp_slot_device::set_program_space(address_space *program)
+{
+ m_program = program;
+}
+
+//-------------------------------------------------
+// set_io_space - set address space we are attached to
+//-------------------------------------------------
+
+void vtech_memexp_slot_device::set_io_space(address_space *io)
+{
+ m_io = io;
+}
+
//**************************************************************************
// CARTRIDGE INTERFACE
diff --git a/src/devices/bus/vtech/memexp/memexp.h b/src/devices/bus/vtech/memexp/memexp.h
index ca096075e90..097036bfd92 100644
--- a/src/devices/bus/vtech/memexp/memexp.h
+++ b/src/devices/bus/vtech/memexp/memexp.h
@@ -61,8 +61,8 @@ public:
vtech_memexp_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~vtech_memexp_slot_device();
- template <typename T> void set_program_space(T &&tag, int spacenum) { m_program.set_tag(std::forward<T>(tag), spacenum); }
- template <typename T> void set_io_space(T &&tag, int spacenum) { m_io.set_tag(std::forward<T>(tag), spacenum); }
+ void set_program_space(address_space *program);
+ void set_io_space(address_space *io);
// callbacks
auto int_handler() { return m_int_handler.bind(); }
@@ -76,12 +76,11 @@ public:
protected:
// device-level overrides
- virtual void device_config_complete() override;
virtual void device_start() override;
virtual void device_reset() override;
- required_address_space m_program;
- required_address_space m_io;
+ address_space *m_program;
+ address_space *m_io;
device_vtech_memexp_interface *m_cart;
diff --git a/src/devices/bus/wangpc/emb.cpp b/src/devices/bus/wangpc/emb.cpp
index 8a1817d1666..8f555391bea 100644
--- a/src/devices/bus/wangpc/emb.cpp
+++ b/src/devices/bus/wangpc/emb.cpp
@@ -85,7 +85,7 @@ void wangpc_emb_device::device_reset()
// wangpcbus_mrdc_r - memory read
//-------------------------------------------------
-uint16_t wangpc_emb_device::wangpcbus_mrdc_r(offs_t offset, uint16_t mem_mask)
+uint16_t wangpc_emb_device::wangpcbus_mrdc_r(address_space &space, offs_t offset, uint16_t mem_mask)
{
uint16_t data = 0xffff;
@@ -105,7 +105,7 @@ uint16_t wangpc_emb_device::wangpcbus_mrdc_r(offs_t offset, uint16_t mem_mask)
// wangpcbus_amwc_w - memory write
//-------------------------------------------------
-void wangpc_emb_device::wangpcbus_amwc_w(offs_t offset, uint16_t mem_mask, uint16_t data)
+void wangpc_emb_device::wangpcbus_amwc_w(address_space &space, offs_t offset, uint16_t mem_mask, uint16_t data)
{
for (int bank = 0; bank < 4; bank++)
{
@@ -121,7 +121,7 @@ void wangpc_emb_device::wangpcbus_amwc_w(offs_t offset, uint16_t mem_mask, uint1
// wangpcbus_iorc_r - I/O read
//-------------------------------------------------
-uint16_t wangpc_emb_device::wangpcbus_iorc_r(offs_t offset, uint16_t mem_mask)
+uint16_t wangpc_emb_device::wangpcbus_iorc_r(address_space &space, offs_t offset, uint16_t mem_mask)
{
uint16_t data = 0xffff;
@@ -149,7 +149,7 @@ uint16_t wangpc_emb_device::wangpcbus_iorc_r(offs_t offset, uint16_t mem_mask)
// wangpcbus_aiowc_w - I/O write
//-------------------------------------------------
-void wangpc_emb_device::wangpcbus_aiowc_w(offs_t offset, uint16_t mem_mask, uint16_t data)
+void wangpc_emb_device::wangpcbus_aiowc_w(address_space &space, offs_t offset, uint16_t mem_mask, uint16_t data)
{
if (sad(offset))
{
diff --git a/src/devices/bus/wangpc/emb.h b/src/devices/bus/wangpc/emb.h
index 1e175ae6867..bdaa7698b51 100644
--- a/src/devices/bus/wangpc/emb.h
+++ b/src/devices/bus/wangpc/emb.h
@@ -34,10 +34,10 @@ protected:
virtual void device_reset() override;
// device_wangpcbus_card_interface overrides
- virtual uint16_t wangpcbus_mrdc_r(offs_t offset, uint16_t mem_mask) override;
- virtual void wangpcbus_amwc_w(offs_t offset, uint16_t mem_mask, uint16_t data) override;
- virtual uint16_t wangpcbus_iorc_r(offs_t offset, uint16_t mem_mask) override;
- virtual void wangpcbus_aiowc_w(offs_t offset, uint16_t mem_mask, uint16_t data) override;
+ virtual uint16_t wangpcbus_mrdc_r(address_space &space, offs_t offset, uint16_t mem_mask) override;
+ virtual void wangpcbus_amwc_w(address_space &space, offs_t offset, uint16_t mem_mask, uint16_t data) override;
+ virtual uint16_t wangpcbus_iorc_r(address_space &space, offs_t offset, uint16_t mem_mask) override;
+ virtual void wangpcbus_aiowc_w(address_space &space, offs_t offset, uint16_t mem_mask, uint16_t data) override;
private:
optional_shared_ptr<uint16_t> m_ram;
diff --git a/src/devices/bus/wangpc/lic.cpp b/src/devices/bus/wangpc/lic.cpp
index f56c673fd26..30694d7d7c8 100644
--- a/src/devices/bus/wangpc/lic.cpp
+++ b/src/devices/bus/wangpc/lic.cpp
@@ -50,9 +50,9 @@ const tiny_rom_entry *wangpc_lic_device::device_rom_region() const
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void wangpc_lic_device::device_add_mconfig(machine_config &config)
-{
-}
+MACHINE_CONFIG_START(wangpc_lic_device::device_add_mconfig)
+MACHINE_CONFIG_END
+
//**************************************************************************
@@ -92,7 +92,7 @@ void wangpc_lic_device::device_reset()
// wangpcbus_mrdc_r - memory read
//-------------------------------------------------
-uint16_t wangpc_lic_device::wangpcbus_mrdc_r(offs_t offset, uint16_t mem_mask)
+uint16_t wangpc_lic_device::wangpcbus_mrdc_r(address_space &space, offs_t offset, uint16_t mem_mask)
{
uint16_t data = 0xffff;
@@ -104,7 +104,7 @@ uint16_t wangpc_lic_device::wangpcbus_mrdc_r(offs_t offset, uint16_t mem_mask)
// wangpcbus_amwc_w - memory write
//-------------------------------------------------
-void wangpc_lic_device::wangpcbus_amwc_w(offs_t offset, uint16_t mem_mask, uint16_t data)
+void wangpc_lic_device::wangpcbus_amwc_w(address_space &space, offs_t offset, uint16_t mem_mask, uint16_t data)
{
}
@@ -113,7 +113,7 @@ void wangpc_lic_device::wangpcbus_amwc_w(offs_t offset, uint16_t mem_mask, uint1
// wangpcbus_iorc_r - I/O read
//-------------------------------------------------
-uint16_t wangpc_lic_device::wangpcbus_iorc_r(offs_t offset, uint16_t mem_mask)
+uint16_t wangpc_lic_device::wangpcbus_iorc_r(address_space &space, offs_t offset, uint16_t mem_mask)
{
uint16_t data = 0xffff;
@@ -135,7 +135,7 @@ uint16_t wangpc_lic_device::wangpcbus_iorc_r(offs_t offset, uint16_t mem_mask)
// wangpcbus_aiowc_w - I/O write
//-------------------------------------------------
-void wangpc_lic_device::wangpcbus_aiowc_w(offs_t offset, uint16_t mem_mask, uint16_t data)
+void wangpc_lic_device::wangpcbus_aiowc_w(address_space &space, offs_t offset, uint16_t mem_mask, uint16_t data)
{
if (sad(offset))
{
diff --git a/src/devices/bus/wangpc/lic.h b/src/devices/bus/wangpc/lic.h
index 8ead2c65f0a..f3a27f0bc77 100644
--- a/src/devices/bus/wangpc/lic.h
+++ b/src/devices/bus/wangpc/lic.h
@@ -36,10 +36,10 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// device_wangpcbus_card_interface overrides
- virtual uint16_t wangpcbus_mrdc_r(offs_t offset, uint16_t mem_mask) override;
- virtual void wangpcbus_amwc_w(offs_t offset, uint16_t mem_mask, uint16_t data) override;
- virtual uint16_t wangpcbus_iorc_r(offs_t offset, uint16_t mem_mask) override;
- virtual void wangpcbus_aiowc_w(offs_t offset, uint16_t mem_mask, uint16_t data) override;
+ virtual uint16_t wangpcbus_mrdc_r(address_space &space, offs_t offset, uint16_t mem_mask) override;
+ virtual void wangpcbus_amwc_w(address_space &space, offs_t offset, uint16_t mem_mask, uint16_t data) override;
+ virtual uint16_t wangpcbus_iorc_r(address_space &space, offs_t offset, uint16_t mem_mask) override;
+ virtual void wangpcbus_aiowc_w(address_space &space, offs_t offset, uint16_t mem_mask, uint16_t data) override;
};
diff --git a/src/devices/bus/wangpc/lvc.cpp b/src/devices/bus/wangpc/lvc.cpp
index 0d316e5b15b..f4d05b8827d 100644
--- a/src/devices/bus/wangpc/lvc.cpp
+++ b/src/devices/bus/wangpc/lvc.cpp
@@ -113,17 +113,16 @@ WRITE_LINE_MEMBER( wangpc_lvc_device::vsync_w )
}
//-------------------------------------------------
-// machine_config( wangpc_lvc )
+// MACHINE_CONFIG_START( wangpc_lvc )
//-------------------------------------------------
-void wangpc_lvc_device::device_add_mconfig(machine_config &config)
-{
- screen_device &screen(SCREEN(config, SCREEN_TAG, SCREEN_TYPE_RASTER));
- screen.set_screen_update(MC6845_TAG, FUNC(mc6845_device::screen_update));
- screen.set_size(80*8, 25*9);
- screen.set_visarea(0, 80*8-1, 0, 25*9-1);
- screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500));
- screen.set_refresh_hz(60);
+MACHINE_CONFIG_START(wangpc_lvc_device::device_add_mconfig)
+ MCFG_SCREEN_ADD(SCREEN_TAG, RASTER)
+ MCFG_SCREEN_UPDATE_DEVICE(MC6845_TAG, mc6845_device, screen_update)
+ MCFG_SCREEN_SIZE(80*8, 25*9)
+ MCFG_SCREEN_VISIBLE_AREA(0, 80*8-1, 0, 25*9-1)
+ MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500))
+ MCFG_SCREEN_REFRESH_RATE(60)
MC6845_1(config, m_crtc, XTAL(14'318'181)/16);
m_crtc->set_screen(SCREEN_TAG);
@@ -131,7 +130,7 @@ void wangpc_lvc_device::device_add_mconfig(machine_config &config)
m_crtc->set_char_width(8);
m_crtc->set_update_row_callback(FUNC(wangpc_lvc_device::crtc_update_row), this);
m_crtc->out_vsync_callback().set(FUNC(wangpc_lvc_device::vsync_w));
-}
+MACHINE_CONFIG_END
@@ -203,7 +202,7 @@ void wangpc_lvc_device::device_reset()
// wangpcbus_mrdc_r - memory read
//-------------------------------------------------
-uint16_t wangpc_lvc_device::wangpcbus_mrdc_r(offs_t offset, uint16_t mem_mask)
+uint16_t wangpc_lvc_device::wangpcbus_mrdc_r(address_space &space, offs_t offset, uint16_t mem_mask)
{
uint16_t data = 0xffff;
@@ -222,7 +221,7 @@ uint16_t wangpc_lvc_device::wangpcbus_mrdc_r(offs_t offset, uint16_t mem_mask)
// wangpcbus_amwc_w - memory write
//-------------------------------------------------
-void wangpc_lvc_device::wangpcbus_amwc_w(offs_t offset, uint16_t mem_mask, uint16_t data)
+void wangpc_lvc_device::wangpcbus_amwc_w(address_space &space, offs_t offset, uint16_t mem_mask, uint16_t data)
{
if (OPTION_VRAM && (offset >= 0xe0000/2) && (offset < 0xf0000/2))
{
@@ -237,7 +236,7 @@ void wangpc_lvc_device::wangpcbus_amwc_w(offs_t offset, uint16_t mem_mask, uint1
// wangpcbus_iorc_r - I/O read
//-------------------------------------------------
-uint16_t wangpc_lvc_device::wangpcbus_iorc_r(offs_t offset, uint16_t mem_mask)
+uint16_t wangpc_lvc_device::wangpcbus_iorc_r(address_space &space, offs_t offset, uint16_t mem_mask)
{
uint16_t data = 0xffff;
@@ -246,7 +245,7 @@ uint16_t wangpc_lvc_device::wangpcbus_iorc_r(offs_t offset, uint16_t mem_mask)
switch (offset & 0x7f)
{
case 0x02/2:
- data = 0xff00 | m_crtc->register_r();
+ data = 0xff00 | m_crtc->register_r(space, 0);
break;
case 0x30/2:
@@ -270,7 +269,7 @@ uint16_t wangpc_lvc_device::wangpcbus_iorc_r(offs_t offset, uint16_t mem_mask)
// wangpcbus_aiowc_w - I/O write
//-------------------------------------------------
-void wangpc_lvc_device::wangpcbus_aiowc_w(offs_t offset, uint16_t mem_mask, uint16_t data)
+void wangpc_lvc_device::wangpcbus_aiowc_w(address_space &space, offs_t offset, uint16_t mem_mask, uint16_t data)
{
if (sad(offset))
{
@@ -279,14 +278,14 @@ void wangpc_lvc_device::wangpcbus_aiowc_w(offs_t offset, uint16_t mem_mask, uint
case 0x00/2:
if (ACCESSING_BITS_0_7)
{
- m_crtc->address_w(data & 0xff);
+ m_crtc->address_w(space, 0, data & 0xff);
}
break;
case 0x02/2:
if (ACCESSING_BITS_0_7)
{
- m_crtc->register_w(data & 0xff);
+ m_crtc->register_w(space, 0, data & 0xff);
}
break;
diff --git a/src/devices/bus/wangpc/lvc.h b/src/devices/bus/wangpc/lvc.h
index 3fa858adf1c..7b4f9203007 100644
--- a/src/devices/bus/wangpc/lvc.h
+++ b/src/devices/bus/wangpc/lvc.h
@@ -36,10 +36,10 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// device_wangpcbus_card_interface overrides
- virtual uint16_t wangpcbus_mrdc_r(offs_t offset, uint16_t mem_mask) override;
- virtual void wangpcbus_amwc_w(offs_t offset, uint16_t mem_mask, uint16_t data) override;
- virtual uint16_t wangpcbus_iorc_r(offs_t offset, uint16_t mem_mask) override;
- virtual void wangpcbus_aiowc_w(offs_t offset, uint16_t mem_mask, uint16_t data) override;
+ virtual uint16_t wangpcbus_mrdc_r(address_space &space, offs_t offset, uint16_t mem_mask) override;
+ virtual void wangpcbus_amwc_w(address_space &space, offs_t offset, uint16_t mem_mask, uint16_t data) override;
+ virtual uint16_t wangpcbus_iorc_r(address_space &space, offs_t offset, uint16_t mem_mask) override;
+ virtual void wangpcbus_aiowc_w(address_space &space, offs_t offset, uint16_t mem_mask, uint16_t data) override;
private:
MC6845_UPDATE_ROW( crtc_update_row );
diff --git a/src/devices/bus/wangpc/mcc.cpp b/src/devices/bus/wangpc/mcc.cpp
index 5b029ed38d2..d5c8bf4b941 100644
--- a/src/devices/bus/wangpc/mcc.cpp
+++ b/src/devices/bus/wangpc/mcc.cpp
@@ -52,7 +52,7 @@ DEFINE_DEVICE_TYPE(WANGPC_MCC, wangpc_mcc_device, "wangpc_mcc", "Wang PC-PM043 M
//-------------------------------------------------
-// machine_config( wangpc_mcc )
+// MACHINE_CONFIG_START( wangpc_mcc )
//-------------------------------------------------
void wangpc_mcc_device::device_add_mconfig(machine_config &config)
@@ -129,7 +129,7 @@ void wangpc_mcc_device::device_reset()
// wangpcbus_iorc_r - I/O read
//-------------------------------------------------
-uint16_t wangpc_mcc_device::wangpcbus_iorc_r(offs_t offset, uint16_t mem_mask)
+uint16_t wangpc_mcc_device::wangpcbus_iorc_r(address_space &space, offs_t offset, uint16_t mem_mask)
{
uint16_t data = 0xffff;
@@ -143,7 +143,7 @@ uint16_t wangpc_mcc_device::wangpcbus_iorc_r(offs_t offset, uint16_t mem_mask)
case 0x06/2:
if (ACCESSING_BITS_0_7)
{
- data = 0xff00 | m_sio->cd_ba_r(machine().dummy_space(), offset >> 1);
+ data = 0xff00 | m_sio->cd_ba_r(space, offset >> 1);
}
break;
@@ -153,7 +153,7 @@ uint16_t wangpc_mcc_device::wangpcbus_iorc_r(offs_t offset, uint16_t mem_mask)
case 0x0e/2:
if (ACCESSING_BITS_0_7)
{
- data = 0xff00 | m_dart->cd_ba_r(machine().dummy_space(), offset >> 1);
+ data = 0xff00 | m_dart->cd_ba_r(space, offset >> 1);
}
break;
@@ -198,7 +198,7 @@ uint16_t wangpc_mcc_device::wangpcbus_iorc_r(offs_t offset, uint16_t mem_mask)
// wangpcbus_aiowc_w - I/O write
//-------------------------------------------------
-void wangpc_mcc_device::wangpcbus_aiowc_w(offs_t offset, uint16_t mem_mask, uint16_t data)
+void wangpc_mcc_device::wangpcbus_aiowc_w(address_space &space, offs_t offset, uint16_t mem_mask, uint16_t data)
{
if (sad(offset) && ACCESSING_BITS_0_7)
{
@@ -208,14 +208,14 @@ void wangpc_mcc_device::wangpcbus_aiowc_w(offs_t offset, uint16_t mem_mask, uint
case 0x02/2:
case 0x04/2:
case 0x06/2:
- m_sio->cd_ba_w(machine().dummy_space(), offset >> 1, data & 0xff);
+ m_sio->cd_ba_w(space, offset >> 1, data & 0xff);
break;
case 0x08/2:
case 0x0a/2:
case 0x0c/2:
case 0x0e/2:
- m_dart->cd_ba_w(machine().dummy_space(), offset >> 1, data & 0xff);
+ m_dart->cd_ba_w(space, offset >> 1, data & 0xff);
break;
case 0x12/2:
diff --git a/src/devices/bus/wangpc/mcc.h b/src/devices/bus/wangpc/mcc.h
index 58b8931f5fa..d09f2e23cba 100644
--- a/src/devices/bus/wangpc/mcc.h
+++ b/src/devices/bus/wangpc/mcc.h
@@ -36,8 +36,8 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// device_wangpcbus_card_interface overrides
- virtual uint16_t wangpcbus_iorc_r(offs_t offset, uint16_t mem_mask) override;
- virtual void wangpcbus_aiowc_w(offs_t offset, uint16_t mem_mask, uint16_t data) override;
+ virtual uint16_t wangpcbus_iorc_r(address_space &space, offs_t offset, uint16_t mem_mask) override;
+ virtual void wangpcbus_aiowc_w(address_space &space, offs_t offset, uint16_t mem_mask, uint16_t data) override;
private:
inline void set_irq(int state);
diff --git a/src/devices/bus/wangpc/mvc.cpp b/src/devices/bus/wangpc/mvc.cpp
index af78d16cc29..79999d72ade 100644
--- a/src/devices/bus/wangpc/mvc.cpp
+++ b/src/devices/bus/wangpc/mvc.cpp
@@ -133,17 +133,16 @@ WRITE_LINE_MEMBER( wangpc_mvc_device::vsync_w )
}
//-------------------------------------------------
-// machine_config( wangpc_mvc )
+// MACHINE_CONFIG_START( wangpc_mvc )
//-------------------------------------------------
-void wangpc_mvc_device::device_add_mconfig(machine_config &config)
-{
- screen_device &screen(SCREEN(config, SCREEN_TAG, SCREEN_TYPE_RASTER));
- screen.set_screen_update(MC6845_TAG, FUNC(mc6845_device::screen_update));
- screen.set_size(80*10, 25*12);
- screen.set_visarea(0, 80*10-1, 0, 25*12-1);
- screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500));
- screen.set_refresh_hz(60);
+MACHINE_CONFIG_START(wangpc_mvc_device::device_add_mconfig)
+ MCFG_SCREEN_ADD(SCREEN_TAG, RASTER)
+ MCFG_SCREEN_UPDATE_DEVICE(MC6845_TAG, mc6845_device, screen_update)
+ MCFG_SCREEN_SIZE(80*10, 25*12)
+ MCFG_SCREEN_VISIBLE_AREA(0, 80*10-1, 0, 25*12-1)
+ MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500))
+ MCFG_SCREEN_REFRESH_RATE(60)
MC6845_1(config, m_crtc, XTAL(14'318'181)/16);
m_crtc->set_screen(SCREEN_TAG);
@@ -151,7 +150,7 @@ void wangpc_mvc_device::device_add_mconfig(machine_config &config)
m_crtc->set_char_width(10);
m_crtc->set_update_row_callback(FUNC(wangpc_mvc_device::crtc_update_row), this);
m_crtc->out_vsync_callback().set(FUNC(wangpc_mvc_device::vsync_w));
-}
+MACHINE_CONFIG_END
@@ -226,7 +225,7 @@ void wangpc_mvc_device::device_reset()
// wangpcbus_mrdc_r - memory read
//-------------------------------------------------
-uint16_t wangpc_mvc_device::wangpcbus_mrdc_r(offs_t offset, uint16_t mem_mask)
+uint16_t wangpc_mvc_device::wangpcbus_mrdc_r(address_space &space, offs_t offset, uint16_t mem_mask)
{
uint16_t data = 0xffff;
@@ -254,7 +253,7 @@ uint16_t wangpc_mvc_device::wangpcbus_mrdc_r(offs_t offset, uint16_t mem_mask)
// wangpcbus_amwc_w - memory write
//-------------------------------------------------
-void wangpc_mvc_device::wangpcbus_amwc_w(offs_t offset, uint16_t mem_mask, uint16_t data)
+void wangpc_mvc_device::wangpcbus_amwc_w(address_space &space, offs_t offset, uint16_t mem_mask, uint16_t data)
{
if (OPTION_VRAM)
{
@@ -278,7 +277,7 @@ void wangpc_mvc_device::wangpcbus_amwc_w(offs_t offset, uint16_t mem_mask, uint1
// wangpcbus_iorc_r - I/O read
//-------------------------------------------------
-uint16_t wangpc_mvc_device::wangpcbus_iorc_r(offs_t offset, uint16_t mem_mask)
+uint16_t wangpc_mvc_device::wangpcbus_iorc_r(address_space &space, offs_t offset, uint16_t mem_mask)
{
uint16_t data = 0xffff;
@@ -302,18 +301,18 @@ uint16_t wangpc_mvc_device::wangpcbus_iorc_r(offs_t offset, uint16_t mem_mask)
// wangpcbus_aiowc_w - I/O write
//-------------------------------------------------
-void wangpc_mvc_device::wangpcbus_aiowc_w(offs_t offset, uint16_t mem_mask, uint16_t data)
+void wangpc_mvc_device::wangpcbus_aiowc_w(address_space &space, offs_t offset, uint16_t mem_mask, uint16_t data)
{
if (sad(offset) && ACCESSING_BITS_0_7)
{
switch (offset & 0x7f)
{
case 0x00/2:
- m_crtc->address_w(data & 0xff);
+ m_crtc->address_w(space, 0, data & 0xff);
break;
case 0x02/2:
- m_crtc->register_w(data & 0xff);
+ m_crtc->register_w(space, 0, data & 0xff);
break;
case 0x10/2:
diff --git a/src/devices/bus/wangpc/mvc.h b/src/devices/bus/wangpc/mvc.h
index aee0cdf51b2..4620126c04e 100644
--- a/src/devices/bus/wangpc/mvc.h
+++ b/src/devices/bus/wangpc/mvc.h
@@ -36,10 +36,10 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// device_wangpcbus_card_interface overrides
- virtual uint16_t wangpcbus_mrdc_r(offs_t offset, uint16_t mem_mask) override;
- virtual void wangpcbus_amwc_w(offs_t offset, uint16_t mem_mask, uint16_t data) override;
- virtual uint16_t wangpcbus_iorc_r(offs_t offset, uint16_t mem_mask) override;
- virtual void wangpcbus_aiowc_w(offs_t offset, uint16_t mem_mask, uint16_t data) override;
+ virtual uint16_t wangpcbus_mrdc_r(address_space &space, offs_t offset, uint16_t mem_mask) override;
+ virtual void wangpcbus_amwc_w(address_space &space, offs_t offset, uint16_t mem_mask, uint16_t data) override;
+ virtual uint16_t wangpcbus_iorc_r(address_space &space, offs_t offset, uint16_t mem_mask) override;
+ virtual void wangpcbus_aiowc_w(address_space &space, offs_t offset, uint16_t mem_mask, uint16_t data) override;
private:
MC6845_UPDATE_ROW( crtc_update_row );
diff --git a/src/devices/bus/wangpc/rtc.cpp b/src/devices/bus/wangpc/rtc.cpp
index 4512939003f..bdf392f9bed 100644
--- a/src/devices/bus/wangpc/rtc.cpp
+++ b/src/devices/bus/wangpc/rtc.cpp
@@ -214,7 +214,7 @@ void wangpc_rtc_device::device_reset()
// wangpcbus_mrdc_r - memory read
//-------------------------------------------------
-uint16_t wangpc_rtc_device::wangpcbus_mrdc_r(offs_t offset, uint16_t mem_mask)
+uint16_t wangpc_rtc_device::wangpcbus_mrdc_r(address_space &space, offs_t offset, uint16_t mem_mask)
{
uint16_t data = 0xffff;
@@ -226,7 +226,7 @@ uint16_t wangpc_rtc_device::wangpcbus_mrdc_r(offs_t offset, uint16_t mem_mask)
// wangpcbus_amwc_w - memory write
//-------------------------------------------------
-void wangpc_rtc_device::wangpcbus_amwc_w(offs_t offset, uint16_t mem_mask, uint16_t data)
+void wangpc_rtc_device::wangpcbus_amwc_w(address_space &space, offs_t offset, uint16_t mem_mask, uint16_t data)
{
}
@@ -235,7 +235,7 @@ void wangpc_rtc_device::wangpcbus_amwc_w(offs_t offset, uint16_t mem_mask, uint1
// wangpcbus_iorc_r - I/O read
//-------------------------------------------------
-uint16_t wangpc_rtc_device::wangpcbus_iorc_r(offs_t offset, uint16_t mem_mask)
+uint16_t wangpc_rtc_device::wangpcbus_iorc_r(address_space &space, offs_t offset, uint16_t mem_mask)
{
uint16_t data = 0xffff;
@@ -257,7 +257,7 @@ uint16_t wangpc_rtc_device::wangpcbus_iorc_r(offs_t offset, uint16_t mem_mask)
// wangpcbus_aiowc_w - I/O write
//-------------------------------------------------
-void wangpc_rtc_device::wangpcbus_aiowc_w(offs_t offset, uint16_t mem_mask, uint16_t data)
+void wangpc_rtc_device::wangpcbus_aiowc_w(address_space &space, offs_t offset, uint16_t mem_mask, uint16_t data)
{
if (sad(offset))
{
diff --git a/src/devices/bus/wangpc/rtc.h b/src/devices/bus/wangpc/rtc.h
index 9233222a4f9..4f0b22372f2 100644
--- a/src/devices/bus/wangpc/rtc.h
+++ b/src/devices/bus/wangpc/rtc.h
@@ -41,10 +41,10 @@ protected:
virtual ioport_constructor device_input_ports() const override;
// device_wangpcbus_card_interface overrides
- virtual uint16_t wangpcbus_mrdc_r(offs_t offset, uint16_t mem_mask) override;
- virtual void wangpcbus_amwc_w(offs_t offset, uint16_t mem_mask, uint16_t data) override;
- virtual uint16_t wangpcbus_iorc_r(offs_t offset, uint16_t mem_mask) override;
- virtual void wangpcbus_aiowc_w(offs_t offset, uint16_t mem_mask, uint16_t data) override;
+ virtual uint16_t wangpcbus_mrdc_r(address_space &space, offs_t offset, uint16_t mem_mask) override;
+ virtual void wangpcbus_amwc_w(address_space &space, offs_t offset, uint16_t mem_mask, uint16_t data) override;
+ virtual uint16_t wangpcbus_iorc_r(address_space &space, offs_t offset, uint16_t mem_mask) override;
+ virtual void wangpcbus_aiowc_w(address_space &space, offs_t offset, uint16_t mem_mask, uint16_t data) override;
private:
required_device<z80_device> m_maincpu;
diff --git a/src/devices/bus/wangpc/tig.cpp b/src/devices/bus/wangpc/tig.cpp
index f0c00ed3cc3..e9170b420cc 100644
--- a/src/devices/bus/wangpc/tig.cpp
+++ b/src/devices/bus/wangpc/tig.cpp
@@ -111,30 +111,29 @@ UPD7220_DISPLAY_PIXELS_MEMBER( wangpc_tig_device::hgdc_display_pixels )
//-------------------------------------------------
-// machine_config( wangpc_tig )
+// MACHINE_CONFIG_START( wangpc_tig )
//-------------------------------------------------
-void wangpc_tig_device::device_add_mconfig(machine_config &config)
-{
- screen_device &screen(SCREEN(config, SCREEN_TAG, SCREEN_TYPE_RASTER, rgb_t::green()));
- screen.set_screen_update(FUNC(wangpc_tig_device::screen_update));
- screen.set_size(80*10, 25*12);
- screen.set_visarea(0, 80*10-1, 0, 25*12-1);
- screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500));
- screen.set_refresh_hz(60);
+MACHINE_CONFIG_START(wangpc_tig_device::device_add_mconfig)
+ MCFG_SCREEN_ADD_MONOCHROME(SCREEN_TAG, RASTER, rgb_t::green())
+ MCFG_SCREEN_UPDATE_DEVICE(DEVICE_SELF, wangpc_tig_device, screen_update)
+ MCFG_SCREEN_SIZE(80*10, 25*12)
+ MCFG_SCREEN_VISIBLE_AREA(0, 80*10-1, 0, 25*12-1)
+ MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500))
+ MCFG_SCREEN_REFRESH_RATE(60)
PALETTE(config, m_palette, palette_device::MONOCHROME_HIGHLIGHT);
UPD7220(config, m_hgdc0, XTAL(52'832'000)/28);
m_hgdc0->set_addrmap(0, &wangpc_tig_device::upd7220_0_map);
- m_hgdc0->set_draw_text(FUNC(wangpc_tig_device::hgdc_draw_text));
+ m_hgdc0->set_draw_text_callback(FUNC(wangpc_tig_device::hgdc_draw_text), this);
m_hgdc0->set_screen(SCREEN_TAG);
UPD7220(config, m_hgdc1, XTAL(52'832'000)/28);
m_hgdc1->set_addrmap(0, &wangpc_tig_device::upd7220_1_map);
- m_hgdc1->set_display_pixels(FUNC(wangpc_tig_device::hgdc_display_pixels));
+ m_hgdc1->set_display_pixels_callback(FUNC(wangpc_tig_device::hgdc_display_pixels), this);
m_hgdc1->set_screen(SCREEN_TAG);
-}
+MACHINE_CONFIG_END
//**************************************************************************
@@ -196,7 +195,7 @@ uint32_t wangpc_tig_device::screen_update(screen_device &screen, bitmap_rgb32 &b
// wangpcbus_iorc_r - I/O read
//-------------------------------------------------
-uint16_t wangpc_tig_device::wangpcbus_iorc_r(offs_t offset, uint16_t mem_mask)
+uint16_t wangpc_tig_device::wangpcbus_iorc_r(address_space &space, offs_t offset, uint16_t mem_mask)
{
uint16_t data = 0xffff;
@@ -206,12 +205,12 @@ uint16_t wangpc_tig_device::wangpcbus_iorc_r(offs_t offset, uint16_t mem_mask)
{
case 0x20/2:
case 0x22/2:
- data = m_hgdc0->read(offset);
+ data = m_hgdc0->read(space, offset);
break;
case 0x24/2:
case 0x26/2:
- data = m_hgdc1->read(offset);
+ data = m_hgdc1->read(space, offset);
break;
case 0xfe/2:
@@ -228,7 +227,7 @@ uint16_t wangpc_tig_device::wangpcbus_iorc_r(offs_t offset, uint16_t mem_mask)
// wangpcbus_aiowc_w - I/O write
//-------------------------------------------------
-void wangpc_tig_device::wangpcbus_aiowc_w(offs_t offset, uint16_t mem_mask, uint16_t data)
+void wangpc_tig_device::wangpcbus_aiowc_w(address_space &space, offs_t offset, uint16_t mem_mask, uint16_t data)
{
if (sad(offset) && ACCESSING_BITS_0_7)
{
@@ -243,12 +242,12 @@ void wangpc_tig_device::wangpcbus_aiowc_w(offs_t offset, uint16_t mem_mask, uint
case 0x20/2:
case 0x22/2:
- m_hgdc0->write(offset, data);
+ m_hgdc0->write(space, offset, data);
break;
case 0x24/2:
case 0x26/2:
- m_hgdc1->write(offset, data);
+ m_hgdc1->write(space, offset, data);
break;
case 0x28/2:
@@ -275,17 +274,17 @@ void wangpc_tig_device::wangpcbus_aiowc_w(offs_t offset, uint16_t mem_mask, uint
// wangpcbus_dack_r - DMA read
//-------------------------------------------------
-uint8_t wangpc_tig_device::wangpcbus_dack_r(int line)
+uint8_t wangpc_tig_device::wangpcbus_dack_r(address_space &space, int line)
{
uint8_t data;
if (DMA_GRAPHICS)
{
- data = m_hgdc1->dack_r();
+ data = m_hgdc1->dack_r(space, 0);
}
else
{
- data = m_hgdc0->dack_r();
+ data = m_hgdc0->dack_r(space, 0);
}
return data;
@@ -296,15 +295,15 @@ uint8_t wangpc_tig_device::wangpcbus_dack_r(int line)
// wangpcbus_dack_w - DMA write
//-------------------------------------------------
-void wangpc_tig_device::wangpcbus_dack_w(int line, uint8_t data)
+void wangpc_tig_device::wangpcbus_dack_w(address_space &space, int line, uint8_t data)
{
if (DMA_GRAPHICS)
{
- m_hgdc1->dack_w(data);
+ m_hgdc1->dack_w(space, 0, data);
}
else
{
- m_hgdc0->dack_w(data);
+ m_hgdc0->dack_w(space, 0, data);
}
}
diff --git a/src/devices/bus/wangpc/tig.h b/src/devices/bus/wangpc/tig.h
index 0e95eb42676..4a86f6ecb40 100644
--- a/src/devices/bus/wangpc/tig.h
+++ b/src/devices/bus/wangpc/tig.h
@@ -38,10 +38,10 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// device_wangpcbus_card_interface overrides
- virtual uint16_t wangpcbus_iorc_r(offs_t offset, uint16_t mem_mask) override;
- virtual void wangpcbus_aiowc_w(offs_t offset, uint16_t mem_mask, uint16_t data) override;
- virtual uint8_t wangpcbus_dack_r(int line) override;
- virtual void wangpcbus_dack_w(int line, uint8_t data) override;
+ virtual uint16_t wangpcbus_iorc_r(address_space &space, offs_t offset, uint16_t mem_mask) override;
+ virtual void wangpcbus_aiowc_w(address_space &space, offs_t offset, uint16_t mem_mask, uint16_t data) override;
+ virtual uint8_t wangpcbus_dack_r(address_space &space, int line) override;
+ virtual void wangpcbus_dack_w(address_space &space, int line, uint8_t data) override;
virtual bool wangpcbus_have_dack(int line) override;
private:
diff --git a/src/devices/bus/wangpc/wangpc.cpp b/src/devices/bus/wangpc/wangpc.cpp
index 540ed94c1b3..36ed25bfdff 100644
--- a/src/devices/bus/wangpc/wangpc.cpp
+++ b/src/devices/bus/wangpc/wangpc.cpp
@@ -104,7 +104,7 @@ void wangpcbus_device::add_card(device_wangpcbus_card_interface *card, int sid)
// mrdc_r - memory read
//-------------------------------------------------
-uint16_t wangpcbus_device::mrdc_r(offs_t offset, uint16_t mem_mask)
+READ16_MEMBER( wangpcbus_device::mrdc_r )
{
uint16_t data = 0xffff;
@@ -112,7 +112,7 @@ uint16_t wangpcbus_device::mrdc_r(offs_t offset, uint16_t mem_mask)
while (entry)
{
- data &= entry->wangpcbus_mrdc_r(offset + 0x40000/2, mem_mask);
+ data &= entry->wangpcbus_mrdc_r(space, offset + 0x40000/2, mem_mask);
entry = entry->next();
}
@@ -124,13 +124,13 @@ uint16_t wangpcbus_device::mrdc_r(offs_t offset, uint16_t mem_mask)
// amwc_w - memory write
//-------------------------------------------------
-void wangpcbus_device::amwc_w(offs_t offset, uint16_t data, uint16_t mem_mask)
+WRITE16_MEMBER( wangpcbus_device::amwc_w )
{
device_wangpcbus_card_interface *entry = m_device_list.first();
while (entry)
{
- entry->wangpcbus_amwc_w(offset + 0x40000/2, mem_mask, data);
+ entry->wangpcbus_amwc_w(space, offset + 0x40000/2, mem_mask, data);
entry = entry->next();
}
}
@@ -140,7 +140,7 @@ void wangpcbus_device::amwc_w(offs_t offset, uint16_t data, uint16_t mem_mask)
// sad_r - I/O read
//-------------------------------------------------
-uint16_t wangpcbus_device::sad_r(offs_t offset, uint16_t mem_mask)
+READ16_MEMBER( wangpcbus_device::sad_r )
{
uint16_t data = 0xffff;
@@ -148,7 +148,7 @@ uint16_t wangpcbus_device::sad_r(offs_t offset, uint16_t mem_mask)
while (entry)
{
- data &= entry->wangpcbus_iorc_r(offset + 0x1100/2, mem_mask);
+ data &= entry->wangpcbus_iorc_r(space, offset + 0x1100/2, mem_mask);
entry = entry->next();
}
@@ -160,13 +160,13 @@ uint16_t wangpcbus_device::sad_r(offs_t offset, uint16_t mem_mask)
// sad_w - I/O write
//-------------------------------------------------
-void wangpcbus_device::sad_w(offs_t offset, uint16_t data, uint16_t mem_mask)
+WRITE16_MEMBER( wangpcbus_device::sad_w )
{
device_wangpcbus_card_interface *entry = m_device_list.first();
while (entry)
{
- entry->wangpcbus_aiowc_w(offset + 0x1100/2, mem_mask, data);
+ entry->wangpcbus_aiowc_w(space, offset + 0x1100/2, mem_mask, data);
entry = entry->next();
}
}
@@ -176,7 +176,7 @@ void wangpcbus_device::sad_w(offs_t offset, uint16_t data, uint16_t mem_mask)
// dack_r - DMA read
//-------------------------------------------------
-uint8_t wangpcbus_device::dack_r(int line)
+uint8_t wangpcbus_device::dack_r(address_space &space, int line)
{
uint8_t retVal = 0xff;
device_wangpcbus_card_interface *entry = m_device_list.first();
@@ -185,7 +185,7 @@ uint8_t wangpcbus_device::dack_r(int line)
{
if (entry->wangpcbus_have_dack(line))
{
- retVal = entry->wangpcbus_dack_r(line);
+ retVal = entry->wangpcbus_dack_r(space, line);
break;
}
@@ -200,7 +200,7 @@ uint8_t wangpcbus_device::dack_r(int line)
// dack_w - DMA write
//-------------------------------------------------
-void wangpcbus_device::dack_w(int line, uint8_t data)
+void wangpcbus_device::dack_w(address_space &space, int line, uint8_t data)
{
device_wangpcbus_card_interface *entry = m_device_list.first();
@@ -208,7 +208,7 @@ void wangpcbus_device::dack_w(int line, uint8_t data)
{
if (entry->wangpcbus_have_dack(line))
{
- entry->wangpcbus_dack_w(line, data);
+ entry->wangpcbus_dack_w(space, line, data);
}
entry = entry->next();
diff --git a/src/devices/bus/wangpc/wangpc.h b/src/devices/bus/wangpc/wangpc.h
index bb8c7a3c4ac..1f10892f7fc 100644
--- a/src/devices/bus/wangpc/wangpc.h
+++ b/src/devices/bus/wangpc/wangpc.h
@@ -24,6 +24,51 @@
#define WANGPC_BUS_TAG "wangpcbus"
+
+//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_WANGPC_BUS_ADD() \
+ MCFG_DEVICE_ADD(WANGPC_BUS_TAG, WANGPC_BUS, 0)
+
+#define MCFG_WANGPC_BUS_SLOT_ADD(_tag, _sid, _slot_intf, _def_slot) \
+ MCFG_DEVICE_ADD(_tag, WANGPC_BUS_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false) \
+ downcast<wangpcbus_slot_device &>(*device).set_wangpcbus_slot(_sid);
+
+
+#define MCFG_WANGPC_BUS_IRQ2_CALLBACK(_write) \
+ downcast<wangpcbus_device &>(*device).set_irq2_wr_callback(DEVCB_##_write);
+
+#define MCFG_WANGPC_BUS_IRQ3_CALLBACK(_write) \
+ downcast<wangpcbus_device &>(*device).set_irq3_wr_callback(DEVCB_##_write);
+
+#define MCFG_WANGPC_BUS_IRQ4_CALLBACK(_write) \
+ downcast<wangpcbus_device &>(*device).set_irq4_wr_callback(DEVCB_##_write);
+
+#define MCFG_WANGPC_BUS_IRQ5_CALLBACK(_write) \
+ downcast<wangpcbus_device &>(*device).set_irq5_wr_callback(DEVCB_##_write);
+
+#define MCFG_WANGPC_BUS_IRQ6_CALLBACK(_write) \
+ downcast<wangpcbus_device &>(*device).set_irq6_wr_callback(DEVCB_##_write);
+
+#define MCFG_WANGPC_BUS_IRQ7_CALLBACK(_write) \
+ downcast<wangpcbus_device &>(*device).set_irq7_wr_callback(DEVCB_##_write);
+
+#define MCFG_WANGPC_BUS_DRQ1_CALLBACK(_write) \
+ downcast<wangpcbus_device &>(*device).set_drq1_wr_callback(DEVCB_##_write);
+
+#define MCFG_WANGPC_BUS_DRQ2_CALLBACK(_write) \
+ downcast<wangpcbus_device &>(*device).set_drq2_wr_callback(DEVCB_##_write);
+
+#define MCFG_WANGPC_BUS_DRQ3_CALLBACK(_write) \
+ downcast<wangpcbus_device &>(*device).set_drq3_wr_callback(DEVCB_##_write);
+
+#define MCFG_WANGPC_BUS_IOERROR_CALLBACK(_write) \
+ downcast<wangpcbus_device &>(*device).set_ioerror_wr_callback(DEVCB_##_write);
+
+
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -36,17 +81,7 @@ class wangpcbus_slot_device : public device_t, public device_slot_interface
{
public:
// construction/destruction
- template <typename T>
- wangpcbus_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt, int sid)
- : wangpcbus_slot_device(mconfig, tag, owner, 0)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- set_wangpcbus_slot(sid);
- }
- wangpcbus_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+ wangpcbus_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// inline configuration
void set_wangpcbus_slot(int sid) { m_sid = sid; }
@@ -78,37 +113,37 @@ public:
wangpcbus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
~wangpcbus_device() { m_device_list.detach_all(); }
- auto irq2_wr_callback() { return m_write_irq2.bind(); }
- auto irq3_wr_callback() { return m_write_irq3.bind(); }
- auto irq4_wr_callback() { return m_write_irq4.bind(); }
- auto irq5_wr_callback() { return m_write_irq5.bind(); }
- auto irq6_wr_callback() { return m_write_irq6.bind(); }
- auto irq7_wr_callback() { return m_write_irq7.bind(); }
- auto drq1_wr_callback() { return m_write_drq1.bind(); }
- auto drq2_wr_callback() { return m_write_drq2.bind(); }
- auto drq3_wr_callback() { return m_write_drq3.bind(); }
- auto ioerror_wr_callback() { return m_write_ioerror.bind(); }
+ template <class Object> devcb_base &set_irq2_wr_callback(Object &&cb) { return m_write_irq2.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_irq3_wr_callback(Object &&cb) { return m_write_irq3.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_irq4_wr_callback(Object &&cb) { return m_write_irq4.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_irq5_wr_callback(Object &&cb) { return m_write_irq5.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_irq6_wr_callback(Object &&cb) { return m_write_irq6.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_irq7_wr_callback(Object &&cb) { return m_write_irq7.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_drq1_wr_callback(Object &&cb) { return m_write_drq1.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_drq2_wr_callback(Object &&cb) { return m_write_drq2.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_drq3_wr_callback(Object &&cb) { return m_write_drq3.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_ioerror_wr_callback(Object &&cb) { return m_write_ioerror.set_callback(std::forward<Object>(cb)); }
void add_card(device_wangpcbus_card_interface *card, int sid);
// computer interface
- uint16_t mrdc_r(offs_t offset, uint16_t mem_mask = 0xffff);
- void amwc_w(offs_t offset, uint16_t data, uint16_t mem_mask = 0xffff);
+ DECLARE_READ16_MEMBER( mrdc_r );
+ DECLARE_WRITE16_MEMBER( amwc_w );
- uint16_t sad_r(offs_t offset, uint16_t mem_mask = 0xffff);
- void sad_w(offs_t offset, uint16_t data, uint16_t mem_mask = 0xffff);
+ DECLARE_READ16_MEMBER( sad_r );
+ DECLARE_WRITE16_MEMBER( sad_w );
- uint8_t dack_r(int line);
- void dack_w(int line, uint8_t data);
+ uint8_t dack_r(address_space &space, int line);
+ void dack_w(address_space &space, int line, uint8_t data);
- uint8_t dack0_r() { return dack_r(0); }
- void dack0_w(uint8_t data) { dack_w(0, data); }
- uint8_t dack1_r() { return dack_r(1); }
- void dack1_w(uint8_t data) { dack_w(1, data); }
- uint8_t dack2_r() { return dack_r(2); }
- void dack2_w(uint8_t data) { dack_w(2, data); }
- uint8_t dack3_r() { return dack_r(3); }
- void dack3_w(uint8_t data) { dack_w(3, data); }
+ DECLARE_READ8_MEMBER( dack0_r ) { return dack_r(space, 0); }
+ DECLARE_WRITE8_MEMBER( dack0_w ) { dack_w(space, 0, data); }
+ DECLARE_READ8_MEMBER( dack1_r ) { return dack_r(space, 1); }
+ DECLARE_WRITE8_MEMBER( dack1_w ) { dack_w(space, 1, data); }
+ DECLARE_READ8_MEMBER( dack2_r ) { return dack_r(space, 2); }
+ DECLARE_WRITE8_MEMBER( dack2_w ) { dack_w(space, 2, data); }
+ DECLARE_READ8_MEMBER( dack3_r ) { return dack_r(space, 3); }
+ DECLARE_WRITE8_MEMBER( dack3_w ) { dack_w(space, 3, data); }
DECLARE_WRITE_LINE_MEMBER( tc_w );
@@ -160,17 +195,17 @@ public:
device_wangpcbus_card_interface *next() const { return m_next; }
// memory access
- virtual uint16_t wangpcbus_mrdc_r(offs_t offset, uint16_t mem_mask) { return 0; }
- virtual void wangpcbus_amwc_w(offs_t offset, uint16_t mem_mask, uint16_t data) { }
+ virtual uint16_t wangpcbus_mrdc_r(address_space &space, offs_t offset, uint16_t mem_mask) { return 0; }
+ virtual void wangpcbus_amwc_w(address_space &space, offs_t offset, uint16_t mem_mask, uint16_t data) { }
// I/O access
- virtual uint16_t wangpcbus_iorc_r(offs_t offset, uint16_t mem_mask) { return 0; }
- virtual void wangpcbus_aiowc_w(offs_t offset, uint16_t mem_mask, uint16_t data) { }
+ virtual uint16_t wangpcbus_iorc_r(address_space &space, offs_t offset, uint16_t mem_mask) { return 0; }
+ virtual void wangpcbus_aiowc_w(address_space &space, offs_t offset, uint16_t mem_mask, uint16_t data) { }
bool sad(offs_t offset) const { return (offset & 0xf80) == (0x800 | (m_sid << 7)); }
// DMA
- virtual uint8_t wangpcbus_dack_r(int line) { return 0; }
- virtual void wangpcbus_dack_w(int line, uint8_t data) { }
+ virtual uint8_t wangpcbus_dack_r(address_space &space, int line) { return 0; }
+ virtual void wangpcbus_dack_w(address_space &space, int line, uint8_t data) { }
virtual void wangpcbus_tc_w(int state) { }
virtual bool wangpcbus_have_dack(int line) { return false; }
diff --git a/src/devices/bus/wangpc/wdc.cpp b/src/devices/bus/wangpc/wdc.cpp
index 2ad74d8c8fd..6dd36b7d545 100644
--- a/src/devices/bus/wangpc/wdc.cpp
+++ b/src/devices/bus/wangpc/wdc.cpp
@@ -89,7 +89,7 @@ void wangpc_wdc_device::wangpc_wdc_io(address_map &map)
//-------------------------------------------------
-// machine_config( wangpc_wdc )
+// MACHINE_CONFIG_START( wangpc_wdc )
//-------------------------------------------------
void wangpc_wdc_device::device_add_mconfig(machine_config &config)
@@ -173,7 +173,7 @@ void wangpc_wdc_device::device_reset()
// wangpcbus_mrdc_r - memory read
//-------------------------------------------------
-uint16_t wangpc_wdc_device::wangpcbus_mrdc_r(offs_t offset, uint16_t mem_mask)
+uint16_t wangpc_wdc_device::wangpcbus_mrdc_r(address_space &space, offs_t offset, uint16_t mem_mask)
{
uint16_t data = 0xffff;
@@ -185,7 +185,7 @@ uint16_t wangpc_wdc_device::wangpcbus_mrdc_r(offs_t offset, uint16_t mem_mask)
// wangpcbus_amwc_w - memory write
//-------------------------------------------------
-void wangpc_wdc_device::wangpcbus_amwc_w(offs_t offset, uint16_t mem_mask, uint16_t data)
+void wangpc_wdc_device::wangpcbus_amwc_w(address_space &space, offs_t offset, uint16_t mem_mask, uint16_t data)
{
}
@@ -194,7 +194,7 @@ void wangpc_wdc_device::wangpcbus_amwc_w(offs_t offset, uint16_t mem_mask, uint1
// wangpcbus_iorc_r - I/O read
//-------------------------------------------------
-uint16_t wangpc_wdc_device::wangpcbus_iorc_r(offs_t offset, uint16_t mem_mask)
+uint16_t wangpc_wdc_device::wangpcbus_iorc_r(address_space &space, offs_t offset, uint16_t mem_mask)
{
uint16_t data = 0xffff;
@@ -228,7 +228,7 @@ uint16_t wangpc_wdc_device::wangpcbus_iorc_r(offs_t offset, uint16_t mem_mask)
// wangpcbus_aiowc_w - I/O write
//-------------------------------------------------
-void wangpc_wdc_device::wangpcbus_aiowc_w(offs_t offset, uint16_t mem_mask, uint16_t data)
+void wangpc_wdc_device::wangpcbus_aiowc_w(address_space &space, offs_t offset, uint16_t mem_mask, uint16_t data)
{
if (sad(offset) && ACCESSING_BITS_0_7)
{
@@ -263,7 +263,7 @@ void wangpc_wdc_device::wangpcbus_aiowc_w(offs_t offset, uint16_t mem_mask, uint
// wangpcbus_dack_r - DMA acknowledge read
//-------------------------------------------------
-uint8_t wangpc_wdc_device::wangpcbus_dack_r(int line)
+uint8_t wangpc_wdc_device::wangpcbus_dack_r(address_space &space, int line)
{
return 0;
}
@@ -273,7 +273,7 @@ uint8_t wangpc_wdc_device::wangpcbus_dack_r(int line)
// wangpcbus_dack_r - DMA acknowledge write
//-------------------------------------------------
-void wangpc_wdc_device::wangpcbus_dack_w(int line, uint8_t data)
+void wangpc_wdc_device::wangpcbus_dack_w(address_space &space, int line, uint8_t data)
{
}
@@ -325,11 +325,11 @@ WRITE8_MEMBER( wangpc_wdc_device::status_w )
}
-READ8_MEMBER( wangpc_wdc_device::ctc_ch0_r ) { return m_ctc->read(machine().dummy_space(), 0); }
-WRITE8_MEMBER( wangpc_wdc_device::ctc_ch0_w ) { m_ctc->write(machine().dummy_space(), 0, data); }
-READ8_MEMBER( wangpc_wdc_device::ctc_ch1_r ) { return m_ctc->read(machine().dummy_space(), 1); }
-WRITE8_MEMBER( wangpc_wdc_device::ctc_ch1_w ) { m_ctc->write(machine().dummy_space(), 1, data); }
-READ8_MEMBER( wangpc_wdc_device::ctc_ch2_r ) { return m_ctc->read(machine().dummy_space(), 2); }
-WRITE8_MEMBER( wangpc_wdc_device::ctc_ch2_w ) { m_ctc->write(machine().dummy_space(), 2, data); }
-READ8_MEMBER( wangpc_wdc_device::ctc_ch3_r ) { return m_ctc->read(machine().dummy_space(), 3); }
-WRITE8_MEMBER( wangpc_wdc_device::ctc_ch3_w ) { m_ctc->write(machine().dummy_space(), 3, data); }
+READ8_MEMBER( wangpc_wdc_device::ctc_ch0_r ) { return m_ctc->read(space, 0); }
+WRITE8_MEMBER( wangpc_wdc_device::ctc_ch0_w ) { m_ctc->write(space, 0, data); }
+READ8_MEMBER( wangpc_wdc_device::ctc_ch1_r ) { return m_ctc->read(space, 1); }
+WRITE8_MEMBER( wangpc_wdc_device::ctc_ch1_w ) { m_ctc->write(space, 1, data); }
+READ8_MEMBER( wangpc_wdc_device::ctc_ch2_r ) { return m_ctc->read(space, 2); }
+WRITE8_MEMBER( wangpc_wdc_device::ctc_ch2_w ) { m_ctc->write(space, 2, data); }
+READ8_MEMBER( wangpc_wdc_device::ctc_ch3_r ) { return m_ctc->read(space, 3); }
+WRITE8_MEMBER( wangpc_wdc_device::ctc_ch3_w ) { m_ctc->write(space, 3, data); }
diff --git a/src/devices/bus/wangpc/wdc.h b/src/devices/bus/wangpc/wdc.h
index c945ba6707d..e270a961750 100644
--- a/src/devices/bus/wangpc/wdc.h
+++ b/src/devices/bus/wangpc/wdc.h
@@ -39,12 +39,12 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// device_wangpcbus_card_interface overrides
- virtual uint16_t wangpcbus_mrdc_r(offs_t offset, uint16_t mem_mask) override;
- virtual void wangpcbus_amwc_w(offs_t offset, uint16_t mem_mask, uint16_t data) override;
- virtual uint16_t wangpcbus_iorc_r(offs_t offset, uint16_t mem_mask) override;
- virtual void wangpcbus_aiowc_w(offs_t offset, uint16_t mem_mask, uint16_t data) override;
- virtual uint8_t wangpcbus_dack_r(int line) override;
- virtual void wangpcbus_dack_w(int line, uint8_t data) override;
+ virtual uint16_t wangpcbus_mrdc_r(address_space &space, offs_t offset, uint16_t mem_mask) override;
+ virtual void wangpcbus_amwc_w(address_space &space, offs_t offset, uint16_t mem_mask, uint16_t data) override;
+ virtual uint16_t wangpcbus_iorc_r(address_space &space, offs_t offset, uint16_t mem_mask) override;
+ virtual void wangpcbus_aiowc_w(address_space &space, offs_t offset, uint16_t mem_mask, uint16_t data) override;
+ virtual uint8_t wangpcbus_dack_r(address_space &space, int line) override;
+ virtual void wangpcbus_dack_w(address_space &space, int line, uint8_t data) override;
virtual bool wangpcbus_have_dack(int line) override;
private:
diff --git a/src/devices/bus/wswan/rom.cpp b/src/devices/bus/wswan/rom.cpp
index c4c991212b6..4ba57a44fe4 100644
--- a/src/devices/bus/wswan/rom.cpp
+++ b/src/devices/bus/wswan/rom.cpp
@@ -205,26 +205,26 @@ void ws_rom_device::device_timer(emu_timer &timer, device_timer_id id, int param
mapper specific handlers
-------------------------------------------------*/
-uint8_t ws_rom_device::read_rom20(offs_t offset)
+READ8_MEMBER(ws_rom_device::read_rom20)
{
return m_rom[offset + m_base20];
}
-uint8_t ws_rom_device::read_rom30(offs_t offset)
+READ8_MEMBER(ws_rom_device::read_rom30)
{
return m_rom[offset + m_base30];
}
-uint8_t ws_rom_device::read_rom40(offs_t offset)
+READ8_MEMBER(ws_rom_device::read_rom40)
{
// we still need to mask in some cases, e.g. when game is 512K
return m_rom[(offset + m_base40) & (m_rom_size - 1)];
}
-uint8_t ws_rom_device::read_io(offs_t offset)
+READ8_MEMBER(ws_rom_device::read_io)
{
uint8_t value = m_io_regs[offset];
@@ -254,7 +254,7 @@ uint8_t ws_rom_device::read_io(offs_t offset)
return value;
}
-void ws_rom_device::write_io(offs_t offset, uint8_t data)
+WRITE8_MEMBER(ws_rom_device::write_io)
{
switch (offset)
{
@@ -344,30 +344,30 @@ void ws_rom_device::write_io(offs_t offset, uint8_t data)
m_io_regs[offset] = data;
}
-uint8_t ws_rom_sram_device::read_ram(offs_t offset)
+READ8_MEMBER(ws_rom_sram_device::read_ram)
{
return m_nvram[m_nvram_base + offset];
}
-void ws_rom_sram_device::write_ram(offs_t offset, uint8_t data)
+WRITE8_MEMBER(ws_rom_sram_device::write_ram)
{
m_nvram[m_nvram_base + offset] = data;
}
-void ws_rom_sram_device::write_io(offs_t offset, uint8_t data)
+WRITE8_MEMBER(ws_rom_sram_device::write_io)
{
switch (offset)
{
case 0x01: // SRAM bank to select
m_nvram_base = (data * 0x10000) & (m_nvram.size() - 1);
default:
- ws_rom_device::write_io(offset, data);
+ ws_rom_device::write_io(space, offset, data);
break;
}
}
-uint8_t ws_rom_eeprom_device::read_io(offs_t offset)
+READ8_MEMBER(ws_rom_eeprom_device::read_io)
{
uint8_t value = m_io_regs[offset];
@@ -381,14 +381,14 @@ uint8_t ws_rom_eeprom_device::read_io(offs_t offset)
// EEPROM reads, taken from regs
break;
default:
- value = ws_rom_device::read_io(offset);
+ value = ws_rom_device::read_io(space, offset);
break;
}
return value;
}
-void ws_rom_eeprom_device::write_io(offs_t offset, uint8_t data)
+WRITE8_MEMBER(ws_rom_eeprom_device::write_io)
{
switch (offset)
{
@@ -530,7 +530,7 @@ void ws_rom_eeprom_device::write_io(offs_t offset, uint8_t data)
break;
default:
- ws_rom_device::write_io(offset, data);
+ ws_rom_device::write_io(space, offset, data);
break;
}
diff --git a/src/devices/bus/wswan/rom.h b/src/devices/bus/wswan/rom.h
index 916562ab6e2..ae420667c8f 100644
--- a/src/devices/bus/wswan/rom.h
+++ b/src/devices/bus/wswan/rom.h
@@ -16,11 +16,11 @@ public:
ws_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
- virtual uint8_t read_rom20(offs_t offset) override;
- virtual uint8_t read_rom30(offs_t offset) override;
- virtual uint8_t read_rom40(offs_t offset) override;
- virtual uint8_t read_io(offs_t offset) override;
- virtual void write_io(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_rom20) override;
+ virtual DECLARE_READ8_MEMBER(read_rom30) override;
+ virtual DECLARE_READ8_MEMBER(read_rom40) override;
+ virtual DECLARE_READ8_MEMBER(read_io) override;
+ virtual DECLARE_WRITE8_MEMBER(write_io) override;
protected:
static constexpr device_timer_id TIMER_RTC = 0;
@@ -59,9 +59,9 @@ public:
ws_rom_sram_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
- virtual uint8_t read_ram(offs_t offset) override;
- virtual void write_ram(offs_t offset, uint8_t data) override;
- virtual void write_io(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_ram) override;
+ virtual DECLARE_WRITE8_MEMBER(write_ram) override;
+ virtual DECLARE_WRITE8_MEMBER(write_io) override;
protected:
// device-level overrides
@@ -82,8 +82,8 @@ public:
ws_rom_eeprom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
- virtual uint8_t read_io(offs_t offset) override;
- virtual void write_io(offs_t offset, uint8_t data) override;
+ virtual DECLARE_READ8_MEMBER(read_io) override;
+ virtual DECLARE_WRITE8_MEMBER(write_io) override;
protected:
// device-level overrides
diff --git a/src/devices/bus/wswan/slot.cpp b/src/devices/bus/wswan/slot.cpp
index 731c0967e1e..45df7c195bf 100644
--- a/src/devices/bus/wswan/slot.cpp
+++ b/src/devices/bus/wswan/slot.cpp
@@ -312,10 +312,10 @@ std::string ws_cart_slot_device::get_default_card_software(get_default_card_soft
read_rom20
-------------------------------------------------*/
-uint8_t ws_cart_slot_device::read_rom20(offs_t offset)
+READ8_MEMBER(ws_cart_slot_device::read_rom20)
{
if (m_cart)
- return m_cart->read_rom20(offset);
+ return m_cart->read_rom20(space, offset);
else
return 0xff;
}
@@ -324,10 +324,10 @@ uint8_t ws_cart_slot_device::read_rom20(offs_t offset)
read_rom30
-------------------------------------------------*/
-uint8_t ws_cart_slot_device::read_rom30(offs_t offset)
+READ8_MEMBER(ws_cart_slot_device::read_rom30)
{
if (m_cart)
- return m_cart->read_rom30(offset);
+ return m_cart->read_rom30(space, offset);
else
return 0xff;
}
@@ -336,10 +336,10 @@ uint8_t ws_cart_slot_device::read_rom30(offs_t offset)
read_rom40
-------------------------------------------------*/
-uint8_t ws_cart_slot_device::read_rom40(offs_t offset)
+READ8_MEMBER(ws_cart_slot_device::read_rom40)
{
if (m_cart)
- return m_cart->read_rom40(offset);
+ return m_cart->read_rom40(space, offset);
else
return 0xff;
}
@@ -348,10 +348,10 @@ uint8_t ws_cart_slot_device::read_rom40(offs_t offset)
read_ram
-------------------------------------------------*/
-uint8_t ws_cart_slot_device::read_ram(offs_t offset)
+READ8_MEMBER(ws_cart_slot_device::read_ram)
{
if (m_cart)
- return m_cart->read_ram(offset);
+ return m_cart->read_ram(space, offset);
else
return 0xff;
}
@@ -360,20 +360,20 @@ uint8_t ws_cart_slot_device::read_ram(offs_t offset)
write_ram
-------------------------------------------------*/
-void ws_cart_slot_device::write_ram(offs_t offset, uint8_t data)
+WRITE8_MEMBER(ws_cart_slot_device::write_ram)
{
if (m_cart)
- m_cart->write_ram(offset, data);
+ m_cart->write_ram(space, offset, data);
}
/*-------------------------------------------------
read_io
-------------------------------------------------*/
-uint8_t ws_cart_slot_device::read_io(offs_t offset)
+READ8_MEMBER(ws_cart_slot_device::read_io)
{
if (m_cart)
- return m_cart->read_io(offset);
+ return m_cart->read_io(space, offset);
else
return 0xff;
}
@@ -382,10 +382,10 @@ uint8_t ws_cart_slot_device::read_io(offs_t offset)
write_io
-------------------------------------------------*/
-void ws_cart_slot_device::write_io(offs_t offset, uint8_t data)
+WRITE8_MEMBER(ws_cart_slot_device::write_io)
{
if (m_cart)
- m_cart->write_io(offset, data);
+ m_cart->write_io(space, offset, data);
}
diff --git a/src/devices/bus/wswan/slot.h b/src/devices/bus/wswan/slot.h
index 219a4bb3fe8..1992d858553 100644
--- a/src/devices/bus/wswan/slot.h
+++ b/src/devices/bus/wswan/slot.h
@@ -31,13 +31,13 @@ public:
virtual ~device_ws_cart_interface();
// reading and writing
- virtual uint8_t read_rom20(offs_t offset) { return 0xff; }
- virtual uint8_t read_rom30(offs_t offset) { return 0xff; }
- virtual uint8_t read_rom40(offs_t offset) { return 0xff; }
- virtual uint8_t read_ram(offs_t offset) { return 0xff; }
- virtual void write_ram(offs_t offset, uint8_t data) {}
- virtual uint8_t read_io(offs_t offset) { return 0xff; }
- virtual void write_io(offs_t offset, uint8_t data) { }
+ virtual DECLARE_READ8_MEMBER(read_rom20) { return 0xff; }
+ virtual DECLARE_READ8_MEMBER(read_rom30) { return 0xff; }
+ virtual DECLARE_READ8_MEMBER(read_rom40) { return 0xff; }
+ virtual DECLARE_READ8_MEMBER(read_ram) { return 0xff; }
+ virtual DECLARE_WRITE8_MEMBER(write_ram) {}
+ virtual DECLARE_READ8_MEMBER(read_io) { return 0xff; }
+ virtual DECLARE_WRITE8_MEMBER(write_io) { }
void rom_alloc(uint32_t size, const char *tag);
void nvram_alloc(uint32_t size);
@@ -109,13 +109,13 @@ public:
virtual std::string get_default_card_software(get_default_card_software_hook &hook) const override;
// reading and writing
- virtual uint8_t read_rom20(offs_t offset);
- virtual uint8_t read_rom30(offs_t offset);
- virtual uint8_t read_rom40(offs_t offset);
- virtual uint8_t read_ram(offs_t offset);
- virtual void write_ram(offs_t offset, uint8_t data);
- virtual uint8_t read_io(offs_t offset);
- virtual void write_io(offs_t offset, uint8_t data);
+ virtual DECLARE_READ8_MEMBER(read_rom20);
+ virtual DECLARE_READ8_MEMBER(read_rom30);
+ virtual DECLARE_READ8_MEMBER(read_rom40);
+ virtual DECLARE_READ8_MEMBER(read_ram);
+ virtual DECLARE_WRITE8_MEMBER(write_ram);
+ virtual DECLARE_READ8_MEMBER(read_io);
+ virtual DECLARE_WRITE8_MEMBER(write_io);
protected:
// device-level overrides
diff --git a/src/devices/bus/x68k/x68k_midi.cpp b/src/devices/bus/x68k/x68k_midi.cpp
index abcc0b34955..b4f27554b70 100644
--- a/src/devices/bus/x68k/x68k_midi.cpp
+++ b/src/devices/bus/x68k/x68k_midi.cpp
@@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:Barry Rodewald
/*
- * x68k_midi.cpp
+ * x68k_midi.c
*
* X68000 MIDI interface - YM3802
*
@@ -17,16 +17,16 @@
DEFINE_DEVICE_TYPE(X68K_MIDI, x68k_midi_device, "x68k_midi", "X68000 MIDI Interface")
-void x68k_midi_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(x68k_midi_device::device_add_mconfig)
YM3802(config, m_midi, XTAL(1'000'000)); // clock is unknown
m_midi->txd_handler().set("mdout", FUNC(midi_port_device::write_txd));
m_midi->irq_handler().set(FUNC(x68k_midi_device::irq_w));
- MIDI_PORT(config, "mdin", midiin_slot, "midiin");
- MIDI_PORT(config, "mdout", midiout_slot, "midiout");
-// MIDI_PORT(config, "mdthru", midiout_slot, "midiout");
+ MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin")
+ MCFG_MIDI_PORT_ADD("mdout", midiout_slot, "midiout")
+// MCFG_MIDI_PORT_ADD("mdthru", midiout_slot, "midiout")
// TODO: Add serial data handlers
-}
+
+MACHINE_CONFIG_END
x68k_midi_device::x68k_midi_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
@@ -39,8 +39,10 @@ x68k_midi_device::x68k_midi_device(const machine_config &mconfig, const char *ta
void x68k_midi_device::device_start()
{
+ device_t* cpu = machine().device("maincpu");
+ address_space& space = cpu->memory().space(AS_PROGRAM);
m_slot = dynamic_cast<x68k_expansion_slot_device *>(owner());
- m_slot->space().install_readwrite_handler(0xeafa00,0xeafa0f,read8_delegate(FUNC(x68k_midi_device::x68k_midi_reg_r),this),write8_delegate(FUNC(x68k_midi_device::x68k_midi_reg_w),this),0x00ff00ff);
+ space.install_readwrite_handler(0xeafa00,0xeafa0f,read8_delegate(FUNC(x68k_midi_device::x68k_midi_reg_r),this),write8_delegate(FUNC(x68k_midi_device::x68k_midi_reg_w),this),0x00ff00ff);
}
void x68k_midi_device::device_reset()
diff --git a/src/devices/bus/x68k/x68k_neptunex.cpp b/src/devices/bus/x68k/x68k_neptunex.cpp
index 7a7b7c3aaab..4c77c32061c 100644
--- a/src/devices/bus/x68k/x68k_neptunex.cpp
+++ b/src/devices/bus/x68k/x68k_neptunex.cpp
@@ -17,13 +17,12 @@
DEFINE_DEVICE_TYPE(X68K_NEPTUNEX, x68k_neptune_device, "x68k_neptunex", "Neptune-X")
// device machine config
-void x68k_neptune_device::device_add_mconfig(machine_config &config)
-{
- DP8390D(config, m_dp8390, 0);
- m_dp8390->irq_callback().set(FUNC(x68k_neptune_device::x68k_neptune_irq_w));
- m_dp8390->mem_read_callback().set(FUNC(x68k_neptune_device::x68k_neptune_mem_read));
- m_dp8390->mem_write_callback().set(FUNC(x68k_neptune_device::x68k_neptune_mem_write));
-}
+MACHINE_CONFIG_START(x68k_neptune_device::device_add_mconfig)
+ MCFG_DEVICE_ADD("dp8390d", DP8390D, 0)
+ MCFG_DP8390D_IRQ_CB(WRITELINE(*this, x68k_neptune_device, x68k_neptune_irq_w))
+ MCFG_DP8390D_MEM_READ_CB(READ8(*this, x68k_neptune_device, x68k_neptune_mem_read))
+ MCFG_DP8390D_MEM_WRITE_CB(WRITE8(*this, x68k_neptune_device, x68k_neptune_mem_write))
+MACHINE_CONFIG_END
x68k_neptune_device::x68k_neptune_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
: device_t(mconfig, X68K_NEPTUNEX, tag, owner, clock)
@@ -39,15 +38,17 @@ x68k_neptune_device::x68k_neptune_device(const machine_config &mconfig, const ch
void x68k_neptune_device::device_start()
{
+ device_t* cpu = machine().device("maincpu");
char mac[7];
uint32_t num = machine().rand();
+ address_space& space = cpu->memory().space(AS_PROGRAM);
m_slot = dynamic_cast<x68k_expansion_slot_device *>(owner());
memset(m_prom, 0x57, 16);
sprintf(mac+2, "\x1b%c%c%c", (num >> 16) & 0xff, (num >> 8) & 0xff, num & 0xff);
mac[0] = 0; mac[1] = 0; // avoid gcc warning
memcpy(m_prom, mac, 6);
m_dp8390->set_mac(mac);
- m_slot->space().install_readwrite_handler(0xece000,0xece3ff,read16_delegate(FUNC(x68k_neptune_device::x68k_neptune_port_r),this),write16_delegate(FUNC(x68k_neptune_device::x68k_neptune_port_w),this),0xffffffff);
+ space.install_readwrite_handler(0xece000,0xece3ff,read16_delegate(FUNC(x68k_neptune_device::x68k_neptune_port_r),this),write16_delegate(FUNC(x68k_neptune_device::x68k_neptune_port_w),this),0xffffffff);
}
void x68k_neptune_device::device_reset() {
diff --git a/src/devices/bus/x68k/x68k_scsiext.cpp b/src/devices/bus/x68k/x68k_scsiext.cpp
index 3cf18f9d2ee..557d70d3f36 100644
--- a/src/devices/bus/x68k/x68k_scsiext.cpp
+++ b/src/devices/bus/x68k/x68k_scsiext.cpp
@@ -37,8 +37,7 @@ const tiny_rom_entry *x68k_scsiext_device::device_rom_region() const
}
// device machine config
-void x68k_scsiext_device::device_add_mconfig(machine_config &config)
-{
+MACHINE_CONFIG_START(x68k_scsiext_device::device_add_mconfig)
SCSI_PORT(config, m_scsibus);
m_scsibus->set_slot_device(1, "harddisk", SCSIHD, DEVICE_INPUT_DEFAULTS_NAME(SCSI_ID_0));
m_scsibus->set_slot_device(2, "harddisk", SCSIHD, DEVICE_INPUT_DEFAULTS_NAME(SCSI_ID_1));
@@ -49,10 +48,10 @@ void x68k_scsiext_device::device_add_mconfig(machine_config &config)
m_scsibus->set_slot_device(7, "harddisk", SCSIHD, DEVICE_INPUT_DEFAULTS_NAME(SCSI_ID_6));
MB89352A(config, m_spc);
- m_spc->set_scsi_port(m_scsibus);
+ m_spc->set_scsi_port("scsi");
m_spc->irq_cb().set(FUNC(x68k_scsiext_device::irq_w));
m_spc->drq_cb().set(FUNC(x68k_scsiext_device::drq_w));
-}
+MACHINE_CONFIG_END
x68k_scsiext_device::x68k_scsiext_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
: device_t(mconfig, X68K_SCSIEXT, tag, owner, clock)
@@ -65,14 +64,15 @@ x68k_scsiext_device::x68k_scsiext_device(const machine_config &mconfig, const ch
void x68k_scsiext_device::device_start()
{
+ device_t* cpu = machine().device("maincpu");
+ uint8_t* ROM;
+ address_space& space = cpu->memory().space(AS_PROGRAM);
m_slot = dynamic_cast<x68k_expansion_slot_device *>(owner());
- m_slot->space().install_read_bank(0xea0020,0xea1fff,"scsi_ext");
- m_slot->space().unmap_write(0xea0020,0xea1fff);
-
- uint8_t *ROM = machine().root_device().memregion(subtag("scsiexrom").c_str())->base();
+ space.install_read_bank(0xea0020,0xea1fff,"scsi_ext");
+ space.unmap_write(0xea0020,0xea1fff);
+ ROM = machine().root_device().memregion(subtag("scsiexrom").c_str())->base();
machine().root_device().membank("scsi_ext")->set_base(ROM);
-
-m_slot->space().install_readwrite_handler(0xea0000,0xea001f,read8_delegate(FUNC(x68k_scsiext_device::register_r),this),write8_delegate(FUNC(x68k_scsiext_device::register_w),this),0x00ff00ff);
+ space.install_readwrite_handler(0xea0000,0xea001f,read8_delegate(FUNC(x68k_scsiext_device::register_r),this),write8_delegate(FUNC(x68k_scsiext_device::register_w),this),0x00ff00ff);
}
void x68k_scsiext_device::device_reset()
diff --git a/src/devices/bus/x68k/x68kexp.cpp b/src/devices/bus/x68k/x68kexp.cpp
index dc51559d632..9d9cded5bd8 100644
--- a/src/devices/bus/x68k/x68kexp.cpp
+++ b/src/devices/bus/x68k/x68kexp.cpp
@@ -36,7 +36,6 @@ device_x68k_expansion_card_interface::~device_x68k_expansion_card_interface()
x68k_expansion_slot_device::x68k_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, X68K_EXPANSION_SLOT, tag, owner, clock),
device_slot_interface(mconfig, *this),
- m_space(*this, finder_base::DUMMY_TAG, -1),
m_out_irq2_cb(*this),
m_out_irq4_cb(*this),
m_out_nmi_cb(*this),
diff --git a/src/devices/bus/x68k/x68kexp.h b/src/devices/bus/x68k/x68kexp.h
index 26b3ba06ad6..56f9feea8a5 100644
--- a/src/devices/bus/x68k/x68kexp.h
+++ b/src/devices/bus/x68k/x68kexp.h
@@ -73,6 +73,22 @@
#define X68K_EXP_SLOT_TAG "x68kexp"
+//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_X68K_EXPANSION_SLOT_OUT_IRQ2_CB(_devcb) \
+ downcast<x68k_expansion_slot_device &>(*device).set_out_irq2_callback(DEVCB_##_devcb);
+
+#define MCFG_X68K_EXPANSION_SLOT_OUT_IRQ4_CB(_devcb) \
+ downcast<x68k_expansion_slot_device &>(*device).set_out_irq4_callback(DEVCB_##_devcb);
+
+#define MCFG_X68K_EXPANSION_SLOT_OUT_NMI_CB(_devcb) \
+ downcast<x68k_expansion_slot_device &>(*device).set_out_nmi_callback(DEVCB_##_devcb);
+
+#define MCFG_X68K_EXPANSION_SLOT_OUT_RESET_CB(_devcb) \
+ downcast<x68k_expansion_slot_device &>(*device).set_out_reset_callback(DEVCB_##_devcb);
+
//**************************************************************************
// TYPE DEFINITIONS
@@ -107,26 +123,14 @@ class x68k_expansion_slot_device : public device_t, public device_slot_interface
{
public:
// construction/destruction
- template <typename T>
- x68k_expansion_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt)
- : x68k_expansion_slot_device(mconfig, tag, owner, 0)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
- x68k_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+ x68k_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~x68k_expansion_slot_device();
- template <typename T> void set_space(T &&tag, int spacenum) { m_space.set_tag(std::forward<T>(tag), spacenum); }
+ template <class Object> devcb_base &set_out_irq2_callback(Object &&cb) { return m_out_irq2_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_out_irq4_callback(Object &&cb) { return m_out_irq4_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_out_nmi_callback(Object &&cb) { return m_out_nmi_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_out_reset_callback(Object &&cb) { return m_out_reset_cb.set_callback(std::forward<Object>(cb)); }
- auto out_irq2_callback() { return m_out_irq2_cb.bind(); }
- auto out_irq4_callback() { return m_out_irq4_cb.bind(); }
- auto out_nmi_callback() { return m_out_nmi_cb.bind(); }
- auto out_reset_callback() { return m_out_reset_cb.bind(); }
-
- address_space &space() { return *m_space; }
DECLARE_WRITE_LINE_MEMBER( irq2_w );
DECLARE_WRITE_LINE_MEMBER( irq4_w );
@@ -140,8 +144,6 @@ protected:
virtual void device_start() override;
virtual void device_reset() override;
- required_address_space m_space;
-
devcb_write_line m_out_irq2_cb;
devcb_write_line m_out_irq4_cb;
devcb_write_line m_out_nmi_cb;
diff --git a/src/devices/bus/z88/flash.cpp b/src/devices/bus/z88/flash.cpp
index ee92f351ec7..1fb8f9b6420 100644
--- a/src/devices/bus/z88/flash.cpp
+++ b/src/devices/bus/z88/flash.cpp
@@ -73,7 +73,7 @@ uint8_t* z88_1024k_flash_device::get_cart_base()
READ8_MEMBER(z88_1024k_flash_device::read)
{
- return m_flash->read(offset & (get_cart_size() - 1));
+ return m_flash->read(space, offset & (get_cart_size() - 1));
}
/*-------------------------------------------------
@@ -82,5 +82,5 @@ READ8_MEMBER(z88_1024k_flash_device::read)
WRITE8_MEMBER(z88_1024k_flash_device::write)
{
- m_flash->write(offset & (get_cart_size() - 1), data);
+ m_flash->write(space, offset & (get_cart_size() - 1), data);
}
diff --git a/src/devices/bus/z88/z88.h b/src/devices/bus/z88/z88.h
index 444eeb3c111..de8ecdc883f 100644
--- a/src/devices/bus/z88/z88.h
+++ b/src/devices/bus/z88/z88.h
@@ -90,18 +90,9 @@ class z88cart_slot_device : public device_t,
{
public:
// construction/destruction
- template <typename T>
- z88cart_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt)
- : z88cart_slot_device(mconfig, tag, owner, 0)
- {
- option_reset();
- opts(*this);
- set_default_option(dflt);
- set_fixed(false);
- }
z88cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
- auto out_flp_callback() { return m_out_flp_cb.bind(); }
+ template <class Object> devcb_base &set_out_flp_callback(Object &&cb) { return m_out_flp_cb.set_callback(std::forward<Object>(cb)); }
// image-level overrides
virtual image_init_result call_load() override;
@@ -142,4 +133,12 @@ private:
// device type definition
DECLARE_DEVICE_TYPE(Z88CART_SLOT, z88cart_slot_device)
+
+/***************************************************************************
+ DEVICE CONFIGURATION MACROS
+***************************************************************************/
+
+#define MCFG_Z88CART_SLOT_OUT_FLP_CB(_devcb) \
+ downcast<z88cart_slot_device &>(*device).set_out_flp_callback(DEVCB_##_devcb);
+
#endif // MAME_BUS_Z88_Z88_H
diff --git a/src/devices/cpu/8x300/8x300.cpp b/src/devices/cpu/8x300/8x300.cpp
index a8a9b9dcdad..130df2dd7e3 100644
--- a/src/devices/cpu/8x300/8x300.cpp
+++ b/src/devices/cpu/8x300/8x300.cpp
@@ -34,29 +34,17 @@
// for XEC intruction, which sets the AR, but not PC, so that after the instruction at the relative address is done, execution
// returns back to next instruction after XEC, unless a JMP or successful NZT is there.
#define SET_AR(x) do { m_AR = (x); m_increment_pc = false; } while (0)
-#define SRC_LATCH do { if(SRC_IS_RIGHT_BANK) m_IV_latch = READPORT(m_IVR+0x100); else m_IV_latch = READPORT(m_IVL); } while (0)
-#define DST_LATCH do { if(DST_IS_RIGHT_BANK) m_IV_latch = READPORT(m_IVR+0x100); else m_IV_latch = READPORT(m_IVL); } while (0)
+#define SRC_LATCH do { if(SRC_IS_RIGHT_BANK) m_right_IV = READPORT(m_IVR+0x100); else m_left_IV = READPORT(m_IVL); } while (0)
+#define DST_LATCH do { if(DST_IS_RIGHT_BANK) m_right_IV = READPORT(m_IVR+0x100); else m_left_IV = READPORT(m_IVL); } while (0)
#define SET_OVF do { if(result & 0xff00) m_OVF = 1; else m_OVF = 0; } while (0)
DEFINE_DEVICE_TYPE(N8X300, n8x300_cpu_device, "8x300", "Signetics 8X300")
-DEFINE_DEVICE_TYPE(N8X305, n8x305_cpu_device, "8x305", "Signetics 8X305")
-n8x300_cpu_device::n8x300_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
- : cpu_device(mconfig, type, tag, owner, clock)
- , m_program_config("program", ENDIANNESS_BIG, 16, 13, -1)
- , m_io_config("io", ENDIANNESS_BIG, 8, 9, 0)
- , m_sc_callback(*this)
-{
-}
-
n8x300_cpu_device::n8x300_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : n8x300_cpu_device(mconfig, N8X300, tag, owner, clock)
-{
-}
-
-n8x305_cpu_device::n8x305_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : n8x300_cpu_device(mconfig, N8X305, tag, owner, clock)
+ : cpu_device(mconfig, N8X300, tag, owner, clock)
+ , m_program_config("program", ENDIANNESS_BIG, 16, 14, 0)
+ , m_io_config("io", ENDIANNESS_BIG, 8, 9, 0)
{
}
@@ -68,21 +56,9 @@ device_memory_interface::space_config_vector n8x300_cpu_device::memory_space_con
};
}
-void n8x300_cpu_device::xmit_lb(uint8_t dst, uint8_t mask)
+void n8x300_cpu_device::set_reg(uint8_t reg, uint8_t val)
{
- m_IV_latch = (m_IV_latch & ~mask) | (dst & mask);
- WRITEPORT(m_IVL, m_IV_latch);
-}
-
-void n8x300_cpu_device::xmit_rb(uint8_t dst, uint8_t mask)
-{
- m_IV_latch = (m_IV_latch & ~mask) | (dst & mask);
- WRITEPORT(m_IVR + 0x100, m_IV_latch);
-}
-
-void n8x300_cpu_device::set_reg(uint8_t reg, uint8_t val, bool xmit)
-{
- switch (reg)
+ switch(reg)
{
case 0x00: m_AUX = val; break;
case 0x01: m_R1 = val; break;
@@ -91,30 +67,17 @@ void n8x300_cpu_device::set_reg(uint8_t reg, uint8_t val, bool xmit)
case 0x04: m_R4 = val; break;
case 0x05: m_R5 = val; break;
case 0x06: m_R6 = val; break;
- case 0x07: m_IVL = val; m_sc_callback(0, val); break;
+ case 0x07: m_IVL = val; break;
// OVF is read-only
case 0x09: m_R11 = val; break;
- case 0x0f: m_IVR = val; m_sc_callback(1, val); break;
+ case 0x0f: m_IVR = val; break;
default: logerror("8X300: Invalid register %02x written to.\n",reg); break;
}
}
-void n8x305_cpu_device::set_reg(uint8_t reg, uint8_t val, bool xmit)
-{
- switch (reg)
- {
- case 0x0a: if (xmit) xmit_lb(val, 0xff); else m_R12 = val; break;
- case 0x0b: if (xmit) xmit_rb(val, 0xff); else m_R13 = val; break;
- case 0x0c: m_R14 = val; break;
- case 0x0d: m_R15 = val; break;
- case 0x0e: m_R16 = val; break;
- default: n8x300_cpu_device::set_reg(reg, val, xmit); break;
- }
-}
-
uint8_t n8x300_cpu_device::get_reg(uint8_t reg)
{
- switch (reg)
+ switch(reg)
{
case 0x00: return m_AUX;
case 0x01: return m_R1;
@@ -123,38 +86,18 @@ uint8_t n8x300_cpu_device::get_reg(uint8_t reg)
case 0x04: return m_R4;
case 0x05: return m_R5;
case 0x06: return m_R6;
-// IVL is write-only on the 8X300
+// IVL is write-only
case 0x08: return m_OVF;
case 0x09: return m_R11;
-// IVR is write-only on the 8X300
+// IVR is write-only
default: logerror("8X300: Invalid register %02x read.\n",reg); return 0;
}
}
-uint8_t n8x305_cpu_device::get_reg(uint8_t reg)
-{
- switch (reg)
- {
- case 0x07: return m_IVL;
- case 0x0a: return m_R12;
- case 0x0b: return m_R13;
- case 0x0c: return m_R14;
- case 0x0d: return m_R15;
- case 0x0e: return m_R16;
- case 0x0f: return m_IVR;
- default: return n8x300_cpu_device::get_reg(reg);
- }
-}
-
-void n8x300_cpu_device::device_resolve_objects()
-{
- m_sc_callback.resolve_safe();
-}
-
void n8x300_cpu_device::device_start()
{
m_program = &space(AS_PROGRAM);
- m_cache = m_program->cache<1, -1, ENDIANNESS_BIG>();
+ m_cache = m_program->cache<1, 0, ENDIANNESS_BIG>();
m_io = &space(AS_IO);
save_item(NAME(m_PC));
@@ -167,19 +110,12 @@ void n8x300_cpu_device::device_start()
save_item(NAME(m_R5));
save_item(NAME(m_R6));
save_item(NAME(m_R11));
- if (type() == N8X305)
- {
- save_item(NAME(m_R12));
- save_item(NAME(m_R13));
- save_item(NAME(m_R14));
- save_item(NAME(m_R15));
- save_item(NAME(m_R16));
- }
save_item(NAME(m_AUX));
save_item(NAME(m_IVL));
save_item(NAME(m_IVR));
save_item(NAME(m_OVF));
- save_item(NAME(m_IV_latch));
+ save_item(NAME(m_left_IV));
+ save_item(NAME(m_right_IV));
save_item(NAME(m_genPC));
save_item(NAME(m_increment_pc));
@@ -191,14 +127,6 @@ void n8x300_cpu_device::device_start()
m_R5 = 0;
m_R6 = 0;
m_R11 = 0;
- if (type() == N8X305)
- {
- m_R12 = 0;
- m_R13 = 0;
- m_R14 = 0;
- m_R15 = 0;
- m_R16 = 0;
- }
m_IVL = 0;
m_IVR = 0;
m_AUX = 0;
@@ -218,19 +146,11 @@ void n8x300_cpu_device::device_start()
state_add( _8X300_R5, "R5", m_R5).mask(0xff).formatstr("%02X");
state_add( _8X300_R6, "R6", m_R6).mask(0xff).formatstr("%02X");
state_add( _8X300_R11, "R11", m_R11).mask(0xff).formatstr("%02X");
- if (type() == N8X305)
- {
- state_add( _8X300_R12, "R12", m_R12).mask(0xff).formatstr("%02X");
- state_add( _8X300_R13, "R13", m_R13).mask(0xff).formatstr("%02X");
- state_add( _8X300_R14, "R14", m_R14).mask(0xff).formatstr("%02X");
- state_add( _8X300_R15, "R15", m_R15).mask(0xff).formatstr("%02X");
- state_add( _8X300_R16, "R16", m_R16).mask(0xff).formatstr("%02X");
- }
state_add( _8X300_OVF, "OVF", m_OVF).mask(0x01).formatstr("%01X");
state_add( _8X300_IVL, "IVL", m_IVL).mask(0xff).formatstr("%02X");
state_add( _8X300_IVR, "IVR", m_IVR).mask(0xff).formatstr("%02X");
- state_add(STATE_GENPC, "GENPC", m_genPC).mask(0x1fff).callimport().noshow();
- state_add(STATE_GENPCBASE, "CURPC", m_genPC).mask(0x1fff).callimport().noshow();
+ state_add(STATE_GENPC, "GENPC", m_genPC).mask(0x3ffe).callimport().noshow();
+ state_add(STATE_GENPCBASE, "CURPC", m_genPC).mask(0x3ffe).callimport().noshow();
set_icountptr(m_icount);
}
@@ -246,12 +166,12 @@ void n8x300_cpu_device::state_import(const device_state_entry &entry)
{
case _8X300_PC:
m_AR = m_PC;
- m_genPC = m_AR;
+ m_genPC = m_AR << 1;
m_increment_pc = true;
break;
case _8X300_AR:
- m_genPC = m_AR;
+ m_genPC = m_AR << 1;
m_increment_pc = false;
break;
@@ -282,9 +202,10 @@ void n8x300_cpu_device::execute_run()
uint8_t dst;
uint8_t rotlen; // rotate amount or I/O field length
uint8_t mask;
+ uint16_t result;
/* fetch the opcode */
- m_genPC = m_AR;
+ m_genPC = m_AR << 1;
debugger_instruction_hook(m_genPC);
opcode = FETCHOP(m_genPC);
@@ -309,7 +230,7 @@ void n8x300_cpu_device::execute_run()
{
src = get_reg(SRC);
dst = rotate(src,rotlen);
- set_reg(DST,dst,false);
+ set_reg(DST,dst);
}
else
{
@@ -322,42 +243,62 @@ void n8x300_cpu_device::execute_run()
src = (get_reg(SRC)) << (7-DST_LSB);
mask <<= (7-DST_LSB);
if(DST_IS_RIGHT_BANK)
- xmit_rb(src, mask);
+ {
+ dst = (m_right_IV & ~mask) | (src & mask);
+ m_right_IV = dst;
+ WRITEPORT(m_IVR+0x100,m_right_IV);
+ }
else
- xmit_lb(src, mask);
+ {
+ dst = (m_left_IV & ~mask) | (src & mask);
+ m_left_IV = dst;
+ WRITEPORT(m_IVL,m_left_IV);
+ }
}
else if(!(is_src_reg(opcode)) && is_dst_reg(opcode))
{ // MOVE IV,reg
SRC_LATCH;
- src = rotate(m_IV_latch,7-SRC_LSB);
+ if(SRC_IS_RIGHT_BANK)
+ src = rotate(m_right_IV,7-SRC_LSB);
+ else
+ src = rotate(m_left_IV,7-SRC_LSB);
mask = ((1 << rotlen)-1);
dst = src & mask;
- set_reg(DST,dst,false);
+ set_reg(DST,dst);
}
else if(!(is_src_reg(opcode)) && !(is_dst_reg(opcode)))
{ // MOVE IV,IV
SRC_LATCH;
- src = rotate(m_IV_latch,7-SRC_LSB);
+ if(SRC_IS_RIGHT_BANK)
+ src = rotate(m_right_IV,7-SRC_LSB);
+ else
+ src = rotate(m_left_IV,7-SRC_LSB);
mask = ((1 << rotlen)-1);
dst = src & mask;
dst <<= (7-DST_LSB);
mask <<= (7-DST_LSB);
- if(DST_IS_RIGHT_BANK) // untouched source IV bits are preserved and sent to destination IV
- xmit_rb(dst, mask);
+ if(SRC_IS_RIGHT_BANK) // untouched source IV bits are preserved and sent to destination IV
+ {
+ dst = (m_right_IV & ~mask) | (dst & mask);
+ m_right_IV = dst;
+ WRITEPORT(m_IVR+0x100,m_right_IV);
+ }
else
- xmit_lb(dst, mask);
+ {
+ dst = (m_left_IV & ~mask) | (dst & mask);
+ m_left_IV = dst;
+ WRITEPORT(m_IVL,m_left_IV);
+ }
}
}
break;
case 0x01: // ADD
- {
- uint16_t result;
rotlen = ROTLEN;
if(is_rot(opcode))
{ // ADD reg,reg
src = rotate(get_reg(SRC),rotlen);
result = src + m_AUX;
- set_reg(DST,result & 0xff,false);
+ set_reg(DST,result & 0xff);
SET_OVF;
}
else
@@ -373,43 +314,65 @@ void n8x300_cpu_device::execute_run()
mask <<= DST_LSB;
SET_OVF;
if(DST_IS_RIGHT_BANK)
- xmit_rb(dst, mask);
+ {
+ dst = (m_right_IV & ~mask) | (dst & mask);
+ m_right_IV = dst;
+ WRITEPORT(m_IVR+0x100,m_right_IV);
+ }
else
- xmit_lb(dst, mask);
+ {
+ dst = (m_left_IV & ~mask) | (dst & mask);
+ m_left_IV = dst;
+ WRITEPORT(m_IVL,m_left_IV);
+ }
}
else if(!(is_src_reg(opcode)) && is_dst_reg(opcode))
{ // ADD IV,reg
SRC_LATCH;
mask = ((1 << rotlen)-1);
- src = rotate(m_IV_latch,7-SRC_LSB) & mask;
+ if(SRC_IS_RIGHT_BANK)
+ src = rotate(m_right_IV,7-SRC_LSB) & mask;
+ else
+ src = rotate(m_left_IV,7-SRC_LSB) & mask;
result = src + m_AUX;
SET_OVF;
- set_reg(DST,result & 0xff,false);
+ set_reg(DST,result & 0xff);
}
else if(!(is_src_reg(opcode)) && !(is_dst_reg(opcode)))
{ // ADD IV,IV
SRC_LATCH;
+ DST_LATCH;
mask = ((1 << rotlen)-1);
- src = rotate(m_IV_latch,7-SRC_LSB) & mask;
+ if(SRC_IS_RIGHT_BANK)
+ src = rotate(m_right_IV,7-SRC_LSB) & mask;
+ else
+ src = rotate(m_left_IV,7-SRC_LSB) & mask;
result = src + m_AUX;
SET_OVF;
dst = (result << (7-DST_LSB)) & 0xff;
mask <<= (7-DST_LSB);
- if(DST_IS_RIGHT_BANK) // unused destination IV data is not preserved, is merged with input IV data
- xmit_rb(dst, mask);
+ if(SRC_IS_RIGHT_BANK) // unused destination IV data is not preserved, is merged with input IV data
+ {
+ dst = (m_right_IV & ~mask) | (dst & mask);
+ m_right_IV = dst;
+ WRITEPORT(m_IVR+0x100,m_right_IV);
+ }
else
- xmit_lb(dst, mask);
+ {
+ dst = (m_left_IV & ~mask) | (dst & mask);
+ m_left_IV = dst;
+ WRITEPORT(m_IVL,m_left_IV);
+ }
}
}
break;
- }
case 0x02: // AND
rotlen = ROTLEN;
if(is_rot(opcode))
{ // AND reg,reg
src = rotate(get_reg(SRC),rotlen);
dst = src & m_AUX;
- set_reg(DST,dst,false);
+ set_reg(DST,dst);
}
else
{
@@ -418,36 +381,60 @@ void n8x300_cpu_device::execute_run()
if(is_src_reg(opcode) && !(is_dst_reg(opcode)))
{ // AND reg,IV
DST_LATCH;
- src = get_reg(SRC);
- dst = src & m_AUX;
+ src = get_reg(SRC) & m_AUX;
mask = ((1 << rotlen)-1);
- dst <<= (7-DST_LSB);
+ src <<= (7-DST_LSB);
mask <<= (7-DST_LSB);
if(DST_IS_RIGHT_BANK)
- xmit_rb(dst, mask);
+ {
+ dst = (m_right_IV & ~mask) | (src & mask);
+ m_right_IV = dst;
+ WRITEPORT(m_IVR+0x100,m_right_IV);
+ }
else
- xmit_lb(dst, mask);
+ {
+ dst = (m_left_IV & ~mask) | (src & mask);
+ m_left_IV = dst;
+ WRITEPORT(m_IVL,m_left_IV);
+ }
}
else if(!(is_src_reg(opcode)) && is_dst_reg(opcode))
{ // AND IV,reg
SRC_LATCH;
mask = ((1 << rotlen)-1);
- src = rotate(m_IV_latch,7-SRC_LSB) & mask;
+ if(SRC_IS_RIGHT_BANK)
+ src = rotate(m_right_IV,7-SRC_LSB) & mask;
+ else
+ src = rotate(m_left_IV,7-SRC_LSB) & mask;
+ src &= mask;
dst = src & m_AUX;
- set_reg(DST,dst,false);
+ set_reg(DST,dst);
}
else if(!(is_src_reg(opcode)) && !(is_dst_reg(opcode)))
{ // AND IV,IV
SRC_LATCH;
+ DST_LATCH;
mask = ((1 << rotlen)-1);
- src = rotate(m_IV_latch,7-SRC_LSB) & mask;
+ if(SRC_IS_RIGHT_BANK)
+ src = rotate(m_right_IV,7-SRC_LSB) & mask;
+ else
+ src = rotate(m_left_IV,7-SRC_LSB) & mask;
+ src &= mask;
dst = src & m_AUX;
dst <<= (7-DST_LSB);
mask <<= (7-DST_LSB);
- if(DST_IS_RIGHT_BANK)
- xmit_rb(dst, mask);
+ if(SRC_IS_RIGHT_BANK)
+ {
+ dst = (m_right_IV & ~mask) | (src & mask);
+ m_right_IV = dst;
+ WRITEPORT(m_IVR+0x100,m_right_IV);
+ }
else
- xmit_lb(dst, mask);
+ {
+ dst = (m_left_IV & ~mask) | (src & mask);
+ m_left_IV = dst;
+ WRITEPORT(m_IVL,m_left_IV);
+ }
}
}
break;
@@ -457,45 +444,69 @@ void n8x300_cpu_device::execute_run()
{ // AND reg,reg
src = rotate(get_reg(SRC),rotlen);
dst = src ^ m_AUX;
- set_reg(DST,dst,false);
+ set_reg(DST,dst);
}
else
{
if(rotlen == 0)
rotlen = 8; // 0 = 8-bit I/O field length
if(is_src_reg(opcode) && !(is_dst_reg(opcode)))
- { // XOR reg,IV
+ { // AND reg,IV
DST_LATCH;
- src = get_reg(SRC);
- dst = src ^ m_AUX;
+ src = get_reg(SRC) ^ m_AUX;
mask = ((1 << rotlen)-1);
- dst <<= (7-DST_LSB);
+ src <<= (7-DST_LSB);
mask <<= (7-DST_LSB);
if(DST_IS_RIGHT_BANK)
- xmit_rb(dst, mask);
+ {
+ dst = (m_right_IV & ~mask) | (src & mask);
+ m_right_IV = dst;
+ WRITEPORT(m_IVR+0x100,m_right_IV);
+ }
else
- xmit_lb(dst, mask);
+ {
+ dst = (m_left_IV & ~mask) | (src & mask);
+ m_left_IV = dst;
+ WRITEPORT(m_IVL,m_left_IV);
+ }
}
else if(!(is_src_reg(opcode)) && is_dst_reg(opcode))
- { // XOR IV,reg
+ { // AND IV,reg
SRC_LATCH;
mask = ((1 << rotlen)-1);
- src = rotate(m_IV_latch,7-SRC_LSB) & mask;
+ if(SRC_IS_RIGHT_BANK)
+ src = rotate(m_right_IV,7-SRC_LSB) & mask;
+ else
+ src = rotate(m_left_IV,7-SRC_LSB) & mask;
+ src &= mask;
dst = src ^ m_AUX;
- set_reg(DST,dst,false);
+ set_reg(DST,dst);
}
else if(!(is_src_reg(opcode)) && !(is_dst_reg(opcode)))
- { // XOR IV,IV
+ { // AND IV,IV
SRC_LATCH;
+ DST_LATCH;
mask = ((1 << rotlen)-1);
- src = rotate(m_IV_latch,7-SRC_LSB) & mask;
+ if(SRC_IS_RIGHT_BANK)
+ src = rotate(m_right_IV,7-SRC_LSB) & mask;
+ else
+ src = rotate(m_left_IV,7-SRC_LSB) & mask;
+ src &= mask;
dst = src ^ m_AUX;
dst <<= (7-DST_LSB);
mask <<= (7-DST_LSB);
- if(DST_IS_RIGHT_BANK)
- xmit_rb(dst, mask);
+ if(SRC_IS_RIGHT_BANK)
+ {
+ dst = (m_right_IV & ~mask) | (src & mask);
+ m_right_IV = dst;
+ WRITEPORT(m_IVR+0x100,m_right_IV);
+ }
else
- xmit_lb(dst, mask);
+ {
+ dst = (m_left_IV & ~mask) | (src & mask);
+ m_left_IV = dst;
+ WRITEPORT(m_IVL,m_left_IV);
+ }
}
}
break;
@@ -513,7 +524,10 @@ void n8x300_cpu_device::execute_run()
if(rotlen == 0)
rotlen = 8; // 0 = 8-bit I/O field length
mask = ((1 << rotlen)-1);
- src = rotate(m_IV_latch,7-SRC_LSB);
+ if(SRC_IS_RIGHT_BANK)
+ src = rotate(m_right_IV,7-SRC_LSB);
+ else
+ src = rotate(m_left_IV,7-SRC_LSB);
src &= mask;
src += IMM5;
SET_AR((m_AR & 0x1fe0) | (src & 0x1f));
@@ -533,7 +547,11 @@ void n8x300_cpu_device::execute_run()
if(rotlen == 0)
rotlen = 8; // 0 = 8-bit I/O field length
mask = ((1 << rotlen)-1);
- src = rotate(m_IV_latch,7-SRC_LSB);
+ if(SRC_IS_RIGHT_BANK)
+ src = rotate(m_right_IV,7-SRC_LSB);
+ else
+ src = rotate(m_left_IV,7-SRC_LSB);
+ rotate(src,SRC_LSB);
src &= mask;
if(src != 0)
SET_PC((m_PC & 0x1fe0) | IMM5);
@@ -542,7 +560,7 @@ void n8x300_cpu_device::execute_run()
case 0x06: // XMIT (Transmit)
// the source is actually the destination for this instruction
if(is_src_reg(opcode))
- set_reg(SRC,IMM8,true);
+ set_reg(SRC,IMM8);
else
{
SRC_LATCH;
@@ -554,9 +572,15 @@ void n8x300_cpu_device::execute_run()
mask <<= (7-SRC_LSB);
dst <<= (7-SRC_LSB);
if(SRC_IS_RIGHT_BANK)
- xmit_rb(dst, mask);
+ {
+ m_right_IV = (m_right_IV & ~mask) | (dst & mask);
+ WRITEPORT(m_IVR+0x100,m_right_IV);
+ }
else
- xmit_lb(dst, mask);
+ {
+ m_left_IV = (m_left_IV & ~mask) | (dst & mask);
+ WRITEPORT(m_IVL,m_left_IV);
+ }
}
break;
case 0x07: // JMP
diff --git a/src/devices/cpu/8x300/8x300.h b/src/devices/cpu/8x300/8x300.h
index 155079d225a..e3e3d68e7f6 100644
--- a/src/devices/cpu/8x300/8x300.h
+++ b/src/devices/cpu/8x300/8x300.h
@@ -28,11 +28,11 @@ enum
_8X300_IVL,
_8X300_OVF,
_8X300_R11,
- _8X300_R12,
- _8X300_R13,
- _8X300_R14,
- _8X300_R15,
- _8X300_R16,
+ _8X300_UNUSED12,
+ _8X300_UNUSED13,
+ _8X300_UNUSED14,
+ _8X300_UNUSED15,
+ _8X300_UNUSED16,
_8X300_IVR,
_8X300_LIV,
_8X300_RIV,
@@ -45,13 +45,8 @@ public:
// construction/destruction
n8x300_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- auto sc_callback() { return m_sc_callback.bind(); }
-
protected:
- n8x300_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
-
// device-level overrides
- virtual void device_resolve_objects() override;
virtual void device_start() override;
virtual void device_reset() override;
@@ -70,12 +65,6 @@ protected:
// device_disasm_interface overrides
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
- virtual void set_reg(uint8_t reg, uint8_t val, bool xmit);
- virtual uint8_t get_reg(uint8_t reg);
-
- void xmit_lb(uint8_t dst, uint8_t mask);
- void xmit_rb(uint8_t dst, uint8_t mask);
-
address_space_config m_program_config;
address_space_config m_io_config;
@@ -83,11 +72,9 @@ protected:
bool m_increment_pc;
address_space *m_program;
- memory_access_cache<1, -1, ENDIANNESS_BIG> *m_cache;
+ memory_access_cache<1, 0, ENDIANNESS_BIG> *m_cache;
address_space *m_io;
- devcb_write8 m_sc_callback; // Select Command (address latch)
-
uint16_t m_PC; // Program Counter
uint16_t m_AR; // Address Register
uint16_t m_IR; // Instruction Register
@@ -99,17 +86,13 @@ protected:
uint8_t m_R5;
uint8_t m_R6;
uint8_t m_R11;
- uint8_t m_R12;
- uint8_t m_R13;
- uint8_t m_R14;
- uint8_t m_R15;
- uint8_t m_R16;
uint8_t m_IVL; // Interface vector (I/O) left bank (write-only)
uint8_t m_IVR; // Interface vector (I/O) right bank (write-only)
uint8_t m_OVF; // Overflow register (read-only)
uint16_t m_genPC;
- uint8_t m_IV_latch; // IV bank contents, these are latched when IVL or IVR are set
+ uint8_t m_left_IV; // IV bank contents, these are latched when IVL or IVR are set
+ uint8_t m_right_IV;
private:
inline bool is_rot(uint16_t opcode)
@@ -137,20 +120,10 @@ private:
{
return ((s & ((uint8_t)0xff << n)) >> n) | ((s & ((uint8_t)0xff >> (8-n))) << (8-n));
}
-};
-
-class n8x305_cpu_device : public n8x300_cpu_device
-{
-public:
- // construction/destruction
- n8x305_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
-protected:
- virtual void set_reg(uint8_t reg, uint8_t val, bool xmit) override;
- virtual uint8_t get_reg(uint8_t reg) override;
+ void set_reg(uint8_t reg,uint8_t val);
+ uint8_t get_reg(uint8_t reg);
};
DECLARE_DEVICE_TYPE(N8X300, n8x300_cpu_device)
-DECLARE_DEVICE_TYPE(N8X305, n8x305_cpu_device)
#endif // MAME_CPU_8X300_8X300_H
diff --git a/src/devices/cpu/8x300/8x300dasm.cpp b/src/devices/cpu/8x300/8x300dasm.cpp
index 3f03ed19cfd..db231195f04 100644
--- a/src/devices/cpu/8x300/8x300dasm.cpp
+++ b/src/devices/cpu/8x300/8x300dasm.cpp
@@ -19,7 +19,7 @@
const char *const n8x300_disassembler::reg_names[32] =
{
"AUX", "R1", "R2", "R3", "R4", "R5", "R6", "IVL", "OVF", "R11",
- "R12", "R13", "R14", "R15", "R16", "IVR",
+ "Unused12", "Unused13", "Unused14", "Unused15", "Unused16", "IVR",
"LIV0", "LIV1", "LIV2", "LIV3", "LIV4", "LIV5", "LIV6", "LIV7",
"RIV0", "RIV1", "RIV2", "RIV3", "RIV4", "RIV5", "RIV6", "RIV7"
};
@@ -43,7 +43,7 @@ bool n8x300_disassembler::is_src_rot(uint16_t opcode)
u32 n8x300_disassembler::opcode_alignment() const
{
- return 1;
+ return 2;
}
offs_t n8x300_disassembler::disassemble(std::ostream &stream, offs_t pc, const data_buffer &opcodes, const data_buffer &params)
@@ -51,7 +51,7 @@ offs_t n8x300_disassembler::disassemble(std::ostream &stream, offs_t pc, const d
unsigned startpc = pc;
uint16_t opcode = opcodes.r16(pc);
uint8_t inst = opcode >> 13;
- pc+=1;
+ pc+=2;
// determine instruction
switch (inst)
@@ -127,7 +127,7 @@ offs_t n8x300_disassembler::disassemble(std::ostream &stream, offs_t pc, const d
}
break;
case 0x07:
- util::stream_format(stream, "JMP %04XH", (opcode & 0x1fff));
+ util::stream_format(stream, "JMP %04XH", (opcode & 0x1fff) << 1);
break;
}
diff --git a/src/devices/cpu/alpha/alpha.cpp b/src/devices/cpu/alpha/alpha.cpp
deleted file mode 100644
index 9ebfc6dd09e..00000000000
--- a/src/devices/cpu/alpha/alpha.cpp
+++ /dev/null
@@ -1,995 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Patrick Mackinlay
-
-/*
- * An implementation of the Digital Alpha CPU family.
- *
- * Sources:
- *
- * http://bitsavers.org/pdf/dec/alpha/21064-aa-RISC%20Microprocessor%20Preliminary%20Data%20Sheet-apr92.pdf
- * http://bitsavers.org/pdf/dec/alpha/Sites_AlphaAXPArchitectureReferenceManual_2ed_1995.pdf
- * https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob_plain;f=opcodes/alpha-opc.c;hb=HEAD
- * http://ftp.twaren.net/NetBSD/misc/dec-docs/
- *
- * TODO
- * - interrupts and exceptions
- * - address translation
- * - ibox/abox registers
- * - floating point instructions
- * - primary caches
- * - later cpu implementations
- * - instruction set extensions
- * - big-endian mode
- */
-
-#include "emu.h"
-#include "alpha.h"
-#include "common.h"
-
-#include "debugger.h"
-
-#include "softfloat3/source/include/softfloat.h"
-
-#define LOG_GENERAL (1U << 0)
-#define LOG_EXCEPTION (1U << 1)
-#define LOG_SYSCALLS (1U << 2)
-
-//#define VERBOSE (LOG_GENERAL | LOG_EXCEPTION)
-
-#include "logmacro.h"
-
-DEFINE_DEVICE_TYPE(DEC_21064, dec_21064_device, "21064", "DEC Alpha 21064")
-
-dec_21064_device::dec_21064_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
- : alpha_ev4_device(mconfig, DEC_21064, tag, owner, clock)
-{
-}
-
-alpha_ev4_device::alpha_ev4_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock)
- : alpha_device(mconfig, type, tag, owner, clock)
-{
-}
-
-alpha_device::alpha_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock)
- : cpu_device(mconfig, type, tag, owner, clock)
- , m_dasm_type(alpha_disassembler::dasm_type::TYPE_UNKNOWN)
- , m_as_config
- {
- address_space_config("0", ENDIANNESS_LITTLE, 64, 32, 0),
- address_space_config("1", ENDIANNESS_LITTLE, 64, 32, 0),
- address_space_config("2", ENDIANNESS_LITTLE, 64, 32, 0),
- address_space_config("3", ENDIANNESS_LITTLE, 64, 32, 0)
- }
- , m_srom_oe_cb(*this)
- , m_srom_data_cb(*this)
- , m_icount(0)
-{
-}
-
-void alpha_device::device_start()
-{
- set_icountptr(m_icount);
-
- save_item(NAME(m_pc));
- save_item(NAME(m_r));
- save_item(NAME(m_f));
-
- save_item(NAME(m_pal_mode));
-
- state_add(STATE_GENPC, "GENPC", m_pc).noshow();
- state_add(STATE_GENPCBASE, "CURPC", m_pc).noshow();
-
- state_add(64, "PC", m_pc);
-
- // integer registers
- for (unsigned i = 0; i < 32; i++)
- state_add(i, util::string_format("R%d", i).c_str(), m_r[i]);
-
- // floating point registers
- for (unsigned i = 0; i < 32; i++)
- state_add(i + 32, util::string_format("F%d", i).c_str(), m_f[i]);
-
- m_srom_oe_cb.resolve_safe();
- m_srom_data_cb.resolve_safe(0);
-}
-
-void alpha_device::device_reset()
-{
- m_pc = 0;
- m_pal_mode = true;
-}
-
-void alpha_device::execute_run()
-{
- while (m_icount > 0)
- {
- debugger_instruction_hook(m_pc);
-
- fetch(m_pc,
- [this](u32 const op)
- {
- // update the program counter
- m_pc += 4;
-
- // execute an instruction
- cpu_execute(op);
-
- // reset always-zero registers
- m_r[31] = 0;
- m_f[31] = 0;
- });
-
- m_icount--;
- }
-}
-
-void alpha_device::execute_set_input(int inputnum, int state)
-{
-}
-
-device_memory_interface::space_config_vector alpha_device::memory_space_config() const
-{
- /*
- * EV4 devices have a 34-bit physical address space. This is mapped using
- * the top two bits to select one of four memory spaces with the other 32
- * bits giving the offset within each space. This approach works out quite
- * well for the jensen hardware, which uses the first space for memory, and
- * the others for a variety of I/O memory mapping.
- *
- * Note: space numbers are multiplied by two to avoid the special handling
- * applied to the decrypted opcode space (number 3).
- */
- return space_config_vector {
- std::make_pair(0, &m_as_config[0]),
- std::make_pair(2, &m_as_config[1]),
- std::make_pair(4, &m_as_config[2]),
- std::make_pair(6, &m_as_config[3])
- };
-}
-
-bool alpha_device::memory_translate(int spacenum, int intention, offs_t &address)
-{
- u64 placeholder = s64(s32(address));
-
- if (cpu_translate(placeholder, intention))
- {
- address = placeholder;
-
- return true;
- }
-
- return false;
-}
-
-std::unique_ptr<util::disasm_interface> alpha_device::create_disassembler()
-{
- return std::make_unique<alpha_disassembler>(m_dasm_type);
-}
-
-void alpha_device::cpu_execute(u32 const op)
-{
- switch ((op >> 26) & 0x3f)
- {
- case 0x08: m_r[Ra(op)] = m_r[Rb(op)] + Disp_M(op); break; // lda
- case 0x09: m_r[Ra(op)] = m_r[Rb(op)] + (Disp_M(op) << 16); break; // ldah
- case 0x0b: load<u64>((m_r[Rb(op)] + Disp_M(op)) & ~7, [this, op](u64 data) { m_r[Ra(op)] = data; }); break; // ldq_u
- case 0x0f: store<u64>((m_r[Rb(op)] + Disp_M(op)) & ~7, m_r[Ra(op)]); break; // stq_u
-
- case 0x10: // INTA* (integer arithmetic)
- switch ((op >> 5) & 0xff)
- {
- // register variants
- case 0x00: m_r[Rc(op)] = s64(s32(m_r[Ra(op)]) + s32(m_r[Rb(op)])); break; // addl
- case 0x02: m_r[Rc(op)] = s64(s32(m_r[Ra(op)] << 2) + s32(m_r[Rb(op)])); break; // s4addl
- case 0x09: m_r[Rc(op)] = s64(s32(m_r[Ra(op)]) - s32(m_r[Rb(op)])); break; // subl
- case 0x0b: m_r[Rc(op)] = s64(s32(m_r[Ra(op)] << 2) - s32(m_r[Rb(op)])); break; // s4subl
- case 0x0f: // cmpbge
- {
- u8 temp = 0;
- for (unsigned i = 0; i < 8; i++)
- if (u8(m_r[Ra(op)] >> (i * 8)) >= u8(m_r[Rb(op)] >> (i * 8)))
- temp |= (1U << i);
-
- m_r[Rc(op)] = u64(temp);
- }
- break;
- case 0x12: m_r[Rc(op)] = s64(s32(m_r[Ra(op)] << 3) + s32(m_r[Rb(op)])); break; // s8addl
- case 0x1b: m_r[Rc(op)] = s64(s32(m_r[Ra(op)] << 3) - s32(m_r[Rb(op)])); break; // s8subl
- case 0x1d: m_r[Rc(op)] = m_r[Ra(op)] < m_r[Rb(op)]; break; // cmpult
- case 0x20: m_r[Rc(op)] = m_r[Ra(op)] + m_r[Rb(op)]; break; // addq
- case 0x22: m_r[Rc(op)] = (m_r[Ra(op)] << 2) + m_r[Rb(op)]; break; // s4addq
- case 0x29: m_r[Rc(op)] = m_r[Ra(op)] - m_r[Rb(op)]; break; // subq
- case 0x2b: m_r[Rc(op)] = (m_r[Ra(op)] << 2) - m_r[Rb(op)]; break; // s4subq
- case 0x2d: m_r[Rc(op)] = m_r[Ra(op)] == m_r[Rb(op)]; break; // cmpeq
- case 0x32: m_r[Rc(op)] = (m_r[Ra(op)] << 3) + m_r[Rb(op)]; break; // s8addq
- case 0x3b: m_r[Rc(op)] = (m_r[Ra(op)] << 3) - m_r[Rb(op)]; break; // s8subq
- case 0x3d: m_r[Rc(op)] = m_r[Ra(op)] <= m_r[Rb(op)]; break; // cmpule
- case 0x40: m_r[Rc(op)] = s64(s32(m_r[Ra(op)]) + s32(m_r[Rb(op)])); break; // addl/v
- case 0x49: m_r[Rc(op)] = s64(s32(m_r[Ra(op)]) - s32(m_r[Rb(op)])); break; // subl/v
- case 0x4d: m_r[Rc(op)] = s64(m_r[Ra(op)]) < s64(m_r[Rb(op)]); break; // cmplt
- case 0x60: m_r[Rc(op)] = m_r[Ra(op)] + m_r[Rb(op)]; break; // addq/v
- case 0x69: m_r[Rc(op)] = m_r[Ra(op)] - m_r[Rb(op)]; break; // subq/v
- case 0x6d: m_r[Rc(op)] = s64(m_r[Ra(op)]) <= s64(m_r[Rb(op)]); break; // cmple
-
- // immediate variants
- case 0x80: m_r[Rc(op)] = s64(s32(m_r[Ra(op)]) + s32(Im(op))); break; // addl
- case 0x82: m_r[Rc(op)] = s64(s32(m_r[Ra(op)] << 2) + s32(Im(op))); break; // s4addl
- case 0x89: m_r[Rc(op)] = s64(s32(m_r[Ra(op)]) - s32(Im(op))); break; // subl
- case 0x8b: m_r[Rc(op)] = s64(s32(m_r[Ra(op)] << 2) - s32(Im(op))); break; // s4subl
- case 0x8f: // cmpbge
- {
- u8 temp = 0;
- for (unsigned i = 0; i < 8; i++)
- if (u8(m_r[Ra(op)] >> (i * 8)) >= u8(Im(op)))
- temp |= (1U << i);
-
- m_r[Rc(op)] = u64(temp);
- }
- break;
- case 0x92: m_r[Rc(op)] = s64(s32(m_r[Ra(op)] << 3) + s32(Im(op))); break; // s4addl
- case 0x9b: m_r[Rc(op)] = s64(s32(m_r[Ra(op)] << 3) - s32(Im(op))); break; // s8subl
- case 0x9d: m_r[Rc(op)] = m_r[Ra(op)] < Im(op); break; // cmpult
- case 0xa0: m_r[Rc(op)] = m_r[Ra(op)] + Im(op); break; // addq
- case 0xa2: m_r[Rc(op)] = (m_r[Ra(op)] << 2) + Im(op); break; // s4addq
- case 0xa9: m_r[Rc(op)] = m_r[Ra(op)] - Im(op); break; // subq
- case 0xab: m_r[Rc(op)] = (m_r[Ra(op)] << 2) - Im(op); break; // s4subq
- case 0xad: m_r[Rc(op)] = m_r[Ra(op)] == Im(op); break; // cmpeq
- case 0xb2: m_r[Rc(op)] = (m_r[Ra(op)] << 3) + Im(op); break; // s8addq
- case 0xbb: m_r[Rc(op)] = (m_r[Ra(op)] << 3) - Im(op); break; // s8subq
- case 0xbd: m_r[Rc(op)] = m_r[Ra(op)] <= Im(op); break; // cmpule
- case 0xc0: m_r[Rc(op)] = s64(s32(m_r[Ra(op)]) + s32(Im(op))); break; // addl/v
- case 0xc9: m_r[Rc(op)] = s64(s32(m_r[Ra(op)]) - s32(Im(op))); break; // subl/v
- case 0xcd: m_r[Rc(op)] = s64(m_r[Ra(op)]) < s64(Im(op)); break; // cmplt
- case 0xe0: m_r[Rc(op)] = m_r[Ra(op)] + Im(op); break; // addq/v
- case 0xe9: m_r[Rc(op)] = m_r[Ra(op)] - Im(op); break; // subq/v
- case 0xed: m_r[Rc(op)] = s64(m_r[Ra(op)]) <= s64(Im(op)); break; // cmple
- }
- break;
- case 0x11: // INTL* (integer logical)
- switch ((op >> 5) & 0xff)
- {
- // register variants
- case 0x00: m_r[Rc(op)] = m_r[Ra(op)] & m_r[Rb(op)]; break; // and
- case 0x08: m_r[Rc(op)] = m_r[Ra(op)] & ~m_r[Rb(op)]; break; // bic
- case 0x14: // cmovlbs
- if (BIT(m_r[Ra(op)], 0))
- m_r[Rc(op)] = m_r[Rb(op)];
- break;
- case 0x16: // cmovlbc
- if (!BIT(m_r[Ra(op)], 0))
- m_r[Rc(op)] = m_r[Rb(op)];
- break;
- case 0x20: m_r[Rc(op)] = m_r[Ra(op)] | m_r[Rb(op)]; break; // bis
- case 0x24: // cmoveq
- if (m_r[Ra(op)] == 0)
- m_r[Rc(op)] = m_r[Rb(op)];
- break;
- case 0x26: // cmovne
- if (m_r[Ra(op)] != 0)
- m_r[Rc(op)] = m_r[Rb(op)];
- break;
- case 0x28: m_r[Rc(op)] = m_r[Ra(op)] | ~m_r[Rb(op)]; break; // ornot
- case 0x40: m_r[Rc(op)] = m_r[Ra(op)] ^ m_r[Rb(op)]; break; // xor
- case 0x44: // cmovlt
- if (s64(m_r[Ra(op)]) < 0)
- m_r[Rc(op)] = m_r[Rb(op)];
- break;
- case 0x46: // cmovge
- if (s64(m_r[Ra(op)]) >= 0)
- m_r[Rc(op)] = m_r[Rb(op)];
- break;
- case 0x48: m_r[Rc(op)] = m_r[Ra(op)] ^ ~m_r[Rb(op)]; break; // eqv
- case 0x61: m_r[Rc(op)] = m_r[Rb(op)]; break; // amask
- case 0x64: // cmovle
- if (s64(m_r[Ra(op)]) <= 0)
- m_r[Rc(op)] = m_r[Rb(op)];
- break;
- case 0x66: // cmovgt
- if (s64(m_r[Ra(op)]) > 0)
- m_r[Rc(op)] = m_r[Rb(op)];
- break;
-
- // immediate variants
- case 0x80: m_r[Rc(op)] = m_r[Ra(op)] & Im(op); break; // and
- case 0x88: m_r[Rc(op)] = m_r[Ra(op)] & ~Im(op); break; // bic
- case 0x94: // cmovlbs
- if (BIT(m_r[Ra(op)], 0))
- m_r[Rc(op)] = Im(op);
- break;
- case 0x96: // cmovlbc
- if (!BIT(m_r[Ra(op)], 0))
- m_r[Rc(op)] = Im(op);
- break;
- case 0xa0: m_r[Rc(op)] = m_r[Ra(op)] | Im(op); break; // bis
- case 0xa4: // cmoveq
- if (m_r[Ra(op)] == 0)
- m_r[Rc(op)] = Im(op);
- break;
- case 0xa6: // cmovne
- if (m_r[Ra(op)] != 0)
- m_r[Rc(op)] = Im(op);
- break;
- case 0xa8: m_r[Rc(op)] = m_r[Ra(op)] | ~Im(op); break; // ornot
- case 0xc0: m_r[Rc(op)] = m_r[Ra(op)] ^ Im(op); break; // xor
- case 0xc4: // cmovlt
- if (s64(m_r[Ra(op)]) < 0)
- m_r[Rc(op)] = Im(op);
- break;
- case 0xc6: // cmovge
- if (s64(m_r[Ra(op)]) >= 0)
- m_r[Rc(op)] = Im(op);
- break;
- case 0xc8: m_r[Rc(op)] = m_r[Ra(op)] ^ ~Im(op); break; // eqv
- case 0xe1: m_r[Rc(op)] = Im(op); break; // amask
- case 0xe4: // cmovle
- if (s64(m_r[Ra(op)]) <= 0)
- m_r[Rc(op)] = Im(op);
- break;
- case 0xe6: // cmovgt
- if (s64(m_r[Ra(op)]) > 0)
- m_r[Rc(op)] = Im(op);
- break;
- case 0xec: m_r[Rc(op)] = 0; break; // implver
- }
- break;
- case 0x12: // INTS* (integer shift)
- switch ((op >> 5) & 0xff)
- {
- // register variants
- case 0x02: m_r[Rc(op)] = m_r[Ra(op)] & zap_mask(u8(0x01) << (m_r[Rb(op)] & 7)); break; // mskbl
- case 0x06: m_r[Rc(op)] = (m_r[Ra(op)] >> ((m_r[Rb(op)] & 7) * 8)) & zap_mask(~u8(0x01)); break; // extbl
- case 0x0b: m_r[Rc(op)] = (m_r[Ra(op)] << ((m_r[Rb(op)] & 7) * 8)) & zap_mask(~(u8(0x01) << (m_r[Rb(op)] & 7))); break; // insbl
- case 0x12: m_r[Rc(op)] = m_r[Ra(op)] & zap_mask(u8(0x03) << (m_r[Rb(op)] & 7)); break; // mskwl
- case 0x16: m_r[Rc(op)] = (m_r[Ra(op)] >> ((m_r[Rb(op)] & 7) * 8)) & zap_mask(~u8(0x03)); break; // extwl
- case 0x1b: m_r[Rc(op)] = (m_r[Ra(op)] << ((m_r[Rb(op)] & 7) * 8)) & zap_mask(~(u8(0x03) << (m_r[Rb(op)] & 7))); break; // inswl
- case 0x22: m_r[Rc(op)] = m_r[Ra(op)] & zap_mask(u8(0x0f) << (m_r[Rb(op)] & 7)); break; // mskll
- case 0x26: m_r[Rc(op)] = (m_r[Ra(op)] >> ((m_r[Rb(op)] & 7) * 8)) & zap_mask(~u8(0x0f)); break; // extll
- case 0x2b: m_r[Rc(op)] = (m_r[Ra(op)] << ((m_r[Rb(op)] & 7) * 8)) & zap_mask(~(u8(0x0f) << (m_r[Rb(op)] & 7))); break; // insll
- case 0x30: m_r[Rc(op)] = m_r[Ra(op)] & zap_mask(m_r[Rb(op)]); break; // zap
- case 0x31: m_r[Rc(op)] = m_r[Ra(op)] & ~zap_mask(m_r[Rb(op)]); break; // zapnot
- case 0x32: m_r[Rc(op)] = m_r[Ra(op)] & zap_mask(u8(0xff) << (m_r[Rb(op)] & 7)); break; // mskql
- case 0x34: m_r[Rc(op)] = m_r[Ra(op)] >> (m_r[Rb(op)] & 63); break; // srl
- case 0x36: m_r[Rc(op)] = (m_r[Ra(op)] >> ((m_r[Rb(op)] & 7) * 8)) & zap_mask(u8(~u8(0xff))); break; // extql
- case 0x39: m_r[Rc(op)] = m_r[Ra(op)] << (m_r[Rb(op)] & 63); break; // sll
- case 0x3b: m_r[Rc(op)] = (m_r[Ra(op)] << ((m_r[Rb(op)] & 7) * 8)) & zap_mask(~(u8(0xff) << (m_r[Rb(op)] & 7))); break; // insql
- case 0x3c: m_r[Rc(op)] = s64(m_r[Ra(op)]) >> (m_r[Rb(op)] & 63); break; // sra
- case 0x52: m_r[Rc(op)] = m_r[Ra(op)] & zap_mask(u8(0x03) >> (8 - (m_r[Rb(op)] & 7))); break; // mskwh
- case 0x57: m_r[Rc(op)] = (m_r[Ra(op)] >> (64 - ((m_r[Rb(op)] & 7) * 8))) & zap_mask(~(u8(0x03) >> (8 - (m_r[Rb(op)] & 7)))); break; // inswh
- case 0x5a: m_r[Rc(op)] = (m_r[Ra(op)] << (64 - ((m_r[Rb(op)] & 7) * 8))) & zap_mask(~u8(0x03)); break; // extwh
- case 0x62: m_r[Rc(op)] = m_r[Ra(op)] & zap_mask(u8(0x0f) >> (8 - (m_r[Rb(op)] & 7))); break; // msklh
- case 0x67: m_r[Rc(op)] = (m_r[Ra(op)] >> (64 - ((m_r[Rb(op)] & 7) * 8))) & zap_mask(~(u8(0x0f) >> (8 - (m_r[Rb(op)] & 7)))); break; // inslh
- case 0x6a: m_r[Rc(op)] = (m_r[Ra(op)] << (64 - ((m_r[Rb(op)] & 7) * 8))) & zap_mask(~u8(0x0f)); break; // extlh
- case 0x72: m_r[Rc(op)] = m_r[Ra(op)] & zap_mask(u8(0xff) >> (8 - (m_r[Rb(op)] & 7))); break; // mskqh
- case 0x77: m_r[Rc(op)] = (m_r[Ra(op)] >> (64 - ((m_r[Rb(op)] & 7) * 8))) & zap_mask(~(u8(0xff) >> (8 - (m_r[Rb(op)] & 7)))); break; // insqh
- case 0x7a: m_r[Rc(op)] = (m_r[Ra(op)] << (64 - ((m_r[Rb(op)] & 7) * 8))) & zap_mask(u8(~u8(0xff))); break; // extqh
-
- // immediate variants
- case 0x82: m_r[Rc(op)] = m_r[Ra(op)] & zap_mask(u8(0x01) << (Im(op) & 7)); break; // mskbl
- case 0x86: m_r[Rc(op)] = (m_r[Ra(op)] >> ((Im(op) & 7) * 8)) & zap_mask(~u8(0x01)); break; // extbl
- case 0x8b: m_r[Rc(op)] = (m_r[Ra(op)] << ((Im(op) & 7) * 8)) & zap_mask(~(u8(0x01) << (Im(op) & 7))); break; // insbl
- case 0x92: m_r[Rc(op)] = m_r[Ra(op)] & zap_mask(u8(0x03) << (Im(op) & 7)); break; // mskwl
- case 0x96: m_r[Rc(op)] = (m_r[Ra(op)] >> ((Im(op) & 7) * 8)) & zap_mask(~u8(0x03)); break; // extwl
- case 0x9b: m_r[Rc(op)] = (m_r[Ra(op)] << ((Im(op) & 7) * 8)) & zap_mask(~(u8(0x03) << (Im(op) & 7))); break; // inswl
- case 0xa2: m_r[Rc(op)] = m_r[Ra(op)] & zap_mask(u8(0x0f) << (Im(op) & 7)); break; // mskll
- case 0xa6: m_r[Rc(op)] = (m_r[Ra(op)] >> ((Im(op) & 7) * 8)) & zap_mask(~u8(0x0f)); break; // extll
- case 0xab: m_r[Rc(op)] = (m_r[Ra(op)] << ((Im(op) & 7) * 8)) & zap_mask(~(u8(0x0f) << (Im(op) & 7))); break; // insll
- case 0xb0: m_r[Rc(op)] = m_r[Ra(op)] & zap_mask(Im(op)); break; // zap
- case 0xb1: m_r[Rc(op)] = m_r[Ra(op)] & ~zap_mask(Im(op)); break; // zapnot
- case 0xb2: m_r[Rc(op)] = m_r[Ra(op)] & zap_mask(u8(0xff) << (Im(op) & 7)); break; // mskql
- case 0xb4: m_r[Rc(op)] = m_r[Ra(op)] >> (Im(op) & 63); break; // srl
- case 0xb6: m_r[Rc(op)] = (m_r[Ra(op)] >> ((Im(op) & 7) * 8)) & zap_mask(u8(~u8(0xff))); break; // extql
- case 0xb9: m_r[Rc(op)] = m_r[Ra(op)] << (Im(op) & 63); break; // sll
- case 0xbb: m_r[Rc(op)] = (m_r[Ra(op)] << ((Im(op) & 7) * 8)) & zap_mask(~(u8(0xff) << (Im(op) & 7))); break; // insql
- case 0xbc: m_r[Rc(op)] = s64(m_r[Ra(op)]) >> (Im(op) & 63); break; // sra
- case 0xd2: m_r[Rc(op)] = m_r[Ra(op)] & zap_mask(u8(0x03) >> (8 - (Im(op) & 7))); break; // mskwh
- case 0xd7: m_r[Rc(op)] = (m_r[Ra(op)] >> (64 - ((Im(op) & 7) * 8))) & zap_mask(~(u8(0x03) >> (8 - (Im(op) & 7)))); break; // inswh
- case 0xda: m_r[Rc(op)] = (m_r[Ra(op)] << (64 - ((Im(op) & 7) * 8))) & zap_mask(~u8(0x03)); break; // extwh
- case 0xe2: m_r[Rc(op)] = m_r[Ra(op)] & zap_mask(u8(0x0f) >> (8 - (Im(op) & 7))); break; // msklh
- case 0xe7: m_r[Rc(op)] = (m_r[Ra(op)] >> (64 - ((Im(op) & 7) * 8))) & zap_mask(~(u8(0x0f) >> (8 - (Im(op) & 7)))); break; // inslh
- case 0xea: m_r[Rc(op)] = (m_r[Ra(op)] << (64 - ((Im(op) & 7) * 8))) & zap_mask(~u8(0x0f)); break; // extlh
- case 0xf2: m_r[Rc(op)] = m_r[Ra(op)] & zap_mask(u8(0xff) >> (8 - (Im(op) & 7))); break; // mskqh
- case 0xf7: m_r[Rc(op)] = (m_r[Ra(op)] >> (64 - ((Im(op) & 7) * 8))) & zap_mask(~(u8(0xff) >> (8 - (Im(op) & 7)))); break; // insqh
- case 0xfa: m_r[Rc(op)] = (m_r[Ra(op)] << (64 - ((Im(op) & 7) * 8))) & zap_mask(u8(~u8(0xff))); break; // extqh
- }
- break;
- case 0x13: // INTM* (integer multiply)
- switch ((op >> 5) & 0xff)
- {
- // register variants
- case 0x00: m_r[Rc(op)] = s64(s32(u32(m_r[Ra(op)]) * u32(m_r[Rb(op)]))); break; // mull
- case 0x20: m_r[Rc(op)] = m_r[Ra(op)] * m_r[Rb(op)]; break; // mulq
- case 0x30: mulu_64x64(m_r[Ra(op)], m_r[Rb(op)], &m_r[Rc(op)]); break; // umulh
- case 0x40: m_r[Rc(op)] = s64(s32(u32(m_r[Ra(op)]) * u32(m_r[Rb(op)]))); break; // mull/v
- case 0x60: m_r[Rc(op)] = m_r[Ra(op)] * m_r[Rb(op)]; break; // mulq/v
-
- // immediate variants
- case 0x80: m_r[Rc(op)] = s64(s32(u32(m_r[Ra(op)]) * u32(Im(op)))); break; // mull
- case 0xa0: m_r[Rc(op)] = m_r[Ra(op)] * Im(op); break; // mulq
- case 0xb0: mulu_64x64(m_r[Ra(op)], Im(op), &m_r[Rc(op)]); break; // umulh
- case 0xc0: m_r[Rc(op)] = s64(s32(u32(m_r[Ra(op)]) * u32(Im(op)))); break; // mull/v
- case 0xe0: m_r[Rc(op)] = m_r[Ra(op)] * Im(op); break; // mulq/v
- }
- break;
- //case 0x14: // ITFP* (integer to floating)
- //case 0x15: // FLTV* (vax floating)
- //case 0x16: // FLTI* (ieee floating)
- //case 0x17: // FLTL* (floating)
-
- case 0x18: // MISC* (miscellaneous)
- // TODO: all of these are effectively no-ops for now
- switch (u16(op))
- {
- case 0x0000: break; // trapb
- case 0x0400: break; // excb
- case 0x4000: break; // mb
- case 0x4400: break; // wmb
- case 0x8000: break; // fetch
- case 0xa000: break; // fetch_m
- case 0xc000: break; // rpcc
- case 0xe000: break; // rc
- case 0xe800: break; // ecb
- case 0xf000: break; // rs
- case 0xf800: break; // wh64
- }
- break;
-
- case 0x1a: // JSR*
- m_r[Ra(op)] = m_pc;
- m_pc = m_r[Rb(op)] & ~3;
- break;
-
- case 0x20: load<u32>(m_r[Rb(op)] + Disp_M(op), [this, op](u32 data) { m_f[Ra(op)] = u32_to_f_floating(data); }); break; // ldf
- case 0x21: load<u64>(m_r[Rb(op)] + Disp_M(op), [this, op](u64 data) { m_f[Ra(op)] = u64_to_g_floating(data); }); break; // ldg
- case 0x22: load<u32>(m_r[Rb(op)] + Disp_M(op), [this, op](u32 data) { m_f[Ra(op)] = f32_to_f64(float32_t{ data }).v; }); break; // lds
- case 0x23: load<u64>(m_r[Rb(op)] + Disp_M(op), [this, op](u64 data) { m_f[Ra(op)] = data; }); break; // ldt
- case 0x24: store<u32>(m_r[Rb(op)] + Disp_M(op), f_floating_to_u32(m_f[Ra(op)])); break; // stf
- case 0x25: store<u64>(m_r[Rb(op)] + Disp_M(op), u64_to_g_floating(m_f[Ra(op)])); break; // stg
- case 0x26: store<u32>(m_r[Rb(op)] + Disp_M(op), f64_to_f32(float64_t{ m_f[Ra(op)] }).v); break; // sts
- case 0x27: store<u64>(m_r[Rb(op)] + Disp_M(op), m_f[Ra(op)]); break; // stt
- case 0x28: load<u32>(m_r[Rb(op)] + Disp_M(op), [this, op](s32 data) { m_r[Ra(op)] = s64(data); }); break; // ldl
- case 0x29: load<u64>(m_r[Rb(op)] + Disp_M(op), [this, op](u64 data) { m_r[Ra(op)] = data; }); break; // ldq
- case 0x2a: // ldl_l
- load_l<u32>(m_r[Rb(op)] + Disp_M(op),
- [this, op](address_space &space, u64 address, s32 data)
- {
- if (m_lock_watch)
- m_lock_watch->remove();
-
- m_r[Ra(op)] = s64(data);
-
- space.install_write_tap(offs_t(address & ~15), offs_t(address | 15), "ldl_l",
- [this](offs_t offset, u64 &data, u64 mem_mask)
- {
- m_lock_watch->remove();
- m_lock_watch = nullptr;
- });
- });
- break;
- case 0x2b: // ldq_l
- load_l<u64>(m_r[Rb(op)] + Disp_M(op),
- [this, op](address_space &space, u64 address, u64 data)
- {
- if (m_lock_watch)
- m_lock_watch->remove();
-
- m_r[Ra(op)] = data;
-
- space.install_write_tap(offs_t(address & ~15), offs_t(address | 15), "ldq_l",
- [this](offs_t offset, u64 &data, u64 mem_mask)
- {
- m_lock_watch->remove();
- m_lock_watch = nullptr;
- });
- });
- break;
- case 0x2c: store<u32>(m_r[Rb(op)] + Disp_M(op), u32(m_r[Ra(op)])); break; // stl
- case 0x2d: store<u64>(m_r[Rb(op)] + Disp_M(op), m_r[Ra(op)]); break; // stq
- case 0x2e: // stl_c
- if (m_lock_watch)
- {
- store<u32>(m_r[Rb(op)] + Disp_M(op), u32(m_r[Ra(op)]));
- m_r[Ra(op)] = 1;
-
- m_lock_watch->remove();
- m_lock_watch = nullptr;
- }
- else
- m_r[Ra(op)] = 0;
- break;
- case 0x2f: // stq_c
- if (m_lock_watch)
- {
- store<u64>(m_r[Rb(op)] + Disp_M(op), m_r[Ra(op)]);
- m_r[Ra(op)] = 1;
-
- m_lock_watch->remove();
- m_lock_watch = nullptr;
- }
- else
- m_r[Ra(op)] = 0;
- break;
-
- // branch format
- case 0x30: // br
- m_r[Ra(op)] = m_pc;
- m_pc += Disp_B(op);
- break;
- case 0x31: // fbeq
- if (!(m_f[Ra(op)] & 0x7fffffff'ffffffffULL))
- m_pc += Disp_B(op);
- break;
- case 0x32: // fblt
- if (BIT(m_f[Ra(op)], 63) && (m_f[Ra(op)] & 0x7fffffff'ffffffffULL))
- m_pc += Disp_B(op);
- break;
- case 0x33: // fble
- if (BIT(m_f[Ra(op)], 63) || !(m_f[Ra(op)] & 0x7fffffff'ffffffffULL))
- m_pc += Disp_B(op);
- break;
- case 0x34: // bsr
- m_r[Ra(op)] = m_pc;
- m_pc += Disp_B(op);
- break;
- case 0x35: // fbne
- if (m_f[Ra(op)] & 0x7fffffff'ffffffffULL)
- m_pc += Disp_B(op);
- break;
- case 0x36: // fbge
- if (!BIT(m_f[Ra(op)], 63) || !(m_f[Ra(op)] & 0x7fffffff'ffffffffULL))
- m_pc += Disp_B(op);
- break;
- case 0x37: // fbgt
- if (!BIT(m_f[Ra(op)], 63) && (m_f[Ra(op)] & 0x7fffffff'ffffffffULL))
- m_pc += Disp_B(op);
- break;
- case 0x38: // blbc
- if (!BIT(m_r[Ra(op)], 0))
- m_pc += Disp_B(op);
- break;
- case 0x39: // beq
- if (m_r[Ra(op)] == 0)
- m_pc += Disp_B(op);
- break;
- case 0x3a: // blt
- if (s64(m_r[Ra(op)]) < 0)
- m_pc += Disp_B(op);
- break;
- case 0x3b: // ble
- if (s64(m_r[Ra(op)]) <= 0)
- m_pc += Disp_B(op);
- break;
- case 0x3c: // blbs
- if (BIT(m_r[Ra(op)], 0))
- m_pc += Disp_B(op);
- break;
- case 0x3d: // bne
- if (m_r[Ra(op)] != 0)
- m_pc += Disp_B(op);
- break;
- case 0x3e: // bge
- if (s64(m_r[Ra(op)]) >= 0)
- m_pc += Disp_B(op);
- break;
- case 0x3f: // bgt
- if (s64(m_r[Ra(op)]) > 0)
- m_pc += Disp_B(op);
- break;
- }
-}
-
-u64 alpha_device::zap_mask(u8 const zap_bits)
-{
- u64 mask = 0;
-
- for (unsigned i = 0; i < 8; i++)
- if (!BIT(zap_bits, i))
- mask |= (0xffULL << (i << 3));
-
- return mask;
-}
-
-// transform from f_floating memory to register format
-u64 alpha_device::u32_to_f_floating(u32 const data)
-{
- if (!BIT(data, 14) && (data & 0x00003f80UL))
- return
- (u64(data & 0x0000c000UL) << 48) |
- (u64(7) << 61) |
- (u64(data & 0x00003fffUL) << 45) |
- (u64(data & 0xffff0000UL) << 13);
- else
- return
- (u64(data & 0x0000c000UL) << 48) |
- (u64(data & 0x00003fffUL) << 45) |
- (u64(data & 0xffff0000UL) << 13);
-}
-
-// transform from f_floating register to memory format
-u32 alpha_device::f_floating_to_u32(u64 const data)
-{
- return
- (u32(data >> 48) & 0x0000c000UL) |
- (u32(data >> 45) & 0x00003fffUL) |
- (u32(data >> 13) & 0xffff0000UL);
-}
-
-// transform between g_floating register and memory format
-u64 alpha_device::u64_to_g_floating(u64 const data)
-{
- return
- ((data & 0x00000000'0000ffffULL) << 48) |
- ((data & 0x00000000'ffff0000ULL) << 16) |
- ((data & 0x0000ffff'00000000ULL) >> 16) |
- ((data & 0xffff0000'00000000ULL) >> 48);
-}
-
-bool alpha_ev4_device::cpu_translate(u64 &address, int intention)
-{
- // trim virtual address to 43 bits
- address &= 0x7ff'ffffffff;
-
- if (intention & TRANSLATE_FETCH)
- {
- // instruction superpage mapping
- if ((m_ibx[IBX_ICCSR] & IBX_ICCSR_R_MAP) && !(m_ibx[IBX_PS] & IBX_PS_R_CM) && (address >> 41) == 2)
- {
- address &= 0x3'ffffffff;
-
- return true;
- }
- }
- else
- {
- // data superpage 1 mapping
- if ((m_abx[ABX_ABOX_CTL] & ABX_ABOX_CTL_SPE_1) && !(m_ibx[IBX_PS] & IBX_PS_R_CM) && (address >> 30) == 0x1ffe)
- {
- address &= 0x3fffffff;
-
- return true;
- }
-
- // data superpage 2 mapping
- if ((m_abx[ABX_ABOX_CTL] & ABX_ABOX_CTL_SPE_2) && !(m_ibx[IBX_PS] & IBX_PS_R_CM) && (address >> 41) == 2)
- {
- address &= 0x3'ffffffff;
-
- return true;
- }
- }
-
- return true;
-}
-
-template <typename T, typename U> std::enable_if_t<std::is_convertible<U, std::function<void(T)>>::value, void> alpha_device::load(u64 address, U &&apply)
-{
- cpu_translate(address, TRANSLATE_READ);
-
- unsigned const s = (address >> 31) & 6;
-
- switch (sizeof(T))
- {
- case 1: apply(T(space(s).read_byte(address))); break;
- case 2: apply(T(space(s).read_word(address))); break;
- case 4: apply(T(space(s).read_dword(address))); break;
- case 8: apply(T(space(s).read_qword(address))); break;
- }
-}
-
-template <typename T, typename U> std::enable_if_t<std::is_convertible<U, std::function<void(address_space &, u64, T)>>::value, void> alpha_device::load_l(u64 address, U &&apply)
-{
- cpu_translate(address, TRANSLATE_READ);
-
- unsigned const s = (address >> 31) & 6;
-
- switch (sizeof(T))
- {
- case 4: apply(space(s), address, T(space(s).read_dword(address))); break;
- case 8: apply(space(s), address, T(space(s).read_qword(address))); break;
- }
-}
-
-template <typename T, typename U> std::enable_if_t<std::is_convertible<U, T>::value, void> alpha_device::store(u64 address, U data, T mem_mask)
-{
- cpu_translate(address, TRANSLATE_WRITE);
-
- unsigned const s = (address >> 31) & 6;
-
- switch (sizeof(T))
- {
- case 1: space(s).write_byte(address, T(data)); break;
- case 2: space(s).write_word(address, T(data), mem_mask); break;
- case 4: space(s).write_dword(address, T(data), mem_mask); break;
- case 8: space(s).write_qword(address, T(data), mem_mask); break;
- }
-}
-
-void alpha_device::fetch(u64 address, std::function<void(u32)> &&apply)
-{
- cpu_translate(address, TRANSLATE_FETCH);
-
- apply(icache_fetch(address));
-}
-
-u32 alpha_device::read_srom(unsigned const bits)
-{
- u32 data = 0;
-
- for (unsigned i = 0; i < bits; i++)
- if (m_srom_data_cb())
- data |= (1U << i);
-
- return data;
-}
-
-void alpha_ev4_device::device_start()
-{
- alpha_device::device_start();
-
- save_item(NAME(m_ibx));
- save_item(NAME(m_abx));
- save_item(NAME(m_pt));
-}
-
-void alpha_ev4_device::device_reset()
-{
- alpha_device::device_reset();
-
- m_ibx[IBX_ICCSR] = IBX_ICCSR_R_PC0 | IBX_ICCSR_R_PC1; // FIXME: ASN
- m_ibx[IBX_PAL_BASE] = 0;
-
- m_abx[ABX_ABOX_CTL] = 0;
- m_abx[ABX_BIU_CTL] = 0;
-}
-
-void alpha_ev4_device::cpu_execute(u32 const op)
-{
- switch (op >> 26)
- {
- case 0x00: // call_pal
- {
- u16 offset = CALL_PAL | ((op & 0x3f) << 6);
- if (op & 0x80)
- {
- // unprivileged
- if (op & CALL_PAL_MASK)
- offset = OPCDEC;
- else
- offset |= 0x1000;
- }
- else
- {
- // privileged
- if ((op & CALL_PAL_MASK) || (m_ibx[IBX_PS] & IBX_PS_R_CM))
- offset = OPCDEC;
- }
-
- m_ibx[IBX_EXC_ADDR] = m_pc;
- if (m_pal_mode)
- m_ibx[IBX_EXC_ADDR] |= 1;
-
- m_pal_mode = true;
- m_pc = m_ibx[IBX_PAL_BASE] | offset;
- }
- break;
-
- case 0x19: // hw_mfpr
- if (op & 0x20)
- m_r[Ra(op)] = ibx_get(Rc(op));
- if (op & 0x40)
- m_r[Ra(op)] = abx_get(Rc(op));
- if (op & 0x80)
- m_r[Ra(op)] = m_pt[Rc(op)];
- break;
-
- case 0x1d: // hw_mtpr
- if (op & 0x20)
- ibx_set(Rc(op), m_r[Ra(op)]);
- if (op & 0x40)
- abx_set(Rc(op), m_r[Ra(op)]);
- if (op & 0x80)
- m_pt[Rc(op)] = m_r[Ra(op)];
- break;
- case 0x1e: // hw_rei
- m_pc = m_ibx[IBX_EXC_ADDR] & ~3;
- m_pal_mode = BIT(m_ibx[IBX_EXC_ADDR], 0);
-
- if (m_lock_watch)
- {
- m_lock_watch->remove();
- m_lock_watch = nullptr;
- }
- break;
-
- default:
- alpha_device::cpu_execute(op);
- break;
- }
-}
-
-u64 alpha_ev4_device::ibx_get(u8 reg)
-{
- switch (ibx_reg(reg))
- {
- // PALmode only
- case IBX_ITB_PTE:
- case IBX_ITB_PTE_TEMP:
- if (m_pal_mode)
- return m_ibx[reg];
- else
- return 0;
-
- case IBX_ICCSR:
- case IBX_EXC_ADDR:
- case IBX_SL_RCV:
- case IBX_PS:
- case IBX_EXC_SUM:
- case IBX_PAL_BASE:
- case IBX_HIRR:
- case IBX_SIRR:
- case IBX_ASTRR:
- case IBX_HIER:
- case IBX_SIER:
- case IBX_ASTER:
- return m_ibx[reg];
-
- default:
- logerror("invalid mfpr/i register %d (%s)\n", reg, machine().describe_context());
- return 0;
- }
-}
-
-#define IBX_SET(Reg, Field) if (data & IBX_##Reg##_W_##Field) m_ibx[reg] |= IBX_##Reg##_R_##Field
-#define IBX_SHL(Reg, Field, Shift) m_ibx[reg] |= (data & IBX_##Reg##_W_##Field) << Shift
-#define IBX_SHR(Reg, Field, Shift) m_ibx[reg] |= (data & IBX_##Reg##_W_##Field) >> Shift
-
-void alpha_ev4_device::ibx_set(u8 reg, u64 data)
-{
- switch (ibx_reg(reg))
- {
- // PALmode only
- case IBX_TB_TAG:
- case IBX_ITB_PTE:
- case IBX_ITBZAP:
- case IBX_ITBASM:
- case IBX_ITBIS:
- if (m_pal_mode)
- {
- m_ibx[reg] = data;
- return;
- }
- break;
-
- case IBX_EXC_ADDR:
- case IBX_EXC_SUM:
- case IBX_SIRR:
- case IBX_ASTRR:
- case IBX_HIER:
- case IBX_SIER:
- case IBX_ASTER:
- case IBX_SL_CLR:
- case IBX_SL_XMIT:
- m_ibx[reg] = data;
- return;
-
- case IBX_ICCSR:
- m_ibx[reg] = data & IBX_ICCSR_R_PCE;
- IBX_SET(ICCSR, PC1);
- IBX_SET(ICCSR, PC0);
- IBX_SHL(ICCSR, PCMUX0, 1);
- IBX_SHR(ICCSR, GRP1, 19);
- IBX_SHR(ICCSR, ASN, 19);
- return;
-
- case IBX_PS:
- m_ibx[reg] = 0;
- IBX_SET(PS, CM0);
- IBX_SET(PS, CM1);
- return;
-
- case IBX_PAL_BASE:
- m_ibx[reg] = data & IBX_PAL_BASE_W;
- return;
-
- default:
- logerror("invalid mtpr/i register %d (%s)\n", reg, machine().describe_context());
- break;
- }
-}
-
-u64 alpha_ev4_device::abx_get(u8 reg)
-{
- switch (abx_reg(reg))
- {
- case ABX_DTB_PTE:
- case ABX_DTB_PTE_TEMP:
- case ABX_MM_CSR:
- case ABX_VA:
- case ABX_BIU_ADDR:
- case ABX_BIU_STAT:
- case ABX_DC_STAT:
- case ABX_FILL_ADDR:
- return m_abx[reg];
-
- default:
- logerror("invalid mfpr/a register %d (%s)\n", reg, machine().describe_context());
- return 0;
- }
-}
-
-void alpha_ev4_device::abx_set(u8 reg, u64 data)
-{
- switch (abx_reg(reg))
- {
- case ABX_TB_CTL:
- case ABX_DTB_PTE:
- case ABX_DTBZAP:
- case ABX_DTBASM:
- case ABX_DTBIS:
- case ABX_ABOX_CTL:
- case ABX_ALT_MODE:
- case ABX_CC:
- case ABX_CC_CTL:
- case ABX_BIU_CTL:
- case ABX_FILL_SYNDROME:
- case ABX_BC_TAG:
- case ABX_FLUSH_IC:
- case ABX_FLUSH_IC_ASM:
- m_abx[reg] = data;
- return;
-
- default:
- logerror("invalid mtpr/a register %d (%s)\n", reg, machine().describe_context());
- break;
- }
-}
-
-void dec_21064_device::device_reset()
-{
- alpha_ev4_device::device_reset();
-
- m_srom_oe_cb(0);
-
- // load icache from srom
- for (icache_block &block : m_icache)
- {
- block.lw[0] = read_srom(32);
- block.lw[2] = read_srom(32);
- block.lw[4] = read_srom(32);
- block.lw[6] = read_srom(32);
-
- block.tag = read_srom(21);
- block.aav = read_srom(8);
-
- block.lw[1] = read_srom(32);
- block.lw[3] = read_srom(32);
- block.lw[5] = read_srom(32);
- block.lw[7] = read_srom(32);
-
- block.bht = read_srom(8);
- }
-
- m_srom_oe_cb(1);
-}
-
-u32 dec_21064_device::icache_fetch(u64 const address)
-{
- icache_block &block = m_icache[(address >> 5) & 0xff];
-
- // check tag, valid, and asm or asn
- if ((block.tag != (address >> 13)) || !(block.aav & AAV_V) || (!(block.aav & AAV_ASM) && ((block.aav & AAV_ASN) != (((m_ibx[IBX_ICCSR] & IBX_ICCSR_R_ASN) >> 28)))))
- {
- // fetch a new block
- block.tag = address >> 13;
- block.aav = AAV_V | ((m_ibx[IBX_ICCSR] & IBX_ICCSR_R_ASN) >> 28); // TODO: set ASM depending on PTE
-
- // always set ASM if istream superpage mapping is enabled
- if (m_ibx[IBX_ICCSR] & IBX_ICCSR_R_MAP)
- block.aav |= AAV_ASM;
-
- address_space &s = space((address >> 31) & 6);
- for (unsigned i = 0; i < 8; i++)
- block.lw[i] = s.read_dword(address | (i << 2));
- }
-
- return block.lw[(address >> 2) & 7];
-}
diff --git a/src/devices/cpu/alpha/alpha.h b/src/devices/cpu/alpha/alpha.h
deleted file mode 100644
index ac1f5e60e2f..00000000000
--- a/src/devices/cpu/alpha/alpha.h
+++ /dev/null
@@ -1,284 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Patrick Mackinlay
-
-#ifndef MAME_CPU_ALPHA_ALPHA_H
-#define MAME_CPU_ALPHA_ALPHA_H
-
-#pragma once
-
-#include "alphad.h"
-
-class alpha_device : public cpu_device
-{
-public:
- void set_dasm_type(alpha_disassembler::dasm_type type) { m_dasm_type = type; }
-
- // input/output lines
- auto srom_oe_w() { return m_srom_oe_cb.bind(); }
- auto srom_data_r() { return m_srom_data_cb.bind(); }
-
-protected:
- alpha_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock);
-
- // device_t overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
- // device_execute_interface overrides
- virtual u32 execute_min_cycles() const override { return 1; }
- virtual u32 execute_max_cycles() const override { return 1; }
- virtual void execute_run() override;
- virtual void execute_set_input(int inputnum, int state) override;
-
- // device_memory_interface overrides
- virtual space_config_vector memory_space_config() const override;
- virtual bool memory_translate(int spacenum, int intention, offs_t &address) override;
-
- // device_disasm_interface overrides
- virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
-
- virtual void cpu_execute(u32 const op);
- virtual bool cpu_translate(u64 &address, int intention) { return false; }
-
- // execution helpers
- static u64 zap_mask(u8 const zap_bits);
- static u64 u64_to_g_floating(u64 const data);
- static u64 u32_to_f_floating(u32 const data);
- static u32 f_floating_to_u32(u64 const data);
-
- // memory access helpers
- template <typename T, typename U> std::enable_if_t<std::is_convertible<U, std::function<void(T)>>::value, void> load(u64 address, U &&apply);
- template <typename T, typename U> std::enable_if_t<std::is_convertible<U, std::function<void(address_space &, u64, T)>>::value, void> load_l(u64 address, U &&apply);
- template <typename T, typename U> std::enable_if_t<std::is_convertible<U, T>::value, void> store(u64 address, U data, T mem_mask = ~T(0));
- void fetch(u64 address, std::function<void(u32)> &&apply);
-
- // cache helpers
- u32 read_srom(unsigned const bits);
- virtual u32 icache_fetch(u64 const address) = 0;
-
- // configuration
- alpha_disassembler::dasm_type m_dasm_type;
- address_space_config m_as_config[4];
- devcb_write_line m_srom_oe_cb;
- devcb_read_line m_srom_data_cb;
-
- // emulation state
- int m_icount;
-
- u64 m_pc;
- u64 m_r[32];
- u64 m_f[32];
-
- bool m_pal_mode;
- memory_passthrough_handler *m_lock_watch;
-};
-
-class alpha_ev4_device : public alpha_device
-{
-public:
- alpha_ev4_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock);
-
-protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
- // device_execute_interface overrides
- virtual u32 execute_input_lines() const override { return 6; }
-
- virtual void cpu_execute(u32 const op) override;
- virtual bool cpu_translate(u64 &address, int intention) override;
-
- enum ibx_reg : unsigned
- {
- IBX_TB_TAG = 0, // w, PALmode only
- IBX_ITB_PTE = 1, // r/w, PALmode only
- IBX_ICCSR = 2, // r/w
- IBX_ITB_PTE_TEMP = 3, // r, PALmode only
- IBX_EXC_ADDR = 4, // r/w
- IBX_SL_RCV = 5, // r
- IBX_ITBZAP = 6, // w, PALmode only
- IBX_ITBASM = 7, // w, PALmode only
- IBX_ITBIS = 8, // w, PALmode only
- IBX_PS = 9, // r/w
- IBX_EXC_SUM = 10, // r/w
- IBX_PAL_BASE = 11, // r/w
- IBX_HIRR = 12, // r
- IBX_SIRR = 13, // r/w
- IBX_ASTRR = 14, // r/w
- IBX_HIER = 16, // r/w
- IBX_SIER = 17, // r/w
- IBX_ASTER = 18, // r/w
- IBX_SL_CLR = 19, // w
- IBX_SL_XMIT = 22, // w
- };
-
- enum ibx_itb_pte_mask : u64
- {
- IBX_ITB_PTE_W_ASM = 0x00000000'00000010, // address space match
- IBX_ITB_PTE_W_KRE = 0x00000000'00000100, // kernel read-enable
- IBX_ITB_PTE_W_ERE = 0x00000000'00000200, // executive read-enable
- IBX_ITB_PTE_W_SRE = 0x00000000'00000400, // supervisor read-enable
- IBX_ITB_PTE_W_URE = 0x00000000'00000800, // user read-enable
- IBX_ITB_PTE_W_PFN = 0x001fffff'00000000, // page frame number
-
- IBX_ITB_PTE_R_KRE = 0x00000000'00000200, // kernel read-enable
- IBX_ITB_PTE_R_ERE = 0x00000000'00000400, // executive read-enable
- IBX_ITB_PTE_R_SRE = 0x00000000'00000800, // supervisor read-enable
- IBX_ITB_PTE_R_URE = 0x00000000'00001000, // user read-enable
- IBX_ITB_PTE_R_PFN = 0x00000003'ffffe000, // page frame number
- IBX_ITB_PTE_R_ASM = 0x00000004'00000000, // address space match
- };
- enum ibx_iccsr_mask : u64
- {
- IBX_ICCSR_W_PC1 = 0x00000000'00000001, // performance counter 1 interrupt enable
- IBX_ICCSR_W_PC0 = 0x00000000'00000008, // performance counter 0 interrupt enable
- IBX_ICCSR_W_PCMUX0 = 0x00000000'00000f00,
- IBX_ICCSR_W_PCMUX1 = 0x00000007'00000000,
- IBX_ICCSR_W_PIPE = 0x00000008'00000000, // pipeline enable
- IBX_ICCSR_W_BPE = 0x00000010'00000000,
- IBX_ICCSR_W_JSE = 0x00000020'00000000, // jsr stack enable
- IBX_ICCSR_W_BHE = 0x00000040'00000000,
- IBX_ICCSR_W_DI = 0x00000080'00000000, // dual issue enable
- IBX_ICCSR_W_HWE = 0x00000100'00000000, // hardware mode enable
- IBX_ICCSR_W_MAP = 0x00000200'00000000, // i-stream superpage enable
- IBX_ICCSR_W_FPE = 0x00000400'00000000, // floating-point enable
- IBX_ICCSR_W_PCE = 0x00003000'00000000, // performance counter enable
- IBX_ICCSR_W_ASN = 0x001f8000'00000000, // address space number
-
- IBX_ICCSR_R_PC0 = 0x00000000'00000002, // performance counter 0 interrupt enable
- IBX_ICCSR_R_PC1 = 0x00000000'00000004, // performance counter 1 interrupt enable
- IBX_ICCSR_R_PCMUX0 = 0x00000000'00001e00,
- IBX_ICCSR_R_PCMUX1 = 0x00000000'0000e000,
- IBX_ICCSR_R_PIPE = 0x00000000'00010000, // pipeline enable
- IBX_ICCSR_R_BPE = 0x00000000'00020000,
- IBX_ICCSR_R_JSE = 0x00000000'00040000, // jsr stack enable
- IBX_ICCSR_R_BHE = 0x00000000'00080000,
- IBX_ICCSR_R_DI = 0x00000000'00100000, // dual issue enable
- IBX_ICCSR_R_HWE = 0x00000000'00200000, // hardware mode enable
- IBX_ICCSR_R_MAP = 0x00000000'00400000, // i-stream superpage enable
- IBX_ICCSR_R_FPE = 0x00000000'00800000, // floating-point enable
- IBX_ICCSR_R_ASN = 0x00000003'f0000000, // address space number
- IBX_ICCSR_R_PCE = 0x00003000'00000000, // performance counter enable
-
- IBX_ICCSR_W_GRP1 = 0x000007ff'00000000,
- };
- enum ibx_ps_mask : u64
- {
- IBX_PS_R_CM0 = 0x00000000'00000001,
- IBX_PS_R_CM1 = 0x00000004'00000000,
- IBX_PS_R_CM = 0x00000004'00000001,
-
- IBX_PS_W_CM0 = 0x00000000'00000008,
- IBX_PS_W_CM1 = 0x00000000'00000010,
- };
- enum ibx_pal_base_mask : u64
- {
- IBX_PAL_BASE_W = 0x00000003'ffffc000,
- };
-
- enum abx_reg : unsigned
- {
- ABX_TB_CTL = 0, // w
- ABX_DTB_PTE = 2, // r/w
- ABX_DTB_PTE_TEMP = 3, // r
- ABX_MM_CSR = 4, // r
- ABX_VA = 5, // r
- ABX_DTBZAP = 6, // w
- ABX_DTBASM = 7, // w
- ABX_DTBIS = 8, // w
- ABX_BIU_ADDR = 9, // r
- ABX_BIU_STAT = 10, // r
- ABX_DC_STAT = 12, // r
- ABX_FILL_ADDR = 13, // r
- ABX_ABOX_CTL = 14, // w
- ABX_ALT_MODE = 15, // w
- ABX_CC = 16, // w
- ABX_CC_CTL = 17, // w
- ABX_BIU_CTL = 18, // w
- ABX_FILL_SYNDROME = 19, // w
- ABX_BC_TAG = 20, // w
- ABX_FLUSH_IC = 21, // w
- ABX_FLUSH_IC_ASM = 23, // w
- };
-
- enum abx_abox_ctl_mask : u64
- {
- ABX_ABOX_CTL_WB_DIS = 0x0001, // write buffer unload disable
- ABX_ABOX_CTL_MCHK_EN = 0x0002, // machine check enable
- ABX_ABOX_CTL_CRD_EN = 0x0004, // corrected read data interrupt enable
- ABX_ABOX_CTL_IC_SBUF_EN = 0x0008, // icache stream buffer enable
- ABX_ABOX_CTL_SPE_1 = 0x0010, // super page enable 1
- ABX_ABOX_CTL_SPE_2 = 0x0020, // super page enable 2
- ABX_ABOX_CTL_EMD_EN = 0x0040, // big-endian mode enable
- ABX_ABOX_CTL_STC_NORESULT = 0x0080, //
- ABX_ABOX_CTL_NCACHE_NDISTURB = 0x0100, //
- ABX_ABOX_CTL_DTB_RR = 0x0200, // dtb round-robin replacement
- ABX_ABOX_CTL_DC_ENA = 0x0400, // dcache enable
- ABX_ABOX_CTL_DC_FHIT = 0x0800, // dcache force hit
- ABX_ABOX_CTL_DC_16K = 0x1000, // select 16K dcache (21064A only)
- ABX_ABOX_CTL_F_TAG_ERR = 0x2000, // generate bad dcache tag parity (21064A only)
- ABX_ABOX_CTL_NOCHK_PAR = 0x4000, // disable cache parity checks (21064A only)
- ABX_ABOX_CTL_DOUBLE_INVAL = 0x8000, // (21064A only)
- };
-
- enum palcode_entry : u16
- {
- RESET = 0x0000,
- MCHK = 0x0020,
- ARITH = 0x0060,
- INTERRUPT = 0x00e0,
- D_FAULT = 0x01e0,
- ITB_MISS = 0x03e0,
- ITB_ACV = 0x07e0,
- DTB_MISS_NATIVE = 0x08e0,
- DTB_MISS_PAL = 0x09e0,
- UNALIGN = 0x11e0,
- OPCDEC = 0x13e0,
- FEN = 0x17e0,
- CALL_PAL = 0x2000,
- };
- static constexpr u32 CALL_PAL_MASK = 0x03ffff40;
-
- u64 ibx_get(u8 reg);
- void ibx_set(u8 reg, u64 data);
- u64 abx_get(u8 reg);
- void abx_set(u8 reg, u64 data);
-
- u64 m_ibx[32];
- u64 m_abx[32];
- u64 m_pt[32];
-};
-
-class dec_21064_device : public alpha_ev4_device
-{
-public:
- dec_21064_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
-
-protected:
- virtual void device_reset() override;
-
- virtual u32 icache_fetch(u64 const address) override;
-
-private:
- struct icache_block
- {
- u32 lw[8]; // instruction longwords
- u32 tag; // cache tag
- u8 aav; // asn, asm and v fields
- u8 bht; // branch history table
- };
-
- enum aav_mask : u8
- {
- AAV_ASN = 0x3f, // address space number
- AAV_ASM = 0x40, // address space match
- AAV_V = 0x80, // valid
- };
-
- icache_block m_icache[256];
-};
-
-DECLARE_DEVICE_TYPE(DEC_21064, dec_21064_device)
-
-#endif // MAME_CPU_ALPHA_ALPHA_H
diff --git a/src/devices/cpu/alpha/alphad.cpp b/src/devices/cpu/alpha/alphad.cpp
deleted file mode 100644
index 4bd759e53c3..00000000000
--- a/src/devices/cpu/alpha/alphad.cpp
+++ /dev/null
@@ -1,1245 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Patrick Mackinlay
-
-/*
- * TODO
- * - enforce "should be zero" fields
- * - enforce "Ra must be R31"
- * - assembly and register naming preferences
- * - implementation-dependent instructions for EV5 and EV6
- */
-
-#include "emu.h"
-#include "alphad.h"
-#include "common.h"
-
- // instruction formats
-#define OPERATE_RRR(opcode, ra, rb, rc) util::stream_format(stream, "%-10s %s, %s, %s", opcode, R[ra], R[rb], R[rc])
-#define OPERATE_FFF(opcode, ra, rb, rc) util::stream_format(stream, "%-10s %s, %s, %s", opcode, F[ra], F[rb], F[rc])
-#define OPERATE_RIR(opcode, ra, im, rc) util::stream_format(stream, "%-10s %s, #%d, %s", opcode, R[ra], im, R[rc])
-#define OPERATE_RR(opcode, rb, rc) util::stream_format(stream, "%-10s %s, %s", opcode, R[rb], R[rc])
-#define OPERATE_FF(opcode, rb, rc) util::stream_format(stream, "%-10s %s, %s", opcode, F[rb], F[rc])
-#define OPERATE_RF(opcode, ra, rc) util::stream_format(stream, "%-10s %s, %s", opcode, R[ra], F[rc])
-#define OPERATE_FR(opcode, ra, rc) util::stream_format(stream, "%-10s %s, %s", opcode, F[ra], R[rc])
-#define OPERATE_IR(opcode, im, rc) util::stream_format(stream, "%-10s #%d, %s", opcode, im, R[rc])
-#define OPERATE_R(opcode, rc) util::stream_format(stream, "%-10s %s", opcode, R[rc])
-#define OPERATE_F(opcode, rc) util::stream_format(stream, "%-10s %s", opcode, F[rc])
-
-// TODO: verify syntax for multiple register formats
-#define OPERATE_RI(opcode, rb, rc) util::stream_format(stream, "%-10s %s, %s", opcode, R[rb], IBX[rc])
-#define OPERATE_RA(opcode, rb, rc) util::stream_format(stream, "%-10s %s, %s", opcode, R[rb], ABX[rc])
-#define OPERATE_RAI(opcode, rb, rc) util::stream_format(stream, "%-10s %s, %s:%s", opcode, R[rb], ABX[rc], IBX[rc])
-#define OPERATE_RP(opcode, rb, rc) util::stream_format(stream, "%-10s %s, %s", opcode, R[rb], PT[rc])
-#define OPERATE_RPI(opcode, rb, rc) util::stream_format(stream, "%-10s %s, %s:%s", opcode, R[rb], PT[rc], IBX[rc])
-#define OPERATE_RPA(opcode, rb, rc) util::stream_format(stream, "%-10s %s, %s:%s", opcode, R[rb], PT[rc], ABX[rc])
-#define OPERATE_RPAI(opcode, rb, rc) util::stream_format(stream, "%-10s %s, %s:%s:%s", opcode, R[rb], PT[rc], ABX[rc], IBX[rc])
-
-#define MEMORY_R(opcode, ra, disp, rb) util::stream_format(stream, "%-10s %s, %d(%s)", opcode, R[ra], disp, R[rb])
-#define MEMORY_F(opcode, ra, disp, rb) util::stream_format(stream, "%-10s %s, %d(%s)", opcode, F[ra], disp, R[rb])
-#define BRANCH_R(opcode, ra, offset) util::stream_format(stream, "%-10s %s, 0x%x", opcode, R[ra], pc + 4 + offset)
-#define BRANCH_F(opcode, ra, offset) util::stream_format(stream, "%-10s %s, 0x%x", opcode, F[ra], pc + 4 + offset)
-#define BRANCH(opcode, offset) util::stream_format(stream, "%-10s 0x%x", opcode, pc + 4 + offset)
-
-#define JUMP(opcode, ra, rb) util::stream_format(stream, "%-10s %s, (%s)", opcode, R[ra], R[rb])
-
-#define MISC(opcode) util::stream_format(stream, "%-10s", opcode)
-#define MISC_R(opcode, ra) util::stream_format(stream, "%-10s %s", opcode, R[ra])
-#define MISC_M(opcode, rb) util::stream_format(stream, "%-10s (%s)", opcode, R[rb])
-
-#define CALL_PAL(fnc) util::stream_format(stream, "%-10s %s", "call_pal", fnc)
-
-#define RESERVED(opcode) util::stream_format(stream, "%-10s", opcode)
-#define UNKNOWN(type) util::stream_format(stream, "unknown %s", type)
-
-// register names
-const char *const alpha_disassembler::R[] =
-{
- "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7",
- "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15",
- "r16", "r17", "r18", "r19", "r20", "r21", "r22", "r23",
- "r24", "r25", "r26", "r27", "r28", "r29", "r30", "r31"
-};
-
-const char *const alpha_disassembler::F[] =
-{
- "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7",
- "f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15",
- "f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23",
- "f24", "f25", "f26", "f27", "f28", "f29", "f30", "f31"
-};
-
-const char *const alpha_disassembler::PT[] =
-{
- "pt0", "pt1", "pt2", "pt3", "pt4", "pt5", "pt6", "pt7",
- "pt8", "pt9", "pt10", "pt11", "pt12", "pt13", "pt14", "pt15",
- "pt16", "pt17", "pt18", "pt19", "pt20", "pt21", "pt22", "pt23",
- "pt24", "pt25", "pt26", "pt27", "pt28", "pt29", "pt30", "pt31"
-};
-
-// NOTE: ABXn and IBXn are placeholders for undefined/unused registers
-const char *const alpha_disassembler::ABX[] =
-{
- "TB_CTL", "ABX1", "DTB_PTE", "DTB_PTE_TEMP", "MM_CSR", "VA", "DTBZAP", "DTBASM",
- "DTBIS", "BIU_ADDR", "BIU_STAT", "ABX12", "DC_STAT", "FILL_ADDR", "ABOX_CTL", "ALT_MODE",
- "CC", "CC_CTL", "BIU_CTL", "FILL_SYNDROME", "BC_TAG", "FLUSH_IC", "ABX22", "FLUSH_IC_ASM",
- "ABX24", "ABX25", "ABX26", "ABX27", "ABX28", "ABX29", "ABX30", "ABX31"
-};
-
-const char *const alpha_disassembler::IBX[] =
-{
- "TB_TAG", "ITB_PTE", "ICCSR", "ITB_PTE_TEMP", "EXC_ADDR", "SL_RCV", "ITBZAP", "ITBASM",
- "ITBIS", "PS", "EXC_SUM", "PAL_BASE", "HIRR", "SIRR", "ASTRR", "IBX15",
- "HIERR", "SIER", "ASTER", "SL_CLR", "IBX20", "IBX21", "SL_XMIT", "IBX23",
- "IBX24", "IBX25", "IBX26", "IBX27", "IBX28", "IBX29", "IBX30", "IBX31"
-};
-
-offs_t alpha_disassembler::disassemble(std::ostream &stream, offs_t pc, const data_buffer &opcodes, const data_buffer &params)
-{
- offs_t const bytes = 4;
- u32 flags = SUPPORTED;
-
- u32 const instruction = opcodes.r32(pc);
-
- switch (instruction >> 26)
- {
- // pal format
- case 0x00:
- switch (m_dasm_type)
- {
- case TYPE_UNKNOWN:
- switch (instruction & 0x03ffffff)
- {
- case 0x0000: CALL_PAL("halt"); break;
- case 0x0002: CALL_PAL("draina"); break;
- case 0x0086: CALL_PAL("imb"); break;
-
- default: UNKNOWN("call_pal"); break;
- }
- break;
-
- case TYPE_NT:
- switch (instruction & 0x03ffffff)
- {
- // Windows NT unprivileged PALcode
- case 0x0080: CALL_PAL("bpt"); break; // breakpoint trap
- case 0x0083: CALL_PAL("callsys"); break; // call system service
- case 0x0086: CALL_PAL("imb"); break; // instruction memory barrier
- case 0x00aa: CALL_PAL("gentrap"); break; // generate trap
- case 0x00ab: CALL_PAL("rdteb"); break; // read TEB internal processor register
- case 0x00ac: CALL_PAL("kbpt"); break; // kernel breakpoint trap
- case 0x00ad: CALL_PAL("callkd"); break; // call kernel debugger
-
- // Windows NT privileged PALcode
- case 0x0000: CALL_PAL("halt"); break; // trap to illegal instruction
- case 0x0001: CALL_PAL("restart"); break; // restart the processor
- case 0x0002: CALL_PAL("draina"); break; // drain aborts
- case 0x0003: CALL_PAL("reboot"); break; // transfer to console firmware
- case 0x0004: CALL_PAL("initpal"); break; // initialize the PALcode
- case 0x0005: CALL_PAL("wrentry"); break; // write system entry
- case 0x0006: CALL_PAL("swpirql"); break; // swap IRQL
- case 0x0007: CALL_PAL("rdirql"); break; // read current IRQL
- case 0x0008: CALL_PAL("di"); break; // disable interrupts
- case 0x0009: CALL_PAL("ei"); break; // enable interrupts
- case 0x000a: CALL_PAL("swppal"); break; // swap PALcode
- case 0x000c: CALL_PAL("ssir"); break; // set software interrupt request
- case 0x000d: CALL_PAL("csir"); break; // clear software interrupt request
- case 0x000e: CALL_PAL("rfe"); break; // return from exception
- case 0x000f: CALL_PAL("retsys"); break; // return from system service call
- case 0x0010: CALL_PAL("swpctx"); break; // swap privileged thread context
- case 0x0011: CALL_PAL("swpprocess"); break; // swap privileged process context
- case 0x0012: CALL_PAL("rdmces"); break; // read machine check error summary
- case 0x0013: CALL_PAL("wrmces"); break; // write machine check error summary
- case 0x0014: CALL_PAL("tbia"); break; // translation buffer invalidate all
- case 0x0015: CALL_PAL("tbis"); break; // translation buffer invalidate single
- case 0x0016: CALL_PAL("dtbis"); break; // data translation buffer invalidate single
- case 0x0017: CALL_PAL("tbisasn"); break; // translation buffer invalidate single ASN
- case 0x0018: CALL_PAL("rdksp"); break; // read initial kernel stack
- case 0x0019: CALL_PAL("swpksp"); break; // swap initial kernel stack
- case 0x001a: CALL_PAL("rdpsr"); break; // read processor status register
- case 0x001c: CALL_PAL("rdpcr"); break; // read PCR (processor control registers)
- case 0x001e: CALL_PAL("rdthread"); break; // read the current thread value
- case 0x0020: CALL_PAL("wrperfmon"); break; // write performance monitoring values
- case 0x0030: CALL_PAL("rdcounters"); break; // read PALcode event counters
- case 0x0031: CALL_PAL("rdstate"); break; // read internal processor state
-
- default: UNKNOWN("call_pal"); break;
- }
- break;
-
- case TYPE_UNIX:
- switch (instruction & 0x03ffffff)
- {
- // Digital UNIX unprivileged PALcode
- case 0x0080: CALL_PAL("bpt"); break; // breakpoint trap
- case 0x0081: CALL_PAL("bugchk"); break; // bugcheck
- case 0x0083: CALL_PAL("callsys"); break; // system call
- case 0x0086: CALL_PAL("imb"); break; // i-stream memory barrier
- case 0x0092: CALL_PAL("urti"); break; // return from user mode trap
- case 0x009e: CALL_PAL("rdunique"); break; // read unique value
- case 0x009f: CALL_PAL("wrunique"); break; // write unique value
- case 0x00aa: CALL_PAL("gentrap"); break; // generate software trap
- case 0x00ae: CALL_PAL("clrfen"); break; // clear floating-point enable
-
- // Digital UNIX privileged PALcode
- case 0x0000: CALL_PAL("halt"); break; // halt the processor
- case 0x0001: CALL_PAL("cflush"); break; // cache flush
- case 0x0002: CALL_PAL("draina"); break; // drain aborts
- case 0x0009: CALL_PAL("cserve"); break; // console service
- case 0x000a: CALL_PAL("swppal"); break; // swap PALcode image
- case 0x000d: CALL_PAL("wripir"); break; // write interprocessor interrupt request
- case 0x0010: CALL_PAL("rdmces"); break; // read machine check error summary register
- case 0x0011: CALL_PAL("wrmces"); break; // write machine check error summary register
- case 0x002b: CALL_PAL("wrfen"); break; // write floating-point enable
- case 0x002d: CALL_PAL("wrvptptr"); break; // write virtual page table pointer
- case 0x0030: CALL_PAL("swpctx"); break; // swap privileged context
- case 0x0031: CALL_PAL("wrval"); break; // write system value
- case 0x0032: CALL_PAL("rdval"); break; // read system value
- case 0x0033: CALL_PAL("tbi"); break; // translation buffer invalidate
- case 0x0034: CALL_PAL("wrent"); break; // write system entry address
- case 0x0035: CALL_PAL("swpipl"); break; // swap interrupt priority level
- case 0x0036: CALL_PAL("rdps"); break; // read processor status
- case 0x0037: CALL_PAL("wrkgp"); break; // write kernel global pointer
- case 0x0038: CALL_PAL("wrusp"); break; // write user stack pointer
- case 0x0039: CALL_PAL("wrperfmon"); break; // performance monitoring function
- case 0x003a: CALL_PAL("rdusp"); break; // read user stack pointer
- case 0x003c: CALL_PAL("whami"); break; // who am I
- case 0x003d: CALL_PAL("retsys"); break; // return from system call
- case 0x003e: CALL_PAL("wtint"); break; // wait for interrupt
- case 0x003f: CALL_PAL("rti"); break; // return from trap or interrupt
-
- default: UNKNOWN("call_pal"); break;
- }
- break;
-
- case TYPE_VMS:
- switch (instruction & 0x03ffffff)
- {
- // OpenVMS unprivileged PALcode
- case 0x0080: CALL_PAL("bpt"); break; // breakpoint
- case 0x0081: CALL_PAL("bugchk"); break; // bugcheck
- case 0x0082: CALL_PAL("chme"); break; // change mode to executive
- case 0x0083: CALL_PAL("chmk"); break; // change mode to kernel
- case 0x0084: CALL_PAL("chms"); break; // change mode to supervisor
- case 0x0085: CALL_PAL("chmu"); break; // change mode to user
- case 0x0086: CALL_PAL("imb"); break; // i-stream memory barrier
- case 0x0087: CALL_PAL("insqhil"); break; // insert into longword queue at head interlocked
- case 0x0088: CALL_PAL("insqtil"); break; // insert into longword queue at tail interlocked
- case 0x0089: CALL_PAL("insqhiq"); break; // insert into quadword queue at head interlocked
- case 0x008a: CALL_PAL("insqtiq"); break; // insert into quadword queue at tail interlocked
- case 0x008b: CALL_PAL("insquel"); break; // insert entry into longword queue
- case 0x008c: CALL_PAL("insqueq"); break; // insert entry into quadword queue
- case 0x008d: CALL_PAL("insquel/d"); break; // insert entry into longword queue deferred
- case 0x008e: CALL_PAL("insqueq/d"); break; // insert entry into quadword queue deferred
- case 0x008f: CALL_PAL("prober"); break; // probe for read access
- case 0x0090: CALL_PAL("probew"); break; // probe for write access
- case 0x0091: CALL_PAL("rd_ps"); break; // move processor status
- case 0x0092: CALL_PAL("rei"); break; // return from exception or interrupt
- case 0x0093: CALL_PAL("remqhil"); break; // remove from longword queue at head interlocked
- case 0x0094: CALL_PAL("remqtil"); break; // remove from longword queue at tail interlocked
- case 0x0095: CALL_PAL("remqhiq"); break; // remove from quadword queue at head interlocked
- case 0x0096: CALL_PAL("remqtiq"); break; // remove from quadword queue at tail interlocked
- case 0x0097: CALL_PAL("remquel"); break; // remove entry from longword queue
- case 0x0098: CALL_PAL("remqueq"); break; // remove entry from quadword queue
- case 0x0099: CALL_PAL("remquel/d"); break; // remove entry from longword queue deferred
- case 0x009a: CALL_PAL("remqueq/d"); break; // remove entry from quadword queue deferred
- case 0x009b: CALL_PAL("swasten"); break; // swap AST enable for current mode
- case 0x009c: CALL_PAL("wr_ps_sw"); break; // write processor status software field
- case 0x009d: CALL_PAL("rscc"); break; // read system cycle counter
- case 0x009e: CALL_PAL("read_unq"); break; // read unique context
- case 0x009f: CALL_PAL("write_unq"); break; // write unique context
- case 0x00a0: CALL_PAL("amovrr"); break; // atomic move from register to register
- case 0x00a1: CALL_PAL("amovrm"); break; // atomic move from register to memory
- case 0x00a2: CALL_PAL("insqhilr"); break; // insert into longword queue at head interlocked resident
- case 0x00a3: CALL_PAL("insqtilr"); break; // insert into longword queue at tail interlocked resident
- case 0x00a4: CALL_PAL("insqhiqr"); break; // insert into quadword queue at head interlocked resident
- case 0x00a5: CALL_PAL("insqtiqr"); break; // insert into quadword queue at tail interlocked resident
- case 0x00a6: CALL_PAL("remqhilr"); break; // remove from longword queue at head interlocked resident
- case 0x00a7: CALL_PAL("remqtilr"); break; // remove from longword queue at tail interlocked resident
- case 0x00a8: CALL_PAL("remqhiqr"); break; // remove from quadword queue at head interlocked resident
- case 0x00a9: CALL_PAL("remqtiqr"); break; // remove from quadword queue at tail interlocked resident
- case 0x00aa: CALL_PAL("gentrap"); break; // generate software trap
- case 0x00ae: CALL_PAL("clrfen"); break; // clear floating-point enable
-
- // OpenVMS privileged PALcode
- case 0x0000: CALL_PAL("halt"); break; // halt processor
- case 0x0001: CALL_PAL("cflush"); break; // cache flush
- case 0x0002: CALL_PAL("draina"); break; // drain aborts
- case 0x0003: CALL_PAL("ldqp"); break; // load quadword physical
- case 0x0004: CALL_PAL("stqp"); break; // store quadword physical
- case 0x0005: CALL_PAL("swpctx"); break; // swap privileged context
- case 0x0006: CALL_PAL("mfpr_asn"); break; // move from processor register ASN
- case 0x0009: CALL_PAL("cserve"); break; // console service
- case 0x000a: CALL_PAL("swppal"); break; // swap PALcode image
- case 0x000b: CALL_PAL("mfpr_fen"); break; // move from processor register FEN
- case 0x000c: CALL_PAL("mtpr_fen"); break; // move to processor register FEN
- case 0x000d: CALL_PAL("mtpr_ipir"); break; // move to processor register IPRI
- case 0x000e: CALL_PAL("mfpr_ipl"); break; // move from processor register IPL
- case 0x000f: CALL_PAL("mtpr_ipl"); break; // move to processor register IPL
- case 0x0010: CALL_PAL("mfpr_mces"); break; // move from processor register MCES
- case 0x0011: CALL_PAL("mtpr_mces"); break; // move to processor register MCES
- case 0x0012: CALL_PAL("mfpr_pcbb"); break; // move from processor register PCBB
- case 0x0013: CALL_PAL("mfpr_prbr"); break; // move from processor register PRBR
- case 0x0014: CALL_PAL("mtpr_prbr"); break; // move to processor register PRBR
- case 0x0015: CALL_PAL("mfpr_ptbr"); break; // move from processor register PTBR
- case 0x0016: CALL_PAL("mfpr_scbb"); break; // move from processor register SCBB
- case 0x0017: CALL_PAL("mtpr_scbb"); break; // move to processor register SCBB
- case 0x0018: CALL_PAL("mtpr_sirr"); break; // move to processor register SIRR
- case 0x0019: CALL_PAL("mfpr_sisr"); break; // move from processor register SISR
- case 0x001a: CALL_PAL("mfpr_tbchk"); break; // move from processor register TBCHK
- case 0x001b: CALL_PAL("mtpr_tbia"); break; // move to processor register TBIA
- case 0x001c: CALL_PAL("mtpr_tbiap"); break; // move to processor register TBIAP
- case 0x001d: CALL_PAL("mtpr_tbis"); break; // move to processor register TBIS
- case 0x001e: CALL_PAL("mfpr_esp"); break; // move from processor register ESP
- case 0x001f: CALL_PAL("mtpr_esp"); break; // move to processor register ESP
- case 0x0020: CALL_PAL("mfpr_ssp"); break; // move from processor register SSP
- case 0x0021: CALL_PAL("mtpr_ssp"); break; // move to processor register SSP
- case 0x0022: CALL_PAL("mfpr_usp"); break; // move from processor register USP
- case 0x0023: CALL_PAL("mtpr_usp"); break; // move to processor register USP
- case 0x0024: CALL_PAL("mtpr_tbisd"); break; // move to processor register TBISD
- case 0x0025: CALL_PAL("mtpr_tbisi"); break; // move to processor register TBISI
- case 0x0026: CALL_PAL("mtpr_asten"); break; // move to processor register ASTEN
- case 0x0027: CALL_PAL("mtpr_astsr"); break; // move to processor register ASTSR
- case 0x0029: CALL_PAL("mfpr_vptb"); break; // move from processor register VPTB
- case 0x002a: CALL_PAL("mtpr_vptb"); break; // move to processor register VPTB
- case 0x002b: CALL_PAL("mtpr_perfmon"); break; // move to processor register PERFMON
- case 0x002e: CALL_PAL("mtpr_datfx"); break; // move to processor register DATFX
- case 0x003e: CALL_PAL("wtint"); break; // wait for interrupt
- case 0x003f: CALL_PAL("mfpr_whami"); break; // move from processor register WHAMI
-
- default: UNKNOWN("call_pal"); break;
- }
- break;
- }
- break;
-
- // reserved opcodes
- case 0x01: RESERVED("opc01"); break; // OPC01
- case 0x02: RESERVED("opc02"); break; // OPC02
- case 0x03: RESERVED("opc03"); break; // OPC03
- case 0x04: RESERVED("opc04"); break; // OPC04
- case 0x05: RESERVED("opc05"); break; // OPC05
- case 0x06: RESERVED("opc06"); break; // OPC06
- case 0x07: RESERVED("opc07"); break; // OPC07
-
- // memory format
- case 0x08:
- if (Rb(instruction) == 31)
- OPERATE_IR("mov", Disp_M(instruction), Ra(instruction));
- else
- MEMORY_R("lda", Ra(instruction), Disp_M(instruction), Rb(instruction)); // LDA
- break;
- case 0x09: MEMORY_R("ldah", Ra(instruction), Disp_M(instruction), Rb(instruction)); break; // LDAH
- case 0x0a: MEMORY_R("ldbu", Ra(instruction), Disp_M(instruction), Rb(instruction)); break; // LDBU (BWX)
- case 0x0b:
- if (Ra(instruction) == 31 && Disp_M(instruction) == 0)
- MISC("unop");
- else
- MEMORY_R("ldq_u", Ra(instruction), Disp_M(instruction), Rb(instruction)); // LDQ_U
- break;
- case 0x0c: MEMORY_R("ldwu", Ra(instruction), Disp_M(instruction), Rb(instruction)); break; // LDWU (BWX)
- case 0x0d: MEMORY_R("stw", Ra(instruction), Disp_M(instruction), Rb(instruction)); break; // STW (BWX)
- case 0x0e: MEMORY_R("stb", Ra(instruction), Disp_M(instruction), Rb(instruction)); break; // STB (BWX)
- case 0x0f: MEMORY_R("stq_u", Ra(instruction), Disp_M(instruction), Rb(instruction)); break; // STQ_U
-
- // operate format
- case 0x10: // INTA* (integer arithmetic)
- switch ((instruction >> 5) & 0xff)
- {
- // register variants
- case 0x00:
- if (Ra(instruction) == 31)
- OPERATE_RR("sextl", Rb(instruction), Rc(instruction));
- else
- OPERATE_RRR("addl", Ra(instruction), Rb(instruction), Rc(instruction)); // ADDL
- break;
- case 0x02: OPERATE_RRR("s4addl", Ra(instruction), Rb(instruction), Rc(instruction)); break; // S4ADDL
- case 0x09:
- if (Ra(instruction) == 31)
- OPERATE_RR("negl", Rb(instruction), Rc(instruction));
- else
- OPERATE_RRR("subl", Ra(instruction), Rb(instruction), Rc(instruction)); // SUBL
- break;
- case 0x0b: OPERATE_RRR("s4subl", Ra(instruction), Rb(instruction), Rc(instruction)); break; // S4SUBL
- case 0x0f: OPERATE_RRR("cmpbge", Ra(instruction), Rb(instruction), Rc(instruction)); break; // CMPBGE
- case 0x12: OPERATE_RRR("s8addl", Ra(instruction), Rb(instruction), Rc(instruction)); break; // S8ADDL
- case 0x1b: OPERATE_RRR("s8subl", Ra(instruction), Rb(instruction), Rc(instruction)); break; // S8SUBL
- case 0x1d: OPERATE_RRR("cmpult", Ra(instruction), Rb(instruction), Rc(instruction)); break; // CMPULT
- case 0x20: OPERATE_RRR("addq", Ra(instruction), Rb(instruction), Rc(instruction)); break; // ADDQ
- case 0x22: OPERATE_RRR("s4addq", Ra(instruction), Rb(instruction), Rc(instruction)); break; // S4ADDQ
- case 0x29:
- if (Ra(instruction) == 31)
- OPERATE_RR("negq", Rb(instruction), Rc(instruction));
- else
- OPERATE_RRR("subq", Ra(instruction), Rb(instruction), Rc(instruction)); // SUBQ
- break;
- case 0x2b: OPERATE_RRR("s4subq", Ra(instruction), Rb(instruction), Rc(instruction)); break; // S4SUBQ
- case 0x2d: OPERATE_RRR("cmpeq", Ra(instruction), Rb(instruction), Rc(instruction)); break; // CMPEQ
- case 0x32: OPERATE_RRR("s8addq", Ra(instruction), Rb(instruction), Rc(instruction)); break; // S8ADDQ
- case 0x3b: OPERATE_RRR("s8subq", Ra(instruction), Rb(instruction), Rc(instruction)); break; // S8SUBQ
- case 0x3d: OPERATE_RRR("cmpule", Ra(instruction), Rb(instruction), Rc(instruction)); break; // CMPULE
- case 0x40: OPERATE_RRR("addl/v", Ra(instruction), Rb(instruction), Rc(instruction)); break; // ADDL/V
- case 0x49:
- if (Ra(instruction) == 31)
- OPERATE_RR("negl/v", Rb(instruction), Rc(instruction));
- else
- OPERATE_RRR("subl/v", Ra(instruction), Rb(instruction), Rc(instruction)); // SUBL/V
- break;
- case 0x4d: OPERATE_RRR("cmplt", Ra(instruction), Rb(instruction), Rc(instruction)); break; // CMPLT
- case 0x60: OPERATE_RRR("addq/v", Ra(instruction), Rb(instruction), Rc(instruction)); break; // ADDQ/V
- case 0x69:
- if (Ra(instruction) == 31)
- OPERATE_RR("negq/v", Rb(instruction), Rc(instruction));
- else
- OPERATE_RRR("subq/v", Ra(instruction), Rb(instruction), Rc(instruction)); // SUBQ/V
- break;
- case 0x6d: OPERATE_RRR("cmple", Ra(instruction), Rb(instruction), Rc(instruction)); break; // CMPLE
-
- // immediate variants
- case 0x80:
- if (Ra(instruction) == 31)
- OPERATE_IR("sextl", Im(instruction), Rc(instruction));
- else
- OPERATE_RIR("addl", Ra(instruction), Im(instruction), Rc(instruction)); // ADDL
- break;
- case 0x82: OPERATE_RIR("s4addl", Ra(instruction), Im(instruction), Rc(instruction)); break; // S4ADDL
- case 0x89:
- if (Ra(instruction) == 31)
- OPERATE_IR("negl", Im(instruction), Rc(instruction));
- else
- OPERATE_RIR("subl", Ra(instruction), Im(instruction), Rc(instruction)); // SUBL
- break;
- case 0x8b: OPERATE_RIR("s4subl", Ra(instruction), Im(instruction), Rc(instruction)); break; // S4SUBL
- case 0x8f: OPERATE_RIR("cmpbge", Ra(instruction), Im(instruction), Rc(instruction)); break; // CMPBGE
- case 0x92: OPERATE_RIR("s8addl", Ra(instruction), Im(instruction), Rc(instruction)); break; // S8ADDL
- case 0x9b: OPERATE_RIR("s8subl", Ra(instruction), Im(instruction), Rc(instruction)); break; // S8SUBL
- case 0x9d: OPERATE_RIR("cmpult", Ra(instruction), Im(instruction), Rc(instruction)); break; // CMPULT
- case 0xa0: OPERATE_RIR("addq", Ra(instruction), Im(instruction), Rc(instruction)); break; // ADDQ
- case 0xa2: OPERATE_RIR("s4addq", Ra(instruction), Im(instruction), Rc(instruction)); break; // S4ADDQ
- case 0xa9:
- if (Ra(instruction) == 31)
- OPERATE_IR("negq", Im(instruction), Rc(instruction));
- else
- OPERATE_RIR("subq", Ra(instruction), Im(instruction), Rc(instruction)); // SUBQ
- break;
- case 0xab: OPERATE_RIR("s4subq", Ra(instruction), Im(instruction), Rc(instruction)); break; // S4SUBQ
- case 0xad: OPERATE_RIR("cmpeq", Ra(instruction), Im(instruction), Rc(instruction)); break; // CMPEQ
- case 0xb2: OPERATE_RIR("s8addq", Ra(instruction), Im(instruction), Rc(instruction)); break; // S8ADDQ
- case 0xbb: OPERATE_RIR("s8subq", Ra(instruction), Im(instruction), Rc(instruction)); break; // S8SUBQ
- case 0xbd: OPERATE_RIR("cmpule", Ra(instruction), Im(instruction), Rc(instruction)); break; // CMPULE
- case 0xc0: OPERATE_RIR("addl/v", Ra(instruction), Im(instruction), Rc(instruction)); break; // ADDL/V
- case 0xc9:
- if (Ra(instruction) == 31)
- OPERATE_IR("negl/v", Im(instruction), Rc(instruction));
- else
- OPERATE_RIR("subl/v", Ra(instruction), Im(instruction), Rc(instruction)); // SUBL/V
- break;
- case 0xcd: OPERATE_RIR("cmplt", Ra(instruction), Im(instruction), Rc(instruction)); break; // CMPLT
- case 0xe0: OPERATE_RIR("addq/v", Ra(instruction), Im(instruction), Rc(instruction)); break; // ADDQ/V
- case 0xe9:
- if (Ra(instruction) == 31)
- OPERATE_IR("negq/v", Im(instruction), Rc(instruction));
- else
- OPERATE_RIR("subq/v", Ra(instruction), Im(instruction), Rc(instruction)); // SUBQ/V
- break;
- case 0xed: OPERATE_RIR("cmple", Ra(instruction), Im(instruction), Rc(instruction)); break; // CMPLE
-
- default: UNKNOWN("inta*"); break;
- }
- break;
- case 0x11: // INTL* (integer logical)
- switch ((instruction >> 5) & 0xff)
- {
- // register variants
- case 0x00: OPERATE_RRR("and", Ra(instruction), Rb(instruction), Rc(instruction)); break; // AND
- case 0x08: OPERATE_RRR("bic", Ra(instruction), Rb(instruction), Rc(instruction)); break; // BIC
- case 0x14: OPERATE_RRR("cmovlbs", Ra(instruction), Rb(instruction), Rc(instruction)); break; // CMOVLBS
- case 0x16: OPERATE_RRR("cmovlbc", Ra(instruction), Rb(instruction), Rc(instruction)); break; // CMOVLBC
- case 0x20:
- if (Ra(instruction) == 31 && Rb(instruction) == 31 && Rc(instruction) == 31)
- MISC("nop");
- else if (Ra(instruction) == 31 && Rb(instruction) == 31)
- OPERATE_R("clr", Rc(instruction));
- else if (Ra(instruction) == Rb(instruction))
- OPERATE_RR("mov", Rb(instruction), Rc(instruction));
- else
- OPERATE_RRR("bis", Ra(instruction), Rb(instruction), Rc(instruction)); // BIS
- break;
- case 0x24: OPERATE_RRR("cmoveq", Ra(instruction), Rb(instruction), Rc(instruction)); break; // CMOVEQ
- case 0x26: OPERATE_RRR("cmovne", Ra(instruction), Rb(instruction), Rc(instruction)); break; // CMOVNE
- case 0x28:
- if (Ra(instruction) == 31)
- OPERATE_RR("not", Rb(instruction), Rc(instruction));
- else
- OPERATE_RRR("ornot", Ra(instruction), Rb(instruction), Rc(instruction)); // ORNOT
- break;
- case 0x40: OPERATE_RRR("xor", Ra(instruction), Rb(instruction), Rc(instruction)); break; // XOR
- case 0x44: OPERATE_RRR("cmovlt", Ra(instruction), Rb(instruction), Rc(instruction)); break; // CMOVLT
- case 0x46: OPERATE_RRR("cmovge", Ra(instruction), Rb(instruction), Rc(instruction)); break; // CMOVGE
- case 0x48: OPERATE_RRR("eqv", Ra(instruction), Rb(instruction), Rc(instruction)); break; // EQV
- case 0x61: OPERATE_RR("amask", Rb(instruction), Rc(instruction)); break; // AMASK
- case 0x64: OPERATE_RRR("cmovle", Ra(instruction), Rb(instruction), Rc(instruction)); break; // CMOVLE
- case 0x66: OPERATE_RRR("cmovgt", Ra(instruction), Rb(instruction), Rc(instruction)); break; // CMOVGT
-
- // immediate variants
- case 0x80: OPERATE_RIR("and", Ra(instruction), Im(instruction), Rc(instruction)); break; // AND
- case 0x88: OPERATE_RIR("bic", Ra(instruction), Im(instruction), Rc(instruction)); break; // BIC
- case 0x94: OPERATE_RIR("cmovlbs", Ra(instruction), Im(instruction), Rc(instruction)); break; // CMOVLBS
- case 0x96: OPERATE_RIR("cmovlbc", Ra(instruction), Im(instruction), Rc(instruction)); break; // CMOVLBC
- case 0xa0:
- if (Ra(instruction) == 31)
- OPERATE_IR("mov", Im(instruction), Rc(instruction));
- else
- OPERATE_RIR("bis", Ra(instruction), Im(instruction), Rc(instruction)); // BIS
- break;
- case 0xa4: OPERATE_RIR("cmoveq", Ra(instruction), Im(instruction), Rc(instruction)); break; // CMOVEQ
- case 0xa6: OPERATE_RIR("cmovne", Ra(instruction), Im(instruction), Rc(instruction)); break; // CMOVNE
- case 0xa8:
- if (Ra(instruction) == 31)
- OPERATE_IR("not", Im(instruction), Rc(instruction));
- else
- OPERATE_RIR("ornot", Ra(instruction), Im(instruction), Rc(instruction)); // ORNOT
- break;
- case 0xc0: OPERATE_RIR("xor", Ra(instruction), Im(instruction), Rc(instruction)); break; // XOR
- case 0xc4: OPERATE_RIR("cmovlt", Ra(instruction), Im(instruction), Rc(instruction)); break; // CMOVLT
- case 0xc6: OPERATE_RIR("cmovge", Ra(instruction), Im(instruction), Rc(instruction)); break; // CMOVGE
- case 0xc8: OPERATE_RIR("eqv", Ra(instruction), Im(instruction), Rc(instruction)); break; // EQV
- case 0xe1: OPERATE_IR("amask", Im(instruction), Rc(instruction)); break; // AMASK
- case 0xe4: OPERATE_RIR("cmovle", Ra(instruction), Im(instruction), Rc(instruction)); break; // CMOVLE
- case 0xe6: OPERATE_RIR("cmovgt", Ra(instruction), Im(instruction), Rc(instruction)); break; // CMOVGT
-
- // TODO: Rb must be literal #1?
- case 0xec: OPERATE_R("implver", Rc(instruction)); break; // IMPLVER
-
- default: UNKNOWN("intl*"); break;
- }
- break;
- case 0x12: // INTS* (integer shift)
- switch ((instruction >> 5) & 0xff)
- {
- // register variants
- case 0x02: OPERATE_RRR("mskbl", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MSKBL
- case 0x06: OPERATE_RRR("extbl", Ra(instruction), Rb(instruction), Rc(instruction)); break; // EXTBL
- case 0x0b: OPERATE_RRR("insbl", Ra(instruction), Rb(instruction), Rc(instruction)); break; // INSBL
- case 0x12: OPERATE_RRR("mskwl", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MSKWL
- case 0x16: OPERATE_RRR("extwl", Ra(instruction), Rb(instruction), Rc(instruction)); break; // EXTWL
- case 0x1b: OPERATE_RRR("inswl", Ra(instruction), Rb(instruction), Rc(instruction)); break; // INSWL
- case 0x22: OPERATE_RRR("mskll", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MSKLL
- case 0x26: OPERATE_RRR("extll", Ra(instruction), Rb(instruction), Rc(instruction)); break; // EXTLL
- case 0x2b: OPERATE_RRR("insll", Ra(instruction), Rb(instruction), Rc(instruction)); break; // INSLL
- case 0x30: OPERATE_RRR("zap", Ra(instruction), Rb(instruction), Rc(instruction)); break; // ZAP
- case 0x31: OPERATE_RRR("zapnot", Ra(instruction), Rb(instruction), Rc(instruction)); break; // ZAPNOT
- case 0x32: OPERATE_RRR("mskql", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MSKQL
- case 0x34: OPERATE_RRR("srl", Ra(instruction), Rb(instruction), Rc(instruction)); break; // SRL
- case 0x36: OPERATE_RRR("extql", Ra(instruction), Rb(instruction), Rc(instruction)); break; // EXTQL
- case 0x39: OPERATE_RRR("sll", Ra(instruction), Rb(instruction), Rc(instruction)); break; // SLL
- case 0x3b: OPERATE_RRR("insql", Ra(instruction), Rb(instruction), Rc(instruction)); break; // INSQL
- case 0x3c: OPERATE_RRR("sra", Ra(instruction), Rb(instruction), Rc(instruction)); break; // SRA
- case 0x52: OPERATE_RRR("mskwh", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MSKWH
- case 0x57: OPERATE_RRR("inswh", Ra(instruction), Rb(instruction), Rc(instruction)); break; // INSWH
- case 0x5a: OPERATE_RRR("extwh", Ra(instruction), Rb(instruction), Rc(instruction)); break; // EXTWH
- case 0x62: OPERATE_RRR("msklh", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MSKLH
- case 0x67: OPERATE_RRR("inslh", Ra(instruction), Rb(instruction), Rc(instruction)); break; // INSLH
- case 0x6a: OPERATE_RRR("extlh", Ra(instruction), Rb(instruction), Rc(instruction)); break; // EXTLH
- case 0x72: OPERATE_RRR("mskqh", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MSKQH
- case 0x77: OPERATE_RRR("insqh", Ra(instruction), Rb(instruction), Rc(instruction)); break; // INSQH
- case 0x7a: OPERATE_RRR("extqh", Ra(instruction), Rb(instruction), Rc(instruction)); break; // EXTQH
-
- // immediate variants
- case 0x82: OPERATE_RIR("mskbl", Ra(instruction), Im(instruction), Rc(instruction)); break; // MSKBL
- case 0x86: OPERATE_RIR("extbl", Ra(instruction), Im(instruction), Rc(instruction)); break; // EXTBL
- case 0x8b: OPERATE_RIR("insbl", Ra(instruction), Im(instruction), Rc(instruction)); break; // INSBL
- case 0x92: OPERATE_RIR("mskwl", Ra(instruction), Im(instruction), Rc(instruction)); break; // MSKWL
- case 0x96: OPERATE_RIR("extwl", Ra(instruction), Im(instruction), Rc(instruction)); break; // EXTWL
- case 0x9b: OPERATE_RIR("inswl", Ra(instruction), Im(instruction), Rc(instruction)); break; // INSWL
- case 0xa2: OPERATE_RIR("mskll", Ra(instruction), Im(instruction), Rc(instruction)); break; // MSKLL
- case 0xa6: OPERATE_RIR("extll", Ra(instruction), Im(instruction), Rc(instruction)); break; // EXTLL
- case 0xab: OPERATE_RIR("insll", Ra(instruction), Im(instruction), Rc(instruction)); break; // INSLL
- case 0xb0: OPERATE_RIR("zap", Ra(instruction), Im(instruction), Rc(instruction)); break; // ZAP
- case 0xb1: OPERATE_RIR("zapnot", Ra(instruction), Im(instruction), Rc(instruction)); break; // ZAPNOT
- case 0xb2: OPERATE_RIR("mskql", Ra(instruction), Im(instruction), Rc(instruction)); break; // MSKQL
- case 0xb4: OPERATE_RIR("srl", Ra(instruction), Im(instruction), Rc(instruction)); break; // SRL
- case 0xb6: OPERATE_RIR("extql", Ra(instruction), Im(instruction), Rc(instruction)); break; // EXTQL
- case 0xb9: OPERATE_RIR("sll", Ra(instruction), Im(instruction), Rc(instruction)); break; // SLL
- case 0xbb: OPERATE_RIR("insql", Ra(instruction), Im(instruction), Rc(instruction)); break; // INSQL
- case 0xbc: OPERATE_RIR("sra", Ra(instruction), Im(instruction), Rc(instruction)); break; // SRA
- case 0xd2: OPERATE_RIR("mskwh", Ra(instruction), Im(instruction), Rc(instruction)); break; // MSKWH
- case 0xd7: OPERATE_RIR("inswh", Ra(instruction), Im(instruction), Rc(instruction)); break; // INSWH
- case 0xda: OPERATE_RIR("extwh", Ra(instruction), Im(instruction), Rc(instruction)); break; // EXTWH
- case 0xe2: OPERATE_RIR("msklh", Ra(instruction), Im(instruction), Rc(instruction)); break; // MSKLH
- case 0xe7: OPERATE_RIR("inslh", Ra(instruction), Im(instruction), Rc(instruction)); break; // INSLH
- case 0xea: OPERATE_RIR("extlh", Ra(instruction), Im(instruction), Rc(instruction)); break; // EXTLH
- case 0xf2: OPERATE_RIR("mskqh", Ra(instruction), Im(instruction), Rc(instruction)); break; // MSKQH
- case 0xf7: OPERATE_RIR("insqh", Ra(instruction), Im(instruction), Rc(instruction)); break; // INSQH
- case 0xfa: OPERATE_RIR("extqh", Ra(instruction), Im(instruction), Rc(instruction)); break; // EXTQH
-
- default: UNKNOWN("ints*"); break;
- }
- break;
- case 0x13: // INTM* (integer multiply)
- switch ((instruction >> 5) & 0xff)
- {
- // register variants
- case 0x00: OPERATE_RRR("mull", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MULL
- case 0x20: OPERATE_RRR("mulq", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MULQ
- case 0x30: OPERATE_RRR("umulh", Ra(instruction), Rb(instruction), Rc(instruction)); break; // UMULH
- case 0x40: OPERATE_RRR("mull/v", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MULL/V
- case 0x60: OPERATE_RRR("mulq/v", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MULQ/V
-
- // immediate variants
- case 0x80: OPERATE_RIR("mull", Ra(instruction), Im(instruction), Rc(instruction)); break; // MULL
- case 0xa0: OPERATE_RIR("mulq", Ra(instruction), Im(instruction), Rc(instruction)); break; // MULQ
- case 0xb0: OPERATE_RIR("umulh", Ra(instruction), Im(instruction), Rc(instruction)); break; // UMULH
- case 0xc0: OPERATE_RIR("mull/v", Ra(instruction), Im(instruction), Rc(instruction)); break; // MULL/V
- case 0xe0: OPERATE_RIR("mulq/v", Ra(instruction), Im(instruction), Rc(instruction)); break; // MULQ/V
-
- default: UNKNOWN("intm*"); break;
- }
- case 0x14: // ITFP* (integer to floating)
- switch ((instruction >> 5) & 0x7ff)
- {
- case 0x004: OPERATE_RF("itofs", Ra(instruction), Rc(instruction)); break; // ITOFS
- case 0x00a: OPERATE_FF("sqrtf/c", Rb(instruction), Rc(instruction)); break; // SQRTF/C
- case 0x00b: OPERATE_FF("sqrts/c", Rb(instruction), Rc(instruction)); break; // SQRTS/C
- case 0x014: OPERATE_RF("itoff", Ra(instruction), Rc(instruction)); break; // ITOFF
- case 0x024: OPERATE_RF("itoft", Ra(instruction), Rc(instruction)); break; // ITOFT
- case 0x02a: OPERATE_FF("sqrtg/c", Rb(instruction), Rc(instruction)); break; // SQRTG/C
- case 0x02b: OPERATE_FF("sqrtt/c", Rb(instruction), Rc(instruction)); break; // SQRTT/C
- case 0x04b: OPERATE_FF("sqrts/m", Rb(instruction), Rc(instruction)); break; // SQRTS/M
- case 0x06b: OPERATE_FF("sqrtt/m", Rb(instruction), Rc(instruction)); break; // SQRTT/M
- case 0x08a: OPERATE_FF("sqrtf", Rb(instruction), Rc(instruction)); break; // SQRTF
- case 0x08b: OPERATE_FF("sqrts", Rb(instruction), Rc(instruction)); break; // SQRTS
- case 0x0aa: OPERATE_FF("sqrtg", Rb(instruction), Rc(instruction)); break; // SQRTG
- case 0x0ab: OPERATE_FF("sqrtt", Rb(instruction), Rc(instruction)); break; // SQRTT
- case 0x0cb: OPERATE_FF("sqrts/d", Rb(instruction), Rc(instruction)); break; // SQRTS/D
- case 0x0eb: OPERATE_FF("sqrtt/d", Rb(instruction), Rc(instruction)); break; // SQRTT/D
- case 0x10a: OPERATE_FF("sqrtf/uc", Rb(instruction), Rc(instruction)); break; // SQRTF/UC
- case 0x10b: OPERATE_FF("sqrts/uc", Rb(instruction), Rc(instruction)); break; // SQRTS/UC
- case 0x12a: OPERATE_FF("sqrtg/uc", Rb(instruction), Rc(instruction)); break; // SQRTG/UC
- case 0x12b: OPERATE_FF("sqrtt/uc", Rb(instruction), Rc(instruction)); break; // SQRTT/UC
- case 0x14b: OPERATE_FF("sqrts/um", Rb(instruction), Rc(instruction)); break; // SQRTS/UM
- case 0x16b: OPERATE_FF("sqrtt/um", Rb(instruction), Rc(instruction)); break; // SQRTT/UM
- case 0x18a: OPERATE_FF("sqrtf/u", Rb(instruction), Rc(instruction)); break; // SQRTF/U
- case 0x1aa: OPERATE_FF("sqrtg/u", Rb(instruction), Rc(instruction)); break; // SQRTG/U
- case 0x1ab: OPERATE_FF("sqrtt/u", Rb(instruction), Rc(instruction)); break; // SQRTT/U
- case 0x1cb: OPERATE_FF("sqrts/ud", Rb(instruction), Rc(instruction)); break; // SQRTS/UD
- case 0x1eb: OPERATE_FF("sqrtt/ud", Rb(instruction), Rc(instruction)); break; // SQRTT/UD
- case 0x40a: OPERATE_FF("sqrtf/sc", Rb(instruction), Rc(instruction)); break; // SQRTF/SC
- case 0x42a: OPERATE_FF("sqrtg/sc", Rb(instruction), Rc(instruction)); break; // SQRTG/SC
- case 0x48a: OPERATE_FF("sqrtf/s", Rb(instruction), Rc(instruction)); break; // SQRTF/S
- case 0x4aa: OPERATE_FF("sqrtg/s", Rb(instruction), Rc(instruction)); break; // SQRTG/S
- case 0x50a: OPERATE_FF("sqrtf/suc", Rb(instruction), Rc(instruction)); break; // SQRTF/SUC
- case 0x50b: OPERATE_FF("sqrts/suc", Rb(instruction), Rc(instruction)); break; // SQRTS/SUC
- case 0x52a: OPERATE_FF("sqrtg/suc", Rb(instruction), Rc(instruction)); break; // SQRTG/SUC
- case 0x52b: OPERATE_FF("sqrtt/suc", Rb(instruction), Rc(instruction)); break; // SQRTT/SUC
- case 0x54b: OPERATE_FF("sqrts/sum", Rb(instruction), Rc(instruction)); break; // SQRTS/SUM
- case 0x56b: OPERATE_FF("sqrtt/sum", Rb(instruction), Rc(instruction)); break; // SQRTT/SUM
- case 0x58a: OPERATE_FF("sqrtf/su", Rb(instruction), Rc(instruction)); break; // SQRTF/SU
- case 0x58b: OPERATE_FF("sqrts/su", Rb(instruction), Rc(instruction)); break; // SQRTS/SU
- case 0x5aa: OPERATE_FF("sqrtg/su", Rb(instruction), Rc(instruction)); break; // SQRTG/SU
- case 0x5ab: OPERATE_FF("sqrtt/su", Rb(instruction), Rc(instruction)); break; // SQRTT/SU
- case 0x5cb: OPERATE_FF("sqrts/sud", Rb(instruction), Rc(instruction)); break; // SQRTS/SUD
- case 0x5eb: OPERATE_FF("sqrtt/sud", Rb(instruction), Rc(instruction)); break; // SQRTT/SUD
- case 0x70b: OPERATE_FF("sqrts/suic", Rb(instruction), Rc(instruction)); break; // SQRTS/SUIC
- case 0x72b: OPERATE_FF("sqrtt/suic", Rb(instruction), Rc(instruction)); break; // SQRTT/SUIC
- case 0x74b: OPERATE_FF("sqrts/suim", Rb(instruction), Rc(instruction)); break; // SQRTS/SUIM
- case 0x76b: OPERATE_FF("sqrtt/suim", Rb(instruction), Rc(instruction)); break; // SQRTT/SUIM
- case 0x78b: OPERATE_FF("sqrts/sui", Rb(instruction), Rc(instruction)); break; // SQRTS/SUI
- case 0x7ab: OPERATE_FF("sqrtt/sui", Rb(instruction), Rc(instruction)); break; // SQRTT/SUI
- case 0x7cb: OPERATE_FF("sqrts/suid", Rb(instruction), Rc(instruction)); break; // SQRTS/SUID
- case 0x7eb: OPERATE_FF("sqrtt/suid", Rb(instruction), Rc(instruction)); break; // SQRTT/SUID
-
- default: UNKNOWN("itfp*"); break;
- }
- break;
- case 0x15: // FLTV* (vax floating)
- switch ((instruction >> 5) & 0x7ff)
- {
- case 0x000: OPERATE_FFF("addf/c", Ra(instruction), Rb(instruction), Rc(instruction)); break; // ADDF/C
- case 0x001: OPERATE_FFF("subf/c", Ra(instruction), Rb(instruction), Rc(instruction)); break; // SUBF/C
- case 0x002: OPERATE_FFF("mulf/c", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MULF/C
- case 0x003: OPERATE_FFF("divf/c", Ra(instruction), Rb(instruction), Rc(instruction)); break; // DIVF/C
- case 0x01e: OPERATE_FF("cvtdg/c", Rb(instruction), Rc(instruction)); break; // CVTDG/C
- case 0x020: OPERATE_FFF("addg/c", Ra(instruction), Rb(instruction), Rc(instruction)); break; // ADDG/C
- case 0x021: OPERATE_FFF("subg/c", Ra(instruction), Rb(instruction), Rc(instruction)); break; // SUBG/C
- case 0x022: OPERATE_FFF("mulg/c", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MULG/C
- case 0x023: OPERATE_FFF("divg/c", Ra(instruction), Rb(instruction), Rc(instruction)); break; // DIVG/C
- case 0x02c: OPERATE_FF("cvtgf/c", Rb(instruction), Rc(instruction)); break; // CVTGF/C
- case 0x02d: OPERATE_FF("cvtgd/c", Rb(instruction), Rc(instruction)); break; // CVTGD/C
- case 0x02f: OPERATE_FF("cvtgq/c", Rb(instruction), Rc(instruction)); break; // CVTGQ/C
- case 0x03c: OPERATE_FF("cvtqf/c", Rb(instruction), Rc(instruction)); break; // CVTQF/C
- case 0x03e: OPERATE_FF("cvtqg/c", Rb(instruction), Rc(instruction)); break; // CVTQG/C
- case 0x080: OPERATE_FFF("addf", Ra(instruction), Rb(instruction), Rc(instruction)); break; // ADDF
- case 0x081:
- if (Ra(instruction) == 31)
- OPERATE_FF("negf", Rb(instruction), Rc(instruction));
- else
- OPERATE_FFF("subf", Ra(instruction), Rb(instruction), Rc(instruction)); // SUBF
- break;
- case 0x082: OPERATE_FFF("mulf", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MULF
- case 0x083: OPERATE_FFF("divf", Ra(instruction), Rb(instruction), Rc(instruction)); break; // DIVF
- case 0x09e: OPERATE_FF("cvtdg", Rb(instruction), Rc(instruction)); break; // CVTDG
- case 0x0a0: OPERATE_FFF("addg", Ra(instruction), Rb(instruction), Rc(instruction)); break; // ADDG
- case 0x0a1:
- if (Ra(instruction) == 31)
- OPERATE_FF("negg", Rb(instruction), Rc(instruction));
- else
- OPERATE_FFF("subg", Ra(instruction), Rb(instruction), Rc(instruction)); // SUBG
- break;
- case 0x0a2: OPERATE_FFF("mulg", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MULG
- case 0x0a3: OPERATE_FFF("divg", Ra(instruction), Rb(instruction), Rc(instruction)); break; // DIVG
- case 0x0a5: OPERATE_FFF("cmpgeq", Ra(instruction), Rb(instruction), Rc(instruction)); break; // CMPGEQ
- case 0x0a6: OPERATE_FFF("cmpglt", Ra(instruction), Rb(instruction), Rc(instruction)); break; // CMPGLT
- case 0x0a7: OPERATE_FFF("cmpgle", Ra(instruction), Rb(instruction), Rc(instruction)); break; // CMPGLE
- case 0x0ac: OPERATE_FF("cvtgf", Rb(instruction), Rc(instruction)); break; // CVTGF
- case 0x0ad: OPERATE_FF("cvtgd", Rb(instruction), Rc(instruction)); break; // CVTGD
- case 0x0af: OPERATE_FF("cvtgq", Rb(instruction), Rc(instruction)); break; // CVTGQ
- case 0x0bc: OPERATE_FF("cvtqf", Rb(instruction), Rc(instruction)); break; // CVTQF
- case 0x0be: OPERATE_FF("cvtqg", Rb(instruction), Rc(instruction)); break; // CVTQG
- case 0x100: OPERATE_FFF("addf/uc", Ra(instruction), Rb(instruction), Rc(instruction)); break; // ADDF/UC
- case 0x101: OPERATE_FFF("subf/uc", Ra(instruction), Rb(instruction), Rc(instruction)); break; // SUBF/UC
- case 0x102: OPERATE_FFF("mulf/uc", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MULF/UC
- case 0x103: OPERATE_FFF("divf/uc", Ra(instruction), Rb(instruction), Rc(instruction)); break; // DIVF/UC
- case 0x11e: OPERATE_FF("cvtdg/uc", Rb(instruction), Rc(instruction)); break; // CVTDG/UC
- case 0x120: OPERATE_FFF("addg/uc", Ra(instruction), Rb(instruction), Rc(instruction)); break; // ADDG/UC
- case 0x121: OPERATE_FFF("subg/uc", Ra(instruction), Rb(instruction), Rc(instruction)); break; // SUBG/UC
- case 0x122: OPERATE_FFF("mulg/uc", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MULG/UC
- case 0x123: OPERATE_FFF("divg/uc", Ra(instruction), Rb(instruction), Rc(instruction)); break; // DIVG/UC
- case 0x12c: OPERATE_FF("cvtgf/uc", Rb(instruction), Rc(instruction)); break; // CVTGF/UC
- case 0x12d: OPERATE_FF("cvtgd/uc", Rb(instruction), Rc(instruction)); break; // CVTGD/UC
- case 0x12f: OPERATE_FF("cvtgq/vc", Rb(instruction), Rc(instruction)); break; // CVTGQ/VC
- case 0x180: OPERATE_FFF("addf/u", Ra(instruction), Rb(instruction), Rc(instruction)); break; // ADDF/U
- case 0x181: OPERATE_FFF("subf/u", Ra(instruction), Rb(instruction), Rc(instruction)); break; // SUBF/U
- case 0x182: OPERATE_FFF("mulf/u", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MULF/U
- case 0x183: OPERATE_FFF("divf/u", Ra(instruction), Rb(instruction), Rc(instruction)); break; // DIVF/U
- case 0x19e: OPERATE_FF("cvtdg/u", Rb(instruction), Rc(instruction)); break; // CVTDG/U
- case 0x1a0: OPERATE_FFF("addg/u", Ra(instruction), Rb(instruction), Rc(instruction)); break; // ADDG/U
- case 0x1a1: OPERATE_FFF("subg/u", Ra(instruction), Rb(instruction), Rc(instruction)); break; // SUBG/U
- case 0x1a2: OPERATE_FFF("mulg/u", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MULG/U
- case 0x1a3: OPERATE_FFF("divg/u", Ra(instruction), Rb(instruction), Rc(instruction)); break; // DIVG/U
- case 0x1ac: OPERATE_FF("cvtgf/u", Rb(instruction), Rc(instruction)); break; // CVTGF/U
- case 0x1ad: OPERATE_FF("cvtgd/u", Rb(instruction), Rc(instruction)); break; // CVTGD/U
- case 0x1af: OPERATE_FF("cvtgq/v", Rb(instruction), Rc(instruction)); break; // CVTGQ/V
- case 0x400: OPERATE_FFF("addf/sc", Ra(instruction), Rb(instruction), Rc(instruction)); break; // ADDF/SC
- case 0x401: OPERATE_FFF("subf/sc", Ra(instruction), Rb(instruction), Rc(instruction)); break; // SUBF/SC
- case 0x402: OPERATE_FFF("mulf/sc", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MULF/SC
- case 0x403: OPERATE_FFF("divf/sc", Ra(instruction), Rb(instruction), Rc(instruction)); break; // DIVF/SC
- case 0x41e: OPERATE_FF("cvtdg/sc", Rb(instruction), Rc(instruction)); break; // CVTDG/SC
- case 0x420: OPERATE_FFF("addg/sc", Ra(instruction), Rb(instruction), Rc(instruction)); break; // ADDG/SC
- case 0x421: OPERATE_FFF("subg/sc", Ra(instruction), Rb(instruction), Rc(instruction)); break; // SUBG/SC
- case 0x422: OPERATE_FFF("mulg/sc", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MULG/SC
- case 0x423: OPERATE_FFF("divg/sc", Ra(instruction), Rb(instruction), Rc(instruction)); break; // DIVG/SC
- case 0x42c: OPERATE_FF("cvtgf/sc", Rb(instruction), Rc(instruction)); break; // CVTGF/SC
- case 0x42d: OPERATE_FF("cvtgd/sc", Rb(instruction), Rc(instruction)); break; // CVTGD/SC
- case 0x42f: OPERATE_FF("cvtgq/sc", Rb(instruction), Rc(instruction)); break; // CVTGQ/SC
- case 0x480: OPERATE_FFF("addf/s", Ra(instruction), Rb(instruction), Rc(instruction)); break; // ADDF/S
- case 0x481:
- if (Ra(instruction) == 31)
- OPERATE_FF("negf/s", Rb(instruction), Rc(instruction));
- else
- OPERATE_FFF("subf/s", Ra(instruction), Rb(instruction), Rc(instruction)); // SUBF/S
- break;
- case 0x482: OPERATE_FFF("mulf/s", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MULF/S
- case 0x483: OPERATE_FFF("divf/s", Ra(instruction), Rb(instruction), Rc(instruction)); break; // DIVF/S
- case 0x49e: OPERATE_FF("cvtdg/s", Rb(instruction), Rc(instruction)); break; // CVTDG/S
- case 0x4a0: OPERATE_FFF("addg/s", Ra(instruction), Rb(instruction), Rc(instruction)); break; // ADDG/S
- case 0x4a1:
- if (Ra(instruction) == 31)
- OPERATE_FF("negg/s", Rb(instruction), Rc(instruction));
- else
- OPERATE_FFF("subg/s", Ra(instruction), Rb(instruction), Rc(instruction)); // SUBG/S
- break;
- case 0x4a2: OPERATE_FFF("mulg/s", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MULG/S
- case 0x4a3: OPERATE_FFF("divg/s", Ra(instruction), Rb(instruction), Rc(instruction)); break; // DIVG/S
- case 0x4a5: OPERATE_FFF("cmpgeq/s", Ra(instruction), Rb(instruction), Rc(instruction)); break; // CMPGEQ/S
- case 0x4a6: OPERATE_FFF("cmpglt/s", Ra(instruction), Rb(instruction), Rc(instruction)); break; // CMPGLT/S
- case 0x4a7: OPERATE_FFF("cmpgle/s", Ra(instruction), Rb(instruction), Rc(instruction)); break; // CMPGLE/S
- case 0x4ac: OPERATE_FF("cvtgf/s", Rb(instruction), Rc(instruction)); break; // CVTGF/S
- case 0x4ad: OPERATE_FF("cvtgd/s", Rb(instruction), Rc(instruction)); break; // CVTGD/S
- case 0x4af: OPERATE_FF("cvtgq/s", Rb(instruction), Rc(instruction)); break; // CVTGQ/S
- case 0x500: OPERATE_FFF("addf/suc", Ra(instruction), Rb(instruction), Rc(instruction)); break; // ADDF/SUC
- case 0x501: OPERATE_FFF("subf/suc", Ra(instruction), Rb(instruction), Rc(instruction)); break; // SUBF/SUC
- case 0x502: OPERATE_FFF("mulf/suc", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MULF/SUC
- case 0x503: OPERATE_FFF("divf/suc", Ra(instruction), Rb(instruction), Rc(instruction)); break; // DIVF/SUC
- case 0x51e: OPERATE_FF("cvtdg/suc", Rb(instruction), Rc(instruction)); break; // CVTDG/SUC
- case 0x520: OPERATE_FFF("addg/suc", Ra(instruction), Rb(instruction), Rc(instruction)); break; // ADDG/SUC
- case 0x521: OPERATE_FFF("subg/suc", Ra(instruction), Rb(instruction), Rc(instruction)); break; // SUBG/SUC
- case 0x522: OPERATE_FFF("mulg/suc", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MULG/SUC
- case 0x523: OPERATE_FFF("divg/suc", Ra(instruction), Rb(instruction), Rc(instruction)); break; // DIVG/SUC
- case 0x52c: OPERATE_FF("cvtgf/suc", Rb(instruction), Rc(instruction)); break; // CVTGF/SUC
- case 0x52d: OPERATE_FF("cvtgd/suc", Rb(instruction), Rc(instruction)); break; // CVTGD/SUC
- case 0x52f: OPERATE_FF("cvtgq/svc", Rb(instruction), Rc(instruction)); break; // CVTGQ/SVC
- case 0x580: OPERATE_FFF("addf/su", Ra(instruction), Rb(instruction), Rc(instruction)); break; // ADDF/SU
- case 0x581: OPERATE_FFF("subf/su", Ra(instruction), Rb(instruction), Rc(instruction)); break; // SUBF/SU
- case 0x582: OPERATE_FFF("mulf/su", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MULF/SU
- case 0x583: OPERATE_FFF("divf/su", Ra(instruction), Rb(instruction), Rc(instruction)); break; // DIVF/SU
- case 0x59e: OPERATE_FF("cvtdg/su", Rb(instruction), Rc(instruction)); break; // CVTDG/SU
- case 0x5a0: OPERATE_FFF("addg/su", Ra(instruction), Rb(instruction), Rc(instruction)); break; // ADDG/SU
- case 0x5a1: OPERATE_FFF("subg/su", Ra(instruction), Rb(instruction), Rc(instruction)); break; // SUBG/SU
- case 0x5a2: OPERATE_FFF("mulg/su", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MULG/SU
- case 0x5a3: OPERATE_FFF("divg/su", Ra(instruction), Rb(instruction), Rc(instruction)); break; // DIVG/SU
- case 0x5ac: OPERATE_FF("cvtgf/su", Rb(instruction), Rc(instruction)); break; // CVTGF/SU
- case 0x5ad: OPERATE_FF("cvtgd/su", Rb(instruction), Rc(instruction)); break; // CVTGD/SU
- case 0x5af: OPERATE_FF("cvtgq/sv", Rb(instruction), Rc(instruction)); break; // CVTGQ/SV
-
- default: UNKNOWN("fltv*"); break;
- }
- break;
- case 0x16: // FLTI* (ieee floating)
- switch ((instruction >> 5) & 0x7ff)
- {
- case 0x000: OPERATE_FFF("adds/c", Ra(instruction), Rb(instruction), Rc(instruction)); break; // ADDS/C
- case 0x001: OPERATE_FFF("subs/c", Ra(instruction), Rb(instruction), Rc(instruction)); break; // SUBS/C
- case 0x002: OPERATE_FFF("muls/c", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MULS/C
- case 0x003: OPERATE_FFF("divs/c", Ra(instruction), Rb(instruction), Rc(instruction)); break; // DIVS/C
- case 0x020: OPERATE_FFF("addt/c", Ra(instruction), Rb(instruction), Rc(instruction)); break; // ADDT/C
- case 0x021: OPERATE_FFF("subt/c", Ra(instruction), Rb(instruction), Rc(instruction)); break; // SUBT/C
- case 0x022: OPERATE_FFF("mult/c", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MULT/C
- case 0x023: OPERATE_FFF("divt/c", Ra(instruction), Rb(instruction), Rc(instruction)); break; // DIVT/C
- case 0x02c: OPERATE_FF("cvttts/c", Rb(instruction), Rc(instruction)); break; // CVTTS/C
- case 0x02f: OPERATE_FF("cvttq/c", Rb(instruction), Rc(instruction)); break; // CVTTQ/C
- case 0x03c: OPERATE_FF("cvtqs/c", Rb(instruction), Rc(instruction)); break; // CVTQS/C
- case 0x03e: OPERATE_FF("cvtqt/c", Rb(instruction), Rc(instruction)); break; // CVTQT/C
- case 0x040: OPERATE_FFF("adds/m", Ra(instruction), Rb(instruction), Rc(instruction)); break; // ADDS/M
- case 0x041: OPERATE_FFF("subs/m", Ra(instruction), Rb(instruction), Rc(instruction)); break; // SUBS/M
- case 0x042: OPERATE_FFF("muls/m", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MULS/M
- case 0x043: OPERATE_FFF("divs/m", Ra(instruction), Rb(instruction), Rc(instruction)); break; // DIVS/M
- case 0x060: OPERATE_FFF("addt/m", Ra(instruction), Rb(instruction), Rc(instruction)); break; // ADDT/M
- case 0x061: OPERATE_FFF("subt/m", Ra(instruction), Rb(instruction), Rc(instruction)); break; // SUBT/M
- case 0x062: OPERATE_FFF("mult/m", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MULT/M
- case 0x063: OPERATE_FFF("divt/m", Ra(instruction), Rb(instruction), Rc(instruction)); break; // DIVT/M
- case 0x06c: OPERATE_FF("cvttts/m", Rb(instruction), Rc(instruction)); break; // CVTTS/M
- case 0x06f: OPERATE_FF("cvttq/m", Rb(instruction), Rc(instruction)); break; // CVTTQ/M
- case 0x07c: OPERATE_FF("cvtqs/m", Rb(instruction), Rc(instruction)); break; // CVTQS/M
- case 0x07e: OPERATE_FF("cvtqt/m", Rb(instruction), Rc(instruction)); break; // CVTQT/M
- case 0x080: OPERATE_FFF("adds", Ra(instruction), Rb(instruction), Rc(instruction)); break; // ADDS
- case 0x081:
- if (Ra(instruction) == 31)
- OPERATE_FF("negs", Rb(instruction), Rc(instruction));
- else
- OPERATE_FFF("subs", Ra(instruction), Rb(instruction), Rc(instruction)); // SUBS
- break;
- case 0x082: OPERATE_FFF("muls", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MULS
- case 0x083: OPERATE_FFF("divs", Ra(instruction), Rb(instruction), Rc(instruction)); break; // DIVS
- case 0x0a0: OPERATE_FFF("addt", Ra(instruction), Rb(instruction), Rc(instruction)); break; // ADDT
- case 0x0a1:
- if (Ra(instruction) == 31)
- OPERATE_FF("negt", Rb(instruction), Rc(instruction));
- else
- OPERATE_FFF("subt", Ra(instruction), Rb(instruction), Rc(instruction)); // SUBT
- break;
- case 0x0a2: OPERATE_FFF("mult", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MULT
- case 0x0a3: OPERATE_FFF("divt", Ra(instruction), Rb(instruction), Rc(instruction)); break; // DIVT
- case 0x0a4: OPERATE_FFF("cmptun", Ra(instruction), Rb(instruction), Rc(instruction)); break; // CMPTUN
- case 0x0a5: OPERATE_FFF("cmpteq", Ra(instruction), Rb(instruction), Rc(instruction)); break; // CMPTEQ
- case 0x0a6: OPERATE_FFF("cmptlt", Ra(instruction), Rb(instruction), Rc(instruction)); break; // CMPTLT
- case 0x0a7: OPERATE_FFF("cmptle", Ra(instruction), Rb(instruction), Rc(instruction)); break; // CMPTLE
- case 0x0ac: OPERATE_FF("cvttts", Rb(instruction), Rc(instruction)); break; // CVTTS
- case 0x0af: OPERATE_FF("cvttq", Rb(instruction), Rc(instruction)); break; // CVTTQ
- case 0x0bc: OPERATE_FF("cvtqs", Rb(instruction), Rc(instruction)); break; // CVTQS
- case 0x0be: OPERATE_FF("cvtqt", Rb(instruction), Rc(instruction)); break; // CVTQT
- case 0x0c0: OPERATE_FFF("adds/d", Ra(instruction), Rb(instruction), Rc(instruction)); break; // ADDS/D
- case 0x0c1: OPERATE_FFF("subs/d", Ra(instruction), Rb(instruction), Rc(instruction)); break; // SUBS/D
- case 0x0c2: OPERATE_FFF("muls/d", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MULS/D
- case 0x0c3: OPERATE_FFF("divs/d", Ra(instruction), Rb(instruction), Rc(instruction)); break; // DIVS/D
- case 0x0e0: OPERATE_FFF("addt/d", Ra(instruction), Rb(instruction), Rc(instruction)); break; // ADDT/D
- case 0x0e1: OPERATE_FFF("subt/d", Ra(instruction), Rb(instruction), Rc(instruction)); break; // SUBT/D
- case 0x0e2: OPERATE_FFF("mult/d", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MULT/D
- case 0x0e3: OPERATE_FFF("divt/d", Ra(instruction), Rb(instruction), Rc(instruction)); break; // DIVT/D
- case 0x0ec: OPERATE_FF("cvttts/d", Rb(instruction), Rc(instruction)); break; // CVTTS/D
- case 0x0ef: OPERATE_FF("cvttq/d", Rb(instruction), Rc(instruction)); break; // CVTTQ/D
- case 0x0fc: OPERATE_FF("cvtqs/d", Rb(instruction), Rc(instruction)); break; // CVTQS/D
- case 0x0fe: OPERATE_FF("cvtqt/d", Rb(instruction), Rc(instruction)); break; // CVTQT/D
- case 0x100: OPERATE_FFF("adds/uc", Ra(instruction), Rb(instruction), Rc(instruction)); break; // ADDS/UC
- case 0x101: OPERATE_FFF("subs/uc", Ra(instruction), Rb(instruction), Rc(instruction)); break; // SUBS/UC
- case 0x102: OPERATE_FFF("muls/uc", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MULS/UC
- case 0x103: OPERATE_FFF("divs/uc", Ra(instruction), Rb(instruction), Rc(instruction)); break; // DIVS/UC
- case 0x120: OPERATE_FFF("addt/uc", Ra(instruction), Rb(instruction), Rc(instruction)); break; // ADDT/UC
- case 0x121: OPERATE_FFF("subt/uc", Ra(instruction), Rb(instruction), Rc(instruction)); break; // SUBT/UC
- case 0x122: OPERATE_FFF("mult/uc", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MULT/UC
- case 0x123: OPERATE_FFF("divt/uc", Ra(instruction), Rb(instruction), Rc(instruction)); break; // DIVT/UC
- case 0x12c: OPERATE_FF("cvttts/uc", Rb(instruction), Rc(instruction)); break; // CVTTS/UC
- case 0x12f: OPERATE_FF("cvttq/vc", Rb(instruction), Rc(instruction)); break; // CVTTQ/VC
- case 0x140: OPERATE_FFF("adds/um", Ra(instruction), Rb(instruction), Rc(instruction)); break; // ADDS/UM
- case 0x141: OPERATE_FFF("subs/um", Ra(instruction), Rb(instruction), Rc(instruction)); break; // SUBS/UM
- case 0x142: OPERATE_FFF("muls/um", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MULS/UM
- case 0x143: OPERATE_FFF("divs/um", Ra(instruction), Rb(instruction), Rc(instruction)); break; // DIVS/UM
- case 0x160: OPERATE_FFF("addt/um", Ra(instruction), Rb(instruction), Rc(instruction)); break; // ADDT/UM
- case 0x161: OPERATE_FFF("subt/um", Ra(instruction), Rb(instruction), Rc(instruction)); break; // SUBT/UM
- case 0x162: OPERATE_FFF("mult/um", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MULT/UM
- case 0x163: OPERATE_FFF("divt/um", Ra(instruction), Rb(instruction), Rc(instruction)); break; // DIVT/UM
- case 0x16c: OPERATE_FF("cvttts/um", Rb(instruction), Rc(instruction)); break; // CVTTS/UM
- case 0x16f: OPERATE_FF("cvttq/vm", Rb(instruction), Rc(instruction)); break; // CVTTQ/VM
- case 0x180: OPERATE_FFF("adds/u", Ra(instruction), Rb(instruction), Rc(instruction)); break; // ADDS/U
- case 0x181: OPERATE_FFF("subs/u", Ra(instruction), Rb(instruction), Rc(instruction)); break; // SUBS/U
- case 0x182: OPERATE_FFF("muls/u", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MULS/U
- case 0x183: OPERATE_FFF("divs/u", Ra(instruction), Rb(instruction), Rc(instruction)); break; // DIVS/U
- case 0x1a0: OPERATE_FFF("addt/u", Ra(instruction), Rb(instruction), Rc(instruction)); break; // ADDT/U
- case 0x1a1: OPERATE_FFF("subt/u", Ra(instruction), Rb(instruction), Rc(instruction)); break; // SUBT/U
- case 0x1a2: OPERATE_FFF("mult/u", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MULT/U
- case 0x1a3: OPERATE_FFF("divt/u", Ra(instruction), Rb(instruction), Rc(instruction)); break; // DIVT/U
- case 0x1ac: OPERATE_FF("cvttts/u", Rb(instruction), Rc(instruction)); break; // CVTTS/U
- case 0x1af: OPERATE_FF("cvttq/v", Rb(instruction), Rc(instruction)); break; // CVTTQ/V
- case 0x1c0: OPERATE_FFF("adds/ud", Ra(instruction), Rb(instruction), Rc(instruction)); break; // ADDS/UD
- case 0x1c1: OPERATE_FFF("subs/ud", Ra(instruction), Rb(instruction), Rc(instruction)); break; // SUBS/UD
- case 0x1c2: OPERATE_FFF("muls/ud", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MULS/UD
- case 0x1c3: OPERATE_FFF("divs/ud", Ra(instruction), Rb(instruction), Rc(instruction)); break; // DIVS/UD
- case 0x1e0: OPERATE_FFF("addt/ud", Ra(instruction), Rb(instruction), Rc(instruction)); break; // ADDT/UD
- case 0x1e1: OPERATE_FFF("subs/ud", Ra(instruction), Rb(instruction), Rc(instruction)); break; // SUBT/UD
- case 0x1e2: OPERATE_FFF("mult/ud", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MULT/UD
- case 0x1e3: OPERATE_FFF("divt/ud", Ra(instruction), Rb(instruction), Rc(instruction)); break; // DIVT/UD
- case 0x1ec: OPERATE_FF("cvttts/ud", Rb(instruction), Rc(instruction)); break; // CVTTS/UD
- case 0x1ef: OPERATE_FF("cvttq/vd", Rb(instruction), Rc(instruction)); break; // CVTTQ/VD
- case 0x2ac: OPERATE_FF("cvtst", Rb(instruction), Rc(instruction)); break; // CVTST
- case 0x500: OPERATE_FFF("adds/suc", Ra(instruction), Rb(instruction), Rc(instruction)); break; // ADDS/SUC
- case 0x501: OPERATE_FFF("subs/suc", Ra(instruction), Rb(instruction), Rc(instruction)); break; // SUBS/SUC
- case 0x502: OPERATE_FFF("muls/suc", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MULS/SUC
- case 0x503: OPERATE_FFF("divs/suc", Ra(instruction), Rb(instruction), Rc(instruction)); break; // DIVS/SUC
- case 0x520: OPERATE_FFF("addt/suc", Ra(instruction), Rb(instruction), Rc(instruction)); break; // ADDT/SUC
- case 0x521: OPERATE_FFF("subt/suc", Ra(instruction), Rb(instruction), Rc(instruction)); break; // SUBT/SUC
- case 0x522: OPERATE_FFF("mult/suc", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MULT/SUC
- case 0x523: OPERATE_FFF("divt/suc", Ra(instruction), Rb(instruction), Rc(instruction)); break; // DIVT/SUC
- case 0x52c: OPERATE_FF("cvttts/suc", Rb(instruction), Rc(instruction)); break; // CVTTS/SUC
- case 0x52f: OPERATE_FF("cvttq/svc", Rb(instruction), Rc(instruction)); break; // CVTTQ/SVC
- case 0x540: OPERATE_FFF("adds/sum", Ra(instruction), Rb(instruction), Rc(instruction)); break; // ADDS/SUM
- case 0x541: OPERATE_FFF("subs/sum", Ra(instruction), Rb(instruction), Rc(instruction)); break; // SUBS/SUM
- case 0x542: OPERATE_FFF("muls/sum", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MULS/SUM
- case 0x543: OPERATE_FFF("divs/sum", Ra(instruction), Rb(instruction), Rc(instruction)); break; // DIVS/SUM
- case 0x560: OPERATE_FFF("addt/sum", Ra(instruction), Rb(instruction), Rc(instruction)); break; // ADDT/SUM
- case 0x561: OPERATE_FFF("subt/sum", Ra(instruction), Rb(instruction), Rc(instruction)); break; // SUBT/SUM
- case 0x562: OPERATE_FFF("mult/sum", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MULT/SUM
- case 0x563: OPERATE_FFF("divt/sum", Ra(instruction), Rb(instruction), Rc(instruction)); break; // DIVT/SUM
- case 0x56c: OPERATE_FF("cvttts/sum", Rb(instruction), Rc(instruction)); break; // CVTTS/SUM
- case 0x56f: OPERATE_FF("cvttq/svm", Rb(instruction), Rc(instruction)); break; // CVTTQ/SVM
- case 0x580: OPERATE_FFF("adds/su", Ra(instruction), Rb(instruction), Rc(instruction)); break; // ADDS/SU
- case 0x581:
- if (Ra(instruction) == 31)
- OPERATE_FF("negs/su", Rb(instruction), Rc(instruction));
- else
- OPERATE_FFF("subs/su", Ra(instruction), Rb(instruction), Rc(instruction)); // SUBS/SU
- break;
- case 0x582: OPERATE_FFF("muls/su", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MULS/SU
- case 0x583: OPERATE_FFF("divs/su", Ra(instruction), Rb(instruction), Rc(instruction)); break; // DIVS/SU
- case 0x5a0: OPERATE_FFF("addt/su", Ra(instruction), Rb(instruction), Rc(instruction)); break; // ADDT/SU
- case 0x5a1:
- if (Ra(instruction) == 31)
- OPERATE_FF("negt/su", Rb(instruction), Rc(instruction));
- else
- OPERATE_FFF("subt/su", Ra(instruction), Rb(instruction), Rc(instruction)); // SUBT/SU
- break;
- case 0x5a2: OPERATE_FFF("mult/su", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MULT/SU
- case 0x5a3: OPERATE_FFF("divt/su", Ra(instruction), Rb(instruction), Rc(instruction)); break; // DIVT/SU
- case 0x5a4: OPERATE_FFF("cmptun/su", Ra(instruction), Rb(instruction), Rc(instruction)); break; // CMPTUN/SU
- case 0x5a5: OPERATE_FFF("cmpteq/su", Ra(instruction), Rb(instruction), Rc(instruction)); break; // CMPTEQ/SU
- case 0x5a6: OPERATE_FFF("cmptlt/su", Ra(instruction), Rb(instruction), Rc(instruction)); break; // CMPTLT/SU
- case 0x5a7: OPERATE_FFF("cmptle/su", Ra(instruction), Rb(instruction), Rc(instruction)); break; // CMPTLE/SU
- case 0x5ac: OPERATE_FF("cvttts/su", Rb(instruction), Rc(instruction)); break; // CVTTS/SU
- case 0x5af: OPERATE_FF("cvttq/sv", Rb(instruction), Rc(instruction)); break; // CVTTQ/SV
- case 0x5c0: OPERATE_FFF("adds/sud", Ra(instruction), Rb(instruction), Rc(instruction)); break; // ADDS/SUD
- case 0x5c1: OPERATE_FFF("subs/sud", Ra(instruction), Rb(instruction), Rc(instruction)); break; // SUBS/SUD
- case 0x5c2: OPERATE_FFF("muls/sud", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MULS/SUD
- case 0x5c3: OPERATE_FFF("divs/sud", Ra(instruction), Rb(instruction), Rc(instruction)); break; // DIVS/SUD
- case 0x5e0: OPERATE_FFF("addt/sud", Ra(instruction), Rb(instruction), Rc(instruction)); break; // ADDT/SUD
- case 0x5e1: OPERATE_FFF("subt/sud", Ra(instruction), Rb(instruction), Rc(instruction)); break; // SUBT/SUD
- case 0x5e2: OPERATE_FFF("mult/sud", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MULT/SUD
- case 0x5e3: OPERATE_FFF("divt/sud", Ra(instruction), Rb(instruction), Rc(instruction)); break; // DIVT/SUD
- case 0x5ec: OPERATE_FF("cvttts/sud", Rb(instruction), Rc(instruction)); break; // CVTTS/SUD
- case 0x5ef: OPERATE_FF("cvttq/svd", Rb(instruction), Rc(instruction)); break; // CVTTQ/SVD
- case 0x6ac: OPERATE_FF("cvtst/s", Rb(instruction), Rc(instruction)); break; // CVTST/S
- case 0x700: OPERATE_FFF("adds/suic", Ra(instruction), Rb(instruction), Rc(instruction)); break; // ADDS/SUIC
- case 0x701: OPERATE_FFF("subs/suic", Ra(instruction), Rb(instruction), Rc(instruction)); break; // SUBS/SUIC
- case 0x702: OPERATE_FFF("muls/suic", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MULS/SUIC
- case 0x703: OPERATE_FFF("divs/suic", Ra(instruction), Rb(instruction), Rc(instruction)); break; // DIVS/SUIC
- case 0x720: OPERATE_FFF("addt/suic", Ra(instruction), Rb(instruction), Rc(instruction)); break; // ADDT/SUIC
- case 0x721: OPERATE_FFF("subt/suic", Ra(instruction), Rb(instruction), Rc(instruction)); break; // SUBT/SUIC
- case 0x722: OPERATE_FFF("mult/suic", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MULT/SUIC
- case 0x723: OPERATE_FFF("divt/suic", Ra(instruction), Rb(instruction), Rc(instruction)); break; // DIVT/SUIC
- case 0x72c: OPERATE_FF("cvttts/suic", Rb(instruction), Rc(instruction)); break; // CVTTS/SUIC
- case 0x72f: OPERATE_FF("cvttq/svic", Rb(instruction), Rc(instruction)); break; // CVTTQ/SVIC
- case 0x73c: OPERATE_FF("cvtqs/suic", Rb(instruction), Rc(instruction)); break; // CVTQS/SUIC
- case 0x73e: OPERATE_FF("cvtqt/suic", Rb(instruction), Rc(instruction)); break; // CVTQT/SUIC
- case 0x740: OPERATE_FFF("adds/suim", Ra(instruction), Rb(instruction), Rc(instruction)); break; // ADDS/SUIM
- case 0x741: OPERATE_FFF("subs/suim", Ra(instruction), Rb(instruction), Rc(instruction)); break; // SUBS/SUIM
- case 0x742: OPERATE_FFF("muls/suim", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MULS/SUIM
- case 0x743: OPERATE_FFF("divs/suim", Ra(instruction), Rb(instruction), Rc(instruction)); break; // DIVS/SUIM
- case 0x760: OPERATE_FFF("addt/suim", Ra(instruction), Rb(instruction), Rc(instruction)); break; // ADDT/SUIM
- case 0x761: OPERATE_FFF("subt/suim", Ra(instruction), Rb(instruction), Rc(instruction)); break; // SUBT/SUIM
- case 0x762: OPERATE_FFF("mult/suim", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MULT/SUIM
- case 0x763: OPERATE_FFF("divt/suim", Ra(instruction), Rb(instruction), Rc(instruction)); break; // DIVT/SUIM
- case 0x76c: OPERATE_FF("cvttts/suim", Rb(instruction), Rc(instruction)); break; // CVTTS/SUIM
- case 0x76f: OPERATE_FF("cvttq/svim", Rb(instruction), Rc(instruction)); break; // CVTTQ/SVIM
- case 0x77c: OPERATE_FF("cvtqs/suim", Rb(instruction), Rc(instruction)); break; // CVTQS/SUIM
- case 0x77e: OPERATE_FF("cvtqt/suim", Rb(instruction), Rc(instruction)); break; // CVTQT/SUIM
- case 0x780: OPERATE_FFF("adds/sui", Ra(instruction), Rb(instruction), Rc(instruction)); break; // ADDS/SUI
- case 0x781:
- if (Ra(instruction) == 31)
- OPERATE_FF("negs/sui", Rb(instruction), Rc(instruction));
- else
- OPERATE_FFF("subs/sui", Ra(instruction), Rb(instruction), Rc(instruction)); // SUBS/SUI
- break;
- case 0x782: OPERATE_FFF("muls/sui", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MULS/SUI
- case 0x783: OPERATE_FFF("divs/sui", Ra(instruction), Rb(instruction), Rc(instruction)); break; // DIVS/SUI
- case 0x7a0: OPERATE_FFF("addt/sui", Ra(instruction), Rb(instruction), Rc(instruction)); break; // ADDT/SUI
- case 0x7a1:
- if (Ra(instruction) == 31)
- OPERATE_FF("negt/sui", Rb(instruction), Rc(instruction));
- else
- OPERATE_FFF("subt/sui", Ra(instruction), Rb(instruction), Rc(instruction)); // SUBT/SUI
- break;
- case 0x7a2: OPERATE_FFF("mult/sui", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MULT/SUI
- case 0x7a3: OPERATE_FFF("divt/sui", Ra(instruction), Rb(instruction), Rc(instruction)); break; // DIVT/SUI
- case 0x7ac: OPERATE_FF("cvttts/sui", Rb(instruction), Rc(instruction)); break; // CVTTS/SUI
- case 0x7af: OPERATE_FF("cvttq/svi", Rb(instruction), Rc(instruction)); break; // CVTTQ/SVI
- case 0x7bc: OPERATE_FF("cvtqs/sui", Rb(instruction), Rc(instruction)); break; // CVTQS/SUI
- case 0x7be: OPERATE_FF("cvtqt/sui", Rb(instruction), Rc(instruction)); break; // CVTQT/SUI
- case 0x7c0: OPERATE_FFF("adds/suid", Ra(instruction), Rb(instruction), Rc(instruction)); break; // ADDS/SUID
- case 0x7c1: OPERATE_FFF("subs/suid", Ra(instruction), Rb(instruction), Rc(instruction)); break; // SUBS/SUID
- case 0x7c2: OPERATE_FFF("muls/suid", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MULS/SUID
- case 0x7c3: OPERATE_FFF("divs/suid", Ra(instruction), Rb(instruction), Rc(instruction)); break; // DIVS/SUID
- case 0x7e0: OPERATE_FFF("addt/suid", Ra(instruction), Rb(instruction), Rc(instruction)); break; // ADDT/SUID
- case 0x7e1: OPERATE_FFF("subt/suid", Ra(instruction), Rb(instruction), Rc(instruction)); break; // SUBT/SUID
- case 0x7e2: OPERATE_FFF("mult/suid", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MULT/SUID
- case 0x7e3: OPERATE_FFF("divt/suid", Ra(instruction), Rb(instruction), Rc(instruction)); break; // DIVT/SUID
- case 0x7ec: OPERATE_FF("cvttts/suid", Rb(instruction), Rc(instruction)); break; // CVTTS/SUID
- case 0x7ef: OPERATE_FF("cvttq/svid", Rb(instruction), Rc(instruction)); break; // CVTTQ/SVID
- case 0x7fc: OPERATE_FF("cvtqs/suid", Rb(instruction), Rc(instruction)); break; // CVTQS/SUID
- case 0x7fe: OPERATE_FF("cvtqt/suid", Rb(instruction), Rc(instruction)); break; // CVTQT/SUID
-
- default: UNKNOWN("flti*"); break;
- }
- break;
- case 0x17: // FLTL* (floating)
- switch ((instruction >> 5) & 0x7ff)
- {
- case 0x010: OPERATE_FF("cvtlq", Rb(instruction), Rc(instruction)); break; // CVTLQ
- case 0x020:
- if (Ra(instruction) == 31 && Rb(instruction) == 31 && Rc(instruction) == 31)
- MISC("fnop");
- else if (Ra(instruction) == 31 && Rb(instruction) == 31)
- OPERATE_F("fclr", Rc(instruction));
- else if (Ra(instruction) == 31)
- OPERATE_FF("fabs", Rb(instruction), Rc(instruction));
- else if (Ra(instruction) == Rb(instruction))
- OPERATE_FF("fmov", Rb(instruction), Rc(instruction));
- else
- OPERATE_FFF("cpys", Ra(instruction), Rb(instruction), Rc(instruction)); // CPYS
- break;
- case 0x021:
- if (Ra(instruction) == Rb(instruction))
- OPERATE_FF("fneg", Rb(instruction), Rc(instruction));
- else
- OPERATE_FFF("cpysn", Ra(instruction), Rb(instruction), Rc(instruction)); // CPYSN
- break;
- case 0x022: OPERATE_FFF("cpyse", Ra(instruction), Rb(instruction), Rc(instruction)); break; // CPYSE
- case 0x024:
- if (Ra(instruction) == Rb(instruction) && Rb(instruction) == Rc(instruction))
- OPERATE_F("mt_fpcr", Rc(instruction));
- else
- OPERATE_FFF("mt_fpcr", Ra(instruction), Rb(instruction), Rc(instruction)); // MT_FPCR
- break;
- case 0x025:
- if (Ra(instruction) == Rb(instruction) && Rb(instruction) == Rc(instruction))
- OPERATE_F("mf_fpcr", Rc(instruction));
- else
- OPERATE_FFF("mf_fpcr", Ra(instruction), Rb(instruction), Rc(instruction)); // MF_FPCR
- break;
- case 0x02a: OPERATE_FFF("fcmoveq", Ra(instruction), Rb(instruction), Rc(instruction)); break; // FCMOVEQ
- case 0x02b: OPERATE_FFF("fcmovne", Ra(instruction), Rb(instruction), Rc(instruction)); break; // FCMOVNE
- case 0x02c: OPERATE_FFF("fcmovlt", Ra(instruction), Rb(instruction), Rc(instruction)); break; // FCMOVLT
- case 0x02d: OPERATE_FFF("fcmovge", Ra(instruction), Rb(instruction), Rc(instruction)); break; // FCMOVGE
- case 0x02e: OPERATE_FFF("fcmovle", Ra(instruction), Rb(instruction), Rc(instruction)); break; // FCMOVLE
- case 0x02f: OPERATE_FFF("fcmovgt", Ra(instruction), Rb(instruction), Rc(instruction)); break; // FCMOVGT
- case 0x030: OPERATE_FF("cvtql", Rb(instruction), Rc(instruction)); break; // CVTQL
- case 0x130: OPERATE_FF("cvtql/v", Rb(instruction), Rc(instruction)); break; // CVTQL/V
- case 0x530: OPERATE_FF("cvtql/sv", Rb(instruction), Rc(instruction)); break; // CVTQL/SV
-
- default: UNKNOWN("fltl*"); break;
- }
- break;
- case 0x18: // MISC* (miscellaneous)
- switch (u16(instruction))
- {
- case 0x0000: MISC("trapb"); break; // TRAPB
- case 0x0400: MISC("excb"); break; // EXCB
- case 0x4000: MISC("mb"); break; // MB
- case 0x4400: MISC("wmb"); break; // WMB
- case 0x8000: MISC_M("fetch", Rb(instruction)); break; // FETCH
- case 0xa000: MISC_M("fetch_m", Rb(instruction)); break; // FETCH_M
- case 0xc000: MISC_R("rpcc", Ra(instruction)); break; // RPCC
- case 0xe000: MISC_R("rc", Ra(instruction)); break; // RC
- case 0xe800: MISC_M("ecb", Rb(instruction)); break; // ECB
- case 0xf000: MISC_R("rs", Ra(instruction)); break; // RS
- case 0xf800: MISC_M("wh64", Rb(instruction)); break; // WH64
-
- default: UNKNOWN("misc*"); break;
- }
- break;
- case 0x19: // PAL19
- switch ((instruction >> 5) & 0x7)
- {
- case 0x0: MISC("nop"); break;
- case 0x1: OPERATE_RI("hw_mfpr/i", Rb(instruction), Rc(instruction)); break;
- case 0x2: OPERATE_RA("hw_mfpr/a", Rb(instruction), Rc(instruction)); break;
- case 0x3: OPERATE_RAI("hw_mfpr/ai", Rb(instruction), Rc(instruction)); break;
- case 0x4: OPERATE_RP("hw_mfpr/p", Rb(instruction), Rc(instruction)); break;
- case 0x5: OPERATE_RPI("hw_mfpr/pi", Rb(instruction), Rc(instruction)); break;
- case 0x6: OPERATE_RPA("hw_mfpr/pa", Rb(instruction), Rc(instruction)); break;
- case 0x7: OPERATE_RPAI("hw_mfpr/pai", Rb(instruction), Rc(instruction)); break;
- }
- break;
-
- case 0x1a: // JSR* (jump)
- switch ((instruction >> 14) & 3)
- {
- case 0: JUMP("jmp", Ra(instruction), Rb(instruction)); break; // JMP
- case 1: JUMP("jsr", Ra(instruction), Rb(instruction)); flags |= STEP_OVER; break; // JSR
- case 2: JUMP("ret", Ra(instruction), Rb(instruction)); flags |= STEP_OUT; break; // RET
- case 3: JUMP("jsr_c", Ra(instruction), Rb(instruction)); break; // JSR_COROUTINE
- }
- break;
- case 0x1b: // PAL1B
- switch ((instruction >> 12) & 0xf)
- {
- case 0x0: MEMORY_R("hw_ldl", Ra(instruction), Disp_P(instruction), Rb(instruction)); break;
- case 0x1: MEMORY_R("hw_ldq", Ra(instruction), Disp_P(instruction), Rb(instruction)); break;
- case 0x2: MEMORY_R("hw_ldl/r", Ra(instruction), Disp_P(instruction), Rb(instruction)); break;
- case 0x3: MEMORY_R("hw_ldq/r", Ra(instruction), Disp_P(instruction), Rb(instruction)); break;
- case 0x4: MEMORY_R("hw_ldl/a", Ra(instruction), Disp_P(instruction), Rb(instruction)); break;
- case 0x5: MEMORY_R("hw_ldq/a", Ra(instruction), Disp_P(instruction), Rb(instruction)); break;
- case 0x6: MEMORY_R("hw_ldl/ar", Ra(instruction), Disp_P(instruction), Rb(instruction)); break;
- case 0x7: MEMORY_R("hw_ldq/ar", Ra(instruction), Disp_P(instruction), Rb(instruction)); break;
- case 0x8: MEMORY_R("hw_ldl/p", Ra(instruction), Disp_P(instruction), Rb(instruction)); break;
- case 0x9: MEMORY_R("hw_ldq/p", Ra(instruction), Disp_P(instruction), Rb(instruction)); break;
- case 0xa: MEMORY_R("hw_ldl/pr", Ra(instruction), Disp_P(instruction), Rb(instruction)); break;
- case 0xb: MEMORY_R("hw_ldq/pr", Ra(instruction), Disp_P(instruction), Rb(instruction)); break;
- case 0xc: MEMORY_R("hw_ldl/pa", Ra(instruction), Disp_P(instruction), Rb(instruction)); break;
- case 0xd: MEMORY_R("hw_ldq/pa", Ra(instruction), Disp_P(instruction), Rb(instruction)); break;
- case 0xe: MEMORY_R("hw_ldl/par", Ra(instruction), Disp_P(instruction), Rb(instruction)); break;
- case 0xf: MEMORY_R("hw_ldq/par", Ra(instruction), Disp_P(instruction), Rb(instruction)); break;
- }
- break;
- case 0x1c: // FPTI* (floating to integer)
- switch ((instruction >> 5) & 0xff)
- {
- // register variants
- case 0x00: OPERATE_RR("sextb", Rb(instruction), Rc(instruction)); break; // SEXTB (BWX)
- case 0x01: OPERATE_RR("sextw", Rb(instruction), Rc(instruction)); break; // SEXTW (BWX)
- case 0x30: OPERATE_RR("ctpop", Rb(instruction), Rc(instruction)); break; // CTPOP (CIX)
- case 0x31: OPERATE_RRR("perr", Ra(instruction), Rb(instruction), Rc(instruction)); break; // PERR (MVI)
- case 0x32: OPERATE_RR("ctlz", Rb(instruction), Rc(instruction)); break; // CTLZ (CIX)
- case 0x33: OPERATE_RR("cttz", Rb(instruction), Rc(instruction)); break; // CTTZ (CIX)
- case 0x34: OPERATE_RR("unpkbw", Rb(instruction), Rc(instruction)); break; // UNPKBW (MVI)
- case 0x35: OPERATE_RR("unpkbl", Rb(instruction), Rc(instruction)); break; // UNPKBL (MVI)
- case 0x36: OPERATE_RR("pkwb", Rb(instruction), Rc(instruction)); break; // PKWB (MVI)
- case 0x37: OPERATE_RR("pklb", Rb(instruction), Rc(instruction)); break; // PKLB (MVI)
- case 0x38: OPERATE_RRR("minsb8", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MINSB8 (MVI)
- case 0x39: OPERATE_RRR("minsw4", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MINSW4 (MVI)
- case 0x3a: OPERATE_RRR("minub8", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MINUB8 (MVI)
- case 0x3b: OPERATE_RRR("minuw4", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MINUW4 (MVI)
- case 0x3c: OPERATE_RRR("maxub8", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MAXUB8 (MVI)
- case 0x3d: OPERATE_RRR("maxuw4", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MAXUW4 (MVI)
- case 0x3e: OPERATE_RRR("maxsb8", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MAXSB8 (MVI)
- case 0x3f: OPERATE_RRR("maxsw4", Ra(instruction), Rb(instruction), Rc(instruction)); break; // MAXSW4 (MVI)
- case 0x70: OPERATE_FR("ftoit", Ra(instruction), Rc(instruction)); break; // FTOIT (FIX)
- case 0x78: OPERATE_FR("ftois", Ra(instruction), Rc(instruction)); break; // FTOIS (FIX)
-
- // immediate variants
- case 0x80: OPERATE_IR("sextb", Im(instruction), Rc(instruction)); break; // SEXTB (BWX)
- case 0x81: OPERATE_IR("sextw", Im(instruction), Rc(instruction)); break; // SEXTW (BWX)
- case 0xb8: OPERATE_RIR("minsb8", Ra(instruction), Im(instruction), Rc(instruction)); break; // MINSB8 (MVI)
- case 0xb9: OPERATE_RIR("minsw4", Ra(instruction), Im(instruction), Rc(instruction)); break; // MINSW4 (MVI)
- case 0xba: OPERATE_RIR("minub8", Ra(instruction), Im(instruction), Rc(instruction)); break; // MINUB8 (MVI)
- case 0xbb: OPERATE_RIR("minuw4", Ra(instruction), Im(instruction), Rc(instruction)); break; // MINUW4 (MVI)
- case 0xbc: OPERATE_RIR("maxub8", Ra(instruction), Im(instruction), Rc(instruction)); break; // MAXUB8 (MVI)
- case 0xbd: OPERATE_RIR("maxuw4", Ra(instruction), Im(instruction), Rc(instruction)); break; // MAXUW4 (MVI)
- case 0xbe: OPERATE_RIR("maxsb8", Ra(instruction), Im(instruction), Rc(instruction)); break; // MAXSB8 (MVI)
- case 0xbf: OPERATE_RIR("maxsw4", Ra(instruction), Im(instruction), Rc(instruction)); break; // MAXSW4 (MVI)
-
- default: UNKNOWN("fpti*"); break;
- }
- break;
- case 0x1d: // PAL1D
- switch ((instruction >> 5) & 0x7)
- {
- case 0x0: MISC("nop"); break;
- case 0x1: OPERATE_RI("hw_mtpr/i", Rb(instruction), Rc(instruction)); break;
- case 0x2: OPERATE_RA("hw_mtpr/a", Rb(instruction), Rc(instruction)); break;
- case 0x3: OPERATE_RAI("hw_mtpr/ai", Rb(instruction), Rc(instruction)); break;
- case 0x4: OPERATE_RP("hw_mtpr/p", Rb(instruction), Rc(instruction)); break;
- case 0x5: OPERATE_RPI("hw_mtpr/pi", Rb(instruction), Rc(instruction)); break;
- case 0x6: OPERATE_RPA("hw_mtpr/pa", Rb(instruction), Rc(instruction)); break;
- case 0x7: OPERATE_RPAI("hw_mtpr/pai", Rb(instruction), Rc(instruction)); break;
- }
- break;
- case 0x1e: // PAL1E
- switch (instruction & 0x03ffffff)
- {
- case 0x03ff8000: MISC("hw_rei"); break;
-
- default: UNKNOWN("pal1e"); break;
- }
- break;
- case 0x1f: // PAL1F
- switch ((instruction >> 12) & 0xf)
- {
- case 0x0: MEMORY_R("hw_stl", Ra(instruction), Disp_P(instruction), Rb(instruction)); break;
- case 0x1: MEMORY_R("hw_stq", Ra(instruction), Disp_P(instruction), Rb(instruction)); break;
- case 0x2: MEMORY_R("hw_stl/r", Ra(instruction), Disp_P(instruction), Rb(instruction)); break;
- case 0x3: MEMORY_R("hw_stq/r", Ra(instruction), Disp_P(instruction), Rb(instruction)); break;
- case 0x4: MEMORY_R("hw_stl/a", Ra(instruction), Disp_P(instruction), Rb(instruction)); break;
- case 0x5: MEMORY_R("hw_stq/a", Ra(instruction), Disp_P(instruction), Rb(instruction)); break;
- case 0x6: MEMORY_R("hw_stl/ar", Ra(instruction), Disp_P(instruction), Rb(instruction)); break;
- case 0x7: MEMORY_R("hw_stq/ar", Ra(instruction), Disp_P(instruction), Rb(instruction)); break;
- case 0x8: MEMORY_R("hw_stl/p", Ra(instruction), Disp_P(instruction), Rb(instruction)); break;
- case 0x9: MEMORY_R("hw_stq/p", Ra(instruction), Disp_P(instruction), Rb(instruction)); break;
- case 0xa: MEMORY_R("hw_stl/pr", Ra(instruction), Disp_P(instruction), Rb(instruction)); break;
- case 0xb: MEMORY_R("hw_stq/pr", Ra(instruction), Disp_P(instruction), Rb(instruction)); break;
- case 0xc: MEMORY_R("hw_stl/pa", Ra(instruction), Disp_P(instruction), Rb(instruction)); break;
- case 0xd: MEMORY_R("hw_stq/pa", Ra(instruction), Disp_P(instruction), Rb(instruction)); break;
- case 0xe: MEMORY_R("hw_stl/par", Ra(instruction), Disp_P(instruction), Rb(instruction)); break;
- case 0xf: MEMORY_R("hw_stq/par", Ra(instruction), Disp_P(instruction), Rb(instruction)); break;
- }
- break;
- // memory format
- case 0x20: MEMORY_F("ldf", Ra(instruction), Disp_M(instruction), Rb(instruction)); break; // LDF
- case 0x21: MEMORY_F("ldg", Ra(instruction), Disp_M(instruction), Rb(instruction)); break; // LDG
- case 0x22: MEMORY_F("lds", Ra(instruction), Disp_M(instruction), Rb(instruction)); break; // LDS
- case 0x23: MEMORY_F("ldt", Ra(instruction), Disp_M(instruction), Rb(instruction)); break; // LDT
- case 0x24: MEMORY_F("stf", Ra(instruction), Disp_M(instruction), Rb(instruction)); break; // STF
- case 0x25: MEMORY_F("stg", Ra(instruction), Disp_M(instruction), Rb(instruction)); break; // STG
- case 0x26: MEMORY_F("sts", Ra(instruction), Disp_M(instruction), Rb(instruction)); break; // STS
- case 0x27: MEMORY_F("stt", Ra(instruction), Disp_M(instruction), Rb(instruction)); break; // STT
- case 0x28: MEMORY_R("ldl", Ra(instruction), Disp_M(instruction), Rb(instruction)); break; // LDL
- case 0x29: MEMORY_R("ldq", Ra(instruction), Disp_M(instruction), Rb(instruction)); break; // LDQ
- case 0x2a: MEMORY_R("ldl_l", Ra(instruction), Disp_M(instruction), Rb(instruction)); break; // LDL_L
- case 0x2b: MEMORY_R("ldq_l", Ra(instruction), Disp_M(instruction), Rb(instruction)); break; // LDQ_L
- case 0x2c: MEMORY_R("stl", Ra(instruction), Disp_M(instruction), Rb(instruction)); break; // STL
- case 0x2d: MEMORY_R("stq", Ra(instruction), Disp_M(instruction), Rb(instruction)); break; // STQ
- case 0x2e: MEMORY_R("stl_c", Ra(instruction), Disp_M(instruction), Rb(instruction)); break; // STL_C
- case 0x2f: MEMORY_R("stq_c", Ra(instruction), Disp_M(instruction), Rb(instruction)); break; // STQ_C
-
- // branch format
- case 0x30:
- if (Ra(instruction) == 31)
- BRANCH("br", Disp_B(instruction));
- else
- BRANCH_R("br", Ra(instruction), Disp_B(instruction)); // BR
- break;
- case 0x31: BRANCH_F("fbeq", Ra(instruction), Disp_B(instruction)); break; // FBEQ
- case 0x32: BRANCH_F("fblt", Ra(instruction), Disp_B(instruction)); break; // FBLT
- case 0x33: BRANCH_F("fble", Ra(instruction), Disp_B(instruction)); break; // FBLE
- case 0x34: BRANCH_R("bsr", Ra(instruction), Disp_B(instruction)); break; // BSR
- case 0x35: BRANCH_F("fbne", Ra(instruction), Disp_B(instruction)); break; // FBNE
- case 0x36: BRANCH_F("fbge", Ra(instruction), Disp_B(instruction)); break; // FBGE
- case 0x37: BRANCH_F("fbgt", Ra(instruction), Disp_B(instruction)); break; // FBGT
- case 0x38: BRANCH_R("blbc", Ra(instruction), Disp_B(instruction)); break; // BLBC
- case 0x39: BRANCH_R("beq", Ra(instruction), Disp_B(instruction)); break; // BEQ
- case 0x3a: BRANCH_R("blt", Ra(instruction), Disp_B(instruction)); break; // BLT
- case 0x3b: BRANCH_R("ble", Ra(instruction), Disp_B(instruction)); break; // BLE
- case 0x3c: BRANCH_R("blbs", Ra(instruction), Disp_B(instruction)); break; // BLBS
- case 0x3d: BRANCH_R("bne", Ra(instruction), Disp_B(instruction)); break; // BNE
- case 0x3e: BRANCH_R("bge", Ra(instruction), Disp_B(instruction)); break; // BGE
- case 0x3f: BRANCH_R("bgt", Ra(instruction), Disp_B(instruction)); break; // BGT
- }
-
- return bytes | flags;
-}
diff --git a/src/devices/cpu/alpha/alphad.h b/src/devices/cpu/alpha/alphad.h
deleted file mode 100644
index 3c3475e5730..00000000000
--- a/src/devices/cpu/alpha/alphad.h
+++ /dev/null
@@ -1,40 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Patrick Mackinlay
-
-#ifndef MAME_CPU_ALPHA_ALPHAD_H
-#define MAME_CPU_ALPHA_ALPHAD_H
-
-#pragma once
-
-class alpha_disassembler : public util::disasm_interface
-{
-public:
- enum dasm_type : unsigned
- {
- TYPE_UNKNOWN = 0,
- TYPE_NT = 1,
- TYPE_UNIX = 2,
- TYPE_VMS = 3,
- };
-
- alpha_disassembler(alpha_disassembler::dasm_type type = TYPE_UNKNOWN)
- : m_dasm_type(type)
- {
- };
- virtual ~alpha_disassembler() = default;
-
- virtual u32 opcode_alignment() const override { return 4; };
- virtual offs_t disassemble(std::ostream &stream, offs_t pc, const data_buffer &opcodes, const data_buffer &params) override;
-
-private:
- static char const *const R[];
- static char const *const F[];
-
- static char const *const PT[];
- static char const *const ABX[];
- static char const *const IBX[];
-
- dasm_type const m_dasm_type;
-};
-
-#endif // MAME_CPU_ALPHA_ALPHAD_H
diff --git a/src/devices/cpu/alpha/common.h b/src/devices/cpu/alpha/common.h
deleted file mode 100644
index 0c9668f304a..00000000000
--- a/src/devices/cpu/alpha/common.h
+++ /dev/null
@@ -1,19 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Patrick Mackinlay
-
-#ifndef MAME_CPU_ALPHA_COMMON_H
-#define MAME_CPU_ALPHA_COMMON_H
-
-#pragma once
-
-// instruction field extraction
-#define Ra(x) ((x >> 21) & 31) // 'a' register field
-#define Rb(x) ((x >> 16) & 31) // 'b' register field
-#define Rc(x) (x & 31) // 'c' register field
-#define Im(x) (u64(u8(x >> 13))) // literal immediate field
-
-#define Disp_M(x) (s64(s16(x))) // memory instruction 16-bit signed offset
-#define Disp_P(x) (s64(s16(x << 4)) >> 4) // hardware load/store 12-bit signed offset
-#define Disp_B(x) (s64(s32(x << 11)) >> 9) // branch instruction offset
-
-#endif // MAME_CPU_ALPHA_COMMON_H
diff --git a/src/devices/cpu/alto2/a2ether.cpp b/src/devices/cpu/alto2/a2ether.cpp
index 2c1a3d56a89..7af15ffbad0 100644
--- a/src/devices/cpu/alto2/a2ether.cpp
+++ b/src/devices/cpu/alto2/a2ether.cpp
@@ -522,7 +522,7 @@ void alto2_cpu_device::rx_breath_of_life(void* ptr, int32_t arg)
m_eth.rx_timer->adjust(attotime::from_seconds(m_eth.breath_of_life), 0);
} else {
// receive at a rate of 5.44us per word
- m_eth.rx_timer->adjust(attotime::from_nsec(5440), arg);
+ m_eth.rx_timer->adjust(attotime::from_usec(5.44), arg);
}
eth_wakeup();
}
@@ -557,10 +557,10 @@ void alto2_cpu_device::tx_packet(void* ptr, int32_t arg)
// the FIFO is empty now: clear the OBUSY and WLF flip flops
PUT_ETH_OBUSY(m_eth.status, 0);
PUT_ETH_WLF(m_eth.status, 0);
- m_eth.tx_timer->adjust(attotime::from_nsec(5440), -1);
+ m_eth.tx_timer->adjust(attotime::from_usec(5.44), -1);
} else {
// transmit the next word after 5.44us
- m_eth.tx_timer->adjust(attotime::from_nsec(5440), arg + 1);
+ m_eth.tx_timer->adjust(attotime::from_usec(5.44), arg + 1);
}
eth_wakeup();
}
@@ -722,7 +722,7 @@ void alto2_cpu_device::f2_late_eodfct()
uint8_t a49 = m_ether_a49[16 * m_eth.fifo_wr + m_eth.fifo_rd];
if (0 == BF(a49)) {
m_task_wakeup &= ~(1 << task_ether);
- m_eth.tx_timer->adjust(attotime::from_nsec(5440), 0);
+ m_eth.tx_timer->adjust(attotime::from_usec(5.44), 0);
}
}
@@ -774,7 +774,7 @@ void alto2_cpu_device::f2_late_eefct()
PUT_ETH_OBUSY(m_eth.status, 1);
PUT_ETH_OEOT(m_eth.status, 1);
// end transmitting the packet
- m_eth.tx_timer->adjust(attotime::from_nsec(5440), -1);
+ m_eth.tx_timer->adjust(attotime::from_usec(5.44), -1);
eth_wakeup();
}
diff --git a/src/devices/cpu/amis2000/amis2000.h b/src/devices/cpu/amis2000/amis2000.h
index 58665c7f6bc..2739461b44b 100644
--- a/src/devices/cpu/amis2000/amis2000.h
+++ b/src/devices/cpu/amis2000/amis2000.h
@@ -30,13 +30,12 @@ public:
// S2000 has a hardcoded 7seg table, that (unlike S2200) is officially
// uncustomizable, but wildfire proves to be an exception to that rule.
- void set_7seg_table(const u8 *ptr) { m_7seg_table = ptr; } // d0=A, d1=B, etc.
+ void set_7seg_table(const u8 *ptr) { m_7seg_table = ptr; }
void data_64x4(address_map &map);
void data_80x4(address_map &map);
void program_1_5k(address_map &map);
void program_1k(address_map &map);
-
protected:
// construction/destruction
amis2000_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u8 bu_bits, u8 callstack_bits, u8 callstack_depth, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data)
diff --git a/src/devices/cpu/amis2000/amis2000op.cpp b/src/devices/cpu/amis2000/amis2000op.cpp
index 92c2eaae3dc..e67ee6d153b 100644
--- a/src/devices/cpu/amis2000/amis2000op.cpp
+++ b/src/devices/cpu/amis2000/amis2000op.cpp
@@ -220,13 +220,11 @@ void amis2000_base_device::op_disn()
// DISN: set D-latch to ACC+carry via on-die segment decoder
static const u8 lut_segment_decoder[0x10] =
{
- 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, // 0-7
- 0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71 // 8-F
+ // 0-F digits in bit order [DP]abcdefg
+ 0x7e, 0x30, 0x6d, 0x79, 0x33, 0x5b, 0x5f, 0x70, 0x7f, 0x7b, 0x77, 0x1f, 0x4e, 0x3d, 0x4f, 0x47
};
- const u8 *lut = (m_7seg_table != nullptr) ? m_7seg_table : lut_segment_decoder;
-
- // segments are in order [DP]abcdefg
- m_d = bitswap<7>(lut[m_acc],0,1,2,3,4,5,6) | (m_carry ? 0x80 : 0x00);
+ const u8 *ptr = (m_7seg_table != nullptr) ? m_7seg_table : lut_segment_decoder;
+ m_d = ptr[m_acc] | (m_carry ? 0x80 : 0x00);
d_latch_out(true);
}
@@ -502,6 +500,7 @@ void amis2000_base_device::op_rf2()
}
+
// AMI S2152 specific handlers
void amis2152_cpu_device::d2f_timer_clock()
diff --git a/src/devices/cpu/arm7/lpc210x.cpp b/src/devices/cpu/arm7/lpc210x.cpp
index d2964589e01..19f21ea7b00 100644
--- a/src/devices/cpu/arm7/lpc210x.cpp
+++ b/src/devices/cpu/arm7/lpc210x.cpp
@@ -2,7 +2,7 @@
// copyright-holders:David Haywood
/***************************************************************************
- NXP (Philips) LPC2103 series
+ NXP (Phillips) LPC2103 series
covering LPC2101, LPC2102, LPC2103*
*currently only LPC2103
@@ -276,6 +276,5 @@ void lpc210x_device::write_timer(address_space &space, int timer, int offset, ui
-void lpc210x_device::device_add_mconfig(machine_config &config)
-{
-}
+MACHINE_CONFIG_START(lpc210x_device::device_add_mconfig)
+MACHINE_CONFIG_END
diff --git a/src/devices/cpu/cosmac/cosmac.cpp b/src/devices/cpu/cosmac/cosmac.cpp
index e4155a514c7..0a7bd554d93 100644
--- a/src/devices/cpu/cosmac/cosmac.cpp
+++ b/src/devices/cpu/cosmac/cosmac.cpp
@@ -733,12 +733,10 @@ inline void cosmac_device::run_state()
case cosmac_state::STATE_2_DMA_IN:
dma_input();
- debug();
break;
case cosmac_state::STATE_2_DMA_OUT:
dma_output();
- debug();
break;
case cosmac_state::STATE_3_INT:
diff --git a/src/devices/cpu/dspp/dspp.h b/src/devices/cpu/dspp/dspp.h
index 302d141db13..9ebf08f6f6e 100644
--- a/src/devices/cpu/dspp/dspp.h
+++ b/src/devices/cpu/dspp/dspp.h
@@ -67,10 +67,10 @@ public:
DECLARE_READ16_MEMBER( noise_r );
void update_fifo_dma();
- void print_sums() { printf("%04x: %04x\n", (uint16_t)m_core->m_arg0, (uint16_t)m_core->m_arg1); }
- void print_branches() { printf("Branch: %d %d %d %d %d\n", m_core->m_arg0 ? 1 : 0, m_core->m_arg1 ? 1 : 0, m_core->m_arg2 ? 1 : 0, m_core->m_arg3 ? 1 : 0, m_core->m_arg4 ? 1 : 0); }
- void print_value() { printf("Value is %08x\n", m_core->m_arg0); }
- void print_addr() { printf("New value is %08x from %08x\n", m_core->m_arg0, m_core->m_arg1); }
+ void print_sums() { printf("%04x: %04x\n", (uint16_t)m_core->m_arg0, (uint16_t)m_core->m_arg1); }
+ void print_branches() { printf("Branch: %d %d %d %d %d\n", m_core->m_arg0 ? 1 : 0, m_core->m_arg1 ? 1 : 0, m_core->m_arg2 ? 1 : 0, m_core->m_arg3 ? 1 : 0, m_core->m_arg4 ? 1 : 0); }
+ void print_value() { printf("Value is %08x\n", m_core->m_arg0); }
+ void print_addr() { printf("New value is %08x from %08x\n", m_core->m_arg0, m_core->m_arg1); }
protected:
// device-level overrides
@@ -232,10 +232,10 @@ private:
const char *m_format;
uint32_t m_arg0;
- uint32_t m_arg1;
- uint32_t m_arg2;
- uint32_t m_arg3;
- uint32_t m_arg4;
+ uint32_t m_arg1;
+ uint32_t m_arg2;
+ uint32_t m_arg3;
+ uint32_t m_arg4;
struct
{
@@ -316,7 +316,7 @@ private:
uint32_t cycles; /* accumulated cycles */
uint8_t checkints; /* need to check interrupts before next instruction */
uint8_t checksoftints; /* need to check software interrupts before next instruction */
- uml::code_label abortlabel; /* label to abort execution of this block */
+ uml::code_label abortlabel; /* label to abort execution of this block */
uml::code_label labelnum; /* index for local labels */
};
diff --git a/src/devices/cpu/dspp/dsppdrc.cpp b/src/devices/cpu/dspp/dsppdrc.cpp
index 68b0c3cb741..aefa9b9999c 100644
--- a/src/devices/cpu/dspp/dsppdrc.cpp
+++ b/src/devices/cpu/dspp/dsppdrc.cpp
@@ -22,7 +22,7 @@ using namespace uml;
// map variables
#define MAPVAR_PC M0
-#define MAPVAR_CYCLES M1
+#define MAPVAR_CYCLES M1
// exit codes
#define EXECUTE_OUT_OF_CYCLES 0
@@ -244,12 +244,12 @@ void dspp_device::compile_block(offs_t pc)
if (seqhead->flags & OPFLAG_IS_BRANCH_TARGET)
UML_LABEL(block, seqhead->pc | 0x80000000); // label seqhead->pc
- compiler.abortlabel = compiler.labelnum++;
+ compiler.abortlabel = compiler.labelnum++;
/* iterate over instructions in the sequence and compile them */
for (curdesc = seqhead; curdesc != seqlast->next(); curdesc = curdesc->next())
generate_sequence_instruction(block, &compiler, curdesc);
- UML_LABEL(block, compiler.abortlabel);
+ UML_LABEL(block, compiler.abortlabel);
/* if we need to return to the start, do it */
if (seqlast->flags & OPFLAG_RETURN_TO_START)
@@ -293,11 +293,11 @@ void dspp_device::generate_checksum_block(drcuml_block &block, compiler_state *c
uint32_t sum = seqhead->opptr.w[0];
uint32_t addr = seqhead->physpc;
const void *base = m_codeptr(addr);
- UML_MOV(block, I0, 0);
+ UML_MOV(block, I0, 0);
UML_LOAD(block, I0, base, 0, SIZE_WORD, SCALE_x2); // load i0,base,0,word
- UML_CMP(block, I0, sum); // cmp i0,opptr[0]
- UML_EXHc(block, COND_NE, *m_nocode, seqhead->pc); // exne nocode,seqhead->pc
+ UML_CMP(block, I0, sum); // cmp i0,opptr[0]
+ UML_EXHc(block, COND_NE, *m_nocode, seqhead->pc); // exne nocode,seqhead->pc
}
}
@@ -307,7 +307,7 @@ void dspp_device::generate_checksum_block(drcuml_block &block, compiler_state *c
uint32_t sum = 0;
uint32_t addr = seqhead->physpc;
const void *base = m_codeptr(addr);
- UML_LOAD(block, I0, base, 0, SIZE_WORD, SCALE_x2); // load i0,base,0,dword
+ UML_LOAD(block, I0, base, 0, SIZE_WORD, SCALE_x2); // load i0,base,0,dword
sum += seqhead->opptr.w[0];
for (curdesc = seqhead->next(); curdesc != seqlast->next(); curdesc = curdesc->next())
if (!(curdesc->flags & OPFLAG_VIRTUAL_NOOP))
@@ -315,12 +315,12 @@ void dspp_device::generate_checksum_block(drcuml_block &block, compiler_state *c
addr = curdesc->physpc;
base = m_codeptr(addr);
assert(base != nullptr);
- UML_LOAD(block, I1, base, 0, SIZE_WORD, SCALE_x2); // load i1,base,dword
- UML_ADD(block, I0, I0, I1); // add i0,i0,i1
+ UML_LOAD(block, I1, base, 0, SIZE_WORD, SCALE_x2); // load i1,base,dword
+ UML_ADD(block, I0, I0, I1); // add i0,i0,i1
sum += curdesc->opptr.w[0];
}
- UML_CMP(block, I0, sum); // cmp i0,sum
- UML_EXHc(block, COND_NE, *m_nocode, epc(seqhead)); // exne nocode,seqhead->pc
+ UML_CMP(block, I0, sum); // cmp i0,sum
+ UML_EXHc(block, COND_NE, *m_nocode, epc(seqhead)); // exne nocode,seqhead->pc
}
}
@@ -373,12 +373,12 @@ void dspp_device::static_generate_nocode_handler()
/* generate a hash jump via the current mode and PC */
alloc_handle(m_drcuml.get(), &m_nocode, "nocode");
- UML_HANDLE(block, *m_nocode); // handle nocode
- UML_GETEXP(block, I0); // getexp i0
+ UML_HANDLE(block, *m_nocode); // handle nocode
+ UML_GETEXP(block, I0); // getexp i0
- UML_MOV(block, mem(&m_core->m_pc), I0); // mov [pc],i0
- //save_fast_iregs(block); // <save fastregs>
- UML_EXIT(block, EXECUTE_MISSING_CODE); // exit EXECUTE_MISSING_CODE
+ UML_MOV(block, mem(&m_core->m_pc), I0); // mov [pc],i0
+ //save_fast_iregs(block); // <save fastregs>
+ UML_EXIT(block, EXECUTE_MISSING_CODE); // exit EXECUTE_MISSING_CODE
block.end();
}
@@ -390,11 +390,11 @@ void dspp_device::static_generate_out_of_cycles()
/* generate a hash jump via the current mode and PC */
alloc_handle(m_drcuml.get(), &m_out_of_cycles, "out_of_cycles");
- UML_HANDLE(block, *m_out_of_cycles); // handle out_of_cycles
- UML_GETEXP(block, I0); // getexp i0
- UML_MOV(block, mem(&m_core->m_pc), I0); // mov <pc>,i0
- //save_fast_iregs(block); // <save fastregs>
- UML_EXIT(block, EXECUTE_OUT_OF_CYCLES); // exit EXECUTE_OUT_OF_CYCLES
+ UML_HANDLE(block, *m_out_of_cycles); // handle out_of_cycles
+ UML_GETEXP(block, I0); // getexp i0
+ UML_MOV(block, mem(&m_core->m_pc), I0); // mov <pc>,i0
+ //save_fast_iregs(block); // <save fastregs>
+ UML_EXIT(block, EXECUTE_OUT_OF_CYCLES); // exit EXECUTE_OUT_OF_CYCLES
block.end();
}
@@ -402,28 +402,28 @@ void dspp_device::static_generate_out_of_cycles()
void dspp_device::generate_sequence_instruction(drcuml_block &block, compiler_state *compiler, const opcode_desc *desc)
{
/* set the PC map variable */
- UML_MAPVAR(block, MAPVAR_PC, desc->pc); // mapvar PC,desc->pc
+ UML_MAPVAR(block, MAPVAR_PC, desc->pc); // mapvar PC,desc->pc
/* accumulate total cycles */
compiler->cycles += desc->cycles;
/* update the icount map variable */
- UML_MAPVAR(block, MAPVAR_CYCLES, compiler->cycles); // mapvar CYCLES,compiler->cycles
+ UML_MAPVAR(block, MAPVAR_CYCLES, compiler->cycles); // mapvar CYCLES,compiler->cycles
/* if we are debugging, call the debugger */
if ((machine().debug_flags & DEBUG_FLAG_ENABLED) != 0)
{
- UML_MOV(block, mem(&m_core->m_pc), desc->pc); // mov [pc],desc->pc
- //save_fast_iregs(block); // <save fastregs>
- UML_DEBUG(block, desc->pc); // debug desc->pc
+ UML_MOV(block, mem(&m_core->m_pc), desc->pc); // mov [pc],desc->pc
+ //save_fast_iregs(block); // <save fastregs>
+ UML_DEBUG(block, desc->pc); // debug desc->pc
}
/* if we hit an unmapped address, fatal error */
if (desc->flags & OPFLAG_COMPILER_UNMAPPED)
{
- UML_MOV(block, mem(&m_core->m_pc), desc->pc); // mov [pc],desc->pc
- save_fast_iregs(block); // <save fastregs>
- UML_EXIT(block, EXECUTE_UNMAPPED_CODE); // exit EXECUTE_UNMAPPED_CODE
+ UML_MOV(block, mem(&m_core->m_pc), desc->pc); // mov [pc],desc->pc
+ save_fast_iregs(block); // <save fastregs>
+ UML_EXIT(block, EXECUTE_UNMAPPED_CODE); // exit EXECUTE_UNMAPPED_CODE
}
/* unless this is a virtual no-op, it's a regular instruction */
@@ -438,9 +438,9 @@ void dspp_device::generate_update_cycles(drcuml_block &block, compiler_state *co
/* account for cycles */
if (compiler->cycles > 0)
{
- UML_SUB(block, mem(&m_core->m_icount), mem(&m_core->m_icount), MAPVAR_CYCLES); // sub icount,icount,cycles
- UML_MAPVAR(block, MAPVAR_CYCLES, 0); // mapvar cycles,0
- UML_EXHc(block, COND_S, *m_out_of_cycles, param); // exh out_of_cycles,nextpc
+ UML_SUB(block, mem(&m_core->m_icount), mem(&m_core->m_icount), MAPVAR_CYCLES); // sub icount,icount,cycles
+ UML_MAPVAR(block, MAPVAR_CYCLES, 0); // mapvar cycles,0
+ UML_EXHc(block, COND_S, *m_out_of_cycles, param); // exh out_of_cycles,nextpc
}
compiler->cycles = 0;
}
@@ -458,8 +458,8 @@ void dspp_device::generate_opcode(drcuml_block &block, compiler_state *compiler,
code_label skip = compiler->labelnum++;
UML_TEST(block, mem(&m_core->m_dspx_control), DSPX_CONTROL_GWILLING);
UML_JMPc(block, COND_Z, compiler->abortlabel);
- //UML_TEST(block, mem(&m_core->m_flag_sleep), 1);
- //UML_JMPc(block, COND_NZ, compiler->abortlabel);
+ //UML_TEST(block, mem(&m_core->m_flag_sleep), 1);
+ //UML_JMPc(block, COND_NZ, compiler->abortlabel);
//UML_MOV(block, mem(&m_core->m_arg0), desc->physpc);
//UML_MOV(block, mem(&m_core->m_arg1), op);
@@ -522,7 +522,7 @@ void dspp_device::generate_super_special(drcuml_block &block, compiler_state *co
{
if (m_drcuml.get()->logging())
block.append_comment("BAC");
- UML_SHR(block, mem(&m_core->m_jmpdest), mem(&m_core->m_acc), 4); // m_core->m_pc = m_core->m_acc >> 4;
+ UML_SHR(block, mem(&m_core->m_jmpdest), mem(&m_core->m_acc), 4); // m_core->m_pc = m_core->m_acc >> 4;
generate_branch(block, compiler, desc);
break;
}
@@ -549,8 +549,8 @@ void dspp_device::generate_super_special(drcuml_block &block, compiler_state *co
// TODO: How does sleep work?
if (m_drcuml.get()->logging())
block.append_comment("SLEEP");
- UML_SUB(block, mem(&m_core->m_pc), mem(&m_core->m_pc), 1); // --m_core->m_pc;
- UML_MOV(block, mem(&m_core->m_flag_sleep), 1); // m_core->m_flag_sleep = 1;
+ UML_SUB(block, mem(&m_core->m_pc), mem(&m_core->m_pc), 1); // --m_core->m_pc;
+ UML_MOV(block, mem(&m_core->m_flag_sleep), 1); // m_core->m_flag_sleep = 1;
break;
}
@@ -609,7 +609,7 @@ void dspp_device::generate_special_opcode(drcuml_block &block, compiler_state *c
// Indirect
if (regdi & 0x0010)
{
- UML_CALLH(block, *m_dm_read16); // addr = read_data(addr);
+ UML_CALLH(block, *m_dm_read16); // addr = read_data(addr);
UML_MOV(block, I2, I0);
}
else
@@ -621,7 +621,7 @@ void dspp_device::generate_special_opcode(drcuml_block &block, compiler_state *c
generate_read_next_operand(block, compiler, desc);
UML_MOV(block, I0, I1);
UML_MOV(block, I1, I2);
- UML_CALLH(block, *m_dm_write16); // write_data(addr, read_next_operand());
+ UML_CALLH(block, *m_dm_write16); // write_data(addr, read_next_operand());
break;
}
case 5: // RBASE
@@ -639,7 +639,7 @@ void dspp_device::generate_special_opcode(drcuml_block &block, compiler_state *c
generate_read_next_operand(block, compiler, desc);
UML_MOV(block, I0, I1);
UML_MOV(block, I1, op & 0x3ff);
- UML_CALLH(block, *m_dm_write16); // write_data(op & 0x3ff, read_next_operand());
+ UML_CALLH(block, *m_dm_write16); // write_data(op & 0x3ff, read_next_operand());
break;
}
case 7: // MOVEI
@@ -648,12 +648,12 @@ void dspp_device::generate_special_opcode(drcuml_block &block, compiler_state *c
block.append_comment("MOVEI");
generate_parse_operands(block, compiler, desc, 1);
UML_MOV(block, I1, op & 0x3ff);
- UML_CALLH(block, *m_dm_read16); // uint32_t addr = read_data(op & 0x3ff);
+ UML_CALLH(block, *m_dm_read16); // uint32_t addr = read_data(op & 0x3ff);
UML_MOV(block, I2, I1);
generate_read_next_operand(block, compiler, desc);
UML_MOV(block, I0, I1);
UML_MOV(block, I1, I2);
- UML_CALLH(block, *m_dm_write16); // write_data(addr, read_next_operand());
+ UML_CALLH(block, *m_dm_write16); // write_data(addr, read_next_operand());
break;
}
@@ -669,23 +669,23 @@ void dspp_device::generate_branch(drcuml_block &block, compiler_state *compiler,
/* update the cycles and jump through the hash table to the target */
if (desc->targetpc != BRANCH_TARGET_DYNAMIC)
{
- generate_update_cycles(block, &compiler_temp, desc->targetpc); // <subtract cycles>
+ generate_update_cycles(block, &compiler_temp, desc->targetpc); // <subtract cycles>
if (desc->flags & OPFLAG_INTRABLOCK_BRANCH)
- UML_JMP(block, desc->targetpc | 0x80000000); // jmp desc->targetpc | 0x80000000
+ UML_JMP(block, desc->targetpc | 0x80000000); // jmp desc->targetpc | 0x80000000
else
- UML_HASHJMP(block, 0, desc->targetpc, *m_nocode); // hashjmp <mode>,desc->targetpc,nocode
+ UML_HASHJMP(block, 0, desc->targetpc, *m_nocode); // hashjmp <mode>,desc->targetpc,nocode
}
else
{
- generate_update_cycles(block, &compiler_temp, uml::mem(&m_core->m_jmpdest)); // <subtract cycles>
- UML_HASHJMP(block, 0, mem(&m_core->m_jmpdest), *m_nocode); // hashjmp <mode>,<rsreg>,nocode
+ generate_update_cycles(block, &compiler_temp, uml::mem(&m_core->m_jmpdest)); // <subtract cycles>
+ UML_HASHJMP(block, 0, mem(&m_core->m_jmpdest), *m_nocode); // hashjmp <mode>,<rsreg>,nocode
}
/* update the label */
compiler->labelnum = compiler_temp.labelnum;
/* reset the mapvar to the current cycles */
- UML_MAPVAR(block, MAPVAR_CYCLES, compiler->cycles); // mapvar CYCLES,compiler.cycles
+ UML_MAPVAR(block, MAPVAR_CYCLES, compiler->cycles); // mapvar CYCLES,compiler.cycles
}
void dspp_device::generate_branch_opcode(drcuml_block &block, compiler_state *compiler, const opcode_desc *desc)
@@ -718,10 +718,10 @@ void dspp_device::generate_branch_opcode(drcuml_block &block, compiler_state *co
UML_OR(block, I0, I0, mask0);
UML_OR(block, I1, I1, mask1);
- UML_AND(block, I0, I0, I1); // bool branch = (flag0 || mask0) && (flag1 || mask1);
+ UML_AND(block, I0, I0, I1); // bool branch = (flag0 || mask0) && (flag1 || mask1);
- if (mode == 2) // if (mode == 2)
- UML_SUB(block, I0, 1, I0); // branch = !branch;
+ if (mode == 2) // if (mode == 2)
+ UML_SUB(block, I0, 1, I0); // branch = !branch;
//UML_MOV(block, mem(&m_core->m_arg0), I0);
//UML_MOV(block, mem(&m_core->m_arg2), 1-mask0);
@@ -729,9 +729,9 @@ void dspp_device::generate_branch_opcode(drcuml_block &block, compiler_state *co
//UML_CALLC(block, cfunc_print_branches, this);
code_label skip = compiler->labelnum++;
- UML_TEST(block, I0, 1); // if (branch)
+ UML_TEST(block, I0, 1); // if (branch)
UML_JMPc(block, COND_Z, skip);
- UML_MOV(block, mem(&m_core->m_jmpdest), op & 0x3ff); // m_core->m_pc = op & 0x3ff;
+ UML_MOV(block, mem(&m_core->m_jmpdest), op & 0x3ff); // m_core->m_pc = op & 0x3ff;
generate_branch(block, compiler, desc);
UML_LABEL(block, skip);
}
@@ -745,19 +745,19 @@ void dspp_device::generate_complex_branch_opcode(drcuml_block &block, compiler_s
case 0: // BLT
if (m_drcuml.get()->logging())
block.append_comment("BLT");
- UML_XOR(block, I0, mem(&m_core->m_flag_neg), mem(&m_core->m_flag_over)); // branch = (n && !v) || (!n && v);
+ UML_XOR(block, I0, mem(&m_core->m_flag_neg), mem(&m_core->m_flag_over)); // branch = (n && !v) || (!n && v);
break;
case 1: // BLE
if (m_drcuml.get()->logging())
block.append_comment("BLE");
UML_XOR(block, I0, mem(&m_core->m_flag_neg), mem(&m_core->m_flag_over));
- UML_OR(block, I0, I0, mem(&m_core->m_flag_zero)); // branch = ((n && !v) || (!n && v)) || z;
+ UML_OR(block, I0, I0, mem(&m_core->m_flag_zero)); // branch = ((n && !v) || (!n && v)) || z;
break;
case 2: // BGE
if (m_drcuml.get()->logging())
block.append_comment("BGE");
UML_XOR(block, I0, mem(&m_core->m_flag_neg), mem(&m_core->m_flag_over));
- UML_SUB(block, I0, 1, I0); // branch = ((n && v) || (!n && !v));
+ UML_SUB(block, I0, 1, I0); // branch = ((n && v) || (!n && !v));
break;
case 3: // BGT
if (m_drcuml.get()->logging())
@@ -765,36 +765,36 @@ void dspp_device::generate_complex_branch_opcode(drcuml_block &block, compiler_s
UML_AND(block, I0, mem(&m_core->m_flag_neg), mem(&m_core->m_flag_over));
UML_SUB(block, I0, 1, I0);
UML_SUB(block, I1, 1, mem(&m_core->m_flag_zero));
- UML_AND(block, I0, I0, I1); // branch = ((n && v) || (!n && !v)) && !z;
+ UML_AND(block, I0, I0, I1); // branch = ((n && v) || (!n && !v)) && !z;
break;
case 4: // BHI
if (m_drcuml.get()->logging())
block.append_comment("BHI");
UML_SUB(block, I0, 1, mem(&m_core->m_flag_zero));
- UML_AND(block, I0, I0, mem(&m_core->m_flag_carry)); // branch = c && !z;
+ UML_AND(block, I0, I0, mem(&m_core->m_flag_carry)); // branch = c && !z;
break;
case 5: // BLS
if (m_drcuml.get()->logging())
block.append_comment("BLS");
UML_SUB(block, I0, 1, mem(&m_core->m_flag_carry));
- UML_OR(block, I0, I0, mem(&m_core->m_flag_zero)); // branch = !c || z;
+ UML_OR(block, I0, I0, mem(&m_core->m_flag_zero)); // branch = !c || z;
break;
case 6: // BXS
if (m_drcuml.get()->logging())
block.append_comment("BXS");
- UML_MOV(block, I0, mem(&m_core->m_flag_exact)); // branch = x;
+ UML_MOV(block, I0, mem(&m_core->m_flag_exact)); // branch = x;
break;
case 7: // BXC
if (m_drcuml.get()->logging())
block.append_comment("BXC");
- UML_SUB(block, I0, 1, mem(&m_core->m_flag_exact)); // branch = !x;
+ UML_SUB(block, I0, 1, mem(&m_core->m_flag_exact)); // branch = !x;
break;
}
code_label skip = compiler->labelnum++;
- UML_TEST(block, I0, 1); // if (branch)
+ UML_TEST(block, I0, 1); // if (branch)
UML_JMPc(block, COND_Z, skip);
- UML_MOV(block, mem(&m_core->m_jmpdest), op & 0x3ff); // m_core->m_pc = op & 0x3ff;
+ UML_MOV(block, mem(&m_core->m_jmpdest), op & 0x3ff); // m_core->m_pc = op & 0x3ff;
generate_branch(block, compiler, desc);
UML_LABEL(block, skip);
}
@@ -941,8 +941,8 @@ void dspp_device::generate_read_next_operand(drcuml_block &block, compiler_state
UML_LOAD(block, I0, (void *)&m_core->m_operands[0].value, mem(&m_core->m_opidx), SIZE_DWORD, SCALE_x8);
//if (op == 0x46a0)
//{
- // UML_MOV(block, mem(&m_core->m_arg0), I0);
- // UML_CALLC(block, cfunc_print_value, this);
+ // UML_MOV(block, mem(&m_core->m_arg0), I0);
+ // UML_CALLC(block, cfunc_print_value, this);
//}
UML_TEST(block, I0, 0x80000000U);
@@ -950,13 +950,13 @@ void dspp_device::generate_read_next_operand(drcuml_block &block, compiler_state
UML_LOAD(block, I1, (void *)&m_core->m_operands[0].addr, mem(&m_core->m_opidx), SIZE_DWORD, SCALE_x8);
//if (op == 0x46a0)
//{
- // UML_MOV(block, mem(&m_core->m_arg1), I1);
+ // UML_MOV(block, mem(&m_core->m_arg1), I1);
//}
UML_CALLH(block, *m_dm_read16);
//if (op == 0x46a0)
//{
- // UML_MOV(block, mem(&m_core->m_arg0), I0);
- // UML_CALLC(block, cfunc_print_addr, this);
+ // UML_MOV(block, mem(&m_core->m_arg0), I0);
+ // UML_CALLC(block, cfunc_print_addr, this);
//}
UML_LABEL(block, no_load);
@@ -1071,16 +1071,16 @@ void dspp_device::generate_arithmetic_opcode(drcuml_block &block, compiler_state
if (m_drcuml.get()->logging())
block.append_comment("_TRA");
UML_MOV(block, I0, I2); // alu_res = alu_a;
- UML_MOV(block, mem(&m_core->m_flag_over), 0); // m_core->m_flag_over = 0;
- UML_MOV(block, mem(&m_core->m_flag_carry), 0); // m_core->m_flag_carry = 0;
+ UML_MOV(block, mem(&m_core->m_flag_over), 0); // m_core->m_flag_over = 0;
+ UML_MOV(block, mem(&m_core->m_flag_carry), 0); // m_core->m_flag_carry = 0;
break;
case 1: // _NEG
if (m_drcuml.get()->logging())
block.append_comment("_NEG");
UML_SUB(block, I0, 0, I3); // alu_res = -alu_b;
- UML_MOV(block, mem(&m_core->m_flag_over), 0); // m_core->m_flag_over = 0;
- UML_MOV(block, mem(&m_core->m_flag_carry), 0); // m_core->m_flag_carry = 0;
+ UML_MOV(block, mem(&m_core->m_flag_over), 0); // m_core->m_flag_over = 0;
+ UML_MOV(block, mem(&m_core->m_flag_carry), 0); // m_core->m_flag_carry = 0;
break;
case 2: // _+
@@ -1092,175 +1092,175 @@ void dspp_device::generate_arithmetic_opcode(drcuml_block &block, compiler_state
UML_XOR(block, I3, I2, I3);
UML_TEST(block, I3, 0x80000);
- UML_JMPc(block, COND_NZ, skip_over); // if ((alu_a & 0x80000) == (alu_b & 0x80000) &&
+ UML_JMPc(block, COND_NZ, skip_over); // if ((alu_a & 0x80000) == (alu_b & 0x80000) &&
UML_XOR(block, I3, I2, I0);
- UML_TEST(block, I3, 0x80000); // (alu_a & 0x80000) != (alu_res & 0x80000))
- UML_MOVc(block, COND_NZ, mem(&m_core->m_flag_over), 1); // m_core->m_flag_over = 1;
+ UML_TEST(block, I3, 0x80000); // (alu_a & 0x80000) != (alu_res & 0x80000))
+ UML_MOVc(block, COND_NZ, mem(&m_core->m_flag_over), 1); // m_core->m_flag_over = 1;
UML_LABEL(block, skip_over);
- UML_TEST(block, I0, 0x00100000); // if (alu_res & 0x00100000)
- UML_MOVc(block, COND_NZ, mem(&m_core->m_flag_carry), 1); // m_core->m_flag_carry = 1;
+ UML_TEST(block, I0, 0x00100000); // if (alu_res & 0x00100000)
+ UML_MOVc(block, COND_NZ, mem(&m_core->m_flag_carry), 1); // m_core->m_flag_carry = 1;
// else
- UML_MOVc(block, COND_Z, mem(&m_core->m_flag_carry), 0); // m_core->m_flag_carry = 0;
+ UML_MOVc(block, COND_Z, mem(&m_core->m_flag_carry), 0); // m_core->m_flag_carry = 0;
break;
case 3: // _+C
if (m_drcuml.get()->logging())
block.append_comment("_+C");
UML_SHL(block, I3, mem(&m_core->m_flag_carry), 4);
- UML_ADD(block, I0, I2, I3); // alu_res = alu_a + (m_core->m_flag_carry << 4);
+ UML_ADD(block, I0, I2, I3); // alu_res = alu_a + (m_core->m_flag_carry << 4);
- UML_MOV(block, mem(&m_core->m_flag_over), 0); // m_core->m_flag_over = 0;
+ UML_MOV(block, mem(&m_core->m_flag_over), 0); // m_core->m_flag_over = 0;
- UML_TEST(block, I0, 0x00100000); // if (alu_res & 0x00100000)
- UML_MOVc(block, COND_NZ, mem(&m_core->m_flag_carry), 1); // m_core->m_flag_carry = 1;
+ UML_TEST(block, I0, 0x00100000); // if (alu_res & 0x00100000)
+ UML_MOVc(block, COND_NZ, mem(&m_core->m_flag_carry), 1); // m_core->m_flag_carry = 1;
// else
- UML_MOVc(block, COND_Z, mem(&m_core->m_flag_carry), 0); // m_core->m_flag_carry = 0;
+ UML_MOVc(block, COND_Z, mem(&m_core->m_flag_carry), 0); // m_core->m_flag_carry = 0;
break;
case 4: // _-
if (m_drcuml.get()->logging())
block.append_comment("_-");
- UML_SUB(block, I0, I2, I3); // alu_res = alu_a - alu_b;
+ UML_SUB(block, I0, I2, I3); // alu_res = alu_a - alu_b;
UML_MOV(block, mem(&m_core->m_flag_over), 0);
UML_XOR(block, I3, I3, 0xffffffffU);
UML_XOR(block, I3, I2, I3);
UML_TEST(block, I3, 0x80000);
- UML_JMPc(block, COND_NZ, skip_over); // if ((alu_a & 0x80000) == (~alu_b & 0x80000) &&
+ UML_JMPc(block, COND_NZ, skip_over); // if ((alu_a & 0x80000) == (~alu_b & 0x80000) &&
UML_XOR(block, I3, I2, I0);
- UML_TEST(block, I3, 0x80000); // (alu_a & 0x80000) != (alu_res & 0x80000))
- UML_MOVc(block, COND_NZ, mem(&m_core->m_flag_over), 1); // m_core->m_flag_over = 1;
+ UML_TEST(block, I3, 0x80000); // (alu_a & 0x80000) != (alu_res & 0x80000))
+ UML_MOVc(block, COND_NZ, mem(&m_core->m_flag_over), 1); // m_core->m_flag_over = 1;
UML_LABEL(block, skip_over);
- UML_TEST(block, I0, 0x00100000); // if (alu_res & 0x00100000)
- UML_MOVc(block, COND_NZ, mem(&m_core->m_flag_carry), 1); // m_core->m_flag_carry = 1;
+ UML_TEST(block, I0, 0x00100000); // if (alu_res & 0x00100000)
+ UML_MOVc(block, COND_NZ, mem(&m_core->m_flag_carry), 1); // m_core->m_flag_carry = 1;
// else
- UML_MOVc(block, COND_Z, mem(&m_core->m_flag_carry), 0); // m_core->m_flag_carry = 0;
+ UML_MOVc(block, COND_Z, mem(&m_core->m_flag_carry), 0); // m_core->m_flag_carry = 0;
break;
case 5: // _-B
if (m_drcuml.get()->logging())
block.append_comment("_-B");
UML_SHL(block, I3, mem(&m_core->m_flag_carry), 4);
- UML_SUB(block, I0, I2, I3); // alu_res = alu_a - (m_core->m_flag_carry << 4);
+ UML_SUB(block, I0, I2, I3); // alu_res = alu_a - (m_core->m_flag_carry << 4);
- UML_MOV(block, mem(&m_core->m_flag_over), 0); // m_core->m_flag_over = 0;
+ UML_MOV(block, mem(&m_core->m_flag_over), 0); // m_core->m_flag_over = 0;
- UML_TEST(block, I0, 0x00100000); // if (alu_res & 0x00100000)
- UML_MOVc(block, COND_NZ, mem(&m_core->m_flag_carry), 1); // m_core->m_flag_carry = 1;
+ UML_TEST(block, I0, 0x00100000); // if (alu_res & 0x00100000)
+ UML_MOVc(block, COND_NZ, mem(&m_core->m_flag_carry), 1); // m_core->m_flag_carry = 1;
// else
- UML_MOVc(block, COND_Z, mem(&m_core->m_flag_carry), 0); // m_core->m_flag_carry = 0;
+ UML_MOVc(block, COND_Z, mem(&m_core->m_flag_carry), 0); // m_core->m_flag_carry = 0;
break;
case 6: // _++
if (m_drcuml.get()->logging())
block.append_comment("_++");
- UML_ADD(block, I0, I2, 1); // alu_res = alu_a + 1;
+ UML_ADD(block, I0, I2, 1); // alu_res = alu_a + 1;
UML_XOR(block, I3, I2, 0x80000);
UML_AND(block, I3, I3, I0);
UML_TEST(block, I3, 0x80000);
UML_MOVc(block, COND_NZ, mem(&m_core->m_flag_over), 1);
- UML_MOVc(block, COND_Z, mem(&m_core->m_flag_over), 0); // m_core->m_flag_over = !(alu_a & 0x80000) && (alu_res & 0x80000);
+ UML_MOVc(block, COND_Z, mem(&m_core->m_flag_over), 0); // m_core->m_flag_over = !(alu_a & 0x80000) && (alu_res & 0x80000);
- UML_MOV(block, mem(&m_core->m_flag_carry), 0); // m_core->m_flag_carry = 0;
+ UML_MOV(block, mem(&m_core->m_flag_carry), 0); // m_core->m_flag_carry = 0;
break;
case 7: // _--
if (m_drcuml.get()->logging())
block.append_comment("_--");
- UML_SUB(block, I0, I2, 1); // alu_res = alu_a - 1;
+ UML_SUB(block, I0, I2, 1); // alu_res = alu_a - 1;
UML_XOR(block, I3, I0, 0x80000);
UML_AND(block, I3, I3, I2);
UML_TEST(block, I3, 0x80000);
UML_MOVc(block, COND_NZ, mem(&m_core->m_flag_over), 1);
- UML_MOVc(block, COND_Z, mem(&m_core->m_flag_over), 0); // m_core->m_flag_over = (alu_a & 0x80000) && !(alu_res & 0x80000);
+ UML_MOVc(block, COND_Z, mem(&m_core->m_flag_over), 0); // m_core->m_flag_over = (alu_a & 0x80000) && !(alu_res & 0x80000);
- UML_MOV(block, mem(&m_core->m_flag_carry), 0); // m_core->m_flag_carry = 0;
+ UML_MOV(block, mem(&m_core->m_flag_carry), 0); // m_core->m_flag_carry = 0;
break;
case 8: // _TRL
if (m_drcuml.get()->logging())
block.append_comment("_TRL");
- UML_MOV(block, I0, I2); // alu_res = alu_a;
- UML_MOV(block, mem(&m_core->m_flag_over), 0); // m_core->m_flag_over = 0;
- UML_MOV(block, mem(&m_core->m_flag_carry), 0); // m_core->m_flag_carry = 0;
+ UML_MOV(block, I0, I2); // alu_res = alu_a;
+ UML_MOV(block, mem(&m_core->m_flag_over), 0); // m_core->m_flag_over = 0;
+ UML_MOV(block, mem(&m_core->m_flag_carry), 0); // m_core->m_flag_carry = 0;
break;
case 9: // _NOT
if (m_drcuml.get()->logging())
block.append_comment("_NOT");
- UML_XOR(block, I0, I2, 0xffffffff); // alu_res = ~alu_a;
- UML_MOV(block, mem(&m_core->m_flag_over), 0); // m_core->m_flag_over = 0;
- UML_MOV(block, mem(&m_core->m_flag_carry), 0); // m_core->m_flag_carry = 0;
+ UML_XOR(block, I0, I2, 0xffffffff); // alu_res = ~alu_a;
+ UML_MOV(block, mem(&m_core->m_flag_over), 0); // m_core->m_flag_over = 0;
+ UML_MOV(block, mem(&m_core->m_flag_carry), 0); // m_core->m_flag_carry = 0;
break;
case 10: // _AND
if (m_drcuml.get()->logging())
block.append_comment("_AND");
- UML_AND(block, I0, I2, I3); // alu_res = alu_a & alu_b;
- UML_MOV(block, mem(&m_core->m_flag_over), 0); // m_core->m_flag_over = 0;
- UML_MOV(block, mem(&m_core->m_flag_carry), 0); // m_core->m_flag_carry = 0;
+ UML_AND(block, I0, I2, I3); // alu_res = alu_a & alu_b;
+ UML_MOV(block, mem(&m_core->m_flag_over), 0); // m_core->m_flag_over = 0;
+ UML_MOV(block, mem(&m_core->m_flag_carry), 0); // m_core->m_flag_carry = 0;
break;
case 11: // _NAND
if (m_drcuml.get()->logging())
block.append_comment("_NAND");
UML_AND(block, I0, I2, I3);
- UML_XOR(block, I0, I0, 0xffffffff); // alu_res = ~(alu_a & alu_b);
- UML_MOV(block, mem(&m_core->m_flag_over), 0); // m_core->m_flag_over = 0;
- UML_MOV(block, mem(&m_core->m_flag_carry), 0); // m_core->m_flag_carry = 0;
+ UML_XOR(block, I0, I0, 0xffffffff); // alu_res = ~(alu_a & alu_b);
+ UML_MOV(block, mem(&m_core->m_flag_over), 0); // m_core->m_flag_over = 0;
+ UML_MOV(block, mem(&m_core->m_flag_carry), 0); // m_core->m_flag_carry = 0;
break;
case 12: // _OR
if (m_drcuml.get()->logging())
block.append_comment("_OR");
- UML_OR(block, I0, I2, I3); // alu_res = alu_a | alu_b;
- UML_MOV(block, mem(&m_core->m_flag_over), 0); // m_core->m_flag_over = 0;
- UML_MOV(block, mem(&m_core->m_flag_carry), 0); // m_core->m_flag_carry = 0;
+ UML_OR(block, I0, I2, I3); // alu_res = alu_a | alu_b;
+ UML_MOV(block, mem(&m_core->m_flag_over), 0); // m_core->m_flag_over = 0;
+ UML_MOV(block, mem(&m_core->m_flag_carry), 0); // m_core->m_flag_carry = 0;
break;
case 13: // _NOR
if (m_drcuml.get()->logging())
block.append_comment("_NOR");
UML_OR(block, I0, I2, I3);
- UML_XOR(block, I0, I0, 0xffffffff); // alu_res = ~(alu_a | alu_b);
- UML_MOV(block, mem(&m_core->m_flag_over), 0); // m_core->m_flag_over = 0;
- UML_MOV(block, mem(&m_core->m_flag_carry), 0); // m_core->m_flag_carry = 0;
+ UML_XOR(block, I0, I0, 0xffffffff); // alu_res = ~(alu_a | alu_b);
+ UML_MOV(block, mem(&m_core->m_flag_over), 0); // m_core->m_flag_over = 0;
+ UML_MOV(block, mem(&m_core->m_flag_carry), 0); // m_core->m_flag_carry = 0;
break;
case 14: // _XOR
if (m_drcuml.get()->logging())
block.append_comment("_XOR");
- UML_XOR(block, I0, I2, I3); // alu_res = alu_a ^ alu_b;
- UML_MOV(block, mem(&m_core->m_flag_over), 0); // m_core->m_flag_over = 0;
- UML_MOV(block, mem(&m_core->m_flag_carry), 0); // m_core->m_flag_carry = 0;
+ UML_XOR(block, I0, I2, I3); // alu_res = alu_a ^ alu_b;
+ UML_MOV(block, mem(&m_core->m_flag_over), 0); // m_core->m_flag_over = 0;
+ UML_MOV(block, mem(&m_core->m_flag_carry), 0); // m_core->m_flag_carry = 0;
break;
case 15: // _XNOR
if (m_drcuml.get()->logging())
block.append_comment("_XNOR");
UML_XOR(block, I0, I2, I3);
- UML_XOR(block, I0, I0, 0xffffffff); // alu_res = ~(alu_a ^ alu_b);
- UML_MOV(block, mem(&m_core->m_flag_over), 0); // m_core->m_flag_over = 0;
- UML_MOV(block, mem(&m_core->m_flag_carry), 0); // m_core->m_flag_carry = 0;
+ UML_XOR(block, I0, I0, 0xffffffff); // alu_res = ~(alu_a ^ alu_b);
+ UML_MOV(block, mem(&m_core->m_flag_over), 0); // m_core->m_flag_over = 0;
+ UML_MOV(block, mem(&m_core->m_flag_carry), 0); // m_core->m_flag_carry = 0;
break;
}
UML_TEST(block, I0, 0x00080000);
UML_MOVc(block, COND_NZ, mem(&m_core->m_flag_neg), 1);
- UML_MOVc(block, COND_Z, mem(&m_core->m_flag_neg), 0); // m_core->m_flag_neg = (alu_res & 0x00080000) != 0;
+ UML_MOVc(block, COND_Z, mem(&m_core->m_flag_neg), 0); // m_core->m_flag_neg = (alu_res & 0x00080000) != 0;
UML_TEST(block, I0, 0x000ffff0);
UML_MOVc(block, COND_Z, mem(&m_core->m_flag_zero), 1);
- UML_MOVc(block, COND_NZ, mem(&m_core->m_flag_zero), 0); // m_core->m_flag_zero = (alu_res & 0x000ffff0) == 0;
+ UML_MOVc(block, COND_NZ, mem(&m_core->m_flag_zero), 0); // m_core->m_flag_zero = (alu_res & 0x000ffff0) == 0;
UML_TEST(block, I0, 0x0000000f);
UML_MOVc(block, COND_Z, mem(&m_core->m_flag_exact), 1);
- UML_MOVc(block, COND_NZ, mem(&m_core->m_flag_exact), 0); // m_core->m_flag_exact = (alu_res & 0x0000000f) == 0;
+ UML_MOVc(block, COND_NZ, mem(&m_core->m_flag_exact), 0); // m_core->m_flag_exact = (alu_res & 0x0000000f) == 0;
// ALU_RES = I3
UML_MOV(block, I3, I0);
@@ -1269,9 +1269,9 @@ void dspp_device::generate_arithmetic_opcode(drcuml_block &block, compiler_state
static const int32_t shifts[8] = { 0, 1, 2, 3, 4, 5, 8, 16 };
if (barrel_code == 8)
- generate_read_next_operand(block, compiler, desc); // I0 = barrel_code;
+ generate_read_next_operand(block, compiler, desc); // I0 = barrel_code;
else
- UML_MOV(block, I0, barrel_code); // I0 = barrel_code;
+ UML_MOV(block, I0, barrel_code); // I0 = barrel_code;
code_label left_shift = compiler->labelnum++;
code_label done_shift = compiler->labelnum++;
@@ -1279,57 +1279,57 @@ void dspp_device::generate_arithmetic_opcode(drcuml_block &block, compiler_state
code_label no_clip = compiler->labelnum++;
code_label no_writeback = compiler->labelnum++;
code_label done = compiler->labelnum++;
- UML_TEST(block, I0, 8); // if (barrel_code & 8)
- UML_JMPc(block, COND_Z, left_shift); // {
+ UML_TEST(block, I0, 8); // if (barrel_code & 8)
+ UML_JMPc(block, COND_Z, left_shift); // {
UML_XOR(block, I0, I0, 0xffffffffU);
UML_ADD(block, I0, I0, 1);
UML_AND(block, I0, I0, 7);
- UML_LOAD(block, I0, (void *)shifts, I0, SIZE_DWORD, SCALE_x8); // uint32_t shift = shifts[(~barrel_code + 1) & 7];
- if (alu_op < 8) // if (alu_op < 8)
- { // {
+ UML_LOAD(block, I0, (void *)shifts, I0, SIZE_DWORD, SCALE_x8); // uint32_t shift = shifts[(~barrel_code + 1) & 7];
+ if (alu_op < 8) // if (alu_op < 8)
+ { // {
UML_SHL(block, I3, I3, 12);
- UML_SAR(block, I3, I3, 12); // // Arithmetic
- UML_SAR(block, mem(&m_core->m_acc), I3, I0); // m_core->m_acc = sign_extend20(alu_res) >> shift;
- } // }
- else // else
- { // {
- UML_AND(block, I3, I3, 0x000fffff); // // Logical
- UML_SHR(block, mem(&m_core->m_acc), I3, I0); // m_core->m_acc = (alu_res & 0xfffff) >> shift;
- } // }
- UML_JMP(block, done_shift); // }
- UML_LABEL(block, left_shift); // else
+ UML_SAR(block, I3, I3, 12); // // Arithmetic
+ UML_SAR(block, mem(&m_core->m_acc), I3, I0); // m_core->m_acc = sign_extend20(alu_res) >> shift;
+ } // }
+ else // else
+ { // {
+ UML_AND(block, I3, I3, 0x000fffff); // // Logical
+ UML_SHR(block, mem(&m_core->m_acc), I3, I0); // m_core->m_acc = (alu_res & 0xfffff) >> shift;
+ } // }
+ UML_JMP(block, done_shift); // }
+ UML_LABEL(block, left_shift); // else
// {
- UML_LOAD(block, I0, (void *)shifts, I0, SIZE_DWORD, SCALE_x8); // uint32_t shift = shifts[barrel_code];
- UML_CMP(block, I0, 16); // if (shift != 16)
- UML_JMPc(block, COND_E, no_shift); // {
+ UML_LOAD(block, I0, (void *)shifts, I0, SIZE_DWORD, SCALE_x8); // uint32_t shift = shifts[barrel_code];
+ UML_CMP(block, I0, 16); // if (shift != 16)
+ UML_JMPc(block, COND_E, no_shift); // {
UML_SHL(block, I3, I3, 12);
UML_SAR(block, I3, I3, 12);
- UML_SHL(block, mem(&m_core->m_acc), I3, I0); // m_core->m_acc = sign_extend20(alu_res) << shift;
- UML_JMP(block, done_shift); // }
+ UML_SHL(block, mem(&m_core->m_acc), I3, I0); // m_core->m_acc = sign_extend20(alu_res) << shift;
+ UML_JMP(block, done_shift); // }
// else
- UML_LABEL(block, no_shift); // {
- UML_TEST(block, mem(&m_core->m_flag_over), 1); // // Clip and saturate
- UML_JMPc(block, COND_Z, no_clip); // if (m_core->m_flag_over)
+ UML_LABEL(block, no_shift); // {
+ UML_TEST(block, mem(&m_core->m_flag_over), 1); // // Clip and saturate
+ UML_JMPc(block, COND_Z, no_clip); // if (m_core->m_flag_over)
UML_TEST(block, mem(&m_core->m_flag_neg), 1);
- UML_MOVc(block, COND_NZ, mem(&m_core->m_acc), 0x7ffff); // m_core->m_acc = m_core->m_flag_neg ? 0x7ffff : 0xfff80000;
+ UML_MOVc(block, COND_NZ, mem(&m_core->m_acc), 0x7ffff); // m_core->m_acc = m_core->m_flag_neg ? 0x7ffff : 0xfff80000;
UML_MOVc(block, COND_Z, mem(&m_core->m_acc), 0xfff80000);
- UML_JMP(block, done_shift); // else
+ UML_JMP(block, done_shift); // else
UML_LABEL(block, no_clip);
- UML_SHL(block, I3, I3, 12); // sign_extend20(alu_res);
- UML_SAR(block, mem(&m_core->m_acc), I3, 12); // }
- UML_LABEL(block, done_shift); // }
+ UML_SHL(block, I3, I3, 12); // sign_extend20(alu_res);
+ UML_SAR(block, mem(&m_core->m_acc), I3, 12); // }
+ UML_LABEL(block, done_shift); // }
- UML_CMP(block, mem(&m_core->m_writeback), 0); // if (m_core->m_writeback >= 0)
- UML_JMPc(block, COND_L, no_writeback); // {
+ UML_CMP(block, mem(&m_core->m_writeback), 0); // if (m_core->m_writeback >= 0)
+ UML_JMPc(block, COND_L, no_writeback); // {
UML_SHR(block, I0, mem(&m_core->m_acc), 4);
UML_MOV(block, I1, mem(&m_core->m_writeback));
- UML_CALLH(block, *m_dm_write16); // write_data(m_core->m_writeback, m_core->m_acc >> 4);
- UML_MOV(block, mem(&m_core->m_writeback), 0xffffffffU); // m_core->m_writeback = -1;
- UML_JMP(block, done); // }
+ UML_CALLH(block, *m_dm_write16); // write_data(m_core->m_writeback, m_core->m_acc >> 4);
+ UML_MOV(block, mem(&m_core->m_writeback), 0xffffffffU); // m_core->m_writeback = -1;
+ UML_JMP(block, done); // }
UML_LABEL(block, no_writeback);
- UML_CMP(block, mem(&m_core->m_opidx), numops); // else if (m_core->m_opidx < numops)
- UML_JMPc(block, COND_GE, done); // {
- generate_write_next_operand(block, compiler); // write_next_operand(m_core->m_acc >> 4);
- UML_LABEL(block, done); // }
+ UML_CMP(block, mem(&m_core->m_opidx), numops); // else if (m_core->m_opidx < numops)
+ UML_JMPc(block, COND_GE, done); // {
+ generate_write_next_operand(block, compiler); // write_next_operand(m_core->m_acc >> 4);
+ UML_LABEL(block, done); // }
}
diff --git a/src/devices/cpu/e132xs/e132xs.h b/src/devices/cpu/e132xs/e132xs.h
index 335aeab8898..ff5e9cb9bdb 100644
--- a/src/devices/cpu/e132xs/e132xs.h
+++ b/src/devices/cpu/e132xs/e132xs.h
@@ -439,6 +439,8 @@ private:
uint32_t m_drcoptions;
uint8_t m_cache_dirty;
+ uml::parameter m_regmap[16];
+
uml::code_handle *m_entry;
uml::code_handle *m_nocode;
uml::code_handle *m_interrupt_checks;
diff --git a/src/devices/cpu/f8/f8.cpp b/src/devices/cpu/f8/f8.cpp
index ce09d9ca835..e0f86369a06 100644
--- a/src/devices/cpu/f8/f8.cpp
+++ b/src/devices/cpu/f8/f8.cpp
@@ -7,11 +7,6 @@
* This work is based on Frank Palazzolo's F8 emulation in a standalone
* Fairchild Channel F emulator and the 'Fairchild F3850 CPU' data sheets.
*
- * TODO:
- * - ROMC signals are supposed to be handled externally
- *
- *****************************************************************************
- *
* The 3850 CPU itself does not include the address bus, pointer registers
* or an interrupt controller. Those functions are provided by at least one
* of the following devices:
@@ -19,9 +14,7 @@
* - 3851 Program Storage Unit (PSU)
* - 3852 Dynamic Memory Interface (DMI)
* - 3853 Static Memory Interface (SMI)
- * - 3854 Direct Memory Access Controller (DMAC)
* - 3856 Program Storage Unit (PSU)
- * - 38T56 Program Storage Unit (PSU)
* - 3861 Peripheral Input/Output (PIO)
* - 3871 Peripheral Input/Output (PIO)
*
@@ -35,12 +28,6 @@
* devices responding to the same DC0 address and attempting to place their
* bytes on the data bus simultaneously!
*
- * Combined packages:
- * - 3859 = 3850 + 3851
- * - 3870 = 3850 + 38T56
- * - 3872 = 3870 + extra 2KB ROM
- * - 3873 = 3870 + extra 64 bytes executable RAM
- *
*****************************************************************************/
#include "emu.h"
@@ -50,11 +37,11 @@
/* status flags */
-static constexpr u8 S = 0x01; // sign
-static constexpr u8 C = 0x02; // carry
-static constexpr u8 Z = 0x04; // zero
-static constexpr u8 O = 0x08; // overflow
-static constexpr u8 I = 0x10; // interrupt control bit (ICB)
+static constexpr u8 S = 0x01;
+static constexpr u8 C = 0x02;
+static constexpr u8 Z = 0x04;
+static constexpr u8 O = 0x08;
+static constexpr u8 I = 0x10;
/* cycle (short/long) */
static constexpr int cS = 4;
@@ -64,11 +51,21 @@ static constexpr int cL = 6;
DEFINE_DEVICE_TYPE(F8, f8_cpu_device, "f8", "Fairchild F8")
-f8_cpu_device::f8_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
- cpu_device(mconfig, F8, tag, owner, clock),
- m_program_config("program", ENDIANNESS_BIG, 8, 16, 0),
- m_io_config("io", ENDIANNESS_BIG, 8, 8, 0)
-{ }
+f8_cpu_device::f8_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+ : cpu_device(mconfig, F8, tag, owner, clock)
+ , m_program_config("program", ENDIANNESS_BIG, 8, 16, 0)
+ , m_io_config("io", ENDIANNESS_BIG, 8, 8, 0)
+ , m_pc0(0)
+ , m_pc1(0)
+ , m_dc0(0)
+ , m_dc1(0)
+ , m_a(0)
+ , m_w(0)
+ , m_is(0)
+ , m_debug_pc(0)
+{
+ memset(m_r, 0x00, sizeof(m_r));
+}
device_memory_interface::space_config_vector f8_cpu_device::memory_space_config() const
{
@@ -104,22 +101,6 @@ void f8_cpu_device::device_start()
m_cache = m_program->cache<0, 0, ENDIANNESS_BIG>();
m_iospace = &space(AS_IO);
- // zerofill
- m_debug_pc = 0;
- m_pc0 = 0;
- m_pc1 = 0;
- m_dc0 = 0;
- m_dc1 = 0;
- m_a = 0;
- m_w = 0;
- m_is = 0;
- m_dbus = 0;
- m_io = 0;
- m_irq_vector = 0;
- memset(m_r, 0, sizeof(m_r));
- m_irq_request = 0;
-
- // register for savestates
save_item(NAME(m_debug_pc));
save_item(NAME(m_pc0));
save_item(NAME(m_pc1));
@@ -134,7 +115,6 @@ void f8_cpu_device::device_start()
save_item(NAME(m_irq_request));
save_item(NAME(m_r));
- // register for debugger
state_add( F8_PC0, "PC0", m_pc0).formatstr("%04X");
state_add( F8_PC1, "PC1", m_pc1).formatstr("%04X");
state_add( F8_DC0, "DC0", m_dc0).formatstr("%04X");
@@ -216,18 +196,55 @@ void f8_cpu_device::device_start()
void f8_cpu_device::device_reset()
{
- // save PC0 to PC1 and reset PC0, and clear ICB
- ROMC_08();
- m_w &= ~I;
+ m_debug_pc = 0;
+ m_pc0 = 0;
+ m_pc1 = 0;
+ m_dc0 = 0;
+ m_dc1 = 0;
+ m_a = 0;
+ m_w = 0;
+ m_is = 0;
+ m_dbus = 0;
+ m_io = 0;
+ m_irq_vector = 0;
+ memset(m_r, 0, sizeof(m_r));
+ m_irq_request = 0;
+
+ m_w&=~I;
- // fetch the first opcode
+ /* save PC0 to PC1 and reset PC0 */
+ ROMC_08();
+ /* fetch the first opcode */
ROMC_00(cS);
+
+ /* initialize the timer shift register
+ * this is an 8 bit polynomial counter which can be loaded parallel
+ * with 0xff the outputs never change and thus the timer is disabled.
+ * with 0xfe the shifter starts cycling through 255 states until it
+ * reaches 0xfe again (and then issues an interrupt).
+ * the counter output values are not sequential, but go like this:
+ * 0xfe, 0xfd, 0xfb, 0xf7, 0xee, 0xdc ... etc. :-)
+ * We have to build a lookup table to tell how many cycles a write
+
+ */
+ u8 data = 0xfe; /* initial value */
+ for (int i = 0; i < 256; i++)
+ {
+ timer_shifter[i] = data;
+ if ( (((data >> 3) ^ (data >> 4)) ^ ((data >> 5) ^ (data >> 7))) & 1 )
+ {
+ data <<= 1;
+ }
+ else
+ {
+ data = (data << 1) | 1;
+ }
+ }
}
void f8_cpu_device::execute_set_input( int inptnum, int state )
{
- assert (inptnum == F8_INPUT_LINE_INT_REQ);
m_irq_request = state;
}
@@ -499,7 +516,7 @@ void f8_cpu_device::ROMC_10()
/*
* Inhibit any modification to the interrupt priority logic.
*/
- // TODO
+ m_w |= 0x20; /* ???? */
m_icount -= cL;
}
@@ -985,7 +1002,7 @@ void f8_cpu_device::f8_pop()
void f8_cpu_device::f8_lr_w_j()
{
ROMC_1C(cS);
- m_w = m_r[9] & 0x1f;
+ m_w = m_r[9];
}
/***************************************************
@@ -1314,9 +1331,9 @@ void f8_cpu_device::f8_bt(int e)
{
ROMC_1C(cS);
if (m_w & e)
- ROMC_01(); // take the relative branch
+ ROMC_01(); /* take the relative branch */
else
- ROMC_03(cS); // just read the argument on the data bus
+ ROMC_03(cS); /* just read the argument on the data bus */
}
/***************************************************
@@ -1395,7 +1412,7 @@ void f8_cpu_device::f8_cm()
void f8_cpu_device::f8_adc()
{
m_dbus = m_a;
- ROMC_0A(); // add data bus value to DC0
+ ROMC_0A(); /* add data bus value to DC0 */
}
/***************************************************
@@ -1405,9 +1422,9 @@ void f8_cpu_device::f8_adc()
void f8_cpu_device::f8_br7()
{
if ((m_is & 7) == 7)
- ROMC_03(cS); // just read the argument on the data bus
+ ROMC_03(cS); /* just read the argument on the data bus */
else
- ROMC_01(); // take the relative branch
+ ROMC_01(); /* take the relative branch */
}
/***************************************************
@@ -1418,9 +1435,9 @@ void f8_cpu_device::f8_bf(int t)
{
ROMC_1C(cS);
if (m_w & t)
- ROMC_03(cS); // just read the argument on the data bus
+ ROMC_03(cS); /* just read the argument on the data bus */
else
- ROMC_01(); // take the relative branch
+ ROMC_01(); /* take the relative branch */
}
/***************************************************
@@ -1652,10 +1669,7 @@ void f8_cpu_device::f8_ns_isar_d()
}
-/***************************************************
- * Execute cycles
- ***************************************************/
-
+/* Execute cycles - returns number of cycles actually run */
void f8_cpu_device::execute_run()
{
do
@@ -1665,307 +1679,305 @@ void f8_cpu_device::execute_run()
m_debug_pc = (m_pc0 - 1) & 0xffff;
debugger_instruction_hook(m_debug_pc);
- switch (op)
+ switch( op )
{
- case 0x00: f8_lr_a_ku(); break;
- case 0x01: f8_lr_a_kl(); break;
- case 0x02: f8_lr_a_qu(); break;
- case 0x03: f8_lr_a_ql(); break;
- case 0x04: f8_lr_ku_a(); break;
- case 0x05: f8_lr_kl_a(); break;
- case 0x06: f8_lr_qu_a(); break;
- case 0x07: f8_lr_ql_a(); break;
- case 0x08: f8_lr_k_p(); break;
- case 0x09: f8_lr_p_k(); break;
- case 0x0a: f8_lr_a_is(); break;
- case 0x0b: f8_lr_is_a(); break;
- case 0x0c: f8_pk(); break;
- case 0x0d: f8_lr_p0_q(); break;
- case 0x0e: f8_lr_q_dc(); break;
- case 0x0f: f8_lr_dc_q(); break;
-
- case 0x10: f8_lr_dc_h(); break;
- case 0x11: f8_lr_h_dc(); break;
- case 0x12: f8_sr_1(); break;
- case 0x13: f8_sl_1(); break;
- case 0x14: f8_sr_4(); break;
- case 0x15: f8_sl_4(); break;
- case 0x16: f8_lm(); break;
- case 0x17: f8_st(); break;
- case 0x18: f8_com(); break;
- case 0x19: f8_lnk(); break;
- case 0x1a: f8_di(); break;
- case 0x1b: f8_ei(); break;
- case 0x1c: f8_pop(); break;
- case 0x1d: f8_lr_w_j(); break;
- case 0x1e: f8_lr_j_w(); break;
- case 0x1f: f8_inc(); break;
-
- case 0x20: f8_li(); break;
- case 0x21: f8_ni(); break;
- case 0x22: f8_oi(); break;
- case 0x23: f8_xi(); break;
- case 0x24: f8_ai(); break;
- case 0x25: f8_ci(); break;
- case 0x26: f8_in(); break;
- case 0x27: f8_out(); break;
- case 0x28: f8_pi(); break;
- case 0x29: f8_jmp(); break;
- case 0x2a: f8_dci(); break;
- case 0x2b: f8_nop(); break;
- case 0x2c: f8_xdc(); break;
- case 0x2d: illegal(); break;
- case 0x2e: illegal(); break;
- case 0x2f: illegal(); break;
-
- case 0x30: f8_ds_r(0); break;
- case 0x31: f8_ds_r(1); break;
- case 0x32: f8_ds_r(2); break;
- case 0x33: f8_ds_r(3); break;
- case 0x34: f8_ds_r(4); break;
- case 0x35: f8_ds_r(5); break;
- case 0x36: f8_ds_r(6); break;
- case 0x37: f8_ds_r(7); break;
- case 0x38: f8_ds_r(8); break;
- case 0x39: f8_ds_r(9); break;
- case 0x3a: f8_ds_r(10); break;
- case 0x3b: f8_ds_r(11); break;
- case 0x3c: f8_ds_isar(); break;
- case 0x3d: f8_ds_isar_i(); break;
- case 0x3e: f8_ds_isar_d(); break;
- case 0x3f: illegal(); break;
-
- case 0x40: f8_lr_a_r(0); break;
- case 0x41: f8_lr_a_r(1); break;
- case 0x42: f8_lr_a_r(2); break;
- case 0x43: f8_lr_a_r(3); break;
- case 0x44: f8_lr_a_r(4); break;
- case 0x45: f8_lr_a_r(5); break;
- case 0x46: f8_lr_a_r(6); break;
- case 0x47: f8_lr_a_r(7); break;
- case 0x48: f8_lr_a_r(8); break;
- case 0x49: f8_lr_a_r(9); break;
- case 0x4a: f8_lr_a_r(10); break;
- case 0x4b: f8_lr_a_r(11); break;
- case 0x4c: f8_lr_a_isar(); break;
- case 0x4d: f8_lr_a_isar_i(); break;
- case 0x4e: f8_lr_a_isar_d(); break;
- case 0x4f: illegal(); break;
-
- case 0x50: f8_lr_r_a(0); break;
- case 0x51: f8_lr_r_a(1); break;
- case 0x52: f8_lr_r_a(2); break;
- case 0x53: f8_lr_r_a(3); break;
- case 0x54: f8_lr_r_a(4); break;
- case 0x55: f8_lr_r_a(5); break;
- case 0x56: f8_lr_r_a(6); break;
- case 0x57: f8_lr_r_a(7); break;
- case 0x58: f8_lr_r_a(8); break;
- case 0x59: f8_lr_r_a(9); break;
- case 0x5a: f8_lr_r_a(10); break;
- case 0x5b: f8_lr_r_a(11); break;
- case 0x5c: f8_lr_isar_a(); break;
- case 0x5d: f8_lr_isar_i_a(); break;
- case 0x5e: f8_lr_isar_d_a(); break;
- case 0x5f: illegal(); break;
-
- case 0x60: f8_lisu(0x00); break;
- case 0x61: f8_lisu(0x08); break;
- case 0x62: f8_lisu(0x10); break;
- case 0x63: f8_lisu(0x18); break;
- case 0x64: f8_lisu(0x20); break;
- case 0x65: f8_lisu(0x28); break;
- case 0x66: f8_lisu(0x30); break;
- case 0x67: f8_lisu(0x38); break;
- case 0x68: f8_lisl(0x00); break;
- case 0x69: f8_lisl(0x01); break;
- case 0x6a: f8_lisl(0x02); break;
- case 0x6b: f8_lisl(0x03); break;
- case 0x6c: f8_lisl(0x04); break;
- case 0x6d: f8_lisl(0x05); break;
- case 0x6e: f8_lisl(0x06); break;
- case 0x6f: f8_lisl(0x07); break;
-
- case 0x70: f8_lis(0x0); break;
- case 0x71: f8_lis(0x1); break;
- case 0x72: f8_lis(0x2); break;
- case 0x73: f8_lis(0x3); break;
- case 0x74: f8_lis(0x4); break;
- case 0x75: f8_lis(0x5); break;
- case 0x76: f8_lis(0x6); break;
- case 0x77: f8_lis(0x7); break;
- case 0x78: f8_lis(0x8); break;
- case 0x79: f8_lis(0x9); break;
- case 0x7a: f8_lis(0xa); break;
- case 0x7b: f8_lis(0xb); break;
- case 0x7c: f8_lis(0xc); break;
- case 0x7d: f8_lis(0xd); break;
- case 0x7e: f8_lis(0xe); break;
- case 0x7f: f8_lis(0xf); break;
-
- case 0x80: f8_bt(0); break;
- case 0x81: f8_bt(1); break;
- case 0x82: f8_bt(2); break;
- case 0x83: f8_bt(3); break;
- case 0x84: f8_bt(4); break;
- case 0x85: f8_bt(5); break;
- case 0x86: f8_bt(6); break;
- case 0x87: f8_bt(7); break;
- case 0x88: f8_am(); break;
- case 0x89: f8_amd(); break;
- case 0x8a: f8_nm(); break;
- case 0x8b: f8_om(); break;
- case 0x8c: f8_xm(); break;
- case 0x8d: f8_cm(); break;
- case 0x8e: f8_adc(); break;
- case 0x8f: f8_br7(); break;
-
- case 0x90: f8_bf(0x0); break;
- case 0x91: f8_bf(0x1); break;
- case 0x92: f8_bf(0x2); break;
- case 0x93: f8_bf(0x3); break;
- case 0x94: f8_bf(0x4); break;
- case 0x95: f8_bf(0x5); break;
- case 0x96: f8_bf(0x6); break;
- case 0x97: f8_bf(0x7); break;
- case 0x98: f8_bf(0x8); break;
- case 0x99: f8_bf(0x9); break;
- case 0x9a: f8_bf(0xa); break;
- case 0x9b: f8_bf(0xb); break;
- case 0x9c: f8_bf(0xc); break;
- case 0x9d: f8_bf(0xd); break;
- case 0x9e: f8_bf(0xe); break;
- case 0x9f: f8_bf(0xf); break;
-
- case 0xa0: f8_ins_0(0x0); break;
- case 0xa1: f8_ins_0(0x1); break;
- case 0xa2: illegal(); break;
- case 0xa3: illegal(); break;
- case 0xa4: f8_ins_1(0x4); break;
- case 0xa5: f8_ins_1(0x5); break;
- case 0xa6: f8_ins_1(0x6); break;
- case 0xa7: f8_ins_1(0x7); break;
- case 0xa8: f8_ins_1(0x8); break;
- case 0xa9: f8_ins_1(0x9); break;
- case 0xaa: f8_ins_1(0xa); break;
- case 0xab: f8_ins_1(0xb); break;
- case 0xac: f8_ins_1(0xc); break;
- case 0xad: f8_ins_1(0xd); break;
- case 0xae: f8_ins_1(0xe); break;
- case 0xaf: f8_ins_1(0xf); break;
-
- case 0xb0: f8_outs_0(0x0); break;
- case 0xb1: f8_outs_0(0x1); break;
- case 0xb2: illegal(); break;
- case 0xb3: illegal(); break;
- case 0xb4: f8_outs_1(0x4); break;
- case 0xb5: f8_outs_1(0x5); break;
- case 0xb6: f8_outs_1(0x6); break;
- case 0xb7: f8_outs_1(0x7); break;
- case 0xb8: f8_outs_1(0x8); break;
- case 0xb9: f8_outs_1(0x9); break;
- case 0xba: f8_outs_1(0xa); break;
- case 0xbb: f8_outs_1(0xb); break;
- case 0xbc: f8_outs_1(0xc); break;
- case 0xbd: f8_outs_1(0xd); break;
- case 0xbe: f8_outs_1(0xe); break;
- case 0xbf: f8_outs_1(0xf); break;
-
- case 0xc0: f8_as(0x0); break;
- case 0xc1: f8_as(0x1); break;
- case 0xc2: f8_as(0x2); break;
- case 0xc3: f8_as(0x3); break;
- case 0xc4: f8_as(0x4); break;
- case 0xc5: f8_as(0x5); break;
- case 0xc6: f8_as(0x6); break;
- case 0xc7: f8_as(0x7); break;
- case 0xc8: f8_as(0x8); break;
- case 0xc9: f8_as(0x9); break;
- case 0xca: f8_as(0xa); break;
- case 0xcb: f8_as(0xb); break;
- case 0xcc: f8_as_isar(); break;
- case 0xcd: f8_as_isar_i(); break;
- case 0xce: f8_as_isar_d(); break;
- case 0xcf: illegal(); break;
-
- case 0xd0: f8_asd(0x0); break;
- case 0xd1: f8_asd(0x1); break;
- case 0xd2: f8_asd(0x2); break;
- case 0xd3: f8_asd(0x3); break;
- case 0xd4: f8_asd(0x4); break;
- case 0xd5: f8_asd(0x5); break;
- case 0xd6: f8_asd(0x6); break;
- case 0xd7: f8_asd(0x7); break;
- case 0xd8: f8_asd(0x8); break;
- case 0xd9: f8_asd(0x9); break;
- case 0xda: f8_asd(0xa); break;
- case 0xdb: f8_asd(0xb); break;
- case 0xdc: f8_asd_isar(); break;
- case 0xdd: f8_asd_isar_i(); break;
- case 0xde: f8_asd_isar_d(); break;
- case 0xdf: illegal(); break;
-
- case 0xe0: f8_xs(0x0); break;
- case 0xe1: f8_xs(0x1); break;
- case 0xe2: f8_xs(0x2); break;
- case 0xe3: f8_xs(0x3); break;
- case 0xe4: f8_xs(0x4); break;
- case 0xe5: f8_xs(0x5); break;
- case 0xe6: f8_xs(0x6); break;
- case 0xe7: f8_xs(0x7); break;
- case 0xe8: f8_xs(0x8); break;
- case 0xe9: f8_xs(0x9); break;
- case 0xea: f8_xs(0xa); break;
- case 0xeb: f8_xs(0xb); break;
- case 0xec: f8_xs_isar(); break;
- case 0xed: f8_xs_isar_i(); break;
- case 0xee: f8_xs_isar_d(); break;
- case 0xef: illegal(); break;
-
- case 0xf0: f8_ns(0x0); break;
- case 0xf1: f8_ns(0x1); break;
- case 0xf2: f8_ns(0x2); break;
- case 0xf3: f8_ns(0x3); break;
- case 0xf4: f8_ns(0x4); break;
- case 0xf5: f8_ns(0x5); break;
- case 0xf6: f8_ns(0x6); break;
- case 0xf7: f8_ns(0x7); break;
- case 0xf8: f8_ns(0x8); break;
- case 0xf9: f8_ns(0x9); break;
- case 0xfa: f8_ns(0xa); break;
- case 0xfb: f8_ns(0xb); break;
- case 0xfc: f8_ns_isar(); break;
- case 0xfd: f8_ns_isar_i(); break;
- case 0xfe: f8_ns_isar_d(); break;
- case 0xff: illegal(); break;
+ /* opcode bitmask */
+ case 0x00: /* 0000 0000 */ f8_lr_a_ku(); break;
+ case 0x01: /* 0000 0001 */ f8_lr_a_kl(); break;
+ case 0x02: /* 0000 0010 */ f8_lr_a_qu(); break;
+ case 0x03: /* 0000 0011 */ f8_lr_a_ql(); break;
+ case 0x04: /* 0000 0100 */ f8_lr_ku_a(); break;
+ case 0x05: /* 0000 0101 */ f8_lr_kl_a(); break;
+ case 0x06: /* 0000 0110 */ f8_lr_qu_a(); break;
+ case 0x07: /* 0000 0111 */ f8_lr_ql_a(); break;
+ case 0x08: /* 0000 1000 */ f8_lr_k_p(); break;
+ case 0x09: /* 0000 1001 */ f8_lr_p_k(); break;
+ case 0x0a: /* 0000 1010 */ f8_lr_a_is(); break;
+ case 0x0b: /* 0000 1011 */ f8_lr_is_a(); break;
+ case 0x0c: /* 0000 1100 */ f8_pk(); break;
+ case 0x0d: /* 0000 1101 */ f8_lr_p0_q(); break;
+ case 0x0e: /* 0000 1110 */ f8_lr_q_dc(); break;
+ case 0x0f: /* 0000 1111 */ f8_lr_dc_q(); break;
+
+ case 0x10: /* 0001 0000 */ f8_lr_dc_h(); break;
+ case 0x11: /* 0001 0001 */ f8_lr_h_dc(); break;
+ case 0x12: /* 0001 0010 */ f8_sr_1(); break;
+ case 0x13: /* 0001 0011 */ f8_sl_1(); break;
+ case 0x14: /* 0001 0100 */ f8_sr_4(); break;
+ case 0x15: /* 0001 0101 */ f8_sl_4(); break;
+ case 0x16: /* 0001 0110 */ f8_lm(); break;
+ case 0x17: /* 0001 0111 */ f8_st(); break;
+ case 0x18: /* 0001 1000 */ f8_com(); break;
+ case 0x19: /* 0001 1001 */ f8_lnk(); break;
+ case 0x1a: /* 0001 1010 */ f8_di(); break;
+ case 0x1b: /* 0001 1011 */ f8_ei(); break;
+ case 0x1c: /* 0001 1100 */ f8_pop(); break;
+ case 0x1d: /* 0001 1101 */ f8_lr_w_j(); break;
+ case 0x1e: /* 0001 1110 */ f8_lr_j_w(); break;
+ case 0x1f: /* 0001 1111 */ f8_inc(); break;
+
+ case 0x20: /* 0010 0000 */ f8_li(); break;
+ case 0x21: /* 0010 0001 */ f8_ni(); break;
+ case 0x22: /* 0010 0010 */ f8_oi(); break;
+ case 0x23: /* 0010 0011 */ f8_xi(); break;
+ case 0x24: /* 0010 0100 */ f8_ai(); break;
+ case 0x25: /* 0010 0101 */ f8_ci(); break;
+ case 0x26: /* 0010 0110 */ f8_in(); break;
+ case 0x27: /* 0010 0111 */ f8_out(); break;
+ case 0x28: /* 0010 1000 */ f8_pi(); break;
+ case 0x29: /* 0010 1001 */ f8_jmp(); break;
+ case 0x2a: /* 0010 1010 */ f8_dci(); break;
+ case 0x2b: /* 0010 1011 */ f8_nop(); break;
+ case 0x2c: /* 0010 1100 */ f8_xdc(); break;
+ case 0x2d: /* 0010 1101 */ illegal(); break;
+ case 0x2e: /* 0010 1110 */ illegal(); break;
+ case 0x2f: /* 0010 1111 */ illegal(); break;
+
+ case 0x30: /* 0011 0000 */ f8_ds_r( 0); break;
+ case 0x31: /* 0011 0001 */ f8_ds_r( 1); break;
+ case 0x32: /* 0011 0010 */ f8_ds_r( 2); break;
+ case 0x33: /* 0011 0011 */ f8_ds_r( 3); break;
+ case 0x34: /* 0011 0100 */ f8_ds_r( 4); break;
+ case 0x35: /* 0011 0101 */ f8_ds_r( 5); break;
+ case 0x36: /* 0011 0110 */ f8_ds_r( 6); break;
+ case 0x37: /* 0011 0111 */ f8_ds_r( 7); break;
+ case 0x38: /* 0011 1000 */ f8_ds_r( 8); break;
+ case 0x39: /* 0011 1001 */ f8_ds_r( 9); break;
+ case 0x3a: /* 0011 1010 */ f8_ds_r(10); break;
+ case 0x3b: /* 0011 1011 */ f8_ds_r(11); break;
+ case 0x3c: /* 0011 1100 */ f8_ds_isar(); break;
+ case 0x3d: /* 0011 1101 */ f8_ds_isar_i(); break;
+ case 0x3e: /* 0011 1110 */ f8_ds_isar_d(); break;
+ case 0x3f: /* 0011 1111 */ illegal(); break;
+
+ case 0x40: /* 0100 0000 */ f8_lr_a_r( 0); break;
+ case 0x41: /* 0100 0001 */ f8_lr_a_r( 1); break;
+ case 0x42: /* 0100 0010 */ f8_lr_a_r( 2); break;
+ case 0x43: /* 0100 0011 */ f8_lr_a_r( 3); break;
+ case 0x44: /* 0100 0100 */ f8_lr_a_r( 4); break;
+ case 0x45: /* 0100 0101 */ f8_lr_a_r( 5); break;
+ case 0x46: /* 0100 0110 */ f8_lr_a_r( 6); break;
+ case 0x47: /* 0100 0111 */ f8_lr_a_r( 7); break;
+ case 0x48: /* 0100 1000 */ f8_lr_a_r( 8); break;
+ case 0x49: /* 0100 1001 */ f8_lr_a_r( 9); break;
+ case 0x4a: /* 0100 1010 */ f8_lr_a_r(10); break;
+ case 0x4b: /* 0100 1011 */ f8_lr_a_r(11); break;
+ case 0x4c: /* 0100 1100 */ f8_lr_a_isar(); break;
+ case 0x4d: /* 0100 1101 */ f8_lr_a_isar_i(); break;
+ case 0x4e: /* 0100 1110 */ f8_lr_a_isar_d(); break;
+ case 0x4f: /* 0100 1111 */ illegal(); break;
+
+ case 0x50: /* 0101 0000 */ f8_lr_r_a( 0); break;
+ case 0x51: /* 0101 0001 */ f8_lr_r_a( 1); break;
+ case 0x52: /* 0101 0010 */ f8_lr_r_a( 2); break;
+ case 0x53: /* 0101 0011 */ f8_lr_r_a( 3); break;
+ case 0x54: /* 0101 0100 */ f8_lr_r_a( 4); break;
+ case 0x55: /* 0101 0101 */ f8_lr_r_a( 5); break;
+ case 0x56: /* 0101 0110 */ f8_lr_r_a( 6); break;
+ case 0x57: /* 0101 0111 */ f8_lr_r_a( 7); break;
+ case 0x58: /* 0101 1000 */ f8_lr_r_a( 8); break;
+ case 0x59: /* 0101 1001 */ f8_lr_r_a( 9); break;
+ case 0x5a: /* 0101 1010 */ f8_lr_r_a(10); break;
+ case 0x5b: /* 0101 1011 */ f8_lr_r_a(11); break;
+ case 0x5c: /* 0101 1100 */ f8_lr_isar_a(); break;
+ case 0x5d: /* 0101 1101 */ f8_lr_isar_i_a(); break;
+ case 0x5e: /* 0101 1110 */ f8_lr_isar_d_a(); break;
+ case 0x5f: /* 0101 1111 */ illegal(); break;
+
+ case 0x60: /* 0110 0000 */ f8_lisu(0x00); break;
+ case 0x61: /* 0110 0001 */ f8_lisu(0x08); break;
+ case 0x62: /* 0110 0010 */ f8_lisu(0x10); break;
+ case 0x63: /* 0110 0011 */ f8_lisu(0x18); break;
+ case 0x64: /* 0110 0100 */ f8_lisu(0x20); break;
+ case 0x65: /* 0110 0101 */ f8_lisu(0x28); break;
+ case 0x66: /* 0110 0110 */ f8_lisu(0x30); break;
+ case 0x67: /* 0110 0111 */ f8_lisu(0x38); break;
+ case 0x68: /* 0110 1000 */ f8_lisl(0x00); break;
+ case 0x69: /* 0110 1001 */ f8_lisl(0x01); break;
+ case 0x6a: /* 0110 1010 */ f8_lisl(0x02); break;
+ case 0x6b: /* 0110 1011 */ f8_lisl(0x03); break;
+ case 0x6c: /* 0110 1100 */ f8_lisl(0x04); break;
+ case 0x6d: /* 0110 1101 */ f8_lisl(0x05); break;
+ case 0x6e: /* 0110 1110 */ f8_lisl(0x06); break;
+ case 0x6f: /* 0110 1111 */ f8_lisl(0x07); break;
+
+ case 0x70: /* 0111 0000 */ f8_lis(0x0); break;
+ case 0x71: /* 0111 0001 */ f8_lis(0x1); break;
+ case 0x72: /* 0111 0010 */ f8_lis(0x2); break;
+ case 0x73: /* 0111 0011 */ f8_lis(0x3); break;
+ case 0x74: /* 0111 0100 */ f8_lis(0x4); break;
+ case 0x75: /* 0111 0101 */ f8_lis(0x5); break;
+ case 0x76: /* 0111 0110 */ f8_lis(0x6); break;
+ case 0x77: /* 0111 0111 */ f8_lis(0x7); break;
+ case 0x78: /* 0111 1000 */ f8_lis(0x8); break;
+ case 0x79: /* 0111 1001 */ f8_lis(0x9); break;
+ case 0x7a: /* 0111 1010 */ f8_lis(0xa); break;
+ case 0x7b: /* 0111 1011 */ f8_lis(0xb); break;
+ case 0x7c: /* 0111 1100 */ f8_lis(0xc); break;
+ case 0x7d: /* 0111 1101 */ f8_lis(0xd); break;
+ case 0x7e: /* 0111 1110 */ f8_lis(0xe); break;
+ case 0x7f: /* 0111 1111 */ f8_lis(0xf); break;
+
+ case 0x80: /* 1000 0000 */ f8_bt(0); break;
+ case 0x81: /* 1000 0001 */ f8_bt(1); break;
+ case 0x82: /* 1000 0010 */ f8_bt(2); break;
+ case 0x83: /* 1000 0011 */ f8_bt(3); break;
+ case 0x84: /* 1000 0100 */ f8_bt(4); break;
+ case 0x85: /* 1000 0101 */ f8_bt(5); break;
+ case 0x86: /* 1000 0110 */ f8_bt(6); break;
+ case 0x87: /* 1000 0111 */ f8_bt(7); break;
+ case 0x88: /* 1000 1000 */ f8_am(); break;
+ case 0x89: /* 1000 1001 */ f8_amd(); break;
+ case 0x8a: /* 1000 1010 */ f8_nm(); break;
+ case 0x8b: /* 1000 1011 */ f8_om(); break;
+ case 0x8c: /* 1000 1100 */ f8_xm(); break;
+ case 0x8d: /* 1000 1101 */ f8_cm(); break;
+ case 0x8e: /* 1000 1110 */ f8_adc(); break;
+ case 0x8f: /* 1000 1111 */ f8_br7(); break;
+
+ case 0x90: /* 1001 0000 */ f8_bf(0x0); break;
+ case 0x91: /* 1001 0001 */ f8_bf(0x1); break;
+ case 0x92: /* 1001 0010 */ f8_bf(0x2); break;
+ case 0x93: /* 1001 0011 */ f8_bf(0x3); break;
+ case 0x94: /* 1001 0100 */ f8_bf(0x4); break;
+ case 0x95: /* 1001 0101 */ f8_bf(0x5); break;
+ case 0x96: /* 1001 0110 */ f8_bf(0x6); break;
+ case 0x97: /* 1001 0111 */ f8_bf(0x7); break;
+ case 0x98: /* 1001 1000 */ f8_bf(0x8); break;
+ case 0x99: /* 1001 1001 */ f8_bf(0x9); break;
+ case 0x9a: /* 1001 1010 */ f8_bf(0xa); break;
+ case 0x9b: /* 1001 1011 */ f8_bf(0xb); break;
+ case 0x9c: /* 1001 1100 */ f8_bf(0xc); break;
+ case 0x9d: /* 1001 1101 */ f8_bf(0xd); break;
+ case 0x9e: /* 1001 1110 */ f8_bf(0xe); break;
+ case 0x9f: /* 1001 1111 */ f8_bf(0xf); break;
+
+ case 0xa0: /* 1010 0000 */ f8_ins_0(0x0); break;
+ case 0xa1: /* 1010 0001 */ f8_ins_0(0x1); break;
+ case 0xa2: /* 1010 0010 */ illegal(); break;
+ case 0xa3: /* 1010 0011 */ illegal(); break;
+ case 0xa4: /* 1010 0100 */ f8_ins_1(0x4); break;
+ case 0xa5: /* 1010 0101 */ f8_ins_1(0x5); break;
+ case 0xa6: /* 1010 0110 */ f8_ins_1(0x6); break;
+ case 0xa7: /* 1010 0111 */ f8_ins_1(0x7); break;
+ case 0xa8: /* 1010 1000 */ f8_ins_1(0x8); break;
+ case 0xa9: /* 1010 1001 */ f8_ins_1(0x9); break;
+ case 0xaa: /* 1010 1010 */ f8_ins_1(0xa); break;
+ case 0xab: /* 1010 1011 */ f8_ins_1(0xb); break;
+ case 0xac: /* 1010 1100 */ f8_ins_1(0xc); break;
+ case 0xad: /* 1010 1101 */ f8_ins_1(0xd); break;
+ case 0xae: /* 1010 1110 */ f8_ins_1(0xe); break;
+ case 0xaf: /* 1010 1111 */ f8_ins_1(0xf); break;
+
+ case 0xb0: /* 1011 0000 */ f8_outs_0(0x0); break;
+ case 0xb1: /* 1011 0001 */ f8_outs_0(0x1); break;
+ case 0xb2: /* 1011 0010 */ illegal(); break;
+ case 0xb3: /* 1011 0011 */ illegal(); break;
+ case 0xb4: /* 1011 0100 */ f8_outs_1(0x4); break;
+ case 0xb5: /* 1011 0101 */ f8_outs_1(0x5); break;
+ case 0xb6: /* 1011 0110 */ f8_outs_1(0x6); break;
+ case 0xb7: /* 1011 0111 */ f8_outs_1(0x7); break;
+ case 0xb8: /* 1011 1000 */ f8_outs_1(0x8); break;
+ case 0xb9: /* 1011 1001 */ f8_outs_1(0x9); break;
+ case 0xba: /* 1011 1010 */ f8_outs_1(0xa); break;
+ case 0xbb: /* 1011 1011 */ f8_outs_1(0xb); break;
+ case 0xbc: /* 1011 1100 */ f8_outs_1(0xc); break;
+ case 0xbd: /* 1011 1101 */ f8_outs_1(0xd); break;
+ case 0xbe: /* 1011 1110 */ f8_outs_1(0xe); break;
+ case 0xbf: /* 1011 1111 */ f8_outs_1(0xf); break;
+
+ case 0xc0: /* 1100 0000 */ f8_as(0x0); break;
+ case 0xc1: /* 1100 0001 */ f8_as(0x1); break;
+ case 0xc2: /* 1100 0010 */ f8_as(0x2); break;
+ case 0xc3: /* 1100 0011 */ f8_as(0x3); break;
+ case 0xc4: /* 1100 0100 */ f8_as(0x4); break;
+ case 0xc5: /* 1100 0101 */ f8_as(0x5); break;
+ case 0xc6: /* 1100 0110 */ f8_as(0x6); break;
+ case 0xc7: /* 1100 0111 */ f8_as(0x7); break;
+ case 0xc8: /* 1100 1000 */ f8_as(0x8); break;
+ case 0xc9: /* 1100 1001 */ f8_as(0x9); break;
+ case 0xca: /* 1100 1010 */ f8_as(0xa); break;
+ case 0xcb: /* 1100 1011 */ f8_as(0xb); break;
+ case 0xcc: /* 1100 1100 */ f8_as_isar(); break;
+ case 0xcd: /* 1100 1101 */ f8_as_isar_i(); break;
+ case 0xce: /* 1100 1110 */ f8_as_isar_d(); break;
+ case 0xcf: /* 1100 1111 */ illegal(); break;
+
+ case 0xd0: /* 1101 0000 */ f8_asd(0x0); break;
+ case 0xd1: /* 1101 0001 */ f8_asd(0x1); break;
+ case 0xd2: /* 1101 0010 */ f8_asd(0x2); break;
+ case 0xd3: /* 1101 0011 */ f8_asd(0x3); break;
+ case 0xd4: /* 1101 0100 */ f8_asd(0x4); break;
+ case 0xd5: /* 1101 0101 */ f8_asd(0x5); break;
+ case 0xd6: /* 1101 0110 */ f8_asd(0x6); break;
+ case 0xd7: /* 1101 0111 */ f8_asd(0x7); break;
+ case 0xd8: /* 1101 1000 */ f8_asd(0x8); break;
+ case 0xd9: /* 1101 1001 */ f8_asd(0x9); break;
+ case 0xda: /* 1101 1010 */ f8_asd(0xa); break;
+ case 0xdb: /* 1101 1011 */ f8_asd(0xb); break;
+ case 0xdc: /* 1101 1100 */ f8_asd_isar(); break;
+ case 0xdd: /* 1101 1101 */ f8_asd_isar_i(); break;
+ case 0xde: /* 1101 1110 */ f8_asd_isar_d(); break;
+ case 0xdf: /* 1101 1111 */ illegal(); break;
+
+ case 0xe0: /* 1110 0000 */ f8_xs(0x0); break;
+ case 0xe1: /* 1110 0001 */ f8_xs(0x1); break;
+ case 0xe2: /* 1110 0010 */ f8_xs(0x2); break;
+ case 0xe3: /* 1110 0011 */ f8_xs(0x3); break;
+ case 0xe4: /* 1110 0100 */ f8_xs(0x4); break;
+ case 0xe5: /* 1110 0101 */ f8_xs(0x5); break;
+ case 0xe6: /* 1110 0110 */ f8_xs(0x6); break;
+ case 0xe7: /* 1110 0111 */ f8_xs(0x7); break;
+ case 0xe8: /* 1110 1000 */ f8_xs(0x8); break;
+ case 0xe9: /* 1110 1001 */ f8_xs(0x9); break;
+ case 0xea: /* 1110 1010 */ f8_xs(0xa); break;
+ case 0xeb: /* 1110 1011 */ f8_xs(0xb); break;
+ case 0xec: /* 1110 1100 */ f8_xs_isar(); break;
+ case 0xed: /* 1110 1101 */ f8_xs_isar_i(); break;
+ case 0xee: /* 1110 1110 */ f8_xs_isar_d(); break;
+ case 0xef: /* 1110 1111 */ illegal(); break;
+
+ case 0xf0: /* 1111 0000 */ f8_ns(0x0); break;
+ case 0xf1: /* 1111 0001 */ f8_ns(0x1); break;
+ case 0xf2: /* 1111 0010 */ f8_ns(0x2); break;
+ case 0xf3: /* 1111 0011 */ f8_ns(0x3); break;
+ case 0xf4: /* 1111 0100 */ f8_ns(0x4); break;
+ case 0xf5: /* 1111 0101 */ f8_ns(0x5); break;
+ case 0xf6: /* 1111 0110 */ f8_ns(0x6); break;
+ case 0xf7: /* 1111 0111 */ f8_ns(0x7); break;
+ case 0xf8: /* 1111 1000 */ f8_ns(0x8); break;
+ case 0xf9: /* 1111 1001 */ f8_ns(0x9); break;
+ case 0xfa: /* 1111 1010 */ f8_ns(0xa); break;
+ case 0xfb: /* 1111 1011 */ f8_ns(0xb); break;
+ case 0xfc: /* 1111 1100 */ f8_ns_isar(); break;
+ case 0xfd: /* 1111 1101 */ f8_ns_isar_i(); break;
+ case 0xfe: /* 1111 1110 */ f8_ns_isar_d(); break;
+ case 0xff: /* 1111 1111 */ illegal(); break;
}
- switch (op)
- {
- case 0x0c: case 0x1b: case 0x1c: case 0x1d:
+ switch (op) {
+ case 0x0d: case 0x1b: case 0x1c: case 0x1d:
case 0x27: case 0x28: case 0x29:
case 0xb4: case 0xb5: case 0xb6: case 0xb7:
case 0xb8: case 0xb9: case 0xba: case 0xbb:
case 0xbc: case 0xbd: case 0xbe: case 0xbf:
- // don't handle irq after privileged instruction
ROMC_00(cS);
break;
default:
- // 'freeze cycle' for handling interrupts
if (m_w&I && m_irq_request)
{
- ROMC_10();
ROMC_1C(cL);
ROMC_0F();
ROMC_13();
}
-
- // fetch next instruction (DS is long cycle)
- if ((op >= 0x30) && (op <= 0x3f))
+ if( ( op >= 0x30 ) && ( op <= 0x3f) ) /* DS is a long cycle inst */
+ {
ROMC_00(cL);
+ }
else
+ {
ROMC_00(cS);
-
+ }
break;
}
} while( m_icount > 0 );
diff --git a/src/devices/cpu/f8/f8.h b/src/devices/cpu/f8/f8.h
index 5185b938a05..cdd8f03b862 100644
--- a/src/devices/cpu/f8/f8.h
+++ b/src/devices/cpu/f8/f8.h
@@ -76,6 +76,9 @@ private:
u8 m_r[64]; /* scratchpad RAM */
int m_irq_request;
+ /* timer shifter polynomial values (will be used for timer interrupts) */
+ u8 timer_shifter[256];
+
u16 m_debug_pc; // only for the MAME debugger
inline void CLR_OZCS();
diff --git a/src/devices/cpu/g65816/g65816.cpp b/src/devices/cpu/g65816/g65816.cpp
index 93c93f96ed8..a65122b6153 100644
--- a/src/devices/cpu/g65816/g65816.cpp
+++ b/src/devices/cpu/g65816/g65816.cpp
@@ -17,10 +17,6 @@ All rights reserved.
/*
Changes:
- 1.02 (2019-02-02):
- R. Belmont
- - Corrected WDM to take 2 bytes and added callback
-
1.01 (2010-04-04):
Angelo Salese
- Added boundary checks for MVP and MVN in M mode.
@@ -119,7 +115,6 @@ g65816_device::g65816_device(const machine_config &mconfig, device_type type, co
, m_data_config("data", ENDIANNESS_LITTLE, 8, 24, 0, internal)
, m_opcode_config("opcodes", ENDIANNESS_LITTLE, 8, 24, 0, internal)
, m_vector_config("vectors", ENDIANNESS_LITTLE, 8, 5, 0)
- , m_wdm_w(*this)
, m_cpu_type(cpu_type)
{
}
@@ -865,8 +860,6 @@ void g65816_device::device_start()
m_program_cache = program_space.cache<0, 0, ENDIANNESS_LITTLE>();
m_opcode_cache = (has_space(AS_OPCODES) ? space(AS_OPCODES) : program_space).cache<0, 0, ENDIANNESS_LITTLE>();
- m_wdm_w.resolve_safe();
-
save_item(NAME(m_a));
save_item(NAME(m_b));
save_item(NAME(m_x));
diff --git a/src/devices/cpu/g65816/g65816.h b/src/devices/cpu/g65816/g65816.h
index 454dc7fd1b5..e53f9eb784b 100644
--- a/src/devices/cpu/g65816/g65816.h
+++ b/src/devices/cpu/g65816/g65816.h
@@ -56,8 +56,7 @@ public:
// construction/destruction
g65816_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- auto wdm_handler() { return m_wdm_w.bind(); }
-
+protected:
/* Registers - used by g65816_set_reg() and g65816_get_reg() */
enum
{
@@ -67,7 +66,6 @@ public:
_5A22_FASTROM
};
-protected:
g65816_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int cpu_type, address_map_constructor internal);
// device-level overrides
@@ -98,7 +96,6 @@ protected:
address_space_config m_data_config;
address_space_config m_opcode_config;
address_space_config m_vector_config;
- devcb_write8 m_wdm_w; /* WDM callback */
typedef void (g65816_device::*opcode_func) ();
typedef unsigned (g65816_device::*get_reg_func)(int regnum);
@@ -142,10 +139,8 @@ protected:
void g65816_set_pc(unsigned val);
unsigned g65816_get_sp();
void g65816_set_sp(unsigned val);
-public:
unsigned g65816_get_reg(int regnum);
void g65816_set_reg(int regnum, unsigned value);
-protected:
void g65816_restore_state();
unsigned g65816i_read_8_normal(unsigned address);
unsigned g65816i_read_8_immediate(unsigned address);
diff --git a/src/devices/cpu/g65816/g65816ds.cpp b/src/devices/cpu/g65816/g65816ds.cpp
index 355be140f99..0f40b42f5d6 100644
--- a/src/devices/cpu/g65816/g65816ds.cpp
+++ b/src/devices/cpu/g65816/g65816ds.cpp
@@ -101,7 +101,7 @@ const g65816_disassembler::opcode_struct g65816_disassembler::s_opcodes[256] =
{op::BIT, M, DX }, {op::AND, M, DX }, {op::ROL, M, DX }, {op::AND, M, DLIY},
{op::SEC, I, IMP }, {op::AND, M, AY }, {op::DEA, I, IMP }, {op::TSC, I, IMP },
{op::BIT, M, AX }, {op::AND, M, AX }, {op::ROL, M, AX }, {op::AND, M, ALX },
- {op::RTI, I, IMP }, {op::EOR, M, DXI }, {op::WDM, I, SIG }, {op::EOR, M, S },
+ {op::RTI, I, IMP }, {op::EOR, M, DXI }, {op::WDM, I, IMP }, {op::EOR, M, S },
{op::MVP, I, MVP }, {op::EOR, M, D }, {op::LSR, M, D }, {op::EOR, M, DLI },
{op::PHA, I, IMP }, {op::EOR, M, IMM }, {op::LSR, M, ACC }, {op::PHK, I, IMP },
{op::JMP, I, A }, {op::EOR, M, A }, {op::LSR, M, A }, {op::EOR, M, AL },
diff --git a/src/devices/cpu/g65816/g65816op.h b/src/devices/cpu/g65816/g65816op.h
index 727117c0f29..97b198e9385 100644
--- a/src/devices/cpu/g65816/g65816op.h
+++ b/src/devices/cpu/g65816/g65816op.h
@@ -1428,8 +1428,7 @@
#undef OP_WDM
#define OP_WDM() \
CLK(CLK_OP + CLK_IMPLIED); \
- SRC = OPER_8_IMM(); \
- m_wdm_w(SRC);
+ REGISTER_PC++
/* G65816 Exchange accum high and low bytes */
#undef OP_XBA
diff --git a/src/devices/cpu/h8/h83003.cpp b/src/devices/cpu/h8/h83003.cpp
index 7b7b468d7b5..4e3e59c15cf 100644
--- a/src/devices/cpu/h8/h83003.cpp
+++ b/src/devices/cpu/h8/h83003.cpp
@@ -136,9 +136,7 @@ void h83003_device::map(address_map &map)
map(0xffffd2, 0xffffd2).rw("port9", FUNC(h8_port_device::port_r), FUNC(h8_port_device::dr_w));
map(0xffffd3, 0xffffd3).rw("porta", FUNC(h8_port_device::port_r), FUNC(h8_port_device::dr_w));
map(0xffffd4, 0xffffd4).w("portb", FUNC(h8_port_device::ddr_w));
- map(0xffffd5, 0xffffd5).w("portc", FUNC(h8_port_device::ddr_w));
map(0xffffd6, 0xffffd6).rw("portb", FUNC(h8_port_device::port_r), FUNC(h8_port_device::dr_w));
- map(0xffffd7, 0xffffd7).rw("portc", FUNC(h8_port_device::port_r), FUNC(h8_port_device::dr_w));
map(0xffffda, 0xffffda).rw("port4", FUNC(h8_port_device::pcr_r), FUNC(h8_port_device::pcr_w));
map(0xffffe0, 0xffffe7).r("adc", FUNC(h8_adc_device::addr8_r));
@@ -169,7 +167,6 @@ void h83003_device::device_add_mconfig(machine_config &config)
H8_PORT(config, "port9", h8_device::PORT_9, 0x00, 0xc0);
H8_PORT(config, "porta", h8_device::PORT_A, 0x00, 0x00);
H8_PORT(config, "portb", h8_device::PORT_B, 0x00, 0x00);
- H8_PORT(config, "portc", h8_device::PORT_C, 0x00, 0x00);
H8_TIMER16(config, "timer16", 5, 0xe0);
H8H_TIMER16_CHANNEL(config, "timer16:0", 2, 2, "intc", 24);
H8H_TIMER16_CHANNEL(config, "timer16:1", 2, 2, "intc", 28);
diff --git a/src/devices/cpu/hmcs40/hmcs40.cpp b/src/devices/cpu/hmcs40/hmcs40.cpp
index 42e1ca45ef8..795ab3de985 100644
--- a/src/devices/cpu/hmcs40/hmcs40.cpp
+++ b/src/devices/cpu/hmcs40/hmcs40.cpp
@@ -466,7 +466,6 @@ void hmcs40_cpu_device::do_interrupt()
m_irt = 0;
standard_irq_callback(line);
- m_prev_pc = m_pc;
}
void hmcs40_cpu_device::execute_set_input(int line, int state)
diff --git a/src/devices/cpu/hpc/hpc.cpp b/src/devices/cpu/hpc/hpc.cpp
deleted file mode 100644
index 399ca9164af..00000000000
--- a/src/devices/cpu/hpc/hpc.cpp
+++ /dev/null
@@ -1,144 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:AJR
-/***************************************************************************
-
- National Semiconductor High-Performance microController (HPC)
-
- Currently this device is just a stub with no actual execution core.
-
-****************************************************************************
-
- HPC feature options by part number
-
- HPC16xxx Military temperature range (-55°C to +125°C)
- HPC26xxx Automotive temperature range (-40°C to +105°C)
- HPC36xxx Industrial temperature range (-40°C to +85°C)
- HPC46xxx Commercial temperature range (0°C to +75°C)
-
- HPCxx1xx 8-channel A/D converter
- HPCxx0xx No A/D converter
-
- HPCxxx6x 16k bytes of on-chip ROM
- HPCxxx8x 8k bytes of on-chip ROM
- HPCxxx0x No on-chip ROM
-
- HPCxxxx4 512 bytes of on-chip RAM
- HPCxxxx3 256 bytes of on-chip RAM
-
-***************************************************************************/
-
-#include "emu.h"
-#include "hpc.h"
-#include "hpcdasm.h"
-
-// device type definitions
-DEFINE_DEVICE_TYPE(HPC46003, hpc46003_device, "hpc46003", "HPC46003")
-DEFINE_DEVICE_TYPE(HPC46104, hpc46104_device, "hpc46104", "HPC46104")
-
-
-void hpc46003_device::internal_map(address_map &map)
-{
- map(0x0000, 0x00bf).ram();
- map(0x00c0, 0x00c0).rw(FUNC(hpc46003_device::psw_r), FUNC(hpc46003_device::psw_w));
- map(0x00c4, 0x00cf).ram().share("core_regs");
- // TODO: many other internal registers
- map(0x01c0, 0x01ff).ram();
-}
-
-void hpc46104_device::internal_map(address_map &map)
-{
- map(0x0000, 0x00bf).ram();
- map(0x00c0, 0x00c0).rw(FUNC(hpc46104_device::psw_r), FUNC(hpc46104_device::psw_w));
- map(0x00c4, 0x00cf).ram().share("core_regs");
- // TODO: many other internal registers
- map(0x01c0, 0x02ff).ram();
-}
-
-std::unique_ptr<util::disasm_interface> hpc46003_device::create_disassembler()
-{
- return std::make_unique<hpc16083_disassembler>();
-}
-
-std::unique_ptr<util::disasm_interface> hpc46104_device::create_disassembler()
-{
- return std::make_unique<hpc16164_disassembler>();
-}
-
-
-hpc_device::hpc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, address_map_constructor map)
- : cpu_device(mconfig, type, tag, owner, clock)
- , m_program_config("program", ENDIANNESS_LITTLE, 16, 16, 0, map)
- , m_program(nullptr)
- , m_core_regs(*this, "core_regs")
- , m_psw(0)
- , m_icount(0)
-{
-}
-
-hpc46003_device::hpc46003_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
- : hpc_device(mconfig, HPC46003, tag, owner, clock, address_map_constructor(FUNC(hpc46003_device::internal_map), this))
-{
-}
-
-hpc46104_device::hpc46104_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
- : hpc_device(mconfig, HPC46104, tag, owner, clock, address_map_constructor(FUNC(hpc46104_device::internal_map), this))
-{
-}
-
-device_memory_interface::space_config_vector hpc_device::memory_space_config() const
-{
- return space_config_vector {
- std::make_pair(AS_PROGRAM, &m_program_config),
- };
-}
-
-
-void hpc_device::device_start()
-{
- m_program = &space(AS_PROGRAM);
-
- set_icountptr(m_icount);
-
- state_add(HPC_PSW, "PSW", m_psw);
- state_add(HPC_SP, "SP", m_core_regs[0]);
- state_add(HPC_PC, "PC", m_core_regs[1]);
- state_add(STATE_GENPC, "GENPC", m_core_regs[1]).callimport().noshow();
- state_add(STATE_GENPCBASE, "CURPC", m_core_regs[1]).callimport().noshow();
- state_add(HPC_A, "A", m_core_regs[2]);
- state_add(HPC_K, "K", m_core_regs[3]);
- state_add(HPC_B, "B", m_core_regs[4]);
- state_add(HPC_X, "X", m_core_regs[5]);
-
- save_item(NAME(m_psw));
-}
-
-void hpc_device::device_reset()
-{
- m_psw = 0x00;
- std::fill_n(&m_core_regs[0], 6, 0x0000);
-}
-
-
-u8 hpc_device::psw_r()
-{
- return m_psw;
-}
-
-void hpc_device::psw_w(u8 data)
-{
- m_psw = data;
-}
-
-
-void hpc_device::execute_run()
-{
- m_core_regs[1] = m_program->read_word(0xfffe);
- debugger_instruction_hook(m_core_regs[1]);
-
- m_icount = 0;
-}
-
-void hpc_device::execute_set_input(int inputnum, int state)
-{
- // TODO
-}
diff --git a/src/devices/cpu/hpc/hpc.h b/src/devices/cpu/hpc/hpc.h
deleted file mode 100644
index 5f73a0ee2e6..00000000000
--- a/src/devices/cpu/hpc/hpc.h
+++ /dev/null
@@ -1,88 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:AJR
-
-#ifndef MAME_CPU_HPC_HPC_H
-#define MAME_CPU_HPC_HPC_H
-
-#pragma once
-
-
-class hpc_device : public cpu_device
-{
-public:
- enum {
- HPC_PSW,
- HPC_SP,
- HPC_PC,
- HPC_A,
- HPC_K,
- HPC_B,
- HPC_X
- };
-
-protected:
- // construction/destruction
- hpc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, address_map_constructor map);
-
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
- // device_execute_interface overrides
- virtual void execute_run() override;
- virtual void execute_set_input(int inputnum, int state) override;
-
- // device_memory_interface overrides
- virtual space_config_vector memory_space_config() const override;
-
- // internal register access
- u8 psw_r();
- void psw_w(u8 data);
-
-private:
- // address space
- address_space_config m_program_config;
- address_space *m_program;
-
- // internal state
- required_shared_ptr<u16> m_core_regs;
- u8 m_psw;
-
- // execution sequencing
- s32 m_icount;
-};
-
-class hpc46003_device : public hpc_device
-{
-public:
- // construction/destruction
- hpc46003_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
-
-protected:
- // device_disasm_interface overrides
- virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
-
-private:
- void internal_map(address_map &map);
-};
-
-class hpc46104_device : public hpc_device
-{
-public:
- // construction/destruction
- hpc46104_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
-
-protected:
- // device_disasm_interface overrides
- virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
-
-private:
- void internal_map(address_map &map);
-};
-
-
-// device type declarations
-DECLARE_DEVICE_TYPE(HPC46003, hpc46003_device)
-DECLARE_DEVICE_TYPE(HPC46104, hpc46104_device)
-
-#endif // MAME_CPU_HPC_HPC_H
diff --git a/src/devices/cpu/hpc/hpcdasm.cpp b/src/devices/cpu/hpc/hpcdasm.cpp
deleted file mode 100644
index 86c575a826e..00000000000
--- a/src/devices/cpu/hpc/hpcdasm.cpp
+++ /dev/null
@@ -1,764 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:AJR
-/***************************************************************************
-
- National Semiconductor HPC disassembler
-
- Note that though all 16-bit fields in instructions have the MSB first,
- the HPC's memory organization is in fact little-endian. This is why r16
- is not used to read them.
-
-***************************************************************************/
-
-#include "util/disasmintf.h"
-#include "hpcdasm.h"
-
-#include "util/strformat.h"
-#include <ctype.h>
-
-using osd::u32;
-using util::BIT;
-using offs_t = u32;
-
-const char *const hpc16083_disassembler::s_regs[128] =
-{
- "psw", nullptr, "SP", "PC", "A", "K", "B", "X",
- "enir", "irpd", "ircd", "sio", "porti", nullptr, "halten", nullptr,
- "porta", "portb", nullptr, "upic", nullptr, nullptr, nullptr, nullptr,
- "dira", "dirb", "bfun", nullptr, nullptr, nullptr, nullptr, nullptr,
- nullptr, nullptr, "portd", nullptr, nullptr, nullptr, nullptr, nullptr,
- nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
- "enu", "enui", "rbuf", "tbuf", "enur", nullptr, nullptr, nullptr,
- nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
- "t4", "r4", "t5", "r5", "t6", "r6", "t7", "r7",
- "pwmode", "portp", nullptr, nullptr, nullptr, nullptr, "eicon", "eicr",
- nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
- nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
- "i4cr", "i3cr", "i2cr", "r2", "t2", "r3", "t3", "divby",
- "tmmode", "t0con", "watchdog", nullptr, nullptr, nullptr, nullptr, nullptr,
- nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
- nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr
-};
-
-const char *const hpc16164_disassembler::s_regs[128] =
-{
- "psw", nullptr, "SP", "PC", "A", "K", "B", "X",
- "enir", "irpd", "ircd", "sio", "porti", nullptr, "halten", "romdump",
- "porta", "portb", nullptr, "upic", nullptr, nullptr, nullptr, nullptr,
- "dira", "dirb", "bfun", nullptr, nullptr, nullptr, nullptr, nullptr,
- "adcr1", "adcr2", "portd", "adcr3", nullptr, nullptr, nullptr, nullptr,
- "ad0", "ad1", "ad2", "ad3", "ad4", "ad5", "ad6", "ad7",
- "enu", "enui", "rbuf", "tbuf", "enur", nullptr, nullptr, nullptr,
- nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
- "t4", "r4", "t5", "r5", "t6", "r6", "t7", "r7",
- "pwmode", "portp", nullptr, nullptr, nullptr, nullptr, "eicon", "eicr",
- nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
- nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
- "i4cr", "i3cr", "i2cr", "r2", "t2", "r3", "t3", "divby",
- "tmmode", "t0con", "watchdog", nullptr, nullptr, nullptr, nullptr, nullptr,
- nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
- nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr
-};
-
-hpc_disassembler::hpc_disassembler(const char *const regs[])
- : util::disasm_interface()
- , m_regs(regs)
-{
-}
-
-u32 hpc_disassembler::opcode_alignment() const
-{
- return 1;
-}
-
-void hpc_disassembler::format_register(std::ostream &stream, u16 reg) const
-{
- if (reg >= 0x00c0 && reg < 0x01c0)
- {
- const char *name = m_regs[(reg - 0x00c0) >> 1];
- if (name != nullptr)
- {
- stream << name;
- if (BIT(reg, 0))
- stream << "+1";
- return;
- }
- }
-
- util::stream_format(stream, "0%X", reg);
-}
-
-void hpc_disassembler::format_immediate_byte(std::ostream &stream, u8 data) const
-{
- stream << "#";
- if (data >= 0x10)
- stream << "0";
- util::stream_format(stream, "%02X", data);
-}
-
-void hpc_disassembler::format_immediate_word(std::ostream &stream, u16 data) const
-{
- stream << "#";
- if (data >= 0x1000)
- stream << "0";
- util::stream_format(stream, "%04X", data);
-}
-
-void hpc_disassembler::disassemble_op(std::ostream &stream, const char *op, u16 reg, u16 src, bool imm, bool indir, bool idx, bool w) const
-{
- util::stream_format(stream, "%-8s", op);
- if (idx)
- stream << "A";
- else
- format_register(stream, reg);
- stream << ",";
- if (imm)
- {
- if (w)
- format_immediate_word(stream, src);
- else
- format_immediate_byte(stream, src);
- }
- else
- {
- if (idx)
- util::stream_format(stream, "0%X", u16(reg));
-
- if (indir)
- stream << "[";
- format_register(stream, src);
- if (indir)
- stream << "]";
-
- if (w)
- stream << ".w";
- else
- stream << ".b";
- }
-}
-
-void hpc_disassembler::disassemble_unary_op(std::ostream &stream, const char *op, u16 offset, u16 src, bool indir, bool idx, bool w) const
-{
- util::stream_format(stream, "%-8s", op);
- if (idx)
- util::stream_format(stream, "0%X", offset);
-
- if (indir)
- stream << "[";
- format_register(stream, src);
- if (indir)
- stream << "]";
-
- if (w)
- {
- if (src < 0x00c4 || src >= 0x00d0 || indir)
- stream << ".w";
- }
- else
- stream << ".b";
-}
-
-void hpc_disassembler::disassemble_bit_op(std::ostream &stream, const char *op, u8 bit, u16 offset, u16 src, bool indir, bool idx) const
-{
- if (src >= 0x00c0 && src < 0x01c0 && BIT(src, 0) && !indir && m_regs[(src - 0x00c0) >> 1] != nullptr)
- {
- src &= 0xfffe;
- bit += 8;
- }
-
- util::stream_format(stream, "%-8s%d,", op, bit);
-
- if (idx)
- util::stream_format(stream, "0%X", offset);
-
- if (indir)
- stream << "[";
- format_register(stream, src);
- if (indir)
- stream << "].b";
-}
-
-offs_t hpc_disassembler::disassemble(std::ostream &stream, offs_t pc, const hpc_disassembler::data_buffer &opcodes, const hpc_disassembler::data_buffer &params)
-{
- u8 opcode = opcodes.r8(pc);
- u16 reg = REGISTER_A;
- u16 src = REGISTER_B;
- bool imm = false;
- bool dmode = false;
- bool indir = true;
- bool idx = false;
- bool jmp = false;
- offs_t bytes = 1;
-
- switch (opcode)
- {
- case 0x20: case 0x21: case 0x22: case 0x23:
- case 0x24: case 0x25: case 0x26: case 0x27:
- case 0x28: case 0x29: case 0x2a: case 0x2b:
- case 0x2c: case 0x2d: case 0x2e: case 0x2f:
- jmp = true;
- src = 0xffd0 + (opcode & 0x0f) * 2;
- bytes = 1;
- break;
-
- case 0x30: case 0x31: case 0x32: case 0x33:
- jmp = true;
- src = pc + 2 + ((opcode & 0x03) << 8 | opcodes.r8(pc + 1));
- bytes = 2;
- break;
-
- case 0x34: case 0x35: case 0x36: case 0x37:
- jmp = true;
- src = pc - ((opcode & 0x03) << 8 | opcodes.r8(pc + 1));
- bytes = 2;
- break;
-
- case 0x38: case 0x39: case 0x3a:
- reg = REGISTER_X;
- break;
-
- case 0x3f:
- case 0x89: case 0x8a:
- case 0xa9: case 0xaa: case 0xaf:
- indir = false;
- src = opcodes.r8(pc + 1);
- bytes = 2;
- break;
-
- case 0x40: case 0x41: case 0x42: case 0x43:
- case 0x44: case 0x45: case 0x46: case 0x47:
- case 0x48: case 0x49: case 0x4a: case 0x4b:
- case 0x4c: case 0x4d: case 0x4e: case 0x4f:
- case 0x50: case 0x51: case 0x52: case 0x53:
- case 0x54: case 0x55: case 0x56: case 0x57:
- case 0x58: case 0x59: case 0x5a: case 0x5b:
- case 0x5c: case 0x5d: case 0x5e: case 0x5f:
- jmp = true;
- src = pc + 1 + (opcode & 0x1f);
- break;
-
- case 0x60: case 0x61: case 0x62: case 0x63:
- case 0x64: case 0x65: case 0x66: case 0x67:
- case 0x68: case 0x69: case 0x6a: case 0x6b:
- case 0x6c: case 0x6d: case 0x6e: case 0x6f:
- case 0x70: case 0x71: case 0x72: case 0x73:
- case 0x74: case 0x75: case 0x76: case 0x77:
- case 0x78: case 0x79: case 0x7a: case 0x7b:
- case 0x7c: case 0x7d: case 0x7e: case 0x7f:
- jmp = true;
- src = pc - (opcode & 0x1f);
- break;
-
- case 0x80: case 0x82:
- case 0xa0:
- dmode = true;
- indir = false;
- if (BIT(opcode, 1))
- imm = true;
-
- src = opcodes.r8(pc + 1);
- reg = opcodes.r8(pc + 2);
- opcode = opcodes.r8(pc + 3);
- bytes = 4;
- break;
-
- case 0x84: case 0x86:
- case 0xa4:
- dmode = true;
- indir = false;
- if (BIT(opcode, 1))
- imm = true;
-
- src = (opcodes.r8(pc + 1) << 8) | opcodes.r8(pc + 2);
- reg = opcodes.r8(pc + 3);
- opcode = opcodes.r8(pc + 4);
- bytes = 5;
- break;
-
- case 0x81: case 0x83:
- case 0xa1:
- dmode = true;
- indir = false;
- if (BIT(opcode, 1))
- imm = true;
-
- src = opcodes.r8(pc + 1);
- reg = (opcodes.r8(pc + 2) << 8) | opcodes.r8(pc + 3);
- opcode = opcodes.r8(pc + 4);
- bytes = 5;
- break;
-
- case 0xa2:
- idx = true;
- reg = opcodes.r8(pc + 1);
- src = opcodes.r8(pc + 2);
- opcode = opcodes.r8(pc + 3);
- bytes = 4;
- break;
-
- case 0x85: case 0x87:
- case 0xa5:
- dmode = true;
- indir = false;
- if (BIT(opcode, 1))
- imm = true;
-
- src = (opcodes.r8(pc + 1) << 8) | opcodes.r8(pc + 2);
- reg = (opcodes.r8(pc + 3) << 8) | opcodes.r8(pc + 4);
- opcode = opcodes.r8(pc + 5);
- bytes = 6;
- break;
-
- case 0xa6:
- idx = true;
- reg = (opcodes.r8(pc + 1) << 8) | opcodes.r8(pc + 2);
- src = opcodes.r8(pc + 3);
- opcode = opcodes.r8(pc + 4);
- bytes = 5;
- break;
-
- case 0x88: case 0x8b: case 0x8e:
- case 0xa8: case 0xab: case 0xae:
- indir = false;
- src = opcodes.r8(pc + 1);
- bytes = 2;
- break;
-
- case 0x8c:
- case 0xac:
- indir = false;
- src = opcodes.r8(pc + 1);
- reg = opcodes.r8(pc + 2);
- bytes = 3;
- break;
-
- case 0x8d:
- imm = true;
- src = opcodes.r8(pc + 1);
- reg = opcodes.r8(pc + 2);
- bytes = 3;
- break;
-
- case 0x8f:
- src = REGISTER_X;
- opcode = opcodes.r8(pc + 1);
- bytes = 2;
- break;
-
- case 0x90: case 0x91: case 0x92: case 0x93:
- imm = true;
- reg = 0x00c8 | ((opcode & 0x03) << 1);
- src = opcodes.r8(pc + 1);
- bytes = 2;
- break;
-
- case 0x98: case 0x99: case 0x9a: case 0x9b:
- case 0x9c: case 0x9d: case 0x9e: case 0x9f:
- imm = true;
- src = opcodes.r8(pc + 1);
- bytes = 2;
- break;
-
- case 0x94:
- jmp = true;
- src = pc + 2 + opcodes.r8(pc + 1);
- bytes = 2;
- break;
-
- case 0x95:
- jmp = true;
- src = pc - opcodes.r8(pc + 1);
- bytes = 2;
- break;
-
- case 0x96:
- indir = false;
- src = opcodes.r8(pc + 1);
- opcode = opcodes.r8(pc + 2);
- bytes = 3;
- break;
-
- case 0x97:
- indir = false;
- imm = true;
- src = opcodes.r8(pc + 1);
- reg = opcodes.r8(pc + 2);
- bytes = 3;
- break;
-
- case 0xa7:
- imm = true;
- src = (opcodes.r8(pc + 1) << 8) | opcodes.r8(pc + 2);
- reg = (opcodes.r8(pc + 3) << 8) | opcodes.r8(pc + 4);
- bytes = 5;
- break;
-
- case 0xad:
- src = opcodes.r8(pc + 1);
- opcode = opcodes.r8(pc + 2);
- bytes = 3;
- break;
-
- case 0xb0: case 0xb1: case 0xb2: case 0xb3:
- imm = true;
- reg = 0x00c8 | ((opcode & 0x03) << 1);
- src = (opcodes.r8(pc + 1) << 8) | opcodes.r8(pc + 2);
- bytes = 3;
- break;
-
- case 0xb8: case 0xb9: case 0xba: case 0xbb:
- case 0xbc: case 0xbd: case 0xbe: case 0xbf:
- imm = true;
- src = (opcodes.r8(pc + 1) << 8) | opcodes.r8(pc + 2);
- bytes = 3;
- break;
-
- case 0xb4: case 0xb5:
- jmp = true;
- src = pc + 3 + ((opcodes.r8(pc + 1) << 8) | opcodes.r8(pc + 2));
- bytes = 3;
- break;
-
- case 0xb6:
- indir = false;
- src = (opcodes.r8(pc + 1) << 8) | opcodes.r8(pc + 2);
- opcode = opcodes.r8(pc + 3);
- bytes = 4;
- break;
-
- case 0xb7:
- imm = true;
- src = (opcodes.r8(pc + 1) << 8) | opcodes.r8(pc + 2);
- reg = opcodes.r8(pc + 3);
- bytes = 4;
- break;
-
- case 0xd4: case 0xd5: case 0xd6:
- case 0xf4: case 0xf5: case 0xf6:
- src = REGISTER_X;
- break;
- }
-
- switch (opcode)
- {
- case 0x00:
- util::stream_format(stream, "%-8sA", "clr");
- break;
-
- case 0x01:
- util::stream_format(stream, "%-8sA", "comp");
- break;
-
- case 0x02:
- stream << "sc";
- break;
-
- case 0x03:
- stream << "rc";
- break;
-
- case 0x04:
- util::stream_format(stream, "%-8sA", "inc");
- break;
-
- case 0x05:
- util::stream_format(stream, "%-8sA", "dec");
- break;
-
- case 0x06:
- stream << "ifnc";
- break;
-
- case 0x07:
- stream << "ifc";
- break;
-
- case 0x08: case 0x09: case 0x0a: case 0x0b:
- case 0x0c: case 0x0d: case 0x0e: case 0x0f:
- disassemble_bit_op(stream, "sbit", opcode & 0x07, reg, src, indir, idx);
- break;
-
- case 0x10: case 0x11: case 0x12: case 0x13:
- case 0x14: case 0x15: case 0x16: case 0x17:
- disassemble_bit_op(stream, "ifbit", opcode & 0x07, reg, src, indir, idx);
- break;
-
- case 0x18: case 0x19: case 0x1a: case 0x1b:
- case 0x1c: case 0x1d: case 0x1e: case 0x1f:
- disassemble_bit_op(stream, "rbit", opcode & 0x07, reg, src, indir, idx);
- break;
-
- case 0x20: case 0x21: case 0x22: case 0x23:
- case 0x24: case 0x25: case 0x26: case 0x27:
- case 0x28: case 0x29: case 0x2a: case 0x2b:
- case 0x2c: case 0x2d: case 0x2e: case 0x2f:
- util::stream_format(stream, "%-8s", "jsrp");
- if (jmp)
- util::stream_format(stream, "[0%X]", src);
- else
- stream << "???";
- bytes |= STEP_OVER;
- break;
-
- case 0x30: case 0x31: case 0x32: case 0x33:
- case 0x34: case 0x35: case 0x36: case 0x37:
- util::stream_format(stream, "%-8s", "jsr");
- if (jmp)
- util::stream_format(stream, "0%X", src);
- else
- stream << "???";
- bytes |= STEP_OVER;
- break;
-
- case 0x38:
- disassemble_op(stream, "rbit", reg, src, imm, indir, idx, false);
- break;
-
- case 0x39:
- disassemble_op(stream, "sbit", reg, src, imm, indir, idx, false);
- break;
-
- case 0x3a:
- disassemble_op(stream, "ifbit", reg, src, imm, indir, idx, false);
- break;
-
- case 0x3b:
- util::stream_format(stream, "%-8sA", "swap");
- break;
-
- case 0x3c:
- stream << "ret";
- bytes |= STEP_OUT;
- break;
-
- case 0x3d:
- stream << "retsk";
- bytes |= STEP_OUT;
- break;
-
- case 0x3e:
- stream << "reti";
- bytes |= STEP_OUT;
- break;
-
- case 0x3f:
- util::stream_format(stream, "%-8s", "pop");
- format_register(stream, src);
- break;
-
- case 0x40:
- stream << "nop";
- break;
-
- case 0x41: case 0x42: case 0x43:
- case 0x44: case 0x45: case 0x46: case 0x47:
- case 0x48: case 0x49: case 0x4a: case 0x4b:
- case 0x4c: case 0x4d: case 0x4e: case 0x4f:
- case 0x50: case 0x51: case 0x52: case 0x53:
- case 0x54: case 0x55: case 0x56: case 0x57:
- case 0x58: case 0x59: case 0x5a: case 0x5b:
- case 0x5c: case 0x5d: case 0x5e: case 0x5f:
- case 0x60: case 0x61: case 0x62: case 0x63:
- case 0x64: case 0x65: case 0x66: case 0x67:
- case 0x68: case 0x69: case 0x6a: case 0x6b:
- case 0x6c: case 0x6d: case 0x6e: case 0x6f:
- case 0x70: case 0x71: case 0x72: case 0x73:
- case 0x74: case 0x75: case 0x76: case 0x77:
- case 0x78: case 0x79: case 0x7a: case 0x7b:
- case 0x7c: case 0x7d: case 0x7e: case 0x7f:
- util::stream_format(stream, "%-8s", "jp");
- if (jmp)
- util::stream_format(stream, "0%X", src);
- else
- stream << "???";
- break;
-
- case 0x88: case 0x8c:
- case 0x90: case 0x91: case 0x92: case 0x93:
- case 0x97:
- case 0xa8: case 0xac:
- case 0xb0: case 0xb1: case 0xb2: case 0xb3:
- case 0xb7:
- case 0xc4:
- case 0xd4:
- case 0xe4:
- case 0xf4:
- disassemble_op(stream, "ld", reg, src, imm, indir, idx, BIT(opcode, 5));
- break;
-
- case 0x89:
- case 0xa9:
- disassemble_unary_op(stream, "inc", reg, src, indir, idx, BIT(opcode, 5));
- break;
-
- case 0x8a:
- case 0xaa:
- disassemble_unary_op(stream, "decsz", reg, src, indir, idx, BIT(opcode, 5));
- bytes |= STEP_OVER | (1 << OVERINSTSHIFT);
- break;
-
- case 0x8b:
- case 0xab:
- case 0xc6:
- case 0xd6:
- case 0xe6:
- case 0xf6:
- disassemble_op(stream, dmode ? "ld" : "st", reg, src, imm, indir, idx, BIT(opcode, 5));
- break;
-
- case 0x8d:
- util::stream_format(stream, "%-8sBK,", "ld");
- format_immediate_byte(stream, src);
- stream << ",";
- format_immediate_byte(stream, reg);
- break;
-
- case 0x8e:
- case 0xae:
- case 0xc5:
- case 0xd5:
- case 0xe5:
- case 0xf5:
- disassemble_op(stream, "x", reg, src, imm, indir, idx, BIT(opcode, 5));
- break;
-
- case 0x94: case 0x95:
- util::stream_format(stream, "%-8s", "jp");
- if (jmp)
- util::stream_format(stream, "0%X", src);
- else
- stream << "???";
- break;
-
- case 0x98: case 0xb8: case 0xd8: case 0xf8:
- disassemble_op(stream, "add", reg, src, imm, indir, idx, BIT(opcode, 5));
- break;
-
- case 0x99: case 0xb9: case 0xd9: case 0xf9:
- disassemble_op(stream, "and", reg, src, imm, indir, idx, BIT(opcode, 5));
- break;
-
- case 0x9a: case 0xba: case 0xda: case 0xfa:
- disassemble_op(stream, "or", reg, src, imm, indir, idx, BIT(opcode, 5));
- break;
-
- case 0x9b: case 0xbb: case 0xdb: case 0xfb:
- disassemble_op(stream, "xor", reg, src, imm, indir, idx, BIT(opcode, 5));
- break;
-
- case 0x9c: case 0xbc: case 0xdc: case 0xfc:
- disassemble_op(stream, "ifeq", reg, src, imm, indir, idx, BIT(opcode, 5));
- break;
-
- case 0x9d: case 0xbd: case 0xdd: case 0xfd:
- disassemble_op(stream, "ifgt", reg, src, imm, indir, idx, BIT(opcode, 5));
- break;
-
- case 0x9e: case 0xbe: case 0xde: case 0xfe:
- disassemble_op(stream, "mult", reg, src, imm, indir, idx, BIT(opcode, 5));
- break;
-
- case 0x9f: case 0xbf: case 0xdf: case 0xff:
- disassemble_op(stream, "div", reg, src, imm, indir, idx, BIT(opcode, 5));
- break;
-
- case 0xa7:
- util::stream_format(stream, "%-8sBK,", "ld");
- format_immediate_word(stream, src);
- stream << ",";
- format_immediate_word(stream, reg);
- break;
-
- case 0xaf:
- util::stream_format(stream, "%-8s", "push");
- format_register(stream, src);
- break;
-
- case 0xb4:
- util::stream_format(stream, "%-8s", "jmpl");
- if (jmp)
- util::stream_format(stream, "0%X", src);
- else
- stream << "???";
- break;
-
- case 0xb5:
- util::stream_format(stream, "%-8s", "jsrl");
- if (jmp)
- util::stream_format(stream, "0%X", src);
- else
- stream << "???";
- bytes |= STEP_OVER;
- break;
-
- case 0xc0: case 0xc2:
- case 0xe0: case 0xe2:
- util::stream_format(stream, "%-8sA,[B%c].%c", "lds",
- BIT(opcode, 1) ? '-' : '+',
- BIT(opcode, 5) ? 'w' : 'b');
- bytes |= STEP_OVER | (1 << OVERINSTSHIFT);
- break;
-
- case 0xd0: case 0xd2:
- case 0xf0: case 0xf2:
- util::stream_format(stream, "%-8sA,[X%c].%c", "ld",
- BIT(opcode, 1) ? '-' : '+',
- BIT(opcode, 5) ? 'w' : 'b');
- break;
-
- case 0xc1: case 0xc3:
- case 0xe1: case 0xe3:
- util::stream_format(stream, "%-8sA,[B%c].%c", "xs",
- BIT(opcode, 1) ? '-' : '+',
- BIT(opcode, 5) ? 'w' : 'b');
- bytes |= STEP_OVER | (1 << OVERINSTSHIFT);
- break;
-
- case 0xd1: case 0xd3:
- case 0xf1: case 0xf3:
- util::stream_format(stream, "%-8sA,[X%c].%c", "x",
- BIT(opcode, 1) ? '-' : '+',
- BIT(opcode, 5) ? 'w' : 'b');
- break;
-
- case 0xc7: case 0xe7:
- util::stream_format(stream, "%-8sA", BIT(opcode, 5) ? "shl" : "shr");
- break;
-
- case 0xd7: case 0xf7:
- util::stream_format(stream, "%-8sA", BIT(opcode, 5) ? "rlc" : "rrc");
- break;
-
- case 0xc8: case 0xe8:
- disassemble_op(stream, "adc", reg, src, imm, indir, idx, BIT(opcode, 5));
- break;
-
- case 0xc9: case 0xe9:
- disassemble_op(stream, "dadc", reg, src, imm, indir, idx, BIT(opcode, 5));
- break;
-
- case 0xca: case 0xea:
- disassemble_op(stream, "dsubc", reg, src, imm, indir, idx, BIT(opcode, 5));
- break;
-
- case 0xcb: case 0xeb:
- disassemble_op(stream, "subc", reg, src, imm, indir, idx, BIT(opcode, 5));
- break;
-
- case 0xcc: case 0xec:
- stream << "jid";
- if (BIT(opcode, 5))
- stream << "w";
- break;
-
- case 0xcf: case 0xef:
- disassemble_op(stream, "divd", reg, src, imm, indir, idx, BIT(opcode, 5));
- break;
-
- default:
- stream << "???";
- break;
- }
-
- return bytes | SUPPORTED;
-}
diff --git a/src/devices/cpu/hpc/hpcdasm.h b/src/devices/cpu/hpc/hpcdasm.h
deleted file mode 100644
index ed57c6b1a35..00000000000
--- a/src/devices/cpu/hpc/hpcdasm.h
+++ /dev/null
@@ -1,58 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:AJR
-
-#ifndef MAME_CPU_HPC_HPCDASM_H
-#define MAME_CPU_HPC_HPCDASM_H
-
-#pragma once
-
-class hpc_disassembler : public util::disasm_interface
-{
-protected:
- enum : u16
- {
- REGISTER_A = 0x00c8,
- REGISTER_K = 0x00ca,
- REGISTER_B = 0x00cc,
- REGISTER_X = 0x00ce
- };
-
- // construction/destruction
- hpc_disassembler(const char *const regs[]);
-
- // disassembler overrides
- virtual u32 opcode_alignment() const override;
- virtual offs_t disassemble(std::ostream &stream, offs_t pc, const data_buffer &opcodes, const data_buffer &params) override;
-
-private:
- // internal helpers
- void format_register(std::ostream &stream, u16 reg) const;
- void format_immediate_byte(std::ostream &stream, u8 data) const;
- void format_immediate_word(std::ostream &stream, u16 data) const;
- void disassemble_op(std::ostream &stream, const char *op, u16 reg, u16 src, bool imm, bool indir, bool idx, bool w) const;
- void disassemble_unary_op(std::ostream &stream, const char *op, u16 offset, u16 src, bool indir, bool idx, bool w) const;
- void disassemble_bit_op(std::ostream &stream, const char *op, u8 bit, u16 offset, u16 src, bool indir, bool idx) const;
-
- // register names
- const char *const *m_regs;
-};
-
-class hpc16083_disassembler : public hpc_disassembler
-{
-public:
- hpc16083_disassembler() : hpc_disassembler(s_regs) { }
-
-private:
- static const char *const s_regs[128];
-};
-
-class hpc16164_disassembler : public hpc_disassembler
-{
-public:
- hpc16164_disassembler() : hpc_disassembler(s_regs) { }
-
-private:
- static const char *const s_regs[128];
-};
-
-#endif // MAME_CPU_HPC_HPCDASM_H
diff --git a/src/devices/cpu/hphybrid/hphybrid.cpp b/src/devices/cpu/hphybrid/hphybrid.cpp
index b9e7da6cc4e..246804ec468 100644
--- a/src/devices/cpu/hphybrid/hphybrid.cpp
+++ b/src/devices/cpu/hphybrid/hphybrid.cpp
@@ -175,8 +175,6 @@ uint8_t hp_hybrid_cpu_device::pa_r() const
hp_hybrid_cpu_device::hp_hybrid_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint8_t addrwidth)
: cpu_device(mconfig, type, tag, owner, clock)
, m_pa_changed_func(*this)
- , m_opcode_func(*this)
- , m_stm_func(*this)
, m_addr_mask((1U << addrwidth) - 1)
, m_relative_mode(true)
, m_r_cycles(DEF_MEM_R_CYCLES)
@@ -243,8 +241,6 @@ void hp_hybrid_cpu_device::device_start()
set_icountptr(m_icount);
m_pa_changed_func.resolve_safe();
- m_opcode_func.resolve_safe();
- m_stm_func.resolve();
}
void hp_hybrid_cpu_device::device_reset()
@@ -264,7 +260,6 @@ void hp_hybrid_cpu_device::device_reset()
m_dmapa = 0;
m_dmama = 0;
m_dmac = 0;
- m_curr_cycle = 0;
m_forced_bsc_25 = m_boot_mode;
m_last_pa = ~0;
@@ -317,7 +312,7 @@ uint16_t hp_hybrid_cpu_device::execute_one(uint16_t opcode)
}
// Indirect addressing in EXE instruction seems to use AEC case A instead of case C
// (because it's an opcode fetch)
- return fetch_at(add_mae(AEC_CASE_A , fetch_addr));
+ return RM(add_mae(AEC_CASE_A , fetch_addr));
} else {
uint16_t next_P;
if (!execute_one_bpc(opcode , next_P) &&
@@ -957,11 +952,6 @@ uint16_t hp_hybrid_cpu_device::RM(uint32_t addr)
// Any access to internal registers removes forcing of BSC 2x
m_forced_bsc_25 = false;
- if (m_stm_func) {
- m_stm_func(m_curr_cycle | CYCLE_RAL_MASK | CYCLE_RD_MASK);
- m_curr_cycle = 0;
- }
-
// Memory mapped BPC registers
uint16_t tmp;
switch (addr_wo_bsc) {
@@ -1026,10 +1016,6 @@ uint16_t hp_hybrid_cpu_device::RM(uint32_t addr)
return tmp;
} else {
m_icount -= m_r_cycles;
- if (m_stm_func) {
- m_stm_func(m_curr_cycle | CYCLE_RD_MASK);
- m_curr_cycle = 0;
- }
return m_cache->read_word(addr);
}
}
@@ -1079,11 +1065,6 @@ void hp_hybrid_cpu_device::WM(uint32_t addr , uint16_t v)
// Any access to internal registers removes forcing of BSC 2x
m_forced_bsc_25 = false;
- if (m_stm_func) {
- m_stm_func(m_curr_cycle | CYCLE_RAL_MASK | CYCLE_WR_MASK);
- m_curr_cycle = 0;
- }
-
// Memory mapped BPC registers
switch (addr_wo_bsc) {
case HP_REG_A_ADDR:
@@ -1149,10 +1130,6 @@ void hp_hybrid_cpu_device::WM(uint32_t addr , uint16_t v)
m_icount -= REGISTER_RW_CYCLES;
} else {
m_icount -= m_w_cycles;
- if (m_stm_func) {
- m_stm_func(m_curr_cycle | CYCLE_WR_MASK);
- m_curr_cycle = 0;
- }
m_program->write_word(addr , v);
}
}
@@ -1191,15 +1168,7 @@ bool hp_hybrid_cpu_device::write_emc_reg(uint16_t addr , uint16_t v)
uint16_t hp_hybrid_cpu_device::fetch()
{
m_genpc = add_mae(AEC_CASE_A , m_reg_P);
- return fetch_at(m_genpc);
-}
-
-uint16_t hp_hybrid_cpu_device::fetch_at(uint32_t addr)
-{
- m_curr_cycle |= CYCLE_IFETCH_MASK;
- uint16_t opcode = RM(addr);
- m_opcode_func(opcode);
- return opcode;
+ return RM(m_genpc);
}
uint16_t hp_hybrid_cpu_device::get_indirect_target(uint32_t addr)
@@ -1617,10 +1586,6 @@ bool hp_5061_3011_cpu_device::execute_no_bpc(uint16_t opcode , uint16_t& next_pc
// 16 bits units.
WM(tmp_addr >> 1 , tmp);
} else {
- if (m_stm_func) {
- m_stm_func(m_curr_cycle | CYCLE_WR_MASK);
- m_curr_cycle = 0;
- }
// Extend address, form byte address
uint16_t mask = BIT(tmp_addr , 0) ? 0x00ff : 0xff00;
tmp_addr = add_mae(AEC_CASE_C , tmp_addr >> 1);
@@ -1709,7 +1674,6 @@ void hp_5061_3011_cpu_device::handle_dma()
bool tc = BIT(--m_dmac , 15) != 0;
uint16_t tmp;
- m_curr_cycle |= CYCLE_DMA_MASK;
// Timing here assumes that DMA transfers are isolated and not done in bursts
if (BIT(m_flags , HPHYBRID_DMADIR_BIT)) {
// "Outward" DMA: memory -> peripheral
@@ -1991,10 +1955,6 @@ bool hp_09825_67907_cpu_device::execute_no_bpc(uint16_t opcode , uint16_t& next_
// 16 bits units.
WM(tmp_addr , tmp);
} else {
- if (m_stm_func) {
- m_stm_func(m_curr_cycle | CYCLE_WR_MASK);
- m_curr_cycle = 0;
- }
uint16_t mask = BIT(*ptr_reg , 15) ? 0xff00 : 0x00ff;
m_program->write_word(tmp_addr , tmp , mask);
m_icount -= m_w_cycles;
@@ -2077,7 +2037,6 @@ void hp_09825_67907_cpu_device::handle_dma()
uint16_t tmp;
// Timing here assumes that DMA transfers are isolated and not done in bursts
- m_curr_cycle |= CYCLE_DMA_MASK;
if (BIT(m_dmama , 15)) {
// "Outward" DMA: memory -> peripheral
tmp = RM(AEC_CASE_D , m_dmama);
diff --git a/src/devices/cpu/hphybrid/hphybrid.h b/src/devices/cpu/hphybrid/hphybrid.h
index 5059e114bb7..5d29f77b515 100644
--- a/src/devices/cpu/hphybrid/hphybrid.h
+++ b/src/devices/cpu/hphybrid/hphybrid.h
@@ -64,29 +64,6 @@ public:
void set_relative_mode(bool rela) { m_relative_mode = rela; }
void set_rw_cycles(unsigned read_cycles , unsigned write_cycles) { m_r_cycles = read_cycles; m_w_cycles = write_cycles; }
- // Possible combinations:
- // 00 No r/w cycle in progress
- // 01 Non-ifetch rd cycle
- // 05 Ifetch rd cycle
- // 09 DMA rd cycle
- // 02 Wr cycle
- // 0a DMA wr cycle
- //
- // CYCLE_RAL_MASK is set when access is into register space [0..1f]
- enum : uint8_t {
- CYCLE_RD_MASK = 0x01,
- CYCLE_WR_MASK = 0x02,
- CYCLE_IFETCH_MASK = 0x04,
- CYCLE_DMA_MASK = 0x08,
- CYCLE_RAL_MASK = 0x10
- };
-
- // Called at start of each memory access
- auto stm_cb() { return m_stm_func.bind(); }
-
- // Tap into fetched opcodes
- auto opcode_cb() { return m_opcode_func.bind(); }
-
protected:
hp_hybrid_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint8_t addrwidth);
@@ -146,7 +123,6 @@ protected:
void WIO(uint8_t pa , uint8_t ic , uint16_t v);
uint16_t fetch();
- uint16_t fetch_at(uint32_t addr);
virtual uint16_t get_indirect_target(uint32_t addr);
virtual void enter_isr();
virtual void handle_dma() = 0;
@@ -157,8 +133,6 @@ protected:
devcb_write8 m_pa_changed_func;
uint8_t m_last_pa;
- devcb_write16 m_opcode_func;
- devcb_write8 m_stm_func;
int m_icount;
uint32_t m_addr_mask;
@@ -185,8 +159,6 @@ protected:
uint16_t m_dmac; // DMA counter
uint16_t m_reg_I; // Instruction register
uint32_t m_genpc; // Full PC
- uint8_t m_curr_cycle; // Current cycle type
-
// EMC registers
uint16_t m_reg_ar2[ 4 ]; // AR2 register
uint16_t m_reg_se; // SE register (4 bits)
diff --git a/src/devices/cpu/i386/cache.h b/src/devices/cpu/i386/cache.h
deleted file mode 100644
index a04f2cacf2e..00000000000
--- a/src/devices/cpu/i386/cache.h
+++ /dev/null
@@ -1,258 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Samuele Zannoli
-
-#ifndef MAME_CPU_I386_CACHE_H
-#define MAME_CPU_I386_CACHE_H
-
-#pragma once
-
-/* To test it outside of Mame
-#include <cstdlib>
-
-typedef unsigned char u8;
-typedef unsigned int u32;
-*/
-
-enum {
- CacheLineBytes16 = 4,
- CacheLineBytes32 = 5,
- CacheLineBytes64 = 6,
- CacheLineBytes128 = 7,
- CacheLineBytes256 = 8,
-};
-
-enum {
- CacheDirectMapped = 0,
- Cache2Way = 1,
- Cache4Way = 2,
- Cache8Way = 3,
- Cache16Way = 4
-};
-
-enum {
- CacheRead = 0,
- CacheWrite = 1
-};
-
-template<int TagBits, int SetBits, int WayBits, int LineBits>
-class cpucache {
-public:
- // Constructor
- cpucache();
- // Reset the cache
- void reset();
- // Find the cacheline containing data at address
- template <int ReadWrite> u8* search(u32 address);
- // Allocate a cacheline for data at address
- template <int ReadWrite> bool allocate(u32 address, u8 **data);
- // Get the address where the cacheline data should be written back to
- u32 old();
- // Get the address of the first byte of the cacheline that contains data at address
- u32 base(u32 address);
- // Compose the cacheline parameters into an address
- u32 address(u32 tag, u32 set, u32 offset);
- // Get the data of the first cacheline marked as dirty
- u8* first_dirty(u32 &base, bool clean);
- // Get the data of the next cacheline marked as dirty
- u8* next_dirty(u32 &base, bool clean);
-
-private:
- static const int Ways = 1 << WayBits;
- static const int LineBytes = 1 << LineBits;
- static const int Sets = 1 << SetBits;
- static const u32 LineMask = (1 << LineBits) - 1;
- static const u32 SetMask = ((1 << SetBits) - 1) << LineBits;
- static const u32 WayMask = (1 << WayBits) - 1;
- static const int TagShift = LineBits + SetBits;
-
- struct cacheline {
- u8 data[LineBytes];
- bool allocated;
- bool dirty;
- u32 tag;
- u32 debug_address;
- };
-
- struct cacheset {
- cacheline lines[Ways];
- int nextway;
- };
-
- cacheset sets[Sets];
- u32 writeback_base;
- int last_set;
- int last_way;
-};
-
-template<int TagBits, int SetBits, int WayBits, int LineBits>
-cpucache<TagBits, SetBits, WayBits, LineBits>::cpucache()
-{
- reset();
-}
-
-template<int TagBits, int SetBits, int WayBits, int LineBits>
-void cpucache<TagBits, SetBits, WayBits, LineBits>::reset()
-{
- for (int s = 0; s < Sets; s++)
- for (int w = 0; w < Ways; w++)
- {
- sets[s].nextway = 0;
- sets[s].lines[w].allocated = false;
- sets[s].lines[w].dirty = false;
- sets[s].lines[w].debug_address = 0;
- }
- last_set = -1;
- last_way = -1;
-}
-
-template<int TagBits, int SetBits, int WayBits, int LineBits>
-template<int ReadWrite>
-u8* cpucache<TagBits, SetBits, WayBits, LineBits>::search(u32 address)
-{
- const int addresset = (address & SetMask) >> LineBits;
- const int addrestag = address >> TagShift;
-
- for (int w = 0; w < Ways; w++)
- if ((sets[addresset].lines[w].allocated) && (sets[addresset].lines[w].tag == addrestag))
- {
- if (ReadWrite != 0)
- sets[addresset].lines[w].dirty = true;
- return sets[addresset].lines[w].data;
- }
- return nullptr;
-}
-
-template<int TagBits, int SetBits, int WayBits, int LineBits>
-template<int ReadWrite>
-bool cpucache<TagBits, SetBits, WayBits, LineBits>::allocate(u32 address, u8 **data)
-{
- const int addresset = (address & SetMask) >> LineBits;
- const int addrestag = address >> TagShift;
- const int victimway = sets[addresset].nextway;
- bool old_allocated, old_dirty;
- bool ret;
-
- sets[addresset].nextway = (victimway + 1) & WayMask; // decide wich way will be allocated next
- old_allocated = sets[addresset].lines[victimway].allocated;
- old_dirty = sets[addresset].lines[victimway].dirty;
- writeback_base = (sets[addresset].lines[victimway].tag << TagShift) | (address & SetMask);
- sets[addresset].lines[victimway].tag = addrestag;
- sets[addresset].lines[victimway].allocated = true;
- if (ReadWrite == 0)
- sets[addresset].lines[victimway].dirty = false; // caller must write back the cacheline if told so
- else
- sets[addresset].lines[victimway].dirty = true; // line is allocated to write into it
- *data = sets[addresset].lines[victimway].data;
- sets[addresset].lines[victimway].debug_address = address;
- ret = old_allocated; // ret = old_allocated && old_dirty
- if (!old_dirty)
- ret = false;
- return ret; // true if caller must write back the cacheline
-}
-
-template<int TagBits, int SetBits, int WayBits, int LineBits>
-u32 cpucache<TagBits, SetBits, WayBits, LineBits>::old()
-{
- return writeback_base;
-}
-
-template<int TagBits, int SetBits, int WayBits, int LineBits>
-u32 cpucache<TagBits, SetBits, WayBits, LineBits>::base(u32 address)
-{
- return address & ~LineMask;
-}
-
-template<int TagBits, int SetBits, int WayBits, int LineBits>
-u32 cpucache<TagBits, SetBits, WayBits, LineBits>::address(u32 tag, u32 set, u32 offset)
-{
- return (tag << TagShift) | (set << LineBits) | offset;
-}
-
-template<int TagBits, int SetBits, int WayBits, int LineBits>
-u8* cpucache<TagBits, SetBits, WayBits, LineBits>::first_dirty(u32 &base, bool clean)
-{
- for (int s = 0; s < Sets; s++)
- for (int w = 0; w < Ways; w++)
- if (sets[s].lines[w].dirty == true)
- {
- if (clean)
- sets[s].lines[w].dirty = false;
- last_set = s;
- last_way = w;
- base = address(sets[s].lines[w].tag, s, 0);
- return sets[s].lines[w].data;
- }
- return nullptr;
-}
-
-template<int TagBits, int SetBits, int WayBits, int LineBits>
-u8* cpucache<TagBits, SetBits, WayBits, LineBits>::next_dirty(u32 &base, bool clean)
-{
- if (last_set < 0)
- return nullptr;
- while (true)
- {
- last_way++;
- if (last_way == Ways)
- {
- last_way = 0;
- last_set++;
- if (last_set == Sets)
- {
- last_set = -1;
- last_way = -1;
- return nullptr;
- }
- }
- if (sets[last_set].lines[last_way].dirty == true)
- {
- if (clean)
- sets[last_set].lines[last_way].dirty = false;
- base = address(sets[last_set].lines[last_way].tag, last_set, 0);
- return sets[last_set].lines[last_way].data;
- }
- }
-}
-
-#endif
-
-/* To test it outside of Mame
-const int memorysize = 256 * 1024;
-u8 memory[memorysize];
-
-void readline(u8 *data, u32 address)
-{
- for (int n = 0; n < 64; n++)
- data[n] = memory[address + n];
-}
-
-void writeline(u8 *data, u32 address)
-{
- for (int n = 0; n < 64; n++)
- memory[address + n] = data[n];
-}
-
-void cache_tester()
-{
- cpucache<18, 8, 6, 2> cache;
- bool r;
- u8 *data;
- int address;
- u8 value;
-
- for (int n = 0; n < memorysize; n++)
- memory[n] = 0xaa ^ n;
- address = std::rand() & (memorysize - 1);
- r = cache.search(address, &data);
- if (r == false)
- {
- r = cache.allocate(address, &data);
- if (r == true)
- writeline(data, cache.base(address));
- readline(data, cache.base(address));
- }
- value = data[address & 63];
- if (value != memory[address])
- printf("Error reading address %d\n\r", address);
-}
-*/
diff --git a/src/devices/cpu/i386/cpuidmsrs.hxx b/src/devices/cpu/i386/cpuidmsrs.hxx
index 842ff85b4b2..e7abcf27154 100644
--- a/src/devices/cpu/i386/cpuidmsrs.hxx
+++ b/src/devices/cpu/i386/cpuidmsrs.hxx
@@ -1,5 +1,3 @@
-// license:BSD-3-Clause
-// copyright-holders:Ville Linde, Barry Rodewald, Carl, Philip Bennett, Samuele Zannoli
uint64_t pentium_device::opcode_rdmsr(bool &valid_msr)
{
@@ -255,85 +253,49 @@ void athlonxp_device::opcode_cpuid()
uint64_t athlonxp_device::opcode_rdmsr(bool &valid_msr)
{
- uint64_t ret;
uint32_t offset = REG32(ECX);
- ret = 0;
switch (offset)
{
case 0x10: // TSC
break;
case 0x1b: // APIC_BASE
break;
- case 0xfe: // MTRRcap
- // 7-0 MTRRCapVCnt - Number of variable range MTRRs (8)
- // 8 MtrrCapFix - Fixed range MTRRs available (1)
- // 10 MtrrCapWc - Write combining memory type available (1)
- ret = 0x508;
- break;
case 0x17b: // MCG_CTL
break;
case 0x200: // MTRRphysBase0-7
- case 0x202:
- case 0x204:
- case 0x206:
- case 0x208:
- case 0x20a:
- case 0x20c:
- case 0x20e:
- // 7-0 Type - Memory type for this memory range
- // 39-12 PhyBase27-0 - Base address for this memory range
- /* Format of type field:
- Bits 2-0 specify the memory type with the following encoding
- 0 UC Uncacheable
- 1 WC Write Combining
- 4 WT Write Through
- 5 WP Write Protect
- 6 WB Write Back
- 7 UC Uncacheable used only in PAT register
- Bit 3 WrMem 1 write to memory 0 write to mmio, present only in fixed range MTRRs
- Bit 4 RdMem 1 read from memory 0 read from mmio, present only in fixed range MTRRs
- Other bits are unused
- */
- break;
case 0x201: // MTRRphysMask0-7
+ case 0x202:
case 0x203:
+ case 0x204:
case 0x205:
+ case 0x206:
case 0x207:
+ case 0x208:
case 0x209:
+ case 0x20a:
case 0x20b:
+ case 0x20c:
case 0x20d:
+ case 0x20e:
case 0x20f:
- // 11 Valid - Memory range active
- // 39-12 PhyMask27-0 - Address mask
break;
case 0x2ff: // MTRRdefType
- // 7-0 MtrrDefMemType - Default memory type
- // 10 MtrrDefTypeFixEn - Enable fixed range MTRRs
- // 11 MtrrDefTypeEn - Enable MTRRs
break;
case 0x250: // MTRRfix64K_00000
- // 8 bits for each 64k block starting at address 0
- ret = m_msr_mtrrfix[0];
break;
case 0x258: // MTRRfix16K_80000
- // 8 bits for each 16k block starting at address 0x80000
- ret = m_msr_mtrrfix[1];
break;
case 0x259: // MTRRfix16K_A0000
- // 8 bits for each 16k block starting at address 0xa0000
- ret = m_msr_mtrrfix[2];
- break;
- case 0x268: // MTRRfix4K_C0000
- case 0x269: // MTRRfix4K_C8000
- case 0x26a: // MTRRfix4K_D0000
- case 0x26b: // MTRRfix4K_D8000
- case 0x26c: // MTRRfix4K_E0000
- case 0x26d: // MTRRfix4K_E8000
- case 0x26e: // MTRRfix4K_F0000
- case 0x26f: // MTRRfix4K_F8000
- // 8 bits for each 4k block
- ret = m_msr_mtrrfix[3 + offset - 0x268];
+ break;
+ case 0x268: // MTRRfix4K_C0000-F8000
+ case 0x269:
+ case 0x26a:
+ case 0x26b:
+ case 0x26c:
+ case 0x26d:
+ case 0x26e:
+ case 0x26f:
break;
case 0x400: // MC0_CTL
break;
@@ -344,25 +306,15 @@ uint64_t athlonxp_device::opcode_rdmsr(bool &valid_msr)
case 0x40c: // MC3_CTL
break;
case 0xC0010010: // SYS_CFG
- // 20 MtrrVarDramEn - Enable top of memory address and I/O range registers
- // 19 MtrrFixDramModEn - Enable modification of RdDram and WrDram bits in fixed MTRRs
- // 18 MtrrFixDramEn - Enable RdDram and WrDram attributes in fixed MTRRs
break;
case 0xC0010015: // HWCR
break;
- case 0xC0010016: // IORRBase0-1
+ case 0xC0010016: // IORRBase
+ case 0xC0010017: // IORRMask
case 0xC0010018:
- // 39-12 Base27-0 - Base address for this memory range
- // 4 RdDram - Read from DRAM
- // 3 WrDram - Write to DRAM
- break;
- case 0xC0010017: // IORRMask0-1
case 0xC0010019:
- // 39-12 Mask27-0 - Address mask
- // 11 V - Register enabled
break;
case 0xC001001A: // TOP_MEM
- // 39-23 TOM16-0 - Top of Memory, accesses from this address onward are directed to mmio
break;
case 0xC001001D: // TOP_MEM2
break;
@@ -370,7 +322,7 @@ uint64_t athlonxp_device::opcode_rdmsr(bool &valid_msr)
break;
}
valid_msr = true;
- return ret;
+ return 0;
}
void athlonxp_device::opcode_wrmsr(uint64_t data, bool &valid_msr)
@@ -403,16 +355,10 @@ void athlonxp_device::opcode_wrmsr(uint64_t data, bool &valid_msr)
case 0x2ff: // MTRRdefType
break;
case 0x250: // MTRRfix64K_00000
- m_msr_mtrrfix[0] = data;
- parse_mtrrfix(data, 0, 64);
break;
case 0x258: // MTRRfix16K_80000
- m_msr_mtrrfix[1] = data;
- parse_mtrrfix(data, 0x80000, 16);
break;
case 0x259: // MTRRfix16K_A0000
- m_msr_mtrrfix[2] = data;
- parse_mtrrfix(data, 0xa0000, 16);
break;
case 0x268: // MTRRfix4K_C0000-F8000
case 0x269:
@@ -422,8 +368,6 @@ void athlonxp_device::opcode_wrmsr(uint64_t data, bool &valid_msr)
case 0x26d:
case 0x26e:
case 0x26f:
- m_msr_mtrrfix[3 + offset - 0x268] = data;
- parse_mtrrfix(data, 0xc0000 + (offset - 0x268) * 0x8000, 4);
break;
case 0x400: // MC0_CTL
break;
diff --git a/src/devices/cpu/i386/i386.cpp b/src/devices/cpu/i386/i386.cpp
index f372dba1239..a4408c69175 100644
--- a/src/devices/cpu/i386/i386.cpp
+++ b/src/devices/cpu/i386/i386.cpp
@@ -3367,10 +3367,15 @@ void i386_device::i386_common_init()
m_program = &space(AS_PROGRAM);
if(m_program->data_width() == 16) {
- // for the 386sx
- macache16 = m_program->cache<1, 0, ENDIANNESS_LITTLE>();
+ auto cache = m_program->cache<1, 0, ENDIANNESS_LITTLE>();
+ m_pr8 = [cache](offs_t address) -> u8 { return cache->read_byte(address); };
+ m_pr16 = [cache](offs_t address) -> u16 { return cache->read_word(address); };
+ m_pr32 = [cache](offs_t address) -> u32 { return cache->read_dword(address); };
} else {
- macache32 = m_program->cache<2, 0, ENDIANNESS_LITTLE>();
+ auto cache = m_program->cache<2, 0, ENDIANNESS_LITTLE>();
+ m_pr8 = [cache](offs_t address) -> u8 { return cache->read_byte(address); };
+ m_pr16 = [cache](offs_t address) -> u16 { return cache->read_word(address); };
+ m_pr32 = [cache](offs_t address) -> u32 { return cache->read_dword(address); };
}
m_io = &space(AS_IO);
@@ -4721,10 +4726,6 @@ void athlonxp_device::device_reset()
m_cpuid_id2 = ('D' << 24) | ('M' << 16) | ('A' << 8) | 'c'; // cAMD
memset(m_processor_name_string, 0, 48);
strcpy((char *)m_processor_name_string, "AMD Athlon(tm) Processor");
- for (int n = 0; n < 11; n++)
- m_msr_mtrrfix[n] = 0;
- for (int n = 0; n < (1024 / 4); n++)
- m_memory_ranges_1m[n] = 0; // change the 0 to 6 to test the cache just after reset
m_cpuid_max_input_value_eax = 0x01;
m_cpu_version = REG32(EDX);
@@ -4735,227 +4736,6 @@ void athlonxp_device::device_reset()
CHANGE_PC(m_eip);
}
-void athlonxp_device::parse_mtrrfix(u64 mtrr, offs_t base, int kblock)
-{
- int nb = kblock / 4;
- int range = (int)(base >> 12); // base must never be higher than 1 megabyte
-
- for (int n = 0; n < 8; n++)
- {
- uint8_t type = mtrr & 0xff;
-
- for (int b = 0; b < nb; b++)
- {
- m_memory_ranges_1m[range] = type;
- range++;
- }
- mtrr = mtrr >> 8;
- }
-}
-
-int athlonxp_device::check_cacheable(offs_t address)
-{
- offs_t block;
- int disabled;
-
- disabled = 0;
- if (m_cr[0] & (1 << 30))
- disabled = 128;
- if (address >= 0x100000)
- return disabled;
- block = address >> 12;
- return m_memory_ranges_1m[block] | disabled;
-}
-
-template <class dt, offs_t xorle>
-dt athlonxp_device::opcode_read_cache(offs_t address)
-{
- int mode = check_cacheable(address);
- bool nocache = false;
- u8 *data;
-
- if ((mode & 7) == 0)
- nocache = true;
- if (mode & 1)
- nocache = true;
- if (nocache == false)
- {
- int offset = (address & 63) ^ xorle;
- data = cache.search<CacheRead>(address);
- if (data)
- return *(dt *)(data + offset);
- if (!(mode & 128))
- {
- bool dirty = cache.allocate<CacheRead>(address, &data);
- address = cache.base(address);
- if (dirty)
- {
- offs_t old_address = cache.old();
-
- for (int w = 0; w < 64; w += 4)
- macache32->write_dword(old_address + w, *(u32 *)(data + w));
- }
- for (int r = 0; r < 64; r += 4)
- *(u32 *)(data + r) = macache32->read_dword(address + r);
- return *(dt *)(data + offset);
- }
- else
- {
- if (sizeof(dt) == 1)
- return macache32->read_byte(address);
- else if (sizeof(dt) == 2)
- return macache32->read_word(address);
- else
- return macache32->read_dword(address);
- }
- }
- else
- {
- if (sizeof(dt) == 1)
- return macache32->read_byte(address);
- else if (sizeof(dt) == 2)
- return macache32->read_word(address);
- else
- return macache32->read_dword(address);
- }
-}
-
-template <class dt, offs_t xorle>
-dt athlonxp_device::program_read_cache(offs_t address)
-{
- int mode = check_cacheable(address);
- bool nocache = false;
- u8 *data;
-
- if ((mode & 7) == 0)
- nocache = true;
- if (mode & 1)
- nocache = true;
- if (nocache == false)
- {
- int offset = (address & 63) ^ xorle;
- data = cache.search<CacheRead>(address);
- if (data)
- return *(dt *)(data + offset);
- if (!(mode & 128))
- {
- bool dirty = cache.allocate<CacheRead>(address, &data);
- address = cache.base(address);
- if (dirty)
- {
- offs_t old_address = cache.old();
-
- for (int w = 0; w < 64; w += 4)
- m_program->write_dword(old_address + w, *(u32 *)(data + w));
- }
- for (int r = 0; r < 64; r += 4)
- *(u32 *)(data + r) = m_program->read_dword(address + r);
- return *(dt *)(data + offset);
- }
- else
- {
- if (sizeof(dt) == 1)
- return m_program->read_byte(address);
- else if (sizeof(dt) == 2)
- return m_program->read_word(address);
- else
- return m_program->read_dword(address);
- }
- }
- else
- {
- if (sizeof(dt) == 1)
- return m_program->read_byte(address);
- else if (sizeof(dt) == 2)
- return m_program->read_word(address);
- else
- return m_program->read_dword(address);
- }
-}
-
-template <class dt, offs_t xorle>
-void athlonxp_device::program_write_cache(offs_t address, dt data)
-{
- int mode = check_cacheable(address);
- bool nocache = false;
- u8 *dataw;
-
- if ((mode & 7) == 0)
- nocache = true;
- if (mode & 1)
- nocache = true;
- if (nocache == false)
- {
- int offset = (address & 63) ^ xorle;
- dataw = cache.search<CacheWrite>(address);
- if (dataw)
- {
- *(dt *)(dataw + offset) = data;
- return;
- }
- if (!(mode & 128))
- {
- bool dirty = cache.allocate<CacheWrite>(address, &dataw);
- address = cache.base(address);
- if (dirty)
- {
- offs_t old_address = cache.old();
-
- for (int w = 0; w < 64; w += 4)
- m_program->write_dword(old_address + w, *(u32 *)(dataw + w));
- }
- for (int r = 0; r < 64; r += 4)
- *(u32 *)(dataw + r) = m_program->read_dword(address + r);
- *(dt *)(dataw + offset) = data;
- }
- else
- {
- if (sizeof(dt) == 1)
- m_program->write_byte(address, data);
- else if (sizeof(dt) == 2)
- m_program->write_word(address, data);
- else
- m_program->write_dword(address, data);
- }
- }
- else
- {
- if (sizeof(dt) == 1)
- m_program->write_byte(address, data);
- else if (sizeof(dt) == 2)
- m_program->write_word(address, data);
- else
- m_program->write_dword(address, data);
- }
-}
-
-void athlonxp_device::invalidate_cache(bool writeback)
-{
- u32 base;
- u8 *data;
-
- data = cache.first_dirty(base, true);
- while (data != nullptr)
- {
- if (writeback)
- for (int w = 0; w < 64; w += 4)
- m_program->write_dword(base + w, *(u32 *)(data + w));
- data = cache.next_dirty(base, true);
- }
- cache.reset();
-}
-
-void athlonxp_device::opcode_invd()
-{
- invalidate_cache(false);
-}
-
-void athlonxp_device::opcode_wbinvd()
-{
- invalidate_cache(true);
-}
-
-
/*****************************************************************************/
/* Intel Pentium 4 */
diff --git a/src/devices/cpu/i386/i386.h b/src/devices/cpu/i386/i386.h
index 90aab9f0667..e7a460488c0 100644
--- a/src/devices/cpu/i386/i386.h
+++ b/src/devices/cpu/i386/i386.h
@@ -16,7 +16,6 @@
#include "divtlb.h"
#include "i386dasm.h"
-#include "cache.h"
#define INPUT_LINE_A20 1
#define INPUT_LINE_SMI 2
@@ -72,24 +71,10 @@ protected:
virtual int get_mode() const override;
// routines for opcodes whose operation can vary between cpu models
- // default implementations usually just log an error message
+ // default implementations just log an error message
virtual void opcode_cpuid();
virtual uint64_t opcode_rdmsr(bool &valid_msr);
virtual void opcode_wrmsr(uint64_t data, bool &valid_msr);
- virtual void opcode_invd() {}
- virtual void opcode_wbinvd() {}
-
- // routine to access memory
- virtual u8 mem_pr8(offs_t address) { return macache32->read_byte(address); }
- virtual u16 mem_pr16(offs_t address) { return macache32->read_word(address); }
- virtual u32 mem_pr32(offs_t address) { return macache32->read_dword(address); }
-
- virtual u8 mem_prd8(offs_t address) { return m_program->read_byte(address); }
- virtual u16 mem_prd16(offs_t address) { return m_program->read_word(address); }
- virtual u32 mem_prd32(offs_t address) { return m_program->read_dword(address); }
- virtual void mem_pwd8(offs_t address, u8 data) { m_program->write_byte(address, data); }
- virtual void mem_pwd16(offs_t address, u16 data) { m_program->write_word(address, data); }
- virtual void mem_pwd32(offs_t address, u32 data) { m_program->write_dword(address, data); }
address_space_config m_program_config;
address_space_config m_io_config;
@@ -295,10 +280,11 @@ protected:
uint8_t m_irq_state;
address_space *m_program;
+ std::function<u8 (offs_t)> m_pr8;
+ std::function<u16 (offs_t)> m_pr16;
+ std::function<u32 (offs_t)> m_pr32;
address_space *m_io;
uint32_t m_a20_mask;
- memory_access_cache<1, 0, ENDIANNESS_LITTLE> *macache16;
- memory_access_cache<2, 0, ENDIANNESS_LITTLE> *macache32;
int m_cpuid_max_input_value_eax; // Highest CPUID standard function available
uint32_t m_cpuid_id0, m_cpuid_id1, m_cpuid_id2;
@@ -1509,13 +1495,9 @@ class i386sx_device : public i386_device
public:
// construction/destruction
i386sx_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
-protected:
- virtual u8 mem_pr8(offs_t address) override { return macache16->read_byte(address); };
- virtual u16 mem_pr16(offs_t address) override { return macache16->read_word(address); };
- virtual u32 mem_pr32(offs_t address) override { return macache16->read_dword(address); };
};
+
class i486_device : public i386_device
{
public:
@@ -1632,34 +1614,10 @@ protected:
virtual void opcode_cpuid() override;
virtual uint64_t opcode_rdmsr(bool &valid_msr) override;
virtual void opcode_wrmsr(uint64_t data, bool &valid_msr) override;
- virtual void opcode_invd() override;
- virtual void opcode_wbinvd() override;
virtual void device_start() override;
virtual void device_reset() override;
- virtual u8 mem_pr8(offs_t address) override { return opcode_read_cache<u8, NATIVE_ENDIAN_VALUE_LE_BE(0, 3)>(address); }
- virtual u16 mem_pr16(offs_t address) override { return opcode_read_cache<u16, NATIVE_ENDIAN_VALUE_LE_BE(0, 2)>(address); }
- virtual u32 mem_pr32(offs_t address) override { return opcode_read_cache<u32, 0>(address); }
- virtual u8 mem_prd8(offs_t address) override { return program_read_cache<u8, NATIVE_ENDIAN_VALUE_LE_BE(0, 3)>(address); }
- virtual u16 mem_prd16(offs_t address) override { return program_read_cache<u16, NATIVE_ENDIAN_VALUE_LE_BE(0, 2)>(address); }
- virtual u32 mem_prd32(offs_t address) override { return program_read_cache<u32, 0>(address); }
- virtual void mem_pwd8(offs_t address, u8 data) override { program_write_cache<u8, NATIVE_ENDIAN_VALUE_LE_BE(0, 3)>(address, data); }
- virtual void mem_pwd16(offs_t address, u16 data) override { program_write_cache<u16, NATIVE_ENDIAN_VALUE_LE_BE(0, 2)>(address, data); }
- virtual void mem_pwd32(offs_t address, u32 data) override { program_write_cache<u32, 0>(address, data); }
-
-private:
- void parse_mtrrfix(u64 mtrr, offs_t base, int kblock);
- int check_cacheable(offs_t address);
- void invalidate_cache(bool writeback);
-
- template <class dt, offs_t xorle> dt opcode_read_cache(offs_t address);
- template <class dt, offs_t xorle> dt program_read_cache(offs_t address);
- template <class dt, offs_t xorle> void program_write_cache(offs_t address, dt data);
-
uint8_t m_processor_name_string[48];
- uint64_t m_msr_mtrrfix[11];
- uint8_t m_memory_ranges_1m[1024 / 4];
- cpucache<17, 9, Cache2Way, CacheLineBytes64> cache; // 512 sets, 2 ways (cachelines per set), 64 bytes per cacheline
};
diff --git a/src/devices/cpu/i386/i386priv.h b/src/devices/cpu/i386/i386priv.h
index 0343cf74ef1..954e49ee6c7 100644
--- a/src/devices/cpu/i386/i386priv.h
+++ b/src/devices/cpu/i386/i386priv.h
@@ -386,7 +386,7 @@ uint8_t i386_device::FETCH()
if(!translate_address(m_CPL,TRANSLATE_FETCH,&address,&error))
PF_THROW(error);
- value = mem_pr8(address & m_a20_mask);
+ value = m_pr8(address & m_a20_mask);
#ifdef DEBUG_MISSING_OPCODE
m_opcode_bytes[m_opcode_bytes_length] = value;
m_opcode_bytes_length = (m_opcode_bytes_length + 1) & 15;
@@ -407,7 +407,7 @@ uint16_t i386_device::FETCH16()
if(!translate_address(m_CPL,TRANSLATE_FETCH,&address,&error))
PF_THROW(error);
address &= m_a20_mask;
- value = mem_pr16(address);
+ value = m_pr16(address);
m_eip += 2;
m_pc += 2;
}
@@ -428,7 +428,7 @@ uint32_t i386_device::FETCH32()
PF_THROW(error);
address &= m_a20_mask;
- value = mem_pr32(address);
+ value = m_pr32(address);
m_eip += 4;
m_pc += 4;
}
@@ -443,7 +443,7 @@ uint8_t i386_device::READ8(uint32_t ea)
PF_THROW(error);
address &= m_a20_mask;
- return mem_prd8(address);
+ return m_program->read_byte(address);
}
uint16_t i386_device::READ16(uint32_t ea)
{
@@ -458,7 +458,7 @@ uint16_t i386_device::READ16(uint32_t ea)
PF_THROW(error);
address &= m_a20_mask;
- value = mem_prd16( address );
+ value = m_program->read_word( address );
}
return value;
}
@@ -477,7 +477,7 @@ uint32_t i386_device::READ32(uint32_t ea)
PF_THROW(error);
address &= m_a20_mask;
- value = mem_prd32( address );
+ value = m_program->read_dword( address );
}
return value;
}
@@ -501,8 +501,8 @@ uint64_t i386_device::READ64(uint32_t ea)
PF_THROW(error);
address &= m_a20_mask;
- value = (((uint64_t) mem_prd32( address+0 )) << 0);
- value |= (((uint64_t) mem_prd32( address+4 )) << 32);
+ value = (((uint64_t) m_program->read_dword( address+0 )) << 0);
+ value |= (((uint64_t) m_program->read_dword( address+4 )) << 32);
}
return value;
}
@@ -514,7 +514,7 @@ uint8_t i386_device::READ8PL0(uint32_t ea)
PF_THROW(error);
address &= m_a20_mask;
- return mem_prd8(address);
+ return m_program->read_byte(address);
}
uint16_t i386_device::READ16PL0(uint32_t ea)
{
@@ -529,7 +529,7 @@ uint16_t i386_device::READ16PL0(uint32_t ea)
PF_THROW(error);
address &= m_a20_mask;
- value = mem_prd16( address );
+ value = m_program->read_word( address );
}
return value;
}
@@ -549,7 +549,7 @@ uint32_t i386_device::READ32PL0(uint32_t ea)
PF_THROW(error);
address &= m_a20_mask;
- value = mem_prd32( address );
+ value = m_program->read_dword( address );
}
return value;
}
@@ -569,7 +569,7 @@ void i386_device::WRITE8(uint32_t ea, uint8_t value)
PF_THROW(error);
address &= m_a20_mask;
- mem_pwd8(address, value);
+ m_program->write_byte(address, value);
}
void i386_device::WRITE16(uint32_t ea, uint16_t value)
{
@@ -583,7 +583,7 @@ void i386_device::WRITE16(uint32_t ea, uint16_t value)
PF_THROW(error);
address &= m_a20_mask;
- mem_pwd16(address, value);
+ m_program->write_word(address, value);
}
}
void i386_device::WRITE32(uint32_t ea, uint32_t value)
@@ -600,7 +600,7 @@ void i386_device::WRITE32(uint32_t ea, uint32_t value)
PF_THROW(error);
ea &= m_a20_mask;
- mem_pwd32(address, value);
+ m_program->write_dword(address, value);
}
}
@@ -622,8 +622,8 @@ void i386_device::WRITE64(uint32_t ea, uint64_t value)
PF_THROW(error);
ea &= m_a20_mask;
- mem_pwd32(address+0, value & 0xffffffff);
- mem_pwd32(address+4, (value >> 32) & 0xffffffff);
+ m_program->write_dword(address+0, value & 0xffffffff);
+ m_program->write_dword(address+4, (value >> 32) & 0xffffffff);
}
}
diff --git a/src/devices/cpu/i386/i486ops.hxx b/src/devices/cpu/i386/i486ops.hxx
index 6946e463796..77e9ee3dd2d 100644
--- a/src/devices/cpu/i386/i486ops.hxx
+++ b/src/devices/cpu/i386/i486ops.hxx
@@ -44,15 +44,13 @@ void i386_device::i486_cpuid() // Opcode 0x0F A2
void i386_device::i486_invd() // Opcode 0x0f 08
{
- // TODO: manage the cache if present
- opcode_invd();
+ // Nothing to do ?
CYCLES(CYCLES_INVD);
}
void i386_device::i486_wbinvd() // Opcode 0x0f 09
{
- // TODO: manage the cache if present
- opcode_wbinvd();
+ // Nothing to do ?
}
void i386_device::i486_cmpxchg_rm8_r8() // Opcode 0x0f b0
@@ -235,8 +233,6 @@ void i386_device::i486_group0F01_16() // Opcode 0x0f 01
ea = GetEA(modrm,1);
}
WRITE16(ea, m_gdtr.limit);
- // Win32s requires all 32 bits to be stored here, despite various Intel docs
- // claiming that the upper 8 bits are either zeroed or undefined in 16-bit mode
WRITE32(ea + 2, m_gdtr.base);
CYCLES(CYCLES_SGDT);
break;
diff --git a/src/devices/cpu/i386/pentops.hxx b/src/devices/cpu/i386/pentops.hxx
index b44ce8c40ed..d5f6f6ca592 100644
--- a/src/devices/cpu/i386/pentops.hxx
+++ b/src/devices/cpu/i386/pentops.hxx
@@ -203,7 +203,6 @@ void i386_device::pentium_prefetch_m8() // Opcode 0x0f 18
{
uint8_t modrm = FETCH();
uint32_t ea = GetEA(modrm,0);
- // TODO: manage the cache if present
CYCLES(1+(ea & 1)); // TODO: correct cycle count
}
@@ -1046,7 +1045,7 @@ void i386_device::pentium_movnti_m16_r16() // Opcode 0f c3
// unsupported by cpu
CYCLES(1); // TODO: correct cycle count
} else {
- // TODO: manage the cache if present
+ // since cache is not implemented
uint32_t ea = GetEA(modrm, 0);
WRITE16(ea,LOAD_RM16(modrm));
CYCLES(1); // TODO: correct cycle count
@@ -1060,7 +1059,7 @@ void i386_device::pentium_movnti_m32_r32() // Opcode 0f c3
// unsupported by cpu
CYCLES(1); // TODO: correct cycle count
} else {
- // TODO: manage the cache if present
+ // since cache is not implemented
uint32_t ea = GetEA(modrm, 0);
WRITE32(ea,LOAD_RM32(modrm));
CYCLES(1); // TODO: correct cycle count
@@ -1117,7 +1116,7 @@ void i386_device::pentium_movntq_m64_r64() // Opcode 0f e7
if( modrm >= 0xc0 ) {
CYCLES(1); // unsupported
} else {
- // TODO: manage the cache if present
+ // since cache is not implemented
uint32_t ea = GetEA(modrm, 0);
WRITEMMX(ea, MMX((modrm >> 3) & 0x7));
CYCLES(1); // TODO: correct cycle count
@@ -3318,7 +3317,7 @@ void i386_device::sse_movntps_m128_r128() // Opcode 0f 2b
// unsupported by cpu
CYCLES(1); // TODO: correct cycle count
} else {
- // TODO: manage the cache if present
+ // since cache is not implemented
uint32_t ea = GetEA(modrm, 0);
WRITEXMM(ea, XMM((modrm >> 3) & 0x7));
CYCLES(1); // TODO: correct cycle count
@@ -5963,7 +5962,7 @@ void i386_device::sse_movntdq_m128_r128() // Opcode 66 0f e7
if( modrm >= 0xc0 ) {
CYCLES(1); // unsupported
} else {
- // TODO: manage the cache if present
+ // since cache is not implemented
uint32_t ea = GetEA(modrm, 0);
WRITEXMM(ea, XMM((modrm >> 3) & 0x7));
CYCLES(1); // TODO: correct cycle count
@@ -6277,7 +6276,7 @@ void i386_device::sse_movntpd_m128_r128() // Opcode 66 0f 2b
// unsupported by cpu
CYCLES(1); // TODO: correct cycle count
} else {
- // TODO: manage the cache if present
+ // since cache is not implemented
uint32_t ea = GetEA(modrm, 0);
WRITEXMM(ea, XMM((modrm >> 3) & 0x7));
CYCLES(1); // TODO: correct cycle count
diff --git a/src/devices/cpu/i8089/i8089.cpp b/src/devices/cpu/i8089/i8089.cpp
index 7e9371de36c..cf694d53cfb 100644
--- a/src/devices/cpu/i8089/i8089.cpp
+++ b/src/devices/cpu/i8089/i8089.cpp
@@ -16,7 +16,7 @@
// MACROS/CONSTANTS
//**************************************************************************
-#define VERBOSE 0
+#define VERBOSE 1
//**************************************************************************
diff --git a/src/devices/cpu/i8089/i8089_channel.cpp b/src/devices/cpu/i8089/i8089_channel.cpp
index 02bb12daa8c..433a3ca792c 100644
--- a/src/devices/cpu/i8089/i8089_channel.cpp
+++ b/src/devices/cpu/i8089/i8089_channel.cpp
@@ -20,7 +20,7 @@
// MACROS/CONSTANTS
//**************************************************************************
-#define VERBOSE 0
+#define VERBOSE 1
#define VERBOSE_DMA 0
// channel control register fields
@@ -374,10 +374,11 @@ int i8089_channel_device::execute_run()
// do we need to read another byte?
if (BIT(m_r[PSW].w, 1) && !BIT(m_r[PSW].w, 0) && !m_store_hi)
{
- m_store_hi = true;
-
if (CC_SYNC == 0x02)
+ {
+ m_store_hi = true;
m_dma_state = DMA_WAIT_FOR_DEST_DRQ;
+ }
else
m_dma_state = DMA_STORE_BYTE_HIGH;
}
diff --git a/src/devices/cpu/i86/i186.cpp b/src/devices/cpu/i86/i186.cpp
index 48329288bf5..7738ee64d6c 100644
--- a/src/devices/cpu/i86/i186.cpp
+++ b/src/devices/cpu/i86/i186.cpp
@@ -173,22 +173,6 @@ void i80186_cpu_device::execute_run()
{
while(m_icount > 0 )
{
- if((m_dma[0].drq_state && (m_dma[0].control & ST_STOP)) || (m_dma[1].drq_state && (m_dma[1].control & ST_STOP)))
- {
- int channel = m_last_dma ? 0 : 1;
- m_last_dma = !m_last_dma;
- if(!(m_dma[1].drq_state && (m_dma[1].control & ST_STOP)))
- channel = 0;
- else if(!(m_dma[0].drq_state && (m_dma[0].control & ST_STOP)))
- channel = 1;
- else if((m_dma[0].control & CHANNEL_PRIORITY) && !(m_dma[1].control & CHANNEL_PRIORITY))
- channel = 0;
- else if((m_dma[1].control & CHANNEL_PRIORITY) && !(m_dma[0].control & CHANNEL_PRIORITY))
- channel = 1;
- m_icount--;
- drq_callback(channel);
- continue;
- }
if ( m_seg_prefix_next )
{
m_seg_prefix = true;
@@ -603,18 +587,6 @@ void i80186_cpu_device::device_start()
state_add( I80186_T_COUNT + 2, "T2_COUNT", m_timer[2].count ).formatstr("%04X");
state_add( I80186_T_MAX_A + 2, "T2_MAX", m_timer[2].maxA ).formatstr("%04X");
state_add( I80186_T_CONTROL + 2, "T2_CONTROL", m_timer[2].control ).formatstr("%04X");
- state_add( I80186_ISR, "ISR", m_intr.in_service ).formatstr("%04X");
- state_add( I80186_IRR, "IRR", m_intr.request ).formatstr("%04X");
- state_add( I80186_PMR, "PMR", m_intr.priority_mask ).formatstr("%04X");
- state_add( I80186_ICSR, "ICSR", m_intr.status ).formatstr("%04X");
- state_add( I80186_TMRCR, "TMRCR", m_intr.timer ).formatstr("%04X");
- state_add( I80186_D0CR, "D0CR", m_intr.dma[0] ).formatstr("%04X");
- state_add( I80186_D1CR, "D1CR", m_intr.dma[1] ).formatstr("%04X");
- state_add( I80186_I0CR, "I0CR", m_intr.ext[0] ).formatstr("%04X");
- state_add( I80186_I1CR, "I1CR", m_intr.ext[1] ).formatstr("%04X");
- state_add( I80186_I2CR, "I2CR", m_intr.ext[2] ).formatstr("%04X");
- state_add( I80186_I3CR, "I3CR", m_intr.ext[3] ).formatstr("%04X");
- state_add( I80186_POLL, "POLL", m_intr.poll_status ).formatstr("%04X");
// register for savestates
save_item(NAME(m_timer[0].control));
@@ -655,7 +627,6 @@ void i80186_cpu_device::device_start()
save_item(NAME(m_mem.middle_size));
save_item(NAME(m_mem.peripheral));
save_item(NAME(m_reloc));
- save_item(NAME(m_last_dma));
// zerofill
memset(m_timer, 0, sizeof(m_timer));
diff --git a/src/devices/cpu/i86/i186.h b/src/devices/cpu/i86/i186.h
index a968f5ef3dd..01960a619f5 100644
--- a/src/devices/cpu/i86/i186.h
+++ b/src/devices/cpu/i86/i186.h
@@ -22,8 +22,8 @@ public:
auto tmrout1_handler() { return m_out_tmrout1_func.bind(); }
IRQ_CALLBACK_MEMBER(int_callback);
- DECLARE_WRITE_LINE_MEMBER(drq0_w) { m_dma[0].drq_state = state; }
- DECLARE_WRITE_LINE_MEMBER(drq1_w) { m_dma[1].drq_state = state; }
+ DECLARE_WRITE_LINE_MEMBER(drq0_w) { if(state) drq_callback(0); m_dma[0].drq_state = state; }
+ DECLARE_WRITE_LINE_MEMBER(drq1_w) { if(state) drq_callback(1); m_dma[1].drq_state = state; }
DECLARE_WRITE_LINE_MEMBER(tmrin0_w) { if(state && (m_timer[0].control & 0x8004) == 0x8004) { inc_timer(0); } }
DECLARE_WRITE_LINE_MEMBER(tmrin1_w) { if(state && (m_timer[1].control & 0x8004) == 0x8004) { inc_timer(1); } }
DECLARE_WRITE_LINE_MEMBER(int0_w) { external_int(0, state); }
@@ -46,12 +46,7 @@ protected:
I80186_T_COUNT = I80186_DMA_CR + 2,
I80186_T_MAX_A = I80186_T_COUNT + 3,
I80186_T_MAX_B = I80186_T_MAX_A + 3,
- I80186_T_CONTROL = I80186_T_MAX_B + 2,
- I80186_ISR = I80186_T_CONTROL + 3,
- I80186_IRR, I80186_PMR, I80186_ICSR,
- I80186_TMRCR, I80186_D0CR, I80186_D1CR,
- I80186_I0CR, I80186_I1CR, I80186_I2CR, I80186_I3CR,
- I80186_POLL
+ I80186_T_CONTROL = I80186_T_MAX_B + 2
};
i80186_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int data_bus_size);
@@ -137,7 +132,6 @@ private:
dma_state m_dma[2];
intr_state m_intr;
mem_state m_mem;
- bool m_last_dma;
static const device_timer_id TIMER_INT0 = 0;
static const device_timer_id TIMER_INT1 = 1;
diff --git a/src/devices/cpu/i86/i86.cpp b/src/devices/cpu/i86/i86.cpp
index 4f1d6f07afd..d578c6f3a2c 100644
--- a/src/devices/cpu/i86/i86.cpp
+++ b/src/devices/cpu/i86/i86.cpp
@@ -317,7 +317,7 @@ void i8086_cpu_device::execute_run()
case 0xdd:
case 0xde:
case 0xdf:
- m_esc_opcode_handler(m_pc);
+ m_esc_opcode_handler(m_pc - 1);
m_modrm = fetch();
if(m_modrm < 0xc0)
m_esc_data_handler(get_ea(1, I8086_READ));
diff --git a/src/devices/cpu/m6502/dxavix2000.lst b/src/devices/cpu/m6502/dxavix2000.lst
index fc2e7bde133..c96f6987dd5 100644
--- a/src/devices/cpu/m6502/dxavix2000.lst
+++ b/src/devices/cpu/m6502/dxavix2000.lst
@@ -6,7 +6,7 @@ bpl_rel xavora_idy phx_imp orapa_imp asr_zpx ora_zpx asl_zpx
jsr_adr xavand_idx callf_xa3 andj_imp bit_zpg and_zpg rol_zpg andk_imp plp_imp and_imm rol_acc andl_imp bit_aba and_aba rol_aba andm_imp
bmi_rel xavand_idy plx_imp andpa_imp bit_zpx and_zpx rol_zpx andpb_imp sec_imp and_aby bit_imm lpa0_imp bit_abx and_abx rol_abx lpb0_imp
rti_xav_imp xaveor_idx nop_imp eorj_imp nop_imp eor_zpg lsr_zpg eork_imp pha_imp eor_imm lsr_acc eorl_imp jmp_adr eor_aba lsr_aba eorm_imp
-bvc_rel xaveor_idy phy_imp eorpa_imp nop_imp eor_zpx lsr_zpx eorpb_imp cli_imp eor_aby nop_imp spa1_imp jmp_xa3 eor_abx lsr_abx spb1_imp
+bvc_rel xaveor_idy phy_imp eorpa_imp nop_imp eor_zpx lsr_zpx eorpb_imp cli_imp eor_aby nop_imp spa1_imp callf_aba eor_abx lsr_abx spb1_imp
rts_imp xavadc_idx nop_imp adcj_imp nop_imp adc_zpg ror_zpg adck_imp pla_imp adc_imm ror_acc adcl_imp jmp_ind adc_aba ror_aba adcm_imp
bvs_rel xavadc_idy ply_imp adcpa_imp nop_imp adc_zpx ror_zpx adcpb_imp sei_imp adc_aby nop_imp lpa1_imp jmpf_ind adc_abx ror_abx lpb1_imp
retf_imp xavsta_idx stz_zpg staj_imp sty_zpg sta_zpg stx_zpg stak_imp dey_imp sev_imp txa_imp stal_imp sty_aba sta_aba stx_aba stam_imp
diff --git a/src/devices/cpu/m6502/oxavix.lst b/src/devices/cpu/m6502/oxavix.lst
index 437a86ffc5f..38b8eadee1a 100644
--- a/src/devices/cpu/m6502/oxavix.lst
+++ b/src/devices/cpu/m6502/oxavix.lst
@@ -18,14 +18,6 @@ callf_xa3
set_codebank(TMP2);
prefetch();
-jmp_xa3
- TMP2 = read_pc();
- TMP = read_pc();
- TMP = set_h(TMP, read_pc());
- PC = TMP;
- set_codebank(TMP2);
- prefetch();
-
retf_imp
read_pc_noinc();
read(SP);
diff --git a/src/devices/cpu/m6502/oxavix2000.lst b/src/devices/cpu/m6502/oxavix2000.lst
index 3341c6eccf2..c51b0263e1a 100644
--- a/src/devices/cpu/m6502/oxavix2000.lst
+++ b/src/devices/cpu/m6502/oxavix2000.lst
@@ -448,12 +448,8 @@ asr_zpg
prefetch();
asr_aba
- TMP = read_pc();
- TMP = set_h(TMP, read_pc());
- TMP2 = read(TMP);
- write(TMP, TMP2);
- TMP2 = do_asr(TMP2); // used by xavbox, see 14e8
- write(TMP, TMP2);
+ fatalerror("unhandled opcode %02x%04x: %02x\n", m_codebank, PPC, inst_state);
+ read_pc_noinc();
prefetch();
asr_zpx
@@ -480,6 +476,11 @@ sev_imp
P |= F_V;
prefetch();
+callf_aba
+ fatalerror("unhandled opcode %02x%04x: %02x\n", m_codebank, PPC, inst_state);
+ read_pc_noinc();
+ prefetch();
+
jmpf_ind
TMP = read_pc();
TMP = set_h(TMP, read_pc());
diff --git a/src/devices/cpu/m6502/xavix.h b/src/devices/cpu/m6502/xavix.h
index 3e20ec8a899..9b28a429dad 100644
--- a/src/devices/cpu/m6502/xavix.h
+++ b/src/devices/cpu/m6502/xavix.h
@@ -15,6 +15,7 @@
class xavix_device : public m6502_device {
public:
xavix_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ xavix_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
virtual void do_exec_full() override;
@@ -24,7 +25,6 @@ public:
// xaviv opcodes
O(callf_xa3);
- O(jmp_xa3);
O(retf_imp);
O(brk_xav_imp);
O(rti_xav_imp);
@@ -101,8 +101,6 @@ protected:
uint8_t m_codebank;
uint32_t XPC;
- xavix_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
-
uint32_t adr_with_codebank(uint16_t adr) { return adr | (get_codebank() << 16); }
virtual void device_start() override;
diff --git a/src/devices/cpu/m6502/xavix2000.cpp b/src/devices/cpu/m6502/xavix2000.cpp
index 94b56308e0d..0c928ce159d 100644
--- a/src/devices/cpu/m6502/xavix2000.cpp
+++ b/src/devices/cpu/m6502/xavix2000.cpp
@@ -7,8 +7,8 @@
The dies for these are marked
SSD 2000 NEC 85605-621
-
- SSD 2002 NEC 85054-611
+ and possibly
+ SSD 2002 NEC 85054-611 (although this might use even more opcodes and need it's own file)
6502 with custom opcodes
integrated gfx / sound
@@ -17,12 +17,77 @@
see xavix.cpp for basic notes
- the 2000 chip has more opcodes than the 97/98 chips in xavix.cpp, and
- is a similar die structure to the 2002 chip, but doesn't seem to have any
- additional capabilities.
-
- the 2002 chip seems to be the one that was officially dubbed 'SuperXaviX'
- and has additional video capabilities on top of the extended opcodes.
+ the machines using the '2000' series chips seem to have more extra
+ opcodes, so presumably these were only available in those models.
+ of note, push x / push y and pull x / pull y
+
+ Dirt Rebel MX, which is confirmed as 2000 type however seems to require
+ some of the documented but 'undocumented' opcodes on the 6502 to have additonal
+ meaning for one specific function on startup
+
+ this just seems to be some very buggy checksum code where the games don't even care about the result...
+ (actually it looks like some games might be using it as a PRNG seed?)
+
+ a is 80 when entering here?
+
+ 01BC37: A0 3F ldy #$3f
+ 01BC39: B2 clr a // clear acculuator
+ 01BC3A: 1B spa0 a // store 'accumulator' into byte 0 of PA 'address' register
+ 01BC3B: 9B spa2 a // store 'accumulator' into byte 2 of PA 'address' register
+
+ -- loop point 2
+ 01BC3C: 98 tya // y -> a (3f on first run of loop)
+ 01BC3D: 5B spa1 a // store 'accumulator' into byte 1 of PA 'address' register (003f00 on first loop?)
+
+ -- loop point 1
+ 01BC3E: A3 ldal0 a // read byte 0 of 32-bit 'long' register into accumulator
+ 01BC3F: 73 adcpa // adc ($Address PA)
+ 01BC40: 83 stal0 a // store accumulator back in byte 0 of 32-bit 'long' register (even byte checksum?)
+ 01BC41: FB incpa // increase 'address' register PA
+ 01BC42: A7 ldal1 a // read byte 1 of 32-bit 'long' register into accumulator
+ 01BC43: 73 adcpa // adc ($Address PA)
+ 01BC44: 87 stal1 a // store accumulator back in byte 0 of 32-bit 'long' register (odd byte checksum?)
+ 01BC45: FB incpa // increase 'address' register PA
+ 01BC46: D0 F6 bne $1bc3e // (branch based on PA increase, so PA must set flags?, probably overflows after 0xffff if upper byte is 'bank'? or at 0xff if this really is a mirror of the function below
+
+ 01BC48: 88 dey // decrease y, which contained 3f at the start
+ 01BC49: 10 F1 bpl $1bc3c // branch back to loop point 2 to reload counter
+
+ // contains the odd byte checksum once we drop out the loop
+ 01BC4B: 8D FB 00 sta $00fb // store it in zero page memory
+ 01BC4E: A3 ldal0 a // get the even byte checksum from byte 0 of 32-bit 'long' register
+ 01BC4F: 8D FA 00 sta $00fa // store it in zero page memory
+ 01BC52: 07 oral1 a // why do we want to do this? (routine below does it too)
+ 01BC53: D0 03 bne $1bc58
+ 01BC55: CE FA 00 dec $00fa
+ 01BC58: 80 retf
+
+ this is presumably meant to be similar to the function found in Namco
+ Nostalgia 2
+
+ // A is 80 on entry
+ 09FFD8: A9 3F lda #$3f
+ 09FFDA: 85 01 sta $01 // set upper bit of pointer at 0x0000 to 3f (it completely fails to initialize the ram at 00, we currently init it to ff, but should probably be 0?)
+ 09FFDC: A0 00 ldy #$00 // clear inner loop counter
+ -- loop point 1 and 2
+ 09FFDE: AD FA 00 lda $00fa // read current even byte checksum value from zero page ram fa (game also completely fails to initialize this)
+ 09FFE1: 71 00 adc ($00), y // so 3f00 + y first outer loop, 3e00 + y second outer loop with y increasing in inner loop (add byte read to even checksum byte?)
+ 09FFE3: 8D FA 00 sta $00fa // store even checksum at 0xfa in zero page ram
+ 09FFE6: C8 iny // increase counter y
+ 09FFE7: AD FB 00 lda $00fb // read current odd byte checksum value from zero page ram fb (likewise never initialized!)
+ 09FFEA: 71 00 adc ($00), y // 3f00 + y (add byte read to odd checksum byte)
+ 09FFEC: 8D FB 00 sta $00fb // store odd checksum byte at 0xfb in zero page ram
+ 09FFEF: C8 iny // increase y
+ 09FFF0: D0 EC bne $9ffde // branch back if y hasn't overflowed (so work on 0x100 bytes, looping back 0x7f times)
+ 09FFF2: C6 01 dec $01 // decrease accumulator (started at 3f) (inner loop counter already 0 because it overflowed)
+ 09FFF4: 10 E8 bpl $9ffde // branch back
+
+ // checksums are already in place after loop so no need to copy them like in above
+ 09FFF6: 0D FA 00 ora $00fa // same weird 'or' call
+ --
+ 09FFF9: D0 03 bne $9fffe
+ 09FFFB: CE FA 00 dec $00fa
+ 09FFFE: 80 retf
***************************************************************************/
@@ -31,13 +96,10 @@
#include "xavix2000.h"
#include "xavix2000d.h"
-DEFINE_DEVICE_TYPE(XAVIX2000, xavix2000_device, "xavix2000", "XaviX (SSD 2000)")
-DEFINE_DEVICE_TYPE(XAVIX2002, xavix2002_device, "xavix2002", "XaviX (SSD 2002) (SuperXaviX)")
-
-
+DEFINE_DEVICE_TYPE(XAVIX2000, xavix2000_device, "xavix2000", "XaviX (SSD 2000 / 2002)")
-xavix2000_device::xavix2000_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
- xavix_device(mconfig, type, tag, owner, clock)
+xavix2000_device::xavix2000_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ xavix_device(mconfig, XAVIX2000, tag, owner, clock)
{
program_config.m_addr_width = 24;
program_config.m_logaddr_width = 24;
@@ -45,17 +107,6 @@ xavix2000_device::xavix2000_device(const machine_config &mconfig, device_type ty
sprogram_config.m_logaddr_width = 24;
}
-xavix2000_device::xavix2000_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- xavix2000_device(mconfig, XAVIX2000, tag, owner, clock)
-{
-}
-
-xavix2002_device::xavix2002_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- xavix2000_device(mconfig, XAVIX2002, tag, owner, clock)
-{
-}
-
-
void xavix2000_device::device_start()
{
xavix_device::device_start();
diff --git a/src/devices/cpu/m6502/xavix2000.h b/src/devices/cpu/m6502/xavix2000.h
index 425c15c8816..6eec3db88d5 100644
--- a/src/devices/cpu/m6502/xavix2000.h
+++ b/src/devices/cpu/m6502/xavix2000.h
@@ -17,9 +17,6 @@ public:
xavix2000_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
-
-protected:
- xavix2000_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
virtual void do_exec_full() override;
virtual void do_exec_partial() override;
@@ -139,6 +136,7 @@ protected:
O(cmc_imp);
O(sev_imp);
+ O(callf_aba);
O(jmpf_ind);
#undef O
@@ -162,13 +160,6 @@ enum {
SXAVIX_PB
};
-class xavix2002_device : public xavix2000_device {
-public:
- xavix2002_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-};
-
-
DECLARE_DEVICE_TYPE(XAVIX2000, xavix2000_device)
-DECLARE_DEVICE_TYPE(XAVIX2002, xavix2002_device)
#endif // MAME_CPU_M6502_XAVIX2000_H
diff --git a/src/devices/cpu/m68000/m68000.h b/src/devices/cpu/m68000/m68000.h
index 0ee41f348b5..0596dd07976 100644
--- a/src/devices/cpu/m68000/m68000.h
+++ b/src/devices/cpu/m68000/m68000.h
@@ -148,7 +148,6 @@ public:
void set_tas_write_callback(write8_delegate callback);
uint16_t get_fc();
void set_hmmu_enable(int enable);
- int get_pmmu_enable() {return m_pmmu_enabled;};
void set_fpu_enable(int enable);
void set_buserror_details(uint32_t fault_addr, uint8_t rw, uint8_t fc);
@@ -350,8 +349,6 @@ protected:
#include "m68kops.h"
#include "m68kfpu.hxx"
#include "m68kmmu.h"
-
- virtual void m68k_reset_peripherals() { }
};
@@ -378,6 +375,21 @@ protected:
const device_type type, uint32_t prg_data_width, uint32_t prg_address_bits, address_map_constructor internal_map);
};
+class m68301_device : public m68000_base_device
+{
+public:
+ // construction/destruction
+ m68301_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+ virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
+
+ virtual uint32_t execute_min_cycles() const override { return 4; };
+ virtual uint32_t execute_max_cycles() const override { return 158; };
+
+ // device-level overrides
+ virtual void device_start() override;
+};
+
@@ -635,6 +647,7 @@ public:
DECLARE_DEVICE_TYPE(M68000, m68000_device)
+DECLARE_DEVICE_TYPE(M68301, m68301_device)
DECLARE_DEVICE_TYPE(M68008, m68008_device)
DECLARE_DEVICE_TYPE(M68008PLCC, m68008plcc_device)
DECLARE_DEVICE_TYPE(M68010, m68010_device)
diff --git a/src/devices/cpu/m68000/m68k_in.cpp b/src/devices/cpu/m68000/m68k_in.cpp
index 0eed7fbe629..b5751811530 100644
--- a/src/devices/cpu/m68000/m68k_in.cpp
+++ b/src/devices/cpu/m68000/m68k_in.cpp
@@ -8286,7 +8286,6 @@ M68KMAKE_OP(reset, 0, ., .)
{
if (!m_reset_instr_callback.isnull())
(m_reset_instr_callback)(1);
- m68k_reset_peripherals();
m_remaining_cycles -= m_cyc_reset;
return;
}
diff --git a/src/devices/cpu/m68000/m68kcpu.cpp b/src/devices/cpu/m68000/m68kcpu.cpp
index 851c27163ea..e875b377af3 100644
--- a/src/devices/cpu/m68000/m68kcpu.cpp
+++ b/src/devices/cpu/m68000/m68kcpu.cpp
@@ -2019,6 +2019,11 @@ std::unique_ptr<util::disasm_interface> m68000_device::create_disassembler()
return std::make_unique<m68k_disassembler>(m68k_disassembler::TYPE_68000);
}
+std::unique_ptr<util::disasm_interface> m68301_device::create_disassembler()
+{
+ return std::make_unique<m68k_disassembler>(m68k_disassembler::TYPE_68000);
+}
+
std::unique_ptr<util::disasm_interface> m68008_device::create_disassembler()
{
return std::make_unique<m68k_disassembler>(m68k_disassembler::TYPE_68008);
@@ -2357,6 +2362,7 @@ device_memory_interface::space_config_vector m68000_base_device::memory_space_co
DEFINE_DEVICE_TYPE(M68000, m68000_device, "m68000", "Motorola MC68000")
+DEFINE_DEVICE_TYPE(M68301, m68301_device, "m68301", "Motorola MC68301")
DEFINE_DEVICE_TYPE(M68008, m68008_device, "m68008", "Motorola MC68008")
DEFINE_DEVICE_TYPE(M68008PLCC, m68008plcc_device, "m68008plcc", "Motorola MC68008PLCC")
DEFINE_DEVICE_TYPE(M68010, m68010_device, "m68010", "Motorola MC68010")
@@ -2399,6 +2405,21 @@ m68000_device::m68000_device(const machine_config &mconfig, const char *tag, dev
+m68301_device::m68301_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : m68000_base_device(mconfig, tag, owner, clock, M68301, 16,24)
+{
+}
+
+
+void m68301_device::device_start()
+{
+ init_cpu_m68000();
+}
+
+
+
+
+
/* m68008_device */
diff --git a/src/devices/cpu/m68000/m68kmmu.h b/src/devices/cpu/m68000/m68kmmu.h
index 99481039b0f..114d89ff5c1 100644
--- a/src/devices/cpu/m68000/m68kmmu.h
+++ b/src/devices/cpu/m68000/m68kmmu.h
@@ -33,7 +33,7 @@ static constexpr uint32_t M68K_MMU_DF_WP = 0x00000004;
static constexpr uint32_t M68K_MMU_DF_USED = 0x00000008;
static constexpr uint32_t M68K_MMU_DF_MODIFIED = 0x00000010;
static constexpr uint32_t M68K_MMU_DF_CI = 0x00000040;
-static constexpr uint32_t M68K_MMU_DF_SUPERVISOR = 0x00000100;
+static constexpr uint32_t M68K_MMU_DF_SUPERVISOR = 0000000100;
static constexpr uint32_t M68K_MMU_DF_ADDR_MASK = 0xfffffff0;
static constexpr uint32_t M68K_MMU_DF_IND_ADDR_MASK = 0xfffffffc;
diff --git a/src/devices/cpu/m6809/6x09dasm.cpp b/src/devices/cpu/m6809/6x09dasm.cpp
index bc366a567fe..9b7721ab268 100644
--- a/src/devices/cpu/m6809/6x09dasm.cpp
+++ b/src/devices/cpu/m6809/6x09dasm.cpp
@@ -214,10 +214,6 @@ offs_t m6x09_base_disassembler::disassemble(std::ostream &stream, offs_t pc, con
else if (numoperands == 2)
{
ea = params.r16(ppc);
- if( !(ea & 0xff00) )
- {
- stream << '>'; // need the '>' to force an assembler to use EXT addressing
- }
util::stream_format(stream, "$%04X", ea);
}
break;
@@ -234,7 +230,7 @@ offs_t m6x09_base_disassembler::disassemble(std::ostream &stream, offs_t pc, con
pb = params.r8(ppc);
}
- indexed(stream, pb, params, p);
+ indirect(stream, pb, params, p);
break;
case IMM:
@@ -814,10 +810,10 @@ m6x09_disassembler::m6x09_disassembler(m6x09_instruction_level level, const char
}
//-------------------------------------------------
-// indexed addressing mode for M6809/HD6309
+// indirect addressing mode for M6809/HD6309
//-------------------------------------------------
-void m6x09_disassembler::indexed(std::ostream &stream, uint8_t pb, const data_buffer &params, offs_t &p)
+void m6x09_disassembler::indirect(std::ostream &stream, uint8_t pb, const data_buffer &params, offs_t &p)
{
uint8_t reg = (pb >> 5) & 3;
uint8_t pbm = pb & 0x8f;
@@ -912,14 +908,16 @@ void m6x09_disassembler::indexed(std::ostream &stream, uint8_t pb, const data_bu
break;
case 0x8c: // (+/- 7 bit offset),PC
- offset = (int8_t)params.r8(p++);
- util::stream_format(stream, "$%04X,PCR", (p+offset)); // PC Relative addressing (assembler computes offset from specified absolute address)
+ offset = (int8_t)params.r8(p);
+ util::stream_format(stream, "%s", (offset < 0) ? "-" : "");
+ util::stream_format(stream, "$%02X,PC", (offset < 0) ? -offset : offset);
break;
case 0x8d: // (+/- 15 bit offset),PC
offset = (int16_t)params.r16(p);
p += 2;
- util::stream_format(stream, "$%04X,PCR", (p+offset)); // PC Relative addressing (assembler computes offset from specified absolute address)
+ util::stream_format(stream, "%s", (offset < 0) ? "-" : "");
+ util::stream_format(stream, "$%04X,PC", (offset < 0) ? -offset : offset);
break;
case 0x8e: // (+/- W),R
@@ -1242,10 +1240,10 @@ konami_disassembler::konami_disassembler() : m6x09_base_disassembler(konami_opco
}
//-------------------------------------------------
-// indexed addressing mode for Konami
+// indirect addressing mode for Konami
//-------------------------------------------------
-void konami_disassembler::indexed(std::ostream &stream, uint8_t mode, const data_buffer &params, offs_t &p)
+void konami_disassembler::indirect(std::ostream &stream, uint8_t mode, const data_buffer &params, offs_t &p)
{
static const char index_reg[8][3] =
{
diff --git a/src/devices/cpu/m6809/6x09dasm.h b/src/devices/cpu/m6809/6x09dasm.h
index e6320038b54..a14de7849c9 100644
--- a/src/devices/cpu/m6809/6x09dasm.h
+++ b/src/devices/cpu/m6809/6x09dasm.h
@@ -101,7 +101,7 @@ protected:
static const char *const hd6309_tfmregs[16];
static const char *const tfm_s[];
- virtual void indexed(std::ostream &stream, uint8_t pb, const data_buffer &params, offs_t &p) = 0;
+ virtual void indirect(std::ostream &stream, uint8_t pb, const data_buffer &params, offs_t &p) = 0;
virtual void register_register(std::ostream &stream, uint8_t pb) = 0;
private:
@@ -123,7 +123,7 @@ public:
m6x09_disassembler(m6x09_instruction_level level, const char teregs[16][4]);
protected:
- virtual void indexed(std::ostream &stream, uint8_t pb, const data_buffer &params, offs_t &p) override;
+ virtual void indirect(std::ostream &stream, uint8_t pb, const data_buffer &params, offs_t &p) override;
virtual void register_register(std::ostream &stream, uint8_t pb) override;
private:
@@ -138,7 +138,7 @@ public:
konami_disassembler();
protected:
- virtual void indexed(std::ostream &stream, uint8_t pb, const data_buffer &params, offs_t &p) override;
+ virtual void indirect(std::ostream &stream, uint8_t pb, const data_buffer &params, offs_t &p) override;
virtual void register_register(std::ostream &stream, uint8_t pb) override;
private:
diff --git a/src/devices/cpu/mcs51/mcs51.cpp b/src/devices/cpu/mcs51/mcs51.cpp
index c307c19a611..60d39a25139 100644
--- a/src/devices/cpu/mcs51/mcs51.cpp
+++ b/src/devices/cpu/mcs51/mcs51.cpp
@@ -874,8 +874,6 @@ uint8_t mcs51_cpu_device::bit_address_r(uint8_t offset)
int distance; /* distance between bit addressable words */
/* 1 for normal bits, 8 for sfr bit addresses */
- m_last_bit = offset;
-
//User defined bit addresses 0x20-0x2f (values are 0x0-0x7f)
if (offset < 0x80) {
distance = 1;
@@ -1360,8 +1358,6 @@ void mcs51_cpu_device::execute_op(uint8_t op)
m_recalc_parity = 0;
}
- m_last_op = op;
-
switch( op )
{
case 0x00: nop(op); break; //NOP
@@ -1781,10 +1777,6 @@ void mcs51_cpu_device::check_irqs()
return;
}
- // Hack to work around polling latency issue with JB INT0/INT1
- if (m_last_op == 0x20 && ((int_vec == V_IE0 && m_last_bit == 0xb2) || (int_vec == V_IE1 && m_last_bit == 0xb3)))
- PC = PPC + 3;
-
//Save current pc to stack, set pc to new interrupt vector
push_pc();
PC = int_vec;
@@ -2134,8 +2126,6 @@ void mcs51_cpu_device::device_start()
save_item(NAME(m_ppc));
save_item(NAME(m_pc));
- save_item(NAME(m_last_op));
- save_item(NAME(m_last_bit));
save_item(NAME(m_rwm) );
save_item(NAME(m_cur_irq_prio) );
save_item(NAME(m_last_line_state) );
@@ -2223,8 +2213,6 @@ void mcs51_cpu_device::device_reset()
/* Flag as NO IRQ in Progress */
m_irq_active = 0;
m_cur_irq_prio = -1;
- m_last_op = 0;
- m_last_bit = 0;
/* these are all defined reset states */
PC = 0;
diff --git a/src/devices/cpu/mcs51/mcs51.h b/src/devices/cpu/mcs51/mcs51.h
index bd7b6d7b085..e0d4028f493 100644
--- a/src/devices/cpu/mcs51/mcs51.h
+++ b/src/devices/cpu/mcs51/mcs51.h
@@ -122,10 +122,6 @@ protected:
uint8_t m_forced_inputs[4]; /* allow read even if configured as output */
- // JB-related hacks
- uint8_t m_last_op;
- uint8_t m_last_bit;
-
int m_icount;
struct mcs51_uart
diff --git a/src/devices/cpu/mips/mips1.cpp b/src/devices/cpu/mips/mips1.cpp
index 1ed202c0d63..72479a6065d 100644
--- a/src/devices/cpu/mips/mips1.cpp
+++ b/src/devices/cpu/mips/mips1.cpp
@@ -7,6 +7,8 @@
* while those without have hard-wired address translation.
*
* TODO
+ * - FPU support
+ * - further cleanup on coprocessors
* - R3041 features
* - cache emulation
*
@@ -15,32 +17,37 @@
#include "mips1.h"
#include "mips1dsm.h"
#include "debugger.h"
-#include "softfloat3/source/include/softfloat.h"
#define LOG_GENERAL (1U << 0)
#define LOG_TLB (1U << 1)
-#define LOG_IOP (1U << 2)
-#define LOG_RISCOS (1U << 3)
//#define VERBOSE (LOG_GENERAL|LOG_TLB)
-
#include "logmacro.h"
+#define ENABLE_IOP_KPUTS (0)
+
#define RSREG ((op >> 21) & 31)
#define RTREG ((op >> 16) & 31)
#define RDREG ((op >> 11) & 31)
#define SHIFT ((op >> 6) & 31)
-#define FTREG ((op >> 16) & 31)
-#define FSREG ((op >> 11) & 31)
-#define FDREG ((op >> 6) & 31)
+#define RSVAL m_r[RSREG]
+#define RTVAL m_r[RTREG]
+#define RDVAL m_r[RDREG]
#define SIMMVAL s16(op)
#define UIMMVAL u16(op)
#define LIMMVAL (op & 0x03ffffff)
-#define SR m_cop0[COP0_Status]
-#define CAUSE m_cop0[COP0_Cause]
+#define ADDPC(x) do { m_branch_state = BRANCH; m_branch_target = m_pc + 4 + ((x) << 2); } while (0)
+#define ADDPCL(x,l) do { m_branch_state = BRANCH; m_branch_target = m_pc + 4 + ((x) << 2); m_r[l] = m_pc + 8; } while (0)
+#define ABSPC(x) do { m_branch_state = BRANCH; m_branch_target = ((m_pc + 4) & 0xf0000000) | ((x) << 2); } while (0)
+#define ABSPCL(x,l) do { m_branch_state = BRANCH; m_branch_target = ((m_pc + 4) & 0xf0000000) | ((x) << 2); m_r[l] = m_pc + 8; } while (0)
+#define SETPC(x) do { m_branch_state = BRANCH; m_branch_target = (x); } while (0)
+#define SETPCL(x,l) do { m_branch_state = BRANCH; m_branch_target = (x); m_r[l] = m_pc + 8; } while (0)
+
+#define SR m_cpr[0][COP0_Status]
+#define CAUSE m_cpr[0][COP0_Cause]
DEFINE_DEVICE_TYPE(R2000, r2000_device, "r2000", "MIPS R2000")
DEFINE_DEVICE_TYPE(R2000A, r2000a_device, "r2000a", "MIPS R2000A")
@@ -63,6 +70,8 @@ mips1core_device_base::mips1core_device_base(const machine_config &mconfig, devi
, m_icache_config("icache", ENDIANNESS_BIG, 32, 32)
, m_dcache_config("dcache", ENDIANNESS_BIG, 32, 32)
, m_cpurev(cpurev)
+ , m_hasfpu(false)
+ , m_fpurev(0)
, m_endianness(ENDIANNESS_BIG)
, m_icount(0)
, m_icache_size(icache_size)
@@ -73,7 +82,6 @@ mips1core_device_base::mips1core_device_base(const machine_config &mconfig, devi
mips1_device_base::mips1_device_base(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u32 cpurev, size_t icache_size, size_t dcache_size)
: mips1core_device_base(mconfig, type, tag, owner, clock, cpurev, icache_size, dcache_size)
- , m_fcr0(0)
{
}
@@ -118,14 +126,14 @@ r3052e_device::r3052e_device(const machine_config &mconfig, const char *tag, dev
}
r3071_device::r3071_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock, size_t icache_size, size_t dcache_size)
- : mips1_device_base(mconfig, R3071, tag, owner, clock, 0x0200, icache_size, dcache_size)
+ : mips1core_device_base(mconfig, R3071, tag, owner, clock, 0x0200, icache_size, dcache_size)
{
}
r3081_device::r3081_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock, size_t icache_size, size_t dcache_size)
- : mips1_device_base(mconfig, R3081, tag, owner, clock, 0x0200, icache_size, dcache_size)
+ : mips1core_device_base(mconfig, R3081, tag, owner, clock, 0x0200, icache_size, dcache_size)
{
- set_fpu(0x0300);
+ set_fpurev(0x0300);
}
iop_device::iop_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
@@ -145,6 +153,18 @@ void mips1core_device_base::device_add_mconfig(machine_config &config)
set_addrmap(2, &mips1core_device_base::dcache_map);
}
+void mips1core_device_base::icache_map(address_map &map)
+{
+ if (m_icache_size)
+ map(0, m_icache_size - 1).ram().mirror(~(m_icache_size - 1));
+}
+
+void mips1core_device_base::dcache_map(address_map &map)
+{
+ if (m_dcache_size)
+ map(0, m_dcache_size - 1).ram().mirror(~(m_dcache_size - 1));
+}
+
void mips1core_device_base::device_start()
{
// set our instruction counter
@@ -157,32 +177,49 @@ void mips1core_device_base::device_start()
// register our state for the debugger
state_add(STATE_GENPC, "GENPC", m_pc).noshow();
state_add(STATE_GENPCBASE, "CURPC", m_pc).noshow();
+ state_add(STATE_GENSP, "GENSP", m_r[31]).noshow();
+ state_add(STATE_GENFLAGS, "GENFLAGS", m_cpr[0][COP0_Status]).noshow();
- state_add(MIPS1_PC, "PC", m_pc);
- state_add(MIPS1_COP0 + COP0_Status, "SR", m_cop0[COP0_Status]);
+ state_add(MIPS1_PC, "PC", m_pc);
+ state_add(MIPS1_COP0_SR, "SR", m_cpr[0][COP0_Status]);
- for (unsigned i = 0; i < ARRAY_LENGTH(m_r); i++)
+ for (int i = 0; i < 32; i++)
state_add(MIPS1_R0 + i, util::string_format("R%d", i).c_str(), m_r[i]);
state_add(MIPS1_HI, "HI", m_hi);
state_add(MIPS1_LO, "LO", m_lo);
-
- // cop0 exception registers
- state_add(MIPS1_COP0 + COP0_BadVAddr, "BadVAddr", m_cop0[COP0_BadVAddr]);
- state_add(MIPS1_COP0 + COP0_Cause, "Cause", m_cop0[COP0_Cause]);
- state_add(MIPS1_COP0 + COP0_EPC, "EPC", m_cop0[COP0_EPC]);
+ state_add(MIPS1_COP0_BADVADDR, "BadVAddr", m_cpr[0][COP0_BadVAddr]);
+ state_add(MIPS1_COP0_CAUSE, "Cause", m_cpr[0][COP0_Cause]);
+ state_add(MIPS1_COP0_EPC, "EPC", m_cpr[0][COP0_EPC]);
// register our state for saving
save_item(NAME(m_pc));
save_item(NAME(m_hi));
save_item(NAME(m_lo));
save_item(NAME(m_r));
- save_item(NAME(m_cop0));
+ save_item(NAME(m_cpr));
+ save_item(NAME(m_ccr));
save_item(NAME(m_branch_state));
save_item(NAME(m_branch_target));
- // initialise cpu id register
- m_cop0[COP0_PRId] = m_cpurev;
+ // initialise cpu and fpu id registers
+ m_cpr[0][COP0_PRId] = m_cpurev;
+ m_ccr[1][0] = m_fpurev;
+}
+
+void mips1_device_base::device_start()
+{
+ mips1core_device_base::device_start();
+
+ // cop0 tlb registers
+ state_add(MIPS1_COP0_INDEX, "Index", m_cpr[0][COP0_Index]);
+ state_add(MIPS1_COP0_RANDOM, "Random", m_cpr[0][COP0_Random]);
+ state_add(MIPS1_COP0_ENTRYLO, "EntryLo", m_cpr[0][COP0_EntryLo]);
+ state_add(MIPS1_COP0_ENTRYHI, "EntryHi", m_cpr[0][COP0_EntryHi]);
+ state_add(MIPS1_COP0_CONTEXT, "Context", m_cpr[0][COP0_Context]);
+
+ save_item(NAME(m_reset_time));
+ save_item(NAME(m_tlb));
}
void r3041_device::device_start()
@@ -190,11 +227,11 @@ void r3041_device::device_start()
mips1core_device_base::device_start();
// cop0 r3041 registers
- state_add(MIPS1_COP0 + COP0_BusCtrl, "BusCtrl", m_cop0[COP0_BusCtrl]);
- state_add(MIPS1_COP0 + COP0_Config, "Config", m_cop0[COP0_Config]);
- state_add(MIPS1_COP0 + COP0_Count, "Count", m_cop0[COP0_Count]);
- state_add(MIPS1_COP0 + COP0_PortSize, "PortSize", m_cop0[COP0_PortSize]);
- state_add(MIPS1_COP0 + COP0_Compare, "Compare", m_cop0[COP0_Compare]);
+ state_add(MIPS1_COP0_BUSCTRL, "BusCtrl", m_cpr[0][COP0_BusCtrl]);
+ state_add(MIPS1_COP0_CONFIG, "Config", m_cpr[0][COP0_Config]);
+ state_add(MIPS1_COP0_COUNT, "Count", m_cpr[0][COP0_Count]);
+ state_add(MIPS1_COP0_PORTSIZE, "PortSize", m_cpr[0][COP0_PortSize]);
+ state_add(MIPS1_COP0_COMPARE, "Compare", m_cpr[0][COP0_Compare]);
}
void mips1core_device_base::device_reset()
@@ -204,402 +241,19 @@ void mips1core_device_base::device_reset()
m_branch_state = NONE;
// non-tlb devices have tlb shut down
- m_cop0[COP0_Status] = SR_BEV | SR_TS;
+ m_cpr[0][COP0_Status] = SR_BEV | SR_TS;
m_data_spacenum = 0;
}
-void mips1core_device_base::execute_run()
-{
- // check for interrupts
- check_irqs();
-
- // core execution loop
- while (m_icount-- > 0)
- {
- // debugging
- debugger_instruction_hook(m_pc);
-
- if (VERBOSE & LOG_IOP)
- {
- if ((m_pc & 0x1fffffff) == 0x00012C48 || (m_pc & 0x1fffffff) == 0x0001420C || (m_pc & 0x1fffffff) == 0x0001430C)
- {
- u32 ptr = m_r[5];
- u32 length = m_r[6];
- if (length >= 4096)
- length = 4095;
- while (length)
- {
- load<u8>(ptr, [](char c) { printf("%c", c); });
- ptr++;
- length--;
- }
- fflush(stdout);
- }
- }
-
- // fetch and execute instruction
- fetch(m_pc, [this](u32 const op)
- {
- // parse the instruction
- switch (op >> 26)
- {
- case 0x00: // SPECIAL
- switch (op & 63)
- {
- case 0x00: // SLL
- m_r[RDREG] = m_r[RTREG] << SHIFT;
- break;
- case 0x02: // SRL
- m_r[RDREG] = m_r[RTREG] >> SHIFT;
- break;
- case 0x03: // SRA
- m_r[RDREG] = s32(m_r[RTREG]) >> SHIFT;
- break;
- case 0x04: // SLLV
- m_r[RDREG] = m_r[RTREG] << (m_r[RSREG] & 31);
- break;
- case 0x06: // SRLV
- m_r[RDREG] = m_r[RTREG] >> (m_r[RSREG] & 31);
- break;
- case 0x07: // SRAV
- m_r[RDREG] = s32(m_r[RTREG]) >> (m_r[RSREG] & 31);
- break;
- case 0x08: // JR
- m_branch_state = BRANCH;
- m_branch_target = m_r[RSREG];
- break;
- case 0x09: // JALR
- m_branch_state = BRANCH;
- m_branch_target = m_r[RSREG];
- m_r[RDREG] = m_pc + 8;
- break;
- case 0x0c: // SYSCALL
- generate_exception(EXCEPTION_SYSCALL);
- break;
- case 0x0d: // BREAK
- generate_exception(EXCEPTION_BREAK);
- break;
- case 0x10: // MFHI
- m_r[RDREG] = m_hi;
- break;
- case 0x11: // MTHI
- m_hi = m_r[RSREG];
- break;
- case 0x12: // MFLO
- m_r[RDREG] = m_lo;
- break;
- case 0x13: // MTLO
- m_lo = m_r[RSREG];
- break;
- case 0x18: // MULT
- {
- u64 product = mul_32x32(m_r[RSREG], m_r[RTREG]);
-
- m_lo = product;
- m_hi = product >> 32;
- m_icount -= 11;
- }
- break;
- case 0x19: // MULTU
- {
- u64 product = mulu_32x32(m_r[RSREG], m_r[RTREG]);
-
- m_lo = product;
- m_hi = product >> 32;
- m_icount -= 11;
- }
- break;
- case 0x1a: // DIV
- if (m_r[RTREG])
- {
- m_lo = s32(m_r[RSREG]) / s32(m_r[RTREG]);
- m_hi = s32(m_r[RSREG]) % s32(m_r[RTREG]);
- }
- m_icount -= 34;
- break;
- case 0x1b: // DIVU
- if (m_r[RTREG])
- {
- m_lo = m_r[RSREG] / m_r[RTREG];
- m_hi = m_r[RSREG] % m_r[RTREG];
- }
- m_icount -= 34;
- break;
- case 0x20: // ADD
- {
- u32 const sum = m_r[RSREG] + m_r[RTREG];
-
- // overflow: (sign(addend0) == sign(addend1)) && (sign(addend0) != sign(sum))
- if (!BIT(m_r[RSREG] ^ m_r[RTREG], 31) && BIT(m_r[RSREG] ^ sum, 31))
- generate_exception(EXCEPTION_OVERFLOW);
- else
- m_r[RDREG] = sum;
- }
- break;
- case 0x21: // ADDU
- m_r[RDREG] = m_r[RSREG] + m_r[RTREG];
- break;
- case 0x22: // SUB
- {
- u32 const difference = m_r[RSREG] - m_r[RTREG];
-
- // overflow: (sign(minuend) != sign(subtrahend)) && (sign(minuend) != sign(difference))
- if (BIT(m_r[RSREG] ^ m_r[RTREG], 31) && BIT(m_r[RSREG] ^ difference, 31))
- generate_exception(EXCEPTION_OVERFLOW);
- else
- m_r[RDREG] = difference;
- }
- break;
- case 0x23: // SUBU
- m_r[RDREG] = m_r[RSREG] - m_r[RTREG];
- break;
- case 0x24: // AND
- m_r[RDREG] = m_r[RSREG] & m_r[RTREG];
- break;
- case 0x25: // OR
- m_r[RDREG] = m_r[RSREG] | m_r[RTREG];
- break;
- case 0x26: // XOR
- m_r[RDREG] = m_r[RSREG] ^ m_r[RTREG];
- break;
- case 0x27: // NOR
- m_r[RDREG] = ~(m_r[RSREG] | m_r[RTREG]);
- break;
- case 0x2a: // SLT
- m_r[RDREG] = s32(m_r[RSREG]) < s32(m_r[RTREG]);
- break;
- case 0x2b: // SLTU
- m_r[RDREG] = u32(m_r[RSREG]) < u32(m_r[RTREG]);
- break;
- default:
- generate_exception(EXCEPTION_INVALIDOP);
- break;
- }
- break;
- case 0x01: // REGIMM
- switch (RTREG)
- {
- case 0x00: // BLTZ
- if (s32(m_r[RSREG]) < 0)
- {
- m_branch_state = BRANCH;
- m_branch_target = m_pc + 4 + (s32(SIMMVAL) << 2);
- }
- break;
- case 0x01: // BGEZ
- if (s32(m_r[RSREG]) >= 0)
- {
- m_branch_state = BRANCH;
- m_branch_target = m_pc + 4 + (s32(SIMMVAL) << 2);
- }
- break;
- case 0x10: // BLTZAL
- if (s32(m_r[RSREG]) < 0)
- {
- m_branch_state = BRANCH;
- m_branch_target = m_pc + 4 + (s32(SIMMVAL) << 2);
- m_r[31] = m_pc + 8;
- }
- break;
- case 0x11: // BGEZAL
- if (s32(m_r[RSREG]) >= 0)
- {
- m_branch_state = BRANCH;
- m_branch_target = m_pc + 4 + (s32(SIMMVAL) << 2);
- m_r[31] = m_pc + 8;
- }
- break;
- default:
- generate_exception(EXCEPTION_INVALIDOP);
- break;
- }
- break;
- case 0x02: // J
- m_branch_state = BRANCH;
- m_branch_target = ((m_pc + 4) & 0xf0000000) | (LIMMVAL << 2);
- break;
- case 0x03: // JAL
- m_branch_state = BRANCH;
- m_branch_target = ((m_pc + 4) & 0xf0000000) | (LIMMVAL << 2);
- m_r[31] = m_pc + 8;
- break;
- case 0x04: // BEQ
- if (m_r[RSREG] == m_r[RTREG])
- {
- m_branch_state = BRANCH;
- m_branch_target = m_pc + 4 + (s32(SIMMVAL) << 2);
- }
- break;
- case 0x05: // BNE
- if (m_r[RSREG] != m_r[RTREG])
- {
- m_branch_state = BRANCH;
- m_branch_target = m_pc + 4 + (s32(SIMMVAL) << 2);
- }
- break;
- case 0x06: // BLEZ
- if (s32(m_r[RSREG]) <= 0)
- {
- m_branch_state = BRANCH;
- m_branch_target = m_pc + 4 + (s32(SIMMVAL) << 2);
- }
- break;
- case 0x07: // BGTZ
- if (s32(m_r[RSREG]) > 0)
- {
- m_branch_state = BRANCH;
- m_branch_target = m_pc + 4 + (s32(SIMMVAL) << 2);
- }
- break;
- case 0x08: // ADDI
- {
- u32 const sum = m_r[RSREG] + SIMMVAL;
-
- // overflow: (sign(addend0) == sign(addend1)) && (sign(addend0) != sign(sum))
- if (!BIT(m_r[RSREG] ^ s32(SIMMVAL), 31) && BIT(m_r[RSREG] ^ sum, 31))
- generate_exception(EXCEPTION_OVERFLOW);
- else
- m_r[RTREG] = sum;
- }
- break;
- case 0x09: // ADDIU
- m_r[RTREG] = m_r[RSREG] + SIMMVAL;
- break;
- case 0x0a: // SLTI
- m_r[RTREG] = s32(m_r[RSREG]) < s32(SIMMVAL);
- break;
- case 0x0b: // SLTIU
- m_r[RTREG] = u32(m_r[RSREG]) < u32(SIMMVAL);
- break;
- case 0x0c: // ANDI
- m_r[RTREG] = m_r[RSREG] & UIMMVAL;
- break;
- case 0x0d: // ORI
- m_r[RTREG] = m_r[RSREG] | UIMMVAL;
- break;
- case 0x0e: // XORI
- m_r[RTREG] = m_r[RSREG] ^ UIMMVAL;
- break;
- case 0x0f: // LUI
- m_r[RTREG] = UIMMVAL << 16;
- break;
- case 0x10: // COP0
- if (!(SR & SR_KUc) || (SR & SR_COP0))
- handle_cop0(op);
- else
- generate_exception(EXCEPTION_BADCOP0);
- break;
- case 0x11: // COP1
- handle_cop1(op);
- break;
- case 0x12: // COP2
- handle_cop2(op);
- break;
- case 0x13: // COP3
- handle_cop3(op);
- break;
- case 0x20: // LB
- load<u8>(SIMMVAL + m_r[RSREG], [this, op](s8 temp) { m_r[RTREG] = temp; });
- break;
- case 0x21: // LH
- load<u16>(SIMMVAL + m_r[RSREG], [this, op](s16 temp) { m_r[RTREG] = temp; });
- break;
- case 0x22: // LWL
- lwl(op);
- break;
- case 0x23: // LW
- load<u32>(SIMMVAL + m_r[RSREG], [this, op](u32 temp) { m_r[RTREG] = temp; });
- break;
- case 0x24: // LBU
- load<u8>(SIMMVAL + m_r[RSREG], [this, op](u8 temp) { m_r[RTREG] = temp; });
- break;
- case 0x25: // LHU
- load<u16>(SIMMVAL + m_r[RSREG], [this, op](u16 temp) { m_r[RTREG] = temp; });
- break;
- case 0x26: // LWR
- lwr(op);
- break;
- case 0x28: // SB
- store<u8>(SIMMVAL + m_r[RSREG], m_r[RTREG]);
- break;
- case 0x29: // SH
- store<u16>(SIMMVAL + m_r[RSREG], m_r[RTREG]);
- break;
- case 0x2a: // SWL
- swl(op);
- break;
- case 0x2b: // SW
- store<u32>(SIMMVAL + m_r[RSREG], m_r[RTREG]);
- break;
- case 0x2e: // SWR
- swr(op);
- break;
- case 0x31: // LWC1
- handle_cop1(op);
- break;
- case 0x32: // LWC2
- handle_cop2(op);
- break;
- case 0x33: // LWC3
- handle_cop3(op);
- break;
- case 0x39: // SWC1
- handle_cop1(op);
- break;
- case 0x3a: // SWC2
- handle_cop2(op);
- break;
- case 0x3b: // SWC3
- handle_cop3(op);
- break;
- default:
- generate_exception(EXCEPTION_INVALIDOP);
- break;
- }
-
- // update pc and branch state
- switch (m_branch_state)
- {
- case NONE:
- m_pc += 4;
- break;
-
- case DELAY:
- m_branch_state = NONE;
- m_pc = m_branch_target;
- break;
-
- case BRANCH:
- m_branch_state = DELAY;
- m_pc += 4;
- break;
-
- case EXCEPTION:
- m_branch_state = NONE;
- break;
- }
-
- // clear register 0
- m_r[0] = 0;
- });
- }
-}
-
-void mips1core_device_base::execute_set_input(int irqline, int state)
+void mips1_device_base::device_reset()
{
- if (state != CLEAR_LINE)
- {
- CAUSE |= CAUSE_IPEX0 << irqline;
+ mips1core_device_base::device_reset();
- // enable debugger interrupt breakpoints
- if ((SR & SR_IEc) && (SR & (SR_IMEX0 << irqline)))
- standard_irq_callback(irqline);
- }
- else
- CAUSE &= ~(CAUSE_IPEX0 << irqline);
+ // tlb is not shut down
+ m_cpr[0][COP0_Status] &= ~SR_TS;
- check_irqs();
+ m_reset_time = total_cycles();
}
device_memory_interface::space_config_vector mips1core_device_base::memory_space_config() const
@@ -611,228 +265,29 @@ device_memory_interface::space_config_vector mips1core_device_base::memory_space
};
}
-bool mips1core_device_base::memory_translate(int spacenum, int intention, offs_t &address)
-{
- // check for kernel memory address
- if (BIT(address, 31))
- {
- // check debug or kernel mode
- if ((intention & TRANSLATE_DEBUG_MASK) || !(SR & SR_KUc))
- {
- switch (address & 0xe0000000)
- {
- case 0x80000000: // kseg0: unmapped, cached, privileged
- case 0xa0000000: // kseg1: unmapped, uncached, privileged
- address &= ~0xe0000000;
- break;
-
- case 0xc0000000: // kseg2: mapped, cached, privileged
- case 0xe0000000:
- break;
- }
- }
- else if (SR & SR_KUc)
- {
- if (!machine().side_effects_disabled())
- {
- // exception
- m_cop0[COP0_BadVAddr] = address;
-
- generate_exception((intention & TRANSLATE_WRITE) ? EXCEPTION_ADDRSTORE : EXCEPTION_ADDRLOAD);
- }
- return false;
- }
- }
- else
- // kuseg physical addresses have a 1GB offset
- address += 0x40000000;
-
- return true;
-}
-
std::unique_ptr<util::disasm_interface> mips1core_device_base::create_disassembler()
{
return std::make_unique<mips1_disassembler>();
}
-void mips1core_device_base::icache_map(address_map &map)
-{
- if (m_icache_size)
- map(0, m_icache_size - 1).ram().mirror(~(m_icache_size - 1));
-}
-
-void mips1core_device_base::dcache_map(address_map &map)
-{
- if (m_dcache_size)
- map(0, m_dcache_size - 1).ram().mirror(~(m_dcache_size - 1));
-}
-
-void mips1core_device_base::generate_exception(u32 exception, bool refill)
+void mips1core_device_base::generate_exception(int exception, bool refill)
{
- if ((VERBOSE & LOG_RISCOS) && (exception == EXCEPTION_SYSCALL))
- {
- static char const *const sysv_syscalls[] =
- {
- "syscall", "exit", "fork", "read", "write", "open", "close", "wait", "creat", "link",
- "unlink", "execv", "chdir", "time", "mknod", "chmod", "chown", "brk", "stat", "lseek",
- "getpid", "mount", "umount", "setuid", "getuid", "stime", "ptrace", "alarm", "fstat", "pause",
- "utime", "stty", "gtty", "access", "nice", "statfs", "sync", "kill", "fstatfs", "setpgrp",
- nullptr, "dup", "pipe", "times", "profil", "plock", "setgid", "getgid", "signal", "msgsys",
- "sysmips", "acct", "shmsys", "semsys", "ioctl", "uadmin", nullptr, "utssys", nullptr, "execve",
- "umask", "chroot", "ofcntl", "ulimit", nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
- "advfs", "unadvfs", "rmount", "rumount", "rfstart", nullptr, "rdebug", "rfstop", "rfsys", "rmdir",
- "mkdir", "getdents", nullptr, nullptr, "sysfs", "getmsg", "putmsg", "poll", "sigreturn", "accept",
- "bind", "connect", "gethostid", "getpeername", "getsockname", "getsockopt", "listen", "recv", "recvfrom", "recvmsg",
- "select", "send", "sendmsg", "sendto", "sethostid", "setsockopt", "shutdown", "socket", "gethostname", "sethostname",
- "getdomainname","setdomainname","truncate", "ftruncate", "rename", "symlink", "readlink", "lstat", "nfsmount", "nfssvc",
- "getfh", "async_daemon", "old_exportfs", "mmap", "munmap", "getitimer", "setitimer", nullptr, nullptr, nullptr,
- nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
- nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
- "cacheflush", "cachectl", "fchown", "fchmod", "wait3", "mmap", "munmap", "madvise", "getpagesize", "setreuid",
- "setregid", "setpgid", "getgroups", "setgroups", "gettimeofday", "getrusage", "getrlimit", "setrlimit", "exportfs", "fcntl"
- };
-
- static char const *const bsd_syscalls[] =
- {
- "syscall", "exit", "fork", "read", "write", "open", "close", nullptr, "creat", "link",
- "unlink", "execv", "chdir", nullptr, "mknod", "chmod", "chown", "brk", nullptr, "lseek",
- "getpid", "omount", "oumount", nullptr, "getuid", nullptr, "ptrace", nullptr, nullptr, nullptr,
- nullptr, nullptr, nullptr, "access", nullptr, nullptr, "sync", "kill", "stat", nullptr,
- "lstat", "dup", "pipe", nullptr, "profil", nullptr, nullptr, "getgid", nullptr, nullptr,
- nullptr, "acct", nullptr, nullptr, "ioctl", "reboot", nullptr, "symlink", "readlink", "execve",
- "umask", "chroot", "fstat", nullptr, "getpagesize", "mremap", "vfork", nullptr, nullptr, "sbrk",
- "sstk", "mmap", "vadvise", "munmap", "mprotec", "madvise", "vhangup", nullptr, "mincore", "getgroups",
- "setgroups", "getpgrp", "setpgrp", "setitimer", "wait3", "swapon", "getitimer", "gethostname", "sethostname", "getdtablesize",
- "dup2", "getdopt", "fcntl", "select", "setdopt", "fsync", "setpriority", "socket", "connect", "accept",
- "getpriority", "send", "recv", "sigreturn", "bind", "setsockopt", "listen", nullptr, "sigvec", "sigblock",
- "sigsetmask", "sigpause", "sigstack", "recvmsg", "sendmsg", nullptr, "gettimeofday", "getrusage", "getsockopt", nullptr,
- "readv", "writev", "settimeofday", "fchown", "fchmod", "recvfrom", "setreuid", "setregid", "rename", "truncate",
- "ftruncate", "flock", nullptr, "sendto", "shutdown", "socketpair", "mkdir", "rmdir", "utimes", "sigcleanup",
- "adjtime", "getpeername", "gethostid", "sethostid", "getrlimit", "setrlimit", "killpg", nullptr, "setquota", "quota",
- "getsockname", "sysmips", "cacheflush", "cachectl", "debug", nullptr, nullptr, nullptr, "nfssvc", "getdirentries",
- "statfs", "fstatfs", "unmount", "async_daemon", "getfh", "getdomainname","setdomainname",nullptr, "quotactl", "old_exportfs",
- "mount", "hdwconf", "exportfs", "nfsfh_open", "libattach", "libdetach"
- };
-
- static char const *const msg_syscalls[] = { "msgget", "msgctl", "msgrcv", "msgsnd" };
- static char const *const shm_syscalls[] = { "shmat", "shmctl", "shmdt", "shmget" };
- static char const *const sem_syscalls[] = { "semctl", "semget", "semop" };
- static char const *const mips_syscalls[] = { "mipskopt", "mipshwconf", "mipsgetrusage", "mipswait", "mipscacheflush", "mipscachectl" };
-
- unsigned const asid = (m_cop0[COP0_EntryHi] & EH_ASID) >> 6;
- switch (m_r[2])
- {
- case 1000: // indirect
- switch (m_r[4])
- {
- case 1049: // msgsys
- LOGMASKED(LOG_RISCOS, "asid %d syscall msgsys:%s() (%s)\n",
- asid, (m_r[5] < ARRAY_LENGTH(msg_syscalls)) ? msg_syscalls[m_r[5]] : "unknown", machine().describe_context());
- break;
-
- case 1052: // shmsys
- LOGMASKED(LOG_RISCOS, "asid %d syscall shmsys:%s() (%s)\n",
- asid, (m_r[5] < ARRAY_LENGTH(shm_syscalls)) ? shm_syscalls[m_r[5]] : "unknown", machine().describe_context());
- break;
-
- case 1053: // semsys
- LOGMASKED(LOG_RISCOS, "asid %d syscall semsys:%s() (%s)\n",
- asid, (m_r[5] < ARRAY_LENGTH(sem_syscalls)) ? sem_syscalls[m_r[5]] : "unknown", machine().describe_context());
- break;
-
- case 2151: // bsd_sysmips
- switch (m_r[5])
- {
- case 0x100: // mipskopt
- LOGMASKED(LOG_RISCOS, "asid %d syscall bsd_sysmips:mipskopt(\"%s\") (%s)\n",
- asid, debug_string(m_r[6]), machine().describe_context());
- break;
-
- default:
- if ((m_r[5] > 0x100) && (m_r[5] - 0x100) < ARRAY_LENGTH(mips_syscalls))
- LOGMASKED(LOG_RISCOS, "asid %d syscall bsd_sysmips:%s() (%s)\n",
- asid, mips_syscalls[m_r[5] - 0x100], machine().describe_context());
- else
- LOGMASKED(LOG_RISCOS, "asid %d syscall bsd_sysmips:unknown %d (%s)\n",
- asid, m_r[5], machine().describe_context());
- break;
- }
- break;
-
- default:
- if ((m_r[4] > 2000) && (m_r[4] - 2000 < ARRAY_LENGTH(bsd_syscalls)) && bsd_syscalls[m_r[4] - 2000])
- LOGMASKED(LOG_RISCOS, "asid %d syscall bsd_%s() (%s)\n",
- asid, bsd_syscalls[m_r[4] - 2000], machine().describe_context());
- else
- LOGMASKED(LOG_RISCOS, "asid %d syscall indirect:unknown %d (%s)\n",
- asid, m_r[4], machine().describe_context());
- break;
- }
- break;
-
- case 1003: // read
- case 1006: // close
- case 1054: // ioctl
- case 1169: // fcntl
- LOGMASKED(LOG_RISCOS, "asid %d syscall %s(%d) (%s)\n",
- asid, sysv_syscalls[m_r[2] - 1000], m_r[4], machine().describe_context());
- break;
-
- case 1004: // write
- if (m_r[4] == 1 || m_r[4] == 2)
- LOGMASKED(LOG_RISCOS, "asid %d syscall %s(%d, \"%s\") (%s)\n",
- asid, sysv_syscalls[m_r[2] - 1000], m_r[4], debug_string(m_r[5], m_r[6]), machine().describe_context());
- else
- LOGMASKED(LOG_RISCOS, "asid %d syscall %s(%d) (%s)\n",
- asid, sysv_syscalls[m_r[2] - 1000], m_r[4], machine().describe_context());
- break;
-
- case 1005: // open
- case 1008: // creat
- case 1009: // link
- case 1010: // unlink
- case 1012: // chdir
- case 1018: // stat
- case 1033: // access
- LOGMASKED(LOG_RISCOS, "asid %d syscall %s(\"%s\") (%s)\n",
- asid, sysv_syscalls[m_r[2] - 1000], debug_string(m_r[4]), machine().describe_context());
- break;
-
- case 1059: // execve
- LOGMASKED(LOG_RISCOS, "asid %d syscall execve(\"%s\", [ %s ], [ %s ]) (%s)\n",
- asid, debug_string(m_r[4]), debug_string_array(m_r[5]), debug_string_array(m_r[6]), machine().describe_context());
- break;
-
- case 1060: // umask
- LOGMASKED(LOG_RISCOS, "asid %d syscall umask(%#o) (%s)\n",
- asid, m_r[4] & 0777, machine().describe_context());
- break;
-
- default:
- if ((m_r[2] > 1000) && (m_r[2] - 1000 < ARRAY_LENGTH(sysv_syscalls)) && sysv_syscalls[m_r[2] - 1000])
- LOGMASKED(LOG_RISCOS, "asid %d syscall %s() (%s)\n", asid, sysv_syscalls[m_r[2] - 1000], machine().describe_context());
- else
- LOGMASKED(LOG_RISCOS, "asid %d syscall unknown %d (%s)\n", asid, m_r[2], machine().describe_context());
- break;
- }
- }
-
// set the exception PC
- m_cop0[COP0_EPC] = m_pc;
+ m_cpr[0][COP0_EPC] = m_pc;
- // load the cause register
- CAUSE = (CAUSE & CAUSE_IP) | exception;
+ // put the cause in the low 8 bits and clear the branch delay flag
+ CAUSE = (CAUSE & ~0x800000ff) | (exception << 2);
// if in a branch delay slot, restart the branch
if (m_branch_state == DELAY)
{
- m_cop0[COP0_EPC] -= 4;
- CAUSE |= CAUSE_BD;
+ m_cpr[0][COP0_EPC] -= 4;
+ CAUSE |= 0x80000000;
}
m_branch_state = EXCEPTION;
// shift the exception bits
- SR = (SR & ~SR_KUIE) | ((SR << 2) & SR_KUIEop);
+ SR = (SR & 0xffffffc0) | ((SR << 2) & 0x3c);
if (refill)
m_pc = (SR & SR_BEV) ? 0xbfc00100 : 0x80000000;
@@ -840,369 +295,109 @@ void mips1core_device_base::generate_exception(u32 exception, bool refill)
m_pc = (SR & SR_BEV) ? 0xbfc00180 : 0x80000080;
debugger_exception_hook(exception);
-
- if (SR & SR_KUp)
- debugger_privilege_hook();
}
void mips1core_device_base::check_irqs()
{
- if ((CAUSE & SR & SR_IM) && (SR & SR_IEc))
+ if ((CAUSE & SR & 0xff00) && (SR & SR_IEc))
generate_exception(EXCEPTION_INTERRUPT);
}
-void mips1core_device_base::handle_cop0(u32 const op)
-{
- switch (RSREG)
- {
- case 0x00: // MFC0
- m_r[RTREG] = get_cop0_reg(RDREG);
- break;
- case 0x04: // MTC0
- set_cop0_reg(RDREG, m_r[RTREG]);
- break;
- case 0x08: // BC0
- switch (RTREG)
- {
- case 0x00: // BC0F
- if (!m_in_brcond[0]())
- {
- m_branch_state = BRANCH;
- m_branch_target = m_pc + 4 + (s32(SIMMVAL) << 2);
- }
- break;
- case 0x01: // BC0T
- if (m_in_brcond[0]())
- {
- m_branch_state = BRANCH;
- m_branch_target = m_pc + 4 + (s32(SIMMVAL) << 2);
- }
- break;
- default:
- generate_exception(EXCEPTION_INVALIDOP);
- break;
- }
- break;
- case 0x10: // COP0
- switch (op & 31)
- {
- case 0x10: // RFE
- SR = (SR & ~SR_KUIEpc) | ((SR >> 2) & SR_KUIEpc);
- if (bool(SR & SR_KUc) ^ bool(SR & SR_KUp))
- debugger_privilege_hook();
- break;
- default:
- generate_exception(EXCEPTION_INVALIDOP);
- break;
- }
- break;
- default:
- generate_exception(EXCEPTION_INVALIDOP);
- break;
- }
-}
-
-u32 mips1core_device_base::get_cop0_reg(unsigned const reg)
-{
- return m_cop0[reg];
-}
-
-void mips1core_device_base::set_cop0_reg(unsigned const reg, u32 const data)
-{
- switch (reg)
- {
- case COP0_Context:
- m_cop0[COP0_Context] = (m_cop0[COP0_Context] & ~PTE_BASE) | (data & PTE_BASE);
- break;
- case COP0_Status:
- {
- u32 const delta = SR ^ data;
-
- m_cop0[COP0_Status] = data;
-
- // handle cache isolation and swap
- m_data_spacenum = (data & SR_IsC) ? ((data & SR_SwC) ? 1 : 2) : 0;
-
- // update interrupts
- if (delta & (SR_IEc | SR_IM))
- check_irqs();
-
- if ((delta & SR_KUc) && (m_branch_state != EXCEPTION))
- debugger_privilege_hook();
- }
- break;
- case COP0_Cause:
- CAUSE = (CAUSE & CAUSE_IPEX) | (data & ~CAUSE_IPEX);
-
- // update interrupts -- software ints can occur this way
- check_irqs();
- break;
- case COP0_PRId:
- // read-only register
- break;
-
- default:
- m_cop0[reg] = data;
- break;
- }
-}
-
-void mips1core_device_base::handle_cop1(u32 const op)
-{
- if (!(SR & SR_COP1))
- generate_exception(EXCEPTION_BADCOP1);
-}
-
-void mips1core_device_base::handle_cop2(u32 const op)
-{
- if (SR & SR_COP2)
- {
- switch (RSREG)
- {
- case 0x08: // BC2
- switch (RTREG)
- {
- case 0x00: // BC2F
- if (!m_in_brcond[2]())
- {
- m_branch_state = BRANCH;
- m_branch_target = m_pc + 4 + (s32(SIMMVAL) << 2);
- }
- break;
- case 0x01: // BC2T
- if (m_in_brcond[2]())
- {
- m_branch_state = BRANCH;
- m_branch_target = m_pc + 4 + (s32(SIMMVAL) << 2);
- }
- break;
- default:
- generate_exception(EXCEPTION_INVALIDOP);
- break;
- }
- break;
- default:
- generate_exception(EXCEPTION_INVALIDOP);
- break;
- }
- }
- else
- generate_exception(EXCEPTION_BADCOP2);
-}
-
-void mips1core_device_base::handle_cop3(u32 const op)
+void mips1core_device_base::set_irq_line(int irqline, int state)
{
- if (SR & SR_COP3)
- {
- switch (RSREG)
- {
- case 0x08: // BC3
- switch (RTREG)
- {
- case 0x00: // BC3F
- if (!m_in_brcond[3]())
- {
- m_branch_state = BRANCH;
- m_branch_target = m_pc + 4 + (s32(SIMMVAL) << 2);
- }
- break;
- case 0x01: // BC3T
- if (m_in_brcond[3]())
- {
- m_branch_state = BRANCH;
- m_branch_target = m_pc + 4 + (s32(SIMMVAL) << 2);
- }
- break;
- default:
- generate_exception(EXCEPTION_INVALIDOP);
- break;
- }
- break;
- default:
- generate_exception(EXCEPTION_INVALIDOP);
- break;
- }
- }
+ if (state != CLEAR_LINE)
+ CAUSE |= 0x400 << irqline;
else
- generate_exception(EXCEPTION_BADCOP3);
-}
+ CAUSE &= ~(0x400 << irqline);
-void mips1core_device_base::lwl(u32 const op)
-{
- offs_t const offset = SIMMVAL + m_r[RSREG];
- load<u32>(offset & ~3, [this, op, offset](u32 temp)
- {
- unsigned const shift = ((offset & 3) ^ ENDIAN_VALUE_LE_BE(m_endianness, 3, 0)) << 3;
-
- m_r[RTREG] = (m_r[RTREG] & ~u32(0xffffffffU << shift)) | (temp << shift);
- });
-}
-
-void mips1core_device_base::lwr(u32 const op)
-{
- offs_t const offset = SIMMVAL + m_r[RSREG];
- load<u32>(offset & ~3, [this, op, offset](u32 temp)
- {
- unsigned const shift = ((offset & 0x3) ^ ENDIAN_VALUE_LE_BE(m_endianness, 0, 3)) << 3;
-
- m_r[RTREG] = (m_r[RTREG] & ~u32(0xffffffffU >> shift)) | (temp >> shift);
- });
+ check_irqs();
}
-void mips1core_device_base::swl(u32 const op)
+u32 mips1core_device_base::get_cop0_reg(int const index)
{
- offs_t const offset = SIMMVAL + m_r[RSREG];
- unsigned const shift = ((offset & 3) ^ ENDIAN_VALUE_LE_BE(m_endianness, 3, 0)) << 3;
-
- store<u32>(offset & ~3, m_r[RTREG] >> shift, 0xffffffffU >> shift);
+ return m_cpr[0][index];
}
-void mips1core_device_base::swr(u32 const op)
+u32 mips1_device_base::get_cop0_reg(int const index)
{
- offs_t const offset = SIMMVAL + m_r[RSREG];
- unsigned const shift = ((offset & 3) ^ ENDIAN_VALUE_LE_BE(m_endianness, 0, 3)) << 3;
+ // assume 64-entry tlb with 8 wired entries
+ if (index == COP0_Random)
+ m_cpr[0][index] = (63 - ((total_cycles() - m_reset_time) % 56)) << 8;
- store<u32>(offset & ~3, m_r[RTREG] << shift, 0xffffffffU << shift);
+ return m_cpr[0][index];
}
-template <typename T, typename U> std::enable_if_t<std::is_convertible<U, std::function<void(T)>>::value, void> mips1core_device_base::load(u32 address, U &&apply)
+void mips1core_device_base::set_cop0_reg(int const index, u32 const data)
{
- if (memory_translate(m_data_spacenum, TRANSLATE_READ, address))
+ if (index == COP0_Cause)
{
- switch (sizeof(T))
- {
- case 1: apply(T(space(m_data_spacenum).read_byte(address))); break;
- case 2: apply(T(space(m_data_spacenum).read_word(address))); break;
- case 4: apply(T(space(m_data_spacenum).read_dword(address))); break;
- }
- }
-}
+ CAUSE = (CAUSE & 0xfc00) | (data & ~0xfc00);
-template <typename T, typename U> std::enable_if_t<std::is_convertible<U, T>::value, void> mips1core_device_base::store(u32 address, U data, T mem_mask)
-{
- if (memory_translate(m_data_spacenum, TRANSLATE_WRITE, address))
- {
- switch (sizeof(T))
- {
- case 1: space(m_data_spacenum).write_byte(address, T(data)); break;
- case 2: space(m_data_spacenum).write_word(address, T(data), mem_mask); break;
- case 4: space(m_data_spacenum).write_dword(address, T(data), mem_mask); break;
- }
+ // update interrupts -- software ints can occur this way
+ check_irqs();
}
-}
-
-bool mips1core_device_base::fetch(u32 address, std::function<void(u32)> &&apply)
-{
- if (memory_translate(0, TRANSLATE_FETCH, address))
+ else if (index == COP0_Status)
{
- apply(space(0).read_dword(address));
+ m_cpr[0][index] = data;
- return true;
+ // handle cache isolation and swap
+ m_data_spacenum = (data & SR_IsC) ? ((data & SR_SwC) ? 1 : 2) : 0;
+
+ // update interrupts
+ check_irqs();
}
- else